Merge "msm: synx: acquire mutex through loop index"
diff --git a/Documentation/ABI/testing/sysfs-bus-iio b/Documentation/ABI/testing/sysfs-bus-iio
index a5b4f22..8127a08 100644
--- a/Documentation/ABI/testing/sysfs-bus-iio
+++ b/Documentation/ABI/testing/sysfs-bus-iio
@@ -199,7 +199,7 @@
 
 What:		/sys/bus/iio/devices/iio:deviceX/in_positionrelative_x_raw
 What:		/sys/bus/iio/devices/iio:deviceX/in_positionrelative_y_raw
-KernelVersion:	4.18
+KernelVersion:	4.19
 Contact:	linux-iio@vger.kernel.org
 Description:
 		Relative position in direction x or y on a pad (may be
diff --git a/Documentation/ABI/testing/sysfs-bus-mei b/Documentation/ABI/testing/sysfs-bus-mei
index 6bd4534..3f8701e 100644
--- a/Documentation/ABI/testing/sysfs-bus-mei
+++ b/Documentation/ABI/testing/sysfs-bus-mei
@@ -4,7 +4,7 @@
 Contact:	Samuel Ortiz <sameo@linux.intel.com>
 		linux-mei@linux.intel.com
 Description:	Stores the same MODALIAS value emitted by uevent
-		Format: mei:<mei device name>:<device uuid>:
+		Format: mei:<mei device name>:<device uuid>:<protocol version>
 
 What:		/sys/bus/mei/devices/.../name
 Date:		May 2015
diff --git a/Documentation/ABI/testing/sysfs-class-devfreq b/Documentation/ABI/testing/sysfs-class-devfreq
index ee39aca..335595a 100644
--- a/Documentation/ABI/testing/sysfs-class-devfreq
+++ b/Documentation/ABI/testing/sysfs-class-devfreq
@@ -7,6 +7,13 @@
 		The name of devfreq object denoted as ... is same as the
 		name of device using devfreq.
 
+What:		/sys/class/devfreq/.../name
+Date:		November 2019
+Contact:	Chanwoo Choi <cw00.choi@samsung.com>
+Description:
+		The /sys/class/devfreq/.../name shows the name of device
+		of the corresponding devfreq object.
+
 What:		/sys/class/devfreq/.../governor
 Date:		September 2011
 Contact:	MyungJoo Ham <myungjoo.ham@samsung.com>
diff --git a/Documentation/ABI/testing/sysfs-class-wakeup b/Documentation/ABI/testing/sysfs-class-wakeup
new file mode 100644
index 0000000..754aab8
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-class-wakeup
@@ -0,0 +1,76 @@
+What:		/sys/class/wakeup/
+Date:		June 2019
+Contact:	Tri Vo <trong@android.com>
+Description:
+		The /sys/class/wakeup/ directory contains pointers to all
+		wakeup sources in the kernel at that moment in time.
+
+What:		/sys/class/wakeup/.../name
+Date:		June 2019
+Contact:	Tri Vo <trong@android.com>
+Description:
+		This file contains the name of the wakeup source.
+
+What:		/sys/class/wakeup/.../active_count
+Date:		June 2019
+Contact:	Tri Vo <trong@android.com>
+Description:
+		This file contains the number of times the wakeup source was
+		activated.
+
+What:		/sys/class/wakeup/.../event_count
+Date:		June 2019
+Contact:	Tri Vo <trong@android.com>
+Description:
+		This file contains the number of signaled wakeup events
+		associated with the wakeup source.
+
+What:		/sys/class/wakeup/.../wakeup_count
+Date:		June 2019
+Contact:	Tri Vo <trong@android.com>
+Description:
+		This file contains the number of times the wakeup source might
+		abort suspend.
+
+What:		/sys/class/wakeup/.../expire_count
+Date:		June 2019
+Contact:	Tri Vo <trong@android.com>
+Description:
+		This file contains the number of times the wakeup source's
+		timeout has expired.
+
+What:		/sys/class/wakeup/.../active_time_ms
+Date:		June 2019
+Contact:	Tri Vo <trong@android.com>
+Description:
+		This file contains the amount of time the wakeup source has
+		been continuously active, in milliseconds.  If the wakeup
+		source is not active, this file contains '0'.
+
+What:		/sys/class/wakeup/.../total_time_ms
+Date:		June 2019
+Contact:	Tri Vo <trong@android.com>
+Description:
+		This file contains the total amount of time this wakeup source
+		has been active, in milliseconds.
+
+What:		/sys/class/wakeup/.../max_time_ms
+Date:		June 2019
+Contact:	Tri Vo <trong@android.com>
+Description:
+		This file contains the maximum amount of time this wakeup
+		source has been continuously active, in milliseconds.
+
+What:		/sys/class/wakeup/.../last_change_ms
+Date:		June 2019
+Contact:	Tri Vo <trong@android.com>
+Description:
+		This file contains the monotonic clock time when the wakeup
+		source was touched last time, in milliseconds.
+
+What:		/sys/class/wakeup/.../prevent_suspend_time_ms
+Date:		June 2019
+Contact:	Tri Vo <trong@android.com>
+Description:
+		The file contains the total amount of time this wakeup source
+		has been preventing autosleep, in milliseconds.
diff --git a/Documentation/ABI/testing/sysfs-fs-f2fs b/Documentation/ABI/testing/sysfs-fs-f2fs
index aedeae1..1a6cd53 100644
--- a/Documentation/ABI/testing/sysfs-fs-f2fs
+++ b/Documentation/ABI/testing/sysfs-fs-f2fs
@@ -1,37 +1,40 @@
 What:		/sys/fs/f2fs/<disk>/gc_max_sleep_time
 Date:		July 2013
 Contact:	"Namjae Jeon" <namjae.jeon@samsung.com>
-Description:
-		 Controls the maximun sleep time for gc_thread. Time
-		 is in milliseconds.
+Description:	Controls the maximum sleep time for gc_thread. Time
+		is in milliseconds.
 
 What:		/sys/fs/f2fs/<disk>/gc_min_sleep_time
 Date:		July 2013
 Contact:	"Namjae Jeon" <namjae.jeon@samsung.com>
-Description:
-		 Controls the minimum sleep time for gc_thread. Time
-		 is in milliseconds.
+Description:	Controls the minimum sleep time for gc_thread. Time
+		is in milliseconds.
 
 What:		/sys/fs/f2fs/<disk>/gc_no_gc_sleep_time
 Date:		July 2013
 Contact:	"Namjae Jeon" <namjae.jeon@samsung.com>
-Description:
-		 Controls the default sleep time for gc_thread. Time
-		 is in milliseconds.
+Description:	Controls the default sleep time for gc_thread. Time
+		is in milliseconds.
 
 What:		/sys/fs/f2fs/<disk>/gc_idle
 Date:		July 2013
 Contact:	"Namjae Jeon" <namjae.jeon@samsung.com>
-Description:
-		 Controls the victim selection policy for garbage collection.
+Description:	Controls the victim selection policy for garbage collection.
+		Setting gc_idle = 0(default) will disable this option. Setting
+		gc_idle = 1 will select the Cost Benefit approach & setting
+		gc_idle = 2 will select the greedy approach.
 
 What:		/sys/fs/f2fs/<disk>/reclaim_segments
 Date:		October 2013
 Contact:	"Jaegeuk Kim" <jaegeuk.kim@samsung.com>
-Description:
-		 Controls the issue rate of segment discard commands.
+Description:	This parameter controls the number of prefree segments to be
+		reclaimed. If the number of prefree segments is larger than
+		the number of segments in the proportion to the percentage
+		over total volume size, f2fs tries to conduct checkpoint to
+		reclaim the prefree segments to free segments.
+		By default, 5% over total # of segments.
 
-What:		/sys/fs/f2fs/<disk>/max_blkaddr
+What:		/sys/fs/f2fs/<disk>/main_blkaddr
 Date:		November 2019
 Contact:	"Ramon Pantin" <pantin@google.com>
 Description:
@@ -40,227 +43,278 @@
 What:		/sys/fs/f2fs/<disk>/ipu_policy
 Date:		November 2013
 Contact:	"Jaegeuk Kim" <jaegeuk.kim@samsung.com>
-Description:
-		 Controls the in-place-update policy.
+Description:	Controls the in-place-update policy.
+		updates in f2fs. User can set:
+		0x01: F2FS_IPU_FORCE, 0x02: F2FS_IPU_SSR,
+		0x04: F2FS_IPU_UTIL,  0x08: F2FS_IPU_SSR_UTIL,
+		0x10: F2FS_IPU_FSYNC, 0x20: F2FS_IPU_ASYNC,
+		0x40: F2FS_IPU_NOCACHE.
+		Refer segment.h for details.
 
 What:		/sys/fs/f2fs/<disk>/min_ipu_util
 Date:		November 2013
 Contact:	"Jaegeuk Kim" <jaegeuk.kim@samsung.com>
-Description:
-		 Controls the FS utilization condition for the in-place-update
-		 policies.
+Description:	Controls the FS utilization condition for the in-place-update
+		policies. It is used by F2FS_IPU_UTIL and F2FS_IPU_SSR_UTIL policies.
 
 What:		/sys/fs/f2fs/<disk>/min_fsync_blocks
 Date:		September 2014
 Contact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
-Description:
-		 Controls the dirty page count condition for the in-place-update
-		 policies.
+Description:	Controls the dirty page count condition for the in-place-update
+		policies.
 
 What:		/sys/fs/f2fs/<disk>/min_seq_blocks
 Date:		August 2018
 Contact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
-Description:
-		 Controls the dirty page count condition for batched sequential
-		 writes in ->writepages.
-
+Description:	Controls the dirty page count condition for batched sequential
+		writes in writepages.
 
 What:		/sys/fs/f2fs/<disk>/min_hot_blocks
 Date:		March 2017
 Contact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
-Description:
-		 Controls the dirty page count condition for redefining hot data.
+Description:	Controls the dirty page count condition for redefining hot data.
 
 What:		/sys/fs/f2fs/<disk>/min_ssr_sections
 Date:		October 2017
 Contact:	"Chao Yu" <yuchao0@huawei.com>
-Description:
-		 Controls the fee section threshold to trigger SSR allocation.
+Description:	Controls the free section threshold to trigger SSR allocation.
+		If this is large, SSR mode will be enabled early.
 
 What:		/sys/fs/f2fs/<disk>/max_small_discards
 Date:		November 2013
 Contact:	"Jaegeuk Kim" <jaegeuk.kim@samsung.com>
-Description:
-		 Controls the issue rate of small discard commands.
+Description:	Controls the issue rate of discard commands that consist of small
+		blocks less than 2MB. The candidates to be discarded are cached until
+		checkpoint is triggered, and issued during the checkpoint.
+		By default, it is disabled with 0.
 
-What:          /sys/fs/f2fs/<disk>/discard_granularity
-Date:          July 2017
-Contact:       "Chao Yu" <yuchao0@huawei.com>
-Description:
-		Controls discard granularity of inner discard thread, inner thread
+What:		/sys/fs/f2fs/<disk>/discard_granularity
+Date:		July 2017
+Contact:	"Chao Yu" <yuchao0@huawei.com>
+Description:	Controls discard granularity of inner discard thread. Inner thread
 		will not issue discards with size that is smaller than granularity.
-		The unit size is one block, now only support configuring in range
-		of [1, 512].
+		The unit size is one block(4KB), now only support configuring
+		in range of [1, 512]. Default value is 4(=16KB).
 
-What:          /sys/fs/f2fs/<disk>/umount_discard_timeout
-Date:          January 2019
-Contact:       "Jaegeuk Kim" <jaegeuk@kernel.org>
-Description:
-		Set timeout to issue discard commands during umount.
-		Default: 5 secs
+What:		/sys/fs/f2fs/<disk>/umount_discard_timeout
+Date:		January 2019
+Contact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
+Description:	Set timeout to issue discard commands during umount.
+	        Default: 5 secs
 
 What:		/sys/fs/f2fs/<disk>/max_victim_search
 Date:		January 2014
 Contact:	"Jaegeuk Kim" <jaegeuk.kim@samsung.com>
-Description:
-		 Controls the number of trials to find a victim segment.
+Description:	Controls the number of trials to find a victim segment
+		when conducting SSR and cleaning operations. The default value
+		is 4096 which covers 8GB block address range.
 
 What:		/sys/fs/f2fs/<disk>/migration_granularity
 Date:		October 2018
 Contact:	"Chao Yu" <yuchao0@huawei.com>
-Description:
-		 Controls migration granularity of garbage collection on large
-		 section, it can let GC move partial segment{s} of one section
-		 in one GC cycle, so that dispersing heavy overhead GC to
-		 multiple lightweight one.
+Description:	Controls migration granularity of garbage collection on large
+		section, it can let GC move partial segment{s} of one section
+		in one GC cycle, so that dispersing heavy overhead GC to
+		multiple lightweight one.
 
 What:		/sys/fs/f2fs/<disk>/dir_level
 Date:		March 2014
 Contact:	"Jaegeuk Kim" <jaegeuk.kim@samsung.com>
-Description:
-		 Controls the directory level for large directory.
+Description:	Controls the directory level for large directory. If a
+		directory has a number of files, it can reduce the file lookup
+		latency by increasing this dir_level value. Otherwise, it
+		needs to decrease this value to reduce the space overhead.
+		The default value is 0.
 
 What:		/sys/fs/f2fs/<disk>/ram_thresh
 Date:		March 2014
 Contact:	"Jaegeuk Kim" <jaegeuk.kim@samsung.com>
-Description:
-		 Controls the memory footprint used by f2fs.
+Description:	Controls the memory footprint used by free nids and cached
+		nat entries. By default, 1 is set, which indicates
+		10 MB / 1 GB RAM.
 
 What:		/sys/fs/f2fs/<disk>/batched_trim_sections
 Date:		February 2015
 Contact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
-Description:
-		 Controls the trimming rate in batch mode.
-		 <deprecated>
+Description:	Controls the trimming rate in batch mode.
+		<deprecated>
 
 What:		/sys/fs/f2fs/<disk>/cp_interval
 Date:		October 2015
 Contact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
-Description:
-		 Controls the checkpoint timing.
+Description:	Controls the checkpoint timing, set to 60 seconds by default.
 
 What:		/sys/fs/f2fs/<disk>/idle_interval
 Date:		January 2016
 Contact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
-Description:
-		 Controls the idle timing for all paths other than
-		 discard and gc path.
+Description:	Controls the idle timing of system, if there is no FS operation
+		during given interval.
+		Set to 5 seconds by default.
 
 What:		/sys/fs/f2fs/<disk>/discard_idle_interval
 Date:		September 2018
 Contact:	"Chao Yu" <yuchao0@huawei.com>
 Contact:	"Sahitya Tummala" <stummala@codeaurora.org>
-Description:
-		 Controls the idle timing for discard path.
+Description:	Controls the idle timing of discard thread given
+		this time interval.
+		Default is 5 secs.
 
 What:		/sys/fs/f2fs/<disk>/gc_idle_interval
 Date:		September 2018
 Contact:	"Chao Yu" <yuchao0@huawei.com>
 Contact:	"Sahitya Tummala" <stummala@codeaurora.org>
-Description:
-		 Controls the idle timing for gc path.
+Description:    Controls the idle timing for gc path. Set to 5 seconds by default.
 
 What:		/sys/fs/f2fs/<disk>/iostat_enable
 Date:		August 2017
 Contact:	"Chao Yu" <yuchao0@huawei.com>
-Description:
-		 Controls to enable/disable IO stat.
+Description:	Controls to enable/disable IO stat.
 
 What:		/sys/fs/f2fs/<disk>/ra_nid_pages
 Date:		October 2015
 Contact:	"Chao Yu" <chao2.yu@samsung.com>
-Description:
-		 Controls the count of nid pages to be readaheaded.
+Description:	Controls the count of nid pages to be readaheaded.
+		When building free nids, F2FS reads NAT blocks ahead for
+		speed up. Default is 0.
 
 What:		/sys/fs/f2fs/<disk>/dirty_nats_ratio
 Date:		January 2016
 Contact:	"Chao Yu" <chao2.yu@samsung.com>
-Description:
-		 Controls dirty nat entries ratio threshold, if current
-		 ratio exceeds configured threshold, checkpoint will
-		 be triggered for flushing dirty nat entries.
+Description:	Controls dirty nat entries ratio threshold, if current
+		ratio exceeds configured threshold, checkpoint will
+		be triggered for flushing dirty nat entries.
 
 What:		/sys/fs/f2fs/<disk>/lifetime_write_kbytes
 Date:		January 2016
 Contact:	"Shuoran Liu" <liushuoran@huawei.com>
-Description:
-		 Shows total written kbytes issued to disk.
+Description:	Shows total written kbytes issued to disk.
 
 What:		/sys/fs/f2fs/<disk>/features
 Date:		July 2017
 Contact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
-Description:
-		 Shows all enabled features in current device.
+Description:	Shows all enabled features in current device.
 
 What:		/sys/fs/f2fs/<disk>/inject_rate
 Date:		May 2016
 Contact:	"Sheng Yong" <shengyong1@huawei.com>
-Description:
-		 Controls the injection rate.
+Description:	Controls the injection rate of arbitrary faults.
 
 What:		/sys/fs/f2fs/<disk>/inject_type
 Date:		May 2016
 Contact:	"Sheng Yong" <shengyong1@huawei.com>
-Description:
-		 Controls the injection type.
+Description:	Controls the injection type of arbitrary faults.
+
+What:		/sys/fs/f2fs/<disk>/dirty_segments
+Date:		October 2017
+Contact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
+Description:	Shows the number of dirty segments.
 
 What:		/sys/fs/f2fs/<disk>/reserved_blocks
 Date:		June 2017
 Contact:	"Chao Yu" <yuchao0@huawei.com>
-Description:
-		 Controls target reserved blocks in system, the threshold
-		 is soft, it could exceed current available user space.
+Description:	Controls target reserved blocks in system, the threshold
+		is soft, it could exceed current available user space.
 
 What:		/sys/fs/f2fs/<disk>/current_reserved_blocks
 Date:		October 2017
 Contact:	"Yunlong Song" <yunlong.song@huawei.com>
 Contact:	"Chao Yu" <yuchao0@huawei.com>
-Description:
-		 Shows current reserved blocks in system, it may be temporarily
-		 smaller than target_reserved_blocks, but will gradually
-		 increase to target_reserved_blocks when more free blocks are
-		 freed by user later.
+Description:	Shows current reserved blocks in system, it may be temporarily
+		smaller than target_reserved_blocks, but will gradually
+		increase to target_reserved_blocks when more free blocks are
+		freed by user later.
 
 What:		/sys/fs/f2fs/<disk>/gc_urgent
 Date:		August 2017
 Contact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
-Description:
-		 Do background GC agressively
+Description:	Do background GC agressively when set. When gc_urgent = 1,
+		background thread starts to do GC by given gc_urgent_sleep_time
+		interval. It is set to 0 by default.
 
 What:		/sys/fs/f2fs/<disk>/gc_urgent_sleep_time
 Date:		August 2017
 Contact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
-Description:
-		 Controls sleep time of GC urgent mode
+Description:	Controls sleep time of GC urgent mode. Set to 500ms by default.
 
 What:		/sys/fs/f2fs/<disk>/readdir_ra
 Date:		November 2017
 Contact:	"Sheng Yong" <shengyong1@huawei.com>
-Description:
-		 Controls readahead inode block in readdir.
+Description:	Controls readahead inode block in readdir. Enabled by default.
+
+What:		/sys/fs/f2fs/<disk>/gc_pin_file_thresh
+Date:		January 2018
+Contact:	Jaegeuk Kim <jaegeuk@kernel.org>
+Description:	This indicates how many GC can be failed for the pinned
+		file. If it exceeds this, F2FS doesn't guarantee its pinning
+		state. 2048 trials is set by default.
 
 What:		/sys/fs/f2fs/<disk>/extension_list
 Date:		Feburary 2018
 Contact:	"Chao Yu" <yuchao0@huawei.com>
-Description:
-		 Used to control configure extension list:
-		 - Query: cat /sys/fs/f2fs/<disk>/extension_list
-		 - Add: echo '[h/c]extension' > /sys/fs/f2fs/<disk>/extension_list
-		 - Del: echo '[h/c]!extension' > /sys/fs/f2fs/<disk>/extension_list
-		 - [h] means add/del hot file extension
-		 - [c] means add/del cold file extension
+Description:	Used to control configure extension list:
+		- Query: cat /sys/fs/f2fs/<disk>/extension_list
+		- Add: echo '[h/c]extension' > /sys/fs/f2fs/<disk>/extension_list
+		- Del: echo '[h/c]!extension' > /sys/fs/f2fs/<disk>/extension_list
+		- [h] means add/del hot file extension
+		- [c] means add/del cold file extension
 
 What:		/sys/fs/f2fs/<disk>/unusable
 Date		April 2019
 Contact:	"Daniel Rosenberg" <drosen@google.com>
-Description:
-		If checkpoint=disable, it displays the number of blocks that are unusable.
-                If checkpoint=enable it displays the enumber of blocks that would be unusable
-                if checkpoint=disable were to be set.
+Description:	If checkpoint=disable, it displays the number of blocks that
+		are unusable.
+		If checkpoint=enable it displays the enumber of blocks that
+		would be unusable if checkpoint=disable were to be set.
 
 What:		/sys/fs/f2fs/<disk>/encoding
 Date		July 2019
 Contact:	"Daniel Rosenberg" <drosen@google.com>
-Description:
-		Displays name and version of the encoding set for the filesystem.
-                If no encoding is set, displays (none)
+Description:	Displays name and version of the encoding set for the filesystem.
+		If no encoding is set, displays (none)
+
+What:		/sys/fs/f2fs/<disk>/free_segments
+Date:		September 2019
+Contact:	"Hridya Valsaraju" <hridya@google.com>
+Description:	Number of free segments in disk.
+
+What:		/sys/fs/f2fs/<disk>/cp_foreground_calls
+Date:		September 2019
+Contact:	"Hridya Valsaraju" <hridya@google.com>
+Description:	Number of checkpoint operations performed on demand. Available when
+		CONFIG_F2FS_STAT_FS=y.
+
+What:		/sys/fs/f2fs/<disk>/cp_background_calls
+Date:		September 2019
+Contact:	"Hridya Valsaraju" <hridya@google.com>
+Description:	Number of checkpoint operations performed in the background to
+		free segments. Available when CONFIG_F2FS_STAT_FS=y.
+
+What:		/sys/fs/f2fs/<disk>/gc_foreground_calls
+Date:		September 2019
+Contact:	"Hridya Valsaraju" <hridya@google.com>
+Description:	Number of garbage collection operations performed on demand.
+		Available when CONFIG_F2FS_STAT_FS=y.
+
+What:		/sys/fs/f2fs/<disk>/gc_background_calls
+Date:		September 2019
+Contact:	"Hridya Valsaraju" <hridya@google.com>
+Description:	Number of garbage collection operations triggered in background.
+		Available when CONFIG_F2FS_STAT_FS=y.
+
+What:		/sys/fs/f2fs/<disk>/moved_blocks_foreground
+Date:		September 2019
+Contact:	"Hridya Valsaraju" <hridya@google.com>
+Description:	Number of blocks moved by garbage collection in foreground.
+		Available when CONFIG_F2FS_STAT_FS=y.
+
+What:		/sys/fs/f2fs/<disk>/moved_blocks_background
+Date:		September 2019
+Contact:	"Hridya Valsaraju" <hridya@google.com>
+Description:	Number of blocks moved by garbage collection in background.
+		Available when CONFIG_F2FS_STAT_FS=y.
+
+What:		/sys/fs/f2fs/<disk>/avg_vblocks
+Date:		September 2019
+Contact:	"Hridya Valsaraju" <hridya@google.com>
+Description:	Average number of valid blocks.
+		Available when CONFIG_F2FS_STAT_FS=y.
diff --git a/Documentation/admin-guide/cgroup-v2.rst b/Documentation/admin-guide/cgroup-v2.rst
index 52d093b..15779d9 100644
--- a/Documentation/admin-guide/cgroup-v2.rst
+++ b/Documentation/admin-guide/cgroup-v2.rst
@@ -694,6 +694,12 @@
   informational files on the root cgroup which end up showing global
   information available elsewhere shouldn't exist.
 
+- The default time unit is microseconds.  If a different unit is ever
+  used, an explicit unit suffix must be present.
+
+- A parts-per quantity should use a percentage decimal with at least
+  two digit fractional part - e.g. 13.40.
+
 - If a controller implements weight based resource distribution, its
   interface file should be named "weight" and have the range [1,
   10000] with 100 as the default.  The values are chosen to allow
@@ -907,6 +913,13 @@
 normal scheduling policy and absolute bandwidth allocation model for
 realtime scheduling policy.
 
+In all the above models, cycles distribution is defined only on a temporal
+base and it does not account for the frequency at which tasks are executed.
+The (optional) utilization clamping support allows to hint the schedutil
+cpufreq governor about the minimum desired frequency which should always be
+provided by a CPU, as well as the maximum desired frequency, which should not
+be exceeded by a CPU.
+
 WARNING: cgroup2 doesn't yet support control of realtime processes and
 the cpu controller can only be enabled when all RT processes are in
 the root cgroup.  Be aware that system management software may already
@@ -972,6 +985,33 @@
 	Shows pressure stall information for CPU. See
 	Documentation/accounting/psi.txt for details.
 
+  cpu.uclamp.min
+        A read-write single value file which exists on non-root cgroups.
+        The default is "0", i.e. no utilization boosting.
+
+        The requested minimum utilization (protection) as a percentage
+        rational number, e.g. 12.34 for 12.34%.
+
+        This interface allows reading and setting minimum utilization clamp
+        values similar to the sched_setattr(2). This minimum utilization
+        value is used to clamp the task specific minimum utilization clamp.
+
+        The requested minimum utilization (protection) is always capped by
+        the current value for the maximum utilization (limit), i.e.
+        `cpu.uclamp.max`.
+
+  cpu.uclamp.max
+        A read-write single value file which exists on non-root cgroups.
+        The default is "max". i.e. no utilization capping
+
+        The requested maximum utilization (limit) as a percentage rational
+        number, e.g. 98.76 for 98.76%.
+
+        This interface allows reading and setting maximum utilization clamp
+        values similar to the sched_setattr(2). This maximum utilization
+        value is used to clamp the task specific maximum utilization clamp.
+
+
 
 Memory
 ------
diff --git a/Documentation/admin-guide/dynamic-debug-howto.rst b/Documentation/admin-guide/dynamic-debug-howto.rst
index fdf7242..1c9b4ac 100644
--- a/Documentation/admin-guide/dynamic-debug-howto.rst
+++ b/Documentation/admin-guide/dynamic-debug-howto.rst
@@ -54,6 +54,9 @@
 				<debugfs>/dynamic_debug/control
   -bash: echo: write error: Invalid argument
 
+Note, for systems without 'debugfs' enabled, the control file can be
+found in ``/proc/dynamic_debug/control``.
+
 Viewing Dynamic Debug Behaviour
 ===============================
 
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index 804b228..e1b10cc 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -1962,6 +1962,12 @@
 			Built with CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y,
 			the default is off.
 
+	kpti=		[ARM64] Control page table isolation of user
+			and kernel address spaces.
+			Default: enabled on cores which need mitigation.
+			0: force disabled
+			1: force enabled
+
 	kvm.ignore_msrs=[KVM] Ignore guest accesses to unhandled MSRs.
 			Default is 0 (don't ignore, but inject #GP)
 
diff --git a/Documentation/arm64/tagged-address-abi.rst b/Documentation/arm64/tagged-address-abi.rst
index d4a85d5..4a9d9c7 100644
--- a/Documentation/arm64/tagged-address-abi.rst
+++ b/Documentation/arm64/tagged-address-abi.rst
@@ -44,8 +44,15 @@
 how the user addresses are used by the kernel:
 
 1. User addresses not accessed by the kernel but used for address space
-   management (e.g. ``mmap()``, ``mprotect()``, ``madvise()``). The use
-   of valid tagged pointers in this context is always allowed.
+   management (e.g. ``mprotect()``, ``madvise()``). The use of valid
+   tagged pointers in this context is allowed with the exception of
+   ``brk()``, ``mmap()`` and the ``new_address`` argument to
+   ``mremap()`` as these have the potential to alias with existing
+   user addresses.
+
+   NOTE: This behaviour changed in v5.6 and so some earlier kernels may
+   incorrectly accept valid tagged pointers for the ``brk()``,
+   ``mmap()`` and ``mremap()`` system calls.
 
 2. User addresses accessed by the kernel (e.g. ``write()``). This ABI
    relaxation is disabled by default and the application thread needs to
diff --git a/Documentation/dev-tools/kcov.rst b/Documentation/dev-tools/kcov.rst
index c2f6452..f254173 100644
--- a/Documentation/dev-tools/kcov.rst
+++ b/Documentation/dev-tools/kcov.rst
@@ -34,6 +34,7 @@
 
 Coverage collection
 -------------------
+
 The following program demonstrates coverage collection from within a test
 program using kcov:
 
@@ -128,6 +129,7 @@
 
 Comparison operands collection
 ------------------------------
+
 Comparison operands collection is similar to coverage collection:
 
 .. code-block:: c
@@ -202,3 +204,130 @@
 
 Note that the kcov modes (coverage collection or comparison operands) are
 mutually exclusive.
+
+Remote coverage collection
+--------------------------
+
+With KCOV_ENABLE coverage is collected only for syscalls that are issued
+from the current process. With KCOV_REMOTE_ENABLE it's possible to collect
+coverage for arbitrary parts of the kernel code, provided that those parts
+are annotated with kcov_remote_start()/kcov_remote_stop().
+
+This allows to collect coverage from two types of kernel background
+threads: the global ones, that are spawned during kernel boot in a limited
+number of instances (e.g. one USB hub_event() worker thread is spawned per
+USB HCD); and the local ones, that are spawned when a user interacts with
+some kernel interface (e.g. vhost workers).
+
+To enable collecting coverage from a global background thread, a unique
+global handle must be assigned and passed to the corresponding
+kcov_remote_start() call. Then a userspace process can pass a list of such
+handles to the KCOV_REMOTE_ENABLE ioctl in the handles array field of the
+kcov_remote_arg struct. This will attach the used kcov device to the code
+sections, that are referenced by those handles.
+
+Since there might be many local background threads spawned from different
+userspace processes, we can't use a single global handle per annotation.
+Instead, the userspace process passes a non-zero handle through the
+common_handle field of the kcov_remote_arg struct. This common handle gets
+saved to the kcov_handle field in the current task_struct and needs to be
+passed to the newly spawned threads via custom annotations. Those threads
+should in turn be annotated with kcov_remote_start()/kcov_remote_stop().
+
+Internally kcov stores handles as u64 integers. The top byte of a handle
+is used to denote the id of a subsystem that this handle belongs to, and
+the lower 4 bytes are used to denote the id of a thread instance within
+that subsystem. A reserved value 0 is used as a subsystem id for common
+handles as they don't belong to a particular subsystem. The bytes 4-7 are
+currently reserved and must be zero. In the future the number of bytes
+used for the subsystem or handle ids might be increased.
+
+When a particular userspace proccess collects coverage by via a common
+handle, kcov will collect coverage for each code section that is annotated
+to use the common handle obtained as kcov_handle from the current
+task_struct. However non common handles allow to collect coverage
+selectively from different subsystems.
+
+.. code-block:: c
+
+    struct kcov_remote_arg {
+	__u32		trace_mode;
+	__u32		area_size;
+	__u32		num_handles;
+	__aligned_u64	common_handle;
+	__aligned_u64	handles[0];
+    };
+
+    #define KCOV_INIT_TRACE			_IOR('c', 1, unsigned long)
+    #define KCOV_DISABLE			_IO('c', 101)
+    #define KCOV_REMOTE_ENABLE		_IOW('c', 102, struct kcov_remote_arg)
+
+    #define COVER_SIZE	(64 << 10)
+
+    #define KCOV_TRACE_PC	0
+
+    #define KCOV_SUBSYSTEM_COMMON	(0x00ull << 56)
+    #define KCOV_SUBSYSTEM_USB	(0x01ull << 56)
+
+    #define KCOV_SUBSYSTEM_MASK	(0xffull << 56)
+    #define KCOV_INSTANCE_MASK	(0xffffffffull)
+
+    static inline __u64 kcov_remote_handle(__u64 subsys, __u64 inst)
+    {
+	if (subsys & ~KCOV_SUBSYSTEM_MASK || inst & ~KCOV_INSTANCE_MASK)
+		return 0;
+	return subsys | inst;
+    }
+
+    #define KCOV_COMMON_ID	0x42
+    #define KCOV_USB_BUS_NUM	1
+
+    int main(int argc, char **argv)
+    {
+	int fd;
+	unsigned long *cover, n, i;
+	struct kcov_remote_arg *arg;
+
+	fd = open("/sys/kernel/debug/kcov", O_RDWR);
+	if (fd == -1)
+		perror("open"), exit(1);
+	if (ioctl(fd, KCOV_INIT_TRACE, COVER_SIZE))
+		perror("ioctl"), exit(1);
+	cover = (unsigned long*)mmap(NULL, COVER_SIZE * sizeof(unsigned long),
+				     PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
+	if ((void*)cover == MAP_FAILED)
+		perror("mmap"), exit(1);
+
+	/* Enable coverage collection via common handle and from USB bus #1. */
+	arg = calloc(1, sizeof(*arg) + sizeof(uint64_t));
+	if (!arg)
+		perror("calloc"), exit(1);
+	arg->trace_mode = KCOV_TRACE_PC;
+	arg->area_size = COVER_SIZE;
+	arg->num_handles = 1;
+	arg->common_handle = kcov_remote_handle(KCOV_SUBSYSTEM_COMMON,
+							KCOV_COMMON_ID);
+	arg->handles[0] = kcov_remote_handle(KCOV_SUBSYSTEM_USB,
+						KCOV_USB_BUS_NUM);
+	if (ioctl(fd, KCOV_REMOTE_ENABLE, arg))
+		perror("ioctl"), free(arg), exit(1);
+	free(arg);
+
+	/*
+	 * Here the user needs to trigger execution of a kernel code section
+	 * that is either annotated with the common handle, or to trigger some
+	 * activity on USB bus #1.
+	 */
+	sleep(2);
+
+	n = __atomic_load_n(&cover[0], __ATOMIC_RELAXED);
+	for (i = 0; i < n; i++)
+		printf("0x%lx\n", cover[i + 1]);
+	if (ioctl(fd, KCOV_DISABLE, 0))
+		perror("ioctl"), exit(1);
+	if (munmap(cover, COVER_SIZE * sizeof(unsigned long)))
+		perror("munmap"), exit(1);
+	if (close(fd))
+		perror("close"), exit(1);
+	return 0;
+    }
diff --git a/Documentation/filesystems/f2fs.txt b/Documentation/filesystems/f2fs.txt
index 3135b80..4eb3e2d 100644
--- a/Documentation/filesystems/f2fs.txt
+++ b/Documentation/filesystems/f2fs.txt
@@ -235,6 +235,17 @@
                        hide up to all remaining free space. The actual space that
                        would be unusable can be viewed at /sys/fs/f2fs/<disk>/unusable
                        This space is reclaimed once checkpoint=enable.
+compress_algorithm=%s  Control compress algorithm, currently f2fs supports "lzo"
+                       and "lz4" algorithm.
+compress_log_size=%u   Support configuring compress cluster size, the size will
+                       be 4KB * (1 << %u), 16KB is minimum size, also it's
+                       default size.
+compress_extension=%s  Support adding specified extension, so that f2fs can enable
+                       compression on those corresponding files, e.g. if all files
+                       with '.ext' has high compression rate, we can set the '.ext'
+                       on compression extension list and enable compression on
+                       these file by default rather than to enable it via ioctl.
+                       For other files, we can still enable compression via ioctl.
 
 ================================================================================
 DEBUGFS ENTRIES
@@ -259,170 +270,6 @@
 
 Files in /sys/fs/f2fs/<devname>
 (see also Documentation/ABI/testing/sysfs-fs-f2fs)
-..............................................................................
- File                         Content
-
- gc_urgent_sleep_time         This parameter controls sleep time for gc_urgent.
-                              500 ms is set by default. See above gc_urgent.
-
- gc_min_sleep_time            This tuning parameter controls the minimum sleep
-                              time for the garbage collection thread. Time is
-                              in milliseconds.
-
- gc_max_sleep_time            This tuning parameter controls the maximum sleep
-                              time for the garbage collection thread. Time is
-                              in milliseconds.
-
- gc_no_gc_sleep_time          This tuning parameter controls the default sleep
-                              time for the garbage collection thread. Time is
-                              in milliseconds.
-
- gc_idle                      This parameter controls the selection of victim
-                              policy for garbage collection. Setting gc_idle = 0
-                              (default) will disable this option. Setting
-                              gc_idle = 1 will select the Cost Benefit approach
-                              & setting gc_idle = 2 will select the greedy approach.
-
- gc_urgent                    This parameter controls triggering background GCs
-                              urgently or not. Setting gc_urgent = 0 [default]
-                              makes back to default behavior, while if it is set
-                              to 1, background thread starts to do GC by given
-                              gc_urgent_sleep_time interval.
-
- reclaim_segments             This parameter controls the number of prefree
-                              segments to be reclaimed. If the number of prefree
-			      segments is larger than the number of segments
-			      in the proportion to the percentage over total
-			      volume size, f2fs tries to conduct checkpoint to
-			      reclaim the prefree segments to free segments.
-			      By default, 5% over total # of segments.
-
- main_blkaddr                 This value gives the first block address of
-			      MAIN area in the partition.
-
- max_small_discards	      This parameter controls the number of discard
-			      commands that consist small blocks less than 2MB.
-			      The candidates to be discarded are cached until
-			      checkpoint is triggered, and issued during the
-			      checkpoint. By default, it is disabled with 0.
-
- discard_granularity	      This parameter controls the granularity of discard
-			      command size. It will issue discard commands iif
-			      the size is larger than given granularity. Its
-			      unit size is 4KB, and 4 (=16KB) is set by default.
-			      The maximum value is 128 (=512KB).
-
- reserved_blocks	      This parameter indicates the number of blocks that
-			      f2fs reserves internally for root.
-
- batched_trim_sections	      This parameter controls the number of sections
-                              to be trimmed out in batch mode when FITRIM
-                              conducts. 32 sections is set by default.
-
- ipu_policy                   This parameter controls the policy of in-place
-                              updates in f2fs. There are five policies:
-                               0x01: F2FS_IPU_FORCE, 0x02: F2FS_IPU_SSR,
-                               0x04: F2FS_IPU_UTIL,  0x08: F2FS_IPU_SSR_UTIL,
-                               0x10: F2FS_IPU_FSYNC.
-
- min_ipu_util                 This parameter controls the threshold to trigger
-                              in-place-updates. The number indicates percentage
-                              of the filesystem utilization, and used by
-                              F2FS_IPU_UTIL and F2FS_IPU_SSR_UTIL policies.
-
- min_fsync_blocks             This parameter controls the threshold to trigger
-                              in-place-updates when F2FS_IPU_FSYNC mode is set.
-			      The number indicates the number of dirty pages
-			      when fsync needs to flush on its call path. If
-			      the number is less than this value, it triggers
-			      in-place-updates.
-
- min_seq_blocks		      This parameter controls the threshold to serialize
-			      write IOs issued by multiple threads in parallel.
-
- min_hot_blocks		      This parameter controls the threshold to allocate
-			      a hot data log for pending data blocks to write.
-
- min_ssr_sections	      This parameter adds the threshold when deciding
-			      SSR block allocation. If this is large, SSR mode
-			      will be enabled early.
-
- ram_thresh                   This parameter controls the memory footprint used
-			      by free nids and cached nat entries. By default,
-			      1 is set, which indicates 10 MB / 1 GB RAM.
-
- ra_nid_pages		      When building free nids, F2FS reads NAT blocks
-			      ahead for speed up. Default is 0.
-
- dirty_nats_ratio	      Given dirty ratio of cached nat entries, F2FS
-			      determines flushing them in background.
-
- max_victim_search	      This parameter controls the number of trials to
-			      find a victim segment when conducting SSR and
-			      cleaning operations. The default value is 4096
-			      which covers 8GB block address range.
-
- migration_granularity	      For large-sized sections, F2FS can stop GC given
-			      this granularity instead of reclaiming entire
-			      section.
-
- dir_level                    This parameter controls the directory level to
-			      support large directory. If a directory has a
-			      number of files, it can reduce the file lookup
-			      latency by increasing this dir_level value.
-			      Otherwise, it needs to decrease this value to
-			      reduce the space overhead. The default value is 0.
-
- cp_interval		      F2FS tries to do checkpoint periodically, 60 secs
-			      by default.
-
- idle_interval		      F2FS detects system is idle, if there's no F2FS
-			      operations during given interval, 5 secs by
-			      default.
-
- discard_idle_interval	      F2FS detects the discard thread is idle, given
-			      time interval. Default is 5 secs.
-
- gc_idle_interval	      F2FS detects the GC thread is idle, given time
-			      interval. Default is 5 secs.
-
- umount_discard_timeout       When unmounting the disk, F2FS waits for finishing
-			      queued discard commands which can take huge time.
-			      This gives time out for it, 5 secs by default.
-
- iostat_enable		      This controls to enable/disable iostat in F2FS.
-
- readdir_ra		      This enables/disabled readahead of inode blocks
-			      in readdir, and default is enabled.
-
- gc_pin_file_thresh	      This indicates how many GC can be failed for the
-			      pinned file. If it exceeds this, F2FS doesn't
-			      guarantee its pinning state. 2048 trials is set
-			      by default.
-
- extension_list		      This enables to change extension_list for hot/cold
-			      files in runtime.
-
- inject_rate		      This controls injection rate of arbitrary faults.
-
- inject_type		      This controls injection type of arbitrary faults.
-
- dirty_segments 	      This shows # of dirty segments.
-
- lifetime_write_kbytes	      This shows # of data written to the disk.
-
- features		      This shows current features enabled on F2FS.
-
- current_reserved_blocks      This shows # of blocks currently reserved.
-
- unusable                     If checkpoint=disable, this shows the number of
-                              blocks that are unusable.
-                              If checkpoint=enable it shows the number of blocks
-                              that would be unusable if checkpoint=disable were
-                              to be set.
-
-encoding 	              This shows the encoding used for casefolding.
-                              If casefolding is not enabled, returns (none)
 
 ================================================================================
 USAGE
@@ -840,3 +687,44 @@
  4. address = fibmap(fd, offset)
  5. open(blkdev)
  6. write(blkdev, address)
+
+Compression implementation
+--------------------------
+
+- New term named cluster is defined as basic unit of compression, file can
+be divided into multiple clusters logically. One cluster includes 4 << n
+(n >= 0) logical pages, compression size is also cluster size, each of
+cluster can be compressed or not.
+
+- In cluster metadata layout, one special block address is used to indicate
+cluster is compressed one or normal one, for compressed cluster, following
+metadata maps cluster to [1, 4 << n - 1] physical blocks, in where f2fs
+stores data including compress header and compressed data.
+
+- In order to eliminate write amplification during overwrite, F2FS only
+support compression on write-once file, data can be compressed only when
+all logical blocks in file are valid and cluster compress ratio is lower
+than specified threshold.
+
+- To enable compression on regular inode, there are three ways:
+* chattr +c file
+* chattr +c dir; touch dir/file
+* mount w/ -o compress_extension=ext; touch file.ext
+
+Compress metadata layout:
+                             [Dnode Structure]
+             +-----------------------------------------------+
+             | cluster 1 | cluster 2 | ......... | cluster N |
+             +-----------------------------------------------+
+             .           .                       .           .
+       .                       .                .                      .
+  .         Compressed Cluster       .        .        Normal Cluster            .
++----------+---------+---------+---------+  +---------+---------+---------+---------+
+|compr flag| block 1 | block 2 | block 3 |  | block 1 | block 2 | block 3 | block 4 |
++----------+---------+---------+---------+  +---------+---------+---------+---------+
+           .                             .
+         .                                           .
+       .                                                           .
+      +-------------+-------------+----------+----------------------------+
+      | data length | data chksum | reserved |      compressed data       |
+      +-------------+-------------+----------+----------------------------+
diff --git a/Documentation/filesystems/fscrypt.rst b/Documentation/filesystems/fscrypt.rst
index 4ed9d58..fbcd185 100644
--- a/Documentation/filesystems/fscrypt.rst
+++ b/Documentation/filesystems/fscrypt.rst
@@ -234,8 +234,8 @@
 entropy from the master key.  HKDF is also standardized and widely
 used by other software, whereas the AES-128-ECB based KDF is ad-hoc.
 
-Per-file keys
--------------
+Per-file encryption keys
+------------------------
 
 Since each master key can protect many files, it is necessary to
 "tweak" the encryption of each file so that the same plaintext in two
@@ -268,9 +268,9 @@
 Therefore, to improve performance and save memory, for Adiantum a
 "direct key" configuration is supported.  When the user has enabled
 this by setting FSCRYPT_POLICY_FLAG_DIRECT_KEY in the fscrypt policy,
-per-file keys are not used.  Instead, whenever any data (contents or
-filenames) is encrypted, the file's 16-byte nonce is included in the
-IV.  Moreover:
+per-file encryption keys are not used.  Instead, whenever any data
+(contents or filenames) is encrypted, the file's 16-byte nonce is
+included in the IV.  Moreover:
 
 - For v1 encryption policies, the encryption is done directly with the
   master key.  Because of this, users **must not** use the same master
@@ -302,6 +302,16 @@
 identifier" is also derived using the KDF.  This value is stored in
 the clear, since it is needed to reliably identify the key itself.
 
+Dirhash keys
+------------
+
+For directories that are indexed using a secret-keyed dirhash over the
+plaintext filenames, the KDF is also used to derive a 128-bit
+SipHash-2-4 key per directory in order to hash filenames.  This works
+just like deriving a per-file encryption key, except that a different
+KDF context is used.  Currently, only casefolded ("case-insensitive")
+encrypted directories use this style of hashing.
+
 Encryption modes and usage
 ==========================
 
@@ -325,11 +335,11 @@
 Adiantum is a (primarily) stream cipher-based mode that is fast even
 on CPUs without dedicated crypto instructions.  It's also a true
 wide-block mode, unlike XTS.  It can also eliminate the need to derive
-per-file keys.  However, it depends on the security of two primitives,
-XChaCha12 and AES-256, rather than just one.  See the paper
-"Adiantum: length-preserving encryption for entry-level processors"
-(https://eprint.iacr.org/2018/720.pdf) for more details.  To use
-Adiantum, CONFIG_CRYPTO_ADIANTUM must be enabled.  Also, fast
+per-file encryption keys.  However, it depends on the security of two
+primitives, XChaCha12 and AES-256, rather than just one.  See the
+paper "Adiantum: length-preserving encryption for entry-level
+processors" (https://eprint.iacr.org/2018/720.pdf) for more details.
+To use Adiantum, CONFIG_CRYPTO_ADIANTUM must be enabled.  Also, fast
 implementations of ChaCha and NHPoly1305 should be enabled, e.g.
 CONFIG_CRYPTO_CHACHA20_NEON and CONFIG_CRYPTO_NHPOLY1305_NEON for ARM.
 
@@ -513,7 +523,9 @@
 - ``EEXIST``: the file is already encrypted with an encryption policy
   different from the one specified
 - ``EINVAL``: an invalid encryption policy was specified (invalid
-  version, mode(s), or flags; or reserved bits were set)
+  version, mode(s), or flags; or reserved bits were set); or a v1
+  encryption policy was specified but the directory has the casefold
+  flag enabled (casefolding is incompatible with v1 policies).
 - ``ENOKEY``: a v2 encryption policy was specified, but the key with
   the specified ``master_key_identifier`` has not been added, nor does
   the process have the CAP_FOWNER capability in the initial user
@@ -1137,8 +1149,8 @@
 policy structs (see `Setting an encryption policy`_), except that the
 context structs also contain a nonce.  The nonce is randomly generated
 by the kernel and is used as KDF input or as a tweak to cause
-different files to be encrypted differently; see `Per-file keys`_ and
-`DIRECT_KEY policies`_.
+different files to be encrypted differently; see `Per-file encryption
+keys`_ and `DIRECT_KEY policies`_.
 
 Data path changes
 -----------------
@@ -1190,7 +1202,7 @@
 allows the filesystem to still, with a high degree of confidence, map
 the filename given in ->lookup() back to a particular directory entry
 that was previously listed by readdir().  See :c:type:`struct
-fscrypt_digested_name` in the source for more details.
+fscrypt_nokey_name` in the source for more details.
 
 Note that the precise way that filenames are presented to userspace
 without the key is subject to change in the future.  It is only meant
diff --git a/Documentation/filesystems/fsverity.rst b/Documentation/filesystems/fsverity.rst
index 42a0b6d..a95536b 100644
--- a/Documentation/filesystems/fsverity.rst
+++ b/Documentation/filesystems/fsverity.rst
@@ -226,6 +226,14 @@
 The verity flag is not settable via FS_IOC_SETFLAGS.  You must use
 FS_IOC_ENABLE_VERITY instead, since parameters must be provided.
 
+statx
+-----
+
+Since Linux v5.5, the statx() system call sets STATX_ATTR_VERITY if
+the file has fs-verity enabled.  This can perform better than
+FS_IOC_GETFLAGS and FS_IOC_MEASURE_VERITY because it doesn't require
+opening the file, and opening verity files can be expensive.
+
 Accessing verity files
 ======================
 
@@ -398,7 +406,7 @@
 ext4
 ----
 
-ext4 supports fs-verity since Linux TODO and e2fsprogs v1.45.2.
+ext4 supports fs-verity since Linux v5.4 and e2fsprogs v1.45.2.
 
 To create verity files on an ext4 filesystem, the filesystem must have
 been formatted with ``-O verity`` or had ``tune2fs -O verity`` run on
@@ -434,7 +442,7 @@
 f2fs
 ----
 
-f2fs supports fs-verity since Linux TODO and f2fs-tools v1.11.0.
+f2fs supports fs-verity since Linux v5.4 and f2fs-tools v1.11.0.
 
 To create verity files on an f2fs filesystem, the filesystem must have
 been formatted with ``-O verity``.
diff --git a/Documentation/networking/nf_flowtable.txt b/Documentation/networking/nf_flowtable.txt
index 54128c5..b01c918 100644
--- a/Documentation/networking/nf_flowtable.txt
+++ b/Documentation/networking/nf_flowtable.txt
@@ -76,7 +76,7 @@
 
         table inet x {
 		flowtable f {
-			hook ingress priority 0 devices = { eth0, eth1 };
+			hook ingress priority 0; devices = { eth0, eth1 };
 		}
                 chain y {
                         type filter hook forward priority 0; policy accept;
diff --git a/Documentation/scheduler/sched-tune.txt b/Documentation/scheduler/sched-tune.txt
index 1a10371..be72870 100644
--- a/Documentation/scheduler/sched-tune.txt
+++ b/Documentation/scheduler/sched-tune.txt
@@ -233,9 +233,9 @@
 get the current utilization of a CPU:
 
   cpu_util()
-  boosted_cpu_util()
+  stune_util()
 
-The new boosted_cpu_util() is similar to the first but returns a boosted
+The new stune_util() is similar to the first but returns a boosted
 utilization signal which is a function of the sched_cfs_boost value.
 
 This function is used in the CFS scheduler code paths where schedutil needs to
diff --git a/Documentation/sysctl/kernel.txt b/Documentation/sysctl/kernel.txt
index 184fb62..2345f8a 100644
--- a/Documentation/sysctl/kernel.txt
+++ b/Documentation/sysctl/kernel.txt
@@ -80,6 +80,7 @@
 - reboot-cmd                  [ SPARC only ]
 - rtsig-max
 - rtsig-nr
+- sched_energy_aware
 - seccomp/                    ==> Documentation/userspace-api/seccomp_filter.rst
 - sem
 - sem_next_id		      [ sysv ipc ]
@@ -719,8 +720,7 @@
 perf_event_paranoid:
 
 Controls use of the performance events system by unprivileged
-users (without CAP_SYS_ADMIN).  The default value is 3 if
-CONFIG_SECURITY_PERF_EVENTS_RESTRICT is set, or 2 otherwise.
+users (without CAP_SYS_ADMIN).  The default value is 2.
 
  -1: Allow use of (almost) all events by all users
      Ignore mlock limit after perf_event_mlock_kb without CAP_IPC_LOCK
@@ -728,7 +728,6 @@
      Disallow raw tracepoint access by users without CAP_SYS_ADMIN
 >=1: Disallow CPU event access by users without CAP_SYS_ADMIN
 >=2: Disallow kernel profiling by users without CAP_SYS_ADMIN
->=3: Disallow all event access by users without CAP_SYS_ADMIN
 
 ==============================================================
 
@@ -900,6 +899,17 @@
 
 ==============================================================
 
+sched_energy_aware:
+
+Enables/disables Energy Aware Scheduling (EAS). EAS starts
+automatically on platforms where it can run (that is,
+platforms with asymmetric CPU topologies and having an Energy
+Model available). If your platform happens to meet the
+requirements for EAS but you do not want to use it, change
+this value to 0.
+
+==============================================================
+
 sched_schedstats:
 
 Enables/disables scheduler statistics. Enabling this feature
diff --git a/Documentation/sysctl/vm.txt b/Documentation/sysctl/vm.txt
index b04c20d..f7432c5 100644
--- a/Documentation/sysctl/vm.txt
+++ b/Documentation/sysctl/vm.txt
@@ -925,14 +925,14 @@
 increase the success rate of future high-order allocations such as SLUB
 allocations, THP and hugetlbfs pages.
 
-To make it sensible with respect to the watermark_scale_factor
-parameter, the unit is in fractions of 10,000. The default value of
-15,000 on !DISCONTIGMEM configurations means that up to 150% of the high
-watermark will be reclaimed in the event of a pageblock being mixed due
-to fragmentation. The level of reclaim is determined by the number of
-fragmentation events that occurred in the recent past. If this value is
-smaller than a pageblock then a pageblocks worth of pages will be reclaimed
-(e.g.  2MB on 64-bit x86). A boost factor of 0 will disable the feature.
+To make it sensible with respect to the watermark_scale_factor parameter,
+the unit is in fractions of 10,000. The default value of 15,000 means
+that up to 150% of the high watermark will be reclaimed in the event of
+a pageblock being mixed due to fragmentation. The level of reclaim is
+determined by the number of fragmentation events that occurred in the
+recent past. If this value is smaller than a pageblock then a pageblocks
+worth of pages will be reclaimed (e.g.  2MB on 64-bit x86). A boost factor
+of 0 will disable the feature.
 
 =============================================================
 
diff --git a/MAINTAINERS b/MAINTAINERS
index 7bd11ad..8a9c4ce 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -7367,7 +7367,7 @@
 M:	Rodrigo Vivi <rodrigo.vivi@intel.com>
 L:	intel-gfx@lists.freedesktop.org
 W:	https://01.org/linuxgraphics/
-B:	https://01.org/linuxgraphics/documentation/how-report-bugs
+B:	https://gitlab.freedesktop.org/drm/intel/-/wikis/How-to-file-i915-bugs
 C:	irc://chat.freenode.net/intel-gfx
 Q:	http://patchwork.freedesktop.org/project/intel-gfx/
 T:	git git://anongit.freedesktop.org/drm-intel
@@ -10312,6 +10312,12 @@
 F:	Documentation/scsi/NinjaSCSI.txt
 F:	drivers/scsi/nsp32*
 
+NINTENDO HID DRIVER
+M:	Daniel J. Ogorchock <djogorchock@gmail.com>
+L:	linux-input@vger.kernel.org
+S:	Maintained
+F:	drivers/hid/hid-nintendo*
+
 NIOS2 ARCHITECTURE
 M:	Ley Foon Tan <lftan@altera.com>
 L:	nios2-dev@lists.rocketboards.org (moderated for non-subscribers)
diff --git a/Makefile b/Makefile
index cb967bd..2852c29 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 4
 PATCHLEVEL = 19
-SUBLEVEL = 95
+SUBLEVEL = 110
 EXTRAVERSION =
 NAME = "People's Front"
 
@@ -869,7 +869,8 @@
 endif
 
 ifdef CONFIG_CFI_CLANG
-cfi-clang-flags	+= -fsanitize=cfi -fno-sanitize-cfi-canonical-jump-tables
+cfi-clang-flags	+= -fsanitize=cfi -fno-sanitize-cfi-canonical-jump-tables \
+		   -fno-sanitize-blacklist
 DISABLE_CFI_CLANG := -fno-sanitize=cfi
 ifdef CONFIG_MODULES
 cfi-clang-flags	+= -fsanitize-cfi-cross-dso
@@ -1081,6 +1082,7 @@
   endif
 endif
 
+PHONY += prepare0
 
 ifeq ($(KBUILD_EXTMOD),)
 core-y		+= kernel/ certs/ mm/ fs/ ipc/ security/ crypto/ block/
@@ -1128,9 +1130,12 @@
 
 autoksyms_h := $(if $(CONFIG_TRIM_UNUSED_KSYMS), include/generated/autoksyms.h)
 
+quiet_cmd_autoksyms_h = GEN     $@
+      cmd_autoksyms_h = mkdir -p $(dir $@); \
+			$(CONFIG_SHELL) $(srctree)/scripts/gen_autoksyms.sh $@
+
 $(autoksyms_h):
-	$(Q)mkdir -p $(dir $@)
-	$(Q)touch $@
+	$(call cmd,autoksyms_h)
 
 ARCH_POSTLINK := $(wildcard $(srctree)/arch/$(SRCARCH)/Makefile.postlink)
 
@@ -1189,8 +1194,7 @@
 # archprepare is used in arch Makefiles and when processed asm symlink,
 # version.h and scripts_basic is processed / created.
 
-# Listed in dependency order
-PHONY += prepare archprepare prepare0 prepare1 prepare2 prepare3
+PHONY += prepare archprepare prepare1 prepare2 prepare3
 
 # prepare3 is used to check if we are building in a separate output directory,
 # and if so do:
diff --git a/abi_gki_aarch64.xml b/abi_gki_aarch64.xml
index 1bba8b4..05cb911 100644
--- a/abi_gki_aarch64.xml
+++ b/abi_gki_aarch64.xml
@@ -2,48 +2,86 @@
   <abi-corpus path='vmlinux' architecture='elf-arm-aarch64'>
     <elf-function-symbols>
       <elf-symbol name='PDE_DATA' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='___pskb_trim' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='___ratelimit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__alloc_disk_node' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__alloc_pages_nodemask' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__alloc_percpu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__alloc_skb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__alloc_workqueue_key' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='__blk_mq_end_request' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='__cfi_slowpath' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__bitmap_clear' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__bitmap_set' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__bitmap_shift_right' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__bitmap_weight' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__cfg80211_alloc_event_skb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__cfg80211_alloc_reply_skb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__cfg80211_send_event_skb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__check_object_size' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__class_create' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__class_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__clk_determine_rate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__clk_get_hw' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__clk_get_name' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__clk_is_enabled' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__clk_mux_determine_rate_closest' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__close_fd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__const_udelay' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__cpuhp_remove_state' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__cpuhp_setup_state' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__cpuhp_state_add_instance' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__cpuhp_state_remove_instance' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__crc32c_le_shift' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__dev_get_by_index' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__dev_kfree_skb_any' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__devm_iio_device_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__devm_of_phy_provider_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__devm_regmap_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__devm_regmap_init_i2c' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__devm_regmap_init_mmio_clk' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__devm_request_region' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__devm_reset_control_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='__devres_alloc_node' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__drm_atomic_helper_connector_destroy_state' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__drm_atomic_helper_connector_duplicate_state' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__drm_atomic_helper_connector_reset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__drm_atomic_helper_crtc_destroy_state' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__drm_atomic_helper_crtc_duplicate_state' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__drm_atomic_helper_disable_plane' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__drm_atomic_helper_plane_duplicate_state' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__drm_atomic_helper_set_config' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__drm_atomic_state_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__drm_printfn_debug' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__ethtool_get_link_ksettings' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__free_pages' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__get_free_pages' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__get_task_comm' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='__hvc_resize' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__hrtimer_get_remaining' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__hwspin_lock_timeout' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__hwspin_unlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__init_rwsem' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__init_waitqueue_head' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__ioremap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__iounmap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__iowrite32_copy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__ip_dev_find' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__ip_queue_xmit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__ipv6_addr_type' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__irq_domain_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__irq_set_affinity' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__kmalloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__kthread_init_worker' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__ll_sc___cmpxchg_case_mb_4' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__ll_sc___cmpxchg_case_mb_8' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__ll_sc_atomic64_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__ll_sc_atomic64_add_return_relaxed' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__ll_sc_atomic64_andnot' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='__ll_sc_atomic64_fetch_or' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__ll_sc_atomic64_or' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__ll_sc_atomic64_sub' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__ll_sc_atomic_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__ll_sc_atomic_add_return' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__ll_sc_atomic_sub' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__ll_sc_atomic_sub_return' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__local_bh_enable_ip' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__media_device_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__memcpy_fromio' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__memcpy_toio' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__memset_io' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -52,113 +90,194 @@
       <elf-symbol name='__mutex_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__napi_alloc_skb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__napi_schedule' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__ndelay' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__netdev_alloc_skb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__netif_set_xps_queue' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__netlink_dump_start' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__netlink_kernel_create' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__next_zones_zonelist' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__nlmsg_put' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__pci_register_driver' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__percpu_counter_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__platform_driver_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__pm_relax' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__pm_runtime_disable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__pm_runtime_idle' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__pm_runtime_resume' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__pm_runtime_set_status' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__pm_runtime_suspend' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__pm_runtime_use_autosuspend' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__pm_stay_awake' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__pskb_pull_tail' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__put_cred' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__put_page' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__put_task_struct' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__rcu_read_lock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__rcu_read_unlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__refrigerator' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__register_binfmt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__register_chrdev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__regmap_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__release_region' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__request_module' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__request_percpu_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__request_region' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__rtc_register_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__sg_page_iter_next' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__sg_page_iter_start' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__sk_mem_reclaim' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__sk_mem_schedule' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__skb_checksum' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__skb_flow_dissect' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__sock_recv_ts_and_drops' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='__sock_tx_timestamp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='__splice_from_pipe' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__spi_alloc_controller' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__spi_register_driver' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__spmi_driver_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__stack_chk_fail' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__sw_hweight32' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__sw_hweight64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__sw_hweight8' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__symbol_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__symbol_put' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__sysfs_match_string' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__tasklet_hi_schedule' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__tasklet_schedule' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__trace_bprintk' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__udelay' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__uio_register_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__unregister_chrdev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__usb_create_hcd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__usecs_to_jiffies' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__v4l2_ctrl_modify_range' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__v4l2_ctrl_s_ctrl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__video_register_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__vmalloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__wake_up' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__wake_up_locked' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__wake_up_sync_key' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='__warn_printk' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='__xfrm_policy_check' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='_cleanup_srcu_struct' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='_copy_from_iter_full' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='_copy_to_iter' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='_dev_crit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='_dev_emerg' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='_dev_err' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='_dev_info' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='_dev_notice' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='_dev_warn' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='_raw_read_lock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='_raw_read_lock_bh' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='_raw_read_lock_irqsave' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='_raw_read_unlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='_raw_read_unlock_bh' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='_raw_read_unlock_irqrestore' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='_raw_spin_lock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='_raw_spin_lock_bh' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='_raw_spin_lock_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='_raw_spin_lock_irqsave' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='_raw_spin_trylock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='_raw_spin_trylock_bh' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='_raw_spin_unlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='_raw_spin_unlock_bh' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='_raw_spin_unlock_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='_raw_spin_unlock_irqrestore' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='_raw_write_lock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='_raw_write_lock_bh' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='_raw_write_lock_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='_raw_write_unlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='_raw_write_unlock_bh' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='_raw_write_unlock_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='_snd_ctl_add_slave' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='_snd_pcm_lib_alloc_vmalloc_buffer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='access_process_vm' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='add_hwgenerator_randomness' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='add_timer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='add_uevent_var' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='add_wait_queue' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='adjust_managed_page_count' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='alarm_cancel' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='alarm_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='alarm_start_relative' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='alarm_try_to_cancel' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='alarmtimer_get_rtcdev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='alloc_chrdev_region' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='alloc_etherdev_mqs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='alloc_io_pgtable_ops' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='alloc_netdev_mqs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='alloc_pages_exact' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='arch_bpf_jit_check_func' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='anon_inode_getfile' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='arch_set_freq_scale' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='arch_setup_dma_ops' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='arch_timer_get_rate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='argv_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='argv_split' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='arm_cpuidle_suspend' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='atomic_notifier_call_chain' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='atomic_notifier_chain_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='atomic_notifier_chain_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='audit_log' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='autoremove_wake_function' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='bcmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='bin2hex' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='bio_alloc_bioset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='bio_chain' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='bio_crypt_alloc_ctx' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='bitmap_find_next_zero_area_off' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='bitmap_print_to_pagebuf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='blk_cleanup_queue' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='blk_crypto_evict_key' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='blk_crypto_init_key' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='blk_execute_rq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='blk_get_queue' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='blk_get_request' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='blk_mq_alloc_tag_set' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='blk_mq_complete_request' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='blk_mq_end_request' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='blk_mq_free_tag_set' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='blk_mq_init_queue' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='blk_mq_map_queues' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='blk_mq_quiesce_queue' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='blk_mq_requeue_request' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='blk_mq_run_hw_queues' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='blk_mq_start_request' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='blk_mq_start_stopped_hw_queues' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='blk_mq_stop_hw_queue' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='blk_mq_unquiesce_queue' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='blk_mq_virtio_map_queues' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='blk_put_queue' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='blk_put_request' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='blk_queue_alignment_offset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='blk_queue_bounce_limit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='blk_queue_flag_clear' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='blk_queue_flag_set' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='blk_queue_io_min' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='blk_queue_io_opt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='blk_queue_logical_block_size' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='blk_queue_max_discard_sectors' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='blk_queue_max_hw_sectors' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='blk_queue_max_segment_size' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='blk_queue_max_segments' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='blk_queue_physical_block_size' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='blk_queue_rq_timeout' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='blk_queue_write_cache' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='blk_rq_map_kern' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='blk_rq_map_sg' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='blk_status_to_errno' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='blk_update_request' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='blocking_notifier_call_chain' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='blocking_notifier_chain_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='blocking_notifier_chain_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='bpf_prog_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='bpf_prog_put' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='bpf_prog_sub' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='bpf_trace_run1' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='bpf_trace_run10' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='bpf_trace_run11' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='bpf_trace_run12' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='bpf_trace_run2' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='bpf_trace_run3' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='bpf_trace_run4' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='bpf_trace_run5' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='bpf_trace_run6' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='bpf_trace_run7' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='bpf_trace_run8' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='bpf_warn_invalid_xdp_action' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='bprm_change_interp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='build_skb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='bus_find_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='bus_find_device_by_name' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='bus_for_each_dev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='bus_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='bus_set_iommu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='bus_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='call_netdevice_notifiers' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='call_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -169,118 +288,374 @@
       <elf-symbol name='cdev_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='cdev_alloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='cdev_del' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='cdev_device_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='cdev_device_del' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='cdev_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cfg80211_ap_stopped' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cfg80211_assoc_timeout' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cfg80211_calculate_bitrate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cfg80211_ch_switch_notify' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cfg80211_chandef_create' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='cfg80211_connect_done' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cfg80211_del_sta_sinfo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='cfg80211_disconnected' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cfg80211_external_auth_request' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cfg80211_ft_event' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cfg80211_get_bss' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cfg80211_gtk_rekey_notify' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cfg80211_ibss_joined' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='cfg80211_inform_bss_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cfg80211_inform_bss_frame_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cfg80211_mgmt_tx_status' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cfg80211_michael_mic_failure' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cfg80211_new_sta' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cfg80211_pmksa_candidate_notify' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='cfg80211_put_bss' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cfg80211_ready_on_channel' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cfg80211_remain_on_channel_expired' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cfg80211_roamed' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cfg80211_rx_mgmt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cfg80211_rx_unprot_mlme_mgmt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='cfg80211_scan_done' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='check_disk_change' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cfg80211_sched_scan_results' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cfg80211_tdls_oper_request' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cfg80211_unlink_bss' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cfg80211_vendor_cmd_reply' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='class_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='class_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='class_find_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='clear_inode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='clear_page' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='clk_bulk_disable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='clk_bulk_enable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='clk_bulk_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='clk_bulk_prepare' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='clk_bulk_put' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='clk_bulk_unprepare' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='clk_disable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='clk_enable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='clk_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='clk_get_parent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='clk_get_rate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='clk_hw_get_flags' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='clk_hw_get_name' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='clk_hw_get_num_parents' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='clk_hw_get_parent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='clk_hw_get_parent_by_index' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='clk_hw_get_rate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='clk_hw_is_enabled' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='clk_hw_is_prepared' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='clk_hw_round_rate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='clk_prepare' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='clk_put' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='clk_round_rate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='clk_set_parent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='clk_set_rate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='clk_sync_state' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='clk_unprepare' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cma_alloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cma_get_base' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cma_get_size' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cma_release' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='compat_alloc_user_space' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='compat_ip_getsockopt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='compat_ip_setsockopt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='compat_ipv6_getsockopt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='compat_ipv6_setsockopt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='compat_sock_common_getsockopt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='compat_sock_common_setsockopt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='complete' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='complete_all' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='complete_and_exit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='completion_done' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='component_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='component_bind_all' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='component_del' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='component_master_add_with_match' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='component_master_del' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='component_match_add_release' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='component_unbind_all' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='config_ep_by_speed' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='config_group_init_type_name' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='consume_skb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='copy_page' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='copy_strings_kernel' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cpu_do_idle' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cpu_pm_enter' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cpu_pm_exit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cpu_pm_register_notifier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cpu_pm_unregister_notifier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cpufreq_cpu_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cpufreq_cpu_get_raw' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cpufreq_generic_frequency_table_verify' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cpufreq_quick_get_max' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='cpufreq_register_driver' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='cpufreq_unregister_driver' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cpuidle_register_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cpuidle_register_driver' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cpuidle_register_governor' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='cpuidle_unregister_driver' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='cpumask_next' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='cpumask_next_wrap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='cpus_read_lock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='cpus_read_unlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='crc32c' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='crc_ccitt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='crypto_aead_setauthsize' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='crypto_aead_setkey' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='crypto_ahash_digest' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='crypto_ahash_setkey' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='crypto_alloc_aead' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='crypto_alloc_ahash' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='crypto_alloc_base' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='crypto_alloc_shash' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='crypto_alloc_skcipher' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='crypto_alloc_sync_skcipher' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='crypto_dequeue_request' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='crypto_destroy_tfm' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='crypto_engine_alloc_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='crypto_engine_exit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='crypto_engine_start' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='crypto_enqueue_request' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='crypto_finalize_ablkcipher_request' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='crypto_init_queue' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='crypto_register_aead' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='crypto_register_ahash' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='crypto_register_alg' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='crypto_register_rngs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='crypto_shash_digest' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='crypto_shash_final' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='crypto_shash_setkey' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='crypto_shash_update' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='crypto_transfer_ablkcipher_request_to_engine' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='crypto_unregister_aead' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='crypto_unregister_ahash' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='crypto_unregister_alg' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='datagram_poll' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='debug_smp_processor_id' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='debugfs_create_dir' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='debugfs_create_file' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='debugfs_create_x32' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='debugfs_remove' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='debugfs_remove_recursive' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='crypto_unregister_rngs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='csum_ipv6_magic' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='csum_partial' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='csum_tcpudp_nofold' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='current_time' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='d_drop' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='d_instantiate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='default_llseek' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='default_wake_function' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='del_gendisk' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='del_timer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='del_timer_sync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='delayed_work_timer_fn' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dentry_open' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dentry_path' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='des_ekey' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='desc_to_gpio' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='destroy_workqueue' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='dev_add_pack' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dev_alloc_name' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='dev_close' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='dev_driver_string' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='dev_fwnode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='dev_get_by_index' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='dev_get_by_index_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dev_get_by_name' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dev_get_regmap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='dev_get_stats' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='dev_mc_sync_multiple' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='dev_mc_unsync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='dev_open' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='dev_pm_domain_attach' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='dev_pm_domain_detach' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dev_pm_opp_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dev_pm_opp_disable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dev_pm_opp_find_freq_ceil' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dev_pm_opp_find_freq_exact' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dev_pm_opp_find_freq_floor' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dev_pm_opp_get_opp_count' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dev_pm_opp_get_voltage' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dev_pm_opp_of_add_table' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dev_pm_opp_put' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dev_pm_opp_register_notifier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dev_pm_opp_remove_table' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dev_pm_opp_set_supported_hw' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dev_pm_opp_unregister_notifier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='dev_printk' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='dev_queue_xmit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='dev_remove_pack' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='dev_set_mtu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='dev_set_name' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='dev_uc_sync_multiple' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='dev_uc_unsync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devfreq_add_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devfreq_add_governor' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devfreq_cooling_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devfreq_interval_update' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devfreq_monitor_resume' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devfreq_monitor_start' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devfreq_monitor_stop' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devfreq_monitor_suspend' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devfreq_recommended_opp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devfreq_remove_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devfreq_remove_governor' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devfreq_resume_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devfreq_suspend_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='device_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='device_add_disk' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='device_connection_find_match' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='device_create' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='device_create_file' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='device_create_with_groups' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='device_del' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='device_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='device_find_child' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='device_for_each_child' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='device_get_named_child_node' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='device_init_wakeup' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='device_initialize' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='device_link_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='device_link_del' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='device_online' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='device_property_present' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='device_property_read_string' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='device_property_read_u16_array' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='device_property_read_u32_array' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='device_property_read_u8_array' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='device_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='device_remove_file' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='device_set_wakeup_capable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='device_show_int' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='device_store_int' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='device_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='device_wakeup_disable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='device_wakeup_enable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_add_action' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_clk_bulk_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='devm_clk_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_clk_hw_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_clk_put' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_clk_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_devfreq_add_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_extcon_dev_allocate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_extcon_dev_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_extcon_dev_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_extcon_register_notifier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_free_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_gpio_request' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='devm_gpio_request_one' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_gpiod_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='devm_gpiod_get_index' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_gpiod_get_optional' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_iio_channel_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_iio_device_alloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_input_allocate_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='devm_ioremap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_ioremap_nocache' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='devm_ioremap_resource' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_ioremap_wc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_iounmap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_kasprintf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='devm_kfree' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='devm_kmalloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_kmemdup' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_kstrdup' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_nvmem_device_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_nvmem_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_of_clk_add_hw_provider' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_of_led_classdev_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_of_platform_populate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_of_pwm_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_phy_create' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_phy_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_pinctrl_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_pinctrl_put' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_pinctrl_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_power_supply_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_pwm_put' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_regmap_add_irq_chip' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_regmap_del_irq_chip' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_regmap_field_alloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_regulator_bulk_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_regulator_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='devm_regulator_get_optional' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_regulator_put' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_regulator_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_request_any_context_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='devm_request_threaded_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_reset_control_array_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_reset_controller_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='devm_rtc_allocate_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_rtc_device_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_snd_soc_register_card' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_snd_soc_register_component' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_thermal_of_virtual_sensor_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devm_thermal_zone_of_sensor_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='devres_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devres_alloc_node' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='devres_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='devres_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='devres_release' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='disable_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='disable_irq_nosync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='disable_percpu_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='divider_get_val' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='divider_recalc_rate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='divider_ro_round_rate_parent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='divider_round_rate_parent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dm_get_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dm_put_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dm_read_arg_group' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dm_register_target' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dm_shift_arg' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dm_table_get_mode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dm_unregister_target' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='dma_alloc_from_dev_coherent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dma_async_device_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dma_async_tx_descriptor_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dma_buf_attach' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dma_buf_begin_cpu_access' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dma_buf_detach' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dma_buf_end_cpu_access' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='dma_buf_export' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='dma_buf_fd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='dma_buf_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dma_buf_kmap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dma_buf_kunmap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dma_buf_map_attachment' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='dma_buf_put' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dma_buf_unmap_attachment' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dma_buf_vmap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dma_buf_vunmap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dma_common_get_sgtable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dma_common_mmap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dma_fence_add_callback' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='dma_fence_context_alloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dma_fence_default_wait' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='dma_fence_enable_sw_signaling' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='dma_fence_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='dma_fence_match_context' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='dma_fence_release' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dma_fence_remove_callback' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='dma_fence_signal' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='dma_fence_signal_locked' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='dma_fence_wait_timeout' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dma_get_slave_channel' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dma_release_channel' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dma_release_declared_memory' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='dma_release_from_dev_coherent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dma_request_slave_channel' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dmam_alloc_coherent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='do_exit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='do_wait_intr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='down' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='down_read' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='down_write' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dput' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drain_workqueue' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='driver_find_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='driver_for_each_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='driver_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='driver_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_add_edid_modes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_add_modes_noedid' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_atomic_commit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_atomic_get_connector_state' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_atomic_get_crtc_state' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_atomic_get_plane_state' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_atomic_helper_check' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_atomic_helper_cleanup_planes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_atomic_helper_commit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_atomic_helper_commit_duplicated_state' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_atomic_helper_commit_hw_done' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_atomic_helper_commit_modeset_disables' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_atomic_helper_commit_modeset_enables' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -292,14 +667,33 @@
       <elf-symbol name='drm_atomic_helper_crtc_duplicate_state' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_atomic_helper_crtc_reset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_atomic_helper_disable_plane' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_atomic_helper_duplicate_state' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_atomic_helper_page_flip' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_atomic_helper_plane_destroy_state' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_atomic_helper_plane_duplicate_state' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_atomic_helper_plane_reset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_atomic_helper_prepare_planes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_atomic_helper_set_config' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_atomic_helper_shutdown' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_atomic_helper_swap_state' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_atomic_helper_update_legacy_modeset_state' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_atomic_helper_update_plane' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_atomic_helper_wait_for_fences' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_atomic_helper_wait_for_vblanks' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_atomic_set_crtc_for_connector' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_atomic_set_fence_for_plane' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_atomic_set_mode_for_crtc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_atomic_state_alloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_atomic_state_clear' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_atomic_state_default_clear' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_atomic_state_default_release' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_atomic_state_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_bridge_attach' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_bridge_disable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_bridge_enable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_bridge_mode_set' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_bridge_post_disable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_bridge_pre_enable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_class_device_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_class_device_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_clflush_pages' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -308,29 +702,92 @@
       <elf-symbol name='drm_connector_attach_encoder' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_connector_cleanup' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_connector_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_connector_list_iter_begin' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_connector_list_iter_end' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_connector_list_iter_next' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_connector_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_connector_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_connector_update_edid_property' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_crtc_cleanup' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_crtc_handle_vblank' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_crtc_init_with_planes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_crtc_send_vblank_event' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_crtc_vblank_off' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_crtc_vblank_on' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_crtc_vblank_reset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_crtc_wait_one_vblank' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_cvt_mode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_dbg' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='drm_debugfs_create_files' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_detect_hdmi_monitor' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_detect_monitor_audio' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_dev_alloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dev_dbg' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dev_printk' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_dev_put' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_dev_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_dev_set_unique' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dev_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_do_get_edid' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dp_atomic_find_vcpi_slots' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dp_atomic_release_vcpi_slots' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dp_aux_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dp_aux_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dp_bw_code_to_link_rate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dp_calc_pbn_mode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dp_channel_eq_ok' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dp_check_act_status' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dp_clock_recovery_ok' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dp_dpcd_read' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dp_dpcd_read_link_status' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dp_dpcd_write' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dp_find_vcpi_slots' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dp_get_adjust_request_pre_emphasis' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dp_get_adjust_request_voltage' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dp_link_configure' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dp_link_power_down' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dp_link_power_up' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dp_link_probe' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dp_link_rate_to_bw_code' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dp_link_train_channel_eq_delay' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dp_link_train_clock_recovery_delay' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dp_mst_allocate_vcpi' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dp_mst_deallocate_vcpi' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dp_mst_detect_port' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dp_mst_get_edid' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dp_mst_hpd_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dp_mst_reset_vcpi_slots' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dp_mst_topology_mgr_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dp_mst_topology_mgr_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dp_mst_topology_mgr_set_mst' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dp_send_power_updown_phy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dp_update_payload_part1' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_dp_update_payload_part2' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_edid_duplicate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_encoder_cleanup' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_encoder_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_err' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_event_reserve_init_locked' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_format_horz_chroma_subsampling' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_format_info' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_format_num_planes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_format_plane_cpp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_format_vert_chroma_subsampling' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_framebuffer_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_framebuffer_lookup' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_framebuffer_remove' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_framebuffer_unregister_private' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_gem_create_mmap_offset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_gem_fb_create_handle' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_gem_fb_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_gem_fb_get_obj' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_gem_free_mmap_offset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_gem_get_pages' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_gem_handle_create' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_gem_mmap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_gem_mmap_obj' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_gem_object_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_gem_object_lookup' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_gem_object_put' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_gem_object_put_unlocked' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_gem_object_release' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_gem_prime_export' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -338,6 +795,12 @@
       <elf-symbol name='drm_gem_prime_handle_to_fd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_gem_prime_import' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_gem_prime_mmap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_gem_private_object_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_gem_put_pages' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_gem_vm_close' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_gem_vm_open' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_get_connector_status_name' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_get_edid' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_global_item_ref' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_global_item_unref' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_helper_hpd_irq_event' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -350,7 +813,14 @@
       <elf-symbol name='drm_ht_remove' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_ht_remove_item' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_ioctl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_irq_install' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_irq_uninstall' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_kms_helper_hotplug_event' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_kms_helper_poll_disable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_kms_helper_poll_enable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_kms_helper_poll_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_kms_helper_poll_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_match_cea_mode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_mm_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_mm_insert_node_in_range' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_mm_print' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -359,22 +829,78 @@
       <elf-symbol name='drm_mode_config_cleanup' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_mode_config_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_mode_config_reset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_mode_convert_umode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_mode_copy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_mode_create' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_mode_debug_printmodeline' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_mode_duplicate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_mode_equal' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_mode_object_find' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_mode_object_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_mode_object_put' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_mode_parse_command_line_for_connector' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_mode_probed_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_mode_set_crtcinfo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_mode_set_name' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_mode_vrefresh' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_modeset_acquire_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_modeset_acquire_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_modeset_backoff' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_modeset_drop_locks' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_modeset_lock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_modeset_lock_all' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_modeset_lock_all_ctx' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_modeset_unlock_all' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_object_attach_property' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_object_property_set_value' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_of_component_match_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_open' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_panel_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_panel_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_panel_remove' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_plane_cleanup' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_plane_create_rotation_property' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_plane_helper_disable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_poll' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_prime_gem_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_prime_pages_to_sg' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_property_blob_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_property_blob_put' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_property_create' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_property_create_bitmask' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_property_create_blob' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_property_create_enum' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_property_create_range' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_property_lookup_blob' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_put_dev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_read' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_release' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_rotation_simplify' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_send_event_locked' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_set_preferred_mode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_universal_plane_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_vblank_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_vma_offset_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_vma_offset_lookup_locked' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_vma_offset_manager_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_vma_offset_manager_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='drm_vma_offset_remove' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drm_wait_one_vblank' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='drop_nlink' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dst_release' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='dump_stack' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='edac_device_add_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='edac_device_alloc_ctl_info' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='edac_device_alloc_index' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='edac_device_del_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='edac_device_free_ctl_info' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='edac_device_handle_ce' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='edac_device_handle_ue' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='em_register_perf_domain' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='enable_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='enable_percpu_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='eth_commit_mac_addr_change' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='eth_mac_addr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='eth_prepare_mac_addr_change' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='eth_type_trans' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='eth_validate_addr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -382,85 +908,384 @@
       <elf-symbol name='ethtool_op_get_link' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='ethtool_op_get_ts_info' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='event_triggers_call' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='fasync_helper' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='extcon_find_edev_by_node' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='extcon_get_edev_by_phandle' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='extcon_get_property' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='extcon_get_state' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='extcon_register_notifier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='extcon_set_property' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='extcon_set_property_capability' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='extcon_set_state_sync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='extcon_unregister_notifier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='fb_register_client' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='fb_unregister_client' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='fd_install' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='fget' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='filp_close' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='filp_open' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='find_get_pid' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='find_last_bit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='find_next_bit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='find_next_zero_bit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='find_vma' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='finish_wait' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='firmware_request_nowarn' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='fl6_sock_lookup' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='fl6_update_dst' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='flex_array_alloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='flex_array_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='flex_array_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='flex_array_prealloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='flex_array_put' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='flush_delayed_work' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='flush_work' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='flush_workqueue' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='force_sig' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='fput' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='free_io_pgtable_ops' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='free_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='free_netdev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='free_pages' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='free_pages_exact' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='free_percpu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='free_percpu_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='freezing_slow_path' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='fsl8250_handle_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='full_name_hash' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='fwnode_property_present' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='fwnode_property_read_string' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='fwnode_property_read_u32_array' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='gcd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='gen_pool_add_virt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='gen_pool_alloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='gen_pool_best_fit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='gen_pool_create' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='gen_pool_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='gen_pool_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='gen_pool_set_algo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='gen_pool_virt_to_phys' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='generic_device_group' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='generic_file_llseek' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='generic_handle_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='genl_register_family' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='genl_unregister_family' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='genlmsg_put' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='get_cpu_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='get_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='get_next_ino' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='get_option' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='get_pid_task' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='get_random_bytes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='get_random_u32' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='get_task_mm' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='get_unmapped_area' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='get_unused_fd_flags' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='get_user_pages' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='get_vm_area' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='getboottime64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='gnss_allocate_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='gnss_deregister_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='gnss_insert_raw' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='gnss_put_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='gnss_register_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='gpio_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='gpio_free_array' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='gpio_request' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='gpio_request_one' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='gpio_to_desc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='gpiod_cansleep' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='gpiochip_add_data_with_key' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='gpiochip_add_pin_range' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='gpiochip_generic_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='gpiochip_generic_request' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='gpiochip_get_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='gpiochip_line_is_valid' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='gpiochip_remove' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='gpiochip_set_chained_irqchip' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='gpiod_direction_input' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='gpiod_direction_output' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='gpiod_direction_output_raw' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='gpiod_get_raw_value' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='gpiod_get_raw_value_cansleep' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='gpiod_get_value' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='gpiod_get_value_cansleep' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='gpiod_is_active_low' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='gpiod_set_debounce' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='gpiod_set_raw_value' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='gpiod_set_raw_value_cansleep' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='gpiod_set_value' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='gpiod_set_value_cansleep' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='gpiod_to_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='gro_cells_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='gro_cells_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='gro_cells_receive' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='handle_bad_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='handle_edge_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='handle_level_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='handle_nested_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='handle_simple_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='hex2bin' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='hex_dump_to_buffer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='hex_to_bin' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='hrtimer_active' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='hrtimer_cancel' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='hrtimer_forward' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='hrtimer_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='hrtimer_init_sleeper' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='hrtimer_start_range_ns' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='hvc_alloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='hvc_instantiate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='hvc_kick' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='hvc_poll' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='hvc_remove' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='hrtimer_try_to_cancel' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='hwrng_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='hwrng_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='hwspin_lock_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='hwspin_lock_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='hwspin_lock_request_specific' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='hwspin_lock_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='i2c_add_adapter' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='i2c_del_adapter' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='i2c_del_driver' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='i2c_get_dma_safe_msg_buf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='i2c_match_id' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='i2c_new_dummy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='i2c_put_dma_safe_msg_buf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='i2c_register_driver' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='i2c_smbus_read_byte_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='i2c_smbus_write_byte_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='i2c_transfer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='i2c_transfer_buffer_flags' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='i2c_unregister_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='icmpv6_err_convert' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='ida_alloc_range' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='ida_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='ida_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='idr_alloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='idr_alloc_cyclic' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='idr_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='idr_find' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='idr_for_each' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='idr_get_next' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='idr_preload' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='idr_remove' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='idr_replace' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ieee80211_channel_to_frequency' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ieee80211_frequency_to_channel' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ieee80211_get_channel' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ieee80211_hdrlen' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='iio_channel_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='iio_channel_get_all' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='iio_channel_release' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='iio_read_channel_processed' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='in6_dev_finish_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='inet6_add_offload' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='inet6_add_protocol' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='inet6_bind' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='inet6_del_protocol' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='inet6_destroy_sock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='inet6_getname' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='inet6_ioctl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='inet6_register_protosw' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='inet6_release' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='inet6_unregister_protosw' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='inet_accept' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='inet_add_offload' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='inet_add_protocol' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='inet_addr_type' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='inet_bind' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='inet_ctl_sock_create' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='inet_del_offload' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='inet_del_protocol' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='inet_diag_msg_attrs_fill' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='inet_diag_msg_common_fill' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='inet_diag_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='inet_diag_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='inet_get_local_port_range' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='inet_getname' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='inet_ioctl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='inet_recvmsg' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='inet_register_protosw' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='inet_release' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='inet_sendmsg' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='inet_shutdown' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='inet_sk_set_state' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='inet_sock_destruct' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='inet_unregister_protosw' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='init_dummy_netdev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='init_timer_key' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='init_wait_entry' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='input_alloc_absinfo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='input_allocate_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='input_close_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='input_event' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='input_free_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='input_mt_destroy_slots' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='input_mt_init_slots' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='input_mt_report_slot_state' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='input_open_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='input_register_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='input_register_handle' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='input_register_handler' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='input_set_abs_params' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='input_set_capability' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='input_set_timestamp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='input_unregister_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='irq_dispose_mapping' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='input_unregister_handle' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='input_unregister_handler' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='int_sqrt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='invalidate_mapping_pages' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='iommu_alloc_resv_region' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='iommu_attach_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='iommu_detach_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='iommu_device_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='iommu_dma_get_resv_regions' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='iommu_domain_alloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='iommu_domain_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='iommu_domain_get_attr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='iommu_domain_set_attr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='iommu_fwspec_add_ids' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='iommu_fwspec_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='iommu_fwspec_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='iommu_get_domain_for_dev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='iommu_group_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='iommu_group_get_for_dev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='iommu_group_get_iommudata' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='iommu_group_put' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='iommu_group_ref_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='iommu_group_remove_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='iommu_group_set_iommudata' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='iommu_map' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='iommu_map_sg' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='iommu_present' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='iommu_put_dma_cookie' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='iommu_set_fault_handler' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='iommu_unmap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ioremap_page_range' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='iov_iter_revert' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ip6_dst_lookup_flow' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ip6_xmit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ip_compute_csum' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ip_do_fragment' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ip_getsockopt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ip_route_input_noref' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ip_route_output_flow' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ip_setsockopt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='iput' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ipv6_chk_addr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ipv6_dup_options' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ipv6_ext_hdr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ipv6_getsockopt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ipv6_setsockopt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ipv6_skip_exthdr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_chip_disable_parent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_chip_enable_parent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_chip_eoi_parent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_chip_get_parent_state' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_chip_mask_parent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_chip_retrigger_hierarchy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_chip_set_affinity_parent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_chip_set_parent_state' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_chip_set_type_parent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_chip_set_vcpu_affinity_parent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_chip_set_wake_parent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_chip_unmask_parent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_create_fwspec_mapping' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_create_mapping' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_domain_alloc_irqs_parent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_domain_create_hierarchy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_domain_free_irqs_common' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_domain_free_irqs_top' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_domain_remove' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_domain_set_hwirq_and_chip' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_domain_update_bus_token' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_domain_xlate_onecell' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_domain_xlate_twocell' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_find_mapping' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_find_matching_fwspec' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_get_irq_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_get_irqchip_state' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_modify_status' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_of_parse_and_map' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='irq_set_affinity_hint' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_set_affinity_notifier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_set_chained_handler_and_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_set_chip_and_handler_name' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_set_chip_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_set_irq_type' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='irq_set_irq_wake' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_set_irqchip_state' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_set_parent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='irq_to_desc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='iterate_fd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='jiffies_to_msecs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='jiffies_to_usecs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kasprintf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kern_addr_valid' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kernel_connect' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kernel_getsockname' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kernel_read' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kernel_recvmsg' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kernel_restart' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kernel_sendmsg' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kernel_setsockopt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kernfs_create_link' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kernfs_find_and_get_ns' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kernfs_notify' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kernfs_put' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='kfree' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='kfree_call_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='kfree_skb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='kill_fasync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kick_all_cpus_sync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kill_litter_super' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='kmalloc_order_trace' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='kmem_cache_alloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='kmem_cache_alloc_trace' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='kmem_cache_create' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kmem_cache_create_usercopy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='kmem_cache_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='kmem_cache_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='kmemdup' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kobject_create_and_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='kobject_del' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kobject_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='kobject_init_and_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='kobject_put' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='kobject_uevent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='kobject_uevent_env' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='krealloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kset_create_and_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kset_find_obj' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kset_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ksize' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kstrdup' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kstrndup' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kstrtobool' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kstrtoint' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kstrtoint_from_user' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kstrtoll' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kstrtos8' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kstrtos8_from_user' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kstrtou16' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kstrtou16_from_user' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kstrtou8' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kstrtou8_from_user' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kstrtouint' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kstrtouint_from_user' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='kstrtoull' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kstrtoull_from_user' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kthread_cancel_delayed_work_sync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kthread_cancel_work_sync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='kthread_create_on_node' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='kthread_create_worker' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='kthread_destroy_worker' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kthread_delayed_work_timer_fn' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kthread_flush_work' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kthread_flush_worker' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kthread_mod_delayed_work' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kthread_park' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kthread_parkme' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kthread_queue_delayed_work' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='kthread_queue_work' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kthread_should_park' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='kthread_should_stop' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='kthread_stop' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kthread_unpark' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='kthread_worker_fn' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='ktime_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ktime_get_coarse_real_ts64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ktime_get_raw_ts64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='ktime_get_real_seconds' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ktime_get_real_ts64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='ktime_get_ts64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='ktime_get_with_offset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='kvfree' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -470,26 +1295,75 @@
       <elf-symbol name='led_trigger_event' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='led_trigger_register_simple' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='led_trigger_unregister_simple' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='list_sort' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='llist_add_batch' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='lock_sock_nested' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='lockref_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='log_buf_addr_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='log_buf_len_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='lookup_one_len' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='mac_pton' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='mark_page_accessed' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='mbox_chan_received_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='mbox_chan_txdone' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='mbox_client_txdone' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='mbox_controller_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='mbox_controller_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='mbox_free_channel' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='mbox_request_channel' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='mbox_send_message' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='media_device_cleanup' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='media_device_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='media_device_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='media_entity_pads_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='memblock_end_of_DRAM' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='memblock_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='memchr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='memcmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='memcpy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='memdup_user' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='memmove' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='memparse' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='mempool_alloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='mempool_create' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='mempool_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='mempool_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='mempool_kfree' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='mempool_kmalloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='memremap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='memset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='memzero_explicit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='mipi_dsi_create_packet' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='mipi_dsi_dcs_read' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='mipi_dsi_dcs_set_display_brightness' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='mipi_dsi_dcs_write_buffer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='mipi_dsi_host_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='mipi_dsi_host_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='misc_deregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='misc_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='mmput' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='mod_delayed_work_on' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='mod_node_page_state' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='mod_timer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='module_layout' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='module_put' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='mount_single' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='msleep' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='msleep_interruptible' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='mutex_lock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='mutex_lock_interruptible' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='mutex_trylock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='mutex_unlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='napi_busy_loop' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='napi_complete_done' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='napi_consume_skb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='napi_disable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='napi_gro_flush' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='napi_gro_receive' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='napi_hash_del' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='napi_schedule_prep' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='neigh_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='net_enable_timestamp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='net_ratelimit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='netdev_change_features' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='netdev_err' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -518,108 +1392,372 @@
       <elf-symbol name='netif_stacked_transfer_operstate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='netif_tx_stop_all_queues' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='netif_tx_wake_queue' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='netlink_capable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='netlink_broadcast' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='netlink_kernel_release' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='netlink_net_capable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='netlink_unicast' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='new_inode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='nf_conntrack_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='nf_hook_slow' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='nf_register_net_hooks' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='nf_register_sockopt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='nf_unregister_net_hooks' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='nf_unregister_sockopt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='nla_memcpy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='nla_parse' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='nla_put' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='nla_put_64bit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='nla_reserve' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='nla_reserve_64bit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='nla_strlcpy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='no_llseek' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='nonseekable_open' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='noop_llseek' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='nr_free_buffer_pages' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ns_capable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ns_to_timespec' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ns_to_timespec64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='nsecs_to_jiffies' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='nvdimm_bus_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='nvdimm_bus_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='nvdimm_pmem_region_create' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='nvmem_cell_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='nvmem_cell_put' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='nvmem_cell_read' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='nvmem_cell_read_u32' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='nvmem_device_read' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='nvmem_device_write' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='nvmem_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='nvmem_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='of_address_to_resource' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='of_alias_get_id' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='of_device_is_big_endian' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_clk_add_provider' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_clk_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_clk_get_by_name' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_clk_get_from_provider' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_clk_get_parent_name' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_clk_src_onecell_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_count_phandle_with_args' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_cpufreq_cooling_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_dev_pm_opp_get_cpu_power' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_devfreq_cooling_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_device_get_match_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_device_is_available' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='of_device_is_compatible' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_device_modalias' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_device_uevent_modalias' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_dma_configure' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_dma_controller_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_dma_is_coherent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_drm_find_bridge' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_drm_find_panel' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_fdt_get_ddrtype' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_find_compatible_node' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_find_device_by_node' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_find_i2c_device_by_node' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_find_node_by_name' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_find_node_by_phandle' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_find_node_opts_by_path' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_find_node_with_property' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='of_find_property' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_genpd_add_provider_onecell' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_genpd_add_provider_simple' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_genpd_del_provider' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_get_address' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='of_get_child_by_name' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_get_cpu_node' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_get_named_gpio_flags' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_get_next_available_child' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='of_get_next_child' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_get_parent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='of_get_property' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_get_regulator_init_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_graph_get_next_endpoint' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_graph_get_remote_node' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_graph_get_remote_port_parent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_graph_parse_endpoint' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_hwspin_lock_get_id' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_iomap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_irq_domain_map' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_irq_find_parent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='of_irq_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_irq_get_byname' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='of_led_classdev_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_machine_is_compatible' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='of_match_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_match_node' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_modalias_node' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='of_parse_phandle' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_parse_phandle_with_args' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_parse_phandle_with_fixed_args' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_phandle_iterator_args' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_phandle_iterator_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_phandle_iterator_next' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_phy_simple_xlate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_platform_depopulate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_platform_device_create' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_platform_populate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_prop_next_string' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_prop_next_u32' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_property_count_elems_of_size' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_property_match_string' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_property_read_string' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_property_read_string_helper' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_property_read_u32_index' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='of_property_read_u64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_property_read_variable_u16_array' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='of_property_read_variable_u32_array' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_property_read_variable_u8_array' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_reserved_mem_lookup' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_reset_control_array_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_translate_address' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='of_usb_get_phy_mode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='on_each_cpu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='open_exec' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='panic' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='param_get_bool' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='param_get_int' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='param_get_string' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='param_get_uint' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='param_set_bool' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='param_set_copystring' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='param_set_int' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='passthru_features_check' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='pci_alloc_irq_vectors_affinity' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pci_clear_master' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pci_device_group' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='pci_disable_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='pci_enable_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='pci_find_capability' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='pci_find_ext_capability' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='pci_find_next_capability' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pci_for_each_dma_alias' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='pci_free_irq_vectors' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pci_iomap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='pci_iomap_range' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='pci_irq_get_affinity' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='pci_irq_vector' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='pci_read_config_byte' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='pci_read_config_dword' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pci_read_config_word' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pci_release_region' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pci_release_regions' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='pci_release_selected_regions' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pci_request_acs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pci_request_region' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pci_request_regions' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='pci_request_selected_regions' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='pci_set_master' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='pci_unregister_driver' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pci_write_config_dword' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pci_write_config_word' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pcim_enable_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='per_cpu_ptr_to_phys' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='percpu_counter_add_batch' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='percpu_counter_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='perf_event_create_kernel_counter' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='perf_event_enable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='perf_event_read_value' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='perf_event_release_kernel' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='perf_pmu_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='perf_trace_buf_alloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='perf_trace_run_bpf_submit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='pipe_lock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='pipe_unlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pfn_valid' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='phy_create_lookup' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='phy_exit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='phy_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='phy_pm_runtime_get_sync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='phy_pm_runtime_put_sync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='phy_power_off' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='phy_power_on' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='phy_remove_lookup' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='phy_set_mode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pinconf_generic_dt_node_to_map' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pinctrl_dev_get_drvdata' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pinctrl_lookup_state' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pinctrl_pm_select_default_state' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pinctrl_pm_select_sleep_state' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pinctrl_select_state' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pinctrl_utils_free_map' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='platform_device_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='platform_device_add_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='platform_device_add_properties' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='platform_device_add_resources' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='platform_device_alloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='platform_device_del' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='platform_device_put' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='platform_device_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='platform_device_register_full' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='platform_device_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='platform_driver_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='platform_get_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='platform_get_irq_byname' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='platform_get_resource' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='platform_get_resource_byname' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='platform_irq_count' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='plist_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='plist_del' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='pm_generic_resume' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='pm_generic_runtime_resume' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='pm_generic_runtime_suspend' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='pm_generic_suspend' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pm_genpd_add_subdomain' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pm_genpd_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pm_genpd_remove' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pm_genpd_remove_subdomain' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pm_qos_add_request' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pm_qos_remove_request' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pm_qos_request_active' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pm_qos_update_request' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pm_qos_update_request_timeout' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pm_relax' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pm_runtime_allow' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pm_runtime_barrier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='pm_runtime_enable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pm_runtime_forbid' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pm_runtime_no_callbacks' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='pm_runtime_set_autosuspend_delay' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pm_stay_awake' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pm_system_wakeup' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='pm_wakeup_dev_event' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pm_wakeup_ws_event' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='power_supply_changed' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='power_supply_get_by_name' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='power_supply_get_drvdata' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='power_supply_get_property' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='power_supply_put' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='power_supply_reg_notifier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='power_supply_set_property' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='power_supply_unreg_notifier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='prandom_u32' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='preempt_count_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='preempt_count_sub' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='preempt_schedule' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='preempt_schedule_notrace' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='prepare_binprm' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='prepare_to_wait' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='prepare_to_wait_event' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='prepare_to_wait_exclusive' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='print_hex_dump' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='print_stack_trace' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='printk' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='proc_create' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='proc_create_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='proc_create_net_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='proc_create_net_single' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='proc_dointvec' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='proc_dointvec_minmax' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='proc_dostring' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='proc_doulongvec_minmax' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='proc_mkdir' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='proc_mkdir_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='proto_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='proto_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pskb_expand_head' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pskb_trim_rcsum_slow' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='put_cmsg' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='put_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='put_disk' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='put_pid' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='put_unused_fd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pwmchip_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='pwmchip_remove' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='qdisc_reset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='queue_delayed_work_on' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='queue_work_on' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='rational_best_approximation' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='raw_notifier_call_chain' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='raw_notifier_chain_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='raw_notifier_chain_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='rb_erase' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='rb_first' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='rb_insert_color' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='rb_last' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='rb_next' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='rb_prev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='rcu_barrier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='rdev_get_drvdata' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='rdev_get_id' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='refcount_add_checked' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='refcount_add_not_zero_checked' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='refcount_dec_and_lock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='refcount_dec_and_test_checked' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='refcount_dec_checked' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='refcount_inc_checked' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='refcount_inc_not_zero_checked' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='refcount_sub_and_test_checked' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regcache_cache_only' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regcache_drop_region' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regcache_mark_dirty' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regcache_sync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regcache_sync_region' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='register_blkdev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='register_chrdev_region' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='register_die_notifier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='register_filesystem' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='register_inet6addr_notifier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='register_inetaddr_notifier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='register_net_sysctl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='register_netdev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='register_netdevice' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='register_netdevice_notifier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='register_netevent_notifier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='register_pernet_subsys' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='register_pm_notifier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='register_restart_handler' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='register_shrinker' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='register_syscore_ops' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='register_sysctl_table' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regmap_async_complete' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regmap_bulk_read' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regmap_bulk_write' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regmap_field_read' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regmap_field_update_bits_base' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regmap_irq_get_virq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regmap_multi_reg_write' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regmap_multi_reg_write_bypassed' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regmap_raw_read' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regmap_raw_write' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regmap_raw_write_async' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regmap_read' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regmap_register_patch' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regmap_update_bits_base' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regmap_write' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regulator_bulk_disable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regulator_bulk_enable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='regulator_count_voltages' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='regulator_disable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regulator_disable_deferred' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regulator_disable_regmap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='regulator_enable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='regulator_get_current_limit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='regulator_get_voltage' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='regulator_is_supported_voltage' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='regulator_list_voltage' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regulator_enable_regmap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regulator_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regulator_get_drvdata' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regulator_get_mode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regulator_get_optional' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regulator_get_voltage_sel_regmap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regulator_is_enabled' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regulator_is_enabled_regmap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regulator_list_voltage_linear' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regulator_map_voltage_linear' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regulator_notifier_call_chain' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regulator_put' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regulator_register_notifier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regulator_set_current_limit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regulator_set_load' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regulator_set_mode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='regulator_set_voltage' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regulator_set_voltage_sel_regmap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regulator_unregister_notifier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='regulatory_set_wiphy_regd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='release_firmware' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='release_sock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='remap_pfn_range' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='remove_arg_zero' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='remove_conflicting_framebuffers' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='remove_proc_entry' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='remove_proc_subtree' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='remove_wait_queue' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='report_iommu_fault' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='request_firmware' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='request_firmware_into_buf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='request_firmware_nowait' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='request_threaded_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='reservation_object_add_excl_fence' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='reservation_object_add_shared_fence' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -629,37 +1767,85 @@
       <elf-symbol name='reservation_object_wait_timeout_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='reset_control_assert' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='reset_control_deassert' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='reset_control_put' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='reset_control_reset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='revalidate_disk' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='round_jiffies' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='rfkill_alloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='rfkill_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='rfkill_init_sw_state' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='rfkill_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='rfkill_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='rhashtable_free_and_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='rhashtable_insert_slow' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='rhashtable_walk_enter' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='rhashtable_walk_exit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='rhashtable_walk_next' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='rhashtable_walk_start_check' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='rhashtable_walk_stop' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='rhltable_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='rht_bucket_nested' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='rht_bucket_nested_insert' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='rt_mutex_lock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='rt_mutex_unlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='rtc_class_close' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='rtc_class_open' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='rtc_read_time' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='rtc_time64_to_tm' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='rtc_tm_to_time64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='rtc_update_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='rtc_valid_tm' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='rtnl_is_locked' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='rtnl_link_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='rtnl_link_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='rtnl_lock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='rtnl_register_module' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='rtnl_trylock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='rtnl_unlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='rtnl_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='rtnl_unregister_all' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='s2idle_set_ops' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='save_stack_trace_tsk' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='scatterwalk_ffwd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='scatterwalk_map_and_copy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='sched_clock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='sched_setaffinity' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='sched_setattr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='sched_setscheduler' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='schedule' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='schedule_timeout' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='schedule_timeout_interruptible' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='schedule_timeout_uninterruptible' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='scnprintf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='search_binary_handler' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='security_inet_conn_established' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='security_mmap_addr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='security_sctp_assoc_request' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='security_sctp_bind_connect' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='security_sctp_sk_clone' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='security_sock_graft' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='send_sig' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='send_sig_info' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='seq_hex_dump' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='seq_lseek' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='seq_open' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='seq_printf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='seq_putc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='seq_puts' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='seq_read' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='serial8250_get_port' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='serial8250_register_8250_port' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='serial8250_resume_port' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='serial8250_suspend_port' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='serial8250_unregister_port' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='seq_release' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='seq_vprintf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='seq_write' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='serdev_device_close' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='serdev_device_open' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='serdev_device_set_baudrate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='serdev_device_set_flow_control' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='serdev_device_wait_until_sent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='serdev_device_write' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='serdev_device_write_wakeup' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='set_cpus_allowed_ptr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='set_disk_ro' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='set_memory_valid' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='set_normalized_timespec' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='set_page_dirty' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='set_page_dirty_lock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='set_user_nice' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='sg_alloc_table' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='sg_alloc_table_from_pages' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='sg_copy_from_buffer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -675,77 +1861,277 @@
       <elf-symbol name='sg_next' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='shmem_file_setup' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='shmem_read_mapping_page_gfp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='shmem_truncate_range' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='si_mem_available' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='si_meminfo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='sigprocmask' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='simple_attr_open' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='simple_attr_read' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='simple_attr_release' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='simple_attr_write' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='simple_fill_super' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='simple_open' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='simple_pin_fs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='simple_read_from_buffer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='simple_release_fs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='simple_statfs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='simple_strtoul' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='simple_strtoull' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='simple_write_to_buffer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='single_open' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='single_release' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='sk_alloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='sk_busy_loop_end' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='sk_common_release' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='sk_filter_trim_cap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='sk_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='sk_setup_caps' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='skb_add_rx_frag' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='skb_append_pagefrags' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='skb_checksum' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='skb_clone' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='skb_coalesce_rx_frag' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='skb_copy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='skb_copy_bits' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='skb_copy_datagram_iter' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='skb_copy_expand' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='skb_dequeue' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='skb_free_datagram' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='skb_page_frag_refill' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='skb_partial_csum_set' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='skb_pull' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='skb_pull_rcsum' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='skb_push' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='skb_put' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='skb_queue_head' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='skb_queue_purge' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='skb_queue_tail' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='skb_recv_datagram' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='skb_segment' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='skb_set_owner_w' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='skb_to_sgvec' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='skb_trim' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='skb_tstamp_tx' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='skip_spaces' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='smp_call_function_single' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_card_disconnect' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_card_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_card_new' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_card_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_component_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_ctl_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_ctl_boolean_mono_info' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_ctl_enum_info' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_ctl_find_id' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_ctl_make_virtual_master' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_ctl_new1' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_ctl_notify' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_ctl_remove' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_ctl_remove_id' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_device_new' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_dma_alloc_pages' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_dma_free_pages' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_hwdep_new' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_info_create_card_entry' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_info_free_entry' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_info_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_interval_refine' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_jack_set_key' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_pci_quirk_lookup' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_pcm_add_chmap_ctls' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_pcm_format_physical_width' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_pcm_format_width' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_pcm_hw_constraint_integer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_pcm_hw_constraint_list' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_pcm_hw_constraint_minmax' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_pcm_hw_constraint_msbits' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_pcm_hw_constraint_step' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_pcm_hw_rule_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_pcm_lib_free_pages' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_pcm_lib_free_vmalloc_buffer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_pcm_lib_get_vmalloc_page' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_pcm_lib_ioctl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_pcm_lib_malloc_pages' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_pcm_lib_preallocate_pages_for_all' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_pcm_limit_hw_rates' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_pcm_new' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_pcm_period_elapsed' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_pcm_set_ops' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_pcm_stop' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_pcm_suspend_all' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_power_wait' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_add_component_controls' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_bytes_info_ext' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_bytes_tlv_callback' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_card_get_kcontrol' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_card_jack_new' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_component_disable_pin' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_component_force_enable_pin' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_component_init_regmap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_component_read32' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_component_set_sysclk' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_component_update_bits' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_component_write' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_dai_get_channel_map' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_dai_set_channel_map' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_dai_set_fmt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_dai_set_pll' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_dai_set_sysclk' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_dai_set_tdm_slot' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_dapm_add_routes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_dapm_get_enum_double' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_dapm_get_volsw' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_dapm_ignore_suspend' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_dapm_kcontrol_widget' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_dapm_mixer_update_power' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_dapm_mux_update_power' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_dapm_new_controls' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_dapm_new_widgets' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_dapm_put_enum_double' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_dapm_put_volsw' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_dapm_sync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_get_enum_double' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_get_volsw' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_get_volsw_range' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_get_volsw_sx' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_info_enum_double' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_info_volsw' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_info_volsw_range' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_info_volsw_sx' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_jack_report' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_of_get_dai_link_codecs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_of_parse_audio_routing' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_of_parse_card_name' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_params_to_frame_size' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_put_enum_double' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_put_volsw' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_put_volsw_range' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_put_volsw_sx' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_register_component' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_rtdcom_lookup' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_set_runtime_hwparams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_unregister_card' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_soc_unregister_component' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_timer_interrupt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snd_usb_find_csint_desc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='snmp_get_cpu_field' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='snprintf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='sock_alloc_send_skb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='sock_alloc_file' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='sock_common_getsockopt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='sock_common_setsockopt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='sock_create' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='sock_diag_check_cookie' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='sock_diag_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='sock_diag_save_cookie' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='sock_diag_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='sock_efree' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='sock_get_timestamp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='sock_i_ino' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='sock_i_uid' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='sock_init_data' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='sock_kmalloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='sock_no_accept' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='sock_no_bind' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='sock_no_connect' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='sock_no_getname' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='sock_no_getsockopt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='sock_no_ioctl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='sock_no_listen' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='sock_no_mmap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='sock_no_sendpage' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='sock_no_setsockopt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='sock_no_shutdown' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='sock_no_socketpair' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='sock_prot_inuse_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='sock_queue_rcv_skb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='sock_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='sock_release' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='sock_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='sock_wake_async' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='sock_wfree' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='sort' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='spi_bus_lock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='spi_bus_unlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='spi_register_controller' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='spi_setup' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='spi_sync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='spi_sync_locked' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='spi_unregister_controller' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='split_page' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='spmi_controller_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='spmi_controller_alloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='spmi_controller_remove' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='spmi_ext_register_read' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='spmi_ext_register_readl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='spmi_ext_register_write' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='spmi_ext_register_writel' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='spmi_register_read' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='spmi_register_write' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='spmi_register_zero_write' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='sprint_symbol' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='sprintf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='srcu_init_notifier_head' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='srcu_notifier_call_chain' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='srcu_notifier_chain_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='srcu_notifier_chain_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='sscanf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='strcasecmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='strcat' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='strchrnul' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='strcpy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='strcspn' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='strim' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='string_get_size' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='string_unescape' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='strlcat' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='strlcpy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='strlen' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='strncasecmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='strncat' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='strnchr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='strncmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='strncpy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='strncpy_from_user' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='strnlen' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='strnstr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='strpbrk' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='strrchr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='strreplace' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='strscpy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='strsep' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='strstr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='swiotlb_max_segment' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='submit_bio' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='suspend_set_ops' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='suspend_valid_only_mem' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='sync_file_create' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='sync_file_get_fence' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='synchronize_hardirq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='synchronize_irq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='synchronize_net' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='synchronize_rcu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='syscon_node_to_regmap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='syscon_regmap_lookup_by_phandle' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='sysfs_create_bin_file' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='sysfs_create_file_ns' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='sysfs_create_files' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='sysfs_create_group' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='sysfs_create_groups' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='sysfs_create_link' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='sysfs_notify' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='sysfs_remove_bin_file' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='sysfs_remove_file_ns' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='sysfs_remove_files' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='sysfs_remove_group' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='sysfs_remove_groups' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='sysfs_remove_link' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='sysfs_streq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='tasklet_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='tasklet_kill' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='thermal_cdev_update' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='thermal_cooling_device_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='thermal_of_cooling_device_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='thermal_zone_device_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='thermal_zone_device_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='thermal_zone_device_update' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='thermal_zone_get_temp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='thermal_zone_get_zone_by_name' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='thermal_zone_of_sensor_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='thermal_zone_of_sensor_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='tick_broadcast_oneshot_control' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='tick_nohz_get_sleep_length' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='time64_to_tm' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='timespec64_to_jiffies' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='trace_define_field' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='trace_event_buffer_commit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='trace_event_buffer_reserve' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -753,31 +2139,118 @@
       <elf-symbol name='trace_event_raw_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='trace_event_reg' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='trace_handle_return' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='trace_print_array_seq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='trace_print_flags_seq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='trace_print_hex_seq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='trace_print_symbols_seq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='trace_raw_output_prep' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='trace_seq_printf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='tracing_off' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='try_module_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
-      <elf-symbol name='unlock_page' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='try_to_del_timer_sync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='try_wait_for_completion' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='tty_flip_buffer_push' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='typec_altmode_attention' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='typec_altmode_notify' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='typec_altmode_update_active' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='typec_altmode_vdm' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='typec_find_port_data_role' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='typec_find_port_power_role' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='typec_find_power_role' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='typec_match_altmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='typec_partner_register_altmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='typec_partner_set_identity' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='typec_port_register_altmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='typec_register_partner' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='typec_register_port' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='typec_set_data_role' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='typec_set_mode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='typec_set_orientation' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='typec_set_pwr_opmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='typec_set_pwr_role' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='typec_set_vconn_role' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='typec_unregister_altmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='typec_unregister_partner' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='typec_unregister_port' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='uart_add_one_port' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='uart_insert_char' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='uart_register_driver' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='uart_remove_one_port' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='uart_unregister_driver' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ufshcd_dme_get_attr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ufshcd_dme_set_attr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ufshcd_get_local_unipro_ver' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ufshcd_hold' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ufshcd_pltfrm_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ufshcd_pltfrm_resume' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ufshcd_pltfrm_runtime_idle' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ufshcd_pltfrm_runtime_resume' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ufshcd_pltfrm_runtime_suspend' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ufshcd_pltfrm_shutdown' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ufshcd_pltfrm_suspend' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ufshcd_release' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='ufshcd_remove' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='uio_unregister_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='unmap_kernel_range' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='unmap_mapping_range' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='unmapped_area_topdown' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='unregister_binfmt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='unregister_blkdev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='unregister_chrdev_region' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='unregister_filesystem' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='unregister_inet6addr_notifier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='unregister_inetaddr_notifier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='unregister_net_sysctl_table' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='unregister_netdev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='unregister_netdevice_many' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='unregister_netdevice_notifier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='unregister_netdevice_queue' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='unregister_netevent_notifier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='unregister_pernet_subsys' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='unregister_pm_notifier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='unregister_restart_handler' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='unregister_shrinker' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='unregister_syscore_ops' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='unregister_sysctl_table' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='up' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='up_read' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='up_write' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='update_devfreq' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='usb_add_gadget_udc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='usb_add_hcd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='usb_alloc_coherent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='usb_assign_descriptors' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='usb_composite_setup_continue' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='usb_create_hcd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='usb_create_shared_hcd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='usb_del_gadget_udc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='usb_disabled' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='usb_ep_alloc_request' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='usb_ep_autoconfig' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='usb_ep_autoconfig_ss' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='usb_ep_dequeue' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='usb_ep_disable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='usb_ep_enable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='usb_ep_free_request' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='usb_ep_queue' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='usb_ep_set_halt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='usb_ep_set_maxpacket_limit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='usb_free_all_descriptors' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='usb_free_coherent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='usb_function_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='usb_function_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='usb_gadget_giveback_request' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='usb_gadget_map_request_by_dev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='usb_gadget_set_state' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='usb_gadget_udc_reset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='usb_gadget_unmap_request_by_dev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='usb_gadget_vbus_connect' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='usb_gadget_vbus_disconnect' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='usb_gadget_vbus_draw' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='usb_gadget_wakeup' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='usb_get_dev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='usb_get_dr_mode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='usb_get_maximum_speed' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='usb_hcd_check_unlink_urb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='usb_hcd_giveback_urb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='usb_hcd_is_primary_hcd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -785,25 +2258,89 @@
       <elf-symbol name='usb_hcd_poll_rh_status' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='usb_hcd_resume_root_hub' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='usb_hcd_unlink_urb_from_ep' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='usb_ifnum_to_if' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='usb_interface_id' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='usb_put_dev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='usb_put_function_instance' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='usb_put_hcd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='usb_register_notify' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='usb_remove_hcd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='usb_speed_string' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='usb_string_id' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='usb_unregister_notify' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='usleep_range' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='v4l2_ctrl_find' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='v4l2_ctrl_get_name' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='v4l2_ctrl_handler_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='v4l2_ctrl_handler_init_class' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='v4l2_ctrl_new_custom' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='v4l2_ctrl_new_std' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='v4l2_ctrl_new_std_menu' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='v4l2_device_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='v4l2_device_register_subdev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='v4l2_device_register_subdev_nodes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='v4l2_device_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='v4l2_device_unregister_subdev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='v4l2_event_dequeue' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='v4l2_event_pending' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='v4l2_event_queue' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='v4l2_event_queue_fh' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='v4l2_event_subscribe' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='v4l2_event_unsubscribe' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='v4l2_fh_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='v4l2_fh_del' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='v4l2_fh_exit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='v4l2_fh_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='v4l2_fh_open' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='v4l2_fh_release' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='v4l2_s_ctrl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='v4l2_subdev_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='vfree' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='vfs_read' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='vfs_statx' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='video_devdata' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='video_device_alloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='video_device_release' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='video_device_release_empty' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='video_ioctl2' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='video_unregister_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='video_usercopy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='vm_get_page_prot' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='vm_insert_mixed' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='vm_insert_page' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='vm_insert_pfn' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='vm_iomap_memory' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='vm_map_ram' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='vm_mmap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='vm_munmap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='vm_unmap_ram' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='vmalloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='vmalloc_to_page' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='vmap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='vprintk' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='vscnprintf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='vsnprintf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='vunmap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='vzalloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='wait_for_completion' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='wait_for_completion_interruptible' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='wait_for_completion_interruptible_timeout' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='wait_for_completion_killable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='wait_for_completion_timeout' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='wait_woken' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='wake_up_process' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='wakeup_source_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='wakeup_source_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='wakeup_source_remove' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='wakeup_source_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='wiphy_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='wiphy_new_nm' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='wiphy_register' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='wiphy_unregister' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='wireless_send_event' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='woken_wake_function' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='work_busy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='would_dump' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='ww_mutex_lock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='ww_mutex_lock_interruptible' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='ww_mutex_unlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
@@ -814,469 +2351,63784 @@
       <elf-symbol name='xdp_rxq_info_reg' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='xdp_rxq_info_reg_mem_model' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
       <elf-symbol name='xdp_rxq_info_unreg' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='xt_check_match' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='xt_check_target' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='xt_compat_add_offset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='xt_compat_calc_jump' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='xt_compat_flush_offsets' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='xt_compat_init_offsets' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='xt_compat_lock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='xt_compat_match_offset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='xt_compat_target_offset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='xt_compat_unlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='xt_data_to_user' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='xt_find_match' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='xt_register_target' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='xt_request_find_match' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='xt_request_find_target' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='xt_unregister_target' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+      <elf-symbol name='zone_watermark_ok_safe' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
     </elf-function-symbols>
-    <abi-instr version='1.0' address-size='64' path='drivers/firmware/efi/libstub/string.c' language='LANG_C89'>
-      <type-decl name='char' size-in-bits='8' id='type-id-1'/>
-      <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-2'/>
-      <qualified-type-def type-id='type-id-1' const='yes' id='type-id-3'/>
-      <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-4'/>
-      <function-decl name='strstr' mangled-name='strstr' filepath='drivers/firmware/efi/libstub/string.c' line='18' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strstr'>
-        <parameter type-id='type-id-4' name='s1' filepath='drivers/firmware/efi/libstub/string.c' line='18' column='1'/>
-        <parameter type-id='type-id-4' name='s2' filepath='drivers/firmware/efi/libstub/string.c' line='18' column='1'/>
-        <return type-id='type-id-2'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='lib/smp_processor_id.c' language='LANG_C89'>
-      <function-decl name='debug_smp_processor_id' mangled-name='debug_smp_processor_id' filepath='lib/smp_processor_id.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='debug_smp_processor_id'>
-        <return type-id='type-id-5'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/trace/trace.c' language='LANG_C89'>
-      <class-decl name='prog_entry' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-6'/>
-      <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='infinite' id='type-id-8'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
+    <abi-instr version='1.0' address-size='64' path='arch/arm64/crypto/aes-ce-glue.c' language='LANG_C89'>
+      <class-decl name='crypto_type' size-in-bits='576' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1'/>
+      <class-decl name='skcipher_givcrypt_request' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-2'/>
+      <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='infinite' id='type-id-4'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
 
       </array-type-def>
-      <class-decl name='trace_event_buffer' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/trace_events.h' line='206' column='1' id='type-id-11'>
+      <class-decl name='crypto_alg' size-in-bits='4096' is-struct='yes' visibility='default' filepath='include/linux/crypto.h' line='461' column='1' id='type-id-7'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='buffer' type-id='type-id-12' visibility='default' filepath='include/linux/trace_events.h' line='207' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='event' type-id='type-id-13' visibility='default' filepath='include/linux/trace_events.h' line='208' column='1'/>
+          <var-decl name='cra_list' type-id='type-id-8' visibility='default' filepath='include/linux/crypto.h' line='462' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='trace_file' type-id='type-id-14' visibility='default' filepath='include/linux/trace_events.h' line='209' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='entry' type-id='type-id-15' visibility='default' filepath='include/linux/trace_events.h' line='210' column='1'/>
+          <var-decl name='cra_users' type-id='type-id-8' visibility='default' filepath='include/linux/crypto.h' line='463' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='include/linux/trace_events.h' line='211' column='1'/>
+          <var-decl name='cra_flags' type-id='type-id-9' visibility='default' filepath='include/linux/crypto.h' line='465' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='cra_blocksize' type-id='type-id-10' visibility='default' filepath='include/linux/crypto.h' line='466' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='pc' type-id='type-id-17' visibility='default' filepath='include/linux/trace_events.h' line='212' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ring_buffer_event' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/linux/ring_buffer.h' line='15' column='1' id='type-id-18'>
-        <data-member access='public' layout-offset-in-bits='27'>
-          <var-decl name='type_len' type-id='type-id-7' visibility='default' filepath='include/linux/ring_buffer.h' line='16' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='time_delta' type-id='type-id-7' visibility='default' filepath='include/linux/ring_buffer.h' line='16' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='array' type-id='type-id-8' visibility='default' filepath='include/linux/ring_buffer.h' line='18' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='trace_event_file' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/linux/trace_events.h' line='366' column='1' id='type-id-19'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/trace_events.h' line='367' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='event_call' type-id='type-id-21' visibility='default' filepath='include/linux/trace_events.h' line='368' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='filter' type-id='type-id-22' visibility='default' filepath='include/linux/trace_events.h' line='369' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='dir' type-id='type-id-23' visibility='default' filepath='include/linux/trace_events.h' line='370' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='tr' type-id='type-id-24' visibility='default' filepath='include/linux/trace_events.h' line='371' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='system' type-id='type-id-25' visibility='default' filepath='include/linux/trace_events.h' line='372' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='triggers' type-id='type-id-20' visibility='default' filepath='include/linux/trace_events.h' line='373' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='include/linux/trace_events.h' line='391' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='sm_ref' type-id='type-id-26' visibility='default' filepath='include/linux/trace_events.h' line='392' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='672'>
-          <var-decl name='tm_ref' type-id='type-id-26' visibility='default' filepath='include/linux/trace_events.h' line='393' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='vfsmount' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/mount.h' line='67' column='1' id='type-id-27'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mnt_root' type-id='type-id-23' visibility='default' filepath='include/linux/mount.h' line='68' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='mnt_sb' type-id='type-id-28' visibility='default' filepath='include/linux/mount.h' line='69' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='mnt_flags' type-id='type-id-17' visibility='default' filepath='include/linux/mount.h' line='70' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='data' type-id='type-id-15' visibility='default' filepath='include/linux/mount.h' line='71' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='trace_array' size-in-bits='2112' is-struct='yes' visibility='default' filepath='kernel/trace/trace.h' line='202' column='1' id='type-id-29'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='kernel/trace/trace.h' line='203' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='name' type-id='type-id-2' visibility='default' filepath='kernel/trace/trace.h' line='204' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='trace_buffer' type-id='type-id-30' visibility='default' filepath='kernel/trace/trace.h' line='205' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='filtered_pids' type-id='type-id-31' visibility='default' filepath='kernel/trace/trace.h' line='224' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='max_lock' type-id='type-id-32' visibility='default' filepath='kernel/trace/trace.h' line='238' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='buffer_disabled' type-id='type-id-17' visibility='default' filepath='kernel/trace/trace.h' line='239' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='stop_count' type-id='type-id-17' visibility='default' filepath='kernel/trace/trace.h' line='246' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='672'>
-          <var-decl name='clock_id' type-id='type-id-17' visibility='default' filepath='kernel/trace/trace.h' line='247' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='nr_topts' type-id='type-id-17' visibility='default' filepath='kernel/trace/trace.h' line='248' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='736'>
-          <var-decl name='clear_trace' type-id='type-id-33' visibility='default' filepath='kernel/trace/trace.h' line='249' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='current_trace' type-id='type-id-34' visibility='default' filepath='kernel/trace/trace.h' line='250' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='trace_flags' type-id='type-id-5' visibility='default' filepath='kernel/trace/trace.h' line='251' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='864'>
-          <var-decl name='trace_flags_index' type-id='type-id-35' visibility='default' filepath='kernel/trace/trace.h' line='252' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1120'>
-          <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='kernel/trace/trace.h' line='253' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='start_lock' type-id='type-id-36' visibility='default' filepath='kernel/trace/trace.h' line='254' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='dir' type-id='type-id-23' visibility='default' filepath='kernel/trace/trace.h' line='255' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='options' type-id='type-id-23' visibility='default' filepath='kernel/trace/trace.h' line='256' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='percpu_dir' type-id='type-id-23' visibility='default' filepath='kernel/trace/trace.h' line='257' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='event_dir' type-id='type-id-23' visibility='default' filepath='kernel/trace/trace.h' line='258' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='topts' type-id='type-id-37' visibility='default' filepath='kernel/trace/trace.h' line='259' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='systems' type-id='type-id-20' visibility='default' filepath='kernel/trace/trace.h' line='260' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='events' type-id='type-id-20' visibility='default' filepath='kernel/trace/trace.h' line='261' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='trace_marker_file' type-id='type-id-14' visibility='default' filepath='kernel/trace/trace.h' line='262' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='tracing_cpumask' type-id='type-id-38' visibility='default' filepath='kernel/trace/trace.h' line='263' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='ref' type-id='type-id-17' visibility='default' filepath='kernel/trace/trace.h' line='264' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1952'>
-          <var-decl name='time_stamp_abs_ref' type-id='type-id-17' visibility='default' filepath='kernel/trace/trace.h' line='277' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='hist_vars' type-id='type-id-20' visibility='default' filepath='kernel/trace/trace.h' line='278' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='trace_array_cpu' size-in-bits='1024' is-struct='yes' visibility='default' filepath='kernel/trace/trace.h' line='150' column='1' id='type-id-39'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='disabled' type-id='type-id-26' visibility='default' filepath='kernel/trace/trace.h' line='151' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='buffer_page' type-id='type-id-15' visibility='default' filepath='kernel/trace/trace.h' line='152' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='entries' type-id='type-id-16' visibility='default' filepath='kernel/trace/trace.h' line='154' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='saved_latency' type-id='type-id-16' visibility='default' filepath='kernel/trace/trace.h' line='155' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='critical_start' type-id='type-id-16' visibility='default' filepath='kernel/trace/trace.h' line='156' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='critical_end' type-id='type-id-16' visibility='default' filepath='kernel/trace/trace.h' line='157' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='critical_sequence' type-id='type-id-16' visibility='default' filepath='kernel/trace/trace.h' line='158' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='nice' type-id='type-id-16' visibility='default' filepath='kernel/trace/trace.h' line='159' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='policy' type-id='type-id-16' visibility='default' filepath='kernel/trace/trace.h' line='160' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='rt_priority' type-id='type-id-16' visibility='default' filepath='kernel/trace/trace.h' line='161' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='skipped_entries' type-id='type-id-16' visibility='default' filepath='kernel/trace/trace.h' line='162' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='preempt_timestamp' type-id='type-id-40' visibility='default' filepath='kernel/trace/trace.h' line='163' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='pid' type-id='type-id-41' visibility='default' filepath='kernel/trace/trace.h' line='164' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='800'>
-          <var-decl name='uid' type-id='type-id-42' visibility='default' filepath='kernel/trace/trace.h' line='165' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='comm' type-id='type-id-43' visibility='default' filepath='kernel/trace/trace.h' line='166' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='ignore_pid' type-id='type-id-33' visibility='default' filepath='kernel/trace/trace.h' line='168' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='trace_pid_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='kernel/trace/trace.h' line='192' column='1' id='type-id-44'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='pid_max' type-id='type-id-17' visibility='default' filepath='kernel/trace/trace.h' line='193' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='pids' type-id='type-id-45' visibility='default' filepath='kernel/trace/trace.h' line='194' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='tracer_flags' size-in-bits='192' is-struct='yes' visibility='default' filepath='kernel/trace/trace.h' line='378' column='1' id='type-id-46'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='val' type-id='type-id-7' visibility='default' filepath='kernel/trace/trace.h' line='379' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='opts' type-id='type-id-47' visibility='default' filepath='kernel/trace/trace.h' line='380' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='trace' type-id='type-id-34' visibility='default' filepath='kernel/trace/trace.h' line='381' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='tracer_opt' size-in-bits='128' is-struct='yes' visibility='default' filepath='kernel/trace/trace.h' line='369' column='1' id='type-id-48'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='kernel/trace/trace.h' line='370' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='bit' type-id='type-id-7' visibility='default' filepath='kernel/trace/trace.h' line='371' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='trace_options' size-in-bits='128' is-struct='yes' visibility='default' filepath='kernel/trace/trace.h' line='187' column='1' id='type-id-49'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='tracer' type-id='type-id-34' visibility='default' filepath='kernel/trace/trace.h' line='188' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='topts' type-id='type-id-50' visibility='default' filepath='kernel/trace/trace.h' line='189' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='trace_option_dentry' size-in-bits='256' is-struct='yes' visibility='default' filepath='kernel/trace/trace.h' line='388' column='1' id='type-id-51'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='opt' type-id='type-id-47' visibility='default' filepath='kernel/trace/trace.h' line='389' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='flags' type-id='type-id-52' visibility='default' filepath='kernel/trace/trace.h' line='390' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='tr' type-id='type-id-24' visibility='default' filepath='kernel/trace/trace.h' line='391' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='entry' type-id='type-id-23' visibility='default' filepath='kernel/trace/trace.h' line='392' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='trace_subsystem_dir' size-in-bits='384' is-struct='yes' visibility='default' filepath='kernel/trace/trace.h' line='1282' column='1' id='type-id-53'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='kernel/trace/trace.h' line='1283' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='subsystem' type-id='type-id-54' visibility='default' filepath='kernel/trace/trace.h' line='1284' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='tr' type-id='type-id-24' visibility='default' filepath='kernel/trace/trace.h' line='1285' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='entry' type-id='type-id-23' visibility='default' filepath='kernel/trace/trace.h' line='1286' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='ref_count' type-id='type-id-17' visibility='default' filepath='kernel/trace/trace.h' line='1287' column='1'/>
+          <var-decl name='cra_ctxsize' type-id='type-id-10' visibility='default' filepath='include/linux/crypto.h' line='467' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='nr_events' type-id='type-id-17' visibility='default' filepath='kernel/trace/trace.h' line='1288' column='1'/>
+          <var-decl name='cra_alignmask' type-id='type-id-10' visibility='default' filepath='include/linux/crypto.h' line='468' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='cra_priority' type-id='type-id-11' visibility='default' filepath='include/linux/crypto.h' line='470' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='cra_refcnt' type-id='type-id-12' visibility='default' filepath='include/linux/crypto.h' line='471' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='cra_name' type-id='type-id-13' visibility='default' filepath='include/linux/crypto.h' line='473' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='cra_driver_name' type-id='type-id-13' visibility='default' filepath='include/linux/crypto.h' line='474' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='cra_type' type-id='type-id-14' visibility='default' filepath='include/linux/crypto.h' line='476' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='cra_u' type-id='type-id-15' visibility='default' filepath='include/linux/crypto.h' line='483' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3072'>
+          <var-decl name='cra_init' type-id='type-id-16' visibility='default' filepath='include/linux/crypto.h' line='485' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3136'>
+          <var-decl name='cra_exit' type-id='type-id-17' visibility='default' filepath='include/linux/crypto.h' line='486' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3200'>
+          <var-decl name='cra_destroy' type-id='type-id-18' visibility='default' filepath='include/linux/crypto.h' line='487' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3264'>
+          <var-decl name='cra_module' type-id='type-id-19' visibility='default' filepath='include/linux/crypto.h' line='489' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='event_subsystem' size-in-bits='320' is-struct='yes' visibility='default' filepath='kernel/trace/trace.h' line='1275' column='1' id='type-id-55'>
+      <class-decl name='ablkcipher_alg' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/crypto.h' line='265' column='1' id='type-id-20'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='kernel/trace/trace.h' line='1276' column='1'/>
+          <var-decl name='setkey' type-id='type-id-21' visibility='default' filepath='include/linux/crypto.h' line='266' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='encrypt' type-id='type-id-22' visibility='default' filepath='include/linux/crypto.h' line='268' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='kernel/trace/trace.h' line='1277' column='1'/>
+          <var-decl name='decrypt' type-id='type-id-22' visibility='default' filepath='include/linux/crypto.h' line='269' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='filter' type-id='type-id-22' visibility='default' filepath='kernel/trace/trace.h' line='1278' column='1'/>
+          <var-decl name='givencrypt' type-id='type-id-23' visibility='default' filepath='include/linux/crypto.h' line='270' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='ref_count' type-id='type-id-17' visibility='default' filepath='kernel/trace/trace.h' line='1279' column='1'/>
+          <var-decl name='givdecrypt' type-id='type-id-23' visibility='default' filepath='include/linux/crypto.h' line='271' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='geniv' type-id='type-id-24' visibility='default' filepath='include/linux/crypto.h' line='273' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='min_keysize' type-id='type-id-10' visibility='default' filepath='include/linux/crypto.h' line='275' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='max_keysize' type-id='type-id-10' visibility='default' filepath='include/linux/crypto.h' line='276' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='ivsize' type-id='type-id-10' visibility='default' filepath='include/linux/crypto.h' line='277' column='1'/>
         </data-member>
       </class-decl>
-      <pointer-type-def type-id='type-id-56' size-in-bits='64' id='type-id-57'/>
-      <pointer-type-def type-id='type-id-55' size-in-bits='64' id='type-id-54'/>
-      <pointer-type-def type-id='type-id-58' size-in-bits='64' id='type-id-59'/>
-      <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-61'/>
-      <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-63'/>
-      <pointer-type-def type-id='type-id-6' size-in-bits='64' id='type-id-64'/>
-      <pointer-type-def type-id='type-id-18' size-in-bits='64' id='type-id-13'/>
-      <pointer-type-def type-id='type-id-29' size-in-bits='64' id='type-id-24'/>
-      <pointer-type-def type-id='type-id-39' size-in-bits='64' id='type-id-65'/>
-      <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-66'/>
-      <pointer-type-def type-id='type-id-19' size-in-bits='64' id='type-id-14'/>
-      <pointer-type-def type-id='type-id-51' size-in-bits='64' id='type-id-50'/>
-      <pointer-type-def type-id='type-id-49' size-in-bits='64' id='type-id-37'/>
-      <pointer-type-def type-id='type-id-44' size-in-bits='64' id='type-id-31'/>
-      <pointer-type-def type-id='type-id-67' size-in-bits='64' id='type-id-68'/>
-      <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-25'/>
-      <pointer-type-def type-id='type-id-46' size-in-bits='64' id='type-id-52'/>
-      <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-47'/>
-      <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-70'/>
-      <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-72'/>
-      <pointer-type-def type-id='type-id-27' size-in-bits='64' id='type-id-73'/>
-      <pointer-type-def type-id='type-id-74' size-in-bits='64' id='type-id-75'/>
-      <pointer-type-def type-id='type-id-76' size-in-bits='64' id='type-id-77'/>
-      <pointer-type-def type-id='type-id-78' size-in-bits='64' id='type-id-79'/>
-      <function-decl name='trace_handle_return' mangled-name='trace_handle_return' filepath='kernel/trace/trace.c' line='2126' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='trace_handle_return'>
-        <parameter type-id='type-id-68' name='s' filepath='kernel/trace/trace.c' line='2126' column='1'/>
-        <return type-id='type-id-80'/>
+      <class-decl name='crypto_ablkcipher' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/linux/crypto.h' line='611' column='1' id='type-id-25'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='base' type-id='type-id-26' visibility='default' filepath='include/linux/crypto.h' line='612' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='crypto_tfm' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/linux/crypto.h' line='593' column='1' id='type-id-26'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='crt_flags' type-id='type-id-9' visibility='default' filepath='include/linux/crypto.h' line='595' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='crt_u' type-id='type-id-27' visibility='default' filepath='include/linux/crypto.h' line='602' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='exit' type-id='type-id-17' visibility='default' filepath='include/linux/crypto.h' line='604' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='__crt_alg' type-id='type-id-28' visibility='default' filepath='include/linux/crypto.h' line='606' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='__crt_ctx' type-id='type-id-4' visibility='default' filepath='include/linux/crypto.h' line='608' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ablkcipher_tfm' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/crypto.h' line='550' column='1' id='type-id-29'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='setkey' type-id='type-id-21' visibility='default' filepath='include/linux/crypto.h' line='551' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='encrypt' type-id='type-id-22' visibility='default' filepath='include/linux/crypto.h' line='553' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='decrypt' type-id='type-id-22' visibility='default' filepath='include/linux/crypto.h' line='554' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='base' type-id='type-id-30' visibility='default' filepath='include/linux/crypto.h' line='556' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='ivsize' type-id='type-id-10' visibility='default' filepath='include/linux/crypto.h' line='558' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='reqsize' type-id='type-id-10' visibility='default' filepath='include/linux/crypto.h' line='559' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ablkcipher_request' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/linux/crypto.h' line='180' column='1' id='type-id-31'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='base' type-id='type-id-32' visibility='default' filepath='include/linux/crypto.h' line='181' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='nbytes' type-id='type-id-10' visibility='default' filepath='include/linux/crypto.h' line='183' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='info' type-id='type-id-3' visibility='default' filepath='include/linux/crypto.h' line='185' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='src' type-id='type-id-33' visibility='default' filepath='include/linux/crypto.h' line='187' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='dst' type-id='type-id-33' visibility='default' filepath='include/linux/crypto.h' line='188' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='__ctx' type-id='type-id-4' visibility='default' filepath='include/linux/crypto.h' line='190' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='crypto_async_request' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/crypto.h' line='171' column='1' id='type-id-32'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/crypto.h' line='172' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='complete' type-id='type-id-34' visibility='default' filepath='include/linux/crypto.h' line='173' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='data' type-id='type-id-3' visibility='default' filepath='include/linux/crypto.h' line='174' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='tfm' type-id='type-id-35' visibility='default' filepath='include/linux/crypto.h' line='175' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='flags' type-id='type-id-9' visibility='default' filepath='include/linux/crypto.h' line='177' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='crypto_completion_t' type-id='type-id-36' filepath='include/linux/crypto.h' line='162' column='1' id='type-id-34'/>
+      <class-decl name='blkcipher_tfm' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/crypto.h' line='562' column='1' id='type-id-37'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='iv' type-id='type-id-3' visibility='default' filepath='include/linux/crypto.h' line='563' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='setkey' type-id='type-id-38' visibility='default' filepath='include/linux/crypto.h' line='564' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='encrypt' type-id='type-id-39' visibility='default' filepath='include/linux/crypto.h' line='566' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='decrypt' type-id='type-id-39' visibility='default' filepath='include/linux/crypto.h' line='568' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='blkcipher_desc' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/crypto.h' line='193' column='1' id='type-id-40'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='tfm' type-id='type-id-41' visibility='default' filepath='include/linux/crypto.h' line='194' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='info' type-id='type-id-3' visibility='default' filepath='include/linux/crypto.h' line='195' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='flags' type-id='type-id-9' visibility='default' filepath='include/linux/crypto.h' line='196' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='crypto_blkcipher' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/linux/crypto.h' line='615' column='1' id='type-id-42'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='base' type-id='type-id-26' visibility='default' filepath='include/linux/crypto.h' line='616' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='cipher_tfm' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/crypto.h' line='572' column='1' id='type-id-43'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cit_setkey' type-id='type-id-38' visibility='default' filepath='include/linux/crypto.h' line='573' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='cit_encrypt_one' type-id='type-id-44' visibility='default' filepath='include/linux/crypto.h' line='575' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='cit_decrypt_one' type-id='type-id-44' visibility='default' filepath='include/linux/crypto.h' line='576' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='compress_tfm' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/crypto.h' line='579' column='1' id='type-id-45'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cot_compress' type-id='type-id-46' visibility='default' filepath='include/linux/crypto.h' line='580' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='cot_decompress' type-id='type-id-46' visibility='default' filepath='include/linux/crypto.h' line='583' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='blkcipher_alg' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/crypto.h' line='292' column='1' id='type-id-47'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='setkey' type-id='type-id-38' visibility='default' filepath='include/linux/crypto.h' line='293' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='encrypt' type-id='type-id-39' visibility='default' filepath='include/linux/crypto.h' line='295' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='decrypt' type-id='type-id-39' visibility='default' filepath='include/linux/crypto.h' line='298' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='geniv' type-id='type-id-24' visibility='default' filepath='include/linux/crypto.h' line='302' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='min_keysize' type-id='type-id-10' visibility='default' filepath='include/linux/crypto.h' line='304' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='max_keysize' type-id='type-id-10' visibility='default' filepath='include/linux/crypto.h' line='305' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='ivsize' type-id='type-id-10' visibility='default' filepath='include/linux/crypto.h' line='306' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='cipher_alg' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/crypto.h' line='356' column='1' id='type-id-48'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cia_min_keysize' type-id='type-id-10' visibility='default' filepath='include/linux/crypto.h' line='357' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='cia_max_keysize' type-id='type-id-10' visibility='default' filepath='include/linux/crypto.h' line='358' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='cia_setkey' type-id='type-id-38' visibility='default' filepath='include/linux/crypto.h' line='359' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='cia_encrypt' type-id='type-id-44' visibility='default' filepath='include/linux/crypto.h' line='361' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='cia_decrypt' type-id='type-id-44' visibility='default' filepath='include/linux/crypto.h' line='362' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='compress_alg' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/crypto.h' line='365' column='1' id='type-id-49'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='coa_compress' type-id='type-id-46' visibility='default' filepath='include/linux/crypto.h' line='366' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='coa_decompress' type-id='type-id-46' visibility='default' filepath='include/linux/crypto.h' line='368' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-31' size-in-bits='64' id='type-id-50'/>
+      <pointer-type-def type-id='type-id-40' size-in-bits='64' id='type-id-51'/>
+      <qualified-type-def type-id='type-id-1' const='yes' id='type-id-52'/>
+      <pointer-type-def type-id='type-id-52' size-in-bits='64' id='type-id-14'/>
+      <qualified-type-def type-id='type-id-53' const='yes' id='type-id-54'/>
+      <pointer-type-def type-id='type-id-54' size-in-bits='64' id='type-id-55'/>
+      <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-30'/>
+      <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-28'/>
+      <pointer-type-def type-id='type-id-32' size-in-bits='64' id='type-id-56'/>
+      <pointer-type-def type-id='type-id-42' size-in-bits='64' id='type-id-41'/>
+      <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-35'/>
+      <pointer-type-def type-id='type-id-57' size-in-bits='64' id='type-id-22'/>
+      <pointer-type-def type-id='type-id-58' size-in-bits='64' id='type-id-39'/>
+      <pointer-type-def type-id='type-id-59' size-in-bits='64' id='type-id-21'/>
+      <pointer-type-def type-id='type-id-60' size-in-bits='64' id='type-id-16'/>
+      <pointer-type-def type-id='type-id-61' size-in-bits='64' id='type-id-38'/>
+      <pointer-type-def type-id='type-id-62' size-in-bits='64' id='type-id-46'/>
+      <pointer-type-def type-id='type-id-63' size-in-bits='64' id='type-id-23'/>
+      <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-64'/>
+      <pointer-type-def type-id='type-id-65' size-in-bits='64' id='type-id-66'/>
+      <pointer-type-def type-id='type-id-53' size-in-bits='64' id='type-id-67'/>
+      <pointer-type-def type-id='type-id-68' size-in-bits='64' id='type-id-18'/>
+      <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-36'/>
+      <pointer-type-def type-id='type-id-70' size-in-bits='64' id='type-id-17'/>
+      <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-44'/>
+      <function-decl name='crypto_unregister_alg' mangled-name='crypto_unregister_alg' filepath='include/linux/crypto.h' line='535' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_unregister_alg'>
+        <parameter type-id='type-id-28'/>
+        <return type-id='type-id-11'/>
       </function-decl>
-      <function-decl name='trace_event_buffer_commit' mangled-name='trace_event_buffer_commit' filepath='kernel/trace/trace.c' line='2382' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='trace_event_buffer_commit'>
-        <parameter type-id='type-id-66' name='fbuffer' filepath='kernel/trace/trace.c' line='2382' column='1'/>
-        <return type-id='type-id-81'/>
+      <function-decl name='crypto_register_alg' mangled-name='crypto_register_alg' filepath='include/linux/crypto.h' line='534' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_register_alg'>
+        <parameter type-id='type-id-28'/>
+        <return type-id='type-id-11'/>
       </function-decl>
-      <function-type size-in-bits='64' id='type-id-56'>
-        <parameter type-id='type-id-82'/>
-        <return type-id='type-id-80'/>
+      <function-type size-in-bits='64' id='type-id-57'>
+        <parameter type-id='type-id-50'/>
+        <return type-id='type-id-11'/>
       </function-type>
       <function-type size-in-bits='64' id='type-id-58'>
-        <parameter type-id='type-id-24'/>
-        <return type-id='type-id-17'/>
+        <parameter type-id='type-id-51'/>
+        <parameter type-id='type-id-33'/>
+        <parameter type-id='type-id-33'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-59'>
+        <parameter type-id='type-id-30'/>
+        <parameter type-id='type-id-55'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
       </function-type>
       <function-type size-in-bits='64' id='type-id-60'>
-        <parameter type-id='type-id-24'/>
-        <parameter type-id='type-id-7'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
+        <parameter type-id='type-id-35'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-61'>
+        <parameter type-id='type-id-35'/>
+        <parameter type-id='type-id-55'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
       </function-type>
       <function-type size-in-bits='64' id='type-id-62'>
-        <parameter type-id='type-id-24'/>
-        <parameter type-id='type-id-7'/>
-        <parameter type-id='type-id-7'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
+        <parameter type-id='type-id-35'/>
+        <parameter type-id='type-id-55'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-67'/>
+        <parameter type-id='type-id-72'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-63'>
+        <parameter type-id='type-id-64'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-68'>
+        <parameter type-id='type-id-28'/>
+        <return type-id='type-id-73'/>
       </function-type>
       <function-type size-in-bits='64' id='type-id-69'>
-        <parameter type-id='type-id-82'/>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-2'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-85'/>
-        <return type-id='type-id-86'/>
+        <parameter type-id='type-id-56'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-70'>
+        <parameter type-id='type-id-35'/>
+        <return type-id='type-id-73'/>
       </function-type>
       <function-type size-in-bits='64' id='type-id-71'>
-        <parameter type-id='type-id-82'/>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-85'/>
-        <parameter type-id='type-id-87'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-86'/>
+        <parameter type-id='type-id-35'/>
+        <parameter type-id='type-id-67'/>
+        <parameter type-id='type-id-55'/>
+        <return type-id='type-id-73'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-74'>
-        <parameter type-id='type-id-88'/>
+      <union-decl name='__anonymous_union__' size-in-bits='512' is-anonymous='yes' visibility='default' filepath='include/linux/crypto.h' line='478' column='1' id='type-id-15'>
+        <data-member access='private'>
+          <var-decl name='ablkcipher' type-id='type-id-20' visibility='default' filepath='include/linux/crypto.h' line='479' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='blkcipher' type-id='type-id-47' visibility='default' filepath='include/linux/crypto.h' line='480' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='cipher' type-id='type-id-48' visibility='default' filepath='include/linux/crypto.h' line='481' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='compress' type-id='type-id-49' visibility='default' filepath='include/linux/crypto.h' line='482' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__1' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='include/linux/crypto.h' line='597' column='1' id='type-id-27'>
+        <data-member access='private'>
+          <var-decl name='ablkcipher' type-id='type-id-29' visibility='default' filepath='include/linux/crypto.h' line='598' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='blkcipher' type-id='type-id-37' visibility='default' filepath='include/linux/crypto.h' line='599' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='cipher' type-id='type-id-43' visibility='default' filepath='include/linux/crypto.h' line='600' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='compress' type-id='type-id-45' visibility='default' filepath='include/linux/crypto.h' line='601' column='1'/>
+        </data-member>
+      </union-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='arch/arm64/kernel/armv8_deprecated.c' language='LANG_C89'>
+      <function-decl name='on_each_cpu' mangled-name='on_each_cpu' filepath='include/linux/smp.h' line='38' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='on_each_cpu'>
+        <parameter type-id='type-id-74'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='proc_dointvec_minmax' mangled-name='proc_dointvec_minmax' filepath='include/linux/sysctl.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='proc_dointvec_minmax'>
+        <parameter type-id='type-id-75'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-76'/>
+        <parameter type-id='type-id-77'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='arch/arm64/kernel/cacheinfo.c' language='LANG_C89'>
+      <function-decl name='smp_call_function_single' mangled-name='smp_call_function_single' filepath='include/linux/smp.h' line='32' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='smp_call_function_single'>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-74'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='arch/arm64/kernel/cpu_ops.c' language='LANG_C89'>
+      <qualified-type-def type-id='type-id-78' const='yes' id='type-id-79'/>
+      <pointer-type-def type-id='type-id-79' size-in-bits='64' id='type-id-80'/>
+      <function-decl name='of_get_cpu_node' mangled-name='of_get_cpu_node' filepath='include/linux/of.h' line='360' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_get_cpu_node'>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-72'/>
         <return type-id='type-id-81'/>
+      </function-decl>
+      <function-decl name='of_get_property' mangled-name='of_get_property' filepath='include/linux/of.h' line='357' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_get_property'>
+        <parameter type-id='type-id-80'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-82'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='arch/arm64/kernel/cpufeature.c' language='LANG_C89'>
+      <function-decl name='cpus_read_lock' mangled-name='cpus_read_lock' filepath='include/linux/cpu.h' line='113' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cpus_read_lock'>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='cpus_read_unlock' mangled-name='cpus_read_unlock' filepath='include/linux/cpu.h' line='114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cpus_read_unlock'>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='arch/arm64/kernel/cpuidle.c' language='LANG_C89'>
+      <function-decl name='arm_cpuidle_suspend' mangled-name='arm_cpuidle_suspend' filepath='arch/arm64/kernel/cpuidle.c' line='39' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='arm_cpuidle_suspend'>
+        <parameter type-id='type-id-11' name='index' filepath='arch/arm64/kernel/cpuidle.c' line='39' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='arch/arm64/kernel/cpuinfo.c' language='LANG_C89'>
+      <class-decl name='fwnode_handle' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-83'/>
+      <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-84'/>
+      <function-decl name='seq_puts' mangled-name='seq_puts' filepath='include/linux/seq_file.h' line='120' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='seq_puts'>
+        <parameter type-id='type-id-85'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='get_cpu_device' mangled-name='get_cpu_device' filepath='include/linux/cpu.h' line='38' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_cpu_device'>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-86'/>
+      </function-decl>
+      <function-decl name='sysfs_create_group' mangled-name='sysfs_create_group' filepath='include/linux/sysfs.h' line='267' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sysfs_create_group'>
+        <parameter type-id='type-id-87'/>
+        <parameter type-id='type-id-88'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='kobject_del' mangled-name='kobject_del' filepath='include/linux/kobject.h' line='103' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kobject_del'>
+        <parameter type-id='type-id-87'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='sysfs_remove_group' mangled-name='sysfs_remove_group' filepath='include/linux/sysfs.h' line='273' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sysfs_remove_group'>
+        <parameter type-id='type-id-87'/>
+        <parameter type-id='type-id-88'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='arch/arm64/kernel/debug-monitors.c' language='LANG_C89'>
+      <function-decl name='preempt_schedule' mangled-name='preempt_schedule' filepath='include/asm-generic/preempt.h' line='82' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='preempt_schedule'>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='synchronize_rcu' mangled-name='synchronize_rcu' filepath='include/linux/rcupdate.h' line='67' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='synchronize_rcu'>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='arch/arm64/kernel/fpsimd.c' language='LANG_C89'>
+      <class-decl name='backing_dev_info' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-89'/>
+      <class-decl name='bio_list' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-90'/>
+      <class-decl name='cgroup_namespace' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-91'/>
+      <class-decl name='perf_event_context' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-92'/>
+      <class-decl name='request_queue' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-93'/>
+      <class-decl name='uts_namespace' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-94'/>
+      <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='include/linux/restart_block.h' line='27' column='1' id='type-id-95'>
+        <data-member access='private'>
+          <var-decl name='futex' type-id='type-id-96' visibility='default' filepath='include/linux/restart_block.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='nanosleep' type-id='type-id-97' visibility='default' filepath='include/linux/restart_block.h' line='46' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='poll' type-id='type-id-98' visibility='default' filepath='include/linux/restart_block.h' line='54' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/restart_block.h' line='48' column='1' id='type-id-98'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ufds' type-id='type-id-99' visibility='default' filepath='include/linux/restart_block.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='nfds' type-id='type-id-11' visibility='default' filepath='include/linux/restart_block.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='has_timeout' type-id='type-id-11' visibility='default' filepath='include/linux/restart_block.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='tv_sec' type-id='type-id-100' visibility='default' filepath='include/linux/restart_block.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='tv_nsec' type-id='type-id-100' visibility='default' filepath='include/linux/restart_block.h' line='53' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='notifier_block' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/notifier.h' line='54' column='1' id='type-id-101'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='notifier_call' type-id='type-id-102' visibility='default' filepath='include/linux/notifier.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='next' type-id='type-id-103' visibility='default' filepath='include/linux/notifier.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='priority' type-id='type-id-11' visibility='default' filepath='include/linux/notifier.h' line='57' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='notifier_fn_t' type-id='type-id-104' filepath='include/linux/notifier.h' line='51' column='1' id='type-id-102'/>
+      <class-decl name='atomic_notifier_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/notifier.h' line='60' column='1' id='type-id-105'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/linux/notifier.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='head' type-id='type-id-103' visibility='default' filepath='include/linux/notifier.h' line='62' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-105' size-in-bits='64' id='type-id-107'/>
+      <pointer-type-def type-id='type-id-89' size-in-bits='64' id='type-id-108'/>
+      <pointer-type-def type-id='type-id-90' size-in-bits='64' id='type-id-109'/>
+      <pointer-type-def type-id='type-id-91' size-in-bits='64' id='type-id-110'/>
+      <pointer-type-def type-id='type-id-111' size-in-bits='64' id='type-id-104'/>
+      <pointer-type-def type-id='type-id-112' size-in-bits='64' id='type-id-77'/>
+      <pointer-type-def type-id='type-id-101' size-in-bits='64' id='type-id-103'/>
+      <pointer-type-def type-id='type-id-92' size-in-bits='64' id='type-id-113'/>
+      <pointer-type-def type-id='type-id-93' size-in-bits='64' id='type-id-114'/>
+      <pointer-type-def type-id='type-id-115' size-in-bits='64' id='type-id-116'/>
+      <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-117'/>
+      <function-decl name='send_sig_info' mangled-name='send_sig_info' filepath='include/linux/sched/signal.h' line='325' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='send_sig_info'>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-116'/>
+        <parameter type-id='type-id-118'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='find_next_bit' mangled-name='find_next_bit' filepath='include/asm-generic/bitops/find.h' line='15' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='find_next_bit'>
+        <parameter type-id='type-id-119'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+      <function-decl name='cpu_pm_register_notifier' mangled-name='cpu_pm_register_notifier' filepath='include/linux/cpu_pm.h' line='70' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cpu_pm_register_notifier'>
+        <parameter type-id='type-id-103'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='proc_dointvec' mangled-name='proc_dointvec' filepath='include/linux/sysctl.h' line='45' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='proc_dointvec'>
+        <parameter type-id='type-id-75'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-76'/>
+        <parameter type-id='type-id-77'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='atomic_notifier_chain_register' mangled-name='atomic_notifier_chain_register' filepath='include/linux/notifier.h' line='145' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='atomic_notifier_chain_register'>
+        <parameter type-id='type-id-107'/>
+        <parameter type-id='type-id-103'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-111'>
+        <parameter type-id='type-id-103'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-76'>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='arch/arm64/kernel/insn.c' language='LANG_C89'>
+      <function-decl name='vmalloc_to_page' mangled-name='vmalloc_to_page' filepath='include/linux/mm.h' line='557' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vmalloc_to_page'>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-120'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='arch/arm64/kernel/io.c' language='LANG_C89'>
+      <qualified-type-def type-id='type-id-121' const='yes' id='type-id-122'/>
+      <pointer-type-def type-id='type-id-122' size-in-bits='64' id='type-id-123'/>
+      <qualified-type-def type-id='type-id-73' volatile='yes' id='type-id-121'/>
+      <pointer-type-def type-id='type-id-121' size-in-bits='64' id='type-id-124'/>
+      <function-decl name='__memcpy_fromio' mangled-name='__memcpy_fromio' filepath='arch/arm64/kernel/io.c' line='26' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__memcpy_fromio'>
+        <parameter type-id='type-id-3' name='to' filepath='arch/arm64/kernel/io.c' line='26' column='1'/>
+        <parameter type-id='type-id-123' name='from' filepath='arch/arm64/kernel/io.c' line='26' column='1'/>
+        <parameter type-id='type-id-125' name='count' filepath='arch/arm64/kernel/io.c' line='26' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__memcpy_toio' mangled-name='__memcpy_toio' filepath='arch/arm64/kernel/io.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__memcpy_toio'>
+        <parameter type-id='type-id-124' name='to' filepath='arch/arm64/kernel/io.c' line='54' column='1'/>
+        <parameter type-id='type-id-3' name='from' filepath='arch/arm64/kernel/io.c' line='54' column='1'/>
+        <parameter type-id='type-id-125' name='count' filepath='arch/arm64/kernel/io.c' line='54' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__memset_io' mangled-name='__memset_io' filepath='arch/arm64/kernel/io.c' line='82' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__memset_io'>
+        <parameter type-id='type-id-124' name='dst' filepath='arch/arm64/kernel/io.c' line='82' column='1'/>
+        <parameter type-id='type-id-11' name='c' filepath='arch/arm64/kernel/io.c' line='82' column='1'/>
+        <parameter type-id='type-id-125' name='count' filepath='arch/arm64/kernel/io.c' line='82' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='arch/arm64/kernel/irq.c' language='LANG_C89'>
+      <class-decl name='dev_pagemap' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-126'/>
+      <class-decl name='iov_iter' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-127'/>
+      <class-decl name='mem_cgroup' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-128'/>
+      <class-decl name='module' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-129'/>
+      <class-decl name='user_namespace' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-130'/>
+      <class-decl name='__anonymous_struct__' size-in-bits='6848' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='353' column='1' id='type-id-131'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mmap' type-id='type-id-132' visibility='default' filepath='include/linux/mm_types.h' line='354' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='mm_rb' type-id='type-id-133' visibility='default' filepath='include/linux/mm_types.h' line='355' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='vmacache_seqnum' type-id='type-id-134' visibility='default' filepath='include/linux/mm_types.h' line='356' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='get_unmapped_area' type-id='type-id-135' visibility='default' filepath='include/linux/mm_types.h' line='358' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='mmap_base' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='362' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='mmap_legacy_base' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='363' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='task_size' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='369' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='highest_vm_end' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='370' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='pgd' type-id='type-id-136' visibility='default' filepath='include/linux/mm_types.h' line='371' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='mm_users' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='382' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='mm_count' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='391' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='pgtables_bytes' type-id='type-id-138' visibility='default' filepath='include/linux/mm_types.h' line='394' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='map_count' type-id='type-id-11' visibility='default' filepath='include/linux/mm_types.h' line='396' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='736'>
+          <var-decl name='page_table_lock' type-id='type-id-106' visibility='default' filepath='include/linux/mm_types.h' line='398' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='mmap_sem' type-id='type-id-139' visibility='default' filepath='include/linux/mm_types.h' line='401' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='mmlist' type-id='type-id-8' visibility='default' filepath='include/linux/mm_types.h' line='403' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='hiwater_rss' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='410' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='hiwater_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='411' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='total_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='413' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='locked_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='414' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='pinned_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='415' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='data_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='416' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='exec_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='417' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='stack_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='418' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='def_flags' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='419' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='arg_lock' type-id='type-id-106' visibility='default' filepath='include/linux/mm_types.h' line='421' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='start_code' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='end_code' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='start_data' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='end_data' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='start_brk' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='brk' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='start_stack' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='arg_start' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='arg_end' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='env_start' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='env_end' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='saved_auxv' type-id='type-id-140' visibility='default' filepath='include/linux/mm_types.h' line='426' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5504'>
+          <var-decl name='rss_stat' type-id='type-id-141' visibility='default' filepath='include/linux/mm_types.h' line='432' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5760'>
+          <var-decl name='binfmt' type-id='type-id-142' visibility='default' filepath='include/linux/mm_types.h' line='434' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5824'>
+          <var-decl name='context' type-id='type-id-143' visibility='default' filepath='include/linux/mm_types.h' line='437' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6016'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='439' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6080'>
+          <var-decl name='core_state' type-id='type-id-144' visibility='default' filepath='include/linux/mm_types.h' line='441' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6144'>
+          <var-decl name='membarrier_state' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='443' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6176'>
+          <var-decl name='ioctx_lock' type-id='type-id-106' visibility='default' filepath='include/linux/mm_types.h' line='446' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6208'>
+          <var-decl name='ioctx_table' type-id='type-id-145' visibility='default' filepath='include/linux/mm_types.h' line='447' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6272'>
+          <var-decl name='owner' type-id='type-id-118' visibility='default' filepath='include/linux/mm_types.h' line='460' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6336'>
+          <var-decl name='user_ns' type-id='type-id-146' visibility='default' filepath='include/linux/mm_types.h' line='462' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6400'>
+          <var-decl name='exe_file' type-id='type-id-147' visibility='default' filepath='include/linux/mm_types.h' line='465' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6464'>
+          <var-decl name='tlb_flush_pending' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='491' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6528'>
+          <var-decl name='uprobes_state' type-id='type-id-148' visibility='default' filepath='include/linux/mm_types.h' line='496' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6592'>
+          <var-decl name='async_put_work' type-id='type-id-149' visibility='default' filepath='include/linux/mm_types.h' line='500' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__3' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='79' column='1' id='type-id-150'>
+        <member-type access='private'>
+          <class-decl name='__anonymous_struct__' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='138' column='1' id='type-id-151'>
+            <data-member access='public' layout-offset-in-bits='0'>
+              <var-decl name='_pt_pad_1' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='139' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='64'>
+              <var-decl name='pmd_huge_pte' type-id='type-id-152' visibility='default' filepath='include/linux/mm_types.h' line='140' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='128'>
+              <var-decl name='_pt_pad_2' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='141' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='192'>
+              <var-decl name='' type-id='type-id-153' visibility='default' filepath='include/linux/mm_types.h' line='142' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='256'>
+              <var-decl name='ptl' type-id='type-id-106' visibility='default' filepath='include/linux/mm_types.h' line='149' column='1'/>
+            </data-member>
+          </class-decl>
+        </member-type>
+        <member-type access='private'>
+          <class-decl name='__anonymous_struct__1' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='152' column='1' id='type-id-154'>
+            <data-member access='public' layout-offset-in-bits='0'>
+              <var-decl name='pgmap' type-id='type-id-155' visibility='default' filepath='include/linux/mm_types.h' line='154' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='64'>
+              <var-decl name='hmm_data' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='155' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='128'>
+              <var-decl name='_zd_pad_1' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='156' column='1'/>
+            </data-member>
+          </class-decl>
+        </member-type>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-156' visibility='default' filepath='include/linux/mm_types.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='callback_head' type-id='type-id-157' visibility='default' filepath='include/linux/mm_types.h' line='160' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__4' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='142' column='1' id='type-id-153'>
+        <data-member access='private'>
+          <var-decl name='pt_mm' type-id='type-id-158' visibility='default' filepath='include/linux/mm_types.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='pt_frag_refcount' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='144' column='1'/>
+        </data-member>
+      </union-decl>
+      <pointer-type-def type-id='type-id-126' size-in-bits='64' id='type-id-155'/>
+      <pointer-type-def type-id='type-id-127' size-in-bits='64' id='type-id-159'/>
+      <pointer-type-def type-id='type-id-128' size-in-bits='64' id='type-id-160'/>
+      <pointer-type-def type-id='type-id-129' size-in-bits='64' id='type-id-161'/>
+      <pointer-type-def type-id='type-id-130' size-in-bits='64' id='type-id-146'/>
+      <function-decl name='seq_printf' mangled-name='seq_printf' filepath='include/linux/seq_file.h' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='seq_printf'>
+        <parameter type-id='type-id-85'/>
+        <parameter type-id='type-id-24'/>
+        <parameter is-variadic='yes'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='cpumask_next' mangled-name='cpumask_next' filepath='include/linux/cpumask.h' line='212' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cpumask_next'>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-162'/>
+        <return type-id='type-id-10'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='arch/arm64/kernel/module.c' language='LANG_C89'>
+      <function-decl name='vfree' mangled-name='vfree' filepath='include/linux/vmalloc.h' line='99' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vfree'>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='arch/arm64/kernel/process.c' language='LANG_C89'>
+      <function-decl name='cpu_do_idle' mangled-name='cpu_do_idle' filepath='arch/arm64/include/asm/proc-fns.h' line='31' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cpu_do_idle'>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='get_random_u32' mangled-name='get_random_u32' filepath='include/linux/random.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_random_u32'>
+        <return type-id='type-id-10'/>
+      </function-decl>
+      <function-decl name='atomic_notifier_call_chain' mangled-name='atomic_notifier_call_chain' filepath='include/linux/notifier.h' line='167' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='atomic_notifier_call_chain'>
+        <parameter type-id='type-id-107'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='arch/arm64/kernel/psci.c' language='LANG_C89'>
+      <function-decl name='jiffies_to_msecs' mangled-name='jiffies_to_msecs' filepath='include/linux/jiffies.h' line='291' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='jiffies_to_msecs'>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-10'/>
+      </function-decl>
+      <function-decl name='usleep_range' mangled-name='usleep_range' filepath='include/linux/delay.h' line='60' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usleep_range'>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='arch/arm64/kernel/ptrace.c' language='LANG_C89'>
+      <class-decl name='bdi_writeback' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-163'/>
+      <class-decl name='cdev' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-164'/>
+      <class-decl name='gendisk' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-165'/>
+      <class-decl name='hd_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-166'/>
+      <class-decl name='trace_event_call' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-167'/>
+      <pointer-type-def type-id='type-id-163' size-in-bits='64' id='type-id-168'/>
+      <pointer-type-def type-id='type-id-164' size-in-bits='64' id='type-id-169'/>
+      <pointer-type-def type-id='type-id-165' size-in-bits='64' id='type-id-170'/>
+      <pointer-type-def type-id='type-id-166' size-in-bits='64' id='type-id-171'/>
+      <pointer-type-def type-id='type-id-172' size-in-bits='64' id='type-id-173'/>
+      <pointer-type-def type-id='type-id-167' size-in-bits='64' id='type-id-65'/>
+      <function-decl name='send_sig' mangled-name='send_sig' filepath='include/linux/sched/signal.h' line='337' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='send_sig'>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-118'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='perf_event_release_kernel' mangled-name='perf_event_release_kernel' filepath='include/linux/perf_event.h' line='896' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='perf_event_release_kernel'>
+        <parameter type-id='type-id-174'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='perf_event_create_kernel_counter' mangled-name='perf_event_create_kernel_counter' filepath='include/linux/perf_event.h' line='898' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='perf_event_create_kernel_counter'>
+        <parameter type-id='type-id-173'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-118'/>
+        <parameter type-id='type-id-175'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-174'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='arch/arm64/kernel/signal.c' language='LANG_C89'>
+      <function-decl name='schedule' mangled-name='schedule' filepath='include/linux/sched.h' line='218' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='schedule'>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='force_sig' mangled-name='force_sig' filepath='include/linux/sched/signal.h' line='336' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='force_sig'>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-118'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='arch/arm64/kernel/smp.c' language='LANG_C89'>
+      <function-decl name='wait_for_completion_timeout' mangled-name='wait_for_completion_timeout' filepath='include/linux/completion.h' line='107' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wait_for_completion_timeout'>
+        <parameter type-id='type-id-176'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='arch/arm64/kernel/smp_spin_table.c' language='LANG_C89'>
+      <pointer-type-def type-id='type-id-177' size-in-bits='64' id='type-id-178'/>
+      <function-decl name='of_property_read_u64' mangled-name='of_property_read_u64' filepath='include/linux/of.h' line='334' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_property_read_u64'>
+        <parameter type-id='type-id-80'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-178'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='arch/arm64/kernel/stacktrace.c' language='LANG_C89'>
+      <class-decl name='stack_trace' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/stacktrace.h' line='11' column='1' id='type-id-179'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='nr_entries' type-id='type-id-10' visibility='default' filepath='include/linux/stacktrace.h' line='12' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='max_entries' type-id='type-id-10' visibility='default' filepath='include/linux/stacktrace.h' line='12' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='entries' type-id='type-id-76' visibility='default' filepath='include/linux/stacktrace.h' line='13' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='skip' type-id='type-id-11' visibility='default' filepath='include/linux/stacktrace.h' line='14' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-179' size-in-bits='64' id='type-id-180'/>
+      <function-decl name='save_stack_trace_tsk' mangled-name='save_stack_trace_tsk' filepath='arch/arm64/kernel/stacktrace.c' line='185' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='save_stack_trace_tsk'>
+        <parameter type-id='type-id-118' name='tsk' filepath='arch/arm64/kernel/stacktrace.c' line='185' column='1'/>
+        <parameter type-id='type-id-180' name='trace' filepath='arch/arm64/kernel/stacktrace.c' line='185' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='arch/arm64/kernel/time.c' language='LANG_C89'>
+      <enum-decl name='hrtimer_mode' filepath='include/linux/hrtimer.h' line='39' column='1' id='type-id-181'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='HRTIMER_MODE_ABS' value='0'/>
+        <enumerator name='HRTIMER_MODE_REL' value='1'/>
+        <enumerator name='HRTIMER_MODE_PINNED' value='2'/>
+        <enumerator name='HRTIMER_MODE_SOFT' value='4'/>
+        <enumerator name='HRTIMER_MODE_ABS_PINNED' value='2'/>
+        <enumerator name='HRTIMER_MODE_REL_PINNED' value='3'/>
+        <enumerator name='HRTIMER_MODE_ABS_SOFT' value='4'/>
+        <enumerator name='HRTIMER_MODE_REL_SOFT' value='5'/>
+        <enumerator name='HRTIMER_MODE_ABS_PINNED_SOFT' value='6'/>
+        <enumerator name='HRTIMER_MODE_REL_PINNED_SOFT' value='7'/>
+      </enum-decl>
+      <function-decl name='arch_timer_get_rate' mangled-name='arch_timer_get_rate' filepath='include/clocksource/arm_arch_timer.h' line='95' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='arch_timer_get_rate'>
+        <return type-id='type-id-10'/>
+      </function-decl>
+      <function-decl name='hrtimer_init' mangled-name='hrtimer_init' filepath='include/linux/hrtimer.h' line='365' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='hrtimer_init'>
+        <parameter type-id='type-id-183'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-181'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='arch/arm64/kernel/topology.c' language='LANG_C89'>
+      <function-decl name='of_get_child_by_name' mangled-name='of_get_child_by_name' filepath='include/linux/of.h' line='303' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_get_child_by_name'>
+        <parameter type-id='type-id-80'/>
         <parameter type-id='type-id-24'/>
         <return type-id='type-id-81'/>
+      </function-decl>
+      <function-decl name='of_find_node_opts_by_path' mangled-name='of_find_node_opts_by_path' filepath='include/linux/of.h' line='286' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_find_node_opts_by_path'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-184'/>
+        <return type-id='type-id-81'/>
+      </function-decl>
+      <function-decl name='of_parse_phandle' mangled-name='of_parse_phandle' filepath='include/linux/of.h' line='370' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_parse_phandle'>
+        <parameter type-id='type-id-80'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-81'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='arch/arm64/kernel/traps.c' language='LANG_C89'>
+      <pointer-type-def type-id='type-id-139' size-in-bits='64' id='type-id-185'/>
+      <function-decl name='_raw_spin_lock_irqsave' mangled-name='_raw_spin_lock_irqsave' filepath='include/linux/spinlock_api_smp.h' line='32' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_raw_spin_lock_irqsave'>
+        <parameter type-id='type-id-186'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+      <function-decl name='_raw_spin_unlock_irqrestore' mangled-name='_raw_spin_unlock_irqrestore' filepath='include/linux/spinlock_api_smp.h' line='43' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_raw_spin_unlock_irqrestore'>
+        <parameter type-id='type-id-186'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='do_exit' mangled-name='do_exit' filepath='include/linux/kernel.h' line='334' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='do_exit'>
+        <parameter type-id='type-id-187'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='down_read' mangled-name='down_read' filepath='include/linux/rwsem.h' line='120' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='down_read'>
+        <parameter type-id='type-id-185'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='find_vma' mangled-name='find_vma' filepath='include/linux/mm.h' line='2468' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='find_vma'>
+        <parameter type-id='type-id-158'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-132'/>
+      </function-decl>
+      <function-decl name='up_read' mangled-name='up_read' filepath='include/linux/rwsem.h' line='142' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='up_read'>
+        <parameter type-id='type-id-185'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='tracing_off' mangled-name='tracing_off' filepath='include/linux/kernel.h' line='668' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tracing_off'>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='arch/arm64/kernel/vdso.c' language='LANG_C89'>
+      <function-decl name='up_write' mangled-name='up_write' filepath='include/linux/rwsem.h' line='147' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='up_write'>
+        <parameter type-id='type-id-185'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='get_unmapped_area' mangled-name='get_unmapped_area' filepath='include/linux/mm.h' line='2346' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_unmapped_area'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+      <function-decl name='kick_all_cpus_sync' mangled-name='kick_all_cpus_sync' filepath='include/linux/smp.h' line='107' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kick_all_cpus_sync'>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='arch/arm64/lib/atomic_ll_sc.c' language='LANG_C89'>
+      <pointer-type-def type-id='type-id-188' size-in-bits='64' id='type-id-189'/>
+      <pointer-type-def type-id='type-id-137' size-in-bits='64' id='type-id-190'/>
+      <function-decl name='__ll_sc_atomic_add' mangled-name='__ll_sc_atomic_add' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='113' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__ll_sc_atomic_add'>
+        <parameter type-id='type-id-11' name='i' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='113' column='1'/>
+        <parameter type-id='type-id-190' name='v' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='113' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__ll_sc_atomic_add_return' mangled-name='__ll_sc_atomic_add_return' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='113' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__ll_sc_atomic_add_return'>
+        <parameter type-id='type-id-11' name='i' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='113' column='1'/>
+        <parameter type-id='type-id-190' name='v' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='113' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__ll_sc_atomic_sub' mangled-name='__ll_sc_atomic_sub' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__ll_sc_atomic_sub'>
+        <parameter type-id='type-id-11' name='i' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='114' column='1'/>
+        <parameter type-id='type-id-190' name='v' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='114' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__ll_sc_atomic_sub_return' mangled-name='__ll_sc_atomic_sub_return' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__ll_sc_atomic_sub_return'>
+        <parameter type-id='type-id-11' name='i' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='114' column='1'/>
+        <parameter type-id='type-id-190' name='v' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='114' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__ll_sc_atomic64_add' mangled-name='__ll_sc_atomic64_add' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='207' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__ll_sc_atomic64_add'>
+        <parameter type-id='type-id-187' name='i' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='207' column='1'/>
+        <parameter type-id='type-id-189' name='v' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='207' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__ll_sc_atomic64_add_return_relaxed' mangled-name='__ll_sc_atomic64_add_return_relaxed' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='207' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__ll_sc_atomic64_add_return_relaxed'>
+        <parameter type-id='type-id-187' name='i' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='207' column='1'/>
+        <parameter type-id='type-id-189' name='v' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='207' column='1'/>
+        <return type-id='type-id-187'/>
+      </function-decl>
+      <function-decl name='__ll_sc_atomic64_sub' mangled-name='__ll_sc_atomic64_sub' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='208' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__ll_sc_atomic64_sub'>
+        <parameter type-id='type-id-187' name='i' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='208' column='1'/>
+        <parameter type-id='type-id-189' name='v' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='208' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__ll_sc_atomic64_andnot' mangled-name='__ll_sc_atomic64_andnot' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='219' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__ll_sc_atomic64_andnot'>
+        <parameter type-id='type-id-187' name='i' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='219' column='1'/>
+        <parameter type-id='type-id-189' name='v' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='219' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__ll_sc_atomic64_or' mangled-name='__ll_sc_atomic64_or' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__ll_sc_atomic64_or'>
+        <parameter type-id='type-id-187' name='i' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='220' column='1'/>
+        <parameter type-id='type-id-189' name='v' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='220' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__ll_sc___cmpxchg_case_mb_4' mangled-name='__ll_sc___cmpxchg_case_mb_4' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='291' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__ll_sc___cmpxchg_case_mb_4'>
+        <parameter type-id='type-id-124' name='ptr' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='291' column='1'/>
+        <parameter type-id='type-id-100' name='old' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='291' column='1'/>
+        <parameter type-id='type-id-100' name='new' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='291' column='1'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+      <function-decl name='__ll_sc___cmpxchg_case_mb_8' mangled-name='__ll_sc___cmpxchg_case_mb_8' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='292' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__ll_sc___cmpxchg_case_mb_8'>
+        <parameter type-id='type-id-124' name='ptr' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='292' column='1'/>
+        <parameter type-id='type-id-100' name='old' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='292' column='1'/>
+        <parameter type-id='type-id-100' name='new' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='292' column='1'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='arch/arm64/lib/delay.c' language='LANG_C89'>
+      <function-decl name='__const_udelay' mangled-name='__const_udelay' filepath='arch/arm64/lib/delay.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__const_udelay'>
+        <parameter type-id='type-id-100' name='xloops' filepath='arch/arm64/lib/delay.c' line='54' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__udelay' mangled-name='__udelay' filepath='arch/arm64/lib/delay.c' line='60' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__udelay'>
+        <parameter type-id='type-id-100' name='usecs' filepath='arch/arm64/lib/delay.c' line='60' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__ndelay' mangled-name='__ndelay' filepath='arch/arm64/lib/delay.c' line='66' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__ndelay'>
+        <parameter type-id='type-id-100' name='nsecs' filepath='arch/arm64/lib/delay.c' line='66' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='arch/arm64/mm/context.c' language='LANG_C89'>
+      <function-decl name='find_next_zero_bit' mangled-name='find_next_zero_bit' filepath='include/asm-generic/bitops/find.h' line='45' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='find_next_zero_bit'>
+        <parameter type-id='type-id-119'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='arch/arm64/mm/copypage.c' language='LANG_C89'>
+      <function-decl name='copy_page' mangled-name='copy_page' filepath='arch/arm64/include/asm/page.h' line='32' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='copy_page'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='clear_page' mangled-name='clear_page' filepath='arch/arm64/include/asm/page.h' line='33' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clear_page'>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='arch/arm64/mm/dma-mapping.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-9' size-in-bits='32' id='type-id-191'>
+        <subrange length='1' type-id='type-id-5' id='type-id-192'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-193' size-in-bits='512' id='type-id-194'>
+        <subrange length='16' type-id='type-id-5' id='type-id-195'/>
+
+      </array-type-def>
+      <class-decl name='gen_pool' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/genalloc.h' line='60' column='1' id='type-id-196'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/linux/genalloc.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='chunks' type-id='type-id-8' visibility='default' filepath='include/linux/genalloc.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='min_alloc_order' type-id='type-id-11' visibility='default' filepath='include/linux/genalloc.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='algo' type-id='type-id-197' visibility='default' filepath='include/linux/genalloc.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='data' type-id='type-id-3' visibility='default' filepath='include/linux/genalloc.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/genalloc.h' line='68' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='genpool_algo_t' type-id='type-id-198' filepath='include/linux/genalloc.h' line='50' column='1' id='type-id-197'/>
+      <class-decl name='iommu_domain' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/iommu.h' line='89' column='1' id='type-id-199'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-10' visibility='default' filepath='include/linux/iommu.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ops' type-id='type-id-200' visibility='default' filepath='include/linux/iommu.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='pgsize_bitmap' type-id='type-id-100' visibility='default' filepath='include/linux/iommu.h' line='92' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='handler' type-id='type-id-201' visibility='default' filepath='include/linux/iommu.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='handler_token' type-id='type-id-3' visibility='default' filepath='include/linux/iommu.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='geometry' type-id='type-id-202' visibility='default' filepath='include/linux/iommu.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='iova_cookie' type-id='type-id-3' visibility='default' filepath='include/linux/iommu.h' line='96' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='iommu_cap' filepath='include/linux/iommu.h' line='99' column='1' id='type-id-203'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='IOMMU_CAP_CACHE_COHERENCY' value='0'/>
+        <enumerator name='IOMMU_CAP_INTR_REMAP' value='1'/>
+        <enumerator name='IOMMU_CAP_NOEXEC' value='2'/>
+      </enum-decl>
+      <enum-decl name='iommu_attr' filepath='include/linux/iommu.h' line='119' column='1' id='type-id-204'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='DOMAIN_ATTR_GEOMETRY' value='0'/>
+        <enumerator name='DOMAIN_ATTR_PAGING' value='1'/>
+        <enumerator name='DOMAIN_ATTR_WINDOWS' value='2'/>
+        <enumerator name='DOMAIN_ATTR_FSL_PAMU_STASH' value='3'/>
+        <enumerator name='DOMAIN_ATTR_FSL_PAMU_ENABLE' value='4'/>
+        <enumerator name='DOMAIN_ATTR_FSL_PAMUV1' value='5'/>
+        <enumerator name='DOMAIN_ATTR_NESTING' value='6'/>
+        <enumerator name='DOMAIN_ATTR_MAX' value='7'/>
+      </enum-decl>
+      <class-decl name='iommu_resv_region' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/iommu.h' line='150' column='1' id='type-id-205'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/iommu.h' line='151' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='start' type-id='type-id-206' visibility='default' filepath='include/linux/iommu.h' line='152' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='length' type-id='type-id-125' visibility='default' filepath='include/linux/iommu.h' line='153' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='prot' type-id='type-id-11' visibility='default' filepath='include/linux/iommu.h' line='154' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='type' type-id='type-id-207' visibility='default' filepath='include/linux/iommu.h' line='155' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='iommu_resv_type' filepath='include/linux/iommu.h' line='131' column='1' id='type-id-207'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='IOMMU_RESV_DIRECT' value='0'/>
+        <enumerator name='IOMMU_RESV_RESERVED' value='1'/>
+        <enumerator name='IOMMU_RESV_MSI' value='2'/>
+        <enumerator name='IOMMU_RESV_SW_MSI' value='3'/>
+      </enum-decl>
+      <class-decl name='of_phandle_args' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/of.h' line='76' column='1' id='type-id-208'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='np' type-id='type-id-81' visibility='default' filepath='include/linux/of.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='args_count' type-id='type-id-11' visibility='default' filepath='include/linux/of.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='args' type-id='type-id-194' visibility='default' filepath='include/linux/of.h' line='79' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='iommu_fault_handler_t' type-id='type-id-209' filepath='include/linux/iommu.h' line='56' column='1' id='type-id-201'/>
+      <class-decl name='iommu_domain_geometry' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/iommu.h' line='59' column='1' id='type-id-202'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='aperture_start' type-id='type-id-210' visibility='default' filepath='include/linux/iommu.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='aperture_end' type-id='type-id-210' visibility='default' filepath='include/linux/iommu.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='force_aperture' type-id='type-id-211' visibility='default' filepath='include/linux/iommu.h' line='62' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__1' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='79' column='1' id='type-id-212'>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-156' visibility='default' filepath='include/linux/mm_types.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='callback_head' type-id='type-id-157' visibility='default' filepath='include/linux/mm_types.h' line='160' column='1'/>
+        </data-member>
+      </union-decl>
+      <pointer-type-def type-id='type-id-196' size-in-bits='64' id='type-id-213'/>
+      <pointer-type-def type-id='type-id-214' size-in-bits='64' id='type-id-215'/>
+      <pointer-type-def type-id='type-id-216' size-in-bits='64' id='type-id-217'/>
+      <pointer-type-def type-id='type-id-218' size-in-bits='64' id='type-id-209'/>
+      <pointer-type-def type-id='type-id-219' size-in-bits='64' id='type-id-220'/>
+      <pointer-type-def type-id='type-id-221' size-in-bits='64' id='type-id-222'/>
+      <pointer-type-def type-id='type-id-223' size-in-bits='64' id='type-id-224'/>
+      <pointer-type-def type-id='type-id-225' size-in-bits='64' id='type-id-226'/>
+      <pointer-type-def type-id='type-id-199' size-in-bits='64' id='type-id-227'/>
+      <pointer-type-def type-id='type-id-228' size-in-bits='64' id='type-id-229'/>
+      <pointer-type-def type-id='type-id-230' size-in-bits='64' id='type-id-231'/>
+      <pointer-type-def type-id='type-id-205' size-in-bits='64' id='type-id-232'/>
+      <pointer-type-def type-id='type-id-208' size-in-bits='64' id='type-id-233'/>
+      <pointer-type-def type-id='type-id-234' size-in-bits='64' id='type-id-235'/>
+      <pointer-type-def type-id='type-id-236' size-in-bits='64' id='type-id-237'/>
+      <pointer-type-def type-id='type-id-238' size-in-bits='64' id='type-id-239'/>
+      <pointer-type-def type-id='type-id-240' size-in-bits='64' id='type-id-241'/>
+      <pointer-type-def type-id='type-id-242' size-in-bits='64' id='type-id-243'/>
+      <pointer-type-def type-id='type-id-244' size-in-bits='64' id='type-id-198'/>
+      <pointer-type-def type-id='type-id-245' size-in-bits='64' id='type-id-246'/>
+      <pointer-type-def type-id='type-id-247' size-in-bits='64' id='type-id-248'/>
+      <pointer-type-def type-id='type-id-249' size-in-bits='64' id='type-id-250'/>
+      <pointer-type-def type-id='type-id-251' size-in-bits='64' id='type-id-252'/>
+      <pointer-type-def type-id='type-id-253' size-in-bits='64' id='type-id-254'/>
+      <pointer-type-def type-id='type-id-255' size-in-bits='64' id='type-id-256'/>
+      <function-decl name='memparse' mangled-name='memparse' filepath='include/linux/kernel.h' line='506' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='memparse'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-257'/>
+        <return type-id='type-id-177'/>
+      </function-decl>
+      <function-decl name='gen_pool_create' mangled-name='gen_pool_create' filepath='include/linux/genalloc.h' line='97' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gen_pool_create'>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-213'/>
+      </function-decl>
+      <function-decl name='gen_pool_add_virt' mangled-name='gen_pool_add_virt' filepath='include/linux/genalloc.h' line='99' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gen_pool_add_virt'>
+        <parameter type-id='type-id-213'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-177'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='gen_pool_set_algo' mangled-name='gen_pool_set_algo' filepath='include/linux/genalloc.h' line='130' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gen_pool_set_algo'>
+        <parameter type-id='type-id-213'/>
+        <parameter type-id='type-id-198'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='gen_pool_destroy' mangled-name='gen_pool_destroy' filepath='include/linux/genalloc.h' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gen_pool_destroy'>
+        <parameter type-id='type-id-213'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='gen_pool_alloc' mangled-name='gen_pool_alloc' filepath='include/linux/genalloc.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gen_pool_alloc'>
+        <parameter type-id='type-id-213'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+      <function-decl name='gen_pool_virt_to_phys' mangled-name='gen_pool_virt_to_phys' filepath='include/linux/genalloc.h' line='98' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gen_pool_virt_to_phys'>
+        <parameter type-id='type-id-213'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-177'/>
+      </function-decl>
+      <function-decl name='vunmap' mangled-name='vunmap' filepath='include/linux/vmalloc.h' line='104' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vunmap'>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='gen_pool_free' mangled-name='gen_pool_free' filepath='include/linux/genalloc.h' line='124' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gen_pool_free'>
+        <parameter type-id='type-id-213'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='remap_pfn_range' mangled-name='remap_pfn_range' filepath='include/linux/mm.h' line='2550' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='remap_pfn_range'>
+        <parameter type-id='type-id-132'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-258'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='sg_alloc_table' mangled-name='sg_alloc_table' filepath='include/linux/scatterlist.h' line='273' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sg_alloc_table'>
+        <parameter type-id='type-id-259'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='sg_next' mangled-name='sg_next' filepath='include/linux/scatterlist.h' line='256' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sg_next'>
+        <parameter type-id='type-id-33'/>
+        <return type-id='type-id-33'/>
+      </function-decl>
+      <function-decl name='iommu_get_domain_for_dev' mangled-name='iommu_get_domain_for_dev' filepath='include/linux/iommu.h' line='295' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iommu_get_domain_for_dev'>
+        <parameter type-id='type-id-86'/>
+        <return type-id='type-id-227'/>
+      </function-decl>
+      <function-decl name='sg_alloc_table_from_pages' mangled-name='sg_alloc_table_from_pages' filepath='include/linux/scatterlist.h' line='278' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sg_alloc_table_from_pages'>
+        <parameter type-id='type-id-259'/>
+        <parameter type-id='type-id-260'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='arch_setup_dma_ops' mangled-name='arch_setup_dma_ops' filepath='arch/arm64/mm/dma-mapping.c' line='888' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='arch_setup_dma_ops'>
+        <parameter type-id='type-id-86' name='dev' filepath='arch/arm64/mm/dma-mapping.c' line='888' column='1'/>
+        <parameter type-id='type-id-134' name='dma_base' filepath='arch/arm64/mm/dma-mapping.c' line='888' column='1'/>
+        <parameter type-id='type-id-134' name='size' filepath='arch/arm64/mm/dma-mapping.c' line='888' column='1'/>
+        <parameter type-id='type-id-200' name='iommu' filepath='arch/arm64/mm/dma-mapping.c' line='889' column='1'/>
+        <parameter type-id='type-id-211' name='coherent' filepath='arch/arm64/mm/dma-mapping.c' line='889' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-214'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-233'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-78'>
+      <function-type size-in-bits='64' id='type-id-216'>
+        <parameter type-id='type-id-227'/>
+        <parameter type-id='type-id-86'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-218'>
+        <parameter type-id='type-id-227'/>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-219'>
+        <parameter type-id='type-id-227'/>
+        <parameter type-id='type-id-204'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-221'>
+        <parameter type-id='type-id-227'/>
+        <parameter type-id='type-id-9'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-223'>
+        <parameter type-id='type-id-227'/>
+        <parameter type-id='type-id-9'/>
+        <parameter type-id='type-id-206'/>
+        <parameter type-id='type-id-134'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-225'>
+        <parameter type-id='type-id-227'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-206'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-228'>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-227'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-230'>
+        <parameter type-id='type-id-86'/>
+        <return type-id='type-id-261'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-234'>
+        <parameter type-id='type-id-203'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-236'>
+        <parameter type-id='type-id-227'/>
+        <parameter type-id='type-id-86'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-238'>
+        <parameter type-id='type-id-227'/>
+        <parameter type-id='type-id-210'/>
+        <return type-id='type-id-206'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-240'>
+        <parameter type-id='type-id-227'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-125'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-242'>
+        <parameter type-id='type-id-227'/>
+        <return type-id='type-id-9'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-244'>
+        <parameter type-id='type-id-76'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-213'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-100'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-245'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-227'/>
+        <parameter type-id='type-id-232'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-247'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-262'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-249'>
+        <parameter type-id='type-id-227'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-251'>
+        <parameter type-id='type-id-227'/>
+        <parameter type-id='type-id-86'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-253'>
+        <parameter type-id='type-id-227'/>
+        <parameter type-id='type-id-9'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-255'>
+        <parameter type-id='type-id-227'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='arch/arm64/mm/init.c' language='LANG_C89'>
+      <function-decl name='memblock_end_of_DRAM' mangled-name='memblock_end_of_DRAM' filepath='include/linux/memblock.h' line='346' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='memblock_end_of_DRAM'>
+        <return type-id='type-id-177'/>
+      </function-decl>
+      <function-decl name='unmap_kernel_range' mangled-name='unmap_kernel_range' filepath='include/linux/vmalloc.h' line='146' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unmap_kernel_range'>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='memblock_free' mangled-name='memblock_free' filepath='include/linux/memblock.h' line='111' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='memblock_free'>
+        <parameter type-id='type-id-177'/>
+        <parameter type-id='type-id-177'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='pfn_valid' mangled-name='pfn_valid' filepath='arch/arm64/mm/init.c' line='289' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pfn_valid'>
+        <parameter type-id='type-id-100' name='pfn' filepath='arch/arm64/mm/init.c' line='289' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='arch/arm64/mm/ioremap.c' language='LANG_C89'>
+      <function-decl name='ioremap_page_range' mangled-name='ioremap_page_range' filepath='include/linux/io.h' line='36' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ioremap_page_range'>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-177'/>
+        <parameter type-id='type-id-258'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__ioremap' mangled-name='__ioremap' filepath='arch/arm64/mm/ioremap.c' line='76' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__ioremap'>
+        <parameter type-id='type-id-206' name='phys_addr' filepath='arch/arm64/mm/ioremap.c' line='76' column='1'/>
+        <parameter type-id='type-id-125' name='size' filepath='arch/arm64/mm/ioremap.c' line='76' column='1'/>
+        <parameter type-id='type-id-263' name='prot' filepath='arch/arm64/mm/ioremap.c' line='76' column='1'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='__iounmap' mangled-name='__iounmap' filepath='arch/arm64/mm/ioremap.c' line='83' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__iounmap'>
+        <parameter type-id='type-id-124' name='io_addr' filepath='arch/arm64/mm/ioremap.c' line='83' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='arch/arm64/mm/mmu.c' language='LANG_C89'>
+      <function-decl name='kern_addr_valid' mangled-name='kern_addr_valid' filepath='arch/arm64/mm/mmu.c' line='665' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kern_addr_valid'>
+        <parameter type-id='type-id-100' name='addr' filepath='arch/arm64/mm/mmu.c' line='665' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='arch/arm64/mm/pageattr.c' language='LANG_C89'>
+      <function-decl name='set_memory_valid' mangled-name='set_memory_valid' filepath='arch/arm64/mm/pageattr.c' line='129' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='set_memory_valid'>
+        <parameter type-id='type-id-100' name='addr' filepath='arch/arm64/mm/pageattr.c' line='129' column='1'/>
+        <parameter type-id='type-id-11' name='numpages' filepath='arch/arm64/mm/pageattr.c' line='129' column='1'/>
+        <parameter type-id='type-id-11' name='enable' filepath='arch/arm64/mm/pageattr.c' line='129' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='arch/arm64/mm/pgd.c' language='LANG_C89'>
+      <function-decl name='free_pages' mangled-name='free_pages' filepath='include/linux/gfp.h' line='574' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='free_pages'>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='arch/arm64/net/bpf_jit_comp.c' language='LANG_C89'>
+      <function-decl name='print_hex_dump' mangled-name='print_hex_dump' filepath='include/linux/printk.h' line='492' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='print_hex_dump'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-264'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='block/badblocks.c' language='LANG_C89'>
+      <function-decl name='devm_kfree' mangled-name='devm_kfree' filepath='include/linux/device.h' line='711' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_kfree'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='block/bio.c' language='LANG_C89'>
+      <function-decl name='bio_chain' mangled-name='bio_chain' filepath='block/bio.c' line='342' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bio_chain'>
+        <parameter type-id='type-id-265' name='bio' filepath='block/bio.c' line='342' column='1'/>
+        <parameter type-id='type-id-265' name='parent' filepath='block/bio.c' line='342' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </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='type-id-266' filepath='include/linux/blk_types.h' line='269' column='1' id='type-id-267'/>
+      <function-decl name='pm_runtime_set_autosuspend_delay' mangled-name='pm_runtime_set_autosuspend_delay' filepath='include/linux/pm_runtime.h' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pm_runtime_set_autosuspend_delay'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='blk_cleanup_queue' mangled-name='blk_cleanup_queue' filepath='block/blk-core.c' line='757' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_cleanup_queue'>
+        <parameter type-id='type-id-268' name='q' filepath='block/blk-core.c' line='757' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='blk_get_request' mangled-name='blk_get_request' filepath='block/blk-core.c' line='1624' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_get_request'>
+        <parameter type-id='type-id-268' name='q' filepath='block/blk-core.c' line='1624' column='1'/>
+        <parameter type-id='type-id-10' name='op' filepath='block/blk-core.c' line='1624' column='1'/>
+        <parameter type-id='type-id-267' name='flags' filepath='block/blk-core.c' line='1625' column='1'/>
+        <return type-id='type-id-269'/>
+      </function-decl>
+      <function-decl name='blk_put_request' mangled-name='blk_put_request' filepath='block/blk-core.c' line='1792' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_put_request'>
+        <parameter type-id='type-id-269' name='req' filepath='block/blk-core.c' line='1792' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='block/blk-exec.c' language='LANG_C89'>
+      <function-decl name='blk_execute_rq' mangled-name='blk_execute_rq' filepath='block/blk-exec.c' line='94' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_execute_rq'>
+        <parameter type-id='type-id-268' name='q' filepath='block/blk-exec.c' line='94' column='1'/>
+        <parameter type-id='type-id-270' name='bd_disk' filepath='block/blk-exec.c' line='94' column='1'/>
+        <parameter type-id='type-id-269' name='rq' filepath='block/blk-exec.c' line='95' column='1'/>
+        <parameter type-id='type-id-11' name='at_head' filepath='block/blk-exec.c' line='95' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='block/blk-flush.c' language='LANG_C89'>
+      <function-decl name='blk_mq_end_request' mangled-name='blk_mq_end_request' filepath='include/linux/blk-mq.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_mq_end_request'>
+        <parameter type-id='type-id-269'/>
+        <parameter type-id='type-id-271'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='block/blk-map.c' language='LANG_C89'>
+      <function-decl name='blk_rq_map_kern' mangled-name='blk_rq_map_kern' filepath='block/blk-map.c' line='215' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_rq_map_kern'>
+        <parameter type-id='type-id-268' name='q' filepath='block/blk-map.c' line='215' column='1'/>
+        <parameter type-id='type-id-269' name='rq' filepath='block/blk-map.c' line='215' column='1'/>
+        <parameter type-id='type-id-3' name='kbuf' filepath='block/blk-map.c' line='215' column='1'/>
+        <parameter type-id='type-id-10' name='len' filepath='block/blk-map.c' line='216' column='1'/>
+        <parameter type-id='type-id-272' name='gfp_mask' filepath='block/blk-map.c' line='216' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='block/blk-merge.c' language='LANG_C89'>
+      <function-decl name='blk_rq_map_sg' mangled-name='blk_rq_map_sg' filepath='block/blk-merge.c' line='431' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_rq_map_sg'>
+        <parameter type-id='type-id-268' name='q' filepath='block/blk-merge.c' line='431' column='1'/>
+        <parameter type-id='type-id-269' name='rq' filepath='block/blk-merge.c' line='431' column='1'/>
+        <parameter type-id='type-id-33' name='sglist' filepath='block/blk-merge.c' line='432' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='block/blk-mq-pci.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-273' size-in-bits='704' id='type-id-274'>
+        <subrange length='11' type-id='type-id-5' id='type-id-275'/>
+
+      </array-type-def>
+      <class-decl name='hotplug_slot' size-in-bits='384' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-276'/>
+      <class-decl name='msi_controller' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-277'/>
+      <class-decl name='pci_vpd' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-278'/>
+      <array-type-def dimensions='1' type-id='type-id-279' size-in-bits='256' id='type-id-280'>
+        <subrange length='4' type-id='type-id-5' id='type-id-281'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-282' size-in-bits='5632' id='type-id-283'>
+        <subrange length='11' type-id='type-id-5' id='type-id-275'/>
+
+      </array-type-def>
+      <class-decl name='pci_dev' size-in-bits='15744' is-struct='yes' visibility='default' filepath='include/linux/pci.h' line='286' column='1' id='type-id-284'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bus_list' type-id='type-id-8' visibility='default' filepath='include/linux/pci.h' line='287' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='bus' type-id='type-id-285' visibility='default' filepath='include/linux/pci.h' line='288' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='subordinate' type-id='type-id-285' visibility='default' filepath='include/linux/pci.h' line='289' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='sysdata' type-id='type-id-3' visibility='default' filepath='include/linux/pci.h' line='291' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='procent' type-id='type-id-286' visibility='default' filepath='include/linux/pci.h' line='292' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='slot' type-id='type-id-287' visibility='default' filepath='include/linux/pci.h' line='293' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='devfn' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='295' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='vendor' type-id='type-id-288' visibility='default' filepath='include/linux/pci.h' line='296' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='496'>
+          <var-decl name='device' type-id='type-id-288' visibility='default' filepath='include/linux/pci.h' line='297' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='subsystem_vendor' type-id='type-id-288' visibility='default' filepath='include/linux/pci.h' line='298' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='528'>
+          <var-decl name='subsystem_device' type-id='type-id-288' visibility='default' filepath='include/linux/pci.h' line='299' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='class' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='300' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='revision' type-id='type-id-53' visibility='default' filepath='include/linux/pci.h' line='301' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='584'>
+          <var-decl name='hdr_type' type-id='type-id-53' visibility='default' filepath='include/linux/pci.h' line='302' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='592'>
+          <var-decl name='pcie_cap' type-id='type-id-53' visibility='default' filepath='include/linux/pci.h' line='307' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='600'>
+          <var-decl name='msi_cap' type-id='type-id-53' visibility='default' filepath='include/linux/pci.h' line='308' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='msix_cap' type-id='type-id-53' visibility='default' filepath='include/linux/pci.h' line='309' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5'>
+          <var-decl name='pcie_mpss' type-id='type-id-53' visibility='default' filepath='include/linux/pci.h' line='310' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='624'>
+          <var-decl name='rom_base_reg' type-id='type-id-53' visibility='default' filepath='include/linux/pci.h' line='311' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='632'>
+          <var-decl name='pin' type-id='type-id-53' visibility='default' filepath='include/linux/pci.h' line='312' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='pcie_flags_reg' type-id='type-id-289' visibility='default' filepath='include/linux/pci.h' line='313' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='dma_alias_mask' type-id='type-id-76' visibility='default' filepath='include/linux/pci.h' line='314' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='driver' type-id='type-id-290' visibility='default' filepath='include/linux/pci.h' line='316' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='dma_mask' type-id='type-id-134' visibility='default' filepath='include/linux/pci.h' line='317' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='dma_parms' type-id='type-id-291' visibility='default' filepath='include/linux/pci.h' line='323' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='current_state' type-id='type-id-292' visibility='default' filepath='include/linux/pci.h' line='325' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1056'>
+          <var-decl name='pm_cap' type-id='type-id-53' visibility='default' filepath='include/linux/pci.h' line='328' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='19'>
+          <var-decl name='pme_support' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='329' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='18'>
+          <var-decl name='pme_poll' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='331' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='17'>
+          <var-decl name='d1_support' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='332' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='d2_support' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='333' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15'>
+          <var-decl name='no_d1d2' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='334' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14'>
+          <var-decl name='no_d3cold' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='335' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13'>
+          <var-decl name='no_d3hot' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='336' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12'>
+          <var-decl name='bridge_d3' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='337' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11'>
+          <var-decl name='d3cold_allowed' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='338' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10'>
+          <var-decl name='mmio_always_on' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='339' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9'>
+          <var-decl name='wakeup_prepared' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='341' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='runtime_d3cold' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='342' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7'>
+          <var-decl name='ignore_hotplug' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='346' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6'>
+          <var-decl name='hotplug_user_indicators' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='347' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5'>
+          <var-decl name='clear_retrain_link' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='350' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='d3_delay' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='352' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1120'>
+          <var-decl name='d3cold_delay' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='353' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='eetlp_prefix_path' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='360' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1184'>
+          <var-decl name='error_state' type-id='type-id-293' visibility='default' filepath='include/linux/pci.h' line='362' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='include/linux/pci.h' line='363' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7424'>
+          <var-decl name='cfg_size' type-id='type-id-11' visibility='default' filepath='include/linux/pci.h' line='365' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7456'>
+          <var-decl name='irq' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='371' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7488'>
+          <var-decl name='resource' type-id='type-id-283' visibility='default' filepath='include/linux/pci.h' line='372' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13120'>
+          <var-decl name='match_driver' type-id='type-id-211' visibility='default' filepath='include/linux/pci.h' line='374' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='23'>
+          <var-decl name='transparent' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='376' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='22'>
+          <var-decl name='multifunction' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='377' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='21'>
+          <var-decl name='is_busmaster' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='379' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='20'>
+          <var-decl name='no_msi' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='380' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='19'>
+          <var-decl name='no_64bit_msi' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='381' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='18'>
+          <var-decl name='block_cfg_access' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='382' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='17'>
+          <var-decl name='broken_parity_status' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='383' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15'>
+          <var-decl name='irq_reroute_variant' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='384' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14'>
+          <var-decl name='msi_enabled' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='385' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13'>
+          <var-decl name='msix_enabled' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='386' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12'>
+          <var-decl name='ari_enabled' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='387' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11'>
+          <var-decl name='ats_enabled' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='388' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10'>
+          <var-decl name='pasid_enabled' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='389' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9'>
+          <var-decl name='pri_enabled' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='390' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='is_managed' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='391' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7'>
+          <var-decl name='needs_freset' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='392' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6'>
+          <var-decl name='state_saved' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='393' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5'>
+          <var-decl name='is_physfn' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='394' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4'>
+          <var-decl name='is_virtfn' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='395' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3'>
+          <var-decl name='reset_fn' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='396' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2'>
+          <var-decl name='is_hotplug_bridge' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='397' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1'>
+          <var-decl name='shpc_managed' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='398' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13120'>
+          <var-decl name='is_thunderbolt' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='399' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='__aer_firmware_first_valid' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='400' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='__aer_firmware_first' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='401' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='29'>
+          <var-decl name='broken_intx_masking' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='402' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='28'>
+          <var-decl name='io_window_1k' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='403' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='27'>
+          <var-decl name='irq_managed' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='404' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='26'>
+          <var-decl name='has_secondary_link' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='405' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='25'>
+          <var-decl name='non_compliant_bars' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='406' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='is_probed' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='407' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13168'>
+          <var-decl name='dev_flags' type-id='type-id-295' visibility='default' filepath='include/linux/pci.h' line='408' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13184'>
+          <var-decl name='enable_cnt' type-id='type-id-137' visibility='default' filepath='include/linux/pci.h' line='409' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13216'>
+          <var-decl name='saved_config_space' type-id='type-id-296' visibility='default' filepath='include/linux/pci.h' line='411' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13760'>
+          <var-decl name='saved_cap_space' type-id='type-id-297' visibility='default' filepath='include/linux/pci.h' line='412' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13824'>
+          <var-decl name='rom_attr' type-id='type-id-273' visibility='default' filepath='include/linux/pci.h' line='413' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13888'>
+          <var-decl name='rom_attr_enabled' type-id='type-id-11' visibility='default' filepath='include/linux/pci.h' line='414' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13952'>
+          <var-decl name='res_attr' type-id='type-id-274' visibility='default' filepath='include/linux/pci.h' line='415' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14656'>
+          <var-decl name='res_attr_wc' type-id='type-id-274' visibility='default' filepath='include/linux/pci.h' line='416' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15360'>
+          <var-decl name='msi_irq_groups' type-id='type-id-298' visibility='default' filepath='include/linux/pci.h' line='427' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15424'>
+          <var-decl name='vpd' type-id='type-id-299' visibility='default' filepath='include/linux/pci.h' line='429' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15488'>
+          <var-decl name='rom' type-id='type-id-206' visibility='default' filepath='include/linux/pci.h' line='445' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15552'>
+          <var-decl name='romlen' type-id='type-id-125' visibility='default' filepath='include/linux/pci.h' line='446' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15616'>
+          <var-decl name='driver_override' type-id='type-id-300' visibility='default' filepath='include/linux/pci.h' line='447' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15680'>
+          <var-decl name='priv_flags' type-id='type-id-100' visibility='default' filepath='include/linux/pci.h' line='449' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='pci_bus' size-in-bits='8768' is-struct='yes' visibility='default' filepath='include/linux/pci.h' line='546' column='1' id='type-id-301'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='node' type-id='type-id-8' visibility='default' filepath='include/linux/pci.h' line='547' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='parent' type-id='type-id-285' visibility='default' filepath='include/linux/pci.h' line='548' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='children' type-id='type-id-8' visibility='default' filepath='include/linux/pci.h' line='549' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='devices' type-id='type-id-8' visibility='default' filepath='include/linux/pci.h' line='550' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='self' type-id='type-id-302' visibility='default' filepath='include/linux/pci.h' line='551' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='slots' type-id='type-id-8' visibility='default' filepath='include/linux/pci.h' line='552' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='resource' type-id='type-id-280' visibility='default' filepath='include/linux/pci.h' line='554' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='resources' type-id='type-id-8' visibility='default' filepath='include/linux/pci.h' line='555' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='busn_res' type-id='type-id-282' visibility='default' filepath='include/linux/pci.h' line='556' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='ops' type-id='type-id-303' visibility='default' filepath='include/linux/pci.h' line='558' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='msi' type-id='type-id-304' visibility='default' filepath='include/linux/pci.h' line='559' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='sysdata' type-id='type-id-3' visibility='default' filepath='include/linux/pci.h' line='560' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='procdir' type-id='type-id-286' visibility='default' filepath='include/linux/pci.h' line='561' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='number' type-id='type-id-271' visibility='default' filepath='include/linux/pci.h' line='563' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1800'>
+          <var-decl name='primary' type-id='type-id-271' visibility='default' filepath='include/linux/pci.h' line='564' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1808'>
+          <var-decl name='max_bus_speed' type-id='type-id-271' visibility='default' filepath='include/linux/pci.h' line='565' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1816'>
+          <var-decl name='cur_bus_speed' type-id='type-id-271' visibility='default' filepath='include/linux/pci.h' line='566' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1824'>
+          <var-decl name='domain_nr' type-id='type-id-11' visibility='default' filepath='include/linux/pci.h' line='568' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='name' type-id='type-id-305' visibility='default' filepath='include/linux/pci.h' line='571' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='bridge_ctl' type-id='type-id-288' visibility='default' filepath='include/linux/pci.h' line='573' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2256'>
+          <var-decl name='bus_flags' type-id='type-id-306' visibility='default' filepath='include/linux/pci.h' line='574' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='bridge' type-id='type-id-86' visibility='default' filepath='include/linux/pci.h' line='575' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='include/linux/pci.h' line='576' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8576'>
+          <var-decl name='legacy_io' type-id='type-id-273' visibility='default' filepath='include/linux/pci.h' line='577' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8640'>
+          <var-decl name='legacy_mem' type-id='type-id-273' visibility='default' filepath='include/linux/pci.h' line='578' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='is_added' type-id='type-id-10' visibility='default' filepath='include/linux/pci.h' line='579' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='pci_ops' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/pci.h' line='670' column='1' id='type-id-307'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='add_bus' type-id='type-id-308' visibility='default' filepath='include/linux/pci.h' line='671' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='remove_bus' type-id='type-id-309' visibility='default' filepath='include/linux/pci.h' line='672' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='map_bus' type-id='type-id-310' visibility='default' filepath='include/linux/pci.h' line='673' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='read' type-id='type-id-311' visibility='default' filepath='include/linux/pci.h' line='674' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='write' type-id='type-id-312' visibility='default' filepath='include/linux/pci.h' line='675' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='pci_bus_flags_t' type-id='type-id-288' filepath='include/linux/pci.h' line='215' column='1' id='type-id-306'/>
+      <class-decl name='pci_slot' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/linux/pci.h' line='56' column='1' id='type-id-313'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bus' type-id='type-id-285' visibility='default' filepath='include/linux/pci.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/pci.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='hotplug' type-id='type-id-314' visibility='default' filepath='include/linux/pci.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='number' type-id='type-id-271' visibility='default' filepath='include/linux/pci.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='kobj' type-id='type-id-315' visibility='default' filepath='include/linux/pci.h' line='61' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='pci_driver' size-in-bits='2176' is-struct='yes' visibility='default' filepath='include/linux/pci.h' line='755' column='1' id='type-id-316'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='node' type-id='type-id-8' visibility='default' filepath='include/linux/pci.h' line='756' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/pci.h' line='757' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='id_table' type-id='type-id-317' visibility='default' filepath='include/linux/pci.h' line='758' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='probe' type-id='type-id-318' visibility='default' filepath='include/linux/pci.h' line='759' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='remove' type-id='type-id-319' visibility='default' filepath='include/linux/pci.h' line='760' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='suspend' type-id='type-id-320' visibility='default' filepath='include/linux/pci.h' line='761' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='suspend_late' type-id='type-id-320' visibility='default' filepath='include/linux/pci.h' line='762' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='resume_early' type-id='type-id-321' visibility='default' filepath='include/linux/pci.h' line='763' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='resume' type-id='type-id-321' visibility='default' filepath='include/linux/pci.h' line='764' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='shutdown' type-id='type-id-319' visibility='default' filepath='include/linux/pci.h' line='765' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='sriov_configure' type-id='type-id-322' visibility='default' filepath='include/linux/pci.h' line='766' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='err_handler' type-id='type-id-323' visibility='default' filepath='include/linux/pci.h' line='767' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='groups' type-id='type-id-298' visibility='default' filepath='include/linux/pci.h' line='768' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='driver' type-id='type-id-324' visibility='default' filepath='include/linux/pci.h' line='769' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='dynids' type-id='type-id-325' visibility='default' filepath='include/linux/pci.h' line='770' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='pci_device_id' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/mod_devicetable.h' line='19' column='1' id='type-id-326'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='vendor' type-id='type-id-266' visibility='default' filepath='include/linux/mod_devicetable.h' line='20' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='device' type-id='type-id-266' visibility='default' filepath='include/linux/mod_devicetable.h' line='20' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='subvendor' type-id='type-id-266' visibility='default' filepath='include/linux/mod_devicetable.h' line='21' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='subdevice' type-id='type-id-266' visibility='default' filepath='include/linux/mod_devicetable.h' line='21' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='class' type-id='type-id-266' visibility='default' filepath='include/linux/mod_devicetable.h' line='22' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='class_mask' type-id='type-id-266' visibility='default' filepath='include/linux/mod_devicetable.h' line='22' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='driver_data' type-id='type-id-327' visibility='default' filepath='include/linux/mod_devicetable.h' line='23' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='pci_error_handlers' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/pci.h' line='734' column='1' id='type-id-328'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='error_detected' type-id='type-id-329' visibility='default' filepath='include/linux/pci.h' line='736' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='mmio_enabled' type-id='type-id-330' visibility='default' filepath='include/linux/pci.h' line='740' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='slot_reset' type-id='type-id-330' visibility='default' filepath='include/linux/pci.h' line='743' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='reset_prepare' type-id='type-id-319' visibility='default' filepath='include/linux/pci.h' line='746' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='reset_done' type-id='type-id-319' visibility='default' filepath='include/linux/pci.h' line='747' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='resume' type-id='type-id-319' visibility='default' filepath='include/linux/pci.h' line='750' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='pci_ers_result_t' type-id='type-id-10' filepath='include/linux/pci.h' line='711' column='1' id='type-id-331'/>
+      <enum-decl name='pci_channel_state' filepath='include/linux/pci.h' line='160' column='1' id='type-id-332'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='pci_channel_io_normal' value='1'/>
+        <enumerator name='pci_channel_io_frozen' value='2'/>
+        <enumerator name='pci_channel_io_perm_failure' value='3'/>
+      </enum-decl>
+      <class-decl name='pci_dynids' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/pci.h' line='698' column='1' id='type-id-325'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/linux/pci.h' line='699' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/pci.h' line='700' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='pci_power_t' type-id='type-id-11' filepath='include/linux/pci.h' line='130' column='1' id='type-id-292'/>
+      <typedef-decl name='pci_channel_state_t' type-id='type-id-10' filepath='include/linux/pci.h' line='158' column='1' id='type-id-293'/>
+      <typedef-decl name='pci_dev_flags_t' type-id='type-id-288' filepath='include/linux/pci.h' line='184' column='1' id='type-id-295'/>
+      <qualified-type-def type-id='type-id-326' const='yes' id='type-id-333'/>
+      <pointer-type-def type-id='type-id-333' size-in-bits='64' id='type-id-317'/>
+      <qualified-type-def type-id='type-id-328' const='yes' id='type-id-334'/>
+      <pointer-type-def type-id='type-id-334' size-in-bits='64' id='type-id-323'/>
+      <pointer-type-def type-id='type-id-276' size-in-bits='64' id='type-id-314'/>
+      <pointer-type-def type-id='type-id-335' size-in-bits='64' id='type-id-308'/>
+      <pointer-type-def type-id='type-id-336' size-in-bits='64' id='type-id-312'/>
+      <pointer-type-def type-id='type-id-337' size-in-bits='64' id='type-id-311'/>
+      <pointer-type-def type-id='type-id-338' size-in-bits='64' id='type-id-321'/>
+      <pointer-type-def type-id='type-id-339' size-in-bits='64' id='type-id-318'/>
+      <pointer-type-def type-id='type-id-340' size-in-bits='64' id='type-id-322'/>
+      <pointer-type-def type-id='type-id-341' size-in-bits='64' id='type-id-320'/>
+      <pointer-type-def type-id='type-id-277' size-in-bits='64' id='type-id-304'/>
+      <pointer-type-def type-id='type-id-301' size-in-bits='64' id='type-id-285'/>
+      <pointer-type-def type-id='type-id-284' size-in-bits='64' id='type-id-302'/>
+      <pointer-type-def type-id='type-id-316' size-in-bits='64' id='type-id-290'/>
+      <pointer-type-def type-id='type-id-307' size-in-bits='64' id='type-id-303'/>
+      <pointer-type-def type-id='type-id-313' size-in-bits='64' id='type-id-287'/>
+      <pointer-type-def type-id='type-id-278' size-in-bits='64' id='type-id-299'/>
+      <pointer-type-def type-id='type-id-342' size-in-bits='64' id='type-id-330'/>
+      <pointer-type-def type-id='type-id-343' size-in-bits='64' id='type-id-329'/>
+      <pointer-type-def type-id='type-id-344' size-in-bits='64' id='type-id-309'/>
+      <pointer-type-def type-id='type-id-345' size-in-bits='64' id='type-id-319'/>
+      <pointer-type-def type-id='type-id-346' size-in-bits='64' id='type-id-310'/>
+      <function-decl name='pci_irq_get_affinity' mangled-name='pci_irq_get_affinity' filepath='include/linux/pci.h' line='1389' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_irq_get_affinity'>
+        <parameter type-id='type-id-302'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-162'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-335'>
+        <parameter type-id='type-id-285'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-336'>
+        <parameter type-id='type-id-285'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-9'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-337'>
+        <parameter type-id='type-id-285'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-347'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-338'>
+        <parameter type-id='type-id-302'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-339'>
+        <parameter type-id='type-id-302'/>
+        <parameter type-id='type-id-317'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-340'>
+        <parameter type-id='type-id-302'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-341'>
+        <parameter type-id='type-id-302'/>
+        <parameter type-id='type-id-348'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-342'>
+        <parameter type-id='type-id-302'/>
+        <return type-id='type-id-331'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-343'>
+        <parameter type-id='type-id-302'/>
+        <parameter type-id='type-id-332'/>
+        <return type-id='type-id-331'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-344'>
+        <parameter type-id='type-id-285'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-345'>
+        <parameter type-id='type-id-302'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-346'>
+        <parameter type-id='type-id-285'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-3'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='block/blk-mq.c' language='LANG_C89'>
+      <function-decl name='blk_mq_map_queues' mangled-name='blk_mq_map_queues' filepath='include/linux/blk-mq.h' line='294' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_mq_map_queues'>
+        <parameter type-id='type-id-349'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='blk_mq_alloc_tag_set' mangled-name='blk_mq_alloc_tag_set' filepath='block/blk-mq.c' line='2774' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_mq_alloc_tag_set'>
+        <parameter type-id='type-id-349' name='set' filepath='block/blk-mq.c' line='2774' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='blk_mq_complete_request' mangled-name='blk_mq_complete_request' filepath='block/blk-mq.c' line='616' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_mq_complete_request'>
+        <parameter type-id='type-id-269' name='rq' filepath='block/blk-mq.c' line='616' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='blk_mq_start_request' mangled-name='blk_mq_start_request' filepath='block/blk-mq.c' line='630' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_mq_start_request'>
+        <parameter type-id='type-id-269' name='rq' filepath='block/blk-mq.c' line='630' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='blk_mq_stop_hw_queue' mangled-name='blk_mq_stop_hw_queue' filepath='block/blk-mq.c' line='1464' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_mq_stop_hw_queue'>
+        <parameter type-id='type-id-350' name='hctx' filepath='block/blk-mq.c' line='1464' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='blk_mq_start_stopped_hw_queues' mangled-name='blk_mq_start_stopped_hw_queues' filepath='block/blk-mq.c' line='1519' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_mq_start_stopped_hw_queues'>
+        <parameter type-id='type-id-268' name='q' filepath='block/blk-mq.c' line='1519' column='1'/>
+        <parameter type-id='type-id-211' name='async' filepath='block/blk-mq.c' line='1519' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='blk_mq_init_queue' mangled-name='blk_mq_init_queue' filepath='block/blk-mq.c' line='2487' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_mq_init_queue'>
+        <parameter type-id='type-id-349' name='set' filepath='block/blk-mq.c' line='2487' column='1'/>
+        <return type-id='type-id-268'/>
+      </function-decl>
+      <function-decl name='blk_mq_free_tag_set' mangled-name='blk_mq_free_tag_set' filepath='block/blk-mq.c' line='2848' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_mq_free_tag_set'>
+        <parameter type-id='type-id-349' name='set' filepath='block/blk-mq.c' line='2848' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='block/blk-settings.c' language='LANG_C89'>
+      <function-decl name='blk_queue_max_hw_sectors' mangled-name='blk_queue_max_hw_sectors' filepath='block/blk-settings.c' line='237' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_queue_max_hw_sectors'>
+        <parameter type-id='type-id-268' name='q' filepath='block/blk-settings.c' line='237' column='1'/>
+        <parameter type-id='type-id-10' name='max_hw_sectors' filepath='block/blk-settings.c' line='237' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='blk_queue_max_segments' mangled-name='blk_queue_max_segments' filepath='block/blk-settings.c' line='323' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_queue_max_segments'>
+        <parameter type-id='type-id-268' name='q' filepath='block/blk-settings.c' line='323' column='1'/>
+        <parameter type-id='type-id-288' name='max_segments' filepath='block/blk-settings.c' line='323' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='blk_queue_max_segment_size' mangled-name='blk_queue_max_segment_size' filepath='block/blk-settings.c' line='360' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_queue_max_segment_size'>
+        <parameter type-id='type-id-268' name='q' filepath='block/blk-settings.c' line='360' column='1'/>
+        <parameter type-id='type-id-10' name='max_size' filepath='block/blk-settings.c' line='360' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='blk_queue_logical_block_size' mangled-name='blk_queue_logical_block_size' filepath='block/blk-settings.c' line='382' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_queue_logical_block_size'>
+        <parameter type-id='type-id-268' name='q' filepath='block/blk-settings.c' line='382' column='1'/>
+        <parameter type-id='type-id-10' name='size' filepath='block/blk-settings.c' line='382' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='blk_queue_physical_block_size' mangled-name='blk_queue_physical_block_size' filepath='block/blk-settings.c' line='404' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_queue_physical_block_size'>
+        <parameter type-id='type-id-268' name='q' filepath='block/blk-settings.c' line='404' column='1'/>
+        <parameter type-id='type-id-10' name='size' filepath='block/blk-settings.c' line='404' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='blk_queue_alignment_offset' mangled-name='blk_queue_alignment_offset' filepath='block/blk-settings.c' line='427' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_queue_alignment_offset'>
+        <parameter type-id='type-id-268' name='q' filepath='block/blk-settings.c' line='427' column='1'/>
+        <parameter type-id='type-id-10' name='offset' filepath='block/blk-settings.c' line='427' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='blk_queue_io_min' mangled-name='blk_queue_io_min' filepath='block/blk-settings.c' line='472' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_queue_io_min'>
+        <parameter type-id='type-id-268' name='q' filepath='block/blk-settings.c' line='472' column='1'/>
+        <parameter type-id='type-id-10' name='min' filepath='block/blk-settings.c' line='472' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='blk_queue_io_opt' mangled-name='blk_queue_io_opt' filepath='block/blk-settings.c' line='510' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_queue_io_opt'>
+        <parameter type-id='type-id-268' name='q' filepath='block/blk-settings.c' line='510' column='1'/>
+        <parameter type-id='type-id-10' name='opt' filepath='block/blk-settings.c' line='510' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='blk_queue_write_cache' mangled-name='blk_queue_write_cache' filepath='block/blk-settings.c' line='890' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_queue_write_cache'>
+        <parameter type-id='type-id-268' name='q' filepath='block/blk-settings.c' line='890' column='1'/>
+        <parameter type-id='type-id-211' name='wc' filepath='block/blk-settings.c' line='890' column='1'/>
+        <parameter type-id='type-id-211' name='fua' filepath='block/blk-settings.c' line='890' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='block/bsg.c' language='LANG_C89'>
+      <function-decl name='device_create' mangled-name='device_create' filepath='include/linux/device.h' line='1336' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_create'>
+        <parameter type-id='type-id-351'/>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-24'/>
+        <parameter is-variadic='yes'/>
+        <return type-id='type-id-86'/>
+      </function-decl>
+      <function-decl name='class_destroy' mangled-name='class_destroy' filepath='include/linux/device.h' line='549' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='class_destroy'>
+        <parameter type-id='type-id-351'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='block/elevator.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='256' id='type-id-352'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-354' size-in-bits='infinite' id='type-id-355'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-100' size-in-bits='448' id='type-id-356'>
+        <subrange length='7' type-id='type-id-5' id='type-id-357'/>
+
+      </array-type-def>
+      <class-decl name='__anonymous_struct__' size-in-bits='512' is-struct='yes' is-anonymous='yes' visibility='default' filepath='block/blk-mq.h' line='14' column='1' id='type-id-358'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='block/blk-mq.h' line='15' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='rq_list' type-id='type-id-8' visibility='default' filepath='block/blk-mq.h' line='16' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='rq_qos_ops' size-in-bits='512' is-struct='yes' visibility='default' filepath='block/blk-rq-qos.h' line='27' column='1' id='type-id-359'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='throttle' type-id='type-id-360' visibility='default' filepath='block/blk-rq-qos.h' line='28' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='track' type-id='type-id-361' visibility='default' filepath='block/blk-rq-qos.h' line='29' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='issue' type-id='type-id-362' visibility='default' filepath='block/blk-rq-qos.h' line='30' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='requeue' type-id='type-id-362' visibility='default' filepath='block/blk-rq-qos.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='done' type-id='type-id-362' visibility='default' filepath='block/blk-rq-qos.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='done_bio' type-id='type-id-363' visibility='default' filepath='block/blk-rq-qos.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='cleanup' type-id='type-id-363' visibility='default' filepath='block/blk-rq-qos.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='exit' type-id='type-id-364' visibility='default' filepath='block/blk-rq-qos.h' line='35' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='rq_qos_id' filepath='block/blk-rq-qos.h' line='10' column='1' id='type-id-365'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='RQ_QOS_WBT' value='0'/>
+        <enumerator name='RQ_QOS_CGROUP' value='1'/>
+      </enum-decl>
+      <typedef-decl name='queue_rq_fn' type-id='type-id-366' filepath='include/linux/blk-mq.h' line='100' column='1' id='type-id-367'/>
+      <class-decl name='blk_mq_hw_ctx' size-in-bits='4608' is-struct='yes' visibility='default' filepath='include/linux/blk-mq.h' line='15' column='1' id='type-id-368'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='' type-id='type-id-369' visibility='default' filepath='include/linux/blk-mq.h' line='16' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='run_work' type-id='type-id-370' visibility='default' filepath='include/linux/blk-mq.h' line='22' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='cpumask' type-id='type-id-371' visibility='default' filepath='include/linux/blk-mq.h' line='23' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='next_cpu' type-id='type-id-11' visibility='default' filepath='include/linux/blk-mq.h' line='24' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1312'>
+          <var-decl name='next_cpu_batch' type-id='type-id-11' visibility='default' filepath='include/linux/blk-mq.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/blk-mq.h' line='27' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='sched_data' type-id='type-id-3' visibility='default' filepath='include/linux/blk-mq.h' line='29' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='queue' type-id='type-id-268' visibility='default' filepath='include/linux/blk-mq.h' line='30' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='fq' type-id='type-id-372' visibility='default' filepath='include/linux/blk-mq.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='driver_data' type-id='type-id-3' visibility='default' filepath='include/linux/blk-mq.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='ctx_map' type-id='type-id-373' visibility='default' filepath='include/linux/blk-mq.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='dispatch_from' type-id='type-id-374' visibility='default' filepath='include/linux/blk-mq.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='dispatch_busy' type-id='type-id-10' visibility='default' filepath='include/linux/blk-mq.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1952'>
+          <var-decl name='nr_ctx' type-id='type-id-10' visibility='default' filepath='include/linux/blk-mq.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='ctxs' type-id='type-id-375' visibility='default' filepath='include/linux/blk-mq.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='dispatch_wait_lock' type-id='type-id-106' visibility='default' filepath='include/linux/blk-mq.h' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='dispatch_wait' type-id='type-id-376' visibility='default' filepath='include/linux/blk-mq.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='wait_index' type-id='type-id-137' visibility='default' filepath='include/linux/blk-mq.h' line='45' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='tags' type-id='type-id-377' visibility='default' filepath='include/linux/blk-mq.h' line='47' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='sched_tags' type-id='type-id-377' visibility='default' filepath='include/linux/blk-mq.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2624'>
+          <var-decl name='queued' type-id='type-id-100' visibility='default' filepath='include/linux/blk-mq.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2688'>
+          <var-decl name='run' type-id='type-id-100' visibility='default' filepath='include/linux/blk-mq.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2752'>
+          <var-decl name='dispatched' type-id='type-id-356' visibility='default' filepath='include/linux/blk-mq.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3200'>
+          <var-decl name='numa_node' type-id='type-id-10' visibility='default' filepath='include/linux/blk-mq.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3232'>
+          <var-decl name='queue_num' type-id='type-id-10' visibility='default' filepath='include/linux/blk-mq.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3264'>
+          <var-decl name='nr_active' type-id='type-id-137' visibility='default' filepath='include/linux/blk-mq.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3296'>
+          <var-decl name='nr_expired' type-id='type-id-10' visibility='default' filepath='include/linux/blk-mq.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3328'>
+          <var-decl name='cpuhp_dead' type-id='type-id-378' visibility='default' filepath='include/linux/blk-mq.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3456'>
+          <var-decl name='kobj' type-id='type-id-315' visibility='default' filepath='include/linux/blk-mq.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3968'>
+          <var-decl name='poll_considered' type-id='type-id-100' visibility='default' filepath='include/linux/blk-mq.h' line='64' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4032'>
+          <var-decl name='poll_invoked' type-id='type-id-100' visibility='default' filepath='include/linux/blk-mq.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4096'>
+          <var-decl name='poll_success' type-id='type-id-100' visibility='default' filepath='include/linux/blk-mq.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4160'>
+          <var-decl name='srcu' type-id='type-id-355' visibility='default' filepath='include/linux/blk-mq.h' line='74' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__1' size-in-bits='512' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/blk-mq.h' line='16' column='1' id='type-id-369'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/linux/blk-mq.h' line='17' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dispatch' type-id='type-id-8' visibility='default' filepath='include/linux/blk-mq.h' line='18' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='state' type-id='type-id-100' visibility='default' filepath='include/linux/blk-mq.h' line='19' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='blk_flush_queue' size-in-bits='704' is-struct='yes' visibility='default' filepath='block/blk.h' line='22' column='1' id='type-id-379'>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='flush_queue_delayed' type-id='type-id-10' visibility='default' filepath='block/blk.h' line='23' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='flush_pending_idx' type-id='type-id-10' visibility='default' filepath='block/blk.h' line='24' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='29'>
+          <var-decl name='flush_running_idx' type-id='type-id-10' visibility='default' filepath='block/blk.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='rq_status' type-id='type-id-380' visibility='default' filepath='block/blk.h' line='26' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='flush_pending_since' type-id='type-id-100' visibility='default' filepath='block/blk.h' line='27' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='flush_queue' type-id='type-id-352' visibility='default' filepath='block/blk.h' line='28' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='flush_data_in_flight' type-id='type-id-8' visibility='default' filepath='block/blk.h' line='29' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='flush_rq' type-id='type-id-269' visibility='default' filepath='block/blk.h' line='30' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='orig_rq' type-id='type-id-269' visibility='default' filepath='block/blk.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='mq_flush_lock' type-id='type-id-106' visibility='default' filepath='block/blk.h' line='37' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='sbitmap' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/sbitmap.h' line='49' column='1' id='type-id-373'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='depth' type-id='type-id-10' visibility='default' filepath='include/linux/sbitmap.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='shift' type-id='type-id-10' visibility='default' filepath='include/linux/sbitmap.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='map_nr' type-id='type-id-10' visibility='default' filepath='include/linux/sbitmap.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='map' type-id='type-id-381' visibility='default' filepath='include/linux/sbitmap.h' line='68' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='sbitmap_word' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/sbitmap.h' line='31' column='1' id='type-id-382'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='word' type-id='type-id-100' visibility='default' filepath='include/linux/sbitmap.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='depth' type-id='type-id-100' visibility='default' filepath='include/linux/sbitmap.h' line='40' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='blk_mq_tags' size-in-bits='1280' is-struct='yes' visibility='default' filepath='block/blk-mq-tag.h' line='10' column='1' id='type-id-383'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='nr_tags' type-id='type-id-10' visibility='default' filepath='block/blk-mq-tag.h' line='11' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='nr_reserved_tags' type-id='type-id-10' visibility='default' filepath='block/blk-mq-tag.h' line='12' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='active_queues' type-id='type-id-137' visibility='default' filepath='block/blk-mq-tag.h' line='14' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='bitmap_tags' type-id='type-id-384' visibility='default' filepath='block/blk-mq-tag.h' line='16' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='breserved_tags' type-id='type-id-384' visibility='default' filepath='block/blk-mq-tag.h' line='17' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='rqs' type-id='type-id-385' visibility='default' filepath='block/blk-mq-tag.h' line='19' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='static_rqs' type-id='type-id-385' visibility='default' filepath='block/blk-mq-tag.h' line='20' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='page_list' type-id='type-id-8' visibility='default' filepath='block/blk-mq-tag.h' line='21' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='sbitmap_queue' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/sbitmap.h' line='98' column='1' id='type-id-384'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='sb' type-id='type-id-373' visibility='default' filepath='include/linux/sbitmap.h' line='102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='alloc_hint' type-id='type-id-72' visibility='default' filepath='include/linux/sbitmap.h' line='110' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='wake_batch' type-id='type-id-10' visibility='default' filepath='include/linux/sbitmap.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='wake_index' type-id='type-id-137' visibility='default' filepath='include/linux/sbitmap.h' line='121' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='ws' type-id='type-id-386' visibility='default' filepath='include/linux/sbitmap.h' line='126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='round_robin' type-id='type-id-211' visibility='default' filepath='include/linux/sbitmap.h' line='131' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='min_shallow_depth' type-id='type-id-10' visibility='default' filepath='include/linux/sbitmap.h' line='137' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='sbq_wait_state' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/sbitmap.h' line='77' column='1' id='type-id-387'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='wait_cnt' type-id='type-id-137' visibility='default' filepath='include/linux/sbitmap.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='wait' type-id='type-id-388' visibility='default' filepath='include/linux/sbitmap.h' line='86' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='blk_mq_queue_data' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/blk-mq.h' line='95' column='1' id='type-id-389'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='rq' type-id='type-id-269' visibility='default' filepath='include/linux/blk-mq.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='last' type-id='type-id-211' visibility='default' filepath='include/linux/blk-mq.h' line='97' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='get_budget_fn' type-id='type-id-390' filepath='include/linux/blk-mq.h' line='102' column='1' id='type-id-391'/>
+      <typedef-decl name='put_budget_fn' type-id='type-id-392' filepath='include/linux/blk-mq.h' line='103' column='1' id='type-id-393'/>
+      <typedef-decl name='timeout_fn' type-id='type-id-394' filepath='include/linux/blk-mq.h' line='104' column='1' id='type-id-395'/>
+      <typedef-decl name='poll_fn' type-id='type-id-396' filepath='include/linux/blk-mq.h' line='115' column='1' id='type-id-397'/>
+      <typedef-decl name='init_hctx_fn' type-id='type-id-398' filepath='include/linux/blk-mq.h' line='105' column='1' id='type-id-399'/>
+      <typedef-decl name='exit_hctx_fn' type-id='type-id-400' filepath='include/linux/blk-mq.h' line='106' column='1' id='type-id-401'/>
+      <typedef-decl name='init_request_fn' type-id='type-id-402' filepath='include/linux/blk-mq.h' line='107' column='1' id='type-id-403'/>
+      <class-decl name='blk_mq_tag_set' size-in-bits='896' is-struct='yes' visibility='default' filepath='include/linux/blk-mq.h' line='77' column='1' id='type-id-404'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mq_map' type-id='type-id-72' visibility='default' filepath='include/linux/blk-mq.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ops' type-id='type-id-405' visibility='default' filepath='include/linux/blk-mq.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='nr_hw_queues' type-id='type-id-10' visibility='default' filepath='include/linux/blk-mq.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='queue_depth' type-id='type-id-10' visibility='default' filepath='include/linux/blk-mq.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='reserved_tags' type-id='type-id-10' visibility='default' filepath='include/linux/blk-mq.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='cmd_size' type-id='type-id-10' visibility='default' filepath='include/linux/blk-mq.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='numa_node' type-id='type-id-11' visibility='default' filepath='include/linux/blk-mq.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='timeout' type-id='type-id-10' visibility='default' filepath='include/linux/blk-mq.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='include/linux/blk-mq.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='driver_data' type-id='type-id-3' visibility='default' filepath='include/linux/blk-mq.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='tags' type-id='type-id-406' visibility='default' filepath='include/linux/blk-mq.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='tag_list_lock' type-id='type-id-407' visibility='default' filepath='include/linux/blk-mq.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='tag_list' type-id='type-id-8' visibility='default' filepath='include/linux/blk-mq.h' line='92' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='exit_request_fn' type-id='type-id-408' filepath='include/linux/blk-mq.h' line='109' column='1' id='type-id-409'/>
+      <typedef-decl name='cleanup_rq_fn' type-id='type-id-410' filepath='include/linux/blk-mq.h' line='117' column='1' id='type-id-411'/>
+      <typedef-decl name='map_queues_fn' type-id='type-id-412' filepath='include/linux/blk-mq.h' line='116' column='1' id='type-id-413'/>
+      <pointer-type-def type-id='type-id-379' size-in-bits='64' id='type-id-372'/>
+      <pointer-type-def type-id='type-id-374' size-in-bits='64' id='type-id-375'/>
+      <pointer-type-def type-id='type-id-368' size-in-bits='64' id='type-id-350'/>
+      <pointer-type-def type-id='type-id-350' size-in-bits='64' id='type-id-414'/>
+      <pointer-type-def type-id='type-id-404' size-in-bits='64' id='type-id-349'/>
+      <pointer-type-def type-id='type-id-383' size-in-bits='64' id='type-id-377'/>
+      <pointer-type-def type-id='type-id-377' size-in-bits='64' id='type-id-406'/>
+      <pointer-type-def type-id='type-id-415' size-in-bits='64' id='type-id-416'/>
+      <pointer-type-def type-id='type-id-411' size-in-bits='64' id='type-id-417'/>
+      <qualified-type-def type-id='type-id-389' const='yes' id='type-id-418'/>
+      <pointer-type-def type-id='type-id-418' size-in-bits='64' id='type-id-419'/>
+      <qualified-type-def type-id='type-id-420' const='yes' id='type-id-421'/>
+      <pointer-type-def type-id='type-id-421' size-in-bits='64' id='type-id-422'/>
+      <pointer-type-def type-id='type-id-401' size-in-bits='64' id='type-id-423'/>
+      <pointer-type-def type-id='type-id-409' size-in-bits='64' id='type-id-424'/>
+      <pointer-type-def type-id='type-id-391' size-in-bits='64' id='type-id-425'/>
+      <pointer-type-def type-id='type-id-399' size-in-bits='64' id='type-id-426'/>
+      <pointer-type-def type-id='type-id-403' size-in-bits='64' id='type-id-427'/>
+      <pointer-type-def type-id='type-id-428' size-in-bits='64' id='type-id-429'/>
+      <pointer-type-def type-id='type-id-413' size-in-bits='64' id='type-id-430'/>
+      <pointer-type-def type-id='type-id-397' size-in-bits='64' id='type-id-431'/>
+      <pointer-type-def type-id='type-id-393' size-in-bits='64' id='type-id-432'/>
+      <pointer-type-def type-id='type-id-367' size-in-bits='64' id='type-id-433'/>
+      <pointer-type-def type-id='type-id-359' size-in-bits='64' id='type-id-434'/>
+      <pointer-type-def type-id='type-id-382' size-in-bits='64' id='type-id-381'/>
+      <pointer-type-def type-id='type-id-387' size-in-bits='64' id='type-id-386'/>
+      <pointer-type-def type-id='type-id-395' size-in-bits='64' id='type-id-435'/>
+      <pointer-type-def type-id='type-id-436' size-in-bits='64' id='type-id-437'/>
+      <pointer-type-def type-id='type-id-438' size-in-bits='64' id='type-id-364'/>
+      <pointer-type-def type-id='type-id-439' size-in-bits='64' id='type-id-363'/>
+      <pointer-type-def type-id='type-id-440' size-in-bits='64' id='type-id-360'/>
+      <pointer-type-def type-id='type-id-441' size-in-bits='64' id='type-id-362'/>
+      <pointer-type-def type-id='type-id-442' size-in-bits='64' id='type-id-361'/>
+      <function-decl name='blk_mq_quiesce_queue' mangled-name='blk_mq_quiesce_queue' filepath='include/linux/blk-mq.h' line='280' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_mq_quiesce_queue'>
+        <parameter type-id='type-id-268'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='blk_mq_unquiesce_queue' mangled-name='blk_mq_unquiesce_queue' filepath='include/linux/blk-mq.h' line='281' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_mq_unquiesce_queue'>
+        <parameter type-id='type-id-268'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-394'>
+        <parameter type-id='type-id-269'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-443'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-396'>
+        <parameter type-id='type-id-350'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-398'>
+        <parameter type-id='type-id-350'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-412'>
+        <parameter type-id='type-id-349'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-402'>
+        <parameter type-id='type-id-349'/>
+        <parameter type-id='type-id-269'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-428'>
+        <parameter type-id='type-id-422'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-366'>
+        <parameter type-id='type-id-350'/>
+        <parameter type-id='type-id-419'/>
+        <return type-id='type-id-380'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-390'>
+        <parameter type-id='type-id-350'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-392'>
+        <parameter type-id='type-id-350'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-400'>
+        <parameter type-id='type-id-350'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-408'>
+        <parameter type-id='type-id-349'/>
+        <parameter type-id='type-id-269'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-436'>
+        <parameter type-id='type-id-444'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-410'>
+        <parameter type-id='type-id-269'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-438'>
+        <parameter type-id='type-id-445'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-439'>
+        <parameter type-id='type-id-445'/>
+        <parameter type-id='type-id-265'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-440'>
+        <parameter type-id='type-id-445'/>
+        <parameter type-id='type-id-265'/>
+        <parameter type-id='type-id-446'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-441'>
+        <parameter type-id='type-id-445'/>
+        <parameter type-id='type-id-269'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-442'>
+        <parameter type-id='type-id-445'/>
+        <parameter type-id='type-id-269'/>
+        <parameter type-id='type-id-265'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='block/genhd.c' language='LANG_C89'>
+      <function-decl name='kobject_uevent_env' mangled-name='kobject_uevent_env' filepath='include/linux/kobject.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kobject_uevent_env'>
+        <parameter type-id='type-id-87'/>
+        <parameter type-id='type-id-447'/>
+        <parameter type-id='type-id-257'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__alloc_disk_node' mangled-name='__alloc_disk_node' filepath='block/genhd.c' line='1435' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__alloc_disk_node'>
+        <parameter type-id='type-id-11' name='minors' filepath='block/genhd.c' line='1435' column='1'/>
+        <parameter type-id='type-id-11' name='node_id' filepath='block/genhd.c' line='1435' column='1'/>
+        <return type-id='type-id-270'/>
+      </function-decl>
+      <function-decl name='register_blkdev' mangled-name='register_blkdev' filepath='block/genhd.c' line='340' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='register_blkdev'>
+        <parameter type-id='type-id-10' name='major' filepath='block/genhd.c' line='340' column='1'/>
+        <parameter type-id='type-id-24' name='name' filepath='block/genhd.c' line='340' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='unregister_blkdev' mangled-name='unregister_blkdev' filepath='block/genhd.c' line='404' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unregister_blkdev'>
+        <parameter type-id='type-id-10' name='major' filepath='block/genhd.c' line='404' column='1'/>
+        <parameter type-id='type-id-24' name='name' filepath='block/genhd.c' line='404' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='device_add_disk' mangled-name='device_add_disk' filepath='block/genhd.c' line='727' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_add_disk'>
+        <parameter type-id='type-id-86' name='parent' filepath='block/genhd.c' line='727' column='1'/>
+        <parameter type-id='type-id-270' name='disk' filepath='block/genhd.c' line='727' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='del_gendisk' mangled-name='del_gendisk' filepath='block/genhd.c' line='739' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='del_gendisk'>
+        <parameter type-id='type-id-270' name='disk' filepath='block/genhd.c' line='739' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='put_disk' mangled-name='put_disk' filepath='block/genhd.c' line='1509' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='put_disk'>
+        <parameter type-id='type-id-270' name='disk' filepath='block/genhd.c' line='1509' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='set_disk_ro' mangled-name='set_disk_ro' filepath='block/genhd.c' line='1548' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='set_disk_ro'>
+        <parameter type-id='type-id-270' name='disk' filepath='block/genhd.c' line='1548' column='1'/>
+        <parameter type-id='type-id-11' name='flag' filepath='block/genhd.c' line='1548' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='block/partition-generic.c' language='LANG_C89'>
+      <function-decl name='add_uevent_var' mangled-name='add_uevent_var' filepath='include/linux/kobject.h' line='245' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='add_uevent_var'>
+        <parameter type-id='type-id-448'/>
+        <parameter type-id='type-id-24'/>
+        <parameter is-variadic='yes'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='crypto/adiantum.c' language='LANG_C89'>
+      <class-decl name='sg_mapping_iter' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/scatterlist.h' line='413' column='1' id='type-id-449'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='page' type-id='type-id-120' visibility='default' filepath='include/linux/scatterlist.h' line='415' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='addr' type-id='type-id-3' visibility='default' filepath='include/linux/scatterlist.h' line='416' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='length' type-id='type-id-125' visibility='default' filepath='include/linux/scatterlist.h' line='417' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='consumed' type-id='type-id-125' visibility='default' filepath='include/linux/scatterlist.h' line='418' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='piter' type-id='type-id-450' visibility='default' filepath='include/linux/scatterlist.h' line='419' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='__offset' type-id='type-id-10' visibility='default' filepath='include/linux/scatterlist.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='__remaining' type-id='type-id-10' visibility='default' filepath='include/linux/scatterlist.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='__flags' type-id='type-id-10' visibility='default' filepath='include/linux/scatterlist.h' line='424' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='sg_page_iter' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/scatterlist.h' line='349' column='1' id='type-id-450'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='sg' type-id='type-id-33' visibility='default' filepath='include/linux/scatterlist.h' line='350' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='sg_pgoffset' type-id='type-id-10' visibility='default' filepath='include/linux/scatterlist.h' line='351' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='__nents' type-id='type-id-10' visibility='default' filepath='include/linux/scatterlist.h' line='354' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='__pg_advance' type-id='type-id-11' visibility='default' filepath='include/linux/scatterlist.h' line='355' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-449' size-in-bits='64' id='type-id-451'/>
+      <function-decl name='sg_nents' mangled-name='sg_nents' filepath='include/linux/scatterlist.h' line='254' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sg_nents'>
+        <parameter type-id='type-id-33'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='sg_miter_start' mangled-name='sg_miter_start' filepath='include/linux/scatterlist.h' line='427' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sg_miter_start'>
+        <parameter type-id='type-id-451'/>
+        <parameter type-id='type-id-33'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='sg_miter_next' mangled-name='sg_miter_next' filepath='include/linux/scatterlist.h' line='430' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sg_miter_next'>
+        <parameter type-id='type-id-451'/>
+        <return type-id='type-id-264'/>
+      </function-decl>
+      <function-decl name='sg_miter_stop' mangled-name='sg_miter_stop' filepath='include/linux/scatterlist.h' line='431' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sg_miter_stop'>
+        <parameter type-id='type-id-451'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='crypto/aead.c' language='LANG_C89'>
+      <class-decl name='crypto_aead' size-in-bits='2048' is-struct='yes' visibility='default' filepath='include/crypto/aead.h' line='154' column='1' id='type-id-452'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='authsize' type-id='type-id-10' visibility='default' filepath='include/crypto/aead.h' line='155' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='reqsize' type-id='type-id-10' visibility='default' filepath='include/crypto/aead.h' line='156' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='base' type-id='type-id-26' visibility='default' filepath='include/crypto/aead.h' line='158' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='aead_alg' size-in-bits='5120' is-struct='yes' visibility='default' filepath='include/crypto/aead.h' line='136' column='1' id='type-id-453'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='setkey' type-id='type-id-454' visibility='default' filepath='include/crypto/aead.h' line='137' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='setauthsize' type-id='type-id-455' visibility='default' filepath='include/crypto/aead.h' line='139' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='encrypt' type-id='type-id-456' visibility='default' filepath='include/crypto/aead.h' line='140' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='decrypt' type-id='type-id-456' visibility='default' filepath='include/crypto/aead.h' line='141' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='init' type-id='type-id-457' visibility='default' filepath='include/crypto/aead.h' line='142' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='exit' type-id='type-id-458' visibility='default' filepath='include/crypto/aead.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='geniv' type-id='type-id-24' visibility='default' filepath='include/crypto/aead.h' line='145' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='ivsize' type-id='type-id-10' visibility='default' filepath='include/crypto/aead.h' line='147' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='maxauthsize' type-id='type-id-10' visibility='default' filepath='include/crypto/aead.h' line='148' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='chunksize' type-id='type-id-10' visibility='default' filepath='include/crypto/aead.h' line='149' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='base' type-id='type-id-7' visibility='default' filepath='include/crypto/aead.h' line='151' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='aead_request' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/crypto/aead.h' line='86' column='1' id='type-id-459'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='base' type-id='type-id-32' visibility='default' filepath='include/crypto/aead.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='assoclen' type-id='type-id-10' visibility='default' filepath='include/crypto/aead.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='cryptlen' type-id='type-id-10' visibility='default' filepath='include/crypto/aead.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='iv' type-id='type-id-67' visibility='default' filepath='include/crypto/aead.h' line='92' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='src' type-id='type-id-33' visibility='default' filepath='include/crypto/aead.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='dst' type-id='type-id-33' visibility='default' filepath='include/crypto/aead.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='__ctx' type-id='type-id-4' visibility='default' filepath='include/crypto/aead.h' line='97' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-453' size-in-bits='64' id='type-id-460'/>
+      <pointer-type-def type-id='type-id-459' size-in-bits='64' id='type-id-461'/>
+      <pointer-type-def type-id='type-id-452' size-in-bits='64' id='type-id-462'/>
+      <pointer-type-def type-id='type-id-463' size-in-bits='64' id='type-id-456'/>
+      <pointer-type-def type-id='type-id-464' size-in-bits='64' id='type-id-457'/>
+      <pointer-type-def type-id='type-id-465' size-in-bits='64' id='type-id-454'/>
+      <pointer-type-def type-id='type-id-466' size-in-bits='64' id='type-id-455'/>
+      <pointer-type-def type-id='type-id-467' size-in-bits='64' id='type-id-458'/>
+      <function-decl name='crypto_aead_setkey' mangled-name='crypto_aead_setkey' filepath='crypto/aead.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_aead_setkey'>
+        <parameter type-id='type-id-462' name='tfm' filepath='crypto/aead.c' line='53' column='1'/>
+        <parameter type-id='type-id-55' name='key' filepath='crypto/aead.c' line='54' column='1'/>
+        <parameter type-id='type-id-10' name='keylen' filepath='crypto/aead.c' line='54' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='crypto_aead_setauthsize' mangled-name='crypto_aead_setauthsize' filepath='crypto/aead.c' line='74' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_aead_setauthsize'>
+        <parameter type-id='type-id-462' name='tfm' filepath='crypto/aead.c' line='74' column='1'/>
+        <parameter type-id='type-id-10' name='authsize' filepath='crypto/aead.c' line='74' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='crypto_alloc_aead' mangled-name='crypto_alloc_aead' filepath='crypto/aead.c' line='351' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_alloc_aead'>
+        <parameter type-id='type-id-24' name='alg_name' filepath='crypto/aead.c' line='351' column='1'/>
+        <parameter type-id='type-id-9' name='type' filepath='crypto/aead.c' line='351' column='1'/>
+        <parameter type-id='type-id-9' name='mask' filepath='crypto/aead.c' line='351' column='1'/>
+        <return type-id='type-id-462'/>
+      </function-decl>
+      <function-decl name='crypto_register_aead' mangled-name='crypto_register_aead' filepath='crypto/aead.c' line='375' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_register_aead'>
+        <parameter type-id='type-id-460' name='alg' filepath='crypto/aead.c' line='375' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='crypto_unregister_aead' mangled-name='crypto_unregister_aead' filepath='crypto/aead.c' line='388' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_unregister_aead'>
+        <parameter type-id='type-id-460' name='alg' filepath='crypto/aead.c' line='388' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-463'>
+        <parameter type-id='type-id-461'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-464'>
+        <parameter type-id='type-id-462'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-465'>
+        <parameter type-id='type-id-462' name='tfm'/>
+        <parameter type-id='type-id-55' name='key'/>
+        <parameter type-id='type-id-10' name='keylen'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-466'>
+        <parameter type-id='type-id-462' name='tfm'/>
+        <parameter type-id='type-id-10' name='authsize'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-467'>
+        <parameter type-id='type-id-462'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='crypto/ahash.c' language='LANG_C89'>
+      <class-decl name='ahash_alg' size-in-bits='6144' is-struct='yes' visibility='default' filepath='include/crypto/hash.h' line='133' column='1' id='type-id-468'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='init' type-id='type-id-469' visibility='default' filepath='include/crypto/hash.h' line='134' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='update' type-id='type-id-469' visibility='default' filepath='include/crypto/hash.h' line='135' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='final' type-id='type-id-469' visibility='default' filepath='include/crypto/hash.h' line='136' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='finup' type-id='type-id-469' visibility='default' filepath='include/crypto/hash.h' line='137' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='digest' type-id='type-id-469' visibility='default' filepath='include/crypto/hash.h' line='138' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='export' type-id='type-id-470' visibility='default' filepath='include/crypto/hash.h' line='139' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='import' type-id='type-id-470' visibility='default' filepath='include/crypto/hash.h' line='140' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='setkey' type-id='type-id-471' visibility='default' filepath='include/crypto/hash.h' line='141' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='halg' type-id='type-id-472' visibility='default' filepath='include/crypto/hash.h' line='144' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='hash_alg_common' size-in-bits='5120' is-struct='yes' visibility='default' filepath='include/crypto/hash.h' line='47' column='1' id='type-id-472'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='digestsize' type-id='type-id-10' visibility='default' filepath='include/crypto/hash.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='statesize' type-id='type-id-10' visibility='default' filepath='include/crypto/hash.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='base' type-id='type-id-7' visibility='default' filepath='include/crypto/hash.h' line='51' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-468' size-in-bits='64' id='type-id-473'/>
+      <function-decl name='crypto_ahash_setkey' mangled-name='crypto_ahash_setkey' filepath='crypto/ahash.c' line='208' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_ahash_setkey'>
+        <parameter type-id='type-id-474' name='tfm' filepath='crypto/ahash.c' line='208' column='1'/>
+        <parameter type-id='type-id-55' name='key' filepath='crypto/ahash.c' line='208' column='1'/>
+        <parameter type-id='type-id-10' name='keylen' filepath='crypto/ahash.c' line='209' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='crypto_register_ahash' mangled-name='crypto_register_ahash' filepath='crypto/ahash.c' line='575' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_register_ahash'>
+        <parameter type-id='type-id-473' name='alg' filepath='crypto/ahash.c' line='575' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='crypto_unregister_ahash' mangled-name='crypto_unregister_ahash' filepath='crypto/ahash.c' line='588' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_unregister_ahash'>
+        <parameter type-id='type-id-473' name='alg' filepath='crypto/ahash.c' line='588' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='crypto/crypto_engine.c' language='LANG_C89'>
+
+      <array-type-def dimensions='1' type-id='type-id-475' size-in-bits='240' id='type-id-476'>
+        <subrange length='30' type-id='type-id-5' id='type-id-477'/>
+
+      </array-type-def>
+      <class-decl name='rtattr' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-478'/>
+      <class-decl name='seq_file' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-479'/>
+      <class-decl name='crypto_queue' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/crypto/algapi.h' line='78' column='1' id='type-id-480'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/crypto/algapi.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='backlog' type-id='type-id-262' visibility='default' filepath='include/crypto/algapi.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='qlen' type-id='type-id-10' visibility='default' filepath='include/crypto/algapi.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='max_qlen' type-id='type-id-10' visibility='default' filepath='include/crypto/algapi.h' line='83' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='crypto_instance' size-in-bits='5120' is-struct='yes' visibility='default' filepath='include/crypto/algapi.h' line='49' column='1' id='type-id-481'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='alg' type-id='type-id-7' visibility='default' filepath='include/crypto/algapi.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4096'>
+          <var-decl name='tmpl' type-id='type-id-482' visibility='default' filepath='include/crypto/algapi.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4160'>
+          <var-decl name='list' type-id='type-id-378' visibility='default' filepath='include/crypto/algapi.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5120'>
+          <var-decl name='__ctx' type-id='type-id-4' visibility='default' filepath='include/crypto/algapi.h' line='55' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='crypto_template' size-in-bits='1472' is-struct='yes' visibility='default' filepath='include/crypto/algapi.h' line='58' column='1' id='type-id-483'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/crypto/algapi.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='instances' type-id='type-id-297' visibility='default' filepath='include/crypto/algapi.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='module' type-id='type-id-19' visibility='default' filepath='include/crypto/algapi.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='alloc' type-id='type-id-484' visibility='default' filepath='include/crypto/algapi.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='free' type-id='type-id-485' visibility='default' filepath='include/crypto/algapi.h' line='64' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='create' type-id='type-id-486' visibility='default' filepath='include/crypto/algapi.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='name' type-id='type-id-13' visibility='default' filepath='include/crypto/algapi.h' line='67' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__1' size-in-bits='512' is-anonymous='yes' visibility='default' filepath='include/linux/crypto.h' line='478' column='1' id='type-id-487'>
+        <data-member access='private'>
+          <var-decl name='ablkcipher' type-id='type-id-20' visibility='default' filepath='include/linux/crypto.h' line='479' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='blkcipher' type-id='type-id-47' visibility='default' filepath='include/linux/crypto.h' line='480' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='cipher' type-id='type-id-48' visibility='default' filepath='include/linux/crypto.h' line='481' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='compress' type-id='type-id-49' visibility='default' filepath='include/linux/crypto.h' line='482' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='crypto_engine' size-in-bits='1536' is-struct='yes' visibility='default' filepath='include/crypto/engine.h' line='48' column='1' id='type-id-488'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-476' visibility='default' filepath='include/crypto/engine.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='240'>
+          <var-decl name='idling' type-id='type-id-211' visibility='default' filepath='include/crypto/engine.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='248'>
+          <var-decl name='busy' type-id='type-id-211' visibility='default' filepath='include/crypto/engine.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='running' type-id='type-id-211' visibility='default' filepath='include/crypto/engine.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='264'>
+          <var-decl name='cur_req_prepared' type-id='type-id-211' visibility='default' filepath='include/crypto/engine.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/crypto/engine.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='queue_lock' type-id='type-id-106' visibility='default' filepath='include/crypto/engine.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='queue' type-id='type-id-480' visibility='default' filepath='include/crypto/engine.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/crypto/engine.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='rt' type-id='type-id-211' visibility='default' filepath='include/crypto/engine.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='prepare_crypt_hardware' type-id='type-id-489' visibility='default' filepath='include/crypto/engine.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='unprepare_crypt_hardware' type-id='type-id-489' visibility='default' filepath='include/crypto/engine.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='kworker' type-id='type-id-490' visibility='default' filepath='include/crypto/engine.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='pump_requests' type-id='type-id-491' visibility='default' filepath='include/crypto/engine.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='priv_data' type-id='type-id-3' visibility='default' filepath='include/crypto/engine.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='cur_req' type-id='type-id-56' visibility='default' filepath='include/crypto/engine.h' line='69' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-488' size-in-bits='64' id='type-id-492'/>
+      <pointer-type-def type-id='type-id-481' size-in-bits='64' id='type-id-493'/>
+      <pointer-type-def type-id='type-id-494' size-in-bits='64' id='type-id-484'/>
+      <pointer-type-def type-id='type-id-480' size-in-bits='64' id='type-id-495'/>
+      <pointer-type-def type-id='type-id-483' size-in-bits='64' id='type-id-482'/>
+      <pointer-type-def type-id='type-id-496' size-in-bits='64' id='type-id-489'/>
+      <pointer-type-def type-id='type-id-497' size-in-bits='64' id='type-id-486'/>
+      <pointer-type-def type-id='type-id-498' size-in-bits='64' id='type-id-499'/>
+      <pointer-type-def type-id='type-id-500' size-in-bits='64' id='type-id-501'/>
+      <pointer-type-def type-id='type-id-478' size-in-bits='64' id='type-id-502'/>
+      <pointer-type-def type-id='type-id-502' size-in-bits='64' id='type-id-503'/>
+      <pointer-type-def type-id='type-id-479' size-in-bits='64' id='type-id-504'/>
+      <pointer-type-def type-id='type-id-505' size-in-bits='64' id='type-id-506'/>
+      <pointer-type-def type-id='type-id-507' size-in-bits='64' id='type-id-508'/>
+      <pointer-type-def type-id='type-id-509' size-in-bits='64' id='type-id-485'/>
+      <pointer-type-def type-id='type-id-510' size-in-bits='64' id='type-id-511'/>
+      <function-decl name='crypto_init_queue' mangled-name='crypto_init_queue' filepath='include/crypto/algapi.h' line='191' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_init_queue'>
+        <parameter type-id='type-id-495'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='_dev_info' mangled-name='_dev_info' filepath='include/linux/device.h' line='1447' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_dev_info'>
+        <parameter type-id='type-id-512'/>
+        <parameter type-id='type-id-24'/>
+        <parameter is-variadic='yes'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='crypto_enqueue_request' mangled-name='crypto_enqueue_request' filepath='include/crypto/algapi.h' line='192' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_enqueue_request'>
+        <parameter type-id='type-id-495'/>
+        <parameter type-id='type-id-56'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='devm_kmalloc' mangled-name='devm_kmalloc' filepath='include/linux/device.h' line='686' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_kmalloc'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='crypto_dequeue_request' mangled-name='crypto_dequeue_request' filepath='include/crypto/algapi.h' line='194' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_dequeue_request'>
+        <parameter type-id='type-id-495'/>
+        <return type-id='type-id-56'/>
+      </function-decl>
+      <function-decl name='crypto_transfer_ablkcipher_request_to_engine' mangled-name='crypto_transfer_ablkcipher_request_to_engine' filepath='crypto/crypto_engine.c' line='228' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_transfer_ablkcipher_request_to_engine'>
+        <parameter type-id='type-id-492' name='engine' filepath='crypto/crypto_engine.c' line='228' column='1'/>
+        <parameter type-id='type-id-50' name='req' filepath='crypto/crypto_engine.c' line='229' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='crypto_finalize_ablkcipher_request' mangled-name='crypto_finalize_ablkcipher_request' filepath='crypto/crypto_engine.c' line='295' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_finalize_ablkcipher_request'>
+        <parameter type-id='type-id-492' name='engine' filepath='crypto/crypto_engine.c' line='295' column='1'/>
+        <parameter type-id='type-id-50' name='req' filepath='crypto/crypto_engine.c' line='296' column='1'/>
+        <parameter type-id='type-id-11' name='err' filepath='crypto/crypto_engine.c' line='296' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='crypto_engine_start' mangled-name='crypto_engine_start' filepath='crypto/crypto_engine.c' line='364' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_engine_start'>
+        <parameter type-id='type-id-492' name='engine' filepath='crypto/crypto_engine.c' line='364' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='crypto_engine_alloc_init' mangled-name='crypto_engine_alloc_init' filepath='crypto/crypto_engine.c' line='431' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_engine_alloc_init'>
+        <parameter type-id='type-id-86' name='dev' filepath='crypto/crypto_engine.c' line='431' column='1'/>
+        <parameter type-id='type-id-211' name='rt' filepath='crypto/crypto_engine.c' line='431' column='1'/>
+        <return type-id='type-id-492'/>
+      </function-decl>
+      <function-decl name='crypto_engine_exit' mangled-name='crypto_engine_exit' filepath='crypto/crypto_engine.c' line='478' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_engine_exit'>
+        <parameter type-id='type-id-492' name='engine' filepath='crypto/crypto_engine.c' line='478' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-494'>
+        <parameter type-id='type-id-503'/>
+        <return type-id='type-id-493'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-496'>
+        <parameter type-id='type-id-492'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-497'>
+        <parameter type-id='type-id-482'/>
+        <parameter type-id='type-id-503'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-498'>
+        <parameter type-id='type-id-35'/>
+        <parameter type-id='type-id-9'/>
+        <parameter type-id='type-id-9'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-500'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-28'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-505'>
+        <parameter type-id='type-id-28'/>
+        <return type-id='type-id-10'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-507'>
+        <parameter type-id='type-id-28'/>
+        <parameter type-id='type-id-9'/>
+        <parameter type-id='type-id-9'/>
+        <return type-id='type-id-10'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-509'>
+        <parameter type-id='type-id-493'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-510'>
+        <parameter type-id='type-id-504'/>
+        <parameter type-id='type-id-28'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='crypto/des_generic.c' language='LANG_C89'>
+      <function-decl name='des_ekey' mangled-name='des_ekey' filepath='crypto/des_generic.c' line='631' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='des_ekey'>
+        <parameter type-id='type-id-347' name='pe' filepath='crypto/des_generic.c' line='631' column='1'/>
+        <parameter type-id='type-id-55' name='k' filepath='crypto/des_generic.c' line='631' column='1'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='crypto/rng.c' language='LANG_C89'>
+      <class-decl name='rng_alg' size-in-bits='5120' is-struct='yes' visibility='default' filepath='include/crypto/rng.h' line='46' column='1' id='type-id-514'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='generate' type-id='type-id-515' visibility='default' filepath='include/crypto/rng.h' line='47' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='seed' type-id='type-id-516' visibility='default' filepath='include/crypto/rng.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='set_ent' type-id='type-id-517' visibility='default' filepath='include/crypto/rng.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='seedsize' type-id='type-id-10' visibility='default' filepath='include/crypto/rng.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='base' type-id='type-id-7' visibility='default' filepath='include/crypto/rng.h' line='56' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='crypto_rng' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/crypto/rng.h' line='59' column='1' id='type-id-518'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='base' type-id='type-id-26' visibility='default' filepath='include/crypto/rng.h' line='60' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='include/linux/crypto.h' line='597' column='1' id='type-id-519'>
+        <data-member access='private'>
+          <var-decl name='ablkcipher' type-id='type-id-29' visibility='default' filepath='include/linux/crypto.h' line='598' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='blkcipher' type-id='type-id-37' visibility='default' filepath='include/linux/crypto.h' line='599' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='cipher' type-id='type-id-43' visibility='default' filepath='include/linux/crypto.h' line='600' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='compress' type-id='type-id-45' visibility='default' filepath='include/linux/crypto.h' line='601' column='1'/>
+        </data-member>
+      </union-decl>
+      <pointer-type-def type-id='type-id-518' size-in-bits='64' id='type-id-520'/>
+      <pointer-type-def type-id='type-id-521' size-in-bits='64' id='type-id-516'/>
+      <pointer-type-def type-id='type-id-522' size-in-bits='64' id='type-id-515'/>
+      <pointer-type-def type-id='type-id-514' size-in-bits='64' id='type-id-523'/>
+      <pointer-type-def type-id='type-id-524' size-in-bits='64' id='type-id-517'/>
+      <function-decl name='crypto_register_rngs' mangled-name='crypto_register_rngs' filepath='crypto/rng.c' line='204' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_register_rngs'>
+        <parameter type-id='type-id-523' name='algs' filepath='crypto/rng.c' line='204' column='1'/>
+        <parameter type-id='type-id-11' name='count' filepath='crypto/rng.c' line='204' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='crypto_unregister_rngs' mangled-name='crypto_unregister_rngs' filepath='crypto/rng.c' line='224' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_unregister_rngs'>
+        <parameter type-id='type-id-523' name='algs' filepath='crypto/rng.c' line='224' column='1'/>
+        <parameter type-id='type-id-11' name='count' filepath='crypto/rng.c' line='224' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-521'>
+        <parameter type-id='type-id-520'/>
+        <parameter type-id='type-id-55'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-522'>
+        <parameter type-id='type-id-520'/>
+        <parameter type-id='type-id-55'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-67'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-524'>
+        <parameter type-id='type-id-520'/>
+        <parameter type-id='type-id-55'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='crypto/rsa-pkcs1pad.c' language='LANG_C89'>
+      <function-decl name='sg_nents_for_len' mangled-name='sg_nents_for_len' filepath='include/linux/scatterlist.h' line='255' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sg_nents_for_len'>
+        <parameter type-id='type-id-33'/>
+        <parameter type-id='type-id-177'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='sg_copy_to_buffer' mangled-name='sg_copy_to_buffer' filepath='include/linux/scatterlist.h' line='298' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sg_copy_to_buffer'>
+        <parameter type-id='type-id-33'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+      <function-decl name='sg_copy_from_buffer' mangled-name='sg_copy_from_buffer' filepath='include/linux/scatterlist.h' line='296' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sg_copy_from_buffer'>
+        <parameter type-id='type-id-33'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='crypto/scatterwalk.c' language='LANG_C89'>
+      <function-decl name='scatterwalk_ffwd' mangled-name='scatterwalk_ffwd' filepath='include/crypto/scatterwalk.h' line='116' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='scatterwalk_ffwd'>
+        <parameter type-id='type-id-33'/>
+        <parameter type-id='type-id-33'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-33'/>
+      </function-decl>
+      <function-decl name='scatterwalk_map_and_copy' mangled-name='scatterwalk_map_and_copy' filepath='crypto/scatterwalk.c' line='60' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='scatterwalk_map_and_copy'>
+        <parameter type-id='type-id-3' name='buf' filepath='crypto/scatterwalk.c' line='60' column='1'/>
+        <parameter type-id='type-id-33' name='sg' filepath='crypto/scatterwalk.c' line='60' column='1'/>
+        <parameter type-id='type-id-10' name='start' filepath='crypto/scatterwalk.c' line='61' column='1'/>
+        <parameter type-id='type-id-10' name='nbytes' filepath='crypto/scatterwalk.c' line='61' column='1'/>
+        <parameter type-id='type-id-11' name='out' filepath='crypto/scatterwalk.c' line='61' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='crypto/shash.c' language='LANG_C89'>
+      <function-decl name='crypto_shash_final' mangled-name='crypto_shash_final' filepath='crypto/shash.c' line='152' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_shash_final'>
+        <parameter type-id='type-id-525' name='desc' filepath='crypto/shash.c' line='152' column='1'/>
+        <parameter type-id='type-id-67' name='out' filepath='crypto/shash.c' line='152' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='crypto/skcipher.c' language='LANG_C89'>
+      <class-decl name='crypto_sync_skcipher' size-in-bits='2048' is-struct='yes' visibility='default' filepath='include/crypto/skcipher.h' line='68' column='1' id='type-id-526'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='base' type-id='type-id-527' visibility='default' filepath='include/crypto/skcipher.h' line='69' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-526' size-in-bits='64' id='type-id-528'/>
+      <function-decl name='crypto_alloc_sync_skcipher' mangled-name='crypto_alloc_sync_skcipher' filepath='crypto/skcipher.c' line='970' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_alloc_sync_skcipher'>
+        <parameter type-id='type-id-24' name='alg_name' filepath='crypto/skcipher.c' line='971' column='1'/>
+        <parameter type-id='type-id-9' name='type' filepath='crypto/skcipher.c' line='971' column='1'/>
+        <parameter type-id='type-id-9' name='mask' filepath='crypto/skcipher.c' line='971' column='1'/>
+        <return type-id='type-id-528'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/amba/bus.c' language='LANG_C89'>
+      <function-decl name='dev_pm_domain_attach' mangled-name='dev_pm_domain_attach' filepath='include/linux/pm_domain.h' line='309' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_pm_domain_attach'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-264'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='dev_pm_domain_detach' mangled-name='dev_pm_domain_detach' filepath='include/linux/pm_domain.h' line='314' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_pm_domain_detach'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-264'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='clk_get' mangled-name='clk_get' filepath='include/linux/clk.h' line='291' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clk_get'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-529'/>
+      </function-decl>
+      <function-decl name='clk_put' mangled-name='clk_put' filepath='include/linux/clk.h' line='475' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clk_put'>
+        <parameter type-id='type-id-529'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/base/arch_topology.c' language='LANG_C89'>
+      <function-decl name='arch_set_freq_scale' mangled-name='arch_set_freq_scale' filepath='drivers/base/arch_topology.c' line='24' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='arch_set_freq_scale'>
+        <parameter type-id='type-id-530' name='cpus' filepath='drivers/base/arch_topology.c' line='24' column='1'/>
+        <parameter type-id='type-id-100' name='cur_freq' filepath='drivers/base/arch_topology.c' line='24' column='1'/>
+        <parameter type-id='type-id-100' name='max_freq' filepath='drivers/base/arch_topology.c' line='25' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/base/bus.c' language='LANG_C89'>
+      <function-decl name='bus_find_device_by_name' mangled-name='bus_find_device_by_name' filepath='drivers/base/bus.c' line='372' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bus_find_device_by_name'>
+        <parameter type-id='type-id-531' name='bus' filepath='drivers/base/bus.c' line='372' column='1'/>
+        <parameter type-id='type-id-86' name='start' filepath='drivers/base/bus.c' line='373' column='1'/>
+        <parameter type-id='type-id-24' name='name' filepath='drivers/base/bus.c' line='373' column='1'/>
+        <return type-id='type-id-86'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/base/class.c' language='LANG_C89'>
+      <function-decl name='__class_register' mangled-name='__class_register' filepath='drivers/base/class.c' line='146' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__class_register'>
+        <parameter type-id='type-id-351' name='cls' filepath='drivers/base/class.c' line='146' column='1'/>
+        <parameter type-id='type-id-532' name='key' filepath='drivers/base/class.c' line='146' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__class_create' mangled-name='__class_create' filepath='drivers/base/class.c' line='219' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__class_create'>
+        <parameter type-id='type-id-19' name='owner' filepath='drivers/base/class.c' line='219' column='1'/>
+        <parameter type-id='type-id-24' name='name' filepath='drivers/base/class.c' line='219' column='1'/>
+        <parameter type-id='type-id-532' name='key' filepath='drivers/base/class.c' line='220' column='1'/>
+        <return type-id='type-id-351'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/base/component.c' language='LANG_C89'>
+      <class-decl name='component_ops' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/component.h' line='9' column='1' id='type-id-533'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bind' type-id='type-id-534' visibility='default' filepath='include/linux/component.h' line='10' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='unbind' type-id='type-id-535' visibility='default' filepath='include/linux/component.h' line='12' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-533' const='yes' id='type-id-536'/>
+      <pointer-type-def type-id='type-id-536' size-in-bits='64' id='type-id-537'/>
+      <pointer-type-def type-id='type-id-538' size-in-bits='64' id='type-id-534'/>
+      <pointer-type-def type-id='type-id-539' size-in-bits='64' id='type-id-535'/>
+      <function-decl name='component_master_del' mangled-name='component_master_del' filepath='drivers/base/component.c' line='416' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='component_master_del'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/base/component.c' line='416' column='1'/>
+        <parameter type-id='type-id-540' name='ops' filepath='drivers/base/component.c' line='417' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='component_unbind_all' mangled-name='component_unbind_all' filepath='drivers/base/component.c' line='443' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='component_unbind_all'>
+        <parameter type-id='type-id-86' name='master_dev' filepath='drivers/base/component.c' line='443' column='1'/>
+        <parameter type-id='type-id-3' name='data' filepath='drivers/base/component.c' line='443' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='component_bind_all' mangled-name='component_bind_all' filepath='drivers/base/component.c' line='516' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='component_bind_all'>
+        <parameter type-id='type-id-86' name='master_dev' filepath='drivers/base/component.c' line='516' column='1'/>
+        <parameter type-id='type-id-3' name='data' filepath='drivers/base/component.c' line='516' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='component_add' mangled-name='component_add' filepath='drivers/base/component.c' line='550' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='component_add'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/base/component.c' line='550' column='1'/>
+        <parameter type-id='type-id-537' name='ops' filepath='drivers/base/component.c' line='550' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='component_del' mangled-name='component_del' filepath='drivers/base/component.c' line='581' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='component_del'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/base/component.c' line='581' column='1'/>
+        <parameter type-id='type-id-537' name='ops' filepath='drivers/base/component.c' line='581' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-538'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-539'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/base/core.c' language='LANG_C89'>
+      <function-decl name='device_link_del' mangled-name='device_link_del' filepath='drivers/base/core.c' line='493' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_link_del'>
+        <parameter type-id='type-id-541' name='link' filepath='drivers/base/core.c' line='493' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='device_store_int' mangled-name='device_store_int' filepath='drivers/base/core.c' line='1113' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_store_int'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/base/core.c' line='1113' column='1'/>
+        <parameter type-id='type-id-542' name='attr' filepath='drivers/base/core.c' line='1114' column='1'/>
+        <parameter type-id='type-id-24' name='buf' filepath='drivers/base/core.c' line='1115' column='1'/>
+        <parameter type-id='type-id-125' name='size' filepath='drivers/base/core.c' line='1115' column='1'/>
+        <return type-id='type-id-543'/>
+      </function-decl>
+      <function-decl name='device_show_int' mangled-name='device_show_int' filepath='drivers/base/core.c' line='1128' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_show_int'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/base/core.c' line='1128' column='1'/>
+        <parameter type-id='type-id-542' name='attr' filepath='drivers/base/core.c' line='1129' column='1'/>
+        <parameter type-id='type-id-300' name='buf' filepath='drivers/base/core.c' line='1130' column='1'/>
+        <return type-id='type-id-543'/>
+      </function-decl>
+      <function-decl name='device_online' mangled-name='device_online' filepath='drivers/base/core.c' line='2777' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_online'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/base/core.c' line='2777' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='_dev_emerg' mangled-name='_dev_emerg' filepath='drivers/base/core.c' line='3469' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_dev_emerg'>
+        <parameter type-id='type-id-512' name='dev' filepath='drivers/base/core.c' line='3469' column='1'/>
+        <parameter type-id='type-id-24' name='fmt' filepath='drivers/base/core.c' line='3469' column='1'/>
+        <parameter is-variadic='yes'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/base/devcon.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-24' size-in-bits='128' id='type-id-544'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+      </array-type-def>
+      <class-decl name='device_connection' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/device.h' line='782' column='1' id='type-id-545'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='fwnode' type-id='type-id-84' visibility='default' filepath='include/linux/device.h' line='783' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='endpoint' type-id='type-id-544' visibility='default' filepath='include/linux/device.h' line='784' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='id' type-id='type-id-24' visibility='default' filepath='include/linux/device.h' line='785' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/device.h' line='786' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-545' size-in-bits='64' id='type-id-546'/>
+      <pointer-type-def type-id='type-id-547' size-in-bits='64' id='type-id-548'/>
+      <function-decl name='device_connection_find_match' mangled-name='device_connection_find_match' filepath='drivers/base/devcon.c' line='25' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_connection_find_match'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/base/devcon.c' line='25' column='1'/>
+        <parameter type-id='type-id-24' name='con_id' filepath='drivers/base/devcon.c' line='25' column='1'/>
+        <parameter type-id='type-id-3' name='data' filepath='drivers/base/devcon.c' line='26' column='1'/>
+        <parameter type-id='type-id-548' name='match' filepath='drivers/base/devcon.c' line='27' column='1'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-547'>
+        <parameter type-id='type-id-546'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-3'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/base/devres.c' language='LANG_C89'>
+      <function-decl name='devm_kasprintf' mangled-name='devm_kasprintf' filepath='drivers/base/devres.c' line='874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_kasprintf'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/base/devres.c' line='874' column='1'/>
+        <parameter type-id='type-id-272' name='gfp' filepath='drivers/base/devres.c' line='874' column='1'/>
+        <parameter type-id='type-id-24' name='fmt' filepath='drivers/base/devres.c' line='874' column='1'/>
+        <parameter is-variadic='yes'/>
+        <return type-id='type-id-300'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/base/firmware_loader/main.c' language='LANG_C89'>
+      <class-decl name='firmware' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/firmware.h' line='12' column='1' id='type-id-549'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='size' type-id='type-id-125' visibility='default' filepath='include/linux/firmware.h' line='13' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='data' type-id='type-id-55' visibility='default' filepath='include/linux/firmware.h' line='14' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='pages' type-id='type-id-260' visibility='default' filepath='include/linux/firmware.h' line='15' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='priv' type-id='type-id-3' visibility='default' filepath='include/linux/firmware.h' line='18' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-549' const='yes' id='type-id-550'/>
+      <pointer-type-def type-id='type-id-550' size-in-bits='64' id='type-id-551'/>
+      <pointer-type-def type-id='type-id-551' size-in-bits='64' id='type-id-552'/>
+      <pointer-type-def type-id='type-id-553' size-in-bits='64' id='type-id-554'/>
+      <function-decl name='request_firmware' mangled-name='request_firmware' filepath='drivers/base/firmware_loader/main.c' line='629' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='request_firmware'>
+        <parameter type-id='type-id-552' name='firmware_p' filepath='drivers/base/firmware_loader/main.c' line='629' column='1'/>
+        <parameter type-id='type-id-24' name='name' filepath='drivers/base/firmware_loader/main.c' line='629' column='1'/>
+        <parameter type-id='type-id-86' name='device' filepath='drivers/base/firmware_loader/main.c' line='630' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='release_firmware' mangled-name='release_firmware' filepath='drivers/base/firmware_loader/main.c' line='755' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='release_firmware'>
+        <parameter type-id='type-id-551' name='fw' filepath='drivers/base/firmware_loader/main.c' line='755' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='firmware_request_nowarn' mangled-name='firmware_request_nowarn' filepath='drivers/base/firmware_loader/main.c' line='656' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='firmware_request_nowarn'>
+        <parameter type-id='type-id-552' name='firmware' filepath='drivers/base/firmware_loader/main.c' line='656' column='1'/>
+        <parameter type-id='type-id-24' name='name' filepath='drivers/base/firmware_loader/main.c' line='656' column='1'/>
+        <parameter type-id='type-id-86' name='device' filepath='drivers/base/firmware_loader/main.c' line='657' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='request_firmware_into_buf' mangled-name='request_firmware_into_buf' filepath='drivers/base/firmware_loader/main.c' line='735' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='request_firmware_into_buf'>
+        <parameter type-id='type-id-552' name='firmware_p' filepath='drivers/base/firmware_loader/main.c' line='735' column='1'/>
+        <parameter type-id='type-id-24' name='name' filepath='drivers/base/firmware_loader/main.c' line='735' column='1'/>
+        <parameter type-id='type-id-86' name='device' filepath='drivers/base/firmware_loader/main.c' line='736' column='1'/>
+        <parameter type-id='type-id-3' name='buf' filepath='drivers/base/firmware_loader/main.c' line='736' column='1'/>
+        <parameter type-id='type-id-125' name='size' filepath='drivers/base/firmware_loader/main.c' line='736' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='request_firmware_nowait' mangled-name='request_firmware_nowait' filepath='drivers/base/firmware_loader/main.c' line='817' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='request_firmware_nowait'>
+        <parameter type-id='type-id-19' name='module' filepath='drivers/base/firmware_loader/main.c' line='818' column='1'/>
+        <parameter type-id='type-id-211' name='uevent' filepath='drivers/base/firmware_loader/main.c' line='818' column='1'/>
+        <parameter type-id='type-id-24' name='name' filepath='drivers/base/firmware_loader/main.c' line='819' column='1'/>
+        <parameter type-id='type-id-86' name='device' filepath='drivers/base/firmware_loader/main.c' line='819' column='1'/>
+        <parameter type-id='type-id-272' name='gfp' filepath='drivers/base/firmware_loader/main.c' line='819' column='1'/>
+        <parameter type-id='type-id-3' name='context' filepath='drivers/base/firmware_loader/main.c' line='819' column='1'/>
+        <parameter type-id='type-id-554' name='cont' filepath='drivers/base/firmware_loader/main.c' line='820' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-553'>
+        <parameter type-id='type-id-551'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/base/platform.c' language='LANG_C89'>
+      <enum-decl name='dev_prop_type' filepath='include/linux/property.h' line='21' column='1' id='type-id-555'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='DEV_PROP_U8' value='0'/>
+        <enumerator name='DEV_PROP_U16' value='1'/>
+        <enumerator name='DEV_PROP_U32' value='2'/>
+        <enumerator name='DEV_PROP_U64' value='3'/>
+        <enumerator name='DEV_PROP_STRING' value='4'/>
+        <enumerator name='DEV_PROP_MAX' value='5'/>
+      </enum-decl>
+      <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/property.h' line='234' column='1' id='type-id-556'>
+        <data-member access='private'>
+          <var-decl name='pointer' type-id='type-id-557' visibility='default' filepath='include/linux/property.h' line='241' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='value' type-id='type-id-558' visibility='default' filepath='include/linux/property.h' line='248' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/property.h' line='235' column='1' id='type-id-557'>
+        <data-member access='private'>
+          <var-decl name='u8_data' type-id='type-id-55' visibility='default' filepath='include/linux/property.h' line='236' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='u16_data' type-id='type-id-559' visibility='default' filepath='include/linux/property.h' line='237' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='u32_data' type-id='type-id-560' visibility='default' filepath='include/linux/property.h' line='238' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='u64_data' type-id='type-id-561' visibility='default' filepath='include/linux/property.h' line='239' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='str' type-id='type-id-562' visibility='default' filepath='include/linux/property.h' line='240' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__2' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/property.h' line='242' column='1' id='type-id-558'>
+        <data-member access='private'>
+          <var-decl name='u8_data' type-id='type-id-53' visibility='default' filepath='include/linux/property.h' line='243' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='u16_data' type-id='type-id-289' visibility='default' filepath='include/linux/property.h' line='244' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='u32_data' type-id='type-id-9' visibility='default' filepath='include/linux/property.h' line='245' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='u64_data' type-id='type-id-134' visibility='default' filepath='include/linux/property.h' line='246' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='str' type-id='type-id-24' visibility='default' filepath='include/linux/property.h' line='247' column='1'/>
+        </data-member>
+      </union-decl>
+      <qualified-type-def type-id='type-id-563' const='yes' id='type-id-564'/>
+      <pointer-type-def type-id='type-id-564' size-in-bits='64' id='type-id-565'/>
+      <pointer-type-def type-id='type-id-566' size-in-bits='64' id='type-id-559'/>
+      <qualified-type-def type-id='type-id-134' const='yes' id='type-id-567'/>
+      <pointer-type-def type-id='type-id-567' size-in-bits='64' id='type-id-561'/>
+      <function-decl name='of_irq_get_byname' mangled-name='of_irq_get_byname' filepath='include/linux/of_irq.h' line='48' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_irq_get_byname'>
+        <parameter type-id='type-id-81'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='platform_irq_count' mangled-name='platform_irq_count' filepath='drivers/base/platform.c' line='142' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='platform_irq_count'>
+        <parameter type-id='type-id-568' name='dev' filepath='drivers/base/platform.c' line='142' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='platform_get_irq_byname' mangled-name='platform_get_irq_byname' filepath='drivers/base/platform.c' line='186' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='platform_get_irq_byname'>
+        <parameter type-id='type-id-568' name='dev' filepath='drivers/base/platform.c' line='186' column='1'/>
+        <parameter type-id='type-id-24' name='name' filepath='drivers/base/platform.c' line='186' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='platform_device_add_resources' mangled-name='platform_device_add_resources' filepath='drivers/base/platform.c' line='293' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='platform_device_add_resources'>
+        <parameter type-id='type-id-568' name='pdev' filepath='drivers/base/platform.c' line='293' column='1'/>
+        <parameter type-id='type-id-569' name='res' filepath='drivers/base/platform.c' line='294' column='1'/>
+        <parameter type-id='type-id-10' name='num' filepath='drivers/base/platform.c' line='294' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='platform_device_add_data' mangled-name='platform_device_add_data' filepath='drivers/base/platform.c' line='321' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='platform_device_add_data'>
+        <parameter type-id='type-id-568' name='pdev' filepath='drivers/base/platform.c' line='321' column='1'/>
+        <parameter type-id='type-id-3' name='data' filepath='drivers/base/platform.c' line='321' column='1'/>
+        <parameter type-id='type-id-125' name='size' filepath='drivers/base/platform.c' line='322' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='platform_device_add_properties' mangled-name='platform_device_add_properties' filepath='drivers/base/platform.c' line='347' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='platform_device_add_properties'>
+        <parameter type-id='type-id-568' name='pdev' filepath='drivers/base/platform.c' line='347' column='1'/>
+        <parameter type-id='type-id-565' name='properties' filepath='drivers/base/platform.c' line='348' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__platform_driver_register' mangled-name='__platform_driver_register' filepath='drivers/base/platform.c' line='630' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__platform_driver_register'>
+        <parameter type-id='type-id-570' name='drv' filepath='drivers/base/platform.c' line='630' column='1'/>
+        <parameter type-id='type-id-19' name='owner' filepath='drivers/base/platform.c' line='631' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/base/power/domain.c' language='LANG_C89'>
+      <class-decl name='dev_pm_opp' size-in-bits='576' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-571'/>
+      <class-decl name='generic_pm_domain' size-in-bits='10496' is-struct='yes' visibility='default' filepath='include/linux/pm_domain.h' line='52' column='1' id='type-id-572'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='include/linux/pm_domain.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6208'>
+          <var-decl name='domain' type-id='type-id-573' visibility='default' filepath='include/linux/pm_domain.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7936'>
+          <var-decl name='gpd_list_node' type-id='type-id-8' visibility='default' filepath='include/linux/pm_domain.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8064'>
+          <var-decl name='master_links' type-id='type-id-8' visibility='default' filepath='include/linux/pm_domain.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8192'>
+          <var-decl name='slave_links' type-id='type-id-8' visibility='default' filepath='include/linux/pm_domain.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8320'>
+          <var-decl name='dev_list' type-id='type-id-8' visibility='default' filepath='include/linux/pm_domain.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8448'>
+          <var-decl name='gov' type-id='type-id-574' visibility='default' filepath='include/linux/pm_domain.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8512'>
+          <var-decl name='power_off_work' type-id='type-id-149' visibility='default' filepath='include/linux/pm_domain.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8768'>
+          <var-decl name='provider' type-id='type-id-575' visibility='default' filepath='include/linux/pm_domain.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8832'>
+          <var-decl name='has_provider' type-id='type-id-211' visibility='default' filepath='include/linux/pm_domain.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8896'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/pm_domain.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8960'>
+          <var-decl name='sd_count' type-id='type-id-137' visibility='default' filepath='include/linux/pm_domain.h' line='64' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8992'>
+          <var-decl name='status' type-id='type-id-576' visibility='default' filepath='include/linux/pm_domain.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9024'>
+          <var-decl name='device_count' type-id='type-id-10' visibility='default' filepath='include/linux/pm_domain.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9056'>
+          <var-decl name='suspended_count' type-id='type-id-10' visibility='default' filepath='include/linux/pm_domain.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9088'>
+          <var-decl name='prepared_count' type-id='type-id-10' visibility='default' filepath='include/linux/pm_domain.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9120'>
+          <var-decl name='performance_state' type-id='type-id-10' visibility='default' filepath='include/linux/pm_domain.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9152'>
+          <var-decl name='power_off' type-id='type-id-577' visibility='default' filepath='include/linux/pm_domain.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9216'>
+          <var-decl name='power_on' type-id='type-id-577' visibility='default' filepath='include/linux/pm_domain.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9280'>
+          <var-decl name='opp_to_performance_state' type-id='type-id-578' visibility='default' filepath='include/linux/pm_domain.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9344'>
+          <var-decl name='set_performance_state' type-id='type-id-579' visibility='default' filepath='include/linux/pm_domain.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9408'>
+          <var-decl name='dev_ops' type-id='type-id-580' visibility='default' filepath='include/linux/pm_domain.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9536'>
+          <var-decl name='max_off_time_ns' type-id='type-id-581' visibility='default' filepath='include/linux/pm_domain.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9600'>
+          <var-decl name='max_off_time_changed' type-id='type-id-211' visibility='default' filepath='include/linux/pm_domain.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9608'>
+          <var-decl name='cached_power_down_ok' type-id='type-id-211' visibility='default' filepath='include/linux/pm_domain.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9664'>
+          <var-decl name='attach_dev' type-id='type-id-582' visibility='default' filepath='include/linux/pm_domain.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9728'>
+          <var-decl name='detach_dev' type-id='type-id-583' visibility='default' filepath='include/linux/pm_domain.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9792'>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='include/linux/pm_domain.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9856'>
+          <var-decl name='states' type-id='type-id-584' visibility='default' filepath='include/linux/pm_domain.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9920'>
+          <var-decl name='state_count' type-id='type-id-10' visibility='default' filepath='include/linux/pm_domain.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9952'>
+          <var-decl name='state_idx' type-id='type-id-10' visibility='default' filepath='include/linux/pm_domain.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9984'>
+          <var-decl name='free' type-id='type-id-3' visibility='default' filepath='include/linux/pm_domain.h' line='88' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10048'>
+          <var-decl name='on_time' type-id='type-id-585' visibility='default' filepath='include/linux/pm_domain.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10112'>
+          <var-decl name='accounting_time' type-id='type-id-585' visibility='default' filepath='include/linux/pm_domain.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10176'>
+          <var-decl name='lock_ops' type-id='type-id-586' visibility='default' filepath='include/linux/pm_domain.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10240'>
+          <var-decl name='' type-id='type-id-587' visibility='default' filepath='include/linux/pm_domain.h' line='92' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='dev_power_governor' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/pm_domain.h' line='31' column='1' id='type-id-588'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='power_down_ok' type-id='type-id-589' visibility='default' filepath='include/linux/pm_domain.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='suspend_ok' type-id='type-id-590' visibility='default' filepath='include/linux/pm_domain.h' line='33' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='gpd_status' filepath='include/linux/pm_domain.h' line='26' column='1' id='type-id-576'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='GPD_STATE_ACTIVE' value='0'/>
+        <enumerator name='GPD_STATE_POWER_OFF' value='1'/>
+      </enum-decl>
+      <class-decl name='gpd_dev_ops' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/pm_domain.h' line='36' column='1' id='type-id-580'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='start' type-id='type-id-591' visibility='default' filepath='include/linux/pm_domain.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='stop' type-id='type-id-591' visibility='default' filepath='include/linux/pm_domain.h' line='38' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='genpd_power_state' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/pm_domain.h' line='41' column='1' id='type-id-592'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='power_off_latency_ns' type-id='type-id-581' visibility='default' filepath='include/linux/pm_domain.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='power_on_latency_ns' type-id='type-id-581' visibility='default' filepath='include/linux/pm_domain.h' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='residency_ns' type-id='type-id-581' visibility='default' filepath='include/linux/pm_domain.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='fwnode' type-id='type-id-575' visibility='default' filepath='include/linux/pm_domain.h' line='45' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='idle_time' type-id='type-id-585' visibility='default' filepath='include/linux/pm_domain.h' line='46' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='genpd_lock_ops' size-in-bits='256' is-struct='yes' visibility='default' filepath='drivers/base/power/domain.c' line='43' column='1' id='type-id-593'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-594' visibility='default' filepath='drivers/base/power/domain.c' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='lock_nested' type-id='type-id-595' visibility='default' filepath='drivers/base/power/domain.c' line='45' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='lock_interruptible' type-id='type-id-577' visibility='default' filepath='drivers/base/power/domain.c' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='unlock' type-id='type-id-594' visibility='default' filepath='drivers/base/power/domain.c' line='47' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/linux/pm_domain.h' line='92' column='1' id='type-id-587'>
+        <data-member access='private'>
+          <var-decl name='mlock' type-id='type-id-407' visibility='default' filepath='include/linux/pm_domain.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-596' visibility='default' filepath='include/linux/pm_domain.h' line='94' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/pm_domain.h' line='94' column='1' id='type-id-596'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='slock' type-id='type-id-106' visibility='default' filepath='include/linux/pm_domain.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='lock_flags' type-id='type-id-100' visibility='default' filepath='include/linux/pm_domain.h' line='96' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='genpd_onecell_data' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/pm_domain.h' line='218' column='1' id='type-id-597'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='domains' type-id='type-id-598' visibility='default' filepath='include/linux/pm_domain.h' line='219' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='num_domains' type-id='type-id-10' visibility='default' filepath='include/linux/pm_domain.h' line='220' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='xlate' type-id='type-id-599' visibility='default' filepath='include/linux/pm_domain.h' line='221' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='genpd_xlate_t' type-id='type-id-600' filepath='include/linux/pm_domain.h' line='215' column='1' id='type-id-599'/>
+      <qualified-type-def type-id='type-id-593' const='yes' id='type-id-601'/>
+      <pointer-type-def type-id='type-id-601' size-in-bits='64' id='type-id-586'/>
+      <pointer-type-def type-id='type-id-571' size-in-bits='64' id='type-id-602'/>
+      <pointer-type-def type-id='type-id-588' size-in-bits='64' id='type-id-574'/>
+      <pointer-type-def type-id='type-id-572' size-in-bits='64' id='type-id-603'/>
+      <pointer-type-def type-id='type-id-604' size-in-bits='64' id='type-id-600'/>
+      <pointer-type-def type-id='type-id-603' size-in-bits='64' id='type-id-598'/>
+      <pointer-type-def type-id='type-id-597' size-in-bits='64' id='type-id-605'/>
+      <pointer-type-def type-id='type-id-592' size-in-bits='64' id='type-id-584'/>
+      <pointer-type-def type-id='type-id-606' size-in-bits='64' id='type-id-577'/>
+      <pointer-type-def type-id='type-id-607' size-in-bits='64' id='type-id-582'/>
+      <pointer-type-def type-id='type-id-608' size-in-bits='64' id='type-id-579'/>
+      <pointer-type-def type-id='type-id-609' size-in-bits='64' id='type-id-589'/>
+      <pointer-type-def type-id='type-id-610' size-in-bits='64' id='type-id-590'/>
+      <pointer-type-def type-id='type-id-611' size-in-bits='64' id='type-id-578'/>
+      <pointer-type-def type-id='type-id-612' size-in-bits='64' id='type-id-594'/>
+      <pointer-type-def type-id='type-id-613' size-in-bits='64' id='type-id-583'/>
+      <pointer-type-def type-id='type-id-614' size-in-bits='64' id='type-id-595'/>
+      <function-decl name='dev_pm_opp_of_add_table' mangled-name='dev_pm_opp_of_add_table' filepath='include/linux/pm_opp.h' line='295' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_pm_opp_of_add_table'>
+        <parameter type-id='type-id-86'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='dev_pm_opp_put' mangled-name='dev_pm_opp_put' filepath='include/linux/pm_opp.h' line='105' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_pm_opp_put'>
+        <parameter type-id='type-id-602'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='pm_genpd_add_subdomain' mangled-name='pm_genpd_add_subdomain' filepath='drivers/base/power/domain.c' line='1553' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pm_genpd_add_subdomain'>
+        <parameter type-id='type-id-603' name='genpd' filepath='drivers/base/power/domain.c' line='1553' column='1'/>
+        <parameter type-id='type-id-603' name='subdomain' filepath='drivers/base/power/domain.c' line='1554' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='pm_genpd_remove_subdomain' mangled-name='pm_genpd_remove_subdomain' filepath='drivers/base/power/domain.c' line='1571' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pm_genpd_remove_subdomain'>
+        <parameter type-id='type-id-603' name='genpd' filepath='drivers/base/power/domain.c' line='1571' column='1'/>
+        <parameter type-id='type-id-603' name='subdomain' filepath='drivers/base/power/domain.c' line='1572' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='pm_genpd_init' mangled-name='pm_genpd_init' filepath='drivers/base/power/domain.c' line='1646' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pm_genpd_init'>
+        <parameter type-id='type-id-603' name='genpd' filepath='drivers/base/power/domain.c' line='1646' column='1'/>
+        <parameter type-id='type-id-574' name='gov' filepath='drivers/base/power/domain.c' line='1647' column='1'/>
+        <parameter type-id='type-id-211' name='is_off' filepath='drivers/base/power/domain.c' line='1647' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='pm_genpd_remove' mangled-name='pm_genpd_remove' filepath='drivers/base/power/domain.c' line='1757' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pm_genpd_remove'>
+        <parameter type-id='type-id-603' name='genpd' filepath='drivers/base/power/domain.c' line='1757' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='of_genpd_add_provider_simple' mangled-name='of_genpd_add_provider_simple' filepath='drivers/base/power/domain.c' line='1886' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_genpd_add_provider_simple'>
+        <parameter type-id='type-id-81' name='np' filepath='drivers/base/power/domain.c' line='1886' column='1'/>
+        <parameter type-id='type-id-603' name='genpd' filepath='drivers/base/power/domain.c' line='1887' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='of_genpd_add_provider_onecell' mangled-name='of_genpd_add_provider_onecell' filepath='drivers/base/power/domain.c' line='1934' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_genpd_add_provider_onecell'>
+        <parameter type-id='type-id-81' name='np' filepath='drivers/base/power/domain.c' line='1934' column='1'/>
+        <parameter type-id='type-id-605' name='data' filepath='drivers/base/power/domain.c' line='1935' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='of_genpd_del_provider' mangled-name='of_genpd_del_provider' filepath='drivers/base/power/domain.c' line='2005' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_genpd_del_provider'>
+        <parameter type-id='type-id-81' name='np' filepath='drivers/base/power/domain.c' line='2005' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-604'>
+        <parameter type-id='type-id-233'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-603'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-606'>
+        <parameter type-id='type-id-603'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-607'>
+        <parameter type-id='type-id-603'/>
+        <parameter type-id='type-id-86'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-608'>
+        <parameter type-id='type-id-603'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-609'>
+        <parameter type-id='type-id-615'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-610'>
+        <parameter type-id='type-id-86'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-611'>
+        <parameter type-id='type-id-603'/>
+        <parameter type-id='type-id-602'/>
+        <return type-id='type-id-10'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-612'>
+        <parameter type-id='type-id-603'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-613'>
+        <parameter type-id='type-id-603'/>
+        <parameter type-id='type-id-86'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-614'>
+        <parameter type-id='type-id-603'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/base/power/generic_ops.c' language='LANG_C89'>
+      <function-decl name='pm_generic_suspend' mangled-name='pm_generic_suspend' filepath='drivers/base/power/generic_ops.c' line='99' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pm_generic_suspend'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/base/power/generic_ops.c' line='99' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='pm_generic_resume' mangled-name='pm_generic_resume' filepath='drivers/base/power/generic_ops.c' line='243' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pm_generic_resume'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/base/power/generic_ops.c' line='243' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/base/power/main.c' language='LANG_C89'>
+      <function-decl name='device_wakeup_disable' mangled-name='device_wakeup_disable' filepath='include/linux/pm_wakeup.h' line='109' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_wakeup_disable'>
+        <parameter type-id='type-id-86'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/base/power/runtime.c' language='LANG_C89'>
+      <class-decl name='module_kobject' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-616'/>
+      <class-decl name='driver_private' size-in-bits='1216' is-struct='yes' visibility='default' filepath='drivers/base/power/../base.h' line='47' column='1' id='type-id-617'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='kobj' type-id='type-id-315' visibility='default' filepath='drivers/base/power/../base.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='klist_devices' type-id='type-id-618' visibility='default' filepath='drivers/base/power/../base.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='knode_bus' type-id='type-id-619' visibility='default' filepath='drivers/base/power/../base.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='mkobj' type-id='type-id-620' visibility='default' filepath='drivers/base/power/../base.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='driver' type-id='type-id-621' visibility='default' filepath='drivers/base/power/../base.h' line='52' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-617' size-in-bits='64' id='type-id-622'/>
+      <pointer-type-def type-id='type-id-616' size-in-bits='64' id='type-id-620'/>
+      <function-decl name='__pm_runtime_idle' mangled-name='__pm_runtime_idle' filepath='drivers/base/power/runtime.c' line='963' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__pm_runtime_idle'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/base/power/runtime.c' line='963' column='1'/>
+        <parameter type-id='type-id-11' name='rpmflags' filepath='drivers/base/power/runtime.c' line='963' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__pm_runtime_suspend' mangled-name='__pm_runtime_suspend' filepath='drivers/base/power/runtime.c' line='995' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__pm_runtime_suspend'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/base/power/runtime.c' line='995' column='1'/>
+        <parameter type-id='type-id-11' name='rpmflags' filepath='drivers/base/power/runtime.c' line='995' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__pm_runtime_resume' mangled-name='__pm_runtime_resume' filepath='drivers/base/power/runtime.c' line='1026' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__pm_runtime_resume'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/base/power/runtime.c' line='1026' column='1'/>
+        <parameter type-id='type-id-11' name='rpmflags' filepath='drivers/base/power/runtime.c' line='1026' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__pm_runtime_set_status' mangled-name='__pm_runtime_set_status' filepath='drivers/base/power/runtime.c' line='1086' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__pm_runtime_set_status'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/base/power/runtime.c' line='1086' column='1'/>
+        <parameter type-id='type-id-10' name='status' filepath='drivers/base/power/runtime.c' line='1086' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__pm_runtime_disable' mangled-name='__pm_runtime_disable' filepath='drivers/base/power/runtime.c' line='1243' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__pm_runtime_disable'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/base/power/runtime.c' line='1243' column='1'/>
+        <parameter type-id='type-id-211' name='check_resume' filepath='drivers/base/power/runtime.c' line='1243' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__pm_runtime_use_autosuspend' mangled-name='__pm_runtime_use_autosuspend' filepath='drivers/base/power/runtime.c' line='1454' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__pm_runtime_use_autosuspend'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/base/power/runtime.c' line='1454' column='1'/>
+        <parameter type-id='type-id-211' name='use' filepath='drivers/base/power/runtime.c' line='1454' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/base/power/wakeup.c' language='LANG_C89'>
+      <function-decl name='__pm_relax' mangled-name='__pm_relax' filepath='drivers/base/power/wakeup.c' line='695' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__pm_relax'>
+        <parameter type-id='type-id-623' name='ws' filepath='drivers/base/power/wakeup.c' line='695' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='wakeup_source_add' mangled-name='wakeup_source_add' filepath='drivers/base/power/wakeup.c' line='169' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wakeup_source_add'>
+        <parameter type-id='type-id-623' name='ws' filepath='drivers/base/power/wakeup.c' line='169' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='wakeup_source_remove' mangled-name='wakeup_source_remove' filepath='drivers/base/power/wakeup.c' line='190' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wakeup_source_remove'>
+        <parameter type-id='type-id-623' name='ws' filepath='drivers/base/power/wakeup.c' line='190' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='device_wakeup_enable' mangled-name='device_wakeup_enable' filepath='drivers/base/power/wakeup.c' line='278' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_wakeup_enable'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/base/power/wakeup.c' line='278' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='device_init_wakeup' mangled-name='device_init_wakeup' filepath='drivers/base/power/wakeup.c' line='455' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_init_wakeup'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/base/power/wakeup.c' line='455' column='1'/>
+        <parameter type-id='type-id-211' name='enable' filepath='drivers/base/power/wakeup.c' line='455' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__pm_stay_awake' mangled-name='__pm_stay_awake' filepath='drivers/base/power/wakeup.c' line='578' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__pm_stay_awake'>
+        <parameter type-id='type-id-623' name='ws' filepath='drivers/base/power/wakeup.c' line='578' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='pm_stay_awake' mangled-name='pm_stay_awake' filepath='drivers/base/power/wakeup.c' line='606' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pm_stay_awake'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/base/power/wakeup.c' line='606' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='pm_relax' mangled-name='pm_relax' filepath='drivers/base/power/wakeup.c' line='715' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pm_relax'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/base/power/wakeup.c' line='715' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='pm_system_wakeup' mangled-name='pm_system_wakeup' filepath='drivers/base/power/wakeup.c' line='905' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pm_system_wakeup'>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/base/property.c' language='LANG_C89'>
+      <function-decl name='fwnode_property_present' mangled-name='fwnode_property_present' filepath='include/linux/property.h' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fwnode_property_present'>
+        <parameter type-id='type-id-624'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-264'/>
+      </function-decl>
+      <function-decl name='fwnode_property_read_string' mangled-name='fwnode_property_read_string' filepath='include/linux/property.h' line='72' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fwnode_property_read_string'>
+        <parameter type-id='type-id-624'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-184'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='dev_fwnode' mangled-name='dev_fwnode' filepath='drivers/base/property.c' line='251' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_fwnode'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/base/property.c' line='251' column='1'/>
+        <return type-id='type-id-575'/>
+      </function-decl>
+      <function-decl name='device_property_read_u8_array' mangled-name='device_property_read_u8_array' filepath='drivers/base/property.c' line='353' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_property_read_u8_array'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/base/property.c' line='353' column='1'/>
+        <parameter type-id='type-id-24' name='propname' filepath='drivers/base/property.c' line='353' column='1'/>
+        <parameter type-id='type-id-67' name='val' filepath='drivers/base/property.c' line='354' column='1'/>
+        <parameter type-id='type-id-125' name='nval' filepath='drivers/base/property.c' line='354' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='device_property_read_u16_array' mangled-name='device_property_read_u16_array' filepath='drivers/base/property.c' line='378' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_property_read_u16_array'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/base/property.c' line='378' column='1'/>
+        <parameter type-id='type-id-24' name='propname' filepath='drivers/base/property.c' line='378' column='1'/>
+        <parameter type-id='type-id-625' name='val' filepath='drivers/base/property.c' line='379' column='1'/>
+        <parameter type-id='type-id-125' name='nval' filepath='drivers/base/property.c' line='379' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='device_property_read_string' mangled-name='device_property_read_string' filepath='drivers/base/property.c' line='475' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_property_read_string'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/base/property.c' line='475' column='1'/>
+        <parameter type-id='type-id-24' name='propname' filepath='drivers/base/property.c' line='475' column='1'/>
+        <parameter type-id='type-id-184' name='val' filepath='drivers/base/property.c' line='476' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='device_get_named_child_node' mangled-name='device_get_named_child_node' filepath='drivers/base/property.c' line='1123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_get_named_child_node'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/base/property.c' line='1123' column='1'/>
+        <parameter type-id='type-id-24' name='childname' filepath='drivers/base/property.c' line='1124' column='1'/>
+        <return type-id='type-id-575'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/base/regmap/regcache.c' language='LANG_C89'>
+      <function-decl name='regcache_sync' mangled-name='regcache_sync' filepath='drivers/base/regmap/regcache.c' line='343' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regcache_sync'>
+        <parameter type-id='type-id-626' name='map' filepath='drivers/base/regmap/regcache.c' line='343' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='regcache_sync_region' mangled-name='regcache_sync_region' filepath='drivers/base/regmap/regcache.c' line='412' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regcache_sync_region'>
+        <parameter type-id='type-id-626' name='map' filepath='drivers/base/regmap/regcache.c' line='412' column='1'/>
+        <parameter type-id='type-id-10' name='min' filepath='drivers/base/regmap/regcache.c' line='412' column='1'/>
+        <parameter type-id='type-id-10' name='max' filepath='drivers/base/regmap/regcache.c' line='413' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='regcache_drop_region' mangled-name='regcache_drop_region' filepath='drivers/base/regmap/regcache.c' line='467' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regcache_drop_region'>
+        <parameter type-id='type-id-626' name='map' filepath='drivers/base/regmap/regcache.c' line='467' column='1'/>
+        <parameter type-id='type-id-10' name='min' filepath='drivers/base/regmap/regcache.c' line='467' column='1'/>
+        <parameter type-id='type-id-10' name='max' filepath='drivers/base/regmap/regcache.c' line='468' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='regcache_cache_only' mangled-name='regcache_cache_only' filepath='drivers/base/regmap/regcache.c' line='499' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regcache_cache_only'>
+        <parameter type-id='type-id-626' name='map' filepath='drivers/base/regmap/regcache.c' line='499' column='1'/>
+        <parameter type-id='type-id-211' name='enable' filepath='drivers/base/regmap/regcache.c' line='499' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='regcache_mark_dirty' mangled-name='regcache_mark_dirty' filepath='drivers/base/regmap/regcache.c' line='522' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regcache_mark_dirty'>
+        <parameter type-id='type-id-626' name='map' filepath='drivers/base/regmap/regcache.c' line='522' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/base/regmap/regmap-i2c.c' language='LANG_C89'>
+      <qualified-type-def type-id='type-id-627' const='yes' id='type-id-628'/>
+      <pointer-type-def type-id='type-id-628' size-in-bits='64' id='type-id-629'/>
+      <function-decl name='i2c_transfer_buffer_flags' mangled-name='i2c_transfer_buffer_flags' filepath='include/linux/i2c.h' line='67' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='i2c_transfer_buffer_flags'>
+        <parameter type-id='type-id-629'/>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-288'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='i2c_smbus_write_byte_data' mangled-name='i2c_smbus_write_byte_data' filepath='include/linux/i2c.h' line='159' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='i2c_smbus_write_byte_data'>
+        <parameter type-id='type-id-629'/>
+        <parameter type-id='type-id-271'/>
+        <parameter type-id='type-id-271'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='i2c_smbus_read_byte_data' mangled-name='i2c_smbus_read_byte_data' filepath='include/linux/i2c.h' line='157' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='i2c_smbus_read_byte_data'>
+        <parameter type-id='type-id-629'/>
+        <parameter type-id='type-id-271'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__devm_regmap_init_i2c' mangled-name='__devm_regmap_init_i2c' filepath='drivers/base/regmap/regmap-i2c.c' line='296' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__devm_regmap_init_i2c'>
+        <parameter type-id='type-id-630' name='i2c' filepath='drivers/base/regmap/regmap-i2c.c' line='296' column='1'/>
+        <parameter type-id='type-id-631' name='config' filepath='drivers/base/regmap/regmap-i2c.c' line='297' column='1'/>
+        <parameter type-id='type-id-532' name='lock_key' filepath='drivers/base/regmap/regmap-i2c.c' line='298' column='1'/>
+        <parameter type-id='type-id-24' name='lock_name' filepath='drivers/base/regmap/regmap-i2c.c' line='299' column='1'/>
+        <return type-id='type-id-626'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/base/regmap/regmap-irq.c' language='LANG_C89'>
+      <class-decl name='regmap_irq_chip' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/linux/regmap.h' line='1138' column='1' id='type-id-632'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/regmap.h' line='1139' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='status_base' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='1141' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='mask_base' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='1142' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='unmask_base' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='1143' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='ack_base' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='1144' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='wake_base' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='1145' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='type_base' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='1146' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='irq_reg_stride' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='1147' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7'>
+          <var-decl name='mask_writeonly' type-id='type-id-211' visibility='default' filepath='include/linux/regmap.h' line='1148' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6'>
+          <var-decl name='init_ack_masked' type-id='type-id-211' visibility='default' filepath='include/linux/regmap.h' line='1149' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5'>
+          <var-decl name='mask_invert' type-id='type-id-211' visibility='default' filepath='include/linux/regmap.h' line='1150' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4'>
+          <var-decl name='use_ack' type-id='type-id-211' visibility='default' filepath='include/linux/regmap.h' line='1151' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3'>
+          <var-decl name='ack_invert' type-id='type-id-211' visibility='default' filepath='include/linux/regmap.h' line='1152' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2'>
+          <var-decl name='wake_invert' type-id='type-id-211' visibility='default' filepath='include/linux/regmap.h' line='1153' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1'>
+          <var-decl name='runtime_pm' type-id='type-id-211' visibility='default' filepath='include/linux/regmap.h' line='1154' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='type_invert' type-id='type-id-211' visibility='default' filepath='include/linux/regmap.h' line='1155' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='num_regs' type-id='type-id-11' visibility='default' filepath='include/linux/regmap.h' line='1157' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='irqs' type-id='type-id-633' visibility='default' filepath='include/linux/regmap.h' line='1159' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='num_irqs' type-id='type-id-11' visibility='default' filepath='include/linux/regmap.h' line='1160' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='num_type_reg' type-id='type-id-11' visibility='default' filepath='include/linux/regmap.h' line='1162' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='type_reg_stride' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='1163' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='handle_pre_irq' type-id='type-id-634' visibility='default' filepath='include/linux/regmap.h' line='1165' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='handle_post_irq' type-id='type-id-634' visibility='default' filepath='include/linux/regmap.h' line='1166' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='irq_drv_data' type-id='type-id-3' visibility='default' filepath='include/linux/regmap.h' line='1167' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='regmap_irq' size-in-bits='160' is-struct='yes' visibility='default' filepath='include/linux/regmap.h' line='1086' column='1' id='type-id-635'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='reg_offset' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='1087' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='mask' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='1088' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='type_reg_offset' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='1089' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='type_rising_mask' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='1090' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='type_falling_mask' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='1091' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='regmap_irq_chip_data' size-in-bits='3264' is-struct='yes' visibility='default' filepath='drivers/base/regmap/regmap-irq.c' line='24' column='1' id='type-id-636'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-407' visibility='default' filepath='drivers/base/regmap/regmap-irq.c' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='irq_chip' type-id='type-id-637' visibility='default' filepath='drivers/base/regmap/regmap-irq.c' line='26' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='map' type-id='type-id-626' visibility='default' filepath='drivers/base/regmap/regmap-irq.c' line='28' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='chip' type-id='type-id-638' visibility='default' filepath='drivers/base/regmap/regmap-irq.c' line='29' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='irq_base' type-id='type-id-11' visibility='default' filepath='drivers/base/regmap/regmap-irq.c' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2624'>
+          <var-decl name='domain' type-id='type-id-639' visibility='default' filepath='drivers/base/regmap/regmap-irq.c' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2688'>
+          <var-decl name='irq' type-id='type-id-11' visibility='default' filepath='drivers/base/regmap/regmap-irq.c' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2720'>
+          <var-decl name='wake_count' type-id='type-id-11' visibility='default' filepath='drivers/base/regmap/regmap-irq.c' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2752'>
+          <var-decl name='status_reg_buf' type-id='type-id-3' visibility='default' filepath='drivers/base/regmap/regmap-irq.c' line='37' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2816'>
+          <var-decl name='status_buf' type-id='type-id-72' visibility='default' filepath='drivers/base/regmap/regmap-irq.c' line='38' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2880'>
+          <var-decl name='mask_buf' type-id='type-id-72' visibility='default' filepath='drivers/base/regmap/regmap-irq.c' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2944'>
+          <var-decl name='mask_buf_def' type-id='type-id-72' visibility='default' filepath='drivers/base/regmap/regmap-irq.c' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3008'>
+          <var-decl name='wake_buf' type-id='type-id-72' visibility='default' filepath='drivers/base/regmap/regmap-irq.c' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3072'>
+          <var-decl name='type_buf' type-id='type-id-72' visibility='default' filepath='drivers/base/regmap/regmap-irq.c' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3136'>
+          <var-decl name='type_buf_def' type-id='type-id-72' visibility='default' filepath='drivers/base/regmap/regmap-irq.c' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3200'>
+          <var-decl name='irq_reg_stride' type-id='type-id-10' visibility='default' filepath='drivers/base/regmap/regmap-irq.c' line='45' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3232'>
+          <var-decl name='type_reg_stride' type-id='type-id-10' visibility='default' filepath='drivers/base/regmap/regmap-irq.c' line='46' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-635' const='yes' id='type-id-640'/>
+      <pointer-type-def type-id='type-id-640' size-in-bits='64' id='type-id-633'/>
+      <qualified-type-def type-id='type-id-632' const='yes' id='type-id-641'/>
+      <pointer-type-def type-id='type-id-641' size-in-bits='64' id='type-id-638'/>
+      <pointer-type-def type-id='type-id-636' size-in-bits='64' id='type-id-642'/>
+      <pointer-type-def type-id='type-id-642' size-in-bits='64' id='type-id-643'/>
+      <function-decl name='devm_regmap_add_irq_chip' mangled-name='devm_regmap_add_irq_chip' filepath='drivers/base/regmap/regmap-irq.c' line='758' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_regmap_add_irq_chip'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/base/regmap/regmap-irq.c' line='758' column='1'/>
+        <parameter type-id='type-id-626' name='map' filepath='drivers/base/regmap/regmap-irq.c' line='758' column='1'/>
+        <parameter type-id='type-id-11' name='irq' filepath='drivers/base/regmap/regmap-irq.c' line='758' column='1'/>
+        <parameter type-id='type-id-11' name='irq_flags' filepath='drivers/base/regmap/regmap-irq.c' line='759' column='1'/>
+        <parameter type-id='type-id-11' name='irq_base' filepath='drivers/base/regmap/regmap-irq.c' line='759' column='1'/>
+        <parameter type-id='type-id-638' name='chip' filepath='drivers/base/regmap/regmap-irq.c' line='760' column='1'/>
+        <parameter type-id='type-id-643' name='data' filepath='drivers/base/regmap/regmap-irq.c' line='761' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='devm_regmap_del_irq_chip' mangled-name='devm_regmap_del_irq_chip' filepath='drivers/base/regmap/regmap-irq.c' line='794' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_regmap_del_irq_chip'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/base/regmap/regmap-irq.c' line='794' column='1'/>
+        <parameter type-id='type-id-11' name='irq' filepath='drivers/base/regmap/regmap-irq.c' line='794' column='1'/>
+        <parameter type-id='type-id-642' name='data' filepath='drivers/base/regmap/regmap-irq.c' line='795' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='regmap_irq_get_virq' mangled-name='regmap_irq_get_virq' filepath='drivers/base/regmap/regmap-irq.c' line='830' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regmap_irq_get_virq'>
+        <parameter type-id='type-id-642' name='data' filepath='drivers/base/regmap/regmap-irq.c' line='830' column='1'/>
+        <parameter type-id='type-id-11' name='irq' filepath='drivers/base/regmap/regmap-irq.c' line='830' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/base/regmap/regmap-mmio.c' language='LANG_C89'>
+      <function-decl name='__devm_regmap_init_mmio_clk' mangled-name='__devm_regmap_init_mmio_clk' filepath='drivers/base/regmap/regmap-mmio.c' line='351' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__devm_regmap_init_mmio_clk'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/base/regmap/regmap-mmio.c' line='351' column='1'/>
+        <parameter type-id='type-id-24' name='clk_id' filepath='drivers/base/regmap/regmap-mmio.c' line='352' column='1'/>
+        <parameter type-id='type-id-3' name='regs' filepath='drivers/base/regmap/regmap-mmio.c' line='353' column='1'/>
+        <parameter type-id='type-id-631' name='config' filepath='drivers/base/regmap/regmap-mmio.c' line='354' column='1'/>
+        <parameter type-id='type-id-532' name='lock_key' filepath='drivers/base/regmap/regmap-mmio.c' line='355' column='1'/>
+        <parameter type-id='type-id-24' name='lock_name' filepath='drivers/base/regmap/regmap-mmio.c' line='356' column='1'/>
+        <return type-id='type-id-626'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/base/regmap/regmap-spi.c' language='LANG_C89'>
+      <class-decl name='dma_chan' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-644'/>
+      <class-decl name='spi_controller_mem_ops' size-in-bits='256' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-645'/>
+      <array-type-def dimensions='1' type-id='type-id-100' size-in-bits='1088' id='type-id-646'>
+        <subrange length='17' type-id='type-id-5' id='type-id-647'/>
+
+      </array-type-def>
+      <class-decl name='spi_device' size-in-bits='8768' is-struct='yes' visibility='default' filepath='include/linux/spi/spi.h' line='142' column='1' id='type-id-648'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='include/linux/spi/spi.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6208'>
+          <var-decl name='controller' type-id='type-id-649' visibility='default' filepath='include/linux/spi/spi.h' line='144' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6272'>
+          <var-decl name='master' type-id='type-id-649' visibility='default' filepath='include/linux/spi/spi.h' line='145' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6336'>
+          <var-decl name='max_speed_hz' type-id='type-id-9' visibility='default' filepath='include/linux/spi/spi.h' line='146' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6368'>
+          <var-decl name='chip_select' type-id='type-id-53' visibility='default' filepath='include/linux/spi/spi.h' line='147' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6376'>
+          <var-decl name='bits_per_word' type-id='type-id-53' visibility='default' filepath='include/linux/spi/spi.h' line='148' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6384'>
+          <var-decl name='mode' type-id='type-id-289' visibility='default' filepath='include/linux/spi/spi.h' line='149' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6400'>
+          <var-decl name='irq' type-id='type-id-11' visibility='default' filepath='include/linux/spi/spi.h' line='166' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6464'>
+          <var-decl name='controller_state' type-id='type-id-3' visibility='default' filepath='include/linux/spi/spi.h' line='167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6528'>
+          <var-decl name='controller_data' type-id='type-id-3' visibility='default' filepath='include/linux/spi/spi.h' line='168' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6592'>
+          <var-decl name='modalias' type-id='type-id-650' visibility='default' filepath='include/linux/spi/spi.h' line='169' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6848'>
+          <var-decl name='cs_gpio' type-id='type-id-11' visibility='default' filepath='include/linux/spi/spi.h' line='170' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6912'>
+          <var-decl name='statistics' type-id='type-id-651' visibility='default' filepath='include/linux/spi/spi.h' line='173' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='spi_controller' size-in-bits='11968' is-struct='yes' visibility='default' filepath='include/linux/spi/spi.h' line='407' column='1' id='type-id-652'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='include/linux/spi/spi.h' line='408' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6208'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/spi/spi.h' line='410' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6336'>
+          <var-decl name='bus_num' type-id='type-id-653' visibility='default' filepath='include/linux/spi/spi.h' line='418' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6352'>
+          <var-decl name='num_chipselect' type-id='type-id-289' visibility='default' filepath='include/linux/spi/spi.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6368'>
+          <var-decl name='dma_alignment' type-id='type-id-289' visibility='default' filepath='include/linux/spi/spi.h' line='428' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6384'>
+          <var-decl name='mode_bits' type-id='type-id-289' visibility='default' filepath='include/linux/spi/spi.h' line='431' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6400'>
+          <var-decl name='bits_per_word_mask' type-id='type-id-9' visibility='default' filepath='include/linux/spi/spi.h' line='434' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6432'>
+          <var-decl name='min_speed_hz' type-id='type-id-9' visibility='default' filepath='include/linux/spi/spi.h' line='440' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6464'>
+          <var-decl name='max_speed_hz' type-id='type-id-9' visibility='default' filepath='include/linux/spi/spi.h' line='441' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6496'>
+          <var-decl name='flags' type-id='type-id-289' visibility='default' filepath='include/linux/spi/spi.h' line='444' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6512'>
+          <var-decl name='slave' type-id='type-id-211' visibility='default' filepath='include/linux/spi/spi.h' line='454' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6528'>
+          <var-decl name='max_transfer_size' type-id='type-id-654' visibility='default' filepath='include/linux/spi/spi.h' line='460' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6592'>
+          <var-decl name='max_message_size' type-id='type-id-654' visibility='default' filepath='include/linux/spi/spi.h' line='461' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6656'>
+          <var-decl name='io_mutex' type-id='type-id-407' visibility='default' filepath='include/linux/spi/spi.h' line='464' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6912'>
+          <var-decl name='bus_lock_spinlock' type-id='type-id-106' visibility='default' filepath='include/linux/spi/spi.h' line='467' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6976'>
+          <var-decl name='bus_lock_mutex' type-id='type-id-407' visibility='default' filepath='include/linux/spi/spi.h' line='468' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7232'>
+          <var-decl name='bus_lock_flag' type-id='type-id-211' visibility='default' filepath='include/linux/spi/spi.h' line='471' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7296'>
+          <var-decl name='setup' type-id='type-id-655' visibility='default' filepath='include/linux/spi/spi.h' line='479' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7360'>
+          <var-decl name='transfer' type-id='type-id-656' visibility='default' filepath='include/linux/spi/spi.h' line='500' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7424'>
+          <var-decl name='cleanup' type-id='type-id-657' visibility='default' filepath='include/linux/spi/spi.h' line='504' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7488'>
+          <var-decl name='can_dma' type-id='type-id-658' visibility='default' filepath='include/linux/spi/spi.h' line='513' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7552'>
+          <var-decl name='queued' type-id='type-id-211' visibility='default' filepath='include/linux/spi/spi.h' line='523' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7616'>
+          <var-decl name='kworker' type-id='type-id-659' visibility='default' filepath='include/linux/spi/spi.h' line='524' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8064'>
+          <var-decl name='kworker_task' type-id='type-id-118' visibility='default' filepath='include/linux/spi/spi.h' line='525' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8128'>
+          <var-decl name='pump_messages' type-id='type-id-491' visibility='default' filepath='include/linux/spi/spi.h' line='526' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8448'>
+          <var-decl name='queue_lock' type-id='type-id-106' visibility='default' filepath='include/linux/spi/spi.h' line='527' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8512'>
+          <var-decl name='queue' type-id='type-id-8' visibility='default' filepath='include/linux/spi/spi.h' line='528' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8640'>
+          <var-decl name='cur_msg' type-id='type-id-660' visibility='default' filepath='include/linux/spi/spi.h' line='529' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8704'>
+          <var-decl name='idling' type-id='type-id-211' visibility='default' filepath='include/linux/spi/spi.h' line='530' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8712'>
+          <var-decl name='busy' type-id='type-id-211' visibility='default' filepath='include/linux/spi/spi.h' line='531' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8720'>
+          <var-decl name='running' type-id='type-id-211' visibility='default' filepath='include/linux/spi/spi.h' line='532' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8728'>
+          <var-decl name='rt' type-id='type-id-211' visibility='default' filepath='include/linux/spi/spi.h' line='533' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8736'>
+          <var-decl name='auto_runtime_pm' type-id='type-id-211' visibility='default' filepath='include/linux/spi/spi.h' line='534' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8744'>
+          <var-decl name='cur_msg_prepared' type-id='type-id-211' visibility='default' filepath='include/linux/spi/spi.h' line='535' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8752'>
+          <var-decl name='cur_msg_mapped' type-id='type-id-211' visibility='default' filepath='include/linux/spi/spi.h' line='536' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8768'>
+          <var-decl name='xfer_completion' type-id='type-id-661' visibility='default' filepath='include/linux/spi/spi.h' line='537' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9024'>
+          <var-decl name='max_dma_len' type-id='type-id-125' visibility='default' filepath='include/linux/spi/spi.h' line='538' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9088'>
+          <var-decl name='prepare_transfer_hardware' type-id='type-id-662' visibility='default' filepath='include/linux/spi/spi.h' line='540' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9152'>
+          <var-decl name='transfer_one_message' type-id='type-id-663' visibility='default' filepath='include/linux/spi/spi.h' line='541' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9216'>
+          <var-decl name='unprepare_transfer_hardware' type-id='type-id-662' visibility='default' filepath='include/linux/spi/spi.h' line='543' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9280'>
+          <var-decl name='prepare_message' type-id='type-id-663' visibility='default' filepath='include/linux/spi/spi.h' line='544' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9344'>
+          <var-decl name='unprepare_message' type-id='type-id-663' visibility='default' filepath='include/linux/spi/spi.h' line='546' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9408'>
+          <var-decl name='slave_abort' type-id='type-id-662' visibility='default' filepath='include/linux/spi/spi.h' line='548' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9472'>
+          <var-decl name='set_cs' type-id='type-id-664' visibility='default' filepath='include/linux/spi/spi.h' line='554' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9536'>
+          <var-decl name='transfer_one' type-id='type-id-665' visibility='default' filepath='include/linux/spi/spi.h' line='555' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9600'>
+          <var-decl name='handle_err' type-id='type-id-666' visibility='default' filepath='include/linux/spi/spi.h' line='557' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9664'>
+          <var-decl name='mem_ops' type-id='type-id-667' visibility='default' filepath='include/linux/spi/spi.h' line='561' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9728'>
+          <var-decl name='cs_gpios' type-id='type-id-82' visibility='default' filepath='include/linux/spi/spi.h' line='564' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9792'>
+          <var-decl name='statistics' type-id='type-id-651' visibility='default' filepath='include/linux/spi/spi.h' line='567' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11648'>
+          <var-decl name='dma_tx' type-id='type-id-668' visibility='default' filepath='include/linux/spi/spi.h' line='570' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11712'>
+          <var-decl name='dma_rx' type-id='type-id-668' visibility='default' filepath='include/linux/spi/spi.h' line='571' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11776'>
+          <var-decl name='dummy_rx' type-id='type-id-3' visibility='default' filepath='include/linux/spi/spi.h' line='574' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11840'>
+          <var-decl name='dummy_tx' type-id='type-id-3' visibility='default' filepath='include/linux/spi/spi.h' line='575' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11904'>
+          <var-decl name='fw_translate_cs' type-id='type-id-669' visibility='default' filepath='include/linux/spi/spi.h' line='577' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='spi_transfer' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/linux/spi/spi.h' line='772' column='1' id='type-id-670'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='tx_buf' type-id='type-id-3' visibility='default' filepath='include/linux/spi/spi.h' line='778' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='rx_buf' type-id='type-id-3' visibility='default' filepath='include/linux/spi/spi.h' line='779' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='len' type-id='type-id-10' visibility='default' filepath='include/linux/spi/spi.h' line='780' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='tx_dma' type-id='type-id-210' visibility='default' filepath='include/linux/spi/spi.h' line='782' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='rx_dma' type-id='type-id-210' visibility='default' filepath='include/linux/spi/spi.h' line='783' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='tx_sg' type-id='type-id-671' visibility='default' filepath='include/linux/spi/spi.h' line='784' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='rx_sg' type-id='type-id-671' visibility='default' filepath='include/linux/spi/spi.h' line='785' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='cs_change' type-id='type-id-10' visibility='default' filepath='include/linux/spi/spi.h' line='787' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='28'>
+          <var-decl name='tx_nbits' type-id='type-id-10' visibility='default' filepath='include/linux/spi/spi.h' line='788' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='25'>
+          <var-decl name='rx_nbits' type-id='type-id-10' visibility='default' filepath='include/linux/spi/spi.h' line='789' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='584'>
+          <var-decl name='bits_per_word' type-id='type-id-53' visibility='default' filepath='include/linux/spi/spi.h' line='793' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='592'>
+          <var-decl name='delay_usecs' type-id='type-id-289' visibility='default' filepath='include/linux/spi/spi.h' line='794' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='speed_hz' type-id='type-id-9' visibility='default' filepath='include/linux/spi/spi.h' line='795' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='transfer_list' type-id='type-id-8' visibility='default' filepath='include/linux/spi/spi.h' line='797' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='spi_message' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/linux/spi/spi.h' line='830' column='1' id='type-id-672'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='transfers' type-id='type-id-8' visibility='default' filepath='include/linux/spi/spi.h' line='831' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='spi' type-id='type-id-673' visibility='default' filepath='include/linux/spi/spi.h' line='833' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='is_dma_mapped' type-id='type-id-10' visibility='default' filepath='include/linux/spi/spi.h' line='835' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='complete' type-id='type-id-74' visibility='default' filepath='include/linux/spi/spi.h' line='849' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='context' type-id='type-id-3' visibility='default' filepath='include/linux/spi/spi.h' line='850' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='frame_length' type-id='type-id-10' visibility='default' filepath='include/linux/spi/spi.h' line='851' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='actual_length' type-id='type-id-10' visibility='default' filepath='include/linux/spi/spi.h' line='852' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='status' type-id='type-id-11' visibility='default' filepath='include/linux/spi/spi.h' line='853' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='queue' type-id='type-id-8' visibility='default' filepath='include/linux/spi/spi.h' line='859' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='state' type-id='type-id-3' visibility='default' filepath='include/linux/spi/spi.h' line='860' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='resources' type-id='type-id-8' visibility='default' filepath='include/linux/spi/spi.h' line='863' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='spi_statistics' size-in-bits='1856' is-struct='yes' visibility='default' filepath='include/linux/spi/spi.h' line='63' column='1' id='type-id-651'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/linux/spi/spi.h' line='64' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='messages' type-id='type-id-100' visibility='default' filepath='include/linux/spi/spi.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='transfers' type-id='type-id-100' visibility='default' filepath='include/linux/spi/spi.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='errors' type-id='type-id-100' visibility='default' filepath='include/linux/spi/spi.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='timedout' type-id='type-id-100' visibility='default' filepath='include/linux/spi/spi.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='spi_sync' type-id='type-id-100' visibility='default' filepath='include/linux/spi/spi.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='spi_sync_immediate' type-id='type-id-100' visibility='default' filepath='include/linux/spi/spi.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='spi_async' type-id='type-id-100' visibility='default' filepath='include/linux/spi/spi.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='bytes' type-id='type-id-177' visibility='default' filepath='include/linux/spi/spi.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='bytes_rx' type-id='type-id-177' visibility='default' filepath='include/linux/spi/spi.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='bytes_tx' type-id='type-id-177' visibility='default' filepath='include/linux/spi/spi.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='transfer_bytes_histo' type-id='type-id-646' visibility='default' filepath='include/linux/spi/spi.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='transfers_split_maxsize' type-id='type-id-100' visibility='default' filepath='include/linux/spi/spi.h' line='82' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-645' const='yes' id='type-id-674'/>
+      <pointer-type-def type-id='type-id-674' size-in-bits='64' id='type-id-667'/>
+      <pointer-type-def type-id='type-id-644' size-in-bits='64' id='type-id-668'/>
+      <pointer-type-def type-id='type-id-675' size-in-bits='64' id='type-id-662'/>
+      <pointer-type-def type-id='type-id-676' size-in-bits='64' id='type-id-665'/>
+      <pointer-type-def type-id='type-id-677' size-in-bits='64' id='type-id-663'/>
+      <pointer-type-def type-id='type-id-678' size-in-bits='64' id='type-id-669'/>
+      <pointer-type-def type-id='type-id-679' size-in-bits='64' id='type-id-655'/>
+      <pointer-type-def type-id='type-id-680' size-in-bits='64' id='type-id-656'/>
+      <pointer-type-def type-id='type-id-652' size-in-bits='64' id='type-id-649'/>
+      <pointer-type-def type-id='type-id-648' size-in-bits='64' id='type-id-673'/>
+      <pointer-type-def type-id='type-id-672' size-in-bits='64' id='type-id-660'/>
+      <pointer-type-def type-id='type-id-670' size-in-bits='64' id='type-id-681'/>
+      <pointer-type-def type-id='type-id-682' size-in-bits='64' id='type-id-658'/>
+      <pointer-type-def type-id='type-id-683' size-in-bits='64' id='type-id-654'/>
+      <pointer-type-def type-id='type-id-684' size-in-bits='64' id='type-id-666'/>
+      <pointer-type-def type-id='type-id-685' size-in-bits='64' id='type-id-657'/>
+      <pointer-type-def type-id='type-id-686' size-in-bits='64' id='type-id-664'/>
+      <function-decl name='spi_sync' mangled-name='spi_sync' filepath='include/linux/spi/spi.h' line='1028' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='spi_sync'>
+        <parameter type-id='type-id-673'/>
+        <parameter type-id='type-id-660'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-675'>
+        <parameter type-id='type-id-649'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-676'>
+        <parameter type-id='type-id-649'/>
+        <parameter type-id='type-id-673'/>
+        <parameter type-id='type-id-681'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-677'>
+        <parameter type-id='type-id-649'/>
+        <parameter type-id='type-id-660'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-678'>
+        <parameter type-id='type-id-649'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-679'>
+        <parameter type-id='type-id-673'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-680'>
+        <parameter type-id='type-id-673'/>
+        <parameter type-id='type-id-660'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-682'>
+        <parameter type-id='type-id-649'/>
+        <parameter type-id='type-id-673'/>
+        <parameter type-id='type-id-681'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-683'>
+        <parameter type-id='type-id-673'/>
+        <return type-id='type-id-125'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-684'>
+        <parameter type-id='type-id-649'/>
+        <parameter type-id='type-id-660'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-685'>
+        <parameter type-id='type-id-673'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-686'>
+        <parameter type-id='type-id-673'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/base/regmap/regmap.c' language='LANG_C89'>
+      <class-decl name='hwspinlock' size-in-bits='192' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-687'/>
+      <class-decl name='regmap' size-in-bits='4096' is-struct='yes' visibility='default' filepath='drivers/base/regmap/internal.h' line='52' column='1' id='type-id-688'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='' type-id='type-id-689' visibility='default' filepath='drivers/base/regmap/internal.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='lock' type-id='type-id-690' visibility='default' filepath='drivers/base/regmap/internal.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='unlock' type-id='type-id-691' visibility='default' filepath='drivers/base/regmap/internal.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='lock_arg' type-id='type-id-3' visibility='default' filepath='drivers/base/regmap/internal.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='alloc_flags' type-id='type-id-272' visibility='default' filepath='drivers/base/regmap/internal.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='drivers/base/regmap/internal.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='work_buf' type-id='type-id-3' visibility='default' filepath='drivers/base/regmap/internal.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='format' type-id='type-id-692' visibility='default' filepath='drivers/base/regmap/internal.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='bus' type-id='type-id-693' visibility='default' filepath='drivers/base/regmap/internal.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='bus_context' type-id='type-id-3' visibility='default' filepath='drivers/base/regmap/internal.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='drivers/base/regmap/internal.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='async' type-id='type-id-211' visibility='default' filepath='drivers/base/regmap/internal.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1440'>
+          <var-decl name='async_lock' type-id='type-id-106' visibility='default' filepath='drivers/base/regmap/internal.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='async_waitq' type-id='type-id-388' visibility='default' filepath='drivers/base/regmap/internal.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='async_list' type-id='type-id-8' visibility='default' filepath='drivers/base/regmap/internal.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='async_free' type-id='type-id-8' visibility='default' filepath='drivers/base/regmap/internal.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='async_ret' type-id='type-id-11' visibility='default' filepath='drivers/base/regmap/internal.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1952'>
+          <var-decl name='max_register' type-id='type-id-10' visibility='default' filepath='drivers/base/regmap/internal.h' line='92' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='writeable_reg' type-id='type-id-694' visibility='default' filepath='drivers/base/regmap/internal.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='readable_reg' type-id='type-id-694' visibility='default' filepath='drivers/base/regmap/internal.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='volatile_reg' type-id='type-id-694' visibility='default' filepath='drivers/base/regmap/internal.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='precious_reg' type-id='type-id-694' visibility='default' filepath='drivers/base/regmap/internal.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='readable_noinc_reg' type-id='type-id-694' visibility='default' filepath='drivers/base/regmap/internal.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='wr_table' type-id='type-id-695' visibility='default' filepath='drivers/base/regmap/internal.h' line='98' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='rd_table' type-id='type-id-695' visibility='default' filepath='drivers/base/regmap/internal.h' line='99' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='volatile_table' type-id='type-id-695' visibility='default' filepath='drivers/base/regmap/internal.h' line='100' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='precious_table' type-id='type-id-695' visibility='default' filepath='drivers/base/regmap/internal.h' line='101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='rd_noinc_table' type-id='type-id-695' visibility='default' filepath='drivers/base/regmap/internal.h' line='102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2624'>
+          <var-decl name='reg_read' type-id='type-id-696' visibility='default' filepath='drivers/base/regmap/internal.h' line='104' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2688'>
+          <var-decl name='reg_write' type-id='type-id-697' visibility='default' filepath='drivers/base/regmap/internal.h' line='105' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2752'>
+          <var-decl name='reg_update_bits' type-id='type-id-698' visibility='default' filepath='drivers/base/regmap/internal.h' line='106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2816'>
+          <var-decl name='defer_caching' type-id='type-id-211' visibility='default' filepath='drivers/base/regmap/internal.h' line='109' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2880'>
+          <var-decl name='read_flag_mask' type-id='type-id-100' visibility='default' filepath='drivers/base/regmap/internal.h' line='111' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2944'>
+          <var-decl name='write_flag_mask' type-id='type-id-100' visibility='default' filepath='drivers/base/regmap/internal.h' line='112' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3008'>
+          <var-decl name='reg_shift' type-id='type-id-11' visibility='default' filepath='drivers/base/regmap/internal.h' line='115' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3040'>
+          <var-decl name='reg_stride' type-id='type-id-11' visibility='default' filepath='drivers/base/regmap/internal.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3072'>
+          <var-decl name='reg_stride_order' type-id='type-id-11' visibility='default' filepath='drivers/base/regmap/internal.h' line='117' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3136'>
+          <var-decl name='cache_ops' type-id='type-id-699' visibility='default' filepath='drivers/base/regmap/internal.h' line='120' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3200'>
+          <var-decl name='cache_type' type-id='type-id-700' visibility='default' filepath='drivers/base/regmap/internal.h' line='121' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3232'>
+          <var-decl name='cache_size_raw' type-id='type-id-10' visibility='default' filepath='drivers/base/regmap/internal.h' line='124' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3264'>
+          <var-decl name='cache_word_size' type-id='type-id-10' visibility='default' filepath='drivers/base/regmap/internal.h' line='126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3296'>
+          <var-decl name='num_reg_defaults' type-id='type-id-10' visibility='default' filepath='drivers/base/regmap/internal.h' line='128' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3328'>
+          <var-decl name='num_reg_defaults_raw' type-id='type-id-10' visibility='default' filepath='drivers/base/regmap/internal.h' line='130' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3360'>
+          <var-decl name='cache_only' type-id='type-id-211' visibility='default' filepath='drivers/base/regmap/internal.h' line='133' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3368'>
+          <var-decl name='cache_bypass' type-id='type-id-211' visibility='default' filepath='drivers/base/regmap/internal.h' line='135' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3376'>
+          <var-decl name='cache_free' type-id='type-id-211' visibility='default' filepath='drivers/base/regmap/internal.h' line='137' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3392'>
+          <var-decl name='reg_defaults' type-id='type-id-701' visibility='default' filepath='drivers/base/regmap/internal.h' line='139' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3456'>
+          <var-decl name='reg_defaults_raw' type-id='type-id-3' visibility='default' filepath='drivers/base/regmap/internal.h' line='140' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3520'>
+          <var-decl name='cache' type-id='type-id-3' visibility='default' filepath='drivers/base/regmap/internal.h' line='141' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3584'>
+          <var-decl name='cache_dirty' type-id='type-id-211' visibility='default' filepath='drivers/base/regmap/internal.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3592'>
+          <var-decl name='no_sync_defaults' type-id='type-id-211' visibility='default' filepath='drivers/base/regmap/internal.h' line='145' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3648'>
+          <var-decl name='patch' type-id='type-id-702' visibility='default' filepath='drivers/base/regmap/internal.h' line='147' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3712'>
+          <var-decl name='patch_regs' type-id='type-id-11' visibility='default' filepath='drivers/base/regmap/internal.h' line='148' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3744'>
+          <var-decl name='use_single_read' type-id='type-id-211' visibility='default' filepath='drivers/base/regmap/internal.h' line='151' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3752'>
+          <var-decl name='use_single_write' type-id='type-id-211' visibility='default' filepath='drivers/base/regmap/internal.h' line='153' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3760'>
+          <var-decl name='can_multi_write' type-id='type-id-211' visibility='default' filepath='drivers/base/regmap/internal.h' line='155' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3776'>
+          <var-decl name='max_raw_read' type-id='type-id-125' visibility='default' filepath='drivers/base/regmap/internal.h' line='158' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3840'>
+          <var-decl name='max_raw_write' type-id='type-id-125' visibility='default' filepath='drivers/base/regmap/internal.h' line='159' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3904'>
+          <var-decl name='range_tree' type-id='type-id-133' visibility='default' filepath='drivers/base/regmap/internal.h' line='161' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3968'>
+          <var-decl name='selector_work_buf' type-id='type-id-3' visibility='default' filepath='drivers/base/regmap/internal.h' line='162' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4032'>
+          <var-decl name='hwlock' type-id='type-id-703' visibility='default' filepath='drivers/base/regmap/internal.h' line='164' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='regmap_lock' type-id='type-id-74' filepath='include/linux/regmap.h' line='234' column='1' id='type-id-690'/>
+      <typedef-decl name='regmap_unlock' type-id='type-id-74' filepath='include/linux/regmap.h' line='235' column='1' id='type-id-691'/>
+      <class-decl name='regmap_format' size-in-bits='576' is-struct='yes' visibility='default' filepath='drivers/base/regmap/internal.h' line='33' column='1' id='type-id-692'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='buf_size' type-id='type-id-125' visibility='default' filepath='drivers/base/regmap/internal.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='reg_bytes' type-id='type-id-125' visibility='default' filepath='drivers/base/regmap/internal.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='pad_bytes' type-id='type-id-125' visibility='default' filepath='drivers/base/regmap/internal.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='val_bytes' type-id='type-id-125' visibility='default' filepath='drivers/base/regmap/internal.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='format_write' type-id='type-id-704' visibility='default' filepath='drivers/base/regmap/internal.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='format_reg' type-id='type-id-705' visibility='default' filepath='drivers/base/regmap/internal.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='format_val' type-id='type-id-705' visibility='default' filepath='drivers/base/regmap/internal.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='parse_val' type-id='type-id-706' visibility='default' filepath='drivers/base/regmap/internal.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='parse_inplace' type-id='type-id-74' visibility='default' filepath='drivers/base/regmap/internal.h' line='43' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='regmap_bus' size-in-bits='896' is-struct='yes' visibility='default' filepath='include/linux/regmap.h' line='492' column='1' id='type-id-707'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='fast_io' type-id='type-id-211' visibility='default' filepath='include/linux/regmap.h' line='493' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='write' type-id='type-id-708' visibility='default' filepath='include/linux/regmap.h' line='494' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='gather_write' type-id='type-id-709' visibility='default' filepath='include/linux/regmap.h' line='495' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='async_write' type-id='type-id-710' visibility='default' filepath='include/linux/regmap.h' line='496' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='reg_write' type-id='type-id-711' visibility='default' filepath='include/linux/regmap.h' line='497' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='reg_update_bits' type-id='type-id-712' visibility='default' filepath='include/linux/regmap.h' line='498' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='read' type-id='type-id-713' visibility='default' filepath='include/linux/regmap.h' line='499' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='reg_read' type-id='type-id-714' visibility='default' filepath='include/linux/regmap.h' line='500' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='free_context' type-id='type-id-715' visibility='default' filepath='include/linux/regmap.h' line='501' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='async_alloc' type-id='type-id-716' visibility='default' filepath='include/linux/regmap.h' line='502' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='read_flag_mask' type-id='type-id-53' visibility='default' filepath='include/linux/regmap.h' line='503' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='672'>
+          <var-decl name='reg_format_endian_default' type-id='type-id-717' visibility='default' filepath='include/linux/regmap.h' line='504' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='val_format_endian_default' type-id='type-id-717' visibility='default' filepath='include/linux/regmap.h' line='505' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='max_raw_read' type-id='type-id-125' visibility='default' filepath='include/linux/regmap.h' line='506' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='max_raw_write' type-id='type-id-125' visibility='default' filepath='include/linux/regmap.h' line='507' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='regmap_hw_write' type-id='type-id-718' filepath='include/linux/regmap.h' line='436' column='1' id='type-id-708'/>
+      <typedef-decl name='regmap_hw_gather_write' type-id='type-id-719' filepath='include/linux/regmap.h' line='438' column='1' id='type-id-709'/>
+      <typedef-decl name='regmap_hw_async_write' type-id='type-id-720' filepath='include/linux/regmap.h' line='441' column='1' id='type-id-710'/>
+      <class-decl name='regmap_async' size-in-bits='256' is-struct='yes' visibility='default' filepath='drivers/base/regmap/internal.h' line='46' column='1' id='type-id-721'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='drivers/base/regmap/internal.h' line='47' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='map' type-id='type-id-626' visibility='default' filepath='drivers/base/regmap/internal.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='work_buf' type-id='type-id-3' visibility='default' filepath='drivers/base/regmap/internal.h' line='49' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='regmap_hw_reg_write' type-id='type-id-697' filepath='include/linux/regmap.h' line='450' column='1' id='type-id-711'/>
+      <typedef-decl name='regmap_hw_reg_update_bits' type-id='type-id-698' filepath='include/linux/regmap.h' line='452' column='1' id='type-id-712'/>
+      <typedef-decl name='regmap_hw_read' type-id='type-id-719' filepath='include/linux/regmap.h' line='445' column='1' id='type-id-713'/>
+      <typedef-decl name='regmap_hw_reg_read' type-id='type-id-696' filepath='include/linux/regmap.h' line='448' column='1' id='type-id-714'/>
+      <typedef-decl name='regmap_hw_free_context' type-id='type-id-74' filepath='include/linux/regmap.h' line='455' column='1' id='type-id-715'/>
+      <typedef-decl name='regmap_hw_async_alloc' type-id='type-id-722' filepath='include/linux/regmap.h' line='454' column='1' id='type-id-716'/>
+      <enum-decl name='regmap_endian' filepath='include/linux/regmap.h' line='192' column='1' id='type-id-717'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='REGMAP_ENDIAN_DEFAULT' value='0'/>
+        <enumerator name='REGMAP_ENDIAN_BIG' value='1'/>
+        <enumerator name='REGMAP_ENDIAN_LITTLE' value='2'/>
+        <enumerator name='REGMAP_ENDIAN_NATIVE' value='3'/>
+      </enum-decl>
+      <class-decl name='regmap_access_table' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/regmap.h' line='227' column='1' id='type-id-723'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='yes_ranges' type-id='type-id-724' visibility='default' filepath='include/linux/regmap.h' line='228' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='n_yes_ranges' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='229' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='no_ranges' type-id='type-id-724' visibility='default' filepath='include/linux/regmap.h' line='230' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='n_no_ranges' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='231' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='regmap_range' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/regmap.h' line='207' column='1' id='type-id-725'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='range_min' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='208' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='range_max' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='209' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='regcache_ops' size-in-bits='512' is-struct='yes' visibility='default' filepath='drivers/base/regmap/internal.h' line='167' column='1' id='type-id-726'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='drivers/base/regmap/internal.h' line='168' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='type' type-id='type-id-700' visibility='default' filepath='drivers/base/regmap/internal.h' line='169' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='init' type-id='type-id-727' visibility='default' filepath='drivers/base/regmap/internal.h' line='170' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='exit' type-id='type-id-727' visibility='default' filepath='drivers/base/regmap/internal.h' line='171' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='read' type-id='type-id-728' visibility='default' filepath='drivers/base/regmap/internal.h' line='175' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='write' type-id='type-id-729' visibility='default' filepath='drivers/base/regmap/internal.h' line='176' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='sync' type-id='type-id-729' visibility='default' filepath='drivers/base/regmap/internal.h' line='177' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='drop' type-id='type-id-729' visibility='default' filepath='drivers/base/regmap/internal.h' line='178' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='regcache_type' filepath='include/linux/regmap.h' line='39' column='1' id='type-id-700'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='REGCACHE_NONE' value='0'/>
+        <enumerator name='REGCACHE_RBTREE' value='1'/>
+        <enumerator name='REGCACHE_COMPRESSED' value='2'/>
+        <enumerator name='REGCACHE_FLAT' value='3'/>
+      </enum-decl>
+      <class-decl name='reg_default' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/regmap.h' line='55' column='1' id='type-id-730'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='reg' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='def' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='57' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='reg_sequence' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/linux/regmap.h' line='70' column='1' id='type-id-731'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='reg' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='def' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='delay_us' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='73' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='regmap_config' size-in-bits='1984' is-struct='yes' visibility='default' filepath='include/linux/regmap.h' line='343' column='1' id='type-id-732'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/regmap.h' line='344' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='reg_bits' type-id='type-id-11' visibility='default' filepath='include/linux/regmap.h' line='346' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='reg_stride' type-id='type-id-11' visibility='default' filepath='include/linux/regmap.h' line='347' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='pad_bits' type-id='type-id-11' visibility='default' filepath='include/linux/regmap.h' line='348' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='val_bits' type-id='type-id-11' visibility='default' filepath='include/linux/regmap.h' line='349' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='writeable_reg' type-id='type-id-694' visibility='default' filepath='include/linux/regmap.h' line='351' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='readable_reg' type-id='type-id-694' visibility='default' filepath='include/linux/regmap.h' line='352' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='volatile_reg' type-id='type-id-694' visibility='default' filepath='include/linux/regmap.h' line='353' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='precious_reg' type-id='type-id-694' visibility='default' filepath='include/linux/regmap.h' line='354' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='readable_noinc_reg' type-id='type-id-694' visibility='default' filepath='include/linux/regmap.h' line='355' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='disable_locking' type-id='type-id-211' visibility='default' filepath='include/linux/regmap.h' line='357' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='lock' type-id='type-id-690' visibility='default' filepath='include/linux/regmap.h' line='358' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='unlock' type-id='type-id-691' visibility='default' filepath='include/linux/regmap.h' line='359' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='lock_arg' type-id='type-id-3' visibility='default' filepath='include/linux/regmap.h' line='360' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='reg_read' type-id='type-id-696' visibility='default' filepath='include/linux/regmap.h' line='362' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='reg_write' type-id='type-id-697' visibility='default' filepath='include/linux/regmap.h' line='363' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='fast_io' type-id='type-id-211' visibility='default' filepath='include/linux/regmap.h' line='365' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='928'>
+          <var-decl name='max_register' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='367' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='wr_table' type-id='type-id-695' visibility='default' filepath='include/linux/regmap.h' line='368' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='rd_table' type-id='type-id-695' visibility='default' filepath='include/linux/regmap.h' line='369' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='volatile_table' type-id='type-id-695' visibility='default' filepath='include/linux/regmap.h' line='370' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='precious_table' type-id='type-id-695' visibility='default' filepath='include/linux/regmap.h' line='371' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='rd_noinc_table' type-id='type-id-695' visibility='default' filepath='include/linux/regmap.h' line='372' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='reg_defaults' type-id='type-id-733' visibility='default' filepath='include/linux/regmap.h' line='373' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='num_reg_defaults' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='374' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1376'>
+          <var-decl name='cache_type' type-id='type-id-700' visibility='default' filepath='include/linux/regmap.h' line='375' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='reg_defaults_raw' type-id='type-id-3' visibility='default' filepath='include/linux/regmap.h' line='376' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='num_reg_defaults_raw' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='377' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='read_flag_mask' type-id='type-id-100' visibility='default' filepath='include/linux/regmap.h' line='379' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='write_flag_mask' type-id='type-id-100' visibility='default' filepath='include/linux/regmap.h' line='380' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='zero_flag_mask' type-id='type-id-211' visibility='default' filepath='include/linux/regmap.h' line='381' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1672'>
+          <var-decl name='use_single_rw' type-id='type-id-211' visibility='default' filepath='include/linux/regmap.h' line='383' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1680'>
+          <var-decl name='can_multi_write' type-id='type-id-211' visibility='default' filepath='include/linux/regmap.h' line='384' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1696'>
+          <var-decl name='reg_format_endian' type-id='type-id-717' visibility='default' filepath='include/linux/regmap.h' line='386' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='val_format_endian' type-id='type-id-717' visibility='default' filepath='include/linux/regmap.h' line='387' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='ranges' type-id='type-id-734' visibility='default' filepath='include/linux/regmap.h' line='389' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='num_ranges' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='390' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1888'>
+          <var-decl name='use_hwlock' type-id='type-id-211' visibility='default' filepath='include/linux/regmap.h' line='392' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='hwlock_id' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='393' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1952'>
+          <var-decl name='hwlock_mode' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='394' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='regmap_range_cfg' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/regmap.h' line='417' column='1' id='type-id-735'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/regmap.h' line='418' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='range_min' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='421' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='range_max' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='selector_reg' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='425' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='selector_mask' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='426' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='selector_shift' type-id='type-id-11' visibility='default' filepath='include/linux/regmap.h' line='427' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='window_start' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='430' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='window_len' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='431' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='regmap_field' size-in-bits='256' is-struct='yes' visibility='default' filepath='drivers/base/regmap/internal.h' line='207' column='1' id='type-id-736'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='regmap' type-id='type-id-626' visibility='default' filepath='drivers/base/regmap/internal.h' line='208' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='mask' type-id='type-id-10' visibility='default' filepath='drivers/base/regmap/internal.h' line='209' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='shift' type-id='type-id-10' visibility='default' filepath='drivers/base/regmap/internal.h' line='211' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='reg' type-id='type-id-10' visibility='default' filepath='drivers/base/regmap/internal.h' line='212' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='id_size' type-id='type-id-10' visibility='default' filepath='drivers/base/regmap/internal.h' line='214' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='id_offset' type-id='type-id-10' visibility='default' filepath='drivers/base/regmap/internal.h' line='215' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='reg_field' size-in-bits='160' is-struct='yes' visibility='default' filepath='include/linux/regmap.h' line='1045' column='1' id='type-id-737'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='reg' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='1046' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='lsb' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='1047' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='msb' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='1048' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='id_size' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='1049' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='id_offset' type-id='type-id-10' visibility='default' filepath='include/linux/regmap.h' line='1050' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-730' const='yes' id='type-id-738'/>
+      <pointer-type-def type-id='type-id-738' size-in-bits='64' id='type-id-733'/>
+      <qualified-type-def type-id='type-id-731' const='yes' id='type-id-739'/>
+      <pointer-type-def type-id='type-id-739' size-in-bits='64' id='type-id-740'/>
+      <qualified-type-def type-id='type-id-726' const='yes' id='type-id-741'/>
+      <pointer-type-def type-id='type-id-741' size-in-bits='64' id='type-id-699'/>
+      <qualified-type-def type-id='type-id-723' const='yes' id='type-id-742'/>
+      <pointer-type-def type-id='type-id-742' size-in-bits='64' id='type-id-695'/>
+      <qualified-type-def type-id='type-id-707' const='yes' id='type-id-743'/>
+      <pointer-type-def type-id='type-id-743' size-in-bits='64' id='type-id-693'/>
+      <qualified-type-def type-id='type-id-732' const='yes' id='type-id-744'/>
+      <pointer-type-def type-id='type-id-744' size-in-bits='64' id='type-id-631'/>
+      <qualified-type-def type-id='type-id-725' const='yes' id='type-id-745'/>
+      <pointer-type-def type-id='type-id-745' size-in-bits='64' id='type-id-724'/>
+      <qualified-type-def type-id='type-id-735' const='yes' id='type-id-746'/>
+      <pointer-type-def type-id='type-id-746' size-in-bits='64' id='type-id-734'/>
+      <pointer-type-def type-id='type-id-687' size-in-bits='64' id='type-id-703'/>
+      <pointer-type-def type-id='type-id-747' size-in-bits='64' id='type-id-727'/>
+      <pointer-type-def type-id='type-id-748' size-in-bits='64' id='type-id-729'/>
+      <pointer-type-def type-id='type-id-749' size-in-bits='64' id='type-id-728'/>
+      <pointer-type-def type-id='type-id-750' size-in-bits='64' id='type-id-697'/>
+      <pointer-type-def type-id='type-id-751' size-in-bits='64' id='type-id-696'/>
+      <pointer-type-def type-id='type-id-752' size-in-bits='64' id='type-id-698'/>
+      <pointer-type-def type-id='type-id-753' size-in-bits='64' id='type-id-718'/>
+      <pointer-type-def type-id='type-id-754' size-in-bits='64' id='type-id-719'/>
+      <pointer-type-def type-id='type-id-755' size-in-bits='64' id='type-id-720'/>
+      <pointer-type-def type-id='type-id-730' size-in-bits='64' id='type-id-701'/>
+      <pointer-type-def type-id='type-id-731' size-in-bits='64' id='type-id-702'/>
+      <pointer-type-def type-id='type-id-688' size-in-bits='64' id='type-id-626'/>
+      <pointer-type-def type-id='type-id-721' size-in-bits='64' id='type-id-756'/>
+      <pointer-type-def type-id='type-id-757' size-in-bits='64' id='type-id-722'/>
+      <pointer-type-def type-id='type-id-736' size-in-bits='64' id='type-id-758'/>
+      <pointer-type-def type-id='type-id-759' size-in-bits='64' id='type-id-694'/>
+      <pointer-type-def type-id='type-id-760' size-in-bits='64' id='type-id-706'/>
+      <pointer-type-def type-id='type-id-761' size-in-bits='64' id='type-id-704'/>
+      <pointer-type-def type-id='type-id-762' size-in-bits='64' id='type-id-705'/>
+      <function-decl name='hwspin_lock_request_specific' mangled-name='hwspin_lock_request_specific' filepath='include/linux/hwspinlock.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='hwspin_lock_request_specific'>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-703'/>
+      </function-decl>
+      <function-decl name='hwspin_lock_free' mangled-name='hwspin_lock_free' filepath='include/linux/hwspinlock.h' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='hwspin_lock_free'>
+        <parameter type-id='type-id-703'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__regmap_init' mangled-name='__regmap_init' filepath='drivers/base/regmap/regmap.c' line='665' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__regmap_init'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/base/regmap/regmap.c' line='665' column='1'/>
+        <parameter type-id='type-id-693' name='bus' filepath='drivers/base/regmap/regmap.c' line='666' column='1'/>
+        <parameter type-id='type-id-3' name='bus_context' filepath='drivers/base/regmap/regmap.c' line='667' column='1'/>
+        <parameter type-id='type-id-631' name='config' filepath='drivers/base/regmap/regmap.c' line='668' column='1'/>
+        <parameter type-id='type-id-532' name='lock_key' filepath='drivers/base/regmap/regmap.c' line='669' column='1'/>
+        <parameter type-id='type-id-24' name='lock_name' filepath='drivers/base/regmap/regmap.c' line='670' column='1'/>
+        <return type-id='type-id-626'/>
+      </function-decl>
+      <function-decl name='regmap_register_patch' mangled-name='regmap_register_patch' filepath='drivers/base/regmap/regmap.c' line='2936' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regmap_register_patch'>
+        <parameter type-id='type-id-626' name='map' filepath='drivers/base/regmap/regmap.c' line='2936' column='1'/>
+        <parameter type-id='type-id-740' name='regs' filepath='drivers/base/regmap/regmap.c' line='2936' column='1'/>
+        <parameter type-id='type-id-11' name='num_regs' filepath='drivers/base/regmap/regmap.c' line='2937' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__devm_regmap_init' mangled-name='__devm_regmap_init' filepath='drivers/base/regmap/regmap.c' line='1160' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__devm_regmap_init'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/base/regmap/regmap.c' line='1160' column='1'/>
+        <parameter type-id='type-id-693' name='bus' filepath='drivers/base/regmap/regmap.c' line='1161' column='1'/>
+        <parameter type-id='type-id-3' name='bus_context' filepath='drivers/base/regmap/regmap.c' line='1162' column='1'/>
+        <parameter type-id='type-id-631' name='config' filepath='drivers/base/regmap/regmap.c' line='1163' column='1'/>
+        <parameter type-id='type-id-532' name='lock_key' filepath='drivers/base/regmap/regmap.c' line='1164' column='1'/>
+        <parameter type-id='type-id-24' name='lock_name' filepath='drivers/base/regmap/regmap.c' line='1165' column='1'/>
+        <return type-id='type-id-626'/>
+      </function-decl>
+      <function-decl name='devm_regmap_field_alloc' mangled-name='devm_regmap_field_alloc' filepath='drivers/base/regmap/regmap.c' line='1208' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_regmap_field_alloc'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/base/regmap/regmap.c' line='1208' column='1'/>
+        <parameter type-id='type-id-626' name='regmap' filepath='drivers/base/regmap/regmap.c' line='1209' column='1'/>
+        <parameter type-id='type-id-737' name='reg_field' filepath='drivers/base/regmap/regmap.c' line='1209' column='1'/>
+        <return type-id='type-id-758'/>
+      </function-decl>
+      <function-decl name='regmap_raw_write' mangled-name='regmap_raw_write' filepath='drivers/base/regmap/regmap.c' line='1882' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regmap_raw_write'>
+        <parameter type-id='type-id-626' name='map' filepath='drivers/base/regmap/regmap.c' line='1882' column='1'/>
+        <parameter type-id='type-id-10' name='reg' filepath='drivers/base/regmap/regmap.c' line='1882' column='1'/>
+        <parameter type-id='type-id-3' name='val' filepath='drivers/base/regmap/regmap.c' line='1883' column='1'/>
+        <parameter type-id='type-id-125' name='val_len' filepath='drivers/base/regmap/regmap.c' line='1883' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='regmap_field_update_bits_base' mangled-name='regmap_field_update_bits_base' filepath='drivers/base/regmap/regmap.c' line='1919' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regmap_field_update_bits_base'>
+        <parameter type-id='type-id-758' name='field' filepath='drivers/base/regmap/regmap.c' line='1919' column='1'/>
+        <parameter type-id='type-id-10' name='mask' filepath='drivers/base/regmap/regmap.c' line='1920' column='1'/>
+        <parameter type-id='type-id-10' name='val' filepath='drivers/base/regmap/regmap.c' line='1920' column='1'/>
+        <parameter type-id='type-id-763' name='change' filepath='drivers/base/regmap/regmap.c' line='1921' column='1'/>
+        <parameter type-id='type-id-211' name='async' filepath='drivers/base/regmap/regmap.c' line='1921' column='1'/>
+        <parameter type-id='type-id-211' name='force' filepath='drivers/base/regmap/regmap.c' line='1921' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='regmap_bulk_write' mangled-name='regmap_bulk_write' filepath='drivers/base/regmap/regmap.c' line='1976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regmap_bulk_write'>
+        <parameter type-id='type-id-626' name='map' filepath='drivers/base/regmap/regmap.c' line='1976' column='1'/>
+        <parameter type-id='type-id-10' name='reg' filepath='drivers/base/regmap/regmap.c' line='1976' column='1'/>
+        <parameter type-id='type-id-3' name='val' filepath='drivers/base/regmap/regmap.c' line='1976' column='1'/>
+        <parameter type-id='type-id-125' name='val_count' filepath='drivers/base/regmap/regmap.c' line='1977' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='regmap_multi_reg_write' mangled-name='regmap_multi_reg_write' filepath='drivers/base/regmap/regmap.c' line='2275' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regmap_multi_reg_write'>
+        <parameter type-id='type-id-626' name='map' filepath='drivers/base/regmap/regmap.c' line='2275' column='1'/>
+        <parameter type-id='type-id-740' name='regs' filepath='drivers/base/regmap/regmap.c' line='2275' column='1'/>
+        <parameter type-id='type-id-11' name='num_regs' filepath='drivers/base/regmap/regmap.c' line='2276' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='regmap_multi_reg_write_bypassed' mangled-name='regmap_multi_reg_write_bypassed' filepath='drivers/base/regmap/regmap.c' line='2308' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regmap_multi_reg_write_bypassed'>
+        <parameter type-id='type-id-626' name='map' filepath='drivers/base/regmap/regmap.c' line='2308' column='1'/>
+        <parameter type-id='type-id-740' name='regs' filepath='drivers/base/regmap/regmap.c' line='2309' column='1'/>
+        <parameter type-id='type-id-11' name='num_regs' filepath='drivers/base/regmap/regmap.c' line='2310' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='regmap_raw_write_async' mangled-name='regmap_raw_write_async' filepath='drivers/base/regmap/regmap.c' line='2352' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regmap_raw_write_async'>
+        <parameter type-id='type-id-626' name='map' filepath='drivers/base/regmap/regmap.c' line='2352' column='1'/>
+        <parameter type-id='type-id-10' name='reg' filepath='drivers/base/regmap/regmap.c' line='2352' column='1'/>
+        <parameter type-id='type-id-3' name='val' filepath='drivers/base/regmap/regmap.c' line='2353' column='1'/>
+        <parameter type-id='type-id-125' name='val_len' filepath='drivers/base/regmap/regmap.c' line='2353' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='regmap_raw_read' mangled-name='regmap_raw_read' filepath='drivers/base/regmap/regmap.c' line='2507' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regmap_raw_read'>
+        <parameter type-id='type-id-626' name='map' filepath='drivers/base/regmap/regmap.c' line='2507' column='1'/>
+        <parameter type-id='type-id-10' name='reg' filepath='drivers/base/regmap/regmap.c' line='2507' column='1'/>
+        <parameter type-id='type-id-3' name='val' filepath='drivers/base/regmap/regmap.c' line='2507' column='1'/>
+        <parameter type-id='type-id-125' name='val_len' filepath='drivers/base/regmap/regmap.c' line='2508' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='regmap_field_read' mangled-name='regmap_field_read' filepath='drivers/base/regmap/regmap.c' line='2654' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regmap_field_read'>
+        <parameter type-id='type-id-758' name='field' filepath='drivers/base/regmap/regmap.c' line='2654' column='1'/>
+        <parameter type-id='type-id-72' name='val' filepath='drivers/base/regmap/regmap.c' line='2654' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='regmap_bulk_read' mangled-name='regmap_bulk_read' filepath='drivers/base/regmap/regmap.c' line='2714' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regmap_bulk_read'>
+        <parameter type-id='type-id-626' name='map' filepath='drivers/base/regmap/regmap.c' line='2714' column='1'/>
+        <parameter type-id='type-id-10' name='reg' filepath='drivers/base/regmap/regmap.c' line='2714' column='1'/>
+        <parameter type-id='type-id-3' name='val' filepath='drivers/base/regmap/regmap.c' line='2714' column='1'/>
+        <parameter type-id='type-id-125' name='val_count' filepath='drivers/base/regmap/regmap.c' line='2715' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='regmap_async_complete' mangled-name='regmap_async_complete' filepath='drivers/base/regmap/regmap.c' line='2895' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regmap_async_complete'>
+        <parameter type-id='type-id-626' name='map' filepath='drivers/base/regmap/regmap.c' line='2895' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-747'>
+        <parameter type-id='type-id-626'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-748'>
+        <parameter type-id='type-id-626'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-749'>
+        <parameter type-id='type-id-626'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-72'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-750'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-751'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-72'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-752'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-753'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-754'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-755'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-756'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-757'>
+        <return type-id='type-id-756'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-759'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-760'>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-10'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-761'>
+        <parameter type-id='type-id-626'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-762'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='drivers/base/regmap/internal.h' line='53' column='1' id='type-id-689'>
+        <data-member access='private'>
+          <var-decl name='mutex' type-id='type-id-407' visibility='default' filepath='drivers/base/regmap/internal.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-596' visibility='default' filepath='drivers/base/regmap/internal.h' line='55' column='1'/>
+        </data-member>
+      </union-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/base/syscore.c' language='LANG_C89'>
+      <function-decl name='unregister_syscore_ops' mangled-name='unregister_syscore_ops' filepath='drivers/base/syscore.c' line='34' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unregister_syscore_ops'>
+        <parameter type-id='type-id-764' name='ops' filepath='drivers/base/syscore.c' line='34' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/bus/qcom-ebi2.c' language='LANG_C89'>
+      <function-decl name='devm_clk_get' mangled-name='devm_clk_get' filepath='include/linux/clk.h' line='349' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_clk_get'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-529'/>
+      </function-decl>
+      <function-decl name='of_get_next_available_child' mangled-name='of_get_next_available_child' filepath='include/linux/of.h' line='298' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_get_next_available_child'>
+        <parameter type-id='type-id-80'/>
+        <parameter type-id='type-id-81'/>
+        <return type-id='type-id-81'/>
+      </function-decl>
+      <function-decl name='clk_prepare' mangled-name='clk_prepare' filepath='include/linux/clk.h' line='235' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clk_prepare'>
+        <parameter type-id='type-id-529'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='clk_enable' mangled-name='clk_enable' filepath='include/linux/clk.h' line='410' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clk_enable'>
+        <parameter type-id='type-id-529'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='clk_unprepare' mangled-name='clk_unprepare' filepath='include/linux/clk.h' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clk_unprepare'>
+        <parameter type-id='type-id-529'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='clk_disable' mangled-name='clk_disable' filepath='include/linux/clk.h' line='438' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clk_disable'>
+        <parameter type-id='type-id-529'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/char/hw_random/core.c' language='LANG_C89'>
+      <class-decl name='hwrng' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/linux/hw_random.h' line='38' column='1' id='type-id-765'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/hw_random.h' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='init' type-id='type-id-766' visibility='default' filepath='include/linux/hw_random.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='cleanup' type-id='type-id-767' visibility='default' filepath='include/linux/hw_random.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='data_present' type-id='type-id-768' visibility='default' filepath='include/linux/hw_random.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='data_read' type-id='type-id-769' visibility='default' filepath='include/linux/hw_random.h' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='read' type-id='type-id-770' visibility='default' filepath='include/linux/hw_random.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='priv' type-id='type-id-100' visibility='default' filepath='include/linux/hw_random.h' line='45' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='quality' type-id='type-id-288' visibility='default' filepath='include/linux/hw_random.h' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/hw_random.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='ref' type-id='type-id-771' visibility='default' filepath='include/linux/hw_random.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='cleanup_done' type-id='type-id-661' visibility='default' filepath='include/linux/hw_random.h' line='51' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-765' size-in-bits='64' id='type-id-772'/>
+      <pointer-type-def type-id='type-id-773' size-in-bits='64' id='type-id-766'/>
+      <pointer-type-def type-id='type-id-774' size-in-bits='64' id='type-id-768'/>
+      <pointer-type-def type-id='type-id-775' size-in-bits='64' id='type-id-769'/>
+      <pointer-type-def type-id='type-id-776' size-in-bits='64' id='type-id-770'/>
+      <pointer-type-def type-id='type-id-777' size-in-bits='64' id='type-id-767'/>
+      <function-decl name='hwrng_register' mangled-name='hwrng_register' filepath='drivers/char/hw_random/core.c' line='457' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='hwrng_register'>
+        <parameter type-id='type-id-772' name='rng' filepath='drivers/char/hw_random/core.c' line='457' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='hwrng_unregister' mangled-name='hwrng_unregister' filepath='drivers/char/hw_random/core.c' line='517' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='hwrng_unregister'>
+        <parameter type-id='type-id-772' name='rng' filepath='drivers/char/hw_random/core.c' line='517' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-773'>
+        <parameter type-id='type-id-772' name='rng'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-774'>
+        <parameter type-id='type-id-772'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-775'>
+        <parameter type-id='type-id-772'/>
+        <parameter type-id='type-id-347'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-776'>
+        <parameter type-id='type-id-772'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-777'>
+        <parameter type-id='type-id-772'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/char/random.c' language='LANG_C89'>
+      <function-decl name='add_hwgenerator_randomness' mangled-name='add_hwgenerator_randomness' filepath='drivers/char/random.c' line='2277' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='add_hwgenerator_randomness'>
+        <parameter type-id='type-id-24' name='buffer' filepath='drivers/char/random.c' line='2277' column='1'/>
+        <parameter type-id='type-id-125' name='count' filepath='drivers/char/random.c' line='2277' column='1'/>
+        <parameter type-id='type-id-125' name='entropy' filepath='drivers/char/random.c' line='2278' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/clk/clk-bulk.c' language='LANG_C89'>
+      <qualified-type-def type-id='type-id-778' const='yes' id='type-id-779'/>
+      <pointer-type-def type-id='type-id-779' size-in-bits='64' id='type-id-780'/>
+      <function-decl name='clk_bulk_unprepare' mangled-name='clk_bulk_unprepare' filepath='drivers/clk/clk-bulk.c' line='72' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clk_bulk_unprepare'>
+        <parameter type-id='type-id-11' name='num_clks' filepath='drivers/clk/clk-bulk.c' line='72' column='1'/>
+        <parameter type-id='type-id-780' name='clks' filepath='drivers/clk/clk-bulk.c' line='72' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='clk_bulk_prepare' mangled-name='clk_bulk_prepare' filepath='drivers/clk/clk-bulk.c' line='87' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clk_bulk_prepare'>
+        <parameter type-id='type-id-11' name='num_clks' filepath='drivers/clk/clk-bulk.c' line='87' column='1'/>
+        <parameter type-id='type-id-780' name='clks' filepath='drivers/clk/clk-bulk.c' line='88' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='clk_bulk_disable' mangled-name='clk_bulk_disable' filepath='drivers/clk/clk-bulk.c' line='122' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clk_bulk_disable'>
+        <parameter type-id='type-id-11' name='num_clks' filepath='drivers/clk/clk-bulk.c' line='122' column='1'/>
+        <parameter type-id='type-id-780' name='clks' filepath='drivers/clk/clk-bulk.c' line='122' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='clk_bulk_enable' mangled-name='clk_bulk_enable' filepath='drivers/clk/clk-bulk.c' line='138' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clk_bulk_enable'>
+        <parameter type-id='type-id-11' name='num_clks' filepath='drivers/clk/clk-bulk.c' line='138' column='1'/>
+        <parameter type-id='type-id-780' name='clks' filepath='drivers/clk/clk-bulk.c' line='138' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/clk/clk-devres.c' language='LANG_C89'>
+      <class-decl name='clk_bulk_data' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/clk.h' line='90' column='1' id='type-id-778'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='id' type-id='type-id-24' visibility='default' filepath='include/linux/clk.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='clk' type-id='type-id-529' visibility='default' filepath='include/linux/clk.h' line='92' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-778' size-in-bits='64' id='type-id-781'/>
+      <function-decl name='clk_bulk_get' mangled-name='clk_bulk_get' filepath='include/linux/clk.h' line='313' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clk_bulk_get'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-781'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='of_clk_get_by_name' mangled-name='of_clk_get_by_name' filepath='include/linux/clk.h' line='779' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_clk_get_by_name'>
+        <parameter type-id='type-id-782'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-529'/>
+      </function-decl>
+      <function-decl name='clk_bulk_put' mangled-name='clk_bulk_put' filepath='include/linux/clk.h' line='488' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clk_bulk_put'>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-781'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='devm_clk_bulk_get' mangled-name='devm_clk_bulk_get' filepath='drivers/clk/clk-devres.c' line='49' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_clk_bulk_get'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/clk/clk-devres.c' line='49' column='1'/>
+        <parameter type-id='type-id-11' name='num_clks' filepath='drivers/clk/clk-devres.c' line='49' column='1'/>
+        <parameter type-id='type-id-781' name='clks' filepath='drivers/clk/clk-devres.c' line='50' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='devm_clk_put' mangled-name='devm_clk_put' filepath='drivers/clk/clk-devres.c' line='83' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_clk_put'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/clk/clk-devres.c' line='83' column='1'/>
+        <parameter type-id='type-id-529' name='clk' filepath='drivers/clk/clk-devres.c' line='83' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/clk/clk-divider.c' language='LANG_C89'>
+      <class-decl name='clk_div_table' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/clk-provider.h' line='378' column='1' id='type-id-783'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='val' type-id='type-id-10' visibility='default' filepath='include/linux/clk-provider.h' line='379' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='div' type-id='type-id-10' visibility='default' filepath='include/linux/clk-provider.h' line='380' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-783' const='yes' id='type-id-784'/>
+      <pointer-type-def type-id='type-id-784' size-in-bits='64' id='type-id-785'/>
+      <function-decl name='divider_recalc_rate' mangled-name='divider_recalc_rate' filepath='drivers/clk/clk-divider.c' line='116' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='divider_recalc_rate'>
+        <parameter type-id='type-id-786' name='hw' filepath='drivers/clk/clk-divider.c' line='116' column='1'/>
+        <parameter type-id='type-id-100' name='parent_rate' filepath='drivers/clk/clk-divider.c' line='116' column='1'/>
+        <parameter type-id='type-id-10' name='val' filepath='drivers/clk/clk-divider.c' line='117' column='1'/>
+        <parameter type-id='type-id-785' name='table' filepath='drivers/clk/clk-divider.c' line='118' column='1'/>
+        <parameter type-id='type-id-100' name='flags' filepath='drivers/clk/clk-divider.c' line='119' column='1'/>
+        <parameter type-id='type-id-100' name='width' filepath='drivers/clk/clk-divider.c' line='119' column='1'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+      <function-decl name='divider_round_rate_parent' mangled-name='divider_round_rate_parent' filepath='drivers/clk/clk-divider.c' line='332' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='divider_round_rate_parent'>
+        <parameter type-id='type-id-786' name='hw' filepath='drivers/clk/clk-divider.c' line='332' column='1'/>
+        <parameter type-id='type-id-786' name='parent' filepath='drivers/clk/clk-divider.c' line='332' column='1'/>
+        <parameter type-id='type-id-100' name='rate' filepath='drivers/clk/clk-divider.c' line='333' column='1'/>
+        <parameter type-id='type-id-76' name='prate' filepath='drivers/clk/clk-divider.c' line='333' column='1'/>
+        <parameter type-id='type-id-785' name='table' filepath='drivers/clk/clk-divider.c' line='334' column='1'/>
+        <parameter type-id='type-id-53' name='width' filepath='drivers/clk/clk-divider.c' line='335' column='1'/>
+        <parameter type-id='type-id-100' name='flags' filepath='drivers/clk/clk-divider.c' line='335' column='1'/>
+        <return type-id='type-id-187'/>
+      </function-decl>
+      <function-decl name='divider_ro_round_rate_parent' mangled-name='divider_ro_round_rate_parent' filepath='drivers/clk/clk-divider.c' line='345' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='divider_ro_round_rate_parent'>
+        <parameter type-id='type-id-786' name='hw' filepath='drivers/clk/clk-divider.c' line='345' column='1'/>
+        <parameter type-id='type-id-786' name='parent' filepath='drivers/clk/clk-divider.c' line='345' column='1'/>
+        <parameter type-id='type-id-100' name='rate' filepath='drivers/clk/clk-divider.c' line='346' column='1'/>
+        <parameter type-id='type-id-76' name='prate' filepath='drivers/clk/clk-divider.c' line='346' column='1'/>
+        <parameter type-id='type-id-785' name='table' filepath='drivers/clk/clk-divider.c' line='347' column='1'/>
+        <parameter type-id='type-id-53' name='width' filepath='drivers/clk/clk-divider.c' line='347' column='1'/>
+        <parameter type-id='type-id-100' name='flags' filepath='drivers/clk/clk-divider.c' line='348' column='1'/>
+        <parameter type-id='type-id-10' name='val' filepath='drivers/clk/clk-divider.c' line='348' column='1'/>
+        <return type-id='type-id-187'/>
+      </function-decl>
+      <function-decl name='divider_get_val' mangled-name='divider_get_val' filepath='drivers/clk/clk-divider.c' line='388' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='divider_get_val'>
+        <parameter type-id='type-id-100' name='rate' filepath='drivers/clk/clk-divider.c' line='388' column='1'/>
+        <parameter type-id='type-id-100' name='parent_rate' filepath='drivers/clk/clk-divider.c' line='388' column='1'/>
+        <parameter type-id='type-id-785' name='table' filepath='drivers/clk/clk-divider.c' line='389' column='1'/>
+        <parameter type-id='type-id-53' name='width' filepath='drivers/clk/clk-divider.c' line='389' column='1'/>
+        <parameter type-id='type-id-100' name='flags' filepath='drivers/clk/clk-divider.c' line='390' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/clk/clk.c' language='LANG_C89'>
+      <class-decl name='clk_core' size-in-bits='1728' is-struct='yes' visibility='default' filepath='drivers/clk/clk.c' line='45' column='1' id='type-id-787'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='drivers/clk/clk.c' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ops' type-id='type-id-788' visibility='default' filepath='drivers/clk/clk.c' line='47' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='hw' type-id='type-id-786' visibility='default' filepath='drivers/clk/clk.c' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='drivers/clk/clk.c' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='drivers/clk/clk.c' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='parent' type-id='type-id-789' visibility='default' filepath='drivers/clk/clk.c' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='parent_names' type-id='type-id-184' visibility='default' filepath='drivers/clk/clk.c' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='parents' type-id='type-id-790' visibility='default' filepath='drivers/clk/clk.c' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='num_parents' type-id='type-id-53' visibility='default' filepath='drivers/clk/clk.c' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='520'>
+          <var-decl name='new_parent_index' type-id='type-id-53' visibility='default' filepath='drivers/clk/clk.c' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='rate' type-id='type-id-100' visibility='default' filepath='drivers/clk/clk.c' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='req_rate' type-id='type-id-100' visibility='default' filepath='drivers/clk/clk.c' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='new_rate' type-id='type-id-100' visibility='default' filepath='drivers/clk/clk.c' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='new_parent' type-id='type-id-789' visibility='default' filepath='drivers/clk/clk.c' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='new_child' type-id='type-id-789' visibility='default' filepath='drivers/clk/clk.c' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='drivers/clk/clk.c' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='orphan' type-id='type-id-211' visibility='default' filepath='drivers/clk/clk.c' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='968'>
+          <var-decl name='rpm_enabled' type-id='type-id-211' visibility='default' filepath='drivers/clk/clk.c' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='976'>
+          <var-decl name='need_sync' type-id='type-id-211' visibility='default' filepath='drivers/clk/clk.c' line='64' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='984'>
+          <var-decl name='boot_enabled' type-id='type-id-211' visibility='default' filepath='drivers/clk/clk.c' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='992'>
+          <var-decl name='enable_count' type-id='type-id-10' visibility='default' filepath='drivers/clk/clk.c' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='prepare_count' type-id='type-id-10' visibility='default' filepath='drivers/clk/clk.c' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1056'>
+          <var-decl name='protect_count' type-id='type-id-10' visibility='default' filepath='drivers/clk/clk.c' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='min_rate' type-id='type-id-100' visibility='default' filepath='drivers/clk/clk.c' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='max_rate' type-id='type-id-100' visibility='default' filepath='drivers/clk/clk.c' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='accuracy' type-id='type-id-100' visibility='default' filepath='drivers/clk/clk.c' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='phase' type-id='type-id-11' visibility='default' filepath='drivers/clk/clk.c' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1312'>
+          <var-decl name='duty' type-id='type-id-791' visibility='default' filepath='drivers/clk/clk.c' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='children' type-id='type-id-297' visibility='default' filepath='drivers/clk/clk.c' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='child_node' type-id='type-id-378' visibility='default' filepath='drivers/clk/clk.c' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='clks' type-id='type-id-297' visibility='default' filepath='drivers/clk/clk.c' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='notifier_count' type-id='type-id-10' visibility='default' filepath='drivers/clk/clk.c' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1696'>
+          <var-decl name='ref' type-id='type-id-771' visibility='default' filepath='drivers/clk/clk.c' line='82' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='clk_ops' size-in-bits='1408' is-struct='yes' visibility='default' filepath='include/linux/clk-provider.h' line='218' column='1' id='type-id-792'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='prepare' type-id='type-id-793' visibility='default' filepath='include/linux/clk-provider.h' line='219' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='unprepare' type-id='type-id-794' visibility='default' filepath='include/linux/clk-provider.h' line='220' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='is_prepared' type-id='type-id-793' visibility='default' filepath='include/linux/clk-provider.h' line='221' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='unprepare_unused' type-id='type-id-794' visibility='default' filepath='include/linux/clk-provider.h' line='222' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='enable' type-id='type-id-793' visibility='default' filepath='include/linux/clk-provider.h' line='223' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='disable' type-id='type-id-794' visibility='default' filepath='include/linux/clk-provider.h' line='224' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='is_enabled' type-id='type-id-793' visibility='default' filepath='include/linux/clk-provider.h' line='225' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='disable_unused' type-id='type-id-794' visibility='default' filepath='include/linux/clk-provider.h' line='226' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='recalc_rate' type-id='type-id-795' visibility='default' filepath='include/linux/clk-provider.h' line='227' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='round_rate' type-id='type-id-796' visibility='default' filepath='include/linux/clk-provider.h' line='229' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='determine_rate' type-id='type-id-797' visibility='default' filepath='include/linux/clk-provider.h' line='231' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='set_parent' type-id='type-id-798' visibility='default' filepath='include/linux/clk-provider.h' line='233' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='get_parent' type-id='type-id-799' visibility='default' filepath='include/linux/clk-provider.h' line='234' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='set_rate' type-id='type-id-800' visibility='default' filepath='include/linux/clk-provider.h' line='235' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='set_rate_and_parent' type-id='type-id-801' visibility='default' filepath='include/linux/clk-provider.h' line='237' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='recalc_accuracy' type-id='type-id-795' visibility='default' filepath='include/linux/clk-provider.h' line='240' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='get_phase' type-id='type-id-793' visibility='default' filepath='include/linux/clk-provider.h' line='242' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='set_phase' type-id='type-id-802' visibility='default' filepath='include/linux/clk-provider.h' line='243' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='get_duty_cycle' type-id='type-id-803' visibility='default' filepath='include/linux/clk-provider.h' line='244' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='set_duty_cycle' type-id='type-id-803' visibility='default' filepath='include/linux/clk-provider.h' line='246' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='init' type-id='type-id-794' visibility='default' filepath='include/linux/clk-provider.h' line='248' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='debug_init' type-id='type-id-804' visibility='default' filepath='include/linux/clk-provider.h' line='249' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='clk_hw' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/clk-provider.h' line='285' column='1' id='type-id-805'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='core' type-id='type-id-789' visibility='default' filepath='include/linux/clk-provider.h' line='286' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='clk' type-id='type-id-529' visibility='default' filepath='include/linux/clk-provider.h' line='287' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='init' type-id='type-id-806' visibility='default' filepath='include/linux/clk-provider.h' line='288' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='clk_init_data' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/clk-provider.h' line='262' column='1' id='type-id-807'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/clk-provider.h' line='263' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ops' type-id='type-id-788' visibility='default' filepath='include/linux/clk-provider.h' line='264' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='parent_names' type-id='type-id-562' visibility='default' filepath='include/linux/clk-provider.h' line='265' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='num_parents' type-id='type-id-53' visibility='default' filepath='include/linux/clk-provider.h' line='266' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/clk-provider.h' line='267' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='clk_rate_request' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/clk-provider.h' line='64' column='1' id='type-id-808'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='rate' type-id='type-id-100' visibility='default' filepath='include/linux/clk-provider.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='min_rate' type-id='type-id-100' visibility='default' filepath='include/linux/clk-provider.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='max_rate' type-id='type-id-100' visibility='default' filepath='include/linux/clk-provider.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='best_parent_rate' type-id='type-id-100' visibility='default' filepath='include/linux/clk-provider.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='best_parent_hw' type-id='type-id-786' visibility='default' filepath='include/linux/clk-provider.h' line='69' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='clk_duty' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/clk-provider.h' line='78' column='1' id='type-id-791'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='num' type-id='type-id-10' visibility='default' filepath='include/linux/clk-provider.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='den' type-id='type-id-10' visibility='default' filepath='include/linux/clk-provider.h' line='80' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-809' size-in-bits='64' id='type-id-810'/>
+      <pointer-type-def type-id='type-id-787' size-in-bits='64' id='type-id-789'/>
+      <pointer-type-def type-id='type-id-789' size-in-bits='64' id='type-id-790'/>
+      <pointer-type-def type-id='type-id-791' size-in-bits='64' id='type-id-811'/>
+      <pointer-type-def type-id='type-id-805' size-in-bits='64' id='type-id-786'/>
+      <pointer-type-def type-id='type-id-812' size-in-bits='64' id='type-id-813'/>
+      <pointer-type-def type-id='type-id-808' size-in-bits='64' id='type-id-814'/>
+      <qualified-type-def type-id='type-id-815' const='yes' id='type-id-816'/>
+      <pointer-type-def type-id='type-id-816' size-in-bits='64' id='type-id-817'/>
+      <qualified-type-def type-id='type-id-805' const='yes' id='type-id-818'/>
+      <pointer-type-def type-id='type-id-818' size-in-bits='64' id='type-id-819'/>
+      <qualified-type-def type-id='type-id-807' const='yes' id='type-id-820'/>
+      <pointer-type-def type-id='type-id-820' size-in-bits='64' id='type-id-806'/>
+      <qualified-type-def type-id='type-id-792' const='yes' id='type-id-821'/>
+      <pointer-type-def type-id='type-id-821' size-in-bits='64' id='type-id-788'/>
+      <pointer-type-def type-id='type-id-822' size-in-bits='64' id='type-id-793'/>
+      <pointer-type-def type-id='type-id-823' size-in-bits='64' id='type-id-803'/>
+      <pointer-type-def type-id='type-id-824' size-in-bits='64' id='type-id-797'/>
+      <pointer-type-def type-id='type-id-825' size-in-bits='64' id='type-id-802'/>
+      <pointer-type-def type-id='type-id-826' size-in-bits='64' id='type-id-798'/>
+      <pointer-type-def type-id='type-id-827' size-in-bits='64' id='type-id-800'/>
+      <pointer-type-def type-id='type-id-828' size-in-bits='64' id='type-id-801'/>
+      <pointer-type-def type-id='type-id-829' size-in-bits='64' id='type-id-796'/>
+      <pointer-type-def type-id='type-id-830' size-in-bits='64' id='type-id-799'/>
+      <pointer-type-def type-id='type-id-831' size-in-bits='64' id='type-id-795'/>
+      <pointer-type-def type-id='type-id-832' size-in-bits='64' id='type-id-794'/>
+      <pointer-type-def type-id='type-id-833' size-in-bits='64' id='type-id-804'/>
+      <function-decl name='of_prop_next_u32' mangled-name='of_prop_next_u32' filepath='include/linux/of.h' line='543' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_prop_next_u32'>
+        <parameter type-id='type-id-834'/>
+        <parameter type-id='type-id-835'/>
+        <parameter type-id='type-id-72'/>
+        <return type-id='type-id-835'/>
+      </function-decl>
+      <function-decl name='__clk_get_name' mangled-name='__clk_get_name' filepath='drivers/clk/clk.c' line='250' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__clk_get_name'>
+        <parameter type-id='type-id-817' name='clk' filepath='drivers/clk/clk.c' line='250' column='1'/>
+        <return type-id='type-id-24'/>
+      </function-decl>
+      <function-decl name='clk_hw_get_name' mangled-name='clk_hw_get_name' filepath='drivers/clk/clk.c' line='256' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clk_hw_get_name'>
+        <parameter type-id='type-id-819' name='hw' filepath='drivers/clk/clk.c' line='256' column='1'/>
+        <return type-id='type-id-24'/>
+      </function-decl>
+      <function-decl name='__clk_get_hw' mangled-name='__clk_get_hw' filepath='drivers/clk/clk.c' line='262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__clk_get_hw'>
+        <parameter type-id='type-id-529' name='clk' filepath='drivers/clk/clk.c' line='262' column='1'/>
+        <return type-id='type-id-786'/>
+      </function-decl>
+      <function-decl name='clk_hw_get_num_parents' mangled-name='clk_hw_get_num_parents' filepath='drivers/clk/clk.c' line='268' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clk_hw_get_num_parents'>
+        <parameter type-id='type-id-819' name='hw' filepath='drivers/clk/clk.c' line='268' column='1'/>
+        <return type-id='type-id-10'/>
+      </function-decl>
+      <function-decl name='clk_hw_get_parent' mangled-name='clk_hw_get_parent' filepath='drivers/clk/clk.c' line='274' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clk_hw_get_parent'>
+        <parameter type-id='type-id-819' name='hw' filepath='drivers/clk/clk.c' line='274' column='1'/>
+        <return type-id='type-id-786'/>
+      </function-decl>
+      <function-decl name='clk_hw_get_parent_by_index' mangled-name='clk_hw_get_parent_by_index' filepath='drivers/clk/clk.c' line='337' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clk_hw_get_parent_by_index'>
+        <parameter type-id='type-id-819' name='hw' filepath='drivers/clk/clk.c' line='337' column='1'/>
+        <parameter type-id='type-id-10' name='index' filepath='drivers/clk/clk.c' line='337' column='1'/>
+        <return type-id='type-id-786'/>
+      </function-decl>
+      <function-decl name='clk_hw_get_rate' mangled-name='clk_hw_get_rate' filepath='drivers/clk/clk.c' line='373' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clk_hw_get_rate'>
+        <parameter type-id='type-id-819' name='hw' filepath='drivers/clk/clk.c' line='373' column='1'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+      <function-decl name='clk_hw_get_flags' mangled-name='clk_hw_get_flags' filepath='drivers/clk/clk.c' line='393' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clk_hw_get_flags'>
+        <parameter type-id='type-id-819' name='hw' filepath='drivers/clk/clk.c' line='393' column='1'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+      <function-decl name='clk_hw_is_prepared' mangled-name='clk_hw_is_prepared' filepath='drivers/clk/clk.c' line='399' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clk_hw_is_prepared'>
+        <parameter type-id='type-id-819' name='hw' filepath='drivers/clk/clk.c' line='399' column='1'/>
+        <return type-id='type-id-211'/>
+      </function-decl>
+      <function-decl name='clk_hw_is_enabled' mangled-name='clk_hw_is_enabled' filepath='drivers/clk/clk.c' line='409' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clk_hw_is_enabled'>
+        <parameter type-id='type-id-819' name='hw' filepath='drivers/clk/clk.c' line='409' column='1'/>
+        <return type-id='type-id-211'/>
+      </function-decl>
+      <function-decl name='__clk_is_enabled' mangled-name='__clk_is_enabled' filepath='drivers/clk/clk.c' line='414' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__clk_is_enabled'>
+        <parameter type-id='type-id-529' name='clk' filepath='drivers/clk/clk.c' line='414' column='1'/>
+        <return type-id='type-id-211'/>
+      </function-decl>
+      <function-decl name='__clk_determine_rate' mangled-name='__clk_determine_rate' filepath='drivers/clk/clk.c' line='1213' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__clk_determine_rate'>
+        <parameter type-id='type-id-786' name='hw' filepath='drivers/clk/clk.c' line='1213' column='1'/>
+        <parameter type-id='type-id-814' name='req' filepath='drivers/clk/clk.c' line='1213' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__clk_mux_determine_rate_closest' mangled-name='__clk_mux_determine_rate_closest' filepath='drivers/clk/clk.c' line='539' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__clk_mux_determine_rate_closest'>
+        <parameter type-id='type-id-786' name='hw' filepath='drivers/clk/clk.c' line='539' column='1'/>
+        <parameter type-id='type-id-814' name='req' filepath='drivers/clk/clk.c' line='540' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='clk_sync_state' mangled-name='clk_sync_state' filepath='drivers/clk/clk.c' line='1109' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clk_sync_state'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/clk/clk.c' line='1109' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='clk_hw_round_rate' mangled-name='clk_hw_round_rate' filepath='drivers/clk/clk.c' line='1224' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clk_hw_round_rate'>
+        <parameter type-id='type-id-786' name='hw' filepath='drivers/clk/clk.c' line='1224' column='1'/>
+        <parameter type-id='type-id-100' name='rate' filepath='drivers/clk/clk.c' line='1224' column='1'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+      <function-decl name='clk_round_rate' mangled-name='clk_round_rate' filepath='drivers/clk/clk.c' line='1249' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clk_round_rate'>
+        <parameter type-id='type-id-529' name='clk' filepath='drivers/clk/clk.c' line='1249' column='1'/>
+        <parameter type-id='type-id-100' name='rate' filepath='drivers/clk/clk.c' line='1249' column='1'/>
+        <return type-id='type-id-187'/>
+      </function-decl>
+      <function-decl name='clk_get_rate' mangled-name='clk_get_rate' filepath='drivers/clk/clk.c' line='1450' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clk_get_rate'>
+        <parameter type-id='type-id-529' name='clk' filepath='drivers/clk/clk.c' line='1450' column='1'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+      <function-decl name='clk_get_parent' mangled-name='clk_get_parent' filepath='drivers/clk/clk.c' line='2204' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clk_get_parent'>
+        <parameter type-id='type-id-529' name='clk' filepath='drivers/clk/clk.c' line='2204' column='1'/>
+        <return type-id='type-id-529'/>
+      </function-decl>
+      <function-decl name='clk_set_parent' mangled-name='clk_set_parent' filepath='drivers/clk/clk.c' line='2358' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clk_set_parent'>
+        <parameter type-id='type-id-529' name='clk' filepath='drivers/clk/clk.c' line='2358' column='1'/>
+        <parameter type-id='type-id-529' name='parent' filepath='drivers/clk/clk.c' line='2358' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='devm_clk_register' mangled-name='devm_clk_register' filepath='drivers/clk/clk.c' line='3483' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_clk_register'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/clk/clk.c' line='3483' column='1'/>
+        <parameter type-id='type-id-786' name='hw' filepath='drivers/clk/clk.c' line='3483' column='1'/>
+        <return type-id='type-id-529'/>
+      </function-decl>
+      <function-decl name='devm_clk_hw_register' mangled-name='devm_clk_hw_register' filepath='drivers/clk/clk.c' line='3513' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_clk_hw_register'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/clk/clk.c' line='3513' column='1'/>
+        <parameter type-id='type-id-786' name='hw' filepath='drivers/clk/clk.c' line='3513' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='of_clk_src_onecell_get' mangled-name='of_clk_src_onecell_get' filepath='drivers/clk/clk.c' line='3779' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_clk_src_onecell_get'>
+        <parameter type-id='type-id-233' name='clkspec' filepath='drivers/clk/clk.c' line='3779' column='1'/>
+        <parameter type-id='type-id-3' name='data' filepath='drivers/clk/clk.c' line='3779' column='1'/>
+        <return type-id='type-id-529'/>
+      </function-decl>
+      <function-decl name='of_clk_add_provider' mangled-name='of_clk_add_provider' filepath='drivers/clk/clk.c' line='3814' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_clk_add_provider'>
+        <parameter type-id='type-id-81' name='np' filepath='drivers/clk/clk.c' line='3814' column='1'/>
+        <parameter type-id='type-id-810' name='clk_src_get' filepath='drivers/clk/clk.c' line='3815' column='1'/>
+        <parameter type-id='type-id-3' name='data' filepath='drivers/clk/clk.c' line='3817' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='devm_of_clk_add_hw_provider' mangled-name='devm_of_clk_add_hw_provider' filepath='drivers/clk/clk.c' line='3883' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_of_clk_add_hw_provider'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/clk/clk.c' line='3883' column='1'/>
+        <parameter type-id='type-id-813' name='get' filepath='drivers/clk/clk.c' line='3884' column='1'/>
+        <parameter type-id='type-id-3' name='data' filepath='drivers/clk/clk.c' line='3886' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='of_clk_get_from_provider' mangled-name='of_clk_get_from_provider' filepath='drivers/clk/clk.c' line='4006' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_clk_get_from_provider'>
+        <parameter type-id='type-id-233' name='clkspec' filepath='drivers/clk/clk.c' line='4006' column='1'/>
+        <return type-id='type-id-529'/>
+      </function-decl>
+      <function-decl name='of_clk_get_parent_name' mangled-name='of_clk_get_parent_name' filepath='drivers/clk/clk.c' line='4030' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_clk_get_parent_name'>
+        <parameter type-id='type-id-81' name='np' filepath='drivers/clk/clk.c' line='4030' column='1'/>
+        <parameter type-id='type-id-11' name='index' filepath='drivers/clk/clk.c' line='4030' column='1'/>
+        <return type-id='type-id-24'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-809'>
+        <parameter type-id='type-id-233' name='clkspec'/>
+        <parameter type-id='type-id-3' name='data'/>
+        <return type-id='type-id-529'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-812'>
+        <parameter type-id='type-id-233'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-786'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-822'>
+        <parameter type-id='type-id-786'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-823'>
+        <parameter type-id='type-id-786'/>
+        <parameter type-id='type-id-811'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-824'>
+        <parameter type-id='type-id-786'/>
+        <parameter type-id='type-id-814'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-825'>
+        <parameter type-id='type-id-786'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-826'>
+        <parameter type-id='type-id-786'/>
+        <parameter type-id='type-id-53'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-827'>
+        <parameter type-id='type-id-786'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-828'>
+        <parameter type-id='type-id-786'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-53'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-829'>
+        <parameter type-id='type-id-786'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-76'/>
+        <return type-id='type-id-187'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-830'>
+        <parameter type-id='type-id-786'/>
+        <return type-id='type-id-53'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-831'>
+        <parameter type-id='type-id-786'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-100'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-832'>
+        <parameter type-id='type-id-786'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-833'>
+        <parameter type-id='type-id-786'/>
+        <parameter type-id='type-id-836'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/clk/clkdev.c' language='LANG_C89'>
+      <function-decl name='of_clk_get' mangled-name='of_clk_get' filepath='drivers/clk/clkdev.c' line='49' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_clk_get'>
+        <parameter type-id='type-id-81' name='np' filepath='drivers/clk/clkdev.c' line='49' column='1'/>
+        <parameter type-id='type-id-11' name='index' filepath='drivers/clk/clkdev.c' line='49' column='1'/>
+        <return type-id='type-id-529'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/clk/hisilicon/clk-hi3660-stub.c' language='LANG_C89'>
+      <function-decl name='mbox_client_txdone' mangled-name='mbox_client_txdone' filepath='include/linux/mailbox_client.h' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mbox_client_txdone'>
+        <parameter type-id='type-id-837'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/clk/hisilicon/clk-hi6220-stub.c' language='LANG_C89'>
+      <class-decl name='mbox_chan' size-in-bits='1984' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-838'/>
+      <class-decl name='mbox_client' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/mailbox_client.h' line='32' column='1' id='type-id-839'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/linux/mailbox_client.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='tx_block' type-id='type-id-211' visibility='default' filepath='include/linux/mailbox_client.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='tx_tout' type-id='type-id-100' visibility='default' filepath='include/linux/mailbox_client.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='knows_txdone' type-id='type-id-211' visibility='default' filepath='include/linux/mailbox_client.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='rx_callback' type-id='type-id-840' visibility='default' filepath='include/linux/mailbox_client.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='tx_prepare' type-id='type-id-840' visibility='default' filepath='include/linux/mailbox_client.h' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='tx_done' type-id='type-id-841' visibility='default' filepath='include/linux/mailbox_client.h' line='40' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-838' size-in-bits='64' id='type-id-837'/>
+      <pointer-type-def type-id='type-id-839' size-in-bits='64' id='type-id-842'/>
+      <pointer-type-def type-id='type-id-843' size-in-bits='64' id='type-id-840'/>
+      <pointer-type-def type-id='type-id-844' size-in-bits='64' id='type-id-841'/>
+      <function-decl name='syscon_regmap_lookup_by_phandle' mangled-name='syscon_regmap_lookup_by_phandle' filepath='include/linux/mfd/syscon.h' line='27' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='syscon_regmap_lookup_by_phandle'>
+        <parameter type-id='type-id-81'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-845'/>
+      </function-decl>
+      <function-decl name='mbox_request_channel' mangled-name='mbox_request_channel' filepath='include/linux/mailbox_client.h' line='45' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mbox_request_channel'>
+        <parameter type-id='type-id-842'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-837'/>
+      </function-decl>
+      <function-decl name='mbox_send_message' mangled-name='mbox_send_message' filepath='include/linux/mailbox_client.h' line='46' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mbox_send_message'>
+        <parameter type-id='type-id-837'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-843'>
+        <parameter type-id='type-id-842'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-844'>
+        <parameter type-id='type-id-842'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/cpufreq/cpufreq.c' language='LANG_C89'>
+      <class-decl name='cpufreq_driver' size-in-bits='1472' is-struct='yes' visibility='default' filepath='include/linux/cpufreq.h' line='266' column='1' id='type-id-846'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-847' visibility='default' filepath='include/linux/cpufreq.h' line='267' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='flags' type-id='type-id-53' visibility='default' filepath='include/linux/cpufreq.h' line='268' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='driver_data' type-id='type-id-3' visibility='default' filepath='include/linux/cpufreq.h' line='269' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='init' type-id='type-id-848' visibility='default' filepath='include/linux/cpufreq.h' line='272' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='verify' type-id='type-id-848' visibility='default' filepath='include/linux/cpufreq.h' line='273' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='setpolicy' type-id='type-id-848' visibility='default' filepath='include/linux/cpufreq.h' line='276' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='target' type-id='type-id-849' visibility='default' filepath='include/linux/cpufreq.h' line='282' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='target_index' type-id='type-id-850' visibility='default' filepath='include/linux/cpufreq.h' line='285' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='fast_switch' type-id='type-id-851' visibility='default' filepath='include/linux/cpufreq.h' line='287' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='resolve_freq' type-id='type-id-851' visibility='default' filepath='include/linux/cpufreq.h' line='296' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='get_intermediate' type-id='type-id-851' visibility='default' filepath='include/linux/cpufreq.h' line='314' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='target_intermediate' type-id='type-id-850' visibility='default' filepath='include/linux/cpufreq.h' line='316' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='get' type-id='type-id-852' visibility='default' filepath='include/linux/cpufreq.h' line='320' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='bios_limit' type-id='type-id-853' visibility='default' filepath='include/linux/cpufreq.h' line='323' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='exit' type-id='type-id-848' visibility='default' filepath='include/linux/cpufreq.h' line='325' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='stop_cpu' type-id='type-id-854' visibility='default' filepath='include/linux/cpufreq.h' line='326' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='suspend' type-id='type-id-848' visibility='default' filepath='include/linux/cpufreq.h' line='327' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='resume' type-id='type-id-848' visibility='default' filepath='include/linux/cpufreq.h' line='328' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='ready' type-id='type-id-854' visibility='default' filepath='include/linux/cpufreq.h' line='331' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='attr' type-id='type-id-855' visibility='default' filepath='include/linux/cpufreq.h' line='333' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='boost_enabled' type-id='type-id-211' visibility='default' filepath='include/linux/cpufreq.h' line='336' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='set_boost' type-id='type-id-856' visibility='default' filepath='include/linux/cpufreq.h' line='337' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='freq_attr' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/cpufreq.h' line='235' column='1' id='type-id-857'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='attr' type-id='type-id-858' visibility='default' filepath='include/linux/cpufreq.h' line='236' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='show' type-id='type-id-859' visibility='default' filepath='include/linux/cpufreq.h' line='237' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='store' type-id='type-id-860' visibility='default' filepath='include/linux/cpufreq.h' line='238' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-846' size-in-bits='64' id='type-id-861'/>
+      <pointer-type-def type-id='type-id-857' size-in-bits='64' id='type-id-862'/>
+      <pointer-type-def type-id='type-id-862' size-in-bits='64' id='type-id-855'/>
+      <pointer-type-def type-id='type-id-863' size-in-bits='64' id='type-id-849'/>
+      <pointer-type-def type-id='type-id-864' size-in-bits='64' id='type-id-853'/>
+      <pointer-type-def type-id='type-id-865' size-in-bits='64' id='type-id-860'/>
+      <pointer-type-def type-id='type-id-866' size-in-bits='64' id='type-id-851'/>
+      <function-decl name='cpufreq_cpu_get_raw' mangled-name='cpufreq_cpu_get_raw' filepath='drivers/cpufreq/cpufreq.c' line='192' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cpufreq_cpu_get_raw'>
+        <parameter type-id='type-id-10' name='cpu' filepath='drivers/cpufreq/cpufreq.c' line='192' column='1'/>
+        <return type-id='type-id-867'/>
+      </function-decl>
+      <function-decl name='cpufreq_quick_get_max' mangled-name='cpufreq_quick_get_max' filepath='drivers/cpufreq/cpufreq.c' line='1531' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cpufreq_quick_get_max'>
+        <parameter type-id='type-id-10' name='cpu' filepath='drivers/cpufreq/cpufreq.c' line='1531' column='1'/>
+        <return type-id='type-id-10'/>
+      </function-decl>
+      <function-decl name='cpufreq_register_driver' mangled-name='cpufreq_register_driver' filepath='drivers/cpufreq/cpufreq.c' line='2493' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cpufreq_register_driver'>
+        <parameter type-id='type-id-861' name='driver_data' filepath='drivers/cpufreq/cpufreq.c' line='2493' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='cpufreq_unregister_driver' mangled-name='cpufreq_unregister_driver' filepath='drivers/cpufreq/cpufreq.c' line='2586' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cpufreq_unregister_driver'>
+        <parameter type-id='type-id-861' name='driver' filepath='drivers/cpufreq/cpufreq.c' line='2586' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-863'>
+        <parameter type-id='type-id-867'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-864'>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-72'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-865'>
+        <parameter type-id='type-id-867'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-866'>
+        <parameter type-id='type-id-867'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-10'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/cpufreq/freq_table.c' language='LANG_C89'>
+      <function-decl name='cpufreq_generic_frequency_table_verify' mangled-name='cpufreq_generic_frequency_table_verify' filepath='drivers/cpufreq/freq_table.c' line='107' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cpufreq_generic_frequency_table_verify'>
+        <parameter type-id='type-id-867' name='policy' filepath='drivers/cpufreq/freq_table.c' line='107' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/cpuidle/cpuidle.c' language='LANG_C89'>
+      <function-decl name='cpuidle_unregister_driver' mangled-name='cpuidle_unregister_driver' filepath='include/linux/cpuidle.h' line='149' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cpuidle_unregister_driver'>
+        <parameter type-id='type-id-868'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='cpuidle_register_driver' mangled-name='cpuidle_register_driver' filepath='include/linux/cpuidle.h' line='145' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cpuidle_register_driver'>
+        <parameter type-id='type-id-868'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='cpuidle_register_device' mangled-name='cpuidle_register_device' filepath='drivers/cpuidle/cpuidle.c' line='518' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cpuidle_register_device'>
+        <parameter type-id='type-id-869' name='dev' filepath='drivers/cpuidle/cpuidle.c' line='518' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/cpuidle/governor.c' language='LANG_C89'>
+      <class-decl name='cpuidle_governor' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/cpuidle.h' line='244' column='1' id='type-id-870'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-847' visibility='default' filepath='include/linux/cpuidle.h' line='245' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='governor_list' type-id='type-id-8' visibility='default' filepath='include/linux/cpuidle.h' line='246' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='rating' type-id='type-id-10' visibility='default' filepath='include/linux/cpuidle.h' line='247' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='enable' type-id='type-id-871' visibility='default' filepath='include/linux/cpuidle.h' line='249' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='disable' type-id='type-id-872' visibility='default' filepath='include/linux/cpuidle.h' line='251' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='select' type-id='type-id-873' visibility='default' filepath='include/linux/cpuidle.h' line='254' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='reflect' type-id='type-id-874' visibility='default' filepath='include/linux/cpuidle.h' line='257' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-870' size-in-bits='64' id='type-id-875'/>
+      <pointer-type-def type-id='type-id-876' size-in-bits='64' id='type-id-871'/>
+      <pointer-type-def type-id='type-id-877' size-in-bits='64' id='type-id-873'/>
+      <pointer-type-def type-id='type-id-878' size-in-bits='64' id='type-id-874'/>
+      <pointer-type-def type-id='type-id-879' size-in-bits='64' id='type-id-872'/>
+      <function-decl name='cpuidle_register_governor' mangled-name='cpuidle_register_governor' filepath='drivers/cpuidle/governor.c' line='76' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cpuidle_register_governor'>
+        <parameter type-id='type-id-875' name='gov' filepath='drivers/cpuidle/governor.c' line='76' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-876'>
+        <parameter type-id='type-id-868'/>
+        <parameter type-id='type-id-869'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-877'>
+        <parameter type-id='type-id-868'/>
+        <parameter type-id='type-id-869'/>
+        <parameter type-id='type-id-763'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-878'>
+        <parameter type-id='type-id-869'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-879'>
+        <parameter type-id='type-id-868'/>
+        <parameter type-id='type-id-869'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/devfreq/devfreq.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-880' size-in-bits='128' id='type-id-881'>
+        <subrange length='16' type-id='type-id-5' id='type-id-195'/>
+
+      </array-type-def>
+      <pointer-type-def type-id='type-id-882' size-in-bits='64' id='type-id-883'/>
+      <pointer-type-def type-id='type-id-884' size-in-bits='64' id='type-id-885'/>
+      <pointer-type-def type-id='type-id-886' size-in-bits='64' id='type-id-887'/>
+      <function-decl name='update_devfreq' mangled-name='update_devfreq' filepath='drivers/devfreq/devfreq.c' line='301' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='update_devfreq'>
+        <parameter type-id='type-id-888' name='devfreq' filepath='drivers/devfreq/devfreq.c' line='301' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='devfreq_monitor_start' mangled-name='devfreq_monitor_start' filepath='drivers/devfreq/devfreq.c' line='398' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devfreq_monitor_start'>
+        <parameter type-id='type-id-888' name='devfreq' filepath='drivers/devfreq/devfreq.c' line='398' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='devfreq_monitor_stop' mangled-name='devfreq_monitor_stop' filepath='drivers/devfreq/devfreq.c' line='415' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devfreq_monitor_stop'>
+        <parameter type-id='type-id-888' name='devfreq' filepath='drivers/devfreq/devfreq.c' line='415' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='devfreq_monitor_suspend' mangled-name='devfreq_monitor_suspend' filepath='drivers/devfreq/devfreq.c' line='433' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devfreq_monitor_suspend'>
+        <parameter type-id='type-id-888' name='devfreq' filepath='drivers/devfreq/devfreq.c' line='433' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='devfreq_monitor_resume' mangled-name='devfreq_monitor_resume' filepath='drivers/devfreq/devfreq.c' line='456' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devfreq_monitor_resume'>
+        <parameter type-id='type-id-888' name='devfreq' filepath='drivers/devfreq/devfreq.c' line='456' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='devfreq_interval_update' mangled-name='devfreq_interval_update' filepath='drivers/devfreq/devfreq.c' line='489' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devfreq_interval_update'>
+        <parameter type-id='type-id-888' name='devfreq' filepath='drivers/devfreq/devfreq.c' line='489' column='1'/>
+        <parameter type-id='type-id-72' name='delay' filepath='drivers/devfreq/devfreq.c' line='489' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='devm_devfreq_add_device' mangled-name='devm_devfreq_add_device' filepath='drivers/devfreq/devfreq.c' line='772' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_devfreq_add_device'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/devfreq/devfreq.c' line='772' column='1'/>
+        <parameter type-id='type-id-889' name='profile' filepath='drivers/devfreq/devfreq.c' line='773' column='1'/>
+        <parameter type-id='type-id-24' name='governor_name' filepath='drivers/devfreq/devfreq.c' line='774' column='1'/>
+        <parameter type-id='type-id-3' name='data' filepath='drivers/devfreq/devfreq.c' line='775' column='1'/>
+        <return type-id='type-id-888'/>
+      </function-decl>
+      <function-decl name='devfreq_add_governor' mangled-name='devfreq_add_governor' filepath='drivers/devfreq/devfreq.c' line='899' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devfreq_add_governor'>
+        <parameter type-id='type-id-883' name='governor' filepath='drivers/devfreq/devfreq.c' line='899' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='devfreq_remove_governor' mangled-name='devfreq_remove_governor' filepath='drivers/devfreq/devfreq.c' line='964' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devfreq_remove_governor'>
+        <parameter type-id='type-id-883' name='governor' filepath='drivers/devfreq/devfreq.c' line='964' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='devfreq_recommended_opp' mangled-name='devfreq_recommended_opp' filepath='drivers/devfreq/devfreq.c' line='1388' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devfreq_recommended_opp'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/devfreq/devfreq.c' line='1388' column='1'/>
+        <parameter type-id='type-id-76' name='freq' filepath='drivers/devfreq/devfreq.c' line='1389' column='1'/>
+        <parameter type-id='type-id-9' name='flags' filepath='drivers/devfreq/devfreq.c' line='1390' column='1'/>
+        <return type-id='type-id-602'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-884'>
+        <parameter type-id='type-id-888'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-886'>
+        <parameter type-id='type-id-888'/>
+        <parameter type-id='type-id-76'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/dma-buf/dma-buf.c' language='LANG_C89'>
+      <function-decl name='reservation_object_wait_timeout_rcu' mangled-name='reservation_object_wait_timeout_rcu' filepath='include/linux/reservation.h' line='283' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='reservation_object_wait_timeout_rcu'>
+        <parameter type-id='type-id-890'/>
+        <parameter type-id='type-id-264'/>
+        <parameter type-id='type-id-264'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-187'/>
+      </function-decl>
+      <function-decl name='dma_buf_begin_cpu_access' mangled-name='dma_buf_begin_cpu_access' filepath='drivers/dma-buf/dma-buf.c' line='919' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_buf_begin_cpu_access'>
+        <parameter type-id='type-id-891' name='dmabuf' filepath='drivers/dma-buf/dma-buf.c' line='919' column='1'/>
+        <parameter type-id='type-id-892' name='direction' filepath='drivers/dma-buf/dma-buf.c' line='920' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='dma_buf_end_cpu_access' mangled-name='dma_buf_end_cpu_access' filepath='drivers/dma-buf/dma-buf.c' line='953' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_buf_end_cpu_access'>
+        <parameter type-id='type-id-891' name='dmabuf' filepath='drivers/dma-buf/dma-buf.c' line='953' column='1'/>
+        <parameter type-id='type-id-892' name='direction' filepath='drivers/dma-buf/dma-buf.c' line='954' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='dma_buf_kmap' mangled-name='dma_buf_kmap' filepath='drivers/dma-buf/dma-buf.c' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_buf_kmap'>
+        <parameter type-id='type-id-891' name='dmabuf' filepath='drivers/dma-buf/dma-buf.c' line='976' column='1'/>
+        <parameter type-id='type-id-100' name='page_num' filepath='drivers/dma-buf/dma-buf.c' line='976' column='1'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='dma_buf_kunmap' mangled-name='dma_buf_kunmap' filepath='drivers/dma-buf/dma-buf.c' line='994' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_buf_kunmap'>
+        <parameter type-id='type-id-891' name='dmabuf' filepath='drivers/dma-buf/dma-buf.c' line='994' column='1'/>
+        <parameter type-id='type-id-100' name='page_num' filepath='drivers/dma-buf/dma-buf.c' line='994' column='1'/>
+        <parameter type-id='type-id-3' name='vaddr' filepath='drivers/dma-buf/dma-buf.c' line='995' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='dma_buf_vmap' mangled-name='dma_buf_vmap' filepath='drivers/dma-buf/dma-buf.c' line='1069' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_buf_vmap'>
+        <parameter type-id='type-id-891' name='dmabuf' filepath='drivers/dma-buf/dma-buf.c' line='1069' column='1'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='dma_buf_vunmap' mangled-name='dma_buf_vunmap' filepath='drivers/dma-buf/dma-buf.c' line='1109' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_buf_vunmap'>
+        <parameter type-id='type-id-891' name='dmabuf' filepath='drivers/dma-buf/dma-buf.c' line='1109' column='1'/>
+        <parameter type-id='type-id-3' name='vaddr' filepath='drivers/dma-buf/dma-buf.c' line='1109' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/dma-buf/dma-fence-array.c' language='LANG_C89'>
+      <function-decl name='dma_fence_match_context' mangled-name='dma_fence_match_context' filepath='drivers/dma-buf/dma-fence-array.c' line='166' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_fence_match_context'>
+        <parameter type-id='type-id-893' name='fence' filepath='drivers/dma-buf/dma-fence-array.c' line='166' column='1'/>
+        <parameter type-id='type-id-134' name='context' filepath='drivers/dma-buf/dma-fence-array.c' line='166' column='1'/>
+        <return type-id='type-id-211'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/dma-buf/dma-fence.c' language='LANG_C89'>
+      <function-decl name='dma_fence_default_wait' mangled-name='dma_fence_default_wait' filepath='include/linux/dma-fence.h' line='342' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_fence_default_wait'>
+        <parameter type-id='type-id-893'/>
+        <parameter type-id='type-id-264'/>
+        <parameter type-id='type-id-187'/>
+        <return type-id='type-id-187'/>
+      </function-decl>
+      <function-decl name='dma_fence_signal_locked' mangled-name='dma_fence_signal_locked' filepath='drivers/dma-buf/dma-fence.c' line='102' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_fence_signal_locked'>
+        <parameter type-id='type-id-893' name='fence' filepath='drivers/dma-buf/dma-fence.c' line='102' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='dma_fence_release' mangled-name='dma_fence_release' filepath='drivers/dma-buf/dma-fence.c' line='217' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_fence_release'>
+        <parameter type-id='type-id-894' name='kref' filepath='drivers/dma-buf/dma-fence.c' line='217' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/dma-buf/reservation.c' language='LANG_C89'>
+      <function-decl name='reservation_object_reserve_shared' mangled-name='reservation_object_reserve_shared' filepath='drivers/dma-buf/reservation.c' line='69' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='reservation_object_reserve_shared'>
+        <parameter type-id='type-id-890' name='obj' filepath='drivers/dma-buf/reservation.c' line='69' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='reservation_object_add_shared_fence' mangled-name='reservation_object_add_shared_fence' filepath='drivers/dma-buf/reservation.c' line='226' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='reservation_object_add_shared_fence'>
+        <parameter type-id='type-id-890' name='obj' filepath='drivers/dma-buf/reservation.c' line='226' column='1'/>
+        <parameter type-id='type-id-893' name='fence' filepath='drivers/dma-buf/reservation.c' line='227' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='reservation_object_add_excl_fence' mangled-name='reservation_object_add_excl_fence' filepath='drivers/dma-buf/reservation.c' line='248' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='reservation_object_add_excl_fence'>
+        <parameter type-id='type-id-890' name='obj' filepath='drivers/dma-buf/reservation.c' line='248' column='1'/>
+        <parameter type-id='type-id-893' name='fence' filepath='drivers/dma-buf/reservation.c' line='249' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='reservation_object_copy_fences' mangled-name='reservation_object_copy_fences' filepath='drivers/dma-buf/reservation.c' line='287' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='reservation_object_copy_fences'>
+        <parameter type-id='type-id-890' name='dst' filepath='drivers/dma-buf/reservation.c' line='287' column='1'/>
+        <parameter type-id='type-id-890' name='src' filepath='drivers/dma-buf/reservation.c' line='288' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='reservation_object_test_signaled_rcu' mangled-name='reservation_object_test_signaled_rcu' filepath='drivers/dma-buf/reservation.c' line='590' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='reservation_object_test_signaled_rcu'>
+        <parameter type-id='type-id-890' name='obj' filepath='drivers/dma-buf/reservation.c' line='590' column='1'/>
+        <parameter type-id='type-id-211' name='test_all' filepath='drivers/dma-buf/reservation.c' line='591' column='1'/>
+        <return type-id='type-id-211'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/dma/dmaengine.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-895' size-in-bits='infinite' id='type-id-896'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-210' size-in-bits='infinite' id='type-id-897'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <class-decl name='dma_chan' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/linux/dmaengine.h' line='265' column='1' id='type-id-898'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='device' type-id='type-id-899' visibility='default' filepath='include/linux/dmaengine.h' line='266' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='cookie' type-id='type-id-900' visibility='default' filepath='include/linux/dmaengine.h' line='267' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='completed_cookie' type-id='type-id-900' visibility='default' filepath='include/linux/dmaengine.h' line='268' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='chan_id' type-id='type-id-11' visibility='default' filepath='include/linux/dmaengine.h' line='271' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='dev' type-id='type-id-901' visibility='default' filepath='include/linux/dmaengine.h' line='272' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='device_node' type-id='type-id-8' visibility='default' filepath='include/linux/dmaengine.h' line='274' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='local' type-id='type-id-902' visibility='default' filepath='include/linux/dmaengine.h' line='275' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='client_count' type-id='type-id-11' visibility='default' filepath='include/linux/dmaengine.h' line='276' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='table_count' type-id='type-id-11' visibility='default' filepath='include/linux/dmaengine.h' line='277' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='router' type-id='type-id-903' visibility='default' filepath='include/linux/dmaengine.h' line='280' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='route_data' type-id='type-id-3' visibility='default' filepath='include/linux/dmaengine.h' line='281' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='private' type-id='type-id-3' visibility='default' filepath='include/linux/dmaengine.h' line='283' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='dma_device' size-in-bits='2432' is-struct='yes' visibility='default' filepath='include/linux/dmaengine.h' line='735' column='1' id='type-id-904'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='chancnt' type-id='type-id-10' visibility='default' filepath='include/linux/dmaengine.h' line='737' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='privatecnt' type-id='type-id-10' visibility='default' filepath='include/linux/dmaengine.h' line='738' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='channels' type-id='type-id-8' visibility='default' filepath='include/linux/dmaengine.h' line='739' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='global_node' type-id='type-id-8' visibility='default' filepath='include/linux/dmaengine.h' line='740' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='filter' type-id='type-id-905' visibility='default' filepath='include/linux/dmaengine.h' line='741' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='cap_mask' type-id='type-id-906' visibility='default' filepath='include/linux/dmaengine.h' line='742' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='max_xor' type-id='type-id-288' visibility='default' filepath='include/linux/dmaengine.h' line='743' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='592'>
+          <var-decl name='max_pq' type-id='type-id-288' visibility='default' filepath='include/linux/dmaengine.h' line='744' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='copy_align' type-id='type-id-907' visibility='default' filepath='include/linux/dmaengine.h' line='745' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='xor_align' type-id='type-id-907' visibility='default' filepath='include/linux/dmaengine.h' line='746' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='672'>
+          <var-decl name='pq_align' type-id='type-id-907' visibility='default' filepath='include/linux/dmaengine.h' line='747' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='fill_align' type-id='type-id-907' visibility='default' filepath='include/linux/dmaengine.h' line='748' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='736'>
+          <var-decl name='dev_id' type-id='type-id-11' visibility='default' filepath='include/linux/dmaengine.h' line='751' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/linux/dmaengine.h' line='752' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/linux/dmaengine.h' line='753' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='src_addr_widths' type-id='type-id-9' visibility='default' filepath='include/linux/dmaengine.h' line='755' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='928'>
+          <var-decl name='dst_addr_widths' type-id='type-id-9' visibility='default' filepath='include/linux/dmaengine.h' line='756' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='directions' type-id='type-id-9' visibility='default' filepath='include/linux/dmaengine.h' line='757' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='992'>
+          <var-decl name='max_burst' type-id='type-id-9' visibility='default' filepath='include/linux/dmaengine.h' line='758' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='descriptor_reuse' type-id='type-id-211' visibility='default' filepath='include/linux/dmaengine.h' line='759' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1056'>
+          <var-decl name='residue_granularity' type-id='type-id-908' visibility='default' filepath='include/linux/dmaengine.h' line='760' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='device_alloc_chan_resources' type-id='type-id-909' visibility='default' filepath='include/linux/dmaengine.h' line='762' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='device_free_chan_resources' type-id='type-id-910' visibility='default' filepath='include/linux/dmaengine.h' line='763' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='device_prep_dma_memcpy' type-id='type-id-911' visibility='default' filepath='include/linux/dmaengine.h' line='765' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='device_prep_dma_xor' type-id='type-id-912' visibility='default' filepath='include/linux/dmaengine.h' line='768' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='device_prep_dma_xor_val' type-id='type-id-913' visibility='default' filepath='include/linux/dmaengine.h' line='771' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='device_prep_dma_pq' type-id='type-id-914' visibility='default' filepath='include/linux/dmaengine.h' line='774' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='device_prep_dma_pq_val' type-id='type-id-915' visibility='default' filepath='include/linux/dmaengine.h' line='778' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='device_prep_dma_memset' type-id='type-id-916' visibility='default' filepath='include/linux/dmaengine.h' line='782' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='device_prep_dma_memset_sg' type-id='type-id-917' visibility='default' filepath='include/linux/dmaengine.h' line='785' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='device_prep_dma_interrupt' type-id='type-id-918' visibility='default' filepath='include/linux/dmaengine.h' line='788' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='device_prep_slave_sg' type-id='type-id-919' visibility='default' filepath='include/linux/dmaengine.h' line='791' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='device_prep_dma_cyclic' type-id='type-id-920' visibility='default' filepath='include/linux/dmaengine.h' line='795' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='device_prep_interleaved_dma' type-id='type-id-921' visibility='default' filepath='include/linux/dmaengine.h' line='799' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='device_prep_dma_imm_data' type-id='type-id-922' visibility='default' filepath='include/linux/dmaengine.h' line='802' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='device_config' type-id='type-id-923' visibility='default' filepath='include/linux/dmaengine.h' line='806' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='device_pause' type-id='type-id-909' visibility='default' filepath='include/linux/dmaengine.h' line='808' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='device_resume' type-id='type-id-909' visibility='default' filepath='include/linux/dmaengine.h' line='809' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='device_terminate_all' type-id='type-id-909' visibility='default' filepath='include/linux/dmaengine.h' line='810' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='device_synchronize' type-id='type-id-910' visibility='default' filepath='include/linux/dmaengine.h' line='811' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='device_tx_status' type-id='type-id-924' visibility='default' filepath='include/linux/dmaengine.h' line='813' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='device_issue_pending' type-id='type-id-910' visibility='default' filepath='include/linux/dmaengine.h' line='816' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='dma_filter' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/dmaengine.h' line='667' column='1' id='type-id-905'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='fn' type-id='type-id-925' visibility='default' filepath='include/linux/dmaengine.h' line='668' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='mapcnt' type-id='type-id-11' visibility='default' filepath='include/linux/dmaengine.h' line='669' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='map' type-id='type-id-926' visibility='default' filepath='include/linux/dmaengine.h' line='670' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='dma_filter_fn' type-id='type-id-927' filepath='include/linux/dmaengine.h' line='456' column='1' id='type-id-925'/>
+      <class-decl name='dma_slave_map' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/dmaengine.h' line='654' column='1' id='type-id-928'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='devname' type-id='type-id-24' visibility='default' filepath='include/linux/dmaengine.h' line='655' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='slave' type-id='type-id-24' visibility='default' filepath='include/linux/dmaengine.h' line='656' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='param' type-id='type-id-3' visibility='default' filepath='include/linux/dmaengine.h' line='657' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='dma_cap_mask_t' type-id='type-id-929' filepath='include/linux/dmaengine.h' line='226' column='1' id='type-id-906'/>
+      <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-906' visibility='default' filepath='include/linux/dmaengine.h' line='226' column='1' id='type-id-929'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bits' type-id='type-id-930' visibility='default' filepath='include/linux/dmaengine.h' line='226' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='dmaengine_alignment' filepath='include/linux/dmaengine.h' line='637' column='1' id='type-id-907'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='DMAENGINE_ALIGN_1_BYTE' value='0'/>
+        <enumerator name='DMAENGINE_ALIGN_2_BYTES' value='1'/>
+        <enumerator name='DMAENGINE_ALIGN_4_BYTES' value='2'/>
+        <enumerator name='DMAENGINE_ALIGN_8_BYTES' value='3'/>
+        <enumerator name='DMAENGINE_ALIGN_16_BYTES' value='4'/>
+        <enumerator name='DMAENGINE_ALIGN_32_BYTES' value='5'/>
+        <enumerator name='DMAENGINE_ALIGN_64_BYTES' value='6'/>
+      </enum-decl>
+      <enum-decl name='dma_residue_granularity' filepath='include/linux/dmaengine.h' line='401' column='1' id='type-id-908'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='DMA_RESIDUE_GRANULARITY_DESCRIPTOR' value='0'/>
+        <enumerator name='DMA_RESIDUE_GRANULARITY_SEGMENT' value='1'/>
+        <enumerator name='DMA_RESIDUE_GRANULARITY_BURST' value='2'/>
+      </enum-decl>
+      <class-decl name='dma_async_tx_descriptor' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/dmaengine.h' line='508' column='1' id='type-id-931'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cookie' type-id='type-id-900' visibility='default' filepath='include/linux/dmaengine.h' line='509' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='flags' type-id='type-id-932' visibility='default' filepath='include/linux/dmaengine.h' line='510' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='phys' type-id='type-id-210' visibility='default' filepath='include/linux/dmaengine.h' line='511' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='chan' type-id='type-id-933' visibility='default' filepath='include/linux/dmaengine.h' line='512' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='tx_submit' type-id='type-id-934' visibility='default' filepath='include/linux/dmaengine.h' line='513' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='desc_free' type-id='type-id-935' visibility='default' filepath='include/linux/dmaengine.h' line='514' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='callback' type-id='type-id-936' visibility='default' filepath='include/linux/dmaengine.h' line='515' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='callback_result' type-id='type-id-937' visibility='default' filepath='include/linux/dmaengine.h' line='516' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='callback_param' type-id='type-id-3' visibility='default' filepath='include/linux/dmaengine.h' line='517' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='unmap' type-id='type-id-938' visibility='default' filepath='include/linux/dmaengine.h' line='518' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='dma_cookie_t' type-id='type-id-939' filepath='include/linux/dmaengine.h' line='34' column='1' id='type-id-900'/>
+      <enum-decl name='dma_ctrl_flags' filepath='include/linux/dmaengine.h' line='192' column='1' id='type-id-932'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='DMA_PREP_INTERRUPT' value='1'/>
+        <enumerator name='DMA_CTRL_ACK' value='2'/>
+        <enumerator name='DMA_PREP_PQ_DISABLE_P' value='4'/>
+        <enumerator name='DMA_PREP_PQ_DISABLE_Q' value='8'/>
+        <enumerator name='DMA_PREP_CONTINUE' value='16'/>
+        <enumerator name='DMA_PREP_FENCE' value='32'/>
+        <enumerator name='DMA_CTRL_REUSE' value='64'/>
+        <enumerator name='DMA_PREP_CMD' value='128'/>
+      </enum-decl>
+      <typedef-decl name='dma_async_tx_callback' type-id='type-id-74' filepath='include/linux/dmaengine.h' line='458' column='1' id='type-id-936'/>
+      <typedef-decl name='dma_async_tx_callback_result' type-id='type-id-940' filepath='include/linux/dmaengine.h' line='472' column='1' id='type-id-937'/>
+      <class-decl name='dmaengine_result' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/dmaengine.h' line='467' column='1' id='type-id-941'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='result' type-id='type-id-942' visibility='default' filepath='include/linux/dmaengine.h' line='468' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='residue' type-id='type-id-9' visibility='default' filepath='include/linux/dmaengine.h' line='469' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='dmaengine_tx_result' filepath='include/linux/dmaengine.h' line='460' column='1' id='type-id-942'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='DMA_TRANS_NOERROR' value='0'/>
+        <enumerator name='DMA_TRANS_READ_FAILED' value='1'/>
+        <enumerator name='DMA_TRANS_WRITE_FAILED' value='2'/>
+        <enumerator name='DMA_TRANS_ABORTED' value='3'/>
+      </enum-decl>
+      <class-decl name='dmaengine_unmap_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/dmaengine.h' line='475' column='1' id='type-id-943'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='map_cnt' type-id='type-id-53' visibility='default' filepath='include/linux/dmaengine.h' line='479' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='to_cnt' type-id='type-id-53' visibility='default' filepath='include/linux/dmaengine.h' line='481' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='from_cnt' type-id='type-id-53' visibility='default' filepath='include/linux/dmaengine.h' line='482' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='bidi_cnt' type-id='type-id-53' visibility='default' filepath='include/linux/dmaengine.h' line='483' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/linux/dmaengine.h' line='484' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='kref' type-id='type-id-771' visibility='default' filepath='include/linux/dmaengine.h' line='485' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='len' type-id='type-id-125' visibility='default' filepath='include/linux/dmaengine.h' line='486' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='addr' type-id='type-id-897' visibility='default' filepath='include/linux/dmaengine.h' line='487' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='sum_check_flags' filepath='include/linux/dmaengine.h' line='216' column='1' id='type-id-944'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='SUM_CHECK_P_RESULT' value='1'/>
+        <enumerator name='SUM_CHECK_Q_RESULT' value='2'/>
+      </enum-decl>
+      <enum-decl name='dma_transfer_direction' filepath='include/linux/dmaengine.h' line='87' column='1' id='type-id-945'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='DMA_MEM_TO_MEM' value='0'/>
+        <enumerator name='DMA_MEM_TO_DEV' value='1'/>
+        <enumerator name='DMA_DEV_TO_MEM' value='2'/>
+        <enumerator name='DMA_DEV_TO_DEV' value='3'/>
+        <enumerator name='DMA_TRANS_NONE' value='4'/>
+      </enum-decl>
+      <class-decl name='dma_interleaved_template' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/dmaengine.h' line='158' column='1' id='type-id-946'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='src_start' type-id='type-id-210' visibility='default' filepath='include/linux/dmaengine.h' line='159' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dst_start' type-id='type-id-210' visibility='default' filepath='include/linux/dmaengine.h' line='160' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='dir' type-id='type-id-945' visibility='default' filepath='include/linux/dmaengine.h' line='161' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='src_inc' type-id='type-id-211' visibility='default' filepath='include/linux/dmaengine.h' line='162' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='168'>
+          <var-decl name='dst_inc' type-id='type-id-211' visibility='default' filepath='include/linux/dmaengine.h' line='163' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='176'>
+          <var-decl name='src_sgl' type-id='type-id-211' visibility='default' filepath='include/linux/dmaengine.h' line='164' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='184'>
+          <var-decl name='dst_sgl' type-id='type-id-211' visibility='default' filepath='include/linux/dmaengine.h' line='165' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='numf' type-id='type-id-125' visibility='default' filepath='include/linux/dmaengine.h' line='166' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='frame_size' type-id='type-id-125' visibility='default' filepath='include/linux/dmaengine.h' line='167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='sgl' type-id='type-id-896' visibility='default' filepath='include/linux/dmaengine.h' line='168' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='data_chunk' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/dmaengine.h' line='133' column='1' id='type-id-895'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='size' type-id='type-id-125' visibility='default' filepath='include/linux/dmaengine.h' line='134' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='icg' type-id='type-id-125' visibility='default' filepath='include/linux/dmaengine.h' line='135' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='dst_icg' type-id='type-id-125' visibility='default' filepath='include/linux/dmaengine.h' line='136' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='src_icg' type-id='type-id-125' visibility='default' filepath='include/linux/dmaengine.h' line='137' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='dma_slave_config' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/dmaengine.h' line='367' column='1' id='type-id-947'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='direction' type-id='type-id-945' visibility='default' filepath='include/linux/dmaengine.h' line='368' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='src_addr' type-id='type-id-206' visibility='default' filepath='include/linux/dmaengine.h' line='369' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='dst_addr' type-id='type-id-206' visibility='default' filepath='include/linux/dmaengine.h' line='370' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='src_addr_width' type-id='type-id-948' visibility='default' filepath='include/linux/dmaengine.h' line='371' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='dst_addr_width' type-id='type-id-948' visibility='default' filepath='include/linux/dmaengine.h' line='372' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='src_maxburst' type-id='type-id-9' visibility='default' filepath='include/linux/dmaengine.h' line='373' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='dst_maxburst' type-id='type-id-9' visibility='default' filepath='include/linux/dmaengine.h' line='374' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='src_port_window_size' type-id='type-id-9' visibility='default' filepath='include/linux/dmaengine.h' line='375' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='dst_port_window_size' type-id='type-id-9' visibility='default' filepath='include/linux/dmaengine.h' line='376' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='device_fc' type-id='type-id-211' visibility='default' filepath='include/linux/dmaengine.h' line='377' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='slave_id' type-id='type-id-10' visibility='default' filepath='include/linux/dmaengine.h' line='378' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='dma_slave_buswidth' filepath='include/linux/dmaengine.h' line='304' column='1' id='type-id-948'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='DMA_SLAVE_BUSWIDTH_UNDEFINED' value='0'/>
+        <enumerator name='DMA_SLAVE_BUSWIDTH_1_BYTE' value='1'/>
+        <enumerator name='DMA_SLAVE_BUSWIDTH_2_BYTES' value='2'/>
+        <enumerator name='DMA_SLAVE_BUSWIDTH_3_BYTES' value='3'/>
+        <enumerator name='DMA_SLAVE_BUSWIDTH_4_BYTES' value='4'/>
+        <enumerator name='DMA_SLAVE_BUSWIDTH_8_BYTES' value='8'/>
+        <enumerator name='DMA_SLAVE_BUSWIDTH_16_BYTES' value='16'/>
+        <enumerator name='DMA_SLAVE_BUSWIDTH_32_BYTES' value='32'/>
+        <enumerator name='DMA_SLAVE_BUSWIDTH_64_BYTES' value='64'/>
+      </enum-decl>
+      <enum-decl name='dma_status' filepath='include/linux/dmaengine.h' line='49' column='1' id='type-id-949'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='DMA_COMPLETE' value='0'/>
+        <enumerator name='DMA_IN_PROGRESS' value='1'/>
+        <enumerator name='DMA_PAUSED' value='2'/>
+        <enumerator name='DMA_ERROR' value='3'/>
+      </enum-decl>
+      <class-decl name='dma_tx_state' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/linux/dmaengine.h' line='627' column='1' id='type-id-950'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='last' type-id='type-id-900' visibility='default' filepath='include/linux/dmaengine.h' line='628' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='used' type-id='type-id-900' visibility='default' filepath='include/linux/dmaengine.h' line='629' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='residue' type-id='type-id-9' visibility='default' filepath='include/linux/dmaengine.h' line='630' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='dma_chan_dev' size-in-bits='6400' is-struct='yes' visibility='default' filepath='include/linux/dmaengine.h' line='293' column='1' id='type-id-951'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='chan' type-id='type-id-933' visibility='default' filepath='include/linux/dmaengine.h' line='294' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='device' type-id='type-id-294' visibility='default' filepath='include/linux/dmaengine.h' line='295' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6272'>
+          <var-decl name='dev_id' type-id='type-id-11' visibility='default' filepath='include/linux/dmaengine.h' line='296' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6336'>
+          <var-decl name='idr_ref' type-id='type-id-190' visibility='default' filepath='include/linux/dmaengine.h' line='297' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='dma_chan_percpu' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/dmaengine.h' line='234' column='1' id='type-id-952'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='memcpy_count' type-id='type-id-100' visibility='default' filepath='include/linux/dmaengine.h' line='236' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='bytes_transferred' type-id='type-id-100' visibility='default' filepath='include/linux/dmaengine.h' line='237' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='dma_router' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/dmaengine.h' line='245' column='1' id='type-id-953'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/linux/dmaengine.h' line='246' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='route_free' type-id='type-id-954' visibility='default' filepath='include/linux/dmaengine.h' line='247' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-928' const='yes' id='type-id-955'/>
+      <pointer-type-def type-id='type-id-955' size-in-bits='64' id='type-id-926'/>
+      <qualified-type-def type-id='type-id-941' const='yes' id='type-id-956'/>
+      <pointer-type-def type-id='type-id-956' size-in-bits='64' id='type-id-957'/>
+      <pointer-type-def type-id='type-id-931' size-in-bits='64' id='type-id-958'/>
+      <pointer-type-def type-id='type-id-959' size-in-bits='64' id='type-id-915'/>
+      <pointer-type-def type-id='type-id-960' size-in-bits='64' id='type-id-914'/>
+      <pointer-type-def type-id='type-id-961' size-in-bits='64' id='type-id-913'/>
+      <pointer-type-def type-id='type-id-962' size-in-bits='64' id='type-id-921'/>
+      <pointer-type-def type-id='type-id-963' size-in-bits='64' id='type-id-919'/>
+      <pointer-type-def type-id='type-id-964' size-in-bits='64' id='type-id-917'/>
+      <pointer-type-def type-id='type-id-965' size-in-bits='64' id='type-id-912'/>
+      <pointer-type-def type-id='type-id-966' size-in-bits='64' id='type-id-916'/>
+      <pointer-type-def type-id='type-id-967' size-in-bits='64' id='type-id-911'/>
+      <pointer-type-def type-id='type-id-968' size-in-bits='64' id='type-id-920'/>
+      <pointer-type-def type-id='type-id-969' size-in-bits='64' id='type-id-922'/>
+      <pointer-type-def type-id='type-id-970' size-in-bits='64' id='type-id-918'/>
+      <pointer-type-def type-id='type-id-898' size-in-bits='64' id='type-id-933'/>
+      <pointer-type-def type-id='type-id-951' size-in-bits='64' id='type-id-901'/>
+      <pointer-type-def type-id='type-id-952' size-in-bits='64' id='type-id-902'/>
+      <pointer-type-def type-id='type-id-904' size-in-bits='64' id='type-id-899'/>
+      <pointer-type-def type-id='type-id-946' size-in-bits='64' id='type-id-971'/>
+      <pointer-type-def type-id='type-id-953' size-in-bits='64' id='type-id-903'/>
+      <pointer-type-def type-id='type-id-947' size-in-bits='64' id='type-id-972'/>
+      <pointer-type-def type-id='type-id-950' size-in-bits='64' id='type-id-973'/>
+      <pointer-type-def type-id='type-id-943' size-in-bits='64' id='type-id-938'/>
+      <pointer-type-def type-id='type-id-974' size-in-bits='64' id='type-id-924'/>
+      <pointer-type-def type-id='type-id-975' size-in-bits='64' id='type-id-935'/>
+      <pointer-type-def type-id='type-id-976' size-in-bits='64' id='type-id-909'/>
+      <pointer-type-def type-id='type-id-977' size-in-bits='64' id='type-id-923'/>
+      <pointer-type-def type-id='type-id-944' size-in-bits='64' id='type-id-978'/>
+      <pointer-type-def type-id='type-id-979' size-in-bits='64' id='type-id-927'/>
+      <pointer-type-def type-id='type-id-980' size-in-bits='64' id='type-id-934'/>
+      <pointer-type-def type-id='type-id-981' size-in-bits='64' id='type-id-910'/>
+      <pointer-type-def type-id='type-id-982' size-in-bits='64' id='type-id-940'/>
+      <function-decl name='dma_release_channel' mangled-name='dma_release_channel' filepath='drivers/dma/dmaengine.c' line='784' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_release_channel'>
+        <parameter type-id='type-id-933' name='chan' filepath='drivers/dma/dmaengine.c' line='784' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='dma_get_slave_channel' mangled-name='dma_get_slave_channel' filepath='drivers/dma/dmaengine.c' line='587' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_get_slave_channel'>
+        <parameter type-id='type-id-933' name='chan' filepath='drivers/dma/dmaengine.c' line='587' column='1'/>
+        <return type-id='type-id-933'/>
+      </function-decl>
+      <function-decl name='dma_request_slave_channel' mangled-name='dma_request_slave_channel' filepath='drivers/dma/dmaengine.c' line='746' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_request_slave_channel'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/dma/dmaengine.c' line='746' column='1'/>
+        <parameter type-id='type-id-24' name='name' filepath='drivers/dma/dmaengine.c' line='747' column='1'/>
+        <return type-id='type-id-933'/>
+      </function-decl>
+      <function-decl name='dma_async_device_register' mangled-name='dma_async_device_register' filepath='drivers/dma/dmaengine.c' line='911' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_async_device_register'>
+        <parameter type-id='type-id-899' name='device' filepath='drivers/dma/dmaengine.c' line='911' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='dma_async_tx_descriptor_init' mangled-name='dma_async_tx_descriptor_init' filepath='drivers/dma/dmaengine.c' line='1301' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_async_tx_descriptor_init'>
+        <parameter type-id='type-id-958' name='tx' filepath='drivers/dma/dmaengine.c' line='1301' column='1'/>
+        <parameter type-id='type-id-933' name='chan' filepath='drivers/dma/dmaengine.c' line='1302' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-959'>
+        <parameter type-id='type-id-933'/>
+        <parameter type-id='type-id-983'/>
+        <parameter type-id='type-id-983'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-984'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-978'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-958'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-960'>
+        <parameter type-id='type-id-933'/>
+        <parameter type-id='type-id-983'/>
+        <parameter type-id='type-id-983'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-984'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-958'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-961'>
+        <parameter type-id='type-id-933'/>
+        <parameter type-id='type-id-983'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-978'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-958'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-962'>
+        <parameter type-id='type-id-933'/>
+        <parameter type-id='type-id-971'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-958'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-963'>
+        <parameter type-id='type-id-933'/>
+        <parameter type-id='type-id-33'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-945'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-958'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-964'>
+        <parameter type-id='type-id-933'/>
+        <parameter type-id='type-id-33'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-958'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-965'>
+        <parameter type-id='type-id-933'/>
+        <parameter type-id='type-id-210'/>
+        <parameter type-id='type-id-983'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-958'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-966'>
+        <parameter type-id='type-id-933'/>
+        <parameter type-id='type-id-210'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-958'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-967'>
+        <parameter type-id='type-id-933'/>
+        <parameter type-id='type-id-210'/>
+        <parameter type-id='type-id-210'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-958'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-968'>
+        <parameter type-id='type-id-933'/>
+        <parameter type-id='type-id-210'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-945'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-958'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-969'>
+        <parameter type-id='type-id-933'/>
+        <parameter type-id='type-id-210'/>
+        <parameter type-id='type-id-134'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-958'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-970'>
+        <parameter type-id='type-id-933'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-958'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-974'>
+        <parameter type-id='type-id-933'/>
+        <parameter type-id='type-id-900'/>
+        <parameter type-id='type-id-973'/>
+        <return type-id='type-id-949'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-975'>
+        <parameter type-id='type-id-958'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-976'>
+        <parameter type-id='type-id-933'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-977'>
+        <parameter type-id='type-id-933'/>
+        <parameter type-id='type-id-972'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-979'>
+        <parameter type-id='type-id-933'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-980'>
+        <parameter type-id='type-id-958'/>
+        <return type-id='type-id-900'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-981'>
+        <parameter type-id='type-id-933' name='chan'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-982'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-957'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/dma/of-dma.c' language='LANG_C89'>
+      <class-decl name='of_dma' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/of_dma.h' line='18' column='1' id='type-id-985'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='of_dma_controllers' type-id='type-id-8' visibility='default' filepath='include/linux/of_dma.h' line='19' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='of_node' type-id='type-id-81' visibility='default' filepath='include/linux/of_dma.h' line='20' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='of_dma_xlate' type-id='type-id-986' visibility='default' filepath='include/linux/of_dma.h' line='21' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='of_dma_route_allocate' type-id='type-id-987' visibility='default' filepath='include/linux/of_dma.h' line='23' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='dma_router' type-id='type-id-903' visibility='default' filepath='include/linux/of_dma.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='of_dma_data' type-id='type-id-3' visibility='default' filepath='include/linux/of_dma.h' line='26' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-988' size-in-bits='64' id='type-id-986'/>
+      <pointer-type-def type-id='type-id-985' size-in-bits='64' id='type-id-989'/>
+      <pointer-type-def type-id='type-id-990' size-in-bits='64' id='type-id-987'/>
+      <function-decl name='of_dma_controller_register' mangled-name='of_dma_controller_register' filepath='drivers/dma/of-dma.c' line='104' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_dma_controller_register'>
+        <parameter type-id='type-id-81' name='np' filepath='drivers/dma/of-dma.c' line='104' column='1'/>
+        <parameter type-id='type-id-986' name='of_dma_xlate' filepath='drivers/dma/of-dma.c' line='105' column='1'/>
+        <parameter type-id='type-id-3' name='data' filepath='drivers/dma/of-dma.c' line='107' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-988'>
+        <parameter type-id='type-id-233'/>
+        <parameter type-id='type-id-989'/>
+        <return type-id='type-id-933'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-990'>
+        <parameter type-id='type-id-233'/>
+        <parameter type-id='type-id-989'/>
+        <return type-id='type-id-3'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/edac/edac_device.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-475' size-in-bits='280' id='type-id-991'>
+        <subrange length='35' type-id='type-id-5' id='type-id-992'/>
+
+      </array-type-def>
+      <class-decl name='edac_device_ctl_info' size-in-bits='3008' is-struct='yes' visibility='default' filepath='drivers/edac/edac_device.h' line='151' column='1' id='type-id-993'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='link' type-id='type-id-8' visibility='default' filepath='drivers/edac/edac_device.h' line='153' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='drivers/edac/edac_device.h' line='155' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='dev_idx' type-id='type-id-11' visibility='default' filepath='drivers/edac/edac_device.h' line='157' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='log_ue' type-id='type-id-11' visibility='default' filepath='drivers/edac/edac_device.h' line='160' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='log_ce' type-id='type-id-11' visibility='default' filepath='drivers/edac/edac_device.h' line='161' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='panic_on_ue' type-id='type-id-11' visibility='default' filepath='drivers/edac/edac_device.h' line='162' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='poll_msec' type-id='type-id-10' visibility='default' filepath='drivers/edac/edac_device.h' line='163' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='delay' type-id='type-id-100' visibility='default' filepath='drivers/edac/edac_device.h' line='164' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='sysfs_attributes' type-id='type-id-994' visibility='default' filepath='drivers/edac/edac_device.h' line='176' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='edac_subsys' type-id='type-id-531' visibility='default' filepath='drivers/edac/edac_device.h' line='179' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='op_state' type-id='type-id-11' visibility='default' filepath='drivers/edac/edac_device.h' line='182' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='work' type-id='type-id-370' visibility='default' filepath='drivers/edac/edac_device.h' line='184' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='edac_check' type-id='type-id-995' visibility='default' filepath='drivers/edac/edac_device.h' line='191' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='drivers/edac/edac_device.h' line='193' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='mod_name' type-id='type-id-24' visibility='default' filepath='drivers/edac/edac_device.h' line='195' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='ctl_name' type-id='type-id-24' visibility='default' filepath='drivers/edac/edac_device.h' line='196' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='dev_name' type-id='type-id-24' visibility='default' filepath='drivers/edac/edac_device.h' line='197' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='pvt_info' type-id='type-id-3' visibility='default' filepath='drivers/edac/edac_device.h' line='199' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='start_time' type-id='type-id-100' visibility='default' filepath='drivers/edac/edac_device.h' line='201' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='removal_complete' type-id='type-id-661' visibility='default' filepath='drivers/edac/edac_device.h' line='203' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='name' type-id='type-id-650' visibility='default' filepath='drivers/edac/edac_device.h' line='212' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='nr_instances' type-id='type-id-9' visibility='default' filepath='drivers/edac/edac_device.h' line='217' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='instances' type-id='type-id-996' visibility='default' filepath='drivers/edac/edac_device.h' line='218' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='counters' type-id='type-id-997' visibility='default' filepath='drivers/edac/edac_device.h' line='221' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='kobj' type-id='type-id-315' visibility='default' filepath='drivers/edac/edac_device.h' line='226' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='edac_dev_sysfs_attribute' size-in-bits='256' is-struct='yes' visibility='default' filepath='drivers/edac/edac_device.h' line='88' column='1' id='type-id-998'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='attr' type-id='type-id-858' visibility='default' filepath='drivers/edac/edac_device.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='show' type-id='type-id-999' visibility='default' filepath='drivers/edac/edac_device.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='store' type-id='type-id-1000' visibility='default' filepath='drivers/edac/edac_device.h' line='91' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='edac_device_instance' size-in-bits='1024' is-struct='yes' visibility='default' filepath='drivers/edac/edac_device.h' line='133' column='1' id='type-id-1001'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ctl' type-id='type-id-1002' visibility='default' filepath='drivers/edac/edac_device.h' line='134' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='name' type-id='type-id-991' visibility='default' filepath='drivers/edac/edac_device.h' line='135' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='counters' type-id='type-id-997' visibility='default' filepath='drivers/edac/edac_device.h' line='137' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='nr_blocks' type-id='type-id-9' visibility='default' filepath='drivers/edac/edac_device.h' line='139' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='blocks' type-id='type-id-1003' visibility='default' filepath='drivers/edac/edac_device.h' line='140' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='kobj' type-id='type-id-315' visibility='default' filepath='drivers/edac/edac_device.h' line='143' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='edac_device_counter' size-in-bits='64' is-struct='yes' visibility='default' filepath='drivers/edac/edac_device.h' line='74' column='1' id='type-id-997'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ue_count' type-id='type-id-9' visibility='default' filepath='drivers/edac/edac_device.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='ce_count' type-id='type-id-9' visibility='default' filepath='drivers/edac/edac_device.h' line='76' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='edac_device_block' size-in-bits='1024' is-struct='yes' visibility='default' filepath='drivers/edac/edac_device.h' line='117' column='1' id='type-id-1004'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='instance' type-id='type-id-996' visibility='default' filepath='drivers/edac/edac_device.h' line='118' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='name' type-id='type-id-650' visibility='default' filepath='drivers/edac/edac_device.h' line='119' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='counters' type-id='type-id-997' visibility='default' filepath='drivers/edac/edac_device.h' line='121' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='nr_attribs' type-id='type-id-11' visibility='default' filepath='drivers/edac/edac_device.h' line='123' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='block_attributes' type-id='type-id-1005' visibility='default' filepath='drivers/edac/edac_device.h' line='126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='kobj' type-id='type-id-315' visibility='default' filepath='drivers/edac/edac_device.h' line='129' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='edac_dev_sysfs_block_attribute' size-in-bits='384' is-struct='yes' visibility='default' filepath='drivers/edac/edac_device.h' line='106' column='1' id='type-id-1006'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='attr' type-id='type-id-858' visibility='default' filepath='drivers/edac/edac_device.h' line='107' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='show' type-id='type-id-1007' visibility='default' filepath='drivers/edac/edac_device.h' line='108' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='store' type-id='type-id-1008' visibility='default' filepath='drivers/edac/edac_device.h' line='109' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='block' type-id='type-id-1003' visibility='default' filepath='drivers/edac/edac_device.h' line='111' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='value' type-id='type-id-10' visibility='default' filepath='drivers/edac/edac_device.h' line='113' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-998' size-in-bits='64' id='type-id-994'/>
+      <pointer-type-def type-id='type-id-1006' size-in-bits='64' id='type-id-1005'/>
+      <pointer-type-def type-id='type-id-1004' size-in-bits='64' id='type-id-1003'/>
+      <pointer-type-def type-id='type-id-993' size-in-bits='64' id='type-id-1002'/>
+      <pointer-type-def type-id='type-id-1001' size-in-bits='64' id='type-id-996'/>
+      <pointer-type-def type-id='type-id-1009' size-in-bits='64' id='type-id-999'/>
+      <pointer-type-def type-id='type-id-1010' size-in-bits='64' id='type-id-1000'/>
+      <pointer-type-def type-id='type-id-1011' size-in-bits='64' id='type-id-995'/>
+      <function-decl name='edac_device_alloc_index' mangled-name='edac_device_alloc_index' filepath='drivers/edac/edac_device.c' line='440' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='edac_device_alloc_index'>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='edac_device_alloc_ctl_info' mangled-name='edac_device_alloc_ctl_info' filepath='drivers/edac/edac_device.c' line='50' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='edac_device_alloc_ctl_info'>
+        <parameter type-id='type-id-10' name='sz_private' filepath='drivers/edac/edac_device.c' line='51' column='1'/>
+        <parameter type-id='type-id-300' name='edac_device_name' filepath='drivers/edac/edac_device.c' line='52' column='1'/>
+        <parameter type-id='type-id-10' name='nr_instances' filepath='drivers/edac/edac_device.c' line='52' column='1'/>
+        <parameter type-id='type-id-300' name='edac_block_name' filepath='drivers/edac/edac_device.c' line='53' column='1'/>
+        <parameter type-id='type-id-10' name='nr_blocks' filepath='drivers/edac/edac_device.c' line='53' column='1'/>
+        <parameter type-id='type-id-10' name='offset_value' filepath='drivers/edac/edac_device.c' line='54' column='1'/>
+        <parameter type-id='type-id-1005' name='attrib_spec' filepath='drivers/edac/edac_device.c' line='55' column='1'/>
+        <parameter type-id='type-id-10' name='nr_attrib' filepath='drivers/edac/edac_device.c' line='55' column='1'/>
+        <parameter type-id='type-id-11' name='device_index' filepath='drivers/edac/edac_device.c' line='56' column='1'/>
+        <return type-id='type-id-1002'/>
+      </function-decl>
+      <function-decl name='edac_device_free_ctl_info' mangled-name='edac_device_free_ctl_info' filepath='drivers/edac/edac_device.c' line='229' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='edac_device_free_ctl_info'>
+        <parameter type-id='type-id-1002' name='ctl_info' filepath='drivers/edac/edac_device.c' line='229' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='edac_device_add_device' mangled-name='edac_device_add_device' filepath='drivers/edac/edac_device.c' line='448' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='edac_device_add_device'>
+        <parameter type-id='type-id-1002' name='edac_dev' filepath='drivers/edac/edac_device.c' line='448' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='edac_device_del_device' mangled-name='edac_device_del_device' filepath='drivers/edac/edac_device.c' line='504' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='edac_device_del_device'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/edac/edac_device.c' line='504' column='1'/>
+        <return type-id='type-id-1002'/>
+      </function-decl>
+      <function-decl name='edac_device_handle_ce' mangled-name='edac_device_handle_ce' filepath='drivers/edac/edac_device.c' line='558' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='edac_device_handle_ce'>
+        <parameter type-id='type-id-1002' name='edac_dev' filepath='drivers/edac/edac_device.c' line='558' column='1'/>
+        <parameter type-id='type-id-11' name='inst_nr' filepath='drivers/edac/edac_device.c' line='559' column='1'/>
+        <parameter type-id='type-id-11' name='block_nr' filepath='drivers/edac/edac_device.c' line='559' column='1'/>
+        <parameter type-id='type-id-24' name='msg' filepath='drivers/edac/edac_device.c' line='559' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='edac_device_handle_ue' mangled-name='edac_device_handle_ue' filepath='drivers/edac/edac_device.c' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='edac_device_handle_ue'>
+        <parameter type-id='type-id-1002' name='edac_dev' filepath='drivers/edac/edac_device.c' line='600' column='1'/>
+        <parameter type-id='type-id-11' name='inst_nr' filepath='drivers/edac/edac_device.c' line='601' column='1'/>
+        <parameter type-id='type-id-11' name='block_nr' filepath='drivers/edac/edac_device.c' line='601' column='1'/>
+        <parameter type-id='type-id-24' name='msg' filepath='drivers/edac/edac_device.c' line='601' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-1009'>
+        <parameter type-id='type-id-1002'/>
+        <parameter type-id='type-id-300'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1010'>
+        <parameter type-id='type-id-1002'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1011'>
+        <parameter type-id='type-id-1002'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/extcon/devres.c' language='LANG_C89'>
+      <function-decl name='devm_extcon_dev_allocate' mangled-name='devm_extcon_dev_allocate' filepath='drivers/extcon/devres.c' line='73' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_extcon_dev_allocate'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/extcon/devres.c' line='73' column='1'/>
+        <parameter type-id='type-id-835' name='supported_cable' filepath='drivers/extcon/devres.c' line='74' column='1'/>
+        <return type-id='type-id-1012'/>
+      </function-decl>
+      <function-decl name='devm_extcon_dev_register' mangled-name='devm_extcon_dev_register' filepath='drivers/extcon/devres.c' line='126' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_extcon_dev_register'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/extcon/devres.c' line='126' column='1'/>
+        <parameter type-id='type-id-1012' name='edev' filepath='drivers/extcon/devres.c' line='126' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='devm_extcon_dev_unregister' mangled-name='devm_extcon_dev_unregister' filepath='drivers/extcon/devres.c' line='156' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_extcon_dev_unregister'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/extcon/devres.c' line='156' column='1'/>
+        <parameter type-id='type-id-1012' name='edev' filepath='drivers/extcon/devres.c' line='156' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='devm_extcon_register_notifier' mangled-name='devm_extcon_register_notifier' filepath='drivers/extcon/devres.c' line='180' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_extcon_register_notifier'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/extcon/devres.c' line='180' column='1'/>
+        <parameter type-id='type-id-1012' name='edev' filepath='drivers/extcon/devres.c' line='180' column='1'/>
+        <parameter type-id='type-id-10' name='id' filepath='drivers/extcon/devres.c' line='181' column='1'/>
+        <parameter type-id='type-id-103' name='nb' filepath='drivers/extcon/devres.c' line='181' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/extcon/extcon.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-1013' size-in-bits='192' id='type-id-1014'>
+        <subrange length='3' type-id='type-id-5' id='type-id-1015'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-1016' size-in-bits='32' id='type-id-1017'>
+        <subrange length='1' type-id='type-id-5' id='type-id-192'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-1016' size-in-bits='64' id='type-id-1018'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-1016' size-in-bits='96' id='type-id-1019'>
+        <subrange length='3' type-id='type-id-5' id='type-id-1015'/>
+
+      </array-type-def>
+      <class-decl name='extcon_dev' size-in-bits='7680' is-struct='yes' visibility='default' filepath='drivers/extcon/extcon.h' line='41' column='1' id='type-id-1020'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='drivers/extcon/extcon.h' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='supported_cable' type-id='type-id-835' visibility='default' filepath='drivers/extcon/extcon.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='mutually_exclusive' type-id='type-id-560' visibility='default' filepath='drivers/extcon/extcon.h' line='45' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='drivers/extcon/extcon.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6400'>
+          <var-decl name='nh_all' type-id='type-id-1021' visibility='default' filepath='drivers/extcon/extcon.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6464'>
+          <var-decl name='nh' type-id='type-id-1022' visibility='default' filepath='drivers/extcon/extcon.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6528'>
+          <var-decl name='entry' type-id='type-id-8' visibility='default' filepath='drivers/extcon/extcon.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6656'>
+          <var-decl name='max_supported' type-id='type-id-11' visibility='default' filepath='drivers/extcon/extcon.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6688'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='drivers/extcon/extcon.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6720'>
+          <var-decl name='state' type-id='type-id-9' visibility='default' filepath='drivers/extcon/extcon.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6784'>
+          <var-decl name='extcon_dev_type' type-id='type-id-1023' visibility='default' filepath='drivers/extcon/extcon.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7168'>
+          <var-decl name='cables' type-id='type-id-1024' visibility='default' filepath='drivers/extcon/extcon.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7232'>
+          <var-decl name='attr_g_muex' type-id='type-id-1025' visibility='default' filepath='drivers/extcon/extcon.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7552'>
+          <var-decl name='attrs_muex' type-id='type-id-1026' visibility='default' filepath='drivers/extcon/extcon.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7616'>
+          <var-decl name='d_attrs_muex' type-id='type-id-542' visibility='default' filepath='drivers/extcon/extcon.h' line='63' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='extcon_cable' size-in-bits='1664' is-struct='yes' visibility='default' filepath='drivers/extcon/extcon.c' line='208' column='1' id='type-id-1027'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='edev' type-id='type-id-1012' visibility='default' filepath='drivers/extcon/extcon.c' line='209' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='cable_index' type-id='type-id-11' visibility='default' filepath='drivers/extcon/extcon.c' line='210' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='attr_g' type-id='type-id-1025' visibility='default' filepath='drivers/extcon/extcon.c' line='212' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='attr_name' type-id='type-id-1028' visibility='default' filepath='drivers/extcon/extcon.c' line='213' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='attr_state' type-id='type-id-1028' visibility='default' filepath='drivers/extcon/extcon.c' line='214' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='attrs' type-id='type-id-1014' visibility='default' filepath='drivers/extcon/extcon.c' line='216' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='usb_propval' type-id='type-id-1019' visibility='default' filepath='drivers/extcon/extcon.c' line='218' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1248'>
+          <var-decl name='chg_propval' type-id='type-id-1017' visibility='default' filepath='drivers/extcon/extcon.c' line='219' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='jack_propval' type-id='type-id-1017' visibility='default' filepath='drivers/extcon/extcon.c' line='220' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1312'>
+          <var-decl name='disp_propval' type-id='type-id-1018' visibility='default' filepath='drivers/extcon/extcon.c' line='221' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='usb_bits' type-id='type-id-930' visibility='default' filepath='drivers/extcon/extcon.c' line='223' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='chg_bits' type-id='type-id-930' visibility='default' filepath='drivers/extcon/extcon.c' line='224' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='jack_bits' type-id='type-id-930' visibility='default' filepath='drivers/extcon/extcon.c' line='225' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='disp_bits' type-id='type-id-930' visibility='default' filepath='drivers/extcon/extcon.c' line='226' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='extcon_property_value' size-in-bits='32' visibility='default' filepath='include/linux/extcon.h' line='170' column='1' id='type-id-1016'>
+        <data-member access='private'>
+          <var-decl name='intval' type-id='type-id-11' visibility='default' filepath='include/linux/extcon.h' line='171' column='1'/>
+        </data-member>
+      </union-decl>
+      <pointer-type-def type-id='type-id-1027' size-in-bits='64' id='type-id-1024'/>
+      <pointer-type-def type-id='type-id-1020' size-in-bits='64' id='type-id-1012'/>
+      <pointer-type-def type-id='type-id-1016' size-in-bits='64' id='type-id-1029'/>
+      <function-decl name='extcon_get_state' mangled-name='extcon_get_state' filepath='drivers/extcon/extcon.c' line='497' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='extcon_get_state'>
+        <parameter type-id='type-id-1012' name='edev' filepath='drivers/extcon/extcon.c' line='497' column='1'/>
+        <parameter type-id='type-id-1030' name='id' filepath='drivers/extcon/extcon.c' line='497' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='extcon_set_state_sync' mangled-name='extcon_set_state_sync' filepath='drivers/extcon/extcon.c' line='585' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='extcon_set_state_sync'>
+        <parameter type-id='type-id-1012' name='edev' filepath='drivers/extcon/extcon.c' line='585' column='1'/>
+        <parameter type-id='type-id-10' name='id' filepath='drivers/extcon/extcon.c' line='585' column='1'/>
+        <parameter type-id='type-id-211' name='state' filepath='drivers/extcon/extcon.c' line='585' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='extcon_get_property' mangled-name='extcon_get_property' filepath='drivers/extcon/extcon.c' line='623' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='extcon_get_property'>
+        <parameter type-id='type-id-1012' name='edev' filepath='drivers/extcon/extcon.c' line='623' column='1'/>
+        <parameter type-id='type-id-10' name='id' filepath='drivers/extcon/extcon.c' line='623' column='1'/>
+        <parameter type-id='type-id-10' name='prop' filepath='drivers/extcon/extcon.c' line='624' column='1'/>
+        <parameter type-id='type-id-1029' name='prop_val' filepath='drivers/extcon/extcon.c' line='625' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='extcon_set_property' mangled-name='extcon_set_property' filepath='drivers/extcon/extcon.c' line='702' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='extcon_set_property'>
+        <parameter type-id='type-id-1012' name='edev' filepath='drivers/extcon/extcon.c' line='702' column='1'/>
+        <parameter type-id='type-id-10' name='id' filepath='drivers/extcon/extcon.c' line='702' column='1'/>
+        <parameter type-id='type-id-10' name='prop' filepath='drivers/extcon/extcon.c' line='703' column='1'/>
+        <parameter type-id='type-id-1016' name='prop_val' filepath='drivers/extcon/extcon.c' line='704' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='extcon_set_property_capability' mangled-name='extcon_set_property_capability' filepath='drivers/extcon/extcon.c' line='824' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='extcon_set_property_capability'>
+        <parameter type-id='type-id-1012' name='edev' filepath='drivers/extcon/extcon.c' line='824' column='1'/>
+        <parameter type-id='type-id-10' name='id' filepath='drivers/extcon/extcon.c' line='824' column='1'/>
+        <parameter type-id='type-id-10' name='prop' filepath='drivers/extcon/extcon.c' line='825' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='extcon_register_notifier' mangled-name='extcon_register_notifier' filepath='drivers/extcon/extcon.c' line='907' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='extcon_register_notifier'>
+        <parameter type-id='type-id-1012' name='edev' filepath='drivers/extcon/extcon.c' line='907' column='1'/>
+        <parameter type-id='type-id-10' name='id' filepath='drivers/extcon/extcon.c' line='907' column='1'/>
+        <parameter type-id='type-id-103' name='nb' filepath='drivers/extcon/extcon.c' line='908' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='extcon_unregister_notifier' mangled-name='extcon_unregister_notifier' filepath='drivers/extcon/extcon.c' line='936' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='extcon_unregister_notifier'>
+        <parameter type-id='type-id-1012' name='edev' filepath='drivers/extcon/extcon.c' line='936' column='1'/>
+        <parameter type-id='type-id-10' name='id' filepath='drivers/extcon/extcon.c' line='936' column='1'/>
+        <parameter type-id='type-id-103' name='nb' filepath='drivers/extcon/extcon.c' line='937' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='extcon_find_edev_by_node' mangled-name='extcon_find_edev_by_node' filepath='drivers/extcon/extcon.c' line='1351' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='extcon_find_edev_by_node'>
+        <parameter type-id='type-id-81' name='node' filepath='drivers/extcon/extcon.c' line='1351' column='1'/>
+        <return type-id='type-id-1012'/>
+      </function-decl>
+      <function-decl name='extcon_get_edev_by_phandle' mangled-name='extcon_get_edev_by_phandle' filepath='drivers/extcon/extcon.c' line='1373' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='extcon_get_edev_by_phandle'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/extcon/extcon.c' line='1373' column='1'/>
+        <parameter type-id='type-id-11' name='index' filepath='drivers/extcon/extcon.c' line='1373' column='1'/>
+        <return type-id='type-id-1012'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/firmware/arm_scpi.c' language='LANG_C89'>
+      <function-decl name='devm_of_platform_populate' mangled-name='devm_of_platform_populate' filepath='include/linux/of_platform.h' line='83' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_of_platform_populate'>
+        <parameter type-id='type-id-86'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='mbox_free_channel' mangled-name='mbox_free_channel' filepath='include/linux/mailbox_client.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mbox_free_channel'>
+        <parameter type-id='type-id-837'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/firmware/efi/libstub/arm-stub.c' language='LANG_C89'>
+      <type-decl name='char' size-in-bits='8' id='type-id-475'/>
+      <type-decl name='int' size-in-bits='32' id='type-id-11'/>
+      <type-decl name='unsigned long int' size-in-bits='64' id='type-id-100'/>
+      <type-decl name='void' id='type-id-73'/>
+      <pointer-type-def type-id='type-id-475' size-in-bits='64' id='type-id-300'/>
+      <qualified-type-def type-id='type-id-475' const='yes' id='type-id-880'/>
+      <pointer-type-def type-id='type-id-880' size-in-bits='64' id='type-id-24'/>
+      <pointer-type-def type-id='type-id-1031' size-in-bits='64' id='type-id-1032'/>
+      <pointer-type-def type-id='type-id-1033' size-in-bits='64' id='type-id-1034'/>
+      <pointer-type-def type-id='type-id-73' size-in-bits='64' id='type-id-3'/>
+      <function-decl name='strstr' mangled-name='strstr' filepath='include/linux/string.h' line='77' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strstr'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-300'/>
+      </function-decl>
+      <function-decl name='sort' mangled-name='sort' filepath='include/linux/sort.h' line='7' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sort'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-1032'/>
+        <parameter type-id='type-id-1034'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='memcpy' mangled-name='memcpy' filepath='arch/arm64/include/asm/string.h' line='46' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='memcpy'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-1031'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1033'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/firmware/efi/libstub/efi-stub-helper.c' language='LANG_C89'>
+      <function-decl name='strlen' mangled-name='strlen' filepath='arch/arm64/include/asm/string.h' line='33' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strlen'>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+      <function-decl name='strncmp' mangled-name='strncmp' filepath='arch/arm64/include/asm/string.h' line='30' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strncmp'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/firmware/efi/libstub/fdt.c' language='LANG_C89'>
+      <function-decl name='memcmp' mangled-name='memcmp' filepath='arch/arm64/include/asm/string.h' line='39' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='memcmp'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gnss/core.c' language='LANG_C89'>
+      <class-decl name='gnss_device' size-in-bits='8576' is-struct='yes' visibility='default' filepath='include/linux/gnss.h' line='36' column='1' id='type-id-1035'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='include/linux/gnss.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6208'>
+          <var-decl name='cdev' type-id='type-id-1036' visibility='default' filepath='include/linux/gnss.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7040'>
+          <var-decl name='id' type-id='type-id-11' visibility='default' filepath='include/linux/gnss.h' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7072'>
+          <var-decl name='type' type-id='type-id-1037' visibility='default' filepath='include/linux/gnss.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7104'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/gnss.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7168'>
+          <var-decl name='rwsem' type-id='type-id-139' visibility='default' filepath='include/linux/gnss.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7488'>
+          <var-decl name='ops' type-id='type-id-1038' visibility='default' filepath='include/linux/gnss.h' line='45' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7552'>
+          <var-decl name='count' type-id='type-id-10' visibility='default' filepath='include/linux/gnss.h' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='disconnected' type-id='type-id-10' visibility='default' filepath='include/linux/gnss.h' line='47' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7616'>
+          <var-decl name='read_mutex' type-id='type-id-407' visibility='default' filepath='include/linux/gnss.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7872'>
+          <var-decl name='read_fifo' type-id='type-id-1039' visibility='default' filepath='include/linux/gnss.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8064'>
+          <var-decl name='read_queue' type-id='type-id-388' visibility='default' filepath='include/linux/gnss.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8256'>
+          <var-decl name='write_mutex' type-id='type-id-407' visibility='default' filepath='include/linux/gnss.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8512'>
+          <var-decl name='write_buf' type-id='type-id-300' visibility='default' filepath='include/linux/gnss.h' line='54' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='gnss_type' filepath='include/linux/gnss.h' line='21' column='1' id='type-id-1037'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='GNSS_TYPE_NMEA' value='0'/>
+        <enumerator name='GNSS_TYPE_SIRF' value='1'/>
+        <enumerator name='GNSS_TYPE_UBX' value='2'/>
+        <enumerator name='GNSS_TYPE_COUNT' value='3'/>
+      </enum-decl>
+      <class-decl name='gnss_operations' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/gnss.h' line='29' column='1' id='type-id-1040'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='open' type-id='type-id-1041' visibility='default' filepath='include/linux/gnss.h' line='30' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='close' type-id='type-id-1042' visibility='default' filepath='include/linux/gnss.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='write_raw' type-id='type-id-1043' visibility='default' filepath='include/linux/gnss.h' line='32' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='kfifo' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/kfifo.h' line='97' column='1' id='type-id-1039'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='' type-id='type-id-1044' visibility='default' filepath='include/linux/kfifo.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='buf' type-id='type-id-1045' visibility='default' filepath='include/linux/kfifo.h' line='97' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/linux/kfifo.h' line='97' column='1' id='type-id-1044'>
+        <data-member access='private'>
+          <var-decl name='kfifo' type-id='type-id-1046' visibility='default' filepath='include/linux/kfifo.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='type' type-id='type-id-1047' visibility='default' filepath='include/linux/kfifo.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='const_type' type-id='type-id-984' visibility='default' filepath='include/linux/kfifo.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='rectype' type-id='type-id-1048' visibility='default' filepath='include/linux/kfifo.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='ptr' type-id='type-id-3' visibility='default' filepath='include/linux/kfifo.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='ptr_const' type-id='type-id-3' visibility='default' filepath='include/linux/kfifo.h' line='97' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__kfifo' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/kfifo.h' line='58' column='1' id='type-id-1046'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='in' type-id='type-id-10' visibility='default' filepath='include/linux/kfifo.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='out' type-id='type-id-10' visibility='default' filepath='include/linux/kfifo.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='mask' type-id='type-id-10' visibility='default' filepath='include/linux/kfifo.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='esize' type-id='type-id-10' visibility='default' filepath='include/linux/kfifo.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='data' type-id='type-id-3' visibility='default' filepath='include/linux/kfifo.h' line='63' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-1049' size-in-bits='64' id='type-id-1048'/>
+      <qualified-type-def type-id='type-id-1040' const='yes' id='type-id-1050'/>
+      <pointer-type-def type-id='type-id-1050' size-in-bits='64' id='type-id-1038'/>
+      <pointer-type-def type-id='type-id-1035' size-in-bits='64' id='type-id-1051'/>
+      <pointer-type-def type-id='type-id-1052' size-in-bits='64' id='type-id-1041'/>
+      <pointer-type-def type-id='type-id-1053' size-in-bits='64' id='type-id-1043'/>
+      <pointer-type-def type-id='type-id-1054' size-in-bits='64' id='type-id-1042'/>
+      <function-decl name='gnss_allocate_device' mangled-name='gnss_allocate_device' filepath='drivers/gnss/core.c' line='224' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gnss_allocate_device'>
+        <parameter type-id='type-id-86' name='parent' filepath='drivers/gnss/core.c' line='224' column='1'/>
+        <return type-id='type-id-1051'/>
+      </function-decl>
+      <function-decl name='gnss_put_device' mangled-name='gnss_put_device' filepath='drivers/gnss/core.c' line='277' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gnss_put_device'>
+        <parameter type-id='type-id-1051' name='gdev' filepath='drivers/gnss/core.c' line='277' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='gnss_register_device' mangled-name='gnss_register_device' filepath='drivers/gnss/core.c' line='283' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gnss_register_device'>
+        <parameter type-id='type-id-1051' name='gdev' filepath='drivers/gnss/core.c' line='283' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='gnss_deregister_device' mangled-name='gnss_deregister_device' filepath='drivers/gnss/core.c' line='301' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gnss_deregister_device'>
+        <parameter type-id='type-id-1051' name='gdev' filepath='drivers/gnss/core.c' line='301' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='gnss_insert_raw' mangled-name='gnss_insert_raw' filepath='drivers/gnss/core.c' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gnss_insert_raw'>
+        <parameter type-id='type-id-1051' name='gdev' filepath='drivers/gnss/core.c' line='320' column='1'/>
+        <parameter type-id='type-id-984' name='buf' filepath='drivers/gnss/core.c' line='320' column='1'/>
+        <parameter type-id='type-id-125' name='count' filepath='drivers/gnss/core.c' line='321' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-1052'>
+        <parameter type-id='type-id-1051'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1053'>
+        <parameter type-id='type-id-1051'/>
+        <parameter type-id='type-id-984'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1054'>
+        <parameter type-id='type-id-1051'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpio/devres.c' language='LANG_C89'>
+      <class-decl name='gpio_desc' size-in-bits='256' is-struct='yes' visibility='default' filepath='drivers/gpio/gpiolib.h' line='205' column='1' id='type-id-1055'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='gdev' type-id='type-id-1056' visibility='default' filepath='drivers/gpio/gpiolib.h' line='206' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='drivers/gpio/gpiolib.h' line='207' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='label' type-id='type-id-24' visibility='default' filepath='drivers/gpio/gpiolib.h' line='221' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='drivers/gpio/gpiolib.h' line='223' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='gpio_device' size-in-bits='7808' is-struct='yes' visibility='default' filepath='drivers/gpio/gpiolib.h' line='51' column='1' id='type-id-1057'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='id' type-id='type-id-11' visibility='default' filepath='drivers/gpio/gpiolib.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='drivers/gpio/gpiolib.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6272'>
+          <var-decl name='chrdev' type-id='type-id-1036' visibility='default' filepath='drivers/gpio/gpiolib.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7104'>
+          <var-decl name='mockdev' type-id='type-id-86' visibility='default' filepath='drivers/gpio/gpiolib.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7168'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='drivers/gpio/gpiolib.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7232'>
+          <var-decl name='chip' type-id='type-id-1058' visibility='default' filepath='drivers/gpio/gpiolib.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7296'>
+          <var-decl name='descs' type-id='type-id-1059' visibility='default' filepath='drivers/gpio/gpiolib.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7360'>
+          <var-decl name='base' type-id='type-id-11' visibility='default' filepath='drivers/gpio/gpiolib.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7392'>
+          <var-decl name='ngpio' type-id='type-id-289' visibility='default' filepath='drivers/gpio/gpiolib.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7424'>
+          <var-decl name='label' type-id='type-id-24' visibility='default' filepath='drivers/gpio/gpiolib.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7488'>
+          <var-decl name='data' type-id='type-id-3' visibility='default' filepath='drivers/gpio/gpiolib.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7552'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='drivers/gpio/gpiolib.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7680'>
+          <var-decl name='pin_ranges' type-id='type-id-8' visibility='default' filepath='drivers/gpio/gpiolib.h' line='72' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='gpiod_flags' filepath='include/linux/gpio/consumer.h' line='38' column='1' id='type-id-1060'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='GPIOD_ASIS' value='0'/>
+        <enumerator name='GPIOD_IN' value='1'/>
+        <enumerator name='GPIOD_OUT_LOW' value='3'/>
+        <enumerator name='GPIOD_OUT_HIGH' value='7'/>
+        <enumerator name='GPIOD_OUT_LOW_OPEN_DRAIN' value='11'/>
+        <enumerator name='GPIOD_OUT_HIGH_OPEN_DRAIN' value='15'/>
+      </enum-decl>
+      <pointer-type-def type-id='type-id-1055' size-in-bits='64' id='type-id-1059'/>
+      <pointer-type-def type-id='type-id-1057' size-in-bits='64' id='type-id-1056'/>
+      <function-decl name='devm_gpiod_get_index' mangled-name='devm_gpiod_get_index' filepath='include/linux/gpio/consumer.h' line='80' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_gpiod_get_index'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-1060'/>
+        <return type-id='type-id-1059'/>
+      </function-decl>
+      <function-decl name='gpio_request' mangled-name='gpio_request' filepath='include/asm-generic/gpio.h' line='67' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gpio_request'>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='gpio_request_one' mangled-name='gpio_request_one' filepath='include/asm-generic/gpio.h' line='117' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gpio_request_one'>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='gpio_free' mangled-name='gpio_free' filepath='include/asm-generic/gpio.h' line='68' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gpio_free'>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='devm_gpiod_get' mangled-name='devm_gpiod_get' filepath='drivers/gpio/devres.c' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_gpiod_get'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/gpio/devres.c' line='64' column='1'/>
+        <parameter type-id='type-id-24' name='con_id' filepath='drivers/gpio/devres.c' line='65' column='1'/>
+        <parameter type-id='type-id-1060' name='flags' filepath='drivers/gpio/devres.c' line='66' column='1'/>
+        <return type-id='type-id-1059'/>
+      </function-decl>
+      <function-decl name='devm_gpiod_get_optional' mangled-name='devm_gpiod_get_optional' filepath='drivers/gpio/devres.c' line='82' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_gpiod_get_optional'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/gpio/devres.c' line='82' column='1'/>
+        <parameter type-id='type-id-24' name='con_id' filepath='drivers/gpio/devres.c' line='83' column='1'/>
+        <parameter type-id='type-id-1060' name='flags' filepath='drivers/gpio/devres.c' line='84' column='1'/>
+        <return type-id='type-id-1059'/>
+      </function-decl>
+      <function-decl name='devm_gpio_request' mangled-name='devm_gpio_request' filepath='drivers/gpio/devres.c' line='379' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_gpio_request'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/gpio/devres.c' line='379' column='1'/>
+        <parameter type-id='type-id-10' name='gpio' filepath='drivers/gpio/devres.c' line='379' column='1'/>
+        <parameter type-id='type-id-24' name='label' filepath='drivers/gpio/devres.c' line='379' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='devm_gpio_request_one' mangled-name='devm_gpio_request_one' filepath='drivers/gpio/devres.c' line='408' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_gpio_request_one'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/gpio/devres.c' line='408' column='1'/>
+        <parameter type-id='type-id-10' name='gpio' filepath='drivers/gpio/devres.c' line='408' column='1'/>
+        <parameter type-id='type-id-100' name='flags' filepath='drivers/gpio/devres.c' line='409' column='1'/>
+        <parameter type-id='type-id-24' name='label' filepath='drivers/gpio/devres.c' line='409' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpio/gpiolib-legacy.c' language='LANG_C89'>
+      <class-decl name='gpio' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/gpio.h' line='50' column='1' id='type-id-1061'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='gpio' type-id='type-id-10' visibility='default' filepath='include/linux/gpio.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/gpio.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='label' type-id='type-id-24' visibility='default' filepath='include/linux/gpio.h' line='53' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-1061' const='yes' id='type-id-1062'/>
+      <pointer-type-def type-id='type-id-1062' size-in-bits='64' id='type-id-1063'/>
+      <function-decl name='gpio_free_array' mangled-name='gpio_free_array' filepath='drivers/gpio/gpiolib-legacy.c' line='107' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gpio_free_array'>
+        <parameter type-id='type-id-1063' name='array' filepath='drivers/gpio/gpiolib-legacy.c' line='107' column='1'/>
+        <parameter type-id='type-id-125' name='num' filepath='drivers/gpio/gpiolib-legacy.c' line='107' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpio/gpiolib-of.c' language='LANG_C89'>
+      <enum-decl name='of_gpio_flags' filepath='include/linux/of_gpio.h' line='26' column='1' id='type-id-1064'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='OF_GPIO_ACTIVE_LOW' value='1'/>
+        <enumerator name='OF_GPIO_SINGLE_ENDED' value='2'/>
+        <enumerator name='OF_GPIO_OPEN_DRAIN' value='4'/>
+        <enumerator name='OF_GPIO_TRANSITORY' value='8'/>
+      </enum-decl>
+      <pointer-type-def type-id='type-id-1064' size-in-bits='64' id='type-id-1065'/>
+      <function-decl name='of_parse_phandle_with_fixed_args' mangled-name='of_parse_phandle_with_fixed_args' filepath='include/linux/of.h' line='379' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_parse_phandle_with_fixed_args'>
+        <parameter type-id='type-id-80'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-233'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='of_get_named_gpio_flags' mangled-name='of_get_named_gpio_flags' filepath='drivers/gpio/gpiolib-of.c' line='147' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_get_named_gpio_flags'>
+        <parameter type-id='type-id-81' name='np' filepath='drivers/gpio/gpiolib-of.c' line='147' column='1'/>
+        <parameter type-id='type-id-24' name='list_name' filepath='drivers/gpio/gpiolib-of.c' line='147' column='1'/>
+        <parameter type-id='type-id-11' name='index' filepath='drivers/gpio/gpiolib-of.c' line='148' column='1'/>
+        <parameter type-id='type-id-1065' name='flags' filepath='drivers/gpio/gpiolib-of.c' line='148' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpio/gpiolib.c' language='LANG_C89'>
+      <qualified-type-def type-id='type-id-1066' const='yes' id='type-id-1067'/>
+      <pointer-type-def type-id='type-id-1067' size-in-bits='64' id='type-id-1068'/>
+      <qualified-type-def type-id='type-id-1055' const='yes' id='type-id-1069'/>
+      <pointer-type-def type-id='type-id-1069' size-in-bits='64' id='type-id-1070'/>
+      <function-decl name='_dev_crit' mangled-name='_dev_crit' filepath='include/linux/device.h' line='1439' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_dev_crit'>
+        <parameter type-id='type-id-512'/>
+        <parameter type-id='type-id-24'/>
+        <parameter is-variadic='yes'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='of_count_phandle_with_args' mangled-name='of_count_phandle_with_args' filepath='include/linux/of.h' line='382' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_count_phandle_with_args'>
+        <parameter type-id='type-id-80'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='bus_unregister' mangled-name='bus_unregister' filepath='include/linux/device.h' line='158' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bus_unregister'>
+        <parameter type-id='type-id-531'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='desc_to_gpio' mangled-name='desc_to_gpio' filepath='drivers/gpio/gpiolib.c' line='160' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='desc_to_gpio'>
+        <parameter type-id='type-id-1070' name='desc' filepath='drivers/gpio/gpiolib.c' line='160' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='gpiochip_line_is_valid' mangled-name='gpiochip_line_is_valid' filepath='drivers/gpio/gpiolib.c' line='397' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gpiochip_line_is_valid'>
+        <parameter type-id='type-id-1068' name='gpiochip' filepath='drivers/gpio/gpiolib.c' line='397' column='1'/>
+        <parameter type-id='type-id-10' name='offset' filepath='drivers/gpio/gpiolib.c' line='398' column='1'/>
+        <return type-id='type-id-211'/>
+      </function-decl>
+      <function-decl name='gpiochip_set_chained_irqchip' mangled-name='gpiochip_set_chained_irqchip' filepath='drivers/gpio/gpiolib.c' line='1736' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gpiochip_set_chained_irqchip'>
+        <parameter type-id='type-id-1058' name='gpiochip' filepath='drivers/gpio/gpiolib.c' line='1736' column='1'/>
+        <parameter type-id='type-id-1071' name='irqchip' filepath='drivers/gpio/gpiolib.c' line='1737' column='1'/>
+        <parameter type-id='type-id-10' name='parent_irq' filepath='drivers/gpio/gpiolib.c' line='1738' column='1'/>
+        <parameter type-id='type-id-1072' name='parent_handler' filepath='drivers/gpio/gpiolib.c' line='1739' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='gpiochip_generic_request' mangled-name='gpiochip_generic_request' filepath='drivers/gpio/gpiolib.c' line='2138' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gpiochip_generic_request'>
+        <parameter type-id='type-id-1058' name='chip' filepath='drivers/gpio/gpiolib.c' line='2138' column='1'/>
+        <parameter type-id='type-id-10' name='offset' filepath='drivers/gpio/gpiolib.c' line='2138' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='gpiochip_generic_free' mangled-name='gpiochip_generic_free' filepath='drivers/gpio/gpiolib.c' line='2149' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gpiochip_generic_free'>
+        <parameter type-id='type-id-1058' name='chip' filepath='drivers/gpio/gpiolib.c' line='2149' column='1'/>
+        <parameter type-id='type-id-10' name='offset' filepath='drivers/gpio/gpiolib.c' line='2149' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='gpiod_direction_input' mangled-name='gpiod_direction_input' filepath='drivers/gpio/gpiolib.c' line='2560' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gpiod_direction_input'>
+        <parameter type-id='type-id-1059' name='desc' filepath='drivers/gpio/gpiolib.c' line='2560' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='gpiod_direction_output_raw' mangled-name='gpiod_direction_output_raw' filepath='drivers/gpio/gpiolib.c' line='2645' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gpiod_direction_output_raw'>
+        <parameter type-id='type-id-1059' name='desc' filepath='drivers/gpio/gpiolib.c' line='2645' column='1'/>
+        <parameter type-id='type-id-11' name='value' filepath='drivers/gpio/gpiolib.c' line='2645' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='gpiod_direction_output' mangled-name='gpiod_direction_output' filepath='drivers/gpio/gpiolib.c' line='2664' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gpiod_direction_output'>
+        <parameter type-id='type-id-1059' name='desc' filepath='drivers/gpio/gpiolib.c' line='2664' column='1'/>
+        <parameter type-id='type-id-11' name='value' filepath='drivers/gpio/gpiolib.c' line='2664' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='gpiod_get_raw_value' mangled-name='gpiod_get_raw_value' filepath='drivers/gpio/gpiolib.c' line='2941' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gpiod_get_raw_value'>
+        <parameter type-id='type-id-1070' name='desc' filepath='drivers/gpio/gpiolib.c' line='2941' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='gpiod_get_value' mangled-name='gpiod_get_value' filepath='drivers/gpio/gpiolib.c' line='2960' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gpiod_get_value'>
+        <parameter type-id='type-id-1070' name='desc' filepath='drivers/gpio/gpiolib.c' line='2960' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='gpiod_set_raw_value' mangled-name='gpiod_set_raw_value' filepath='drivers/gpio/gpiolib.c' line='3183' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gpiod_set_raw_value'>
+        <parameter type-id='type-id-1059' name='desc' filepath='drivers/gpio/gpiolib.c' line='3183' column='1'/>
+        <parameter type-id='type-id-11' name='value' filepath='drivers/gpio/gpiolib.c' line='3183' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='gpiod_set_value' mangled-name='gpiod_set_value' filepath='drivers/gpio/gpiolib.c' line='3224' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gpiod_set_value'>
+        <parameter type-id='type-id-1059' name='desc' filepath='drivers/gpio/gpiolib.c' line='3224' column='1'/>
+        <parameter type-id='type-id-11' name='value' filepath='drivers/gpio/gpiolib.c' line='3224' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='gpiod_to_irq' mangled-name='gpiod_to_irq' filepath='drivers/gpio/gpiolib.c' line='3317' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gpiod_to_irq'>
+        <parameter type-id='type-id-1070' name='desc' filepath='drivers/gpio/gpiolib.c' line='3317' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='gpiod_get_raw_value_cansleep' mangled-name='gpiod_get_raw_value_cansleep' filepath='drivers/gpio/gpiolib.c' line='3465' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gpiod_get_raw_value_cansleep'>
+        <parameter type-id='type-id-1070' name='desc' filepath='drivers/gpio/gpiolib.c' line='3465' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='gpiod_set_raw_value_cansleep' mangled-name='gpiod_set_raw_value_cansleep' filepath='drivers/gpio/gpiolib.c' line='3556' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gpiod_set_raw_value_cansleep'>
+        <parameter type-id='type-id-1059' name='desc' filepath='drivers/gpio/gpiolib.c' line='3556' column='1'/>
+        <parameter type-id='type-id-11' name='value' filepath='drivers/gpio/gpiolib.c' line='3556' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='gpiod_set_value_cansleep' mangled-name='gpiod_set_value_cansleep' filepath='drivers/gpio/gpiolib.c' line='3574' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gpiod_set_value_cansleep'>
+        <parameter type-id='type-id-1059' name='desc' filepath='drivers/gpio/gpiolib.c' line='3574' column='1'/>
+        <parameter type-id='type-id-11' name='value' filepath='drivers/gpio/gpiolib.c' line='3574' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/bridge/panel.c' language='LANG_C89'>
+      <function-decl name='drm_connector_init' mangled-name='drm_connector_init' filepath='include/drm/drm_connector.h' line='1082' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_connector_init'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-1074'/>
+        <parameter type-id='type-id-1075'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_atomic.c' language='LANG_C89'>
+      <class-decl name='sync_file' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/linux/sync_file.h' line='35' column='1' id='type-id-1076'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='file' type-id='type-id-147' visibility='default' filepath='include/linux/sync_file.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='user_name' type-id='type-id-650' visibility='default' filepath='include/linux/sync_file.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='wq' type-id='type-id-388' visibility='default' filepath='include/linux/sync_file.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/sync_file.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='fence' type-id='type-id-893' visibility='default' filepath='include/linux/sync_file.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='cb' type-id='type-id-1077' visibility='default' filepath='include/linux/sync_file.h' line='53' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-1076' size-in-bits='64' id='type-id-1078'/>
+      <function-decl name='drm_property_lookup_blob' mangled-name='drm_property_lookup_blob' filepath='include/drm/drm_property.h' line='270' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_property_lookup_blob'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-1079'/>
+      </function-decl>
+      <function-decl name='sync_file_get_fence' mangled-name='sync_file_get_fence' filepath='include/linux/sync_file.h' line='59' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sync_file_get_fence'>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-893'/>
+      </function-decl>
+      <function-decl name='sync_file_create' mangled-name='sync_file_create' filepath='include/linux/sync_file.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sync_file_create'>
+        <parameter type-id='type-id-893'/>
+        <return type-id='type-id-1078'/>
+      </function-decl>
+      <function-decl name='drm_atomic_state_default_release' mangled-name='drm_atomic_state_default_release' filepath='drivers/gpu/drm/drm_atomic.c' line='57' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_state_default_release'>
+        <parameter type-id='type-id-1080' name='state' filepath='drivers/gpu/drm/drm_atomic.c' line='57' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_atomic_state_init' mangled-name='drm_atomic_state_init' filepath='drivers/gpu/drm/drm_atomic.c' line='76' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_state_init'>
+        <parameter type-id='type-id-1073' name='dev' filepath='drivers/gpu/drm/drm_atomic.c' line='76' column='1'/>
+        <parameter type-id='type-id-1080' name='state' filepath='drivers/gpu/drm/drm_atomic.c' line='76' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_atomic_state_default_clear' mangled-name='drm_atomic_state_default_clear' filepath='drivers/gpu/drm/drm_atomic.c' line='141' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_state_default_clear'>
+        <parameter type-id='type-id-1080' name='state' filepath='drivers/gpu/drm/drm_atomic.c' line='141' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_atomic_state_clear' mangled-name='drm_atomic_state_clear' filepath='drivers/gpu/drm/drm_atomic.c' line='231' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_state_clear'>
+        <parameter type-id='type-id-1080' name='state' filepath='drivers/gpu/drm/drm_atomic.c' line='231' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__drm_atomic_state_free' mangled-name='__drm_atomic_state_free' filepath='drivers/gpu/drm/drm_atomic.c' line='250' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__drm_atomic_state_free'>
+        <parameter type-id='type-id-894' name='ref' filepath='drivers/gpu/drm/drm_atomic.c' line='250' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_atomic_helper.c' language='LANG_C89'>
+      <class-decl name='drm_fb_helper' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1081'/>
+      <pointer-type-def type-id='type-id-1081' size-in-bits='64' id='type-id-1082'/>
+      <function-decl name='drm_atomic_helper_commit_planes' mangled-name='drm_atomic_helper_commit_planes' filepath='include/drm/drm_atomic_helper.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_commit_planes'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-1080'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_atomic_helper_commit_hw_done' mangled-name='drm_atomic_helper_commit_hw_done' filepath='include/drm/drm_atomic_helper.h' line='104' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_commit_hw_done'>
+        <parameter type-id='type-id-1080'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_atomic_helper_cleanup_planes' mangled-name='drm_atomic_helper_cleanup_planes' filepath='include/drm/drm_atomic_helper.h' line='89' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_cleanup_planes'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-1080'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_atomic_helper_prepare_planes' mangled-name='drm_atomic_helper_prepare_planes' filepath='include/drm/drm_atomic_helper.h' line='80' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_prepare_planes'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-1080'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_atomic_helper_swap_state' mangled-name='drm_atomic_helper_swap_state' filepath='include/drm/drm_atomic_helper.h' line='96' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_swap_state'>
+        <parameter type-id='type-id-1080'/>
+        <parameter type-id='type-id-264'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_crtc_send_vblank_event' mangled-name='drm_crtc_send_vblank_event' filepath='include/drm/drm_vblank.h' line='202' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_crtc_send_vblank_event'>
+        <parameter type-id='type-id-1083'/>
+        <parameter type-id='type-id-1084'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_atomic_state_alloc' mangled-name='drm_atomic_state_alloc' filepath='include/drm/drm_atomic.h' line='349' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_state_alloc'>
+        <parameter type-id='type-id-1073'/>
+        <return type-id='type-id-1080'/>
+      </function-decl>
+      <function-decl name='drm_atomic_get_plane_state' mangled-name='drm_atomic_get_plane_state' filepath='include/drm/drm_atomic.h' line='391' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_get_plane_state'>
+        <parameter type-id='type-id-1080'/>
+        <parameter type-id='type-id-1085'/>
+        <return type-id='type-id-1086'/>
+      </function-decl>
+      <function-decl name='drm_atomic_commit' mangled-name='drm_atomic_commit' filepath='include/drm/drm_atomic.h' line='627' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_commit'>
+        <parameter type-id='type-id-1080'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_atomic_get_crtc_state' mangled-name='drm_atomic_get_crtc_state' filepath='include/drm/drm_atomic.h' line='385' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_get_crtc_state'>
+        <parameter type-id='type-id-1080'/>
+        <parameter type-id='type-id-1083'/>
+        <return type-id='type-id-1087'/>
+      </function-decl>
+      <function-decl name='drm_modeset_lock_all_ctx' mangled-name='drm_modeset_lock_all_ctx' filepath='include/drm/drm_modeset_lock.h' line='130' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_modeset_lock_all_ctx'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-1088'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_atomic_helper_duplicate_state' mangled-name='drm_atomic_helper_duplicate_state' filepath='include/drm/drm_atomic_helper.h' line='177' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_duplicate_state'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-1088'/>
+        <return type-id='type-id-1080'/>
+      </function-decl>
+      <function-decl name='drm_mode_config_reset' mangled-name='drm_mode_config_reset' filepath='include/drm/drm_mode_config.h' line='856' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_mode_config_reset'>
+        <parameter type-id='type-id-1073'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_property_blob_get' mangled-name='drm_property_blob_get' filepath='include/drm/drm_property.h' line='280' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_property_blob_get'>
+        <parameter type-id='type-id-1079'/>
+        <return type-id='type-id-1079'/>
+      </function-decl>
+      <function-decl name='drm_property_blob_put' mangled-name='drm_property_blob_put' filepath='include/drm/drm_property.h' line='281' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_property_blob_put'>
+        <parameter type-id='type-id-1079'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_atomic_get_connector_state' mangled-name='drm_atomic_get_connector_state' filepath='include/drm/drm_atomic.h' line='394' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_get_connector_state'>
+        <parameter type-id='type-id-1080'/>
+        <parameter type-id='type-id-1074'/>
+        <return type-id='type-id-1089'/>
+      </function-decl>
+      <function-decl name='drm_property_create_blob' mangled-name='drm_property_create_blob' filepath='include/drm/drm_property.h' line='267' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_property_create_blob'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-1079'/>
+      </function-decl>
+      <function-decl name='drm_atomic_set_crtc_for_connector' mangled-name='drm_atomic_set_crtc_for_connector' filepath='include/drm/drm_atomic.h' line='614' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_set_crtc_for_connector'>
+        <parameter type-id='type-id-1089'/>
+        <parameter type-id='type-id-1083'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='dma_fence_wait_timeout' mangled-name='dma_fence_wait_timeout' filepath='include/linux/dma-fence.h' line='509' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_fence_wait_timeout'>
+        <parameter type-id='type-id-893'/>
+        <parameter type-id='type-id-264'/>
+        <parameter type-id='type-id-187'/>
+        <return type-id='type-id-187'/>
+      </function-decl>
+      <function-decl name='drm_atomic_helper_check' mangled-name='drm_atomic_helper_check' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='887' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_check'>
+        <parameter type-id='type-id-1073' name='dev' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='887' column='1'/>
+        <parameter type-id='type-id-1080' name='state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='888' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_atomic_helper_update_legacy_modeset_state' mangled-name='drm_atomic_helper_update_legacy_modeset_state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='1026' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_update_legacy_modeset_state'>
+        <parameter type-id='type-id-1073' name='dev' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='1026' column='1'/>
+        <parameter type-id='type-id-1080' name='old_state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='1027' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_atomic_helper_commit_modeset_disables' mangled-name='drm_atomic_helper_commit_modeset_disables' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='1165' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_commit_modeset_disables'>
+        <parameter type-id='type-id-1073' name='dev' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='1165' column='1'/>
+        <parameter type-id='type-id-1080' name='old_state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='1166' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_atomic_helper_commit_modeset_enables' mangled-name='drm_atomic_helper_commit_modeset_enables' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='1211' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_commit_modeset_enables'>
+        <parameter type-id='type-id-1073' name='dev' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='1211' column='1'/>
+        <parameter type-id='type-id-1080' name='old_state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='1212' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_atomic_helper_wait_for_fences' mangled-name='drm_atomic_helper_wait_for_fences' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='1302' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_wait_for_fences'>
+        <parameter type-id='type-id-1073' name='dev' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='1302' column='1'/>
+        <parameter type-id='type-id-1080' name='state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='1303' column='1'/>
+        <parameter type-id='type-id-211' name='pre_swap' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='1304' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_atomic_helper_wait_for_vblanks' mangled-name='drm_atomic_helper_wait_for_vblanks' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='1349' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_wait_for_vblanks'>
+        <parameter type-id='type-id-1073' name='dev' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='1349' column='1'/>
+        <parameter type-id='type-id-1080' name='old_state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='1350' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_atomic_helper_commit' mangled-name='drm_atomic_helper_commit' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='1662' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_commit'>
+        <parameter type-id='type-id-1073' name='dev' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='1662' column='1'/>
+        <parameter type-id='type-id-1080' name='state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='1663' column='1'/>
+        <parameter type-id='type-id-211' name='nonblock' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='1664' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_atomic_helper_update_plane' mangled-name='drm_atomic_helper_update_plane' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2710' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_update_plane'>
+        <parameter type-id='type-id-1085' name='plane' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2710' column='1'/>
+        <parameter type-id='type-id-1083' name='crtc' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2711' column='1'/>
+        <parameter type-id='type-id-1090' name='fb' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2712' column='1'/>
+        <parameter type-id='type-id-11' name='crtc_x' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2713' column='1'/>
+        <parameter type-id='type-id-11' name='crtc_y' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2713' column='1'/>
+        <parameter type-id='type-id-10' name='crtc_w' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2714' column='1'/>
+        <parameter type-id='type-id-10' name='crtc_h' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2714' column='1'/>
+        <parameter type-id='type-id-193' name='src_x' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2715' column='1'/>
+        <parameter type-id='type-id-193' name='src_y' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2715' column='1'/>
+        <parameter type-id='type-id-193' name='src_w' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2716' column='1'/>
+        <parameter type-id='type-id-193' name='src_h' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2716' column='1'/>
+        <parameter type-id='type-id-1088' name='ctx' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2717' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_atomic_helper_disable_plane' mangled-name='drm_atomic_helper_disable_plane' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2767' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_disable_plane'>
+        <parameter type-id='type-id-1085' name='plane' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2767' column='1'/>
+        <parameter type-id='type-id-1088' name='ctx' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2768' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__drm_atomic_helper_disable_plane' mangled-name='__drm_atomic_helper_disable_plane' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2800' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__drm_atomic_helper_disable_plane'>
+        <parameter type-id='type-id-1085' name='plane' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2800' column='1'/>
+        <parameter type-id='type-id-1086' name='plane_state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2801' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_atomic_helper_set_config' mangled-name='drm_atomic_helper_set_config' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2904' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_set_config'>
+        <parameter type-id='type-id-1091' name='set' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2904' column='1'/>
+        <parameter type-id='type-id-1088' name='ctx' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2905' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__drm_atomic_helper_set_config' mangled-name='__drm_atomic_helper_set_config' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2933' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__drm_atomic_helper_set_config'>
+        <parameter type-id='type-id-1091' name='set' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2933' column='1'/>
+        <parameter type-id='type-id-1080' name='state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2934' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_atomic_helper_shutdown' mangled-name='drm_atomic_helper_shutdown' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3109' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_shutdown'>
+        <parameter type-id='type-id-1073' name='dev' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3109' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_atomic_helper_commit_duplicated_state' mangled-name='drm_atomic_helper_commit_duplicated_state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3212' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_commit_duplicated_state'>
+        <parameter type-id='type-id-1080' name='state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3212' column='1'/>
+        <parameter type-id='type-id-1088' name='ctx' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3213' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_atomic_helper_page_flip' mangled-name='drm_atomic_helper_page_flip' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3343' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_page_flip'>
+        <parameter type-id='type-id-1083' name='crtc' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3343' column='1'/>
+        <parameter type-id='type-id-1090' name='fb' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3344' column='1'/>
+        <parameter type-id='type-id-1084' name='event' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3345' column='1'/>
+        <parameter type-id='type-id-193' name='flags' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3346' column='1'/>
+        <parameter type-id='type-id-1088' name='ctx' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3347' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__drm_atomic_helper_crtc_destroy_state' mangled-name='__drm_atomic_helper_crtc_destroy_state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3544' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__drm_atomic_helper_crtc_destroy_state'>
+        <parameter type-id='type-id-1087' name='state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3544' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__drm_atomic_helper_crtc_duplicate_state' mangled-name='__drm_atomic_helper_crtc_duplicate_state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3488' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__drm_atomic_helper_crtc_duplicate_state'>
+        <parameter type-id='type-id-1083' name='crtc' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3488' column='1'/>
+        <parameter type-id='type-id-1087' name='state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3489' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__drm_atomic_helper_plane_duplicate_state' mangled-name='__drm_atomic_helper_plane_duplicate_state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3622' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__drm_atomic_helper_plane_duplicate_state'>
+        <parameter type-id='type-id-1085' name='plane' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3622' column='1'/>
+        <parameter type-id='type-id-1086' name='state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3623' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__drm_atomic_helper_connector_reset' mangled-name='__drm_atomic_helper_connector_reset' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3708' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__drm_atomic_helper_connector_reset'>
+        <parameter type-id='type-id-1074' name='connector' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3708' column='1'/>
+        <parameter type-id='type-id-1089' name='conn_state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3709' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_atomic_helper_connector_reset' mangled-name='drm_atomic_helper_connector_reset' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3726' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_connector_reset'>
+        <parameter type-id='type-id-1074' name='connector' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3726' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__drm_atomic_helper_connector_destroy_state' mangled-name='__drm_atomic_helper_connector_destroy_state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3880' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__drm_atomic_helper_connector_destroy_state'>
+        <parameter type-id='type-id-1089' name='state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3880' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__drm_atomic_helper_connector_duplicate_state' mangled-name='__drm_atomic_helper_connector_duplicate_state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3748' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__drm_atomic_helper_connector_duplicate_state'>
+        <parameter type-id='type-id-1074' name='connector' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3748' column='1'/>
+        <parameter type-id='type-id-1089' name='state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3749' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_atomic_helper_connector_duplicate_state' mangled-name='drm_atomic_helper_connector_duplicate_state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3769' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_connector_duplicate_state'>
+        <parameter type-id='type-id-1074' name='connector' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3769' column='1'/>
+        <return type-id='type-id-1089'/>
+      </function-decl>
+      <function-decl name='drm_atomic_helper_connector_destroy_state' mangled-name='drm_atomic_helper_connector_destroy_state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3898' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_connector_destroy_state'>
+        <parameter type-id='type-id-1074' name='connector' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3898' column='1'/>
+        <parameter type-id='type-id-1089' name='state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3899' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_blend.c' language='LANG_C89'>
+      <function-decl name='drm_property_create_bitmask' mangled-name='drm_property_create_bitmask' filepath='include/drm/drm_property.h' line='247' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_property_create_bitmask'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-1092'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-177'/>
+        <return type-id='type-id-1093'/>
+      </function-decl>
+      <function-decl name='drm_plane_create_rotation_property' mangled-name='drm_plane_create_rotation_property' filepath='drivers/gpu/drm/drm_blend.c' line='181' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_plane_create_rotation_property'>
+        <parameter type-id='type-id-1085' name='plane' filepath='drivers/gpu/drm/drm_blend.c' line='181' column='1'/>
+        <parameter type-id='type-id-10' name='rotation' filepath='drivers/gpu/drm/drm_blend.c' line='182' column='1'/>
+        <parameter type-id='type-id-10' name='supported_rotations' filepath='drivers/gpu/drm/drm_blend.c' line='183' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_rotation_simplify' mangled-name='drm_rotation_simplify' filepath='drivers/gpu/drm/drm_blend.c' line='234' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_rotation_simplify'>
+        <parameter type-id='type-id-10' name='rotation' filepath='drivers/gpu/drm/drm_blend.c' line='234' column='1'/>
+        <parameter type-id='type-id-10' name='supported_rotations' filepath='drivers/gpu/drm/drm_blend.c' line='235' column='1'/>
+        <return type-id='type-id-10'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_bridge.c' language='LANG_C89'>
+      <class-decl name='drm_device' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1094'/>
+      <class-decl name='drm_pending_vblank_event' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1095'/>
+      <pointer-type-def type-id='type-id-1094' size-in-bits='64' id='type-id-1096'/>
+      <pointer-type-def type-id='type-id-1095' size-in-bits='64' id='type-id-1097'/>
+      <function-decl name='of_drm_find_bridge' mangled-name='of_drm_find_bridge' filepath='drivers/gpu/drm/drm_bridge.c' line='361' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_drm_find_bridge'>
+        <parameter type-id='type-id-81' name='np' filepath='drivers/gpu/drm/drm_bridge.c' line='361' column='1'/>
+        <return type-id='type-id-1098'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_bufs.c' language='LANG_C89'>
+      <class-decl name='drm_hash_item' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/drm/drm_hashtab.h' line='42' column='1' id='type-id-1099'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='head' type-id='type-id-378' visibility='default' filepath='include/drm/drm_hashtab.h' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='key' type-id='type-id-100' visibility='default' filepath='include/drm/drm_hashtab.h' line='44' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-1099' size-in-bits='64' id='type-id-1100'/>
+      <pointer-type-def type-id='type-id-1101' size-in-bits='64' id='type-id-1102'/>
+      <function-decl name='drm_ht_insert_item' mangled-name='drm_ht_insert_item' filepath='include/drm/drm_hashtab.h' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_ht_insert_item'>
+        <parameter type-id='type-id-1102'/>
+        <parameter type-id='type-id-1100'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_ht_just_insert_please' mangled-name='drm_ht_just_insert_please' filepath='include/drm/drm_hashtab.h' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_ht_just_insert_please'>
+        <parameter type-id='type-id-1102'/>
+        <parameter type-id='type-id-1100'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_cache.c' language='LANG_C89'>
+      <function-decl name='drm_clflush_pages' mangled-name='drm_clflush_pages' filepath='drivers/gpu/drm/drm_cache.c' line='81' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_clflush_pages'>
+        <parameter type-id='type-id-260' name='pages' filepath='drivers/gpu/drm/drm_cache.c' line='81' column='1'/>
+        <parameter type-id='type-id-100' name='num_pages' filepath='drivers/gpu/drm/drm_cache.c' line='81' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_connector.c' language='LANG_C89'>
+      <class-decl name='drm_prop_enum_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/drm/drm_property.h' line='215' column='1' id='type-id-1103'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-11' visibility='default' filepath='include/drm/drm_property.h' line='216' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/drm/drm_property.h' line='217' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-1103' const='yes' id='type-id-1104'/>
+      <pointer-type-def type-id='type-id-1104' size-in-bits='64' id='type-id-1092'/>
+      <function-decl name='drm_connector_attach_edid_property' mangled-name='drm_connector_attach_edid_property' filepath='include/drm/drm_connector.h' line='1086' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_connector_attach_edid_property'>
+        <parameter type-id='type-id-1074'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_connector_unregister' mangled-name='drm_connector_unregister' filepath='include/drm/drm_connector.h' line='1088' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_connector_unregister'>
+        <parameter type-id='type-id-1074'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_property_create' mangled-name='drm_property_create' filepath='include/drm/drm_property.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_property_create'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-1093'/>
+      </function-decl>
+      <function-decl name='drm_property_create_enum' mangled-name='drm_property_create_enum' filepath='include/drm/drm_property.h' line='243' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_property_create_enum'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-1092'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-1093'/>
+      </function-decl>
+      <function-decl name='drm_property_create_range' mangled-name='drm_property_create_range' filepath='include/drm/drm_property.h' line='252' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_property_create_range'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-177'/>
+        <parameter type-id='type-id-177'/>
+        <return type-id='type-id-1093'/>
+      </function-decl>
+      <function-decl name='drm_connector_cleanup' mangled-name='drm_connector_cleanup' filepath='drivers/gpu/drm/drm_connector.c' line='387' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_connector_cleanup'>
+        <parameter type-id='type-id-1074' name='connector' filepath='drivers/gpu/drm/drm_connector.c' line='387' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_connector_register' mangled-name='drm_connector_register' filepath='drivers/gpu/drm/drm_connector.c' line='444' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_connector_register'>
+        <parameter type-id='type-id-1074' name='connector' filepath='drivers/gpu/drm/drm_connector.c' line='444' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_crtc.c' language='LANG_C89'>
+      <class-decl name='drm_encoder' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1105'/>
+      <class-decl name='drm_mode_modeinfo' size-in-bits='544' is-struct='yes' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='212' column='1' id='type-id-1106'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='clock' type-id='type-id-266' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='213' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='hdisplay' type-id='type-id-1107' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='214' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='hsync_start' type-id='type-id-1107' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='215' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='hsync_end' type-id='type-id-1107' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='216' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='80'>
+          <var-decl name='htotal' type-id='type-id-1107' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='217' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='hskew' type-id='type-id-1107' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='218' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='112'>
+          <var-decl name='vdisplay' type-id='type-id-1107' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='219' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='vsync_start' type-id='type-id-1107' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='220' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='144'>
+          <var-decl name='vsync_end' type-id='type-id-1107' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='221' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='vtotal' type-id='type-id-1107' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='222' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='176'>
+          <var-decl name='vscan' type-id='type-id-1107' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='223' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='vrefresh' type-id='type-id-266' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='225' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='flags' type-id='type-id-266' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='227' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='type' type-id='type-id-266' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='228' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='name' type-id='type-id-650' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='229' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/drm/drm_vblank.h' line='57' column='1' id='type-id-1108'>
+        <data-member access='private'>
+          <var-decl name='base' type-id='type-id-1109' visibility='default' filepath='include/drm/drm_vblank.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='vbl' type-id='type-id-1110' visibility='default' filepath='include/drm/drm_vblank.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='seq' type-id='type-id-1111' visibility='default' filepath='include/drm/drm_vblank.h' line='76' column='1'/>
+        </data-member>
+      </union-decl>
+      <qualified-type-def type-id='type-id-1106' const='yes' id='type-id-1112'/>
+      <pointer-type-def type-id='type-id-1112' size-in-bits='64' id='type-id-1113'/>
+      <pointer-type-def type-id='type-id-1105' size-in-bits='64' id='type-id-1114'/>
+      <function-decl name='dma_fence_init' mangled-name='dma_fence_init' filepath='include/linux/dma-fence.h' line='246' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_fence_init'>
+        <parameter type-id='type-id-893'/>
+        <parameter type-id='type-id-1115'/>
+        <parameter type-id='type-id-1116'/>
+        <parameter type-id='type-id-177'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='dma_fence_context_alloc' mangled-name='dma_fence_context_alloc' filepath='include/linux/dma-fence.h' line='544' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_fence_context_alloc'>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-177'/>
+      </function-decl>
+      <function-decl name='drm_object_attach_property' mangled-name='drm_object_attach_property' filepath='include/drm/drm_mode_object.h' line='130' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_object_attach_property'>
+        <parameter type-id='type-id-1117'/>
+        <parameter type-id='type-id-1093'/>
+        <parameter type-id='type-id-177'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_framebuffer_lookup' mangled-name='drm_framebuffer_lookup' filepath='include/drm/drm_framebuffer.h' line='213' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_framebuffer_lookup'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-1118'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-1090'/>
+      </function-decl>
+      <function-decl name='drm_mode_create' mangled-name='drm_mode_create' filepath='include/drm/drm_modes.h' line='462' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_mode_create'>
+        <parameter type-id='type-id-1073'/>
+        <return type-id='type-id-1119'/>
+      </function-decl>
+      <function-decl name='drm_mode_convert_umode' mangled-name='drm_mode_convert_umode' filepath='include/drm/drm_modes.h' line='466' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_mode_convert_umode'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-1119'/>
+        <parameter type-id='type-id-1113'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_object_property_set_value' mangled-name='drm_object_property_set_value' filepath='include/drm/drm_mode_object.h' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_object_property_set_value'>
+        <parameter type-id='type-id-1117'/>
+        <parameter type-id='type-id-1093'/>
+        <parameter type-id='type-id-177'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_crtc_cleanup' mangled-name='drm_crtc_cleanup' filepath='drivers/gpu/drm/drm_crtc.c' line='354' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_crtc_cleanup'>
+        <parameter type-id='type-id-1083' name='crtc' filepath='drivers/gpu/drm/drm_crtc.c' line='354' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_crtc_helper.c' language='LANG_C89'>
+
+
+      <array-type-def dimensions='1' type-id='type-id-1120' size-in-bits='256' id='type-id-1121'>
+        <subrange length='4' type-id='type-id-5' id='type-id-281'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-1122' size-in-bits='112' id='type-id-1123'>
+        <subrange length='14' type-id='type-id-5' id='type-id-1124'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-1122' size-in-bits='32' id='type-id-1125'>
+        <subrange length='4' type-id='type-id-5' id='type-id-281'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-211' size-in-bits='16' id='type-id-1126'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-475' size-in-bits='480' id='type-id-1127'>
+        <subrange length='60' type-id='type-id-5' id='type-id-1128'/>
+
+      </array-type-def>
+      <class-decl name='agp_bridge_data' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1129'/>
+      <class-decl name='dma_buf' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1130'/>
+      <class-decl name='dma_buf_attachment' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1131'/>
+      <class-decl name='drm_device_dma' size-in-bits='7744' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1132'/>
+      <class-decl name='drm_gem_object' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1133'/>
+      <class-decl name='drm_local_map' size-in-bits='320' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1134'/>
+      <class-decl name='drm_master' size-in-bits='1792' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1135'/>
+      <class-decl name='drm_sg_mem' size-in-bits='320' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1136'/>
+      <class-decl name='drm_vma_offset_manager' size-in-bits='1920' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1137'/>
+      <class-decl name='drm_writeback_job' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1138'/>
+      <class-decl name='reservation_object' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1139'/>
+      <array-type-def dimensions='1' type-id='type-id-1140' size-in-bits='256' id='type-id-1141'>
+        <subrange length='4' type-id='type-id-5' id='type-id-281'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-1093' size-in-bits='1536' id='type-id-1142'>
+        <subrange length='24' type-id='type-id-5' id='type-id-1143'/>
+
+      </array-type-def>
+      <typedef-decl name='__builtin_va_list' type-id='type-id-1144' id='type-id-1145'/>
+      <array-type-def dimensions='1' type-id='type-id-9' size-in-bits='544' id='type-id-1146'>
+        <subrange length='17' type-id='type-id-5' id='type-id-647'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-193' size-in-bits='320' id='type-id-1147'>
+        <subrange length='10' type-id='type-id-5' id='type-id-1148'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-193' size-in-bits='96' id='type-id-1149'>
+        <subrange length='3' type-id='type-id-5' id='type-id-1015'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-1150' size-in-bits='1536' id='type-id-1151'>
+        <subrange length='24' type-id='type-id-5' id='type-id-1143'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-1152' size-in-bits='1024' id='type-id-1153'>
+        <subrange length='128' type-id='type-id-5' id='type-id-1154'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='128' id='type-id-1155'>
+        <subrange length='4' type-id='type-id-5' id='type-id-281'/>
+
+      </array-type-def>
+      <class-decl name='drm_device' size-in-bits='13312' is-struct='yes' visibility='default' filepath='include/drm/drm_device.h' line='31' column='1' id='type-id-1156'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='legacy_dev_list' type-id='type-id-8' visibility='default' filepath='include/drm/drm_device.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='if_version' type-id='type-id-11' visibility='default' filepath='include/drm/drm_device.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='ref' type-id='type-id-771' visibility='default' filepath='include/drm/drm_device.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/drm/drm_device.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='driver' type-id='type-id-1157' visibility='default' filepath='include/drm/drm_device.h' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='dev_private' type-id='type-id-3' visibility='default' filepath='include/drm/drm_device.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='primary' type-id='type-id-1158' visibility='default' filepath='include/drm/drm_device.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='render' type-id='type-id-1158' visibility='default' filepath='include/drm/drm_device.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='registered' type-id='type-id-211' visibility='default' filepath='include/drm/drm_device.h' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='master' type-id='type-id-1159' visibility='default' filepath='include/drm/drm_device.h' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='unplugged' type-id='type-id-211' visibility='default' filepath='include/drm/drm_device.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='anon_inode' type-id='type-id-1160' visibility='default' filepath='include/drm/drm_device.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='unique' type-id='type-id-300' visibility='default' filepath='include/drm/drm_device.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='struct_mutex' type-id='type-id-407' visibility='default' filepath='include/drm/drm_device.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='master_mutex' type-id='type-id-407' visibility='default' filepath='include/drm/drm_device.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='open_count' type-id='type-id-11' visibility='default' filepath='include/drm/drm_device.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1376'>
+          <var-decl name='buf_lock' type-id='type-id-106' visibility='default' filepath='include/drm/drm_device.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='buf_use' type-id='type-id-11' visibility='default' filepath='include/drm/drm_device.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1440'>
+          <var-decl name='buf_alloc' type-id='type-id-137' visibility='default' filepath='include/drm/drm_device.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='filelist_mutex' type-id='type-id-407' visibility='default' filepath='include/drm/drm_device.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='filelist' type-id='type-id-8' visibility='default' filepath='include/drm/drm_device.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='filelist_internal' type-id='type-id-8' visibility='default' filepath='include/drm/drm_device.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='clientlist_mutex' type-id='type-id-407' visibility='default' filepath='include/drm/drm_device.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='clientlist' type-id='type-id-8' visibility='default' filepath='include/drm/drm_device.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='maplist' type-id='type-id-8' visibility='default' filepath='include/drm/drm_device.h' line='100' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='map_hash' type-id='type-id-1101' visibility='default' filepath='include/drm/drm_device.h' line='101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2624'>
+          <var-decl name='ctxlist' type-id='type-id-8' visibility='default' filepath='include/drm/drm_device.h' line='105' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2752'>
+          <var-decl name='ctxlist_mutex' type-id='type-id-407' visibility='default' filepath='include/drm/drm_device.h' line='106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3008'>
+          <var-decl name='ctx_idr' type-id='type-id-1161' visibility='default' filepath='include/drm/drm_device.h' line='108' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3200'>
+          <var-decl name='vmalist' type-id='type-id-8' visibility='default' filepath='include/drm/drm_device.h' line='110' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3328'>
+          <var-decl name='dma' type-id='type-id-1162' visibility='default' filepath='include/drm/drm_device.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3392'>
+          <var-decl name='context_flag' type-id='type-id-1163' visibility='default' filepath='include/drm/drm_device.h' line='122' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3456'>
+          <var-decl name='last_context' type-id='type-id-11' visibility='default' filepath='include/drm/drm_device.h' line='123' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3488'>
+          <var-decl name='irq_enabled' type-id='type-id-211' visibility='default' filepath='include/drm/drm_device.h' line='133' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3520'>
+          <var-decl name='irq' type-id='type-id-11' visibility='default' filepath='include/drm/drm_device.h' line='134' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3552'>
+          <var-decl name='vblank_disable_immediate' type-id='type-id-211' visibility='default' filepath='include/drm/drm_device.h' line='149' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3584'>
+          <var-decl name='vblank' type-id='type-id-1164' visibility='default' filepath='include/drm/drm_device.h' line='159' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3648'>
+          <var-decl name='vblank_time_lock' type-id='type-id-106' visibility='default' filepath='include/drm/drm_device.h' line='161' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3680'>
+          <var-decl name='vbl_lock' type-id='type-id-106' visibility='default' filepath='include/drm/drm_device.h' line='162' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3712'>
+          <var-decl name='max_vblank_count' type-id='type-id-9' visibility='default' filepath='include/drm/drm_device.h' line='185' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3776'>
+          <var-decl name='vblank_event_list' type-id='type-id-8' visibility='default' filepath='include/drm/drm_device.h' line='190' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3904'>
+          <var-decl name='event_lock' type-id='type-id-106' visibility='default' filepath='include/drm/drm_device.h' line='191' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3968'>
+          <var-decl name='agp' type-id='type-id-1165' visibility='default' filepath='include/drm/drm_device.h' line='195' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4032'>
+          <var-decl name='pdev' type-id='type-id-302' visibility='default' filepath='include/drm/drm_device.h' line='197' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4096'>
+          <var-decl name='sg' type-id='type-id-1166' visibility='default' filepath='include/drm/drm_device.h' line='202' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4160'>
+          <var-decl name='num_crtcs' type-id='type-id-10' visibility='default' filepath='include/drm/drm_device.h' line='203' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4224'>
+          <var-decl name='sigdata' type-id='type-id-1167' visibility='default' filepath='include/drm/drm_device.h' line='208' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4352'>
+          <var-decl name='agp_buffer_map' type-id='type-id-1168' visibility='default' filepath='include/drm/drm_device.h' line='210' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4416'>
+          <var-decl name='agp_buffer_token' type-id='type-id-10' visibility='default' filepath='include/drm/drm_device.h' line='211' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4480'>
+          <var-decl name='mode_config' type-id='type-id-1169' visibility='default' filepath='include/drm/drm_device.h' line='213' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12672'>
+          <var-decl name='object_name_lock' type-id='type-id-407' visibility='default' filepath='include/drm/drm_device.h' line='217' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12928'>
+          <var-decl name='object_name_idr' type-id='type-id-1161' visibility='default' filepath='include/drm/drm_device.h' line='218' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13120'>
+          <var-decl name='vma_offset_manager' type-id='type-id-1170' visibility='default' filepath='include/drm/drm_device.h' line='219' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13184'>
+          <var-decl name='switch_power_state' type-id='type-id-11' visibility='default' filepath='include/drm/drm_device.h' line='221' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13248'>
+          <var-decl name='fb_helper' type-id='type-id-1171' visibility='default' filepath='include/drm/drm_device.h' line='229' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_driver' size-in-bits='3776' is-struct='yes' visibility='default' filepath='include/drm/drm_drv.h' line='70' column='1' id='type-id-1172'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='load' type-id='type-id-1173' visibility='default' filepath='include/drm/drm_drv.h' line='88' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='open' type-id='type-id-1174' visibility='default' filepath='include/drm/drm_drv.h' line='108' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='postclose' type-id='type-id-1175' visibility='default' filepath='include/drm/drm_drv.h' line='122' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='lastclose' type-id='type-id-1176' visibility='default' filepath='include/drm/drm_drv.h' line='150' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='unload' type-id='type-id-1176' visibility='default' filepath='include/drm/drm_drv.h' line='167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='release' type-id='type-id-1176' visibility='default' filepath='include/drm/drm_drv.h' line='177' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='get_vblank_counter' type-id='type-id-1177' visibility='default' filepath='include/drm/drm_drv.h' line='200' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='enable_vblank' type-id='type-id-1178' visibility='default' filepath='include/drm/drm_drv.h' line='216' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='disable_vblank' type-id='type-id-1179' visibility='default' filepath='include/drm/drm_drv.h' line='227' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='get_scanout_position' type-id='type-id-1180' visibility='default' filepath='include/drm/drm_drv.h' line='279' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='get_vblank_timestamp' type-id='type-id-1181' visibility='default' filepath='include/drm/drm_drv.h' line='327' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='irq_handler' type-id='type-id-1182' visibility='default' filepath='include/drm/drm_drv.h' line='338' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='irq_preinstall' type-id='type-id-1176' visibility='default' filepath='include/drm/drm_drv.h' line='348' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='irq_postinstall' type-id='type-id-1183' visibility='default' filepath='include/drm/drm_drv.h' line='357' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='irq_uninstall' type-id='type-id-1176' visibility='default' filepath='include/drm/drm_drv.h' line='366' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='master_create' type-id='type-id-1184' visibility='default' filepath='include/drm/drm_drv.h' line='373' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='master_destroy' type-id='type-id-1185' visibility='default' filepath='include/drm/drm_drv.h' line='380' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='master_set' type-id='type-id-1186' visibility='default' filepath='include/drm/drm_drv.h' line='387' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='master_drop' type-id='type-id-1175' visibility='default' filepath='include/drm/drm_drv.h' line='394' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='debugfs_init' type-id='type-id-1187' visibility='default' filepath='include/drm/drm_drv.h' line='401' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='gem_free_object' type-id='type-id-1188' visibility='default' filepath='include/drm/drm_drv.h' line='409' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='gem_free_object_unlocked' type-id='type-id-1188' visibility='default' filepath='include/drm/drm_drv.h' line='417' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='gem_open_object' type-id='type-id-1189' visibility='default' filepath='include/drm/drm_drv.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='gem_close_object' type-id='type-id-1190' visibility='default' filepath='include/drm/drm_drv.h' line='431' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='gem_print_info' type-id='type-id-1191' visibility='default' filepath='include/drm/drm_drv.h' line='444' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='gem_create_object' type-id='type-id-1192' visibility='default' filepath='include/drm/drm_drv.h' line='453' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='prime_handle_to_fd' type-id='type-id-1193' visibility='default' filepath='include/drm/drm_drv.h' line='462' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='prime_fd_to_handle' type-id='type-id-1194' visibility='default' filepath='include/drm/drm_drv.h' line='469' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='gem_prime_export' type-id='type-id-1195' visibility='default' filepath='include/drm/drm_drv.h' line='476' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='gem_prime_import' type-id='type-id-1196' visibility='default' filepath='include/drm/drm_drv.h' line='483' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='gem_prime_pin' type-id='type-id-1197' visibility='default' filepath='include/drm/drm_drv.h' line='485' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='gem_prime_unpin' type-id='type-id-1188' visibility='default' filepath='include/drm/drm_drv.h' line='486' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='gem_prime_res_obj' type-id='type-id-1198' visibility='default' filepath='include/drm/drm_drv.h' line='487' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='gem_prime_get_sg_table' type-id='type-id-1199' visibility='default' filepath='include/drm/drm_drv.h' line='489' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='gem_prime_import_sg_table' type-id='type-id-1200' visibility='default' filepath='include/drm/drm_drv.h' line='490' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='gem_prime_vmap' type-id='type-id-1201' visibility='default' filepath='include/drm/drm_drv.h' line='494' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='gem_prime_vunmap' type-id='type-id-1202' visibility='default' filepath='include/drm/drm_drv.h' line='495' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='gem_prime_mmap' type-id='type-id-1203' visibility='default' filepath='include/drm/drm_drv.h' line='496' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='dumb_create' type-id='type-id-1204' visibility='default' filepath='include/drm/drm_drv.h' line='520' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='dumb_map_offset' type-id='type-id-1205' visibility='default' filepath='include/drm/drm_drv.h' line='536' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='dumb_destroy' type-id='type-id-1206' visibility='default' filepath='include/drm/drm_drv.h' line='552' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2624'>
+          <var-decl name='gem_vm_ops' type-id='type-id-1207' visibility='default' filepath='include/drm/drm_drv.h' line='559' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2688'>
+          <var-decl name='major' type-id='type-id-11' visibility='default' filepath='include/drm/drm_drv.h' line='562' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2720'>
+          <var-decl name='minor' type-id='type-id-11' visibility='default' filepath='include/drm/drm_drv.h' line='564' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2752'>
+          <var-decl name='patchlevel' type-id='type-id-11' visibility='default' filepath='include/drm/drm_drv.h' line='566' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2816'>
+          <var-decl name='name' type-id='type-id-300' visibility='default' filepath='include/drm/drm_drv.h' line='568' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2880'>
+          <var-decl name='desc' type-id='type-id-300' visibility='default' filepath='include/drm/drm_drv.h' line='570' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2944'>
+          <var-decl name='date' type-id='type-id-300' visibility='default' filepath='include/drm/drm_drv.h' line='572' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3008'>
+          <var-decl name='driver_features' type-id='type-id-9' visibility='default' filepath='include/drm/drm_drv.h' line='575' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3072'>
+          <var-decl name='ioctls' type-id='type-id-1208' visibility='default' filepath='include/drm/drm_drv.h' line='585' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3136'>
+          <var-decl name='num_ioctls' type-id='type-id-11' visibility='default' filepath='include/drm/drm_drv.h' line='587' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3200'>
+          <var-decl name='fops' type-id='type-id-1209' visibility='default' filepath='include/drm/drm_drv.h' line='596' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3264'>
+          <var-decl name='legacy_dev_list' type-id='type-id-8' visibility='default' filepath='include/drm/drm_drv.h' line='602' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3392'>
+          <var-decl name='firstopen' type-id='type-id-1183' visibility='default' filepath='include/drm/drm_drv.h' line='603' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3456'>
+          <var-decl name='preclose' type-id='type-id-1175' visibility='default' filepath='include/drm/drm_drv.h' line='604' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3520'>
+          <var-decl name='dma_ioctl' type-id='type-id-1210' visibility='default' filepath='include/drm/drm_drv.h' line='605' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3584'>
+          <var-decl name='dma_quiescent' type-id='type-id-1183' visibility='default' filepath='include/drm/drm_drv.h' line='606' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3648'>
+          <var-decl name='context_dtor' type-id='type-id-1211' visibility='default' filepath='include/drm/drm_drv.h' line='607' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3712'>
+          <var-decl name='dev_priv_size' type-id='type-id-11' visibility='default' filepath='include/drm/drm_drv.h' line='608' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_file' size-in-bits='2816' is-struct='yes' visibility='default' filepath='include/drm/drm_file.h' line='157' column='1' id='type-id-1212'>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='authenticated' type-id='type-id-10' visibility='default' filepath='include/drm/drm_file.h' line='167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='stereo_allowed' type-id='type-id-10' visibility='default' filepath='include/drm/drm_file.h' line='174' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='29'>
+          <var-decl name='universal_planes' type-id='type-id-10' visibility='default' filepath='include/drm/drm_file.h' line='182' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='28'>
+          <var-decl name='atomic' type-id='type-id-10' visibility='default' filepath='include/drm/drm_file.h' line='185' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='27'>
+          <var-decl name='aspect_ratio_allowed' type-id='type-id-10' visibility='default' filepath='include/drm/drm_file.h' line='193' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='26'>
+          <var-decl name='writeback_connectors' type-id='type-id-10' visibility='default' filepath='include/drm/drm_file.h' line='200' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='25'>
+          <var-decl name='is_master' type-id='type-id-10' visibility='default' filepath='include/drm/drm_file.h' line='211' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='master' type-id='type-id-1159' visibility='default' filepath='include/drm/drm_file.h' line='223' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='pid' type-id='type-id-1213' visibility='default' filepath='include/drm/drm_file.h' line='226' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='magic' type-id='type-id-1214' visibility='default' filepath='include/drm/drm_file.h' line='229' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='lhead' type-id='type-id-8' visibility='default' filepath='include/drm/drm_file.h' line='237' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='minor' type-id='type-id-1158' visibility='default' filepath='include/drm/drm_file.h' line='240' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='object_idr' type-id='type-id-1161' visibility='default' filepath='include/drm/drm_file.h' line='248' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='table_lock' type-id='type-id-106' visibility='default' filepath='include/drm/drm_file.h' line='251' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='syncobj_idr' type-id='type-id-1161' visibility='default' filepath='include/drm/drm_file.h' line='254' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='syncobj_table_lock' type-id='type-id-106' visibility='default' filepath='include/drm/drm_file.h' line='256' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='filp' type-id='type-id-147' visibility='default' filepath='include/drm/drm_file.h' line='259' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='driver_priv' type-id='type-id-3' visibility='default' filepath='include/drm/drm_file.h' line='267' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='fbs' type-id='type-id-8' visibility='default' filepath='include/drm/drm_file.h' line='278' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='fbs_lock' type-id='type-id-407' visibility='default' filepath='include/drm/drm_file.h' line='281' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='blobs' type-id='type-id-8' visibility='default' filepath='include/drm/drm_file.h' line='291' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='event_wait' type-id='type-id-388' visibility='default' filepath='include/drm/drm_file.h' line='294' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='pending_event_list' type-id='type-id-8' visibility='default' filepath='include/drm/drm_file.h' line='305' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='event_list' type-id='type-id-8' visibility='default' filepath='include/drm/drm_file.h' line='315' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='event_space' type-id='type-id-11' visibility='default' filepath='include/drm/drm_file.h' line='324' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='event_read_lock' type-id='type-id-407' visibility='default' filepath='include/drm/drm_file.h' line='327' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='prime' type-id='type-id-1215' visibility='default' filepath='include/drm/drm_file.h' line='334' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2752'>
+          <var-decl name='lock_count' type-id='type-id-100' visibility='default' filepath='include/drm/drm_file.h' line='337' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='drm_magic_t' type-id='type-id-10' filepath='include/uapi/drm/drm.h' line='85' column='1' id='type-id-1214'/>
+      <class-decl name='drm_minor' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/drm/drm_file.h' line='68' column='1' id='type-id-1216'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='index' type-id='type-id-11' visibility='default' filepath='include/drm/drm_file.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='type' type-id='type-id-11' visibility='default' filepath='include/drm/drm_file.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='kdev' type-id='type-id-86' visibility='default' filepath='include/drm/drm_file.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='dev' type-id='type-id-1073' visibility='default' filepath='include/drm/drm_file.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='debugfs_root' type-id='type-id-836' visibility='default' filepath='include/drm/drm_file.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='debugfs_list' type-id='type-id-8' visibility='default' filepath='include/drm/drm_file.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='debugfs_lock' type-id='type-id-407' visibility='default' filepath='include/drm/drm_file.h' line='78' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_prime_file_private' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/drm/drm_prime.h' line='46' column='1' id='type-id-1215'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-407' visibility='default' filepath='include/drm/drm_prime.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='dmabufs' type-id='type-id-133' visibility='default' filepath='include/drm/drm_prime.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='handles' type-id='type-id-133' visibility='default' filepath='include/drm/drm_prime.h' line='50' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_display_mode' size-in-bits='1920' is-struct='yes' visibility='default' filepath='include/drm/drm_modes.h' line='208' column='1' id='type-id-1217'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='head' type-id='type-id-8' visibility='default' filepath='include/drm/drm_modes.h' line='214' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='base' type-id='type-id-1218' visibility='default' filepath='include/drm/drm_modes.h' line='228' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='name' type-id='type-id-650' visibility='default' filepath='include/drm/drm_modes.h' line='235' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='status' type-id='type-id-1219' visibility='default' filepath='include/drm/drm_modes.h' line='243' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='672'>
+          <var-decl name='type' type-id='type-id-10' visibility='default' filepath='include/drm/drm_modes.h' line='271' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='clock' type-id='type-id-11' visibility='default' filepath='include/drm/drm_modes.h' line='278' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='736'>
+          <var-decl name='hdisplay' type-id='type-id-11' visibility='default' filepath='include/drm/drm_modes.h' line='279' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='hsync_start' type-id='type-id-11' visibility='default' filepath='include/drm/drm_modes.h' line='280' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='800'>
+          <var-decl name='hsync_end' type-id='type-id-11' visibility='default' filepath='include/drm/drm_modes.h' line='281' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='htotal' type-id='type-id-11' visibility='default' filepath='include/drm/drm_modes.h' line='282' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='864'>
+          <var-decl name='hskew' type-id='type-id-11' visibility='default' filepath='include/drm/drm_modes.h' line='283' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='vdisplay' type-id='type-id-11' visibility='default' filepath='include/drm/drm_modes.h' line='284' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='928'>
+          <var-decl name='vsync_start' type-id='type-id-11' visibility='default' filepath='include/drm/drm_modes.h' line='285' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='vsync_end' type-id='type-id-11' visibility='default' filepath='include/drm/drm_modes.h' line='286' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='992'>
+          <var-decl name='vtotal' type-id='type-id-11' visibility='default' filepath='include/drm/drm_modes.h' line='287' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='vscan' type-id='type-id-11' visibility='default' filepath='include/drm/drm_modes.h' line='288' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1056'>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='include/drm/drm_modes.h' line='323' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='width_mm' type-id='type-id-11' visibility='default' filepath='include/drm/drm_modes.h' line='331' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1120'>
+          <var-decl name='height_mm' type-id='type-id-11' visibility='default' filepath='include/drm/drm_modes.h' line='339' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='crtc_clock' type-id='type-id-11' visibility='default' filepath='include/drm/drm_modes.h' line='356' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1184'>
+          <var-decl name='crtc_hdisplay' type-id='type-id-11' visibility='default' filepath='include/drm/drm_modes.h' line='357' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='crtc_hblank_start' type-id='type-id-11' visibility='default' filepath='include/drm/drm_modes.h' line='358' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1248'>
+          <var-decl name='crtc_hblank_end' type-id='type-id-11' visibility='default' filepath='include/drm/drm_modes.h' line='359' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='crtc_hsync_start' type-id='type-id-11' visibility='default' filepath='include/drm/drm_modes.h' line='360' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1312'>
+          <var-decl name='crtc_hsync_end' type-id='type-id-11' visibility='default' filepath='include/drm/drm_modes.h' line='361' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='crtc_htotal' type-id='type-id-11' visibility='default' filepath='include/drm/drm_modes.h' line='362' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1376'>
+          <var-decl name='crtc_hskew' type-id='type-id-11' visibility='default' filepath='include/drm/drm_modes.h' line='363' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='crtc_vdisplay' type-id='type-id-11' visibility='default' filepath='include/drm/drm_modes.h' line='364' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1440'>
+          <var-decl name='crtc_vblank_start' type-id='type-id-11' visibility='default' filepath='include/drm/drm_modes.h' line='365' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='crtc_vblank_end' type-id='type-id-11' visibility='default' filepath='include/drm/drm_modes.h' line='366' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1504'>
+          <var-decl name='crtc_vsync_start' type-id='type-id-11' visibility='default' filepath='include/drm/drm_modes.h' line='367' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='crtc_vsync_end' type-id='type-id-11' visibility='default' filepath='include/drm/drm_modes.h' line='368' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1568'>
+          <var-decl name='crtc_vtotal' type-id='type-id-11' visibility='default' filepath='include/drm/drm_modes.h' line='369' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='private' type-id='type-id-82' visibility='default' filepath='include/drm/drm_modes.h' line='379' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='private_flags' type-id='type-id-11' visibility='default' filepath='include/drm/drm_modes.h' line='386' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1696'>
+          <var-decl name='vrefresh' type-id='type-id-11' visibility='default' filepath='include/drm/drm_modes.h' line='396' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='hsync' type-id='type-id-11' visibility='default' filepath='include/drm/drm_modes.h' line='406' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1760'>
+          <var-decl name='picture_aspect_ratio' type-id='type-id-1220' visibility='default' filepath='include/drm/drm_modes.h' line='413' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='export_head' type-id='type-id-8' visibility='default' filepath='include/drm/drm_modes.h' line='426' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_mode_object' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/drm/drm_mode_object.h' line='55' column='1' id='type-id-1218'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='id' type-id='type-id-193' visibility='default' filepath='include/drm/drm_mode_object.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='type' type-id='type-id-193' visibility='default' filepath='include/drm/drm_mode_object.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='properties' type-id='type-id-1221' visibility='default' filepath='include/drm/drm_mode_object.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='refcount' type-id='type-id-771' visibility='default' filepath='include/drm/drm_mode_object.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='free_cb' type-id='type-id-1222' visibility='default' filepath='include/drm/drm_mode_object.h' line='60' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_object_properties' size-in-bits='3136' is-struct='yes' visibility='default' filepath='include/drm/drm_mode_object.h' line='67' column='1' id='type-id-1223'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='count' type-id='type-id-11' visibility='default' filepath='include/drm/drm_mode_object.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='properties' type-id='type-id-1142' visibility='default' filepath='include/drm/drm_mode_object.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='values' type-id='type-id-1151' visibility='default' filepath='include/drm/drm_mode_object.h' line='102' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_property' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/drm/drm_property.h' line='71' column='1' id='type-id-1224'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='head' type-id='type-id-8' visibility='default' filepath='include/drm/drm_property.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='base' type-id='type-id-1218' visibility='default' filepath='include/drm/drm_property.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='flags' type-id='type-id-193' visibility='default' filepath='include/drm/drm_property.h' line='156' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='name' type-id='type-id-650' visibility='default' filepath='include/drm/drm_property.h' line='161' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='672'>
+          <var-decl name='num_values' type-id='type-id-193' visibility='default' filepath='include/drm/drm_property.h' line='166' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='values' type-id='type-id-1225' visibility='default' filepath='include/drm/drm_property.h' line='174' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='dev' type-id='type-id-1073' visibility='default' filepath='include/drm/drm_property.h' line='179' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='enum_list' type-id='type-id-8' visibility='default' filepath='include/drm/drm_property.h' line='187' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='uint64_t' type-id='type-id-134' filepath='include/linux/types.h' line='112' column='1' id='type-id-1150'/>
+      <enum-decl name='drm_mode_status' filepath='include/drm/drm_modes.h' line='91' column='1' id='type-id-1219'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='MODE_OK' value='0'/>
+        <enumerator name='MODE_HSYNC' value='1'/>
+        <enumerator name='MODE_VSYNC' value='2'/>
+        <enumerator name='MODE_H_ILLEGAL' value='3'/>
+        <enumerator name='MODE_V_ILLEGAL' value='4'/>
+        <enumerator name='MODE_BAD_WIDTH' value='5'/>
+        <enumerator name='MODE_NOMODE' value='6'/>
+        <enumerator name='MODE_NO_INTERLACE' value='7'/>
+        <enumerator name='MODE_NO_DBLESCAN' value='8'/>
+        <enumerator name='MODE_NO_VSCAN' value='9'/>
+        <enumerator name='MODE_MEM' value='10'/>
+        <enumerator name='MODE_VIRTUAL_X' value='11'/>
+        <enumerator name='MODE_VIRTUAL_Y' value='12'/>
+        <enumerator name='MODE_MEM_VIRT' value='13'/>
+        <enumerator name='MODE_NOCLOCK' value='14'/>
+        <enumerator name='MODE_CLOCK_HIGH' value='15'/>
+        <enumerator name='MODE_CLOCK_LOW' value='16'/>
+        <enumerator name='MODE_CLOCK_RANGE' value='17'/>
+        <enumerator name='MODE_BAD_HVALUE' value='18'/>
+        <enumerator name='MODE_BAD_VVALUE' value='19'/>
+        <enumerator name='MODE_BAD_VSCAN' value='20'/>
+        <enumerator name='MODE_HSYNC_NARROW' value='21'/>
+        <enumerator name='MODE_HSYNC_WIDE' value='22'/>
+        <enumerator name='MODE_HBLANK_NARROW' value='23'/>
+        <enumerator name='MODE_HBLANK_WIDE' value='24'/>
+        <enumerator name='MODE_VSYNC_NARROW' value='25'/>
+        <enumerator name='MODE_VSYNC_WIDE' value='26'/>
+        <enumerator name='MODE_VBLANK_NARROW' value='27'/>
+        <enumerator name='MODE_VBLANK_WIDE' value='28'/>
+        <enumerator name='MODE_PANEL' value='29'/>
+        <enumerator name='MODE_INTERLACE_WIDTH' value='30'/>
+        <enumerator name='MODE_ONE_WIDTH' value='31'/>
+        <enumerator name='MODE_ONE_HEIGHT' value='32'/>
+        <enumerator name='MODE_ONE_SIZE' value='33'/>
+        <enumerator name='MODE_NO_REDUCED' value='34'/>
+        <enumerator name='MODE_NO_STEREO' value='35'/>
+        <enumerator name='MODE_NO_420' value='36'/>
+        <enumerator name='MODE_STALE' value='-3'/>
+        <enumerator name='MODE_BAD' value='-2'/>
+        <enumerator name='MODE_ERROR' value='-1'/>
+      </enum-decl>
+      <enum-decl name='hdmi_picture_aspect' filepath='include/linux/hdmi.h' line='78' column='1' id='type-id-1220'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='HDMI_PICTURE_ASPECT_NONE' value='0'/>
+        <enumerator name='HDMI_PICTURE_ASPECT_4_3' value='1'/>
+        <enumerator name='HDMI_PICTURE_ASPECT_16_9' value='2'/>
+        <enumerator name='HDMI_PICTURE_ASPECT_64_27' value='3'/>
+        <enumerator name='HDMI_PICTURE_ASPECT_256_135' value='4'/>
+        <enumerator name='HDMI_PICTURE_ASPECT_RESERVED' value='5'/>
+      </enum-decl>
+      <class-decl name='drm_printer' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/drm/drm_print.h' line='69' column='1' id='type-id-1226'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='printfn' type-id='type-id-1227' visibility='default' filepath='include/drm/drm_print.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='puts' type-id='type-id-1228' visibility='default' filepath='include/drm/drm_print.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='arg' type-id='type-id-3' visibility='default' filepath='include/drm/drm_print.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='prefix' type-id='type-id-24' visibility='default' filepath='include/drm/drm_print.h' line='74' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='va_format' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/printk.h' line='86' column='1' id='type-id-1229'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='fmt' type-id='type-id-24' visibility='default' filepath='include/linux/printk.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='va' type-id='type-id-1230' visibility='default' filepath='include/linux/printk.h' line='88' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='va_list' type-id='type-id-1145' filepath='prebuilts-master/clang/host/linux-x86/clang-r377782b/lib64/clang/10.0.4/include/stdarg.h' line='14' column='1' id='type-id-1231'/>
+      <class-decl name='drm_mode_create_dumb' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='703' column='1' id='type-id-1232'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='height' type-id='type-id-266' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='704' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='width' type-id='type-id-266' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='705' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='bpp' type-id='type-id-266' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='706' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='flags' type-id='type-id-266' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='707' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='handle' type-id='type-id-266' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='709' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='pitch' type-id='type-id-266' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='710' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='size' type-id='type-id-1120' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='711' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_ioctl_desc' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/drm/drm_ioctl.h' line='141' column='1' id='type-id-1233'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cmd' type-id='type-id-10' visibility='default' filepath='include/drm/drm_ioctl.h' line='142' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='flags' type-id='type-id-1234' visibility='default' filepath='include/drm/drm_ioctl.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='func' type-id='type-id-1235' visibility='default' filepath='include/drm/drm_ioctl.h' line='144' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/drm/drm_ioctl.h' line='145' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='drm_ioctl_flags' filepath='include/drm/drm_ioctl.h' line='79' column='1' id='type-id-1234'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='DRM_AUTH' value='1'/>
+        <enumerator name='DRM_MASTER' value='2'/>
+        <enumerator name='DRM_ROOT_ONLY' value='4'/>
+        <enumerator name='DRM_UNLOCKED' value='16'/>
+        <enumerator name='DRM_RENDER_ALLOW' value='32'/>
+      </enum-decl>
+      <typedef-decl name='drm_ioctl_t' type-id='type-id-1236' filepath='include/drm/drm_ioctl.h' line='54' column='1' id='type-id-1237'/>
+      <class-decl name='drm_open_hash' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/drm/drm_hashtab.h' line='47' column='1' id='type-id-1101'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='table' type-id='type-id-1238' visibility='default' filepath='include/drm/drm_hashtab.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='order' type-id='type-id-53' visibility='default' filepath='include/drm/drm_hashtab.h' line='49' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_vblank_crtc' size-in-bits='3008' is-struct='yes' visibility='default' filepath='include/drm/drm_vblank.h' line='90' column='1' id='type-id-1239'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-1073' visibility='default' filepath='include/drm/drm_vblank.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='queue' type-id='type-id-388' visibility='default' filepath='include/drm/drm_vblank.h' line='98' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='disable_timer' type-id='type-id-1240' visibility='default' filepath='include/drm/drm_vblank.h' line='105' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='seqlock' type-id='type-id-1241' visibility='default' filepath='include/drm/drm_vblank.h' line='110' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='count' type-id='type-id-134' visibility='default' filepath='include/drm/drm_vblank.h' line='115' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='time' type-id='type-id-585' visibility='default' filepath='include/drm/drm_vblank.h' line='119' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='refcount' type-id='type-id-137' visibility='default' filepath='include/drm/drm_vblank.h' line='126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='800'>
+          <var-decl name='last' type-id='type-id-9' visibility='default' filepath='include/drm/drm_vblank.h' line='130' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='max_vblank_count' type-id='type-id-9' visibility='default' filepath='include/drm/drm_vblank.h' line='150' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='864'>
+          <var-decl name='inmodeset' type-id='type-id-10' visibility='default' filepath='include/drm/drm_vblank.h' line='159' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='pipe' type-id='type-id-10' visibility='default' filepath='include/drm/drm_vblank.h' line='164' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='928'>
+          <var-decl name='framedur_ns' type-id='type-id-11' visibility='default' filepath='include/drm/drm_vblank.h' line='170' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='linedur_ns' type-id='type-id-11' visibility='default' filepath='include/drm/drm_vblank.h' line='176' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='hwmode' type-id='type-id-1217' visibility='default' filepath='include/drm/drm_vblank.h' line='187' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2944'>
+          <var-decl name='enabled' type-id='type-id-211' visibility='default' filepath='include/drm/drm_vblank.h' line='195' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_agp_head' size-in-bits='1152' is-struct='yes' visibility='default' filepath='include/drm/drm_agpsupport.h' line='16' column='1' id='type-id-1242'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='agp_info' type-id='type-id-1243' visibility='default' filepath='include/drm/drm_agpsupport.h' line='17' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='memory' type-id='type-id-8' visibility='default' filepath='include/drm/drm_agpsupport.h' line='18' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='mode' type-id='type-id-100' visibility='default' filepath='include/drm/drm_agpsupport.h' line='19' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='bridge' type-id='type-id-1244' visibility='default' filepath='include/drm/drm_agpsupport.h' line='20' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='enabled' type-id='type-id-11' visibility='default' filepath='include/drm/drm_agpsupport.h' line='21' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='928'>
+          <var-decl name='acquired' type-id='type-id-11' visibility='default' filepath='include/drm/drm_agpsupport.h' line='22' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='base' type-id='type-id-100' visibility='default' filepath='include/drm/drm_agpsupport.h' line='23' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='agp_mtrr' type-id='type-id-11' visibility='default' filepath='include/drm/drm_agpsupport.h' line='24' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1056'>
+          <var-decl name='cant_use_aperture' type-id='type-id-11' visibility='default' filepath='include/drm/drm_agpsupport.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='page_mask' type-id='type-id-100' visibility='default' filepath='include/drm/drm_agpsupport.h' line='26' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='agp_kern_info' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/agp_backend.h' line='45' column='1' id='type-id-1243'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='version' type-id='type-id-1245' visibility='default' filepath='include/linux/agp_backend.h' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='device' type-id='type-id-302' visibility='default' filepath='include/linux/agp_backend.h' line='47' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='chipset' type-id='type-id-1246' visibility='default' filepath='include/linux/agp_backend.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='mode' type-id='type-id-100' visibility='default' filepath='include/linux/agp_backend.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='aper_base' type-id='type-id-100' visibility='default' filepath='include/linux/agp_backend.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='aper_size' type-id='type-id-125' visibility='default' filepath='include/linux/agp_backend.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='max_memory' type-id='type-id-11' visibility='default' filepath='include/linux/agp_backend.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='current_memory' type-id='type-id-11' visibility='default' filepath='include/linux/agp_backend.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='cant_use_aperture' type-id='type-id-211' visibility='default' filepath='include/linux/agp_backend.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='page_mask' type-id='type-id-100' visibility='default' filepath='include/linux/agp_backend.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='vm_ops' type-id='type-id-1207' visibility='default' filepath='include/linux/agp_backend.h' line='56' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='agp_version' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/linux/agp_backend.h' line='40' column='1' id='type-id-1245'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='major' type-id='type-id-289' visibility='default' filepath='include/linux/agp_backend.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='minor' type-id='type-id-289' visibility='default' filepath='include/linux/agp_backend.h' line='42' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='chipset_type' filepath='include/linux/agp_backend.h' line='35' column='1' id='type-id-1246'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='NOT_SUPPORTED' value='0'/>
+        <enumerator name='SUPPORTED' value='1'/>
+      </enum-decl>
+      <class-decl name='__anonymous_struct__1' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/drm/drm_device.h' line='205' column='1' id='type-id-1167'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='context' type-id='type-id-11' visibility='default' filepath='include/drm/drm_device.h' line='206' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='lock' type-id='type-id-1247' visibility='default' filepath='include/drm/drm_device.h' line='207' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_hw_lock' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/uapi/drm/drm.h' line='129' column='1' id='type-id-1248'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-1249' visibility='default' filepath='include/uapi/drm/drm.h' line='130' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='padding' type-id='type-id-1127' visibility='default' filepath='include/uapi/drm/drm.h' line='131' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_mode_config' size-in-bits='8192' is-struct='yes' visibility='default' filepath='include/drm/drm_mode_config.h' line='352' column='1' id='type-id-1169'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mutex' type-id='type-id-407' visibility='default' filepath='include/drm/drm_mode_config.h' line='363' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='connection_mutex' type-id='type-id-1250' visibility='default' filepath='include/drm/drm_mode_config.h' line='373' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='acquire_ctx' type-id='type-id-1088' visibility='default' filepath='include/drm/drm_mode_config.h' line='383' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='idr_mutex' type-id='type-id-407' visibility='default' filepath='include/drm/drm_mode_config.h' line='391' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='crtc_idr' type-id='type-id-1161' visibility='default' filepath='include/drm/drm_mode_config.h' line='399' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='tile_idr' type-id='type-id-1161' visibility='default' filepath='include/drm/drm_mode_config.h' line='407' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='fb_lock' type-id='type-id-407' visibility='default' filepath='include/drm/drm_mode_config.h' line='410' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='num_fb' type-id='type-id-11' visibility='default' filepath='include/drm/drm_mode_config.h' line='412' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='fb_list' type-id='type-id-8' visibility='default' filepath='include/drm/drm_mode_config.h' line='414' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='connector_list_lock' type-id='type-id-106' visibility='default' filepath='include/drm/drm_mode_config.h' line='420' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1888'>
+          <var-decl name='num_connector' type-id='type-id-11' visibility='default' filepath='include/drm/drm_mode_config.h' line='425' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='connector_ida' type-id='type-id-1251' visibility='default' filepath='include/drm/drm_mode_config.h' line='429' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='connector_list' type-id='type-id-8' visibility='default' filepath='include/drm/drm_mode_config.h' line='437' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='connector_free_list' type-id='type-id-1252' visibility='default' filepath='include/drm/drm_mode_config.h' line='447' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='connector_free_work' type-id='type-id-149' visibility='default' filepath='include/drm/drm_mode_config.h' line='451' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='num_encoder' type-id='type-id-11' visibility='default' filepath='include/drm/drm_mode_config.h' line='459' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='encoder_list' type-id='type-id-8' visibility='default' filepath='include/drm/drm_mode_config.h' line='467' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2688'>
+          <var-decl name='num_total_plane' type-id='type-id-11' visibility='default' filepath='include/drm/drm_mode_config.h' line='476' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2752'>
+          <var-decl name='plane_list' type-id='type-id-8' visibility='default' filepath='include/drm/drm_mode_config.h' line='483' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2880'>
+          <var-decl name='num_crtc' type-id='type-id-11' visibility='default' filepath='include/drm/drm_mode_config.h' line='491' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2944'>
+          <var-decl name='crtc_list' type-id='type-id-8' visibility='default' filepath='include/drm/drm_mode_config.h' line='498' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3072'>
+          <var-decl name='property_list' type-id='type-id-8' visibility='default' filepath='include/drm/drm_mode_config.h' line='507' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3200'>
+          <var-decl name='min_width' type-id='type-id-11' visibility='default' filepath='include/drm/drm_mode_config.h' line='509' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3232'>
+          <var-decl name='min_height' type-id='type-id-11' visibility='default' filepath='include/drm/drm_mode_config.h' line='509' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3264'>
+          <var-decl name='max_width' type-id='type-id-11' visibility='default' filepath='include/drm/drm_mode_config.h' line='510' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3296'>
+          <var-decl name='max_height' type-id='type-id-11' visibility='default' filepath='include/drm/drm_mode_config.h' line='510' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3328'>
+          <var-decl name='funcs' type-id='type-id-1253' visibility='default' filepath='include/drm/drm_mode_config.h' line='511' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3392'>
+          <var-decl name='fb_base' type-id='type-id-1254' visibility='default' filepath='include/drm/drm_mode_config.h' line='512' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3456'>
+          <var-decl name='poll_enabled' type-id='type-id-211' visibility='default' filepath='include/drm/drm_mode_config.h' line='515' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3464'>
+          <var-decl name='poll_running' type-id='type-id-211' visibility='default' filepath='include/drm/drm_mode_config.h' line='516' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3472'>
+          <var-decl name='delayed_event' type-id='type-id-211' visibility='default' filepath='include/drm/drm_mode_config.h' line='517' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3520'>
+          <var-decl name='output_poll_work' type-id='type-id-370' visibility='default' filepath='include/drm/drm_mode_config.h' line='518' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4224'>
+          <var-decl name='blob_lock' type-id='type-id-407' visibility='default' filepath='include/drm/drm_mode_config.h' line='526' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4480'>
+          <var-decl name='property_blob_list' type-id='type-id-8' visibility='default' filepath='include/drm/drm_mode_config.h' line='534' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4608'>
+          <var-decl name='edid_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='542' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4672'>
+          <var-decl name='dpms_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='547' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4736'>
+          <var-decl name='path_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='552' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4800'>
+          <var-decl name='tile_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='558' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4864'>
+          <var-decl name='link_status_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='563' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4928'>
+          <var-decl name='plane_type_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='568' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4992'>
+          <var-decl name='prop_src_x' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='573' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5056'>
+          <var-decl name='prop_src_y' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='578' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5120'>
+          <var-decl name='prop_src_w' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='583' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5184'>
+          <var-decl name='prop_src_h' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='588' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5248'>
+          <var-decl name='prop_crtc_x' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='593' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5312'>
+          <var-decl name='prop_crtc_y' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='598' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5376'>
+          <var-decl name='prop_crtc_w' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='603' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5440'>
+          <var-decl name='prop_crtc_h' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='608' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5504'>
+          <var-decl name='prop_fb_id' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='613' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5568'>
+          <var-decl name='prop_in_fence_fd' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='618' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5632'>
+          <var-decl name='prop_out_fence_ptr' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='624' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5696'>
+          <var-decl name='prop_crtc_id' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='629' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5760'>
+          <var-decl name='prop_active' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='635' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5824'>
+          <var-decl name='prop_mode_id' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='641' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5888'>
+          <var-decl name='dvi_i_subconnector_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='647' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5952'>
+          <var-decl name='dvi_i_select_subconnector_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='652' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6016'>
+          <var-decl name='tv_subconnector_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='658' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6080'>
+          <var-decl name='tv_select_subconnector_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='663' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6144'>
+          <var-decl name='tv_mode_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='668' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6208'>
+          <var-decl name='tv_left_margin_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='673' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6272'>
+          <var-decl name='tv_right_margin_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='678' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6336'>
+          <var-decl name='tv_top_margin_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='683' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6400'>
+          <var-decl name='tv_bottom_margin_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='688' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6464'>
+          <var-decl name='tv_brightness_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='693' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6528'>
+          <var-decl name='tv_contrast_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='698' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6592'>
+          <var-decl name='tv_flicker_reduction_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='703' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6656'>
+          <var-decl name='tv_overscan_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='708' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6720'>
+          <var-decl name='tv_saturation_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='713' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6784'>
+          <var-decl name='tv_hue_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='717' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6848'>
+          <var-decl name='scaling_mode_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='723' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6912'>
+          <var-decl name='aspect_ratio_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='728' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6976'>
+          <var-decl name='content_type_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='733' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7040'>
+          <var-decl name='degamma_lut_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='738' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7104'>
+          <var-decl name='degamma_lut_size_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='743' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7168'>
+          <var-decl name='ctm_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='749' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7232'>
+          <var-decl name='gamma_lut_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='755' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7296'>
+          <var-decl name='gamma_lut_size_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='760' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7360'>
+          <var-decl name='suggested_x_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='766' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7424'>
+          <var-decl name='suggested_y_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='771' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7488'>
+          <var-decl name='non_desktop_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='778' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7552'>
+          <var-decl name='panel_orientation_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='785' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7616'>
+          <var-decl name='writeback_fb_id_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='792' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7680'>
+          <var-decl name='writeback_pixel_formats_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='800' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7744'>
+          <var-decl name='writeback_out_fence_ptr_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='808' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7808'>
+          <var-decl name='preferred_depth' type-id='type-id-193' visibility='default' filepath='include/drm/drm_mode_config.h' line='811' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7840'>
+          <var-decl name='prefer_shadow' type-id='type-id-193' visibility='default' filepath='include/drm/drm_mode_config.h' line='811' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7872'>
+          <var-decl name='async_page_flip' type-id='type-id-211' visibility='default' filepath='include/drm/drm_mode_config.h' line='817' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7880'>
+          <var-decl name='allow_fb_modifiers' type-id='type-id-211' visibility='default' filepath='include/drm/drm_mode_config.h' line='824' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7888'>
+          <var-decl name='normalize_zpos' type-id='type-id-211' visibility='default' filepath='include/drm/drm_mode_config.h' line='832' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7936'>
+          <var-decl name='modifiers_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_mode_config.h' line='838' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8000'>
+          <var-decl name='cursor_width' type-id='type-id-193' visibility='default' filepath='include/drm/drm_mode_config.h' line='841' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8032'>
+          <var-decl name='cursor_height' type-id='type-id-193' visibility='default' filepath='include/drm/drm_mode_config.h' line='841' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8064'>
+          <var-decl name='suspend_state' type-id='type-id-1080' visibility='default' filepath='include/drm/drm_mode_config.h' line='850' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8128'>
+          <var-decl name='helper_private' type-id='type-id-1255' visibility='default' filepath='include/drm/drm_mode_config.h' line='852' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_modeset_lock' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/drm/drm_modeset_lock.h' line='76' column='1' id='type-id-1250'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mutex' type-id='type-id-1256' visibility='default' filepath='include/drm/drm_modeset_lock.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='head' type-id='type-id-8' visibility='default' filepath='include/drm/drm_modeset_lock.h' line='86' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_modeset_acquire_ctx' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/drm/drm_modeset_lock.h' line='43' column='1' id='type-id-1257'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ww_ctx' type-id='type-id-1258' visibility='default' filepath='include/drm/drm_modeset_lock.h' line='45' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='contended' type-id='type-id-1259' visibility='default' filepath='include/drm/drm_modeset_lock.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='locked' type-id='type-id-8' visibility='default' filepath='include/drm/drm_modeset_lock.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='trylock_only' type-id='type-id-211' visibility='default' filepath='include/drm/drm_modeset_lock.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='392'>
+          <var-decl name='interruptible' type-id='type-id-211' visibility='default' filepath='include/drm/drm_modeset_lock.h' line='65' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_mode_config_funcs' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/drm/drm_mode_config.h' line='47' column='1' id='type-id-1260'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='fb_create' type-id='type-id-1261' visibility='default' filepath='include/drm/drm_mode_config.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='get_format_info' type-id='type-id-1262' visibility='default' filepath='include/drm/drm_mode_config.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='output_poll_changed' type-id='type-id-1176' visibility='default' filepath='include/drm/drm_mode_config.h' line='103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='mode_valid' type-id='type-id-1263' visibility='default' filepath='include/drm/drm_mode_config.h' line='113' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='atomic_check' type-id='type-id-1264' visibility='default' filepath='include/drm/drm_mode_config.h' line='190' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='atomic_commit' type-id='type-id-1265' visibility='default' filepath='include/drm/drm_mode_config.h' line='272' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='atomic_state_alloc' type-id='type-id-1266' visibility='default' filepath='include/drm/drm_mode_config.h' line='291' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='atomic_state_clear' type-id='type-id-1267' visibility='default' filepath='include/drm/drm_mode_config.h' line='312' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='atomic_state_free' type-id='type-id-1267' visibility='default' filepath='include/drm/drm_mode_config.h' line='327' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_framebuffer' size-in-bits='1600' is-struct='yes' visibility='default' filepath='include/drm/drm_framebuffer.h' line='109' column='1' id='type-id-1268'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-1073' visibility='default' filepath='include/drm/drm_framebuffer.h' line='113' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='head' type-id='type-id-8' visibility='default' filepath='include/drm/drm_framebuffer.h' line='118' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='base' type-id='type-id-1218' visibility='default' filepath='include/drm/drm_framebuffer.h' line='123' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='comm' type-id='type-id-847' visibility='default' filepath='include/drm/drm_framebuffer.h' line='128' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='format' type-id='type-id-1269' visibility='default' filepath='include/drm/drm_framebuffer.h' line='133' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='funcs' type-id='type-id-1270' visibility='default' filepath='include/drm/drm_framebuffer.h' line='137' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='pitches' type-id='type-id-1155' visibility='default' filepath='include/drm/drm_framebuffer.h' line='142' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='offsets' type-id='type-id-1155' visibility='default' filepath='include/drm/drm_framebuffer.h' line='160' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='modifier' type-id='type-id-1150' visibility='default' filepath='include/drm/drm_framebuffer.h' line='167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='width' type-id='type-id-10' visibility='default' filepath='include/drm/drm_framebuffer.h' line='172' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1056'>
+          <var-decl name='height' type-id='type-id-10' visibility='default' filepath='include/drm/drm_framebuffer.h' line='177' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='flags' type-id='type-id-11' visibility='default' filepath='include/drm/drm_framebuffer.h' line='182' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1120'>
+          <var-decl name='hot_x' type-id='type-id-11' visibility='default' filepath='include/drm/drm_framebuffer.h' line='188' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='hot_y' type-id='type-id-11' visibility='default' filepath='include/drm/drm_framebuffer.h' line='194' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='filp_head' type-id='type-id-8' visibility='default' filepath='include/drm/drm_framebuffer.h' line='198' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='obj' type-id='type-id-1141' visibility='default' filepath='include/drm/drm_framebuffer.h' line='205' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_format_info' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/drm/drm_fourcc.h' line='66' column='1' id='type-id-1271'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='format' type-id='type-id-9' visibility='default' filepath='include/drm/drm_fourcc.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='depth' type-id='type-id-53' visibility='default' filepath='include/drm/drm_fourcc.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='40'>
+          <var-decl name='num_planes' type-id='type-id-53' visibility='default' filepath='include/drm/drm_fourcc.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='cpp' type-id='type-id-1272' visibility='default' filepath='include/drm/drm_fourcc.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='72'>
+          <var-decl name='hsub' type-id='type-id-53' visibility='default' filepath='include/drm/drm_fourcc.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='80'>
+          <var-decl name='vsub' type-id='type-id-53' visibility='default' filepath='include/drm/drm_fourcc.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='88'>
+          <var-decl name='has_alpha' type-id='type-id-211' visibility='default' filepath='include/drm/drm_fourcc.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='is_yuv' type-id='type-id-211' visibility='default' filepath='include/drm/drm_fourcc.h' line='74' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_framebuffer_funcs' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/drm/drm_framebuffer.h' line='37' column='1' id='type-id-1273'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='destroy' type-id='type-id-1274' visibility='default' filepath='include/drm/drm_framebuffer.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='create_handle' type-id='type-id-1275' visibility='default' filepath='include/drm/drm_framebuffer.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='dirty' type-id='type-id-1276' visibility='default' filepath='include/drm/drm_framebuffer.h' line='89' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_clip_rect' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/drm/drm.h' line='96' column='1' id='type-id-1277'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='x1' type-id='type-id-288' visibility='default' filepath='include/uapi/drm/drm.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='y1' type-id='type-id-288' visibility='default' filepath='include/uapi/drm/drm.h' line='98' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='x2' type-id='type-id-288' visibility='default' filepath='include/uapi/drm/drm.h' line='99' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='y2' type-id='type-id-288' visibility='default' filepath='include/uapi/drm/drm.h' line='100' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_mode_fb_cmd2' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='479' column='1' id='type-id-1278'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='fb_id' type-id='type-id-266' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='480' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='width' type-id='type-id-266' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='481' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='height' type-id='type-id-266' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='482' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='pixel_format' type-id='type-id-266' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='483' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='flags' type-id='type-id-266' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='484' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='handles' type-id='type-id-1279' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='510' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='pitches' type-id='type-id-1279' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='511' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='offsets' type-id='type-id-1279' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='512' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='modifier' type-id='type-id-1121' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='513' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_atomic_state' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/drm/drm_atomic.h' line='282' column='1' id='type-id-1280'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ref' type-id='type-id-771' visibility='default' filepath='include/drm/drm_atomic.h' line='283' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dev' type-id='type-id-1073' visibility='default' filepath='include/drm/drm_atomic.h' line='285' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7'>
+          <var-decl name='allow_modeset' type-id='type-id-211' visibility='default' filepath='include/drm/drm_atomic.h' line='286' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6'>
+          <var-decl name='legacy_cursor_update' type-id='type-id-211' visibility='default' filepath='include/drm/drm_atomic.h' line='287' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5'>
+          <var-decl name='async_update' type-id='type-id-211' visibility='default' filepath='include/drm/drm_atomic.h' line='288' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='planes' type-id='type-id-1281' visibility='default' filepath='include/drm/drm_atomic.h' line='289' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='crtcs' type-id='type-id-1282' visibility='default' filepath='include/drm/drm_atomic.h' line='290' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='num_connector' type-id='type-id-11' visibility='default' filepath='include/drm/drm_atomic.h' line='291' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='connectors' type-id='type-id-1283' visibility='default' filepath='include/drm/drm_atomic.h' line='292' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='num_private_objs' type-id='type-id-11' visibility='default' filepath='include/drm/drm_atomic.h' line='293' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='private_objs' type-id='type-id-1284' visibility='default' filepath='include/drm/drm_atomic.h' line='294' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='acquire_ctx' type-id='type-id-1088' visibility='default' filepath='include/drm/drm_atomic.h' line='296' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='fake_commit' type-id='type-id-1285' visibility='default' filepath='include/drm/drm_atomic.h' line='308' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='commit_work' type-id='type-id-149' visibility='default' filepath='include/drm/drm_atomic.h' line='316' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__drm_planes_state' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/drm/drm_atomic.h' line='148' column='1' id='type-id-1286'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ptr' type-id='type-id-1085' visibility='default' filepath='include/drm/drm_atomic.h' line='149' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='state' type-id='type-id-1086' visibility='default' filepath='include/drm/drm_atomic.h' line='150' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='old_state' type-id='type-id-1086' visibility='default' filepath='include/drm/drm_atomic.h' line='150' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='new_state' type-id='type-id-1086' visibility='default' filepath='include/drm/drm_atomic.h' line='150' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_plane' size-in-bits='5184' is-struct='yes' visibility='default' filepath='include/drm/drm_plane.h' line='535' column='1' id='type-id-1287'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-1073' visibility='default' filepath='include/drm/drm_plane.h' line='537' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='head' type-id='type-id-8' visibility='default' filepath='include/drm/drm_plane.h' line='546' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='name' type-id='type-id-300' visibility='default' filepath='include/drm/drm_plane.h' line='549' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='mutex' type-id='type-id-1250' visibility='default' filepath='include/drm/drm_plane.h' line='560' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='base' type-id='type-id-1218' visibility='default' filepath='include/drm/drm_plane.h' line='563' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='possible_crtcs' type-id='type-id-193' visibility='default' filepath='include/drm/drm_plane.h' line='569' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='format_types' type-id='type-id-1288' visibility='default' filepath='include/drm/drm_plane.h' line='571' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='format_count' type-id='type-id-10' visibility='default' filepath='include/drm/drm_plane.h' line='573' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1120'>
+          <var-decl name='format_default' type-id='type-id-211' visibility='default' filepath='include/drm/drm_plane.h' line='578' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='modifiers' type-id='type-id-1225' visibility='default' filepath='include/drm/drm_plane.h' line='581' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='modifier_count' type-id='type-id-10' visibility='default' filepath='include/drm/drm_plane.h' line='583' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='crtc' type-id='type-id-1083' visibility='default' filepath='include/drm/drm_plane.h' line='592' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='fb' type-id='type-id-1090' visibility='default' filepath='include/drm/drm_plane.h' line='601' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='old_fb' type-id='type-id-1090' visibility='default' filepath='include/drm/drm_plane.h' line='609' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='funcs' type-id='type-id-1289' visibility='default' filepath='include/drm/drm_plane.h' line='612' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='properties' type-id='type-id-1223' visibility='default' filepath='include/drm/drm_plane.h' line='615' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4672'>
+          <var-decl name='type' type-id='type-id-1290' visibility='default' filepath='include/drm/drm_plane.h' line='618' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4704'>
+          <var-decl name='index' type-id='type-id-10' visibility='default' filepath='include/drm/drm_plane.h' line='624' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4736'>
+          <var-decl name='helper_private' type-id='type-id-1291' visibility='default' filepath='include/drm/drm_plane.h' line='627' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4800'>
+          <var-decl name='state' type-id='type-id-1086' visibility='default' filepath='include/drm/drm_plane.h' line='642' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4864'>
+          <var-decl name='alpha_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_plane.h' line='649' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4928'>
+          <var-decl name='zpos_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_plane.h' line='655' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4992'>
+          <var-decl name='rotation_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_plane.h' line='661' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5056'>
+          <var-decl name='color_encoding_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_plane.h' line='670' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5120'>
+          <var-decl name='color_range_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_plane.h' line='678' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_crtc' size-in-bits='9792' is-struct='yes' visibility='default' filepath='include/drm/drm_crtc.h' line='816' column='1' id='type-id-1292'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-1073' visibility='default' filepath='include/drm/drm_crtc.h' line='818' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='port' type-id='type-id-81' visibility='default' filepath='include/drm/drm_crtc.h' line='820' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='head' type-id='type-id-8' visibility='default' filepath='include/drm/drm_crtc.h' line='828' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='name' type-id='type-id-300' visibility='default' filepath='include/drm/drm_crtc.h' line='831' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='mutex' type-id='type-id-1250' visibility='default' filepath='include/drm/drm_crtc.h' line='843' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='base' type-id='type-id-1218' visibility='default' filepath='include/drm/drm_crtc.h' line='846' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='primary' type-id='type-id-1085' visibility='default' filepath='include/drm/drm_crtc.h' line='855' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='cursor' type-id='type-id-1085' visibility='default' filepath='include/drm/drm_crtc.h' line='864' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='index' type-id='type-id-10' visibility='default' filepath='include/drm/drm_crtc.h' line='870' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1184'>
+          <var-decl name='cursor_x' type-id='type-id-11' visibility='default' filepath='include/drm/drm_crtc.h' line='879' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='cursor_y' type-id='type-id-11' visibility='default' filepath='include/drm/drm_crtc.h' line='887' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1248'>
+          <var-decl name='enabled' type-id='type-id-211' visibility='default' filepath='include/drm/drm_crtc.h' line='897' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='mode' type-id='type-id-1217' visibility='default' filepath='include/drm/drm_crtc.h' line='907' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3200'>
+          <var-decl name='hwmode' type-id='type-id-1217' visibility='default' filepath='include/drm/drm_crtc.h' line='922' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5120'>
+          <var-decl name='x' type-id='type-id-11' visibility='default' filepath='include/drm/drm_crtc.h' line='931' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5152'>
+          <var-decl name='y' type-id='type-id-11' visibility='default' filepath='include/drm/drm_crtc.h' line='939' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5184'>
+          <var-decl name='funcs' type-id='type-id-1293' visibility='default' filepath='include/drm/drm_crtc.h' line='942' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5248'>
+          <var-decl name='gamma_size' type-id='type-id-193' visibility='default' filepath='include/drm/drm_crtc.h' line='948' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5312'>
+          <var-decl name='gamma_store' type-id='type-id-1294' visibility='default' filepath='include/drm/drm_crtc.h' line='954' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5376'>
+          <var-decl name='helper_private' type-id='type-id-1295' visibility='default' filepath='include/drm/drm_crtc.h' line='957' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5440'>
+          <var-decl name='properties' type-id='type-id-1223' visibility='default' filepath='include/drm/drm_crtc.h' line='960' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8576'>
+          <var-decl name='state' type-id='type-id-1087' visibility='default' filepath='include/drm/drm_crtc.h' line='975' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8640'>
+          <var-decl name='commit_list' type-id='type-id-8' visibility='default' filepath='include/drm/drm_crtc.h' line='992' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8768'>
+          <var-decl name='commit_lock' type-id='type-id-106' visibility='default' filepath='include/drm/drm_crtc.h' line='999' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8832'>
+          <var-decl name='crc' type-id='type-id-1296' visibility='default' filepath='include/drm/drm_crtc.h' line='1015' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9408'>
+          <var-decl name='fence_context' type-id='type-id-10' visibility='default' filepath='include/drm/drm_crtc.h' line='1022' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9440'>
+          <var-decl name='fence_lock' type-id='type-id-106' visibility='default' filepath='include/drm/drm_crtc.h' line='1029' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9472'>
+          <var-decl name='fence_seqno' type-id='type-id-100' visibility='default' filepath='include/drm/drm_crtc.h' line='1036' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9536'>
+          <var-decl name='timeline_name' type-id='type-id-650' visibility='default' filepath='include/drm/drm_crtc.h' line='1043' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_crtc_funcs' size-in-bits='1344' is-struct='yes' visibility='default' filepath='include/drm/drm_crtc.h' line='368' column='1' id='type-id-1297'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='reset' type-id='type-id-1298' visibility='default' filepath='include/drm/drm_crtc.h' line='379' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='cursor_set' type-id='type-id-1299' visibility='default' filepath='include/drm/drm_crtc.h' line='402' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='cursor_set2' type-id='type-id-1300' visibility='default' filepath='include/drm/drm_crtc.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='cursor_move' type-id='type-id-1301' visibility='default' filepath='include/drm/drm_crtc.h' line='444' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='gamma_set' type-id='type-id-1302' visibility='default' filepath='include/drm/drm_crtc.h' line='459' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='destroy' type-id='type-id-1298' visibility='default' filepath='include/drm/drm_crtc.h' line='470' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='set_config' type-id='type-id-1303' visibility='default' filepath='include/drm/drm_crtc.h' line='486' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='page_flip' type-id='type-id-1304' visibility='default' filepath='include/drm/drm_crtc.h' line='542' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='page_flip_target' type-id='type-id-1305' visibility='default' filepath='include/drm/drm_crtc.h' line='561' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='set_property' type-id='type-id-1306' visibility='default' filepath='include/drm/drm_crtc.h' line='581' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='atomic_duplicate_state' type-id='type-id-1307' visibility='default' filepath='include/drm/drm_crtc.h' line='615' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='atomic_destroy_state' type-id='type-id-1308' visibility='default' filepath='include/drm/drm_crtc.h' line='625' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='atomic_set_property' type-id='type-id-1309' visibility='default' filepath='include/drm/drm_crtc.h' line='670' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='atomic_get_property' type-id='type-id-1310' visibility='default' filepath='include/drm/drm_crtc.h' line='692' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='late_register' type-id='type-id-1311' visibility='default' filepath='include/drm/drm_crtc.h' line='710' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='early_unregister' type-id='type-id-1298' visibility='default' filepath='include/drm/drm_crtc.h' line='721' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='set_crc_source' type-id='type-id-1312' visibility='default' filepath='include/drm/drm_crtc.h' line='747' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='atomic_print_state' type-id='type-id-1313' visibility='default' filepath='include/drm/drm_crtc.h' line='759' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='get_vblank_counter' type-id='type-id-1314' visibility='default' filepath='include/drm/drm_crtc.h' line='786' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='enable_vblank' type-id='type-id-1311' visibility='default' filepath='include/drm/drm_crtc.h' line='799' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='disable_vblank' type-id='type-id-1298' visibility='default' filepath='include/drm/drm_crtc.h' line='807' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_mode_set' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/drm/drm_crtc.h' line='1059' column='1' id='type-id-1315'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='fb' type-id='type-id-1090' visibility='default' filepath='include/drm/drm_crtc.h' line='1060' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='crtc' type-id='type-id-1083' visibility='default' filepath='include/drm/drm_crtc.h' line='1061' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='mode' type-id='type-id-1119' visibility='default' filepath='include/drm/drm_crtc.h' line='1062' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='x' type-id='type-id-193' visibility='default' filepath='include/drm/drm_crtc.h' line='1064' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='y' type-id='type-id-193' visibility='default' filepath='include/drm/drm_crtc.h' line='1065' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='connectors' type-id='type-id-1316' visibility='default' filepath='include/drm/drm_crtc.h' line='1067' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='num_connectors' type-id='type-id-125' visibility='default' filepath='include/drm/drm_crtc.h' line='1068' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_connector' size-in-bits='8448' is-struct='yes' visibility='default' filepath='include/drm/drm_connector.h' line='781' column='1' id='type-id-1317'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-1073' visibility='default' filepath='include/drm/drm_connector.h' line='783' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='kdev' type-id='type-id-86' visibility='default' filepath='include/drm/drm_connector.h' line='785' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='attr' type-id='type-id-542' visibility='default' filepath='include/drm/drm_connector.h' line='787' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='head' type-id='type-id-8' visibility='default' filepath='include/drm/drm_connector.h' line='797' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='base' type-id='type-id-1218' visibility='default' filepath='include/drm/drm_connector.h' line='800' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='name' type-id='type-id-300' visibility='default' filepath='include/drm/drm_connector.h' line='803' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='mutex' type-id='type-id-407' visibility='default' filepath='include/drm/drm_connector.h' line='810' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='index' type-id='type-id-10' visibility='default' filepath='include/drm/drm_connector.h' line='818' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='928'>
+          <var-decl name='connector_type' type-id='type-id-11' visibility='default' filepath='include/drm/drm_connector.h' line='824' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='connector_type_id' type-id='type-id-11' visibility='default' filepath='include/drm/drm_connector.h' line='826' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='992'>
+          <var-decl name='interlace_allowed' type-id='type-id-211' visibility='default' filepath='include/drm/drm_connector.h' line='832' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1000'>
+          <var-decl name='doublescan_allowed' type-id='type-id-211' visibility='default' filepath='include/drm/drm_connector.h' line='838' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1008'>
+          <var-decl name='stereo_allowed' type-id='type-id-211' visibility='default' filepath='include/drm/drm_connector.h' line='844' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1016'>
+          <var-decl name='ycbcr_420_allowed' type-id='type-id-211' visibility='default' filepath='include/drm/drm_connector.h' line='852' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='registered' type-id='type-id-211' visibility='default' filepath='include/drm/drm_connector.h' line='858' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='modes' type-id='type-id-8' visibility='default' filepath='include/drm/drm_connector.h' line='865' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='status' type-id='type-id-1318' visibility='default' filepath='include/drm/drm_connector.h' line='872' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='probed_modes' type-id='type-id-8' visibility='default' filepath='include/drm/drm_connector.h' line='880' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='display_info' type-id='type-id-1319' visibility='default' filepath='include/drm/drm_connector.h' line='891' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2624'>
+          <var-decl name='funcs' type-id='type-id-1075' visibility='default' filepath='include/drm/drm_connector.h' line='894' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2688'>
+          <var-decl name='edid_blob_ptr' type-id='type-id-1079' visibility='default' filepath='include/drm/drm_connector.h' line='901' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2752'>
+          <var-decl name='properties' type-id='type-id-1223' visibility='default' filepath='include/drm/drm_connector.h' line='904' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5888'>
+          <var-decl name='scaling_mode_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_connector.h' line='910' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5952'>
+          <var-decl name='content_protection_property' type-id='type-id-1093' visibility='default' filepath='include/drm/drm_connector.h' line='916' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6016'>
+          <var-decl name='path_blob_ptr' type-id='type-id-1079' visibility='default' filepath='include/drm/drm_connector.h' line='924' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6080'>
+          <var-decl name='polled' type-id='type-id-1152' visibility='default' filepath='include/drm/drm_connector.h' line='951' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6112'>
+          <var-decl name='dpms' type-id='type-id-11' visibility='default' filepath='include/drm/drm_connector.h' line='959' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6144'>
+          <var-decl name='helper_private' type-id='type-id-1320' visibility='default' filepath='include/drm/drm_connector.h' line='962' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6208'>
+          <var-decl name='cmdline_mode' type-id='type-id-1321' visibility='default' filepath='include/drm/drm_connector.h' line='965' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6432'>
+          <var-decl name='force' type-id='type-id-1322' visibility='default' filepath='include/drm/drm_connector.h' line='967' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6464'>
+          <var-decl name='override_edid' type-id='type-id-211' visibility='default' filepath='include/drm/drm_connector.h' line='969' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6496'>
+          <var-decl name='encoder_ids' type-id='type-id-1149' visibility='default' filepath='include/drm/drm_connector.h' line='976' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6592'>
+          <var-decl name='encoder' type-id='type-id-1323' visibility='default' filepath='include/drm/drm_connector.h' line='984' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6656'>
+          <var-decl name='eld' type-id='type-id-1153' visibility='default' filepath='include/drm/drm_connector.h' line='988' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7680'>
+          <var-decl name='latency_present' type-id='type-id-1126' visibility='default' filepath='include/drm/drm_connector.h' line='990' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7712'>
+          <var-decl name='video_latency' type-id='type-id-1324' visibility='default' filepath='include/drm/drm_connector.h' line='995' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7776'>
+          <var-decl name='audio_latency' type-id='type-id-1324' visibility='default' filepath='include/drm/drm_connector.h' line='1000' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7840'>
+          <var-decl name='null_edid_counter' type-id='type-id-11' visibility='default' filepath='include/drm/drm_connector.h' line='1005' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7872'>
+          <var-decl name='bad_edid_counter' type-id='type-id-10' visibility='default' filepath='include/drm/drm_connector.h' line='1008' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7904'>
+          <var-decl name='edid_corrupt' type-id='type-id-211' visibility='default' filepath='include/drm/drm_connector.h' line='1015' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7936'>
+          <var-decl name='debugfs_entry' type-id='type-id-836' visibility='default' filepath='include/drm/drm_connector.h' line='1018' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8000'>
+          <var-decl name='state' type-id='type-id-1089' visibility='default' filepath='include/drm/drm_connector.h' line='1034' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8064'>
+          <var-decl name='tile_blob_ptr' type-id='type-id-1079' visibility='default' filepath='include/drm/drm_connector.h' line='1051' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8128'>
+          <var-decl name='has_tile' type-id='type-id-211' visibility='default' filepath='include/drm/drm_connector.h' line='1054' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8192'>
+          <var-decl name='tile_group' type-id='type-id-1325' visibility='default' filepath='include/drm/drm_connector.h' line='1056' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8256'>
+          <var-decl name='tile_is_single_monitor' type-id='type-id-211' visibility='default' filepath='include/drm/drm_connector.h' line='1058' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8264'>
+          <var-decl name='num_h_tile' type-id='type-id-1152' visibility='default' filepath='include/drm/drm_connector.h' line='1062' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8272'>
+          <var-decl name='num_v_tile' type-id='type-id-1152' visibility='default' filepath='include/drm/drm_connector.h' line='1062' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8280'>
+          <var-decl name='tile_h_loc' type-id='type-id-1152' visibility='default' filepath='include/drm/drm_connector.h' line='1065' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8288'>
+          <var-decl name='tile_v_loc' type-id='type-id-1152' visibility='default' filepath='include/drm/drm_connector.h' line='1065' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8304'>
+          <var-decl name='tile_h_size' type-id='type-id-1326' visibility='default' filepath='include/drm/drm_connector.h' line='1068' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8320'>
+          <var-decl name='tile_v_size' type-id='type-id-1326' visibility='default' filepath='include/drm/drm_connector.h' line='1068' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8384'>
+          <var-decl name='free_node' type-id='type-id-1327' visibility='default' filepath='include/drm/drm_connector.h' line='1077' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='drm_connector_status' filepath='include/drm/drm_connector.h' line='57' column='1' id='type-id-1318'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='connector_status_connected' value='1'/>
+        <enumerator name='connector_status_disconnected' value='2'/>
+        <enumerator name='connector_status_unknown' value='3'/>
+      </enum-decl>
+      <class-decl name='drm_display_info' size-in-bits='1216' is-struct='yes' visibility='default' filepath='include/drm/drm_connector.h' line='219' column='1' id='type-id-1319'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-650' visibility='default' filepath='include/drm/drm_connector.h' line='223' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='width_mm' type-id='type-id-10' visibility='default' filepath='include/drm/drm_connector.h' line='228' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='height_mm' type-id='type-id-10' visibility='default' filepath='include/drm/drm_connector.h' line='232' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='pixel_clock' type-id='type-id-10' visibility='default' filepath='include/drm/drm_connector.h' line='239' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='bpc' type-id='type-id-10' visibility='default' filepath='include/drm/drm_connector.h' line='243' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='subpixel_order' type-id='type-id-1328' visibility='default' filepath='include/drm/drm_connector.h' line='248' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='panel_orientation' type-id='type-id-11' visibility='default' filepath='include/drm/drm_connector.h' line='262' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='color_formats' type-id='type-id-9' visibility='default' filepath='include/drm/drm_connector.h' line='270' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='bus_formats' type-id='type-id-560' visibility='default' filepath='include/drm/drm_connector.h' line='277' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='num_bus_formats' type-id='type-id-10' visibility='default' filepath='include/drm/drm_connector.h' line='281' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='bus_flags' type-id='type-id-9' visibility='default' filepath='include/drm/drm_connector.h' line='302' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='max_tmds_clock' type-id='type-id-11' visibility='default' filepath='include/drm/drm_connector.h' line='308' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='672'>
+          <var-decl name='dvi_dual' type-id='type-id-211' visibility='default' filepath='include/drm/drm_connector.h' line='313' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='680'>
+          <var-decl name='has_hdmi_infoframe' type-id='type-id-211' visibility='default' filepath='include/drm/drm_connector.h' line='318' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='688'>
+          <var-decl name='edid_hdmi_dc_modes' type-id='type-id-53' visibility='default' filepath='include/drm/drm_connector.h' line='324' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='696'>
+          <var-decl name='cea_rev' type-id='type-id-53' visibility='default' filepath='include/drm/drm_connector.h' line='329' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='hdmi' type-id='type-id-1329' visibility='default' filepath='include/drm/drm_connector.h' line='334' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='non_desktop' type-id='type-id-211' visibility='default' filepath='include/drm/drm_connector.h' line='339' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='subpixel_order' filepath='include/drm/drm_connector.h' line='84' column='1' id='type-id-1328'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='SubPixelUnknown' value='0'/>
+        <enumerator name='SubPixelHorizontalRGB' value='1'/>
+        <enumerator name='SubPixelHorizontalBGR' value='2'/>
+        <enumerator name='SubPixelVerticalRGB' value='3'/>
+        <enumerator name='SubPixelVerticalBGR' value='4'/>
+        <enumerator name='SubPixelNone' value='5'/>
+      </enum-decl>
+      <class-decl name='drm_hdmi_info' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/drm/drm_connector.h' line='136' column='1' id='type-id-1329'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='scdc' type-id='type-id-1330' visibility='default' filepath='include/drm/drm_connector.h' line='138' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='y420_vdb_modes' type-id='type-id-1331' visibility='default' filepath='include/drm/drm_connector.h' line='146' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='y420_cmdb_modes' type-id='type-id-1331' visibility='default' filepath='include/drm/drm_connector.h' line='154' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='y420_cmdb_map' type-id='type-id-134' visibility='default' filepath='include/drm/drm_connector.h' line='157' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='y420_dc_modes' type-id='type-id-53' visibility='default' filepath='include/drm/drm_connector.h' line='160' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_scdc' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/drm/drm_connector.h' line='114' column='1' id='type-id-1330'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='supported' type-id='type-id-211' visibility='default' filepath='include/drm/drm_connector.h' line='118' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='read_request' type-id='type-id-211' visibility='default' filepath='include/drm/drm_connector.h' line='122' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='scrambling' type-id='type-id-1332' visibility='default' filepath='include/drm/drm_connector.h' line='126' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_scrambling' size-in-bits='16' is-struct='yes' visibility='default' filepath='include/drm/drm_connector.h' line='97' column='1' id='type-id-1332'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='supported' type-id='type-id-211' visibility='default' filepath='include/drm/drm_connector.h' line='101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='low_rates' type-id='type-id-211' visibility='default' filepath='include/drm/drm_connector.h' line='105' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_connector_funcs' size-in-bits='896' is-struct='yes' visibility='default' filepath='include/drm/drm_connector.h' line='472' column='1' id='type-id-1333'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dpms' type-id='type-id-1334' visibility='default' filepath='include/drm/drm_connector.h' line='489' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='reset' type-id='type-id-1335' visibility='default' filepath='include/drm/drm_connector.h' line='501' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='detect' type-id='type-id-1336' visibility='default' filepath='include/drm/drm_connector.h' line='529' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='force' type-id='type-id-1335' visibility='default' filepath='include/drm/drm_connector.h' line='546' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='fill_modes' type-id='type-id-1337' visibility='default' filepath='include/drm/drm_connector.h' line='571' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='set_property' type-id='type-id-1338' visibility='default' filepath='include/drm/drm_connector.h' line='587' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='late_register' type-id='type-id-1339' visibility='default' filepath='include/drm/drm_connector.h' line='606' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='early_unregister' type-id='type-id-1335' visibility='default' filepath='include/drm/drm_connector.h' line='619' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='destroy' type-id='type-id-1335' visibility='default' filepath='include/drm/drm_connector.h' line='629' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='atomic_duplicate_state' type-id='type-id-1340' visibility='default' filepath='include/drm/drm_connector.h' line='662' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='atomic_destroy_state' type-id='type-id-1341' visibility='default' filepath='include/drm/drm_connector.h' line='672' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='atomic_set_property' type-id='type-id-1342' visibility='default' filepath='include/drm/drm_connector.h' line='717' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='atomic_get_property' type-id='type-id-1343' visibility='default' filepath='include/drm/drm_connector.h' line='740' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='atomic_print_state' type-id='type-id-1344' visibility='default' filepath='include/drm/drm_connector.h' line='754' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_connector_state' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/drm/drm_connector.h' line='382' column='1' id='type-id-1345'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='connector' type-id='type-id-1074' visibility='default' filepath='include/drm/drm_connector.h' line='384' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='crtc' type-id='type-id-1083' visibility='default' filepath='include/drm/drm_connector.h' line='392' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='best_encoder' type-id='type-id-1323' visibility='default' filepath='include/drm/drm_connector.h' line='401' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='link_status' type-id='type-id-1346' visibility='default' filepath='include/drm/drm_connector.h' line='407' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='state' type-id='type-id-1080' visibility='default' filepath='include/drm/drm_connector.h' line='410' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='commit' type-id='type-id-1285' visibility='default' filepath='include/drm/drm_connector.h' line='417' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='tv' type-id='type-id-1347' visibility='default' filepath='include/drm/drm_connector.h' line='420' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='picture_aspect_ratio' type-id='type-id-1220' visibility='default' filepath='include/drm/drm_connector.h' line='429' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='800'>
+          <var-decl name='content_type' type-id='type-id-10' visibility='default' filepath='include/drm/drm_connector.h' line='437' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='scaling_mode' type-id='type-id-10' visibility='default' filepath='include/drm/drm_connector.h' line='443' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='864'>
+          <var-decl name='content_protection' type-id='type-id-10' visibility='default' filepath='include/drm/drm_connector.h' line='449' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='writeback_job' type-id='type-id-1348' visibility='default' filepath='include/drm/drm_connector.h' line='462' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_encoder' size-in-bits='896' is-struct='yes' visibility='default' filepath='include/drm/drm_encoder.h' line='98' column='1' id='type-id-1349'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-1073' visibility='default' filepath='include/drm/drm_encoder.h' line='99' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='head' type-id='type-id-8' visibility='default' filepath='include/drm/drm_encoder.h' line='100' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='base' type-id='type-id-1218' visibility='default' filepath='include/drm/drm_encoder.h' line='102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='name' type-id='type-id-300' visibility='default' filepath='include/drm/drm_encoder.h' line='103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='encoder_type' type-id='type-id-11' visibility='default' filepath='include/drm/drm_encoder.h' line='130' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='index' type-id='type-id-10' visibility='default' filepath='include/drm/drm_encoder.h' line='136' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='possible_crtcs' type-id='type-id-193' visibility='default' filepath='include/drm/drm_encoder.h' line='149' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='possible_clones' type-id='type-id-193' visibility='default' filepath='include/drm/drm_encoder.h' line='166' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='crtc' type-id='type-id-1083' visibility='default' filepath='include/drm/drm_encoder.h' line='173' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='bridge' type-id='type-id-1098' visibility='default' filepath='include/drm/drm_encoder.h' line='174' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='funcs' type-id='type-id-1350' visibility='default' filepath='include/drm/drm_encoder.h' line='175' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='helper_private' type-id='type-id-1351' visibility='default' filepath='include/drm/drm_encoder.h' line='176' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_bridge' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/drm/drm_bridge.h' line='274' column='1' id='type-id-1352'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-1073' visibility='default' filepath='include/drm/drm_bridge.h' line='276' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='encoder' type-id='type-id-1323' visibility='default' filepath='include/drm/drm_bridge.h' line='278' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='next' type-id='type-id-1098' visibility='default' filepath='include/drm/drm_bridge.h' line='280' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='of_node' type-id='type-id-81' visibility='default' filepath='include/drm/drm_bridge.h' line='283' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/drm/drm_bridge.h' line='286' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='timings' type-id='type-id-1353' visibility='default' filepath='include/drm/drm_bridge.h' line='292' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='funcs' type-id='type-id-1354' visibility='default' filepath='include/drm/drm_bridge.h' line='294' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='driver_private' type-id='type-id-3' visibility='default' filepath='include/drm/drm_bridge.h' line='296' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_bridge_timings' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/drm/drm_bridge.h' line='245' column='1' id='type-id-1355'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='sampling_edge' type-id='type-id-9' visibility='default' filepath='include/drm/drm_bridge.h' line='254' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='setup_time_ps' type-id='type-id-9' visibility='default' filepath='include/drm/drm_bridge.h' line='261' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='hold_time_ps' type-id='type-id-9' visibility='default' filepath='include/drm/drm_bridge.h' line='268' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_bridge_funcs' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/drm/drm_bridge.h' line='38' column='1' id='type-id-1356'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='attach' type-id='type-id-1357' visibility='default' filepath='include/drm/drm_bridge.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='detach' type-id='type-id-1358' visibility='default' filepath='include/drm/drm_bridge.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='mode_valid' type-id='type-id-1359' visibility='default' filepath='include/drm/drm_bridge.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='mode_fixup' type-id='type-id-1360' visibility='default' filepath='include/drm/drm_bridge.h' line='132' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='disable' type-id='type-id-1358' visibility='default' filepath='include/drm/drm_bridge.h' line='151' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='post_disable' type-id='type-id-1358' visibility='default' filepath='include/drm/drm_bridge.h' line='170' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='mode_set' type-id='type-id-1361' visibility='default' filepath='include/drm/drm_bridge.h' line='198' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='pre_enable' type-id='type-id-1358' visibility='default' filepath='include/drm/drm_bridge.h' line='219' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='enable' type-id='type-id-1358' visibility='default' filepath='include/drm/drm_bridge.h' line='239' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_encoder_funcs' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/drm/drm_encoder.h' line='39' column='1' id='type-id-1362'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='reset' type-id='type-id-1363' visibility='default' filepath='include/drm/drm_encoder.h' line='47' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='destroy' type-id='type-id-1363' visibility='default' filepath='include/drm/drm_encoder.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='late_register' type-id='type-id-1364' visibility='default' filepath='include/drm/drm_encoder.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='early_unregister' type-id='type-id-1363' visibility='default' filepath='include/drm/drm_encoder.h' line='82' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_encoder_helper_funcs' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='466' column='1' id='type-id-1365'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dpms' type-id='type-id-1366' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='483' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='mode_valid' type-id='type-id-1367' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='516' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='mode_fixup' type-id='type-id-1368' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='559' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='prepare' type-id='type-id-1363' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='576' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='commit' type-id='type-id-1363' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='591' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='mode_set' type-id='type-id-1369' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='615' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='atomic_mode_set' type-id='type-id-1370' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='638' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='get_crtc' type-id='type-id-1371' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='656' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='detect' type-id='type-id-1372' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='673' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='disable' type-id='type-id-1363' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='704' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='enable' type-id='type-id-1363' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='722' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='atomic_check' type-id='type-id-1373' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='760' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_crtc_state' size-in-bits='4544' is-struct='yes' visibility='default' filepath='include/drm/drm_crtc.h' line='98' column='1' id='type-id-1374'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='crtc' type-id='type-id-1083' visibility='default' filepath='include/drm/drm_crtc.h' line='100' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='enable' type-id='type-id-211' visibility='default' filepath='include/drm/drm_crtc.h' line='107' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='72'>
+          <var-decl name='active' type-id='type-id-211' visibility='default' filepath='include/drm/drm_crtc.h' line='122' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7'>
+          <var-decl name='planes_changed' type-id='type-id-211' visibility='default' filepath='include/drm/drm_crtc.h' line='128' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6'>
+          <var-decl name='mode_changed' type-id='type-id-211' visibility='default' filepath='include/drm/drm_crtc.h' line='140' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5'>
+          <var-decl name='active_changed' type-id='type-id-211' visibility='default' filepath='include/drm/drm_crtc.h' line='147' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4'>
+          <var-decl name='connectors_changed' type-id='type-id-211' visibility='default' filepath='include/drm/drm_crtc.h' line='158' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3'>
+          <var-decl name='zpos_changed' type-id='type-id-211' visibility='default' filepath='include/drm/drm_crtc.h' line='164' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2'>
+          <var-decl name='color_mgmt_changed' type-id='type-id-211' visibility='default' filepath='include/drm/drm_crtc.h' line='170' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1'>
+          <var-decl name='no_vblank' type-id='type-id-211' visibility='default' filepath='include/drm/drm_crtc.h' line='193' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='plane_mask' type-id='type-id-9' visibility='default' filepath='include/drm/drm_crtc.h' line='199' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='connector_mask' type-id='type-id-9' visibility='default' filepath='include/drm/drm_crtc.h' line='205' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='encoder_mask' type-id='type-id-9' visibility='default' filepath='include/drm/drm_crtc.h' line='211' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='adjusted_mode' type-id='type-id-1217' visibility='default' filepath='include/drm/drm_crtc.h' line='226' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='mode' type-id='type-id-1217' visibility='default' filepath='include/drm/drm_crtc.h' line='243' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4032'>
+          <var-decl name='mode_blob' type-id='type-id-1079' visibility='default' filepath='include/drm/drm_crtc.h' line='249' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4096'>
+          <var-decl name='degamma_lut' type-id='type-id-1079' visibility='default' filepath='include/drm/drm_crtc.h' line='258' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4160'>
+          <var-decl name='ctm' type-id='type-id-1079' visibility='default' filepath='include/drm/drm_crtc.h' line='266' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4224'>
+          <var-decl name='gamma_lut' type-id='type-id-1079' visibility='default' filepath='include/drm/drm_crtc.h' line='275' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4288'>
+          <var-decl name='target_vblank' type-id='type-id-9' visibility='default' filepath='include/drm/drm_crtc.h' line='283' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4320'>
+          <var-decl name='pageflip_flags' type-id='type-id-9' visibility='default' filepath='include/drm/drm_crtc.h' line='291' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4352'>
+          <var-decl name='event' type-id='type-id-1084' visibility='default' filepath='include/drm/drm_crtc.h' line='341' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4416'>
+          <var-decl name='commit' type-id='type-id-1285' visibility='default' filepath='include/drm/drm_crtc.h' line='350' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4480'>
+          <var-decl name='state' type-id='type-id-1080' visibility='default' filepath='include/drm/drm_crtc.h' line='353' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_property_blob' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/drm/drm_property.h' line='206' column='1' id='type-id-1375'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='base' type-id='type-id-1218' visibility='default' filepath='include/drm/drm_property.h' line='207' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='dev' type-id='type-id-1073' visibility='default' filepath='include/drm/drm_property.h' line='208' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='head_global' type-id='type-id-8' visibility='default' filepath='include/drm/drm_property.h' line='209' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='head_file' type-id='type-id-8' visibility='default' filepath='include/drm/drm_property.h' line='210' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='length' type-id='type-id-125' visibility='default' filepath='include/drm/drm_property.h' line='211' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='data' type-id='type-id-3' visibility='default' filepath='include/drm/drm_property.h' line='212' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_pending_vblank_event' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/drm/drm_vblank.h' line='41' column='1' id='type-id-1376'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='base' type-id='type-id-1377' visibility='default' filepath='include/drm/drm_vblank.h' line='45' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='pipe' type-id='type-id-10' visibility='default' filepath='include/drm/drm_vblank.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='sequence' type-id='type-id-134' visibility='default' filepath='include/drm/drm_vblank.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='event' type-id='type-id-1378' visibility='default' filepath='include/drm/drm_vblank.h' line='77' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_pending_event' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/drm/drm_file.h' line='88' column='1' id='type-id-1377'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='completion' type-id='type-id-176' visibility='default' filepath='include/drm/drm_file.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='completion_release' type-id='type-id-1379' visibility='default' filepath='include/drm/drm_file.h' line='105' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='event' type-id='type-id-1380' visibility='default' filepath='include/drm/drm_file.h' line='115' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='fence' type-id='type-id-893' visibility='default' filepath='include/drm/drm_file.h' line='123' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='file_priv' type-id='type-id-1118' visibility='default' filepath='include/drm/drm_file.h' line='131' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='link' type-id='type-id-8' visibility='default' filepath='include/drm/drm_file.h' line='140' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='pending_link' type-id='type-id-8' visibility='default' filepath='include/drm/drm_file.h' line='149' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_event' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/drm/drm.h' line='935' column='1' id='type-id-1109'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-266' visibility='default' filepath='include/uapi/drm/drm.h' line='936' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='length' type-id='type-id-266' visibility='default' filepath='include/uapi/drm/drm.h' line='937' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='dma_fence' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/linux/dma-fence.h' line='73' column='1' id='type-id-1381'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='refcount' type-id='type-id-771' visibility='default' filepath='include/linux/dma-fence.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ops' type-id='type-id-1115' visibility='default' filepath='include/linux/dma-fence.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/linux/dma-fence.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='cb_list' type-id='type-id-8' visibility='default' filepath='include/linux/dma-fence.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='lock' type-id='type-id-446' visibility='default' filepath='include/linux/dma-fence.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='context' type-id='type-id-134' visibility='default' filepath='include/linux/dma-fence.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='seqno' type-id='type-id-10' visibility='default' filepath='include/linux/dma-fence.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/dma-fence.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='timestamp' type-id='type-id-585' visibility='default' filepath='include/linux/dma-fence.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='error' type-id='type-id-11' visibility='default' filepath='include/linux/dma-fence.h' line='83' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='dma_fence_ops' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/dma-fence.h' line='113' column='1' id='type-id-1382'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='get_driver_name' type-id='type-id-1383' visibility='default' filepath='include/linux/dma-fence.h' line='123' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='get_timeline_name' type-id='type-id-1383' visibility='default' filepath='include/linux/dma-fence.h' line='135' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='enable_signaling' type-id='type-id-1384' visibility='default' filepath='include/linux/dma-fence.h' line='172' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='signaled' type-id='type-id-1384' visibility='default' filepath='include/linux/dma-fence.h' line='189' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='wait' type-id='type-id-1385' visibility='default' filepath='include/linux/dma-fence.h' line='211' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='release' type-id='type-id-1386' visibility='default' filepath='include/linux/dma-fence.h' line='222' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='fence_value_str' type-id='type-id-1387' visibility='default' filepath='include/linux/dma-fence.h' line='232' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='timeline_value_str' type-id='type-id-1387' visibility='default' filepath='include/linux/dma-fence.h' line='242' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_event_vblank' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/uapi/drm/drm.h' line='944' column='1' id='type-id-1110'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='base' type-id='type-id-1109' visibility='default' filepath='include/uapi/drm/drm.h' line='945' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='user_data' type-id='type-id-1120' visibility='default' filepath='include/uapi/drm/drm.h' line='946' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='tv_sec' type-id='type-id-266' visibility='default' filepath='include/uapi/drm/drm.h' line='947' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='tv_usec' type-id='type-id-266' visibility='default' filepath='include/uapi/drm/drm.h' line='948' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='sequence' type-id='type-id-266' visibility='default' filepath='include/uapi/drm/drm.h' line='949' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='crtc_id' type-id='type-id-266' visibility='default' filepath='include/uapi/drm/drm.h' line='950' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_event_crtc_sequence' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/uapi/drm/drm.h' line='956' column='1' id='type-id-1111'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='base' type-id='type-id-1109' visibility='default' filepath='include/uapi/drm/drm.h' line='957' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='user_data' type-id='type-id-1120' visibility='default' filepath='include/uapi/drm/drm.h' line='958' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='time_ns' type-id='type-id-1388' visibility='default' filepath='include/uapi/drm/drm.h' line='959' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='sequence' type-id='type-id-1120' visibility='default' filepath='include/uapi/drm/drm.h' line='960' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_crtc_commit' size-in-bits='1152' is-struct='yes' visibility='default' filepath='include/drm/drm_atomic.h' line='69' column='1' id='type-id-1389'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='crtc' type-id='type-id-1083' visibility='default' filepath='include/drm/drm_atomic.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ref' type-id='type-id-771' visibility='default' filepath='include/drm/drm_atomic.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='flip_done' type-id='type-id-661' visibility='default' filepath='include/drm/drm_atomic.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='hw_done' type-id='type-id-661' visibility='default' filepath='include/drm/drm_atomic.h' line='110' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='cleanup_done' type-id='type-id-661' visibility='default' filepath='include/drm/drm_atomic.h' line='121' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='commit_entry' type-id='type-id-8' visibility='default' filepath='include/drm/drm_atomic.h' line='129' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='event' type-id='type-id-1084' visibility='default' filepath='include/drm/drm_atomic.h' line='136' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='abort_completion' type-id='type-id-211' visibility='default' filepath='include/drm/drm_atomic.h' line='145' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='drm_link_status' filepath='include/drm/drm_connector.h' line='174' column='1' id='type-id-1346'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='DRM_LINK_STATUS_GOOD' value='0'/>
+        <enumerator name='DRM_LINK_STATUS_BAD' value='1'/>
+      </enum-decl>
+      <class-decl name='drm_tv_connector_state' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/drm/drm_connector.h' line='362' column='1' id='type-id-1347'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='subconnector' type-id='type-id-1390' visibility='default' filepath='include/drm/drm_connector.h' line='363' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='margins' type-id='type-id-1391' visibility='default' filepath='include/drm/drm_connector.h' line='369' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='mode' type-id='type-id-10' visibility='default' filepath='include/drm/drm_connector.h' line='370' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='brightness' type-id='type-id-10' visibility='default' filepath='include/drm/drm_connector.h' line='371' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='contrast' type-id='type-id-10' visibility='default' filepath='include/drm/drm_connector.h' line='372' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='flicker_reduction' type-id='type-id-10' visibility='default' filepath='include/drm/drm_connector.h' line='373' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='overscan' type-id='type-id-10' visibility='default' filepath='include/drm/drm_connector.h' line='374' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='saturation' type-id='type-id-10' visibility='default' filepath='include/drm/drm_connector.h' line='375' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='hue' type-id='type-id-10' visibility='default' filepath='include/drm/drm_connector.h' line='376' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='drm_mode_subconnector' filepath='include/uapi/drm/drm_mode.h' line='325' column='1' id='type-id-1390'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='DRM_MODE_SUBCONNECTOR_Automatic' value='0'/>
+        <enumerator name='DRM_MODE_SUBCONNECTOR_Unknown' value='0'/>
+        <enumerator name='DRM_MODE_SUBCONNECTOR_DVID' value='3'/>
+        <enumerator name='DRM_MODE_SUBCONNECTOR_DVIA' value='4'/>
+        <enumerator name='DRM_MODE_SUBCONNECTOR_Composite' value='5'/>
+        <enumerator name='DRM_MODE_SUBCONNECTOR_SVIDEO' value='6'/>
+        <enumerator name='DRM_MODE_SUBCONNECTOR_Component' value='8'/>
+        <enumerator name='DRM_MODE_SUBCONNECTOR_SCART' value='9'/>
+      </enum-decl>
+      <class-decl name='__anonymous_struct__2' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/drm/drm_connector.h' line='364' column='1' id='type-id-1391'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='left' type-id='type-id-10' visibility='default' filepath='include/drm/drm_connector.h' line='365' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='right' type-id='type-id-10' visibility='default' filepath='include/drm/drm_connector.h' line='366' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='top' type-id='type-id-10' visibility='default' filepath='include/drm/drm_connector.h' line='367' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='bottom' type-id='type-id-10' visibility='default' filepath='include/drm/drm_connector.h' line='368' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='uint8_t' type-id='type-id-53' filepath='include/linux/types.h' line='107' column='1' id='type-id-1152'/>
+      <class-decl name='drm_connector_helper_funcs' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='782' column='1' id='type-id-1392'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='get_modes' type-id='type-id-1339' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='819' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='detect_ctx' type-id='type-id-1393' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='845' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='mode_valid' type-id='type-id-1394' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='883' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='best_encoder' type-id='type-id-1395' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='914' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='atomic_best_encoder' type-id='type-id-1396' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='941' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='atomic_check' type-id='type-id-1397' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='975' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='atomic_commit' type-id='type-id-1341' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='990' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_cmdline_mode' size-in-bits='224' is-struct='yes' visibility='default' filepath='include/drm/drm_connector.h' line='759' column='1' id='type-id-1321'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='specified' type-id='type-id-211' visibility='default' filepath='include/drm/drm_connector.h' line='760' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='refresh_specified' type-id='type-id-211' visibility='default' filepath='include/drm/drm_connector.h' line='761' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='bpp_specified' type-id='type-id-211' visibility='default' filepath='include/drm/drm_connector.h' line='762' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='xres' type-id='type-id-11' visibility='default' filepath='include/drm/drm_connector.h' line='763' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='yres' type-id='type-id-11' visibility='default' filepath='include/drm/drm_connector.h' line='763' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='bpp' type-id='type-id-11' visibility='default' filepath='include/drm/drm_connector.h' line='764' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='refresh' type-id='type-id-11' visibility='default' filepath='include/drm/drm_connector.h' line='765' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='rb' type-id='type-id-211' visibility='default' filepath='include/drm/drm_connector.h' line='766' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='168'>
+          <var-decl name='interlace' type-id='type-id-211' visibility='default' filepath='include/drm/drm_connector.h' line='767' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='176'>
+          <var-decl name='cvt' type-id='type-id-211' visibility='default' filepath='include/drm/drm_connector.h' line='768' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='184'>
+          <var-decl name='margins' type-id='type-id-211' visibility='default' filepath='include/drm/drm_connector.h' line='769' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='force' type-id='type-id-1322' visibility='default' filepath='include/drm/drm_connector.h' line='770' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='drm_connector_force' filepath='include/drm/drm_connector.h' line='44' column='1' id='type-id-1322'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='DRM_FORCE_UNSPECIFIED' value='0'/>
+        <enumerator name='DRM_FORCE_OFF' value='1'/>
+        <enumerator name='DRM_FORCE_ON' value='2'/>
+        <enumerator name='DRM_FORCE_ON_DIGITAL' value='3'/>
+      </enum-decl>
+      <class-decl name='drm_tile_group' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/drm/drm_connector.h' line='1215' column='1' id='type-id-1398'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='refcount' type-id='type-id-771' visibility='default' filepath='include/drm/drm_connector.h' line='1216' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dev' type-id='type-id-1073' visibility='default' filepath='include/drm/drm_connector.h' line='1217' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='id' type-id='type-id-11' visibility='default' filepath='include/drm/drm_connector.h' line='1218' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='group_data' type-id='type-id-1399' visibility='default' filepath='include/drm/drm_connector.h' line='1219' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='uint16_t' type-id='type-id-289' filepath='include/linux/types.h' line='108' column='1' id='type-id-1326'/>
+      <class-decl name='drm_crtc_helper_funcs' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='59' column='1' id='type-id-1400'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dpms' type-id='type-id-1401' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='prepare' type-id='type-id-1298' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='commit' type-id='type-id-1298' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='mode_valid' type-id='type-id-1402' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='139' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='mode_fixup' type-id='type-id-1403' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='185' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='mode_set' type-id='type-id-1404' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='204' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='mode_set_nofb' type-id='type-id-1298' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='229' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='mode_set_base' type-id='type-id-1405' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='248' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='mode_set_base_atomic' type-id='type-id-1406' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='265' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='disable' type-id='type-id-1298' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='300' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='atomic_check' type-id='type-id-1407' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='353' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='atomic_begin' type-id='type-id-1308' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='374' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='atomic_flush' type-id='type-id-1308' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='398' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='atomic_enable' type-id='type-id-1308' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='atomic_disable' type-id='type-id-1308' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='445' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='mode_set_atomic' filepath='include/drm/drm_fb_helper.h' line='40' column='1' id='type-id-1408'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='LEAVE_ATOMIC_MODE_SET' value='0'/>
+        <enumerator name='ENTER_ATOMIC_MODE_SET' value='1'/>
+      </enum-decl>
+      <class-decl name='drm_crtc_crc' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/drm/drm_debugfs_crc.h' line='53' column='1' id='type-id-1296'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/drm/drm_debugfs_crc.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='source' type-id='type-id-24' visibility='default' filepath='include/drm/drm_debugfs_crc.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='opened' type-id='type-id-211' visibility='default' filepath='include/drm/drm_debugfs_crc.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='136'>
+          <var-decl name='overflow' type-id='type-id-211' visibility='default' filepath='include/drm/drm_debugfs_crc.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='entries' type-id='type-id-1409' visibility='default' filepath='include/drm/drm_debugfs_crc.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='head' type-id='type-id-11' visibility='default' filepath='include/drm/drm_debugfs_crc.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='tail' type-id='type-id-11' visibility='default' filepath='include/drm/drm_debugfs_crc.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='values_cnt' type-id='type-id-125' visibility='default' filepath='include/drm/drm_debugfs_crc.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='wq' type-id='type-id-388' visibility='default' filepath='include/drm/drm_debugfs_crc.h' line='60' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_crtc_crc_entry' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/drm/drm_debugfs_crc.h' line='33' column='1' id='type-id-1410'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='has_frame_counter' type-id='type-id-211' visibility='default' filepath='include/drm/drm_debugfs_crc.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='frame' type-id='type-id-193' visibility='default' filepath='include/drm/drm_debugfs_crc.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='crcs' type-id='type-id-1147' visibility='default' filepath='include/drm/drm_debugfs_crc.h' line='36' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_plane_funcs' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/drm/drm_plane.h' line='216' column='1' id='type-id-1411'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='update_plane' type-id='type-id-1412' visibility='default' filepath='include/drm/drm_plane.h' line='243' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='disable_plane' type-id='type-id-1413' visibility='default' filepath='include/drm/drm_plane.h' line='266' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='destroy' type-id='type-id-1414' visibility='default' filepath='include/drm/drm_plane.h' line='276' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='reset' type-id='type-id-1414' visibility='default' filepath='include/drm/drm_plane.h' line='288' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='set_property' type-id='type-id-1415' visibility='default' filepath='include/drm/drm_plane.h' line='304' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='atomic_duplicate_state' type-id='type-id-1416' visibility='default' filepath='include/drm/drm_plane.h' line='338' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='atomic_destroy_state' type-id='type-id-1417' visibility='default' filepath='include/drm/drm_plane.h' line='348' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='atomic_set_property' type-id='type-id-1418' visibility='default' filepath='include/drm/drm_plane.h' line='393' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='atomic_get_property' type-id='type-id-1419' visibility='default' filepath='include/drm/drm_plane.h' line='416' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='late_register' type-id='type-id-1420' visibility='default' filepath='include/drm/drm_plane.h' line='433' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='early_unregister' type-id='type-id-1414' visibility='default' filepath='include/drm/drm_plane.h' line='444' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='atomic_print_state' type-id='type-id-1421' visibility='default' filepath='include/drm/drm_plane.h' line='455' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='format_mod_supported' type-id='type-id-1422' visibility='default' filepath='include/drm/drm_plane.h' line='474' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_plane_state' size-in-bits='1152' is-struct='yes' visibility='default' filepath='include/drm/drm_plane.h' line='44' column='1' id='type-id-1423'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='plane' type-id='type-id-1085' visibility='default' filepath='include/drm/drm_plane.h' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='crtc' type-id='type-id-1083' visibility='default' filepath='include/drm/drm_plane.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='fb' type-id='type-id-1090' visibility='default' filepath='include/drm/drm_plane.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='fence' type-id='type-id-893' visibility='default' filepath='include/drm/drm_plane.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='crtc_x' type-id='type-id-1424' visibility='default' filepath='include/drm/drm_plane.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='crtc_y' type-id='type-id-1424' visibility='default' filepath='include/drm/drm_plane.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='crtc_w' type-id='type-id-193' visibility='default' filepath='include/drm/drm_plane.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='crtc_h' type-id='type-id-193' visibility='default' filepath='include/drm/drm_plane.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='src_x' type-id='type-id-193' visibility='default' filepath='include/drm/drm_plane.h' line='103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='src_y' type-id='type-id-193' visibility='default' filepath='include/drm/drm_plane.h' line='108' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='src_h' type-id='type-id-193' visibility='default' filepath='include/drm/drm_plane.h' line='111' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='src_w' type-id='type-id-193' visibility='default' filepath='include/drm/drm_plane.h' line='111' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='alpha' type-id='type-id-289' visibility='default' filepath='include/drm/drm_plane.h' line='119' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='rotation' type-id='type-id-10' visibility='default' filepath='include/drm/drm_plane.h' line='126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='zpos' type-id='type-id-10' visibility='default' filepath='include/drm/drm_plane.h' line='140' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='normalized_zpos' type-id='type-id-10' visibility='default' filepath='include/drm/drm_plane.h' line='149' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='color_encoding' type-id='type-id-1425' visibility='default' filepath='include/drm/drm_plane.h' line='156' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='672'>
+          <var-decl name='color_range' type-id='type-id-1426' visibility='default' filepath='include/drm/drm_plane.h' line='163' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='src' type-id='type-id-1427' visibility='default' filepath='include/drm/drm_plane.h' line='167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='dst' type-id='type-id-1427' visibility='default' filepath='include/drm/drm_plane.h' line='167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='visible' type-id='type-id-211' visibility='default' filepath='include/drm/drm_plane.h' line='175' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='commit' type-id='type-id-1285' visibility='default' filepath='include/drm/drm_plane.h' line='183' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='state' type-id='type-id-1080' visibility='default' filepath='include/drm/drm_plane.h' line='186' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='drm_color_encoding' filepath='include/drm/drm_color_mgmt.h' line='53' column='1' id='type-id-1425'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='DRM_COLOR_YCBCR_BT601' value='0'/>
+        <enumerator name='DRM_COLOR_YCBCR_BT709' value='1'/>
+        <enumerator name='DRM_COLOR_YCBCR_BT2020' value='2'/>
+        <enumerator name='DRM_COLOR_ENCODING_MAX' value='3'/>
+      </enum-decl>
+      <enum-decl name='drm_color_range' filepath='include/drm/drm_color_mgmt.h' line='60' column='1' id='type-id-1426'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='DRM_COLOR_YCBCR_LIMITED_RANGE' value='0'/>
+        <enumerator name='DRM_COLOR_YCBCR_FULL_RANGE' value='1'/>
+        <enumerator name='DRM_COLOR_RANGE_MAX' value='2'/>
+      </enum-decl>
+      <class-decl name='drm_rect' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/drm/drm_rect.h' line='41' column='1' id='type-id-1427'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='x1' type-id='type-id-11' visibility='default' filepath='include/drm/drm_rect.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='y1' type-id='type-id-11' visibility='default' filepath='include/drm/drm_rect.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='x2' type-id='type-id-11' visibility='default' filepath='include/drm/drm_rect.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='y2' type-id='type-id-11' visibility='default' filepath='include/drm/drm_rect.h' line='42' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='drm_plane_type' filepath='include/drm/drm_plane.h' line='496' column='1' id='type-id-1290'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='DRM_PLANE_TYPE_OVERLAY' value='0'/>
+        <enumerator name='DRM_PLANE_TYPE_PRIMARY' value='1'/>
+        <enumerator name='DRM_PLANE_TYPE_CURSOR' value='2'/>
+      </enum-decl>
+      <class-decl name='drm_plane_helper_funcs' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='1011' column='1' id='type-id-1428'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='prepare_fb' type-id='type-id-1429' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='1043' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='cleanup_fb' type-id='type-id-1417' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='1054' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='atomic_check' type-id='type-id-1429' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='1093' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='atomic_update' type-id='type-id-1417' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='1111' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='atomic_disable' type-id='type-id-1417' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='1135' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='atomic_async_check' type-id='type-id-1429' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='1154' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='atomic_async_update' type-id='type-id-1417' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='1193' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__drm_crtcs_state' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/drm/drm_atomic.h' line='153' column='1' id='type-id-1430'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ptr' type-id='type-id-1083' visibility='default' filepath='include/drm/drm_atomic.h' line='154' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='state' type-id='type-id-1087' visibility='default' filepath='include/drm/drm_atomic.h' line='155' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='old_state' type-id='type-id-1087' visibility='default' filepath='include/drm/drm_atomic.h' line='155' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='new_state' type-id='type-id-1087' visibility='default' filepath='include/drm/drm_atomic.h' line='155' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='commit' type-id='type-id-1285' visibility='default' filepath='include/drm/drm_atomic.h' line='165' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='out_fence_ptr' type-id='type-id-1431' visibility='default' filepath='include/drm/drm_atomic.h' line='167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='last_vblank_count' type-id='type-id-134' visibility='default' filepath='include/drm/drm_atomic.h' line='168' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__drm_connnectors_state' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/drm/drm_atomic.h' line='171' column='1' id='type-id-1432'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ptr' type-id='type-id-1074' visibility='default' filepath='include/drm/drm_atomic.h' line='172' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='state' type-id='type-id-1089' visibility='default' filepath='include/drm/drm_atomic.h' line='173' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='old_state' type-id='type-id-1089' visibility='default' filepath='include/drm/drm_atomic.h' line='173' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='new_state' type-id='type-id-1089' visibility='default' filepath='include/drm/drm_atomic.h' line='173' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='out_fence_ptr' type-id='type-id-1431' visibility='default' filepath='include/drm/drm_atomic.h' line='181' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__drm_private_objs_state' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/drm/drm_atomic.h' line='258' column='1' id='type-id-1433'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ptr' type-id='type-id-1434' visibility='default' filepath='include/drm/drm_atomic.h' line='259' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='state' type-id='type-id-1435' visibility='default' filepath='include/drm/drm_atomic.h' line='260' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='old_state' type-id='type-id-1435' visibility='default' filepath='include/drm/drm_atomic.h' line='260' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='new_state' type-id='type-id-1435' visibility='default' filepath='include/drm/drm_atomic.h' line='260' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_private_obj' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/drm/drm_atomic.h' line='231' column='1' id='type-id-1436'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='state' type-id='type-id-1435' visibility='default' filepath='include/drm/drm_atomic.h' line='235' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='funcs' type-id='type-id-1437' visibility='default' filepath='include/drm/drm_atomic.h' line='243' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_private_state' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/drm/drm_atomic.h' line='254' column='1' id='type-id-1438'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='state' type-id='type-id-1080' visibility='default' filepath='include/drm/drm_atomic.h' line='255' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_private_state_funcs' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/drm/drm_atomic.h' line='197' column='1' id='type-id-1439'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='atomic_duplicate_state' type-id='type-id-1440' visibility='default' filepath='include/drm/drm_atomic.h' line='209' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='atomic_destroy_state' type-id='type-id-1441' visibility='default' filepath='include/drm/drm_atomic.h' line='216' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_mode_config_helper_funcs' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='1213' column='1' id='type-id-1442'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='atomic_commit_tail' type-id='type-id-1267' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='1249' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_fb_helper' size-in-bits='2624' is-struct='yes' visibility='default' filepath='include/drm/drm_fb_helper.h' line='157' column='1' id='type-id-1443'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='client' type-id='type-id-1444' visibility='default' filepath='include/drm/drm_fb_helper.h' line='163' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='buffer' type-id='type-id-1445' visibility='default' filepath='include/drm/drm_fb_helper.h' line='170' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='fb' type-id='type-id-1090' visibility='default' filepath='include/drm/drm_fb_helper.h' line='172' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='dev' type-id='type-id-1073' visibility='default' filepath='include/drm/drm_fb_helper.h' line='173' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='crtc_count' type-id='type-id-11' visibility='default' filepath='include/drm/drm_fb_helper.h' line='174' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='crtc_info' type-id='type-id-1446' visibility='default' filepath='include/drm/drm_fb_helper.h' line='175' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='connector_count' type-id='type-id-11' visibility='default' filepath='include/drm/drm_fb_helper.h' line='176' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='736'>
+          <var-decl name='connector_info_alloc_count' type-id='type-id-11' visibility='default' filepath='include/drm/drm_fb_helper.h' line='177' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='sw_rotations' type-id='type-id-11' visibility='default' filepath='include/drm/drm_fb_helper.h' line='184' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='connector_info' type-id='type-id-1447' visibility='default' filepath='include/drm/drm_fb_helper.h' line='191' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='funcs' type-id='type-id-1448' visibility='default' filepath='include/drm/drm_fb_helper.h' line='192' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='fbdev' type-id='type-id-1449' visibility='default' filepath='include/drm/drm_fb_helper.h' line='193' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='pseudo_palette' type-id='type-id-1146' visibility='default' filepath='include/drm/drm_fb_helper.h' line='194' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1568'>
+          <var-decl name='dirty_clip' type-id='type-id-1277' visibility='default' filepath='include/drm/drm_fb_helper.h' line='195' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1632'>
+          <var-decl name='dirty_lock' type-id='type-id-106' visibility='default' filepath='include/drm/drm_fb_helper.h' line='196' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='dirty_work' type-id='type-id-149' visibility='default' filepath='include/drm/drm_fb_helper.h' line='197' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='resume_work' type-id='type-id-149' visibility='default' filepath='include/drm/drm_fb_helper.h' line='198' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='lock' type-id='type-id-407' visibility='default' filepath='include/drm/drm_fb_helper.h' line='210' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='kernel_fb_list' type-id='type-id-8' visibility='default' filepath='include/drm/drm_fb_helper.h' line='217' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='delayed_hotplug' type-id='type-id-211' visibility='default' filepath='include/drm/drm_fb_helper.h' line='226' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2568'>
+          <var-decl name='deferred_setup' type-id='type-id-211' visibility='default' filepath='include/drm/drm_fb_helper.h' line='238' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2592'>
+          <var-decl name='preferred_bpp' type-id='type-id-11' visibility='default' filepath='include/drm/drm_fb_helper.h' line='249' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_client_dev' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/drm/drm_client.h' line='60' column='1' id='type-id-1444'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-1073' visibility='default' filepath='include/drm/drm_client.h' line='64' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/drm/drm_client.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/drm/drm_client.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='funcs' type-id='type-id-1450' visibility='default' filepath='include/drm/drm_client.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='file' type-id='type-id-1118' visibility='default' filepath='include/drm/drm_client.h' line='87' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_client_funcs' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/drm/drm_client.h' line='19' column='1' id='type-id-1451'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/drm/drm_client.h' line='23' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='unregister' type-id='type-id-1452' visibility='default' filepath='include/drm/drm_client.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='restore' type-id='type-id-1453' visibility='default' filepath='include/drm/drm_client.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='hotplug' type-id='type-id-1453' visibility='default' filepath='include/drm/drm_client.h' line='54' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_client_buffer' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/drm/drm_client.h' line='102' column='1' id='type-id-1454'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='client' type-id='type-id-1455' visibility='default' filepath='include/drm/drm_client.h' line='106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='handle' type-id='type-id-9' visibility='default' filepath='include/drm/drm_client.h' line='111' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='pitch' type-id='type-id-9' visibility='default' filepath='include/drm/drm_client.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='gem' type-id='type-id-1140' visibility='default' filepath='include/drm/drm_client.h' line='121' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='vaddr' type-id='type-id-3' visibility='default' filepath='include/drm/drm_client.h' line='126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='fb' type-id='type-id-1090' visibility='default' filepath='include/drm/drm_client.h' line='131' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_fb_helper_crtc' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/drm/drm_fb_helper.h' line='49' column='1' id='type-id-1456'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mode_set' type-id='type-id-1315' visibility='default' filepath='include/drm/drm_fb_helper.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='desired_mode' type-id='type-id-1119' visibility='default' filepath='include/drm/drm_fb_helper.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='x' type-id='type-id-11' visibility='default' filepath='include/drm/drm_fb_helper.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='y' type-id='type-id-11' visibility='default' filepath='include/drm/drm_fb_helper.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='rotation' type-id='type-id-11' visibility='default' filepath='include/drm/drm_fb_helper.h' line='53' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_fb_helper_connector' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/drm/drm_fb_helper.h' line='131' column='1' id='type-id-1457'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='connector' type-id='type-id-1074' visibility='default' filepath='include/drm/drm_fb_helper.h' line='132' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_fb_helper_funcs' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/drm/drm_fb_helper.h' line='89' column='1' id='type-id-1458'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='fb_probe' type-id='type-id-1459' visibility='default' filepath='include/drm/drm_fb_helper.h' line='104' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='initial_config' type-id='type-id-1460' visibility='default' filepath='include/drm/drm_fb_helper.h' line='124' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_fb_helper_surface_size' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/drm/drm_fb_helper.h' line='75' column='1' id='type-id-1461'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='fb_width' type-id='type-id-9' visibility='default' filepath='include/drm/drm_fb_helper.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='fb_height' type-id='type-id-9' visibility='default' filepath='include/drm/drm_fb_helper.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='surface_width' type-id='type-id-9' visibility='default' filepath='include/drm/drm_fb_helper.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='surface_height' type-id='type-id-9' visibility='default' filepath='include/drm/drm_fb_helper.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='surface_bpp' type-id='type-id-9' visibility='default' filepath='include/drm/drm_fb_helper.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='surface_depth' type-id='type-id-9' visibility='default' filepath='include/drm/drm_fb_helper.h' line='81' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_fb_offset' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/drm/drm_fb_helper.h' line='45' column='1' id='type-id-1462'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='x' type-id='type-id-11' visibility='default' filepath='include/drm/drm_fb_helper.h' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='y' type-id='type-id-11' visibility='default' filepath='include/drm/drm_fb_helper.h' line='46' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='fb_info' size-in-bits='6912' is-struct='yes' visibility='default' filepath='include/linux/fb.h' line='464' column='1' id='type-id-1463'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='count' type-id='type-id-137' visibility='default' filepath='include/linux/fb.h' line='465' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='node' type-id='type-id-11' visibility='default' filepath='include/linux/fb.h' line='466' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='flags' type-id='type-id-11' visibility='default' filepath='include/linux/fb.h' line='467' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='fbcon_rotate_hint' type-id='type-id-11' visibility='default' filepath='include/linux/fb.h' line='472' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='lock' type-id='type-id-407' visibility='default' filepath='include/linux/fb.h' line='473' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='mm_lock' type-id='type-id-407' visibility='default' filepath='include/linux/fb.h' line='474' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='var' type-id='type-id-1464' visibility='default' filepath='include/linux/fb.h' line='475' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='fix' type-id='type-id-1465' visibility='default' filepath='include/linux/fb.h' line='476' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='monspecs' type-id='type-id-1466' visibility='default' filepath='include/linux/fb.h' line='477' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3712'>
+          <var-decl name='queue' type-id='type-id-149' visibility='default' filepath='include/linux/fb.h' line='478' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3968'>
+          <var-decl name='pixmap' type-id='type-id-1467' visibility='default' filepath='include/linux/fb.h' line='479' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4416'>
+          <var-decl name='sprite' type-id='type-id-1467' visibility='default' filepath='include/linux/fb.h' line='480' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4864'>
+          <var-decl name='cmap' type-id='type-id-1468' visibility='default' filepath='include/linux/fb.h' line='481' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5184'>
+          <var-decl name='modelist' type-id='type-id-8' visibility='default' filepath='include/linux/fb.h' line='482' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5312'>
+          <var-decl name='mode' type-id='type-id-1469' visibility='default' filepath='include/linux/fb.h' line='483' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5376'>
+          <var-decl name='deferred_work' type-id='type-id-370' visibility='default' filepath='include/linux/fb.h' line='496' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6080'>
+          <var-decl name='fbdefio' type-id='type-id-1470' visibility='default' filepath='include/linux/fb.h' line='497' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6144'>
+          <var-decl name='fbops' type-id='type-id-1471' visibility='default' filepath='include/linux/fb.h' line='500' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6208'>
+          <var-decl name='device' type-id='type-id-86' visibility='default' filepath='include/linux/fb.h' line='501' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6272'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/linux/fb.h' line='502' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6336'>
+          <var-decl name='class_flag' type-id='type-id-11' visibility='default' filepath='include/linux/fb.h' line='503' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6400'>
+          <var-decl name='' type-id='type-id-1472' visibility='default' filepath='include/linux/fb.h' line='507' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6464'>
+          <var-decl name='screen_size' type-id='type-id-100' visibility='default' filepath='include/linux/fb.h' line='511' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6528'>
+          <var-decl name='pseudo_palette' type-id='type-id-3' visibility='default' filepath='include/linux/fb.h' line='512' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6592'>
+          <var-decl name='state' type-id='type-id-9' visibility='default' filepath='include/linux/fb.h' line='515' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6656'>
+          <var-decl name='fbcon_par' type-id='type-id-3' visibility='default' filepath='include/linux/fb.h' line='516' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6720'>
+          <var-decl name='par' type-id='type-id-3' visibility='default' filepath='include/linux/fb.h' line='518' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6784'>
+          <var-decl name='apertures' type-id='type-id-1473' visibility='default' filepath='include/linux/fb.h' line='528' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6848'>
+          <var-decl name='skip_vt_switch' type-id='type-id-211' visibility='default' filepath='include/linux/fb.h' line='530' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='fb_var_screeninfo' size-in-bits='1280' is-struct='yes' visibility='default' filepath='include/uapi/linux/fb.h' line='241' column='1' id='type-id-1464'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='xres' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='242' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='yres' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='243' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='xres_virtual' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='244' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='yres_virtual' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='245' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='xoffset' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='246' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='yoffset' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='247' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='bits_per_pixel' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='249' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='grayscale' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='250' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='red' type-id='type-id-1474' visibility='default' filepath='include/uapi/linux/fb.h' line='252' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='green' type-id='type-id-1474' visibility='default' filepath='include/uapi/linux/fb.h' line='253' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='blue' type-id='type-id-1474' visibility='default' filepath='include/uapi/linux/fb.h' line='254' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='transp' type-id='type-id-1474' visibility='default' filepath='include/uapi/linux/fb.h' line='255' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='nonstd' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='257' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='672'>
+          <var-decl name='activate' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='259' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='height' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='261' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='736'>
+          <var-decl name='width' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='262' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='accel_flags' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='264' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='800'>
+          <var-decl name='pixclock' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='267' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='left_margin' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='268' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='864'>
+          <var-decl name='right_margin' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='269' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='upper_margin' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='270' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='928'>
+          <var-decl name='lower_margin' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='271' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='hsync_len' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='272' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='992'>
+          <var-decl name='vsync_len' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='273' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='sync' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='274' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1056'>
+          <var-decl name='vmode' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='275' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='rotate' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='276' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1120'>
+          <var-decl name='colorspace' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='277' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='reserved' type-id='type-id-1279' visibility='default' filepath='include/uapi/linux/fb.h' line='278' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='fb_bitfield' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/uapi/linux/fb.h' line='188' column='1' id='type-id-1474'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='offset' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='189' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='length' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='190' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='msb_right' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='191' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='fb_fix_screeninfo' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/uapi/linux/fb.h' line='157' column='1' id='type-id-1465'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='id' type-id='type-id-847' visibility='default' filepath='include/uapi/linux/fb.h' line='158' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='smem_start' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/fb.h' line='159' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='smem_len' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='161' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='162' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='type_aux' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='163' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='visual' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='164' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='xpanstep' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/fb.h' line='165' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='336'>
+          <var-decl name='ypanstep' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/fb.h' line='166' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='ywrapstep' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/fb.h' line='167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='line_length' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='168' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='mmio_start' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/fb.h' line='169' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='mmio_len' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='171' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='accel' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='172' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='capabilities' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/fb.h' line='174' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='592'>
+          <var-decl name='reserved' type-id='type-id-1475' visibility='default' filepath='include/uapi/linux/fb.h' line='175' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='fb_monspecs' size-in-bits='1152' is-struct='yes' visibility='default' filepath='include/linux/fb.h' line='63' column='1' id='type-id-1466'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='chroma' type-id='type-id-1476' visibility='default' filepath='include/linux/fb.h' line='64' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='modedb' type-id='type-id-1469' visibility='default' filepath='include/linux/fb.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='manufacturer' type-id='type-id-1125' visibility='default' filepath='include/linux/fb.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='monitor' type-id='type-id-1123' visibility='default' filepath='include/linux/fb.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='464'>
+          <var-decl name='serial_no' type-id='type-id-1123' visibility='default' filepath='include/linux/fb.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='ascii' type-id='type-id-1123' visibility='default' filepath='include/linux/fb.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='modedb_len' type-id='type-id-266' visibility='default' filepath='include/linux/fb.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='736'>
+          <var-decl name='model' type-id='type-id-266' visibility='default' filepath='include/linux/fb.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='serial' type-id='type-id-266' visibility='default' filepath='include/linux/fb.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='800'>
+          <var-decl name='year' type-id='type-id-266' visibility='default' filepath='include/linux/fb.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='week' type-id='type-id-266' visibility='default' filepath='include/linux/fb.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='864'>
+          <var-decl name='hfmin' type-id='type-id-266' visibility='default' filepath='include/linux/fb.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='hfmax' type-id='type-id-266' visibility='default' filepath='include/linux/fb.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='928'>
+          <var-decl name='dclkmin' type-id='type-id-266' visibility='default' filepath='include/linux/fb.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='dclkmax' type-id='type-id-266' visibility='default' filepath='include/linux/fb.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='992'>
+          <var-decl name='input' type-id='type-id-1107' visibility='default' filepath='include/linux/fb.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1008'>
+          <var-decl name='dpms' type-id='type-id-1107' visibility='default' filepath='include/linux/fb.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='signal' type-id='type-id-1107' visibility='default' filepath='include/linux/fb.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1040'>
+          <var-decl name='vfmin' type-id='type-id-1107' visibility='default' filepath='include/linux/fb.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1056'>
+          <var-decl name='vfmax' type-id='type-id-1107' visibility='default' filepath='include/linux/fb.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1072'>
+          <var-decl name='gamma' type-id='type-id-1107' visibility='default' filepath='include/linux/fb.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15'>
+          <var-decl name='gtf' type-id='type-id-1107' visibility='default' filepath='include/linux/fb.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1104'>
+          <var-decl name='misc' type-id='type-id-1107' visibility='default' filepath='include/linux/fb.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1120'>
+          <var-decl name='version' type-id='type-id-1122' visibility='default' filepath='include/linux/fb.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1128'>
+          <var-decl name='revision' type-id='type-id-1122' visibility='default' filepath='include/linux/fb.h' line='88' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1136'>
+          <var-decl name='max_x' type-id='type-id-1122' visibility='default' filepath='include/linux/fb.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1144'>
+          <var-decl name='max_y' type-id='type-id-1122' visibility='default' filepath='include/linux/fb.h' line='90' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='fb_chroma' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/fb.h' line='52' column='1' id='type-id-1476'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='redx' type-id='type-id-266' visibility='default' filepath='include/linux/fb.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='greenx' type-id='type-id-266' visibility='default' filepath='include/linux/fb.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='bluex' type-id='type-id-266' visibility='default' filepath='include/linux/fb.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='whitex' type-id='type-id-266' visibility='default' filepath='include/linux/fb.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='redy' type-id='type-id-266' visibility='default' filepath='include/linux/fb.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='greeny' type-id='type-id-266' visibility='default' filepath='include/linux/fb.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='bluey' type-id='type-id-266' visibility='default' filepath='include/linux/fb.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='whitey' type-id='type-id-266' visibility='default' filepath='include/linux/fb.h' line='60' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='fb_videomode' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/fb.h' line='786' column='1' id='type-id-1477'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/fb.h' line='787' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='refresh' type-id='type-id-9' visibility='default' filepath='include/linux/fb.h' line='788' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='xres' type-id='type-id-9' visibility='default' filepath='include/linux/fb.h' line='789' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='yres' type-id='type-id-9' visibility='default' filepath='include/linux/fb.h' line='790' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='pixclock' type-id='type-id-9' visibility='default' filepath='include/linux/fb.h' line='791' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='left_margin' type-id='type-id-9' visibility='default' filepath='include/linux/fb.h' line='792' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='right_margin' type-id='type-id-9' visibility='default' filepath='include/linux/fb.h' line='793' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='upper_margin' type-id='type-id-9' visibility='default' filepath='include/linux/fb.h' line='794' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='lower_margin' type-id='type-id-9' visibility='default' filepath='include/linux/fb.h' line='795' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='hsync_len' type-id='type-id-9' visibility='default' filepath='include/linux/fb.h' line='796' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='vsync_len' type-id='type-id-9' visibility='default' filepath='include/linux/fb.h' line='797' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='sync' type-id='type-id-9' visibility='default' filepath='include/linux/fb.h' line='798' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='vmode' type-id='type-id-9' visibility='default' filepath='include/linux/fb.h' line='799' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='flag' type-id='type-id-9' visibility='default' filepath='include/linux/fb.h' line='800' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='fb_pixmap' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/fb.h' line='213' column='1' id='type-id-1467'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='addr' type-id='type-id-67' visibility='default' filepath='include/linux/fb.h' line='214' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='size' type-id='type-id-9' visibility='default' filepath='include/linux/fb.h' line='215' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='offset' type-id='type-id-9' visibility='default' filepath='include/linux/fb.h' line='216' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='buf_align' type-id='type-id-9' visibility='default' filepath='include/linux/fb.h' line='217' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='scan_align' type-id='type-id-9' visibility='default' filepath='include/linux/fb.h' line='218' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='access_align' type-id='type-id-9' visibility='default' filepath='include/linux/fb.h' line='219' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='flags' type-id='type-id-9' visibility='default' filepath='include/linux/fb.h' line='220' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='blit_x' type-id='type-id-9' visibility='default' filepath='include/linux/fb.h' line='221' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='blit_y' type-id='type-id-9' visibility='default' filepath='include/linux/fb.h' line='222' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='writeio' type-id='type-id-1478' visibility='default' filepath='include/linux/fb.h' line='226' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='readio' type-id='type-id-1478' visibility='default' filepath='include/linux/fb.h' line='227' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='fb_cmap' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/uapi/linux/fb.h' line='281' column='1' id='type-id-1468'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='start' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='282' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='len' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='283' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='red' type-id='type-id-1479' visibility='default' filepath='include/uapi/linux/fb.h' line='284' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='green' type-id='type-id-1479' visibility='default' filepath='include/uapi/linux/fb.h' line='285' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='blue' type-id='type-id-1479' visibility='default' filepath='include/uapi/linux/fb.h' line='286' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='transp' type-id='type-id-1479' visibility='default' filepath='include/uapi/linux/fb.h' line='287' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='fb_deferred_io' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/fb.h' line='231' column='1' id='type-id-1480'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='delay' type-id='type-id-100' visibility='default' filepath='include/linux/fb.h' line='233' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='lock' type-id='type-id-407' visibility='default' filepath='include/linux/fb.h' line='234' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='pagelist' type-id='type-id-8' visibility='default' filepath='include/linux/fb.h' line='235' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='first_io' type-id='type-id-1481' visibility='default' filepath='include/linux/fb.h' line='237' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='deferred_io' type-id='type-id-1482' visibility='default' filepath='include/linux/fb.h' line='238' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='fb_ops' size-in-bits='1472' is-struct='yes' visibility='default' filepath='include/linux/fb.h' line='256' column='1' id='type-id-1483'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/linux/fb.h' line='258' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='fb_open' type-id='type-id-1484' visibility='default' filepath='include/linux/fb.h' line='259' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='fb_release' type-id='type-id-1484' visibility='default' filepath='include/linux/fb.h' line='260' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='fb_read' type-id='type-id-1485' visibility='default' filepath='include/linux/fb.h' line='265' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='fb_write' type-id='type-id-1486' visibility='default' filepath='include/linux/fb.h' line='267' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='fb_check_var' type-id='type-id-1487' visibility='default' filepath='include/linux/fb.h' line='272' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='fb_set_par' type-id='type-id-1488' visibility='default' filepath='include/linux/fb.h' line='275' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='fb_setcolreg' type-id='type-id-1489' visibility='default' filepath='include/linux/fb.h' line='278' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='fb_setcmap' type-id='type-id-1490' visibility='default' filepath='include/linux/fb.h' line='282' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='fb_blank' type-id='type-id-1491' visibility='default' filepath='include/linux/fb.h' line='285' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='fb_pan_display' type-id='type-id-1487' visibility='default' filepath='include/linux/fb.h' line='288' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='fb_fillrect' type-id='type-id-1492' visibility='default' filepath='include/linux/fb.h' line='291' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='fb_copyarea' type-id='type-id-1493' visibility='default' filepath='include/linux/fb.h' line='293' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='fb_imageblit' type-id='type-id-1494' visibility='default' filepath='include/linux/fb.h' line='295' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='fb_cursor' type-id='type-id-1495' visibility='default' filepath='include/linux/fb.h' line='298' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='fb_sync' type-id='type-id-1488' visibility='default' filepath='include/linux/fb.h' line='301' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='fb_ioctl' type-id='type-id-1496' visibility='default' filepath='include/linux/fb.h' line='304' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='fb_compat_ioctl' type-id='type-id-1496' visibility='default' filepath='include/linux/fb.h' line='308' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='fb_mmap' type-id='type-id-1497' visibility='default' filepath='include/linux/fb.h' line='312' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='fb_get_caps' type-id='type-id-1498' visibility='default' filepath='include/linux/fb.h' line='315' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='fb_destroy' type-id='type-id-1481' visibility='default' filepath='include/linux/fb.h' line='319' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='fb_debug_enter' type-id='type-id-1488' visibility='default' filepath='include/linux/fb.h' line='322' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='fb_debug_leave' type-id='type-id-1488' visibility='default' filepath='include/linux/fb.h' line='323' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='fb_fillrect' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/uapi/linux/fb.h' line='350' column='1' id='type-id-1499'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dx' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='351' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='dy' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='352' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='width' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='353' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='height' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='354' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='color' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='355' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='rop' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='356' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='fb_copyarea' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/uapi/linux/fb.h' line='341' column='1' id='type-id-1500'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dx' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='342' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='dy' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='343' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='width' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='344' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='height' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='345' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='sx' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='346' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='sy' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='347' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='fb_image' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/uapi/linux/fb.h' line='359' column='1' id='type-id-1501'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dx' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='360' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='dy' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='361' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='width' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='362' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='height' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='363' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='fg_color' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='364' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='bg_color' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fb.h' line='365' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='depth' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/fb.h' line='366' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='data' type-id='type-id-24' visibility='default' filepath='include/uapi/linux/fb.h' line='367' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='cmap' type-id='type-id-1468' visibility='default' filepath='include/uapi/linux/fb.h' line='368' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='fb_cursor' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/uapi/linux/fb.h' line='387' column='1' id='type-id-1502'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='set' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/fb.h' line='388' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='enable' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/fb.h' line='389' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='rop' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/fb.h' line='390' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='mask' type-id='type-id-24' visibility='default' filepath='include/uapi/linux/fb.h' line='391' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='hot' type-id='type-id-1503' visibility='default' filepath='include/uapi/linux/fb.h' line='392' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='image' type-id='type-id-1501' visibility='default' filepath='include/uapi/linux/fb.h' line='393' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='fbcurpos' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/uapi/linux/fb.h' line='383' column='1' id='type-id-1503'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='x' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/fb.h' line='384' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='y' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/fb.h' line='384' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='fb_blit_caps' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/fb.h' line='172' column='1' id='type-id-1504'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='x' type-id='type-id-9' visibility='default' filepath='include/linux/fb.h' line='173' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='y' type-id='type-id-9' visibility='default' filepath='include/linux/fb.h' line='174' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='len' type-id='type-id-9' visibility='default' filepath='include/linux/fb.h' line='175' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='flags' type-id='type-id-9' visibility='default' filepath='include/linux/fb.h' line='176' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__6' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/fb.h' line='507' column='1' id='type-id-1472'>
+        <data-member access='private'>
+          <var-decl name='screen_base' type-id='type-id-300' visibility='default' filepath='include/linux/fb.h' line='508' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='screen_buffer' type-id='type-id-300' visibility='default' filepath='include/linux/fb.h' line='509' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='drm_connector_list_iter' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/drm/drm_connector.h' line='1238' column='1' id='type-id-1505'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-1073' visibility='default' filepath='include/drm/drm_connector.h' line='1240' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='conn' type-id='type-id-1074' visibility='default' filepath='include/drm/drm_connector.h' line='1241' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-1432' size-in-bits='64' id='type-id-1283'/>
+      <pointer-type-def type-id='type-id-1430' size-in-bits='64' id='type-id-1282'/>
+      <pointer-type-def type-id='type-id-1286' size-in-bits='64' id='type-id-1281'/>
+      <pointer-type-def type-id='type-id-1433' size-in-bits='64' id='type-id-1284'/>
+      <pointer-type-def type-id='type-id-1107' size-in-bits='64' id='type-id-1479'/>
+      <pointer-type-def type-id='type-id-1129' size-in-bits='64' id='type-id-1244'/>
+      <pointer-type-def type-id='type-id-1506' size-in-bits='64' id='type-id-1383'/>
+      <qualified-type-def type-id='type-id-1382' const='yes' id='type-id-1507'/>
+      <pointer-type-def type-id='type-id-1507' size-in-bits='64' id='type-id-1115'/>
+      <qualified-type-def type-id='type-id-1356' const='yes' id='type-id-1508'/>
+      <pointer-type-def type-id='type-id-1508' size-in-bits='64' id='type-id-1354'/>
+      <qualified-type-def type-id='type-id-1355' const='yes' id='type-id-1509'/>
+      <pointer-type-def type-id='type-id-1509' size-in-bits='64' id='type-id-1353'/>
+      <qualified-type-def type-id='type-id-1451' const='yes' id='type-id-1510'/>
+      <pointer-type-def type-id='type-id-1510' size-in-bits='64' id='type-id-1450'/>
+      <qualified-type-def type-id='type-id-1333' const='yes' id='type-id-1511'/>
+      <pointer-type-def type-id='type-id-1511' size-in-bits='64' id='type-id-1075'/>
+      <qualified-type-def type-id='type-id-1392' const='yes' id='type-id-1512'/>
+      <pointer-type-def type-id='type-id-1512' size-in-bits='64' id='type-id-1320'/>
+      <qualified-type-def type-id='type-id-1345' const='yes' id='type-id-1513'/>
+      <pointer-type-def type-id='type-id-1513' size-in-bits='64' id='type-id-1514'/>
+      <qualified-type-def type-id='type-id-1297' const='yes' id='type-id-1515'/>
+      <pointer-type-def type-id='type-id-1515' size-in-bits='64' id='type-id-1293'/>
+      <qualified-type-def type-id='type-id-1400' const='yes' id='type-id-1516'/>
+      <pointer-type-def type-id='type-id-1516' size-in-bits='64' id='type-id-1295'/>
+      <qualified-type-def type-id='type-id-1374' const='yes' id='type-id-1517'/>
+      <pointer-type-def type-id='type-id-1517' size-in-bits='64' id='type-id-1518'/>
+      <qualified-type-def type-id='type-id-1217' const='yes' id='type-id-1519'/>
+      <pointer-type-def type-id='type-id-1519' size-in-bits='64' id='type-id-1520'/>
+      <qualified-type-def type-id='type-id-1362' const='yes' id='type-id-1521'/>
+      <pointer-type-def type-id='type-id-1521' size-in-bits='64' id='type-id-1350'/>
+      <qualified-type-def type-id='type-id-1365' const='yes' id='type-id-1522'/>
+      <pointer-type-def type-id='type-id-1522' size-in-bits='64' id='type-id-1351'/>
+      <qualified-type-def type-id='type-id-1458' const='yes' id='type-id-1523'/>
+      <pointer-type-def type-id='type-id-1523' size-in-bits='64' id='type-id-1448'/>
+      <qualified-type-def type-id='type-id-1271' const='yes' id='type-id-1524'/>
+      <pointer-type-def type-id='type-id-1524' size-in-bits='64' id='type-id-1269'/>
+      <pointer-type-def type-id='type-id-1525' size-in-bits='64' id='type-id-1262'/>
+      <qualified-type-def type-id='type-id-1273' const='yes' id='type-id-1526'/>
+      <pointer-type-def type-id='type-id-1526' size-in-bits='64' id='type-id-1270'/>
+      <qualified-type-def type-id='type-id-1133' const='yes' id='type-id-1527'/>
+      <pointer-type-def type-id='type-id-1527' size-in-bits='64' id='type-id-1528'/>
+      <qualified-type-def type-id='type-id-1233' const='yes' id='type-id-1529'/>
+      <pointer-type-def type-id='type-id-1529' size-in-bits='64' id='type-id-1208'/>
+      <qualified-type-def type-id='type-id-1260' const='yes' id='type-id-1530'/>
+      <pointer-type-def type-id='type-id-1530' size-in-bits='64' id='type-id-1253'/>
+      <qualified-type-def type-id='type-id-1442' const='yes' id='type-id-1531'/>
+      <pointer-type-def type-id='type-id-1531' size-in-bits='64' id='type-id-1255'/>
+      <qualified-type-def type-id='type-id-1278' const='yes' id='type-id-1532'/>
+      <pointer-type-def type-id='type-id-1532' size-in-bits='64' id='type-id-1533'/>
+      <qualified-type-def type-id='type-id-1411' const='yes' id='type-id-1534'/>
+      <pointer-type-def type-id='type-id-1534' size-in-bits='64' id='type-id-1289'/>
+      <qualified-type-def type-id='type-id-1428' const='yes' id='type-id-1535'/>
+      <pointer-type-def type-id='type-id-1535' size-in-bits='64' id='type-id-1291'/>
+      <qualified-type-def type-id='type-id-1423' const='yes' id='type-id-1536'/>
+      <pointer-type-def type-id='type-id-1536' size-in-bits='64' id='type-id-1537'/>
+      <qualified-type-def type-id='type-id-1439' const='yes' id='type-id-1538'/>
+      <pointer-type-def type-id='type-id-1538' size-in-bits='64' id='type-id-1437'/>
+      <qualified-type-def type-id='type-id-1500' const='yes' id='type-id-1539'/>
+      <pointer-type-def type-id='type-id-1539' size-in-bits='64' id='type-id-1540'/>
+      <qualified-type-def type-id='type-id-1499' const='yes' id='type-id-1541'/>
+      <pointer-type-def type-id='type-id-1541' size-in-bits='64' id='type-id-1542'/>
+      <qualified-type-def type-id='type-id-1501' const='yes' id='type-id-1543'/>
+      <pointer-type-def type-id='type-id-1543' size-in-bits='64' id='type-id-1544'/>
+      <pointer-type-def type-id='type-id-1130' size-in-bits='64' id='type-id-1545'/>
+      <pointer-type-def type-id='type-id-1546' size-in-bits='64' id='type-id-1195'/>
+      <pointer-type-def type-id='type-id-1131' size-in-bits='64' id='type-id-1547'/>
+      <pointer-type-def type-id='type-id-1381' size-in-bits='64' id='type-id-893'/>
+      <pointer-type-def type-id='type-id-1242' size-in-bits='64' id='type-id-1165'/>
+      <pointer-type-def type-id='type-id-1280' size-in-bits='64' id='type-id-1080'/>
+      <pointer-type-def type-id='type-id-1548' size-in-bits='64' id='type-id-1266'/>
+      <pointer-type-def type-id='type-id-1352' size-in-bits='64' id='type-id-1098'/>
+      <pointer-type-def type-id='type-id-1454' size-in-bits='64' id='type-id-1445'/>
+      <pointer-type-def type-id='type-id-1444' size-in-bits='64' id='type-id-1455'/>
+      <pointer-type-def type-id='type-id-1277' size-in-bits='64' id='type-id-1549'/>
+      <pointer-type-def type-id='type-id-1317' size-in-bits='64' id='type-id-1074'/>
+      <pointer-type-def type-id='type-id-1074' size-in-bits='64' id='type-id-1316'/>
+      <pointer-type-def type-id='type-id-1505' size-in-bits='64' id='type-id-1550'/>
+      <pointer-type-def type-id='type-id-1345' size-in-bits='64' id='type-id-1089'/>
+      <pointer-type-def type-id='type-id-1551' size-in-bits='64' id='type-id-1340'/>
+      <pointer-type-def type-id='type-id-1292' size-in-bits='64' id='type-id-1083'/>
+      <pointer-type-def type-id='type-id-1552' size-in-bits='64' id='type-id-1371'/>
+      <pointer-type-def type-id='type-id-1389' size-in-bits='64' id='type-id-1285'/>
+      <pointer-type-def type-id='type-id-1410' size-in-bits='64' id='type-id-1409'/>
+      <pointer-type-def type-id='type-id-1374' size-in-bits='64' id='type-id-1087'/>
+      <pointer-type-def type-id='type-id-1553' size-in-bits='64' id='type-id-1307'/>
+      <pointer-type-def type-id='type-id-1156' size-in-bits='64' id='type-id-1073'/>
+      <pointer-type-def type-id='type-id-1132' size-in-bits='64' id='type-id-1162'/>
+      <pointer-type-def type-id='type-id-1217' size-in-bits='64' id='type-id-1119'/>
+      <pointer-type-def type-id='type-id-1119' size-in-bits='64' id='type-id-1554'/>
+      <pointer-type-def type-id='type-id-1172' size-in-bits='64' id='type-id-1157'/>
+      <pointer-type-def type-id='type-id-1349' size-in-bits='64' id='type-id-1323'/>
+      <pointer-type-def type-id='type-id-1555' size-in-bits='64' id='type-id-1395'/>
+      <pointer-type-def type-id='type-id-1556' size-in-bits='64' id='type-id-1396'/>
+      <pointer-type-def type-id='type-id-1109' size-in-bits='64' id='type-id-1380'/>
+      <pointer-type-def type-id='type-id-1443' size-in-bits='64' id='type-id-1171'/>
+      <pointer-type-def type-id='type-id-1457' size-in-bits='64' id='type-id-1557'/>
+      <pointer-type-def type-id='type-id-1557' size-in-bits='64' id='type-id-1447'/>
+      <pointer-type-def type-id='type-id-1456' size-in-bits='64' id='type-id-1446'/>
+      <pointer-type-def type-id='type-id-1446' size-in-bits='64' id='type-id-1558'/>
+      <pointer-type-def type-id='type-id-1461' size-in-bits='64' id='type-id-1559'/>
+      <pointer-type-def type-id='type-id-1462' size-in-bits='64' id='type-id-1560'/>
+      <pointer-type-def type-id='type-id-1212' size-in-bits='64' id='type-id-1118'/>
+      <pointer-type-def type-id='type-id-1268' size-in-bits='64' id='type-id-1090'/>
+      <pointer-type-def type-id='type-id-1561' size-in-bits='64' id='type-id-1261'/>
+      <pointer-type-def type-id='type-id-1133' size-in-bits='64' id='type-id-1140'/>
+      <pointer-type-def type-id='type-id-1562' size-in-bits='64' id='type-id-1196'/>
+      <pointer-type-def type-id='type-id-1563' size-in-bits='64' id='type-id-1200'/>
+      <pointer-type-def type-id='type-id-1564' size-in-bits='64' id='type-id-1192'/>
+      <pointer-type-def type-id='type-id-1248' size-in-bits='64' id='type-id-1247'/>
+      <pointer-type-def type-id='type-id-1237' size-in-bits='64' id='type-id-1235'/>
+      <pointer-type-def type-id='type-id-1134' size-in-bits='64' id='type-id-1168'/>
+      <pointer-type-def type-id='type-id-1135' size-in-bits='64' id='type-id-1159'/>
+      <pointer-type-def type-id='type-id-1216' size-in-bits='64' id='type-id-1158'/>
+      <pointer-type-def type-id='type-id-1232' size-in-bits='64' id='type-id-1565'/>
+      <pointer-type-def type-id='type-id-1218' size-in-bits='64' id='type-id-1117'/>
+      <pointer-type-def type-id='type-id-1315' size-in-bits='64' id='type-id-1091'/>
+      <pointer-type-def type-id='type-id-1257' size-in-bits='64' id='type-id-1088'/>
+      <pointer-type-def type-id='type-id-1250' size-in-bits='64' id='type-id-1259'/>
+      <pointer-type-def type-id='type-id-1223' size-in-bits='64' id='type-id-1221'/>
+      <pointer-type-def type-id='type-id-1376' size-in-bits='64' id='type-id-1084'/>
+      <pointer-type-def type-id='type-id-1287' size-in-bits='64' id='type-id-1085'/>
+      <pointer-type-def type-id='type-id-1423' size-in-bits='64' id='type-id-1086'/>
+      <pointer-type-def type-id='type-id-1566' size-in-bits='64' id='type-id-1416'/>
+      <pointer-type-def type-id='type-id-1226' size-in-bits='64' id='type-id-1567'/>
+      <pointer-type-def type-id='type-id-1436' size-in-bits='64' id='type-id-1434'/>
+      <pointer-type-def type-id='type-id-1438' size-in-bits='64' id='type-id-1435'/>
+      <pointer-type-def type-id='type-id-1568' size-in-bits='64' id='type-id-1440'/>
+      <pointer-type-def type-id='type-id-1224' size-in-bits='64' id='type-id-1093'/>
+      <pointer-type-def type-id='type-id-1375' size-in-bits='64' id='type-id-1079'/>
+      <pointer-type-def type-id='type-id-1136' size-in-bits='64' id='type-id-1166'/>
+      <pointer-type-def type-id='type-id-1398' size-in-bits='64' id='type-id-1325'/>
+      <pointer-type-def type-id='type-id-1239' size-in-bits='64' id='type-id-1164'/>
+      <pointer-type-def type-id='type-id-1137' size-in-bits='64' id='type-id-1170'/>
+      <pointer-type-def type-id='type-id-1138' size-in-bits='64' id='type-id-1348'/>
+      <pointer-type-def type-id='type-id-1569' size-in-bits='64' id='type-id-1336'/>
+      <pointer-type-def type-id='type-id-1570' size-in-bits='64' id='type-id-1372'/>
+      <pointer-type-def type-id='type-id-1571' size-in-bits='64' id='type-id-1359'/>
+      <pointer-type-def type-id='type-id-1572' size-in-bits='64' id='type-id-1394'/>
+      <pointer-type-def type-id='type-id-1573' size-in-bits='64' id='type-id-1402'/>
+      <pointer-type-def type-id='type-id-1574' size-in-bits='64' id='type-id-1263'/>
+      <pointer-type-def type-id='type-id-1575' size-in-bits='64' id='type-id-1367'/>
+      <pointer-type-def type-id='type-id-1504' size-in-bits='64' id='type-id-1576'/>
+      <pointer-type-def type-id='type-id-1468' size-in-bits='64' id='type-id-1577'/>
+      <pointer-type-def type-id='type-id-1502' size-in-bits='64' id='type-id-1578'/>
+      <pointer-type-def type-id='type-id-1480' size-in-bits='64' id='type-id-1470'/>
+      <pointer-type-def type-id='type-id-1463' size-in-bits='64' id='type-id-1449'/>
+      <pointer-type-def type-id='type-id-1483' size-in-bits='64' id='type-id-1471'/>
+      <pointer-type-def type-id='type-id-1464' size-in-bits='64' id='type-id-1579'/>
+      <pointer-type-def type-id='type-id-1477' size-in-bits='64' id='type-id-1469'/>
+      <pointer-type-def type-id='type-id-1580' size-in-bits='64' id='type-id-1357'/>
+      <pointer-type-def type-id='type-id-1581' size-in-bits='64' id='type-id-1453'/>
+      <pointer-type-def type-id='type-id-1582' size-in-bits='64' id='type-id-1339'/>
+      <pointer-type-def type-id='type-id-1583' size-in-bits='64' id='type-id-1343'/>
+      <pointer-type-def type-id='type-id-1584' size-in-bits='64' id='type-id-1397'/>
+      <pointer-type-def type-id='type-id-1585' size-in-bits='64' id='type-id-1342'/>
+      <pointer-type-def type-id='type-id-1586' size-in-bits='64' id='type-id-1393'/>
+      <pointer-type-def type-id='type-id-1587' size-in-bits='64' id='type-id-1338'/>
+      <pointer-type-def type-id='type-id-1588' size-in-bits='64' id='type-id-1334'/>
+      <pointer-type-def type-id='type-id-1589' size-in-bits='64' id='type-id-1337'/>
+      <pointer-type-def type-id='type-id-1590' size-in-bits='64' id='type-id-1311'/>
+      <pointer-type-def type-id='type-id-1591' size-in-bits='64' id='type-id-1312'/>
+      <pointer-type-def type-id='type-id-1592' size-in-bits='64' id='type-id-1310'/>
+      <pointer-type-def type-id='type-id-1593' size-in-bits='64' id='type-id-1407'/>
+      <pointer-type-def type-id='type-id-1594' size-in-bits='64' id='type-id-1309'/>
+      <pointer-type-def type-id='type-id-1595' size-in-bits='64' id='type-id-1404'/>
+      <pointer-type-def type-id='type-id-1596' size-in-bits='64' id='type-id-1299'/>
+      <pointer-type-def type-id='type-id-1597' size-in-bits='64' id='type-id-1300'/>
+      <pointer-type-def type-id='type-id-1598' size-in-bits='64' id='type-id-1304'/>
+      <pointer-type-def type-id='type-id-1599' size-in-bits='64' id='type-id-1305'/>
+      <pointer-type-def type-id='type-id-1600' size-in-bits='64' id='type-id-1406'/>
+      <pointer-type-def type-id='type-id-1601' size-in-bits='64' id='type-id-1306'/>
+      <pointer-type-def type-id='type-id-1602' size-in-bits='64' id='type-id-1301'/>
+      <pointer-type-def type-id='type-id-1603' size-in-bits='64' id='type-id-1405'/>
+      <pointer-type-def type-id='type-id-1604' size-in-bits='64' id='type-id-1302'/>
+      <pointer-type-def type-id='type-id-1605' size-in-bits='64' id='type-id-1183'/>
+      <pointer-type-def type-id='type-id-1606' size-in-bits='64' id='type-id-1264'/>
+      <pointer-type-def type-id='type-id-1607' size-in-bits='64' id='type-id-1265'/>
+      <pointer-type-def type-id='type-id-1608' size-in-bits='64' id='type-id-1174'/>
+      <pointer-type-def type-id='type-id-1609' size-in-bits='64' id='type-id-1194'/>
+      <pointer-type-def type-id='type-id-1610' size-in-bits='64' id='type-id-1186'/>
+      <pointer-type-def type-id='type-id-1611' size-in-bits='64' id='type-id-1193'/>
+      <pointer-type-def type-id='type-id-1612' size-in-bits='64' id='type-id-1184'/>
+      <pointer-type-def type-id='type-id-1613' size-in-bits='64' id='type-id-1211'/>
+      <pointer-type-def type-id='type-id-1614' size-in-bits='64' id='type-id-1178'/>
+      <pointer-type-def type-id='type-id-1615' size-in-bits='64' id='type-id-1173'/>
+      <pointer-type-def type-id='type-id-1236' size-in-bits='64' id='type-id-1210'/>
+      <pointer-type-def type-id='type-id-1616' size-in-bits='64' id='type-id-1364'/>
+      <pointer-type-def type-id='type-id-1617' size-in-bits='64' id='type-id-1373'/>
+      <pointer-type-def type-id='type-id-1618' size-in-bits='64' id='type-id-1459'/>
+      <pointer-type-def type-id='type-id-1619' size-in-bits='64' id='type-id-1204'/>
+      <pointer-type-def type-id='type-id-1620' size-in-bits='64' id='type-id-1206'/>
+      <pointer-type-def type-id='type-id-1621' size-in-bits='64' id='type-id-1205'/>
+      <pointer-type-def type-id='type-id-1622' size-in-bits='64' id='type-id-1275'/>
+      <pointer-type-def type-id='type-id-1623' size-in-bits='64' id='type-id-1276'/>
+      <pointer-type-def type-id='type-id-1624' size-in-bits='64' id='type-id-1197'/>
+      <pointer-type-def type-id='type-id-1625' size-in-bits='64' id='type-id-1189'/>
+      <pointer-type-def type-id='type-id-1626' size-in-bits='64' id='type-id-1203'/>
+      <pointer-type-def type-id='type-id-1627' size-in-bits='64' id='type-id-1187'/>
+      <pointer-type-def type-id='type-id-1628' size-in-bits='64' id='type-id-1303'/>
+      <pointer-type-def type-id='type-id-1629' size-in-bits='64' id='type-id-1420'/>
+      <pointer-type-def type-id='type-id-1630' size-in-bits='64' id='type-id-1419'/>
+      <pointer-type-def type-id='type-id-1631' size-in-bits='64' id='type-id-1412'/>
+      <pointer-type-def type-id='type-id-1632' size-in-bits='64' id='type-id-1413'/>
+      <pointer-type-def type-id='type-id-1633' size-in-bits='64' id='type-id-1429'/>
+      <pointer-type-def type-id='type-id-1634' size-in-bits='64' id='type-id-1418'/>
+      <pointer-type-def type-id='type-id-1635' size-in-bits='64' id='type-id-1415'/>
+      <pointer-type-def type-id='type-id-1636' size-in-bits='64' id='type-id-1490'/>
+      <pointer-type-def type-id='type-id-1637' size-in-bits='64' id='type-id-1488'/>
+      <pointer-type-def type-id='type-id-1638' size-in-bits='64' id='type-id-1495'/>
+      <pointer-type-def type-id='type-id-1639' size-in-bits='64' id='type-id-1484'/>
+      <pointer-type-def type-id='type-id-1640' size-in-bits='64' id='type-id-1496'/>
+      <pointer-type-def type-id='type-id-1641' size-in-bits='64' id='type-id-1497'/>
+      <pointer-type-def type-id='type-id-1642' size-in-bits='64' id='type-id-1487'/>
+      <pointer-type-def type-id='type-id-1643' size-in-bits='64' id='type-id-1491'/>
+      <pointer-type-def type-id='type-id-1644' size-in-bits='64' id='type-id-1489'/>
+      <pointer-type-def type-id='type-id-1645' size-in-bits='64' id='type-id-1385'/>
+      <pointer-type-def type-id='type-id-1139' size-in-bits='64' id='type-id-1646'/>
+      <pointer-type-def type-id='type-id-1647' size-in-bits='64' id='type-id-1198'/>
+      <pointer-type-def type-id='type-id-1648' size-in-bits='64' id='type-id-1199'/>
+      <pointer-type-def type-id='type-id-1649' size-in-bits='64' id='type-id-1384'/>
+      <pointer-type-def type-id='type-id-1650' size-in-bits='64' id='type-id-1360'/>
+      <pointer-type-def type-id='type-id-1651' size-in-bits='64' id='type-id-1403'/>
+      <pointer-type-def type-id='type-id-1652' size-in-bits='64' id='type-id-1181'/>
+      <pointer-type-def type-id='type-id-1653' size-in-bits='64' id='type-id-1180'/>
+      <pointer-type-def type-id='type-id-1654' size-in-bits='64' id='type-id-1368'/>
+      <pointer-type-def type-id='type-id-1655' size-in-bits='64' id='type-id-1460'/>
+      <pointer-type-def type-id='type-id-1656' size-in-bits='64' id='type-id-1422'/>
+      <pointer-type-def type-id='type-id-1657' size-in-bits='64' id='type-id-1485'/>
+      <pointer-type-def type-id='type-id-1658' size-in-bits='64' id='type-id-1486'/>
+      <pointer-type-def type-id='type-id-1659' size-in-bits='64' id='type-id-1314'/>
+      <pointer-type-def type-id='type-id-1660' size-in-bits='64' id='type-id-1177'/>
+      <pointer-type-def type-id='type-id-1326' size-in-bits='64' id='type-id-1294'/>
+      <pointer-type-def type-id='type-id-193' size-in-bits='64' id='type-id-1288'/>
+      <pointer-type-def type-id='type-id-1150' size-in-bits='64' id='type-id-1225'/>
+      <pointer-type-def type-id='type-id-1229' size-in-bits='64' id='type-id-1661'/>
+      <pointer-type-def type-id='type-id-1231' size-in-bits='64' id='type-id-1230'/>
+      <pointer-type-def type-id='type-id-1662' size-in-bits='64' id='type-id-1379'/>
+      <pointer-type-def type-id='type-id-1663' size-in-bits='64' id='type-id-1386'/>
+      <pointer-type-def type-id='type-id-1664' size-in-bits='64' id='type-id-1387'/>
+      <pointer-type-def type-id='type-id-1665' size-in-bits='64' id='type-id-1267'/>
+      <pointer-type-def type-id='type-id-1666' size-in-bits='64' id='type-id-1358'/>
+      <pointer-type-def type-id='type-id-1667' size-in-bits='64' id='type-id-1361'/>
+      <pointer-type-def type-id='type-id-1668' size-in-bits='64' id='type-id-1452'/>
+      <pointer-type-def type-id='type-id-1669' size-in-bits='64' id='type-id-1335'/>
+      <pointer-type-def type-id='type-id-1670' size-in-bits='64' id='type-id-1341'/>
+      <pointer-type-def type-id='type-id-1671' size-in-bits='64' id='type-id-1298'/>
+      <pointer-type-def type-id='type-id-1672' size-in-bits='64' id='type-id-1308'/>
+      <pointer-type-def type-id='type-id-1673' size-in-bits='64' id='type-id-1401'/>
+      <pointer-type-def type-id='type-id-1674' size-in-bits='64' id='type-id-1176'/>
+      <pointer-type-def type-id='type-id-1675' size-in-bits='64' id='type-id-1175'/>
+      <pointer-type-def type-id='type-id-1676' size-in-bits='64' id='type-id-1185'/>
+      <pointer-type-def type-id='type-id-1677' size-in-bits='64' id='type-id-1179'/>
+      <pointer-type-def type-id='type-id-1678' size-in-bits='64' id='type-id-1363'/>
+      <pointer-type-def type-id='type-id-1679' size-in-bits='64' id='type-id-1370'/>
+      <pointer-type-def type-id='type-id-1680' size-in-bits='64' id='type-id-1369'/>
+      <pointer-type-def type-id='type-id-1681' size-in-bits='64' id='type-id-1366'/>
+      <pointer-type-def type-id='type-id-1682' size-in-bits='64' id='type-id-1274'/>
+      <pointer-type-def type-id='type-id-1683' size-in-bits='64' id='type-id-1188'/>
+      <pointer-type-def type-id='type-id-1684' size-in-bits='64' id='type-id-1190'/>
+      <pointer-type-def type-id='type-id-1685' size-in-bits='64' id='type-id-1202'/>
+      <pointer-type-def type-id='type-id-1686' size-in-bits='64' id='type-id-1414'/>
+      <pointer-type-def type-id='type-id-1687' size-in-bits='64' id='type-id-1417'/>
+      <pointer-type-def type-id='type-id-1688' size-in-bits='64' id='type-id-1228'/>
+      <pointer-type-def type-id='type-id-1689' size-in-bits='64' id='type-id-1344'/>
+      <pointer-type-def type-id='type-id-1690' size-in-bits='64' id='type-id-1313'/>
+      <pointer-type-def type-id='type-id-1691' size-in-bits='64' id='type-id-1421'/>
+      <pointer-type-def type-id='type-id-1692' size-in-bits='64' id='type-id-1191'/>
+      <pointer-type-def type-id='type-id-1693' size-in-bits='64' id='type-id-1227'/>
+      <pointer-type-def type-id='type-id-1694' size-in-bits='64' id='type-id-1441'/>
+      <pointer-type-def type-id='type-id-1695' size-in-bits='64' id='type-id-1481'/>
+      <pointer-type-def type-id='type-id-1696' size-in-bits='64' id='type-id-1493'/>
+      <pointer-type-def type-id='type-id-1697' size-in-bits='64' id='type-id-1492'/>
+      <pointer-type-def type-id='type-id-1698' size-in-bits='64' id='type-id-1494'/>
+      <pointer-type-def type-id='type-id-1699' size-in-bits='64' id='type-id-1498'/>
+      <pointer-type-def type-id='type-id-1700' size-in-bits='64' id='type-id-1482'/>
+      <pointer-type-def type-id='type-id-1701' size-in-bits='64' id='type-id-1478'/>
+      <pointer-type-def type-id='type-id-1702' size-in-bits='64' id='type-id-1201'/>
+      <qualified-type-def type-id='type-id-10' volatile='yes' id='type-id-1249'/>
+      <function-decl name='drm_connector_list_iter_begin' mangled-name='drm_connector_list_iter_begin' filepath='include/drm/drm_connector.h' line='1244' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_connector_list_iter_begin'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-1550'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_connector_list_iter_next' mangled-name='drm_connector_list_iter_next' filepath='include/drm/drm_connector.h' line='1247' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_connector_list_iter_next'>
+        <parameter type-id='type-id-1550'/>
+        <return type-id='type-id-1074'/>
+      </function-decl>
+      <function-decl name='drm_connector_list_iter_end' mangled-name='drm_connector_list_iter_end' filepath='include/drm/drm_connector.h' line='1248' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_connector_list_iter_end'>
+        <parameter type-id='type-id-1550'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_err' mangled-name='drm_err' filepath='include/drm/drm_print.h' line='281' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_err'>
+        <parameter type-id='type-id-24'/>
+        <parameter is-variadic='yes'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_modeset_lock_all' mangled-name='drm_modeset_lock_all' filepath='include/drm/drm_modeset_lock.h' line='126' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_modeset_lock_all'>
+        <parameter type-id='type-id-1073'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_modeset_unlock_all' mangled-name='drm_modeset_unlock_all' filepath='include/drm/drm_modeset_lock.h' line='127' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_modeset_unlock_all'>
+        <parameter type-id='type-id-1073'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_mode_duplicate' mangled-name='drm_mode_duplicate' filepath='include/drm/drm_modes.h' line='510' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_mode_duplicate'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-1520'/>
+        <return type-id='type-id-1119'/>
+      </function-decl>
+      <function-decl name='drm_dbg' mangled-name='drm_dbg' filepath='include/drm/drm_print.h' line='279' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dbg'>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-24'/>
+        <parameter is-variadic='yes'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_bridge_disable' mangled-name='drm_bridge_disable' filepath='include/drm/drm_bridge.h' line='310' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_bridge_disable'>
+        <parameter type-id='type-id-1098'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_bridge_post_disable' mangled-name='drm_bridge_post_disable' filepath='include/drm/drm_bridge.h' line='311' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_bridge_post_disable'>
+        <parameter type-id='type-id-1098'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_bridge_mode_set' mangled-name='drm_bridge_mode_set' filepath='include/drm/drm_bridge.h' line='312' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_bridge_mode_set'>
+        <parameter type-id='type-id-1098'/>
+        <parameter type-id='type-id-1119'/>
+        <parameter type-id='type-id-1119'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_bridge_pre_enable' mangled-name='drm_bridge_pre_enable' filepath='include/drm/drm_bridge.h' line='315' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_bridge_pre_enable'>
+        <parameter type-id='type-id-1098'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_bridge_enable' mangled-name='drm_bridge_enable' filepath='include/drm/drm_bridge.h' line='316' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_bridge_enable'>
+        <parameter type-id='type-id-1098'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_mode_equal' mangled-name='drm_mode_equal' filepath='include/drm/drm_modes.h' line='515' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_mode_equal'>
+        <parameter type-id='type-id-1520'/>
+        <parameter type-id='type-id-1520'/>
+        <return type-id='type-id-264'/>
+      </function-decl>
+      <function-decl name='drm_mode_debug_printmodeline' mangled-name='drm_mode_debug_printmodeline' filepath='include/drm/drm_modes.h' line='470' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_mode_debug_printmodeline'>
+        <parameter type-id='type-id-1520'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_atomic_helper_crtc_reset' mangled-name='drm_atomic_helper_crtc_reset' filepath='include/drm/drm_atomic_helper.h' line='150' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_crtc_reset'>
+        <parameter type-id='type-id-1083'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_atomic_helper_crtc_duplicate_state' mangled-name='drm_atomic_helper_crtc_duplicate_state' filepath='include/drm/drm_atomic_helper.h' line='154' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_crtc_duplicate_state'>
+        <parameter type-id='type-id-1083'/>
+        <return type-id='type-id-1087'/>
+      </function-decl>
+      <function-decl name='drm_atomic_set_mode_for_crtc' mangled-name='drm_atomic_set_mode_for_crtc' filepath='include/drm/drm_atomic.h' line='601' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_set_mode_for_crtc'>
+        <parameter type-id='type-id-1087'/>
+        <parameter type-id='type-id-1520'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_mode_copy' mangled-name='drm_mode_copy' filepath='include/drm/drm_modes.h' line='508' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_mode_copy'>
+        <parameter type-id='type-id-1119'/>
+        <parameter type-id='type-id-1520'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_atomic_helper_crtc_destroy_state' mangled-name='drm_atomic_helper_crtc_destroy_state' filepath='include/drm/drm_atomic_helper.h' line='156' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_crtc_destroy_state'>
+        <parameter type-id='type-id-1083'/>
+        <parameter type-id='type-id-1087'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_atomic_helper_plane_reset' mangled-name='drm_atomic_helper_plane_reset' filepath='include/drm/drm_atomic_helper.h' line='159' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_plane_reset'>
+        <parameter type-id='type-id-1085'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_atomic_helper_plane_duplicate_state' mangled-name='drm_atomic_helper_plane_duplicate_state' filepath='include/drm/drm_atomic_helper.h' line='163' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_plane_duplicate_state'>
+        <parameter type-id='type-id-1085'/>
+        <return type-id='type-id-1086'/>
+      </function-decl>
+      <function-decl name='drm_mode_object_get' mangled-name='drm_mode_object_get' filepath='include/drm/drm_mode_object.h' line='120' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_mode_object_get'>
+        <parameter type-id='type-id-1117'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_mode_object_put' mangled-name='drm_mode_object_put' filepath='include/drm/drm_mode_object.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_mode_object_put'>
+        <parameter type-id='type-id-1117'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-1506'>
+        <parameter type-id='type-id-893'/>
+        <return type-id='type-id-24'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1525'>
+        <parameter type-id='type-id-1533'/>
+        <return type-id='type-id-1269'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1546'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-1140'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-1545'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1548'>
+        <parameter type-id='type-id-1073'/>
+        <return type-id='type-id-1080'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1551'>
+        <parameter type-id='type-id-1074'/>
+        <return type-id='type-id-1089'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1552'>
+        <parameter type-id='type-id-1323'/>
+        <return type-id='type-id-1083'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1553'>
+        <parameter type-id='type-id-1083'/>
+        <return type-id='type-id-1087'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1555'>
+        <parameter type-id='type-id-1074'/>
+        <return type-id='type-id-1323'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1556'>
+        <parameter type-id='type-id-1074'/>
+        <parameter type-id='type-id-1089'/>
+        <return type-id='type-id-1323'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1561'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-1118'/>
+        <parameter type-id='type-id-1533'/>
+        <return type-id='type-id-1090'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1562'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-1545'/>
+        <return type-id='type-id-1140'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1563'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-1547'/>
+        <parameter type-id='type-id-259'/>
+        <return type-id='type-id-1140'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1564'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-1140'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1566'>
+        <parameter type-id='type-id-1085'/>
+        <return type-id='type-id-1086'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1568'>
+        <parameter type-id='type-id-1434'/>
+        <return type-id='type-id-1435'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1569'>
+        <parameter type-id='type-id-1074'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-1318'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1570'>
+        <parameter type-id='type-id-1323'/>
+        <parameter type-id='type-id-1074'/>
+        <return type-id='type-id-1318'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1571'>
+        <parameter type-id='type-id-1098'/>
+        <parameter type-id='type-id-1520'/>
+        <return type-id='type-id-1219'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1572'>
+        <parameter type-id='type-id-1074'/>
+        <parameter type-id='type-id-1119'/>
+        <return type-id='type-id-1219'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1573'>
+        <parameter type-id='type-id-1083'/>
+        <parameter type-id='type-id-1520'/>
+        <return type-id='type-id-1219'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1574'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-1520'/>
+        <return type-id='type-id-1219'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1575'>
+        <parameter type-id='type-id-1323'/>
+        <parameter type-id='type-id-1520'/>
+        <return type-id='type-id-1219'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1580'>
+        <parameter type-id='type-id-1098'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1581'>
+        <parameter type-id='type-id-1455'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1582'>
+        <parameter type-id='type-id-1074'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1583'>
+        <parameter type-id='type-id-1074'/>
+        <parameter type-id='type-id-1514'/>
+        <parameter type-id='type-id-1093'/>
+        <parameter type-id='type-id-1225'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1584'>
+        <parameter type-id='type-id-1074'/>
+        <parameter type-id='type-id-1089'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1585'>
+        <parameter type-id='type-id-1074'/>
+        <parameter type-id='type-id-1089'/>
+        <parameter type-id='type-id-1093'/>
+        <parameter type-id='type-id-1150'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1586'>
+        <parameter type-id='type-id-1074'/>
+        <parameter type-id='type-id-1088'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1587'>
+        <parameter type-id='type-id-1074'/>
+        <parameter type-id='type-id-1093'/>
+        <parameter type-id='type-id-1150'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1588'>
+        <parameter type-id='type-id-1074'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1589'>
+        <parameter type-id='type-id-1074'/>
+        <parameter type-id='type-id-193'/>
+        <parameter type-id='type-id-193'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1590'>
+        <parameter type-id='type-id-1083'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1591'>
+        <parameter type-id='type-id-1083'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-1703'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1592'>
+        <parameter type-id='type-id-1083'/>
+        <parameter type-id='type-id-1518'/>
+        <parameter type-id='type-id-1093'/>
+        <parameter type-id='type-id-1225'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1593'>
+        <parameter type-id='type-id-1083'/>
+        <parameter type-id='type-id-1087'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1594'>
+        <parameter type-id='type-id-1083'/>
+        <parameter type-id='type-id-1087'/>
+        <parameter type-id='type-id-1093'/>
+        <parameter type-id='type-id-1150'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1595'>
+        <parameter type-id='type-id-1083'/>
+        <parameter type-id='type-id-1119'/>
+        <parameter type-id='type-id-1119'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-1090'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1596'>
+        <parameter type-id='type-id-1083'/>
+        <parameter type-id='type-id-1118'/>
+        <parameter type-id='type-id-193'/>
+        <parameter type-id='type-id-193'/>
+        <parameter type-id='type-id-193'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1597'>
+        <parameter type-id='type-id-1083'/>
+        <parameter type-id='type-id-1118'/>
+        <parameter type-id='type-id-193'/>
+        <parameter type-id='type-id-193'/>
+        <parameter type-id='type-id-193'/>
+        <parameter type-id='type-id-1424'/>
+        <parameter type-id='type-id-1424'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1598'>
+        <parameter type-id='type-id-1083'/>
+        <parameter type-id='type-id-1090'/>
+        <parameter type-id='type-id-1084'/>
+        <parameter type-id='type-id-193'/>
+        <parameter type-id='type-id-1088'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1599'>
+        <parameter type-id='type-id-1083'/>
+        <parameter type-id='type-id-1090'/>
+        <parameter type-id='type-id-1084'/>
+        <parameter type-id='type-id-193'/>
+        <parameter type-id='type-id-193'/>
+        <parameter type-id='type-id-1088'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1600'>
+        <parameter type-id='type-id-1083'/>
+        <parameter type-id='type-id-1090'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-1408'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1601'>
+        <parameter type-id='type-id-1083'/>
+        <parameter type-id='type-id-1093'/>
+        <parameter type-id='type-id-1150'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1602'>
+        <parameter type-id='type-id-1083'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1603'>
+        <parameter type-id='type-id-1083'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-1090'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1604'>
+        <parameter type-id='type-id-1083'/>
+        <parameter type-id='type-id-625'/>
+        <parameter type-id='type-id-625'/>
+        <parameter type-id='type-id-625'/>
+        <parameter type-id='type-id-193'/>
+        <parameter type-id='type-id-1088'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1605'>
+        <parameter type-id='type-id-1073'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1606'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-1080'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1607'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-1080'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1608'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-1118'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1609'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-1118'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-1288'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1610'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-1118'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1611'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-1118'/>
+        <parameter type-id='type-id-193'/>
+        <parameter type-id='type-id-193'/>
         <parameter type-id='type-id-82'/>
-        <return type-id='type-id-81'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1612'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-1159'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1613'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1614'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1615'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1236'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-1118'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1616'>
+        <parameter type-id='type-id-1323'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1617'>
+        <parameter type-id='type-id-1323'/>
+        <parameter type-id='type-id-1087'/>
+        <parameter type-id='type-id-1089'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1618'>
+        <parameter type-id='type-id-1171'/>
+        <parameter type-id='type-id-1559'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1619'>
+        <parameter type-id='type-id-1118'/>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-1565'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1620'>
+        <parameter type-id='type-id-1118'/>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-193'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1621'>
+        <parameter type-id='type-id-1118'/>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-193'/>
+        <parameter type-id='type-id-1225'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1622'>
+        <parameter type-id='type-id-1090'/>
+        <parameter type-id='type-id-1118'/>
+        <parameter type-id='type-id-72'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1623'>
+        <parameter type-id='type-id-1090'/>
+        <parameter type-id='type-id-1118'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-1549'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1624'>
+        <parameter type-id='type-id-1140'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1625'>
+        <parameter type-id='type-id-1140'/>
+        <parameter type-id='type-id-1118'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1626'>
+        <parameter type-id='type-id-1140'/>
+        <parameter type-id='type-id-132'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1627'>
+        <parameter type-id='type-id-1158'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1628'>
+        <parameter type-id='type-id-1091'/>
+        <parameter type-id='type-id-1088'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1629'>
+        <parameter type-id='type-id-1085'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1630'>
+        <parameter type-id='type-id-1085'/>
+        <parameter type-id='type-id-1537'/>
+        <parameter type-id='type-id-1093'/>
+        <parameter type-id='type-id-1225'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1631'>
+        <parameter type-id='type-id-1085'/>
+        <parameter type-id='type-id-1083'/>
+        <parameter type-id='type-id-1090'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-193'/>
+        <parameter type-id='type-id-193'/>
+        <parameter type-id='type-id-193'/>
+        <parameter type-id='type-id-193'/>
+        <parameter type-id='type-id-1088'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1632'>
+        <parameter type-id='type-id-1085'/>
+        <parameter type-id='type-id-1088'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1633'>
+        <parameter type-id='type-id-1085'/>
+        <parameter type-id='type-id-1086'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1634'>
+        <parameter type-id='type-id-1085'/>
+        <parameter type-id='type-id-1086'/>
+        <parameter type-id='type-id-1093'/>
+        <parameter type-id='type-id-1150'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1635'>
+        <parameter type-id='type-id-1085'/>
+        <parameter type-id='type-id-1093'/>
+        <parameter type-id='type-id-1150'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1636'>
+        <parameter type-id='type-id-1577'/>
+        <parameter type-id='type-id-1449'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1637'>
+        <parameter type-id='type-id-1449'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1638'>
+        <parameter type-id='type-id-1449'/>
+        <parameter type-id='type-id-1578'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1639'>
+        <parameter type-id='type-id-1449'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1640'>
+        <parameter type-id='type-id-1449'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1641'>
+        <parameter type-id='type-id-1449'/>
+        <parameter type-id='type-id-132'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1642'>
+        <parameter type-id='type-id-1579'/>
+        <parameter type-id='type-id-1449'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1643'>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-1449'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1644'>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-1449'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1645'>
+        <parameter type-id='type-id-893'/>
+        <parameter type-id='type-id-211'/>
+        <parameter type-id='type-id-187'/>
+        <return type-id='type-id-187'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1647'>
+        <parameter type-id='type-id-1140'/>
+        <return type-id='type-id-1646'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1648'>
+        <parameter type-id='type-id-1140'/>
+        <return type-id='type-id-259'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1649'>
+        <parameter type-id='type-id-893'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1650'>
+        <parameter type-id='type-id-1098'/>
+        <parameter type-id='type-id-1520'/>
+        <parameter type-id='type-id-1119'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1651'>
+        <parameter type-id='type-id-1083'/>
+        <parameter type-id='type-id-1520'/>
+        <parameter type-id='type-id-1119'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1652'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-82'/>
+        <parameter type-id='type-id-1704'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1653'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-211'/>
+        <parameter type-id='type-id-82'/>
+        <parameter type-id='type-id-82'/>
+        <parameter type-id='type-id-1704'/>
+        <parameter type-id='type-id-1704'/>
+        <parameter type-id='type-id-1520'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1654'>
+        <parameter type-id='type-id-1323'/>
+        <parameter type-id='type-id-1520'/>
+        <parameter type-id='type-id-1119'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1655'>
+        <parameter type-id='type-id-1171'/>
+        <parameter type-id='type-id-1558'/>
+        <parameter type-id='type-id-1554'/>
+        <parameter type-id='type-id-1560'/>
+        <parameter type-id='type-id-763'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1656'>
+        <parameter type-id='type-id-1085'/>
+        <parameter type-id='type-id-193'/>
+        <parameter type-id='type-id-1150'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1657'>
+        <parameter type-id='type-id-1449'/>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-1705'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1658'>
+        <parameter type-id='type-id-1449'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-1705'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1659'>
+        <parameter type-id='type-id-1083'/>
+        <return type-id='type-id-9'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1660'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-9'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1662'>
+        <parameter type-id='type-id-176'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1663'>
+        <parameter type-id='type-id-893'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1664'>
+        <parameter type-id='type-id-893'/>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1665'>
+        <parameter type-id='type-id-1080'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1666'>
+        <parameter type-id='type-id-1098'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1667'>
+        <parameter type-id='type-id-1098'/>
+        <parameter type-id='type-id-1119'/>
+        <parameter type-id='type-id-1119'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1668'>
+        <parameter type-id='type-id-1455'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1669'>
+        <parameter type-id='type-id-1074'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1670'>
+        <parameter type-id='type-id-1074'/>
+        <parameter type-id='type-id-1089'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1671'>
+        <parameter type-id='type-id-1083'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1672'>
+        <parameter type-id='type-id-1083'/>
+        <parameter type-id='type-id-1087'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1673'>
+        <parameter type-id='type-id-1083'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1674'>
+        <parameter type-id='type-id-1073'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1675'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-1118'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1676'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-1159'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1677'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1678'>
+        <parameter type-id='type-id-1323'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1679'>
+        <parameter type-id='type-id-1323'/>
+        <parameter type-id='type-id-1087'/>
+        <parameter type-id='type-id-1089'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1680'>
+        <parameter type-id='type-id-1323'/>
+        <parameter type-id='type-id-1119'/>
+        <parameter type-id='type-id-1119'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1681'>
+        <parameter type-id='type-id-1323'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1682'>
+        <parameter type-id='type-id-1090'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1683'>
+        <parameter type-id='type-id-1140'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1684'>
+        <parameter type-id='type-id-1140'/>
+        <parameter type-id='type-id-1118'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1685'>
+        <parameter type-id='type-id-1140'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1686'>
+        <parameter type-id='type-id-1085'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1687'>
+        <parameter type-id='type-id-1085'/>
+        <parameter type-id='type-id-1086'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1688'>
+        <parameter type-id='type-id-1567'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1689'>
+        <parameter type-id='type-id-1567'/>
+        <parameter type-id='type-id-1514'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1690'>
+        <parameter type-id='type-id-1567'/>
+        <parameter type-id='type-id-1518'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1691'>
+        <parameter type-id='type-id-1567'/>
+        <parameter type-id='type-id-1537'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1692'>
+        <parameter type-id='type-id-1567'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-1528'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1693'>
+        <parameter type-id='type-id-1567'/>
+        <parameter type-id='type-id-1661'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1694'>
+        <parameter type-id='type-id-1434'/>
+        <parameter type-id='type-id-1435'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1695'>
+        <parameter type-id='type-id-1449'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1696'>
+        <parameter type-id='type-id-1449'/>
+        <parameter type-id='type-id-1540'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1697'>
+        <parameter type-id='type-id-1449'/>
+        <parameter type-id='type-id-1542'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1698'>
+        <parameter type-id='type-id-1449'/>
+        <parameter type-id='type-id-1544'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1699'>
+        <parameter type-id='type-id-1449'/>
+        <parameter type-id='type-id-1576'/>
+        <parameter type-id='type-id-1579'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1700'>
+        <parameter type-id='type-id-1449'/>
+        <parameter type-id='type-id-262'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1701'>
+        <parameter type-id='type-id-1449'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1702'>
+        <parameter type-id='type-id-1140'/>
+        <return type-id='type-id-3'/>
+      </function-type>
+      <union-decl name='__anonymous_union__5' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/drm/drm_vblank.h' line='57' column='1' id='type-id-1378'>
+        <data-member access='private'>
+          <var-decl name='base' type-id='type-id-1109' visibility='default' filepath='include/drm/drm_vblank.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='vbl' type-id='type-id-1110' visibility='default' filepath='include/drm/drm_vblank.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='seq' type-id='type-id-1111' visibility='default' filepath='include/drm/drm_vblank.h' line='76' column='1'/>
+        </data-member>
+      </union-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_dp_dual_mode_helper.c' language='LANG_C89'>
+      <function-decl name='i2c_transfer' mangled-name='i2c_transfer' filepath='include/linux/i2c.h' line='132' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='i2c_transfer'>
+        <parameter type-id='type-id-1706'/>
+        <parameter type-id='type-id-1707'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_dp_helper.c' language='LANG_C89'>
+
+      <array-type-def dimensions='1' type-id='type-id-1122' size-in-bits='272' id='type-id-1708'>
+        <subrange length='34' type-id='type-id-5' id='type-id-1709'/>
+
+      </array-type-def>
+      <class-decl name='cec_adapter' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1710'/>
+      <class-decl name='drm_atomic_state' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1711'/>
+      <class-decl name='drm_crtc_commit' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1712'/>
+      <class-decl name='i2c_adapter' size-in-bits='8384' is-struct='yes' visibility='default' filepath='include/linux/i2c.h' line='670' column='1' id='type-id-1713'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/linux/i2c.h' line='671' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='class' type-id='type-id-10' visibility='default' filepath='include/linux/i2c.h' line='672' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='algo' type-id='type-id-1714' visibility='default' filepath='include/linux/i2c.h' line='673' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='algo_data' type-id='type-id-3' visibility='default' filepath='include/linux/i2c.h' line='674' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='lock_ops' type-id='type-id-1715' visibility='default' filepath='include/linux/i2c.h' line='677' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='bus_lock' type-id='type-id-1716' visibility='default' filepath='include/linux/i2c.h' line='678' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='mux_lock' type-id='type-id-1716' visibility='default' filepath='include/linux/i2c.h' line='679' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='timeout' type-id='type-id-11' visibility='default' filepath='include/linux/i2c.h' line='681' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='864'>
+          <var-decl name='retries' type-id='type-id-11' visibility='default' filepath='include/linux/i2c.h' line='682' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='include/linux/i2c.h' line='683' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7104'>
+          <var-decl name='nr' type-id='type-id-11' visibility='default' filepath='include/linux/i2c.h' line='685' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7136'>
+          <var-decl name='name' type-id='type-id-305' visibility='default' filepath='include/linux/i2c.h' line='686' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7552'>
+          <var-decl name='dev_released' type-id='type-id-661' visibility='default' filepath='include/linux/i2c.h' line='687' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7808'>
+          <var-decl name='userspace_clients_lock' type-id='type-id-407' visibility='default' filepath='include/linux/i2c.h' line='689' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8064'>
+          <var-decl name='userspace_clients' type-id='type-id-8' visibility='default' filepath='include/linux/i2c.h' line='690' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8192'>
+          <var-decl name='bus_recovery_info' type-id='type-id-1717' visibility='default' filepath='include/linux/i2c.h' line='692' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8256'>
+          <var-decl name='quirks' type-id='type-id-1718' visibility='default' filepath='include/linux/i2c.h' line='693' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8320'>
+          <var-decl name='host_notify_domain' type-id='type-id-639' visibility='default' filepath='include/linux/i2c.h' line='695' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='i2c_algorithm' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/i2c.h' line='519' column='1' id='type-id-1719'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='master_xfer' type-id='type-id-1720' visibility='default' filepath='include/linux/i2c.h' line='526' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='smbus_xfer' type-id='type-id-1721' visibility='default' filepath='include/linux/i2c.h' line='528' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='functionality' type-id='type-id-1722' visibility='default' filepath='include/linux/i2c.h' line='533' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='i2c_msg' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/i2c.h' line='69' column='1' id='type-id-1723'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='addr' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/i2c.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='flags' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/i2c.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='len' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/i2c.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='buf' type-id='type-id-1724' visibility='default' filepath='include/uapi/linux/i2c.h' line='85' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='i2c_smbus_data' size-in-bits='272' visibility='default' filepath='include/uapi/linux/i2c.h' line='135' column='1' id='type-id-1725'>
+        <data-member access='private'>
+          <var-decl name='byte' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/i2c.h' line='136' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='word' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/i2c.h' line='137' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='block' type-id='type-id-1708' visibility='default' filepath='include/uapi/linux/i2c.h' line='138' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='i2c_lock_operations' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/i2c.h' line='549' column='1' id='type-id-1726'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock_bus' type-id='type-id-1727' visibility='default' filepath='include/linux/i2c.h' line='550' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='trylock_bus' type-id='type-id-1728' visibility='default' filepath='include/linux/i2c.h' line='551' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='unlock_bus' type-id='type-id-1727' visibility='default' filepath='include/linux/i2c.h' line='552' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='i2c_bus_recovery_info' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/i2c.h' line='596' column='1' id='type-id-1729'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='recover_bus' type-id='type-id-1730' visibility='default' filepath='include/linux/i2c.h' line='597' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='get_scl' type-id='type-id-1730' visibility='default' filepath='include/linux/i2c.h' line='599' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='set_scl' type-id='type-id-1731' visibility='default' filepath='include/linux/i2c.h' line='600' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='get_sda' type-id='type-id-1730' visibility='default' filepath='include/linux/i2c.h' line='601' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='set_sda' type-id='type-id-1731' visibility='default' filepath='include/linux/i2c.h' line='602' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='get_bus_free' type-id='type-id-1730' visibility='default' filepath='include/linux/i2c.h' line='603' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='prepare_recovery' type-id='type-id-1732' visibility='default' filepath='include/linux/i2c.h' line='605' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='unprepare_recovery' type-id='type-id-1732' visibility='default' filepath='include/linux/i2c.h' line='606' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='scl_gpiod' type-id='type-id-1733' visibility='default' filepath='include/linux/i2c.h' line='609' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='sda_gpiod' type-id='type-id-1733' visibility='default' filepath='include/linux/i2c.h' line='610' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='i2c_adapter_quirks' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/i2c.h' line='639' column='1' id='type-id-1734'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='flags' type-id='type-id-134' visibility='default' filepath='include/linux/i2c.h' line='640' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='max_num_msgs' type-id='type-id-11' visibility='default' filepath='include/linux/i2c.h' line='641' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='max_write_len' type-id='type-id-289' visibility='default' filepath='include/linux/i2c.h' line='642' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='112'>
+          <var-decl name='max_read_len' type-id='type-id-289' visibility='default' filepath='include/linux/i2c.h' line='643' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='max_comb_1st_msg_len' type-id='type-id-289' visibility='default' filepath='include/linux/i2c.h' line='644' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='144'>
+          <var-decl name='max_comb_2nd_msg_len' type-id='type-id-289' visibility='default' filepath='include/linux/i2c.h' line='645' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_dp_aux' size-in-bits='10432' is-struct='yes' visibility='default' filepath='include/drm/drm_dp_helper.h' line='1140' column='1' id='type-id-1735'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/drm/drm_dp_helper.h' line='1141' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ddc' type-id='type-id-1713' visibility='default' filepath='include/drm/drm_dp_helper.h' line='1142' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8448'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/drm/drm_dp_helper.h' line='1143' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8512'>
+          <var-decl name='crtc' type-id='type-id-1083' visibility='default' filepath='include/drm/drm_dp_helper.h' line='1144' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8576'>
+          <var-decl name='hw_mutex' type-id='type-id-407' visibility='default' filepath='include/drm/drm_dp_helper.h' line='1145' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8832'>
+          <var-decl name='crc_work' type-id='type-id-149' visibility='default' filepath='include/drm/drm_dp_helper.h' line='1146' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9088'>
+          <var-decl name='crc_count' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_helper.h' line='1147' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9152'>
+          <var-decl name='transfer' type-id='type-id-1736' visibility='default' filepath='include/drm/drm_dp_helper.h' line='1148' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9216'>
+          <var-decl name='i2c_nack_count' type-id='type-id-10' visibility='default' filepath='include/drm/drm_dp_helper.h' line='1153' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9248'>
+          <var-decl name='i2c_defer_count' type-id='type-id-10' visibility='default' filepath='include/drm/drm_dp_helper.h' line='1157' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9280'>
+          <var-decl name='cec' type-id='type-id-1737' visibility='default' filepath='include/drm/drm_dp_helper.h' line='1161' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_dp_aux_msg' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/drm/drm_dp_helper.h' line='1073' column='1' id='type-id-1738'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='address' type-id='type-id-10' visibility='default' filepath='include/drm/drm_dp_helper.h' line='1074' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='request' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_helper.h' line='1075' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='40'>
+          <var-decl name='reply' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_helper.h' line='1076' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='buffer' type-id='type-id-3' visibility='default' filepath='include/drm/drm_dp_helper.h' line='1077' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='size' type-id='type-id-125' visibility='default' filepath='include/drm/drm_dp_helper.h' line='1078' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_dp_aux_cec' size-in-bits='1152' is-struct='yes' visibility='default' filepath='include/drm/drm_dp_helper.h' line='1092' column='1' id='type-id-1737'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-407' visibility='default' filepath='include/drm/drm_dp_helper.h' line='1093' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='adap' type-id='type-id-1739' visibility='default' filepath='include/drm/drm_dp_helper.h' line='1094' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/drm/drm_dp_helper.h' line='1095' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='parent' type-id='type-id-86' visibility='default' filepath='include/drm/drm_dp_helper.h' line='1096' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='unregister_work' type-id='type-id-370' visibility='default' filepath='include/drm/drm_dp_helper.h' line='1097' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_dp_link' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/drm/drm_dp_helper.h' line='1207' column='1' id='type-id-1740'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='revision' type-id='type-id-271' visibility='default' filepath='include/drm/drm_dp_helper.h' line='1208' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='rate' type-id='type-id-10' visibility='default' filepath='include/drm/drm_dp_helper.h' line='1209' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='num_lanes' type-id='type-id-10' visibility='default' filepath='include/drm/drm_dp_helper.h' line='1210' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='capabilities' type-id='type-id-100' visibility='default' filepath='include/drm/drm_dp_helper.h' line='1211' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-1122' size-in-bits='64' id='type-id-1724'/>
+      <pointer-type-def type-id='type-id-1710' size-in-bits='64' id='type-id-1739'/>
+      <qualified-type-def type-id='type-id-1734' const='yes' id='type-id-1741'/>
+      <pointer-type-def type-id='type-id-1741' size-in-bits='64' id='type-id-1718'/>
+      <qualified-type-def type-id='type-id-1719' const='yes' id='type-id-1742'/>
+      <pointer-type-def type-id='type-id-1742' size-in-bits='64' id='type-id-1714'/>
+      <qualified-type-def type-id='type-id-1726' const='yes' id='type-id-1743'/>
+      <pointer-type-def type-id='type-id-1743' size-in-bits='64' id='type-id-1715'/>
+      <pointer-type-def type-id='type-id-1711' size-in-bits='64' id='type-id-1744'/>
+      <pointer-type-def type-id='type-id-1712' size-in-bits='64' id='type-id-1745'/>
+      <pointer-type-def type-id='type-id-1735' size-in-bits='64' id='type-id-1746'/>
+      <pointer-type-def type-id='type-id-1738' size-in-bits='64' id='type-id-1747'/>
+      <pointer-type-def type-id='type-id-1740' size-in-bits='64' id='type-id-1748'/>
+      <pointer-type-def type-id='type-id-1713' size-in-bits='64' id='type-id-1706'/>
+      <pointer-type-def type-id='type-id-1729' size-in-bits='64' id='type-id-1717'/>
+      <pointer-type-def type-id='type-id-1723' size-in-bits='64' id='type-id-1707'/>
+      <pointer-type-def type-id='type-id-1725' size-in-bits='64' id='type-id-1749'/>
+      <pointer-type-def type-id='type-id-1750' size-in-bits='64' id='type-id-1730'/>
+      <pointer-type-def type-id='type-id-1751' size-in-bits='64' id='type-id-1720'/>
+      <pointer-type-def type-id='type-id-1752' size-in-bits='64' id='type-id-1721'/>
+      <pointer-type-def type-id='type-id-1753' size-in-bits='64' id='type-id-1728'/>
+      <pointer-type-def type-id='type-id-1754' size-in-bits='64' id='type-id-1736'/>
+      <pointer-type-def type-id='type-id-1755' size-in-bits='64' id='type-id-1722'/>
+      <pointer-type-def type-id='type-id-1756' size-in-bits='64' id='type-id-1732'/>
+      <pointer-type-def type-id='type-id-1757' size-in-bits='64' id='type-id-1731'/>
+      <pointer-type-def type-id='type-id-1758' size-in-bits='64' id='type-id-1727'/>
+      <function-decl name='i2c_add_adapter' mangled-name='i2c_add_adapter' filepath='include/linux/i2c.h' line='796' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='i2c_add_adapter'>
+        <parameter type-id='type-id-1706'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='i2c_del_adapter' mangled-name='i2c_del_adapter' filepath='include/linux/i2c.h' line='797' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='i2c_del_adapter'>
+        <parameter type-id='type-id-1706'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_crtc_wait_one_vblank' mangled-name='drm_crtc_wait_one_vblank' filepath='include/drm/drm_vblank.h' line='214' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_crtc_wait_one_vblank'>
+        <parameter type-id='type-id-1083'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_dev_dbg' mangled-name='drm_dev_dbg' filepath='include/drm/drm_print.h' line='275' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dev_dbg'>
+        <parameter type-id='type-id-512'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-24'/>
+        <parameter is-variadic='yes'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_dp_channel_eq_ok' mangled-name='drm_dp_channel_eq_ok' filepath='drivers/gpu/drm/drm_dp_helper.c' line='60' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dp_channel_eq_ok'>
+        <parameter type-id='type-id-55' name='link_status' filepath='drivers/gpu/drm/drm_dp_helper.c' line='60' column='1'/>
+        <parameter type-id='type-id-11' name='lane_count' filepath='drivers/gpu/drm/drm_dp_helper.c' line='61' column='1'/>
+        <return type-id='type-id-211'/>
+      </function-decl>
+      <function-decl name='drm_dp_clock_recovery_ok' mangled-name='drm_dp_clock_recovery_ok' filepath='drivers/gpu/drm/drm_dp_helper.c' line='80' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dp_clock_recovery_ok'>
+        <parameter type-id='type-id-55' name='link_status' filepath='drivers/gpu/drm/drm_dp_helper.c' line='80' column='1'/>
+        <parameter type-id='type-id-11' name='lane_count' filepath='drivers/gpu/drm/drm_dp_helper.c' line='81' column='1'/>
+        <return type-id='type-id-211'/>
+      </function-decl>
+      <function-decl name='drm_dp_get_adjust_request_voltage' mangled-name='drm_dp_get_adjust_request_voltage' filepath='drivers/gpu/drm/drm_dp_helper.c' line='95' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dp_get_adjust_request_voltage'>
+        <parameter type-id='type-id-55' name='link_status' filepath='drivers/gpu/drm/drm_dp_helper.c' line='95' column='1'/>
+        <parameter type-id='type-id-11' name='lane' filepath='drivers/gpu/drm/drm_dp_helper.c' line='96' column='1'/>
+        <return type-id='type-id-53'/>
+      </function-decl>
+      <function-decl name='drm_dp_get_adjust_request_pre_emphasis' mangled-name='drm_dp_get_adjust_request_pre_emphasis' filepath='drivers/gpu/drm/drm_dp_helper.c' line='108' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dp_get_adjust_request_pre_emphasis'>
+        <parameter type-id='type-id-55' name='link_status' filepath='drivers/gpu/drm/drm_dp_helper.c' line='108' column='1'/>
+        <parameter type-id='type-id-11' name='lane' filepath='drivers/gpu/drm/drm_dp_helper.c' line='109' column='1'/>
+        <return type-id='type-id-53'/>
+      </function-decl>
+      <function-decl name='drm_dp_link_train_clock_recovery_delay' mangled-name='drm_dp_link_train_clock_recovery_delay' filepath='drivers/gpu/drm/drm_dp_helper.c' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dp_link_train_clock_recovery_delay'>
+        <parameter type-id='type-id-55' name='dpcd' filepath='drivers/gpu/drm/drm_dp_helper.c' line='121' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_dp_link_train_channel_eq_delay' mangled-name='drm_dp_link_train_channel_eq_delay' filepath='drivers/gpu/drm/drm_dp_helper.c' line='136' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dp_link_train_channel_eq_delay'>
+        <parameter type-id='type-id-55' name='dpcd' filepath='drivers/gpu/drm/drm_dp_helper.c' line='136' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_dp_link_rate_to_bw_code' mangled-name='drm_dp_link_rate_to_bw_code' filepath='drivers/gpu/drm/drm_dp_helper.c' line='151' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dp_link_rate_to_bw_code'>
+        <parameter type-id='type-id-11' name='link_rate' filepath='drivers/gpu/drm/drm_dp_helper.c' line='151' column='1'/>
+        <return type-id='type-id-53'/>
+      </function-decl>
+      <function-decl name='drm_dp_bw_code_to_link_rate' mangled-name='drm_dp_bw_code_to_link_rate' filepath='drivers/gpu/drm/drm_dp_helper.c' line='169' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dp_bw_code_to_link_rate'>
+        <parameter type-id='type-id-53' name='link_bw' filepath='drivers/gpu/drm/drm_dp_helper.c' line='169' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_dp_dpcd_read' mangled-name='drm_dp_dpcd_read' filepath='drivers/gpu/drm/drm_dp_helper.c' line='285' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dp_dpcd_read'>
+        <parameter type-id='type-id-1746' name='aux' filepath='drivers/gpu/drm/drm_dp_helper.c' line='285' column='1'/>
+        <parameter type-id='type-id-10' name='offset' filepath='drivers/gpu/drm/drm_dp_helper.c' line='285' column='1'/>
+        <parameter type-id='type-id-3' name='buffer' filepath='drivers/gpu/drm/drm_dp_helper.c' line='286' column='1'/>
+        <parameter type-id='type-id-125' name='size' filepath='drivers/gpu/drm/drm_dp_helper.c' line='286' column='1'/>
+        <return type-id='type-id-543'/>
+      </function-decl>
+      <function-decl name='drm_dp_dpcd_write' mangled-name='drm_dp_dpcd_write' filepath='drivers/gpu/drm/drm_dp_helper.c' line='330' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dp_dpcd_write'>
+        <parameter type-id='type-id-1746' name='aux' filepath='drivers/gpu/drm/drm_dp_helper.c' line='330' column='1'/>
+        <parameter type-id='type-id-10' name='offset' filepath='drivers/gpu/drm/drm_dp_helper.c' line='330' column='1'/>
+        <parameter type-id='type-id-3' name='buffer' filepath='drivers/gpu/drm/drm_dp_helper.c' line='331' column='1'/>
+        <parameter type-id='type-id-125' name='size' filepath='drivers/gpu/drm/drm_dp_helper.c' line='331' column='1'/>
+        <return type-id='type-id-543'/>
+      </function-decl>
+      <function-decl name='drm_dp_dpcd_read_link_status' mangled-name='drm_dp_dpcd_read_link_status' filepath='drivers/gpu/drm/drm_dp_helper.c' line='350' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dp_dpcd_read_link_status'>
+        <parameter type-id='type-id-1746' name='aux' filepath='drivers/gpu/drm/drm_dp_helper.c' line='350' column='1'/>
+        <parameter type-id='type-id-67' name='status' filepath='drivers/gpu/drm/drm_dp_helper.c' line='351' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_dp_link_probe' mangled-name='drm_dp_link_probe' filepath='drivers/gpu/drm/drm_dp_helper.c' line='369' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dp_link_probe'>
+        <parameter type-id='type-id-1746' name='aux' filepath='drivers/gpu/drm/drm_dp_helper.c' line='369' column='1'/>
+        <parameter type-id='type-id-1748' name='link' filepath='drivers/gpu/drm/drm_dp_helper.c' line='369' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_dp_link_power_up' mangled-name='drm_dp_link_power_up' filepath='drivers/gpu/drm/drm_dp_helper.c' line='398' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dp_link_power_up'>
+        <parameter type-id='type-id-1746' name='aux' filepath='drivers/gpu/drm/drm_dp_helper.c' line='398' column='1'/>
+        <parameter type-id='type-id-1748' name='link' filepath='drivers/gpu/drm/drm_dp_helper.c' line='398' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_dp_link_power_down' mangled-name='drm_dp_link_power_down' filepath='drivers/gpu/drm/drm_dp_helper.c' line='436' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dp_link_power_down'>
+        <parameter type-id='type-id-1746' name='aux' filepath='drivers/gpu/drm/drm_dp_helper.c' line='436' column='1'/>
+        <parameter type-id='type-id-1748' name='link' filepath='drivers/gpu/drm/drm_dp_helper.c' line='436' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_dp_link_configure' mangled-name='drm_dp_link_configure' filepath='drivers/gpu/drm/drm_dp_helper.c' line='467' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dp_link_configure'>
+        <parameter type-id='type-id-1746' name='aux' filepath='drivers/gpu/drm/drm_dp_helper.c' line='467' column='1'/>
+        <parameter type-id='type-id-1748' name='link' filepath='drivers/gpu/drm/drm_dp_helper.c' line='467' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_dp_aux_register' mangled-name='drm_dp_aux_register' filepath='drivers/gpu/drm/drm_dp_helper.c' line='1131' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dp_aux_register'>
+        <parameter type-id='type-id-1746' name='aux' filepath='drivers/gpu/drm/drm_dp_helper.c' line='1131' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_dp_aux_unregister' mangled-name='drm_dp_aux_unregister' filepath='drivers/gpu/drm/drm_dp_helper.c' line='1163' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dp_aux_unregister'>
+        <parameter type-id='type-id-1746' name='aux' filepath='drivers/gpu/drm/drm_dp_helper.c' line='1163' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-1750'>
+        <parameter type-id='type-id-1706'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1751'>
+        <parameter type-id='type-id-1706'/>
+        <parameter type-id='type-id-1707'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1752'>
+        <parameter type-id='type-id-1706'/>
+        <parameter type-id='type-id-289'/>
+        <parameter type-id='type-id-288'/>
+        <parameter type-id='type-id-475'/>
+        <parameter type-id='type-id-53'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-1749'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1753'>
+        <parameter type-id='type-id-1706'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1754'>
+        <parameter type-id='type-id-1746'/>
+        <parameter type-id='type-id-1747'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1755'>
+        <parameter type-id='type-id-1706'/>
+        <return type-id='type-id-9'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1756'>
+        <parameter type-id='type-id-1706'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1757'>
+        <parameter type-id='type-id-1706'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1758'>
+        <parameter type-id='type-id-1706'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
       </function-type>
     </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/rcu/tree.c' language='LANG_C89'>
-      <typedef-decl name='rcu_callback_t' type-id='type-id-89' filepath='include/linux/types.h' line='230' column='1' id='type-id-90'/>
-      <function-decl name='kfree_call_rcu' mangled-name='kfree_call_rcu' filepath='kernel/rcu/tree.c' line='3095' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kfree_call_rcu'>
-        <parameter type-id='type-id-91' name='head' filepath='kernel/rcu/tree.c' line='3095' column='1'/>
-        <parameter type-id='type-id-90' name='func' filepath='kernel/rcu/tree.c' line='3096' column='1'/>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_dp_mst_topology.c' language='LANG_C89'>
+
+
+      <array-type-def dimensions='1' type-id='type-id-1759' size-in-bits='3200' id='type-id-1760'>
+        <subrange length='16' type-id='type-id-5' id='type-id-195'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-1761' size-in-bits='128' id='type-id-1762'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='120' id='type-id-1763'>
+        <subrange length='15' type-id='type-id-5' id='type-id-1764'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='2040' id='type-id-1765'>
+        <subrange length='255' type-id='type-id-5' id='type-id-1766'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='2048' id='type-id-1767'>
+        <subrange length='256' type-id='type-id-5' id='type-id-1768'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='384' id='type-id-1769'>
+        <subrange length='48' type-id='type-id-5' id='type-id-1770'/>
+
+      </array-type-def>
+      <class-decl name='drm_dp_mst_topology_mgr' size-in-bits='8640' is-struct='yes' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='425' column='1' id='type-id-1771'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='base' type-id='type-id-1436' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='429' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='dev' type-id='type-id-1073' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='434' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='cbs' type-id='type-id-1772' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='438' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='max_dpcd_transaction_bytes' type-id='type-id-11' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='443' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='aux' type-id='type-id-1746' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='448' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='max_payloads' type-id='type-id-11' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='452' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='conn_base_id' type-id='type-id-11' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='457' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='down_rep_recv' type-id='type-id-1773' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='464' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3056'>
+          <var-decl name='up_req_recv' type-id='type-id-1773' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='470' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5696'>
+          <var-decl name='lock' type-id='type-id-407' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='475' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5952'>
+          <var-decl name='mst_state' type-id='type-id-211' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='481' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6016'>
+          <var-decl name='mst_primary' type-id='type-id-1774' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='485' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6080'>
+          <var-decl name='dpcd' type-id='type-id-1763' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='490' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6200'>
+          <var-decl name='sink_count' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='494' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6208'>
+          <var-decl name='pbn_div' type-id='type-id-11' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='498' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6272'>
+          <var-decl name='state' type-id='type-id-1775' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='503' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6336'>
+          <var-decl name='funcs' type-id='type-id-1437' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='508' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6400'>
+          <var-decl name='qlock' type-id='type-id-407' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='514' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6656'>
+          <var-decl name='tx_msg_downq' type-id='type-id-8' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='518' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6784'>
+          <var-decl name='payload_lock' type-id='type-id-407' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='523' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7040'>
+          <var-decl name='proposed_vcpis' type-id='type-id-1776' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='528' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7104'>
+          <var-decl name='payloads' type-id='type-id-1777' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='532' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7168'>
+          <var-decl name='payload_mask' type-id='type-id-100' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='538' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7232'>
+          <var-decl name='vcpi_mask' type-id='type-id-100' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='542' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7296'>
+          <var-decl name='tx_waitq' type-id='type-id-388' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='547' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7488'>
+          <var-decl name='work' type-id='type-id-149' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='551' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7744'>
+          <var-decl name='tx_work' type-id='type-id-149' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='556' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8000'>
+          <var-decl name='destroy_connector_list' type-id='type-id-8' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='561' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8128'>
+          <var-decl name='destroy_connector_lock' type-id='type-id-407' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='565' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8384'>
+          <var-decl name='destroy_connector_work' type-id='type-id-149' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='570' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_dp_mst_topology_cbs' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='384' column='1' id='type-id-1778'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='add_connector' type-id='type-id-1779' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='386' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='register_connector' type-id='type-id-1335' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='387' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='destroy_connector' type-id='type-id-1780' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='388' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='hotplug' type-id='type-id-1781' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='390' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_dp_mst_port' size-in-bits='11200' is-struct='yes' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='69' column='1' id='type-id-1782'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='kref' type-id='type-id-771' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='port_num' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='40'>
+          <var-decl name='input' type-id='type-id-211' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='mcs' type-id='type-id-211' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='56'>
+          <var-decl name='ddps' type-id='type-id-211' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='pdt' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='72'>
+          <var-decl name='ldps' type-id='type-id-211' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='80'>
+          <var-decl name='dpcd_rev' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='88'>
+          <var-decl name='num_sdp_streams' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='num_sdp_stream_sinks' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='112'>
+          <var-decl name='available_pbn' type-id='type-id-1326' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='next' type-id='type-id-8' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='mstb' type-id='type-id-1774' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='aux' type-id='type-id-1735' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10752'>
+          <var-decl name='parent' type-id='type-id-1774' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10816'>
+          <var-decl name='vcpi' type-id='type-id-1783' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10944'>
+          <var-decl name='connector' type-id='type-id-1074' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='88' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11008'>
+          <var-decl name='mgr' type-id='type-id-1784' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11072'>
+          <var-decl name='cached_edid' type-id='type-id-1785' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11136'>
+          <var-decl name='has_audio' type-id='type-id-211' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='100' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_dp_mst_branch' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='123' column='1' id='type-id-1786'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='kref' type-id='type-id-771' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='124' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='rad' type-id='type-id-1399' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='125' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='lct' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='num_ports' type-id='type-id-11' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='127' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='msg_slots' type-id='type-id-11' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='129' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='ports' type-id='type-id-8' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='130' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='port_parent' type-id='type-id-1787' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='133' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='mgr' type-id='type-id-1784' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='134' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='tx_slots' type-id='type-id-1762' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='137' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='last_seqno' type-id='type-id-11' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='138' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='link_address_sent' type-id='type-id-211' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='139' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='616'>
+          <var-decl name='guid' type-id='type-id-1788' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='142' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_dp_sideband_msg_tx' size-in-bits='6144' is-struct='yes' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='369' column='1' id='type-id-1789'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='msg' type-id='type-id-1767' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='370' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='chunk' type-id='type-id-1769' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='371' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='cur_offset' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='372' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2440'>
+          <var-decl name='cur_len' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='373' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='dst' type-id='type-id-1774' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='374' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='next' type-id='type-id-8' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='375' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2688'>
+          <var-decl name='seqno' type-id='type-id-11' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='376' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2720'>
+          <var-decl name='state' type-id='type-id-11' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='377' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2752'>
+          <var-decl name='path_msg' type-id='type-id-211' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='378' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2768'>
+          <var-decl name='reply' type-id='type-id-1790' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='379' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_dp_sideband_msg_reply_body' size-in-bits='3360' is-struct='yes' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='337' column='1' id='type-id-1790'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='reply_type' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='338' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='req_type' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='339' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='u' type-id='type-id-1791' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='356' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='ack_replies' size-in-bits='3344' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='340' column='1' id='type-id-1791'>
+        <data-member access='private'>
+          <var-decl name='nak' type-id='type-id-1792' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='341' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='link_addr' type-id='type-id-1793' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='342' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='port_number' type-id='type-id-1794' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='343' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='path_resources' type-id='type-id-1795' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='345' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='allocate_payload' type-id='type-id-1796' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='346' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='query_payload' type-id='type-id-1797' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='347' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='remote_dpcd_read_ack' type-id='type-id-1798' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='349' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='remote_dpcd_write_ack' type-id='type-id-1799' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='350' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='remote_dpcd_write_nack' type-id='type-id-1800' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='351' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='remote_i2c_read_ack' type-id='type-id-1801' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='353' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='remote_i2c_read_nack' type-id='type-id-1802' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='354' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='remote_i2c_write_ack' type-id='type-id-1803' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='355' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='drm_dp_nak_reply' size-in-bits='144' is-struct='yes' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='159' column='1' id='type-id-1792'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='guid' type-id='type-id-1788' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='160' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='reason' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='161' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='136'>
+          <var-decl name='nak_data' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='162' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_dp_link_address_ack_reply' size-in-bits='3336' is-struct='yes' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='165' column='1' id='type-id-1793'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='guid' type-id='type-id-1788' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='166' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='nports' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='136'>
+          <var-decl name='ports' type-id='type-id-1760' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='179' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_dp_link_addr_reply_port' size-in-bits='200' is-struct='yes' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='168' column='1' id='type-id-1759'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='input_port' type-id='type-id-211' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='169' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='peer_device_type' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='170' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='port_number' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='171' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='mcs' type-id='type-id-211' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='172' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='ddps' type-id='type-id-211' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='173' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='40'>
+          <var-decl name='legacy_device_plug_status' type-id='type-id-211' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='174' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='dpcd_revision' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='175' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='56'>
+          <var-decl name='peer_guid' type-id='type-id-1788' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='176' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='184'>
+          <var-decl name='num_sdp_streams' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='177' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='num_sdp_stream_sinks' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='178' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_dp_port_number_rep' size-in-bits='8' is-struct='yes' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='299' column='1' id='type-id-1794'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='port_number' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='300' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_dp_enum_path_resources_ack_reply' size-in-bits='48' is-struct='yes' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='292' column='1' id='type-id-1795'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='port_number' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='293' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='full_payload_bw_number' type-id='type-id-289' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='294' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='avail_payload_bw_number' type-id='type-id-289' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='295' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_dp_allocate_payload_ack_reply' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='236' column='1' id='type-id-1796'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='port_number' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='237' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='vcpi' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='238' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='allocated_pbn' type-id='type-id-289' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='239' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_dp_query_payload_ack_reply' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='314' column='1' id='type-id-1797'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='port_number' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='315' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='allocated_pbn' type-id='type-id-289' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='316' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_dp_remote_dpcd_read_ack_reply' size-in-bits='2056' is-struct='yes' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='182' column='1' id='type-id-1798'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='port_number' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='183' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='num_bytes' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='184' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='bytes' type-id='type-id-1765' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='185' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_dp_remote_dpcd_write_ack_reply' size-in-bits='8' is-struct='yes' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='188' column='1' id='type-id-1799'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='port_number' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='189' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_dp_remote_dpcd_write_nak_reply' size-in-bits='24' is-struct='yes' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='192' column='1' id='type-id-1800'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='port_number' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='193' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='reason' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='194' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='bytes_written_before_failure' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='195' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_dp_remote_i2c_read_ack_reply' size-in-bits='2056' is-struct='yes' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='198' column='1' id='type-id-1801'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='port_number' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='199' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='num_bytes' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='200' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='bytes' type-id='type-id-1765' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='201' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_dp_remote_i2c_read_nak_reply' size-in-bits='24' is-struct='yes' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='204' column='1' id='type-id-1802'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='port_number' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='205' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='nak_reason' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='206' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='i2c_nak_transaction' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='207' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_dp_remote_i2c_write_ack_reply' size-in-bits='8' is-struct='yes' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='210' column='1' id='type-id-1803'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='port_number' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='211' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_dp_vcpi' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='38' column='1' id='type-id-1783'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='vcpi' type-id='type-id-11' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='pbn' type-id='type-id-11' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='aligned_pbn' type-id='type-id-11' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='num_slots' type-id='type-id-11' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='42' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_dp_sideband_msg_rx' size-in-bits='2608' is-struct='yes' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='215' column='1' id='type-id-1773'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='chunk' type-id='type-id-1769' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='216' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='msg' type-id='type-id-1767' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='217' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='curchunk_len' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='218' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2440'>
+          <var-decl name='curchunk_idx' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='219' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2448'>
+          <var-decl name='curchunk_hdrlen' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='220' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2456'>
+          <var-decl name='curlen' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='221' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2464'>
+          <var-decl name='have_somt' type-id='type-id-211' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='222' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2472'>
+          <var-decl name='have_eomt' type-id='type-id-211' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='223' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2480'>
+          <var-decl name='initial_hdr' type-id='type-id-1804' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='224' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_dp_sideband_msg_hdr' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='147' column='1' id='type-id-1804'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lct' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='148' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='lcr' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='149' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='rad' type-id='type-id-1399' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='150' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='80'>
+          <var-decl name='broadcast' type-id='type-id-211' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='151' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='88'>
+          <var-decl name='path_msg' type-id='type-id-211' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='152' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='msg_len' type-id='type-id-53' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='153' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='104'>
+          <var-decl name='somt' type-id='type-id-211' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='154' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='112'>
+          <var-decl name='eomt' type-id='type-id-211' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='155' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='120'>
+          <var-decl name='seqno' type-id='type-id-211' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='156' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_dp_mst_topology_state' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='409' column='1' id='type-id-1805'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='base' type-id='type-id-1438' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='410' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='avail_slots' type-id='type-id-11' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='411' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='state' type-id='type-id-1080' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='412' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='mgr' type-id='type-id-1784' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='413' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_dp_payload' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='400' column='1' id='type-id-1806'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='payload_state' type-id='type-id-11' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='401' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='start_slot' type-id='type-id-11' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='402' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='num_slots' type-id='type-id-11' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='403' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='vcpi' type-id='type-id-11' visibility='default' filepath='include/drm/drm_dp_mst_helper.h' line='404' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-1778' const='yes' id='type-id-1807'/>
+      <pointer-type-def type-id='type-id-1807' size-in-bits='64' id='type-id-1772'/>
+      <pointer-type-def type-id='type-id-1808' size-in-bits='64' id='type-id-1779'/>
+      <pointer-type-def type-id='type-id-1786' size-in-bits='64' id='type-id-1774'/>
+      <pointer-type-def type-id='type-id-1782' size-in-bits='64' id='type-id-1787'/>
+      <pointer-type-def type-id='type-id-1771' size-in-bits='64' id='type-id-1784'/>
+      <pointer-type-def type-id='type-id-1805' size-in-bits='64' id='type-id-1775'/>
+      <pointer-type-def type-id='type-id-1806' size-in-bits='64' id='type-id-1777'/>
+      <pointer-type-def type-id='type-id-1789' size-in-bits='64' id='type-id-1761'/>
+      <pointer-type-def type-id='type-id-1783' size-in-bits='64' id='type-id-1809'/>
+      <pointer-type-def type-id='type-id-1809' size-in-bits='64' id='type-id-1776'/>
+      <pointer-type-def type-id='type-id-1810' size-in-bits='64' id='type-id-1785'/>
+      <pointer-type-def type-id='type-id-1811' size-in-bits='64' id='type-id-1781'/>
+      <pointer-type-def type-id='type-id-1812' size-in-bits='64' id='type-id-1780'/>
+      <function-decl name='drm_get_edid' mangled-name='drm_get_edid' filepath='include/drm/drm_edid.h' line='463' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_get_edid'>
+        <parameter type-id='type-id-1074'/>
+        <parameter type-id='type-id-1706'/>
+        <return type-id='type-id-1785'/>
+      </function-decl>
+      <function-decl name='drm_edid_duplicate' mangled-name='drm_edid_duplicate' filepath='include/drm/drm_edid.h' line='467' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_edid_duplicate'>
+        <parameter type-id='type-id-1813'/>
+        <return type-id='type-id-1785'/>
+      </function-decl>
+      <function-decl name='drm_detect_monitor_audio' mangled-name='drm_detect_monitor_audio' filepath='include/drm/drm_edid.h' line='474' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_detect_monitor_audio'>
+        <parameter type-id='type-id-1785'/>
+        <return type-id='type-id-264'/>
+      </function-decl>
+      <function-decl name='drm_dp_mst_topology_mgr_init' mangled-name='drm_dp_mst_topology_mgr_init' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='3198' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dp_mst_topology_mgr_init'>
+        <parameter type-id='type-id-1784' name='mgr' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='3198' column='1'/>
+        <parameter type-id='type-id-1073' name='dev' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='3199' column='1'/>
+        <parameter type-id='type-id-1746' name='aux' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='3199' column='1'/>
+        <parameter type-id='type-id-11' name='max_dpcd_transaction_bytes' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='3200' column='1'/>
+        <parameter type-id='type-id-11' name='max_payloads' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='3201' column='1'/>
+        <parameter type-id='type-id-11' name='conn_base_id' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='3201' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_dp_send_power_updown_phy' mangled-name='drm_dp_send_power_updown_phy' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='1787' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dp_send_power_updown_phy'>
+        <parameter type-id='type-id-1784' name='mgr' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='1787' column='1'/>
+        <parameter type-id='type-id-1787' name='port' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='1788' column='1'/>
+        <parameter type-id='type-id-211' name='power_up' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='1788' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_dp_update_payload_part1' mangled-name='drm_dp_update_payload_part1' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='1886' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dp_update_payload_part1'>
+        <parameter type-id='type-id-1784' name='mgr' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='1886' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_dp_update_payload_part2' mangled-name='drm_dp_update_payload_part2' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='1970' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dp_update_payload_part2'>
+        <parameter type-id='type-id-1784' name='mgr' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='1970' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_dp_mst_topology_mgr_set_mst' mangled-name='drm_dp_mst_topology_mgr_set_mst' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2125' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dp_mst_topology_mgr_set_mst'>
+        <parameter type-id='type-id-1784' name='mgr' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2125' column='1'/>
+        <parameter type-id='type-id-211' name='mst_state' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2125' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_dp_mst_hpd_irq' mangled-name='drm_dp_mst_hpd_irq' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dp_mst_hpd_irq'>
+        <parameter type-id='type-id-1784' name='mgr' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2476' column='1'/>
+        <parameter type-id='type-id-67' name='esi' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2476' column='1'/>
+        <parameter type-id='type-id-763' name='handled' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2476' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_dp_mst_detect_port' mangled-name='drm_dp_mst_detect_port' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2512' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dp_mst_detect_port'>
+        <parameter type-id='type-id-1074' name='connector' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2512' column='1'/>
+        <parameter type-id='type-id-1784' name='mgr' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2513' column='1'/>
+        <parameter type-id='type-id-1787' name='port' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2513' column='1'/>
+        <return type-id='type-id-1318'/>
+      </function-decl>
+      <function-decl name='drm_dp_mst_get_edid' mangled-name='drm_dp_mst_get_edid' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2579' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dp_mst_get_edid'>
+        <parameter type-id='type-id-1074' name='connector' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2579' column='1'/>
+        <parameter type-id='type-id-1784' name='mgr' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2579' column='1'/>
+        <parameter type-id='type-id-1787' name='port' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2579' column='1'/>
+        <return type-id='type-id-1785'/>
+      </function-decl>
+      <function-decl name='drm_dp_find_vcpi_slots' mangled-name='drm_dp_find_vcpi_slots' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2605' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dp_find_vcpi_slots'>
+        <parameter type-id='type-id-1784' name='mgr' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2605' column='1'/>
+        <parameter type-id='type-id-11' name='pbn' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2606' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_dp_atomic_find_vcpi_slots' mangled-name='drm_dp_atomic_find_vcpi_slots' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2648' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dp_atomic_find_vcpi_slots'>
+        <parameter type-id='type-id-1080' name='state' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2648' column='1'/>
+        <parameter type-id='type-id-1784' name='mgr' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2649' column='1'/>
+        <parameter type-id='type-id-1787' name='port' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2650' column='1'/>
+        <parameter type-id='type-id-11' name='pbn' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2650' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_dp_atomic_release_vcpi_slots' mangled-name='drm_dp_atomic_release_vcpi_slots' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2689' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dp_atomic_release_vcpi_slots'>
+        <parameter type-id='type-id-1080' name='state' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2689' column='1'/>
+        <parameter type-id='type-id-1784' name='mgr' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2690' column='1'/>
+        <parameter type-id='type-id-11' name='slots' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2691' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_dp_mst_allocate_vcpi' mangled-name='drm_dp_mst_allocate_vcpi' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2720' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dp_mst_allocate_vcpi'>
+        <parameter type-id='type-id-1784' name='mgr' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2720' column='1'/>
+        <parameter type-id='type-id-1787' name='port' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2721' column='1'/>
+        <parameter type-id='type-id-11' name='pbn' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2721' column='1'/>
+        <parameter type-id='type-id-11' name='slots' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2721' column='1'/>
+        <return type-id='type-id-211'/>
+      </function-decl>
+      <function-decl name='drm_dp_mst_reset_vcpi_slots' mangled-name='drm_dp_mst_reset_vcpi_slots' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2776' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dp_mst_reset_vcpi_slots'>
+        <parameter type-id='type-id-1784' name='mgr' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2776' column='1'/>
+        <parameter type-id='type-id-1787' name='port' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2776' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_dp_mst_deallocate_vcpi' mangled-name='drm_dp_mst_deallocate_vcpi' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2791' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dp_mst_deallocate_vcpi'>
+        <parameter type-id='type-id-1784' name='mgr' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2791' column='1'/>
+        <parameter type-id='type-id-1787' name='port' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2791' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_dp_check_act_status' mangled-name='drm_dp_check_act_status' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2855' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dp_check_act_status'>
+        <parameter type-id='type-id-1784' name='mgr' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2855' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_dp_calc_pbn_mode' mangled-name='drm_dp_calc_pbn_mode' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2894' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dp_calc_pbn_mode'>
+        <parameter type-id='type-id-11' name='clock' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2894' column='1'/>
+        <parameter type-id='type-id-11' name='bpp' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='2894' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_dp_mst_topology_mgr_destroy' mangled-name='drm_dp_mst_topology_mgr_destroy' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='3254' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dp_mst_topology_mgr_destroy'>
+        <parameter type-id='type-id-1784' name='mgr' filepath='drivers/gpu/drm/drm_dp_mst_topology.c' line='3254' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-1808'>
+        <parameter type-id='type-id-1784'/>
+        <parameter type-id='type-id-1787'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-1074'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1811'>
+        <parameter type-id='type-id-1784'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1812'>
+        <parameter type-id='type-id-1784'/>
+        <parameter type-id='type-id-1074'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_drv.c' language='LANG_C89'>
+      <function-decl name='drm_dev_put' mangled-name='drm_dev_put' filepath='include/drm/drm_drv.h' line='624' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dev_put'>
+        <parameter type-id='type-id-1073'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_dev_unregister' mangled-name='drm_dev_unregister' filepath='include/drm/drm_drv.h' line='621' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dev_unregister'>
+        <parameter type-id='type-id-1073'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_ht_create' mangled-name='drm_ht_create' filepath='include/drm/drm_hashtab.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_ht_create'>
+        <parameter type-id='type-id-1102'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_dev_set_unique' mangled-name='drm_dev_set_unique' filepath='include/drm/drm_drv.h' line='682' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dev_set_unique'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_ht_remove' mangled-name='drm_ht_remove' filepath='include/drm/drm_hashtab.h' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_ht_remove'>
+        <parameter type-id='type-id-1102'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_put_dev' mangled-name='drm_put_dev' filepath='drivers/gpu/drm/drm_drv.c' line='310' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_put_dev'>
+        <parameter type-id='type-id-1073' name='dev' filepath='drivers/gpu/drm/drm_drv.c' line='310' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_dev_alloc' mangled-name='drm_dev_alloc' filepath='drivers/gpu/drm/drm_drv.c' line='640' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dev_alloc'>
+        <parameter type-id='type-id-1157' name='driver' filepath='drivers/gpu/drm/drm_drv.c' line='640' column='1'/>
+        <parameter type-id='type-id-86' name='parent' filepath='drivers/gpu/drm/drm_drv.c' line='641' column='1'/>
+        <return type-id='type-id-1073'/>
+      </function-decl>
+      <function-decl name='drm_dev_register' mangled-name='drm_dev_register' filepath='drivers/gpu/drm/drm_drv.c' line='794' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dev_register'>
+        <parameter type-id='type-id-1073' name='dev' filepath='drivers/gpu/drm/drm_drv.c' line='794' column='1'/>
+        <parameter type-id='type-id-100' name='flags' filepath='drivers/gpu/drm/drm_drv.c' line='794' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_edid.c' language='LANG_C89'>
+      <pointer-type-def type-id='type-id-1814' size-in-bits='64' id='type-id-1815'/>
+      <function-decl name='drm_add_edid_modes' mangled-name='drm_add_edid_modes' filepath='include/drm/drm_edid.h' line='468' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_add_edid_modes'>
+        <parameter type-id='type-id-1074'/>
+        <parameter type-id='type-id-1785'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_do_get_edid' mangled-name='drm_do_get_edid' filepath='drivers/gpu/drm/drm_edid.c' line='1651' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_do_get_edid'>
+        <parameter type-id='type-id-1074' name='connector' filepath='drivers/gpu/drm/drm_edid.c' line='1651' column='1'/>
+        <parameter type-id='type-id-1815' name='get_edid_block' filepath='drivers/gpu/drm/drm_edid.c' line='1652' column='1'/>
+        <parameter type-id='type-id-3' name='data' filepath='drivers/gpu/drm/drm_edid.c' line='1654' column='1'/>
+        <return type-id='type-id-1785'/>
+      </function-decl>
+      <function-decl name='drm_detect_hdmi_monitor' mangled-name='drm_detect_hdmi_monitor' filepath='drivers/gpu/drm/drm_edid.c' line='4276' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_detect_hdmi_monitor'>
+        <parameter type-id='type-id-1785' name='edid' filepath='drivers/gpu/drm/drm_edid.c' line='4276' column='1'/>
+        <return type-id='type-id-211'/>
+      </function-decl>
+      <function-decl name='drm_set_preferred_mode' mangled-name='drm_set_preferred_mode' filepath='drivers/gpu/drm/drm_edid.c' line='4943' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_set_preferred_mode'>
+        <parameter type-id='type-id-1074' name='connector' filepath='drivers/gpu/drm/drm_edid.c' line='4943' column='1'/>
+        <parameter type-id='type-id-11' name='hpref' filepath='drivers/gpu/drm/drm_edid.c' line='4944' column='1'/>
+        <parameter type-id='type-id-11' name='vpref' filepath='drivers/gpu/drm/drm_edid.c' line='4944' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-1814'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-67'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_encoder.c' language='LANG_C89'>
+      <function-decl name='drm_encoder_cleanup' mangled-name='drm_encoder_cleanup' filepath='drivers/gpu/drm/drm_encoder.c' line='157' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_encoder_cleanup'>
+        <parameter type-id='type-id-1323' name='encoder' filepath='drivers/gpu/drm/drm_encoder.c' line='157' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_encoder_slave.c' language='LANG_C89'>
+      <class-decl name='i2c_client' size-in-bits='6656' is-struct='yes' visibility='default' filepath='include/linux/i2c.h' line='328' column='1' id='type-id-627'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='flags' type-id='type-id-288' visibility='default' filepath='include/linux/i2c.h' line='329' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='addr' type-id='type-id-288' visibility='default' filepath='include/linux/i2c.h' line='330' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='name' type-id='type-id-1816' visibility='default' filepath='include/linux/i2c.h' line='333' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='adapter' type-id='type-id-1706' visibility='default' filepath='include/linux/i2c.h' line='334' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='include/linux/i2c.h' line='335' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6464'>
+          <var-decl name='init_irq' type-id='type-id-11' visibility='default' filepath='include/linux/i2c.h' line='336' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6496'>
+          <var-decl name='irq' type-id='type-id-11' visibility='default' filepath='include/linux/i2c.h' line='337' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6528'>
+          <var-decl name='detected' type-id='type-id-8' visibility='default' filepath='include/linux/i2c.h' line='338' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-627' size-in-bits='64' id='type-id-630'/>
+      <function-decl name='i2c_unregister_device' mangled-name='i2c_unregister_device' filepath='include/linux/i2c.h' line='477' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='i2c_unregister_device'>
+        <parameter type-id='type-id-630'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_file.c' language='LANG_C89'>
+
+      <array-type-def dimensions='1' type-id='type-id-1817' size-in-bits='7360' id='type-id-1818'>
+        <subrange length='23' type-id='type-id-5' id='type-id-1819'/>
+
+      </array-type-def>
+      <class-decl name='drm_lock_data' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/drm/drm_auth.h' line='37' column='1' id='type-id-1820'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='hw_lock' type-id='type-id-1247' visibility='default' filepath='include/drm/drm_auth.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='file_priv' type-id='type-id-1118' visibility='default' filepath='include/drm/drm_auth.h' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='lock_queue' type-id='type-id-388' visibility='default' filepath='include/drm/drm_auth.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='lock_time' type-id='type-id-100' visibility='default' filepath='include/drm/drm_auth.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='spinlock' type-id='type-id-106' visibility='default' filepath='include/drm/drm_auth.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='kernel_waiters' type-id='type-id-193' visibility='default' filepath='include/drm/drm_auth.h' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='user_waiters' type-id='type-id-193' visibility='default' filepath='include/drm/drm_auth.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='idle_has_lock' type-id='type-id-11' visibility='default' filepath='include/drm/drm_auth.h' line='45' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_buf_entry' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/drm/drm_legacy.h' line='86' column='1' id='type-id-1817'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='buf_size' type-id='type-id-11' visibility='default' filepath='include/drm/drm_legacy.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='buf_count' type-id='type-id-11' visibility='default' filepath='include/drm/drm_legacy.h' line='88' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='buflist' type-id='type-id-1821' visibility='default' filepath='include/drm/drm_legacy.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='seg_count' type-id='type-id-11' visibility='default' filepath='include/drm/drm_legacy.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='page_order' type-id='type-id-11' visibility='default' filepath='include/drm/drm_legacy.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='seglist' type-id='type-id-1822' visibility='default' filepath='include/drm/drm_legacy.h' line='92' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='low_mark' type-id='type-id-11' visibility='default' filepath='include/drm/drm_legacy.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='high_mark' type-id='type-id-11' visibility='default' filepath='include/drm/drm_legacy.h' line='95' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_buf' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/drm/drm_legacy.h' line='50' column='1' id='type-id-1823'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='idx' type-id='type-id-11' visibility='default' filepath='include/drm/drm_legacy.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='total' type-id='type-id-11' visibility='default' filepath='include/drm/drm_legacy.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='order' type-id='type-id-11' visibility='default' filepath='include/drm/drm_legacy.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='used' type-id='type-id-11' visibility='default' filepath='include/drm/drm_legacy.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='offset' type-id='type-id-100' visibility='default' filepath='include/drm/drm_legacy.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='address' type-id='type-id-3' visibility='default' filepath='include/drm/drm_legacy.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='bus_address' type-id='type-id-100' visibility='default' filepath='include/drm/drm_legacy.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='next' type-id='type-id-1821' visibility='default' filepath='include/drm/drm_legacy.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='waiting' type-id='type-id-1824' visibility='default' filepath='include/drm/drm_legacy.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='pending' type-id='type-id-1824' visibility='default' filepath='include/drm/drm_legacy.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='file_priv' type-id='type-id-1118' visibility='default' filepath='include/drm/drm_legacy.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='context' type-id='type-id-11' visibility='default' filepath='include/drm/drm_legacy.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='while_locked' type-id='type-id-11' visibility='default' filepath='include/drm/drm_legacy.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='list' type-id='type-id-1825' visibility='default' filepath='include/drm/drm_legacy.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='dev_priv_size' type-id='type-id-11' visibility='default' filepath='include/drm/drm_legacy.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='dev_private' type-id='type-id-3' visibility='default' filepath='include/drm/drm_legacy.h' line='74' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='__anonymous_enum__' is-anonymous='yes' filepath='include/drm/drm_legacy.h' line='64' column='1' id='type-id-1825'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='DRM_LIST_NONE' value='0'/>
+        <enumerator name='DRM_LIST_FREE' value='1'/>
+        <enumerator name='DRM_LIST_WAIT' value='2'/>
+        <enumerator name='DRM_LIST_PEND' value='3'/>
+        <enumerator name='DRM_LIST_PRIO' value='4'/>
+        <enumerator name='DRM_LIST_RECLAIM' value='5'/>
+      </enum-decl>
+      <class-decl name='drm_dma_handle' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/drm/drm_legacy.h' line='77' column='1' id='type-id-1826'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='busaddr' type-id='type-id-210' visibility='default' filepath='include/drm/drm_legacy.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='vaddr' type-id='type-id-3' visibility='default' filepath='include/drm/drm_legacy.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='size' type-id='type-id-125' visibility='default' filepath='include/drm/drm_legacy.h' line='80' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='__anonymous_enum__1' is-anonymous='yes' filepath='include/drm/drm_legacy.h' line='110' column='1' id='type-id-1827'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='_DRM_DMA_USE_AGP' value='1'/>
+        <enumerator name='_DRM_DMA_USE_SG' value='2'/>
+        <enumerator name='_DRM_DMA_USE_FB' value='4'/>
+        <enumerator name='_DRM_DMA_USE_PCI_RO' value='8'/>
+      </enum-decl>
+      <enum-decl name='drm_map_type' filepath='include/uapi/drm/drm.h' line='188' column='1' id='type-id-1828'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='_DRM_FRAME_BUFFER' value='0'/>
+        <enumerator name='_DRM_REGISTERS' value='1'/>
+        <enumerator name='_DRM_SHM' value='2'/>
+        <enumerator name='_DRM_AGP' value='3'/>
+        <enumerator name='_DRM_SCATTER_GATHER' value='4'/>
+        <enumerator name='_DRM_CONSISTENT' value='5'/>
+      </enum-decl>
+      <enum-decl name='drm_map_flags' filepath='include/uapi/drm/drm.h' line='200' column='1' id='type-id-1829'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='_DRM_RESTRICTED' value='1'/>
+        <enumerator name='_DRM_READ_ONLY' value='2'/>
+        <enumerator name='_DRM_LOCKED' value='4'/>
+        <enumerator name='_DRM_KERNEL' value='8'/>
+        <enumerator name='_DRM_WRITE_COMBINING' value='16'/>
+        <enumerator name='_DRM_CONTAINS_LOCK' value='32'/>
+        <enumerator name='_DRM_REMOVABLE' value='64'/>
+        <enumerator name='_DRM_DRIVER' value='128'/>
+      </enum-decl>
+      <pointer-type-def type-id='type-id-1823' size-in-bits='64' id='type-id-1821'/>
+      <pointer-type-def type-id='type-id-1821' size-in-bits='64' id='type-id-1830'/>
+      <pointer-type-def type-id='type-id-1826' size-in-bits='64' id='type-id-1831'/>
+      <pointer-type-def type-id='type-id-1831' size-in-bits='64' id='type-id-1822'/>
+      <pointer-type-def type-id='type-id-1377' size-in-bits='64' id='type-id-1832'/>
+      <qualified-type-def type-id='type-id-11' volatile='yes' id='type-id-1824'/>
+      <function-decl name='dma_fence_signal' mangled-name='dma_fence_signal' filepath='include/linux/dma-fence.h' line='340' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_fence_signal'>
+        <parameter type-id='type-id-893'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_irq_uninstall' mangled-name='drm_irq_uninstall' filepath='include/drm/drm_irq.h' line='30' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_irq_uninstall'>
+        <parameter type-id='type-id-1073'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_open' mangled-name='drm_open' filepath='drivers/gpu/drm/drm_file.c' line='298' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_open'>
+        <parameter type-id='type-id-1160' name='inode' filepath='drivers/gpu/drm/drm_file.c' line='298' column='1'/>
+        <parameter type-id='type-id-147' name='filp' filepath='drivers/gpu/drm/drm_file.c' line='298' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_release' mangled-name='drm_release' filepath='drivers/gpu/drm/drm_file.c' line='466' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_release'>
+        <parameter type-id='type-id-1160' name='inode' filepath='drivers/gpu/drm/drm_file.c' line='466' column='1'/>
+        <parameter type-id='type-id-147' name='filp' filepath='drivers/gpu/drm/drm_file.c' line='466' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_read' mangled-name='drm_read' filepath='drivers/gpu/drm/drm_file.c' line='519' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_read'>
+        <parameter type-id='type-id-147' name='filp' filepath='drivers/gpu/drm/drm_file.c' line='519' column='1'/>
+        <parameter type-id='type-id-300' name='buffer' filepath='drivers/gpu/drm/drm_file.c' line='519' column='1'/>
+        <parameter type-id='type-id-125' name='count' filepath='drivers/gpu/drm/drm_file.c' line='520' column='1'/>
+        <parameter type-id='type-id-1705' name='offset' filepath='drivers/gpu/drm/drm_file.c' line='520' column='1'/>
+        <return type-id='type-id-543'/>
+      </function-decl>
+      <function-decl name='drm_poll' mangled-name='drm_poll' filepath='drivers/gpu/drm/drm_file.c' line='606' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_poll'>
+        <parameter type-id='type-id-147' name='filp' filepath='drivers/gpu/drm/drm_file.c' line='606' column='1'/>
+        <parameter type-id='type-id-1833' name='wait' filepath='drivers/gpu/drm/drm_file.c' line='606' column='1'/>
+        <return type-id='type-id-1834'/>
+      </function-decl>
+      <function-decl name='drm_event_reserve_init_locked' mangled-name='drm_event_reserve_init_locked' filepath='drivers/gpu/drm/drm_file.c' line='644' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_event_reserve_init_locked'>
+        <parameter type-id='type-id-1073' name='dev' filepath='drivers/gpu/drm/drm_file.c' line='644' column='1'/>
+        <parameter type-id='type-id-1118' name='file_priv' filepath='drivers/gpu/drm/drm_file.c' line='645' column='1'/>
+        <parameter type-id='type-id-1832' name='p' filepath='drivers/gpu/drm/drm_file.c' line='646' column='1'/>
+        <parameter type-id='type-id-1380' name='e' filepath='drivers/gpu/drm/drm_file.c' line='647' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_send_event_locked' mangled-name='drm_send_event_locked' filepath='drivers/gpu/drm/drm_file.c' line='743' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_send_event_locked'>
+        <parameter type-id='type-id-1073' name='dev' filepath='drivers/gpu/drm/drm_file.c' line='743' column='1'/>
+        <parameter type-id='type-id-1832' name='e' filepath='drivers/gpu/drm/drm_file.c' line='743' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_fourcc.c' language='LANG_C89'>
+      <function-decl name='drm_format_info' mangled-name='drm_format_info' filepath='drivers/gpu/drm/drm_fourcc.c' line='199' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_format_info'>
+        <parameter type-id='type-id-9' name='format' filepath='drivers/gpu/drm/drm_fourcc.c' line='199' column='1'/>
+        <return type-id='type-id-1269'/>
+      </function-decl>
+      <function-decl name='drm_format_num_planes' mangled-name='drm_format_num_planes' filepath='drivers/gpu/drm/drm_fourcc.c' line='241' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_format_num_planes'>
+        <parameter type-id='type-id-193' name='format' filepath='drivers/gpu/drm/drm_fourcc.c' line='241' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_format_plane_cpp' mangled-name='drm_format_plane_cpp' filepath='drivers/gpu/drm/drm_fourcc.c' line='258' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_format_plane_cpp'>
+        <parameter type-id='type-id-193' name='format' filepath='drivers/gpu/drm/drm_fourcc.c' line='258' column='1'/>
+        <parameter type-id='type-id-11' name='plane' filepath='drivers/gpu/drm/drm_fourcc.c' line='258' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_format_horz_chroma_subsampling' mangled-name='drm_format_horz_chroma_subsampling' filepath='drivers/gpu/drm/drm_fourcc.c' line='278' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_format_horz_chroma_subsampling'>
+        <parameter type-id='type-id-193' name='format' filepath='drivers/gpu/drm/drm_fourcc.c' line='278' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_format_vert_chroma_subsampling' mangled-name='drm_format_vert_chroma_subsampling' filepath='drivers/gpu/drm/drm_fourcc.c' line='295' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_format_vert_chroma_subsampling'>
+        <parameter type-id='type-id-193' name='format' filepath='drivers/gpu/drm/drm_fourcc.c' line='295' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_framebuffer.c' language='LANG_C89'>
+      <function-decl name='drm_framebuffer_remove' mangled-name='drm_framebuffer_remove' filepath='drivers/gpu/drm/drm_framebuffer.c' line='920' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_framebuffer_remove'>
+        <parameter type-id='type-id-1090' name='fb' filepath='drivers/gpu/drm/drm_framebuffer.c' line='920' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_framebuffer_unregister_private' mangled-name='drm_framebuffer_unregister_private' filepath='drivers/gpu/drm/drm_framebuffer.c' line='748' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_framebuffer_unregister_private'>
+        <parameter type-id='type-id-1090' name='fb' filepath='drivers/gpu/drm/drm_framebuffer.c' line='748' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_gem.c' language='LANG_C89'>
+      <pointer-type-def type-id='type-id-1835' size-in-bits='64' id='type-id-1836'/>
+      <function-decl name='drm_vma_offset_manager_init' mangled-name='drm_vma_offset_manager_init' filepath='include/drm/drm_vma_manager.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_vma_offset_manager_init'>
+        <parameter type-id='type-id-1170'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_vma_offset_manager_destroy' mangled-name='drm_vma_offset_manager_destroy' filepath='include/drm/drm_vma_manager.h' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_vma_offset_manager_destroy'>
+        <parameter type-id='type-id-1170'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_gem_private_object_init' mangled-name='drm_gem_private_object_init' filepath='include/drm/drm_gem.h' line='181' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_gem_private_object_init'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-1837'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_gem_create_mmap_offset' mangled-name='drm_gem_create_mmap_offset' filepath='include/drm/drm_gem.h' line='282' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_gem_create_mmap_offset'>
+        <parameter type-id='type-id-1837'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_vma_offset_remove' mangled-name='drm_vma_offset_remove' filepath='include/drm/drm_vma_manager.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_vma_offset_remove'>
+        <parameter type-id='type-id-1170'/>
+        <parameter type-id='type-id-1836'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_vma_offset_add' mangled-name='drm_vma_offset_add' filepath='include/drm/drm_vma_manager.h' line='59' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_vma_offset_add'>
+        <parameter type-id='type-id-1170'/>
+        <parameter type-id='type-id-1836'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='dma_buf_put' mangled-name='dma_buf_put' filepath='include/linux/dma-buf.h' line='388' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_buf_put'>
+        <parameter type-id='type-id-891'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_vma_offset_lookup_locked' mangled-name='drm_vma_offset_lookup_locked' filepath='include/drm/drm_vma_manager.h' line='56' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_vma_offset_lookup_locked'>
+        <parameter type-id='type-id-1170'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-1836'/>
+      </function-decl>
+      <function-decl name='drm_gem_object_init' mangled-name='drm_gem_object_init' filepath='drivers/gpu/drm/drm_gem.c' line='135' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_gem_object_init'>
+        <parameter type-id='type-id-1073' name='dev' filepath='drivers/gpu/drm/drm_gem.c' line='135' column='1'/>
+        <parameter type-id='type-id-1837' name='obj' filepath='drivers/gpu/drm/drm_gem.c' line='136' column='1'/>
+        <parameter type-id='type-id-125' name='size' filepath='drivers/gpu/drm/drm_gem.c' line='136' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_gem_free_mmap_offset' mangled-name='drm_gem_free_mmap_offset' filepath='drivers/gpu/drm/drm_gem.c' line='468' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_gem_free_mmap_offset'>
+        <parameter type-id='type-id-1837' name='obj' filepath='drivers/gpu/drm/drm_gem.c' line='468' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_gem_get_pages' mangled-name='drm_gem_get_pages' filepath='drivers/gpu/drm/drm_gem.c' line='544' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_gem_get_pages'>
+        <parameter type-id='type-id-1837' name='obj' filepath='drivers/gpu/drm/drm_gem.c' line='544' column='1'/>
+        <return type-id='type-id-260'/>
+      </function-decl>
+      <function-decl name='drm_gem_put_pages' mangled-name='drm_gem_put_pages' filepath='drivers/gpu/drm/drm_gem.c' line='598' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_gem_put_pages'>
+        <parameter type-id='type-id-1837' name='obj' filepath='drivers/gpu/drm/drm_gem.c' line='598' column='1'/>
+        <parameter type-id='type-id-260' name='pages' filepath='drivers/gpu/drm/drm_gem.c' line='598' column='1'/>
+        <parameter type-id='type-id-211' name='dirty' filepath='drivers/gpu/drm/drm_gem.c' line='599' column='1'/>
+        <parameter type-id='type-id-211' name='accessed' filepath='drivers/gpu/drm/drm_gem.c' line='599' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_gem_object_release' mangled-name='drm_gem_object_release' filepath='drivers/gpu/drm/drm_gem.c' line='811' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_gem_object_release'>
+        <parameter type-id='type-id-1837' name='obj' filepath='drivers/gpu/drm/drm_gem.c' line='811' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_gem_object_put' mangled-name='drm_gem_object_put' filepath='drivers/gpu/drm/drm_gem.c' line='890' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_gem_object_put'>
+        <parameter type-id='type-id-1837' name='obj' filepath='drivers/gpu/drm/drm_gem.c' line='890' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_gem_vm_open' mangled-name='drm_gem_vm_open' filepath='drivers/gpu/drm/drm_gem.c' line='907' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_gem_vm_open'>
+        <parameter type-id='type-id-132' name='vma' filepath='drivers/gpu/drm/drm_gem.c' line='907' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_gem_vm_close' mangled-name='drm_gem_vm_close' filepath='drivers/gpu/drm/drm_gem.c' line='922' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_gem_vm_close'>
+        <parameter type-id='type-id-132' name='vma' filepath='drivers/gpu/drm/drm_gem.c' line='922' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_gem_mmap_obj' mangled-name='drm_gem_mmap_obj' filepath='drivers/gpu/drm/drm_gem.c' line='954' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_gem_mmap_obj'>
+        <parameter type-id='type-id-1837' name='obj' filepath='drivers/gpu/drm/drm_gem.c' line='954' column='1'/>
+        <parameter type-id='type-id-100' name='obj_size' filepath='drivers/gpu/drm/drm_gem.c' line='954' column='1'/>
+        <parameter type-id='type-id-132' name='vma' filepath='drivers/gpu/drm/drm_gem.c' line='955' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_gem_mmap' mangled-name='drm_gem_mmap' filepath='drivers/gpu/drm/drm_gem.c' line='999' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_gem_mmap'>
+        <parameter type-id='type-id-147' name='filp' filepath='drivers/gpu/drm/drm_gem.c' line='999' column='1'/>
+        <parameter type-id='type-id-132' name='vma' filepath='drivers/gpu/drm/drm_gem.c' line='999' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_gem_framebuffer_helper.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-893' size-in-bits='infinite' id='type-id-1838'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <class-decl name='drm_gem_object' size-in-bits='1920' is-struct='yes' visibility='default' filepath='include/drm/drm_gem.h' line='49' column='1' id='type-id-1839'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='refcount' type-id='type-id-771' visibility='default' filepath='include/drm/drm_gem.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='handle_count' type-id='type-id-10' visibility='default' filepath='include/drm/drm_gem.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dev' type-id='type-id-1073' visibility='default' filepath='include/drm/drm_gem.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='filp' type-id='type-id-147' visibility='default' filepath='include/drm/drm_gem.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='vma_node' type-id='type-id-1835' visibility='default' filepath='include/drm/drm_gem.h' line='99' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='size' type-id='type-id-125' visibility='default' filepath='include/drm/drm_gem.h' line='107' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='name' type-id='type-id-11' visibility='default' filepath='include/drm/drm_gem.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='dma_buf' type-id='type-id-891' visibility='default' filepath='include/drm/drm_gem.h' line='129' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='import_attach' type-id='type-id-1840' visibility='default' filepath='include/drm/drm_gem.h' line='148' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_mm' size-in-bits='1856' is-struct='yes' visibility='default' filepath='include/drm/drm_mm.h' line='186' column='1' id='type-id-1841'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='color_adjust' type-id='type-id-1842' visibility='default' filepath='include/drm/drm_mm.h' line='196' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='hole_stack' type-id='type-id-8' visibility='default' filepath='include/drm/drm_mm.h' line='202' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='head_node' type-id='type-id-1843' visibility='default' filepath='include/drm/drm_mm.h' line='205' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='interval_tree' type-id='type-id-1844' visibility='default' filepath='include/drm/drm_mm.h' line='207' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='holes_size' type-id='type-id-1844' visibility='default' filepath='include/drm/drm_mm.h' line='208' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='holes_addr' type-id='type-id-133' visibility='default' filepath='include/drm/drm_mm.h' line='209' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='scan_active' type-id='type-id-100' visibility='default' filepath='include/drm/drm_mm.h' line='211' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_mm_node' size-in-bits='1280' is-struct='yes' visibility='default' filepath='include/drm/drm_mm.h' line='155' column='1' id='type-id-1843'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='color' type-id='type-id-100' visibility='default' filepath='include/drm/drm_mm.h' line='157' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='start' type-id='type-id-134' visibility='default' filepath='include/drm/drm_mm.h' line='159' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='size' type-id='type-id-134' visibility='default' filepath='include/drm/drm_mm.h' line='161' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='mm' type-id='type-id-1845' visibility='default' filepath='include/drm/drm_mm.h' line='163' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='node_list' type-id='type-id-8' visibility='default' filepath='include/drm/drm_mm.h' line='164' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='hole_stack' type-id='type-id-8' visibility='default' filepath='include/drm/drm_mm.h' line='165' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='rb' type-id='type-id-1846' visibility='default' filepath='include/drm/drm_mm.h' line='166' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='rb_hole_size' type-id='type-id-1846' visibility='default' filepath='include/drm/drm_mm.h' line='167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='rb_hole_addr' type-id='type-id-1846' visibility='default' filepath='include/drm/drm_mm.h' line='168' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='__subtree_last' type-id='type-id-134' visibility='default' filepath='include/drm/drm_mm.h' line='169' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='hole_size' type-id='type-id-134' visibility='default' filepath='include/drm/drm_mm.h' line='170' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7'>
+          <var-decl name='allocated' type-id='type-id-211' visibility='default' filepath='include/drm/drm_mm.h' line='171' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6'>
+          <var-decl name='scanned_block' type-id='type-id-211' visibility='default' filepath='include/drm/drm_mm.h' line='172' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_vma_offset_node' size-in-bits='1472' is-struct='yes' visibility='default' filepath='include/drm/drm_vma_manager.h' line='40' column='1' id='type-id-1835'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='vm_lock' type-id='type-id-1847' visibility='default' filepath='include/drm/drm_vma_manager.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='vm_node' type-id='type-id-1843' visibility='default' filepath='include/drm/drm_vma_manager.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='vm_files' type-id='type-id-133' visibility='default' filepath='include/drm/drm_vma_manager.h' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7'>
+          <var-decl name='readonly' type-id='type-id-211' visibility='default' filepath='include/drm/drm_vma_manager.h' line='44' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='dma_buf' size-in-bits='1984' is-struct='yes' visibility='default' filepath='include/linux/dma-buf.h' line='282' column='1' id='type-id-1848'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='size' type-id='type-id-125' visibility='default' filepath='include/linux/dma-buf.h' line='283' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='file' type-id='type-id-147' visibility='default' filepath='include/linux/dma-buf.h' line='284' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='attachments' type-id='type-id-8' visibility='default' filepath='include/linux/dma-buf.h' line='285' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='ops' type-id='type-id-1849' visibility='default' filepath='include/linux/dma-buf.h' line='286' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='lock' type-id='type-id-407' visibility='default' filepath='include/linux/dma-buf.h' line='287' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='vmapping_counter' type-id='type-id-10' visibility='default' filepath='include/linux/dma-buf.h' line='288' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='vmap_ptr' type-id='type-id-3' visibility='default' filepath='include/linux/dma-buf.h' line='289' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='exp_name' type-id='type-id-24' visibility='default' filepath='include/linux/dma-buf.h' line='290' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/dma-buf.h' line='291' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/linux/dma-buf.h' line='292' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='list_node' type-id='type-id-8' visibility='default' filepath='include/linux/dma-buf.h' line='293' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='priv' type-id='type-id-3' visibility='default' filepath='include/linux/dma-buf.h' line='294' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='resv' type-id='type-id-890' visibility='default' filepath='include/linux/dma-buf.h' line='295' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='poll' type-id='type-id-388' visibility='default' filepath='include/linux/dma-buf.h' line='298' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='cb_excl' type-id='type-id-1850' visibility='default' filepath='include/linux/dma-buf.h' line='305' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='cb_shared' type-id='type-id-1850' visibility='default' filepath='include/linux/dma-buf.h' line='305' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='dma_buf_ops' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/linux/dma-buf.h' line='53' column='1' id='type-id-1851'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='attach' type-id='type-id-1852' visibility='default' filepath='include/linux/dma-buf.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='detach' type-id='type-id-1853' visibility='default' filepath='include/linux/dma-buf.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='map_dma_buf' type-id='type-id-1854' visibility='default' filepath='include/linux/dma-buf.h' line='131' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='unmap_dma_buf' type-id='type-id-1855' visibility='default' filepath='include/linux/dma-buf.h' line='142' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='release' type-id='type-id-1856' visibility='default' filepath='include/linux/dma-buf.h' line='156' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='begin_cpu_access' type-id='type-id-1857' visibility='default' filepath='include/linux/dma-buf.h' line='188' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='end_cpu_access' type-id='type-id-1857' visibility='default' filepath='include/linux/dma-buf.h' line='207' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='map' type-id='type-id-1858' visibility='default' filepath='include/linux/dma-buf.h' line='208' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='unmap' type-id='type-id-1859' visibility='default' filepath='include/linux/dma-buf.h' line='209' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='mmap' type-id='type-id-1860' visibility='default' filepath='include/linux/dma-buf.h' line='246' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='vmap' type-id='type-id-1861' visibility='default' filepath='include/linux/dma-buf.h' line='248' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='vunmap' type-id='type-id-1862' visibility='default' filepath='include/linux/dma-buf.h' line='249' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='dma_buf_attachment' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/dma-buf.h' line='324' column='1' id='type-id-1863'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dmabuf' type-id='type-id-891' visibility='default' filepath='include/linux/dma-buf.h' line='325' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/linux/dma-buf.h' line='326' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='node' type-id='type-id-8' visibility='default' filepath='include/linux/dma-buf.h' line='327' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='priv' type-id='type-id-3' visibility='default' filepath='include/linux/dma-buf.h' line='328' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='reservation_object' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/reservation.h' line='73' column='1' id='type-id-1864'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-1256' visibility='default' filepath='include/linux/reservation.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='seq' type-id='type-id-1865' visibility='default' filepath='include/linux/reservation.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='fence_excl' type-id='type-id-893' visibility='default' filepath='include/linux/reservation.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='fence' type-id='type-id-1866' visibility='default' filepath='include/linux/reservation.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='staged' type-id='type-id-1866' visibility='default' filepath='include/linux/reservation.h' line='79' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='reservation_object_list' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/reservation.h' line='59' column='1' id='type-id-1867'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/linux/reservation.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='shared_count' type-id='type-id-9' visibility='default' filepath='include/linux/reservation.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='shared_max' type-id='type-id-9' visibility='default' filepath='include/linux/reservation.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='shared' type-id='type-id-1838' visibility='default' filepath='include/linux/reservation.h' line='62' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='dma_buf_poll_cb_t' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/dma-buf.h' line='300' column='1' id='type-id-1850'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cb' type-id='type-id-1077' visibility='default' filepath='include/linux/dma-buf.h' line='301' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='poll' type-id='type-id-1868' visibility='default' filepath='include/linux/dma-buf.h' line='302' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='active' type-id='type-id-1834' visibility='default' filepath='include/linux/dma-buf.h' line='304' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='dma_fence_cb' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/dma-fence.h' line='104' column='1' id='type-id-1077'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='node' type-id='type-id-8' visibility='default' filepath='include/linux/dma-fence.h' line='105' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='func' type-id='type-id-1869' visibility='default' filepath='include/linux/dma-fence.h' line='106' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='dma_fence_func_t' type-id='type-id-1870' filepath='include/linux/dma-fence.h' line='93' column='1' id='type-id-1869'/>
+      <qualified-type-def type-id='type-id-1851' const='yes' id='type-id-1871'/>
+      <pointer-type-def type-id='type-id-1871' size-in-bits='64' id='type-id-1849'/>
+      <qualified-type-def type-id='type-id-1843' const='yes' id='type-id-1872'/>
+      <pointer-type-def type-id='type-id-1872' size-in-bits='64' id='type-id-1873'/>
+      <pointer-type-def type-id='type-id-1848' size-in-bits='64' id='type-id-891'/>
+      <pointer-type-def type-id='type-id-1863' size-in-bits='64' id='type-id-1840'/>
+      <pointer-type-def type-id='type-id-1077' size-in-bits='64' id='type-id-1874'/>
+      <pointer-type-def type-id='type-id-1839' size-in-bits='64' id='type-id-1837'/>
+      <pointer-type-def type-id='type-id-1841' size-in-bits='64' id='type-id-1845'/>
+      <pointer-type-def type-id='type-id-1875' size-in-bits='64' id='type-id-1852'/>
+      <pointer-type-def type-id='type-id-1876' size-in-bits='64' id='type-id-1857'/>
+      <pointer-type-def type-id='type-id-1877' size-in-bits='64' id='type-id-1860'/>
+      <pointer-type-def type-id='type-id-1864' size-in-bits='64' id='type-id-890'/>
+      <pointer-type-def type-id='type-id-1867' size-in-bits='64' id='type-id-1866'/>
+      <pointer-type-def type-id='type-id-1878' size-in-bits='64' id='type-id-1854'/>
+      <pointer-type-def type-id='type-id-1879' size-in-bits='64' id='type-id-1842'/>
+      <pointer-type-def type-id='type-id-1880' size-in-bits='64' id='type-id-1856'/>
+      <pointer-type-def type-id='type-id-1881' size-in-bits='64' id='type-id-1853'/>
+      <pointer-type-def type-id='type-id-1882' size-in-bits='64' id='type-id-1859'/>
+      <pointer-type-def type-id='type-id-1883' size-in-bits='64' id='type-id-1862'/>
+      <pointer-type-def type-id='type-id-1884' size-in-bits='64' id='type-id-1855'/>
+      <pointer-type-def type-id='type-id-1885' size-in-bits='64' id='type-id-1870'/>
+      <pointer-type-def type-id='type-id-1886' size-in-bits='64' id='type-id-1861'/>
+      <pointer-type-def type-id='type-id-1887' size-in-bits='64' id='type-id-1858'/>
+      <function-decl name='drm_gem_object_put_unlocked' mangled-name='drm_gem_object_put_unlocked' filepath='include/drm/drm_gem.h' line='222' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_gem_object_put_unlocked'>
+        <parameter type-id='type-id-1837'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_gem_handle_create' mangled-name='drm_gem_handle_create' filepath='include/drm/drm_gem.h' line='275' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_gem_handle_create'>
+        <parameter type-id='type-id-1118'/>
+        <parameter type-id='type-id-1837'/>
+        <parameter type-id='type-id-72'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_gem_object_lookup' mangled-name='drm_gem_object_lookup' filepath='include/drm/drm_gem.h' line='289' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_gem_object_lookup'>
+        <parameter type-id='type-id-1118'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-1837'/>
+      </function-decl>
+      <function-decl name='drm_atomic_set_fence_for_plane' mangled-name='drm_atomic_set_fence_for_plane' filepath='include/drm/drm_atomic.h' line='611' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_set_fence_for_plane'>
+        <parameter type-id='type-id-1086'/>
+        <parameter type-id='type-id-893'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_framebuffer_init' mangled-name='drm_framebuffer_init' filepath='include/drm/drm_framebuffer.h' line='210' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_framebuffer_init'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-1090'/>
+        <parameter type-id='type-id-1270'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_dev_printk' mangled-name='drm_dev_printk' filepath='include/drm/drm_print.h' line='272' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dev_printk'>
+        <parameter type-id='type-id-512'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-24'/>
+        <parameter is-variadic='yes'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_gem_fb_get_obj' mangled-name='drm_gem_fb_get_obj' filepath='drivers/gpu/drm/drm_gem_framebuffer_helper.c' line='50' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_gem_fb_get_obj'>
+        <parameter type-id='type-id-1090' name='fb' filepath='drivers/gpu/drm/drm_gem_framebuffer_helper.c' line='50' column='1'/>
+        <parameter type-id='type-id-10' name='plane' filepath='drivers/gpu/drm/drm_gem_framebuffer_helper.c' line='51' column='1'/>
+        <return type-id='type-id-1837'/>
+      </function-decl>
+      <function-decl name='drm_gem_fb_destroy' mangled-name='drm_gem_fb_destroy' filepath='drivers/gpu/drm/drm_gem_framebuffer_helper.c' line='97' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_gem_fb_destroy'>
+        <parameter type-id='type-id-1090' name='fb' filepath='drivers/gpu/drm/drm_gem_framebuffer_helper.c' line='97' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_gem_fb_create_handle' mangled-name='drm_gem_fb_create_handle' filepath='drivers/gpu/drm/drm_gem_framebuffer_helper.c' line='122' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_gem_fb_create_handle'>
+        <parameter type-id='type-id-1090' name='fb' filepath='drivers/gpu/drm/drm_gem_framebuffer_helper.c' line='122' column='1'/>
+        <parameter type-id='type-id-1118' name='file' filepath='drivers/gpu/drm/drm_gem_framebuffer_helper.c' line='122' column='1'/>
+        <parameter type-id='type-id-72' name='handle' filepath='drivers/gpu/drm/drm_gem_framebuffer_helper.c' line='123' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-1875'>
+        <parameter type-id='type-id-891'/>
+        <parameter type-id='type-id-1840'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1876'>
+        <parameter type-id='type-id-891'/>
+        <parameter type-id='type-id-892'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1877'>
+        <parameter type-id='type-id-891'/>
+        <parameter type-id='type-id-132'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1878'>
+        <parameter type-id='type-id-1840'/>
+        <parameter type-id='type-id-892'/>
+        <return type-id='type-id-259'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1879'>
+        <parameter type-id='type-id-1873'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-1888'/>
+        <parameter type-id='type-id-1888'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1880'>
+        <parameter type-id='type-id-891'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1881'>
+        <parameter type-id='type-id-891'/>
+        <parameter type-id='type-id-1840'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1882'>
+        <parameter type-id='type-id-891'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1883'>
+        <parameter type-id='type-id-891'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1884'>
+        <parameter type-id='type-id-1840'/>
+        <parameter type-id='type-id-259'/>
+        <parameter type-id='type-id-892'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1885'>
+        <parameter type-id='type-id-893'/>
+        <parameter type-id='type-id-1874'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1886'>
+        <parameter type-id='type-id-891'/>
+        <return type-id='type-id-3'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1887'>
+        <parameter type-id='type-id-891'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-3'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_global.c' language='LANG_C89'>
+      <class-decl name='drm_global_reference' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/drm/drm_global.h' line='40' column='1' id='type-id-1889'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='global_type' type-id='type-id-1890' visibility='default' filepath='include/drm/drm_global.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='size' type-id='type-id-125' visibility='default' filepath='include/drm/drm_global.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='object' type-id='type-id-3' visibility='default' filepath='include/drm/drm_global.h' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='init' type-id='type-id-1891' visibility='default' filepath='include/drm/drm_global.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='release' type-id='type-id-1892' visibility='default' filepath='include/drm/drm_global.h' line='45' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='drm_global_types' filepath='include/drm/drm_global.h' line='33' column='1' id='type-id-1890'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='DRM_GLOBAL_TTM_MEM' value='0'/>
+        <enumerator name='DRM_GLOBAL_TTM_BO' value='1'/>
+        <enumerator name='DRM_GLOBAL_TTM_OBJECT' value='2'/>
+        <enumerator name='DRM_GLOBAL_NUM' value='3'/>
+      </enum-decl>
+      <pointer-type-def type-id='type-id-1889' size-in-bits='64' id='type-id-1893'/>
+      <pointer-type-def type-id='type-id-1894' size-in-bits='64' id='type-id-1891'/>
+      <pointer-type-def type-id='type-id-1895' size-in-bits='64' id='type-id-1892'/>
+      <function-decl name='drm_global_item_ref' mangled-name='drm_global_item_ref' filepath='drivers/gpu/drm/drm_global.c' line='78' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_global_item_ref'>
+        <parameter type-id='type-id-1893' name='ref' filepath='drivers/gpu/drm/drm_global.c' line='78' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_global_item_unref' mangled-name='drm_global_item_unref' filepath='drivers/gpu/drm/drm_global.c' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_global_item_unref'>
+        <parameter type-id='type-id-1893' name='ref' filepath='drivers/gpu/drm/drm_global.c' line='123' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-1894'>
+        <parameter type-id='type-id-1893' name='ref'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1895'>
+        <parameter type-id='type-id-1893'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_hashtab.c' language='LANG_C89'>
+      <pointer-type-def type-id='type-id-1100' size-in-bits='64' id='type-id-1896'/>
+      <function-decl name='drm_ht_find_item' mangled-name='drm_ht_find_item' filepath='drivers/gpu/drm/drm_hashtab.c' line='165' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_ht_find_item'>
+        <parameter type-id='type-id-1102' name='ht' filepath='drivers/gpu/drm/drm_hashtab.c' line='165' column='1'/>
+        <parameter type-id='type-id-100' name='key' filepath='drivers/gpu/drm/drm_hashtab.c' line='165' column='1'/>
+        <parameter type-id='type-id-1896' name='item' filepath='drivers/gpu/drm/drm_hashtab.c' line='166' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_ht_remove_item' mangled-name='drm_ht_remove_item' filepath='drivers/gpu/drm/drm_hashtab.c' line='191' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_ht_remove_item'>
+        <parameter type-id='type-id-1102' name='ht' filepath='drivers/gpu/drm/drm_hashtab.c' line='191' column='1'/>
+        <parameter type-id='type-id-1100' name='item' filepath='drivers/gpu/drm/drm_hashtab.c' line='191' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_ioc32.c' language='LANG_C89'>
+      <function-decl name='drm_compat_ioctl' mangled-name='drm_compat_ioctl' filepath='drivers/gpu/drm/drm_ioc32.c' line='957' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_compat_ioctl'>
+        <parameter type-id='type-id-147' name='filp' filepath='drivers/gpu/drm/drm_ioc32.c' line='957' column='1'/>
+        <parameter type-id='type-id-10' name='cmd' filepath='drivers/gpu/drm/drm_ioc32.c' line='957' column='1'/>
+        <parameter type-id='type-id-100' name='arg' filepath='drivers/gpu/drm/drm_ioc32.c' line='957' column='1'/>
+        <return type-id='type-id-187'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_ioctl.c' language='LANG_C89'>
+      <function-decl name='drm_ioctl' mangled-name='drm_ioctl' filepath='drivers/gpu/drm/drm_ioctl.c' line='775' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_ioctl'>
+        <parameter type-id='type-id-147' name='filp' filepath='drivers/gpu/drm/drm_ioctl.c' line='775' column='1'/>
+        <parameter type-id='type-id-10' name='cmd' filepath='drivers/gpu/drm/drm_ioctl.c' line='776' column='1'/>
+        <parameter type-id='type-id-100' name='arg' filepath='drivers/gpu/drm/drm_ioctl.c' line='776' column='1'/>
+        <return type-id='type-id-187'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_irq.c' language='LANG_C89'>
+      <function-decl name='drm_irq_install' mangled-name='drm_irq_install' filepath='drivers/gpu/drm/drm_irq.c' line='101' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_irq_install'>
+        <parameter type-id='type-id-1073' name='dev' filepath='drivers/gpu/drm/drm_irq.c' line='101' column='1'/>
+        <parameter type-id='type-id-11' name='irq' filepath='drivers/gpu/drm/drm_irq.c' line='101' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_mipi_dsi.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='32' id='type-id-1897'>
+        <subrange length='4' type-id='type-id-5' id='type-id-281'/>
+
+      </array-type-def>
+      <class-decl name='mipi_dsi_host' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/drm/drm_mipi_dsi.h' line='101' column='1' id='type-id-1898'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/drm/drm_mipi_dsi.h' line='102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ops' type-id='type-id-1899' visibility='default' filepath='include/drm/drm_mipi_dsi.h' line='103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/drm/drm_mipi_dsi.h' line='104' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='mipi_dsi_host_ops' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/drm/drm_mipi_dsi.h' line='86' column='1' id='type-id-1900'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='attach' type-id='type-id-1901' visibility='default' filepath='include/drm/drm_mipi_dsi.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='detach' type-id='type-id-1901' visibility='default' filepath='include/drm/drm_mipi_dsi.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='transfer' type-id='type-id-1902' visibility='default' filepath='include/drm/drm_mipi_dsi.h' line='91' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='mipi_dsi_device' size-in-bits='6592' is-struct='yes' visibility='default' filepath='include/drm/drm_mipi_dsi.h' line='172' column='1' id='type-id-1903'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='host' type-id='type-id-1904' visibility='default' filepath='include/drm/drm_mipi_dsi.h' line='173' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='include/drm/drm_mipi_dsi.h' line='174' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6272'>
+          <var-decl name='name' type-id='type-id-1816' visibility='default' filepath='include/drm/drm_mipi_dsi.h' line='176' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6432'>
+          <var-decl name='channel' type-id='type-id-10' visibility='default' filepath='include/drm/drm_mipi_dsi.h' line='177' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6464'>
+          <var-decl name='lanes' type-id='type-id-10' visibility='default' filepath='include/drm/drm_mipi_dsi.h' line='178' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6496'>
+          <var-decl name='format' type-id='type-id-1905' visibility='default' filepath='include/drm/drm_mipi_dsi.h' line='179' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6528'>
+          <var-decl name='mode_flags' type-id='type-id-100' visibility='default' filepath='include/drm/drm_mipi_dsi.h' line='180' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='mipi_dsi_pixel_format' filepath='include/drm/drm_mipi_dsi.h' line='138' column='1' id='type-id-1905'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='MIPI_DSI_FMT_RGB888' value='0'/>
+        <enumerator name='MIPI_DSI_FMT_RGB666' value='1'/>
+        <enumerator name='MIPI_DSI_FMT_RGB666_PACKED' value='2'/>
+        <enumerator name='MIPI_DSI_FMT_RGB565' value='3'/>
+      </enum-decl>
+      <class-decl name='mipi_dsi_msg' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/drm/drm_mipi_dsi.h' line='35' column='1' id='type-id-1906'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='channel' type-id='type-id-53' visibility='default' filepath='include/drm/drm_mipi_dsi.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='type' type-id='type-id-53' visibility='default' filepath='include/drm/drm_mipi_dsi.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='flags' type-id='type-id-289' visibility='default' filepath='include/drm/drm_mipi_dsi.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='tx_len' type-id='type-id-125' visibility='default' filepath='include/drm/drm_mipi_dsi.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='tx_buf' type-id='type-id-3' visibility='default' filepath='include/drm/drm_mipi_dsi.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='rx_len' type-id='type-id-125' visibility='default' filepath='include/drm/drm_mipi_dsi.h' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='rx_buf' type-id='type-id-3' visibility='default' filepath='include/drm/drm_mipi_dsi.h' line='44' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='mipi_dsi_packet' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/drm/drm_mipi_dsi.h' line='58' column='1' id='type-id-1907'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='size' type-id='type-id-125' visibility='default' filepath='include/drm/drm_mipi_dsi.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='header' type-id='type-id-1897' visibility='default' filepath='include/drm/drm_mipi_dsi.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='payload_length' type-id='type-id-125' visibility='default' filepath='include/drm/drm_mipi_dsi.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='payload' type-id='type-id-55' visibility='default' filepath='include/drm/drm_mipi_dsi.h' line='62' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-1900' const='yes' id='type-id-1908'/>
+      <pointer-type-def type-id='type-id-1908' size-in-bits='64' id='type-id-1899'/>
+      <qualified-type-def type-id='type-id-1906' const='yes' id='type-id-1909'/>
+      <pointer-type-def type-id='type-id-1909' size-in-bits='64' id='type-id-1910'/>
+      <pointer-type-def type-id='type-id-1911' size-in-bits='64' id='type-id-1901'/>
+      <pointer-type-def type-id='type-id-1903' size-in-bits='64' id='type-id-1912'/>
+      <pointer-type-def type-id='type-id-1898' size-in-bits='64' id='type-id-1904'/>
+      <pointer-type-def type-id='type-id-1907' size-in-bits='64' id='type-id-1913'/>
+      <pointer-type-def type-id='type-id-1914' size-in-bits='64' id='type-id-1902'/>
+      <function-decl name='of_modalias_node' mangled-name='of_modalias_node' filepath='include/linux/of.h' line='368' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_modalias_node'>
+        <parameter type-id='type-id-81'/>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='mipi_dsi_host_register' mangled-name='mipi_dsi_host_register' filepath='drivers/gpu/drm/drm_mipi_dsi.c' line='285' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mipi_dsi_host_register'>
+        <parameter type-id='type-id-1904' name='host' filepath='drivers/gpu/drm/drm_mipi_dsi.c' line='285' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='mipi_dsi_host_unregister' mangled-name='mipi_dsi_host_unregister' filepath='drivers/gpu/drm/drm_mipi_dsi.c' line='313' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mipi_dsi_host_unregister'>
+        <parameter type-id='type-id-1904' name='host' filepath='drivers/gpu/drm/drm_mipi_dsi.c' line='313' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='mipi_dsi_create_packet' mangled-name='mipi_dsi_create_packet' filepath='drivers/gpu/drm/drm_mipi_dsi.c' line='444' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mipi_dsi_create_packet'>
+        <parameter type-id='type-id-1913' name='packet' filepath='drivers/gpu/drm/drm_mipi_dsi.c' line='444' column='1'/>
+        <parameter type-id='type-id-1910' name='msg' filepath='drivers/gpu/drm/drm_mipi_dsi.c' line='445' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='mipi_dsi_dcs_write_buffer' mangled-name='mipi_dsi_dcs_write_buffer' filepath='drivers/gpu/drm/drm_mipi_dsi.c' line='655' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mipi_dsi_dcs_write_buffer'>
+        <parameter type-id='type-id-1912' name='dsi' filepath='drivers/gpu/drm/drm_mipi_dsi.c' line='655' column='1'/>
+        <parameter type-id='type-id-3' name='data' filepath='drivers/gpu/drm/drm_mipi_dsi.c' line='656' column='1'/>
+        <parameter type-id='type-id-125' name='len' filepath='drivers/gpu/drm/drm_mipi_dsi.c' line='656' column='1'/>
+        <return type-id='type-id-543'/>
+      </function-decl>
+      <function-decl name='mipi_dsi_dcs_read' mangled-name='mipi_dsi_dcs_read' filepath='drivers/gpu/drm/drm_mipi_dsi.c' line='738' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mipi_dsi_dcs_read'>
+        <parameter type-id='type-id-1912' name='dsi' filepath='drivers/gpu/drm/drm_mipi_dsi.c' line='738' column='1'/>
+        <parameter type-id='type-id-53' name='cmd' filepath='drivers/gpu/drm/drm_mipi_dsi.c' line='738' column='1'/>
+        <parameter type-id='type-id-3' name='data' filepath='drivers/gpu/drm/drm_mipi_dsi.c' line='738' column='1'/>
+        <parameter type-id='type-id-125' name='len' filepath='drivers/gpu/drm/drm_mipi_dsi.c' line='739' column='1'/>
+        <return type-id='type-id-543'/>
+      </function-decl>
+      <function-decl name='mipi_dsi_dcs_set_display_brightness' mangled-name='mipi_dsi_dcs_set_display_brightness' filepath='drivers/gpu/drm/drm_mipi_dsi.c' line='1057' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mipi_dsi_dcs_set_display_brightness'>
+        <parameter type-id='type-id-1912' name='dsi' filepath='drivers/gpu/drm/drm_mipi_dsi.c' line='1057' column='1'/>
+        <parameter type-id='type-id-289' name='brightness' filepath='drivers/gpu/drm/drm_mipi_dsi.c' line='1058' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-1911'>
+        <parameter type-id='type-id-1904'/>
+        <parameter type-id='type-id-1912'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1914'>
+        <parameter type-id='type-id-1904'/>
+        <parameter type-id='type-id-1910'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_mm.c' language='LANG_C89'>
+      <enum-decl name='drm_mm_insert_mode' filepath='include/drm/drm_mm.h' line='68' column='1' id='type-id-1915'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='DRM_MM_INSERT_BEST' value='0'/>
+        <enumerator name='DRM_MM_INSERT_LOW' value='1'/>
+        <enumerator name='DRM_MM_INSERT_HIGH' value='2'/>
+        <enumerator name='DRM_MM_INSERT_EVICT' value='3'/>
+        <enumerator name='DRM_MM_INSERT_ONCE' value='2147483648'/>
+        <enumerator name='DRM_MM_INSERT_HIGHEST' value='2147483650'/>
+        <enumerator name='DRM_MM_INSERT_LOWEST' value='2147483649'/>
+      </enum-decl>
+      <qualified-type-def type-id='type-id-1841' const='yes' id='type-id-1916'/>
+      <pointer-type-def type-id='type-id-1916' size-in-bits='64' id='type-id-1917'/>
+      <qualified-type-def type-id='type-id-1845' const='yes' id='type-id-1918'/>
+      <pointer-type-def type-id='type-id-1843' size-in-bits='64' id='type-id-1919'/>
+      <qualified-type-def type-id='type-id-1919' const='yes' id='type-id-1920'/>
+      <function-decl name='drm_mm_insert_node_in_range' mangled-name='drm_mm_insert_node_in_range' filepath='drivers/gpu/drm/drm_mm.c' line='474' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_mm_insert_node_in_range'>
+        <parameter type-id='type-id-1918' name='mm' filepath='drivers/gpu/drm/drm_mm.c' line='474' column='1'/>
+        <parameter type-id='type-id-1920' name='node' filepath='drivers/gpu/drm/drm_mm.c' line='475' column='1'/>
+        <parameter type-id='type-id-134' name='size' filepath='drivers/gpu/drm/drm_mm.c' line='476' column='1'/>
+        <parameter type-id='type-id-134' name='alignment' filepath='drivers/gpu/drm/drm_mm.c' line='476' column='1'/>
+        <parameter type-id='type-id-100' name='color' filepath='drivers/gpu/drm/drm_mm.c' line='477' column='1'/>
+        <parameter type-id='type-id-134' name='range_start' filepath='drivers/gpu/drm/drm_mm.c' line='478' column='1'/>
+        <parameter type-id='type-id-134' name='range_end' filepath='drivers/gpu/drm/drm_mm.c' line='478' column='1'/>
+        <parameter type-id='type-id-1915' name='mode' filepath='drivers/gpu/drm/drm_mm.c' line='479' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_mm_remove_node' mangled-name='drm_mm_remove_node' filepath='drivers/gpu/drm/drm_mm.c' line='582' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_mm_remove_node'>
+        <parameter type-id='type-id-1919' name='node' filepath='drivers/gpu/drm/drm_mm.c' line='582' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_mm_init' mangled-name='drm_mm_init' filepath='drivers/gpu/drm/drm_mm.c' line='917' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_mm_init'>
+        <parameter type-id='type-id-1845' name='mm' filepath='drivers/gpu/drm/drm_mm.c' line='917' column='1'/>
+        <parameter type-id='type-id-134' name='start' filepath='drivers/gpu/drm/drm_mm.c' line='917' column='1'/>
+        <parameter type-id='type-id-134' name='size' filepath='drivers/gpu/drm/drm_mm.c' line='917' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_mm_takedown' mangled-name='drm_mm_takedown' filepath='drivers/gpu/drm/drm_mm.c' line='947' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_mm_takedown'>
+        <parameter type-id='type-id-1845' name='mm' filepath='drivers/gpu/drm/drm_mm.c' line='947' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_mm_print' mangled-name='drm_mm_print' filepath='drivers/gpu/drm/drm_mm.c' line='973' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_mm_print'>
+        <parameter type-id='type-id-1917' name='mm' filepath='drivers/gpu/drm/drm_mm.c' line='973' column='1'/>
+        <parameter type-id='type-id-1567' name='p' filepath='drivers/gpu/drm/drm_mm.c' line='973' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_mode_config.c' language='LANG_C89'>
+      <function-decl name='drm_mode_config_init' mangled-name='drm_mode_config_init' filepath='drivers/gpu/drm/drm_mode_config.c' line='371' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_mode_config_init'>
+        <parameter type-id='type-id-1073' name='dev' filepath='drivers/gpu/drm/drm_mode_config.c' line='371' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_mode_config_cleanup' mangled-name='drm_mode_config_cleanup' filepath='drivers/gpu/drm/drm_mode_config.c' line='417' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_mode_config_cleanup'>
+        <parameter type-id='type-id-1073' name='dev' filepath='drivers/gpu/drm/drm_mode_config.c' line='417' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_modes.c' language='LANG_C89'>
+      <pointer-type-def type-id='type-id-1321' size-in-bits='64' id='type-id-1921'/>
+      <function-decl name='drm_mode_set_name' mangled-name='drm_mode_set_name' filepath='include/drm/drm_modes.h' line='500' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_mode_set_name'>
+        <parameter type-id='type-id-1119'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_match_cea_mode' mangled-name='drm_match_cea_mode' filepath='include/drm/drm_edid.h' line='471' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_match_cea_mode'>
+        <parameter type-id='type-id-1520'/>
+        <return type-id='type-id-271'/>
+      </function-decl>
+      <function-decl name='drm_cvt_mode' mangled-name='drm_cvt_mode' filepath='drivers/gpu/drm/drm_modes.c' line='143' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_cvt_mode'>
+        <parameter type-id='type-id-1073' name='dev' filepath='drivers/gpu/drm/drm_modes.c' line='143' column='1'/>
+        <parameter type-id='type-id-11' name='hdisplay' filepath='drivers/gpu/drm/drm_modes.c' line='143' column='1'/>
+        <parameter type-id='type-id-11' name='vdisplay' filepath='drivers/gpu/drm/drm_modes.c' line='144' column='1'/>
+        <parameter type-id='type-id-11' name='vrefresh' filepath='drivers/gpu/drm/drm_modes.c' line='144' column='1'/>
+        <parameter type-id='type-id-211' name='reduced' filepath='drivers/gpu/drm/drm_modes.c' line='145' column='1'/>
+        <parameter type-id='type-id-211' name='interlaced' filepath='drivers/gpu/drm/drm_modes.c' line='145' column='1'/>
+        <parameter type-id='type-id-211' name='margins' filepath='drivers/gpu/drm/drm_modes.c' line='145' column='1'/>
+        <return type-id='type-id-1119'/>
+      </function-decl>
+      <function-decl name='drm_mode_parse_command_line_for_connector' mangled-name='drm_mode_parse_command_line_for_connector' filepath='drivers/gpu/drm/drm_modes.c' line='1438' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_mode_parse_command_line_for_connector'>
+        <parameter type-id='type-id-24' name='mode_option' filepath='drivers/gpu/drm/drm_modes.c' line='1438' column='1'/>
+        <parameter type-id='type-id-1074' name='connector' filepath='drivers/gpu/drm/drm_modes.c' line='1439' column='1'/>
+        <parameter type-id='type-id-1921' name='mode' filepath='drivers/gpu/drm/drm_modes.c' line='1440' column='1'/>
+        <return type-id='type-id-211'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_modeset_helper.c' language='LANG_C89'>
+      <function-decl name='drm_helper_mode_fill_fb_struct' mangled-name='drm_helper_mode_fill_fb_struct' filepath='drivers/gpu/drm/drm_modeset_helper.c' line='77' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_helper_mode_fill_fb_struct'>
+        <parameter type-id='type-id-1073' name='dev' filepath='drivers/gpu/drm/drm_modeset_helper.c' line='77' column='1'/>
+        <parameter type-id='type-id-1090' name='fb' filepath='drivers/gpu/drm/drm_modeset_helper.c' line='78' column='1'/>
+        <parameter type-id='type-id-1533' name='mode_cmd' filepath='drivers/gpu/drm/drm_modeset_helper.c' line='79' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_of.c' language='LANG_C89'>
+      <class-decl name='component_match' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1922'/>
+      <class-decl name='component_master_ops' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/component.h' line='24' column='1' id='type-id-1923'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bind' type-id='type-id-591' visibility='default' filepath='include/linux/component.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='unbind' type-id='type-id-1924' visibility='default' filepath='include/linux/component.h' line='26' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='of_endpoint' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/of_graph.h' line='23' column='1' id='type-id-1925'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='port' type-id='type-id-10' visibility='default' filepath='include/linux/of_graph.h' line='24' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='id' type-id='type-id-10' visibility='default' filepath='include/linux/of_graph.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='local_node' type-id='type-id-80' visibility='default' filepath='include/linux/of_graph.h' line='26' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-1922' size-in-bits='64' id='type-id-1926'/>
+      <pointer-type-def type-id='type-id-1926' size-in-bits='64' id='type-id-1927'/>
+      <qualified-type-def type-id='type-id-1923' const='yes' id='type-id-1928'/>
+      <pointer-type-def type-id='type-id-1928' size-in-bits='64' id='type-id-540'/>
+      <pointer-type-def type-id='type-id-1925' size-in-bits='64' id='type-id-1929'/>
+      <function-decl name='of_graph_get_next_endpoint' mangled-name='of_graph_get_next_endpoint' filepath='include/linux/of_graph.h' line='45' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_graph_get_next_endpoint'>
+        <parameter type-id='type-id-80'/>
+        <parameter type-id='type-id-81'/>
         <return type-id='type-id-81'/>
       </function-decl>
-      <function-decl name='synchronize_rcu' mangled-name='synchronize_rcu' filepath='kernel/rcu/tree_plugin.h' line='809' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='synchronize_rcu'>
+      <function-decl name='component_match_add_release' mangled-name='component_match_add_release' filepath='include/linux/component.h' line='36' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='component_match_add_release'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-1927'/>
+        <parameter type-id='type-id-954'/>
+        <parameter type-id='type-id-1930'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='of_graph_get_remote_port_parent' mangled-name='of_graph_get_remote_port_parent' filepath='include/linux/of_graph.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_graph_get_remote_port_parent'>
+        <parameter type-id='type-id-80'/>
         <return type-id='type-id-81'/>
       </function-decl>
-      <function-decl name='call_rcu' mangled-name='call_rcu' filepath='kernel/rcu/tree_plugin.h' line='784' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu'>
-        <parameter type-id='type-id-91' name='head' filepath='kernel/rcu/tree_plugin.h' line='784' column='1'/>
-        <parameter type-id='type-id-90' name='func' filepath='kernel/rcu/tree_plugin.h' line='784' column='1'/>
+      <function-decl name='component_master_add_with_match' mangled-name='component_master_add_with_match' filepath='include/linux/component.h' line='34' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='component_master_add_with_match'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-540'/>
+        <parameter type-id='type-id-1926'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='of_graph_parse_endpoint' mangled-name='of_graph_parse_endpoint' filepath='include/linux/of_graph.h' line='41' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_graph_parse_endpoint'>
+        <parameter type-id='type-id-80'/>
+        <parameter type-id='type-id-1929'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='of_graph_get_remote_node' mangled-name='of_graph_get_remote_node' filepath='include/linux/of_graph.h' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_graph_get_remote_node'>
+        <parameter type-id='type-id-80'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
         <return type-id='type-id-81'/>
       </function-decl>
-      <function-decl name='__rcu_read_lock' mangled-name='__rcu_read_lock' filepath='kernel/rcu/tree_plugin.h' line='403' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__rcu_read_lock'>
+      <function-decl name='drm_of_component_match_add' mangled-name='drm_of_component_match_add' filepath='drivers/gpu/drm/drm_of.c' line='89' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_of_component_match_add'>
+        <parameter type-id='type-id-86' name='master' filepath='drivers/gpu/drm/drm_of.c' line='89' column='1'/>
+        <parameter type-id='type-id-1927' name='matchptr' filepath='drivers/gpu/drm/drm_of.c' line='90' column='1'/>
+        <parameter type-id='type-id-1930' name='compare' filepath='drivers/gpu/drm/drm_of.c' line='91' column='1'/>
+        <parameter type-id='type-id-81' name='node' filepath='drivers/gpu/drm/drm_of.c' line='92' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_panel.c' language='LANG_C89'>
+      <class-decl name='display_timing' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1931'/>
+      <class-decl name='drm_panel' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/drm/drm_panel.h' line='89' column='1' id='type-id-1932'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='drm' type-id='type-id-1096' visibility='default' filepath='include/drm/drm_panel.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='connector' type-id='type-id-1074' visibility='default' filepath='include/drm/drm_panel.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/drm/drm_panel.h' line='92' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='funcs' type-id='type-id-1933' visibility='default' filepath='include/drm/drm_panel.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/drm/drm_panel.h' line='96' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='drm_panel_funcs' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/drm/drm_panel.h' line='71' column='1' id='type-id-1934'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='disable' type-id='type-id-1935' visibility='default' filepath='include/drm/drm_panel.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='unprepare' type-id='type-id-1935' visibility='default' filepath='include/drm/drm_panel.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='prepare' type-id='type-id-1935' visibility='default' filepath='include/drm/drm_panel.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='enable' type-id='type-id-1935' visibility='default' filepath='include/drm/drm_panel.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='get_modes' type-id='type-id-1935' visibility='default' filepath='include/drm/drm_panel.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='get_timings' type-id='type-id-1936' visibility='default' filepath='include/drm/drm_panel.h' line='77' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-1934' const='yes' id='type-id-1937'/>
+      <pointer-type-def type-id='type-id-1937' size-in-bits='64' id='type-id-1933'/>
+      <pointer-type-def type-id='type-id-1931' size-in-bits='64' id='type-id-1938'/>
+      <pointer-type-def type-id='type-id-1932' size-in-bits='64' id='type-id-1939'/>
+      <pointer-type-def type-id='type-id-1940' size-in-bits='64' id='type-id-1935'/>
+      <pointer-type-def type-id='type-id-1941' size-in-bits='64' id='type-id-1936'/>
+      <function-decl name='drm_panel_init' mangled-name='drm_panel_init' filepath='drivers/gpu/drm/drm_panel.c' line='48' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_panel_init'>
+        <parameter type-id='type-id-1939' name='panel' filepath='drivers/gpu/drm/drm_panel.c' line='48' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_panel_add' mangled-name='drm_panel_add' filepath='drivers/gpu/drm/drm_panel.c' line='63' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_panel_add'>
+        <parameter type-id='type-id-1939' name='panel' filepath='drivers/gpu/drm/drm_panel.c' line='63' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_panel_remove' mangled-name='drm_panel_remove' filepath='drivers/gpu/drm/drm_panel.c' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_panel_remove'>
+        <parameter type-id='type-id-1939' name='panel' filepath='drivers/gpu/drm/drm_panel.c' line='79' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='of_drm_find_panel' mangled-name='of_drm_find_panel' filepath='drivers/gpu/drm/drm_panel.c' line='150' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_drm_find_panel'>
+        <parameter type-id='type-id-80' name='np' filepath='drivers/gpu/drm/drm_panel.c' line='150' column='1'/>
+        <return type-id='type-id-1939'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-1940'>
+        <parameter type-id='type-id-1939'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1941'>
+        <parameter type-id='type-id-1939'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-1938'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_plane_helper.c' language='LANG_C89'>
+      <function-decl name='drm_plane_cleanup' mangled-name='drm_plane_cleanup' filepath='include/drm/drm_plane.h' line='699' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_plane_cleanup'>
+        <parameter type-id='type-id-1085'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_atomic_helper_plane_destroy_state' mangled-name='drm_atomic_helper_plane_destroy_state' filepath='include/drm/drm_atomic_helper.h' line='165' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_plane_destroy_state'>
+        <parameter type-id='type-id-1085'/>
+        <parameter type-id='type-id-1086'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_plane_helper_disable' mangled-name='drm_plane_helper_disable' filepath='drivers/gpu/drm/drm_plane_helper.c' line='505' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_plane_helper_disable'>
+        <parameter type-id='type-id-1085' name='plane' filepath='drivers/gpu/drm/drm_plane_helper.c' line='505' column='1'/>
+        <parameter type-id='type-id-1088' name='ctx' filepath='drivers/gpu/drm/drm_plane_helper.c' line='506' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_prime.c' language='LANG_C89'>
+      <class-decl name='dma_buf_export_info' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/dma-buf.h' line='344' column='1' id='type-id-1942'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='exp_name' type-id='type-id-24' visibility='default' filepath='include/linux/dma-buf.h' line='345' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/linux/dma-buf.h' line='346' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='ops' type-id='type-id-1849' visibility='default' filepath='include/linux/dma-buf.h' line='347' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='size' type-id='type-id-125' visibility='default' filepath='include/linux/dma-buf.h' line='348' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='flags' type-id='type-id-11' visibility='default' filepath='include/linux/dma-buf.h' line='349' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='resv' type-id='type-id-1646' visibility='default' filepath='include/linux/dma-buf.h' line='350' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='priv' type-id='type-id-3' visibility='default' filepath='include/linux/dma-buf.h' line='351' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-1942' const='yes' id='type-id-1943'/>
+      <pointer-type-def type-id='type-id-1943' size-in-bits='64' id='type-id-1944'/>
+      <function-decl name='dma_buf_export' mangled-name='dma_buf_export' filepath='include/linux/dma-buf.h' line='384' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_buf_export'>
+        <parameter type-id='type-id-1944'/>
+        <return type-id='type-id-891'/>
+      </function-decl>
+      <function-decl name='dma_buf_fd' mangled-name='dma_buf_fd' filepath='include/linux/dma-buf.h' line='386' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_buf_fd'>
+        <parameter type-id='type-id-891'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='dma_buf_attach' mangled-name='dma_buf_attach' filepath='include/linux/dma-buf.h' line='379' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_buf_attach'>
+        <parameter type-id='type-id-891'/>
+        <parameter type-id='type-id-86'/>
+        <return type-id='type-id-1840'/>
+      </function-decl>
+      <function-decl name='dma_buf_map_attachment' mangled-name='dma_buf_map_attachment' filepath='include/linux/dma-buf.h' line='390' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_buf_map_attachment'>
+        <parameter type-id='type-id-1840'/>
+        <parameter type-id='type-id-892'/>
+        <return type-id='type-id-259'/>
+      </function-decl>
+      <function-decl name='dma_buf_unmap_attachment' mangled-name='dma_buf_unmap_attachment' filepath='include/linux/dma-buf.h' line='392' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_buf_unmap_attachment'>
+        <parameter type-id='type-id-1840'/>
+        <parameter type-id='type-id-259'/>
+        <parameter type-id='type-id-892'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='dma_buf_detach' mangled-name='dma_buf_detach' filepath='include/linux/dma-buf.h' line='381' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_buf_detach'>
+        <parameter type-id='type-id-891'/>
+        <parameter type-id='type-id-1840'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='dma_buf_get' mangled-name='dma_buf_get' filepath='include/linux/dma-buf.h' line='387' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_buf_get'>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-891'/>
+      </function-decl>
+      <function-decl name='drm_gem_prime_export' mangled-name='drm_gem_prime_export' filepath='drivers/gpu/drm/drm_prime.c' line='530' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_gem_prime_export'>
+        <parameter type-id='type-id-1073' name='dev' filepath='drivers/gpu/drm/drm_prime.c' line='530' column='1'/>
+        <parameter type-id='type-id-1837' name='obj' filepath='drivers/gpu/drm/drm_prime.c' line='531' column='1'/>
+        <parameter type-id='type-id-11' name='flags' filepath='drivers/gpu/drm/drm_prime.c' line='532' column='1'/>
+        <return type-id='type-id-891'/>
+      </function-decl>
+      <function-decl name='drm_gem_prime_handle_to_fd' mangled-name='drm_gem_prime_handle_to_fd' filepath='drivers/gpu/drm/drm_prime.c' line='594' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_gem_prime_handle_to_fd'>
+        <parameter type-id='type-id-1073' name='dev' filepath='drivers/gpu/drm/drm_prime.c' line='594' column='1'/>
+        <parameter type-id='type-id-1118' name='file_priv' filepath='drivers/gpu/drm/drm_prime.c' line='595' column='1'/>
+        <parameter type-id='type-id-193' name='handle' filepath='drivers/gpu/drm/drm_prime.c' line='595' column='1'/>
+        <parameter type-id='type-id-193' name='flags' filepath='drivers/gpu/drm/drm_prime.c' line='596' column='1'/>
+        <parameter type-id='type-id-82' name='prime_fd' filepath='drivers/gpu/drm/drm_prime.c' line='597' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_gem_prime_mmap' mangled-name='drm_gem_prime_mmap' filepath='drivers/gpu/drm/drm_prime.c' line='693' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_gem_prime_mmap'>
+        <parameter type-id='type-id-1837' name='obj' filepath='drivers/gpu/drm/drm_prime.c' line='693' column='1'/>
+        <parameter type-id='type-id-132' name='vma' filepath='drivers/gpu/drm/drm_prime.c' line='693' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_gem_prime_import' mangled-name='drm_gem_prime_import' filepath='drivers/gpu/drm/drm_prime.c' line='792' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_gem_prime_import'>
+        <parameter type-id='type-id-1073' name='dev' filepath='drivers/gpu/drm/drm_prime.c' line='792' column='1'/>
+        <parameter type-id='type-id-891' name='dma_buf' filepath='drivers/gpu/drm/drm_prime.c' line='793' column='1'/>
+        <return type-id='type-id-1837'/>
+      </function-decl>
+      <function-decl name='drm_gem_prime_fd_to_handle' mangled-name='drm_gem_prime_fd_to_handle' filepath='drivers/gpu/drm/drm_prime.c' line='811' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_gem_prime_fd_to_handle'>
+        <parameter type-id='type-id-1073' name='dev' filepath='drivers/gpu/drm/drm_prime.c' line='811' column='1'/>
+        <parameter type-id='type-id-1118' name='file_priv' filepath='drivers/gpu/drm/drm_prime.c' line='812' column='1'/>
+        <parameter type-id='type-id-11' name='prime_fd' filepath='drivers/gpu/drm/drm_prime.c' line='812' column='1'/>
+        <parameter type-id='type-id-1288' name='handle' filepath='drivers/gpu/drm/drm_prime.c' line='813' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_prime_pages_to_sg' mangled-name='drm_prime_pages_to_sg' filepath='drivers/gpu/drm/drm_prime.c' line='921' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_prime_pages_to_sg'>
+        <parameter type-id='type-id-260' name='pages' filepath='drivers/gpu/drm/drm_prime.c' line='921' column='1'/>
+        <parameter type-id='type-id-10' name='nr_pages' filepath='drivers/gpu/drm/drm_prime.c' line='921' column='1'/>
+        <return type-id='type-id-259'/>
+      </function-decl>
+      <function-decl name='drm_prime_gem_destroy' mangled-name='drm_prime_gem_destroy' filepath='drivers/gpu/drm/drm_prime.c' line='995' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_prime_gem_destroy'>
+        <parameter type-id='type-id-1837' name='obj' filepath='drivers/gpu/drm/drm_prime.c' line='995' column='1'/>
+        <parameter type-id='type-id-259' name='sg' filepath='drivers/gpu/drm/drm_prime.c' line='995' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_print.c' language='LANG_C89'>
+      <function-decl name='__drm_printfn_debug' mangled-name='__drm_printfn_debug' filepath='drivers/gpu/drm/drm_print.c' line='139' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__drm_printfn_debug'>
+        <parameter type-id='type-id-1567' name='p' filepath='drivers/gpu/drm/drm_print.c' line='139' column='1'/>
+        <parameter type-id='type-id-1661' name='vaf' filepath='drivers/gpu/drm/drm_print.c' line='139' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_probe_helper.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-1945' size-in-bits='96' id='type-id-1946'>
+        <subrange length='4' type-id='type-id-5' id='type-id-281'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-1947' size-in-bits='576' id='type-id-1948'>
+        <subrange length='4' type-id='type-id-5' id='type-id-281'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-1949' size-in-bits='96' id='type-id-1950'>
+        <subrange length='6' type-id='type-id-5' id='type-id-1951'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-1949' size-in-bits='128' id='type-id-1952'>
+        <subrange length='8' type-id='type-id-5' id='type-id-1953'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='104' id='type-id-1954'>
+        <subrange length='13' type-id='type-id-5' id='type-id-1955'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='16' id='type-id-1956'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+      </array-type-def>
+      <class-decl name='edid' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/drm/drm_edid.h' line='282' column='1' id='type-id-1810'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='header' type-id='type-id-1399' visibility='default' filepath='include/drm/drm_edid.h' line='283' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='mfg_id' type-id='type-id-1956' visibility='default' filepath='include/drm/drm_edid.h' line='285' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='80'>
+          <var-decl name='prod_code' type-id='type-id-1956' visibility='default' filepath='include/drm/drm_edid.h' line='286' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='serial' type-id='type-id-9' visibility='default' filepath='include/drm/drm_edid.h' line='287' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='mfg_week' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='288' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='136'>
+          <var-decl name='mfg_year' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='289' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='144'>
+          <var-decl name='version' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='291' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='152'>
+          <var-decl name='revision' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='292' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='input' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='294' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='168'>
+          <var-decl name='width_cm' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='295' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='176'>
+          <var-decl name='height_cm' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='296' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='184'>
+          <var-decl name='gamma' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='297' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='features' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='298' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='200'>
+          <var-decl name='red_green_lo' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='300' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='208'>
+          <var-decl name='black_white_lo' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='301' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='216'>
+          <var-decl name='red_x' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='302' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='red_y' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='303' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='232'>
+          <var-decl name='green_x' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='304' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='240'>
+          <var-decl name='green_y' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='305' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='248'>
+          <var-decl name='blue_x' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='306' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='blue_y' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='307' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='264'>
+          <var-decl name='white_x' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='308' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='272'>
+          <var-decl name='white_y' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='309' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='280'>
+          <var-decl name='established_timings' type-id='type-id-1957' visibility='default' filepath='include/drm/drm_edid.h' line='311' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='304'>
+          <var-decl name='standard_timings' type-id='type-id-1952' visibility='default' filepath='include/drm/drm_edid.h' line='313' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='432'>
+          <var-decl name='detailed_timings' type-id='type-id-1948' visibility='default' filepath='include/drm/drm_edid.h' line='315' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1008'>
+          <var-decl name='extensions' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='317' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1016'>
+          <var-decl name='checksum' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='319' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='est_timings' size-in-bits='24' is-struct='yes' visibility='default' filepath='include/drm/drm_edid.h' line='43' column='1' id='type-id-1957'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='t1' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='t2' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='45' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='mfg_rsvd' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='46' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='std_timing' size-in-bits='16' is-struct='yes' visibility='default' filepath='include/drm/drm_edid.h' line='57' column='1' id='type-id-1949'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='hsize' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='vfreq_aspect' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='59' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='detailed_timing' size-in-bits='144' is-struct='yes' visibility='default' filepath='include/drm/drm_edid.h' line='164' column='1' id='type-id-1947'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='pixel_clock' type-id='type-id-1958' visibility='default' filepath='include/drm/drm_edid.h' line='165' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='data' type-id='type-id-1959' visibility='default' filepath='include/drm/drm_edid.h' line='169' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/drm/drm_edid.h' line='166' column='1' id='type-id-1959'>
+        <data-member access='private'>
+          <var-decl name='pixel_data' type-id='type-id-1960' visibility='default' filepath='include/drm/drm_edid.h' line='167' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='other_data' type-id='type-id-1961' visibility='default' filepath='include/drm/drm_edid.h' line='168' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='detailed_pixel_timing' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/drm/drm_edid.h' line='69' column='1' id='type-id-1960'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='hactive_lo' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='hblank_lo' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='hactive_hblank_hi' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='vactive_lo' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='vblank_lo' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='40'>
+          <var-decl name='vactive_vblank_hi' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='hsync_offset_lo' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='56'>
+          <var-decl name='hsync_pulse_width_lo' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='vsync_offset_pulse_width_lo' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='72'>
+          <var-decl name='hsync_vsync_offset_pulse_width_hi' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='80'>
+          <var-decl name='width_mm_lo' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='88'>
+          <var-decl name='height_mm_lo' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='width_height_mm_hi' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='104'>
+          <var-decl name='hborder' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='112'>
+          <var-decl name='vborder' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='120'>
+          <var-decl name='misc' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='85' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='detailed_non_pixel' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/drm/drm_edid.h' line='139' column='1' id='type-id-1961'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='pad1' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='140' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='type' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='141' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='pad2' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='144' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='data' type-id='type-id-1962' visibility='default' filepath='include/drm/drm_edid.h' line='151' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__1' size-in-bits='104' is-anonymous='yes' visibility='default' filepath='include/drm/drm_edid.h' line='145' column='1' id='type-id-1962'>
+        <data-member access='private'>
+          <var-decl name='str' type-id='type-id-1963' visibility='default' filepath='include/drm/drm_edid.h' line='146' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='range' type-id='type-id-1964' visibility='default' filepath='include/drm/drm_edid.h' line='147' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='color' type-id='type-id-1965' visibility='default' filepath='include/drm/drm_edid.h' line='148' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='timings' type-id='type-id-1950' visibility='default' filepath='include/drm/drm_edid.h' line='149' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='cvt' type-id='type-id-1946' visibility='default' filepath='include/drm/drm_edid.h' line='150' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='detailed_data_string' size-in-bits='104' is-struct='yes' visibility='default' filepath='include/drm/drm_edid.h' line='89' column='1' id='type-id-1963'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='str' type-id='type-id-1954' visibility='default' filepath='include/drm/drm_edid.h' line='90' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='detailed_data_monitor_range' size-in-bits='104' is-struct='yes' visibility='default' filepath='include/drm/drm_edid.h' line='93' column='1' id='type-id-1964'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='min_vfreq' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='max_vfreq' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='min_hfreq_khz' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='max_hfreq_khz' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='pixel_clock_mhz' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='98' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='40'>
+          <var-decl name='flags' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='99' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='formula' type-id='type-id-1966' visibility='default' filepath='include/drm/drm_edid.h' line='118' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__2' size-in-bits='56' is-anonymous='yes' visibility='default' filepath='include/drm/drm_edid.h' line='100' column='1' id='type-id-1966'>
+        <data-member access='private'>
+          <var-decl name='gtf2' type-id='type-id-1967' visibility='default' filepath='include/drm/drm_edid.h' line='108' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='cvt' type-id='type-id-1968' visibility='default' filepath='include/drm/drm_edid.h' line='117' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__' size-in-bits='56' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/drm/drm_edid.h' line='101' column='1' id='type-id-1967'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='reserved' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='hfreq_start_khz' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='c' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='104' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='m' type-id='type-id-1958' visibility='default' filepath='include/drm/drm_edid.h' line='105' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='40'>
+          <var-decl name='k' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='j' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='107' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__1' size-in-bits='56' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/drm/drm_edid.h' line='109' column='1' id='type-id-1968'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='version' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='110' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='data1' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='111' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='data2' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='112' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='supported_aspects' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='113' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='flags' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='114' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='40'>
+          <var-decl name='supported_scalings' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='115' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='preferred_refresh' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='116' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='detailed_data_wpindex' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/drm/drm_edid.h' line='121' column='1' id='type-id-1965'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='white_yx_lo' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='122' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='white_x_hi' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='123' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='white_y_hi' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='124' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='gamma' type-id='type-id-53' visibility='default' filepath='include/drm/drm_edid.h' line='125' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='cvt_timing' size-in-bits='24' is-struct='yes' visibility='default' filepath='include/drm/drm_edid.h' line='135' column='1' id='type-id-1945'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='code' type-id='type-id-1272' visibility='default' filepath='include/drm/drm_edid.h' line='136' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-1810' const='yes' id='type-id-1969'/>
+      <pointer-type-def type-id='type-id-1969' size-in-bits='64' id='type-id-1813'/>
+      <function-decl name='drm_modeset_lock' mangled-name='drm_modeset_lock' filepath='include/drm/drm_modeset_lock.h' line='117' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_modeset_lock'>
+        <parameter type-id='type-id-1259'/>
+        <parameter type-id='type-id-1088'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_modeset_acquire_init' mangled-name='drm_modeset_acquire_init' filepath='include/drm/drm_modeset_lock.h' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_modeset_acquire_init'>
+        <parameter type-id='type-id-1088'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_modeset_backoff' mangled-name='drm_modeset_backoff' filepath='include/drm/drm_modeset_lock.h' line='95' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_modeset_backoff'>
+        <parameter type-id='type-id-1088'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_get_connector_status_name' mangled-name='drm_get_connector_status_name' filepath='include/drm/drm_connector.h' line='1169' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_get_connector_status_name'>
+        <parameter type-id='type-id-1318'/>
+        <return type-id='type-id-24'/>
+      </function-decl>
+      <function-decl name='drm_connector_update_edid_property' mangled-name='drm_connector_update_edid_property' filepath='include/drm/drm_connector.h' line='1198' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_connector_update_edid_property'>
+        <parameter type-id='type-id-1074'/>
+        <parameter type-id='type-id-1813'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_add_modes_noedid' mangled-name='drm_add_modes_noedid' filepath='include/drm/drm_edid.h' line='478' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_add_modes_noedid'>
+        <parameter type-id='type-id-1074'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_modeset_drop_locks' mangled-name='drm_modeset_drop_locks' filepath='include/drm/drm_modeset_lock.h' line='94' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_modeset_drop_locks'>
+        <parameter type-id='type-id-1088'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_modeset_acquire_fini' mangled-name='drm_modeset_acquire_fini' filepath='include/drm/drm_modeset_lock.h' line='93' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_modeset_acquire_fini'>
+        <parameter type-id='type-id-1088'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_mode_vrefresh' mangled-name='drm_mode_vrefresh' filepath='include/drm/drm_modes.h' line='502' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_mode_vrefresh'>
+        <parameter type-id='type-id-1520'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_mode_set_crtcinfo' mangled-name='drm_mode_set_crtcinfo' filepath='include/drm/drm_modes.h' line='506' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_mode_set_crtcinfo'>
+        <parameter type-id='type-id-1119'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_mode_probed_add' mangled-name='drm_mode_probed_add' filepath='include/drm/drm_modes.h' line='469' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_mode_probed_add'>
+        <parameter type-id='type-id-1074'/>
+        <parameter type-id='type-id-1119'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_mode_object_find' mangled-name='drm_mode_object_find' filepath='include/drm/drm_mode_object.h' line='117' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_mode_object_find'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-1118'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-1117'/>
+      </function-decl>
+      <function-decl name='drm_kms_helper_poll_enable' mangled-name='drm_kms_helper_poll_enable' filepath='drivers/gpu/drm/drm_probe_helper.c' line='222' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_kms_helper_poll_enable'>
+        <parameter type-id='type-id-1073' name='dev' filepath='drivers/gpu/drm/drm_probe_helper.c' line='222' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_helper_probe_single_connector_modes' mangled-name='drm_helper_probe_single_connector_modes' filepath='drivers/gpu/drm/drm_probe_helper.c' line='387' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_helper_probe_single_connector_modes'>
+        <parameter type-id='type-id-1074' name='connector' filepath='drivers/gpu/drm/drm_probe_helper.c' line='387' column='1'/>
+        <parameter type-id='type-id-193' name='maxX' filepath='drivers/gpu/drm/drm_probe_helper.c' line='388' column='1'/>
+        <parameter type-id='type-id-193' name='maxY' filepath='drivers/gpu/drm/drm_probe_helper.c' line='388' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_kms_helper_hotplug_event' mangled-name='drm_kms_helper_hotplug_event' filepath='drivers/gpu/drm/drm_probe_helper.c' line='564' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_kms_helper_hotplug_event'>
+        <parameter type-id='type-id-1073' name='dev' filepath='drivers/gpu/drm/drm_probe_helper.c' line='564' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_kms_helper_poll_disable' mangled-name='drm_kms_helper_poll_disable' filepath='drivers/gpu/drm/drm_probe_helper.c' line='699' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_kms_helper_poll_disable'>
+        <parameter type-id='type-id-1073' name='dev' filepath='drivers/gpu/drm/drm_probe_helper.c' line='699' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_kms_helper_poll_init' mangled-name='drm_kms_helper_poll_init' filepath='drivers/gpu/drm/drm_probe_helper.c' line='726' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_kms_helper_poll_init'>
+        <parameter type-id='type-id-1073' name='dev' filepath='drivers/gpu/drm/drm_probe_helper.c' line='726' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_kms_helper_poll_fini' mangled-name='drm_kms_helper_poll_fini' filepath='drivers/gpu/drm/drm_probe_helper.c' line='739' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_kms_helper_poll_fini'>
+        <parameter type-id='type-id-1073' name='dev' filepath='drivers/gpu/drm/drm_probe_helper.c' line='739' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_helper_hpd_irq_event' mangled-name='drm_helper_hpd_irq_event' filepath='drivers/gpu/drm/drm_probe_helper.c' line='772' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_helper_hpd_irq_event'>
+        <parameter type-id='type-id-1073' name='dev' filepath='drivers/gpu/drm/drm_probe_helper.c' line='772' column='1'/>
+        <return type-id='type-id-211'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_simple_kms_helper.c' language='LANG_C89'>
+      <qualified-type-def type-id='type-id-177' const='yes' id='type-id-1970'/>
+      <pointer-type-def type-id='type-id-1970' size-in-bits='64' id='type-id-1971'/>
+      <function-decl name='drm_bridge_attach' mangled-name='drm_bridge_attach' filepath='include/drm/drm_bridge.h' line='302' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_bridge_attach'>
+        <parameter type-id='type-id-1323'/>
+        <parameter type-id='type-id-1098'/>
+        <parameter type-id='type-id-1098'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_universal_plane_init' mangled-name='drm_universal_plane_init' filepath='include/drm/drm_plane.h' line='684' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_universal_plane_init'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-1085'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-1289'/>
+        <parameter type-id='type-id-835'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-1971'/>
+        <parameter type-id='type-id-1290'/>
+        <parameter type-id='type-id-24'/>
+        <parameter is-variadic='yes'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_crtc_init_with_planes' mangled-name='drm_crtc_init_with_planes' filepath='include/drm/drm_crtc.h' line='1074' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_crtc_init_with_planes'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-1083'/>
+        <parameter type-id='type-id-1085'/>
+        <parameter type-id='type-id-1085'/>
+        <parameter type-id='type-id-1293'/>
+        <parameter type-id='type-id-24'/>
+        <parameter is-variadic='yes'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_encoder_init' mangled-name='drm_encoder_init' filepath='include/drm/drm_encoder.h' line='182' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_encoder_init'>
+        <parameter type-id='type-id-1073'/>
+        <parameter type-id='type-id-1323'/>
+        <parameter type-id='type-id-1350'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-24'/>
+        <parameter is-variadic='yes'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_connector_attach_encoder' mangled-name='drm_connector_attach_encoder' filepath='include/drm/drm_connector.h' line='1089' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_connector_attach_encoder'>
+        <parameter type-id='type-id-1074'/>
+        <parameter type-id='type-id-1323'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_syncobj.c' language='LANG_C89'>
+      <function-decl name='dma_fence_enable_sw_signaling' mangled-name='dma_fence_enable_sw_signaling' filepath='include/linux/dma-fence.h' line='349' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_fence_enable_sw_signaling'>
+        <parameter type-id='type-id-893'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='dma_fence_add_callback' mangled-name='dma_fence_add_callback' filepath='include/linux/dma-fence.h' line='344' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_fence_add_callback'>
+        <parameter type-id='type-id-893'/>
+        <parameter type-id='type-id-1874'/>
+        <parameter type-id='type-id-1870'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='dma_fence_remove_callback' mangled-name='dma_fence_remove_callback' filepath='include/linux/dma-fence.h' line='347' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_fence_remove_callback'>
+        <parameter type-id='type-id-893'/>
+        <parameter type-id='type-id-1874'/>
+        <return type-id='type-id-264'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_sysfs.c' language='LANG_C89'>
+      <function-decl name='drm_class_device_register' mangled-name='drm_class_device_register' filepath='drivers/gpu/drm/drm_sysfs.c' line='380' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_class_device_register'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/gpu/drm/drm_sysfs.c' line='380' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_class_device_unregister' mangled-name='drm_class_device_unregister' filepath='drivers/gpu/drm/drm_sysfs.c' line='398' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_class_device_unregister'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/gpu/drm/drm_sysfs.c' line='398' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_vblank.c' language='LANG_C89'>
+      <function-decl name='drm_vblank_init' mangled-name='drm_vblank_init' filepath='drivers/gpu/drm/drm_vblank.c' line='435' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_vblank_init'>
+        <parameter type-id='type-id-1073' name='dev' filepath='drivers/gpu/drm/drm_vblank.c' line='435' column='1'/>
+        <parameter type-id='type-id-10' name='num_crtcs' filepath='drivers/gpu/drm/drm_vblank.c' line='435' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='drm_wait_one_vblank' mangled-name='drm_wait_one_vblank' filepath='drivers/gpu/drm/drm_vblank.c' line='1073' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_wait_one_vblank'>
+        <parameter type-id='type-id-1073' name='dev' filepath='drivers/gpu/drm/drm_vblank.c' line='1073' column='1'/>
+        <parameter type-id='type-id-10' name='pipe' filepath='drivers/gpu/drm/drm_vblank.c' line='1073' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_crtc_vblank_off' mangled-name='drm_crtc_vblank_off' filepath='drivers/gpu/drm/drm_vblank.c' line='1123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_crtc_vblank_off'>
+        <parameter type-id='type-id-1083' name='crtc' filepath='drivers/gpu/drm/drm_vblank.c' line='1123' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_crtc_vblank_reset' mangled-name='drm_crtc_vblank_reset' filepath='drivers/gpu/drm/drm_vblank.c' line='1193' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_crtc_vblank_reset'>
+        <parameter type-id='type-id-1083' name='crtc' filepath='drivers/gpu/drm/drm_vblank.c' line='1193' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_crtc_vblank_on' mangled-name='drm_crtc_vblank_on' filepath='drivers/gpu/drm/drm_vblank.c' line='1256' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_crtc_vblank_on'>
+        <parameter type-id='type-id-1083' name='crtc' filepath='drivers/gpu/drm/drm_vblank.c' line='1256' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='drm_crtc_handle_vblank' mangled-name='drm_crtc_handle_vblank' filepath='drivers/gpu/drm/drm_vblank.c' line='1787' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_crtc_handle_vblank'>
+        <parameter type-id='type-id-1083' name='crtc' filepath='drivers/gpu/drm/drm_vblank.c' line='1787' column='1'/>
+        <return type-id='type-id-211'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/hwspinlock/hwspinlock_core.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-687' size-in-bits='infinite' id='type-id-1972'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <class-decl name='hwspinlock_device' size-in-bits='192' is-struct='yes' visibility='default' filepath='drivers/hwspinlock/hwspinlock_internal.h' line='54' column='1' id='type-id-1973'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='drivers/hwspinlock/hwspinlock_internal.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ops' type-id='type-id-1974' visibility='default' filepath='drivers/hwspinlock/hwspinlock_internal.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='base_id' type-id='type-id-11' visibility='default' filepath='drivers/hwspinlock/hwspinlock_internal.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='num_locks' type-id='type-id-11' visibility='default' filepath='drivers/hwspinlock/hwspinlock_internal.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='lock' type-id='type-id-1972' visibility='default' filepath='drivers/hwspinlock/hwspinlock_internal.h' line='59' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='hwspinlock_ops' size-in-bits='192' is-struct='yes' visibility='default' filepath='drivers/hwspinlock/hwspinlock_internal.h' line='28' column='1' id='type-id-1975'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='trylock' type-id='type-id-1976' visibility='default' filepath='drivers/hwspinlock/hwspinlock_internal.h' line='29' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='unlock' type-id='type-id-1977' visibility='default' filepath='drivers/hwspinlock/hwspinlock_internal.h' line='30' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='relax' type-id='type-id-1977' visibility='default' filepath='drivers/hwspinlock/hwspinlock_internal.h' line='31' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-1975' const='yes' id='type-id-1978'/>
+      <pointer-type-def type-id='type-id-1978' size-in-bits='64' id='type-id-1974'/>
+      <pointer-type-def type-id='type-id-1973' size-in-bits='64' id='type-id-1979'/>
+      <pointer-type-def type-id='type-id-1980' size-in-bits='64' id='type-id-1976'/>
+      <pointer-type-def type-id='type-id-1981' size-in-bits='64' id='type-id-1977'/>
+      <function-decl name='__hwspin_lock_timeout' mangled-name='__hwspin_lock_timeout' filepath='drivers/hwspinlock/hwspinlock_core.c' line='197' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__hwspin_lock_timeout'>
+        <parameter type-id='type-id-703' name='hwlock' filepath='drivers/hwspinlock/hwspinlock_core.c' line='197' column='1'/>
+        <parameter type-id='type-id-10' name='to' filepath='drivers/hwspinlock/hwspinlock_core.c' line='197' column='1'/>
+        <parameter type-id='type-id-11' name='mode' filepath='drivers/hwspinlock/hwspinlock_core.c' line='198' column='1'/>
+        <parameter type-id='type-id-76' name='flags' filepath='drivers/hwspinlock/hwspinlock_core.c' line='198' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__hwspin_unlock' mangled-name='__hwspin_unlock' filepath='drivers/hwspinlock/hwspinlock_core.c' line='249' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__hwspin_unlock'>
+        <parameter type-id='type-id-703' name='hwlock' filepath='drivers/hwspinlock/hwspinlock_core.c' line='249' column='1'/>
+        <parameter type-id='type-id-11' name='mode' filepath='drivers/hwspinlock/hwspinlock_core.c' line='249' column='1'/>
+        <parameter type-id='type-id-76' name='flags' filepath='drivers/hwspinlock/hwspinlock_core.c' line='249' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='hwspin_lock_register' mangled-name='hwspin_lock_register' filepath='drivers/hwspinlock/hwspinlock_core.c' line='464' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='hwspin_lock_register'>
+        <parameter type-id='type-id-1979' name='bank' filepath='drivers/hwspinlock/hwspinlock_core.c' line='464' column='1'/>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/hwspinlock/hwspinlock_core.c' line='464' column='1'/>
+        <parameter type-id='type-id-1974' name='ops' filepath='drivers/hwspinlock/hwspinlock_core.c' line='465' column='1'/>
+        <parameter type-id='type-id-11' name='base_id' filepath='drivers/hwspinlock/hwspinlock_core.c' line='465' column='1'/>
+        <parameter type-id='type-id-11' name='num_locks' filepath='drivers/hwspinlock/hwspinlock_core.c' line='465' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='hwspin_lock_unregister' mangled-name='hwspin_lock_unregister' filepath='drivers/hwspinlock/hwspinlock_core.c' line='512' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='hwspin_lock_unregister'>
+        <parameter type-id='type-id-1979' name='bank' filepath='drivers/hwspinlock/hwspinlock_core.c' line='512' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-1980'>
+        <parameter type-id='type-id-703'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-1981'>
+        <parameter type-id='type-id-703'/>
+        <return type-id='type-id-73'/>
+      </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_match_id' mangled-name='i2c_match_id' filepath='drivers/i2c/i2c-core-base.c' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='i2c_match_id'>
+        <parameter type-id='type-id-1982' name='id' filepath='drivers/i2c/i2c-core-base.c' line='86' column='1'/>
+        <parameter type-id='type-id-629' name='client' filepath='drivers/i2c/i2c-core-base.c' line='87' column='1'/>
+        <return type-id='type-id-1982'/>
+      </function-decl>
+      <function-decl name='i2c_new_dummy' mangled-name='i2c_new_dummy' filepath='drivers/i2c/i2c-core-base.c' line='881' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='i2c_new_dummy'>
+        <parameter type-id='type-id-1706' name='adapter' filepath='drivers/i2c/i2c-core-base.c' line='881' column='1'/>
+        <parameter type-id='type-id-289' name='address' filepath='drivers/i2c/i2c-core-base.c' line='881' column='1'/>
+        <return type-id='type-id-630'/>
+      </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='2288' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='i2c_get_dma_safe_msg_buf'>
+        <parameter type-id='type-id-1707' name='msg' filepath='drivers/i2c/i2c-core-base.c' line='2288' column='1'/>
+        <parameter type-id='type-id-10' name='threshold' filepath='drivers/i2c/i2c-core-base.c' line='2288' column='1'/>
+        <return type-id='type-id-67'/>
+      </function-decl>
+      <function-decl name='i2c_put_dma_safe_msg_buf' mangled-name='i2c_put_dma_safe_msg_buf' filepath='drivers/i2c/i2c-core-base.c' line='2312' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='i2c_put_dma_safe_msg_buf'>
+        <parameter type-id='type-id-67' name='buf' filepath='drivers/i2c/i2c-core-base.c' line='2312' column='1'/>
+        <parameter type-id='type-id-1707' name='msg' filepath='drivers/i2c/i2c-core-base.c' line='2312' column='1'/>
+        <parameter type-id='type-id-211' name='xferred' filepath='drivers/i2c/i2c-core-base.c' line='2312' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/i2c/i2c-core-of.c' language='LANG_C89'>
+      <function-decl name='of_find_i2c_device_by_node' mangled-name='of_find_i2c_device_by_node' filepath='drivers/i2c/i2c-core-of.c' line='137' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_find_i2c_device_by_node'>
+        <parameter type-id='type-id-81' name='node' filepath='drivers/i2c/i2c-core-of.c' line='137' column='1'/>
+        <return type-id='type-id-630'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/iio/industrialio-core.c' language='LANG_C89'>
+      <class-decl name='iio_buffer' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1983'/>
+      <class-decl name='iio_event_interface' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1984'/>
+      <class-decl name='iio_poll_func' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1985'/>
+      <class-decl name='iio_trigger' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1986'/>
+      <array-type-def dimensions='1' type-id='type-id-88' size-in-bits='448' id='type-id-1987'>
+        <subrange length='7' type-id='type-id-5' id='type-id-357'/>
+
+      </array-type-def>
+      <class-decl name='iio_dev' size-in-bits='9984' is-struct='yes' visibility='default' filepath='include/linux/iio/iio.h' line='528' column='1' id='type-id-1988'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='id' type-id='type-id-11' visibility='default' filepath='include/linux/iio/iio.h' line='529' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='driver_module' type-id='type-id-19' visibility='default' filepath='include/linux/iio/iio.h' line='530' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='modes' type-id='type-id-11' visibility='default' filepath='include/linux/iio/iio.h' line='532' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='currentmode' type-id='type-id-11' visibility='default' filepath='include/linux/iio/iio.h' line='533' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='include/linux/iio/iio.h' line='534' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6400'>
+          <var-decl name='event_interface' type-id='type-id-1989' visibility='default' filepath='include/linux/iio/iio.h' line='536' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6464'>
+          <var-decl name='buffer' type-id='type-id-1990' visibility='default' filepath='include/linux/iio/iio.h' line='538' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6528'>
+          <var-decl name='buffer_list' type-id='type-id-8' visibility='default' filepath='include/linux/iio/iio.h' line='539' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6656'>
+          <var-decl name='scan_bytes' type-id='type-id-11' visibility='default' filepath='include/linux/iio/iio.h' line='540' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6720'>
+          <var-decl name='mlock' type-id='type-id-407' visibility='default' filepath='include/linux/iio/iio.h' line='541' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6976'>
+          <var-decl name='available_scan_masks' type-id='type-id-119' visibility='default' filepath='include/linux/iio/iio.h' line='543' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7040'>
+          <var-decl name='masklength' type-id='type-id-10' visibility='default' filepath='include/linux/iio/iio.h' line='544' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7104'>
+          <var-decl name='active_scan_mask' type-id='type-id-119' visibility='default' filepath='include/linux/iio/iio.h' line='545' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7168'>
+          <var-decl name='scan_timestamp' type-id='type-id-211' visibility='default' filepath='include/linux/iio/iio.h' line='546' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7200'>
+          <var-decl name='scan_index_timestamp' type-id='type-id-10' visibility='default' filepath='include/linux/iio/iio.h' line='547' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7232'>
+          <var-decl name='trig' type-id='type-id-1991' visibility='default' filepath='include/linux/iio/iio.h' line='548' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7296'>
+          <var-decl name='trig_readonly' type-id='type-id-211' visibility='default' filepath='include/linux/iio/iio.h' line='549' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7360'>
+          <var-decl name='pollfunc' type-id='type-id-1992' visibility='default' filepath='include/linux/iio/iio.h' line='550' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7424'>
+          <var-decl name='pollfunc_event' type-id='type-id-1992' visibility='default' filepath='include/linux/iio/iio.h' line='551' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7488'>
+          <var-decl name='channels' type-id='type-id-1993' visibility='default' filepath='include/linux/iio/iio.h' line='553' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7552'>
+          <var-decl name='num_channels' type-id='type-id-11' visibility='default' filepath='include/linux/iio/iio.h' line='554' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7616'>
+          <var-decl name='channel_attr_list' type-id='type-id-8' visibility='default' filepath='include/linux/iio/iio.h' line='556' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7744'>
+          <var-decl name='chan_attr_group' type-id='type-id-1025' visibility='default' filepath='include/linux/iio/iio.h' line='557' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8064'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/iio/iio.h' line='558' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8128'>
+          <var-decl name='info' type-id='type-id-1994' visibility='default' filepath='include/linux/iio/iio.h' line='559' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8192'>
+          <var-decl name='clock_id' type-id='type-id-1995' visibility='default' filepath='include/linux/iio/iio.h' line='560' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8256'>
+          <var-decl name='info_exist_lock' type-id='type-id-407' visibility='default' filepath='include/linux/iio/iio.h' line='561' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8512'>
+          <var-decl name='setup_ops' type-id='type-id-1996' visibility='default' filepath='include/linux/iio/iio.h' line='562' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8576'>
+          <var-decl name='chrdev' type-id='type-id-1036' visibility='default' filepath='include/linux/iio/iio.h' line='563' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9408'>
+          <var-decl name='groups' type-id='type-id-1987' visibility='default' filepath='include/linux/iio/iio.h' line='565' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9856'>
+          <var-decl name='groupcounter' type-id='type-id-11' visibility='default' filepath='include/linux/iio/iio.h' line='566' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9920'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/iio/iio.h' line='568' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='iio_chan_spec' size-in-bits='1216' is-struct='yes' visibility='default' filepath='include/linux/iio/iio.h' line='239' column='1' id='type-id-1997'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-1998' visibility='default' filepath='include/linux/iio/iio.h' line='240' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='channel' type-id='type-id-11' visibility='default' filepath='include/linux/iio/iio.h' line='241' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='channel2' type-id='type-id-11' visibility='default' filepath='include/linux/iio/iio.h' line='242' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='address' type-id='type-id-100' visibility='default' filepath='include/linux/iio/iio.h' line='243' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='scan_index' type-id='type-id-11' visibility='default' filepath='include/linux/iio/iio.h' line='244' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='scan_type' type-id='type-id-1999' visibility='default' filepath='include/linux/iio/iio.h' line='252' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='info_mask_separate' type-id='type-id-187' visibility='default' filepath='include/linux/iio/iio.h' line='253' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='info_mask_separate_available' type-id='type-id-187' visibility='default' filepath='include/linux/iio/iio.h' line='254' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='info_mask_shared_by_type' type-id='type-id-187' visibility='default' filepath='include/linux/iio/iio.h' line='255' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='info_mask_shared_by_type_available' type-id='type-id-187' visibility='default' filepath='include/linux/iio/iio.h' line='256' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='info_mask_shared_by_dir' type-id='type-id-187' visibility='default' filepath='include/linux/iio/iio.h' line='257' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='info_mask_shared_by_dir_available' type-id='type-id-187' visibility='default' filepath='include/linux/iio/iio.h' line='258' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='info_mask_shared_by_all' type-id='type-id-187' visibility='default' filepath='include/linux/iio/iio.h' line='259' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='info_mask_shared_by_all_available' type-id='type-id-187' visibility='default' filepath='include/linux/iio/iio.h' line='260' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='event_spec' type-id='type-id-2000' visibility='default' filepath='include/linux/iio/iio.h' line='261' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='num_event_specs' type-id='type-id-10' visibility='default' filepath='include/linux/iio/iio.h' line='262' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='ext_info' type-id='type-id-2001' visibility='default' filepath='include/linux/iio/iio.h' line='263' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='extend_name' type-id='type-id-24' visibility='default' filepath='include/linux/iio/iio.h' line='264' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='datasheet_name' type-id='type-id-24' visibility='default' filepath='include/linux/iio/iio.h' line='265' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='modified' type-id='type-id-10' visibility='default' filepath='include/linux/iio/iio.h' line='266' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='indexed' type-id='type-id-10' visibility='default' filepath='include/linux/iio/iio.h' line='267' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='29'>
+          <var-decl name='output' type-id='type-id-10' visibility='default' filepath='include/linux/iio/iio.h' line='268' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='28'>
+          <var-decl name='differential' type-id='type-id-10' visibility='default' filepath='include/linux/iio/iio.h' line='269' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='iio_chan_type' filepath='include/uapi/linux/iio/types.h' line='14' column='1' id='type-id-1998'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='IIO_VOLTAGE' value='0'/>
+        <enumerator name='IIO_CURRENT' value='1'/>
+        <enumerator name='IIO_POWER' value='2'/>
+        <enumerator name='IIO_ACCEL' value='3'/>
+        <enumerator name='IIO_ANGL_VEL' value='4'/>
+        <enumerator name='IIO_MAGN' value='5'/>
+        <enumerator name='IIO_LIGHT' value='6'/>
+        <enumerator name='IIO_INTENSITY' value='7'/>
+        <enumerator name='IIO_PROXIMITY' value='8'/>
+        <enumerator name='IIO_TEMP' value='9'/>
+        <enumerator name='IIO_INCLI' value='10'/>
+        <enumerator name='IIO_ROT' value='11'/>
+        <enumerator name='IIO_ANGL' value='12'/>
+        <enumerator name='IIO_TIMESTAMP' value='13'/>
+        <enumerator name='IIO_CAPACITANCE' value='14'/>
+        <enumerator name='IIO_ALTVOLTAGE' value='15'/>
+        <enumerator name='IIO_CCT' value='16'/>
+        <enumerator name='IIO_PRESSURE' value='17'/>
+        <enumerator name='IIO_HUMIDITYRELATIVE' value='18'/>
+        <enumerator name='IIO_ACTIVITY' value='19'/>
+        <enumerator name='IIO_STEPS' value='20'/>
+        <enumerator name='IIO_ENERGY' value='21'/>
+        <enumerator name='IIO_DISTANCE' value='22'/>
+        <enumerator name='IIO_VELOCITY' value='23'/>
+        <enumerator name='IIO_CONCENTRATION' value='24'/>
+        <enumerator name='IIO_RESISTANCE' value='25'/>
+        <enumerator name='IIO_PH' value='26'/>
+        <enumerator name='IIO_UVINDEX' value='27'/>
+        <enumerator name='IIO_ELECTRICALCONDUCTIVITY' value='28'/>
+        <enumerator name='IIO_COUNT' value='29'/>
+        <enumerator name='IIO_INDEX' value='30'/>
+        <enumerator name='IIO_GRAVITY' value='31'/>
+        <enumerator name='IIO_POSITIONRELATIVE' value='32'/>
+        <enumerator name='IIO_PHASE' value='33'/>
+      </enum-decl>
+      <class-decl name='__anonymous_struct__' size-in-bits='96' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/iio/iio.h' line='245' column='1' id='type-id-1999'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='sign' type-id='type-id-475' visibility='default' filepath='include/linux/iio/iio.h' line='246' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='realbits' type-id='type-id-53' visibility='default' filepath='include/linux/iio/iio.h' line='247' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='storagebits' type-id='type-id-53' visibility='default' filepath='include/linux/iio/iio.h' line='248' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='shift' type-id='type-id-53' visibility='default' filepath='include/linux/iio/iio.h' line='249' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='repeat' type-id='type-id-53' visibility='default' filepath='include/linux/iio/iio.h' line='250' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='endianness' type-id='type-id-2002' visibility='default' filepath='include/linux/iio/iio.h' line='251' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='iio_endian' filepath='include/linux/iio/iio.h' line='30' column='1' id='type-id-2002'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='IIO_CPU' value='0'/>
+        <enumerator name='IIO_BE' value='1'/>
+        <enumerator name='IIO_LE' value='2'/>
+      </enum-decl>
+      <class-decl name='iio_event_spec' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/iio/iio.h' line='167' column='1' id='type-id-2003'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-2004' visibility='default' filepath='include/linux/iio/iio.h' line='168' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='dir' type-id='type-id-2005' visibility='default' filepath='include/linux/iio/iio.h' line='169' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='mask_separate' type-id='type-id-100' visibility='default' filepath='include/linux/iio/iio.h' line='170' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='mask_shared_by_type' type-id='type-id-100' visibility='default' filepath='include/linux/iio/iio.h' line='171' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='mask_shared_by_dir' type-id='type-id-100' visibility='default' filepath='include/linux/iio/iio.h' line='172' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='mask_shared_by_all' type-id='type-id-100' visibility='default' filepath='include/linux/iio/iio.h' line='173' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='iio_event_type' filepath='include/uapi/linux/iio/types.h' line='92' column='1' id='type-id-2004'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='IIO_EV_TYPE_THRESH' value='0'/>
+        <enumerator name='IIO_EV_TYPE_MAG' value='1'/>
+        <enumerator name='IIO_EV_TYPE_ROC' value='2'/>
+        <enumerator name='IIO_EV_TYPE_THRESH_ADAPTIVE' value='3'/>
+        <enumerator name='IIO_EV_TYPE_MAG_ADAPTIVE' value='4'/>
+        <enumerator name='IIO_EV_TYPE_CHANGE' value='5'/>
+      </enum-decl>
+      <enum-decl name='iio_event_direction' filepath='include/uapi/linux/iio/types.h' line='101' column='1' id='type-id-2005'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='IIO_EV_DIR_EITHER' value='0'/>
+        <enumerator name='IIO_EV_DIR_RISING' value='1'/>
+        <enumerator name='IIO_EV_DIR_FALLING' value='2'/>
+        <enumerator name='IIO_EV_DIR_NONE' value='3'/>
+      </enum-decl>
+      <class-decl name='iio_chan_spec_ext_info' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/iio/iio.h' line='47' column='1' id='type-id-2006'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/iio/iio.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='shared' type-id='type-id-2007' visibility='default' filepath='include/linux/iio/iio.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='read' type-id='type-id-2008' visibility='default' filepath='include/linux/iio/iio.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='write' type-id='type-id-2009' visibility='default' filepath='include/linux/iio/iio.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='private' type-id='type-id-2010' visibility='default' filepath='include/linux/iio/iio.h' line='55' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='iio_shared_by' filepath='include/linux/iio/iio.h' line='23' column='1' id='type-id-2007'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='IIO_SEPARATE' value='0'/>
+        <enumerator name='IIO_SHARED_BY_TYPE' value='1'/>
+        <enumerator name='IIO_SHARED_BY_DIR' value='2'/>
+        <enumerator name='IIO_SHARED_BY_ALL' value='3'/>
+      </enum-decl>
+      <typedef-decl name='uintptr_t' type-id='type-id-100' filepath='include/linux/types.h' line='37' column='1' id='type-id-2010'/>
+      <class-decl name='iio_info' size-in-bits='1088' is-struct='yes' visibility='default' filepath='include/linux/iio/iio.h' line='396' column='1' id='type-id-2011'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='event_attrs' type-id='type-id-88' visibility='default' filepath='include/linux/iio/iio.h' line='397' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='attrs' type-id='type-id-88' visibility='default' filepath='include/linux/iio/iio.h' line='398' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='read_raw' type-id='type-id-2012' visibility='default' filepath='include/linux/iio/iio.h' line='400' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='read_raw_multi' type-id='type-id-2013' visibility='default' filepath='include/linux/iio/iio.h' line='406' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='read_avail' type-id='type-id-2014' visibility='default' filepath='include/linux/iio/iio.h' line='413' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='write_raw' type-id='type-id-2015' visibility='default' filepath='include/linux/iio/iio.h' line='420' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='write_raw_get_fmt' type-id='type-id-2016' visibility='default' filepath='include/linux/iio/iio.h' line='426' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='read_event_config' type-id='type-id-2017' visibility='default' filepath='include/linux/iio/iio.h' line='430' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='write_event_config' type-id='type-id-2018' visibility='default' filepath='include/linux/iio/iio.h' line='435' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='read_event_value' type-id='type-id-2019' visibility='default' filepath='include/linux/iio/iio.h' line='441' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='write_event_value' type-id='type-id-2020' visibility='default' filepath='include/linux/iio/iio.h' line='447' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='validate_trigger' type-id='type-id-2021' visibility='default' filepath='include/linux/iio/iio.h' line='453' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='update_scan_mode' type-id='type-id-2022' visibility='default' filepath='include/linux/iio/iio.h' line='455' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='debugfs_reg_access' type-id='type-id-2023' visibility='default' filepath='include/linux/iio/iio.h' line='457' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='of_xlate' type-id='type-id-2024' visibility='default' filepath='include/linux/iio/iio.h' line='460' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='hwfifo_set_watermark' type-id='type-id-2025' visibility='default' filepath='include/linux/iio/iio.h' line='462' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='hwfifo_flush_to_buffer' type-id='type-id-2025' visibility='default' filepath='include/linux/iio/iio.h' line='463' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='iio_event_info' filepath='include/linux/iio/types.h' line='15' column='1' id='type-id-2026'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='IIO_EV_INFO_ENABLE' value='0'/>
+        <enumerator name='IIO_EV_INFO_VALUE' value='1'/>
+        <enumerator name='IIO_EV_INFO_HYSTERESIS' value='2'/>
+        <enumerator name='IIO_EV_INFO_PERIOD' value='3'/>
+        <enumerator name='IIO_EV_INFO_HIGH_PASS_FILTER_3DB' value='4'/>
+        <enumerator name='IIO_EV_INFO_LOW_PASS_FILTER_3DB' value='5'/>
+      </enum-decl>
+      <class-decl name='iio_buffer_setup_ops' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/iio/iio.h' line='477' column='1' id='type-id-2027'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='preenable' type-id='type-id-2028' visibility='default' filepath='include/linux/iio/iio.h' line='478' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='postenable' type-id='type-id-2028' visibility='default' filepath='include/linux/iio/iio.h' line='479' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='predisable' type-id='type-id-2028' visibility='default' filepath='include/linux/iio/iio.h' line='480' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='postdisable' type-id='type-id-2028' visibility='default' filepath='include/linux/iio/iio.h' line='481' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='validate_scan_mask' type-id='type-id-2029' visibility='default' filepath='include/linux/iio/iio.h' line='482' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-2027' const='yes' id='type-id-2030'/>
+      <pointer-type-def type-id='type-id-2030' size-in-bits='64' id='type-id-1996'/>
+      <qualified-type-def type-id='type-id-1997' const='yes' id='type-id-2031'/>
+      <pointer-type-def type-id='type-id-2031' size-in-bits='64' id='type-id-1993'/>
+      <qualified-type-def type-id='type-id-2006' const='yes' id='type-id-2032'/>
+      <pointer-type-def type-id='type-id-2032' size-in-bits='64' id='type-id-2001'/>
+      <qualified-type-def type-id='type-id-2003' const='yes' id='type-id-2033'/>
+      <pointer-type-def type-id='type-id-2033' size-in-bits='64' id='type-id-2000'/>
+      <qualified-type-def type-id='type-id-2011' const='yes' id='type-id-2034'/>
+      <pointer-type-def type-id='type-id-2034' size-in-bits='64' id='type-id-1994'/>
+      <qualified-type-def type-id='type-id-11' const='yes' id='type-id-2035'/>
+      <pointer-type-def type-id='type-id-2035' size-in-bits='64' id='type-id-2036'/>
+      <pointer-type-def type-id='type-id-2036' size-in-bits='64' id='type-id-2037'/>
+      <pointer-type-def type-id='type-id-1983' size-in-bits='64' id='type-id-1990'/>
+      <pointer-type-def type-id='type-id-1988' size-in-bits='64' id='type-id-2038'/>
+      <pointer-type-def type-id='type-id-1984' size-in-bits='64' id='type-id-1989'/>
+      <pointer-type-def type-id='type-id-1985' size-in-bits='64' id='type-id-1992'/>
+      <pointer-type-def type-id='type-id-1986' size-in-bits='64' id='type-id-1991'/>
+      <pointer-type-def type-id='type-id-2039' size-in-bits='64' id='type-id-2028'/>
+      <pointer-type-def type-id='type-id-2040' size-in-bits='64' id='type-id-2014'/>
+      <pointer-type-def type-id='type-id-2041' size-in-bits='64' id='type-id-2017'/>
+      <pointer-type-def type-id='type-id-2042' size-in-bits='64' id='type-id-2019'/>
+      <pointer-type-def type-id='type-id-2043' size-in-bits='64' id='type-id-2020'/>
+      <pointer-type-def type-id='type-id-2044' size-in-bits='64' id='type-id-2018'/>
+      <pointer-type-def type-id='type-id-2045' size-in-bits='64' id='type-id-2012'/>
+      <pointer-type-def type-id='type-id-2046' size-in-bits='64' id='type-id-2013'/>
+      <pointer-type-def type-id='type-id-2047' size-in-bits='64' id='type-id-2015'/>
+      <pointer-type-def type-id='type-id-2048' size-in-bits='64' id='type-id-2016'/>
+      <pointer-type-def type-id='type-id-2049' size-in-bits='64' id='type-id-2024'/>
+      <pointer-type-def type-id='type-id-2050' size-in-bits='64' id='type-id-2022'/>
+      <pointer-type-def type-id='type-id-2051' size-in-bits='64' id='type-id-2021'/>
+      <pointer-type-def type-id='type-id-2052' size-in-bits='64' id='type-id-2025'/>
+      <pointer-type-def type-id='type-id-2053' size-in-bits='64' id='type-id-2023'/>
+      <pointer-type-def type-id='type-id-2054' size-in-bits='64' id='type-id-2029'/>
+      <pointer-type-def type-id='type-id-2055' size-in-bits='64' id='type-id-2008'/>
+      <pointer-type-def type-id='type-id-2056' size-in-bits='64' id='type-id-2009'/>
+      <function-decl name='devm_iio_device_alloc' mangled-name='devm_iio_device_alloc' filepath='drivers/iio/industrialio-core.c' line='1525' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_iio_device_alloc'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/iio/industrialio-core.c' line='1525' column='1'/>
+        <parameter type-id='type-id-11' name='sizeof_priv' filepath='drivers/iio/industrialio-core.c' line='1525' column='1'/>
+        <return type-id='type-id-2038'/>
+      </function-decl>
+      <function-decl name='__devm_iio_device_register' mangled-name='__devm_iio_device_register' filepath='drivers/iio/industrialio-core.c' line='1762' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__devm_iio_device_register'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/iio/industrialio-core.c' line='1762' column='1'/>
+        <parameter type-id='type-id-2038' name='indio_dev' filepath='drivers/iio/industrialio-core.c' line='1762' column='1'/>
+        <parameter type-id='type-id-19' name='this_mod' filepath='drivers/iio/industrialio-core.c' line='1763' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-2039'>
+        <parameter type-id='type-id-2038'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2040'>
+        <parameter type-id='type-id-2038'/>
+        <parameter type-id='type-id-1993'/>
+        <parameter type-id='type-id-2037'/>
+        <parameter type-id='type-id-82'/>
+        <parameter type-id='type-id-82'/>
+        <parameter type-id='type-id-187'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2041'>
+        <parameter type-id='type-id-2038'/>
+        <parameter type-id='type-id-1993'/>
+        <parameter type-id='type-id-2004'/>
+        <parameter type-id='type-id-2005'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2042'>
+        <parameter type-id='type-id-2038'/>
+        <parameter type-id='type-id-1993'/>
+        <parameter type-id='type-id-2004'/>
+        <parameter type-id='type-id-2005'/>
+        <parameter type-id='type-id-2026'/>
+        <parameter type-id='type-id-82'/>
+        <parameter type-id='type-id-82'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2043'>
+        <parameter type-id='type-id-2038'/>
+        <parameter type-id='type-id-1993'/>
+        <parameter type-id='type-id-2004'/>
+        <parameter type-id='type-id-2005'/>
+        <parameter type-id='type-id-2026'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2044'>
+        <parameter type-id='type-id-2038'/>
+        <parameter type-id='type-id-1993'/>
+        <parameter type-id='type-id-2004'/>
+        <parameter type-id='type-id-2005'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2045'>
+        <parameter type-id='type-id-2038'/>
+        <parameter type-id='type-id-1993'/>
+        <parameter type-id='type-id-82'/>
+        <parameter type-id='type-id-82'/>
+        <parameter type-id='type-id-187'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2046'>
+        <parameter type-id='type-id-2038'/>
+        <parameter type-id='type-id-1993'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-82'/>
+        <parameter type-id='type-id-82'/>
+        <parameter type-id='type-id-187'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2047'>
+        <parameter type-id='type-id-2038'/>
+        <parameter type-id='type-id-1993'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-187'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2048'>
+        <parameter type-id='type-id-2038'/>
+        <parameter type-id='type-id-1993'/>
+        <parameter type-id='type-id-187'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2049'>
+        <parameter type-id='type-id-2038'/>
+        <parameter type-id='type-id-2057'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2050'>
+        <parameter type-id='type-id-2038'/>
+        <parameter type-id='type-id-119'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2051'>
+        <parameter type-id='type-id-2038'/>
+        <parameter type-id='type-id-1991'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2052'>
+        <parameter type-id='type-id-2038'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2053'>
+        <parameter type-id='type-id-2038'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-72'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2054'>
+        <parameter type-id='type-id-2038'/>
+        <parameter type-id='type-id-119'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2055'>
+        <parameter type-id='type-id-2038'/>
+        <parameter type-id='type-id-2010'/>
+        <parameter type-id='type-id-1993'/>
+        <parameter type-id='type-id-300'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2056'>
+        <parameter type-id='type-id-2038'/>
+        <parameter type-id='type-id-2010'/>
+        <parameter type-id='type-id-1993'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/iio/inkern.c' language='LANG_C89'>
+      <class-decl name='file_operations' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-2058'/>
+      <class-decl name='iio_channel' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/iio/consumer.h' line='26' column='1' id='type-id-2059'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='indio_dev' type-id='type-id-2038' visibility='default' filepath='include/linux/iio/consumer.h' line='27' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='channel' type-id='type-id-1993' visibility='default' filepath='include/linux/iio/consumer.h' line='28' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='data' type-id='type-id-3' visibility='default' filepath='include/linux/iio/consumer.h' line='29' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-2059' size-in-bits='64' id='type-id-2060'/>
+      <function-decl name='iio_channel_get' mangled-name='iio_channel_get' filepath='drivers/iio/inkern.c' line='333' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iio_channel_get'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/iio/inkern.c' line='333' column='1'/>
+        <parameter type-id='type-id-24' name='channel_name' filepath='drivers/iio/inkern.c' line='334' column='1'/>
+        <return type-id='type-id-2060'/>
+      </function-decl>
+      <function-decl name='iio_channel_release' mangled-name='iio_channel_release' filepath='drivers/iio/inkern.c' line='350' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iio_channel_release'>
+        <parameter type-id='type-id-2060' name='channel' filepath='drivers/iio/inkern.c' line='350' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='devm_iio_channel_get' mangled-name='devm_iio_channel_get' filepath='drivers/iio/inkern.c' line='378' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_iio_channel_get'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/iio/inkern.c' line='378' column='1'/>
+        <parameter type-id='type-id-24' name='channel_name' filepath='drivers/iio/inkern.c' line='379' column='1'/>
+        <return type-id='type-id-2060'/>
+      </function-decl>
+      <function-decl name='iio_channel_get_all' mangled-name='iio_channel_get_all' filepath='drivers/iio/inkern.c' line='407' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iio_channel_get_all'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/iio/inkern.c' line='407' column='1'/>
+        <return type-id='type-id-2060'/>
+      </function-decl>
+      <function-decl name='iio_read_channel_processed' mangled-name='iio_read_channel_processed' filepath='drivers/iio/inkern.c' line='692' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iio_read_channel_processed'>
+        <parameter type-id='type-id-2060' name='chan' filepath='drivers/iio/inkern.c' line='692' column='1'/>
+        <parameter type-id='type-id-82' name='val' filepath='drivers/iio/inkern.c' line='692' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/input/input-leds.c' language='LANG_C89'>
+      <class-decl name='led_classdev' size-in-bits='2624' is-struct='yes' visibility='default' filepath='include/linux/leds.h' line='36' column='1' id='type-id-2061'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/leds.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='brightness' type-id='type-id-2062' visibility='default' filepath='include/linux/leds.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='max_brightness' type-id='type-id-2062' visibility='default' filepath='include/linux/leds.h' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='flags' type-id='type-id-11' visibility='default' filepath='include/linux/leds.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='work_flags' type-id='type-id-100' visibility='default' filepath='include/linux/leds.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='brightness_set' type-id='type-id-2063' visibility='default' filepath='include/linux/leds.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='brightness_set_blocking' type-id='type-id-2064' visibility='default' filepath='include/linux/leds.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='brightness_get' type-id='type-id-2065' visibility='default' filepath='include/linux/leds.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='blink_set' type-id='type-id-2066' visibility='default' filepath='include/linux/leds.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/linux/leds.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='groups' type-id='type-id-298' visibility='default' filepath='include/linux/leds.h' line='92' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='node' type-id='type-id-8' visibility='default' filepath='include/linux/leds.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='default_trigger' type-id='type-id-24' visibility='default' filepath='include/linux/leds.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='blink_delay_on' type-id='type-id-100' visibility='default' filepath='include/linux/leds.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='blink_delay_off' type-id='type-id-100' visibility='default' filepath='include/linux/leds.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='blink_timer' type-id='type-id-1240' visibility='default' filepath='include/linux/leds.h' line='98' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='blink_brightness' type-id='type-id-11' visibility='default' filepath='include/linux/leds.h' line='99' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1312'>
+          <var-decl name='new_blink_brightness' type-id='type-id-11' visibility='default' filepath='include/linux/leds.h' line='100' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='flash_resume' type-id='type-id-2067' visibility='default' filepath='include/linux/leds.h' line='101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='set_brightness_work' type-id='type-id-149' visibility='default' filepath='include/linux/leds.h' line='103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='delayed_set_value' type-id='type-id-11' visibility='default' filepath='include/linux/leds.h' line='104' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='trigger_lock' type-id='type-id-139' visibility='default' filepath='include/linux/leds.h' line='108' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='trigger' type-id='type-id-2068' visibility='default' filepath='include/linux/leds.h' line='110' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='trig_list' type-id='type-id-8' visibility='default' filepath='include/linux/leds.h' line='111' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='trigger_data' type-id='type-id-3' visibility='default' filepath='include/linux/leds.h' line='112' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='activated' type-id='type-id-211' visibility='default' filepath='include/linux/leds.h' line='114' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='led_access' type-id='type-id-407' visibility='default' filepath='include/linux/leds.h' line='123' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='led_brightness' filepath='include/linux/leds.h' line='29' column='1' id='type-id-2062'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='LED_OFF' value='0'/>
+        <enumerator name='LED_ON' value='1'/>
+        <enumerator name='LED_HALF' value='127'/>
+        <enumerator name='LED_FULL' value='255'/>
+      </enum-decl>
+      <class-decl name='led_trigger' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/leds.h' line='253' column='1' id='type-id-2069'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/leds.h' line='255' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='activate' type-id='type-id-2070' visibility='default' filepath='include/linux/leds.h' line='256' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='deactivate' type-id='type-id-2067' visibility='default' filepath='include/linux/leds.h' line='257' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='leddev_list_lock' type-id='type-id-1847' visibility='default' filepath='include/linux/leds.h' line='260' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='led_cdevs' type-id='type-id-8' visibility='default' filepath='include/linux/leds.h' line='261' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='next_trig' type-id='type-id-8' visibility='default' filepath='include/linux/leds.h' line='264' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='groups' type-id='type-id-298' visibility='default' filepath='include/linux/leds.h' line='266' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-2071' size-in-bits='64' id='type-id-2065'/>
+      <pointer-type-def type-id='type-id-2072' size-in-bits='64' id='type-id-2070'/>
+      <pointer-type-def type-id='type-id-2073' size-in-bits='64' id='type-id-2064'/>
+      <pointer-type-def type-id='type-id-2074' size-in-bits='64' id='type-id-2066'/>
+      <pointer-type-def type-id='type-id-2061' size-in-bits='64' id='type-id-2075'/>
+      <pointer-type-def type-id='type-id-2069' size-in-bits='64' id='type-id-2068'/>
+      <pointer-type-def type-id='type-id-2076' size-in-bits='64' id='type-id-2067'/>
+      <pointer-type-def type-id='type-id-2077' size-in-bits='64' id='type-id-2063'/>
+      <function-decl name='of_led_classdev_register' mangled-name='of_led_classdev_register' filepath='include/linux/leds.h' line='126' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_led_classdev_register'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-782'/>
+        <parameter type-id='type-id-2075'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='led_classdev_unregister' mangled-name='led_classdev_unregister' filepath='include/linux/leds.h' line='136' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='led_classdev_unregister'>
+        <parameter type-id='type-id-2075'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-2071'>
+        <parameter type-id='type-id-2075'/>
+        <return type-id='type-id-2062'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2072'>
+        <parameter type-id='type-id-2075'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2073'>
+        <parameter type-id='type-id-2075'/>
+        <parameter type-id='type-id-2062'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2074'>
+        <parameter type-id='type-id-2075'/>
+        <parameter type-id='type-id-76'/>
+        <parameter type-id='type-id-76'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2076'>
+        <parameter type-id='type-id-2075'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2077'>
+        <parameter type-id='type-id-2075'/>
+        <parameter type-id='type-id-2062'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/input/input-mt.c' language='LANG_C89'>
+      <function-decl name='input_mt_init_slots' mangled-name='input_mt_init_slots' filepath='drivers/input/input-mt.c' line='41' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='input_mt_init_slots'>
+        <parameter type-id='type-id-2078' name='dev' filepath='drivers/input/input-mt.c' line='41' column='1'/>
+        <parameter type-id='type-id-10' name='num_slots' filepath='drivers/input/input-mt.c' line='41' column='1'/>
+        <parameter type-id='type-id-10' name='flags' filepath='drivers/input/input-mt.c' line='42' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='input_mt_report_slot_state' mangled-name='input_mt_report_slot_state' filepath='drivers/input/input-mt.c' line='137' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='input_mt_report_slot_state'>
+        <parameter type-id='type-id-2078' name='dev' filepath='drivers/input/input-mt.c' line='137' column='1'/>
+        <parameter type-id='type-id-10' name='tool_type' filepath='drivers/input/input-mt.c' line='138' column='1'/>
+        <parameter type-id='type-id-211' name='active' filepath='drivers/input/input-mt.c' line='138' column='1'/>
+        <return type-id='type-id-211'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/input/input.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-2079' size-in-bits='infinite' id='type-id-2080'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='448' id='type-id-2081'>
+        <subrange length='14' type-id='type-id-5' id='type-id-1124'/>
+
+      </array-type-def>
+      <class-decl name='input_mt_slot' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/input/mt.h' line='30' column='1' id='type-id-2079'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='abs' type-id='type-id-2081' visibility='default' filepath='include/linux/input/mt.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='frame' type-id='type-id-10' visibility='default' filepath='include/linux/input/mt.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='key' type-id='type-id-10' visibility='default' filepath='include/linux/input/mt.h' line='33' column='1'/>
+        </data-member>
+      </class-decl>
+      <function-decl name='input_mt_destroy_slots' mangled-name='input_mt_destroy_slots' filepath='include/linux/input/mt.h' line='81' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='input_mt_destroy_slots'>
+        <parameter type-id='type-id-2078'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='input_allocate_device' mangled-name='input_allocate_device' filepath='drivers/input/input.c' line='1796' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='input_allocate_device'>
+        <return type-id='type-id-2078'/>
+      </function-decl>
+      <function-decl name='input_event' mangled-name='input_event' filepath='drivers/input/input.c' line='435' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='input_event'>
+        <parameter type-id='type-id-2078' name='dev' filepath='drivers/input/input.c' line='435' column='1'/>
+        <parameter type-id='type-id-10' name='type' filepath='drivers/input/input.c' line='436' column='1'/>
+        <parameter type-id='type-id-10' name='code' filepath='drivers/input/input.c' line='436' column='1'/>
+        <parameter type-id='type-id-11' name='value' filepath='drivers/input/input.c' line='436' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='input_alloc_absinfo' mangled-name='input_alloc_absinfo' filepath='drivers/input/input.c' line='488' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='input_alloc_absinfo'>
+        <parameter type-id='type-id-2078' name='dev' filepath='drivers/input/input.c' line='488' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='input_set_abs_params' mangled-name='input_set_abs_params' filepath='drivers/input/input.c' line='506' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='input_set_abs_params'>
+        <parameter type-id='type-id-2078' name='dev' filepath='drivers/input/input.c' line='506' column='1'/>
+        <parameter type-id='type-id-10' name='axis' filepath='drivers/input/input.c' line='506' column='1'/>
+        <parameter type-id='type-id-11' name='min' filepath='drivers/input/input.c' line='507' column='1'/>
+        <parameter type-id='type-id-11' name='max' filepath='drivers/input/input.c' line='507' column='1'/>
+        <parameter type-id='type-id-11' name='fuzz' filepath='drivers/input/input.c' line='507' column='1'/>
+        <parameter type-id='type-id-11' name='flat' filepath='drivers/input/input.c' line='507' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='devm_input_allocate_device' mangled-name='devm_input_allocate_device' filepath='drivers/input/input.c' line='1861' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_input_allocate_device'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/input/input.c' line='1861' column='1'/>
+        <return type-id='type-id-2078'/>
+      </function-decl>
+      <function-decl name='input_free_device' mangled-name='input_free_device' filepath='drivers/input/input.c' line='1901' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='input_free_device'>
+        <parameter type-id='type-id-2078' name='dev' filepath='drivers/input/input.c' line='1901' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='input_set_timestamp' mangled-name='input_set_timestamp' filepath='drivers/input/input.c' line='1928' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='input_set_timestamp'>
+        <parameter type-id='type-id-2078' name='dev' filepath='drivers/input/input.c' line='1928' column='1'/>
+        <parameter type-id='type-id-585' name='timestamp' filepath='drivers/input/input.c' line='1928' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='input_set_capability' mangled-name='input_set_capability' filepath='drivers/input/input.c' line='1963' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='input_set_capability'>
+        <parameter type-id='type-id-2078' name='dev' filepath='drivers/input/input.c' line='1963' column='1'/>
+        <parameter type-id='type-id-10' name='type' filepath='drivers/input/input.c' line='1963' column='1'/>
+        <parameter type-id='type-id-10' name='code' filepath='drivers/input/input.c' line='1963' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='input_register_device' mangled-name='input_register_device' filepath='drivers/input/input.c' line='2139' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='input_register_device'>
+        <parameter type-id='type-id-2078' name='dev' filepath='drivers/input/input.c' line='2139' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='input_unregister_device' mangled-name='input_unregister_device' filepath='drivers/input/input.c' line='2243' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='input_unregister_device'>
+        <parameter type-id='type-id-2078' name='dev' filepath='drivers/input/input.c' line='2243' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/iommu/arm-smmu.c' language='LANG_C89'>
+      <class-decl name='of_phandle_iterator' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/of.h' line='82' column='1' id='type-id-2082'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cells_name' type-id='type-id-24' visibility='default' filepath='include/linux/of.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='cell_count' type-id='type-id-11' visibility='default' filepath='include/linux/of.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='parent' type-id='type-id-80' visibility='default' filepath='include/linux/of.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='list_end' type-id='type-id-2083' visibility='default' filepath='include/linux/of.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='phandle_end' type-id='type-id-2083' visibility='default' filepath='include/linux/of.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='cur' type-id='type-id-2083' visibility='default' filepath='include/linux/of.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='cur_count' type-id='type-id-193' visibility='default' filepath='include/linux/of.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='phandle' type-id='type-id-2084' visibility='default' filepath='include/linux/of.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='node' type-id='type-id-81' visibility='default' filepath='include/linux/of.h' line='96' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-2085' const='yes' id='type-id-2086'/>
+      <pointer-type-def type-id='type-id-2086' size-in-bits='64' id='type-id-2083'/>
+      <pointer-type-def type-id='type-id-2082' size-in-bits='64' id='type-id-2087'/>
+      <function-decl name='driver_for_each_device' mangled-name='driver_for_each_device' filepath='include/linux/device.h' line='349' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='driver_for_each_device'>
+        <parameter type-id='type-id-621'/>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-1930'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='of_phandle_iterator_args' mangled-name='of_phandle_iterator_args' filepath='include/linux/of.h' line='393' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_phandle_iterator_args'>
+        <parameter type-id='type-id-2087'/>
+        <parameter type-id='type-id-72'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='of_phandle_iterator_init' mangled-name='of_phandle_iterator_init' filepath='include/linux/of.h' line='386' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_phandle_iterator_init'>
+        <parameter type-id='type-id-2087'/>
+        <parameter type-id='type-id-80'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='of_phandle_iterator_next' mangled-name='of_phandle_iterator_next' filepath='include/linux/of.h' line='392' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_phandle_iterator_next'>
+        <parameter type-id='type-id-2087'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='driver_find_device' mangled-name='driver_find_device' filepath='include/linux/device.h' line='354' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='driver_find_device'>
+        <parameter type-id='type-id-621'/>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-1930'/>
+        <return type-id='type-id-86'/>
+      </function-decl>
+      <function-decl name='of_dma_is_coherent' mangled-name='of_dma_is_coherent' filepath='include/linux/of_address.h' line='60' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_dma_is_coherent'>
+        <parameter type-id='type-id-81'/>
+        <return type-id='type-id-264'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/iommu/dma-iommu.c' language='LANG_C89'>
+      <function-decl name='iommu_put_dma_cookie' mangled-name='iommu_put_dma_cookie' filepath='drivers/iommu/dma-iommu.c' line='144' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iommu_put_dma_cookie'>
+        <parameter type-id='type-id-227' name='domain' filepath='drivers/iommu/dma-iommu.c' line='144' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='iommu_dma_get_resv_regions' mangled-name='iommu_dma_get_resv_regions' filepath='drivers/iommu/dma-iommu.c' line='174' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iommu_dma_get_resv_regions'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/iommu/dma-iommu.c' line='174' column='1'/>
+        <parameter type-id='type-id-262' name='list' filepath='drivers/iommu/dma-iommu.c' line='174' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/iommu/io-pgtable.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-9' size-in-bits='64' id='type-id-2088'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+      </array-type-def>
+      <class-decl name='io_pgtable_ops' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/io-pgtable.h' line='119' column='1' id='type-id-2089'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='map' type-id='type-id-2090' visibility='default' filepath='include/linux/io-pgtable.h' line='120' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='unmap' type-id='type-id-2091' visibility='default' filepath='include/linux/io-pgtable.h' line='122' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='iova_to_phys' type-id='type-id-2092' visibility='default' filepath='include/linux/io-pgtable.h' line='124' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='io_pgtable_fmt' filepath='include/linux/io-pgtable.h' line='9' column='1' id='type-id-2093'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='ARM_32_LPAE_S1' value='0'/>
+        <enumerator name='ARM_32_LPAE_S2' value='1'/>
+        <enumerator name='ARM_64_LPAE_S1' value='2'/>
+        <enumerator name='ARM_64_LPAE_S2' value='3'/>
+        <enumerator name='ARM_V7S' value='4'/>
+        <enumerator name='IO_PGTABLE_NUM_FMTS' value='5'/>
+      </enum-decl>
+      <class-decl name='io_pgtable_cfg' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/io-pgtable.h' line='50' column='1' id='type-id-2094'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='quirks' type-id='type-id-100' visibility='default' filepath='include/linux/io-pgtable.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='pgsize_bitmap' type-id='type-id-100' visibility='default' filepath='include/linux/io-pgtable.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='ias' type-id='type-id-10' visibility='default' filepath='include/linux/io-pgtable.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='oas' type-id='type-id-10' visibility='default' filepath='include/linux/io-pgtable.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='tlb' type-id='type-id-2095' visibility='default' filepath='include/linux/io-pgtable.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='iommu_dev' type-id='type-id-2096' visibility='default' filepath='include/linux/io-pgtable.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='' type-id='type-id-2097' visibility='default' filepath='include/linux/io-pgtable.h' line='88' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='iommu_gather_ops' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/io-pgtable.h' line='30' column='1' id='type-id-2098'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='tlb_flush_all' type-id='type-id-74' visibility='default' filepath='include/linux/io-pgtable.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='tlb_add_flush' type-id='type-id-2099' visibility='default' filepath='include/linux/io-pgtable.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='tlb_sync' type-id='type-id-74' visibility='default' filepath='include/linux/io-pgtable.h' line='34' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='include/linux/io-pgtable.h' line='88' column='1' id='type-id-2097'>
+        <data-member access='private'>
+          <var-decl name='arm_lpae_s1_cfg' type-id='type-id-2100' visibility='default' filepath='include/linux/io-pgtable.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='arm_lpae_s2_cfg' type-id='type-id-2101' visibility='default' filepath='include/linux/io-pgtable.h' line='98' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='arm_v7s_cfg' type-id='type-id-2102' visibility='default' filepath='include/linux/io-pgtable.h' line='105' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/io-pgtable.h' line='89' column='1' id='type-id-2100'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ttbr' type-id='type-id-2103' visibility='default' filepath='include/linux/io-pgtable.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='tcr' type-id='type-id-134' visibility='default' filepath='include/linux/io-pgtable.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='mair' type-id='type-id-2103' visibility='default' filepath='include/linux/io-pgtable.h' line='92' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__1' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/io-pgtable.h' line='95' column='1' id='type-id-2101'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='vttbr' type-id='type-id-134' visibility='default' filepath='include/linux/io-pgtable.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='vtcr' type-id='type-id-134' visibility='default' filepath='include/linux/io-pgtable.h' line='97' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__2' size-in-bits='160' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/io-pgtable.h' line='100' column='1' id='type-id-2102'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ttbr' type-id='type-id-2088' visibility='default' filepath='include/linux/io-pgtable.h' line='101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='tcr' type-id='type-id-9' visibility='default' filepath='include/linux/io-pgtable.h' line='102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='nmrr' type-id='type-id-9' visibility='default' filepath='include/linux/io-pgtable.h' line='103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='prrr' type-id='type-id-9' visibility='default' filepath='include/linux/io-pgtable.h' line='104' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-2098' const='yes' id='type-id-2104'/>
+      <pointer-type-def type-id='type-id-2104' size-in-bits='64' id='type-id-2095'/>
+      <pointer-type-def type-id='type-id-2105' size-in-bits='64' id='type-id-2090'/>
+      <pointer-type-def type-id='type-id-2094' size-in-bits='64' id='type-id-2106'/>
+      <pointer-type-def type-id='type-id-2089' size-in-bits='64' id='type-id-2107'/>
+      <pointer-type-def type-id='type-id-2108' size-in-bits='64' id='type-id-2092'/>
+      <pointer-type-def type-id='type-id-2109' size-in-bits='64' id='type-id-2091'/>
+      <pointer-type-def type-id='type-id-2110' size-in-bits='64' id='type-id-2099'/>
+      <function-decl name='alloc_io_pgtable_ops' mangled-name='alloc_io_pgtable_ops' filepath='drivers/iommu/io-pgtable.c' line='39' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='alloc_io_pgtable_ops'>
+        <parameter type-id='type-id-2093' name='fmt' filepath='drivers/iommu/io-pgtable.c' line='39' column='1'/>
+        <parameter type-id='type-id-2106' name='cfg' filepath='drivers/iommu/io-pgtable.c' line='40' column='1'/>
+        <parameter type-id='type-id-3' name='cookie' filepath='drivers/iommu/io-pgtable.c' line='41' column='1'/>
+        <return type-id='type-id-2107'/>
+      </function-decl>
+      <function-decl name='free_io_pgtable_ops' mangled-name='free_io_pgtable_ops' filepath='drivers/iommu/io-pgtable.c' line='69' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='free_io_pgtable_ops'>
+        <parameter type-id='type-id-2107' name='ops' filepath='drivers/iommu/io-pgtable.c' line='69' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-2105'>
+        <parameter type-id='type-id-2107'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-206'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2108'>
+        <parameter type-id='type-id-2107'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-206'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2109'>
+        <parameter type-id='type-id-2107'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-125'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2110'>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-211'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/iommu/iommu.c' language='LANG_C89'>
+      <class-decl name='iommu_device' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/iommu.h' line='244' column='1' id='type-id-2111'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/iommu.h' line='245' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='ops' type-id='type-id-200' visibility='default' filepath='include/linux/iommu.h' line='246' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='fwnode' type-id='type-id-575' visibility='default' filepath='include/linux/iommu.h' line='247' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/linux/iommu.h' line='248' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-2111' size-in-bits='64' id='type-id-2112'/>
+      <function-decl name='iommu_unmap' mangled-name='iommu_unmap' filepath='include/linux/iommu.h' line='298' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iommu_unmap'>
+        <parameter type-id='type-id-227'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+      <function-decl name='iommu_device_register' mangled-name='iommu_device_register' filepath='drivers/iommu/iommu.c' line='95' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iommu_device_register'>
+        <parameter type-id='type-id-2112' name='iommu' filepath='drivers/iommu/iommu.c' line='95' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='iommu_group_get_iommudata' mangled-name='iommu_group_get_iommudata' filepath='drivers/iommu/iommu.c' line='464' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iommu_group_get_iommudata'>
+        <parameter type-id='type-id-261' name='group' filepath='drivers/iommu/iommu.c' line='464' column='1'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='iommu_group_set_iommudata' mangled-name='iommu_group_set_iommudata' filepath='drivers/iommu/iommu.c' line='480' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iommu_group_set_iommudata'>
+        <parameter type-id='type-id-261' name='group' filepath='drivers/iommu/iommu.c' line='480' column='1'/>
+        <parameter type-id='type-id-3' name='iommu_data' filepath='drivers/iommu/iommu.c' line='480' column='1'/>
+        <parameter type-id='type-id-74' name='release' filepath='drivers/iommu/iommu.c' line='481' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='iommu_map' mangled-name='iommu_map' filepath='drivers/iommu/iommu.c' line='1548' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iommu_map'>
+        <parameter type-id='type-id-227' name='domain' filepath='drivers/iommu/iommu.c' line='1548' column='1'/>
+        <parameter type-id='type-id-100' name='iova' filepath='drivers/iommu/iommu.c' line='1548' column='1'/>
+        <parameter type-id='type-id-206' name='paddr' filepath='drivers/iommu/iommu.c' line='1549' column='1'/>
+        <parameter type-id='type-id-125' name='size' filepath='drivers/iommu/iommu.c' line='1549' column='1'/>
+        <parameter type-id='type-id-11' name='prot' filepath='drivers/iommu/iommu.c' line='1549' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='iommu_group_remove_device' mangled-name='iommu_group_remove_device' filepath='drivers/iommu/iommu.c' line='672' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iommu_group_remove_device'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/iommu/iommu.c' line='672' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='iommu_group_get' mangled-name='iommu_group_get' filepath='drivers/iommu/iommu.c' line='766' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iommu_group_get'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/iommu/iommu.c' line='766' column='1'/>
+        <return type-id='type-id-261'/>
+      </function-decl>
+      <function-decl name='iommu_group_ref_get' mangled-name='iommu_group_ref_get' filepath='drivers/iommu/iommu.c' line='784' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iommu_group_ref_get'>
+        <parameter type-id='type-id-261' name='group' filepath='drivers/iommu/iommu.c' line='784' column='1'/>
+        <return type-id='type-id-261'/>
+      </function-decl>
+      <function-decl name='iommu_group_put' mangled-name='iommu_group_put' filepath='drivers/iommu/iommu.c' line='797' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iommu_group_put'>
+        <parameter type-id='type-id-261' name='group' filepath='drivers/iommu/iommu.c' line='797' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='generic_device_group' mangled-name='generic_device_group' filepath='drivers/iommu/iommu.c' line='958' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='generic_device_group'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/iommu/iommu.c' line='958' column='1'/>
+        <return type-id='type-id-261'/>
+      </function-decl>
+      <function-decl name='pci_device_group' mangled-name='pci_device_group' filepath='drivers/iommu/iommu.c' line='967' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_device_group'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/iommu/iommu.c' line='967' column='1'/>
+        <return type-id='type-id-261'/>
+      </function-decl>
+      <function-decl name='iommu_group_get_for_dev' mangled-name='iommu_group_get_for_dev' filepath='drivers/iommu/iommu.c' line='1040' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iommu_group_get_for_dev'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/iommu/iommu.c' line='1040' column='1'/>
+        <return type-id='type-id-261'/>
+      </function-decl>
+      <function-decl name='bus_set_iommu' mangled-name='bus_set_iommu' filepath='drivers/iommu/iommu.c' line='1235' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bus_set_iommu'>
+        <parameter type-id='type-id-531' name='bus' filepath='drivers/iommu/iommu.c' line='1235' column='1'/>
+        <parameter type-id='type-id-200' name='ops' filepath='drivers/iommu/iommu.c' line='1235' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='iommu_present' mangled-name='iommu_present' filepath='drivers/iommu/iommu.c' line='1253' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iommu_present'>
+        <parameter type-id='type-id-531' name='bus' filepath='drivers/iommu/iommu.c' line='1253' column='1'/>
+        <return type-id='type-id-211'/>
+      </function-decl>
+      <function-decl name='iommu_set_fault_handler' mangled-name='iommu_set_fault_handler' filepath='drivers/iommu/iommu.c' line='1280' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iommu_set_fault_handler'>
+        <parameter type-id='type-id-227' name='domain' filepath='drivers/iommu/iommu.c' line='1280' column='1'/>
+        <parameter type-id='type-id-201' name='handler' filepath='drivers/iommu/iommu.c' line='1281' column='1'/>
+        <parameter type-id='type-id-3' name='token' filepath='drivers/iommu/iommu.c' line='1282' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='iommu_domain_alloc' mangled-name='iommu_domain_alloc' filepath='drivers/iommu/iommu.c' line='1311' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iommu_domain_alloc'>
+        <parameter type-id='type-id-531' name='bus' filepath='drivers/iommu/iommu.c' line='1311' column='1'/>
+        <return type-id='type-id-227'/>
+      </function-decl>
+      <function-decl name='iommu_domain_free' mangled-name='iommu_domain_free' filepath='drivers/iommu/iommu.c' line='1317' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iommu_domain_free'>
+        <parameter type-id='type-id-227' name='domain' filepath='drivers/iommu/iommu.c' line='1317' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='iommu_attach_device' mangled-name='iommu_attach_device' filepath='drivers/iommu/iommu.c' line='1340' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iommu_attach_device'>
+        <parameter type-id='type-id-227' name='domain' filepath='drivers/iommu/iommu.c' line='1340' column='1'/>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/iommu/iommu.c' line='1340' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='iommu_detach_device' mangled-name='iommu_detach_device' filepath='drivers/iommu/iommu.c' line='1382' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iommu_detach_device'>
+        <parameter type-id='type-id-227' name='domain' filepath='drivers/iommu/iommu.c' line='1382' column='1'/>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/iommu/iommu.c' line='1382' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='iommu_map_sg' mangled-name='iommu_map_sg' filepath='drivers/iommu/iommu.c' line='1679' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iommu_map_sg'>
+        <parameter type-id='type-id-227' name='domain' filepath='drivers/iommu/iommu.c' line='1679' column='1'/>
+        <parameter type-id='type-id-100' name='iova' filepath='drivers/iommu/iommu.c' line='1679' column='1'/>
+        <parameter type-id='type-id-33' name='sg' filepath='drivers/iommu/iommu.c' line='1680' column='1'/>
+        <parameter type-id='type-id-10' name='nents' filepath='drivers/iommu/iommu.c' line='1680' column='1'/>
+        <parameter type-id='type-id-11' name='prot' filepath='drivers/iommu/iommu.c' line='1680' column='1'/>
+        <return type-id='type-id-125'/>
+      </function-decl>
+      <function-decl name='report_iommu_fault' mangled-name='report_iommu_fault' filepath='drivers/iommu/iommu.c' line='1766' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='report_iommu_fault'>
+        <parameter type-id='type-id-227' name='domain' filepath='drivers/iommu/iommu.c' line='1766' column='1'/>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/iommu/iommu.c' line='1766' column='1'/>
+        <parameter type-id='type-id-100' name='iova' filepath='drivers/iommu/iommu.c' line='1767' column='1'/>
+        <parameter type-id='type-id-11' name='flags' filepath='drivers/iommu/iommu.c' line='1767' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='iommu_domain_get_attr' mangled-name='iommu_domain_get_attr' filepath='drivers/iommu/iommu.c' line='1796' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iommu_domain_get_attr'>
+        <parameter type-id='type-id-227' name='domain' filepath='drivers/iommu/iommu.c' line='1796' column='1'/>
+        <parameter type-id='type-id-204' name='attr' filepath='drivers/iommu/iommu.c' line='1797' column='1'/>
+        <parameter type-id='type-id-3' name='data' filepath='drivers/iommu/iommu.c' line='1797' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='iommu_domain_set_attr' mangled-name='iommu_domain_set_attr' filepath='drivers/iommu/iommu.c' line='1834' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iommu_domain_set_attr'>
+        <parameter type-id='type-id-227' name='domain' filepath='drivers/iommu/iommu.c' line='1834' column='1'/>
+        <parameter type-id='type-id-204' name='attr' filepath='drivers/iommu/iommu.c' line='1835' column='1'/>
+        <parameter type-id='type-id-3' name='data' filepath='drivers/iommu/iommu.c' line='1835' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='iommu_alloc_resv_region' mangled-name='iommu_alloc_resv_region' filepath='drivers/iommu/iommu.c' line='1877' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iommu_alloc_resv_region'>
+        <parameter type-id='type-id-206' name='start' filepath='drivers/iommu/iommu.c' line='1877' column='1'/>
+        <parameter type-id='type-id-125' name='length' filepath='drivers/iommu/iommu.c' line='1878' column='1'/>
+        <parameter type-id='type-id-11' name='prot' filepath='drivers/iommu/iommu.c' line='1878' column='1'/>
+        <parameter type-id='type-id-207' name='type' filepath='drivers/iommu/iommu.c' line='1879' column='1'/>
+        <return type-id='type-id-232'/>
+      </function-decl>
+      <function-decl name='iommu_fwspec_init' mangled-name='iommu_fwspec_init' filepath='drivers/iommu/iommu.c' line='1963' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iommu_fwspec_init'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/iommu/iommu.c' line='1963' column='1'/>
+        <parameter type-id='type-id-575' name='iommu_fwnode' filepath='drivers/iommu/iommu.c' line='1963' column='1'/>
+        <parameter type-id='type-id-200' name='ops' filepath='drivers/iommu/iommu.c' line='1964' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='iommu_fwspec_free' mangled-name='iommu_fwspec_free' filepath='drivers/iommu/iommu.c' line='1983' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iommu_fwspec_free'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/iommu/iommu.c' line='1983' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='iommu_fwspec_add_ids' mangled-name='iommu_fwspec_add_ids' filepath='drivers/iommu/iommu.c' line='1995' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iommu_fwspec_add_ids'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/iommu/iommu.c' line='1995' column='1'/>
+        <parameter type-id='type-id-347' name='ids' filepath='drivers/iommu/iommu.c' line='1995' column='1'/>
+        <parameter type-id='type-id-11' name='num_ids' filepath='drivers/iommu/iommu.c' line='1995' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/irqchip/irq-gic-v3-its-pci-msi.c' language='LANG_C89'>
+      <pointer-type-def type-id='type-id-2113' size-in-bits='64' id='type-id-2114'/>
+      <function-decl name='pci_for_each_dma_alias' mangled-name='pci_for_each_dma_alias' filepath='include/linux/pci.h' line='2272' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_for_each_dma_alias'>
+        <parameter type-id='type-id-302'/>
+        <parameter type-id='type-id-2114'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-2113'>
+        <parameter type-id='type-id-302'/>
+        <parameter type-id='type-id-288'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/irqchip/irq-gic-v3-its-platform-msi.c' language='LANG_C89'>
+      <function-decl name='of_parse_phandle_with_args' mangled-name='of_parse_phandle_with_args' filepath='include/linux/of.h' line='373' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_parse_phandle_with_args'>
+        <parameter type-id='type-id-80'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-233'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/irqchip/irq-gic-v3-its.c' language='LANG_C89'>
+      <function-decl name='of_device_is_available' mangled-name='of_device_is_available' filepath='include/linux/of.h' line='355' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_device_is_available'>
+        <parameter type-id='type-id-80'/>
+        <return type-id='type-id-264'/>
+      </function-decl>
+      <function-decl name='fwnode_property_read_u32_array' mangled-name='fwnode_property_read_u32_array' filepath='include/linux/property.h' line='63' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fwnode_property_read_u32_array'>
+        <parameter type-id='type-id-624'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-72'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/irqchip/irq-gic-v3-mbi.c' language='LANG_C89'>
+      <pointer-type-def type-id='type-id-1030' size-in-bits='64' id='type-id-835'/>
+      <function-decl name='of_translate_address' mangled-name='of_translate_address' filepath='include/linux/of_address.h' line='33' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_translate_address'>
+        <parameter type-id='type-id-81'/>
+        <parameter type-id='type-id-835'/>
+        <return type-id='type-id-177'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/irqchip/irq-gic-v3.c' language='LANG_C89'>
+      <function-decl name='of_get_next_child' mangled-name='of_get_next_child' filepath='include/linux/of.h' line='296' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_get_next_child'>
+        <parameter type-id='type-id-80'/>
+        <parameter type-id='type-id-81'/>
         <return type-id='type-id-81'/>
       </function-decl>
-      <function-decl name='__rcu_read_unlock' mangled-name='__rcu_read_unlock' filepath='kernel/rcu/tree_plugin.h' line='417' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__rcu_read_unlock'>
-        <return type-id='type-id-81'/>
+      <function-decl name='of_property_count_elems_of_size' mangled-name='of_property_count_elems_of_size' filepath='include/linux/of.h' line='315' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_property_count_elems_of_size'>
+        <parameter type-id='type-id-80'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
       </function-decl>
-      <function-decl name='rcu_barrier' mangled-name='rcu_barrier' filepath='kernel/rcu/tree_plugin.h' line='832' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_barrier'>
+      <function-decl name='of_property_read_u32_index' mangled-name='of_property_read_u32_index' filepath='include/linux/of.h' line='317' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_property_read_u32_index'>
+        <parameter type-id='type-id-80'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-72'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='of_find_node_by_phandle' mangled-name='of_find_node_by_phandle' filepath='include/linux/of.h' line='293' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_find_node_by_phandle'>
+        <parameter type-id='type-id-10'/>
         <return type-id='type-id-81'/>
       </function-decl>
     </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='lib/string.c' language='LANG_C89'>
-      <function-decl name='strcpy' mangled-name='strcpy' filepath='lib/string.c' line='88' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strcpy'>
-        <parameter type-id='type-id-2' name='dest' filepath='lib/string.c' line='88' column='1'/>
-        <parameter type-id='type-id-4' name='src' filepath='lib/string.c' line='88' column='1'/>
-        <return type-id='type-id-2'/>
+    <abi-instr version='1.0' address-size='64' path='drivers/irqchip/irq-gic.c' language='LANG_C89'>
+      <function-decl name='irq_of_parse_and_map' mangled-name='irq_of_parse_and_map' filepath='include/linux/of_irq.h' line='109' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_of_parse_and_map'>
+        <parameter type-id='type-id-81'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-10'/>
       </function-decl>
-      <function-decl name='strncpy' mangled-name='strncpy' filepath='lib/string.c' line='113' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strncpy'>
-        <parameter type-id='type-id-2' name='dest' filepath='lib/string.c' line='113' column='1'/>
-        <parameter type-id='type-id-4' name='src' filepath='lib/string.c' line='113' column='1'/>
-        <parameter type-id='type-id-84' name='count' filepath='lib/string.c' line='113' column='1'/>
-        <return type-id='type-id-2'/>
+      <function-decl name='of_iomap' mangled-name='of_iomap' filepath='include/linux/of_address.h' line='122' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_iomap'>
+        <parameter type-id='type-id-81'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-3'/>
       </function-decl>
-      <function-decl name='strlcpy' mangled-name='strlcpy' filepath='lib/string.c' line='140' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strlcpy'>
-        <parameter type-id='type-id-2' name='dest' filepath='lib/string.c' line='140' column='1'/>
-        <parameter type-id='type-id-4' name='src' filepath='lib/string.c' line='140' column='1'/>
-        <parameter type-id='type-id-84' name='size' filepath='lib/string.c' line='140' column='1'/>
-        <return type-id='type-id-16'/>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/irqchip/irq-mbigen.c' language='LANG_C89'>
+      <function-decl name='of_platform_device_create' mangled-name='of_platform_device_create' filepath='include/linux/of_platform.h' line='65' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_platform_device_create'>
+        <parameter type-id='type-id-81'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-86'/>
+        <return type-id='type-id-568'/>
       </function-decl>
-      <function-decl name='__sysfs_match_string' mangled-name='__sysfs_match_string' filepath='lib/string.c' line='669' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__sysfs_match_string'>
-        <parameter type-id='type-id-92' name='array' filepath='lib/string.c' line='669' column='1'/>
-        <parameter type-id='type-id-84' name='n' filepath='lib/string.c' line='669' column='1'/>
-        <parameter type-id='type-id-4' name='str' filepath='lib/string.c' line='669' column='1'/>
-        <return type-id='type-id-17'/>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/leds/led-class.c' language='LANG_C89'>
+      <function-decl name='devm_of_led_classdev_register' mangled-name='devm_of_led_classdev_register' filepath='drivers/leds/led-class.c' line='366' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_of_led_classdev_register'>
+        <parameter type-id='type-id-86' name='parent' filepath='drivers/leds/led-class.c' line='366' column='1'/>
+        <parameter type-id='type-id-782' name='np' filepath='drivers/leds/led-class.c' line='367' column='1'/>
+        <parameter type-id='type-id-2075' name='led_cdev' filepath='drivers/leds/led-class.c' line='368' column='1'/>
+        <return type-id='type-id-11'/>
       </function-decl>
-      <function-decl name='memzero_explicit' mangled-name='memzero_explicit' filepath='lib/string.c' line='720' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='memzero_explicit'>
-        <parameter type-id='type-id-15' name='s' filepath='lib/string.c' line='720' column='1'/>
-        <parameter type-id='type-id-84' name='count' filepath='lib/string.c' line='720' column='1'/>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/mailbox/mailbox.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='1280' id='type-id-2115'>
+        <subrange length='20' type-id='type-id-5' id='type-id-2116'/>
+
+      </array-type-def>
+      <class-decl name='mbox_controller' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/linux/mailbox_controller.h' line='74' column='1' id='type-id-2117'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/linux/mailbox_controller.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ops' type-id='type-id-2118' visibility='default' filepath='include/linux/mailbox_controller.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='chans' type-id='type-id-837' visibility='default' filepath='include/linux/mailbox_controller.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='num_chans' type-id='type-id-11' visibility='default' filepath='include/linux/mailbox_controller.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='txdone_irq' type-id='type-id-211' visibility='default' filepath='include/linux/mailbox_controller.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='232'>
+          <var-decl name='txdone_poll' type-id='type-id-211' visibility='default' filepath='include/linux/mailbox_controller.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='txpoll_period' type-id='type-id-10' visibility='default' filepath='include/linux/mailbox_controller.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='of_xlate' type-id='type-id-2119' visibility='default' filepath='include/linux/mailbox_controller.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='poll_hrt' type-id='type-id-2120' visibility='default' filepath='include/linux/mailbox_controller.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='node' type-id='type-id-8' visibility='default' filepath='include/linux/mailbox_controller.h' line='86' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='mbox_chan_ops' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/mailbox_controller.h' line='47' column='1' id='type-id-2121'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='send_data' type-id='type-id-2122' visibility='default' filepath='include/linux/mailbox_controller.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='startup' type-id='type-id-2123' visibility='default' filepath='include/linux/mailbox_controller.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='shutdown' type-id='type-id-2124' visibility='default' filepath='include/linux/mailbox_controller.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='last_tx_done' type-id='type-id-2125' visibility='default' filepath='include/linux/mailbox_controller.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='peek_data' type-id='type-id-2125' visibility='default' filepath='include/linux/mailbox_controller.h' line='52' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-2121' const='yes' id='type-id-2126'/>
+      <pointer-type-def type-id='type-id-2126' size-in-bits='64' id='type-id-2118'/>
+      <pointer-type-def type-id='type-id-2127' size-in-bits='64' id='type-id-2123'/>
+      <pointer-type-def type-id='type-id-2128' size-in-bits='64' id='type-id-2122'/>
+      <pointer-type-def type-id='type-id-2129' size-in-bits='64' id='type-id-2119'/>
+      <pointer-type-def type-id='type-id-2117' size-in-bits='64' id='type-id-2130'/>
+      <pointer-type-def type-id='type-id-2131' size-in-bits='64' id='type-id-2125'/>
+      <pointer-type-def type-id='type-id-2132' size-in-bits='64' id='type-id-2124'/>
+      <function-decl name='mbox_chan_received_data' mangled-name='mbox_chan_received_data' filepath='drivers/mailbox/mailbox.c' line='153' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mbox_chan_received_data'>
+        <parameter type-id='type-id-837' name='chan' filepath='drivers/mailbox/mailbox.c' line='153' column='1'/>
+        <parameter type-id='type-id-3' name='mssg' filepath='drivers/mailbox/mailbox.c' line='153' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='mbox_chan_txdone' mangled-name='mbox_chan_txdone' filepath='drivers/mailbox/mailbox.c' line='171' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mbox_chan_txdone'>
+        <parameter type-id='type-id-837' name='chan' filepath='drivers/mailbox/mailbox.c' line='171' column='1'/>
+        <parameter type-id='type-id-11' name='r' filepath='drivers/mailbox/mailbox.c' line='171' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='mbox_controller_register' mangled-name='mbox_controller_register' filepath='drivers/mailbox/mailbox.c' line='449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mbox_controller_register'>
+        <parameter type-id='type-id-2130' name='mbox' filepath='drivers/mailbox/mailbox.c' line='449' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='mbox_controller_unregister' mangled-name='mbox_controller_unregister' filepath='drivers/mailbox/mailbox.c' line='500' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mbox_controller_unregister'>
+        <parameter type-id='type-id-2130' name='mbox' filepath='drivers/mailbox/mailbox.c' line='500' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-2127'>
+        <parameter type-id='type-id-837'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2128'>
+        <parameter type-id='type-id-837'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2129'>
+        <parameter type-id='type-id-2130'/>
+        <parameter type-id='type-id-2057'/>
+        <return type-id='type-id-837'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2131'>
+        <parameter type-id='type-id-837'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2132'>
+        <parameter type-id='type-id-837'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/md/dm-table.c' language='LANG_C89'>
+      <class-decl name='dax_device' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-2133'/>
+      <class-decl name='dm_md_mempools' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-2134'/>
+      <class-decl name='dm_stats_last_position' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-2135'/>
+      <array-type-def dimensions='1' type-id='type-id-2136' size-in-bits='1024' id='type-id-2137'>
+        <subrange length='16' type-id='type-id-5' id='type-id-195'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='512' id='type-id-2138'>
+        <subrange length='16' type-id='type-id-5' id='type-id-195'/>
+
+      </array-type-def>
+      <class-decl name='dm_target' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/linux/device-mapper.h' line='244' column='1' id='type-id-2139'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='table' type-id='type-id-2140' visibility='default' filepath='include/linux/device-mapper.h' line='245' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='type' type-id='type-id-2141' visibility='default' filepath='include/linux/device-mapper.h' line='246' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='begin' type-id='type-id-2142' visibility='default' filepath='include/linux/device-mapper.h' line='249' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='len' type-id='type-id-2142' visibility='default' filepath='include/linux/device-mapper.h' line='250' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='max_io_len' type-id='type-id-193' visibility='default' filepath='include/linux/device-mapper.h' line='253' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='num_flush_bios' type-id='type-id-10' visibility='default' filepath='include/linux/device-mapper.h' line='263' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='num_discard_bios' type-id='type-id-10' visibility='default' filepath='include/linux/device-mapper.h' line='269' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='num_secure_erase_bios' type-id='type-id-10' visibility='default' filepath='include/linux/device-mapper.h' line='275' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='num_write_same_bios' type-id='type-id-10' visibility='default' filepath='include/linux/device-mapper.h' line='281' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='num_write_zeroes_bios' type-id='type-id-10' visibility='default' filepath='include/linux/device-mapper.h' line='287' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='per_io_data_size' type-id='type-id-10' visibility='default' filepath='include/linux/device-mapper.h' line='293' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='private' type-id='type-id-3' visibility='default' filepath='include/linux/device-mapper.h' line='296' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='error' type-id='type-id-300' visibility='default' filepath='include/linux/device-mapper.h' line='299' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7'>
+          <var-decl name='flush_supported' type-id='type-id-211' visibility='default' filepath='include/linux/device-mapper.h' line='305' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6'>
+          <var-decl name='discards_supported' type-id='type-id-211' visibility='default' filepath='include/linux/device-mapper.h' line='311' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5'>
+          <var-decl name='split_discard_bios' type-id='type-id-211' visibility='default' filepath='include/linux/device-mapper.h' line='317' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4'>
+          <var-decl name='may_passthrough_inline_crypto' type-id='type-id-211' visibility='default' filepath='include/linux/device-mapper.h' line='323' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='dm_table' size-in-bits='2432' is-struct='yes' visibility='default' filepath='drivers/md/dm-table.c' line='34' column='1' id='type-id-2143'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='md' type-id='type-id-2144' visibility='default' filepath='drivers/md/dm-table.c' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='type' type-id='type-id-2145' visibility='default' filepath='drivers/md/dm-table.c' line='36' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='depth' type-id='type-id-10' visibility='default' filepath='drivers/md/dm-table.c' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='counts' type-id='type-id-2138' visibility='default' filepath='drivers/md/dm-table.c' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='index' type-id='type-id-2137' visibility='default' filepath='drivers/md/dm-table.c' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='num_targets' type-id='type-id-10' visibility='default' filepath='drivers/md/dm-table.c' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1696'>
+          <var-decl name='num_allocated' type-id='type-id-10' visibility='default' filepath='drivers/md/dm-table.c' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='highs' type-id='type-id-2136' visibility='default' filepath='drivers/md/dm-table.c' line='45' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='targets' type-id='type-id-2146' visibility='default' filepath='drivers/md/dm-table.c' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='immutable_target_type' type-id='type-id-2141' visibility='default' filepath='drivers/md/dm-table.c' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7'>
+          <var-decl name='integrity_supported' type-id='type-id-211' visibility='default' filepath='drivers/md/dm-table.c' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6'>
+          <var-decl name='singleton' type-id='type-id-211' visibility='default' filepath='drivers/md/dm-table.c' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5'>
+          <var-decl name='all_blk_mq' type-id='type-id-211' visibility='default' filepath='drivers/md/dm-table.c' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='28'>
+          <var-decl name='integrity_added' type-id='type-id-10' visibility='default' filepath='drivers/md/dm-table.c' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1952'>
+          <var-decl name='mode' type-id='type-id-2147' visibility='default' filepath='drivers/md/dm-table.c' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='devices' type-id='type-id-8' visibility='default' filepath='drivers/md/dm-table.c' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='event_fn' type-id='type-id-74' visibility='default' filepath='drivers/md/dm-table.c' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='event_context' type-id='type-id-3' visibility='default' filepath='drivers/md/dm-table.c' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='mempools' type-id='type-id-2148' visibility='default' filepath='drivers/md/dm-table.c' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='target_callbacks' type-id='type-id-8' visibility='default' filepath='drivers/md/dm-table.c' line='71' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='mapped_device' size-in-bits='14976' is-struct='yes' visibility='default' filepath='drivers/md/dm-core.h' line='31' column='1' id='type-id-2149'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='suspend_lock' type-id='type-id-407' visibility='default' filepath='drivers/md/dm-core.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='table_devices_lock' type-id='type-id-407' visibility='default' filepath='drivers/md/dm-core.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='table_devices' type-id='type-id-8' visibility='default' filepath='drivers/md/dm-core.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='map' type-id='type-id-3' visibility='default' filepath='drivers/md/dm-core.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='drivers/md/dm-core.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='type_lock' type-id='type-id-407' visibility='default' filepath='drivers/md/dm-core.h' line='47' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='type' type-id='type-id-2145' visibility='default' filepath='drivers/md/dm-core.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1056'>
+          <var-decl name='numa_node_id' type-id='type-id-11' visibility='default' filepath='drivers/md/dm-core.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='queue' type-id='type-id-268' visibility='default' filepath='drivers/md/dm-core.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='holders' type-id='type-id-137' visibility='default' filepath='drivers/md/dm-core.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1184'>
+          <var-decl name='open_count' type-id='type-id-137' visibility='default' filepath='drivers/md/dm-core.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='immutable_target' type-id='type-id-2146' visibility='default' filepath='drivers/md/dm-core.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='immutable_target_type' type-id='type-id-2141' visibility='default' filepath='drivers/md/dm-core.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='name' type-id='type-id-847' visibility='default' filepath='drivers/md/dm-core.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='disk' type-id='type-id-270' visibility='default' filepath='drivers/md/dm-core.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='dax_dev' type-id='type-id-2150' visibility='default' filepath='drivers/md/dm-core.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='work' type-id='type-id-149' visibility='default' filepath='drivers/md/dm-core.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='wait' type-id='type-id-388' visibility='default' filepath='drivers/md/dm-core.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='pending' type-id='type-id-2151' visibility='default' filepath='drivers/md/dm-core.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='deferred_lock' type-id='type-id-106' visibility='default' filepath='drivers/md/dm-core.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='deferred' type-id='type-id-2152' visibility='default' filepath='drivers/md/dm-core.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='interface_ptr' type-id='type-id-3' visibility='default' filepath='drivers/md/dm-core.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='eventq' type-id='type-id-388' visibility='default' filepath='drivers/md/dm-core.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='event_nr' type-id='type-id-137' visibility='default' filepath='drivers/md/dm-core.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2592'>
+          <var-decl name='uevent_seq' type-id='type-id-137' visibility='default' filepath='drivers/md/dm-core.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2624'>
+          <var-decl name='uevent_list' type-id='type-id-8' visibility='default' filepath='drivers/md/dm-core.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2752'>
+          <var-decl name='uevent_lock' type-id='type-id-106' visibility='default' filepath='drivers/md/dm-core.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2784'>
+          <var-decl name='internal_suspend_count' type-id='type-id-10' visibility='default' filepath='drivers/md/dm-core.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2816'>
+          <var-decl name='io_bs' type-id='type-id-2153' visibility='default' filepath='drivers/md/dm-core.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4608'>
+          <var-decl name='bs' type-id='type-id-2153' visibility='default' filepath='drivers/md/dm-core.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6400'>
+          <var-decl name='wq' type-id='type-id-2154' visibility='default' filepath='drivers/md/dm-core.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6464'>
+          <var-decl name='frozen_sb' type-id='type-id-2155' visibility='default' filepath='drivers/md/dm-core.h' line='100' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6528'>
+          <var-decl name='geometry' type-id='type-id-2156' visibility='default' filepath='drivers/md/dm-core.h' line='103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6656'>
+          <var-decl name='kobj_holder' type-id='type-id-2157' visibility='default' filepath='drivers/md/dm-core.h' line='106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7424'>
+          <var-decl name='bdev' type-id='type-id-2158' visibility='default' filepath='drivers/md/dm-core.h' line='108' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7488'>
+          <var-decl name='flush_bio' type-id='type-id-2159' visibility='default' filepath='drivers/md/dm-core.h' line='111' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8768'>
+          <var-decl name='stats' type-id='type-id-2160' visibility='default' filepath='drivers/md/dm-core.h' line='113' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9344'>
+          <var-decl name='kworker' type-id='type-id-659' visibility='default' filepath='drivers/md/dm-core.h' line='115' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9792'>
+          <var-decl name='kworker_task' type-id='type-id-118' visibility='default' filepath='drivers/md/dm-core.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9856'>
+          <var-decl name='seq_rq_merge_deadline_usecs' type-id='type-id-10' visibility='default' filepath='drivers/md/dm-core.h' line='119' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9888'>
+          <var-decl name='last_rq_rw' type-id='type-id-11' visibility='default' filepath='drivers/md/dm-core.h' line='120' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9920'>
+          <var-decl name='last_rq_pos' type-id='type-id-2142' visibility='default' filepath='drivers/md/dm-core.h' line='121' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9984'>
+          <var-decl name='last_rq_start_time' type-id='type-id-585' visibility='default' filepath='drivers/md/dm-core.h' line='122' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10048'>
+          <var-decl name='tag_set' type-id='type-id-349' visibility='default' filepath='drivers/md/dm-core.h' line='125' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7'>
+          <var-decl name='use_blk_mq' type-id='type-id-211' visibility='default' filepath='drivers/md/dm-core.h' line='126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6'>
+          <var-decl name='init_tio_pdu' type-id='type-id-211' visibility='default' filepath='drivers/md/dm-core.h' line='127' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10176'>
+          <var-decl name='io_barrier' type-id='type-id-354' visibility='default' filepath='drivers/md/dm-core.h' line='129' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='dm_queue_mode' filepath='include/linux/device-mapper.h' line='25' column='1' id='type-id-2145'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='DM_TYPE_NONE' value='0'/>
+        <enumerator name='DM_TYPE_BIO_BASED' value='1'/>
+        <enumerator name='DM_TYPE_REQUEST_BASED' value='2'/>
+        <enumerator name='DM_TYPE_MQ_REQUEST_BASED' value='3'/>
+        <enumerator name='DM_TYPE_DAX_BIO_BASED' value='4'/>
+        <enumerator name='DM_TYPE_NVME_BIO_BASED' value='5'/>
+      </enum-decl>
+      <class-decl name='target_type' size-in-bits='1792' is-struct='yes' visibility='default' filepath='include/linux/device-mapper.h' line='164' column='1' id='type-id-2161'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='features' type-id='type-id-1150' visibility='default' filepath='include/linux/device-mapper.h' line='165' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/device-mapper.h' line='166' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='module' type-id='type-id-19' visibility='default' filepath='include/linux/device-mapper.h' line='167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='version' type-id='type-id-2162' visibility='default' filepath='include/linux/device-mapper.h' line='168' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='ctr' type-id='type-id-2163' visibility='default' filepath='include/linux/device-mapper.h' line='169' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='dtr' type-id='type-id-2164' visibility='default' filepath='include/linux/device-mapper.h' line='170' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='map' type-id='type-id-2165' visibility='default' filepath='include/linux/device-mapper.h' line='171' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='clone_and_map_rq' type-id='type-id-2166' visibility='default' filepath='include/linux/device-mapper.h' line='172' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='release_clone_rq' type-id='type-id-2167' visibility='default' filepath='include/linux/device-mapper.h' line='173' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='end_io' type-id='type-id-2168' visibility='default' filepath='include/linux/device-mapper.h' line='174' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='rq_end_io' type-id='type-id-2169' visibility='default' filepath='include/linux/device-mapper.h' line='175' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='presuspend' type-id='type-id-2170' visibility='default' filepath='include/linux/device-mapper.h' line='176' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='presuspend_undo' type-id='type-id-2171' visibility='default' filepath='include/linux/device-mapper.h' line='177' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='postsuspend' type-id='type-id-2172' visibility='default' filepath='include/linux/device-mapper.h' line='178' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='preresume' type-id='type-id-2173' visibility='default' filepath='include/linux/device-mapper.h' line='179' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='resume' type-id='type-id-2174' visibility='default' filepath='include/linux/device-mapper.h' line='180' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='status' type-id='type-id-2175' visibility='default' filepath='include/linux/device-mapper.h' line='181' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='message' type-id='type-id-2176' visibility='default' filepath='include/linux/device-mapper.h' line='182' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='prepare_ioctl' type-id='type-id-2177' visibility='default' filepath='include/linux/device-mapper.h' line='183' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='busy' type-id='type-id-2178' visibility='default' filepath='include/linux/device-mapper.h' line='184' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='iterate_devices' type-id='type-id-2179' visibility='default' filepath='include/linux/device-mapper.h' line='185' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='io_hints' type-id='type-id-2180' visibility='default' filepath='include/linux/device-mapper.h' line='186' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='direct_access' type-id='type-id-2181' visibility='default' filepath='include/linux/device-mapper.h' line='187' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='dax_copy_from_iter' type-id='type-id-2182' visibility='default' filepath='include/linux/device-mapper.h' line='188' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='dax_copy_to_iter' type-id='type-id-2182' visibility='default' filepath='include/linux/device-mapper.h' line='189' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/device-mapper.h' line='192' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='dm_ctr_fn' type-id='type-id-2183' filepath='include/linux/device-mapper.h' line='44' column='1' id='type-id-2163'/>
+      <typedef-decl name='dm_dtr_fn' type-id='type-id-2184' filepath='include/linux/device-mapper.h' line='51' column='1' id='type-id-2164'/>
+      <typedef-decl name='dm_map_fn' type-id='type-id-2185' filepath='include/linux/device-mapper.h' line='60' column='1' id='type-id-2165'/>
+      <typedef-decl name='dm_clone_and_map_request_fn' type-id='type-id-2186' filepath='include/linux/device-mapper.h' line='61' column='1' id='type-id-2166'/>
+      <union-decl name='map_info' size-in-bits='64' visibility='default' filepath='include/linux/device-mapper.h' line='36' column='1' id='type-id-2187'>
+        <data-member access='private'>
+          <var-decl name='ptr' type-id='type-id-3' visibility='default' filepath='include/linux/device-mapper.h' line='37' column='1'/>
+        </data-member>
+      </union-decl>
+      <typedef-decl name='dm_release_clone_request_fn' type-id='type-id-2188' filepath='include/linux/device-mapper.h' line='65' column='1' id='type-id-2167'/>
+      <typedef-decl name='dm_endio_fn' type-id='type-id-2189' filepath='include/linux/device-mapper.h' line='76' column='1' id='type-id-2168'/>
+      <typedef-decl name='dm_request_endio_fn' type-id='type-id-2190' filepath='include/linux/device-mapper.h' line='78' column='1' id='type-id-2169'/>
+      <typedef-decl name='dm_presuspend_fn' type-id='type-id-2184' filepath='include/linux/device-mapper.h' line='82' column='1' id='type-id-2170'/>
+      <typedef-decl name='dm_presuspend_undo_fn' type-id='type-id-2184' filepath='include/linux/device-mapper.h' line='83' column='1' id='type-id-2171'/>
+      <typedef-decl name='dm_postsuspend_fn' type-id='type-id-2184' filepath='include/linux/device-mapper.h' line='84' column='1' id='type-id-2172'/>
+      <typedef-decl name='dm_preresume_fn' type-id='type-id-2191' filepath='include/linux/device-mapper.h' line='85' column='1' id='type-id-2173'/>
+      <typedef-decl name='dm_resume_fn' type-id='type-id-2184' filepath='include/linux/device-mapper.h' line='86' column='1' id='type-id-2174'/>
+      <typedef-decl name='dm_status_fn' type-id='type-id-2192' filepath='include/linux/device-mapper.h' line='88' column='1' id='type-id-2175'/>
+      <typedef-decl name='status_type_t' type-id='type-id-2193' filepath='include/linux/device-mapper.h' line='34' column='1' id='type-id-2194'/>
+      <enum-decl name='__anonymous_enum__' is-anonymous='yes' filepath='include/linux/device-mapper.h' line='34' column='1' id='type-id-2193'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='STATUSTYPE_INFO' value='0'/>
+        <enumerator name='STATUSTYPE_TABLE' value='1'/>
+      </enum-decl>
+      <typedef-decl name='dm_message_fn' type-id='type-id-2195' filepath='include/linux/device-mapper.h' line='91' column='1' id='type-id-2176'/>
+      <typedef-decl name='dm_prepare_ioctl_fn' type-id='type-id-2196' filepath='include/linux/device-mapper.h' line='94' column='1' id='type-id-2177'/>
+      <typedef-decl name='dm_busy_fn' type-id='type-id-2191' filepath='include/linux/device-mapper.h' line='128' column='1' id='type-id-2178'/>
+      <typedef-decl name='dm_iterate_devices_fn' type-id='type-id-2197' filepath='include/linux/device-mapper.h' line='116' column='1' id='type-id-2179'/>
+      <typedef-decl name='iterate_devices_callout_fn' type-id='type-id-2198' filepath='include/linux/device-mapper.h' line='106' column='1' id='type-id-2199'/>
+      <class-decl name='dm_dev' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/device-mapper.h' line='143' column='1' id='type-id-2200'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bdev' type-id='type-id-2158' visibility='default' filepath='include/linux/device-mapper.h' line='144' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dax_dev' type-id='type-id-2150' visibility='default' filepath='include/linux/device-mapper.h' line='145' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='mode' type-id='type-id-2147' visibility='default' filepath='include/linux/device-mapper.h' line='146' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='name' type-id='type-id-847' visibility='default' filepath='include/linux/device-mapper.h' line='147' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='dm_io_hints_fn' type-id='type-id-2201' filepath='include/linux/device-mapper.h' line='120' column='1' id='type-id-2180'/>
+      <typedef-decl name='dm_dax_direct_access_fn' type-id='type-id-2202' filepath='include/linux/device-mapper.h' line='135' column='1' id='type-id-2181'/>
+      <typedef-decl name='dm_dax_copy_iter_fn' type-id='type-id-2203' filepath='include/linux/device-mapper.h' line='137' column='1' id='type-id-2182'/>
+      <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/uio.h' line='35' column='1' id='type-id-2204'>
+        <data-member access='private'>
+          <var-decl name='iov' type-id='type-id-2205' visibility='default' filepath='include/linux/uio.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='kvec' type-id='type-id-2206' visibility='default' filepath='include/linux/uio.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='bvec' type-id='type-id-2207' visibility='default' filepath='include/linux/uio.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='pipe' type-id='type-id-2208' visibility='default' filepath='include/linux/uio.h' line='39' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='dm_kobject_holder' size-in-bits='768' is-struct='yes' visibility='default' filepath='drivers/md/dm-core.h' line='22' column='1' id='type-id-2157'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='kobj' type-id='type-id-315' visibility='default' filepath='drivers/md/dm-core.h' line='23' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='completion' type-id='type-id-661' visibility='default' filepath='drivers/md/dm-core.h' line='24' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='dm_stats' size-in-bits='576' is-struct='yes' visibility='default' filepath='drivers/md/dm-stats.h' line='12' column='1' id='type-id-2160'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mutex' type-id='type-id-407' visibility='default' filepath='drivers/md/dm-stats.h' line='13' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='drivers/md/dm-stats.h' line='14' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='last' type-id='type-id-2209' visibility='default' filepath='drivers/md/dm-stats.h' line='15' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='last_sector' type-id='type-id-2142' visibility='default' filepath='drivers/md/dm-stats.h' line='16' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='last_rw' type-id='type-id-10' visibility='default' filepath='drivers/md/dm-stats.h' line='17' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='dm_arg' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/device-mapper.h' line='351' column='1' id='type-id-2210'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='min' type-id='type-id-10' visibility='default' filepath='include/linux/device-mapper.h' line='352' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='max' type-id='type-id-10' visibility='default' filepath='include/linux/device-mapper.h' line='353' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='error' type-id='type-id-300' visibility='default' filepath='include/linux/device-mapper.h' line='354' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='dm_arg_set' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/device-mapper.h' line='342' column='1' id='type-id-2211'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='argc' type-id='type-id-10' visibility='default' filepath='include/linux/device-mapper.h' line='343' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='argv' type-id='type-id-257' visibility='default' filepath='include/linux/device-mapper.h' line='344' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-380' size-in-bits='64' id='type-id-2212'/>
+      <pointer-type-def type-id='type-id-2158' size-in-bits='64' id='type-id-2213'/>
+      <qualified-type-def type-id='type-id-2210' const='yes' id='type-id-2214'/>
+      <pointer-type-def type-id='type-id-2214' size-in-bits='64' id='type-id-2215'/>
+      <pointer-type-def type-id='type-id-2133' size-in-bits='64' id='type-id-2150'/>
+      <pointer-type-def type-id='type-id-2211' size-in-bits='64' id='type-id-2216'/>
+      <pointer-type-def type-id='type-id-2200' size-in-bits='64' id='type-id-2217'/>
+      <pointer-type-def type-id='type-id-2217' size-in-bits='64' id='type-id-2218'/>
+      <pointer-type-def type-id='type-id-2134' size-in-bits='64' id='type-id-2148'/>
+      <pointer-type-def type-id='type-id-2135' size-in-bits='64' id='type-id-2209'/>
+      <pointer-type-def type-id='type-id-2143' size-in-bits='64' id='type-id-2140'/>
+      <pointer-type-def type-id='type-id-2139' size-in-bits='64' id='type-id-2146'/>
+      <pointer-type-def type-id='type-id-2219' size-in-bits='64' id='type-id-2191'/>
+      <pointer-type-def type-id='type-id-2220' size-in-bits='64' id='type-id-2185'/>
+      <pointer-type-def type-id='type-id-2221' size-in-bits='64' id='type-id-2189'/>
+      <pointer-type-def type-id='type-id-2222' size-in-bits='64' id='type-id-2196'/>
+      <pointer-type-def type-id='type-id-2223' size-in-bits='64' id='type-id-2198'/>
+      <pointer-type-def type-id='type-id-2224' size-in-bits='64' id='type-id-2186'/>
+      <pointer-type-def type-id='type-id-2225' size-in-bits='64' id='type-id-2190'/>
+      <pointer-type-def type-id='type-id-2226' size-in-bits='64' id='type-id-2197'/>
+      <pointer-type-def type-id='type-id-2227' size-in-bits='64' id='type-id-2183'/>
+      <pointer-type-def type-id='type-id-2228' size-in-bits='64' id='type-id-2195'/>
+      <pointer-type-def type-id='type-id-2229' size-in-bits='64' id='type-id-2202'/>
+      <pointer-type-def type-id='type-id-2187' size-in-bits='64' id='type-id-2230'/>
+      <pointer-type-def type-id='type-id-2149' size-in-bits='64' id='type-id-2144'/>
+      <pointer-type-def type-id='type-id-2231' size-in-bits='64' id='type-id-2232'/>
+      <pointer-type-def type-id='type-id-2233' size-in-bits='64' id='type-id-2234'/>
+      <pointer-type-def type-id='type-id-2161' size-in-bits='64' id='type-id-2141'/>
+      <pointer-type-def type-id='type-id-2235' size-in-bits='64' id='type-id-2203'/>
+      <pointer-type-def type-id='type-id-2236' size-in-bits='64' id='type-id-2184'/>
+      <pointer-type-def type-id='type-id-2237' size-in-bits='64' id='type-id-2201'/>
+      <pointer-type-def type-id='type-id-2238' size-in-bits='64' id='type-id-2192'/>
+      <pointer-type-def type-id='type-id-2239' size-in-bits='64' id='type-id-2188'/>
+      <function-decl name='dm_get_device' mangled-name='dm_get_device' filepath='drivers/md/dm-table.c' line='431' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dm_get_device'>
+        <parameter type-id='type-id-2146' name='ti' filepath='drivers/md/dm-table.c' line='431' column='1'/>
+        <parameter type-id='type-id-24' name='path' filepath='drivers/md/dm-table.c' line='431' column='1'/>
+        <parameter type-id='type-id-2147' name='mode' filepath='drivers/md/dm-table.c' line='431' column='1'/>
+        <parameter type-id='type-id-2218' name='result' filepath='drivers/md/dm-table.c' line='432' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='dm_put_device' mangled-name='dm_put_device' filepath='drivers/md/dm-table.c' line='504' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dm_put_device'>
+        <parameter type-id='type-id-2146' name='ti' filepath='drivers/md/dm-table.c' line='504' column='1'/>
+        <parameter type-id='type-id-2217' name='d' filepath='drivers/md/dm-table.c' line='504' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='dm_read_arg_group' mangled-name='dm_read_arg_group' filepath='drivers/md/dm-table.c' line='838' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dm_read_arg_group'>
+        <parameter type-id='type-id-2215' name='arg' filepath='drivers/md/dm-table.c' line='838' column='1'/>
+        <parameter type-id='type-id-2216' name='arg_set' filepath='drivers/md/dm-table.c' line='838' column='1'/>
+        <parameter type-id='type-id-72' name='value' filepath='drivers/md/dm-table.c' line='839' column='1'/>
+        <parameter type-id='type-id-257' name='error' filepath='drivers/md/dm-table.c' line='839' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='dm_shift_arg' mangled-name='dm_shift_arg' filepath='drivers/md/dm-table.c' line='845' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dm_shift_arg'>
+        <parameter type-id='type-id-2216' name='as' filepath='drivers/md/dm-table.c' line='845' column='1'/>
+        <return type-id='type-id-24'/>
+      </function-decl>
+      <function-decl name='dm_table_get_mode' mangled-name='dm_table_get_mode' filepath='drivers/md/dm-table.c' line='2049' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dm_table_get_mode'>
+        <parameter type-id='type-id-2140' name='t' filepath='drivers/md/dm-table.c' line='2049' column='1'/>
+        <return type-id='type-id-2147'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-2219'>
+        <parameter type-id='type-id-2146'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2220'>
+        <parameter type-id='type-id-2146'/>
+        <parameter type-id='type-id-265'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2221'>
+        <parameter type-id='type-id-2146'/>
+        <parameter type-id='type-id-265'/>
+        <parameter type-id='type-id-2212'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2222'>
+        <parameter type-id='type-id-2146'/>
+        <parameter type-id='type-id-2213'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2223'>
+        <parameter type-id='type-id-2146'/>
+        <parameter type-id='type-id-2217'/>
+        <parameter type-id='type-id-2142'/>
+        <parameter type-id='type-id-2142'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2224'>
+        <parameter type-id='type-id-2146'/>
+        <parameter type-id='type-id-269'/>
+        <parameter type-id='type-id-2230'/>
+        <parameter type-id='type-id-385'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2225'>
+        <parameter type-id='type-id-2146'/>
+        <parameter type-id='type-id-269'/>
+        <parameter type-id='type-id-380'/>
+        <parameter type-id='type-id-2230'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2226'>
+        <parameter type-id='type-id-2146'/>
+        <parameter type-id='type-id-2199'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2227'>
+        <parameter type-id='type-id-2146'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-257'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2228'>
+        <parameter type-id='type-id-2146'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-257'/>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2229'>
+        <parameter type-id='type-id-2146'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-187'/>
+        <parameter type-id='type-id-2240'/>
+        <parameter type-id='type-id-2232'/>
+        <return type-id='type-id-187'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2235'>
+        <parameter type-id='type-id-2146'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-2241'/>
+        <return type-id='type-id-125'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2236'>
+        <parameter type-id='type-id-2146'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2237'>
+        <parameter type-id='type-id-2146'/>
+        <parameter type-id='type-id-2234'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2238'>
+        <parameter type-id='type-id-2146'/>
+        <parameter type-id='type-id-2194'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2239'>
+        <parameter type-id='type-id-269'/>
+        <parameter type-id='type-id-2230'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/md/dm-target.c' language='LANG_C89'>
+      <function-decl name='dm_register_target' mangled-name='dm_register_target' filepath='drivers/md/dm-target.c' line='81' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dm_register_target'>
+        <parameter type-id='type-id-2141' name='tt' filepath='drivers/md/dm-target.c' line='81' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='dm_unregister_target' mangled-name='dm_unregister_target' filepath='drivers/md/dm-target.c' line='95' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dm_unregister_target'>
+        <parameter type-id='type-id-2141' name='tt' filepath='drivers/md/dm-target.c' line='95' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/media/media-device.c' language='LANG_C89'>
+
+      <array-type-def dimensions='1' type-id='type-id-2242' size-in-bits='2048' id='type-id-2243'>
+        <subrange length='16' type-id='type-id-5' id='type-id-195'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-475' size-in-bits='320' id='type-id-2244'>
+        <subrange length='40' type-id='type-id-5' id='type-id-2245'/>
+
+      </array-type-def>
+      <class-decl name='media_device' size-in-bits='4992' is-struct='yes' visibility='default' filepath='include/media/media-device.h' line='126' column='1' id='type-id-2246'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/media/media-device.h' line='128' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='devnode' type-id='type-id-2247' visibility='default' filepath='include/media/media-device.h' line='129' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='model' type-id='type-id-650' visibility='default' filepath='include/media/media-device.h' line='131' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='driver_name' type-id='type-id-650' visibility='default' filepath='include/media/media-device.h' line='132' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='serial' type-id='type-id-2244' visibility='default' filepath='include/media/media-device.h' line='133' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='bus_info' type-id='type-id-650' visibility='default' filepath='include/media/media-device.h' line='134' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='hw_revision' type-id='type-id-9' visibility='default' filepath='include/media/media-device.h' line='135' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='topology_version' type-id='type-id-134' visibility='default' filepath='include/media/media-device.h' line='137' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='id' type-id='type-id-9' visibility='default' filepath='include/media/media-device.h' line='139' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='entity_internal_idx' type-id='type-id-1251' visibility='default' filepath='include/media/media-device.h' line='140' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='entity_internal_idx_max' type-id='type-id-11' visibility='default' filepath='include/media/media-device.h' line='141' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='entities' type-id='type-id-8' visibility='default' filepath='include/media/media-device.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='interfaces' type-id='type-id-8' visibility='default' filepath='include/media/media-device.h' line='144' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='pads' type-id='type-id-8' visibility='default' filepath='include/media/media-device.h' line='145' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='links' type-id='type-id-8' visibility='default' filepath='include/media/media-device.h' line='146' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='entity_notify' type-id='type-id-8' visibility='default' filepath='include/media/media-device.h' line='149' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='graph_mutex' type-id='type-id-407' visibility='default' filepath='include/media/media-device.h' line='152' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='pm_count_walk' type-id='type-id-2248' visibility='default' filepath='include/media/media-device.h' line='153' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4736'>
+          <var-decl name='source_priv' type-id='type-id-3' visibility='default' filepath='include/media/media-device.h' line='155' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4800'>
+          <var-decl name='enable_source' type-id='type-id-2249' visibility='default' filepath='include/media/media-device.h' line='156' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4864'>
+          <var-decl name='disable_source' type-id='type-id-2250' visibility='default' filepath='include/media/media-device.h' line='158' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4928'>
+          <var-decl name='ops' type-id='type-id-2251' visibility='default' filepath='include/media/media-device.h' line='160' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='media_devnode' size-in-bits='7424' is-struct='yes' visibility='default' filepath='include/media/media-devnode.h' line='83' column='1' id='type-id-2252'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='media_dev' type-id='type-id-2253' visibility='default' filepath='include/media/media-devnode.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='fops' type-id='type-id-2254' visibility='default' filepath='include/media/media-devnode.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='include/media/media-devnode.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6336'>
+          <var-decl name='cdev' type-id='type-id-1036' visibility='default' filepath='include/media/media-devnode.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7168'>
+          <var-decl name='parent' type-id='type-id-86' visibility='default' filepath='include/media/media-devnode.h' line='92' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7232'>
+          <var-decl name='minor' type-id='type-id-11' visibility='default' filepath='include/media/media-devnode.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7296'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/media/media-devnode.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7360'>
+          <var-decl name='release' type-id='type-id-2255' visibility='default' filepath='include/media/media-devnode.h' line='99' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='media_file_operations' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/media/media-devnode.h' line='55' column='1' id='type-id-2256'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='owner' type-id='type-id-161' visibility='default' filepath='include/media/media-devnode.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='read' type-id='type-id-2257' visibility='default' filepath='include/media/media-devnode.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='write' type-id='type-id-2258' visibility='default' filepath='include/media/media-devnode.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='poll' type-id='type-id-2259' visibility='default' filepath='include/media/media-devnode.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='ioctl' type-id='type-id-2260' visibility='default' filepath='include/media/media-devnode.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='compat_ioctl' type-id='type-id-2260' visibility='default' filepath='include/media/media-devnode.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='open' type-id='type-id-2261' visibility='default' filepath='include/media/media-devnode.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='release' type-id='type-id-2261' visibility='default' filepath='include/media/media-devnode.h' line='63' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='media_graph' size-in-bits='2240' is-struct='yes' visibility='default' filepath='include/media/media-entity.h' line='96' column='1' id='type-id-2248'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='stack' type-id='type-id-2243' visibility='default' filepath='include/media/media-entity.h' line='100' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='ent_enum' type-id='type-id-2262' visibility='default' filepath='include/media/media-entity.h' line='102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='top' type-id='type-id-11' visibility='default' filepath='include/media/media-entity.h' line='103' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/media/media-entity.h' line='97' column='1' id='type-id-2242'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='entity' type-id='type-id-2263' visibility='default' filepath='include/media/media-entity.h' line='98' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='link' type-id='type-id-262' visibility='default' filepath='include/media/media-entity.h' line='99' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='media_entity' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/media/media-entity.h' line='267' column='1' id='type-id-2264'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='graph_obj' type-id='type-id-2265' visibility='default' filepath='include/media/media-entity.h' line='268' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/media/media-entity.h' line='269' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='obj_type' type-id='type-id-2266' visibility='default' filepath='include/media/media-entity.h' line='270' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='function' type-id='type-id-9' visibility='default' filepath='include/media/media-entity.h' line='271' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/media/media-entity.h' line='272' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='num_pads' type-id='type-id-289' visibility='default' filepath='include/media/media-entity.h' line='274' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='464'>
+          <var-decl name='num_links' type-id='type-id-289' visibility='default' filepath='include/media/media-entity.h' line='275' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='num_backlinks' type-id='type-id-289' visibility='default' filepath='include/media/media-entity.h' line='276' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='internal_idx' type-id='type-id-11' visibility='default' filepath='include/media/media-entity.h' line='277' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='pads' type-id='type-id-2267' visibility='default' filepath='include/media/media-entity.h' line='279' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='links' type-id='type-id-8' visibility='default' filepath='include/media/media-entity.h' line='280' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='ops' type-id='type-id-2268' visibility='default' filepath='include/media/media-entity.h' line='282' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='stream_count' type-id='type-id-11' visibility='default' filepath='include/media/media-entity.h' line='284' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='864'>
+          <var-decl name='use_count' type-id='type-id-11' visibility='default' filepath='include/media/media-entity.h' line='285' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='pipe' type-id='type-id-2269' visibility='default' filepath='include/media/media-entity.h' line='287' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='info' type-id='type-id-2270' visibility='default' filepath='include/media/media-entity.h' line='294' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='media_gobj' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/media/media-entity.h' line='65' column='1' id='type-id-2265'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mdev' type-id='type-id-2253' visibility='default' filepath='include/media/media-entity.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='id' type-id='type-id-9' visibility='default' filepath='include/media/media-entity.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/media/media-entity.h' line='68' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='media_entity_type' filepath='include/media/media-entity.h' line='221' column='1' id='type-id-2266'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='MEDIA_ENTITY_TYPE_BASE' value='0'/>
+        <enumerator name='MEDIA_ENTITY_TYPE_VIDEO_DEVICE' value='1'/>
+        <enumerator name='MEDIA_ENTITY_TYPE_V4L2_SUBDEV' value='2'/>
+      </enum-decl>
+      <class-decl name='media_pad' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/media/media-entity.h' line='168' column='1' id='type-id-2271'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='graph_obj' type-id='type-id-2265' visibility='default' filepath='include/media/media-entity.h' line='169' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='entity' type-id='type-id-2263' visibility='default' filepath='include/media/media-entity.h' line='170' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='index' type-id='type-id-289' visibility='default' filepath='include/media/media-entity.h' line='171' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/media/media-entity.h' line='172' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='media_entity_operations' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/media/media-entity.h' line='192' column='1' id='type-id-2272'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='get_fwnode_pad' type-id='type-id-2273' visibility='default' filepath='include/media/media-entity.h' line='193' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='link_setup' type-id='type-id-2274' visibility='default' filepath='include/media/media-entity.h' line='194' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='link_validate' type-id='type-id-2275' visibility='default' filepath='include/media/media-entity.h' line='197' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='media_link' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/media/media-entity.h' line='140' column='1' id='type-id-2276'>
+
+          <member-type access='public'>
+            <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/media/media-entity.h' line='148' column='1' id='type-id-2277'>
+              <data-member access='private'>
+                <var-decl name='gobj1' type-id='type-id-2278' visibility='default' filepath='include/media/media-entity.h' line='149' column='1'/>
+              </data-member>
+              <data-member access='private'>
+                <var-decl name='sink' type-id='type-id-2267' visibility='default' filepath='include/media/media-entity.h' line='150' column='1'/>
+              </data-member>
+              <data-member access='private'>
+                <var-decl name='entity' type-id='type-id-2263' visibility='default' filepath='include/media/media-entity.h' line='151' column='1'/>
+              </data-member>
+            </union-decl>
+          </member-type>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='graph_obj' type-id='type-id-2265' visibility='default' filepath='include/media/media-entity.h' line='141' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/media/media-entity.h' line='142' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='' type-id='type-id-2279' visibility='default' filepath='include/media/media-entity.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='reverse' type-id='type-id-2280' visibility='default' filepath='include/media/media-entity.h' line='153' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/media/media-entity.h' line='154' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='is_backlink' type-id='type-id-211' visibility='default' filepath='include/media/media-entity.h' line='155' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/media/media-entity.h' line='143' column='1' id='type-id-2279'>
+        <data-member access='private'>
+          <var-decl name='gobj0' type-id='type-id-2278' visibility='default' filepath='include/media/media-entity.h' line='144' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='source' type-id='type-id-2267' visibility='default' filepath='include/media/media-entity.h' line='145' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='intf' type-id='type-id-2281' visibility='default' filepath='include/media/media-entity.h' line='146' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='media_interface' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/media/media-entity.h' line='313' column='1' id='type-id-2282'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='graph_obj' type-id='type-id-2265' visibility='default' filepath='include/media/media-entity.h' line='314' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='links' type-id='type-id-8' visibility='default' filepath='include/media/media-entity.h' line='315' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='type' type-id='type-id-9' visibility='default' filepath='include/media/media-entity.h' line='316' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='flags' type-id='type-id-9' visibility='default' filepath='include/media/media-entity.h' line='317' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='media_pipeline' size-in-bits='2304' is-struct='yes' visibility='default' filepath='include/media/media-entity.h' line='112' column='1' id='type-id-2283'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='streaming_count' type-id='type-id-11' visibility='default' filepath='include/media/media-entity.h' line='113' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='graph' type-id='type-id-2248' visibility='default' filepath='include/media/media-entity.h' line='114' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__1' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/media/media-entity.h' line='290' column='1' id='type-id-2284'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='major' type-id='type-id-9' visibility='default' filepath='include/media/media-entity.h' line='291' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='minor' type-id='type-id-9' visibility='default' filepath='include/media/media-entity.h' line='292' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='media_entity_enum' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/media/media-entity.h' line='80' column='1' id='type-id-2262'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bmap' type-id='type-id-76' visibility='default' filepath='include/media/media-entity.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='idx_max' type-id='type-id-11' visibility='default' filepath='include/media/media-entity.h' line='82' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='media_device_ops' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/media/media-device.h' line='54' column='1' id='type-id-2285'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='link_notify' type-id='type-id-2286' visibility='default' filepath='include/media/media-device.h' line='55' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-2285' const='yes' id='type-id-2287'/>
+      <pointer-type-def type-id='type-id-2287' size-in-bits='64' id='type-id-2251'/>
+      <qualified-type-def type-id='type-id-2272' const='yes' id='type-id-2288'/>
+      <pointer-type-def type-id='type-id-2288' size-in-bits='64' id='type-id-2268'/>
+      <qualified-type-def type-id='type-id-2256' const='yes' id='type-id-2289'/>
+      <pointer-type-def type-id='type-id-2289' size-in-bits='64' id='type-id-2254'/>
+      <qualified-type-def type-id='type-id-2271' const='yes' id='type-id-2290'/>
+      <pointer-type-def type-id='type-id-2290' size-in-bits='64' id='type-id-2291'/>
+      <pointer-type-def type-id='type-id-2292' size-in-bits='64' id='type-id-2273'/>
+      <pointer-type-def type-id='type-id-2293' size-in-bits='64' id='type-id-2274'/>
+      <pointer-type-def type-id='type-id-2294' size-in-bits='64' id='type-id-2249'/>
+      <pointer-type-def type-id='type-id-2295' size-in-bits='64' id='type-id-2275'/>
+      <pointer-type-def type-id='type-id-2296' size-in-bits='64' id='type-id-2286'/>
+      <pointer-type-def type-id='type-id-2246' size-in-bits='64' id='type-id-2253'/>
+      <pointer-type-def type-id='type-id-2252' size-in-bits='64' id='type-id-2247'/>
+      <pointer-type-def type-id='type-id-2264' size-in-bits='64' id='type-id-2263'/>
+      <pointer-type-def type-id='type-id-2265' size-in-bits='64' id='type-id-2278'/>
+      <pointer-type-def type-id='type-id-2282' size-in-bits='64' id='type-id-2281'/>
+      <pointer-type-def type-id='type-id-2276' size-in-bits='64' id='type-id-2280'/>
+      <pointer-type-def type-id='type-id-2271' size-in-bits='64' id='type-id-2267'/>
+      <pointer-type-def type-id='type-id-2283' size-in-bits='64' id='type-id-2269'/>
+      <pointer-type-def type-id='type-id-2297' size-in-bits='64' id='type-id-2255'/>
+      <pointer-type-def type-id='type-id-2298' size-in-bits='64' id='type-id-2250'/>
+      <function-decl name='media_device_init' mangled-name='media_device_init' filepath='drivers/media/media-device.c' line='695' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='media_device_init'>
+        <parameter type-id='type-id-2253' name='mdev' filepath='drivers/media/media-device.c' line='695' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='media_device_cleanup' mangled-name='media_device_cleanup' filepath='drivers/media/media-device.c' line='709' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='media_device_cleanup'>
+        <parameter type-id='type-id-2253' name='mdev' filepath='drivers/media/media-device.c' line='709' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__media_device_register' mangled-name='__media_device_register' filepath='drivers/media/media-device.c' line='718' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__media_device_register'>
+        <parameter type-id='type-id-2253' name='mdev' filepath='drivers/media/media-device.c' line='718' column='1'/>
+        <parameter type-id='type-id-161' name='owner' filepath='drivers/media/media-device.c' line='719' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='media_device_unregister' mangled-name='media_device_unregister' filepath='drivers/media/media-device.c' line='787' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='media_device_unregister'>
+        <parameter type-id='type-id-2253' name='mdev' filepath='drivers/media/media-device.c' line='787' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-2292'>
+        <parameter type-id='type-id-2299'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2293'>
+        <parameter type-id='type-id-2263'/>
+        <parameter type-id='type-id-2291'/>
+        <parameter type-id='type-id-2291'/>
+        <parameter type-id='type-id-9'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2294'>
+        <parameter type-id='type-id-2263'/>
+        <parameter type-id='type-id-2269'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2295'>
+        <parameter type-id='type-id-2280'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2296'>
+        <parameter type-id='type-id-2280'/>
+        <parameter type-id='type-id-9'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2297'>
+        <parameter type-id='type-id-2247'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2298'>
+        <parameter type-id='type-id-2263'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/media/media-entity.h' line='289' column='1' id='type-id-2270'>
+        <data-member access='private'>
+          <var-decl name='dev' type-id='type-id-2284' visibility='default' filepath='include/media/media-entity.h' line='293' column='1'/>
+        </data-member>
+      </union-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/media/media-entity.c' language='LANG_C89'>
+      <function-decl name='media_entity_pads_init' mangled-name='media_entity_pads_init' filepath='drivers/media/media-entity.c' line='206' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='media_entity_pads_init'>
+        <parameter type-id='type-id-2263' name='entity' filepath='drivers/media/media-entity.c' line='206' column='1'/>
+        <parameter type-id='type-id-289' name='num_pads' filepath='drivers/media/media-entity.c' line='206' column='1'/>
+        <parameter type-id='type-id-2267' name='pads' filepath='drivers/media/media-entity.c' line='207' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/media/v4l2-core/v4l2-ctrls.c' language='LANG_C89'>
+      <class-decl name='v4l2_ctrl_config' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/media/v4l2-ctrls.h' line='327' column='1' id='type-id-2300'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ops' type-id='type-id-2301' visibility='default' filepath='include/media/v4l2-ctrls.h' line='328' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='type_ops' type-id='type-id-2302' visibility='default' filepath='include/media/v4l2-ctrls.h' line='329' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='id' type-id='type-id-9' visibility='default' filepath='include/media/v4l2-ctrls.h' line='330' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/media/v4l2-ctrls.h' line='331' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='type' type-id='type-id-2303' visibility='default' filepath='include/media/v4l2-ctrls.h' line='332' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='min' type-id='type-id-581' visibility='default' filepath='include/media/v4l2-ctrls.h' line='333' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='max' type-id='type-id-581' visibility='default' filepath='include/media/v4l2-ctrls.h' line='334' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='step' type-id='type-id-134' visibility='default' filepath='include/media/v4l2-ctrls.h' line='335' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='def' type-id='type-id-581' visibility='default' filepath='include/media/v4l2-ctrls.h' line='336' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='dims' type-id='type-id-2304' visibility='default' filepath='include/media/v4l2-ctrls.h' line='337' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='elem_size' type-id='type-id-9' visibility='default' filepath='include/media/v4l2-ctrls.h' line='338' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='736'>
+          <var-decl name='flags' type-id='type-id-9' visibility='default' filepath='include/media/v4l2-ctrls.h' line='339' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='menu_skip_mask' type-id='type-id-134' visibility='default' filepath='include/media/v4l2-ctrls.h' line='340' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='qmenu' type-id='type-id-562' visibility='default' filepath='include/media/v4l2-ctrls.h' line='341' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='qmenu_int' type-id='type-id-2305' visibility='default' filepath='include/media/v4l2-ctrls.h' line='342' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='is_private' type-id='type-id-10' visibility='default' filepath='include/media/v4l2-ctrls.h' line='343' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-2300' const='yes' id='type-id-2306'/>
+      <pointer-type-def type-id='type-id-2306' size-in-bits='64' id='type-id-2307'/>
+      <function-decl name='v4l2_ctrl_handler_init_class' mangled-name='v4l2_ctrl_handler_init_class' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='1891' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='v4l2_ctrl_handler_init_class'>
+        <parameter type-id='type-id-2308' name='hdl' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='1891' column='1'/>
+        <parameter type-id='type-id-10' name='nr_of_controls_hint' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='1892' column='1'/>
+        <parameter type-id='type-id-532' name='key' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='1893' column='1'/>
+        <parameter type-id='type-id-24' name='name' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='1893' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='v4l2_ctrl_get_name' mangled-name='v4l2_ctrl_get_name' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='696' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='v4l2_ctrl_get_name'>
+        <parameter type-id='type-id-9' name='id' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='696' column='1'/>
+        <return type-id='type-id-24'/>
+      </function-decl>
+      <function-decl name='v4l2_ctrl_handler_free' mangled-name='v4l2_ctrl_handler_free' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='1910' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='v4l2_ctrl_handler_free'>
+        <parameter type-id='type-id-2308' name='hdl' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='1910' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='v4l2_ctrl_find' mangled-name='v4l2_ctrl_find' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='2010' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='v4l2_ctrl_find'>
+        <parameter type-id='type-id-2308' name='hdl' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='2010' column='1'/>
+        <parameter type-id='type-id-9' name='id' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='2010' column='1'/>
+        <return type-id='type-id-2309'/>
+      </function-decl>
+      <function-decl name='v4l2_ctrl_new_custom' mangled-name='v4l2_ctrl_new_custom' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='2234' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='v4l2_ctrl_new_custom'>
+        <parameter type-id='type-id-2308' name='hdl' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='2234' column='1'/>
+        <parameter type-id='type-id-2307' name='cfg' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='2235' column='1'/>
+        <parameter type-id='type-id-3' name='priv' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='2235' column='1'/>
+        <return type-id='type-id-2309'/>
+      </function-decl>
+      <function-decl name='v4l2_ctrl_new_std' mangled-name='v4l2_ctrl_new_std' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='2278' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='v4l2_ctrl_new_std'>
+        <parameter type-id='type-id-2308' name='hdl' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='2278' column='1'/>
+        <parameter type-id='type-id-2301' name='ops' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='2279' column='1'/>
+        <parameter type-id='type-id-9' name='id' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='2280' column='1'/>
+        <parameter type-id='type-id-581' name='min' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='2280' column='1'/>
+        <parameter type-id='type-id-581' name='max' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='2280' column='1'/>
+        <parameter type-id='type-id-134' name='step' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='2280' column='1'/>
+        <parameter type-id='type-id-581' name='def' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='2280' column='1'/>
+        <return type-id='type-id-2309'/>
+      </function-decl>
+      <function-decl name='v4l2_ctrl_new_std_menu' mangled-name='v4l2_ctrl_new_std_menu' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='2300' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='v4l2_ctrl_new_std_menu'>
+        <parameter type-id='type-id-2308' name='hdl' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='2300' column='1'/>
+        <parameter type-id='type-id-2301' name='ops' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='2301' column='1'/>
+        <parameter type-id='type-id-9' name='id' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='2302' column='1'/>
+        <parameter type-id='type-id-53' name='_max' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='2302' column='1'/>
+        <parameter type-id='type-id-134' name='mask' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='2302' column='1'/>
+        <parameter type-id='type-id-53' name='_def' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='2302' column='1'/>
+        <return type-id='type-id-2309'/>
+      </function-decl>
+      <function-decl name='__v4l2_ctrl_s_ctrl' mangled-name='__v4l2_ctrl_s_ctrl' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='3417' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__v4l2_ctrl_s_ctrl'>
+        <parameter type-id='type-id-2309' name='ctrl' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='3417' column='1'/>
+        <parameter type-id='type-id-939' name='val' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='3417' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__v4l2_ctrl_modify_range' mangled-name='__v4l2_ctrl_modify_range' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='3466' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__v4l2_ctrl_modify_range'>
+        <parameter type-id='type-id-2309' name='ctrl' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='3466' column='1'/>
+        <parameter type-id='type-id-581' name='min' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='3467' column='1'/>
+        <parameter type-id='type-id-581' name='max' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='3467' column='1'/>
+        <parameter type-id='type-id-134' name='step' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='3467' column='1'/>
+        <parameter type-id='type-id-581' name='def' filepath='drivers/media/v4l2-core/v4l2-ctrls.c' line='3467' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/media/v4l2-core/v4l2-dev.c' language='LANG_C89'>
+
+
+      <array-type-def dimensions='1' type-id='type-id-2310' size-in-bits='64' id='type-id-2311'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-1107' size-in-bits='176' id='type-id-2312'>
+        <subrange length='11' type-id='type-id-5' id='type-id-275'/>
+
+      </array-type-def>
+      <array-type-def dimensions='2' type-id='type-id-1107' size-in-bits='416' id='type-id-2313'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+        <subrange length='24' type-id='type-id-5' id='type-id-1143'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-1107' size-in-bits='96' id='type-id-2314'>
+        <subrange length='6' type-id='type-id-5' id='type-id-1951'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-266' size-in-bits='352' id='type-id-2315'>
+        <subrange length='11' type-id='type-id-5' id='type-id-275'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-266' size-in-bits='512' id='type-id-2316'>
+        <subrange length='16' type-id='type-id-5' id='type-id-195'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-266' size-in-bits='32' id='type-id-2317'>
+        <subrange length='1' type-id='type-id-5' id='type-id-192'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-266' size-in-bits='1024' id='type-id-2318'>
+        <subrange length='32' type-id='type-id-5' id='type-id-2319'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-266' size-in-bits='288' id='type-id-2320'>
+        <subrange length='9' type-id='type-id-5' id='type-id-2321'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-1122' size-in-bits='1600' id='type-id-2322'>
+        <subrange length='200' type-id='type-id-5' id='type-id-2323'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-1122' size-in-bits='192' id='type-id-2324'>
+        <subrange length='24' type-id='type-id-5' id='type-id-1143'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-1122' size-in-bits='368' id='type-id-2325'>
+        <subrange length='46' type-id='type-id-5' id='type-id-2326'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-1122' size-in-bits='384' id='type-id-2327'>
+        <subrange length='48' type-id='type-id-5' id='type-id-1770'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-1122' size-in-bits='56' id='type-id-2328'>
+        <subrange length='7' type-id='type-id-5' id='type-id-357'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-137' size-in-bits='128' id='type-id-2329'>
+        <subrange length='4' type-id='type-id-5' id='type-id-281'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-475' size-in-bits='288' id='type-id-2330'>
+        <subrange length='36' type-id='type-id-5' id='type-id-2331'/>
+
+      </array-type-def>
+      <class-decl name='regulator_bulk_data' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-2332'/>
+      <class-decl name='tuner_setup' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-2333'/>
+      <class-decl name='v4l2_ctrl_handler' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-2334'/>
+      <class-decl name='vb2_queue' size-in-bits='4480' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-2335'/>
+      <array-type-def dimensions='1' type-id='type-id-2336' size-in-bits='16384' id='type-id-2337'>
+        <subrange length='64' type-id='type-id-5' id='type-id-2338'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-2339' size-in-bits='384' id='type-id-2340'>
+        <subrange length='4' type-id='type-id-5' id='type-id-281'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-2341' size-in-bits='1280' id='type-id-2342'>
+        <subrange length='8' type-id='type-id-5' id='type-id-1953'/>
+
+      </array-type-def>
+      <class-decl name='video_device' size-in-bits='11264' is-struct='yes' visibility='default' filepath='include/media/v4l2-dev.h' line='247' column='1' id='type-id-2343'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='entity' type-id='type-id-2264' visibility='default' filepath='include/media/v4l2-dev.h' line='250' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='intf_devnode' type-id='type-id-2344' visibility='default' filepath='include/media/v4l2-dev.h' line='251' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='pipe' type-id='type-id-2283' visibility='default' filepath='include/media/v4l2-dev.h' line='252' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3392'>
+          <var-decl name='fops' type-id='type-id-2345' visibility='default' filepath='include/media/v4l2-dev.h' line='254' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3456'>
+          <var-decl name='device_caps' type-id='type-id-9' visibility='default' filepath='include/media/v4l2-dev.h' line='256' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3520'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='include/media/v4l2-dev.h' line='259' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9728'>
+          <var-decl name='cdev' type-id='type-id-2346' visibility='default' filepath='include/media/v4l2-dev.h' line='260' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9792'>
+          <var-decl name='v4l2_dev' type-id='type-id-2347' visibility='default' filepath='include/media/v4l2-dev.h' line='262' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9856'>
+          <var-decl name='dev_parent' type-id='type-id-86' visibility='default' filepath='include/media/v4l2-dev.h' line='263' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9920'>
+          <var-decl name='ctrl_handler' type-id='type-id-2348' visibility='default' filepath='include/media/v4l2-dev.h' line='265' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9984'>
+          <var-decl name='queue' type-id='type-id-2349' visibility='default' filepath='include/media/v4l2-dev.h' line='267' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10048'>
+          <var-decl name='prio' type-id='type-id-2350' visibility='default' filepath='include/media/v4l2-dev.h' line='269' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10112'>
+          <var-decl name='name' type-id='type-id-650' visibility='default' filepath='include/media/v4l2-dev.h' line='272' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10368'>
+          <var-decl name='vfl_type' type-id='type-id-2351' visibility='default' filepath='include/media/v4l2-dev.h' line='273' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10400'>
+          <var-decl name='vfl_dir' type-id='type-id-2352' visibility='default' filepath='include/media/v4l2-dev.h' line='274' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10432'>
+          <var-decl name='minor' type-id='type-id-11' visibility='default' filepath='include/media/v4l2-dev.h' line='275' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10464'>
+          <var-decl name='num' type-id='type-id-289' visibility='default' filepath='include/media/v4l2-dev.h' line='276' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10496'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/media/v4l2-dev.h' line='277' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10560'>
+          <var-decl name='index' type-id='type-id-11' visibility='default' filepath='include/media/v4l2-dev.h' line='278' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10592'>
+          <var-decl name='fh_lock' type-id='type-id-106' visibility='default' filepath='include/media/v4l2-dev.h' line='281' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10624'>
+          <var-decl name='fh_list' type-id='type-id-8' visibility='default' filepath='include/media/v4l2-dev.h' line='282' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10752'>
+          <var-decl name='dev_debug' type-id='type-id-11' visibility='default' filepath='include/media/v4l2-dev.h' line='284' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10816'>
+          <var-decl name='tvnorms' type-id='type-id-2353' visibility='default' filepath='include/media/v4l2-dev.h' line='286' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10880'>
+          <var-decl name='release' type-id='type-id-2354' visibility='default' filepath='include/media/v4l2-dev.h' line='289' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10944'>
+          <var-decl name='ioctl_ops' type-id='type-id-2355' visibility='default' filepath='include/media/v4l2-dev.h' line='290' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11008'>
+          <var-decl name='valid_ioctls' type-id='type-id-2356' visibility='default' filepath='include/media/v4l2-dev.h' line='291' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11200'>
+          <var-decl name='lock' type-id='type-id-2357' visibility='default' filepath='include/media/v4l2-dev.h' line='293' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='media_intf_devnode' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/media/media-entity.h' line='327' column='1' id='type-id-2358'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='intf' type-id='type-id-2282' visibility='default' filepath='include/media/media-entity.h' line='328' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='major' type-id='type-id-9' visibility='default' filepath='include/media/media-entity.h' line='331' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='minor' type-id='type-id-9' visibility='default' filepath='include/media/media-entity.h' line='332' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_file_operations' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/media/v4l2-dev.h' line='184' column='1' id='type-id-2359'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/media/v4l2-dev.h' line='185' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='read' type-id='type-id-2257' visibility='default' filepath='include/media/v4l2-dev.h' line='186' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='write' type-id='type-id-2258' visibility='default' filepath='include/media/v4l2-dev.h' line='187' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='poll' type-id='type-id-2259' visibility='default' filepath='include/media/v4l2-dev.h' line='188' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='unlocked_ioctl' type-id='type-id-2260' visibility='default' filepath='include/media/v4l2-dev.h' line='189' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='compat_ioctl32' type-id='type-id-2260' visibility='default' filepath='include/media/v4l2-dev.h' line='191' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='get_unmapped_area' type-id='type-id-135' visibility='default' filepath='include/media/v4l2-dev.h' line='193' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='mmap' type-id='type-id-2360' visibility='default' filepath='include/media/v4l2-dev.h' line='195' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='open' type-id='type-id-2261' visibility='default' filepath='include/media/v4l2-dev.h' line='196' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='release' type-id='type-id-2261' visibility='default' filepath='include/media/v4l2-dev.h' line='197' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_device' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/media/v4l2-device.h' line='59' column='1' id='type-id-2361'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/media/v4l2-device.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='mdev' type-id='type-id-2253' visibility='default' filepath='include/media/v4l2-device.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='subdevs' type-id='type-id-8' visibility='default' filepath='include/media/v4l2-device.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/media/v4l2-device.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='name' type-id='type-id-2330' visibility='default' filepath='include/media/v4l2-device.h' line='64' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='notify' type-id='type-id-2362' visibility='default' filepath='include/media/v4l2-device.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='ctrl_handler' type-id='type-id-2348' visibility='default' filepath='include/media/v4l2-device.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='prio' type-id='type-id-2363' visibility='default' filepath='include/media/v4l2-device.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='ref' type-id='type-id-771' visibility='default' filepath='include/media/v4l2-device.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='release' type-id='type-id-2364' visibility='default' filepath='include/media/v4l2-device.h' line='70' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_subdev' size-in-bits='2560' is-struct='yes' visibility='default' filepath='include/media/v4l2-subdev.h' line='842' column='1' id='type-id-2365'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='entity' type-id='type-id-2264' visibility='default' filepath='include/media/v4l2-subdev.h' line='844' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/media/v4l2-subdev.h' line='846' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/media/v4l2-subdev.h' line='847' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='owner_v4l2_dev' type-id='type-id-211' visibility='default' filepath='include/media/v4l2-subdev.h' line='848' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1248'>
+          <var-decl name='flags' type-id='type-id-9' visibility='default' filepath='include/media/v4l2-subdev.h' line='849' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='v4l2_dev' type-id='type-id-2347' visibility='default' filepath='include/media/v4l2-subdev.h' line='850' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='ops' type-id='type-id-2366' visibility='default' filepath='include/media/v4l2-subdev.h' line='851' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='internal_ops' type-id='type-id-2367' visibility='default' filepath='include/media/v4l2-subdev.h' line='852' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='ctrl_handler' type-id='type-id-2348' visibility='default' filepath='include/media/v4l2-subdev.h' line='853' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='name' type-id='type-id-650' visibility='default' filepath='include/media/v4l2-subdev.h' line='854' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='grp_id' type-id='type-id-9' visibility='default' filepath='include/media/v4l2-subdev.h' line='855' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='dev_priv' type-id='type-id-3' visibility='default' filepath='include/media/v4l2-subdev.h' line='856' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='host_priv' type-id='type-id-3' visibility='default' filepath='include/media/v4l2-subdev.h' line='857' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='devnode' type-id='type-id-2368' visibility='default' filepath='include/media/v4l2-subdev.h' line='858' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/media/v4l2-subdev.h' line='859' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='fwnode' type-id='type-id-575' visibility='default' filepath='include/media/v4l2-subdev.h' line='860' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='async_list' type-id='type-id-8' visibility='default' filepath='include/media/v4l2-subdev.h' line='861' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='asd' type-id='type-id-2369' visibility='default' filepath='include/media/v4l2-subdev.h' line='862' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='notifier' type-id='type-id-2370' visibility='default' filepath='include/media/v4l2-subdev.h' line='863' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='subdev_notifier' type-id='type-id-2370' visibility='default' filepath='include/media/v4l2-subdev.h' line='864' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='pdata' type-id='type-id-2371' visibility='default' filepath='include/media/v4l2-subdev.h' line='865' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_subdev_ops' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/media/v4l2-subdev.h' line='736' column='1' id='type-id-2372'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='core' type-id='type-id-2373' visibility='default' filepath='include/media/v4l2-subdev.h' line='737' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='tuner' type-id='type-id-2374' visibility='default' filepath='include/media/v4l2-subdev.h' line='738' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='audio' type-id='type-id-2375' visibility='default' filepath='include/media/v4l2-subdev.h' line='739' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='video' type-id='type-id-2376' visibility='default' filepath='include/media/v4l2-subdev.h' line='740' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='vbi' type-id='type-id-2377' visibility='default' filepath='include/media/v4l2-subdev.h' line='741' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='ir' type-id='type-id-2378' visibility='default' filepath='include/media/v4l2-subdev.h' line='742' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='sensor' type-id='type-id-2379' visibility='default' filepath='include/media/v4l2-subdev.h' line='743' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='pad' type-id='type-id-2380' visibility='default' filepath='include/media/v4l2-subdev.h' line='744' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_subdev_core_ops' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/media/v4l2-subdev.h' line='197' column='1' id='type-id-2381'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='log_status' type-id='type-id-2382' visibility='default' filepath='include/media/v4l2-subdev.h' line='198' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='s_io_pin_config' type-id='type-id-2383' visibility='default' filepath='include/media/v4l2-subdev.h' line='199' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='init' type-id='type-id-2384' visibility='default' filepath='include/media/v4l2-subdev.h' line='201' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='load_fw' type-id='type-id-2382' visibility='default' filepath='include/media/v4l2-subdev.h' line='202' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='reset' type-id='type-id-2384' visibility='default' filepath='include/media/v4l2-subdev.h' line='203' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='s_gpio' type-id='type-id-2384' visibility='default' filepath='include/media/v4l2-subdev.h' line='204' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='ioctl' type-id='type-id-2385' visibility='default' filepath='include/media/v4l2-subdev.h' line='205' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='compat_ioctl32' type-id='type-id-2386' visibility='default' filepath='include/media/v4l2-subdev.h' line='207' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='s_power' type-id='type-id-2387' visibility='default' filepath='include/media/v4l2-subdev.h' line='214' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='interrupt_service_routine' type-id='type-id-2388' visibility='default' filepath='include/media/v4l2-subdev.h' line='215' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='subscribe_event' type-id='type-id-2389' visibility='default' filepath='include/media/v4l2-subdev.h' line='217' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='unsubscribe_event' type-id='type-id-2389' visibility='default' filepath='include/media/v4l2-subdev.h' line='219' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_subdev_io_pin_config' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/media/v4l2-subdev.h' line='141' column='1' id='type-id-2390'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='flags' type-id='type-id-9' visibility='default' filepath='include/media/v4l2-subdev.h' line='142' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='pin' type-id='type-id-53' visibility='default' filepath='include/media/v4l2-subdev.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='40'>
+          <var-decl name='function' type-id='type-id-53' visibility='default' filepath='include/media/v4l2-subdev.h' line='144' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='value' type-id='type-id-53' visibility='default' filepath='include/media/v4l2-subdev.h' line='145' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='56'>
+          <var-decl name='strength' type-id='type-id-53' visibility='default' filepath='include/media/v4l2-subdev.h' line='146' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_fh' size-in-bits='1088' is-struct='yes' visibility='default' filepath='include/media/v4l2-fh.h' line='50' column='1' id='type-id-2391'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/media/v4l2-fh.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='vdev' type-id='type-id-2368' visibility='default' filepath='include/media/v4l2-fh.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='ctrl_handler' type-id='type-id-2348' visibility='default' filepath='include/media/v4l2-fh.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='prio' type-id='type-id-2392' visibility='default' filepath='include/media/v4l2-fh.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='wait' type-id='type-id-388' visibility='default' filepath='include/media/v4l2-fh.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='subscribe_lock' type-id='type-id-407' visibility='default' filepath='include/media/v4l2-fh.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='subscribed' type-id='type-id-8' visibility='default' filepath='include/media/v4l2-fh.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='available' type-id='type-id-8' visibility='default' filepath='include/media/v4l2-fh.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='navailable' type-id='type-id-10' visibility='default' filepath='include/media/v4l2-fh.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1056'>
+          <var-decl name='sequence' type-id='type-id-9' visibility='default' filepath='include/media/v4l2-fh.h' line='62' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='v4l2_priority' filepath='include/uapi/linux/videodev2.h' line='396' column='1' id='type-id-2392'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='V4L2_PRIORITY_UNSET' value='0'/>
+        <enumerator name='V4L2_PRIORITY_BACKGROUND' value='1'/>
+        <enumerator name='V4L2_PRIORITY_INTERACTIVE' value='2'/>
+        <enumerator name='V4L2_PRIORITY_RECORD' value='3'/>
+        <enumerator name='V4L2_PRIORITY_DEFAULT' value='2'/>
+      </enum-decl>
+      <class-decl name='v4l2_event_subscription' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2258' column='1' id='type-id-2393'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2259' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='id' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2260' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='flags' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2261' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='reserved' type-id='type-id-2394' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2262' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_subdev_tuner_ops' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/media/v4l2-subdev.h' line='273' column='1' id='type-id-2395'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='standby' type-id='type-id-2382' visibility='default' filepath='include/media/v4l2-subdev.h' line='274' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='s_radio' type-id='type-id-2382' visibility='default' filepath='include/media/v4l2-subdev.h' line='275' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='s_frequency' type-id='type-id-2396' visibility='default' filepath='include/media/v4l2-subdev.h' line='276' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='g_frequency' type-id='type-id-2397' visibility='default' filepath='include/media/v4l2-subdev.h' line='277' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='enum_freq_bands' type-id='type-id-2398' visibility='default' filepath='include/media/v4l2-subdev.h' line='278' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='g_tuner' type-id='type-id-2399' visibility='default' filepath='include/media/v4l2-subdev.h' line='279' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='s_tuner' type-id='type-id-2400' visibility='default' filepath='include/media/v4l2-subdev.h' line='280' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='g_modulator' type-id='type-id-2401' visibility='default' filepath='include/media/v4l2-subdev.h' line='281' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='s_modulator' type-id='type-id-2402' visibility='default' filepath='include/media/v4l2-subdev.h' line='282' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='s_type_addr' type-id='type-id-2403' visibility='default' filepath='include/media/v4l2-subdev.h' line='283' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='s_config' type-id='type-id-2404' visibility='default' filepath='include/media/v4l2-subdev.h' line='284' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_frequency' size-in-bits='352' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1769' column='1' id='type-id-2405'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='tuner' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1770' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1771' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='frequency' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1772' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='reserved' type-id='type-id-2406' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1773' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_frequency_band' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1780' column='1' id='type-id-2407'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='tuner' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1781' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1782' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='index' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1783' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='capability' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1784' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='rangelow' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1785' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='rangehigh' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1786' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='modulation' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1787' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='reserved' type-id='type-id-2320' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1788' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_tuner' size-in-bits='672' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1712' column='1' id='type-id-2408'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='index' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1713' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='name' type-id='type-id-2409' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1714' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1715' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='capability' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1716' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='rangelow' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1717' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='rangehigh' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1718' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='rxsubchans' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1719' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='audmode' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1720' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='signal' type-id='type-id-2310' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1721' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='afc' type-id='type-id-2310' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1722' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='reserved' type-id='type-id-1279' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1723' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_modulator' size-in-bits='544' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1726' column='1' id='type-id-2410'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='index' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1727' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='name' type-id='type-id-2409' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1728' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='capability' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1729' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='rangelow' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1730' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='rangehigh' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1731' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='txsubchans' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1732' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1733' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='reserved' type-id='type-id-2411' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1734' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_priv_tun_config' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/media/v4l2-common.h' line='263' column='1' id='type-id-2412'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='tuner' type-id='type-id-11' visibility='default' filepath='include/media/v4l2-common.h' line='264' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='priv' type-id='type-id-3' visibility='default' filepath='include/media/v4l2-common.h' line='265' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_subdev_audio_ops' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/media/v4l2-subdev.h' line='313' column='1' id='type-id-2413'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='s_clock_freq' type-id='type-id-2384' visibility='default' filepath='include/media/v4l2-subdev.h' line='314' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='s_i2s_clock_freq' type-id='type-id-2384' visibility='default' filepath='include/media/v4l2-subdev.h' line='315' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='s_routing' type-id='type-id-2414' visibility='default' filepath='include/media/v4l2-subdev.h' line='316' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='s_stream' type-id='type-id-2387' visibility='default' filepath='include/media/v4l2-subdev.h' line='317' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_subdev_video_ops' size-in-bits='1280' is-struct='yes' visibility='default' filepath='include/media/v4l2-subdev.h' line='424' column='1' id='type-id-2415'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='s_routing' type-id='type-id-2414' visibility='default' filepath='include/media/v4l2-subdev.h' line='425' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='s_crystal_freq' type-id='type-id-2416' visibility='default' filepath='include/media/v4l2-subdev.h' line='426' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='g_std' type-id='type-id-2417' visibility='default' filepath='include/media/v4l2-subdev.h' line='427' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='s_std' type-id='type-id-2418' visibility='default' filepath='include/media/v4l2-subdev.h' line='428' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='s_std_output' type-id='type-id-2418' visibility='default' filepath='include/media/v4l2-subdev.h' line='429' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='g_std_output' type-id='type-id-2417' visibility='default' filepath='include/media/v4l2-subdev.h' line='430' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='querystd' type-id='type-id-2417' visibility='default' filepath='include/media/v4l2-subdev.h' line='431' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='g_tvnorms' type-id='type-id-2417' visibility='default' filepath='include/media/v4l2-subdev.h' line='432' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='g_tvnorms_output' type-id='type-id-2417' visibility='default' filepath='include/media/v4l2-subdev.h' line='433' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='g_input_status' type-id='type-id-2419' visibility='default' filepath='include/media/v4l2-subdev.h' line='434' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='s_stream' type-id='type-id-2387' visibility='default' filepath='include/media/v4l2-subdev.h' line='435' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='g_pixelaspect' type-id='type-id-2420' visibility='default' filepath='include/media/v4l2-subdev.h' line='436' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='g_frame_interval' type-id='type-id-2421' visibility='default' filepath='include/media/v4l2-subdev.h' line='437' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='s_frame_interval' type-id='type-id-2421' visibility='default' filepath='include/media/v4l2-subdev.h' line='439' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='s_dv_timings' type-id='type-id-2422' visibility='default' filepath='include/media/v4l2-subdev.h' line='441' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='g_dv_timings' type-id='type-id-2422' visibility='default' filepath='include/media/v4l2-subdev.h' line='443' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='query_dv_timings' type-id='type-id-2422' visibility='default' filepath='include/media/v4l2-subdev.h' line='445' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='g_mbus_config' type-id='type-id-2423' visibility='default' filepath='include/media/v4l2-subdev.h' line='447' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='s_mbus_config' type-id='type-id-2424' visibility='default' filepath='include/media/v4l2-subdev.h' line='449' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='s_rx_buffer' type-id='type-id-2425' visibility='default' filepath='include/media/v4l2-subdev.h' line='451' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='v4l2_std_id' type-id='type-id-1120' filepath='include/uapi/linux/videodev2.h' line='1138' column='1' id='type-id-2353'/>
+      <class-decl name='v4l2_fract' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='411' column='1' id='type-id-2426'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='numerator' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='412' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='denominator' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='413' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_subdev_frame_interval' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='107' column='1' id='type-id-2427'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='pad' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='108' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='interval' type-id='type-id-2426' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='109' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='reserved' type-id='type-id-2320' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='110' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_dv_timings' size-in-bits='1056' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1430' column='1' id='type-id-2428'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1431' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='' type-id='type-id-2429' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1432' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__1' size-in-bits='1024' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1432' column='1' id='type-id-2429'>
+        <data-member access='private'>
+          <var-decl name='bt' type-id='type-id-2430' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1433' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='reserved' type-id='type-id-2318' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1434' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='v4l2_bt_timings' size-in-bits='992' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1314' column='1' id='type-id-2430'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='width' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1315' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='height' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1316' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='interlaced' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1317' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='polarities' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1318' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='pixelclock' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1319' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='hfrontporch' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1320' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='hsync' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1321' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='hbackporch' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1322' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='vfrontporch' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1323' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='vsync' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1324' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='vbackporch' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1325' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='il_vfrontporch' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1326' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='il_vsync' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1327' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='il_vbackporch' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1328' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='standards' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1329' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='flags' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1330' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='picture_aspect' type-id='type-id-2426' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1331' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='cea861_vic' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1332' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='616'>
+          <var-decl name='hdmi_vic' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1333' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='624'>
+          <var-decl name='reserved' type-id='type-id-2325' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1334' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_mbus_config' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/media/v4l2-mediabus.h' line='93' column='1' id='type-id-2431'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-2432' visibility='default' filepath='include/media/v4l2-mediabus.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='include/media/v4l2-mediabus.h' line='95' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='v4l2_mbus_type' filepath='include/media/v4l2-mediabus.h' line='80' column='1' id='type-id-2432'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='V4L2_MBUS_PARALLEL' value='0'/>
+        <enumerator name='V4L2_MBUS_BT656' value='1'/>
+        <enumerator name='V4L2_MBUS_CSI1' value='2'/>
+        <enumerator name='V4L2_MBUS_CCP2' value='3'/>
+        <enumerator name='V4L2_MBUS_CSI2' value='4'/>
+      </enum-decl>
+      <class-decl name='v4l2_subdev_vbi_ops' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/media/v4l2-subdev.h' line='490' column='1' id='type-id-2433'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='decode_vbi_line' type-id='type-id-2434' visibility='default' filepath='include/media/v4l2-subdev.h' line='491' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='s_vbi_data' type-id='type-id-2435' visibility='default' filepath='include/media/v4l2-subdev.h' line='492' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='g_vbi_data' type-id='type-id-2436' visibility='default' filepath='include/media/v4l2-subdev.h' line='493' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='g_sliced_vbi_cap' type-id='type-id-2437' visibility='default' filepath='include/media/v4l2-subdev.h' line='494' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='s_raw_fmt' type-id='type-id-2438' visibility='default' filepath='include/media/v4l2-subdev.h' line='495' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='g_sliced_fmt' type-id='type-id-2439' visibility='default' filepath='include/media/v4l2-subdev.h' line='496' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='s_sliced_fmt' type-id='type-id-2439' visibility='default' filepath='include/media/v4l2-subdev.h' line='497' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_decode_vbi_line' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/media/v4l2-subdev.h' line='61' column='1' id='type-id-2440'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='is_second_field' type-id='type-id-9' visibility='default' filepath='include/media/v4l2-subdev.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='p' type-id='type-id-67' visibility='default' filepath='include/media/v4l2-subdev.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='line' type-id='type-id-9' visibility='default' filepath='include/media/v4l2-subdev.h' line='64' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='type' type-id='type-id-9' visibility='default' filepath='include/media/v4l2-subdev.h' line='65' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_sliced_vbi_data' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2014' column='1' id='type-id-2441'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='id' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2015' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='field' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2016' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='line' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2017' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='reserved' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2018' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='data' type-id='type-id-2327' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2019' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_sliced_vbi_cap' size-in-bits='928' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2003' column='1' id='type-id-2442'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='service_set' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2004' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='service_lines' type-id='type-id-2313' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2009' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='800'>
+          <var-decl name='type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2010' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='reserved' type-id='type-id-2411' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2011' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_vbi_format' size-in-bits='352' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1951' column='1' id='type-id-2443'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='sampling_rate' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1952' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='offset' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1953' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='samples_per_line' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1954' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='sample_format' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1955' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='start' type-id='type-id-2311' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1956' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='count' type-id='type-id-2444' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1957' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='flags' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1958' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='reserved' type-id='type-id-2444' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1959' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_sliced_vbi_format' size-in-bits='896' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1979' column='1' id='type-id-2445'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='service_set' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1980' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='service_lines' type-id='type-id-2313' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1985' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='800'>
+          <var-decl name='io_size' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1986' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='reserved' type-id='type-id-2444' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1987' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_subdev_ir_ops' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/media/v4l2-subdev.h' line='608' column='1' id='type-id-2446'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='rx_read' type-id='type-id-2447' visibility='default' filepath='include/media/v4l2-subdev.h' line='610' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='rx_g_parameters' type-id='type-id-2448' visibility='default' filepath='include/media/v4l2-subdev.h' line='613' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='rx_s_parameters' type-id='type-id-2448' visibility='default' filepath='include/media/v4l2-subdev.h' line='615' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='tx_write' type-id='type-id-2447' visibility='default' filepath='include/media/v4l2-subdev.h' line='619' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='tx_g_parameters' type-id='type-id-2448' visibility='default' filepath='include/media/v4l2-subdev.h' line='622' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='tx_s_parameters' type-id='type-id-2448' visibility='default' filepath='include/media/v4l2-subdev.h' line='624' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_subdev_ir_parameters' size-in-bits='352' is-struct='yes' visibility='default' filepath='include/media/v4l2-subdev.h' line='549' column='1' id='type-id-2449'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bytes_per_data_element' type-id='type-id-10' visibility='default' filepath='include/media/v4l2-subdev.h' line='550' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='mode' type-id='type-id-2450' visibility='default' filepath='include/media/v4l2-subdev.h' line='551' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='enable' type-id='type-id-211' visibility='default' filepath='include/media/v4l2-subdev.h' line='553' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='72'>
+          <var-decl name='interrupt_enable' type-id='type-id-211' visibility='default' filepath='include/media/v4l2-subdev.h' line='554' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='80'>
+          <var-decl name='shutdown' type-id='type-id-211' visibility='default' filepath='include/media/v4l2-subdev.h' line='555' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='88'>
+          <var-decl name='modulation' type-id='type-id-211' visibility='default' filepath='include/media/v4l2-subdev.h' line='557' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='max_pulse_width' type-id='type-id-9' visibility='default' filepath='include/media/v4l2-subdev.h' line='558' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='carrier_freq' type-id='type-id-10' visibility='default' filepath='include/media/v4l2-subdev.h' line='559' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='duty_cycle' type-id='type-id-10' visibility='default' filepath='include/media/v4l2-subdev.h' line='560' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='invert_level' type-id='type-id-211' visibility='default' filepath='include/media/v4l2-subdev.h' line='561' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='200'>
+          <var-decl name='invert_carrier_sense' type-id='type-id-211' visibility='default' filepath='include/media/v4l2-subdev.h' line='564' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='noise_filter_min_width' type-id='type-id-9' visibility='default' filepath='include/media/v4l2-subdev.h' line='567' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='carrier_range_lower' type-id='type-id-10' visibility='default' filepath='include/media/v4l2-subdev.h' line='568' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='carrier_range_upper' type-id='type-id-10' visibility='default' filepath='include/media/v4l2-subdev.h' line='569' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='resolution' type-id='type-id-9' visibility='default' filepath='include/media/v4l2-subdev.h' line='570' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='v4l2_subdev_ir_mode' filepath='include/media/v4l2-subdev.h' line='520' column='1' id='type-id-2450'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='V4L2_SUBDEV_IR_MODE_PULSE_WIDTH' value='0'/>
+      </enum-decl>
+      <class-decl name='v4l2_subdev_sensor_ops' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/media/v4l2-subdev.h' line='510' column='1' id='type-id-2451'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='g_skip_top_lines' type-id='type-id-2419' visibility='default' filepath='include/media/v4l2-subdev.h' line='511' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='g_skip_frames' type-id='type-id-2419' visibility='default' filepath='include/media/v4l2-subdev.h' line='512' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_subdev_pad_ops' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/media/v4l2-subdev.h' line='683' column='1' id='type-id-2452'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='init_cfg' type-id='type-id-2453' visibility='default' filepath='include/media/v4l2-subdev.h' line='684' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='enum_mbus_code' type-id='type-id-2454' visibility='default' filepath='include/media/v4l2-subdev.h' line='686' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='enum_frame_size' type-id='type-id-2455' visibility='default' filepath='include/media/v4l2-subdev.h' line='689' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='enum_frame_interval' type-id='type-id-2456' visibility='default' filepath='include/media/v4l2-subdev.h' line='692' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='get_fmt' type-id='type-id-2457' visibility='default' filepath='include/media/v4l2-subdev.h' line='695' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='set_fmt' type-id='type-id-2457' visibility='default' filepath='include/media/v4l2-subdev.h' line='698' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='get_selection' type-id='type-id-2458' visibility='default' filepath='include/media/v4l2-subdev.h' line='701' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='set_selection' type-id='type-id-2458' visibility='default' filepath='include/media/v4l2-subdev.h' line='704' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='get_edid' type-id='type-id-2459' visibility='default' filepath='include/media/v4l2-subdev.h' line='707' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='set_edid' type-id='type-id-2459' visibility='default' filepath='include/media/v4l2-subdev.h' line='708' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='dv_timings_cap' type-id='type-id-2460' visibility='default' filepath='include/media/v4l2-subdev.h' line='709' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='enum_dv_timings' type-id='type-id-2461' visibility='default' filepath='include/media/v4l2-subdev.h' line='711' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='link_validate' type-id='type-id-2462' visibility='default' filepath='include/media/v4l2-subdev.h' line='714' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='get_frame_desc' type-id='type-id-2463' visibility='default' filepath='include/media/v4l2-subdev.h' line='718' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='set_frame_desc' type-id='type-id-2463' visibility='default' filepath='include/media/v4l2-subdev.h' line='720' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_subdev_pad_config' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/media/v4l2-subdev.h' line='639' column='1' id='type-id-2464'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='try_fmt' type-id='type-id-2465' visibility='default' filepath='include/media/v4l2-subdev.h' line='640' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='try_crop' type-id='type-id-2466' visibility='default' filepath='include/media/v4l2-subdev.h' line='641' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='try_compose' type-id='type-id-2466' visibility='default' filepath='include/media/v4l2-subdev.h' line='642' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_mbus_framefmt' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/uapi/linux/v4l2-mediabus.h' line='30' column='1' id='type-id-2465'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='width' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/v4l2-mediabus.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='height' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/v4l2-mediabus.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='code' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/v4l2-mediabus.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='field' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/v4l2-mediabus.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='colorspace' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/v4l2-mediabus.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='ycbcr_enc' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/v4l2-mediabus.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='176'>
+          <var-decl name='quantization' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/v4l2-mediabus.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='xfer_func' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/v4l2-mediabus.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='208'>
+          <var-decl name='reserved' type-id='type-id-2312' visibility='default' filepath='include/uapi/linux/v4l2-mediabus.h' line='39' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_rect' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='404' column='1' id='type-id-2466'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='left' type-id='type-id-2310' visibility='default' filepath='include/uapi/linux/videodev2.h' line='405' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='top' type-id='type-id-2310' visibility='default' filepath='include/uapi/linux/videodev2.h' line='406' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='width' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='407' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='height' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='408' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_subdev_mbus_code_enum' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='75' column='1' id='type-id-2467'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='pad' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='index' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='code' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='which' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='reserved' type-id='type-id-2406' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='80' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_subdev_frame_size_enum' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='90' column='1' id='type-id-2468'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='index' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='pad' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='92' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='code' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='min_width' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='max_width' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='min_height' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='max_height' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='which' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='98' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='reserved' type-id='type-id-2406' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='99' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_subdev_frame_interval_enum' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='123' column='1' id='type-id-2469'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='index' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='124' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='pad' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='125' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='code' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='width' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='127' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='height' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='128' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='interval' type-id='type-id-2426' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='129' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='which' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='130' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='reserved' type-id='type-id-2406' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='131' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_subdev_format' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='48' column='1' id='type-id-2470'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='which' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='pad' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='format' type-id='type-id-2465' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='reserved' type-id='type-id-2406' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='52' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_subdev_selection' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='149' column='1' id='type-id-2471'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='which' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='150' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='pad' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='151' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='target' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='152' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='flags' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='153' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='r' type-id='type-id-2466' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='154' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='reserved' type-id='type-id-2406' visibility='default' filepath='include/uapi/linux/v4l2-subdev.h' line='155' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_edid' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/uapi/linux/v4l2-common.h' line='100' column='1' id='type-id-2472'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='pad' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/v4l2-common.h' line='101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='start_block' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/v4l2-common.h' line='102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='blocks' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/v4l2-common.h' line='103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='reserved' type-id='type-id-2394' visibility='default' filepath='include/uapi/linux/v4l2-common.h' line='104' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='edid' type-id='type-id-1724' visibility='default' filepath='include/uapi/linux/v4l2-common.h' line='105' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_dv_timings_cap' size-in-bits='1152' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1494' column='1' id='type-id-2473'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1495' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='pad' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1496' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='reserved' type-id='type-id-2444' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1497' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='' type-id='type-id-2474' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1498' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__2' size-in-bits='1024' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1498' column='1' id='type-id-2474'>
+        <data-member access='private'>
+          <var-decl name='bt' type-id='type-id-2475' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1499' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='raw_data' type-id='type-id-2318' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1500' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='v4l2_bt_timings_cap' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1467' column='1' id='type-id-2475'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='min_width' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1468' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='max_width' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1469' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='min_height' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1470' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='max_height' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1471' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='min_pixelclock' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1472' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='max_pixelclock' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1473' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='standards' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1474' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='capabilities' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1475' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='reserved' type-id='type-id-2316' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1476' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_enum_dv_timings' size-in-bits='1184' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1449' column='1' id='type-id-2476'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='index' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1450' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='pad' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1451' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='reserved' type-id='type-id-2444' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1452' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='timings' type-id='type-id-2428' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1453' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__3' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/media/media-entity.h' line='143' column='1' id='type-id-2477'>
+        <data-member access='private'>
+          <var-decl name='gobj0' type-id='type-id-2278' visibility='default' filepath='include/media/media-entity.h' line='144' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='source' type-id='type-id-2267' visibility='default' filepath='include/media/media-entity.h' line='145' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='intf' type-id='type-id-2281' visibility='default' filepath='include/media/media-entity.h' line='146' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='v4l2_mbus_frame_desc' size-in-bits='416' is-struct='yes' visibility='default' filepath='include/media/v4l2-subdev.h' line='357' column='1' id='type-id-2478'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='entry' type-id='type-id-2340' visibility='default' filepath='include/media/v4l2-subdev.h' line='358' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='num_entries' type-id='type-id-288' visibility='default' filepath='include/media/v4l2-subdev.h' line='359' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_mbus_frame_desc_entry' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/media/v4l2-subdev.h' line='344' column='1' id='type-id-2339'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='flags' type-id='type-id-2479' visibility='default' filepath='include/media/v4l2-subdev.h' line='345' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='pixelcode' type-id='type-id-9' visibility='default' filepath='include/media/v4l2-subdev.h' line='346' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='length' type-id='type-id-9' visibility='default' filepath='include/media/v4l2-subdev.h' line='347' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='v4l2_mbus_frame_desc_flags' filepath='include/media/v4l2-subdev.h' line='330' column='1' id='type-id-2479'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='V4L2_MBUS_FRAME_DESC_FL_LEN_MAX' value='1'/>
+        <enumerator name='V4L2_MBUS_FRAME_DESC_FL_BLOB' value='2'/>
+      </enum-decl>
+      <class-decl name='v4l2_subdev_internal_ops' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/media/v4l2-subdev.h' line='764' column='1' id='type-id-2480'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='registered' type-id='type-id-2382' visibility='default' filepath='include/media/v4l2-subdev.h' line='765' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='unregistered' type-id='type-id-2481' visibility='default' filepath='include/media/v4l2-subdev.h' line='766' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='open' type-id='type-id-2482' visibility='default' filepath='include/media/v4l2-subdev.h' line='767' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='close' type-id='type-id-2482' visibility='default' filepath='include/media/v4l2-subdev.h' line='768' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_subdev_fh' size-in-bits='1088' is-struct='yes' visibility='default' filepath='include/media/v4l2-subdev.h' line='899' column='1' id='type-id-2483'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='vfh' type-id='type-id-2391' visibility='default' filepath='include/media/v4l2-subdev.h' line='900' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_async_subdev' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/media/v4l2-async.h' line='83' column='1' id='type-id-2484'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='match_type' type-id='type-id-2485' visibility='default' filepath='include/media/v4l2-async.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='match' type-id='type-id-2486' visibility='default' filepath='include/media/v4l2-async.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/media/v4l2-async.h' line='100' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='v4l2_async_match_type' filepath='include/media/v4l2-async.h' line='39' column='1' id='type-id-2485'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='V4L2_ASYNC_MATCH_CUSTOM' value='0'/>
+        <enumerator name='V4L2_ASYNC_MATCH_DEVNAME' value='1'/>
+        <enumerator name='V4L2_ASYNC_MATCH_I2C' value='2'/>
+        <enumerator name='V4L2_ASYNC_MATCH_FWNODE' value='3'/>
+      </enum-decl>
+      <union-decl name='__anonymous_union__4' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/media/v4l2-async.h' line='85' column='1' id='type-id-2486'>
+        <data-member access='private'>
+          <var-decl name='fwnode' type-id='type-id-575' visibility='default' filepath='include/media/v4l2-async.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='device_name' type-id='type-id-24' visibility='default' filepath='include/media/v4l2-async.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='i2c' type-id='type-id-2487' visibility='default' filepath='include/media/v4l2-async.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='custom' type-id='type-id-2488' visibility='default' filepath='include/media/v4l2-async.h' line='96' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__1' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/media/v4l2-async.h' line='88' column='1' id='type-id-2487'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='adapter_id' type-id='type-id-11' visibility='default' filepath='include/media/v4l2-async.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='address' type-id='type-id-288' visibility='default' filepath='include/media/v4l2-async.h' line='90' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__2' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/media/v4l2-async.h' line='92' column='1' id='type-id-2488'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='match' type-id='type-id-2489' visibility='default' filepath='include/media/v4l2-async.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='priv' type-id='type-id-3' visibility='default' filepath='include/media/v4l2-async.h' line='95' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_async_notifier' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/media/v4l2-async.h' line='134' column='1' id='type-id-2490'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ops' type-id='type-id-2491' visibility='default' filepath='include/media/v4l2-async.h' line='135' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='num_subdevs' type-id='type-id-10' visibility='default' filepath='include/media/v4l2-async.h' line='136' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='max_subdevs' type-id='type-id-10' visibility='default' filepath='include/media/v4l2-async.h' line='137' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='subdevs' type-id='type-id-2492' visibility='default' filepath='include/media/v4l2-async.h' line='138' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='v4l2_dev' type-id='type-id-2347' visibility='default' filepath='include/media/v4l2-async.h' line='139' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='sd' type-id='type-id-2493' visibility='default' filepath='include/media/v4l2-async.h' line='140' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='parent' type-id='type-id-2370' visibility='default' filepath='include/media/v4l2-async.h' line='141' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='waiting' type-id='type-id-8' visibility='default' filepath='include/media/v4l2-async.h' line='142' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='done' type-id='type-id-8' visibility='default' filepath='include/media/v4l2-async.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/media/v4l2-async.h' line='144' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_async_notifier_operations' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/media/v4l2-async.h' line='110' column='1' id='type-id-2494'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bound' type-id='type-id-2495' visibility='default' filepath='include/media/v4l2-async.h' line='111' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='complete' type-id='type-id-2496' visibility='default' filepath='include/media/v4l2-async.h' line='114' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='unbind' type-id='type-id-2497' visibility='default' filepath='include/media/v4l2-async.h' line='115' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_subdev_platform_data' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/media/v4l2-subdev.h' line='791' column='1' id='type-id-2498'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='regulators' type-id='type-id-2499' visibility='default' filepath='include/media/v4l2-subdev.h' line='792' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='num_regulators' type-id='type-id-11' visibility='default' filepath='include/media/v4l2-subdev.h' line='793' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='host_priv' type-id='type-id-3' visibility='default' filepath='include/media/v4l2-subdev.h' line='795' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_prio_state' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/media/v4l2-dev.h' line='95' column='1' id='type-id-2363'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='prios' type-id='type-id-2329' visibility='default' filepath='include/media/v4l2-dev.h' line='96' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='vfl_devnode_type' filepath='include/media/v4l2-dev.h' line='35' column='1' id='type-id-2351'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='VFL_TYPE_GRABBER' value='0'/>
+        <enumerator name='VFL_TYPE_VBI' value='1'/>
+        <enumerator name='VFL_TYPE_RADIO' value='2'/>
+        <enumerator name='VFL_TYPE_SUBDEV' value='3'/>
+        <enumerator name='VFL_TYPE_SDR' value='4'/>
+        <enumerator name='VFL_TYPE_TOUCH' value='5'/>
+        <enumerator name='VFL_TYPE_MAX' value='6'/>
+      </enum-decl>
+      <enum-decl name='vfl_devnode_direction' filepath='include/media/v4l2-dev.h' line='55' column='1' id='type-id-2352'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='VFL_DIR_RX' value='0'/>
+        <enumerator name='VFL_DIR_TX' value='1'/>
+        <enumerator name='VFL_DIR_M2M' value='2'/>
+      </enum-decl>
+      <class-decl name='v4l2_ioctl_ops' size-in-bits='7616' is-struct='yes' visibility='default' filepath='include/media/v4l2-ioctl.h' line='297' column='1' id='type-id-2500'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='vidioc_querycap' type-id='type-id-2501' visibility='default' filepath='include/media/v4l2-ioctl.h' line='301' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='vidioc_enum_fmt_vid_cap' type-id='type-id-2502' visibility='default' filepath='include/media/v4l2-ioctl.h' line='305' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='vidioc_enum_fmt_vid_overlay' type-id='type-id-2502' visibility='default' filepath='include/media/v4l2-ioctl.h' line='307' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='vidioc_enum_fmt_vid_out' type-id='type-id-2502' visibility='default' filepath='include/media/v4l2-ioctl.h' line='309' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='vidioc_enum_fmt_vid_cap_mplane' type-id='type-id-2502' visibility='default' filepath='include/media/v4l2-ioctl.h' line='311' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='vidioc_enum_fmt_vid_out_mplane' type-id='type-id-2502' visibility='default' filepath='include/media/v4l2-ioctl.h' line='313' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='vidioc_enum_fmt_sdr_cap' type-id='type-id-2502' visibility='default' filepath='include/media/v4l2-ioctl.h' line='315' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='vidioc_enum_fmt_sdr_out' type-id='type-id-2502' visibility='default' filepath='include/media/v4l2-ioctl.h' line='317' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='vidioc_enum_fmt_meta_cap' type-id='type-id-2502' visibility='default' filepath='include/media/v4l2-ioctl.h' line='319' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='vidioc_g_fmt_vid_cap' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='323' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='vidioc_g_fmt_vid_overlay' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='325' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='vidioc_g_fmt_vid_out' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='327' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='vidioc_g_fmt_vid_out_overlay' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='329' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='vidioc_g_fmt_vbi_cap' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='331' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='vidioc_g_fmt_vbi_out' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='333' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='vidioc_g_fmt_sliced_vbi_cap' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='335' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='vidioc_g_fmt_sliced_vbi_out' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='337' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='vidioc_g_fmt_vid_cap_mplane' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='339' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='vidioc_g_fmt_vid_out_mplane' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='341' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='vidioc_g_fmt_sdr_cap' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='343' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='vidioc_g_fmt_sdr_out' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='345' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='vidioc_g_fmt_meta_cap' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='347' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='vidioc_s_fmt_vid_cap' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='351' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='vidioc_s_fmt_vid_overlay' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='353' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='vidioc_s_fmt_vid_out' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='355' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='vidioc_s_fmt_vid_out_overlay' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='357' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='vidioc_s_fmt_vbi_cap' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='359' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='vidioc_s_fmt_vbi_out' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='361' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='vidioc_s_fmt_sliced_vbi_cap' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='363' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='vidioc_s_fmt_sliced_vbi_out' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='365' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='vidioc_s_fmt_vid_cap_mplane' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='367' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='vidioc_s_fmt_vid_out_mplane' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='369' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='vidioc_s_fmt_sdr_cap' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='371' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='vidioc_s_fmt_sdr_out' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='373' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='vidioc_s_fmt_meta_cap' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='375' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='vidioc_try_fmt_vid_cap' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='379' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='vidioc_try_fmt_vid_overlay' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='381' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='vidioc_try_fmt_vid_out' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='383' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='vidioc_try_fmt_vid_out_overlay' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='385' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='vidioc_try_fmt_vbi_cap' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='387' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='vidioc_try_fmt_vbi_out' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='389' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2624'>
+          <var-decl name='vidioc_try_fmt_sliced_vbi_cap' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='391' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2688'>
+          <var-decl name='vidioc_try_fmt_sliced_vbi_out' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='393' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2752'>
+          <var-decl name='vidioc_try_fmt_vid_cap_mplane' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='395' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2816'>
+          <var-decl name='vidioc_try_fmt_vid_out_mplane' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='397' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2880'>
+          <var-decl name='vidioc_try_fmt_sdr_cap' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='399' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2944'>
+          <var-decl name='vidioc_try_fmt_sdr_out' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='401' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3008'>
+          <var-decl name='vidioc_try_fmt_meta_cap' type-id='type-id-2503' visibility='default' filepath='include/media/v4l2-ioctl.h' line='403' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3072'>
+          <var-decl name='vidioc_reqbufs' type-id='type-id-2504' visibility='default' filepath='include/media/v4l2-ioctl.h' line='407' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3136'>
+          <var-decl name='vidioc_querybuf' type-id='type-id-2505' visibility='default' filepath='include/media/v4l2-ioctl.h' line='409' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3200'>
+          <var-decl name='vidioc_qbuf' type-id='type-id-2505' visibility='default' filepath='include/media/v4l2-ioctl.h' line='411' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3264'>
+          <var-decl name='vidioc_expbuf' type-id='type-id-2506' visibility='default' filepath='include/media/v4l2-ioctl.h' line='413' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3328'>
+          <var-decl name='vidioc_dqbuf' type-id='type-id-2505' visibility='default' filepath='include/media/v4l2-ioctl.h' line='415' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3392'>
+          <var-decl name='vidioc_create_bufs' type-id='type-id-2507' visibility='default' filepath='include/media/v4l2-ioctl.h' line='418' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3456'>
+          <var-decl name='vidioc_prepare_buf' type-id='type-id-2505' visibility='default' filepath='include/media/v4l2-ioctl.h' line='420' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3520'>
+          <var-decl name='vidioc_overlay' type-id='type-id-2508' visibility='default' filepath='include/media/v4l2-ioctl.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3584'>
+          <var-decl name='vidioc_g_fbuf' type-id='type-id-2509' visibility='default' filepath='include/media/v4l2-ioctl.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3648'>
+          <var-decl name='vidioc_s_fbuf' type-id='type-id-2510' visibility='default' filepath='include/media/v4l2-ioctl.h' line='426' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3712'>
+          <var-decl name='vidioc_streamon' type-id='type-id-2511' visibility='default' filepath='include/media/v4l2-ioctl.h' line='430' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3776'>
+          <var-decl name='vidioc_streamoff' type-id='type-id-2511' visibility='default' filepath='include/media/v4l2-ioctl.h' line='432' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3840'>
+          <var-decl name='vidioc_g_std' type-id='type-id-2512' visibility='default' filepath='include/media/v4l2-ioctl.h' line='440' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3904'>
+          <var-decl name='vidioc_s_std' type-id='type-id-2513' visibility='default' filepath='include/media/v4l2-ioctl.h' line='441' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3968'>
+          <var-decl name='vidioc_querystd' type-id='type-id-2512' visibility='default' filepath='include/media/v4l2-ioctl.h' line='442' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4032'>
+          <var-decl name='vidioc_enum_input' type-id='type-id-2514' visibility='default' filepath='include/media/v4l2-ioctl.h' line='445' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4096'>
+          <var-decl name='vidioc_g_input' type-id='type-id-2515' visibility='default' filepath='include/media/v4l2-ioctl.h' line='447' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4160'>
+          <var-decl name='vidioc_s_input' type-id='type-id-2508' visibility='default' filepath='include/media/v4l2-ioctl.h' line='448' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4224'>
+          <var-decl name='vidioc_enum_output' type-id='type-id-2516' visibility='default' filepath='include/media/v4l2-ioctl.h' line='451' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4288'>
+          <var-decl name='vidioc_g_output' type-id='type-id-2515' visibility='default' filepath='include/media/v4l2-ioctl.h' line='453' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4352'>
+          <var-decl name='vidioc_s_output' type-id='type-id-2508' visibility='default' filepath='include/media/v4l2-ioctl.h' line='454' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4416'>
+          <var-decl name='vidioc_queryctrl' type-id='type-id-2517' visibility='default' filepath='include/media/v4l2-ioctl.h' line='457' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4480'>
+          <var-decl name='vidioc_query_ext_ctrl' type-id='type-id-2518' visibility='default' filepath='include/media/v4l2-ioctl.h' line='459' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4544'>
+          <var-decl name='vidioc_g_ctrl' type-id='type-id-2519' visibility='default' filepath='include/media/v4l2-ioctl.h' line='461' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4608'>
+          <var-decl name='vidioc_s_ctrl' type-id='type-id-2519' visibility='default' filepath='include/media/v4l2-ioctl.h' line='463' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4672'>
+          <var-decl name='vidioc_g_ext_ctrls' type-id='type-id-2520' visibility='default' filepath='include/media/v4l2-ioctl.h' line='465' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4736'>
+          <var-decl name='vidioc_s_ext_ctrls' type-id='type-id-2520' visibility='default' filepath='include/media/v4l2-ioctl.h' line='467' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4800'>
+          <var-decl name='vidioc_try_ext_ctrls' type-id='type-id-2520' visibility='default' filepath='include/media/v4l2-ioctl.h' line='469' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4864'>
+          <var-decl name='vidioc_querymenu' type-id='type-id-2521' visibility='default' filepath='include/media/v4l2-ioctl.h' line='471' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4928'>
+          <var-decl name='vidioc_enumaudio' type-id='type-id-2522' visibility='default' filepath='include/media/v4l2-ioctl.h' line='475' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4992'>
+          <var-decl name='vidioc_g_audio' type-id='type-id-2522' visibility='default' filepath='include/media/v4l2-ioctl.h' line='477' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5056'>
+          <var-decl name='vidioc_s_audio' type-id='type-id-2523' visibility='default' filepath='include/media/v4l2-ioctl.h' line='479' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5120'>
+          <var-decl name='vidioc_enumaudout' type-id='type-id-2524' visibility='default' filepath='include/media/v4l2-ioctl.h' line='483' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5184'>
+          <var-decl name='vidioc_g_audout' type-id='type-id-2524' visibility='default' filepath='include/media/v4l2-ioctl.h' line='485' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5248'>
+          <var-decl name='vidioc_s_audout' type-id='type-id-2525' visibility='default' filepath='include/media/v4l2-ioctl.h' line='487' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5312'>
+          <var-decl name='vidioc_g_modulator' type-id='type-id-2526' visibility='default' filepath='include/media/v4l2-ioctl.h' line='489' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5376'>
+          <var-decl name='vidioc_s_modulator' type-id='type-id-2527' visibility='default' filepath='include/media/v4l2-ioctl.h' line='491' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5440'>
+          <var-decl name='vidioc_cropcap' type-id='type-id-2528' visibility='default' filepath='include/media/v4l2-ioctl.h' line='494' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5504'>
+          <var-decl name='vidioc_g_crop' type-id='type-id-2529' visibility='default' filepath='include/media/v4l2-ioctl.h' line='496' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5568'>
+          <var-decl name='vidioc_s_crop' type-id='type-id-2530' visibility='default' filepath='include/media/v4l2-ioctl.h' line='498' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5632'>
+          <var-decl name='vidioc_g_selection' type-id='type-id-2531' visibility='default' filepath='include/media/v4l2-ioctl.h' line='500' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5696'>
+          <var-decl name='vidioc_s_selection' type-id='type-id-2531' visibility='default' filepath='include/media/v4l2-ioctl.h' line='502' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5760'>
+          <var-decl name='vidioc_g_jpegcomp' type-id='type-id-2532' visibility='default' filepath='include/media/v4l2-ioctl.h' line='505' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5824'>
+          <var-decl name='vidioc_s_jpegcomp' type-id='type-id-2533' visibility='default' filepath='include/media/v4l2-ioctl.h' line='507' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5888'>
+          <var-decl name='vidioc_g_enc_index' type-id='type-id-2534' visibility='default' filepath='include/media/v4l2-ioctl.h' line='509' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5952'>
+          <var-decl name='vidioc_encoder_cmd' type-id='type-id-2535' visibility='default' filepath='include/media/v4l2-ioctl.h' line='511' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6016'>
+          <var-decl name='vidioc_try_encoder_cmd' type-id='type-id-2535' visibility='default' filepath='include/media/v4l2-ioctl.h' line='513' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6080'>
+          <var-decl name='vidioc_decoder_cmd' type-id='type-id-2536' visibility='default' filepath='include/media/v4l2-ioctl.h' line='515' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6144'>
+          <var-decl name='vidioc_try_decoder_cmd' type-id='type-id-2536' visibility='default' filepath='include/media/v4l2-ioctl.h' line='517' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6208'>
+          <var-decl name='vidioc_g_parm' type-id='type-id-2537' visibility='default' filepath='include/media/v4l2-ioctl.h' line='521' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6272'>
+          <var-decl name='vidioc_s_parm' type-id='type-id-2537' visibility='default' filepath='include/media/v4l2-ioctl.h' line='523' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6336'>
+          <var-decl name='vidioc_g_tuner' type-id='type-id-2538' visibility='default' filepath='include/media/v4l2-ioctl.h' line='527' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6400'>
+          <var-decl name='vidioc_s_tuner' type-id='type-id-2539' visibility='default' filepath='include/media/v4l2-ioctl.h' line='529' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6464'>
+          <var-decl name='vidioc_g_frequency' type-id='type-id-2540' visibility='default' filepath='include/media/v4l2-ioctl.h' line='531' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6528'>
+          <var-decl name='vidioc_s_frequency' type-id='type-id-2541' visibility='default' filepath='include/media/v4l2-ioctl.h' line='533' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6592'>
+          <var-decl name='vidioc_enum_freq_bands' type-id='type-id-2542' visibility='default' filepath='include/media/v4l2-ioctl.h' line='535' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6656'>
+          <var-decl name='vidioc_g_sliced_vbi_cap' type-id='type-id-2543' visibility='default' filepath='include/media/v4l2-ioctl.h' line='539' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6720'>
+          <var-decl name='vidioc_log_status' type-id='type-id-2544' visibility='default' filepath='include/media/v4l2-ioctl.h' line='543' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6784'>
+          <var-decl name='vidioc_s_hw_freq_seek' type-id='type-id-2545' visibility='default' filepath='include/media/v4l2-ioctl.h' line='545' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6848'>
+          <var-decl name='vidioc_enum_framesizes' type-id='type-id-2546' visibility='default' filepath='include/media/v4l2-ioctl.h' line='559' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6912'>
+          <var-decl name='vidioc_enum_frameintervals' type-id='type-id-2547' visibility='default' filepath='include/media/v4l2-ioctl.h' line='562' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6976'>
+          <var-decl name='vidioc_s_dv_timings' type-id='type-id-2548' visibility='default' filepath='include/media/v4l2-ioctl.h' line='566' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7040'>
+          <var-decl name='vidioc_g_dv_timings' type-id='type-id-2548' visibility='default' filepath='include/media/v4l2-ioctl.h' line='568' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7104'>
+          <var-decl name='vidioc_query_dv_timings' type-id='type-id-2548' visibility='default' filepath='include/media/v4l2-ioctl.h' line='570' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7168'>
+          <var-decl name='vidioc_enum_dv_timings' type-id='type-id-2549' visibility='default' filepath='include/media/v4l2-ioctl.h' line='572' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7232'>
+          <var-decl name='vidioc_dv_timings_cap' type-id='type-id-2550' visibility='default' filepath='include/media/v4l2-ioctl.h' line='574' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7296'>
+          <var-decl name='vidioc_g_edid' type-id='type-id-2551' visibility='default' filepath='include/media/v4l2-ioctl.h' line='576' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7360'>
+          <var-decl name='vidioc_s_edid' type-id='type-id-2551' visibility='default' filepath='include/media/v4l2-ioctl.h' line='578' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7424'>
+          <var-decl name='vidioc_subscribe_event' type-id='type-id-2552' visibility='default' filepath='include/media/v4l2-ioctl.h' line='581' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7488'>
+          <var-decl name='vidioc_unsubscribe_event' type-id='type-id-2552' visibility='default' filepath='include/media/v4l2-ioctl.h' line='583' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7552'>
+          <var-decl name='vidioc_default' type-id='type-id-2553' visibility='default' filepath='include/media/v4l2-ioctl.h' line='587' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_capability' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='427' column='1' id='type-id-2554'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='driver' type-id='type-id-2555' visibility='default' filepath='include/uapi/linux/videodev2.h' line='428' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='card' type-id='type-id-2409' visibility='default' filepath='include/uapi/linux/videodev2.h' line='429' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='bus_info' type-id='type-id-2409' visibility='default' filepath='include/uapi/linux/videodev2.h' line='430' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='version' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='431' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='672'>
+          <var-decl name='capabilities' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='432' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='device_caps' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='433' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='736'>
+          <var-decl name='reserved' type-id='type-id-2411' visibility='default' filepath='include/uapi/linux/videodev2.h' line='434' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_fmtdesc' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='727' column='1' id='type-id-2556'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='index' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='728' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='729' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='flags' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='730' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='description' type-id='type-id-2409' visibility='default' filepath='include/uapi/linux/videodev2.h' line='731' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='pixelformat' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='732' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='reserved' type-id='type-id-1279' visibility='default' filepath='include/uapi/linux/videodev2.h' line='733' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_format' size-in-bits='1664' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2150' column='1' id='type-id-2557'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2151' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='fmt' type-id='type-id-2558' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2161' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__5' size-in-bits='1600' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2152' column='1' id='type-id-2558'>
+        <data-member access='private'>
+          <var-decl name='pix' type-id='type-id-2559' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2153' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='pix_mp' type-id='type-id-2560' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2154' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='win' type-id='type-id-2561' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2155' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='vbi' type-id='type-id-2443' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2156' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='sliced' type-id='type-id-2445' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2157' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='sdr' type-id='type-id-2562' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2158' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='meta' type-id='type-id-2563' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2159' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='raw_data' type-id='type-id-2322' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2160' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='v4l2_pix_format' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='480' column='1' id='type-id-2559'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='width' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='481' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='height' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='482' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='pixelformat' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='483' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='field' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='484' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='bytesperline' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='485' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='sizeimage' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='486' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='colorspace' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='487' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='priv' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='488' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='flags' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='489' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='' type-id='type-id-2564' visibility='default' filepath='include/uapi/linux/videodev2.h' line='490' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='quantization' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='496' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='xfer_func' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='497' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__6' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='490' column='1' id='type-id-2564'>
+        <data-member access='private'>
+          <var-decl name='ycbcr_enc' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='492' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='hsv_enc' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='494' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='v4l2_pix_format_mplane' size-in-bits='1536' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2100' column='1' id='type-id-2560'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='width' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='height' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='pixelformat' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='field' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2104' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='colorspace' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2105' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='plane_fmt' type-id='type-id-2342' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2107' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1440'>
+          <var-decl name='num_planes' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2108' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1448'>
+          <var-decl name='flags' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2109' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1456'>
+          <var-decl name='' type-id='type-id-2565' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2110' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1464'>
+          <var-decl name='quantization' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2114' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='xfer_func' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2115' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1480'>
+          <var-decl name='reserved' type-id='type-id-2328' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2116' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_plane_pix_format' size-in-bits='160' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2080' column='1' id='type-id-2341'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='sizeimage' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2081' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='bytesperline' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2082' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='reserved' type-id='type-id-2314' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2083' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__7' size-in-bits='8' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2110' column='1' id='type-id-2565'>
+        <data-member access='private'>
+          <var-decl name='ycbcr_enc' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2111' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='hsv_enc' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2112' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='v4l2_window' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1062' column='1' id='type-id-2561'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='w' type-id='type-id-2466' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1063' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='field' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1064' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='chromakey' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1065' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='clips' type-id='type-id-2566' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1066' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='clipcount' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1067' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='bitmap' type-id='type-id-3' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1068' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='global_alpha' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1069' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_clip' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1057' column='1' id='type-id-2567'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='c' type-id='type-id-2466' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1058' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='next' type-id='type-id-2566' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1059' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_sdr_format' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2124' column='1' id='type-id-2562'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='pixelformat' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2125' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='buffersize' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='reserved' type-id='type-id-2324' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2127' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_meta_format' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2135' column='1' id='type-id-2563'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dataformat' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2136' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='buffersize' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2137' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_requestbuffers' size-in-bits='160' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='866' column='1' id='type-id-2568'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='count' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='867' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='868' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='memory' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='869' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='reserved' type-id='type-id-2444' visibility='default' filepath='include/uapi/linux/videodev2.h' line='870' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_buffer' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='935' column='1' id='type-id-2569'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='index' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='936' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='937' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='bytesused' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='938' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='flags' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='939' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='field' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='940' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='timestamp' type-id='type-id-2570' visibility='default' filepath='include/uapi/linux/videodev2.h' line='941' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='timecode' type-id='type-id-2571' visibility='default' filepath='include/uapi/linux/videodev2.h' line='942' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='sequence' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='943' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='memory' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='946' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='m' type-id='type-id-2572' visibility='default' filepath='include/uapi/linux/videodev2.h' line='952' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='length' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='953' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='reserved2' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='954' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='reserved' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='955' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='timeval' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/time.h' line='16' column='1' id='type-id-2570'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='tv_sec' type-id='type-id-2573' visibility='default' filepath='include/uapi/linux/time.h' line='17' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='tv_usec' type-id='type-id-2574' visibility='default' filepath='include/uapi/linux/time.h' line='18' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='__kernel_suseconds_t' type-id='type-id-2575' filepath='include/uapi/asm-generic/posix_types.h' line='41' column='1' id='type-id-2574'/>
+      <class-decl name='v4l2_timecode' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='809' column='1' id='type-id-2571'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='810' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='flags' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='811' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='frames' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/videodev2.h' line='812' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='72'>
+          <var-decl name='seconds' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/videodev2.h' line='813' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='80'>
+          <var-decl name='minutes' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/videodev2.h' line='814' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='88'>
+          <var-decl name='hours' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/videodev2.h' line='815' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='userbits' type-id='type-id-1125' visibility='default' filepath='include/uapi/linux/videodev2.h' line='816' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__8' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='947' column='1' id='type-id-2572'>
+        <data-member access='private'>
+          <var-decl name='offset' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='948' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='userptr' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/videodev2.h' line='949' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='planes' type-id='type-id-2576' visibility='default' filepath='include/uapi/linux/videodev2.h' line='950' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='fd' type-id='type-id-2310' visibility='default' filepath='include/uapi/linux/videodev2.h' line='951' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='v4l2_plane' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='893' column='1' id='type-id-2577'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bytesused' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='894' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='length' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='895' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='m' type-id='type-id-2578' visibility='default' filepath='include/uapi/linux/videodev2.h' line='900' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='data_offset' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='901' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='reserved' type-id='type-id-2315' visibility='default' filepath='include/uapi/linux/videodev2.h' line='902' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__9' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='896' column='1' id='type-id-2578'>
+        <data-member access='private'>
+          <var-decl name='mem_offset' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='897' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='userptr' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/videodev2.h' line='898' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='fd' type-id='type-id-2310' visibility='default' filepath='include/uapi/linux/videodev2.h' line='899' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='v4l2_exportbuffer' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1010' column='1' id='type-id-2579'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1011' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='index' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1012' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='plane' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1013' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='flags' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1014' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='fd' type-id='type-id-2310' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1015' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='reserved' type-id='type-id-2315' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1016' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_create_buffers' size-in-bits='2048' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2318' column='1' id='type-id-2580'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='index' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2319' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='count' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2320' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='memory' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2321' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='format' type-id='type-id-2557' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2322' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='reserved' type-id='type-id-2406' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2323' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_framebuffer' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1022' column='1' id='type-id-2581'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='capability' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1023' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='flags' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1024' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='base' type-id='type-id-3' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1027' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='fmt' type-id='type-id-2582' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1037' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__3' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1028' column='1' id='type-id-2582'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='width' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1029' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='height' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1030' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='pixelformat' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1031' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='field' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1032' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='bytesperline' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1033' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='sizeimage' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1034' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='colorspace' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1035' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='priv' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1036' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='v4l2_buf_type' filepath='include/uapi/linux/videodev2.h' line='134' column='1' id='type-id-2583'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='V4L2_BUF_TYPE_VIDEO_CAPTURE' value='1'/>
+        <enumerator name='V4L2_BUF_TYPE_VIDEO_OUTPUT' value='2'/>
+        <enumerator name='V4L2_BUF_TYPE_VIDEO_OVERLAY' value='3'/>
+        <enumerator name='V4L2_BUF_TYPE_VBI_CAPTURE' value='4'/>
+        <enumerator name='V4L2_BUF_TYPE_VBI_OUTPUT' value='5'/>
+        <enumerator name='V4L2_BUF_TYPE_SLICED_VBI_CAPTURE' value='6'/>
+        <enumerator name='V4L2_BUF_TYPE_SLICED_VBI_OUTPUT' value='7'/>
+        <enumerator name='V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY' value='8'/>
+        <enumerator name='V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE' value='9'/>
+        <enumerator name='V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE' value='10'/>
+        <enumerator name='V4L2_BUF_TYPE_SDR_CAPTURE' value='11'/>
+        <enumerator name='V4L2_BUF_TYPE_SDR_OUTPUT' value='12'/>
+        <enumerator name='V4L2_BUF_TYPE_META_CAPTURE' value='13'/>
+        <enumerator name='V4L2_BUF_TYPE_PRIVATE' value='128'/>
+      </enum-decl>
+      <class-decl name='v4l2_input' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1508' column='1' id='type-id-2584'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='index' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1509' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='name' type-id='type-id-2409' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1510' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1511' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='audioset' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1512' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='tuner' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1513' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='std' type-id='type-id-2353' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1514' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='status' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1515' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='capabilities' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1516' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='reserved' type-id='type-id-2411' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1517' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_output' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1560' column='1' id='type-id-2585'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='index' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1561' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='name' type-id='type-id-2409' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1562' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1563' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='audioset' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1564' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='modulator' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1565' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='std' type-id='type-id-2353' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1566' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='capabilities' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1567' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='reserved' type-id='type-id-2411' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1568' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_queryctrl' size-in-bits='544' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1646' column='1' id='type-id-2586'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='id' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1647' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1648' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='name' type-id='type-id-2409' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1649' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='minimum' type-id='type-id-2310' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1650' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='maximum' type-id='type-id-2310' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1651' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='step' type-id='type-id-2310' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1652' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='default_value' type-id='type-id-2310' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1653' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='flags' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1654' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='reserved' type-id='type-id-2444' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1655' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_query_ext_ctrl' size-in-bits='1856' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1659' column='1' id='type-id-2587'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='id' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1660' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1661' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='name' type-id='type-id-650' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1662' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='minimum' type-id='type-id-1388' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1663' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='maximum' type-id='type-id-1388' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1664' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='step' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1665' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='default_value' type-id='type-id-1388' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1666' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='flags' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1667' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='elem_size' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1668' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='elems' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1669' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='672'>
+          <var-decl name='nr_of_dims' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1670' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='dims' type-id='type-id-1279' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1671' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='reserved' type-id='type-id-2318' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1672' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_control' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1584' column='1' id='type-id-2588'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='id' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1585' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='value' type-id='type-id-2310' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1586' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_ext_controls' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1604' column='1' id='type-id-2589'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='' type-id='type-id-2590' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1605' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='count' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1611' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='error_idx' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1612' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='reserved' type-id='type-id-2444' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1613' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='controls' type-id='type-id-2591' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1614' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__10' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1605' column='1' id='type-id-2590'>
+        <data-member access='private'>
+          <var-decl name='which' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1609' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='v4l2_ext_control' size-in-bits='160' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1589' column='1' id='type-id-2592'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='id' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1590' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='size' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1591' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='reserved2' type-id='type-id-2317' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1592' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='' type-id='type-id-2593' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1593' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__11' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1593' column='1' id='type-id-2593'>
+        <data-member access='private'>
+          <var-decl name='value' type-id='type-id-2310' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1594' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='value64' type-id='type-id-1388' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1595' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='string' type-id='type-id-300' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1596' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='p_u8' type-id='type-id-1724' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1597' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='p_u16' type-id='type-id-1479' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1598' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='p_u32' type-id='type-id-2594' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1599' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='ptr' type-id='type-id-3' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1600' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='v4l2_querymenu' size-in-bits='352' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1676' column='1' id='type-id-2595'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='id' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1677' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='index' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1678' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='' type-id='type-id-2596' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1679' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='reserved' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1683' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__12' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1679' column='1' id='type-id-2596'>
+        <data-member access='private'>
+          <var-decl name='name' type-id='type-id-2409' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1680' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='value' type-id='type-id-1388' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1681' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='v4l2_audio' size-in-bits='416' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1826' column='1' id='type-id-2597'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='index' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1827' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='name' type-id='type-id-2409' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1828' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='capability' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1829' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='mode' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1830' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='reserved' type-id='type-id-2444' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1831' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_audioout' size-in-bits='416' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1841' column='1' id='type-id-2598'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='index' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1842' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='name' type-id='type-id-2409' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1843' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='capability' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1844' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='mode' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1845' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='reserved' type-id='type-id-2444' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1846' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_cropcap' size-in-bits='352' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1100' column='1' id='type-id-2599'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='bounds' type-id='type-id-2466' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='defrect' type-id='type-id-2466' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='pixelaspect' type-id='type-id-2426' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1104' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_crop' size-in-bits='160' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1107' column='1' id='type-id-2600'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1108' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='c' type-id='type-id-2466' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1109' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_selection' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1125' column='1' id='type-id-2601'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='target' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1127' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='flags' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1128' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='r' type-id='type-id-2466' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1129' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='reserved' type-id='type-id-2320' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1130' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_jpegcompression' size-in-bits='1120' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='834' column='1' id='type-id-2602'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='quality' type-id='type-id-11' visibility='default' filepath='include/uapi/linux/videodev2.h' line='835' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='APPn' type-id='type-id-11' visibility='default' filepath='include/uapi/linux/videodev2.h' line='837' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='APP_len' type-id='type-id-11' visibility='default' filepath='include/uapi/linux/videodev2.h' line='839' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='APP_data' type-id='type-id-1127' visibility='default' filepath='include/uapi/linux/videodev2.h' line='840' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='COM_len' type-id='type-id-11' visibility='default' filepath='include/uapi/linux/videodev2.h' line='842' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='COM_data' type-id='type-id-1127' visibility='default' filepath='include/uapi/linux/videodev2.h' line='843' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='jpeg_markers' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='845' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_enc_idx' size-in-bits='16576' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1867' column='1' id='type-id-2603'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='entries' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1868' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='entries_cap' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1869' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='reserved' type-id='type-id-1279' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1870' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='entry' type-id='type-id-2337' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1871' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_enc_idx_entry' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1858' column='1' id='type-id-2336'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='offset' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1859' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='pts' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1860' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='length' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1861' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='flags' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1862' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='reserved' type-id='type-id-2444' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1863' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_encoder_cmd' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1883' column='1' id='type-id-2604'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cmd' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1884' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='flags' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1885' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='' type-id='type-id-2605' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1886' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__13' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1886' column='1' id='type-id-2605'>
+        <data-member access='private'>
+          <var-decl name='raw' type-id='type-id-2606' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1889' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__4' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1887' column='1' id='type-id-2606'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='data' type-id='type-id-2406' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1888' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_decoder_cmd' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1918' column='1' id='type-id-2607'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cmd' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1919' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='flags' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1920' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='' type-id='type-id-2608' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1921' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__14' size-in-bits='512' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1921' column='1' id='type-id-2608'>
+        <data-member access='private'>
+          <var-decl name='stop' type-id='type-id-2609' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1924' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='start' type-id='type-id-2610' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1934' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='raw' type-id='type-id-2611' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1938' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__5' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1922' column='1' id='type-id-2609'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='pts' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1923' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__6' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1926' column='1' id='type-id-2610'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='speed' type-id='type-id-2310' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1932' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='format' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1933' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__7' size-in-bits='512' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1936' column='1' id='type-id-2611'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='data' type-id='type-id-2316' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1937' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_streamparm' size-in-bits='1632' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2166' column='1' id='type-id-2612'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='parm' type-id='type-id-2613' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2172' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__15' size-in-bits='1600' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2168' column='1' id='type-id-2613'>
+        <data-member access='private'>
+          <var-decl name='capture' type-id='type-id-2614' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2169' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='output' type-id='type-id-2615' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2170' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='raw_data' type-id='type-id-2322' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2171' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='v4l2_captureparm' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1075' column='1' id='type-id-2614'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='capability' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1076' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='capturemode' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1077' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='timeperframe' type-id='type-id-2426' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1078' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='extendedmode' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1079' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='readbuffers' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1080' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='reserved' type-id='type-id-1279' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1081' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_outputparm' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1088' column='1' id='type-id-2615'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='capability' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1089' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='outputmode' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1090' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='timeperframe' type-id='type-id-2426' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1091' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='extendedmode' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1092' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='writebuffers' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1093' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='reserved' type-id='type-id-1279' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1094' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_hw_freq_seek' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1791' column='1' id='type-id-2616'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='tuner' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1792' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1793' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='seek_upward' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1794' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='wrap_around' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1795' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='spacing' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1796' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='rangelow' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1797' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='rangehigh' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1798' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='reserved' type-id='type-id-2394' visibility='default' filepath='include/uapi/linux/videodev2.h' line='1799' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_frmsizeenum' size-in-bits='352' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='763' column='1' id='type-id-2617'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='index' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='764' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='pixel_format' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='765' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='766' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='' type-id='type-id-2618' visibility='default' filepath='include/uapi/linux/videodev2.h' line='768' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='reserved' type-id='type-id-2444' visibility='default' filepath='include/uapi/linux/videodev2.h' line='773' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__16' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='768' column='1' id='type-id-2618'>
+        <data-member access='private'>
+          <var-decl name='discrete' type-id='type-id-2619' visibility='default' filepath='include/uapi/linux/videodev2.h' line='769' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='stepwise' type-id='type-id-2620' visibility='default' filepath='include/uapi/linux/videodev2.h' line='770' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='v4l2_frmsize_discrete' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='749' column='1' id='type-id-2619'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='width' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='750' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='height' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='751' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_frmsize_stepwise' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='754' column='1' id='type-id-2620'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='min_width' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='755' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='max_width' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='756' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='step_width' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='757' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='min_height' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='758' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='max_height' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='759' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='step_height' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='760' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_frmivalenum' size-in-bits='416' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='791' column='1' id='type-id-2621'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='index' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='792' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='pixel_format' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='793' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='width' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='794' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='height' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='795' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='796' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='' type-id='type-id-2622' visibility='default' filepath='include/uapi/linux/videodev2.h' line='798' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='reserved' type-id='type-id-2444' visibility='default' filepath='include/uapi/linux/videodev2.h' line='803' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__17' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='798' column='1' id='type-id-2622'>
+        <data-member access='private'>
+          <var-decl name='discrete' type-id='type-id-2426' visibility='default' filepath='include/uapi/linux/videodev2.h' line='799' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='stepwise' type-id='type-id-2623' visibility='default' filepath='include/uapi/linux/videodev2.h' line='800' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='v4l2_frmival_stepwise' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='785' column='1' id='type-id-2623'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='min' type-id='type-id-2426' visibility='default' filepath='include/uapi/linux/videodev2.h' line='786' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='max' type-id='type-id-2426' visibility='default' filepath='include/uapi/linux/videodev2.h' line='787' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='step' type-id='type-id-2426' visibility='default' filepath='include/uapi/linux/videodev2.h' line='788' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-2494' const='yes' id='type-id-2624'/>
+      <pointer-type-def type-id='type-id-2624' size-in-bits='64' id='type-id-2491'/>
+      <qualified-type-def type-id='type-id-2597' const='yes' id='type-id-2625'/>
+      <pointer-type-def type-id='type-id-2625' size-in-bits='64' id='type-id-2626'/>
+      <qualified-type-def type-id='type-id-2598' const='yes' id='type-id-2627'/>
+      <pointer-type-def type-id='type-id-2627' size-in-bits='64' id='type-id-2628'/>
+      <qualified-type-def type-id='type-id-2600' const='yes' id='type-id-2629'/>
+      <pointer-type-def type-id='type-id-2629' size-in-bits='64' id='type-id-2630'/>
+      <qualified-type-def type-id='type-id-2393' const='yes' id='type-id-2631'/>
+      <pointer-type-def type-id='type-id-2631' size-in-bits='64' id='type-id-2632'/>
+      <qualified-type-def type-id='type-id-2359' const='yes' id='type-id-2633'/>
+      <pointer-type-def type-id='type-id-2633' size-in-bits='64' id='type-id-2345'/>
+      <qualified-type-def type-id='type-id-2581' const='yes' id='type-id-2634'/>
+      <pointer-type-def type-id='type-id-2634' size-in-bits='64' id='type-id-2635'/>
+      <qualified-type-def type-id='type-id-2405' const='yes' id='type-id-2636'/>
+      <pointer-type-def type-id='type-id-2636' size-in-bits='64' id='type-id-2637'/>
+      <qualified-type-def type-id='type-id-2616' const='yes' id='type-id-2638'/>
+      <pointer-type-def type-id='type-id-2638' size-in-bits='64' id='type-id-2639'/>
+      <qualified-type-def type-id='type-id-2500' const='yes' id='type-id-2640'/>
+      <pointer-type-def type-id='type-id-2640' size-in-bits='64' id='type-id-2355'/>
+      <qualified-type-def type-id='type-id-2602' const='yes' id='type-id-2641'/>
+      <pointer-type-def type-id='type-id-2641' size-in-bits='64' id='type-id-2642'/>
+      <qualified-type-def type-id='type-id-2431' const='yes' id='type-id-2643'/>
+      <pointer-type-def type-id='type-id-2643' size-in-bits='64' id='type-id-2644'/>
+      <qualified-type-def type-id='type-id-2410' const='yes' id='type-id-2645'/>
+      <pointer-type-def type-id='type-id-2645' size-in-bits='64' id='type-id-2646'/>
+      <qualified-type-def type-id='type-id-2412' const='yes' id='type-id-2647'/>
+      <pointer-type-def type-id='type-id-2647' size-in-bits='64' id='type-id-2648'/>
+      <qualified-type-def type-id='type-id-2441' const='yes' id='type-id-2649'/>
+      <pointer-type-def type-id='type-id-2649' size-in-bits='64' id='type-id-2650'/>
+      <qualified-type-def type-id='type-id-2413' const='yes' id='type-id-2651'/>
+      <pointer-type-def type-id='type-id-2651' size-in-bits='64' id='type-id-2375'/>
+      <qualified-type-def type-id='type-id-2381' const='yes' id='type-id-2652'/>
+      <pointer-type-def type-id='type-id-2652' size-in-bits='64' id='type-id-2373'/>
+      <qualified-type-def type-id='type-id-2480' const='yes' id='type-id-2653'/>
+      <pointer-type-def type-id='type-id-2653' size-in-bits='64' id='type-id-2367'/>
+      <qualified-type-def type-id='type-id-2446' const='yes' id='type-id-2654'/>
+      <pointer-type-def type-id='type-id-2654' size-in-bits='64' id='type-id-2378'/>
+      <qualified-type-def type-id='type-id-2372' const='yes' id='type-id-2655'/>
+      <pointer-type-def type-id='type-id-2655' size-in-bits='64' id='type-id-2366'/>
+      <qualified-type-def type-id='type-id-2452' const='yes' id='type-id-2656'/>
+      <pointer-type-def type-id='type-id-2656' size-in-bits='64' id='type-id-2380'/>
+      <qualified-type-def type-id='type-id-2451' const='yes' id='type-id-2657'/>
+      <pointer-type-def type-id='type-id-2657' size-in-bits='64' id='type-id-2379'/>
+      <qualified-type-def type-id='type-id-2395' const='yes' id='type-id-2658'/>
+      <pointer-type-def type-id='type-id-2658' size-in-bits='64' id='type-id-2374'/>
+      <qualified-type-def type-id='type-id-2433' const='yes' id='type-id-2659'/>
+      <pointer-type-def type-id='type-id-2659' size-in-bits='64' id='type-id-2377'/>
+      <qualified-type-def type-id='type-id-2415' const='yes' id='type-id-2660'/>
+      <pointer-type-def type-id='type-id-2660' size-in-bits='64' id='type-id-2376'/>
+      <qualified-type-def type-id='type-id-2408' const='yes' id='type-id-2661'/>
+      <pointer-type-def type-id='type-id-2661' size-in-bits='64' id='type-id-2662'/>
+      <pointer-type-def type-id='type-id-2663' size-in-bits='64' id='type-id-2544'/>
+      <pointer-type-def type-id='type-id-2664' size-in-bits='64' id='type-id-2523'/>
+      <pointer-type-def type-id='type-id-2665' size-in-bits='64' id='type-id-2525'/>
+      <pointer-type-def type-id='type-id-2666' size-in-bits='64' id='type-id-2530'/>
+      <pointer-type-def type-id='type-id-2667' size-in-bits='64' id='type-id-2510'/>
+      <pointer-type-def type-id='type-id-2668' size-in-bits='64' id='type-id-2541'/>
+      <pointer-type-def type-id='type-id-2669' size-in-bits='64' id='type-id-2545'/>
+      <pointer-type-def type-id='type-id-2670' size-in-bits='64' id='type-id-2533'/>
+      <pointer-type-def type-id='type-id-2671' size-in-bits='64' id='type-id-2527'/>
+      <pointer-type-def type-id='type-id-2672' size-in-bits='64' id='type-id-2539'/>
+      <pointer-type-def type-id='type-id-2673' size-in-bits='64' id='type-id-2511'/>
+      <pointer-type-def type-id='type-id-2674' size-in-bits='64' id='type-id-2513'/>
+      <pointer-type-def type-id='type-id-2675' size-in-bits='64' id='type-id-2508'/>
+      <pointer-type-def type-id='type-id-2676' size-in-bits='64' id='type-id-2515'/>
+      <pointer-type-def type-id='type-id-2677' size-in-bits='64' id='type-id-2522'/>
+      <pointer-type-def type-id='type-id-2678' size-in-bits='64' id='type-id-2524'/>
+      <pointer-type-def type-id='type-id-2679' size-in-bits='64' id='type-id-2505'/>
+      <pointer-type-def type-id='type-id-2680' size-in-bits='64' id='type-id-2501'/>
+      <pointer-type-def type-id='type-id-2681' size-in-bits='64' id='type-id-2519'/>
+      <pointer-type-def type-id='type-id-2682' size-in-bits='64' id='type-id-2507'/>
+      <pointer-type-def type-id='type-id-2683' size-in-bits='64' id='type-id-2529'/>
+      <pointer-type-def type-id='type-id-2684' size-in-bits='64' id='type-id-2528'/>
+      <pointer-type-def type-id='type-id-2685' size-in-bits='64' id='type-id-2536'/>
+      <pointer-type-def type-id='type-id-2686' size-in-bits='64' id='type-id-2548'/>
+      <pointer-type-def type-id='type-id-2687' size-in-bits='64' id='type-id-2550'/>
+      <pointer-type-def type-id='type-id-2688' size-in-bits='64' id='type-id-2551'/>
+      <pointer-type-def type-id='type-id-2689' size-in-bits='64' id='type-id-2534'/>
+      <pointer-type-def type-id='type-id-2690' size-in-bits='64' id='type-id-2535'/>
+      <pointer-type-def type-id='type-id-2691' size-in-bits='64' id='type-id-2549'/>
+      <pointer-type-def type-id='type-id-2692' size-in-bits='64' id='type-id-2506'/>
+      <pointer-type-def type-id='type-id-2693' size-in-bits='64' id='type-id-2520'/>
+      <pointer-type-def type-id='type-id-2694' size-in-bits='64' id='type-id-2502'/>
+      <pointer-type-def type-id='type-id-2695' size-in-bits='64' id='type-id-2503'/>
+      <pointer-type-def type-id='type-id-2696' size-in-bits='64' id='type-id-2509'/>
+      <pointer-type-def type-id='type-id-2697' size-in-bits='64' id='type-id-2540'/>
+      <pointer-type-def type-id='type-id-2698' size-in-bits='64' id='type-id-2542'/>
+      <pointer-type-def type-id='type-id-2699' size-in-bits='64' id='type-id-2547'/>
+      <pointer-type-def type-id='type-id-2700' size-in-bits='64' id='type-id-2546'/>
+      <pointer-type-def type-id='type-id-2701' size-in-bits='64' id='type-id-2514'/>
+      <pointer-type-def type-id='type-id-2702' size-in-bits='64' id='type-id-2532'/>
+      <pointer-type-def type-id='type-id-2703' size-in-bits='64' id='type-id-2526'/>
+      <pointer-type-def type-id='type-id-2704' size-in-bits='64' id='type-id-2516'/>
+      <pointer-type-def type-id='type-id-2705' size-in-bits='64' id='type-id-2518'/>
+      <pointer-type-def type-id='type-id-2706' size-in-bits='64' id='type-id-2517'/>
+      <pointer-type-def type-id='type-id-2707' size-in-bits='64' id='type-id-2521'/>
+      <pointer-type-def type-id='type-id-2708' size-in-bits='64' id='type-id-2504'/>
+      <pointer-type-def type-id='type-id-2709' size-in-bits='64' id='type-id-2531'/>
+      <pointer-type-def type-id='type-id-2710' size-in-bits='64' id='type-id-2543'/>
+      <pointer-type-def type-id='type-id-2711' size-in-bits='64' id='type-id-2512'/>
+      <pointer-type-def type-id='type-id-2712' size-in-bits='64' id='type-id-2537'/>
+      <pointer-type-def type-id='type-id-2713' size-in-bits='64' id='type-id-2538'/>
+      <pointer-type-def type-id='type-id-2714' size-in-bits='64' id='type-id-2496'/>
+      <pointer-type-def type-id='type-id-2715' size-in-bits='64' id='type-id-2495'/>
+      <pointer-type-def type-id='type-id-2716' size-in-bits='64' id='type-id-2552'/>
+      <pointer-type-def type-id='type-id-2717' size-in-bits='64' id='type-id-2382'/>
+      <pointer-type-def type-id='type-id-2718' size-in-bits='64' id='type-id-2396'/>
+      <pointer-type-def type-id='type-id-2719' size-in-bits='64' id='type-id-2424'/>
+      <pointer-type-def type-id='type-id-2720' size-in-bits='64' id='type-id-2402'/>
+      <pointer-type-def type-id='type-id-2721' size-in-bits='64' id='type-id-2404'/>
+      <pointer-type-def type-id='type-id-2722' size-in-bits='64' id='type-id-2435'/>
+      <pointer-type-def type-id='type-id-2723' size-in-bits='64' id='type-id-2400'/>
+      <pointer-type-def type-id='type-id-2724' size-in-bits='64' id='type-id-2387'/>
+      <pointer-type-def type-id='type-id-2725' size-in-bits='64' id='type-id-2462'/>
+      <pointer-type-def type-id='type-id-2726' size-in-bits='64' id='type-id-2403'/>
+      <pointer-type-def type-id='type-id-2727' size-in-bits='64' id='type-id-2383'/>
+      <pointer-type-def type-id='type-id-2728' size-in-bits='64' id='type-id-2384'/>
+      <pointer-type-def type-id='type-id-2729' size-in-bits='64' id='type-id-2388'/>
+      <pointer-type-def type-id='type-id-2730' size-in-bits='64' id='type-id-2416'/>
+      <pointer-type-def type-id='type-id-2731' size-in-bits='64' id='type-id-2414'/>
+      <pointer-type-def type-id='type-id-2732' size-in-bits='64' id='type-id-2418'/>
+      <pointer-type-def type-id='type-id-2733' size-in-bits='64' id='type-id-2419'/>
+      <pointer-type-def type-id='type-id-2734' size-in-bits='64' id='type-id-2447'/>
+      <pointer-type-def type-id='type-id-2735' size-in-bits='64' id='type-id-2463'/>
+      <pointer-type-def type-id='type-id-2736' size-in-bits='64' id='type-id-2434'/>
+      <pointer-type-def type-id='type-id-2737' size-in-bits='64' id='type-id-2422'/>
+      <pointer-type-def type-id='type-id-2738' size-in-bits='64' id='type-id-2460'/>
+      <pointer-type-def type-id='type-id-2739' size-in-bits='64' id='type-id-2459'/>
+      <pointer-type-def type-id='type-id-2740' size-in-bits='64' id='type-id-2461'/>
+      <pointer-type-def type-id='type-id-2741' size-in-bits='64' id='type-id-2389'/>
+      <pointer-type-def type-id='type-id-2742' size-in-bits='64' id='type-id-2420'/>
+      <pointer-type-def type-id='type-id-2743' size-in-bits='64' id='type-id-2397'/>
+      <pointer-type-def type-id='type-id-2744' size-in-bits='64' id='type-id-2398'/>
+      <pointer-type-def type-id='type-id-2745' size-in-bits='64' id='type-id-2423'/>
+      <pointer-type-def type-id='type-id-2746' size-in-bits='64' id='type-id-2401'/>
+      <pointer-type-def type-id='type-id-2747' size-in-bits='64' id='type-id-2437'/>
+      <pointer-type-def type-id='type-id-2748' size-in-bits='64' id='type-id-2436'/>
+      <pointer-type-def type-id='type-id-2749' size-in-bits='64' id='type-id-2439'/>
+      <pointer-type-def type-id='type-id-2750' size-in-bits='64' id='type-id-2417'/>
+      <pointer-type-def type-id='type-id-2751' size-in-bits='64' id='type-id-2482'/>
+      <pointer-type-def type-id='type-id-2752' size-in-bits='64' id='type-id-2421'/>
+      <pointer-type-def type-id='type-id-2753' size-in-bits='64' id='type-id-2448'/>
+      <pointer-type-def type-id='type-id-2754' size-in-bits='64' id='type-id-2453'/>
+      <pointer-type-def type-id='type-id-2755' size-in-bits='64' id='type-id-2457'/>
+      <pointer-type-def type-id='type-id-2756' size-in-bits='64' id='type-id-2456'/>
+      <pointer-type-def type-id='type-id-2757' size-in-bits='64' id='type-id-2455'/>
+      <pointer-type-def type-id='type-id-2758' size-in-bits='64' id='type-id-2454'/>
+      <pointer-type-def type-id='type-id-2759' size-in-bits='64' id='type-id-2458'/>
+      <pointer-type-def type-id='type-id-2760' size-in-bits='64' id='type-id-2399'/>
+      <pointer-type-def type-id='type-id-2761' size-in-bits='64' id='type-id-2438'/>
+      <pointer-type-def type-id='type-id-2762' size-in-bits='64' id='type-id-2425'/>
+      <pointer-type-def type-id='type-id-2763' size-in-bits='64' id='type-id-2553'/>
+      <pointer-type-def type-id='type-id-2764' size-in-bits='64' id='type-id-2386'/>
+      <pointer-type-def type-id='type-id-2765' size-in-bits='64' id='type-id-2385'/>
+      <pointer-type-def type-id='type-id-2358' size-in-bits='64' id='type-id-2344'/>
+      <pointer-type-def type-id='type-id-2332' size-in-bits='64' id='type-id-2499'/>
+      <pointer-type-def type-id='type-id-543' size-in-bits='64' id='type-id-2766'/>
+      <pointer-type-def type-id='type-id-2333' size-in-bits='64' id='type-id-2767'/>
+      <pointer-type-def type-id='type-id-2768' size-in-bits='64' id='type-id-2489'/>
+      <pointer-type-def type-id='type-id-2490' size-in-bits='64' id='type-id-2370'/>
+      <pointer-type-def type-id='type-id-2484' size-in-bits='64' id='type-id-2369'/>
+      <pointer-type-def type-id='type-id-2369' size-in-bits='64' id='type-id-2492'/>
+      <pointer-type-def type-id='type-id-2597' size-in-bits='64' id='type-id-2769'/>
+      <pointer-type-def type-id='type-id-2598' size-in-bits='64' id='type-id-2770'/>
+      <pointer-type-def type-id='type-id-2569' size-in-bits='64' id='type-id-2771'/>
+      <pointer-type-def type-id='type-id-2554' size-in-bits='64' id='type-id-2772'/>
+      <pointer-type-def type-id='type-id-2567' size-in-bits='64' id='type-id-2566'/>
+      <pointer-type-def type-id='type-id-2588' size-in-bits='64' id='type-id-2773'/>
+      <pointer-type-def type-id='type-id-2580' size-in-bits='64' id='type-id-2774'/>
+      <pointer-type-def type-id='type-id-2600' size-in-bits='64' id='type-id-2775'/>
+      <pointer-type-def type-id='type-id-2599' size-in-bits='64' id='type-id-2776'/>
+      <pointer-type-def type-id='type-id-2334' size-in-bits='64' id='type-id-2348'/>
+      <pointer-type-def type-id='type-id-2440' size-in-bits='64' id='type-id-2777'/>
+      <pointer-type-def type-id='type-id-2607' size-in-bits='64' id='type-id-2778'/>
+      <pointer-type-def type-id='type-id-2361' size-in-bits='64' id='type-id-2347'/>
+      <pointer-type-def type-id='type-id-2428' size-in-bits='64' id='type-id-2779'/>
+      <pointer-type-def type-id='type-id-2473' size-in-bits='64' id='type-id-2780'/>
+      <pointer-type-def type-id='type-id-2472' size-in-bits='64' id='type-id-2781'/>
+      <pointer-type-def type-id='type-id-2603' size-in-bits='64' id='type-id-2782'/>
+      <pointer-type-def type-id='type-id-2604' size-in-bits='64' id='type-id-2783'/>
+      <pointer-type-def type-id='type-id-2476' size-in-bits='64' id='type-id-2784'/>
+      <pointer-type-def type-id='type-id-2393' size-in-bits='64' id='type-id-2785'/>
+      <pointer-type-def type-id='type-id-2579' size-in-bits='64' id='type-id-2786'/>
+      <pointer-type-def type-id='type-id-2592' size-in-bits='64' id='type-id-2591'/>
+      <pointer-type-def type-id='type-id-2589' size-in-bits='64' id='type-id-2787'/>
+      <pointer-type-def type-id='type-id-2391' size-in-bits='64' id='type-id-2788'/>
+      <pointer-type-def type-id='type-id-2556' size-in-bits='64' id='type-id-2789'/>
+      <pointer-type-def type-id='type-id-2557' size-in-bits='64' id='type-id-2790'/>
+      <pointer-type-def type-id='type-id-2426' size-in-bits='64' id='type-id-2791'/>
+      <pointer-type-def type-id='type-id-2581' size-in-bits='64' id='type-id-2792'/>
+      <pointer-type-def type-id='type-id-2405' size-in-bits='64' id='type-id-2793'/>
+      <pointer-type-def type-id='type-id-2407' size-in-bits='64' id='type-id-2794'/>
+      <pointer-type-def type-id='type-id-2621' size-in-bits='64' id='type-id-2795'/>
+      <pointer-type-def type-id='type-id-2617' size-in-bits='64' id='type-id-2796'/>
+      <pointer-type-def type-id='type-id-2584' size-in-bits='64' id='type-id-2797'/>
+      <pointer-type-def type-id='type-id-2602' size-in-bits='64' id='type-id-2798'/>
+      <pointer-type-def type-id='type-id-2431' size-in-bits='64' id='type-id-2799'/>
+      <pointer-type-def type-id='type-id-2478' size-in-bits='64' id='type-id-2800'/>
+      <pointer-type-def type-id='type-id-2410' size-in-bits='64' id='type-id-2801'/>
+      <pointer-type-def type-id='type-id-2585' size-in-bits='64' id='type-id-2802'/>
+      <pointer-type-def type-id='type-id-2577' size-in-bits='64' id='type-id-2576'/>
+      <pointer-type-def type-id='type-id-2363' size-in-bits='64' id='type-id-2350'/>
+      <pointer-type-def type-id='type-id-2587' size-in-bits='64' id='type-id-2803'/>
+      <pointer-type-def type-id='type-id-2586' size-in-bits='64' id='type-id-2804'/>
+      <pointer-type-def type-id='type-id-2595' size-in-bits='64' id='type-id-2805'/>
+      <pointer-type-def type-id='type-id-2568' size-in-bits='64' id='type-id-2806'/>
+      <pointer-type-def type-id='type-id-2601' size-in-bits='64' id='type-id-2807'/>
+      <pointer-type-def type-id='type-id-2442' size-in-bits='64' id='type-id-2808'/>
+      <pointer-type-def type-id='type-id-2441' size-in-bits='64' id='type-id-2809'/>
+      <pointer-type-def type-id='type-id-2445' size-in-bits='64' id='type-id-2810'/>
+      <pointer-type-def type-id='type-id-2353' size-in-bits='64' id='type-id-2811'/>
+      <pointer-type-def type-id='type-id-2612' size-in-bits='64' id='type-id-2812'/>
+      <pointer-type-def type-id='type-id-2365' size-in-bits='64' id='type-id-2493'/>
+      <pointer-type-def type-id='type-id-2483' size-in-bits='64' id='type-id-2813'/>
+      <pointer-type-def type-id='type-id-2470' size-in-bits='64' id='type-id-2814'/>
+      <pointer-type-def type-id='type-id-2427' size-in-bits='64' id='type-id-2815'/>
+      <pointer-type-def type-id='type-id-2469' size-in-bits='64' id='type-id-2816'/>
+      <pointer-type-def type-id='type-id-2468' size-in-bits='64' id='type-id-2817'/>
+      <pointer-type-def type-id='type-id-2390' size-in-bits='64' id='type-id-2818'/>
+      <pointer-type-def type-id='type-id-2449' size-in-bits='64' id='type-id-2819'/>
+      <pointer-type-def type-id='type-id-2467' size-in-bits='64' id='type-id-2820'/>
+      <pointer-type-def type-id='type-id-2464' size-in-bits='64' id='type-id-2821'/>
+      <pointer-type-def type-id='type-id-2498' size-in-bits='64' id='type-id-2371'/>
+      <pointer-type-def type-id='type-id-2471' size-in-bits='64' id='type-id-2822'/>
+      <pointer-type-def type-id='type-id-2408' size-in-bits='64' id='type-id-2823'/>
+      <pointer-type-def type-id='type-id-2443' size-in-bits='64' id='type-id-2824'/>
+      <pointer-type-def type-id='type-id-2335' size-in-bits='64' id='type-id-2349'/>
+      <pointer-type-def type-id='type-id-2343' size-in-bits='64' id='type-id-2368'/>
+      <pointer-type-def type-id='type-id-2825' size-in-bits='64' id='type-id-2497'/>
+      <pointer-type-def type-id='type-id-2826' size-in-bits='64' id='type-id-2364'/>
+      <pointer-type-def type-id='type-id-2827' size-in-bits='64' id='type-id-2481'/>
+      <pointer-type-def type-id='type-id-2828' size-in-bits='64' id='type-id-2362'/>
+      <pointer-type-def type-id='type-id-2829' size-in-bits='64' id='type-id-2354'/>
+      <function-decl name='video_device_alloc' mangled-name='video_device_alloc' filepath='drivers/media/v4l2-core/v4l2-dev.c' line='148' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='video_device_alloc'>
+        <return type-id='type-id-2368'/>
+      </function-decl>
+      <function-decl name='video_device_release' mangled-name='video_device_release' filepath='drivers/media/v4l2-core/v4l2-dev.c' line='154' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='video_device_release'>
+        <parameter type-id='type-id-2368' name='vdev' filepath='drivers/media/v4l2-core/v4l2-dev.c' line='154' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='video_device_release_empty' mangled-name='video_device_release_empty' filepath='drivers/media/v4l2-core/v4l2-dev.c' line='160' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='video_device_release_empty'>
+        <parameter type-id='type-id-2368' name='vdev' filepath='drivers/media/v4l2-core/v4l2-dev.c' line='160' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='video_devdata' mangled-name='video_devdata' filepath='drivers/media/v4l2-core/v4l2-dev.c' line='238' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='video_devdata'>
+        <parameter type-id='type-id-147' name='file' filepath='drivers/media/v4l2-core/v4l2-dev.c' line='238' column='1'/>
+        <return type-id='type-id-2368'/>
+      </function-decl>
+      <function-decl name='__video_register_device' mangled-name='__video_register_device' filepath='drivers/media/v4l2-core/v4l2-dev.c' line='829' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__video_register_device'>
+        <parameter type-id='type-id-2368' name='vdev' filepath='drivers/media/v4l2-core/v4l2-dev.c' line='829' column='1'/>
+        <parameter type-id='type-id-2351' name='type' filepath='drivers/media/v4l2-core/v4l2-dev.c' line='830' column='1'/>
+        <parameter type-id='type-id-11' name='nr' filepath='drivers/media/v4l2-core/v4l2-dev.c' line='831' column='1'/>
+        <parameter type-id='type-id-11' name='warn_if_nr_in_use' filepath='drivers/media/v4l2-core/v4l2-dev.c' line='831' column='1'/>
+        <parameter type-id='type-id-19' name='owner' filepath='drivers/media/v4l2-core/v4l2-dev.c' line='832' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='video_unregister_device' mangled-name='video_unregister_device' filepath='drivers/media/v4l2-core/v4l2-dev.c' line='1027' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='video_unregister_device'>
+        <parameter type-id='type-id-2368' name='vdev' filepath='drivers/media/v4l2-core/v4l2-dev.c' line='1027' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-2663'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2664'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2626'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2665'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2628'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2666'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2630'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2667'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2635'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2668'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2637'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2669'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2639'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2670'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2642'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2671'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2646'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2672'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2662'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2673'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2583'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2674'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2353'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2675'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2676'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-72'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2677'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2769'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2678'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2770'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2679'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2771'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2680'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2772'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2681'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2773'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2682'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2774'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2683'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2775'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2684'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2776'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2685'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2778'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2686'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2779'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2687'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2780'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2688'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2781'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2689'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2782'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2690'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2783'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2691'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2784'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2692'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2786'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2693'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2787'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2694'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2789'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2695'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2790'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2696'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2792'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2697'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2793'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2698'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2794'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2699'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2795'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2700'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2796'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2701'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2797'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2702'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2798'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2703'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2801'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2704'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2802'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2705'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2803'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2706'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2804'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2707'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2805'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2708'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2806'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2709'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2807'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2710'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2808'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2711'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2811'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2712'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2812'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2713'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2823'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2714'>
+        <parameter type-id='type-id-2370'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2715'>
+        <parameter type-id='type-id-2370'/>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2369'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2716'>
+        <parameter type-id='type-id-2788'/>
+        <parameter type-id='type-id-2632'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2717'>
+        <parameter type-id='type-id-2493'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2718'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2637'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2719'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2644'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2720'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2646'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2721'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2648'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2722'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2650'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2723'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2662'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2724'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2725'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2280'/>
+        <parameter type-id='type-id-2814'/>
+        <parameter type-id='type-id-2814'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2726'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2767'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2727'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-2818'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2728'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-9'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2729'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-9'/>
+        <parameter type-id='type-id-763'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2730'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-9'/>
+        <parameter type-id='type-id-9'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2731'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-9'/>
+        <parameter type-id='type-id-9'/>
+        <parameter type-id='type-id-9'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2732'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2353'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2733'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-347'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2734'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-67'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-2766'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2735'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-2800'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2736'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2777'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2737'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2779'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2738'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2780'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2739'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2781'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2740'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2784'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2741'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2788'/>
+        <parameter type-id='type-id-2785'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2742'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2791'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2743'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2793'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2744'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2794'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2745'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2799'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2746'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2801'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2747'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2808'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2748'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2809'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2749'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2810'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2750'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2811'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2751'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2813'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2752'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2815'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2753'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2819'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2754'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2821'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2755'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2821'/>
+        <parameter type-id='type-id-2814'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2756'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2821'/>
+        <parameter type-id='type-id-2816'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2757'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2821'/>
+        <parameter type-id='type-id-2817'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2758'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2821'/>
+        <parameter type-id='type-id-2820'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2759'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2821'/>
+        <parameter type-id='type-id-2822'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2760'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2823'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2761'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2824'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2762'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-72'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2763'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-211'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-187'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2764'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-187'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2765'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-187'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2768'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-2369'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2825'>
+        <parameter type-id='type-id-2370'/>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-2369'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2826'>
+        <parameter type-id='type-id-2347'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2827'>
+        <parameter type-id='type-id-2493'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2828'>
+        <parameter type-id='type-id-2493'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2829'>
+        <parameter type-id='type-id-2368'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/media/v4l2-core/v4l2-device.c' language='LANG_C89'>
+      <function-decl name='v4l2_device_unregister_subdev' mangled-name='v4l2_device_unregister_subdev' filepath='include/media/v4l2-device.h' line='186' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='v4l2_device_unregister_subdev'>
+        <parameter type-id='type-id-2493'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='v4l2_device_register' mangled-name='v4l2_device_register' filepath='drivers/media/v4l2-core/v4l2-device.c' line='33' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='v4l2_device_register'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/media/v4l2-core/v4l2-device.c' line='33' column='1'/>
+        <parameter type-id='type-id-2347' name='v4l2_dev' filepath='drivers/media/v4l2-core/v4l2-device.c' line='33' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='v4l2_device_unregister' mangled-name='v4l2_device_unregister' filepath='drivers/media/v4l2-core/v4l2-device.c' line='104' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='v4l2_device_unregister'>
+        <parameter type-id='type-id-2347' name='v4l2_dev' filepath='drivers/media/v4l2-core/v4l2-device.c' line='104' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='v4l2_device_register_subdev' mangled-name='v4l2_device_register_subdev' filepath='drivers/media/v4l2-core/v4l2-device.c' line='154' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='v4l2_device_register_subdev'>
+        <parameter type-id='type-id-2347' name='v4l2_dev' filepath='drivers/media/v4l2-core/v4l2-device.c' line='154' column='1'/>
+        <parameter type-id='type-id-2493' name='sd' filepath='drivers/media/v4l2-core/v4l2-device.c' line='155' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='v4l2_device_register_subdev_nodes' mangled-name='v4l2_device_register_subdev_nodes' filepath='drivers/media/v4l2-core/v4l2-device.c' line='225' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='v4l2_device_register_subdev_nodes'>
+        <parameter type-id='type-id-2347' name='v4l2_dev' filepath='drivers/media/v4l2-core/v4l2-device.c' line='225' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/media/v4l2-core/v4l2-event.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-2830' size-in-bits='infinite' id='type-id-2831'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/media/media-entity.h' line='289' column='1' id='type-id-2832'>
+        <data-member access='private'>
+          <var-decl name='dev' type-id='type-id-2284' visibility='default' filepath='include/media/media-entity.h' line='293' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='v4l2_subscribed_event_ops' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/media/v4l2-event.h' line='52' column='1' id='type-id-2833'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='add' type-id='type-id-2834' visibility='default' filepath='include/media/v4l2-event.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='del' type-id='type-id-2835' visibility='default' filepath='include/media/v4l2-event.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='replace' type-id='type-id-2836' visibility='default' filepath='include/media/v4l2-event.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='merge' type-id='type-id-2837' visibility='default' filepath='include/media/v4l2-event.h' line='56' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_subscribed_event' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/media/v4l2-event.h' line='76' column='1' id='type-id-2838'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/media/v4l2-event.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='type' type-id='type-id-9' visibility='default' filepath='include/media/v4l2-event.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='id' type-id='type-id-9' visibility='default' filepath='include/media/v4l2-event.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='flags' type-id='type-id-9' visibility='default' filepath='include/media/v4l2-event.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='fh' type-id='type-id-2788' visibility='default' filepath='include/media/v4l2-event.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='node' type-id='type-id-8' visibility='default' filepath='include/media/v4l2-event.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='ops' type-id='type-id-2839' visibility='default' filepath='include/media/v4l2-event.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='elems' type-id='type-id-10' visibility='default' filepath='include/media/v4l2-event.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='first' type-id='type-id-10' visibility='default' filepath='include/media/v4l2-event.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='in_use' type-id='type-id-10' visibility='default' filepath='include/media/v4l2-event.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='events' type-id='type-id-2831' visibility='default' filepath='include/media/v4l2-event.h' line='87' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_kevent' size-in-bits='1280' is-struct='yes' visibility='default' filepath='include/media/v4l2-event.h' line='38' column='1' id='type-id-2830'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/media/v4l2-event.h' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='sev' type-id='type-id-2840' visibility='default' filepath='include/media/v4l2-event.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='event' type-id='type-id-2841' visibility='default' filepath='include/media/v4l2-event.h' line='41' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-2841' const='yes' id='type-id-2842'/>
+      <pointer-type-def type-id='type-id-2842' size-in-bits='64' id='type-id-2843'/>
+      <qualified-type-def type-id='type-id-2833' const='yes' id='type-id-2844'/>
+      <pointer-type-def type-id='type-id-2844' size-in-bits='64' id='type-id-2839'/>
+      <pointer-type-def type-id='type-id-2845' size-in-bits='64' id='type-id-2834'/>
+      <pointer-type-def type-id='type-id-2838' size-in-bits='64' id='type-id-2840'/>
+      <pointer-type-def type-id='type-id-2846' size-in-bits='64' id='type-id-2837'/>
+      <pointer-type-def type-id='type-id-2847' size-in-bits='64' id='type-id-2836'/>
+      <pointer-type-def type-id='type-id-2848' size-in-bits='64' id='type-id-2835'/>
+      <function-decl name='v4l2_event_unsubscribe' mangled-name='v4l2_event_unsubscribe' filepath='include/media/v4l2-event.h' line='161' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='v4l2_event_unsubscribe'>
+        <parameter type-id='type-id-2788'/>
+        <parameter type-id='type-id-2632'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='v4l2_event_queue' mangled-name='v4l2_event_queue' filepath='drivers/media/v4l2-core/v4l2-event.c' line='157' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='v4l2_event_queue'>
+        <parameter type-id='type-id-2368' name='vdev' filepath='drivers/media/v4l2-core/v4l2-event.c' line='157' column='1'/>
+        <parameter type-id='type-id-2843' name='ev' filepath='drivers/media/v4l2-core/v4l2-event.c' line='157' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='v4l2_event_queue_fh' mangled-name='v4l2_event_queue_fh' filepath='drivers/media/v4l2-core/v4l2-event.c' line='177' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='v4l2_event_queue_fh'>
+        <parameter type-id='type-id-2788' name='fh' filepath='drivers/media/v4l2-core/v4l2-event.c' line='177' column='1'/>
+        <parameter type-id='type-id-2843' name='ev' filepath='drivers/media/v4l2-core/v4l2-event.c' line='177' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='v4l2_event_pending' mangled-name='v4l2_event_pending' filepath='drivers/media/v4l2-core/v4l2-event.c' line='190' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='v4l2_event_pending'>
+        <parameter type-id='type-id-2788' name='fh' filepath='drivers/media/v4l2-core/v4l2-event.c' line='190' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='v4l2_event_subscribe' mangled-name='v4l2_event_subscribe' filepath='drivers/media/v4l2-core/v4l2-event.c' line='212' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='v4l2_event_subscribe'>
+        <parameter type-id='type-id-2788' name='fh' filepath='drivers/media/v4l2-core/v4l2-event.c' line='212' column='1'/>
+        <parameter type-id='type-id-2632' name='sub' filepath='drivers/media/v4l2-core/v4l2-event.c' line='213' column='1'/>
+        <parameter type-id='type-id-10' name='elems' filepath='drivers/media/v4l2-core/v4l2-event.c' line='213' column='1'/>
+        <parameter type-id='type-id-2839' name='ops' filepath='drivers/media/v4l2-core/v4l2-event.c' line='214' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-2845'>
+        <parameter type-id='type-id-2840'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2846'>
+        <parameter type-id='type-id-2843'/>
+        <parameter type-id='type-id-2849'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2847'>
+        <parameter type-id='type-id-2849'/>
+        <parameter type-id='type-id-2843'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2848'>
+        <parameter type-id='type-id-2840'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/media/v4l2-core/v4l2-fh.c' language='LANG_C89'>
+      <class-decl name='v4l2_device' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-2850'/>
+      <pointer-type-def type-id='type-id-2850' size-in-bits='64' id='type-id-2851'/>
+      <function-decl name='v4l2_fh_init' mangled-name='v4l2_fh_init' filepath='drivers/media/v4l2-core/v4l2-fh.c' line='29' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='v4l2_fh_init'>
+        <parameter type-id='type-id-2788' name='fh' filepath='drivers/media/v4l2-core/v4l2-fh.c' line='29' column='1'/>
+        <parameter type-id='type-id-2368' name='vdev' filepath='drivers/media/v4l2-core/v4l2-fh.c' line='29' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='v4l2_fh_add' mangled-name='v4l2_fh_add' filepath='drivers/media/v4l2-core/v4l2-fh.c' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='v4l2_fh_add'>
+        <parameter type-id='type-id-2788' name='fh' filepath='drivers/media/v4l2-core/v4l2-fh.c' line='52' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='v4l2_fh_open' mangled-name='v4l2_fh_open' filepath='drivers/media/v4l2-core/v4l2-fh.c' line='63' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='v4l2_fh_open'>
+        <parameter type-id='type-id-147' name='filp' filepath='drivers/media/v4l2-core/v4l2-fh.c' line='63' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='v4l2_fh_del' mangled-name='v4l2_fh_del' filepath='drivers/media/v4l2-core/v4l2-fh.c' line='77' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='v4l2_fh_del'>
+        <parameter type-id='type-id-2788' name='fh' filepath='drivers/media/v4l2-core/v4l2-fh.c' line='77' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='v4l2_fh_exit' mangled-name='v4l2_fh_exit' filepath='drivers/media/v4l2-core/v4l2-fh.c' line='88' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='v4l2_fh_exit'>
+        <parameter type-id='type-id-2788' name='fh' filepath='drivers/media/v4l2-core/v4l2-fh.c' line='88' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='v4l2_fh_release' mangled-name='v4l2_fh_release' filepath='drivers/media/v4l2-core/v4l2-fh.c' line='99' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='v4l2_fh_release'>
+        <parameter type-id='type-id-147' name='filp' filepath='drivers/media/v4l2-core/v4l2-fh.c' line='99' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/media/v4l2-core/v4l2-ioctl.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-1122' size-in-bits='512' id='type-id-2852'>
+        <subrange length='64' type-id='type-id-5' id='type-id-2338'/>
+
+      </array-type-def>
+      <class-decl name='v4l2_ctrl_helper' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-2853'/>
+      <class-decl name='vb2_fileio_data' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-2854'/>
+      <class-decl name='vb2_threadio_data' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-2855'/>
+      <array-type-def dimensions='1' type-id='type-id-86' size-in-bits='512' id='type-id-2856'>
+        <subrange length='8' type-id='type-id-5' id='type-id-1953'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-9' size-in-bits='128' id='type-id-2304'>
+        <subrange length='4' type-id='type-id-5' id='type-id-281'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-2857' size-in-bits='2048' id='type-id-2858'>
+        <subrange length='32' type-id='type-id-5' id='type-id-2319'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-2859' size-in-bits='3072' id='type-id-2860'>
+        <subrange length='8' type-id='type-id-5' id='type-id-1953'/>
+
+      </array-type-def>
+      <class-decl name='v4l2_ctrl_handler' size-in-bits='896' is-struct='yes' visibility='default' filepath='include/media/v4l2-ctrls.h' line='284' column='1' id='type-id-2861'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='_lock' type-id='type-id-407' visibility='default' filepath='include/media/v4l2-ctrls.h' line='285' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='lock' type-id='type-id-2357' visibility='default' filepath='include/media/v4l2-ctrls.h' line='286' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='ctrls' type-id='type-id-8' visibility='default' filepath='include/media/v4l2-ctrls.h' line='287' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='ctrl_refs' type-id='type-id-8' visibility='default' filepath='include/media/v4l2-ctrls.h' line='288' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='cached' type-id='type-id-2862' visibility='default' filepath='include/media/v4l2-ctrls.h' line='289' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='buckets' type-id='type-id-2863' visibility='default' filepath='include/media/v4l2-ctrls.h' line='290' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='notify' type-id='type-id-2864' visibility='default' filepath='include/media/v4l2-ctrls.h' line='291' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='notify_priv' type-id='type-id-3' visibility='default' filepath='include/media/v4l2-ctrls.h' line='292' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='nr_of_buckets' type-id='type-id-289' visibility='default' filepath='include/media/v4l2-ctrls.h' line='293' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='864'>
+          <var-decl name='error' type-id='type-id-11' visibility='default' filepath='include/media/v4l2-ctrls.h' line='294' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_ctrl_ref' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/media/v4l2-ctrls.h' line='255' column='1' id='type-id-2865'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='node' type-id='type-id-8' visibility='default' filepath='include/media/v4l2-ctrls.h' line='256' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='next' type-id='type-id-2862' visibility='default' filepath='include/media/v4l2-ctrls.h' line='257' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='ctrl' type-id='type-id-2309' visibility='default' filepath='include/media/v4l2-ctrls.h' line='258' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='helper' type-id='type-id-2866' visibility='default' filepath='include/media/v4l2-ctrls.h' line='259' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_ctrl' size-in-bits='1664' is-struct='yes' visibility='default' filepath='include/media/v4l2-ctrls.h' line='191' column='1' id='type-id-2867'>
+
+          <member-type access='public'>
+            <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/media/v4l2-ctrls.h' line='227' column='1' id='type-id-2868'>
+              <data-member access='private'>
+                <var-decl name='qmenu' type-id='type-id-562' visibility='default' filepath='include/media/v4l2-ctrls.h' line='228' column='1'/>
+              </data-member>
+              <data-member access='private'>
+                <var-decl name='qmenu_int' type-id='type-id-2305' visibility='default' filepath='include/media/v4l2-ctrls.h' line='229' column='1'/>
+              </data-member>
+            </union-decl>
+          </member-type>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='node' type-id='type-id-8' visibility='default' filepath='include/media/v4l2-ctrls.h' line='193' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='ev_subs' type-id='type-id-8' visibility='default' filepath='include/media/v4l2-ctrls.h' line='194' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='handler' type-id='type-id-2308' visibility='default' filepath='include/media/v4l2-ctrls.h' line='195' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='cluster' type-id='type-id-2869' visibility='default' filepath='include/media/v4l2-ctrls.h' line='196' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='ncontrols' type-id='type-id-10' visibility='default' filepath='include/media/v4l2-ctrls.h' line='197' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='done' type-id='type-id-10' visibility='default' filepath='include/media/v4l2-ctrls.h' line='199' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='is_new' type-id='type-id-10' visibility='default' filepath='include/media/v4l2-ctrls.h' line='201' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='29'>
+          <var-decl name='has_changed' type-id='type-id-10' visibility='default' filepath='include/media/v4l2-ctrls.h' line='202' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='28'>
+          <var-decl name='is_private' type-id='type-id-10' visibility='default' filepath='include/media/v4l2-ctrls.h' line='203' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='27'>
+          <var-decl name='is_auto' type-id='type-id-10' visibility='default' filepath='include/media/v4l2-ctrls.h' line='204' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='26'>
+          <var-decl name='is_int' type-id='type-id-10' visibility='default' filepath='include/media/v4l2-ctrls.h' line='205' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='25'>
+          <var-decl name='is_string' type-id='type-id-10' visibility='default' filepath='include/media/v4l2-ctrls.h' line='206' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='is_ptr' type-id='type-id-10' visibility='default' filepath='include/media/v4l2-ctrls.h' line='207' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='23'>
+          <var-decl name='is_array' type-id='type-id-10' visibility='default' filepath='include/media/v4l2-ctrls.h' line='208' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='22'>
+          <var-decl name='has_volatiles' type-id='type-id-10' visibility='default' filepath='include/media/v4l2-ctrls.h' line='209' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='21'>
+          <var-decl name='call_notify' type-id='type-id-10' visibility='default' filepath='include/media/v4l2-ctrls.h' line='210' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13'>
+          <var-decl name='manual_mode_value' type-id='type-id-10' visibility='default' filepath='include/media/v4l2-ctrls.h' line='211' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='ops' type-id='type-id-2301' visibility='default' filepath='include/media/v4l2-ctrls.h' line='213' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='type_ops' type-id='type-id-2302' visibility='default' filepath='include/media/v4l2-ctrls.h' line='214' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='id' type-id='type-id-9' visibility='default' filepath='include/media/v4l2-ctrls.h' line='215' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/media/v4l2-ctrls.h' line='216' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='type' type-id='type-id-2303' visibility='default' filepath='include/media/v4l2-ctrls.h' line='217' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='minimum' type-id='type-id-581' visibility='default' filepath='include/media/v4l2-ctrls.h' line='218' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='maximum' type-id='type-id-581' visibility='default' filepath='include/media/v4l2-ctrls.h' line='218' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='default_value' type-id='type-id-581' visibility='default' filepath='include/media/v4l2-ctrls.h' line='218' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='elems' type-id='type-id-9' visibility='default' filepath='include/media/v4l2-ctrls.h' line='219' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='992'>
+          <var-decl name='elem_size' type-id='type-id-9' visibility='default' filepath='include/media/v4l2-ctrls.h' line='220' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='dims' type-id='type-id-2304' visibility='default' filepath='include/media/v4l2-ctrls.h' line='221' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='nr_of_dims' type-id='type-id-9' visibility='default' filepath='include/media/v4l2-ctrls.h' line='222' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='' type-id='type-id-2870' visibility='default' filepath='include/media/v4l2-ctrls.h' line='223' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/media/v4l2-ctrls.h' line='231' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='priv' type-id='type-id-3' visibility='default' filepath='include/media/v4l2-ctrls.h' line='232' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='val' type-id='type-id-939' visibility='default' filepath='include/media/v4l2-ctrls.h' line='233' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1504'>
+          <var-decl name='cur' type-id='type-id-2871' visibility='default' filepath='include/media/v4l2-ctrls.h' line='236' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='p_new' type-id='type-id-2872' visibility='default' filepath='include/media/v4l2-ctrls.h' line='238' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='p_cur' type-id='type-id-2872' visibility='default' filepath='include/media/v4l2-ctrls.h' line='239' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_ctrl_ops' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/media/v4l2-ctrls.h' line='69' column='1' id='type-id-2873'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='g_volatile_ctrl' type-id='type-id-2874' visibility='default' filepath='include/media/v4l2-ctrls.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='try_ctrl' type-id='type-id-2874' visibility='default' filepath='include/media/v4l2-ctrls.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='s_ctrl' type-id='type-id-2874' visibility='default' filepath='include/media/v4l2-ctrls.h' line='72' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_ctrl_type_ops' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/media/v4l2-ctrls.h' line='85' column='1' id='type-id-2875'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='equal' type-id='type-id-2876' visibility='default' filepath='include/media/v4l2-ctrls.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='init' type-id='type-id-2877' visibility='default' filepath='include/media/v4l2-ctrls.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='log' type-id='type-id-2878' visibility='default' filepath='include/media/v4l2-ctrls.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='validate' type-id='type-id-2879' visibility='default' filepath='include/media/v4l2-ctrls.h' line='92' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='v4l2_ctrl_ptr' size-in-bits='64' visibility='default' filepath='include/media/v4l2-ctrls.h' line='45' column='1' id='type-id-2872'>
+        <data-member access='private'>
+          <var-decl name='p_s32' type-id='type-id-1431' visibility='default' filepath='include/media/v4l2-ctrls.h' line='46' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='p_s64' type-id='type-id-2880' visibility='default' filepath='include/media/v4l2-ctrls.h' line='47' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='p_u8' type-id='type-id-67' visibility='default' filepath='include/media/v4l2-ctrls.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='p_u16' type-id='type-id-625' visibility='default' filepath='include/media/v4l2-ctrls.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='p_u32' type-id='type-id-347' visibility='default' filepath='include/media/v4l2-ctrls.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='p_char' type-id='type-id-300' visibility='default' filepath='include/media/v4l2-ctrls.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='p' type-id='type-id-3' visibility='default' filepath='include/media/v4l2-ctrls.h' line='52' column='1'/>
+        </data-member>
+      </union-decl>
+      <enum-decl name='v4l2_ctrl_type' filepath='include/uapi/linux/videodev2.h' line='1627' column='1' id='type-id-2303'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='V4L2_CTRL_TYPE_INTEGER' value='1'/>
+        <enumerator name='V4L2_CTRL_TYPE_BOOLEAN' value='2'/>
+        <enumerator name='V4L2_CTRL_TYPE_MENU' value='3'/>
+        <enumerator name='V4L2_CTRL_TYPE_BUTTON' value='4'/>
+        <enumerator name='V4L2_CTRL_TYPE_INTEGER64' value='5'/>
+        <enumerator name='V4L2_CTRL_TYPE_CTRL_CLASS' value='6'/>
+        <enumerator name='V4L2_CTRL_TYPE_STRING' value='7'/>
+        <enumerator name='V4L2_CTRL_TYPE_BITMASK' value='8'/>
+        <enumerator name='V4L2_CTRL_TYPE_INTEGER_MENU' value='9'/>
+        <enumerator name='V4L2_CTRL_COMPOUND_TYPES' value='256'/>
+        <enumerator name='V4L2_CTRL_TYPE_U8' value='256'/>
+        <enumerator name='V4L2_CTRL_TYPE_U16' value='257'/>
+        <enumerator name='V4L2_CTRL_TYPE_U32' value='258'/>
+      </enum-decl>
+      <union-decl name='__anonymous_union__3' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/media/v4l2-ctrls.h' line='223' column='1' id='type-id-2870'>
+        <data-member access='private'>
+          <var-decl name='step' type-id='type-id-134' visibility='default' filepath='include/media/v4l2-ctrls.h' line='224' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='menu_skip_mask' type-id='type-id-134' visibility='default' filepath='include/media/v4l2-ctrls.h' line='225' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__1' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/media/v4l2-ctrls.h' line='234' column='1' id='type-id-2871'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='val' type-id='type-id-939' visibility='default' filepath='include/media/v4l2-ctrls.h' line='235' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='v4l2_ctrl_notify_fnc' type-id='type-id-2881' filepath='include/media/v4l2-ctrls.h' line='106' column='1' id='type-id-2864'/>
+      <class-decl name='vb2_ops' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/media/videobuf2-core.h' line='384' column='1' id='type-id-2882'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='queue_setup' type-id='type-id-2883' visibility='default' filepath='include/media/videobuf2-core.h' line='385' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='wait_prepare' type-id='type-id-2884' visibility='default' filepath='include/media/videobuf2-core.h' line='389' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='wait_finish' type-id='type-id-2884' visibility='default' filepath='include/media/videobuf2-core.h' line='390' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='buf_init' type-id='type-id-2885' visibility='default' filepath='include/media/videobuf2-core.h' line='392' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='buf_prepare' type-id='type-id-2885' visibility='default' filepath='include/media/videobuf2-core.h' line='393' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='buf_finish' type-id='type-id-2886' visibility='default' filepath='include/media/videobuf2-core.h' line='394' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='buf_cleanup' type-id='type-id-2886' visibility='default' filepath='include/media/videobuf2-core.h' line='395' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='start_streaming' type-id='type-id-2887' visibility='default' filepath='include/media/videobuf2-core.h' line='397' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='stop_streaming' type-id='type-id-2884' visibility='default' filepath='include/media/videobuf2-core.h' line='398' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='buf_queue' type-id='type-id-2886' visibility='default' filepath='include/media/videobuf2-core.h' line='400' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='vb2_buffer' size-in-bits='3648' is-struct='yes' visibility='default' filepath='include/media/videobuf2-core.h' line='242' column='1' id='type-id-2888'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='vb2_queue' type-id='type-id-2349' visibility='default' filepath='include/media/videobuf2-core.h' line='243' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='index' type-id='type-id-10' visibility='default' filepath='include/media/videobuf2-core.h' line='244' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='type' type-id='type-id-10' visibility='default' filepath='include/media/videobuf2-core.h' line='245' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='memory' type-id='type-id-10' visibility='default' filepath='include/media/videobuf2-core.h' line='246' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='num_planes' type-id='type-id-10' visibility='default' filepath='include/media/videobuf2-core.h' line='247' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='timestamp' type-id='type-id-134' visibility='default' filepath='include/media/videobuf2-core.h' line='248' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='state' type-id='type-id-2889' visibility='default' filepath='include/media/videobuf2-core.h' line='259' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='planes' type-id='type-id-2860' visibility='default' filepath='include/media/videobuf2-core.h' line='261' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3392'>
+          <var-decl name='queued_entry' type-id='type-id-8' visibility='default' filepath='include/media/videobuf2-core.h' line='262' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3520'>
+          <var-decl name='done_entry' type-id='type-id-8' visibility='default' filepath='include/media/videobuf2-core.h' line='263' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='vb2_buffer_state' filepath='include/media/videobuf2-core.h' line='218' column='1' id='type-id-2889'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='VB2_BUF_STATE_DEQUEUED' value='0'/>
+        <enumerator name='VB2_BUF_STATE_PREPARING' value='1'/>
+        <enumerator name='VB2_BUF_STATE_PREPARED' value='2'/>
+        <enumerator name='VB2_BUF_STATE_QUEUED' value='3'/>
+        <enumerator name='VB2_BUF_STATE_REQUEUEING' value='4'/>
+        <enumerator name='VB2_BUF_STATE_ACTIVE' value='5'/>
+        <enumerator name='VB2_BUF_STATE_DONE' value='6'/>
+        <enumerator name='VB2_BUF_STATE_ERROR' value='7'/>
+      </enum-decl>
+      <class-decl name='vb2_plane' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/media/videobuf2-core.h' line='172' column='1' id='type-id-2859'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mem_priv' type-id='type-id-3' visibility='default' filepath='include/media/videobuf2-core.h' line='173' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dbuf' type-id='type-id-891' visibility='default' filepath='include/media/videobuf2-core.h' line='174' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='dbuf_mapped' type-id='type-id-10' visibility='default' filepath='include/media/videobuf2-core.h' line='175' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='bytesused' type-id='type-id-10' visibility='default' filepath='include/media/videobuf2-core.h' line='176' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='length' type-id='type-id-10' visibility='default' filepath='include/media/videobuf2-core.h' line='177' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='min_length' type-id='type-id-10' visibility='default' filepath='include/media/videobuf2-core.h' line='178' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='m' type-id='type-id-2890' visibility='default' filepath='include/media/videobuf2-core.h' line='183' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='data_offset' type-id='type-id-10' visibility='default' filepath='include/media/videobuf2-core.h' line='184' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__4' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/media/videobuf2-core.h' line='179' column='1' id='type-id-2890'>
+        <data-member access='private'>
+          <var-decl name='offset' type-id='type-id-10' visibility='default' filepath='include/media/videobuf2-core.h' line='180' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='userptr' type-id='type-id-100' visibility='default' filepath='include/media/videobuf2-core.h' line='181' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='fd' type-id='type-id-11' visibility='default' filepath='include/media/videobuf2-core.h' line='182' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='vb2_mem_ops' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/media/videobuf2-core.h' line='116' column='1' id='type-id-2891'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='alloc' type-id='type-id-2892' visibility='default' filepath='include/media/videobuf2-core.h' line='117' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='put' type-id='type-id-74' visibility='default' filepath='include/media/videobuf2-core.h' line='121' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='get_dmabuf' type-id='type-id-2893' visibility='default' filepath='include/media/videobuf2-core.h' line='122' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='get_userptr' type-id='type-id-2894' visibility='default' filepath='include/media/videobuf2-core.h' line='124' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='put_userptr' type-id='type-id-74' visibility='default' filepath='include/media/videobuf2-core.h' line='127' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='prepare' type-id='type-id-74' visibility='default' filepath='include/media/videobuf2-core.h' line='129' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='finish' type-id='type-id-74' visibility='default' filepath='include/media/videobuf2-core.h' line='130' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='attach_dmabuf' type-id='type-id-2895' visibility='default' filepath='include/media/videobuf2-core.h' line='132' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='detach_dmabuf' type-id='type-id-74' visibility='default' filepath='include/media/videobuf2-core.h' line='136' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='map_dmabuf' type-id='type-id-634' visibility='default' filepath='include/media/videobuf2-core.h' line='137' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='unmap_dmabuf' type-id='type-id-74' visibility='default' filepath='include/media/videobuf2-core.h' line='138' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='vaddr' type-id='type-id-2896' visibility='default' filepath='include/media/videobuf2-core.h' line='140' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='cookie' type-id='type-id-2896' visibility='default' filepath='include/media/videobuf2-core.h' line='141' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='num_users' type-id='type-id-706' visibility='default' filepath='include/media/videobuf2-core.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='mmap' type-id='type-id-2897' visibility='default' filepath='include/media/videobuf2-core.h' line='145' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='vb2_buf_ops' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/media/videobuf2-core.h' line='417' column='1' id='type-id-2898'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='verify_planes_array' type-id='type-id-2899' visibility='default' filepath='include/media/videobuf2-core.h' line='418' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='fill_user_buffer' type-id='type-id-2900' visibility='default' filepath='include/media/videobuf2-core.h' line='419' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='fill_vb2_buffer' type-id='type-id-2901' visibility='default' filepath='include/media/videobuf2-core.h' line='420' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='copy_timestamp' type-id='type-id-2900' visibility='default' filepath='include/media/videobuf2-core.h' line='422' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_event' size-in-bits='1088' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2238' column='1' id='type-id-2841'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2239' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='u' type-id='type-id-2902' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2247' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='pending' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2248' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='sequence' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2249' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='timestamp' type-id='type-id-2903' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2250' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='id' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2251' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='800'>
+          <var-decl name='reserved' type-id='type-id-2406' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2252' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__5' size-in-bits='512' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2240' column='1' id='type-id-2902'>
+        <data-member access='private'>
+          <var-decl name='vsync' type-id='type-id-2904' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2241' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='ctrl' type-id='type-id-2905' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2242' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='frame_sync' type-id='type-id-2906' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2243' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='src_change' type-id='type-id-2907' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2244' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='motion_det' type-id='type-id-2908' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2245' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='data' type-id='type-id-2852' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2246' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='v4l2_event_vsync' size-in-bits='8' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2189' column='1' id='type-id-2904'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='field' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2191' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_event_ctrl' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2199' column='1' id='type-id-2905'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='changes' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2200' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2201' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='' type-id='type-id-2909' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2202' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='flags' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2206' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='minimum' type-id='type-id-2310' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2207' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='maximum' type-id='type-id-2310' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2208' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='step' type-id='type-id-2310' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2209' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='default_value' type-id='type-id-2310' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2210' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__6' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2202' column='1' id='type-id-2909'>
+        <data-member access='private'>
+          <var-decl name='value' type-id='type-id-2310' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2203' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='value64' type-id='type-id-1388' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2204' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='v4l2_event_frame_sync' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2213' column='1' id='type-id-2906'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='frame_sequence' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2214' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_event_src_change' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2219' column='1' id='type-id-2907'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='changes' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2220' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='v4l2_event_motion_det' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2232' column='1' id='type-id-2908'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='flags' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2233' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='frame_sequence' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2234' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='region_mask' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/videodev2.h' line='2235' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='v4l2_kioctl' type-id='type-id-2910' filepath='include/media/v4l2-ioctl.h' line='695' column='1' id='type-id-2911'/>
+      <qualified-type-def type-id='type-id-581' const='yes' id='type-id-2912'/>
+      <pointer-type-def type-id='type-id-2912' size-in-bits='64' id='type-id-2305'/>
+      <qualified-type-def type-id='type-id-2867' const='yes' id='type-id-2913'/>
+      <pointer-type-def type-id='type-id-2913' size-in-bits='64' id='type-id-2914'/>
+      <qualified-type-def type-id='type-id-2873' const='yes' id='type-id-2915'/>
+      <pointer-type-def type-id='type-id-2915' size-in-bits='64' id='type-id-2301'/>
+      <qualified-type-def type-id='type-id-2875' const='yes' id='type-id-2916'/>
+      <pointer-type-def type-id='type-id-2916' size-in-bits='64' id='type-id-2302'/>
+      <qualified-type-def type-id='type-id-2898' const='yes' id='type-id-2917'/>
+      <pointer-type-def type-id='type-id-2917' size-in-bits='64' id='type-id-2918'/>
+      <qualified-type-def type-id='type-id-2891' const='yes' id='type-id-2919'/>
+      <pointer-type-def type-id='type-id-2919' size-in-bits='64' id='type-id-2920'/>
+      <qualified-type-def type-id='type-id-2882' const='yes' id='type-id-2921'/>
+      <pointer-type-def type-id='type-id-2921' size-in-bits='64' id='type-id-2922'/>
+      <pointer-type-def type-id='type-id-86' size-in-bits='64' id='type-id-2923'/>
+      <pointer-type-def type-id='type-id-2924' size-in-bits='64' id='type-id-2893'/>
+      <pointer-type-def type-id='type-id-2925' size-in-bits='64' id='type-id-2879'/>
+      <pointer-type-def type-id='type-id-2926' size-in-bits='64' id='type-id-2874'/>
+      <pointer-type-def type-id='type-id-2927' size-in-bits='64' id='type-id-2885'/>
+      <pointer-type-def type-id='type-id-2928' size-in-bits='64' id='type-id-2899'/>
+      <pointer-type-def type-id='type-id-2929' size-in-bits='64' id='type-id-2901'/>
+      <pointer-type-def type-id='type-id-2930' size-in-bits='64' id='type-id-2887'/>
+      <pointer-type-def type-id='type-id-2931' size-in-bits='64' id='type-id-2883'/>
+      <pointer-type-def type-id='type-id-2932' size-in-bits='64' id='type-id-2897'/>
+      <pointer-type-def type-id='type-id-2933' size-in-bits='64' id='type-id-2910'/>
+      <pointer-type-def type-id='type-id-581' size-in-bits='64' id='type-id-2880'/>
+      <pointer-type-def type-id='type-id-2934' size-in-bits='64' id='type-id-2876'/>
+      <pointer-type-def type-id='type-id-2867' size-in-bits='64' id='type-id-2309'/>
+      <pointer-type-def type-id='type-id-2309' size-in-bits='64' id='type-id-2869'/>
+      <pointer-type-def type-id='type-id-2861' size-in-bits='64' id='type-id-2308'/>
+      <pointer-type-def type-id='type-id-2853' size-in-bits='64' id='type-id-2866'/>
+      <pointer-type-def type-id='type-id-2865' size-in-bits='64' id='type-id-2862'/>
+      <pointer-type-def type-id='type-id-2862' size-in-bits='64' id='type-id-2863'/>
+      <pointer-type-def type-id='type-id-2841' size-in-bits='64' id='type-id-2849'/>
+      <pointer-type-def type-id='type-id-2888' size-in-bits='64' id='type-id-2857'/>
+      <pointer-type-def type-id='type-id-2854' size-in-bits='64' id='type-id-2935'/>
+      <pointer-type-def type-id='type-id-2859' size-in-bits='64' id='type-id-2936'/>
+      <pointer-type-def type-id='type-id-2855' size-in-bits='64' id='type-id-2937'/>
+      <pointer-type-def type-id='type-id-2938' size-in-bits='64' id='type-id-2878'/>
+      <pointer-type-def type-id='type-id-2939' size-in-bits='64' id='type-id-2877'/>
+      <pointer-type-def type-id='type-id-2940' size-in-bits='64' id='type-id-2881'/>
+      <pointer-type-def type-id='type-id-2941' size-in-bits='64' id='type-id-2886'/>
+      <pointer-type-def type-id='type-id-2942' size-in-bits='64' id='type-id-2900'/>
+      <pointer-type-def type-id='type-id-2943' size-in-bits='64' id='type-id-2884'/>
+      <pointer-type-def type-id='type-id-2944' size-in-bits='64' id='type-id-2895'/>
+      <pointer-type-def type-id='type-id-2945' size-in-bits='64' id='type-id-2894'/>
+      <pointer-type-def type-id='type-id-2946' size-in-bits='64' id='type-id-2892'/>
+      <function-decl name='v4l2_s_ctrl' mangled-name='v4l2_s_ctrl' filepath='include/media/v4l2-ctrls.h' line='1107' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='v4l2_s_ctrl'>
+        <parameter type-id='type-id-2788'/>
+        <parameter type-id='type-id-2308'/>
+        <parameter type-id='type-id-2773'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='v4l2_event_dequeue' mangled-name='v4l2_event_dequeue' filepath='include/media/v4l2-event.h' line='97' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='v4l2_event_dequeue'>
+        <parameter type-id='type-id-2788'/>
+        <parameter type-id='type-id-2849'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='video_usercopy' mangled-name='video_usercopy' filepath='drivers/media/v4l2-core/v4l2-ioctl.c' line='2938' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='video_usercopy'>
+        <parameter type-id='type-id-147' name='file' filepath='drivers/media/v4l2-core/v4l2-ioctl.c' line='2938' column='1'/>
+        <parameter type-id='type-id-10' name='cmd' filepath='drivers/media/v4l2-core/v4l2-ioctl.c' line='2938' column='1'/>
+        <parameter type-id='type-id-100' name='arg' filepath='drivers/media/v4l2-core/v4l2-ioctl.c' line='2938' column='1'/>
+        <parameter type-id='type-id-2911' name='func' filepath='drivers/media/v4l2-core/v4l2-ioctl.c' line='2939' column='1'/>
+        <return type-id='type-id-187'/>
+      </function-decl>
+      <function-decl name='video_ioctl2' mangled-name='video_ioctl2' filepath='drivers/media/v4l2-core/v4l2-ioctl.c' line='3059' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='video_ioctl2'>
+        <parameter type-id='type-id-147' name='file' filepath='drivers/media/v4l2-core/v4l2-ioctl.c' line='3059' column='1'/>
+        <parameter type-id='type-id-10' name='cmd' filepath='drivers/media/v4l2-core/v4l2-ioctl.c' line='3060' column='1'/>
+        <parameter type-id='type-id-100' name='arg' filepath='drivers/media/v4l2-core/v4l2-ioctl.c' line='3060' column='1'/>
+        <return type-id='type-id-187'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-2924'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-891'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2925'>
+        <parameter type-id='type-id-2914'/>
+        <parameter type-id='type-id-9'/>
+        <parameter type-id='type-id-2872'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2926'>
+        <parameter type-id='type-id-2309'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2927'>
+        <parameter type-id='type-id-2857'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2928'>
+        <parameter type-id='type-id-2857'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2929'>
+        <parameter type-id='type-id-2857'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2936'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2930'>
+        <parameter type-id='type-id-2349'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2931'>
+        <parameter type-id='type-id-2349'/>
+        <parameter type-id='type-id-72'/>
+        <parameter type-id='type-id-72'/>
+        <parameter type-id='type-id-72'/>
+        <parameter type-id='type-id-2923'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2932'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-132'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2933'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-187'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2934'>
+        <parameter type-id='type-id-2914'/>
+        <parameter type-id='type-id-9'/>
+        <parameter type-id='type-id-2872'/>
+        <parameter type-id='type-id-2872'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2938'>
+        <parameter type-id='type-id-2914'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2939'>
+        <parameter type-id='type-id-2914'/>
+        <parameter type-id='type-id-9'/>
+        <parameter type-id='type-id-2872'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2940'>
+        <parameter type-id='type-id-2309'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2941'>
+        <parameter type-id='type-id-2857'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2942'>
+        <parameter type-id='type-id-2857'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2943'>
+        <parameter type-id='type-id-2349'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2944'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-891'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-892'/>
+        <return type-id='type-id-3'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2945'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-892'/>
+        <return type-id='type-id-3'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2946'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-892'/>
+        <parameter type-id='type-id-272'/>
+        <return type-id='type-id-3'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/media/v4l2-core/v4l2-subdev.c' language='LANG_C89'>
+      <function-decl name='v4l2_subdev_init' mangled-name='v4l2_subdev_init' filepath='drivers/media/v4l2-core/v4l2-subdev.c' line='690' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='v4l2_subdev_init'>
+        <parameter type-id='type-id-2493' name='sd' filepath='drivers/media/v4l2-core/v4l2-subdev.c' line='690' column='1'/>
+        <parameter type-id='type-id-2366' name='ops' filepath='drivers/media/v4l2-core/v4l2-subdev.c' line='690' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/mfd/act8945a.c' language='LANG_C89'>
+      <class-decl name='i2c_driver' size-in-bits='1920' is-struct='yes' visibility='default' filepath='include/linux/i2c.h' line='267' column='1' id='type-id-2947'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='class' type-id='type-id-10' visibility='default' filepath='include/linux/i2c.h' line='268' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='probe' type-id='type-id-2948' visibility='default' filepath='include/linux/i2c.h' line='271' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='remove' type-id='type-id-2949' visibility='default' filepath='include/linux/i2c.h' line='272' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='probe_new' type-id='type-id-2949' visibility='default' filepath='include/linux/i2c.h' line='277' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='shutdown' type-id='type-id-2950' visibility='default' filepath='include/linux/i2c.h' line='280' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='alert' type-id='type-id-2951' visibility='default' filepath='include/linux/i2c.h' line='289' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='command' type-id='type-id-2952' visibility='default' filepath='include/linux/i2c.h' line='295' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='driver' type-id='type-id-324' visibility='default' filepath='include/linux/i2c.h' line='297' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='id_table' type-id='type-id-1982' visibility='default' filepath='include/linux/i2c.h' line='298' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='detect' type-id='type-id-2953' visibility='default' filepath='include/linux/i2c.h' line='301' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='address_list' type-id='type-id-2954' visibility='default' filepath='include/linux/i2c.h' line='302' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='clients' type-id='type-id-8' visibility='default' filepath='include/linux/i2c.h' line='303' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='disable_i2c_core_irq_mapping' type-id='type-id-211' visibility='default' filepath='include/linux/i2c.h' line='305' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='i2c_device_id' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/mod_devicetable.h' line='436' column='1' id='type-id-2955'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-1816' visibility='default' filepath='include/linux/mod_devicetable.h' line='437' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='driver_data' type-id='type-id-327' visibility='default' filepath='include/linux/mod_devicetable.h' line='438' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='i2c_alert_protocol' filepath='include/linux/i2c.h' line='226' column='1' id='type-id-2956'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='I2C_PROTOCOL_SMBUS_ALERT' value='0'/>
+        <enumerator name='I2C_PROTOCOL_SMBUS_HOST_NOTIFY' value='1'/>
+      </enum-decl>
+      <class-decl name='i2c_board_info' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/i2c.h' line='415' column='1' id='type-id-2957'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-1816' visibility='default' filepath='include/linux/i2c.h' line='416' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='flags' type-id='type-id-288' visibility='default' filepath='include/linux/i2c.h' line='417' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='176'>
+          <var-decl name='addr' type-id='type-id-288' visibility='default' filepath='include/linux/i2c.h' line='418' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='dev_name' type-id='type-id-24' visibility='default' filepath='include/linux/i2c.h' line='419' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='platform_data' type-id='type-id-3' visibility='default' filepath='include/linux/i2c.h' line='420' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='of_node' type-id='type-id-81' visibility='default' filepath='include/linux/i2c.h' line='421' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='fwnode' type-id='type-id-575' visibility='default' filepath='include/linux/i2c.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='properties' type-id='type-id-565' visibility='default' filepath='include/linux/i2c.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='resources' type-id='type-id-569' visibility='default' filepath='include/linux/i2c.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='num_resources' type-id='type-id-10' visibility='default' filepath='include/linux/i2c.h' line='425' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='irq' type-id='type-id-11' visibility='default' filepath='include/linux/i2c.h' line='426' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-2955' const='yes' id='type-id-2958'/>
+      <pointer-type-def type-id='type-id-2958' size-in-bits='64' id='type-id-1982'/>
+      <qualified-type-def type-id='type-id-288' const='yes' id='type-id-2959'/>
+      <pointer-type-def type-id='type-id-2959' size-in-bits='64' id='type-id-2954'/>
+      <pointer-type-def type-id='type-id-2957' size-in-bits='64' id='type-id-2960'/>
+      <pointer-type-def type-id='type-id-2947' size-in-bits='64' id='type-id-2961'/>
+      <pointer-type-def type-id='type-id-2962' size-in-bits='64' id='type-id-2949'/>
+      <pointer-type-def type-id='type-id-2963' size-in-bits='64' id='type-id-2948'/>
+      <pointer-type-def type-id='type-id-2964' size-in-bits='64' id='type-id-2953'/>
+      <pointer-type-def type-id='type-id-2965' size-in-bits='64' id='type-id-2952'/>
+      <pointer-type-def type-id='type-id-2966' size-in-bits='64' id='type-id-2950'/>
+      <pointer-type-def type-id='type-id-2967' size-in-bits='64' id='type-id-2951'/>
+      <function-decl name='i2c_del_driver' mangled-name='i2c_del_driver' filepath='include/linux/i2c.h' line='801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='i2c_del_driver'>
+        <parameter type-id='type-id-2961'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='i2c_register_driver' mangled-name='i2c_register_driver' filepath='include/linux/i2c.h' line='800' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='i2c_register_driver'>
+        <parameter type-id='type-id-19'/>
+        <parameter type-id='type-id-2961'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-2962'>
+        <parameter type-id='type-id-630'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2963'>
+        <parameter type-id='type-id-630'/>
+        <parameter type-id='type-id-1982'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2964'>
+        <parameter type-id='type-id-630'/>
+        <parameter type-id='type-id-2960'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2965'>
+        <parameter type-id='type-id-630'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2966'>
+        <parameter type-id='type-id-630'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-2967'>
+        <parameter type-id='type-id-630'/>
+        <parameter type-id='type-id-2956'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/mfd/syscon.c' language='LANG_C89'>
+      <function-decl name='of_hwspin_lock_get_id' mangled-name='of_hwspin_lock_get_id' filepath='include/linux/hwspinlock.h' line='63' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_hwspin_lock_get_id'>
+        <parameter type-id='type-id-81'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/net/dummy.c' language='LANG_C89'>
+      <class-decl name='Qdisc' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-2968'/>
+      <class-decl name='mini_Qdisc' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-2969'/>
+      <class-decl name='skb_shared_hwtstamps' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/skbuff.h' line='400' column='1' id='type-id-2970'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='hwtstamp' type-id='type-id-585' visibility='default' filepath='include/linux/skbuff.h' line='401' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-2968' size-in-bits='64' id='type-id-2971'/>
+      <pointer-type-def type-id='type-id-2969' size-in-bits='64' id='type-id-2972'/>
+      <pointer-type-def type-id='type-id-2973' size-in-bits='64' id='type-id-2974'/>
+      <pointer-type-def type-id='type-id-2970' size-in-bits='64' id='type-id-2975'/>
+      <function-decl name='rtnl_link_unregister' mangled-name='rtnl_link_unregister' filepath='include/net/rtnetlink.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rtnl_link_unregister'>
+        <parameter type-id='type-id-2974'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='ether_setup' mangled-name='ether_setup' filepath='include/linux/netdevice.h' line='3999' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ether_setup'>
+        <parameter type-id='type-id-2976'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='skb_tstamp_tx' mangled-name='skb_tstamp_tx' filepath='include/linux/skbuff.h' line='3609' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_tstamp_tx'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-2975'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='netif_carrier_on' mangled-name='netif_carrier_on' filepath='include/linux/netdevice.h' line='3685' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netif_carrier_on'>
+        <parameter type-id='type-id-2976'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='netif_carrier_off' mangled-name='netif_carrier_off' filepath='include/linux/netdevice.h' line='3687' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netif_carrier_off'>
+        <parameter type-id='type-id-2976'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='alloc_netdev_mqs' mangled-name='alloc_netdev_mqs' filepath='include/linux/netdevice.h' line='4002' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='alloc_netdev_mqs'>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-271'/>
+        <parameter type-id='type-id-2977'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-2976'/>
+      </function-decl>
+      <function-decl name='register_netdevice' mangled-name='register_netdevice' filepath='include/linux/netdevice.h' line='2609' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='register_netdevice'>
+        <parameter type-id='type-id-2976'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='free_netdev' mangled-name='free_netdev' filepath='include/linux/netdevice.h' line='2618' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='free_netdev'>
+        <parameter type-id='type-id-2976'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/net/loopback.c' language='LANG_C89'>
+      <function-decl name='register_netdev' mangled-name='register_netdev' filepath='include/linux/netdevice.h' line='4016' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='register_netdev'>
+        <parameter type-id='type-id-2976'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='netif_rx' mangled-name='netif_rx' filepath='include/linux/netdevice.h' line='3543' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netif_rx'>
+        <parameter type-id='type-id-513'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/net/mii.c' language='LANG_C89'>
+      <function-decl name='netdev_info' mangled-name='netdev_info' filepath='include/linux/netdevice.h' line='4616' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netdev_info'>
+        <parameter type-id='type-id-2978'/>
+        <parameter type-id='type-id-24'/>
+        <parameter is-variadic='yes'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/net/ppp/ppp_generic.c' language='LANG_C89'>
+      <function-decl name='skb_push' mangled-name='skb_push' filepath='include/linux/skbuff.h' line='2123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_push'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='netdev_err' mangled-name='netdev_err' filepath='include/linux/netdevice.h' line='4610' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netdev_err'>
+        <parameter type-id='type-id-2978'/>
+        <parameter type-id='type-id-24'/>
+        <parameter is-variadic='yes'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='skb_pull_rcsum' mangled-name='skb_pull_rcsum' filepath='include/linux/skbuff.h' line='3174' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_pull_rcsum'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='skb_pull' mangled-name='skb_pull' filepath='include/linux/skbuff.h' line='2131' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_pull'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='net_ratelimit' mangled-name='net_ratelimit' filepath='include/linux/net.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='net_ratelimit'>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='unregister_netdevice_many' mangled-name='unregister_netdevice_many' filepath='include/linux/netdevice.h' line='2611' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unregister_netdevice_many'>
+        <parameter type-id='type-id-262'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/net/ppp/pppox.c' language='LANG_C89'>
+      <class-decl name='net_proto_family' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/net.h' line='206' column='1' id='type-id-2979'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='family' type-id='type-id-11' visibility='default' filepath='include/linux/net.h' line='207' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='create' type-id='type-id-2980' visibility='default' filepath='include/linux/net.h' line='208' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/linux/net.h' line='210' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-2979' const='yes' id='type-id-2981'/>
+      <pointer-type-def type-id='type-id-2981' size-in-bits='64' id='type-id-2982'/>
+      <pointer-type-def type-id='type-id-2983' size-in-bits='64' id='type-id-2980'/>
+      <function-decl name='sock_unregister' mangled-name='sock_unregister' filepath='include/linux/net.h' line='225' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_unregister'>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='sock_register' mangled-name='sock_register' filepath='include/linux/net.h' line='224' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_register'>
+        <parameter type-id='type-id-2982'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-2983'>
+        <parameter type-id='type-id-2984'/>
+        <parameter type-id='type-id-2985'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/net/ppp/pptp.c' language='LANG_C89'>
+      <class-decl name='uncached_list' size-in-bits='192' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-2986'/>
+      <class-decl name='rtable' size-in-bits='1280' is-struct='yes' visibility='default' filepath='include/net/route.h' line='51' column='1' id='type-id-2987'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dst' type-id='type-id-2988' visibility='default' filepath='include/net/route.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='rt_genid' type-id='type-id-11' visibility='default' filepath='include/net/route.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='928'>
+          <var-decl name='rt_flags' type-id='type-id-10' visibility='default' filepath='include/net/route.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='rt_type' type-id='type-id-1107' visibility='default' filepath='include/net/route.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='976'>
+          <var-decl name='rt_is_input' type-id='type-id-1122' visibility='default' filepath='include/net/route.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='984'>
+          <var-decl name='rt_uses_gateway' type-id='type-id-1122' visibility='default' filepath='include/net/route.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='992'>
+          <var-decl name='rt_iif' type-id='type-id-11' visibility='default' filepath='include/net/route.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='rt_gateway' type-id='type-id-2085' visibility='default' filepath='include/net/route.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='rt_mtu_locked' type-id='type-id-9' visibility='default' filepath='include/net/route.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1056'>
+          <var-decl name='rt_pmtu' type-id='type-id-9' visibility='default' filepath='include/net/route.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='rt_uncached' type-id='type-id-8' visibility='default' filepath='include/net/route.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='rt_uncached_list' type-id='type-id-2989' visibility='default' filepath='include/net/route.h' line='70' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-2990' size-in-bits='64' id='type-id-2991'/>
+      <pointer-type-def type-id='type-id-2987' size-in-bits='64' id='type-id-2992'/>
+      <pointer-type-def type-id='type-id-2986' size-in-bits='64' id='type-id-2989'/>
+      <function-decl name='proto_unregister' mangled-name='proto_unregister' filepath='include/net/sock.h' line='1181' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='proto_unregister'>
+        <parameter type-id='type-id-2993'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='dst_release' mangled-name='dst_release' filepath='include/net/dst.h' line='263' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dst_release'>
+        <parameter type-id='type-id-2994'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='proto_register' mangled-name='proto_register' filepath='include/net/sock.h' line='1180' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='proto_register'>
+        <parameter type-id='type-id-2993'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='sk_setup_caps' mangled-name='sk_setup_caps' filepath='include/net/sock.h' line='1945' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sk_setup_caps'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-2994'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='ip_route_output_flow' mangled-name='ip_route_output_flow' filepath='include/net/route.h' line='127' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ip_route_output_flow'>
+        <parameter type-id='type-id-2984'/>
+        <parameter type-id='type-id-2991'/>
+        <parameter type-id='type-id-2996'/>
+        <return type-id='type-id-2992'/>
+      </function-decl>
+      <function-decl name='sock_queue_rcv_skb' mangled-name='sock_queue_rcv_skb' filepath='include/net/sock.h' line='2138' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_queue_rcv_skb'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-513'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/net/tun.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-2997' size-in-bits='1536' id='type-id-2998'>
+        <subrange length='8' type-id='type-id-5' id='type-id-1953'/>
+
+      </array-type-def>
+      <class-decl name='xdp_buff' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/net/xdp.h' line='66' column='1' id='type-id-2999'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='data' type-id='type-id-3' visibility='default' filepath='include/net/xdp.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='data_end' type-id='type-id-3' visibility='default' filepath='include/net/xdp.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='data_meta' type-id='type-id-3' visibility='default' filepath='include/net/xdp.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='data_hard_start' type-id='type-id-3' visibility='default' filepath='include/net/xdp.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='handle' type-id='type-id-100' visibility='default' filepath='include/net/xdp.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='rxq' type-id='type-id-3000' visibility='default' filepath='include/net/xdp.h' line='72' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='napi_struct' size-in-bits='2880' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='319' column='1' id='type-id-3001'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='poll_list' type-id='type-id-8' visibility='default' filepath='include/linux/netdevice.h' line='326' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='state' type-id='type-id-100' visibility='default' filepath='include/linux/netdevice.h' line='328' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='weight' type-id='type-id-11' visibility='default' filepath='include/linux/netdevice.h' line='329' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='gro_bitmask' type-id='type-id-100' visibility='default' filepath='include/linux/netdevice.h' line='330' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='poll' type-id='type-id-3002' visibility='default' filepath='include/linux/netdevice.h' line='331' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='dev' type-id='type-id-2976' visibility='default' filepath='include/linux/netdevice.h' line='335' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='gro_hash' type-id='type-id-2998' visibility='default' filepath='include/linux/netdevice.h' line='336' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='skb' type-id='type-id-513' visibility='default' filepath='include/linux/netdevice.h' line='337' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='timer' type-id='type-id-2120' visibility='default' filepath='include/linux/netdevice.h' line='338' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='dev_list' type-id='type-id-8' visibility='default' filepath='include/linux/netdevice.h' line='339' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2688'>
+          <var-decl name='napi_hash_node' type-id='type-id-378' visibility='default' filepath='include/linux/netdevice.h' line='340' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2816'>
+          <var-decl name='napi_id' type-id='type-id-10' visibility='default' filepath='include/linux/netdevice.h' line='341' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='gro_list' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='305' column='1' id='type-id-2997'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/netdevice.h' line='306' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='count' type-id='type-id-11' visibility='default' filepath='include/linux/netdevice.h' line='307' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='xdp_mem_type' filepath='include/net/xdp.h' line='36' column='1' id='type-id-3003'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='MEM_TYPE_PAGE_SHARED' value='0'/>
+        <enumerator name='MEM_TYPE_PAGE_ORDER0' value='1'/>
+        <enumerator name='MEM_TYPE_PAGE_POOL' value='2'/>
+        <enumerator name='MEM_TYPE_ZERO_COPY' value='3'/>
+        <enumerator name='MEM_TYPE_MAX' value='4'/>
+      </enum-decl>
+      <enum-decl name='gro_result' filepath='include/linux/netdevice.h' line='364' column='1' id='type-id-3004'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='GRO_MERGED' value='0'/>
+        <enumerator name='GRO_MERGED_FREE' value='1'/>
+        <enumerator name='GRO_HELD' value='2'/>
+        <enumerator name='GRO_NORMAL' value='3'/>
+        <enumerator name='GRO_DROP' value='4'/>
+        <enumerator name='GRO_CONSUMED' value='5'/>
+      </enum-decl>
+      <class-decl name='nf_conntrack' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/linux/skbuff.h' line='248' column='1' id='type-id-3005'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='use' type-id='type-id-137' visibility='default' filepath='include/linux/skbuff.h' line='249' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-3006' size-in-bits='64' id='type-id-3002'/>
+      <pointer-type-def type-id='type-id-3001' size-in-bits='64' id='type-id-3007'/>
+      <pointer-type-def type-id='type-id-3005' size-in-bits='64' id='type-id-3008'/>
+      <pointer-type-def type-id='type-id-3009' size-in-bits='64' id='type-id-3010'/>
+      <pointer-type-def type-id='type-id-2999' size-in-bits='64' id='type-id-3011'/>
+      <pointer-type-def type-id='type-id-3012' size-in-bits='64' id='type-id-3000'/>
+      <function-decl name='skb_copy_datagram_iter' mangled-name='skb_copy_datagram_iter' filepath='include/linux/skbuff.h' line='3315' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_copy_datagram_iter'>
+        <parameter type-id='type-id-3013'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-2241'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='skb_page_frag_refill' mangled-name='skb_page_frag_refill' filepath='include/linux/skbuff.h' line='2885' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_page_frag_refill'>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-3010'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-264'/>
+      </function-decl>
+      <function-decl name='xdp_do_redirect' mangled-name='xdp_do_redirect' filepath='include/linux/filter.h' line='872' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='xdp_do_redirect'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-3011'/>
+        <parameter type-id='type-id-3014'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='xdp_do_flush_map' mangled-name='xdp_do_flush_map' filepath='include/linux/filter.h' line='875' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='xdp_do_flush_map'>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='bpf_warn_invalid_xdp_action' mangled-name='bpf_warn_invalid_xdp_action' filepath='include/linux/filter.h' line='877' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bpf_warn_invalid_xdp_action'>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='skb_set_owner_w' mangled-name='skb_set_owner_w' filepath='include/net/sock.h' line='2109' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_set_owner_w'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-2995'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='skb_partial_csum_set' mangled-name='skb_partial_csum_set' filepath='include/linux/skbuff.h' line='4177' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_partial_csum_set'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-288'/>
+        <parameter type-id='type-id-288'/>
+        <return type-id='type-id-264'/>
+      </function-decl>
+      <function-decl name='napi_schedule_prep' mangled-name='napi_schedule_prep' filepath='include/linux/netdevice.h' line='432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='napi_schedule_prep'>
+        <parameter type-id='type-id-3007'/>
+        <return type-id='type-id-264'/>
+      </function-decl>
+      <function-decl name='netif_receive_skb' mangled-name='netif_receive_skb' filepath='include/linux/netdevice.h' line='3545' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netif_receive_skb'>
+        <parameter type-id='type-id-513'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='release_sock' mangled-name='release_sock' filepath='include/net/sock.h' line='1510' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='release_sock'>
+        <parameter type-id='type-id-2995'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='xdp_rxq_info_reg' mangled-name='xdp_rxq_info_reg' filepath='include/net/xdp.h' line='131' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='xdp_rxq_info_reg'>
+        <parameter type-id='type-id-3000'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='xdp_rxq_info_reg_mem_model' mangled-name='xdp_rxq_info_reg_mem_model' filepath='include/net/xdp.h' line='136' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='xdp_rxq_info_reg_mem_model'>
+        <parameter type-id='type-id-3000'/>
+        <parameter type-id='type-id-3003'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='xdp_rxq_info_unreg' mangled-name='xdp_rxq_info_unreg' filepath='include/net/xdp.h' line='133' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='xdp_rxq_info_unreg'>
+        <parameter type-id='type-id-3000'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='lock_sock_nested' mangled-name='lock_sock_nested' filepath='include/net/sock.h' line='1502' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lock_sock_nested'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='netif_napi_add' mangled-name='netif_napi_add' filepath='include/linux/netdevice.h' line='2203' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netif_napi_add'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-3007'/>
+        <parameter type-id='type-id-3002'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='napi_complete_done' mangled-name='napi_complete_done' filepath='include/linux/netdevice.h' line='469' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='napi_complete_done'>
+        <parameter type-id='type-id-3007'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-264'/>
+      </function-decl>
+      <function-decl name='napi_gro_receive' mangled-name='napi_gro_receive' filepath='include/linux/netdevice.h' line='3548' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='napi_gro_receive'>
+        <parameter type-id='type-id-3007'/>
+        <parameter type-id='type-id-513'/>
+        <return type-id='type-id-3004'/>
+      </function-decl>
+      <function-decl name='netif_set_real_num_tx_queues' mangled-name='netif_set_real_num_tx_queues' filepath='include/linux/netdevice.h' line='3460' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netif_set_real_num_tx_queues'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='netif_set_real_num_rx_queues' mangled-name='netif_set_real_num_rx_queues' filepath='include/linux/netdevice.h' line='3463' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netif_set_real_num_rx_queues'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='napi_disable' mangled-name='napi_disable' filepath='include/linux/netdevice.h' line='504' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='napi_disable'>
+        <parameter type-id='type-id-3007'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='netif_napi_del' mangled-name='netif_napi_del' filepath='include/linux/netdevice.h' line='2232' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netif_napi_del'>
+        <parameter type-id='type-id-3007'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='unregister_netdevice_queue' mangled-name='unregister_netdevice_queue' filepath='include/linux/netdevice.h' line='2610' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unregister_netdevice_queue'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-262'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='netif_tx_stop_all_queues' mangled-name='netif_tx_stop_all_queues' filepath='include/linux/netdevice.h' line='3083' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netif_tx_stop_all_queues'>
+        <parameter type-id='type-id-2976'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='sk_filter_trim_cap' mangled-name='sk_filter_trim_cap' filepath='include/linux/filter.h' line='764' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sk_filter_trim_cap'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='nf_conntrack_destroy' mangled-name='nf_conntrack_destroy' filepath='include/linux/skbuff.h' line='3867' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nf_conntrack_destroy'>
+        <parameter type-id='type-id-3008'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='netif_tx_wake_queue' mangled-name='netif_tx_wake_queue' filepath='include/linux/netdevice.h' line='3042' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netif_tx_wake_queue'>
+        <parameter type-id='type-id-3015'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='sk_alloc' mangled-name='sk_alloc' filepath='include/net/sock.h' line='1576' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sk_alloc'>
+        <parameter type-id='type-id-2984'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-2993'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-2995'/>
+      </function-decl>
+      <function-decl name='sock_init_data' mangled-name='sock_init_data' filepath='include/net/sock.h' line='1676' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_init_data'>
+        <parameter type-id='type-id-2985'/>
+        <parameter type-id='type-id-2995'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='rtnl_link_register' mangled-name='rtnl_link_register' filepath='include/net/rtnetlink.h' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rtnl_link_register'>
+        <parameter type-id='type-id-2974'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='unregister_netdevice_notifier' mangled-name='unregister_netdevice_notifier' filepath='include/linux/netdevice.h' line='2469' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unregister_netdevice_notifier'>
+        <parameter type-id='type-id-103'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-3006'>
+        <parameter type-id='type-id-3007'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/net/usb/r8152.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-138' size-in-bits='384' id='type-id-3016'>
+        <subrange length='6' type-id='type-id-5' id='type-id-1951'/>
+
+      </array-type-def>
+      <class-decl name='prefix_info' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3017'/>
+      <array-type-def dimensions='1' type-id='type-id-3018' size-in-bits='960' id='type-id-3019'>
+        <subrange length='15' type-id='type-id-5' id='type-id-1764'/>
+
+      </array-type-def>
+      <class-decl name='nd_opt_hdr' size-in-bits='16' is-struct='yes' visibility='default' filepath='include/net/ndisc.h' line='102' column='1' id='type-id-3020'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='nd_opt_type' type-id='type-id-1122' visibility='default' filepath='include/net/ndisc.h' line='103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='nd_opt_len' type-id='type-id-1122' visibility='default' filepath='include/net/ndisc.h' line='104' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ndisc_options' size-in-bits='1216' is-struct='yes' visibility='default' filepath='include/net/ndisc.h' line='108' column='1' id='type-id-3021'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='nd_opt_array' type-id='type-id-3019' visibility='default' filepath='include/net/ndisc.h' line='109' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='nd_opts_ri' type-id='type-id-3018' visibility='default' filepath='include/net/ndisc.h' line='111' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='nd_opts_ri_end' type-id='type-id-3018' visibility='default' filepath='include/net/ndisc.h' line='112' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='nd_useropts' type-id='type-id-3018' visibility='default' filepath='include/net/ndisc.h' line='114' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='nd_useropts_end' type-id='type-id-3018' visibility='default' filepath='include/net/ndisc.h' line='115' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='666' column='1' id='type-id-3022'>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-3023' visibility='default' filepath='include/linux/skbuff.h' line='667' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='rbnode' type-id='type-id-1846' visibility='default' filepath='include/linux/skbuff.h' line='681' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/skbuff.h' line='682' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='667' column='1' id='type-id-3023'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='next' type-id='type-id-513' visibility='default' filepath='include/linux/skbuff.h' line='669' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='prev' type-id='type-id-513' visibility='default' filepath='include/linux/skbuff.h' line='670' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='' type-id='type-id-3024' visibility='default' filepath='include/linux/skbuff.h' line='672' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='672' column='1' id='type-id-3024'>
+        <data-member access='private'>
+          <var-decl name='dev' type-id='type-id-2976' visibility='default' filepath='include/linux/skbuff.h' line='673' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='dev_scratch' type-id='type-id-100' visibility='default' filepath='include/linux/skbuff.h' line='678' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='inet6_dev' size-in-bits='4864' is-struct='yes' visibility='default' filepath='include/net/if_inet6.h' line='166' column='1' id='type-id-3025'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-2976' visibility='default' filepath='include/net/if_inet6.h' line='167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='addr_list' type-id='type-id-8' visibility='default' filepath='include/net/if_inet6.h' line='169' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='mc_list' type-id='type-id-3026' visibility='default' filepath='include/net/if_inet6.h' line='171' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='mc_tomb' type-id='type-id-3026' visibility='default' filepath='include/net/if_inet6.h' line='172' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='mc_lock' type-id='type-id-106' visibility='default' filepath='include/net/if_inet6.h' line='173' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='mc_qrv' type-id='type-id-271' visibility='default' filepath='include/net/if_inet6.h' line='175' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='360'>
+          <var-decl name='mc_gq_running' type-id='type-id-271' visibility='default' filepath='include/net/if_inet6.h' line='176' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='368'>
+          <var-decl name='mc_ifc_count' type-id='type-id-271' visibility='default' filepath='include/net/if_inet6.h' line='177' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='376'>
+          <var-decl name='mc_dad_count' type-id='type-id-271' visibility='default' filepath='include/net/if_inet6.h' line='178' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='mc_v1_seen' type-id='type-id-100' visibility='default' filepath='include/net/if_inet6.h' line='180' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='mc_qi' type-id='type-id-100' visibility='default' filepath='include/net/if_inet6.h' line='181' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='mc_qri' type-id='type-id-100' visibility='default' filepath='include/net/if_inet6.h' line='182' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='mc_maxdelay' type-id='type-id-100' visibility='default' filepath='include/net/if_inet6.h' line='183' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='mc_gq_timer' type-id='type-id-1240' visibility='default' filepath='include/net/if_inet6.h' line='185' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='mc_ifc_timer' type-id='type-id-1240' visibility='default' filepath='include/net/if_inet6.h' line='186' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='mc_dad_timer' type-id='type-id-1240' visibility='default' filepath='include/net/if_inet6.h' line='187' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='ac_list' type-id='type-id-3027' visibility='default' filepath='include/net/if_inet6.h' line='189' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='lock' type-id='type-id-1847' visibility='default' filepath='include/net/if_inet6.h' line='190' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='refcnt' type-id='type-id-12' visibility='default' filepath='include/net/if_inet6.h' line='191' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1760'>
+          <var-decl name='if_flags' type-id='type-id-266' visibility='default' filepath='include/net/if_inet6.h' line='192' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='dead' type-id='type-id-11' visibility='default' filepath='include/net/if_inet6.h' line='193' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1824'>
+          <var-decl name='desync_factor' type-id='type-id-9' visibility='default' filepath='include/net/if_inet6.h' line='195' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='rndid' type-id='type-id-1399' visibility='default' filepath='include/net/if_inet6.h' line='196' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='tempaddr_list' type-id='type-id-8' visibility='default' filepath='include/net/if_inet6.h' line='197' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='token' type-id='type-id-3028' visibility='default' filepath='include/net/if_inet6.h' line='199' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='nd_parms' type-id='type-id-3029' visibility='default' filepath='include/net/if_inet6.h' line='201' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='cnf' type-id='type-id-3030' visibility='default' filepath='include/net/if_inet6.h' line='202' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4032'>
+          <var-decl name='stats' type-id='type-id-3031' visibility='default' filepath='include/net/if_inet6.h' line='203' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4288'>
+          <var-decl name='rs_timer' type-id='type-id-1240' visibility='default' filepath='include/net/if_inet6.h' line='205' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4608'>
+          <var-decl name='rs_interval' type-id='type-id-2310' visibility='default' filepath='include/net/if_inet6.h' line='206' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4640'>
+          <var-decl name='rs_probes' type-id='type-id-1122' visibility='default' filepath='include/net/if_inet6.h' line='207' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4672'>
+          <var-decl name='tstamp' type-id='type-id-100' visibility='default' filepath='include/net/if_inet6.h' line='209' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4736'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/net/if_inet6.h' line='210' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ifmcaddr6' size-in-bits='1152' is-struct='yes' visibility='default' filepath='include/net/if_inet6.h' line='119' column='1' id='type-id-3032'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mca_addr' type-id='type-id-3028' visibility='default' filepath='include/net/if_inet6.h' line='120' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='idev' type-id='type-id-3033' visibility='default' filepath='include/net/if_inet6.h' line='121' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='next' type-id='type-id-3026' visibility='default' filepath='include/net/if_inet6.h' line='122' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='mca_sources' type-id='type-id-3034' visibility='default' filepath='include/net/if_inet6.h' line='123' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='mca_tomb' type-id='type-id-3034' visibility='default' filepath='include/net/if_inet6.h' line='124' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='mca_sfmode' type-id='type-id-10' visibility='default' filepath='include/net/if_inet6.h' line='125' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='mca_crcount' type-id='type-id-271' visibility='default' filepath='include/net/if_inet6.h' line='126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='mca_sfcount' type-id='type-id-1331' visibility='default' filepath='include/net/if_inet6.h' line='127' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='mca_timer' type-id='type-id-1240' visibility='default' filepath='include/net/if_inet6.h' line='128' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='mca_flags' type-id='type-id-10' visibility='default' filepath='include/net/if_inet6.h' line='129' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='928'>
+          <var-decl name='mca_users' type-id='type-id-11' visibility='default' filepath='include/net/if_inet6.h' line='130' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='mca_refcnt' type-id='type-id-12' visibility='default' filepath='include/net/if_inet6.h' line='131' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='992'>
+          <var-decl name='mca_lock' type-id='type-id-106' visibility='default' filepath='include/net/if_inet6.h' line='132' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='mca_cstamp' type-id='type-id-100' visibility='default' filepath='include/net/if_inet6.h' line='133' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='mca_tstamp' type-id='type-id-100' visibility='default' filepath='include/net/if_inet6.h' line='134' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ip6_sf_list' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/net/if_inet6.h' line='104' column='1' id='type-id-3035'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='sf_next' type-id='type-id-3034' visibility='default' filepath='include/net/if_inet6.h' line='105' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='sf_addr' type-id='type-id-3028' visibility='default' filepath='include/net/if_inet6.h' line='106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='sf_count' type-id='type-id-1331' visibility='default' filepath='include/net/if_inet6.h' line='107' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='sf_gsresp' type-id='type-id-271' visibility='default' filepath='include/net/if_inet6.h' line='108' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='328'>
+          <var-decl name='sf_oldin' type-id='type-id-271' visibility='default' filepath='include/net/if_inet6.h' line='109' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='336'>
+          <var-decl name='sf_crcount' type-id='type-id-271' visibility='default' filepath='include/net/if_inet6.h' line='110' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ifacaddr6' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/net/if_inet6.h' line='145' column='1' id='type-id-3036'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='aca_addr' type-id='type-id-3028' visibility='default' filepath='include/net/if_inet6.h' line='146' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='aca_rt' type-id='type-id-3037' visibility='default' filepath='include/net/if_inet6.h' line='147' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='aca_next' type-id='type-id-3027' visibility='default' filepath='include/net/if_inet6.h' line='148' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='aca_users' type-id='type-id-11' visibility='default' filepath='include/net/if_inet6.h' line='149' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='aca_refcnt' type-id='type-id-12' visibility='default' filepath='include/net/if_inet6.h' line='150' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='aca_cstamp' type-id='type-id-100' visibility='default' filepath='include/net/if_inet6.h' line='151' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='aca_tstamp' type-id='type-id-100' visibility='default' filepath='include/net/if_inet6.h' line='152' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ipv6_devstat' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/if_inet6.h' line='159' column='1' id='type-id-3031'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='proc_dir_entry' type-id='type-id-286' visibility='default' filepath='include/net/if_inet6.h' line='160' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ipv6' type-id='type-id-3038' visibility='default' filepath='include/net/if_inet6.h' line='161' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='icmpv6dev' type-id='type-id-3039' visibility='default' filepath='include/net/if_inet6.h' line='162' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='icmpv6msgdev' type-id='type-id-3040' visibility='default' filepath='include/net/if_inet6.h' line='163' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='icmpv6_mib_device' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/net/snmp.h' line='80' column='1' id='type-id-3041'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mibs' type-id='type-id-3016' visibility='default' filepath='include/net/snmp.h' line='81' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='icmpv6msg_mib_device' size-in-bits='32768' is-struct='yes' visibility='default' filepath='include/net/snmp.h' line='90' column='1' id='type-id-3042'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mibs' type-id='type-id-3043' visibility='default' filepath='include/net/snmp.h' line='91' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-3028' const='yes' id='type-id-3044'/>
+      <pointer-type-def type-id='type-id-3044' size-in-bits='64' id='type-id-3045'/>
+      <qualified-type-def type-id='type-id-3021' const='yes' id='type-id-3046'/>
+      <pointer-type-def type-id='type-id-3046' size-in-bits='64' id='type-id-3047'/>
+      <qualified-type-def type-id='type-id-3017' const='yes' id='type-id-3048'/>
+      <pointer-type-def type-id='type-id-3048' size-in-bits='64' id='type-id-3049'/>
+      <pointer-type-def type-id='type-id-3041' size-in-bits='64' id='type-id-3039'/>
+      <pointer-type-def type-id='type-id-3042' size-in-bits='64' id='type-id-3040'/>
+      <pointer-type-def type-id='type-id-3036' size-in-bits='64' id='type-id-3027'/>
+      <pointer-type-def type-id='type-id-3032' size-in-bits='64' id='type-id-3026'/>
+      <pointer-type-def type-id='type-id-3028' size-in-bits='64' id='type-id-3050'/>
+      <pointer-type-def type-id='type-id-3025' size-in-bits='64' id='type-id-3033'/>
+      <pointer-type-def type-id='type-id-3051' size-in-bits='64' id='type-id-3052'/>
+      <pointer-type-def type-id='type-id-3053' size-in-bits='64' id='type-id-3054'/>
+      <pointer-type-def type-id='type-id-3055' size-in-bits='64' id='type-id-3056'/>
+      <pointer-type-def type-id='type-id-3035' size-in-bits='64' id='type-id-3034'/>
+      <pointer-type-def type-id='type-id-3020' size-in-bits='64' id='type-id-3018'/>
+      <pointer-type-def type-id='type-id-3021' size-in-bits='64' id='type-id-3057'/>
+      <pointer-type-def type-id='type-id-67' size-in-bits='64' id='type-id-3058'/>
+      <pointer-type-def type-id='type-id-3059' size-in-bits='64' id='type-id-3060'/>
+      <pointer-type-def type-id='type-id-3061' size-in-bits='64' id='type-id-3062'/>
+      <pointer-type-def type-id='type-id-3063' size-in-bits='64' id='type-id-3064'/>
+      <function-decl name='alloc_etherdev_mqs' mangled-name='alloc_etherdev_mqs' filepath='include/linux/etherdevice.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='alloc_etherdev_mqs'>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-2976'/>
+      </function-decl>
+      <function-decl name='netif_device_detach' mangled-name='netif_device_detach' filepath='include/linux/netdevice.h' line='3754' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netif_device_detach'>
+        <parameter type-id='type-id-2976'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='csum_ipv6_magic' mangled-name='csum_ipv6_magic' filepath='include/net/ip6_checksum.h' line='38' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='csum_ipv6_magic'>
+        <parameter type-id='type-id-3045'/>
+        <parameter type-id='type-id-3045'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-271'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-288'/>
+      </function-decl>
+      <function-decl name='netif_schedule_queue' mangled-name='netif_schedule_queue' filepath='include/linux/netdevice.h' line='3006' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netif_schedule_queue'>
+        <parameter type-id='type-id-3015'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='unregister_netdev' mangled-name='unregister_netdev' filepath='include/linux/netdevice.h' line='4017' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unregister_netdev'>
+        <parameter type-id='type-id-2976'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='netif_device_attach' mangled-name='netif_device_attach' filepath='include/linux/netdevice.h' line='3756' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netif_device_attach'>
+        <parameter type-id='type-id-2976'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-3051'>
+        <parameter type-id='type-id-2978'/>
+        <parameter type-id='type-id-3018'/>
+        <parameter type-id='type-id-3057'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3053'>
+        <parameter type-id='type-id-2978'/>
+        <parameter type-id='type-id-53'/>
+        <parameter type-id='type-id-3065'/>
+        <parameter type-id='type-id-67'/>
+        <parameter type-id='type-id-3058'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3055'>
+        <parameter type-id='type-id-53'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3059'>
+        <parameter type-id='type-id-2978'/>
+        <parameter type-id='type-id-3065'/>
+        <parameter type-id='type-id-9'/>
+        <parameter type-id='type-id-53'/>
+        <parameter type-id='type-id-3047'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3061'>
+        <parameter type-id='type-id-2978'/>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-53'/>
+        <parameter type-id='type-id-55'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3063'>
+        <parameter type-id='type-id-2984'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-3049'/>
+        <parameter type-id='type-id-3033'/>
+        <parameter type-id='type-id-3050'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-9'/>
+        <parameter type-id='type-id-211'/>
+        <parameter type-id='type-id-211'/>
+        <parameter type-id='type-id-266'/>
+        <parameter type-id='type-id-9'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/net/usb/usbnet.c' language='LANG_C89'>
+      <function-decl name='ethtool_op_get_link' mangled-name='ethtool_op_get_link' filepath='include/linux/ethtool.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ethtool_op_get_link'>
+        <parameter type-id='type-id-2976'/>
+        <return type-id='type-id-10'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/nvdimm/bus.c' language='LANG_C89'>
+      <class-decl name='nvdimm_bus' size-in-bits='7296' is-struct='yes' visibility='default' filepath='drivers/nvdimm/nd-core.h' line='26' column='1' id='type-id-3066'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='nd_desc' type-id='type-id-3067' visibility='default' filepath='drivers/nvdimm/nd-core.h' line='27' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='wait' type-id='type-id-388' visibility='default' filepath='drivers/nvdimm/nd-core.h' line='28' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='drivers/nvdimm/nd-core.h' line='29' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='drivers/nvdimm/nd-core.h' line='30' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6592'>
+          <var-decl name='id' type-id='type-id-11' visibility='default' filepath='drivers/nvdimm/nd-core.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6624'>
+          <var-decl name='probe_active' type-id='type-id-11' visibility='default' filepath='drivers/nvdimm/nd-core.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6656'>
+          <var-decl name='ioctl_active' type-id='type-id-137' visibility='default' filepath='drivers/nvdimm/nd-core.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6720'>
+          <var-decl name='mapping_list' type-id='type-id-8' visibility='default' filepath='drivers/nvdimm/nd-core.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6848'>
+          <var-decl name='reconfig_mutex' type-id='type-id-407' visibility='default' filepath='drivers/nvdimm/nd-core.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7104'>
+          <var-decl name='badrange' type-id='type-id-3068' visibility='default' filepath='drivers/nvdimm/nd-core.h' line='35' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='nvdimm_bus_descriptor' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/libnvdimm.h' line='84' column='1' id='type-id-3069'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='attr_groups' type-id='type-id-298' visibility='default' filepath='include/linux/libnvdimm.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='bus_dsm_mask' type-id='type-id-100' visibility='default' filepath='include/linux/libnvdimm.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='cmd_mask' type-id='type-id-100' visibility='default' filepath='include/linux/libnvdimm.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='module' type-id='type-id-19' visibility='default' filepath='include/linux/libnvdimm.h' line='88' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='provider_name' type-id='type-id-300' visibility='default' filepath='include/linux/libnvdimm.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='of_node' type-id='type-id-782' visibility='default' filepath='include/linux/libnvdimm.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='ndctl' type-id='type-id-3070' visibility='default' filepath='include/linux/libnvdimm.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='flush_probe' type-id='type-id-3071' visibility='default' filepath='include/linux/libnvdimm.h' line='92' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='clear_to_send' type-id='type-id-3072' visibility='default' filepath='include/linux/libnvdimm.h' line='93' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='ndctl_fn' type-id='type-id-3073' filepath='include/linux/libnvdimm.h' line='79' column='1' id='type-id-3070'/>
+      <class-decl name='nvdimm' size-in-bits='6592' is-struct='yes' visibility='default' filepath='drivers/nvdimm/nd-core.h' line='38' column='1' id='type-id-3074'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='drivers/nvdimm/nd-core.h' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='provider_data' type-id='type-id-3' visibility='default' filepath='drivers/nvdimm/nd-core.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='cmd_mask' type-id='type-id-100' visibility='default' filepath='drivers/nvdimm/nd-core.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='drivers/nvdimm/nd-core.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6400'>
+          <var-decl name='busy' type-id='type-id-137' visibility='default' filepath='drivers/nvdimm/nd-core.h' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6432'>
+          <var-decl name='id' type-id='type-id-11' visibility='default' filepath='drivers/nvdimm/nd-core.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6464'>
+          <var-decl name='num_flush' type-id='type-id-11' visibility='default' filepath='drivers/nvdimm/nd-core.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6528'>
+          <var-decl name='flush_wpq' type-id='type-id-279' visibility='default' filepath='drivers/nvdimm/nd-core.h' line='45' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='badrange' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/libnvdimm.h' line='30' column='1' id='type-id-3068'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/libnvdimm.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/linux/libnvdimm.h' line='32' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-3075' size-in-bits='64' id='type-id-3071'/>
+      <pointer-type-def type-id='type-id-3076' size-in-bits='64' id='type-id-3072'/>
+      <pointer-type-def type-id='type-id-3077' size-in-bits='64' id='type-id-3073'/>
+      <pointer-type-def type-id='type-id-3074' size-in-bits='64' id='type-id-3078'/>
+      <pointer-type-def type-id='type-id-3066' size-in-bits='64' id='type-id-3079'/>
+      <pointer-type-def type-id='type-id-3069' size-in-bits='64' id='type-id-3067'/>
+      <function-decl name='nvdimm_bus_register' mangled-name='nvdimm_bus_register' filepath='drivers/nvdimm/bus.c' line='340' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nvdimm_bus_register'>
+        <parameter type-id='type-id-86' name='parent' filepath='drivers/nvdimm/bus.c' line='340' column='1'/>
+        <parameter type-id='type-id-3067' name='nd_desc' filepath='drivers/nvdimm/bus.c' line='341' column='1'/>
+        <return type-id='type-id-3079'/>
+      </function-decl>
+      <function-decl name='nvdimm_bus_unregister' mangled-name='nvdimm_bus_unregister' filepath='drivers/nvdimm/bus.c' line='379' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nvdimm_bus_unregister'>
+        <parameter type-id='type-id-3079' name='nvdimm_bus' filepath='drivers/nvdimm/bus.c' line='379' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-3075'>
+        <parameter type-id='type-id-3067'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3076'>
+        <parameter type-id='type-id-3067'/>
+        <parameter type-id='type-id-3078'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3077'>
+        <parameter type-id='type-id-3067'/>
+        <parameter type-id='type-id-3078'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-82'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/nvdimm/region_devs.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-3080' size-in-bits='infinite' id='type-id-3081'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <class-decl name='nd_region' size-in-bits='8192' is-struct='yes' visibility='default' filepath='drivers/nvdimm/nd.h' line='146' column='1' id='type-id-3082'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='drivers/nvdimm/nd.h' line='147' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6208'>
+          <var-decl name='ns_ida' type-id='type-id-1251' visibility='default' filepath='drivers/nvdimm/nd.h' line='148' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6336'>
+          <var-decl name='btt_ida' type-id='type-id-1251' visibility='default' filepath='drivers/nvdimm/nd.h' line='149' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6464'>
+          <var-decl name='pfn_ida' type-id='type-id-1251' visibility='default' filepath='drivers/nvdimm/nd.h' line='150' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6592'>
+          <var-decl name='dax_ida' type-id='type-id-1251' visibility='default' filepath='drivers/nvdimm/nd.h' line='151' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6720'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='drivers/nvdimm/nd.h' line='152' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6784'>
+          <var-decl name='ns_seed' type-id='type-id-86' visibility='default' filepath='drivers/nvdimm/nd.h' line='153' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6848'>
+          <var-decl name='btt_seed' type-id='type-id-86' visibility='default' filepath='drivers/nvdimm/nd.h' line='154' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6912'>
+          <var-decl name='pfn_seed' type-id='type-id-86' visibility='default' filepath='drivers/nvdimm/nd.h' line='155' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6976'>
+          <var-decl name='dax_seed' type-id='type-id-86' visibility='default' filepath='drivers/nvdimm/nd.h' line='156' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7040'>
+          <var-decl name='ndr_mappings' type-id='type-id-289' visibility='default' filepath='drivers/nvdimm/nd.h' line='157' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7104'>
+          <var-decl name='ndr_size' type-id='type-id-134' visibility='default' filepath='drivers/nvdimm/nd.h' line='158' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7168'>
+          <var-decl name='ndr_start' type-id='type-id-134' visibility='default' filepath='drivers/nvdimm/nd.h' line='159' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7232'>
+          <var-decl name='id' type-id='type-id-11' visibility='default' filepath='drivers/nvdimm/nd.h' line='160' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7264'>
+          <var-decl name='num_lanes' type-id='type-id-11' visibility='default' filepath='drivers/nvdimm/nd.h' line='160' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7296'>
+          <var-decl name='ro' type-id='type-id-11' visibility='default' filepath='drivers/nvdimm/nd.h' line='160' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7328'>
+          <var-decl name='numa_node' type-id='type-id-11' visibility='default' filepath='drivers/nvdimm/nd.h' line='160' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7360'>
+          <var-decl name='provider_data' type-id='type-id-3' visibility='default' filepath='drivers/nvdimm/nd.h' line='161' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7424'>
+          <var-decl name='bb_state' type-id='type-id-3083' visibility='default' filepath='drivers/nvdimm/nd.h' line='162' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7488'>
+          <var-decl name='bb' type-id='type-id-3084' visibility='default' filepath='drivers/nvdimm/nd.h' line='163' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8000'>
+          <var-decl name='nd_set' type-id='type-id-3085' visibility='default' filepath='drivers/nvdimm/nd.h' line='164' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8064'>
+          <var-decl name='lane' type-id='type-id-3086' visibility='default' filepath='drivers/nvdimm/nd.h' line='165' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8128'>
+          <var-decl name='flush' type-id='type-id-3087' visibility='default' filepath='drivers/nvdimm/nd.h' line='166' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8192'>
+          <var-decl name='mapping' type-id='type-id-3081' visibility='default' filepath='drivers/nvdimm/nd.h' line='167' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='nd_interleave_set' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/libnvdimm.h' line='104' column='1' id='type-id-3088'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cookie1' type-id='type-id-134' visibility='default' filepath='include/linux/libnvdimm.h' line='106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='cookie2' type-id='type-id-134' visibility='default' filepath='include/linux/libnvdimm.h' line='108' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='altcookie' type-id='type-id-134' visibility='default' filepath='include/linux/libnvdimm.h' line='110' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='type_guid' type-id='type-id-3089' visibility='default' filepath='include/linux/libnvdimm.h' line='112' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='guid_t' type-id='type-id-3090' filepath='include/uapi/linux/uuid.h' line='25' column='1' id='type-id-3089'/>
+      <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-3089' visibility='default' filepath='include/uapi/linux/uuid.h' line='23' column='1' id='type-id-3090'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='b' type-id='type-id-2555' visibility='default' filepath='include/uapi/linux/uuid.h' line='24' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='nd_percpu_lane' size-in-bits='64' is-struct='yes' visibility='default' filepath='drivers/nvdimm/nd.h' line='111' column='1' id='type-id-3091'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='count' type-id='type-id-11' visibility='default' filepath='drivers/nvdimm/nd.h' line='112' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='drivers/nvdimm/nd.h' line='113' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/blkdev.h' line='178' column='1' id='type-id-3092'>
+        <data-member access='private'>
+          <var-decl name='hash' type-id='type-id-378' visibility='default' filepath='include/linux/blkdev.h' line='179' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='ipi_list' type-id='type-id-8' visibility='default' filepath='include/linux/blkdev.h' line='180' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__1' is-anonymous='yes' visibility='default' filepath='include/linux/blk_types.h' line='194' column='1' id='type-id-3093'/>
+      <class-decl name='nd_mapping' size-in-bits='704' is-struct='yes' visibility='default' filepath='drivers/nvdimm/nd.h' line='130' column='1' id='type-id-3080'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='nvdimm' type-id='type-id-3078' visibility='default' filepath='drivers/nvdimm/nd.h' line='131' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='start' type-id='type-id-134' visibility='default' filepath='drivers/nvdimm/nd.h' line='132' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='size' type-id='type-id-134' visibility='default' filepath='drivers/nvdimm/nd.h' line='133' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='position' type-id='type-id-11' visibility='default' filepath='drivers/nvdimm/nd.h' line='134' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='labels' type-id='type-id-8' visibility='default' filepath='drivers/nvdimm/nd.h' line='135' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='lock' type-id='type-id-407' visibility='default' filepath='drivers/nvdimm/nd.h' line='136' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='ndd' type-id='type-id-3094' visibility='default' filepath='drivers/nvdimm/nd.h' line='143' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='nvdimm_drvdata' size-in-bits='896' is-struct='yes' visibility='default' filepath='drivers/nvdimm/nd.h' line='36' column='1' id='type-id-3095'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='drivers/nvdimm/nd.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='nslabel_size' type-id='type-id-11' visibility='default' filepath='drivers/nvdimm/nd.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='nsarea' type-id='type-id-3096' visibility='default' filepath='drivers/nvdimm/nd.h' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='data' type-id='type-id-3' visibility='default' filepath='drivers/nvdimm/nd.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='ns_current' type-id='type-id-11' visibility='default' filepath='drivers/nvdimm/nd.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='ns_next' type-id='type-id-11' visibility='default' filepath='drivers/nvdimm/nd.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='dpa' type-id='type-id-282' visibility='default' filepath='drivers/nvdimm/nd.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='kref' type-id='type-id-771' visibility='default' filepath='drivers/nvdimm/nd.h' line='43' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='nd_cmd_get_config_size' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/uapi/linux/ndctl.h' line='23' column='1' id='type-id-3096'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='status' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ndctl.h' line='24' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='config_size' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ndctl.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='max_xfer' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ndctl.h' line='26' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='nd_region_desc' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/libnvdimm.h' line='123' column='1' id='type-id-3097'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='res' type-id='type-id-279' visibility='default' filepath='include/linux/libnvdimm.h' line='124' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='mapping' type-id='type-id-3098' visibility='default' filepath='include/linux/libnvdimm.h' line='125' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='num_mappings' type-id='type-id-289' visibility='default' filepath='include/linux/libnvdimm.h' line='126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='attr_groups' type-id='type-id-298' visibility='default' filepath='include/linux/libnvdimm.h' line='127' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='nd_set' type-id='type-id-3085' visibility='default' filepath='include/linux/libnvdimm.h' line='128' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='provider_data' type-id='type-id-3' visibility='default' filepath='include/linux/libnvdimm.h' line='129' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='num_lanes' type-id='type-id-11' visibility='default' filepath='include/linux/libnvdimm.h' line='130' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='numa_node' type-id='type-id-11' visibility='default' filepath='include/linux/libnvdimm.h' line='131' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/libnvdimm.h' line='132' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='of_node' type-id='type-id-782' visibility='default' filepath='include/linux/libnvdimm.h' line='133' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='flush' type-id='type-id-3087' visibility='default' filepath='include/linux/libnvdimm.h' line='134' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='nd_mapping_desc' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/libnvdimm.h' line='115' column='1' id='type-id-3099'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='nvdimm' type-id='type-id-3078' visibility='default' filepath='include/linux/libnvdimm.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='start' type-id='type-id-134' visibility='default' filepath='include/linux/libnvdimm.h' line='117' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='size' type-id='type-id-134' visibility='default' filepath='include/linux/libnvdimm.h' line='118' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='position' type-id='type-id-11' visibility='default' filepath='include/linux/libnvdimm.h' line='119' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-3100' size-in-bits='64' id='type-id-3087'/>
+      <pointer-type-def type-id='type-id-3088' size-in-bits='64' id='type-id-3085'/>
+      <pointer-type-def type-id='type-id-3099' size-in-bits='64' id='type-id-3098'/>
+      <pointer-type-def type-id='type-id-3091' size-in-bits='64' id='type-id-3086'/>
+      <pointer-type-def type-id='type-id-3082' size-in-bits='64' id='type-id-3101'/>
+      <pointer-type-def type-id='type-id-3097' size-in-bits='64' id='type-id-3102'/>
+      <pointer-type-def type-id='type-id-3095' size-in-bits='64' id='type-id-3094'/>
+      <function-decl name='nvdimm_pmem_region_create' mangled-name='nvdimm_pmem_region_create' filepath='drivers/nvdimm/region_devs.c' line='1097' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nvdimm_pmem_region_create'>
+        <parameter type-id='type-id-3079' name='nvdimm_bus' filepath='drivers/nvdimm/region_devs.c' line='1097' column='1'/>
+        <parameter type-id='type-id-3102' name='ndr_desc' filepath='drivers/nvdimm/region_devs.c' line='1098' column='1'/>
+        <return type-id='type-id-3101'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-3100'>
+        <parameter type-id='type-id-3101'/>
+        <parameter type-id='type-id-265'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/nvmem/core.c' language='LANG_C89'>
+      <function-decl name='devm_nvmem_register' mangled-name='devm_nvmem_register' filepath='drivers/nvmem/core.c' line='647' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_nvmem_register'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/nvmem/core.c' line='647' column='1'/>
+        <parameter type-id='type-id-3103' name='config' filepath='drivers/nvmem/core.c' line='648' column='1'/>
+        <return type-id='type-id-3104'/>
+      </function-decl>
+      <function-decl name='devm_nvmem_device_get' mangled-name='devm_nvmem_device_get' filepath='drivers/nvmem/core.c' line='864' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_nvmem_device_get'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/nvmem/core.c' line='864' column='1'/>
+        <parameter type-id='type-id-24' name='id' filepath='drivers/nvmem/core.c' line='864' column='1'/>
+        <return type-id='type-id-3104'/>
+      </function-decl>
+      <function-decl name='nvmem_cell_get' mangled-name='nvmem_cell_get' filepath='drivers/nvmem/core.c' line='970' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nvmem_cell_get'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/nvmem/core.c' line='970' column='1'/>
+        <parameter type-id='type-id-24' name='cell_id' filepath='drivers/nvmem/core.c' line='970' column='1'/>
+        <return type-id='type-id-3105'/>
+      </function-decl>
+      <function-decl name='nvmem_cell_read_u32' mangled-name='nvmem_cell_read_u32' filepath='drivers/nvmem/core.c' line='1249' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nvmem_cell_read_u32'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/nvmem/core.c' line='1249' column='1'/>
+        <parameter type-id='type-id-24' name='cell_id' filepath='drivers/nvmem/core.c' line='1249' column='1'/>
+        <parameter type-id='type-id-347' name='val' filepath='drivers/nvmem/core.c' line='1249' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/of/address.c' language='LANG_C89'>
+      <function-decl name='of_get_address' mangled-name='of_get_address' filepath='drivers/of/address.c' line='694' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_get_address'>
+        <parameter type-id='type-id-81' name='dev' filepath='drivers/of/address.c' line='694' column='1'/>
+        <parameter type-id='type-id-11' name='index' filepath='drivers/of/address.c' line='694' column='1'/>
+        <parameter type-id='type-id-1888' name='size' filepath='drivers/of/address.c' line='694' column='1'/>
+        <parameter type-id='type-id-72' name='flags' filepath='drivers/of/address.c' line='695' column='1'/>
+        <return type-id='type-id-2083'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/of/base.c' language='LANG_C89'>
+      <function-decl name='of_machine_is_compatible' mangled-name='of_machine_is_compatible' filepath='drivers/of/base.c' line='583' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_machine_is_compatible'>
+        <parameter type-id='type-id-24' name='compat' filepath='drivers/of/base.c' line='583' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/of/fdt.c' language='LANG_C89'>
+      <function-decl name='of_fdt_get_ddrtype' mangled-name='of_fdt_get_ddrtype' filepath='drivers/of/fdt.c' line='89' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_fdt_get_ddrtype'>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/of/irq.c' language='LANG_C89'>
+      <qualified-type-def type-id='type-id-3106' const='yes' id='type-id-3107'/>
+      <pointer-type-def type-id='type-id-3107' size-in-bits='64' id='type-id-3108'/>
+      <function-decl name='of_irq_domain_map' mangled-name='of_irq_domain_map' filepath='drivers/of/irq.c' line='277' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_irq_domain_map'>
+        <parameter type-id='type-id-3108' name='in' filepath='drivers/of/irq.c' line='277' column='1'/>
+        <parameter type-id='type-id-3109' name='out' filepath='drivers/of/irq.c' line='277' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='of_irq_find_parent' mangled-name='of_irq_find_parent' filepath='drivers/of/irq.c' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_irq_find_parent'>
+        <parameter type-id='type-id-81' name='child' filepath='drivers/of/irq.c' line='55' column='1'/>
         <return type-id='type-id-81'/>
       </function-decl>
-      <function-decl name='bcmp' mangled-name='bcmp' filepath='lib/string.c' line='881' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bcmp'>
-        <parameter type-id='type-id-15' name='a' filepath='lib/string.c' line='881' column='1'/>
-        <parameter type-id='type-id-15' name='b' filepath='lib/string.c' line='881' column='1'/>
-        <parameter type-id='type-id-84' name='len' filepath='lib/string.c' line='881' column='1'/>
-        <return type-id='type-id-17'/>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/of/of_net.c' language='LANG_C89'>
+      <class-decl name='nvmem_cell' size-in-bits='448' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3110'/>
+      <pointer-type-def type-id='type-id-3110' size-in-bits='64' id='type-id-3105'/>
+      <function-decl name='nvmem_cell_read' mangled-name='nvmem_cell_read' filepath='include/linux/nvmem-consumer.h' line='39' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nvmem_cell_read'>
+        <parameter type-id='type-id-3105'/>
+        <parameter type-id='type-id-76'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='nvmem_cell_put' mangled-name='nvmem_cell_put' filepath='include/linux/nvmem-consumer.h' line='37' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nvmem_cell_put'>
+        <parameter type-id='type-id-3105'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/of/of_reserved_mem.c' language='LANG_C89'>
+      <class-decl name='reserved_mem' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/of_reserved_mem.h' line='10' column='1' id='type-id-3111'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/of_reserved_mem.h' line='11' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='fdt_node' type-id='type-id-100' visibility='default' filepath='include/linux/of_reserved_mem.h' line='12' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='phandle' type-id='type-id-100' visibility='default' filepath='include/linux/of_reserved_mem.h' line='13' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='ops' type-id='type-id-3112' visibility='default' filepath='include/linux/of_reserved_mem.h' line='14' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='base' type-id='type-id-206' visibility='default' filepath='include/linux/of_reserved_mem.h' line='15' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='size' type-id='type-id-206' visibility='default' filepath='include/linux/of_reserved_mem.h' line='16' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='priv' type-id='type-id-3' visibility='default' filepath='include/linux/of_reserved_mem.h' line='17' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='reserved_mem_ops' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/of_reserved_mem.h' line='20' column='1' id='type-id-3113'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='device_init' type-id='type-id-3114' visibility='default' filepath='include/linux/of_reserved_mem.h' line='21' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='device_release' type-id='type-id-3115' visibility='default' filepath='include/linux/of_reserved_mem.h' line='23' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-3113' const='yes' id='type-id-3116'/>
+      <pointer-type-def type-id='type-id-3116' size-in-bits='64' id='type-id-3112'/>
+      <pointer-type-def type-id='type-id-3117' size-in-bits='64' id='type-id-3114'/>
+      <pointer-type-def type-id='type-id-3111' size-in-bits='64' id='type-id-3118'/>
+      <pointer-type-def type-id='type-id-3119' size-in-bits='64' id='type-id-3115'/>
+      <function-decl name='of_reserved_mem_lookup' mangled-name='of_reserved_mem_lookup' filepath='drivers/of/of_reserved_mem.c' line='406' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_reserved_mem_lookup'>
+        <parameter type-id='type-id-81' name='np' filepath='drivers/of/of_reserved_mem.c' line='406' column='1'/>
+        <return type-id='type-id-3118'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-3117'>
+        <parameter type-id='type-id-3118'/>
+        <parameter type-id='type-id-86'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3119'>
+        <parameter type-id='type-id-3118'/>
+        <parameter type-id='type-id-86'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/of/platform.c' language='LANG_C89'>
+      <class-decl name='of_dev_auxdata' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/of_platform.h' line='37' column='1' id='type-id-3120'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='compatible' type-id='type-id-300' visibility='default' filepath='include/linux/of_platform.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='phys_addr' type-id='type-id-1254' visibility='default' filepath='include/linux/of_platform.h' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='name' type-id='type-id-300' visibility='default' filepath='include/linux/of_platform.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='platform_data' type-id='type-id-3' visibility='default' filepath='include/linux/of_platform.h' line='41' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-3120' const='yes' id='type-id-3121'/>
+      <pointer-type-def type-id='type-id-3121' size-in-bits='64' id='type-id-3122'/>
+      <function-decl name='of_platform_populate' mangled-name='of_platform_populate' filepath='drivers/of/platform.c' line='474' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_platform_populate'>
+        <parameter type-id='type-id-81' name='root' filepath='drivers/of/platform.c' line='474' column='1'/>
+        <parameter type-id='type-id-3123' name='matches' filepath='drivers/of/platform.c' line='475' column='1'/>
+        <parameter type-id='type-id-3122' name='lookup' filepath='drivers/of/platform.c' line='476' column='1'/>
+        <parameter type-id='type-id-86' name='parent' filepath='drivers/of/platform.c' line='477' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='of_platform_depopulate' mangled-name='of_platform_depopulate' filepath='drivers/of/platform.c' line='594' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_platform_depopulate'>
+        <parameter type-id='type-id-86' name='parent' filepath='drivers/of/platform.c' line='594' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/of/property.c' language='LANG_C89'>
+      <function-decl name='of_property_read_variable_u8_array' mangled-name='of_property_read_variable_u8_array' filepath='drivers/of/property.c' line='184' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_property_read_variable_u8_array'>
+        <parameter type-id='type-id-80' name='np' filepath='drivers/of/property.c' line='184' column='1'/>
+        <parameter type-id='type-id-24' name='propname' filepath='drivers/of/property.c' line='185' column='1'/>
+        <parameter type-id='type-id-67' name='out_values' filepath='drivers/of/property.c' line='185' column='1'/>
+        <parameter type-id='type-id-125' name='sz_min' filepath='drivers/of/property.c' line='186' column='1'/>
+        <parameter type-id='type-id-125' name='sz_max' filepath='drivers/of/property.c' line='186' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='of_property_read_variable_u16_array' mangled-name='of_property_read_variable_u16_array' filepath='drivers/of/property.c' line='232' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_property_read_variable_u16_array'>
+        <parameter type-id='type-id-80' name='np' filepath='drivers/of/property.c' line='232' column='1'/>
+        <parameter type-id='type-id-24' name='propname' filepath='drivers/of/property.c' line='233' column='1'/>
+        <parameter type-id='type-id-625' name='out_values' filepath='drivers/of/property.c' line='233' column='1'/>
+        <parameter type-id='type-id-125' name='sz_min' filepath='drivers/of/property.c' line='234' column='1'/>
+        <parameter type-id='type-id-125' name='sz_max' filepath='drivers/of/property.c' line='234' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/opp/core.c' language='LANG_C89'>
+      <class-decl name='dev_pm_opp_supply' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/pm_opp.h' line='39' column='1' id='type-id-3124'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='u_volt' type-id='type-id-100' visibility='default' filepath='include/linux/pm_opp.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='u_volt_min' type-id='type-id-100' visibility='default' filepath='include/linux/pm_opp.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='u_volt_max' type-id='type-id-100' visibility='default' filepath='include/linux/pm_opp.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='u_amp' type-id='type-id-100' visibility='default' filepath='include/linux/pm_opp.h' line='43' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='opp_table' size-in-bits='1856' is-struct='yes' visibility='default' filepath='drivers/opp/opp.h' line='154' column='1' id='type-id-3125'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='node' type-id='type-id-8' visibility='default' filepath='drivers/opp/opp.h' line='155' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='head' type-id='type-id-3126' visibility='default' filepath='drivers/opp/opp.h' line='157' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='dev_list' type-id='type-id-8' visibility='default' filepath='drivers/opp/opp.h' line='158' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='opp_list' type-id='type-id-8' visibility='default' filepath='drivers/opp/opp.h' line='159' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='kref' type-id='type-id-771' visibility='default' filepath='drivers/opp/opp.h' line='160' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='lock' type-id='type-id-407' visibility='default' filepath='drivers/opp/opp.h' line='161' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='np' type-id='type-id-81' visibility='default' filepath='drivers/opp/opp.h' line='163' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='clock_latency_ns_max' type-id='type-id-100' visibility='default' filepath='drivers/opp/opp.h' line='164' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='voltage_tolerance_v1' type-id='type-id-10' visibility='default' filepath='drivers/opp/opp.h' line='167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1248'>
+          <var-decl name='shared_opp' type-id='type-id-3127' visibility='default' filepath='drivers/opp/opp.h' line='169' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='suspend_opp' type-id='type-id-602' visibility='default' filepath='drivers/opp/opp.h' line='170' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='supported_hw' type-id='type-id-72' visibility='default' filepath='drivers/opp/opp.h' line='172' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='supported_hw_count' type-id='type-id-10' visibility='default' filepath='drivers/opp/opp.h' line='173' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='prop_name' type-id='type-id-24' visibility='default' filepath='drivers/opp/opp.h' line='174' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='clk' type-id='type-id-529' visibility='default' filepath='drivers/opp/opp.h' line='175' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='regulators' type-id='type-id-3128' visibility='default' filepath='drivers/opp/opp.h' line='176' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='regulator_count' type-id='type-id-11' visibility='default' filepath='drivers/opp/opp.h' line='177' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1696'>
+          <var-decl name='genpd_performance_state' type-id='type-id-211' visibility='default' filepath='drivers/opp/opp.h' line='178' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='set_opp' type-id='type-id-3129' visibility='default' filepath='drivers/opp/opp.h' line='180' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='set_opp_data' type-id='type-id-3130' visibility='default' filepath='drivers/opp/opp.h' line='181' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='opp_table_access' filepath='drivers/opp/opp.h' line='114' column='1' id='type-id-3127'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='OPP_TABLE_ACCESS_UNKNOWN' value='0'/>
+        <enumerator name='OPP_TABLE_ACCESS_EXCLUSIVE' value='1'/>
+        <enumerator name='OPP_TABLE_ACCESS_SHARED' value='2'/>
+      </enum-decl>
+      <class-decl name='dev_pm_set_opp_data' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/pm_opp.h' line='69' column='1' id='type-id-3131'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='old_opp' type-id='type-id-3132' visibility='default' filepath='include/linux/pm_opp.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='new_opp' type-id='type-id-3132' visibility='default' filepath='include/linux/pm_opp.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='regulators' type-id='type-id-3128' visibility='default' filepath='include/linux/pm_opp.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='regulator_count' type-id='type-id-10' visibility='default' filepath='include/linux/pm_opp.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='clk' type-id='type-id-529' visibility='default' filepath='include/linux/pm_opp.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/linux/pm_opp.h' line='76' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='dev_pm_opp_info' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/pm_opp.h' line='53' column='1' id='type-id-3132'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='rate' type-id='type-id-100' visibility='default' filepath='include/linux/pm_opp.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='supplies' type-id='type-id-3133' visibility='default' filepath='include/linux/pm_opp.h' line='55' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-3124' size-in-bits='64' id='type-id-3133'/>
+      <pointer-type-def type-id='type-id-3131' size-in-bits='64' id='type-id-3130'/>
+      <pointer-type-def type-id='type-id-3134' size-in-bits='64' id='type-id-3129'/>
+      <pointer-type-def type-id='type-id-3125' size-in-bits='64' id='type-id-3135'/>
+      <pointer-type-def type-id='type-id-3136' size-in-bits='64' id='type-id-3128'/>
+      <function-decl name='dev_pm_opp_find_freq_ceil' mangled-name='dev_pm_opp_find_freq_ceil' filepath='drivers/opp/core.c' line='425' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_pm_opp_find_freq_ceil'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/opp/core.c' line='425' column='1'/>
+        <parameter type-id='type-id-76' name='freq' filepath='drivers/opp/core.c' line='426' column='1'/>
+        <return type-id='type-id-602'/>
+      </function-decl>
+      <function-decl name='dev_pm_opp_set_supported_hw' mangled-name='dev_pm_opp_set_supported_hw' filepath='drivers/opp/core.c' line='1162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_pm_opp_set_supported_hw'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/opp/core.c' line='1162' column='1'/>
+        <parameter type-id='type-id-560' name='versions' filepath='drivers/opp/core.c' line='1163' column='1'/>
+        <parameter type-id='type-id-10' name='count' filepath='drivers/opp/core.c' line='1163' column='1'/>
+        <return type-id='type-id-3135'/>
+      </function-decl>
+      <function-decl name='dev_pm_opp_register_notifier' mangled-name='dev_pm_opp_register_notifier' filepath='drivers/opp/core.c' line='1677' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_pm_opp_register_notifier'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/opp/core.c' line='1677' column='1'/>
+        <parameter type-id='type-id-103' name='nb' filepath='drivers/opp/core.c' line='1677' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='dev_pm_opp_unregister_notifier' mangled-name='dev_pm_opp_unregister_notifier' filepath='drivers/opp/core.c' line='1701' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_pm_opp_unregister_notifier'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/opp/core.c' line='1701' column='1'/>
+        <parameter type-id='type-id-103' name='nb' filepath='drivers/opp/core.c' line='1702' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='dev_pm_opp_remove_table' mangled-name='dev_pm_opp_remove_table' filepath='drivers/opp/core.c' line='1776' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_pm_opp_remove_table'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/opp/core.c' line='1776' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-3134'>
+        <parameter type-id='type-id-3130'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/opp/of.c' language='LANG_C89'>
+      <function-decl name='of_dev_pm_opp_get_cpu_power' mangled-name='of_dev_pm_opp_get_cpu_power' filepath='drivers/opp/of.c' line='810' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_dev_pm_opp_get_cpu_power'>
+        <parameter type-id='type-id-76' name='mW' filepath='drivers/opp/of.c' line='810' column='1'/>
+        <parameter type-id='type-id-76' name='KHz' filepath='drivers/opp/of.c' line='810' column='1'/>
+        <parameter type-id='type-id-11' name='cpu' filepath='drivers/opp/of.c' line='810' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/pci/access.c' language='LANG_C89'>
+      <qualified-type-def type-id='type-id-284' const='yes' id='type-id-3137'/>
+      <pointer-type-def type-id='type-id-3137' size-in-bits='64' id='type-id-3138'/>
+      <function-decl name='pci_read_config_word' mangled-name='pci_read_config_word' filepath='include/linux/pci.h' line='1013' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_read_config_word'>
+        <parameter type-id='type-id-3138'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-3139'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='pci_read_config_dword' mangled-name='pci_read_config_dword' filepath='include/linux/pci.h' line='1014' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_read_config_dword'>
+        <parameter type-id='type-id-3138'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-72'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='pci_write_config_word' mangled-name='pci_write_config_word' filepath='include/linux/pci.h' line='1016' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_write_config_word'>
+        <parameter type-id='type-id-3138'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-288'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='pci_write_config_dword' mangled-name='pci_write_config_dword' filepath='include/linux/pci.h' line='1017' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_write_config_dword'>
+        <parameter type-id='type-id-3138'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='pci_read_config_byte' mangled-name='pci_read_config_byte' filepath='drivers/pci/access.c' line='536' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_read_config_byte'>
+        <parameter type-id='type-id-3138' name='dev' filepath='drivers/pci/access.c' line='536' column='1'/>
+        <parameter type-id='type-id-11' name='where' filepath='drivers/pci/access.c' line='536' column='1'/>
+        <parameter type-id='type-id-67' name='val' filepath='drivers/pci/access.c' line='536' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/pci/bus.c' language='LANG_C89'>
+      <function-decl name='dev_printk' mangled-name='dev_printk' filepath='include/linux/device.h' line='1432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_printk'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-512'/>
+        <parameter type-id='type-id-24'/>
+        <parameter is-variadic='yes'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/pci/controller/dwc/pcie-designware-host.c' language='LANG_C89'>
+      <function-decl name='platform_get_resource_byname' mangled-name='platform_get_resource_byname' filepath='include/linux/platform_device.h' line='56' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='platform_get_resource_byname'>
+        <parameter type-id='type-id-568'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-279'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/pci/controller/dwc/pcie-kirin.c' language='LANG_C89'>
+      <class-decl name='regmap' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3140'/>
+      <pointer-type-def type-id='type-id-3140' size-in-bits='64' id='type-id-845'/>
+      <function-decl name='regmap_write' mangled-name='regmap_write' filepath='include/linux/regmap.h' line='978' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regmap_write'>
+        <parameter type-id='type-id-845'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='regmap_read' mangled-name='regmap_read' filepath='include/linux/regmap.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regmap_read'>
+        <parameter type-id='type-id-845'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-72'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='clk_set_rate' mangled-name='clk_set_rate' filepath='include/linux/clk.h' line='538' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clk_set_rate'>
+        <parameter type-id='type-id-529'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/pci/controller/pci-host-common.c' language='LANG_C89'>
+      <function-decl name='devm_add_action' mangled-name='devm_add_action' filepath='include/linux/device.h' line='728' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_add_action'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-74'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/pci/controller/pci-host-generic.c' language='LANG_C89'>
+      <function-decl name='of_match_node' mangled-name='of_match_node' filepath='include/linux/of.h' line='366' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_match_node'>
+        <parameter type-id='type-id-3123'/>
+        <parameter type-id='type-id-80'/>
+        <return type-id='type-id-3123'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/pci/irq.c' language='LANG_C89'>
+      <function-decl name='pci_irq_vector' mangled-name='pci_irq_vector' filepath='include/linux/pci.h' line='1388' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_irq_vector'>
+        <parameter type-id='type-id-302'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/pci/msi.c' language='LANG_C89'>
+      <class-decl name='irq_affinity' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/interrupt.h' line='251' column='1' id='type-id-3141'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='pre_vectors' type-id='type-id-11' visibility='default' filepath='include/linux/interrupt.h' line='252' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='post_vectors' type-id='type-id-11' visibility='default' filepath='include/linux/interrupt.h' line='253' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-3141' const='yes' id='type-id-3142'/>
+      <pointer-type-def type-id='type-id-3142' size-in-bits='64' id='type-id-3143'/>
+      <function-decl name='pci_alloc_irq_vectors_affinity' mangled-name='pci_alloc_irq_vectors_affinity' filepath='drivers/pci/msi.c' line='1153' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_alloc_irq_vectors_affinity'>
+        <parameter type-id='type-id-302' name='dev' filepath='drivers/pci/msi.c' line='1153' column='1'/>
+        <parameter type-id='type-id-10' name='min_vecs' filepath='drivers/pci/msi.c' line='1153' column='1'/>
+        <parameter type-id='type-id-10' name='max_vecs' filepath='drivers/pci/msi.c' line='1154' column='1'/>
+        <parameter type-id='type-id-10' name='flags' filepath='drivers/pci/msi.c' line='1154' column='1'/>
+        <parameter type-id='type-id-3143' name='affd' filepath='drivers/pci/msi.c' line='1155' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='pci_free_irq_vectors' mangled-name='pci_free_irq_vectors' filepath='drivers/pci/msi.c' line='1203' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_free_irq_vectors'>
+        <parameter type-id='type-id-302' name='dev' filepath='drivers/pci/msi.c' line='1203' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/pci/of.c' language='LANG_C89'>
+      <function-decl name='devm_kmemdup' mangled-name='devm_kmemdup' filepath='include/linux/device.h' line='713' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_kmemdup'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/pci/pci-driver.c' language='LANG_C89'>
+      <function-decl name='driver_register' mangled-name='driver_register' filepath='include/linux/device.h' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='driver_register'>
+        <parameter type-id='type-id-621'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='of_dma_configure' mangled-name='of_dma_configure' filepath='include/linux/of_device.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_dma_configure'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-81'/>
+        <parameter type-id='type-id-264'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='bus_for_each_dev' mangled-name='bus_for_each_dev' filepath='include/linux/device.h' line='174' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bus_for_each_dev'>
+        <parameter type-id='type-id-531'/>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-1930'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__pci_register_driver' mangled-name='__pci_register_driver' filepath='drivers/pci/pci-driver.c' line='1409' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__pci_register_driver'>
+        <parameter type-id='type-id-290' name='drv' filepath='drivers/pci/pci-driver.c' line='1409' column='1'/>
+        <parameter type-id='type-id-19' name='owner' filepath='drivers/pci/pci-driver.c' line='1409' column='1'/>
+        <parameter type-id='type-id-24' name='mod_name' filepath='drivers/pci/pci-driver.c' line='1410' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='pci_unregister_driver' mangled-name='pci_unregister_driver' filepath='drivers/pci/pci-driver.c' line='1437' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_unregister_driver'>
+        <parameter type-id='type-id-290' name='drv' filepath='drivers/pci/pci-driver.c' line='1437' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/pci/pci.c' language='LANG_C89'>
+      <function-decl name='pm_runtime_barrier' mangled-name='pm_runtime_barrier' filepath='include/linux/pm_runtime.h' line='45' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pm_runtime_barrier'>
+        <parameter type-id='type-id-86'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='device_set_wakeup_capable' mangled-name='device_set_wakeup_capable' filepath='include/linux/pm_wakeup.h' line='110' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_set_wakeup_capable'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-264'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='pm_wakeup_dev_event' mangled-name='pm_wakeup_dev_event' filepath='include/linux/pm_wakeup.h' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pm_wakeup_dev_event'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-264'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='pci_disable_device' mangled-name='pci_disable_device' filepath='drivers/pci/pci.c' line='1852' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_disable_device'>
+        <parameter type-id='type-id-302' name='dev' filepath='drivers/pci/pci.c' line='1852' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='pci_find_next_capability' mangled-name='pci_find_next_capability' filepath='drivers/pci/pci.c' line='393' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_find_next_capability'>
+        <parameter type-id='type-id-302' name='dev' filepath='drivers/pci/pci.c' line='393' column='1'/>
+        <parameter type-id='type-id-53' name='pos' filepath='drivers/pci/pci.c' line='393' column='1'/>
+        <parameter type-id='type-id-11' name='cap' filepath='drivers/pci/pci.c' line='393' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='pci_enable_device' mangled-name='pci_enable_device' filepath='drivers/pci/pci.c' line='1660' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_enable_device'>
+        <parameter type-id='type-id-302' name='dev' filepath='drivers/pci/pci.c' line='1660' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='pcim_enable_device' mangled-name='pcim_enable_device' filepath='drivers/pci/pci.c' line='1733' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pcim_enable_device'>
+        <parameter type-id='type-id-302' name='pdev' filepath='drivers/pci/pci.c' line='1733' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='pci_request_acs' mangled-name='pci_request_acs' filepath='drivers/pci/pci.c' line='3060' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_request_acs'>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='pci_release_regions' mangled-name='pci_release_regions' filepath='drivers/pci/pci.c' line='3739' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_release_regions'>
+        <parameter type-id='type-id-302' name='pdev' filepath='drivers/pci/pci.c' line='3739' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='pci_request_regions' mangled-name='pci_request_regions' filepath='drivers/pci/pci.c' line='3758' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_request_regions'>
+        <parameter type-id='type-id-302' name='pdev' filepath='drivers/pci/pci.c' line='3758' column='1'/>
+        <parameter type-id='type-id-24' name='res_name' filepath='drivers/pci/pci.c' line='3758' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='pci_set_master' mangled-name='pci_set_master' filepath='drivers/pci/pci.c' line='4077' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_set_master'>
+        <parameter type-id='type-id-302' name='dev' filepath='drivers/pci/pci.c' line='4077' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='pci_clear_master' mangled-name='pci_clear_master' filepath='drivers/pci/pci.c' line='4088' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_clear_master'>
+        <parameter type-id='type-id-302' name='dev' filepath='drivers/pci/pci.c' line='4088' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/pci/probe.c' language='LANG_C89'>
+      <class-decl name='hotplug_slot_ops' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/linux/pci_hotplug.h' line='48' column='1' id='type-id-3144'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/linux/pci_hotplug.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='mod_name' type-id='type-id-24' visibility='default' filepath='include/linux/pci_hotplug.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='enable_slot' type-id='type-id-3145' visibility='default' filepath='include/linux/pci_hotplug.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='disable_slot' type-id='type-id-3145' visibility='default' filepath='include/linux/pci_hotplug.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='set_attention_status' type-id='type-id-3146' visibility='default' filepath='include/linux/pci_hotplug.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='hardware_test' type-id='type-id-3147' visibility='default' filepath='include/linux/pci_hotplug.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='get_power_status' type-id='type-id-3148' visibility='default' filepath='include/linux/pci_hotplug.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='get_attention_status' type-id='type-id-3148' visibility='default' filepath='include/linux/pci_hotplug.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='get_latch_status' type-id='type-id-3148' visibility='default' filepath='include/linux/pci_hotplug.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='get_adapter_status' type-id='type-id-3148' visibility='default' filepath='include/linux/pci_hotplug.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='reset_slot' type-id='type-id-3149' visibility='default' filepath='include/linux/pci_hotplug.h' line='59' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='hotplug_slot_info' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/linux/pci_hotplug.h' line='71' column='1' id='type-id-3150'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='power_status' type-id='type-id-53' visibility='default' filepath='include/linux/pci_hotplug.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='attention_status' type-id='type-id-53' visibility='default' filepath='include/linux/pci_hotplug.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='latch_status' type-id='type-id-53' visibility='default' filepath='include/linux/pci_hotplug.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='adapter_status' type-id='type-id-53' visibility='default' filepath='include/linux/pci_hotplug.h' line='75' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-3150' size-in-bits='64' id='type-id-3151'/>
+      <pointer-type-def type-id='type-id-3144' size-in-bits='64' id='type-id-3152'/>
+      <pointer-type-def type-id='type-id-3153' size-in-bits='64' id='type-id-3145'/>
+      <pointer-type-def type-id='type-id-3154' size-in-bits='64' id='type-id-3149'/>
+      <pointer-type-def type-id='type-id-3155' size-in-bits='64' id='type-id-3147'/>
+      <pointer-type-def type-id='type-id-3156' size-in-bits='64' id='type-id-3146'/>
+      <pointer-type-def type-id='type-id-3157' size-in-bits='64' id='type-id-3148'/>
+      <function-decl name='bus_find_device' mangled-name='bus_find_device' filepath='include/linux/device.h' line='176' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bus_find_device'>
+        <parameter type-id='type-id-531'/>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-1930'/>
+        <return type-id='type-id-86'/>
+      </function-decl>
+      <function-decl name='pci_find_capability' mangled-name='pci_find_capability' filepath='include/linux/pci.h' line='969' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_find_capability'>
+        <parameter type-id='type-id-302'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='pci_find_ext_capability' mangled-name='pci_find_ext_capability' filepath='include/linux/pci.h' line='971' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_find_ext_capability'>
+        <parameter type-id='type-id-302'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='of_find_compatible_node' mangled-name='of_find_compatible_node' filepath='include/linux/of.h' line='279' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_find_compatible_node'>
+        <parameter type-id='type-id-81'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-81'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-3153'>
+        <parameter type-id='type-id-314'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3154'>
+        <parameter type-id='type-id-314'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3155'>
+        <parameter type-id='type-id-314'/>
+        <parameter type-id='type-id-9'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3156'>
+        <parameter type-id='type-id-314'/>
+        <parameter type-id='type-id-53'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3157'>
+        <parameter type-id='type-id-314'/>
+        <parameter type-id='type-id-67'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/pci/quirks.c' language='LANG_C89'>
+      <class-decl name='device_link' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/linux/device.h' line='870' column='1' id='type-id-3158'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='supplier' type-id='type-id-86' visibility='default' filepath='include/linux/device.h' line='871' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='s_node' type-id='type-id-8' visibility='default' filepath='include/linux/device.h' line='872' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='consumer' type-id='type-id-86' visibility='default' filepath='include/linux/device.h' line='873' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='c_node' type-id='type-id-8' visibility='default' filepath='include/linux/device.h' line='874' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='status' type-id='type-id-3159' visibility='default' filepath='include/linux/device.h' line='875' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='flags' type-id='type-id-9' visibility='default' filepath='include/linux/device.h' line='876' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='rpm_active' type-id='type-id-12' visibility='default' filepath='include/linux/device.h' line='877' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='kref' type-id='type-id-771' visibility='default' filepath='include/linux/device.h' line='878' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='callback_head' type-id='type-id-157' visibility='default' filepath='include/linux/device.h' line='880' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='supplier_preactivated' type-id='type-id-211' visibility='default' filepath='include/linux/device.h' line='882' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='device_link_state' filepath='include/linux/device.h' line='832' column='1' id='type-id-3159'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='DL_STATE_NONE' value='-1'/>
+        <enumerator name='DL_STATE_DORMANT' value='0'/>
+        <enumerator name='DL_STATE_AVAILABLE' value='1'/>
+        <enumerator name='DL_STATE_CONSUMER_PROBE' value='2'/>
+        <enumerator name='DL_STATE_ACTIVE' value='3'/>
+        <enumerator name='DL_STATE_SUPPLIER_UNBIND' value='4'/>
+      </enum-decl>
+      <pointer-type-def type-id='type-id-3158' size-in-bits='64' id='type-id-541'/>
+      <function-decl name='device_link_add' mangled-name='device_link_add' filepath='include/linux/device.h' line='1412' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_link_add'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-541'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/phy/phy-core.c' language='LANG_C89'>
+      <class-decl name='regulator' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3160'/>
+      <class-decl name='phy' size-in-bits='6784' is-struct='yes' visibility='default' filepath='include/linux/phy/phy.h' line='88' column='1' id='type-id-3161'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='include/linux/phy/phy.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6208'>
+          <var-decl name='id' type-id='type-id-11' visibility='default' filepath='include/linux/phy/phy.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6272'>
+          <var-decl name='ops' type-id='type-id-3162' visibility='default' filepath='include/linux/phy/phy.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6336'>
+          <var-decl name='mutex' type-id='type-id-407' visibility='default' filepath='include/linux/phy/phy.h' line='92' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6592'>
+          <var-decl name='init_count' type-id='type-id-11' visibility='default' filepath='include/linux/phy/phy.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6624'>
+          <var-decl name='power_count' type-id='type-id-11' visibility='default' filepath='include/linux/phy/phy.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6656'>
+          <var-decl name='attrs' type-id='type-id-3163' visibility='default' filepath='include/linux/phy/phy.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6720'>
+          <var-decl name='pwr' type-id='type-id-3136' visibility='default' filepath='include/linux/phy/phy.h' line='96' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='phy_ops' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/phy/phy.h' line='56' column='1' id='type-id-3164'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='init' type-id='type-id-3165' visibility='default' filepath='include/linux/phy/phy.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='exit' type-id='type-id-3165' visibility='default' filepath='include/linux/phy/phy.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='power_on' type-id='type-id-3165' visibility='default' filepath='include/linux/phy/phy.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='power_off' type-id='type-id-3165' visibility='default' filepath='include/linux/phy/phy.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='set_mode' type-id='type-id-3166' visibility='default' filepath='include/linux/phy/phy.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='reset' type-id='type-id-3165' visibility='default' filepath='include/linux/phy/phy.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='calibrate' type-id='type-id-3165' visibility='default' filepath='include/linux/phy/phy.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/linux/phy/phy.h' line='64' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='phy_mode' filepath='include/linux/phy/phy.h' line='25' column='1' id='type-id-3167'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='PHY_MODE_INVALID' value='0'/>
+        <enumerator name='PHY_MODE_USB_HOST' value='1'/>
+        <enumerator name='PHY_MODE_USB_HOST_LS' value='2'/>
+        <enumerator name='PHY_MODE_USB_HOST_FS' value='3'/>
+        <enumerator name='PHY_MODE_USB_HOST_HS' value='4'/>
+        <enumerator name='PHY_MODE_USB_HOST_SS' value='5'/>
+        <enumerator name='PHY_MODE_USB_DEVICE' value='6'/>
+        <enumerator name='PHY_MODE_USB_DEVICE_LS' value='7'/>
+        <enumerator name='PHY_MODE_USB_DEVICE_FS' value='8'/>
+        <enumerator name='PHY_MODE_USB_DEVICE_HS' value='9'/>
+        <enumerator name='PHY_MODE_USB_DEVICE_SS' value='10'/>
+        <enumerator name='PHY_MODE_USB_OTG' value='11'/>
+        <enumerator name='PHY_MODE_SGMII' value='12'/>
+        <enumerator name='PHY_MODE_2500SGMII' value='13'/>
+        <enumerator name='PHY_MODE_10GKR' value='14'/>
+        <enumerator name='PHY_MODE_UFS_HS_A' value='15'/>
+        <enumerator name='PHY_MODE_UFS_HS_B' value='16'/>
+      </enum-decl>
+      <class-decl name='phy_attrs' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/phy/phy.h' line='71' column='1' id='type-id-3163'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bus_width' type-id='type-id-9' visibility='default' filepath='include/linux/phy/phy.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='mode' type-id='type-id-3167' visibility='default' filepath='include/linux/phy/phy.h' line='73' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='phy_provider' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/phy/phy.h' line='107' column='1' id='type-id-3168'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/linux/phy/phy.h' line='108' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='children' type-id='type-id-81' visibility='default' filepath='include/linux/phy/phy.h' line='109' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/linux/phy/phy.h' line='110' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/phy/phy.h' line='111' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='of_xlate' type-id='type-id-3169' visibility='default' filepath='include/linux/phy/phy.h' line='112' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-3164' const='yes' id='type-id-3170'/>
+      <pointer-type-def type-id='type-id-3170' size-in-bits='64' id='type-id-3162'/>
+      <pointer-type-def type-id='type-id-3171' size-in-bits='64' id='type-id-3165'/>
+      <pointer-type-def type-id='type-id-3172' size-in-bits='64' id='type-id-3166'/>
+      <pointer-type-def type-id='type-id-3161' size-in-bits='64' id='type-id-3173'/>
+      <pointer-type-def type-id='type-id-3174' size-in-bits='64' id='type-id-3169'/>
+      <pointer-type-def type-id='type-id-3168' size-in-bits='64' id='type-id-3175'/>
+      <pointer-type-def type-id='type-id-3160' size-in-bits='64' id='type-id-3136'/>
+      <function-decl name='pm_runtime_allow' mangled-name='pm_runtime_allow' filepath='include/linux/pm_runtime.h' line='48' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pm_runtime_allow'>
+        <parameter type-id='type-id-86'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='pm_runtime_forbid' mangled-name='pm_runtime_forbid' filepath='include/linux/pm_runtime.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pm_runtime_forbid'>
+        <parameter type-id='type-id-86'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='regulator_enable' mangled-name='regulator_enable' filepath='include/linux/regulator/consumer.h' line='226' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regulator_enable'>
+        <parameter type-id='type-id-3136'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='regulator_disable' mangled-name='regulator_disable' filepath='include/linux/regulator/consumer.h' line='227' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regulator_disable'>
+        <parameter type-id='type-id-3136'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='of_property_match_string' mangled-name='of_property_match_string' filepath='include/linux/of.h' line='345' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_property_match_string'>
+        <parameter type-id='type-id-80'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='regulator_get_optional' mangled-name='regulator_get_optional' filepath='include/linux/regulator/consumer.h' line='190' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regulator_get_optional'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-3136'/>
+      </function-decl>
+      <function-decl name='pm_runtime_enable' mangled-name='pm_runtime_enable' filepath='include/linux/pm_runtime.h' line='46' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pm_runtime_enable'>
+        <parameter type-id='type-id-86'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='pm_runtime_no_callbacks' mangled-name='pm_runtime_no_callbacks' filepath='include/linux/pm_runtime.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pm_runtime_no_callbacks'>
+        <parameter type-id='type-id-86'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='of_device_is_compatible' mangled-name='of_device_is_compatible' filepath='include/linux/of.h' line='351' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_device_is_compatible'>
+        <parameter type-id='type-id-80'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='regulator_put' mangled-name='regulator_put' filepath='include/linux/regulator/consumer.h' line='194' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regulator_put'>
+        <parameter type-id='type-id-3136'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='phy_create_lookup' mangled-name='phy_create_lookup' filepath='drivers/phy/phy-core.c' line='68' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='phy_create_lookup'>
+        <parameter type-id='type-id-3173' name='phy' filepath='drivers/phy/phy-core.c' line='68' column='1'/>
+        <parameter type-id='type-id-24' name='con_id' filepath='drivers/phy/phy-core.c' line='68' column='1'/>
+        <parameter type-id='type-id-24' name='dev_id' filepath='drivers/phy/phy-core.c' line='68' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='phy_remove_lookup' mangled-name='phy_remove_lookup' filepath='drivers/phy/phy-core.c' line='100' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='phy_remove_lookup'>
+        <parameter type-id='type-id-3173' name='phy' filepath='drivers/phy/phy-core.c' line='100' column='1'/>
+        <parameter type-id='type-id-24' name='con_id' filepath='drivers/phy/phy-core.c' line='100' column='1'/>
+        <parameter type-id='type-id-24' name='dev_id' filepath='drivers/phy/phy-core.c' line='100' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='phy_pm_runtime_get_sync' mangled-name='phy_pm_runtime_get_sync' filepath='drivers/phy/phy-core.c' line='170' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='phy_pm_runtime_get_sync'>
+        <parameter type-id='type-id-3173' name='phy' filepath='drivers/phy/phy-core.c' line='170' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='phy_pm_runtime_put_sync' mangled-name='phy_pm_runtime_put_sync' filepath='drivers/phy/phy-core.c' line='200' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='phy_pm_runtime_put_sync'>
+        <parameter type-id='type-id-3173' name='phy' filepath='drivers/phy/phy-core.c' line='200' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='phy_init' mangled-name='phy_init' filepath='drivers/phy/phy-core.c' line='236' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='phy_init'>
+        <parameter type-id='type-id-3173' name='phy' filepath='drivers/phy/phy-core.c' line='236' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='phy_exit' mangled-name='phy_exit' filepath='drivers/phy/phy-core.c' line='265' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='phy_exit'>
+        <parameter type-id='type-id-3173' name='phy' filepath='drivers/phy/phy-core.c' line='265' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='phy_power_on' mangled-name='phy_power_on' filepath='drivers/phy/phy-core.c' line='294' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='phy_power_on'>
+        <parameter type-id='type-id-3173' name='phy' filepath='drivers/phy/phy-core.c' line='294' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='phy_power_off' mangled-name='phy_power_off' filepath='drivers/phy/phy-core.c' line='336' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='phy_power_off'>
+        <parameter type-id='type-id-3173' name='phy' filepath='drivers/phy/phy-core.c' line='336' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='phy_set_mode' mangled-name='phy_set_mode' filepath='drivers/phy/phy-core.c' line='363' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='phy_set_mode'>
+        <parameter type-id='type-id-3173' name='phy' filepath='drivers/phy/phy-core.c' line='363' column='1'/>
+        <parameter type-id='type-id-3167' name='mode' filepath='drivers/phy/phy-core.c' line='363' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='of_phy_simple_xlate' mangled-name='of_phy_simple_xlate' filepath='drivers/phy/phy-core.c' line='538' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_phy_simple_xlate'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/phy/phy-core.c' line='538' column='1'/>
+        <parameter type-id='type-id-233' name='args' filepath='drivers/phy/phy-core.c' line='539' column='1'/>
+        <return type-id='type-id-3173'/>
+      </function-decl>
+      <function-decl name='devm_phy_get' mangled-name='devm_phy_get' filepath='drivers/phy/phy-core.c' line='629' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_phy_get'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/phy/phy-core.c' line='629' column='1'/>
+        <parameter type-id='type-id-24' name='string' filepath='drivers/phy/phy-core.c' line='629' column='1'/>
+        <return type-id='type-id-3173'/>
+      </function-decl>
+      <function-decl name='devm_phy_create' mangled-name='devm_phy_create' filepath='drivers/phy/phy-core.c' line='829' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_phy_create'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/phy/phy-core.c' line='829' column='1'/>
+        <parameter type-id='type-id-81' name='node' filepath='drivers/phy/phy-core.c' line='829' column='1'/>
+        <parameter type-id='type-id-3162' name='ops' filepath='drivers/phy/phy-core.c' line='830' column='1'/>
+        <return type-id='type-id-3173'/>
+      </function-decl>
+      <function-decl name='__devm_of_phy_provider_register' mangled-name='__devm_of_phy_provider_register' filepath='drivers/phy/phy-core.c' line='960' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__devm_of_phy_provider_register'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/phy/phy-core.c' line='960' column='1'/>
+        <parameter type-id='type-id-81' name='children' filepath='drivers/phy/phy-core.c' line='961' column='1'/>
+        <parameter type-id='type-id-19' name='owner' filepath='drivers/phy/phy-core.c' line='961' column='1'/>
+        <parameter type-id='type-id-3169' name='of_xlate' filepath='drivers/phy/phy-core.c' line='962' column='1'/>
+        <return type-id='type-id-3175'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-3171'>
+        <parameter type-id='type-id-3173'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3172'>
+        <parameter type-id='type-id-3173'/>
+        <parameter type-id='type-id-3167'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3174'>
+        <parameter type-id='type-id-86' name='dev'/>
+        <parameter type-id='type-id-233' name='args'/>
+        <return type-id='type-id-3173'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/pinctrl/core.c' language='LANG_C89'>
+      <class-decl name='gpio_desc' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3176'/>
+      <class-decl name='pin_config_item' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3177'/>
+      <class-decl name='pinmux_ops' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3178'/>
+      <class-decl name='pinctrl_dev' size-in-bits='1472' is-struct='yes' visibility='default' filepath='drivers/pinctrl/core.h' line='43' column='1' id='type-id-3179'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='node' type-id='type-id-8' visibility='default' filepath='drivers/pinctrl/core.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='desc' type-id='type-id-3180' visibility='default' filepath='drivers/pinctrl/core.h' line='45' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='pin_desc_tree' type-id='type-id-3181' visibility='default' filepath='drivers/pinctrl/core.h' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='pin_group_tree' type-id='type-id-3181' visibility='default' filepath='drivers/pinctrl/core.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='num_groups' type-id='type-id-10' visibility='default' filepath='drivers/pinctrl/core.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='pin_function_tree' type-id='type-id-3181' visibility='default' filepath='drivers/pinctrl/core.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='num_functions' type-id='type-id-10' visibility='default' filepath='drivers/pinctrl/core.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='gpio_ranges' type-id='type-id-8' visibility='default' filepath='drivers/pinctrl/core.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='drivers/pinctrl/core.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='owner' type-id='type-id-161' visibility='default' filepath='drivers/pinctrl/core.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='driver_data' type-id='type-id-3' visibility='default' filepath='drivers/pinctrl/core.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='p' type-id='type-id-3182' visibility='default' filepath='drivers/pinctrl/core.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='hog_default' type-id='type-id-3183' visibility='default' filepath='drivers/pinctrl/core.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='hog_sleep' type-id='type-id-3183' visibility='default' filepath='drivers/pinctrl/core.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='mutex' type-id='type-id-407' visibility='default' filepath='drivers/pinctrl/core.h' line='62' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='pinctrl_desc' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/pinctrl/pinctrl.h' line='129' column='1' id='type-id-3184'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/pinctrl/pinctrl.h' line='130' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='pins' type-id='type-id-3185' visibility='default' filepath='include/linux/pinctrl/pinctrl.h' line='131' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='npins' type-id='type-id-10' visibility='default' filepath='include/linux/pinctrl/pinctrl.h' line='132' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='pctlops' type-id='type-id-3186' visibility='default' filepath='include/linux/pinctrl/pinctrl.h' line='133' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='pmxops' type-id='type-id-3187' visibility='default' filepath='include/linux/pinctrl/pinctrl.h' line='134' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='confops' type-id='type-id-3188' visibility='default' filepath='include/linux/pinctrl/pinctrl.h' line='135' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='owner' type-id='type-id-161' visibility='default' filepath='include/linux/pinctrl/pinctrl.h' line='136' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='num_custom_params' type-id='type-id-10' visibility='default' filepath='include/linux/pinctrl/pinctrl.h' line='138' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='custom_params' type-id='type-id-3189' visibility='default' filepath='include/linux/pinctrl/pinctrl.h' line='139' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='custom_conf_items' type-id='type-id-3190' visibility='default' filepath='include/linux/pinctrl/pinctrl.h' line='140' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='pinctrl_pin_desc' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/pinctrl/pinctrl.h' line='39' column='1' id='type-id-3191'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='number' type-id='type-id-10' visibility='default' filepath='include/linux/pinctrl/pinctrl.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/pinctrl/pinctrl.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='drv_data' type-id='type-id-3' visibility='default' filepath='include/linux/pinctrl/pinctrl.h' line='42' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='pinctrl_ops' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/pinctrl/pinctrl.h' line='91' column='1' id='type-id-3192'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='get_groups_count' type-id='type-id-3193' visibility='default' filepath='include/linux/pinctrl/pinctrl.h' line='92' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='get_group_name' type-id='type-id-3194' visibility='default' filepath='include/linux/pinctrl/pinctrl.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='get_group_pins' type-id='type-id-3195' visibility='default' filepath='include/linux/pinctrl/pinctrl.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='pin_dbg_show' type-id='type-id-3196' visibility='default' filepath='include/linux/pinctrl/pinctrl.h' line='99' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='dt_node_to_map' type-id='type-id-3197' visibility='default' filepath='include/linux/pinctrl/pinctrl.h' line='101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='dt_free_map' type-id='type-id-3198' visibility='default' filepath='include/linux/pinctrl/pinctrl.h' line='104' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='pinctrl_map' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/pinctrl/machine.h' line='68' column='1' id='type-id-3199'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev_name' type-id='type-id-24' visibility='default' filepath='include/linux/pinctrl/machine.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/pinctrl/machine.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='type' type-id='type-id-3200' visibility='default' filepath='include/linux/pinctrl/machine.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='ctrl_dev_name' type-id='type-id-24' visibility='default' filepath='include/linux/pinctrl/machine.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='data' type-id='type-id-3201' visibility='default' filepath='include/linux/pinctrl/machine.h' line='76' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='pinctrl_map_type' filepath='include/linux/pinctrl/machine.h' line='19' column='1' id='type-id-3200'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='PIN_MAP_TYPE_INVALID' value='0'/>
+        <enumerator name='PIN_MAP_TYPE_DUMMY_STATE' value='1'/>
+        <enumerator name='PIN_MAP_TYPE_MUX_GROUP' value='2'/>
+        <enumerator name='PIN_MAP_TYPE_CONFIGS_PIN' value='3'/>
+        <enumerator name='PIN_MAP_TYPE_CONFIGS_GROUP' value='4'/>
+      </enum-decl>
+      <union-decl name='__anonymous_union__' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/linux/pinctrl/machine.h' line='73' column='1' id='type-id-3201'>
+        <data-member access='private'>
+          <var-decl name='mux' type-id='type-id-3202' visibility='default' filepath='include/linux/pinctrl/machine.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='configs' type-id='type-id-3203' visibility='default' filepath='include/linux/pinctrl/machine.h' line='75' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='pinctrl_map_mux' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/pinctrl/machine.h' line='34' column='1' id='type-id-3202'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='group' type-id='type-id-24' visibility='default' filepath='include/linux/pinctrl/machine.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='function' type-id='type-id-24' visibility='default' filepath='include/linux/pinctrl/machine.h' line='36' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='pinctrl_map_configs' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/pinctrl/machine.h' line='48' column='1' id='type-id-3203'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='group_or_pin' type-id='type-id-24' visibility='default' filepath='include/linux/pinctrl/machine.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='configs' type-id='type-id-76' visibility='default' filepath='include/linux/pinctrl/machine.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='num_configs' type-id='type-id-10' visibility='default' filepath='include/linux/pinctrl/machine.h' line='51' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='pinconf_ops' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/pinctrl/pinconf.h' line='42' column='1' id='type-id-3204'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='is_generic' type-id='type-id-211' visibility='default' filepath='include/linux/pinctrl/pinconf.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='pin_config_get' type-id='type-id-3205' visibility='default' filepath='include/linux/pinctrl/pinconf.h' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='pin_config_set' type-id='type-id-3206' visibility='default' filepath='include/linux/pinctrl/pinconf.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='pin_config_group_get' type-id='type-id-3205' visibility='default' filepath='include/linux/pinctrl/pinconf.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='pin_config_group_set' type-id='type-id-3206' visibility='default' filepath='include/linux/pinctrl/pinconf.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='pin_config_dbg_parse_modify' type-id='type-id-3207' visibility='default' filepath='include/linux/pinctrl/pinconf.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='pin_config_dbg_show' type-id='type-id-3196' visibility='default' filepath='include/linux/pinctrl/pinconf.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='pin_config_group_dbg_show' type-id='type-id-3196' visibility='default' filepath='include/linux/pinctrl/pinconf.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='pin_config_config_dbg_show' type-id='type-id-3208' visibility='default' filepath='include/linux/pinctrl/pinconf.h' line='69' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='pinconf_generic_params' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/pinctrl/pinconf-generic.h' line='181' column='1' id='type-id-3209'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='property' type-id='type-id-3210' visibility='default' filepath='include/linux/pinctrl/pinconf-generic.h' line='182' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='param' type-id='type-id-3211' visibility='default' filepath='include/linux/pinctrl/pinconf-generic.h' line='183' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='default_value' type-id='type-id-9' visibility='default' filepath='include/linux/pinctrl/pinconf-generic.h' line='184' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='pin_config_param' filepath='include/linux/pinctrl/pinconf-generic.h' line='104' column='1' id='type-id-3211'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='PIN_CONFIG_BIAS_BUS_HOLD' value='0'/>
+        <enumerator name='PIN_CONFIG_BIAS_DISABLE' value='1'/>
+        <enumerator name='PIN_CONFIG_BIAS_HIGH_IMPEDANCE' value='2'/>
+        <enumerator name='PIN_CONFIG_BIAS_PULL_DOWN' value='3'/>
+        <enumerator name='PIN_CONFIG_BIAS_PULL_PIN_DEFAULT' value='4'/>
+        <enumerator name='PIN_CONFIG_BIAS_PULL_UP' value='5'/>
+        <enumerator name='PIN_CONFIG_DRIVE_OPEN_DRAIN' value='6'/>
+        <enumerator name='PIN_CONFIG_DRIVE_OPEN_SOURCE' value='7'/>
+        <enumerator name='PIN_CONFIG_DRIVE_PUSH_PULL' value='8'/>
+        <enumerator name='PIN_CONFIG_DRIVE_STRENGTH' value='9'/>
+        <enumerator name='PIN_CONFIG_INPUT_DEBOUNCE' value='10'/>
+        <enumerator name='PIN_CONFIG_INPUT_ENABLE' value='11'/>
+        <enumerator name='PIN_CONFIG_INPUT_SCHMITT' value='12'/>
+        <enumerator name='PIN_CONFIG_INPUT_SCHMITT_ENABLE' value='13'/>
+        <enumerator name='PIN_CONFIG_LOW_POWER_MODE' value='14'/>
+        <enumerator name='PIN_CONFIG_OUTPUT_ENABLE' value='15'/>
+        <enumerator name='PIN_CONFIG_OUTPUT' value='16'/>
+        <enumerator name='PIN_CONFIG_POWER_SOURCE' value='17'/>
+        <enumerator name='PIN_CONFIG_SLEEP_HARDWARE_STATE' value='18'/>
+        <enumerator name='PIN_CONFIG_SLEW_RATE' value='19'/>
+        <enumerator name='PIN_CONFIG_SKEW_DELAY' value='20'/>
+        <enumerator name='PIN_CONFIG_PERSIST_STATE' value='21'/>
+        <enumerator name='PIN_CONFIG_END' value='127'/>
+        <enumerator name='PIN_CONFIG_MAX' value='255'/>
+      </enum-decl>
+      <class-decl name='pinctrl' size-in-bits='576' is-struct='yes' visibility='default' filepath='drivers/pinctrl/core.h' line='78' column='1' id='type-id-3212'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='node' type-id='type-id-8' visibility='default' filepath='drivers/pinctrl/core.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='drivers/pinctrl/core.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='states' type-id='type-id-8' visibility='default' filepath='drivers/pinctrl/core.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='state' type-id='type-id-3183' visibility='default' filepath='drivers/pinctrl/core.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='dt_maps' type-id='type-id-8' visibility='default' filepath='drivers/pinctrl/core.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='users' type-id='type-id-771' visibility='default' filepath='drivers/pinctrl/core.h' line='84' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='pinctrl_state' size-in-bits='320' is-struct='yes' visibility='default' filepath='drivers/pinctrl/core.h' line='93' column='1' id='type-id-3213'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='node' type-id='type-id-8' visibility='default' filepath='drivers/pinctrl/core.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='drivers/pinctrl/core.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='settings' type-id='type-id-8' visibility='default' filepath='drivers/pinctrl/core.h' line='96' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-3214' size-in-bits='64' id='type-id-3194'/>
+      <qualified-type-def type-id='type-id-3177' const='yes' id='type-id-3215'/>
+      <pointer-type-def type-id='type-id-3215' size-in-bits='64' id='type-id-3190'/>
+      <qualified-type-def type-id='type-id-3209' const='yes' id='type-id-3216'/>
+      <pointer-type-def type-id='type-id-3216' size-in-bits='64' id='type-id-3189'/>
+      <qualified-type-def type-id='type-id-3204' const='yes' id='type-id-3217'/>
+      <pointer-type-def type-id='type-id-3217' size-in-bits='64' id='type-id-3188'/>
+      <qualified-type-def type-id='type-id-3192' const='yes' id='type-id-3218'/>
+      <pointer-type-def type-id='type-id-3218' size-in-bits='64' id='type-id-3186'/>
+      <qualified-type-def type-id='type-id-3191' const='yes' id='type-id-3219'/>
+      <pointer-type-def type-id='type-id-3219' size-in-bits='64' id='type-id-3185'/>
+      <qualified-type-def type-id='type-id-3178' const='yes' id='type-id-3220'/>
+      <pointer-type-def type-id='type-id-3220' size-in-bits='64' id='type-id-3187'/>
+      <pointer-type-def type-id='type-id-835' size-in-bits='64' id='type-id-3221'/>
+      <pointer-type-def type-id='type-id-3176' size-in-bits='64' id='type-id-1733'/>
+      <pointer-type-def type-id='type-id-3222' size-in-bits='64' id='type-id-3193'/>
+      <pointer-type-def type-id='type-id-3223' size-in-bits='64' id='type-id-3207'/>
+      <pointer-type-def type-id='type-id-3224' size-in-bits='64' id='type-id-3197'/>
+      <pointer-type-def type-id='type-id-3225' size-in-bits='64' id='type-id-3195'/>
+      <pointer-type-def type-id='type-id-3226' size-in-bits='64' id='type-id-3205'/>
+      <pointer-type-def type-id='type-id-3227' size-in-bits='64' id='type-id-3206'/>
+      <pointer-type-def type-id='type-id-3212' size-in-bits='64' id='type-id-3182'/>
+      <pointer-type-def type-id='type-id-3184' size-in-bits='64' id='type-id-3180'/>
+      <pointer-type-def type-id='type-id-3179' size-in-bits='64' id='type-id-3228'/>
+      <pointer-type-def type-id='type-id-3199' size-in-bits='64' id='type-id-3229'/>
+      <pointer-type-def type-id='type-id-3229' size-in-bits='64' id='type-id-3230'/>
+      <pointer-type-def type-id='type-id-3213' size-in-bits='64' id='type-id-3183'/>
+      <pointer-type-def type-id='type-id-3231' size-in-bits='64' id='type-id-3198'/>
+      <pointer-type-def type-id='type-id-3232' size-in-bits='64' id='type-id-3196'/>
+      <pointer-type-def type-id='type-id-3233' size-in-bits='64' id='type-id-3208'/>
+      <function-decl name='gpio_to_desc' mangled-name='gpio_to_desc' filepath='include/linux/gpio/consumer.h' line='148' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gpio_to_desc'>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-1733'/>
+      </function-decl>
+      <function-decl name='pinctrl_dev_get_drvdata' mangled-name='pinctrl_dev_get_drvdata' filepath='drivers/pinctrl/core.c' line='87' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pinctrl_dev_get_drvdata'>
+        <parameter type-id='type-id-3228' name='pctldev' filepath='drivers/pinctrl/core.c' line='87' column='1'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='pinctrl_lookup_state' mangled-name='pinctrl_lookup_state' filepath='drivers/pinctrl/core.c' line='1199' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pinctrl_lookup_state'>
+        <parameter type-id='type-id-3182' name='p' filepath='drivers/pinctrl/core.c' line='1199' column='1'/>
+        <parameter type-id='type-id-24' name='name' filepath='drivers/pinctrl/core.c' line='1200' column='1'/>
+        <return type-id='type-id-3183'/>
+      </function-decl>
+      <function-decl name='pinctrl_select_state' mangled-name='pinctrl_select_state' filepath='drivers/pinctrl/core.c' line='1299' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pinctrl_select_state'>
+        <parameter type-id='type-id-3182' name='p' filepath='drivers/pinctrl/core.c' line='1299' column='1'/>
+        <parameter type-id='type-id-3183' name='state' filepath='drivers/pinctrl/core.c' line='1299' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='devm_pinctrl_get' mangled-name='devm_pinctrl_get' filepath='drivers/pinctrl/core.c' line='1320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_pinctrl_get'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/pinctrl/core.c' line='1320' column='1'/>
+        <return type-id='type-id-3182'/>
+      </function-decl>
+      <function-decl name='devm_pinctrl_put' mangled-name='devm_pinctrl_put' filepath='drivers/pinctrl/core.c' line='1355' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_pinctrl_put'>
+        <parameter type-id='type-id-3182' name='p' filepath='drivers/pinctrl/core.c' line='1355' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='pinctrl_pm_select_default_state' mangled-name='pinctrl_pm_select_default_state' filepath='drivers/pinctrl/core.c' line='1547' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pinctrl_pm_select_default_state'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/pinctrl/core.c' line='1547' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='pinctrl_pm_select_sleep_state' mangled-name='pinctrl_pm_select_sleep_state' filepath='drivers/pinctrl/core.c' line='1560' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pinctrl_pm_select_sleep_state'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/pinctrl/core.c' line='1560' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='devm_pinctrl_register' mangled-name='devm_pinctrl_register' filepath='drivers/pinctrl/core.c' line='2188' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_pinctrl_register'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/pinctrl/core.c' line='2188' column='1'/>
+        <parameter type-id='type-id-3180' name='pctldesc' filepath='drivers/pinctrl/core.c' line='2189' column='1'/>
+        <parameter type-id='type-id-3' name='driver_data' filepath='drivers/pinctrl/core.c' line='2190' column='1'/>
+        <return type-id='type-id-3228'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-3214'>
+        <parameter type-id='type-id-3228'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-24'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3222'>
+        <parameter type-id='type-id-3228'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3223'>
+        <parameter type-id='type-id-3228'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-76'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3224'>
+        <parameter type-id='type-id-3228'/>
+        <parameter type-id='type-id-81'/>
+        <parameter type-id='type-id-3230'/>
+        <parameter type-id='type-id-72'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3225'>
+        <parameter type-id='type-id-3228'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-3221'/>
+        <parameter type-id='type-id-72'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3226'>
+        <parameter type-id='type-id-3228'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-76'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3227'>
+        <parameter type-id='type-id-3228'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-76'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3231'>
+        <parameter type-id='type-id-3228'/>
+        <parameter type-id='type-id-3229'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3232'>
+        <parameter type-id='type-id-3228'/>
+        <parameter type-id='type-id-85'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3233'>
+        <parameter type-id='type-id-3228'/>
+        <parameter type-id='type-id-85'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/pinctrl/devicetree.c' language='LANG_C89'>
+      <function-decl name='of_property_read_string_helper' mangled-name='of_property_read_string_helper' filepath='include/linux/of.h' line='348' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_property_read_string_helper'>
+        <parameter type-id='type-id-80'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-184'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/pinctrl/pinconf-generic.c' language='LANG_C89'>
+      <function-decl name='of_prop_next_string' mangled-name='of_prop_next_string' filepath='include/linux/of.h' line='552' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_prop_next_string'>
+        <parameter type-id='type-id-834'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-24'/>
+      </function-decl>
+      <function-decl name='pinconf_generic_dt_node_to_map' mangled-name='pinconf_generic_dt_node_to_map' filepath='drivers/pinctrl/pinconf-generic.c' line='373' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pinconf_generic_dt_node_to_map'>
+        <parameter type-id='type-id-3228' name='pctldev' filepath='drivers/pinctrl/pinconf-generic.c' line='373' column='1'/>
+        <parameter type-id='type-id-81' name='np_config' filepath='drivers/pinctrl/pinconf-generic.c' line='374' column='1'/>
+        <parameter type-id='type-id-3230' name='map' filepath='drivers/pinctrl/pinconf-generic.c' line='374' column='1'/>
+        <parameter type-id='type-id-72' name='num_maps' filepath='drivers/pinctrl/pinconf-generic.c' line='375' column='1'/>
+        <parameter type-id='type-id-3200' name='type' filepath='drivers/pinctrl/pinconf-generic.c' line='375' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/pinctrl/pinctrl-amd.c' language='LANG_C89'>
+      <class-decl name='gpio_device' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3234'/>
+      <class-decl name='gpio_chip' size-in-bits='2560' is-struct='yes' visibility='default' filepath='include/linux/gpio/driver.h' line='240' column='1' id='type-id-1066'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='label' type-id='type-id-24' visibility='default' filepath='include/linux/gpio/driver.h' line='241' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='gpiodev' type-id='type-id-3235' visibility='default' filepath='include/linux/gpio/driver.h' line='242' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='parent' type-id='type-id-86' visibility='default' filepath='include/linux/gpio/driver.h' line='243' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/linux/gpio/driver.h' line='244' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='request' type-id='type-id-3236' visibility='default' filepath='include/linux/gpio/driver.h' line='246' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='free' type-id='type-id-3237' visibility='default' filepath='include/linux/gpio/driver.h' line='248' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='get_direction' type-id='type-id-3236' visibility='default' filepath='include/linux/gpio/driver.h' line='250' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='direction_input' type-id='type-id-3236' visibility='default' filepath='include/linux/gpio/driver.h' line='252' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='direction_output' type-id='type-id-3238' visibility='default' filepath='include/linux/gpio/driver.h' line='254' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='get' type-id='type-id-3236' visibility='default' filepath='include/linux/gpio/driver.h' line='256' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='get_multiple' type-id='type-id-3239' visibility='default' filepath='include/linux/gpio/driver.h' line='258' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='set' type-id='type-id-3240' visibility='default' filepath='include/linux/gpio/driver.h' line='261' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='set_multiple' type-id='type-id-3241' visibility='default' filepath='include/linux/gpio/driver.h' line='263' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='set_config' type-id='type-id-3242' visibility='default' filepath='include/linux/gpio/driver.h' line='266' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='to_irq' type-id='type-id-3236' visibility='default' filepath='include/linux/gpio/driver.h' line='269' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='dbg_show' type-id='type-id-3243' visibility='default' filepath='include/linux/gpio/driver.h' line='272' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='base' type-id='type-id-11' visibility='default' filepath='include/linux/gpio/driver.h' line='274' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1056'>
+          <var-decl name='ngpio' type-id='type-id-289' visibility='default' filepath='include/linux/gpio/driver.h' line='275' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='names' type-id='type-id-562' visibility='default' filepath='include/linux/gpio/driver.h' line='276' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='can_sleep' type-id='type-id-211' visibility='default' filepath='include/linux/gpio/driver.h' line='277' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='irq' type-id='type-id-3244' visibility='default' filepath='include/linux/gpio/driver.h' line='306' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='need_valid_mask' type-id='type-id-211' visibility='default' filepath='include/linux/gpio/driver.h' line='314' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='valid_mask' type-id='type-id-76' visibility='default' filepath='include/linux/gpio/driver.h' line='322' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='of_node' type-id='type-id-81' visibility='default' filepath='include/linux/gpio/driver.h' line='335' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='of_gpio_n_cells' type-id='type-id-10' visibility='default' filepath='include/linux/gpio/driver.h' line='342' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='of_xlate' type-id='type-id-3245' visibility='default' filepath='include/linux/gpio/driver.h' line='350' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='gpio_irq_chip' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/linux/gpio/driver.h' line='27' column='1' id='type-id-3244'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='chip' type-id='type-id-1071' visibility='default' filepath='include/linux/gpio/driver.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='domain' type-id='type-id-639' visibility='default' filepath='include/linux/gpio/driver.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='domain_ops' type-id='type-id-3246' visibility='default' filepath='include/linux/gpio/driver.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='parent_domain' type-id='type-id-639' visibility='default' filepath='include/linux/gpio/driver.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='handler' type-id='type-id-1072' visibility='default' filepath='include/linux/gpio/driver.h' line='64' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='default_type' type-id='type-id-10' visibility='default' filepath='include/linux/gpio/driver.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='lock_key' type-id='type-id-532' visibility='default' filepath='include/linux/gpio/driver.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='request_key' type-id='type-id-532' visibility='default' filepath='include/linux/gpio/driver.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='parent_handler' type-id='type-id-1072' visibility='default' filepath='include/linux/gpio/driver.h' line='88' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='parent_handler_data' type-id='type-id-3' visibility='default' filepath='include/linux/gpio/driver.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='num_parents' type-id='type-id-10' visibility='default' filepath='include/linux/gpio/driver.h' line='103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='672'>
+          <var-decl name='parent_irq' type-id='type-id-10' visibility='default' filepath='include/linux/gpio/driver.h' line='110' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='parents' type-id='type-id-72' visibility='default' filepath='include/linux/gpio/driver.h' line='118' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='map' type-id='type-id-72' visibility='default' filepath='include/linux/gpio/driver.h' line='125' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='threaded' type-id='type-id-211' visibility='default' filepath='include/linux/gpio/driver.h' line='132' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='840'>
+          <var-decl name='need_valid_mask' type-id='type-id-211' visibility='default' filepath='include/linux/gpio/driver.h' line='139' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='valid_mask' type-id='type-id-76' visibility='default' filepath='include/linux/gpio/driver.h' line='147' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='first' type-id='type-id-10' visibility='default' filepath='include/linux/gpio/driver.h' line='155' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-208' const='yes' id='type-id-3247'/>
+      <pointer-type-def type-id='type-id-3247' size-in-bits='64' id='type-id-2057'/>
+      <pointer-type-def type-id='type-id-1066' size-in-bits='64' id='type-id-1058'/>
+      <pointer-type-def type-id='type-id-3234' size-in-bits='64' id='type-id-3235'/>
+      <pointer-type-def type-id='type-id-3248' size-in-bits='64' id='type-id-3245'/>
+      <pointer-type-def type-id='type-id-3249' size-in-bits='64' id='type-id-3236'/>
+      <pointer-type-def type-id='type-id-3250' size-in-bits='64' id='type-id-3238'/>
+      <pointer-type-def type-id='type-id-3251' size-in-bits='64' id='type-id-3242'/>
+      <pointer-type-def type-id='type-id-3252' size-in-bits='64' id='type-id-3239'/>
+      <pointer-type-def type-id='type-id-3253' size-in-bits='64' id='type-id-3237'/>
+      <pointer-type-def type-id='type-id-3254' size-in-bits='64' id='type-id-3240'/>
+      <pointer-type-def type-id='type-id-3255' size-in-bits='64' id='type-id-3241'/>
+      <pointer-type-def type-id='type-id-3256' size-in-bits='64' id='type-id-3243'/>
+      <function-decl name='platform_get_irq' mangled-name='platform_get_irq' filepath='include/linux/platform_device.h' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='platform_get_irq'>
+        <parameter type-id='type-id-568'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='gpiochip_add_data_with_key' mangled-name='gpiochip_add_data_with_key' filepath='include/linux/gpio/driver.h' line='359' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gpiochip_add_data_with_key'>
+        <parameter type-id='type-id-1058'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-532'/>
+        <parameter type-id='type-id-532'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='gpiochip_add_pin_range' mangled-name='gpiochip_add_pin_range' filepath='include/linux/gpio/driver.h' line='555' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gpiochip_add_pin_range'>
+        <parameter type-id='type-id-1058'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='gpiochip_remove' mangled-name='gpiochip_remove' filepath='include/linux/gpio/driver.h' line='401' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gpiochip_remove'>
+        <parameter type-id='type-id-1058'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='gpiochip_get_data' mangled-name='gpiochip_get_data' filepath='include/linux/gpio/driver.h' line='423' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gpiochip_get_data'>
+        <parameter type-id='type-id-1058'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-3248'>
+        <parameter type-id='type-id-1058'/>
+        <parameter type-id='type-id-2057'/>
+        <parameter type-id='type-id-347'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3249'>
+        <parameter type-id='type-id-1058'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3250'>
+        <parameter type-id='type-id-1058'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3251'>
+        <parameter type-id='type-id-1058'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3252'>
+        <parameter type-id='type-id-1058'/>
+        <parameter type-id='type-id-76'/>
+        <parameter type-id='type-id-76'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3253'>
+        <parameter type-id='type-id-1058'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3254'>
+        <parameter type-id='type-id-1058'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3255'>
+        <parameter type-id='type-id-1058'/>
+        <parameter type-id='type-id-76'/>
+        <parameter type-id='type-id-76'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3256'>
+        <parameter type-id='type-id-85'/>
+        <parameter type-id='type-id-1058'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/pinctrl/pinctrl-single.c' language='LANG_C89'>
+      <function-decl name='of_device_get_match_data' mangled-name='of_device_get_match_data' filepath='include/linux/of_device.h' line='36' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_device_get_match_data'>
+        <parameter type-id='type-id-512'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='devm_kstrdup' mangled-name='devm_kstrdup' filepath='include/linux/device.h' line='712' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_kstrdup'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-300'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/pinctrl/pinctrl-utils.c' language='LANG_C89'>
+      <class-decl name='dev_pin_info' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/pinctrl/devinfo.h' line='31' column='1' id='type-id-3257'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='p' type-id='type-id-3182' visibility='default' filepath='include/linux/pinctrl/devinfo.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='default_state' type-id='type-id-3183' visibility='default' filepath='include/linux/pinctrl/devinfo.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='init_state' type-id='type-id-3183' visibility='default' filepath='include/linux/pinctrl/devinfo.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='sleep_state' type-id='type-id-3183' visibility='default' filepath='include/linux/pinctrl/devinfo.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='idle_state' type-id='type-id-3183' visibility='default' filepath='include/linux/pinctrl/devinfo.h' line='37' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-3257' size-in-bits='64' id='type-id-3258'/>
+      <function-decl name='pinctrl_utils_free_map' mangled-name='pinctrl_utils_free_map' filepath='drivers/pinctrl/pinctrl-utils.c' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pinctrl_utils_free_map'>
+        <parameter type-id='type-id-3228' name='pctldev' filepath='drivers/pinctrl/pinctrl-utils.c' line='123' column='1'/>
+        <parameter type-id='type-id-3229' name='map' filepath='drivers/pinctrl/pinctrl-utils.c' line='124' column='1'/>
+        <parameter type-id='type-id-10' name='num_maps' filepath='drivers/pinctrl/pinctrl-utils.c' line='124' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/power/supply/power_supply_core.c' language='LANG_C89'>
+      <class-decl name='thermal_zone_device' size-in-bits='9088' is-struct='yes' visibility='default' filepath='include/linux/thermal.h' line='196' column='1' id='type-id-3259'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='id' type-id='type-id-11' visibility='default' filepath='include/linux/thermal.h' line='197' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='type' type-id='type-id-1816' visibility='default' filepath='include/linux/thermal.h' line='198' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='device' type-id='type-id-294' visibility='default' filepath='include/linux/thermal.h' line='199' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6400'>
+          <var-decl name='trips_attribute_group' type-id='type-id-1025' visibility='default' filepath='include/linux/thermal.h' line='200' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6720'>
+          <var-decl name='trip_temp_attrs' type-id='type-id-3260' visibility='default' filepath='include/linux/thermal.h' line='201' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6784'>
+          <var-decl name='trip_type_attrs' type-id='type-id-3260' visibility='default' filepath='include/linux/thermal.h' line='202' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6848'>
+          <var-decl name='trip_hyst_attrs' type-id='type-id-3260' visibility='default' filepath='include/linux/thermal.h' line='203' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6912'>
+          <var-decl name='devdata' type-id='type-id-3' visibility='default' filepath='include/linux/thermal.h' line='204' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6976'>
+          <var-decl name='trips' type-id='type-id-11' visibility='default' filepath='include/linux/thermal.h' line='205' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7040'>
+          <var-decl name='trips_disabled' type-id='type-id-100' visibility='default' filepath='include/linux/thermal.h' line='206' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7104'>
+          <var-decl name='passive_delay' type-id='type-id-11' visibility='default' filepath='include/linux/thermal.h' line='207' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7136'>
+          <var-decl name='polling_delay' type-id='type-id-11' visibility='default' filepath='include/linux/thermal.h' line='208' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7168'>
+          <var-decl name='temperature' type-id='type-id-11' visibility='default' filepath='include/linux/thermal.h' line='209' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7200'>
+          <var-decl name='last_temperature' type-id='type-id-11' visibility='default' filepath='include/linux/thermal.h' line='210' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7232'>
+          <var-decl name='emul_temperature' type-id='type-id-11' visibility='default' filepath='include/linux/thermal.h' line='211' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7264'>
+          <var-decl name='passive' type-id='type-id-11' visibility='default' filepath='include/linux/thermal.h' line='212' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7296'>
+          <var-decl name='prev_low_trip' type-id='type-id-11' visibility='default' filepath='include/linux/thermal.h' line='213' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7328'>
+          <var-decl name='prev_high_trip' type-id='type-id-11' visibility='default' filepath='include/linux/thermal.h' line='214' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7360'>
+          <var-decl name='forced_passive' type-id='type-id-10' visibility='default' filepath='include/linux/thermal.h' line='215' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7392'>
+          <var-decl name='need_update' type-id='type-id-137' visibility='default' filepath='include/linux/thermal.h' line='216' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7424'>
+          <var-decl name='ops' type-id='type-id-3261' visibility='default' filepath='include/linux/thermal.h' line='217' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7488'>
+          <var-decl name='tzp' type-id='type-id-3262' visibility='default' filepath='include/linux/thermal.h' line='218' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7552'>
+          <var-decl name='governor' type-id='type-id-3263' visibility='default' filepath='include/linux/thermal.h' line='219' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7616'>
+          <var-decl name='governor_data' type-id='type-id-3' visibility='default' filepath='include/linux/thermal.h' line='220' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7680'>
+          <var-decl name='thermal_instances' type-id='type-id-8' visibility='default' filepath='include/linux/thermal.h' line='221' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7808'>
+          <var-decl name='ida' type-id='type-id-1251' visibility='default' filepath='include/linux/thermal.h' line='222' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7936'>
+          <var-decl name='lock' type-id='type-id-407' visibility='default' filepath='include/linux/thermal.h' line='223' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8192'>
+          <var-decl name='node' type-id='type-id-8' visibility='default' filepath='include/linux/thermal.h' line='224' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8320'>
+          <var-decl name='poll_queue' type-id='type-id-370' visibility='default' filepath='include/linux/thermal.h' line='225' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9024'>
+          <var-decl name='notify_event' type-id='type-id-3264' visibility='default' filepath='include/linux/thermal.h' line='226' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='thermal_attr' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/thermal.h' line='149' column='1' id='type-id-3265'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='attr' type-id='type-id-1028' visibility='default' filepath='include/linux/thermal.h' line='150' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='name' type-id='type-id-1816' visibility='default' filepath='include/linux/thermal.h' line='151' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='thermal_zone_device_ops' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/linux/thermal.h' line='96' column='1' id='type-id-3266'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bind' type-id='type-id-3267' visibility='default' filepath='include/linux/thermal.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='unbind' type-id='type-id-3267' visibility='default' filepath='include/linux/thermal.h' line='99' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='get_temp' type-id='type-id-3268' visibility='default' filepath='include/linux/thermal.h' line='101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='set_trips' type-id='type-id-3269' visibility='default' filepath='include/linux/thermal.h' line='102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='get_mode' type-id='type-id-3270' visibility='default' filepath='include/linux/thermal.h' line='103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='set_mode' type-id='type-id-3271' visibility='default' filepath='include/linux/thermal.h' line='105' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='get_trip_type' type-id='type-id-3272' visibility='default' filepath='include/linux/thermal.h' line='107' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='get_trip_temp' type-id='type-id-3273' visibility='default' filepath='include/linux/thermal.h' line='109' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='set_trip_temp' type-id='type-id-3269' visibility='default' filepath='include/linux/thermal.h' line='110' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='get_trip_hyst' type-id='type-id-3273' visibility='default' filepath='include/linux/thermal.h' line='111' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='set_trip_hyst' type-id='type-id-3269' visibility='default' filepath='include/linux/thermal.h' line='112' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='get_crit_temp' type-id='type-id-3268' visibility='default' filepath='include/linux/thermal.h' line='113' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='set_emul_temp' type-id='type-id-3274' visibility='default' filepath='include/linux/thermal.h' line='114' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='get_trend' type-id='type-id-3275' visibility='default' filepath='include/linux/thermal.h' line='115' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='notify' type-id='type-id-3276' visibility='default' filepath='include/linux/thermal.h' line='117' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='thermal_cooling_device' size-in-bits='7360' is-struct='yes' visibility='default' filepath='include/linux/thermal.h' line='133' column='1' id='type-id-3277'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='id' type-id='type-id-11' visibility='default' filepath='include/linux/thermal.h' line='134' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='type' type-id='type-id-1816' visibility='default' filepath='include/linux/thermal.h' line='135' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='device' type-id='type-id-294' visibility='default' filepath='include/linux/thermal.h' line='136' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6400'>
+          <var-decl name='np' type-id='type-id-81' visibility='default' filepath='include/linux/thermal.h' line='137' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6464'>
+          <var-decl name='devdata' type-id='type-id-3' visibility='default' filepath='include/linux/thermal.h' line='138' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6528'>
+          <var-decl name='stats' type-id='type-id-3' visibility='default' filepath='include/linux/thermal.h' line='139' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6592'>
+          <var-decl name='ops' type-id='type-id-3278' visibility='default' filepath='include/linux/thermal.h' line='140' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6656'>
+          <var-decl name='updated' type-id='type-id-211' visibility='default' filepath='include/linux/thermal.h' line='141' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6720'>
+          <var-decl name='lock' type-id='type-id-407' visibility='default' filepath='include/linux/thermal.h' line='142' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6976'>
+          <var-decl name='thermal_instances' type-id='type-id-8' visibility='default' filepath='include/linux/thermal.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7104'>
+          <var-decl name='node' type-id='type-id-8' visibility='default' filepath='include/linux/thermal.h' line='144' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7232'>
+          <var-decl name='sysfs_cur_state_req' type-id='type-id-100' visibility='default' filepath='include/linux/thermal.h' line='145' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7296'>
+          <var-decl name='sysfs_min_state_req' type-id='type-id-100' visibility='default' filepath='include/linux/thermal.h' line='146' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='thermal_cooling_device_ops' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/thermal.h' line='121' column='1' id='type-id-3279'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='get_max_state' type-id='type-id-3280' visibility='default' filepath='include/linux/thermal.h' line='122' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='get_cur_state' type-id='type-id-3280' visibility='default' filepath='include/linux/thermal.h' line='123' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='set_cur_state' type-id='type-id-3281' visibility='default' filepath='include/linux/thermal.h' line='124' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='get_requested_power' type-id='type-id-3282' visibility='default' filepath='include/linux/thermal.h' line='125' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='state2power' type-id='type-id-3283' visibility='default' filepath='include/linux/thermal.h' line='127' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='power2state' type-id='type-id-3284' visibility='default' filepath='include/linux/thermal.h' line='129' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='thermal_device_mode' filepath='include/linux/thermal.h' line='64' column='1' id='type-id-3285'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='THERMAL_DEVICE_DISABLED' value='0'/>
+        <enumerator name='THERMAL_DEVICE_ENABLED' value='1'/>
+      </enum-decl>
+      <enum-decl name='thermal_trip_type' filepath='include/linux/thermal.h' line='69' column='1' id='type-id-3286'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='THERMAL_TRIP_ACTIVE' value='0'/>
+        <enumerator name='THERMAL_TRIP_PASSIVE' value='1'/>
+        <enumerator name='THERMAL_TRIP_HOT' value='2'/>
+        <enumerator name='THERMAL_TRIP_CRITICAL' value='3'/>
+      </enum-decl>
+      <enum-decl name='thermal_trend' filepath='include/linux/thermal.h' line='76' column='1' id='type-id-3287'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='THERMAL_TREND_STABLE' value='0'/>
+        <enumerator name='THERMAL_TREND_RAISING' value='1'/>
+        <enumerator name='THERMAL_TREND_DROPPING' value='2'/>
+        <enumerator name='THERMAL_TREND_RAISE_FULL' value='3'/>
+        <enumerator name='THERMAL_TREND_DROP_FULL' value='4'/>
+      </enum-decl>
+      <class-decl name='thermal_zone_params' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/thermal.h' line='285' column='1' id='type-id-3288'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='governor_name' type-id='type-id-1816' visibility='default' filepath='include/linux/thermal.h' line='286' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='no_hwmon' type-id='type-id-211' visibility='default' filepath='include/linux/thermal.h' line='293' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='num_tbps' type-id='type-id-11' visibility='default' filepath='include/linux/thermal.h' line='295' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='tbp' type-id='type-id-3289' visibility='default' filepath='include/linux/thermal.h' line='296' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='sustainable_power' type-id='type-id-9' visibility='default' filepath='include/linux/thermal.h' line='302' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='k_po' type-id='type-id-939' visibility='default' filepath='include/linux/thermal.h' line='308' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='k_pu' type-id='type-id-939' visibility='default' filepath='include/linux/thermal.h' line='314' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='k_i' type-id='type-id-939' visibility='default' filepath='include/linux/thermal.h' line='317' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='k_d' type-id='type-id-939' visibility='default' filepath='include/linux/thermal.h' line='320' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='integral_cutoff' type-id='type-id-939' visibility='default' filepath='include/linux/thermal.h' line='323' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='slope' type-id='type-id-11' visibility='default' filepath='include/linux/thermal.h' line='329' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='offset' type-id='type-id-11' visibility='default' filepath='include/linux/thermal.h' line='334' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='tracks_low' type-id='type-id-211' visibility='default' filepath='include/linux/thermal.h' line='340' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='thermal_bind_params' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/thermal.h' line='250' column='1' id='type-id-3290'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cdev' type-id='type-id-3291' visibility='default' filepath='include/linux/thermal.h' line='251' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='weight' type-id='type-id-11' visibility='default' filepath='include/linux/thermal.h' line='262' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='trip_mask' type-id='type-id-11' visibility='default' filepath='include/linux/thermal.h' line='269' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='binding_limits' type-id='type-id-76' visibility='default' filepath='include/linux/thermal.h' line='279' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='match' type-id='type-id-3267' visibility='default' filepath='include/linux/thermal.h' line='280' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='thermal_governor' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/thermal.h' line='241' column='1' id='type-id-3292'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-1816' visibility='default' filepath='include/linux/thermal.h' line='242' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='bind_to_tz' type-id='type-id-3293' visibility='default' filepath='include/linux/thermal.h' line='243' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='unbind_from_tz' type-id='type-id-3294' visibility='default' filepath='include/linux/thermal.h' line='244' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='throttle' type-id='type-id-3274' visibility='default' filepath='include/linux/thermal.h' line='245' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='governor_list' type-id='type-id-8' visibility='default' filepath='include/linux/thermal.h' line='246' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='thermal_notify_event' filepath='include/linux/thermal.h' line='85' column='1' id='type-id-3264'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='THERMAL_EVENT_UNSPECIFIED' value='0'/>
+        <enumerator name='THERMAL_EVENT_TEMP_SAMPLE' value='1'/>
+        <enumerator name='THERMAL_TRIP_VIOLATED' value='2'/>
+        <enumerator name='THERMAL_TRIP_CHANGED' value='3'/>
+        <enumerator name='THERMAL_DEVICE_DOWN' value='4'/>
+        <enumerator name='THERMAL_DEVICE_UP' value='5'/>
+        <enumerator name='THERMAL_DEVICE_POWER_CAPABILITY_CHANGED' value='6'/>
+        <enumerator name='THERMAL_TABLE_CHANGED' value='7'/>
+      </enum-decl>
+      <class-decl name='power_supply' size-in-bits='8512' is-struct='yes' visibility='default' filepath='include/linux/power_supply.h' line='252' column='1' id='type-id-3295'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='desc' type-id='type-id-3296' visibility='default' filepath='include/linux/power_supply.h' line='253' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='supplied_to' type-id='type-id-257' visibility='default' filepath='include/linux/power_supply.h' line='255' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='num_supplicants' type-id='type-id-125' visibility='default' filepath='include/linux/power_supply.h' line='256' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='supplied_from' type-id='type-id-257' visibility='default' filepath='include/linux/power_supply.h' line='258' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='num_supplies' type-id='type-id-125' visibility='default' filepath='include/linux/power_supply.h' line='259' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='of_node' type-id='type-id-81' visibility='default' filepath='include/linux/power_supply.h' line='260' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='drv_data' type-id='type-id-3' visibility='default' filepath='include/linux/power_supply.h' line='263' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='include/linux/power_supply.h' line='266' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6656'>
+          <var-decl name='changed_work' type-id='type-id-149' visibility='default' filepath='include/linux/power_supply.h' line='267' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6912'>
+          <var-decl name='deferred_register_work' type-id='type-id-370' visibility='default' filepath='include/linux/power_supply.h' line='268' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7616'>
+          <var-decl name='changed_lock' type-id='type-id-106' visibility='default' filepath='include/linux/power_supply.h' line='269' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7648'>
+          <var-decl name='changed' type-id='type-id-211' visibility='default' filepath='include/linux/power_supply.h' line='270' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7656'>
+          <var-decl name='initialized' type-id='type-id-211' visibility='default' filepath='include/linux/power_supply.h' line='271' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7664'>
+          <var-decl name='removing' type-id='type-id-211' visibility='default' filepath='include/linux/power_supply.h' line='272' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7680'>
+          <var-decl name='use_cnt' type-id='type-id-137' visibility='default' filepath='include/linux/power_supply.h' line='273' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7744'>
+          <var-decl name='tzd' type-id='type-id-3297' visibility='default' filepath='include/linux/power_supply.h' line='275' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7808'>
+          <var-decl name='tcd' type-id='type-id-3291' visibility='default' filepath='include/linux/power_supply.h' line='276' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7872'>
+          <var-decl name='charging_full_trig' type-id='type-id-2068' visibility='default' filepath='include/linux/power_supply.h' line='280' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7936'>
+          <var-decl name='charging_full_trig_name' type-id='type-id-300' visibility='default' filepath='include/linux/power_supply.h' line='281' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8000'>
+          <var-decl name='charging_trig' type-id='type-id-2068' visibility='default' filepath='include/linux/power_supply.h' line='282' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8064'>
+          <var-decl name='charging_trig_name' type-id='type-id-300' visibility='default' filepath='include/linux/power_supply.h' line='283' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8128'>
+          <var-decl name='full_trig' type-id='type-id-2068' visibility='default' filepath='include/linux/power_supply.h' line='284' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8192'>
+          <var-decl name='full_trig_name' type-id='type-id-300' visibility='default' filepath='include/linux/power_supply.h' line='285' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8256'>
+          <var-decl name='online_trig' type-id='type-id-2068' visibility='default' filepath='include/linux/power_supply.h' line='286' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8320'>
+          <var-decl name='online_trig_name' type-id='type-id-300' visibility='default' filepath='include/linux/power_supply.h' line='287' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8384'>
+          <var-decl name='charging_blink_full_solid_trig' type-id='type-id-2068' visibility='default' filepath='include/linux/power_supply.h' line='288' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8448'>
+          <var-decl name='charging_blink_full_solid_trig_name' type-id='type-id-300' visibility='default' filepath='include/linux/power_supply.h' line='289' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='power_supply_desc' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/linux/power_supply.h' line='212' column='1' id='type-id-3298'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/power_supply.h' line='213' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='type' type-id='type-id-3299' visibility='default' filepath='include/linux/power_supply.h' line='214' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='usb_types' type-id='type-id-3300' visibility='default' filepath='include/linux/power_supply.h' line='215' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='num_usb_types' type-id='type-id-125' visibility='default' filepath='include/linux/power_supply.h' line='216' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='properties' type-id='type-id-3301' visibility='default' filepath='include/linux/power_supply.h' line='217' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='num_properties' type-id='type-id-125' visibility='default' filepath='include/linux/power_supply.h' line='218' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='get_property' type-id='type-id-3302' visibility='default' filepath='include/linux/power_supply.h' line='226' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='set_property' type-id='type-id-3303' visibility='default' filepath='include/linux/power_supply.h' line='229' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='property_is_writeable' type-id='type-id-3304' visibility='default' filepath='include/linux/power_supply.h' line='237' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='external_power_changed' type-id='type-id-3305' visibility='default' filepath='include/linux/power_supply.h' line='239' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='set_charged' type-id='type-id-3305' visibility='default' filepath='include/linux/power_supply.h' line='240' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='no_thermal' type-id='type-id-211' visibility='default' filepath='include/linux/power_supply.h' line='247' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='736'>
+          <var-decl name='use_for_apm' type-id='type-id-11' visibility='default' filepath='include/linux/power_supply.h' line='249' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='power_supply_type' filepath='include/linux/power_supply.h' line='159' column='1' id='type-id-3299'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='POWER_SUPPLY_TYPE_UNKNOWN' value='0'/>
+        <enumerator name='POWER_SUPPLY_TYPE_BATTERY' value='1'/>
+        <enumerator name='POWER_SUPPLY_TYPE_UPS' value='2'/>
+        <enumerator name='POWER_SUPPLY_TYPE_MAINS' value='3'/>
+        <enumerator name='POWER_SUPPLY_TYPE_USB' value='4'/>
+        <enumerator name='POWER_SUPPLY_TYPE_USB_DCP' value='5'/>
+        <enumerator name='POWER_SUPPLY_TYPE_USB_CDP' value='6'/>
+        <enumerator name='POWER_SUPPLY_TYPE_USB_ACA' value='7'/>
+        <enumerator name='POWER_SUPPLY_TYPE_USB_TYPE_C' value='8'/>
+        <enumerator name='POWER_SUPPLY_TYPE_USB_PD' value='9'/>
+        <enumerator name='POWER_SUPPLY_TYPE_USB_PD_DRP' value='10'/>
+        <enumerator name='POWER_SUPPLY_TYPE_APPLE_BRICK_ID' value='11'/>
+      </enum-decl>
+      <enum-decl name='power_supply_usb_type' filepath='include/linux/power_supply.h' line='174' column='1' id='type-id-3306'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='POWER_SUPPLY_USB_TYPE_UNKNOWN' value='0'/>
+        <enumerator name='POWER_SUPPLY_USB_TYPE_SDP' value='1'/>
+        <enumerator name='POWER_SUPPLY_USB_TYPE_DCP' value='2'/>
+        <enumerator name='POWER_SUPPLY_USB_TYPE_CDP' value='3'/>
+        <enumerator name='POWER_SUPPLY_USB_TYPE_ACA' value='4'/>
+        <enumerator name='POWER_SUPPLY_USB_TYPE_C' value='5'/>
+        <enumerator name='POWER_SUPPLY_USB_TYPE_PD' value='6'/>
+        <enumerator name='POWER_SUPPLY_USB_TYPE_PD_DRP' value='7'/>
+        <enumerator name='POWER_SUPPLY_USB_TYPE_PD_PPS' value='8'/>
+        <enumerator name='POWER_SUPPLY_USB_TYPE_APPLE_BRICK_ID' value='9'/>
+      </enum-decl>
+      <enum-decl name='power_supply_property' filepath='include/linux/power_supply.h' line='87' column='1' id='type-id-3307'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='POWER_SUPPLY_PROP_STATUS' value='0'/>
+        <enumerator name='POWER_SUPPLY_PROP_CHARGE_TYPE' value='1'/>
+        <enumerator name='POWER_SUPPLY_PROP_HEALTH' value='2'/>
+        <enumerator name='POWER_SUPPLY_PROP_PRESENT' value='3'/>
+        <enumerator name='POWER_SUPPLY_PROP_ONLINE' value='4'/>
+        <enumerator name='POWER_SUPPLY_PROP_AUTHENTIC' value='5'/>
+        <enumerator name='POWER_SUPPLY_PROP_TECHNOLOGY' value='6'/>
+        <enumerator name='POWER_SUPPLY_PROP_CYCLE_COUNT' value='7'/>
+        <enumerator name='POWER_SUPPLY_PROP_VOLTAGE_MAX' value='8'/>
+        <enumerator name='POWER_SUPPLY_PROP_VOLTAGE_MIN' value='9'/>
+        <enumerator name='POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN' value='10'/>
+        <enumerator name='POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN' value='11'/>
+        <enumerator name='POWER_SUPPLY_PROP_VOLTAGE_NOW' value='12'/>
+        <enumerator name='POWER_SUPPLY_PROP_VOLTAGE_AVG' value='13'/>
+        <enumerator name='POWER_SUPPLY_PROP_VOLTAGE_OCV' value='14'/>
+        <enumerator name='POWER_SUPPLY_PROP_VOLTAGE_BOOT' value='15'/>
+        <enumerator name='POWER_SUPPLY_PROP_CURRENT_MAX' value='16'/>
+        <enumerator name='POWER_SUPPLY_PROP_CURRENT_NOW' value='17'/>
+        <enumerator name='POWER_SUPPLY_PROP_CURRENT_AVG' value='18'/>
+        <enumerator name='POWER_SUPPLY_PROP_CURRENT_BOOT' value='19'/>
+        <enumerator name='POWER_SUPPLY_PROP_POWER_NOW' value='20'/>
+        <enumerator name='POWER_SUPPLY_PROP_POWER_AVG' value='21'/>
+        <enumerator name='POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN' value='22'/>
+        <enumerator name='POWER_SUPPLY_PROP_CHARGE_EMPTY_DESIGN' value='23'/>
+        <enumerator name='POWER_SUPPLY_PROP_CHARGE_FULL' value='24'/>
+        <enumerator name='POWER_SUPPLY_PROP_CHARGE_EMPTY' value='25'/>
+        <enumerator name='POWER_SUPPLY_PROP_CHARGE_NOW' value='26'/>
+        <enumerator name='POWER_SUPPLY_PROP_CHARGE_AVG' value='27'/>
+        <enumerator name='POWER_SUPPLY_PROP_CHARGE_COUNTER' value='28'/>
+        <enumerator name='POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT' value='29'/>
+        <enumerator name='POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT_MAX' value='30'/>
+        <enumerator name='POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE' value='31'/>
+        <enumerator name='POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE_MAX' value='32'/>
+        <enumerator name='POWER_SUPPLY_PROP_CHARGE_CONTROL_LIMIT' value='33'/>
+        <enumerator name='POWER_SUPPLY_PROP_CHARGE_CONTROL_LIMIT_MAX' value='34'/>
+        <enumerator name='POWER_SUPPLY_PROP_INPUT_CURRENT_LIMIT' value='35'/>
+        <enumerator name='POWER_SUPPLY_PROP_ENERGY_FULL_DESIGN' value='36'/>
+        <enumerator name='POWER_SUPPLY_PROP_ENERGY_EMPTY_DESIGN' value='37'/>
+        <enumerator name='POWER_SUPPLY_PROP_ENERGY_FULL' value='38'/>
+        <enumerator name='POWER_SUPPLY_PROP_ENERGY_EMPTY' value='39'/>
+        <enumerator name='POWER_SUPPLY_PROP_ENERGY_NOW' value='40'/>
+        <enumerator name='POWER_SUPPLY_PROP_ENERGY_AVG' value='41'/>
+        <enumerator name='POWER_SUPPLY_PROP_CAPACITY' value='42'/>
+        <enumerator name='POWER_SUPPLY_PROP_CAPACITY_ALERT_MIN' value='43'/>
+        <enumerator name='POWER_SUPPLY_PROP_CAPACITY_ALERT_MAX' value='44'/>
+        <enumerator name='POWER_SUPPLY_PROP_CAPACITY_LEVEL' value='45'/>
+        <enumerator name='POWER_SUPPLY_PROP_TEMP' value='46'/>
+        <enumerator name='POWER_SUPPLY_PROP_TEMP_MAX' value='47'/>
+        <enumerator name='POWER_SUPPLY_PROP_TEMP_MIN' value='48'/>
+        <enumerator name='POWER_SUPPLY_PROP_TEMP_ALERT_MIN' value='49'/>
+        <enumerator name='POWER_SUPPLY_PROP_TEMP_ALERT_MAX' value='50'/>
+        <enumerator name='POWER_SUPPLY_PROP_TEMP_AMBIENT' value='51'/>
+        <enumerator name='POWER_SUPPLY_PROP_TEMP_AMBIENT_ALERT_MIN' value='52'/>
+        <enumerator name='POWER_SUPPLY_PROP_TEMP_AMBIENT_ALERT_MAX' value='53'/>
+        <enumerator name='POWER_SUPPLY_PROP_TIME_TO_EMPTY_NOW' value='54'/>
+        <enumerator name='POWER_SUPPLY_PROP_TIME_TO_EMPTY_AVG' value='55'/>
+        <enumerator name='POWER_SUPPLY_PROP_TIME_TO_FULL_NOW' value='56'/>
+        <enumerator name='POWER_SUPPLY_PROP_TIME_TO_FULL_AVG' value='57'/>
+        <enumerator name='POWER_SUPPLY_PROP_TYPE' value='58'/>
+        <enumerator name='POWER_SUPPLY_PROP_USB_TYPE' value='59'/>
+        <enumerator name='POWER_SUPPLY_PROP_SCOPE' value='60'/>
+        <enumerator name='POWER_SUPPLY_PROP_PRECHARGE_CURRENT' value='61'/>
+        <enumerator name='POWER_SUPPLY_PROP_CHARGE_TERM_CURRENT' value='62'/>
+        <enumerator name='POWER_SUPPLY_PROP_CALIBRATE' value='63'/>
+        <enumerator name='POWER_SUPPLY_PROP_MODEL_NAME' value='64'/>
+        <enumerator name='POWER_SUPPLY_PROP_MANUFACTURER' value='65'/>
+        <enumerator name='POWER_SUPPLY_PROP_SERIAL_NUMBER' value='66'/>
+      </enum-decl>
+      <union-decl name='power_supply_propval' size-in-bits='64' visibility='default' filepath='include/linux/power_supply.h' line='191' column='1' id='type-id-3308'>
+        <data-member access='private'>
+          <var-decl name='intval' type-id='type-id-11' visibility='default' filepath='include/linux/power_supply.h' line='192' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='strval' type-id='type-id-24' visibility='default' filepath='include/linux/power_supply.h' line='193' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='power_supply_config' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/power_supply.h' line='200' column='1' id='type-id-3309'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='of_node' type-id='type-id-81' visibility='default' filepath='include/linux/power_supply.h' line='201' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='fwnode' type-id='type-id-575' visibility='default' filepath='include/linux/power_supply.h' line='202' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='drv_data' type-id='type-id-3' visibility='default' filepath='include/linux/power_supply.h' line='205' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='supplied_to' type-id='type-id-257' visibility='default' filepath='include/linux/power_supply.h' line='207' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='num_supplicants' type-id='type-id-125' visibility='default' filepath='include/linux/power_supply.h' line='208' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-3309' const='yes' id='type-id-3310'/>
+      <pointer-type-def type-id='type-id-3310' size-in-bits='64' id='type-id-3311'/>
+      <qualified-type-def type-id='type-id-3298' const='yes' id='type-id-3312'/>
+      <pointer-type-def type-id='type-id-3312' size-in-bits='64' id='type-id-3296'/>
+      <qualified-type-def type-id='type-id-3308' const='yes' id='type-id-3313'/>
+      <pointer-type-def type-id='type-id-3313' size-in-bits='64' id='type-id-3314'/>
+      <qualified-type-def type-id='type-id-3279' const='yes' id='type-id-3315'/>
+      <pointer-type-def type-id='type-id-3315' size-in-bits='64' id='type-id-3278'/>
+      <pointer-type-def type-id='type-id-3316' size-in-bits='64' id='type-id-3304'/>
+      <pointer-type-def type-id='type-id-3317' size-in-bits='64' id='type-id-3303'/>
+      <pointer-type-def type-id='type-id-3318' size-in-bits='64' id='type-id-3302'/>
+      <pointer-type-def type-id='type-id-3319' size-in-bits='64' id='type-id-3284'/>
+      <pointer-type-def type-id='type-id-3320' size-in-bits='64' id='type-id-3282'/>
+      <pointer-type-def type-id='type-id-3321' size-in-bits='64' id='type-id-3283'/>
+      <pointer-type-def type-id='type-id-3322' size-in-bits='64' id='type-id-3281'/>
+      <pointer-type-def type-id='type-id-3323' size-in-bits='64' id='type-id-3280'/>
+      <pointer-type-def type-id='type-id-3324' size-in-bits='64' id='type-id-3293'/>
+      <pointer-type-def type-id='type-id-3325' size-in-bits='64' id='type-id-3271'/>
+      <pointer-type-def type-id='type-id-3326' size-in-bits='64' id='type-id-3274'/>
+      <pointer-type-def type-id='type-id-3327' size-in-bits='64' id='type-id-3268'/>
+      <pointer-type-def type-id='type-id-3328' size-in-bits='64' id='type-id-3276'/>
+      <pointer-type-def type-id='type-id-3329' size-in-bits='64' id='type-id-3269'/>
+      <pointer-type-def type-id='type-id-3330' size-in-bits='64' id='type-id-3273'/>
+      <pointer-type-def type-id='type-id-3331' size-in-bits='64' id='type-id-3275'/>
+      <pointer-type-def type-id='type-id-3332' size-in-bits='64' id='type-id-3272'/>
+      <pointer-type-def type-id='type-id-3333' size-in-bits='64' id='type-id-3267'/>
+      <pointer-type-def type-id='type-id-3334' size-in-bits='64' id='type-id-3270'/>
+      <pointer-type-def type-id='type-id-3295' size-in-bits='64' id='type-id-3335'/>
+      <pointer-type-def type-id='type-id-3307' size-in-bits='64' id='type-id-3301'/>
+      <pointer-type-def type-id='type-id-3308' size-in-bits='64' id='type-id-3336'/>
+      <pointer-type-def type-id='type-id-3306' size-in-bits='64' id='type-id-3300'/>
+      <pointer-type-def type-id='type-id-3265' size-in-bits='64' id='type-id-3260'/>
+      <pointer-type-def type-id='type-id-3290' size-in-bits='64' id='type-id-3289'/>
+      <pointer-type-def type-id='type-id-3277' size-in-bits='64' id='type-id-3291'/>
+      <pointer-type-def type-id='type-id-3285' size-in-bits='64' id='type-id-3337'/>
+      <pointer-type-def type-id='type-id-3292' size-in-bits='64' id='type-id-3263'/>
+      <pointer-type-def type-id='type-id-3287' size-in-bits='64' id='type-id-3338'/>
+      <pointer-type-def type-id='type-id-3286' size-in-bits='64' id='type-id-3339'/>
+      <pointer-type-def type-id='type-id-3259' size-in-bits='64' id='type-id-3297'/>
+      <pointer-type-def type-id='type-id-3266' size-in-bits='64' id='type-id-3261'/>
+      <pointer-type-def type-id='type-id-3288' size-in-bits='64' id='type-id-3262'/>
+      <pointer-type-def type-id='type-id-3340' size-in-bits='64' id='type-id-3305'/>
+      <pointer-type-def type-id='type-id-3341' size-in-bits='64' id='type-id-3294'/>
+      <function-decl name='thermal_zone_device_register' mangled-name='thermal_zone_device_register' filepath='include/linux/thermal.h' line='486' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='thermal_zone_device_register'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-3261'/>
+        <parameter type-id='type-id-3262'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-3297'/>
+      </function-decl>
+      <function-decl name='thermal_cooling_device_unregister' mangled-name='thermal_cooling_device_unregister' filepath='include/linux/thermal.h' line='506' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='thermal_cooling_device_unregister'>
+        <parameter type-id='type-id-3291'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='thermal_zone_device_unregister' mangled-name='thermal_zone_device_unregister' filepath='include/linux/thermal.h' line='489' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='thermal_zone_device_unregister'>
+        <parameter type-id='type-id-3297'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='power_supply_changed' mangled-name='power_supply_changed' filepath='drivers/power/supply/power_supply_core.c' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='power_supply_changed'>
+        <parameter type-id='type-id-3335' name='psy' filepath='drivers/power/supply/power_supply_core.c' line='115' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='power_supply_get_by_name' mangled-name='power_supply_get_by_name' filepath='drivers/power/supply/power_supply_core.c' line='454' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='power_supply_get_by_name'>
+        <parameter type-id='type-id-24' name='name' filepath='drivers/power/supply/power_supply_core.c' line='454' column='1'/>
+        <return type-id='type-id-3335'/>
+      </function-decl>
+      <function-decl name='power_supply_put' mangled-name='power_supply_put' filepath='drivers/power/supply/power_supply_core.c' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='power_supply_put'>
+        <parameter type-id='type-id-3335' name='psy' filepath='drivers/power/supply/power_supply_core.c' line='476' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='power_supply_get_property' mangled-name='power_supply_get_property' filepath='drivers/power/supply/power_supply_core.c' line='624' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='power_supply_get_property'>
+        <parameter type-id='type-id-3335' name='psy' filepath='drivers/power/supply/power_supply_core.c' line='624' column='1'/>
+        <parameter type-id='type-id-3307' name='psp' filepath='drivers/power/supply/power_supply_core.c' line='625' column='1'/>
+        <parameter type-id='type-id-3336' name='val' filepath='drivers/power/supply/power_supply_core.c' line='626' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='power_supply_set_property' mangled-name='power_supply_set_property' filepath='drivers/power/supply/power_supply_core.c' line='638' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='power_supply_set_property'>
+        <parameter type-id='type-id-3335' name='psy' filepath='drivers/power/supply/power_supply_core.c' line='638' column='1'/>
+        <parameter type-id='type-id-3307' name='psp' filepath='drivers/power/supply/power_supply_core.c' line='639' column='1'/>
+        <parameter type-id='type-id-3314' name='val' filepath='drivers/power/supply/power_supply_core.c' line='640' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='power_supply_reg_notifier' mangled-name='power_supply_reg_notifier' filepath='drivers/power/supply/power_supply_core.c' line='683' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='power_supply_reg_notifier'>
+        <parameter type-id='type-id-103' name='nb' filepath='drivers/power/supply/power_supply_core.c' line='683' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='power_supply_unreg_notifier' mangled-name='power_supply_unreg_notifier' filepath='drivers/power/supply/power_supply_core.c' line='689' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='power_supply_unreg_notifier'>
+        <parameter type-id='type-id-103' name='nb' filepath='drivers/power/supply/power_supply_core.c' line='689' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='devm_power_supply_register' mangled-name='devm_power_supply_register' filepath='drivers/power/supply/power_supply_core.c' line='1024' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_power_supply_register'>
+        <parameter type-id='type-id-86' name='parent' filepath='drivers/power/supply/power_supply_core.c' line='1024' column='1'/>
+        <parameter type-id='type-id-3296' name='desc' filepath='drivers/power/supply/power_supply_core.c' line='1025' column='1'/>
+        <parameter type-id='type-id-3311' name='cfg' filepath='drivers/power/supply/power_supply_core.c' line='1026' column='1'/>
+        <return type-id='type-id-3335'/>
+      </function-decl>
+      <function-decl name='power_supply_get_drvdata' mangled-name='power_supply_get_drvdata' filepath='drivers/power/supply/power_supply_core.c' line='1103' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='power_supply_get_drvdata'>
+        <parameter type-id='type-id-3335' name='psy' filepath='drivers/power/supply/power_supply_core.c' line='1103' column='1'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-3316'>
+        <parameter type-id='type-id-3335'/>
+        <parameter type-id='type-id-3307'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3317'>
+        <parameter type-id='type-id-3335'/>
+        <parameter type-id='type-id-3307'/>
+        <parameter type-id='type-id-3314'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3318'>
+        <parameter type-id='type-id-3335'/>
+        <parameter type-id='type-id-3307'/>
+        <parameter type-id='type-id-3336'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3319'>
+        <parameter type-id='type-id-3291'/>
+        <parameter type-id='type-id-3297'/>
+        <parameter type-id='type-id-9'/>
+        <parameter type-id='type-id-76'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3320'>
+        <parameter type-id='type-id-3291'/>
+        <parameter type-id='type-id-3297'/>
+        <parameter type-id='type-id-347'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3321'>
+        <parameter type-id='type-id-3291'/>
+        <parameter type-id='type-id-3297'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-347'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3322'>
+        <parameter type-id='type-id-3291'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3323'>
+        <parameter type-id='type-id-3291'/>
+        <parameter type-id='type-id-76'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3324'>
+        <parameter type-id='type-id-3297'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3325'>
+        <parameter type-id='type-id-3297'/>
+        <parameter type-id='type-id-3285'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3326'>
+        <parameter type-id='type-id-3297'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3327'>
+        <parameter type-id='type-id-3297'/>
+        <parameter type-id='type-id-82'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3328'>
+        <parameter type-id='type-id-3297'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-3286'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3329'>
+        <parameter type-id='type-id-3297'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3330'>
+        <parameter type-id='type-id-3297'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-82'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3331'>
+        <parameter type-id='type-id-3297'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-3338'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3332'>
+        <parameter type-id='type-id-3297'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-3339'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3333'>
+        <parameter type-id='type-id-3297'/>
+        <parameter type-id='type-id-3291'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3334'>
+        <parameter type-id='type-id-3297'/>
+        <parameter type-id='type-id-3337'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3340'>
+        <parameter type-id='type-id-3335' name='psy'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3341'>
+        <parameter type-id='type-id-3297'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/power/supply/power_supply_leds.c' language='LANG_C89'>
+      <pointer-type-def type-id='type-id-2068' size-in-bits='64' id='type-id-3342'/>
+      <function-decl name='led_trigger_event' mangled-name='led_trigger_event' filepath='include/linux/leds.h' line='292' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='led_trigger_event'>
+        <parameter type-id='type-id-2068'/>
+        <parameter type-id='type-id-2062'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='led_trigger_register_simple' mangled-name='led_trigger_register_simple' filepath='include/linux/leds.h' line='289' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='led_trigger_register_simple'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-3342'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='led_trigger_unregister_simple' mangled-name='led_trigger_unregister_simple' filepath='include/linux/leds.h' line='291' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='led_trigger_unregister_simple'>
+        <parameter type-id='type-id-2068'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/pwm/core.c' language='LANG_C89'>
+      <class-decl name='pwm_chip' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/pwm.h' line='292' column='1' id='type-id-3343'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/linux/pwm.h' line='293' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/pwm.h' line='294' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='ops' type-id='type-id-3344' visibility='default' filepath='include/linux/pwm.h' line='295' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='base' type-id='type-id-11' visibility='default' filepath='include/linux/pwm.h' line='296' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='npwm' type-id='type-id-10' visibility='default' filepath='include/linux/pwm.h' line='297' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='pwms' type-id='type-id-3345' visibility='default' filepath='include/linux/pwm.h' line='299' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='of_xlate' type-id='type-id-3346' visibility='default' filepath='include/linux/pwm.h' line='301' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='of_pwm_n_cells' type-id='type-id-10' visibility='default' filepath='include/linux/pwm.h' line='303' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='pwm_ops' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/pwm.h' line='260' column='1' id='type-id-3347'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='request' type-id='type-id-3348' visibility='default' filepath='include/linux/pwm.h' line='261' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='free' type-id='type-id-3349' visibility='default' filepath='include/linux/pwm.h' line='262' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='config' type-id='type-id-3350' visibility='default' filepath='include/linux/pwm.h' line='263' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='set_polarity' type-id='type-id-3351' visibility='default' filepath='include/linux/pwm.h' line='265' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='capture' type-id='type-id-3352' visibility='default' filepath='include/linux/pwm.h' line='267' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='enable' type-id='type-id-3348' visibility='default' filepath='include/linux/pwm.h' line='269' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='disable' type-id='type-id-3349' visibility='default' filepath='include/linux/pwm.h' line='270' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='apply' type-id='type-id-3353' visibility='default' filepath='include/linux/pwm.h' line='271' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='get_state' type-id='type-id-3354' visibility='default' filepath='include/linux/pwm.h' line='273' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/linux/pwm.h' line='278' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='pwm_device' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/pwm.h' line='76' column='1' id='type-id-3355'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='label' type-id='type-id-24' visibility='default' filepath='include/linux/pwm.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/pwm.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='hwpwm' type-id='type-id-10' visibility='default' filepath='include/linux/pwm.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='pwm' type-id='type-id-10' visibility='default' filepath='include/linux/pwm.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='chip' type-id='type-id-3356' visibility='default' filepath='include/linux/pwm.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='chip_data' type-id='type-id-3' visibility='default' filepath='include/linux/pwm.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='args' type-id='type-id-3357' visibility='default' filepath='include/linux/pwm.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='state' type-id='type-id-3358' visibility='default' filepath='include/linux/pwm.h' line='85' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='pwm_args' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/pwm.h' line='41' column='1' id='type-id-3357'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='period' type-id='type-id-10' visibility='default' filepath='include/linux/pwm.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='polarity' type-id='type-id-3359' visibility='default' filepath='include/linux/pwm.h' line='43' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='pwm_polarity' filepath='include/linux/pwm.h' line='23' column='1' id='type-id-3359'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='PWM_POLARITY_NORMAL' value='0'/>
+        <enumerator name='PWM_POLARITY_INVERSED' value='1'/>
+      </enum-decl>
+      <class-decl name='pwm_state' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/pwm.h' line='58' column='1' id='type-id-3358'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='period' type-id='type-id-10' visibility='default' filepath='include/linux/pwm.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='duty_cycle' type-id='type-id-10' visibility='default' filepath='include/linux/pwm.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='polarity' type-id='type-id-3359' visibility='default' filepath='include/linux/pwm.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='enabled' type-id='type-id-211' visibility='default' filepath='include/linux/pwm.h' line='62' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='pwm_capture' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/pwm.h' line='311' column='1' id='type-id-3360'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='period' type-id='type-id-10' visibility='default' filepath='include/linux/pwm.h' line='312' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='duty_cycle' type-id='type-id-10' visibility='default' filepath='include/linux/pwm.h' line='313' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-3347' const='yes' id='type-id-3361'/>
+      <pointer-type-def type-id='type-id-3361' size-in-bits='64' id='type-id-3344'/>
+      <pointer-type-def type-id='type-id-3362' size-in-bits='64' id='type-id-3348'/>
+      <pointer-type-def type-id='type-id-3363' size-in-bits='64' id='type-id-3351'/>
+      <pointer-type-def type-id='type-id-3364' size-in-bits='64' id='type-id-3350'/>
+      <pointer-type-def type-id='type-id-3365' size-in-bits='64' id='type-id-3352'/>
+      <pointer-type-def type-id='type-id-3366' size-in-bits='64' id='type-id-3353'/>
+      <pointer-type-def type-id='type-id-3360' size-in-bits='64' id='type-id-3367'/>
+      <pointer-type-def type-id='type-id-3343' size-in-bits='64' id='type-id-3356'/>
+      <pointer-type-def type-id='type-id-3355' size-in-bits='64' id='type-id-3345'/>
+      <pointer-type-def type-id='type-id-3368' size-in-bits='64' id='type-id-3346'/>
+      <pointer-type-def type-id='type-id-3358' size-in-bits='64' id='type-id-3369'/>
+      <pointer-type-def type-id='type-id-3370' size-in-bits='64' id='type-id-3349'/>
+      <pointer-type-def type-id='type-id-3371' size-in-bits='64' id='type-id-3354'/>
+      <function-decl name='pwmchip_add' mangled-name='pwmchip_add' filepath='drivers/pwm/core.c' line='333' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pwmchip_add'>
+        <parameter type-id='type-id-3356' name='chip' filepath='drivers/pwm/core.c' line='333' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='pwmchip_remove' mangled-name='pwmchip_remove' filepath='drivers/pwm/core.c' line='348' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pwmchip_remove'>
+        <parameter type-id='type-id-3356' name='chip' filepath='drivers/pwm/core.c' line='348' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='devm_of_pwm_get' mangled-name='devm_of_pwm_get' filepath='drivers/pwm/core.c' line='934' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_of_pwm_get'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/pwm/core.c' line='934' column='1'/>
+        <parameter type-id='type-id-81' name='np' filepath='drivers/pwm/core.c' line='934' column='1'/>
+        <parameter type-id='type-id-24' name='con_id' filepath='drivers/pwm/core.c' line='935' column='1'/>
+        <return type-id='type-id-3345'/>
+      </function-decl>
+      <function-decl name='devm_pwm_put' mangled-name='devm_pwm_put' filepath='drivers/pwm/core.c' line='974' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_pwm_put'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/pwm/core.c' line='974' column='1'/>
+        <parameter type-id='type-id-3345' name='pwm' filepath='drivers/pwm/core.c' line='974' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-3362'>
+        <parameter type-id='type-id-3356'/>
+        <parameter type-id='type-id-3345'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3363'>
+        <parameter type-id='type-id-3356'/>
+        <parameter type-id='type-id-3345'/>
+        <parameter type-id='type-id-3359'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3364'>
+        <parameter type-id='type-id-3356'/>
+        <parameter type-id='type-id-3345'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3365'>
+        <parameter type-id='type-id-3356'/>
+        <parameter type-id='type-id-3345'/>
+        <parameter type-id='type-id-3367'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3366'>
+        <parameter type-id='type-id-3356'/>
+        <parameter type-id='type-id-3345'/>
+        <parameter type-id='type-id-3369'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3368'>
+        <parameter type-id='type-id-3356'/>
+        <parameter type-id='type-id-2057'/>
+        <return type-id='type-id-3345'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3370'>
+        <parameter type-id='type-id-3356'/>
+        <parameter type-id='type-id-3345'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3371'>
+        <parameter type-id='type-id-3356'/>
+        <parameter type-id='type-id-3345'/>
+        <parameter type-id='type-id-3369'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/pwm/sysfs.c' language='LANG_C89'>
+      <function-decl name='sysfs_streq' mangled-name='sysfs_streq' filepath='include/linux/string.h' line='180' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sysfs_streq'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-264'/>
+      </function-decl>
+      <function-decl name='device_find_child' mangled-name='device_find_child' filepath='include/linux/device.h' line='1268' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_find_child'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-1930'/>
+        <return type-id='type-id-86'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/regulator/core.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-3372' size-in-bits='256' id='type-id-3373'>
+        <subrange length='4' type-id='type-id-5' id='type-id-281'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-3374' size-in-bits='320' id='type-id-3375'>
+        <subrange length='5' type-id='type-id-5' id='type-id-3376'/>
+
+      </array-type-def>
+      <class-decl name='regulator_dev' size-in-bits='9152' is-struct='yes' visibility='default' filepath='include/linux/regulator/driver.h' line='438' column='1' id='type-id-3377'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='desc' type-id='type-id-3378' visibility='default' filepath='include/linux/regulator/driver.h' line='439' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='exclusive' type-id='type-id-11' visibility='default' filepath='include/linux/regulator/driver.h' line='440' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='use_count' type-id='type-id-9' visibility='default' filepath='include/linux/regulator/driver.h' line='441' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='open_count' type-id='type-id-9' visibility='default' filepath='include/linux/regulator/driver.h' line='442' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='bypass_count' type-id='type-id-9' visibility='default' filepath='include/linux/regulator/driver.h' line='443' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/regulator/driver.h' line='446' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='consumer_list' type-id='type-id-8' visibility='default' filepath='include/linux/regulator/driver.h' line='449' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='coupling_desc' type-id='type-id-3379' visibility='default' filepath='include/linux/regulator/driver.h' line='451' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='notifier' type-id='type-id-3126' visibility='default' filepath='include/linux/regulator/driver.h' line='453' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='mutex' type-id='type-id-407' visibility='default' filepath='include/linux/regulator/driver.h' line='454' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='mutex_owner' type-id='type-id-118' visibility='default' filepath='include/linux/regulator/driver.h' line='455' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='ref_cnt' type-id='type-id-11' visibility='default' filepath='include/linux/regulator/driver.h' line='456' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/linux/regulator/driver.h' line='457' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='include/linux/regulator/driver.h' line='458' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7808'>
+          <var-decl name='constraints' type-id='type-id-3380' visibility='default' filepath='include/linux/regulator/driver.h' line='459' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7872'>
+          <var-decl name='supply' type-id='type-id-3381' visibility='default' filepath='include/linux/regulator/driver.h' line='460' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7936'>
+          <var-decl name='supply_name' type-id='type-id-24' visibility='default' filepath='include/linux/regulator/driver.h' line='461' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8000'>
+          <var-decl name='regmap' type-id='type-id-845' visibility='default' filepath='include/linux/regulator/driver.h' line='462' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8064'>
+          <var-decl name='disable_work' type-id='type-id-370' visibility='default' filepath='include/linux/regulator/driver.h' line='464' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8768'>
+          <var-decl name='deferred_disables' type-id='type-id-11' visibility='default' filepath='include/linux/regulator/driver.h' line='465' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8832'>
+          <var-decl name='reg_data' type-id='type-id-3' visibility='default' filepath='include/linux/regulator/driver.h' line='467' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8896'>
+          <var-decl name='debugfs' type-id='type-id-836' visibility='default' filepath='include/linux/regulator/driver.h' line='469' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8960'>
+          <var-decl name='ena_pin' type-id='type-id-3382' visibility='default' filepath='include/linux/regulator/driver.h' line='471' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='ena_gpio_state' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='472' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='is_switch' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='474' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9088'>
+          <var-decl name='last_off_jiffy' type-id='type-id-100' visibility='default' filepath='include/linux/regulator/driver.h' line='477' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='regulator_desc' size-in-bits='1984' is-struct='yes' visibility='default' filepath='include/linux/regulator/driver.h' line='317' column='1' id='type-id-3383'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/regulator/driver.h' line='318' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='supply_name' type-id='type-id-24' visibility='default' filepath='include/linux/regulator/driver.h' line='319' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='of_match' type-id='type-id-24' visibility='default' filepath='include/linux/regulator/driver.h' line='320' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='regulators_node' type-id='type-id-24' visibility='default' filepath='include/linux/regulator/driver.h' line='321' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='of_parse_cb' type-id='type-id-3384' visibility='default' filepath='include/linux/regulator/driver.h' line='322' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='id' type-id='type-id-11' visibility='default' filepath='include/linux/regulator/driver.h' line='325' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='continuous_voltage_range' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='326' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='n_voltages' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='327' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='ops' type-id='type-id-3385' visibility='default' filepath='include/linux/regulator/driver.h' line='328' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='irq' type-id='type-id-11' visibility='default' filepath='include/linux/regulator/driver.h' line='329' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='type' type-id='type-id-3386' visibility='default' filepath='include/linux/regulator/driver.h' line='330' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/linux/regulator/driver.h' line='331' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='min_uV' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='333' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='672'>
+          <var-decl name='uV_step' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='334' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='linear_min_sel' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='335' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='736'>
+          <var-decl name='fixed_uV' type-id='type-id-11' visibility='default' filepath='include/linux/regulator/driver.h' line='336' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='ramp_delay' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='337' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='800'>
+          <var-decl name='min_dropout_uV' type-id='type-id-11' visibility='default' filepath='include/linux/regulator/driver.h' line='338' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='linear_ranges' type-id='type-id-3387' visibility='default' filepath='include/linux/regulator/driver.h' line='340' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='n_linear_ranges' type-id='type-id-11' visibility='default' filepath='include/linux/regulator/driver.h' line='341' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='volt_table' type-id='type-id-835' visibility='default' filepath='include/linux/regulator/driver.h' line='343' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='vsel_reg' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='345' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1056'>
+          <var-decl name='vsel_mask' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='346' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='csel_reg' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='347' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1120'>
+          <var-decl name='csel_mask' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='348' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='apply_reg' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='349' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1184'>
+          <var-decl name='apply_bit' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='350' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='enable_reg' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='351' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1248'>
+          <var-decl name='enable_mask' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='352' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='enable_val' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='353' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1312'>
+          <var-decl name='disable_val' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='354' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='enable_is_inverted' type-id='type-id-211' visibility='default' filepath='include/linux/regulator/driver.h' line='355' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1376'>
+          <var-decl name='bypass_reg' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='356' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='bypass_mask' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='357' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1440'>
+          <var-decl name='bypass_val_on' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='358' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='bypass_val_off' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='359' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1504'>
+          <var-decl name='active_discharge_on' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='360' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='active_discharge_off' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='361' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1568'>
+          <var-decl name='active_discharge_mask' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='362' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='active_discharge_reg' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='363' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1632'>
+          <var-decl name='soft_start_reg' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='364' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='soft_start_mask' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='365' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1696'>
+          <var-decl name='soft_start_val_on' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='366' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='pull_down_reg' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='367' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1760'>
+          <var-decl name='pull_down_mask' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='368' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='pull_down_val_on' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='369' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1824'>
+          <var-decl name='enable_time' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='371' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='off_on_delay' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='373' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='of_map_mode' type-id='type-id-852' visibility='default' filepath='include/linux/regulator/driver.h' line='375' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='regulator_config' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/regulator/driver.h' line='400' column='1' id='type-id-3388'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/linux/regulator/driver.h' line='401' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='init_data' type-id='type-id-3389' visibility='default' filepath='include/linux/regulator/driver.h' line='402' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='driver_data' type-id='type-id-3' visibility='default' filepath='include/linux/regulator/driver.h' line='403' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='of_node' type-id='type-id-81' visibility='default' filepath='include/linux/regulator/driver.h' line='404' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='regmap' type-id='type-id-845' visibility='default' filepath='include/linux/regulator/driver.h' line='405' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='ena_gpio_initialized' type-id='type-id-211' visibility='default' filepath='include/linux/regulator/driver.h' line='407' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='ena_gpio' type-id='type-id-11' visibility='default' filepath='include/linux/regulator/driver.h' line='408' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='ena_gpiod' type-id='type-id-1733' visibility='default' filepath='include/linux/regulator/driver.h' line='409' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='ena_gpio_invert' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='410' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='ena_gpio_flags' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='411' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='regulator_init_data' size-in-bits='1600' is-struct='yes' visibility='default' filepath='include/linux/regulator/machine.h' line='235' column='1' id='type-id-3390'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='supply_regulator' type-id='type-id-24' visibility='default' filepath='include/linux/regulator/machine.h' line='236' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='constraints' type-id='type-id-3391' visibility='default' filepath='include/linux/regulator/machine.h' line='238' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='num_consumer_supplies' type-id='type-id-11' visibility='default' filepath='include/linux/regulator/machine.h' line='240' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='consumer_supplies' type-id='type-id-3392' visibility='default' filepath='include/linux/regulator/machine.h' line='241' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='regulator_init' type-id='type-id-634' visibility='default' filepath='include/linux/regulator/machine.h' line='244' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='driver_data' type-id='type-id-3' visibility='default' filepath='include/linux/regulator/machine.h' line='245' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='regulation_constraints' size-in-bits='1280' is-struct='yes' visibility='default' filepath='include/linux/regulator/machine.h' line='141' column='1' id='type-id-3391'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/regulator/machine.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='min_uV' type-id='type-id-11' visibility='default' filepath='include/linux/regulator/machine.h' line='146' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='max_uV' type-id='type-id-11' visibility='default' filepath='include/linux/regulator/machine.h' line='147' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='uV_offset' type-id='type-id-11' visibility='default' filepath='include/linux/regulator/machine.h' line='149' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='min_uA' type-id='type-id-11' visibility='default' filepath='include/linux/regulator/machine.h' line='152' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='max_uA' type-id='type-id-11' visibility='default' filepath='include/linux/regulator/machine.h' line='153' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='ilim_uA' type-id='type-id-11' visibility='default' filepath='include/linux/regulator/machine.h' line='154' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='system_load' type-id='type-id-11' visibility='default' filepath='include/linux/regulator/machine.h' line='156' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='max_spread' type-id='type-id-11' visibility='default' filepath='include/linux/regulator/machine.h' line='159' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='valid_modes_mask' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/machine.h' line='162' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='valid_ops_mask' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/machine.h' line='165' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='input_uV' type-id='type-id-11' visibility='default' filepath='include/linux/regulator/machine.h' line='168' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='state_disk' type-id='type-id-3393' visibility='default' filepath='include/linux/regulator/machine.h' line='171' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='state_mem' type-id='type-id-3393' visibility='default' filepath='include/linux/regulator/machine.h' line='172' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='800'>
+          <var-decl name='state_standby' type-id='type-id-3393' visibility='default' filepath='include/linux/regulator/machine.h' line='173' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='992'>
+          <var-decl name='initial_state' type-id='type-id-3394' visibility='default' filepath='include/linux/regulator/machine.h' line='174' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='initial_mode' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/machine.h' line='177' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1056'>
+          <var-decl name='ramp_delay' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/machine.h' line='179' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='settling_time' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/machine.h' line='180' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1120'>
+          <var-decl name='settling_time_up' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/machine.h' line='181' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='settling_time_down' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/machine.h' line='182' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1184'>
+          <var-decl name='enable_time' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/machine.h' line='183' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='active_discharge' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/machine.h' line='185' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='always_on' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/machine.h' line='188' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='boot_on' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/machine.h' line='189' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='29'>
+          <var-decl name='apply_uV' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/machine.h' line='190' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='28'>
+          <var-decl name='ramp_disable' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/machine.h' line='191' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='27'>
+          <var-decl name='soft_start' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/machine.h' line='192' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='26'>
+          <var-decl name='pull_down' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/machine.h' line='193' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='25'>
+          <var-decl name='over_current_protection' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/machine.h' line='194' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='regulator_state' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/regulator/machine.h' line='80' column='1' id='type-id-3393'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='uV' type-id='type-id-11' visibility='default' filepath='include/linux/regulator/machine.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='min_uV' type-id='type-id-11' visibility='default' filepath='include/linux/regulator/machine.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='max_uV' type-id='type-id-11' visibility='default' filepath='include/linux/regulator/machine.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='mode' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/machine.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='enabled' type-id='type-id-11' visibility='default' filepath='include/linux/regulator/machine.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='changeable' type-id='type-id-211' visibility='default' filepath='include/linux/regulator/machine.h' line='86' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='regulator_consumer_supply' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/regulator/machine.h' line='206' column='1' id='type-id-3395'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev_name' type-id='type-id-24' visibility='default' filepath='include/linux/regulator/machine.h' line='207' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='supply' type-id='type-id-24' visibility='default' filepath='include/linux/regulator/machine.h' line='208' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='regulator_ops' size-in-bits='2112' is-struct='yes' visibility='default' filepath='include/linux/regulator/driver.h' line='148' column='1' id='type-id-3396'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list_voltage' type-id='type-id-3397' visibility='default' filepath='include/linux/regulator/driver.h' line='151' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='set_voltage' type-id='type-id-3398' visibility='default' filepath='include/linux/regulator/driver.h' line='154' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='map_voltage' type-id='type-id-3399' visibility='default' filepath='include/linux/regulator/driver.h' line='156' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='set_voltage_sel' type-id='type-id-3397' visibility='default' filepath='include/linux/regulator/driver.h' line='157' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='get_voltage' type-id='type-id-3400' visibility='default' filepath='include/linux/regulator/driver.h' line='158' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='get_voltage_sel' type-id='type-id-3400' visibility='default' filepath='include/linux/regulator/driver.h' line='159' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='set_current_limit' type-id='type-id-3399' visibility='default' filepath='include/linux/regulator/driver.h' line='162' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='get_current_limit' type-id='type-id-3400' visibility='default' filepath='include/linux/regulator/driver.h' line='164' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='set_input_current_limit' type-id='type-id-3401' visibility='default' filepath='include/linux/regulator/driver.h' line='166' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='set_over_current_protection' type-id='type-id-3400' visibility='default' filepath='include/linux/regulator/driver.h' line='167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='set_active_discharge' type-id='type-id-3402' visibility='default' filepath='include/linux/regulator/driver.h' line='168' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='enable' type-id='type-id-3400' visibility='default' filepath='include/linux/regulator/driver.h' line='171' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='disable' type-id='type-id-3400' visibility='default' filepath='include/linux/regulator/driver.h' line='172' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='is_enabled' type-id='type-id-3400' visibility='default' filepath='include/linux/regulator/driver.h' line='173' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='set_mode' type-id='type-id-3397' visibility='default' filepath='include/linux/regulator/driver.h' line='176' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='get_mode' type-id='type-id-3403' visibility='default' filepath='include/linux/regulator/driver.h' line='177' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='get_error_flags' type-id='type-id-3404' visibility='default' filepath='include/linux/regulator/driver.h' line='180' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='enable_time' type-id='type-id-3400' visibility='default' filepath='include/linux/regulator/driver.h' line='183' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='set_ramp_delay' type-id='type-id-3401' visibility='default' filepath='include/linux/regulator/driver.h' line='184' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='set_voltage_time' type-id='type-id-3399' visibility='default' filepath='include/linux/regulator/driver.h' line='185' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='set_voltage_time_sel' type-id='type-id-3405' visibility='default' filepath='include/linux/regulator/driver.h' line='187' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='set_soft_start' type-id='type-id-3400' visibility='default' filepath='include/linux/regulator/driver.h' line='191' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='get_status' type-id='type-id-3400' visibility='default' filepath='include/linux/regulator/driver.h' line='198' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='get_optimum_mode' type-id='type-id-3406' visibility='default' filepath='include/linux/regulator/driver.h' line='201' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='set_load' type-id='type-id-3401' visibility='default' filepath='include/linux/regulator/driver.h' line='204' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='set_bypass' type-id='type-id-3402' visibility='default' filepath='include/linux/regulator/driver.h' line='207' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='get_bypass' type-id='type-id-3407' visibility='default' filepath='include/linux/regulator/driver.h' line='208' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='set_suspend_voltage' type-id='type-id-3401' visibility='default' filepath='include/linux/regulator/driver.h' line='214' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='set_suspend_enable' type-id='type-id-3400' visibility='default' filepath='include/linux/regulator/driver.h' line='217' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='set_suspend_disable' type-id='type-id-3400' visibility='default' filepath='include/linux/regulator/driver.h' line='218' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='set_suspend_mode' type-id='type-id-3397' visibility='default' filepath='include/linux/regulator/driver.h' line='221' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='resume' type-id='type-id-3400' visibility='default' filepath='include/linux/regulator/driver.h' line='223' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='set_pull_down' type-id='type-id-3400' visibility='default' filepath='include/linux/regulator/driver.h' line='225' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='regulator_type' filepath='include/linux/regulator/driver.h' line='231' column='1' id='type-id-3386'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='REGULATOR_VOLTAGE' value='0'/>
+        <enumerator name='REGULATOR_CURRENT' value='1'/>
+      </enum-decl>
+      <class-decl name='regulator_linear_range' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/regulator/driver.h' line='57' column='1' id='type-id-3408'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='min_uV' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='min_sel' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='max_sel' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='uV_step' type-id='type-id-10' visibility='default' filepath='include/linux/regulator/driver.h' line='61' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='coupling_desc' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/regulator/driver.h' line='422' column='1' id='type-id-3379'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='coupled_rdevs' type-id='type-id-3373' visibility='default' filepath='include/linux/regulator/driver.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='n_resolved' type-id='type-id-11' visibility='default' filepath='include/linux/regulator/driver.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='n_coupled' type-id='type-id-11' visibility='default' filepath='include/linux/regulator/driver.h' line='425' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='regulator' size-in-bits='1024' is-struct='yes' visibility='default' filepath='drivers/regulator/internal.h' line='39' column='1' id='type-id-3409'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='drivers/regulator/internal.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='drivers/regulator/internal.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='always_on' type-id='type-id-10' visibility='default' filepath='drivers/regulator/internal.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='bypass' type-id='type-id-10' visibility='default' filepath='drivers/regulator/internal.h' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='uA_load' type-id='type-id-11' visibility='default' filepath='drivers/regulator/internal.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='voltage' type-id='type-id-3375' visibility='default' filepath='drivers/regulator/internal.h' line='45' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='supply_name' type-id='type-id-24' visibility='default' filepath='drivers/regulator/internal.h' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='dev_attr' type-id='type-id-1028' visibility='default' filepath='drivers/regulator/internal.h' line='47' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='rdev' type-id='type-id-3372' visibility='default' filepath='drivers/regulator/internal.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='debugfs' type-id='type-id-836' visibility='default' filepath='drivers/regulator/internal.h' line='49' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='regulator_voltage' size-in-bits='64' is-struct='yes' visibility='default' filepath='drivers/regulator/internal.h' line='23' column='1' id='type-id-3374'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='min_uV' type-id='type-id-11' visibility='default' filepath='drivers/regulator/internal.h' line='24' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='max_uV' type-id='type-id-11' visibility='default' filepath='drivers/regulator/internal.h' line='25' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='regulator_enable_gpio' size-in-bits='320' is-struct='yes' visibility='default' filepath='drivers/regulator/core.c' line='78' column='1' id='type-id-3410'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='drivers/regulator/core.c' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='gpiod' type-id='type-id-1733' visibility='default' filepath='drivers/regulator/core.c' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='enable_count' type-id='type-id-9' visibility='default' filepath='drivers/regulator/core.c' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='request_count' type-id='type-id-9' visibility='default' filepath='drivers/regulator/core.c' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='ena_gpio_invert' type-id='type-id-10' visibility='default' filepath='drivers/regulator/core.c' line='83' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='regulator_bulk_data' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/regulator/consumer.h' line='171' column='1' id='type-id-3411'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='supply' type-id='type-id-24' visibility='default' filepath='include/linux/regulator/consumer.h' line='172' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='consumer' type-id='type-id-3381' visibility='default' filepath='include/linux/regulator/consumer.h' line='173' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='ret' type-id='type-id-11' visibility='default' filepath='include/linux/regulator/consumer.h' line='176' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-3383' const='yes' id='type-id-3412'/>
+      <pointer-type-def type-id='type-id-3412' size-in-bits='64' id='type-id-3378'/>
+      <qualified-type-def type-id='type-id-3390' const='yes' id='type-id-3413'/>
+      <pointer-type-def type-id='type-id-3413' size-in-bits='64' id='type-id-3389'/>
+      <qualified-type-def type-id='type-id-3408' const='yes' id='type-id-3414'/>
+      <pointer-type-def type-id='type-id-3414' size-in-bits='64' id='type-id-3387'/>
+      <qualified-type-def type-id='type-id-3396' const='yes' id='type-id-3415'/>
+      <pointer-type-def type-id='type-id-3415' size-in-bits='64' id='type-id-3385'/>
+      <pointer-type-def type-id='type-id-3416' size-in-bits='64' id='type-id-3384'/>
+      <pointer-type-def type-id='type-id-3417' size-in-bits='64' id='type-id-3400'/>
+      <pointer-type-def type-id='type-id-3418' size-in-bits='64' id='type-id-3407'/>
+      <pointer-type-def type-id='type-id-3419' size-in-bits='64' id='type-id-3401'/>
+      <pointer-type-def type-id='type-id-3420' size-in-bits='64' id='type-id-3399'/>
+      <pointer-type-def type-id='type-id-3421' size-in-bits='64' id='type-id-3398'/>
+      <pointer-type-def type-id='type-id-3422' size-in-bits='64' id='type-id-3402'/>
+      <pointer-type-def type-id='type-id-3423' size-in-bits='64' id='type-id-3397'/>
+      <pointer-type-def type-id='type-id-3424' size-in-bits='64' id='type-id-3404'/>
+      <pointer-type-def type-id='type-id-3425' size-in-bits='64' id='type-id-3405'/>
+      <pointer-type-def type-id='type-id-3391' size-in-bits='64' id='type-id-3380'/>
+      <pointer-type-def type-id='type-id-3409' size-in-bits='64' id='type-id-3381'/>
+      <pointer-type-def type-id='type-id-3411' size-in-bits='64' id='type-id-3426'/>
+      <pointer-type-def type-id='type-id-3388' size-in-bits='64' id='type-id-3427'/>
+      <pointer-type-def type-id='type-id-3395' size-in-bits='64' id='type-id-3392'/>
+      <pointer-type-def type-id='type-id-3377' size-in-bits='64' id='type-id-3372'/>
+      <pointer-type-def type-id='type-id-3410' size-in-bits='64' id='type-id-3382'/>
+      <pointer-type-def type-id='type-id-3428' size-in-bits='64' id='type-id-3403'/>
+      <pointer-type-def type-id='type-id-3429' size-in-bits='64' id='type-id-3406'/>
+      <pointer-type-def type-id='type-id-3430' size-in-bits='64' id='type-id-852'/>
+      <function-decl name='dev_get_regmap' mangled-name='dev_get_regmap' filepath='include/linux/regmap.h' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_get_regmap'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-845'/>
+      </function-decl>
+      <function-decl name='regulator_map_voltage_linear' mangled-name='regulator_map_voltage_linear' filepath='include/linux/regulator/driver.h' line='505' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regulator_map_voltage_linear'>
+        <parameter type-id='type-id-3372'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='regulator_get' mangled-name='regulator_get' filepath='drivers/regulator/core.c' line='1796' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regulator_get'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/regulator/core.c' line='1796' column='1'/>
+        <parameter type-id='type-id-24' name='id' filepath='drivers/regulator/core.c' line='1796' column='1'/>
+        <return type-id='type-id-3381'/>
+      </function-decl>
+      <function-decl name='regulator_disable_deferred' mangled-name='regulator_disable_deferred' filepath='drivers/regulator/core.c' line='2544' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regulator_disable_deferred'>
+        <parameter type-id='type-id-3381' name='regulator' filepath='drivers/regulator/core.c' line='2544' column='1'/>
+        <parameter type-id='type-id-11' name='ms' filepath='drivers/regulator/core.c' line='2544' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='regulator_is_enabled' mangled-name='regulator_is_enabled' filepath='drivers/regulator/core.c' line='2623' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regulator_is_enabled'>
+        <parameter type-id='type-id-3381' name='regulator' filepath='drivers/regulator/core.c' line='2623' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='regulator_count_voltages' mangled-name='regulator_count_voltages' filepath='drivers/regulator/core.c' line='2646' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regulator_count_voltages'>
+        <parameter type-id='type-id-3381' name='regulator' filepath='drivers/regulator/core.c' line='2646' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='regulator_set_voltage' mangled-name='regulator_set_voltage' filepath='drivers/regulator/core.c' line='3172' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regulator_set_voltage'>
+        <parameter type-id='type-id-3381' name='regulator' filepath='drivers/regulator/core.c' line='3172' column='1'/>
+        <parameter type-id='type-id-11' name='min_uV' filepath='drivers/regulator/core.c' line='3172' column='1'/>
+        <parameter type-id='type-id-11' name='max_uV' filepath='drivers/regulator/core.c' line='3172' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='regulator_set_current_limit' mangled-name='regulator_set_current_limit' filepath='drivers/regulator/core.c' line='3482' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regulator_set_current_limit'>
+        <parameter type-id='type-id-3381' name='regulator' filepath='drivers/regulator/core.c' line='3482' column='1'/>
+        <parameter type-id='type-id-11' name='min_uA' filepath='drivers/regulator/core.c' line='3483' column='1'/>
+        <parameter type-id='type-id-11' name='max_uA' filepath='drivers/regulator/core.c' line='3483' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='regulator_set_mode' mangled-name='regulator_set_mode' filepath='drivers/regulator/core.c' line='3552' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regulator_set_mode'>
+        <parameter type-id='type-id-3381' name='regulator' filepath='drivers/regulator/core.c' line='3552' column='1'/>
+        <parameter type-id='type-id-10' name='mode' filepath='drivers/regulator/core.c' line='3552' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='regulator_get_mode' mangled-name='regulator_get_mode' filepath='drivers/regulator/core.c' line='3611' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regulator_get_mode'>
+        <parameter type-id='type-id-3381' name='regulator' filepath='drivers/regulator/core.c' line='3611' column='1'/>
+        <return type-id='type-id-10'/>
+      </function-decl>
+      <function-decl name='regulator_set_load' mangled-name='regulator_set_load' filepath='drivers/regulator/core.c' line='3676' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regulator_set_load'>
+        <parameter type-id='type-id-3381' name='regulator' filepath='drivers/regulator/core.c' line='3676' column='1'/>
+        <parameter type-id='type-id-11' name='uA_load' filepath='drivers/regulator/core.c' line='3676' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='regulator_register_notifier' mangled-name='regulator_register_notifier' filepath='drivers/regulator/core.c' line='3749' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regulator_register_notifier'>
+        <parameter type-id='type-id-3381' name='regulator' filepath='drivers/regulator/core.c' line='3749' column='1'/>
+        <parameter type-id='type-id-103' name='nb' filepath='drivers/regulator/core.c' line='3750' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='regulator_unregister_notifier' mangled-name='regulator_unregister_notifier' filepath='drivers/regulator/core.c' line='3764' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regulator_unregister_notifier'>
+        <parameter type-id='type-id-3381' name='regulator' filepath='drivers/regulator/core.c' line='3764' column='1'/>
+        <parameter type-id='type-id-103' name='nb' filepath='drivers/regulator/core.c' line='3765' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='regulator_bulk_enable' mangled-name='regulator_bulk_enable' filepath='drivers/regulator/core.c' line='3846' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regulator_bulk_enable'>
+        <parameter type-id='type-id-11' name='num_consumers' filepath='drivers/regulator/core.c' line='3846' column='1'/>
+        <parameter type-id='type-id-3426' name='consumers' filepath='drivers/regulator/core.c' line='3847' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='regulator_bulk_disable' mangled-name='regulator_bulk_disable' filepath='drivers/regulator/core.c' line='3898' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regulator_bulk_disable'>
+        <parameter type-id='type-id-11' name='num_consumers' filepath='drivers/regulator/core.c' line='3898' column='1'/>
+        <parameter type-id='type-id-3426' name='consumers' filepath='drivers/regulator/core.c' line='3899' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='regulator_notifier_call_chain' mangled-name='regulator_notifier_call_chain' filepath='drivers/regulator/core.c' line='3989' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regulator_notifier_call_chain'>
+        <parameter type-id='type-id-3372' name='rdev' filepath='drivers/regulator/core.c' line='3989' column='1'/>
+        <parameter type-id='type-id-100' name='event' filepath='drivers/regulator/core.c' line='3990' column='1'/>
+        <parameter type-id='type-id-3' name='data' filepath='drivers/regulator/core.c' line='3990' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='rdev_get_drvdata' mangled-name='rdev_get_drvdata' filepath='drivers/regulator/core.c' line='4597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rdev_get_drvdata'>
+        <parameter type-id='type-id-3372' name='rdev' filepath='drivers/regulator/core.c' line='4597' column='1'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='regulator_get_drvdata' mangled-name='regulator_get_drvdata' filepath='drivers/regulator/core.c' line='4610' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regulator_get_drvdata'>
+        <parameter type-id='type-id-3381' name='regulator' filepath='drivers/regulator/core.c' line='4610' column='1'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='rdev_get_id' mangled-name='rdev_get_id' filepath='drivers/regulator/core.c' line='4631' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rdev_get_id'>
+        <parameter type-id='type-id-3372' name='rdev' filepath='drivers/regulator/core.c' line='4631' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-3416'>
+        <parameter type-id='type-id-81'/>
+        <parameter type-id='type-id-3378'/>
+        <parameter type-id='type-id-3427'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3417'>
+        <parameter type-id='type-id-3372'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3418'>
+        <parameter type-id='type-id-3372'/>
+        <parameter type-id='type-id-763'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3419'>
+        <parameter type-id='type-id-3372'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3420'>
+        <parameter type-id='type-id-3372'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3421'>
+        <parameter type-id='type-id-3372'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-72'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3422'>
+        <parameter type-id='type-id-3372'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3423'>
+        <parameter type-id='type-id-3372'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3424'>
+        <parameter type-id='type-id-3372'/>
+        <parameter type-id='type-id-72'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3425'>
+        <parameter type-id='type-id-3372'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3428'>
+        <parameter type-id='type-id-3372'/>
+        <return type-id='type-id-10'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3429'>
+        <parameter type-id='type-id-3372'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-10'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3430'>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-10'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/regulator/devres.c' language='LANG_C89'>
+      <qualified-type-def type-id='type-id-3388' const='yes' id='type-id-3431'/>
+      <pointer-type-def type-id='type-id-3431' size-in-bits='64' id='type-id-3432'/>
+      <function-decl name='devm_regulator_get' mangled-name='devm_regulator_get' filepath='drivers/regulator/devres.c' line='56' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_regulator_get'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/regulator/devres.c' line='56' column='1'/>
+        <parameter type-id='type-id-24' name='id' filepath='drivers/regulator/devres.c' line='56' column='1'/>
+        <return type-id='type-id-3381'/>
+      </function-decl>
+      <function-decl name='devm_regulator_get_optional' mangled-name='devm_regulator_get_optional' filepath='drivers/regulator/devres.c' line='87' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_regulator_get_optional'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/regulator/devres.c' line='87' column='1'/>
+        <parameter type-id='type-id-24' name='id' filepath='drivers/regulator/devres.c' line='88' column='1'/>
+        <return type-id='type-id-3381'/>
+      </function-decl>
+      <function-decl name='devm_regulator_put' mangled-name='devm_regulator_put' filepath='drivers/regulator/devres.c' line='112' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_regulator_put'>
+        <parameter type-id='type-id-3381' name='regulator' filepath='drivers/regulator/devres.c' line='112' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='devm_regulator_bulk_get' mangled-name='devm_regulator_bulk_get' filepath='drivers/regulator/devres.c' line='150' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_regulator_bulk_get'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/regulator/devres.c' line='150' column='1'/>
+        <parameter type-id='type-id-11' name='num_consumers' filepath='drivers/regulator/devres.c' line='150' column='1'/>
+        <parameter type-id='type-id-3426' name='consumers' filepath='drivers/regulator/devres.c' line='151' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='devm_regulator_register' mangled-name='devm_regulator_register' filepath='drivers/regulator/devres.c' line='189' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_regulator_register'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/regulator/devres.c' line='189' column='1'/>
+        <parameter type-id='type-id-3378' name='regulator_desc' filepath='drivers/regulator/devres.c' line='190' column='1'/>
+        <parameter type-id='type-id-3432' name='config' filepath='drivers/regulator/devres.c' line='191' column='1'/>
+        <return type-id='type-id-3372'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/regulator/dummy.c' language='LANG_C89'>
+      <function-decl name='platform_device_alloc' mangled-name='platform_device_alloc' filepath='include/linux/platform_device.h' line='168' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='platform_device_alloc'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-568'/>
+      </function-decl>
+      <function-decl name='platform_device_add' mangled-name='platform_device_add' filepath='include/linux/platform_device.h' line='176' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='platform_device_add'>
+        <parameter type-id='type-id-568'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='platform_device_put' mangled-name='platform_device_put' filepath='include/linux/platform_device.h' line='178' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='platform_device_put'>
+        <parameter type-id='type-id-568'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/regulator/fixed-helper.c' language='LANG_C89'>
+      <function-decl name='platform_device_register' mangled-name='platform_device_register' filepath='include/linux/platform_device.h' line='45' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='platform_device_register'>
+        <parameter type-id='type-id-568'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/regulator/helpers.c' language='LANG_C89'>
+      <class-decl name='dentry' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3433'/>
+      <pointer-type-def type-id='type-id-264' size-in-bits='64' id='type-id-3434'/>
+      <pointer-type-def type-id='type-id-3433' size-in-bits='64' id='type-id-3435'/>
+      <function-decl name='regmap_update_bits_base' mangled-name='regmap_update_bits_base' filepath='include/linux/regmap.h' line='998' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regmap_update_bits_base'>
+        <parameter type-id='type-id-845'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-3434'/>
+        <parameter type-id='type-id-264'/>
+        <parameter type-id='type-id-264'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='regulator_is_enabled_regmap' mangled-name='regulator_is_enabled_regmap' filepath='drivers/regulator/helpers.c' line='31' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regulator_is_enabled_regmap'>
+        <parameter type-id='type-id-3372' name='rdev' filepath='drivers/regulator/helpers.c' line='31' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='regulator_enable_regmap' mangled-name='regulator_enable_regmap' filepath='drivers/regulator/helpers.c' line='63' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regulator_enable_regmap'>
+        <parameter type-id='type-id-3372' name='rdev' filepath='drivers/regulator/helpers.c' line='63' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='regulator_disable_regmap' mangled-name='regulator_disable_regmap' filepath='drivers/regulator/helpers.c' line='89' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regulator_disable_regmap'>
+        <parameter type-id='type-id-3372' name='rdev' filepath='drivers/regulator/helpers.c' line='89' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='regulator_get_voltage_sel_regmap' mangled-name='regulator_get_voltage_sel_regmap' filepath='drivers/regulator/helpers.c' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regulator_get_voltage_sel_regmap'>
+        <parameter type-id='type-id-3372' name='rdev' filepath='drivers/regulator/helpers.c' line='115' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='regulator_set_voltage_sel_regmap' mangled-name='regulator_set_voltage_sel_regmap' filepath='drivers/regulator/helpers.c' line='141' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regulator_set_voltage_sel_regmap'>
+        <parameter type-id='type-id-3372' name='rdev' filepath='drivers/regulator/helpers.c' line='141' column='1'/>
+        <parameter type-id='type-id-10' name='sel' filepath='drivers/regulator/helpers.c' line='141' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='regulator_list_voltage_linear' mangled-name='regulator_list_voltage_linear' filepath='drivers/regulator/helpers.c' line='349' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regulator_list_voltage_linear'>
+        <parameter type-id='type-id-3372' name='rdev' filepath='drivers/regulator/helpers.c' line='349' column='1'/>
+        <parameter type-id='type-id-10' name='selector' filepath='drivers/regulator/helpers.c' line='350' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/regulator/of_regulator.c' language='LANG_C89'>
+      <pointer-type-def type-id='type-id-3390' size-in-bits='64' id='type-id-3436'/>
+      <function-decl name='of_get_regulator_init_data' mangled-name='of_get_regulator_init_data' filepath='drivers/regulator/of_regulator.c' line='254' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_get_regulator_init_data'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/regulator/of_regulator.c' line='254' column='1'/>
+        <parameter type-id='type-id-81' name='node' filepath='drivers/regulator/of_regulator.c' line='255' column='1'/>
+        <parameter type-id='type-id-3378' name='desc' filepath='drivers/regulator/of_regulator.c' line='256' column='1'/>
+        <return type-id='type-id-3436'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/reset/core.c' language='LANG_C89'>
+      <class-decl name='reset_controller_dev' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/linux/reset-controller.h' line='68' column='1' id='type-id-3437'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ops' type-id='type-id-3438' visibility='default' filepath='include/linux/reset-controller.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/linux/reset-controller.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/reset-controller.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='reset_control_head' type-id='type-id-8' visibility='default' filepath='include/linux/reset-controller.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/linux/reset-controller.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='of_node' type-id='type-id-81' visibility='default' filepath='include/linux/reset-controller.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='of_reset_n_cells' type-id='type-id-11' visibility='default' filepath='include/linux/reset-controller.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='of_xlate' type-id='type-id-3439' visibility='default' filepath='include/linux/reset-controller.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='nr_resets' type-id='type-id-10' visibility='default' filepath='include/linux/reset-controller.h' line='78' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='reset_control_ops' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/reset-controller.h' line='18' column='1' id='type-id-3440'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='reset' type-id='type-id-3441' visibility='default' filepath='include/linux/reset-controller.h' line='19' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='assert' type-id='type-id-3441' visibility='default' filepath='include/linux/reset-controller.h' line='20' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='deassert' type-id='type-id-3441' visibility='default' filepath='include/linux/reset-controller.h' line='21' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='status' type-id='type-id-3441' visibility='default' filepath='include/linux/reset-controller.h' line='22' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='reset_control' size-in-bits='384' is-struct='yes' visibility='default' filepath='drivers/reset/core.c' line='43' column='1' id='type-id-3442'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='rcdev' type-id='type-id-3443' visibility='default' filepath='drivers/reset/core.c' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='drivers/reset/core.c' line='45' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='id' type-id='type-id-10' visibility='default' filepath='drivers/reset/core.c' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='refcnt' type-id='type-id-771' visibility='default' filepath='drivers/reset/core.c' line='47' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='shared' type-id='type-id-211' visibility='default' filepath='drivers/reset/core.c' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='264'>
+          <var-decl name='array' type-id='type-id-211' visibility='default' filepath='drivers/reset/core.c' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='deassert_count' type-id='type-id-137' visibility='default' filepath='drivers/reset/core.c' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='triggered_count' type-id='type-id-137' visibility='default' filepath='drivers/reset/core.c' line='51' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-3440' const='yes' id='type-id-3444'/>
+      <pointer-type-def type-id='type-id-3444' size-in-bits='64' id='type-id-3438'/>
+      <pointer-type-def type-id='type-id-3445' size-in-bits='64' id='type-id-3439'/>
+      <pointer-type-def type-id='type-id-3446' size-in-bits='64' id='type-id-3441'/>
+      <pointer-type-def type-id='type-id-3442' size-in-bits='64' id='type-id-3447'/>
+      <pointer-type-def type-id='type-id-3437' size-in-bits='64' id='type-id-3443'/>
+      <function-decl name='devm_reset_controller_register' mangled-name='devm_reset_controller_register' filepath='drivers/reset/core.c' line='131' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_reset_controller_register'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/reset/core.c' line='131' column='1'/>
+        <parameter type-id='type-id-3443' name='rcdev' filepath='drivers/reset/core.c' line='132' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='reset_control_reset' mangled-name='reset_control_reset' filepath='drivers/reset/core.c' line='253' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='reset_control_reset'>
+        <parameter type-id='type-id-3447' name='rstc' filepath='drivers/reset/core.c' line='253' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='reset_control_assert' mangled-name='reset_control_assert' filepath='drivers/reset/core.c' line='302' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='reset_control_assert'>
+        <parameter type-id='type-id-3447' name='rstc' filepath='drivers/reset/core.c' line='302' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='reset_control_deassert' mangled-name='reset_control_deassert' filepath='drivers/reset/core.c' line='355' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='reset_control_deassert'>
+        <parameter type-id='type-id-3447' name='rstc' filepath='drivers/reset/core.c' line='355' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='reset_control_put' mangled-name='reset_control_put' filepath='drivers/reset/core.c' line='617' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='reset_control_put'>
+        <parameter type-id='type-id-3447' name='rstc' filepath='drivers/reset/core.c' line='617' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__devm_reset_control_get' mangled-name='__devm_reset_control_get' filepath='drivers/reset/core.c' line='638' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__devm_reset_control_get'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/reset/core.c' line='638' column='1'/>
+        <parameter type-id='type-id-24' name='id' filepath='drivers/reset/core.c' line='639' column='1'/>
+        <parameter type-id='type-id-11' name='index' filepath='drivers/reset/core.c' line='639' column='1'/>
+        <parameter type-id='type-id-211' name='shared' filepath='drivers/reset/core.c' line='639' column='1'/>
+        <parameter type-id='type-id-211' name='optional' filepath='drivers/reset/core.c' line='640' column='1'/>
+        <return type-id='type-id-3447'/>
+      </function-decl>
+      <function-decl name='of_reset_control_array_get' mangled-name='of_reset_control_array_get' filepath='drivers/reset/core.c' line='725' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_reset_control_array_get'>
+        <parameter type-id='type-id-81' name='np' filepath='drivers/reset/core.c' line='725' column='1'/>
+        <parameter type-id='type-id-211' name='shared' filepath='drivers/reset/core.c' line='725' column='1'/>
+        <parameter type-id='type-id-211' name='optional' filepath='drivers/reset/core.c' line='725' column='1'/>
+        <return type-id='type-id-3447'/>
+      </function-decl>
+      <function-decl name='devm_reset_control_array_get' mangled-name='devm_reset_control_array_get' filepath='drivers/reset/core.c' line='777' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_reset_control_array_get'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/reset/core.c' line='777' column='1'/>
+        <parameter type-id='type-id-211' name='shared' filepath='drivers/reset/core.c' line='777' column='1'/>
+        <parameter type-id='type-id-211' name='optional' filepath='drivers/reset/core.c' line='777' column='1'/>
+        <return type-id='type-id-3447'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-3445'>
+        <parameter type-id='type-id-3443'/>
+        <parameter type-id='type-id-2057'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3446'>
+        <parameter type-id='type-id-3443'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/reset/hisilicon/hi6220_reset.c' language='LANG_C89'>
+      <function-decl name='syscon_node_to_regmap' mangled-name='syscon_node_to_regmap' filepath='include/linux/mfd/syscon.h' line='24' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='syscon_node_to_regmap'>
+        <parameter type-id='type-id-81'/>
+        <return type-id='type-id-845'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/rtc/class.c' language='LANG_C89'>
+      <function-decl name='devm_rtc_device_register' mangled-name='devm_rtc_device_register' filepath='drivers/rtc/class.c' line='406' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_rtc_device_register'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/rtc/class.c' line='406' column='1'/>
+        <parameter type-id='type-id-24' name='name' filepath='drivers/rtc/class.c' line='407' column='1'/>
+        <parameter type-id='type-id-3448' name='ops' filepath='drivers/rtc/class.c' line='408' column='1'/>
+        <parameter type-id='type-id-19' name='owner' filepath='drivers/rtc/class.c' line='409' column='1'/>
+        <return type-id='type-id-3449'/>
+      </function-decl>
+      <function-decl name='devm_rtc_allocate_device' mangled-name='devm_rtc_allocate_device' filepath='drivers/rtc/class.c' line='460' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_rtc_allocate_device'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/rtc/class.c' line='460' column='1'/>
+        <return type-id='type-id-3449'/>
+      </function-decl>
+      <function-decl name='__rtc_register_device' mangled-name='__rtc_register_device' filepath='drivers/rtc/class.c' line='498' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__rtc_register_device'>
+        <parameter type-id='type-id-19' name='owner' filepath='drivers/rtc/class.c' line='498' column='1'/>
+        <parameter type-id='type-id-3449' name='rtc' filepath='drivers/rtc/class.c' line='498' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/rtc/hctosys.c' language='LANG_C89'>
+      <function-decl name='rtc_class_open' mangled-name='rtc_class_open' filepath='include/linux/rtc.h' line='197' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rtc_class_open'>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-3449'/>
+      </function-decl>
+      <function-decl name='rtc_class_close' mangled-name='rtc_class_close' filepath='include/linux/rtc.h' line='198' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rtc_class_close'>
+        <parameter type-id='type-id-3449'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/rtc/interface.c' language='LANG_C89'>
+      <function-decl name='rtc_update_irq' mangled-name='rtc_update_irq' filepath='drivers/rtc/interface.c' line='688' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rtc_update_irq'>
+        <parameter type-id='type-id-3449' name='rtc' filepath='drivers/rtc/interface.c' line='688' column='1'/>
+        <parameter type-id='type-id-100' name='num' filepath='drivers/rtc/interface.c' line='689' column='1'/>
+        <parameter type-id='type-id-100' name='events' filepath='drivers/rtc/interface.c' line='689' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/rtc/nvmem.c' language='LANG_C89'>
+      <class-decl name='nvmem_config' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/linux/nvmem-provider.h' line='50' column='1' id='type-id-3450'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/linux/nvmem-provider.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/nvmem-provider.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='id' type-id='type-id-11' visibility='default' filepath='include/linux/nvmem-provider.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='owner' type-id='type-id-161' visibility='default' filepath='include/linux/nvmem-provider.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='cells' type-id='type-id-3451' visibility='default' filepath='include/linux/nvmem-provider.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='ncells' type-id='type-id-11' visibility='default' filepath='include/linux/nvmem-provider.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='read_only' type-id='type-id-211' visibility='default' filepath='include/linux/nvmem-provider.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='360'>
+          <var-decl name='root_only' type-id='type-id-211' visibility='default' filepath='include/linux/nvmem-provider.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='reg_read' type-id='type-id-3452' visibility='default' filepath='include/linux/nvmem-provider.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='reg_write' type-id='type-id-3453' visibility='default' filepath='include/linux/nvmem-provider.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='size' type-id='type-id-11' visibility='default' filepath='include/linux/nvmem-provider.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='word_size' type-id='type-id-11' visibility='default' filepath='include/linux/nvmem-provider.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='stride' type-id='type-id-11' visibility='default' filepath='include/linux/nvmem-provider.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='priv' type-id='type-id-3' visibility='default' filepath='include/linux/nvmem-provider.h' line='64' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='compat' type-id='type-id-211' visibility='default' filepath='include/linux/nvmem-provider.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='base_dev' type-id='type-id-86' visibility='default' filepath='include/linux/nvmem-provider.h' line='67' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='nvmem_cell_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/nvmem-consumer.h' line='24' column='1' id='type-id-3454'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/nvmem-consumer.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='offset' type-id='type-id-10' visibility='default' filepath='include/linux/nvmem-consumer.h' line='26' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='bytes' type-id='type-id-10' visibility='default' filepath='include/linux/nvmem-consumer.h' line='27' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='bit_offset' type-id='type-id-10' visibility='default' filepath='include/linux/nvmem-consumer.h' line='28' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='nbits' type-id='type-id-10' visibility='default' filepath='include/linux/nvmem-consumer.h' line='29' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='nvmem_reg_read_t' type-id='type-id-3455' filepath='include/linux/nvmem-provider.h' line='20' column='1' id='type-id-3452'/>
+      <typedef-decl name='nvmem_reg_write_t' type-id='type-id-3455' filepath='include/linux/nvmem-provider.h' line='22' column='1' id='type-id-3453'/>
+      <qualified-type-def type-id='type-id-3454' const='yes' id='type-id-3456'/>
+      <pointer-type-def type-id='type-id-3456' size-in-bits='64' id='type-id-3451'/>
+      <qualified-type-def type-id='type-id-3450' const='yes' id='type-id-3457'/>
+      <pointer-type-def type-id='type-id-3457' size-in-bits='64' id='type-id-3103'/>
+      <pointer-type-def type-id='type-id-3458' size-in-bits='64' id='type-id-3455'/>
+      <function-decl name='nvmem_register' mangled-name='nvmem_register' filepath='include/linux/nvmem-provider.h' line='72' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nvmem_register'>
+        <parameter type-id='type-id-3103'/>
+        <return type-id='type-id-3104'/>
+      </function-decl>
+      <function-decl name='nvmem_unregister' mangled-name='nvmem_unregister' filepath='include/linux/nvmem-provider.h' line='73' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nvmem_unregister'>
+        <parameter type-id='type-id-3104'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='nvmem_device_read' mangled-name='nvmem_device_read' filepath='include/linux/nvmem-consumer.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nvmem_device_read'>
+        <parameter type-id='type-id-3104'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='nvmem_device_write' mangled-name='nvmem_device_write' filepath='include/linux/nvmem-consumer.h' line='51' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nvmem_device_write'>
+        <parameter type-id='type-id-3104'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-3458'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/rtc/rtc-lib.c' language='LANG_C89'>
+      <function-decl name='rtc_time64_to_tm' mangled-name='rtc_time64_to_tm' filepath='drivers/rtc/rtc-lib.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rtc_time64_to_tm'>
+        <parameter type-id='type-id-3459' name='time' filepath='drivers/rtc/rtc-lib.c' line='53' column='1'/>
+        <parameter type-id='type-id-3460' name='tm' filepath='drivers/rtc/rtc-lib.c' line='53' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='rtc_valid_tm' mangled-name='rtc_valid_tm' filepath='drivers/rtc/rtc-lib.c' line='98' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rtc_valid_tm'>
+        <parameter type-id='type-id-3460' name='tm' filepath='drivers/rtc/rtc-lib.c' line='98' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='rtc_tm_to_time64' mangled-name='rtc_tm_to_time64' filepath='drivers/rtc/rtc-lib.c' line='117' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rtc_tm_to_time64'>
+        <parameter type-id='type-id-3460' name='tm' filepath='drivers/rtc/rtc-lib.c' line='117' column='1'/>
+        <return type-id='type-id-3459'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/scsi/ufs/ufshcd-pltfrm.c' language='LANG_C89'>
+      <function-decl name='ufshcd_pltfrm_suspend' mangled-name='ufshcd_pltfrm_suspend' filepath='drivers/scsi/ufs/ufshcd-pltfrm.c' line='232' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ufshcd_pltfrm_suspend'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/scsi/ufs/ufshcd-pltfrm.c' line='232' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='ufshcd_pltfrm_resume' mangled-name='ufshcd_pltfrm_resume' filepath='drivers/scsi/ufs/ufshcd-pltfrm.c' line='245' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ufshcd_pltfrm_resume'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/scsi/ufs/ufshcd-pltfrm.c' line='245' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='ufshcd_pltfrm_runtime_suspend' mangled-name='ufshcd_pltfrm_runtime_suspend' filepath='drivers/scsi/ufs/ufshcd-pltfrm.c' line='251' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ufshcd_pltfrm_runtime_suspend'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/scsi/ufs/ufshcd-pltfrm.c' line='251' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='ufshcd_pltfrm_runtime_resume' mangled-name='ufshcd_pltfrm_runtime_resume' filepath='drivers/scsi/ufs/ufshcd-pltfrm.c' line='257' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ufshcd_pltfrm_runtime_resume'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/scsi/ufs/ufshcd-pltfrm.c' line='257' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='ufshcd_pltfrm_runtime_idle' mangled-name='ufshcd_pltfrm_runtime_idle' filepath='drivers/scsi/ufs/ufshcd-pltfrm.c' line='263' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ufshcd_pltfrm_runtime_idle'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/scsi/ufs/ufshcd-pltfrm.c' line='263' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='ufshcd_pltfrm_shutdown' mangled-name='ufshcd_pltfrm_shutdown' filepath='drivers/scsi/ufs/ufshcd-pltfrm.c' line='271' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ufshcd_pltfrm_shutdown'>
+        <parameter type-id='type-id-568' name='pdev' filepath='drivers/scsi/ufs/ufshcd-pltfrm.c' line='271' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='ufshcd_pltfrm_init' mangled-name='ufshcd_pltfrm_init' filepath='drivers/scsi/ufs/ufshcd-pltfrm.c' line='299' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ufshcd_pltfrm_init'>
+        <parameter type-id='type-id-568' name='pdev' filepath='drivers/scsi/ufs/ufshcd-pltfrm.c' line='299' column='1'/>
+        <parameter type-id='type-id-3461' name='vops' filepath='drivers/scsi/ufs/ufshcd-pltfrm.c' line='300' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/scsi/ufs/ufshcd.c' language='LANG_C89'>
+
+      <array-type-def dimensions='1' type-id='type-id-3462' size-in-bits='1024' id='type-id-3463'>
+        <subrange length='32' type-id='type-id-5' id='type-id-2319'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-3462' size-in-bits='256' id='type-id-3464'>
+        <subrange length='8' type-id='type-id-5' id='type-id-1953'/>
+
+      </array-type-def>
+      <class-decl name='blk_mq_tags' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3465'/>
+      <class-decl name='devfreq_governor' size-in-bits='448' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-882'/>
+      <class-decl name='scsi_device_handler' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3466'/>
+      <class-decl name='scsi_host_cmd_pool' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3467'/>
+      <class-decl name='scsi_transport_template' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3468'/>
+      <array-type-def dimensions='1' type-id='type-id-585' size-in-bits='512' id='type-id-3469'>
+        <subrange length='8' type-id='type-id-5' id='type-id-1953'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-9' size-in-bits='256' id='type-id-3470'>
+        <subrange length='8' type-id='type-id-5' id='type-id-1953'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='144' id='type-id-3471'>
+        <subrange length='18' type-id='type-id-5' id='type-id-3472'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='4096' id='type-id-3473'>
+        <subrange length='512' type-id='type-id-5' id='type-id-3474'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='448' id='type-id-3475'>
+        <subrange length='56' type-id='type-id-5' id='type-id-3476'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-271' size-in-bits='128' id='type-id-3477'>
+        <subrange length='16' type-id='type-id-5' id='type-id-195'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-271' size-in-bits='infinite' id='type-id-1045'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <class-decl name='devfreq' size-in-bits='13760' is-struct='yes' visibility='default' filepath='include/linux/devfreq.h' line='148' column='1' id='type-id-3478'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='node' type-id='type-id-8' visibility='default' filepath='include/linux/devfreq.h' line='149' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='lock' type-id='type-id-407' visibility='default' filepath='include/linux/devfreq.h' line='151' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='include/linux/devfreq.h' line='152' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6592'>
+          <var-decl name='profile' type-id='type-id-889' visibility='default' filepath='include/linux/devfreq.h' line='153' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6656'>
+          <var-decl name='governor' type-id='type-id-3479' visibility='default' filepath='include/linux/devfreq.h' line='154' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6720'>
+          <var-decl name='governor_name' type-id='type-id-847' visibility='default' filepath='include/linux/devfreq.h' line='155' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6848'>
+          <var-decl name='nb' type-id='type-id-101' visibility='default' filepath='include/linux/devfreq.h' line='156' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7040'>
+          <var-decl name='work' type-id='type-id-370' visibility='default' filepath='include/linux/devfreq.h' line='157' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7744'>
+          <var-decl name='previous_freq' type-id='type-id-100' visibility='default' filepath='include/linux/devfreq.h' line='159' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7808'>
+          <var-decl name='last_status' type-id='type-id-3480' visibility='default' filepath='include/linux/devfreq.h' line='160' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8064'>
+          <var-decl name='data' type-id='type-id-3' visibility='default' filepath='include/linux/devfreq.h' line='162' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8128'>
+          <var-decl name='min_freq' type-id='type-id-100' visibility='default' filepath='include/linux/devfreq.h' line='164' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8192'>
+          <var-decl name='max_freq' type-id='type-id-100' visibility='default' filepath='include/linux/devfreq.h' line='165' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8256'>
+          <var-decl name='scaling_min_freq' type-id='type-id-100' visibility='default' filepath='include/linux/devfreq.h' line='166' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8320'>
+          <var-decl name='scaling_max_freq' type-id='type-id-100' visibility='default' filepath='include/linux/devfreq.h' line='167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8384'>
+          <var-decl name='stop_polling' type-id='type-id-211' visibility='default' filepath='include/linux/devfreq.h' line='168' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8416'>
+          <var-decl name='total_trans' type-id='type-id-10' visibility='default' filepath='include/linux/devfreq.h' line='171' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8448'>
+          <var-decl name='trans_table' type-id='type-id-72' visibility='default' filepath='include/linux/devfreq.h' line='172' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8512'>
+          <var-decl name='time_in_state' type-id='type-id-76' visibility='default' filepath='include/linux/devfreq.h' line='173' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8576'>
+          <var-decl name='last_stat_updated' type-id='type-id-100' visibility='default' filepath='include/linux/devfreq.h' line='174' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8640'>
+          <var-decl name='transition_notifier_list' type-id='type-id-3481' visibility='default' filepath='include/linux/devfreq.h' line='176' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='devfreq_dev_profile' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/devfreq.h' line='98' column='1' id='type-id-3482'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='initial_freq' type-id='type-id-100' visibility='default' filepath='include/linux/devfreq.h' line='99' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='polling_ms' type-id='type-id-10' visibility='default' filepath='include/linux/devfreq.h' line='100' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='target' type-id='type-id-3483' visibility='default' filepath='include/linux/devfreq.h' line='102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='get_dev_status' type-id='type-id-3484' visibility='default' filepath='include/linux/devfreq.h' line='103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='get_cur_freq' type-id='type-id-3485' visibility='default' filepath='include/linux/devfreq.h' line='105' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='exit' type-id='type-id-1924' visibility='default' filepath='include/linux/devfreq.h' line='106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='freq_table' type-id='type-id-76' visibility='default' filepath='include/linux/devfreq.h' line='108' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='max_state' type-id='type-id-10' visibility='default' filepath='include/linux/devfreq.h' line='109' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='devfreq_dev_status' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/devfreq.h' line='54' column='1' id='type-id-3480'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='total_time' type-id='type-id-100' visibility='default' filepath='include/linux/devfreq.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='busy_time' type-id='type-id-100' visibility='default' filepath='include/linux/devfreq.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='current_frequency' type-id='type-id-100' visibility='default' filepath='include/linux/devfreq.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='private_data' type-id='type-id-3' visibility='default' filepath='include/linux/devfreq.h' line='59' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ufs_hba' size-in-bits='14592' is-struct='yes' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='546' column='1' id='type-id-3486'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mmio_base' type-id='type-id-3' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='547' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ucdl_base_addr' type-id='type-id-3487' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='550' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='utrdl_base_addr' type-id='type-id-3488' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='551' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='utmrdl_base_addr' type-id='type-id-3489' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='552' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='ucdl_dma_addr' type-id='type-id-210' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='555' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='utrdl_dma_addr' type-id='type-id-210' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='556' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='utmrdl_dma_addr' type-id='type-id-210' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='557' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='host' type-id='type-id-3490' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='559' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='560' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='sdev_ufs_device' type-id='type-id-3491' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='565' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='curr_dev_pwr_mode' type-id='type-id-3492' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='567' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='672'>
+          <var-decl name='uic_link_state' type-id='type-id-3493' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='568' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='rpm_lvl' type-id='type-id-3494' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='570' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='736'>
+          <var-decl name='spm_lvl' type-id='type-id-3494' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='572' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='rpm_lvl_attr' type-id='type-id-1028' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='573' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='spm_lvl_attr' type-id='type-id-1028' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='574' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='pm_op_in_progress' type-id='type-id-11' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='575' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1312'>
+          <var-decl name='ahit' type-id='type-id-9' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='578' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='lrb' type-id='type-id-3495' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='580' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='lrb_in_use' type-id='type-id-100' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='581' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='outstanding_tasks' type-id='type-id-100' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='583' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='outstanding_reqs' type-id='type-id-100' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='584' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='capabilities' type-id='type-id-9' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='586' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1632'>
+          <var-decl name='nutrs' type-id='type-id-11' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='587' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='nutmrs' type-id='type-id-11' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='588' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1696'>
+          <var-decl name='ufs_version' type-id='type-id-9' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='589' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='vops' type-id='type-id-3461' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='590' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='priv' type-id='type-id-3' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='591' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='crypto_vops' type-id='type-id-3496' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='592' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='sg_entry_size' type-id='type-id-125' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='593' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='irq' type-id='type-id-10' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='594' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2016'>
+          <var-decl name='is_irq_enabled' type-id='type-id-211' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='595' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='quirks' type-id='type-id-10' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='666' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2080'>
+          <var-decl name='dev_quirks' type-id='type-id-10' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='669' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='tm_wq' type-id='type-id-388' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='671' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='tm_tag_wq' type-id='type-id-388' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='672' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='tm_condition' type-id='type-id-100' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='673' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='tm_slots_in_use' type-id='type-id-100' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='674' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2624'>
+          <var-decl name='active_uic_cmd' type-id='type-id-3497' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='676' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2688'>
+          <var-decl name='uic_cmd_mutex' type-id='type-id-407' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='677' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2944'>
+          <var-decl name='uic_async_done' type-id='type-id-176' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='678' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3008'>
+          <var-decl name='ufshcd_state' type-id='type-id-9' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='680' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3040'>
+          <var-decl name='eh_flags' type-id='type-id-9' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='681' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3072'>
+          <var-decl name='intr_mask' type-id='type-id-9' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='682' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3104'>
+          <var-decl name='ee_ctrl_mask' type-id='type-id-289' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='683' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3120'>
+          <var-decl name='is_powered' type-id='type-id-211' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='684' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3128'>
+          <var-decl name='is_init_prefetch' type-id='type-id-211' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='685' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3136'>
+          <var-decl name='init_prefetch_data' type-id='type-id-3498' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='686' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3200'>
+          <var-decl name='eh_work' type-id='type-id-149' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='689' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3456'>
+          <var-decl name='eeh_work' type-id='type-id-149' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='690' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3712'>
+          <var-decl name='errors' type-id='type-id-9' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='693' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3744'>
+          <var-decl name='uic_error' type-id='type-id-9' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='694' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3776'>
+          <var-decl name='saved_err' type-id='type-id-9' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='695' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3808'>
+          <var-decl name='saved_uic_err' type-id='type-id-9' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='696' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3840'>
+          <var-decl name='ufs_stats' type-id='type-id-3499' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='697' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8128'>
+          <var-decl name='silence_err_logs' type-id='type-id-211' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='698' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8192'>
+          <var-decl name='dev_cmd' type-id='type-id-3500' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='701' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9216'>
+          <var-decl name='last_dme_cmd_tstamp' type-id='type-id-585' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='702' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9280'>
+          <var-decl name='dev_info' type-id='type-id-3501' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='705' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9296'>
+          <var-decl name='auto_bkops_enabled' type-id='type-id-211' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='706' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9344'>
+          <var-decl name='vreg_info' type-id='type-id-3502' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='707' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9600'>
+          <var-decl name='clk_list_head' type-id='type-id-8' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='708' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9728'>
+          <var-decl name='wlun_dev_clr_ua' type-id='type-id-211' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='710' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9760'>
+          <var-decl name='req_abort_count' type-id='type-id-11' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='713' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9792'>
+          <var-decl name='lanes_per_direction' type-id='type-id-9' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='716' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9824'>
+          <var-decl name='pwr_info' type-id='type-id-3503' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='717' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10048'>
+          <var-decl name='max_pwr_info' type-id='type-id-3504' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='718' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10304'>
+          <var-decl name='clk_gating' type-id='type-id-3505' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='720' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12096'>
+          <var-decl name='caps' type-id='type-id-9' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='722' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12160'>
+          <var-decl name='devfreq' type-id='type-id-888' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='757' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12224'>
+          <var-decl name='clk_scaling' type-id='type-id-3506' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='758' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13632'>
+          <var-decl name='is_sys_suspended' type-id='type-id-211' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='759' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13664'>
+          <var-decl name='urgent_bkops_lvl' type-id='type-id-3507' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='761' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13696'>
+          <var-decl name='is_urgent_bkops_lvl_checked' type-id='type-id-211' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='762' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13760'>
+          <var-decl name='clk_scaling_lock' type-id='type-id-139' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='764' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14080'>
+          <var-decl name='desc_size' type-id='type-id-3508' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='765' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14304'>
+          <var-decl name='scsi_block_reqs_cnt' type-id='type-id-137' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='766' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14336'>
+          <var-decl name='crypto_capabilities' type-id='type-id-3509' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='770' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14400'>
+          <var-decl name='crypto_cap_array' type-id='type-id-3510' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='771' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14464'>
+          <var-decl name='crypto_cfg_register' type-id='type-id-9' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='772' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14528'>
+          <var-decl name='ksm' type-id='type-id-3511' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='773' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='utp_transfer_cmd_desc' size-in-bits='8192' is-struct='yes' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='456' column='1' id='type-id-3512'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='command_upiu' type-id='type-id-3473' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='457' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4096'>
+          <var-decl name='response_upiu' type-id='type-id-3473' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='458' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8192'>
+          <var-decl name='prd_table' type-id='type-id-3513' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='459' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='utp_transfer_req_desc' size-in-bits='256' is-struct='yes' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='489' column='1' id='type-id-3514'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='header' type-id='type-id-3515' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='492' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='command_desc_base_addr_lo' type-id='type-id-3462' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='495' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='command_desc_base_addr_hi' type-id='type-id-3462' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='496' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='response_upiu_length' type-id='type-id-1958' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='499' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='208'>
+          <var-decl name='response_upiu_offset' type-id='type-id-1958' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='500' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='prd_table_length' type-id='type-id-1958' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='503' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='240'>
+          <var-decl name='prd_table_offset' type-id='type-id-1958' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='504' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='request_desc_header' size-in-bits='128' is-struct='yes' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='472' column='1' id='type-id-3515'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dword_0' type-id='type-id-3462' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='473' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='dword_1' type-id='type-id-3462' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='474' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dword_2' type-id='type-id-3462' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='475' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='dword_3' type-id='type-id-3462' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='476' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='utp_task_req_desc' size-in-bits='640' is-struct='yes' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='513' column='1' id='type-id-3516'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='header' type-id='type-id-3515' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='516' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='task_req_upiu' type-id='type-id-3464' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='519' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='task_rsp_upiu' type-id='type-id-3464' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='522' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='Scsi_Host' size-in-bits='16320' is-struct='yes' visibility='default' filepath='include/scsi/scsi_host.h' line='526' column='1' id='type-id-3517'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='__devices' type-id='type-id-8' visibility='default' filepath='include/scsi/scsi_host.h' line='535' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='__targets' type-id='type-id-8' visibility='default' filepath='include/scsi/scsi_host.h' line='536' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='starved_list' type-id='type-id-8' visibility='default' filepath='include/scsi/scsi_host.h' line='538' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='default_lock' type-id='type-id-106' visibility='default' filepath='include/scsi/scsi_host.h' line='540' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='host_lock' type-id='type-id-446' visibility='default' filepath='include/scsi/scsi_host.h' line='541' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='scan_mutex' type-id='type-id-407' visibility='default' filepath='include/scsi/scsi_host.h' line='543' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='eh_cmd_q' type-id='type-id-8' visibility='default' filepath='include/scsi/scsi_host.h' line='545' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='ehandler' type-id='type-id-118' visibility='default' filepath='include/scsi/scsi_host.h' line='546' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='eh_action' type-id='type-id-176' visibility='default' filepath='include/scsi/scsi_host.h' line='547' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='host_wait' type-id='type-id-388' visibility='default' filepath='include/scsi/scsi_host.h' line='549' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='hostt' type-id='type-id-3518' visibility='default' filepath='include/scsi/scsi_host.h' line='550' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='transportt' type-id='type-id-3519' visibility='default' filepath='include/scsi/scsi_host.h' line='551' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='' type-id='type-id-3520' visibility='default' filepath='include/scsi/scsi_host.h' line='557' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='host_busy' type-id='type-id-137' visibility='default' filepath='include/scsi/scsi_host.h' line='562' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2272'>
+          <var-decl name='host_blocked' type-id='type-id-137' visibility='default' filepath='include/scsi/scsi_host.h' line='563' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='host_failed' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_host.h' line='565' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2336'>
+          <var-decl name='host_eh_scheduled' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_host.h' line='567' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='host_no' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_host.h' line='569' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2400'>
+          <var-decl name='eh_deadline' type-id='type-id-11' visibility='default' filepath='include/scsi/scsi_host.h' line='572' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='last_reset' type-id='type-id-100' visibility='default' filepath='include/scsi/scsi_host.h' line='573' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='max_channel' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_host.h' line='582' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2528'>
+          <var-decl name='max_id' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_host.h' line='583' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='max_lun' type-id='type-id-134' visibility='default' filepath='include/scsi/scsi_host.h' line='584' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2624'>
+          <var-decl name='unique_id' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_host.h' line='593' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2656'>
+          <var-decl name='max_cmd_len' type-id='type-id-288' visibility='default' filepath='include/scsi/scsi_host.h' line='602' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2688'>
+          <var-decl name='this_id' type-id='type-id-11' visibility='default' filepath='include/scsi/scsi_host.h' line='604' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2720'>
+          <var-decl name='can_queue' type-id='type-id-11' visibility='default' filepath='include/scsi/scsi_host.h' line='605' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2752'>
+          <var-decl name='cmd_per_lun' type-id='type-id-3521' visibility='default' filepath='include/scsi/scsi_host.h' line='606' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2768'>
+          <var-decl name='sg_tablesize' type-id='type-id-288' visibility='default' filepath='include/scsi/scsi_host.h' line='607' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2784'>
+          <var-decl name='sg_prot_tablesize' type-id='type-id-288' visibility='default' filepath='include/scsi/scsi_host.h' line='608' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2816'>
+          <var-decl name='max_sectors' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_host.h' line='609' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2880'>
+          <var-decl name='dma_boundary' type-id='type-id-100' visibility='default' filepath='include/scsi/scsi_host.h' line='610' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2944'>
+          <var-decl name='nr_hw_queues' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_host.h' line='618' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3008'>
+          <var-decl name='cmd_serial_number' type-id='type-id-100' visibility='default' filepath='include/scsi/scsi_host.h' line='623' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='active_mode' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_host.h' line='625' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='29'>
+          <var-decl name='unchecked_isa_dma' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_host.h' line='626' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='28'>
+          <var-decl name='use_clustering' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_host.h' line='627' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='27'>
+          <var-decl name='host_self_blocked' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_host.h' line='633' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='26'>
+          <var-decl name='reverse_ordering' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_host.h' line='640' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='25'>
+          <var-decl name='tmf_in_progress' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_host.h' line='643' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='async_scan' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_host.h' line='646' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='23'>
+          <var-decl name='eh_noresume' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_host.h' line='649' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='22'>
+          <var-decl name='no_write_same' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_host.h' line='652' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='21'>
+          <var-decl name='use_blk_mq' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_host.h' line='654' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='20'>
+          <var-decl name='use_cmd_list' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_host.h' line='655' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='19'>
+          <var-decl name='short_inquiry' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_host.h' line='658' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3088'>
+          <var-decl name='work_q_name' type-id='type-id-1816' visibility='default' filepath='include/scsi/scsi_host.h' line='663' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3264'>
+          <var-decl name='work_q' type-id='type-id-2154' visibility='default' filepath='include/scsi/scsi_host.h' line='664' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3328'>
+          <var-decl name='tmf_work_q' type-id='type-id-2154' visibility='default' filepath='include/scsi/scsi_host.h' line='669' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='no_scsi2_lun_in_cdb' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_host.h' line='672' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3424'>
+          <var-decl name='max_host_blocked' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_host.h' line='677' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3456'>
+          <var-decl name='prot_capabilities' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_host.h' line='680' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3488'>
+          <var-decl name='prot_guard_type' type-id='type-id-271' visibility='default' filepath='include/scsi/scsi_host.h' line='681' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3520'>
+          <var-decl name='base' type-id='type-id-100' visibility='default' filepath='include/scsi/scsi_host.h' line='684' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3584'>
+          <var-decl name='io_port' type-id='type-id-100' visibility='default' filepath='include/scsi/scsi_host.h' line='685' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3648'>
+          <var-decl name='n_io_port' type-id='type-id-271' visibility='default' filepath='include/scsi/scsi_host.h' line='686' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3656'>
+          <var-decl name='dma_channel' type-id='type-id-271' visibility='default' filepath='include/scsi/scsi_host.h' line='687' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3680'>
+          <var-decl name='irq' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_host.h' line='688' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3712'>
+          <var-decl name='shost_state' type-id='type-id-3522' visibility='default' filepath='include/scsi/scsi_host.h' line='691' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3776'>
+          <var-decl name='shost_gendev' type-id='type-id-294' visibility='default' filepath='include/scsi/scsi_host.h' line='694' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9984'>
+          <var-decl name='shost_dev' type-id='type-id-294' visibility='default' filepath='include/scsi/scsi_host.h' line='694' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16192'>
+          <var-decl name='shost_data' type-id='type-id-3' visibility='default' filepath='include/scsi/scsi_host.h' line='700' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16256'>
+          <var-decl name='dma_dev' type-id='type-id-86' visibility='default' filepath='include/scsi/scsi_host.h' line='706' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16320'>
+          <var-decl name='hostdata' type-id='type-id-3523' visibility='default' filepath='include/scsi/scsi_host.h' line='713' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/iocontext.h' line='82' column='1' id='type-id-3524'>
+        <data-member access='private'>
+          <var-decl name='q_node' type-id='type-id-8' visibility='default' filepath='include/linux/iocontext.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='__rcu_icq_cache' type-id='type-id-3525' visibility='default' filepath='include/linux/iocontext.h' line='84' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='scsi_host_template' size-in-bits='2560' is-struct='yes' visibility='default' filepath='include/scsi/scsi_host.h' line='50' column='1' id='type-id-3526'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='module' type-id='type-id-19' visibility='default' filepath='include/scsi/scsi_host.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/scsi/scsi_host.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='info' type-id='type-id-3527' visibility='default' filepath='include/scsi/scsi_host.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='ioctl' type-id='type-id-3528' visibility='default' filepath='include/scsi/scsi_host.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='compat_ioctl' type-id='type-id-3528' visibility='default' filepath='include/scsi/scsi_host.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='queuecommand' type-id='type-id-3529' visibility='default' filepath='include/scsi/scsi_host.h' line='113' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='eh_abort_handler' type-id='type-id-3530' visibility='default' filepath='include/scsi/scsi_host.h' line='133' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='eh_device_reset_handler' type-id='type-id-3530' visibility='default' filepath='include/scsi/scsi_host.h' line='134' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='eh_target_reset_handler' type-id='type-id-3530' visibility='default' filepath='include/scsi/scsi_host.h' line='135' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='eh_bus_reset_handler' type-id='type-id-3530' visibility='default' filepath='include/scsi/scsi_host.h' line='136' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='eh_host_reset_handler' type-id='type-id-3530' visibility='default' filepath='include/scsi/scsi_host.h' line='137' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='slave_alloc' type-id='type-id-3531' visibility='default' filepath='include/scsi/scsi_host.h' line='165' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='slave_configure' type-id='type-id-3531' visibility='default' filepath='include/scsi/scsi_host.h' line='196' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='slave_destroy' type-id='type-id-3532' visibility='default' filepath='include/scsi/scsi_host.h' line='207' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='target_alloc' type-id='type-id-3533' visibility='default' filepath='include/scsi/scsi_host.h' line='221' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='target_destroy' type-id='type-id-3534' visibility='default' filepath='include/scsi/scsi_host.h' line='231' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='scan_finished' type-id='type-id-3535' visibility='default' filepath='include/scsi/scsi_host.h' line='242' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='scan_start' type-id='type-id-3536' visibility='default' filepath='include/scsi/scsi_host.h' line='251' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='change_queue_depth' type-id='type-id-3537' visibility='default' filepath='include/scsi/scsi_host.h' line='264' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='map_queues' type-id='type-id-3538' visibility='default' filepath='include/scsi/scsi_host.h' line='272' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='bios_param' type-id='type-id-3539' visibility='default' filepath='include/scsi/scsi_host.h' line='282' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='unlock_native_capacity' type-id='type-id-3532' visibility='default' filepath='include/scsi/scsi_host.h' line='291' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='show_info' type-id='type-id-3540' visibility='default' filepath='include/scsi/scsi_host.h' line='300' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='write_info' type-id='type-id-3541' visibility='default' filepath='include/scsi/scsi_host.h' line='301' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='eh_timed_out' type-id='type-id-3542' visibility='default' filepath='include/scsi/scsi_host.h' line='314' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='host_reset' type-id='type-id-3543' visibility='default' filepath='include/scsi/scsi_host.h' line='324' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='proc_name' type-id='type-id-24' visibility='default' filepath='include/scsi/scsi_host.h' line='332' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='proc_dir' type-id='type-id-286' visibility='default' filepath='include/scsi/scsi_host.h' line='338' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='can_queue' type-id='type-id-11' visibility='default' filepath='include/scsi/scsi_host.h' line='345' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1824'>
+          <var-decl name='this_id' type-id='type-id-11' visibility='default' filepath='include/scsi/scsi_host.h' line='354' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='sg_tablesize' type-id='type-id-288' visibility='default' filepath='include/scsi/scsi_host.h' line='360' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1872'>
+          <var-decl name='sg_prot_tablesize' type-id='type-id-288' visibility='default' filepath='include/scsi/scsi_host.h' line='361' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1888'>
+          <var-decl name='max_sectors' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_host.h' line='366' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='dma_boundary' type-id='type-id-100' visibility='default' filepath='include/scsi/scsi_host.h' line='372' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='cmd_per_lun' type-id='type-id-3521' visibility='default' filepath='include/scsi/scsi_host.h' line='391' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2000'>
+          <var-decl name='present' type-id='type-id-271' visibility='default' filepath='include/scsi/scsi_host.h' line='397' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2016'>
+          <var-decl name='tag_alloc_policy' type-id='type-id-11' visibility='default' filepath='include/scsi/scsi_host.h' line='400' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='track_queue_depth' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_host.h' line='405' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='29'>
+          <var-decl name='supported_mode' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_host.h' line='410' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='28'>
+          <var-decl name='unchecked_isa_dma' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_host.h' line='415' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='27'>
+          <var-decl name='use_clustering' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_host.h' line='425' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='26'>
+          <var-decl name='emulated' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_host.h' line='430' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='25'>
+          <var-decl name='skip_settle_delay' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_host.h' line='435' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='no_write_same' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_host.h' line='438' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='23'>
+          <var-decl name='force_blk_mq' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_host.h' line='441' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2080'>
+          <var-decl name='max_host_blocked' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_host.h' line='446' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='shost_attrs' type-id='type-id-3544' visibility='default' filepath='include/scsi/scsi_host.h' line='460' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='sdev_attrs' type-id='type-id-3544' visibility='default' filepath='include/scsi/scsi_host.h' line='465' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='sdev_groups' type-id='type-id-298' visibility='default' filepath='include/scsi/scsi_host.h' line='471' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='vendor_id' type-id='type-id-134' visibility='default' filepath='include/scsi/scsi_host.h' line='480' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='cmd_size' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_host.h' line='485' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='cmd_pool' type-id='type-id-3545' visibility='default' filepath='include/scsi/scsi_host.h' line='486' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='rpm_autosuspend_delay' type-id='type-id-11' visibility='default' filepath='include/scsi/scsi_host.h' line='489' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='scsi_device' size-in-bits='16512' is-struct='yes' visibility='default' filepath='include/scsi/scsi_device.h' line='101' column='1' id='type-id-3546'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='host' type-id='type-id-3490' visibility='default' filepath='include/scsi/scsi_device.h' line='102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='request_queue' type-id='type-id-268' visibility='default' filepath='include/scsi/scsi_device.h' line='103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='siblings' type-id='type-id-8' visibility='default' filepath='include/scsi/scsi_device.h' line='106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='same_target_siblings' type-id='type-id-8' visibility='default' filepath='include/scsi/scsi_device.h' line='107' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='device_busy' type-id='type-id-137' visibility='default' filepath='include/scsi/scsi_device.h' line='109' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='device_blocked' type-id='type-id-137' visibility='default' filepath='include/scsi/scsi_device.h' line='110' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='list_lock' type-id='type-id-106' visibility='default' filepath='include/scsi/scsi_device.h' line='112' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='cmd_list' type-id='type-id-8' visibility='default' filepath='include/scsi/scsi_device.h' line='113' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='starved_entry' type-id='type-id-8' visibility='default' filepath='include/scsi/scsi_device.h' line='114' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='queue_depth' type-id='type-id-288' visibility='default' filepath='include/scsi/scsi_device.h' line='115' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='784'>
+          <var-decl name='max_queue_depth' type-id='type-id-288' visibility='default' filepath='include/scsi/scsi_device.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='800'>
+          <var-decl name='last_queue_full_depth' type-id='type-id-288' visibility='default' filepath='include/scsi/scsi_device.h' line='117' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='816'>
+          <var-decl name='last_queue_full_count' type-id='type-id-288' visibility='default' filepath='include/scsi/scsi_device.h' line='118' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='last_queue_full_time' type-id='type-id-100' visibility='default' filepath='include/scsi/scsi_device.h' line='119' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='queue_ramp_up_period' type-id='type-id-100' visibility='default' filepath='include/scsi/scsi_device.h' line='120' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='last_queue_ramp_up' type-id='type-id-100' visibility='default' filepath='include/scsi/scsi_device.h' line='123' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='id' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='125' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1056'>
+          <var-decl name='channel' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='125' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='lun' type-id='type-id-134' visibility='default' filepath='include/scsi/scsi_device.h' line='126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='manufacturer' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='127' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1184'>
+          <var-decl name='sector_size' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='129' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='hostdata' type-id='type-id-3' visibility='default' filepath='include/scsi/scsi_device.h' line='131' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='type' type-id='type-id-271' visibility='default' filepath='include/scsi/scsi_device.h' line='132' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1288'>
+          <var-decl name='scsi_level' type-id='type-id-475' visibility='default' filepath='include/scsi/scsi_device.h' line='133' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1296'>
+          <var-decl name='inq_periph_qual' type-id='type-id-475' visibility='default' filepath='include/scsi/scsi_device.h' line='134' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='inquiry_mutex' type-id='type-id-407' visibility='default' filepath='include/scsi/scsi_device.h' line='135' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='inquiry_len' type-id='type-id-271' visibility='default' filepath='include/scsi/scsi_device.h' line='136' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='inquiry' type-id='type-id-1047' visibility='default' filepath='include/scsi/scsi_device.h' line='137' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='vendor' type-id='type-id-24' visibility='default' filepath='include/scsi/scsi_device.h' line='138' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='model' type-id='type-id-24' visibility='default' filepath='include/scsi/scsi_device.h' line='139' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='rev' type-id='type-id-24' visibility='default' filepath='include/scsi/scsi_device.h' line='140' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='vpd_pg83' type-id='type-id-3547' visibility='default' filepath='include/scsi/scsi_device.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='vpd_pg80' type-id='type-id-3547' visibility='default' filepath='include/scsi/scsi_device.h' line='144' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='current_tag' type-id='type-id-271' visibility='default' filepath='include/scsi/scsi_device.h' line='145' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='sdev_target' type-id='type-id-3548' visibility='default' filepath='include/scsi/scsi_device.h' line='146' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='sdev_bflags' type-id='type-id-3549' visibility='default' filepath='include/scsi/scsi_device.h' line='148' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='eh_timeout' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='152' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='removable' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='153' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='changed' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='154' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='29'>
+          <var-decl name='busy' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='155' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='28'>
+          <var-decl name='lockable' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='156' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='27'>
+          <var-decl name='locked' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='157' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='26'>
+          <var-decl name='borken' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='158' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='25'>
+          <var-decl name='disconnect' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='160' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='soft_reset' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='161' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='23'>
+          <var-decl name='sdtr' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='162' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='22'>
+          <var-decl name='wdtr' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='163' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='21'>
+          <var-decl name='ppr' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='164' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='20'>
+          <var-decl name='tagged_supported' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='165' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='19'>
+          <var-decl name='simple_tags' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='166' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='18'>
+          <var-decl name='was_reset' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='17'>
+          <var-decl name='expecting_cc_ua' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='169' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='use_10_for_rw' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='171' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15'>
+          <var-decl name='use_10_for_ms' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='172' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14'>
+          <var-decl name='no_report_opcodes' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='173' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13'>
+          <var-decl name='no_write_same' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='174' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12'>
+          <var-decl name='use_16_for_rw' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='175' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11'>
+          <var-decl name='skip_ms_page_8' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='176' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10'>
+          <var-decl name='skip_ms_page_3f' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='177' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9'>
+          <var-decl name='skip_vpd_pages' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='178' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='try_vpd_pages' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='179' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7'>
+          <var-decl name='use_192_bytes_for_3f' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='180' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6'>
+          <var-decl name='no_start_on_add' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='181' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5'>
+          <var-decl name='allow_restart' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='182' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4'>
+          <var-decl name='manage_start_stop' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='183' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3'>
+          <var-decl name='start_stop_pwr_cond' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='184' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2'>
+          <var-decl name='no_uld_attach' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='185' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1'>
+          <var-decl name='select_no_atn' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='186' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2272'>
+          <var-decl name='fix_capacity' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='187' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='guess_capacity' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='188' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='retry_hwerror' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='189' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='29'>
+          <var-decl name='last_sector_bug' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='190' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='28'>
+          <var-decl name='no_read_disc_info' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='192' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='27'>
+          <var-decl name='no_read_capacity_16' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='193' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='26'>
+          <var-decl name='try_rc_10_first' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='194' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='25'>
+          <var-decl name='security_supported' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='195' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='is_visible' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='196' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='23'>
+          <var-decl name='wce_default_on' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='197' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='22'>
+          <var-decl name='no_dif' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='198' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='21'>
+          <var-decl name='broken_fua' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='199' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='20'>
+          <var-decl name='lun_in_cdb' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='200' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='19'>
+          <var-decl name='unmap_limit_for_ws' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='201' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='18'>
+          <var-decl name='rpm_autosuspend' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='202' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2336'>
+          <var-decl name='disk_events_disable_depth' type-id='type-id-137' visibility='default' filepath='include/scsi/scsi_device.h' line='204' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='supported_events' type-id='type-id-930' visibility='default' filepath='include/scsi/scsi_device.h' line='206' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='pending_events' type-id='type-id-930' visibility='default' filepath='include/scsi/scsi_device.h' line='207' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='event_list' type-id='type-id-8' visibility='default' filepath='include/scsi/scsi_device.h' line='208' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2624'>
+          <var-decl name='event_work' type-id='type-id-149' visibility='default' filepath='include/scsi/scsi_device.h' line='209' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2880'>
+          <var-decl name='max_device_blocked' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='211' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2912'>
+          <var-decl name='iorequest_cnt' type-id='type-id-137' visibility='default' filepath='include/scsi/scsi_device.h' line='214' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2944'>
+          <var-decl name='iodone_cnt' type-id='type-id-137' visibility='default' filepath='include/scsi/scsi_device.h' line='215' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2976'>
+          <var-decl name='ioerr_cnt' type-id='type-id-137' visibility='default' filepath='include/scsi/scsi_device.h' line='216' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3008'>
+          <var-decl name='sdev_gendev' type-id='type-id-294' visibility='default' filepath='include/scsi/scsi_device.h' line='218' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9216'>
+          <var-decl name='sdev_dev' type-id='type-id-294' visibility='default' filepath='include/scsi/scsi_device.h' line='219' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15424'>
+          <var-decl name='ew' type-id='type-id-3550' visibility='default' filepath='include/scsi/scsi_device.h' line='221' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15680'>
+          <var-decl name='requeue_work' type-id='type-id-149' visibility='default' filepath='include/scsi/scsi_device.h' line='222' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15936'>
+          <var-decl name='handler' type-id='type-id-3551' visibility='default' filepath='include/scsi/scsi_device.h' line='224' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16000'>
+          <var-decl name='handler_data' type-id='type-id-3' visibility='default' filepath='include/scsi/scsi_device.h' line='225' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16064'>
+          <var-decl name='access_state' type-id='type-id-271' visibility='default' filepath='include/scsi/scsi_device.h' line='227' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16128'>
+          <var-decl name='state_mutex' type-id='type-id-407' visibility='default' filepath='include/scsi/scsi_device.h' line='228' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16384'>
+          <var-decl name='sdev_state' type-id='type-id-3552' visibility='default' filepath='include/scsi/scsi_device.h' line='229' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16448'>
+          <var-decl name='quiesced_by' type-id='type-id-118' visibility='default' filepath='include/scsi/scsi_device.h' line='230' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16512'>
+          <var-decl name='sdev_data' type-id='type-id-3523' visibility='default' filepath='include/scsi/scsi_device.h' line='231' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='scsi_vpd' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/scsi/scsi_device.h' line='95' column='1' id='type-id-3553'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/scsi/scsi_device.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='len' type-id='type-id-11' visibility='default' filepath='include/scsi/scsi_device.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='data' type-id='type-id-1045' visibility='default' filepath='include/scsi/scsi_device.h' line='98' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='scsi_target' size-in-bits='6912' is-struct='yes' visibility='default' filepath='include/scsi/scsi_device.h' line='280' column='1' id='type-id-3554'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='starget_sdev_user' type-id='type-id-3491' visibility='default' filepath='include/scsi/scsi_device.h' line='281' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='siblings' type-id='type-id-8' visibility='default' filepath='include/scsi/scsi_device.h' line='282' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='devices' type-id='type-id-8' visibility='default' filepath='include/scsi/scsi_device.h' line='283' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='include/scsi/scsi_device.h' line='284' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6528'>
+          <var-decl name='reap_ref' type-id='type-id-771' visibility='default' filepath='include/scsi/scsi_device.h' line='285' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6560'>
+          <var-decl name='channel' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='286' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6592'>
+          <var-decl name='id' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='287' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='create' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='289' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='single_lun' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='290' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='29'>
+          <var-decl name='pdt_1f_for_no_lun' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='293' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='28'>
+          <var-decl name='no_report_luns' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='295' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='27'>
+          <var-decl name='expecting_lun_change' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='297' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6656'>
+          <var-decl name='target_busy' type-id='type-id-137' visibility='default' filepath='include/scsi/scsi_device.h' line='301' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6688'>
+          <var-decl name='target_blocked' type-id='type-id-137' visibility='default' filepath='include/scsi/scsi_device.h' line='302' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6720'>
+          <var-decl name='can_queue' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='308' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6752'>
+          <var-decl name='max_target_blocked' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_device.h' line='309' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6784'>
+          <var-decl name='scsi_level' type-id='type-id-475' visibility='default' filepath='include/scsi/scsi_device.h' line='312' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6816'>
+          <var-decl name='state' type-id='type-id-3555' visibility='default' filepath='include/scsi/scsi_device.h' line='313' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6848'>
+          <var-decl name='hostdata' type-id='type-id-3' visibility='default' filepath='include/scsi/scsi_device.h' line='314' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6912'>
+          <var-decl name='starget_data' type-id='type-id-3523' visibility='default' filepath='include/scsi/scsi_device.h' line='315' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='scsi_target_state' filepath='include/scsi/scsi_device.h' line='267' column='1' id='type-id-3555'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='STARGET_CREATED' value='1'/>
+        <enumerator name='STARGET_RUNNING' value='2'/>
+        <enumerator name='STARGET_REMOVE' value='3'/>
+        <enumerator name='STARGET_CREATED_REMOVE' value='4'/>
+        <enumerator name='STARGET_DEL' value='5'/>
+      </enum-decl>
+      <typedef-decl name='blist_flags_t' type-id='type-id-1120' filepath='include/scsi/scsi_device.h' line='18' column='1' id='type-id-3549'/>
+      <class-decl name='execute_work' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/workqueue.h' line='168' column='1' id='type-id-3550'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='work' type-id='type-id-149' visibility='default' filepath='include/linux/workqueue.h' line='169' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='scsi_device_state' filepath='include/scsi/scsi_device.h' line='36' column='1' id='type-id-3552'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='SDEV_CREATED' value='1'/>
+        <enumerator name='SDEV_RUNNING' value='2'/>
+        <enumerator name='SDEV_CANCEL' value='3'/>
+        <enumerator name='SDEV_DEL' value='4'/>
+        <enumerator name='SDEV_QUIESCE' value='5'/>
+        <enumerator name='SDEV_OFFLINE' value='6'/>
+        <enumerator name='SDEV_TRANSPORT_OFFLINE' value='7'/>
+        <enumerator name='SDEV_BLOCK' value='8'/>
+        <enumerator name='SDEV_CREATED_BLOCK' value='9'/>
+      </enum-decl>
+      <class-decl name='scsi_cmnd' size-in-bits='3264' is-struct='yes' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='64' column='1' id='type-id-3556'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='req' type-id='type-id-3557' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='device' type-id='type-id-3491' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='eh_entry' type-id='type-id-8' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='abort_work' type-id='type-id-370' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='eh_eflags' type-id='type-id-11' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='serial_number' type-id='type-id-100' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='jiffies_at_alloc' type-id='type-id-100' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='retries' type-id='type-id-11' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='92' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1824'>
+          <var-decl name='allowed' type-id='type-id-11' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='prot_op' type-id='type-id-271' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1864'>
+          <var-decl name='prot_type' type-id='type-id-271' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1872'>
+          <var-decl name='prot_flags' type-id='type-id-271' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1888'>
+          <var-decl name='cmd_len' type-id='type-id-288' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='99' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='sc_data_direction' type-id='type-id-892' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='100' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='cmnd' type-id='type-id-1047' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='sdb' type-id='type-id-3558' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='107' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='prot_sdb' type-id='type-id-3559' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='108' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='underflow' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='110' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2336'>
+          <var-decl name='transfersize' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='113' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='request' type-id='type-id-269' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='119' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='sense_buffer' type-id='type-id-1047' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='122' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='scsi_done' type-id='type-id-3560' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='130' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='SCp' type-id='type-id-3561' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='136' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3072'>
+          <var-decl name='host_scribble' type-id='type-id-1047' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='138' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3136'>
+          <var-decl name='result' type-id='type-id-11' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='146' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3168'>
+          <var-decl name='flags' type-id='type-id-11' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='147' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3200'>
+          <var-decl name='tag' type-id='type-id-271' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='149' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='scsi_request' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/scsi/scsi_request.h' line='9' column='1' id='type-id-3557'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='__cmd' type-id='type-id-3477' visibility='default' filepath='include/scsi/scsi_request.h' line='10' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='cmd' type-id='type-id-1047' visibility='default' filepath='include/scsi/scsi_request.h' line='11' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='cmd_len' type-id='type-id-288' visibility='default' filepath='include/scsi/scsi_request.h' line='12' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='result' type-id='type-id-11' visibility='default' filepath='include/scsi/scsi_request.h' line='13' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='sense_len' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_request.h' line='14' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='resid_len' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_request.h' line='15' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='retries' type-id='type-id-11' visibility='default' filepath='include/scsi/scsi_request.h' line='16' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='sense' type-id='type-id-3' visibility='default' filepath='include/scsi/scsi_request.h' line='17' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='scsi_data_buffer' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='35' column='1' id='type-id-3558'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='table' type-id='type-id-671' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='length' type-id='type-id-10' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='resid' type-id='type-id-11' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='38' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='scsi_pointer' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='42' column='1' id='type-id-3561'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ptr' type-id='type-id-300' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='this_residual' type-id='type-id-11' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='buffer' type-id='type-id-33' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='45' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='buffers_residual' type-id='type-id-11' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='dma_handle' type-id='type-id-210' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='Status' type-id='type-id-1824' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='Message' type-id='type-id-1824' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='have_data_in' type-id='type-id-1824' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='sent_command' type-id='type-id-1824' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='phase' type-id='type-id-1824' visibility='default' filepath='include/scsi/scsi_cmnd.h' line='54' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__3' size-in-bits='896' is-anonymous='yes' visibility='default' filepath='include/scsi/scsi_host.h' line='557' column='1' id='type-id-3520'>
+        <data-member access='private'>
+          <var-decl name='bqt' type-id='type-id-3562' visibility='default' filepath='include/scsi/scsi_host.h' line='558' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='tag_set' type-id='type-id-404' visibility='default' filepath='include/scsi/scsi_host.h' line='559' column='1'/>
+        </data-member>
+      </union-decl>
+      <enum-decl name='scsi_host_state' filepath='include/scsi/scsi_host.h' line='516' column='1' id='type-id-3522'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='SHOST_CREATED' value='1'/>
+        <enumerator name='SHOST_RUNNING' value='2'/>
+        <enumerator name='SHOST_CANCEL' value='3'/>
+        <enumerator name='SHOST_DEL' value='4'/>
+        <enumerator name='SHOST_RECOVERY' value='5'/>
+        <enumerator name='SHOST_CANCEL_RECOVERY' value='6'/>
+        <enumerator name='SHOST_DEL_RECOVERY' value='7'/>
+      </enum-decl>
+      <enum-decl name='ufs_dev_pwr_mode' filepath='drivers/scsi/ufs/ufs.h' line='429' column='1' id='type-id-3492'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='UFS_ACTIVE_PWR_MODE' value='1'/>
+        <enumerator name='UFS_SLEEP_PWR_MODE' value='2'/>
+        <enumerator name='UFS_POWERDOWN_PWR_MODE' value='3'/>
+      </enum-decl>
+      <enum-decl name='uic_link_state' filepath='drivers/scsi/ufs/ufshcd.h' line='114' column='1' id='type-id-3493'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='UIC_LINK_OFF_STATE' value='0'/>
+        <enumerator name='UIC_LINK_ACTIVE_STATE' value='1'/>
+        <enumerator name='UIC_LINK_HIBERN8_STATE' value='2'/>
+      </enum-decl>
+      <enum-decl name='ufs_pm_level' filepath='drivers/scsi/ufs/ufshcd.h' line='135' column='1' id='type-id-3494'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='UFS_PM_LVL_0' value='0'/>
+        <enumerator name='UFS_PM_LVL_1' value='1'/>
+        <enumerator name='UFS_PM_LVL_2' value='2'/>
+        <enumerator name='UFS_PM_LVL_3' value='3'/>
+        <enumerator name='UFS_PM_LVL_4' value='4'/>
+        <enumerator name='UFS_PM_LVL_5' value='5'/>
+        <enumerator name='UFS_PM_LVL_MAX' value='6'/>
+      </enum-decl>
+      <class-decl name='ufshcd_lrb' size-in-bits='1152' is-struct='yes' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='175' column='1' id='type-id-3563'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='utr_descriptor_ptr' type-id='type-id-3488' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='176' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ucd_req_ptr' type-id='type-id-3564' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='177' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='ucd_rsp_ptr' type-id='type-id-3565' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='178' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='ucd_prdt_ptr' type-id='type-id-3566' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='179' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='utrd_dma_addr' type-id='type-id-210' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='181' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='ucd_req_dma_addr' type-id='type-id-210' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='182' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='ucd_rsp_dma_addr' type-id='type-id-210' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='183' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='ucd_prdt_dma_addr' type-id='type-id-210' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='184' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='cmd' type-id='type-id-3567' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='186' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='sense_buffer' type-id='type-id-67' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='187' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='sense_bufflen' type-id='type-id-10' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='188' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='672'>
+          <var-decl name='scsi_status' type-id='type-id-11' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='189' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='command_type' type-id='type-id-11' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='191' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='736'>
+          <var-decl name='task_tag' type-id='type-id-11' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='192' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='lun' type-id='type-id-53' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='193' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='776'>
+          <var-decl name='intr_cmd' type-id='type-id-211' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='194' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='issue_time_stamp' type-id='type-id-585' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='195' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='compl_time_stamp' type-id='type-id-585' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='196' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='crypto_enable' type-id='type-id-211' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='198' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='968'>
+          <var-decl name='crypto_key_slot' type-id='type-id-53' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='199' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='data_unit_num' type-id='type-id-134' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='200' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='req_abort_skip' type-id='type-id-211' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='203' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='utp_upiu_req' size-in-bits='256' is-struct='yes' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='486' column='1' id='type-id-3568'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='header' type-id='type-id-3569' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='487' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='' type-id='type-id-3570' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='488' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='utp_upiu_header' size-in-bits='96' is-struct='yes' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='441' column='1' id='type-id-3569'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dword_0' type-id='type-id-2085' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='442' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='dword_1' type-id='type-id-2085' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='443' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dword_2' type-id='type-id-2085' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='444' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__4' size-in-bits='160' is-anonymous='yes' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='488' column='1' id='type-id-3570'>
+        <data-member access='private'>
+          <var-decl name='sc' type-id='type-id-3571' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='489' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='qr' type-id='type-id-3572' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='490' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='utp_upiu_cmd' size-in-bits='160' is-struct='yes' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='452' column='1' id='type-id-3571'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='exp_data_transfer_len' type-id='type-id-2085' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='453' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='cdb' type-id='type-id-1788' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='454' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='utp_upiu_query' size-in-bits='160' is-struct='yes' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='469' column='1' id='type-id-3572'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='opcode' type-id='type-id-53' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='470' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='idn' type-id='type-id-53' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='471' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='index' type-id='type-id-53' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='472' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='selector' type-id='type-id-53' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='473' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='reserved_osf' type-id='type-id-3573' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='474' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='length' type-id='type-id-3573' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='475' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='value' type-id='type-id-2085' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='476' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='reserved' type-id='type-id-3574' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='477' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='utp_upiu_rsp' size-in-bits='416' is-struct='yes' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='514' column='1' id='type-id-3575'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='header' type-id='type-id-3569' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='515' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='' type-id='type-id-3576' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='516' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__5' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='516' column='1' id='type-id-3576'>
+        <data-member access='private'>
+          <var-decl name='sr' type-id='type-id-3577' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='517' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='qr' type-id='type-id-3572' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='518' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='utp_cmd_rsp' size-in-bits='320' is-struct='yes' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='501' column='1' id='type-id-3577'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='residual_transfer_count' type-id='type-id-2085' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='502' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='reserved' type-id='type-id-3578' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='503' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='sense_data_len' type-id='type-id-3573' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='504' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='176'>
+          <var-decl name='sense_data' type-id='type-id-3471' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='505' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ufshcd_sg_entry' size-in-bits='128' is-struct='yes' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='438' column='1' id='type-id-3579'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='base_addr' type-id='type-id-3462' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='439' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='upper_addr' type-id='type-id-3462' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='440' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='reserved' type-id='type-id-3462' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='441' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='size' type-id='type-id-3462' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='442' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ufs_hba_variant_ops' size-in-bits='1216' is-struct='yes' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='313' column='1' id='type-id-3580'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='314' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='init' type-id='type-id-3581' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='315' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='exit' type-id='type-id-3582' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='316' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='get_ufs_hci_version' type-id='type-id-3583' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='317' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='clk_scale_notify' type-id='type-id-3584' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='318' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='setup_clocks' type-id='type-id-3584' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='320' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='setup_regulators' type-id='type-id-3585' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='322' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='hce_enable_notify' type-id='type-id-3586' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='323' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='link_startup_notify' type-id='type-id-3586' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='325' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='pwr_change_notify' type-id='type-id-3587' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='327' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='setup_xfer_req' type-id='type-id-3588' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='331' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='setup_task_mgmt' type-id='type-id-3589' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='332' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='hibern8_notify' type-id='type-id-3590' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='333' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='apply_dev_quirks' type-id='type-id-3581' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='335' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='suspend' type-id='type-id-3591' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='336' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='resume' type-id='type-id-3591' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='337' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='dbg_register_dump' type-id='type-id-3582' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='338' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='phy_initialization' type-id='type-id-3581' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='339' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='program_key' type-id='type-id-3592' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='340' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='ufs_notify_change_status' filepath='drivers/scsi/ufs/ufshcd.h' line='263' column='1' id='type-id-3593'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='PRE_CHANGE' value='0'/>
+        <enumerator name='POST_CHANGE' value='1'/>
+      </enum-decl>
+      <class-decl name='ufs_pa_layer_attr' size-in-bits='224' is-struct='yes' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='268' column='1' id='type-id-3503'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='gear_rx' type-id='type-id-9' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='269' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='gear_tx' type-id='type-id-9' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='270' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='lane_rx' type-id='type-id-9' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='271' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='lane_tx' type-id='type-id-9' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='272' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='pwr_rx' type-id='type-id-9' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='273' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='pwr_tx' type-id='type-id-9' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='274' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='hs_rate' type-id='type-id-9' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='275' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='uic_cmd_dme' filepath='drivers/scsi/ufs/ufshci.h' line='273' column='1' id='type-id-3594'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='UIC_CMD_DME_GET' value='1'/>
+        <enumerator name='UIC_CMD_DME_SET' value='2'/>
+        <enumerator name='UIC_CMD_DME_PEER_GET' value='3'/>
+        <enumerator name='UIC_CMD_DME_PEER_SET' value='4'/>
+        <enumerator name='UIC_CMD_DME_POWERON' value='16'/>
+        <enumerator name='UIC_CMD_DME_POWEROFF' value='17'/>
+        <enumerator name='UIC_CMD_DME_ENABLE' value='18'/>
+        <enumerator name='UIC_CMD_DME_RESET' value='20'/>
+        <enumerator name='UIC_CMD_DME_END_PT_RST' value='21'/>
+        <enumerator name='UIC_CMD_DME_LINK_STARTUP' value='22'/>
+        <enumerator name='UIC_CMD_DME_HIBER_ENTER' value='23'/>
+        <enumerator name='UIC_CMD_DME_HIBER_EXIT' value='24'/>
+        <enumerator name='UIC_CMD_DME_TEST_MODE' value='26'/>
+      </enum-decl>
+      <enum-decl name='ufs_pm_op' filepath='drivers/scsi/ufs/ufshcd.h' line='103' column='1' id='type-id-3595'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='UFS_RUNTIME_PM' value='0'/>
+        <enumerator name='UFS_SYSTEM_PM' value='1'/>
+        <enumerator name='UFS_SHUTDOWN_PM' value='2'/>
+      </enum-decl>
+      <union-decl name='ufs_crypto_cfg_entry' size-in-bits='1024' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='363' column='1' id='type-id-3596'>
+        <data-member access='private'>
+          <var-decl name='reg_val' type-id='type-id-3463' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='364' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-3597' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='365' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__' size-in-bits='1024' is-struct='yes' is-anonymous='yes' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='365' column='1' id='type-id-3597'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='crypto_key' type-id='type-id-3598' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='366' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='data_unit_size' type-id='type-id-53' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='367' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='520'>
+          <var-decl name='crypto_cap_idx' type-id='type-id-53' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='368' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='528'>
+          <var-decl name='reserved_1' type-id='type-id-53' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='369' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='536'>
+          <var-decl name='config_enable' type-id='type-id-53' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='370' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='reserved_multi_host' type-id='type-id-53' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='371' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='552'>
+          <var-decl name='reserved_2' type-id='type-id-53' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='372' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='560'>
+          <var-decl name='vsb' type-id='type-id-1956' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='373' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='reserved_3' type-id='type-id-3475' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='374' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ufs_hba_crypto_variant_ops' size-in-bits='704' is-struct='yes' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='345' column='1' id='type-id-3599'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='setup_rq_keyslot_manager' type-id='type-id-3600' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='346' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='destroy_rq_keyslot_manager' type-id='type-id-3600' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='348' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='hba_init_crypto' type-id='type-id-3601' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='350' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='enable' type-id='type-id-3582' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='352' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='disable' type-id='type-id-3582' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='353' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='suspend' type-id='type-id-3591' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='354' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='resume' type-id='type-id-3591' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='355' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='debug' type-id='type-id-3581' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='356' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='prepare_lrbp_crypto' type-id='type-id-3602' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='357' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='complete_lrbp_crypto' type-id='type-id-3602' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='360' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='priv' type-id='type-id-3' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='363' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='keyslot_mgmt_ll_ops' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/keyslot-manager.h' line='31' column='1' id='type-id-3603'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='keyslot_program' type-id='type-id-3604' visibility='default' filepath='include/linux/keyslot-manager.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='keyslot_evict' type-id='type-id-3604' visibility='default' filepath='include/linux/keyslot-manager.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='derive_raw_secret' type-id='type-id-3605' visibility='default' filepath='include/linux/keyslot-manager.h' line='38' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='uic_command' size-in-bits='448' is-struct='yes' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='92' column='1' id='type-id-3606'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='command' type-id='type-id-9' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='argument1' type-id='type-id-9' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='argument2' type-id='type-id-9' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='argument3' type-id='type-id-9' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='cmd_active' type-id='type-id-11' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='result' type-id='type-id-11' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='98' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='done' type-id='type-id-661' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='99' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ufs_init_prefetch' size-in-bits='32' is-struct='yes' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='446' column='1' id='type-id-3498'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='icc_level' type-id='type-id-9' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='447' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ufs_stats' size-in-bits='4288' is-struct='yes' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='475' column='1' id='type-id-3499'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='hibern8_exit_cnt' type-id='type-id-9' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='476' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='last_hibern8_exit_tstamp' type-id='type-id-585' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='477' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='pa_err' type-id='type-id-3607' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='478' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='dl_err' type-id='type-id-3607' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='479' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='nl_err' type-id='type-id-3607' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='480' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2624'>
+          <var-decl name='tl_err' type-id='type-id-3607' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='481' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3456'>
+          <var-decl name='dme_err' type-id='type-id-3607' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='482' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ufs_uic_err_reg_hist' size-in-bits='832' is-struct='yes' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='457' column='1' id='type-id-3607'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='pos' type-id='type-id-11' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='458' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='reg' type-id='type-id-3470' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='459' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='tstamp' type-id='type-id-3469' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='460' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ufs_dev_cmd' size-in-bits='1024' is-struct='yes' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='225' column='1' id='type-id-3500'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-3608' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='226' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='lock' type-id='type-id-407' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='227' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='complete' type-id='type-id-176' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='228' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='tag_wq' type-id='type-id-388' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='229' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='query' type-id='type-id-3609' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='230' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='dev_cmd_type' filepath='drivers/scsi/ufs/ufshcd.h' line='77' column='1' id='type-id-3608'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='DEV_CMD_TYPE_NOP' value='0'/>
+        <enumerator name='DEV_CMD_TYPE_QUERY' value='1'/>
+      </enum-decl>
+      <class-decl name='ufs_query' size-in-bits='448' is-struct='yes' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='212' column='1' id='type-id-3609'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='request' type-id='type-id-3610' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='213' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='descriptor' type-id='type-id-67' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='214' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='response' type-id='type-id-3611' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='215' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ufs_query_req' size-in-bits='192' is-struct='yes' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='557' column='1' id='type-id-3610'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='query_func' type-id='type-id-53' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='558' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='upiu_req' type-id='type-id-3572' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='559' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ufs_query_res' size-in-bits='192' is-struct='yes' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='567' column='1' id='type-id-3611'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='response' type-id='type-id-53' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='568' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='upiu_res' type-id='type-id-3572' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='569' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ufs_dev_info' size-in-bits='16' is-struct='yes' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='605' column='1' id='type-id-3501'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='f_power_on_wp_en' type-id='type-id-211' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='606' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='is_lu_power_on_wp' type-id='type-id-211' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='608' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ufs_vreg_info' size-in-bits='256' is-struct='yes' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='598' column='1' id='type-id-3502'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='vcc' type-id='type-id-3612' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='599' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='vccq' type-id='type-id-3612' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='600' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='vccq2' type-id='type-id-3612' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='601' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='vdd_hba' type-id='type-id-3612' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='602' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ufs_vreg' size-in-bits='320' is-struct='yes' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='587' column='1' id='type-id-3613'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='reg' type-id='type-id-3136' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='588' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='589' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='enabled' type-id='type-id-211' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='590' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='136'>
+          <var-decl name='unused' type-id='type-id-211' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='591' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='min_uV' type-id='type-id-11' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='592' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='max_uV' type-id='type-id-11' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='593' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='min_uA' type-id='type-id-11' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='594' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='max_uA' type-id='type-id-11' visibility='default' filepath='drivers/scsi/ufs/ufs.h' line='595' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ufs_pwr_mode_info' size-in-bits='256' is-struct='yes' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='278' column='1' id='type-id-3504'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='is_valid' type-id='type-id-211' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='279' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='info' type-id='type-id-3503' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='280' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ufs_clk_gating' size-in-bits='1792' is-struct='yes' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='390' column='1' id='type-id-3505'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='gate_work' type-id='type-id-370' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='391' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='ungate_work' type-id='type-id-149' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='392' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='state' type-id='type-id-3614' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='393' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='delay_ms' type-id='type-id-100' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='394' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='is_suspended' type-id='type-id-211' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='395' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='delay_attr' type-id='type-id-1028' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='396' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='enable_attr' type-id='type-id-1028' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='397' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='is_enabled' type-id='type-id-211' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='398' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1696'>
+          <var-decl name='active_reqs' type-id='type-id-11' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='399' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='clk_gating_workq' type-id='type-id-2154' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='400' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='clk_gating_state' filepath='drivers/scsi/ufs/ufshcd.h' line='367' column='1' id='type-id-3614'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='CLKS_OFF' value='0'/>
+        <enumerator name='CLKS_ON' value='1'/>
+        <enumerator name='REQ_CLKS_OFF' value='2'/>
+        <enumerator name='REQ_CLKS_ON' value='3'/>
+      </enum-decl>
+      <class-decl name='ufs_clk_scaling' size-in-bits='1408' is-struct='yes' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='426' column='1' id='type-id-3506'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='active_reqs' type-id='type-id-11' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='427' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='tot_busy_t' type-id='type-id-100' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='428' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='window_start_t' type-id='type-id-100' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='429' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='busy_start_t' type-id='type-id-585' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='430' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='enable_attr' type-id='type-id-1028' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='431' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='saved_pwr_info' type-id='type-id-3615' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='432' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='workq' type-id='type-id-2154' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='433' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='suspend_work' type-id='type-id-149' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='434' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='resume_work' type-id='type-id-149' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='435' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='is_allowed' type-id='type-id-211' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='436' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1352'>
+          <var-decl name='is_busy_started' type-id='type-id-211' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='437' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1360'>
+          <var-decl name='is_suspended' type-id='type-id-211' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='438' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ufs_saved_pwr_info' size-in-bits='256' is-struct='yes' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='403' column='1' id='type-id-3615'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='info' type-id='type-id-3503' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='404' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='is_valid' type-id='type-id-211' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='405' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='bkops_status' filepath='drivers/scsi/ufs/ufs.h' line='360' column='1' id='type-id-3507'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='BKOPS_STATUS_NO_OP' value='0'/>
+        <enumerator name='BKOPS_STATUS_NON_CRITICAL' value='1'/>
+        <enumerator name='BKOPS_STATUS_PERF_IMPACT' value='2'/>
+        <enumerator name='BKOPS_STATUS_CRITICAL' value='3'/>
+        <enumerator name='BKOPS_STATUS_MAX' value='3'/>
+      </enum-decl>
+      <class-decl name='ufs_desc_size' size-in-bits='224' is-struct='yes' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='233' column='1' id='type-id-3508'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev_desc' type-id='type-id-11' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='234' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='pwr_desc' type-id='type-id-11' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='235' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='geom_desc' type-id='type-id-11' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='236' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='interc_desc' type-id='type-id-11' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='237' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='unit_desc' type-id='type-id-11' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='238' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='conf_desc' type-id='type-id-11' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='239' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='hlth_desc' type-id='type-id-11' visibility='default' filepath='drivers/scsi/ufs/ufshcd.h' line='240' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='ufs_crypto_capabilities' size-in-bits='32' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='324' column='1' id='type-id-3509'>
+        <data-member access='private'>
+          <var-decl name='reg_val' type-id='type-id-3462' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='325' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-3616' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='326' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__1' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='326' column='1' id='type-id-3616'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='num_crypto_cap' type-id='type-id-53' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='327' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='config_count' type-id='type-id-53' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='328' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='reserved' type-id='type-id-53' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='329' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='config_array_ptr' type-id='type-id-53' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='330' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='ufs_crypto_cap_entry' size-in-bits='32' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='350' column='1' id='type-id-3617'>
+        <data-member access='private'>
+          <var-decl name='reg_val' type-id='type-id-3462' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='351' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-3618' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='352' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__2' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='352' column='1' id='type-id-3618'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='algorithm_id' type-id='type-id-53' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='353' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='sdus_mask' type-id='type-id-53' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='354' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='key_size' type-id='type-id-53' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='355' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='reserved' type-id='type-id-53' visibility='default' filepath='drivers/scsi/ufs/ufshci.h' line='356' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-3517' size-in-bits='64' id='type-id-3490'/>
+      <pointer-type-def type-id='type-id-3465' size-in-bits='64' id='type-id-3619'/>
+      <pointer-type-def type-id='type-id-3619' size-in-bits='64' id='type-id-3620'/>
+      <pointer-type-def type-id='type-id-3621' size-in-bits='64' id='type-id-3527'/>
+      <qualified-type-def type-id='type-id-882' const='yes' id='type-id-3622'/>
+      <pointer-type-def type-id='type-id-3622' size-in-bits='64' id='type-id-3479'/>
+      <qualified-type-def type-id='type-id-3603' const='yes' id='type-id-3623'/>
+      <pointer-type-def type-id='type-id-3623' size-in-bits='64' id='type-id-3624'/>
+      <qualified-type-def type-id='type-id-3596' const='yes' id='type-id-3625'/>
+      <pointer-type-def type-id='type-id-3625' size-in-bits='64' id='type-id-3626'/>
+      <qualified-type-def type-id='type-id-3599' const='yes' id='type-id-3627'/>
+      <pointer-type-def type-id='type-id-3627' size-in-bits='64' id='type-id-3496'/>
+      <pointer-type-def type-id='type-id-3478' size-in-bits='64' id='type-id-888'/>
+      <pointer-type-def type-id='type-id-3482' size-in-bits='64' id='type-id-889'/>
+      <pointer-type-def type-id='type-id-3480' size-in-bits='64' id='type-id-3628'/>
+      <pointer-type-def type-id='type-id-542' size-in-bits='64' id='type-id-3544'/>
+      <pointer-type-def type-id='type-id-3629' size-in-bits='64' id='type-id-3542'/>
+      <pointer-type-def type-id='type-id-3630' size-in-bits='64' id='type-id-3538'/>
+      <pointer-type-def type-id='type-id-3631' size-in-bits='64' id='type-id-3541'/>
+      <pointer-type-def type-id='type-id-3632' size-in-bits='64' id='type-id-3543'/>
+      <pointer-type-def type-id='type-id-3633' size-in-bits='64' id='type-id-3529'/>
+      <pointer-type-def type-id='type-id-3634' size-in-bits='64' id='type-id-3535'/>
+      <pointer-type-def type-id='type-id-3635' size-in-bits='64' id='type-id-3484'/>
+      <pointer-type-def type-id='type-id-3636' size-in-bits='64' id='type-id-3485'/>
+      <pointer-type-def type-id='type-id-3637' size-in-bits='64' id='type-id-3483'/>
+      <pointer-type-def type-id='type-id-3638' size-in-bits='64' id='type-id-3604'/>
+      <pointer-type-def type-id='type-id-3639' size-in-bits='64' id='type-id-3605'/>
+      <pointer-type-def type-id='type-id-3640' size-in-bits='64' id='type-id-3530'/>
+      <pointer-type-def type-id='type-id-3641' size-in-bits='64' id='type-id-3531'/>
+      <pointer-type-def type-id='type-id-3642' size-in-bits='64' id='type-id-3539'/>
+      <pointer-type-def type-id='type-id-3643' size-in-bits='64' id='type-id-3537'/>
+      <pointer-type-def type-id='type-id-3644' size-in-bits='64' id='type-id-3528'/>
+      <pointer-type-def type-id='type-id-3645' size-in-bits='64' id='type-id-3533'/>
+      <pointer-type-def type-id='type-id-3646' size-in-bits='64' id='type-id-3540'/>
+      <pointer-type-def type-id='type-id-3647' size-in-bits='64' id='type-id-3581'/>
+      <pointer-type-def type-id='type-id-3648' size-in-bits='64' id='type-id-3601'/>
+      <pointer-type-def type-id='type-id-3649' size-in-bits='64' id='type-id-3592'/>
+      <pointer-type-def type-id='type-id-3650' size-in-bits='64' id='type-id-3586'/>
+      <pointer-type-def type-id='type-id-3651' size-in-bits='64' id='type-id-3587'/>
+      <pointer-type-def type-id='type-id-3652' size-in-bits='64' id='type-id-3591'/>
+      <pointer-type-def type-id='type-id-3653' size-in-bits='64' id='type-id-3602'/>
+      <pointer-type-def type-id='type-id-3654' size-in-bits='64' id='type-id-3585'/>
+      <pointer-type-def type-id='type-id-3655' size-in-bits='64' id='type-id-3584'/>
+      <pointer-type-def type-id='type-id-3556' size-in-bits='64' id='type-id-3567'/>
+      <pointer-type-def type-id='type-id-3558' size-in-bits='64' id='type-id-3559'/>
+      <pointer-type-def type-id='type-id-3546' size-in-bits='64' id='type-id-3491'/>
+      <pointer-type-def type-id='type-id-3466' size-in-bits='64' id='type-id-3551'/>
+      <pointer-type-def type-id='type-id-3467' size-in-bits='64' id='type-id-3545'/>
+      <pointer-type-def type-id='type-id-3526' size-in-bits='64' id='type-id-3518'/>
+      <pointer-type-def type-id='type-id-3554' size-in-bits='64' id='type-id-3548'/>
+      <pointer-type-def type-id='type-id-3468' size-in-bits='64' id='type-id-3519'/>
+      <pointer-type-def type-id='type-id-3553' size-in-bits='64' id='type-id-3547'/>
+      <pointer-type-def type-id='type-id-3656' size-in-bits='64' id='type-id-3583'/>
+      <pointer-type-def type-id='type-id-3617' size-in-bits='64' id='type-id-3510'/>
+      <pointer-type-def type-id='type-id-3486' size-in-bits='64' id='type-id-3657'/>
+      <pointer-type-def type-id='type-id-3580' size-in-bits='64' id='type-id-3461'/>
+      <pointer-type-def type-id='type-id-3503' size-in-bits='64' id='type-id-3658'/>
+      <pointer-type-def type-id='type-id-3613' size-in-bits='64' id='type-id-3612'/>
+      <pointer-type-def type-id='type-id-3563' size-in-bits='64' id='type-id-3495'/>
+      <pointer-type-def type-id='type-id-3579' size-in-bits='64' id='type-id-3566'/>
+      <pointer-type-def type-id='type-id-3606' size-in-bits='64' id='type-id-3497'/>
+      <pointer-type-def type-id='type-id-3516' size-in-bits='64' id='type-id-3489'/>
+      <pointer-type-def type-id='type-id-3512' size-in-bits='64' id='type-id-3487'/>
+      <pointer-type-def type-id='type-id-3514' size-in-bits='64' id='type-id-3488'/>
+      <pointer-type-def type-id='type-id-3568' size-in-bits='64' id='type-id-3564'/>
+      <pointer-type-def type-id='type-id-3575' size-in-bits='64' id='type-id-3565'/>
+      <pointer-type-def type-id='type-id-3659' size-in-bits='64' id='type-id-3536'/>
+      <pointer-type-def type-id='type-id-3660' size-in-bits='64' id='type-id-3560'/>
+      <pointer-type-def type-id='type-id-3661' size-in-bits='64' id='type-id-3532'/>
+      <pointer-type-def type-id='type-id-3662' size-in-bits='64' id='type-id-3534'/>
+      <pointer-type-def type-id='type-id-3663' size-in-bits='64' id='type-id-3582'/>
+      <pointer-type-def type-id='type-id-3664' size-in-bits='64' id='type-id-3590'/>
+      <pointer-type-def type-id='type-id-3665' size-in-bits='64' id='type-id-3588'/>
+      <pointer-type-def type-id='type-id-3666' size-in-bits='64' id='type-id-3589'/>
+      <pointer-type-def type-id='type-id-3667' size-in-bits='64' id='type-id-3600'/>
+      <function-decl name='devfreq_suspend_device' mangled-name='devfreq_suspend_device' filepath='include/linux/devfreq.h' line='198' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devfreq_suspend_device'>
+        <parameter type-id='type-id-888'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='devfreq_resume_device' mangled-name='devfreq_resume_device' filepath='include/linux/devfreq.h' line='199' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devfreq_resume_device'>
+        <parameter type-id='type-id-888'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='dev_pm_opp_add' mangled-name='dev_pm_opp_add' filepath='include/linux/pm_opp.h' line='107' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_pm_opp_add'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='devfreq_add_device' mangled-name='devfreq_add_device' filepath='include/linux/devfreq.h' line='185' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devfreq_add_device'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-889'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-888'/>
+      </function-decl>
+      <function-decl name='devfreq_remove_device' mangled-name='devfreq_remove_device' filepath='include/linux/devfreq.h' line='189' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devfreq_remove_device'>
+        <parameter type-id='type-id-888'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='ufshcd_dme_set_attr' mangled-name='ufshcd_dme_set_attr' filepath='drivers/scsi/ufs/ufshcd.c' line='3653' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ufshcd_dme_set_attr'>
+        <parameter type-id='type-id-3657' name='hba' filepath='drivers/scsi/ufs/ufshcd.c' line='3653' column='1'/>
+        <parameter type-id='type-id-9' name='attr_sel' filepath='drivers/scsi/ufs/ufshcd.c' line='3653' column='1'/>
+        <parameter type-id='type-id-53' name='attr_set' filepath='drivers/scsi/ufs/ufshcd.c' line='3654' column='1'/>
+        <parameter type-id='type-id-9' name='mib_val' filepath='drivers/scsi/ufs/ufshcd.c' line='3654' column='1'/>
+        <parameter type-id='type-id-53' name='peer' filepath='drivers/scsi/ufs/ufshcd.c' line='3654' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='ufshcd_dme_get_attr' mangled-name='ufshcd_dme_get_attr' filepath='drivers/scsi/ufs/ufshcd.c' line='3697' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ufshcd_dme_get_attr'>
+        <parameter type-id='type-id-3657' name='hba' filepath='drivers/scsi/ufs/ufshcd.c' line='3697' column='1'/>
+        <parameter type-id='type-id-9' name='attr_sel' filepath='drivers/scsi/ufs/ufshcd.c' line='3697' column='1'/>
+        <parameter type-id='type-id-347' name='mib_val' filepath='drivers/scsi/ufs/ufshcd.c' line='3698' column='1'/>
+        <parameter type-id='type-id-53' name='peer' filepath='drivers/scsi/ufs/ufshcd.c' line='3698' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='ufshcd_get_local_unipro_ver' mangled-name='ufshcd_get_local_unipro_ver' filepath='drivers/scsi/ufs/ufshcd.c' line='915' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ufshcd_get_local_unipro_ver'>
+        <parameter type-id='type-id-3657' name='hba' filepath='drivers/scsi/ufs/ufshcd.c' line='915' column='1'/>
+        <return type-id='type-id-9'/>
+      </function-decl>
+      <function-decl name='ufshcd_hold' mangled-name='ufshcd_hold' filepath='drivers/scsi/ufs/ufshcd.c' line='1554' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ufshcd_hold'>
+        <parameter type-id='type-id-3657' name='hba' filepath='drivers/scsi/ufs/ufshcd.c' line='1554' column='1'/>
+        <parameter type-id='type-id-211' name='async' filepath='drivers/scsi/ufs/ufshcd.c' line='1554' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='ufshcd_release' mangled-name='ufshcd_release' filepath='drivers/scsi/ufs/ufshcd.c' line='1723' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ufshcd_release'>
+        <parameter type-id='type-id-3657' name='hba' filepath='drivers/scsi/ufs/ufshcd.c' line='1723' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='ufshcd_remove' mangled-name='ufshcd_remove' filepath='drivers/scsi/ufs/ufshcd.c' line='8006' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ufshcd_remove'>
+        <parameter type-id='type-id-3657' name='hba' filepath='drivers/scsi/ufs/ufshcd.c' line='8006' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-3621'>
+        <parameter type-id='type-id-3490'/>
+        <return type-id='type-id-24'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3629'>
+        <parameter type-id='type-id-3567'/>
+        <return type-id='type-id-443'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3630'>
+        <parameter type-id='type-id-3490'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3631'>
+        <parameter type-id='type-id-3490'/>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3632'>
+        <parameter type-id='type-id-3490'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3633'>
+        <parameter type-id='type-id-3490'/>
+        <parameter type-id='type-id-3567'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3634'>
+        <parameter type-id='type-id-3490'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3635'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-3628'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3636'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-76'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3637'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-76'/>
+        <parameter type-id='type-id-9'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3638'>
+        <parameter type-id='type-id-3511'/>
+        <parameter type-id='type-id-3668'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3639'>
+        <parameter type-id='type-id-3511'/>
+        <parameter type-id='type-id-55'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-67'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3640'>
+        <parameter type-id='type-id-3567'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3641'>
+        <parameter type-id='type-id-3491'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3642'>
+        <parameter type-id='type-id-3491'/>
+        <parameter type-id='type-id-2158'/>
+        <parameter type-id='type-id-2142'/>
+        <parameter type-id='type-id-82'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3643'>
+        <parameter type-id='type-id-3491'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3644'>
+        <parameter type-id='type-id-3491'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3645'>
+        <parameter type-id='type-id-3548'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3646'>
+        <parameter type-id='type-id-85'/>
+        <parameter type-id='type-id-3490'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3647'>
+        <parameter type-id='type-id-3657'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3648'>
+        <parameter type-id='type-id-3657'/>
+        <parameter type-id='type-id-3624'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3649'>
+        <parameter type-id='type-id-3657'/>
+        <parameter type-id='type-id-3626'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3650'>
+        <parameter type-id='type-id-3657'/>
+        <parameter type-id='type-id-3593'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3651'>
+        <parameter type-id='type-id-3657'/>
+        <parameter type-id='type-id-3593'/>
+        <parameter type-id='type-id-3658'/>
+        <parameter type-id='type-id-3658'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3652'>
+        <parameter type-id='type-id-3657'/>
+        <parameter type-id='type-id-3595'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3653'>
+        <parameter type-id='type-id-3657'/>
+        <parameter type-id='type-id-3567'/>
+        <parameter type-id='type-id-3495'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3654'>
+        <parameter type-id='type-id-3657'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3655'>
+        <parameter type-id='type-id-3657'/>
+        <parameter type-id='type-id-211'/>
+        <parameter type-id='type-id-3593'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3656'>
+        <parameter type-id='type-id-3657'/>
+        <return type-id='type-id-9'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3659'>
+        <parameter type-id='type-id-3490'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3660'>
+        <parameter type-id='type-id-3567'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3661'>
+        <parameter type-id='type-id-3491'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3662'>
+        <parameter type-id='type-id-3548'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3663'>
+        <parameter type-id='type-id-3657'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3664'>
+        <parameter type-id='type-id-3657'/>
+        <parameter type-id='type-id-3594'/>
+        <parameter type-id='type-id-3593'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3665'>
+        <parameter type-id='type-id-3657'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3666'>
+        <parameter type-id='type-id-3657'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-53'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3667'>
+        <parameter type-id='type-id-3657'/>
+        <parameter type-id='type-id-268'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/spi/spi.c' language='LANG_C89'>
+      <class-decl name='spi_mem' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/spi/spi-mem.h' line='137' column='1' id='type-id-3669'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='spi' type-id='type-id-673' visibility='default' filepath='include/linux/spi/spi-mem.h' line='138' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='drvpriv' type-id='type-id-3' visibility='default' filepath='include/linux/spi/spi-mem.h' line='139' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/spi/spi-mem.h' line='140' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='spi_mem_op' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/spi/spi-mem.h' line='89' column='1' id='type-id-3670'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cmd' type-id='type-id-3671' visibility='default' filepath='include/linux/spi/spi-mem.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='addr' type-id='type-id-3672' visibility='default' filepath='include/linux/spi/spi-mem.h' line='99' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='dummy' type-id='type-id-3673' visibility='default' filepath='include/linux/spi/spi-mem.h' line='104' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='data' type-id='type-id-3674' visibility='default' filepath='include/linux/spi/spi-mem.h' line='114' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/spi/spi-mem.h' line='90' column='1' id='type-id-3671'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='buswidth' type-id='type-id-53' visibility='default' filepath='include/linux/spi/spi-mem.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='opcode' type-id='type-id-53' visibility='default' filepath='include/linux/spi/spi-mem.h' line='92' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__1' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/spi/spi-mem.h' line='95' column='1' id='type-id-3672'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='nbytes' type-id='type-id-53' visibility='default' filepath='include/linux/spi/spi-mem.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='buswidth' type-id='type-id-53' visibility='default' filepath='include/linux/spi/spi-mem.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='val' type-id='type-id-134' visibility='default' filepath='include/linux/spi/spi-mem.h' line='98' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__3' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/spi/spi-mem.h' line='106' column='1' id='type-id-3674'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='buswidth' type-id='type-id-53' visibility='default' filepath='include/linux/spi/spi-mem.h' line='107' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='dir' type-id='type-id-3675' visibility='default' filepath='include/linux/spi/spi-mem.h' line='108' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='nbytes' type-id='type-id-10' visibility='default' filepath='include/linux/spi/spi-mem.h' line='109' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='buf' type-id='type-id-3676' visibility='default' filepath='include/linux/spi/spi-mem.h' line='113' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='spi_mem_data_dir' filepath='include/linux/spi/spi-mem.h' line='63' column='1' id='type-id-3675'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='SPI_MEM_DATA_IN' value='0'/>
+        <enumerator name='SPI_MEM_DATA_OUT' value='1'/>
+      </enum-decl>
+      <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/spi/spi-mem.h' line='110' column='1' id='type-id-3676'>
+        <data-member access='private'>
+          <var-decl name='in' type-id='type-id-3' visibility='default' filepath='include/linux/spi/spi-mem.h' line='111' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='out' type-id='type-id-3' visibility='default' filepath='include/linux/spi/spi-mem.h' line='112' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='spi_driver' size-in-bits='1344' is-struct='yes' visibility='default' filepath='include/linux/spi/spi.h' line='254' column='1' id='type-id-3677'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='id_table' type-id='type-id-3678' visibility='default' filepath='include/linux/spi/spi.h' line='255' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='probe' type-id='type-id-655' visibility='default' filepath='include/linux/spi/spi.h' line='256' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='remove' type-id='type-id-655' visibility='default' filepath='include/linux/spi/spi.h' line='257' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='shutdown' type-id='type-id-657' visibility='default' filepath='include/linux/spi/spi.h' line='258' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='driver' type-id='type-id-324' visibility='default' filepath='include/linux/spi/spi.h' line='259' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='spi_device_id' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/mod_devicetable.h' line='456' column='1' id='type-id-3679'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-650' visibility='default' filepath='include/linux/mod_devicetable.h' line='457' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='driver_data' type-id='type-id-327' visibility='default' filepath='include/linux/mod_devicetable.h' line='458' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-3680' size-in-bits='64' id='type-id-3681'/>
+      <qualified-type-def type-id='type-id-3679' const='yes' id='type-id-3682'/>
+      <pointer-type-def type-id='type-id-3682' size-in-bits='64' id='type-id-3678'/>
+      <qualified-type-def type-id='type-id-3670' const='yes' id='type-id-3683'/>
+      <pointer-type-def type-id='type-id-3683' size-in-bits='64' id='type-id-3684'/>
+      <pointer-type-def type-id='type-id-3685' size-in-bits='64' id='type-id-3686'/>
+      <pointer-type-def type-id='type-id-3687' size-in-bits='64' id='type-id-3688'/>
+      <pointer-type-def type-id='type-id-3677' size-in-bits='64' id='type-id-3689'/>
+      <pointer-type-def type-id='type-id-3669' size-in-bits='64' id='type-id-3690'/>
+      <pointer-type-def type-id='type-id-3670' size-in-bits='64' id='type-id-3691'/>
+      <pointer-type-def type-id='type-id-3692' size-in-bits='64' id='type-id-3693'/>
+      <function-decl name='spi_setup' mangled-name='spi_setup' filepath='include/linux/spi/spi.h' line='937' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='spi_setup'>
+        <parameter type-id='type-id-673'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='spi_register_controller' mangled-name='spi_register_controller' filepath='drivers/spi/spi.c' line='2119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='spi_register_controller'>
+        <parameter type-id='type-id-649' name='ctlr' filepath='drivers/spi/spi.c' line='2119' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__spi_register_driver' mangled-name='__spi_register_driver' filepath='drivers/spi/spi.c' line='398' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__spi_register_driver'>
+        <parameter type-id='type-id-19' name='owner' filepath='drivers/spi/spi.c' line='398' column='1'/>
+        <parameter type-id='type-id-3689' name='sdrv' filepath='drivers/spi/spi.c' line='398' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__spi_alloc_controller' mangled-name='__spi_alloc_controller' filepath='drivers/spi/spi.c' line='2008' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__spi_alloc_controller'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/spi/spi.c' line='2008' column='1'/>
+        <parameter type-id='type-id-10' name='size' filepath='drivers/spi/spi.c' line='2009' column='1'/>
+        <parameter type-id='type-id-211' name='slave' filepath='drivers/spi/spi.c' line='2009' column='1'/>
+        <return type-id='type-id-649'/>
+      </function-decl>
+      <function-decl name='spi_unregister_controller' mangled-name='spi_unregister_controller' filepath='drivers/spi/spi.c' line='2304' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='spi_unregister_controller'>
+        <parameter type-id='type-id-649' name='ctlr' filepath='drivers/spi/spi.c' line='2304' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='spi_sync_locked' mangled-name='spi_sync_locked' filepath='drivers/spi/spi.c' line='3186' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='spi_sync_locked'>
+        <parameter type-id='type-id-673' name='spi' filepath='drivers/spi/spi.c' line='3186' column='1'/>
+        <parameter type-id='type-id-660' name='message' filepath='drivers/spi/spi.c' line='3186' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='spi_bus_lock' mangled-name='spi_bus_lock' filepath='drivers/spi/spi.c' line='3207' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='spi_bus_lock'>
+        <parameter type-id='type-id-649' name='ctlr' filepath='drivers/spi/spi.c' line='3207' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='spi_bus_unlock' mangled-name='spi_bus_unlock' filepath='drivers/spi/spi.c' line='3236' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='spi_bus_unlock'>
+        <parameter type-id='type-id-649' name='ctlr' filepath='drivers/spi/spi.c' line='3236' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-3680'>
+        <parameter type-id='type-id-3690'/>
+        <return type-id='type-id-24'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3685'>
+        <parameter type-id='type-id-3690'/>
+        <parameter type-id='type-id-3684'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3687'>
+        <parameter type-id='type-id-3690'/>
+        <parameter type-id='type-id-3691'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3692'>
+        <parameter type-id='type-id-3690'/>
+        <parameter type-id='type-id-3684'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/spmi/spmi.c' language='LANG_C89'>
+      <class-decl name='spmi_device' size-in-bits='6336' is-struct='yes' visibility='default' filepath='include/linux/spmi.h' line='47' column='1' id='type-id-3694'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='include/linux/spmi.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6208'>
+          <var-decl name='ctrl' type-id='type-id-3695' visibility='default' filepath='include/linux/spmi.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6272'>
+          <var-decl name='usid' type-id='type-id-53' visibility='default' filepath='include/linux/spmi.h' line='50' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='spmi_controller' size-in-bits='6464' is-struct='yes' visibility='default' filepath='include/linux/spmi.h' line='88' column='1' id='type-id-3696'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='include/linux/spmi.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6208'>
+          <var-decl name='nr' type-id='type-id-10' visibility='default' filepath='include/linux/spmi.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6272'>
+          <var-decl name='cmd' type-id='type-id-3697' visibility='default' filepath='include/linux/spmi.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6336'>
+          <var-decl name='read_cmd' type-id='type-id-3698' visibility='default' filepath='include/linux/spmi.h' line='92' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6400'>
+          <var-decl name='write_cmd' type-id='type-id-3699' visibility='default' filepath='include/linux/spmi.h' line='94' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='spmi_driver' size-in-bits='1216' is-struct='yes' visibility='default' filepath='include/linux/spmi.h' line='145' column='1' id='type-id-3700'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='driver' type-id='type-id-324' visibility='default' filepath='include/linux/spmi.h' line='146' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='probe' type-id='type-id-3701' visibility='default' filepath='include/linux/spmi.h' line='147' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='remove' type-id='type-id-3702' visibility='default' filepath='include/linux/spmi.h' line='148' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-3703' size-in-bits='64' id='type-id-3697'/>
+      <pointer-type-def type-id='type-id-3704' size-in-bits='64' id='type-id-3699'/>
+      <pointer-type-def type-id='type-id-3705' size-in-bits='64' id='type-id-3698'/>
+      <pointer-type-def type-id='type-id-3706' size-in-bits='64' id='type-id-3701'/>
+      <pointer-type-def type-id='type-id-3696' size-in-bits='64' id='type-id-3695'/>
+      <pointer-type-def type-id='type-id-3694' size-in-bits='64' id='type-id-3707'/>
+      <pointer-type-def type-id='type-id-3700' size-in-bits='64' id='type-id-3708'/>
+      <pointer-type-def type-id='type-id-3709' size-in-bits='64' id='type-id-3702'/>
+      <function-decl name='spmi_register_read' mangled-name='spmi_register_read' filepath='drivers/spmi/spmi.c' line='148' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='spmi_register_read'>
+        <parameter type-id='type-id-3707' name='sdev' filepath='drivers/spmi/spmi.c' line='148' column='1'/>
+        <parameter type-id='type-id-53' name='addr' filepath='drivers/spmi/spmi.c' line='148' column='1'/>
+        <parameter type-id='type-id-67' name='buf' filepath='drivers/spmi/spmi.c' line='148' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='spmi_ext_register_read' mangled-name='spmi_ext_register_read' filepath='drivers/spmi/spmi.c' line='169' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='spmi_ext_register_read'>
+        <parameter type-id='type-id-3707' name='sdev' filepath='drivers/spmi/spmi.c' line='169' column='1'/>
+        <parameter type-id='type-id-53' name='addr' filepath='drivers/spmi/spmi.c' line='169' column='1'/>
+        <parameter type-id='type-id-67' name='buf' filepath='drivers/spmi/spmi.c' line='169' column='1'/>
+        <parameter type-id='type-id-125' name='len' filepath='drivers/spmi/spmi.c' line='170' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='spmi_ext_register_readl' mangled-name='spmi_ext_register_readl' filepath='drivers/spmi/spmi.c' line='191' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='spmi_ext_register_readl'>
+        <parameter type-id='type-id-3707' name='sdev' filepath='drivers/spmi/spmi.c' line='191' column='1'/>
+        <parameter type-id='type-id-289' name='addr' filepath='drivers/spmi/spmi.c' line='191' column='1'/>
+        <parameter type-id='type-id-67' name='buf' filepath='drivers/spmi/spmi.c' line='191' column='1'/>
+        <parameter type-id='type-id-125' name='len' filepath='drivers/spmi/spmi.c' line='192' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='spmi_register_write' mangled-name='spmi_register_write' filepath='drivers/spmi/spmi.c' line='211' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='spmi_register_write'>
+        <parameter type-id='type-id-3707' name='sdev' filepath='drivers/spmi/spmi.c' line='211' column='1'/>
+        <parameter type-id='type-id-53' name='addr' filepath='drivers/spmi/spmi.c' line='211' column='1'/>
+        <parameter type-id='type-id-53' name='data' filepath='drivers/spmi/spmi.c' line='211' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='spmi_register_zero_write' mangled-name='spmi_register_zero_write' filepath='drivers/spmi/spmi.c' line='229' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='spmi_register_zero_write'>
+        <parameter type-id='type-id-3707' name='sdev' filepath='drivers/spmi/spmi.c' line='229' column='1'/>
+        <parameter type-id='type-id-53' name='data' filepath='drivers/spmi/spmi.c' line='229' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='spmi_ext_register_write' mangled-name='spmi_ext_register_write' filepath='drivers/spmi/spmi.c' line='246' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='spmi_ext_register_write'>
+        <parameter type-id='type-id-3707' name='sdev' filepath='drivers/spmi/spmi.c' line='246' column='1'/>
+        <parameter type-id='type-id-53' name='addr' filepath='drivers/spmi/spmi.c' line='246' column='1'/>
+        <parameter type-id='type-id-55' name='buf' filepath='drivers/spmi/spmi.c' line='246' column='1'/>
+        <parameter type-id='type-id-125' name='len' filepath='drivers/spmi/spmi.c' line='247' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='spmi_ext_register_writel' mangled-name='spmi_ext_register_writel' filepath='drivers/spmi/spmi.c' line='268' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='spmi_ext_register_writel'>
+        <parameter type-id='type-id-3707' name='sdev' filepath='drivers/spmi/spmi.c' line='268' column='1'/>
+        <parameter type-id='type-id-289' name='addr' filepath='drivers/spmi/spmi.c' line='268' column='1'/>
+        <parameter type-id='type-id-55' name='buf' filepath='drivers/spmi/spmi.c' line='268' column='1'/>
+        <parameter type-id='type-id-125' name='len' filepath='drivers/spmi/spmi.c' line='269' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='spmi_controller_alloc' mangled-name='spmi_controller_alloc' filepath='drivers/spmi/spmi.c' line='421' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='spmi_controller_alloc'>
+        <parameter type-id='type-id-86' name='parent' filepath='drivers/spmi/spmi.c' line='421' column='1'/>
+        <parameter type-id='type-id-125' name='size' filepath='drivers/spmi/spmi.c' line='422' column='1'/>
+        <return type-id='type-id-3695'/>
+      </function-decl>
+      <function-decl name='spmi_controller_add' mangled-name='spmi_controller_add' filepath='drivers/spmi/spmi.c' line='516' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='spmi_controller_add'>
+        <parameter type-id='type-id-3695' name='ctrl' filepath='drivers/spmi/spmi.c' line='516' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='spmi_controller_remove' mangled-name='spmi_controller_remove' filepath='drivers/spmi/spmi.c' line='554' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='spmi_controller_remove'>
+        <parameter type-id='type-id-3695' name='ctrl' filepath='drivers/spmi/spmi.c' line='554' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__spmi_driver_register' mangled-name='__spmi_driver_register' filepath='drivers/spmi/spmi.c' line='574' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__spmi_driver_register'>
+        <parameter type-id='type-id-3708' name='sdrv' filepath='drivers/spmi/spmi.c' line='574' column='1'/>
+        <parameter type-id='type-id-19' name='owner' filepath='drivers/spmi/spmi.c' line='574' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-3703'>
+        <parameter type-id='type-id-3695'/>
+        <parameter type-id='type-id-53'/>
+        <parameter type-id='type-id-53'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3704'>
+        <parameter type-id='type-id-3695'/>
+        <parameter type-id='type-id-53'/>
+        <parameter type-id='type-id-53'/>
+        <parameter type-id='type-id-289'/>
+        <parameter type-id='type-id-55'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3705'>
+        <parameter type-id='type-id-3695'/>
+        <parameter type-id='type-id-53'/>
+        <parameter type-id='type-id-53'/>
+        <parameter type-id='type-id-289'/>
+        <parameter type-id='type-id-67'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3706'>
+        <parameter type-id='type-id-3707'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3709'>
+        <parameter type-id='type-id-3707'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/thermal/cpu_cooling.c' language='LANG_C89'>
+      <function-decl name='of_cpufreq_cooling_register' mangled-name='of_cpufreq_cooling_register' filepath='drivers/thermal/cpu_cooling.c' line='669' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_cpufreq_cooling_register'>
+        <parameter type-id='type-id-867' name='policy' filepath='drivers/thermal/cpu_cooling.c' line='669' column='1'/>
+        <return type-id='type-id-3291'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/thermal/devfreq_cooling.c' language='LANG_C89'>
+      <function-decl name='dev_pm_opp_find_freq_exact' mangled-name='dev_pm_opp_find_freq_exact' filepath='include/linux/pm_opp.h' line='96' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_pm_opp_find_freq_exact'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-264'/>
+        <return type-id='type-id-602'/>
+      </function-decl>
+      <function-decl name='dev_pm_opp_get_voltage' mangled-name='dev_pm_opp_get_voltage' filepath='include/linux/pm_opp.h' line='84' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_pm_opp_get_voltage'>
+        <parameter type-id='type-id-602'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+      <function-decl name='dev_pm_opp_disable' mangled-name='dev_pm_opp_disable' filepath='include/linux/pm_opp.h' line='113' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_pm_opp_disable'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='dev_pm_opp_get_opp_count' mangled-name='dev_pm_opp_get_opp_count' filepath='include/linux/pm_opp.h' line='90' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_pm_opp_get_opp_count'>
+        <parameter type-id='type-id-86'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='dev_pm_opp_find_freq_floor' mangled-name='dev_pm_opp_find_freq_floor' filepath='include/linux/pm_opp.h' line='100' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_pm_opp_find_freq_floor'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-76'/>
+        <return type-id='type-id-602'/>
+      </function-decl>
+      <function-decl name='of_devfreq_cooling_register' mangled-name='of_devfreq_cooling_register' filepath='drivers/thermal/devfreq_cooling.c' line='572' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_devfreq_cooling_register'>
+        <parameter type-id='type-id-81' name='np' filepath='drivers/thermal/devfreq_cooling.c' line='572' column='1'/>
+        <parameter type-id='type-id-888' name='df' filepath='drivers/thermal/devfreq_cooling.c' line='572' column='1'/>
+        <return type-id='type-id-3291'/>
+      </function-decl>
+      <function-decl name='devfreq_cooling_unregister' mangled-name='devfreq_cooling_unregister' filepath='drivers/thermal/devfreq_cooling.c' line='592' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devfreq_cooling_unregister'>
+        <parameter type-id='type-id-3291' name='cdev' filepath='drivers/thermal/devfreq_cooling.c' line='592' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/thermal/of-thermal.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-300' size-in-bits='640' id='type-id-3710'>
+        <subrange length='10' type-id='type-id-5' id='type-id-1148'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='320' id='type-id-3711'>
+        <subrange length='10' type-id='type-id-5' id='type-id-1148'/>
+
+      </array-type-def>
+      <class-decl name='virtual_sensor_data' size-in-bits='1280' is-struct='yes' visibility='default' filepath='include/linux/thermal.h' line='410' column='1' id='type-id-3712'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='num_sensors' type-id='type-id-11' visibility='default' filepath='include/linux/thermal.h' line='411' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='virt_zone_name' type-id='type-id-1816' visibility='default' filepath='include/linux/thermal.h' line='412' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='sensor_names' type-id='type-id-3710' visibility='default' filepath='include/linux/thermal.h' line='413' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='logic' type-id='type-id-3713' visibility='default' filepath='include/linux/thermal.h' line='414' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='864'>
+          <var-decl name='coefficients' type-id='type-id-3711' visibility='default' filepath='include/linux/thermal.h' line='415' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1184'>
+          <var-decl name='coefficient_ct' type-id='type-id-11' visibility='default' filepath='include/linux/thermal.h' line='416' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='avg_offset' type-id='type-id-11' visibility='default' filepath='include/linux/thermal.h' line='417' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1248'>
+          <var-decl name='avg_denominator' type-id='type-id-11' visibility='default' filepath='include/linux/thermal.h' line='418' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='aggregation_logic' filepath='include/linux/thermal.h' line='388' column='1' id='type-id-3713'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='VIRT_WEIGHTED_AVG' value='0'/>
+        <enumerator name='VIRT_MAXIMUM' value='1'/>
+        <enumerator name='VIRT_MINIMUM' value='2'/>
+        <enumerator name='VIRT_COUNT_THRESHOLD' value='3'/>
+        <enumerator name='VIRT_AGGREGATION_NR' value='4'/>
+      </enum-decl>
+      <class-decl name='thermal_zone_of_device_ops' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/thermal.h' line='364' column='1' id='type-id-3714'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='get_temp' type-id='type-id-3715' visibility='default' filepath='include/linux/thermal.h' line='365' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='get_trend' type-id='type-id-3716' visibility='default' filepath='include/linux/thermal.h' line='366' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='set_trips' type-id='type-id-3717' visibility='default' filepath='include/linux/thermal.h' line='367' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='set_emul_temp' type-id='type-id-3718' visibility='default' filepath='include/linux/thermal.h' line='368' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='set_trip_temp' type-id='type-id-3717' visibility='default' filepath='include/linux/thermal.h' line='369' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-3714' const='yes' id='type-id-3719'/>
+      <pointer-type-def type-id='type-id-3719' size-in-bits='64' id='type-id-3720'/>
+      <qualified-type-def type-id='type-id-3712' const='yes' id='type-id-3721'/>
+      <pointer-type-def type-id='type-id-3721' size-in-bits='64' id='type-id-3722'/>
+      <pointer-type-def type-id='type-id-3723' size-in-bits='64' id='type-id-3718'/>
+      <pointer-type-def type-id='type-id-3724' size-in-bits='64' id='type-id-3715'/>
+      <pointer-type-def type-id='type-id-3725' size-in-bits='64' id='type-id-3717'/>
+      <pointer-type-def type-id='type-id-3726' size-in-bits='64' id='type-id-3716'/>
+      <function-decl name='of_find_node_by_name' mangled-name='of_find_node_by_name' filepath='include/linux/of.h' line='275' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_find_node_by_name'>
+        <parameter type-id='type-id-81'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-81'/>
+      </function-decl>
+      <function-decl name='devm_thermal_of_virtual_sensor_register' mangled-name='devm_thermal_of_virtual_sensor_register' filepath='drivers/thermal/of-thermal.c' line='783' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_thermal_of_virtual_sensor_register'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/thermal/of-thermal.c' line='784' column='1'/>
+        <parameter type-id='type-id-3722' name='sensor_data' filepath='drivers/thermal/of-thermal.c' line='785' column='1'/>
+        <return type-id='type-id-3297'/>
+      </function-decl>
+      <function-decl name='thermal_zone_of_sensor_register' mangled-name='thermal_zone_of_sensor_register' filepath='drivers/thermal/of-thermal.c' line='570' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='thermal_zone_of_sensor_register'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/thermal/of-thermal.c' line='570' column='1'/>
+        <parameter type-id='type-id-11' name='sensor_id' filepath='drivers/thermal/of-thermal.c' line='570' column='1'/>
+        <parameter type-id='type-id-3' name='data' filepath='drivers/thermal/of-thermal.c' line='570' column='1'/>
+        <parameter type-id='type-id-3720' name='ops' filepath='drivers/thermal/of-thermal.c' line='571' column='1'/>
+        <return type-id='type-id-3297'/>
+      </function-decl>
+      <function-decl name='thermal_zone_of_sensor_unregister' mangled-name='thermal_zone_of_sensor_unregister' filepath='drivers/thermal/of-thermal.c' line='652' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='thermal_zone_of_sensor_unregister'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/thermal/of-thermal.c' line='652' column='1'/>
+        <parameter type-id='type-id-3297' name='tzd' filepath='drivers/thermal/of-thermal.c' line='653' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='devm_thermal_zone_of_sensor_register' mangled-name='devm_thermal_zone_of_sensor_register' filepath='drivers/thermal/of-thermal.c' line='713' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_thermal_zone_of_sensor_register'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/thermal/of-thermal.c' line='714' column='1'/>
+        <parameter type-id='type-id-11' name='sensor_id' filepath='drivers/thermal/of-thermal.c' line='714' column='1'/>
+        <parameter type-id='type-id-3' name='data' filepath='drivers/thermal/of-thermal.c' line='715' column='1'/>
+        <parameter type-id='type-id-3720' name='ops' filepath='drivers/thermal/of-thermal.c' line='715' column='1'/>
+        <return type-id='type-id-3297'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-3723'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3724'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-82'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3725'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3726'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-3338'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/thermal/thermal_core.c' language='LANG_C89'>
+      <function-decl name='thermal_cdev_update' mangled-name='thermal_cdev_update' filepath='include/linux/thermal.h' line='515' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='thermal_cdev_update'>
+        <parameter type-id='type-id-3291'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='thermal_zone_get_temp' mangled-name='thermal_zone_get_temp' filepath='include/linux/thermal.h' line='508' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='thermal_zone_get_temp'>
+        <parameter type-id='type-id-3297'/>
+        <parameter type-id='type-id-82'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='genl_unregister_family' mangled-name='genl_unregister_family' filepath='include/net/genetlink.h' line='147' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='genl_unregister_family'>
+        <parameter type-id='type-id-3727'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='thermal_zone_device_update' mangled-name='thermal_zone_device_update' filepath='drivers/thermal/thermal_core.c' line='468' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='thermal_zone_device_update'>
+        <parameter type-id='type-id-3297' name='tz' filepath='drivers/thermal/thermal_core.c' line='468' column='1'/>
+        <parameter type-id='type-id-3264' name='event' filepath='drivers/thermal/thermal_core.c' line='469' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='thermal_of_cooling_device_register' mangled-name='thermal_of_cooling_device_register' filepath='drivers/thermal/thermal_core.c' line='1041' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='thermal_of_cooling_device_register'>
+        <parameter type-id='type-id-81' name='np' filepath='drivers/thermal/thermal_core.c' line='1041' column='1'/>
+        <parameter type-id='type-id-300' name='type' filepath='drivers/thermal/thermal_core.c' line='1042' column='1'/>
+        <parameter type-id='type-id-3' name='devdata' filepath='drivers/thermal/thermal_core.c' line='1042' column='1'/>
+        <parameter type-id='type-id-3278' name='ops' filepath='drivers/thermal/thermal_core.c' line='1043' column='1'/>
+        <return type-id='type-id-3291'/>
+      </function-decl>
+      <function-decl name='thermal_zone_get_zone_by_name' mangled-name='thermal_zone_get_zone_by_name' filepath='drivers/thermal/thermal_core.c' line='1374' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='thermal_zone_get_zone_by_name'>
+        <parameter type-id='type-id-24' name='name' filepath='drivers/thermal/thermal_core.c' line='1374' column='1'/>
+        <return type-id='type-id-3297'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/tty/serdev/core.c' language='LANG_C89'>
+      <class-decl name='serdev_device' size-in-bits='6912' is-struct='yes' visibility='default' filepath='include/linux/serdev.h' line='49' column='1' id='type-id-3728'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='include/linux/serdev.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6208'>
+          <var-decl name='nr' type-id='type-id-11' visibility='default' filepath='include/linux/serdev.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6272'>
+          <var-decl name='ctrl' type-id='type-id-3729' visibility='default' filepath='include/linux/serdev.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6336'>
+          <var-decl name='ops' type-id='type-id-3730' visibility='default' filepath='include/linux/serdev.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6400'>
+          <var-decl name='write_comp' type-id='type-id-661' visibility='default' filepath='include/linux/serdev.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6656'>
+          <var-decl name='write_lock' type-id='type-id-407' visibility='default' filepath='include/linux/serdev.h' line='55' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='serdev_controller' size-in-bits='6400' is-struct='yes' visibility='default' filepath='include/linux/serdev.h' line='111' column='1' id='type-id-3731'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='include/linux/serdev.h' line='112' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6208'>
+          <var-decl name='nr' type-id='type-id-10' visibility='default' filepath='include/linux/serdev.h' line='113' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6272'>
+          <var-decl name='serdev' type-id='type-id-3732' visibility='default' filepath='include/linux/serdev.h' line='114' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6336'>
+          <var-decl name='ops' type-id='type-id-3733' visibility='default' filepath='include/linux/serdev.h' line='115' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='serdev_controller_ops' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/linux/serdev.h' line='90' column='1' id='type-id-3734'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='write_buf' type-id='type-id-3735' visibility='default' filepath='include/linux/serdev.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='write_flush' type-id='type-id-3736' visibility='default' filepath='include/linux/serdev.h' line='92' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='write_room' type-id='type-id-3737' visibility='default' filepath='include/linux/serdev.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='open' type-id='type-id-3737' visibility='default' filepath='include/linux/serdev.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='close' type-id='type-id-3736' visibility='default' filepath='include/linux/serdev.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='set_flow_control' type-id='type-id-3738' visibility='default' filepath='include/linux/serdev.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='set_parity' type-id='type-id-3739' visibility='default' filepath='include/linux/serdev.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='set_baudrate' type-id='type-id-3740' visibility='default' filepath='include/linux/serdev.h' line='98' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='wait_until_sent' type-id='type-id-3741' visibility='default' filepath='include/linux/serdev.h' line='99' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='get_tiocm' type-id='type-id-3737' visibility='default' filepath='include/linux/serdev.h' line='100' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='set_tiocm' type-id='type-id-3742' visibility='default' filepath='include/linux/serdev.h' line='101' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='serdev_parity' filepath='include/linux/serdev.h' line='81' column='1' id='type-id-3743'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='SERDEV_PARITY_NONE' value='0'/>
+        <enumerator name='SERDEV_PARITY_EVEN' value='1'/>
+        <enumerator name='SERDEV_PARITY_ODD' value='2'/>
+      </enum-decl>
+      <class-decl name='serdev_device_ops' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/serdev.h' line='35' column='1' id='type-id-3744'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='receive_buf' type-id='type-id-3745' visibility='default' filepath='include/linux/serdev.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='write_wakeup' type-id='type-id-3746' visibility='default' filepath='include/linux/serdev.h' line='37' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-3734' const='yes' id='type-id-3747'/>
+      <pointer-type-def type-id='type-id-3747' size-in-bits='64' id='type-id-3733'/>
+      <qualified-type-def type-id='type-id-3744' const='yes' id='type-id-3748'/>
+      <pointer-type-def type-id='type-id-3748' size-in-bits='64' id='type-id-3730'/>
+      <pointer-type-def type-id='type-id-3749' size-in-bits='64' id='type-id-3737'/>
+      <pointer-type-def type-id='type-id-3750' size-in-bits='64' id='type-id-3735'/>
+      <pointer-type-def type-id='type-id-3751' size-in-bits='64' id='type-id-3739'/>
+      <pointer-type-def type-id='type-id-3752' size-in-bits='64' id='type-id-3742'/>
+      <pointer-type-def type-id='type-id-3753' size-in-bits='64' id='type-id-3745'/>
+      <pointer-type-def type-id='type-id-3731' size-in-bits='64' id='type-id-3729'/>
+      <pointer-type-def type-id='type-id-3728' size-in-bits='64' id='type-id-3732'/>
+      <pointer-type-def type-id='type-id-3754' size-in-bits='64' id='type-id-3740'/>
+      <pointer-type-def type-id='type-id-3755' size-in-bits='64' id='type-id-3736'/>
+      <pointer-type-def type-id='type-id-3756' size-in-bits='64' id='type-id-3741'/>
+      <pointer-type-def type-id='type-id-3757' size-in-bits='64' id='type-id-3738'/>
+      <pointer-type-def type-id='type-id-3758' size-in-bits='64' id='type-id-3746'/>
+      <function-decl name='device_for_each_child' mangled-name='device_for_each_child' filepath='include/linux/device.h' line='1264' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_for_each_child'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-1930'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='of_device_modalias' mangled-name='of_device_modalias' filepath='include/linux/of_device.h' line='38' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_device_modalias'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-187'/>
+        <return type-id='type-id-187'/>
+      </function-decl>
+      <function-decl name='of_device_uevent_modalias' mangled-name='of_device_uevent_modalias' filepath='include/linux/of_device.h' line='42' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_device_uevent_modalias'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-448'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='serdev_device_open' mangled-name='serdev_device_open' filepath='drivers/tty/serdev/core.c' line='167' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='serdev_device_open'>
+        <parameter type-id='type-id-3732' name='serdev' filepath='drivers/tty/serdev/core.c' line='167' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='serdev_device_close' mangled-name='serdev_device_close' filepath='drivers/tty/serdev/core.c' line='195' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='serdev_device_close'>
+        <parameter type-id='type-id-3732' name='serdev' filepath='drivers/tty/serdev/core.c' line='195' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='serdev_device_write_wakeup' mangled-name='serdev_device_write_wakeup' filepath='drivers/tty/serdev/core.c' line='235' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='serdev_device_write_wakeup'>
+        <parameter type-id='type-id-3732' name='serdev' filepath='drivers/tty/serdev/core.c' line='235' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='serdev_device_write' mangled-name='serdev_device_write' filepath='drivers/tty/serdev/core.c' line='253' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='serdev_device_write'>
+        <parameter type-id='type-id-3732' name='serdev' filepath='drivers/tty/serdev/core.c' line='253' column='1'/>
+        <parameter type-id='type-id-984' name='buf' filepath='drivers/tty/serdev/core.c' line='254' column='1'/>
+        <parameter type-id='type-id-125' name='count' filepath='drivers/tty/serdev/core.c' line='254' column='1'/>
+        <parameter type-id='type-id-100' name='timeout' filepath='drivers/tty/serdev/core.c' line='255' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='serdev_device_set_baudrate' mangled-name='serdev_device_set_baudrate' filepath='drivers/tty/serdev/core.c' line='305' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='serdev_device_set_baudrate'>
+        <parameter type-id='type-id-3732' name='serdev' filepath='drivers/tty/serdev/core.c' line='305' column='1'/>
+        <parameter type-id='type-id-10' name='speed' filepath='drivers/tty/serdev/core.c' line='305' column='1'/>
+        <return type-id='type-id-10'/>
+      </function-decl>
+      <function-decl name='serdev_device_set_flow_control' mangled-name='serdev_device_set_flow_control' filepath='drivers/tty/serdev/core.c' line='317' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='serdev_device_set_flow_control'>
+        <parameter type-id='type-id-3732' name='serdev' filepath='drivers/tty/serdev/core.c' line='317' column='1'/>
+        <parameter type-id='type-id-211' name='enable' filepath='drivers/tty/serdev/core.c' line='317' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='serdev_device_wait_until_sent' mangled-name='serdev_device_wait_until_sent' filepath='drivers/tty/serdev/core.c' line='340' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='serdev_device_wait_until_sent'>
+        <parameter type-id='type-id-3732' name='serdev' filepath='drivers/tty/serdev/core.c' line='340' column='1'/>
+        <parameter type-id='type-id-187' name='timeout' filepath='drivers/tty/serdev/core.c' line='340' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-3749'>
+        <parameter type-id='type-id-3729'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3750'>
+        <parameter type-id='type-id-3729'/>
+        <parameter type-id='type-id-984'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3751'>
+        <parameter type-id='type-id-3729'/>
+        <parameter type-id='type-id-3743'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3752'>
+        <parameter type-id='type-id-3729'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3753'>
+        <parameter type-id='type-id-3732'/>
+        <parameter type-id='type-id-984'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3754'>
+        <parameter type-id='type-id-3729'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-10'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3755'>
+        <parameter type-id='type-id-3729'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3756'>
+        <parameter type-id='type-id-3729'/>
+        <parameter type-id='type-id-187'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3757'>
+        <parameter type-id='type-id-3729'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3758'>
+        <parameter type-id='type-id-3732'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/tty/serial/8250/8250_core.c' language='LANG_C89'>
+      <function-decl name='platform_device_del' mangled-name='platform_device_del' filepath='include/linux/platform_device.h' line='177' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='platform_device_del'>
+        <parameter type-id='type-id-568'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/tty/serial/8250/8250_of.c' language='LANG_C89'>
+      <function-decl name='of_match_device' mangled-name='of_match_device' filepath='include/linux/of_device.h' line='15' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_match_device'>
+        <parameter type-id='type-id-3123'/>
+        <parameter type-id='type-id-512'/>
+        <return type-id='type-id-3123'/>
+      </function-decl>
+      <function-decl name='of_alias_get_id' mangled-name='of_alias_get_id' filepath='include/linux/of.h' line='398' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_alias_get_id'>
+        <parameter type-id='type-id-81'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='of_irq_get' mangled-name='of_irq_get' filepath='include/linux/of_irq.h' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_irq_get'>
+        <parameter type-id='type-id-81'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/tty/serial/serial_core.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-266' size-in-bits='160' id='type-id-2394'>
+        <subrange length='5' type-id='type-id-5' id='type-id-3376'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-475' size-in-bits='8' id='type-id-3759'>
+        <subrange length='1' type-id='type-id-5' id='type-id-192'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-271' size-in-bits='16' id='type-id-3760'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+      </array-type-def>
+      <class-decl name='uart_driver' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/serial_core.h' line='312' column='1' id='type-id-3761'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/linux/serial_core.h' line='313' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='driver_name' type-id='type-id-24' visibility='default' filepath='include/linux/serial_core.h' line='314' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='dev_name' type-id='type-id-24' visibility='default' filepath='include/linux/serial_core.h' line='315' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='major' type-id='type-id-11' visibility='default' filepath='include/linux/serial_core.h' line='316' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='minor' type-id='type-id-11' visibility='default' filepath='include/linux/serial_core.h' line='317' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='nr' type-id='type-id-11' visibility='default' filepath='include/linux/serial_core.h' line='318' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='cons' type-id='type-id-3762' visibility='default' filepath='include/linux/serial_core.h' line='319' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='state' type-id='type-id-3763' visibility='default' filepath='include/linux/serial_core.h' line='325' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='tty_driver' type-id='type-id-3764' visibility='default' filepath='include/linux/serial_core.h' line='326' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='console' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/linux/console.h' line='145' column='1' id='type-id-3765'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-847' visibility='default' filepath='include/linux/console.h' line='146' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='write' type-id='type-id-3766' visibility='default' filepath='include/linux/console.h' line='147' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='read' type-id='type-id-3767' visibility='default' filepath='include/linux/console.h' line='148' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='device' type-id='type-id-3768' visibility='default' filepath='include/linux/console.h' line='149' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='unblank' type-id='type-id-3769' visibility='default' filepath='include/linux/console.h' line='150' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='setup' type-id='type-id-3770' visibility='default' filepath='include/linux/console.h' line='151' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='match' type-id='type-id-3771' visibility='default' filepath='include/linux/console.h' line='152' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='flags' type-id='type-id-3521' visibility='default' filepath='include/linux/console.h' line='153' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='528'>
+          <var-decl name='index' type-id='type-id-3521' visibility='default' filepath='include/linux/console.h' line='154' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='cflag' type-id='type-id-11' visibility='default' filepath='include/linux/console.h' line='155' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='data' type-id='type-id-3' visibility='default' filepath='include/linux/console.h' line='156' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='next' type-id='type-id-3762' visibility='default' filepath='include/linux/console.h' line='157' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='uart_state' size-in-bits='3328' is-struct='yes' visibility='default' filepath='include/linux/serial_core.h' line='292' column='1' id='type-id-3772'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='port' type-id='type-id-3773' visibility='default' filepath='include/linux/serial_core.h' line='293' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2816'>
+          <var-decl name='pm_state' type-id='type-id-3774' visibility='default' filepath='include/linux/serial_core.h' line='295' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2880'>
+          <var-decl name='xmit' type-id='type-id-3775' visibility='default' filepath='include/linux/serial_core.h' line='296' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3008'>
+          <var-decl name='refcount' type-id='type-id-137' visibility='default' filepath='include/linux/serial_core.h' line='298' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3072'>
+          <var-decl name='remove_wait' type-id='type-id-388' visibility='default' filepath='include/linux/serial_core.h' line='299' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3264'>
+          <var-decl name='uart_port' type-id='type-id-3776' visibility='default' filepath='include/linux/serial_core.h' line='300' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='uart_pm_state' filepath='include/linux/serial_core.h' line='283' column='1' id='type-id-3774'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='UART_PM_STATE_ON' value='0'/>
+        <enumerator name='UART_PM_STATE_OFF' value='3'/>
+        <enumerator name='UART_PM_STATE_UNDEFINED' value='4'/>
+      </enum-decl>
+      <class-decl name='circ_buf' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/circ_buf.h' line='9' column='1' id='type-id-3775'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='buf' type-id='type-id-300' visibility='default' filepath='include/linux/circ_buf.h' line='10' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='head' type-id='type-id-11' visibility='default' filepath='include/linux/circ_buf.h' line='11' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='tail' type-id='type-id-11' visibility='default' filepath='include/linux/circ_buf.h' line='12' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='uart_port' size-in-bits='3328' is-struct='yes' visibility='default' filepath='include/linux/serial_core.h' line='117' column='1' id='type-id-3777'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/linux/serial_core.h' line='118' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='iobase' type-id='type-id-100' visibility='default' filepath='include/linux/serial_core.h' line='119' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='membase' type-id='type-id-1047' visibility='default' filepath='include/linux/serial_core.h' line='120' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='serial_in' type-id='type-id-3778' visibility='default' filepath='include/linux/serial_core.h' line='121' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='serial_out' type-id='type-id-3779' visibility='default' filepath='include/linux/serial_core.h' line='122' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='set_termios' type-id='type-id-3780' visibility='default' filepath='include/linux/serial_core.h' line='123' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='set_ldisc' type-id='type-id-3781' visibility='default' filepath='include/linux/serial_core.h' line='126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='get_mctrl' type-id='type-id-3782' visibility='default' filepath='include/linux/serial_core.h' line='128' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='set_mctrl' type-id='type-id-3783' visibility='default' filepath='include/linux/serial_core.h' line='129' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='get_divisor' type-id='type-id-3784' visibility='default' filepath='include/linux/serial_core.h' line='130' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='set_divisor' type-id='type-id-3785' visibility='default' filepath='include/linux/serial_core.h' line='133' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='startup' type-id='type-id-3786' visibility='default' filepath='include/linux/serial_core.h' line='137' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='shutdown' type-id='type-id-3787' visibility='default' filepath='include/linux/serial_core.h' line='138' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='throttle' type-id='type-id-3787' visibility='default' filepath='include/linux/serial_core.h' line='139' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='unthrottle' type-id='type-id-3787' visibility='default' filepath='include/linux/serial_core.h' line='140' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='handle_irq' type-id='type-id-3786' visibility='default' filepath='include/linux/serial_core.h' line='141' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='pm' type-id='type-id-3788' visibility='default' filepath='include/linux/serial_core.h' line='142' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='handle_break' type-id='type-id-3787' visibility='default' filepath='include/linux/serial_core.h' line='144' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='rs485_config' type-id='type-id-3789' visibility='default' filepath='include/linux/serial_core.h' line='145' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='irq' type-id='type-id-10' visibility='default' filepath='include/linux/serial_core.h' line='147' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='irqflags' type-id='type-id-100' visibility='default' filepath='include/linux/serial_core.h' line='148' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='uartclk' type-id='type-id-10' visibility='default' filepath='include/linux/serial_core.h' line='149' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1376'>
+          <var-decl name='fifosize' type-id='type-id-10' visibility='default' filepath='include/linux/serial_core.h' line='150' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='x_char' type-id='type-id-271' visibility='default' filepath='include/linux/serial_core.h' line='151' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1416'>
+          <var-decl name='regshift' type-id='type-id-271' visibility='default' filepath='include/linux/serial_core.h' line='152' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1424'>
+          <var-decl name='iotype' type-id='type-id-271' visibility='default' filepath='include/linux/serial_core.h' line='153' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1432'>
+          <var-decl name='quirks' type-id='type-id-271' visibility='default' filepath='include/linux/serial_core.h' line='154' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1440'>
+          <var-decl name='read_status_mask' type-id='type-id-10' visibility='default' filepath='include/linux/serial_core.h' line='168' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='ignore_status_mask' type-id='type-id-10' visibility='default' filepath='include/linux/serial_core.h' line='169' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='state' type-id='type-id-3763' visibility='default' filepath='include/linux/serial_core.h' line='170' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='icount' type-id='type-id-3790' visibility='default' filepath='include/linux/serial_core.h' line='171' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='cons' type-id='type-id-3762' visibility='default' filepath='include/linux/serial_core.h' line='173' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='sysrq' type-id='type-id-100' visibility='default' filepath='include/linux/serial_core.h' line='175' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='sysrq_ch' type-id='type-id-10' visibility='default' filepath='include/linux/serial_core.h' line='176' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2144'>
+          <var-decl name='flags' type-id='type-id-3791' visibility='default' filepath='include/linux/serial_core.h' line='180' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='status' type-id='type-id-3792' visibility='default' filepath='include/linux/serial_core.h' line='237' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2208'>
+          <var-decl name='hw_stopped' type-id='type-id-11' visibility='default' filepath='include/linux/serial_core.h' line='246' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='mctrl' type-id='type-id-10' visibility='default' filepath='include/linux/serial_core.h' line='247' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2272'>
+          <var-decl name='timeout' type-id='type-id-10' visibility='default' filepath='include/linux/serial_core.h' line='248' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='type' type-id='type-id-10' visibility='default' filepath='include/linux/serial_core.h' line='249' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='ops' type-id='type-id-3793' visibility='default' filepath='include/linux/serial_core.h' line='250' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='custom_divisor' type-id='type-id-10' visibility='default' filepath='include/linux/serial_core.h' line='251' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2464'>
+          <var-decl name='line' type-id='type-id-10' visibility='default' filepath='include/linux/serial_core.h' line='252' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='minor' type-id='type-id-10' visibility='default' filepath='include/linux/serial_core.h' line='253' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='mapbase' type-id='type-id-1254' visibility='default' filepath='include/linux/serial_core.h' line='254' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2624'>
+          <var-decl name='mapsize' type-id='type-id-1254' visibility='default' filepath='include/linux/serial_core.h' line='255' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2688'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/linux/serial_core.h' line='256' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2752'>
+          <var-decl name='hub6' type-id='type-id-271' visibility='default' filepath='include/linux/serial_core.h' line='257' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2760'>
+          <var-decl name='suspended' type-id='type-id-271' visibility='default' filepath='include/linux/serial_core.h' line='258' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2768'>
+          <var-decl name='unused' type-id='type-id-3760' visibility='default' filepath='include/linux/serial_core.h' line='259' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2816'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/serial_core.h' line='260' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2880'>
+          <var-decl name='attr_group' type-id='type-id-3794' visibility='default' filepath='include/linux/serial_core.h' line='261' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2944'>
+          <var-decl name='tty_groups' type-id='type-id-298' visibility='default' filepath='include/linux/serial_core.h' line='262' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3008'>
+          <var-decl name='rs485' type-id='type-id-3795' visibility='default' filepath='include/linux/serial_core.h' line='263' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3264'>
+          <var-decl name='private_data' type-id='type-id-3' visibility='default' filepath='include/linux/serial_core.h' line='264' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='serial_rs485' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/uapi/linux/serial.h' line='117' column='1' id='type-id-3795'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='flags' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/serial.h' line='118' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='delay_rts_before_send' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/serial.h' line='129' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='delay_rts_after_send' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/serial.h' line='130' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='padding' type-id='type-id-2394' visibility='default' filepath='include/uapi/linux/serial.h' line='131' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='uart_icount' size-in-bits='352' is-struct='yes' visibility='default' filepath='include/linux/serial_core.h' line='100' column='1' id='type-id-3790'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cts' type-id='type-id-266' visibility='default' filepath='include/linux/serial_core.h' line='101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='dsr' type-id='type-id-266' visibility='default' filepath='include/linux/serial_core.h' line='102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='rng' type-id='type-id-266' visibility='default' filepath='include/linux/serial_core.h' line='103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='dcd' type-id='type-id-266' visibility='default' filepath='include/linux/serial_core.h' line='104' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='rx' type-id='type-id-266' visibility='default' filepath='include/linux/serial_core.h' line='105' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='tx' type-id='type-id-266' visibility='default' filepath='include/linux/serial_core.h' line='106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='frame' type-id='type-id-266' visibility='default' filepath='include/linux/serial_core.h' line='107' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='overrun' type-id='type-id-266' visibility='default' filepath='include/linux/serial_core.h' line='108' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='parity' type-id='type-id-266' visibility='default' filepath='include/linux/serial_core.h' line='109' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='brk' type-id='type-id-266' visibility='default' filepath='include/linux/serial_core.h' line='110' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='buf_overrun' type-id='type-id-266' visibility='default' filepath='include/linux/serial_core.h' line='111' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='upf_t' type-id='type-id-10' filepath='include/linux/serial_core.h' line='114' column='1' id='type-id-3791'/>
+      <typedef-decl name='upstat_t' type-id='type-id-10' filepath='include/linux/serial_core.h' line='115' column='1' id='type-id-3792'/>
+      <class-decl name='uart_ops' size-in-bits='1472' is-struct='yes' visibility='default' filepath='include/linux/serial_core.h' line='49' column='1' id='type-id-3796'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='tx_empty' type-id='type-id-3782' visibility='default' filepath='include/linux/serial_core.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='set_mctrl' type-id='type-id-3783' visibility='default' filepath='include/linux/serial_core.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='get_mctrl' type-id='type-id-3782' visibility='default' filepath='include/linux/serial_core.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='stop_tx' type-id='type-id-3787' visibility='default' filepath='include/linux/serial_core.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='start_tx' type-id='type-id-3787' visibility='default' filepath='include/linux/serial_core.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='throttle' type-id='type-id-3787' visibility='default' filepath='include/linux/serial_core.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='unthrottle' type-id='type-id-3787' visibility='default' filepath='include/linux/serial_core.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='send_xchar' type-id='type-id-3797' visibility='default' filepath='include/linux/serial_core.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='stop_rx' type-id='type-id-3787' visibility='default' filepath='include/linux/serial_core.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='enable_ms' type-id='type-id-3787' visibility='default' filepath='include/linux/serial_core.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='break_ctl' type-id='type-id-3798' visibility='default' filepath='include/linux/serial_core.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='startup' type-id='type-id-3786' visibility='default' filepath='include/linux/serial_core.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='shutdown' type-id='type-id-3787' visibility='default' filepath='include/linux/serial_core.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='flush_buffer' type-id='type-id-3787' visibility='default' filepath='include/linux/serial_core.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='set_termios' type-id='type-id-3780' visibility='default' filepath='include/linux/serial_core.h' line='64' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='set_ldisc' type-id='type-id-3781' visibility='default' filepath='include/linux/serial_core.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='pm' type-id='type-id-3788' visibility='default' filepath='include/linux/serial_core.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='type' type-id='type-id-3799' visibility='default' filepath='include/linux/serial_core.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='release_port' type-id='type-id-3787' visibility='default' filepath='include/linux/serial_core.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='request_port' type-id='type-id-3786' visibility='default' filepath='include/linux/serial_core.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='config_port' type-id='type-id-3798' visibility='default' filepath='include/linux/serial_core.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='verify_port' type-id='type-id-3800' visibility='default' filepath='include/linux/serial_core.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='ioctl' type-id='type-id-3801' visibility='default' filepath='include/linux/serial_core.h' line='88' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='serial_struct' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/uapi/linux/serial.h' line='19' column='1' id='type-id-3802'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-11' visibility='default' filepath='include/uapi/linux/serial.h' line='20' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='line' type-id='type-id-11' visibility='default' filepath='include/uapi/linux/serial.h' line='21' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='port' type-id='type-id-10' visibility='default' filepath='include/uapi/linux/serial.h' line='22' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='irq' type-id='type-id-11' visibility='default' filepath='include/uapi/linux/serial.h' line='23' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='flags' type-id='type-id-11' visibility='default' filepath='include/uapi/linux/serial.h' line='24' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='xmit_fifo_size' type-id='type-id-11' visibility='default' filepath='include/uapi/linux/serial.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='custom_divisor' type-id='type-id-11' visibility='default' filepath='include/uapi/linux/serial.h' line='26' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='baud_base' type-id='type-id-11' visibility='default' filepath='include/uapi/linux/serial.h' line='27' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='close_delay' type-id='type-id-288' visibility='default' filepath='include/uapi/linux/serial.h' line='28' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='272'>
+          <var-decl name='io_type' type-id='type-id-475' visibility='default' filepath='include/uapi/linux/serial.h' line='29' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='280'>
+          <var-decl name='reserved_char' type-id='type-id-3759' visibility='default' filepath='include/uapi/linux/serial.h' line='30' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='hub6' type-id='type-id-11' visibility='default' filepath='include/uapi/linux/serial.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='closing_wait' type-id='type-id-288' visibility='default' filepath='include/uapi/linux/serial.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='336'>
+          <var-decl name='closing_wait2' type-id='type-id-288' visibility='default' filepath='include/uapi/linux/serial.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='iomem_base' type-id='type-id-1047' visibility='default' filepath='include/uapi/linux/serial.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='iomem_reg_shift' type-id='type-id-288' visibility='default' filepath='include/uapi/linux/serial.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='port_high' type-id='type-id-10' visibility='default' filepath='include/uapi/linux/serial.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='iomap_base' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/serial.h' line='37' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-1025' size-in-bits='64' id='type-id-3794'/>
+      <pointer-type-def type-id='type-id-3765' size-in-bits='64' id='type-id-3762'/>
+      <pointer-type-def type-id='type-id-3803' size-in-bits='64' id='type-id-3799'/>
+      <qualified-type-def type-id='type-id-3796' const='yes' id='type-id-3804'/>
+      <pointer-type-def type-id='type-id-3804' size-in-bits='64' id='type-id-3793'/>
+      <pointer-type-def type-id='type-id-3805' size-in-bits='64' id='type-id-3770'/>
+      <pointer-type-def type-id='type-id-3806' size-in-bits='64' id='type-id-3771'/>
+      <pointer-type-def type-id='type-id-3807' size-in-bits='64' id='type-id-3767'/>
+      <pointer-type-def type-id='type-id-3808' size-in-bits='64' id='type-id-3786'/>
+      <pointer-type-def type-id='type-id-3809' size-in-bits='64' id='type-id-3789'/>
+      <pointer-type-def type-id='type-id-3810' size-in-bits='64' id='type-id-3800'/>
+      <pointer-type-def type-id='type-id-3811' size-in-bits='64' id='type-id-3801'/>
+      <pointer-type-def type-id='type-id-3795' size-in-bits='64' id='type-id-3812'/>
+      <pointer-type-def type-id='type-id-3802' size-in-bits='64' id='type-id-3813'/>
+      <pointer-type-def type-id='type-id-3814' size-in-bits='64' id='type-id-3768'/>
+      <pointer-type-def type-id='type-id-3761' size-in-bits='64' id='type-id-3815'/>
+      <pointer-type-def type-id='type-id-3777' size-in-bits='64' id='type-id-3776'/>
+      <pointer-type-def type-id='type-id-3772' size-in-bits='64' id='type-id-3763'/>
+      <pointer-type-def type-id='type-id-3816' size-in-bits='64' id='type-id-3782'/>
+      <pointer-type-def type-id='type-id-3817' size-in-bits='64' id='type-id-3778'/>
+      <pointer-type-def type-id='type-id-3818' size-in-bits='64' id='type-id-3784'/>
+      <pointer-type-def type-id='type-id-3819' size-in-bits='64' id='type-id-3766'/>
+      <pointer-type-def type-id='type-id-3820' size-in-bits='64' id='type-id-3787'/>
+      <pointer-type-def type-id='type-id-3821' size-in-bits='64' id='type-id-3797'/>
+      <pointer-type-def type-id='type-id-3822' size-in-bits='64' id='type-id-3798'/>
+      <pointer-type-def type-id='type-id-3823' size-in-bits='64' id='type-id-3779'/>
+      <pointer-type-def type-id='type-id-3824' size-in-bits='64' id='type-id-3781'/>
+      <pointer-type-def type-id='type-id-3825' size-in-bits='64' id='type-id-3780'/>
+      <pointer-type-def type-id='type-id-3826' size-in-bits='64' id='type-id-3783'/>
+      <pointer-type-def type-id='type-id-3827' size-in-bits='64' id='type-id-3788'/>
+      <pointer-type-def type-id='type-id-3828' size-in-bits='64' id='type-id-3785'/>
+      <function-decl name='simple_strtoull' mangled-name='simple_strtoull' filepath='include/linux/kernel.h' line='474' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='simple_strtoull'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-257'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-177'/>
+      </function-decl>
+      <function-decl name='device_property_read_u32_array' mangled-name='device_property_read_u32_array' filepath='include/linux/property.h' line='43' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_property_read_u32_array'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-72'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='_dev_notice' mangled-name='_dev_notice' filepath='include/linux/device.h' line='1445' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_dev_notice'>
+        <parameter type-id='type-id-512'/>
+        <parameter type-id='type-id-24'/>
+        <parameter is-variadic='yes'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='device_property_present' mangled-name='device_property_present' filepath='include/linux/property.h' line='38' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_property_present'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-264'/>
+      </function-decl>
+      <function-decl name='uart_add_one_port' mangled-name='uart_add_one_port' filepath='drivers/tty/serial/serial_core.c' line='2739' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='uart_add_one_port'>
+        <parameter type-id='type-id-3815' name='drv' filepath='drivers/tty/serial/serial_core.c' line='2739' column='1'/>
+        <parameter type-id='type-id-3776' name='uport' filepath='drivers/tty/serial/serial_core.c' line='2739' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='uart_register_driver' mangled-name='uart_register_driver' filepath='drivers/tty/serial/serial_core.c' line='2471' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='uart_register_driver'>
+        <parameter type-id='type-id-3815' name='drv' filepath='drivers/tty/serial/serial_core.c' line='2471' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='uart_unregister_driver' mangled-name='uart_unregister_driver' filepath='drivers/tty/serial/serial_core.c' line='2538' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='uart_unregister_driver'>
+        <parameter type-id='type-id-3815' name='drv' filepath='drivers/tty/serial/serial_core.c' line='2538' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='uart_remove_one_port' mangled-name='uart_remove_one_port' filepath='drivers/tty/serial/serial_core.c' line='2842' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='uart_remove_one_port'>
+        <parameter type-id='type-id-3815' name='drv' filepath='drivers/tty/serial/serial_core.c' line='2842' column='1'/>
+        <parameter type-id='type-id-3776' name='uport' filepath='drivers/tty/serial/serial_core.c' line='2842' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='uart_insert_char' mangled-name='uart_insert_char' filepath='drivers/tty/serial/serial_core.c' line='3017' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='uart_insert_char'>
+        <parameter type-id='type-id-3776' name='port' filepath='drivers/tty/serial/serial_core.c' line='3017' column='1'/>
+        <parameter type-id='type-id-10' name='status' filepath='drivers/tty/serial/serial_core.c' line='3017' column='1'/>
+        <parameter type-id='type-id-10' name='overrun' filepath='drivers/tty/serial/serial_core.c' line='3018' column='1'/>
+        <parameter type-id='type-id-10' name='ch' filepath='drivers/tty/serial/serial_core.c' line='3018' column='1'/>
+        <parameter type-id='type-id-10' name='flag' filepath='drivers/tty/serial/serial_core.c' line='3018' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-3803'>
+        <parameter type-id='type-id-3776'/>
+        <return type-id='type-id-24'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3805'>
+        <parameter type-id='type-id-3762'/>
+        <parameter type-id='type-id-300'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3806'>
+        <parameter type-id='type-id-3762'/>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-300'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3807'>
+        <parameter type-id='type-id-3762'/>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3808'>
+        <parameter type-id='type-id-3776'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3809'>
+        <parameter type-id='type-id-3776'/>
+        <parameter type-id='type-id-3812'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3810'>
+        <parameter type-id='type-id-3776'/>
+        <parameter type-id='type-id-3813'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3811'>
+        <parameter type-id='type-id-3776'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3814'>
+        <parameter type-id='type-id-3762'/>
+        <parameter type-id='type-id-82'/>
+        <return type-id='type-id-3764'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3816'>
+        <parameter type-id='type-id-3776'/>
+        <return type-id='type-id-10'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3817'>
+        <parameter type-id='type-id-3776'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-10'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3818'>
+        <parameter type-id='type-id-3776'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-72'/>
+        <return type-id='type-id-10'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3819'>
+        <parameter type-id='type-id-3762'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3820'>
+        <parameter type-id='type-id-3776'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3821'>
+        <parameter type-id='type-id-3776'/>
+        <parameter type-id='type-id-475'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3822'>
+        <parameter type-id='type-id-3776'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3823'>
+        <parameter type-id='type-id-3776'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3824'>
+        <parameter type-id='type-id-3776'/>
+        <parameter type-id='type-id-3829'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3825'>
+        <parameter type-id='type-id-3776'/>
+        <parameter type-id='type-id-3829'/>
+        <parameter type-id='type-id-3829'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3826'>
+        <parameter type-id='type-id-3776'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3827'>
+        <parameter type-id='type-id-3776'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3828'>
+        <parameter type-id='type-id-3776'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/tty/sysrq.c' language='LANG_C89'>
+      <class-decl name='input_mt' size-in-bits='256' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3830'/>
+      <array-type-def dimensions='1' type-id='type-id-3831' size-in-bits='192' id='type-id-3832'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-147' size-in-bits='infinite' id='type-id-3833'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-327' size-in-bits='768' id='type-id-3834'>
+        <subrange length='12' type-id='type-id-5' id='type-id-3835'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-327' size-in-bits='64' id='type-id-3836'>
+        <subrange length='1' type-id='type-id-5' id='type-id-192'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-327' size-in-bits='128' id='type-id-3837'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-585' size-in-bits='192' id='type-id-3838'>
+        <subrange length='3' type-id='type-id-5' id='type-id-1015'/>
+
+      </array-type-def>
+      <class-decl name='input_handler' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/linux/input.h' line='299' column='1' id='type-id-3839'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='private' type-id='type-id-3' visibility='default' filepath='include/linux/input.h' line='301' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='event' type-id='type-id-3840' visibility='default' filepath='include/linux/input.h' line='303' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='events' type-id='type-id-3841' visibility='default' filepath='include/linux/input.h' line='304' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='filter' type-id='type-id-3842' visibility='default' filepath='include/linux/input.h' line='306' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='match' type-id='type-id-3843' visibility='default' filepath='include/linux/input.h' line='307' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='connect' type-id='type-id-3844' visibility='default' filepath='include/linux/input.h' line='308' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='disconnect' type-id='type-id-3845' visibility='default' filepath='include/linux/input.h' line='309' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='start' type-id='type-id-3845' visibility='default' filepath='include/linux/input.h' line='310' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='legacy_minors' type-id='type-id-211' visibility='default' filepath='include/linux/input.h' line='312' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='minor' type-id='type-id-11' visibility='default' filepath='include/linux/input.h' line='313' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/input.h' line='314' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='id_table' type-id='type-id-3846' visibility='default' filepath='include/linux/input.h' line='316' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='h_list' type-id='type-id-8' visibility='default' filepath='include/linux/input.h' line='318' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='node' type-id='type-id-8' visibility='default' filepath='include/linux/input.h' line='319' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='input_handle' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/input.h' line='334' column='1' id='type-id-3847'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='private' type-id='type-id-3' visibility='default' filepath='include/linux/input.h' line='336' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='open' type-id='type-id-11' visibility='default' filepath='include/linux/input.h' line='338' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/input.h' line='339' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='dev' type-id='type-id-2078' visibility='default' filepath='include/linux/input.h' line='341' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='handler' type-id='type-id-3848' visibility='default' filepath='include/linux/input.h' line='342' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='d_node' type-id='type-id-8' visibility='default' filepath='include/linux/input.h' line='344' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='h_node' type-id='type-id-8' visibility='default' filepath='include/linux/input.h' line='345' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='input_dev' size-in-bits='11136' is-struct='yes' visibility='default' filepath='include/linux/input.h' line='130' column='1' id='type-id-3849'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/input.h' line='131' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='phys' type-id='type-id-24' visibility='default' filepath='include/linux/input.h' line='132' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='uniq' type-id='type-id-24' visibility='default' filepath='include/linux/input.h' line='133' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='id' type-id='type-id-3850' visibility='default' filepath='include/linux/input.h' line='134' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='propbit' type-id='type-id-930' visibility='default' filepath='include/linux/input.h' line='136' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='evbit' type-id='type-id-930' visibility='default' filepath='include/linux/input.h' line='138' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='keybit' type-id='type-id-3851' visibility='default' filepath='include/linux/input.h' line='139' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='relbit' type-id='type-id-930' visibility='default' filepath='include/linux/input.h' line='140' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='absbit' type-id='type-id-930' visibility='default' filepath='include/linux/input.h' line='141' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='mscbit' type-id='type-id-930' visibility='default' filepath='include/linux/input.h' line='142' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='ledbit' type-id='type-id-930' visibility='default' filepath='include/linux/input.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='sndbit' type-id='type-id-930' visibility='default' filepath='include/linux/input.h' line='144' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='ffbit' type-id='type-id-1331' visibility='default' filepath='include/linux/input.h' line='145' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='swbit' type-id='type-id-930' visibility='default' filepath='include/linux/input.h' line='146' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='hint_events_per_packet' type-id='type-id-10' visibility='default' filepath='include/linux/input.h' line='148' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1696'>
+          <var-decl name='keycodemax' type-id='type-id-10' visibility='default' filepath='include/linux/input.h' line='150' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='keycodesize' type-id='type-id-10' visibility='default' filepath='include/linux/input.h' line='151' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='keycode' type-id='type-id-3' visibility='default' filepath='include/linux/input.h' line='152' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='setkeycode' type-id='type-id-3852' visibility='default' filepath='include/linux/input.h' line='154' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='getkeycode' type-id='type-id-3853' visibility='default' filepath='include/linux/input.h' line='157' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='ff' type-id='type-id-3854' visibility='default' filepath='include/linux/input.h' line='160' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='repeat_key' type-id='type-id-10' visibility='default' filepath='include/linux/input.h' line='162' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='timer' type-id='type-id-1240' visibility='default' filepath='include/linux/input.h' line='163' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='rep' type-id='type-id-1324' visibility='default' filepath='include/linux/input.h' line='165' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='mt' type-id='type-id-3855' visibility='default' filepath='include/linux/input.h' line='167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='absinfo' type-id='type-id-3856' visibility='default' filepath='include/linux/input.h' line='169' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2624'>
+          <var-decl name='key' type-id='type-id-3851' visibility='default' filepath='include/linux/input.h' line='171' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3392'>
+          <var-decl name='led' type-id='type-id-930' visibility='default' filepath='include/linux/input.h' line='172' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3456'>
+          <var-decl name='snd' type-id='type-id-930' visibility='default' filepath='include/linux/input.h' line='173' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3520'>
+          <var-decl name='sw' type-id='type-id-930' visibility='default' filepath='include/linux/input.h' line='174' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3584'>
+          <var-decl name='open' type-id='type-id-3857' visibility='default' filepath='include/linux/input.h' line='176' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3648'>
+          <var-decl name='close' type-id='type-id-3858' visibility='default' filepath='include/linux/input.h' line='177' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3712'>
+          <var-decl name='flush' type-id='type-id-3859' visibility='default' filepath='include/linux/input.h' line='178' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3776'>
+          <var-decl name='event' type-id='type-id-3860' visibility='default' filepath='include/linux/input.h' line='179' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3840'>
+          <var-decl name='grab' type-id='type-id-3861' visibility='default' filepath='include/linux/input.h' line='181' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3904'>
+          <var-decl name='event_lock' type-id='type-id-106' visibility='default' filepath='include/linux/input.h' line='183' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3968'>
+          <var-decl name='mutex' type-id='type-id-407' visibility='default' filepath='include/linux/input.h' line='184' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4224'>
+          <var-decl name='users' type-id='type-id-10' visibility='default' filepath='include/linux/input.h' line='186' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4256'>
+          <var-decl name='going_away' type-id='type-id-211' visibility='default' filepath='include/linux/input.h' line='187' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4288'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='include/linux/input.h' line='189' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10496'>
+          <var-decl name='h_list' type-id='type-id-8' visibility='default' filepath='include/linux/input.h' line='191' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10624'>
+          <var-decl name='node' type-id='type-id-8' visibility='default' filepath='include/linux/input.h' line='192' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10752'>
+          <var-decl name='num_vals' type-id='type-id-10' visibility='default' filepath='include/linux/input.h' line='194' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10784'>
+          <var-decl name='max_vals' type-id='type-id-10' visibility='default' filepath='include/linux/input.h' line='195' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10816'>
+          <var-decl name='vals' type-id='type-id-3862' visibility='default' filepath='include/linux/input.h' line='196' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10880'>
+          <var-decl name='devres_managed' type-id='type-id-211' visibility='default' filepath='include/linux/input.h' line='198' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10944'>
+          <var-decl name='timestamp' type-id='type-id-3838' visibility='default' filepath='include/linux/input.h' line='200' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='input_id' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/linux/input.h' line='59' column='1' id='type-id-3850'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bustype' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/input.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='vendor' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/input.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='product' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/input.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='version' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/input.h' line='63' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='input_keymap_entry' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/uapi/linux/input.h' line='114' column='1' id='type-id-3863'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='flags' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/input.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='len' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/input.h' line='117' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='index' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/input.h' line='118' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='keycode' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/input.h' line='119' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='scancode' type-id='type-id-2409' visibility='default' filepath='include/uapi/linux/input.h' line='120' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ff_device' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/linux/input.h' line='524' column='1' id='type-id-3864'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='upload' type-id='type-id-3865' visibility='default' filepath='include/linux/input.h' line='525' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='erase' type-id='type-id-3866' visibility='default' filepath='include/linux/input.h' line='527' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='playback' type-id='type-id-3867' visibility='default' filepath='include/linux/input.h' line='529' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='set_gain' type-id='type-id-3868' visibility='default' filepath='include/linux/input.h' line='530' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='set_autocenter' type-id='type-id-3868' visibility='default' filepath='include/linux/input.h' line='531' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='destroy' type-id='type-id-3869' visibility='default' filepath='include/linux/input.h' line='533' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='private' type-id='type-id-3' visibility='default' filepath='include/linux/input.h' line='535' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='ffbit' type-id='type-id-1331' visibility='default' filepath='include/linux/input.h' line='537' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='mutex' type-id='type-id-407' visibility='default' filepath='include/linux/input.h' line='539' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='max_effects' type-id='type-id-11' visibility='default' filepath='include/linux/input.h' line='541' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='effects' type-id='type-id-3870' visibility='default' filepath='include/linux/input.h' line='542' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='effect_owners' type-id='type-id-3833' visibility='default' filepath='include/linux/input.h' line='543' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ff_effect' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/uapi/linux/input.h' line='450' column='1' id='type-id-3871'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/input.h' line='451' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='id' type-id='type-id-3872' visibility='default' filepath='include/uapi/linux/input.h' line='452' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='direction' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/input.h' line='453' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='trigger' type-id='type-id-3873' visibility='default' filepath='include/uapi/linux/input.h' line='454' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='80'>
+          <var-decl name='replay' type-id='type-id-3874' visibility='default' filepath='include/uapi/linux/input.h' line='455' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='u' type-id='type-id-3875' visibility='default' filepath='include/uapi/linux/input.h' line='463' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ff_trigger' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/uapi/linux/input.h' line='316' column='1' id='type-id-3873'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='button' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/input.h' line='317' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='interval' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/input.h' line='318' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ff_replay' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/uapi/linux/input.h' line='306' column='1' id='type-id-3874'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='length' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/input.h' line='307' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='delay' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/input.h' line='308' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/input.h' line='457' column='1' id='type-id-3875'>
+        <data-member access='private'>
+          <var-decl name='constant' type-id='type-id-3876' visibility='default' filepath='include/uapi/linux/input.h' line='458' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='ramp' type-id='type-id-3877' visibility='default' filepath='include/uapi/linux/input.h' line='459' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='periodic' type-id='type-id-3878' visibility='default' filepath='include/uapi/linux/input.h' line='460' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='condition' type-id='type-id-3832' visibility='default' filepath='include/uapi/linux/input.h' line='461' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='rumble' type-id='type-id-3879' visibility='default' filepath='include/uapi/linux/input.h' line='462' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='ff_constant_effect' size-in-bits='80' is-struct='yes' visibility='default' filepath='include/uapi/linux/input.h' line='345' column='1' id='type-id-3876'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='level' type-id='type-id-3872' visibility='default' filepath='include/uapi/linux/input.h' line='346' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='envelope' type-id='type-id-3880' visibility='default' filepath='include/uapi/linux/input.h' line='347' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ff_envelope' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/linux/input.h' line='333' column='1' id='type-id-3880'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='attack_length' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/input.h' line='334' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='attack_level' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/input.h' line='335' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='fade_length' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/input.h' line='336' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='fade_level' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/input.h' line='337' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ff_ramp_effect' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/uapi/linux/input.h' line='356' column='1' id='type-id-3877'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='start_level' type-id='type-id-3872' visibility='default' filepath='include/uapi/linux/input.h' line='357' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='end_level' type-id='type-id-3872' visibility='default' filepath='include/uapi/linux/input.h' line='358' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='envelope' type-id='type-id-3880' visibility='default' filepath='include/uapi/linux/input.h' line='359' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ff_periodic_effect' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/uapi/linux/input.h' line='401' column='1' id='type-id-3878'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='waveform' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/input.h' line='402' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='period' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/input.h' line='403' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='magnitude' type-id='type-id-3872' visibility='default' filepath='include/uapi/linux/input.h' line='404' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='offset' type-id='type-id-3872' visibility='default' filepath='include/uapi/linux/input.h' line='405' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='phase' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/input.h' line='406' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='80'>
+          <var-decl name='envelope' type-id='type-id-3880' visibility='default' filepath='include/uapi/linux/input.h' line='408' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='custom_len' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/input.h' line='410' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='custom_data' type-id='type-id-3881' visibility='default' filepath='include/uapi/linux/input.h' line='411' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ff_condition_effect' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/uapi/linux/input.h' line='372' column='1' id='type-id-3831'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='right_saturation' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/input.h' line='373' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='left_saturation' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/input.h' line='374' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='right_coeff' type-id='type-id-3872' visibility='default' filepath='include/uapi/linux/input.h' line='376' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='left_coeff' type-id='type-id-3872' visibility='default' filepath='include/uapi/linux/input.h' line='377' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='deadband' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/input.h' line='379' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='80'>
+          <var-decl name='center' type-id='type-id-3872' visibility='default' filepath='include/uapi/linux/input.h' line='380' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ff_rumble_effect' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/uapi/linux/input.h' line='422' column='1' id='type-id-3879'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='strong_magnitude' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/input.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='weak_magnitude' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/input.h' line='424' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='input_absinfo' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/uapi/linux/input.h' line='90' column='1' id='type-id-3882'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='value' type-id='type-id-2310' visibility='default' filepath='include/uapi/linux/input.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='minimum' type-id='type-id-2310' visibility='default' filepath='include/uapi/linux/input.h' line='92' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='maximum' type-id='type-id-2310' visibility='default' filepath='include/uapi/linux/input.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='fuzz' type-id='type-id-2310' visibility='default' filepath='include/uapi/linux/input.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='flat' type-id='type-id-2310' visibility='default' filepath='include/uapi/linux/input.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='resolution' type-id='type-id-2310' visibility='default' filepath='include/uapi/linux/input.h' line='96' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='input_value' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/input.h' line='33' column='1' id='type-id-3883'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-1107' visibility='default' filepath='include/linux/input.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='code' type-id='type-id-1107' visibility='default' filepath='include/linux/input.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='value' type-id='type-id-2310' visibility='default' filepath='include/linux/input.h' line='36' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='input_device_id' size-in-bits='1600' is-struct='yes' visibility='default' filepath='include/linux/mod_devicetable.h' line='321' column='1' id='type-id-3884'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='flags' type-id='type-id-327' visibility='default' filepath='include/linux/mod_devicetable.h' line='323' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='bustype' type-id='type-id-1107' visibility='default' filepath='include/linux/mod_devicetable.h' line='325' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='80'>
+          <var-decl name='vendor' type-id='type-id-1107' visibility='default' filepath='include/linux/mod_devicetable.h' line='326' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='product' type-id='type-id-1107' visibility='default' filepath='include/linux/mod_devicetable.h' line='327' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='112'>
+          <var-decl name='version' type-id='type-id-1107' visibility='default' filepath='include/linux/mod_devicetable.h' line='328' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='evbit' type-id='type-id-3836' visibility='default' filepath='include/linux/mod_devicetable.h' line='330' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='keybit' type-id='type-id-3834' visibility='default' filepath='include/linux/mod_devicetable.h' line='331' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='relbit' type-id='type-id-3836' visibility='default' filepath='include/linux/mod_devicetable.h' line='332' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='absbit' type-id='type-id-3836' visibility='default' filepath='include/linux/mod_devicetable.h' line='333' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='mscbit' type-id='type-id-3836' visibility='default' filepath='include/linux/mod_devicetable.h' line='334' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='ledbit' type-id='type-id-3836' visibility='default' filepath='include/linux/mod_devicetable.h' line='335' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='sndbit' type-id='type-id-3836' visibility='default' filepath='include/linux/mod_devicetable.h' line='336' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='ffbit' type-id='type-id-3837' visibility='default' filepath='include/linux/mod_devicetable.h' line='337' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='swbit' type-id='type-id-3836' visibility='default' filepath='include/linux/mod_devicetable.h' line='338' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='propbit' type-id='type-id-3836' visibility='default' filepath='include/linux/mod_devicetable.h' line='339' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='driver_info' type-id='type-id-327' visibility='default' filepath='include/linux/mod_devicetable.h' line='341' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-3872' size-in-bits='64' id='type-id-3881'/>
+      <qualified-type-def type-id='type-id-3884' const='yes' id='type-id-3885'/>
+      <pointer-type-def type-id='type-id-3885' size-in-bits='64' id='type-id-3846'/>
+      <qualified-type-def type-id='type-id-3863' const='yes' id='type-id-3886'/>
+      <pointer-type-def type-id='type-id-3886' size-in-bits='64' id='type-id-3887'/>
+      <qualified-type-def type-id='type-id-3883' const='yes' id='type-id-3888'/>
+      <pointer-type-def type-id='type-id-3888' size-in-bits='64' id='type-id-3889'/>
+      <pointer-type-def type-id='type-id-3864' size-in-bits='64' id='type-id-3854'/>
+      <pointer-type-def type-id='type-id-3871' size-in-bits='64' id='type-id-3870'/>
+      <pointer-type-def type-id='type-id-3882' size-in-bits='64' id='type-id-3856'/>
+      <pointer-type-def type-id='type-id-3849' size-in-bits='64' id='type-id-2078'/>
+      <pointer-type-def type-id='type-id-3847' size-in-bits='64' id='type-id-3861'/>
+      <pointer-type-def type-id='type-id-3839' size-in-bits='64' id='type-id-3848'/>
+      <pointer-type-def type-id='type-id-3863' size-in-bits='64' id='type-id-3890'/>
+      <pointer-type-def type-id='type-id-3830' size-in-bits='64' id='type-id-3855'/>
+      <pointer-type-def type-id='type-id-3883' size-in-bits='64' id='type-id-3862'/>
+      <pointer-type-def type-id='type-id-3891' size-in-bits='64' id='type-id-3857'/>
+      <pointer-type-def type-id='type-id-3892' size-in-bits='64' id='type-id-3852'/>
+      <pointer-type-def type-id='type-id-3893' size-in-bits='64' id='type-id-3865'/>
+      <pointer-type-def type-id='type-id-3894' size-in-bits='64' id='type-id-3859'/>
+      <pointer-type-def type-id='type-id-3895' size-in-bits='64' id='type-id-3853'/>
+      <pointer-type-def type-id='type-id-3896' size-in-bits='64' id='type-id-3866'/>
+      <pointer-type-def type-id='type-id-3897' size-in-bits='64' id='type-id-3867'/>
+      <pointer-type-def type-id='type-id-3898' size-in-bits='64' id='type-id-3860'/>
+      <pointer-type-def type-id='type-id-3899' size-in-bits='64' id='type-id-3844'/>
+      <pointer-type-def type-id='type-id-3900' size-in-bits='64' id='type-id-3842'/>
+      <pointer-type-def type-id='type-id-3901' size-in-bits='64' id='type-id-3843'/>
+      <pointer-type-def type-id='type-id-3902' size-in-bits='64' id='type-id-3869'/>
+      <pointer-type-def type-id='type-id-3903' size-in-bits='64' id='type-id-3858'/>
+      <pointer-type-def type-id='type-id-3904' size-in-bits='64' id='type-id-3868'/>
+      <pointer-type-def type-id='type-id-3905' size-in-bits='64' id='type-id-3845'/>
+      <pointer-type-def type-id='type-id-3906' size-in-bits='64' id='type-id-3841'/>
+      <pointer-type-def type-id='type-id-3907' size-in-bits='64' id='type-id-3840'/>
+      <function-decl name='input_register_handler' mangled-name='input_register_handler' filepath='include/linux/input.h' line='378' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='input_register_handler'>
+        <parameter type-id='type-id-3848'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='input_register_handle' mangled-name='input_register_handle' filepath='include/linux/input.h' line='388' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='input_register_handle'>
+        <parameter type-id='type-id-3861'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='input_open_device' mangled-name='input_open_device' filepath='include/linux/input.h' line='394' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='input_open_device'>
+        <parameter type-id='type-id-3861'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='input_unregister_handle' mangled-name='input_unregister_handle' filepath='include/linux/input.h' line='389' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='input_unregister_handle'>
+        <parameter type-id='type-id-3861'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='input_close_device' mangled-name='input_close_device' filepath='include/linux/input.h' line='395' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='input_close_device'>
+        <parameter type-id='type-id-3861'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='input_unregister_handler' mangled-name='input_unregister_handler' filepath='include/linux/input.h' line='379' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='input_unregister_handler'>
+        <parameter type-id='type-id-3848'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-3891'>
+        <parameter type-id='type-id-2078'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3892'>
+        <parameter type-id='type-id-2078'/>
+        <parameter type-id='type-id-3887'/>
+        <parameter type-id='type-id-72'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3893'>
+        <parameter type-id='type-id-2078'/>
+        <parameter type-id='type-id-3870'/>
+        <parameter type-id='type-id-3870'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3894'>
+        <parameter type-id='type-id-2078'/>
+        <parameter type-id='type-id-147'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3895'>
+        <parameter type-id='type-id-2078'/>
+        <parameter type-id='type-id-3890'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3896'>
+        <parameter type-id='type-id-2078'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3897'>
+        <parameter type-id='type-id-2078'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3898'>
+        <parameter type-id='type-id-2078'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3899'>
+        <parameter type-id='type-id-3848'/>
+        <parameter type-id='type-id-2078'/>
+        <parameter type-id='type-id-3846'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3900'>
+        <parameter type-id='type-id-3861'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3901'>
+        <parameter type-id='type-id-3848'/>
+        <parameter type-id='type-id-2078'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3902'>
+        <parameter type-id='type-id-3854'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3903'>
+        <parameter type-id='type-id-2078'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3904'>
+        <parameter type-id='type-id-2078'/>
+        <parameter type-id='type-id-289'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3905'>
+        <parameter type-id='type-id-3861'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3906'>
+        <parameter type-id='type-id-3861'/>
+        <parameter type-id='type-id-3889'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3907'>
+        <parameter type-id='type-id-3861'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/tty/tty_buffer.c' language='LANG_C89'>
+      <function-decl name='tty_flip_buffer_push' mangled-name='tty_flip_buffer_push' filepath='drivers/tty/tty_buffer.c' line='549' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tty_flip_buffer_push'>
+        <parameter type-id='type-id-3908' name='port' filepath='drivers/tty/tty_buffer.c' line='549' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/tty/tty_io.c' language='LANG_C89'>
+      <function-decl name='device_create_with_groups' mangled-name='device_create_with_groups' filepath='include/linux/device.h' line='1340' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_create_with_groups'>
+        <parameter type-id='type-id-351'/>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-298'/>
+        <parameter type-id='type-id-24'/>
+        <parameter is-variadic='yes'/>
+        <return type-id='type-id-86'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/uio/uio.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-3909' size-in-bits='2240' id='type-id-3910'>
+        <subrange length='5' type-id='type-id-5' id='type-id-3376'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-3911' size-in-bits='1600' id='type-id-3912'>
+        <subrange length='5' type-id='type-id-5' id='type-id-3376'/>
+
+      </array-type-def>
+      <class-decl name='uio_info' size-in-bits='4544' is-struct='yes' visibility='default' filepath='include/linux/uio_driver.h' line='99' column='1' id='type-id-3913'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='uio_dev' type-id='type-id-3914' visibility='default' filepath='include/linux/uio_driver.h' line='100' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/uio_driver.h' line='101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='version' type-id='type-id-24' visibility='default' filepath='include/linux/uio_driver.h' line='102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='mem' type-id='type-id-3910' visibility='default' filepath='include/linux/uio_driver.h' line='103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='port' type-id='type-id-3912' visibility='default' filepath='include/linux/uio_driver.h' line='104' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4032'>
+          <var-decl name='irq' type-id='type-id-187' visibility='default' filepath='include/linux/uio_driver.h' line='105' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4096'>
+          <var-decl name='irq_flags' type-id='type-id-100' visibility='default' filepath='include/linux/uio_driver.h' line='106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4160'>
+          <var-decl name='priv' type-id='type-id-3' visibility='default' filepath='include/linux/uio_driver.h' line='107' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4224'>
+          <var-decl name='handler' type-id='type-id-3915' visibility='default' filepath='include/linux/uio_driver.h' line='108' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4288'>
+          <var-decl name='mmap' type-id='type-id-3916' visibility='default' filepath='include/linux/uio_driver.h' line='109' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4352'>
+          <var-decl name='open' type-id='type-id-3917' visibility='default' filepath='include/linux/uio_driver.h' line='110' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4416'>
+          <var-decl name='release' type-id='type-id-3917' visibility='default' filepath='include/linux/uio_driver.h' line='111' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4480'>
+          <var-decl name='irqcontrol' type-id='type-id-3918' visibility='default' filepath='include/linux/uio_driver.h' line='112' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='uio_device' size-in-bits='7040' is-struct='yes' visibility='default' filepath='include/linux/uio_driver.h' line='70' column='1' id='type-id-3919'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/linux/uio_driver.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='include/linux/uio_driver.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6272'>
+          <var-decl name='minor' type-id='type-id-11' visibility='default' filepath='include/linux/uio_driver.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6304'>
+          <var-decl name='event' type-id='type-id-137' visibility='default' filepath='include/linux/uio_driver.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6336'>
+          <var-decl name='async_queue' type-id='type-id-3920' visibility='default' filepath='include/linux/uio_driver.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6400'>
+          <var-decl name='wait' type-id='type-id-388' visibility='default' filepath='include/linux/uio_driver.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6592'>
+          <var-decl name='info' type-id='type-id-3921' visibility='default' filepath='include/linux/uio_driver.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6656'>
+          <var-decl name='info_lock' type-id='type-id-407' visibility='default' filepath='include/linux/uio_driver.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6912'>
+          <var-decl name='map_dir' type-id='type-id-87' visibility='default' filepath='include/linux/uio_driver.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6976'>
+          <var-decl name='portio_dir' type-id='type-id-87' visibility='default' filepath='include/linux/uio_driver.h' line='80' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='uio_mem' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/uio_driver.h' line='38' column='1' id='type-id-3909'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/uio_driver.h' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='addr' type-id='type-id-206' visibility='default' filepath='include/linux/uio_driver.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='offs' type-id='type-id-100' visibility='default' filepath='include/linux/uio_driver.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='size' type-id='type-id-1254' visibility='default' filepath='include/linux/uio_driver.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='memtype' type-id='type-id-11' visibility='default' filepath='include/linux/uio_driver.h' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='internal_addr' type-id='type-id-3' visibility='default' filepath='include/linux/uio_driver.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='map' type-id='type-id-3922' visibility='default' filepath='include/linux/uio_driver.h' line='45' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='uio_map' size-in-bits='576' is-struct='yes' visibility='default' filepath='drivers/uio/uio.c' line='42' column='1' id='type-id-3923'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='kobj' type-id='type-id-315' visibility='default' filepath='drivers/uio/uio.c' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='mem' type-id='type-id-3924' visibility='default' filepath='drivers/uio/uio.c' line='44' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='uio_port' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/uio_driver.h' line='60' column='1' id='type-id-3911'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/uio_driver.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='start' type-id='type-id-100' visibility='default' filepath='include/linux/uio_driver.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='size' type-id='type-id-100' visibility='default' filepath='include/linux/uio_driver.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='porttype' type-id='type-id-11' visibility='default' filepath='include/linux/uio_driver.h' line='64' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='portio' type-id='type-id-3925' visibility='default' filepath='include/linux/uio_driver.h' line='65' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='uio_portio' size-in-bits='576' is-struct='yes' visibility='default' filepath='drivers/uio/uio.c' line='125' column='1' id='type-id-3926'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='kobj' type-id='type-id-315' visibility='default' filepath='drivers/uio/uio.c' line='126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='port' type-id='type-id-3927' visibility='default' filepath='drivers/uio/uio.c' line='127' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-3928' size-in-bits='64' id='type-id-3917'/>
+      <pointer-type-def type-id='type-id-3929' size-in-bits='64' id='type-id-3918'/>
+      <pointer-type-def type-id='type-id-3930' size-in-bits='64' id='type-id-3916'/>
+      <pointer-type-def type-id='type-id-3931' size-in-bits='64' id='type-id-3915'/>
+      <pointer-type-def type-id='type-id-3919' size-in-bits='64' id='type-id-3914'/>
+      <pointer-type-def type-id='type-id-3913' size-in-bits='64' id='type-id-3921'/>
+      <pointer-type-def type-id='type-id-3923' size-in-bits='64' id='type-id-3922'/>
+      <pointer-type-def type-id='type-id-3909' size-in-bits='64' id='type-id-3924'/>
+      <pointer-type-def type-id='type-id-3911' size-in-bits='64' id='type-id-3927'/>
+      <pointer-type-def type-id='type-id-3926' size-in-bits='64' id='type-id-3925'/>
+      <function-decl name='__uio_register_device' mangled-name='__uio_register_device' filepath='drivers/uio/uio.c' line='914' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__uio_register_device'>
+        <parameter type-id='type-id-19' name='owner' filepath='drivers/uio/uio.c' line='914' column='1'/>
+        <parameter type-id='type-id-86' name='parent' filepath='drivers/uio/uio.c' line='915' column='1'/>
+        <parameter type-id='type-id-3921' name='info' filepath='drivers/uio/uio.c' line='916' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='uio_unregister_device' mangled-name='uio_unregister_device' filepath='drivers/uio/uio.c' line='1002' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='uio_unregister_device'>
+        <parameter type-id='type-id-3921' name='info' filepath='drivers/uio/uio.c' line='1002' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-3928'>
+        <parameter type-id='type-id-3921'/>
+        <parameter type-id='type-id-1160'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3929'>
+        <parameter type-id='type-id-3921'/>
+        <parameter type-id='type-id-939'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3930'>
+        <parameter type-id='type-id-3921'/>
+        <parameter type-id='type-id-132'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-3931'>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-3921'/>
+        <return type-id='type-id-3932'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/usb/common/common.c' language='LANG_C89'>
+      <enum-decl name='usb_dr_mode' filepath='include/linux/usb/otg.h' line='116' column='1' id='type-id-3933'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='USB_DR_MODE_UNKNOWN' value='0'/>
+        <enumerator name='USB_DR_MODE_HOST' value='1'/>
+        <enumerator name='USB_DR_MODE_PERIPHERAL' value='2'/>
+        <enumerator name='USB_DR_MODE_OTG' value='3'/>
+        <enumerator name='USB_DR_MODE_DRD' value='4'/>
+      </enum-decl>
+      <function-decl name='of_find_node_with_property' mangled-name='of_find_node_with_property' filepath='include/linux/of.h' line='309' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_find_node_with_property'>
+        <parameter type-id='type-id-81'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-81'/>
+      </function-decl>
+      <function-decl name='usb_get_maximum_speed' mangled-name='usb_get_maximum_speed' filepath='drivers/usb/common/common.c' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_get_maximum_speed'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/usb/common/common.c' line='62' column='1'/>
+        <return type-id='type-id-3934'/>
+      </function-decl>
+      <function-decl name='usb_get_dr_mode' mangled-name='usb_get_dr_mode' filepath='drivers/usb/common/common.c' line='113' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_get_dr_mode'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/usb/common/common.c' line='113' column='1'/>
+        <return type-id='type-id-3933'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/usb/core/devio.c' language='LANG_C89'>
+      <function-decl name='usb_register_notify' mangled-name='usb_register_notify' filepath='include/linux/usb.h' line='1993' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_register_notify'>
+        <parameter type-id='type-id-103'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='usb_unregister_notify' mangled-name='usb_unregister_notify' filepath='include/linux/usb.h' line='1994' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_unregister_notify'>
+        <parameter type-id='type-id-103'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/usb/core/hcd.c' language='LANG_C89'>
+      <function-decl name='usb_hcd_unlink_urb_from_ep' mangled-name='usb_hcd_unlink_urb_from_ep' filepath='include/linux/usb/hcd.h' line='426' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_hcd_unlink_urb_from_ep'>
+        <parameter type-id='type-id-3935'/>
+        <parameter type-id='type-id-3936'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='usb_hcd_giveback_urb' mangled-name='usb_hcd_giveback_urb' filepath='include/linux/usb/hcd.h' line='430' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_hcd_giveback_urb'>
+        <parameter type-id='type-id-3935'/>
+        <parameter type-id='type-id-3936'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='usb_hcd_is_primary_hcd' mangled-name='usb_hcd_is_primary_hcd' filepath='include/linux/usb/hcd.h' line='459' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_hcd_is_primary_hcd'>
+        <parameter type-id='type-id-3935'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__usb_create_hcd' mangled-name='__usb_create_hcd' filepath='drivers/usb/core/hcd.c' line='2519' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__usb_create_hcd'>
+        <parameter type-id='type-id-3937' name='driver' filepath='drivers/usb/core/hcd.c' line='2519' column='1'/>
+        <parameter type-id='type-id-86' name='sysdev' filepath='drivers/usb/core/hcd.c' line='2520' column='1'/>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/usb/core/hcd.c' line='2520' column='1'/>
+        <parameter type-id='type-id-24' name='bus_name' filepath='drivers/usb/core/hcd.c' line='2520' column='1'/>
+        <parameter type-id='type-id-3935' name='primary_hcd' filepath='drivers/usb/core/hcd.c' line='2521' column='1'/>
+        <return type-id='type-id-3935'/>
+      </function-decl>
+      <function-decl name='usb_hcd_poll_rh_status' mangled-name='usb_hcd_poll_rh_status' filepath='drivers/usb/core/hcd.c' line='749' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_hcd_poll_rh_status'>
+        <parameter type-id='type-id-3935' name='hcd' filepath='drivers/usb/core/hcd.c' line='749' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='usb_hcd_link_urb_to_ep' mangled-name='usb_hcd_link_urb_to_ep' filepath='drivers/usb/core/hcd.c' line='1241' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_hcd_link_urb_to_ep'>
+        <parameter type-id='type-id-3935' name='hcd' filepath='drivers/usb/core/hcd.c' line='1241' column='1'/>
+        <parameter type-id='type-id-3936' name='urb' filepath='drivers/usb/core/hcd.c' line='1241' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='usb_hcd_check_unlink_urb' mangled-name='usb_hcd_check_unlink_urb' filepath='drivers/usb/core/hcd.c' line='1299' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_hcd_check_unlink_urb'>
+        <parameter type-id='type-id-3935' name='hcd' filepath='drivers/usb/core/hcd.c' line='1299' column='1'/>
+        <parameter type-id='type-id-3936' name='urb' filepath='drivers/usb/core/hcd.c' line='1299' column='1'/>
+        <parameter type-id='type-id-11' name='status' filepath='drivers/usb/core/hcd.c' line='1300' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='usb_hcd_resume_root_hub' mangled-name='usb_hcd_resume_root_hub' filepath='drivers/usb/core/hcd.c' line='2377' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_hcd_resume_root_hub'>
+        <parameter type-id='type-id-3935' name='hcd' filepath='drivers/usb/core/hcd.c' line='2377' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='usb_create_shared_hcd' mangled-name='usb_create_shared_hcd' filepath='drivers/usb/core/hcd.c' line='2595' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_create_shared_hcd'>
+        <parameter type-id='type-id-3937' name='driver' filepath='drivers/usb/core/hcd.c' line='2595' column='1'/>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/usb/core/hcd.c' line='2596' column='1'/>
+        <parameter type-id='type-id-24' name='bus_name' filepath='drivers/usb/core/hcd.c' line='2596' column='1'/>
+        <parameter type-id='type-id-3935' name='primary_hcd' filepath='drivers/usb/core/hcd.c' line='2597' column='1'/>
+        <return type-id='type-id-3935'/>
+      </function-decl>
+      <function-decl name='usb_create_hcd' mangled-name='usb_create_hcd' filepath='drivers/usb/core/hcd.c' line='2617' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_create_hcd'>
+        <parameter type-id='type-id-3937' name='driver' filepath='drivers/usb/core/hcd.c' line='2617' column='1'/>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/usb/core/hcd.c' line='2618' column='1'/>
+        <parameter type-id='type-id-24' name='bus_name' filepath='drivers/usb/core/hcd.c' line='2618' column='1'/>
+        <return type-id='type-id-3935'/>
+      </function-decl>
+      <function-decl name='usb_add_hcd' mangled-name='usb_add_hcd' filepath='drivers/usb/core/hcd.c' line='2740' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_add_hcd'>
+        <parameter type-id='type-id-3935' name='hcd' filepath='drivers/usb/core/hcd.c' line='2740' column='1'/>
+        <parameter type-id='type-id-10' name='irqnum' filepath='drivers/usb/core/hcd.c' line='2741' column='1'/>
+        <parameter type-id='type-id-100' name='irqflags' filepath='drivers/usb/core/hcd.c' line='2741' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='usb_remove_hcd' mangled-name='usb_remove_hcd' filepath='drivers/usb/core/hcd.c' line='2947' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_remove_hcd'>
+        <parameter type-id='type-id-3935' name='hcd' filepath='drivers/usb/core/hcd.c' line='2947' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/usb/core/hub.c' language='LANG_C89'>
+      <function-decl name='usb_speed_string' mangled-name='usb_speed_string' filepath='include/linux/usb/ch9.h' line='45' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_speed_string'>
+        <parameter type-id='type-id-3934'/>
+        <return type-id='type-id-24'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/usb/core/usb.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-3462' size-in-bits='32' id='type-id-3938'>
+        <subrange length='1' type-id='type-id-5' id='type-id-192'/>
+
+      </array-type-def>
+      <class-decl name='dma_pool' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3939'/>
+      <class-decl name='ep_device' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3940'/>
+      <class-decl name='extcon_dev' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3941'/>
+      <class-decl name='usb_gadget' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3942'/>
+      <class-decl name='usb_phy_roothub' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3943'/>
+      <class-decl name='wusb_dev' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3944'/>
+      <array-type-def dimensions='1' type-id='type-id-3945' size-in-bits='256' id='type-id-3946'>
+        <subrange length='4' type-id='type-id-5' id='type-id-281'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-3947' size-in-bits='1024' id='type-id-3948'>
+        <subrange length='16' type-id='type-id-5' id='type-id-195'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-3949' size-in-bits='infinite' id='type-id-3950'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-3951' size-in-bits='2048' id='type-id-3952'>
+        <subrange length='32' type-id='type-id-5' id='type-id-2319'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-3953' size-in-bits='1024' id='type-id-3954'>
+        <subrange length='16' type-id='type-id-5' id='type-id-195'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-3955' size-in-bits='2048' id='type-id-3956'>
+        <subrange length='32' type-id='type-id-5' id='type-id-2319'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-3957' size-in-bits='infinite' id='type-id-3958'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <class-decl name='usb_hcd' size-in-bits='4352' is-struct='yes' visibility='default' filepath='include/linux/usb/hcd.h' line='75' column='1' id='type-id-3959'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='self' type-id='type-id-3960' visibility='default' filepath='include/linux/usb/hcd.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='kref' type-id='type-id-771' visibility='default' filepath='include/linux/usb/hcd.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='product_desc' type-id='type-id-24' visibility='default' filepath='include/linux/usb/hcd.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='speed' type-id='type-id-11' visibility='default' filepath='include/linux/usb/hcd.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1184'>
+          <var-decl name='irq_descr' type-id='type-id-3961' visibility='default' filepath='include/linux/usb/hcd.h' line='88' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='rh_timer' type-id='type-id-1240' visibility='default' filepath='include/linux/usb/hcd.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='status_urb' type-id='type-id-3936' visibility='default' filepath='include/linux/usb/hcd.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='wakeup_work' type-id='type-id-149' visibility='default' filepath='include/linux/usb/hcd.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='driver' type-id='type-id-3937' visibility='default' filepath='include/linux/usb/hcd.h' line='99' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='usb_phy' type-id='type-id-3962' visibility='default' filepath='include/linux/usb/hcd.h' line='105' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='phy_roothub' type-id='type-id-3963' visibility='default' filepath='include/linux/usb/hcd.h' line='106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/usb/hcd.h' line='112' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='rh_registered' type-id='type-id-10' visibility='default' filepath='include/linux/usb/hcd.h' line='149' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='rh_pollable' type-id='type-id-10' visibility='default' filepath='include/linux/usb/hcd.h' line='150' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='29'>
+          <var-decl name='msix_enabled' type-id='type-id-10' visibility='default' filepath='include/linux/usb/hcd.h' line='151' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='28'>
+          <var-decl name='msi_enabled' type-id='type-id-10' visibility='default' filepath='include/linux/usb/hcd.h' line='152' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='27'>
+          <var-decl name='skip_phy_initialization' type-id='type-id-10' visibility='default' filepath='include/linux/usb/hcd.h' line='158' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='26'>
+          <var-decl name='uses_new_polling' type-id='type-id-10' visibility='default' filepath='include/linux/usb/hcd.h' line='162' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='25'>
+          <var-decl name='wireless' type-id='type-id-10' visibility='default' filepath='include/linux/usb/hcd.h' line='163' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='has_tt' type-id='type-id-10' visibility='default' filepath='include/linux/usb/hcd.h' line='164' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='23'>
+          <var-decl name='amd_resume_bug' type-id='type-id-10' visibility='default' filepath='include/linux/usb/hcd.h' line='165' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='22'>
+          <var-decl name='can_do_streams' type-id='type-id-10' visibility='default' filepath='include/linux/usb/hcd.h' line='166' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='21'>
+          <var-decl name='tpl_support' type-id='type-id-10' visibility='default' filepath='include/linux/usb/hcd.h' line='167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='20'>
+          <var-decl name='cant_recv_wakeups' type-id='type-id-10' visibility='default' filepath='include/linux/usb/hcd.h' line='168' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2336'>
+          <var-decl name='irq' type-id='type-id-10' visibility='default' filepath='include/linux/usb/hcd.h' line='171' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='regs' type-id='type-id-3' visibility='default' filepath='include/linux/usb/hcd.h' line='172' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='rsrc_start' type-id='type-id-1254' visibility='default' filepath='include/linux/usb/hcd.h' line='173' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='rsrc_len' type-id='type-id-1254' visibility='default' filepath='include/linux/usb/hcd.h' line='174' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='power_budget' type-id='type-id-10' visibility='default' filepath='include/linux/usb/hcd.h' line='175' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2624'>
+          <var-decl name='high_prio_bh' type-id='type-id-3964' visibility='default' filepath='include/linux/usb/hcd.h' line='177' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3200'>
+          <var-decl name='low_prio_bh' type-id='type-id-3964' visibility='default' filepath='include/linux/usb/hcd.h' line='178' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3776'>
+          <var-decl name='address0_mutex' type-id='type-id-2357' visibility='default' filepath='include/linux/usb/hcd.h' line='191' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3840'>
+          <var-decl name='bandwidth_mutex' type-id='type-id-2357' visibility='default' filepath='include/linux/usb/hcd.h' line='192' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3904'>
+          <var-decl name='shared_hcd' type-id='type-id-3935' visibility='default' filepath='include/linux/usb/hcd.h' line='193' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3968'>
+          <var-decl name='primary_hcd' type-id='type-id-3935' visibility='default' filepath='include/linux/usb/hcd.h' line='194' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4032'>
+          <var-decl name='pool' type-id='type-id-3946' visibility='default' filepath='include/linux/usb/hcd.h' line='198' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4288'>
+          <var-decl name='state' type-id='type-id-11' visibility='default' filepath='include/linux/usb/hcd.h' line='200' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4352'>
+          <var-decl name='hcd_priv' type-id='type-id-3523' visibility='default' filepath='include/linux/usb/hcd.h' line='223' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/linux/usb.h' line='424' column='1' id='type-id-3960'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='controller' type-id='type-id-86' visibility='default' filepath='include/linux/usb.h' line='425' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='sysdev' type-id='type-id-86' visibility='default' filepath='include/linux/usb.h' line='426' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='busnum' type-id='type-id-11' visibility='default' filepath='include/linux/usb.h' line='427' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='bus_name' type-id='type-id-24' visibility='default' filepath='include/linux/usb.h' line='428' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='uses_dma' type-id='type-id-53' visibility='default' filepath='include/linux/usb.h' line='429' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='264'>
+          <var-decl name='uses_pio_for_control' type-id='type-id-53' visibility='default' filepath='include/linux/usb.h' line='430' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='272'>
+          <var-decl name='otg_port' type-id='type-id-53' visibility='default' filepath='include/linux/usb.h' line='434' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7'>
+          <var-decl name='is_b_host' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='435' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6'>
+          <var-decl name='b_hnp_enable' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='436' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5'>
+          <var-decl name='no_stop_on_short' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='437' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4'>
+          <var-decl name='no_sg_constraint' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='442' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='sg_tablesize' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='443' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='devnum_next' type-id='type-id-11' visibility='default' filepath='include/linux/usb.h' line='445' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='devnum_next_mutex' type-id='type-id-407' visibility='default' filepath='include/linux/usb.h' line='447' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='devmap' type-id='type-id-3965' visibility='default' filepath='include/linux/usb.h' line='449' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='root_hub' type-id='type-id-3966' visibility='default' filepath='include/linux/usb.h' line='450' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='hs_companion' type-id='type-id-3967' visibility='default' filepath='include/linux/usb.h' line='451' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='bandwidth_allocated' type-id='type-id-11' visibility='default' filepath='include/linux/usb.h' line='453' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='928'>
+          <var-decl name='bandwidth_int_reqs' type-id='type-id-11' visibility='default' filepath='include/linux/usb.h' line='460' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='bandwidth_isoc_reqs' type-id='type-id-11' visibility='default' filepath='include/linux/usb.h' line='461' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='992'>
+          <var-decl name='resuming_ports' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='463' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_devmap' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/usb.h' line='417' column='1' id='type-id-3965'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='devicemap' type-id='type-id-1331' visibility='default' filepath='include/linux/usb.h' line='418' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_device' size-in-bits='11264' is-struct='yes' visibility='default' filepath='include/linux/usb.h' line='631' column='1' id='type-id-3968'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='devnum' type-id='type-id-11' visibility='default' filepath='include/linux/usb.h' line='632' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='devpath' type-id='type-id-847' visibility='default' filepath='include/linux/usb.h' line='633' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='route' type-id='type-id-9' visibility='default' filepath='include/linux/usb.h' line='634' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='state' type-id='type-id-3969' visibility='default' filepath='include/linux/usb.h' line='635' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='speed' type-id='type-id-3934' visibility='default' filepath='include/linux/usb.h' line='636' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='rx_lanes' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='637' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='tx_lanes' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='638' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='tt' type-id='type-id-3970' visibility='default' filepath='include/linux/usb.h' line='640' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='ttport' type-id='type-id-11' visibility='default' filepath='include/linux/usb.h' line='641' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='toggle' type-id='type-id-3971' visibility='default' filepath='include/linux/usb.h' line='643' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='parent' type-id='type-id-3966' visibility='default' filepath='include/linux/usb.h' line='645' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='bus' type-id='type-id-3967' visibility='default' filepath='include/linux/usb.h' line='646' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='ep0' type-id='type-id-3972' visibility='default' filepath='include/linux/usb.h' line='647' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='include/linux/usb.h' line='649' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7488'>
+          <var-decl name='descriptor' type-id='type-id-3973' visibility='default' filepath='include/linux/usb.h' line='651' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7680'>
+          <var-decl name='bos' type-id='type-id-3974' visibility='default' filepath='include/linux/usb.h' line='652' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7744'>
+          <var-decl name='config' type-id='type-id-3975' visibility='default' filepath='include/linux/usb.h' line='653' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7808'>
+          <var-decl name='actconfig' type-id='type-id-3975' visibility='default' filepath='include/linux/usb.h' line='655' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7872'>
+          <var-decl name='ep_in' type-id='type-id-3948' visibility='default' filepath='include/linux/usb.h' line='656' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8896'>
+          <var-decl name='ep_out' type-id='type-id-3948' visibility='default' filepath='include/linux/usb.h' line='657' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9920'>
+          <var-decl name='rawdescriptors' type-id='type-id-257' visibility='default' filepath='include/linux/usb.h' line='659' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9984'>
+          <var-decl name='bus_mA' type-id='type-id-288' visibility='default' filepath='include/linux/usb.h' line='661' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10000'>
+          <var-decl name='portnum' type-id='type-id-53' visibility='default' filepath='include/linux/usb.h' line='662' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10008'>
+          <var-decl name='level' type-id='type-id-53' visibility='default' filepath='include/linux/usb.h' line='663' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='can_submit' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='665' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='persist_enabled' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='666' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='29'>
+          <var-decl name='have_langid' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='667' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='28'>
+          <var-decl name='authorized' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='668' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='27'>
+          <var-decl name='authenticated' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='669' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='26'>
+          <var-decl name='wusb' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='670' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='25'>
+          <var-decl name='lpm_capable' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='671' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='usb2_hw_lpm_capable' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='672' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='23'>
+          <var-decl name='usb2_hw_lpm_besl_capable' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='673' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='22'>
+          <var-decl name='usb2_hw_lpm_enabled' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='674' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='21'>
+          <var-decl name='usb2_hw_lpm_allowed' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='675' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='20'>
+          <var-decl name='usb3_lpm_u1_enabled' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='676' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='19'>
+          <var-decl name='usb3_lpm_u2_enabled' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='677' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10048'>
+          <var-decl name='string_langid' type-id='type-id-11' visibility='default' filepath='include/linux/usb.h' line='678' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10112'>
+          <var-decl name='product' type-id='type-id-300' visibility='default' filepath='include/linux/usb.h' line='681' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10176'>
+          <var-decl name='manufacturer' type-id='type-id-300' visibility='default' filepath='include/linux/usb.h' line='682' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10240'>
+          <var-decl name='serial' type-id='type-id-300' visibility='default' filepath='include/linux/usb.h' line='683' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10304'>
+          <var-decl name='filelist' type-id='type-id-8' visibility='default' filepath='include/linux/usb.h' line='685' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10432'>
+          <var-decl name='maxchild' type-id='type-id-11' visibility='default' filepath='include/linux/usb.h' line='687' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10464'>
+          <var-decl name='quirks' type-id='type-id-9' visibility='default' filepath='include/linux/usb.h' line='689' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10496'>
+          <var-decl name='urbnum' type-id='type-id-137' visibility='default' filepath='include/linux/usb.h' line='690' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10560'>
+          <var-decl name='active_duration' type-id='type-id-100' visibility='default' filepath='include/linux/usb.h' line='692' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10624'>
+          <var-decl name='connect_time' type-id='type-id-100' visibility='default' filepath='include/linux/usb.h' line='695' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='do_remote_wakeup' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='697' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='reset_resume' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='698' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='29'>
+          <var-decl name='port_is_suspended' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='699' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10752'>
+          <var-decl name='wusb_dev' type-id='type-id-3976' visibility='default' filepath='include/linux/usb.h' line='701' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10816'>
+          <var-decl name='slot_id' type-id='type-id-11' visibility='default' filepath='include/linux/usb.h' line='702' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10848'>
+          <var-decl name='removable' type-id='type-id-3977' visibility='default' filepath='include/linux/usb.h' line='703' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10880'>
+          <var-decl name='l1_params' type-id='type-id-3978' visibility='default' filepath='include/linux/usb.h' line='704' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10944'>
+          <var-decl name='u1_params' type-id='type-id-3979' visibility='default' filepath='include/linux/usb.h' line='705' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11072'>
+          <var-decl name='u2_params' type-id='type-id-3979' visibility='default' filepath='include/linux/usb.h' line='706' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11200'>
+          <var-decl name='lpm_disable_count' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='707' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11232'>
+          <var-decl name='hub_delay' type-id='type-id-289' visibility='default' filepath='include/linux/usb.h' line='709' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='usb_device_state' filepath='include/uapi/linux/usb/ch9.h' line='1147' column='1' id='type-id-3969'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='USB_STATE_NOTATTACHED' value='0'/>
+        <enumerator name='USB_STATE_ATTACHED' value='1'/>
+        <enumerator name='USB_STATE_POWERED' value='2'/>
+        <enumerator name='USB_STATE_RECONNECTING' value='3'/>
+        <enumerator name='USB_STATE_UNAUTHENTICATED' value='4'/>
+        <enumerator name='USB_STATE_DEFAULT' value='5'/>
+        <enumerator name='USB_STATE_ADDRESS' value='6'/>
+        <enumerator name='USB_STATE_CONFIGURED' value='7'/>
+        <enumerator name='USB_STATE_SUSPENDED' value='8'/>
+      </enum-decl>
+      <enum-decl name='usb_device_speed' filepath='include/uapi/linux/usb/ch9.h' line='1137' column='1' id='type-id-3934'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='USB_SPEED_UNKNOWN' value='0'/>
+        <enumerator name='USB_SPEED_LOW' value='1'/>
+        <enumerator name='USB_SPEED_FULL' value='2'/>
+        <enumerator name='USB_SPEED_HIGH' value='3'/>
+        <enumerator name='USB_SPEED_WIRELESS' value='4'/>
+        <enumerator name='USB_SPEED_SUPER' value='5'/>
+        <enumerator name='USB_SPEED_SUPER_PLUS' value='6'/>
+      </enum-decl>
+      <class-decl name='usb_tt' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/usb/hcd.h' line='543' column='1' id='type-id-3980'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='hub' type-id='type-id-3966' visibility='default' filepath='include/linux/usb/hcd.h' line='544' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='multi' type-id='type-id-11' visibility='default' filepath='include/linux/usb/hcd.h' line='545' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='think_time' type-id='type-id-10' visibility='default' filepath='include/linux/usb/hcd.h' line='546' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='hcpriv' type-id='type-id-3' visibility='default' filepath='include/linux/usb/hcd.h' line='547' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/linux/usb/hcd.h' line='550' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='clear_list' type-id='type-id-8' visibility='default' filepath='include/linux/usb/hcd.h' line='551' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='clear_work' type-id='type-id-149' visibility='default' filepath='include/linux/usb/hcd.h' line='552' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_host_endpoint' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/usb.h' line='67' column='1' id='type-id-3972'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='desc' type-id='type-id-3981' visibility='default' filepath='include/linux/usb.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='72'>
+          <var-decl name='ss_ep_comp' type-id='type-id-3982' visibility='default' filepath='include/linux/usb.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='120'>
+          <var-decl name='ssp_isoc_ep_comp' type-id='type-id-3983' visibility='default' filepath='include/linux/usb.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='urb_list' type-id='type-id-8' visibility='default' filepath='include/linux/usb.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='hcpriv' type-id='type-id-3' visibility='default' filepath='include/linux/usb.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='ep_dev' type-id='type-id-3984' visibility='default' filepath='include/linux/usb.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='extra' type-id='type-id-1047' visibility='default' filepath='include/linux/usb.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='extralen' type-id='type-id-11' visibility='default' filepath='include/linux/usb.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='enabled' type-id='type-id-11' visibility='default' filepath='include/linux/usb.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='streams' type-id='type-id-11' visibility='default' filepath='include/linux/usb.h' line='78' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_endpoint_descriptor' size-in-bits='72' is-struct='yes' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='400' column='1' id='type-id-3981'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bLength' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='401' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='bDescriptorType' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='402' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='bEndpointAddress' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='404' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='bmAttributes' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='405' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='wMaxPacketSize' type-id='type-id-1958' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='406' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='bInterval' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='407' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='56'>
+          <var-decl name='bRefresh' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='411' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='bSynchAddress' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='412' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_ss_ep_comp_descriptor' size-in-bits='48' is-struct='yes' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='682' column='1' id='type-id-3982'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bLength' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='683' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='bDescriptorType' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='684' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='bMaxBurst' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='686' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='bmAttributes' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='687' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='wBytesPerInterval' type-id='type-id-1958' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='688' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_ssp_isoc_ep_comp_descriptor' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='670' column='1' id='type-id-3983'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bLength' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='671' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='bDescriptorType' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='672' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='wReseved' type-id='type-id-1958' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='673' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='dwBytesPerInterval' type-id='type-id-3462' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='674' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_device_descriptor' size-in-bits='144' is-struct='yes' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='289' column='1' id='type-id-3973'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bLength' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='290' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='bDescriptorType' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='291' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='bcdUSB' type-id='type-id-1958' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='293' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='bDeviceClass' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='294' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='40'>
+          <var-decl name='bDeviceSubClass' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='295' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='bDeviceProtocol' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='296' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='56'>
+          <var-decl name='bMaxPacketSize0' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='297' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='idVendor' type-id='type-id-1958' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='298' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='80'>
+          <var-decl name='idProduct' type-id='type-id-1958' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='299' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='bcdDevice' type-id='type-id-1958' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='300' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='112'>
+          <var-decl name='iManufacturer' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='301' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='120'>
+          <var-decl name='iProduct' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='302' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='iSerialNumber' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='303' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='136'>
+          <var-decl name='bNumConfigurations' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='304' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_host_bos' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/usb.h' line='396' column='1' id='type-id-3985'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='desc' type-id='type-id-3986' visibility='default' filepath='include/linux/usb.h' line='397' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ext_cap' type-id='type-id-3987' visibility='default' filepath='include/linux/usb.h' line='400' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='ss_cap' type-id='type-id-3988' visibility='default' filepath='include/linux/usb.h' line='401' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='ssp_cap' type-id='type-id-3989' visibility='default' filepath='include/linux/usb.h' line='402' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='ss_id' type-id='type-id-3990' visibility='default' filepath='include/linux/usb.h' line='403' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='ptm_cap' type-id='type-id-3991' visibility='default' filepath='include/linux/usb.h' line='404' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_bos_descriptor' size-in-bits='40' is-struct='yes' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='837' column='1' id='type-id-3992'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bLength' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='838' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='bDescriptorType' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='839' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='wTotalLength' type-id='type-id-1958' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='841' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='bNumDeviceCaps' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='842' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_ext_cap_descriptor' size-in-bits='56' is-struct='yes' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='888' column='1' id='type-id-3993'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bLength' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='889' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='bDescriptorType' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='890' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='bDevCapabilityType' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='891' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='bmAttributes' type-id='type-id-3462' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='892' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_ss_cap_descriptor' size-in-bits='80' is-struct='yes' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='908' column='1' id='type-id-3994'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bLength' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='909' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='bDescriptorType' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='910' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='bDevCapabilityType' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='911' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='bmAttributes' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='912' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='wSpeedSupported' type-id='type-id-1958' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='914' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='bFunctionalitySupport' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='919' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='56'>
+          <var-decl name='bU1devExitLat' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='920' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='bU2DevExitLat' type-id='type-id-1958' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='921' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_ssp_cap_descriptor' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='946' column='1' id='type-id-3995'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bLength' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='947' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='bDescriptorType' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='948' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='bDevCapabilityType' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='949' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='bReserved' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='950' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='bmAttributes' type-id='type-id-3462' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='951' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='wFunctionalitySupport' type-id='type-id-1958' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='954' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='80'>
+          <var-decl name='wReserved' type-id='type-id-1958' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='958' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='bmSublinkSpeedAttr' type-id='type-id-3938' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='959' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_ss_container_id_descriptor' size-in-bits='160' is-struct='yes' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='931' column='1' id='type-id-3996'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bLength' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='932' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='bDescriptorType' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='933' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='bDevCapabilityType' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='934' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='bReserved' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='935' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='ContainerID' type-id='type-id-2555' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='936' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_ptm_cap_descriptor' size-in-bits='24' is-struct='yes' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='1071' column='1' id='type-id-3997'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bLength' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='1072' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='bDescriptorType' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='1073' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='bDevCapabilityType' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='1074' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_host_config' size-in-bits='5440' is-struct='yes' visibility='default' filepath='include/linux/usb.h' line='374' column='1' id='type-id-3998'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='desc' type-id='type-id-3999' visibility='default' filepath='include/linux/usb.h' line='375' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='string' type-id='type-id-300' visibility='default' filepath='include/linux/usb.h' line='377' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='intf_assoc' type-id='type-id-3954' visibility='default' filepath='include/linux/usb.h' line='381' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='interface' type-id='type-id-3952' visibility='default' filepath='include/linux/usb.h' line='385' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3264'>
+          <var-decl name='intf_cache' type-id='type-id-3956' visibility='default' filepath='include/linux/usb.h' line='389' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5312'>
+          <var-decl name='extra' type-id='type-id-1047' visibility='default' filepath='include/linux/usb.h' line='391' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5376'>
+          <var-decl name='extralen' type-id='type-id-11' visibility='default' filepath='include/linux/usb.h' line='392' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_config_descriptor' size-in-bits='72' is-struct='yes' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='345' column='1' id='type-id-3999'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bLength' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='346' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='bDescriptorType' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='347' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='wTotalLength' type-id='type-id-1958' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='349' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='bNumInterfaces' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='350' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='40'>
+          <var-decl name='bConfigurationValue' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='351' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='iConfiguration' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='352' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='56'>
+          <var-decl name='bmAttributes' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='353' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='bMaxPower' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='354' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_interface_assoc_descriptor' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='776' column='1' id='type-id-4000'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bLength' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='777' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='bDescriptorType' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='778' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='bFirstInterface' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='780' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='bInterfaceCount' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='781' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='bFunctionClass' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='782' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='40'>
+          <var-decl name='bFunctionSubClass' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='783' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='bFunctionProtocol' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='784' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='56'>
+          <var-decl name='iFunction' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='785' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_interface' size-in-bits='6912' is-struct='yes' visibility='default' filepath='include/linux/usb.h' line='232' column='1' id='type-id-4001'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='altsetting' type-id='type-id-4002' visibility='default' filepath='include/linux/usb.h' line='235' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='cur_altsetting' type-id='type-id-4002' visibility='default' filepath='include/linux/usb.h' line='237' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='num_altsetting' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='239' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='intf_assoc' type-id='type-id-3953' visibility='default' filepath='include/linux/usb.h' line='243' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='minor' type-id='type-id-11' visibility='default' filepath='include/linux/usb.h' line='245' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='condition' type-id='type-id-4003' visibility='default' filepath='include/linux/usb.h' line='247' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='sysfs_files_created' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='248' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='ep_devs_created' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='249' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='29'>
+          <var-decl name='unregistering' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='250' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='28'>
+          <var-decl name='needs_remote_wakeup' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='251' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='27'>
+          <var-decl name='needs_altsetting0' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='252' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='26'>
+          <var-decl name='needs_binding' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='253' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='25'>
+          <var-decl name='resetting_device' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='254' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='authorized' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='255' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='include/linux/usb.h' line='257' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6592'>
+          <var-decl name='usb_dev' type-id='type-id-86' visibility='default' filepath='include/linux/usb.h' line='258' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6656'>
+          <var-decl name='reset_ws' type-id='type-id-149' visibility='default' filepath='include/linux/usb.h' line='259' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_host_interface' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/usb.h' line='82' column='1' id='type-id-3949'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='desc' type-id='type-id-4004' visibility='default' filepath='include/linux/usb.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='extralen' type-id='type-id-11' visibility='default' filepath='include/linux/usb.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='extra' type-id='type-id-1047' visibility='default' filepath='include/linux/usb.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='endpoint' type-id='type-id-3947' visibility='default' filepath='include/linux/usb.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='string' type-id='type-id-300' visibility='default' filepath='include/linux/usb.h' line='93' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_interface_descriptor' size-in-bits='72' is-struct='yes' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='382' column='1' id='type-id-4004'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bLength' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='383' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='bDescriptorType' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='384' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='bInterfaceNumber' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='386' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='bAlternateSetting' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='387' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='bNumEndpoints' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='388' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='40'>
+          <var-decl name='bInterfaceClass' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='389' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='bInterfaceSubClass' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='390' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='56'>
+          <var-decl name='bInterfaceProtocol' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='391' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='iInterface' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='392' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='usb_interface_condition' filepath='include/linux/usb.h' line='96' column='1' id='type-id-4003'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='USB_INTERFACE_UNBOUND' value='0'/>
+        <enumerator name='USB_INTERFACE_BINDING' value='1'/>
+        <enumerator name='USB_INTERFACE_BOUND' value='2'/>
+        <enumerator name='USB_INTERFACE_UNBINDING' value='3'/>
+      </enum-decl>
+      <class-decl name='usb_interface_cache' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/usb.h' line='322' column='1' id='type-id-4005'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='num_altsetting' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='323' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='ref' type-id='type-id-771' visibility='default' filepath='include/linux/usb.h' line='324' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='altsetting' type-id='type-id-3950' visibility='default' filepath='include/linux/usb.h' line='328' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='usb_device_removable' filepath='include/linux/usb.h' line='477' column='1' id='type-id-3977'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='USB_DEVICE_REMOVABLE_UNKNOWN' value='0'/>
+        <enumerator name='USB_DEVICE_REMOVABLE' value='1'/>
+        <enumerator name='USB_DEVICE_FIXED' value='2'/>
+      </enum-decl>
+      <class-decl name='usb2_lpm_parameters' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/usb.h' line='503' column='1' id='type-id-3978'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='besl' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='507' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='timeout' type-id='type-id-11' visibility='default' filepath='include/linux/usb.h' line='513' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb3_lpm_parameters' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/usb.h' line='523' column='1' id='type-id-3979'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mel' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='530' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='pel' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='536' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='sel' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='546' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='timeout' type-id='type-id-11' visibility='default' filepath='include/linux/usb.h' line='552' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='urb' size-in-bits='1536' is-struct='yes' visibility='default' filepath='include/linux/usb.h' line='1543' column='1' id='type-id-4006'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='kref' type-id='type-id-771' visibility='default' filepath='include/linux/usb.h' line='1545' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='hcpriv' type-id='type-id-3' visibility='default' filepath='include/linux/usb.h' line='1546' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='use_count' type-id='type-id-137' visibility='default' filepath='include/linux/usb.h' line='1547' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='reject' type-id='type-id-137' visibility='default' filepath='include/linux/usb.h' line='1548' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='unlinked' type-id='type-id-11' visibility='default' filepath='include/linux/usb.h' line='1549' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='urb_list' type-id='type-id-8' visibility='default' filepath='include/linux/usb.h' line='1552' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='anchor_list' type-id='type-id-8' visibility='default' filepath='include/linux/usb.h' line='1554' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='anchor' type-id='type-id-4007' visibility='default' filepath='include/linux/usb.h' line='1555' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='dev' type-id='type-id-3966' visibility='default' filepath='include/linux/usb.h' line='1556' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='ep' type-id='type-id-3947' visibility='default' filepath='include/linux/usb.h' line='1557' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='pipe' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='1558' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='736'>
+          <var-decl name='stream_id' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='1559' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='status' type-id='type-id-11' visibility='default' filepath='include/linux/usb.h' line='1560' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='800'>
+          <var-decl name='transfer_flags' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='1561' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='transfer_buffer' type-id='type-id-3' visibility='default' filepath='include/linux/usb.h' line='1562' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='transfer_dma' type-id='type-id-210' visibility='default' filepath='include/linux/usb.h' line='1563' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='sg' type-id='type-id-33' visibility='default' filepath='include/linux/usb.h' line='1564' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='num_mapped_sgs' type-id='type-id-11' visibility='default' filepath='include/linux/usb.h' line='1565' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1056'>
+          <var-decl name='num_sgs' type-id='type-id-11' visibility='default' filepath='include/linux/usb.h' line='1566' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='transfer_buffer_length' type-id='type-id-9' visibility='default' filepath='include/linux/usb.h' line='1567' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1120'>
+          <var-decl name='actual_length' type-id='type-id-9' visibility='default' filepath='include/linux/usb.h' line='1568' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='setup_packet' type-id='type-id-1047' visibility='default' filepath='include/linux/usb.h' line='1569' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='setup_dma' type-id='type-id-210' visibility='default' filepath='include/linux/usb.h' line='1570' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='start_frame' type-id='type-id-11' visibility='default' filepath='include/linux/usb.h' line='1571' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1312'>
+          <var-decl name='number_of_packets' type-id='type-id-11' visibility='default' filepath='include/linux/usb.h' line='1572' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='interval' type-id='type-id-11' visibility='default' filepath='include/linux/usb.h' line='1573' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1376'>
+          <var-decl name='error_count' type-id='type-id-11' visibility='default' filepath='include/linux/usb.h' line='1575' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='context' type-id='type-id-3' visibility='default' filepath='include/linux/usb.h' line='1576' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='complete' type-id='type-id-4008' visibility='default' filepath='include/linux/usb.h' line='1577' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='iso_frame_desc' type-id='type-id-3958' visibility='default' filepath='include/linux/usb.h' line='1578' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_anchor' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/usb.h' line='1342' column='1' id='type-id-4009'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='urb_list' type-id='type-id-8' visibility='default' filepath='include/linux/usb.h' line='1343' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='wait' type-id='type-id-388' visibility='default' filepath='include/linux/usb.h' line='1344' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/linux/usb.h' line='1345' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='suspend_wakeups' type-id='type-id-137' visibility='default' filepath='include/linux/usb.h' line='1346' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='poisoned' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='1347' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='usb_complete_t' type-id='type-id-4010' filepath='include/linux/usb.h' line='1358' column='1' id='type-id-4008'/>
+      <class-decl name='usb_iso_packet_descriptor' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/usb.h' line='1333' column='1' id='type-id-3957'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='offset' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='1334' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='length' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='1335' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='actual_length' type-id='type-id-10' visibility='default' filepath='include/linux/usb.h' line='1336' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='status' type-id='type-id-11' visibility='default' filepath='include/linux/usb.h' line='1337' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='hc_driver' size-in-bits='2880' is-struct='yes' visibility='default' filepath='include/linux/usb/hcd.h' line='246' column='1' id='type-id-4011'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='description' type-id='type-id-24' visibility='default' filepath='include/linux/usb/hcd.h' line='247' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='product_desc' type-id='type-id-24' visibility='default' filepath='include/linux/usb/hcd.h' line='248' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='hcd_priv_size' type-id='type-id-125' visibility='default' filepath='include/linux/usb/hcd.h' line='249' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='irq' type-id='type-id-4012' visibility='default' filepath='include/linux/usb/hcd.h' line='252' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='flags' type-id='type-id-11' visibility='default' filepath='include/linux/usb/hcd.h' line='254' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='reset' type-id='type-id-4013' visibility='default' filepath='include/linux/usb/hcd.h' line='268' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='start' type-id='type-id-4013' visibility='default' filepath='include/linux/usb/hcd.h' line='269' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='pci_suspend' type-id='type-id-4014' visibility='default' filepath='include/linux/usb/hcd.h' line='275' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='pci_resume' type-id='type-id-4014' visibility='default' filepath='include/linux/usb/hcd.h' line='278' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='stop' type-id='type-id-4015' visibility='default' filepath='include/linux/usb/hcd.h' line='281' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='shutdown' type-id='type-id-4015' visibility='default' filepath='include/linux/usb/hcd.h' line='284' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='get_frame_number' type-id='type-id-4013' visibility='default' filepath='include/linux/usb/hcd.h' line='287' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='urb_enqueue' type-id='type-id-4016' visibility='default' filepath='include/linux/usb/hcd.h' line='290' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='urb_dequeue' type-id='type-id-4017' visibility='default' filepath='include/linux/usb/hcd.h' line='292' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='map_urb_for_dma' type-id='type-id-4016' visibility='default' filepath='include/linux/usb/hcd.h' line='304' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='unmap_urb_for_dma' type-id='type-id-4018' visibility='default' filepath='include/linux/usb/hcd.h' line='306' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='endpoint_disable' type-id='type-id-4019' visibility='default' filepath='include/linux/usb/hcd.h' line='309' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='endpoint_reset' type-id='type-id-4019' visibility='default' filepath='include/linux/usb/hcd.h' line='314' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='hub_status_data' type-id='type-id-4020' visibility='default' filepath='include/linux/usb/hcd.h' line='318' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='hub_control' type-id='type-id-4021' visibility='default' filepath='include/linux/usb/hcd.h' line='319' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='bus_suspend' type-id='type-id-4013' visibility='default' filepath='include/linux/usb/hcd.h' line='322' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='bus_resume' type-id='type-id-4013' visibility='default' filepath='include/linux/usb/hcd.h' line='323' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='start_port_reset' type-id='type-id-4022' visibility='default' filepath='include/linux/usb/hcd.h' line='324' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='get_resuming_ports' type-id='type-id-4023' visibility='default' filepath='include/linux/usb/hcd.h' line='325' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='relinquish_port' type-id='type-id-4024' visibility='default' filepath='include/linux/usb/hcd.h' line='328' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='port_handed_over' type-id='type-id-4025' visibility='default' filepath='include/linux/usb/hcd.h' line='330' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='clear_tt_buffer_complete' type-id='type-id-4019' visibility='default' filepath='include/linux/usb/hcd.h' line='333' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='alloc_dev' type-id='type-id-4026' visibility='default' filepath='include/linux/usb/hcd.h' line='338' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='free_dev' type-id='type-id-4027' visibility='default' filepath='include/linux/usb/hcd.h' line='340' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='alloc_streams' type-id='type-id-4028' visibility='default' filepath='include/linux/usb/hcd.h' line='342' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='free_streams' type-id='type-id-4029' visibility='default' filepath='include/linux/usb/hcd.h' line='348' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='add_endpoint' type-id='type-id-4030' visibility='default' filepath='include/linux/usb/hcd.h' line='363' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='drop_endpoint' type-id='type-id-4030' visibility='default' filepath='include/linux/usb/hcd.h' line='366' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='check_bandwidth' type-id='type-id-4026' visibility='default' filepath='include/linux/usb/hcd.h' line='373' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='reset_bandwidth' type-id='type-id-4027' visibility='default' filepath='include/linux/usb/hcd.h' line='381' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='address_device' type-id='type-id-4026' visibility='default' filepath='include/linux/usb/hcd.h' line='383' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='enable_device' type-id='type-id-4026' visibility='default' filepath='include/linux/usb/hcd.h' line='385' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='update_hub_device' type-id='type-id-4031' visibility='default' filepath='include/linux/usb/hcd.h' line='389' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='reset_device' type-id='type-id-4026' visibility='default' filepath='include/linux/usb/hcd.h' line='391' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='update_device' type-id='type-id-4026' visibility='default' filepath='include/linux/usb/hcd.h' line='395' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='set_usb2_hw_lpm' type-id='type-id-4032' visibility='default' filepath='include/linux/usb/hcd.h' line='396' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2624'>
+          <var-decl name='enable_usb3_lpm_timeout' type-id='type-id-4033' visibility='default' filepath='include/linux/usb/hcd.h' line='399' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2688'>
+          <var-decl name='disable_usb3_lpm_timeout' type-id='type-id-4033' visibility='default' filepath='include/linux/usb/hcd.h' line='404' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2752'>
+          <var-decl name='find_raw_port_number' type-id='type-id-4025' visibility='default' filepath='include/linux/usb/hcd.h' line='406' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2816'>
+          <var-decl name='port_power' type-id='type-id-4034' visibility='default' filepath='include/linux/usb/hcd.h' line='408' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='usb3_link_state' filepath='include/uapi/linux/usb/ch9.h' line='1172' column='1' id='type-id-4035'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='USB3_LPM_U0' value='0'/>
+        <enumerator name='USB3_LPM_U1' value='1'/>
+        <enumerator name='USB3_LPM_U2' value='2'/>
+        <enumerator name='USB3_LPM_U3' value='3'/>
+      </enum-decl>
+      <class-decl name='usb_phy' size-in-bits='2688' is-struct='yes' visibility='default' filepath='include/linux/usb/phy.h' line='88' column='1' id='type-id-4036'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/linux/usb/phy.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='label' type-id='type-id-24' visibility='default' filepath='include/linux/usb/phy.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='include/linux/usb/phy.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='type' type-id='type-id-4037' visibility='default' filepath='include/linux/usb/phy.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='last_event' type-id='type-id-4038' visibility='default' filepath='include/linux/usb/phy.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='otg' type-id='type-id-4039' visibility='default' filepath='include/linux/usb/phy.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='io_dev' type-id='type-id-86' visibility='default' filepath='include/linux/usb/phy.h' line='98' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='io_ops' type-id='type-id-4040' visibility='default' filepath='include/linux/usb/phy.h' line='99' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='io_priv' type-id='type-id-3' visibility='default' filepath='include/linux/usb/phy.h' line='100' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='edev' type-id='type-id-4041' visibility='default' filepath='include/linux/usb/phy.h' line='103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='id_edev' type-id='type-id-4041' visibility='default' filepath='include/linux/usb/phy.h' line='104' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='vbus_nb' type-id='type-id-101' visibility='default' filepath='include/linux/usb/phy.h' line='105' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='id_nb' type-id='type-id-101' visibility='default' filepath='include/linux/usb/phy.h' line='106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='type_nb' type-id='type-id-101' visibility='default' filepath='include/linux/usb/phy.h' line='107' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='chg_type' type-id='type-id-4042' visibility='default' filepath='include/linux/usb/phy.h' line='110' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1248'>
+          <var-decl name='chg_state' type-id='type-id-4043' visibility='default' filepath='include/linux/usb/phy.h' line='111' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='chg_cur' type-id='type-id-4044' visibility='default' filepath='include/linux/usb/phy.h' line='112' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='chg_work' type-id='type-id-149' visibility='default' filepath='include/linux/usb/phy.h' line='113' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='notifier' type-id='type-id-105' visibility='default' filepath='include/linux/usb/phy.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='port_status' type-id='type-id-289' visibility='default' filepath='include/linux/usb/phy.h' line='119' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1936'>
+          <var-decl name='port_change' type-id='type-id-289' visibility='default' filepath='include/linux/usb/phy.h' line='120' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='head' type-id='type-id-8' visibility='default' filepath='include/linux/usb/phy.h' line='123' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='init' type-id='type-id-4045' visibility='default' filepath='include/linux/usb/phy.h' line='126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='shutdown' type-id='type-id-4046' visibility='default' filepath='include/linux/usb/phy.h' line='127' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='set_vbus' type-id='type-id-4047' visibility='default' filepath='include/linux/usb/phy.h' line='130' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='set_power' type-id='type-id-4048' visibility='default' filepath='include/linux/usb/phy.h' line='133' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='set_suspend' type-id='type-id-4047' visibility='default' filepath='include/linux/usb/phy.h' line='137' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='set_wakeup' type-id='type-id-4049' visibility='default' filepath='include/linux/usb/phy.h' line='145' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='notify_connect' type-id='type-id-4050' visibility='default' filepath='include/linux/usb/phy.h' line='148' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='notify_disconnect' type-id='type-id-4050' visibility='default' filepath='include/linux/usb/phy.h' line='150' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2624'>
+          <var-decl name='charger_detect' type-id='type-id-4051' visibility='default' filepath='include/linux/usb/phy.h' line='157' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='usb_phy_type' filepath='include/linux/usb/phy.h' line='36' column='1' id='type-id-4037'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='USB_PHY_TYPE_UNDEFINED' value='0'/>
+        <enumerator name='USB_PHY_TYPE_USB2' value='1'/>
+        <enumerator name='USB_PHY_TYPE_USB3' value='2'/>
+      </enum-decl>
+      <enum-decl name='usb_phy_events' filepath='include/linux/usb/phy.h' line='27' column='1' id='type-id-4038'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='USB_EVENT_NONE' value='0'/>
+        <enumerator name='USB_EVENT_VBUS' value='1'/>
+        <enumerator name='USB_EVENT_ID' value='2'/>
+        <enumerator name='USB_EVENT_CHARGER' value='3'/>
+        <enumerator name='USB_EVENT_ENUMERATED' value='4'/>
+      </enum-decl>
+      <class-decl name='usb_otg' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/linux/usb/otg.h' line='16' column='1' id='type-id-4052'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='default_a' type-id='type-id-53' visibility='default' filepath='include/linux/usb/otg.h' line='17' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='phy' type-id='type-id-3173' visibility='default' filepath='include/linux/usb/otg.h' line='19' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='usb_phy' type-id='type-id-3962' visibility='default' filepath='include/linux/usb/otg.h' line='21' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='host' type-id='type-id-3967' visibility='default' filepath='include/linux/usb/otg.h' line='22' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='gadget' type-id='type-id-4053' visibility='default' filepath='include/linux/usb/otg.h' line='23' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='state' type-id='type-id-4054' visibility='default' filepath='include/linux/usb/otg.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='set_host' type-id='type-id-4055' visibility='default' filepath='include/linux/usb/otg.h' line='28' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='set_peripheral' type-id='type-id-4056' visibility='default' filepath='include/linux/usb/otg.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='set_vbus' type-id='type-id-4057' visibility='default' filepath='include/linux/usb/otg.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='start_srp' type-id='type-id-4058' visibility='default' filepath='include/linux/usb/otg.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='start_hnp' type-id='type-id-4058' visibility='default' filepath='include/linux/usb/otg.h' line='41' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='usb_otg_state' filepath='include/linux/usb/phy.h' line='43' column='1' id='type-id-4054'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='OTG_STATE_UNDEFINED' value='0'/>
+        <enumerator name='OTG_STATE_B_IDLE' value='1'/>
+        <enumerator name='OTG_STATE_B_SRP_INIT' value='2'/>
+        <enumerator name='OTG_STATE_B_PERIPHERAL' value='3'/>
+        <enumerator name='OTG_STATE_B_WAIT_ACON' value='4'/>
+        <enumerator name='OTG_STATE_B_HOST' value='5'/>
+        <enumerator name='OTG_STATE_A_IDLE' value='6'/>
+        <enumerator name='OTG_STATE_A_WAIT_VRISE' value='7'/>
+        <enumerator name='OTG_STATE_A_WAIT_BCON' value='8'/>
+        <enumerator name='OTG_STATE_A_HOST' value='9'/>
+        <enumerator name='OTG_STATE_A_SUSPEND' value='10'/>
+        <enumerator name='OTG_STATE_A_PERIPHERAL' value='11'/>
+        <enumerator name='OTG_STATE_A_WAIT_VFALL' value='12'/>
+        <enumerator name='OTG_STATE_A_VBUS_ERR' value='13'/>
+      </enum-decl>
+      <class-decl name='usb_phy_io_ops' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/usb/phy.h' line='72' column='1' id='type-id-4059'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='read' type-id='type-id-4060' visibility='default' filepath='include/linux/usb/phy.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='write' type-id='type-id-4061' visibility='default' filepath='include/linux/usb/phy.h' line='74' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='usb_charger_type' filepath='include/uapi/linux/usb/charger.h' line='16' column='1' id='type-id-4042'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='UNKNOWN_TYPE' value='0'/>
+        <enumerator name='SDP_TYPE' value='1'/>
+        <enumerator name='DCP_TYPE' value='2'/>
+        <enumerator name='CDP_TYPE' value='3'/>
+        <enumerator name='ACA_TYPE' value='4'/>
+      </enum-decl>
+      <enum-decl name='usb_charger_state' filepath='include/uapi/linux/usb/charger.h' line='25' column='1' id='type-id-4043'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='USB_CHARGER_DEFAULT' value='0'/>
+        <enumerator name='USB_CHARGER_PRESENT' value='1'/>
+        <enumerator name='USB_CHARGER_ABSENT' value='2'/>
+      </enum-decl>
+      <class-decl name='usb_charger_current' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/usb/phy.h' line='77' column='1' id='type-id-4044'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='sdp_min' type-id='type-id-10' visibility='default' filepath='include/linux/usb/phy.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='sdp_max' type-id='type-id-10' visibility='default' filepath='include/linux/usb/phy.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dcp_min' type-id='type-id-10' visibility='default' filepath='include/linux/usb/phy.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='dcp_max' type-id='type-id-10' visibility='default' filepath='include/linux/usb/phy.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='cdp_min' type-id='type-id-10' visibility='default' filepath='include/linux/usb/phy.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='cdp_max' type-id='type-id-10' visibility='default' filepath='include/linux/usb/phy.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='aca_min' type-id='type-id-10' visibility='default' filepath='include/linux/usb/phy.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='aca_max' type-id='type-id-10' visibility='default' filepath='include/linux/usb/phy.h' line='85' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='giveback_urb_bh' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/usb/hcd.h' line='67' column='1' id='type-id-3964'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='running' type-id='type-id-211' visibility='default' filepath='include/linux/usb/hcd.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/linux/usb/hcd.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='head' type-id='type-id-8' visibility='default' filepath='include/linux/usb/hcd.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='bh' type-id='type-id-4062' visibility='default' filepath='include/linux/usb/hcd.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='completing_ep' type-id='type-id-3947' visibility='default' filepath='include/linux/usb/hcd.h' line='72' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-4011' const='yes' id='type-id-4063'/>
+      <pointer-type-def type-id='type-id-4063' size-in-bits='64' id='type-id-3937'/>
+      <qualified-type-def type-id='type-id-3968' const='yes' id='type-id-4064'/>
+      <pointer-type-def type-id='type-id-4064' size-in-bits='64' id='type-id-4065'/>
+      <pointer-type-def type-id='type-id-3939' size-in-bits='64' id='type-id-3945'/>
+      <pointer-type-def type-id='type-id-4066' size-in-bits='64' id='type-id-4051'/>
+      <pointer-type-def type-id='type-id-3940' size-in-bits='64' id='type-id-3984'/>
+      <pointer-type-def type-id='type-id-3941' size-in-bits='64' id='type-id-4041'/>
+      <pointer-type-def type-id='type-id-4067' size-in-bits='64' id='type-id-4013'/>
+      <pointer-type-def type-id='type-id-4068' size-in-bits='64' id='type-id-4020'/>
+      <pointer-type-def type-id='type-id-4069' size-in-bits='64' id='type-id-4025'/>
+      <pointer-type-def type-id='type-id-4070' size-in-bits='64' id='type-id-4034'/>
+      <pointer-type-def type-id='type-id-4071' size-in-bits='64' id='type-id-4014'/>
+      <pointer-type-def type-id='type-id-4072' size-in-bits='64' id='type-id-4021'/>
+      <pointer-type-def type-id='type-id-4073' size-in-bits='64' id='type-id-4022'/>
+      <pointer-type-def type-id='type-id-4074' size-in-bits='64' id='type-id-4017'/>
+      <pointer-type-def type-id='type-id-4075' size-in-bits='64' id='type-id-4016'/>
+      <pointer-type-def type-id='type-id-4076' size-in-bits='64' id='type-id-4026'/>
+      <pointer-type-def type-id='type-id-4077' size-in-bits='64' id='type-id-4033'/>
+      <pointer-type-def type-id='type-id-4078' size-in-bits='64' id='type-id-4032'/>
+      <pointer-type-def type-id='type-id-4079' size-in-bits='64' id='type-id-4030'/>
+      <pointer-type-def type-id='type-id-4080' size-in-bits='64' id='type-id-4029'/>
+      <pointer-type-def type-id='type-id-4081' size-in-bits='64' id='type-id-4028'/>
+      <pointer-type-def type-id='type-id-4082' size-in-bits='64' id='type-id-4031'/>
+      <pointer-type-def type-id='type-id-4083' size-in-bits='64' id='type-id-4058'/>
+      <pointer-type-def type-id='type-id-4084' size-in-bits='64' id='type-id-4057'/>
+      <pointer-type-def type-id='type-id-4085' size-in-bits='64' id='type-id-4055'/>
+      <pointer-type-def type-id='type-id-4086' size-in-bits='64' id='type-id-4056'/>
+      <pointer-type-def type-id='type-id-4087' size-in-bits='64' id='type-id-4045'/>
+      <pointer-type-def type-id='type-id-4088' size-in-bits='64' id='type-id-4050'/>
+      <pointer-type-def type-id='type-id-4089' size-in-bits='64' id='type-id-4047'/>
+      <pointer-type-def type-id='type-id-4090' size-in-bits='64' id='type-id-4049'/>
+      <pointer-type-def type-id='type-id-4091' size-in-bits='64' id='type-id-4060'/>
+      <pointer-type-def type-id='type-id-4092' size-in-bits='64' id='type-id-4061'/>
+      <pointer-type-def type-id='type-id-4093' size-in-bits='64' id='type-id-4048'/>
+      <pointer-type-def type-id='type-id-4094' size-in-bits='64' id='type-id-4012'/>
+      <pointer-type-def type-id='type-id-4095' size-in-bits='64' id='type-id-4023'/>
+      <pointer-type-def type-id='type-id-4006' size-in-bits='64' id='type-id-3936'/>
+      <pointer-type-def type-id='type-id-4009' size-in-bits='64' id='type-id-4007'/>
+      <pointer-type-def type-id='type-id-3992' size-in-bits='64' id='type-id-3986'/>
+      <pointer-type-def type-id='type-id-3960' size-in-bits='64' id='type-id-3967'/>
+      <pointer-type-def type-id='type-id-3968' size-in-bits='64' id='type-id-3966'/>
+      <pointer-type-def type-id='type-id-3993' size-in-bits='64' id='type-id-3987'/>
+      <pointer-type-def type-id='type-id-3942' size-in-bits='64' id='type-id-4053'/>
+      <pointer-type-def type-id='type-id-3959' size-in-bits='64' id='type-id-3935'/>
+      <pointer-type-def type-id='type-id-3985' size-in-bits='64' id='type-id-3974'/>
+      <pointer-type-def type-id='type-id-3998' size-in-bits='64' id='type-id-3975'/>
+      <pointer-type-def type-id='type-id-3972' size-in-bits='64' id='type-id-3947'/>
+      <pointer-type-def type-id='type-id-3947' size-in-bits='64' id='type-id-4096'/>
+      <pointer-type-def type-id='type-id-3949' size-in-bits='64' id='type-id-4002'/>
+      <pointer-type-def type-id='type-id-4001' size-in-bits='64' id='type-id-3951'/>
+      <pointer-type-def type-id='type-id-4000' size-in-bits='64' id='type-id-3953'/>
+      <pointer-type-def type-id='type-id-4005' size-in-bits='64' id='type-id-3955'/>
+      <pointer-type-def type-id='type-id-4052' size-in-bits='64' id='type-id-4039'/>
+      <pointer-type-def type-id='type-id-4036' size-in-bits='64' id='type-id-3962'/>
+      <pointer-type-def type-id='type-id-4059' size-in-bits='64' id='type-id-4040'/>
+      <pointer-type-def type-id='type-id-3943' size-in-bits='64' id='type-id-3963'/>
+      <pointer-type-def type-id='type-id-3997' size-in-bits='64' id='type-id-3991'/>
+      <pointer-type-def type-id='type-id-3994' size-in-bits='64' id='type-id-3988'/>
+      <pointer-type-def type-id='type-id-3996' size-in-bits='64' id='type-id-3990'/>
+      <pointer-type-def type-id='type-id-3995' size-in-bits='64' id='type-id-3989'/>
+      <pointer-type-def type-id='type-id-3980' size-in-bits='64' id='type-id-3970'/>
+      <pointer-type-def type-id='type-id-4097' size-in-bits='64' id='type-id-4010'/>
+      <pointer-type-def type-id='type-id-4098' size-in-bits='64' id='type-id-4015'/>
+      <pointer-type-def type-id='type-id-4099' size-in-bits='64' id='type-id-4024'/>
+      <pointer-type-def type-id='type-id-4100' size-in-bits='64' id='type-id-4018'/>
+      <pointer-type-def type-id='type-id-4101' size-in-bits='64' id='type-id-4027'/>
+      <pointer-type-def type-id='type-id-4102' size-in-bits='64' id='type-id-4019'/>
+      <pointer-type-def type-id='type-id-4103' size-in-bits='64' id='type-id-4046'/>
+      <pointer-type-def type-id='type-id-3944' size-in-bits='64' id='type-id-3976'/>
+      <function-decl name='usb_put_hcd' mangled-name='usb_put_hcd' filepath='include/linux/usb/hcd.h' line='458' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_put_hcd'>
+        <parameter type-id='type-id-3935'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='usb_disabled' mangled-name='usb_disabled' filepath='drivers/usb/core/usb.c' line='61' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_disabled'>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='usb_ifnum_to_if' mangled-name='usb_ifnum_to_if' filepath='drivers/usb/core/usb.c' line='274' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_ifnum_to_if'>
+        <parameter type-id='type-id-4065' name='dev' filepath='drivers/usb/core/usb.c' line='274' column='1'/>
+        <parameter type-id='type-id-10' name='ifnum' filepath='drivers/usb/core/usb.c' line='275' column='1'/>
+        <return type-id='type-id-3951'/>
+      </function-decl>
+      <function-decl name='usb_get_dev' mangled-name='usb_get_dev' filepath='drivers/usb/core/usb.c' line='688' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_get_dev'>
+        <parameter type-id='type-id-3966' name='dev' filepath='drivers/usb/core/usb.c' line='688' column='1'/>
+        <return type-id='type-id-3966'/>
+      </function-decl>
+      <function-decl name='usb_put_dev' mangled-name='usb_put_dev' filepath='drivers/usb/core/usb.c' line='703' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_put_dev'>
+        <parameter type-id='type-id-3966' name='dev' filepath='drivers/usb/core/usb.c' line='703' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='usb_alloc_coherent' mangled-name='usb_alloc_coherent' filepath='drivers/usb/core/usb.c' line='886' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_alloc_coherent'>
+        <parameter type-id='type-id-3966' name='dev' filepath='drivers/usb/core/usb.c' line='886' column='1'/>
+        <parameter type-id='type-id-125' name='size' filepath='drivers/usb/core/usb.c' line='886' column='1'/>
+        <parameter type-id='type-id-272' name='mem_flags' filepath='drivers/usb/core/usb.c' line='886' column='1'/>
+        <parameter type-id='type-id-983' name='dma' filepath='drivers/usb/core/usb.c' line='887' column='1'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='usb_free_coherent' mangled-name='usb_free_coherent' filepath='drivers/usb/core/usb.c' line='906' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_free_coherent'>
+        <parameter type-id='type-id-3966' name='dev' filepath='drivers/usb/core/usb.c' line='906' column='1'/>
+        <parameter type-id='type-id-125' name='size' filepath='drivers/usb/core/usb.c' line='906' column='1'/>
+        <parameter type-id='type-id-3' name='addr' filepath='drivers/usb/core/usb.c' line='906' column='1'/>
+        <parameter type-id='type-id-210' name='dma' filepath='drivers/usb/core/usb.c' line='907' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-4066'>
+        <parameter type-id='type-id-3962'/>
+        <return type-id='type-id-4042'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4067'>
+        <parameter type-id='type-id-3935'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4068'>
+        <parameter type-id='type-id-3935'/>
+        <parameter type-id='type-id-300'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4069'>
+        <parameter type-id='type-id-3935'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4070'>
+        <parameter type-id='type-id-3935'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4071'>
+        <parameter type-id='type-id-3935'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4072'>
+        <parameter type-id='type-id-3935'/>
+        <parameter type-id='type-id-289'/>
+        <parameter type-id='type-id-289'/>
+        <parameter type-id='type-id-289'/>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-289'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4073'>
+        <parameter type-id='type-id-3935'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4074'>
+        <parameter type-id='type-id-3935'/>
+        <parameter type-id='type-id-3936'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4075'>
+        <parameter type-id='type-id-3935'/>
+        <parameter type-id='type-id-3936'/>
+        <parameter type-id='type-id-272'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4076'>
+        <parameter type-id='type-id-3935'/>
+        <parameter type-id='type-id-3966'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4077'>
+        <parameter type-id='type-id-3935'/>
+        <parameter type-id='type-id-3966'/>
+        <parameter type-id='type-id-4035'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4078'>
+        <parameter type-id='type-id-3935'/>
+        <parameter type-id='type-id-3966'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4079'>
+        <parameter type-id='type-id-3935'/>
+        <parameter type-id='type-id-3966'/>
+        <parameter type-id='type-id-3947'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4080'>
+        <parameter type-id='type-id-3935'/>
+        <parameter type-id='type-id-3966'/>
+        <parameter type-id='type-id-4096'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-272'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4081'>
+        <parameter type-id='type-id-3935'/>
+        <parameter type-id='type-id-3966'/>
+        <parameter type-id='type-id-4096'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-272'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4082'>
+        <parameter type-id='type-id-3935'/>
+        <parameter type-id='type-id-3966'/>
+        <parameter type-id='type-id-3970'/>
+        <parameter type-id='type-id-272'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4083'>
+        <parameter type-id='type-id-4039'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4084'>
+        <parameter type-id='type-id-4039'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4085'>
+        <parameter type-id='type-id-4039'/>
+        <parameter type-id='type-id-3967'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4086'>
+        <parameter type-id='type-id-4039'/>
+        <parameter type-id='type-id-4053'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4087'>
+        <parameter type-id='type-id-3962'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4088'>
+        <parameter type-id='type-id-3962'/>
+        <parameter type-id='type-id-3934'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4089'>
+        <parameter type-id='type-id-3962'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4090'>
+        <parameter type-id='type-id-3962'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4091'>
+        <parameter type-id='type-id-3962'/>
+        <parameter type-id='type-id-9'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4092'>
+        <parameter type-id='type-id-3962'/>
+        <parameter type-id='type-id-9'/>
+        <parameter type-id='type-id-9'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4093'>
+        <parameter type-id='type-id-3962'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4094'>
+        <parameter type-id='type-id-3935'/>
+        <return type-id='type-id-3932'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4095'>
+        <parameter type-id='type-id-3935'/>
+        <return type-id='type-id-100'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4097'>
+        <parameter type-id='type-id-3936'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4098'>
+        <parameter type-id='type-id-3935'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4099'>
+        <parameter type-id='type-id-3935'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4100'>
+        <parameter type-id='type-id-3935'/>
+        <parameter type-id='type-id-3936'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4101'>
+        <parameter type-id='type-id-3935'/>
+        <parameter type-id='type-id-3966'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4102'>
+        <parameter type-id='type-id-3935'/>
+        <parameter type-id='type-id-3947'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4103'>
+        <parameter type-id='type-id-3962'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/usb/gadget/composite.c' language='LANG_C89'>
+      <function-decl name='usb_ep_alloc_request' mangled-name='usb_ep_alloc_request' filepath='include/linux/usb/gadget.h' line='243' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_ep_alloc_request'>
+        <parameter type-id='type-id-4104'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-4105'/>
+      </function-decl>
+      <function-decl name='usb_ep_free_request' mangled-name='usb_ep_free_request' filepath='include/linux/usb/gadget.h' line='244' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_ep_free_request'>
+        <parameter type-id='type-id-4104'/>
+        <parameter type-id='type-id-4105'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='usb_ep_dequeue' mangled-name='usb_ep_dequeue' filepath='include/linux/usb/gadget.h' line='246' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_ep_dequeue'>
+        <parameter type-id='type-id-4104'/>
+        <parameter type-id='type-id-4105'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='usb_gadget_vbus_draw' mangled-name='usb_gadget_vbus_draw' filepath='include/linux/usb/gadget.h' line='558' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_gadget_vbus_draw'>
+        <parameter type-id='type-id-4106'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='usb_gadget_set_state' mangled-name='usb_gadget_set_state' filepath='include/linux/usb/gadget.h' line='835' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_gadget_set_state'>
+        <parameter type-id='type-id-4106'/>
+        <parameter type-id='type-id-3969'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='usb_ep_queue' mangled-name='usb_ep_queue' filepath='include/linux/usb/gadget.h' line='245' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_ep_queue'>
+        <parameter type-id='type-id-4104'/>
+        <parameter type-id='type-id-4105'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='config_ep_by_speed' mangled-name='config_ep_by_speed' filepath='drivers/usb/gadget/composite.c' line='145' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='config_ep_by_speed'>
+        <parameter type-id='type-id-4106' name='g' filepath='drivers/usb/gadget/composite.c' line='145' column='1'/>
+        <parameter type-id='type-id-4107' name='f' filepath='drivers/usb/gadget/composite.c' line='146' column='1'/>
+        <parameter type-id='type-id-4104' name='_ep' filepath='drivers/usb/gadget/composite.c' line='147' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='usb_interface_id' mangled-name='usb_interface_id' filepath='drivers/usb/gadget/composite.c' line='415' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_interface_id'>
+        <parameter type-id='type-id-4108' name='config' filepath='drivers/usb/gadget/composite.c' line='415' column='1'/>
+        <parameter type-id='type-id-4107' name='function' filepath='drivers/usb/gadget/composite.c' line='416' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='usb_string_id' mangled-name='usb_string_id' filepath='drivers/usb/gadget/composite.c' line='1171' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_string_id'>
+        <parameter type-id='type-id-4109' name='cdev' filepath='drivers/usb/gadget/composite.c' line='1171' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='usb_composite_setup_continue' mangled-name='usb_composite_setup_continue' filepath='drivers/usb/gadget/composite.c' line='2380' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_composite_setup_continue'>
+        <parameter type-id='type-id-4109' name='cdev' filepath='drivers/usb/gadget/composite.c' line='2380' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/usb/gadget/config.c' language='LANG_C89'>
+      <class-decl name='usb_udc' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4110'/>
+      <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='112' id='type-id-4111'>
+        <subrange length='14' type-id='type-id-5' id='type-id-1124'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4107' size-in-bits='1024' id='type-id-4112'>
+        <subrange length='16' type-id='type-id-5' id='type-id-195'/>
+
+      </array-type-def>
+      <class-decl name='usb_function' size-in-bits='1728' is-struct='yes' visibility='default' filepath='include/linux/usb/composite.h' line='191' column='1' id='type-id-4113'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/usb/composite.h' line='192' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='strings' type-id='type-id-4114' visibility='default' filepath='include/linux/usb/composite.h' line='193' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='fs_descriptors' type-id='type-id-4115' visibility='default' filepath='include/linux/usb/composite.h' line='194' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='hs_descriptors' type-id='type-id-4115' visibility='default' filepath='include/linux/usb/composite.h' line='195' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='ss_descriptors' type-id='type-id-4115' visibility='default' filepath='include/linux/usb/composite.h' line='196' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='ssp_descriptors' type-id='type-id-4115' visibility='default' filepath='include/linux/usb/composite.h' line='197' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='config' type-id='type-id-4108' visibility='default' filepath='include/linux/usb/composite.h' line='199' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='os_desc_table' type-id='type-id-4116' visibility='default' filepath='include/linux/usb/composite.h' line='201' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='os_desc_n' type-id='type-id-10' visibility='default' filepath='include/linux/usb/composite.h' line='202' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='bind' type-id='type-id-4117' visibility='default' filepath='include/linux/usb/composite.h' line='211' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='unbind' type-id='type-id-4118' visibility='default' filepath='include/linux/usb/composite.h' line='213' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='free_func' type-id='type-id-4119' visibility='default' filepath='include/linux/usb/composite.h' line='215' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='mod' type-id='type-id-19' visibility='default' filepath='include/linux/usb/composite.h' line='216' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='set_alt' type-id='type-id-4120' visibility='default' filepath='include/linux/usb/composite.h' line='219' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='get_alt' type-id='type-id-4121' visibility='default' filepath='include/linux/usb/composite.h' line='221' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='disable' type-id='type-id-4119' visibility='default' filepath='include/linux/usb/composite.h' line='223' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='setup' type-id='type-id-4122' visibility='default' filepath='include/linux/usb/composite.h' line='224' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='req_match' type-id='type-id-4123' visibility='default' filepath='include/linux/usb/composite.h' line='226' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='suspend' type-id='type-id-4119' visibility='default' filepath='include/linux/usb/composite.h' line='229' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='resume' type-id='type-id-4119' visibility='default' filepath='include/linux/usb/composite.h' line='230' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='get_status' type-id='type-id-4124' visibility='default' filepath='include/linux/usb/composite.h' line='233' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='func_suspend' type-id='type-id-4125' visibility='default' filepath='include/linux/usb/composite.h' line='234' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/usb/composite.h' line='238' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='endpoints' type-id='type-id-930' visibility='default' filepath='include/linux/usb/composite.h' line='239' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='fi' type-id='type-id-4126' visibility='default' filepath='include/linux/usb/composite.h' line='240' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='bind_deactivated' type-id='type-id-10' visibility='default' filepath='include/linux/usb/composite.h' line='242' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_gadget_strings' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/usb/gadget.h' line='755' column='1' id='type-id-4127'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='language' type-id='type-id-289' visibility='default' filepath='include/linux/usb/gadget.h' line='756' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='strings' type-id='type-id-4128' visibility='default' filepath='include/linux/usb/gadget.h' line='757' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_string' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/usb/gadget.h' line='742' column='1' id='type-id-4129'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='id' type-id='type-id-53' visibility='default' filepath='include/linux/usb/gadget.h' line='743' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='s' type-id='type-id-24' visibility='default' filepath='include/linux/usb/gadget.h' line='744' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_descriptor_header' size-in-bits='16' is-struct='yes' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='280' column='1' id='type-id-4130'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bLength' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='281' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='bDescriptorType' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='282' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_configuration' size-in-bits='1792' is-struct='yes' visibility='default' filepath='include/linux/usb/composite.h' line='299' column='1' id='type-id-4131'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='label' type-id='type-id-24' visibility='default' filepath='include/linux/usb/composite.h' line='300' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='strings' type-id='type-id-4114' visibility='default' filepath='include/linux/usb/composite.h' line='301' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='descriptors' type-id='type-id-4132' visibility='default' filepath='include/linux/usb/composite.h' line='302' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='unbind' type-id='type-id-4133' visibility='default' filepath='include/linux/usb/composite.h' line='310' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='setup' type-id='type-id-4134' visibility='default' filepath='include/linux/usb/composite.h' line='311' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='bConfigurationValue' type-id='type-id-53' visibility='default' filepath='include/linux/usb/composite.h' line='315' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='328'>
+          <var-decl name='iConfiguration' type-id='type-id-53' visibility='default' filepath='include/linux/usb/composite.h' line='316' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='336'>
+          <var-decl name='bmAttributes' type-id='type-id-53' visibility='default' filepath='include/linux/usb/composite.h' line='317' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='MaxPower' type-id='type-id-289' visibility='default' filepath='include/linux/usb/composite.h' line='318' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='cdev' type-id='type-id-4109' visibility='default' filepath='include/linux/usb/composite.h' line='320' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/usb/composite.h' line='324' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='functions' type-id='type-id-8' visibility='default' filepath='include/linux/usb/composite.h' line='325' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='next_interface_id' type-id='type-id-53' visibility='default' filepath='include/linux/usb/composite.h' line='326' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='23'>
+          <var-decl name='superspeed' type-id='type-id-10' visibility='default' filepath='include/linux/usb/composite.h' line='327' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='22'>
+          <var-decl name='highspeed' type-id='type-id-10' visibility='default' filepath='include/linux/usb/composite.h' line='328' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='21'>
+          <var-decl name='fullspeed' type-id='type-id-10' visibility='default' filepath='include/linux/usb/composite.h' line='329' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='20'>
+          <var-decl name='superspeed_plus' type-id='type-id-10' visibility='default' filepath='include/linux/usb/composite.h' line='330' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='interface' type-id='type-id-4112' visibility='default' filepath='include/linux/usb/composite.h' line='331' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_ctrlrequest' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='213' column='1' id='type-id-4135'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bRequestType' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='214' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='bRequest' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='215' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='wValue' type-id='type-id-1958' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='216' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='wIndex' type-id='type-id-1958' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='217' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='wLength' type-id='type-id-1958' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='218' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_composite_dev' size-in-bits='1216' is-struct='yes' visibility='default' filepath='include/linux/usb/composite.h' line='475' column='1' id='type-id-4136'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='gadget' type-id='type-id-4106' visibility='default' filepath='include/linux/usb/composite.h' line='476' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='req' type-id='type-id-4105' visibility='default' filepath='include/linux/usb/composite.h' line='477' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='os_desc_req' type-id='type-id-4105' visibility='default' filepath='include/linux/usb/composite.h' line='478' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='config' type-id='type-id-4108' visibility='default' filepath='include/linux/usb/composite.h' line='480' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='qw_sign' type-id='type-id-4111' visibility='default' filepath='include/linux/usb/composite.h' line='483' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='368'>
+          <var-decl name='b_vendor_code' type-id='type-id-53' visibility='default' filepath='include/linux/usb/composite.h' line='484' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='os_desc_config' type-id='type-id-4108' visibility='default' filepath='include/linux/usb/composite.h' line='485' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='use_os_string' type-id='type-id-10' visibility='default' filepath='include/linux/usb/composite.h' line='486' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='suspended' type-id='type-id-10' visibility='default' filepath='include/linux/usb/composite.h' line='490' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='456'>
+          <var-decl name='desc' type-id='type-id-3973' visibility='default' filepath='include/linux/usb/composite.h' line='491' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='configs' type-id='type-id-8' visibility='default' filepath='include/linux/usb/composite.h' line='492' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='gstrings' type-id='type-id-8' visibility='default' filepath='include/linux/usb/composite.h' line='493' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='driver' type-id='type-id-4137' visibility='default' filepath='include/linux/usb/composite.h' line='494' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='next_string_id' type-id='type-id-53' visibility='default' filepath='include/linux/usb/composite.h' line='495' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='def_manufacturer' type-id='type-id-300' visibility='default' filepath='include/linux/usb/composite.h' line='496' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='deactivations' type-id='type-id-10' visibility='default' filepath='include/linux/usb/composite.h' line='501' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1120'>
+          <var-decl name='delayed_status' type-id='type-id-11' visibility='default' filepath='include/linux/usb/composite.h' line='506' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/linux/usb/composite.h' line='509' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='setup_pending' type-id='type-id-10' visibility='default' filepath='include/linux/usb/composite.h' line='512' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='os_desc_pending' type-id='type-id-10' visibility='default' filepath='include/linux/usb/composite.h' line='513' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_gadget' size-in-bits='7232' is-struct='yes' visibility='default' filepath='include/linux/usb/gadget.h' line='387' column='1' id='type-id-4138'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='work' type-id='type-id-149' visibility='default' filepath='include/linux/usb/gadget.h' line='388' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='udc' type-id='type-id-4139' visibility='default' filepath='include/linux/usb/gadget.h' line='389' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='ops' type-id='type-id-4140' visibility='default' filepath='include/linux/usb/gadget.h' line='391' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='ep0' type-id='type-id-4104' visibility='default' filepath='include/linux/usb/gadget.h' line='392' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='ep_list' type-id='type-id-8' visibility='default' filepath='include/linux/usb/gadget.h' line='393' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='speed' type-id='type-id-3934' visibility='default' filepath='include/linux/usb/gadget.h' line='394' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='max_speed' type-id='type-id-3934' visibility='default' filepath='include/linux/usb/gadget.h' line='395' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='state' type-id='type-id-3969' visibility='default' filepath='include/linux/usb/gadget.h' line='396' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/usb/gadget.h' line='397' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='include/linux/usb/gadget.h' line='398' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6976'>
+          <var-decl name='isoch_delay' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='399' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7008'>
+          <var-decl name='out_epnum' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='400' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7040'>
+          <var-decl name='in_epnum' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='401' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7072'>
+          <var-decl name='mA' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='402' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7104'>
+          <var-decl name='otg_caps' type-id='type-id-4141' visibility='default' filepath='include/linux/usb/gadget.h' line='403' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='sg_supported' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='405' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='is_otg' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='406' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='29'>
+          <var-decl name='is_a_peripheral' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='407' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='28'>
+          <var-decl name='b_hnp_enable' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='408' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='27'>
+          <var-decl name='a_hnp_support' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='409' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='26'>
+          <var-decl name='a_alt_hnp_support' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='410' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='25'>
+          <var-decl name='hnp_polling_support' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='411' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='host_request_flag' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='412' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='23'>
+          <var-decl name='quirk_ep_out_aligned_size' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='413' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='22'>
+          <var-decl name='quirk_altset_not_supp' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='414' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='21'>
+          <var-decl name='quirk_stall_not_supp' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='415' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='20'>
+          <var-decl name='quirk_zlp_not_supp' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='416' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='19'>
+          <var-decl name='quirk_avoids_skb_reserve' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='417' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='18'>
+          <var-decl name='is_selfpowered' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='418' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='17'>
+          <var-decl name='deactivated' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='419' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='connected' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='420' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15'>
+          <var-decl name='lpm_capable' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='421' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_gadget_ops' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/linux/usb/gadget.h' line='300' column='1' id='type-id-4142'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='get_frame' type-id='type-id-4143' visibility='default' filepath='include/linux/usb/gadget.h' line='301' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='wakeup' type-id='type-id-4143' visibility='default' filepath='include/linux/usb/gadget.h' line='302' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='set_selfpowered' type-id='type-id-4144' visibility='default' filepath='include/linux/usb/gadget.h' line='303' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='vbus_session' type-id='type-id-4144' visibility='default' filepath='include/linux/usb/gadget.h' line='304' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='vbus_draw' type-id='type-id-4145' visibility='default' filepath='include/linux/usb/gadget.h' line='305' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='pullup' type-id='type-id-4144' visibility='default' filepath='include/linux/usb/gadget.h' line='306' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='ioctl' type-id='type-id-4146' visibility='default' filepath='include/linux/usb/gadget.h' line='307' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='get_config_params' type-id='type-id-4147' visibility='default' filepath='include/linux/usb/gadget.h' line='309' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='udc_start' type-id='type-id-4148' visibility='default' filepath='include/linux/usb/gadget.h' line='310' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='udc_stop' type-id='type-id-4143' visibility='default' filepath='include/linux/usb/gadget.h' line='312' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='udc_set_speed' type-id='type-id-4149' visibility='default' filepath='include/linux/usb/gadget.h' line='313' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='match_ep' type-id='type-id-4150' visibility='default' filepath='include/linux/usb/gadget.h' line='314' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_dcd_config_params' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/linux/usb/gadget.h' line='285' column='1' id='type-id-4151'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bU1devExitLat' type-id='type-id-1122' visibility='default' filepath='include/linux/usb/gadget.h' line='286' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='bU2DevExitLat' type-id='type-id-1958' visibility='default' filepath='include/linux/usb/gadget.h' line='288' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_gadget_driver' size-in-bits='1920' is-struct='yes' visibility='default' filepath='include/linux/usb/gadget.h' line='664' column='1' id='type-id-4152'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='function' type-id='type-id-300' visibility='default' filepath='include/linux/usb/gadget.h' line='665' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='max_speed' type-id='type-id-3934' visibility='default' filepath='include/linux/usb/gadget.h' line='666' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='bind' type-id='type-id-4148' visibility='default' filepath='include/linux/usb/gadget.h' line='667' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='unbind' type-id='type-id-4153' visibility='default' filepath='include/linux/usb/gadget.h' line='669' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='setup' type-id='type-id-4154' visibility='default' filepath='include/linux/usb/gadget.h' line='670' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='disconnect' type-id='type-id-4153' visibility='default' filepath='include/linux/usb/gadget.h' line='672' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='suspend' type-id='type-id-4153' visibility='default' filepath='include/linux/usb/gadget.h' line='673' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='resume' type-id='type-id-4153' visibility='default' filepath='include/linux/usb/gadget.h' line='674' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='reset' type-id='type-id-4153' visibility='default' filepath='include/linux/usb/gadget.h' line='675' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='driver' type-id='type-id-324' visibility='default' filepath='include/linux/usb/gadget.h' line='678' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='udc_name' type-id='type-id-300' visibility='default' filepath='include/linux/usb/gadget.h' line='680' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='pending' type-id='type-id-8' visibility='default' filepath='include/linux/usb/gadget.h' line='681' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='match_existing_only' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='682' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_ep' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/usb/gadget.h' line='218' column='1' id='type-id-4155'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='driver_data' type-id='type-id-3' visibility='default' filepath='include/linux/usb/gadget.h' line='219' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/usb/gadget.h' line='221' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='ops' type-id='type-id-4156' visibility='default' filepath='include/linux/usb/gadget.h' line='222' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='ep_list' type-id='type-id-8' visibility='default' filepath='include/linux/usb/gadget.h' line='223' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='caps' type-id='type-id-4157' visibility='default' filepath='include/linux/usb/gadget.h' line='224' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='claimed' type-id='type-id-211' visibility='default' filepath='include/linux/usb/gadget.h' line='225' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='360'>
+          <var-decl name='enabled' type-id='type-id-211' visibility='default' filepath='include/linux/usb/gadget.h' line='226' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='maxpacket' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='227' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='maxpacket_limit' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='228' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='max_streams' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='229' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='mult' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='230' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='25'>
+          <var-decl name='maxburst' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='231' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='424'>
+          <var-decl name='address' type-id='type-id-53' visibility='default' filepath='include/linux/usb/gadget.h' line='232' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='desc' type-id='type-id-4158' visibility='default' filepath='include/linux/usb/gadget.h' line='233' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='comp_desc' type-id='type-id-4159' visibility='default' filepath='include/linux/usb/gadget.h' line='234' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_ep_ops' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/linux/usb/gadget.h' line='128' column='1' id='type-id-4160'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='enable' type-id='type-id-4161' visibility='default' filepath='include/linux/usb/gadget.h' line='129' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='disable' type-id='type-id-4162' visibility='default' filepath='include/linux/usb/gadget.h' line='131' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='dispose' type-id='type-id-4163' visibility='default' filepath='include/linux/usb/gadget.h' line='132' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='alloc_request' type-id='type-id-4164' visibility='default' filepath='include/linux/usb/gadget.h' line='134' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='free_request' type-id='type-id-4165' visibility='default' filepath='include/linux/usb/gadget.h' line='136' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='queue' type-id='type-id-4166' visibility='default' filepath='include/linux/usb/gadget.h' line='138' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='dequeue' type-id='type-id-4167' visibility='default' filepath='include/linux/usb/gadget.h' line='140' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='set_halt' type-id='type-id-4168' visibility='default' filepath='include/linux/usb/gadget.h' line='142' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='set_wedge' type-id='type-id-4162' visibility='default' filepath='include/linux/usb/gadget.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='fifo_status' type-id='type-id-4162' visibility='default' filepath='include/linux/usb/gadget.h' line='145' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='fifo_flush' type-id='type-id-4163' visibility='default' filepath='include/linux/usb/gadget.h' line='146' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_request' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/linux/usb/gadget.h' line='95' column='1' id='type-id-4169'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='buf' type-id='type-id-3' visibility='default' filepath='include/linux/usb/gadget.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='length' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='dma' type-id='type-id-210' visibility='default' filepath='include/linux/usb/gadget.h' line='98' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='sg' type-id='type-id-33' visibility='default' filepath='include/linux/usb/gadget.h' line='100' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='num_sgs' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='num_mapped_sgs' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='stream_id' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='104' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15'>
+          <var-decl name='no_interrupt' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='105' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14'>
+          <var-decl name='zero' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13'>
+          <var-decl name='short_not_ok' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='107' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12'>
+          <var-decl name='dma_mapped' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='108' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='complete' type-id='type-id-4165' visibility='default' filepath='include/linux/usb/gadget.h' line='110' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='context' type-id='type-id-3' visibility='default' filepath='include/linux/usb/gadget.h' line='112' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/usb/gadget.h' line='113' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='status' type-id='type-id-11' visibility='default' filepath='include/linux/usb/gadget.h' line='115' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='672'>
+          <var-decl name='actual' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='116' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_ep_caps' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/linux/usb/gadget.h' line='158' column='1' id='type-id-4157'>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='type_control' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='159' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='type_iso' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='160' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='29'>
+          <var-decl name='type_bulk' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='161' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='28'>
+          <var-decl name='type_int' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='162' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='27'>
+          <var-decl name='dir_in' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='163' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='26'>
+          <var-decl name='dir_out' type-id='type-id-10' visibility='default' filepath='include/linux/usb/gadget.h' line='164' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_otg_caps' size-in-bits='48' is-struct='yes' visibility='default' filepath='include/linux/usb/otg.h' line='53' column='1' id='type-id-4170'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='otg_rev' type-id='type-id-289' visibility='default' filepath='include/linux/usb/otg.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='hnp_support' type-id='type-id-211' visibility='default' filepath='include/linux/usb/otg.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='srp_support' type-id='type-id-211' visibility='default' filepath='include/linux/usb/otg.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='adp_support' type-id='type-id-211' visibility='default' filepath='include/linux/usb/otg.h' line='57' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_composite_driver' size-in-bits='2496' is-struct='yes' visibility='default' filepath='include/linux/usb/composite.h' line='385' column='1' id='type-id-4171'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/usb/composite.h' line='386' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dev' type-id='type-id-4172' visibility='default' filepath='include/linux/usb/composite.h' line='387' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='strings' type-id='type-id-4114' visibility='default' filepath='include/linux/usb/composite.h' line='388' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='max_speed' type-id='type-id-3934' visibility='default' filepath='include/linux/usb/composite.h' line='389' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='needs_serial' type-id='type-id-10' visibility='default' filepath='include/linux/usb/composite.h' line='390' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='bind' type-id='type-id-4173' visibility='default' filepath='include/linux/usb/composite.h' line='392' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='unbind' type-id='type-id-4173' visibility='default' filepath='include/linux/usb/composite.h' line='393' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='disconnect' type-id='type-id-4174' visibility='default' filepath='include/linux/usb/composite.h' line='395' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='suspend' type-id='type-id-4174' visibility='default' filepath='include/linux/usb/composite.h' line='398' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='resume' type-id='type-id-4174' visibility='default' filepath='include/linux/usb/composite.h' line='399' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='gadget_driver' type-id='type-id-4152' visibility='default' filepath='include/linux/usb/composite.h' line='400' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_os_desc_table' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/usb/composite.h' line='113' column='1' id='type-id-4175'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='if_id' type-id='type-id-11' visibility='default' filepath='include/linux/usb/composite.h' line='114' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='os_desc' type-id='type-id-4176' visibility='default' filepath='include/linux/usb/composite.h' line='115' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_os_desc' size-in-bits='1472' is-struct='yes' visibility='default' filepath='include/linux/usb/composite.h' line='93' column='1' id='type-id-4177'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ext_compat_id' type-id='type-id-300' visibility='default' filepath='include/linux/usb/composite.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ext_prop' type-id='type-id-8' visibility='default' filepath='include/linux/usb/composite.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='ext_prop_len' type-id='type-id-11' visibility='default' filepath='include/linux/usb/composite.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='ext_prop_count' type-id='type-id-11' visibility='default' filepath='include/linux/usb/composite.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='opts_mutex' type-id='type-id-2357' visibility='default' filepath='include/linux/usb/composite.h' line='98' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='group' type-id='type-id-4178' visibility='default' filepath='include/linux/usb/composite.h' line='99' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/linux/usb/composite.h' line='100' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_function_instance' size-in-bits='1472' is-struct='yes' visibility='default' filepath='include/linux/usb/composite.h' line='586' column='1' id='type-id-4179'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='group' type-id='type-id-4178' visibility='default' filepath='include/linux/usb/composite.h' line='587' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='cfs_list' type-id='type-id-8' visibility='default' filepath='include/linux/usb/composite.h' line='588' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='fd' type-id='type-id-4180' visibility='default' filepath='include/linux/usb/composite.h' line='589' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='f' type-id='type-id-4107' visibility='default' filepath='include/linux/usb/composite.h' line='590' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='set_inst_name' type-id='type-id-4181' visibility='default' filepath='include/linux/usb/composite.h' line='591' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='free_func_inst' type-id='type-id-4182' visibility='default' filepath='include/linux/usb/composite.h' line='593' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_function_driver' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/usb/composite.h' line='578' column='1' id='type-id-4183'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/usb/composite.h' line='579' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='mod' type-id='type-id-19' visibility='default' filepath='include/linux/usb/composite.h' line='580' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/usb/composite.h' line='581' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='alloc_inst' type-id='type-id-4184' visibility='default' filepath='include/linux/usb/composite.h' line='582' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='alloc_func' type-id='type-id-4185' visibility='default' filepath='include/linux/usb/composite.h' line='583' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-4135' const='yes' id='type-id-4186'/>
+      <pointer-type-def type-id='type-id-4186' size-in-bits='64' id='type-id-4187'/>
+      <qualified-type-def type-id='type-id-4130' const='yes' id='type-id-4188'/>
+      <pointer-type-def type-id='type-id-4188' size-in-bits='64' id='type-id-4189'/>
+      <pointer-type-def type-id='type-id-4189' size-in-bits='64' id='type-id-4132'/>
+      <qualified-type-def type-id='type-id-3973' const='yes' id='type-id-4190'/>
+      <pointer-type-def type-id='type-id-4190' size-in-bits='64' id='type-id-4172'/>
+      <qualified-type-def type-id='type-id-3981' const='yes' id='type-id-4191'/>
+      <pointer-type-def type-id='type-id-4191' size-in-bits='64' id='type-id-4158'/>
+      <qualified-type-def type-id='type-id-4160' const='yes' id='type-id-4192'/>
+      <pointer-type-def type-id='type-id-4192' size-in-bits='64' id='type-id-4156'/>
+      <qualified-type-def type-id='type-id-4179' const='yes' id='type-id-4193'/>
+      <pointer-type-def type-id='type-id-4193' size-in-bits='64' id='type-id-4126'/>
+      <qualified-type-def type-id='type-id-4142' const='yes' id='type-id-4194'/>
+      <pointer-type-def type-id='type-id-4194' size-in-bits='64' id='type-id-4140'/>
+      <qualified-type-def type-id='type-id-3982' const='yes' id='type-id-4195'/>
+      <pointer-type-def type-id='type-id-4195' size-in-bits='64' id='type-id-4159'/>
+      <pointer-type-def type-id='type-id-4196' size-in-bits='64' id='type-id-4173'/>
+      <pointer-type-def type-id='type-id-4197' size-in-bits='64' id='type-id-4134'/>
+      <pointer-type-def type-id='type-id-4198' size-in-bits='64' id='type-id-4117'/>
+      <pointer-type-def type-id='type-id-4199' size-in-bits='64' id='type-id-4162'/>
+      <pointer-type-def type-id='type-id-4200' size-in-bits='64' id='type-id-4161'/>
+      <pointer-type-def type-id='type-id-4201' size-in-bits='64' id='type-id-4168'/>
+      <pointer-type-def type-id='type-id-4202' size-in-bits='64' id='type-id-4167'/>
+      <pointer-type-def type-id='type-id-4203' size-in-bits='64' id='type-id-4166'/>
+      <pointer-type-def type-id='type-id-4204' size-in-bits='64' id='type-id-4124'/>
+      <pointer-type-def type-id='type-id-4205' size-in-bits='64' id='type-id-4122'/>
+      <pointer-type-def type-id='type-id-4206' size-in-bits='64' id='type-id-4125'/>
+      <pointer-type-def type-id='type-id-4207' size-in-bits='64' id='type-id-4121'/>
+      <pointer-type-def type-id='type-id-4208' size-in-bits='64' id='type-id-4120'/>
+      <pointer-type-def type-id='type-id-4209' size-in-bits='64' id='type-id-4181'/>
+      <pointer-type-def type-id='type-id-4210' size-in-bits='64' id='type-id-4143'/>
+      <pointer-type-def type-id='type-id-4211' size-in-bits='64' id='type-id-4154'/>
+      <pointer-type-def type-id='type-id-4212' size-in-bits='64' id='type-id-4144'/>
+      <pointer-type-def type-id='type-id-4213' size-in-bits='64' id='type-id-4145'/>
+      <pointer-type-def type-id='type-id-4214' size-in-bits='64' id='type-id-4146'/>
+      <pointer-type-def type-id='type-id-4215' size-in-bits='64' id='type-id-4148'/>
+      <pointer-type-def type-id='type-id-4216' size-in-bits='64' id='type-id-4123'/>
+      <pointer-type-def type-id='type-id-4136' size-in-bits='64' id='type-id-4109'/>
+      <pointer-type-def type-id='type-id-4171' size-in-bits='64' id='type-id-4137'/>
+      <pointer-type-def type-id='type-id-4131' size-in-bits='64' id='type-id-4108'/>
+      <pointer-type-def type-id='type-id-4151' size-in-bits='64' id='type-id-4217'/>
+      <pointer-type-def type-id='type-id-4130' size-in-bits='64' id='type-id-4218'/>
+      <pointer-type-def type-id='type-id-4218' size-in-bits='64' id='type-id-4115'/>
+      <pointer-type-def type-id='type-id-3981' size-in-bits='64' id='type-id-4219'/>
+      <pointer-type-def type-id='type-id-4155' size-in-bits='64' id='type-id-4104'/>
+      <pointer-type-def type-id='type-id-4220' size-in-bits='64' id='type-id-4150'/>
+      <pointer-type-def type-id='type-id-4113' size-in-bits='64' id='type-id-4107'/>
+      <pointer-type-def type-id='type-id-4221' size-in-bits='64' id='type-id-4185'/>
+      <pointer-type-def type-id='type-id-4183' size-in-bits='64' id='type-id-4180'/>
+      <pointer-type-def type-id='type-id-4179' size-in-bits='64' id='type-id-4222'/>
+      <pointer-type-def type-id='type-id-4223' size-in-bits='64' id='type-id-4184'/>
+      <pointer-type-def type-id='type-id-4138' size-in-bits='64' id='type-id-4106'/>
+      <pointer-type-def type-id='type-id-4152' size-in-bits='64' id='type-id-4224'/>
+      <pointer-type-def type-id='type-id-4127' size-in-bits='64' id='type-id-4225'/>
+      <pointer-type-def type-id='type-id-4225' size-in-bits='64' id='type-id-4114'/>
+      <pointer-type-def type-id='type-id-4177' size-in-bits='64' id='type-id-4176'/>
+      <pointer-type-def type-id='type-id-4175' size-in-bits='64' id='type-id-4116'/>
+      <pointer-type-def type-id='type-id-4170' size-in-bits='64' id='type-id-4141'/>
+      <pointer-type-def type-id='type-id-4169' size-in-bits='64' id='type-id-4105'/>
+      <pointer-type-def type-id='type-id-4226' size-in-bits='64' id='type-id-4164'/>
+      <pointer-type-def type-id='type-id-3982' size-in-bits='64' id='type-id-4227'/>
+      <pointer-type-def type-id='type-id-4129' size-in-bits='64' id='type-id-4128'/>
+      <pointer-type-def type-id='type-id-4110' size-in-bits='64' id='type-id-4139'/>
+      <pointer-type-def type-id='type-id-4228' size-in-bits='64' id='type-id-4174'/>
+      <pointer-type-def type-id='type-id-4229' size-in-bits='64' id='type-id-4133'/>
+      <pointer-type-def type-id='type-id-4230' size-in-bits='64' id='type-id-4118'/>
+      <pointer-type-def type-id='type-id-4231' size-in-bits='64' id='type-id-4147'/>
+      <pointer-type-def type-id='type-id-4232' size-in-bits='64' id='type-id-4163'/>
+      <pointer-type-def type-id='type-id-4233' size-in-bits='64' id='type-id-4165'/>
+      <pointer-type-def type-id='type-id-4234' size-in-bits='64' id='type-id-4119'/>
+      <pointer-type-def type-id='type-id-4235' size-in-bits='64' id='type-id-4182'/>
+      <pointer-type-def type-id='type-id-4236' size-in-bits='64' id='type-id-4153'/>
+      <pointer-type-def type-id='type-id-4237' size-in-bits='64' id='type-id-4149'/>
+      <function-decl name='usb_free_all_descriptors' mangled-name='usb_free_all_descriptors' filepath='include/linux/usb/gadget.h' line='799' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_free_all_descriptors'>
+        <parameter type-id='type-id-4107'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='usb_assign_descriptors' mangled-name='usb_assign_descriptors' filepath='drivers/usb/gadget/config.c' line='159' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_assign_descriptors'>
+        <parameter type-id='type-id-4107' name='f' filepath='drivers/usb/gadget/config.c' line='159' column='1'/>
+        <parameter type-id='type-id-4115' name='fs' filepath='drivers/usb/gadget/config.c' line='160' column='1'/>
+        <parameter type-id='type-id-4115' name='hs' filepath='drivers/usb/gadget/config.c' line='161' column='1'/>
+        <parameter type-id='type-id-4115' name='ss' filepath='drivers/usb/gadget/config.c' line='162' column='1'/>
+        <parameter type-id='type-id-4115' name='ssp' filepath='drivers/usb/gadget/config.c' line='163' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-4196'>
+        <parameter type-id='type-id-4109'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4197'>
+        <parameter type-id='type-id-4108'/>
+        <parameter type-id='type-id-4187'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4198'>
+        <parameter type-id='type-id-4108'/>
+        <parameter type-id='type-id-4107'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4199'>
+        <parameter type-id='type-id-4104'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4200'>
+        <parameter type-id='type-id-4104'/>
+        <parameter type-id='type-id-4158'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4201'>
+        <parameter type-id='type-id-4104'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4202'>
+        <parameter type-id='type-id-4104'/>
+        <parameter type-id='type-id-4105'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4203'>
+        <parameter type-id='type-id-4104'/>
+        <parameter type-id='type-id-4105'/>
+        <parameter type-id='type-id-272'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4204'>
+        <parameter type-id='type-id-4107'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4205'>
+        <parameter type-id='type-id-4107'/>
+        <parameter type-id='type-id-4187'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4206'>
+        <parameter type-id='type-id-4107'/>
+        <parameter type-id='type-id-53'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4207'>
+        <parameter type-id='type-id-4107'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4208'>
+        <parameter type-id='type-id-4107'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4209'>
+        <parameter type-id='type-id-4222'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4210'>
+        <parameter type-id='type-id-4106'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4211'>
+        <parameter type-id='type-id-4106'/>
+        <parameter type-id='type-id-4187'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4212'>
+        <parameter type-id='type-id-4106'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4213'>
+        <parameter type-id='type-id-4106'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4214'>
+        <parameter type-id='type-id-4106'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4215'>
+        <parameter type-id='type-id-4106'/>
+        <parameter type-id='type-id-4224'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4216'>
+        <parameter type-id='type-id-4107'/>
+        <parameter type-id='type-id-4187'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4220'>
+        <parameter type-id='type-id-4106'/>
+        <parameter type-id='type-id-4219'/>
+        <parameter type-id='type-id-4227'/>
+        <return type-id='type-id-4104'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4221'>
+        <parameter type-id='type-id-4222'/>
+        <return type-id='type-id-4107'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4223'>
+        <return type-id='type-id-4222'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4226'>
+        <parameter type-id='type-id-4104'/>
+        <parameter type-id='type-id-272'/>
+        <return type-id='type-id-4105'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4228'>
+        <parameter type-id='type-id-4109'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4229'>
+        <parameter type-id='type-id-4108'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4230'>
+        <parameter type-id='type-id-4108'/>
+        <parameter type-id='type-id-4107'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4231'>
+        <parameter type-id='type-id-4217'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4232'>
+        <parameter type-id='type-id-4104'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4233'>
+        <parameter type-id='type-id-4104'/>
+        <parameter type-id='type-id-4105'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4234'>
+        <parameter type-id='type-id-4107'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4235'>
+        <parameter type-id='type-id-4222'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4236'>
+        <parameter type-id='type-id-4106'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4237'>
+        <parameter type-id='type-id-4106'/>
+        <parameter type-id='type-id-3934'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/usb/gadget/epautoconf.c' language='LANG_C89'>
+      <function-decl name='usb_ep_autoconfig_ss' mangled-name='usb_ep_autoconfig_ss' filepath='drivers/usb/gadget/epautoconf.c' line='63' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_ep_autoconfig_ss'>
+        <parameter type-id='type-id-4106' name='gadget' filepath='drivers/usb/gadget/epautoconf.c' line='64' column='1'/>
+        <parameter type-id='type-id-4219' name='desc' filepath='drivers/usb/gadget/epautoconf.c' line='65' column='1'/>
+        <parameter type-id='type-id-4227' name='ep_comp' filepath='drivers/usb/gadget/epautoconf.c' line='66' column='1'/>
+        <return type-id='type-id-4104'/>
+      </function-decl>
+      <function-decl name='usb_ep_autoconfig' mangled-name='usb_ep_autoconfig' filepath='drivers/usb/gadget/epautoconf.c' line='161' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_ep_autoconfig'>
+        <parameter type-id='type-id-4106' name='gadget' filepath='drivers/usb/gadget/epautoconf.c' line='162' column='1'/>
+        <parameter type-id='type-id-4219' name='desc' filepath='drivers/usb/gadget/epautoconf.c' line='163' column='1'/>
+        <return type-id='type-id-4104'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/usb/gadget/function/f_audio_source.c' language='LANG_C89'>
+      <class-decl name='snd_kcontrol' size-in-bits='1152' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4238'/>
+      <class-decl name='snd_timer' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4239'/>
+      <array-type-def dimensions='1' type-id='type-id-4240' size-in-bits='1152' id='type-id-4241'>
+        <subrange length='12' type-id='type-id-5' id='type-id-3835'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4240' size-in-bits='864' id='type-id-4242'>
+        <subrange length='9' type-id='type-id-5' id='type-id-2321'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4243' size-in-bits='768' id='type-id-4244'>
+        <subrange length='3' type-id='type-id-5' id='type-id-1015'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4243' size-in-bits='1280' id='type-id-4245'>
+        <subrange length='5' type-id='type-id-5' id='type-id-3376'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4246' size-in-bits='13056' id='type-id-4247'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-271' size-in-bits='512' id='type-id-4248'>
+        <subrange length='64' type-id='type-id-5' id='type-id-2338'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-288' size-in-bits='128' id='type-id-4249'>
+        <subrange length='8' type-id='type-id-5' id='type-id-1953'/>
+
+      </array-type-def>
+      <class-decl name='snd_pcm_substream' size-in-bits='3584' is-struct='yes' visibility='default' filepath='include/sound/pcm.h' line='452' column='1' id='type-id-4250'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='pcm' type-id='type-id-4251' visibility='default' filepath='include/sound/pcm.h' line='453' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='pstr' type-id='type-id-4252' visibility='default' filepath='include/sound/pcm.h' line='454' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='private_data' type-id='type-id-3' visibility='default' filepath='include/sound/pcm.h' line='455' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='number' type-id='type-id-11' visibility='default' filepath='include/sound/pcm.h' line='456' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='name' type-id='type-id-650' visibility='default' filepath='include/sound/pcm.h' line='457' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='stream' type-id='type-id-11' visibility='default' filepath='include/sound/pcm.h' line='458' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='latency_pm_qos_req' type-id='type-id-4253' visibility='default' filepath='include/sound/pcm.h' line='459' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='buffer_bytes_max' type-id='type-id-125' visibility='default' filepath='include/sound/pcm.h' line='460' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='dma_buffer' type-id='type-id-4254' visibility='default' filepath='include/sound/pcm.h' line='461' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='dma_max' type-id='type-id-125' visibility='default' filepath='include/sound/pcm.h' line='462' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='ops' type-id='type-id-4255' visibility='default' filepath='include/sound/pcm.h' line='464' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='runtime' type-id='type-id-4256' visibility='default' filepath='include/sound/pcm.h' line='466' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='timer' type-id='type-id-4257' visibility='default' filepath='include/sound/pcm.h' line='468' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='timer_running' type-id='type-id-10' visibility='default' filepath='include/sound/pcm.h' line='469' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='wait_time' type-id='type-id-187' visibility='default' filepath='include/sound/pcm.h' line='470' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='next' type-id='type-id-4258' visibility='default' filepath='include/sound/pcm.h' line='472' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='link_list' type-id='type-id-8' visibility='default' filepath='include/sound/pcm.h' line='474' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2624'>
+          <var-decl name='self_group' type-id='type-id-4259' visibility='default' filepath='include/sound/pcm.h' line='475' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3136'>
+          <var-decl name='group' type-id='type-id-4260' visibility='default' filepath='include/sound/pcm.h' line='476' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3200'>
+          <var-decl name='file' type-id='type-id-3' visibility='default' filepath='include/sound/pcm.h' line='478' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3264'>
+          <var-decl name='ref_count' type-id='type-id-11' visibility='default' filepath='include/sound/pcm.h' line='479' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3296'>
+          <var-decl name='mmap_count' type-id='type-id-137' visibility='default' filepath='include/sound/pcm.h' line='480' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3328'>
+          <var-decl name='f_flags' type-id='type-id-10' visibility='default' filepath='include/sound/pcm.h' line='481' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3392'>
+          <var-decl name='pcm_release' type-id='type-id-4261' visibility='default' filepath='include/sound/pcm.h' line='482' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3456'>
+          <var-decl name='pid' type-id='type-id-1213' visibility='default' filepath='include/sound/pcm.h' line='483' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='hw_opened' type-id='type-id-10' visibility='default' filepath='include/sound/pcm.h' line='501' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_pcm' size-in-bits='15168' is-struct='yes' visibility='default' filepath='include/sound/pcm.h' line='530' column='1' id='type-id-4262'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='card' type-id='type-id-4263' visibility='default' filepath='include/sound/pcm.h' line='531' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/sound/pcm.h' line='532' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='device' type-id='type-id-11' visibility='default' filepath='include/sound/pcm.h' line='533' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='info_flags' type-id='type-id-10' visibility='default' filepath='include/sound/pcm.h' line='534' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='dev_class' type-id='type-id-288' visibility='default' filepath='include/sound/pcm.h' line='535' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='272'>
+          <var-decl name='dev_subclass' type-id='type-id-288' visibility='default' filepath='include/sound/pcm.h' line='536' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='id' type-id='type-id-4264' visibility='default' filepath='include/sound/pcm.h' line='537' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='800'>
+          <var-decl name='name' type-id='type-id-4265' visibility='default' filepath='include/sound/pcm.h' line='538' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='streams' type-id='type-id-4247' visibility='default' filepath='include/sound/pcm.h' line='539' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14528'>
+          <var-decl name='open_mutex' type-id='type-id-407' visibility='default' filepath='include/sound/pcm.h' line='540' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14784'>
+          <var-decl name='open_wait' type-id='type-id-388' visibility='default' filepath='include/sound/pcm.h' line='541' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14976'>
+          <var-decl name='private_data' type-id='type-id-3' visibility='default' filepath='include/sound/pcm.h' line='542' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15040'>
+          <var-decl name='private_free' type-id='type-id-4266' visibility='default' filepath='include/sound/pcm.h' line='543' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15104'>
+          <var-decl name='internal' type-id='type-id-211' visibility='default' filepath='include/sound/pcm.h' line='544' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15112'>
+          <var-decl name='nonatomic' type-id='type-id-211' visibility='default' filepath='include/sound/pcm.h' line='545' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_pcm_str' size-in-bits='6528' is-struct='yes' visibility='default' filepath='include/sound/pcm.h' line='507' column='1' id='type-id-4246'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='stream' type-id='type-id-11' visibility='default' filepath='include/sound/pcm.h' line='508' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='pcm' type-id='type-id-4251' visibility='default' filepath='include/sound/pcm.h' line='509' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='substream_count' type-id='type-id-10' visibility='default' filepath='include/sound/pcm.h' line='511' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='substream_opened' type-id='type-id-10' visibility='default' filepath='include/sound/pcm.h' line='512' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='substream' type-id='type-id-4258' visibility='default' filepath='include/sound/pcm.h' line='513' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='chmap_kctl' type-id='type-id-4267' visibility='default' filepath='include/sound/pcm.h' line='526' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='include/sound/pcm.h' line='527' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_dma_buffer' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/sound/memalloc.h' line='64' column='1' id='type-id-4254'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-4268' visibility='default' filepath='include/sound/memalloc.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='area' type-id='type-id-1047' visibility='default' filepath='include/sound/memalloc.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='addr' type-id='type-id-210' visibility='default' filepath='include/sound/memalloc.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='bytes' type-id='type-id-125' visibility='default' filepath='include/sound/memalloc.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='private_data' type-id='type-id-3' visibility='default' filepath='include/sound/memalloc.h' line='69' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_dma_device' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/sound/memalloc.h' line='34' column='1' id='type-id-4268'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-11' visibility='default' filepath='include/sound/memalloc.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/sound/memalloc.h' line='36' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_pcm_ops' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/sound/pcm.h' line='66' column='1' id='type-id-4269'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='open' type-id='type-id-4270' visibility='default' filepath='include/sound/pcm.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='close' type-id='type-id-4270' visibility='default' filepath='include/sound/pcm.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='ioctl' type-id='type-id-4271' visibility='default' filepath='include/sound/pcm.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='hw_params' type-id='type-id-4272' visibility='default' filepath='include/sound/pcm.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='hw_free' type-id='type-id-4270' visibility='default' filepath='include/sound/pcm.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='prepare' type-id='type-id-4270' visibility='default' filepath='include/sound/pcm.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='trigger' type-id='type-id-4273' visibility='default' filepath='include/sound/pcm.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='pointer' type-id='type-id-4274' visibility='default' filepath='include/sound/pcm.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='get_time_info' type-id='type-id-4275' visibility='default' filepath='include/sound/pcm.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='fill_silence' type-id='type-id-4276' visibility='default' filepath='include/sound/pcm.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='copy_user' type-id='type-id-4277' visibility='default' filepath='include/sound/pcm.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='copy_kernel' type-id='type-id-4277' visibility='default' filepath='include/sound/pcm.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='page' type-id='type-id-4278' visibility='default' filepath='include/sound/pcm.h' line='88' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='mmap' type-id='type-id-4279' visibility='default' filepath='include/sound/pcm.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='ack' type-id='type-id-4270' visibility='default' filepath='include/sound/pcm.h' line='91' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_pcm_hw_params' size-in-bits='4864' is-struct='yes' visibility='default' filepath='include/uapi/sound/asound.h' line='395' column='1' id='type-id-4280'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='include/uapi/sound/asound.h' line='396' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='masks' type-id='type-id-4244' visibility='default' filepath='include/uapi/sound/asound.h' line='397' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='800'>
+          <var-decl name='mres' type-id='type-id-4245' visibility='default' filepath='include/uapi/sound/asound.h' line='399' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2080'>
+          <var-decl name='intervals' type-id='type-id-4241' visibility='default' filepath='include/uapi/sound/asound.h' line='400' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3232'>
+          <var-decl name='ires' type-id='type-id-4242' visibility='default' filepath='include/uapi/sound/asound.h' line='402' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4096'>
+          <var-decl name='rmask' type-id='type-id-10' visibility='default' filepath='include/uapi/sound/asound.h' line='403' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4128'>
+          <var-decl name='cmask' type-id='type-id-10' visibility='default' filepath='include/uapi/sound/asound.h' line='404' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4160'>
+          <var-decl name='info' type-id='type-id-10' visibility='default' filepath='include/uapi/sound/asound.h' line='405' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4192'>
+          <var-decl name='msbits' type-id='type-id-10' visibility='default' filepath='include/uapi/sound/asound.h' line='406' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4224'>
+          <var-decl name='rate_num' type-id='type-id-10' visibility='default' filepath='include/uapi/sound/asound.h' line='407' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4256'>
+          <var-decl name='rate_den' type-id='type-id-10' visibility='default' filepath='include/uapi/sound/asound.h' line='408' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4288'>
+          <var-decl name='fifo_size' type-id='type-id-4281' visibility='default' filepath='include/uapi/sound/asound.h' line='409' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4352'>
+          <var-decl name='reserved' type-id='type-id-4248' visibility='default' filepath='include/uapi/sound/asound.h' line='410' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_mask' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/uapi/sound/asound.h' line='391' column='1' id='type-id-4243'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bits' type-id='type-id-2406' visibility='default' filepath='include/uapi/sound/asound.h' line='392' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_interval' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/uapi/sound/asound.h' line='381' column='1' id='type-id-4240'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='min' type-id='type-id-10' visibility='default' filepath='include/uapi/sound/asound.h' line='382' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='max' type-id='type-id-10' visibility='default' filepath='include/uapi/sound/asound.h' line='382' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='openmin' type-id='type-id-10' visibility='default' filepath='include/uapi/sound/asound.h' line='383' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='openmax' type-id='type-id-10' visibility='default' filepath='include/uapi/sound/asound.h' line='384' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='29'>
+          <var-decl name='integer' type-id='type-id-10' visibility='default' filepath='include/uapi/sound/asound.h' line='385' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='28'>
+          <var-decl name='empty' type-id='type-id-10' visibility='default' filepath='include/uapi/sound/asound.h' line='386' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='snd_pcm_uframes_t' type-id='type-id-100' filepath='include/uapi/sound/asound.h' line='158' column='1' id='type-id-4281'/>
+      <class-decl name='snd_pcm_audio_tstamp_config' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/sound/pcm.h' line='308' column='1' id='type-id-4282'>
+        <data-member access='public' layout-offset-in-bits='28'>
+          <var-decl name='type_requested' type-id='type-id-9' visibility='default' filepath='include/sound/pcm.h' line='310' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='27'>
+          <var-decl name='report_delay' type-id='type-id-9' visibility='default' filepath='include/sound/pcm.h' line='311' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_pcm_audio_tstamp_report' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/sound/pcm.h' line='325' column='1' id='type-id-4283'>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='valid' type-id='type-id-9' visibility='default' filepath='include/sound/pcm.h' line='329' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='27'>
+          <var-decl name='actual_type' type-id='type-id-9' visibility='default' filepath='include/sound/pcm.h' line='332' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='26'>
+          <var-decl name='accuracy_report' type-id='type-id-9' visibility='default' filepath='include/sound/pcm.h' line='335' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='accuracy' type-id='type-id-9' visibility='default' filepath='include/sound/pcm.h' line='336' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='79' column='1' id='type-id-4284'>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-156' visibility='default' filepath='include/linux/mm_types.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='callback_head' type-id='type-id-157' visibility='default' filepath='include/linux/mm_types.h' line='160' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='snd_pcm_runtime' size-in-bits='6080' is-struct='yes' visibility='default' filepath='include/sound/pcm.h' line='356' column='1' id='type-id-4285'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='trigger_master' type-id='type-id-4258' visibility='default' filepath='include/sound/pcm.h' line='358' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='trigger_tstamp' type-id='type-id-2903' visibility='default' filepath='include/sound/pcm.h' line='359' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='trigger_tstamp_latched' type-id='type-id-211' visibility='default' filepath='include/sound/pcm.h' line='360' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='overrange' type-id='type-id-11' visibility='default' filepath='include/sound/pcm.h' line='361' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='avail_max' type-id='type-id-4281' visibility='default' filepath='include/sound/pcm.h' line='362' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='hw_ptr_base' type-id='type-id-4281' visibility='default' filepath='include/sound/pcm.h' line='363' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='hw_ptr_interrupt' type-id='type-id-4281' visibility='default' filepath='include/sound/pcm.h' line='364' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='hw_ptr_jiffies' type-id='type-id-100' visibility='default' filepath='include/sound/pcm.h' line='365' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='hw_ptr_buffer_jiffies' type-id='type-id-100' visibility='default' filepath='include/sound/pcm.h' line='366' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='delay' type-id='type-id-4286' visibility='default' filepath='include/sound/pcm.h' line='367' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='hw_ptr_wrap' type-id='type-id-134' visibility='default' filepath='include/sound/pcm.h' line='368' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='access' type-id='type-id-4287' visibility='default' filepath='include/sound/pcm.h' line='371' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='736'>
+          <var-decl name='format' type-id='type-id-4288' visibility='default' filepath='include/sound/pcm.h' line='372' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='subformat' type-id='type-id-4289' visibility='default' filepath='include/sound/pcm.h' line='373' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='800'>
+          <var-decl name='rate' type-id='type-id-10' visibility='default' filepath='include/sound/pcm.h' line='374' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='channels' type-id='type-id-10' visibility='default' filepath='include/sound/pcm.h' line='375' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='period_size' type-id='type-id-4281' visibility='default' filepath='include/sound/pcm.h' line='376' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='periods' type-id='type-id-10' visibility='default' filepath='include/sound/pcm.h' line='377' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='buffer_size' type-id='type-id-4281' visibility='default' filepath='include/sound/pcm.h' line='378' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='min_align' type-id='type-id-4281' visibility='default' filepath='include/sound/pcm.h' line='379' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='byte_align' type-id='type-id-125' visibility='default' filepath='include/sound/pcm.h' line='380' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='frame_bits' type-id='type-id-10' visibility='default' filepath='include/sound/pcm.h' line='381' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1248'>
+          <var-decl name='sample_bits' type-id='type-id-10' visibility='default' filepath='include/sound/pcm.h' line='382' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='info' type-id='type-id-10' visibility='default' filepath='include/sound/pcm.h' line='383' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1312'>
+          <var-decl name='rate_num' type-id='type-id-10' visibility='default' filepath='include/sound/pcm.h' line='384' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='rate_den' type-id='type-id-10' visibility='default' filepath='include/sound/pcm.h' line='385' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='no_period_wakeup' type-id='type-id-10' visibility='default' filepath='include/sound/pcm.h' line='386' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='tstamp_mode' type-id='type-id-11' visibility='default' filepath='include/sound/pcm.h' line='389' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1440'>
+          <var-decl name='period_step' type-id='type-id-10' visibility='default' filepath='include/sound/pcm.h' line='390' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='start_threshold' type-id='type-id-4281' visibility='default' filepath='include/sound/pcm.h' line='391' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='stop_threshold' type-id='type-id-4281' visibility='default' filepath='include/sound/pcm.h' line='392' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='silence_threshold' type-id='type-id-4281' visibility='default' filepath='include/sound/pcm.h' line='393' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='silence_size' type-id='type-id-4281' visibility='default' filepath='include/sound/pcm.h' line='395' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='boundary' type-id='type-id-4281' visibility='default' filepath='include/sound/pcm.h' line='396' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='silence_start' type-id='type-id-4281' visibility='default' filepath='include/sound/pcm.h' line='398' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='silence_filled' type-id='type-id-4281' visibility='default' filepath='include/sound/pcm.h' line='399' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='sync' type-id='type-id-4290' visibility='default' filepath='include/sound/pcm.h' line='401' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='status' type-id='type-id-4291' visibility='default' filepath='include/sound/pcm.h' line='404' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='control' type-id='type-id-4292' visibility='default' filepath='include/sound/pcm.h' line='405' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='twake' type-id='type-id-4281' visibility='default' filepath='include/sound/pcm.h' line='408' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='sleep' type-id='type-id-388' visibility='default' filepath='include/sound/pcm.h' line='409' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='tsleep' type-id='type-id-388' visibility='default' filepath='include/sound/pcm.h' line='410' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2624'>
+          <var-decl name='fasync' type-id='type-id-3920' visibility='default' filepath='include/sound/pcm.h' line='411' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2688'>
+          <var-decl name='private_data' type-id='type-id-3' visibility='default' filepath='include/sound/pcm.h' line='414' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2752'>
+          <var-decl name='private_free' type-id='type-id-4293' visibility='default' filepath='include/sound/pcm.h' line='415' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2816'>
+          <var-decl name='hw' type-id='type-id-4294' visibility='default' filepath='include/sound/pcm.h' line='418' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3456'>
+          <var-decl name='hw_constraints' type-id='type-id-4295' visibility='default' filepath='include/sound/pcm.h' line='419' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5504'>
+          <var-decl name='timer_resolution' type-id='type-id-10' visibility='default' filepath='include/sound/pcm.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5536'>
+          <var-decl name='tstamp_type' type-id='type-id-11' visibility='default' filepath='include/sound/pcm.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5568'>
+          <var-decl name='dma_area' type-id='type-id-1047' visibility='default' filepath='include/sound/pcm.h' line='426' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5632'>
+          <var-decl name='dma_addr' type-id='type-id-210' visibility='default' filepath='include/sound/pcm.h' line='427' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5696'>
+          <var-decl name='dma_bytes' type-id='type-id-125' visibility='default' filepath='include/sound/pcm.h' line='428' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5760'>
+          <var-decl name='dma_buffer_p' type-id='type-id-4296' visibility='default' filepath='include/sound/pcm.h' line='430' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5824'>
+          <var-decl name='audio_tstamp_config' type-id='type-id-4282' visibility='default' filepath='include/sound/pcm.h' line='433' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5856'>
+          <var-decl name='audio_tstamp_report' type-id='type-id-4283' visibility='default' filepath='include/sound/pcm.h' line='434' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5952'>
+          <var-decl name='driver_tstamp' type-id='type-id-2903' visibility='default' filepath='include/sound/pcm.h' line='435' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='snd_pcm_sframes_t' type-id='type-id-187' filepath='include/uapi/sound/asound.h' line='159' column='1' id='type-id-4286'/>
+      <typedef-decl name='snd_pcm_access_t' type-id='type-id-11' filepath='include/uapi/sound/asound.h' line='183' column='1' id='type-id-4287'/>
+      <typedef-decl name='snd_pcm_format_t' type-id='type-id-11' filepath='include/uapi/sound/asound.h' line='191' column='1' id='type-id-4288'/>
+      <typedef-decl name='snd_pcm_subformat_t' type-id='type-id-11' filepath='include/uapi/sound/asound.h' line='274' column='1' id='type-id-4289'/>
+      <union-decl name='snd_pcm_sync_id' size-in-bits='128' visibility='default' filepath='include/uapi/sound/asound.h' line='323' column='1' id='type-id-4290'>
+        <data-member access='private'>
+          <var-decl name='id' type-id='type-id-3477' visibility='default' filepath='include/uapi/sound/asound.h' line='324' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='id16' type-id='type-id-4249' visibility='default' filepath='include/uapi/sound/asound.h' line='325' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='id32' type-id='type-id-1155' visibility='default' filepath='include/uapi/sound/asound.h' line='326' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='snd_pcm_mmap_status' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/uapi/sound/asound.h' line='476' column='1' id='type-id-4297'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='state' type-id='type-id-4298' visibility='default' filepath='include/uapi/sound/asound.h' line='477' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='pad1' type-id='type-id-11' visibility='default' filepath='include/uapi/sound/asound.h' line='478' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='hw_ptr' type-id='type-id-4281' visibility='default' filepath='include/uapi/sound/asound.h' line='479' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='tstamp' type-id='type-id-2903' visibility='default' filepath='include/uapi/sound/asound.h' line='480' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='suspended_state' type-id='type-id-4298' visibility='default' filepath='include/uapi/sound/asound.h' line='481' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='audio_tstamp' type-id='type-id-2903' visibility='default' filepath='include/uapi/sound/asound.h' line='482' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='snd_pcm_state_t' type-id='type-id-11' filepath='include/uapi/sound/asound.h' line='305' column='1' id='type-id-4298'/>
+      <class-decl name='snd_pcm_mmap_control' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/sound/asound.h' line='485' column='1' id='type-id-4299'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='appl_ptr' type-id='type-id-4281' visibility='default' filepath='include/uapi/sound/asound.h' line='486' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='avail_min' type-id='type-id-4281' visibility='default' filepath='include/uapi/sound/asound.h' line='487' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_pcm_hardware' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/sound/pcm.h' line='45' column='1' id='type-id-4294'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='info' type-id='type-id-10' visibility='default' filepath='include/sound/pcm.h' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='formats' type-id='type-id-134' visibility='default' filepath='include/sound/pcm.h' line='47' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='rates' type-id='type-id-10' visibility='default' filepath='include/sound/pcm.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='rate_min' type-id='type-id-10' visibility='default' filepath='include/sound/pcm.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='rate_max' type-id='type-id-10' visibility='default' filepath='include/sound/pcm.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='channels_min' type-id='type-id-10' visibility='default' filepath='include/sound/pcm.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='channels_max' type-id='type-id-10' visibility='default' filepath='include/sound/pcm.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='buffer_bytes_max' type-id='type-id-125' visibility='default' filepath='include/sound/pcm.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='period_bytes_min' type-id='type-id-125' visibility='default' filepath='include/sound/pcm.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='period_bytes_max' type-id='type-id-125' visibility='default' filepath='include/sound/pcm.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='periods_min' type-id='type-id-10' visibility='default' filepath='include/sound/pcm.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='periods_max' type-id='type-id-10' visibility='default' filepath='include/sound/pcm.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='fifo_size' type-id='type-id-125' visibility='default' filepath='include/sound/pcm.h' line='58' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_pcm_hw_constraints' size-in-bits='2048' is-struct='yes' visibility='default' filepath='include/sound/pcm.h' line='250' column='1' id='type-id-4295'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='masks' type-id='type-id-4244' visibility='default' filepath='include/sound/pcm.h' line='251' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='intervals' type-id='type-id-4241' visibility='default' filepath='include/sound/pcm.h' line='253' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='rules_num' type-id='type-id-10' visibility='default' filepath='include/sound/pcm.h' line='255' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1952'>
+          <var-decl name='rules_all' type-id='type-id-10' visibility='default' filepath='include/sound/pcm.h' line='256' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='rules' type-id='type-id-4300' visibility='default' filepath='include/sound/pcm.h' line='257' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_pcm_hw_rule' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/sound/pcm.h' line='241' column='1' id='type-id-4301'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cond' type-id='type-id-10' visibility='default' filepath='include/sound/pcm.h' line='242' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='var' type-id='type-id-11' visibility='default' filepath='include/sound/pcm.h' line='243' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='deps' type-id='type-id-4302' visibility='default' filepath='include/sound/pcm.h' line='244' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='func' type-id='type-id-4303' visibility='default' filepath='include/sound/pcm.h' line='246' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='private' type-id='type-id-3' visibility='default' filepath='include/sound/pcm.h' line='247' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='snd_pcm_hw_rule_func_t' type-id='type-id-4304' filepath='include/sound/pcm.h' line='238' column='1' id='type-id-4303'/>
+      <class-decl name='snd_pcm_group' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/sound/pcm.h' line='443' column='1' id='type-id-4259'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/sound/pcm.h' line='444' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='mutex' type-id='type-id-407' visibility='default' filepath='include/sound/pcm.h' line='445' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='substreams' type-id='type-id-8' visibility='default' filepath='include/sound/pcm.h' line='446' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='count' type-id='type-id-11' visibility='default' filepath='include/sound/pcm.h' line='447' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-4269' const='yes' id='type-id-4305'/>
+      <pointer-type-def type-id='type-id-4305' size-in-bits='64' id='type-id-4255'/>
+      <pointer-type-def type-id='type-id-4306' size-in-bits='64' id='type-id-4304'/>
+      <pointer-type-def type-id='type-id-4307' size-in-bits='64' id='type-id-4270'/>
+      <pointer-type-def type-id='type-id-4308' size-in-bits='64' id='type-id-4273'/>
+      <pointer-type-def type-id='type-id-4309' size-in-bits='64' id='type-id-4276'/>
+      <pointer-type-def type-id='type-id-4310' size-in-bits='64' id='type-id-4277'/>
+      <pointer-type-def type-id='type-id-4311' size-in-bits='64' id='type-id-4272'/>
+      <pointer-type-def type-id='type-id-4312' size-in-bits='64' id='type-id-4275'/>
+      <pointer-type-def type-id='type-id-4313' size-in-bits='64' id='type-id-4271'/>
+      <pointer-type-def type-id='type-id-4314' size-in-bits='64' id='type-id-4279'/>
+      <pointer-type-def type-id='type-id-4315' size-in-bits='64' id='type-id-4278'/>
+      <pointer-type-def type-id='type-id-4254' size-in-bits='64' id='type-id-4296'/>
+      <pointer-type-def type-id='type-id-4238' size-in-bits='64' id='type-id-4267'/>
+      <pointer-type-def type-id='type-id-4262' size-in-bits='64' id='type-id-4251'/>
+      <pointer-type-def type-id='type-id-4251' size-in-bits='64' id='type-id-4316'/>
+      <pointer-type-def type-id='type-id-4282' size-in-bits='64' id='type-id-4317'/>
+      <pointer-type-def type-id='type-id-4283' size-in-bits='64' id='type-id-4318'/>
+      <pointer-type-def type-id='type-id-4259' size-in-bits='64' id='type-id-4260'/>
+      <pointer-type-def type-id='type-id-4280' size-in-bits='64' id='type-id-4319'/>
+      <pointer-type-def type-id='type-id-4301' size-in-bits='64' id='type-id-4300'/>
+      <pointer-type-def type-id='type-id-4299' size-in-bits='64' id='type-id-4292'/>
+      <pointer-type-def type-id='type-id-4297' size-in-bits='64' id='type-id-4291'/>
+      <pointer-type-def type-id='type-id-4285' size-in-bits='64' id='type-id-4256'/>
+      <pointer-type-def type-id='type-id-4246' size-in-bits='64' id='type-id-4252'/>
+      <pointer-type-def type-id='type-id-4250' size-in-bits='64' id='type-id-4258'/>
+      <pointer-type-def type-id='type-id-4239' size-in-bits='64' id='type-id-4257'/>
+      <pointer-type-def type-id='type-id-4320' size-in-bits='64' id='type-id-4274'/>
+      <pointer-type-def type-id='type-id-4321' size-in-bits='64' id='type-id-4266'/>
+      <pointer-type-def type-id='type-id-4322' size-in-bits='64' id='type-id-4293'/>
+      <pointer-type-def type-id='type-id-4323' size-in-bits='64' id='type-id-4261'/>
+      <function-decl name='snd_pcm_period_elapsed' mangled-name='snd_pcm_period_elapsed' filepath='include/sound/pcm.h' line='1089' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_pcm_period_elapsed'>
+        <parameter type-id='type-id-4258'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='snd_pcm_new' mangled-name='snd_pcm_new' filepath='include/sound/pcm.h' line='557' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_pcm_new'>
+        <parameter type-id='type-id-4263'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-4316'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_pcm_set_ops' mangled-name='snd_pcm_set_ops' filepath='include/sound/pcm.h' line='1084' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_pcm_set_ops'>
+        <parameter type-id='type-id-4251'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-4255'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='snd_pcm_lib_preallocate_pages_for_all' mangled-name='snd_pcm_lib_preallocate_pages_for_all' filepath='include/sound/pcm.h' line='1213' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_pcm_lib_preallocate_pages_for_all'>
+        <parameter type-id='type-id-4251'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_pcm_limit_hw_rates' mangled-name='snd_pcm_limit_hw_rates' filepath='include/sound/pcm.h' line='1150' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_pcm_limit_hw_rates'>
+        <parameter type-id='type-id-4256'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='_snd_pcm_lib_alloc_vmalloc_buffer' mangled-name='_snd_pcm_lib_alloc_vmalloc_buffer' filepath='include/sound/pcm.h' line='1219' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_snd_pcm_lib_alloc_vmalloc_buffer'>
+        <parameter type-id='type-id-4258'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_pcm_lib_free_vmalloc_buffer' mangled-name='snd_pcm_lib_free_vmalloc_buffer' filepath='include/sound/pcm.h' line='1221' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_pcm_lib_free_vmalloc_buffer'>
+        <parameter type-id='type-id-4258'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-4306'>
+        <parameter type-id='type-id-4319'/>
+        <parameter type-id='type-id-4300'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4307'>
+        <parameter type-id='type-id-4258'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4308'>
+        <parameter type-id='type-id-4258'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4309'>
+        <parameter type-id='type-id-4258'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4310'>
+        <parameter type-id='type-id-4258'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4311'>
+        <parameter type-id='type-id-4258'/>
+        <parameter type-id='type-id-4319'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4312'>
+        <parameter type-id='type-id-4258'/>
+        <parameter type-id='type-id-4324'/>
+        <parameter type-id='type-id-4324'/>
+        <parameter type-id='type-id-4317'/>
+        <parameter type-id='type-id-4318'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4313'>
+        <parameter type-id='type-id-4258'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4314'>
+        <parameter type-id='type-id-4258'/>
+        <parameter type-id='type-id-132'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4315'>
+        <parameter type-id='type-id-4258'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-120'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4320'>
+        <parameter type-id='type-id-4258'/>
+        <return type-id='type-id-4281'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4321'>
+        <parameter type-id='type-id-4251'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4322'>
+        <parameter type-id='type-id-4256'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4323'>
+        <parameter type-id='type-id-4258'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/usb/gadget/function/f_midi.c' language='LANG_C89'>
+
+      <array-type-def dimensions='1' type-id='type-id-475' size-in-bits='640' id='type-id-4265'>
+        <subrange length='80' type-id='type-id-5' id='type-id-4325'/>
+
+      </array-type-def>
+      <class-decl name='snd_info_entry' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4326'/>
+      <class-decl name='snd_shutdown_f_ops' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4327'/>
+      <class-decl name='snd_card' size-in-bits='17984' is-struct='yes' visibility='default' filepath='include/sound/core.h' line='94' column='1' id='type-id-4328'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='number' type-id='type-id-11' visibility='default' filepath='include/sound/core.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='id' type-id='type-id-847' visibility='default' filepath='include/sound/core.h' line='98' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='driver' type-id='type-id-847' visibility='default' filepath='include/sound/core.h' line='99' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='shortname' type-id='type-id-650' visibility='default' filepath='include/sound/core.h' line='100' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='longname' type-id='type-id-4265' visibility='default' filepath='include/sound/core.h' line='101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1184'>
+          <var-decl name='irq_descr' type-id='type-id-650' visibility='default' filepath='include/sound/core.h' line='102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1440'>
+          <var-decl name='mixername' type-id='type-id-4265' visibility='default' filepath='include/sound/core.h' line='103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2080'>
+          <var-decl name='components' type-id='type-id-13' visibility='default' filepath='include/sound/core.h' line='104' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3136'>
+          <var-decl name='module' type-id='type-id-19' visibility='default' filepath='include/sound/core.h' line='106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3200'>
+          <var-decl name='private_data' type-id='type-id-3' visibility='default' filepath='include/sound/core.h' line='108' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3264'>
+          <var-decl name='private_free' type-id='type-id-4329' visibility='default' filepath='include/sound/core.h' line='109' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3328'>
+          <var-decl name='devices' type-id='type-id-8' visibility='default' filepath='include/sound/core.h' line='111' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3456'>
+          <var-decl name='ctl_dev' type-id='type-id-294' visibility='default' filepath='include/sound/core.h' line='113' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9664'>
+          <var-decl name='last_numid' type-id='type-id-10' visibility='default' filepath='include/sound/core.h' line='114' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9728'>
+          <var-decl name='controls_rwsem' type-id='type-id-139' visibility='default' filepath='include/sound/core.h' line='115' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10048'>
+          <var-decl name='ctl_files_rwlock' type-id='type-id-1847' visibility='default' filepath='include/sound/core.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10112'>
+          <var-decl name='controls_count' type-id='type-id-11' visibility='default' filepath='include/sound/core.h' line='117' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10144'>
+          <var-decl name='user_ctl_count' type-id='type-id-11' visibility='default' filepath='include/sound/core.h' line='118' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10176'>
+          <var-decl name='controls' type-id='type-id-8' visibility='default' filepath='include/sound/core.h' line='119' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10304'>
+          <var-decl name='ctl_files' type-id='type-id-8' visibility='default' filepath='include/sound/core.h' line='120' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10432'>
+          <var-decl name='proc_root' type-id='type-id-4330' visibility='default' filepath='include/sound/core.h' line='122' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10496'>
+          <var-decl name='proc_id' type-id='type-id-4330' visibility='default' filepath='include/sound/core.h' line='123' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10560'>
+          <var-decl name='proc_root_link' type-id='type-id-286' visibility='default' filepath='include/sound/core.h' line='124' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10624'>
+          <var-decl name='files_list' type-id='type-id-8' visibility='default' filepath='include/sound/core.h' line='126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10752'>
+          <var-decl name='s_f_ops' type-id='type-id-4331' visibility='default' filepath='include/sound/core.h' line='127' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10816'>
+          <var-decl name='files_lock' type-id='type-id-106' visibility='default' filepath='include/sound/core.h' line='129' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10848'>
+          <var-decl name='shutdown' type-id='type-id-11' visibility='default' filepath='include/sound/core.h' line='130' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10880'>
+          <var-decl name='release_completion' type-id='type-id-176' visibility='default' filepath='include/sound/core.h' line='131' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10944'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/sound/core.h' line='132' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11008'>
+          <var-decl name='card_dev' type-id='type-id-294' visibility='default' filepath='include/sound/core.h' line='133' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='17216'>
+          <var-decl name='dev_groups' type-id='type-id-4332' visibility='default' filepath='include/sound/core.h' line='134' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='17472'>
+          <var-decl name='registered' type-id='type-id-211' visibility='default' filepath='include/sound/core.h' line='135' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='17536'>
+          <var-decl name='remove_sleep' type-id='type-id-388' visibility='default' filepath='include/sound/core.h' line='136' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='17728'>
+          <var-decl name='power_state' type-id='type-id-10' visibility='default' filepath='include/sound/core.h' line='139' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='17792'>
+          <var-decl name='power_sleep' type-id='type-id-388' visibility='default' filepath='include/sound/core.h' line='140' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='snd_device_type' filepath='include/sound/core.h' line='52' column='1' id='type-id-4333'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='SNDRV_DEV_LOWLEVEL' value='0'/>
+        <enumerator name='SNDRV_DEV_INFO' value='1'/>
+        <enumerator name='SNDRV_DEV_BUS' value='2'/>
+        <enumerator name='SNDRV_DEV_CODEC' value='3'/>
+        <enumerator name='SNDRV_DEV_PCM' value='4'/>
+        <enumerator name='SNDRV_DEV_COMPRESS' value='5'/>
+        <enumerator name='SNDRV_DEV_RAWMIDI' value='6'/>
+        <enumerator name='SNDRV_DEV_TIMER' value='7'/>
+        <enumerator name='SNDRV_DEV_SEQUENCER' value='8'/>
+        <enumerator name='SNDRV_DEV_HWDEP' value='9'/>
+        <enumerator name='SNDRV_DEV_JACK' value='10'/>
+        <enumerator name='SNDRV_DEV_CONTROL' value='11'/>
+      </enum-decl>
+      <class-decl name='snd_device_ops' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/sound/core.h' line='75' column='1' id='type-id-4334'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev_free' type-id='type-id-4335' visibility='default' filepath='include/sound/core.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dev_register' type-id='type-id-4335' visibility='default' filepath='include/sound/core.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='dev_disconnect' type-id='type-id-4335' visibility='default' filepath='include/sound/core.h' line='78' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_device' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/sound/core.h' line='81' column='1' id='type-id-4336'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/sound/core.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='card' type-id='type-id-4263' visibility='default' filepath='include/sound/core.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='state' type-id='type-id-4337' visibility='default' filepath='include/sound/core.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='type' type-id='type-id-4333' visibility='default' filepath='include/sound/core.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='device_data' type-id='type-id-3' visibility='default' filepath='include/sound/core.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='ops' type-id='type-id-4338' visibility='default' filepath='include/sound/core.h' line='87' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='snd_device_state' filepath='include/sound/core.h' line='67' column='1' id='type-id-4337'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='SNDRV_DEV_BUILD' value='0'/>
+        <enumerator name='SNDRV_DEV_REGISTERED' value='1'/>
+        <enumerator name='SNDRV_DEV_DISCONNECTED' value='2'/>
+      </enum-decl>
+      <pointer-type-def type-id='type-id-4339' size-in-bits='64' id='type-id-4335'/>
+      <pointer-type-def type-id='type-id-4328' size-in-bits='64' id='type-id-4263'/>
+      <pointer-type-def type-id='type-id-4263' size-in-bits='64' id='type-id-4340'/>
+      <pointer-type-def type-id='type-id-4336' size-in-bits='64' id='type-id-4341'/>
+      <pointer-type-def type-id='type-id-4334' size-in-bits='64' id='type-id-4338'/>
+      <pointer-type-def type-id='type-id-4326' size-in-bits='64' id='type-id-4330'/>
+      <pointer-type-def type-id='type-id-4327' size-in-bits='64' id='type-id-4331'/>
+      <pointer-type-def type-id='type-id-4342' size-in-bits='64' id='type-id-4329'/>
+      <function-decl name='snd_card_new' mangled-name='snd_card_new' filepath='include/sound/core.h' line='239' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_card_new'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-19'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-4340'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_device_new' mangled-name='snd_device_new' filepath='include/sound/core.h' line='261' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_device_new'>
+        <parameter type-id='type-id-4263'/>
+        <parameter type-id='type-id-4333'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-4338'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_component_add' mangled-name='snd_component_add' filepath='include/sound/core.h' line='252' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_component_add'>
+        <parameter type-id='type-id-4263'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_card_register' mangled-name='snd_card_register' filepath='include/sound/core.h' line='248' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_card_register'>
+        <parameter type-id='type-id-4263'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_card_free' mangled-name='snd_card_free' filepath='include/sound/core.h' line='245' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_card_free'>
+        <parameter type-id='type-id-4263'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-4339'>
+        <parameter type-id='type-id-4341'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4342'>
+        <parameter type-id='type-id-4263'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/usb/gadget/functions.c' language='LANG_C89'>
+      <function-decl name='usb_put_function_instance' mangled-name='usb_put_function_instance' filepath='drivers/usb/gadget/functions.c' line='69' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_put_function_instance'>
+        <parameter type-id='type-id-4222' name='fi' filepath='drivers/usb/gadget/functions.c' line='69' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='usb_function_register' mangled-name='usb_function_register' filepath='drivers/usb/gadget/functions.c' line='91' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_function_register'>
+        <parameter type-id='type-id-4180' name='newf' filepath='drivers/usb/gadget/functions.c' line='91' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='usb_function_unregister' mangled-name='usb_function_unregister' filepath='drivers/usb/gadget/functions.c' line='111' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_function_unregister'>
+        <parameter type-id='type-id-4180' name='fd' filepath='drivers/usb/gadget/functions.c' line='111' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/usb/gadget/udc/core.c' language='LANG_C89'>
+      <function-decl name='usb_ep_set_maxpacket_limit' mangled-name='usb_ep_set_maxpacket_limit' filepath='drivers/usb/gadget/udc/core.c' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_ep_set_maxpacket_limit'>
+        <parameter type-id='type-id-4104' name='ep' filepath='drivers/usb/gadget/udc/core.c' line='62' column='1'/>
+        <parameter type-id='type-id-10' name='maxpacket_limit' filepath='drivers/usb/gadget/udc/core.c' line='63' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='usb_ep_enable' mangled-name='usb_ep_enable' filepath='drivers/usb/gadget/udc/core.c' line='94' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_ep_enable'>
+        <parameter type-id='type-id-4104' name='ep' filepath='drivers/usb/gadget/udc/core.c' line='94' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='usb_ep_disable' mangled-name='usb_ep_disable' filepath='drivers/usb/gadget/udc/core.c' line='139' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_ep_disable'>
+        <parameter type-id='type-id-4104' name='ep' filepath='drivers/usb/gadget/udc/core.c' line='139' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='usb_ep_set_halt' mangled-name='usb_ep_set_halt' filepath='drivers/usb/gadget/udc/core.c' line='341' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_ep_set_halt'>
+        <parameter type-id='type-id-4104' name='ep' filepath='drivers/usb/gadget/udc/core.c' line='341' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='usb_gadget_wakeup' mangled-name='usb_gadget_wakeup' filepath='drivers/usb/gadget/udc/core.c' line='491' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_gadget_wakeup'>
+        <parameter type-id='type-id-4106' name='gadget' filepath='drivers/usb/gadget/udc/core.c' line='491' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='usb_gadget_vbus_connect' mangled-name='usb_gadget_vbus_connect' filepath='drivers/usb/gadget/udc/core.c' line='577' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_gadget_vbus_connect'>
+        <parameter type-id='type-id-4106' name='gadget' filepath='drivers/usb/gadget/udc/core.c' line='577' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='usb_gadget_vbus_disconnect' mangled-name='usb_gadget_vbus_disconnect' filepath='drivers/usb/gadget/udc/core.c' line='638' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_gadget_vbus_disconnect'>
+        <parameter type-id='type-id-4106' name='gadget' filepath='drivers/usb/gadget/udc/core.c' line='638' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='usb_gadget_map_request_by_dev' mangled-name='usb_gadget_map_request_by_dev' filepath='drivers/usb/gadget/udc/core.c' line='809' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_gadget_map_request_by_dev'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/usb/gadget/udc/core.c' line='809' column='1'/>
+        <parameter type-id='type-id-4105' name='req' filepath='drivers/usb/gadget/udc/core.c' line='810' column='1'/>
+        <parameter type-id='type-id-11' name='is_in' filepath='drivers/usb/gadget/udc/core.c' line='810' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='usb_gadget_unmap_request_by_dev' mangled-name='usb_gadget_unmap_request_by_dev' filepath='drivers/usb/gadget/udc/core.c' line='857' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_gadget_unmap_request_by_dev'>
+        <parameter type-id='type-id-86' name='dev' filepath='drivers/usb/gadget/udc/core.c' line='857' column='1'/>
+        <parameter type-id='type-id-4105' name='req' filepath='drivers/usb/gadget/udc/core.c' line='858' column='1'/>
+        <parameter type-id='type-id-11' name='is_in' filepath='drivers/usb/gadget/udc/core.c' line='858' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='usb_gadget_giveback_request' mangled-name='usb_gadget_giveback_request' filepath='drivers/usb/gadget/udc/core.c' line='894' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_gadget_giveback_request'>
+        <parameter type-id='type-id-4104' name='ep' filepath='drivers/usb/gadget/udc/core.c' line='894' column='1'/>
+        <parameter type-id='type-id-4105' name='req' filepath='drivers/usb/gadget/udc/core.c' line='895' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='usb_gadget_udc_reset' mangled-name='usb_gadget_udc_reset' filepath='drivers/usb/gadget/udc/core.c' line='1054' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_gadget_udc_reset'>
+        <parameter type-id='type-id-4106' name='gadget' filepath='drivers/usb/gadget/udc/core.c' line='1054' column='1'/>
+        <parameter type-id='type-id-4224' name='driver' filepath='drivers/usb/gadget/udc/core.c' line='1055' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='usb_add_gadget_udc' mangled-name='usb_add_gadget_udc' filepath='drivers/usb/gadget/udc/core.c' line='1281' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_add_gadget_udc'>
+        <parameter type-id='type-id-86' name='parent' filepath='drivers/usb/gadget/udc/core.c' line='1281' column='1'/>
+        <parameter type-id='type-id-4106' name='gadget' filepath='drivers/usb/gadget/udc/core.c' line='1281' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='usb_del_gadget_udc' mangled-name='usb_del_gadget_udc' filepath='drivers/usb/gadget/udc/core.c' line='1311' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_del_gadget_udc'>
+        <parameter type-id='type-id-4106' name='gadget' filepath='drivers/usb/gadget/udc/core.c' line='1311' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/usb/phy/of.c' language='LANG_C89'>
+      <enum-decl name='usb_phy_interface' filepath='include/linux/usb/phy.h' line='18' column='1' id='type-id-4343'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='USBPHY_INTERFACE_MODE_UNKNOWN' value='0'/>
+        <enumerator name='USBPHY_INTERFACE_MODE_UTMI' value='1'/>
+        <enumerator name='USBPHY_INTERFACE_MODE_UTMIW' value='2'/>
+        <enumerator name='USBPHY_INTERFACE_MODE_ULPI' value='3'/>
+        <enumerator name='USBPHY_INTERFACE_MODE_SERIAL' value='4'/>
+        <enumerator name='USBPHY_INTERFACE_MODE_HSIC' value='5'/>
+      </enum-decl>
+      <function-decl name='of_usb_get_phy_mode' mangled-name='of_usb_get_phy_mode' filepath='drivers/usb/phy/of.c' line='28' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_usb_get_phy_mode'>
+        <parameter type-id='type-id-81' name='np' filepath='drivers/usb/phy/of.c' line='28' column='1'/>
+        <return type-id='type-id-4343'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/usb/typec/bus.c' language='LANG_C89'>
+      <pointer-type-def type-id='type-id-4344' size-in-bits='64' id='type-id-4345'/>
+      <function-decl name='typec_altmode_notify' mangled-name='typec_altmode_notify' filepath='drivers/usb/typec/bus.c' line='51' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='typec_altmode_notify'>
+        <parameter type-id='type-id-4344' name='adev' filepath='drivers/usb/typec/bus.c' line='51' column='1'/>
+        <parameter type-id='type-id-100' name='conf' filepath='drivers/usb/typec/bus.c' line='52' column='1'/>
+        <parameter type-id='type-id-3' name='data' filepath='drivers/usb/typec/bus.c' line='52' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='typec_altmode_attention' mangled-name='typec_altmode_attention' filepath='drivers/usb/typec/bus.c' line='149' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='typec_altmode_attention'>
+        <parameter type-id='type-id-4344' name='adev' filepath='drivers/usb/typec/bus.c' line='149' column='1'/>
+        <parameter type-id='type-id-9' name='vdo' filepath='drivers/usb/typec/bus.c' line='149' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='typec_altmode_vdm' mangled-name='typec_altmode_vdm' filepath='drivers/usb/typec/bus.c' line='169' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='typec_altmode_vdm'>
+        <parameter type-id='type-id-4344' name='adev' filepath='drivers/usb/typec/bus.c' line='169' column='1'/>
+        <parameter type-id='type-id-4346' name='header' filepath='drivers/usb/typec/bus.c' line='170' column='1'/>
+        <parameter type-id='type-id-560' name='vdo' filepath='drivers/usb/typec/bus.c' line='170' column='1'/>
+        <parameter type-id='type-id-11' name='count' filepath='drivers/usb/typec/bus.c' line='170' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='typec_match_altmode' mangled-name='typec_match_altmode' filepath='drivers/usb/typec/bus.c' line='267' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='typec_match_altmode'>
+        <parameter type-id='type-id-4345' name='altmodes' filepath='drivers/usb/typec/bus.c' line='267' column='1'/>
+        <parameter type-id='type-id-125' name='n' filepath='drivers/usb/typec/bus.c' line='268' column='1'/>
+        <parameter type-id='type-id-289' name='svid' filepath='drivers/usb/typec/bus.c' line='268' column='1'/>
+        <parameter type-id='type-id-53' name='mode' filepath='drivers/usb/typec/bus.c' line='268' column='1'/>
+        <return type-id='type-id-4344'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/usb/typec/class.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-4347' size-in-bits='96' alignment-in-bits='32' id='type-id-4348'>
+        <subrange length='3' type-id='type-id-5' id='type-id-1015'/>
+
+      </array-type-def>
+      <class-decl name='typec_port' size-in-bits='7104' is-struct='yes' visibility='default' filepath='drivers/usb/typec/class.c' line='38' column='1' id='type-id-4349'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='id' type-id='type-id-10' visibility='default' filepath='drivers/usb/typec/class.c' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='drivers/usb/typec/class.c' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6272'>
+          <var-decl name='mode_ids' type-id='type-id-1251' visibility='default' filepath='drivers/usb/typec/class.c' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6400'>
+          <var-decl name='prefer_role' type-id='type-id-11' visibility='default' filepath='drivers/usb/typec/class.c' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6432'>
+          <var-decl name='data_role' type-id='type-id-4350' visibility='default' filepath='drivers/usb/typec/class.c' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6464'>
+          <var-decl name='pwr_role' type-id='type-id-4351' visibility='default' filepath='drivers/usb/typec/class.c' line='45' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6496'>
+          <var-decl name='vconn_role' type-id='type-id-4351' visibility='default' filepath='drivers/usb/typec/class.c' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6528'>
+          <var-decl name='pwr_opmode' type-id='type-id-4352' visibility='default' filepath='drivers/usb/typec/class.c' line='47' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6560'>
+          <var-decl name='port_type' type-id='type-id-4353' visibility='default' filepath='drivers/usb/typec/class.c' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6592'>
+          <var-decl name='port_type_lock' type-id='type-id-407' visibility='default' filepath='drivers/usb/typec/class.c' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6848'>
+          <var-decl name='orientation' type-id='type-id-4354' visibility='default' filepath='drivers/usb/typec/class.c' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6912'>
+          <var-decl name='sw' type-id='type-id-4355' visibility='default' filepath='drivers/usb/typec/class.c' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6976'>
+          <var-decl name='mux' type-id='type-id-4356' visibility='default' filepath='drivers/usb/typec/class.c' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7040'>
+          <var-decl name='cap' type-id='type-id-4357' visibility='default' filepath='drivers/usb/typec/class.c' line='55' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='typec_data_role' filepath='include/linux/usb/typec.h' line='41' column='1' id='type-id-4350'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='TYPEC_DEVICE' value='0'/>
+        <enumerator name='TYPEC_HOST' value='1'/>
+      </enum-decl>
+      <enum-decl name='typec_role' filepath='include/linux/usb/typec.h' line='46' column='1' id='type-id-4351'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='TYPEC_SINK' value='0'/>
+        <enumerator name='TYPEC_SOURCE' value='1'/>
+      </enum-decl>
+      <enum-decl name='typec_pwr_opmode' filepath='include/linux/usb/typec.h' line='51' column='1' id='type-id-4352'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='TYPEC_PWR_MODE_USB' value='0'/>
+        <enumerator name='TYPEC_PWR_MODE_1_5A' value='1'/>
+        <enumerator name='TYPEC_PWR_MODE_3_0A' value='2'/>
+        <enumerator name='TYPEC_PWR_MODE_PD' value='3'/>
+      </enum-decl>
+      <enum-decl name='typec_port_type' filepath='include/linux/usb/typec.h' line='21' column='1' id='type-id-4353'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='TYPEC_PORT_SRC' value='0'/>
+        <enumerator name='TYPEC_PORT_SNK' value='1'/>
+        <enumerator name='TYPEC_PORT_DRP' value='2'/>
+      </enum-decl>
+      <enum-decl name='typec_orientation' filepath='include/linux/usb/typec.h' line='66' column='1' id='type-id-4354'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='TYPEC_ORIENTATION_NONE' value='0'/>
+        <enumerator name='TYPEC_ORIENTATION_NORMAL' value='1'/>
+        <enumerator name='TYPEC_ORIENTATION_REVERSE' value='2'/>
+      </enum-decl>
+      <class-decl name='typec_switch' size-in-bits='6272' is-struct='yes' visibility='default' filepath='drivers/usb/typec/bus.h' line='40' column='1' id='type-id-4358'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='drivers/usb/typec/bus.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6208'>
+          <var-decl name='set' type-id='type-id-4359' visibility='default' filepath='drivers/usb/typec/bus.h' line='42' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='typec_switch_set_fn_t' type-id='type-id-4360' filepath='include/linux/usb/typec_mux.h' line='13' column='1' id='type-id-4359'/>
+      <class-decl name='typec_mux' size-in-bits='6272' is-struct='yes' visibility='default' filepath='drivers/usb/typec/bus.h' line='45' column='1' id='type-id-4361'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='drivers/usb/typec/bus.h' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6208'>
+          <var-decl name='set' type-id='type-id-4362' visibility='default' filepath='drivers/usb/typec/bus.h' line='47' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='typec_mux_set_fn_t' type-id='type-id-4363' filepath='include/linux/usb/typec_mux.h' line='32' column='1' id='type-id-4362'/>
+      <class-decl name='typec_capability' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/linux/usb/typec.h' line='192' column='1' id='type-id-4364'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-4353' visibility='default' filepath='include/linux/usb/typec.h' line='193' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='data' type-id='type-id-4365' visibility='default' filepath='include/linux/usb/typec.h' line='194' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='revision' type-id='type-id-289' visibility='default' filepath='include/linux/usb/typec.h' line='195' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='80'>
+          <var-decl name='pd_revision' type-id='type-id-289' visibility='default' filepath='include/linux/usb/typec.h' line='196' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='prefer_role' type-id='type-id-11' visibility='default' filepath='include/linux/usb/typec.h' line='197' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='accessory' type-id='type-id-4348' visibility='default' filepath='include/linux/usb/typec.h' line='198' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='sw' type-id='type-id-4355' visibility='default' filepath='include/linux/usb/typec.h' line='200' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='mux' type-id='type-id-4356' visibility='default' filepath='include/linux/usb/typec.h' line='201' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='fwnode' type-id='type-id-575' visibility='default' filepath='include/linux/usb/typec.h' line='202' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='try_role' type-id='type-id-4366' visibility='default' filepath='include/linux/usb/typec.h' line='204' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='dr_set' type-id='type-id-4367' visibility='default' filepath='include/linux/usb/typec.h' line='207' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='pr_set' type-id='type-id-4368' visibility='default' filepath='include/linux/usb/typec.h' line='209' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='vconn_set' type-id='type-id-4368' visibility='default' filepath='include/linux/usb/typec.h' line='211' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='port_type_set' type-id='type-id-4369' visibility='default' filepath='include/linux/usb/typec.h' line='213' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='typec_port_data' filepath='include/linux/usb/typec.h' line='27' column='1' id='type-id-4365'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='TYPEC_PORT_DFP' value='0'/>
+        <enumerator name='TYPEC_PORT_UFP' value='1'/>
+        <enumerator name='TYPEC_PORT_DRD' value='2'/>
+      </enum-decl>
+      <enum-decl name='typec_accessory' filepath='include/linux/usb/typec.h' line='58' column='1' id='type-id-4347'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='TYPEC_ACCESSORY_NONE' value='0'/>
+        <enumerator name='TYPEC_ACCESSORY_AUDIO' value='1'/>
+        <enumerator name='TYPEC_ACCESSORY_DEBUG' value='2'/>
+      </enum-decl>
+      <class-decl name='typec_altmode' size-in-bits='6464' is-struct='yes' visibility='default' filepath='include/linux/usb/typec_altmode.h' line='24' column='1' id='type-id-4370'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='include/linux/usb/typec_altmode.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6208'>
+          <var-decl name='svid' type-id='type-id-289' visibility='default' filepath='include/linux/usb/typec_altmode.h' line='26' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6240'>
+          <var-decl name='mode' type-id='type-id-11' visibility='default' filepath='include/linux/usb/typec_altmode.h' line='27' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6272'>
+          <var-decl name='vdo' type-id='type-id-9' visibility='default' filepath='include/linux/usb/typec_altmode.h' line='28' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='active' type-id='type-id-10' visibility='default' filepath='include/linux/usb/typec_altmode.h' line='29' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6336'>
+          <var-decl name='desc' type-id='type-id-300' visibility='default' filepath='include/linux/usb/typec_altmode.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6400'>
+          <var-decl name='ops' type-id='type-id-4371' visibility='default' filepath='include/linux/usb/typec_altmode.h' line='32' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='typec_altmode_ops' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/usb/typec_altmode.h' line='57' column='1' id='type-id-4372'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='enter' type-id='type-id-4373' visibility='default' filepath='include/linux/usb/typec_altmode.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='exit' type-id='type-id-4373' visibility='default' filepath='include/linux/usb/typec_altmode.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='attention' type-id='type-id-4374' visibility='default' filepath='include/linux/usb/typec_altmode.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='vdm' type-id='type-id-4375' visibility='default' filepath='include/linux/usb/typec_altmode.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='notify' type-id='type-id-4376' visibility='default' filepath='include/linux/usb/typec_altmode.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='activate' type-id='type-id-4377' visibility='default' filepath='include/linux/usb/typec_altmode.h' line='65' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='typec_partner' size-in-bits='6528' is-struct='yes' visibility='default' filepath='drivers/usb/typec/class.c' line='30' column='1' id='type-id-4378'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='drivers/usb/typec/class.c' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='usb_pd' type-id='type-id-10' visibility='default' filepath='drivers/usb/typec/class.c' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6272'>
+          <var-decl name='identity' type-id='type-id-4379' visibility='default' filepath='drivers/usb/typec/class.c' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6336'>
+          <var-decl name='accessory' type-id='type-id-4347' visibility='default' filepath='drivers/usb/typec/class.c' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6400'>
+          <var-decl name='mode_ids' type-id='type-id-1251' visibility='default' filepath='drivers/usb/typec/class.c' line='35' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='usb_pd_identity' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/usb/typec.h' line='84' column='1' id='type-id-4380'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='id_header' type-id='type-id-9' visibility='default' filepath='include/linux/usb/typec.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='cert_stat' type-id='type-id-9' visibility='default' filepath='include/linux/usb/typec.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='product' type-id='type-id-9' visibility='default' filepath='include/linux/usb/typec.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='product_type' type-id='type-id-9' visibility='default' filepath='include/linux/usb/typec.h' line='88' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='typec_altmode_desc' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/linux/usb/typec.h' line='104' column='1' id='type-id-4381'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='svid' type-id='type-id-289' visibility='default' filepath='include/linux/usb/typec.h' line='105' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='mode' type-id='type-id-53' visibility='default' filepath='include/linux/usb/typec.h' line='106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='vdo' type-id='type-id-9' visibility='default' filepath='include/linux/usb/typec.h' line='107' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='roles' type-id='type-id-4365' visibility='default' filepath='include/linux/usb/typec.h' line='109' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='typec_partner_desc' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/usb/typec.h' line='167' column='1' id='type-id-4382'>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='usb_pd' type-id='type-id-10' visibility='default' filepath='include/linux/usb/typec.h' line='168' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='accessory' type-id='type-id-4347' visibility='default' filepath='include/linux/usb/typec.h' line='169' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='identity' type-id='type-id-4379' visibility='default' filepath='include/linux/usb/typec.h' line='170' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-4381' const='yes' id='type-id-4383'/>
+      <pointer-type-def type-id='type-id-4383' size-in-bits='64' id='type-id-4384'/>
+      <qualified-type-def type-id='type-id-4372' const='yes' id='type-id-4385'/>
+      <pointer-type-def type-id='type-id-4385' size-in-bits='64' id='type-id-4371'/>
+      <qualified-type-def type-id='type-id-4364' const='yes' id='type-id-4386'/>
+      <pointer-type-def type-id='type-id-4386' size-in-bits='64' id='type-id-4357'/>
+      <pointer-type-def type-id='type-id-4387' size-in-bits='64' id='type-id-4367'/>
+      <pointer-type-def type-id='type-id-4388' size-in-bits='64' id='type-id-4369'/>
+      <pointer-type-def type-id='type-id-4389' size-in-bits='64' id='type-id-4368'/>
+      <pointer-type-def type-id='type-id-4390' size-in-bits='64' id='type-id-4366'/>
+      <pointer-type-def type-id='type-id-4391' size-in-bits='64' id='type-id-4373'/>
+      <pointer-type-def type-id='type-id-4392' size-in-bits='64' id='type-id-4375'/>
+      <pointer-type-def type-id='type-id-4393' size-in-bits='64' id='type-id-4377'/>
+      <pointer-type-def type-id='type-id-4394' size-in-bits='64' id='type-id-4376'/>
+      <pointer-type-def type-id='type-id-4395' size-in-bits='64' id='type-id-4363'/>
+      <pointer-type-def type-id='type-id-4396' size-in-bits='64' id='type-id-4360'/>
+      <pointer-type-def type-id='type-id-4370' size-in-bits='64' id='type-id-4344'/>
+      <pointer-type-def type-id='type-id-4361' size-in-bits='64' id='type-id-4356'/>
+      <pointer-type-def type-id='type-id-4378' size-in-bits='64' id='type-id-4397'/>
+      <pointer-type-def type-id='type-id-4382' size-in-bits='64' id='type-id-4398'/>
+      <pointer-type-def type-id='type-id-4349' size-in-bits='64' id='type-id-4399'/>
+      <pointer-type-def type-id='type-id-4358' size-in-bits='64' id='type-id-4355'/>
+      <pointer-type-def type-id='type-id-4380' size-in-bits='64' id='type-id-4379'/>
+      <pointer-type-def type-id='type-id-4400' size-in-bits='64' id='type-id-4374'/>
+      <function-decl name='typec_register_port' mangled-name='typec_register_port' filepath='drivers/usb/typec/class.c' line='1541' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='typec_register_port'>
+        <parameter type-id='type-id-86' name='parent' filepath='drivers/usb/typec/class.c' line='1541' column='1'/>
+        <parameter type-id='type-id-4357' name='cap' filepath='drivers/usb/typec/class.c' line='1542' column='1'/>
+        <return type-id='type-id-4399'/>
+      </function-decl>
+      <function-decl name='typec_altmode_update_active' mangled-name='typec_altmode_update_active' filepath='drivers/usb/typec/class.c' line='291' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='typec_altmode_update_active'>
+        <parameter type-id='type-id-4344' name='adev' filepath='drivers/usb/typec/class.c' line='291' column='1'/>
+        <parameter type-id='type-id-211' name='active' filepath='drivers/usb/typec/class.c' line='291' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='typec_unregister_altmode' mangled-name='typec_unregister_altmode' filepath='drivers/usb/typec/class.c' line='558' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='typec_unregister_altmode'>
+        <parameter type-id='type-id-4344' name='adev' filepath='drivers/usb/typec/class.c' line='558' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='typec_partner_set_identity' mangled-name='typec_partner_set_identity' filepath='drivers/usb/typec/class.c' line='618' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='typec_partner_set_identity'>
+        <parameter type-id='type-id-4397' name='partner' filepath='drivers/usb/typec/class.c' line='618' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='typec_partner_register_altmode' mangled-name='typec_partner_register_altmode' filepath='drivers/usb/typec/class.c' line='641' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='typec_partner_register_altmode'>
+        <parameter type-id='type-id-4397' name='partner' filepath='drivers/usb/typec/class.c' line='641' column='1'/>
+        <parameter type-id='type-id-4384' name='desc' filepath='drivers/usb/typec/class.c' line='642' column='1'/>
+        <return type-id='type-id-4344'/>
+      </function-decl>
+      <function-decl name='typec_register_partner' mangled-name='typec_register_partner' filepath='drivers/usb/typec/class.c' line='657' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='typec_register_partner'>
+        <parameter type-id='type-id-4399' name='port' filepath='drivers/usb/typec/class.c' line='657' column='1'/>
+        <parameter type-id='type-id-4398' name='desc' filepath='drivers/usb/typec/class.c' line='658' column='1'/>
+        <return type-id='type-id-4397'/>
+      </function-decl>
+      <function-decl name='typec_unregister_partner' mangled-name='typec_unregister_partner' filepath='drivers/usb/typec/class.c' line='702' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='typec_unregister_partner'>
+        <parameter type-id='type-id-4397' name='partner' filepath='drivers/usb/typec/class.c' line='702' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='typec_set_data_role' mangled-name='typec_set_data_role' filepath='drivers/usb/typec/class.c' line='1313' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='typec_set_data_role'>
+        <parameter type-id='type-id-4399' name='port' filepath='drivers/usb/typec/class.c' line='1313' column='1'/>
+        <parameter type-id='type-id-4350' name='role' filepath='drivers/usb/typec/class.c' line='1313' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='typec_set_pwr_role' mangled-name='typec_set_pwr_role' filepath='drivers/usb/typec/class.c' line='1331' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='typec_set_pwr_role'>
+        <parameter type-id='type-id-4399' name='port' filepath='drivers/usb/typec/class.c' line='1331' column='1'/>
+        <parameter type-id='type-id-4351' name='role' filepath='drivers/usb/typec/class.c' line='1331' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='typec_set_vconn_role' mangled-name='typec_set_vconn_role' filepath='drivers/usb/typec/class.c' line='1350' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='typec_set_vconn_role'>
+        <parameter type-id='type-id-4399' name='port' filepath='drivers/usb/typec/class.c' line='1350' column='1'/>
+        <parameter type-id='type-id-4351' name='role' filepath='drivers/usb/typec/class.c' line='1350' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='typec_set_pwr_opmode' mangled-name='typec_set_pwr_opmode' filepath='drivers/usb/typec/class.c' line='1376' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='typec_set_pwr_opmode'>
+        <parameter type-id='type-id-4399' name='port' filepath='drivers/usb/typec/class.c' line='1376' column='1'/>
+        <parameter type-id='type-id-4352' name='opmode' filepath='drivers/usb/typec/class.c' line='1377' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='typec_find_port_power_role' mangled-name='typec_find_port_power_role' filepath='drivers/usb/typec/class.c' line='1410' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='typec_find_port_power_role'>
+        <parameter type-id='type-id-24' name='name' filepath='drivers/usb/typec/class.c' line='1410' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='typec_find_power_role' mangled-name='typec_find_power_role' filepath='drivers/usb/typec/class.c' line='1425' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='typec_find_power_role'>
+        <parameter type-id='type-id-24' name='name' filepath='drivers/usb/typec/class.c' line='1425' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='typec_find_port_data_role' mangled-name='typec_find_port_data_role' filepath='drivers/usb/typec/class.c' line='1439' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='typec_find_port_data_role'>
+        <parameter type-id='type-id-24' name='name' filepath='drivers/usb/typec/class.c' line='1439' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='typec_set_orientation' mangled-name='typec_set_orientation' filepath='drivers/usb/typec/class.c' line='1456' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='typec_set_orientation'>
+        <parameter type-id='type-id-4399' name='port' filepath='drivers/usb/typec/class.c' line='1456' column='1'/>
+        <parameter type-id='type-id-4354' name='orientation' filepath='drivers/usb/typec/class.c' line='1457' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='typec_set_mode' mangled-name='typec_set_mode' filepath='drivers/usb/typec/class.c' line='1493' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='typec_set_mode'>
+        <parameter type-id='type-id-4399' name='port' filepath='drivers/usb/typec/class.c' line='1493' column='1'/>
+        <parameter type-id='type-id-11' name='mode' filepath='drivers/usb/typec/class.c' line='1493' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='typec_port_register_altmode' mangled-name='typec_port_register_altmode' filepath='drivers/usb/typec/class.c' line='1512' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='typec_port_register_altmode'>
+        <parameter type-id='type-id-4399' name='port' filepath='drivers/usb/typec/class.c' line='1512' column='1'/>
+        <parameter type-id='type-id-4384' name='desc' filepath='drivers/usb/typec/class.c' line='1513' column='1'/>
+        <return type-id='type-id-4344'/>
+      </function-decl>
+      <function-decl name='typec_unregister_port' mangled-name='typec_unregister_port' filepath='drivers/usb/typec/class.c' line='1636' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='typec_unregister_port'>
+        <parameter type-id='type-id-4399' name='port' filepath='drivers/usb/typec/class.c' line='1636' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-4387'>
+        <parameter type-id='type-id-4357'/>
+        <parameter type-id='type-id-4350'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4388'>
+        <parameter type-id='type-id-4357'/>
+        <parameter type-id='type-id-4353'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4389'>
+        <parameter type-id='type-id-4357'/>
+        <parameter type-id='type-id-4351'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4390'>
+        <parameter type-id='type-id-4357'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4391'>
+        <parameter type-id='type-id-4344'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4392'>
+        <parameter type-id='type-id-4344'/>
+        <parameter type-id='type-id-4346'/>
+        <parameter type-id='type-id-560'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4393'>
+        <parameter type-id='type-id-4344'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4394'>
+        <parameter type-id='type-id-4344'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4395'>
+        <parameter type-id='type-id-4356'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4396'>
+        <parameter type-id='type-id-4355'/>
+        <parameter type-id='type-id-4354'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4400'>
+        <parameter type-id='type-id-4344'/>
+        <parameter type-id='type-id-9'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/video/fbdev/core/fb_notify.c' language='LANG_C89'>
+      <function-decl name='fb_register_client' mangled-name='fb_register_client' filepath='drivers/video/fbdev/core/fb_notify.c' line='23' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fb_register_client'>
+        <parameter type-id='type-id-103' name='nb' filepath='drivers/video/fbdev/core/fb_notify.c' line='23' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='fb_unregister_client' mangled-name='fb_unregister_client' filepath='drivers/video/fbdev/core/fb_notify.c' line='33' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fb_unregister_client'>
+        <parameter type-id='type-id-103' name='nb' filepath='drivers/video/fbdev/core/fb_notify.c' line='33' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='drivers/video/fbdev/core/fbmem.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-4401' size-in-bits='infinite' id='type-id-4402'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <class-decl name='apertures_struct' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/fb.h' line='522' column='1' id='type-id-4403'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='count' type-id='type-id-10' visibility='default' filepath='include/linux/fb.h' line='523' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ranges' type-id='type-id-4402' visibility='default' filepath='include/linux/fb.h' line='527' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='aperture' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/fb.h' line='524' column='1' id='type-id-4401'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='base' type-id='type-id-1254' visibility='default' filepath='include/linux/fb.h' line='525' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='size' type-id='type-id-1254' visibility='default' filepath='include/linux/fb.h' line='526' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-4403' size-in-bits='64' id='type-id-1473'/>
+      <function-decl name='device_destroy' mangled-name='device_destroy' filepath='include/linux/device.h' line='1344' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_destroy'>
+        <parameter type-id='type-id-351'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='remove_conflicting_framebuffers' mangled-name='remove_conflicting_framebuffers' filepath='drivers/video/fbdev/core/fbmem.c' line='1803' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='remove_conflicting_framebuffers'>
+        <parameter type-id='type-id-1473' name='a' filepath='drivers/video/fbdev/core/fbmem.c' line='1803' column='1'/>
+        <parameter type-id='type-id-24' name='name' filepath='drivers/video/fbdev/core/fbmem.c' line='1804' column='1'/>
+        <parameter type-id='type-id-211' name='primary' filepath='drivers/video/fbdev/core/fbmem.c' line='1804' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='fs/binfmt_misc.c' language='LANG_C89'>
+      <function-decl name='string_unescape' mangled-name='string_unescape' filepath='include/linux/string_helpers.h' line='27' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='string_unescape'>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='fs/block_dev.c' language='LANG_C89'>
+      <function-decl name='blk_status_to_errno' mangled-name='blk_status_to_errno' filepath='include/linux/blkdev.h' line='1019' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_status_to_errno'>
+        <parameter type-id='type-id-271'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='revalidate_disk' mangled-name='revalidate_disk' filepath='fs/block_dev.c' line='1371' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='revalidate_disk'>
+        <parameter type-id='type-id-270' name='disk' filepath='fs/block_dev.c' line='1371' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='fs/char_dev.c' language='LANG_C89'>
+      <pointer-type-def type-id='type-id-4404' size-in-bits='64' id='type-id-4405'/>
+      <function-decl name='cdev_alloc' mangled-name='cdev_alloc' filepath='include/linux/cdev.h' line='25' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cdev_alloc'>
+        <return type-id='type-id-2346'/>
+      </function-decl>
+      <function-decl name='cdev_add' mangled-name='cdev_add' filepath='include/linux/cdev.h' line='29' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cdev_add'>
+        <parameter type-id='type-id-2346'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='cdev_del' mangled-name='cdev_del' filepath='include/linux/cdev.h' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cdev_del'>
+        <parameter type-id='type-id-2346'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='register_chrdev_region' mangled-name='register_chrdev_region' filepath='fs/char_dev.c' line='209' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='register_chrdev_region'>
+        <parameter type-id='type-id-4404' name='from' filepath='fs/char_dev.c' line='209' column='1'/>
+        <parameter type-id='type-id-10' name='count' filepath='fs/char_dev.c' line='209' column='1'/>
+        <parameter type-id='type-id-24' name='name' filepath='fs/char_dev.c' line='209' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='alloc_chrdev_region' mangled-name='alloc_chrdev_region' filepath='fs/char_dev.c' line='245' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='alloc_chrdev_region'>
+        <parameter type-id='type-id-4405' name='dev' filepath='fs/char_dev.c' line='245' column='1'/>
+        <parameter type-id='type-id-10' name='baseminor' filepath='fs/char_dev.c' line='245' column='1'/>
+        <parameter type-id='type-id-10' name='count' filepath='fs/char_dev.c' line='245' column='1'/>
+        <parameter type-id='type-id-24' name='name' filepath='fs/char_dev.c' line='246' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__register_chrdev' mangled-name='__register_chrdev' filepath='fs/char_dev.c' line='277' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__register_chrdev'>
+        <parameter type-id='type-id-10' name='major' filepath='fs/char_dev.c' line='277' column='1'/>
+        <parameter type-id='type-id-10' name='baseminor' filepath='fs/char_dev.c' line='277' column='1'/>
+        <parameter type-id='type-id-10' name='count' filepath='fs/char_dev.c' line='278' column='1'/>
+        <parameter type-id='type-id-24' name='name' filepath='fs/char_dev.c' line='278' column='1'/>
+        <parameter type-id='type-id-1209' name='fops' filepath='fs/char_dev.c' line='279' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='unregister_chrdev_region' mangled-name='unregister_chrdev_region' filepath='fs/char_dev.c' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unregister_chrdev_region'>
+        <parameter type-id='type-id-4404' name='from' filepath='fs/char_dev.c' line='320' column='1'/>
+        <parameter type-id='type-id-10' name='count' filepath='fs/char_dev.c' line='320' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__unregister_chrdev' mangled-name='__unregister_chrdev' filepath='fs/char_dev.c' line='344' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__unregister_chrdev'>
+        <parameter type-id='type-id-10' name='major' filepath='fs/char_dev.c' line='344' column='1'/>
+        <parameter type-id='type-id-10' name='baseminor' filepath='fs/char_dev.c' line='344' column='1'/>
+        <parameter type-id='type-id-10' name='count' filepath='fs/char_dev.c' line='345' column='1'/>
+        <parameter type-id='type-id-24' name='name' filepath='fs/char_dev.c' line='345' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='fs/configfs/dir.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-475' size-in-bits='160' id='type-id-1816'>
+        <subrange length='20' type-id='type-id-5' id='type-id-2116'/>
+
+      </array-type-def>
+      <class-decl name='key' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4406'/>
+      <class-decl name='config_group' size-in-bits='1088' is-struct='yes' visibility='default' filepath='include/linux/configfs.h' line='93' column='1' id='type-id-4178'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cg_item' type-id='type-id-4407' visibility='default' filepath='include/linux/configfs.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='cg_children' type-id='type-id-8' visibility='default' filepath='include/linux/configfs.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='cg_subsys' type-id='type-id-4408' visibility='default' filepath='include/linux/configfs.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='default_groups' type-id='type-id-8' visibility='default' filepath='include/linux/configfs.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='group_entry' type-id='type-id-8' visibility='default' filepath='include/linux/configfs.h' line='98' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='config_item' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/configfs.h' line='54' column='1' id='type-id-4407'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ci_name' type-id='type-id-300' visibility='default' filepath='include/linux/configfs.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ci_namebuf' type-id='type-id-1816' visibility='default' filepath='include/linux/configfs.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='ci_kref' type-id='type-id-771' visibility='default' filepath='include/linux/configfs.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='ci_entry' type-id='type-id-8' visibility='default' filepath='include/linux/configfs.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='ci_parent' type-id='type-id-4409' visibility='default' filepath='include/linux/configfs.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='ci_group' type-id='type-id-4410' visibility='default' filepath='include/linux/configfs.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='ci_type' type-id='type-id-4411' visibility='default' filepath='include/linux/configfs.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='ci_dentry' type-id='type-id-836' visibility='default' filepath='include/linux/configfs.h' line='62' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='config_item_type' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/configfs.h' line='81' column='1' id='type-id-4412'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ct_owner' type-id='type-id-19' visibility='default' filepath='include/linux/configfs.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ct_item_ops' type-id='type-id-4413' visibility='default' filepath='include/linux/configfs.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='ct_group_ops' type-id='type-id-4414' visibility='default' filepath='include/linux/configfs.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='ct_attrs' type-id='type-id-4415' visibility='default' filepath='include/linux/configfs.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='ct_bin_attrs' type-id='type-id-4416' visibility='default' filepath='include/linux/configfs.h' line='86' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='configfs_item_operations' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/configfs.h' line='226' column='1' id='type-id-4417'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='release' type-id='type-id-4418' visibility='default' filepath='include/linux/configfs.h' line='227' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='allow_link' type-id='type-id-4419' visibility='default' filepath='include/linux/configfs.h' line='228' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='drop_link' type-id='type-id-4420' visibility='default' filepath='include/linux/configfs.h' line='229' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='configfs_group_operations' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/configfs.h' line='232' column='1' id='type-id-4421'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='make_item' type-id='type-id-4422' visibility='default' filepath='include/linux/configfs.h' line='233' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='make_group' type-id='type-id-4423' visibility='default' filepath='include/linux/configfs.h' line='234' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='commit_item' type-id='type-id-4424' visibility='default' filepath='include/linux/configfs.h' line='235' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='disconnect_notify' type-id='type-id-4425' visibility='default' filepath='include/linux/configfs.h' line='236' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='drop_item' type-id='type-id-4425' visibility='default' filepath='include/linux/configfs.h' line='237' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='configfs_attribute' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/configfs.h' line='131' column='1' id='type-id-4426'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ca_name' type-id='type-id-24' visibility='default' filepath='include/linux/configfs.h' line='132' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ca_owner' type-id='type-id-19' visibility='default' filepath='include/linux/configfs.h' line='133' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='ca_mode' type-id='type-id-4427' visibility='default' filepath='include/linux/configfs.h' line='134' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='show' type-id='type-id-4428' visibility='default' filepath='include/linux/configfs.h' line='135' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='store' type-id='type-id-4429' visibility='default' filepath='include/linux/configfs.h' line='136' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='configfs_bin_attribute' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/configfs.h' line='167' column='1' id='type-id-4430'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cb_attr' type-id='type-id-4426' visibility='default' filepath='include/linux/configfs.h' line='168' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='cb_private' type-id='type-id-3' visibility='default' filepath='include/linux/configfs.h' line='169' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='cb_max_size' type-id='type-id-125' visibility='default' filepath='include/linux/configfs.h' line='170' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='read' type-id='type-id-4431' visibility='default' filepath='include/linux/configfs.h' line='171' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='write' type-id='type-id-4431' visibility='default' filepath='include/linux/configfs.h' line='172' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='configfs_subsystem' size-in-bits='1344' is-struct='yes' visibility='default' filepath='include/linux/configfs.h' line='240' column='1' id='type-id-4432'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='su_group' type-id='type-id-4178' visibility='default' filepath='include/linux/configfs.h' line='241' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='su_mutex' type-id='type-id-407' visibility='default' filepath='include/linux/configfs.h' line='242' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-4178' size-in-bits='64' id='type-id-4410'/>
+      <pointer-type-def type-id='type-id-4433' size-in-bits='64' id='type-id-4423'/>
+      <pointer-type-def type-id='type-id-4407' size-in-bits='64' id='type-id-4409'/>
+      <pointer-type-def type-id='type-id-4434' size-in-bits='64' id='type-id-4422'/>
+      <pointer-type-def type-id='type-id-4426' size-in-bits='64' id='type-id-4435'/>
+      <pointer-type-def type-id='type-id-4435' size-in-bits='64' id='type-id-4415'/>
+      <pointer-type-def type-id='type-id-4430' size-in-bits='64' id='type-id-4436'/>
+      <pointer-type-def type-id='type-id-4436' size-in-bits='64' id='type-id-4416'/>
+      <pointer-type-def type-id='type-id-4421' size-in-bits='64' id='type-id-4414'/>
+      <pointer-type-def type-id='type-id-4417' size-in-bits='64' id='type-id-4413'/>
+      <pointer-type-def type-id='type-id-4432' size-in-bits='64' id='type-id-4408'/>
+      <qualified-type-def type-id='type-id-4412' const='yes' id='type-id-4437'/>
+      <pointer-type-def type-id='type-id-4437' size-in-bits='64' id='type-id-4411'/>
+      <pointer-type-def type-id='type-id-4438' size-in-bits='64' id='type-id-4424'/>
+      <pointer-type-def type-id='type-id-4439' size-in-bits='64' id='type-id-4419'/>
+      <pointer-type-def type-id='type-id-4406' size-in-bits='64' id='type-id-4440'/>
+      <pointer-type-def type-id='type-id-4441' size-in-bits='64' id='type-id-4428'/>
+      <pointer-type-def type-id='type-id-4442' size-in-bits='64' id='type-id-4429'/>
+      <pointer-type-def type-id='type-id-4443' size-in-bits='64' id='type-id-4431'/>
+      <pointer-type-def type-id='type-id-4444' size-in-bits='64' id='type-id-4425'/>
+      <pointer-type-def type-id='type-id-4445' size-in-bits='64' id='type-id-4418'/>
+      <pointer-type-def type-id='type-id-4446' size-in-bits='64' id='type-id-4420'/>
+      <function-decl name='config_group_init_type_name' mangled-name='config_group_init_type_name' filepath='include/linux/configfs.h' line='102' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='config_group_init_type_name'>
+        <parameter type-id='type-id-4410'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-4411'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-4433'>
+        <parameter type-id='type-id-4410'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-4410'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4434'>
+        <parameter type-id='type-id-4410'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-4409'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4438'>
+        <parameter type-id='type-id-4409'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4439'>
+        <parameter type-id='type-id-4409'/>
+        <parameter type-id='type-id-4409'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4441'>
+        <parameter type-id='type-id-4409'/>
+        <parameter type-id='type-id-300'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4442'>
+        <parameter type-id='type-id-4409'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4443'>
+        <parameter type-id='type-id-4409'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4444'>
+        <parameter type-id='type-id-4410'/>
+        <parameter type-id='type-id-4409'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4445'>
+        <parameter type-id='type-id-4409'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4446'>
+        <parameter type-id='type-id-4409'/>
+        <parameter type-id='type-id-4409'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='fs/crypto/crypto.c' language='LANG_C89'>
+      <function-decl name='sg_init_table' mangled-name='sg_init_table' filepath='include/linux/scatterlist.h' line='258' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sg_init_table'>
+        <parameter type-id='type-id-33'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='fs/crypto/fname.c' language='LANG_C89'>
+      <class-decl name='crypto_shash' size-in-bits='2048' is-struct='yes' visibility='default' filepath='include/crypto/hash.h' line='215' column='1' id='type-id-4447'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='descsize' type-id='type-id-10' visibility='default' filepath='include/crypto/hash.h' line='216' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='base' type-id='type-id-26' visibility='default' filepath='include/crypto/hash.h' line='217' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='shash_desc' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/crypto/hash.h' line='147' column='1' id='type-id-4448'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='tfm' type-id='type-id-4449' visibility='default' filepath='include/crypto/hash.h' line='148' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='flags' type-id='type-id-9' visibility='default' filepath='include/crypto/hash.h' line='149' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='__ctx' type-id='type-id-4' visibility='default' filepath='include/crypto/hash.h' line='151' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-4447' size-in-bits='64' id='type-id-4449'/>
+      <pointer-type-def type-id='type-id-4448' size-in-bits='64' id='type-id-525'/>
+      <function-decl name='sg_init_one' mangled-name='sg_init_one' filepath='include/linux/scatterlist.h' line='259' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sg_init_one'>
+        <parameter type-id='type-id-33'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='crypto_alloc_shash' mangled-name='crypto_alloc_shash' filepath='include/crypto/hash.h' line='684' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_alloc_shash'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-4449'/>
+      </function-decl>
+      <function-decl name='crypto_shash_digest' mangled-name='crypto_shash_digest' filepath='include/crypto/hash.h' line='829' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_shash_digest'>
+        <parameter type-id='type-id-525'/>
+        <parameter type-id='type-id-984'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-1047'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='crypto_destroy_tfm' mangled-name='crypto_destroy_tfm' filepath='include/linux/crypto.h' line='658' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_destroy_tfm'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-35'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='fs/crypto/hkdf.c' language='LANG_C89'>
+      <function-decl name='crypto_shash_setkey' mangled-name='crypto_shash_setkey' filepath='include/crypto/hash.h' line='812' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_shash_setkey'>
+        <parameter type-id='type-id-4449'/>
+        <parameter type-id='type-id-984'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='memzero_explicit' mangled-name='memzero_explicit' filepath='include/linux/string.h' line='221' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='memzero_explicit'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='crypto_shash_update' mangled-name='crypto_shash_update' filepath='include/crypto/hash.h' line='901' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_shash_update'>
+        <parameter type-id='type-id-525'/>
+        <parameter type-id='type-id-984'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='fs/crypto/inline_crypt.c' language='LANG_C89'>
+      <union-decl name='__anonymous_union__1' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/linux/backing-dev-defs.h' line='160' column='1' id='type-id-4450'>
+        <data-member access='private'>
+          <var-decl name='release_work' type-id='type-id-149' visibility='default' filepath='include/linux/backing-dev-defs.h' line='161' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/linux/backing-dev-defs.h' line='162' column='1'/>
+        </data-member>
+      </union-decl>
+      <pointer-type-def type-id='type-id-4451' size-in-bits='64' id='type-id-4452'/>
+      <function-decl name='blk_crypto_init_key' mangled-name='blk_crypto_init_key' filepath='include/linux/blk-crypto.h' line='17' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_crypto_init_key'>
+        <parameter type-id='type-id-4452'/>
+        <parameter type-id='type-id-984'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-264'/>
+        <parameter type-id='type-id-4453'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='blk_crypto_evict_key' mangled-name='blk_crypto_evict_key' filepath='include/linux/blk-crypto.h' line='23' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_crypto_evict_key'>
+        <parameter type-id='type-id-268'/>
+        <parameter type-id='type-id-3668'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='bio_crypt_alloc_ctx' mangled-name='bio_crypt_alloc_ctx' filepath='include/linux/bio-crypt-ctx.h' line='83' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bio_crypt_alloc_ctx'>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-4454'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='fs/crypto/keysetup.c' language='LANG_C89'>
+      <class-decl name='crypto_skcipher' size-in-bits='2048' is-struct='yes' visibility='default' filepath='include/crypto/skcipher.h' line='55' column='1' id='type-id-527'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='setkey' type-id='type-id-4455' visibility='default' filepath='include/crypto/skcipher.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='encrypt' type-id='type-id-4456' visibility='default' filepath='include/crypto/skcipher.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='decrypt' type-id='type-id-4456' visibility='default' filepath='include/crypto/skcipher.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='ivsize' type-id='type-id-10' visibility='default' filepath='include/crypto/skcipher.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='reqsize' type-id='type-id-10' visibility='default' filepath='include/crypto/skcipher.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='keysize' type-id='type-id-10' visibility='default' filepath='include/crypto/skcipher.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='base' type-id='type-id-26' visibility='default' filepath='include/crypto/skcipher.h' line='65' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='skcipher_request' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/crypto/skcipher.h' line='29' column='1' id='type-id-4457'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cryptlen' type-id='type-id-10' visibility='default' filepath='include/crypto/skcipher.h' line='30' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='iv' type-id='type-id-67' visibility='default' filepath='include/crypto/skcipher.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='src' type-id='type-id-33' visibility='default' filepath='include/crypto/skcipher.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='dst' type-id='type-id-33' visibility='default' filepath='include/crypto/skcipher.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='base' type-id='type-id-32' visibility='default' filepath='include/crypto/skcipher.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='__ctx' type-id='type-id-4' visibility='default' filepath='include/crypto/skcipher.h' line='39' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-527' size-in-bits='64' id='type-id-4458'/>
+      <pointer-type-def type-id='type-id-4459' size-in-bits='64' id='type-id-4455'/>
+      <pointer-type-def type-id='type-id-4460' size-in-bits='64' id='type-id-4456'/>
+      <pointer-type-def type-id='type-id-4457' size-in-bits='64' id='type-id-4461'/>
+      <function-decl name='crypto_alloc_skcipher' mangled-name='crypto_alloc_skcipher' filepath='include/crypto/skcipher.h' line='214' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_alloc_skcipher'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-4458'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-4459'>
+        <parameter type-id='type-id-4458'/>
+        <parameter type-id='type-id-55'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4460'>
+        <parameter type-id='type-id-4461'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='fs/dcache.c' language='LANG_C89'>
+      <function-decl name='d_drop' mangled-name='d_drop' filepath='fs/dcache.c' line='478' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='d_drop'>
+        <parameter type-id='type-id-836' name='dentry' filepath='fs/dcache.c' line='478' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='fs/eventpoll.c' language='LANG_C89'>
+      <pointer-type-def type-id='type-id-4462' size-in-bits='64' id='type-id-4463'/>
+      <function-decl name='napi_busy_loop' mangled-name='napi_busy_loop' filepath='include/net/busy_poll.h' line='56' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='napi_busy_loop'>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-4463'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-4462'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-264'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='fs/exec.c' language='LANG_C89'>
+      <qualified-type-def type-id='type-id-24' const='yes' id='type-id-3210'/>
+      <pointer-type-def type-id='type-id-3210' size-in-bits='64' id='type-id-562'/>
+      <function-decl name='__register_binfmt' mangled-name='__register_binfmt' filepath='fs/exec.c' line='80' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__register_binfmt'>
+        <parameter type-id='type-id-4464' name='fmt' filepath='fs/exec.c' line='80' column='1'/>
+        <parameter type-id='type-id-11' name='insert' filepath='fs/exec.c' line='80' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='unregister_binfmt' mangled-name='unregister_binfmt' filepath='fs/exec.c' line='93' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unregister_binfmt'>
+        <parameter type-id='type-id-4464' name='fmt' filepath='fs/exec.c' line='93' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='copy_strings_kernel' mangled-name='copy_strings_kernel' filepath='fs/exec.c' line='591' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='copy_strings_kernel'>
+        <parameter type-id='type-id-11' name='argc' filepath='fs/exec.c' line='591' column='1'/>
+        <parameter type-id='type-id-562' name='__argv' filepath='fs/exec.c' line='591' column='1'/>
+        <parameter type-id='type-id-4465' name='bprm' filepath='fs/exec.c' line='592' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='open_exec' mangled-name='open_exec' filepath='fs/exec.c' line='879' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='open_exec'>
+        <parameter type-id='type-id-24' name='name' filepath='fs/exec.c' line='879' column='1'/>
+        <return type-id='type-id-147'/>
+      </function-decl>
+      <function-decl name='__get_task_comm' mangled-name='__get_task_comm' filepath='fs/exec.c' line='1224' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__get_task_comm'>
+        <parameter type-id='type-id-300' name='buf' filepath='fs/exec.c' line='1224' column='1'/>
+        <parameter type-id='type-id-125' name='buf_size' filepath='fs/exec.c' line='1224' column='1'/>
+        <parameter type-id='type-id-118' name='tsk' filepath='fs/exec.c' line='1224' column='1'/>
+        <return type-id='type-id-300'/>
+      </function-decl>
+      <function-decl name='would_dump' mangled-name='would_dump' filepath='fs/exec.c' line='1308' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='would_dump'>
+        <parameter type-id='type-id-4465' name='bprm' filepath='fs/exec.c' line='1308' column='1'/>
+        <parameter type-id='type-id-147' name='file' filepath='fs/exec.c' line='1308' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='bprm_change_interp' mangled-name='bprm_change_interp' filepath='fs/exec.c' line='1432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bprm_change_interp'>
+        <parameter type-id='type-id-24' name='interp' filepath='fs/exec.c' line='1432' column='1'/>
+        <parameter type-id='type-id-4465' name='bprm' filepath='fs/exec.c' line='1432' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='prepare_binprm' mangled-name='prepare_binprm' filepath='fs/exec.c' line='1567' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='prepare_binprm'>
+        <parameter type-id='type-id-4465' name='bprm' filepath='fs/exec.c' line='1567' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='remove_arg_zero' mangled-name='remove_arg_zero' filepath='fs/exec.c' line='1591' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='remove_arg_zero'>
+        <parameter type-id='type-id-4465' name='bprm' filepath='fs/exec.c' line='1591' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='search_binary_handler' mangled-name='search_binary_handler' filepath='fs/exec.c' line='1631' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='search_binary_handler'>
+        <parameter type-id='type-id-4465' name='bprm' filepath='fs/exec.c' line='1631' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='fs/ext4/fsmap.c' language='LANG_C89'>
+      <pointer-type-def type-id='type-id-4466' size-in-bits='64' id='type-id-4467'/>
+      <function-decl name='list_sort' mangled-name='list_sort' filepath='include/linux/list_sort.h' line='9' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='list_sort'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-262'/>
+        <parameter type-id='type-id-4467'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-4466'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-262'/>
+        <parameter type-id='type-id-262'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='fs/fat/namei_vfat.c' language='LANG_C89'>
+      <function-decl name='hex2bin' mangled-name='hex2bin' filepath='include/linux/kernel.h' line='635' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='hex2bin'>
+        <parameter type-id='type-id-1047'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='fs/file.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-147' size-in-bits='4096' id='type-id-4468'>
+        <subrange length='64' type-id='type-id-5' id='type-id-2338'/>
+
+      </array-type-def>
+      <class-decl name='fdtable' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/fdtable.h' line='26' column='1' id='type-id-4469'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='max_fds' type-id='type-id-10' visibility='default' filepath='include/linux/fdtable.h' line='27' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='fd' type-id='type-id-4470' visibility='default' filepath='include/linux/fdtable.h' line='28' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='close_on_exec' type-id='type-id-76' visibility='default' filepath='include/linux/fdtable.h' line='29' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='open_fds' type-id='type-id-76' visibility='default' filepath='include/linux/fdtable.h' line='30' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='full_fds_bits' type-id='type-id-76' visibility='default' filepath='include/linux/fdtable.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/linux/fdtable.h' line='32' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-4469' size-in-bits='64' id='type-id-4471'/>
+      <pointer-type-def type-id='type-id-147' size-in-bits='64' id='type-id-4470'/>
+      <pointer-type-def type-id='type-id-4472' size-in-bits='64' id='type-id-4473'/>
+      <function-decl name='__close_fd' mangled-name='__close_fd' filepath='fs/file.c' line='621' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__close_fd'>
+        <parameter type-id='type-id-4474' name='files' filepath='fs/file.c' line='621' column='1'/>
+        <parameter type-id='type-id-10' name='fd' filepath='fs/file.c' line='621' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='iterate_fd' mangled-name='iterate_fd' filepath='fs/file.c' line='962' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iterate_fd'>
+        <parameter type-id='type-id-4474' name='files' filepath='fs/file.c' line='962' column='1'/>
+        <parameter type-id='type-id-10' name='n' filepath='fs/file.c' line='962' column='1'/>
+        <parameter type-id='type-id-4473' name='f' filepath='fs/file.c' line='963' column='1'/>
+        <parameter type-id='type-id-3' name='p' filepath='fs/file.c' line='964' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-4472'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='fs/fuse/dev.c' language='LANG_C89'>
+      <function-decl name='misc_deregister' mangled-name='misc_deregister' filepath='include/linux/miscdevice.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='misc_deregister'>
+        <parameter type-id='type-id-4475'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='refcount_dec_checked' mangled-name='refcount_dec_checked' filepath='include/linux/refcount.h' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='refcount_dec_checked'>
+        <parameter type-id='type-id-4476'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='fs/iomap.c' language='LANG_C89'>
+      <function-decl name='_copy_to_iter' mangled-name='_copy_to_iter' filepath='include/linux/uio.h' line='94' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_copy_to_iter'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-2241'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='fs/kernfs/dir.c' language='LANG_C89'>
+      <class-decl name='simple_xattrs' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/xattr.h' line='70' column='1' id='type-id-4477'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='head' type-id='type-id-8' visibility='default' filepath='include/linux/xattr.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/linux/xattr.h' line='72' column='1'/>
+        </data-member>
+      </class-decl>
+      <function-decl name='kernfs_find_and_get_ns' mangled-name='kernfs_find_and_get_ns' filepath='fs/kernfs/dir.c' line='903' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kernfs_find_and_get_ns'>
+        <parameter type-id='type-id-3083' name='parent' filepath='fs/kernfs/dir.c' line='903' column='1'/>
+        <parameter type-id='type-id-24' name='name' filepath='fs/kernfs/dir.c' line='904' column='1'/>
+        <parameter type-id='type-id-3' name='ns' filepath='fs/kernfs/dir.c' line='904' column='1'/>
+        <return type-id='type-id-3083'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='fs/kernfs/symlink.c' language='LANG_C89'>
+      <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/linux/kernfs.h' line='149' column='1' id='type-id-4478'>
+        <data-member access='private'>
+          <var-decl name='dir' type-id='type-id-4479' visibility='default' filepath='include/linux/kernfs.h' line='150' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='symlink' type-id='type-id-4480' visibility='default' filepath='include/linux/kernfs.h' line='151' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='attr' type-id='type-id-4481' visibility='default' filepath='include/linux/kernfs.h' line='152' column='1'/>
+        </data-member>
+      </union-decl>
+      <function-decl name='kernfs_create_link' mangled-name='kernfs_create_link' filepath='fs/kernfs/symlink.c' line='26' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kernfs_create_link'>
+        <parameter type-id='type-id-3083' name='parent' filepath='fs/kernfs/symlink.c' line='26' column='1'/>
+        <parameter type-id='type-id-24' name='name' filepath='fs/kernfs/symlink.c' line='27' column='1'/>
+        <parameter type-id='type-id-3083' name='target' filepath='fs/kernfs/symlink.c' line='28' column='1'/>
+        <return type-id='type-id-3083'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='fs/libfs.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-187' size-in-bits='256' id='type-id-4482'>
+        <subrange length='4' type-id='type-id-5' id='type-id-281'/>
+
+      </array-type-def>
+      <typedef-decl name='__kernel_fsid_t' type-id='type-id-4483' filepath='include/uapi/asm-generic/posix_types.h' line='81' column='1' id='type-id-4484'/>
+      <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-4484' visibility='default' filepath='include/uapi/asm-generic/posix_types.h' line='79' column='1' id='type-id-4483'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='val' type-id='type-id-1324' visibility='default' filepath='include/uapi/asm-generic/posix_types.h' line='80' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-4485' size-in-bits='64' id='type-id-4486'/>
+      <function-decl name='simple_statfs' mangled-name='simple_statfs' filepath='fs/libfs.c' line='36' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='simple_statfs'>
+        <parameter type-id='type-id-836' name='dentry' filepath='fs/libfs.c' line='36' column='1'/>
+        <parameter type-id='type-id-4487' name='buf' filepath='fs/libfs.c' line='36' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='simple_open' mangled-name='simple_open' filepath='fs/libfs.c' line='295' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='simple_open'>
+        <parameter type-id='type-id-1160' name='inode' filepath='fs/libfs.c' line='295' column='1'/>
+        <parameter type-id='type-id-147' name='file' filepath='fs/libfs.c' line='295' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='simple_pin_fs' mangled-name='simple_pin_fs' filepath='fs/libfs.c' line='581' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='simple_pin_fs'>
+        <parameter type-id='type-id-4488' name='type' filepath='fs/libfs.c' line='581' column='1'/>
+        <parameter type-id='type-id-4486' name='mount' filepath='fs/libfs.c' line='581' column='1'/>
+        <parameter type-id='type-id-82' name='count' filepath='fs/libfs.c' line='581' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='simple_release_fs' mangled-name='simple_release_fs' filepath='fs/libfs.c' line='602' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='simple_release_fs'>
+        <parameter type-id='type-id-4486' name='mount' filepath='fs/libfs.c' line='602' column='1'/>
+        <parameter type-id='type-id-82' name='count' filepath='fs/libfs.c' line='602' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='simple_write_to_buffer' mangled-name='simple_write_to_buffer' filepath='fs/libfs.c' line='663' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='simple_write_to_buffer'>
+        <parameter type-id='type-id-3' name='to' filepath='fs/libfs.c' line='663' column='1'/>
+        <parameter type-id='type-id-125' name='available' filepath='fs/libfs.c' line='663' column='1'/>
+        <parameter type-id='type-id-1705' name='ppos' filepath='fs/libfs.c' line='663' column='1'/>
+        <parameter type-id='type-id-3' name='from' filepath='fs/libfs.c' line='664' column='1'/>
+        <parameter type-id='type-id-125' name='count' filepath='fs/libfs.c' line='664' column='1'/>
+        <return type-id='type-id-543'/>
+      </function-decl>
+      <function-decl name='simple_attr_release' mangled-name='simple_attr_release' filepath='fs/libfs.c' line='823' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='simple_attr_release'>
+        <parameter type-id='type-id-1160' name='inode' filepath='fs/libfs.c' line='823' column='1'/>
+        <parameter type-id='type-id-147' name='file' filepath='fs/libfs.c' line='823' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='simple_attr_read' mangled-name='simple_attr_read' filepath='fs/libfs.c' line='831' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='simple_attr_read'>
+        <parameter type-id='type-id-147' name='file' filepath='fs/libfs.c' line='831' column='1'/>
+        <parameter type-id='type-id-300' name='buf' filepath='fs/libfs.c' line='831' column='1'/>
+        <parameter type-id='type-id-125' name='len' filepath='fs/libfs.c' line='832' column='1'/>
+        <parameter type-id='type-id-1705' name='ppos' filepath='fs/libfs.c' line='832' column='1'/>
+        <return type-id='type-id-543'/>
+      </function-decl>
+      <function-decl name='simple_attr_write' mangled-name='simple_attr_write' filepath='fs/libfs.c' line='867' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='simple_attr_write'>
+        <parameter type-id='type-id-147' name='file' filepath='fs/libfs.c' line='867' column='1'/>
+        <parameter type-id='type-id-24' name='buf' filepath='fs/libfs.c' line='867' column='1'/>
+        <parameter type-id='type-id-125' name='len' filepath='fs/libfs.c' line='868' column='1'/>
+        <parameter type-id='type-id-1705' name='ppos' filepath='fs/libfs.c' line='868' column='1'/>
+        <return type-id='type-id-543'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='fs/namei.c' language='LANG_C89'>
+      <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/fsnotify_backend.h' line='283' column='1' id='type-id-4489'>
+        <data-member access='private'>
+          <var-decl name='obj' type-id='type-id-4490' visibility='default' filepath='include/linux/fsnotify_backend.h' line='285' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='destroy_next' type-id='type-id-4491' visibility='default' filepath='include/linux/fsnotify_backend.h' line='287' column='1'/>
+        </data-member>
+      </union-decl>
+      <typedef-decl name='fsnotify_connp_t' type-id='type-id-4491' filepath='include/linux/fsnotify_backend.h' line='272' column='1' id='type-id-4492'/>
+      <pointer-type-def type-id='type-id-4492' size-in-bits='64' id='type-id-4490'/>
+      <function-decl name='full_name_hash' mangled-name='full_name_hash' filepath='fs/namei.c' line='2033' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='full_name_hash'>
+        <parameter type-id='type-id-3' name='salt' filepath='fs/namei.c' line='2033' column='1'/>
+        <parameter type-id='type-id-24' name='name' filepath='fs/namei.c' line='2033' column='1'/>
+        <parameter type-id='type-id-10' name='len' filepath='fs/namei.c' line='2033' column='1'/>
+        <return type-id='type-id-10'/>
+      </function-decl>
+      <function-decl name='lookup_one_len' mangled-name='lookup_one_len' filepath='fs/namei.c' line='2642' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lookup_one_len'>
+        <parameter type-id='type-id-24' name='name' filepath='fs/namei.c' line='2642' column='1'/>
+        <parameter type-id='type-id-836' name='base' filepath='fs/namei.c' line='2642' column='1'/>
+        <parameter type-id='type-id-11' name='len' filepath='fs/namei.c' line='2642' column='1'/>
+        <return type-id='type-id-836'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='fs/notify/inotify/inotify_fsnotify.c' language='LANG_C89'>
+      <pointer-type-def type-id='type-id-4493' size-in-bits='64' id='type-id-4494'/>
+      <function-decl name='idr_for_each' mangled-name='idr_for_each' filepath='include/linux/idr.h' line='120' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='idr_for_each'>
+        <parameter type-id='type-id-4495'/>
+        <parameter type-id='type-id-4494'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-4493'>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='fs/notify/mark.c' language='LANG_C89'>
+      <pointer-type-def type-id='type-id-4496' size-in-bits='64' id='type-id-1116'/>
+      <function-decl name='refcount_dec_and_lock' mangled-name='refcount_dec_and_lock' filepath='include/linux/refcount.h' line='114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='refcount_dec_and_lock'>
+        <parameter type-id='type-id-4476'/>
+        <parameter type-id='type-id-1116'/>
+        <return type-id='type-id-264'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='fs/open.c' language='LANG_C89'>
+      <function-decl name='dentry_open' mangled-name='dentry_open' filepath='fs/open.c' line='920' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dentry_open'>
+        <parameter type-id='type-id-4497' name='path' filepath='fs/open.c' line='920' column='1'/>
+        <parameter type-id='type-id-11' name='flags' filepath='fs/open.c' line='920' column='1'/>
+        <parameter type-id='type-id-4498' name='cred' filepath='fs/open.c' line='921' column='1'/>
+        <return type-id='type-id-147'/>
+      </function-decl>
+      <function-decl name='filp_open' mangled-name='filp_open' filepath='fs/open.c' line='1061' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='filp_open'>
+        <parameter type-id='type-id-24' name='filename' filepath='fs/open.c' line='1061' column='1'/>
+        <parameter type-id='type-id-11' name='flags' filepath='fs/open.c' line='1061' column='1'/>
+        <parameter type-id='type-id-4427' name='mode' filepath='fs/open.c' line='1061' column='1'/>
+        <return type-id='type-id-147'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='fs/overlayfs/namei.c' language='LANG_C89'>
+      <function-decl name='strchrnul' mangled-name='strchrnul' filepath='include/linux/string.h' line='59' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strchrnul'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-300'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='fs/proc/base.c' language='LANG_C89'>
+      <class-decl name='flex_array_part' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4499'/>
+      <array-type-def dimensions='1' type-id='type-id-4500' size-in-bits='infinite' id='type-id-4501'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <class-decl name='flex_array' size-in-bits='32768' is-struct='yes' visibility='default' filepath='include/linux/flex_array.h' line='21' column='1' id='type-id-4502'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='' type-id='type-id-4503' visibility='default' filepath='include/linux/flex_array.h' line='22' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__' size-in-bits='32768' is-anonymous='yes' visibility='default' filepath='include/linux/flex_array.h' line='22' column='1' id='type-id-4503'>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-4504' visibility='default' filepath='include/linux/flex_array.h' line='23' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='padding' type-id='type-id-4505' visibility='default' filepath='include/linux/flex_array.h' line='34' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/flex_array.h' line='23' column='1' id='type-id-4504'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='element_size' type-id='type-id-11' visibility='default' filepath='include/linux/flex_array.h' line='24' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='total_nr_elements' type-id='type-id-11' visibility='default' filepath='include/linux/flex_array.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='elems_per_part' type-id='type-id-11' visibility='default' filepath='include/linux/flex_array.h' line='26' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='reciprocal_elems' type-id='type-id-4506' visibility='default' filepath='include/linux/flex_array.h' line='27' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='parts' type-id='type-id-4501' visibility='default' filepath='include/linux/flex_array.h' line='28' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='reciprocal_value' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/reciprocal_div.h' line='23' column='1' id='type-id-4506'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='m' type-id='type-id-9' visibility='default' filepath='include/linux/reciprocal_div.h' line='24' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='sh1' type-id='type-id-53' visibility='default' filepath='include/linux/reciprocal_div.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='40'>
+          <var-decl name='sh2' type-id='type-id-53' visibility='default' filepath='include/linux/reciprocal_div.h' line='25' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-4502' size-in-bits='64' id='type-id-4507'/>
+      <pointer-type-def type-id='type-id-4499' size-in-bits='64' id='type-id-4500'/>
+      <function-decl name='kstrtouint_from_user' mangled-name='kstrtouint_from_user' filepath='include/linux/kernel.h' line='442' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kstrtouint_from_user'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-72'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='flex_array_alloc' mangled-name='flex_array_alloc' filepath='include/linux/flex_array.h' line='73' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='flex_array_alloc'>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-4507'/>
+      </function-decl>
+      <function-decl name='flex_array_prealloc' mangled-name='flex_array_prealloc' filepath='include/linux/flex_array.h' line='85' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='flex_array_prealloc'>
+        <parameter type-id='type-id-4507'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='flex_array_free' mangled-name='flex_array_free' filepath='include/linux/flex_array.h' line='92' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='flex_array_free'>
+        <parameter type-id='type-id-4507'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='flex_array_put' mangled-name='flex_array_put' filepath='include/linux/flex_array.h' line='111' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='flex_array_put'>
+        <parameter type-id='type-id-4507'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='flex_array_get' mangled-name='flex_array_get' filepath='include/linux/flex_array.h' line='133' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='flex_array_get'>
+        <parameter type-id='type-id-4507'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='kstrtoull_from_user' mangled-name='kstrtoull_from_user' filepath='include/linux/kernel.h' line='438' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kstrtoull_from_user'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-178'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='fs/proc/generic.c' language='LANG_C89'>
+      <union-decl name='__anonymous_union__3' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/linux/fs.h' line='1064' column='1' id='type-id-4508'>
+        <data-member access='private'>
+          <var-decl name='nfs_fl' type-id='type-id-4509' visibility='default' filepath='include/linux/fs.h' line='1065' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='nfs4_fl' type-id='type-id-4510' visibility='default' filepath='include/linux/fs.h' line='1066' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='afs' type-id='type-id-4511' visibility='default' filepath='include/linux/fs.h' line='1070' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__4' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='79' column='1' id='type-id-4512'>
+        <member-type access='private'>
+          <class-decl name='__anonymous_struct__' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='98' column='1' id='type-id-4513'>
+
+              <member-type access='public'>
+                <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='115' column='1' id='type-id-4514'>
+                  <data-member access='private'>
+                    <var-decl name='s_mem' type-id='type-id-3' visibility='default' filepath='include/linux/mm_types.h' line='116' column='1'/>
+                  </data-member>
+                  <data-member access='private'>
+                    <var-decl name='counters' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='117' column='1'/>
+                  </data-member>
+                  <data-member access='private'>
+                    <var-decl name='' type-id='type-id-4515' visibility='default' filepath='include/linux/mm_types.h' line='118' column='1'/>
+                  </data-member>
+                </union-decl>
+              </member-type>
+            <data-member access='public' layout-offset-in-bits='0'>
+              <var-decl name='' type-id='type-id-4516' visibility='default' filepath='include/linux/mm_types.h' line='99' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='128'>
+              <var-decl name='slab_cache' type-id='type-id-3525' visibility='default' filepath='include/linux/mm_types.h' line='112' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='192'>
+              <var-decl name='freelist' type-id='type-id-3' visibility='default' filepath='include/linux/mm_types.h' line='114' column='1'/>
+            </data-member>
+          </class-decl>
+        </member-type>
+        <member-type access='private'>
+          <class-decl name='__anonymous_struct__1' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='138' column='1' id='type-id-4517'>
+            <data-member access='public' layout-offset-in-bits='0'>
+              <var-decl name='_pt_pad_1' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='139' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='64'>
+              <var-decl name='pmd_huge_pte' type-id='type-id-152' visibility='default' filepath='include/linux/mm_types.h' line='140' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='128'>
+              <var-decl name='_pt_pad_2' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='141' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='192'>
+              <var-decl name='' type-id='type-id-4518' visibility='default' filepath='include/linux/mm_types.h' line='142' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='256'>
+              <var-decl name='ptl' type-id='type-id-106' visibility='default' filepath='include/linux/mm_types.h' line='149' column='1'/>
+            </data-member>
+          </class-decl>
+        </member-type>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-4519' visibility='default' filepath='include/linux/mm_types.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='callback_head' type-id='type-id-157' visibility='default' filepath='include/linux/mm_types.h' line='160' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__5' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='99' column='1' id='type-id-4516'>
+        <data-member access='private'>
+          <var-decl name='slab_list' type-id='type-id-8' visibility='default' filepath='include/linux/mm_types.h' line='100' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-4520' visibility='default' filepath='include/linux/mm_types.h' line='101' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__6' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='142' column='1' id='type-id-4518'>
+        <data-member access='private'>
+          <var-decl name='pt_mm' type-id='type-id-158' visibility='default' filepath='include/linux/mm_types.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='pt_frag_refcount' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='144' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__7' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='fs/proc/internal.h' line='48' column='1' id='type-id-4521'>
+        <data-member access='private'>
+          <var-decl name='seq_ops' type-id='type-id-4522' visibility='default' filepath='fs/proc/internal.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='single_show' type-id='type-id-4523' visibility='default' filepath='fs/proc/internal.h' line='50' column='1'/>
+        </data-member>
+      </union-decl>
+      <typedef-decl name='proc_write_t' type-id='type-id-4524' filepath='include/linux/proc_fs.h' line='17' column='1' id='type-id-4525'/>
+      <typedef-decl name='nlink_t' type-id='type-id-9' filepath='include/linux/types.h' line='20' column='1' id='type-id-4526'/>
+      <pointer-type-def type-id='type-id-4527' size-in-bits='64' id='type-id-4524'/>
+      <function-decl name='proc_mkdir_data' mangled-name='proc_mkdir_data' filepath='fs/proc/generic.c' line='461' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='proc_mkdir_data'>
+        <parameter type-id='type-id-24' name='name' filepath='fs/proc/generic.c' line='461' column='1'/>
+        <parameter type-id='type-id-4427' name='mode' filepath='fs/proc/generic.c' line='461' column='1'/>
+        <parameter type-id='type-id-286' name='parent' filepath='fs/proc/generic.c' line='462' column='1'/>
+        <parameter type-id='type-id-3' name='data' filepath='fs/proc/generic.c' line='462' column='1'/>
+        <return type-id='type-id-286'/>
+      </function-decl>
+      <function-decl name='remove_proc_subtree' mangled-name='remove_proc_subtree' filepath='fs/proc/generic.c' line='688' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='remove_proc_subtree'>
+        <parameter type-id='type-id-24' name='name' filepath='fs/proc/generic.c' line='688' column='1'/>
+        <parameter type-id='type-id-286' name='parent' filepath='fs/proc/generic.c' line='688' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-4527'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='fs/proc/proc_net.c' language='LANG_C89'>
+      <function-decl name='proc_create_net_data' mangled-name='proc_create_net_data' filepath='fs/proc/proc_net.c' line='100' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='proc_create_net_data'>
+        <parameter type-id='type-id-24' name='name' filepath='fs/proc/proc_net.c' line='100' column='1'/>
+        <parameter type-id='type-id-4427' name='mode' filepath='fs/proc/proc_net.c' line='100' column='1'/>
+        <parameter type-id='type-id-286' name='parent' filepath='fs/proc/proc_net.c' line='101' column='1'/>
+        <parameter type-id='type-id-4522' name='ops' filepath='fs/proc/proc_net.c' line='101' column='1'/>
+        <parameter type-id='type-id-10' name='state_size' filepath='fs/proc/proc_net.c' line='102' column='1'/>
+        <parameter type-id='type-id-3' name='data' filepath='fs/proc/proc_net.c' line='102' column='1'/>
+        <return type-id='type-id-286'/>
+      </function-decl>
+      <function-decl name='proc_create_net_single' mangled-name='proc_create_net_single' filepath='fs/proc/proc_net.c' line='193' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='proc_create_net_single'>
+        <parameter type-id='type-id-24' name='name' filepath='fs/proc/proc_net.c' line='193' column='1'/>
+        <parameter type-id='type-id-4427' name='mode' filepath='fs/proc/proc_net.c' line='193' column='1'/>
+        <parameter type-id='type-id-286' name='parent' filepath='fs/proc/proc_net.c' line='194' column='1'/>
+        <parameter type-id='type-id-4523' name='show' filepath='fs/proc/proc_net.c' line='195' column='1'/>
+        <parameter type-id='type-id-3' name='data' filepath='fs/proc/proc_net.c' line='195' column='1'/>
+        <return type-id='type-id-286'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='fs/pstore/platform.c' language='LANG_C89'>
+      <function-decl name='crypto_alloc_base' mangled-name='crypto_alloc_base' filepath='include/linux/crypto.h' line='657' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_alloc_base'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-35'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='fs/pstore/ram.c' language='LANG_C89'>
+      <function-decl name='platform_get_resource' mangled-name='platform_get_resource' filepath='include/linux/platform_device.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='platform_get_resource'>
+        <parameter type-id='type-id-568'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-279'/>
+      </function-decl>
+      <function-decl name='of_find_property' mangled-name='of_find_property' filepath='include/linux/of.h' line='312' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_find_property'>
+        <parameter type-id='type-id-80'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-82'/>
+        <return type-id='type-id-834'/>
+      </function-decl>
+      <function-decl name='of_property_read_variable_u32_array' mangled-name='of_property_read_variable_u32_array' filepath='include/linux/of.h' line='329' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_property_read_variable_u32_array'>
+        <parameter type-id='type-id-80'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-72'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='platform_device_unregister' mangled-name='platform_device_unregister' filepath='include/linux/platform_device.h' line='46' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='platform_device_unregister'>
+        <parameter type-id='type-id-568'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='fs/read_write.c' language='LANG_C89'>
+      <function-decl name='vfs_read' mangled-name='vfs_read' filepath='include/linux/fs.h' line='1867' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vfs_read'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-77'/>
+        <return type-id='type-id-187'/>
+      </function-decl>
+      <function-decl name='generic_file_llseek' mangled-name='generic_file_llseek' filepath='fs/read_write.c' line='144' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='generic_file_llseek'>
+        <parameter type-id='type-id-147' name='file' filepath='fs/read_write.c' line='144' column='1'/>
+        <parameter type-id='type-id-4528' name='offset' filepath='fs/read_write.c' line='144' column='1'/>
+        <parameter type-id='type-id-11' name='whence' filepath='fs/read_write.c' line='144' column='1'/>
+        <return type-id='type-id-4528'/>
+      </function-decl>
+      <function-decl name='noop_llseek' mangled-name='noop_llseek' filepath='fs/read_write.c' line='224' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='noop_llseek'>
+        <parameter type-id='type-id-147' name='file' filepath='fs/read_write.c' line='224' column='1'/>
+        <parameter type-id='type-id-4528' name='offset' filepath='fs/read_write.c' line='224' column='1'/>
+        <parameter type-id='type-id-11' name='whence' filepath='fs/read_write.c' line='224' column='1'/>
+        <return type-id='type-id-4528'/>
+      </function-decl>
+      <function-decl name='no_llseek' mangled-name='no_llseek' filepath='fs/read_write.c' line='230' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='no_llseek'>
+        <parameter type-id='type-id-147' name='file' filepath='fs/read_write.c' line='230' column='1'/>
+        <parameter type-id='type-id-4528' name='offset' filepath='fs/read_write.c' line='230' column='1'/>
+        <parameter type-id='type-id-11' name='whence' filepath='fs/read_write.c' line='230' column='1'/>
+        <return type-id='type-id-4528'/>
+      </function-decl>
+      <function-decl name='default_llseek' mangled-name='default_llseek' filepath='fs/read_write.c' line='236' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='default_llseek'>
+        <parameter type-id='type-id-147' name='file' filepath='fs/read_write.c' line='236' column='1'/>
+        <parameter type-id='type-id-4528' name='offset' filepath='fs/read_write.c' line='236' column='1'/>
+        <parameter type-id='type-id-11' name='whence' filepath='fs/read_write.c' line='236' column='1'/>
+        <return type-id='type-id-4528'/>
+      </function-decl>
+      <function-decl name='kernel_read' mangled-name='kernel_read' filepath='fs/read_write.c' line='423' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kernel_read'>
+        <parameter type-id='type-id-147' name='file' filepath='fs/read_write.c' line='423' column='1'/>
+        <parameter type-id='type-id-3' name='buf' filepath='fs/read_write.c' line='423' column='1'/>
+        <parameter type-id='type-id-125' name='count' filepath='fs/read_write.c' line='423' column='1'/>
+        <parameter type-id='type-id-1705' name='pos' filepath='fs/read_write.c' line='423' column='1'/>
+        <return type-id='type-id-543'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='fs/seq_file.c' language='LANG_C89'>
+      <function-decl name='dentry_path' mangled-name='dentry_path' filepath='include/linux/dcache.h' line='301' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dentry_path'>
+        <parameter type-id='type-id-836'/>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-300'/>
+      </function-decl>
+      <function-decl name='hex_dump_to_buffer' mangled-name='hex_dump_to_buffer' filepath='include/linux/printk.h' line='488' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='hex_dump_to_buffer'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-264'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='seq_read' mangled-name='seq_read' filepath='fs/seq_file.c' line='153' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='seq_read'>
+        <parameter type-id='type-id-147' name='file' filepath='fs/seq_file.c' line='153' column='1'/>
+        <parameter type-id='type-id-300' name='buf' filepath='fs/seq_file.c' line='153' column='1'/>
+        <parameter type-id='type-id-125' name='size' filepath='fs/seq_file.c' line='153' column='1'/>
+        <parameter type-id='type-id-1705' name='ppos' filepath='fs/seq_file.c' line='153' column='1'/>
+        <return type-id='type-id-543'/>
+      </function-decl>
+      <function-decl name='seq_write' mangled-name='seq_write' filepath='fs/seq_file.c' line='811' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='seq_write'>
+        <parameter type-id='type-id-85' name='seq' filepath='fs/seq_file.c' line='811' column='1'/>
+        <parameter type-id='type-id-3' name='data' filepath='fs/seq_file.c' line='811' column='1'/>
+        <parameter type-id='type-id-125' name='len' filepath='fs/seq_file.c' line='811' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='seq_hex_dump' mangled-name='seq_hex_dump' filepath='fs/seq_file.c' line='845' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='seq_hex_dump'>
+        <parameter type-id='type-id-85' name='m' filepath='fs/seq_file.c' line='845' column='1'/>
+        <parameter type-id='type-id-24' name='prefix_str' filepath='fs/seq_file.c' line='845' column='1'/>
+        <parameter type-id='type-id-11' name='prefix_type' filepath='fs/seq_file.c' line='845' column='1'/>
+        <parameter type-id='type-id-11' name='rowsize' filepath='fs/seq_file.c' line='846' column='1'/>
+        <parameter type-id='type-id-11' name='groupsize' filepath='fs/seq_file.c' line='846' column='1'/>
+        <parameter type-id='type-id-3' name='buf' filepath='fs/seq_file.c' line='846' column='1'/>
+        <parameter type-id='type-id-125' name='len' filepath='fs/seq_file.c' line='846' column='1'/>
+        <parameter type-id='type-id-211' name='ascii' filepath='fs/seq_file.c' line='847' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='fs/super.c' language='LANG_C89'>
+      <pointer-type-def type-id='type-id-4529' size-in-bits='64' id='type-id-4530'/>
+      <pointer-type-def type-id='type-id-4531' size-in-bits='64' id='type-id-4532'/>
+      <pointer-type-def type-id='type-id-4533' size-in-bits='64' id='type-id-4534'/>
+      <pointer-type-def type-id='type-id-268' size-in-bits='64' id='type-id-4535'/>
+      <pointer-type-def type-id='type-id-4536' size-in-bits='64' id='type-id-4537'/>
+      <pointer-type-def type-id='type-id-4538' size-in-bits='64' id='type-id-4539'/>
+      <pointer-type-def type-id='type-id-4540' size-in-bits='64' id='type-id-4541'/>
+      <pointer-type-def type-id='type-id-4542' size-in-bits='64' id='type-id-4543'/>
+      <function-decl name='kill_litter_super' mangled-name='kill_litter_super' filepath='fs/super.c' line='1054' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kill_litter_super'>
+        <parameter type-id='type-id-2155' name='sb' filepath='fs/super.c' line='1054' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='mount_single' mangled-name='mount_single' filepath='fs/super.c' line='1236' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mount_single'>
+        <parameter type-id='type-id-4488' name='fs_type' filepath='fs/super.c' line='1236' column='1'/>
+        <parameter type-id='type-id-11' name='flags' filepath='fs/super.c' line='1237' column='1'/>
+        <parameter type-id='type-id-3' name='data' filepath='fs/super.c' line='1237' column='1'/>
+        <parameter type-id='type-id-4534' name='fill_super' filepath='fs/super.c' line='1238' column='1'/>
+        <return type-id='type-id-836'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-4529'>
+        <parameter type-id='type-id-1160'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4531'>
+        <parameter type-id='type-id-1160'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4533'>
+        <parameter type-id='type-id-2155'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4536'>
+        <parameter type-id='type-id-1160'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4538'>
+        <parameter type-id='type-id-2155'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4540'>
+        <parameter type-id='type-id-2155'/>
+        <parameter type-id='type-id-82'/>
+        <parameter type-id='type-id-82'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4542'>
+        <parameter type-id='type-id-2155'/>
+        <parameter type-id='type-id-4535'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='fs/sysfs/file.c' language='LANG_C89'>
+      <pointer-type-def type-id='type-id-4544' size-in-bits='64' id='type-id-4545'/>
+      <function-decl name='sysfs_notify' mangled-name='sysfs_notify' filepath='fs/sysfs/file.c' line='173' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sysfs_notify'>
+        <parameter type-id='type-id-87' name='kobj' filepath='fs/sysfs/file.c' line='173' column='1'/>
+        <parameter type-id='type-id-24' name='dir' filepath='fs/sysfs/file.c' line='173' column='1'/>
+        <parameter type-id='type-id-24' name='attr' filepath='fs/sysfs/file.c' line='173' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='sysfs_create_files' mangled-name='sysfs_create_files' filepath='fs/sysfs/file.c' line='337' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sysfs_create_files'>
+        <parameter type-id='type-id-87' name='kobj' filepath='fs/sysfs/file.c' line='337' column='1'/>
+        <parameter type-id='type-id-4545' name='ptr' filepath='fs/sysfs/file.c' line='337' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='sysfs_remove_files' mangled-name='sysfs_remove_files' filepath='fs/sysfs/file.c' line='496' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sysfs_remove_files'>
+        <parameter type-id='type-id-87' name='kobj' filepath='fs/sysfs/file.c' line='496' column='1'/>
+        <parameter type-id='type-id-4545' name='ptr' filepath='fs/sysfs/file.c' line='496' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='fs/sysfs/group.c' language='LANG_C89'>
+      <function-decl name='sysfs_remove_groups' mangled-name='sysfs_remove_groups' filepath='fs/sysfs/group.c' line='279' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sysfs_remove_groups'>
+        <parameter type-id='type-id-87' name='kobj' filepath='fs/sysfs/group.c' line='279' column='1'/>
+        <parameter type-id='type-id-298' name='groups' filepath='fs/sysfs/group.c' line='280' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='fs/verity/hash_algs.c' language='LANG_C89'>
+      <class-decl name='crypto_ahash' size-in-bits='2048' is-struct='yes' visibility='default' filepath='include/crypto/hash.h' line='200' column='1' id='type-id-4546'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='init' type-id='type-id-469' visibility='default' filepath='include/crypto/hash.h' line='201' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='update' type-id='type-id-469' visibility='default' filepath='include/crypto/hash.h' line='202' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='final' type-id='type-id-469' visibility='default' filepath='include/crypto/hash.h' line='203' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='finup' type-id='type-id-469' visibility='default' filepath='include/crypto/hash.h' line='204' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='digest' type-id='type-id-469' visibility='default' filepath='include/crypto/hash.h' line='205' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='export' type-id='type-id-470' visibility='default' filepath='include/crypto/hash.h' line='206' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='import' type-id='type-id-470' visibility='default' filepath='include/crypto/hash.h' line='207' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='setkey' type-id='type-id-471' visibility='default' filepath='include/crypto/hash.h' line='208' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='reqsize' type-id='type-id-10' visibility='default' filepath='include/crypto/hash.h' line='211' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='base' type-id='type-id-26' visibility='default' filepath='include/crypto/hash.h' line='212' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ahash_request' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/crypto/hash.h' line='54' column='1' id='type-id-4547'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='base' type-id='type-id-32' visibility='default' filepath='include/crypto/hash.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='nbytes' type-id='type-id-10' visibility='default' filepath='include/crypto/hash.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='src' type-id='type-id-33' visibility='default' filepath='include/crypto/hash.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='result' type-id='type-id-67' visibility='default' filepath='include/crypto/hash.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='priv' type-id='type-id-3' visibility='default' filepath='include/crypto/hash.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='__ctx' type-id='type-id-4' visibility='default' filepath='include/crypto/hash.h' line='64' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-4547' size-in-bits='64' id='type-id-4548'/>
+      <pointer-type-def type-id='type-id-4546' size-in-bits='64' id='type-id-474'/>
+      <pointer-type-def type-id='type-id-4549' size-in-bits='64' id='type-id-469'/>
+      <pointer-type-def type-id='type-id-4550' size-in-bits='64' id='type-id-470'/>
+      <pointer-type-def type-id='type-id-4551' size-in-bits='64' id='type-id-471'/>
+      <function-decl name='crypto_alloc_ahash' mangled-name='crypto_alloc_ahash' filepath='include/crypto/hash.h' line='249' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_alloc_ahash'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-474'/>
+      </function-decl>
+      <function-decl name='crypto_ahash_digest' mangled-name='crypto_ahash_digest' filepath='include/crypto/hash.h' line='452' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_ahash_digest'>
+        <parameter type-id='type-id-4548'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-4549'>
+        <parameter type-id='type-id-4548'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4550'>
+        <parameter type-id='type-id-4548'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4551'>
+        <parameter type-id='type-id-474'/>
+        <parameter type-id='type-id-55'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='init/do_mounts.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-188' size-in-bits='320' id='type-id-4552'>
+        <subrange length='5' type-id='type-id-5' id='type-id-3376'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4553' size-in-bits='320' id='type-id-4554'>
+        <subrange length='5' type-id='type-id-5' id='type-id-3376'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4555' size-in-bits='320' id='type-id-4556'>
+        <subrange length='5' type-id='type-id-5' id='type-id-3376'/>
+
+      </array-type-def>
+      <class-decl name='device_node' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4557'/>
+      <class-decl name='linux_binfmt' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4558'/>
+      <array-type-def dimensions='1' type-id='type-id-4559' size-in-bits='1600' id='type-id-4560'>
+        <subrange length='5' type-id='type-id-5' id='type-id-3376'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4561' size-in-bits='infinite' id='type-id-4562'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <typedef-decl name='dma_addr_t' type-id='type-id-134' filepath='include/linux/types.h' line='153' column='1' id='type-id-210'/>
+      <class-decl name='__anonymous_struct__' size-in-bits='6848' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='353' column='1' id='type-id-4563'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mmap' type-id='type-id-132' visibility='default' filepath='include/linux/mm_types.h' line='354' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='mm_rb' type-id='type-id-133' visibility='default' filepath='include/linux/mm_types.h' line='355' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='vmacache_seqnum' type-id='type-id-134' visibility='default' filepath='include/linux/mm_types.h' line='356' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='get_unmapped_area' type-id='type-id-135' visibility='default' filepath='include/linux/mm_types.h' line='358' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='mmap_base' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='362' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='mmap_legacy_base' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='363' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='task_size' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='369' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='highest_vm_end' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='370' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='pgd' type-id='type-id-136' visibility='default' filepath='include/linux/mm_types.h' line='371' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='mm_users' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='382' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='mm_count' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='391' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='pgtables_bytes' type-id='type-id-138' visibility='default' filepath='include/linux/mm_types.h' line='394' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='map_count' type-id='type-id-11' visibility='default' filepath='include/linux/mm_types.h' line='396' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='736'>
+          <var-decl name='page_table_lock' type-id='type-id-106' visibility='default' filepath='include/linux/mm_types.h' line='398' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='mmap_sem' type-id='type-id-139' visibility='default' filepath='include/linux/mm_types.h' line='401' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='mmlist' type-id='type-id-8' visibility='default' filepath='include/linux/mm_types.h' line='403' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='hiwater_rss' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='410' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='hiwater_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='411' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='total_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='413' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='locked_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='414' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='pinned_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='415' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='data_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='416' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='exec_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='417' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='stack_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='418' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='def_flags' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='419' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='arg_lock' type-id='type-id-106' visibility='default' filepath='include/linux/mm_types.h' line='421' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='start_code' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='end_code' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='start_data' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='end_data' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='start_brk' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='brk' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='start_stack' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='arg_start' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='arg_end' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='env_start' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='env_end' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='saved_auxv' type-id='type-id-140' visibility='default' filepath='include/linux/mm_types.h' line='426' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5504'>
+          <var-decl name='rss_stat' type-id='type-id-141' visibility='default' filepath='include/linux/mm_types.h' line='432' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5760'>
+          <var-decl name='binfmt' type-id='type-id-142' visibility='default' filepath='include/linux/mm_types.h' line='434' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5824'>
+          <var-decl name='context' type-id='type-id-143' visibility='default' filepath='include/linux/mm_types.h' line='437' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6016'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='439' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6080'>
+          <var-decl name='core_state' type-id='type-id-144' visibility='default' filepath='include/linux/mm_types.h' line='441' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6144'>
+          <var-decl name='membarrier_state' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='443' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6176'>
+          <var-decl name='ioctx_lock' type-id='type-id-106' visibility='default' filepath='include/linux/mm_types.h' line='446' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6208'>
+          <var-decl name='ioctx_table' type-id='type-id-145' visibility='default' filepath='include/linux/mm_types.h' line='447' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6272'>
+          <var-decl name='owner' type-id='type-id-118' visibility='default' filepath='include/linux/mm_types.h' line='460' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6336'>
+          <var-decl name='user_ns' type-id='type-id-4564' visibility='default' filepath='include/linux/mm_types.h' line='462' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6400'>
+          <var-decl name='exe_file' type-id='type-id-147' visibility='default' filepath='include/linux/mm_types.h' line='465' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6464'>
+          <var-decl name='tlb_flush_pending' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='491' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6528'>
+          <var-decl name='uprobes_state' type-id='type-id-148' visibility='default' filepath='include/linux/mm_types.h' line='496' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6592'>
+          <var-decl name='async_put_work' type-id='type-id-149' visibility='default' filepath='include/linux/mm_types.h' line='500' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='vfsmount' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/mount.h' line='67' column='1' id='type-id-4565'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mnt_root' type-id='type-id-836' visibility='default' filepath='include/linux/mount.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='mnt_sb' type-id='type-id-2155' visibility='default' filepath='include/linux/mount.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='mnt_flags' type-id='type-id-11' visibility='default' filepath='include/linux/mount.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='data' type-id='type-id-3' visibility='default' filepath='include/linux/mount.h' line='71' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='posix_acl_entry' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/posix_acl.h' line='18' column='1' id='type-id-4561'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='e_tag' type-id='type-id-3521' visibility='default' filepath='include/linux/posix_acl.h' line='19' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='e_perm' type-id='type-id-288' visibility='default' filepath='include/linux/posix_acl.h' line='20' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='' type-id='type-id-4566' visibility='default' filepath='include/linux/posix_acl.h' line='21' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__1' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/linux/posix_acl.h' line='21' column='1' id='type-id-4566'>
+        <data-member access='private'>
+          <var-decl name='e_uid' type-id='type-id-4567' visibility='default' filepath='include/linux/posix_acl.h' line='22' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='e_gid' type-id='type-id-4568' visibility='default' filepath='include/linux/posix_acl.h' line='23' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='blkcg_gq' size-in-bits='5952' is-struct='yes' visibility='default' filepath='include/linux/blk-cgroup.h' line='109' column='1' id='type-id-4569'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='q' type-id='type-id-268' visibility='default' filepath='include/linux/blk-cgroup.h' line='111' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='q_node' type-id='type-id-8' visibility='default' filepath='include/linux/blk-cgroup.h' line='112' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='blkcg_node' type-id='type-id-378' visibility='default' filepath='include/linux/blk-cgroup.h' line='113' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='blkcg' type-id='type-id-4570' visibility='default' filepath='include/linux/blk-cgroup.h' line='114' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='wb_congested' type-id='type-id-4571' visibility='default' filepath='include/linux/blk-cgroup.h' line='120' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='parent' type-id='type-id-4572' visibility='default' filepath='include/linux/blk-cgroup.h' line='123' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='rl' type-id='type-id-4573' visibility='default' filepath='include/linux/blk-cgroup.h' line='126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='refcnt' type-id='type-id-137' visibility='default' filepath='include/linux/blk-cgroup.h' line='129' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1312'>
+          <var-decl name='online' type-id='type-id-211' visibility='default' filepath='include/linux/blk-cgroup.h' line='132' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='stat_bytes' type-id='type-id-4574' visibility='default' filepath='include/linux/blk-cgroup.h' line='134' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3264'>
+          <var-decl name='stat_ios' type-id='type-id-4574' visibility='default' filepath='include/linux/blk-cgroup.h' line='135' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5184'>
+          <var-decl name='pd' type-id='type-id-4556' visibility='default' filepath='include/linux/blk-cgroup.h' line='137' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5504'>
+          <var-decl name='callback_head' type-id='type-id-157' visibility='default' filepath='include/linux/blk-cgroup.h' line='139' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5632'>
+          <var-decl name='use_delay' type-id='type-id-137' visibility='default' filepath='include/linux/blk-cgroup.h' line='141' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5696'>
+          <var-decl name='delay_nsec' type-id='type-id-188' visibility='default' filepath='include/linux/blk-cgroup.h' line='142' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5760'>
+          <var-decl name='delay_start' type-id='type-id-188' visibility='default' filepath='include/linux/blk-cgroup.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5824'>
+          <var-decl name='last_delay' type-id='type-id-134' visibility='default' filepath='include/linux/blk-cgroup.h' line='144' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5888'>
+          <var-decl name='last_use' type-id='type-id-11' visibility='default' filepath='include/linux/blk-cgroup.h' line='145' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='blkcg' size-in-bits='2880' is-struct='yes' visibility='default' filepath='include/linux/blk-cgroup.h' line='46' column='1' id='type-id-4575'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='css' type-id='type-id-4576' visibility='default' filepath='include/linux/blk-cgroup.h' line='47' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/linux/blk-cgroup.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='blkg_tree' type-id='type-id-3181' visibility='default' filepath='include/linux/blk-cgroup.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='blkg_hint' type-id='type-id-4572' visibility='default' filepath='include/linux/blk-cgroup.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='blkg_list' type-id='type-id-297' visibility='default' filepath='include/linux/blk-cgroup.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='cpd' type-id='type-id-4554' visibility='default' filepath='include/linux/blk-cgroup.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='all_blkcgs_node' type-id='type-id-8' visibility='default' filepath='include/linux/blk-cgroup.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2688'>
+          <var-decl name='cgwb_list' type-id='type-id-8' visibility='default' filepath='include/linux/blk-cgroup.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2816'>
+          <var-decl name='cgwb_refcnt' type-id='type-id-12' visibility='default' filepath='include/linux/blk-cgroup.h' line='59' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='blkcg_policy_data' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/blk-cgroup.h' line='102' column='1' id='type-id-4577'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='blkcg' type-id='type-id-4570' visibility='default' filepath='include/linux/blk-cgroup.h' line='104' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='plid' type-id='type-id-11' visibility='default' filepath='include/linux/blk-cgroup.h' line='105' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='blkg_rwstat' size-in-bits='1920' is-struct='yes' visibility='default' filepath='include/linux/blk-cgroup.h' line='73' column='1' id='type-id-4574'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cpu_cnt' type-id='type-id-4560' visibility='default' filepath='include/linux/blk-cgroup.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='aux_cnt' type-id='type-id-4552' visibility='default' filepath='include/linux/blk-cgroup.h' line='75' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='blkg_policy_data' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/blk-cgroup.h' line='89' column='1' id='type-id-4578'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='blkg' type-id='type-id-4572' visibility='default' filepath='include/linux/blk-cgroup.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='plid' type-id='type-id-11' visibility='default' filepath='include/linux/blk-cgroup.h' line='92' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='pipe_inode_info' size-in-bits='1088' is-struct='yes' visibility='default' filepath='include/linux/pipe_fs_i.h' line='48' column='1' id='type-id-4579'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mutex' type-id='type-id-407' visibility='default' filepath='include/linux/pipe_fs_i.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='wait' type-id='type-id-388' visibility='default' filepath='include/linux/pipe_fs_i.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='nrbufs' type-id='type-id-10' visibility='default' filepath='include/linux/pipe_fs_i.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='curbuf' type-id='type-id-10' visibility='default' filepath='include/linux/pipe_fs_i.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='buffers' type-id='type-id-10' visibility='default' filepath='include/linux/pipe_fs_i.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='readers' type-id='type-id-10' visibility='default' filepath='include/linux/pipe_fs_i.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='writers' type-id='type-id-10' visibility='default' filepath='include/linux/pipe_fs_i.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='files' type-id='type-id-10' visibility='default' filepath='include/linux/pipe_fs_i.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='waiting_writers' type-id='type-id-10' visibility='default' filepath='include/linux/pipe_fs_i.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='672'>
+          <var-decl name='r_counter' type-id='type-id-10' visibility='default' filepath='include/linux/pipe_fs_i.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='w_counter' type-id='type-id-10' visibility='default' filepath='include/linux/pipe_fs_i.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='tmp_page' type-id='type-id-120' visibility='default' filepath='include/linux/pipe_fs_i.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='fasync_readers' type-id='type-id-3920' visibility='default' filepath='include/linux/pipe_fs_i.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='fasync_writers' type-id='type-id-3920' visibility='default' filepath='include/linux/pipe_fs_i.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='bufs' type-id='type-id-4580' visibility='default' filepath='include/linux/pipe_fs_i.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='user' type-id='type-id-4581' visibility='default' filepath='include/linux/pipe_fs_i.h' line='62' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='pipe_buffer' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/pipe_fs_i.h' line='21' column='1' id='type-id-4582'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='page' type-id='type-id-120' visibility='default' filepath='include/linux/pipe_fs_i.h' line='22' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='offset' type-id='type-id-10' visibility='default' filepath='include/linux/pipe_fs_i.h' line='23' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='len' type-id='type-id-10' visibility='default' filepath='include/linux/pipe_fs_i.h' line='23' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='ops' type-id='type-id-4583' visibility='default' filepath='include/linux/pipe_fs_i.h' line='24' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='include/linux/pipe_fs_i.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='private' type-id='type-id-100' visibility='default' filepath='include/linux/pipe_fs_i.h' line='26' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='pipe_buf_operations' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/pipe_fs_i.h' line='75' column='1' id='type-id-4584'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='can_merge' type-id='type-id-11' visibility='default' filepath='include/linux/pipe_fs_i.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='confirm' type-id='type-id-4585' visibility='default' filepath='include/linux/pipe_fs_i.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='release' type-id='type-id-4586' visibility='default' filepath='include/linux/pipe_fs_i.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='steal' type-id='type-id-4585' visibility='default' filepath='include/linux/pipe_fs_i.h' line='106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='get' type-id='type-id-4587' visibility='default' filepath='include/linux/pipe_fs_i.h' line='111' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='sg_table' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/scatterlist.h' line='42' column='1' id='type-id-671'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='sgl' type-id='type-id-33' visibility='default' filepath='include/linux/scatterlist.h' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='nents' type-id='type-id-10' visibility='default' filepath='include/linux/scatterlist.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='orig_nents' type-id='type-id-10' visibility='default' filepath='include/linux/scatterlist.h' line='45' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='scatterlist' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/scatterlist.h' line='11' column='1' id='type-id-4588'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='page_link' type-id='type-id-100' visibility='default' filepath='include/linux/scatterlist.h' line='12' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='offset' type-id='type-id-10' visibility='default' filepath='include/linux/scatterlist.h' line='13' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='length' type-id='type-id-10' visibility='default' filepath='include/linux/scatterlist.h' line='14' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='dma_address' type-id='type-id-210' visibility='default' filepath='include/linux/scatterlist.h' line='15' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='dma_length' type-id='type-id-10' visibility='default' filepath='include/linux/scatterlist.h' line='17' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='dma_data_direction' filepath='include/linux/dma-direction.h' line='5' column='1' id='type-id-892'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='DMA_BIDIRECTIONAL' value='0'/>
+        <enumerator name='DMA_TO_DEVICE' value='1'/>
+        <enumerator name='DMA_FROM_DEVICE' value='2'/>
+        <enumerator name='DMA_NONE' value='3'/>
+      </enum-decl>
+      <pointer-type-def type-id='type-id-4575' size-in-bits='64' id='type-id-4570'/>
+      <pointer-type-def type-id='type-id-4569' size-in-bits='64' id='type-id-4572'/>
+      <pointer-type-def type-id='type-id-4577' size-in-bits='64' id='type-id-4553'/>
+      <pointer-type-def type-id='type-id-4578' size-in-bits='64' id='type-id-4555'/>
+      <qualified-type-def type-id='type-id-4584' const='yes' id='type-id-4589'/>
+      <pointer-type-def type-id='type-id-4589' size-in-bits='64' id='type-id-4583'/>
+      <pointer-type-def type-id='type-id-4557' size-in-bits='64' id='type-id-782'/>
+      <pointer-type-def type-id='type-id-210' size-in-bits='64' id='type-id-983'/>
+      <pointer-type-def type-id='type-id-4590' size-in-bits='64' id='type-id-4591'/>
+      <pointer-type-def type-id='type-id-4592' size-in-bits='64' id='type-id-4593'/>
+      <pointer-type-def type-id='type-id-4594' size-in-bits='64' id='type-id-4595'/>
+      <pointer-type-def type-id='type-id-4596' size-in-bits='64' id='type-id-4597'/>
+      <pointer-type-def type-id='type-id-4598' size-in-bits='64' id='type-id-4599'/>
+      <pointer-type-def type-id='type-id-4600' size-in-bits='64' id='type-id-1930'/>
+      <pointer-type-def type-id='type-id-4601' size-in-bits='64' id='type-id-4585'/>
+      <pointer-type-def type-id='type-id-4558' size-in-bits='64' id='type-id-142'/>
+      <pointer-type-def type-id='type-id-4582' size-in-bits='64' id='type-id-4580'/>
+      <pointer-type-def type-id='type-id-4579' size-in-bits='64' id='type-id-4602'/>
+      <pointer-type-def type-id='type-id-4588' size-in-bits='64' id='type-id-33'/>
+      <pointer-type-def type-id='type-id-671' size-in-bits='64' id='type-id-259'/>
+      <pointer-type-def type-id='type-id-4603' size-in-bits='64' id='type-id-4587'/>
+      <pointer-type-def type-id='type-id-4604' size-in-bits='64' id='type-id-4605'/>
+      <pointer-type-def type-id='type-id-4606' size-in-bits='64' id='type-id-4607'/>
+      <pointer-type-def type-id='type-id-4565' size-in-bits='64' id='type-id-4485'/>
+      <pointer-type-def type-id='type-id-4608' size-in-bits='64' id='type-id-4609'/>
+      <pointer-type-def type-id='type-id-4610' size-in-bits='64' id='type-id-4611'/>
+      <pointer-type-def type-id='type-id-4612' size-in-bits='64' id='type-id-4613'/>
+      <pointer-type-def type-id='type-id-4614' size-in-bits='64' id='type-id-4615'/>
+      <pointer-type-def type-id='type-id-4616' size-in-bits='64' id='type-id-4617'/>
+      <pointer-type-def type-id='type-id-4618' size-in-bits='64' id='type-id-4619'/>
+      <pointer-type-def type-id='type-id-4620' size-in-bits='64' id='type-id-4586'/>
+      <pointer-type-def type-id='type-id-4621' size-in-bits='64' id='type-id-4622'/>
+      <function-decl name='simple_strtoul' mangled-name='simple_strtoul' filepath='include/linux/kernel.h' line='472' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='simple_strtoul'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-257'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+      <function-decl name='msleep' mangled-name='msleep' filepath='include/linux/delay.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='msleep'>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='register_filesystem' mangled-name='register_filesystem' filepath='include/linux/fs.h' line='2274' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='register_filesystem'>
+        <parameter type-id='type-id-4488'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='unregister_filesystem' mangled-name='unregister_filesystem' filepath='include/linux/fs.h' line='2275' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unregister_filesystem'>
+        <parameter type-id='type-id-4488'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='class_find_device' mangled-name='class_find_device' filepath='include/linux/device.h' line='481' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='class_find_device'>
+        <parameter type-id='type-id-351'/>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-1930'/>
+        <return type-id='type-id-86'/>
+      </function-decl>
+      <function-decl name='put_device' mangled-name='put_device' filepath='include/linux/device.h' line='1392' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='put_device'>
+        <parameter type-id='type-id-86'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-4590'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-33'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-892'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4592'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-259'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-210'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4594'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-210'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4596'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-134'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4598'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-132'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-210'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4600'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4601'>
+        <parameter type-id='type-id-4602'/>
+        <parameter type-id='type-id-4580'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4603'>
+        <parameter type-id='type-id-4602'/>
+        <parameter type-id='type-id-4580'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4604'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-120'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-892'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-210'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4606'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-206'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-892'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-210'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4608'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-33'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-892'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4610'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-33'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-892'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4612'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-210'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-892'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4614'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-210'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-892'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4616'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-210'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4618'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-892'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4620'>
+        <parameter type-id='type-id-4602'/>
+        <parameter type-id='type-id-4580'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-4621'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-983'/>
+        <parameter type-id='type-id-272'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-3'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='init/do_mounts_rd.c' language='LANG_C89'>
+      <function-decl name='kfree' mangled-name='kfree' filepath='include/linux/slab.h' line='185' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kfree'>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='kmem_cache_alloc_trace' mangled-name='kmem_cache_alloc_trace' filepath='include/linux/slab.h' line='427' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kmem_cache_alloc_trace'>
+        <parameter type-id='type-id-3525'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='kmalloc_order_trace' mangled-name='kmalloc_order_trace' filepath='include/linux/slab.h' line='468' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kmalloc_order_trace'>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='init/initramfs.c' language='LANG_C89'>
+      <function-decl name='kstrdup' mangled-name='kstrdup' filepath='include/linux/string.h' line='171' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kstrdup'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-300'/>
+      </function-decl>
+      <function-decl name='vfs_statx' mangled-name='vfs_statx' filepath='include/linux/fs.h' line='3171' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vfs_statx'>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-4623'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='init/main.c' language='LANG_C89'>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+      <type-decl name='__ARRAY_SIZE_TYPE__' size-in-bits='64' id='type-id-5'/>
+      <array-type-def dimensions='1' type-id='type-id-266' size-in-bits='64' id='type-id-2444'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-266' size-in-bits='96' id='type-id-2411'>
+        <subrange length='3' type-id='type-id-5' id='type-id-1015'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-1120' size-in-bits='128' id='type-id-4624'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-1120' size-in-bits='1984' id='type-id-4625'>
+        <subrange length='31' type-id='type-id-5' id='type-id-4626'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-1120' size-in-bits='infinite' id='type-id-4627'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-1122' size-in-bits='128' id='type-id-2555'>
+        <subrange length='16' type-id='type-id-5' id='type-id-195'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-1122' size-in-bits='24' id='type-id-4628'>
+        <subrange length='3' type-id='type-id-5' id='type-id-1015'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-1122' size-in-bits='72' id='type-id-4629'>
+        <subrange length='9' type-id='type-id-5' id='type-id-2321'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4630' size-in-bits='4096' id='type-id-4631'>
+        <subrange length='32' type-id='type-id-5' id='type-id-2319'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-138' size-in-bits='896' id='type-id-4632'>
+        <subrange length='14' type-id='type-id-5' id='type-id-1124'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-138' size-in-bits='1856' id='type-id-4633'>
+        <subrange length='29' type-id='type-id-5' id='type-id-4634'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-138' size-in-bits='2240' id='type-id-4635'>
+        <subrange length='35' type-id='type-id-5' id='type-id-992'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-138' size-in-bits='256' id='type-id-4636'>
+        <subrange length='4' type-id='type-id-5' id='type-id-281'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-138' size-in-bits='3392' id='type-id-4637'>
+        <subrange length='53' type-id='type-id-5' id='type-id-4638'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-138' size-in-bits='448' id='type-id-4639'>
+        <subrange length='7' type-id='type-id-5' id='type-id-357'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-138' size-in-bits='infinite' id='type-id-4640'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-137' size-in-bits='64' id='type-id-2151'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-137' size-in-bits='288' id='type-id-4641'>
+        <subrange length='9' type-id='type-id-5' id='type-id-2321'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4642' size-in-bits='infinite' id='type-id-4643'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-415' size-in-bits='5120' id='type-id-4644'>
+        <subrange length='16' type-id='type-id-5' id='type-id-195'/>
+
+      </array-type-def>
+      <type-decl name='bool' size-in-bits='8' id='type-id-264'/>
+      <array-type-def dimensions='1' type-id='type-id-4645' size-in-bits='1344' id='type-id-4646'>
+        <subrange length='21' type-id='type-id-5' id='type-id-4647'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4648' size-in-bits='448' id='type-id-4649'>
+        <subrange length='7' type-id='type-id-5' id='type-id-357'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-300' size-in-bits='2048' id='type-id-4650'>
+        <subrange length='32' type-id='type-id-5' id='type-id-2319'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-300' size-in-bits='192' id='type-id-4651'>
+        <subrange length='3' type-id='type-id-5' id='type-id-1015'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-475' size-in-bits='1024' id='type-id-13'>
+        <subrange length='128' type-id='type-id-5' id='type-id-1154'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-475' size-in-bits='128' id='type-id-847'>
+        <subrange length='16' type-id='type-id-5' id='type-id-195'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-475' size-in-bits='16384' id='type-id-4652'>
+        <subrange length='2048' type-id='type-id-5' id='type-id-4653'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-475' size-in-bits='176' id='type-id-4654'>
+        <subrange length='22' type-id='type-id-5' id='type-id-4655'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-475' size-in-bits='256' id='type-id-650'>
+        <subrange length='32' type-id='type-id-5' id='type-id-2319'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-475' size-in-bits='296' id='type-id-4656'>
+        <subrange length='37' type-id='type-id-5' id='type-id-4657'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-475' size-in-bits='32768' id='type-id-4505'>
+        <subrange length='4096' type-id='type-id-5' id='type-id-4658'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-475' size-in-bits='448' id='type-id-4659'>
+        <subrange length='56' type-id='type-id-5' id='type-id-3476'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-475' size-in-bits='512' id='type-id-4264'>
+        <subrange length='64' type-id='type-id-5' id='type-id-2338'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-475' size-in-bits='520' id='type-id-4660'>
+        <subrange length='65' type-id='type-id-5' id='type-id-4661'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-475' size-in-bits='64' id='type-id-4662'>
+        <subrange length='8' type-id='type-id-5' id='type-id-1953'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-475' size-in-bits='infinite' id='type-id-1049'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <class-decl name='assoc_array_ptr' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4663'/>
+      <class-decl name='audit_context' size-in-bits='7360' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4664'/>
+      <class-decl name='autogroup' size-in-bits='576' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4665'/>
+      <class-decl name='badblocks' size-in-bits='512' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3084'/>
+      <class-decl name='blk_flush_queue' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4666'/>
+      <class-decl name='blk_mq_alloc_data' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4667'/>
+      <class-decl name='blk_mq_ctx' size-in-bits='2048' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4668'/>
+      <class-decl name='blk_mq_hw_ctx' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4669'/>
+      <class-decl name='blk_mq_ops' size-in-bits='832' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4670'/>
+      <class-decl name='blk_mq_tag_set' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4671'/>
+      <class-decl name='blk_queue_stats' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4672'/>
+      <class-decl name='blk_stat_callback' size-in-bits='960' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4673'/>
+      <class-decl name='blkcg_gq' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4674'/>
+      <class-decl name='bpf_prog' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4675'/>
+      <class-decl name='bpf_prog_array' size-in-bits='128' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4676'/>
+      <class-decl name='bsg_job' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4677'/>
+      <class-decl name='cfs_rq' size-in-bits='3072' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4678'/>
+      <class-decl name='cgroup_taskset' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4679'/>
+      <class-decl name='cma' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4680'/>
+      <class-decl name='dev_pin_info' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4681'/>
+      <class-decl name='dev_pm_qos' size-in-bits='1024' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4682'/>
+      <class-decl name='device_private' size-in-bits='1344' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4683'/>
+      <class-decl name='disk_events' size-in-bits='1408' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4684'/>
+      <class-decl name='dma_coherent_mem' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4685'/>
+      <class-decl name='dma_map_ops' size-in-bits='1088' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4686'/>
+      <class-decl name='driver_private' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4687'/>
+      <class-decl name='event_filter' size-in-bits='128' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4688'/>
+      <class-decl name='eventfd_ctx' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4689'/>
+      <class-decl name='export_operations' size-in-bits='576' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4690'/>
+      <class-decl name='files_struct' size-in-bits='5632' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4691'/>
+      <class-decl name='fs_struct' size-in-bits='448' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4692'/>
+      <class-decl name='fscrypt_info' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4693'/>
+      <class-decl name='fscrypt_operations' size-in-bits='768' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4694'/>
+      <class-decl name='fsnotify_mark_connector' size-in-bits='192' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4695'/>
+      <class-decl name='fsverity_info' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4696'/>
+      <class-decl name='fsverity_operations' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4697'/>
+      <class-decl name='futex_pi_state' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4698'/>
+      <class-decl name='hd_geometry' size-in-bits='128' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-2156'/>
+      <class-decl name='iommu_fwspec' size-in-bits='256' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4699'/>
+      <class-decl name='iommu_group' size-in-bits='1728' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4700'/>
+      <class-decl name='iommu_ops' size-in-bits='1664' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4701'/>
+      <class-decl name='ipc_namespace' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4702'/>
+      <class-decl name='irq_domain' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4703'/>
+      <class-decl name='kernfs_iattrs' size-in-bits='960' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4704'/>
+      <class-decl name='kernfs_open_node' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4705'/>
+      <class-decl name='key_type' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4706'/>
+      <class-decl name='key_user' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4707'/>
+      <class-decl name='keyslot_manager' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4708'/>
+      <class-decl name='kioctx_table' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4709'/>
+      <class-decl name='kmem_cache' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4710'/>
+      <class-decl name='kstatfs' size-in-bits='960' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4711'/>
+      <class-decl name='mnt_namespace' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4712'/>
+      <class-decl name='module_notes_attrs' size-in-bits='128' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4713'/>
+      <class-decl name='module_param_attrs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4714'/>
+      <class-decl name='module_sect_attrs' size-in-bits='384' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4715'/>
+      <class-decl name='mtd_info' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4716'/>
+      <class-decl name='nameidata' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4717'/>
+      <class-decl name='net' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4718'/>
+      <class-decl name='nfs4_lock_state' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4719'/>
+      <class-decl name='nlm_lockowner' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4720'/>
+      <class-decl name='pipe_inode_info' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4721'/>
+      <class-decl name='pm_domain_data' size-in-bits='192' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4722'/>
+      <class-decl name='posix_acl' size-in-bits='256' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4723'/>
+      <class-decl name='pr_ops' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4724'/>
+      <class-decl name='rcu_node' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4725'/>
+      <class-decl name='ring_buffer' size-in-bits='1920' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4726'/>
+      <class-decl name='ring_buffer_iter' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4727'/>
+      <class-decl name='robust_list_head' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4728'/>
+      <class-decl name='rq_qos' size-in-bits='256' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4729'/>
+      <class-decl name='rt_mutex_waiter' size-in-bits='640' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4730'/>
+      <class-decl name='sched_class' size-in-bits='1536' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4731'/>
+      <class-decl name='seccomp_filter' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4732'/>
+      <class-decl name='sock' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4733'/>
+      <class-decl name='subsys_private' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4734'/>
+      <class-decl name='task_group' size-in-bits='3584' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4735'/>
+      <class-decl name='timer_rand_state' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4736'/>
+      <class-decl name='trace_array' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4737'/>
+      <class-decl name='trace_buffer' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4738'/>
+      <class-decl name='trace_subsystem_dir' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4739'/>
+      <class-decl name='tracer' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4740'/>
+      <class-decl name='tty_audit_buf' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4741'/>
+      <class-decl name='tty_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4742'/>
+      <class-decl name='unicode_map' size-in-bits='128' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4743'/>
+      <class-decl name='uprobe' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4744'/>
+      <class-decl name='vfsmount' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4745'/>
+      <class-decl name='wake_irq' size-in-bits='192' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4746'/>
+      <class-decl name='workqueue_struct' size-in-bits='2560' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4747'/>
+      <class-decl name='xol_area' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4748'/>
+      <array-type-def dimensions='1' type-id='type-id-4749' size-in-bits='192' id='type-id-4750'>
+        <subrange length='3' type-id='type-id-5' id='type-id-1015'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4751' size-in-bits='256' id='type-id-4752'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4753' size-in-bits='64' id='type-id-4754'>
+        <subrange length='1' type-id='type-id-5' id='type-id-192'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4755' size-in-bits='9152' id='type-id-4756'>
+        <subrange length='11' type-id='type-id-5' id='type-id-275'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4757' size-in-bits='infinite' id='type-id-4758'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-297' size-in-bits='256' id='type-id-4759'>
+        <subrange length='4' type-id='type-id-5' id='type-id-281'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-297' size-in-bits='4096' id='type-id-4760'>
+        <subrange length='64' type-id='type-id-5' id='type-id-2338'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-378' size-in-bits='512' id='type-id-4761'>
+        <subrange length='4' type-id='type-id-5' id='type-id-281'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4762' size-in-bits='4096' id='type-id-4763'>
+        <subrange length='8' type-id='type-id-5' id='type-id-1953'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-1160' size-in-bits='192' id='type-id-4764'>
+        <subrange length='3' type-id='type-id-5' id='type-id-1015'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='896' id='type-id-4765'>
+        <subrange length='28' type-id='type-id-5' id='type-id-4766'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='64' id='type-id-1324'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='128' id='type-id-4302'>
+        <subrange length='4' type-id='type-id-5' id='type-id-281'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='288' id='type-id-4767'>
+        <subrange length='9' type-id='type-id-5' id='type-id-2321'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='infinite' id='type-id-4768'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4769' size-in-bits='16384' id='type-id-4770'>
+        <subrange length='64' type-id='type-id-5' id='type-id-2338'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4568' size-in-bits='infinite' id='type-id-4771'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='2688' id='type-id-4772'>
+        <subrange length='21' type-id='type-id-5' id='type-id-4647'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='384' id='type-id-4773'>
+        <subrange length='3' type-id='type-id-5' id='type-id-1015'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='512' id='type-id-4774'>
+        <subrange length='4' type-id='type-id-5' id='type-id-281'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='640' id='type-id-4775'>
+        <subrange length='5' type-id='type-id-5' id='type-id-3376'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='768' id='type-id-4776'>
+        <subrange length='6' type-id='type-id-5' id='type-id-1951'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='896' id='type-id-4777'>
+        <subrange length='7' type-id='type-id-5' id='type-id-357'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4778' size-in-bits='infinite' id='type-id-4779'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4780' id='type-id-4781'>
+        <subrange length='3' type-id='type-id-5' id='type-id-1015'/>
+
+      </array-type-def>
+      <type-decl name='long int' size-in-bits='64' id='type-id-187'/>
+      <array-type-def dimensions='1' type-id='type-id-187' size-in-bits='1856' id='type-id-4782'>
+        <subrange length='29' type-id='type-id-5' id='type-id-4634'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-187' size-in-bits='128' id='type-id-4783'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-187' size-in-bits='2240' id='type-id-4784'>
+        <subrange length='35' type-id='type-id-5' id='type-id-992'/>
+
+      </array-type-def>
+      <type-decl name='long long int' size-in-bits='64' id='type-id-112'/>
+      <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-177'/>
+      <array-type-def dimensions='1' type-id='type-id-4785' size-in-bits='infinite' id='type-id-4786'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4787' size-in-bits='1664' id='type-id-4788'>
+        <subrange length='13' type-id='type-id-5' id='type-id-1955'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4789' size-in-bits='infinite' id='type-id-4790'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4791' size-in-bits='1728' id='type-id-4792'>
+        <subrange length='3' type-id='type-id-5' id='type-id-1015'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4559' size-in-bits='1280' id='type-id-4793'>
+        <subrange length='4' type-id='type-id-5' id='type-id-281'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4794' size-in-bits='3072' id='type-id-4795'>
+        <subrange length='3' type-id='type-id-5' id='type-id-1015'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4796' size-in-bits='infinite' id='type-id-4797'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-174' size-in-bits='1024' id='type-id-4798'>
+        <subrange length='16' type-id='type-id-5' id='type-id-195'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4799' size-in-bits='128' id='type-id-4800'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-1213' size-in-bits='256' id='type-id-4801'>
+        <subrange length='4' type-id='type-id-5' id='type-id-281'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4802' size-in-bits='infinite' id='type-id-4803'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4804' size-in-bits='1344' id='type-id-4805'>
+        <subrange length='3' type-id='type-id-5' id='type-id-1015'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-1846' size-in-bits='384' id='type-id-4806'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4807' size-in-bits='2048' id='type-id-4808'>
+        <subrange length='16' type-id='type-id-5' id='type-id-195'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4809' size-in-bits='112' id='type-id-4810'>
+        <subrange length='14' type-id='type-id-5' id='type-id-1124'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4809' size-in-bits='232' id='type-id-4811'>
+        <subrange length='29' type-id='type-id-5' id='type-id-4634'/>
+
+      </array-type-def>
+      <type-decl name='short int' size-in-bits='16' id='type-id-3521'/>
+      <type-decl name='signed char' size-in-bits='8' id='type-id-4812'/>
+      <array-type-def dimensions='1' type-id='type-id-9' size-in-bits='672' id='type-id-4813'>
+        <subrange length='21' type-id='type-id-5' id='type-id-4647'/>
+
+      </array-type-def>
+      <array-type-def dimensions='2' type-id='type-id-9' size-in-bits='256' id='type-id-4814'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+        <subrange length='6' type-id='type-id-5' id='type-id-1951'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-9' size-in-bits='160' id='type-id-4815'>
+        <subrange length='5' type-id='type-id-5' id='type-id-3376'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-9' size-in-bits='192' id='type-id-4816'>
+        <subrange length='6' type-id='type-id-5' id='type-id-1951'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-9' size-in-bits='infinite' id='type-id-4817'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-134' size-in-bits='128' id='type-id-2103'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+      </array-type-def>
+      <array-type-def dimensions='2' type-id='type-id-134' size-in-bits='448' id='type-id-4818'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+        <subrange length='5' type-id='type-id-5' id='type-id-3376'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-134' size-in-bits='1984' id='type-id-4819'>
+        <subrange length='31' type-id='type-id-5' id='type-id-4626'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-134' size-in-bits='192' id='type-id-4820'>
+        <subrange length='3' type-id='type-id-5' id='type-id-1015'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-134' size-in-bits='256' id='type-id-4821'>
+        <subrange length='4' type-id='type-id-5' id='type-id-281'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-134' size-in-bits='320' id='type-id-4822'>
+        <subrange length='5' type-id='type-id-5' id='type-id-3376'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-134' size-in-bits='512' id='type-id-4823'>
+        <subrange length='8' type-id='type-id-5' id='type-id-1953'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='1024' id='type-id-4824'>
+        <subrange length='128' type-id='type-id-5' id='type-id-1154'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='24' id='type-id-1272'>
+        <subrange length='3' type-id='type-id-5' id='type-id-1015'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='512' id='type-id-3598'>
+        <subrange length='64' type-id='type-id-5' id='type-id-2338'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4825' size-in-bits='480' id='type-id-4826'>
+        <subrange length='5' type-id='type-id-5' id='type-id-3376'/>
+
+      </array-type-def>
+      <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-182'/>
+      <type-decl name='unsigned __int128' size-in-bits='128' id='type-id-4827'/>
+      <type-decl name='unsigned char' size-in-bits='8' id='type-id-271'/>
+      <array-type-def dimensions='1' type-id='type-id-271' size-in-bits='256' id='type-id-4828'>
+        <subrange length='32' type-id='type-id-5' id='type-id-2319'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-271' size-in-bits='32768' id='type-id-4829'>
+        <subrange length='4096' type-id='type-id-5' id='type-id-4658'/>
+
+      </array-type-def>
+      <type-decl name='unsigned int' size-in-bits='32' id='type-id-10'/>
+      <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='64' id='type-id-3971'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='96' id='type-id-2162'>
+        <subrange length='3' type-id='type-id-5' id='type-id-1015'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-100' size-in-bits='64' id='type-id-930'>
+        <subrange length='1' type-id='type-id-5' id='type-id-192'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-100' size-in-bits='128' id='type-id-1331'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+      </array-type-def>
+      <array-type-def dimensions='2' type-id='type-id-100' size-in-bits='448' id='type-id-4830'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+        <subrange length='5' type-id='type-id-5' id='type-id-3376'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-100' size-in-bits='192' id='type-id-2356'>
+        <subrange length='3' type-id='type-id-5' id='type-id-1015'/>
+
+      </array-type-def>
+      <array-type-def dimensions='2' type-id='type-id-100' size-in-bits='256' id='type-id-4831'>
+        <subrange length='3' type-id='type-id-5' id='type-id-1015'/>
+
+        <subrange length='1' type-id='type-id-5' id='type-id-192'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-100' size-in-bits='2944' id='type-id-140'>
+        <subrange length='46' type-id='type-id-5' id='type-id-2326'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-100' size-in-bits='3392' id='type-id-4832'>
+        <subrange length='53' type-id='type-id-5' id='type-id-4638'/>
+
+      </array-type-def>
+      <array-type-def dimensions='2' type-id='type-id-100' size-in-bits='512' id='type-id-4833'>
+        <subrange length='5' type-id='type-id-5' id='type-id-3376'/>
+
+        <subrange length='3' type-id='type-id-5' id='type-id-1015'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-100' size-in-bits='infinite' id='type-id-3523'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <type-decl name='unsigned short int' size-in-bits='16' id='type-id-288'/>
+      <array-type-def dimensions='1' type-id='type-id-4834' size-in-bits='128' id='type-id-4835'>
+        <subrange length='1' type-id='type-id-5' id='type-id-192'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-132' size-in-bits='256' id='type-id-4836'>
+        <subrange length='4' type-id='type-id-5' id='type-id-281'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='128' id='type-id-4837'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='256' id='type-id-4838'>
+        <subrange length='4' type-id='type-id-5' id='type-id-281'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='4096' id='type-id-4839'>
+        <subrange length='64' type-id='type-id-5' id='type-id-2338'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-388' size-in-bits='384' id='type-id-4840'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4841' size-in-bits='25600' id='type-id-4842'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4843' size-in-bits='384' id='type-id-4844'>
+        <subrange length='1' type-id='type-id-5' id='type-id-192'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4845' size-in-bits='384' id='type-id-4846'>
+        <subrange length='3' type-id='type-id-5' id='type-id-1015'/>
+
+      </array-type-def>
+      <class-decl name='trace_event_buffer' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/trace_events.h' line='206' column='1' id='type-id-4847'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='buffer' type-id='type-id-4848' visibility='default' filepath='include/linux/trace_events.h' line='207' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='event' type-id='type-id-4849' visibility='default' filepath='include/linux/trace_events.h' line='208' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='trace_file' type-id='type-id-4850' visibility='default' filepath='include/linux/trace_events.h' line='209' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='entry' type-id='type-id-3' visibility='default' filepath='include/linux/trace_events.h' line='210' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/trace_events.h' line='211' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='pc' type-id='type-id-11' visibility='default' filepath='include/linux/trace_events.h' line='212' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ring_buffer_event' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/linux/ring_buffer.h' line='15' column='1' id='type-id-4851'>
+        <data-member access='public' layout-offset-in-bits='27'>
+          <var-decl name='type_len' type-id='type-id-9' visibility='default' filepath='include/linux/ring_buffer.h' line='16' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='time_delta' type-id='type-id-9' visibility='default' filepath='include/linux/ring_buffer.h' line='16' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='array' type-id='type-id-4817' visibility='default' filepath='include/linux/ring_buffer.h' line='18' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='u32' type-id='type-id-266' filepath='include/asm-generic/int-ll64.h' line='21' column='1' id='type-id-9'/>
+      <typedef-decl name='__u32' type-id='type-id-10' filepath='include/uapi/asm-generic/int-ll64.h' line='27' column='1' id='type-id-266'/>
+      <class-decl name='trace_event_file' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/linux/trace_events.h' line='366' column='1' id='type-id-4852'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/trace_events.h' line='367' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='event_call' type-id='type-id-4853' visibility='default' filepath='include/linux/trace_events.h' line='368' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='filter' type-id='type-id-4854' visibility='default' filepath='include/linux/trace_events.h' line='369' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='dir' type-id='type-id-836' visibility='default' filepath='include/linux/trace_events.h' line='370' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='tr' type-id='type-id-4855' visibility='default' filepath='include/linux/trace_events.h' line='371' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='system' type-id='type-id-4856' visibility='default' filepath='include/linux/trace_events.h' line='372' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='triggers' type-id='type-id-8' visibility='default' filepath='include/linux/trace_events.h' line='373' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/trace_events.h' line='391' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='sm_ref' type-id='type-id-137' visibility='default' filepath='include/linux/trace_events.h' line='392' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='672'>
+          <var-decl name='tm_ref' type-id='type-id-137' visibility='default' filepath='include/linux/trace_events.h' line='393' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/types.h' line='186' column='1' id='type-id-8'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='next' type-id='type-id-262' visibility='default' filepath='include/linux/types.h' line='187' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='prev' type-id='type-id-262' visibility='default' filepath='include/linux/types.h' line='187' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='trace_event_call' size-in-bits='1152' is-struct='yes' visibility='default' filepath='include/linux/trace_events.h' line='253' column='1' id='type-id-4857'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/trace_events.h' line='254' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='class' type-id='type-id-4858' visibility='default' filepath='include/linux/trace_events.h' line='255' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='' type-id='type-id-4859' visibility='default' filepath='include/linux/trace_events.h' line='256' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='event' type-id='type-id-4860' visibility='default' filepath='include/linux/trace_events.h' line='261' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='print_fmt' type-id='type-id-300' visibility='default' filepath='include/linux/trace_events.h' line='262' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='filter' type-id='type-id-4854' visibility='default' filepath='include/linux/trace_events.h' line='263' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='mod' type-id='type-id-3' visibility='default' filepath='include/linux/trace_events.h' line='264' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='data' type-id='type-id-3' visibility='default' filepath='include/linux/trace_events.h' line='265' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='flags' type-id='type-id-11' visibility='default' filepath='include/linux/trace_events.h' line='275' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='928'>
+          <var-decl name='perf_refcount' type-id='type-id-11' visibility='default' filepath='include/linux/trace_events.h' line='278' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='perf_events' type-id='type-id-1238' visibility='default' filepath='include/linux/trace_events.h' line='279' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='prog_array' type-id='type-id-4645' visibility='default' filepath='include/linux/trace_events.h' line='280' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='perf_perm' type-id='type-id-4861' visibility='default' filepath='include/linux/trace_events.h' line='282' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='trace_event_class' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/trace_events.h' line='189' column='1' id='type-id-4862'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='system' type-id='type-id-24' visibility='default' filepath='include/linux/trace_events.h' line='190' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='probe' type-id='type-id-3' visibility='default' filepath='include/linux/trace_events.h' line='191' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='perf_probe' type-id='type-id-3' visibility='default' filepath='include/linux/trace_events.h' line='193' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='reg' type-id='type-id-4863' visibility='default' filepath='include/linux/trace_events.h' line='195' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='define_fields' type-id='type-id-4864' visibility='default' filepath='include/linux/trace_events.h' line='197' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='get_fields' type-id='type-id-4865' visibility='default' filepath='include/linux/trace_events.h' line='198' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='fields' type-id='type-id-8' visibility='default' filepath='include/linux/trace_events.h' line='199' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='raw_init' type-id='type-id-4864' visibility='default' filepath='include/linux/trace_events.h' line='200' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='kernfs_node_id' size-in-bits='64' visibility='default' filepath='include/linux/kernfs.h' line='107' column='1' id='type-id-4866'>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-4867' visibility='default' filepath='include/linux/kernfs.h' line='108' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='id' type-id='type-id-134' visibility='default' filepath='include/linux/kernfs.h' line='118' column='1'/>
+        </data-member>
+      </union-decl>
+      <enum-decl name='trace_reg' filepath='include/linux/trace_events.h' line='169' column='1' id='type-id-4868'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='TRACE_REG_REGISTER' value='0'/>
+        <enumerator name='TRACE_REG_UNREGISTER' value='1'/>
+        <enumerator name='TRACE_REG_PERF_REGISTER' value='2'/>
+        <enumerator name='TRACE_REG_PERF_UNREGISTER' value='3'/>
+        <enumerator name='TRACE_REG_PERF_OPEN' value='4'/>
+        <enumerator name='TRACE_REG_PERF_CLOSE' value='5'/>
+        <enumerator name='TRACE_REG_PERF_ADD' value='6'/>
+        <enumerator name='TRACE_REG_PERF_DEL' value='7'/>
+      </enum-decl>
+      <class-decl name='tracepoint' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/tracepoint-defs.h' line='30' column='1' id='type-id-4869'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/tracepoint-defs.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='key' type-id='type-id-4870' visibility='default' filepath='include/linux/tracepoint-defs.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='regfunc' type-id='type-id-4871' visibility='default' filepath='include/linux/tracepoint-defs.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='unregfunc' type-id='type-id-3769' visibility='default' filepath='include/linux/tracepoint-defs.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='funcs' type-id='type-id-4872' visibility='default' filepath='include/linux/tracepoint-defs.h' line='35' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='static_key' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/linux/jump_label.h' line='110' column='1' id='type-id-4870'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='enabled' type-id='type-id-137' visibility='default' filepath='include/linux/jump_label.h' line='111' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='atomic_t' type-id='type-id-4873' filepath='include/linux/types.h' line='178' column='1' id='type-id-137'/>
+      <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-137' visibility='default' filepath='include/linux/types.h' line='176' column='1' id='type-id-4873'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='counter' type-id='type-id-11' visibility='default' filepath='include/linux/types.h' line='177' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='tracepoint_func' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/tracepoint-defs.h' line='24' column='1' id='type-id-4874'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='func' type-id='type-id-3' visibility='default' filepath='include/linux/tracepoint-defs.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='data' type-id='type-id-3' visibility='default' filepath='include/linux/tracepoint-defs.h' line='26' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='prio' type-id='type-id-11' visibility='default' filepath='include/linux/tracepoint-defs.h' line='27' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='trace_event' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/trace_events.h' line='124' column='1' id='type-id-4860'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='node' type-id='type-id-378' visibility='default' filepath='include/linux/trace_events.h' line='125' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/trace_events.h' line='126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='type' type-id='type-id-11' visibility='default' filepath='include/linux/trace_events.h' line='127' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='funcs' type-id='type-id-4875' visibility='default' filepath='include/linux/trace_events.h' line='128' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='hlist_node' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/types.h' line='194' column='1' id='type-id-378'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='next' type-id='type-id-4876' visibility='default' filepath='include/linux/types.h' line='195' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='pprev' type-id='type-id-4877' visibility='default' filepath='include/linux/types.h' line='195' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='trace_event_functions' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/trace_events.h' line='117' column='1' id='type-id-4878'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='trace' type-id='type-id-4879' visibility='default' filepath='include/linux/trace_events.h' line='118' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='raw' type-id='type-id-4879' visibility='default' filepath='include/linux/trace_events.h' line='119' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='hex' type-id='type-id-4879' visibility='default' filepath='include/linux/trace_events.h' line='120' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='binary' type-id='type-id-4879' visibility='default' filepath='include/linux/trace_events.h' line='121' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='trace_print_func' type-id='type-id-4880' filepath='include/linux/trace_events.h' line='114' column='1' id='type-id-4879'/>
+      <enum-decl name='print_line_t' filepath='include/linux/trace_events.h' line='135' column='1' id='type-id-4881'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='TRACE_TYPE_PARTIAL_LINE' value='0'/>
+        <enumerator name='TRACE_TYPE_HANDLED' value='1'/>
+        <enumerator name='TRACE_TYPE_UNHANDLED' value='2'/>
+        <enumerator name='TRACE_TYPE_NO_CONSUME' value='3'/>
+      </enum-decl>
+      <class-decl name='trace_iterator' size-in-bits='67456' is-struct='yes' visibility='default' filepath='include/linux/trace_events.h' line='74' column='1' id='type-id-4882'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='tr' type-id='type-id-4855' visibility='default' filepath='include/linux/trace_events.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='trace' type-id='type-id-4883' visibility='default' filepath='include/linux/trace_events.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='trace_buffer' type-id='type-id-4884' visibility='default' filepath='include/linux/trace_events.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='private' type-id='type-id-3' visibility='default' filepath='include/linux/trace_events.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='cpu_file' type-id='type-id-11' visibility='default' filepath='include/linux/trace_events.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='mutex' type-id='type-id-407' visibility='default' filepath='include/linux/trace_events.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='buffer_iter' type-id='type-id-4885' visibility='default' filepath='include/linux/trace_events.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='iter_flags' type-id='type-id-100' visibility='default' filepath='include/linux/trace_events.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='tmp_seq' type-id='type-id-4886' visibility='default' filepath='include/linux/trace_events.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='33792'>
+          <var-decl name='started' type-id='type-id-371' visibility='default' filepath='include/linux/trace_events.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='33856'>
+          <var-decl name='snapshot' type-id='type-id-211' visibility='default' filepath='include/linux/trace_events.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='33920'>
+          <var-decl name='seq' type-id='type-id-4886' visibility='default' filepath='include/linux/trace_events.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='67008'>
+          <var-decl name='ent' type-id='type-id-4887' visibility='default' filepath='include/linux/trace_events.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='67072'>
+          <var-decl name='lost_events' type-id='type-id-100' visibility='default' filepath='include/linux/trace_events.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='67136'>
+          <var-decl name='leftover' type-id='type-id-11' visibility='default' filepath='include/linux/trace_events.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='67168'>
+          <var-decl name='ent_size' type-id='type-id-11' visibility='default' filepath='include/linux/trace_events.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='67200'>
+          <var-decl name='cpu' type-id='type-id-11' visibility='default' filepath='include/linux/trace_events.h' line='98' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='67264'>
+          <var-decl name='ts' type-id='type-id-134' visibility='default' filepath='include/linux/trace_events.h' line='99' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='67328'>
+          <var-decl name='pos' type-id='type-id-4528' visibility='default' filepath='include/linux/trace_events.h' line='101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='67392'>
+          <var-decl name='idx' type-id='type-id-187' visibility='default' filepath='include/linux/trace_events.h' line='102' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='mutex' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/mutex.h' line='53' column='1' id='type-id-407'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='owner' type-id='type-id-138' visibility='default' filepath='include/linux/mutex.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='wait_lock' type-id='type-id-106' visibility='default' filepath='include/linux/mutex.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='osq' type-id='type-id-4888' visibility='default' filepath='include/linux/mutex.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='wait_list' type-id='type-id-8' visibility='default' filepath='include/linux/mutex.h' line='59' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='atomic_long_t' type-id='type-id-188' filepath='include/asm-generic/atomic-long.h' line='24' column='1' id='type-id-138'/>
+      <typedef-decl name='atomic64_t' type-id='type-id-4889' filepath='include/linux/types.h' line='183' column='1' id='type-id-188'/>
+      <class-decl name='__anonymous_struct__1' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-188' visibility='default' filepath='include/linux/types.h' line='181' column='1' id='type-id-4889'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='counter' type-id='type-id-187' visibility='default' filepath='include/linux/types.h' line='182' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='spinlock_t' type-id='type-id-4496' filepath='include/linux/spinlock_types.h' line='73' column='1' id='type-id-106'/>
+      <class-decl name='spinlock' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/linux/spinlock_types.h' line='61' column='1' id='type-id-4496'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='' type-id='type-id-4890' visibility='default' filepath='include/linux/spinlock_types.h' line='62' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__1' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/linux/spinlock_types.h' line='62' column='1' id='type-id-4890'>
+        <data-member access='private'>
+          <var-decl name='rlock' type-id='type-id-4891' visibility='default' filepath='include/linux/spinlock_types.h' line='63' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='raw_spinlock' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/linux/spinlock_types.h' line='20' column='1' id='type-id-4891'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='raw_lock' type-id='type-id-4892' visibility='default' filepath='include/linux/spinlock_types.h' line='21' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='arch_spinlock_t' type-id='type-id-4893' filepath='include/asm-generic/qspinlock_types.h' line='61' column='1' id='type-id-4892'/>
+      <class-decl name='qspinlock' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/asm-generic/qspinlock_types.h' line='31' column='1' id='type-id-4893'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='' type-id='type-id-4894' visibility='default' filepath='include/asm-generic/qspinlock_types.h' line='32' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__2' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/asm-generic/qspinlock_types.h' line='32' column='1' id='type-id-4894'>
+        <member-type access='private'>
+          <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/asm-generic/qspinlock_types.h' line='45' column='1' id='type-id-4895'>
+            <data-member access='public' layout-offset-in-bits='0'>
+              <var-decl name='locked_pending' type-id='type-id-289' visibility='default' filepath='include/asm-generic/qspinlock_types.h' line='46' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='16'>
+              <var-decl name='tail' type-id='type-id-289' visibility='default' filepath='include/asm-generic/qspinlock_types.h' line='47' column='1'/>
+            </data-member>
+          </class-decl>
+        </member-type>
+        <data-member access='private'>
+          <var-decl name='val' type-id='type-id-137' visibility='default' filepath='include/asm-generic/qspinlock_types.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-3673' visibility='default' filepath='include/asm-generic/qspinlock_types.h' line='41' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__2' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/asm-generic/qspinlock_types.h' line='41' column='1' id='type-id-3673'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='locked' type-id='type-id-53' visibility='default' filepath='include/asm-generic/qspinlock_types.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='pending' type-id='type-id-53' visibility='default' filepath='include/asm-generic/qspinlock_types.h' line='43' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='u8' type-id='type-id-1122' filepath='include/asm-generic/int-ll64.h' line='17' column='1' id='type-id-53'/>
+      <typedef-decl name='__u8' type-id='type-id-271' filepath='include/uapi/asm-generic/int-ll64.h' line='21' column='1' id='type-id-1122'/>
+      <typedef-decl name='u16' type-id='type-id-1107' filepath='include/asm-generic/int-ll64.h' line='19' column='1' id='type-id-289'/>
+      <typedef-decl name='__u16' type-id='type-id-288' filepath='include/uapi/asm-generic/int-ll64.h' line='24' column='1' id='type-id-1107'/>
+      <class-decl name='optimistic_spin_queue' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/linux/osq_lock.h' line='15' column='1' id='type-id-4888'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='tail' type-id='type-id-137' visibility='default' filepath='include/linux/osq_lock.h' line='20' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='trace_seq' size-in-bits='33088' is-struct='yes' visibility='default' filepath='include/linux/trace_seq.h' line='14' column='1' id='type-id-4886'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='buffer' type-id='type-id-4829' visibility='default' filepath='include/linux/trace_seq.h' line='15' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32768'>
+          <var-decl name='seq' type-id='type-id-4896' visibility='default' filepath='include/linux/trace_seq.h' line='16' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='33024'>
+          <var-decl name='full' type-id='type-id-11' visibility='default' filepath='include/linux/trace_seq.h' line='17' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='seq_buf' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/seq_buf.h' line='19' column='1' id='type-id-4896'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='buffer' type-id='type-id-300' visibility='default' filepath='include/linux/seq_buf.h' line='20' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='size' type-id='type-id-125' visibility='default' filepath='include/linux/seq_buf.h' line='21' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='len' type-id='type-id-125' visibility='default' filepath='include/linux/seq_buf.h' line='22' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='readpos' type-id='type-id-4528' visibility='default' filepath='include/linux/seq_buf.h' line='23' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='size_t' type-id='type-id-4897' filepath='include/linux/types.h' line='55' column='1' id='type-id-125'/>
+      <typedef-decl name='__kernel_size_t' type-id='type-id-4898' filepath='include/uapi/asm-generic/posix_types.h' line='72' column='1' id='type-id-4897'/>
+      <typedef-decl name='__kernel_ulong_t' type-id='type-id-100' filepath='include/uapi/asm-generic/posix_types.h' line='16' column='1' id='type-id-4898'/>
+      <typedef-decl name='loff_t' type-id='type-id-4899' filepath='include/linux/types.h' line='46' column='1' id='type-id-4528'/>
+      <typedef-decl name='__kernel_loff_t' type-id='type-id-112' filepath='include/uapi/asm-generic/posix_types.h' line='88' column='1' id='type-id-4899'/>
+      <typedef-decl name='cpumask_var_t' type-id='type-id-4754' filepath='include/linux/cpumask.h' line='722' column='1' id='type-id-371'/>
+      <class-decl name='cpumask' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/cpumask.h' line='16' column='1' id='type-id-4753'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bits' type-id='type-id-930' visibility='default' filepath='include/linux/cpumask.h' line='16' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='bool' type-id='type-id-264' filepath='include/linux/types.h' line='30' column='1' id='type-id-211'/>
+      <class-decl name='trace_entry' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/trace_events.h' line='60' column='1' id='type-id-4900'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-288' visibility='default' filepath='include/linux/trace_events.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='flags' type-id='type-id-271' visibility='default' filepath='include/linux/trace_events.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='preempt_count' type-id='type-id-271' visibility='default' filepath='include/linux/trace_events.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='pid' type-id='type-id-11' visibility='default' filepath='include/linux/trace_events.h' line='64' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='u64' type-id='type-id-1120' filepath='include/asm-generic/int-ll64.h' line='23' column='1' id='type-id-134'/>
+      <typedef-decl name='__u64' type-id='type-id-177' filepath='include/uapi/asm-generic/int-ll64.h' line='31' column='1' id='type-id-1120'/>
+      <class-decl name='hlist_head' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/types.h' line='190' column='1' id='type-id-297'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='first' type-id='type-id-4876' visibility='default' filepath='include/linux/types.h' line='191' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='perf_event' size-in-bits='7808' is-struct='yes' visibility='default' filepath='include/linux/perf_event.h' line='561' column='1' id='type-id-4901'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='event_entry' type-id='type-id-8' visibility='default' filepath='include/linux/perf_event.h' line='568' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='sibling_list' type-id='type-id-8' visibility='default' filepath='include/linux/perf_event.h' line='574' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='active_list' type-id='type-id-8' visibility='default' filepath='include/linux/perf_event.h' line='575' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='group_node' type-id='type-id-1846' visibility='default' filepath='include/linux/perf_event.h' line='579' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='group_index' type-id='type-id-134' visibility='default' filepath='include/linux/perf_event.h' line='580' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='migrate_entry' type-id='type-id-8' visibility='default' filepath='include/linux/perf_event.h' line='586' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='hlist_entry' type-id='type-id-378' visibility='default' filepath='include/linux/perf_event.h' line='588' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='active_entry' type-id='type-id-8' visibility='default' filepath='include/linux/perf_event.h' line='589' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='nr_siblings' type-id='type-id-11' visibility='default' filepath='include/linux/perf_event.h' line='590' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1056'>
+          <var-decl name='event_caps' type-id='type-id-11' visibility='default' filepath='include/linux/perf_event.h' line='593' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='group_caps' type-id='type-id-11' visibility='default' filepath='include/linux/perf_event.h' line='595' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='group_leader' type-id='type-id-174' visibility='default' filepath='include/linux/perf_event.h' line='597' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='pmu' type-id='type-id-4902' visibility='default' filepath='include/linux/perf_event.h' line='598' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='pmu_private' type-id='type-id-3' visibility='default' filepath='include/linux/perf_event.h' line='599' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='state' type-id='type-id-4903' visibility='default' filepath='include/linux/perf_event.h' line='601' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1376'>
+          <var-decl name='attach_state' type-id='type-id-10' visibility='default' filepath='include/linux/perf_event.h' line='602' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='count' type-id='type-id-4904' visibility='default' filepath='include/linux/perf_event.h' line='603' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='child_count' type-id='type-id-188' visibility='default' filepath='include/linux/perf_event.h' line='604' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='total_time_enabled' type-id='type-id-134' visibility='default' filepath='include/linux/perf_event.h' line='612' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='total_time_running' type-id='type-id-134' visibility='default' filepath='include/linux/perf_event.h' line='613' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='tstamp' type-id='type-id-134' visibility='default' filepath='include/linux/perf_event.h' line='614' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='shadow_ctx_time' type-id='type-id-134' visibility='default' filepath='include/linux/perf_event.h' line='624' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='attr' type-id='type-id-172' visibility='default' filepath='include/linux/perf_event.h' line='626' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2688'>
+          <var-decl name='header_size' type-id='type-id-289' visibility='default' filepath='include/linux/perf_event.h' line='627' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2704'>
+          <var-decl name='id_header_size' type-id='type-id-289' visibility='default' filepath='include/linux/perf_event.h' line='628' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2720'>
+          <var-decl name='read_size' type-id='type-id-289' visibility='default' filepath='include/linux/perf_event.h' line='629' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2752'>
+          <var-decl name='hw' type-id='type-id-4905' visibility='default' filepath='include/linux/perf_event.h' line='630' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4288'>
+          <var-decl name='ctx' type-id='type-id-4799' visibility='default' filepath='include/linux/perf_event.h' line='632' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4352'>
+          <var-decl name='refcount' type-id='type-id-138' visibility='default' filepath='include/linux/perf_event.h' line='633' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4416'>
+          <var-decl name='child_total_time_enabled' type-id='type-id-188' visibility='default' filepath='include/linux/perf_event.h' line='639' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4480'>
+          <var-decl name='child_total_time_running' type-id='type-id-188' visibility='default' filepath='include/linux/perf_event.h' line='640' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4544'>
+          <var-decl name='child_mutex' type-id='type-id-407' visibility='default' filepath='include/linux/perf_event.h' line='645' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4800'>
+          <var-decl name='child_list' type-id='type-id-8' visibility='default' filepath='include/linux/perf_event.h' line='646' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4928'>
+          <var-decl name='parent' type-id='type-id-174' visibility='default' filepath='include/linux/perf_event.h' line='647' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4992'>
+          <var-decl name='oncpu' type-id='type-id-11' visibility='default' filepath='include/linux/perf_event.h' line='649' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5024'>
+          <var-decl name='cpu' type-id='type-id-11' visibility='default' filepath='include/linux/perf_event.h' line='650' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5056'>
+          <var-decl name='owner_entry' type-id='type-id-8' visibility='default' filepath='include/linux/perf_event.h' line='652' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5184'>
+          <var-decl name='owner' type-id='type-id-118' visibility='default' filepath='include/linux/perf_event.h' line='653' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5248'>
+          <var-decl name='mmap_mutex' type-id='type-id-407' visibility='default' filepath='include/linux/perf_event.h' line='656' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5504'>
+          <var-decl name='mmap_count' type-id='type-id-137' visibility='default' filepath='include/linux/perf_event.h' line='657' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5568'>
+          <var-decl name='rb' type-id='type-id-4848' visibility='default' filepath='include/linux/perf_event.h' line='659' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5632'>
+          <var-decl name='rb_entry' type-id='type-id-8' visibility='default' filepath='include/linux/perf_event.h' line='660' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5760'>
+          <var-decl name='rcu_batches' type-id='type-id-100' visibility='default' filepath='include/linux/perf_event.h' line='661' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5824'>
+          <var-decl name='rcu_pending' type-id='type-id-11' visibility='default' filepath='include/linux/perf_event.h' line='662' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5888'>
+          <var-decl name='waitq' type-id='type-id-388' visibility='default' filepath='include/linux/perf_event.h' line='665' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6080'>
+          <var-decl name='fasync' type-id='type-id-3920' visibility='default' filepath='include/linux/perf_event.h' line='666' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6144'>
+          <var-decl name='pending_wakeup' type-id='type-id-11' visibility='default' filepath='include/linux/perf_event.h' line='669' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6176'>
+          <var-decl name='pending_kill' type-id='type-id-11' visibility='default' filepath='include/linux/perf_event.h' line='670' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6208'>
+          <var-decl name='pending_disable' type-id='type-id-11' visibility='default' filepath='include/linux/perf_event.h' line='671' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6272'>
+          <var-decl name='pending' type-id='type-id-4906' visibility='default' filepath='include/linux/perf_event.h' line='672' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6464'>
+          <var-decl name='event_limit' type-id='type-id-137' visibility='default' filepath='include/linux/perf_event.h' line='674' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6528'>
+          <var-decl name='addr_filters' type-id='type-id-4907' visibility='default' filepath='include/linux/perf_event.h' line='677' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6720'>
+          <var-decl name='addr_filter_ranges' type-id='type-id-4908' visibility='default' filepath='include/linux/perf_event.h' line='679' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6784'>
+          <var-decl name='addr_filters_gen' type-id='type-id-100' visibility='default' filepath='include/linux/perf_event.h' line='680' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6848'>
+          <var-decl name='destroy' type-id='type-id-4909' visibility='default' filepath='include/linux/perf_event.h' line='682' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6912'>
+          <var-decl name='callback_head' type-id='type-id-157' visibility='default' filepath='include/linux/perf_event.h' line='683' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7040'>
+          <var-decl name='ns' type-id='type-id-4910' visibility='default' filepath='include/linux/perf_event.h' line='685' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7104'>
+          <var-decl name='id' type-id='type-id-134' visibility='default' filepath='include/linux/perf_event.h' line='686' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7168'>
+          <var-decl name='clock' type-id='type-id-4911' visibility='default' filepath='include/linux/perf_event.h' line='688' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7232'>
+          <var-decl name='overflow_handler' type-id='type-id-4912' visibility='default' filepath='include/linux/perf_event.h' line='689' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7296'>
+          <var-decl name='overflow_handler_context' type-id='type-id-3' visibility='default' filepath='include/linux/perf_event.h' line='690' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7360'>
+          <var-decl name='orig_overflow_handler' type-id='type-id-4912' visibility='default' filepath='include/linux/perf_event.h' line='692' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7424'>
+          <var-decl name='prog' type-id='type-id-4913' visibility='default' filepath='include/linux/perf_event.h' line='693' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7488'>
+          <var-decl name='tp_event' type-id='type-id-4853' visibility='default' filepath='include/linux/perf_event.h' line='697' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7552'>
+          <var-decl name='filter' type-id='type-id-4854' visibility='default' filepath='include/linux/perf_event.h' line='698' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7616'>
+          <var-decl name='security' type-id='type-id-3' visibility='default' filepath='include/linux/perf_event.h' line='709' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7680'>
+          <var-decl name='sb_list' type-id='type-id-8' visibility='default' filepath='include/linux/perf_event.h' line='711' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='rb_node' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/rbtree.h' line='36' column='1' id='type-id-1846'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='__rb_parent_color' type-id='type-id-100' visibility='default' filepath='include/linux/rbtree.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='rb_right' type-id='type-id-4914' visibility='default' filepath='include/linux/rbtree.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='rb_left' type-id='type-id-4914' visibility='default' filepath='include/linux/rbtree.h' line='39' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='pmu' size-in-bits='2112' is-struct='yes' visibility='default' filepath='include/linux/perf_event.h' line='252' column='1' id='type-id-4915'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='entry' type-id='type-id-8' visibility='default' filepath='include/linux/perf_event.h' line='253' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='module' type-id='type-id-19' visibility='default' filepath='include/linux/perf_event.h' line='255' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/linux/perf_event.h' line='256' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='attr_groups' type-id='type-id-298' visibility='default' filepath='include/linux/perf_event.h' line='257' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/perf_event.h' line='258' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='type' type-id='type-id-11' visibility='default' filepath='include/linux/perf_event.h' line='259' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='capabilities' type-id='type-id-11' visibility='default' filepath='include/linux/perf_event.h' line='264' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='pmu_disable_count' type-id='type-id-82' visibility='default' filepath='include/linux/perf_event.h' line='266' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='pmu_cpu_context' type-id='type-id-4916' visibility='default' filepath='include/linux/perf_event.h' line='267' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='exclusive_cnt' type-id='type-id-137' visibility='default' filepath='include/linux/perf_event.h' line='268' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='task_ctx_nr' type-id='type-id-11' visibility='default' filepath='include/linux/perf_event.h' line='269' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='hrtimer_interval_ms' type-id='type-id-11' visibility='default' filepath='include/linux/perf_event.h' line='270' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='672'>
+          <var-decl name='nr_addr_filters' type-id='type-id-10' visibility='default' filepath='include/linux/perf_event.h' line='273' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='pmu_enable' type-id='type-id-4917' visibility='default' filepath='include/linux/perf_event.h' line='279' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='pmu_disable' type-id='type-id-4917' visibility='default' filepath='include/linux/perf_event.h' line='280' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='event_init' type-id='type-id-4918' visibility='default' filepath='include/linux/perf_event.h' line='298' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='event_mapped' type-id='type-id-4919' visibility='default' filepath='include/linux/perf_event.h' line='304' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='event_unmapped' type-id='type-id-4919' visibility='default' filepath='include/linux/perf_event.h' line='305' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='add' type-id='type-id-4920' visibility='default' filepath='include/linux/perf_event.h' line='333' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='del' type-id='type-id-4921' visibility='default' filepath='include/linux/perf_event.h' line='334' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='start' type-id='type-id-4921' visibility='default' filepath='include/linux/perf_event.h' line='354' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='stop' type-id='type-id-4921' visibility='default' filepath='include/linux/perf_event.h' line='355' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='read' type-id='type-id-4909' visibility='default' filepath='include/linux/perf_event.h' line='363' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='start_txn' type-id='type-id-4922' visibility='default' filepath='include/linux/perf_event.h' line='375' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='commit_txn' type-id='type-id-4923' visibility='default' filepath='include/linux/perf_event.h' line='384' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='cancel_txn' type-id='type-id-4917' visibility='default' filepath='include/linux/perf_event.h' line='391' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='event_idx' type-id='type-id-4918' visibility='default' filepath='include/linux/perf_event.h' line='397' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='sched_task' type-id='type-id-4924' visibility='default' filepath='include/linux/perf_event.h' line='402' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='task_ctx_size' type-id='type-id-125' visibility='default' filepath='include/linux/perf_event.h' line='407' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='setup_aux' type-id='type-id-4925' visibility='default' filepath='include/linux/perf_event.h' line='413' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='free_aux' type-id='type-id-74' visibility='default' filepath='include/linux/perf_event.h' line='420' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='addr_filters_validate' type-id='type-id-4926' visibility='default' filepath='include/linux/perf_event.h' line='430' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='addr_filters_sync' type-id='type-id-4909' visibility='default' filepath='include/linux/perf_event.h' line='444' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='filter_match' type-id='type-id-4918' visibility='default' filepath='include/linux/perf_event.h' line='450' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='check_period' type-id='type-id-4927' visibility='default' filepath='include/linux/perf_event.h' line='455' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='module' size-in-bits='6656' is-struct='yes' visibility='default' filepath='include/linux/module.h' line='331' column='1' id='type-id-4928'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='state' type-id='type-id-4929' visibility='default' filepath='include/linux/module.h' line='332' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/module.h' line='335' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='name' type-id='type-id-4659' visibility='default' filepath='include/linux/module.h' line='338' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='mkobj' type-id='type-id-4930' visibility='default' filepath='include/linux/module.h' line='341' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='modinfo_attrs' type-id='type-id-4931' visibility='default' filepath='include/linux/module.h' line='342' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='version' type-id='type-id-24' visibility='default' filepath='include/linux/module.h' line='343' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='srcversion' type-id='type-id-24' visibility='default' filepath='include/linux/module.h' line='344' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='holders_dir' type-id='type-id-87' visibility='default' filepath='include/linux/module.h' line='345' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='syms' type-id='type-id-4932' visibility='default' filepath='include/linux/module.h' line='348' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='crcs' type-id='type-id-4933' visibility='default' filepath='include/linux/module.h' line='349' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='num_syms' type-id='type-id-10' visibility='default' filepath='include/linux/module.h' line='350' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='param_lock' type-id='type-id-407' visibility='default' filepath='include/linux/module.h' line='358' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='kp' type-id='type-id-4934' visibility='default' filepath='include/linux/module.h' line='360' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='num_kp' type-id='type-id-10' visibility='default' filepath='include/linux/module.h' line='361' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2208'>
+          <var-decl name='num_gpl_syms' type-id='type-id-10' visibility='default' filepath='include/linux/module.h' line='364' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='gpl_syms' type-id='type-id-4932' visibility='default' filepath='include/linux/module.h' line='365' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='gpl_crcs' type-id='type-id-4933' visibility='default' filepath='include/linux/module.h' line='366' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='sig_ok' type-id='type-id-211' visibility='default' filepath='include/linux/module.h' line='385' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2376'>
+          <var-decl name='async_probe_requested' type-id='type-id-211' visibility='default' filepath='include/linux/module.h' line='387' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='gpl_future_syms' type-id='type-id-4932' visibility='default' filepath='include/linux/module.h' line='390' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='gpl_future_crcs' type-id='type-id-4933' visibility='default' filepath='include/linux/module.h' line='391' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='num_gpl_future_syms' type-id='type-id-10' visibility='default' filepath='include/linux/module.h' line='392' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2592'>
+          <var-decl name='num_exentries' type-id='type-id-10' visibility='default' filepath='include/linux/module.h' line='395' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2624'>
+          <var-decl name='extable' type-id='type-id-4935' visibility='default' filepath='include/linux/module.h' line='396' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2688'>
+          <var-decl name='init' type-id='type-id-4871' visibility='default' filepath='include/linux/module.h' line='399' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3072'>
+          <var-decl name='core_layout' type-id='type-id-4936' visibility='default' filepath='include/linux/module.h' line='402' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3712'>
+          <var-decl name='init_layout' type-id='type-id-4936' visibility='default' filepath='include/linux/module.h' line='403' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4352'>
+          <var-decl name='arch' type-id='type-id-4937' visibility='default' filepath='include/linux/module.h' line='406' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4672'>
+          <var-decl name='taints' type-id='type-id-100' visibility='default' filepath='include/linux/module.h' line='408' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4736'>
+          <var-decl name='num_bugs' type-id='type-id-10' visibility='default' filepath='include/linux/module.h' line='412' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4800'>
+          <var-decl name='bug_list' type-id='type-id-8' visibility='default' filepath='include/linux/module.h' line='413' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4928'>
+          <var-decl name='bug_table' type-id='type-id-4938' visibility='default' filepath='include/linux/module.h' line='414' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4992'>
+          <var-decl name='kallsyms' type-id='type-id-4939' visibility='default' filepath='include/linux/module.h' line='419' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5056'>
+          <var-decl name='core_kallsyms' type-id='type-id-4940' visibility='default' filepath='include/linux/module.h' line='420' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5248'>
+          <var-decl name='sect_attrs' type-id='type-id-4941' visibility='default' filepath='include/linux/module.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5312'>
+          <var-decl name='notes_attrs' type-id='type-id-4942' visibility='default' filepath='include/linux/module.h' line='426' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5376'>
+          <var-decl name='args' type-id='type-id-300' visibility='default' filepath='include/linux/module.h' line='431' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5440'>
+          <var-decl name='percpu' type-id='type-id-3' visibility='default' filepath='include/linux/module.h' line='435' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5504'>
+          <var-decl name='percpu_size' type-id='type-id-10' visibility='default' filepath='include/linux/module.h' line='436' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5536'>
+          <var-decl name='num_tracepoints' type-id='type-id-10' visibility='default' filepath='include/linux/module.h' line='440' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5568'>
+          <var-decl name='tracepoints_ptrs' type-id='type-id-4943' visibility='default' filepath='include/linux/module.h' line='441' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5632'>
+          <var-decl name='num_trace_bprintk_fmt' type-id='type-id-10' visibility='default' filepath='include/linux/module.h' line='448' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5696'>
+          <var-decl name='trace_bprintk_fmt_start' type-id='type-id-184' visibility='default' filepath='include/linux/module.h' line='449' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5760'>
+          <var-decl name='trace_events' type-id='type-id-4944' visibility='default' filepath='include/linux/module.h' line='452' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5824'>
+          <var-decl name='num_trace_events' type-id='type-id-10' visibility='default' filepath='include/linux/module.h' line='453' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5888'>
+          <var-decl name='trace_evals' type-id='type-id-4945' visibility='default' filepath='include/linux/module.h' line='454' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5952'>
+          <var-decl name='num_trace_evals' type-id='type-id-10' visibility='default' filepath='include/linux/module.h' line='455' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6016'>
+          <var-decl name='source_list' type-id='type-id-8' visibility='default' filepath='include/linux/module.h' line='472' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6144'>
+          <var-decl name='target_list' type-id='type-id-8' visibility='default' filepath='include/linux/module.h' line='474' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6272'>
+          <var-decl name='exit' type-id='type-id-3769' visibility='default' filepath='include/linux/module.h' line='477' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6336'>
+          <var-decl name='refcnt' type-id='type-id-137' visibility='default' filepath='include/linux/module.h' line='479' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='module_state' filepath='include/linux/module.h' line='280' column='1' id='type-id-4929'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='MODULE_STATE_LIVE' value='0'/>
+        <enumerator name='MODULE_STATE_COMING' value='1'/>
+        <enumerator name='MODULE_STATE_GOING' value='2'/>
+        <enumerator name='MODULE_STATE_UNFORMED' value='3'/>
+      </enum-decl>
+      <class-decl name='module_kobject' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/linux/module.h' line='45' column='1' id='type-id-4930'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='kobj' type-id='type-id-315' visibility='default' filepath='include/linux/module.h' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='mod' type-id='type-id-19' visibility='default' filepath='include/linux/module.h' line='47' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='drivers_dir' type-id='type-id-87' visibility='default' filepath='include/linux/module.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='mp' type-id='type-id-4946' visibility='default' filepath='include/linux/module.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='kobj_completion' type-id='type-id-176' visibility='default' filepath='include/linux/module.h' line='50' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='kobject' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/kobject.h' line='65' column='1' id='type-id-315'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/kobject.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='entry' type-id='type-id-8' visibility='default' filepath='include/linux/kobject.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='parent' type-id='type-id-87' visibility='default' filepath='include/linux/kobject.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='kset' type-id='type-id-4947' visibility='default' filepath='include/linux/kobject.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='ktype' type-id='type-id-4948' visibility='default' filepath='include/linux/kobject.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='sd' type-id='type-id-3083' visibility='default' filepath='include/linux/kobject.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='kref' type-id='type-id-771' visibility='default' filepath='include/linux/kobject.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='state_initialized' type-id='type-id-10' visibility='default' filepath='include/linux/kobject.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='state_in_sysfs' type-id='type-id-10' visibility='default' filepath='include/linux/kobject.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='29'>
+          <var-decl name='state_add_uevent_sent' type-id='type-id-10' visibility='default' filepath='include/linux/kobject.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='28'>
+          <var-decl name='state_remove_uevent_sent' type-id='type-id-10' visibility='default' filepath='include/linux/kobject.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='27'>
+          <var-decl name='uevent_suppress' type-id='type-id-10' visibility='default' filepath='include/linux/kobject.h' line='80' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='kset' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/linux/kobject.h' line='192' column='1' id='type-id-4949'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/kobject.h' line='193' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='list_lock' type-id='type-id-106' visibility='default' filepath='include/linux/kobject.h' line='194' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='kobj' type-id='type-id-315' visibility='default' filepath='include/linux/kobject.h' line='195' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='uevent_ops' type-id='type-id-4950' visibility='default' filepath='include/linux/kobject.h' line='196' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='kset_uevent_ops' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/kobject.h' line='156' column='1' id='type-id-4951'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='filter' type-id='type-id-4952' visibility='default' filepath='include/linux/kobject.h' line='157' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='name' type-id='type-id-4953' visibility='default' filepath='include/linux/kobject.h' line='158' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='uevent' type-id='type-id-4954' visibility='default' filepath='include/linux/kobject.h' line='159' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='kobj_uevent_env' size-in-bits='18688' is-struct='yes' visibility='default' filepath='include/linux/kobject.h' line='148' column='1' id='type-id-4955'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='argv' type-id='type-id-4651' visibility='default' filepath='include/linux/kobject.h' line='149' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='envp' type-id='type-id-4650' visibility='default' filepath='include/linux/kobject.h' line='150' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='envp_idx' type-id='type-id-11' visibility='default' filepath='include/linux/kobject.h' line='151' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2272'>
+          <var-decl name='buf' type-id='type-id-4652' visibility='default' filepath='include/linux/kobject.h' line='152' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='18656'>
+          <var-decl name='buflen' type-id='type-id-11' visibility='default' filepath='include/linux/kobject.h' line='153' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='kobj_type' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/kobject.h' line='139' column='1' id='type-id-4956'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='release' type-id='type-id-4957' visibility='default' filepath='include/linux/kobject.h' line='140' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='sysfs_ops' type-id='type-id-4958' visibility='default' filepath='include/linux/kobject.h' line='141' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='default_attrs' type-id='type-id-1026' visibility='default' filepath='include/linux/kobject.h' line='142' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='child_ns_type' type-id='type-id-4959' visibility='default' filepath='include/linux/kobject.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='namespace' type-id='type-id-4960' visibility='default' filepath='include/linux/kobject.h' line='144' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='get_ownership' type-id='type-id-4961' visibility='default' filepath='include/linux/kobject.h' line='145' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='sysfs_ops' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/sysfs.h' line='214' column='1' id='type-id-4962'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='show' type-id='type-id-1007' visibility='default' filepath='include/linux/sysfs.h' line='215' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='store' type-id='type-id-1008' visibility='default' filepath='include/linux/sysfs.h' line='216' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='ssize_t' type-id='type-id-4963' filepath='include/linux/types.h' line='60' column='1' id='type-id-543'/>
+      <typedef-decl name='__kernel_ssize_t' type-id='type-id-2575' filepath='include/uapi/asm-generic/posix_types.h' line='73' column='1' id='type-id-4963'/>
+      <typedef-decl name='__kernel_long_t' type-id='type-id-187' filepath='include/uapi/asm-generic/posix_types.h' line='15' column='1' id='type-id-2575'/>
+      <class-decl name='attribute' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/sysfs.h' line='30' column='1' id='type-id-858'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/sysfs.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='mode' type-id='type-id-4427' visibility='default' filepath='include/linux/sysfs.h' line='32' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='umode_t' type-id='type-id-288' filepath='include/linux/types.h' line='19' column='1' id='type-id-4427'/>
+      <class-decl name='kobj_ns_type_operations' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/kobject_ns.h' line='39' column='1' id='type-id-4964'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-4965' visibility='default' filepath='include/linux/kobject_ns.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='current_may_mount' type-id='type-id-4966' visibility='default' filepath='include/linux/kobject_ns.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='grab_current_ns' type-id='type-id-4967' visibility='default' filepath='include/linux/kobject_ns.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='netlink_ns' type-id='type-id-4968' visibility='default' filepath='include/linux/kobject_ns.h' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='initial_ns' type-id='type-id-4967' visibility='default' filepath='include/linux/kobject_ns.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='drop_ns' type-id='type-id-74' visibility='default' filepath='include/linux/kobject_ns.h' line='45' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='kobj_ns_type' filepath='include/linux/kobject_ns.h' line='26' column='1' id='type-id-4965'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='KOBJ_NS_TYPE_NONE' value='0'/>
+        <enumerator name='KOBJ_NS_TYPE_NET' value='1'/>
+        <enumerator name='KOBJ_NS_TYPES' value='2'/>
+      </enum-decl>
+      <typedef-decl name='kuid_t' type-id='type-id-4969' filepath='include/linux/uidgid.h' line='23' column='1' id='type-id-4567'/>
+      <class-decl name='__anonymous_struct__3' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-4567' visibility='default' filepath='include/linux/uidgid.h' line='21' column='1' id='type-id-4969'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='val' type-id='type-id-4970' visibility='default' filepath='include/linux/uidgid.h' line='22' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='uid_t' type-id='type-id-4971' filepath='include/linux/types.h' line='32' column='1' id='type-id-4970'/>
+      <typedef-decl name='__kernel_uid32_t' type-id='type-id-10' filepath='include/uapi/asm-generic/posix_types.h' line='49' column='1' id='type-id-4971'/>
+      <typedef-decl name='kgid_t' type-id='type-id-4972' filepath='include/linux/uidgid.h' line='28' column='1' id='type-id-4568'/>
+      <class-decl name='__anonymous_struct__4' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-4568' visibility='default' filepath='include/linux/uidgid.h' line='26' column='1' id='type-id-4972'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='val' type-id='type-id-4973' visibility='default' filepath='include/linux/uidgid.h' line='27' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='gid_t' type-id='type-id-4974' filepath='include/linux/types.h' line='33' column='1' id='type-id-4973'/>
+      <typedef-decl name='__kernel_gid32_t' type-id='type-id-10' filepath='include/uapi/asm-generic/posix_types.h' line='50' column='1' id='type-id-4974'/>
+      <class-decl name='kernfs_node' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/linux/kernfs.h' line='130' column='1' id='type-id-4975'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='count' type-id='type-id-137' visibility='default' filepath='include/linux/kernfs.h' line='131' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='active' type-id='type-id-137' visibility='default' filepath='include/linux/kernfs.h' line='132' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='parent' type-id='type-id-3083' visibility='default' filepath='include/linux/kernfs.h' line='142' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/kernfs.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='rb' type-id='type-id-1846' visibility='default' filepath='include/linux/kernfs.h' line='145' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='ns' type-id='type-id-3' visibility='default' filepath='include/linux/kernfs.h' line='147' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='hash' type-id='type-id-10' visibility='default' filepath='include/linux/kernfs.h' line='148' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='' type-id='type-id-4976' visibility='default' filepath='include/linux/kernfs.h' line='149' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='priv' type-id='type-id-3' visibility='default' filepath='include/linux/kernfs.h' line='155' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='id' type-id='type-id-4866' visibility='default' filepath='include/linux/kernfs.h' line='157' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='flags' type-id='type-id-288' visibility='default' filepath='include/linux/kernfs.h' line='158' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='912'>
+          <var-decl name='mode' type-id='type-id-4427' visibility='default' filepath='include/linux/kernfs.h' line='159' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='iattr' type-id='type-id-4977' visibility='default' filepath='include/linux/kernfs.h' line='160' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='kernfs_elem_dir' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/kernfs.h' line='83' column='1' id='type-id-4479'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='subdirs' type-id='type-id-100' visibility='default' filepath='include/linux/kernfs.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='children' type-id='type-id-133' visibility='default' filepath='include/linux/kernfs.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='root' type-id='type-id-4978' visibility='default' filepath='include/linux/kernfs.h' line='92' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='rb_root' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/rbtree.h' line='43' column='1' id='type-id-133'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='rb_node' type-id='type-id-4914' visibility='default' filepath='include/linux/rbtree.h' line='44' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='kernfs_root' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/linux/kernfs.h' line='183' column='1' id='type-id-4979'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='kn' type-id='type-id-3083' visibility='default' filepath='include/linux/kernfs.h' line='185' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='include/linux/kernfs.h' line='186' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='ino_idr' type-id='type-id-1161' visibility='default' filepath='include/linux/kernfs.h' line='189' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='last_ino' type-id='type-id-9' visibility='default' filepath='include/linux/kernfs.h' line='190' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='next_generation' type-id='type-id-9' visibility='default' filepath='include/linux/kernfs.h' line='191' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='syscall_ops' type-id='type-id-4980' visibility='default' filepath='include/linux/kernfs.h' line='192' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='supers' type-id='type-id-8' visibility='default' filepath='include/linux/kernfs.h' line='195' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='deactivate_waitq' type-id='type-id-388' visibility='default' filepath='include/linux/kernfs.h' line='197' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='idr' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/idr.h' line='19' column='1' id='type-id-1161'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='idr_rt' type-id='type-id-3181' visibility='default' filepath='include/linux/idr.h' line='20' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='idr_base' type-id='type-id-10' visibility='default' filepath='include/linux/idr.h' line='21' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='idr_next' type-id='type-id-10' visibility='default' filepath='include/linux/idr.h' line='22' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='radix_tree_root' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/radix-tree.h' line='112' column='1' id='type-id-3181'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='xa_lock' type-id='type-id-106' visibility='default' filepath='include/linux/radix-tree.h' line='113' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='gfp_mask' type-id='type-id-272' visibility='default' filepath='include/linux/radix-tree.h' line='114' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='rnode' type-id='type-id-4981' visibility='default' filepath='include/linux/radix-tree.h' line='115' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='gfp_t' type-id='type-id-10' filepath='include/linux/types.h' line='158' column='1' id='type-id-272'/>
+      <class-decl name='radix_tree_node' size-in-bits='4608' is-struct='yes' visibility='default' filepath='include/linux/radix-tree.h' line='92' column='1' id='type-id-4982'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='shift' type-id='type-id-271' visibility='default' filepath='include/linux/radix-tree.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='offset' type-id='type-id-271' visibility='default' filepath='include/linux/radix-tree.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='count' type-id='type-id-271' visibility='default' filepath='include/linux/radix-tree.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='exceptional' type-id='type-id-271' visibility='default' filepath='include/linux/radix-tree.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='parent' type-id='type-id-4981' visibility='default' filepath='include/linux/radix-tree.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='root' type-id='type-id-4983' visibility='default' filepath='include/linux/radix-tree.h' line='98' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='' type-id='type-id-4984' visibility='default' filepath='include/linux/radix-tree.h' line='99' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='slots' type-id='type-id-4839' visibility='default' filepath='include/linux/radix-tree.h' line='103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4416'>
+          <var-decl name='tags' type-id='type-id-4831' visibility='default' filepath='include/linux/radix-tree.h' line='104' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__4' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/radix-tree.h' line='99' column='1' id='type-id-4984'>
+        <data-member access='private'>
+          <var-decl name='private_list' type-id='type-id-8' visibility='default' filepath='include/linux/radix-tree.h' line='100' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='callback_head' type-id='type-id-157' visibility='default' filepath='include/linux/radix-tree.h' line='101' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='rcu_special' size-in-bits='32' visibility='default' filepath='include/linux/sched.h' line='612' column='1' id='type-id-4985'>
+        <data-member access='private'>
+          <var-decl name='b' type-id='type-id-4986' visibility='default' filepath='include/linux/sched.h' line='620' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='s' type-id='type-id-9' visibility='default' filepath='include/linux/sched.h' line='621' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='callback_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/types.h' line='224' column='1' id='type-id-157'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='next' type-id='type-id-4987' visibility='default' filepath='include/linux/types.h' line='225' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='func' type-id='type-id-4988' visibility='default' filepath='include/linux/types.h' line='226' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='kernfs_syscall_ops' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/kernfs.h' line='170' column='1' id='type-id-4989'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='remount_fs' type-id='type-id-4990' visibility='default' filepath='include/linux/kernfs.h' line='171' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='show_options' type-id='type-id-4991' visibility='default' filepath='include/linux/kernfs.h' line='172' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='mkdir' type-id='type-id-4992' visibility='default' filepath='include/linux/kernfs.h' line='174' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='rmdir' type-id='type-id-4993' visibility='default' filepath='include/linux/kernfs.h' line='176' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='rename' type-id='type-id-4994' visibility='default' filepath='include/linux/kernfs.h' line='177' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='show_path' type-id='type-id-4995' visibility='default' filepath='include/linux/kernfs.h' line='179' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='seq_file' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/linux/seq_file.h' line='16' column='1' id='type-id-4996'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='buf' type-id='type-id-300' visibility='default' filepath='include/linux/seq_file.h' line='17' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='size' type-id='type-id-125' visibility='default' filepath='include/linux/seq_file.h' line='18' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='from' type-id='type-id-125' visibility='default' filepath='include/linux/seq_file.h' line='19' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='count' type-id='type-id-125' visibility='default' filepath='include/linux/seq_file.h' line='20' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='pad_until' type-id='type-id-125' visibility='default' filepath='include/linux/seq_file.h' line='21' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='index' type-id='type-id-4528' visibility='default' filepath='include/linux/seq_file.h' line='22' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='read_pos' type-id='type-id-4528' visibility='default' filepath='include/linux/seq_file.h' line='23' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='version' type-id='type-id-134' visibility='default' filepath='include/linux/seq_file.h' line='24' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='lock' type-id='type-id-407' visibility='default' filepath='include/linux/seq_file.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='op' type-id='type-id-4522' visibility='default' filepath='include/linux/seq_file.h' line='26' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='poll_event' type-id='type-id-11' visibility='default' filepath='include/linux/seq_file.h' line='27' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='file' type-id='type-id-4997' visibility='default' filepath='include/linux/seq_file.h' line='28' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='private' type-id='type-id-3' visibility='default' filepath='include/linux/seq_file.h' line='29' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='seq_operations' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/seq_file.h' line='32' column='1' id='type-id-4998'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='start' type-id='type-id-4999' visibility='default' filepath='include/linux/seq_file.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='stop' type-id='type-id-5000' visibility='default' filepath='include/linux/seq_file.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='next' type-id='type-id-5001' visibility='default' filepath='include/linux/seq_file.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='show' type-id='type-id-4523' visibility='default' filepath='include/linux/seq_file.h' line='36' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='file' size-in-bits='2048' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='897' column='1' id='type-id-5002'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='f_u' type-id='type-id-5003' visibility='default' filepath='include/linux/fs.h' line='901' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='f_path' type-id='type-id-5004' visibility='default' filepath='include/linux/fs.h' line='902' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='f_inode' type-id='type-id-1160' visibility='default' filepath='include/linux/fs.h' line='903' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='f_op' type-id='type-id-1209' visibility='default' filepath='include/linux/fs.h' line='904' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='f_lock' type-id='type-id-106' visibility='default' filepath='include/linux/fs.h' line='910' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='f_write_hint' type-id='type-id-5005' visibility='default' filepath='include/linux/fs.h' line='911' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='f_count' type-id='type-id-138' visibility='default' filepath='include/linux/fs.h' line='912' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='f_flags' type-id='type-id-10' visibility='default' filepath='include/linux/fs.h' line='913' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='f_mode' type-id='type-id-2147' visibility='default' filepath='include/linux/fs.h' line='914' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='f_pos_lock' type-id='type-id-407' visibility='default' filepath='include/linux/fs.h' line='915' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='f_pos' type-id='type-id-4528' visibility='default' filepath='include/linux/fs.h' line='916' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='f_owner' type-id='type-id-5006' visibility='default' filepath='include/linux/fs.h' line='917' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='f_cred' type-id='type-id-4498' visibility='default' filepath='include/linux/fs.h' line='918' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='f_ra' type-id='type-id-5007' visibility='default' filepath='include/linux/fs.h' line='919' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='f_version' type-id='type-id-134' visibility='default' filepath='include/linux/fs.h' line='921' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='f_security' type-id='type-id-3' visibility='default' filepath='include/linux/fs.h' line='923' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='private_data' type-id='type-id-3' visibility='default' filepath='include/linux/fs.h' line='926' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='f_ep_links' type-id='type-id-8' visibility='default' filepath='include/linux/fs.h' line='930' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='f_tfile_llink' type-id='type-id-8' visibility='default' filepath='include/linux/fs.h' line='931' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='f_mapping' type-id='type-id-5008' visibility='default' filepath='include/linux/fs.h' line='933' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='f_wb_err' type-id='type-id-5009' visibility='default' filepath='include/linux/fs.h' line='934' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='llist_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/llist.h' line='70' column='1' id='type-id-1327'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='next' type-id='type-id-5010' visibility='default' filepath='include/linux/llist.h' line='71' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='path' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/path.h' line='8' column='1' id='type-id-5004'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mnt' type-id='type-id-5011' visibility='default' filepath='include/linux/path.h' line='9' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dentry' type-id='type-id-836' visibility='default' filepath='include/linux/path.h' line='10' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='dentry' size-in-bits='1536' is-struct='yes' visibility='default' filepath='include/linux/dcache.h' line='88' column='1' id='type-id-5012'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='d_flags' type-id='type-id-10' visibility='default' filepath='include/linux/dcache.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='d_seq' type-id='type-id-1865' visibility='default' filepath='include/linux/dcache.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='d_hash' type-id='type-id-5013' visibility='default' filepath='include/linux/dcache.h' line='92' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='d_parent' type-id='type-id-836' visibility='default' filepath='include/linux/dcache.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='d_name' type-id='type-id-5014' visibility='default' filepath='include/linux/dcache.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='d_inode' type-id='type-id-1160' visibility='default' filepath='include/linux/dcache.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='d_iname' type-id='type-id-4828' visibility='default' filepath='include/linux/dcache.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='d_lockref' type-id='type-id-5015' visibility='default' filepath='include/linux/dcache.h' line='100' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='d_op' type-id='type-id-5016' visibility='default' filepath='include/linux/dcache.h' line='101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='d_sb' type-id='type-id-2155' visibility='default' filepath='include/linux/dcache.h' line='102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='d_time' type-id='type-id-100' visibility='default' filepath='include/linux/dcache.h' line='103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='d_fsdata' type-id='type-id-3' visibility='default' filepath='include/linux/dcache.h' line='104' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='' type-id='type-id-5017' visibility='default' filepath='include/linux/dcache.h' line='106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='d_child' type-id='type-id-8' visibility='default' filepath='include/linux/dcache.h' line='110' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='d_subdirs' type-id='type-id-8' visibility='default' filepath='include/linux/dcache.h' line='111' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='d_u' type-id='type-id-5018' visibility='default' filepath='include/linux/dcache.h' line='119' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='seqcount_t' type-id='type-id-5019' filepath='include/linux/seqlock.h' line='53' column='1' id='type-id-1865'/>
+      <class-decl name='seqcount' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/linux/seqlock.h' line='48' column='1' id='type-id-5019'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='sequence' type-id='type-id-10' visibility='default' filepath='include/linux/seqlock.h' line='49' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='hlist_bl_node' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/list_bl.h' line='38' column='1' id='type-id-5013'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='next' type-id='type-id-5020' visibility='default' filepath='include/linux/list_bl.h' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='pprev' type-id='type-id-5021' visibility='default' filepath='include/linux/list_bl.h' line='39' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='qstr' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/dcache.h' line='47' column='1' id='type-id-5014'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='' type-id='type-id-5022' visibility='default' filepath='include/linux/dcache.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='name' type-id='type-id-984' visibility='default' filepath='include/linux/dcache.h' line='54' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__6' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/dcache.h' line='48' column='1' id='type-id-5022'>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-5023' visibility='default' filepath='include/linux/dcache.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='hash_len' type-id='type-id-134' visibility='default' filepath='include/linux/dcache.h' line='52' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__5' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/dcache.h' line='49' column='1' id='type-id-5023'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='hash' type-id='type-id-9' visibility='default' filepath='include/linux/dcache.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='len' type-id='type-id-9' visibility='default' filepath='include/linux/dcache.h' line='50' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='inode' size-in-bits='4800' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='595' column='1' id='type-id-5024'>
+
+          <member-type access='public'>
+            <union-decl name='__anonymous_union__' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/fs.h' line='663' column='1' id='type-id-5025'>
+              <data-member access='private'>
+                <var-decl name='i_dentry' type-id='type-id-297' visibility='default' filepath='include/linux/fs.h' line='664' column='1'/>
+              </data-member>
+              <data-member access='private'>
+                <var-decl name='i_rcu' type-id='type-id-157' visibility='default' filepath='include/linux/fs.h' line='665' column='1'/>
+              </data-member>
+            </union-decl>
+          </member-type>
+
+          <member-type access='public'>
+            <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/fs.h' line='678' column='1' id='type-id-5026'>
+              <data-member access='private'>
+                <var-decl name='i_pipe' type-id='type-id-2208' visibility='default' filepath='include/linux/fs.h' line='679' column='1'/>
+              </data-member>
+              <data-member access='private'>
+                <var-decl name='i_bdev' type-id='type-id-2158' visibility='default' filepath='include/linux/fs.h' line='680' column='1'/>
+              </data-member>
+              <data-member access='private'>
+                <var-decl name='i_cdev' type-id='type-id-2346' visibility='default' filepath='include/linux/fs.h' line='681' column='1'/>
+              </data-member>
+              <data-member access='private'>
+                <var-decl name='i_link' type-id='type-id-300' visibility='default' filepath='include/linux/fs.h' line='682' column='1'/>
+              </data-member>
+              <data-member access='private'>
+                <var-decl name='i_dir_seq' type-id='type-id-10' visibility='default' filepath='include/linux/fs.h' line='683' column='1'/>
+              </data-member>
+            </union-decl>
+          </member-type>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='i_mode' type-id='type-id-4427' visibility='default' filepath='include/linux/fs.h' line='596' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='i_opflags' type-id='type-id-288' visibility='default' filepath='include/linux/fs.h' line='597' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='i_uid' type-id='type-id-4567' visibility='default' filepath='include/linux/fs.h' line='598' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='i_gid' type-id='type-id-4568' visibility='default' filepath='include/linux/fs.h' line='599' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='i_flags' type-id='type-id-10' visibility='default' filepath='include/linux/fs.h' line='600' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='i_acl' type-id='type-id-5027' visibility='default' filepath='include/linux/fs.h' line='603' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='i_default_acl' type-id='type-id-5027' visibility='default' filepath='include/linux/fs.h' line='604' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='i_op' type-id='type-id-5028' visibility='default' filepath='include/linux/fs.h' line='607' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='i_sb' type-id='type-id-2155' visibility='default' filepath='include/linux/fs.h' line='608' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='i_mapping' type-id='type-id-5008' visibility='default' filepath='include/linux/fs.h' line='609' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='i_security' type-id='type-id-3' visibility='default' filepath='include/linux/fs.h' line='612' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='i_ino' type-id='type-id-100' visibility='default' filepath='include/linux/fs.h' line='616' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='' type-id='type-id-5029' visibility='default' filepath='include/linux/fs.h' line='624' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='i_rdev' type-id='type-id-4404' visibility='default' filepath='include/linux/fs.h' line='628' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='i_size' type-id='type-id-4528' visibility='default' filepath='include/linux/fs.h' line='629' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='i_atime' type-id='type-id-5030' visibility='default' filepath='include/linux/fs.h' line='630' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='i_mtime' type-id='type-id-5030' visibility='default' filepath='include/linux/fs.h' line='631' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='i_ctime' type-id='type-id-5030' visibility='default' filepath='include/linux/fs.h' line='632' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='i_lock' type-id='type-id-106' visibility='default' filepath='include/linux/fs.h' line='633' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1120'>
+          <var-decl name='i_bytes' type-id='type-id-288' visibility='default' filepath='include/linux/fs.h' line='634' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1136'>
+          <var-decl name='i_blkbits' type-id='type-id-53' visibility='default' filepath='include/linux/fs.h' line='635' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1144'>
+          <var-decl name='i_write_hint' type-id='type-id-53' visibility='default' filepath='include/linux/fs.h' line='636' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='i_blocks' type-id='type-id-5031' visibility='default' filepath='include/linux/fs.h' line='637' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='i_state' type-id='type-id-100' visibility='default' filepath='include/linux/fs.h' line='644' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='i_rwsem' type-id='type-id-139' visibility='default' filepath='include/linux/fs.h' line='645' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='dirtied_when' type-id='type-id-100' visibility='default' filepath='include/linux/fs.h' line='647' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='dirtied_time_when' type-id='type-id-100' visibility='default' filepath='include/linux/fs.h' line='648' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='i_hash' type-id='type-id-378' visibility='default' filepath='include/linux/fs.h' line='650' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='i_io_list' type-id='type-id-8' visibility='default' filepath='include/linux/fs.h' line='651' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='i_wb' type-id='type-id-5032' visibility='default' filepath='include/linux/fs.h' line='653' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='i_wb_frn_winner' type-id='type-id-11' visibility='default' filepath='include/linux/fs.h' line='656' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2080'>
+          <var-decl name='i_wb_frn_avg_time' type-id='type-id-289' visibility='default' filepath='include/linux/fs.h' line='657' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2096'>
+          <var-decl name='i_wb_frn_history' type-id='type-id-289' visibility='default' filepath='include/linux/fs.h' line='658' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='i_lru' type-id='type-id-8' visibility='default' filepath='include/linux/fs.h' line='660' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='i_sb_list' type-id='type-id-8' visibility='default' filepath='include/linux/fs.h' line='661' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='i_wb_list' type-id='type-id-8' visibility='default' filepath='include/linux/fs.h' line='662' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2624'>
+          <var-decl name='i_version' type-id='type-id-188' visibility='default' filepath='include/linux/fs.h' line='667' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2688'>
+          <var-decl name='i_count' type-id='type-id-137' visibility='default' filepath='include/linux/fs.h' line='668' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2720'>
+          <var-decl name='i_dio_count' type-id='type-id-137' visibility='default' filepath='include/linux/fs.h' line='669' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2752'>
+          <var-decl name='i_writecount' type-id='type-id-137' visibility='default' filepath='include/linux/fs.h' line='670' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2816'>
+          <var-decl name='i_fop' type-id='type-id-1209' visibility='default' filepath='include/linux/fs.h' line='674' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2880'>
+          <var-decl name='i_flctx' type-id='type-id-5033' visibility='default' filepath='include/linux/fs.h' line='675' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2944'>
+          <var-decl name='i_data' type-id='type-id-5034' visibility='default' filepath='include/linux/fs.h' line='676' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4288'>
+          <var-decl name='i_devices' type-id='type-id-8' visibility='default' filepath='include/linux/fs.h' line='677' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4480'>
+          <var-decl name='i_generation' type-id='type-id-266' visibility='default' filepath='include/linux/fs.h' line='686' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4512'>
+          <var-decl name='i_fsnotify_mask' type-id='type-id-266' visibility='default' filepath='include/linux/fs.h' line='689' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4544'>
+          <var-decl name='i_fsnotify_marks' type-id='type-id-4491' visibility='default' filepath='include/linux/fs.h' line='690' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4608'>
+          <var-decl name='i_crypt_info' type-id='type-id-5035' visibility='default' filepath='include/linux/fs.h' line='694' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4672'>
+          <var-decl name='i_verity_info' type-id='type-id-5036' visibility='default' filepath='include/linux/fs.h' line='698' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4736'>
+          <var-decl name='i_private' type-id='type-id-3' visibility='default' filepath='include/linux/fs.h' line='701' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='inode_operations' size-in-bits='1536' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='1812' column='1' id='type-id-5037'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lookup' type-id='type-id-5038' visibility='default' filepath='include/linux/fs.h' line='1813' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='get_link' type-id='type-id-5039' visibility='default' filepath='include/linux/fs.h' line='1814' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='permission' type-id='type-id-5040' visibility='default' filepath='include/linux/fs.h' line='1815' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='permission2' type-id='type-id-5041' visibility='default' filepath='include/linux/fs.h' line='1816' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='get_acl' type-id='type-id-5042' visibility='default' filepath='include/linux/fs.h' line='1817' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='readlink' type-id='type-id-5043' visibility='default' filepath='include/linux/fs.h' line='1819' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='create' type-id='type-id-5044' visibility='default' filepath='include/linux/fs.h' line='1821' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='link' type-id='type-id-5045' visibility='default' filepath='include/linux/fs.h' line='1822' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='unlink' type-id='type-id-5046' visibility='default' filepath='include/linux/fs.h' line='1823' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='symlink' type-id='type-id-5047' visibility='default' filepath='include/linux/fs.h' line='1824' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='mkdir' type-id='type-id-5048' visibility='default' filepath='include/linux/fs.h' line='1825' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='rmdir' type-id='type-id-5046' visibility='default' filepath='include/linux/fs.h' line='1826' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='mknod' type-id='type-id-5049' visibility='default' filepath='include/linux/fs.h' line='1827' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='rename' type-id='type-id-5050' visibility='default' filepath='include/linux/fs.h' line='1828' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='setattr' type-id='type-id-5051' visibility='default' filepath='include/linux/fs.h' line='1830' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='setattr2' type-id='type-id-5052' visibility='default' filepath='include/linux/fs.h' line='1831' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='getattr' type-id='type-id-5053' visibility='default' filepath='include/linux/fs.h' line='1832' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='listxattr' type-id='type-id-5054' visibility='default' filepath='include/linux/fs.h' line='1833' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='fiemap' type-id='type-id-5055' visibility='default' filepath='include/linux/fs.h' line='1834' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='update_time' type-id='type-id-5056' visibility='default' filepath='include/linux/fs.h' line='1836' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='atomic_open' type-id='type-id-5057' visibility='default' filepath='include/linux/fs.h' line='1837' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='tmpfile' type-id='type-id-5048' visibility='default' filepath='include/linux/fs.h' line='1840' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='set_acl' type-id='type-id-5058' visibility='default' filepath='include/linux/fs.h' line='1841' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='delayed_call' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/delayed_call.h' line='10' column='1' id='type-id-5059'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='fn' type-id='type-id-74' visibility='default' filepath='include/linux/delayed_call.h' line='11' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='arg' type-id='type-id-3' visibility='default' filepath='include/linux/delayed_call.h' line='12' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='key_payload' size-in-bits='256' visibility='default' filepath='include/linux/key.h' line='94' column='1' id='type-id-5060'>
+        <data-member access='private'>
+          <var-decl name='rcu_data0' type-id='type-id-3' visibility='default' filepath='include/linux/key.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='data' type-id='type-id-4838' visibility='default' filepath='include/linux/key.h' line='96' column='1'/>
+        </data-member>
+      </union-decl>
+      <typedef-decl name='dev_t' type-id='type-id-5061' filepath='include/linux/types.h' line='16' column='1' id='type-id-4404'/>
+      <typedef-decl name='__kernel_dev_t' type-id='type-id-9' filepath='include/linux/types.h' line='13' column='1' id='type-id-5061'/>
+      <class-decl name='iattr' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='216' column='1' id='type-id-5062'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ia_valid' type-id='type-id-10' visibility='default' filepath='include/linux/fs.h' line='217' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='ia_mode' type-id='type-id-4427' visibility='default' filepath='include/linux/fs.h' line='218' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ia_uid' type-id='type-id-4567' visibility='default' filepath='include/linux/fs.h' line='219' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='ia_gid' type-id='type-id-4568' visibility='default' filepath='include/linux/fs.h' line='220' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='ia_size' type-id='type-id-4528' visibility='default' filepath='include/linux/fs.h' line='221' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='ia_atime' type-id='type-id-5030' visibility='default' filepath='include/linux/fs.h' line='222' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='ia_mtime' type-id='type-id-5030' visibility='default' filepath='include/linux/fs.h' line='223' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='ia_ctime' type-id='type-id-5030' visibility='default' filepath='include/linux/fs.h' line='224' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='ia_file' type-id='type-id-147' visibility='default' filepath='include/linux/fs.h' line='231' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='timespec64' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/time64.h' line='20' column='1' id='type-id-5030'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='tv_sec' type-id='type-id-3459' visibility='default' filepath='include/linux/time64.h' line='21' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='tv_nsec' type-id='type-id-187' visibility='default' filepath='include/linux/time64.h' line='22' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='time64_t' type-id='type-id-1388' filepath='include/linux/time64.h' line='7' column='1' id='type-id-3459'/>
+      <typedef-decl name='__s64' type-id='type-id-112' filepath='include/uapi/asm-generic/int-ll64.h' line='30' column='1' id='type-id-1388'/>
+      <class-decl name='kstat' size-in-bits='1088' is-struct='yes' visibility='default' filepath='include/linux/stat.h' line='24' column='1' id='type-id-5063'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='result_mask' type-id='type-id-9' visibility='default' filepath='include/linux/stat.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='mode' type-id='type-id-4427' visibility='default' filepath='include/linux/stat.h' line='26' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='nlink' type-id='type-id-10' visibility='default' filepath='include/linux/stat.h' line='27' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='blksize' type-id='type-id-193' visibility='default' filepath='include/linux/stat.h' line='28' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='attributes' type-id='type-id-134' visibility='default' filepath='include/linux/stat.h' line='29' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='attributes_mask' type-id='type-id-134' visibility='default' filepath='include/linux/stat.h' line='30' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='ino' type-id='type-id-134' visibility='default' filepath='include/linux/stat.h' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='dev' type-id='type-id-4404' visibility='default' filepath='include/linux/stat.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='rdev' type-id='type-id-4404' visibility='default' filepath='include/linux/stat.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='uid' type-id='type-id-4567' visibility='default' filepath='include/linux/stat.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='gid' type-id='type-id-4568' visibility='default' filepath='include/linux/stat.h' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='size' type-id='type-id-4528' visibility='default' filepath='include/linux/stat.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='atime' type-id='type-id-5030' visibility='default' filepath='include/linux/stat.h' line='45' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='mtime' type-id='type-id-5030' visibility='default' filepath='include/linux/stat.h' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='ctime' type-id='type-id-5030' visibility='default' filepath='include/linux/stat.h' line='47' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='btime' type-id='type-id-5030' visibility='default' filepath='include/linux/stat.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='blocks' type-id='type-id-134' visibility='default' filepath='include/linux/stat.h' line='49' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='uint32_t' type-id='type-id-9' filepath='include/linux/types.h' line='109' column='1' id='type-id-193'/>
+      <class-decl name='fiemap_extent_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='1698' column='1' id='type-id-5064'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='fi_flags' type-id='type-id-10' visibility='default' filepath='include/linux/fs.h' line='1699' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='fi_extents_mapped' type-id='type-id-10' visibility='default' filepath='include/linux/fs.h' line='1700' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='fi_extents_max' type-id='type-id-10' visibility='default' filepath='include/linux/fs.h' line='1701' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='fi_extents_start' type-id='type-id-5065' visibility='default' filepath='include/linux/fs.h' line='1702' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='fiemap_extent' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/uapi/linux/fiemap.h' line='17' column='1' id='type-id-5066'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='fe_logical' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/fiemap.h' line='18' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='fe_physical' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/fiemap.h' line='20' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='fe_length' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/fiemap.h' line='22' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='fe_reserved64' type-id='type-id-4624' visibility='default' filepath='include/uapi/linux/fiemap.h' line='23' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='fe_flags' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fiemap.h' line='24' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='fe_reserved' type-id='type-id-2411' visibility='default' filepath='include/uapi/linux/fiemap.h' line='25' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='super_block' size-in-bits='12288' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='1381' column='1' id='type-id-5067'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='s_list' type-id='type-id-8' visibility='default' filepath='include/linux/fs.h' line='1382' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='s_dev' type-id='type-id-4404' visibility='default' filepath='include/linux/fs.h' line='1383' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='s_blocksize_bits' type-id='type-id-271' visibility='default' filepath='include/linux/fs.h' line='1384' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='s_blocksize' type-id='type-id-100' visibility='default' filepath='include/linux/fs.h' line='1385' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='s_maxbytes' type-id='type-id-4528' visibility='default' filepath='include/linux/fs.h' line='1386' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='s_type' type-id='type-id-4488' visibility='default' filepath='include/linux/fs.h' line='1387' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='s_op' type-id='type-id-5068' visibility='default' filepath='include/linux/fs.h' line='1388' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='dq_op' type-id='type-id-5069' visibility='default' filepath='include/linux/fs.h' line='1389' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='s_qcop' type-id='type-id-5070' visibility='default' filepath='include/linux/fs.h' line='1390' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='s_export_op' type-id='type-id-5071' visibility='default' filepath='include/linux/fs.h' line='1391' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='s_flags' type-id='type-id-100' visibility='default' filepath='include/linux/fs.h' line='1392' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='s_iflags' type-id='type-id-100' visibility='default' filepath='include/linux/fs.h' line='1393' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='s_magic' type-id='type-id-100' visibility='default' filepath='include/linux/fs.h' line='1394' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='s_root' type-id='type-id-836' visibility='default' filepath='include/linux/fs.h' line='1395' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='s_umount' type-id='type-id-139' visibility='default' filepath='include/linux/fs.h' line='1396' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='s_count' type-id='type-id-11' visibility='default' filepath='include/linux/fs.h' line='1397' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1248'>
+          <var-decl name='s_active' type-id='type-id-137' visibility='default' filepath='include/linux/fs.h' line='1398' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='s_security' type-id='type-id-3' visibility='default' filepath='include/linux/fs.h' line='1400' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='s_xattr' type-id='type-id-5072' visibility='default' filepath='include/linux/fs.h' line='1402' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='s_cop' type-id='type-id-5073' visibility='default' filepath='include/linux/fs.h' line='1404' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='s_master_keys' type-id='type-id-5074' visibility='default' filepath='include/linux/fs.h' line='1405' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='s_vop' type-id='type-id-5075' visibility='default' filepath='include/linux/fs.h' line='1408' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='s_encoding' type-id='type-id-5076' visibility='default' filepath='include/linux/fs.h' line='1411' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='s_encoding_flags' type-id='type-id-1107' visibility='default' filepath='include/linux/fs.h' line='1412' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='s_roots' type-id='type-id-5077' visibility='default' filepath='include/linux/fs.h' line='1414' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='s_mounts' type-id='type-id-8' visibility='default' filepath='include/linux/fs.h' line='1415' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='s_bdev' type-id='type-id-2158' visibility='default' filepath='include/linux/fs.h' line='1416' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='s_bdi' type-id='type-id-5078' visibility='default' filepath='include/linux/fs.h' line='1417' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='s_mtd' type-id='type-id-5079' visibility='default' filepath='include/linux/fs.h' line='1418' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='s_instances' type-id='type-id-378' visibility='default' filepath='include/linux/fs.h' line='1419' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='s_quota_types' type-id='type-id-10' visibility='default' filepath='include/linux/fs.h' line='1420' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='s_dquot' type-id='type-id-5080' visibility='default' filepath='include/linux/fs.h' line='1421' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4800'>
+          <var-decl name='s_writers' type-id='type-id-5081' visibility='default' filepath='include/linux/fs.h' line='1423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8128'>
+          <var-decl name='s_id' type-id='type-id-650' visibility='default' filepath='include/linux/fs.h' line='1425' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8384'>
+          <var-decl name='s_uuid' type-id='type-id-5082' visibility='default' filepath='include/linux/fs.h' line='1426' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8512'>
+          <var-decl name='s_fs_info' type-id='type-id-3' visibility='default' filepath='include/linux/fs.h' line='1428' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8576'>
+          <var-decl name='s_max_links' type-id='type-id-10' visibility='default' filepath='include/linux/fs.h' line='1429' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8608'>
+          <var-decl name='s_mode' type-id='type-id-2147' visibility='default' filepath='include/linux/fs.h' line='1430' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8640'>
+          <var-decl name='s_time_gran' type-id='type-id-9' visibility='default' filepath='include/linux/fs.h' line='1434' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8704'>
+          <var-decl name='s_vfs_rename_mutex' type-id='type-id-407' visibility='default' filepath='include/linux/fs.h' line='1440' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8960'>
+          <var-decl name='s_subtype' type-id='type-id-300' visibility='default' filepath='include/linux/fs.h' line='1446' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9024'>
+          <var-decl name='s_d_op' type-id='type-id-5016' visibility='default' filepath='include/linux/fs.h' line='1448' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9088'>
+          <var-decl name='cleancache_poolid' type-id='type-id-11' visibility='default' filepath='include/linux/fs.h' line='1453' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9152'>
+          <var-decl name='s_shrink' type-id='type-id-5083' visibility='default' filepath='include/linux/fs.h' line='1455' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9664'>
+          <var-decl name='s_remove_count' type-id='type-id-138' visibility='default' filepath='include/linux/fs.h' line='1458' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9728'>
+          <var-decl name='s_fsnotify_inode_refs' type-id='type-id-138' visibility='default' filepath='include/linux/fs.h' line='1461' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9792'>
+          <var-decl name='s_readonly_remount' type-id='type-id-11' visibility='default' filepath='include/linux/fs.h' line='1464' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9856'>
+          <var-decl name='s_dio_done_wq' type-id='type-id-2154' visibility='default' filepath='include/linux/fs.h' line='1467' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9920'>
+          <var-decl name='s_pins' type-id='type-id-297' visibility='default' filepath='include/linux/fs.h' line='1468' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9984'>
+          <var-decl name='s_user_ns' type-id='type-id-4564' visibility='default' filepath='include/linux/fs.h' line='1475' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10240'>
+          <var-decl name='s_dentry_lru' type-id='type-id-5084' visibility='default' filepath='include/linux/fs.h' line='1481' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10752'>
+          <var-decl name='s_inode_lru' type-id='type-id-5084' visibility='default' filepath='include/linux/fs.h' line='1482' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11008'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/linux/fs.h' line='1483' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11136'>
+          <var-decl name='destroy_work' type-id='type-id-149' visibility='default' filepath='include/linux/fs.h' line='1484' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11392'>
+          <var-decl name='s_sync_lock' type-id='type-id-407' visibility='default' filepath='include/linux/fs.h' line='1486' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11648'>
+          <var-decl name='s_stack_depth' type-id='type-id-11' visibility='default' filepath='include/linux/fs.h' line='1491' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11776'>
+          <var-decl name='s_inode_list_lock' type-id='type-id-106' visibility='default' filepath='include/linux/fs.h' line='1494' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11840'>
+          <var-decl name='s_inodes' type-id='type-id-8' visibility='default' filepath='include/linux/fs.h' line='1495' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11968'>
+          <var-decl name='s_inode_wblist_lock' type-id='type-id-106' visibility='default' filepath='include/linux/fs.h' line='1497' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12032'>
+          <var-decl name='s_inodes_wb' type-id='type-id-8' visibility='default' filepath='include/linux/fs.h' line='1498' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='file_system_type' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='2166' column='1' id='type-id-5085'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/fs.h' line='2167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='fs_flags' type-id='type-id-11' visibility='default' filepath='include/linux/fs.h' line='2168' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='mount' type-id='type-id-5086' visibility='default' filepath='include/linux/fs.h' line='2174' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='mount2' type-id='type-id-5087' visibility='default' filepath='include/linux/fs.h' line='2176' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='alloc_mnt_data' type-id='type-id-4967' visibility='default' filepath='include/linux/fs.h' line='2178' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='kill_sb' type-id='type-id-5088' visibility='default' filepath='include/linux/fs.h' line='2179' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/linux/fs.h' line='2180' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='next' type-id='type-id-4488' visibility='default' filepath='include/linux/fs.h' line='2181' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='fs_supers' type-id='type-id-297' visibility='default' filepath='include/linux/fs.h' line='2182' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='s_lock_key' type-id='type-id-4780' visibility='default' filepath='include/linux/fs.h' line='2184' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='s_umount_key' type-id='type-id-4780' visibility='default' filepath='include/linux/fs.h' line='2185' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='s_vfs_rename_key' type-id='type-id-4780' visibility='default' filepath='include/linux/fs.h' line='2186' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='s_writers_key' type-id='type-id-4781' visibility='default' filepath='include/linux/fs.h' line='2187' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='i_lock_key' type-id='type-id-4780' visibility='default' filepath='include/linux/fs.h' line='2189' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='i_mutex_key' type-id='type-id-4780' visibility='default' filepath='include/linux/fs.h' line='2190' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='i_mutex_dir_key' type-id='type-id-4780' visibility='default' filepath='include/linux/fs.h' line='2191' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='lock_class_key' is-struct='yes' visibility='default' filepath='include/linux/lockdep.h' line='433' column='1' id='type-id-4780'/>
+      <class-decl name='super_operations' size-in-bits='1856' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='1890' column='1' id='type-id-5089'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='alloc_inode' type-id='type-id-5090' visibility='default' filepath='include/linux/fs.h' line='1891' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='destroy_inode' type-id='type-id-5091' visibility='default' filepath='include/linux/fs.h' line='1892' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='dirty_inode' type-id='type-id-5092' visibility='default' filepath='include/linux/fs.h' line='1894' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='write_inode' type-id='type-id-5093' visibility='default' filepath='include/linux/fs.h' line='1895' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='drop_inode' type-id='type-id-5094' visibility='default' filepath='include/linux/fs.h' line='1896' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='evict_inode' type-id='type-id-5091' visibility='default' filepath='include/linux/fs.h' line='1897' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='put_super' type-id='type-id-5088' visibility='default' filepath='include/linux/fs.h' line='1898' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='sync_fs' type-id='type-id-5095' visibility='default' filepath='include/linux/fs.h' line='1899' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='freeze_super' type-id='type-id-5096' visibility='default' filepath='include/linux/fs.h' line='1900' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='freeze_fs' type-id='type-id-5096' visibility='default' filepath='include/linux/fs.h' line='1901' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='thaw_super' type-id='type-id-5096' visibility='default' filepath='include/linux/fs.h' line='1902' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='unfreeze_fs' type-id='type-id-5096' visibility='default' filepath='include/linux/fs.h' line='1903' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='statfs' type-id='type-id-5097' visibility='default' filepath='include/linux/fs.h' line='1904' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='remount_fs' type-id='type-id-5098' visibility='default' filepath='include/linux/fs.h' line='1905' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='remount_fs2' type-id='type-id-5099' visibility='default' filepath='include/linux/fs.h' line='1906' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='clone_mnt_data' type-id='type-id-2896' visibility='default' filepath='include/linux/fs.h' line='1907' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='copy_mnt_data' type-id='type-id-5100' visibility='default' filepath='include/linux/fs.h' line='1908' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='umount_begin' type-id='type-id-5088' visibility='default' filepath='include/linux/fs.h' line='1909' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='show_options' type-id='type-id-5101' visibility='default' filepath='include/linux/fs.h' line='1911' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='show_options2' type-id='type-id-5102' visibility='default' filepath='include/linux/fs.h' line='1912' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='show_devname' type-id='type-id-5101' visibility='default' filepath='include/linux/fs.h' line='1913' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='show_path' type-id='type-id-5101' visibility='default' filepath='include/linux/fs.h' line='1914' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='show_stats' type-id='type-id-5101' visibility='default' filepath='include/linux/fs.h' line='1915' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='quota_read' type-id='type-id-5103' visibility='default' filepath='include/linux/fs.h' line='1917' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='quota_write' type-id='type-id-5104' visibility='default' filepath='include/linux/fs.h' line='1918' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='get_dquots' type-id='type-id-5105' visibility='default' filepath='include/linux/fs.h' line='1919' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='bdev_try_to_free_page' type-id='type-id-5106' visibility='default' filepath='include/linux/fs.h' line='1921' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='nr_cached_objects' type-id='type-id-5107' visibility='default' filepath='include/linux/fs.h' line='1922' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='free_cached_objects' type-id='type-id-5107' visibility='default' filepath='include/linux/fs.h' line='1924' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='writeback_control' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/linux/writeback.h' line='50' column='1' id='type-id-5108'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='nr_to_write' type-id='type-id-187' visibility='default' filepath='include/linux/writeback.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='pages_skipped' type-id='type-id-187' visibility='default' filepath='include/linux/writeback.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='range_start' type-id='type-id-4528' visibility='default' filepath='include/linux/writeback.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='range_end' type-id='type-id-4528' visibility='default' filepath='include/linux/writeback.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='sync_mode' type-id='type-id-5109' visibility='default' filepath='include/linux/writeback.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='for_kupdate' type-id='type-id-10' visibility='default' filepath='include/linux/writeback.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='for_background' type-id='type-id-10' visibility='default' filepath='include/linux/writeback.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='29'>
+          <var-decl name='tagged_writepages' type-id='type-id-10' visibility='default' filepath='include/linux/writeback.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='28'>
+          <var-decl name='for_reclaim' type-id='type-id-10' visibility='default' filepath='include/linux/writeback.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='27'>
+          <var-decl name='range_cyclic' type-id='type-id-10' visibility='default' filepath='include/linux/writeback.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='26'>
+          <var-decl name='for_sync' type-id='type-id-10' visibility='default' filepath='include/linux/writeback.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='wb' type-id='type-id-5032' visibility='default' filepath='include/linux/writeback.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='inode' type-id='type-id-1160' visibility='default' filepath='include/linux/writeback.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='wb_id' type-id='type-id-11' visibility='default' filepath='include/linux/writeback.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='wb_lcand_id' type-id='type-id-11' visibility='default' filepath='include/linux/writeback.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='wb_tcand_id' type-id='type-id-11' visibility='default' filepath='include/linux/writeback.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='wb_bytes' type-id='type-id-125' visibility='default' filepath='include/linux/writeback.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='wb_lcand_bytes' type-id='type-id-125' visibility='default' filepath='include/linux/writeback.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='wb_tcand_bytes' type-id='type-id-125' visibility='default' filepath='include/linux/writeback.h' line='81' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='writeback_sync_modes' filepath='include/linux/writeback.h' line='40' column='1' id='type-id-5109'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='WB_SYNC_NONE' value='0'/>
+        <enumerator name='WB_SYNC_ALL' value='1'/>
+      </enum-decl>
+      <class-decl name='bdi_writeback' size-in-bits='5568' is-struct='yes' visibility='default' filepath='include/linux/backing-dev-defs.h' line='109' column='1' id='type-id-5110'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bdi' type-id='type-id-5078' visibility='default' filepath='include/linux/backing-dev-defs.h' line='110' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='state' type-id='type-id-100' visibility='default' filepath='include/linux/backing-dev-defs.h' line='112' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='last_old_flush' type-id='type-id-100' visibility='default' filepath='include/linux/backing-dev-defs.h' line='113' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='b_dirty' type-id='type-id-8' visibility='default' filepath='include/linux/backing-dev-defs.h' line='115' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='b_io' type-id='type-id-8' visibility='default' filepath='include/linux/backing-dev-defs.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='b_more_io' type-id='type-id-8' visibility='default' filepath='include/linux/backing-dev-defs.h' line='117' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='b_dirty_time' type-id='type-id-8' visibility='default' filepath='include/linux/backing-dev-defs.h' line='118' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='list_lock' type-id='type-id-106' visibility='default' filepath='include/linux/backing-dev-defs.h' line='119' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='stat' type-id='type-id-4793' visibility='default' filepath='include/linux/backing-dev-defs.h' line='121' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='congested' type-id='type-id-4571' visibility='default' filepath='include/linux/backing-dev-defs.h' line='123' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='bw_time_stamp' type-id='type-id-100' visibility='default' filepath='include/linux/backing-dev-defs.h' line='125' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='dirtied_stamp' type-id='type-id-100' visibility='default' filepath='include/linux/backing-dev-defs.h' line='126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='written_stamp' type-id='type-id-100' visibility='default' filepath='include/linux/backing-dev-defs.h' line='127' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='write_bandwidth' type-id='type-id-100' visibility='default' filepath='include/linux/backing-dev-defs.h' line='128' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='avg_write_bandwidth' type-id='type-id-100' visibility='default' filepath='include/linux/backing-dev-defs.h' line='129' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='dirty_ratelimit' type-id='type-id-100' visibility='default' filepath='include/linux/backing-dev-defs.h' line='137' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='balanced_dirty_ratelimit' type-id='type-id-100' visibility='default' filepath='include/linux/backing-dev-defs.h' line='138' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='completions' type-id='type-id-5111' visibility='default' filepath='include/linux/backing-dev-defs.h' line='140' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2944'>
+          <var-decl name='dirty_exceeded' type-id='type-id-11' visibility='default' filepath='include/linux/backing-dev-defs.h' line='141' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2976'>
+          <var-decl name='start_all_reason' type-id='type-id-5112' visibility='default' filepath='include/linux/backing-dev-defs.h' line='142' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3008'>
+          <var-decl name='work_lock' type-id='type-id-106' visibility='default' filepath='include/linux/backing-dev-defs.h' line='144' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3072'>
+          <var-decl name='work_list' type-id='type-id-8' visibility='default' filepath='include/linux/backing-dev-defs.h' line='145' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3200'>
+          <var-decl name='dwork' type-id='type-id-370' visibility='default' filepath='include/linux/backing-dev-defs.h' line='146' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3904'>
+          <var-decl name='dirty_sleep' type-id='type-id-100' visibility='default' filepath='include/linux/backing-dev-defs.h' line='148' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3968'>
+          <var-decl name='bdi_node' type-id='type-id-8' visibility='default' filepath='include/linux/backing-dev-defs.h' line='150' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4096'>
+          <var-decl name='refcnt' type-id='type-id-5113' visibility='default' filepath='include/linux/backing-dev-defs.h' line='153' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4544'>
+          <var-decl name='memcg_completions' type-id='type-id-5111' visibility='default' filepath='include/linux/backing-dev-defs.h' line='154' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4928'>
+          <var-decl name='memcg_css' type-id='type-id-4648' visibility='default' filepath='include/linux/backing-dev-defs.h' line='155' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4992'>
+          <var-decl name='blkcg_css' type-id='type-id-4648' visibility='default' filepath='include/linux/backing-dev-defs.h' line='156' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5056'>
+          <var-decl name='memcg_node' type-id='type-id-8' visibility='default' filepath='include/linux/backing-dev-defs.h' line='157' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5184'>
+          <var-decl name='blkcg_node' type-id='type-id-8' visibility='default' filepath='include/linux/backing-dev-defs.h' line='158' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5312'>
+          <var-decl name='' type-id='type-id-5114' visibility='default' filepath='include/linux/backing-dev-defs.h' line='160' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='backing_dev_info' size-in-bits='7808' is-struct='yes' visibility='default' filepath='include/linux/backing-dev-defs.h' line='167' column='1' id='type-id-5115'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bdi_list' type-id='type-id-8' visibility='default' filepath='include/linux/backing-dev-defs.h' line='168' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='ra_pages' type-id='type-id-100' visibility='default' filepath='include/linux/backing-dev-defs.h' line='169' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='io_pages' type-id='type-id-100' visibility='default' filepath='include/linux/backing-dev-defs.h' line='170' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='congested_fn' type-id='type-id-5116' visibility='default' filepath='include/linux/backing-dev-defs.h' line='171' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='congested_data' type-id='type-id-3' visibility='default' filepath='include/linux/backing-dev-defs.h' line='172' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/backing-dev-defs.h' line='174' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='refcnt' type-id='type-id-771' visibility='default' filepath='include/linux/backing-dev-defs.h' line='176' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='capabilities' type-id='type-id-10' visibility='default' filepath='include/linux/backing-dev-defs.h' line='177' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='min_ratio' type-id='type-id-10' visibility='default' filepath='include/linux/backing-dev-defs.h' line='178' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='max_ratio' type-id='type-id-10' visibility='default' filepath='include/linux/backing-dev-defs.h' line='179' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='max_prop_frac' type-id='type-id-10' visibility='default' filepath='include/linux/backing-dev-defs.h' line='179' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='tot_write_bandwidth' type-id='type-id-138' visibility='default' filepath='include/linux/backing-dev-defs.h' line='185' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='wb' type-id='type-id-5110' visibility='default' filepath='include/linux/backing-dev-defs.h' line='187' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6272'>
+          <var-decl name='wb_list' type-id='type-id-8' visibility='default' filepath='include/linux/backing-dev-defs.h' line='188' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6400'>
+          <var-decl name='cgwb_tree' type-id='type-id-3181' visibility='default' filepath='include/linux/backing-dev-defs.h' line='190' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6528'>
+          <var-decl name='cgwb_congested_tree' type-id='type-id-133' visibility='default' filepath='include/linux/backing-dev-defs.h' line='191' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6592'>
+          <var-decl name='cgwb_release_mutex' type-id='type-id-407' visibility='default' filepath='include/linux/backing-dev-defs.h' line='192' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6848'>
+          <var-decl name='wb_switch_rwsem' type-id='type-id-139' visibility='default' filepath='include/linux/backing-dev-defs.h' line='193' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7168'>
+          <var-decl name='wb_waitq' type-id='type-id-388' visibility='default' filepath='include/linux/backing-dev-defs.h' line='197' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7360'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/linux/backing-dev-defs.h' line='199' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7424'>
+          <var-decl name='owner' type-id='type-id-86' visibility='default' filepath='include/linux/backing-dev-defs.h' line='200' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7488'>
+          <var-decl name='laptop_mode_wb_timer' type-id='type-id-1240' visibility='default' filepath='include/linux/backing-dev-defs.h' line='202' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='congested_fn' type-id='type-id-3723' filepath='include/linux/backing-dev-defs.h' line='36' column='1' id='type-id-5117'/>
+      <class-decl name='kref' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/linux/kref.h' line='21' column='1' id='type-id-771'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='refcount' type-id='type-id-12' visibility='default' filepath='include/linux/kref.h' line='22' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='refcount_t' type-id='type-id-5118' filepath='include/linux/refcount.h' line='21' column='1' id='type-id-12'/>
+      <class-decl name='refcount_struct' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/linux/refcount.h' line='19' column='1' id='type-id-5118'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='refs' type-id='type-id-137' visibility='default' filepath='include/linux/refcount.h' line='20' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='rw_semaphore' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/rwsem.h' line='30' column='1' id='type-id-139'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='count' type-id='type-id-138' visibility='default' filepath='include/linux/rwsem.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='wait_list' type-id='type-id-8' visibility='default' filepath='include/linux/rwsem.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='wait_lock' type-id='type-id-5119' visibility='default' filepath='include/linux/rwsem.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='osq' type-id='type-id-4888' visibility='default' filepath='include/linux/rwsem.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='owner' type-id='type-id-118' visibility='default' filepath='include/linux/rwsem.h' line='40' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='raw_spinlock_t' type-id='type-id-4891' filepath='include/linux/spinlock_types.h' line='29' column='1' id='type-id-5119'/>
+      <class-decl name='task_struct' size-in-bits='27648' is-struct='yes' visibility='default' filepath='include/linux/sched.h' line='635' column='1' id='type-id-5120'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='thread_info' type-id='type-id-5121' visibility='default' filepath='include/linux/sched.h' line='641' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='state' type-id='type-id-1163' visibility='default' filepath='include/linux/sched.h' line='644' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='stack' type-id='type-id-3' visibility='default' filepath='include/linux/sched.h' line='652' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='usage' type-id='type-id-137' visibility='default' filepath='include/linux/sched.h' line='653' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='include/linux/sched.h' line='655' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='ptrace' type-id='type-id-10' visibility='default' filepath='include/linux/sched.h' line='656' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='wake_entry' type-id='type-id-1327' visibility='default' filepath='include/linux/sched.h' line='659' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='on_cpu' type-id='type-id-11' visibility='default' filepath='include/linux/sched.h' line='660' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='672'>
+          <var-decl name='cpu' type-id='type-id-10' visibility='default' filepath='include/linux/sched.h' line='663' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='wakee_flips' type-id='type-id-10' visibility='default' filepath='include/linux/sched.h' line='665' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='wakee_flip_decay_ts' type-id='type-id-100' visibility='default' filepath='include/linux/sched.h' line='666' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='last_wakee' type-id='type-id-118' visibility='default' filepath='include/linux/sched.h' line='667' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='recent_used_cpu' type-id='type-id-11' visibility='default' filepath='include/linux/sched.h' line='676' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='928'>
+          <var-decl name='wake_cpu' type-id='type-id-11' visibility='default' filepath='include/linux/sched.h' line='677' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='on_rq' type-id='type-id-11' visibility='default' filepath='include/linux/sched.h' line='679' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='992'>
+          <var-decl name='prio' type-id='type-id-11' visibility='default' filepath='include/linux/sched.h' line='681' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='static_prio' type-id='type-id-11' visibility='default' filepath='include/linux/sched.h' line='682' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1056'>
+          <var-decl name='normal_prio' type-id='type-id-11' visibility='default' filepath='include/linux/sched.h' line='683' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='rt_priority' type-id='type-id-10' visibility='default' filepath='include/linux/sched.h' line='684' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='sched_class' type-id='type-id-5122' visibility='default' filepath='include/linux/sched.h' line='686' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='se' type-id='type-id-5123' visibility='default' filepath='include/linux/sched.h' line='687' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5120'>
+          <var-decl name='rt' type-id='type-id-5124' visibility='default' filepath='include/linux/sched.h' line='688' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5504'>
+          <var-decl name='sched_task_group' type-id='type-id-5125' visibility='default' filepath='include/linux/sched.h' line='690' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5568'>
+          <var-decl name='dl' type-id='type-id-5126' visibility='default' filepath='include/linux/sched.h' line='692' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7296'>
+          <var-decl name='policy' type-id='type-id-10' visibility='default' filepath='include/linux/sched.h' line='710' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7328'>
+          <var-decl name='nr_cpus_allowed' type-id='type-id-11' visibility='default' filepath='include/linux/sched.h' line='711' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7360'>
+          <var-decl name='cpus_allowed' type-id='type-id-5127' visibility='default' filepath='include/linux/sched.h' line='712' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7424'>
+          <var-decl name='rcu_read_lock_nesting' type-id='type-id-11' visibility='default' filepath='include/linux/sched.h' line='715' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7456'>
+          <var-decl name='rcu_read_unlock_special' type-id='type-id-4985' visibility='default' filepath='include/linux/sched.h' line='716' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7488'>
+          <var-decl name='rcu_node_entry' type-id='type-id-8' visibility='default' filepath='include/linux/sched.h' line='717' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7616'>
+          <var-decl name='rcu_blocked_node' type-id='type-id-5128' visibility='default' filepath='include/linux/sched.h' line='718' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7680'>
+          <var-decl name='rcu_tasks_nvcsw' type-id='type-id-100' visibility='default' filepath='include/linux/sched.h' line='722' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7744'>
+          <var-decl name='rcu_tasks_holdout' type-id='type-id-53' visibility='default' filepath='include/linux/sched.h' line='723' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7752'>
+          <var-decl name='rcu_tasks_idx' type-id='type-id-53' visibility='default' filepath='include/linux/sched.h' line='724' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7776'>
+          <var-decl name='rcu_tasks_idle_cpu' type-id='type-id-11' visibility='default' filepath='include/linux/sched.h' line='725' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7808'>
+          <var-decl name='rcu_tasks_holdout_list' type-id='type-id-8' visibility='default' filepath='include/linux/sched.h' line='726' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7936'>
+          <var-decl name='sched_info' type-id='type-id-5129' visibility='default' filepath='include/linux/sched.h' line='729' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8192'>
+          <var-decl name='tasks' type-id='type-id-8' visibility='default' filepath='include/linux/sched.h' line='731' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8320'>
+          <var-decl name='pushable_tasks' type-id='type-id-4802' visibility='default' filepath='include/linux/sched.h' line='733' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8640'>
+          <var-decl name='pushable_dl_tasks' type-id='type-id-1846' visibility='default' filepath='include/linux/sched.h' line='734' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8832'>
+          <var-decl name='mm' type-id='type-id-158' visibility='default' filepath='include/linux/sched.h' line='737' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8896'>
+          <var-decl name='active_mm' type-id='type-id-158' visibility='default' filepath='include/linux/sched.h' line='738' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8960'>
+          <var-decl name='vmacache' type-id='type-id-5130' visibility='default' filepath='include/linux/sched.h' line='741' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9280'>
+          <var-decl name='rss_stat' type-id='type-id-5131' visibility='default' filepath='include/linux/sched.h' line='744' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9440'>
+          <var-decl name='exit_state' type-id='type-id-11' visibility='default' filepath='include/linux/sched.h' line='746' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9472'>
+          <var-decl name='exit_code' type-id='type-id-11' visibility='default' filepath='include/linux/sched.h' line='747' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9504'>
+          <var-decl name='exit_signal' type-id='type-id-11' visibility='default' filepath='include/linux/sched.h' line='748' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9536'>
+          <var-decl name='pdeath_signal' type-id='type-id-11' visibility='default' filepath='include/linux/sched.h' line='750' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9600'>
+          <var-decl name='jobctl' type-id='type-id-100' visibility='default' filepath='include/linux/sched.h' line='752' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9664'>
+          <var-decl name='personality' type-id='type-id-10' visibility='default' filepath='include/linux/sched.h' line='755' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='sched_reset_on_fork' type-id='type-id-10' visibility='default' filepath='include/linux/sched.h' line='758' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='sched_contributes_to_load' type-id='type-id-10' visibility='default' filepath='include/linux/sched.h' line='759' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='29'>
+          <var-decl name='sched_migrated' type-id='type-id-10' visibility='default' filepath='include/linux/sched.h' line='760' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='28'>
+          <var-decl name='sched_remote_wakeup' type-id='type-id-10' visibility='default' filepath='include/linux/sched.h' line='761' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='27'>
+          <var-decl name='sched_psi_wake_requeue' type-id='type-id-10' visibility='default' filepath='include/linux/sched.h' line='763' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='in_execve' type-id='type-id-10' visibility='default' filepath='include/linux/sched.h' line='772' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='in_iowait' type-id='type-id-10' visibility='default' filepath='include/linux/sched.h' line='773' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='29'>
+          <var-decl name='in_user_fault' type-id='type-id-10' visibility='default' filepath='include/linux/sched.h' line='778' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='28'>
+          <var-decl name='memcg_kmem_skip_account' type-id='type-id-10' visibility='default' filepath='include/linux/sched.h' line='780' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='27'>
+          <var-decl name='no_cgroup_migration' type-id='type-id-10' visibility='default' filepath='include/linux/sched.h' line='788' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='26'>
+          <var-decl name='use_memdelay' type-id='type-id-10' visibility='default' filepath='include/linux/sched.h' line='792' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9792'>
+          <var-decl name='atomic_flags' type-id='type-id-100' visibility='default' filepath='include/linux/sched.h' line='795' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9856'>
+          <var-decl name='restart_block' type-id='type-id-5132' visibility='default' filepath='include/linux/sched.h' line='797' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10240'>
+          <var-decl name='pid' type-id='type-id-5133' visibility='default' filepath='include/linux/sched.h' line='799' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10272'>
+          <var-decl name='tgid' type-id='type-id-5133' visibility='default' filepath='include/linux/sched.h' line='800' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10304'>
+          <var-decl name='stack_canary' type-id='type-id-100' visibility='default' filepath='include/linux/sched.h' line='804' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10368'>
+          <var-decl name='real_parent' type-id='type-id-118' visibility='default' filepath='include/linux/sched.h' line='813' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10432'>
+          <var-decl name='parent' type-id='type-id-118' visibility='default' filepath='include/linux/sched.h' line='816' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10496'>
+          <var-decl name='children' type-id='type-id-8' visibility='default' filepath='include/linux/sched.h' line='821' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10624'>
+          <var-decl name='sibling' type-id='type-id-8' visibility='default' filepath='include/linux/sched.h' line='822' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10752'>
+          <var-decl name='group_leader' type-id='type-id-118' visibility='default' filepath='include/linux/sched.h' line='823' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10816'>
+          <var-decl name='ptraced' type-id='type-id-8' visibility='default' filepath='include/linux/sched.h' line='831' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10944'>
+          <var-decl name='ptrace_entry' type-id='type-id-8' visibility='default' filepath='include/linux/sched.h' line='832' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11072'>
+          <var-decl name='thread_pid' type-id='type-id-1213' visibility='default' filepath='include/linux/sched.h' line='835' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11136'>
+          <var-decl name='pid_links' type-id='type-id-4761' visibility='default' filepath='include/linux/sched.h' line='836' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11648'>
+          <var-decl name='thread_group' type-id='type-id-8' visibility='default' filepath='include/linux/sched.h' line='837' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11776'>
+          <var-decl name='thread_node' type-id='type-id-8' visibility='default' filepath='include/linux/sched.h' line='838' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11904'>
+          <var-decl name='vfork_done' type-id='type-id-176' visibility='default' filepath='include/linux/sched.h' line='840' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11968'>
+          <var-decl name='set_child_tid' type-id='type-id-82' visibility='default' filepath='include/linux/sched.h' line='843' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12032'>
+          <var-decl name='clear_child_tid' type-id='type-id-82' visibility='default' filepath='include/linux/sched.h' line='846' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12096'>
+          <var-decl name='utime' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='848' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12160'>
+          <var-decl name='stime' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='849' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12224'>
+          <var-decl name='gtime' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='854' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12288'>
+          <var-decl name='time_in_state' type-id='type-id-1888' visibility='default' filepath='include/linux/sched.h' line='856' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12352'>
+          <var-decl name='max_state' type-id='type-id-10' visibility='default' filepath='include/linux/sched.h' line='857' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12416'>
+          <var-decl name='prev_cputime' type-id='type-id-5134' visibility='default' filepath='include/linux/sched.h' line='859' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12608'>
+          <var-decl name='nvcsw' type-id='type-id-100' visibility='default' filepath='include/linux/sched.h' line='868' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12672'>
+          <var-decl name='nivcsw' type-id='type-id-100' visibility='default' filepath='include/linux/sched.h' line='869' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12736'>
+          <var-decl name='start_time' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='872' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12800'>
+          <var-decl name='real_start_time' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='875' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12864'>
+          <var-decl name='min_flt' type-id='type-id-100' visibility='default' filepath='include/linux/sched.h' line='878' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12928'>
+          <var-decl name='maj_flt' type-id='type-id-100' visibility='default' filepath='include/linux/sched.h' line='879' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12992'>
+          <var-decl name='cputime_expires' type-id='type-id-5135' visibility='default' filepath='include/linux/sched.h' line='882' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13184'>
+          <var-decl name='cpu_timers' type-id='type-id-4773' visibility='default' filepath='include/linux/sched.h' line='883' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13568'>
+          <var-decl name='ptracer_cred' type-id='type-id-4498' visibility='default' filepath='include/linux/sched.h' line='889' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13632'>
+          <var-decl name='real_cred' type-id='type-id-4498' visibility='default' filepath='include/linux/sched.h' line='892' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13696'>
+          <var-decl name='cred' type-id='type-id-4498' visibility='default' filepath='include/linux/sched.h' line='895' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13760'>
+          <var-decl name='comm' type-id='type-id-847' visibility='default' filepath='include/linux/sched.h' line='904' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13888'>
+          <var-decl name='nameidata' type-id='type-id-5136' visibility='default' filepath='include/linux/sched.h' line='906' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13952'>
+          <var-decl name='fs' type-id='type-id-5137' visibility='default' filepath='include/linux/sched.h' line='917' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14016'>
+          <var-decl name='files' type-id='type-id-4474' visibility='default' filepath='include/linux/sched.h' line='920' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14080'>
+          <var-decl name='nsproxy' type-id='type-id-5138' visibility='default' filepath='include/linux/sched.h' line='923' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14144'>
+          <var-decl name='signal' type-id='type-id-5139' visibility='default' filepath='include/linux/sched.h' line='926' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14208'>
+          <var-decl name='sighand' type-id='type-id-5140' visibility='default' filepath='include/linux/sched.h' line='927' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14272'>
+          <var-decl name='blocked' type-id='type-id-5141' visibility='default' filepath='include/linux/sched.h' line='928' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14336'>
+          <var-decl name='real_blocked' type-id='type-id-5141' visibility='default' filepath='include/linux/sched.h' line='929' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14400'>
+          <var-decl name='saved_sigmask' type-id='type-id-5141' visibility='default' filepath='include/linux/sched.h' line='931' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14464'>
+          <var-decl name='pending' type-id='type-id-5142' visibility='default' filepath='include/linux/sched.h' line='932' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14656'>
+          <var-decl name='sas_ss_sp' type-id='type-id-100' visibility='default' filepath='include/linux/sched.h' line='933' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14720'>
+          <var-decl name='sas_ss_size' type-id='type-id-125' visibility='default' filepath='include/linux/sched.h' line='934' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14784'>
+          <var-decl name='sas_ss_flags' type-id='type-id-10' visibility='default' filepath='include/linux/sched.h' line='935' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14848'>
+          <var-decl name='task_works' type-id='type-id-4987' visibility='default' filepath='include/linux/sched.h' line='937' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14912'>
+          <var-decl name='audit_context' type-id='type-id-5143' visibility='default' filepath='include/linux/sched.h' line='939' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14976'>
+          <var-decl name='loginuid' type-id='type-id-4567' visibility='default' filepath='include/linux/sched.h' line='941' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15008'>
+          <var-decl name='sessionid' type-id='type-id-10' visibility='default' filepath='include/linux/sched.h' line='942' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15040'>
+          <var-decl name='seccomp' type-id='type-id-5144' visibility='default' filepath='include/linux/sched.h' line='944' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15168'>
+          <var-decl name='parent_exec_id' type-id='type-id-9' visibility='default' filepath='include/linux/sched.h' line='947' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15200'>
+          <var-decl name='self_exec_id' type-id='type-id-9' visibility='default' filepath='include/linux/sched.h' line='948' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15232'>
+          <var-decl name='alloc_lock' type-id='type-id-106' visibility='default' filepath='include/linux/sched.h' line='951' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15264'>
+          <var-decl name='pi_lock' type-id='type-id-5119' visibility='default' filepath='include/linux/sched.h' line='954' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15296'>
+          <var-decl name='wake_q' type-id='type-id-5145' visibility='default' filepath='include/linux/sched.h' line='956' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15360'>
+          <var-decl name='pi_waiters' type-id='type-id-1844' visibility='default' filepath='include/linux/sched.h' line='960' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15488'>
+          <var-decl name='pi_top_task' type-id='type-id-118' visibility='default' filepath='include/linux/sched.h' line='962' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15552'>
+          <var-decl name='pi_blocked_on' type-id='type-id-5146' visibility='default' filepath='include/linux/sched.h' line='964' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15616'>
+          <var-decl name='journal_info' type-id='type-id-3' visibility='default' filepath='include/linux/sched.h' line='1001' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15680'>
+          <var-decl name='bio_list' type-id='type-id-5147' visibility='default' filepath='include/linux/sched.h' line='1004' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15744'>
+          <var-decl name='plug' type-id='type-id-5148' visibility='default' filepath='include/linux/sched.h' line='1008' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15808'>
+          <var-decl name='reclaim_state' type-id='type-id-5149' visibility='default' filepath='include/linux/sched.h' line='1012' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15872'>
+          <var-decl name='backing_dev_info' type-id='type-id-5078' visibility='default' filepath='include/linux/sched.h' line='1014' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15936'>
+          <var-decl name='io_context' type-id='type-id-5150' visibility='default' filepath='include/linux/sched.h' line='1016' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16000'>
+          <var-decl name='ptrace_message' type-id='type-id-100' visibility='default' filepath='include/linux/sched.h' line='1019' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16064'>
+          <var-decl name='last_siginfo' type-id='type-id-5151' visibility='default' filepath='include/linux/sched.h' line='1020' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16128'>
+          <var-decl name='ioac' type-id='type-id-5152' visibility='default' filepath='include/linux/sched.h' line='1022' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16640'>
+          <var-decl name='psi_flags' type-id='type-id-10' visibility='default' filepath='include/linux/sched.h' line='1025' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16704'>
+          <var-decl name='acct_rss_mem1' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='1029' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16768'>
+          <var-decl name='acct_vm_mem1' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='1031' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16832'>
+          <var-decl name='acct_timexpd' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='1033' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16896'>
+          <var-decl name='mems_allowed' type-id='type-id-5153' visibility='default' filepath='include/linux/sched.h' line='1037' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16960'>
+          <var-decl name='mems_allowed_seq' type-id='type-id-1865' visibility='default' filepath='include/linux/sched.h' line='1039' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16992'>
+          <var-decl name='cpuset_mem_spread_rotor' type-id='type-id-11' visibility='default' filepath='include/linux/sched.h' line='1040' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='17024'>
+          <var-decl name='cpuset_slab_spread_rotor' type-id='type-id-11' visibility='default' filepath='include/linux/sched.h' line='1041' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='17088'>
+          <var-decl name='cgroups' type-id='type-id-5154' visibility='default' filepath='include/linux/sched.h' line='1045' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='17152'>
+          <var-decl name='cg_list' type-id='type-id-8' visibility='default' filepath='include/linux/sched.h' line='1047' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='17280'>
+          <var-decl name='robust_list' type-id='type-id-5155' visibility='default' filepath='include/linux/sched.h' line='1054' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='17344'>
+          <var-decl name='compat_robust_list' type-id='type-id-5156' visibility='default' filepath='include/linux/sched.h' line='1056' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='17408'>
+          <var-decl name='pi_state_list' type-id='type-id-8' visibility='default' filepath='include/linux/sched.h' line='1058' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='17536'>
+          <var-decl name='pi_state_cache' type-id='type-id-5157' visibility='default' filepath='include/linux/sched.h' line='1059' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='17600'>
+          <var-decl name='perf_event_ctxp' type-id='type-id-4800' visibility='default' filepath='include/linux/sched.h' line='1062' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='17728'>
+          <var-decl name='perf_event_mutex' type-id='type-id-407' visibility='default' filepath='include/linux/sched.h' line='1063' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='17984'>
+          <var-decl name='perf_event_list' type-id='type-id-8' visibility='default' filepath='include/linux/sched.h' line='1064' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='18112'>
+          <var-decl name='tlb_ubc' type-id='type-id-5158' visibility='default' filepath='include/linux/sched.h' line='1136' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='18112'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/linux/sched.h' line='1138' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='18240'>
+          <var-decl name='splice_pipe' type-id='type-id-2208' visibility='default' filepath='include/linux/sched.h' line='1141' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='18304'>
+          <var-decl name='task_frag' type-id='type-id-3009' visibility='default' filepath='include/linux/sched.h' line='1143' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='18432'>
+          <var-decl name='nr_dirtied' type-id='type-id-11' visibility='default' filepath='include/linux/sched.h' line='1157' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='18464'>
+          <var-decl name='nr_dirtied_pause' type-id='type-id-11' visibility='default' filepath='include/linux/sched.h' line='1158' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='18496'>
+          <var-decl name='dirty_paused_when' type-id='type-id-100' visibility='default' filepath='include/linux/sched.h' line='1160' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='18560'>
+          <var-decl name='timer_slack_ns' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='1170' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='18624'>
+          <var-decl name='default_timer_slack_ns' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='1171' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='18688'>
+          <var-decl name='trace' type-id='type-id-100' visibility='default' filepath='include/linux/sched.h' line='1200' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='18752'>
+          <var-decl name='trace_recursion' type-id='type-id-100' visibility='default' filepath='include/linux/sched.h' line='1203' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='18816'>
+          <var-decl name='memcg_in_oom' type-id='type-id-5159' visibility='default' filepath='include/linux/sched.h' line='1229' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='18880'>
+          <var-decl name='memcg_oom_gfp_mask' type-id='type-id-272' visibility='default' filepath='include/linux/sched.h' line='1230' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='18912'>
+          <var-decl name='memcg_oom_order' type-id='type-id-11' visibility='default' filepath='include/linux/sched.h' line='1231' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='18944'>
+          <var-decl name='memcg_nr_pages_over_high' type-id='type-id-10' visibility='default' filepath='include/linux/sched.h' line='1234' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='19008'>
+          <var-decl name='active_memcg' type-id='type-id-5159' visibility='default' filepath='include/linux/sched.h' line='1237' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='19072'>
+          <var-decl name='throttle_queue' type-id='type-id-268' visibility='default' filepath='include/linux/sched.h' line='1241' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='19136'>
+          <var-decl name='utask' type-id='type-id-5160' visibility='default' filepath='include/linux/sched.h' line='1245' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='19200'>
+          <var-decl name='pagefault_disabled' type-id='type-id-11' visibility='default' filepath='include/linux/sched.h' line='1254' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='19264'>
+          <var-decl name='oom_reaper_list' type-id='type-id-118' visibility='default' filepath='include/linux/sched.h' line='1256' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='19328'>
+          <var-decl name='stack_vm_area' type-id='type-id-5161' visibility='default' filepath='include/linux/sched.h' line='1259' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='19392'>
+          <var-decl name='stack_refcount' type-id='type-id-137' visibility='default' filepath='include/linux/sched.h' line='1263' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='19456'>
+          <var-decl name='security' type-id='type-id-3' visibility='default' filepath='include/linux/sched.h' line='1270' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='19584'>
+          <var-decl name='thread' type-id='type-id-5162' visibility='default' filepath='include/linux/sched.h' line='1280' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='thread_info' size-in-bits='320' is-struct='yes' visibility='default' filepath='arch/arm64/include/asm/thread_info.h' line='39' column='1' id='type-id-5121'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='arch/arm64/include/asm/thread_info.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='addr_limit' type-id='type-id-5163' visibility='default' filepath='arch/arm64/include/asm/thread_info.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='ttbr0' type-id='type-id-134' visibility='default' filepath='arch/arm64/include/asm/thread_info.h' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='preempt_count' type-id='type-id-11' visibility='default' filepath='arch/arm64/include/asm/thread_info.h' line='45' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='shadow_call_stack' type-id='type-id-3' visibility='default' filepath='arch/arm64/include/asm/thread_info.h' line='47' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='mm_segment_t' type-id='type-id-100' filepath='arch/arm64/include/asm/thread_info.h' line='34' column='1' id='type-id-5163'/>
+      <class-decl name='sched_entity' size-in-bits='3584' is-struct='yes' visibility='default' filepath='include/linux/sched.h' line='453' column='1' id='type-id-5123'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='load' type-id='type-id-5164' visibility='default' filepath='include/linux/sched.h' line='455' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='runnable_weight' type-id='type-id-100' visibility='default' filepath='include/linux/sched.h' line='456' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='run_node' type-id='type-id-1846' visibility='default' filepath='include/linux/sched.h' line='457' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='group_node' type-id='type-id-8' visibility='default' filepath='include/linux/sched.h' line='458' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='on_rq' type-id='type-id-10' visibility='default' filepath='include/linux/sched.h' line='459' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='exec_start' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='461' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='sum_exec_runtime' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='462' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='vruntime' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='463' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='prev_sum_exec_runtime' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='464' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='nr_migrations' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='466' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='statistics' type-id='type-id-5165' visibility='default' filepath='include/linux/sched.h' line='468' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2624'>
+          <var-decl name='depth' type-id='type-id-11' visibility='default' filepath='include/linux/sched.h' line='471' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2688'>
+          <var-decl name='parent' type-id='type-id-5166' visibility='default' filepath='include/linux/sched.h' line='472' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2752'>
+          <var-decl name='cfs_rq' type-id='type-id-5167' visibility='default' filepath='include/linux/sched.h' line='474' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2816'>
+          <var-decl name='my_q' type-id='type-id-5167' visibility='default' filepath='include/linux/sched.h' line='476' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3072'>
+          <var-decl name='avg' type-id='type-id-5168' visibility='default' filepath='include/linux/sched.h' line='486' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='load_weight' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/sched.h' line='329' column='1' id='type-id-5164'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='weight' type-id='type-id-100' visibility='default' filepath='include/linux/sched.h' line='330' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='inv_weight' type-id='type-id-9' visibility='default' filepath='include/linux/sched.h' line='331' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='sched_statistics' size-in-bits='1728' is-struct='yes' visibility='default' filepath='include/linux/sched.h' line='417' column='1' id='type-id-5165'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='wait_start' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='419' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='wait_max' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='420' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='wait_count' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='421' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='wait_sum' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='iowait_count' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='iowait_sum' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='sleep_start' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='426' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='sleep_max' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='427' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='sum_sleep_runtime' type-id='type-id-581' visibility='default' filepath='include/linux/sched.h' line='428' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='block_start' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='430' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='block_max' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='431' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='exec_max' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='432' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='slice_max' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='433' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='nr_migrations_cold' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='435' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='nr_failed_migrations_affine' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='436' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='nr_failed_migrations_running' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='437' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='nr_failed_migrations_hot' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='438' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='nr_forced_migrations' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='439' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='nr_wakeups' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='441' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='nr_wakeups_sync' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='442' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='nr_wakeups_migrate' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='443' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='nr_wakeups_local' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='444' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='nr_wakeups_remote' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='445' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='nr_wakeups_affine' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='446' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='nr_wakeups_affine_attempts' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='447' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='nr_wakeups_passive' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='448' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='nr_wakeups_idle' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='449' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='s64' type-id='type-id-1388' filepath='include/asm-generic/int-ll64.h' line='22' column='1' id='type-id-581'/>
+      <class-decl name='sched_avg' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/sched.h' line='405' column='1' id='type-id-5168'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='last_update_time' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='406' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='load_sum' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='407' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='runnable_load_sum' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='408' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='util_sum' type-id='type-id-9' visibility='default' filepath='include/linux/sched.h' line='409' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='period_contrib' type-id='type-id-9' visibility='default' filepath='include/linux/sched.h' line='410' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='load_avg' type-id='type-id-100' visibility='default' filepath='include/linux/sched.h' line='411' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='runnable_load_avg' type-id='type-id-100' visibility='default' filepath='include/linux/sched.h' line='412' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='util_avg' type-id='type-id-100' visibility='default' filepath='include/linux/sched.h' line='413' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='util_est' type-id='type-id-5169' visibility='default' filepath='include/linux/sched.h' line='414' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='util_est' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/sched.h' line='356' column='1' id='type-id-5169'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='enqueued' type-id='type-id-10' visibility='default' filepath='include/linux/sched.h' line='357' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='ewma' type-id='type-id-10' visibility='default' filepath='include/linux/sched.h' line='358' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='sched_rt_entity' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/sched.h' line='490' column='1' id='type-id-5124'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='run_list' type-id='type-id-8' visibility='default' filepath='include/linux/sched.h' line='491' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='timeout' type-id='type-id-100' visibility='default' filepath='include/linux/sched.h' line='492' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='watchdog_stamp' type-id='type-id-100' visibility='default' filepath='include/linux/sched.h' line='493' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='time_slice' type-id='type-id-10' visibility='default' filepath='include/linux/sched.h' line='494' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='on_rq' type-id='type-id-288' visibility='default' filepath='include/linux/sched.h' line='495' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='304'>
+          <var-decl name='on_list' type-id='type-id-288' visibility='default' filepath='include/linux/sched.h' line='496' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='back' type-id='type-id-5170' visibility='default' filepath='include/linux/sched.h' line='498' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='sched_dl_entity' size-in-bits='1728' is-struct='yes' visibility='default' filepath='include/linux/sched.h' line='508' column='1' id='type-id-5126'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='rb_node' type-id='type-id-1846' visibility='default' filepath='include/linux/sched.h' line='509' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='dl_runtime' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='516' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='dl_deadline' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='517' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='dl_period' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='518' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='dl_bw' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='519' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='dl_density' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='520' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='runtime' type-id='type-id-581' visibility='default' filepath='include/linux/sched.h' line='527' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='deadline' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='528' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='include/linux/sched.h' line='529' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='dl_throttled' type-id='type-id-10' visibility='default' filepath='include/linux/sched.h' line='555' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='dl_boosted' type-id='type-id-10' visibility='default' filepath='include/linux/sched.h' line='556' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='29'>
+          <var-decl name='dl_yielded' type-id='type-id-10' visibility='default' filepath='include/linux/sched.h' line='557' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='28'>
+          <var-decl name='dl_non_contending' type-id='type-id-10' visibility='default' filepath='include/linux/sched.h' line='558' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='27'>
+          <var-decl name='dl_overrun' type-id='type-id-10' visibility='default' filepath='include/linux/sched.h' line='559' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='dl_timer' type-id='type-id-2120' visibility='default' filepath='include/linux/sched.h' line='565' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='inactive_timer' type-id='type-id-2120' visibility='default' filepath='include/linux/sched.h' line='574' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='hrtimer' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/hrtimer.h' line='110' column='1' id='type-id-2120'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='node' type-id='type-id-5171' visibility='default' filepath='include/linux/hrtimer.h' line='111' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='_softexpires' type-id='type-id-585' visibility='default' filepath='include/linux/hrtimer.h' line='112' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='function' type-id='type-id-5172' visibility='default' filepath='include/linux/hrtimer.h' line='113' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='base' type-id='type-id-5173' visibility='default' filepath='include/linux/hrtimer.h' line='114' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='state' type-id='type-id-53' visibility='default' filepath='include/linux/hrtimer.h' line='115' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='456'>
+          <var-decl name='is_rel' type-id='type-id-53' visibility='default' filepath='include/linux/hrtimer.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='464'>
+          <var-decl name='is_soft' type-id='type-id-53' visibility='default' filepath='include/linux/hrtimer.h' line='117' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='timerqueue_node' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/timerqueue.h' line='9' column='1' id='type-id-5171'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='node' type-id='type-id-1846' visibility='default' filepath='include/linux/timerqueue.h' line='10' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='expires' type-id='type-id-585' visibility='default' filepath='include/linux/timerqueue.h' line='11' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='ktime_t' type-id='type-id-581' filepath='include/linux/ktime.h' line='28' column='1' id='type-id-585'/>
+      <enum-decl name='hrtimer_restart' filepath='include/linux/hrtimer.h' line='59' column='1' id='type-id-5174'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='HRTIMER_NORESTART' value='0'/>
+        <enumerator name='HRTIMER_RESTART' value='1'/>
+      </enum-decl>
+      <class-decl name='hrtimer_clock_base' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/hrtimer.h' line='150' column='1' id='type-id-4762'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cpu_base' type-id='type-id-5175' visibility='default' filepath='include/linux/hrtimer.h' line='151' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='index' type-id='type-id-10' visibility='default' filepath='include/linux/hrtimer.h' line='152' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='clockid' type-id='type-id-1995' visibility='default' filepath='include/linux/hrtimer.h' line='153' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='seq' type-id='type-id-1865' visibility='default' filepath='include/linux/hrtimer.h' line='154' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='running' type-id='type-id-183' visibility='default' filepath='include/linux/hrtimer.h' line='155' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='active' type-id='type-id-5176' visibility='default' filepath='include/linux/hrtimer.h' line='156' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='get_time' type-id='type-id-5177' visibility='default' filepath='include/linux/hrtimer.h' line='157' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='offset' type-id='type-id-585' visibility='default' filepath='include/linux/hrtimer.h' line='158' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='hrtimer_cpu_base' size-in-bits='4608' is-struct='yes' visibility='default' filepath='include/linux/hrtimer.h' line='201' column='1' id='type-id-5178'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-5119' visibility='default' filepath='include/linux/hrtimer.h' line='202' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='cpu' type-id='type-id-10' visibility='default' filepath='include/linux/hrtimer.h' line='203' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='active_bases' type-id='type-id-10' visibility='default' filepath='include/linux/hrtimer.h' line='204' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='clock_was_set_seq' type-id='type-id-10' visibility='default' filepath='include/linux/hrtimer.h' line='205' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='hres_active' type-id='type-id-10' visibility='default' filepath='include/linux/hrtimer.h' line='206' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='in_hrtirq' type-id='type-id-10' visibility='default' filepath='include/linux/hrtimer.h' line='207' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='29'>
+          <var-decl name='hang_detected' type-id='type-id-10' visibility='default' filepath='include/linux/hrtimer.h' line='208' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='28'>
+          <var-decl name='softirq_activated' type-id='type-id-10' visibility='default' filepath='include/linux/hrtimer.h' line='209' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='nr_events' type-id='type-id-10' visibility='default' filepath='include/linux/hrtimer.h' line='211' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='nr_retries' type-id='type-id-288' visibility='default' filepath='include/linux/hrtimer.h' line='212' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='208'>
+          <var-decl name='nr_hangs' type-id='type-id-288' visibility='default' filepath='include/linux/hrtimer.h' line='213' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='max_hang_time' type-id='type-id-10' visibility='default' filepath='include/linux/hrtimer.h' line='214' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='expires_next' type-id='type-id-585' visibility='default' filepath='include/linux/hrtimer.h' line='216' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='next_timer' type-id='type-id-183' visibility='default' filepath='include/linux/hrtimer.h' line='217' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='softirq_expires_next' type-id='type-id-585' visibility='default' filepath='include/linux/hrtimer.h' line='218' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='softirq_next_timer' type-id='type-id-183' visibility='default' filepath='include/linux/hrtimer.h' line='219' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='clock_base' type-id='type-id-4763' visibility='default' filepath='include/linux/hrtimer.h' line='220' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='clockid_t' type-id='type-id-5179' filepath='include/linux/types.h' line='27' column='1' id='type-id-1995'/>
+      <typedef-decl name='__kernel_clockid_t' type-id='type-id-11' filepath='include/uapi/asm-generic/posix_types.h' line='93' column='1' id='type-id-5179'/>
+      <class-decl name='timerqueue_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/timerqueue.h' line='14' column='1' id='type-id-5176'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='head' type-id='type-id-133' visibility='default' filepath='include/linux/timerqueue.h' line='15' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='next' type-id='type-id-5180' visibility='default' filepath='include/linux/timerqueue.h' line='16' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='cpumask_t' type-id='type-id-4753' filepath='include/linux/cpumask.h' line='16' column='1' id='type-id-5127'/>
+      <class-decl name='__anonymous_struct__6' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/sched.h' line='613' column='1' id='type-id-4986'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='blocked' type-id='type-id-53' visibility='default' filepath='include/linux/sched.h' line='614' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='need_qs' type-id='type-id-53' visibility='default' filepath='include/linux/sched.h' line='615' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='exp_need_qs' type-id='type-id-53' visibility='default' filepath='include/linux/sched.h' line='616' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='pad' type-id='type-id-53' visibility='default' filepath='include/linux/sched.h' line='619' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='sched_info' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/sched.h' line='294' column='1' id='type-id-5129'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='pcount' type-id='type-id-100' visibility='default' filepath='include/linux/sched.h' line='299' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='run_delay' type-id='type-id-177' visibility='default' filepath='include/linux/sched.h' line='302' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='last_arrival' type-id='type-id-177' visibility='default' filepath='include/linux/sched.h' line='307' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='last_queued' type-id='type-id-177' visibility='default' filepath='include/linux/sched.h' line='310' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='plist_node' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/plist.h' line='85' column='1' id='type-id-4802'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='prio' type-id='type-id-11' visibility='default' filepath='include/linux/plist.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='prio_list' type-id='type-id-8' visibility='default' filepath='include/linux/plist.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='node_list' type-id='type-id-8' visibility='default' filepath='include/linux/plist.h' line='88' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='mm_struct' size-in-bits='6848' is-struct='yes' visibility='default' filepath='include/linux/mm_types.h' line='352' column='1' id='type-id-5181'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='' type-id='type-id-5182' visibility='default' filepath='include/linux/mm_types.h' line='353' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6848'>
+          <var-decl name='cpu_bitmap' type-id='type-id-3523' visibility='default' filepath='include/linux/mm_types.h' line='512' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__7' size-in-bits='6848' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='353' column='1' id='type-id-5182'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mmap' type-id='type-id-132' visibility='default' filepath='include/linux/mm_types.h' line='354' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='mm_rb' type-id='type-id-133' visibility='default' filepath='include/linux/mm_types.h' line='355' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='vmacache_seqnum' type-id='type-id-134' visibility='default' filepath='include/linux/mm_types.h' line='356' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='get_unmapped_area' type-id='type-id-135' visibility='default' filepath='include/linux/mm_types.h' line='358' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='mmap_base' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='362' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='mmap_legacy_base' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='363' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='task_size' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='369' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='highest_vm_end' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='370' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='pgd' type-id='type-id-136' visibility='default' filepath='include/linux/mm_types.h' line='371' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='mm_users' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='382' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='mm_count' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='391' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='pgtables_bytes' type-id='type-id-138' visibility='default' filepath='include/linux/mm_types.h' line='394' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='map_count' type-id='type-id-11' visibility='default' filepath='include/linux/mm_types.h' line='396' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='736'>
+          <var-decl name='page_table_lock' type-id='type-id-106' visibility='default' filepath='include/linux/mm_types.h' line='398' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='mmap_sem' type-id='type-id-139' visibility='default' filepath='include/linux/mm_types.h' line='401' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='mmlist' type-id='type-id-8' visibility='default' filepath='include/linux/mm_types.h' line='403' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='hiwater_rss' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='410' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='hiwater_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='411' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='total_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='413' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='locked_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='414' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='pinned_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='415' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='data_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='416' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='exec_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='417' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='stack_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='418' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='def_flags' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='419' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='arg_lock' type-id='type-id-106' visibility='default' filepath='include/linux/mm_types.h' line='421' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='start_code' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='end_code' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='start_data' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='end_data' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='start_brk' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='brk' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='start_stack' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='arg_start' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='arg_end' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='env_start' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='env_end' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='saved_auxv' type-id='type-id-140' visibility='default' filepath='include/linux/mm_types.h' line='426' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5504'>
+          <var-decl name='rss_stat' type-id='type-id-141' visibility='default' filepath='include/linux/mm_types.h' line='432' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5760'>
+          <var-decl name='binfmt' type-id='type-id-4464' visibility='default' filepath='include/linux/mm_types.h' line='434' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5824'>
+          <var-decl name='context' type-id='type-id-143' visibility='default' filepath='include/linux/mm_types.h' line='437' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6016'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='439' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6080'>
+          <var-decl name='core_state' type-id='type-id-144' visibility='default' filepath='include/linux/mm_types.h' line='441' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6144'>
+          <var-decl name='membarrier_state' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='443' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6176'>
+          <var-decl name='ioctx_lock' type-id='type-id-106' visibility='default' filepath='include/linux/mm_types.h' line='446' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6208'>
+          <var-decl name='ioctx_table' type-id='type-id-145' visibility='default' filepath='include/linux/mm_types.h' line='447' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6272'>
+          <var-decl name='owner' type-id='type-id-118' visibility='default' filepath='include/linux/mm_types.h' line='460' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6336'>
+          <var-decl name='user_ns' type-id='type-id-4564' visibility='default' filepath='include/linux/mm_types.h' line='462' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6400'>
+          <var-decl name='exe_file' type-id='type-id-147' visibility='default' filepath='include/linux/mm_types.h' line='465' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6464'>
+          <var-decl name='tlb_flush_pending' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='491' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6528'>
+          <var-decl name='uprobes_state' type-id='type-id-148' visibility='default' filepath='include/linux/mm_types.h' line='496' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6592'>
+          <var-decl name='async_put_work' type-id='type-id-149' visibility='default' filepath='include/linux/mm_types.h' line='500' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='vm_area_struct' size-in-bits='1472' is-struct='yes' visibility='default' filepath='include/linux/mm_types.h' line='269' column='1' id='type-id-5183'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='vm_start' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='272' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='vm_end' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='273' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='vm_next' type-id='type-id-132' visibility='default' filepath='include/linux/mm_types.h' line='277' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='vm_prev' type-id='type-id-132' visibility='default' filepath='include/linux/mm_types.h' line='277' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='vm_rb' type-id='type-id-1846' visibility='default' filepath='include/linux/mm_types.h' line='279' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='rb_subtree_gap' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='287' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='vm_mm' type-id='type-id-158' visibility='default' filepath='include/linux/mm_types.h' line='291' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='vm_page_prot' type-id='type-id-263' visibility='default' filepath='include/linux/mm_types.h' line='292' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='vm_flags' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='293' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='' type-id='type-id-5184' visibility='default' filepath='include/linux/mm_types.h' line='303' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='anon_vma_chain' type-id='type-id-8' visibility='default' filepath='include/linux/mm_types.h' line='317' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='anon_vma' type-id='type-id-5185' visibility='default' filepath='include/linux/mm_types.h' line='319' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='vm_ops' type-id='type-id-1207' visibility='default' filepath='include/linux/mm_types.h' line='322' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='vm_pgoff' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='325' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='vm_file' type-id='type-id-147' visibility='default' filepath='include/linux/mm_types.h' line='327' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='vm_private_data' type-id='type-id-3' visibility='default' filepath='include/linux/mm_types.h' line='328' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='swap_readahead_info' type-id='type-id-138' visibility='default' filepath='include/linux/mm_types.h' line='330' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='vm_userfaultfd_ctx' type-id='type-id-5186' visibility='default' filepath='include/linux/mm_types.h' line='337' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='pgprot_t' type-id='type-id-258' filepath='arch/arm64/include/asm/pgtable-types.h' line='53' column='1' id='type-id-263'/>
+      <class-decl name='__anonymous_struct__8' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-263' visibility='default' filepath='arch/arm64/include/asm/pgtable-types.h' line='53' column='1' id='type-id-258'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='pgprot' type-id='type-id-5187' visibility='default' filepath='arch/arm64/include/asm/pgtable-types.h' line='53' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='pteval_t' type-id='type-id-134' filepath='arch/arm64/include/asm/pgtable-types.h' line='25' column='1' id='type-id-5187'/>
+      <class-decl name='__anonymous_struct__9' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='304' column='1' id='type-id-5188'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='rb' type-id='type-id-1846' visibility='default' filepath='include/linux/mm_types.h' line='305' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='rb_subtree_last' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='306' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='anon_vma' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/rmap.h' line='29' column='1' id='type-id-5189'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='root' type-id='type-id-5185' visibility='default' filepath='include/linux/rmap.h' line='30' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='rwsem' type-id='type-id-139' visibility='default' filepath='include/linux/rmap.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='refcount' type-id='type-id-137' visibility='default' filepath='include/linux/rmap.h' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='degree' type-id='type-id-10' visibility='default' filepath='include/linux/rmap.h' line='47' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='parent' type-id='type-id-5185' visibility='default' filepath='include/linux/rmap.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='rb_root' type-id='type-id-1844' visibility='default' filepath='include/linux/rmap.h' line='61' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='rb_root_cached' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/rbtree.h' line='57' column='1' id='type-id-1844'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='rb_root' type-id='type-id-133' visibility='default' filepath='include/linux/rbtree.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='rb_leftmost' type-id='type-id-4914' visibility='default' filepath='include/linux/rbtree.h' line='59' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='vm_operations_struct' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/linux/mm.h' line='404' column='1' id='type-id-5190'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='open' type-id='type-id-5191' visibility='default' filepath='include/linux/mm.h' line='405' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='close' type-id='type-id-5191' visibility='default' filepath='include/linux/mm.h' line='406' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='split' type-id='type-id-5192' visibility='default' filepath='include/linux/mm.h' line='407' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='mremap' type-id='type-id-5193' visibility='default' filepath='include/linux/mm.h' line='408' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='fault' type-id='type-id-5194' visibility='default' filepath='include/linux/mm.h' line='409' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='huge_fault' type-id='type-id-5195' visibility='default' filepath='include/linux/mm.h' line='410' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='map_pages' type-id='type-id-5196' visibility='default' filepath='include/linux/mm.h' line='412' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='pagesize' type-id='type-id-5197' visibility='default' filepath='include/linux/mm.h' line='414' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='page_mkwrite' type-id='type-id-5194' visibility='default' filepath='include/linux/mm.h' line='418' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='pfn_mkwrite' type-id='type-id-5194' visibility='default' filepath='include/linux/mm.h' line='421' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='access' type-id='type-id-5198' visibility='default' filepath='include/linux/mm.h' line='426' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='name' type-id='type-id-5199' visibility='default' filepath='include/linux/mm.h' line='432' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='find_special_page' type-id='type-id-5200' visibility='default' filepath='include/linux/mm.h' line='462' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='vm_fault_t' type-id='type-id-11' filepath='include/linux/mm_types.h' line='25' column='1' id='type-id-5201'/>
+      <class-decl name='vm_fault' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/linux/mm.h' line='354' column='1' id='type-id-5202'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='vma' type-id='type-id-132' visibility='default' filepath='include/linux/mm.h' line='355' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='include/linux/mm.h' line='356' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='gfp_mask' type-id='type-id-272' visibility='default' filepath='include/linux/mm.h' line='357' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='pgoff' type-id='type-id-100' visibility='default' filepath='include/linux/mm.h' line='358' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='address' type-id='type-id-100' visibility='default' filepath='include/linux/mm.h' line='359' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='pmd' type-id='type-id-5203' visibility='default' filepath='include/linux/mm.h' line='360' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='pud' type-id='type-id-5204' visibility='default' filepath='include/linux/mm.h' line='362' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='orig_pte' type-id='type-id-5205' visibility='default' filepath='include/linux/mm.h' line='365' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='cow_page' type-id='type-id-120' visibility='default' filepath='include/linux/mm.h' line='367' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='memcg' type-id='type-id-5159' visibility='default' filepath='include/linux/mm.h' line='368' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='page' type-id='type-id-120' visibility='default' filepath='include/linux/mm.h' line='369' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='pte' type-id='type-id-5206' visibility='default' filepath='include/linux/mm.h' line='375' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='ptl' type-id='type-id-446' visibility='default' filepath='include/linux/mm.h' line='379' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='prealloc_pte' type-id='type-id-152' visibility='default' filepath='include/linux/mm.h' line='383' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='pmd_t' type-id='type-id-5207' filepath='arch/arm64/include/asm/pgtable-types.h' line='38' column='1' id='type-id-5208'/>
+      <class-decl name='__anonymous_struct__10' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-5208' visibility='default' filepath='arch/arm64/include/asm/pgtable-types.h' line='38' column='1' id='type-id-5207'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='pmd' type-id='type-id-5209' visibility='default' filepath='arch/arm64/include/asm/pgtable-types.h' line='38' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='pmdval_t' type-id='type-id-134' filepath='arch/arm64/include/asm/pgtable-types.h' line='26' column='1' id='type-id-5209'/>
+      <typedef-decl name='pud_t' type-id='type-id-5210' filepath='include/asm-generic/pgtable-nop4d-hack.h' line='15' column='1' id='type-id-5211'/>
+      <class-decl name='__anonymous_struct__11' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-5211' visibility='default' filepath='include/asm-generic/pgtable-nop4d-hack.h' line='15' column='1' id='type-id-5210'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='pgd' type-id='type-id-5212' visibility='default' filepath='include/asm-generic/pgtable-nop4d-hack.h' line='15' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='pgd_t' type-id='type-id-5213' filepath='arch/arm64/include/asm/pgtable-types.h' line='49' column='1' id='type-id-5212'/>
+      <class-decl name='__anonymous_struct__12' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-5212' visibility='default' filepath='arch/arm64/include/asm/pgtable-types.h' line='49' column='1' id='type-id-5213'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='pgd' type-id='type-id-5214' visibility='default' filepath='arch/arm64/include/asm/pgtable-types.h' line='49' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='pgdval_t' type-id='type-id-134' filepath='arch/arm64/include/asm/pgtable-types.h' line='28' column='1' id='type-id-5214'/>
+      <typedef-decl name='pte_t' type-id='type-id-5215' filepath='arch/arm64/include/asm/pgtable-types.h' line='33' column='1' id='type-id-5205'/>
+      <class-decl name='__anonymous_struct__13' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-5205' visibility='default' filepath='arch/arm64/include/asm/pgtable-types.h' line='33' column='1' id='type-id-5215'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='pte' type-id='type-id-5187' visibility='default' filepath='arch/arm64/include/asm/pgtable-types.h' line='33' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='page' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/mm_types.h' line='70' column='1' id='type-id-5216'>
+        <member-type access='public'>
+          <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='163' column='1' id='type-id-5217'>
+            <data-member access='private'>
+              <var-decl name='_mapcount' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='168' column='1'/>
+            </data-member>
+            <data-member access='private'>
+              <var-decl name='page_type' type-id='type-id-10' visibility='default' filepath='include/linux/mm_types.h' line='176' column='1'/>
+            </data-member>
+            <data-member access='private'>
+              <var-decl name='active' type-id='type-id-10' visibility='default' filepath='include/linux/mm_types.h' line='178' column='1'/>
+            </data-member>
+            <data-member access='private'>
+              <var-decl name='units' type-id='type-id-11' visibility='default' filepath='include/linux/mm_types.h' line='179' column='1'/>
+            </data-member>
+          </union-decl>
+        </member-type>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='' type-id='type-id-5218' visibility='default' filepath='include/linux/mm_types.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='_refcount' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='183' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='mem_cgroup' type-id='type-id-5159' visibility='default' filepath='include/linux/mm_types.h' line='186' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__14' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='80' column='1' id='type-id-156'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lru' type-id='type-id-8' visibility='default' filepath='include/linux/mm_types.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='mapping' type-id='type-id-5008' visibility='default' filepath='include/linux/mm_types.h' line='88' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='index' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='private' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='96' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='address_space' size-in-bits='1344' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='417' column='1' id='type-id-5034'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='host' type-id='type-id-1160' visibility='default' filepath='include/linux/fs.h' line='418' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='i_pages' type-id='type-id-3181' visibility='default' filepath='include/linux/fs.h' line='419' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='i_mmap_writable' type-id='type-id-137' visibility='default' filepath='include/linux/fs.h' line='420' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='i_mmap' type-id='type-id-1844' visibility='default' filepath='include/linux/fs.h' line='421' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='i_mmap_rwsem' type-id='type-id-139' visibility='default' filepath='include/linux/fs.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='nrpages' type-id='type-id-100' visibility='default' filepath='include/linux/fs.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='nrexceptional' type-id='type-id-100' visibility='default' filepath='include/linux/fs.h' line='426' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='writeback_index' type-id='type-id-100' visibility='default' filepath='include/linux/fs.h' line='427' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='a_ops' type-id='type-id-5219' visibility='default' filepath='include/linux/fs.h' line='428' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/fs.h' line='429' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='private_lock' type-id='type-id-106' visibility='default' filepath='include/linux/fs.h' line='430' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1056'>
+          <var-decl name='gfp_mask' type-id='type-id-272' visibility='default' filepath='include/linux/fs.h' line='431' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='private_list' type-id='type-id-8' visibility='default' filepath='include/linux/fs.h' line='432' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='private_data' type-id='type-id-3' visibility='default' filepath='include/linux/fs.h' line='433' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='wb_err' type-id='type-id-5009' visibility='default' filepath='include/linux/fs.h' line='434' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='address_space_operations' size-in-bits='1344' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='353' column='1' id='type-id-5220'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='writepage' type-id='type-id-5221' visibility='default' filepath='include/linux/fs.h' line='354' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='readpage' type-id='type-id-5222' visibility='default' filepath='include/linux/fs.h' line='355' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='writepages' type-id='type-id-5223' visibility='default' filepath='include/linux/fs.h' line='358' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='set_page_dirty' type-id='type-id-5224' visibility='default' filepath='include/linux/fs.h' line='361' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='readpages' type-id='type-id-5225' visibility='default' filepath='include/linux/fs.h' line='367' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='write_begin' type-id='type-id-5226' visibility='default' filepath='include/linux/fs.h' line='370' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='write_end' type-id='type-id-5227' visibility='default' filepath='include/linux/fs.h' line='373' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='bmap' type-id='type-id-5228' visibility='default' filepath='include/linux/fs.h' line='378' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='invalidatepage' type-id='type-id-5229' visibility='default' filepath='include/linux/fs.h' line='379' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='releasepage' type-id='type-id-5230' visibility='default' filepath='include/linux/fs.h' line='380' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='freepage' type-id='type-id-5231' visibility='default' filepath='include/linux/fs.h' line='381' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='direct_IO' type-id='type-id-5232' visibility='default' filepath='include/linux/fs.h' line='382' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='migratepage' type-id='type-id-5233' visibility='default' filepath='include/linux/fs.h' line='387' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='isolate_page' type-id='type-id-5234' visibility='default' filepath='include/linux/fs.h' line='389' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='putback_page' type-id='type-id-5231' visibility='default' filepath='include/linux/fs.h' line='390' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='launder_page' type-id='type-id-5224' visibility='default' filepath='include/linux/fs.h' line='391' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='is_partially_uptodate' type-id='type-id-5235' visibility='default' filepath='include/linux/fs.h' line='392' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='is_dirty_writeback' type-id='type-id-5236' visibility='default' filepath='include/linux/fs.h' line='394' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='error_remove_page' type-id='type-id-5237' visibility='default' filepath='include/linux/fs.h' line='395' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='swap_activate' type-id='type-id-5238' visibility='default' filepath='include/linux/fs.h' line='398' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='swap_deactivate' type-id='type-id-5239' visibility='default' filepath='include/linux/fs.h' line='400' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='sector_t' type-id='type-id-100' filepath='include/linux/types.h' line='134' column='1' id='type-id-2142'/>
+      <class-decl name='kiocb' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='310' column='1' id='type-id-5240'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ki_filp' type-id='type-id-147' visibility='default' filepath='include/linux/fs.h' line='311' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ki_pos' type-id='type-id-4528' visibility='default' filepath='include/linux/fs.h' line='316' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='ki_complete' type-id='type-id-5241' visibility='default' filepath='include/linux/fs.h' line='317' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='private' type-id='type-id-3' visibility='default' filepath='include/linux/fs.h' line='318' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='ki_flags' type-id='type-id-11' visibility='default' filepath='include/linux/fs.h' line='319' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='ki_hint' type-id='type-id-289' visibility='default' filepath='include/linux/fs.h' line='320' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='304'>
+          <var-decl name='ki_ioprio' type-id='type-id-289' visibility='default' filepath='include/linux/fs.h' line='321' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='iov_iter' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/uio.h' line='31' column='1' id='type-id-5242'>
+        <member-type access='public'>
+          <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/uio.h' line='41' column='1' id='type-id-5243'>
+            <data-member access='private'>
+              <var-decl name='nr_segs' type-id='type-id-100' visibility='default' filepath='include/linux/uio.h' line='42' column='1'/>
+            </data-member>
+            <data-member access='private'>
+              <var-decl name='' type-id='type-id-5244' visibility='default' filepath='include/linux/uio.h' line='43' column='1'/>
+            </data-member>
+          </union-decl>
+        </member-type>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-11' visibility='default' filepath='include/linux/uio.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='iov_offset' type-id='type-id-125' visibility='default' filepath='include/linux/uio.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='count' type-id='type-id-125' visibility='default' filepath='include/linux/uio.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='' type-id='type-id-5245' visibility='default' filepath='include/linux/uio.h' line='35' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__9' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/uio.h' line='35' column='1' id='type-id-5245'>
+        <data-member access='private'>
+          <var-decl name='iov' type-id='type-id-2205' visibility='default' filepath='include/linux/uio.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='kvec' type-id='type-id-2206' visibility='default' filepath='include/linux/uio.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='bvec' type-id='type-id-2207' visibility='default' filepath='include/linux/uio.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='pipe' type-id='type-id-2208' visibility='default' filepath='include/linux/uio.h' line='39' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='iovec' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/uio.h' line='17' column='1' id='type-id-5246'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='iov_base' type-id='type-id-3' visibility='default' filepath='include/uapi/linux/uio.h' line='19' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='iov_len' type-id='type-id-4897' visibility='default' filepath='include/uapi/linux/uio.h' line='20' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='kvec' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/uio.h' line='19' column='1' id='type-id-5247'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='iov_base' type-id='type-id-3' visibility='default' filepath='include/linux/uio.h' line='20' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='iov_len' type-id='type-id-125' visibility='default' filepath='include/linux/uio.h' line='21' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='bio_vec' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/bvec.h' line='30' column='1' id='type-id-4642'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bv_page' type-id='type-id-120' visibility='default' filepath='include/linux/bvec.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='bv_len' type-id='type-id-10' visibility='default' filepath='include/linux/bvec.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='bv_offset' type-id='type-id-10' visibility='default' filepath='include/linux/bvec.h' line='33' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__15' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/uio.h' line='43' column='1' id='type-id-5244'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='idx' type-id='type-id-11' visibility='default' filepath='include/linux/uio.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='start_idx' type-id='type-id-11' visibility='default' filepath='include/linux/uio.h' line='45' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='migrate_mode' filepath='include/linux/migrate_mode.h' line='15' column='1' id='type-id-5248'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='MIGRATE_ASYNC' value='0'/>
+        <enumerator name='MIGRATE_SYNC_LIGHT' value='1'/>
+        <enumerator name='MIGRATE_SYNC' value='2'/>
+        <enumerator name='MIGRATE_SYNC_NO_COPY' value='3'/>
+      </enum-decl>
+      <typedef-decl name='isolate_mode_t' type-id='type-id-10' filepath='include/linux/mmzone.h' line='267' column='1' id='type-id-5249'/>
+      <class-decl name='swap_info_struct' size-in-bits='2048' is-struct='yes' visibility='default' filepath='include/linux/swap.h' line='231' column='1' id='type-id-5250'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/swap.h' line='232' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='prio' type-id='type-id-3521' visibility='default' filepath='include/linux/swap.h' line='233' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='list' type-id='type-id-4802' visibility='default' filepath='include/linux/swap.h' line='234' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='type' type-id='type-id-4812' visibility='default' filepath='include/linux/swap.h' line='235' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='max' type-id='type-id-10' visibility='default' filepath='include/linux/swap.h' line='236' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='swap_map' type-id='type-id-1047' visibility='default' filepath='include/linux/swap.h' line='237' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='cluster_info' type-id='type-id-5251' visibility='default' filepath='include/linux/swap.h' line='238' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='free_clusters' type-id='type-id-5252' visibility='default' filepath='include/linux/swap.h' line='239' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='lowest_bit' type-id='type-id-10' visibility='default' filepath='include/linux/swap.h' line='240' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='800'>
+          <var-decl name='highest_bit' type-id='type-id-10' visibility='default' filepath='include/linux/swap.h' line='241' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='pages' type-id='type-id-10' visibility='default' filepath='include/linux/swap.h' line='242' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='864'>
+          <var-decl name='inuse_pages' type-id='type-id-10' visibility='default' filepath='include/linux/swap.h' line='243' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='cluster_next' type-id='type-id-10' visibility='default' filepath='include/linux/swap.h' line='244' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='928'>
+          <var-decl name='cluster_nr' type-id='type-id-10' visibility='default' filepath='include/linux/swap.h' line='245' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='percpu_cluster' type-id='type-id-5253' visibility='default' filepath='include/linux/swap.h' line='246' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='curr_swap_extent' type-id='type-id-5254' visibility='default' filepath='include/linux/swap.h' line='247' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='first_swap_extent' type-id='type-id-5255' visibility='default' filepath='include/linux/swap.h' line='248' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='bdev' type-id='type-id-2158' visibility='default' filepath='include/linux/swap.h' line='249' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='swap_file' type-id='type-id-147' visibility='default' filepath='include/linux/swap.h' line='250' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='old_block_size' type-id='type-id-10' visibility='default' filepath='include/linux/swap.h' line='251' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1568'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/linux/swap.h' line='256' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='cont_lock' type-id='type-id-106' visibility='default' filepath='include/linux/swap.h' line='269' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='discard_work' type-id='type-id-149' visibility='default' filepath='include/linux/swap.h' line='273' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='discard_clusters' type-id='type-id-5252' visibility='default' filepath='include/linux/swap.h' line='274' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='avail_lists' type-id='type-id-4803' visibility='default' filepath='include/linux/swap.h' line='275' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='swap_cluster_info' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/swap.h' line='199' column='1' id='type-id-5256'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/linux/swap.h' line='200' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='data' type-id='type-id-10' visibility='default' filepath='include/linux/swap.h' line='206' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='include/linux/swap.h' line='207' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='swap_cluster_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/swap.h' line='223' column='1' id='type-id-5252'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='head' type-id='type-id-5256' visibility='default' filepath='include/linux/swap.h' line='224' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='tail' type-id='type-id-5256' visibility='default' filepath='include/linux/swap.h' line='225' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='percpu_cluster' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/linux/swap.h' line='218' column='1' id='type-id-5257'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='index' type-id='type-id-5256' visibility='default' filepath='include/linux/swap.h' line='219' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='next' type-id='type-id-10' visibility='default' filepath='include/linux/swap.h' line='220' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='swap_extent' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/swap.h' line='148' column='1' id='type-id-5255'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/swap.h' line='149' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='start_page' type-id='type-id-100' visibility='default' filepath='include/linux/swap.h' line='150' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='nr_pages' type-id='type-id-100' visibility='default' filepath='include/linux/swap.h' line='151' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='start_block' type-id='type-id-2142' visibility='default' filepath='include/linux/swap.h' line='152' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='block_device' size-in-bits='1728' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='443' column='1' id='type-id-5258'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bd_dev' type-id='type-id-4404' visibility='default' filepath='include/linux/fs.h' line='444' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='bd_openers' type-id='type-id-11' visibility='default' filepath='include/linux/fs.h' line='445' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='bd_inode' type-id='type-id-1160' visibility='default' filepath='include/linux/fs.h' line='446' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='bd_super' type-id='type-id-2155' visibility='default' filepath='include/linux/fs.h' line='447' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='bd_mutex' type-id='type-id-407' visibility='default' filepath='include/linux/fs.h' line='448' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='bd_claiming' type-id='type-id-3' visibility='default' filepath='include/linux/fs.h' line='449' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='bd_holder' type-id='type-id-3' visibility='default' filepath='include/linux/fs.h' line='450' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='bd_holders' type-id='type-id-11' visibility='default' filepath='include/linux/fs.h' line='451' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='bd_write_holder' type-id='type-id-211' visibility='default' filepath='include/linux/fs.h' line='452' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='bd_holder_disks' type-id='type-id-8' visibility='default' filepath='include/linux/fs.h' line='454' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='bd_contains' type-id='type-id-2158' visibility='default' filepath='include/linux/fs.h' line='456' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='bd_block_size' type-id='type-id-10' visibility='default' filepath='include/linux/fs.h' line='457' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='864'>
+          <var-decl name='bd_partno' type-id='type-id-53' visibility='default' filepath='include/linux/fs.h' line='458' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='bd_part' type-id='type-id-4757' visibility='default' filepath='include/linux/fs.h' line='459' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='bd_part_count' type-id='type-id-10' visibility='default' filepath='include/linux/fs.h' line='461' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='992'>
+          <var-decl name='bd_invalidated' type-id='type-id-11' visibility='default' filepath='include/linux/fs.h' line='462' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='bd_disk' type-id='type-id-270' visibility='default' filepath='include/linux/fs.h' line='463' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='bd_queue' type-id='type-id-268' visibility='default' filepath='include/linux/fs.h' line='464' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='bd_bdi' type-id='type-id-5078' visibility='default' filepath='include/linux/fs.h' line='465' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='bd_list' type-id='type-id-8' visibility='default' filepath='include/linux/fs.h' line='466' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='bd_private' type-id='type-id-100' visibility='default' filepath='include/linux/fs.h' line='473' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='bd_fsfreeze_count' type-id='type-id-11' visibility='default' filepath='include/linux/fs.h' line='476' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='bd_fsfreeze_mutex' type-id='type-id-407' visibility='default' filepath='include/linux/fs.h' line='478' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='hd_struct' size-in-bits='7808' is-struct='yes' visibility='default' filepath='include/linux/genhd.h' line='106' column='1' id='type-id-5259'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='start_sect' type-id='type-id-2142' visibility='default' filepath='include/linux/genhd.h' line='107' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='nr_sects' type-id='type-id-2142' visibility='default' filepath='include/linux/genhd.h' line='113' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='nr_sects_seq' type-id='type-id-1865' visibility='default' filepath='include/linux/genhd.h' line='114' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='alignment_offset' type-id='type-id-2142' visibility='default' filepath='include/linux/genhd.h' line='115' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='discard_alignment' type-id='type-id-10' visibility='default' filepath='include/linux/genhd.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='__dev' type-id='type-id-294' visibility='default' filepath='include/linux/genhd.h' line='117' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6528'>
+          <var-decl name='holder_dir' type-id='type-id-87' visibility='default' filepath='include/linux/genhd.h' line='118' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6592'>
+          <var-decl name='policy' type-id='type-id-11' visibility='default' filepath='include/linux/genhd.h' line='119' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6624'>
+          <var-decl name='partno' type-id='type-id-11' visibility='default' filepath='include/linux/genhd.h' line='119' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6656'>
+          <var-decl name='info' type-id='type-id-5260' visibility='default' filepath='include/linux/genhd.h' line='120' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6720'>
+          <var-decl name='stamp' type-id='type-id-100' visibility='default' filepath='include/linux/genhd.h' line='124' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6784'>
+          <var-decl name='in_flight' type-id='type-id-2151' visibility='default' filepath='include/linux/genhd.h' line='125' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6848'>
+          <var-decl name='dkstats' type-id='type-id-5261' visibility='default' filepath='include/linux/genhd.h' line='127' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6912'>
+          <var-decl name='ref' type-id='type-id-5113' visibility='default' filepath='include/linux/genhd.h' line='131' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7360'>
+          <var-decl name='rcu_work' type-id='type-id-5262' visibility='default' filepath='include/linux/genhd.h' line='132' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='device' size-in-bits='6208' is-struct='yes' visibility='default' filepath='include/linux/device.h' line='999' column='1' id='type-id-294'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='parent' type-id='type-id-86' visibility='default' filepath='include/linux/device.h' line='1000' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='p' type-id='type-id-5263' visibility='default' filepath='include/linux/device.h' line='1002' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='kobj' type-id='type-id-315' visibility='default' filepath='include/linux/device.h' line='1004' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='init_name' type-id='type-id-24' visibility='default' filepath='include/linux/device.h' line='1005' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='type' type-id='type-id-5264' visibility='default' filepath='include/linux/device.h' line='1006' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='mutex' type-id='type-id-407' visibility='default' filepath='include/linux/device.h' line='1008' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='bus' type-id='type-id-531' visibility='default' filepath='include/linux/device.h' line='1012' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='driver' type-id='type-id-621' visibility='default' filepath='include/linux/device.h' line='1013' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='platform_data' type-id='type-id-3' visibility='default' filepath='include/linux/device.h' line='1015' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='driver_data' type-id='type-id-3' visibility='default' filepath='include/linux/device.h' line='1017' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='links' type-id='type-id-5265' visibility='default' filepath='include/linux/device.h' line='1019' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='power' type-id='type-id-5266' visibility='default' filepath='include/linux/device.h' line='1020' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4096'>
+          <var-decl name='pm_domain' type-id='type-id-615' visibility='default' filepath='include/linux/device.h' line='1021' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4160'>
+          <var-decl name='msi_domain' type-id='type-id-5267' visibility='default' filepath='include/linux/device.h' line='1024' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4224'>
+          <var-decl name='pins' type-id='type-id-5268' visibility='default' filepath='include/linux/device.h' line='1027' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4288'>
+          <var-decl name='msi_list' type-id='type-id-8' visibility='default' filepath='include/linux/device.h' line='1030' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4416'>
+          <var-decl name='dma_ops' type-id='type-id-5269' visibility='default' filepath='include/linux/device.h' line='1036' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4480'>
+          <var-decl name='dma_mask' type-id='type-id-1888' visibility='default' filepath='include/linux/device.h' line='1037' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4544'>
+          <var-decl name='coherent_dma_mask' type-id='type-id-134' visibility='default' filepath='include/linux/device.h' line='1038' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4608'>
+          <var-decl name='bus_dma_mask' type-id='type-id-134' visibility='default' filepath='include/linux/device.h' line='1043' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4672'>
+          <var-decl name='dma_pfn_offset' type-id='type-id-100' visibility='default' filepath='include/linux/device.h' line='1044' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4736'>
+          <var-decl name='dma_parms' type-id='type-id-5270' visibility='default' filepath='include/linux/device.h' line='1046' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4800'>
+          <var-decl name='dma_pools' type-id='type-id-8' visibility='default' filepath='include/linux/device.h' line='1048' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4928'>
+          <var-decl name='dma_mem' type-id='type-id-5271' visibility='default' filepath='include/linux/device.h' line='1050' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4992'>
+          <var-decl name='cma_area' type-id='type-id-5272' visibility='default' filepath='include/linux/device.h' line='1053' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5056'>
+          <var-decl name='archdata' type-id='type-id-5273' visibility='default' filepath='include/linux/device.h' line='1057' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5184'>
+          <var-decl name='of_node' type-id='type-id-81' visibility='default' filepath='include/linux/device.h' line='1059' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5248'>
+          <var-decl name='fwnode' type-id='type-id-575' visibility='default' filepath='include/linux/device.h' line='1060' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5312'>
+          <var-decl name='devt' type-id='type-id-4404' visibility='default' filepath='include/linux/device.h' line='1062' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5344'>
+          <var-decl name='id' type-id='type-id-9' visibility='default' filepath='include/linux/device.h' line='1063' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5376'>
+          <var-decl name='devres_lock' type-id='type-id-106' visibility='default' filepath='include/linux/device.h' line='1065' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5440'>
+          <var-decl name='devres_head' type-id='type-id-8' visibility='default' filepath='include/linux/device.h' line='1066' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5568'>
+          <var-decl name='knode_class' type-id='type-id-619' visibility='default' filepath='include/linux/device.h' line='1068' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5824'>
+          <var-decl name='class' type-id='type-id-351' visibility='default' filepath='include/linux/device.h' line='1069' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5888'>
+          <var-decl name='groups' type-id='type-id-298' visibility='default' filepath='include/linux/device.h' line='1070' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5952'>
+          <var-decl name='release' type-id='type-id-1924' visibility='default' filepath='include/linux/device.h' line='1072' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6016'>
+          <var-decl name='iommu_group' type-id='type-id-261' visibility='default' filepath='include/linux/device.h' line='1073' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6080'>
+          <var-decl name='iommu_fwspec' type-id='type-id-5274' visibility='default' filepath='include/linux/device.h' line='1074' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7'>
+          <var-decl name='offline_disabled' type-id='type-id-211' visibility='default' filepath='include/linux/device.h' line='1076' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6'>
+          <var-decl name='offline' type-id='type-id-211' visibility='default' filepath='include/linux/device.h' line='1077' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5'>
+          <var-decl name='of_node_reused' type-id='type-id-211' visibility='default' filepath='include/linux/device.h' line='1078' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4'>
+          <var-decl name='state_synced' type-id='type-id-211' visibility='default' filepath='include/linux/device.h' line='1079' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='device_type' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/device.h' line='568' column='1' id='type-id-1023'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/device.h' line='569' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='groups' type-id='type-id-298' visibility='default' filepath='include/linux/device.h' line='570' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='uevent' type-id='type-id-5275' visibility='default' filepath='include/linux/device.h' line='571' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='devnode' type-id='type-id-5276' visibility='default' filepath='include/linux/device.h' line='572' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='release' type-id='type-id-1924' visibility='default' filepath='include/linux/device.h' line='574' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='pm' type-id='type-id-5277' visibility='default' filepath='include/linux/device.h' line='576' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='attribute_group' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/sysfs.h' line='84' column='1' id='type-id-1025'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/sysfs.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='is_visible' type-id='type-id-5278' visibility='default' filepath='include/linux/sysfs.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='is_bin_visible' type-id='type-id-5279' visibility='default' filepath='include/linux/sysfs.h' line='88' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='attrs' type-id='type-id-1026' visibility='default' filepath='include/linux/sysfs.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='bin_attrs' type-id='type-id-5280' visibility='default' filepath='include/linux/sysfs.h' line='91' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='bin_attribute' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/sysfs.h' line='161' column='1' id='type-id-5281'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='attr' type-id='type-id-858' visibility='default' filepath='include/linux/sysfs.h' line='162' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='size' type-id='type-id-125' visibility='default' filepath='include/linux/sysfs.h' line='163' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='private' type-id='type-id-3' visibility='default' filepath='include/linux/sysfs.h' line='164' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='read' type-id='type-id-5282' visibility='default' filepath='include/linux/sysfs.h' line='165' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='write' type-id='type-id-5282' visibility='default' filepath='include/linux/sysfs.h' line='167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='mmap' type-id='type-id-5283' visibility='default' filepath='include/linux/sysfs.h' line='169' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='dev_pm_ops' size-in-bits='1472' is-struct='yes' visibility='default' filepath='include/linux/pm.h' line='290' column='1' id='type-id-5284'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='prepare' type-id='type-id-591' visibility='default' filepath='include/linux/pm.h' line='291' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='complete' type-id='type-id-1924' visibility='default' filepath='include/linux/pm.h' line='292' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='suspend' type-id='type-id-591' visibility='default' filepath='include/linux/pm.h' line='293' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='resume' type-id='type-id-591' visibility='default' filepath='include/linux/pm.h' line='294' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='freeze' type-id='type-id-591' visibility='default' filepath='include/linux/pm.h' line='295' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='thaw' type-id='type-id-591' visibility='default' filepath='include/linux/pm.h' line='296' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='poweroff' type-id='type-id-591' visibility='default' filepath='include/linux/pm.h' line='297' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='restore' type-id='type-id-591' visibility='default' filepath='include/linux/pm.h' line='298' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='suspend_late' type-id='type-id-591' visibility='default' filepath='include/linux/pm.h' line='299' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='resume_early' type-id='type-id-591' visibility='default' filepath='include/linux/pm.h' line='300' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='freeze_late' type-id='type-id-591' visibility='default' filepath='include/linux/pm.h' line='301' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='thaw_early' type-id='type-id-591' visibility='default' filepath='include/linux/pm.h' line='302' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='poweroff_late' type-id='type-id-591' visibility='default' filepath='include/linux/pm.h' line='303' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='restore_early' type-id='type-id-591' visibility='default' filepath='include/linux/pm.h' line='304' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='suspend_noirq' type-id='type-id-591' visibility='default' filepath='include/linux/pm.h' line='305' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='resume_noirq' type-id='type-id-591' visibility='default' filepath='include/linux/pm.h' line='306' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='freeze_noirq' type-id='type-id-591' visibility='default' filepath='include/linux/pm.h' line='307' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='thaw_noirq' type-id='type-id-591' visibility='default' filepath='include/linux/pm.h' line='308' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='poweroff_noirq' type-id='type-id-591' visibility='default' filepath='include/linux/pm.h' line='309' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='restore_noirq' type-id='type-id-591' visibility='default' filepath='include/linux/pm.h' line='310' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='runtime_suspend' type-id='type-id-591' visibility='default' filepath='include/linux/pm.h' line='311' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='runtime_resume' type-id='type-id-591' visibility='default' filepath='include/linux/pm.h' line='312' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='runtime_idle' type-id='type-id-591' visibility='default' filepath='include/linux/pm.h' line='313' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='bus_type' size-in-bits='1408' is-struct='yes' visibility='default' filepath='include/linux/device.h' line='121' column='1' id='type-id-5285'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/device.h' line='122' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dev_name' type-id='type-id-24' visibility='default' filepath='include/linux/device.h' line='123' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='dev_root' type-id='type-id-86' visibility='default' filepath='include/linux/device.h' line='124' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='bus_groups' type-id='type-id-298' visibility='default' filepath='include/linux/device.h' line='125' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='dev_groups' type-id='type-id-298' visibility='default' filepath='include/linux/device.h' line='126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='drv_groups' type-id='type-id-298' visibility='default' filepath='include/linux/device.h' line='127' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='match' type-id='type-id-5286' visibility='default' filepath='include/linux/device.h' line='129' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='uevent' type-id='type-id-5275' visibility='default' filepath='include/linux/device.h' line='130' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='probe' type-id='type-id-591' visibility='default' filepath='include/linux/device.h' line='131' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='sync_state' type-id='type-id-1924' visibility='default' filepath='include/linux/device.h' line='132' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='remove' type-id='type-id-591' visibility='default' filepath='include/linux/device.h' line='133' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='shutdown' type-id='type-id-1924' visibility='default' filepath='include/linux/device.h' line='134' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='online' type-id='type-id-591' visibility='default' filepath='include/linux/device.h' line='136' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='offline' type-id='type-id-591' visibility='default' filepath='include/linux/device.h' line='137' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='suspend' type-id='type-id-5287' visibility='default' filepath='include/linux/device.h' line='139' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='resume' type-id='type-id-591' visibility='default' filepath='include/linux/device.h' line='140' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='num_vf' type-id='type-id-591' visibility='default' filepath='include/linux/device.h' line='142' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='dma_configure' type-id='type-id-591' visibility='default' filepath='include/linux/device.h' line='144' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='pm' type-id='type-id-5277' visibility='default' filepath='include/linux/device.h' line='146' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='iommu_ops' type-id='type-id-200' visibility='default' filepath='include/linux/device.h' line='148' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='p' type-id='type-id-5288' visibility='default' filepath='include/linux/device.h' line='150' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='lock_key' type-id='type-id-4780' visibility='default' filepath='include/linux/device.h' line='151' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='need_parent_lock' type-id='type-id-211' visibility='default' filepath='include/linux/device.h' line='153' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='device_driver' size-in-bits='1088' is-struct='yes' visibility='default' filepath='include/linux/device.h' line='292' column='1' id='type-id-324'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/device.h' line='293' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='bus' type-id='type-id-531' visibility='default' filepath='include/linux/device.h' line='294' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/linux/device.h' line='296' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='mod_name' type-id='type-id-24' visibility='default' filepath='include/linux/device.h' line='297' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='suppress_bind_attrs' type-id='type-id-211' visibility='default' filepath='include/linux/device.h' line='299' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='probe_type' type-id='type-id-5289' visibility='default' filepath='include/linux/device.h' line='300' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='of_match_table' type-id='type-id-3123' visibility='default' filepath='include/linux/device.h' line='302' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='acpi_match_table' type-id='type-id-5290' visibility='default' filepath='include/linux/device.h' line='303' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='probe' type-id='type-id-591' visibility='default' filepath='include/linux/device.h' line='305' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='sync_state' type-id='type-id-1924' visibility='default' filepath='include/linux/device.h' line='306' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='remove' type-id='type-id-591' visibility='default' filepath='include/linux/device.h' line='307' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='shutdown' type-id='type-id-1924' visibility='default' filepath='include/linux/device.h' line='308' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='suspend' type-id='type-id-5287' visibility='default' filepath='include/linux/device.h' line='309' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='resume' type-id='type-id-591' visibility='default' filepath='include/linux/device.h' line='310' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='groups' type-id='type-id-298' visibility='default' filepath='include/linux/device.h' line='311' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='pm' type-id='type-id-5277' visibility='default' filepath='include/linux/device.h' line='313' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='coredump' type-id='type-id-1924' visibility='default' filepath='include/linux/device.h' line='314' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='p' type-id='type-id-5291' visibility='default' filepath='include/linux/device.h' line='316' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='probe_type' filepath='include/linux/device.h' line='243' column='1' id='type-id-5289'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='PROBE_DEFAULT_STRATEGY' value='0'/>
+        <enumerator name='PROBE_PREFER_ASYNCHRONOUS' value='1'/>
+        <enumerator name='PROBE_FORCE_SYNCHRONOUS' value='2'/>
+      </enum-decl>
+      <class-decl name='of_device_id' size-in-bits='1600' is-struct='yes' visibility='default' filepath='include/linux/mod_devicetable.h' line='241' column='1' id='type-id-5292'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-650' visibility='default' filepath='include/linux/mod_devicetable.h' line='242' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='type' type-id='type-id-650' visibility='default' filepath='include/linux/mod_devicetable.h' line='243' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='compatible' type-id='type-id-13' visibility='default' filepath='include/linux/mod_devicetable.h' line='244' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='data' type-id='type-id-3' visibility='default' filepath='include/linux/mod_devicetable.h' line='245' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='acpi_device_id' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/mod_devicetable.h' line='191' column='1' id='type-id-5293'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='id' type-id='type-id-4629' visibility='default' filepath='include/linux/mod_devicetable.h' line='192' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='driver_data' type-id='type-id-327' visibility='default' filepath='include/linux/mod_devicetable.h' line='193' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='cls' type-id='type-id-266' visibility='default' filepath='include/linux/mod_devicetable.h' line='194' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='cls_msk' type-id='type-id-266' visibility='default' filepath='include/linux/mod_devicetable.h' line='195' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='kernel_ulong_t' type-id='type-id-100' filepath='include/linux/mod_devicetable.h' line='14' column='1' id='type-id-327'/>
+      <typedef-decl name='pm_message_t' type-id='type-id-5294' filepath='include/linux/pm.h' line='64' column='1' id='type-id-348'/>
+      <class-decl name='pm_message' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/linux/pm.h' line='62' column='1' id='type-id-5294'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='event' type-id='type-id-11' visibility='default' filepath='include/linux/pm.h' line='63' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='dev_links_info' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/device.h' line='909' column='1' id='type-id-5265'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='suppliers' type-id='type-id-8' visibility='default' filepath='include/linux/device.h' line='910' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='consumers' type-id='type-id-8' visibility='default' filepath='include/linux/device.h' line='911' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='needs_suppliers' type-id='type-id-8' visibility='default' filepath='include/linux/device.h' line='912' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='defer_sync' type-id='type-id-8' visibility='default' filepath='include/linux/device.h' line='913' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='need_for_probe' type-id='type-id-211' visibility='default' filepath='include/linux/device.h' line='914' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='status' type-id='type-id-5295' visibility='default' filepath='include/linux/device.h' line='915' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='dl_dev_state' filepath='include/linux/device.h' line='892' column='1' id='type-id-5295'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='DL_DEV_NO_DRIVER' value='0'/>
+        <enumerator name='DL_DEV_PROBING' value='1'/>
+        <enumerator name='DL_DEV_DRIVER_BOUND' value='2'/>
+        <enumerator name='DL_DEV_UNBINDING' value='3'/>
+      </enum-decl>
+      <class-decl name='dev_pm_info' size-in-bits='2240' is-struct='yes' visibility='default' filepath='include/linux/pm.h' line='585' column='1' id='type-id-5266'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='power_state' type-id='type-id-348' visibility='default' filepath='include/linux/pm.h' line='586' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='can_wakeup' type-id='type-id-10' visibility='default' filepath='include/linux/pm.h' line='587' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='async_suspend' type-id='type-id-10' visibility='default' filepath='include/linux/pm.h' line='588' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5'>
+          <var-decl name='in_dpm_list' type-id='type-id-211' visibility='default' filepath='include/linux/pm.h' line='589' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4'>
+          <var-decl name='is_prepared' type-id='type-id-211' visibility='default' filepath='include/linux/pm.h' line='590' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3'>
+          <var-decl name='is_suspended' type-id='type-id-211' visibility='default' filepath='include/linux/pm.h' line='591' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2'>
+          <var-decl name='is_noirq_suspended' type-id='type-id-211' visibility='default' filepath='include/linux/pm.h' line='592' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1'>
+          <var-decl name='is_late_suspended' type-id='type-id-211' visibility='default' filepath='include/linux/pm.h' line='593' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='no_pm' type-id='type-id-211' visibility='default' filepath='include/linux/pm.h' line='594' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7'>
+          <var-decl name='early_init' type-id='type-id-211' visibility='default' filepath='include/linux/pm.h' line='595' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6'>
+          <var-decl name='direct_complete' type-id='type-id-211' visibility='default' filepath='include/linux/pm.h' line='596' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='driver_flags' type-id='type-id-9' visibility='default' filepath='include/linux/pm.h' line='597' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/linux/pm.h' line='598' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='entry' type-id='type-id-8' visibility='default' filepath='include/linux/pm.h' line='600' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='completion' type-id='type-id-661' visibility='default' filepath='include/linux/pm.h' line='601' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='wakeup' type-id='type-id-623' visibility='default' filepath='include/linux/pm.h' line='602' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7'>
+          <var-decl name='wakeup_path' type-id='type-id-211' visibility='default' filepath='include/linux/pm.h' line='603' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6'>
+          <var-decl name='syscore' type-id='type-id-211' visibility='default' filepath='include/linux/pm.h' line='604' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5'>
+          <var-decl name='no_pm_callbacks' type-id='type-id-211' visibility='default' filepath='include/linux/pm.h' line='605' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='28'>
+          <var-decl name='must_resume' type-id='type-id-10' visibility='default' filepath='include/linux/pm.h' line='606' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='27'>
+          <var-decl name='may_skip_resume' type-id='type-id-10' visibility='default' filepath='include/linux/pm.h' line='607' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='suspend_timer' type-id='type-id-1240' visibility='default' filepath='include/linux/pm.h' line='612' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='timer_expires' type-id='type-id-100' visibility='default' filepath='include/linux/pm.h' line='613' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='work' type-id='type-id-149' visibility='default' filepath='include/linux/pm.h' line='614' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='wait_queue' type-id='type-id-388' visibility='default' filepath='include/linux/pm.h' line='615' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='wakeirq' type-id='type-id-5296' visibility='default' filepath='include/linux/pm.h' line='616' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='usage_count' type-id='type-id-137' visibility='default' filepath='include/linux/pm.h' line='617' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1568'>
+          <var-decl name='child_count' type-id='type-id-137' visibility='default' filepath='include/linux/pm.h' line='618' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='29'>
+          <var-decl name='disable_depth' type-id='type-id-10' visibility='default' filepath='include/linux/pm.h' line='619' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='28'>
+          <var-decl name='idle_notification' type-id='type-id-10' visibility='default' filepath='include/linux/pm.h' line='620' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='27'>
+          <var-decl name='request_pending' type-id='type-id-10' visibility='default' filepath='include/linux/pm.h' line='621' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='26'>
+          <var-decl name='deferred_resume' type-id='type-id-10' visibility='default' filepath='include/linux/pm.h' line='622' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='25'>
+          <var-decl name='runtime_auto' type-id='type-id-10' visibility='default' filepath='include/linux/pm.h' line='623' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='ignore_children' type-id='type-id-211' visibility='default' filepath='include/linux/pm.h' line='624' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='23'>
+          <var-decl name='no_callbacks' type-id='type-id-10' visibility='default' filepath='include/linux/pm.h' line='625' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='22'>
+          <var-decl name='irq_safe' type-id='type-id-10' visibility='default' filepath='include/linux/pm.h' line='626' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='21'>
+          <var-decl name='use_autosuspend' type-id='type-id-10' visibility='default' filepath='include/linux/pm.h' line='627' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='20'>
+          <var-decl name='timer_autosuspends' type-id='type-id-10' visibility='default' filepath='include/linux/pm.h' line='628' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='19'>
+          <var-decl name='memalloc_noio' type-id='type-id-10' visibility='default' filepath='include/linux/pm.h' line='629' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1632'>
+          <var-decl name='links_count' type-id='type-id-10' visibility='default' filepath='include/linux/pm.h' line='630' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='request' type-id='type-id-5297' visibility='default' filepath='include/linux/pm.h' line='631' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1696'>
+          <var-decl name='runtime_status' type-id='type-id-5298' visibility='default' filepath='include/linux/pm.h' line='632' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='runtime_error' type-id='type-id-11' visibility='default' filepath='include/linux/pm.h' line='633' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1760'>
+          <var-decl name='autosuspend_delay' type-id='type-id-11' visibility='default' filepath='include/linux/pm.h' line='634' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='last_busy' type-id='type-id-100' visibility='default' filepath='include/linux/pm.h' line='635' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='active_jiffies' type-id='type-id-100' visibility='default' filepath='include/linux/pm.h' line='636' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='suspended_jiffies' type-id='type-id-100' visibility='default' filepath='include/linux/pm.h' line='637' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='accounting_timestamp' type-id='type-id-100' visibility='default' filepath='include/linux/pm.h' line='638' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='subsys_data' type-id='type-id-5299' visibility='default' filepath='include/linux/pm.h' line='640' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='set_latency_tolerance' type-id='type-id-5300' visibility='default' filepath='include/linux/pm.h' line='641' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='qos' type-id='type-id-5301' visibility='default' filepath='include/linux/pm.h' line='642' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='completion' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/completion.h' line='26' column='1' id='type-id-661'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='done' type-id='type-id-10' visibility='default' filepath='include/linux/completion.h' line='27' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='wait' type-id='type-id-388' visibility='default' filepath='include/linux/completion.h' line='28' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='wait_queue_head_t' type-id='type-id-5302' filepath='include/linux/wait.h' line='38' column='1' id='type-id-388'/>
+      <class-decl name='wait_queue_head' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/wait.h' line='34' column='1' id='type-id-5302'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/linux/wait.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='head' type-id='type-id-8' visibility='default' filepath='include/linux/wait.h' line='36' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='wakeup_source' size-in-bits='1536' is-struct='yes' visibility='default' filepath='include/linux/pm_wakeup.h' line='56' column='1' id='type-id-5303'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/pm_wakeup.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='id' type-id='type-id-11' visibility='default' filepath='include/linux/pm_wakeup.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='entry' type-id='type-id-8' visibility='default' filepath='include/linux/pm_wakeup.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/linux/pm_wakeup.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='wakeirq' type-id='type-id-5296' visibility='default' filepath='include/linux/pm_wakeup.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='timer' type-id='type-id-1240' visibility='default' filepath='include/linux/pm_wakeup.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='timer_expires' type-id='type-id-100' visibility='default' filepath='include/linux/pm_wakeup.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='total_time' type-id='type-id-585' visibility='default' filepath='include/linux/pm_wakeup.h' line='64' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='max_time' type-id='type-id-585' visibility='default' filepath='include/linux/pm_wakeup.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='last_time' type-id='type-id-585' visibility='default' filepath='include/linux/pm_wakeup.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='start_prevent_time' type-id='type-id-585' visibility='default' filepath='include/linux/pm_wakeup.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='prevent_sleep_time' type-id='type-id-585' visibility='default' filepath='include/linux/pm_wakeup.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='event_count' type-id='type-id-100' visibility='default' filepath='include/linux/pm_wakeup.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='active_count' type-id='type-id-100' visibility='default' filepath='include/linux/pm_wakeup.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='relax_count' type-id='type-id-100' visibility='default' filepath='include/linux/pm_wakeup.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='expire_count' type-id='type-id-100' visibility='default' filepath='include/linux/pm_wakeup.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='wakeup_count' type-id='type-id-100' visibility='default' filepath='include/linux/pm_wakeup.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/linux/pm_wakeup.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7'>
+          <var-decl name='active' type-id='type-id-211' visibility='default' filepath='include/linux/pm_wakeup.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6'>
+          <var-decl name='autosleep_enabled' type-id='type-id-211' visibility='default' filepath='include/linux/pm_wakeup.h' line='76' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='timer_list' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/timer.h' line='11' column='1' id='type-id-1240'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='entry' type-id='type-id-378' visibility='default' filepath='include/linux/timer.h' line='16' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='expires' type-id='type-id-100' visibility='default' filepath='include/linux/timer.h' line='17' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='function' type-id='type-id-5304' visibility='default' filepath='include/linux/timer.h' line='18' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='flags' type-id='type-id-9' visibility='default' filepath='include/linux/timer.h' line='19' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='work_struct' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/workqueue.h' line='102' column='1' id='type-id-149'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='data' type-id='type-id-138' visibility='default' filepath='include/linux/workqueue.h' line='103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='entry' type-id='type-id-8' visibility='default' filepath='include/linux/workqueue.h' line='104' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='func' type-id='type-id-5305' visibility='default' filepath='include/linux/workqueue.h' line='105' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='work_func_t' type-id='type-id-5306' filepath='include/linux/workqueue.h' line='21' column='1' id='type-id-5305'/>
+      <enum-decl name='rpm_request' filepath='include/linux/pm.h' line='530' column='1' id='type-id-5297'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='RPM_REQ_NONE' value='0'/>
+        <enumerator name='RPM_REQ_IDLE' value='1'/>
+        <enumerator name='RPM_REQ_SUSPEND' value='2'/>
+        <enumerator name='RPM_REQ_AUTOSUSPEND' value='3'/>
+        <enumerator name='RPM_REQ_RESUME' value='4'/>
+      </enum-decl>
+      <enum-decl name='rpm_status' filepath='include/linux/pm.h' line='508' column='1' id='type-id-5298'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='RPM_ACTIVE' value='0'/>
+        <enumerator name='RPM_RESUMING' value='1'/>
+        <enumerator name='RPM_SUSPENDED' value='2'/>
+        <enumerator name='RPM_SUSPENDING' value='3'/>
+      </enum-decl>
+      <class-decl name='pm_subsys_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/pm.h' line='542' column='1' id='type-id-5307'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/linux/pm.h' line='543' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='refcount' type-id='type-id-10' visibility='default' filepath='include/linux/pm.h' line='544' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='clock_list' type-id='type-id-8' visibility='default' filepath='include/linux/pm.h' line='546' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='domain_data' type-id='type-id-5308' visibility='default' filepath='include/linux/pm.h' line='549' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='s32' type-id='type-id-2310' filepath='include/asm-generic/int-ll64.h' line='20' column='1' id='type-id-939'/>
+      <typedef-decl name='__s32' type-id='type-id-11' filepath='include/uapi/asm-generic/int-ll64.h' line='26' column='1' id='type-id-2310'/>
+      <class-decl name='dev_pm_domain' size-in-bits='1728' is-struct='yes' visibility='default' filepath='include/linux/pm.h' line='662' column='1' id='type-id-573'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ops' type-id='type-id-5284' visibility='default' filepath='include/linux/pm.h' line='663' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='detach' type-id='type-id-5309' visibility='default' filepath='include/linux/pm.h' line='664' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='activate' type-id='type-id-591' visibility='default' filepath='include/linux/pm.h' line='665' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='sync' type-id='type-id-1924' visibility='default' filepath='include/linux/pm.h' line='666' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='dismiss' type-id='type-id-1924' visibility='default' filepath='include/linux/pm.h' line='667' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='device_dma_parameters' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/device.h' line='762' column='1' id='type-id-291'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='max_segment_size' type-id='type-id-10' visibility='default' filepath='include/linux/device.h' line='767' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='segment_boundary_mask' type-id='type-id-100' visibility='default' filepath='include/linux/device.h' line='768' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='dev_archdata' size-in-bits='128' is-struct='yes' visibility='default' filepath='arch/arm64/include/asm/device.h' line='19' column='1' id='type-id-5273'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='iommu' type-id='type-id-3' visibility='default' filepath='arch/arm64/include/asm/device.h' line='21' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dma_coherent' type-id='type-id-211' visibility='default' filepath='arch/arm64/include/asm/device.h' line='26' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='device_node' size-in-bits='1408' is-struct='yes' visibility='default' filepath='include/linux/of.h' line='51' column='1' id='type-id-78'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/of.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='type' type-id='type-id-24' visibility='default' filepath='include/linux/of.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='phandle' type-id='type-id-2084' visibility='default' filepath='include/linux/of.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='full_name' type-id='type-id-24' visibility='default' filepath='include/linux/of.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='fwnode' type-id='type-id-5310' visibility='default' filepath='include/linux/of.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='properties' type-id='type-id-834' visibility='default' filepath='include/linux/of.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='deadprops' type-id='type-id-834' visibility='default' filepath='include/linux/of.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='parent' type-id='type-id-81' visibility='default' filepath='include/linux/of.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='child' type-id='type-id-81' visibility='default' filepath='include/linux/of.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='sibling' type-id='type-id-81' visibility='default' filepath='include/linux/of.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='kobj' type-id='type-id-315' visibility='default' filepath='include/linux/of.h' line='64' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='_flags' type-id='type-id-100' visibility='default' filepath='include/linux/of.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='data' type-id='type-id-3' visibility='default' filepath='include/linux/of.h' line='67' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='phandle' type-id='type-id-9' filepath='include/linux/of.h' line='28' column='1' id='type-id-2084'/>
+      <class-decl name='fwnode_handle' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/fwnode.h' line='20' column='1' id='type-id-5310'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='secondary' type-id='type-id-575' visibility='default' filepath='include/linux/fwnode.h' line='21' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ops' type-id='type-id-5311' visibility='default' filepath='include/linux/fwnode.h' line='22' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/linux/fwnode.h' line='23' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='fwnode_operations' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/linux/fwnode.h' line='111' column='1' id='type-id-5312'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='get' type-id='type-id-5313' visibility='default' filepath='include/linux/fwnode.h' line='112' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='put' type-id='type-id-5314' visibility='default' filepath='include/linux/fwnode.h' line='113' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='device_is_available' type-id='type-id-5315' visibility='default' filepath='include/linux/fwnode.h' line='114' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='device_get_match_data' type-id='type-id-5316' visibility='default' filepath='include/linux/fwnode.h' line='115' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='property_present' type-id='type-id-5317' visibility='default' filepath='include/linux/fwnode.h' line='117' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='property_read_int_array' type-id='type-id-5318' visibility='default' filepath='include/linux/fwnode.h' line='119' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='property_read_string_array' type-id='type-id-5319' visibility='default' filepath='include/linux/fwnode.h' line='124' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='get_parent' type-id='type-id-5320' visibility='default' filepath='include/linux/fwnode.h' line='127' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='get_next_child_node' type-id='type-id-5321' visibility='default' filepath='include/linux/fwnode.h' line='129' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='get_named_child_node' type-id='type-id-5322' visibility='default' filepath='include/linux/fwnode.h' line='132' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='get_reference_args' type-id='type-id-5323' visibility='default' filepath='include/linux/fwnode.h' line='134' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='graph_get_next_endpoint' type-id='type-id-5321' visibility='default' filepath='include/linux/fwnode.h' line='139' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='graph_get_remote_endpoint' type-id='type-id-5320' visibility='default' filepath='include/linux/fwnode.h' line='142' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='graph_get_port_parent' type-id='type-id-5313' visibility='default' filepath='include/linux/fwnode.h' line='144' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='graph_parse_endpoint' type-id='type-id-5324' visibility='default' filepath='include/linux/fwnode.h' line='145' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='add_links' type-id='type-id-5325' visibility='default' filepath='include/linux/fwnode.h' line='147' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='fwnode_reference_args' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/fwnode.h' line='46' column='1' id='type-id-5326'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='fwnode' type-id='type-id-575' visibility='default' filepath='include/linux/fwnode.h' line='47' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='nargs' type-id='type-id-10' visibility='default' filepath='include/linux/fwnode.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='args' type-id='type-id-4823' visibility='default' filepath='include/linux/fwnode.h' line='49' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='fwnode_endpoint' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/fwnode.h' line='32' column='1' id='type-id-5327'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='port' type-id='type-id-10' visibility='default' filepath='include/linux/fwnode.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='id' type-id='type-id-10' visibility='default' filepath='include/linux/fwnode.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='local_fwnode' type-id='type-id-624' visibility='default' filepath='include/linux/fwnode.h' line='35' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='property' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/linux/of.h' line='31' column='1' id='type-id-5328'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-300' visibility='default' filepath='include/linux/of.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='length' type-id='type-id-11' visibility='default' filepath='include/linux/of.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='value' type-id='type-id-3' visibility='default' filepath='include/linux/of.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='next' type-id='type-id-834' visibility='default' filepath='include/linux/of.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='attr' type-id='type-id-5281' visibility='default' filepath='include/linux/of.h' line='43' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='klist_node' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/klist.h' line='39' column='1' id='type-id-619'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='n_klist' type-id='type-id-3' visibility='default' filepath='include/linux/klist.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='n_node' type-id='type-id-8' visibility='default' filepath='include/linux/klist.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='n_ref' type-id='type-id-771' visibility='default' filepath='include/linux/klist.h' line='42' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='class' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/linux/device.h' line='418' column='1' id='type-id-5329'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/device.h' line='419' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/linux/device.h' line='420' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='class_groups' type-id='type-id-298' visibility='default' filepath='include/linux/device.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='dev_groups' type-id='type-id-298' visibility='default' filepath='include/linux/device.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='dev_kobj' type-id='type-id-87' visibility='default' filepath='include/linux/device.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='dev_uevent' type-id='type-id-5275' visibility='default' filepath='include/linux/device.h' line='426' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='devnode' type-id='type-id-5330' visibility='default' filepath='include/linux/device.h' line='427' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='class_release' type-id='type-id-5331' visibility='default' filepath='include/linux/device.h' line='429' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='dev_release' type-id='type-id-1924' visibility='default' filepath='include/linux/device.h' line='430' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='shutdown_pre' type-id='type-id-591' visibility='default' filepath='include/linux/device.h' line='432' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='ns_type' type-id='type-id-5332' visibility='default' filepath='include/linux/device.h' line='434' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='namespace' type-id='type-id-5333' visibility='default' filepath='include/linux/device.h' line='435' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='get_ownership' type-id='type-id-5334' visibility='default' filepath='include/linux/device.h' line='437' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='pm' type-id='type-id-5277' visibility='default' filepath='include/linux/device.h' line='439' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='p' type-id='type-id-5288' visibility='default' filepath='include/linux/device.h' line='441' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='partition_meta_info' size-in-bits='808' is-struct='yes' visibility='default' filepath='include/linux/genhd.h' line='101' column='1' id='type-id-5335'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='uuid' type-id='type-id-4656' visibility='default' filepath='include/linux/genhd.h' line='102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='296'>
+          <var-decl name='volname' type-id='type-id-3598' visibility='default' filepath='include/linux/genhd.h' line='103' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='disk_stats' size-in-bits='896' is-struct='yes' visibility='default' filepath='include/linux/genhd.h' line='85' column='1' id='type-id-5336'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='nsecs' type-id='type-id-4820' visibility='default' filepath='include/linux/genhd.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='sectors' type-id='type-id-2356' visibility='default' filepath='include/linux/genhd.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='ios' type-id='type-id-2356' visibility='default' filepath='include/linux/genhd.h' line='88' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='merges' type-id='type-id-2356' visibility='default' filepath='include/linux/genhd.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='io_ticks' type-id='type-id-100' visibility='default' filepath='include/linux/genhd.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='time_in_queue' type-id='type-id-100' visibility='default' filepath='include/linux/genhd.h' line='91' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='percpu_ref' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/percpu-refcount.h' line='88' column='1' id='type-id-5113'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='count' type-id='type-id-138' visibility='default' filepath='include/linux/percpu-refcount.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='percpu_count_ptr' type-id='type-id-100' visibility='default' filepath='include/linux/percpu-refcount.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='release' type-id='type-id-5337' visibility='default' filepath='include/linux/percpu-refcount.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='confirm_switch' type-id='type-id-5337' visibility='default' filepath='include/linux/percpu-refcount.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7'>
+          <var-decl name='force_atomic' type-id='type-id-211' visibility='default' filepath='include/linux/percpu-refcount.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/linux/percpu-refcount.h' line='98' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='percpu_ref_func_t' type-id='type-id-5338' filepath='include/linux/percpu-refcount.h' line='60' column='1' id='type-id-5339'/>
+      <class-decl name='rcu_work' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/workqueue.h' line='124' column='1' id='type-id-5262'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='work' type-id='type-id-149' visibility='default' filepath='include/linux/workqueue.h' line='125' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/linux/workqueue.h' line='126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='wq' type-id='type-id-2154' visibility='default' filepath='include/linux/workqueue.h' line='129' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='gendisk' size-in-bits='9344' is-struct='yes' visibility='default' filepath='include/linux/genhd.h' line='174' column='1' id='type-id-5340'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='major' type-id='type-id-11' visibility='default' filepath='include/linux/genhd.h' line='178' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='first_minor' type-id='type-id-11' visibility='default' filepath='include/linux/genhd.h' line='179' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='minors' type-id='type-id-11' visibility='default' filepath='include/linux/genhd.h' line='180' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='disk_name' type-id='type-id-650' visibility='default' filepath='include/linux/genhd.h' line='183' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='devnode' type-id='type-id-5341' visibility='default' filepath='include/linux/genhd.h' line='184' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='events' type-id='type-id-10' visibility='default' filepath='include/linux/genhd.h' line='186' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='async_events' type-id='type-id-10' visibility='default' filepath='include/linux/genhd.h' line='187' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='part_tbl' type-id='type-id-5342' visibility='default' filepath='include/linux/genhd.h' line='194' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='part0' type-id='type-id-5259' visibility='default' filepath='include/linux/genhd.h' line='195' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8384'>
+          <var-decl name='fops' type-id='type-id-5343' visibility='default' filepath='include/linux/genhd.h' line='197' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8448'>
+          <var-decl name='queue' type-id='type-id-268' visibility='default' filepath='include/linux/genhd.h' line='198' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8512'>
+          <var-decl name='private_data' type-id='type-id-3' visibility='default' filepath='include/linux/genhd.h' line='199' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8576'>
+          <var-decl name='flags' type-id='type-id-11' visibility='default' filepath='include/linux/genhd.h' line='201' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8640'>
+          <var-decl name='lookup_sem' type-id='type-id-139' visibility='default' filepath='include/linux/genhd.h' line='202' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8960'>
+          <var-decl name='slave_dir' type-id='type-id-87' visibility='default' filepath='include/linux/genhd.h' line='203' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9024'>
+          <var-decl name='random' type-id='type-id-5344' visibility='default' filepath='include/linux/genhd.h' line='205' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9088'>
+          <var-decl name='sync_io' type-id='type-id-137' visibility='default' filepath='include/linux/genhd.h' line='206' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9152'>
+          <var-decl name='ev' type-id='type-id-5345' visibility='default' filepath='include/linux/genhd.h' line='207' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9216'>
+          <var-decl name='node_id' type-id='type-id-11' visibility='default' filepath='include/linux/genhd.h' line='211' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9280'>
+          <var-decl name='bb' type-id='type-id-5346' visibility='default' filepath='include/linux/genhd.h' line='212' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9344'>
+          <var-decl name='lockdep_map' type-id='type-id-5347' visibility='default' filepath='include/linux/genhd.h' line='213' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='disk_part_tbl' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/genhd.h' line='152' column='1' id='type-id-5348'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='callback_head' type-id='type-id-157' visibility='default' filepath='include/linux/genhd.h' line='153' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='len' type-id='type-id-11' visibility='default' filepath='include/linux/genhd.h' line='154' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='last_lookup' type-id='type-id-4757' visibility='default' filepath='include/linux/genhd.h' line='155' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='part' type-id='type-id-4758' visibility='default' filepath='include/linux/genhd.h' line='156' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='block_device_operations' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/linux/blkdev.h' line='1984' column='1' id='type-id-5349'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='open' type-id='type-id-5350' visibility='default' filepath='include/linux/blkdev.h' line='1985' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='release' type-id='type-id-5351' visibility='default' filepath='include/linux/blkdev.h' line='1986' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='rw_page' type-id='type-id-5352' visibility='default' filepath='include/linux/blkdev.h' line='1987' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='ioctl' type-id='type-id-5353' visibility='default' filepath='include/linux/blkdev.h' line='1988' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='compat_ioctl' type-id='type-id-5353' visibility='default' filepath='include/linux/blkdev.h' line='1989' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='check_events' type-id='type-id-5354' visibility='default' filepath='include/linux/blkdev.h' line='1990' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='media_changed' type-id='type-id-5355' visibility='default' filepath='include/linux/blkdev.h' line='1993' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='unlock_native_capacity' type-id='type-id-5356' visibility='default' filepath='include/linux/blkdev.h' line='1994' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='revalidate_disk' type-id='type-id-5355' visibility='default' filepath='include/linux/blkdev.h' line='1995' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='getgeo' type-id='type-id-5357' visibility='default' filepath='include/linux/blkdev.h' line='1996' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='swap_slot_free_notify' type-id='type-id-5358' visibility='default' filepath='include/linux/blkdev.h' line='1998' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/linux/blkdev.h' line='1999' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='pr_ops' type-id='type-id-5359' visibility='default' filepath='include/linux/blkdev.h' line='2000' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='fmode_t' type-id='type-id-10' filepath='include/linux/types.h' line='160' column='1' id='type-id-2147'/>
+      <class-decl name='request_queue' size-in-bits='17920' is-struct='yes' visibility='default' filepath='include/linux/blkdev.h' line='434' column='1' id='type-id-5360'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='queue_head' type-id='type-id-8' visibility='default' filepath='include/linux/blkdev.h' line='438' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='last_merge' type-id='type-id-269' visibility='default' filepath='include/linux/blkdev.h' line='439' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='elevator' type-id='type-id-5361' visibility='default' filepath='include/linux/blkdev.h' line='440' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='nr_rqs' type-id='type-id-1324' visibility='default' filepath='include/linux/blkdev.h' line='441' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='nr_rqs_elvpriv' type-id='type-id-11' visibility='default' filepath='include/linux/blkdev.h' line='442' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='stats' type-id='type-id-5362' visibility='default' filepath='include/linux/blkdev.h' line='444' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='rq_qos' type-id='type-id-445' visibility='default' filepath='include/linux/blkdev.h' line='445' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='root_rl' type-id='type-id-4573' visibility='default' filepath='include/linux/blkdev.h' line='453' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='request_fn' type-id='type-id-5363' visibility='default' filepath='include/linux/blkdev.h' line='455' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='make_request_fn' type-id='type-id-5364' visibility='default' filepath='include/linux/blkdev.h' line='456' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='poll_fn' type-id='type-id-5365' visibility='default' filepath='include/linux/blkdev.h' line='457' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='prep_rq_fn' type-id='type-id-5366' visibility='default' filepath='include/linux/blkdev.h' line='458' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='unprep_rq_fn' type-id='type-id-5367' visibility='default' filepath='include/linux/blkdev.h' line='459' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='softirq_done_fn' type-id='type-id-5368' visibility='default' filepath='include/linux/blkdev.h' line='460' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='rq_timed_out_fn' type-id='type-id-5369' visibility='default' filepath='include/linux/blkdev.h' line='461' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='dma_drain_needed' type-id='type-id-5370' visibility='default' filepath='include/linux/blkdev.h' line='462' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='lld_busy_fn' type-id='type-id-5371' visibility='default' filepath='include/linux/blkdev.h' line='463' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='init_rq_fn' type-id='type-id-5372' visibility='default' filepath='include/linux/blkdev.h' line='465' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='exit_rq_fn' type-id='type-id-5373' visibility='default' filepath='include/linux/blkdev.h' line='467' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='initialize_rq_fn' type-id='type-id-5374' visibility='default' filepath='include/linux/blkdev.h' line='469' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='mq_ops' type-id='type-id-405' visibility='default' filepath='include/linux/blkdev.h' line='471' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='mq_map' type-id='type-id-72' visibility='default' filepath='include/linux/blkdev.h' line='473' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='queue_ctx' type-id='type-id-374' visibility='default' filepath='include/linux/blkdev.h' line='476' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='nr_queues' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='477' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2272'>
+          <var-decl name='queue_depth' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='479' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='queue_hw_ctx' type-id='type-id-5375' visibility='default' filepath='include/linux/blkdev.h' line='482' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='nr_hw_queues' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='483' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='end_sector' type-id='type-id-2142' visibility='default' filepath='include/linux/blkdev.h' line='488' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='boundary_rq' type-id='type-id-269' visibility='default' filepath='include/linux/blkdev.h' line='489' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='delay_work' type-id='type-id-370' visibility='default' filepath='include/linux/blkdev.h' line='494' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3264'>
+          <var-decl name='backing_dev_info' type-id='type-id-5078' visibility='default' filepath='include/linux/blkdev.h' line='496' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3328'>
+          <var-decl name='queuedata' type-id='type-id-3' visibility='default' filepath='include/linux/blkdev.h' line='502' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3392'>
+          <var-decl name='queue_flags' type-id='type-id-100' visibility='default' filepath='include/linux/blkdev.h' line='507' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3456'>
+          <var-decl name='pm_only' type-id='type-id-137' visibility='default' filepath='include/linux/blkdev.h' line='513' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3488'>
+          <var-decl name='id' type-id='type-id-11' visibility='default' filepath='include/linux/blkdev.h' line='519' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3520'>
+          <var-decl name='bounce_gfp' type-id='type-id-272' visibility='default' filepath='include/linux/blkdev.h' line='524' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3552'>
+          <var-decl name='__queue_lock' type-id='type-id-106' visibility='default' filepath='include/linux/blkdev.h' line='531' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3584'>
+          <var-decl name='queue_lock' type-id='type-id-446' visibility='default' filepath='include/linux/blkdev.h' line='532' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3648'>
+          <var-decl name='kobj' type-id='type-id-315' visibility='default' filepath='include/linux/blkdev.h' line='537' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4160'>
+          <var-decl name='mq_kobj' type-id='type-id-315' visibility='default' filepath='include/linux/blkdev.h' line='542' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4672'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/linux/blkdev.h' line='549' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4736'>
+          <var-decl name='rpm_status' type-id='type-id-11' visibility='default' filepath='include/linux/blkdev.h' line='550' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4768'>
+          <var-decl name='nr_pending' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='551' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4800'>
+          <var-decl name='nr_requests' type-id='type-id-100' visibility='default' filepath='include/linux/blkdev.h' line='557' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4864'>
+          <var-decl name='nr_congestion_on' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='558' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4896'>
+          <var-decl name='nr_congestion_off' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='559' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4928'>
+          <var-decl name='nr_batching' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='560' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4960'>
+          <var-decl name='dma_drain_size' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='562' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4992'>
+          <var-decl name='dma_drain_buffer' type-id='type-id-3' visibility='default' filepath='include/linux/blkdev.h' line='563' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5056'>
+          <var-decl name='dma_pad_mask' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='564' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5088'>
+          <var-decl name='dma_alignment' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='565' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5120'>
+          <var-decl name='queue_tags' type-id='type-id-3562' visibility='default' filepath='include/linux/blkdev.h' line='567' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5184'>
+          <var-decl name='nr_sorted' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='569' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5216'>
+          <var-decl name='in_flight' type-id='type-id-3971' visibility='default' filepath='include/linux/blkdev.h' line='570' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5280'>
+          <var-decl name='request_fn_active' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='577' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5312'>
+          <var-decl name='ksm' type-id='type-id-3511' visibility='default' filepath='include/linux/blkdev.h' line='580' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5376'>
+          <var-decl name='rq_timeout' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='583' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5408'>
+          <var-decl name='poll_nsec' type-id='type-id-11' visibility='default' filepath='include/linux/blkdev.h' line='584' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5440'>
+          <var-decl name='poll_cb' type-id='type-id-444' visibility='default' filepath='include/linux/blkdev.h' line='586' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5504'>
+          <var-decl name='poll_stat' type-id='type-id-4644' visibility='default' filepath='include/linux/blkdev.h' line='587' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10624'>
+          <var-decl name='timeout' type-id='type-id-1240' visibility='default' filepath='include/linux/blkdev.h' line='589' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10944'>
+          <var-decl name='timeout_work' type-id='type-id-149' visibility='default' filepath='include/linux/blkdev.h' line='590' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11200'>
+          <var-decl name='timeout_list' type-id='type-id-8' visibility='default' filepath='include/linux/blkdev.h' line='591' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11328'>
+          <var-decl name='icq_list' type-id='type-id-8' visibility='default' filepath='include/linux/blkdev.h' line='593' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11456'>
+          <var-decl name='blkcg_pols' type-id='type-id-930' visibility='default' filepath='include/linux/blkdev.h' line='595' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11520'>
+          <var-decl name='root_blkg' type-id='type-id-5376' visibility='default' filepath='include/linux/blkdev.h' line='596' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11584'>
+          <var-decl name='blkg_list' type-id='type-id-8' visibility='default' filepath='include/linux/blkdev.h' line='597' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11712'>
+          <var-decl name='limits' type-id='type-id-2233' visibility='default' filepath='include/linux/blkdev.h' line='600' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12544'>
+          <var-decl name='sg_timeout' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='628' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12576'>
+          <var-decl name='sg_reserved_size' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='629' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12608'>
+          <var-decl name='node' type-id='type-id-11' visibility='default' filepath='include/linux/blkdev.h' line='630' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12672'>
+          <var-decl name='fq' type-id='type-id-5377' visibility='default' filepath='include/linux/blkdev.h' line='638' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12736'>
+          <var-decl name='requeue_list' type-id='type-id-8' visibility='default' filepath='include/linux/blkdev.h' line='640' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12864'>
+          <var-decl name='requeue_lock' type-id='type-id-106' visibility='default' filepath='include/linux/blkdev.h' line='641' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12928'>
+          <var-decl name='requeue_work' type-id='type-id-370' visibility='default' filepath='include/linux/blkdev.h' line='642' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13632'>
+          <var-decl name='sysfs_lock' type-id='type-id-407' visibility='default' filepath='include/linux/blkdev.h' line='644' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13888'>
+          <var-decl name='bypass_depth' type-id='type-id-11' visibility='default' filepath='include/linux/blkdev.h' line='646' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13920'>
+          <var-decl name='mq_freeze_depth' type-id='type-id-137' visibility='default' filepath='include/linux/blkdev.h' line='647' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13952'>
+          <var-decl name='bsg_job_fn' type-id='type-id-5378' visibility='default' filepath='include/linux/blkdev.h' line='650' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14016'>
+          <var-decl name='bsg_dev' type-id='type-id-5379' visibility='default' filepath='include/linux/blkdev.h' line='651' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14272'>
+          <var-decl name='callback_head' type-id='type-id-157' visibility='default' filepath='include/linux/blkdev.h' line='658' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14400'>
+          <var-decl name='mq_freeze_wq' type-id='type-id-388' visibility='default' filepath='include/linux/blkdev.h' line='659' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14592'>
+          <var-decl name='q_usage_counter' type-id='type-id-5113' visibility='default' filepath='include/linux/blkdev.h' line='660' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15040'>
+          <var-decl name='all_q_node' type-id='type-id-8' visibility='default' filepath='include/linux/blkdev.h' line='661' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15168'>
+          <var-decl name='tag_set' type-id='type-id-5380' visibility='default' filepath='include/linux/blkdev.h' line='663' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15232'>
+          <var-decl name='tag_set_list' type-id='type-id-8' visibility='default' filepath='include/linux/blkdev.h' line='664' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15360'>
+          <var-decl name='bio_split' type-id='type-id-2153' visibility='default' filepath='include/linux/blkdev.h' line='665' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='17152'>
+          <var-decl name='mq_sysfs_init_done' type-id='type-id-211' visibility='default' filepath='include/linux/blkdev.h' line='672' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='17216'>
+          <var-decl name='cmd_size' type-id='type-id-125' visibility='default' filepath='include/linux/blkdev.h' line='674' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='17280'>
+          <var-decl name='rq_alloc_data' type-id='type-id-3' visibility='default' filepath='include/linux/blkdev.h' line='675' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='17344'>
+          <var-decl name='release_work' type-id='type-id-149' visibility='default' filepath='include/linux/blkdev.h' line='677' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='17600'>
+          <var-decl name='write_hints' type-id='type-id-4822' visibility='default' filepath='include/linux/blkdev.h' line='680' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='request' size-in-bits='2432' is-struct='yes' visibility='default' filepath='include/linux/blkdev.h' line='151' column='1' id='type-id-420'>
+
+          <member-type access='public'>
+            <union-decl name='__anonymous_union__' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/linux/blkdev.h' line='188' column='1' id='type-id-5381'>
+              <data-member access='private'>
+                <var-decl name='rb_node' type-id='type-id-1846' visibility='default' filepath='include/linux/blkdev.h' line='189' column='1'/>
+              </data-member>
+              <data-member access='private'>
+                <var-decl name='special_vec' type-id='type-id-4642' visibility='default' filepath='include/linux/blkdev.h' line='190' column='1'/>
+              </data-member>
+              <data-member access='private'>
+                <var-decl name='completion_data' type-id='type-id-3' visibility='default' filepath='include/linux/blkdev.h' line='191' column='1'/>
+              </data-member>
+              <data-member access='private'>
+                <var-decl name='error_count' type-id='type-id-11' visibility='default' filepath='include/linux/blkdev.h' line='192' column='1'/>
+              </data-member>
+            </union-decl>
+          </member-type>
+
+          <member-type access='public'>
+            <union-decl name='__anonymous_union__1' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/linux/blkdev.h' line='201' column='1' id='type-id-5382'>
+              <data-member access='private'>
+                <var-decl name='elv' type-id='type-id-5383' visibility='default' filepath='include/linux/blkdev.h' line='205' column='1'/>
+              </data-member>
+              <data-member access='private'>
+                <var-decl name='flush' type-id='type-id-5384' visibility='default' filepath='include/linux/blkdev.h' line='211' column='1'/>
+              </data-member>
+            </union-decl>
+          </member-type>
+        <member-type access='public'>
+          <union-decl name='__anonymous_union__2' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/linux/blkdev.h' line='255' column='1' id='type-id-5385'>
+            <data-member access='private'>
+              <var-decl name='csd' type-id='type-id-5386' visibility='default' filepath='include/linux/blkdev.h' line='256' column='1'/>
+            </data-member>
+            <data-member access='private'>
+              <var-decl name='fifo_time' type-id='type-id-134' visibility='default' filepath='include/linux/blkdev.h' line='257' column='1'/>
+            </data-member>
+          </union-decl>
+        </member-type>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='q' type-id='type-id-268' visibility='default' filepath='include/linux/blkdev.h' line='152' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='mq_ctx' type-id='type-id-374' visibility='default' filepath='include/linux/blkdev.h' line='153' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='cpu' type-id='type-id-11' visibility='default' filepath='include/linux/blkdev.h' line='155' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='cmd_flags' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='156' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='rq_flags' type-id='type-id-5387' visibility='default' filepath='include/linux/blkdev.h' line='157' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='internal_tag' type-id='type-id-11' visibility='default' filepath='include/linux/blkdev.h' line='159' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='__data_len' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='162' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='tag' type-id='type-id-11' visibility='default' filepath='include/linux/blkdev.h' line='163' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='__sector' type-id='type-id-2142' visibility='default' filepath='include/linux/blkdev.h' line='164' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='bio' type-id='type-id-265' visibility='default' filepath='include/linux/blkdev.h' line='166' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='biotail' type-id='type-id-265' visibility='default' filepath='include/linux/blkdev.h' line='167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='queuelist' type-id='type-id-8' visibility='default' filepath='include/linux/blkdev.h' line='169' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='' type-id='type-id-5388' visibility='default' filepath='include/linux/blkdev.h' line='178' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='rq_disk' type-id='type-id-270' visibility='default' filepath='include/linux/blkdev.h' line='214' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='part' type-id='type-id-4757' visibility='default' filepath='include/linux/blkdev.h' line='215' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='start_time_ns' type-id='type-id-134' visibility='default' filepath='include/linux/blkdev.h' line='217' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='io_start_time_ns' type-id='type-id-134' visibility='default' filepath='include/linux/blkdev.h' line='219' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='nr_phys_segments' type-id='type-id-288' visibility='default' filepath='include/linux/blkdev.h' line='232' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1488'>
+          <var-decl name='write_hint' type-id='type-id-288' visibility='default' filepath='include/linux/blkdev.h' line='238' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1504'>
+          <var-decl name='ioprio' type-id='type-id-288' visibility='default' filepath='include/linux/blkdev.h' line='239' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='special' type-id='type-id-3' visibility='default' filepath='include/linux/blkdev.h' line='241' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='extra_len' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='243' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1632'>
+          <var-decl name='state' type-id='type-id-5389' visibility='default' filepath='include/linux/blkdev.h' line='245' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='ref' type-id='type-id-12' visibility='default' filepath='include/linux/blkdev.h' line='246' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1696'>
+          <var-decl name='timeout' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='248' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='__deadline' type-id='type-id-100' visibility='default' filepath='include/linux/blkdev.h' line='251' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='timeout_list' type-id='type-id-8' visibility='default' filepath='include/linux/blkdev.h' line='253' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='end_io' type-id='type-id-5390' visibility='default' filepath='include/linux/blkdev.h' line='263' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='end_io_data' type-id='type-id-3' visibility='default' filepath='include/linux/blkdev.h' line='264' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='next_rq' type-id='type-id-269' visibility='default' filepath='include/linux/blkdev.h' line='267' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='rl' type-id='type-id-5391' visibility='default' filepath='include/linux/blkdev.h' line='270' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='req_flags_t' type-id='type-id-266' filepath='include/linux/blkdev.h' line='83' column='1' id='type-id-5387'/>
+      <class-decl name='bio' size-in-bits='1280' is-struct='yes' visibility='default' filepath='include/linux/blk_types.h' line='145' column='1' id='type-id-2159'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bi_next' type-id='type-id-265' visibility='default' filepath='include/linux/blk_types.h' line='146' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='bi_disk' type-id='type-id-270' visibility='default' filepath='include/linux/blk_types.h' line='147' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='bi_opf' type-id='type-id-10' visibility='default' filepath='include/linux/blk_types.h' line='148' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='bi_flags' type-id='type-id-288' visibility='default' filepath='include/linux/blk_types.h' line='152' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='176'>
+          <var-decl name='bi_ioprio' type-id='type-id-288' visibility='default' filepath='include/linux/blk_types.h' line='153' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='bi_write_hint' type-id='type-id-288' visibility='default' filepath='include/linux/blk_types.h' line='154' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='208'>
+          <var-decl name='bi_status' type-id='type-id-380' visibility='default' filepath='include/linux/blk_types.h' line='155' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='216'>
+          <var-decl name='bi_partno' type-id='type-id-53' visibility='default' filepath='include/linux/blk_types.h' line='156' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='bi_phys_segments' type-id='type-id-10' visibility='default' filepath='include/linux/blk_types.h' line='161' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='bi_seg_front_size' type-id='type-id-10' visibility='default' filepath='include/linux/blk_types.h' line='167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='bi_seg_back_size' type-id='type-id-10' visibility='default' filepath='include/linux/blk_types.h' line='168' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='bi_iter' type-id='type-id-5392' visibility='default' filepath='include/linux/blk_types.h' line='170' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='__bi_remaining' type-id='type-id-137' visibility='default' filepath='include/linux/blk_types.h' line='172' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='bi_end_io' type-id='type-id-5393' visibility='default' filepath='include/linux/blk_types.h' line='173' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='bi_private' type-id='type-id-3' visibility='default' filepath='include/linux/blk_types.h' line='175' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='bi_ioc' type-id='type-id-5150' visibility='default' filepath='include/linux/blk_types.h' line='181' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='bi_css' type-id='type-id-4648' visibility='default' filepath='include/linux/blk_types.h' line='182' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='bi_blkg' type-id='type-id-5376' visibility='default' filepath='include/linux/blk_types.h' line='183' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='bi_issue' type-id='type-id-5394' visibility='default' filepath='include/linux/blk_types.h' line='184' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='bi_crypt_context' type-id='type-id-4454' visibility='default' filepath='include/linux/blk_types.h' line='188' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='bi_skip_dm_default_key' type-id='type-id-211' visibility='default' filepath='include/linux/blk_types.h' line='190' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1032'>
+          <var-decl name='' type-id='type-id-5395' visibility='default' filepath='include/linux/blk_types.h' line='194' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1040'>
+          <var-decl name='bi_vcnt' type-id='type-id-288' visibility='default' filepath='include/linux/blk_types.h' line='200' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1056'>
+          <var-decl name='bi_max_vecs' type-id='type-id-288' visibility='default' filepath='include/linux/blk_types.h' line='206' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='__bi_cnt' type-id='type-id-137' visibility='default' filepath='include/linux/blk_types.h' line='208' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='bi_io_vec' type-id='type-id-5396' visibility='default' filepath='include/linux/blk_types.h' line='210' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='bi_pool' type-id='type-id-5397' visibility='default' filepath='include/linux/blk_types.h' line='212' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='bi_inline_vecs' type-id='type-id-4643' visibility='default' filepath='include/linux/blk_types.h' line='219' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='blk_status_t' type-id='type-id-53' filepath='include/linux/blk_types.h' line='30' column='1' id='type-id-380'/>
+      <class-decl name='bvec_iter' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/bvec.h' line='36' column='1' id='type-id-5392'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bi_sector' type-id='type-id-2142' visibility='default' filepath='include/linux/bvec.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='bi_size' type-id='type-id-10' visibility='default' filepath='include/linux/bvec.h' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='bi_idx' type-id='type-id-10' visibility='default' filepath='include/linux/bvec.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='bi_done' type-id='type-id-10' visibility='default' filepath='include/linux/bvec.h' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='bi_bvec_done' type-id='type-id-10' visibility='default' filepath='include/linux/bvec.h' line='45' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='bio_end_io_t' type-id='type-id-5398' filepath='include/linux/blk_types.h' line='20' column='1' id='type-id-5399'/>
+      <class-decl name='io_context' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/linux/iocontext.h' line='98' column='1' id='type-id-5400'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='refcount' type-id='type-id-138' visibility='default' filepath='include/linux/iocontext.h' line='99' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='active_ref' type-id='type-id-137' visibility='default' filepath='include/linux/iocontext.h' line='100' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='nr_tasks' type-id='type-id-137' visibility='default' filepath='include/linux/iocontext.h' line='101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/linux/iocontext.h' line='104' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='ioprio' type-id='type-id-288' visibility='default' filepath='include/linux/iocontext.h' line='106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='nr_batch_requests' type-id='type-id-11' visibility='default' filepath='include/linux/iocontext.h' line='111' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='last_waited' type-id='type-id-100' visibility='default' filepath='include/linux/iocontext.h' line='112' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='icq_tree' type-id='type-id-3181' visibility='default' filepath='include/linux/iocontext.h' line='114' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='icq_hint' type-id='type-id-5401' visibility='default' filepath='include/linux/iocontext.h' line='115' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='icq_list' type-id='type-id-297' visibility='default' filepath='include/linux/iocontext.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='release_work' type-id='type-id-149' visibility='default' filepath='include/linux/iocontext.h' line='118' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='io_cq' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/iocontext.h' line='72' column='1' id='type-id-5402'>
+        <member-type access='public'>
+          <union-decl name='__anonymous_union__' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/iocontext.h' line='86' column='1' id='type-id-5403'>
+            <data-member access='private'>
+              <var-decl name='ioc_node' type-id='type-id-378' visibility='default' filepath='include/linux/iocontext.h' line='87' column='1'/>
+            </data-member>
+            <data-member access='private'>
+              <var-decl name='__rcu_head' type-id='type-id-157' visibility='default' filepath='include/linux/iocontext.h' line='88' column='1'/>
+            </data-member>
+          </union-decl>
+        </member-type>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='q' type-id='type-id-268' visibility='default' filepath='include/linux/iocontext.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ioc' type-id='type-id-5150' visibility='default' filepath='include/linux/iocontext.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='' type-id='type-id-5404' visibility='default' filepath='include/linux/iocontext.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='include/linux/iocontext.h' line='91' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='cgroup_subsys_state' size-in-bits='1920' is-struct='yes' visibility='default' filepath='include/linux/cgroup-defs.h' line='121' column='1' id='type-id-4576'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cgroup' type-id='type-id-5405' visibility='default' filepath='include/linux/cgroup-defs.h' line='123' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ss' type-id='type-id-5406' visibility='default' filepath='include/linux/cgroup-defs.h' line='126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='refcnt' type-id='type-id-5113' visibility='default' filepath='include/linux/cgroup-defs.h' line='129' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='sibling' type-id='type-id-8' visibility='default' filepath='include/linux/cgroup-defs.h' line='132' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='children' type-id='type-id-8' visibility='default' filepath='include/linux/cgroup-defs.h' line='133' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='rstat_css_node' type-id='type-id-8' visibility='default' filepath='include/linux/cgroup-defs.h' line='136' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='id' type-id='type-id-11' visibility='default' filepath='include/linux/cgroup-defs.h' line='142' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='992'>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='include/linux/cgroup-defs.h' line='144' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='serial_nr' type-id='type-id-134' visibility='default' filepath='include/linux/cgroup-defs.h' line='152' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='online_cnt' type-id='type-id-137' visibility='default' filepath='include/linux/cgroup-defs.h' line='158' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='destroy_work' type-id='type-id-149' visibility='default' filepath='include/linux/cgroup-defs.h' line='161' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='destroy_rwork' type-id='type-id-5262' visibility='default' filepath='include/linux/cgroup-defs.h' line='162' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='parent' type-id='type-id-4648' visibility='default' filepath='include/linux/cgroup-defs.h' line='168' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='cgroup' size-in-bits='16384' is-struct='yes' visibility='default' filepath='include/linux/cgroup-defs.h' line='320' column='1' id='type-id-5407'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='self' type-id='type-id-4576' visibility='default' filepath='include/linux/cgroup-defs.h' line='322' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/cgroup-defs.h' line='324' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='id' type-id='type-id-11' visibility='default' filepath='include/linux/cgroup-defs.h' line='334' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2016'>
+          <var-decl name='level' type-id='type-id-11' visibility='default' filepath='include/linux/cgroup-defs.h' line='342' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='max_depth' type-id='type-id-11' visibility='default' filepath='include/linux/cgroup-defs.h' line='345' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2080'>
+          <var-decl name='nr_descendants' type-id='type-id-11' visibility='default' filepath='include/linux/cgroup-defs.h' line='358' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='nr_dying_descendants' type-id='type-id-11' visibility='default' filepath='include/linux/cgroup-defs.h' line='359' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2144'>
+          <var-decl name='max_descendants' type-id='type-id-11' visibility='default' filepath='include/linux/cgroup-defs.h' line='360' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='nr_populated_csets' type-id='type-id-11' visibility='default' filepath='include/linux/cgroup-defs.h' line='373' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2208'>
+          <var-decl name='nr_populated_domain_children' type-id='type-id-11' visibility='default' filepath='include/linux/cgroup-defs.h' line='374' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='nr_populated_threaded_children' type-id='type-id-11' visibility='default' filepath='include/linux/cgroup-defs.h' line='375' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2272'>
+          <var-decl name='nr_threaded_children' type-id='type-id-11' visibility='default' filepath='include/linux/cgroup-defs.h' line='377' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='kn' type-id='type-id-3083' visibility='default' filepath='include/linux/cgroup-defs.h' line='379' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='procs_file' type-id='type-id-5408' visibility='default' filepath='include/linux/cgroup-defs.h' line='380' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2816'>
+          <var-decl name='events_file' type-id='type-id-5408' visibility='default' filepath='include/linux/cgroup-defs.h' line='381' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3264'>
+          <var-decl name='subtree_control' type-id='type-id-289' visibility='default' filepath='include/linux/cgroup-defs.h' line='390' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3280'>
+          <var-decl name='subtree_ss_mask' type-id='type-id-289' visibility='default' filepath='include/linux/cgroup-defs.h' line='391' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3296'>
+          <var-decl name='old_subtree_control' type-id='type-id-289' visibility='default' filepath='include/linux/cgroup-defs.h' line='392' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3312'>
+          <var-decl name='old_subtree_ss_mask' type-id='type-id-289' visibility='default' filepath='include/linux/cgroup-defs.h' line='393' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3328'>
+          <var-decl name='subsys' type-id='type-id-4649' visibility='default' filepath='include/linux/cgroup-defs.h' line='396' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3776'>
+          <var-decl name='root' type-id='type-id-5409' visibility='default' filepath='include/linux/cgroup-defs.h' line='398' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3840'>
+          <var-decl name='cset_links' type-id='type-id-8' visibility='default' filepath='include/linux/cgroup-defs.h' line='404' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3968'>
+          <var-decl name='e_csets' type-id='type-id-4777' visibility='default' filepath='include/linux/cgroup-defs.h' line='413' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4864'>
+          <var-decl name='dom_cgrp' type-id='type-id-5405' visibility='default' filepath='include/linux/cgroup-defs.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4928'>
+          <var-decl name='old_dom_cgrp' type-id='type-id-5405' visibility='default' filepath='include/linux/cgroup-defs.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4992'>
+          <var-decl name='rstat_cpu' type-id='type-id-5410' visibility='default' filepath='include/linux/cgroup-defs.h' line='426' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5056'>
+          <var-decl name='rstat_css_list' type-id='type-id-8' visibility='default' filepath='include/linux/cgroup-defs.h' line='427' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5184'>
+          <var-decl name='pending_bstat' type-id='type-id-5411' visibility='default' filepath='include/linux/cgroup-defs.h' line='430' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5376'>
+          <var-decl name='bstat' type-id='type-id-5411' visibility='default' filepath='include/linux/cgroup-defs.h' line='431' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5568'>
+          <var-decl name='prev_cputime' type-id='type-id-5134' visibility='default' filepath='include/linux/cgroup-defs.h' line='432' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5760'>
+          <var-decl name='pidlists' type-id='type-id-8' visibility='default' filepath='include/linux/cgroup-defs.h' line='438' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5888'>
+          <var-decl name='pidlist_mutex' type-id='type-id-407' visibility='default' filepath='include/linux/cgroup-defs.h' line='439' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6144'>
+          <var-decl name='offline_waitq' type-id='type-id-388' visibility='default' filepath='include/linux/cgroup-defs.h' line='442' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6336'>
+          <var-decl name='release_agent_work' type-id='type-id-149' visibility='default' filepath='include/linux/cgroup-defs.h' line='445' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6592'>
+          <var-decl name='psi' type-id='type-id-5412' visibility='default' filepath='include/linux/cgroup-defs.h' line='448' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11520'>
+          <var-decl name='bpf' type-id='type-id-5413' visibility='default' filepath='include/linux/cgroup-defs.h' line='451' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16320'>
+          <var-decl name='congestion_count' type-id='type-id-137' visibility='default' filepath='include/linux/cgroup-defs.h' line='454' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16352'>
+          <var-decl name='ancestor_ids' type-id='type-id-4768' visibility='default' filepath='include/linux/cgroup-defs.h' line='457' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='cgroup_file' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/cgroup-defs.h' line='107' column='1' id='type-id-5408'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='kn' type-id='type-id-3083' visibility='default' filepath='include/linux/cgroup-defs.h' line='109' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='notified_at' type-id='type-id-100' visibility='default' filepath='include/linux/cgroup-defs.h' line='110' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='notify_timer' type-id='type-id-1240' visibility='default' filepath='include/linux/cgroup-defs.h' line='111' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='cgroup_root' size-in-bits='50240' is-struct='yes' visibility='default' filepath='include/linux/cgroup-defs.h' line='465' column='1' id='type-id-5414'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='kf_root' type-id='type-id-4978' visibility='default' filepath='include/linux/cgroup-defs.h' line='466' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='subsys_mask' type-id='type-id-10' visibility='default' filepath='include/linux/cgroup-defs.h' line='469' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='hierarchy_id' type-id='type-id-11' visibility='default' filepath='include/linux/cgroup-defs.h' line='472' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='cgrp' type-id='type-id-5407' visibility='default' filepath='include/linux/cgroup-defs.h' line='475' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16512'>
+          <var-decl name='cgrp_ancestor_id_storage' type-id='type-id-11' visibility='default' filepath='include/linux/cgroup-defs.h' line='478' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16544'>
+          <var-decl name='nr_cgrps' type-id='type-id-137' visibility='default' filepath='include/linux/cgroup-defs.h' line='481' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16576'>
+          <var-decl name='root_list' type-id='type-id-8' visibility='default' filepath='include/linux/cgroup-defs.h' line='484' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16704'>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='include/linux/cgroup-defs.h' line='487' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16768'>
+          <var-decl name='cgroup_idr' type-id='type-id-1161' visibility='default' filepath='include/linux/cgroup-defs.h' line='490' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16960'>
+          <var-decl name='release_agent_path' type-id='type-id-4505' visibility='default' filepath='include/linux/cgroup-defs.h' line='493' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='49728'>
+          <var-decl name='name' type-id='type-id-4264' visibility='default' filepath='include/linux/cgroup-defs.h' line='496' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='cgroup_rstat_cpu' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/cgroup-defs.h' line='291' column='1' id='type-id-5415'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bsync' type-id='type-id-5416' visibility='default' filepath='include/linux/cgroup-defs.h' line='296' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bstat' type-id='type-id-5411' visibility='default' filepath='include/linux/cgroup-defs.h' line='297' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='last_bstat' type-id='type-id-5411' visibility='default' filepath='include/linux/cgroup-defs.h' line='303' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='updated_children' type-id='type-id-5405' visibility='default' filepath='include/linux/cgroup-defs.h' line='316' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='updated_next' type-id='type-id-5405' visibility='default' filepath='include/linux/cgroup-defs.h' line='317' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='u64_stats_sync' is-struct='yes' visibility='default' filepath='include/linux/u64_stats_sync.h' line='65' column='1' id='type-id-5416'/>
+      <class-decl name='cgroup_base_stat' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/cgroup-defs.h' line='267' column='1' id='type-id-5411'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cputime' type-id='type-id-5135' visibility='default' filepath='include/linux/cgroup-defs.h' line='268' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='task_cputime' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/sched.h' line='253' column='1' id='type-id-5135'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='utime' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='254' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='stime' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='255' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='sum_exec_runtime' type-id='type-id-177' visibility='default' filepath='include/linux/sched.h' line='256' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='prev_cputime' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/sched.h' line='235' column='1' id='type-id-5134'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='utime' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='237' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='stime' type-id='type-id-134' visibility='default' filepath='include/linux/sched.h' line='238' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='lock' type-id='type-id-5119' visibility='default' filepath='include/linux/sched.h' line='239' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='psi_group' size-in-bits='4928' is-struct='yes' visibility='default' filepath='include/linux/psi_types.h' line='128' column='1' id='type-id-5412'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='avgs_lock' type-id='type-id-407' visibility='default' filepath='include/linux/psi_types.h' line='130' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='pcpu' type-id='type-id-5417' visibility='default' filepath='include/linux/psi_types.h' line='133' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='avg_total' type-id='type-id-4822' visibility='default' filepath='include/linux/psi_types.h' line='136' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='avg_last_update' type-id='type-id-134' visibility='default' filepath='include/linux/psi_types.h' line='137' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='avg_next_update' type-id='type-id-134' visibility='default' filepath='include/linux/psi_types.h' line='138' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='avgs_work' type-id='type-id-370' visibility='default' filepath='include/linux/psi_types.h' line='141' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='total' type-id='type-id-4818' visibility='default' filepath='include/linux/psi_types.h' line='144' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='avg' type-id='type-id-4833' visibility='default' filepath='include/linux/psi_types.h' line='145' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3072'>
+          <var-decl name='poll_scheduled' type-id='type-id-137' visibility='default' filepath='include/linux/psi_types.h' line='148' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3136'>
+          <var-decl name='poll_kworker' type-id='type-id-490' visibility='default' filepath='include/linux/psi_types.h' line='149' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3200'>
+          <var-decl name='poll_work' type-id='type-id-5418' visibility='default' filepath='include/linux/psi_types.h' line='150' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3840'>
+          <var-decl name='trigger_lock' type-id='type-id-407' visibility='default' filepath='include/linux/psi_types.h' line='153' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4096'>
+          <var-decl name='triggers' type-id='type-id-8' visibility='default' filepath='include/linux/psi_types.h' line='156' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4224'>
+          <var-decl name='nr_triggers' type-id='type-id-4815' visibility='default' filepath='include/linux/psi_types.h' line='157' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4384'>
+          <var-decl name='poll_states' type-id='type-id-9' visibility='default' filepath='include/linux/psi_types.h' line='158' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4416'>
+          <var-decl name='poll_min_period' type-id='type-id-134' visibility='default' filepath='include/linux/psi_types.h' line='159' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4480'>
+          <var-decl name='polling_total' type-id='type-id-4822' visibility='default' filepath='include/linux/psi_types.h' line='162' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4800'>
+          <var-decl name='polling_next_update' type-id='type-id-134' visibility='default' filepath='include/linux/psi_types.h' line='163' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4864'>
+          <var-decl name='polling_until' type-id='type-id-134' visibility='default' filepath='include/linux/psi_types.h' line='164' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='psi_group_cpu' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/linux/psi_types.h' line='56' column='1' id='type-id-5419'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='seq' type-id='type-id-1865' visibility='default' filepath='include/linux/psi_types.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='tasks' type-id='type-id-2162' visibility='default' filepath='include/linux/psi_types.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='state_mask' type-id='type-id-9' visibility='default' filepath='include/linux/psi_types.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='times' type-id='type-id-4816' visibility='default' filepath='include/linux/psi_types.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='state_start' type-id='type-id-134' visibility='default' filepath='include/linux/psi_types.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='times_prev' type-id='type-id-4814' visibility='default' filepath='include/linux/psi_types.h' line='77' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='delayed_work' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/linux/workqueue.h' line='115' column='1' id='type-id-370'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='work' type-id='type-id-149' visibility='default' filepath='include/linux/workqueue.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='timer' type-id='type-id-1240' visibility='default' filepath='include/linux/workqueue.h' line='117' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='wq' type-id='type-id-2154' visibility='default' filepath='include/linux/workqueue.h' line='120' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='cpu' type-id='type-id-11' visibility='default' filepath='include/linux/workqueue.h' line='121' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='kthread_worker' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/kthread.h' line='85' column='1' id='type-id-659'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='include/linux/kthread.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/linux/kthread.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='work_list' type-id='type-id-8' visibility='default' filepath='include/linux/kthread.h' line='88' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='delayed_work_list' type-id='type-id-8' visibility='default' filepath='include/linux/kthread.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='task' type-id='type-id-118' visibility='default' filepath='include/linux/kthread.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='current_work' type-id='type-id-5420' visibility='default' filepath='include/linux/kthread.h' line='91' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='kthread_work' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/kthread.h' line='94' column='1' id='type-id-491'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='node' type-id='type-id-8' visibility='default' filepath='include/linux/kthread.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='func' type-id='type-id-5421' visibility='default' filepath='include/linux/kthread.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='worker' type-id='type-id-490' visibility='default' filepath='include/linux/kthread.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='canceling' type-id='type-id-11' visibility='default' filepath='include/linux/kthread.h' line='99' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='kthread_work_func_t' type-id='type-id-5422' filepath='include/linux/kthread.h' line='78' column='1' id='type-id-5421'/>
+      <class-decl name='kthread_delayed_work' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/kthread.h' line='102' column='1' id='type-id-5418'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='work' type-id='type-id-491' visibility='default' filepath='include/linux/kthread.h' line='103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='timer' type-id='type-id-1240' visibility='default' filepath='include/linux/kthread.h' line='104' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='cgroup_bpf' size-in-bits='4800' is-struct='yes' visibility='default' filepath='include/linux/bpf-cgroup.h' line='51' column='1' id='type-id-5413'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='effective' type-id='type-id-4646' visibility='default' filepath='include/linux/bpf-cgroup.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='progs' type-id='type-id-4772' visibility='default' filepath='include/linux/bpf-cgroup.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4032'>
+          <var-decl name='flags' type-id='type-id-4813' visibility='default' filepath='include/linux/bpf-cgroup.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4736'>
+          <var-decl name='inactive' type-id='type-id-4645' visibility='default' filepath='include/linux/bpf-cgroup.h' line='64' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='cgroup_subsys' size-in-bits='1920' is-struct='yes' visibility='default' filepath='include/linux/cgroup-defs.h' line='595' column='1' id='type-id-5423'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='css_alloc' type-id='type-id-5424' visibility='default' filepath='include/linux/cgroup-defs.h' line='596' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='css_online' type-id='type-id-5425' visibility='default' filepath='include/linux/cgroup-defs.h' line='597' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='css_offline' type-id='type-id-5426' visibility='default' filepath='include/linux/cgroup-defs.h' line='598' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='css_released' type-id='type-id-5426' visibility='default' filepath='include/linux/cgroup-defs.h' line='599' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='css_free' type-id='type-id-5426' visibility='default' filepath='include/linux/cgroup-defs.h' line='600' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='css_reset' type-id='type-id-5426' visibility='default' filepath='include/linux/cgroup-defs.h' line='601' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='css_rstat_flush' type-id='type-id-5427' visibility='default' filepath='include/linux/cgroup-defs.h' line='602' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='css_extra_stat_show' type-id='type-id-5428' visibility='default' filepath='include/linux/cgroup-defs.h' line='603' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='can_attach' type-id='type-id-5429' visibility='default' filepath='include/linux/cgroup-defs.h' line='606' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='cancel_attach' type-id='type-id-5430' visibility='default' filepath='include/linux/cgroup-defs.h' line='607' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='attach' type-id='type-id-5430' visibility='default' filepath='include/linux/cgroup-defs.h' line='608' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='post_attach' type-id='type-id-3769' visibility='default' filepath='include/linux/cgroup-defs.h' line='609' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='can_fork' type-id='type-id-5431' visibility='default' filepath='include/linux/cgroup-defs.h' line='610' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='cancel_fork' type-id='type-id-5432' visibility='default' filepath='include/linux/cgroup-defs.h' line='611' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='fork' type-id='type-id-5432' visibility='default' filepath='include/linux/cgroup-defs.h' line='612' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='exit' type-id='type-id-5432' visibility='default' filepath='include/linux/cgroup-defs.h' line='613' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='release' type-id='type-id-5432' visibility='default' filepath='include/linux/cgroup-defs.h' line='614' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='bind' type-id='type-id-5426' visibility='default' filepath='include/linux/cgroup-defs.h' line='615' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7'>
+          <var-decl name='early_init' type-id='type-id-211' visibility='default' filepath='include/linux/cgroup-defs.h' line='617' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6'>
+          <var-decl name='implicit_on_dfl' type-id='type-id-211' visibility='default' filepath='include/linux/cgroup-defs.h' line='630' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5'>
+          <var-decl name='threaded' type-id='type-id-211' visibility='default' filepath='include/linux/cgroup-defs.h' line='642' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4'>
+          <var-decl name='broken_hierarchy' type-id='type-id-211' visibility='default' filepath='include/linux/cgroup-defs.h' line='656' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3'>
+          <var-decl name='warned_broken_hierarchy' type-id='type-id-211' visibility='default' filepath='include/linux/cgroup-defs.h' line='657' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1184'>
+          <var-decl name='id' type-id='type-id-11' visibility='default' filepath='include/linux/cgroup-defs.h' line='660' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/cgroup-defs.h' line='661' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='legacy_name' type-id='type-id-24' visibility='default' filepath='include/linux/cgroup-defs.h' line='664' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='root' type-id='type-id-5409' visibility='default' filepath='include/linux/cgroup-defs.h' line='667' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='css_idr' type-id='type-id-1161' visibility='default' filepath='include/linux/cgroup-defs.h' line='670' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='cfts' type-id='type-id-8' visibility='default' filepath='include/linux/cgroup-defs.h' line='676' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='dfl_cftypes' type-id='type-id-5433' visibility='default' filepath='include/linux/cgroup-defs.h' line='682' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='legacy_cftypes' type-id='type-id-5433' visibility='default' filepath='include/linux/cgroup-defs.h' line='683' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='depends_on' type-id='type-id-10' visibility='default' filepath='include/linux/cgroup-defs.h' line='692' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='cftype' size-in-bits='1728' is-struct='yes' visibility='default' filepath='include/linux/cgroup-defs.h' line='506' column='1' id='type-id-5434'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-4264' visibility='default' filepath='include/linux/cgroup-defs.h' line='512' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='private' type-id='type-id-100' visibility='default' filepath='include/linux/cgroup-defs.h' line='513' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='max_write_len' type-id='type-id-125' visibility='default' filepath='include/linux/cgroup-defs.h' line='519' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='include/linux/cgroup-defs.h' line='522' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='672'>
+          <var-decl name='file_offset' type-id='type-id-10' visibility='default' filepath='include/linux/cgroup-defs.h' line='530' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='ss' type-id='type-id-5406' visibility='default' filepath='include/linux/cgroup-defs.h' line='536' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='node' type-id='type-id-8' visibility='default' filepath='include/linux/cgroup-defs.h' line='537' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='kf_ops' type-id='type-id-5435' visibility='default' filepath='include/linux/cgroup-defs.h' line='538' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='open' type-id='type-id-5436' visibility='default' filepath='include/linux/cgroup-defs.h' line='540' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='release' type-id='type-id-5437' visibility='default' filepath='include/linux/cgroup-defs.h' line='541' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='read_u64' type-id='type-id-5438' visibility='default' filepath='include/linux/cgroup-defs.h' line='547' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='read_s64' type-id='type-id-5439' visibility='default' filepath='include/linux/cgroup-defs.h' line='551' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='seq_show' type-id='type-id-4523' visibility='default' filepath='include/linux/cgroup-defs.h' line='554' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='seq_start' type-id='type-id-4999' visibility='default' filepath='include/linux/cgroup-defs.h' line='557' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='seq_next' type-id='type-id-5001' visibility='default' filepath='include/linux/cgroup-defs.h' line='558' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='seq_stop' type-id='type-id-5000' visibility='default' filepath='include/linux/cgroup-defs.h' line='559' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='write_u64' type-id='type-id-5440' visibility='default' filepath='include/linux/cgroup-defs.h' line='566' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='write_s64' type-id='type-id-5441' visibility='default' filepath='include/linux/cgroup-defs.h' line='571' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='write' type-id='type-id-5442' visibility='default' filepath='include/linux/cgroup-defs.h' line='580' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='poll' type-id='type-id-5443' visibility='default' filepath='include/linux/cgroup-defs.h' line='583' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='kernfs_ops' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/linux/kernfs.h' line='220' column='1' id='type-id-5444'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='open' type-id='type-id-5436' visibility='default' filepath='include/linux/kernfs.h' line='225' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='release' type-id='type-id-5437' visibility='default' filepath='include/linux/kernfs.h' line='226' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='seq_show' type-id='type-id-4523' visibility='default' filepath='include/linux/kernfs.h' line='239' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='seq_start' type-id='type-id-4999' visibility='default' filepath='include/linux/kernfs.h' line='241' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='seq_next' type-id='type-id-5001' visibility='default' filepath='include/linux/kernfs.h' line='242' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='seq_stop' type-id='type-id-5000' visibility='default' filepath='include/linux/kernfs.h' line='243' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='read' type-id='type-id-5442' visibility='default' filepath='include/linux/kernfs.h' line='245' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='atomic_write_len' type-id='type-id-125' visibility='default' filepath='include/linux/kernfs.h' line='255' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='prealloc' type-id='type-id-211' visibility='default' filepath='include/linux/kernfs.h' line='262' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='write' type-id='type-id-5442' visibility='default' filepath='include/linux/kernfs.h' line='263' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='poll' type-id='type-id-5443' visibility='default' filepath='include/linux/kernfs.h' line='266' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='mmap' type-id='type-id-5445' visibility='default' filepath='include/linux/kernfs.h' line='269' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='kernfs_open_file' size-in-bits='1216' is-struct='yes' visibility='default' filepath='include/linux/kernfs.h' line='200' column='1' id='type-id-5446'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='kn' type-id='type-id-3083' visibility='default' filepath='include/linux/kernfs.h' line='202' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='file' type-id='type-id-147' visibility='default' filepath='include/linux/kernfs.h' line='203' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='seq_file' type-id='type-id-85' visibility='default' filepath='include/linux/kernfs.h' line='204' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='priv' type-id='type-id-3' visibility='default' filepath='include/linux/kernfs.h' line='205' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='mutex' type-id='type-id-407' visibility='default' filepath='include/linux/kernfs.h' line='208' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='prealloc_mutex' type-id='type-id-407' visibility='default' filepath='include/linux/kernfs.h' line='209' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='event' type-id='type-id-11' visibility='default' filepath='include/linux/kernfs.h' line='210' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/kernfs.h' line='211' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='prealloc_buf' type-id='type-id-300' visibility='default' filepath='include/linux/kernfs.h' line='212' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='atomic_write_len' type-id='type-id-125' visibility='default' filepath='include/linux/kernfs.h' line='214' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7'>
+          <var-decl name='mmapped' type-id='type-id-211' visibility='default' filepath='include/linux/kernfs.h' line='215' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6'>
+          <var-decl name='released' type-id='type-id-211' visibility='default' filepath='include/linux/kernfs.h' line='216' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='vm_ops' type-id='type-id-1207' visibility='default' filepath='include/linux/kernfs.h' line='217' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='__poll_t' type-id='type-id-10' filepath='include/uapi/linux/types.h' line='52' column='1' id='type-id-1834'/>
+      <class-decl name='poll_table_struct' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/poll.h' line='43' column='1' id='type-id-5447'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='_qproc' type-id='type-id-5448' visibility='default' filepath='include/linux/poll.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='_key' type-id='type-id-1834' visibility='default' filepath='include/linux/poll.h' line='45' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='poll_queue_proc' type-id='type-id-5449' filepath='include/linux/poll.h' line='37' column='1' id='type-id-5448'/>
+      <class-decl name='bio_issue' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/blk_types.h' line='113' column='1' id='type-id-5394'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='value' type-id='type-id-134' visibility='default' filepath='include/linux/blk_types.h' line='114' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='bio_crypt_ctx' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/bio-crypt-ctx.h' line='67' column='1' id='type-id-5450'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bc_key' type-id='type-id-3668' visibility='default' filepath='include/linux/bio-crypt-ctx.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='bc_keyslot' type-id='type-id-11' visibility='default' filepath='include/linux/bio-crypt-ctx.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='bc_dun' type-id='type-id-4821' visibility='default' filepath='include/linux/bio-crypt-ctx.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='bc_ksm' type-id='type-id-3511' visibility='default' filepath='include/linux/bio-crypt-ctx.h' line='78' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='blk_crypto_key' size-in-bits='1216' is-struct='yes' visibility='default' filepath='include/linux/bio-crypt-ctx.h' line='41' column='1' id='type-id-4451'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='crypto_mode' type-id='type-id-4453' visibility='default' filepath='include/linux/bio-crypt-ctx.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='data_unit_size' type-id='type-id-10' visibility='default' filepath='include/linux/bio-crypt-ctx.h' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='data_unit_size_bits' type-id='type-id-10' visibility='default' filepath='include/linux/bio-crypt-ctx.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='size' type-id='type-id-10' visibility='default' filepath='include/linux/bio-crypt-ctx.h' line='45' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='hash' type-id='type-id-10' visibility='default' filepath='include/linux/bio-crypt-ctx.h' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='is_hw_wrapped' type-id='type-id-211' visibility='default' filepath='include/linux/bio-crypt-ctx.h' line='47' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='168'>
+          <var-decl name='raw' type-id='type-id-4824' visibility='default' filepath='include/linux/bio-crypt-ctx.h' line='48' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='blk_crypto_mode_num' filepath='include/linux/bio-crypt-ctx.h' line='8' column='1' id='type-id-4453'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='BLK_ENCRYPTION_MODE_INVALID' value='0'/>
+        <enumerator name='BLK_ENCRYPTION_MODE_AES_256_XTS' value='1'/>
+        <enumerator name='BLK_ENCRYPTION_MODE_AES_128_CBC_ESSIV' value='2'/>
+        <enumerator name='BLK_ENCRYPTION_MODE_ADIANTUM' value='3'/>
+        <enumerator name='BLK_ENCRYPTION_MODE_MAX' value='4'/>
+      </enum-decl>
+      <class-decl name='bio_set' size-in-bits='1792' is-struct='yes' visibility='default' filepath='include/linux/bio.h' line='746' column='1' id='type-id-2153'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bio_slab' type-id='type-id-3525' visibility='default' filepath='include/linux/bio.h' line='747' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='front_pad' type-id='type-id-10' visibility='default' filepath='include/linux/bio.h' line='748' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='bio_pool' type-id='type-id-5451' visibility='default' filepath='include/linux/bio.h' line='750' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='bvec_pool' type-id='type-id-5451' visibility='default' filepath='include/linux/bio.h' line='751' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='rescue_lock' type-id='type-id-106' visibility='default' filepath='include/linux/bio.h' line='761' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='rescue_list' type-id='type-id-2152' visibility='default' filepath='include/linux/bio.h' line='762' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='rescue_work' type-id='type-id-149' visibility='default' filepath='include/linux/bio.h' line='763' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='rescue_workqueue' type-id='type-id-2154' visibility='default' filepath='include/linux/bio.h' line='764' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='mempool_t' type-id='type-id-5452' filepath='include/linux/mempool.h' line='26' column='1' id='type-id-5451'/>
+      <class-decl name='mempool_s' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/mempool.h' line='16' column='1' id='type-id-5452'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/linux/mempool.h' line='17' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='min_nr' type-id='type-id-11' visibility='default' filepath='include/linux/mempool.h' line='18' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='curr_nr' type-id='type-id-11' visibility='default' filepath='include/linux/mempool.h' line='19' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='elements' type-id='type-id-2240' visibility='default' filepath='include/linux/mempool.h' line='20' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='pool_data' type-id='type-id-3' visibility='default' filepath='include/linux/mempool.h' line='22' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='alloc' type-id='type-id-5453' visibility='default' filepath='include/linux/mempool.h' line='23' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='free' type-id='type-id-5454' visibility='default' filepath='include/linux/mempool.h' line='24' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='wait' type-id='type-id-388' visibility='default' filepath='include/linux/mempool.h' line='25' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='mempool_alloc_t' type-id='type-id-5455' filepath='include/linux/mempool.h' line='13' column='1' id='type-id-5456'/>
+      <typedef-decl name='mempool_free_t' type-id='type-id-5457' filepath='include/linux/mempool.h' line='14' column='1' id='type-id-5458'/>
+      <class-decl name='bio_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/bio.h' line='618' column='1' id='type-id-2152'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='head' type-id='type-id-265' visibility='default' filepath='include/linux/bio.h' line='619' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='tail' type-id='type-id-265' visibility='default' filepath='include/linux/bio.h' line='620' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__16' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/blkdev.h' line='202' column='1' id='type-id-5383'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='icq' type-id='type-id-5401' visibility='default' filepath='include/linux/blkdev.h' line='203' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='priv' type-id='type-id-4837' visibility='default' filepath='include/linux/blkdev.h' line='204' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__17' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/blkdev.h' line='207' column='1' id='type-id-5384'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='seq' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='208' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/blkdev.h' line='209' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='saved_end_io' type-id='type-id-5390' visibility='default' filepath='include/linux/blkdev.h' line='210' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='rq_end_io_fn' type-id='type-id-5459' filepath='include/linux/blkdev.h' line='60' column='1' id='type-id-5460'/>
+      <enum-decl name='mq_rq_state' filepath='include/linux/blkdev.h' line='139' column='1' id='type-id-5389'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='MQ_RQ_IDLE' value='0'/>
+        <enumerator name='MQ_RQ_IN_FLIGHT' value='1'/>
+        <enumerator name='MQ_RQ_COMPLETE' value='2'/>
+      </enum-decl>
+      <class-decl name='__call_single_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/smp.h' line='18' column='1' id='type-id-5386'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='llist' type-id='type-id-1327' visibility='default' filepath='include/linux/smp.h' line='19' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='func' type-id='type-id-5461' visibility='default' filepath='include/linux/smp.h' line='20' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='info' type-id='type-id-3' visibility='default' filepath='include/linux/smp.h' line='21' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='include/linux/smp.h' line='22' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='smp_call_func_t' type-id='type-id-74' filepath='include/linux/smp.h' line='17' column='1' id='type-id-5461'/>
+      <class-decl name='request_list' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/linux/blkdev.h' line='65' column='1' id='type-id-4573'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='q' type-id='type-id-268' visibility='default' filepath='include/linux/blkdev.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='blkg' type-id='type-id-5376' visibility='default' filepath='include/linux/blkdev.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='count' type-id='type-id-1324' visibility='default' filepath='include/linux/blkdev.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='starved' type-id='type-id-1324' visibility='default' filepath='include/linux/blkdev.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='rq_pool' type-id='type-id-5462' visibility='default' filepath='include/linux/blkdev.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='wait' type-id='type-id-4840' visibility='default' filepath='include/linux/blkdev.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='78' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='elevator_queue' size-in-bits='5056' is-struct='yes' visibility='default' filepath='include/linux/elevator.h' line='172' column='1' id='type-id-5463'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-5464' visibility='default' filepath='include/linux/elevator.h' line='174' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='elevator_data' type-id='type-id-3' visibility='default' filepath='include/linux/elevator.h' line='175' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='kobj' type-id='type-id-315' visibility='default' filepath='include/linux/elevator.h' line='176' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='sysfs_lock' type-id='type-id-407' visibility='default' filepath='include/linux/elevator.h' line='177' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='registered' type-id='type-id-10' visibility='default' filepath='include/linux/elevator.h' line='178' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='uses_mq' type-id='type-id-10' visibility='default' filepath='include/linux/elevator.h' line='179' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='hash' type-id='type-id-4760' visibility='default' filepath='include/linux/elevator.h' line='180' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='elevator_type' size-in-bits='2304' is-struct='yes' visibility='default' filepath='include/linux/elevator.h' line='135' column='1' id='type-id-5465'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='icq_cache' type-id='type-id-3525' visibility='default' filepath='include/linux/elevator.h' line='138' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ops' type-id='type-id-5466' visibility='default' filepath='include/linux/elevator.h' line='144' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='icq_size' type-id='type-id-125' visibility='default' filepath='include/linux/elevator.h' line='145' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='icq_align' type-id='type-id-125' visibility='default' filepath='include/linux/elevator.h' line='146' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='elevator_attrs' type-id='type-id-5467' visibility='default' filepath='include/linux/elevator.h' line='147' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='elevator_name' type-id='type-id-847' visibility='default' filepath='include/linux/elevator.h' line='148' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='elevator_alias' type-id='type-id-24' visibility='default' filepath='include/linux/elevator.h' line='149' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='elevator_owner' type-id='type-id-19' visibility='default' filepath='include/linux/elevator.h' line='150' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='uses_mq' type-id='type-id-211' visibility='default' filepath='include/linux/elevator.h' line='151' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1992'>
+          <var-decl name='icq_cache_name' type-id='type-id-4654' visibility='default' filepath='include/linux/elevator.h' line='158' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/elevator.h' line='159' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='elevator_ops' size-in-bits='1344' is-struct='yes' visibility='default' filepath='include/linux/elevator.h' line='62' column='1' id='type-id-5468'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='elevator_merge_fn' type-id='type-id-5469' visibility='default' filepath='include/linux/elevator.h' line='64' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='elevator_merged_fn' type-id='type-id-5470' visibility='default' filepath='include/linux/elevator.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='elevator_merge_req_fn' type-id='type-id-5471' visibility='default' filepath='include/linux/elevator.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='elevator_allow_bio_merge_fn' type-id='type-id-5472' visibility='default' filepath='include/linux/elevator.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='elevator_allow_rq_merge_fn' type-id='type-id-5473' visibility='default' filepath='include/linux/elevator.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='elevator_bio_merged_fn' type-id='type-id-5474' visibility='default' filepath='include/linux/elevator.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='elevator_dispatch_fn' type-id='type-id-5475' visibility='default' filepath='include/linux/elevator.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='elevator_add_req_fn' type-id='type-id-5476' visibility='default' filepath='include/linux/elevator.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='elevator_activate_req_fn' type-id='type-id-5477' visibility='default' filepath='include/linux/elevator.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='elevator_deactivate_req_fn' type-id='type-id-5478' visibility='default' filepath='include/linux/elevator.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='elevator_completed_req_fn' type-id='type-id-5479' visibility='default' filepath='include/linux/elevator.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='elevator_former_req_fn' type-id='type-id-5480' visibility='default' filepath='include/linux/elevator.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='elevator_latter_req_fn' type-id='type-id-5480' visibility='default' filepath='include/linux/elevator.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='elevator_init_icq_fn' type-id='type-id-5481' visibility='default' filepath='include/linux/elevator.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='elevator_exit_icq_fn' type-id='type-id-5482' visibility='default' filepath='include/linux/elevator.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='elevator_set_req_fn' type-id='type-id-5483' visibility='default' filepath='include/linux/elevator.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='elevator_put_req_fn' type-id='type-id-5484' visibility='default' filepath='include/linux/elevator.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='elevator_may_queue_fn' type-id='type-id-5485' visibility='default' filepath='include/linux/elevator.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='elevator_init_fn' type-id='type-id-5486' visibility='default' filepath='include/linux/elevator.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='elevator_exit_fn' type-id='type-id-5487' visibility='default' filepath='include/linux/elevator.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='elevator_registered_fn' type-id='type-id-5488' visibility='default' filepath='include/linux/elevator.h' line='91' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='elevator_merge_fn' type-id='type-id-5489' filepath='include/linux/elevator.h' line='26' column='1' id='type-id-5490'/>
+      <enum-decl name='elv_merge' filepath='include/linux/elevator.h' line='19' column='1' id='type-id-5491'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='ELEVATOR_NO_MERGE' value='0'/>
+        <enumerator name='ELEVATOR_FRONT_MERGE' value='1'/>
+        <enumerator name='ELEVATOR_BACK_MERGE' value='2'/>
+        <enumerator name='ELEVATOR_DISCARD_MERGE' value='3'/>
+      </enum-decl>
+      <typedef-decl name='elevator_merged_fn' type-id='type-id-5492' filepath='include/linux/elevator.h' line='31' column='1' id='type-id-5493'/>
+      <typedef-decl name='elevator_merge_req_fn' type-id='type-id-5494' filepath='include/linux/elevator.h' line='29' column='1' id='type-id-5495'/>
+      <typedef-decl name='elevator_allow_bio_merge_fn' type-id='type-id-5496' filepath='include/linux/elevator.h' line='33' column='1' id='type-id-5497'/>
+      <typedef-decl name='elevator_allow_rq_merge_fn' type-id='type-id-5498' filepath='include/linux/elevator.h' line='36' column='1' id='type-id-5499'/>
+      <typedef-decl name='elevator_bio_merged_fn' type-id='type-id-5500' filepath='include/linux/elevator.h' line='39' column='1' id='type-id-5501'/>
+      <typedef-decl name='elevator_dispatch_fn' type-id='type-id-5502' filepath='include/linux/elevator.h' line='42' column='1' id='type-id-5503'/>
+      <typedef-decl name='elevator_add_req_fn' type-id='type-id-5504' filepath='include/linux/elevator.h' line='44' column='1' id='type-id-5505'/>
+      <typedef-decl name='elevator_activate_req_fn' type-id='type-id-5504' filepath='include/linux/elevator.h' line='54' column='1' id='type-id-5506'/>
+      <typedef-decl name='elevator_deactivate_req_fn' type-id='type-id-5504' filepath='include/linux/elevator.h' line='55' column='1' id='type-id-5507'/>
+      <typedef-decl name='elevator_completed_req_fn' type-id='type-id-5504' filepath='include/linux/elevator.h' line='46' column='1' id='type-id-5508'/>
+      <typedef-decl name='elevator_request_list_fn' type-id='type-id-5509' filepath='include/linux/elevator.h' line='45' column='1' id='type-id-5510'/>
+      <typedef-decl name='elevator_init_icq_fn' type-id='type-id-5511' filepath='include/linux/elevator.h' line='49' column='1' id='type-id-5512'/>
+      <typedef-decl name='elevator_exit_icq_fn' type-id='type-id-5511' filepath='include/linux/elevator.h' line='50' column='1' id='type-id-5513'/>
+      <typedef-decl name='elevator_set_req_fn' type-id='type-id-5514' filepath='include/linux/elevator.h' line='51' column='1' id='type-id-5515'/>
+      <typedef-decl name='elevator_put_req_fn' type-id='type-id-410' filepath='include/linux/elevator.h' line='53' column='1' id='type-id-5516'/>
+      <typedef-decl name='elevator_may_queue_fn' type-id='type-id-5517' filepath='include/linux/elevator.h' line='47' column='1' id='type-id-5518'/>
+      <typedef-decl name='elevator_init_fn' type-id='type-id-5519' filepath='include/linux/elevator.h' line='57' column='1' id='type-id-5520'/>
+      <typedef-decl name='elevator_exit_fn' type-id='type-id-5521' filepath='include/linux/elevator.h' line='59' column='1' id='type-id-5522'/>
+      <typedef-decl name='elevator_registered_fn' type-id='type-id-5523' filepath='include/linux/elevator.h' line='60' column='1' id='type-id-5524'/>
+      <class-decl name='elevator_mq_ops' size-in-bits='1472' is-struct='yes' visibility='default' filepath='include/linux/elevator.h' line='97' column='1' id='type-id-5525'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='init_sched' type-id='type-id-5526' visibility='default' filepath='include/linux/elevator.h' line='98' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='exit_sched' type-id='type-id-5527' visibility='default' filepath='include/linux/elevator.h' line='99' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='init_hctx' type-id='type-id-5528' visibility='default' filepath='include/linux/elevator.h' line='100' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='exit_hctx' type-id='type-id-5529' visibility='default' filepath='include/linux/elevator.h' line='101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='depth_updated' type-id='type-id-5530' visibility='default' filepath='include/linux/elevator.h' line='102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='allow_merge' type-id='type-id-5531' visibility='default' filepath='include/linux/elevator.h' line='104' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='bio_merge' type-id='type-id-5532' visibility='default' filepath='include/linux/elevator.h' line='105' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='request_merge' type-id='type-id-5533' visibility='default' filepath='include/linux/elevator.h' line='106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='request_merged' type-id='type-id-5534' visibility='default' filepath='include/linux/elevator.h' line='107' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='requests_merged' type-id='type-id-5535' visibility='default' filepath='include/linux/elevator.h' line='108' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='limit_depth' type-id='type-id-5536' visibility='default' filepath='include/linux/elevator.h' line='109' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='prepare_request' type-id='type-id-5537' visibility='default' filepath='include/linux/elevator.h' line='110' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='finish_request' type-id='type-id-5374' visibility='default' filepath='include/linux/elevator.h' line='111' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='insert_requests' type-id='type-id-5538' visibility='default' filepath='include/linux/elevator.h' line='112' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='dispatch_request' type-id='type-id-5539' visibility='default' filepath='include/linux/elevator.h' line='113' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='has_work' type-id='type-id-5540' visibility='default' filepath='include/linux/elevator.h' line='114' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='completed_request' type-id='type-id-5374' visibility='default' filepath='include/linux/elevator.h' line='115' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='started_request' type-id='type-id-5374' visibility='default' filepath='include/linux/elevator.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='requeue_request' type-id='type-id-5374' visibility='default' filepath='include/linux/elevator.h' line='117' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='former_request' type-id='type-id-5541' visibility='default' filepath='include/linux/elevator.h' line='118' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='next_request' type-id='type-id-5541' visibility='default' filepath='include/linux/elevator.h' line='119' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='init_icq' type-id='type-id-5542' visibility='default' filepath='include/linux/elevator.h' line='120' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='exit_icq' type-id='type-id-5542' visibility='default' filepath='include/linux/elevator.h' line='121' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='elv_fs_entry' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/elevator.h' line='126' column='1' id='type-id-5543'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='attr' type-id='type-id-858' visibility='default' filepath='include/linux/elevator.h' line='127' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='show' type-id='type-id-5544' visibility='default' filepath='include/linux/elevator.h' line='128' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='store' type-id='type-id-5545' visibility='default' filepath='include/linux/elevator.h' line='129' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='request_fn_proc' type-id='type-id-5523' filepath='include/linux/blkdev.h' line='315' column='1' id='type-id-5546'/>
+      <typedef-decl name='make_request_fn' type-id='type-id-5547' filepath='include/linux/blkdev.h' line='316' column='1' id='type-id-5548'/>
+      <typedef-decl name='blk_qc_t' type-id='type-id-10' filepath='include/linux/blk_types.h' line='427' column='1' id='type-id-5549'/>
+      <typedef-decl name='poll_q_fn' type-id='type-id-5550' filepath='include/linux/blkdev.h' line='317' column='1' id='type-id-5551'/>
+      <typedef-decl name='prep_rq_fn' type-id='type-id-5552' filepath='include/linux/blkdev.h' line='318' column='1' id='type-id-5553'/>
+      <typedef-decl name='unprep_rq_fn' type-id='type-id-5504' filepath='include/linux/blkdev.h' line='319' column='1' id='type-id-5554'/>
+      <typedef-decl name='softirq_done_fn' type-id='type-id-410' filepath='include/linux/blkdev.h' line='322' column='1' id='type-id-5555'/>
+      <typedef-decl name='rq_timed_out_fn' type-id='type-id-5556' filepath='include/linux/blkdev.h' line='334' column='1' id='type-id-5557'/>
+      <enum-decl name='blk_eh_timer_return' filepath='include/linux/blkdev.h' line='329' column='1' id='type-id-443'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='BLK_EH_DONE' value='0'/>
+        <enumerator name='BLK_EH_RESET_TIMER' value='1'/>
+      </enum-decl>
+      <typedef-decl name='dma_drain_needed_fn' type-id='type-id-5558' filepath='include/linux/blkdev.h' line='323' column='1' id='type-id-5559'/>
+      <typedef-decl name='lld_busy_fn' type-id='type-id-5560' filepath='include/linux/blkdev.h' line='324' column='1' id='type-id-5561'/>
+      <typedef-decl name='init_rq_fn' type-id='type-id-5562' filepath='include/linux/blkdev.h' line='326' column='1' id='type-id-5563'/>
+      <typedef-decl name='exit_rq_fn' type-id='type-id-5504' filepath='include/linux/blkdev.h' line='327' column='1' id='type-id-5564'/>
+      <class-decl name='blk_queue_tag' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/blkdev.h' line='341' column='1' id='type-id-5565'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='tag_index' type-id='type-id-385' visibility='default' filepath='include/linux/blkdev.h' line='342' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='tag_map' type-id='type-id-76' visibility='default' filepath='include/linux/blkdev.h' line='343' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='max_depth' type-id='type-id-11' visibility='default' filepath='include/linux/blkdev.h' line='344' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='real_max_depth' type-id='type-id-11' visibility='default' filepath='include/linux/blkdev.h' line='345' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='refcnt' type-id='type-id-137' visibility='default' filepath='include/linux/blkdev.h' line='346' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='alloc_policy' type-id='type-id-11' visibility='default' filepath='include/linux/blkdev.h' line='347' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='next_tag' type-id='type-id-11' visibility='default' filepath='include/linux/blkdev.h' line='348' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='blk_rq_stat' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/blk_types.h' line='463' column='1' id='type-id-415'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mean' type-id='type-id-134' visibility='default' filepath='include/linux/blk_types.h' line='464' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='min' type-id='type-id-134' visibility='default' filepath='include/linux/blk_types.h' line='465' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='max' type-id='type-id-134' visibility='default' filepath='include/linux/blk_types.h' line='466' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='nr_samples' type-id='type-id-9' visibility='default' filepath='include/linux/blk_types.h' line='467' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='batch' type-id='type-id-134' visibility='default' filepath='include/linux/blk_types.h' line='468' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='queue_limits' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/linux/blkdev.h' line='365' column='1' id='type-id-2233'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bounce_pfn' type-id='type-id-100' visibility='default' filepath='include/linux/blkdev.h' line='366' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='seg_boundary_mask' type-id='type-id-100' visibility='default' filepath='include/linux/blkdev.h' line='367' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='virt_boundary_mask' type-id='type-id-100' visibility='default' filepath='include/linux/blkdev.h' line='368' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='max_hw_sectors' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='370' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='max_dev_sectors' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='371' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='chunk_sectors' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='372' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='max_sectors' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='373' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='max_segment_size' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='374' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='physical_block_size' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='375' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='logical_block_size' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='376' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='alignment_offset' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='377' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='io_min' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='378' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='io_opt' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='379' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='max_discard_sectors' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='380' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='max_hw_discard_sectors' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='381' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='max_write_same_sectors' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='382' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='max_write_zeroes_sectors' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='383' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='discard_granularity' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='384' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='672'>
+          <var-decl name='discard_alignment' type-id='type-id-10' visibility='default' filepath='include/linux/blkdev.h' line='385' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='max_segments' type-id='type-id-288' visibility='default' filepath='include/linux/blkdev.h' line='387' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='720'>
+          <var-decl name='max_integrity_segments' type-id='type-id-288' visibility='default' filepath='include/linux/blkdev.h' line='388' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='736'>
+          <var-decl name='max_discard_segments' type-id='type-id-288' visibility='default' filepath='include/linux/blkdev.h' line='389' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='752'>
+          <var-decl name='misaligned' type-id='type-id-271' visibility='default' filepath='include/linux/blkdev.h' line='391' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='760'>
+          <var-decl name='discard_misaligned' type-id='type-id-271' visibility='default' filepath='include/linux/blkdev.h' line='392' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='cluster' type-id='type-id-271' visibility='default' filepath='include/linux/blkdev.h' line='393' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='776'>
+          <var-decl name='raid_partial_stripes_expensive' type-id='type-id-271' visibility='default' filepath='include/linux/blkdev.h' line='394' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='800'>
+          <var-decl name='zoned' type-id='type-id-5566' visibility='default' filepath='include/linux/blkdev.h' line='395' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='blk_zoned_model' filepath='include/linux/blkdev.h' line='359' column='1' id='type-id-5566'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='BLK_ZONED_NONE' value='0'/>
+        <enumerator name='BLK_ZONED_HA' value='1'/>
+        <enumerator name='BLK_ZONED_HM' value='2'/>
+      </enum-decl>
+      <typedef-decl name='bsg_job_fn' type-id='type-id-5567' filepath='include/linux/blkdev.h' line='325' column='1' id='type-id-5568'/>
+      <class-decl name='bsg_class_device' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/bsg.h' line='18' column='1' id='type-id-5379'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='class_dev' type-id='type-id-86' visibility='default' filepath='include/linux/bsg.h' line='19' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='minor' type-id='type-id-11' visibility='default' filepath='include/linux/bsg.h' line='20' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='queue' type-id='type-id-268' visibility='default' filepath='include/linux/bsg.h' line='21' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='ops' type-id='type-id-5569' visibility='default' filepath='include/linux/bsg.h' line='22' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='bsg_ops' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/bsg.h' line='10' column='1' id='type-id-5570'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='check_proto' type-id='type-id-5571' visibility='default' filepath='include/linux/bsg.h' line='11' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='fill_hdr' type-id='type-id-5572' visibility='default' filepath='include/linux/bsg.h' line='12' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='complete_rq' type-id='type-id-5573' visibility='default' filepath='include/linux/bsg.h' line='14' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='free_rq' type-id='type-id-5374' visibility='default' filepath='include/linux/bsg.h' line='15' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='sg_io_v4' size-in-bits='1280' is-struct='yes' visibility='default' filepath='include/uapi/linux/bsg.h' line='22' column='1' id='type-id-5574'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='guard' type-id='type-id-2310' visibility='default' filepath='include/uapi/linux/bsg.h' line='23' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='protocol' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bsg.h' line='24' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='subprotocol' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bsg.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='request_len' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bsg.h' line='28' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='request' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/bsg.h' line='29' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='request_tag' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/bsg.h' line='30' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='request_attr' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bsg.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='request_priority' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bsg.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='request_extra' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bsg.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='max_response_len' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bsg.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='response' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/bsg.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='dout_iovec_count' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bsg.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='dout_xfer_len' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bsg.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='din_iovec_count' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bsg.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='din_xfer_len' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bsg.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='dout_xferp' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/bsg.h' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='din_xferp' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/bsg.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='timeout' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bsg.h' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='736'>
+          <var-decl name='flags' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bsg.h' line='47' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='usr_ptr' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/bsg.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='spare_in' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bsg.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='864'>
+          <var-decl name='driver_status' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bsg.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='transport_status' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bsg.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='928'>
+          <var-decl name='device_status' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bsg.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='retry_delay' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bsg.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='992'>
+          <var-decl name='info' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bsg.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='duration' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bsg.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1056'>
+          <var-decl name='response_len' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bsg.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='din_resid' type-id='type-id-2310' visibility='default' filepath='include/uapi/linux/bsg.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1120'>
+          <var-decl name='dout_resid' type-id='type-id-2310' visibility='default' filepath='include/uapi/linux/bsg.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='generated_tag' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/bsg.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='spare_out' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bsg.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1248'>
+          <var-decl name='padding' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bsg.h' line='63' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='lockdep_map' is-struct='yes' visibility='default' filepath='include/linux/lockdep.h' line='438' column='1' id='type-id-5347'/>
+      <typedef-decl name='errseq_t' type-id='type-id-9' filepath='include/linux/errseq.h' line='8' column='1' id='type-id-5009'/>
+      <union-decl name='__anonymous_union__14' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='99' column='1' id='type-id-5575'>
+        <data-member access='private'>
+          <var-decl name='slab_list' type-id='type-id-8' visibility='default' filepath='include/linux/mm_types.h' line='100' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-5576' visibility='default' filepath='include/linux/mm_types.h' line='101' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__18' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='101' column='1' id='type-id-5576'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='next' type-id='type-id-120' visibility='default' filepath='include/linux/mm_types.h' line='102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='pages' type-id='type-id-11' visibility='default' filepath='include/linux/mm_types.h' line='104' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='pobjects' type-id='type-id-11' visibility='default' filepath='include/linux/mm_types.h' line='105' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__19' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='118' column='1' id='type-id-4515'>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='inuse' type-id='type-id-10' visibility='default' filepath='include/linux/mm_types.h' line='119' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1'>
+          <var-decl name='objects' type-id='type-id-10' visibility='default' filepath='include/linux/mm_types.h' line='120' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='frozen' type-id='type-id-10' visibility='default' filepath='include/linux/mm_types.h' line='121' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='pgtable_t' type-id='type-id-120' filepath='arch/arm64/include/asm/page.h' line='38' column='1' id='type-id-152'/>
+      <class-decl name='dev_pagemap' size-in-bits='1344' is-struct='yes' visibility='default' filepath='include/linux/memremap.h' line='114' column='1' id='type-id-5577'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='page_fault' type-id='type-id-5578' visibility='default' filepath='include/linux/memremap.h' line='115' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='page_free' type-id='type-id-5579' visibility='default' filepath='include/linux/memremap.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='altmap' type-id='type-id-5580' visibility='default' filepath='include/linux/memremap.h' line='117' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='altmap_valid' type-id='type-id-211' visibility='default' filepath='include/linux/memremap.h' line='118' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='res' type-id='type-id-282' visibility='default' filepath='include/linux/memremap.h' line='119' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='ref' type-id='type-id-5581' visibility='default' filepath='include/linux/memremap.h' line='120' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='kill' type-id='type-id-5582' visibility='default' filepath='include/linux/memremap.h' line='121' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/linux/memremap.h' line='122' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='data' type-id='type-id-3' visibility='default' filepath='include/linux/memremap.h' line='123' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='type' type-id='type-id-5583' visibility='default' filepath='include/linux/memremap.h' line='124' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='dev_page_fault_t' type-id='type-id-5584' filepath='include/linux/memremap.h' line='95' column='1' id='type-id-5578'/>
+      <typedef-decl name='dev_page_free_t' type-id='type-id-5585' filepath='include/linux/memremap.h' line='100' column='1' id='type-id-5579'/>
+      <class-decl name='vmem_altmap' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/memremap.h' line='20' column='1' id='type-id-5580'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='base_pfn' type-id='type-id-5586' visibility='default' filepath='include/linux/memremap.h' line='21' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='reserve' type-id='type-id-5586' visibility='default' filepath='include/linux/memremap.h' line='22' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='free' type-id='type-id-100' visibility='default' filepath='include/linux/memremap.h' line='23' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='align' type-id='type-id-100' visibility='default' filepath='include/linux/memremap.h' line='24' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='alloc' type-id='type-id-100' visibility='default' filepath='include/linux/memremap.h' line='25' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='resource' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/ioport.h' line='19' column='1' id='type-id-282'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='start' type-id='type-id-1254' visibility='default' filepath='include/linux/ioport.h' line='20' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='end' type-id='type-id-1254' visibility='default' filepath='include/linux/ioport.h' line='21' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/ioport.h' line='22' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/ioport.h' line='23' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='desc' type-id='type-id-100' visibility='default' filepath='include/linux/ioport.h' line='24' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='parent' type-id='type-id-279' visibility='default' filepath='include/linux/ioport.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='sibling' type-id='type-id-279' visibility='default' filepath='include/linux/ioport.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='child' type-id='type-id-279' visibility='default' filepath='include/linux/ioport.h' line='25' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='resource_size_t' type-id='type-id-206' filepath='include/linux/types.h' line='168' column='1' id='type-id-1254'/>
+      <typedef-decl name='phys_addr_t' type-id='type-id-134' filepath='include/linux/types.h' line='163' column='1' id='type-id-206'/>
+      <enum-decl name='memory_type' filepath='include/linux/memremap.h' line='57' column='1' id='type-id-5583'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='MEMORY_DEVICE_PRIVATE' value='1'/>
+        <enumerator name='MEMORY_DEVICE_PUBLIC' value='2'/>
+        <enumerator name='MEMORY_DEVICE_FS_DAX' value='3'/>
+      </enum-decl>
+      <class-decl name='mem_cgroup' size-in-bits='18432' is-struct='yes' visibility='default' filepath='include/linux/memcontrol.h' line='197' column='1' id='type-id-5587'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='css' type-id='type-id-4576' visibility='default' filepath='include/linux/memcontrol.h' line='198' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='id' type-id='type-id-5588' visibility='default' filepath='include/linux/memcontrol.h' line='201' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='memory' type-id='type-id-5589' visibility='default' filepath='include/linux/memcontrol.h' line='204' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2816'>
+          <var-decl name='swap' type-id='type-id-5589' visibility='default' filepath='include/linux/memcontrol.h' line='205' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3648'>
+          <var-decl name='memsw' type-id='type-id-5589' visibility='default' filepath='include/linux/memcontrol.h' line='208' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4480'>
+          <var-decl name='kmem' type-id='type-id-5589' visibility='default' filepath='include/linux/memcontrol.h' line='209' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5312'>
+          <var-decl name='tcpmem' type-id='type-id-5589' visibility='default' filepath='include/linux/memcontrol.h' line='210' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6144'>
+          <var-decl name='high' type-id='type-id-100' visibility='default' filepath='include/linux/memcontrol.h' line='213' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6208'>
+          <var-decl name='high_work' type-id='type-id-149' visibility='default' filepath='include/linux/memcontrol.h' line='216' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6464'>
+          <var-decl name='soft_limit' type-id='type-id-100' visibility='default' filepath='include/linux/memcontrol.h' line='218' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6528'>
+          <var-decl name='vmpressure' type-id='type-id-5590' visibility='default' filepath='include/linux/memcontrol.h' line='221' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7488'>
+          <var-decl name='use_hierarchy' type-id='type-id-211' visibility='default' filepath='include/linux/memcontrol.h' line='226' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7496'>
+          <var-decl name='oom_group' type-id='type-id-211' visibility='default' filepath='include/linux/memcontrol.h' line='231' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7504'>
+          <var-decl name='oom_lock' type-id='type-id-211' visibility='default' filepath='include/linux/memcontrol.h' line='234' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7520'>
+          <var-decl name='under_oom' type-id='type-id-11' visibility='default' filepath='include/linux/memcontrol.h' line='235' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7552'>
+          <var-decl name='swappiness' type-id='type-id-11' visibility='default' filepath='include/linux/memcontrol.h' line='237' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7584'>
+          <var-decl name='oom_kill_disable' type-id='type-id-11' visibility='default' filepath='include/linux/memcontrol.h' line='239' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7616'>
+          <var-decl name='events_file' type-id='type-id-5408' visibility='default' filepath='include/linux/memcontrol.h' line='242' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8064'>
+          <var-decl name='swap_events_file' type-id='type-id-5408' visibility='default' filepath='include/linux/memcontrol.h' line='245' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8512'>
+          <var-decl name='thresholds_lock' type-id='type-id-407' visibility='default' filepath='include/linux/memcontrol.h' line='248' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8768'>
+          <var-decl name='thresholds' type-id='type-id-5591' visibility='default' filepath='include/linux/memcontrol.h' line='251' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8896'>
+          <var-decl name='memsw_thresholds' type-id='type-id-5591' visibility='default' filepath='include/linux/memcontrol.h' line='254' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9024'>
+          <var-decl name='oom_notify' type-id='type-id-8' visibility='default' filepath='include/linux/memcontrol.h' line='257' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9152'>
+          <var-decl name='move_charge_at_immigrate' type-id='type-id-100' visibility='default' filepath='include/linux/memcontrol.h' line='263' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9216'>
+          <var-decl name='move_lock' type-id='type-id-106' visibility='default' filepath='include/linux/memcontrol.h' line='265' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9280'>
+          <var-decl name='move_lock_flags' type-id='type-id-100' visibility='default' filepath='include/linux/memcontrol.h' line='266' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9728'>
+          <var-decl name='_pad1_' type-id='type-id-5592' visibility='default' filepath='include/linux/memcontrol.h' line='268' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9728'>
+          <var-decl name='moving_account' type-id='type-id-137' visibility='default' filepath='include/linux/memcontrol.h' line='273' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9792'>
+          <var-decl name='move_lock_task' type-id='type-id-118' visibility='default' filepath='include/linux/memcontrol.h' line='274' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9856'>
+          <var-decl name='stat_cpu' type-id='type-id-5593' visibility='default' filepath='include/linux/memcontrol.h' line='277' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10240'>
+          <var-decl name='_pad2_' type-id='type-id-5592' visibility='default' filepath='include/linux/memcontrol.h' line='279' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10240'>
+          <var-decl name='stat' type-id='type-id-4635' visibility='default' filepath='include/linux/memcontrol.h' line='281' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12480'>
+          <var-decl name='events' type-id='type-id-4637' visibility='default' filepath='include/linux/memcontrol.h' line='282' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15872'>
+          <var-decl name='memory_events' type-id='type-id-4639' visibility='default' filepath='include/linux/memcontrol.h' line='283' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16320'>
+          <var-decl name='socket_pressure' type-id='type-id-100' visibility='default' filepath='include/linux/memcontrol.h' line='285' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16384'>
+          <var-decl name='tcpmem_active' type-id='type-id-211' visibility='default' filepath='include/linux/memcontrol.h' line='288' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16416'>
+          <var-decl name='tcpmem_pressure' type-id='type-id-11' visibility='default' filepath='include/linux/memcontrol.h' line='289' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16448'>
+          <var-decl name='kmemcg_id' type-id='type-id-11' visibility='default' filepath='include/linux/memcontrol.h' line='293' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16480'>
+          <var-decl name='kmem_state' type-id='type-id-5594' visibility='default' filepath='include/linux/memcontrol.h' line='294' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16512'>
+          <var-decl name='kmem_caches' type-id='type-id-8' visibility='default' filepath='include/linux/memcontrol.h' line='295' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16640'>
+          <var-decl name='last_scanned_node' type-id='type-id-11' visibility='default' filepath='include/linux/memcontrol.h' line='298' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16704'>
+          <var-decl name='cgwb_list' type-id='type-id-8' visibility='default' filepath='include/linux/memcontrol.h' line='306' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16832'>
+          <var-decl name='cgwb_domain' type-id='type-id-5595' visibility='default' filepath='include/linux/memcontrol.h' line='307' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='17792'>
+          <var-decl name='event_list' type-id='type-id-8' visibility='default' filepath='include/linux/memcontrol.h' line='311' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='17920'>
+          <var-decl name='event_list_lock' type-id='type-id-106' visibility='default' filepath='include/linux/memcontrol.h' line='312' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='17984'>
+          <var-decl name='nodeinfo' type-id='type-id-4786' visibility='default' filepath='include/linux/memcontrol.h' line='314' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='mem_cgroup_id' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/memcontrol.h' line='79' column='1' id='type-id-5588'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='id' type-id='type-id-11' visibility='default' filepath='include/linux/memcontrol.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='ref' type-id='type-id-137' visibility='default' filepath='include/linux/memcontrol.h' line='81' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='page_counter' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/linux/page_counter.h' line='9' column='1' id='type-id-5589'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='usage' type-id='type-id-138' visibility='default' filepath='include/linux/page_counter.h' line='10' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='min' type-id='type-id-100' visibility='default' filepath='include/linux/page_counter.h' line='11' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='low' type-id='type-id-100' visibility='default' filepath='include/linux/page_counter.h' line='12' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='max' type-id='type-id-100' visibility='default' filepath='include/linux/page_counter.h' line='13' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='parent' type-id='type-id-5596' visibility='default' filepath='include/linux/page_counter.h' line='14' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='emin' type-id='type-id-100' visibility='default' filepath='include/linux/page_counter.h' line='17' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='min_usage' type-id='type-id-138' visibility='default' filepath='include/linux/page_counter.h' line='18' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='children_min_usage' type-id='type-id-138' visibility='default' filepath='include/linux/page_counter.h' line='19' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='elow' type-id='type-id-100' visibility='default' filepath='include/linux/page_counter.h' line='22' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='low_usage' type-id='type-id-138' visibility='default' filepath='include/linux/page_counter.h' line='23' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='children_low_usage' type-id='type-id-138' visibility='default' filepath='include/linux/page_counter.h' line='24' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='watermark' type-id='type-id-100' visibility='default' filepath='include/linux/page_counter.h' line='27' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='failcnt' type-id='type-id-100' visibility='default' filepath='include/linux/page_counter.h' line='28' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='vmpressure' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/linux/vmpressure.h' line='13' column='1' id='type-id-5590'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='scanned' type-id='type-id-100' visibility='default' filepath='include/linux/vmpressure.h' line='14' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='reclaimed' type-id='type-id-100' visibility='default' filepath='include/linux/vmpressure.h' line='15' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='tree_scanned' type-id='type-id-100' visibility='default' filepath='include/linux/vmpressure.h' line='17' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='tree_reclaimed' type-id='type-id-100' visibility='default' filepath='include/linux/vmpressure.h' line='18' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='sr_lock' type-id='type-id-4496' visibility='default' filepath='include/linux/vmpressure.h' line='20' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='events' type-id='type-id-8' visibility='default' filepath='include/linux/vmpressure.h' line='23' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='events_lock' type-id='type-id-407' visibility='default' filepath='include/linux/vmpressure.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='work' type-id='type-id-149' visibility='default' filepath='include/linux/vmpressure.h' line='27' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='mem_cgroup_thresholds' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/memcontrol.h' line='165' column='1' id='type-id-5591'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='primary' type-id='type-id-5597' visibility='default' filepath='include/linux/memcontrol.h' line='167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='spare' type-id='type-id-5597' visibility='default' filepath='include/linux/memcontrol.h' line='173' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='mem_cgroup_threshold_ary' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/memcontrol.h' line='156' column='1' id='type-id-5598'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='current_threshold' type-id='type-id-11' visibility='default' filepath='include/linux/memcontrol.h' line='158' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='size' type-id='type-id-10' visibility='default' filepath='include/linux/memcontrol.h' line='160' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='entries' type-id='type-id-4790' visibility='default' filepath='include/linux/memcontrol.h' line='162' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='mem_cgroup_threshold' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/memcontrol.h' line='150' column='1' id='type-id-4789'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='eventfd' type-id='type-id-5599' visibility='default' filepath='include/linux/memcontrol.h' line='151' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='threshold' type-id='type-id-100' visibility='default' filepath='include/linux/memcontrol.h' line='152' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='memcg_padding' is-struct='yes' visibility='default' filepath='include/linux/memcontrol.h' line='183' column='1' id='type-id-5592'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='x' type-id='type-id-1049' visibility='default' filepath='include/linux/memcontrol.h' line='184' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='mem_cgroup_stat_cpu' size-in-bits='5888' is-struct='yes' visibility='default' filepath='include/linux/memcontrol.h' line='97' column='1' id='type-id-5600'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='count' type-id='type-id-4784' visibility='default' filepath='include/linux/memcontrol.h' line='98' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='events' type-id='type-id-4832' visibility='default' filepath='include/linux/memcontrol.h' line='99' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5632'>
+          <var-decl name='nr_page_events' type-id='type-id-100' visibility='default' filepath='include/linux/memcontrol.h' line='100' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5696'>
+          <var-decl name='targets' type-id='type-id-2356' visibility='default' filepath='include/linux/memcontrol.h' line='101' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='memcg_kmem_state' filepath='include/linux/memcontrol.h' line='176' column='1' id='type-id-5594'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='KMEM_NONE' value='0'/>
+        <enumerator name='KMEM_ALLOCATED' value='1'/>
+        <enumerator name='KMEM_ONLINE' value='2'/>
+      </enum-decl>
+      <class-decl name='wb_domain' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/linux/writeback.h' line='102' column='1' id='type-id-5595'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/linux/writeback.h' line='103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='completions' type-id='type-id-5601' visibility='default' filepath='include/linux/writeback.h' line='122' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='period_timer' type-id='type-id-1240' visibility='default' filepath='include/linux/writeback.h' line='123' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='period_time' type-id='type-id-100' visibility='default' filepath='include/linux/writeback.h' line='124' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='dirty_limit_tstamp' type-id='type-id-100' visibility='default' filepath='include/linux/writeback.h' line='136' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='dirty_limit' type-id='type-id-100' visibility='default' filepath='include/linux/writeback.h' line='137' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='fprop_global' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/flex_proportions.h' line='28' column='1' id='type-id-5601'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='events' type-id='type-id-4559' visibility='default' filepath='include/linux/flex_proportions.h' line='30' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='period' type-id='type-id-10' visibility='default' filepath='include/linux/flex_proportions.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='sequence' type-id='type-id-1865' visibility='default' filepath='include/linux/flex_proportions.h' line='34' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='percpu_counter' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/percpu_counter.h' line='20' column='1' id='type-id-4559'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-5119' visibility='default' filepath='include/linux/percpu_counter.h' line='21' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='count' type-id='type-id-581' visibility='default' filepath='include/linux/percpu_counter.h' line='22' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/percpu_counter.h' line='24' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='counters' type-id='type-id-1431' visibility='default' filepath='include/linux/percpu_counter.h' line='26' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='mem_cgroup_per_node' size-in-bits='5760' is-struct='yes' visibility='default' filepath='include/linux/memcontrol.h' line='126' column='1' id='type-id-5602'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lruvec' type-id='type-id-5603' visibility='default' filepath='include/linux/memcontrol.h' line='127' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='lruvec_stat_cpu' type-id='type-id-5604' visibility='default' filepath='include/linux/memcontrol.h' line='129' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='lruvec_stat' type-id='type-id-4633' visibility='default' filepath='include/linux/memcontrol.h' line='130' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3008'>
+          <var-decl name='lru_zone_size' type-id='type-id-4830' visibility='default' filepath='include/linux/memcontrol.h' line='132' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3648'>
+          <var-decl name='iter' type-id='type-id-4788' visibility='default' filepath='include/linux/memcontrol.h' line='134' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5312'>
+          <var-decl name='shrinker_map' type-id='type-id-5605' visibility='default' filepath='include/linux/memcontrol.h' line='137' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5376'>
+          <var-decl name='tree_node' type-id='type-id-1846' visibility='default' filepath='include/linux/memcontrol.h' line='139' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5568'>
+          <var-decl name='usage_in_excess' type-id='type-id-100' visibility='default' filepath='include/linux/memcontrol.h' line='140' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5632'>
+          <var-decl name='on_tree' type-id='type-id-211' visibility='default' filepath='include/linux/memcontrol.h' line='142' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5640'>
+          <var-decl name='congested' type-id='type-id-211' visibility='default' filepath='include/linux/memcontrol.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5696'>
+          <var-decl name='memcg' type-id='type-id-5159' visibility='default' filepath='include/linux/memcontrol.h' line='146' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='lruvec' size-in-bits='1088' is-struct='yes' visibility='default' filepath='include/linux/mmzone.h' line='242' column='1' id='type-id-5603'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lists' type-id='type-id-4775' visibility='default' filepath='include/linux/mmzone.h' line='243' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='reclaim_stat' type-id='type-id-5606' visibility='default' filepath='include/linux/mmzone.h' line='244' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='inactive_age' type-id='type-id-138' visibility='default' filepath='include/linux/mmzone.h' line='246' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='refaults' type-id='type-id-100' visibility='default' filepath='include/linux/mmzone.h' line='248' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='pgdat' type-id='type-id-5607' visibility='default' filepath='include/linux/mmzone.h' line='250' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='zone_reclaim_stat' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/mmzone.h' line='229' column='1' id='type-id-5606'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='recent_rotated' type-id='type-id-1331' visibility='default' filepath='include/linux/mmzone.h' line='238' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='recent_scanned' type-id='type-id-1331' visibility='default' filepath='include/linux/mmzone.h' line='239' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='pglist_data' size-in-bits='31232' is-struct='yes' visibility='default' filepath='include/linux/mmzone.h' line='638' column='1' id='type-id-5608'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='node_zones' type-id='type-id-4842' visibility='default' filepath='include/linux/mmzone.h' line='639' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='25600'>
+          <var-decl name='node_zonelists' type-id='type-id-4844' visibility='default' filepath='include/linux/mmzone.h' line='640' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='25984'>
+          <var-decl name='nr_zones' type-id='type-id-11' visibility='default' filepath='include/linux/mmzone.h' line='641' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='26048'>
+          <var-decl name='node_start_pfn' type-id='type-id-100' visibility='default' filepath='include/linux/mmzone.h' line='664' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='26112'>
+          <var-decl name='node_present_pages' type-id='type-id-100' visibility='default' filepath='include/linux/mmzone.h' line='665' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='26176'>
+          <var-decl name='node_spanned_pages' type-id='type-id-100' visibility='default' filepath='include/linux/mmzone.h' line='666' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='26240'>
+          <var-decl name='node_id' type-id='type-id-11' visibility='default' filepath='include/linux/mmzone.h' line='668' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='26304'>
+          <var-decl name='kswapd_wait' type-id='type-id-388' visibility='default' filepath='include/linux/mmzone.h' line='669' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='26496'>
+          <var-decl name='pfmemalloc_wait' type-id='type-id-388' visibility='default' filepath='include/linux/mmzone.h' line='670' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='26688'>
+          <var-decl name='kswapd' type-id='type-id-118' visibility='default' filepath='include/linux/mmzone.h' line='671' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='26752'>
+          <var-decl name='kswapd_order' type-id='type-id-11' visibility='default' filepath='include/linux/mmzone.h' line='673' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='26784'>
+          <var-decl name='kswapd_classzone_idx' type-id='type-id-5609' visibility='default' filepath='include/linux/mmzone.h' line='674' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='26816'>
+          <var-decl name='kswapd_failures' type-id='type-id-11' visibility='default' filepath='include/linux/mmzone.h' line='676' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='26848'>
+          <var-decl name='kcompactd_max_order' type-id='type-id-11' visibility='default' filepath='include/linux/mmzone.h' line='679' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='26880'>
+          <var-decl name='kcompactd_classzone_idx' type-id='type-id-5609' visibility='default' filepath='include/linux/mmzone.h' line='680' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='26944'>
+          <var-decl name='kcompactd_wait' type-id='type-id-388' visibility='default' filepath='include/linux/mmzone.h' line='681' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='27136'>
+          <var-decl name='kcompactd' type-id='type-id-118' visibility='default' filepath='include/linux/mmzone.h' line='682' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='27200'>
+          <var-decl name='totalreserve_pages' type-id='type-id-100' visibility='default' filepath='include/linux/mmzone.h' line='688' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='27648'>
+          <var-decl name='_pad1_' type-id='type-id-5610' visibility='default' filepath='include/linux/mmzone.h' line='699' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='27648'>
+          <var-decl name='lru_lock' type-id='type-id-106' visibility='default' filepath='include/linux/mmzone.h' line='700' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='27712'>
+          <var-decl name='lruvec' type-id='type-id-5603' visibility='default' filepath='include/linux/mmzone.h' line='719' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='28800'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/mmzone.h' line='721' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='29184'>
+          <var-decl name='_pad2_' type-id='type-id-5610' visibility='default' filepath='include/linux/mmzone.h' line='723' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='29184'>
+          <var-decl name='per_cpu_nodestats' type-id='type-id-5611' visibility='default' filepath='include/linux/mmzone.h' line='726' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='29248'>
+          <var-decl name='vm_stat' type-id='type-id-4633' visibility='default' filepath='include/linux/mmzone.h' line='727' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='zone' size-in-bits='12800' is-struct='yes' visibility='default' filepath='include/linux/mmzone.h' line='366' column='1' id='type-id-4841'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='_watermark' type-id='type-id-2356' visibility='default' filepath='include/linux/mmzone.h' line='370' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='watermark_boost' type-id='type-id-100' visibility='default' filepath='include/linux/mmzone.h' line='371' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='nr_reserved_highatomic' type-id='type-id-100' visibility='default' filepath='include/linux/mmzone.h' line='373' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='lowmem_reserve' type-id='type-id-4783' visibility='default' filepath='include/linux/mmzone.h' line='384' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='zone_pgdat' type-id='type-id-5607' visibility='default' filepath='include/linux/mmzone.h' line='389' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='pageset' type-id='type-id-5612' visibility='default' filepath='include/linux/mmzone.h' line='390' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='cma_alloc' type-id='type-id-211' visibility='default' filepath='include/linux/mmzone.h' line='393' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='zone_start_pfn' type-id='type-id-100' visibility='default' filepath='include/linux/mmzone.h' line='405' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='managed_pages' type-id='type-id-100' visibility='default' filepath='include/linux/mmzone.h' line='448' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='spanned_pages' type-id='type-id-100' visibility='default' filepath='include/linux/mmzone.h' line='449' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='present_pages' type-id='type-id-100' visibility='default' filepath='include/linux/mmzone.h' line='450' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/mmzone.h' line='452' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='nr_isolate_pageblock' type-id='type-id-100' visibility='default' filepath='include/linux/mmzone.h' line='460' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='initialized' type-id='type-id-11' visibility='default' filepath='include/linux/mmzone.h' line='468' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='_pad1_' type-id='type-id-5610' visibility='default' filepath='include/linux/mmzone.h' line='471' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='free_area' type-id='type-id-4756' visibility='default' filepath='include/linux/mmzone.h' line='474' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10688'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/mmzone.h' line='477' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10752'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/linux/mmzone.h' line='480' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11264'>
+          <var-decl name='_pad2_' type-id='type-id-5610' visibility='default' filepath='include/linux/mmzone.h' line='483' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11264'>
+          <var-decl name='percpu_drift_mark' type-id='type-id-100' visibility='default' filepath='include/linux/mmzone.h' line='490' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11328'>
+          <var-decl name='compact_cached_free_pfn' type-id='type-id-100' visibility='default' filepath='include/linux/mmzone.h' line='494' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11392'>
+          <var-decl name='compact_cached_migrate_pfn' type-id='type-id-1331' visibility='default' filepath='include/linux/mmzone.h' line='496' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11520'>
+          <var-decl name='compact_init_migrate_pfn' type-id='type-id-100' visibility='default' filepath='include/linux/mmzone.h' line='497' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11584'>
+          <var-decl name='compact_init_free_pfn' type-id='type-id-100' visibility='default' filepath='include/linux/mmzone.h' line='498' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11648'>
+          <var-decl name='compact_considered' type-id='type-id-10' visibility='default' filepath='include/linux/mmzone.h' line='507' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11680'>
+          <var-decl name='compact_defer_shift' type-id='type-id-10' visibility='default' filepath='include/linux/mmzone.h' line='508' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11712'>
+          <var-decl name='compact_order_failed' type-id='type-id-11' visibility='default' filepath='include/linux/mmzone.h' line='509' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11744'>
+          <var-decl name='compact_blockskip_flush' type-id='type-id-211' visibility='default' filepath='include/linux/mmzone.h' line='514' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11752'>
+          <var-decl name='contiguous' type-id='type-id-211' visibility='default' filepath='include/linux/mmzone.h' line='517' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11776'>
+          <var-decl name='_pad3_' type-id='type-id-5610' visibility='default' filepath='include/linux/mmzone.h' line='519' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11776'>
+          <var-decl name='vm_stat' type-id='type-id-4632' visibility='default' filepath='include/linux/mmzone.h' line='521' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12672'>
+          <var-decl name='vm_numa_stat' type-id='type-id-4640' visibility='default' filepath='include/linux/mmzone.h' line='522' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='per_cpu_pageset' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/linux/mmzone.h' line='290' column='1' id='type-id-5613'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='pcp' type-id='type-id-5614' visibility='default' filepath='include/linux/mmzone.h' line='291' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='stat_threshold' type-id='type-id-4809' visibility='default' filepath='include/linux/mmzone.h' line='297' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='648'>
+          <var-decl name='vm_stat_diff' type-id='type-id-4810' visibility='default' filepath='include/linux/mmzone.h' line='298' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='per_cpu_pages' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/mmzone.h' line='281' column='1' id='type-id-5614'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='count' type-id='type-id-11' visibility='default' filepath='include/linux/mmzone.h' line='282' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='high' type-id='type-id-11' visibility='default' filepath='include/linux/mmzone.h' line='283' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='batch' type-id='type-id-11' visibility='default' filepath='include/linux/mmzone.h' line='284' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='lists' type-id='type-id-4774' visibility='default' filepath='include/linux/mmzone.h' line='287' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='s8' type-id='type-id-5615' filepath='include/asm-generic/int-ll64.h' line='16' column='1' id='type-id-4809'/>
+      <typedef-decl name='__s8' type-id='type-id-4812' filepath='include/uapi/asm-generic/int-ll64.h' line='20' column='1' id='type-id-5615'/>
+      <class-decl name='zone_padding' is-struct='yes' visibility='default' filepath='include/linux/mmzone.h' line='112' column='1' id='type-id-5610'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='x' type-id='type-id-1049' visibility='default' filepath='include/linux/mmzone.h' line='113' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='free_area' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/linux/mmzone.h' line='98' column='1' id='type-id-4755'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='free_list' type-id='type-id-4776' visibility='default' filepath='include/linux/mmzone.h' line='99' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='nr_free' type-id='type-id-100' visibility='default' filepath='include/linux/mmzone.h' line='100' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='zonelist' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/mmzone.h' line='620' column='1' id='type-id-4843'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='_zonerefs' type-id='type-id-4846' visibility='default' filepath='include/linux/mmzone.h' line='621' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='zoneref' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/mmzone.h' line='601' column='1' id='type-id-4845'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='zone' type-id='type-id-5616' visibility='default' filepath='include/linux/mmzone.h' line='602' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='zone_idx' type-id='type-id-11' visibility='default' filepath='include/linux/mmzone.h' line='603' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='zone_type' filepath='include/linux/mmzone.h' line='309' column='1' id='type-id-5609'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='ZONE_NORMAL' value='0'/>
+        <enumerator name='ZONE_MOVABLE' value='1'/>
+        <enumerator name='__MAX_NR_ZONES' value='2'/>
+      </enum-decl>
+      <class-decl name='per_cpu_nodestat' size-in-bits='240' is-struct='yes' visibility='default' filepath='include/linux/mmzone.h' line='302' column='1' id='type-id-5617'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='stat_threshold' type-id='type-id-4809' visibility='default' filepath='include/linux/mmzone.h' line='303' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='vm_node_stat_diff' type-id='type-id-4811' visibility='default' filepath='include/linux/mmzone.h' line='304' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='lruvec_stat' size-in-bits='1856' is-struct='yes' visibility='default' filepath='include/linux/memcontrol.h' line='110' column='1' id='type-id-5618'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='count' type-id='type-id-4782' visibility='default' filepath='include/linux/memcontrol.h' line='111' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='mem_cgroup_reclaim_iter' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/memcontrol.h' line='104' column='1' id='type-id-4787'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='position' type-id='type-id-5159' visibility='default' filepath='include/linux/memcontrol.h' line='105' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='generation' type-id='type-id-10' visibility='default' filepath='include/linux/memcontrol.h' line='107' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='memcg_shrinker_map' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/memcontrol.h' line='118' column='1' id='type-id-5619'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/linux/memcontrol.h' line='119' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='map' type-id='type-id-3523' visibility='default' filepath='include/linux/memcontrol.h' line='120' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='page_entry_size' filepath='include/linux/mm.h' line='393' column='1' id='type-id-5620'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='PE_SIZE_PTE' value='0'/>
+        <enumerator name='PE_SIZE_PMD' value='1'/>
+        <enumerator name='PE_SIZE_PUD' value='2'/>
+      </enum-decl>
+      <class-decl name='vm_userfaultfd_ctx' is-struct='yes' visibility='default' filepath='include/linux/mm_types.h' line='260' column='1' id='type-id-5186'/>
+      <class-decl name='mm_rss_stat' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/mm_types_task.h' line='56' column='1' id='type-id-141'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='count' type-id='type-id-4636' visibility='default' filepath='include/linux/mm_types_task.h' line='57' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='linux_binfmt' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/binfmts.h' line='94' column='1' id='type-id-5621'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lh' type-id='type-id-8' visibility='default' filepath='include/linux/binfmts.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='module' type-id='type-id-19' visibility='default' filepath='include/linux/binfmts.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='load_binary' type-id='type-id-5622' visibility='default' filepath='include/linux/binfmts.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='load_shlib' type-id='type-id-2261' visibility='default' filepath='include/linux/binfmts.h' line='98' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='core_dump' type-id='type-id-5623' visibility='default' filepath='include/linux/binfmts.h' line='99' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='min_coredump' type-id='type-id-100' visibility='default' filepath='include/linux/binfmts.h' line='100' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='linux_binprm' size-in-bits='2048' is-struct='yes' visibility='default' filepath='include/linux/binfmts.h' line='17' column='1' id='type-id-5624'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='buf' type-id='type-id-13' visibility='default' filepath='include/linux/binfmts.h' line='18' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='vma' type-id='type-id-132' visibility='default' filepath='include/linux/binfmts.h' line='20' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='vma_pages' type-id='type-id-100' visibility='default' filepath='include/linux/binfmts.h' line='21' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='mm' type-id='type-id-158' visibility='default' filepath='include/linux/binfmts.h' line='26' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='p' type-id='type-id-100' visibility='default' filepath='include/linux/binfmts.h' line='27' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='called_set_creds' type-id='type-id-10' visibility='default' filepath='include/linux/binfmts.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='cap_elevated' type-id='type-id-10' visibility='default' filepath='include/linux/binfmts.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='29'>
+          <var-decl name='secureexec' type-id='type-id-10' visibility='default' filepath='include/linux/binfmts.h' line='47' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1312'>
+          <var-decl name='recursion_depth' type-id='type-id-10' visibility='default' filepath='include/linux/binfmts.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='file' type-id='type-id-147' visibility='default' filepath='include/linux/binfmts.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='cred' type-id='type-id-5625' visibility='default' filepath='include/linux/binfmts.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='unsafe' type-id='type-id-11' visibility='default' filepath='include/linux/binfmts.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1504'>
+          <var-decl name='per_clear' type-id='type-id-10' visibility='default' filepath='include/linux/binfmts.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='argc' type-id='type-id-11' visibility='default' filepath='include/linux/binfmts.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1568'>
+          <var-decl name='envc' type-id='type-id-11' visibility='default' filepath='include/linux/binfmts.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='filename' type-id='type-id-24' visibility='default' filepath='include/linux/binfmts.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='interp' type-id='type-id-24' visibility='default' filepath='include/linux/binfmts.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='interp_flags' type-id='type-id-10' visibility='default' filepath='include/linux/binfmts.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1760'>
+          <var-decl name='interp_data' type-id='type-id-10' visibility='default' filepath='include/linux/binfmts.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='loader' type-id='type-id-100' visibility='default' filepath='include/linux/binfmts.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='exec' type-id='type-id-100' visibility='default' filepath='include/linux/binfmts.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='rlim_stack' type-id='type-id-4807' visibility='default' filepath='include/linux/binfmts.h' line='65' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='cred' size-in-bits='1344' is-struct='yes' visibility='default' filepath='include/linux/cred.h' line='116' column='1' id='type-id-5626'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='usage' type-id='type-id-137' visibility='default' filepath='include/linux/cred.h' line='117' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='uid' type-id='type-id-4567' visibility='default' filepath='include/linux/cred.h' line='125' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='gid' type-id='type-id-4568' visibility='default' filepath='include/linux/cred.h' line='126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='suid' type-id='type-id-4567' visibility='default' filepath='include/linux/cred.h' line='127' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='sgid' type-id='type-id-4568' visibility='default' filepath='include/linux/cred.h' line='128' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='euid' type-id='type-id-4567' visibility='default' filepath='include/linux/cred.h' line='129' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='egid' type-id='type-id-4568' visibility='default' filepath='include/linux/cred.h' line='130' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='fsuid' type-id='type-id-4567' visibility='default' filepath='include/linux/cred.h' line='131' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='fsgid' type-id='type-id-4568' visibility='default' filepath='include/linux/cred.h' line='132' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='securebits' type-id='type-id-10' visibility='default' filepath='include/linux/cred.h' line='133' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='cap_inheritable' type-id='type-id-5627' visibility='default' filepath='include/linux/cred.h' line='134' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='cap_permitted' type-id='type-id-5627' visibility='default' filepath='include/linux/cred.h' line='135' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='cap_effective' type-id='type-id-5627' visibility='default' filepath='include/linux/cred.h' line='136' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='cap_bset' type-id='type-id-5627' visibility='default' filepath='include/linux/cred.h' line='137' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='cap_ambient' type-id='type-id-5627' visibility='default' filepath='include/linux/cred.h' line='138' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='jit_keyring' type-id='type-id-271' visibility='default' filepath='include/linux/cred.h' line='140' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='session_keyring' type-id='type-id-5074' visibility='default' filepath='include/linux/cred.h' line='142' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='process_keyring' type-id='type-id-5074' visibility='default' filepath='include/linux/cred.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='thread_keyring' type-id='type-id-5074' visibility='default' filepath='include/linux/cred.h' line='144' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='request_key_auth' type-id='type-id-5074' visibility='default' filepath='include/linux/cred.h' line='145' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='security' type-id='type-id-3' visibility='default' filepath='include/linux/cred.h' line='148' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='user' type-id='type-id-4581' visibility='default' filepath='include/linux/cred.h' line='150' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='user_ns' type-id='type-id-4564' visibility='default' filepath='include/linux/cred.h' line='151' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='group_info' type-id='type-id-5628' visibility='default' filepath='include/linux/cred.h' line='152' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='' type-id='type-id-5629' visibility='default' filepath='include/linux/cred.h' line='154' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='kernel_cap_t' type-id='type-id-5630' filepath='include/linux/capability.h' line='26' column='1' id='type-id-5627'/>
+      <class-decl name='kernel_cap_struct' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/capability.h' line='24' column='1' id='type-id-5630'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cap' type-id='type-id-2444' visibility='default' filepath='include/linux/capability.h' line='25' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='key' size-in-bits='1600' is-struct='yes' visibility='default' filepath='include/linux/key.h' line='155' column='1' id='type-id-5631'>
+
+          <member-type access='public'>
+            <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/key.h' line='165' column='1' id='type-id-5632'>
+              <data-member access='private'>
+                <var-decl name='expiry' type-id='type-id-3459' visibility='default' filepath='include/linux/key.h' line='166' column='1'/>
+              </data-member>
+              <data-member access='private'>
+                <var-decl name='revoked_at' type-id='type-id-3459' visibility='default' filepath='include/linux/key.h' line='167' column='1'/>
+              </data-member>
+            </union-decl>
+          </member-type>
+
+          <member-type access='public'>
+            <union-decl name='__anonymous_union__1' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/linux/key.h' line='202' column='1' id='type-id-5633'>
+              <data-member access='private'>
+                <var-decl name='index_key' type-id='type-id-5634' visibility='default' filepath='include/linux/key.h' line='203' column='1'/>
+              </data-member>
+              <data-member access='private'>
+                <var-decl name='' type-id='type-id-5635' visibility='default' filepath='include/linux/key.h' line='204' column='1'/>
+              </data-member>
+            </union-decl>
+          </member-type>
+        <member-type access='public'>
+          <union-decl name='__anonymous_union__2' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/linux/key.h' line='214' column='1' id='type-id-5636'>
+            <data-member access='private'>
+              <var-decl name='payload' type-id='type-id-5060' visibility='default' filepath='include/linux/key.h' line='215' column='1'/>
+            </data-member>
+            <data-member access='private'>
+              <var-decl name='' type-id='type-id-5637' visibility='default' filepath='include/linux/key.h' line='216' column='1'/>
+            </data-member>
+          </union-decl>
+        </member-type>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='usage' type-id='type-id-12' visibility='default' filepath='include/linux/key.h' line='156' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='serial' type-id='type-id-5638' visibility='default' filepath='include/linux/key.h' line='157' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='' type-id='type-id-5639' visibility='default' filepath='include/linux/key.h' line='158' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='sem' type-id='type-id-139' visibility='default' filepath='include/linux/key.h' line='162' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='user' type-id='type-id-5640' visibility='default' filepath='include/linux/key.h' line='163' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='security' type-id='type-id-3' visibility='default' filepath='include/linux/key.h' line='164' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='last_used_at' type-id='type-id-3459' visibility='default' filepath='include/linux/key.h' line='169' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='uid' type-id='type-id-4567' visibility='default' filepath='include/linux/key.h' line='170' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='864'>
+          <var-decl name='gid' type-id='type-id-4568' visibility='default' filepath='include/linux/key.h' line='171' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='perm' type-id='type-id-5641' visibility='default' filepath='include/linux/key.h' line='172' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='928'>
+          <var-decl name='quotalen' type-id='type-id-288' visibility='default' filepath='include/linux/key.h' line='173' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='944'>
+          <var-decl name='datalen' type-id='type-id-288' visibility='default' filepath='include/linux/key.h' line='174' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='state' type-id='type-id-3521' visibility='default' filepath='include/linux/key.h' line='178' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/key.h' line='185' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='restrict_link' type-id='type-id-5642' visibility='default' filepath='include/linux/key.h' line='234' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='key_serial_t' type-id='type-id-1424' filepath='include/linux/key.h' line='33' column='1' id='type-id-5638'/>
+      <typedef-decl name='int32_t' type-id='type-id-939' filepath='include/linux/types.h' line='103' column='1' id='type-id-1424'/>
+      <typedef-decl name='key_perm_t' type-id='type-id-193' filepath='include/linux/key.h' line='36' column='1' id='type-id-5641'/>
+      <class-decl name='keyring_index_key' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/key.h' line='88' column='1' id='type-id-5634'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-5643' visibility='default' filepath='include/linux/key.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='description' type-id='type-id-24' visibility='default' filepath='include/linux/key.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='desc_len' type-id='type-id-125' visibility='default' filepath='include/linux/key.h' line='91' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__20' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/key.h' line='204' column='1' id='type-id-5635'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-5643' visibility='default' filepath='include/linux/key.h' line='205' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='description' type-id='type-id-300' visibility='default' filepath='include/linux/key.h' line='206' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__21' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/key.h' line='216' column='1' id='type-id-5637'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name_link' type-id='type-id-8' visibility='default' filepath='include/linux/key.h' line='218' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='keys' type-id='type-id-5644' visibility='default' filepath='include/linux/key.h' line='219' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='assoc_array' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/assoc_array.h' line='26' column='1' id='type-id-5644'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='root' type-id='type-id-5645' visibility='default' filepath='include/linux/assoc_array.h' line='27' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='nr_leaves_on_tree' type-id='type-id-100' visibility='default' filepath='include/linux/assoc_array.h' line='28' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='key_restriction' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/key.h' line='136' column='1' id='type-id-5646'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='check' type-id='type-id-5647' visibility='default' filepath='include/linux/key.h' line='137' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='key' type-id='type-id-5074' visibility='default' filepath='include/linux/key.h' line='138' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='keytype' type-id='type-id-5643' visibility='default' filepath='include/linux/key.h' line='139' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='key_restrict_link_func_t' type-id='type-id-5648' filepath='include/linux/key.h' line='131' column='1' id='type-id-5647'/>
+      <class-decl name='user_struct' size-in-bits='1088' is-struct='yes' visibility='default' filepath='include/linux/sched/user.h' line='15' column='1' id='type-id-5649'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='__count' type-id='type-id-12' visibility='default' filepath='include/linux/sched/user.h' line='16' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='processes' type-id='type-id-137' visibility='default' filepath='include/linux/sched/user.h' line='17' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='sigpending' type-id='type-id-137' visibility='default' filepath='include/linux/sched/user.h' line='18' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='epoll_watches' type-id='type-id-138' visibility='default' filepath='include/linux/sched/user.h' line='23' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='locked_shm' type-id='type-id-100' visibility='default' filepath='include/linux/sched/user.h' line='29' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='unix_inflight' type-id='type-id-100' visibility='default' filepath='include/linux/sched/user.h' line='30' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='pipe_bufs' type-id='type-id-138' visibility='default' filepath='include/linux/sched/user.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='uid_keyring' type-id='type-id-5074' visibility='default' filepath='include/linux/sched/user.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='session_keyring' type-id='type-id-5074' visibility='default' filepath='include/linux/sched/user.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='uidhash_node' type-id='type-id-378' visibility='default' filepath='include/linux/sched/user.h' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='uid' type-id='type-id-4567' visibility='default' filepath='include/linux/sched/user.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='locked_vm' type-id='type-id-138' visibility='default' filepath='include/linux/sched/user.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='ratelimit' type-id='type-id-5650' visibility='default' filepath='include/linux/sched/user.h' line='48' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ratelimit_state' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/ratelimit.h' line='15' column='1' id='type-id-5650'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-5119' visibility='default' filepath='include/linux/ratelimit.h' line='16' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='interval' type-id='type-id-11' visibility='default' filepath='include/linux/ratelimit.h' line='18' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='burst' type-id='type-id-11' visibility='default' filepath='include/linux/ratelimit.h' line='19' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='printed' type-id='type-id-11' visibility='default' filepath='include/linux/ratelimit.h' line='20' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='missed' type-id='type-id-11' visibility='default' filepath='include/linux/ratelimit.h' line='21' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='begin' type-id='type-id-100' visibility='default' filepath='include/linux/ratelimit.h' line='22' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/ratelimit.h' line='23' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='user_namespace' size-in-bits='3712' is-struct='yes' visibility='default' filepath='include/linux/user_namespace.h' line='55' column='1' id='type-id-5651'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='uid_map' type-id='type-id-5652' visibility='default' filepath='include/linux/user_namespace.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='gid_map' type-id='type-id-5652' visibility='default' filepath='include/linux/user_namespace.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='projid_map' type-id='type-id-5652' visibility='default' filepath='include/linux/user_namespace.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='count' type-id='type-id-137' visibility='default' filepath='include/linux/user_namespace.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='parent' type-id='type-id-4564' visibility='default' filepath='include/linux/user_namespace.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='level' type-id='type-id-11' visibility='default' filepath='include/linux/user_namespace.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1888'>
+          <var-decl name='owner' type-id='type-id-4567' visibility='default' filepath='include/linux/user_namespace.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='group' type-id='type-id-4568' visibility='default' filepath='include/linux/user_namespace.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='ns' type-id='type-id-5653' visibility='default' filepath='include/linux/user_namespace.h' line='64' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/user_namespace.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='work' type-id='type-id-149' visibility='default' filepath='include/linux/user_namespace.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='set' type-id='type-id-5654' visibility='default' filepath='include/linux/user_namespace.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3264'>
+          <var-decl name='sysctls' type-id='type-id-5655' visibility='default' filepath='include/linux/user_namespace.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3328'>
+          <var-decl name='ucounts' type-id='type-id-5656' visibility='default' filepath='include/linux/user_namespace.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3392'>
+          <var-decl name='ucount_max' type-id='type-id-4767' visibility='default' filepath='include/linux/user_namespace.h' line='78' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='uid_gid_map' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/user_namespace.h' line='23' column='1' id='type-id-5652'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='nr_extents' type-id='type-id-9' visibility='default' filepath='include/linux/user_namespace.h' line='24' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='' type-id='type-id-5657' visibility='default' filepath='include/linux/user_namespace.h' line='25' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__17' size-in-bits='512' is-anonymous='yes' visibility='default' filepath='include/linux/user_namespace.h' line='25' column='1' id='type-id-5657'>
+        <data-member access='private'>
+          <var-decl name='extent' type-id='type-id-4826' visibility='default' filepath='include/linux/user_namespace.h' line='26' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-5658' visibility='default' filepath='include/linux/user_namespace.h' line='27' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='uid_gid_extent' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/linux/user_namespace.h' line='17' column='1' id='type-id-4825'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='first' type-id='type-id-9' visibility='default' filepath='include/linux/user_namespace.h' line='18' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='lower_first' type-id='type-id-9' visibility='default' filepath='include/linux/user_namespace.h' line='19' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='count' type-id='type-id-9' visibility='default' filepath='include/linux/user_namespace.h' line='20' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__22' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/user_namespace.h' line='27' column='1' id='type-id-5658'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='forward' type-id='type-id-5659' visibility='default' filepath='include/linux/user_namespace.h' line='28' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='reverse' type-id='type-id-5659' visibility='default' filepath='include/linux/user_namespace.h' line='29' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ns_common' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/ns_common.h' line='7' column='1' id='type-id-5653'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='stashed' type-id='type-id-138' visibility='default' filepath='include/linux/ns_common.h' line='8' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ops' type-id='type-id-5660' visibility='default' filepath='include/linux/ns_common.h' line='9' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='inum' type-id='type-id-10' visibility='default' filepath='include/linux/ns_common.h' line='10' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='proc_ns_operations' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/proc_ns.h' line='16' column='1' id='type-id-5661'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/proc_ns.h' line='17' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='real_ns_name' type-id='type-id-24' visibility='default' filepath='include/linux/proc_ns.h' line='18' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='type' type-id='type-id-11' visibility='default' filepath='include/linux/proc_ns.h' line='19' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='get' type-id='type-id-5662' visibility='default' filepath='include/linux/proc_ns.h' line='20' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='put' type-id='type-id-5663' visibility='default' filepath='include/linux/proc_ns.h' line='21' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='install' type-id='type-id-5664' visibility='default' filepath='include/linux/proc_ns.h' line='22' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='owner' type-id='type-id-5665' visibility='default' filepath='include/linux/proc_ns.h' line='23' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='get_parent' type-id='type-id-5666' visibility='default' filepath='include/linux/proc_ns.h' line='24' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='nsproxy' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/nsproxy.h' line='31' column='1' id='type-id-5667'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='count' type-id='type-id-137' visibility='default' filepath='include/linux/nsproxy.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='uts_ns' type-id='type-id-5668' visibility='default' filepath='include/linux/nsproxy.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='ipc_ns' type-id='type-id-5669' visibility='default' filepath='include/linux/nsproxy.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='mnt_ns' type-id='type-id-5670' visibility='default' filepath='include/linux/nsproxy.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='pid_ns_for_children' type-id='type-id-4910' visibility='default' filepath='include/linux/nsproxy.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='net_ns' type-id='type-id-5671' visibility='default' filepath='include/linux/nsproxy.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='cgroup_ns' type-id='type-id-5672' visibility='default' filepath='include/linux/nsproxy.h' line='38' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='uts_namespace' size-in-bits='3520' is-struct='yes' visibility='default' filepath='include/linux/utsname.h' line='24' column='1' id='type-id-5673'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='kref' type-id='type-id-771' visibility='default' filepath='include/linux/utsname.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='name' type-id='type-id-5674' visibility='default' filepath='include/linux/utsname.h' line='26' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3200'>
+          <var-decl name='user_ns' type-id='type-id-4564' visibility='default' filepath='include/linux/utsname.h' line='27' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3264'>
+          <var-decl name='ucounts' type-id='type-id-5656' visibility='default' filepath='include/linux/utsname.h' line='28' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3328'>
+          <var-decl name='ns' type-id='type-id-5653' visibility='default' filepath='include/linux/utsname.h' line='29' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='new_utsname' size-in-bits='3120' is-struct='yes' visibility='default' filepath='include/uapi/linux/utsname.h' line='25' column='1' id='type-id-5674'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='sysname' type-id='type-id-4660' visibility='default' filepath='include/uapi/linux/utsname.h' line='26' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='520'>
+          <var-decl name='nodename' type-id='type-id-4660' visibility='default' filepath='include/uapi/linux/utsname.h' line='27' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1040'>
+          <var-decl name='release' type-id='type-id-4660' visibility='default' filepath='include/uapi/linux/utsname.h' line='28' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1560'>
+          <var-decl name='version' type-id='type-id-4660' visibility='default' filepath='include/uapi/linux/utsname.h' line='29' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2080'>
+          <var-decl name='machine' type-id='type-id-4660' visibility='default' filepath='include/uapi/linux/utsname.h' line='30' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2600'>
+          <var-decl name='domainname' type-id='type-id-4660' visibility='default' filepath='include/uapi/linux/utsname.h' line='31' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ucounts' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/user_namespace.h' line='81' column='1' id='type-id-5675'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='node' type-id='type-id-378' visibility='default' filepath='include/linux/user_namespace.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='ns' type-id='type-id-4564' visibility='default' filepath='include/linux/user_namespace.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='uid' type-id='type-id-4567' visibility='default' filepath='include/linux/user_namespace.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='count' type-id='type-id-11' visibility='default' filepath='include/linux/user_namespace.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='ucount' type-id='type-id-4641' visibility='default' filepath='include/linux/user_namespace.h' line='86' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='pid_namespace' size-in-bits='1600' is-struct='yes' visibility='default' filepath='include/linux/pid_namespace.h' line='24' column='1' id='type-id-5676'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='kref' type-id='type-id-771' visibility='default' filepath='include/linux/pid_namespace.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='idr' type-id='type-id-1161' visibility='default' filepath='include/linux/pid_namespace.h' line='26' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/linux/pid_namespace.h' line='27' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='pid_allocated' type-id='type-id-10' visibility='default' filepath='include/linux/pid_namespace.h' line='28' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='child_reaper' type-id='type-id-118' visibility='default' filepath='include/linux/pid_namespace.h' line='29' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='pid_cachep' type-id='type-id-3525' visibility='default' filepath='include/linux/pid_namespace.h' line='30' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='level' type-id='type-id-10' visibility='default' filepath='include/linux/pid_namespace.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='parent' type-id='type-id-4910' visibility='default' filepath='include/linux/pid_namespace.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='proc_mnt' type-id='type-id-5011' visibility='default' filepath='include/linux/pid_namespace.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='proc_self' type-id='type-id-836' visibility='default' filepath='include/linux/pid_namespace.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='proc_thread_self' type-id='type-id-836' visibility='default' filepath='include/linux/pid_namespace.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='user_ns' type-id='type-id-4564' visibility='default' filepath='include/linux/pid_namespace.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='ucounts' type-id='type-id-5656' visibility='default' filepath='include/linux/pid_namespace.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='proc_work' type-id='type-id-149' visibility='default' filepath='include/linux/pid_namespace.h' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='pid_gid' type-id='type-id-4568' visibility='default' filepath='include/linux/pid_namespace.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1312'>
+          <var-decl name='hide_pid' type-id='type-id-11' visibility='default' filepath='include/linux/pid_namespace.h' line='45' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='reboot' type-id='type-id-11' visibility='default' filepath='include/linux/pid_namespace.h' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='ns' type-id='type-id-5653' visibility='default' filepath='include/linux/pid_namespace.h' line='47' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='cgroup_namespace' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/cgroup.h' line='858' column='1' id='type-id-5677'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='count' type-id='type-id-12' visibility='default' filepath='include/linux/cgroup.h' line='859' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ns' type-id='type-id-5653' visibility='default' filepath='include/linux/cgroup.h' line='860' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='user_ns' type-id='type-id-4564' visibility='default' filepath='include/linux/cgroup.h' line='861' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='ucounts' type-id='type-id-5656' visibility='default' filepath='include/linux/cgroup.h' line='862' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='root_cset' type-id='type-id-5154' visibility='default' filepath='include/linux/cgroup.h' line='863' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='css_set' size-in-bits='3264' is-struct='yes' visibility='default' filepath='include/linux/cgroup-defs.h' line='178' column='1' id='type-id-5678'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='subsys' type-id='type-id-4649' visibility='default' filepath='include/linux/cgroup-defs.h' line='184' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='refcount' type-id='type-id-12' visibility='default' filepath='include/linux/cgroup-defs.h' line='187' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='dom_cset' type-id='type-id-5154' visibility='default' filepath='include/linux/cgroup-defs.h' line='195' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='dfl_cgrp' type-id='type-id-5405' visibility='default' filepath='include/linux/cgroup-defs.h' line='198' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='nr_tasks' type-id='type-id-11' visibility='default' filepath='include/linux/cgroup-defs.h' line='201' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='tasks' type-id='type-id-8' visibility='default' filepath='include/linux/cgroup-defs.h' line='210' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='mg_tasks' type-id='type-id-8' visibility='default' filepath='include/linux/cgroup-defs.h' line='211' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='dying_tasks' type-id='type-id-8' visibility='default' filepath='include/linux/cgroup-defs.h' line='212' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='task_iters' type-id='type-id-8' visibility='default' filepath='include/linux/cgroup-defs.h' line='215' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='e_cset_node' type-id='type-id-4777' visibility='default' filepath='include/linux/cgroup-defs.h' line='224' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='threaded_csets' type-id='type-id-8' visibility='default' filepath='include/linux/cgroup-defs.h' line='227' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='threaded_csets_node' type-id='type-id-8' visibility='default' filepath='include/linux/cgroup-defs.h' line='228' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='hlist' type-id='type-id-378' visibility='default' filepath='include/linux/cgroup-defs.h' line='234' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='cgrp_links' type-id='type-id-8' visibility='default' filepath='include/linux/cgroup-defs.h' line='240' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2624'>
+          <var-decl name='mg_preload_node' type-id='type-id-8' visibility='default' filepath='include/linux/cgroup-defs.h' line='246' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2752'>
+          <var-decl name='mg_node' type-id='type-id-8' visibility='default' filepath='include/linux/cgroup-defs.h' line='247' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2880'>
+          <var-decl name='mg_src_cgrp' type-id='type-id-5405' visibility='default' filepath='include/linux/cgroup-defs.h' line='256' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2944'>
+          <var-decl name='mg_dst_cgrp' type-id='type-id-5405' visibility='default' filepath='include/linux/cgroup-defs.h' line='257' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3008'>
+          <var-decl name='mg_dst_cset' type-id='type-id-5154' visibility='default' filepath='include/linux/cgroup-defs.h' line='258' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3072'>
+          <var-decl name='dead' type-id='type-id-211' visibility='default' filepath='include/linux/cgroup-defs.h' line='261' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3136'>
+          <var-decl name='callback_head' type-id='type-id-157' visibility='default' filepath='include/linux/cgroup-defs.h' line='264' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ctl_table_set' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/linux/sysctl.h' line='159' column='1' id='type-id-5654'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='is_seen' type-id='type-id-5679' visibility='default' filepath='include/linux/sysctl.h' line='160' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dir' type-id='type-id-5680' visibility='default' filepath='include/linux/sysctl.h' line='161' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ctl_dir' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/linux/sysctl.h' line='153' column='1' id='type-id-5680'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='header' type-id='type-id-5681' visibility='default' filepath='include/linux/sysctl.h' line='155' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='root' type-id='type-id-133' visibility='default' filepath='include/linux/sysctl.h' line='156' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ctl_table_header' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/sysctl.h' line='133' column='1' id='type-id-5681'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='' type-id='type-id-5682' visibility='default' filepath='include/linux/sysctl.h' line='135' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='unregistering' type-id='type-id-176' visibility='default' filepath='include/linux/sysctl.h' line='144' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='ctl_table_arg' type-id='type-id-75' visibility='default' filepath='include/linux/sysctl.h' line='145' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='root' type-id='type-id-5683' visibility='default' filepath='include/linux/sysctl.h' line='146' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='set' type-id='type-id-5684' visibility='default' filepath='include/linux/sysctl.h' line='147' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='parent' type-id='type-id-5685' visibility='default' filepath='include/linux/sysctl.h' line='148' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='node' type-id='type-id-5686' visibility='default' filepath='include/linux/sysctl.h' line='149' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='inodes' type-id='type-id-297' visibility='default' filepath='include/linux/sysctl.h' line='150' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__18' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/linux/sysctl.h' line='135' column='1' id='type-id-5682'>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-5687' visibility='default' filepath='include/linux/sysctl.h' line='136' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/linux/sysctl.h' line='142' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__23' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/sysctl.h' line='136' column='1' id='type-id-5687'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ctl_table' type-id='type-id-75' visibility='default' filepath='include/linux/sysctl.h' line='137' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='used' type-id='type-id-11' visibility='default' filepath='include/linux/sysctl.h' line='138' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='count' type-id='type-id-11' visibility='default' filepath='include/linux/sysctl.h' line='139' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='nreg' type-id='type-id-11' visibility='default' filepath='include/linux/sysctl.h' line='140' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ctl_table' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/sysctl.h' line='113' column='1' id='type-id-5688'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='procname' type-id='type-id-24' visibility='default' filepath='include/linux/sysctl.h' line='115' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='data' type-id='type-id-3' visibility='default' filepath='include/linux/sysctl.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='maxlen' type-id='type-id-11' visibility='default' filepath='include/linux/sysctl.h' line='117' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='mode' type-id='type-id-4427' visibility='default' filepath='include/linux/sysctl.h' line='118' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='child' type-id='type-id-75' visibility='default' filepath='include/linux/sysctl.h' line='119' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='proc_handler' type-id='type-id-5689' visibility='default' filepath='include/linux/sysctl.h' line='120' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='poll' type-id='type-id-5690' visibility='default' filepath='include/linux/sysctl.h' line='121' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='extra1' type-id='type-id-3' visibility='default' filepath='include/linux/sysctl.h' line='122' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='extra2' type-id='type-id-3' visibility='default' filepath='include/linux/sysctl.h' line='123' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='proc_handler' type-id='type-id-5691' filepath='include/linux/sysctl.h' line='40' column='1' id='type-id-5692'/>
+      <class-decl name='ctl_table_poll' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/sysctl.h' line='95' column='1' id='type-id-5693'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='event' type-id='type-id-137' visibility='default' filepath='include/linux/sysctl.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='wait' type-id='type-id-388' visibility='default' filepath='include/linux/sysctl.h' line='97' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ctl_table_root' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/linux/sysctl.h' line='164' column='1' id='type-id-5694'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='default_set' type-id='type-id-5654' visibility='default' filepath='include/linux/sysctl.h' line='165' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='lookup' type-id='type-id-5695' visibility='default' filepath='include/linux/sysctl.h' line='166' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='set_ownership' type-id='type-id-5696' visibility='default' filepath='include/linux/sysctl.h' line='167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='permissions' type-id='type-id-5697' visibility='default' filepath='include/linux/sysctl.h' line='170' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ctl_node' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/sysctl.h' line='126' column='1' id='type-id-5698'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='node' type-id='type-id-1846' visibility='default' filepath='include/linux/sysctl.h' line='127' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='header' type-id='type-id-5655' visibility='default' filepath='include/linux/sysctl.h' line='128' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='group_info' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/cred.h' line='30' column='1' id='type-id-5699'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='usage' type-id='type-id-137' visibility='default' filepath='include/linux/cred.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='ngroups' type-id='type-id-11' visibility='default' filepath='include/linux/cred.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='gid' type-id='type-id-4771' visibility='default' filepath='include/linux/cred.h' line='33' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='rlimit' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/resource.h' line='43' column='1' id='type-id-4807'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='rlim_cur' type-id='type-id-4898' visibility='default' filepath='include/uapi/linux/resource.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='rlim_max' type-id='type-id-4898' visibility='default' filepath='include/uapi/linux/resource.h' line='45' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='coredump_params' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/binfmts.h' line='80' column='1' id='type-id-5700'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='siginfo' type-id='type-id-5701' visibility='default' filepath='include/linux/binfmts.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='regs' type-id='type-id-5702' visibility='default' filepath='include/linux/binfmts.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='file' type-id='type-id-147' visibility='default' filepath='include/linux/binfmts.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='limit' type-id='type-id-100' visibility='default' filepath='include/linux/binfmts.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='mm_flags' type-id='type-id-100' visibility='default' filepath='include/linux/binfmts.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='written' type-id='type-id-4528' visibility='default' filepath='include/linux/binfmts.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='pos' type-id='type-id-4528' visibility='default' filepath='include/linux/binfmts.h' line='87' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='siginfo_t' type-id='type-id-115' filepath='include/uapi/asm-generic/siginfo.h' line='133' column='1' id='type-id-5703'/>
+      <class-decl name='siginfo' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='43' column='1' id='type-id-115'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='si_signo' type-id='type-id-11' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='si_errno' type-id='type-id-11' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='si_code' type-id='type-id-11' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='47' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='_sifields' type-id='type-id-5704' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='132' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__20' size-in-bits='896' is-anonymous='yes' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='53' column='1' id='type-id-5704'>
+        <data-member access='private'>
+          <var-decl name='_pad' type-id='type-id-4765' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='_kill' type-id='type-id-5705' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='_timer' type-id='type-id-5706' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='_rt' type-id='type-id-5707' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='_sigchld' type-id='type-id-5708' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='_sigfault' type-id='type-id-5709' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='118' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='_sigpoll' type-id='type-id-5710' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='124' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='_sigsys' type-id='type-id-5711' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='131' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__24' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='57' column='1' id='type-id-5705'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='_pid' type-id='type-id-5712' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='_uid' type-id='type-id-4971' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='59' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='__kernel_pid_t' type-id='type-id-11' filepath='include/uapi/asm-generic/posix_types.h' line='28' column='1' id='type-id-5712'/>
+      <class-decl name='__anonymous_struct__25' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='63' column='1' id='type-id-5706'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='_tid' type-id='type-id-5713' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='64' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='_overrun' type-id='type-id-11' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='_sigval' type-id='type-id-5714' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='_sys_private' type-id='type-id-11' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='67' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='__kernel_timer_t' type-id='type-id-11' filepath='include/uapi/asm-generic/posix_types.h' line='92' column='1' id='type-id-5713'/>
+      <typedef-decl name='sigval_t' type-id='type-id-5715' filepath='include/uapi/asm-generic/siginfo.h' line='11' column='1' id='type-id-5714'/>
+      <union-decl name='sigval' size-in-bits='64' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='8' column='1' id='type-id-5715'>
+        <data-member access='private'>
+          <var-decl name='sival_int' type-id='type-id-11' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='9' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='sival_ptr' type-id='type-id-3' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='10' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__26' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='71' column='1' id='type-id-5707'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='_pid' type-id='type-id-5712' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='_uid' type-id='type-id-4971' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='_sigval' type-id='type-id-5714' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='74' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__27' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='78' column='1' id='type-id-5708'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='_pid' type-id='type-id-5712' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='_uid' type-id='type-id-4971' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='_status' type-id='type-id-11' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='_utime' type-id='type-id-5716' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='_stime' type-id='type-id-5716' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='83' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='__kernel_clock_t' type-id='type-id-2575' filepath='include/uapi/asm-generic/posix_types.h' line='91' column='1' id='type-id-5716'/>
+      <class-decl name='__anonymous_struct__28' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='87' column='1' id='type-id-5709'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='_addr' type-id='type-id-3' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='88' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='' type-id='type-id-5717' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='100' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__21' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='100' column='1' id='type-id-5717'>
+        <data-member access='private'>
+          <var-decl name='_addr_lsb' type-id='type-id-3521' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='105' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='_addr_bnd' type-id='type-id-5718' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='111' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='_addr_pkey' type-id='type-id-5719' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='116' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__29' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='107' column='1' id='type-id-5718'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='_dummy_bnd' type-id='type-id-4662' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='108' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='_lower' type-id='type-id-3' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='109' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='_upper' type-id='type-id-3' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='110' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__30' size-in-bits='96' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='113' column='1' id='type-id-5719'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='_dummy_pkey' type-id='type-id-4662' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='114' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='_pkey' type-id='type-id-266' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='115' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__31' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='121' column='1' id='type-id-5710'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='_band' type-id='type-id-187' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='122' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='_fd' type-id='type-id-11' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='123' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__32' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='127' column='1' id='type-id-5711'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='_call_addr' type-id='type-id-3' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='128' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='_syscall' type-id='type-id-11' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='129' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='_arch' type-id='type-id-10' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='130' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='pt_regs' size-in-bits='2560' is-struct='yes' visibility='default' filepath='arch/arm64/include/asm/ptrace.h' line='148' column='1' id='type-id-5720'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='' type-id='type-id-5721' visibility='default' filepath='arch/arm64/include/asm/ptrace.h' line='149' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='orig_x0' type-id='type-id-134' visibility='default' filepath='arch/arm64/include/asm/ptrace.h' line='158' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='syscallno' type-id='type-id-939' visibility='default' filepath='arch/arm64/include/asm/ptrace.h' line='163' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2272'>
+          <var-decl name='unused2' type-id='type-id-9' visibility='default' filepath='arch/arm64/include/asm/ptrace.h' line='164' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='orig_addr_limit' type-id='type-id-134' visibility='default' filepath='arch/arm64/include/asm/ptrace.h' line='167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='unused' type-id='type-id-134' visibility='default' filepath='arch/arm64/include/asm/ptrace.h' line='168' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='stackframe' type-id='type-id-2103' visibility='default' filepath='arch/arm64/include/asm/ptrace.h' line='169' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__22' size-in-bits='2176' is-anonymous='yes' visibility='default' filepath='arch/arm64/include/asm/ptrace.h' line='149' column='1' id='type-id-5721'>
+        <data-member access='private'>
+          <var-decl name='user_regs' type-id='type-id-5722' visibility='default' filepath='arch/arm64/include/asm/ptrace.h' line='150' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-5723' visibility='default' filepath='arch/arm64/include/asm/ptrace.h' line='151' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='user_pt_regs' size-in-bits='2176' is-struct='yes' visibility='default' filepath='arch/arm64/include/uapi/asm/ptrace.h' line='72' column='1' id='type-id-5722'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='regs' type-id='type-id-4625' visibility='default' filepath='arch/arm64/include/uapi/asm/ptrace.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='sp' type-id='type-id-1120' visibility='default' filepath='arch/arm64/include/uapi/asm/ptrace.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='pc' type-id='type-id-1120' visibility='default' filepath='arch/arm64/include/uapi/asm/ptrace.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='pstate' type-id='type-id-1120' visibility='default' filepath='arch/arm64/include/uapi/asm/ptrace.h' line='76' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__33' size-in-bits='2176' is-struct='yes' is-anonymous='yes' visibility='default' filepath='arch/arm64/include/asm/ptrace.h' line='151' column='1' id='type-id-5723'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='regs' type-id='type-id-4819' visibility='default' filepath='arch/arm64/include/asm/ptrace.h' line='152' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='sp' type-id='type-id-134' visibility='default' filepath='arch/arm64/include/asm/ptrace.h' line='153' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='pc' type-id='type-id-134' visibility='default' filepath='arch/arm64/include/asm/ptrace.h' line='154' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='pstate' type-id='type-id-134' visibility='default' filepath='arch/arm64/include/asm/ptrace.h' line='155' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='mm_context_t' type-id='type-id-5724' filepath='arch/arm64/include/asm/mmu.h' line='32' column='1' id='type-id-143'/>
+      <class-decl name='__anonymous_struct__34' size-in-bits='192' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-143' visibility='default' filepath='arch/arm64/include/asm/mmu.h' line='28' column='1' id='type-id-5724'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='id' type-id='type-id-188' visibility='default' filepath='arch/arm64/include/asm/mmu.h' line='29' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='vdso' type-id='type-id-3' visibility='default' filepath='arch/arm64/include/asm/mmu.h' line='30' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='arch/arm64/include/asm/mmu.h' line='31' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='core_state' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/mm_types.h' line='345' column='1' id='type-id-5725'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='nr_threads' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='346' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dumper' type-id='type-id-5726' visibility='default' filepath='include/linux/mm_types.h' line='347' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='startup' type-id='type-id-661' visibility='default' filepath='include/linux/mm_types.h' line='348' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='core_thread' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/mm_types.h' line='340' column='1' id='type-id-5726'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='task' type-id='type-id-118' visibility='default' filepath='include/linux/mm_types.h' line='341' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='next' type-id='type-id-5727' visibility='default' filepath='include/linux/mm_types.h' line='342' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='uprobes_state' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/uprobes.h' line='114' column='1' id='type-id-148'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='xol_area' type-id='type-id-5728' visibility='default' filepath='include/linux/uprobes.h' line='115' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='vmacache' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/mm_types_task.h' line='34' column='1' id='type-id-5130'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='seqnum' type-id='type-id-134' visibility='default' filepath='include/linux/mm_types_task.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='vmas' type-id='type-id-4836' visibility='default' filepath='include/linux/mm_types_task.h' line='36' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='task_rss_stat' size-in-bits='160' is-struct='yes' visibility='default' filepath='include/linux/mm_types_task.h' line='50' column='1' id='type-id-5131'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='events' type-id='type-id-11' visibility='default' filepath='include/linux/mm_types_task.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='count' type-id='type-id-4302' visibility='default' filepath='include/linux/mm_types_task.h' line='52' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='restart_block' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/restart_block.h' line='25' column='1' id='type-id-5132'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='fn' type-id='type-id-5729' visibility='default' filepath='include/linux/restart_block.h' line='26' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='' type-id='type-id-5730' visibility='default' filepath='include/linux/restart_block.h' line='27' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__23' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='include/linux/restart_block.h' line='27' column='1' id='type-id-5730'>
+        <data-member access='private'>
+          <var-decl name='futex' type-id='type-id-96' visibility='default' filepath='include/linux/restart_block.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='nanosleep' type-id='type-id-97' visibility='default' filepath='include/linux/restart_block.h' line='46' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='poll' type-id='type-id-5731' visibility='default' filepath='include/linux/restart_block.h' line='54' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__35' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/restart_block.h' line='29' column='1' id='type-id-96'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='uaddr' type-id='type-id-347' visibility='default' filepath='include/linux/restart_block.h' line='30' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='val' type-id='type-id-9' visibility='default' filepath='include/linux/restart_block.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='flags' type-id='type-id-9' visibility='default' filepath='include/linux/restart_block.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='bitset' type-id='type-id-9' visibility='default' filepath='include/linux/restart_block.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='time' type-id='type-id-134' visibility='default' filepath='include/linux/restart_block.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='uaddr2' type-id='type-id-347' visibility='default' filepath='include/linux/restart_block.h' line='35' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__36' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/restart_block.h' line='38' column='1' id='type-id-97'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='clockid' type-id='type-id-1995' visibility='default' filepath='include/linux/restart_block.h' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='type' type-id='type-id-5732' visibility='default' filepath='include/linux/restart_block.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='' type-id='type-id-5733' visibility='default' filepath='include/linux/restart_block.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='expires' type-id='type-id-134' visibility='default' filepath='include/linux/restart_block.h' line='45' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='timespec_type' filepath='include/linux/restart_block.h' line='16' column='1' id='type-id-5732'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='TT_NONE' value='0'/>
+        <enumerator name='TT_NATIVE' value='1'/>
+        <enumerator name='TT_COMPAT' value='2'/>
+      </enum-decl>
+      <union-decl name='__anonymous_union__24' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/restart_block.h' line='41' column='1' id='type-id-5733'>
+        <data-member access='private'>
+          <var-decl name='rmtp' type-id='type-id-4324' visibility='default' filepath='include/linux/restart_block.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='compat_rmtp' type-id='type-id-5734' visibility='default' filepath='include/linux/restart_block.h' line='43' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/time.h' line='10' column='1' id='type-id-2903'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='tv_sec' type-id='type-id-2573' visibility='default' filepath='include/uapi/linux/time.h' line='11' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='tv_nsec' type-id='type-id-187' visibility='default' filepath='include/uapi/linux/time.h' line='12' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='__kernel_time_t' type-id='type-id-2575' filepath='include/uapi/asm-generic/posix_types.h' line='89' column='1' id='type-id-2573'/>
+      <class-decl name='compat_timespec' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/compat_time.h' line='10' column='1' id='type-id-5735'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='tv_sec' type-id='type-id-5736' visibility='default' filepath='include/linux/compat_time.h' line='11' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='tv_nsec' type-id='type-id-939' visibility='default' filepath='include/linux/compat_time.h' line='12' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='compat_time_t' type-id='type-id-939' filepath='include/linux/compat_time.h' line='8' column='1' id='type-id-5736'/>
+      <class-decl name='__anonymous_struct__37' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/restart_block.h' line='48' column='1' id='type-id-5731'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ufds' type-id='type-id-99' visibility='default' filepath='include/linux/restart_block.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='nfds' type-id='type-id-11' visibility='default' filepath='include/linux/restart_block.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='has_timeout' type-id='type-id-11' visibility='default' filepath='include/linux/restart_block.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='tv_sec' type-id='type-id-100' visibility='default' filepath='include/linux/restart_block.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='tv_nsec' type-id='type-id-100' visibility='default' filepath='include/linux/restart_block.h' line='53' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='pollfd' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/asm-generic/poll.h' line='36' column='1' id='type-id-5737'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='fd' type-id='type-id-11' visibility='default' filepath='include/uapi/asm-generic/poll.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='events' type-id='type-id-3521' visibility='default' filepath='include/uapi/asm-generic/poll.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='revents' type-id='type-id-3521' visibility='default' filepath='include/uapi/asm-generic/poll.h' line='39' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='pid_t' type-id='type-id-5712' filepath='include/linux/types.h' line='22' column='1' id='type-id-5133'/>
+      <class-decl name='pid' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/linux/pid.h' line='58' column='1' id='type-id-5738'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='count' type-id='type-id-137' visibility='default' filepath='include/linux/pid.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='level' type-id='type-id-10' visibility='default' filepath='include/linux/pid.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='tasks' type-id='type-id-4759' visibility='default' filepath='include/linux/pid.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='wait_pidfd' type-id='type-id-388' visibility='default' filepath='include/linux/pid.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/linux/pid.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='numbers' type-id='type-id-4835' visibility='default' filepath='include/linux/pid.h' line='67' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='upid' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/pid.h' line='53' column='1' id='type-id-4834'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='nr' type-id='type-id-11' visibility='default' filepath='include/linux/pid.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ns' type-id='type-id-4910' visibility='default' filepath='include/linux/pid.h' line='55' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='signal_struct' size-in-bits='8064' is-struct='yes' visibility='default' filepath='include/linux/sched/signal.h' line='84' column='1' id='type-id-5739'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='sigcnt' type-id='type-id-137' visibility='default' filepath='include/linux/sched/signal.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='live' type-id='type-id-137' visibility='default' filepath='include/linux/sched/signal.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='nr_threads' type-id='type-id-11' visibility='default' filepath='include/linux/sched/signal.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='thread_head' type-id='type-id-8' visibility='default' filepath='include/linux/sched/signal.h' line='88' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='wait_chldexit' type-id='type-id-388' visibility='default' filepath='include/linux/sched/signal.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='curr_target' type-id='type-id-118' visibility='default' filepath='include/linux/sched/signal.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='shared_pending' type-id='type-id-5142' visibility='default' filepath='include/linux/sched/signal.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='multiprocess' type-id='type-id-297' visibility='default' filepath='include/linux/sched/signal.h' line='99' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='group_exit_code' type-id='type-id-11' visibility='default' filepath='include/linux/sched/signal.h' line='102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='800'>
+          <var-decl name='notify_count' type-id='type-id-11' visibility='default' filepath='include/linux/sched/signal.h' line='108' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='group_exit_task' type-id='type-id-118' visibility='default' filepath='include/linux/sched/signal.h' line='109' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='group_stop_count' type-id='type-id-11' visibility='default' filepath='include/linux/sched/signal.h' line='112' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='928'>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='include/linux/sched/signal.h' line='113' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='is_child_subreaper' type-id='type-id-10' visibility='default' filepath='include/linux/sched/signal.h' line='124' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='has_child_subreaper' type-id='type-id-10' visibility='default' filepath='include/linux/sched/signal.h' line='125' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='992'>
+          <var-decl name='posix_timer_id' type-id='type-id-11' visibility='default' filepath='include/linux/sched/signal.h' line='130' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='posix_timers' type-id='type-id-8' visibility='default' filepath='include/linux/sched/signal.h' line='131' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='real_timer' type-id='type-id-2120' visibility='default' filepath='include/linux/sched/signal.h' line='134' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='it_real_incr' type-id='type-id-585' visibility='default' filepath='include/linux/sched/signal.h' line='135' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='it' type-id='type-id-4752' visibility='default' filepath='include/linux/sched/signal.h' line='142' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='cputimer' type-id='type-id-5740' visibility='default' filepath='include/linux/sched/signal.h' line='148' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='cputime_expires' type-id='type-id-5135' visibility='default' filepath='include/linux/sched/signal.h' line='151' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='cpu_timers' type-id='type-id-4773' visibility='default' filepath='include/linux/sched/signal.h' line='153' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2816'>
+          <var-decl name='pids' type-id='type-id-4801' visibility='default' filepath='include/linux/sched/signal.h' line='158' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3072'>
+          <var-decl name='tty_old_pgrp' type-id='type-id-1213' visibility='default' filepath='include/linux/sched/signal.h' line='164' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3136'>
+          <var-decl name='leader' type-id='type-id-11' visibility='default' filepath='include/linux/sched/signal.h' line='167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3200'>
+          <var-decl name='tty' type-id='type-id-5741' visibility='default' filepath='include/linux/sched/signal.h' line='169' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3264'>
+          <var-decl name='autogroup' type-id='type-id-5742' visibility='default' filepath='include/linux/sched/signal.h' line='172' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3328'>
+          <var-decl name='stats_lock' type-id='type-id-1241' visibility='default' filepath='include/linux/sched/signal.h' line='180' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3392'>
+          <var-decl name='utime' type-id='type-id-134' visibility='default' filepath='include/linux/sched/signal.h' line='181' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3456'>
+          <var-decl name='stime' type-id='type-id-134' visibility='default' filepath='include/linux/sched/signal.h' line='181' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3520'>
+          <var-decl name='cutime' type-id='type-id-134' visibility='default' filepath='include/linux/sched/signal.h' line='181' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3584'>
+          <var-decl name='cstime' type-id='type-id-134' visibility='default' filepath='include/linux/sched/signal.h' line='181' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3648'>
+          <var-decl name='gtime' type-id='type-id-134' visibility='default' filepath='include/linux/sched/signal.h' line='182' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3712'>
+          <var-decl name='cgtime' type-id='type-id-134' visibility='default' filepath='include/linux/sched/signal.h' line='183' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3776'>
+          <var-decl name='prev_cputime' type-id='type-id-5134' visibility='default' filepath='include/linux/sched/signal.h' line='184' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3968'>
+          <var-decl name='nvcsw' type-id='type-id-100' visibility='default' filepath='include/linux/sched/signal.h' line='185' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4032'>
+          <var-decl name='nivcsw' type-id='type-id-100' visibility='default' filepath='include/linux/sched/signal.h' line='185' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4096'>
+          <var-decl name='cnvcsw' type-id='type-id-100' visibility='default' filepath='include/linux/sched/signal.h' line='185' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4160'>
+          <var-decl name='cnivcsw' type-id='type-id-100' visibility='default' filepath='include/linux/sched/signal.h' line='185' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4224'>
+          <var-decl name='min_flt' type-id='type-id-100' visibility='default' filepath='include/linux/sched/signal.h' line='186' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4288'>
+          <var-decl name='maj_flt' type-id='type-id-100' visibility='default' filepath='include/linux/sched/signal.h' line='186' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4352'>
+          <var-decl name='cmin_flt' type-id='type-id-100' visibility='default' filepath='include/linux/sched/signal.h' line='186' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4416'>
+          <var-decl name='cmaj_flt' type-id='type-id-100' visibility='default' filepath='include/linux/sched/signal.h' line='186' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4480'>
+          <var-decl name='inblock' type-id='type-id-100' visibility='default' filepath='include/linux/sched/signal.h' line='187' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4544'>
+          <var-decl name='oublock' type-id='type-id-100' visibility='default' filepath='include/linux/sched/signal.h' line='187' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4608'>
+          <var-decl name='cinblock' type-id='type-id-100' visibility='default' filepath='include/linux/sched/signal.h' line='187' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4672'>
+          <var-decl name='coublock' type-id='type-id-100' visibility='default' filepath='include/linux/sched/signal.h' line='187' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4736'>
+          <var-decl name='maxrss' type-id='type-id-100' visibility='default' filepath='include/linux/sched/signal.h' line='188' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4800'>
+          <var-decl name='cmaxrss' type-id='type-id-100' visibility='default' filepath='include/linux/sched/signal.h' line='188' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4864'>
+          <var-decl name='ioac' type-id='type-id-5152' visibility='default' filepath='include/linux/sched/signal.h' line='189' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5376'>
+          <var-decl name='sum_sched_runtime' type-id='type-id-177' visibility='default' filepath='include/linux/sched/signal.h' line='197' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5440'>
+          <var-decl name='rlim' type-id='type-id-4808' visibility='default' filepath='include/linux/sched/signal.h' line='208' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7488'>
+          <var-decl name='stats' type-id='type-id-5743' visibility='default' filepath='include/linux/sched/signal.h' line='214' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7552'>
+          <var-decl name='audit_tty' type-id='type-id-10' visibility='default' filepath='include/linux/sched/signal.h' line='217' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7616'>
+          <var-decl name='tty_audit_buf' type-id='type-id-5744' visibility='default' filepath='include/linux/sched/signal.h' line='218' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7680'>
+          <var-decl name='oom_flag_origin' type-id='type-id-211' visibility='default' filepath='include/linux/sched/signal.h' line='225' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7696'>
+          <var-decl name='oom_score_adj' type-id='type-id-3521' visibility='default' filepath='include/linux/sched/signal.h' line='226' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7712'>
+          <var-decl name='oom_score_adj_min' type-id='type-id-3521' visibility='default' filepath='include/linux/sched/signal.h' line='227' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7744'>
+          <var-decl name='oom_mm' type-id='type-id-158' visibility='default' filepath='include/linux/sched/signal.h' line='229' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7808'>
+          <var-decl name='cred_guard_mutex' type-id='type-id-407' visibility='default' filepath='include/linux/sched/signal.h' line='232' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='sigpending' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/signal_types.h' line='26' column='1' id='type-id-5142'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/signal_types.h' line='27' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='signal' type-id='type-id-5141' visibility='default' filepath='include/linux/signal_types.h' line='28' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='sigset_t' type-id='type-id-5745' filepath='include/uapi/asm-generic/signal.h' line='92' column='1' id='type-id-5141'/>
+      <class-decl name='__anonymous_struct__38' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-5141' visibility='default' filepath='include/uapi/asm-generic/signal.h' line='90' column='1' id='type-id-5745'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='sig' type-id='type-id-930' visibility='default' filepath='include/uapi/asm-generic/signal.h' line='91' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='cpu_itimer' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/sched/signal.h' line='34' column='1' id='type-id-4751'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='expires' type-id='type-id-134' visibility='default' filepath='include/linux/sched/signal.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='incr' type-id='type-id-134' visibility='default' filepath='include/linux/sched/signal.h' line='36' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='thread_group_cputimer' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/sched/signal.h' line='66' column='1' id='type-id-5740'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cputime_atomic' type-id='type-id-5746' visibility='default' filepath='include/linux/sched/signal.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='running' type-id='type-id-211' visibility='default' filepath='include/linux/sched/signal.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='200'>
+          <var-decl name='checking_timer' type-id='type-id-211' visibility='default' filepath='include/linux/sched/signal.h' line='69' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='task_cputime_atomic' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/sched/signal.h' line='43' column='1' id='type-id-5746'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='utime' type-id='type-id-188' visibility='default' filepath='include/linux/sched/signal.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='stime' type-id='type-id-188' visibility='default' filepath='include/linux/sched/signal.h' line='45' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='sum_exec_runtime' type-id='type-id-188' visibility='default' filepath='include/linux/sched/signal.h' line='46' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='seqlock_t' type-id='type-id-5747' filepath='include/linux/seqlock.h' line='407' column='1' id='type-id-1241'/>
+      <class-decl name='__anonymous_struct__39' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-1241' visibility='default' filepath='include/linux/seqlock.h' line='404' column='1' id='type-id-5747'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='seqcount' type-id='type-id-5019' visibility='default' filepath='include/linux/seqlock.h' line='405' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/linux/seqlock.h' line='406' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='task_io_accounting' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/task_io_accounting.h' line='12' column='1' id='type-id-5152'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='rchar' type-id='type-id-134' visibility='default' filepath='include/linux/task_io_accounting.h' line='15' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='wchar' type-id='type-id-134' visibility='default' filepath='include/linux/task_io_accounting.h' line='17' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='syscr' type-id='type-id-134' visibility='default' filepath='include/linux/task_io_accounting.h' line='19' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='syscw' type-id='type-id-134' visibility='default' filepath='include/linux/task_io_accounting.h' line='21' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='syscfs' type-id='type-id-134' visibility='default' filepath='include/linux/task_io_accounting.h' line='23' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='read_bytes' type-id='type-id-134' visibility='default' filepath='include/linux/task_io_accounting.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='write_bytes' type-id='type-id-134' visibility='default' filepath='include/linux/task_io_accounting.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='cancelled_write_bytes' type-id='type-id-134' visibility='default' filepath='include/linux/task_io_accounting.h' line='46' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='taskstats' size-in-bits='2752' is-struct='yes' visibility='default' filepath='include/uapi/linux/taskstats.h' line='41' column='1' id='type-id-5748'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='version' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/taskstats.h' line='47' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='ac_exitcode' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/taskstats.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ac_flag' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/taskstats.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='72'>
+          <var-decl name='ac_nice' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/taskstats.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='cpu_count' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/taskstats.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='cpu_delay_total' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/taskstats.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='blkio_count' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/taskstats.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='blkio_delay_total' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/taskstats.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='swapin_count' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/taskstats.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='swapin_delay_total' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/taskstats.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='cpu_run_real_total' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/taskstats.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='cpu_run_virtual_total' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/taskstats.h' line='101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='ac_comm' type-id='type-id-650' visibility='default' filepath='include/uapi/linux/taskstats.h' line='106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='ac_sched' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/taskstats.h' line='107' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='904'>
+          <var-decl name='ac_pad' type-id='type-id-4628' visibility='default' filepath='include/uapi/linux/taskstats.h' line='109' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='ac_uid' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/taskstats.h' line='110' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='992'>
+          <var-decl name='ac_gid' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/taskstats.h' line='112' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='ac_pid' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/taskstats.h' line='113' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1056'>
+          <var-decl name='ac_ppid' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/taskstats.h' line='114' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='ac_btime' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/taskstats.h' line='115' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='ac_etime' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/taskstats.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='ac_utime' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/taskstats.h' line='118' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='ac_stime' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/taskstats.h' line='119' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='ac_minflt' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/taskstats.h' line='120' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='ac_majflt' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/taskstats.h' line='121' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='coremem' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/taskstats.h' line='131' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='virtmem' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/taskstats.h' line='135' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='hiwater_rss' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/taskstats.h' line='140' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='hiwater_vm' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/taskstats.h' line='141' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='read_char' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/taskstats.h' line='144' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='write_char' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/taskstats.h' line='145' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='read_syscalls' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/taskstats.h' line='146' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='write_syscalls' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/taskstats.h' line='147' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='read_bytes' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/taskstats.h' line='152' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='write_bytes' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/taskstats.h' line='153' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='cancelled_write_bytes' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/taskstats.h' line='154' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='nvcsw' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/taskstats.h' line='156' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='nivcsw' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/taskstats.h' line='157' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='ac_utimescaled' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/taskstats.h' line='160' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='ac_stimescaled' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/taskstats.h' line='161' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='cpu_scaled_run_real_total' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/taskstats.h' line='162' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='freepages_count' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/taskstats.h' line='165' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='freepages_delay_total' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/taskstats.h' line='166' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2624'>
+          <var-decl name='thrashing_count' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/taskstats.h' line='169' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2688'>
+          <var-decl name='thrashing_delay_total' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/taskstats.h' line='170' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='sighand_struct' size-in-bits='16704' is-struct='yes' visibility='default' filepath='include/linux/sched/signal.h' line='16' column='1' id='type-id-5749'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='count' type-id='type-id-137' visibility='default' filepath='include/linux/sched/signal.h' line='17' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='action' type-id='type-id-4770' visibility='default' filepath='include/linux/sched/signal.h' line='18' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16448'>
+          <var-decl name='siglock' type-id='type-id-106' visibility='default' filepath='include/linux/sched/signal.h' line='19' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16512'>
+          <var-decl name='signalfd_wqh' type-id='type-id-388' visibility='default' filepath='include/linux/sched/signal.h' line='20' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='k_sigaction' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/signal_types.h' line='45' column='1' id='type-id-4769'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='sa' type-id='type-id-5750' visibility='default' filepath='include/linux/signal_types.h' line='46' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='sigaction' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/signal_types.h' line='31' column='1' id='type-id-5750'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='sa_handler' type-id='type-id-5751' visibility='default' filepath='include/linux/signal_types.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='sa_flags' type-id='type-id-100' visibility='default' filepath='include/linux/signal_types.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='sa_restorer' type-id='type-id-5752' visibility='default' filepath='include/linux/signal_types.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='sa_mask' type-id='type-id-5141' visibility='default' filepath='include/linux/signal_types.h' line='42' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='__sighandler_t' type-id='type-id-5753' filepath='include/uapi/asm-generic/signal-defs.h' line='19' column='1' id='type-id-5751'/>
+      <typedef-decl name='__signalfn_t' type-id='type-id-5754' filepath='include/uapi/asm-generic/signal-defs.h' line='18' column='1' id='type-id-5755'/>
+      <typedef-decl name='__sigrestore_t' type-id='type-id-5756' filepath='include/uapi/asm-generic/signal-defs.h' line='22' column='1' id='type-id-5752'/>
+      <typedef-decl name='__restorefn_t' type-id='type-id-5757' filepath='include/uapi/asm-generic/signal-defs.h' line='21' column='1' id='type-id-5758'/>
+      <class-decl name='seccomp' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/seccomp.h' line='28' column='1' id='type-id-5144'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mode' type-id='type-id-11' visibility='default' filepath='include/linux/seccomp.h' line='29' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='filter' type-id='type-id-5759' visibility='default' filepath='include/linux/seccomp.h' line='30' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='wake_q_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/sched.h' line='631' column='1' id='type-id-5145'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='next' type-id='type-id-5760' visibility='default' filepath='include/linux/sched.h' line='632' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='blk_plug' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/blkdev.h' line='1327' column='1' id='type-id-5761'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/blkdev.h' line='1328' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='mq_list' type-id='type-id-8' visibility='default' filepath='include/linux/blkdev.h' line='1329' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='cb_list' type-id='type-id-8' visibility='default' filepath='include/linux/blkdev.h' line='1330' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='reclaim_state' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/swap.h' line='129' column='1' id='type-id-5762'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='reclaimed_slab' type-id='type-id-100' visibility='default' filepath='include/linux/swap.h' line='130' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='nodemask_t' type-id='type-id-5763' filepath='include/linux/nodemask.h' line='98' column='1' id='type-id-5153'/>
+      <class-decl name='__anonymous_struct__40' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-5153' visibility='default' filepath='include/linux/nodemask.h' line='98' column='1' id='type-id-5763'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bits' type-id='type-id-930' visibility='default' filepath='include/linux/nodemask.h' line='98' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='compat_robust_list_head' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/linux/compat.h' line='413' column='1' id='type-id-5764'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-5765' visibility='default' filepath='include/linux/compat.h' line='414' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='futex_offset' type-id='type-id-5766' visibility='default' filepath='include/linux/compat.h' line='415' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='list_op_pending' type-id='type-id-5767' visibility='default' filepath='include/linux/compat.h' line='416' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='compat_robust_list' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/linux/compat.h' line='409' column='1' id='type-id-5765'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='next' type-id='type-id-5767' visibility='default' filepath='include/linux/compat.h' line='410' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='compat_uptr_t' type-id='type-id-9' filepath='arch/arm64/include/asm/compat.h' line='66' column='1' id='type-id-5767'/>
+      <typedef-decl name='compat_long_t' type-id='type-id-939' filepath='arch/arm64/include/asm/compat.h' line='60' column='1' id='type-id-5766'/>
+      <class-decl name='perf_event_context' size-in-bits='2048' is-struct='yes' visibility='default' filepath='include/linux/perf_event.h' line='726' column='1' id='type-id-5768'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='pmu' type-id='type-id-4902' visibility='default' filepath='include/linux/perf_event.h' line='727' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='lock' type-id='type-id-5119' visibility='default' filepath='include/linux/perf_event.h' line='732' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='mutex' type-id='type-id-407' visibility='default' filepath='include/linux/perf_event.h' line='738' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='active_ctx_list' type-id='type-id-8' visibility='default' filepath='include/linux/perf_event.h' line='740' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='pinned_groups' type-id='type-id-5769' visibility='default' filepath='include/linux/perf_event.h' line='741' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='flexible_groups' type-id='type-id-5769' visibility='default' filepath='include/linux/perf_event.h' line='742' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='event_list' type-id='type-id-8' visibility='default' filepath='include/linux/perf_event.h' line='743' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='pinned_active' type-id='type-id-8' visibility='default' filepath='include/linux/perf_event.h' line='745' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='flexible_active' type-id='type-id-8' visibility='default' filepath='include/linux/perf_event.h' line='746' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='nr_events' type-id='type-id-11' visibility='default' filepath='include/linux/perf_event.h' line='748' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1184'>
+          <var-decl name='nr_active' type-id='type-id-11' visibility='default' filepath='include/linux/perf_event.h' line='749' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='is_active' type-id='type-id-11' visibility='default' filepath='include/linux/perf_event.h' line='750' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1248'>
+          <var-decl name='nr_stat' type-id='type-id-11' visibility='default' filepath='include/linux/perf_event.h' line='751' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='nr_freq' type-id='type-id-11' visibility='default' filepath='include/linux/perf_event.h' line='752' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1312'>
+          <var-decl name='rotate_disable' type-id='type-id-11' visibility='default' filepath='include/linux/perf_event.h' line='753' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='refcount' type-id='type-id-137' visibility='default' filepath='include/linux/perf_event.h' line='754' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='task' type-id='type-id-118' visibility='default' filepath='include/linux/perf_event.h' line='755' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='time' type-id='type-id-134' visibility='default' filepath='include/linux/perf_event.h' line='760' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='timestamp' type-id='type-id-134' visibility='default' filepath='include/linux/perf_event.h' line='761' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='parent_ctx' type-id='type-id-4799' visibility='default' filepath='include/linux/perf_event.h' line='767' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='parent_gen' type-id='type-id-134' visibility='default' filepath='include/linux/perf_event.h' line='768' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='generation' type-id='type-id-134' visibility='default' filepath='include/linux/perf_event.h' line='769' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='pin_count' type-id='type-id-11' visibility='default' filepath='include/linux/perf_event.h' line='770' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='task_ctx_data' type-id='type-id-3' visibility='default' filepath='include/linux/perf_event.h' line='774' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='callback_head' type-id='type-id-157' visibility='default' filepath='include/linux/perf_event.h' line='775' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='perf_event_groups' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/perf_event.h' line='716' column='1' id='type-id-5769'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='tree' type-id='type-id-133' visibility='default' filepath='include/linux/perf_event.h' line='717' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='index' type-id='type-id-134' visibility='default' filepath='include/linux/perf_event.h' line='718' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='tlbflush_unmap_batch' is-struct='yes' visibility='default' filepath='include/linux/mm_types_task.h' line='72' column='1' id='type-id-5158'/>
+      <class-decl name='page_frag' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/mm_types_task.h' line='60' column='1' id='type-id-3009'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='page' type-id='type-id-120' visibility='default' filepath='include/linux/mm_types_task.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='offset' type-id='type-id-266' visibility='default' filepath='include/linux/mm_types_task.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='size' type-id='type-id-266' visibility='default' filepath='include/linux/mm_types_task.h' line='64' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='uprobe_task' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/uprobes.h' line='74' column='1' id='type-id-5770'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='state' type-id='type-id-5771' visibility='default' filepath='include/linux/uprobes.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='' type-id='type-id-5772' visibility='default' filepath='include/linux/uprobes.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='active_uprobe' type-id='type-id-5773' visibility='default' filepath='include/linux/uprobes.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='xol_vaddr' type-id='type-id-100' visibility='default' filepath='include/linux/uprobes.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='return_instances' type-id='type-id-5774' visibility='default' filepath='include/linux/uprobes.h' line='92' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='depth' type-id='type-id-10' visibility='default' filepath='include/linux/uprobes.h' line='93' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='uprobe_task_state' filepath='include/linux/uprobes.h' line='64' column='1' id='type-id-5771'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='UTASK_RUNNING' value='0'/>
+        <enumerator name='UTASK_SSTEP' value='1'/>
+        <enumerator name='UTASK_SSTEP_ACK' value='2'/>
+        <enumerator name='UTASK_SSTEP_TRAPPED' value='3'/>
+      </enum-decl>
+      <union-decl name='__anonymous_union__25' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/linux/uprobes.h' line='77' column='1' id='type-id-5772'>
+        <member-type access='private'>
+          <class-decl name='__anonymous_struct__' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/uprobes.h' line='83' column='1' id='type-id-5775'>
+            <data-member access='public' layout-offset-in-bits='0'>
+              <var-decl name='dup_xol_work' type-id='type-id-157' visibility='default' filepath='include/linux/uprobes.h' line='84' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='128'>
+              <var-decl name='dup_xol_addr' type-id='type-id-100' visibility='default' filepath='include/linux/uprobes.h' line='85' column='1'/>
+            </data-member>
+          </class-decl>
+        </member-type>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-5776' visibility='default' filepath='include/linux/uprobes.h' line='78' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__41' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/uprobes.h' line='78' column='1' id='type-id-5776'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='autask' type-id='type-id-5777' visibility='default' filepath='include/linux/uprobes.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='vaddr' type-id='type-id-100' visibility='default' filepath='include/linux/uprobes.h' line='80' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='arch_uprobe_task' is-struct='yes' visibility='default' filepath='arch/arm64/include/asm/uprobes.h' line='24' column='1' id='type-id-5777'/>
+      <class-decl name='return_instance' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/uprobes.h' line='96' column='1' id='type-id-5778'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='uprobe' type-id='type-id-5773' visibility='default' filepath='include/linux/uprobes.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='func' type-id='type-id-100' visibility='default' filepath='include/linux/uprobes.h' line='98' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='stack' type-id='type-id-100' visibility='default' filepath='include/linux/uprobes.h' line='99' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='orig_ret_vaddr' type-id='type-id-100' visibility='default' filepath='include/linux/uprobes.h' line='100' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='chained' type-id='type-id-211' visibility='default' filepath='include/linux/uprobes.h' line='101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='next' type-id='type-id-5774' visibility='default' filepath='include/linux/uprobes.h' line='103' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='vm_struct' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/vmalloc.h' line='34' column='1' id='type-id-5779'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='next' type-id='type-id-5161' visibility='default' filepath='include/linux/vmalloc.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='addr' type-id='type-id-3' visibility='default' filepath='include/linux/vmalloc.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='size' type-id='type-id-100' visibility='default' filepath='include/linux/vmalloc.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/vmalloc.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='pages' type-id='type-id-260' visibility='default' filepath='include/linux/vmalloc.h' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='nr_pages' type-id='type-id-10' visibility='default' filepath='include/linux/vmalloc.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='phys_addr' type-id='type-id-206' visibility='default' filepath='include/linux/vmalloc.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='caller' type-id='type-id-3' visibility='default' filepath='include/linux/vmalloc.h' line='42' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='thread_struct' size-in-bits='7808' is-struct='yes' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='116' column='1' id='type-id-5162'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cpu_context' type-id='type-id-5780' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='117' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='uw' type-id='type-id-5781' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='128' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5248'>
+          <var-decl name='fpsimd_cpu' type-id='type-id-10' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='130' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5312'>
+          <var-decl name='sve_state' type-id='type-id-3' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='131' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5376'>
+          <var-decl name='sve_vl' type-id='type-id-10' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='132' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5408'>
+          <var-decl name='sve_vl_onexec' type-id='type-id-10' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='133' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5440'>
+          <var-decl name='fault_address' type-id='type-id-100' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='134' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5504'>
+          <var-decl name='fault_code' type-id='type-id-100' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='135' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5568'>
+          <var-decl name='debug' type-id='type-id-5782' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='136' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='cpu_context' size-in-bits='832' is-struct='yes' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='100' column='1' id='type-id-5780'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='x19' type-id='type-id-100' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='x20' type-id='type-id-100' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='x21' type-id='type-id-100' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='x22' type-id='type-id-100' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='104' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='x23' type-id='type-id-100' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='105' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='x24' type-id='type-id-100' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='x25' type-id='type-id-100' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='107' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='x26' type-id='type-id-100' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='108' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='x27' type-id='type-id-100' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='109' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='x28' type-id='type-id-100' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='110' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='fp' type-id='type-id-100' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='111' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='sp' type-id='type-id-100' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='112' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='pc' type-id='type-id-100' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='113' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__42' size-in-bits='4352' is-struct='yes' is-anonymous='yes' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='124' column='1' id='type-id-5781'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='tp_value' type-id='type-id-100' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='125' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='tp2_value' type-id='type-id-100' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='fpsimd_state' type-id='type-id-5783' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='127' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='user_fpsimd_state' size-in-bits='4224' is-struct='yes' visibility='default' filepath='arch/arm64/include/uapi/asm/ptrace.h' line='79' column='1' id='type-id-5783'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='vregs' type-id='type-id-4631' visibility='default' filepath='arch/arm64/include/uapi/asm/ptrace.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4096'>
+          <var-decl name='fpsr' type-id='type-id-266' visibility='default' filepath='arch/arm64/include/uapi/asm/ptrace.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4128'>
+          <var-decl name='fpcr' type-id='type-id-266' visibility='default' filepath='arch/arm64/include/uapi/asm/ptrace.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4160'>
+          <var-decl name='__reserved' type-id='type-id-2444' visibility='default' filepath='arch/arm64/include/uapi/asm/ptrace.h' line='83' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='__uint128_t' type-id='type-id-4827' filepath='init/main.c' line='10' column='1' id='type-id-4630'/>
+      <class-decl name='debug_info' size-in-bits='2176' is-struct='yes' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='87' column='1' id='type-id-5782'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='suspended_step' type-id='type-id-11' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='bps_disabled' type-id='type-id-11' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='92' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='wps_disabled' type-id='type-id-11' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='hbp_break' type-id='type-id-4798' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='hbp_watch' type-id='type-id-4798' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='96' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='bdi_writeback_congested' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/backing-dev-defs.h' line='77' column='1' id='type-id-5784'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='state' type-id='type-id-100' visibility='default' filepath='include/linux/backing-dev-defs.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='refcnt' type-id='type-id-12' visibility='default' filepath='include/linux/backing-dev-defs.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='__bdi' type-id='type-id-5078' visibility='default' filepath='include/linux/backing-dev-defs.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='blkcg_id' type-id='type-id-11' visibility='default' filepath='include/linux/backing-dev-defs.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='rb_node' type-id='type-id-1846' visibility='default' filepath='include/linux/backing-dev-defs.h' line='86' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='fprop_local_percpu' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/flex_proportions.h' line='76' column='1' id='type-id-5111'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='events' type-id='type-id-4559' visibility='default' filepath='include/linux/flex_proportions.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='period' type-id='type-id-10' visibility='default' filepath='include/linux/flex_proportions.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='lock' type-id='type-id-5119' visibility='default' filepath='include/linux/flex_proportions.h' line='81' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='wb_reason' filepath='include/linux/backing-dev-defs.h' line='51' column='1' id='type-id-5112'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='WB_REASON_BACKGROUND' value='0'/>
+        <enumerator name='WB_REASON_VMSCAN' value='1'/>
+        <enumerator name='WB_REASON_SYNC' value='2'/>
+        <enumerator name='WB_REASON_PERIODIC' value='3'/>
+        <enumerator name='WB_REASON_LAPTOP_TIMER' value='4'/>
+        <enumerator name='WB_REASON_FREE_MORE_MEM' value='5'/>
+        <enumerator name='WB_REASON_FS_FREE_SPACE' value='6'/>
+        <enumerator name='WB_REASON_FORKER_THREAD' value='7'/>
+        <enumerator name='WB_REASON_MAX' value='8'/>
+      </enum-decl>
+      <class-decl name='dquot' size-in-bits='1664' is-struct='yes' visibility='default' filepath='include/linux/quota.h' line='294' column='1' id='type-id-5785'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dq_hash' type-id='type-id-378' visibility='default' filepath='include/linux/quota.h' line='295' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='dq_inuse' type-id='type-id-8' visibility='default' filepath='include/linux/quota.h' line='296' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='dq_free' type-id='type-id-8' visibility='default' filepath='include/linux/quota.h' line='297' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='dq_dirty' type-id='type-id-8' visibility='default' filepath='include/linux/quota.h' line='298' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='dq_lock' type-id='type-id-407' visibility='default' filepath='include/linux/quota.h' line='299' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='dq_dqb_lock' type-id='type-id-106' visibility='default' filepath='include/linux/quota.h' line='300' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='800'>
+          <var-decl name='dq_count' type-id='type-id-137' visibility='default' filepath='include/linux/quota.h' line='301' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='dq_sb' type-id='type-id-2155' visibility='default' filepath='include/linux/quota.h' line='302' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='dq_id' type-id='type-id-5786' visibility='default' filepath='include/linux/quota.h' line='303' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='dq_off' type-id='type-id-4528' visibility='default' filepath='include/linux/quota.h' line='304' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='dq_flags' type-id='type-id-100' visibility='default' filepath='include/linux/quota.h' line='305' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='dq_dqb' type-id='type-id-5787' visibility='default' filepath='include/linux/quota.h' line='306' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='kqid' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/quota.h' line='68' column='1' id='type-id-5786'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='' type-id='type-id-5788' visibility='default' filepath='include/linux/quota.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='type' type-id='type-id-5789' visibility='default' filepath='include/linux/quota.h' line='74' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__27' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/linux/quota.h' line='69' column='1' id='type-id-5788'>
+        <data-member access='private'>
+          <var-decl name='uid' type-id='type-id-4567' visibility='default' filepath='include/linux/quota.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='gid' type-id='type-id-4568' visibility='default' filepath='include/linux/quota.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='projid' type-id='type-id-5790' visibility='default' filepath='include/linux/quota.h' line='72' column='1'/>
+        </data-member>
+      </union-decl>
+      <typedef-decl name='kprojid_t' type-id='type-id-5791' filepath='include/linux/projid.h' line='24' column='1' id='type-id-5790'/>
+      <class-decl name='__anonymous_struct__43' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-5790' visibility='default' filepath='include/linux/projid.h' line='22' column='1' id='type-id-5791'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='val' type-id='type-id-5792' visibility='default' filepath='include/linux/projid.h' line='23' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='projid_t' type-id='type-id-4971' filepath='include/linux/projid.h' line='20' column='1' id='type-id-5792'/>
+      <enum-decl name='quota_type' filepath='include/linux/quota.h' line='54' column='1' id='type-id-5789'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='USRQUOTA' value='0'/>
+        <enumerator name='GRPQUOTA' value='1'/>
+        <enumerator name='PRJQUOTA' value='2'/>
+      </enum-decl>
+      <class-decl name='mem_dqblk' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/quota.h' line='205' column='1' id='type-id-5787'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dqb_bhardlimit' type-id='type-id-5793' visibility='default' filepath='include/linux/quota.h' line='206' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dqb_bsoftlimit' type-id='type-id-5793' visibility='default' filepath='include/linux/quota.h' line='207' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='dqb_curspace' type-id='type-id-5793' visibility='default' filepath='include/linux/quota.h' line='208' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='dqb_rsvspace' type-id='type-id-5793' visibility='default' filepath='include/linux/quota.h' line='209' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='dqb_ihardlimit' type-id='type-id-5793' visibility='default' filepath='include/linux/quota.h' line='210' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='dqb_isoftlimit' type-id='type-id-5793' visibility='default' filepath='include/linux/quota.h' line='211' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='dqb_curinodes' type-id='type-id-5793' visibility='default' filepath='include/linux/quota.h' line='212' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='dqb_btime' type-id='type-id-3459' visibility='default' filepath='include/linux/quota.h' line='213' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='dqb_itime' type-id='type-id-3459' visibility='default' filepath='include/linux/quota.h' line='214' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='qsize_t' type-id='type-id-112' filepath='include/linux/quota.h' line='66' column='1' id='type-id-5793'/>
+      <class-decl name='shrink_control' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/shrinker.h' line='12' column='1' id='type-id-5794'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='gfp_mask' type-id='type-id-272' visibility='default' filepath='include/linux/shrinker.h' line='13' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='nid' type-id='type-id-11' visibility='default' filepath='include/linux/shrinker.h' line='16' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='nr_to_scan' type-id='type-id-100' visibility='default' filepath='include/linux/shrinker.h' line='23' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='nr_scanned' type-id='type-id-100' visibility='default' filepath='include/linux/shrinker.h' line='30' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='memcg' type-id='type-id-5159' visibility='default' filepath='include/linux/shrinker.h' line='33' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='dquot_operations' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/linux/quota.h' line='322' column='1' id='type-id-5795'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='write_dquot' type-id='type-id-5796' visibility='default' filepath='include/linux/quota.h' line='323' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='alloc_dquot' type-id='type-id-5797' visibility='default' filepath='include/linux/quota.h' line='324' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='destroy_dquot' type-id='type-id-5798' visibility='default' filepath='include/linux/quota.h' line='325' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='acquire_dquot' type-id='type-id-5796' visibility='default' filepath='include/linux/quota.h' line='326' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='release_dquot' type-id='type-id-5796' visibility='default' filepath='include/linux/quota.h' line='327' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='mark_dirty' type-id='type-id-5796' visibility='default' filepath='include/linux/quota.h' line='328' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='write_info' type-id='type-id-5095' visibility='default' filepath='include/linux/quota.h' line='329' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='get_reserved_space' type-id='type-id-5799' visibility='default' filepath='include/linux/quota.h' line='332' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='get_projid' type-id='type-id-5800' visibility='default' filepath='include/linux/quota.h' line='333' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='get_inode_usage' type-id='type-id-5801' visibility='default' filepath='include/linux/quota.h' line='335' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='get_next_id' type-id='type-id-5802' visibility='default' filepath='include/linux/quota.h' line='337' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='quotactl_ops' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/linux/quota.h' line='428' column='1' id='type-id-5803'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='quota_on' type-id='type-id-5804' visibility='default' filepath='include/linux/quota.h' line='429' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='quota_off' type-id='type-id-5095' visibility='default' filepath='include/linux/quota.h' line='430' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='quota_enable' type-id='type-id-5805' visibility='default' filepath='include/linux/quota.h' line='431' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='quota_disable' type-id='type-id-5805' visibility='default' filepath='include/linux/quota.h' line='432' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='quota_sync' type-id='type-id-5095' visibility='default' filepath='include/linux/quota.h' line='433' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='set_info' type-id='type-id-5806' visibility='default' filepath='include/linux/quota.h' line='434' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='get_dqblk' type-id='type-id-5807' visibility='default' filepath='include/linux/quota.h' line='435' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='get_nextdqblk' type-id='type-id-5808' visibility='default' filepath='include/linux/quota.h' line='436' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='set_dqblk' type-id='type-id-5807' visibility='default' filepath='include/linux/quota.h' line='438' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='get_state' type-id='type-id-5809' visibility='default' filepath='include/linux/quota.h' line='439' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='rm_xquota' type-id='type-id-5805' visibility='default' filepath='include/linux/quota.h' line='440' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='qc_info' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/quota.h' line='415' column='1' id='type-id-5810'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='i_fieldmask' type-id='type-id-11' visibility='default' filepath='include/linux/quota.h' line='416' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='i_flags' type-id='type-id-10' visibility='default' filepath='include/linux/quota.h' line='417' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='i_spc_timelimit' type-id='type-id-10' visibility='default' filepath='include/linux/quota.h' line='418' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='i_ino_timelimit' type-id='type-id-10' visibility='default' filepath='include/linux/quota.h' line='420' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='i_rt_spc_timelimit' type-id='type-id-10' visibility='default' filepath='include/linux/quota.h' line='421' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='i_spc_warnlimit' type-id='type-id-10' visibility='default' filepath='include/linux/quota.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='i_ino_warnlimit' type-id='type-id-10' visibility='default' filepath='include/linux/quota.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='i_rt_spc_warnlimit' type-id='type-id-10' visibility='default' filepath='include/linux/quota.h' line='424' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='qc_dqblk' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/linux/quota.h' line='343' column='1' id='type-id-5811'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='d_fieldmask' type-id='type-id-11' visibility='default' filepath='include/linux/quota.h' line='344' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='d_spc_hardlimit' type-id='type-id-134' visibility='default' filepath='include/linux/quota.h' line='345' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='d_spc_softlimit' type-id='type-id-134' visibility='default' filepath='include/linux/quota.h' line='346' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='d_ino_hardlimit' type-id='type-id-134' visibility='default' filepath='include/linux/quota.h' line='347' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='d_ino_softlimit' type-id='type-id-134' visibility='default' filepath='include/linux/quota.h' line='348' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='d_space' type-id='type-id-134' visibility='default' filepath='include/linux/quota.h' line='349' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='d_ino_count' type-id='type-id-134' visibility='default' filepath='include/linux/quota.h' line='350' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='d_ino_timer' type-id='type-id-581' visibility='default' filepath='include/linux/quota.h' line='351' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='d_spc_timer' type-id='type-id-581' visibility='default' filepath='include/linux/quota.h' line='353' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='d_ino_warns' type-id='type-id-11' visibility='default' filepath='include/linux/quota.h' line='354' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='d_spc_warns' type-id='type-id-11' visibility='default' filepath='include/linux/quota.h' line='355' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='d_rt_spc_hardlimit' type-id='type-id-134' visibility='default' filepath='include/linux/quota.h' line='356' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='d_rt_spc_softlimit' type-id='type-id-134' visibility='default' filepath='include/linux/quota.h' line='357' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='d_rt_space' type-id='type-id-134' visibility='default' filepath='include/linux/quota.h' line='358' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='d_rt_spc_timer' type-id='type-id-581' visibility='default' filepath='include/linux/quota.h' line='359' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='d_rt_spc_warns' type-id='type-id-11' visibility='default' filepath='include/linux/quota.h' line='360' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='qc_state' size-in-bits='1408' is-struct='yes' visibility='default' filepath='include/linux/quota.h' line='409' column='1' id='type-id-5812'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='s_incoredqs' type-id='type-id-10' visibility='default' filepath='include/linux/quota.h' line='410' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='s_state' type-id='type-id-4805' visibility='default' filepath='include/linux/quota.h' line='411' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='qc_type_state' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/quota.h' line='395' column='1' id='type-id-4804'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='include/linux/quota.h' line='396' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='spc_timelimit' type-id='type-id-10' visibility='default' filepath='include/linux/quota.h' line='397' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ino_timelimit' type-id='type-id-10' visibility='default' filepath='include/linux/quota.h' line='399' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='rt_spc_timelimit' type-id='type-id-10' visibility='default' filepath='include/linux/quota.h' line='400' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='spc_warnlimit' type-id='type-id-10' visibility='default' filepath='include/linux/quota.h' line='401' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='ino_warnlimit' type-id='type-id-10' visibility='default' filepath='include/linux/quota.h' line='402' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='rt_spc_warnlimit' type-id='type-id-10' visibility='default' filepath='include/linux/quota.h' line='403' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='ino' type-id='type-id-177' visibility='default' filepath='include/linux/quota.h' line='404' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='blocks' type-id='type-id-5031' visibility='default' filepath='include/linux/quota.h' line='405' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='nextents' type-id='type-id-5031' visibility='default' filepath='include/linux/quota.h' line='406' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='blkcnt_t' type-id='type-id-100' filepath='include/linux/types.h' line='135' column='1' id='type-id-5031'/>
+      <class-decl name='xattr_handler' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/xattr.h' line='28' column='1' id='type-id-5813'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/xattr.h' line='29' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='prefix' type-id='type-id-24' visibility='default' filepath='include/linux/xattr.h' line='30' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='flags' type-id='type-id-11' visibility='default' filepath='include/linux/xattr.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='list' type-id='type-id-5814' visibility='default' filepath='include/linux/xattr.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='get' type-id='type-id-5815' visibility='default' filepath='include/linux/xattr.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='__get' type-id='type-id-5815' visibility='default' filepath='include/linux/xattr.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='set' type-id='type-id-5816' visibility='default' filepath='include/linux/xattr.h' line='39' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='hlist_bl_head' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/list_bl.h' line='34' column='1' id='type-id-5077'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='first' type-id='type-id-5020' visibility='default' filepath='include/linux/list_bl.h' line='35' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='quota_info' size-in-bits='2496' is-struct='yes' visibility='default' filepath='include/linux/quota.h' line='518' column='1' id='type-id-5080'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='include/linux/quota.h' line='519' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dqio_sem' type-id='type-id-139' visibility='default' filepath='include/linux/quota.h' line='520' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='files' type-id='type-id-4764' visibility='default' filepath='include/linux/quota.h' line='521' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='info' type-id='type-id-4792' visibility='default' filepath='include/linux/quota.h' line='522' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='ops' type-id='type-id-4750' visibility='default' filepath='include/linux/quota.h' line='523' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='mem_dqinfo' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/quota.h' line='222' column='1' id='type-id-4791'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dqi_format' type-id='type-id-5817' visibility='default' filepath='include/linux/quota.h' line='223' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dqi_fmt_id' type-id='type-id-11' visibility='default' filepath='include/linux/quota.h' line='224' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='dqi_dirty_list' type-id='type-id-8' visibility='default' filepath='include/linux/quota.h' line='226' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='dqi_flags' type-id='type-id-100' visibility='default' filepath='include/linux/quota.h' line='227' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='dqi_bgrace' type-id='type-id-10' visibility='default' filepath='include/linux/quota.h' line='228' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='dqi_igrace' type-id='type-id-10' visibility='default' filepath='include/linux/quota.h' line='229' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='dqi_max_spc_limit' type-id='type-id-5793' visibility='default' filepath='include/linux/quota.h' line='230' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='dqi_max_ino_limit' type-id='type-id-5793' visibility='default' filepath='include/linux/quota.h' line='231' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='dqi_priv' type-id='type-id-3' visibility='default' filepath='include/linux/quota.h' line='232' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='quota_format_type' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/quota.h' line='443' column='1' id='type-id-5818'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='qf_fmt_id' type-id='type-id-11' visibility='default' filepath='include/linux/quota.h' line='444' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='qf_ops' type-id='type-id-4749' visibility='default' filepath='include/linux/quota.h' line='445' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='qf_owner' type-id='type-id-19' visibility='default' filepath='include/linux/quota.h' line='446' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='qf_next' type-id='type-id-5817' visibility='default' filepath='include/linux/quota.h' line='447' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='quota_format_ops' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/quota.h' line='310' column='1' id='type-id-5819'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='check_quota_file' type-id='type-id-5095' visibility='default' filepath='include/linux/quota.h' line='311' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='read_file_info' type-id='type-id-5095' visibility='default' filepath='include/linux/quota.h' line='312' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='write_file_info' type-id='type-id-5095' visibility='default' filepath='include/linux/quota.h' line='313' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='free_file_info' type-id='type-id-5095' visibility='default' filepath='include/linux/quota.h' line='314' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='read_dqblk' type-id='type-id-5796' visibility='default' filepath='include/linux/quota.h' line='315' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='commit_dqblk' type-id='type-id-5796' visibility='default' filepath='include/linux/quota.h' line='316' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='release_dqblk' type-id='type-id-5796' visibility='default' filepath='include/linux/quota.h' line='317' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='get_next_id' type-id='type-id-5802' visibility='default' filepath='include/linux/quota.h' line='318' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='sb_writers' size-in-bits='3328' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='1375' column='1' id='type-id-5081'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='frozen' type-id='type-id-11' visibility='default' filepath='include/linux/fs.h' line='1376' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='wait_unfrozen' type-id='type-id-388' visibility='default' filepath='include/linux/fs.h' line='1377' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='rw_sem' type-id='type-id-4795' visibility='default' filepath='include/linux/fs.h' line='1378' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='percpu_rw_semaphore' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/linux/percpu-rwsem.h' line='12' column='1' id='type-id-4794'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='rss' type-id='type-id-5820' visibility='default' filepath='include/linux/percpu-rwsem.h' line='13' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='read_count' type-id='type-id-72' visibility='default' filepath='include/linux/percpu-rwsem.h' line='14' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='rw_sem' type-id='type-id-139' visibility='default' filepath='include/linux/percpu-rwsem.h' line='15' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='writer' type-id='type-id-5821' visibility='default' filepath='include/linux/percpu-rwsem.h' line='16' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='readers_block' type-id='type-id-11' visibility='default' filepath='include/linux/percpu-rwsem.h' line='17' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='rcu_sync' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/rcu_sync.h' line='32' column='1' id='type-id-5820'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='gp_state' type-id='type-id-11' visibility='default' filepath='include/linux/rcu_sync.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='gp_count' type-id='type-id-11' visibility='default' filepath='include/linux/rcu_sync.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='gp_wait' type-id='type-id-388' visibility='default' filepath='include/linux/rcu_sync.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='cb_state' type-id='type-id-11' visibility='default' filepath='include/linux/rcu_sync.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='cb_head' type-id='type-id-157' visibility='default' filepath='include/linux/rcu_sync.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='gp_type' type-id='type-id-5822' visibility='default' filepath='include/linux/rcu_sync.h' line='40' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='rcu_sync_type' filepath='include/linux/rcu_sync.h' line='29' column='1' id='type-id-5822'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='RCU_SYNC' value='0'/>
+        <enumerator name='RCU_SCHED_SYNC' value='1'/>
+        <enumerator name='RCU_BH_SYNC' value='2'/>
+      </enum-decl>
+      <class-decl name='rcuwait' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/rcuwait.h' line='20' column='1' id='type-id-5821'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='task' type-id='type-id-118' visibility='default' filepath='include/linux/rcuwait.h' line='21' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='uuid_t' type-id='type-id-5823' filepath='include/linux/uuid.h' line='26' column='1' id='type-id-5082'/>
+      <class-decl name='__anonymous_struct__44' size-in-bits='128' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-5082' visibility='default' filepath='include/linux/uuid.h' line='24' column='1' id='type-id-5823'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='b' type-id='type-id-2555' visibility='default' filepath='include/linux/uuid.h' line='25' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='dentry_operations' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/linux/dcache.h' line='134' column='1' id='type-id-5824'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='d_revalidate' type-id='type-id-5825' visibility='default' filepath='include/linux/dcache.h' line='135' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='d_weak_revalidate' type-id='type-id-5825' visibility='default' filepath='include/linux/dcache.h' line='136' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='d_hash' type-id='type-id-5826' visibility='default' filepath='include/linux/dcache.h' line='137' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='d_compare' type-id='type-id-5827' visibility='default' filepath='include/linux/dcache.h' line='138' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='d_delete' type-id='type-id-5828' visibility='default' filepath='include/linux/dcache.h' line='140' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='d_init' type-id='type-id-5829' visibility='default' filepath='include/linux/dcache.h' line='141' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='d_release' type-id='type-id-5830' visibility='default' filepath='include/linux/dcache.h' line='142' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='d_prune' type-id='type-id-5830' visibility='default' filepath='include/linux/dcache.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='d_iput' type-id='type-id-5831' visibility='default' filepath='include/linux/dcache.h' line='144' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='d_dname' type-id='type-id-5832' visibility='default' filepath='include/linux/dcache.h' line='145' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='d_automount' type-id='type-id-5833' visibility='default' filepath='include/linux/dcache.h' line='146' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='d_manage' type-id='type-id-5834' visibility='default' filepath='include/linux/dcache.h' line='147' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='d_real' type-id='type-id-5835' visibility='default' filepath='include/linux/dcache.h' line='148' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='d_canonical_path' type-id='type-id-5836' visibility='default' filepath='include/linux/dcache.h' line='149' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='shrinker' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/shrinker.h' line='60' column='1' id='type-id-5083'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='count_objects' type-id='type-id-5837' visibility='default' filepath='include/linux/shrinker.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='scan_objects' type-id='type-id-5837' visibility='default' filepath='include/linux/shrinker.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='batch' type-id='type-id-187' visibility='default' filepath='include/linux/shrinker.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='seeks' type-id='type-id-11' visibility='default' filepath='include/linux/shrinker.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='include/linux/shrinker.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/shrinker.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='id' type-id='type-id-11' visibility='default' filepath='include/linux/shrinker.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='nr_deferred' type-id='type-id-5838' visibility='default' filepath='include/linux/shrinker.h' line='77' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='list_lru' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/list_lru.h' line='52' column='1' id='type-id-5084'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='node' type-id='type-id-5839' visibility='default' filepath='include/linux/list_lru.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/list_lru.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='shrinker_id' type-id='type-id-11' visibility='default' filepath='include/linux/list_lru.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='memcg_aware' type-id='type-id-211' visibility='default' filepath='include/linux/list_lru.h' line='57' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='list_lru_node' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/list_lru.h' line='40' column='1' id='type-id-5840'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/linux/list_lru.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='lru' type-id='type-id-5841' visibility='default' filepath='include/linux/list_lru.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='memcg_lrus' type-id='type-id-5842' visibility='default' filepath='include/linux/list_lru.h' line='47' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='nr_items' type-id='type-id-187' visibility='default' filepath='include/linux/list_lru.h' line='49' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='list_lru_one' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/list_lru.h' line='28' column='1' id='type-id-5841'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/list_lru.h' line='29' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='nr_items' type-id='type-id-187' visibility='default' filepath='include/linux/list_lru.h' line='31' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='list_lru_memcg' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/list_lru.h' line='34' column='1' id='type-id-5843'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/linux/list_lru.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='lru' type-id='type-id-4779' visibility='default' filepath='include/linux/list_lru.h' line='37' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='file_operations' size-in-bits='2048' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='1770' column='1' id='type-id-5844'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/linux/fs.h' line='1771' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='llseek' type-id='type-id-5845' visibility='default' filepath='include/linux/fs.h' line='1772' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='read' type-id='type-id-2257' visibility='default' filepath='include/linux/fs.h' line='1773' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='write' type-id='type-id-2258' visibility='default' filepath='include/linux/fs.h' line='1774' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='read_iter' type-id='type-id-5232' visibility='default' filepath='include/linux/fs.h' line='1775' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='write_iter' type-id='type-id-5232' visibility='default' filepath='include/linux/fs.h' line='1776' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='iterate' type-id='type-id-5846' visibility='default' filepath='include/linux/fs.h' line='1777' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='iterate_shared' type-id='type-id-5846' visibility='default' filepath='include/linux/fs.h' line='1778' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='poll' type-id='type-id-2259' visibility='default' filepath='include/linux/fs.h' line='1779' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='unlocked_ioctl' type-id='type-id-2260' visibility='default' filepath='include/linux/fs.h' line='1780' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='compat_ioctl' type-id='type-id-2260' visibility='default' filepath='include/linux/fs.h' line='1781' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='mmap' type-id='type-id-2360' visibility='default' filepath='include/linux/fs.h' line='1782' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='mmap_supported_flags' type-id='type-id-100' visibility='default' filepath='include/linux/fs.h' line='1783' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='open' type-id='type-id-5847' visibility='default' filepath='include/linux/fs.h' line='1784' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='flush' type-id='type-id-5848' visibility='default' filepath='include/linux/fs.h' line='1785' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='release' type-id='type-id-5847' visibility='default' filepath='include/linux/fs.h' line='1786' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='fsync' type-id='type-id-5849' visibility='default' filepath='include/linux/fs.h' line='1787' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='fasync' type-id='type-id-5850' visibility='default' filepath='include/linux/fs.h' line='1788' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='lock' type-id='type-id-5851' visibility='default' filepath='include/linux/fs.h' line='1789' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='sendpage' type-id='type-id-5852' visibility='default' filepath='include/linux/fs.h' line='1790' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='get_unmapped_area' type-id='type-id-135' visibility='default' filepath='include/linux/fs.h' line='1791' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='check_flags' type-id='type-id-856' visibility='default' filepath='include/linux/fs.h' line='1792' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='flock' type-id='type-id-5851' visibility='default' filepath='include/linux/fs.h' line='1793' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='splice_write' type-id='type-id-5853' visibility='default' filepath='include/linux/fs.h' line='1794' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='splice_read' type-id='type-id-5854' visibility='default' filepath='include/linux/fs.h' line='1795' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='setlease' type-id='type-id-5855' visibility='default' filepath='include/linux/fs.h' line='1796' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='fallocate' type-id='type-id-5856' visibility='default' filepath='include/linux/fs.h' line='1797' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='show_fdinfo' type-id='type-id-5857' visibility='default' filepath='include/linux/fs.h' line='1799' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='copy_file_range' type-id='type-id-5858' visibility='default' filepath='include/linux/fs.h' line='1803' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='clone_file_range' type-id='type-id-5859' visibility='default' filepath='include/linux/fs.h' line='1805' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='dedupe_file_range' type-id='type-id-5859' visibility='default' filepath='include/linux/fs.h' line='1807' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='fadvise' type-id='type-id-5849' visibility='default' filepath='include/linux/fs.h' line='1809' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='dir_context' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='1735' column='1' id='type-id-5860'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='actor' type-id='type-id-5861' visibility='default' filepath='include/linux/fs.h' line='1736' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='pos' type-id='type-id-4528' visibility='default' filepath='include/linux/fs.h' line='1737' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='filldir_t' type-id='type-id-5862' filepath='include/linux/fs.h' line='1732' column='1' id='type-id-5861'/>
+      <typedef-decl name='fl_owner_t' type-id='type-id-3' filepath='include/linux/fs.h' line='986' column='1' id='type-id-5863'/>
+      <class-decl name='file_lock' size-in-bits='1600' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='1042' column='1' id='type-id-5864'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='fl_next' type-id='type-id-5865' visibility='default' filepath='include/linux/fs.h' line='1043' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='fl_list' type-id='type-id-8' visibility='default' filepath='include/linux/fs.h' line='1044' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='fl_link' type-id='type-id-378' visibility='default' filepath='include/linux/fs.h' line='1045' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='fl_block' type-id='type-id-8' visibility='default' filepath='include/linux/fs.h' line='1046' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='fl_owner' type-id='type-id-5863' visibility='default' filepath='include/linux/fs.h' line='1047' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='fl_flags' type-id='type-id-10' visibility='default' filepath='include/linux/fs.h' line='1048' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='fl_type' type-id='type-id-271' visibility='default' filepath='include/linux/fs.h' line='1049' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='fl_pid' type-id='type-id-10' visibility='default' filepath='include/linux/fs.h' line='1050' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='fl_link_cpu' type-id='type-id-11' visibility='default' filepath='include/linux/fs.h' line='1051' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='fl_wait' type-id='type-id-388' visibility='default' filepath='include/linux/fs.h' line='1052' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='fl_file' type-id='type-id-147' visibility='default' filepath='include/linux/fs.h' line='1053' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='fl_start' type-id='type-id-4528' visibility='default' filepath='include/linux/fs.h' line='1054' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='fl_end' type-id='type-id-4528' visibility='default' filepath='include/linux/fs.h' line='1055' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='fl_fasync' type-id='type-id-3920' visibility='default' filepath='include/linux/fs.h' line='1057' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='fl_break_time' type-id='type-id-100' visibility='default' filepath='include/linux/fs.h' line='1059' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='fl_downgrade_time' type-id='type-id-100' visibility='default' filepath='include/linux/fs.h' line='1060' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='fl_ops' type-id='type-id-5866' visibility='default' filepath='include/linux/fs.h' line='1062' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='fl_lmops' type-id='type-id-5867' visibility='default' filepath='include/linux/fs.h' line='1063' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='fl_u' type-id='type-id-5868' visibility='default' filepath='include/linux/fs.h' line='1071' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='fasync_struct' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='1283' column='1' id='type-id-5869'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='fa_lock' type-id='type-id-1847' visibility='default' filepath='include/linux/fs.h' line='1284' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='magic' type-id='type-id-11' visibility='default' filepath='include/linux/fs.h' line='1285' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='fa_fd' type-id='type-id-11' visibility='default' filepath='include/linux/fs.h' line='1286' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='fa_next' type-id='type-id-3920' visibility='default' filepath='include/linux/fs.h' line='1287' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='fa_file' type-id='type-id-147' visibility='default' filepath='include/linux/fs.h' line='1288' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='fa_rcu' type-id='type-id-157' visibility='default' filepath='include/linux/fs.h' line='1289' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='rwlock_t' type-id='type-id-5870' filepath='include/linux/rwlock_types.h' line='20' column='1' id='type-id-1847'/>
+      <class-decl name='__anonymous_struct__45' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-1847' visibility='default' filepath='include/linux/rwlock_types.h' line='11' column='1' id='type-id-5870'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='raw_lock' type-id='type-id-5871' visibility='default' filepath='include/linux/rwlock_types.h' line='12' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='arch_rwlock_t' type-id='type-id-5872' filepath='include/asm-generic/qrwlock_types.h' line='27' column='1' id='type-id-5871'/>
+      <class-decl name='qrwlock' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/asm-generic/qrwlock_types.h' line='13' column='1' id='type-id-5872'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='' type-id='type-id-5873' visibility='default' filepath='include/asm-generic/qrwlock_types.h' line='14' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='wait_lock' type-id='type-id-4892' visibility='default' filepath='include/asm-generic/qrwlock_types.h' line='26' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__29' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/asm-generic/qrwlock_types.h' line='14' column='1' id='type-id-5873'>
+        <data-member access='private'>
+          <var-decl name='cnts' type-id='type-id-137' visibility='default' filepath='include/asm-generic/qrwlock_types.h' line='15' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-5874' visibility='default' filepath='include/asm-generic/qrwlock_types.h' line='16' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__46' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/asm-generic/qrwlock_types.h' line='16' column='1' id='type-id-5874'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='wlocked' type-id='type-id-53' visibility='default' filepath='include/asm-generic/qrwlock_types.h' line='18' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='__lstate' type-id='type-id-1272' visibility='default' filepath='include/asm-generic/qrwlock_types.h' line='19' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='file_lock_operations' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='990' column='1' id='type-id-5875'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='fl_copy_lock' type-id='type-id-5876' visibility='default' filepath='include/linux/fs.h' line='991' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='fl_release_private' type-id='type-id-5877' visibility='default' filepath='include/linux/fs.h' line='992' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='lock_manager_operations' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='995' column='1' id='type-id-5878'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lm_compare_owner' type-id='type-id-5879' visibility='default' filepath='include/linux/fs.h' line='996' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='lm_owner_key' type-id='type-id-5880' visibility='default' filepath='include/linux/fs.h' line='997' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='lm_get_owner' type-id='type-id-5881' visibility='default' filepath='include/linux/fs.h' line='998' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='lm_put_owner' type-id='type-id-5882' visibility='default' filepath='include/linux/fs.h' line='999' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='lm_notify' type-id='type-id-5877' visibility='default' filepath='include/linux/fs.h' line='1000' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='lm_grant' type-id='type-id-5883' visibility='default' filepath='include/linux/fs.h' line='1001' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='lm_break' type-id='type-id-5884' visibility='default' filepath='include/linux/fs.h' line='1002' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='lm_change' type-id='type-id-5885' visibility='default' filepath='include/linux/fs.h' line='1003' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='lm_setup' type-id='type-id-5886' visibility='default' filepath='include/linux/fs.h' line='1004' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='nfs_lock_info' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/nfs_fs_i.h' line='10' column='1' id='type-id-4509'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='state' type-id='type-id-9' visibility='default' filepath='include/linux/nfs_fs_i.h' line='11' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='owner' type-id='type-id-5887' visibility='default' filepath='include/linux/nfs_fs_i.h' line='12' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/nfs_fs_i.h' line='13' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='nfs4_lock_info' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/nfs_fs_i.h' line='17' column='1' id='type-id-4510'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='owner' type-id='type-id-5888' visibility='default' filepath='include/linux/nfs_fs_i.h' line='18' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__47' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/fs.h' line='1067' column='1' id='type-id-4511'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='link' type-id='type-id-8' visibility='default' filepath='include/linux/fs.h' line='1068' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='state' type-id='type-id-11' visibility='default' filepath='include/linux/fs.h' line='1069' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='file_lock_context' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='1074' column='1' id='type-id-5889'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='flc_lock' type-id='type-id-106' visibility='default' filepath='include/linux/fs.h' line='1075' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='flc_flock' type-id='type-id-8' visibility='default' filepath='include/linux/fs.h' line='1076' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='flc_posix' type-id='type-id-8' visibility='default' filepath='include/linux/fs.h' line='1077' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='flc_lease' type-id='type-id-8' visibility='default' filepath='include/linux/fs.h' line='1078' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='cdev' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/linux/cdev.h' line='14' column='1' id='type-id-1036'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='kobj' type-id='type-id-315' visibility='default' filepath='include/linux/cdev.h' line='15' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/linux/cdev.h' line='16' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='ops' type-id='type-id-1209' visibility='default' filepath='include/linux/cdev.h' line='17' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/cdev.h' line='18' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='dev' type-id='type-id-4404' visibility='default' filepath='include/linux/cdev.h' line='19' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='800'>
+          <var-decl name='count' type-id='type-id-10' visibility='default' filepath='include/linux/cdev.h' line='20' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='lockref' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/lockref.h' line='25' column='1' id='type-id-5015'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='' type-id='type-id-5890' visibility='default' filepath='include/linux/lockref.h' line='26' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__31' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/lockref.h' line='26' column='1' id='type-id-5890'>
+        <data-member access='private'>
+          <var-decl name='lock_count' type-id='type-id-1120' visibility='default' filepath='include/linux/lockref.h' line='28' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-5891' visibility='default' filepath='include/linux/lockref.h' line='30' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__48' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/lockref.h' line='30' column='1' id='type-id-5891'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/linux/lockref.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='count' type-id='type-id-11' visibility='default' filepath='include/linux/lockref.h' line='32' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='rw_hint' filepath='include/linux/fs.h' line='292' column='1' id='type-id-5005'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='WRITE_LIFE_NOT_SET' value='0'/>
+        <enumerator name='WRITE_LIFE_NONE' value='1'/>
+        <enumerator name='WRITE_LIFE_SHORT' value='2'/>
+        <enumerator name='WRITE_LIFE_MEDIUM' value='3'/>
+        <enumerator name='WRITE_LIFE_LONG' value='4'/>
+        <enumerator name='WRITE_LIFE_EXTREME' value='5'/>
+      </enum-decl>
+      <class-decl name='fown_struct' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='866' column='1' id='type-id-5006'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-1847' visibility='default' filepath='include/linux/fs.h' line='867' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='pid' type-id='type-id-1213' visibility='default' filepath='include/linux/fs.h' line='868' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='pid_type' type-id='type-id-5892' visibility='default' filepath='include/linux/fs.h' line='869' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='uid' type-id='type-id-4567' visibility='default' filepath='include/linux/fs.h' line='870' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='euid' type-id='type-id-4567' visibility='default' filepath='include/linux/fs.h' line='870' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='signum' type-id='type-id-11' visibility='default' filepath='include/linux/fs.h' line='871' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='pid_type' filepath='include/linux/pid.h' line='8' column='1' id='type-id-5892'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='PIDTYPE_PID' value='0'/>
+        <enumerator name='PIDTYPE_TGID' value='1'/>
+        <enumerator name='PIDTYPE_PGID' value='2'/>
+        <enumerator name='PIDTYPE_SID' value='3'/>
+        <enumerator name='PIDTYPE_MAX' value='4'/>
+      </enum-decl>
+      <class-decl name='file_ra_state' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='877' column='1' id='type-id-5007'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='start' type-id='type-id-100' visibility='default' filepath='include/linux/fs.h' line='878' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='size' type-id='type-id-10' visibility='default' filepath='include/linux/fs.h' line='879' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='async_size' type-id='type-id-10' visibility='default' filepath='include/linux/fs.h' line='880' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='ra_pages' type-id='type-id-10' visibility='default' filepath='include/linux/fs.h' line='883' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='mmap_miss' type-id='type-id-10' visibility='default' filepath='include/linux/fs.h' line='884' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='prev_pos' type-id='type-id-4528' visibility='default' filepath='include/linux/fs.h' line='885' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='kernfs_elem_symlink' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/kernfs.h' line='95' column='1' id='type-id-4480'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='target_kn' type-id='type-id-3083' visibility='default' filepath='include/linux/kernfs.h' line='96' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='kernfs_elem_attr' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/kernfs.h' line='99' column='1' id='type-id-4481'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ops' type-id='type-id-5893' visibility='default' filepath='include/linux/kernfs.h' line='100' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='open' type-id='type-id-5894' visibility='default' filepath='include/linux/kernfs.h' line='101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='size' type-id='type-id-4528' visibility='default' filepath='include/linux/kernfs.h' line='102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='notify_next' type-id='type-id-3083' visibility='default' filepath='include/linux/kernfs.h' line='103' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__49' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/kernfs.h' line='108' column='1' id='type-id-4867'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ino' type-id='type-id-9' visibility='default' filepath='include/linux/kernfs.h' line='115' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='generation' type-id='type-id-9' visibility='default' filepath='include/linux/kernfs.h' line='116' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='module_attribute' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/module.h' line='53' column='1' id='type-id-5895'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='attr' type-id='type-id-858' visibility='default' filepath='include/linux/module.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='show' type-id='type-id-5896' visibility='default' filepath='include/linux/module.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='store' type-id='type-id-5897' visibility='default' filepath='include/linux/module.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='setup' type-id='type-id-5898' visibility='default' filepath='include/linux/module.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='test' type-id='type-id-5899' visibility='default' filepath='include/linux/module.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='free' type-id='type-id-5900' visibility='default' filepath='include/linux/module.h' line='61' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='kernel_symbol' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/export.h' line='71' column='1' id='type-id-5901'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='value' type-id='type-id-100' visibility='default' filepath='include/linux/export.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/export.h' line='73' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='kernel_param' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/moduleparam.h' line='71' column='1' id='type-id-5902'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/moduleparam.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='mod' type-id='type-id-19' visibility='default' filepath='include/linux/moduleparam.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='ops' type-id='type-id-5903' visibility='default' filepath='include/linux/moduleparam.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='perm' type-id='type-id-566' visibility='default' filepath='include/linux/moduleparam.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='208'>
+          <var-decl name='level' type-id='type-id-4809' visibility='default' filepath='include/linux/moduleparam.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='216'>
+          <var-decl name='flags' type-id='type-id-53' visibility='default' filepath='include/linux/moduleparam.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='' type-id='type-id-5904' visibility='default' filepath='include/linux/moduleparam.h' line='78' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='kernel_param_ops' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/moduleparam.h' line='49' column='1' id='type-id-5905'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='include/linux/moduleparam.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='set' type-id='type-id-5906' visibility='default' filepath='include/linux/moduleparam.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='get' type-id='type-id-5907' visibility='default' filepath='include/linux/moduleparam.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='free' type-id='type-id-74' visibility='default' filepath='include/linux/moduleparam.h' line='57' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='kparam_string' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/moduleparam.h' line='88' column='1' id='type-id-5908'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='maxlen' type-id='type-id-10' visibility='default' filepath='include/linux/moduleparam.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='string' type-id='type-id-300' visibility='default' filepath='include/linux/moduleparam.h' line='90' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='kparam_array' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/moduleparam.h' line='94' column='1' id='type-id-5909'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='max' type-id='type-id-10' visibility='default' filepath='include/linux/moduleparam.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='elemsize' type-id='type-id-10' visibility='default' filepath='include/linux/moduleparam.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='num' type-id='type-id-72' visibility='default' filepath='include/linux/moduleparam.h' line='98' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='ops' type-id='type-id-5903' visibility='default' filepath='include/linux/moduleparam.h' line='99' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='elem' type-id='type-id-3' visibility='default' filepath='include/linux/moduleparam.h' line='100' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='exception_table_entry' size-in-bits='64' is-struct='yes' visibility='default' filepath='arch/arm64/include/asm/extable.h' line='18' column='1' id='type-id-5910'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='insn' type-id='type-id-11' visibility='default' filepath='arch/arm64/include/asm/extable.h' line='20' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='fixup' type-id='type-id-11' visibility='default' filepath='arch/arm64/include/asm/extable.h' line='20' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='module_layout' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/module.h' line='292' column='1' id='type-id-4936'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='base' type-id='type-id-3' visibility='default' filepath='include/linux/module.h' line='294' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='size' type-id='type-id-10' visibility='default' filepath='include/linux/module.h' line='296' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='text_size' type-id='type-id-10' visibility='default' filepath='include/linux/module.h' line='298' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='ro_size' type-id='type-id-10' visibility='default' filepath='include/linux/module.h' line='300' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='ro_after_init_size' type-id='type-id-10' visibility='default' filepath='include/linux/module.h' line='302' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='mtn' type-id='type-id-5911' visibility='default' filepath='include/linux/module.h' line='305' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='mod_tree_node' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/module.h' line='287' column='1' id='type-id-5911'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mod' type-id='type-id-19' visibility='default' filepath='include/linux/module.h' line='288' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='node' type-id='type-id-5912' visibility='default' filepath='include/linux/module.h' line='289' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='latch_tree_node' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/rbtree_latch.h' line='40' column='1' id='type-id-5912'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='node' type-id='type-id-4806' visibility='default' filepath='include/linux/rbtree_latch.h' line='41' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='mod_arch_specific' size-in-bits='320' is-struct='yes' visibility='default' filepath='arch/arm64/include/asm/module.h' line='30' column='1' id='type-id-4937'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='core' type-id='type-id-5913' visibility='default' filepath='arch/arm64/include/asm/module.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='init' type-id='type-id-5913' visibility='default' filepath='arch/arm64/include/asm/module.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='ftrace_trampoline' type-id='type-id-5914' visibility='default' filepath='arch/arm64/include/asm/module.h' line='35' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='mod_plt_sec' size-in-bits='128' is-struct='yes' visibility='default' filepath='arch/arm64/include/asm/module.h' line='24' column='1' id='type-id-5913'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='plt' type-id='type-id-5915' visibility='default' filepath='arch/arm64/include/asm/module.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='plt_num_entries' type-id='type-id-11' visibility='default' filepath='arch/arm64/include/asm/module.h' line='26' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='plt_max_entries' type-id='type-id-11' visibility='default' filepath='arch/arm64/include/asm/module.h' line='27' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='elf64_shdr' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/uapi/linux/elf.h' line='316' column='1' id='type-id-5916'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='sh_name' type-id='type-id-5917' visibility='default' filepath='include/uapi/linux/elf.h' line='317' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='sh_type' type-id='type-id-5917' visibility='default' filepath='include/uapi/linux/elf.h' line='318' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='sh_flags' type-id='type-id-5918' visibility='default' filepath='include/uapi/linux/elf.h' line='319' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='sh_addr' type-id='type-id-5919' visibility='default' filepath='include/uapi/linux/elf.h' line='320' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='sh_offset' type-id='type-id-5920' visibility='default' filepath='include/uapi/linux/elf.h' line='321' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='sh_size' type-id='type-id-5918' visibility='default' filepath='include/uapi/linux/elf.h' line='322' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='sh_link' type-id='type-id-5917' visibility='default' filepath='include/uapi/linux/elf.h' line='323' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='sh_info' type-id='type-id-5917' visibility='default' filepath='include/uapi/linux/elf.h' line='324' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='sh_addralign' type-id='type-id-5918' visibility='default' filepath='include/uapi/linux/elf.h' line='325' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='sh_entsize' type-id='type-id-5918' visibility='default' filepath='include/uapi/linux/elf.h' line='326' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='Elf64_Word' type-id='type-id-266' filepath='include/uapi/linux/elf.h' line='21' column='1' id='type-id-5917'/>
+      <typedef-decl name='Elf64_Xword' type-id='type-id-1120' filepath='include/uapi/linux/elf.h' line='22' column='1' id='type-id-5918'/>
+      <typedef-decl name='Elf64_Addr' type-id='type-id-1120' filepath='include/uapi/linux/elf.h' line='16' column='1' id='type-id-5919'/>
+      <typedef-decl name='Elf64_Off' type-id='type-id-1120' filepath='include/uapi/linux/elf.h' line='19' column='1' id='type-id-5920'/>
+      <class-decl name='plt_entry' size-in-bits='128' is-struct='yes' visibility='default' filepath='arch/arm64/include/asm/module.h' line='50' column='1' id='type-id-5921'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mov0' type-id='type-id-3462' visibility='default' filepath='arch/arm64/include/asm/module.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='mov1' type-id='type-id-3462' visibility='default' filepath='arch/arm64/include/asm/module.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='mov2' type-id='type-id-3462' visibility='default' filepath='arch/arm64/include/asm/module.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='br' type-id='type-id-3462' visibility='default' filepath='arch/arm64/include/asm/module.h' line='62' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='__le32' type-id='type-id-266' filepath='include/uapi/linux/types.h' line='31' column='1' id='type-id-3462'/>
+      <class-decl name='bug_entry' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/asm-generic/bug.h' line='23' column='1' id='type-id-5922'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bug_addr_disp' type-id='type-id-11' visibility='default' filepath='include/asm-generic/bug.h' line='27' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='file_disp' type-id='type-id-11' visibility='default' filepath='include/asm-generic/bug.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='line' type-id='type-id-288' visibility='default' filepath='include/asm-generic/bug.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='80'>
+          <var-decl name='flags' type-id='type-id-288' visibility='default' filepath='include/asm-generic/bug.h' line='37' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='mod_kallsyms' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/module.h' line='316' column='1' id='type-id-4940'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='symtab' type-id='type-id-5923' visibility='default' filepath='include/linux/module.h' line='317' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='num_symtab' type-id='type-id-10' visibility='default' filepath='include/linux/module.h' line='318' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='strtab' type-id='type-id-300' visibility='default' filepath='include/linux/module.h' line='319' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='Elf64_Sym' type-id='type-id-5924' filepath='include/uapi/linux/elf.h' line='199' column='1' id='type-id-5925'/>
+      <class-decl name='elf64_sym' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/uapi/linux/elf.h' line='192' column='1' id='type-id-5924'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='st_name' type-id='type-id-5917' visibility='default' filepath='include/uapi/linux/elf.h' line='193' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='st_info' type-id='type-id-271' visibility='default' filepath='include/uapi/linux/elf.h' line='194' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='40'>
+          <var-decl name='st_other' type-id='type-id-271' visibility='default' filepath='include/uapi/linux/elf.h' line='195' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='st_shndx' type-id='type-id-5926' visibility='default' filepath='include/uapi/linux/elf.h' line='196' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='st_value' type-id='type-id-5919' visibility='default' filepath='include/uapi/linux/elf.h' line='197' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='st_size' type-id='type-id-5918' visibility='default' filepath='include/uapi/linux/elf.h' line='198' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='Elf64_Half' type-id='type-id-1107' filepath='include/uapi/linux/elf.h' line='17' column='1' id='type-id-5926'/>
+      <typedef-decl name='tracepoint_ptr_t' type-id='type-id-5927' filepath='include/linux/tracepoint-defs.h' line='41' column='1' id='type-id-5928'/>
+      <class-decl name='trace_eval_map' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/tracepoint.h' line='29' column='1' id='type-id-5929'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='system' type-id='type-id-24' visibility='default' filepath='include/linux/tracepoint.h' line='30' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='eval_string' type-id='type-id-24' visibility='default' filepath='include/linux/tracepoint.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='eval_value' type-id='type-id-100' visibility='default' filepath='include/linux/tracepoint.h' line='32' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='perf_cpu_context' size-in-bits='3072' is-struct='yes' visibility='default' filepath='include/linux/perf_event.h' line='787' column='1' id='type-id-5930'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ctx' type-id='type-id-5768' visibility='default' filepath='include/linux/perf_event.h' line='788' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='task_ctx' type-id='type-id-4799' visibility='default' filepath='include/linux/perf_event.h' line='789' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='active_oncpu' type-id='type-id-11' visibility='default' filepath='include/linux/perf_event.h' line='790' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2144'>
+          <var-decl name='exclusive' type-id='type-id-11' visibility='default' filepath='include/linux/perf_event.h' line='791' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='hrtimer_lock' type-id='type-id-5119' visibility='default' filepath='include/linux/perf_event.h' line='793' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='hrtimer' type-id='type-id-2120' visibility='default' filepath='include/linux/perf_event.h' line='794' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2752'>
+          <var-decl name='hrtimer_interval' type-id='type-id-585' visibility='default' filepath='include/linux/perf_event.h' line='795' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2816'>
+          <var-decl name='hrtimer_active' type-id='type-id-10' visibility='default' filepath='include/linux/perf_event.h' line='796' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2880'>
+          <var-decl name='sched_cb_entry' type-id='type-id-8' visibility='default' filepath='include/linux/perf_event.h' line='803' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3008'>
+          <var-decl name='sched_cb_usage' type-id='type-id-11' visibility='default' filepath='include/linux/perf_event.h' line='804' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3040'>
+          <var-decl name='online' type-id='type-id-11' visibility='default' filepath='include/linux/perf_event.h' line='806' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='perf_event_state' filepath='include/linux/perf_event.h' line='506' column='1' id='type-id-4903'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='PERF_EVENT_STATE_DEAD' value='-4'/>
+        <enumerator name='PERF_EVENT_STATE_EXIT' value='-3'/>
+        <enumerator name='PERF_EVENT_STATE_ERROR' value='-2'/>
+        <enumerator name='PERF_EVENT_STATE_OFF' value='-1'/>
+        <enumerator name='PERF_EVENT_STATE_INACTIVE' value='0'/>
+        <enumerator name='PERF_EVENT_STATE_ACTIVE' value='1'/>
+      </enum-decl>
+      <typedef-decl name='local64_t' type-id='type-id-5931' filepath='include/asm-generic/local64.h' line='26' column='1' id='type-id-4904'/>
+      <class-decl name='__anonymous_struct__50' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-4904' visibility='default' filepath='include/asm-generic/local64.h' line='24' column='1' id='type-id-5931'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='a' type-id='type-id-5932' visibility='default' filepath='include/asm-generic/local64.h' line='25' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='local_t' type-id='type-id-5933' filepath='include/asm-generic/local.h' line='25' column='1' id='type-id-5932'/>
+      <class-decl name='__anonymous_struct__51' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-5932' visibility='default' filepath='include/asm-generic/local.h' line='22' column='1' id='type-id-5933'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='a' type-id='type-id-138' visibility='default' filepath='include/asm-generic/local.h' line='24' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='perf_event_attr' size-in-bits='896' is-struct='yes' visibility='default' filepath='include/uapi/linux/perf_event.h' line='310' column='1' id='type-id-172'>
+
+          <member-type access='public'>
+            <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/perf_event.h' line='377' column='1' id='type-id-5934'>
+              <data-member access='private'>
+                <var-decl name='wakeup_events' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/perf_event.h' line='378' column='1'/>
+              </data-member>
+              <data-member access='private'>
+                <var-decl name='wakeup_watermark' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/perf_event.h' line='379' column='1'/>
+              </data-member>
+            </union-decl>
+          </member-type>
+
+          <member-type access='public'>
+            <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/perf_event.h' line='383' column='1' id='type-id-5935'>
+              <data-member access='private'>
+                <var-decl name='bp_addr' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='384' column='1'/>
+              </data-member>
+              <data-member access='private'>
+                <var-decl name='kprobe_func' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='385' column='1'/>
+              </data-member>
+              <data-member access='private'>
+                <var-decl name='uprobe_path' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='386' column='1'/>
+              </data-member>
+              <data-member access='private'>
+                <var-decl name='config1' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='387' column='1'/>
+              </data-member>
+            </union-decl>
+          </member-type>
+
+          <member-type access='public'>
+            <union-decl name='__anonymous_union__2' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/perf_event.h' line='389' column='1' id='type-id-5936'>
+              <data-member access='private'>
+                <var-decl name='bp_len' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='390' column='1'/>
+              </data-member>
+              <data-member access='private'>
+                <var-decl name='kprobe_addr' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='391' column='1'/>
+              </data-member>
+              <data-member access='private'>
+                <var-decl name='probe_offset' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='392' column='1'/>
+              </data-member>
+              <data-member access='private'>
+                <var-decl name='config2' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='393' column='1'/>
+              </data-member>
+            </union-decl>
+          </member-type>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/perf_event.h' line='315' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='size' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/perf_event.h' line='320' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='config' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='325' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='' type-id='type-id-5937' visibility='default' filepath='include/uapi/linux/perf_event.h' line='327' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='sample_type' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='332' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='read_format' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='333' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='63'>
+          <var-decl name='disabled' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='335' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='62'>
+          <var-decl name='inherit' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='336' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='61'>
+          <var-decl name='pinned' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='337' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='60'>
+          <var-decl name='exclusive' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='338' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='59'>
+          <var-decl name='exclude_user' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='339' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='58'>
+          <var-decl name='exclude_kernel' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='340' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='57'>
+          <var-decl name='exclude_hv' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='341' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='56'>
+          <var-decl name='exclude_idle' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='342' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='55'>
+          <var-decl name='mmap' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='343' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='54'>
+          <var-decl name='comm' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='344' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='53'>
+          <var-decl name='freq' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='345' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='52'>
+          <var-decl name='inherit_stat' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='346' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='51'>
+          <var-decl name='enable_on_exec' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='347' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='50'>
+          <var-decl name='task' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='348' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='49'>
+          <var-decl name='watermark' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='349' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='47'>
+          <var-decl name='precise_ip' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='360' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='46'>
+          <var-decl name='mmap_data' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='361' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='45'>
+          <var-decl name='sample_id_all' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='362' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='44'>
+          <var-decl name='exclude_host' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='364' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='43'>
+          <var-decl name='exclude_guest' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='365' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='42'>
+          <var-decl name='exclude_callchain_kernel' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='367' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='41'>
+          <var-decl name='exclude_callchain_user' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='368' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='40'>
+          <var-decl name='mmap2' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='369' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='39'>
+          <var-decl name='comm_exec' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='370' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='38'>
+          <var-decl name='use_clockid' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='371' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='37'>
+          <var-decl name='context_switch' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='372' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='36'>
+          <var-decl name='write_backward' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='373' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='35'>
+          <var-decl name='namespaces' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='374' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='__reserved_1' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='375' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='bp_type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/perf_event.h' line='382' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='branch_sample_type' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='395' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='sample_regs_user' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='401' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='sample_stack_user' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/perf_event.h' line='406' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='736'>
+          <var-decl name='clockid' type-id='type-id-2310' visibility='default' filepath='include/uapi/linux/perf_event.h' line='408' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='sample_regs_intr' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='417' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='aux_watermark' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/perf_event.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='864'>
+          <var-decl name='sample_max_stack' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/perf_event.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='880'>
+          <var-decl name='__reserved_2' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/perf_event.h' line='424' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__35' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/perf_event.h' line='327' column='1' id='type-id-5937'>
+        <data-member access='private'>
+          <var-decl name='sample_period' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='328' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='sample_freq' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='329' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='hw_perf_event' size-in-bits='1536' is-struct='yes' visibility='default' filepath='include/linux/perf_event.h' line='121' column='1' id='type-id-4905'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='' type-id='type-id-5938' visibility='default' filepath='include/linux/perf_event.h' line='123' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='target' type-id='type-id-118' visibility='default' filepath='include/linux/perf_event.h' line='171' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='addr_filters' type-id='type-id-3' visibility='default' filepath='include/linux/perf_event.h' line='177' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='addr_filters_gen' type-id='type-id-100' visibility='default' filepath='include/linux/perf_event.h' line='180' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='state' type-id='type-id-11' visibility='default' filepath='include/linux/perf_event.h' line='189' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='prev_count' type-id='type-id-4904' visibility='default' filepath='include/linux/perf_event.h' line='195' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='sample_period' type-id='type-id-134' visibility='default' filepath='include/linux/perf_event.h' line='200' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='last_period' type-id='type-id-134' visibility='default' filepath='include/linux/perf_event.h' line='205' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='period_left' type-id='type-id-4904' visibility='default' filepath='include/linux/perf_event.h' line='212' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='interrupts_seq' type-id='type-id-134' visibility='default' filepath='include/linux/perf_event.h' line='218' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='interrupts' type-id='type-id-134' visibility='default' filepath='include/linux/perf_event.h' line='219' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='freq_time_stamp' type-id='type-id-134' visibility='default' filepath='include/linux/perf_event.h' line='225' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='freq_count_stamp' type-id='type-id-134' visibility='default' filepath='include/linux/perf_event.h' line='226' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__36' size-in-bits='768' is-anonymous='yes' visibility='default' filepath='include/linux/perf_event.h' line='123' column='1' id='type-id-5938'>
+        <member-type access='private'>
+          <class-decl name='__anonymous_struct__' size-in-bits='512' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/perf_event.h' line='137' column='1' id='type-id-5939'>
+            <data-member access='public' layout-offset-in-bits='0'>
+              <var-decl name='hrtimer' type-id='type-id-2120' visibility='default' filepath='include/linux/perf_event.h' line='138' column='1'/>
+            </data-member>
+          </class-decl>
+        </member-type>
+        <member-type access='private'>
+          <class-decl name='__anonymous_struct__1' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/perf_event.h' line='140' column='1' id='type-id-5940'>
+            <data-member access='public' layout-offset-in-bits='0'>
+              <var-decl name='tp_list' type-id='type-id-8' visibility='default' filepath='include/linux/perf_event.h' line='142' column='1'/>
+            </data-member>
+          </class-decl>
+        </member-type>
+        <member-type access='private'>
+          <class-decl name='__anonymous_struct__2' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/perf_event.h' line='144' column='1' id='type-id-5941'>
+            <data-member access='public' layout-offset-in-bits='0'>
+              <var-decl name='pwr_acc' type-id='type-id-134' visibility='default' filepath='include/linux/perf_event.h' line='145' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='64'>
+              <var-decl name='ptsc' type-id='type-id-134' visibility='default' filepath='include/linux/perf_event.h' line='146' column='1'/>
+            </data-member>
+          </class-decl>
+        </member-type>
+        <member-type access='private'>
+          <class-decl name='__anonymous_struct__3' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/perf_event.h' line='149' column='1' id='type-id-5942'>
+            <data-member access='public' layout-offset-in-bits='0'>
+              <var-decl name='info' type-id='type-id-5943' visibility='default' filepath='include/linux/perf_event.h' line='155' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='192'>
+              <var-decl name='bp_list' type-id='type-id-8' visibility='default' filepath='include/linux/perf_event.h' line='156' column='1'/>
+            </data-member>
+          </class-decl>
+        </member-type>
+        <member-type access='private'>
+          <class-decl name='__anonymous_struct__4' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/perf_event.h' line='159' column='1' id='type-id-5944'>
+            <data-member access='public' layout-offset-in-bits='0'>
+              <var-decl name='iommu_bank' type-id='type-id-53' visibility='default' filepath='include/linux/perf_event.h' line='160' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='8'>
+              <var-decl name='iommu_cntr' type-id='type-id-53' visibility='default' filepath='include/linux/perf_event.h' line='161' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='16'>
+              <var-decl name='padding' type-id='type-id-289' visibility='default' filepath='include/linux/perf_event.h' line='162' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='64'>
+              <var-decl name='conf' type-id='type-id-134' visibility='default' filepath='include/linux/perf_event.h' line='163' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='128'>
+              <var-decl name='conf1' type-id='type-id-134' visibility='default' filepath='include/linux/perf_event.h' line='164' column='1'/>
+            </data-member>
+          </class-decl>
+        </member-type>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-5945' visibility='default' filepath='include/linux/perf_event.h' line='124' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__52' size-in-bits='768' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/perf_event.h' line='124' column='1' id='type-id-5945'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='config' type-id='type-id-134' visibility='default' filepath='include/linux/perf_event.h' line='125' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='last_tag' type-id='type-id-134' visibility='default' filepath='include/linux/perf_event.h' line='126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='config_base' type-id='type-id-100' visibility='default' filepath='include/linux/perf_event.h' line='127' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='event_base' type-id='type-id-100' visibility='default' filepath='include/linux/perf_event.h' line='128' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='event_base_rdpmc' type-id='type-id-11' visibility='default' filepath='include/linux/perf_event.h' line='129' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='idx' type-id='type-id-11' visibility='default' filepath='include/linux/perf_event.h' line='130' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='last_cpu' type-id='type-id-11' visibility='default' filepath='include/linux/perf_event.h' line='131' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='flags' type-id='type-id-11' visibility='default' filepath='include/linux/perf_event.h' line='132' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='extra_reg' type-id='type-id-5946' visibility='default' filepath='include/linux/perf_event.h' line='134' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='branch_reg' type-id='type-id-5946' visibility='default' filepath='include/linux/perf_event.h' line='135' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='hw_perf_event_extra' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/perf_event.h' line='111' column='1' id='type-id-5946'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='config' type-id='type-id-134' visibility='default' filepath='include/linux/perf_event.h' line='112' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='reg' type-id='type-id-10' visibility='default' filepath='include/linux/perf_event.h' line='113' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='alloc' type-id='type-id-11' visibility='default' filepath='include/linux/perf_event.h' line='114' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='idx' type-id='type-id-11' visibility='default' filepath='include/linux/perf_event.h' line='115' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='arch_hw_breakpoint' size-in-bits='192' is-struct='yes' visibility='default' filepath='arch/arm64/include/asm/hw_breakpoint.h' line='34' column='1' id='type-id-5943'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='address' type-id='type-id-134' visibility='default' filepath='arch/arm64/include/asm/hw_breakpoint.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='trigger' type-id='type-id-134' visibility='default' filepath='arch/arm64/include/asm/hw_breakpoint.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='ctrl' type-id='type-id-5947' visibility='default' filepath='arch/arm64/include/asm/hw_breakpoint.h' line='37' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='arch_hw_breakpoint_ctrl' size-in-bits='32' is-struct='yes' visibility='default' filepath='arch/arm64/include/asm/hw_breakpoint.h' line='26' column='1' id='type-id-5947'>
+        <data-member access='public' layout-offset-in-bits='13'>
+          <var-decl name='__reserved' type-id='type-id-9' visibility='default' filepath='arch/arm64/include/asm/hw_breakpoint.h' line='27' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5'>
+          <var-decl name='len' type-id='type-id-9' visibility='default' filepath='arch/arm64/include/asm/hw_breakpoint.h' line='28' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3'>
+          <var-decl name='type' type-id='type-id-9' visibility='default' filepath='arch/arm64/include/asm/hw_breakpoint.h' line='29' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1'>
+          <var-decl name='privilege' type-id='type-id-9' visibility='default' filepath='arch/arm64/include/asm/hw_breakpoint.h' line='30' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='enabled' type-id='type-id-9' visibility='default' filepath='arch/arm64/include/asm/hw_breakpoint.h' line='31' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='irq_work' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/irq_work.h' line='24' column='1' id='type-id-4906'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/irq_work.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='llnode' type-id='type-id-1327' visibility='default' filepath='include/linux/irq_work.h' line='26' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='func' type-id='type-id-5948' visibility='default' filepath='include/linux/irq_work.h' line='27' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='perf_addr_filters_head' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/perf_event.h' line='492' column='1' id='type-id-4907'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/perf_event.h' line='493' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='lock' type-id='type-id-5119' visibility='default' filepath='include/linux/perf_event.h' line='494' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='nr_file_filters' type-id='type-id-10' visibility='default' filepath='include/linux/perf_event.h' line='495' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='perf_addr_filter_range' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/perf_event.h' line='498' column='1' id='type-id-5949'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='start' type-id='type-id-100' visibility='default' filepath='include/linux/perf_event.h' line='499' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='size' type-id='type-id-100' visibility='default' filepath='include/linux/perf_event.h' line='500' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='perf_overflow_handler_t' type-id='type-id-175' filepath='include/linux/perf_event.h' line='518' column='1' id='type-id-4912'/>
+      <class-decl name='perf_sample_data' size-in-bits='4096' is-struct='yes' visibility='default' filepath='include/linux/perf_event.h' line='911' column='1' id='type-id-5950'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='addr' type-id='type-id-134' visibility='default' filepath='include/linux/perf_event.h' line='916' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='raw' type-id='type-id-5951' visibility='default' filepath='include/linux/perf_event.h' line='917' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='br_stack' type-id='type-id-5952' visibility='default' filepath='include/linux/perf_event.h' line='918' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='period' type-id='type-id-134' visibility='default' filepath='include/linux/perf_event.h' line='919' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='weight' type-id='type-id-134' visibility='default' filepath='include/linux/perf_event.h' line='920' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='txn' type-id='type-id-134' visibility='default' filepath='include/linux/perf_event.h' line='921' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='data_src' type-id='type-id-5953' visibility='default' filepath='include/linux/perf_event.h' line='922' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='type' type-id='type-id-134' visibility='default' filepath='include/linux/perf_event.h' line='928' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='ip' type-id='type-id-134' visibility='default' filepath='include/linux/perf_event.h' line='929' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='tid_entry' type-id='type-id-5954' visibility='default' filepath='include/linux/perf_event.h' line='933' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='time' type-id='type-id-134' visibility='default' filepath='include/linux/perf_event.h' line='934' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='id' type-id='type-id-134' visibility='default' filepath='include/linux/perf_event.h' line='935' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='stream_id' type-id='type-id-134' visibility='default' filepath='include/linux/perf_event.h' line='936' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='cpu_entry' type-id='type-id-5955' visibility='default' filepath='include/linux/perf_event.h' line='940' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='callchain' type-id='type-id-5956' visibility='default' filepath='include/linux/perf_event.h' line='941' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='regs_user' type-id='type-id-5957' visibility='default' filepath='include/linux/perf_event.h' line='947' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='regs_user_copy' type-id='type-id-5720' visibility='default' filepath='include/linux/perf_event.h' line='948' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3648'>
+          <var-decl name='regs_intr' type-id='type-id-5957' visibility='default' filepath='include/linux/perf_event.h' line='950' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3776'>
+          <var-decl name='stack_user_size' type-id='type-id-134' visibility='default' filepath='include/linux/perf_event.h' line='951' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3840'>
+          <var-decl name='phys_addr' type-id='type-id-134' visibility='default' filepath='include/linux/perf_event.h' line='953' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='perf_raw_record' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/perf_event.h' line='87' column='1' id='type-id-5958'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='frag' type-id='type-id-5959' visibility='default' filepath='include/linux/perf_event.h' line='88' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='size' type-id='type-id-9' visibility='default' filepath='include/linux/perf_event.h' line='89' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='perf_raw_frag' size-in-bits='224' is-struct='yes' visibility='default' filepath='include/linux/perf_event.h' line='77' column='1' id='type-id-5959'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='' type-id='type-id-5960' visibility='default' filepath='include/linux/perf_event.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='copy' type-id='type-id-5961' visibility='default' filepath='include/linux/perf_event.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='data' type-id='type-id-3' visibility='default' filepath='include/linux/perf_event.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='size' type-id='type-id-9' visibility='default' filepath='include/linux/perf_event.h' line='84' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__37' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/perf_event.h' line='78' column='1' id='type-id-5960'>
+        <data-member access='private'>
+          <var-decl name='next' type-id='type-id-5962' visibility='default' filepath='include/linux/perf_event.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='pad' type-id='type-id-100' visibility='default' filepath='include/linux/perf_event.h' line='80' column='1'/>
+        </data-member>
+      </union-decl>
+      <typedef-decl name='perf_copy_f' type-id='type-id-5963' filepath='include/linux/perf_event.h' line='74' column='1' id='type-id-5961'/>
+      <class-decl name='perf_branch_stack' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/perf_event.h' line='101' column='1' id='type-id-5964'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='nr' type-id='type-id-1120' visibility='default' filepath='include/linux/perf_event.h' line='102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='entries' type-id='type-id-4797' visibility='default' filepath='include/linux/perf_event.h' line='103' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='perf_branch_entry' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1118' column='1' id='type-id-4796'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='from' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1119' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='to' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1120' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='63'>
+          <var-decl name='mispred' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1121' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='62'>
+          <var-decl name='predicted' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1122' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='61'>
+          <var-decl name='in_tx' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1123' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='60'>
+          <var-decl name='abort' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1124' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='44'>
+          <var-decl name='cycles' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1125' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='40'>
+          <var-decl name='type' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='reserved' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1127' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='perf_mem_data_src' size-in-bits='64' visibility='default' filepath='include/uapi/linux/perf_event.h' line='998' column='1' id='type-id-5953'>
+        <data-member access='private'>
+          <var-decl name='val' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='999' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-5965' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1000' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__53' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1000' column='1' id='type-id-5965'>
+        <data-member access='public' layout-offset-in-bits='59'>
+          <var-decl name='mem_op' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1001' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='45'>
+          <var-decl name='mem_lvl' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1002' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='40'>
+          <var-decl name='mem_snoop' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1003' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='38'>
+          <var-decl name='mem_lock' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1004' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='mem_dtlb' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1005' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='27'>
+          <var-decl name='mem_lvl_num' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1006' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='26'>
+          <var-decl name='mem_remote' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1007' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='mem_snoopx' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1008' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mem_rsvd' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1009' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__54' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/perf_event.h' line='930' column='1' id='type-id-5954'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='pid' type-id='type-id-9' visibility='default' filepath='include/linux/perf_event.h' line='931' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='tid' type-id='type-id-9' visibility='default' filepath='include/linux/perf_event.h' line='932' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__55' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/perf_event.h' line='937' column='1' id='type-id-5955'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cpu' type-id='type-id-9' visibility='default' filepath='include/linux/perf_event.h' line='938' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='reserved' type-id='type-id-9' visibility='default' filepath='include/linux/perf_event.h' line='939' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='perf_callchain_entry' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/perf_event.h' line='61' column='1' id='type-id-5966'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='nr' type-id='type-id-1120' visibility='default' filepath='include/linux/perf_event.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ip' type-id='type-id-4627' visibility='default' filepath='include/linux/perf_event.h' line='63' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='perf_regs' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/perf_regs.h' line='7' column='1' id='type-id-5957'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='abi' type-id='type-id-1120' visibility='default' filepath='include/linux/perf_regs.h' line='8' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='regs' type-id='type-id-5702' visibility='default' filepath='include/linux/perf_regs.h' line='9' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='event_trigger_type' filepath='include/linux/trace_events.h' line='421' column='1' id='type-id-5967'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='ETT_NONE' value='0'/>
+        <enumerator name='ETT_TRACE_ONOFF' value='1'/>
+        <enumerator name='ETT_SNAPSHOT' value='2'/>
+        <enumerator name='ETT_STACKTRACE' value='4'/>
+        <enumerator name='ETT_EVENT_ENABLE' value='8'/>
+        <enumerator name='ETT_EVENT_HIST' value='16'/>
+        <enumerator name='ETT_HIST_ENABLE' value='32'/>
+      </enum-decl>
+      <pointer-type-def type-id='type-id-5925' size-in-bits='64' id='type-id-5923'/>
+      <pointer-type-def type-id='type-id-5758' size-in-bits='64' id='type-id-5756'/>
+      <pointer-type-def type-id='type-id-5755' size-in-bits='64' id='type-id-5753'/>
+      <pointer-type-def type-id='type-id-5034' size-in-bits='64' id='type-id-5008'/>
+      <pointer-type-def type-id='type-id-5189' size-in-bits='64' id='type-id-5185'/>
+      <pointer-type-def type-id='type-id-4663' size-in-bits='64' id='type-id-5645'/>
+      <pointer-type-def type-id='type-id-138' size-in-bits='64' id='type-id-5838'/>
+      <pointer-type-def type-id='type-id-858' size-in-bits='64' id='type-id-1013'/>
+      <pointer-type-def type-id='type-id-1013' size-in-bits='64' id='type-id-1026'/>
+      <pointer-type-def type-id='type-id-4664' size-in-bits='64' id='type-id-5143'/>
+      <pointer-type-def type-id='type-id-4665' size-in-bits='64' id='type-id-5742'/>
+      <pointer-type-def type-id='type-id-5115' size-in-bits='64' id='type-id-5078'/>
+      <pointer-type-def type-id='type-id-3084' size-in-bits='64' id='type-id-5346'/>
+      <pointer-type-def type-id='type-id-5110' size-in-bits='64' id='type-id-5032'/>
+      <pointer-type-def type-id='type-id-5784' size-in-bits='64' id='type-id-4571'/>
+      <pointer-type-def type-id='type-id-5281' size-in-bits='64' id='type-id-273'/>
+      <pointer-type-def type-id='type-id-273' size-in-bits='64' id='type-id-5280'/>
+      <pointer-type-def type-id='type-id-2159' size-in-bits='64' id='type-id-265'/>
+      <pointer-type-def type-id='type-id-5450' size-in-bits='64' id='type-id-4454'/>
+      <pointer-type-def type-id='type-id-5399' size-in-bits='64' id='type-id-5393'/>
+      <pointer-type-def type-id='type-id-2152' size-in-bits='64' id='type-id-5147'/>
+      <pointer-type-def type-id='type-id-2153' size-in-bits='64' id='type-id-5397'/>
+      <pointer-type-def type-id='type-id-4642' size-in-bits='64' id='type-id-5396'/>
+      <pointer-type-def type-id='type-id-4666' size-in-bits='64' id='type-id-5377'/>
+      <pointer-type-def type-id='type-id-4667' size-in-bits='64' id='type-id-5968'/>
+      <pointer-type-def type-id='type-id-4668' size-in-bits='64' id='type-id-374'/>
+      <pointer-type-def type-id='type-id-4669' size-in-bits='64' id='type-id-5969'/>
+      <pointer-type-def type-id='type-id-5969' size-in-bits='64' id='type-id-5375'/>
+      <pointer-type-def type-id='type-id-4671' size-in-bits='64' id='type-id-5380'/>
+      <pointer-type-def type-id='type-id-5761' size-in-bits='64' id='type-id-5148'/>
+      <pointer-type-def type-id='type-id-4672' size-in-bits='64' id='type-id-5362'/>
+      <pointer-type-def type-id='type-id-5565' size-in-bits='64' id='type-id-3562'/>
+      <pointer-type-def type-id='type-id-4673' size-in-bits='64' id='type-id-444'/>
+      <pointer-type-def type-id='type-id-4674' size-in-bits='64' id='type-id-5376'/>
+      <pointer-type-def type-id='type-id-5258' size-in-bits='64' id='type-id-2158'/>
+      <pointer-type-def type-id='type-id-211' size-in-bits='64' id='type-id-763'/>
+      <pointer-type-def type-id='type-id-4675' size-in-bits='64' id='type-id-4913'/>
+      <pointer-type-def type-id='type-id-4676' size-in-bits='64' id='type-id-4645'/>
+      <pointer-type-def type-id='type-id-4677' size-in-bits='64' id='type-id-5970'/>
+      <pointer-type-def type-id='type-id-5568' size-in-bits='64' id='type-id-5378'/>
+      <pointer-type-def type-id='type-id-5922' size-in-bits='64' id='type-id-4938'/>
+      <pointer-type-def type-id='type-id-5285' size-in-bits='64' id='type-id-531'/>
+      <pointer-type-def type-id='type-id-157' size-in-bits='64' id='type-id-4987'/>
+      <pointer-type-def type-id='type-id-1036' size-in-bits='64' id='type-id-2346'/>
+      <pointer-type-def type-id='type-id-4678' size-in-bits='64' id='type-id-5167'/>
+      <pointer-type-def type-id='type-id-5434' size-in-bits='64' id='type-id-5433'/>
+      <pointer-type-def type-id='type-id-5407' size-in-bits='64' id='type-id-5405'/>
+      <pointer-type-def type-id='type-id-5677' size-in-bits='64' id='type-id-5672'/>
+      <pointer-type-def type-id='type-id-5414' size-in-bits='64' id='type-id-5409'/>
+      <pointer-type-def type-id='type-id-5415' size-in-bits='64' id='type-id-5410'/>
+      <pointer-type-def type-id='type-id-5423' size-in-bits='64' id='type-id-5406'/>
+      <pointer-type-def type-id='type-id-4576' size-in-bits='64' id='type-id-4648'/>
+      <pointer-type-def type-id='type-id-5971' size-in-bits='64' id='type-id-5424'/>
+      <pointer-type-def type-id='type-id-4679' size-in-bits='64' id='type-id-5972'/>
+      <pointer-type-def type-id='type-id-5973' size-in-bits='64' id='type-id-5832'/>
+      <pointer-type-def type-id='type-id-5974' size-in-bits='64' id='type-id-5330'/>
+      <pointer-type-def type-id='type-id-5975' size-in-bits='64' id='type-id-5276'/>
+      <pointer-type-def type-id='type-id-5976' size-in-bits='64' id='type-id-5341'/>
+      <pointer-type-def type-id='type-id-300' size-in-bits='64' id='type-id-257'/>
+      <pointer-type-def type-id='type-id-5329' size-in-bits='64' id='type-id-351'/>
+      <pointer-type-def type-id='type-id-4680' size-in-bits='64' id='type-id-5272'/>
+      <pointer-type-def type-id='type-id-5764' size-in-bits='64' id='type-id-5156'/>
+      <pointer-type-def type-id='type-id-5735' size-in-bits='64' id='type-id-5734'/>
+      <pointer-type-def type-id='type-id-661' size-in-bits='64' id='type-id-176'/>
+      <pointer-type-def type-id='type-id-5117' size-in-bits='64' id='type-id-5116'/>
+      <qualified-type-def type-id='type-id-5293' const='yes' id='type-id-5977'/>
+      <pointer-type-def type-id='type-id-5977' size-in-bits='64' id='type-id-5290'/>
+      <qualified-type-def type-id='type-id-5220' const='yes' id='type-id-5978'/>
+      <pointer-type-def type-id='type-id-5978' size-in-bits='64' id='type-id-5219'/>
+      <qualified-type-def type-id='type-id-1025' const='yes' id='type-id-5979'/>
+      <pointer-type-def type-id='type-id-5979' size-in-bits='64' id='type-id-88'/>
+      <pointer-type-def type-id='type-id-88' size-in-bits='64' id='type-id-298'/>
+      <qualified-type-def type-id='type-id-4642' const='yes' id='type-id-5980'/>
+      <pointer-type-def type-id='type-id-5980' size-in-bits='64' id='type-id-2207'/>
+      <qualified-type-def type-id='type-id-4451' const='yes' id='type-id-5981'/>
+      <pointer-type-def type-id='type-id-5981' size-in-bits='64' id='type-id-3668'/>
+      <qualified-type-def type-id='type-id-4670' const='yes' id='type-id-5982'/>
+      <pointer-type-def type-id='type-id-5982' size-in-bits='64' id='type-id-405'/>
+      <qualified-type-def type-id='type-id-5349' const='yes' id='type-id-5983'/>
+      <pointer-type-def type-id='type-id-5983' size-in-bits='64' id='type-id-5343'/>
+      <qualified-type-def type-id='type-id-5570' const='yes' id='type-id-5984'/>
+      <pointer-type-def type-id='type-id-5984' size-in-bits='64' id='type-id-5569'/>
+      <pointer-type-def type-id='type-id-5985' size-in-bits='64' id='type-id-5039'/>
+      <pointer-type-def type-id='type-id-5986' size-in-bits='64' id='type-id-5987'/>
+      <qualified-type-def type-id='type-id-5987' const='yes' id='type-id-4953'/>
+      <pointer-type-def type-id='type-id-5988' size-in-bits='64' id='type-id-5199'/>
+      <pointer-type-def type-id='type-id-24' size-in-bits='64' id='type-id-184'/>
+      <qualified-type-def type-id='type-id-4753' const='yes' id='type-id-5989'/>
+      <pointer-type-def type-id='type-id-5989' size-in-bits='64' id='type-id-162'/>
+      <qualified-type-def type-id='type-id-5626' const='yes' id='type-id-5990'/>
+      <pointer-type-def type-id='type-id-5990' size-in-bits='64' id='type-id-4498'/>
+      <qualified-type-def type-id='type-id-5012' const='yes' id='type-id-5991'/>
+      <pointer-type-def type-id='type-id-5991' size-in-bits='64' id='type-id-5992'/>
+      <qualified-type-def type-id='type-id-5824' const='yes' id='type-id-5993'/>
+      <pointer-type-def type-id='type-id-5993' size-in-bits='64' id='type-id-5016'/>
+      <qualified-type-def type-id='type-id-5284' const='yes' id='type-id-5994'/>
+      <pointer-type-def type-id='type-id-5994' size-in-bits='64' id='type-id-5277'/>
+      <qualified-type-def type-id='type-id-294' const='yes' id='type-id-5995'/>
+      <pointer-type-def type-id='type-id-5995' size-in-bits='64' id='type-id-512'/>
+      <qualified-type-def type-id='type-id-1023' const='yes' id='type-id-5996'/>
+      <pointer-type-def type-id='type-id-5996' size-in-bits='64' id='type-id-5264'/>
+      <qualified-type-def type-id='type-id-4686' const='yes' id='type-id-5997'/>
+      <pointer-type-def type-id='type-id-5997' size-in-bits='64' id='type-id-5269'/>
+      <qualified-type-def type-id='type-id-5795' const='yes' id='type-id-5998'/>
+      <pointer-type-def type-id='type-id-5998' size-in-bits='64' id='type-id-5069'/>
+      <qualified-type-def type-id='type-id-4690' const='yes' id='type-id-5999'/>
+      <pointer-type-def type-id='type-id-5999' size-in-bits='64' id='type-id-5071'/>
+      <qualified-type-def type-id='type-id-5002' const='yes' id='type-id-6000'/>
+      <pointer-type-def type-id='type-id-6000' size-in-bits='64' id='type-id-4997'/>
+      <qualified-type-def type-id='type-id-5875' const='yes' id='type-id-6001'/>
+      <pointer-type-def type-id='type-id-6001' size-in-bits='64' id='type-id-5866'/>
+      <qualified-type-def type-id='type-id-5844' const='yes' id='type-id-6002'/>
+      <pointer-type-def type-id='type-id-6002' size-in-bits='64' id='type-id-1209'/>
+      <qualified-type-def type-id='type-id-4694' const='yes' id='type-id-6003'/>
+      <pointer-type-def type-id='type-id-6003' size-in-bits='64' id='type-id-5073'/>
+      <qualified-type-def type-id='type-id-4697' const='yes' id='type-id-6004'/>
+      <pointer-type-def type-id='type-id-6004' size-in-bits='64' id='type-id-5075'/>
+      <qualified-type-def type-id='type-id-5310' const='yes' id='type-id-6005'/>
+      <pointer-type-def type-id='type-id-6005' size-in-bits='64' id='type-id-624'/>
+      <qualified-type-def type-id='type-id-5312' const='yes' id='type-id-6006'/>
+      <pointer-type-def type-id='type-id-6006' size-in-bits='64' id='type-id-5311'/>
+      <qualified-type-def type-id='type-id-5024' const='yes' id='type-id-6007'/>
+      <pointer-type-def type-id='type-id-6007' size-in-bits='64' id='type-id-6008'/>
+      <qualified-type-def type-id='type-id-5037' const='yes' id='type-id-6009'/>
+      <pointer-type-def type-id='type-id-6009' size-in-bits='64' id='type-id-5028'/>
+      <qualified-type-def type-id='type-id-4701' const='yes' id='type-id-6010'/>
+      <pointer-type-def type-id='type-id-6010' size-in-bits='64' id='type-id-200'/>
+      <qualified-type-def type-id='type-id-5246' const='yes' id='type-id-6011'/>
+      <pointer-type-def type-id='type-id-6011' size-in-bits='64' id='type-id-2205'/>
+      <qualified-type-def type-id='type-id-5902' const='yes' id='type-id-6012'/>
+      <pointer-type-def type-id='type-id-6012' size-in-bits='64' id='type-id-6013'/>
+      <qualified-type-def type-id='type-id-5905' const='yes' id='type-id-6014'/>
+      <pointer-type-def type-id='type-id-6014' size-in-bits='64' id='type-id-5903'/>
+      <qualified-type-def type-id='type-id-5901' const='yes' id='type-id-6015'/>
+      <pointer-type-def type-id='type-id-6015' size-in-bits='64' id='type-id-4932'/>
+      <qualified-type-def type-id='type-id-5444' const='yes' id='type-id-6016'/>
+      <pointer-type-def type-id='type-id-6016' size-in-bits='64' id='type-id-5893'/>
+      <qualified-type-def type-id='type-id-5060' const='yes' id='type-id-6017'/>
+      <pointer-type-def type-id='type-id-6017' size-in-bits='64' id='type-id-6018'/>
+      <qualified-type-def type-id='type-id-4706' const='yes' id='type-id-6019'/>
+      <pointer-type-def type-id='type-id-6019' size-in-bits='64' id='type-id-6020'/>
+      <qualified-type-def type-id='type-id-4964' const='yes' id='type-id-6021'/>
+      <pointer-type-def type-id='type-id-6021' size-in-bits='64' id='type-id-5332'/>
+      <pointer-type-def type-id='type-id-6022' size-in-bits='64' id='type-id-4959'/>
+      <qualified-type-def type-id='type-id-5909' const='yes' id='type-id-6023'/>
+      <pointer-type-def type-id='type-id-6023' size-in-bits='64' id='type-id-6024'/>
+      <qualified-type-def type-id='type-id-5908' const='yes' id='type-id-6025'/>
+      <pointer-type-def type-id='type-id-6025' size-in-bits='64' id='type-id-6026'/>
+      <qualified-type-def type-id='type-id-4951' const='yes' id='type-id-6027'/>
+      <pointer-type-def type-id='type-id-6027' size-in-bits='64' id='type-id-4950'/>
+      <qualified-type-def type-id='type-id-5247' const='yes' id='type-id-6028'/>
+      <pointer-type-def type-id='type-id-6028' size-in-bits='64' id='type-id-2206'/>
+      <qualified-type-def type-id='type-id-5878' const='yes' id='type-id-6029'/>
+      <pointer-type-def type-id='type-id-6029' size-in-bits='64' id='type-id-5867'/>
+      <qualified-type-def type-id='type-id-5292' const='yes' id='type-id-6030'/>
+      <pointer-type-def type-id='type-id-6030' size-in-bits='64' id='type-id-3123'/>
+      <qualified-type-def type-id='type-id-5216' const='yes' id='type-id-6031'/>
+      <pointer-type-def type-id='type-id-6031' size-in-bits='64' id='type-id-6032'/>
+      <qualified-type-def type-id='type-id-5004' const='yes' id='type-id-6033'/>
+      <pointer-type-def type-id='type-id-6033' size-in-bits='64' id='type-id-4497'/>
+      <qualified-type-def type-id='type-id-4724' const='yes' id='type-id-6034'/>
+      <pointer-type-def type-id='type-id-6034' size-in-bits='64' id='type-id-5359'/>
+      <qualified-type-def type-id='type-id-5661' const='yes' id='type-id-6035'/>
+      <pointer-type-def type-id='type-id-6035' size-in-bits='64' id='type-id-5660'/>
+      <qualified-type-def type-id='type-id-5014' const='yes' id='type-id-6036'/>
+      <pointer-type-def type-id='type-id-6036' size-in-bits='64' id='type-id-6037'/>
+      <qualified-type-def type-id='type-id-5819' const='yes' id='type-id-6038'/>
+      <pointer-type-def type-id='type-id-6038' size-in-bits='64' id='type-id-4749'/>
+      <qualified-type-def type-id='type-id-5803' const='yes' id='type-id-6039'/>
+      <pointer-type-def type-id='type-id-6039' size-in-bits='64' id='type-id-5070'/>
+      <qualified-type-def type-id='type-id-939' const='yes' id='type-id-6040'/>
+      <pointer-type-def type-id='type-id-6040' size-in-bits='64' id='type-id-4933'/>
+      <qualified-type-def type-id='type-id-4731' const='yes' id='type-id-6041'/>
+      <pointer-type-def type-id='type-id-6041' size-in-bits='64' id='type-id-5122'/>
+      <qualified-type-def type-id='type-id-4998' const='yes' id='type-id-6042'/>
+      <pointer-type-def type-id='type-id-6042' size-in-bits='64' id='type-id-4522'/>
+      <qualified-type-def type-id='type-id-5703' const='yes' id='type-id-6043'/>
+      <pointer-type-def type-id='type-id-6043' size-in-bits='64' id='type-id-5701'/>
+      <qualified-type-def type-id='type-id-5089' const='yes' id='type-id-6044'/>
+      <pointer-type-def type-id='type-id-6044' size-in-bits='64' id='type-id-5068'/>
+      <qualified-type-def type-id='type-id-4962' const='yes' id='type-id-6045'/>
+      <pointer-type-def type-id='type-id-6045' size-in-bits='64' id='type-id-4958'/>
+      <qualified-type-def type-id='type-id-289' const='yes' id='type-id-566'/>
+      <qualified-type-def type-id='type-id-271' const='yes' id='type-id-6046'/>
+      <pointer-type-def type-id='type-id-6046' size-in-bits='64' id='type-id-984'/>
+      <qualified-type-def type-id='type-id-10' const='yes' id='type-id-1030'/>
+      <qualified-type-def type-id='type-id-100' const='yes' id='type-id-5586'/>
+      <pointer-type-def type-id='type-id-5586' size-in-bits='64' id='type-id-119'/>
+      <qualified-type-def type-id='type-id-5190' const='yes' id='type-id-6047'/>
+      <pointer-type-def type-id='type-id-6047' size-in-bits='64' id='type-id-1207'/>
+      <qualified-type-def type-id='type-id-5813' const='yes' id='type-id-6048'/>
+      <pointer-type-def type-id='type-id-6048' size-in-bits='64' id='type-id-6049'/>
+      <pointer-type-def type-id='type-id-6049' size-in-bits='64' id='type-id-5072'/>
+      <pointer-type-def type-id='type-id-5725' size-in-bits='64' id='type-id-144'/>
+      <pointer-type-def type-id='type-id-5726' size-in-bits='64' id='type-id-5727'/>
+      <pointer-type-def type-id='type-id-5700' size-in-bits='64' id='type-id-6050'/>
+      <pointer-type-def type-id='type-id-5626' size-in-bits='64' id='type-id-5625'/>
+      <pointer-type-def type-id='type-id-5678' size-in-bits='64' id='type-id-5154'/>
+      <pointer-type-def type-id='type-id-5680' size-in-bits='64' id='type-id-5685'/>
+      <pointer-type-def type-id='type-id-5698' size-in-bits='64' id='type-id-5686'/>
+      <pointer-type-def type-id='type-id-5688' size-in-bits='64' id='type-id-75'/>
+      <pointer-type-def type-id='type-id-5681' size-in-bits='64' id='type-id-5655'/>
+      <pointer-type-def type-id='type-id-5693' size-in-bits='64' id='type-id-5690'/>
+      <pointer-type-def type-id='type-id-5694' size-in-bits='64' id='type-id-5683'/>
+      <pointer-type-def type-id='type-id-5654' size-in-bits='64' id='type-id-5684'/>
+      <pointer-type-def type-id='type-id-6051' size-in-bits='64' id='type-id-5695'/>
+      <pointer-type-def type-id='type-id-5059' size-in-bits='64' id='type-id-6052'/>
+      <pointer-type-def type-id='type-id-5012' size-in-bits='64' id='type-id-836'/>
+      <pointer-type-def type-id='type-id-6053' size-in-bits='64' id='type-id-5835'/>
+      <pointer-type-def type-id='type-id-6054' size-in-bits='64' id='type-id-5086'/>
+      <pointer-type-def type-id='type-id-6055' size-in-bits='64' id='type-id-5038'/>
+      <pointer-type-def type-id='type-id-6056' size-in-bits='64' id='type-id-5087'/>
+      <pointer-type-def type-id='type-id-5577' size-in-bits='64' id='type-id-6057'/>
+      <pointer-type-def type-id='type-id-4681' size-in-bits='64' id='type-id-5268'/>
+      <pointer-type-def type-id='type-id-573' size-in-bits='64' id='type-id-615'/>
+      <pointer-type-def type-id='type-id-4682' size-in-bits='64' id='type-id-5301'/>
+      <pointer-type-def type-id='type-id-294' size-in-bits='64' id='type-id-86'/>
+      <pointer-type-def type-id='type-id-291' size-in-bits='64' id='type-id-5270'/>
+      <pointer-type-def type-id='type-id-324' size-in-bits='64' id='type-id-621'/>
+      <pointer-type-def type-id='type-id-78' size-in-bits='64' id='type-id-81'/>
+      <pointer-type-def type-id='type-id-4683' size-in-bits='64' id='type-id-5263'/>
+      <pointer-type-def type-id='type-id-5860' size-in-bits='64' id='type-id-6058'/>
+      <pointer-type-def type-id='type-id-4684' size-in-bits='64' id='type-id-5345'/>
+      <pointer-type-def type-id='type-id-5348' size-in-bits='64' id='type-id-5342'/>
+      <pointer-type-def type-id='type-id-5336' size-in-bits='64' id='type-id-5261'/>
+      <pointer-type-def type-id='type-id-4685' size-in-bits='64' id='type-id-5271'/>
+      <pointer-type-def type-id='type-id-5559' size-in-bits='64' id='type-id-5370'/>
+      <pointer-type-def type-id='type-id-5785' size-in-bits='64' id='type-id-6059'/>
+      <pointer-type-def type-id='type-id-6060' size-in-bits='64' id='type-id-5797'/>
+      <pointer-type-def type-id='type-id-6059' size-in-bits='64' id='type-id-6061'/>
+      <pointer-type-def type-id='type-id-6062' size-in-bits='64' id='type-id-5105'/>
+      <pointer-type-def type-id='type-id-4687' size-in-bits='64' id='type-id-5291'/>
+      <pointer-type-def type-id='type-id-5506' size-in-bits='64' id='type-id-5477'/>
+      <pointer-type-def type-id='type-id-5505' size-in-bits='64' id='type-id-5476'/>
+      <pointer-type-def type-id='type-id-5497' size-in-bits='64' id='type-id-5472'/>
+      <pointer-type-def type-id='type-id-5499' size-in-bits='64' id='type-id-5473'/>
+      <pointer-type-def type-id='type-id-5501' size-in-bits='64' id='type-id-5474'/>
+      <pointer-type-def type-id='type-id-5508' size-in-bits='64' id='type-id-5479'/>
+      <pointer-type-def type-id='type-id-5507' size-in-bits='64' id='type-id-5478'/>
+      <pointer-type-def type-id='type-id-5503' size-in-bits='64' id='type-id-5475'/>
+      <pointer-type-def type-id='type-id-5522' size-in-bits='64' id='type-id-5487'/>
+      <pointer-type-def type-id='type-id-5513' size-in-bits='64' id='type-id-5482'/>
+      <pointer-type-def type-id='type-id-5520' size-in-bits='64' id='type-id-5486'/>
+      <pointer-type-def type-id='type-id-5512' size-in-bits='64' id='type-id-5481'/>
+      <pointer-type-def type-id='type-id-5518' size-in-bits='64' id='type-id-5485'/>
+      <pointer-type-def type-id='type-id-5490' size-in-bits='64' id='type-id-5469'/>
+      <pointer-type-def type-id='type-id-5495' size-in-bits='64' id='type-id-5471'/>
+      <pointer-type-def type-id='type-id-5493' size-in-bits='64' id='type-id-5470'/>
+      <pointer-type-def type-id='type-id-5516' size-in-bits='64' id='type-id-5484'/>
+      <pointer-type-def type-id='type-id-5463' size-in-bits='64' id='type-id-5361'/>
+      <pointer-type-def type-id='type-id-5524' size-in-bits='64' id='type-id-5488'/>
+      <pointer-type-def type-id='type-id-5510' size-in-bits='64' id='type-id-5480'/>
+      <pointer-type-def type-id='type-id-5515' size-in-bits='64' id='type-id-5483'/>
+      <pointer-type-def type-id='type-id-5465' size-in-bits='64' id='type-id-5464'/>
+      <pointer-type-def type-id='type-id-5916' size-in-bits='64' id='type-id-5915'/>
+      <pointer-type-def type-id='type-id-5543' size-in-bits='64' id='type-id-5467'/>
+      <pointer-type-def type-id='type-id-6063' size-in-bits='64' id='type-id-5172'/>
+      <pointer-type-def type-id='type-id-6064' size-in-bits='64' id='type-id-4880'/>
+      <pointer-type-def type-id='type-id-4688' size-in-bits='64' id='type-id-4854'/>
+      <pointer-type-def type-id='type-id-4689' size-in-bits='64' id='type-id-5599'/>
+      <pointer-type-def type-id='type-id-5910' size-in-bits='64' id='type-id-4935'/>
+      <pointer-type-def type-id='type-id-5564' size-in-bits='64' id='type-id-5373'/>
+      <pointer-type-def type-id='type-id-5869' size-in-bits='64' id='type-id-3920'/>
+      <pointer-type-def type-id='type-id-5066' size-in-bits='64' id='type-id-5065'/>
+      <pointer-type-def type-id='type-id-5064' size-in-bits='64' id='type-id-6065'/>
+      <pointer-type-def type-id='type-id-5002' size-in-bits='64' id='type-id-147'/>
+      <pointer-type-def type-id='type-id-5864' size-in-bits='64' id='type-id-5865'/>
+      <pointer-type-def type-id='type-id-5865' size-in-bits='64' id='type-id-6066'/>
+      <pointer-type-def type-id='type-id-5889' size-in-bits='64' id='type-id-5033'/>
+      <pointer-type-def type-id='type-id-5085' size-in-bits='64' id='type-id-4488'/>
+      <pointer-type-def type-id='type-id-4691' size-in-bits='64' id='type-id-4474'/>
+      <pointer-type-def type-id='type-id-4692' size-in-bits='64' id='type-id-5137'/>
+      <pointer-type-def type-id='type-id-4693' size-in-bits='64' id='type-id-5035'/>
+      <pointer-type-def type-id='type-id-4695' size-in-bits='64' id='type-id-4491'/>
+      <pointer-type-def type-id='type-id-4696' size-in-bits='64' id='type-id-5036'/>
+      <pointer-type-def type-id='type-id-4698' size-in-bits='64' id='type-id-5157'/>
+      <pointer-type-def type-id='type-id-5327' size-in-bits='64' id='type-id-2299'/>
+      <pointer-type-def type-id='type-id-5310' size-in-bits='64' id='type-id-575'/>
+      <pointer-type-def type-id='type-id-6067' size-in-bits='64' id='type-id-5320'/>
+      <pointer-type-def type-id='type-id-6068' size-in-bits='64' id='type-id-5322'/>
+      <pointer-type-def type-id='type-id-6069' size-in-bits='64' id='type-id-5321'/>
+      <pointer-type-def type-id='type-id-6070' size-in-bits='64' id='type-id-5313'/>
+      <pointer-type-def type-id='type-id-5326' size-in-bits='64' id='type-id-6071'/>
+      <pointer-type-def type-id='type-id-5340' size-in-bits='64' id='type-id-270'/>
+      <pointer-type-def type-id='type-id-5699' size-in-bits='64' id='type-id-5628'/>
+      <pointer-type-def type-id='type-id-2156' size-in-bits='64' id='type-id-6072'/>
+      <pointer-type-def type-id='type-id-5259' size-in-bits='64' id='type-id-4757'/>
+      <pointer-type-def type-id='type-id-5013' size-in-bits='64' id='type-id-5020'/>
+      <pointer-type-def type-id='type-id-5020' size-in-bits='64' id='type-id-5021'/>
+      <pointer-type-def type-id='type-id-297' size-in-bits='64' id='type-id-1238'/>
+      <pointer-type-def type-id='type-id-378' size-in-bits='64' id='type-id-4876'/>
+      <pointer-type-def type-id='type-id-4876' size-in-bits='64' id='type-id-4877'/>
+      <pointer-type-def type-id='type-id-2120' size-in-bits='64' id='type-id-183'/>
+      <pointer-type-def type-id='type-id-4762' size-in-bits='64' id='type-id-5173'/>
+      <pointer-type-def type-id='type-id-5178' size-in-bits='64' id='type-id-5175'/>
+      <pointer-type-def type-id='type-id-5062' size-in-bits='64' id='type-id-6073'/>
+      <pointer-type-def type-id='type-id-5563' size-in-bits='64' id='type-id-5372'/>
+      <pointer-type-def type-id='type-id-5024' size-in-bits='64' id='type-id-1160'/>
+      <pointer-type-def type-id='type-id-6074' size-in-bits='64' id='type-id-5090'/>
+      <pointer-type-def type-id='type-id-6075' size-in-bits='64' id='type-id-4871'/>
+      <pointer-type-def type-id='type-id-6076' size-in-bits='64' id='type-id-5237'/>
+      <pointer-type-def type-id='type-id-6077' size-in-bits='64' id='type-id-5233'/>
+      <pointer-type-def type-id='type-id-6078' size-in-bits='64' id='type-id-5223'/>
+      <pointer-type-def type-id='type-id-6079' size-in-bits='64' id='type-id-5528'/>
+      <pointer-type-def type-id='type-id-6080' size-in-bits='64' id='type-id-5357'/>
+      <pointer-type-def type-id='type-id-6081' size-in-bits='64' id='type-id-5350'/>
+      <pointer-type-def type-id='type-id-6082' size-in-bits='64' id='type-id-5353'/>
+      <pointer-type-def type-id='type-id-6083' size-in-bits='64' id='type-id-5352'/>
+      <pointer-type-def type-id='type-id-6084' size-in-bits='64' id='type-id-5425'/>
+      <pointer-type-def type-id='type-id-6085' size-in-bits='64' id='type-id-5441'/>
+      <pointer-type-def type-id='type-id-6086' size-in-bits='64' id='type-id-5440'/>
+      <pointer-type-def type-id='type-id-6087' size-in-bits='64' id='type-id-5429'/>
+      <pointer-type-def type-id='type-id-6088' size-in-bits='64' id='type-id-5907'/>
+      <pointer-type-def type-id='type-id-6089' size-in-bits='64' id='type-id-5906'/>
+      <pointer-type-def type-id='type-id-6090' size-in-bits='64' id='type-id-5828'/>
+      <pointer-type-def type-id='type-id-6091' size-in-bits='64' id='type-id-5826'/>
+      <pointer-type-def type-id='type-id-6092' size-in-bits='64' id='type-id-5827'/>
+      <pointer-type-def type-id='type-id-6093' size-in-bits='64' id='type-id-5319'/>
+      <pointer-type-def type-id='type-id-6094' size-in-bits='64' id='type-id-5323'/>
+      <pointer-type-def type-id='type-id-6095' size-in-bits='64' id='type-id-5318'/>
+      <pointer-type-def type-id='type-id-6096' size-in-bits='64' id='type-id-5325'/>
+      <pointer-type-def type-id='type-id-6097' size-in-bits='64' id='type-id-5324'/>
+      <pointer-type-def type-id='type-id-6098' size-in-bits='64' id='type-id-5053'/>
+      <pointer-type-def type-id='type-id-6099' size-in-bits='64' id='type-id-5834'/>
+      <pointer-type-def type-id='type-id-6100' size-in-bits='64' id='type-id-5815'/>
+      <pointer-type-def type-id='type-id-6101' size-in-bits='64' id='type-id-5816'/>
+      <pointer-type-def type-id='type-id-6102' size-in-bits='64' id='type-id-5623'/>
+      <pointer-type-def type-id='type-id-6103' size-in-bits='64' id='type-id-5697'/>
+      <pointer-type-def type-id='type-id-6104' size-in-bits='64' id='type-id-5679'/>
+      <pointer-type-def type-id='type-id-6105' size-in-bits='64' id='type-id-5829'/>
+      <pointer-type-def type-id='type-id-6106' size-in-bits='64' id='type-id-5043'/>
+      <pointer-type-def type-id='type-id-6107' size-in-bits='64' id='type-id-5051'/>
+      <pointer-type-def type-id='type-id-6108' size-in-bits='64' id='type-id-5045'/>
+      <pointer-type-def type-id='type-id-6109' size-in-bits='64' id='type-id-5097'/>
+      <pointer-type-def type-id='type-id-6110' size-in-bits='64' id='type-id-5825'/>
+      <pointer-type-def type-id='type-id-6111' size-in-bits='64' id='type-id-591'/>
+      <pointer-type-def type-id='type-id-6112' size-in-bits='64' id='type-id-5286'/>
+      <pointer-type-def type-id='type-id-6113' size-in-bits='64' id='type-id-5275'/>
+      <pointer-type-def type-id='type-id-6114' size-in-bits='64' id='type-id-5287'/>
+      <pointer-type-def type-id='type-id-6115' size-in-bits='64' id='type-id-5862'/>
+      <pointer-type-def type-id='type-id-6116' size-in-bits='64' id='type-id-5796'/>
+      <pointer-type-def type-id='type-id-6117' size-in-bits='64' id='type-id-2261'/>
+      <pointer-type-def type-id='type-id-6118' size-in-bits='64' id='type-id-5225'/>
+      <pointer-type-def type-id='type-id-6119' size-in-bits='64' id='type-id-5226'/>
+      <pointer-type-def type-id='type-id-6120' size-in-bits='64' id='type-id-5227'/>
+      <pointer-type-def type-id='type-id-6121' size-in-bits='64' id='type-id-5846'/>
+      <pointer-type-def type-id='type-id-6122' size-in-bits='64' id='type-id-5851'/>
+      <pointer-type-def type-id='type-id-6123' size-in-bits='64' id='type-id-5283'/>
+      <pointer-type-def type-id='type-id-6124' size-in-bits='64' id='type-id-5855'/>
+      <pointer-type-def type-id='type-id-6125' size-in-bits='64' id='type-id-5222'/>
+      <pointer-type-def type-id='type-id-6126' size-in-bits='64' id='type-id-5848'/>
+      <pointer-type-def type-id='type-id-6127' size-in-bits='64' id='type-id-5859'/>
+      <pointer-type-def type-id='type-id-6128' size-in-bits='64' id='type-id-5849'/>
+      <pointer-type-def type-id='type-id-6129' size-in-bits='64' id='type-id-2360'/>
+      <pointer-type-def type-id='type-id-6130' size-in-bits='64' id='type-id-5879'/>
+      <pointer-type-def type-id='type-id-6131' size-in-bits='64' id='type-id-5883'/>
+      <pointer-type-def type-id='type-id-6132' size-in-bits='64' id='type-id-5885'/>
+      <pointer-type-def type-id='type-id-6133' size-in-bits='64' id='type-id-5355'/>
+      <pointer-type-def type-id='type-id-6134' size-in-bits='64' id='type-id-5094'/>
+      <pointer-type-def type-id='type-id-6135' size-in-bits='64' id='type-id-5046'/>
+      <pointer-type-def type-id='type-id-6136' size-in-bits='64' id='type-id-5047'/>
+      <pointer-type-def type-id='type-id-6137' size-in-bits='64' id='type-id-5057'/>
+      <pointer-type-def type-id='type-id-6138' size-in-bits='64' id='type-id-5050'/>
+      <pointer-type-def type-id='type-id-6139' size-in-bits='64' id='type-id-5048'/>
+      <pointer-type-def type-id='type-id-6140' size-in-bits='64' id='type-id-5044'/>
+      <pointer-type-def type-id='type-id-6141' size-in-bits='64' id='type-id-5049'/>
+      <pointer-type-def type-id='type-id-6142' size-in-bits='64' id='type-id-5055'/>
+      <pointer-type-def type-id='type-id-6143' size-in-bits='64' id='type-id-5847'/>
+      <pointer-type-def type-id='type-id-6144' size-in-bits='64' id='type-id-5040'/>
+      <pointer-type-def type-id='type-id-6145' size-in-bits='64' id='type-id-5800'/>
+      <pointer-type-def type-id='type-id-6146' size-in-bits='64' id='type-id-5058'/>
+      <pointer-type-def type-id='type-id-6147' size-in-bits='64' id='type-id-5801'/>
+      <pointer-type-def type-id='type-id-6148' size-in-bits='64' id='type-id-5056'/>
+      <pointer-type-def type-id='type-id-6149' size-in-bits='64' id='type-id-5093'/>
+      <pointer-type-def type-id='type-id-6150' size-in-bits='64' id='type-id-856'/>
+      <pointer-type-def type-id='type-id-6151' size-in-bits='64' id='type-id-5850'/>
+      <pointer-type-def type-id='type-id-6152' size-in-bits='64' id='type-id-4993'/>
+      <pointer-type-def type-id='type-id-6153' size-in-bits='64' id='type-id-4992'/>
+      <pointer-type-def type-id='type-id-6154' size-in-bits='64' id='type-id-4994'/>
+      <pointer-type-def type-id='type-id-6155' size-in-bits='64' id='type-id-5436'/>
+      <pointer-type-def type-id='type-id-6156' size-in-bits='64' id='type-id-5445'/>
+      <pointer-type-def type-id='type-id-6157' size-in-bits='64' id='type-id-4990'/>
+      <pointer-type-def type-id='type-id-6158' size-in-bits='64' id='type-id-5648'/>
+      <pointer-type-def type-id='type-id-6159' size-in-bits='64' id='type-id-6160'/>
+      <qualified-type-def type-id='type-id-6160' const='yes' id='type-id-4952'/>
+      <pointer-type-def type-id='type-id-6161' size-in-bits='64' id='type-id-6162'/>
+      <qualified-type-def type-id='type-id-6162' const='yes' id='type-id-4954'/>
+      <pointer-type-def type-id='type-id-6163' size-in-bits='64' id='type-id-5622'/>
+      <pointer-type-def type-id='type-id-6164' size-in-bits='64' id='type-id-4926'/>
+      <pointer-type-def type-id='type-id-6165' size-in-bits='64' id='type-id-5899'/>
+      <pointer-type-def type-id='type-id-6166' size-in-bits='64' id='type-id-5664'/>
+      <pointer-type-def type-id='type-id-6167' size-in-bits='64' id='type-id-5224'/>
+      <pointer-type-def type-id='type-id-6168' size-in-bits='64' id='type-id-5230'/>
+      <pointer-type-def type-id='type-id-6169' size-in-bits='64' id='type-id-5235'/>
+      <pointer-type-def type-id='type-id-6170' size-in-bits='64' id='type-id-5221'/>
+      <pointer-type-def type-id='type-id-6171' size-in-bits='64' id='type-id-4918'/>
+      <pointer-type-def type-id='type-id-6172' size-in-bits='64' id='type-id-4920'/>
+      <pointer-type-def type-id='type-id-6173' size-in-bits='64' id='type-id-4927'/>
+      <pointer-type-def type-id='type-id-6174' size-in-bits='64' id='type-id-4923'/>
+      <pointer-type-def type-id='type-id-6175' size-in-bits='64' id='type-id-5573'/>
+      <pointer-type-def type-id='type-id-6176' size-in-bits='64' id='type-id-5572'/>
+      <pointer-type-def type-id='type-id-5519' size-in-bits='64' id='type-id-5526'/>
+      <pointer-type-def type-id='type-id-6177' size-in-bits='64' id='type-id-5533'/>
+      <pointer-type-def type-id='type-id-6178' size-in-bits='64' id='type-id-5428'/>
+      <pointer-type-def type-id='type-id-6179' size-in-bits='64' id='type-id-5101'/>
+      <pointer-type-def type-id='type-id-6180' size-in-bits='64' id='type-id-4995'/>
+      <pointer-type-def type-id='type-id-6181' size-in-bits='64' id='type-id-4991'/>
+      <pointer-type-def type-id='type-id-6182' size-in-bits='64' id='type-id-4523'/>
+      <pointer-type-def type-id='type-id-6183' size-in-bits='64' id='type-id-5571'/>
+      <pointer-type-def type-id='type-id-6184' size-in-bits='64' id='type-id-5096'/>
+      <pointer-type-def type-id='type-id-6185' size-in-bits='64' id='type-id-5807'/>
+      <pointer-type-def type-id='type-id-6186' size-in-bits='64' id='type-id-5095'/>
+      <pointer-type-def type-id='type-id-6187' size-in-bits='64' id='type-id-5098'/>
+      <pointer-type-def type-id='type-id-6188' size-in-bits='64' id='type-id-5804'/>
+      <pointer-type-def type-id='type-id-6189' size-in-bits='64' id='type-id-5806'/>
+      <pointer-type-def type-id='type-id-6190' size-in-bits='64' id='type-id-5802'/>
+      <pointer-type-def type-id='type-id-6191' size-in-bits='64' id='type-id-5808'/>
+      <pointer-type-def type-id='type-id-6192' size-in-bits='64' id='type-id-5106'/>
+      <pointer-type-def type-id='type-id-6193' size-in-bits='64' id='type-id-5809'/>
+      <pointer-type-def type-id='type-id-6194' size-in-bits='64' id='type-id-5805'/>
+      <pointer-type-def type-id='type-id-6195' size-in-bits='64' id='type-id-5238'/>
+      <pointer-type-def type-id='type-id-6196' size-in-bits='64' id='type-id-5431'/>
+      <pointer-type-def type-id='type-id-6197' size-in-bits='64' id='type-id-4864'/>
+      <pointer-type-def type-id='type-id-6198' size-in-bits='64' id='type-id-4863'/>
+      <pointer-type-def type-id='type-id-6199' size-in-bits='64' id='type-id-4861'/>
+      <pointer-type-def type-id='type-id-6200' size-in-bits='64' id='type-id-5052'/>
+      <pointer-type-def type-id='type-id-6201' size-in-bits='64' id='type-id-5041'/>
+      <pointer-type-def type-id='type-id-6202' size-in-bits='64' id='type-id-5102'/>
+      <pointer-type-def type-id='type-id-6203' size-in-bits='64' id='type-id-5099'/>
+      <pointer-type-def type-id='type-id-6204' size-in-bits='64' id='type-id-5193'/>
+      <pointer-type-def type-id='type-id-6205' size-in-bits='64' id='type-id-5192'/>
+      <pointer-type-def type-id='type-id-6206' size-in-bits='64' id='type-id-5584'/>
+      <pointer-type-def type-id='type-id-6207' size-in-bits='64' id='type-id-5198'/>
+      <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-82'/>
+      <pointer-type-def type-id='type-id-5400' size-in-bits='64' id='type-id-5150'/>
+      <pointer-type-def type-id='type-id-5402' size-in-bits='64' id='type-id-5401'/>
+      <pointer-type-def type-id='type-id-4699' size-in-bits='64' id='type-id-5274'/>
+      <pointer-type-def type-id='type-id-4700' size-in-bits='64' id='type-id-261'/>
+      <pointer-type-def type-id='type-id-5242' size-in-bits='64' id='type-id-2241'/>
+      <pointer-type-def type-id='type-id-4702' size-in-bits='64' id='type-id-5669'/>
+      <pointer-type-def type-id='type-id-4703' size-in-bits='64' id='type-id-5267'/>
+      <pointer-type-def type-id='type-id-4906' size-in-bits='64' id='type-id-6208'/>
+      <pointer-type-def type-id='type-id-5902' size-in-bits='64' id='type-id-4934'/>
+      <pointer-type-def type-id='type-id-4704' size-in-bits='64' id='type-id-4977'/>
+      <pointer-type-def type-id='type-id-4975' size-in-bits='64' id='type-id-3083'/>
+      <pointer-type-def type-id='type-id-5446' size-in-bits='64' id='type-id-6209'/>
+      <pointer-type-def type-id='type-id-4705' size-in-bits='64' id='type-id-5894'/>
+      <pointer-type-def type-id='type-id-5444' size-in-bits='64' id='type-id-5435'/>
+      <pointer-type-def type-id='type-id-4979' size-in-bits='64' id='type-id-4978'/>
+      <pointer-type-def type-id='type-id-4989' size-in-bits='64' id='type-id-4980'/>
+      <pointer-type-def type-id='type-id-5631' size-in-bits='64' id='type-id-5074'/>
+      <pointer-type-def type-id='type-id-5646' size-in-bits='64' id='type-id-5642'/>
+      <pointer-type-def type-id='type-id-4706' size-in-bits='64' id='type-id-5643'/>
+      <pointer-type-def type-id='type-id-4707' size-in-bits='64' id='type-id-5640'/>
+      <pointer-type-def type-id='type-id-4708' size-in-bits='64' id='type-id-3511'/>
+      <pointer-type-def type-id='type-id-4568' size-in-bits='64' id='type-id-6210'/>
+      <pointer-type-def type-id='type-id-5240' size-in-bits='64' id='type-id-6211'/>
+      <pointer-type-def type-id='type-id-4709' size-in-bits='64' id='type-id-145'/>
+      <pointer-type-def type-id='type-id-4710' size-in-bits='64' id='type-id-3525'/>
+      <pointer-type-def type-id='type-id-4956' size-in-bits='64' id='type-id-4948'/>
+      <pointer-type-def type-id='type-id-4955' size-in-bits='64' id='type-id-448'/>
+      <pointer-type-def type-id='type-id-315' size-in-bits='64' id='type-id-87'/>
+      <pointer-type-def type-id='type-id-5790' size-in-bits='64' id='type-id-6212'/>
+      <pointer-type-def type-id='type-id-5786' size-in-bits='64' id='type-id-6213'/>
+      <pointer-type-def type-id='type-id-4949' size-in-bits='64' id='type-id-4947'/>
+      <pointer-type-def type-id='type-id-5063' size-in-bits='64' id='type-id-4623'/>
+      <pointer-type-def type-id='type-id-4711' size-in-bits='64' id='type-id-4487'/>
+      <pointer-type-def type-id='type-id-491' size-in-bits='64' id='type-id-5420'/>
+      <pointer-type-def type-id='type-id-659' size-in-bits='64' id='type-id-490'/>
+      <pointer-type-def type-id='type-id-4567' size-in-bits='64' id='type-id-6214'/>
+      <pointer-type-def type-id='type-id-5621' size-in-bits='64' id='type-id-4464'/>
+      <pointer-type-def type-id='type-id-5624' size-in-bits='64' id='type-id-4465'/>
+      <pointer-type-def type-id='type-id-8' size-in-bits='64' id='type-id-262'/>
+      <pointer-type-def type-id='type-id-6215' size-in-bits='64' id='type-id-4865'/>
+      <pointer-type-def type-id='type-id-5843' size-in-bits='64' id='type-id-5842'/>
+      <pointer-type-def type-id='type-id-5840' size-in-bits='64' id='type-id-5839'/>
+      <pointer-type-def type-id='type-id-5841' size-in-bits='64' id='type-id-4778'/>
+      <pointer-type-def type-id='type-id-5561' size-in-bits='64' id='type-id-5371'/>
+      <pointer-type-def type-id='type-id-1327' size-in-bits='64' id='type-id-5010'/>
+      <pointer-type-def type-id='type-id-4528' size-in-bits='64' id='type-id-1705'/>
+      <pointer-type-def type-id='type-id-6216' size-in-bits='64' id='type-id-5856'/>
+      <pointer-type-def type-id='type-id-6217' size-in-bits='64' id='type-id-2260'/>
+      <pointer-type-def type-id='type-id-6218' size-in-bits='64' id='type-id-5729'/>
+      <pointer-type-def type-id='type-id-6219' size-in-bits='64' id='type-id-5107'/>
+      <pointer-type-def type-id='type-id-5618' size-in-bits='64' id='type-id-5604'/>
+      <pointer-type-def type-id='type-id-5548' size-in-bits='64' id='type-id-5364'/>
+      <pointer-type-def type-id='type-id-5587' size-in-bits='64' id='type-id-5159'/>
+      <pointer-type-def type-id='type-id-5602' size-in-bits='64' id='type-id-4785'/>
+      <pointer-type-def type-id='type-id-5600' size-in-bits='64' id='type-id-5593'/>
+      <pointer-type-def type-id='type-id-5598' size-in-bits='64' id='type-id-5597'/>
+      <pointer-type-def type-id='type-id-5619' size-in-bits='64' id='type-id-5605'/>
+      <pointer-type-def type-id='type-id-5456' size-in-bits='64' id='type-id-5453'/>
+      <pointer-type-def type-id='type-id-5458' size-in-bits='64' id='type-id-5454'/>
+      <pointer-type-def type-id='type-id-5451' size-in-bits='64' id='type-id-5462'/>
+      <pointer-type-def type-id='type-id-5181' size-in-bits='64' id='type-id-158'/>
+      <pointer-type-def type-id='type-id-4712' size-in-bits='64' id='type-id-5670'/>
+      <pointer-type-def type-id='type-id-4940' size-in-bits='64' id='type-id-4939'/>
+      <pointer-type-def type-id='type-id-4928' size-in-bits='64' id='type-id-19'/>
+      <pointer-type-def type-id='type-id-5895' size-in-bits='64' id='type-id-4931'/>
+      <pointer-type-def type-id='type-id-4930' size-in-bits='64' id='type-id-6220'/>
+      <pointer-type-def type-id='type-id-4713' size-in-bits='64' id='type-id-4942'/>
+      <pointer-type-def type-id='type-id-4714' size-in-bits='64' id='type-id-4946'/>
+      <pointer-type-def type-id='type-id-4715' size-in-bits='64' id='type-id-4941'/>
+      <pointer-type-def type-id='type-id-4716' size-in-bits='64' id='type-id-5079'/>
+      <pointer-type-def type-id='type-id-4717' size-in-bits='64' id='type-id-5136'/>
+      <pointer-type-def type-id='type-id-4718' size-in-bits='64' id='type-id-5671'/>
+      <pointer-type-def type-id='type-id-4719' size-in-bits='64' id='type-id-5888'/>
+      <pointer-type-def type-id='type-id-4720' size-in-bits='64' id='type-id-5887'/>
+      <pointer-type-def type-id='type-id-5653' size-in-bits='64' id='type-id-6221'/>
+      <pointer-type-def type-id='type-id-6222' size-in-bits='64' id='type-id-5666'/>
+      <pointer-type-def type-id='type-id-6223' size-in-bits='64' id='type-id-5662'/>
+      <pointer-type-def type-id='type-id-5667' size-in-bits='64' id='type-id-5138'/>
+      <pointer-type-def type-id='type-id-5216' size-in-bits='64' id='type-id-120'/>
+      <pointer-type-def type-id='type-id-6224' size-in-bits='64' id='type-id-5200'/>
+      <pointer-type-def type-id='type-id-120' size-in-bits='64' id='type-id-260'/>
+      <pointer-type-def type-id='type-id-5589' size-in-bits='64' id='type-id-5596'/>
+      <pointer-type-def type-id='type-id-5335' size-in-bits='64' id='type-id-5260'/>
+      <pointer-type-def type-id='type-id-5004' size-in-bits='64' id='type-id-6225'/>
+      <pointer-type-def type-id='type-id-5617' size-in-bits='64' id='type-id-5611'/>
+      <pointer-type-def type-id='type-id-5613' size-in-bits='64' id='type-id-5612'/>
+      <pointer-type-def type-id='type-id-5257' size-in-bits='64' id='type-id-5253'/>
+      <pointer-type-def type-id='type-id-5113' size-in-bits='64' id='type-id-5581'/>
+      <pointer-type-def type-id='type-id-5339' size-in-bits='64' id='type-id-5337'/>
+      <pointer-type-def type-id='type-id-5949' size-in-bits='64' id='type-id-4908'/>
+      <pointer-type-def type-id='type-id-5964' size-in-bits='64' id='type-id-5952'/>
+      <pointer-type-def type-id='type-id-5966' size-in-bits='64' id='type-id-5956'/>
+      <pointer-type-def type-id='type-id-5930' size-in-bits='64' id='type-id-4916'/>
+      <pointer-type-def type-id='type-id-4901' size-in-bits='64' id='type-id-174'/>
+      <pointer-type-def type-id='type-id-5768' size-in-bits='64' id='type-id-4799'/>
+      <pointer-type-def type-id='type-id-5959' size-in-bits='64' id='type-id-5962'/>
+      <pointer-type-def type-id='type-id-5958' size-in-bits='64' id='type-id-5951'/>
+      <pointer-type-def type-id='type-id-5950' size-in-bits='64' id='type-id-6226'/>
+      <pointer-type-def type-id='type-id-5212' size-in-bits='64' id='type-id-136'/>
+      <pointer-type-def type-id='type-id-5608' size-in-bits='64' id='type-id-5607'/>
+      <pointer-type-def type-id='type-id-5738' size-in-bits='64' id='type-id-1213'/>
+      <pointer-type-def type-id='type-id-5676' size-in-bits='64' id='type-id-4910'/>
+      <pointer-type-def type-id='type-id-4721' size-in-bits='64' id='type-id-2208'/>
+      <pointer-type-def type-id='type-id-5921' size-in-bits='64' id='type-id-5914'/>
+      <pointer-type-def type-id='type-id-4722' size-in-bits='64' id='type-id-5308'/>
+      <pointer-type-def type-id='type-id-5307' size-in-bits='64' id='type-id-5299'/>
+      <pointer-type-def type-id='type-id-5208' size-in-bits='64' id='type-id-5203'/>
+      <pointer-type-def type-id='type-id-4915' size-in-bits='64' id='type-id-4902'/>
+      <pointer-type-def type-id='type-id-5551' size-in-bits='64' id='type-id-5365'/>
+      <pointer-type-def type-id='type-id-5447' size-in-bits='64' id='type-id-1833'/>
+      <pointer-type-def type-id='type-id-5737' size-in-bits='64' id='type-id-99'/>
+      <pointer-type-def type-id='type-id-4723' size-in-bits='64' id='type-id-5027'/>
+      <pointer-type-def type-id='type-id-6227' size-in-bits='64' id='type-id-5042'/>
+      <pointer-type-def type-id='type-id-5553' size-in-bits='64' id='type-id-5366'/>
+      <pointer-type-def type-id='type-id-5692' size-in-bits='64' id='type-id-5689'/>
+      <pointer-type-def type-id='type-id-5328' size-in-bits='64' id='type-id-834'/>
+      <pointer-type-def type-id='type-id-5419' size-in-bits='64' id='type-id-5417'/>
+      <pointer-type-def type-id='type-id-5720' size-in-bits='64' id='type-id-5702'/>
+      <pointer-type-def type-id='type-id-5702' size-in-bits='64' id='type-id-6228'/>
+      <pointer-type-def type-id='type-id-5205' size-in-bits='64' id='type-id-5206'/>
+      <pointer-type-def type-id='type-id-5211' size-in-bits='64' id='type-id-5204'/>
+      <pointer-type-def type-id='type-id-5811' size-in-bits='64' id='type-id-6229'/>
+      <pointer-type-def type-id='type-id-5810' size-in-bits='64' id='type-id-6230'/>
+      <pointer-type-def type-id='type-id-5812' size-in-bits='64' id='type-id-6231'/>
+      <pointer-type-def type-id='type-id-5793' size-in-bits='64' id='type-id-6232'/>
+      <pointer-type-def type-id='type-id-6233' size-in-bits='64' id='type-id-5799'/>
+      <pointer-type-def type-id='type-id-5014' size-in-bits='64' id='type-id-6234'/>
+      <pointer-type-def type-id='type-id-5818' size-in-bits='64' id='type-id-5817'/>
+      <pointer-type-def type-id='type-id-4982' size-in-bits='64' id='type-id-4981'/>
+      <pointer-type-def type-id='type-id-3181' size-in-bits='64' id='type-id-4983'/>
+      <pointer-type-def type-id='type-id-4891' size-in-bits='64' id='type-id-186'/>
+      <pointer-type-def type-id='type-id-1846' size-in-bits='64' id='type-id-4914'/>
+      <pointer-type-def type-id='type-id-4725' size-in-bits='64' id='type-id-5128'/>
+      <pointer-type-def type-id='type-id-5762' size-in-bits='64' id='type-id-5149'/>
+      <pointer-type-def type-id='type-id-420' size-in-bits='64' id='type-id-269'/>
+      <pointer-type-def type-id='type-id-6235' size-in-bits='64' id='type-id-5539'/>
+      <pointer-type-def type-id='type-id-5509' size-in-bits='64' id='type-id-5541'/>
+      <pointer-type-def type-id='type-id-269' size-in-bits='64' id='type-id-385'/>
+      <pointer-type-def type-id='type-id-5546' size-in-bits='64' id='type-id-5363'/>
+      <pointer-type-def type-id='type-id-4573' size-in-bits='64' id='type-id-5391'/>
+      <pointer-type-def type-id='type-id-5360' size-in-bits='64' id='type-id-268'/>
+      <pointer-type-def type-id='type-id-282' size-in-bits='64' id='type-id-279'/>
+      <pointer-type-def type-id='type-id-5132' size-in-bits='64' id='type-id-6236'/>
+      <pointer-type-def type-id='type-id-5778' size-in-bits='64' id='type-id-5774'/>
+      <pointer-type-def type-id='type-id-4726' size-in-bits='64' id='type-id-4848'/>
+      <pointer-type-def type-id='type-id-4851' size-in-bits='64' id='type-id-4849'/>
+      <pointer-type-def type-id='type-id-4727' size-in-bits='64' id='type-id-6237'/>
+      <pointer-type-def type-id='type-id-6237' size-in-bits='64' id='type-id-4885'/>
+      <pointer-type-def type-id='type-id-4728' size-in-bits='64' id='type-id-5155'/>
+      <pointer-type-def type-id='type-id-5460' size-in-bits='64' id='type-id-5390'/>
+      <pointer-type-def type-id='type-id-4729' size-in-bits='64' id='type-id-445'/>
+      <pointer-type-def type-id='type-id-5557' size-in-bits='64' id='type-id-5369'/>
+      <pointer-type-def type-id='type-id-4730' size-in-bits='64' id='type-id-5146'/>
+      <pointer-type-def type-id='type-id-939' size-in-bits='64' id='type-id-1431'/>
+      <pointer-type-def type-id='type-id-5123' size-in-bits='64' id='type-id-5166'/>
+      <pointer-type-def type-id='type-id-5124' size-in-bits='64' id='type-id-5170'/>
+      <pointer-type-def type-id='type-id-4732' size-in-bits='64' id='type-id-5759'/>
+      <pointer-type-def type-id='type-id-2142' size-in-bits='64' id='type-id-2136'/>
+      <pointer-type-def type-id='type-id-4996' size-in-bits='64' id='type-id-85'/>
+      <pointer-type-def type-id='type-id-5574' size-in-bits='64' id='type-id-6238'/>
+      <pointer-type-def type-id='type-id-5794' size-in-bits='64' id='type-id-6239'/>
+      <pointer-type-def type-id='type-id-5083' size-in-bits='64' id='type-id-6240'/>
+      <pointer-type-def type-id='type-id-5749' size-in-bits='64' id='type-id-5140'/>
+      <pointer-type-def type-id='type-id-5703' size-in-bits='64' id='type-id-5151'/>
+      <pointer-type-def type-id='type-id-5739' size-in-bits='64' id='type-id-5139'/>
+      <pointer-type-def type-id='type-id-125' size-in-bits='64' id='type-id-1703'/>
+      <pointer-type-def type-id='type-id-4733' size-in-bits='64' id='type-id-6241'/>
+      <pointer-type-def type-id='type-id-5555' size-in-bits='64' id='type-id-5368'/>
+      <pointer-type-def type-id='type-id-106' size-in-bits='64' id='type-id-446'/>
+      <pointer-type-def type-id='type-id-4734' size-in-bits='64' id='type-id-5288'/>
+      <pointer-type-def type-id='type-id-5067' size-in-bits='64' id='type-id-2155'/>
+      <pointer-type-def type-id='type-id-5256' size-in-bits='64' id='type-id-5251'/>
+      <pointer-type-def type-id='type-id-5255' size-in-bits='64' id='type-id-5254'/>
+      <pointer-type-def type-id='type-id-5250' size-in-bits='64' id='type-id-6242'/>
+      <pointer-type-def type-id='type-id-4735' size-in-bits='64' id='type-id-5125'/>
+      <pointer-type-def type-id='type-id-5120' size-in-bits='64' id='type-id-118'/>
+      <pointer-type-def type-id='type-id-5748' size-in-bits='64' id='type-id-5743'/>
+      <pointer-type-def type-id='type-id-1240' size-in-bits='64' id='type-id-6243'/>
+      <pointer-type-def type-id='type-id-4736' size-in-bits='64' id='type-id-5344'/>
+      <pointer-type-def type-id='type-id-5171' size-in-bits='64' id='type-id-5180'/>
+      <pointer-type-def type-id='type-id-2903' size-in-bits='64' id='type-id-4324'/>
+      <pointer-type-def type-id='type-id-5030' size-in-bits='64' id='type-id-6244'/>
+      <pointer-type-def type-id='type-id-4737' size-in-bits='64' id='type-id-4855'/>
+      <pointer-type-def type-id='type-id-4738' size-in-bits='64' id='type-id-4884'/>
+      <pointer-type-def type-id='type-id-4900' size-in-bits='64' id='type-id-4887'/>
+      <pointer-type-def type-id='type-id-5929' size-in-bits='64' id='type-id-6245'/>
+      <pointer-type-def type-id='type-id-6245' size-in-bits='64' id='type-id-4945'/>
+      <pointer-type-def type-id='type-id-4860' size-in-bits='64' id='type-id-6246'/>
+      <pointer-type-def type-id='type-id-4847' size-in-bits='64' id='type-id-6247'/>
+      <pointer-type-def type-id='type-id-4857' size-in-bits='64' id='type-id-4853'/>
+      <pointer-type-def type-id='type-id-4853' size-in-bits='64' id='type-id-4944'/>
+      <pointer-type-def type-id='type-id-4862' size-in-bits='64' id='type-id-4858'/>
+      <pointer-type-def type-id='type-id-4852' size-in-bits='64' id='type-id-4850'/>
+      <pointer-type-def type-id='type-id-4878' size-in-bits='64' id='type-id-4875'/>
+      <pointer-type-def type-id='type-id-4882' size-in-bits='64' id='type-id-6248'/>
+      <pointer-type-def type-id='type-id-4886' size-in-bits='64' id='type-id-6249'/>
+      <pointer-type-def type-id='type-id-4739' size-in-bits='64' id='type-id-4856'/>
+      <pointer-type-def type-id='type-id-4869' size-in-bits='64' id='type-id-6250'/>
+      <qualified-type-def type-id='type-id-6250' const='yes' id='type-id-5927'/>
+      <pointer-type-def type-id='type-id-4874' size-in-bits='64' id='type-id-4872'/>
+      <pointer-type-def type-id='type-id-5928' size-in-bits='64' id='type-id-4943'/>
+      <pointer-type-def type-id='type-id-4740' size-in-bits='64' id='type-id-4883'/>
+      <pointer-type-def type-id='type-id-4741' size-in-bits='64' id='type-id-5744'/>
+      <pointer-type-def type-id='type-id-4742' size-in-bits='64' id='type-id-5741'/>
+      <pointer-type-def type-id='type-id-6251' size-in-bits='64' id='type-id-2259'/>
+      <pointer-type-def type-id='type-id-6252' size-in-bits='64' id='type-id-5443'/>
+      <pointer-type-def type-id='type-id-6253' size-in-bits='64' id='type-id-4966'/>
+      <pointer-type-def type-id='type-id-6254' size-in-bits='64' id='type-id-5540'/>
+      <pointer-type-def type-id='type-id-6255' size-in-bits='64' id='type-id-5532'/>
+      <pointer-type-def type-id='type-id-6256' size-in-bits='64' id='type-id-5315'/>
+      <pointer-type-def type-id='type-id-6257' size-in-bits='64' id='type-id-5317'/>
+      <pointer-type-def type-id='type-id-6258' size-in-bits='64' id='type-id-5814'/>
+      <pointer-type-def type-id='type-id-6259' size-in-bits='64' id='type-id-5884'/>
+      <pointer-type-def type-id='type-id-6260' size-in-bits='64' id='type-id-5234'/>
+      <pointer-type-def type-id='type-id-6261' size-in-bits='64' id='type-id-5531'/>
+      <pointer-type-def type-id='type-id-6262' size-in-bits='64' id='type-id-5881'/>
+      <pointer-type-def type-id='type-id-6263' size-in-bits='64' id='type-id-5177'/>
+      <pointer-type-def type-id='type-id-6264' size-in-bits='64' id='type-id-5845'/>
+      <pointer-type-def type-id='type-id-6265' size-in-bits='64' id='type-id-5439'/>
+      <pointer-type-def type-id='type-id-6266' size-in-bits='64' id='type-id-5228'/>
+      <pointer-type-def type-id='type-id-6267' size-in-bits='64' id='type-id-5054'/>
+      <pointer-type-def type-id='type-id-6268' size-in-bits='64' id='type-id-5544'/>
+      <pointer-type-def type-id='type-id-6269' size-in-bits='64' id='type-id-5545'/>
+      <pointer-type-def type-id='type-id-6270' size-in-bits='64' id='type-id-2257'/>
+      <pointer-type-def type-id='type-id-6271' size-in-bits='64' id='type-id-2258'/>
+      <pointer-type-def type-id='type-id-6272' size-in-bits='64' id='type-id-5282'/>
+      <pointer-type-def type-id='type-id-6273' size-in-bits='64' id='type-id-5854'/>
+      <pointer-type-def type-id='type-id-6274' size-in-bits='64' id='type-id-5852'/>
+      <pointer-type-def type-id='type-id-6275' size-in-bits='64' id='type-id-5858'/>
+      <pointer-type-def type-id='type-id-6276' size-in-bits='64' id='type-id-5442'/>
+      <pointer-type-def type-id='type-id-6277' size-in-bits='64' id='type-id-5232'/>
+      <pointer-type-def type-id='type-id-6278' size-in-bits='64' id='type-id-1007'/>
+      <pointer-type-def type-id='type-id-6279' size-in-bits='64' id='type-id-1008'/>
+      <pointer-type-def type-id='type-id-6280' size-in-bits='64' id='type-id-5896'/>
+      <pointer-type-def type-id='type-id-6281' size-in-bits='64' id='type-id-5897'/>
+      <pointer-type-def type-id='type-id-6282' size-in-bits='64' id='type-id-5853'/>
+      <pointer-type-def type-id='type-id-6283' size-in-bits='64' id='type-id-5103'/>
+      <pointer-type-def type-id='type-id-6284' size-in-bits='64' id='type-id-5104'/>
+      <pointer-type-def type-id='type-id-6285' size-in-bits='64' id='type-id-4911'/>
+      <pointer-type-def type-id='type-id-6286' size-in-bits='64' id='type-id-5438'/>
+      <pointer-type-def type-id='type-id-6287' size-in-bits='64' id='type-id-5278'/>
+      <pointer-type-def type-id='type-id-6288' size-in-bits='64' id='type-id-5279'/>
+      <pointer-type-def type-id='type-id-6289' size-in-bits='64' id='type-id-5194'/>
+      <pointer-type-def type-id='type-id-6290' size-in-bits='64' id='type-id-5195'/>
+      <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-347'/>
+      <pointer-type-def type-id='type-id-134' size-in-bits='64' id='type-id-1888'/>
+      <pointer-type-def type-id='type-id-5675' size-in-bits='64' id='type-id-5656'/>
+      <pointer-type-def type-id='type-id-4825' size-in-bits='64' id='type-id-5659'/>
+      <pointer-type-def type-id='type-id-4427' size-in-bits='64' id='type-id-6291'/>
+      <pointer-type-def type-id='type-id-4743' size-in-bits='64' id='type-id-5076'/>
+      <pointer-type-def type-id='type-id-5554' size-in-bits='64' id='type-id-5367'/>
+      <pointer-type-def type-id='type-id-271' size-in-bits='64' id='type-id-1047'/>
+      <pointer-type-def type-id='type-id-6292' size-in-bits='64' id='type-id-5354'/>
+      <pointer-type-def type-id='type-id-10' size-in-bits='64' id='type-id-72'/>
+      <pointer-type-def type-id='type-id-6293' size-in-bits='64' id='type-id-135'/>
+      <pointer-type-def type-id='type-id-6294' size-in-bits='64' id='type-id-5880'/>
+      <pointer-type-def type-id='type-id-6295' size-in-bits='64' id='type-id-5837'/>
+      <pointer-type-def type-id='type-id-6296' size-in-bits='64' id='type-id-5197'/>
+      <pointer-type-def type-id='type-id-6297' size-in-bits='64' id='type-id-5963'/>
+      <pointer-type-def type-id='type-id-100' size-in-bits='64' id='type-id-76'/>
+      <pointer-type-def type-id='type-id-4744' size-in-bits='64' id='type-id-5773'/>
+      <pointer-type-def type-id='type-id-5770' size-in-bits='64' id='type-id-5160'/>
+      <pointer-type-def type-id='type-id-5651' size-in-bits='64' id='type-id-4564'/>
+      <pointer-type-def type-id='type-id-6298' size-in-bits='64' id='type-id-5665'/>
+      <pointer-type-def type-id='type-id-5649' size-in-bits='64' id='type-id-4581'/>
+      <pointer-type-def type-id='type-id-5673' size-in-bits='64' id='type-id-5668'/>
+      <pointer-type-def type-id='type-id-4745' size-in-bits='64' id='type-id-5011'/>
+      <pointer-type-def type-id='type-id-6299' size-in-bits='64' id='type-id-5833'/>
+      <pointer-type-def type-id='type-id-5183' size-in-bits='64' id='type-id-132'/>
+      <pointer-type-def type-id='type-id-5202' size-in-bits='64' id='type-id-6300'/>
+      <pointer-type-def type-id='type-id-5779' size-in-bits='64' id='type-id-5161'/>
+      <pointer-type-def type-id='type-id-5757' size-in-bits='64' id='type-id-3769'/>
+      <pointer-type-def type-id='type-id-6301' size-in-bits='64' id='type-id-5530'/>
+      <pointer-type-def type-id='type-id-6302' size-in-bits='64' id='type-id-5538'/>
+      <pointer-type-def type-id='type-id-6303' size-in-bits='64' id='type-id-5529'/>
+      <pointer-type-def type-id='type-id-6304' size-in-bits='64' id='type-id-5358'/>
+      <pointer-type-def type-id='type-id-6305' size-in-bits='64' id='type-id-4988'/>
+      <pointer-type-def type-id='type-id-6306' size-in-bits='64' id='type-id-5426'/>
+      <pointer-type-def type-id='type-id-6307' size-in-bits='64' id='type-id-5427'/>
+      <pointer-type-def type-id='type-id-6308' size-in-bits='64' id='type-id-5430'/>
+      <pointer-type-def type-id='type-id-6309' size-in-bits='64' id='type-id-5331'/>
+      <pointer-type-def type-id='type-id-6310' size-in-bits='64' id='type-id-5836'/>
+      <pointer-type-def type-id='type-id-6311' size-in-bits='64' id='type-id-5696'/>
+      <pointer-type-def type-id='type-id-6312' size-in-bits='64' id='type-id-5830'/>
+      <pointer-type-def type-id='type-id-6313' size-in-bits='64' id='type-id-5831'/>
+      <pointer-type-def type-id='type-id-6314' size-in-bits='64' id='type-id-1924'/>
+      <pointer-type-def type-id='type-id-6315' size-in-bits='64' id='type-id-5334'/>
+      <pointer-type-def type-id='type-id-6316' size-in-bits='64' id='type-id-5309'/>
+      <pointer-type-def type-id='type-id-6317' size-in-bits='64' id='type-id-5300'/>
+      <pointer-type-def type-id='type-id-6318' size-in-bits='64' id='type-id-5798'/>
+      <pointer-type-def type-id='type-id-5521' size-in-bits='64' id='type-id-5527'/>
+      <pointer-type-def type-id='type-id-6319' size-in-bits='64' id='type-id-5239'/>
+      <pointer-type-def type-id='type-id-6320' size-in-bits='64' id='type-id-5449'/>
+      <pointer-type-def type-id='type-id-6321' size-in-bits='64' id='type-id-5877'/>
+      <pointer-type-def type-id='type-id-6322' size-in-bits='64' id='type-id-5876'/>
+      <pointer-type-def type-id='type-id-6323' size-in-bits='64' id='type-id-5886'/>
+      <pointer-type-def type-id='type-id-6324' size-in-bits='64' id='type-id-5314'/>
+      <pointer-type-def type-id='type-id-6325' size-in-bits='64' id='type-id-5356'/>
+      <pointer-type-def type-id='type-id-6326' size-in-bits='64' id='type-id-5351'/>
+      <pointer-type-def type-id='type-id-6327' size-in-bits='64' id='type-id-5091'/>
+      <pointer-type-def type-id='type-id-6328' size-in-bits='64' id='type-id-5092'/>
+      <pointer-type-def type-id='type-id-5511' size-in-bits='64' id='type-id-5542'/>
+      <pointer-type-def type-id='type-id-6329' size-in-bits='64' id='type-id-5948'/>
+      <pointer-type-def type-id='type-id-6330' size-in-bits='64' id='type-id-5437'/>
+      <pointer-type-def type-id='type-id-6331' size-in-bits='64' id='type-id-5241'/>
+      <pointer-type-def type-id='type-id-6332' size-in-bits='64' id='type-id-4957'/>
+      <pointer-type-def type-id='type-id-6333' size-in-bits='64' id='type-id-4961'/>
+      <pointer-type-def type-id='type-id-6334' size-in-bits='64' id='type-id-5422'/>
+      <pointer-type-def type-id='type-id-6335' size-in-bits='64' id='type-id-5900'/>
+      <pointer-type-def type-id='type-id-6336' size-in-bits='64' id='type-id-5898'/>
+      <pointer-type-def type-id='type-id-6337' size-in-bits='64' id='type-id-5663'/>
+      <pointer-type-def type-id='type-id-6338' size-in-bits='64' id='type-id-5231'/>
+      <pointer-type-def type-id='type-id-6339' size-in-bits='64' id='type-id-5236'/>
+      <pointer-type-def type-id='type-id-6340' size-in-bits='64' id='type-id-5229'/>
+      <pointer-type-def type-id='type-id-6341' size-in-bits='64' id='type-id-5585'/>
+      <pointer-type-def type-id='type-id-5338' size-in-bits='64' id='type-id-5582'/>
+      <pointer-type-def type-id='type-id-6342' size-in-bits='64' id='type-id-4909'/>
+      <pointer-type-def type-id='type-id-6343' size-in-bits='64' id='type-id-4921'/>
+      <pointer-type-def type-id='type-id-6344' size-in-bits='64' id='type-id-4919'/>
+      <pointer-type-def type-id='type-id-6345' size-in-bits='64' id='type-id-175'/>
+      <pointer-type-def type-id='type-id-6346' size-in-bits='64' id='type-id-4924'/>
+      <pointer-type-def type-id='type-id-6347' size-in-bits='64' id='type-id-4917'/>
+      <pointer-type-def type-id='type-id-6348' size-in-bits='64' id='type-id-4922'/>
+      <pointer-type-def type-id='type-id-410' size-in-bits='64' id='type-id-5374'/>
+      <pointer-type-def type-id='type-id-6349' size-in-bits='64' id='type-id-5537'/>
+      <pointer-type-def type-id='type-id-5492' size-in-bits='64' id='type-id-5534'/>
+      <pointer-type-def type-id='type-id-5494' size-in-bits='64' id='type-id-5535'/>
+      <pointer-type-def type-id='type-id-6350' size-in-bits='64' id='type-id-5857'/>
+      <pointer-type-def type-id='type-id-6351' size-in-bits='64' id='type-id-5000'/>
+      <pointer-type-def type-id='type-id-6352' size-in-bits='64' id='type-id-5088'/>
+      <pointer-type-def type-id='type-id-6353' size-in-bits='64' id='type-id-5432'/>
+      <pointer-type-def type-id='type-id-6354' size-in-bits='64' id='type-id-5304'/>
+      <pointer-type-def type-id='type-id-6355' size-in-bits='64' id='type-id-5882'/>
+      <pointer-type-def type-id='type-id-6356' size-in-bits='64' id='type-id-5536'/>
+      <pointer-type-def type-id='type-id-6357' size-in-bits='64' id='type-id-5191'/>
+      <pointer-type-def type-id='type-id-6358' size-in-bits='64' id='type-id-5196'/>
+      <pointer-type-def type-id='type-id-6359' size-in-bits='64' id='type-id-74'/>
+      <pointer-type-def type-id='type-id-5457' size-in-bits='64' id='type-id-5100'/>
+      <pointer-type-def type-id='type-id-6360' size-in-bits='64' id='type-id-5306'/>
+      <pointer-type-def type-id='type-id-6361' size-in-bits='64' id='type-id-4967'/>
+      <pointer-type-def type-id='type-id-6362' size-in-bits='64' id='type-id-5316'/>
+      <pointer-type-def type-id='type-id-6363' size-in-bits='64' id='type-id-5333'/>
+      <pointer-type-def type-id='type-id-6364' size-in-bits='64' id='type-id-4960'/>
+      <pointer-type-def type-id='type-id-6365' size-in-bits='64' id='type-id-4925'/>
+      <pointer-type-def type-id='type-id-6366' size-in-bits='64' id='type-id-4999'/>
+      <pointer-type-def type-id='type-id-6367' size-in-bits='64' id='type-id-5001'/>
+      <pointer-type-def type-id='type-id-6368' size-in-bits='64' id='type-id-4968'/>
+      <pointer-type-def type-id='type-id-6369' size-in-bits='64' id='type-id-2896'/>
+      <pointer-type-def type-id='type-id-3' size-in-bits='64' id='type-id-2240'/>
+      <qualified-type-def type-id='type-id-187' volatile='yes' id='type-id-1163'/>
+      <pointer-type-def type-id='type-id-388' size-in-bits='64' id='type-id-1868'/>
+      <pointer-type-def type-id='type-id-4746' size-in-bits='64' id='type-id-5296'/>
+      <pointer-type-def type-id='type-id-5145' size-in-bits='64' id='type-id-5760'/>
+      <pointer-type-def type-id='type-id-5303' size-in-bits='64' id='type-id-623'/>
+      <pointer-type-def type-id='type-id-149' size-in-bits='64' id='type-id-6370'/>
+      <pointer-type-def type-id='type-id-4747' size-in-bits='64' id='type-id-2154'/>
+      <pointer-type-def type-id='type-id-5108' size-in-bits='64' id='type-id-6371'/>
+      <pointer-type-def type-id='type-id-4748' size-in-bits='64' id='type-id-5728'/>
+      <pointer-type-def type-id='type-id-4841' size-in-bits='64' id='type-id-5616'/>
+      <function-decl name='printk' mangled-name='printk' filepath='include/linux/printk.h' line='175' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='printk'>
+        <parameter type-id='type-id-24'/>
+        <parameter is-variadic='yes'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='panic' mangled-name='panic' filepath='include/linux/kernel.h' line='328' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='panic'>
+        <parameter type-id='type-id-24'/>
+        <parameter is-variadic='yes'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='trace_event_buffer_reserve' mangled-name='trace_event_buffer_reserve' filepath='include/linux/trace_events.h' line='215' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='trace_event_buffer_reserve'>
+        <parameter type-id='type-id-6247'/>
+        <parameter type-id='type-id-4850'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='trace_event_buffer_commit' mangled-name='trace_event_buffer_commit' filepath='include/linux/trace_events.h' line='219' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='trace_event_buffer_commit'>
+        <parameter type-id='type-id-6247'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='event_triggers_call' mangled-name='event_triggers_call' filepath='include/linux/trace_events.h' line='434' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='event_triggers_call'>
+        <parameter type-id='type-id-4850'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-4849'/>
+        <return type-id='type-id-5967'/>
+      </function-decl>
+      <function-decl name='trace_event_ignore_this_pid' mangled-name='trace_event_ignore_this_pid' filepath='include/linux/trace_events.h' line='440' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='trace_event_ignore_this_pid'>
+        <parameter type-id='type-id-4850'/>
+        <return type-id='type-id-264'/>
+      </function-decl>
+      <function-decl name='trace_define_field' mangled-name='trace_define_field' filepath='include/linux/trace_events.h' line='529' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='trace_define_field'>
+        <parameter type-id='type-id-4853'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='trace_raw_output_prep' mangled-name='trace_raw_output_prep' filepath='include/linux/trace_events.h' line='51' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='trace_raw_output_prep'>
+        <parameter type-id='type-id-6248'/>
+        <parameter type-id='type-id-6246'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='trace_seq_printf' mangled-name='trace_seq_printf' filepath='include/linux/trace_seq.h' line='77' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='trace_seq_printf'>
+        <parameter type-id='type-id-6249'/>
+        <parameter type-id='type-id-24'/>
+        <parameter is-variadic='yes'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='trace_handle_return' mangled-name='trace_handle_return' filepath='include/linux/trace_events.h' line='142' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='trace_handle_return'>
+        <parameter type-id='type-id-6249'/>
+        <return type-id='type-id-4881'/>
+      </function-decl>
+      <function-decl name='perf_trace_buf_alloc' mangled-name='perf_trace_buf_alloc' filepath='include/linux/trace_events.h' line='590' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='perf_trace_buf_alloc'>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-6228'/>
+        <parameter type-id='type-id-82'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='perf_trace_run_bpf_submit' mangled-name='perf_trace_run_bpf_submit' filepath='include/linux/trace_events.h' line='619' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='perf_trace_run_bpf_submit'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-4853'/>
+        <parameter type-id='type-id-177'/>
+        <parameter type-id='type-id-5702'/>
+        <parameter type-id='type-id-1238'/>
+        <parameter type-id='type-id-118'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='bpf_trace_run1' mangled-name='bpf_trace_run1' filepath='include/linux/trace_events.h' line='592' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bpf_trace_run1'>
+        <parameter type-id='type-id-4913'/>
+        <parameter type-id='type-id-177'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='bpf_trace_run2' mangled-name='bpf_trace_run2' filepath='include/linux/trace_events.h' line='593' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bpf_trace_run2'>
+        <parameter type-id='type-id-4913'/>
+        <parameter type-id='type-id-177'/>
+        <parameter type-id='type-id-177'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='get_option' mangled-name='get_option' filepath='include/linux/kernel.h' line='504' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_option'>
+        <parameter type-id='type-id-257'/>
+        <parameter type-id='type-id-82'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='get_random_bytes' mangled-name='get_random_bytes' filepath='include/linux/random.h' line='38' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_random_bytes'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='set_cpus_allowed_ptr' mangled-name='set_cpus_allowed_ptr' filepath='include/linux/sched.h' line='1572' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='set_cpus_allowed_ptr'>
+        <parameter type-id='type-id-118'/>
+        <parameter type-id='type-id-162'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='complete' mangled-name='complete' filepath='include/linux/completion.h' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='complete'>
+        <parameter type-id='type-id-176'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='wait_for_completion' mangled-name='wait_for_completion' filepath='include/linux/completion.h' line='103' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wait_for_completion'>
+        <parameter type-id='type-id-176'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='_raw_spin_lock' mangled-name='_raw_spin_lock' filepath='include/linux/spinlock_api_smp.h' line='22' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_raw_spin_lock'>
+        <parameter type-id='type-id-186'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='_raw_spin_unlock' mangled-name='_raw_spin_unlock' filepath='include/linux/spinlock_api_smp.h' line='39' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_raw_spin_unlock'>
+        <parameter type-id='type-id-186'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='preempt_schedule_notrace' mangled-name='preempt_schedule_notrace' filepath='include/asm-generic/preempt.h' line='84' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='preempt_schedule_notrace'>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='strsep' mangled-name='strsep' filepath='include/linux/string.h' line='92' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strsep'>
+        <parameter type-id='type-id-257'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-300'/>
+      </function-decl>
+      <function-decl name='ktime_get' mangled-name='ktime_get' filepath='include/linux/timekeeping.h' line='67' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ktime_get'>
+        <return type-id='type-id-112'/>
+      </function-decl>
+      <function-decl name='strreplace' mangled-name='strreplace' filepath='include/linux/string.h' line='167' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strreplace'>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-475'/>
+        <parameter type-id='type-id-475'/>
+        <return type-id='type-id-300'/>
+      </function-decl>
+      <function-decl name='kstrtobool' mangled-name='kstrtobool' filepath='include/linux/string.h' line='181' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kstrtobool'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-763'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='find_last_bit' mangled-name='find_last_bit' filepath='include/linux/bitops.h' line='277' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='find_last_bit'>
+        <parameter type-id='type-id-119'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-5971'>
+        <parameter type-id='type-id-4648'/>
+        <return type-id='type-id-4648'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5973'>
+        <parameter type-id='type-id-836'/>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-300'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5974'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-6291'/>
+        <return type-id='type-id-300'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5975'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-6291'/>
+        <parameter type-id='type-id-6214'/>
+        <parameter type-id='type-id-6210'/>
+        <return type-id='type-id-300'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5976'>
+        <parameter type-id='type-id-270'/>
+        <parameter type-id='type-id-6291'/>
+        <return type-id='type-id-300'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5985'>
+        <parameter type-id='type-id-836'/>
+        <parameter type-id='type-id-1160'/>
+        <parameter type-id='type-id-6052'/>
+        <return type-id='type-id-24'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5986'>
+        <parameter type-id='type-id-4947'/>
+        <parameter type-id='type-id-87'/>
+        <return type-id='type-id-24'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5988'>
+        <parameter type-id='type-id-132'/>
+        <return type-id='type-id-24'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6022'>
+        <parameter type-id='type-id-87'/>
+        <return type-id='type-id-5332'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6051'>
+        <parameter type-id='type-id-5683'/>
+        <return type-id='type-id-5684'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6053'>
+        <parameter type-id='type-id-836'/>
+        <parameter type-id='type-id-6008'/>
+        <return type-id='type-id-836'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6054'>
+        <parameter type-id='type-id-4488'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-836'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6055'>
+        <parameter type-id='type-id-1160'/>
+        <parameter type-id='type-id-836'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-836'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6056'>
+        <parameter type-id='type-id-5011'/>
+        <parameter type-id='type-id-4488'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-836'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6060'>
+        <parameter type-id='type-id-2155'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-6059'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6062'>
+        <parameter type-id='type-id-1160'/>
+        <return type-id='type-id-6061'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5556'>
+        <parameter type-id='type-id-269'/>
+        <return type-id='type-id-443'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5489'>
+        <parameter type-id='type-id-268'/>
+        <parameter type-id='type-id-385'/>
+        <parameter type-id='type-id-265'/>
+        <return type-id='type-id-5491'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6063'>
+        <parameter type-id='type-id-183'/>
+        <return type-id='type-id-5174'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6064'>
+        <parameter type-id='type-id-6248'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-6246'/>
+        <return type-id='type-id-4881'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6067'>
+        <parameter type-id='type-id-624'/>
+        <return type-id='type-id-575'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6068'>
+        <parameter type-id='type-id-624'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-575'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6069'>
+        <parameter type-id='type-id-624'/>
+        <parameter type-id='type-id-575'/>
+        <return type-id='type-id-575'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6070'>
+        <parameter type-id='type-id-575'/>
+        <return type-id='type-id-575'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6074'>
+        <parameter type-id='type-id-2155'/>
+        <return type-id='type-id-1160'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6075'>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6076'>
+        <parameter type-id='type-id-5008'/>
+        <parameter type-id='type-id-120'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6077'>
+        <parameter type-id='type-id-5008'/>
+        <parameter type-id='type-id-120'/>
+        <parameter type-id='type-id-120'/>
+        <parameter type-id='type-id-5248'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6078'>
+        <parameter type-id='type-id-5008'/>
+        <parameter type-id='type-id-6371'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6079'>
+        <parameter type-id='type-id-5969'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6080'>
+        <parameter type-id='type-id-2158'/>
+        <parameter type-id='type-id-6072'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6081'>
+        <parameter type-id='type-id-2158'/>
+        <parameter type-id='type-id-2147'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6082'>
+        <parameter type-id='type-id-2158'/>
+        <parameter type-id='type-id-2147'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6083'>
+        <parameter type-id='type-id-2158'/>
+        <parameter type-id='type-id-2142'/>
+        <parameter type-id='type-id-120'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5567'>
+        <parameter type-id='type-id-5970'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6084'>
+        <parameter type-id='type-id-4648'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6085'>
+        <parameter type-id='type-id-4648'/>
+        <parameter type-id='type-id-5433'/>
+        <parameter type-id='type-id-581'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6086'>
+        <parameter type-id='type-id-4648'/>
+        <parameter type-id='type-id-5433'/>
+        <parameter type-id='type-id-134'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6087'>
+        <parameter type-id='type-id-5972'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6088'>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-6013'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6089'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-6013'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6090'>
+        <parameter type-id='type-id-5992'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6091'>
+        <parameter type-id='type-id-5992'/>
+        <parameter type-id='type-id-6234'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6092'>
+        <parameter type-id='type-id-5992'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-6037'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6093'>
+        <parameter type-id='type-id-624'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-184'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6094'>
+        <parameter type-id='type-id-624'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-6071'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6095'>
+        <parameter type-id='type-id-624'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6096'>
+        <parameter type-id='type-id-624'/>
+        <parameter type-id='type-id-86'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6097'>
+        <parameter type-id='type-id-624'/>
+        <parameter type-id='type-id-2299'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6098'>
+        <parameter type-id='type-id-4497'/>
+        <parameter type-id='type-id-4623'/>
+        <parameter type-id='type-id-9'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6099'>
+        <parameter type-id='type-id-4497'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6100'>
+        <parameter type-id='type-id-6049'/>
+        <parameter type-id='type-id-836'/>
+        <parameter type-id='type-id-1160'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6101'>
+        <parameter type-id='type-id-6049'/>
+        <parameter type-id='type-id-836'/>
+        <parameter type-id='type-id-1160'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6102'>
+        <parameter type-id='type-id-6050'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5691'>
+        <parameter type-id='type-id-75'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-1703'/>
+        <parameter type-id='type-id-1705'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6103'>
+        <parameter type-id='type-id-5655'/>
+        <parameter type-id='type-id-75'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6104'>
+        <parameter type-id='type-id-5684'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6105'>
+        <parameter type-id='type-id-836'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6106'>
+        <parameter type-id='type-id-836'/>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6107'>
+        <parameter type-id='type-id-836'/>
+        <parameter type-id='type-id-6073'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6108'>
+        <parameter type-id='type-id-836'/>
+        <parameter type-id='type-id-1160'/>
+        <parameter type-id='type-id-836'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6109'>
+        <parameter type-id='type-id-836'/>
+        <parameter type-id='type-id-4487'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6110'>
+        <parameter type-id='type-id-836'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6111'>
+        <parameter type-id='type-id-86'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6112'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-621'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6113'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-448'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6114'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-348'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6115'>
+        <parameter type-id='type-id-6058'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-4528'/>
+        <parameter type-id='type-id-134'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6116'>
+        <parameter type-id='type-id-6059'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6117'>
+        <parameter type-id='type-id-147'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6118'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-5008'/>
+        <parameter type-id='type-id-262'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6119'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-5008'/>
+        <parameter type-id='type-id-4528'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-260'/>
+        <parameter type-id='type-id-2240'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6120'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-5008'/>
+        <parameter type-id='type-id-4528'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-120'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6121'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-6058'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6122'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-5865'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6123'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-87'/>
+        <parameter type-id='type-id-273'/>
+        <parameter type-id='type-id-132'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6124'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-187'/>
+        <parameter type-id='type-id-6066'/>
+        <parameter type-id='type-id-2240'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6125'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-120'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6126'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-5863'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6127'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-4528'/>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-4528'/>
+        <parameter type-id='type-id-134'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6128'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-4528'/>
+        <parameter type-id='type-id-4528'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6129'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-132'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6130'>
+        <parameter type-id='type-id-5865'/>
+        <parameter type-id='type-id-5865'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6131'>
+        <parameter type-id='type-id-5865'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6132'>
+        <parameter type-id='type-id-5865'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-262'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6133'>
+        <parameter type-id='type-id-270'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6134'>
+        <parameter type-id='type-id-1160'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6135'>
+        <parameter type-id='type-id-1160'/>
+        <parameter type-id='type-id-836'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6136'>
+        <parameter type-id='type-id-1160'/>
+        <parameter type-id='type-id-836'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6137'>
+        <parameter type-id='type-id-1160'/>
+        <parameter type-id='type-id-836'/>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-4427'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6138'>
+        <parameter type-id='type-id-1160'/>
+        <parameter type-id='type-id-836'/>
+        <parameter type-id='type-id-1160'/>
+        <parameter type-id='type-id-836'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6139'>
+        <parameter type-id='type-id-1160'/>
+        <parameter type-id='type-id-836'/>
+        <parameter type-id='type-id-4427'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6140'>
+        <parameter type-id='type-id-1160'/>
+        <parameter type-id='type-id-836'/>
+        <parameter type-id='type-id-4427'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6141'>
+        <parameter type-id='type-id-1160'/>
+        <parameter type-id='type-id-836'/>
+        <parameter type-id='type-id-4427'/>
+        <parameter type-id='type-id-4404'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6142'>
+        <parameter type-id='type-id-1160'/>
+        <parameter type-id='type-id-6065'/>
+        <parameter type-id='type-id-134'/>
+        <parameter type-id='type-id-134'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6143'>
+        <parameter type-id='type-id-1160'/>
+        <parameter type-id='type-id-147'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6144'>
+        <parameter type-id='type-id-1160'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6145'>
+        <parameter type-id='type-id-1160'/>
+        <parameter type-id='type-id-6212'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6146'>
+        <parameter type-id='type-id-1160'/>
+        <parameter type-id='type-id-5027'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6147'>
+        <parameter type-id='type-id-1160'/>
+        <parameter type-id='type-id-6232'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6148'>
+        <parameter type-id='type-id-1160'/>
+        <parameter type-id='type-id-6244'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6149'>
+        <parameter type-id='type-id-1160'/>
+        <parameter type-id='type-id-6371'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6150'>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6151'>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6152'>
+        <parameter type-id='type-id-3083'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6153'>
+        <parameter type-id='type-id-3083'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-4427'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6154'>
+        <parameter type-id='type-id-3083'/>
+        <parameter type-id='type-id-3083'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6155'>
+        <parameter type-id='type-id-6209'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6156'>
+        <parameter type-id='type-id-6209'/>
+        <parameter type-id='type-id-132'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6157'>
+        <parameter type-id='type-id-4978'/>
+        <parameter type-id='type-id-82'/>
+        <parameter type-id='type-id-300'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6158'>
+        <parameter type-id='type-id-5074'/>
+        <parameter type-id='type-id-6020'/>
+        <parameter type-id='type-id-6018'/>
+        <parameter type-id='type-id-5074'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6159'>
+        <parameter type-id='type-id-4947'/>
+        <parameter type-id='type-id-87'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6161'>
+        <parameter type-id='type-id-4947'/>
+        <parameter type-id='type-id-87'/>
+        <parameter type-id='type-id-448'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6163'>
+        <parameter type-id='type-id-4465'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6164'>
+        <parameter type-id='type-id-262'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6165'>
+        <parameter type-id='type-id-19'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6166'>
+        <parameter type-id='type-id-5138'/>
+        <parameter type-id='type-id-6221'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6167'>
+        <parameter type-id='type-id-120'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6168'>
+        <parameter type-id='type-id-120'/>
+        <parameter type-id='type-id-272'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6169'>
+        <parameter type-id='type-id-120'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6170'>
+        <parameter type-id='type-id-120'/>
+        <parameter type-id='type-id-6371'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6171'>
+        <parameter type-id='type-id-174'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6172'>
+        <parameter type-id='type-id-174'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6173'>
+        <parameter type-id='type-id-174'/>
+        <parameter type-id='type-id-134'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6174'>
+        <parameter type-id='type-id-4902'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5558'>
+        <parameter type-id='type-id-269'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6175'>
+        <parameter type-id='type-id-269'/>
+        <parameter type-id='type-id-6238'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6176'>
+        <parameter type-id='type-id-269'/>
+        <parameter type-id='type-id-6238'/>
+        <parameter type-id='type-id-2147'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5560'>
+        <parameter type-id='type-id-268'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5519'>
+        <parameter type-id='type-id-268'/>
+        <parameter type-id='type-id-5464'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5502'>
+        <parameter type-id='type-id-268'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5552'>
+        <parameter type-id='type-id-268'/>
+        <parameter type-id='type-id-269'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6177'>
+        <parameter type-id='type-id-268'/>
+        <parameter type-id='type-id-385'/>
+        <parameter type-id='type-id-265'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5496'>
+        <parameter type-id='type-id-268'/>
+        <parameter type-id='type-id-269'/>
+        <parameter type-id='type-id-265'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5514'>
+        <parameter type-id='type-id-268'/>
+        <parameter type-id='type-id-269'/>
+        <parameter type-id='type-id-265'/>
+        <parameter type-id='type-id-272'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5498'>
+        <parameter type-id='type-id-268'/>
+        <parameter type-id='type-id-269'/>
+        <parameter type-id='type-id-269'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5562'>
+        <parameter type-id='type-id-268'/>
+        <parameter type-id='type-id-269'/>
+        <parameter type-id='type-id-272'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5517'>
+        <parameter type-id='type-id-268'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6178'>
+        <parameter type-id='type-id-85'/>
+        <parameter type-id='type-id-4648'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6179'>
+        <parameter type-id='type-id-85'/>
+        <parameter type-id='type-id-836'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6180'>
+        <parameter type-id='type-id-85'/>
+        <parameter type-id='type-id-3083'/>
+        <parameter type-id='type-id-4978'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6181'>
+        <parameter type-id='type-id-85'/>
+        <parameter type-id='type-id-4978'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6182'>
+        <parameter type-id='type-id-85'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6183'>
+        <parameter type-id='type-id-6238'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6184'>
+        <parameter type-id='type-id-2155'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6186'>
+        <parameter type-id='type-id-2155'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6187'>
+        <parameter type-id='type-id-2155'/>
+        <parameter type-id='type-id-82'/>
+        <parameter type-id='type-id-300'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6188'>
+        <parameter type-id='type-id-2155'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-4497'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6189'>
+        <parameter type-id='type-id-2155'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-6230'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6190'>
+        <parameter type-id='type-id-2155'/>
+        <parameter type-id='type-id-6213'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6191'>
+        <parameter type-id='type-id-2155'/>
+        <parameter type-id='type-id-6213'/>
+        <parameter type-id='type-id-6229'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6192'>
+        <parameter type-id='type-id-2155'/>
+        <parameter type-id='type-id-120'/>
+        <parameter type-id='type-id-272'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6193'>
+        <parameter type-id='type-id-2155'/>
+        <parameter type-id='type-id-6231'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6185'>
+        <parameter type-id='type-id-2155'/>
+        <parameter type-id='type-id-5786'/>
+        <parameter type-id='type-id-6229'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6194'>
+        <parameter type-id='type-id-2155'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6195'>
+        <parameter type-id='type-id-6242'/>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-2136'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6196'>
+        <parameter type-id='type-id-118'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6197'>
+        <parameter type-id='type-id-4853'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6198'>
+        <parameter type-id='type-id-4853'/>
+        <parameter type-id='type-id-4868'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6199'>
+        <parameter type-id='type-id-4853'/>
+        <parameter type-id='type-id-174'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6200'>
+        <parameter type-id='type-id-5011'/>
+        <parameter type-id='type-id-836'/>
+        <parameter type-id='type-id-6073'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6201'>
+        <parameter type-id='type-id-5011'/>
+        <parameter type-id='type-id-1160'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6202'>
+        <parameter type-id='type-id-5011'/>
+        <parameter type-id='type-id-85'/>
+        <parameter type-id='type-id-836'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6203'>
+        <parameter type-id='type-id-5011'/>
+        <parameter type-id='type-id-2155'/>
+        <parameter type-id='type-id-82'/>
+        <parameter type-id='type-id-300'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6204'>
+        <parameter type-id='type-id-132'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6205'>
+        <parameter type-id='type-id-132'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6206'>
+        <parameter type-id='type-id-132'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-6032'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-5203'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6207'>
+        <parameter type-id='type-id-132'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6215'>
+        <parameter type-id='type-id-4853'/>
+        <return type-id='type-id-262'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6216'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-4528'/>
+        <parameter type-id='type-id-4528'/>
+        <return type-id='type-id-187'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6217'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-187'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6218'>
+        <parameter type-id='type-id-6236'/>
+        <return type-id='type-id-187'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6219'>
+        <parameter type-id='type-id-2155'/>
+        <parameter type-id='type-id-6239'/>
+        <return type-id='type-id-187'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6222'>
+        <parameter type-id='type-id-6221'/>
+        <return type-id='type-id-6221'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6223'>
+        <parameter type-id='type-id-118'/>
+        <return type-id='type-id-6221'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6224'>
+        <parameter type-id='type-id-132'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-120'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6227'>
+        <parameter type-id='type-id-1160'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-5027'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6233'>
+        <parameter type-id='type-id-1160'/>
+        <return type-id='type-id-6232'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6235'>
+        <parameter type-id='type-id-5969'/>
+        <return type-id='type-id-269'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5509'>
+        <parameter type-id='type-id-268'/>
+        <parameter type-id='type-id-269'/>
+        <return type-id='type-id-269'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6251'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-1833'/>
+        <return type-id='type-id-1834'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6252'>
+        <parameter type-id='type-id-6209'/>
+        <parameter type-id='type-id-1833'/>
+        <return type-id='type-id-1834'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5547'>
+        <parameter type-id='type-id-268'/>
+        <parameter type-id='type-id-265'/>
+        <return type-id='type-id-5549'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6253'>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6254'>
+        <parameter type-id='type-id-5969'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6255'>
+        <parameter type-id='type-id-5969'/>
+        <parameter type-id='type-id-265'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6256'>
+        <parameter type-id='type-id-624'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6257'>
+        <parameter type-id='type-id-624'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6258'>
+        <parameter type-id='type-id-836'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6259'>
+        <parameter type-id='type-id-5865'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6260'>
+        <parameter type-id='type-id-120'/>
+        <parameter type-id='type-id-5249'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6261'>
+        <parameter type-id='type-id-268'/>
+        <parameter type-id='type-id-269'/>
+        <parameter type-id='type-id-265'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5550'>
+        <parameter type-id='type-id-268'/>
+        <parameter type-id='type-id-5549'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6262'>
+        <parameter type-id='type-id-5863'/>
+        <return type-id='type-id-5863'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6263'>
+        <return type-id='type-id-585'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6264'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-4528'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-4528'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6265'>
+        <parameter type-id='type-id-4648'/>
+        <parameter type-id='type-id-5433'/>
+        <return type-id='type-id-581'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6266'>
+        <parameter type-id='type-id-5008'/>
+        <parameter type-id='type-id-2142'/>
+        <return type-id='type-id-2142'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6267'>
+        <parameter type-id='type-id-836'/>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6268'>
+        <parameter type-id='type-id-5361'/>
+        <parameter type-id='type-id-300'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6269'>
+        <parameter type-id='type-id-5361'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6270'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-1705'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6271'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-1705'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6272'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-87'/>
+        <parameter type-id='type-id-273'/>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-4528'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6273'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-1705'/>
+        <parameter type-id='type-id-2208'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6274'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-120'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-1705'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6275'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-4528'/>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-4528'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6276'>
+        <parameter type-id='type-id-6209'/>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-4528'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6277'>
+        <parameter type-id='type-id-6211'/>
+        <parameter type-id='type-id-2241'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6278'>
+        <parameter type-id='type-id-87'/>
+        <parameter type-id='type-id-1013'/>
+        <parameter type-id='type-id-300'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6279'>
+        <parameter type-id='type-id-87'/>
+        <parameter type-id='type-id-1013'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6280'>
+        <parameter type-id='type-id-4931'/>
+        <parameter type-id='type-id-6220'/>
+        <parameter type-id='type-id-300'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6281'>
+        <parameter type-id='type-id-4931'/>
+        <parameter type-id='type-id-6220'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6282'>
+        <parameter type-id='type-id-2208'/>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-1705'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6283'>
+        <parameter type-id='type-id-2155'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-4528'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6284'>
+        <parameter type-id='type-id-2155'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-4528'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6285'>
+        <return type-id='type-id-134'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6286'>
+        <parameter type-id='type-id-4648'/>
+        <parameter type-id='type-id-5433'/>
+        <return type-id='type-id-134'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6287'>
+        <parameter type-id='type-id-87'/>
+        <parameter type-id='type-id-1013'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-4427'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6288'>
+        <parameter type-id='type-id-87'/>
+        <parameter type-id='type-id-273'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-4427'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6289'>
+        <parameter type-id='type-id-6300'/>
+        <return type-id='type-id-5201'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6290'>
+        <parameter type-id='type-id-6300'/>
+        <parameter type-id='type-id-5620'/>
+        <return type-id='type-id-5201'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6292'>
+        <parameter type-id='type-id-270'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-10'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6293'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-100'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6294'>
+        <parameter type-id='type-id-5865'/>
+        <return type-id='type-id-100'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6295'>
+        <parameter type-id='type-id-6240'/>
+        <parameter type-id='type-id-6239'/>
+        <return type-id='type-id-100'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6296'>
+        <parameter type-id='type-id-132'/>
+        <return type-id='type-id-100'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6297'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-100'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6298'>
+        <parameter type-id='type-id-6221'/>
+        <return type-id='type-id-4564'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6299'>
+        <parameter type-id='type-id-6225'/>
+        <return type-id='type-id-5011'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5757'>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5398'>
+        <parameter type-id='type-id-265'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6301'>
+        <parameter type-id='type-id-5969'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6302'>
+        <parameter type-id='type-id-5969'/>
+        <parameter type-id='type-id-262'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6303'>
+        <parameter type-id='type-id-5969'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6304'>
+        <parameter type-id='type-id-2158'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6305'>
+        <parameter type-id='type-id-4987'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6306'>
+        <parameter type-id='type-id-4648'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6307'>
+        <parameter type-id='type-id-4648'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6308'>
+        <parameter type-id='type-id-5972'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6309'>
+        <parameter type-id='type-id-351'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6310'>
+        <parameter type-id='type-id-4497'/>
+        <parameter type-id='type-id-6225'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6311'>
+        <parameter type-id='type-id-5655'/>
+        <parameter type-id='type-id-75'/>
+        <parameter type-id='type-id-6214'/>
+        <parameter type-id='type-id-6210'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6312'>
+        <parameter type-id='type-id-836'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6313'>
+        <parameter type-id='type-id-836'/>
+        <parameter type-id='type-id-1160'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6314'>
+        <parameter type-id='type-id-86'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6315'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-6214'/>
+        <parameter type-id='type-id-6210'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6316'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6317'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-939'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6318'>
+        <parameter type-id='type-id-6059'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5521'>
+        <parameter type-id='type-id-5361'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6319'>
+        <parameter type-id='type-id-147'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6320'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-1868'/>
+        <parameter type-id='type-id-1833'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6321'>
+        <parameter type-id='type-id-5865'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6322'>
+        <parameter type-id='type-id-5865'/>
+        <parameter type-id='type-id-5865'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6323'>
+        <parameter type-id='type-id-5865'/>
+        <parameter type-id='type-id-2240'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6324'>
+        <parameter type-id='type-id-575'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6325'>
+        <parameter type-id='type-id-270'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6326'>
+        <parameter type-id='type-id-270'/>
+        <parameter type-id='type-id-2147'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6327'>
+        <parameter type-id='type-id-1160'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6328'>
+        <parameter type-id='type-id-1160'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5754'>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5511'>
+        <parameter type-id='type-id-5401'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6329'>
+        <parameter type-id='type-id-6208'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6330'>
+        <parameter type-id='type-id-6209'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6331'>
+        <parameter type-id='type-id-6211'/>
+        <parameter type-id='type-id-187'/>
+        <parameter type-id='type-id-187'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6332'>
+        <parameter type-id='type-id-87'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6333'>
+        <parameter type-id='type-id-87'/>
+        <parameter type-id='type-id-6214'/>
+        <parameter type-id='type-id-6210'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6334'>
+        <parameter type-id='type-id-5420'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6335'>
+        <parameter type-id='type-id-19'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6336'>
+        <parameter type-id='type-id-19'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6337'>
+        <parameter type-id='type-id-6221'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6338'>
+        <parameter type-id='type-id-120'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6339'>
+        <parameter type-id='type-id-120'/>
+        <parameter type-id='type-id-763'/>
+        <parameter type-id='type-id-763'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6340'>
+        <parameter type-id='type-id-120'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6341'>
+        <parameter type-id='type-id-120'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5338'>
+        <parameter type-id='type-id-5581'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6342'>
+        <parameter type-id='type-id-174'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6343'>
+        <parameter type-id='type-id-174'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6344'>
+        <parameter type-id='type-id-174'/>
+        <parameter type-id='type-id-158'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6345'>
+        <parameter type-id='type-id-174'/>
+        <parameter type-id='type-id-6226'/>
+        <parameter type-id='type-id-5702'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6346'>
+        <parameter type-id='type-id-4799'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6347'>
+        <parameter type-id='type-id-4902'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6348'>
+        <parameter type-id='type-id-4902'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6349'>
+        <parameter type-id='type-id-269'/>
+        <parameter type-id='type-id-265'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5459'>
+        <parameter type-id='type-id-269'/>
+        <parameter type-id='type-id-380'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5523'>
+        <parameter type-id='type-id-268'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5504'>
+        <parameter type-id='type-id-268'/>
+        <parameter type-id='type-id-269'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5500'>
+        <parameter type-id='type-id-268'/>
+        <parameter type-id='type-id-269'/>
+        <parameter type-id='type-id-265'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5492'>
+        <parameter type-id='type-id-268'/>
+        <parameter type-id='type-id-269'/>
+        <parameter type-id='type-id-5491'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5494'>
+        <parameter type-id='type-id-268'/>
+        <parameter type-id='type-id-269'/>
+        <parameter type-id='type-id-269'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6350'>
+        <parameter type-id='type-id-85'/>
+        <parameter type-id='type-id-147'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6351'>
+        <parameter type-id='type-id-85'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6352'>
+        <parameter type-id='type-id-2155'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6353'>
+        <parameter type-id='type-id-118'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6354'>
+        <parameter type-id='type-id-6243'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6355'>
+        <parameter type-id='type-id-5863'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6356'>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-5968'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6357'>
+        <parameter type-id='type-id-132'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6358'>
+        <parameter type-id='type-id-6300'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6359'>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5457'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6360'>
+        <parameter type-id='type-id-6370'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6361'>
+        <return type-id='type-id-3'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6362'>
+        <parameter type-id='type-id-624'/>
+        <parameter type-id='type-id-512'/>
+        <return type-id='type-id-3'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6363'>
+        <parameter type-id='type-id-86'/>
+        <return type-id='type-id-3'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6364'>
+        <parameter type-id='type-id-87'/>
+        <return type-id='type-id-3'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6365'>
+        <parameter type-id='type-id-174'/>
+        <parameter type-id='type-id-2240'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-3'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6366'>
+        <parameter type-id='type-id-85'/>
+        <parameter type-id='type-id-1705'/>
+        <return type-id='type-id-3'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6367'>
+        <parameter type-id='type-id-85'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-1705'/>
+        <return type-id='type-id-3'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6368'>
+        <parameter type-id='type-id-6241'/>
+        <return type-id='type-id-3'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-5455'>
+        <parameter type-id='type-id-272'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-3'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6369'>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-3'/>
+      </function-type>
+      <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/trace_events.h' line='256' column='1' id='type-id-4859'>
+        <data-member access='private'>
+          <var-decl name='name' type-id='type-id-300' visibility='default' filepath='include/linux/trace_events.h' line='257' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='tp' type-id='type-id-6250' visibility='default' filepath='include/linux/trace_events.h' line='259' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__28' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/linux/fs.h' line='624' column='1' id='type-id-5029'>
+        <data-member access='private'>
+          <var-decl name='i_nlink' type-id='type-id-1030' visibility='default' filepath='include/linux/fs.h' line='625' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='__i_nlink' type-id='type-id-10' visibility='default' filepath='include/linux/fs.h' line='626' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__13' size-in-bits='1472' is-anonymous='yes' visibility='default' filepath='include/linux/elevator.h' line='141' column='1' id='type-id-5466'>
+        <data-member access='private'>
+          <var-decl name='sq' type-id='type-id-5468' visibility='default' filepath='include/linux/elevator.h' line='142' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='mq' type-id='type-id-5525' visibility='default' filepath='include/linux/elevator.h' line='143' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__33' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/dcache.h' line='115' column='1' id='type-id-5018'>
+        <data-member access='private'>
+          <var-decl name='d_alias' type-id='type-id-378' visibility='default' filepath='include/linux/dcache.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='d_in_lookup_hash' type-id='type-id-5013' visibility='default' filepath='include/linux/dcache.h' line='117' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='d_rcu' type-id='type-id-157' visibility='default' filepath='include/linux/dcache.h' line='118' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__12' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/blkdev.h' line='178' column='1' id='type-id-5388'>
+        <data-member access='private'>
+          <var-decl name='hash' type-id='type-id-378' visibility='default' filepath='include/linux/blkdev.h' line='179' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='ipi_list' type-id='type-id-8' visibility='default' filepath='include/linux/blkdev.h' line='180' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__19' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/cred.h' line='154' column='1' id='type-id-5629'>
+        <data-member access='private'>
+          <var-decl name='non_rcu' type-id='type-id-11' visibility='default' filepath='include/linux/cred.h' line='155' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/linux/cred.h' line='156' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__3' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/linux/kernfs.h' line='149' column='1' id='type-id-4976'>
+        <data-member access='private'>
+          <var-decl name='dir' type-id='type-id-4479' visibility='default' filepath='include/linux/kernfs.h' line='150' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='symlink' type-id='type-id-4480' visibility='default' filepath='include/linux/kernfs.h' line='151' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='attr' type-id='type-id-4481' visibility='default' filepath='include/linux/kernfs.h' line='152' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__32' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/dcache.h' line='106' column='1' id='type-id-5017'>
+        <data-member access='private'>
+          <var-decl name='d_lru' type-id='type-id-8' visibility='default' filepath='include/linux/dcache.h' line='107' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='d_wait' type-id='type-id-1868' visibility='default' filepath='include/linux/dcache.h' line='108' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__16' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/linux/key.h' line='158' column='1' id='type-id-5639'>
+        <data-member access='private'>
+          <var-decl name='graveyard_link' type-id='type-id-8' visibility='default' filepath='include/linux/key.h' line='159' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='serial_node' type-id='type-id-1846' visibility='default' filepath='include/linux/key.h' line='160' 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='82' column='1' id='type-id-5404'>
+        <data-member access='private'>
+          <var-decl name='q_node' type-id='type-id-8' visibility='default' filepath='include/linux/iocontext.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='__rcu_icq_cache' type-id='type-id-3525' visibility='default' filepath='include/linux/iocontext.h' line='84' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__5' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/fs.h' line='898' column='1' id='type-id-5003'>
+        <data-member access='private'>
+          <var-decl name='fu_llist' type-id='type-id-1327' visibility='default' filepath='include/linux/fs.h' line='899' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='fu_rcuhead' type-id='type-id-157' visibility='default' filepath='include/linux/fs.h' line='900' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__30' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/linux/fs.h' line='1064' column='1' id='type-id-5868'>
+        <data-member access='private'>
+          <var-decl name='nfs_fl' type-id='type-id-4509' visibility='default' filepath='include/linux/fs.h' line='1065' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='nfs4_fl' type-id='type-id-4510' visibility='default' filepath='include/linux/fs.h' line='1066' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='afs' type-id='type-id-4511' visibility='default' filepath='include/linux/fs.h' line='1070' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__8' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='79' column='1' id='type-id-5218'>
+        <member-type access='private'>
+          <class-decl name='__anonymous_struct__' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='98' column='1' id='type-id-6372'>
+            <member-type access='public'>
+              <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='115' column='1' id='type-id-6373'>
+                <data-member access='private'>
+                  <var-decl name='s_mem' type-id='type-id-3' visibility='default' filepath='include/linux/mm_types.h' line='116' column='1'/>
+                </data-member>
+                <data-member access='private'>
+                  <var-decl name='counters' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='117' column='1'/>
+                </data-member>
+                <data-member access='private'>
+                  <var-decl name='' type-id='type-id-4515' visibility='default' filepath='include/linux/mm_types.h' line='118' column='1'/>
+                </data-member>
+              </union-decl>
+            </member-type>
+            <data-member access='public' layout-offset-in-bits='0'>
+              <var-decl name='' type-id='type-id-5575' visibility='default' filepath='include/linux/mm_types.h' line='99' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='128'>
+              <var-decl name='slab_cache' type-id='type-id-3525' visibility='default' filepath='include/linux/mm_types.h' line='112' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='192'>
+              <var-decl name='freelist' type-id='type-id-3' visibility='default' filepath='include/linux/mm_types.h' line='114' column='1'/>
+            </data-member>
+          </class-decl>
+        </member-type>
+        <member-type access='private'>
+          <class-decl name='__anonymous_struct__1' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='125' column='1' id='type-id-6374'>
+            <data-member access='public' layout-offset-in-bits='0'>
+              <var-decl name='compound_head' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='126' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='64'>
+              <var-decl name='compound_dtor' type-id='type-id-271' visibility='default' filepath='include/linux/mm_types.h' line='129' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='72'>
+              <var-decl name='compound_order' type-id='type-id-271' visibility='default' filepath='include/linux/mm_types.h' line='130' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='96'>
+              <var-decl name='compound_mapcount' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='131' column='1'/>
+            </data-member>
+          </class-decl>
+        </member-type>
+        <member-type access='private'>
+          <class-decl name='__anonymous_struct__2' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='133' column='1' id='type-id-6375'>
+            <data-member access='public' layout-offset-in-bits='0'>
+              <var-decl name='_compound_pad_1' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='134' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='64'>
+              <var-decl name='_compound_pad_2' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='135' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='128'>
+              <var-decl name='deferred_list' type-id='type-id-8' visibility='default' filepath='include/linux/mm_types.h' line='136' column='1'/>
+            </data-member>
+          </class-decl>
+        </member-type>
+        <member-type access='private'>
+          <class-decl name='__anonymous_struct__3' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='138' column='1' id='type-id-6376'>
+            <data-member access='public' layout-offset-in-bits='0'>
+              <var-decl name='_pt_pad_1' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='139' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='64'>
+              <var-decl name='pmd_huge_pte' type-id='type-id-152' visibility='default' filepath='include/linux/mm_types.h' line='140' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='128'>
+              <var-decl name='_pt_pad_2' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='141' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='192'>
+              <var-decl name='' type-id='type-id-6377' visibility='default' filepath='include/linux/mm_types.h' line='142' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='256'>
+              <var-decl name='ptl' type-id='type-id-106' visibility='default' filepath='include/linux/mm_types.h' line='149' column='1'/>
+            </data-member>
+          </class-decl>
+        </member-type>
+        <member-type access='private'>
+          <class-decl name='__anonymous_struct__4' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='152' column='1' id='type-id-6378'>
+            <data-member access='public' layout-offset-in-bits='0'>
+              <var-decl name='pgmap' type-id='type-id-6057' visibility='default' filepath='include/linux/mm_types.h' line='154' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='64'>
+              <var-decl name='hmm_data' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='155' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='128'>
+              <var-decl name='_zd_pad_1' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='156' column='1'/>
+            </data-member>
+          </class-decl>
+        </member-type>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-156' visibility='default' filepath='include/linux/mm_types.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='callback_head' type-id='type-id-157' visibility='default' filepath='include/linux/mm_types.h' line='160' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__7' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='303' column='1' id='type-id-5184'>
+        <data-member access='private'>
+          <var-decl name='shared' type-id='type-id-5188' visibility='default' filepath='include/linux/mm_types.h' line='307' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='anon_name' type-id='type-id-24' visibility='default' filepath='include/linux/mm_types.h' line='308' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__34' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/moduleparam.h' line='78' column='1' id='type-id-5904'>
+        <data-member access='private'>
+          <var-decl name='arg' type-id='type-id-3' visibility='default' filepath='include/linux/moduleparam.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='str' type-id='type-id-6026' visibility='default' filepath='include/linux/moduleparam.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='arr' type-id='type-id-6024' visibility='default' filepath='include/linux/moduleparam.h' line='81' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__26' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/linux/backing-dev-defs.h' line='160' column='1' id='type-id-5114'>
+        <data-member access='private'>
+          <var-decl name='release_work' type-id='type-id-149' visibility='default' filepath='include/linux/backing-dev-defs.h' line='161' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/linux/backing-dev-defs.h' line='162' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__11' is-anonymous='yes' visibility='default' filepath='include/linux/blk_types.h' line='194' column='1' id='type-id-5395'/>
+      <union-decl name='__anonymous_union__15' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='142' column='1' id='type-id-6377'>
+        <data-member access='private'>
+          <var-decl name='pt_mm' type-id='type-id-158' visibility='default' filepath='include/linux/mm_types.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='pt_frag_refcount' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='144' column='1'/>
+        </data-member>
+      </union-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/audit.c' language='LANG_C89'>
+
+
+
+
+      <array-type-def dimensions='1' type-id='type-id-2085' size-in-bits='64' id='type-id-3574'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-2575' size-in-bits='256' id='type-id-6379'>
+        <subrange length='4' type-id='type-id-5' id='type-id-281'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-1107' size-in-bits='32' id='type-id-1475'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-266' size-in-bits='128' id='type-id-1279'>
+        <subrange length='4' type-id='type-id-5' id='type-id-281'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-266' size-in-bits='224' id='type-id-6380'>
+        <subrange length='7' type-id='type-id-5' id='type-id-357'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-266' size-in-bits='256' id='type-id-2406'>
+        <subrange length='8' type-id='type-id-5' id='type-id-1953'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-1122' size-in-bits='16' id='type-id-6381'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-1122' size-in-bits='256' id='type-id-2409'>
+        <subrange length='32' type-id='type-id-5' id='type-id-2319'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-1122' size-in-bits='416' id='type-id-6382'>
+        <subrange length='52' type-id='type-id-5' id='type-id-6383'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-1122' size-in-bits='48' id='type-id-6384'>
+        <subrange length='6' type-id='type-id-5' id='type-id-1951'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-6385' size-in-bits='4160' id='type-id-6386'>
+        <subrange length='5' type-id='type-id-5' id='type-id-3376'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-6387' size-in-bits='infinite' id='type-id-6388'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-475' size-in-bits='1008' id='type-id-6389'>
+        <subrange length='126' type-id='type-id-5' id='type-id-6390'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-475' size-in-bits='96' id='type-id-6391'>
+        <subrange length='12' type-id='type-id-5' id='type-id-3835'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-475' size-in-bits='112' id='type-id-6392'>
+        <subrange length='14' type-id='type-id-5' id='type-id-1124'/>
+
+      </array-type-def>
+      <class-decl name='audit_aux_data' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-6393'/>
+      <class-decl name='audit_tree_refs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-6394'/>
+      <class-decl name='bpf_offloaded_map' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-6395'/>
+      <class-decl name='bpf_prog_aux' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-6396'/>
+      <class-decl name='bpf_prog_offload_ops' size-in-bits='64' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-6397'/>
+      <class-decl name='cpu_rmap' size-in-bits='128' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-6398'/>
+      <class-decl name='in_device' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-6399'/>
+      <class-decl name='inet6_dev' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-6400'/>
+      <class-decl name='iw_handler_def' size-in-bits='320' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-6401'/>
+      <class-decl name='iw_public_data' size-in-bits='128' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-6402'/>
+      <class-decl name='lwtunnel_state' size-in-bits='384' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-6403'/>
+      <class-decl name='ndisc_ops' size-in-bits='384' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-6404'/>
+      <class-decl name='net_rate_estimator' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-6405'/>
+      <class-decl name='pcpu_dstats' size-in-bits='128' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-6406'/>
+      <class-decl name='pcpu_lstats' size-in-bits='128' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-6407'/>
+      <class-decl name='pcpu_vstats' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-6408'/>
+      <class-decl name='phy_device' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-6409'/>
+      <class-decl name='qdisc_walker' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-6410'/>
+      <class-decl name='raw_hashinfo' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-6411'/>
+      <class-decl name='request_sock_ops' size-in-bits='512' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-6412'/>
+      <class-decl name='sfp_bus' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-6413'/>
+      <class-decl name='sock_reuseport' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-6414'/>
+      <class-decl name='tcf_walker' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-6415'/>
+      <class-decl name='timewait_sock_ops' size-in-bits='320' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-6416'/>
+      <class-decl name='tipc_bearer' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-6417'/>
+      <class-decl name='udp_table' size-in-bits='192' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-6418'/>
+      <class-decl name='udp_tunnel_info' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-6419'/>
+      <class-decl name='wireless_dev' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-6420'/>
+      <class-decl name='wpan_dev' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-6421'/>
+      <class-decl name='xdp_umem' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-6422'/>
+      <class-decl name='xfrm_policy' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-6423'/>
+      <class-decl name='xfrm_state' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-6424'/>
+      <array-type-def dimensions='1' type-id='type-id-88' size-in-bits='256' id='type-id-4332'>
+        <subrange length='4' type-id='type-id-5' id='type-id-281'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-880' size-in-bits='infinite' id='type-id-6425'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-297' size-in-bits='1024' id='type-id-6426'>
+        <subrange length='16' type-id='type-id-5' id='type-id-195'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='416' id='type-id-6427'>
+        <subrange length='13' type-id='type-id-5' id='type-id-1955'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-187' size-in-bits='384' id='type-id-6428'>
+        <subrange length='6' type-id='type-id-5' id='type-id-1951'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-6429' size-in-bits='512' id='type-id-6430'>
+        <subrange length='16' type-id='type-id-5' id='type-id-195'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-6431' size-in-bits='infinite' id='type-id-6432'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-6433' size-in-bits='infinite' id='type-id-6434'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-289' size-in-bits='infinite' id='type-id-6435'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='128' id='type-id-1788'>
+        <subrange length='16' type-id='type-id-5' id='type-id-195'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='160' id='type-id-6436'>
+        <subrange length='20' type-id='type-id-5' id='type-id-2116'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='64' id='type-id-1399'>
+        <subrange length='8' type-id='type-id-5' id='type-id-1953'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='infinite' id='type-id-3513'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-271' size-in-bits='48' id='type-id-6437'>
+        <subrange length='6' type-id='type-id-5' id='type-id-1951'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-100' size-in-bits='768' id='type-id-3851'>
+        <subrange length='12' type-id='type-id-5' id='type-id-3835'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-6438' size-in-bits='128' id='type-id-6439'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-6440' size-in-bits='infinite' id='type-id-6441'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <class-decl name='sock' size-in-bits='5760' is-struct='yes' visibility='default' filepath='include/net/sock.h' line='327' column='1' id='type-id-6442'>
+        <member-type access='public'>
+          <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='413' column='1' id='type-id-6443'>
+            <data-member access='private'>
+              <var-decl name='sk_send_head' type-id='type-id-513' visibility='default' filepath='include/net/sock.h' line='414' column='1'/>
+            </data-member>
+            <data-member access='private'>
+              <var-decl name='tcp_rtx_queue' type-id='type-id-133' visibility='default' filepath='include/net/sock.h' line='415' column='1'/>
+            </data-member>
+          </union-decl>
+        </member-type>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='__sk_common' type-id='type-id-6444' visibility='default' filepath='include/net/sock.h' line='332' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='sk_lock' type-id='type-id-6445' visibility='default' filepath='include/net/sock.h' line='367' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='sk_drops' type-id='type-id-137' visibility='default' filepath='include/net/sock.h' line='368' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1376'>
+          <var-decl name='sk_rcvlowat' type-id='type-id-11' visibility='default' filepath='include/net/sock.h' line='369' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='sk_error_queue' type-id='type-id-6446' visibility='default' filepath='include/net/sock.h' line='370' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='sk_receive_queue' type-id='type-id-6446' visibility='default' filepath='include/net/sock.h' line='371' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='sk_backlog' type-id='type-id-6447' visibility='default' filepath='include/net/sock.h' line='385' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='sk_forward_alloc' type-id='type-id-11' visibility='default' filepath='include/net/sock.h' line='388' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2016'>
+          <var-decl name='sk_ll_usec' type-id='type-id-10' visibility='default' filepath='include/net/sock.h' line='390' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='sk_napi_id' type-id='type-id-10' visibility='default' filepath='include/net/sock.h' line='392' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2080'>
+          <var-decl name='sk_rcvbuf' type-id='type-id-11' visibility='default' filepath='include/net/sock.h' line='394' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='sk_filter' type-id='type-id-6448' visibility='default' filepath='include/net/sock.h' line='396' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='' type-id='type-id-6449' visibility='default' filepath='include/net/sock.h' line='397' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='sk_policy' type-id='type-id-6439' visibility='default' filepath='include/net/sock.h' line='402' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='sk_rx_dst' type-id='type-id-2994' visibility='default' filepath='include/net/sock.h' line='404' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='sk_dst_cache' type-id='type-id-2994' visibility='default' filepath='include/net/sock.h' line='405' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='sk_omem_alloc' type-id='type-id-137' visibility='default' filepath='include/net/sock.h' line='406' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2528'>
+          <var-decl name='sk_sndbuf' type-id='type-id-11' visibility='default' filepath='include/net/sock.h' line='407' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='sk_wmem_queued' type-id='type-id-11' visibility='default' filepath='include/net/sock.h' line='410' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2592'>
+          <var-decl name='sk_wmem_alloc' type-id='type-id-12' visibility='default' filepath='include/net/sock.h' line='411' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2624'>
+          <var-decl name='sk_tsq_flags' type-id='type-id-100' visibility='default' filepath='include/net/sock.h' line='412' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2752'>
+          <var-decl name='sk_write_queue' type-id='type-id-6446' visibility='default' filepath='include/net/sock.h' line='417' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2944'>
+          <var-decl name='sk_peek_off' type-id='type-id-2310' visibility='default' filepath='include/net/sock.h' line='418' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2976'>
+          <var-decl name='sk_write_pending' type-id='type-id-11' visibility='default' filepath='include/net/sock.h' line='419' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3008'>
+          <var-decl name='sk_dst_pending_confirm' type-id='type-id-266' visibility='default' filepath='include/net/sock.h' line='420' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3040'>
+          <var-decl name='sk_pacing_status' type-id='type-id-9' visibility='default' filepath='include/net/sock.h' line='421' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3072'>
+          <var-decl name='sk_sndtimeo' type-id='type-id-187' visibility='default' filepath='include/net/sock.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3136'>
+          <var-decl name='sk_timer' type-id='type-id-1240' visibility='default' filepath='include/net/sock.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3456'>
+          <var-decl name='sk_priority' type-id='type-id-266' visibility='default' filepath='include/net/sock.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3488'>
+          <var-decl name='sk_mark' type-id='type-id-266' visibility='default' filepath='include/net/sock.h' line='425' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3520'>
+          <var-decl name='sk_pacing_rate' type-id='type-id-9' visibility='default' filepath='include/net/sock.h' line='426' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3552'>
+          <var-decl name='sk_max_pacing_rate' type-id='type-id-9' visibility='default' filepath='include/net/sock.h' line='427' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3584'>
+          <var-decl name='sk_frag' type-id='type-id-3009' visibility='default' filepath='include/net/sock.h' line='428' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3712'>
+          <var-decl name='sk_route_caps' type-id='type-id-6450' visibility='default' filepath='include/net/sock.h' line='429' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3776'>
+          <var-decl name='sk_route_nocaps' type-id='type-id-6450' visibility='default' filepath='include/net/sock.h' line='430' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3840'>
+          <var-decl name='sk_route_forced_caps' type-id='type-id-6450' visibility='default' filepath='include/net/sock.h' line='431' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3904'>
+          <var-decl name='sk_gso_type' type-id='type-id-11' visibility='default' filepath='include/net/sock.h' line='432' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3936'>
+          <var-decl name='sk_gso_max_size' type-id='type-id-10' visibility='default' filepath='include/net/sock.h' line='433' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3968'>
+          <var-decl name='sk_allocation' type-id='type-id-272' visibility='default' filepath='include/net/sock.h' line='434' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4000'>
+          <var-decl name='sk_txhash' type-id='type-id-266' visibility='default' filepath='include/net/sock.h' line='435' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4032'>
+          <var-decl name='__sk_flags_offset' type-id='type-id-6451' visibility='default' filepath='include/net/sock.h' line='441' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='sk_padding' type-id='type-id-10' visibility='default' filepath='include/net/sock.h' line='456' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='sk_kern_sock' type-id='type-id-10' visibility='default' filepath='include/net/sock.h' line='457' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='29'>
+          <var-decl name='sk_no_check_tx' type-id='type-id-10' visibility='default' filepath='include/net/sock.h' line='458' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='28'>
+          <var-decl name='sk_no_check_rx' type-id='type-id-10' visibility='default' filepath='include/net/sock.h' line='459' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='sk_userlocks' type-id='type-id-10' visibility='default' filepath='include/net/sock.h' line='460' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='sk_protocol' type-id='type-id-10' visibility='default' filepath='include/net/sock.h' line='461' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4032'>
+          <var-decl name='sk_type' type-id='type-id-10' visibility='default' filepath='include/net/sock.h' line='462' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4064'>
+          <var-decl name='sk_gso_max_segs' type-id='type-id-289' visibility='default' filepath='include/net/sock.h' line='464' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4080'>
+          <var-decl name='sk_pacing_shift' type-id='type-id-53' visibility='default' filepath='include/net/sock.h' line='465' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4096'>
+          <var-decl name='sk_lingertime' type-id='type-id-100' visibility='default' filepath='include/net/sock.h' line='466' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4160'>
+          <var-decl name='sk_prot_creator' type-id='type-id-2993' visibility='default' filepath='include/net/sock.h' line='467' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4224'>
+          <var-decl name='sk_callback_lock' type-id='type-id-1847' visibility='default' filepath='include/net/sock.h' line='468' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4288'>
+          <var-decl name='sk_err' type-id='type-id-11' visibility='default' filepath='include/net/sock.h' line='469' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4320'>
+          <var-decl name='sk_err_soft' type-id='type-id-11' visibility='default' filepath='include/net/sock.h' line='470' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4352'>
+          <var-decl name='sk_ack_backlog' type-id='type-id-9' visibility='default' filepath='include/net/sock.h' line='471' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4384'>
+          <var-decl name='sk_max_ack_backlog' type-id='type-id-9' visibility='default' filepath='include/net/sock.h' line='472' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4416'>
+          <var-decl name='sk_uid' type-id='type-id-4567' visibility='default' filepath='include/net/sock.h' line='473' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4480'>
+          <var-decl name='sk_peer_pid' type-id='type-id-1213' visibility='default' filepath='include/net/sock.h' line='474' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4544'>
+          <var-decl name='sk_peer_cred' type-id='type-id-4498' visibility='default' filepath='include/net/sock.h' line='475' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4608'>
+          <var-decl name='sk_rcvtimeo' type-id='type-id-187' visibility='default' filepath='include/net/sock.h' line='476' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4672'>
+          <var-decl name='sk_stamp' type-id='type-id-585' visibility='default' filepath='include/net/sock.h' line='477' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4736'>
+          <var-decl name='sk_tsflags' type-id='type-id-289' visibility='default' filepath='include/net/sock.h' line='481' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4752'>
+          <var-decl name='sk_shutdown' type-id='type-id-53' visibility='default' filepath='include/net/sock.h' line='482' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4768'>
+          <var-decl name='sk_tskey' type-id='type-id-9' visibility='default' filepath='include/net/sock.h' line='483' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4800'>
+          <var-decl name='sk_zckey' type-id='type-id-137' visibility='default' filepath='include/net/sock.h' line='484' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4832'>
+          <var-decl name='sk_clockid' type-id='type-id-53' visibility='default' filepath='include/net/sock.h' line='486' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7'>
+          <var-decl name='sk_txtime_deadline_mode' type-id='type-id-53' visibility='default' filepath='include/net/sock.h' line='487' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6'>
+          <var-decl name='sk_txtime_report_errors' type-id='type-id-53' visibility='default' filepath='include/net/sock.h' line='488' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4840'>
+          <var-decl name='sk_txtime_unused' type-id='type-id-53' visibility='default' filepath='include/net/sock.h' line='489' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4864'>
+          <var-decl name='sk_socket' type-id='type-id-2985' visibility='default' filepath='include/net/sock.h' line='491' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4928'>
+          <var-decl name='sk_user_data' type-id='type-id-3' visibility='default' filepath='include/net/sock.h' line='492' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4992'>
+          <var-decl name='sk_security' type-id='type-id-3' visibility='default' filepath='include/net/sock.h' line='494' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5056'>
+          <var-decl name='sk_cgrp_data' type-id='type-id-6452' visibility='default' filepath='include/net/sock.h' line='496' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5120'>
+          <var-decl name='sk_memcg' type-id='type-id-5159' visibility='default' filepath='include/net/sock.h' line='497' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5184'>
+          <var-decl name='sk_state_change' type-id='type-id-6453' visibility='default' filepath='include/net/sock.h' line='498' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5248'>
+          <var-decl name='sk_data_ready' type-id='type-id-6453' visibility='default' filepath='include/net/sock.h' line='499' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5312'>
+          <var-decl name='sk_write_space' type-id='type-id-6453' visibility='default' filepath='include/net/sock.h' line='500' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5376'>
+          <var-decl name='sk_error_report' type-id='type-id-6453' visibility='default' filepath='include/net/sock.h' line='501' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5440'>
+          <var-decl name='sk_backlog_rcv' type-id='type-id-6454' visibility='default' filepath='include/net/sock.h' line='502' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5504'>
+          <var-decl name='sk_destruct' type-id='type-id-6453' visibility='default' filepath='include/net/sock.h' line='509' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5568'>
+          <var-decl name='sk_reuseport_cb' type-id='type-id-6455' visibility='default' filepath='include/net/sock.h' line='510' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5632'>
+          <var-decl name='sk_rcu' type-id='type-id-157' visibility='default' filepath='include/net/sock.h' line='511' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='sock_common' size-in-bits='1088' is-struct='yes' visibility='default' filepath='include/net/sock.h' line='152' column='1' id='type-id-6444'>
+
+          <member-type access='public'>
+            <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='163' column='1' id='type-id-6456'>
+              <data-member access='private'>
+                <var-decl name='skc_hash' type-id='type-id-10' visibility='default' filepath='include/net/sock.h' line='164' column='1'/>
+              </data-member>
+              <data-member access='private'>
+                <var-decl name='skc_u16hashes' type-id='type-id-1475' visibility='default' filepath='include/net/sock.h' line='165' column='1'/>
+              </data-member>
+            </union-decl>
+          </member-type>
+
+          <member-type access='public'>
+            <union-decl name='__anonymous_union__1' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='168' column='1' id='type-id-6457'>
+              <data-member access='private'>
+                <var-decl name='skc_portpair' type-id='type-id-6458' visibility='default' filepath='include/net/sock.h' line='169' column='1'/>
+              </data-member>
+              <data-member access='private'>
+                <var-decl name='' type-id='type-id-6459' visibility='default' filepath='include/net/sock.h' line='170' column='1'/>
+              </data-member>
+            </union-decl>
+          </member-type>
+
+          <member-type access='public'>
+            <union-decl name='__anonymous_union__2' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='183' column='1' id='type-id-6460'>
+              <data-member access='private'>
+                <var-decl name='skc_bind_node' type-id='type-id-378' visibility='default' filepath='include/net/sock.h' line='184' column='1'/>
+              </data-member>
+              <data-member access='private'>
+                <var-decl name='skc_portaddr_node' type-id='type-id-378' visibility='default' filepath='include/net/sock.h' line='185' column='1'/>
+              </data-member>
+            </union-decl>
+          </member-type>
+
+          <member-type access='public'>
+            <union-decl name='__anonymous_union__3' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='202' column='1' id='type-id-6461'>
+              <data-member access='private'>
+                <var-decl name='skc_flags' type-id='type-id-100' visibility='default' filepath='include/net/sock.h' line='203' column='1'/>
+              </data-member>
+              <data-member access='private'>
+                <var-decl name='skc_listener' type-id='type-id-2995' visibility='default' filepath='include/net/sock.h' line='204' column='1'/>
+              </data-member>
+              <data-member access='private'>
+                <var-decl name='skc_tw_dr' type-id='type-id-6462' visibility='default' filepath='include/net/sock.h' line='205' column='1'/>
+              </data-member>
+            </union-decl>
+          </member-type>
+
+          <member-type access='public'>
+            <union-decl name='__anonymous_union__4' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='214' column='1' id='type-id-6463'>
+              <data-member access='private'>
+                <var-decl name='skc_node' type-id='type-id-378' visibility='default' filepath='include/net/sock.h' line='215' column='1'/>
+              </data-member>
+              <data-member access='private'>
+                <var-decl name='skc_nulls_node' type-id='type-id-6464' visibility='default' filepath='include/net/sock.h' line='216' column='1'/>
+              </data-member>
+            </union-decl>
+          </member-type>
+
+          <member-type access='public'>
+            <union-decl name='__anonymous_union__5' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='222' column='1' id='type-id-6465'>
+              <data-member access='private'>
+                <var-decl name='skc_incoming_cpu' type-id='type-id-11' visibility='default' filepath='include/net/sock.h' line='223' column='1'/>
+              </data-member>
+              <data-member access='private'>
+                <var-decl name='skc_rcv_wnd' type-id='type-id-9' visibility='default' filepath='include/net/sock.h' line='224' column='1'/>
+              </data-member>
+              <data-member access='private'>
+                <var-decl name='skc_tw_rcv_nxt' type-id='type-id-9' visibility='default' filepath='include/net/sock.h' line='225' column='1'/>
+              </data-member>
+            </union-decl>
+          </member-type>
+        <member-type access='public'>
+          <union-decl name='__anonymous_union__6' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='231' column='1' id='type-id-6466'>
+            <data-member access='private'>
+              <var-decl name='skc_rxhash' type-id='type-id-9' visibility='default' filepath='include/net/sock.h' line='232' column='1'/>
+            </data-member>
+            <data-member access='private'>
+              <var-decl name='skc_window_clamp' type-id='type-id-9' visibility='default' filepath='include/net/sock.h' line='233' column='1'/>
+            </data-member>
+            <data-member access='private'>
+              <var-decl name='skc_tw_snd_nxt' type-id='type-id-9' visibility='default' filepath='include/net/sock.h' line='234' column='1'/>
+            </data-member>
+          </union-decl>
+        </member-type>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='' type-id='type-id-6467' visibility='default' filepath='include/net/sock.h' line='156' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='skc_family' type-id='type-id-288' visibility='default' filepath='include/net/sock.h' line='176' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='144'>
+          <var-decl name='skc_state' type-id='type-id-6468' visibility='default' filepath='include/net/sock.h' line='177' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4'>
+          <var-decl name='skc_reuse' type-id='type-id-271' visibility='default' filepath='include/net/sock.h' line='178' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3'>
+          <var-decl name='skc_reuseport' type-id='type-id-271' visibility='default' filepath='include/net/sock.h' line='179' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2'>
+          <var-decl name='skc_ipv6only' type-id='type-id-271' visibility='default' filepath='include/net/sock.h' line='180' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1'>
+          <var-decl name='skc_net_refcnt' type-id='type-id-271' visibility='default' filepath='include/net/sock.h' line='181' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='skc_bound_dev_if' type-id='type-id-11' visibility='default' filepath='include/net/sock.h' line='182' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='skc_prot' type-id='type-id-2993' visibility='default' filepath='include/net/sock.h' line='187' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='skc_net' type-id='type-id-6469' visibility='default' filepath='include/net/sock.h' line='188' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='skc_v6_daddr' type-id='type-id-3028' visibility='default' filepath='include/net/sock.h' line='191' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='skc_v6_rcv_saddr' type-id='type-id-3028' visibility='default' filepath='include/net/sock.h' line='192' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='skc_cookie' type-id='type-id-188' visibility='default' filepath='include/net/sock.h' line='195' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='skc_dontcopy_begin' type-id='type-id-4768' visibility='default' filepath='include/net/sock.h' line='212' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='skc_tx_queue_mapping' type-id='type-id-288' visibility='default' filepath='include/net/sock.h' line='218' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='976'>
+          <var-decl name='skc_rx_queue_mapping' type-id='type-id-288' visibility='default' filepath='include/net/sock.h' line='220' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='skc_refcnt' type-id='type-id-12' visibility='default' filepath='include/net/sock.h' line='228' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1056'>
+          <var-decl name='skc_dontcopy_end' type-id='type-id-4768' visibility='default' filepath='include/net/sock.h' line='230' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='__addrpair' type-id='type-id-1120' filepath='include/net/sock.h' line='120' column='1' id='type-id-6470'/>
+      <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='158' column='1' id='type-id-6471'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='skc_daddr' type-id='type-id-2085' visibility='default' filepath='include/net/sock.h' line='159' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='skc_rcv_saddr' type-id='type-id-2085' visibility='default' filepath='include/net/sock.h' line='160' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='__portpair' type-id='type-id-266' filepath='include/net/sock.h' line='119' column='1' id='type-id-6458'/>
+      <class-decl name='__anonymous_struct__1' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='170' column='1' id='type-id-6459'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='skc_dport' type-id='type-id-3573' visibility='default' filepath='include/net/sock.h' line='171' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='skc_num' type-id='type-id-1107' visibility='default' filepath='include/net/sock.h' line='172' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='proto' size-in-bits='3392' is-struct='yes' visibility='default' filepath='include/net/sock.h' line='1063' column='1' id='type-id-6472'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='close' type-id='type-id-6473' visibility='default' filepath='include/net/sock.h' line='1064' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='pre_connect' type-id='type-id-6474' visibility='default' filepath='include/net/sock.h' line='1066' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='connect' type-id='type-id-6474' visibility='default' filepath='include/net/sock.h' line='1069' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='disconnect' type-id='type-id-6475' visibility='default' filepath='include/net/sock.h' line='1072' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='accept' type-id='type-id-6476' visibility='default' filepath='include/net/sock.h' line='1074' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='ioctl' type-id='type-id-6477' visibility='default' filepath='include/net/sock.h' line='1077' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='init' type-id='type-id-6478' visibility='default' filepath='include/net/sock.h' line='1079' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='destroy' type-id='type-id-6453' visibility='default' filepath='include/net/sock.h' line='1080' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='shutdown' type-id='type-id-6479' visibility='default' filepath='include/net/sock.h' line='1081' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='setsockopt' type-id='type-id-6480' visibility='default' filepath='include/net/sock.h' line='1082' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='getsockopt' type-id='type-id-6481' visibility='default' filepath='include/net/sock.h' line='1085' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='keepalive' type-id='type-id-6479' visibility='default' filepath='include/net/sock.h' line='1088' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='compat_setsockopt' type-id='type-id-6480' visibility='default' filepath='include/net/sock.h' line='1090' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='compat_getsockopt' type-id='type-id-6481' visibility='default' filepath='include/net/sock.h' line='1094' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='compat_ioctl' type-id='type-id-6482' visibility='default' filepath='include/net/sock.h' line='1098' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='sendmsg' type-id='type-id-6483' visibility='default' filepath='include/net/sock.h' line='1101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='recvmsg' type-id='type-id-6484' visibility='default' filepath='include/net/sock.h' line='1103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='sendpage' type-id='type-id-6485' visibility='default' filepath='include/net/sock.h' line='1106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='bind' type-id='type-id-6474' visibility='default' filepath='include/net/sock.h' line='1108' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='backlog_rcv' type-id='type-id-6454' visibility='default' filepath='include/net/sock.h' line='1111' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='release_cb' type-id='type-id-6453' visibility='default' filepath='include/net/sock.h' line='1114' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='hash' type-id='type-id-6478' visibility='default' filepath='include/net/sock.h' line='1117' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='unhash' type-id='type-id-6453' visibility='default' filepath='include/net/sock.h' line='1118' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='rehash' type-id='type-id-6453' visibility='default' filepath='include/net/sock.h' line='1119' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='get_port' type-id='type-id-6486' visibility='default' filepath='include/net/sock.h' line='1120' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='inuse_idx' type-id='type-id-10' visibility='default' filepath='include/net/sock.h' line='1124' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='stream_memory_free' type-id='type-id-6487' visibility='default' filepath='include/net/sock.h' line='1127' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='stream_memory_read' type-id='type-id-6487' visibility='default' filepath='include/net/sock.h' line='1128' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='enter_memory_pressure' type-id='type-id-6453' visibility='default' filepath='include/net/sock.h' line='1130' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='leave_memory_pressure' type-id='type-id-6453' visibility='default' filepath='include/net/sock.h' line='1131' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='memory_allocated' type-id='type-id-5838' visibility='default' filepath='include/net/sock.h' line='1132' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='sockets_allocated' type-id='type-id-6488' visibility='default' filepath='include/net/sock.h' line='1133' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='memory_pressure' type-id='type-id-76' visibility='default' filepath='include/net/sock.h' line='1140' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='sysctl_mem' type-id='type-id-6489' visibility='default' filepath='include/net/sock.h' line='1141' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='sysctl_wmem' type-id='type-id-82' visibility='default' filepath='include/net/sock.h' line='1143' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='sysctl_rmem' type-id='type-id-82' visibility='default' filepath='include/net/sock.h' line='1144' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='sysctl_wmem_offset' type-id='type-id-9' visibility='default' filepath='include/net/sock.h' line='1145' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2336'>
+          <var-decl name='sysctl_rmem_offset' type-id='type-id-9' visibility='default' filepath='include/net/sock.h' line='1146' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='max_header' type-id='type-id-11' visibility='default' filepath='include/net/sock.h' line='1148' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2400'>
+          <var-decl name='no_autobind' type-id='type-id-211' visibility='default' filepath='include/net/sock.h' line='1149' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='slab' type-id='type-id-3525' visibility='default' filepath='include/net/sock.h' line='1151' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='obj_size' type-id='type-id-10' visibility='default' filepath='include/net/sock.h' line='1152' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2528'>
+          <var-decl name='slab_flags' type-id='type-id-6490' visibility='default' filepath='include/net/sock.h' line='1153' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='useroffset' type-id='type-id-10' visibility='default' filepath='include/net/sock.h' line='1154' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2592'>
+          <var-decl name='usersize' type-id='type-id-10' visibility='default' filepath='include/net/sock.h' line='1155' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2624'>
+          <var-decl name='orphan_count' type-id='type-id-6488' visibility='default' filepath='include/net/sock.h' line='1157' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2688'>
+          <var-decl name='rsk_prot' type-id='type-id-6491' visibility='default' filepath='include/net/sock.h' line='1159' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2752'>
+          <var-decl name='twsk_prot' type-id='type-id-6492' visibility='default' filepath='include/net/sock.h' line='1160' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2816'>
+          <var-decl name='h' type-id='type-id-6493' visibility='default' filepath='include/net/sock.h' line='1167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2880'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/net/sock.h' line='1169' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2944'>
+          <var-decl name='name' type-id='type-id-650' visibility='default' filepath='include/net/sock.h' line='1171' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3200'>
+          <var-decl name='node' type-id='type-id-8' visibility='default' filepath='include/net/sock.h' line='1173' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3328'>
+          <var-decl name='diag_destroy' type-id='type-id-6475' visibility='default' filepath='include/net/sock.h' line='1177' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='sockaddr' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/socket.h' line='30' column='1' id='type-id-6494'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='sa_family' type-id='type-id-6495' visibility='default' filepath='include/linux/socket.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='sa_data' type-id='type-id-6392' visibility='default' filepath='include/linux/socket.h' line='32' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='sa_family_t' type-id='type-id-6496' filepath='include/linux/socket.h' line='24' column='1' id='type-id-6495'/>
+      <typedef-decl name='__kernel_sa_family_t' type-id='type-id-288' filepath='include/uapi/linux/socket.h' line='12' column='1' id='type-id-6496'/>
+      <class-decl name='msghdr' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/linux/socket.h' line='48' column='1' id='type-id-6497'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='msg_name' type-id='type-id-3' visibility='default' filepath='include/linux/socket.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='msg_namelen' type-id='type-id-11' visibility='default' filepath='include/linux/socket.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='msg_iter' type-id='type-id-5242' visibility='default' filepath='include/linux/socket.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='msg_control' type-id='type-id-3' visibility='default' filepath='include/linux/socket.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='msg_controllen' type-id='type-id-4897' visibility='default' filepath='include/linux/socket.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='msg_flags' type-id='type-id-10' visibility='default' filepath='include/linux/socket.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='msg_iocb' type-id='type-id-6211' visibility='default' filepath='include/linux/socket.h' line='55' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/uio.h' line='35' column='1' id='type-id-6498'>
+        <data-member access='private'>
+          <var-decl name='iov' type-id='type-id-2205' visibility='default' filepath='include/linux/uio.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='kvec' type-id='type-id-2206' visibility='default' filepath='include/linux/uio.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='bvec' type-id='type-id-2207' visibility='default' filepath='include/linux/uio.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='pipe' type-id='type-id-4602' visibility='default' filepath='include/linux/uio.h' line='39' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__2' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='667' column='1' id='type-id-6499'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='next' type-id='type-id-513' visibility='default' filepath='include/linux/skbuff.h' line='669' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='prev' type-id='type-id-513' visibility='default' filepath='include/linux/skbuff.h' line='670' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='' type-id='type-id-6500' visibility='default' filepath='include/linux/skbuff.h' line='672' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__3' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='672' column='1' id='type-id-6500'>
+        <data-member access='private'>
+          <var-decl name='dev' type-id='type-id-2976' visibility='default' filepath='include/linux/skbuff.h' line='673' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='dev_scratch' type-id='type-id-100' visibility='default' filepath='include/linux/skbuff.h' line='678' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='net_device' size-in-bits='17408' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='1747' column='1' id='type-id-6501'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-847' visibility='default' filepath='include/linux/netdevice.h' line='1748' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='name_hlist' type-id='type-id-378' visibility='default' filepath='include/linux/netdevice.h' line='1749' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='ifalias' type-id='type-id-6502' visibility='default' filepath='include/linux/netdevice.h' line='1750' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='mem_end' type-id='type-id-100' visibility='default' filepath='include/linux/netdevice.h' line='1755' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='mem_start' type-id='type-id-100' visibility='default' filepath='include/linux/netdevice.h' line='1756' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='base_addr' type-id='type-id-100' visibility='default' filepath='include/linux/netdevice.h' line='1757' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='irq' type-id='type-id-11' visibility='default' filepath='include/linux/netdevice.h' line='1758' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='state' type-id='type-id-100' visibility='default' filepath='include/linux/netdevice.h' line='1766' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='dev_list' type-id='type-id-8' visibility='default' filepath='include/linux/netdevice.h' line='1768' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='napi_list' type-id='type-id-8' visibility='default' filepath='include/linux/netdevice.h' line='1769' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='unreg_list' type-id='type-id-8' visibility='default' filepath='include/linux/netdevice.h' line='1770' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='close_list' type-id='type-id-8' visibility='default' filepath='include/linux/netdevice.h' line='1771' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='ptype_all' type-id='type-id-8' visibility='default' filepath='include/linux/netdevice.h' line='1772' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='ptype_specific' type-id='type-id-8' visibility='default' filepath='include/linux/netdevice.h' line='1773' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='adj_list' type-id='type-id-6503' visibility='default' filepath='include/linux/netdevice.h' line='1778' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='features' type-id='type-id-6450' visibility='default' filepath='include/linux/netdevice.h' line='1780' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='hw_features' type-id='type-id-6450' visibility='default' filepath='include/linux/netdevice.h' line='1781' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='wanted_features' type-id='type-id-6450' visibility='default' filepath='include/linux/netdevice.h' line='1782' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='vlan_features' type-id='type-id-6450' visibility='default' filepath='include/linux/netdevice.h' line='1783' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='hw_enc_features' type-id='type-id-6450' visibility='default' filepath='include/linux/netdevice.h' line='1784' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='mpls_features' type-id='type-id-6450' visibility='default' filepath='include/linux/netdevice.h' line='1785' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='gso_partial_features' type-id='type-id-6450' visibility='default' filepath='include/linux/netdevice.h' line='1786' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='ifindex' type-id='type-id-11' visibility='default' filepath='include/linux/netdevice.h' line='1788' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2144'>
+          <var-decl name='group' type-id='type-id-11' visibility='default' filepath='include/linux/netdevice.h' line='1789' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='stats' type-id='type-id-6504' visibility='default' filepath='include/linux/netdevice.h' line='1791' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3648'>
+          <var-decl name='rx_dropped' type-id='type-id-138' visibility='default' filepath='include/linux/netdevice.h' line='1793' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3712'>
+          <var-decl name='tx_dropped' type-id='type-id-138' visibility='default' filepath='include/linux/netdevice.h' line='1794' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3776'>
+          <var-decl name='rx_nohandler' type-id='type-id-138' visibility='default' filepath='include/linux/netdevice.h' line='1795' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3840'>
+          <var-decl name='carrier_up_count' type-id='type-id-137' visibility='default' filepath='include/linux/netdevice.h' line='1798' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3872'>
+          <var-decl name='carrier_down_count' type-id='type-id-137' visibility='default' filepath='include/linux/netdevice.h' line='1799' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3904'>
+          <var-decl name='wireless_handlers' type-id='type-id-6505' visibility='default' filepath='include/linux/netdevice.h' line='1802' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3968'>
+          <var-decl name='wireless_data' type-id='type-id-6506' visibility='default' filepath='include/linux/netdevice.h' line='1803' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4032'>
+          <var-decl name='netdev_ops' type-id='type-id-6507' visibility='default' filepath='include/linux/netdevice.h' line='1805' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4096'>
+          <var-decl name='ethtool_ops' type-id='type-id-6508' visibility='default' filepath='include/linux/netdevice.h' line='1806' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4160'>
+          <var-decl name='ndisc_ops' type-id='type-id-6509' visibility='default' filepath='include/linux/netdevice.h' line='1814' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4224'>
+          <var-decl name='header_ops' type-id='type-id-6510' visibility='default' filepath='include/linux/netdevice.h' line='1825' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4288'>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='include/linux/netdevice.h' line='1827' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4320'>
+          <var-decl name='priv_flags' type-id='type-id-10' visibility='default' filepath='include/linux/netdevice.h' line='1828' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4352'>
+          <var-decl name='gflags' type-id='type-id-288' visibility='default' filepath='include/linux/netdevice.h' line='1830' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4368'>
+          <var-decl name='padded' type-id='type-id-288' visibility='default' filepath='include/linux/netdevice.h' line='1831' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4384'>
+          <var-decl name='operstate' type-id='type-id-271' visibility='default' filepath='include/linux/netdevice.h' line='1833' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4392'>
+          <var-decl name='link_mode' type-id='type-id-271' visibility='default' filepath='include/linux/netdevice.h' line='1834' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4400'>
+          <var-decl name='if_port' type-id='type-id-271' visibility='default' filepath='include/linux/netdevice.h' line='1836' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4408'>
+          <var-decl name='dma' type-id='type-id-271' visibility='default' filepath='include/linux/netdevice.h' line='1837' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4416'>
+          <var-decl name='mtu' type-id='type-id-10' visibility='default' filepath='include/linux/netdevice.h' line='1844' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4448'>
+          <var-decl name='min_mtu' type-id='type-id-10' visibility='default' filepath='include/linux/netdevice.h' line='1845' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4480'>
+          <var-decl name='max_mtu' type-id='type-id-10' visibility='default' filepath='include/linux/netdevice.h' line='1846' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4512'>
+          <var-decl name='type' type-id='type-id-288' visibility='default' filepath='include/linux/netdevice.h' line='1847' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4528'>
+          <var-decl name='hard_header_len' type-id='type-id-288' visibility='default' filepath='include/linux/netdevice.h' line='1848' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4544'>
+          <var-decl name='min_header_len' type-id='type-id-271' visibility='default' filepath='include/linux/netdevice.h' line='1849' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4560'>
+          <var-decl name='needed_headroom' type-id='type-id-288' visibility='default' filepath='include/linux/netdevice.h' line='1851' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4576'>
+          <var-decl name='needed_tailroom' type-id='type-id-288' visibility='default' filepath='include/linux/netdevice.h' line='1852' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4592'>
+          <var-decl name='perm_addr' type-id='type-id-4828' visibility='default' filepath='include/linux/netdevice.h' line='1855' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4848'>
+          <var-decl name='addr_assign_type' type-id='type-id-271' visibility='default' filepath='include/linux/netdevice.h' line='1856' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4856'>
+          <var-decl name='addr_len' type-id='type-id-271' visibility='default' filepath='include/linux/netdevice.h' line='1857' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4864'>
+          <var-decl name='upper_level' type-id='type-id-271' visibility='default' filepath='include/linux/netdevice.h' line='1858' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4872'>
+          <var-decl name='lower_level' type-id='type-id-271' visibility='default' filepath='include/linux/netdevice.h' line='1859' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4880'>
+          <var-decl name='neigh_priv_len' type-id='type-id-288' visibility='default' filepath='include/linux/netdevice.h' line='1860' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4896'>
+          <var-decl name='dev_id' type-id='type-id-288' visibility='default' filepath='include/linux/netdevice.h' line='1861' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4912'>
+          <var-decl name='dev_port' type-id='type-id-288' visibility='default' filepath='include/linux/netdevice.h' line='1862' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4928'>
+          <var-decl name='addr_list_lock' type-id='type-id-106' visibility='default' filepath='include/linux/netdevice.h' line='1863' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4960'>
+          <var-decl name='name_assign_type' type-id='type-id-271' visibility='default' filepath='include/linux/netdevice.h' line='1864' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4968'>
+          <var-decl name='uc_promisc' type-id='type-id-211' visibility='default' filepath='include/linux/netdevice.h' line='1865' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4992'>
+          <var-decl name='uc' type-id='type-id-6511' visibility='default' filepath='include/linux/netdevice.h' line='1866' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5184'>
+          <var-decl name='mc' type-id='type-id-6511' visibility='default' filepath='include/linux/netdevice.h' line='1867' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5376'>
+          <var-decl name='dev_addrs' type-id='type-id-6511' visibility='default' filepath='include/linux/netdevice.h' line='1868' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5568'>
+          <var-decl name='queues_kset' type-id='type-id-4947' visibility='default' filepath='include/linux/netdevice.h' line='1871' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5632'>
+          <var-decl name='promiscuity' type-id='type-id-10' visibility='default' filepath='include/linux/netdevice.h' line='1873' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5664'>
+          <var-decl name='allmulti' type-id='type-id-10' visibility='default' filepath='include/linux/netdevice.h' line='1874' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5696'>
+          <var-decl name='tipc_ptr' type-id='type-id-6512' visibility='default' filepath='include/linux/netdevice.h' line='1886' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5760'>
+          <var-decl name='ip_ptr' type-id='type-id-6513' visibility='default' filepath='include/linux/netdevice.h' line='1891' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5824'>
+          <var-decl name='ip6_ptr' type-id='type-id-6514' visibility='default' filepath='include/linux/netdevice.h' line='1895' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5888'>
+          <var-decl name='ieee80211_ptr' type-id='type-id-6515' visibility='default' filepath='include/linux/netdevice.h' line='1899' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5952'>
+          <var-decl name='ieee802154_ptr' type-id='type-id-6516' visibility='default' filepath='include/linux/netdevice.h' line='1900' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6016'>
+          <var-decl name='dev_addr' type-id='type-id-1047' visibility='default' filepath='include/linux/netdevice.h' line='1909' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6080'>
+          <var-decl name='_rx' type-id='type-id-6517' visibility='default' filepath='include/linux/netdevice.h' line='1911' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6144'>
+          <var-decl name='num_rx_queues' type-id='type-id-10' visibility='default' filepath='include/linux/netdevice.h' line='1912' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6176'>
+          <var-decl name='real_num_rx_queues' type-id='type-id-10' visibility='default' filepath='include/linux/netdevice.h' line='1913' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6208'>
+          <var-decl name='xdp_prog' type-id='type-id-3014' visibility='default' filepath='include/linux/netdevice.h' line='1915' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6272'>
+          <var-decl name='gro_flush_timeout' type-id='type-id-100' visibility='default' filepath='include/linux/netdevice.h' line='1916' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6336'>
+          <var-decl name='rx_handler' type-id='type-id-6518' visibility='default' filepath='include/linux/netdevice.h' line='1917' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6400'>
+          <var-decl name='rx_handler_data' type-id='type-id-3' visibility='default' filepath='include/linux/netdevice.h' line='1918' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6464'>
+          <var-decl name='miniq_ingress' type-id='type-id-6519' visibility='default' filepath='include/linux/netdevice.h' line='1921' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6528'>
+          <var-decl name='ingress_queue' type-id='type-id-3015' visibility='default' filepath='include/linux/netdevice.h' line='1923' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6592'>
+          <var-decl name='nf_hooks_ingress' type-id='type-id-6520' visibility='default' filepath='include/linux/netdevice.h' line='1925' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6656'>
+          <var-decl name='broadcast' type-id='type-id-4828' visibility='default' filepath='include/linux/netdevice.h' line='1928' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6912'>
+          <var-decl name='rx_cpu_rmap' type-id='type-id-6521' visibility='default' filepath='include/linux/netdevice.h' line='1930' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6976'>
+          <var-decl name='index_hlist' type-id='type-id-378' visibility='default' filepath='include/linux/netdevice.h' line='1932' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7168'>
+          <var-decl name='_tx' type-id='type-id-3015' visibility='default' filepath='include/linux/netdevice.h' line='1937' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7232'>
+          <var-decl name='num_tx_queues' type-id='type-id-10' visibility='default' filepath='include/linux/netdevice.h' line='1938' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7264'>
+          <var-decl name='real_num_tx_queues' type-id='type-id-10' visibility='default' filepath='include/linux/netdevice.h' line='1939' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7296'>
+          <var-decl name='qdisc' type-id='type-id-6522' visibility='default' filepath='include/linux/netdevice.h' line='1940' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7360'>
+          <var-decl name='qdisc_hash' type-id='type-id-6426' visibility='default' filepath='include/linux/netdevice.h' line='1942' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8384'>
+          <var-decl name='tx_queue_len' type-id='type-id-10' visibility='default' filepath='include/linux/netdevice.h' line='1944' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8416'>
+          <var-decl name='tx_global_lock' type-id='type-id-106' visibility='default' filepath='include/linux/netdevice.h' line='1945' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8448'>
+          <var-decl name='watchdog_timeo' type-id='type-id-11' visibility='default' filepath='include/linux/netdevice.h' line='1946' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8512'>
+          <var-decl name='xps_cpus_map' type-id='type-id-6523' visibility='default' filepath='include/linux/netdevice.h' line='1949' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8576'>
+          <var-decl name='xps_rxqs_map' type-id='type-id-6523' visibility='default' filepath='include/linux/netdevice.h' line='1950' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8640'>
+          <var-decl name='miniq_egress' type-id='type-id-6519' visibility='default' filepath='include/linux/netdevice.h' line='1953' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8704'>
+          <var-decl name='watchdog_timer' type-id='type-id-1240' visibility='default' filepath='include/linux/netdevice.h' line='1957' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9024'>
+          <var-decl name='pcpu_refcnt' type-id='type-id-82' visibility='default' filepath='include/linux/netdevice.h' line='1959' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9088'>
+          <var-decl name='todo_list' type-id='type-id-8' visibility='default' filepath='include/linux/netdevice.h' line='1960' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9216'>
+          <var-decl name='link_watch_list' type-id='type-id-8' visibility='default' filepath='include/linux/netdevice.h' line='1962' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='reg_state' type-id='type-id-6524' visibility='default' filepath='include/linux/netdevice.h' line='1970' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9352'>
+          <var-decl name='dismantle' type-id='type-id-211' visibility='default' filepath='include/linux/netdevice.h' line='1972' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9344'>
+          <var-decl name='rtnl_link_state' type-id='type-id-6525' visibility='default' filepath='include/linux/netdevice.h' line='1977' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9376'>
+          <var-decl name='needs_free_netdev' type-id='type-id-211' visibility='default' filepath='include/linux/netdevice.h' line='1979' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9408'>
+          <var-decl name='priv_destructor' type-id='type-id-2977' visibility='default' filepath='include/linux/netdevice.h' line='1980' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9472'>
+          <var-decl name='nd_net' type-id='type-id-6469' visibility='default' filepath='include/linux/netdevice.h' line='1986' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9536'>
+          <var-decl name='' type-id='type-id-6526' visibility='default' filepath='include/linux/netdevice.h' line='1989' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9600'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='include/linux/netdevice.h' line='2004' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15808'>
+          <var-decl name='sysfs_groups' type-id='type-id-4332' visibility='default' filepath='include/linux/netdevice.h' line='2005' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16064'>
+          <var-decl name='sysfs_rx_queue_group' type-id='type-id-88' visibility='default' filepath='include/linux/netdevice.h' line='2006' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16128'>
+          <var-decl name='rtnl_link_ops' type-id='type-id-6527' visibility='default' filepath='include/linux/netdevice.h' line='2008' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16192'>
+          <var-decl name='gso_max_size' type-id='type-id-10' visibility='default' filepath='include/linux/netdevice.h' line='2012' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16224'>
+          <var-decl name='gso_max_segs' type-id='type-id-289' visibility='default' filepath='include/linux/netdevice.h' line='2014' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16240'>
+          <var-decl name='num_tc' type-id='type-id-653' visibility='default' filepath='include/linux/netdevice.h' line='2019' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16256'>
+          <var-decl name='tc_to_txq' type-id='type-id-6430' visibility='default' filepath='include/linux/netdevice.h' line='2020' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16768'>
+          <var-decl name='prio_tc_map' type-id='type-id-1788' visibility='default' filepath='include/linux/netdevice.h' line='2021' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16896'>
+          <var-decl name='phydev' type-id='type-id-6528' visibility='default' filepath='include/linux/netdevice.h' line='2029' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16960'>
+          <var-decl name='sfp_bus' type-id='type-id-6529' visibility='default' filepath='include/linux/netdevice.h' line='2030' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='17024'>
+          <var-decl name='qdisc_tx_busylock' type-id='type-id-532' visibility='default' filepath='include/linux/netdevice.h' line='2031' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='17088'>
+          <var-decl name='qdisc_running_key' type-id='type-id-532' visibility='default' filepath='include/linux/netdevice.h' line='2032' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='17152'>
+          <var-decl name='proto_down' type-id='type-id-211' visibility='default' filepath='include/linux/netdevice.h' line='2033' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='23'>
+          <var-decl name='wol_enabled' type-id='type-id-10' visibility='default' filepath='include/linux/netdevice.h' line='2034' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='dev_ifalias' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='916' column='1' id='type-id-6530'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='rcuhead' type-id='type-id-157' visibility='default' filepath='include/linux/netdevice.h' line='917' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='ifalias' type-id='type-id-1049' visibility='default' filepath='include/linux/netdevice.h' line='918' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__3' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/netdevice.h' line='1775' column='1' id='type-id-6503'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='upper' type-id='type-id-8' visibility='default' filepath='include/linux/netdevice.h' line='1776' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='lower' type-id='type-id-8' visibility='default' filepath='include/linux/netdevice.h' line='1777' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='netdev_features_t' type-id='type-id-134' filepath='include/linux/netdev_features.h' line='17' column='1' id='type-id-6450'/>
+      <class-decl name='net_device_stats' size-in-bits='1472' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='165' column='1' id='type-id-6504'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='rx_packets' type-id='type-id-100' visibility='default' filepath='include/linux/netdevice.h' line='166' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='tx_packets' type-id='type-id-100' visibility='default' filepath='include/linux/netdevice.h' line='167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='rx_bytes' type-id='type-id-100' visibility='default' filepath='include/linux/netdevice.h' line='168' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='tx_bytes' type-id='type-id-100' visibility='default' filepath='include/linux/netdevice.h' line='169' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='rx_errors' type-id='type-id-100' visibility='default' filepath='include/linux/netdevice.h' line='170' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='tx_errors' type-id='type-id-100' visibility='default' filepath='include/linux/netdevice.h' line='171' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='rx_dropped' type-id='type-id-100' visibility='default' filepath='include/linux/netdevice.h' line='172' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='tx_dropped' type-id='type-id-100' visibility='default' filepath='include/linux/netdevice.h' line='173' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='multicast' type-id='type-id-100' visibility='default' filepath='include/linux/netdevice.h' line='174' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='collisions' type-id='type-id-100' visibility='default' filepath='include/linux/netdevice.h' line='175' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='rx_length_errors' type-id='type-id-100' visibility='default' filepath='include/linux/netdevice.h' line='176' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='rx_over_errors' type-id='type-id-100' visibility='default' filepath='include/linux/netdevice.h' line='177' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='rx_crc_errors' type-id='type-id-100' visibility='default' filepath='include/linux/netdevice.h' line='178' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='rx_frame_errors' type-id='type-id-100' visibility='default' filepath='include/linux/netdevice.h' line='179' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='rx_fifo_errors' type-id='type-id-100' visibility='default' filepath='include/linux/netdevice.h' line='180' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='rx_missed_errors' type-id='type-id-100' visibility='default' filepath='include/linux/netdevice.h' line='181' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='tx_aborted_errors' type-id='type-id-100' visibility='default' filepath='include/linux/netdevice.h' line='182' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='tx_carrier_errors' type-id='type-id-100' visibility='default' filepath='include/linux/netdevice.h' line='183' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='tx_fifo_errors' type-id='type-id-100' visibility='default' filepath='include/linux/netdevice.h' line='184' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='tx_heartbeat_errors' type-id='type-id-100' visibility='default' filepath='include/linux/netdevice.h' line='185' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='tx_window_errors' type-id='type-id-100' visibility='default' filepath='include/linux/netdevice.h' line='186' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='rx_compressed' type-id='type-id-100' visibility='default' filepath='include/linux/netdevice.h' line='187' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='tx_compressed' type-id='type-id-100' visibility='default' filepath='include/linux/netdevice.h' line='188' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='net_device_ops' size-in-bits='4096' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='1225' column='1' id='type-id-6531'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ndo_init' type-id='type-id-6532' visibility='default' filepath='include/linux/netdevice.h' line='1226' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ndo_uninit' type-id='type-id-2977' visibility='default' filepath='include/linux/netdevice.h' line='1227' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='ndo_open' type-id='type-id-6532' visibility='default' filepath='include/linux/netdevice.h' line='1228' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='ndo_stop' type-id='type-id-6532' visibility='default' filepath='include/linux/netdevice.h' line='1229' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='ndo_start_xmit' type-id='type-id-6533' visibility='default' filepath='include/linux/netdevice.h' line='1230' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='ndo_features_check' type-id='type-id-6534' visibility='default' filepath='include/linux/netdevice.h' line='1232' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='ndo_select_queue' type-id='type-id-6535' visibility='default' filepath='include/linux/netdevice.h' line='1235' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='ndo_change_rx_flags' type-id='type-id-6536' visibility='default' filepath='include/linux/netdevice.h' line='1239' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='ndo_set_rx_mode' type-id='type-id-2977' visibility='default' filepath='include/linux/netdevice.h' line='1241' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='ndo_set_mac_address' type-id='type-id-6537' visibility='default' filepath='include/linux/netdevice.h' line='1242' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='ndo_validate_addr' type-id='type-id-6532' visibility='default' filepath='include/linux/netdevice.h' line='1244' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='ndo_do_ioctl' type-id='type-id-6538' visibility='default' filepath='include/linux/netdevice.h' line='1245' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='ndo_set_config' type-id='type-id-6539' visibility='default' filepath='include/linux/netdevice.h' line='1247' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='ndo_change_mtu' type-id='type-id-6540' visibility='default' filepath='include/linux/netdevice.h' line='1249' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='ndo_neigh_setup' type-id='type-id-6541' visibility='default' filepath='include/linux/netdevice.h' line='1251' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='ndo_tx_timeout' type-id='type-id-2977' visibility='default' filepath='include/linux/netdevice.h' line='1253' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='ndo_get_stats64' type-id='type-id-6542' visibility='default' filepath='include/linux/netdevice.h' line='1255' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='ndo_has_offload_stats' type-id='type-id-6543' visibility='default' filepath='include/linux/netdevice.h' line='1257' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='ndo_get_offload_stats' type-id='type-id-6544' visibility='default' filepath='include/linux/netdevice.h' line='1258' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='ndo_get_stats' type-id='type-id-6545' visibility='default' filepath='include/linux/netdevice.h' line='1261' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='ndo_vlan_rx_add_vid' type-id='type-id-6546' visibility='default' filepath='include/linux/netdevice.h' line='1263' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='ndo_vlan_rx_kill_vid' type-id='type-id-6546' visibility='default' filepath='include/linux/netdevice.h' line='1265' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='ndo_set_vf_mac' type-id='type-id-6547' visibility='default' filepath='include/linux/netdevice.h' line='1273' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='ndo_set_vf_vlan' type-id='type-id-6548' visibility='default' filepath='include/linux/netdevice.h' line='1275' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='ndo_set_vf_rate' type-id='type-id-6549' visibility='default' filepath='include/linux/netdevice.h' line='1278' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='ndo_set_vf_spoofchk' type-id='type-id-6550' visibility='default' filepath='include/linux/netdevice.h' line='1281' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='ndo_set_vf_trust' type-id='type-id-6550' visibility='default' filepath='include/linux/netdevice.h' line='1283' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='ndo_get_vf_config' type-id='type-id-6551' visibility='default' filepath='include/linux/netdevice.h' line='1285' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='ndo_set_vf_link_state' type-id='type-id-6552' visibility='default' filepath='include/linux/netdevice.h' line='1288' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='ndo_get_vf_stats' type-id='type-id-6553' visibility='default' filepath='include/linux/netdevice.h' line='1290' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='ndo_set_vf_port' type-id='type-id-6554' visibility='default' filepath='include/linux/netdevice.h' line='1294' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='ndo_get_vf_port' type-id='type-id-6555' visibility='default' filepath='include/linux/netdevice.h' line='1297' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='ndo_set_vf_guid' type-id='type-id-6556' visibility='default' filepath='include/linux/netdevice.h' line='1299' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='ndo_set_vf_rss_query_en' type-id='type-id-6550' visibility='default' filepath='include/linux/netdevice.h' line='1302' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='ndo_setup_tc' type-id='type-id-6557' visibility='default' filepath='include/linux/netdevice.h' line='1305' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='ndo_rx_flow_steer' type-id='type-id-6558' visibility='default' filepath='include/linux/netdevice.h' line='1333' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='ndo_add_slave' type-id='type-id-6559' visibility='default' filepath='include/linux/netdevice.h' line='1338' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='ndo_del_slave' type-id='type-id-6560' visibility='default' filepath='include/linux/netdevice.h' line='1341' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='ndo_fix_features' type-id='type-id-6561' visibility='default' filepath='include/linux/netdevice.h' line='1343' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='ndo_set_features' type-id='type-id-6562' visibility='default' filepath='include/linux/netdevice.h' line='1345' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='ndo_neigh_construct' type-id='type-id-6563' visibility='default' filepath='include/linux/netdevice.h' line='1347' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2624'>
+          <var-decl name='ndo_neigh_destroy' type-id='type-id-6564' visibility='default' filepath='include/linux/netdevice.h' line='1349' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2688'>
+          <var-decl name='ndo_fdb_add' type-id='type-id-6565' visibility='default' filepath='include/linux/netdevice.h' line='1352' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2752'>
+          <var-decl name='ndo_fdb_del' type-id='type-id-6566' visibility='default' filepath='include/linux/netdevice.h' line='1358' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2816'>
+          <var-decl name='ndo_fdb_dump' type-id='type-id-6567' visibility='default' filepath='include/linux/netdevice.h' line='1363' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2880'>
+          <var-decl name='ndo_bridge_setlink' type-id='type-id-6568' visibility='default' filepath='include/linux/netdevice.h' line='1369' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2944'>
+          <var-decl name='ndo_bridge_getlink' type-id='type-id-6569' visibility='default' filepath='include/linux/netdevice.h' line='1372' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3008'>
+          <var-decl name='ndo_bridge_dellink' type-id='type-id-6568' visibility='default' filepath='include/linux/netdevice.h' line='1377' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3072'>
+          <var-decl name='ndo_change_carrier' type-id='type-id-6570' visibility='default' filepath='include/linux/netdevice.h' line='1380' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3136'>
+          <var-decl name='ndo_get_phys_port_id' type-id='type-id-6571' visibility='default' filepath='include/linux/netdevice.h' line='1382' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3200'>
+          <var-decl name='ndo_get_phys_port_name' type-id='type-id-6572' visibility='default' filepath='include/linux/netdevice.h' line='1384' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3264'>
+          <var-decl name='ndo_udp_tunnel_add' type-id='type-id-6573' visibility='default' filepath='include/linux/netdevice.h' line='1386' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3328'>
+          <var-decl name='ndo_udp_tunnel_del' type-id='type-id-6573' visibility='default' filepath='include/linux/netdevice.h' line='1388' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3392'>
+          <var-decl name='ndo_dfwd_add_station' type-id='type-id-6574' visibility='default' filepath='include/linux/netdevice.h' line='1390' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3456'>
+          <var-decl name='ndo_dfwd_del_station' type-id='type-id-6575' visibility='default' filepath='include/linux/netdevice.h' line='1392' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3520'>
+          <var-decl name='ndo_get_lock_subclass' type-id='type-id-6532' visibility='default' filepath='include/linux/netdevice.h' line='1395' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3584'>
+          <var-decl name='ndo_set_tx_maxrate' type-id='type-id-6576' visibility='default' filepath='include/linux/netdevice.h' line='1396' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3648'>
+          <var-decl name='ndo_get_iflink' type-id='type-id-6577' visibility='default' filepath='include/linux/netdevice.h' line='1399' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3712'>
+          <var-decl name='ndo_change_proto_down' type-id='type-id-6570' visibility='default' filepath='include/linux/netdevice.h' line='1400' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3776'>
+          <var-decl name='ndo_fill_metadata_dst' type-id='type-id-6578' visibility='default' filepath='include/linux/netdevice.h' line='1402' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3840'>
+          <var-decl name='ndo_set_rx_headroom' type-id='type-id-6536' visibility='default' filepath='include/linux/netdevice.h' line='1404' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3904'>
+          <var-decl name='ndo_bpf' type-id='type-id-6579' visibility='default' filepath='include/linux/netdevice.h' line='1406' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3968'>
+          <var-decl name='ndo_xdp_xmit' type-id='type-id-6580' visibility='default' filepath='include/linux/netdevice.h' line='1408' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4032'>
+          <var-decl name='ndo_xsk_async_xmit' type-id='type-id-6581' visibility='default' filepath='include/linux/netdevice.h' line='1411' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='netdev_tx_t' type-id='type-id-6582' filepath='include/linux/netdevice.h' line='116' column='1' id='type-id-6583'/>
+      <enum-decl name='netdev_tx' filepath='include/linux/netdevice.h' line='111' column='1' id='type-id-6582'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='__NETDEV_TX_MIN' value='-2147483648'/>
+        <enumerator name='NETDEV_TX_OK' value='0'/>
+        <enumerator name='NETDEV_TX_BUSY' value='16'/>
+      </enum-decl>
+      <typedef-decl name='select_queue_fallback_t' type-id='type-id-6584' filepath='include/linux/netdevice.h' line='800' column='1' id='type-id-6585'/>
+      <class-decl name='ifreq' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/uapi/linux/if.h' line='231' column='1' id='type-id-6586'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ifr_ifrn' type-id='type-id-6587' visibility='default' filepath='include/uapi/linux/if.h' line='236' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='ifr_ifru' type-id='type-id-6588' visibility='default' filepath='include/uapi/linux/if.h' line='252' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__4' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/if.h' line='233' column='1' id='type-id-6587'>
+        <data-member access='private'>
+          <var-decl name='ifrn_name' type-id='type-id-847' visibility='default' filepath='include/uapi/linux/if.h' line='235' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__5' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/if.h' line='238' column='1' id='type-id-6588'>
+        <data-member access='private'>
+          <var-decl name='ifru_addr' type-id='type-id-6494' visibility='default' filepath='include/uapi/linux/if.h' line='239' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='ifru_dstaddr' type-id='type-id-6494' visibility='default' filepath='include/uapi/linux/if.h' line='240' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='ifru_broadaddr' type-id='type-id-6494' visibility='default' filepath='include/uapi/linux/if.h' line='241' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='ifru_netmask' type-id='type-id-6494' visibility='default' filepath='include/uapi/linux/if.h' line='242' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='ifru_hwaddr' type-id='type-id-6494' visibility='default' filepath='include/uapi/linux/if.h' line='243' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='ifru_flags' type-id='type-id-3521' visibility='default' filepath='include/uapi/linux/if.h' line='244' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='ifru_ivalue' type-id='type-id-11' visibility='default' filepath='include/uapi/linux/if.h' line='245' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='ifru_mtu' type-id='type-id-11' visibility='default' filepath='include/uapi/linux/if.h' line='246' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='ifru_map' type-id='type-id-6589' visibility='default' filepath='include/uapi/linux/if.h' line='247' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='ifru_slave' type-id='type-id-847' visibility='default' filepath='include/uapi/linux/if.h' line='248' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='ifru_newname' type-id='type-id-847' visibility='default' filepath='include/uapi/linux/if.h' line='249' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='ifru_data' type-id='type-id-3' visibility='default' filepath='include/uapi/linux/if.h' line='250' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='ifru_settings' type-id='type-id-6590' visibility='default' filepath='include/uapi/linux/if.h' line='251' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='ifmap' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/uapi/linux/if.h' line='194' column='1' id='type-id-6589'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mem_start' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/if.h' line='195' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='mem_end' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/if.h' line='196' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='base_addr' type-id='type-id-288' visibility='default' filepath='include/uapi/linux/if.h' line='197' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='144'>
+          <var-decl name='irq' type-id='type-id-271' visibility='default' filepath='include/uapi/linux/if.h' line='198' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='152'>
+          <var-decl name='dma' type-id='type-id-271' visibility='default' filepath='include/uapi/linux/if.h' line='199' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='port' type-id='type-id-271' visibility='default' filepath='include/uapi/linux/if.h' line='200' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='if_settings' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/if.h' line='205' column='1' id='type-id-6590'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-10' visibility='default' filepath='include/uapi/linux/if.h' line='206' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='size' type-id='type-id-10' visibility='default' filepath='include/uapi/linux/if.h' line='207' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ifs_ifsu' type-id='type-id-6591' visibility='default' filepath='include/uapi/linux/if.h' line='219' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__6' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/if.h' line='208' column='1' id='type-id-6591'>
+        <data-member access='private'>
+          <var-decl name='raw_hdlc' type-id='type-id-6592' visibility='default' filepath='include/uapi/linux/if.h' line='210' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='cisco' type-id='type-id-6593' visibility='default' filepath='include/uapi/linux/if.h' line='211' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='fr' type-id='type-id-6594' visibility='default' filepath='include/uapi/linux/if.h' line='212' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='fr_pvc' type-id='type-id-6595' visibility='default' filepath='include/uapi/linux/if.h' line='213' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='fr_pvc_info' type-id='type-id-6596' visibility='default' filepath='include/uapi/linux/if.h' line='214' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='sync' type-id='type-id-6597' visibility='default' filepath='include/uapi/linux/if.h' line='217' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='te1' type-id='type-id-6598' visibility='default' filepath='include/uapi/linux/if.h' line='218' column='1'/>
+        </data-member>
+      </union-decl>
+      <typedef-decl name='raw_hdlc_proto' type-id='type-id-6599' filepath='include/uapi/linux/hdlc/ioctl.h' line='56' column='1' id='type-id-6600'/>
+      <class-decl name='__anonymous_struct__4' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-6600' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='53' column='1' id='type-id-6599'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='encoding' type-id='type-id-288' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='parity' type-id='type-id-288' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='55' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='cisco_proto' type-id='type-id-6601' filepath='include/uapi/linux/hdlc/ioctl.h' line='80' column='1' id='type-id-6602'/>
+      <class-decl name='__anonymous_struct__5' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-6602' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='77' column='1' id='type-id-6601'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='interval' type-id='type-id-10' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='timeout' type-id='type-id-10' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='79' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='fr_proto' type-id='type-id-6603' filepath='include/uapi/linux/hdlc/ioctl.h' line='66' column='1' id='type-id-6604'/>
+      <class-decl name='__anonymous_struct__6' size-in-bits='192' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-6604' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='58' column='1' id='type-id-6603'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='t391' type-id='type-id-10' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='t392' type-id='type-id-10' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='n391' type-id='type-id-10' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='n392' type-id='type-id-10' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='n393' type-id='type-id-10' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='lmi' type-id='type-id-288' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='64' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='176'>
+          <var-decl name='dce' type-id='type-id-288' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='65' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='fr_proto_pvc' type-id='type-id-6605' filepath='include/uapi/linux/hdlc/ioctl.h' line='70' column='1' id='type-id-6606'/>
+      <class-decl name='__anonymous_struct__7' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-6606' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='68' column='1' id='type-id-6605'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dlci' type-id='type-id-10' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='69' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='fr_proto_pvc_info' type-id='type-id-6607' filepath='include/uapi/linux/hdlc/ioctl.h' line='75' column='1' id='type-id-6608'/>
+      <class-decl name='__anonymous_struct__8' size-in-bits='160' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-6608' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='72' column='1' id='type-id-6607'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dlci' type-id='type-id-10' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='master' type-id='type-id-847' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='74' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='sync_serial_settings' type-id='type-id-6609' filepath='include/uapi/linux/hdlc/ioctl.h' line='44' column='1' id='type-id-6610'/>
+      <class-decl name='__anonymous_struct__9' size-in-bits='96' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-6610' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='40' column='1' id='type-id-6609'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='clock_rate' type-id='type-id-10' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='clock_type' type-id='type-id-10' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='loopback' type-id='type-id-288' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='43' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='te1_settings' type-id='type-id-6611' filepath='include/uapi/linux/hdlc/ioctl.h' line='51' column='1' id='type-id-6612'/>
+      <class-decl name='__anonymous_struct__10' size-in-bits='128' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-6612' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='46' column='1' id='type-id-6611'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='clock_rate' type-id='type-id-10' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='47' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='clock_type' type-id='type-id-10' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='loopback' type-id='type-id-288' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='slot_map' type-id='type-id-10' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='50' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='neigh_parms' size-in-bits='1216' is-struct='yes' visibility='default' filepath='include/net/neighbour.h' line='70' column='1' id='type-id-6613'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='net' type-id='type-id-6469' visibility='default' filepath='include/net/neighbour.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dev' type-id='type-id-2976' visibility='default' filepath='include/net/neighbour.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/net/neighbour.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='neigh_setup' type-id='type-id-6614' visibility='default' filepath='include/net/neighbour.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='neigh_cleanup' type-id='type-id-6615' visibility='default' filepath='include/net/neighbour.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='tbl' type-id='type-id-6616' visibility='default' filepath='include/net/neighbour.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='sysctl_table' type-id='type-id-3' visibility='default' filepath='include/net/neighbour.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='dead' type-id='type-id-11' visibility='default' filepath='include/net/neighbour.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='refcnt' type-id='type-id-12' visibility='default' filepath='include/net/neighbour.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='callback_head' type-id='type-id-157' visibility='default' filepath='include/net/neighbour.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='reachable_time' type-id='type-id-11' visibility='default' filepath='include/net/neighbour.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='736'>
+          <var-decl name='data' type-id='type-id-6427' visibility='default' filepath='include/net/neighbour.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='data_state' type-id='type-id-930' visibility='default' filepath='include/net/neighbour.h' line='86' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='possible_net_t' type-id='type-id-6617' filepath='include/net/net_namespace.h' line='288' column='1' id='type-id-6469'/>
+      <class-decl name='__anonymous_struct__11' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-6469' visibility='default' filepath='include/net/net_namespace.h' line='284' column='1' id='type-id-6617'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='net' type-id='type-id-2984' visibility='default' filepath='include/net/net_namespace.h' line='286' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='fib_rules_ops' size-in-bits='1472' is-struct='yes' visibility='default' filepath='include/net/fib_rules.h' line='59' column='1' id='type-id-6618'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='family' type-id='type-id-11' visibility='default' filepath='include/net/fib_rules.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/net/fib_rules.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='rule_size' type-id='type-id-11' visibility='default' filepath='include/net/fib_rules.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='addr_size' type-id='type-id-11' visibility='default' filepath='include/net/fib_rules.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='unresolved_rules' type-id='type-id-11' visibility='default' filepath='include/net/fib_rules.h' line='64' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='nr_goto_rules' type-id='type-id-11' visibility='default' filepath='include/net/fib_rules.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='fib_rules_seq' type-id='type-id-10' visibility='default' filepath='include/net/fib_rules.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='action' type-id='type-id-6619' visibility='default' filepath='include/net/fib_rules.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='suppress' type-id='type-id-6620' visibility='default' filepath='include/net/fib_rules.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='match' type-id='type-id-6621' visibility='default' filepath='include/net/fib_rules.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='configure' type-id='type-id-6622' visibility='default' filepath='include/net/fib_rules.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='delete' type-id='type-id-6623' visibility='default' filepath='include/net/fib_rules.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='compare' type-id='type-id-6624' visibility='default' filepath='include/net/fib_rules.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='fill' type-id='type-id-6625' visibility='default' filepath='include/net/fib_rules.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='nlmsg_payload' type-id='type-id-6626' visibility='default' filepath='include/net/fib_rules.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='flush_cache' type-id='type-id-6627' visibility='default' filepath='include/net/fib_rules.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='nlgroup' type-id='type-id-11' visibility='default' filepath='include/net/fib_rules.h' line='92' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='policy' type-id='type-id-6628' visibility='default' filepath='include/net/fib_rules.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='rules_list' type-id='type-id-8' visibility='default' filepath='include/net/fib_rules.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/net/fib_rules.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='fro_net' type-id='type-id-2984' visibility='default' filepath='include/net/fib_rules.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/net/fib_rules.h' line='97' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='fib_rule' size-in-bits='1216' is-struct='yes' visibility='default' filepath='include/net/fib_rules.h' line='19' column='1' id='type-id-6629'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/net/fib_rules.h' line='20' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='iifindex' type-id='type-id-11' visibility='default' filepath='include/net/fib_rules.h' line='21' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='oifindex' type-id='type-id-11' visibility='default' filepath='include/net/fib_rules.h' line='22' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='mark' type-id='type-id-9' visibility='default' filepath='include/net/fib_rules.h' line='23' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='mark_mask' type-id='type-id-9' visibility='default' filepath='include/net/fib_rules.h' line='24' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='flags' type-id='type-id-9' visibility='default' filepath='include/net/fib_rules.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='table' type-id='type-id-9' visibility='default' filepath='include/net/fib_rules.h' line='26' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='action' type-id='type-id-53' visibility='default' filepath='include/net/fib_rules.h' line='27' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='328'>
+          <var-decl name='l3mdev' type-id='type-id-53' visibility='default' filepath='include/net/fib_rules.h' line='28' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='336'>
+          <var-decl name='proto' type-id='type-id-53' visibility='default' filepath='include/net/fib_rules.h' line='29' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='344'>
+          <var-decl name='ip_proto' type-id='type-id-53' visibility='default' filepath='include/net/fib_rules.h' line='30' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='target' type-id='type-id-9' visibility='default' filepath='include/net/fib_rules.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='tun_id' type-id='type-id-6630' visibility='default' filepath='include/net/fib_rules.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='ctarget' type-id='type-id-6631' visibility='default' filepath='include/net/fib_rules.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='fr_net' type-id='type-id-2984' visibility='default' filepath='include/net/fib_rules.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='refcnt' type-id='type-id-12' visibility='default' filepath='include/net/fib_rules.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='pref' type-id='type-id-9' visibility='default' filepath='include/net/fib_rules.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='suppress_ifgroup' type-id='type-id-11' visibility='default' filepath='include/net/fib_rules.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='672'>
+          <var-decl name='suppress_prefixlen' type-id='type-id-11' visibility='default' filepath='include/net/fib_rules.h' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='iifname' type-id='type-id-847' visibility='default' filepath='include/net/fib_rules.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='oifname' type-id='type-id-847' visibility='default' filepath='include/net/fib_rules.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='uid_range' type-id='type-id-6632' visibility='default' filepath='include/net/fib_rules.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='sport_range' type-id='type-id-6633' visibility='default' filepath='include/net/fib_rules.h' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1056'>
+          <var-decl name='dport_range' type-id='type-id-6633' visibility='default' filepath='include/net/fib_rules.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/net/fib_rules.h' line='45' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='__be64' type-id='type-id-1120' filepath='include/uapi/linux/types.h' line='34' column='1' id='type-id-6630'/>
+      <class-decl name='fib_kuid_range' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/net/fib_rules.h' line='14' column='1' id='type-id-6632'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='start' type-id='type-id-4567' visibility='default' filepath='include/net/fib_rules.h' line='15' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='end' type-id='type-id-4567' visibility='default' filepath='include/net/fib_rules.h' line='16' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='fib_rule_port_range' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/uapi/linux/fib_rules.h' line='38' column='1' id='type-id-6633'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='start' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/fib_rules.h' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='end' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/fib_rules.h' line='40' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='flowi' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/net/flow.h' line='171' column='1' id='type-id-6634'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='u' type-id='type-id-6635' visibility='default' filepath='include/net/flow.h' line='177' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__7' size-in-bits='704' is-anonymous='yes' visibility='default' filepath='include/net/flow.h' line='172' column='1' id='type-id-6635'>
+        <data-member access='private'>
+          <var-decl name='__fl_common' type-id='type-id-6636' visibility='default' filepath='include/net/flow.h' line='173' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='ip4' type-id='type-id-2990' visibility='default' filepath='include/net/flow.h' line='174' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='ip6' type-id='type-id-6637' visibility='default' filepath='include/net/flow.h' line='175' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='dn' type-id='type-id-6638' visibility='default' filepath='include/net/flow.h' line='176' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='flowi_common' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/net/flow.h' line='29' column='1' id='type-id-6636'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='flowic_oif' type-id='type-id-11' visibility='default' filepath='include/net/flow.h' line='30' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='flowic_iif' type-id='type-id-11' visibility='default' filepath='include/net/flow.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='flowic_mark' type-id='type-id-266' visibility='default' filepath='include/net/flow.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='flowic_tos' type-id='type-id-1122' visibility='default' filepath='include/net/flow.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='104'>
+          <var-decl name='flowic_scope' type-id='type-id-1122' visibility='default' filepath='include/net/flow.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='112'>
+          <var-decl name='flowic_proto' type-id='type-id-1122' visibility='default' filepath='include/net/flow.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='120'>
+          <var-decl name='flowic_flags' type-id='type-id-1122' visibility='default' filepath='include/net/flow.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='flowic_secid' type-id='type-id-266' visibility='default' filepath='include/net/flow.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='flowic_tun_key' type-id='type-id-6639' visibility='default' filepath='include/net/flow.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='flowic_uid' type-id='type-id-4567' visibility='default' filepath='include/net/flow.h' line='42' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='flowi_tunnel' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/net/flow.h' line='25' column='1' id='type-id-6639'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='tun_id' type-id='type-id-6630' visibility='default' filepath='include/net/flow.h' line='26' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='flowi4' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/net/flow.h' line='69' column='1' id='type-id-2990'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='__fl_common' type-id='type-id-6636' visibility='default' filepath='include/net/flow.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='saddr' type-id='type-id-2085' visibility='default' filepath='include/net/flow.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='daddr' type-id='type-id-2085' visibility='default' filepath='include/net/flow.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='uli' type-id='type-id-6640' visibility='default' filepath='include/net/flow.h' line='86' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='flowi_uli' size-in-bits='32' visibility='default' filepath='include/net/flow.h' line='45' column='1' id='type-id-6640'>
+        <data-member access='private'>
+          <var-decl name='ports' type-id='type-id-6641' visibility='default' filepath='include/net/flow.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='icmpt' type-id='type-id-6642' visibility='default' filepath='include/net/flow.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='dnports' type-id='type-id-6643' visibility='default' filepath='include/net/flow.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='spi' type-id='type-id-2085' visibility='default' filepath='include/net/flow.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='gre_key' type-id='type-id-2085' visibility='default' filepath='include/net/flow.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='mht' type-id='type-id-6644' visibility='default' filepath='include/net/flow.h' line='66' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__12' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/net/flow.h' line='46' column='1' id='type-id-6641'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dport' type-id='type-id-3573' visibility='default' filepath='include/net/flow.h' line='47' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='sport' type-id='type-id-3573' visibility='default' filepath='include/net/flow.h' line='48' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__13' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/net/flow.h' line='51' column='1' id='type-id-6642'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-1122' visibility='default' filepath='include/net/flow.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='code' type-id='type-id-1122' visibility='default' filepath='include/net/flow.h' line='53' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__14' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/net/flow.h' line='56' column='1' id='type-id-6643'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dport' type-id='type-id-1958' visibility='default' filepath='include/net/flow.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='sport' type-id='type-id-1958' visibility='default' filepath='include/net/flow.h' line='58' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='__le16' type-id='type-id-1107' filepath='include/uapi/linux/types.h' line='29' column='1' id='type-id-1958'/>
+      <class-decl name='__anonymous_struct__15' size-in-bits='8' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/net/flow.h' line='64' column='1' id='type-id-6644'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-1122' visibility='default' filepath='include/net/flow.h' line='65' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='flowi6' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/net/flow.h' line='130' column='1' id='type-id-6637'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='__fl_common' type-id='type-id-6636' visibility='default' filepath='include/net/flow.h' line='131' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='daddr' type-id='type-id-3028' visibility='default' filepath='include/net/flow.h' line='141' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='saddr' type-id='type-id-3028' visibility='default' filepath='include/net/flow.h' line='142' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='flowlabel' type-id='type-id-2085' visibility='default' filepath='include/net/flow.h' line='144' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='uli' type-id='type-id-6640' visibility='default' filepath='include/net/flow.h' line='145' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='mp_hash' type-id='type-id-266' visibility='default' filepath='include/net/flow.h' line='153' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='flowidn' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/net/flow.h' line='156' column='1' id='type-id-6638'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='__fl_common' type-id='type-id-6636' visibility='default' filepath='include/net/flow.h' line='157' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='daddr' type-id='type-id-1958' visibility='default' filepath='include/net/flow.h' line='164' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='336'>
+          <var-decl name='saddr' type-id='type-id-1958' visibility='default' filepath='include/net/flow.h' line='165' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='uli' type-id='type-id-6640' visibility='default' filepath='include/net/flow.h' line='166' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='fib_lookup_arg' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/net/fib_rules.h' line='48' column='1' id='type-id-6645'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lookup_ptr' type-id='type-id-3' visibility='default' filepath='include/net/fib_rules.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='lookup_data' type-id='type-id-3' visibility='default' filepath='include/net/fib_rules.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='result' type-id='type-id-3' visibility='default' filepath='include/net/fib_rules.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='rule' type-id='type-id-6631' visibility='default' filepath='include/net/fib_rules.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='table' type-id='type-id-9' visibility='default' filepath='include/net/fib_rules.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='flags' type-id='type-id-11' visibility='default' filepath='include/net/fib_rules.h' line='54' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='fib_rule_hdr' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/uapi/linux/fib_rules.h' line='19' column='1' id='type-id-6646'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='family' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/fib_rules.h' line='20' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='dst_len' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/fib_rules.h' line='21' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='src_len' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/fib_rules.h' line='22' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='tos' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/fib_rules.h' line='23' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='table' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/fib_rules.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='40'>
+          <var-decl name='res1' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/fib_rules.h' line='26' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='res2' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/fib_rules.h' line='27' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='56'>
+          <var-decl name='action' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/fib_rules.h' line='28' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='flags' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/fib_rules.h' line='30' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='nlattr' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/uapi/linux/netlink.h' line='210' column='1' id='type-id-6647'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='nla_len' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/netlink.h' line='211' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='nla_type' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/netlink.h' line='212' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='netlink_ext_ack' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/netlink.h' line='74' column='1' id='type-id-6648'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='_msg' type-id='type-id-24' visibility='default' filepath='include/linux/netlink.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='bad_attr' type-id='type-id-6649' visibility='default' filepath='include/linux/netlink.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='cookie' type-id='type-id-6436' visibility='default' filepath='include/linux/netlink.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='cookie_len' type-id='type-id-53' visibility='default' filepath='include/linux/netlink.h' line='78' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='nla_policy' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/net/netlink.h' line='222' column='1' id='type-id-6650'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-289' visibility='default' filepath='include/net/netlink.h' line='223' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='len' type-id='type-id-289' visibility='default' filepath='include/net/netlink.h' line='224' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='validation_data' type-id='type-id-3' visibility='default' filepath='include/net/netlink.h' line='225' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='fib_notifier_ops' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/net/fib_notifier.h' line='28' column='1' id='type-id-6651'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='family' type-id='type-id-11' visibility='default' filepath='include/net/fib_notifier.h' line='29' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/net/fib_notifier.h' line='30' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='fib_seq_read' type-id='type-id-6652' visibility='default' filepath='include/net/fib_notifier.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='fib_dump' type-id='type-id-6653' visibility='default' filepath='include/net/fib_notifier.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/net/fib_notifier.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/net/fib_notifier.h' line='34' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__8' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/net/netns/generic.h' line='29' column='1' id='type-id-6654'>
+        <data-member access='private'>
+          <var-decl name='s' type-id='type-id-6655' visibility='default' filepath='include/net/netns/generic.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='ptr' type-id='type-id-4' visibility='default' filepath='include/net/netns/generic.h' line='35' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__16' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/net/netns/generic.h' line='30' column='1' id='type-id-6655'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='len' type-id='type-id-10' visibility='default' filepath='include/net/netns/generic.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/net/netns/generic.h' line='32' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='neighbour' size-in-bits='2688' is-struct='yes' visibility='default' filepath='include/net/neighbour.h' line='135' column='1' id='type-id-6656'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='next' type-id='type-id-3065' visibility='default' filepath='include/net/neighbour.h' line='136' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='tbl' type-id='type-id-6616' visibility='default' filepath='include/net/neighbour.h' line='137' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='parms' type-id='type-id-3029' visibility='default' filepath='include/net/neighbour.h' line='138' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='confirmed' type-id='type-id-100' visibility='default' filepath='include/net/neighbour.h' line='139' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='updated' type-id='type-id-100' visibility='default' filepath='include/net/neighbour.h' line='140' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='lock' type-id='type-id-1847' visibility='default' filepath='include/net/neighbour.h' line='141' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='refcnt' type-id='type-id-12' visibility='default' filepath='include/net/neighbour.h' line='142' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='arp_queue' type-id='type-id-6446' visibility='default' filepath='include/net/neighbour.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='arp_queue_len_bytes' type-id='type-id-10' visibility='default' filepath='include/net/neighbour.h' line='144' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='timer' type-id='type-id-1240' visibility='default' filepath='include/net/neighbour.h' line='145' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='used' type-id='type-id-100' visibility='default' filepath='include/net/neighbour.h' line='146' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='probes' type-id='type-id-137' visibility='default' filepath='include/net/neighbour.h' line='147' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1120'>
+          <var-decl name='flags' type-id='type-id-1122' visibility='default' filepath='include/net/neighbour.h' line='148' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1128'>
+          <var-decl name='nud_state' type-id='type-id-1122' visibility='default' filepath='include/net/neighbour.h' line='149' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1136'>
+          <var-decl name='type' type-id='type-id-1122' visibility='default' filepath='include/net/neighbour.h' line='150' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1144'>
+          <var-decl name='dead' type-id='type-id-1122' visibility='default' filepath='include/net/neighbour.h' line='151' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='ha_lock' type-id='type-id-1241' visibility='default' filepath='include/net/neighbour.h' line='152' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='ha' type-id='type-id-4828' visibility='default' filepath='include/net/neighbour.h' line='153' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='hh' type-id='type-id-6657' visibility='default' filepath='include/net/neighbour.h' line='154' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='output' type-id='type-id-6658' visibility='default' filepath='include/net/neighbour.h' line='155' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='ops' type-id='type-id-6659' visibility='default' filepath='include/net/neighbour.h' line='156' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/net/neighbour.h' line='157' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2624'>
+          <var-decl name='dev' type-id='type-id-2976' visibility='default' filepath='include/net/neighbour.h' line='158' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2688'>
+          <var-decl name='primary_key' type-id='type-id-3513' visibility='default' filepath='include/net/neighbour.h' line='159' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='neigh_table' size-in-bits='3712' is-struct='yes' visibility='default' filepath='include/net/neighbour.h' line='192' column='1' id='type-id-6660'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='family' type-id='type-id-11' visibility='default' filepath='include/net/neighbour.h' line='193' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='entry_size' type-id='type-id-10' visibility='default' filepath='include/net/neighbour.h' line='194' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='key_len' type-id='type-id-10' visibility='default' filepath='include/net/neighbour.h' line='195' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='protocol' type-id='type-id-3573' visibility='default' filepath='include/net/neighbour.h' line='196' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='hash' type-id='type-id-6661' visibility='default' filepath='include/net/neighbour.h' line='197' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='key_eq' type-id='type-id-6662' visibility='default' filepath='include/net/neighbour.h' line='200' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='constructor' type-id='type-id-6614' visibility='default' filepath='include/net/neighbour.h' line='201' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='pconstructor' type-id='type-id-6663' visibility='default' filepath='include/net/neighbour.h' line='202' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='pdestructor' type-id='type-id-6664' visibility='default' filepath='include/net/neighbour.h' line='203' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='proxy_redo' type-id='type-id-6665' visibility='default' filepath='include/net/neighbour.h' line='204' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='id' type-id='type-id-300' visibility='default' filepath='include/net/neighbour.h' line='205' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='parms' type-id='type-id-6613' visibility='default' filepath='include/net/neighbour.h' line='206' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='parms_list' type-id='type-id-8' visibility='default' filepath='include/net/neighbour.h' line='207' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='gc_interval' type-id='type-id-11' visibility='default' filepath='include/net/neighbour.h' line='208' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1952'>
+          <var-decl name='gc_thresh1' type-id='type-id-11' visibility='default' filepath='include/net/neighbour.h' line='209' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='gc_thresh2' type-id='type-id-11' visibility='default' filepath='include/net/neighbour.h' line='210' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2016'>
+          <var-decl name='gc_thresh3' type-id='type-id-11' visibility='default' filepath='include/net/neighbour.h' line='211' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='last_flush' type-id='type-id-100' visibility='default' filepath='include/net/neighbour.h' line='212' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='gc_work' type-id='type-id-370' visibility='default' filepath='include/net/neighbour.h' line='213' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2816'>
+          <var-decl name='proxy_timer' type-id='type-id-1240' visibility='default' filepath='include/net/neighbour.h' line='214' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3136'>
+          <var-decl name='proxy_queue' type-id='type-id-6446' visibility='default' filepath='include/net/neighbour.h' line='215' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3328'>
+          <var-decl name='entries' type-id='type-id-137' visibility='default' filepath='include/net/neighbour.h' line='216' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3360'>
+          <var-decl name='lock' type-id='type-id-1847' visibility='default' filepath='include/net/neighbour.h' line='217' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3456'>
+          <var-decl name='last_rand' type-id='type-id-100' visibility='default' filepath='include/net/neighbour.h' line='218' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3520'>
+          <var-decl name='stats' type-id='type-id-6666' visibility='default' filepath='include/net/neighbour.h' line='219' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3584'>
+          <var-decl name='nht' type-id='type-id-6667' visibility='default' filepath='include/net/neighbour.h' line='220' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3648'>
+          <var-decl name='phash_buckets' type-id='type-id-6668' visibility='default' filepath='include/net/neighbour.h' line='221' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='pneigh_entry' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/neighbour.h' line='170' column='1' id='type-id-6669'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='next' type-id='type-id-6670' visibility='default' filepath='include/net/neighbour.h' line='171' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='net' type-id='type-id-6469' visibility='default' filepath='include/net/neighbour.h' line='172' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='dev' type-id='type-id-2976' visibility='default' filepath='include/net/neighbour.h' line='173' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='flags' type-id='type-id-53' visibility='default' filepath='include/net/neighbour.h' line='174' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='200'>
+          <var-decl name='key' type-id='type-id-3513' visibility='default' filepath='include/net/neighbour.h' line='175' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='neigh_statistics' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/net/neighbour.h' line='113' column='1' id='type-id-6671'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='allocs' type-id='type-id-100' visibility='default' filepath='include/net/neighbour.h' line='114' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='destroys' type-id='type-id-100' visibility='default' filepath='include/net/neighbour.h' line='115' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='hash_grows' type-id='type-id-100' visibility='default' filepath='include/net/neighbour.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='res_failed' type-id='type-id-100' visibility='default' filepath='include/net/neighbour.h' line='118' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='lookups' type-id='type-id-100' visibility='default' filepath='include/net/neighbour.h' line='120' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='hits' type-id='type-id-100' visibility='default' filepath='include/net/neighbour.h' line='121' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='rcv_probes_mcast' type-id='type-id-100' visibility='default' filepath='include/net/neighbour.h' line='123' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='rcv_probes_ucast' type-id='type-id-100' visibility='default' filepath='include/net/neighbour.h' line='124' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='periodic_gc_runs' type-id='type-id-100' visibility='default' filepath='include/net/neighbour.h' line='126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='forced_gc_runs' type-id='type-id-100' visibility='default' filepath='include/net/neighbour.h' line='127' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='unres_discards' type-id='type-id-100' visibility='default' filepath='include/net/neighbour.h' line='129' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='table_fulls' type-id='type-id-100' visibility='default' filepath='include/net/neighbour.h' line='130' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='neigh_hash_table' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/net/neighbour.h' line='184' column='1' id='type-id-6672'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='hash_buckets' type-id='type-id-6673' visibility='default' filepath='include/net/neighbour.h' line='185' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='hash_shift' type-id='type-id-10' visibility='default' filepath='include/net/neighbour.h' line='186' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='hash_rnd' type-id='type-id-1279' visibility='default' filepath='include/net/neighbour.h' line='187' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/net/neighbour.h' line='188' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='hh_cache' size-in-bits='896' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='241' column='1' id='type-id-6657'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='hh_len' type-id='type-id-10' visibility='default' filepath='include/linux/netdevice.h' line='242' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='hh_lock' type-id='type-id-1241' visibility='default' filepath='include/linux/netdevice.h' line='243' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='hh_data' type-id='type-id-3851' visibility='default' filepath='include/linux/netdevice.h' line='251' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='neigh_ops' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/net/neighbour.h' line='162' column='1' id='type-id-6674'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='family' type-id='type-id-11' visibility='default' filepath='include/net/neighbour.h' line='163' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='solicit' type-id='type-id-6675' visibility='default' filepath='include/net/neighbour.h' line='164' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='error_report' type-id='type-id-6675' visibility='default' filepath='include/net/neighbour.h' line='165' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='output' type-id='type-id-6658' visibility='default' filepath='include/net/neighbour.h' line='166' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='connected_output' type-id='type-id-6658' visibility='default' filepath='include/net/neighbour.h' line='167' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='rtnl_link_stats64' size-in-bits='1536' is-struct='yes' visibility='default' filepath='include/uapi/linux/if_link.h' line='44' column='1' id='type-id-6676'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='rx_packets' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/if_link.h' line='45' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='tx_packets' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/if_link.h' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='rx_bytes' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/if_link.h' line='47' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='tx_bytes' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/if_link.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='rx_errors' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/if_link.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='tx_errors' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/if_link.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='rx_dropped' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/if_link.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='tx_dropped' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/if_link.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='multicast' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/if_link.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='collisions' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/if_link.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='rx_length_errors' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/if_link.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='rx_over_errors' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/if_link.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='rx_crc_errors' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/if_link.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='rx_frame_errors' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/if_link.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='rx_fifo_errors' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/if_link.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='rx_missed_errors' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/if_link.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='tx_aborted_errors' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/if_link.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='tx_carrier_errors' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/if_link.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='tx_fifo_errors' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/if_link.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='tx_heartbeat_errors' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/if_link.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='tx_window_errors' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/if_link.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='rx_compressed' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/if_link.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='tx_compressed' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/if_link.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='rx_nohandler' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/if_link.h' line='75' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ifla_vf_info' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/if_link.h' line='20' column='1' id='type-id-6677'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='vf' type-id='type-id-266' visibility='default' filepath='include/linux/if_link.h' line='21' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='mac' type-id='type-id-2409' visibility='default' filepath='include/linux/if_link.h' line='22' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='vlan' type-id='type-id-266' visibility='default' filepath='include/linux/if_link.h' line='23' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='qos' type-id='type-id-266' visibility='default' filepath='include/linux/if_link.h' line='24' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='spoofchk' type-id='type-id-266' visibility='default' filepath='include/linux/if_link.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='linkstate' type-id='type-id-266' visibility='default' filepath='include/linux/if_link.h' line='26' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='min_tx_rate' type-id='type-id-266' visibility='default' filepath='include/linux/if_link.h' line='27' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='max_tx_rate' type-id='type-id-266' visibility='default' filepath='include/linux/if_link.h' line='28' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='rss_query_en' type-id='type-id-266' visibility='default' filepath='include/linux/if_link.h' line='29' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='trusted' type-id='type-id-266' visibility='default' filepath='include/linux/if_link.h' line='30' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='vlan_proto' type-id='type-id-3573' visibility='default' filepath='include/linux/if_link.h' line='31' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ifla_vf_stats' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/if_link.h' line='9' column='1' id='type-id-6678'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='rx_packets' type-id='type-id-1120' visibility='default' filepath='include/linux/if_link.h' line='10' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='tx_packets' type-id='type-id-1120' visibility='default' filepath='include/linux/if_link.h' line='11' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='rx_bytes' type-id='type-id-1120' visibility='default' filepath='include/linux/if_link.h' line='12' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='tx_bytes' type-id='type-id-1120' visibility='default' filepath='include/linux/if_link.h' line='13' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='broadcast' type-id='type-id-1120' visibility='default' filepath='include/linux/if_link.h' line='14' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='multicast' type-id='type-id-1120' visibility='default' filepath='include/linux/if_link.h' line='15' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='rx_dropped' type-id='type-id-1120' visibility='default' filepath='include/linux/if_link.h' line='16' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='tx_dropped' type-id='type-id-1120' visibility='default' filepath='include/linux/if_link.h' line='17' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='tc_setup_type' filepath='include/linux/netdevice.h' line='804' column='1' id='type-id-6679'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='TC_SETUP_QDISC_MQPRIO' value='0'/>
+        <enumerator name='TC_SETUP_CLSU32' value='1'/>
+        <enumerator name='TC_SETUP_CLSFLOWER' value='2'/>
+        <enumerator name='TC_SETUP_CLSMATCHALL' value='3'/>
+        <enumerator name='TC_SETUP_CLSBPF' value='4'/>
+        <enumerator name='TC_SETUP_BLOCK' value='5'/>
+        <enumerator name='TC_SETUP_QDISC_CBS' value='6'/>
+        <enumerator name='TC_SETUP_QDISC_RED' value='7'/>
+        <enumerator name='TC_SETUP_QDISC_PRIO' value='8'/>
+        <enumerator name='TC_SETUP_QDISC_MQ' value='9'/>
+        <enumerator name='TC_SETUP_QDISC_ETF' value='10'/>
+      </enum-decl>
+      <class-decl name='ndmsg' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/uapi/linux/neighbour.h' line='8' column='1' id='type-id-6680'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ndm_family' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/neighbour.h' line='9' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='ndm_pad1' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/neighbour.h' line='10' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='ndm_pad2' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/neighbour.h' line='11' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='ndm_ifindex' type-id='type-id-2310' visibility='default' filepath='include/uapi/linux/neighbour.h' line='12' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ndm_state' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/neighbour.h' line='13' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='80'>
+          <var-decl name='ndm_flags' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/neighbour.h' line='14' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='88'>
+          <var-decl name='ndm_type' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/neighbour.h' line='15' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='netlink_callback' size-in-bits='896' is-struct='yes' visibility='default' filepath='include/linux/netlink.h' line='170' column='1' id='type-id-6681'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='skb' type-id='type-id-513' visibility='default' filepath='include/linux/netlink.h' line='171' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='nlh' type-id='type-id-6682' visibility='default' filepath='include/linux/netlink.h' line='172' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='dump' type-id='type-id-6683' visibility='default' filepath='include/linux/netlink.h' line='173' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='done' type-id='type-id-6684' visibility='default' filepath='include/linux/netlink.h' line='175' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='data' type-id='type-id-3' visibility='default' filepath='include/linux/netlink.h' line='176' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='module' type-id='type-id-19' visibility='default' filepath='include/linux/netlink.h' line='178' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='family' type-id='type-id-289' visibility='default' filepath='include/linux/netlink.h' line='179' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='400'>
+          <var-decl name='min_dump_alloc' type-id='type-id-289' visibility='default' filepath='include/linux/netlink.h' line='180' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='prev_seq' type-id='type-id-10' visibility='default' filepath='include/linux/netlink.h' line='181' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='seq' type-id='type-id-10' visibility='default' filepath='include/linux/netlink.h' line='181' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='args' type-id='type-id-6428' visibility='default' filepath='include/linux/netlink.h' line='182' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='nlmsghdr' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/netlink.h' line='44' column='1' id='type-id-6685'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='nlmsg_len' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/netlink.h' line='45' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='nlmsg_type' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/netlink.h' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='nlmsg_flags' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/netlink.h' line='47' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='nlmsg_seq' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/netlink.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='nlmsg_pid' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/netlink.h' line='49' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='netdev_phys_item_id' size-in-bits='264' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='788' column='1' id='type-id-6686'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='id' type-id='type-id-4828' visibility='default' filepath='include/linux/netdevice.h' line='789' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='id_len' type-id='type-id-271' visibility='default' filepath='include/linux/netdevice.h' line='790' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='netdev_bpf' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='847' column='1' id='type-id-6687'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='command' type-id='type-id-6688' visibility='default' filepath='include/linux/netdevice.h' line='848' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='' type-id='type-id-6689' visibility='default' filepath='include/linux/netdevice.h' line='849' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='bpf_netdev_command' filepath='include/linux/netdevice.h' line='821' column='1' id='type-id-6688'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='XDP_SETUP_PROG' value='0'/>
+        <enumerator name='XDP_SETUP_PROG_HW' value='1'/>
+        <enumerator name='XDP_QUERY_PROG' value='2'/>
+        <enumerator name='XDP_QUERY_PROG_HW' value='3'/>
+        <enumerator name='BPF_OFFLOAD_VERIFIER_PREP' value='4'/>
+        <enumerator name='BPF_OFFLOAD_TRANSLATE' value='5'/>
+        <enumerator name='BPF_OFFLOAD_DESTROY' value='6'/>
+        <enumerator name='BPF_OFFLOAD_MAP_ALLOC' value='7'/>
+        <enumerator name='BPF_OFFLOAD_MAP_FREE' value='8'/>
+        <enumerator name='XDP_QUERY_XSK_UMEM' value='9'/>
+        <enumerator name='XDP_SETUP_XSK_UMEM' value='10'/>
+      </enum-decl>
+      <union-decl name='__anonymous_union__9' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/linux/netdevice.h' line='849' column='1' id='type-id-6689'>
+        <member-type access='private'>
+          <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/netdevice.h' line='857' column='1' id='type-id-6690'>
+            <data-member access='public' layout-offset-in-bits='0'>
+              <var-decl name='prog_id' type-id='type-id-9' visibility='default' filepath='include/linux/netdevice.h' line='858' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='32'>
+              <var-decl name='prog_flags' type-id='type-id-9' visibility='default' filepath='include/linux/netdevice.h' line='860' column='1'/>
+            </data-member>
+          </class-decl>
+        </member-type>
+        <member-type access='private'>
+          <class-decl name='__anonymous_struct__1' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/netdevice.h' line='872' column='1' id='type-id-6691'>
+            <data-member access='public' layout-offset-in-bits='0'>
+              <var-decl name='offmap' type-id='type-id-6692' visibility='default' filepath='include/linux/netdevice.h' line='873' column='1'/>
+            </data-member>
+          </class-decl>
+        </member-type>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-6693' visibility='default' filepath='include/linux/netdevice.h' line='851' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='verifier' type-id='type-id-6694' visibility='default' filepath='include/linux/netdevice.h' line='866' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='offload' type-id='type-id-6695' visibility='default' filepath='include/linux/netdevice.h' line='870' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='xsk' type-id='type-id-6696' visibility='default' filepath='include/linux/netdevice.h' line='879' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__17' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/netdevice.h' line='851' column='1' id='type-id-6693'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='flags' type-id='type-id-9' visibility='default' filepath='include/linux/netdevice.h' line='852' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='prog' type-id='type-id-3014' visibility='default' filepath='include/linux/netdevice.h' line='853' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='extack' type-id='type-id-6697' visibility='default' filepath='include/linux/netdevice.h' line='854' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='bpf_prog' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/filter.h' line='480' column='1' id='type-id-6698'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='pages' type-id='type-id-289' visibility='default' filepath='include/linux/filter.h' line='481' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15'>
+          <var-decl name='jited' type-id='type-id-289' visibility='default' filepath='include/linux/filter.h' line='482' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14'>
+          <var-decl name='jit_requested' type-id='type-id-289' visibility='default' filepath='include/linux/filter.h' line='483' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13'>
+          <var-decl name='undo_set_mem' type-id='type-id-289' visibility='default' filepath='include/linux/filter.h' line='484' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12'>
+          <var-decl name='gpl_compatible' type-id='type-id-289' visibility='default' filepath='include/linux/filter.h' line='485' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11'>
+          <var-decl name='cb_access' type-id='type-id-289' visibility='default' filepath='include/linux/filter.h' line='486' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10'>
+          <var-decl name='dst_needed' type-id='type-id-289' visibility='default' filepath='include/linux/filter.h' line='487' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9'>
+          <var-decl name='blinded' type-id='type-id-289' visibility='default' filepath='include/linux/filter.h' line='488' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='is_func' type-id='type-id-289' visibility='default' filepath='include/linux/filter.h' line='489' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7'>
+          <var-decl name='kprobe_override' type-id='type-id-289' visibility='default' filepath='include/linux/filter.h' line='490' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6'>
+          <var-decl name='has_callchain_buf' type-id='type-id-289' visibility='default' filepath='include/linux/filter.h' line='491' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='type' type-id='type-id-6699' visibility='default' filepath='include/linux/filter.h' line='492' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='expected_attach_type' type-id='type-id-6700' visibility='default' filepath='include/linux/filter.h' line='493' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='len' type-id='type-id-9' visibility='default' filepath='include/linux/filter.h' line='494' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='jited_len' type-id='type-id-9' visibility='default' filepath='include/linux/filter.h' line='495' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='tag' type-id='type-id-1399' visibility='default' filepath='include/linux/filter.h' line='496' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='aux' type-id='type-id-6701' visibility='default' filepath='include/linux/filter.h' line='497' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='orig_prog' type-id='type-id-6702' visibility='default' filepath='include/linux/filter.h' line='498' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='bpf_func' type-id='type-id-6703' visibility='default' filepath='include/linux/filter.h' line='499' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='' type-id='type-id-6704' visibility='default' filepath='include/linux/filter.h' line='502' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='bpf_prog_type' filepath='include/uapi/linux/bpf.h' line='132' column='1' id='type-id-6699'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='BPF_PROG_TYPE_UNSPEC' value='0'/>
+        <enumerator name='BPF_PROG_TYPE_SOCKET_FILTER' value='1'/>
+        <enumerator name='BPF_PROG_TYPE_KPROBE' value='2'/>
+        <enumerator name='BPF_PROG_TYPE_SCHED_CLS' value='3'/>
+        <enumerator name='BPF_PROG_TYPE_SCHED_ACT' value='4'/>
+        <enumerator name='BPF_PROG_TYPE_TRACEPOINT' value='5'/>
+        <enumerator name='BPF_PROG_TYPE_XDP' value='6'/>
+        <enumerator name='BPF_PROG_TYPE_PERF_EVENT' value='7'/>
+        <enumerator name='BPF_PROG_TYPE_CGROUP_SKB' value='8'/>
+        <enumerator name='BPF_PROG_TYPE_CGROUP_SOCK' value='9'/>
+        <enumerator name='BPF_PROG_TYPE_LWT_IN' value='10'/>
+        <enumerator name='BPF_PROG_TYPE_LWT_OUT' value='11'/>
+        <enumerator name='BPF_PROG_TYPE_LWT_XMIT' value='12'/>
+        <enumerator name='BPF_PROG_TYPE_SOCK_OPS' value='13'/>
+        <enumerator name='BPF_PROG_TYPE_SK_SKB' value='14'/>
+        <enumerator name='BPF_PROG_TYPE_CGROUP_DEVICE' value='15'/>
+        <enumerator name='BPF_PROG_TYPE_SK_MSG' value='16'/>
+        <enumerator name='BPF_PROG_TYPE_RAW_TRACEPOINT' value='17'/>
+        <enumerator name='BPF_PROG_TYPE_CGROUP_SOCK_ADDR' value='18'/>
+        <enumerator name='BPF_PROG_TYPE_LWT_SEG6LOCAL' value='19'/>
+        <enumerator name='BPF_PROG_TYPE_LIRC_MODE2' value='20'/>
+        <enumerator name='BPF_PROG_TYPE_SK_REUSEPORT' value='21'/>
+      </enum-decl>
+      <enum-decl name='bpf_attach_type' filepath='include/uapi/linux/bpf.h' line='157' column='1' id='type-id-6700'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='BPF_CGROUP_INET_INGRESS' value='0'/>
+        <enumerator name='BPF_CGROUP_INET_EGRESS' value='1'/>
+        <enumerator name='BPF_CGROUP_INET_SOCK_CREATE' value='2'/>
+        <enumerator name='BPF_CGROUP_SOCK_OPS' value='3'/>
+        <enumerator name='BPF_SK_SKB_STREAM_PARSER' value='4'/>
+        <enumerator name='BPF_SK_SKB_STREAM_VERDICT' value='5'/>
+        <enumerator name='BPF_CGROUP_DEVICE' value='6'/>
+        <enumerator name='BPF_SK_MSG_VERDICT' value='7'/>
+        <enumerator name='BPF_CGROUP_INET4_BIND' value='8'/>
+        <enumerator name='BPF_CGROUP_INET6_BIND' value='9'/>
+        <enumerator name='BPF_CGROUP_INET4_CONNECT' value='10'/>
+        <enumerator name='BPF_CGROUP_INET6_CONNECT' value='11'/>
+        <enumerator name='BPF_CGROUP_INET4_POST_BIND' value='12'/>
+        <enumerator name='BPF_CGROUP_INET6_POST_BIND' value='13'/>
+        <enumerator name='BPF_CGROUP_UDP4_SENDMSG' value='14'/>
+        <enumerator name='BPF_CGROUP_UDP6_SENDMSG' value='15'/>
+        <enumerator name='BPF_LIRC_MODE2' value='16'/>
+        <enumerator name='BPF_CGROUP_UDP4_RECVMSG' value='19'/>
+        <enumerator name='BPF_CGROUP_UDP6_RECVMSG' value='20'/>
+        <enumerator name='__MAX_BPF_ATTACH_TYPE' value='21'/>
+      </enum-decl>
+      <class-decl name='sock_fprog_kern' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/filter.h' line='464' column='1' id='type-id-6705'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='len' type-id='type-id-289' visibility='default' filepath='include/linux/filter.h' line='465' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='filter' type-id='type-id-6706' visibility='default' filepath='include/linux/filter.h' line='466' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='sock_filter' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/linux/filter.h' line='24' column='1' id='type-id-6433'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='code' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/filter.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='jt' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/filter.h' line='26' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='jf' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/filter.h' line='27' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='k' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/filter.h' line='28' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='bpf_insn' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/linux/bpf.h' line='64' column='1' id='type-id-6387'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='code' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/bpf.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4'>
+          <var-decl name='dst_reg' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/bpf.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='src_reg' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/bpf.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='off' type-id='type-id-3872' visibility='default' filepath='include/uapi/linux/bpf.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='imm' type-id='type-id-2310' visibility='default' filepath='include/uapi/linux/bpf.h' line='69' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='__s16' type-id='type-id-3521' filepath='include/uapi/asm-generic/int-ll64.h' line='23' column='1' id='type-id-3872'/>
+      <class-decl name='__anonymous_struct__18' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/netdevice.h' line='863' column='1' id='type-id-6694'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='prog' type-id='type-id-3014' visibility='default' filepath='include/linux/netdevice.h' line='864' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ops' type-id='type-id-6707' visibility='default' filepath='include/linux/netdevice.h' line='865' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__19' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/netdevice.h' line='868' column='1' id='type-id-6695'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='prog' type-id='type-id-3014' visibility='default' filepath='include/linux/netdevice.h' line='869' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__20' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/netdevice.h' line='876' column='1' id='type-id-6696'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='umem' type-id='type-id-6708' visibility='default' filepath='include/linux/netdevice.h' line='877' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='queue_id' type-id='type-id-289' visibility='default' filepath='include/linux/netdevice.h' line='878' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='xdp_frame' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/xdp.h' line='75' column='1' id='type-id-6709'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='data' type-id='type-id-3' visibility='default' filepath='include/net/xdp.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='len' type-id='type-id-289' visibility='default' filepath='include/net/xdp.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='80'>
+          <var-decl name='headroom' type-id='type-id-289' visibility='default' filepath='include/net/xdp.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='metasize' type-id='type-id-289' visibility='default' filepath='include/net/xdp.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='mem' type-id='type-id-6710' visibility='default' filepath='include/net/xdp.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='dev_rx' type-id='type-id-2976' visibility='default' filepath='include/net/xdp.h' line='84' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='xdp_mem_info' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/net/xdp.h' line='48' column='1' id='type-id-6710'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-9' visibility='default' filepath='include/net/xdp.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='id' type-id='type-id-9' visibility='default' filepath='include/net/xdp.h' line='50' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ethtool_ops' size-in-bits='3712' is-struct='yes' visibility='default' filepath='include/linux/ethtool.h' line='331' column='1' id='type-id-6711'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='get_settings' type-id='type-id-6712' visibility='default' filepath='include/linux/ethtool.h' line='332' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='set_settings' type-id='type-id-6712' visibility='default' filepath='include/linux/ethtool.h' line='333' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='get_drvinfo' type-id='type-id-6713' visibility='default' filepath='include/linux/ethtool.h' line='334' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='get_regs_len' type-id='type-id-6532' visibility='default' filepath='include/linux/ethtool.h' line='335' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='get_regs' type-id='type-id-6714' visibility='default' filepath='include/linux/ethtool.h' line='336' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='get_wol' type-id='type-id-6715' visibility='default' filepath='include/linux/ethtool.h' line='337' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='set_wol' type-id='type-id-6716' visibility='default' filepath='include/linux/ethtool.h' line='338' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='get_msglevel' type-id='type-id-6717' visibility='default' filepath='include/linux/ethtool.h' line='339' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='set_msglevel' type-id='type-id-6718' visibility='default' filepath='include/linux/ethtool.h' line='340' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='nway_reset' type-id='type-id-6532' visibility='default' filepath='include/linux/ethtool.h' line='341' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='get_link' type-id='type-id-6717' visibility='default' filepath='include/linux/ethtool.h' line='342' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='get_eeprom_len' type-id='type-id-6532' visibility='default' filepath='include/linux/ethtool.h' line='343' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='get_eeprom' type-id='type-id-6719' visibility='default' filepath='include/linux/ethtool.h' line='344' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='set_eeprom' type-id='type-id-6719' visibility='default' filepath='include/linux/ethtool.h' line='346' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='get_coalesce' type-id='type-id-6720' visibility='default' filepath='include/linux/ethtool.h' line='348' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='set_coalesce' type-id='type-id-6720' visibility='default' filepath='include/linux/ethtool.h' line='349' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='get_ringparam' type-id='type-id-6721' visibility='default' filepath='include/linux/ethtool.h' line='350' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='set_ringparam' type-id='type-id-6722' visibility='default' filepath='include/linux/ethtool.h' line='352' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='get_pauseparam' type-id='type-id-6723' visibility='default' filepath='include/linux/ethtool.h' line='354' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='set_pauseparam' type-id='type-id-6724' visibility='default' filepath='include/linux/ethtool.h' line='356' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='self_test' type-id='type-id-6725' visibility='default' filepath='include/linux/ethtool.h' line='358' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='get_strings' type-id='type-id-6726' visibility='default' filepath='include/linux/ethtool.h' line='359' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='set_phys_id' type-id='type-id-6727' visibility='default' filepath='include/linux/ethtool.h' line='360' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='get_ethtool_stats' type-id='type-id-6728' visibility='default' filepath='include/linux/ethtool.h' line='361' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='begin' type-id='type-id-6532' visibility='default' filepath='include/linux/ethtool.h' line='363' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='complete' type-id='type-id-2977' visibility='default' filepath='include/linux/ethtool.h' line='364' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='get_priv_flags' type-id='type-id-6717' visibility='default' filepath='include/linux/ethtool.h' line='365' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='set_priv_flags' type-id='type-id-6581' visibility='default' filepath='include/linux/ethtool.h' line='366' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='get_sset_count' type-id='type-id-6540' visibility='default' filepath='include/linux/ethtool.h' line='367' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='get_rxnfc' type-id='type-id-6729' visibility='default' filepath='include/linux/ethtool.h' line='368' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='set_rxnfc' type-id='type-id-6730' visibility='default' filepath='include/linux/ethtool.h' line='370' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='flash_device' type-id='type-id-6731' visibility='default' filepath='include/linux/ethtool.h' line='371' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='reset' type-id='type-id-6732' visibility='default' filepath='include/linux/ethtool.h' line='372' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='get_rxfh_key_size' type-id='type-id-6717' visibility='default' filepath='include/linux/ethtool.h' line='373' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='get_rxfh_indir_size' type-id='type-id-6717' visibility='default' filepath='include/linux/ethtool.h' line='374' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='get_rxfh' type-id='type-id-6733' visibility='default' filepath='include/linux/ethtool.h' line='375' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='set_rxfh' type-id='type-id-6734' visibility='default' filepath='include/linux/ethtool.h' line='377' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='get_rxfh_context' type-id='type-id-6735' visibility='default' filepath='include/linux/ethtool.h' line='379' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='set_rxfh_context' type-id='type-id-6736' visibility='default' filepath='include/linux/ethtool.h' line='381' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='get_channels' type-id='type-id-6737' visibility='default' filepath='include/linux/ethtool.h' line='384' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='set_channels' type-id='type-id-6738' visibility='default' filepath='include/linux/ethtool.h' line='385' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2624'>
+          <var-decl name='get_dump_flag' type-id='type-id-6739' visibility='default' filepath='include/linux/ethtool.h' line='386' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2688'>
+          <var-decl name='get_dump_data' type-id='type-id-6740' visibility='default' filepath='include/linux/ethtool.h' line='387' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2752'>
+          <var-decl name='set_dump' type-id='type-id-6739' visibility='default' filepath='include/linux/ethtool.h' line='389' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2816'>
+          <var-decl name='get_ts_info' type-id='type-id-6741' visibility='default' filepath='include/linux/ethtool.h' line='390' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2880'>
+          <var-decl name='get_module_info' type-id='type-id-6742' visibility='default' filepath='include/linux/ethtool.h' line='391' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2944'>
+          <var-decl name='get_module_eeprom' type-id='type-id-6719' visibility='default' filepath='include/linux/ethtool.h' line='393' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3008'>
+          <var-decl name='get_eee' type-id='type-id-6743' visibility='default' filepath='include/linux/ethtool.h' line='395' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3072'>
+          <var-decl name='set_eee' type-id='type-id-6743' visibility='default' filepath='include/linux/ethtool.h' line='396' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3136'>
+          <var-decl name='get_tunable' type-id='type-id-6744' visibility='default' filepath='include/linux/ethtool.h' line='397' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3200'>
+          <var-decl name='set_tunable' type-id='type-id-6744' visibility='default' filepath='include/linux/ethtool.h' line='399' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3264'>
+          <var-decl name='get_per_queue_coalesce' type-id='type-id-6745' visibility='default' filepath='include/linux/ethtool.h' line='401' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3328'>
+          <var-decl name='set_per_queue_coalesce' type-id='type-id-6745' visibility='default' filepath='include/linux/ethtool.h' line='403' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3392'>
+          <var-decl name='get_link_ksettings' type-id='type-id-6746' visibility='default' filepath='include/linux/ethtool.h' line='405' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3456'>
+          <var-decl name='set_link_ksettings' type-id='type-id-6747' visibility='default' filepath='include/linux/ethtool.h' line='407' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3520'>
+          <var-decl name='get_fecparam' type-id='type-id-6748' visibility='default' filepath='include/linux/ethtool.h' line='409' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3584'>
+          <var-decl name='set_fecparam' type-id='type-id-6748' visibility='default' filepath='include/linux/ethtool.h' line='411' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3648'>
+          <var-decl name='get_ethtool_phy_stats' type-id='type-id-6728' visibility='default' filepath='include/linux/ethtool.h' line='413' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ethtool_cmd' size-in-bits='352' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='100' column='1' id='type-id-6749'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cmd' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='supported' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='advertising' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='speed' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/ethtool.h' line='104' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='112'>
+          <var-decl name='duplex' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/ethtool.h' line='105' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='120'>
+          <var-decl name='port' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/ethtool.h' line='106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='phy_address' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/ethtool.h' line='107' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='136'>
+          <var-decl name='transceiver' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/ethtool.h' line='108' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='144'>
+          <var-decl name='autoneg' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/ethtool.h' line='109' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='152'>
+          <var-decl name='mdio_support' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/ethtool.h' line='110' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='maxtxpkt' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='111' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='maxrxpkt' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='112' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='speed_hi' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/ethtool.h' line='113' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='240'>
+          <var-decl name='eth_tp_mdix' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/ethtool.h' line='114' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='248'>
+          <var-decl name='eth_tp_mdix_ctrl' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/ethtool.h' line='115' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='lp_advertising' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='reserved' type-id='type-id-2444' visibility='default' filepath='include/uapi/linux/ethtool.h' line='117' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ethtool_drvinfo' size-in-bits='1568' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='181' column='1' id='type-id-6750'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cmd' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='182' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='driver' type-id='type-id-650' visibility='default' filepath='include/uapi/linux/ethtool.h' line='183' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='version' type-id='type-id-650' visibility='default' filepath='include/uapi/linux/ethtool.h' line='184' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='fw_version' type-id='type-id-650' visibility='default' filepath='include/uapi/linux/ethtool.h' line='185' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='800'>
+          <var-decl name='bus_info' type-id='type-id-650' visibility='default' filepath='include/uapi/linux/ethtool.h' line='186' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1056'>
+          <var-decl name='erom_version' type-id='type-id-650' visibility='default' filepath='include/uapi/linux/ethtool.h' line='187' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1312'>
+          <var-decl name='reserved2' type-id='type-id-6391' visibility='default' filepath='include/uapi/linux/ethtool.h' line='188' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='n_priv_flags' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='189' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1440'>
+          <var-decl name='n_stats' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='190' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='testinfo_len' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='191' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1504'>
+          <var-decl name='eedump_len' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='192' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='regdump_len' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='193' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ethtool_regs' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='284' column='1' id='type-id-6751'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cmd' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='285' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='version' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='286' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='len' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='287' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='data' type-id='type-id-6752' visibility='default' filepath='include/uapi/linux/ethtool.h' line='288' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ethtool_wolinfo' size-in-bits='160' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='207' column='1' id='type-id-6753'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cmd' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='208' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='supported' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='209' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='wolopts' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='210' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='sopass' type-id='type-id-6384' visibility='default' filepath='include/uapi/linux/ethtool.h' line='211' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ethtool_eeprom' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='309' column='1' id='type-id-6754'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cmd' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='310' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='magic' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='311' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='offset' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='312' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='len' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='313' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='data' type-id='type-id-6752' visibility='default' filepath='include/uapi/linux/ethtool.h' line='314' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ethtool_coalesce' size-in-bits='736' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='436' column='1' id='type-id-6755'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cmd' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='437' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='rx_coalesce_usecs' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='438' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='rx_max_coalesced_frames' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='439' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='rx_coalesce_usecs_irq' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='440' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='rx_max_coalesced_frames_irq' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='441' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='tx_coalesce_usecs' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='442' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='tx_max_coalesced_frames' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='443' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='tx_coalesce_usecs_irq' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='444' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='tx_max_coalesced_frames_irq' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='445' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='stats_block_coalesce_usecs' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='446' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='use_adaptive_rx_coalesce' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='447' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='use_adaptive_tx_coalesce' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='448' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='pkt_rate_low' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='449' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='rx_coalesce_usecs_low' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='450' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='rx_max_coalesced_frames_low' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='451' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='tx_coalesce_usecs_low' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='452' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='tx_max_coalesced_frames_low' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='453' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='pkt_rate_high' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='454' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='rx_coalesce_usecs_high' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='455' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='rx_max_coalesced_frames_high' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='456' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='tx_coalesce_usecs_high' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='457' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='672'>
+          <var-decl name='tx_max_coalesced_frames_high' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='458' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='rate_sample_interval' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='459' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ethtool_ringparam' size-in-bits='288' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='487' column='1' id='type-id-6756'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cmd' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='488' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='rx_max_pending' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='489' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='rx_mini_max_pending' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='490' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='rx_jumbo_max_pending' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='491' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='tx_max_pending' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='492' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='rx_pending' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='493' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='rx_mini_pending' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='494' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='rx_jumbo_pending' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='495' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='tx_pending' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='496' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ethtool_pauseparam' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='549' column='1' id='type-id-6757'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cmd' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='550' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='autoneg' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='551' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='rx_pause' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='552' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='tx_pause' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='553' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ethtool_test' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='657' column='1' id='type-id-6758'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cmd' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='658' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='flags' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='659' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='reserved' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='660' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='len' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='661' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='data' type-id='type-id-4627' visibility='default' filepath='include/uapi/linux/ethtool.h' line='662' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='ethtool_phys_id_state' filepath='include/linux/ethtool.h' line='54' column='1' id='type-id-6759'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='ETHTOOL_ID_INACTIVE' value='0'/>
+        <enumerator name='ETHTOOL_ID_ACTIVE' value='1'/>
+        <enumerator name='ETHTOOL_ID_ON' value='2'/>
+        <enumerator name='ETHTOOL_ID_OFF' value='3'/>
+      </enum-decl>
+      <class-decl name='ethtool_stats' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='676' column='1' id='type-id-6760'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cmd' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='677' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='n_stats' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='678' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='data' type-id='type-id-4627' visibility='default' filepath='include/uapi/linux/ethtool.h' line='679' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ethtool_rxnfc' size-in-bits='1536' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='975' column='1' id='type-id-6761'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cmd' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='976' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='flow_type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='977' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='data' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/ethtool.h' line='978' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='fs' type-id='type-id-6762' visibility='default' filepath='include/uapi/linux/ethtool.h' line='979' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='' type-id='type-id-6763' visibility='default' filepath='include/uapi/linux/ethtool.h' line='980' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1504'>
+          <var-decl name='rule_locs' type-id='type-id-6764' visibility='default' filepath='include/uapi/linux/ethtool.h' line='984' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ethtool_rx_flow_spec' size-in-bits='1344' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='879' column='1' id='type-id-6762'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='flow_type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='880' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='h_u' type-id='type-id-6765' visibility='default' filepath='include/uapi/linux/ethtool.h' line='881' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='h_ext' type-id='type-id-6766' visibility='default' filepath='include/uapi/linux/ethtool.h' line='882' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='m_u' type-id='type-id-6765' visibility='default' filepath='include/uapi/linux/ethtool.h' line='883' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='m_ext' type-id='type-id-6766' visibility='default' filepath='include/uapi/linux/ethtool.h' line='884' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='ring_cookie' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/ethtool.h' line='885' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='location' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='886' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='ethtool_flow_union' size-in-bits='416' visibility='default' filepath='include/uapi/linux/ethtool.h' line='826' column='1' id='type-id-6765'>
+        <data-member access='private'>
+          <var-decl name='tcp_ip4_spec' type-id='type-id-6767' visibility='default' filepath='include/uapi/linux/ethtool.h' line='827' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='udp_ip4_spec' type-id='type-id-6767' visibility='default' filepath='include/uapi/linux/ethtool.h' line='828' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='sctp_ip4_spec' type-id='type-id-6767' visibility='default' filepath='include/uapi/linux/ethtool.h' line='829' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='ah_ip4_spec' type-id='type-id-6768' visibility='default' filepath='include/uapi/linux/ethtool.h' line='830' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='esp_ip4_spec' type-id='type-id-6768' visibility='default' filepath='include/uapi/linux/ethtool.h' line='831' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='usr_ip4_spec' type-id='type-id-6769' visibility='default' filepath='include/uapi/linux/ethtool.h' line='832' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='tcp_ip6_spec' type-id='type-id-6770' visibility='default' filepath='include/uapi/linux/ethtool.h' line='833' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='udp_ip6_spec' type-id='type-id-6770' visibility='default' filepath='include/uapi/linux/ethtool.h' line='834' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='sctp_ip6_spec' type-id='type-id-6770' visibility='default' filepath='include/uapi/linux/ethtool.h' line='835' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='ah_ip6_spec' type-id='type-id-6771' visibility='default' filepath='include/uapi/linux/ethtool.h' line='836' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='esp_ip6_spec' type-id='type-id-6771' visibility='default' filepath='include/uapi/linux/ethtool.h' line='837' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='usr_ip6_spec' type-id='type-id-6772' visibility='default' filepath='include/uapi/linux/ethtool.h' line='838' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='ether_spec' type-id='type-id-6773' visibility='default' filepath='include/uapi/linux/ethtool.h' line='839' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='hdata' type-id='type-id-6382' visibility='default' filepath='include/uapi/linux/ethtool.h' line='840' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='ethtool_tcpip4_spec' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='732' column='1' id='type-id-6767'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ip4src' type-id='type-id-2085' visibility='default' filepath='include/uapi/linux/ethtool.h' line='733' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='ip4dst' type-id='type-id-2085' visibility='default' filepath='include/uapi/linux/ethtool.h' line='734' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='psrc' type-id='type-id-3573' visibility='default' filepath='include/uapi/linux/ethtool.h' line='735' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='80'>
+          <var-decl name='pdst' type-id='type-id-3573' visibility='default' filepath='include/uapi/linux/ethtool.h' line='736' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='tos' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/ethtool.h' line='737' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ethtool_ah_espip4_spec' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='749' column='1' id='type-id-6768'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ip4src' type-id='type-id-2085' visibility='default' filepath='include/uapi/linux/ethtool.h' line='750' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='ip4dst' type-id='type-id-2085' visibility='default' filepath='include/uapi/linux/ethtool.h' line='751' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='spi' type-id='type-id-2085' visibility='default' filepath='include/uapi/linux/ethtool.h' line='752' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='tos' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/ethtool.h' line='753' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ethtool_usrip4_spec' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='767' column='1' id='type-id-6769'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ip4src' type-id='type-id-2085' visibility='default' filepath='include/uapi/linux/ethtool.h' line='768' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='ip4dst' type-id='type-id-2085' visibility='default' filepath='include/uapi/linux/ethtool.h' line='769' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='l4_4_bytes' type-id='type-id-2085' visibility='default' filepath='include/uapi/linux/ethtool.h' line='770' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='tos' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/ethtool.h' line='771' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='104'>
+          <var-decl name='ip_ver' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/ethtool.h' line='772' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='112'>
+          <var-decl name='proto' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/ethtool.h' line='773' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ethtool_tcpip6_spec' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='786' column='1' id='type-id-6770'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ip6src' type-id='type-id-3578' visibility='default' filepath='include/uapi/linux/ethtool.h' line='787' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='ip6dst' type-id='type-id-3578' visibility='default' filepath='include/uapi/linux/ethtool.h' line='788' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='psrc' type-id='type-id-3573' visibility='default' filepath='include/uapi/linux/ethtool.h' line='789' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='272'>
+          <var-decl name='pdst' type-id='type-id-3573' visibility='default' filepath='include/uapi/linux/ethtool.h' line='790' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='tclass' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/ethtool.h' line='791' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ethtool_ah_espip6_spec' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='803' column='1' id='type-id-6771'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ip6src' type-id='type-id-3578' visibility='default' filepath='include/uapi/linux/ethtool.h' line='804' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='ip6dst' type-id='type-id-3578' visibility='default' filepath='include/uapi/linux/ethtool.h' line='805' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='spi' type-id='type-id-2085' visibility='default' filepath='include/uapi/linux/ethtool.h' line='806' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='tclass' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/ethtool.h' line='807' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ethtool_usrip6_spec' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='818' column='1' id='type-id-6772'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ip6src' type-id='type-id-3578' visibility='default' filepath='include/uapi/linux/ethtool.h' line='819' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='ip6dst' type-id='type-id-3578' visibility='default' filepath='include/uapi/linux/ethtool.h' line='820' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='l4_4_bytes' type-id='type-id-2085' visibility='default' filepath='include/uapi/linux/ethtool.h' line='821' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='tclass' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/ethtool.h' line='822' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='296'>
+          <var-decl name='l4_proto' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/ethtool.h' line='823' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ethhdr' size-in-bits='112' is-struct='yes' visibility='default' filepath='include/uapi/linux/if_ether.h' line='161' column='1' id='type-id-6773'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='h_dest' type-id='type-id-6437' visibility='default' filepath='include/uapi/linux/if_ether.h' line='162' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='h_source' type-id='type-id-6437' visibility='default' filepath='include/uapi/linux/if_ether.h' line='163' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='h_proto' type-id='type-id-3573' visibility='default' filepath='include/uapi/linux/if_ether.h' line='164' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ethtool_flow_ext' size-in-bits='160' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='854' column='1' id='type-id-6766'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='padding' type-id='type-id-6381' visibility='default' filepath='include/uapi/linux/ethtool.h' line='855' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='h_dest' type-id='type-id-6437' visibility='default' filepath='include/uapi/linux/ethtool.h' line='856' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='vlan_etype' type-id='type-id-3573' visibility='default' filepath='include/uapi/linux/ethtool.h' line='857' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='80'>
+          <var-decl name='vlan_tci' type-id='type-id-3573' visibility='default' filepath='include/uapi/linux/ethtool.h' line='858' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='data' type-id='type-id-3574' visibility='default' filepath='include/uapi/linux/ethtool.h' line='859' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__11' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='980' column='1' id='type-id-6763'>
+        <data-member access='private'>
+          <var-decl name='rule_cnt' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='981' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='rss_context' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='982' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='ethtool_flash' size-in-bits='1088' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1104' column='1' id='type-id-6774'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cmd' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1105' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='region' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='data' type-id='type-id-13' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1107' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ethtool_channels' size-in-bits='288' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='515' column='1' id='type-id-6775'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cmd' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='516' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='max_rx' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='517' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='max_tx' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='518' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='max_other' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='519' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='max_combined' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='520' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='rx_count' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='521' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='tx_count' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='522' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='other_count' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='523' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='combined_count' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='524' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ethtool_dump' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1124' column='1' id='type-id-6776'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cmd' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1125' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='version' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='flag' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1127' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='len' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1128' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='data' type-id='type-id-6752' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1129' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ethtool_ts_info' size-in-bits='352' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1204' column='1' id='type-id-6777'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cmd' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1205' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='so_timestamping' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1206' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='phc_index' type-id='type-id-2310' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1207' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='tx_types' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1208' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='tx_reserved' type-id='type-id-2411' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1209' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='rx_filters' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1210' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='rx_reserved' type-id='type-id-2411' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1211' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ethtool_modinfo' size-in-bits='352' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='356' column='1' id='type-id-6778'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cmd' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='357' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='358' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='eeprom_len' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='359' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='reserved' type-id='type-id-2406' visibility='default' filepath='include/uapi/linux/ethtool.h' line='360' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ethtool_eee' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='334' column='1' id='type-id-6779'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cmd' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='335' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='supported' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='336' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='advertised' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='337' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='lp_advertised' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='338' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='eee_active' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='339' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='eee_enabled' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='340' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='tx_lpi_enabled' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='341' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='tx_lpi_timer' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='342' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='reserved' type-id='type-id-2444' visibility='default' filepath='include/uapi/linux/ethtool.h' line='343' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ethtool_tunable' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='248' column='1' id='type-id-6780'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cmd' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='249' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='id' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='250' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='type_id' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='251' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='len' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='252' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='data' type-id='type-id-4' visibility='default' filepath='include/uapi/linux/ethtool.h' line='253' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ethtool_link_ksettings' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/ethtool.h' line='112' column='1' id='type-id-6781'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='base' type-id='type-id-6782' visibility='default' filepath='include/linux/ethtool.h' line='113' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='link_modes' type-id='type-id-6783' visibility='default' filepath='include/linux/ethtool.h' line='118' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ethtool_link_settings' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1827' column='1' id='type-id-6782'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cmd' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1828' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='speed' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1829' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='duplex' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1830' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='72'>
+          <var-decl name='port' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1831' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='80'>
+          <var-decl name='phy_address' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1832' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='88'>
+          <var-decl name='autoneg' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1833' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='mdio_support' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1834' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='104'>
+          <var-decl name='eth_tp_mdix' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1835' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='112'>
+          <var-decl name='eth_tp_mdix_ctrl' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1836' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='120'>
+          <var-decl name='link_mode_masks_nwords' type-id='type-id-5615' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1837' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='transceiver' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1838' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='136'>
+          <var-decl name='reserved1' type-id='type-id-4628' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1839' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='reserved' type-id='type-id-6380' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1840' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='link_mode_masks' type-id='type-id-6764' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1841' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__21' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/ethtool.h' line='114' column='1' id='type-id-6783'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='supported' type-id='type-id-930' visibility='default' filepath='include/linux/ethtool.h' line='115' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='advertising' type-id='type-id-930' visibility='default' filepath='include/linux/ethtool.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='lp_advertising' type-id='type-id-930' visibility='default' filepath='include/linux/ethtool.h' line='117' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ethtool_fecparam' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1276' column='1' id='type-id-6784'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cmd' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1277' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='active_fec' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1279' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='fec' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1280' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='reserved' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1281' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='header_ops' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='267' column='1' id='type-id-6785'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='create' type-id='type-id-6786' visibility='default' filepath='include/linux/netdevice.h' line='268' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='parse' type-id='type-id-6787' visibility='default' filepath='include/linux/netdevice.h' line='271' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='cache' type-id='type-id-6788' visibility='default' filepath='include/linux/netdevice.h' line='272' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='cache_update' type-id='type-id-6789' visibility='default' filepath='include/linux/netdevice.h' line='273' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='validate' type-id='type-id-6790' visibility='default' filepath='include/linux/netdevice.h' line='276' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='netdev_hw_addr_list' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='221' column='1' id='type-id-6511'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/netdevice.h' line='222' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='count' type-id='type-id-11' visibility='default' filepath='include/linux/netdevice.h' line='223' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='netdev_rx_queue' size-in-bits='1536' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='707' column='1' id='type-id-6791'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='rps_map' type-id='type-id-6792' visibility='default' filepath='include/linux/netdevice.h' line='709' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='rps_flow_table' type-id='type-id-6793' visibility='default' filepath='include/linux/netdevice.h' line='710' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='kobj' type-id='type-id-315' visibility='default' filepath='include/linux/netdevice.h' line='712' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='dev' type-id='type-id-2976' visibility='default' filepath='include/linux/netdevice.h' line='713' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='xdp_rxq' type-id='type-id-3012' visibility='default' filepath='include/linux/netdevice.h' line='714' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='rps_map' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='633' column='1' id='type-id-6794'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='len' type-id='type-id-10' visibility='default' filepath='include/linux/netdevice.h' line='634' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/linux/netdevice.h' line='635' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='cpus' type-id='type-id-6435' visibility='default' filepath='include/linux/netdevice.h' line='636' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='rps_dev_flow_table' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='655' column='1' id='type-id-6795'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mask' type-id='type-id-10' visibility='default' filepath='include/linux/netdevice.h' line='656' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/linux/netdevice.h' line='657' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='flows' type-id='type-id-6432' visibility='default' filepath='include/linux/netdevice.h' line='658' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='rps_dev_flow' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='645' column='1' id='type-id-6431'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cpu' type-id='type-id-289' visibility='default' filepath='include/linux/netdevice.h' line='646' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='filter' type-id='type-id-289' visibility='default' filepath='include/linux/netdevice.h' line='647' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='last_qtail' type-id='type-id-10' visibility='default' filepath='include/linux/netdevice.h' line='648' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='xdp_rxq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/net/xdp.h' line='59' column='1' id='type-id-3012'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-2976' visibility='default' filepath='include/net/xdp.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='queue_index' type-id='type-id-9' visibility='default' filepath='include/net/xdp.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='reg_state' type-id='type-id-9' visibility='default' filepath='include/net/xdp.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='mem' type-id='type-id-6710' visibility='default' filepath='include/net/xdp.h' line='63' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='rx_handler_func_t' type-id='type-id-6796' filepath='include/linux/netdevice.h' line='422' column='1' id='type-id-6797'/>
+      <typedef-decl name='rx_handler_result_t' type-id='type-id-6798' filepath='include/linux/netdevice.h' line='421' column='1' id='type-id-6799'/>
+      <enum-decl name='rx_handler_result' filepath='include/linux/netdevice.h' line='415' column='1' id='type-id-6798'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='RX_HANDLER_CONSUMED' value='0'/>
+        <enumerator name='RX_HANDLER_ANOTHER' value='1'/>
+        <enumerator name='RX_HANDLER_EXACT' value='2'/>
+        <enumerator name='RX_HANDLER_PASS' value='3'/>
+      </enum-decl>
+      <class-decl name='mini_Qdisc' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/net/sch_generic.h' line='1098' column='1' id='type-id-6800'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='filter_list' type-id='type-id-6801' visibility='default' filepath='include/net/sch_generic.h' line='1099' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='cpu_bstats' type-id='type-id-6802' visibility='default' filepath='include/net/sch_generic.h' line='1100' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='cpu_qstats' type-id='type-id-6803' visibility='default' filepath='include/net/sch_generic.h' line='1101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/net/sch_generic.h' line='1102' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='tcf_proto' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/net/sch_generic.h' line='294' column='1' id='type-id-6804'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='next' type-id='type-id-6801' visibility='default' filepath='include/net/sch_generic.h' line='296' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='root' type-id='type-id-3' visibility='default' filepath='include/net/sch_generic.h' line='297' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='classify' type-id='type-id-6805' visibility='default' filepath='include/net/sch_generic.h' line='300' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='protocol' type-id='type-id-3573' visibility='default' filepath='include/net/sch_generic.h' line='303' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='prio' type-id='type-id-9' visibility='default' filepath='include/net/sch_generic.h' line='306' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='data' type-id='type-id-3' visibility='default' filepath='include/net/sch_generic.h' line='307' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='ops' type-id='type-id-6806' visibility='default' filepath='include/net/sch_generic.h' line='308' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='chain' type-id='type-id-6807' visibility='default' filepath='include/net/sch_generic.h' line='309' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/net/sch_generic.h' line='310' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='tcf_result' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/net/sch_generic.h' line='234' column='1' id='type-id-6808'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='' type-id='type-id-6809' visibility='default' filepath='include/net/sch_generic.h' line='235' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__12' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/net/sch_generic.h' line='235' column='1' id='type-id-6809'>
+        <member-type access='private'>
+          <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/net/sch_generic.h' line='243' column='1' id='type-id-6810'>
+            <data-member access='public' layout-offset-in-bits='0'>
+              <var-decl name='ingress' type-id='type-id-211' visibility='default' filepath='include/net/sch_generic.h' line='244' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='64'>
+              <var-decl name='qstats' type-id='type-id-6803' visibility='default' filepath='include/net/sch_generic.h' line='245' column='1'/>
+            </data-member>
+          </class-decl>
+        </member-type>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-6811' visibility='default' filepath='include/net/sch_generic.h' line='236' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='goto_tp' type-id='type-id-6812' visibility='default' filepath='include/net/sch_generic.h' line='240' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__22' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/net/sch_generic.h' line='236' column='1' id='type-id-6811'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='class' type-id='type-id-100' visibility='default' filepath='include/net/sch_generic.h' line='237' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='classid' type-id='type-id-9' visibility='default' filepath='include/net/sch_generic.h' line='238' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='gnet_stats_queue' size-in-bits='160' is-struct='yes' visibility='default' filepath='include/uapi/linux/gen_stats.h' line='61' column='1' id='type-id-6813'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='qlen' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/gen_stats.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='backlog' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/gen_stats.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='drops' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/gen_stats.h' line='64' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='requeues' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/gen_stats.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='overlimits' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/gen_stats.h' line='66' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='tcf_proto_ops' size-in-bits='1152' is-struct='yes' visibility='default' filepath='include/net/sch_generic.h' line='252' column='1' id='type-id-6814'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='head' type-id='type-id-8' visibility='default' filepath='include/net/sch_generic.h' line='253' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='kind' type-id='type-id-847' visibility='default' filepath='include/net/sch_generic.h' line='254' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='classify' type-id='type-id-6805' visibility='default' filepath='include/net/sch_generic.h' line='256' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='init' type-id='type-id-6815' visibility='default' filepath='include/net/sch_generic.h' line='259' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='destroy' type-id='type-id-6816' visibility='default' filepath='include/net/sch_generic.h' line='260' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='get' type-id='type-id-6817' visibility='default' filepath='include/net/sch_generic.h' line='263' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='change' type-id='type-id-6818' visibility='default' filepath='include/net/sch_generic.h' line='264' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='delete' type-id='type-id-6819' visibility='default' filepath='include/net/sch_generic.h' line='269' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='walk' type-id='type-id-6820' visibility='default' filepath='include/net/sch_generic.h' line='272' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='reoffload' type-id='type-id-6821' visibility='default' filepath='include/net/sch_generic.h' line='273' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='bind_class' type-id='type-id-6822' visibility='default' filepath='include/net/sch_generic.h' line='276' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='tmplt_create' type-id='type-id-6823' visibility='default' filepath='include/net/sch_generic.h' line='278' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='tmplt_destroy' type-id='type-id-74' visibility='default' filepath='include/net/sch_generic.h' line='282' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='dump' type-id='type-id-6824' visibility='default' filepath='include/net/sch_generic.h' line='285' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='tmplt_dump' type-id='type-id-6825' visibility='default' filepath='include/net/sch_generic.h' line='287' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/net/sch_generic.h' line='291' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='tc_setup_cb_t' type-id='type-id-6826' filepath='include/net/sch_generic.h' line='23' column='1' id='type-id-6827'/>
+      <class-decl name='tcf_chain' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/net/sch_generic.h' line='323' column='1' id='type-id-6828'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='filter_chain' type-id='type-id-6801' visibility='default' filepath='include/net/sch_generic.h' line='324' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/net/sch_generic.h' line='325' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='block' type-id='type-id-6829' visibility='default' filepath='include/net/sch_generic.h' line='326' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='index' type-id='type-id-9' visibility='default' filepath='include/net/sch_generic.h' line='327' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='refcnt' type-id='type-id-10' visibility='default' filepath='include/net/sch_generic.h' line='328' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='action_refcnt' type-id='type-id-10' visibility='default' filepath='include/net/sch_generic.h' line='329' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='explicitly_created' type-id='type-id-211' visibility='default' filepath='include/net/sch_generic.h' line='330' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='tmplt_ops' type-id='type-id-6806' visibility='default' filepath='include/net/sch_generic.h' line='331' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='tmplt_priv' type-id='type-id-3' visibility='default' filepath='include/net/sch_generic.h' line='332' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='tcf_block' size-in-bits='896' is-struct='yes' visibility='default' filepath='include/net/sch_generic.h' line='335' column='1' id='type-id-6830'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='chain_list' type-id='type-id-8' visibility='default' filepath='include/net/sch_generic.h' line='336' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='index' type-id='type-id-9' visibility='default' filepath='include/net/sch_generic.h' line='337' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='refcnt' type-id='type-id-10' visibility='default' filepath='include/net/sch_generic.h' line='338' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='net' type-id='type-id-2984' visibility='default' filepath='include/net/sch_generic.h' line='339' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='q' type-id='type-id-6522' visibility='default' filepath='include/net/sch_generic.h' line='340' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='cb_list' type-id='type-id-8' visibility='default' filepath='include/net/sch_generic.h' line='341' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='owner_list' type-id='type-id-8' visibility='default' filepath='include/net/sch_generic.h' line='342' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='keep_dst' type-id='type-id-211' visibility='default' filepath='include/net/sch_generic.h' line='343' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='offloadcnt' type-id='type-id-10' visibility='default' filepath='include/net/sch_generic.h' line='344' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='nooffloaddevcnt' type-id='type-id-10' visibility='default' filepath='include/net/sch_generic.h' line='345' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='chain0' type-id='type-id-6831' visibility='default' filepath='include/net/sch_generic.h' line='349' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='Qdisc' size-in-bits='2560' is-struct='yes' visibility='default' filepath='include/net/sch_generic.h' line='57' column='1' id='type-id-6832'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='enqueue' type-id='type-id-6833' visibility='default' filepath='include/net/sch_generic.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dequeue' type-id='type-id-6834' visibility='default' filepath='include/net/sch_generic.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='include/net/sch_generic.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='limit' type-id='type-id-9' visibility='default' filepath='include/net/sch_generic.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='ops' type-id='type-id-6835' visibility='default' filepath='include/net/sch_generic.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='stab' type-id='type-id-6836' visibility='default' filepath='include/net/sch_generic.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='hash' type-id='type-id-378' visibility='default' filepath='include/net/sch_generic.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='handle' type-id='type-id-9' visibility='default' filepath='include/net/sch_generic.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='parent' type-id='type-id-9' visibility='default' filepath='include/net/sch_generic.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='dev_queue' type-id='type-id-3015' visibility='default' filepath='include/net/sch_generic.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='rate_est' type-id='type-id-6837' visibility='default' filepath='include/net/sch_generic.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='cpu_bstats' type-id='type-id-6802' visibility='default' filepath='include/net/sch_generic.h' line='92' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='cpu_qstats' type-id='type-id-6803' visibility='default' filepath='include/net/sch_generic.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='padded' type-id='type-id-11' visibility='default' filepath='include/net/sch_generic.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='800'>
+          <var-decl name='refcnt' type-id='type-id-12' visibility='default' filepath='include/net/sch_generic.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='gso_skb' type-id='type-id-6446' visibility='default' filepath='include/net/sch_generic.h' line='100' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='q' type-id='type-id-6838' visibility='default' filepath='include/net/sch_generic.h' line='101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='bstats' type-id='type-id-6839' visibility='default' filepath='include/net/sch_generic.h' line='102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1504'>
+          <var-decl name='running' type-id='type-id-1865' visibility='default' filepath='include/net/sch_generic.h' line='103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='qstats' type-id='type-id-6813' visibility='default' filepath='include/net/sch_generic.h' line='104' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='state' type-id='type-id-100' visibility='default' filepath='include/net/sch_generic.h' line='105' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='next_sched' type-id='type-id-6522' visibility='default' filepath='include/net/sch_generic.h' line='106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='skb_bad_txq' type-id='type-id-6446' visibility='default' filepath='include/net/sch_generic.h' line='107' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='busylock' type-id='type-id-106' visibility='default' filepath='include/net/sch_generic.h' line='109' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2080'>
+          <var-decl name='seqlock' type-id='type-id-106' visibility='default' filepath='include/net/sch_generic.h' line='110' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='Qdisc_ops' size-in-bits='1344' is-struct='yes' visibility='default' filepath='include/net/sch_generic.h' line='197' column='1' id='type-id-6840'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='next' type-id='type-id-6841' visibility='default' filepath='include/net/sch_generic.h' line='198' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='cl_ops' type-id='type-id-6842' visibility='default' filepath='include/net/sch_generic.h' line='199' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='id' type-id='type-id-847' visibility='default' filepath='include/net/sch_generic.h' line='200' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='priv_size' type-id='type-id-11' visibility='default' filepath='include/net/sch_generic.h' line='201' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='static_flags' type-id='type-id-10' visibility='default' filepath='include/net/sch_generic.h' line='202' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='enqueue' type-id='type-id-6833' visibility='default' filepath='include/net/sch_generic.h' line='204' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='dequeue' type-id='type-id-6834' visibility='default' filepath='include/net/sch_generic.h' line='207' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='peek' type-id='type-id-6834' visibility='default' filepath='include/net/sch_generic.h' line='208' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='init' type-id='type-id-6843' visibility='default' filepath='include/net/sch_generic.h' line='210' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='reset' type-id='type-id-6844' visibility='default' filepath='include/net/sch_generic.h' line='212' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='destroy' type-id='type-id-6844' visibility='default' filepath='include/net/sch_generic.h' line='213' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='change' type-id='type-id-6843' visibility='default' filepath='include/net/sch_generic.h' line='214' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='attach' type-id='type-id-6844' visibility='default' filepath='include/net/sch_generic.h' line='217' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='change_tx_queue_len' type-id='type-id-6845' visibility='default' filepath='include/net/sch_generic.h' line='218' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='dump' type-id='type-id-6846' visibility='default' filepath='include/net/sch_generic.h' line='220' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='dump_stats' type-id='type-id-6847' visibility='default' filepath='include/net/sch_generic.h' line='221' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='ingress_block_set' type-id='type-id-6848' visibility='default' filepath='include/net/sch_generic.h' line='223' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='egress_block_set' type-id='type-id-6848' visibility='default' filepath='include/net/sch_generic.h' line='225' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='ingress_block_get' type-id='type-id-6849' visibility='default' filepath='include/net/sch_generic.h' line='227' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='egress_block_get' type-id='type-id-6849' visibility='default' filepath='include/net/sch_generic.h' line='228' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/net/sch_generic.h' line='230' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='Qdisc_class_ops' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/net/sch_generic.h' line='165' column='1' id='type-id-6850'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='select_queue' type-id='type-id-6851' visibility='default' filepath='include/net/sch_generic.h' line='167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='graft' type-id='type-id-6852' visibility='default' filepath='include/net/sch_generic.h' line='168' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='leaf' type-id='type-id-6853' visibility='default' filepath='include/net/sch_generic.h' line='171' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='qlen_notify' type-id='type-id-6854' visibility='default' filepath='include/net/sch_generic.h' line='172' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='find' type-id='type-id-6855' visibility='default' filepath='include/net/sch_generic.h' line='175' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='change' type-id='type-id-6856' visibility='default' filepath='include/net/sch_generic.h' line='176' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='delete' type-id='type-id-6857' visibility='default' filepath='include/net/sch_generic.h' line='179' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='walk' type-id='type-id-6858' visibility='default' filepath='include/net/sch_generic.h' line='180' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='tcf_block' type-id='type-id-6859' visibility='default' filepath='include/net/sch_generic.h' line='183' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='bind_tcf' type-id='type-id-6860' visibility='default' filepath='include/net/sch_generic.h' line='186' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='unbind_tcf' type-id='type-id-6854' visibility='default' filepath='include/net/sch_generic.h' line='188' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='dump' type-id='type-id-6861' visibility='default' filepath='include/net/sch_generic.h' line='191' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='dump_stats' type-id='type-id-6862' visibility='default' filepath='include/net/sch_generic.h' line='193' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='netdev_queue' size-in-bits='2560' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='564' column='1' id='type-id-6863'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-2976' visibility='default' filepath='include/linux/netdevice.h' line='568' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='qdisc' type-id='type-id-6522' visibility='default' filepath='include/linux/netdevice.h' line='569' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='qdisc_sleeping' type-id='type-id-6522' visibility='default' filepath='include/linux/netdevice.h' line='570' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='kobj' type-id='type-id-315' visibility='default' filepath='include/linux/netdevice.h' line='572' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='tx_maxrate' type-id='type-id-100' visibility='default' filepath='include/linux/netdevice.h' line='577' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='trans_timeout' type-id='type-id-100' visibility='default' filepath='include/linux/netdevice.h' line='582' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='sb_dev' type-id='type-id-2976' visibility='default' filepath='include/linux/netdevice.h' line='585' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='_xmit_lock' type-id='type-id-106' visibility='default' filepath='include/linux/netdevice.h' line='589' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1056'>
+          <var-decl name='xmit_lock_owner' type-id='type-id-11' visibility='default' filepath='include/linux/netdevice.h' line='590' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='trans_start' type-id='type-id-100' visibility='default' filepath='include/linux/netdevice.h' line='594' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='state' type-id='type-id-100' visibility='default' filepath='include/linux/netdevice.h' line='596' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='dql' type-id='type-id-6864' visibility='default' filepath='include/linux/netdevice.h' line='599' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='dql' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/linux/dynamic_queue_limits.h' line='41' column='1' id='type-id-6864'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='num_queued' type-id='type-id-10' visibility='default' filepath='include/linux/dynamic_queue_limits.h' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='adj_limit' type-id='type-id-10' visibility='default' filepath='include/linux/dynamic_queue_limits.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='last_obj_cnt' type-id='type-id-10' visibility='default' filepath='include/linux/dynamic_queue_limits.h' line='45' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='limit' type-id='type-id-10' visibility='default' filepath='include/linux/dynamic_queue_limits.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='num_completed' type-id='type-id-10' visibility='default' filepath='include/linux/dynamic_queue_limits.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='prev_ovlimit' type-id='type-id-10' visibility='default' filepath='include/linux/dynamic_queue_limits.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='prev_num_queued' type-id='type-id-10' visibility='default' filepath='include/linux/dynamic_queue_limits.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='prev_last_obj_cnt' type-id='type-id-10' visibility='default' filepath='include/linux/dynamic_queue_limits.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='672'>
+          <var-decl name='lowest_slack' type-id='type-id-10' visibility='default' filepath='include/linux/dynamic_queue_limits.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='slack_start_time' type-id='type-id-100' visibility='default' filepath='include/linux/dynamic_queue_limits.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='max_limit' type-id='type-id-10' visibility='default' filepath='include/linux/dynamic_queue_limits.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='800'>
+          <var-decl name='min_limit' type-id='type-id-10' visibility='default' filepath='include/linux/dynamic_queue_limits.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='slack_hold_time' type-id='type-id-10' visibility='default' filepath='include/linux/dynamic_queue_limits.h' line='62' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='tcmsg' size-in-bits='160' is-struct='yes' visibility='default' filepath='include/uapi/linux/rtnetlink.h' line='552' column='1' id='type-id-6865'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='tcm_family' type-id='type-id-271' visibility='default' filepath='include/uapi/linux/rtnetlink.h' line='553' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='tcm__pad1' type-id='type-id-271' visibility='default' filepath='include/uapi/linux/rtnetlink.h' line='554' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='tcm__pad2' type-id='type-id-288' visibility='default' filepath='include/uapi/linux/rtnetlink.h' line='555' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='tcm_ifindex' type-id='type-id-11' visibility='default' filepath='include/uapi/linux/rtnetlink.h' line='556' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='tcm_handle' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/rtnetlink.h' line='557' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='tcm_parent' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/rtnetlink.h' line='558' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='tcm_info' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/rtnetlink.h' line='563' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='gnet_dump' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/net/gen_stats.h' line='17' column='1' id='type-id-6866'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-446' visibility='default' filepath='include/net/gen_stats.h' line='18' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='skb' type-id='type-id-513' visibility='default' filepath='include/net/gen_stats.h' line='19' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='tail' type-id='type-id-6867' visibility='default' filepath='include/net/gen_stats.h' line='20' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='compat_tc_stats' type-id='type-id-11' visibility='default' filepath='include/net/gen_stats.h' line='23' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='compat_xstats' type-id='type-id-11' visibility='default' filepath='include/net/gen_stats.h' line='24' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='padattr' type-id='type-id-11' visibility='default' filepath='include/net/gen_stats.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='xstats' type-id='type-id-3' visibility='default' filepath='include/net/gen_stats.h' line='26' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='xstats_len' type-id='type-id-11' visibility='default' filepath='include/net/gen_stats.h' line='27' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='tc_stats' type-id='type-id-6868' visibility='default' filepath='include/net/gen_stats.h' line='28' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='tc_stats' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/uapi/linux/pkt_sched.h' line='33' column='1' id='type-id-6868'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bytes' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/pkt_sched.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='packets' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/pkt_sched.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='drops' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/pkt_sched.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='overlimits' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/pkt_sched.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='bps' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/pkt_sched.h' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='pps' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/pkt_sched.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='qlen' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/pkt_sched.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='backlog' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/pkt_sched.h' line='42' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='qdisc_size_table' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/net/sch_generic.h' line='38' column='1' id='type-id-6869'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/net/sch_generic.h' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/net/sch_generic.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='szopts' type-id='type-id-6870' visibility='default' filepath='include/net/sch_generic.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='refcnt' type-id='type-id-11' visibility='default' filepath='include/net/sch_generic.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='data' type-id='type-id-6435' visibility='default' filepath='include/net/sch_generic.h' line='43' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='tc_sizespec' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/uapi/linux/pkt_sched.h' line='101' column='1' id='type-id-6870'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cell_log' type-id='type-id-271' visibility='default' filepath='include/uapi/linux/pkt_sched.h' line='102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='size_log' type-id='type-id-271' visibility='default' filepath='include/uapi/linux/pkt_sched.h' line='103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='cell_align' type-id='type-id-3521' visibility='default' filepath='include/uapi/linux/pkt_sched.h' line='104' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='overhead' type-id='type-id-11' visibility='default' filepath='include/uapi/linux/pkt_sched.h' line='105' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='linklayer' type-id='type-id-10' visibility='default' filepath='include/uapi/linux/pkt_sched.h' line='106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='mpu' type-id='type-id-10' visibility='default' filepath='include/uapi/linux/pkt_sched.h' line='107' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='mtu' type-id='type-id-10' visibility='default' filepath='include/uapi/linux/pkt_sched.h' line='108' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='tsize' type-id='type-id-10' visibility='default' filepath='include/uapi/linux/pkt_sched.h' line='109' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='gnet_stats_basic_cpu' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/net/gen_stats.h' line='10' column='1' id='type-id-6871'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bstats' type-id='type-id-6839' visibility='default' filepath='include/net/gen_stats.h' line='11' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='syncp' type-id='type-id-5416' visibility='default' filepath='include/net/gen_stats.h' line='12' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='gnet_stats_basic_packed' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/uapi/linux/gen_stats.h' line='28' column='1' id='type-id-6839'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bytes' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/gen_stats.h' line='29' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='packets' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/gen_stats.h' line='30' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='qdisc_skb_head' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/net/sch_generic.h' line='47' column='1' id='type-id-6838'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='head' type-id='type-id-513' visibility='default' filepath='include/net/sch_generic.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='tail' type-id='type-id-513' visibility='default' filepath='include/net/sch_generic.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='' type-id='type-id-6872' visibility='default' filepath='include/net/sch_generic.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/net/sch_generic.h' line='54' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__23' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/net/sch_generic.h' line='346' column='1' id='type-id-6831'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='chain' type-id='type-id-6807' visibility='default' filepath='include/net/sch_generic.h' line='347' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='filter_chain_list' type-id='type-id-8' visibility='default' filepath='include/net/sch_generic.h' line='348' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='xps_dev_maps' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='745' column='1' id='type-id-6873'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/linux/netdevice.h' line='746' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='attr_map' type-id='type-id-6441' visibility='default' filepath='include/linux/netdevice.h' line='747' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='xps_map' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='732' column='1' id='type-id-6874'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='len' type-id='type-id-10' visibility='default' filepath='include/linux/netdevice.h' line='733' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='alloc_len' type-id='type-id-10' visibility='default' filepath='include/linux/netdevice.h' line='734' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/linux/netdevice.h' line='735' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='queues' type-id='type-id-6435' visibility='default' filepath='include/linux/netdevice.h' line='736' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='__anonymous_enum__' is-anonymous='yes' filepath='include/linux/netdevice.h' line='1964' column='1' id='type-id-6524'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='NETREG_UNINITIALIZED' value='0'/>
+        <enumerator name='NETREG_REGISTERED' value='1'/>
+        <enumerator name='NETREG_UNREGISTERING' value='2'/>
+        <enumerator name='NETREG_UNREGISTERED' value='3'/>
+        <enumerator name='NETREG_RELEASED' value='4'/>
+        <enumerator name='NETREG_DUMMY' value='5'/>
+      </enum-decl>
+      <enum-decl name='__anonymous_enum__1' is-anonymous='yes' filepath='include/linux/netdevice.h' line='1974' column='1' id='type-id-6525'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='RTNL_LINK_INITIALIZED' value='0'/>
+        <enumerator name='RTNL_LINK_INITIALIZING' value='1'/>
+      </enum-decl>
+      <class-decl name='pcpu_sw_netstats' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='2368' column='1' id='type-id-6875'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='rx_packets' type-id='type-id-134' visibility='default' filepath='include/linux/netdevice.h' line='2369' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='rx_bytes' type-id='type-id-134' visibility='default' filepath='include/linux/netdevice.h' line='2370' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='tx_packets' type-id='type-id-134' visibility='default' filepath='include/linux/netdevice.h' line='2371' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='tx_bytes' type-id='type-id-134' visibility='default' filepath='include/linux/netdevice.h' line='2372' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='syncp' type-id='type-id-5416' visibility='default' filepath='include/linux/netdevice.h' line='2373' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='rtnl_link_ops' size-in-bits='1600' is-struct='yes' visibility='default' filepath='include/net/rtnetlink.h' line='59' column='1' id='type-id-2973'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/net/rtnetlink.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='kind' type-id='type-id-24' visibility='default' filepath='include/net/rtnetlink.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='priv_size' type-id='type-id-125' visibility='default' filepath='include/net/rtnetlink.h' line='64' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='setup' type-id='type-id-2977' visibility='default' filepath='include/net/rtnetlink.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='maxtype' type-id='type-id-10' visibility='default' filepath='include/net/rtnetlink.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='policy' type-id='type-id-6628' visibility='default' filepath='include/net/rtnetlink.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='validate' type-id='type-id-6876' visibility='default' filepath='include/net/rtnetlink.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='newlink' type-id='type-id-6877' visibility='default' filepath='include/net/rtnetlink.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='changelink' type-id='type-id-6878' visibility='default' filepath='include/net/rtnetlink.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='dellink' type-id='type-id-6879' visibility='default' filepath='include/net/rtnetlink.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='get_size' type-id='type-id-6880' visibility='default' filepath='include/net/rtnetlink.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='fill_info' type-id='type-id-6881' visibility='default' filepath='include/net/rtnetlink.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='get_xstats_size' type-id='type-id-6880' visibility='default' filepath='include/net/rtnetlink.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='fill_xstats' type-id='type-id-6881' visibility='default' filepath='include/net/rtnetlink.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='get_num_tx_queues' type-id='type-id-6882' visibility='default' filepath='include/net/rtnetlink.h' line='92' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='get_num_rx_queues' type-id='type-id-6882' visibility='default' filepath='include/net/rtnetlink.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='slave_maxtype' type-id='type-id-10' visibility='default' filepath='include/net/rtnetlink.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='slave_policy' type-id='type-id-6628' visibility='default' filepath='include/net/rtnetlink.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='slave_changelink' type-id='type-id-6883' visibility='default' filepath='include/net/rtnetlink.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='get_slave_size' type-id='type-id-6884' visibility='default' filepath='include/net/rtnetlink.h' line='102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='fill_slave_info' type-id='type-id-6885' visibility='default' filepath='include/net/rtnetlink.h' line='104' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='get_link_net' type-id='type-id-6886' visibility='default' filepath='include/net/rtnetlink.h' line='107' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='get_linkxstats_size' type-id='type-id-6887' visibility='default' filepath='include/net/rtnetlink.h' line='108' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='fill_linkxstats' type-id='type-id-6888' visibility='default' filepath='include/net/rtnetlink.h' line='110' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='s16' type-id='type-id-3872' filepath='include/asm-generic/int-ll64.h' line='18' column='1' id='type-id-653'/>
+      <class-decl name='netdev_tc_txq' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='761' column='1' id='type-id-6429'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='count' type-id='type-id-289' visibility='default' filepath='include/linux/netdevice.h' line='762' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='offset' type-id='type-id-289' visibility='default' filepath='include/linux/netdevice.h' line='763' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='slab_flags_t' type-id='type-id-10' filepath='include/linux/types.h' line='159' column='1' id='type-id-6490'/>
+      <class-decl name='smc_hashinfo' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/net/smc.h' line='16' column='1' id='type-id-6889'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-1847' visibility='default' filepath='include/net/smc.h' line='17' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ht' type-id='type-id-297' visibility='default' filepath='include/net/smc.h' line='18' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='socket_lock_t' type-id='type-id-6890' filepath='include/net/sock.h' line='113' column='1' id='type-id-6445'/>
+      <class-decl name='__anonymous_struct__24' size-in-bits='256' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-6445' visibility='default' filepath='include/net/sock.h' line='100' column='1' id='type-id-6890'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='slock' type-id='type-id-106' visibility='default' filepath='include/net/sock.h' line='101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='owned' type-id='type-id-11' visibility='default' filepath='include/net/sock.h' line='102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='wq' type-id='type-id-388' visibility='default' filepath='include/net/sock.h' line='103' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__25' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='380' column='1' id='type-id-6447'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='rmem_alloc' type-id='type-id-137' visibility='default' filepath='include/net/sock.h' line='381' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='len' type-id='type-id-11' visibility='default' filepath='include/net/sock.h' line='382' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='head' type-id='type-id-513' visibility='default' filepath='include/net/sock.h' line='383' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='tail' type-id='type-id-513' visibility='default' filepath='include/net/sock.h' line='384' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='sk_filter' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/filter.h' line='508' column='1' id='type-id-6891'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='refcnt' type-id='type-id-12' visibility='default' filepath='include/linux/filter.h' line='509' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/linux/filter.h' line='510' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='prog' type-id='type-id-3014' visibility='default' filepath='include/linux/filter.h' line='511' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='socket_wq' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/net.h' line='92' column='1' id='type-id-6892'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='wait' type-id='type-id-388' visibility='default' filepath='include/linux/net.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='fasync_list' type-id='type-id-3920' visibility='default' filepath='include/linux/net.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/net.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/linux/net.h' line='97' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='dst_entry' size-in-bits='896' is-struct='yes' visibility='default' filepath='include/net/dst.h' line='35' column='1' id='type-id-2988'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-2976' visibility='default' filepath='include/net/dst.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ops' type-id='type-id-6893' visibility='default' filepath='include/net/dst.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='_metrics' type-id='type-id-100' visibility='default' filepath='include/net/dst.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='expires' type-id='type-id-100' visibility='default' filepath='include/net/dst.h' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='xfrm' type-id='type-id-6894' visibility='default' filepath='include/net/dst.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='input' type-id='type-id-6895' visibility='default' filepath='include/net/dst.h' line='45' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='output' type-id='type-id-6896' visibility='default' filepath='include/net/dst.h' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='flags' type-id='type-id-288' visibility='default' filepath='include/net/dst.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='464'>
+          <var-decl name='obsolete' type-id='type-id-3521' visibility='default' filepath='include/net/dst.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='header_len' type-id='type-id-288' visibility='default' filepath='include/net/dst.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='496'>
+          <var-decl name='trailer_len' type-id='type-id-288' visibility='default' filepath='include/net/dst.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='__refcnt' type-id='type-id-137' visibility='default' filepath='include/net/dst.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='__use' type-id='type-id-11' visibility='default' filepath='include/net/dst.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='lastuse' type-id='type-id-100' visibility='default' filepath='include/net/dst.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='lwtstate' type-id='type-id-6897' visibility='default' filepath='include/net/dst.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='callback_head' type-id='type-id-157' visibility='default' filepath='include/net/dst.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='error' type-id='type-id-3521' visibility='default' filepath='include/net/dst.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='848'>
+          <var-decl name='__pad' type-id='type-id-3521' visibility='default' filepath='include/net/dst.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='864'>
+          <var-decl name='tclassid' type-id='type-id-266' visibility='default' filepath='include/net/dst.h' line='87' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='socket' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/net.h' line='110' column='1' id='type-id-6898'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='state' type-id='type-id-6899' visibility='default' filepath='include/linux/net.h' line='111' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='type' type-id='type-id-3521' visibility='default' filepath='include/linux/net.h' line='113' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/net.h' line='115' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='wq' type-id='type-id-6900' visibility='default' filepath='include/linux/net.h' line='117' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='file' type-id='type-id-147' visibility='default' filepath='include/linux/net.h' line='119' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='sk' type-id='type-id-2995' visibility='default' filepath='include/linux/net.h' line='120' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='ops' type-id='type-id-6901' visibility='default' filepath='include/linux/net.h' line='121' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='socket_state' type-id='type-id-6902' filepath='include/uapi/linux/net.h' line='54' column='1' id='type-id-6899'/>
+      <enum-decl name='__anonymous_enum__2' is-anonymous='yes' filepath='include/uapi/linux/net.h' line='48' column='1' id='type-id-6902'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='SS_FREE' value='0'/>
+        <enumerator name='SS_UNCONNECTED' value='1'/>
+        <enumerator name='SS_CONNECTING' value='2'/>
+        <enumerator name='SS_CONNECTED' value='3'/>
+        <enumerator name='SS_DISCONNECTING' value='4'/>
+      </enum-decl>
+      <class-decl name='proto_ops' size-in-bits='1792' is-struct='yes' visibility='default' filepath='include/linux/net.h' line='133' column='1' id='type-id-6903'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='family' type-id='type-id-11' visibility='default' filepath='include/linux/net.h' line='134' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/linux/net.h' line='135' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='release' type-id='type-id-6904' visibility='default' filepath='include/linux/net.h' line='136' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='bind' type-id='type-id-6905' visibility='default' filepath='include/linux/net.h' line='137' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='connect' type-id='type-id-6906' visibility='default' filepath='include/linux/net.h' line='140' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='socketpair' type-id='type-id-6907' visibility='default' filepath='include/linux/net.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='accept' type-id='type-id-6908' visibility='default' filepath='include/linux/net.h' line='145' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='getname' type-id='type-id-6905' visibility='default' filepath='include/linux/net.h' line='147' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='poll' type-id='type-id-6909' visibility='default' filepath='include/linux/net.h' line='150' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='ioctl' type-id='type-id-6910' visibility='default' filepath='include/linux/net.h' line='152' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='compat_ioctl' type-id='type-id-6910' visibility='default' filepath='include/linux/net.h' line='155' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='listen' type-id='type-id-6911' visibility='default' filepath='include/linux/net.h' line='158' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='shutdown' type-id='type-id-6911' visibility='default' filepath='include/linux/net.h' line='159' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='setsockopt' type-id='type-id-6912' visibility='default' filepath='include/linux/net.h' line='160' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='getsockopt' type-id='type-id-6913' visibility='default' filepath='include/linux/net.h' line='162' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='compat_setsockopt' type-id='type-id-6912' visibility='default' filepath='include/linux/net.h' line='165' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='compat_getsockopt' type-id='type-id-6913' visibility='default' filepath='include/linux/net.h' line='167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='sendmsg' type-id='type-id-6914' visibility='default' filepath='include/linux/net.h' line='170' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='recvmsg' type-id='type-id-6915' visibility='default' filepath='include/linux/net.h' line='180' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='mmap' type-id='type-id-6916' visibility='default' filepath='include/linux/net.h' line='182' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='sendpage' type-id='type-id-6917' visibility='default' filepath='include/linux/net.h' line='184' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='splice_read' type-id='type-id-6918' visibility='default' filepath='include/linux/net.h' line='186' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='set_peek_off' type-id='type-id-6475' visibility='default' filepath='include/linux/net.h' line='188' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='peek_len' type-id='type-id-6904' visibility='default' filepath='include/linux/net.h' line='189' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='read_sock' type-id='type-id-6919' visibility='default' filepath='include/linux/net.h' line='194' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='sendpage_locked' type-id='type-id-6485' visibility='default' filepath='include/linux/net.h' line='196' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='sendmsg_locked' type-id='type-id-6483' visibility='default' filepath='include/linux/net.h' line='198' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='set_rcvlowat' type-id='type-id-6475' visibility='default' filepath='include/linux/net.h' line='200' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__26' size-in-bits='6848' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='353' column='1' id='type-id-6920'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mmap' type-id='type-id-132' visibility='default' filepath='include/linux/mm_types.h' line='354' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='mm_rb' type-id='type-id-133' visibility='default' filepath='include/linux/mm_types.h' line='355' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='vmacache_seqnum' type-id='type-id-134' visibility='default' filepath='include/linux/mm_types.h' line='356' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='get_unmapped_area' type-id='type-id-135' visibility='default' filepath='include/linux/mm_types.h' line='358' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='mmap_base' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='362' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='mmap_legacy_base' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='363' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='task_size' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='369' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='highest_vm_end' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='370' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='pgd' type-id='type-id-136' visibility='default' filepath='include/linux/mm_types.h' line='371' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='mm_users' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='382' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='mm_count' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='391' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='pgtables_bytes' type-id='type-id-138' visibility='default' filepath='include/linux/mm_types.h' line='394' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='map_count' type-id='type-id-11' visibility='default' filepath='include/linux/mm_types.h' line='396' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='736'>
+          <var-decl name='page_table_lock' type-id='type-id-106' visibility='default' filepath='include/linux/mm_types.h' line='398' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='mmap_sem' type-id='type-id-139' visibility='default' filepath='include/linux/mm_types.h' line='401' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='mmlist' type-id='type-id-8' visibility='default' filepath='include/linux/mm_types.h' line='403' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='hiwater_rss' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='410' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='hiwater_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='411' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='total_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='413' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='locked_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='414' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='pinned_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='415' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='data_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='416' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='exec_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='417' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='stack_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='418' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='def_flags' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='419' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='arg_lock' type-id='type-id-106' visibility='default' filepath='include/linux/mm_types.h' line='421' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='start_code' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='end_code' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='start_data' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='end_data' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='start_brk' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='brk' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='start_stack' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='arg_start' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='arg_end' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='env_start' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='env_end' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='saved_auxv' type-id='type-id-140' visibility='default' filepath='include/linux/mm_types.h' line='426' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5504'>
+          <var-decl name='rss_stat' type-id='type-id-141' visibility='default' filepath='include/linux/mm_types.h' line='432' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5760'>
+          <var-decl name='binfmt' type-id='type-id-142' visibility='default' filepath='include/linux/mm_types.h' line='434' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5824'>
+          <var-decl name='context' type-id='type-id-143' visibility='default' filepath='include/linux/mm_types.h' line='437' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6016'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='439' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6080'>
+          <var-decl name='core_state' type-id='type-id-144' visibility='default' filepath='include/linux/mm_types.h' line='441' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6144'>
+          <var-decl name='membarrier_state' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='443' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6176'>
+          <var-decl name='ioctx_lock' type-id='type-id-106' visibility='default' filepath='include/linux/mm_types.h' line='446' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6208'>
+          <var-decl name='ioctx_table' type-id='type-id-145' visibility='default' filepath='include/linux/mm_types.h' line='447' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6272'>
+          <var-decl name='owner' type-id='type-id-118' visibility='default' filepath='include/linux/mm_types.h' line='460' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6336'>
+          <var-decl name='user_ns' type-id='type-id-4564' visibility='default' filepath='include/linux/mm_types.h' line='462' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6400'>
+          <var-decl name='exe_file' type-id='type-id-147' visibility='default' filepath='include/linux/mm_types.h' line='465' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6464'>
+          <var-decl name='tlb_flush_pending' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='491' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6528'>
+          <var-decl name='uprobes_state' type-id='type-id-148' visibility='default' filepath='include/linux/mm_types.h' line='496' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6592'>
+          <var-decl name='async_put_work' type-id='type-id-149' visibility='default' filepath='include/linux/mm_types.h' line='500' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='read_descriptor_t' type-id='type-id-6921' filepath='include/linux/fs.h' line='348' column='1' id='type-id-6922'/>
+      <class-decl name='__anonymous_struct__27' size-in-bits='256' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-6922' visibility='default' filepath='include/linux/fs.h' line='340' column='1' id='type-id-6921'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='written' type-id='type-id-125' visibility='default' filepath='include/linux/fs.h' line='341' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='count' type-id='type-id-125' visibility='default' filepath='include/linux/fs.h' line='342' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='arg' type-id='type-id-6923' visibility='default' filepath='include/linux/fs.h' line='346' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='error' type-id='type-id-11' visibility='default' filepath='include/linux/fs.h' line='347' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__18' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/fs.h' line='343' column='1' id='type-id-6923'>
+        <data-member access='private'>
+          <var-decl name='buf' type-id='type-id-300' visibility='default' filepath='include/linux/fs.h' line='344' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='data' type-id='type-id-3' visibility='default' filepath='include/linux/fs.h' line='345' column='1'/>
+        </data-member>
+      </union-decl>
+      <typedef-decl name='sk_read_actor_t' type-id='type-id-6924' filepath='include/linux/net.h' line='130' column='1' id='type-id-6925'/>
+      <class-decl name='sock_cgroup_data' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/cgroup-defs.h' line='762' column='1' id='type-id-6452'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='' type-id='type-id-6926' visibility='default' filepath='include/linux/cgroup-defs.h' line='763' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__19' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/cgroup-defs.h' line='763' column='1' id='type-id-6926'>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-6927' visibility='default' filepath='include/linux/cgroup-defs.h' line='765' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='val' type-id='type-id-134' visibility='default' filepath='include/linux/cgroup-defs.h' line='779' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__28' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/cgroup-defs.h' line='765' column='1' id='type-id-6927'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='is_data' type-id='type-id-53' visibility='default' filepath='include/linux/cgroup-defs.h' line='766' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='padding' type-id='type-id-53' visibility='default' filepath='include/linux/cgroup-defs.h' line='767' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='prioidx' type-id='type-id-289' visibility='default' filepath='include/linux/cgroup-defs.h' line='768' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='classid' type-id='type-id-9' visibility='default' filepath='include/linux/cgroup-defs.h' line='769' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='pernet_operations' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/net/net_namespace.h' line='330' column='1' id='type-id-6928'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/net/net_namespace.h' line='331' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='init' type-id='type-id-6929' visibility='default' filepath='include/net/net_namespace.h' line='350' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='exit' type-id='type-id-6930' visibility='default' filepath='include/net/net_namespace.h' line='351' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='exit_batch' type-id='type-id-6931' visibility='default' filepath='include/net/net_namespace.h' line='352' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='id' type-id='type-id-72' visibility='default' filepath='include/net/net_namespace.h' line='353' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='size' type-id='type-id-125' visibility='default' filepath='include/net/net_namespace.h' line='354' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='audit_state' filepath='kernel/audit.h' line='36' column='1' id='type-id-6932'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='AUDIT_DISABLED' value='0'/>
+        <enumerator name='AUDIT_BUILD_CONTEXT' value='1'/>
+        <enumerator name='AUDIT_RECORD_CONTEXT' value='2'/>
+      </enum-decl>
+      <class-decl name='audit_names' size-in-bits='832' is-struct='yes' visibility='default' filepath='kernel/audit.h' line='79' column='1' id='type-id-6385'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='kernel/audit.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='name' type-id='type-id-6933' visibility='default' filepath='kernel/audit.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='name_len' type-id='type-id-11' visibility='default' filepath='kernel/audit.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='hidden' type-id='type-id-211' visibility='default' filepath='kernel/audit.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='ino' type-id='type-id-100' visibility='default' filepath='kernel/audit.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='dev' type-id='type-id-4404' visibility='default' filepath='kernel/audit.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='mode' type-id='type-id-4427' visibility='default' filepath='kernel/audit.h' line='88' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='uid' type-id='type-id-4567' visibility='default' filepath='kernel/audit.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='gid' type-id='type-id-4568' visibility='default' filepath='kernel/audit.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='rdev' type-id='type-id-4404' visibility='default' filepath='kernel/audit.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='osid' type-id='type-id-9' visibility='default' filepath='kernel/audit.h' line='92' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='fcap' type-id='type-id-6934' visibility='default' filepath='kernel/audit.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='fcap_ver' type-id='type-id-10' visibility='default' filepath='kernel/audit.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='800'>
+          <var-decl name='type' type-id='type-id-271' visibility='default' filepath='kernel/audit.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='808'>
+          <var-decl name='should_free' type-id='type-id-211' visibility='default' filepath='kernel/audit.h' line='101' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='filename' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='2484' column='1' id='type-id-6935'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/fs.h' line='2485' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='uptr' type-id='type-id-24' visibility='default' filepath='include/linux/fs.h' line='2486' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='refcnt' type-id='type-id-11' visibility='default' filepath='include/linux/fs.h' line='2487' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='aname' type-id='type-id-6936' visibility='default' filepath='include/linux/fs.h' line='2488' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='iname' type-id='type-id-6425' visibility='default' filepath='include/linux/fs.h' line='2489' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='audit_cap_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='kernel/audit.h' line='64' column='1' id='type-id-6934'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='permitted' type-id='type-id-5627' visibility='default' filepath='kernel/audit.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='inheritable' type-id='type-id-5627' visibility='default' filepath='kernel/audit.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='' type-id='type-id-6937' visibility='default' filepath='kernel/audit.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='ambient' type-id='type-id-5627' visibility='default' filepath='kernel/audit.h' line='71' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__20' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='kernel/audit.h' line='67' column='1' id='type-id-6937'>
+        <data-member access='private'>
+          <var-decl name='fE' type-id='type-id-10' visibility='default' filepath='kernel/audit.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='effective' type-id='type-id-5627' visibility='default' filepath='kernel/audit.h' line='69' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__kernel_sockaddr_storage' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/uapi/linux/socket.h' line='14' column='1' id='type-id-6938'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ss_family' type-id='type-id-6496' visibility='default' filepath='include/uapi/linux/socket.h' line='15' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='__data' type-id='type-id-6389' visibility='default' filepath='include/uapi/linux/socket.h' line='17' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__21' size-in-bits='576' is-anonymous='yes' visibility='default' filepath='kernel/audit.h' line='157' column='1' id='type-id-6939'>
+        <data-member access='private'>
+          <var-decl name='socketcall' type-id='type-id-6940' visibility='default' filepath='kernel/audit.h' line='161' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='ipc' type-id='type-id-6941' visibility='default' filepath='kernel/audit.h' line='172' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='mq_getsetattr' type-id='type-id-6942' visibility='default' filepath='kernel/audit.h' line='176' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='mq_notify' type-id='type-id-6943' visibility='default' filepath='kernel/audit.h' line='180' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='mq_sendrecv' type-id='type-id-6944' visibility='default' filepath='kernel/audit.h' line='186' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='mq_open' type-id='type-id-6945' visibility='default' filepath='kernel/audit.h' line='191' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='capset' type-id='type-id-6946' visibility='default' filepath='kernel/audit.h' line='195' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='mmap' type-id='type-id-6947' visibility='default' filepath='kernel/audit.h' line='199' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='execve' type-id='type-id-6948' visibility='default' filepath='kernel/audit.h' line='202' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='module' type-id='type-id-6949' visibility='default' filepath='kernel/audit.h' line='205' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__29' size-in-bits='448' is-struct='yes' is-anonymous='yes' visibility='default' filepath='kernel/audit.h' line='158' column='1' id='type-id-6940'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='nargs' type-id='type-id-11' visibility='default' filepath='kernel/audit.h' line='159' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='args' type-id='type-id-6428' visibility='default' filepath='kernel/audit.h' line='160' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__30' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='kernel/audit.h' line='162' column='1' id='type-id-6941'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='uid' type-id='type-id-4567' visibility='default' filepath='kernel/audit.h' line='163' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='gid' type-id='type-id-4568' visibility='default' filepath='kernel/audit.h' line='164' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='mode' type-id='type-id-4427' visibility='default' filepath='kernel/audit.h' line='165' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='osid' type-id='type-id-9' visibility='default' filepath='kernel/audit.h' line='166' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='has_perm' type-id='type-id-11' visibility='default' filepath='kernel/audit.h' line='167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='perm_uid' type-id='type-id-4970' visibility='default' filepath='kernel/audit.h' line='168' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='perm_gid' type-id='type-id-4973' visibility='default' filepath='kernel/audit.h' line='169' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='perm_mode' type-id='type-id-4427' visibility='default' filepath='kernel/audit.h' line='170' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='qbytes' type-id='type-id-100' visibility='default' filepath='kernel/audit.h' line='171' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__31' size-in-bits='576' is-struct='yes' is-anonymous='yes' visibility='default' filepath='kernel/audit.h' line='173' column='1' id='type-id-6942'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mqdes' type-id='type-id-6950' visibility='default' filepath='kernel/audit.h' line='174' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='mqstat' type-id='type-id-6951' visibility='default' filepath='kernel/audit.h' line='175' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='mqd_t' type-id='type-id-6952' filepath='include/linux/types.h' line='28' column='1' id='type-id-6950'/>
+      <typedef-decl name='__kernel_mqd_t' type-id='type-id-11' filepath='include/uapi/linux/posix_types.h' line='34' column='1' id='type-id-6952'/>
+      <class-decl name='mq_attr' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/uapi/linux/mqueue.h' line='28' column='1' id='type-id-6951'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mq_flags' type-id='type-id-2575' visibility='default' filepath='include/uapi/linux/mqueue.h' line='29' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='mq_maxmsg' type-id='type-id-2575' visibility='default' filepath='include/uapi/linux/mqueue.h' line='30' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='mq_msgsize' type-id='type-id-2575' visibility='default' filepath='include/uapi/linux/mqueue.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='mq_curmsgs' type-id='type-id-2575' visibility='default' filepath='include/uapi/linux/mqueue.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='__reserved' type-id='type-id-6379' visibility='default' filepath='include/uapi/linux/mqueue.h' line='33' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__32' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='kernel/audit.h' line='177' column='1' id='type-id-6943'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mqdes' type-id='type-id-6950' visibility='default' filepath='kernel/audit.h' line='178' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='sigev_signo' type-id='type-id-11' visibility='default' filepath='kernel/audit.h' line='179' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__33' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='kernel/audit.h' line='181' column='1' id='type-id-6944'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mqdes' type-id='type-id-6950' visibility='default' filepath='kernel/audit.h' line='182' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='msg_len' type-id='type-id-125' visibility='default' filepath='kernel/audit.h' line='183' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='msg_prio' type-id='type-id-10' visibility='default' filepath='kernel/audit.h' line='184' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='abs_timeout' type-id='type-id-5030' visibility='default' filepath='kernel/audit.h' line='185' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__34' size-in-bits='576' is-struct='yes' is-anonymous='yes' visibility='default' filepath='kernel/audit.h' line='187' column='1' id='type-id-6945'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='oflag' type-id='type-id-11' visibility='default' filepath='kernel/audit.h' line='188' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='mode' type-id='type-id-4427' visibility='default' filepath='kernel/audit.h' line='189' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='attr' type-id='type-id-6951' visibility='default' filepath='kernel/audit.h' line='190' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__35' size-in-bits='288' is-struct='yes' is-anonymous='yes' visibility='default' filepath='kernel/audit.h' line='192' column='1' id='type-id-6946'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='pid' type-id='type-id-5133' visibility='default' filepath='kernel/audit.h' line='193' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='cap' type-id='type-id-6934' visibility='default' filepath='kernel/audit.h' line='194' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__36' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='kernel/audit.h' line='196' column='1' id='type-id-6947'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='fd' type-id='type-id-11' visibility='default' filepath='kernel/audit.h' line='197' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='flags' type-id='type-id-11' visibility='default' filepath='kernel/audit.h' line='198' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__37' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='kernel/audit.h' line='200' column='1' id='type-id-6948'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='argc' type-id='type-id-11' visibility='default' filepath='kernel/audit.h' line='201' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__38' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='kernel/audit.h' line='203' column='1' id='type-id-6949'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-300' visibility='default' filepath='kernel/audit.h' line='204' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='audit_proctitle' size-in-bits='128' is-struct='yes' visibility='default' filepath='kernel/audit.h' line='104' column='1' id='type-id-6953'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='len' type-id='type-id-11' visibility='default' filepath='kernel/audit.h' line='105' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='value' type-id='type-id-300' visibility='default' filepath='kernel/audit.h' line='106' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-6832' size-in-bits='64' id='type-id-6522'/>
+      <pointer-type-def type-id='type-id-6954' size-in-bits='64' id='type-id-6853'/>
+      <pointer-type-def type-id='type-id-6522' size-in-bits='64' id='type-id-6955'/>
+      <pointer-type-def type-id='type-id-6840' size-in-bits='64' id='type-id-6841'/>
+      <pointer-type-def type-id='type-id-6938' size-in-bits='64' id='type-id-6956'/>
+      <pointer-type-def type-id='type-id-266' size-in-bits='64' id='type-id-2594'/>
+      <pointer-type-def type-id='type-id-6393' size-in-bits='64' id='type-id-6957'/>
+      <pointer-type-def type-id='type-id-6385' size-in-bits='64' id='type-id-6936'/>
+      <pointer-type-def type-id='type-id-6394' size-in-bits='64' id='type-id-6958'/>
+      <pointer-type-def type-id='type-id-6395' size-in-bits='64' id='type-id-6692'/>
+      <pointer-type-def type-id='type-id-6698' size-in-bits='64' id='type-id-3014'/>
+      <pointer-type-def type-id='type-id-6396' size-in-bits='64' id='type-id-6701'/>
+      <pointer-type-def type-id='type-id-6602' size-in-bits='64' id='type-id-6593'/>
+      <qualified-type-def type-id='type-id-6850' const='yes' id='type-id-6959'/>
+      <pointer-type-def type-id='type-id-6959' size-in-bits='64' id='type-id-6842'/>
+      <qualified-type-def type-id='type-id-6840' const='yes' id='type-id-6960'/>
+      <pointer-type-def type-id='type-id-6960' size-in-bits='64' id='type-id-6835'/>
+      <qualified-type-def type-id='type-id-6387' const='yes' id='type-id-6961'/>
+      <pointer-type-def type-id='type-id-6961' size-in-bits='64' id='type-id-6962'/>
+      <qualified-type-def type-id='type-id-6397' const='yes' id='type-id-6963'/>
+      <pointer-type-def type-id='type-id-6963' size-in-bits='64' id='type-id-6707'/>
+      <qualified-type-def type-id='type-id-6781' const='yes' id='type-id-6964'/>
+      <pointer-type-def type-id='type-id-6964' size-in-bits='64' id='type-id-6965'/>
+      <qualified-type-def type-id='type-id-6711' const='yes' id='type-id-6966'/>
+      <pointer-type-def type-id='type-id-6966' size-in-bits='64' id='type-id-6508'/>
+      <qualified-type-def type-id='type-id-6780' const='yes' id='type-id-6967'/>
+      <pointer-type-def type-id='type-id-6967' size-in-bits='64' id='type-id-6968'/>
+      <qualified-type-def type-id='type-id-6785' const='yes' id='type-id-6969'/>
+      <pointer-type-def type-id='type-id-6969' size-in-bits='64' id='type-id-6510'/>
+      <qualified-type-def type-id='type-id-6401' const='yes' id='type-id-6970'/>
+      <pointer-type-def type-id='type-id-6970' size-in-bits='64' id='type-id-6505'/>
+      <qualified-type-def type-id='type-id-6404' const='yes' id='type-id-6971'/>
+      <pointer-type-def type-id='type-id-6971' size-in-bits='64' id='type-id-6509'/>
+      <qualified-type-def type-id='type-id-6674' const='yes' id='type-id-6972'/>
+      <pointer-type-def type-id='type-id-6972' size-in-bits='64' id='type-id-6659'/>
+      <qualified-type-def type-id='type-id-6656' const='yes' id='type-id-6973'/>
+      <pointer-type-def type-id='type-id-6973' size-in-bits='64' id='type-id-6974'/>
+      <qualified-type-def type-id='type-id-6501' const='yes' id='type-id-6975'/>
+      <pointer-type-def type-id='type-id-6975' size-in-bits='64' id='type-id-2978'/>
+      <qualified-type-def type-id='type-id-6531' const='yes' id='type-id-6976'/>
+      <pointer-type-def type-id='type-id-6976' size-in-bits='64' id='type-id-6507'/>
+      <qualified-type-def type-id='type-id-6650' const='yes' id='type-id-6977'/>
+      <pointer-type-def type-id='type-id-6977' size-in-bits='64' id='type-id-6628'/>
+      <qualified-type-def type-id='type-id-6647' const='yes' id='type-id-6978'/>
+      <pointer-type-def type-id='type-id-6978' size-in-bits='64' id='type-id-6649'/>
+      <qualified-type-def type-id='type-id-6685' const='yes' id='type-id-6979'/>
+      <pointer-type-def type-id='type-id-6979' size-in-bits='64' id='type-id-6682'/>
+      <qualified-type-def type-id='type-id-6903' const='yes' id='type-id-6980'/>
+      <pointer-type-def type-id='type-id-6980' size-in-bits='64' id='type-id-6901'/>
+      <qualified-type-def type-id='type-id-2973' const='yes' id='type-id-6981'/>
+      <pointer-type-def type-id='type-id-6981' size-in-bits='64' id='type-id-6527'/>
+      <qualified-type-def type-id='type-id-6982' const='yes' id='type-id-6983'/>
+      <pointer-type-def type-id='type-id-6983' size-in-bits='64' id='type-id-3013'/>
+      <qualified-type-def type-id='type-id-6442' const='yes' id='type-id-6984'/>
+      <pointer-type-def type-id='type-id-6984' size-in-bits='64' id='type-id-2996'/>
+      <qualified-type-def type-id='type-id-6804' const='yes' id='type-id-6985'/>
+      <pointer-type-def type-id='type-id-6985' size-in-bits='64' id='type-id-6812'/>
+      <qualified-type-def type-id='type-id-6814' const='yes' id='type-id-6986'/>
+      <pointer-type-def type-id='type-id-6986' size-in-bits='64' id='type-id-6806'/>
+      <pointer-type-def type-id='type-id-6398' size-in-bits='64' id='type-id-6521'/>
+      <pointer-type-def type-id='type-id-6530' size-in-bits='64' id='type-id-6502'/>
+      <pointer-type-def type-id='type-id-2988' size-in-bits='64' id='type-id-2994'/>
+      <pointer-type-def type-id='type-id-6775' size-in-bits='64' id='type-id-6987'/>
+      <pointer-type-def type-id='type-id-6749' size-in-bits='64' id='type-id-6988'/>
+      <pointer-type-def type-id='type-id-6755' size-in-bits='64' id='type-id-6989'/>
+      <pointer-type-def type-id='type-id-6750' size-in-bits='64' id='type-id-6990'/>
+      <pointer-type-def type-id='type-id-6776' size-in-bits='64' id='type-id-6991'/>
+      <pointer-type-def type-id='type-id-6779' size-in-bits='64' id='type-id-6992'/>
+      <pointer-type-def type-id='type-id-6754' size-in-bits='64' id='type-id-6993'/>
+      <pointer-type-def type-id='type-id-6784' size-in-bits='64' id='type-id-6994'/>
+      <pointer-type-def type-id='type-id-6774' size-in-bits='64' id='type-id-6995'/>
+      <pointer-type-def type-id='type-id-6781' size-in-bits='64' id='type-id-6996'/>
+      <pointer-type-def type-id='type-id-6778' size-in-bits='64' id='type-id-6997'/>
+      <pointer-type-def type-id='type-id-6757' size-in-bits='64' id='type-id-6998'/>
+      <pointer-type-def type-id='type-id-6751' size-in-bits='64' id='type-id-6999'/>
+      <pointer-type-def type-id='type-id-6756' size-in-bits='64' id='type-id-7000'/>
+      <pointer-type-def type-id='type-id-6761' size-in-bits='64' id='type-id-7001'/>
+      <pointer-type-def type-id='type-id-6760' size-in-bits='64' id='type-id-7002'/>
+      <pointer-type-def type-id='type-id-6758' size-in-bits='64' id='type-id-7003'/>
+      <pointer-type-def type-id='type-id-6777' size-in-bits='64' id='type-id-7004'/>
+      <pointer-type-def type-id='type-id-6753' size-in-bits='64' id='type-id-7005'/>
+      <pointer-type-def type-id='type-id-6645' size-in-bits='64' id='type-id-7006'/>
+      <pointer-type-def type-id='type-id-6651' size-in-bits='64' id='type-id-7007'/>
+      <pointer-type-def type-id='type-id-6629' size-in-bits='64' id='type-id-6631'/>
+      <pointer-type-def type-id='type-id-6646' size-in-bits='64' id='type-id-7008'/>
+      <pointer-type-def type-id='type-id-6618' size-in-bits='64' id='type-id-7009'/>
+      <pointer-type-def type-id='type-id-6935' size-in-bits='64' id='type-id-6933'/>
+      <pointer-type-def type-id='type-id-6634' size-in-bits='64' id='type-id-7010'/>
+      <pointer-type-def type-id='type-id-6604' size-in-bits='64' id='type-id-6594'/>
+      <pointer-type-def type-id='type-id-6606' size-in-bits='64' id='type-id-6595'/>
+      <pointer-type-def type-id='type-id-6608' size-in-bits='64' id='type-id-6596'/>
+      <pointer-type-def type-id='type-id-6866' size-in-bits='64' id='type-id-7011'/>
+      <pointer-type-def type-id='type-id-6871' size-in-bits='64' id='type-id-6802'/>
+      <pointer-type-def type-id='type-id-6813' size-in-bits='64' id='type-id-6803'/>
+      <pointer-type-def type-id='type-id-6657' size-in-bits='64' id='type-id-7012'/>
+      <pointer-type-def type-id='type-id-6677' size-in-bits='64' id='type-id-7013'/>
+      <pointer-type-def type-id='type-id-6678' size-in-bits='64' id='type-id-7014'/>
+      <pointer-type-def type-id='type-id-6589' size-in-bits='64' id='type-id-7015'/>
+      <pointer-type-def type-id='type-id-6586' size-in-bits='64' id='type-id-7016'/>
+      <pointer-type-def type-id='type-id-6399' size-in-bits='64' id='type-id-6513'/>
+      <pointer-type-def type-id='type-id-6400' size-in-bits='64' id='type-id-6514'/>
+      <pointer-type-def type-id='type-id-7017' size-in-bits='64' id='type-id-6462'/>
+      <pointer-type-def type-id='type-id-7018' size-in-bits='64' id='type-id-6847'/>
+      <pointer-type-def type-id='type-id-7019' size-in-bits='64' id='type-id-6843'/>
+      <pointer-type-def type-id='type-id-7020' size-in-bits='64' id='type-id-6846'/>
+      <pointer-type-def type-id='type-id-7021' size-in-bits='64' id='type-id-6856'/>
+      <pointer-type-def type-id='type-id-7022' size-in-bits='64' id='type-id-6845'/>
+      <pointer-type-def type-id='type-id-7023' size-in-bits='64' id='type-id-6857'/>
+      <pointer-type-def type-id='type-id-7024' size-in-bits='64' id='type-id-6852'/>
+      <pointer-type-def type-id='type-id-7025' size-in-bits='64' id='type-id-6862'/>
+      <pointer-type-def type-id='type-id-7026' size-in-bits='64' id='type-id-6861'/>
+      <pointer-type-def type-id='type-id-7027' size-in-bits='64' id='type-id-6788'/>
+      <pointer-type-def type-id='type-id-7028' size-in-bits='64' id='type-id-6577'/>
+      <pointer-type-def type-id='type-id-7029' size-in-bits='64' id='type-id-6787'/>
+      <pointer-type-def type-id='type-id-7030' size-in-bits='64' id='type-id-6623'/>
+      <pointer-type-def type-id='type-id-7031' size-in-bits='64' id='type-id-6624'/>
+      <pointer-type-def type-id='type-id-7032' size-in-bits='64' id='type-id-6621'/>
+      <pointer-type-def type-id='type-id-7033' size-in-bits='64' id='type-id-6619'/>
+      <pointer-type-def type-id='type-id-7034' size-in-bits='64' id='type-id-6625'/>
+      <pointer-type-def type-id='type-id-7035' size-in-bits='64' id='type-id-6622'/>
+      <pointer-type-def type-id='type-id-7036' size-in-bits='64' id='type-id-6916'/>
+      <pointer-type-def type-id='type-id-7037' size-in-bits='64' id='type-id-6544'/>
+      <pointer-type-def type-id='type-id-7038' size-in-bits='64' id='type-id-6566'/>
+      <pointer-type-def type-id='type-id-7039' size-in-bits='64' id='type-id-6565'/>
+      <pointer-type-def type-id='type-id-7040' size-in-bits='64' id='type-id-6614'/>
+      <pointer-type-def type-id='type-id-7041' size-in-bits='64' id='type-id-6658'/>
+      <pointer-type-def type-id='type-id-7042' size-in-bits='64' id='type-id-6929'/>
+      <pointer-type-def type-id='type-id-7043' size-in-bits='64' id='type-id-6877'/>
+      <pointer-type-def type-id='type-id-7044' size-in-bits='64' id='type-id-6653'/>
+      <pointer-type-def type-id='type-id-7045' size-in-bits='64' id='type-id-6818'/>
+      <pointer-type-def type-id='type-id-7046' size-in-bits='64' id='type-id-6824'/>
+      <pointer-type-def type-id='type-id-7047' size-in-bits='64' id='type-id-6532'/>
+      <pointer-type-def type-id='type-id-7048' size-in-bits='64' id='type-id-6572'/>
+      <pointer-type-def type-id='type-id-7049' size-in-bits='64' id='type-id-6747'/>
+      <pointer-type-def type-id='type-id-7050' size-in-bits='64' id='type-id-6744'/>
+      <pointer-type-def type-id='type-id-7051' size-in-bits='64' id='type-id-6558'/>
+      <pointer-type-def type-id='type-id-7052' size-in-bits='64' id='type-id-6734'/>
+      <pointer-type-def type-id='type-id-7053' size-in-bits='64' id='type-id-6736'/>
+      <pointer-type-def type-id='type-id-7054' size-in-bits='64' id='type-id-6727'/>
+      <pointer-type-def type-id='type-id-7055' size-in-bits='64' id='type-id-6557'/>
+      <pointer-type-def type-id='type-id-7056' size-in-bits='64' id='type-id-6738'/>
+      <pointer-type-def type-id='type-id-7057' size-in-bits='64' id='type-id-6712'/>
+      <pointer-type-def type-id='type-id-7058' size-in-bits='64' id='type-id-6720'/>
+      <pointer-type-def type-id='type-id-7059' size-in-bits='64' id='type-id-6739'/>
+      <pointer-type-def type-id='type-id-7060' size-in-bits='64' id='type-id-6740'/>
+      <pointer-type-def type-id='type-id-7061' size-in-bits='64' id='type-id-6743'/>
+      <pointer-type-def type-id='type-id-7062' size-in-bits='64' id='type-id-6719'/>
+      <pointer-type-def type-id='type-id-7063' size-in-bits='64' id='type-id-6748'/>
+      <pointer-type-def type-id='type-id-7064' size-in-bits='64' id='type-id-6731'/>
+      <pointer-type-def type-id='type-id-7065' size-in-bits='64' id='type-id-6746'/>
+      <pointer-type-def type-id='type-id-7066' size-in-bits='64' id='type-id-6742'/>
+      <pointer-type-def type-id='type-id-7067' size-in-bits='64' id='type-id-6724'/>
+      <pointer-type-def type-id='type-id-7068' size-in-bits='64' id='type-id-6722'/>
+      <pointer-type-def type-id='type-id-7069' size-in-bits='64' id='type-id-6730'/>
+      <pointer-type-def type-id='type-id-7070' size-in-bits='64' id='type-id-6729'/>
+      <pointer-type-def type-id='type-id-7071' size-in-bits='64' id='type-id-6741'/>
+      <pointer-type-def type-id='type-id-7072' size-in-bits='64' id='type-id-6716'/>
+      <pointer-type-def type-id='type-id-7073' size-in-bits='64' id='type-id-6539'/>
+      <pointer-type-def type-id='type-id-7074' size-in-bits='64' id='type-id-6538'/>
+      <pointer-type-def type-id='type-id-7075' size-in-bits='64' id='type-id-6540'/>
+      <pointer-type-def type-id='type-id-7076' size-in-bits='64' id='type-id-6551'/>
+      <pointer-type-def type-id='type-id-7077' size-in-bits='64' id='type-id-6553'/>
+      <pointer-type-def type-id='type-id-7078' size-in-bits='64' id='type-id-6552'/>
+      <pointer-type-def type-id='type-id-7079' size-in-bits='64' id='type-id-6549'/>
+      <pointer-type-def type-id='type-id-7080' size-in-bits='64' id='type-id-6554'/>
+      <pointer-type-def type-id='type-id-7081' size-in-bits='64' id='type-id-6555'/>
+      <pointer-type-def type-id='type-id-7082' size-in-bits='64' id='type-id-6550'/>
+      <pointer-type-def type-id='type-id-7083' size-in-bits='64' id='type-id-6548'/>
+      <pointer-type-def type-id='type-id-7084' size-in-bits='64' id='type-id-6576'/>
+      <pointer-type-def type-id='type-id-7085' size-in-bits='64' id='type-id-6556'/>
+      <pointer-type-def type-id='type-id-7086' size-in-bits='64' id='type-id-6547'/>
+      <pointer-type-def type-id='type-id-7087' size-in-bits='64' id='type-id-6580'/>
+      <pointer-type-def type-id='type-id-7088' size-in-bits='64' id='type-id-6541'/>
+      <pointer-type-def type-id='type-id-7089' size-in-bits='64' id='type-id-6563'/>
+      <pointer-type-def type-id='type-id-7090' size-in-bits='64' id='type-id-6560'/>
+      <pointer-type-def type-id='type-id-7091' size-in-bits='64' id='type-id-6559'/>
+      <pointer-type-def type-id='type-id-7092' size-in-bits='64' id='type-id-6883'/>
+      <pointer-type-def type-id='type-id-7093' size-in-bits='64' id='type-id-6579'/>
+      <pointer-type-def type-id='type-id-7094' size-in-bits='64' id='type-id-6571'/>
+      <pointer-type-def type-id='type-id-7095' size-in-bits='64' id='type-id-6878'/>
+      <pointer-type-def type-id='type-id-7096' size-in-bits='64' id='type-id-6568'/>
+      <pointer-type-def type-id='type-id-7097' size-in-bits='64' id='type-id-6578'/>
+      <pointer-type-def type-id='type-id-7098' size-in-bits='64' id='type-id-6546'/>
+      <pointer-type-def type-id='type-id-7099' size-in-bits='64' id='type-id-6570'/>
+      <pointer-type-def type-id='type-id-7100' size-in-bits='64' id='type-id-6562'/>
+      <pointer-type-def type-id='type-id-7101' size-in-bits='64' id='type-id-6581'/>
+      <pointer-type-def type-id='type-id-7102' size-in-bits='64' id='type-id-6745'/>
+      <pointer-type-def type-id='type-id-7103' size-in-bits='64' id='type-id-6732'/>
+      <pointer-type-def type-id='type-id-7104' size-in-bits='64' id='type-id-6733'/>
+      <pointer-type-def type-id='type-id-7105' size-in-bits='64' id='type-id-6735'/>
+      <pointer-type-def type-id='type-id-7106' size-in-bits='64' id='type-id-6537'/>
+      <pointer-type-def type-id='type-id-7107' size-in-bits='64' id='type-id-6684'/>
+      <pointer-type-def type-id='type-id-7108' size-in-bits='64' id='type-id-6876'/>
+      <pointer-type-def type-id='type-id-7109' size-in-bits='64' id='type-id-6663'/>
+      <pointer-type-def type-id='type-id-7110' size-in-bits='64' id='type-id-6924'/>
+      <pointer-type-def type-id='type-id-7111' size-in-bits='64' id='type-id-6895'/>
+      <pointer-type-def type-id='type-id-7112' size-in-bits='64' id='type-id-6833'/>
+      <pointer-type-def type-id='type-id-7113' size-in-bits='64' id='type-id-6881'/>
+      <pointer-type-def type-id='type-id-7114' size-in-bits='64' id='type-id-6885'/>
+      <pointer-type-def type-id='type-id-7115' size-in-bits='64' id='type-id-6888'/>
+      <pointer-type-def type-id='type-id-7116' size-in-bits='64' id='type-id-6805'/>
+      <pointer-type-def type-id='type-id-7117' size-in-bits='64' id='type-id-6825'/>
+      <pointer-type-def type-id='type-id-7118' size-in-bits='64' id='type-id-6786'/>
+      <pointer-type-def type-id='type-id-7119' size-in-bits='64' id='type-id-6683'/>
+      <pointer-type-def type-id='type-id-7120' size-in-bits='64' id='type-id-6567'/>
+      <pointer-type-def type-id='type-id-7121' size-in-bits='64' id='type-id-6569'/>
+      <pointer-type-def type-id='type-id-7122' size-in-bits='64' id='type-id-6478'/>
+      <pointer-type-def type-id='type-id-7123' size-in-bits='64' id='type-id-6475'/>
+      <pointer-type-def type-id='type-id-7124' size-in-bits='64' id='type-id-6481'/>
+      <pointer-type-def type-id='type-id-7125' size-in-bits='64' id='type-id-6480'/>
+      <pointer-type-def type-id='type-id-7126' size-in-bits='64' id='type-id-6477'/>
+      <pointer-type-def type-id='type-id-7127' size-in-bits='64' id='type-id-6483'/>
+      <pointer-type-def type-id='type-id-7128' size-in-bits='64' id='type-id-6484'/>
+      <pointer-type-def type-id='type-id-7129' size-in-bits='64' id='type-id-6485'/>
+      <pointer-type-def type-id='type-id-7130' size-in-bits='64' id='type-id-6919'/>
+      <pointer-type-def type-id='type-id-7131' size-in-bits='64' id='type-id-6454'/>
+      <pointer-type-def type-id='type-id-7132' size-in-bits='64' id='type-id-6474'/>
+      <pointer-type-def type-id='type-id-7133' size-in-bits='64' id='type-id-6482'/>
+      <pointer-type-def type-id='type-id-7134' size-in-bits='64' id='type-id-6486'/>
+      <pointer-type-def type-id='type-id-7135' size-in-bits='64' id='type-id-6904'/>
+      <pointer-type-def type-id='type-id-7136' size-in-bits='64' id='type-id-6911'/>
+      <pointer-type-def type-id='type-id-7137' size-in-bits='64' id='type-id-6913'/>
+      <pointer-type-def type-id='type-id-7138' size-in-bits='64' id='type-id-6912'/>
+      <pointer-type-def type-id='type-id-7139' size-in-bits='64' id='type-id-6914'/>
+      <pointer-type-def type-id='type-id-7140' size-in-bits='64' id='type-id-6915'/>
+      <pointer-type-def type-id='type-id-7141' size-in-bits='64' id='type-id-6905'/>
+      <pointer-type-def type-id='type-id-7142' size-in-bits='64' id='type-id-6906'/>
+      <pointer-type-def type-id='type-id-7143' size-in-bits='64' id='type-id-6907'/>
+      <pointer-type-def type-id='type-id-7144' size-in-bits='64' id='type-id-6908'/>
+      <pointer-type-def type-id='type-id-7145' size-in-bits='64' id='type-id-6910'/>
+      <pointer-type-def type-id='type-id-7146' size-in-bits='64' id='type-id-6815'/>
+      <pointer-type-def type-id='type-id-7147' size-in-bits='64' id='type-id-6821'/>
+      <pointer-type-def type-id='type-id-7148' size-in-bits='64' id='type-id-6819'/>
+      <pointer-type-def type-id='type-id-6402' size-in-bits='64' id='type-id-6506'/>
+      <pointer-type-def type-id='type-id-6403' size-in-bits='64' id='type-id-6897'/>
+      <pointer-type-def type-id='type-id-6800' size-in-bits='64' id='type-id-6519'/>
+      <pointer-type-def type-id='type-id-6497' size-in-bits='64' id='type-id-7149'/>
+      <pointer-type-def type-id='type-id-6680' size-in-bits='64' id='type-id-7150'/>
+      <pointer-type-def type-id='type-id-6672' size-in-bits='64' id='type-id-6667'/>
+      <pointer-type-def type-id='type-id-6613' size-in-bits='64' id='type-id-3029'/>
+      <pointer-type-def type-id='type-id-6671' size-in-bits='64' id='type-id-6666'/>
+      <pointer-type-def type-id='type-id-6660' size-in-bits='64' id='type-id-6616'/>
+      <pointer-type-def type-id='type-id-6656' size-in-bits='64' id='type-id-3065'/>
+      <pointer-type-def type-id='type-id-3065' size-in-bits='64' id='type-id-6673'/>
+      <pointer-type-def type-id='type-id-7151' size-in-bits='64' id='type-id-6886'/>
+      <pointer-type-def type-id='type-id-6501' size-in-bits='64' id='type-id-2976'/>
+      <pointer-type-def type-id='type-id-6504' size-in-bits='64' id='type-id-7152'/>
+      <pointer-type-def type-id='type-id-7153' size-in-bits='64' id='type-id-6545'/>
+      <pointer-type-def type-id='type-id-6405' size-in-bits='64' id='type-id-6837'/>
+      <pointer-type-def type-id='type-id-6687' size-in-bits='64' id='type-id-7154'/>
+      <pointer-type-def type-id='type-id-6686' size-in-bits='64' id='type-id-7155'/>
+      <pointer-type-def type-id='type-id-6863' size-in-bits='64' id='type-id-3015'/>
+      <pointer-type-def type-id='type-id-7156' size-in-bits='64' id='type-id-6851'/>
+      <pointer-type-def type-id='type-id-6791' size-in-bits='64' id='type-id-6517'/>
+      <pointer-type-def type-id='type-id-6681' size-in-bits='64' id='type-id-7157'/>
+      <pointer-type-def type-id='type-id-6648' size-in-bits='64' id='type-id-6697'/>
+      <pointer-type-def type-id='type-id-6647' size-in-bits='64' id='type-id-6867'/>
+      <pointer-type-def type-id='type-id-6867' size-in-bits='64' id='type-id-7158'/>
+      <pointer-type-def type-id='type-id-6685' size-in-bits='64' id='type-id-7159'/>
+      <pointer-type-def type-id='type-id-6406' size-in-bits='64' id='type-id-7160'/>
+      <pointer-type-def type-id='type-id-6407' size-in-bits='64' id='type-id-7161'/>
+      <pointer-type-def type-id='type-id-6875' size-in-bits='64' id='type-id-7162'/>
+      <pointer-type-def type-id='type-id-6408' size-in-bits='64' id='type-id-7163'/>
+      <pointer-type-def type-id='type-id-6928' size-in-bits='64' id='type-id-7164'/>
+      <pointer-type-def type-id='type-id-6409' size-in-bits='64' id='type-id-6528'/>
+      <pointer-type-def type-id='type-id-6669' size-in-bits='64' id='type-id-6670'/>
+      <pointer-type-def type-id='type-id-6670' size-in-bits='64' id='type-id-6668'/>
+      <pointer-type-def type-id='type-id-6472' size-in-bits='64' id='type-id-2993'/>
+      <pointer-type-def type-id='type-id-6869' size-in-bits='64' id='type-id-6836'/>
+      <pointer-type-def type-id='type-id-6410' size-in-bits='64' id='type-id-7165'/>
+      <pointer-type-def type-id='type-id-6411' size-in-bits='64' id='type-id-7166'/>
+      <pointer-type-def type-id='type-id-6600' size-in-bits='64' id='type-id-6592'/>
+      <pointer-type-def type-id='type-id-6922' size-in-bits='64' id='type-id-7167'/>
+      <pointer-type-def type-id='type-id-6412' size-in-bits='64' id='type-id-6491'/>
+      <pointer-type-def type-id='type-id-6795' size-in-bits='64' id='type-id-6793'/>
+      <pointer-type-def type-id='type-id-6794' size-in-bits='64' id='type-id-6792'/>
+      <pointer-type-def type-id='type-id-6676' size-in-bits='64' id='type-id-7168'/>
+      <pointer-type-def type-id='type-id-6797' size-in-bits='64' id='type-id-6518'/>
+      <pointer-type-def type-id='type-id-6413' size-in-bits='64' id='type-id-6529'/>
+      <pointer-type-def type-id='type-id-7169' size-in-bits='64' id='type-id-6834'/>
+      <pointer-type-def type-id='type-id-513' size-in-bits='64' id='type-id-7170'/>
+      <pointer-type-def type-id='type-id-6446' size-in-bits='64' id='type-id-7171'/>
+      <pointer-type-def type-id='type-id-6891' size-in-bits='64' id='type-id-6448'/>
+      <pointer-type-def type-id='type-id-6889' size-in-bits='64' id='type-id-7172'/>
+      <pointer-type-def type-id='type-id-6442' size-in-bits='64' id='type-id-2995'/>
+      <pointer-type-def type-id='type-id-7173' size-in-bits='64' id='type-id-6476'/>
+      <pointer-type-def type-id='type-id-2995' size-in-bits='64' id='type-id-7174'/>
+      <pointer-type-def type-id='type-id-6433' size-in-bits='64' id='type-id-6706'/>
+      <pointer-type-def type-id='type-id-6705' size-in-bits='64' id='type-id-6702'/>
+      <pointer-type-def type-id='type-id-6414' size-in-bits='64' id='type-id-6455'/>
+      <pointer-type-def type-id='type-id-6494' size-in-bits='64' id='type-id-7175'/>
+      <pointer-type-def type-id='type-id-6898' size-in-bits='64' id='type-id-2985'/>
+      <pointer-type-def type-id='type-id-6892' size-in-bits='64' id='type-id-6900'/>
+      <pointer-type-def type-id='type-id-6610' size-in-bits='64' id='type-id-6597'/>
+      <pointer-type-def type-id='type-id-6827' size-in-bits='64' id='type-id-7176'/>
+      <pointer-type-def type-id='type-id-6830' size-in-bits='64' id='type-id-6829'/>
+      <pointer-type-def type-id='type-id-7177' size-in-bits='64' id='type-id-6859'/>
+      <pointer-type-def type-id='type-id-6828' size-in-bits='64' id='type-id-6807'/>
+      <pointer-type-def type-id='type-id-6804' size-in-bits='64' id='type-id-6801'/>
+      <pointer-type-def type-id='type-id-6808' size-in-bits='64' id='type-id-7178'/>
+      <pointer-type-def type-id='type-id-6415' size-in-bits='64' id='type-id-7179'/>
+      <pointer-type-def type-id='type-id-6865' size-in-bits='64' id='type-id-7180'/>
+      <pointer-type-def type-id='type-id-6612' size-in-bits='64' id='type-id-6598'/>
+      <pointer-type-def type-id='type-id-6416' size-in-bits='64' id='type-id-6492'/>
+      <pointer-type-def type-id='type-id-6417' size-in-bits='64' id='type-id-6512'/>
+      <pointer-type-def type-id='type-id-7181' size-in-bits='64' id='type-id-6909'/>
+      <pointer-type-def type-id='type-id-7182' size-in-bits='64' id='type-id-6661'/>
+      <pointer-type-def type-id='type-id-7183' size-in-bits='64' id='type-id-6790'/>
+      <pointer-type-def type-id='type-id-7184' size-in-bits='64' id='type-id-6662'/>
+      <pointer-type-def type-id='type-id-7185' size-in-bits='64' id='type-id-6543'/>
+      <pointer-type-def type-id='type-id-7186' size-in-bits='64' id='type-id-6487'/>
+      <pointer-type-def type-id='type-id-7187' size-in-bits='64' id='type-id-6620'/>
+      <pointer-type-def type-id='type-id-7188' size-in-bits='64' id='type-id-6561'/>
+      <pointer-type-def type-id='type-id-7189' size-in-bits='64' id='type-id-6534'/>
+      <pointer-type-def type-id='type-id-7190' size-in-bits='64' id='type-id-6533'/>
+      <pointer-type-def type-id='type-id-7191' size-in-bits='64' id='type-id-6880'/>
+      <pointer-type-def type-id='type-id-7192' size-in-bits='64' id='type-id-6884'/>
+      <pointer-type-def type-id='type-id-7193' size-in-bits='64' id='type-id-6887'/>
+      <pointer-type-def type-id='type-id-7194' size-in-bits='64' id='type-id-6626'/>
+      <pointer-type-def type-id='type-id-7195' size-in-bits='64' id='type-id-6918'/>
+      <pointer-type-def type-id='type-id-7196' size-in-bits='64' id='type-id-6917'/>
+      <pointer-type-def type-id='type-id-7197' size-in-bits='64' id='type-id-6584'/>
+      <pointer-type-def type-id='type-id-7198' size-in-bits='64' id='type-id-6535'/>
+      <pointer-type-def type-id='type-id-7199' size-in-bits='64' id='type-id-6849'/>
+      <pointer-type-def type-id='type-id-7200' size-in-bits='64' id='type-id-6717'/>
+      <pointer-type-def type-id='type-id-6418' size-in-bits='64' id='type-id-7201'/>
+      <pointer-type-def type-id='type-id-6419' size-in-bits='64' id='type-id-7202'/>
+      <pointer-type-def type-id='type-id-7203' size-in-bits='64' id='type-id-6882'/>
+      <pointer-type-def type-id='type-id-7204' size-in-bits='64' id='type-id-6652'/>
+      <pointer-type-def type-id='type-id-7205' size-in-bits='64' id='type-id-6703'/>
+      <pointer-type-def type-id='type-id-7206' size-in-bits='64' id='type-id-6855'/>
+      <pointer-type-def type-id='type-id-7207' size-in-bits='64' id='type-id-6860'/>
+      <pointer-type-def type-id='type-id-7208' size-in-bits='64' id='type-id-6844'/>
+      <pointer-type-def type-id='type-id-7209' size-in-bits='64' id='type-id-6858'/>
+      <pointer-type-def type-id='type-id-7210' size-in-bits='64' id='type-id-6848'/>
+      <pointer-type-def type-id='type-id-7211' size-in-bits='64' id='type-id-6854'/>
+      <pointer-type-def type-id='type-id-7212' size-in-bits='64' id='type-id-6627'/>
+      <pointer-type-def type-id='type-id-7213' size-in-bits='64' id='type-id-6789'/>
+      <pointer-type-def type-id='type-id-7214' size-in-bits='64' id='type-id-6931'/>
+      <pointer-type-def type-id='type-id-7215' size-in-bits='64' id='type-id-6615'/>
+      <pointer-type-def type-id='type-id-7216' size-in-bits='64' id='type-id-6675'/>
+      <pointer-type-def type-id='type-id-7217' size-in-bits='64' id='type-id-6930'/>
+      <pointer-type-def type-id='type-id-7218' size-in-bits='64' id='type-id-2977'/>
+      <pointer-type-def type-id='type-id-7219' size-in-bits='64' id='type-id-6737'/>
+      <pointer-type-def type-id='type-id-7220' size-in-bits='64' id='type-id-6713'/>
+      <pointer-type-def type-id='type-id-7221' size-in-bits='64' id='type-id-6723'/>
+      <pointer-type-def type-id='type-id-7222' size-in-bits='64' id='type-id-6714'/>
+      <pointer-type-def type-id='type-id-7223' size-in-bits='64' id='type-id-6721'/>
+      <pointer-type-def type-id='type-id-7224' size-in-bits='64' id='type-id-6728'/>
+      <pointer-type-def type-id='type-id-7225' size-in-bits='64' id='type-id-6725'/>
+      <pointer-type-def type-id='type-id-7226' size-in-bits='64' id='type-id-6715'/>
+      <pointer-type-def type-id='type-id-7227' size-in-bits='64' id='type-id-6536'/>
+      <pointer-type-def type-id='type-id-7228' size-in-bits='64' id='type-id-6879'/>
+      <pointer-type-def type-id='type-id-7229' size-in-bits='64' id='type-id-6564'/>
+      <pointer-type-def type-id='type-id-7230' size-in-bits='64' id='type-id-6542'/>
+      <pointer-type-def type-id='type-id-7231' size-in-bits='64' id='type-id-6718'/>
+      <pointer-type-def type-id='type-id-7232' size-in-bits='64' id='type-id-6726'/>
+      <pointer-type-def type-id='type-id-7233' size-in-bits='64' id='type-id-6573'/>
+      <pointer-type-def type-id='type-id-7234' size-in-bits='64' id='type-id-6575'/>
+      <pointer-type-def type-id='type-id-7235' size-in-bits='64' id='type-id-6664'/>
+      <pointer-type-def type-id='type-id-7236' size-in-bits='64' id='type-id-6453'/>
+      <pointer-type-def type-id='type-id-7237' size-in-bits='64' id='type-id-6479'/>
+      <pointer-type-def type-id='type-id-7238' size-in-bits='64' id='type-id-6473'/>
+      <pointer-type-def type-id='type-id-7239' size-in-bits='64' id='type-id-6816'/>
+      <pointer-type-def type-id='type-id-7240' size-in-bits='64' id='type-id-6820'/>
+      <pointer-type-def type-id='type-id-7241' size-in-bits='64' id='type-id-6822'/>
+      <pointer-type-def type-id='type-id-7242' size-in-bits='64' id='type-id-6823'/>
+      <pointer-type-def type-id='type-id-7243' size-in-bits='64' id='type-id-6574'/>
+      <pointer-type-def type-id='type-id-7244' size-in-bits='64' id='type-id-6817'/>
+      <qualified-type-def type-id='type-id-271' volatile='yes' id='type-id-6468'/>
+      <pointer-type-def type-id='type-id-6420' size-in-bits='64' id='type-id-6515'/>
+      <pointer-type-def type-id='type-id-6421' size-in-bits='64' id='type-id-6516'/>
+      <pointer-type-def type-id='type-id-6709' size-in-bits='64' id='type-id-7245'/>
+      <pointer-type-def type-id='type-id-7245' size-in-bits='64' id='type-id-7246'/>
+      <pointer-type-def type-id='type-id-6422' size-in-bits='64' id='type-id-6708'/>
+      <pointer-type-def type-id='type-id-6423' size-in-bits='64' id='type-id-6438'/>
+      <pointer-type-def type-id='type-id-6424' size-in-bits='64' id='type-id-6894'/>
+      <pointer-type-def type-id='type-id-6873' size-in-bits='64' id='type-id-6523'/>
+      <pointer-type-def type-id='type-id-6874' size-in-bits='64' id='type-id-6440'/>
+      <function-decl name='netlink_unicast' mangled-name='netlink_unicast' filepath='include/linux/netlink.h' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netlink_unicast'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='kfree_skb' mangled-name='kfree_skb' filepath='include/linux/skbuff.h' line='976' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kfree_skb'>
+        <parameter type-id='type-id-513'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='skb_put' mangled-name='skb_put' filepath='include/linux/skbuff.h' line='2067' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_put'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='skb_queue_tail' mangled-name='skb_queue_tail' filepath='include/linux/skbuff.h' line='1882' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_queue_tail'>
+        <parameter type-id='type-id-7171'/>
+        <parameter type-id='type-id-513'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='register_pernet_subsys' mangled-name='register_pernet_subsys' filepath='include/net/net_namespace.h' line='376' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='register_pernet_subsys'>
+        <parameter type-id='type-id-7164'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='skb_dequeue' mangled-name='skb_dequeue' filepath='include/linux/skbuff.h' line='1914' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_dequeue'>
+        <parameter type-id='type-id-7171'/>
+        <return type-id='type-id-513'/>
+      </function-decl>
+      <function-decl name='netlink_kernel_release' mangled-name='netlink_kernel_release' filepath='include/linux/netlink.h' line='113' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netlink_kernel_release'>
+        <parameter type-id='type-id-2995'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='skb_queue_head' mangled-name='skb_queue_head' filepath='include/linux/skbuff.h' line='1865' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_queue_head'>
+        <parameter type-id='type-id-7171'/>
+        <parameter type-id='type-id-513'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='consume_skb' mangled-name='consume_skb' filepath='include/linux/skbuff.h' line='979' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='consume_skb'>
+        <parameter type-id='type-id-513'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='skb_copy' mangled-name='skb_copy' filepath='include/linux/skbuff.h' line='1045' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_copy'>
+        <parameter type-id='type-id-3013'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-513'/>
+      </function-decl>
+      <function-decl name='netlink_broadcast' mangled-name='netlink_broadcast' filepath='include/linux/netlink.h' line='122' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netlink_broadcast'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='pskb_expand_head' mangled-name='pskb_expand_head' filepath='include/linux/skbuff.h' line='1054' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pskb_expand_head'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='audit_log' mangled-name='audit_log' filepath='kernel/audit.c' line='2374' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='audit_log'>
+        <parameter type-id='type-id-5143' name='ctx' filepath='kernel/audit.c' line='2374' column='1'/>
+        <parameter type-id='type-id-272' name='gfp_mask' filepath='kernel/audit.c' line='2374' column='1'/>
+        <parameter type-id='type-id-11' name='type' filepath='kernel/audit.c' line='2374' column='1'/>
+        <parameter type-id='type-id-24' name='fmt' filepath='kernel/audit.c' line='2375' column='1'/>
+        <parameter is-variadic='yes'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-6954'>
+        <parameter type-id='type-id-6522'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-6522'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7018'>
+        <parameter type-id='type-id-6522'/>
+        <parameter type-id='type-id-7011'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7019'>
+        <parameter type-id='type-id-6522'/>
+        <parameter type-id='type-id-6867'/>
+        <parameter type-id='type-id-6697'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7020'>
+        <parameter type-id='type-id-6522'/>
+        <parameter type-id='type-id-513'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7021'>
+        <parameter type-id='type-id-6522'/>
+        <parameter type-id='type-id-9'/>
+        <parameter type-id='type-id-9'/>
+        <parameter type-id='type-id-7158'/>
+        <parameter type-id='type-id-76'/>
+        <parameter type-id='type-id-6697'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7022'>
+        <parameter type-id='type-id-6522'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7023'>
+        <parameter type-id='type-id-6522'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7024'>
+        <parameter type-id='type-id-6522'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-6522'/>
+        <parameter type-id='type-id-6955'/>
+        <parameter type-id='type-id-6697'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7025'>
+        <parameter type-id='type-id-6522'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-7011'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7026'>
+        <parameter type-id='type-id-6522'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-7180'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7027'>
+        <parameter type-id='type-id-6974'/>
+        <parameter type-id='type-id-7012'/>
+        <parameter type-id='type-id-3573'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7028'>
+        <parameter type-id='type-id-2978'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7029'>
+        <parameter type-id='type-id-3013'/>
+        <parameter type-id='type-id-1047'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6826'>
+        <parameter type-id='type-id-6679'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7030'>
+        <parameter type-id='type-id-6631'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7031'>
+        <parameter type-id='type-id-6631'/>
+        <parameter type-id='type-id-7008'/>
+        <parameter type-id='type-id-7158'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7032'>
+        <parameter type-id='type-id-6631'/>
+        <parameter type-id='type-id-7010'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7033'>
+        <parameter type-id='type-id-6631'/>
+        <parameter type-id='type-id-7010'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-7006'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7034'>
+        <parameter type-id='type-id-6631'/>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-7008'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7035'>
+        <parameter type-id='type-id-6631'/>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-7008'/>
+        <parameter type-id='type-id-7158'/>
+        <parameter type-id='type-id-6697'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7036'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-2985'/>
+        <parameter type-id='type-id-132'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7037'>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-2978'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7038'>
+        <parameter type-id='type-id-7150'/>
+        <parameter type-id='type-id-7158'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-984'/>
+        <parameter type-id='type-id-289'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7039'>
+        <parameter type-id='type-id-7150'/>
+        <parameter type-id='type-id-7158'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-984'/>
+        <parameter type-id='type-id-289'/>
+        <parameter type-id='type-id-289'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7040'>
+        <parameter type-id='type-id-3065'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7041'>
+        <parameter type-id='type-id-3065'/>
+        <parameter type-id='type-id-513'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7042'>
+        <parameter type-id='type-id-2984'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7043'>
+        <parameter type-id='type-id-2984'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-7158'/>
+        <parameter type-id='type-id-7158'/>
+        <parameter type-id='type-id-6697'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7044'>
+        <parameter type-id='type-id-2984'/>
+        <parameter type-id='type-id-103'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7045'>
+        <parameter type-id='type-id-2984'/>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-6801'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-9'/>
+        <parameter type-id='type-id-7158'/>
+        <parameter type-id='type-id-2240'/>
+        <parameter type-id='type-id-211'/>
+        <parameter type-id='type-id-6697'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7046'>
+        <parameter type-id='type-id-2984'/>
+        <parameter type-id='type-id-6801'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-7180'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7047'>
+        <parameter type-id='type-id-2976'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7048'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7049'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-6965'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7050'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-6968'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7051'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-3013'/>
+        <parameter type-id='type-id-289'/>
+        <parameter type-id='type-id-9'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7052'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-560'/>
+        <parameter type-id='type-id-55'/>
+        <parameter type-id='type-id-54'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7053'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-560'/>
+        <parameter type-id='type-id-55'/>
+        <parameter type-id='type-id-54'/>
+        <parameter type-id='type-id-347'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7054'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-6759'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7055'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-6679'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7056'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-6987'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7057'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-6988'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7058'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-6989'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7059'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-6991'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7060'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-6991'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7061'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-6992'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7062'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-6993'/>
+        <parameter type-id='type-id-67'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7063'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-6994'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7064'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-6995'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7065'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-6996'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7066'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-6997'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7067'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-6998'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7068'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-7000'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7069'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-7001'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7070'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-7001'/>
+        <parameter type-id='type-id-347'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7071'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-7004'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7072'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-7005'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7073'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-7015'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7074'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-7016'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7075'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7076'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-7013'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7077'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-7014'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7078'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7079'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7080'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-7158'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7081'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-513'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7082'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7083'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-289'/>
+        <parameter type-id='type-id-53'/>
+        <parameter type-id='type-id-3573'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7084'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-9'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7085'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-134'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7086'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-67'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7087'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-7246'/>
+        <parameter type-id='type-id-9'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7088'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-3029'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7089'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-3065'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7090'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-2976'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7091'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-6697'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7092'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-7158'/>
+        <parameter type-id='type-id-7158'/>
+        <parameter type-id='type-id-6697'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7093'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-7154'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7094'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-7155'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7095'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-7158'/>
+        <parameter type-id='type-id-7158'/>
+        <parameter type-id='type-id-6697'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7096'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-7159'/>
+        <parameter type-id='type-id-289'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7097'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-513'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7098'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-3573'/>
+        <parameter type-id='type-id-289'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7099'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7100'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-6450'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7101'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-9'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7102'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-9'/>
+        <parameter type-id='type-id-6989'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7103'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-347'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7104'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-347'/>
+        <parameter type-id='type-id-67'/>
+        <parameter type-id='type-id-67'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7105'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-347'/>
+        <parameter type-id='type-id-67'/>
+        <parameter type-id='type-id-67'/>
+        <parameter type-id='type-id-9'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7106'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7107'>
+        <parameter type-id='type-id-7157'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7108'>
+        <parameter type-id='type-id-7158'/>
+        <parameter type-id='type-id-7158'/>
+        <parameter type-id='type-id-6697'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7109'>
+        <parameter type-id='type-id-6670'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7110'>
+        <parameter type-id='type-id-7167'/>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7111'>
+        <parameter type-id='type-id-513'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7112'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-6522'/>
+        <parameter type-id='type-id-7170'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7113'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-2978'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7114'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-2978'/>
+        <parameter type-id='type-id-2978'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7115'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-2978'/>
+        <parameter type-id='type-id-82'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7116'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-6812'/>
+        <parameter type-id='type-id-7178'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7117'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-2984'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7118'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-288'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7119'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-7157'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7120'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-7157'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-82'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7121'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-9'/>
+        <parameter type-id='type-id-9'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-9'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7122'>
+        <parameter type-id='type-id-2995'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7123'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7124'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-82'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7125'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7126'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7127'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-7149'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7128'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-7149'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-82'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7129'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-120'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7130'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-7167'/>
+        <parameter type-id='type-id-6925'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7131'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-513'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7132'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-7175'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7133'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7134'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-288'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7135'>
+        <parameter type-id='type-id-2985'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7136'>
+        <parameter type-id='type-id-2985'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7137'>
+        <parameter type-id='type-id-2985'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-82'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7138'>
+        <parameter type-id='type-id-2985'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7139'>
+        <parameter type-id='type-id-2985'/>
+        <parameter type-id='type-id-7149'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7140'>
+        <parameter type-id='type-id-2985'/>
+        <parameter type-id='type-id-7149'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7141'>
+        <parameter type-id='type-id-2985'/>
+        <parameter type-id='type-id-7175'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7142'>
+        <parameter type-id='type-id-2985'/>
+        <parameter type-id='type-id-7175'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7143'>
+        <parameter type-id='type-id-2985'/>
+        <parameter type-id='type-id-2985'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7144'>
+        <parameter type-id='type-id-2985'/>
+        <parameter type-id='type-id-2985'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7145'>
+        <parameter type-id='type-id-2985'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7146'>
+        <parameter type-id='type-id-6801'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7147'>
+        <parameter type-id='type-id-6801'/>
+        <parameter type-id='type-id-211'/>
+        <parameter type-id='type-id-7176'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-6697'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7148'>
+        <parameter type-id='type-id-6801'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-763'/>
+        <parameter type-id='type-id-6697'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7151'>
+        <parameter type-id='type-id-2978'/>
+        <return type-id='type-id-2984'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7153'>
+        <parameter type-id='type-id-2976'/>
+        <return type-id='type-id-7152'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7156'>
+        <parameter type-id='type-id-6522'/>
+        <parameter type-id='type-id-7180'/>
+        <return type-id='type-id-3015'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7169'>
+        <parameter type-id='type-id-6522'/>
+        <return type-id='type-id-513'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7173'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-82'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-2995'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7177'>
+        <parameter type-id='type-id-6522'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-6697'/>
+        <return type-id='type-id-6829'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7181'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-2985'/>
+        <parameter type-id='type-id-1833'/>
+        <return type-id='type-id-1834'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7182'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-2978'/>
+        <parameter type-id='type-id-2594'/>
+        <return type-id='type-id-266'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7183'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7184'>
+        <parameter type-id='type-id-6974'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7185'>
+        <parameter type-id='type-id-2978'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7186'>
+        <parameter type-id='type-id-2996'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7187'>
+        <parameter type-id='type-id-6631'/>
+        <parameter type-id='type-id-7006'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7188'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-6450'/>
+        <return type-id='type-id-6450'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7189'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-6450'/>
+        <return type-id='type-id-6450'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7190'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-2976'/>
+        <return type-id='type-id-6583'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-6796'>
+        <parameter type-id='type-id-7170'/>
+        <return type-id='type-id-6799'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7191'>
+        <parameter type-id='type-id-2978'/>
+        <return type-id='type-id-125'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7192'>
+        <parameter type-id='type-id-2978'/>
+        <parameter type-id='type-id-2978'/>
+        <return type-id='type-id-125'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7193'>
+        <parameter type-id='type-id-2978'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-125'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7194'>
+        <parameter type-id='type-id-6631'/>
+        <return type-id='type-id-125'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7195'>
+        <parameter type-id='type-id-2985'/>
+        <parameter type-id='type-id-1705'/>
+        <parameter type-id='type-id-4602'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7196'>
+        <parameter type-id='type-id-2985'/>
+        <parameter type-id='type-id-120'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7197'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-2976'/>
+        <return type-id='type-id-289'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7198'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-6585'/>
+        <return type-id='type-id-289'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7199'>
+        <parameter type-id='type-id-6522'/>
+        <return type-id='type-id-9'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7200'>
+        <parameter type-id='type-id-2976'/>
+        <return type-id='type-id-9'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7203'>
+        <return type-id='type-id-10'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7204'>
+        <parameter type-id='type-id-2984'/>
+        <return type-id='type-id-10'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7205'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-6962'/>
+        <return type-id='type-id-10'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7206'>
+        <parameter type-id='type-id-6522'/>
+        <parameter type-id='type-id-9'/>
+        <return type-id='type-id-100'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7207'>
+        <parameter type-id='type-id-6522'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-9'/>
+        <return type-id='type-id-100'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7208'>
+        <parameter type-id='type-id-6522'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7209'>
+        <parameter type-id='type-id-6522'/>
+        <parameter type-id='type-id-7165'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7210'>
+        <parameter type-id='type-id-6522'/>
+        <parameter type-id='type-id-9'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7211'>
+        <parameter type-id='type-id-6522'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7212'>
+        <parameter type-id='type-id-7009'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7213'>
+        <parameter type-id='type-id-7012'/>
+        <parameter type-id='type-id-2978'/>
+        <parameter type-id='type-id-984'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7214'>
+        <parameter type-id='type-id-262'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7215'>
+        <parameter type-id='type-id-3065'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7216'>
+        <parameter type-id='type-id-3065'/>
+        <parameter type-id='type-id-513'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7217'>
+        <parameter type-id='type-id-2984'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7218'>
+        <parameter type-id='type-id-2976'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7219'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-6987'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7220'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-6990'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7221'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-6998'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7222'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-6999'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7223'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-7000'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7224'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-7002'/>
+        <parameter type-id='type-id-1888'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7225'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-7003'/>
+        <parameter type-id='type-id-1888'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7226'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-7005'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7227'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7228'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-262'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7229'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-3065'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7230'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-7168'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7231'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-9'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7232'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-9'/>
+        <parameter type-id='type-id-67'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7233'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-7202'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7234'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7235'>
+        <parameter type-id='type-id-6670'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7236'>
+        <parameter type-id='type-id-2995'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7237'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7238'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-187'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7239'>
+        <parameter type-id='type-id-6801'/>
+        <parameter type-id='type-id-6697'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7240'>
+        <parameter type-id='type-id-6801'/>
+        <parameter type-id='type-id-7179'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7241'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-9'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7242'>
+        <parameter type-id='type-id-2984'/>
+        <parameter type-id='type-id-6807'/>
+        <parameter type-id='type-id-7158'/>
+        <parameter type-id='type-id-6697'/>
+        <return type-id='type-id-3'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7243'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-2976'/>
+        <return type-id='type-id-3'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7244'>
+        <parameter type-id='type-id-6801'/>
+        <parameter type-id='type-id-9'/>
+        <return type-id='type-id-3'/>
+      </function-type>
+      <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='156' column='1' id='type-id-6467'>
+        <data-member access='private'>
+          <var-decl name='skc_addrpair' type-id='type-id-6470' visibility='default' filepath='include/net/sock.h' line='157' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-6471' visibility='default' filepath='include/net/sock.h' line='158' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__15' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='1162' column='1' id='type-id-6493'>
+        <data-member access='private'>
+          <var-decl name='hashinfo' type-id='type-id-7247' visibility='default' filepath='include/net/sock.h' line='1163' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='udp_table' type-id='type-id-7201' visibility='default' filepath='include/net/sock.h' line='1164' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='raw_hash' type-id='type-id-7166' visibility='default' filepath='include/net/sock.h' line='1165' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='smc_hash' type-id='type-id-7172' visibility='default' filepath='include/net/sock.h' line='1166' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__10' is-anonymous='yes' visibility='default' filepath='include/linux/filter.h' line='502' column='1' id='type-id-6704'>
+        <data-member access='private'>
+          <var-decl name='insns' type-id='type-id-6434' visibility='default' filepath='include/linux/filter.h' line='503' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='insnsi' type-id='type-id-6388' visibility='default' filepath='include/linux/filter.h' line='504' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__16' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='397' column='1' id='type-id-6449'>
+        <data-member access='private'>
+          <var-decl name='sk_wq' type-id='type-id-6900' visibility='default' filepath='include/net/sock.h' line='398' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='sk_wq_raw' type-id='type-id-6900' visibility='default' filepath='include/net/sock.h' line='399' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__13' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/net/sch_generic.h' line='50' column='1' id='type-id-6872'>
+        <data-member access='private'>
+          <var-decl name='qlen' type-id='type-id-9' visibility='default' filepath='include/net/sch_generic.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='atomic_qlen' type-id='type-id-137' visibility='default' filepath='include/net/sch_generic.h' line='52' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__14' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/netdevice.h' line='1989' column='1' id='type-id-6526'>
+        <data-member access='private'>
+          <var-decl name='ml_priv' type-id='type-id-3' visibility='default' filepath='include/linux/netdevice.h' line='1990' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='lstats' type-id='type-id-7161' visibility='default' filepath='include/linux/netdevice.h' line='1991' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='tstats' type-id='type-id-7162' visibility='default' filepath='include/linux/netdevice.h' line='1992' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='dstats' type-id='type-id-7160' visibility='default' filepath='include/linux/netdevice.h' line='1993' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='vstats' type-id='type-id-7163' visibility='default' filepath='include/linux/netdevice.h' line='1994' column='1'/>
+        </data-member>
+      </union-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/auditfilter.c' language='LANG_C89'>
+      <function-decl name='skb_queue_purge' mangled-name='skb_queue_purge' filepath='include/linux/skbuff.h' line='2632' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_queue_purge'>
+        <parameter type-id='type-id-7171'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/bpf/btf.c' language='LANG_C89'>
+      <function-decl name='refcount_inc_not_zero_checked' mangled-name='refcount_inc_not_zero_checked' filepath='include/linux/refcount.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='refcount_inc_not_zero_checked'>
+        <parameter type-id='type-id-4476'/>
+        <return type-id='type-id-264'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/bpf/core.c' language='LANG_C89'>
+      <function-decl name='bin2hex' mangled-name='bin2hex' filepath='include/linux/kernel.h' line='636' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bin2hex'>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-300'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/bpf/cpumap.c' language='LANG_C89'>
+      <function-decl name='build_skb' mangled-name='build_skb' filepath='include/linux/skbuff.h' line='991' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='build_skb'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-513'/>
+      </function-decl>
+      <function-decl name='eth_type_trans' mangled-name='eth_type_trans' filepath='include/linux/etherdevice.h' line='36' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='eth_type_trans'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-2976'/>
+        <return type-id='type-id-288'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/bpf/devmap.c' language='LANG_C89'>
+      <function-decl name='xdp_return_frame_rx_napi' mangled-name='xdp_return_frame_rx_napi' filepath='include/net/xdp.h' line='128' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='xdp_return_frame_rx_napi'>
+        <parameter type-id='type-id-7245'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='xdp_return_frame' mangled-name='xdp_return_frame' filepath='include/net/xdp.h' line='127' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='xdp_return_frame'>
+        <parameter type-id='type-id-7245'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='register_netdevice_notifier' mangled-name='register_netdevice_notifier' filepath='include/linux/netdevice.h' line='2468' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='register_netdevice_notifier'>
+        <parameter type-id='type-id-103'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/bpf/inode.c' language='LANG_C89'>
+      <union-decl name='__anonymous_union__6' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/uio.h' line='35' column='1' id='type-id-7248'>
+        <data-member access='private'>
+          <var-decl name='iov' type-id='type-id-2205' visibility='default' filepath='include/linux/uio.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='kvec' type-id='type-id-2206' visibility='default' filepath='include/linux/uio.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='bvec' type-id='type-id-7249' visibility='default' filepath='include/linux/uio.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='pipe' type-id='type-id-4602' visibility='default' filepath='include/linux/uio.h' line='39' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__7' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='79' column='1' id='type-id-7250'>
+        <member-type access='private'>
+          <class-decl name='__anonymous_struct__' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='98' column='1' id='type-id-7251'>
+            <member-type access='public'>
+              <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='115' column='1' id='type-id-7252'>
+                <data-member access='private'>
+                  <var-decl name='s_mem' type-id='type-id-3' visibility='default' filepath='include/linux/mm_types.h' line='116' column='1'/>
+                </data-member>
+                <data-member access='private'>
+                  <var-decl name='counters' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='117' column='1'/>
+                </data-member>
+                <data-member access='private'>
+                  <var-decl name='' type-id='type-id-4515' visibility='default' filepath='include/linux/mm_types.h' line='118' column='1'/>
+                </data-member>
+              </union-decl>
+            </member-type>
+            <data-member access='public' layout-offset-in-bits='0'>
+              <var-decl name='' type-id='type-id-7253' visibility='default' filepath='include/linux/mm_types.h' line='99' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='128'>
+              <var-decl name='slab_cache' type-id='type-id-3525' visibility='default' filepath='include/linux/mm_types.h' line='112' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='192'>
+              <var-decl name='freelist' type-id='type-id-3' visibility='default' filepath='include/linux/mm_types.h' line='114' column='1'/>
+            </data-member>
+          </class-decl>
+        </member-type>
+        <member-type access='private'>
+          <class-decl name='__anonymous_struct__1' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='138' column='1' id='type-id-7254'>
+            <data-member access='public' layout-offset-in-bits='0'>
+              <var-decl name='_pt_pad_1' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='139' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='64'>
+              <var-decl name='pmd_huge_pte' type-id='type-id-152' visibility='default' filepath='include/linux/mm_types.h' line='140' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='128'>
+              <var-decl name='_pt_pad_2' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='141' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='192'>
+              <var-decl name='' type-id='type-id-7255' visibility='default' filepath='include/linux/mm_types.h' line='142' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='256'>
+              <var-decl name='ptl' type-id='type-id-106' visibility='default' filepath='include/linux/mm_types.h' line='149' column='1'/>
+            </data-member>
+          </class-decl>
+        </member-type>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-4519' visibility='default' filepath='include/linux/mm_types.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='callback_head' type-id='type-id-157' visibility='default' filepath='include/linux/mm_types.h' line='160' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__8' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='99' column='1' id='type-id-7253'>
+        <data-member access='private'>
+          <var-decl name='slab_list' type-id='type-id-8' visibility='default' filepath='include/linux/mm_types.h' line='100' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-4520' visibility='default' filepath='include/linux/mm_types.h' line='101' 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='142' column='1' id='type-id-7255'>
+        <data-member access='private'>
+          <var-decl name='pt_mm' type-id='type-id-158' visibility='default' filepath='include/linux/mm_types.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='pt_frag_refcount' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='144' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__2' size-in-bits='6848' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='353' column='1' id='type-id-7256'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mmap' type-id='type-id-132' visibility='default' filepath='include/linux/mm_types.h' line='354' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='mm_rb' type-id='type-id-133' visibility='default' filepath='include/linux/mm_types.h' line='355' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='vmacache_seqnum' type-id='type-id-134' visibility='default' filepath='include/linux/mm_types.h' line='356' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='get_unmapped_area' type-id='type-id-135' visibility='default' filepath='include/linux/mm_types.h' line='358' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='mmap_base' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='362' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='mmap_legacy_base' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='363' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='task_size' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='369' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='highest_vm_end' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='370' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='pgd' type-id='type-id-136' visibility='default' filepath='include/linux/mm_types.h' line='371' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='mm_users' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='382' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='mm_count' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='391' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='pgtables_bytes' type-id='type-id-138' visibility='default' filepath='include/linux/mm_types.h' line='394' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='map_count' type-id='type-id-11' visibility='default' filepath='include/linux/mm_types.h' line='396' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='736'>
+          <var-decl name='page_table_lock' type-id='type-id-106' visibility='default' filepath='include/linux/mm_types.h' line='398' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='mmap_sem' type-id='type-id-139' visibility='default' filepath='include/linux/mm_types.h' line='401' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='mmlist' type-id='type-id-8' visibility='default' filepath='include/linux/mm_types.h' line='403' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='hiwater_rss' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='410' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='hiwater_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='411' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='total_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='413' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='locked_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='414' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='pinned_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='415' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='data_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='416' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='exec_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='417' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='stack_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='418' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='def_flags' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='419' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='arg_lock' type-id='type-id-106' visibility='default' filepath='include/linux/mm_types.h' line='421' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='start_code' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='end_code' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='start_data' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='end_data' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='start_brk' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='brk' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='start_stack' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='arg_start' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='arg_end' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='env_start' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='env_end' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='saved_auxv' type-id='type-id-140' visibility='default' filepath='include/linux/mm_types.h' line='426' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5504'>
+          <var-decl name='rss_stat' type-id='type-id-141' visibility='default' filepath='include/linux/mm_types.h' line='432' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5760'>
+          <var-decl name='binfmt' type-id='type-id-142' visibility='default' filepath='include/linux/mm_types.h' line='434' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5824'>
+          <var-decl name='context' type-id='type-id-143' visibility='default' filepath='include/linux/mm_types.h' line='437' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6016'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='439' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6080'>
+          <var-decl name='core_state' type-id='type-id-144' visibility='default' filepath='include/linux/mm_types.h' line='441' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6144'>
+          <var-decl name='membarrier_state' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='443' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6176'>
+          <var-decl name='ioctx_lock' type-id='type-id-106' visibility='default' filepath='include/linux/mm_types.h' line='446' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6208'>
+          <var-decl name='ioctx_table' type-id='type-id-145' visibility='default' filepath='include/linux/mm_types.h' line='447' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6272'>
+          <var-decl name='owner' type-id='type-id-118' visibility='default' filepath='include/linux/mm_types.h' line='460' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6336'>
+          <var-decl name='user_ns' type-id='type-id-4564' visibility='default' filepath='include/linux/mm_types.h' line='462' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6400'>
+          <var-decl name='exe_file' type-id='type-id-147' visibility='default' filepath='include/linux/mm_types.h' line='465' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6464'>
+          <var-decl name='tlb_flush_pending' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='491' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6528'>
+          <var-decl name='uprobes_state' type-id='type-id-148' visibility='default' filepath='include/linux/mm_types.h' line='496' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6592'>
+          <var-decl name='async_put_work' type-id='type-id-149' visibility='default' filepath='include/linux/mm_types.h' line='500' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='tree_descr' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='3257' column='1' id='type-id-7257'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/fs.h' line='3257' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ops' type-id='type-id-1209' visibility='default' filepath='include/linux/fs.h' line='3257' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='mode' type-id='type-id-11' visibility='default' filepath='include/linux/fs.h' line='3257' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-7257' const='yes' id='type-id-7258'/>
+      <pointer-type-def type-id='type-id-7258' size-in-bits='64' id='type-id-7259'/>
+      <pointer-type-def type-id='type-id-5015' size-in-bits='64' id='type-id-7260'/>
+      <function-decl name='new_inode' mangled-name='new_inode' filepath='include/linux/fs.h' line='3002' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='new_inode'>
+        <parameter type-id='type-id-2155'/>
+        <return type-id='type-id-1160'/>
+      </function-decl>
+      <function-decl name='get_next_ino' mangled-name='get_next_ino' filepath='include/linux/fs.h' line='2994' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_next_ino'>
+        <return type-id='type-id-10'/>
+      </function-decl>
+      <function-decl name='current_time' mangled-name='current_time' filepath='include/linux/fs.h' line='1527' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='current_time'>
+        <parameter type-id='type-id-1160'/>
+        <return type-id='type-id-5030'/>
+      </function-decl>
+      <function-decl name='d_instantiate' mangled-name='d_instantiate' filepath='include/linux/dcache.h' line='226' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='d_instantiate'>
+        <parameter type-id='type-id-836'/>
+        <parameter type-id='type-id-1160'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='lockref_get' mangled-name='lockref_get' filepath='include/linux/lockref.h' line='37' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lockref_get'>
+        <parameter type-id='type-id-7260'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='simple_fill_super' mangled-name='simple_fill_super' filepath='include/linux/fs.h' line='3259' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='simple_fill_super'>
+        <parameter type-id='type-id-2155'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-7259'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/bpf/offload.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-7261' size-in-bits='infinite' id='type-id-7262'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <qualified-type-def type-id='type-id-7263' const='yes' id='type-id-7264'/>
+      <pointer-type-def type-id='type-id-7264' size-in-bits='64' id='type-id-7265'/>
+      <pointer-type-def type-id='type-id-7261' size-in-bits='64' id='type-id-7266'/>
+      <function-decl name='rtnl_lock' mangled-name='rtnl_lock' filepath='include/linux/rtnetlink.h' line='32' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rtnl_lock'>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='rtnl_unlock' mangled-name='rtnl_unlock' filepath='include/linux/rtnetlink.h' line='33' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rtnl_unlock'>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='netdev_warn' mangled-name='netdev_warn' filepath='include/linux/netdevice.h' line='4612' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netdev_warn'>
+        <parameter type-id='type-id-2978'/>
+        <parameter type-id='type-id-24'/>
+        <parameter is-variadic='yes'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='rtnl_is_locked' mangled-name='rtnl_is_locked' filepath='include/linux/rtnetlink.h' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rtnl_is_locked'>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='rhashtable_insert_slow' mangled-name='rhashtable_insert_slow' filepath='include/linux/rhashtable.h' line='234' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rhashtable_insert_slow'>
+        <parameter type-id='type-id-7267'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-7261'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='rht_bucket_nested_insert' mangled-name='rht_bucket_nested_insert' filepath='include/linux/rhashtable.h' line='258' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rht_bucket_nested_insert'>
+        <parameter type-id='type-id-7267'/>
+        <parameter type-id='type-id-7268'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-7266'/>
+      </function-decl>
+      <function-decl name='rht_bucket_nested' mangled-name='rht_bucket_nested' filepath='include/linux/rhashtable.h' line='256' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rht_bucket_nested'>
+        <parameter type-id='type-id-7265'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-7266'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/bpf/syscall.c' language='LANG_C89'>
+      <function-decl name='memdup_user' mangled-name='memdup_user' filepath='include/linux/string.h' line='13' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='memdup_user'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='bpf_prog_add' mangled-name='bpf_prog_add' filepath='kernel/bpf/syscall.c' line='1204' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bpf_prog_add'>
+        <parameter type-id='type-id-3014' name='prog' filepath='kernel/bpf/syscall.c' line='1204' column='1'/>
+        <parameter type-id='type-id-11' name='i' filepath='kernel/bpf/syscall.c' line='1204' column='1'/>
+        <return type-id='type-id-3014'/>
+      </function-decl>
+      <function-decl name='bpf_prog_sub' mangled-name='bpf_prog_sub' filepath='kernel/bpf/syscall.c' line='1214' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bpf_prog_sub'>
+        <parameter type-id='type-id-3014' name='prog' filepath='kernel/bpf/syscall.c' line='1214' column='1'/>
+        <parameter type-id='type-id-11' name='i' filepath='kernel/bpf/syscall.c' line='1214' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/bpf/xskmap.c' language='LANG_C89'>
+      <function-decl name='synchronize_net' mangled-name='synchronize_net' filepath='include/linux/netdevice.h' line='2620' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='synchronize_net'>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='sk_free' mangled-name='sk_free' filepath='include/net/sock.h' line='1578' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sk_free'>
+        <parameter type-id='type-id-2995'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/capability.c' language='LANG_C89'>
+      <function-decl name='ns_capable' mangled-name='ns_capable' filepath='kernel/capability.c' line='396' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ns_capable'>
+        <parameter type-id='type-id-4564' name='ns' filepath='kernel/capability.c' line='396' column='1'/>
+        <parameter type-id='type-id-11' name='cap' filepath='kernel/capability.c' line='396' column='1'/>
+        <return type-id='type-id-211'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/cgroup/cgroup-v1.c' language='LANG_C89'>
+      <function-decl name='vmalloc' mangled-name='vmalloc' filepath='include/linux/vmalloc.h' line='74' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vmalloc'>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/cgroup/cgroup.c' language='LANG_C89'>
+      <function-decl name='idr_destroy' mangled-name='idr_destroy' filepath='include/linux/idr.h' line='125' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='idr_destroy'>
+        <parameter type-id='type-id-7269'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='dput' mangled-name='dput' filepath='include/linux/dcache.h' line='374' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dput'>
+        <parameter type-id='type-id-836'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='kernfs_notify' mangled-name='kernfs_notify' filepath='include/linux/kernfs.h' line='360' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kernfs_notify'>
+        <parameter type-id='type-id-3083'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='kernfs_put' mangled-name='kernfs_put' filepath='include/linux/kernfs.h' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kernfs_put'>
+        <parameter type-id='type-id-3083'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/compat.c' language='LANG_C89'>
+      <function-decl name='compat_alloc_user_space' mangled-name='compat_alloc_user_space' filepath='kernel/compat.c' line='429' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_alloc_user_space'>
+        <parameter type-id='type-id-100' name='len' filepath='kernel/compat.c' line='429' column='1'/>
+        <return type-id='type-id-3'/>
       </function-decl>
     </abi-instr>
     <abi-instr version='1.0' address-size='64' path='kernel/cpu.c' language='LANG_C89'>
-      <enum-decl name='cpuhp_state' filepath='include/linux/cpuhotplug.h' line='25' column='1' id='type-id-93'>
-        <underlying-type type-id='type-id-94'/>
+      <enum-decl name='kobject_action' filepath='include/linux/kobject.h' line='53' column='1' id='type-id-447'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='KOBJ_ADD' value='0'/>
+        <enumerator name='KOBJ_REMOVE' value='1'/>
+        <enumerator name='KOBJ_CHANGE' value='2'/>
+        <enumerator name='KOBJ_MOVE' value='3'/>
+        <enumerator name='KOBJ_ONLINE' value='4'/>
+        <enumerator name='KOBJ_OFFLINE' value='5'/>
+        <enumerator name='KOBJ_BIND' value='6'/>
+        <enumerator name='KOBJ_UNBIND' value='7'/>
+        <enumerator name='KOBJ_MAX' value='8'/>
+      </enum-decl>
+      <class-decl name='blocking_notifier_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/notifier.h' line='65' column='1' id='type-id-3126'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='rwsem' type-id='type-id-139' visibility='default' filepath='include/linux/notifier.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='head' type-id='type-id-103' visibility='default' filepath='include/linux/notifier.h' line='67' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='cpuhp_state' filepath='include/linux/cpuhotplug.h' line='25' column='1' id='type-id-7270'>
+        <underlying-type type-id='type-id-182'/>
         <enumerator name='CPUHP_INVALID' value='-1'/>
         <enumerator name='CPUHP_OFFLINE' value='0'/>
         <enumerator name='CPUHP_CREATE_THREADS' value='1'/>
@@ -1431,20732 +66283,9856 @@
         <enumerator name='CPUHP_AP_ACTIVE' value='198'/>
         <enumerator name='CPUHP_ONLINE' value='199'/>
       </enum-decl>
-      <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-96'/>
-      <function-decl name='cpus_read_lock' mangled-name='cpus_read_lock' filepath='kernel/cpu.c' line='286' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cpus_read_lock'>
-        <return type-id='type-id-81'/>
+      <pointer-type-def type-id='type-id-3126' size-in-bits='64' id='type-id-7271'/>
+      <pointer-type-def type-id='type-id-7272' size-in-bits='64' id='type-id-7273'/>
+      <function-decl name='mutex_lock' mangled-name='mutex_lock' filepath='include/linux/mutex.h' line='178' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mutex_lock'>
+        <parameter type-id='type-id-2357'/>
+        <return type-id='type-id-73'/>
       </function-decl>
-      <function-decl name='cpus_read_unlock' mangled-name='cpus_read_unlock' filepath='kernel/cpu.c' line='298' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cpus_read_unlock'>
-        <return type-id='type-id-81'/>
+      <function-decl name='kthread_unpark' mangled-name='kthread_unpark' filepath='include/linux/kthread.h' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kthread_unpark'>
+        <parameter type-id='type-id-118'/>
+        <return type-id='type-id-73'/>
       </function-decl>
-      <function-decl name='__cpuhp_state_add_instance' mangled-name='__cpuhp_state_add_instance' filepath='kernel/cpu.c' line='1666' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cpuhp_state_add_instance'>
-        <parameter type-id='type-id-93' name='state' filepath='kernel/cpu.c' line='1666' column='1'/>
-        <parameter type-id='type-id-97' name='node' filepath='kernel/cpu.c' line='1666' column='1'/>
-        <parameter type-id='type-id-33' name='invoke' filepath='kernel/cpu.c' line='1667' column='1'/>
-        <return type-id='type-id-17'/>
+      <function-decl name='kobject_uevent' mangled-name='kobject_uevent' filepath='include/linux/kobject.h' line='239' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kobject_uevent'>
+        <parameter type-id='type-id-87'/>
+        <parameter type-id='type-id-447'/>
+        <return type-id='type-id-11'/>
       </function-decl>
-      <function-decl name='__cpuhp_setup_state' mangled-name='__cpuhp_setup_state' filepath='kernel/cpu.c' line='1754' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cpuhp_setup_state'>
-        <parameter type-id='type-id-93' name='state' filepath='kernel/cpu.c' line='1754' column='1'/>
-        <parameter type-id='type-id-4' name='name' filepath='kernel/cpu.c' line='1755' column='1'/>
-        <parameter type-id='type-id-33' name='invoke' filepath='kernel/cpu.c' line='1755' column='1'/>
-        <parameter type-id='type-id-96' name='startup' filepath='kernel/cpu.c' line='1756' column='1'/>
-        <parameter type-id='type-id-96' name='teardown' filepath='kernel/cpu.c' line='1757' column='1'/>
-        <parameter type-id='type-id-33' name='multi_instance' filepath='kernel/cpu.c' line='1758' column='1'/>
-        <return type-id='type-id-17'/>
+      <function-decl name='bpf_trace_run4' mangled-name='bpf_trace_run4' filepath='include/linux/trace_events.h' line='596' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bpf_trace_run4'>
+        <parameter type-id='type-id-4913'/>
+        <parameter type-id='type-id-177'/>
+        <parameter type-id='type-id-177'/>
+        <parameter type-id='type-id-177'/>
+        <parameter type-id='type-id-177'/>
+        <return type-id='type-id-73'/>
       </function-decl>
-      <function-decl name='__cpuhp_state_remove_instance' mangled-name='__cpuhp_state_remove_instance' filepath='kernel/cpu.c' line='1770' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cpuhp_state_remove_instance'>
-        <parameter type-id='type-id-93' name='state' filepath='kernel/cpu.c' line='1770' column='1'/>
-        <parameter type-id='type-id-97' name='node' filepath='kernel/cpu.c' line='1771' column='1'/>
-        <parameter type-id='type-id-33' name='invoke' filepath='kernel/cpu.c' line='1771' column='1'/>
-        <return type-id='type-id-17'/>
+      <function-decl name='bpf_trace_run5' mangled-name='bpf_trace_run5' filepath='include/linux/trace_events.h' line='598' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bpf_trace_run5'>
+        <parameter type-id='type-id-4913'/>
+        <parameter type-id='type-id-177'/>
+        <parameter type-id='type-id-177'/>
+        <parameter type-id='type-id-177'/>
+        <parameter type-id='type-id-177'/>
+        <parameter type-id='type-id-177'/>
+        <return type-id='type-id-73'/>
       </function-decl>
-      <function-decl name='__cpuhp_remove_state' mangled-name='__cpuhp_remove_state' filepath='kernel/cpu.c' line='1856' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cpuhp_remove_state'>
-        <parameter type-id='type-id-93' name='state' filepath='kernel/cpu.c' line='1856' column='1'/>
-        <parameter type-id='type-id-33' name='invoke' filepath='kernel/cpu.c' line='1856' column='1'/>
-        <return type-id='type-id-81'/>
+      <function-decl name='wake_up_process' mangled-name='wake_up_process' filepath='include/linux/sched.h' line='1675' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wake_up_process'>
+        <parameter type-id='type-id-118'/>
+        <return type-id='type-id-11'/>
       </function-decl>
-      <function-type size-in-bits='64' id='type-id-95'>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='mm/percpu.c' language='LANG_C89'>
-      <function-decl name='__alloc_percpu' mangled-name='__alloc_percpu' filepath='mm/percpu.c' line='1558' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__alloc_percpu'>
-        <parameter type-id='type-id-84' name='size' filepath='mm/percpu.c' line='1558' column='1'/>
-        <parameter type-id='type-id-84' name='align' filepath='mm/percpu.c' line='1558' column='1'/>
-        <return type-id='type-id-15'/>
+      <function-decl name='register_pm_notifier' mangled-name='register_pm_notifier' filepath='include/linux/suspend.h' line='426' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='register_pm_notifier'>
+        <parameter type-id='type-id-103'/>
+        <return type-id='type-id-11'/>
       </function-decl>
-      <function-decl name='free_percpu' mangled-name='free_percpu' filepath='mm/percpu.c' line='1719' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='free_percpu'>
-        <parameter type-id='type-id-15' name='ptr' filepath='mm/percpu.c' line='1719' column='1'/>
-        <return type-id='type-id-81'/>
+      <function-decl name='kthread_park' mangled-name='kthread_park' filepath='include/linux/kthread.h' line='61' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kthread_park'>
+        <parameter type-id='type-id-118'/>
+        <return type-id='type-id-11'/>
       </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='arch/arm64/mm/ioremap.c' language='LANG_C89'>
-      <type-decl name='long long unsigned int' size-in-bits='64' id='type-id-98'/>
-      <typedef-decl name='phys_addr_t' type-id='type-id-40' filepath='include/linux/types.h' line='163' column='1' id='type-id-99'/>
-      <typedef-decl name='u64' type-id='type-id-100' filepath='include/asm-generic/int-ll64.h' line='23' column='1' id='type-id-40'/>
-      <typedef-decl name='__u64' type-id='type-id-98' filepath='include/uapi/asm-generic/int-ll64.h' line='31' column='1' id='type-id-100'/>
-      <typedef-decl name='pgprot_t' type-id='type-id-101' filepath='arch/arm64/include/asm/pgtable-types.h' line='53' column='1' id='type-id-102'/>
-      <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-102' visibility='default' filepath='arch/arm64/include/asm/pgtable-types.h' line='53' column='1' id='type-id-101'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='pgprot' type-id='type-id-103' visibility='default' filepath='arch/arm64/include/asm/pgtable-types.h' line='53' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='pteval_t' type-id='type-id-40' filepath='arch/arm64/include/asm/pgtable-types.h' line='25' column='1' id='type-id-103'/>
-      <function-decl name='__ioremap' mangled-name='__ioremap' filepath='arch/arm64/mm/ioremap.c' line='76' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__ioremap'>
-        <parameter type-id='type-id-99' name='phys_addr' filepath='arch/arm64/mm/ioremap.c' line='76' column='1'/>
-        <parameter type-id='type-id-84' name='size' filepath='arch/arm64/mm/ioremap.c' line='76' column='1'/>
-        <parameter type-id='type-id-102' name='prot' filepath='arch/arm64/mm/ioremap.c' line='76' column='1'/>
-        <return type-id='type-id-15'/>
-      </function-decl>
-      <function-decl name='__iounmap' mangled-name='__iounmap' filepath='arch/arm64/mm/ioremap.c' line='83' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__iounmap'>
-        <parameter type-id='type-id-104' name='io_addr' filepath='arch/arm64/mm/ioremap.c' line='83' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/signal.c' language='LANG_C89'>
-
-
-
-
-
-
-      <array-type-def dimensions='1' type-id='type-id-105' size-in-bits='256' id='type-id-106'>
-        <subrange length='4' type-id='type-id-9' id='type-id-107'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-108' size-in-bits='80' id='type-id-109'>
-        <subrange length='5' type-id='type-id-9' id='type-id-110'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-100' size-in-bits='1984' id='type-id-111'>
-        <subrange length='31' type-id='type-id-9' id='type-id-112'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-113' size-in-bits='320' id='type-id-114'>
-        <subrange length='5' type-id='type-id-9' id='type-id-110'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-115' size-in-bits='896' id='type-id-116'>
-        <subrange length='14' type-id='type-id-9' id='type-id-117'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-115' size-in-bits='1856' id='type-id-118'>
-        <subrange length='29' type-id='type-id-9' id='type-id-119'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-115' size-in-bits='2240' id='type-id-120'>
-        <subrange length='35' type-id='type-id-9' id='type-id-121'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-115' size-in-bits='3584' id='type-id-122'>
-        <subrange length='56' type-id='type-id-9' id='type-id-123'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-115' size-in-bits='448' id='type-id-124'>
-        <subrange length='7' type-id='type-id-9' id='type-id-125'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-115' size-in-bits='infinite' id='type-id-126'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-26' size-in-bits='64' id='type-id-127'>
-        <subrange length='2' type-id='type-id-9' id='type-id-128'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-129' size-in-bits='4160' id='type-id-130'>
-        <subrange length='5' type-id='type-id-9' id='type-id-110'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-131' size-in-bits='infinite' id='type-id-132'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-133' size-in-bits='5120' id='type-id-134'>
-        <subrange length='16' type-id='type-id-9' id='type-id-135'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-136' size-in-bits='320' id='type-id-137'>
-        <subrange length='5' type-id='type-id-9' id='type-id-110'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-138' size-in-bits='320' id='type-id-139'>
-        <subrange length='5' type-id='type-id-9' id='type-id-110'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-140' size-in-bits='152' id='type-id-141'>
-        <subrange length='19' type-id='type-id-9' id='type-id-142'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='1008' id='type-id-143'>
-        <subrange length='126' type-id='type-id-9' id='type-id-144'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='176' id='type-id-145'>
-        <subrange length='22' type-id='type-id-9' id='type-id-146'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='296' id='type-id-147'>
-        <subrange length='37' type-id='type-id-9' id='type-id-148'/>
-
-      </array-type-def>
-      <class-decl name='audit_aux_data' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-149'/>
-      <class-decl name='audit_tree_refs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-150'/>
-      <class-decl name='badblocks' size-in-bits='512' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-151'/>
-      <class-decl name='blk_flush_queue' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-152'/>
-      <class-decl name='blk_mq_alloc_data' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-153'/>
-      <class-decl name='blk_mq_ctx' size-in-bits='2048' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-154'/>
-      <class-decl name='blk_mq_debugfs_attr' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-155'/>
-      <class-decl name='blk_mq_hw_ctx' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-156'/>
-      <class-decl name='blk_mq_ops' size-in-bits='896' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-157'/>
-      <class-decl name='blk_mq_tag_set' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-158'/>
-      <class-decl name='blk_queue_stats' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-159'/>
-      <class-decl name='blk_stat_callback' size-in-bits='960' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-160'/>
-      <class-decl name='bpf_prog' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-161'/>
-      <class-decl name='bsg_job' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-162'/>
-      <class-decl name='disk_events' size-in-bits='1408' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-163'/>
-      <class-decl name='event_filter' size-in-bits='128' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-164'/>
-      <class-decl name='eventfd_ctx' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-165'/>
-      <class-decl name='hd_geometry' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-166'/>
-      <class-decl name='keyslot_manager' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-167'/>
-      <class-decl name='net' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-168'/>
-      <class-decl name='pr_ops' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-169'/>
-      <class-decl name='ring_buffer' size-in-bits='1920' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-170'/>
-      <class-decl name='ring_buffer_iter' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-171'/>
-      <class-decl name='rq_qos' size-in-bits='256' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-172'/>
-      <class-decl name='serial_icounter_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-173'/>
-      <class-decl name='timer_rand_state' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-174'/>
-      <class-decl name='trace_array' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-175'/>
-      <class-decl name='trace_buffer' size-in-bits='320' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-30'/>
-      <class-decl name='tracer' size-in-bits='1280' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-176'/>
-      <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='infinite' id='type-id-177'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-178' size-in-bits='64' id='type-id-179'>
-        <subrange length='1' type-id='type-id-9' id='type-id-180'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-181' size-in-bits='9152' id='type-id-182'>
-        <subrange length='11' type-id='type-id-9' id='type-id-183'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-184' size-in-bits='infinite' id='type-id-185'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-186' size-in-bits='4096' id='type-id-187'>
-        <subrange length='64' type-id='type-id-9' id='type-id-188'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='640' id='type-id-189'>
-        <subrange length='5' type-id='type-id-9' id='type-id-110'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='768' id='type-id-190'>
-        <subrange length='6' type-id='type-id-9' id='type-id-191'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-192' size-in-bits='1856' id='type-id-193'>
-        <subrange length='29' type-id='type-id-9' id='type-id-119'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-192' size-in-bits='2240' id='type-id-194'>
-        <subrange length='35' type-id='type-id-9' id='type-id-121'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-192' size-in-bits='192' id='type-id-195'>
-        <subrange length='3' type-id='type-id-9' id='type-id-196'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-197' size-in-bits='infinite' id='type-id-198'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-199' size-in-bits='1664' id='type-id-200'>
-        <subrange length='13' type-id='type-id-9' id='type-id-201'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-202' size-in-bits='infinite' id='type-id-203'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-204' size-in-bits='1280' id='type-id-205'>
-        <subrange length='4' type-id='type-id-9' id='type-id-107'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-204' size-in-bits='1600' id='type-id-206'>
-        <subrange length='5' type-id='type-id-9' id='type-id-110'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-207' size-in-bits='infinite' id='type-id-208'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-209' size-in-bits='112' id='type-id-210'>
-        <subrange length='14' type-id='type-id-9' id='type-id-117'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-209' size-in-bits='232' id='type-id-211'>
-        <subrange length='29' type-id='type-id-9' id='type-id-119'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-40' size-in-bits='1984' id='type-id-212'>
-        <subrange length='31' type-id='type-id-9' id='type-id-112'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-40' size-in-bits='192' id='type-id-213'>
-        <subrange length='3' type-id='type-id-9' id='type-id-196'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-214' size-in-bits='512' id='type-id-215'>
-        <subrange length='64' type-id='type-id-9' id='type-id-188'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-216' size-in-bits='32768' id='type-id-217'>
-        <subrange length='4096' type-id='type-id-9' id='type-id-218'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='128' id='type-id-219'>
-        <subrange length='2' type-id='type-id-9' id='type-id-128'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='192' id='type-id-220'>
-        <subrange length='3' type-id='type-id-9' id='type-id-196'/>
-
-      </array-type-def>
-      <array-type-def dimensions='2' type-id='type-id-16' size-in-bits='512' id='type-id-221'>
-        <subrange length='3' type-id='type-id-9' id='type-id-196'/>
-
-        <subrange length='5' type-id='type-id-9' id='type-id-110'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='256' id='type-id-222'>
-        <subrange length='4' type-id='type-id-9' id='type-id-107'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='3584' id='type-id-223'>
-        <subrange length='56' type-id='type-id-9' id='type-id-123'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-15' size-in-bits='128' id='type-id-224'>
-        <subrange length='2' type-id='type-id-9' id='type-id-128'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-225' size-in-bits='384' id='type-id-226'>
-        <subrange length='2' type-id='type-id-9' id='type-id-128'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-227' size-in-bits='36864' id='type-id-228'>
-        <subrange length='3' type-id='type-id-9' id='type-id-196'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-229' size-in-bits='512' id='type-id-230'>
-        <subrange length='1' type-id='type-id-9' id='type-id-180'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-231' size-in-bits='512' id='type-id-232'>
-        <subrange length='4' type-id='type-id-9' id='type-id-107'/>
-
-      </array-type-def>
-      <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='include/linux/restart_block.h' line='27' column='1' id='type-id-233'>
-        <data-member access='private'>
-          <var-decl name='futex' type-id='type-id-234' visibility='default' filepath='include/linux/restart_block.h' line='36' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='nanosleep' type-id='type-id-235' visibility='default' filepath='include/linux/restart_block.h' line='46' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='poll' type-id='type-id-236' visibility='default' filepath='include/linux/restart_block.h' line='54' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/restart_block.h' line='48' column='1' id='type-id-236'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ufds' type-id='type-id-237' visibility='default' filepath='include/linux/restart_block.h' line='49' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='nfds' type-id='type-id-17' visibility='default' filepath='include/linux/restart_block.h' line='50' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='has_timeout' type-id='type-id-17' visibility='default' filepath='include/linux/restart_block.h' line='51' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='tv_sec' type-id='type-id-16' visibility='default' filepath='include/linux/restart_block.h' line='52' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='tv_nsec' type-id='type-id-16' visibility='default' filepath='include/linux/restart_block.h' line='53' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='tty_struct' size-in-bits='5632' is-struct='yes' visibility='default' filepath='include/linux/tty.h' line='283' column='1' id='type-id-238'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='magic' type-id='type-id-17' visibility='default' filepath='include/linux/tty.h' line='284' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='kref' type-id='type-id-239' visibility='default' filepath='include/linux/tty.h' line='285' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='dev' type-id='type-id-240' visibility='default' filepath='include/linux/tty.h' line='286' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='driver' type-id='type-id-241' visibility='default' filepath='include/linux/tty.h' line='287' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='ops' type-id='type-id-242' visibility='default' filepath='include/linux/tty.h' line='288' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='index' type-id='type-id-17' visibility='default' filepath='include/linux/tty.h' line='289' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='ldisc_sem' type-id='type-id-243' visibility='default' filepath='include/linux/tty.h' line='292' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='ldisc' type-id='type-id-244' visibility='default' filepath='include/linux/tty.h' line='293' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='atomic_write_lock' type-id='type-id-245' visibility='default' filepath='include/linux/tty.h' line='295' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='legacy_mutex' type-id='type-id-245' visibility='default' filepath='include/linux/tty.h' line='296' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='throttle_mutex' type-id='type-id-245' visibility='default' filepath='include/linux/tty.h' line='297' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='termios_rwsem' type-id='type-id-246' visibility='default' filepath='include/linux/tty.h' line='298' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='winsize_mutex' type-id='type-id-245' visibility='default' filepath='include/linux/tty.h' line='299' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='ctrl_lock' type-id='type-id-247' visibility='default' filepath='include/linux/tty.h' line='300' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2144'>
-          <var-decl name='flow_lock' type-id='type-id-247' visibility='default' filepath='include/linux/tty.h' line='301' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='termios' type-id='type-id-248' visibility='default' filepath='include/linux/tty.h' line='303' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2528'>
-          <var-decl name='termios_locked' type-id='type-id-248' visibility='default' filepath='include/linux/tty.h' line='303' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2880'>
-          <var-decl name='termiox' type-id='type-id-249' visibility='default' filepath='include/linux/tty.h' line='304' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2944'>
-          <var-decl name='name' type-id='type-id-250' visibility='default' filepath='include/linux/tty.h' line='305' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3456'>
-          <var-decl name='pgrp' type-id='type-id-251' visibility='default' filepath='include/linux/tty.h' line='306' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3520'>
-          <var-decl name='session' type-id='type-id-251' visibility='default' filepath='include/linux/tty.h' line='307' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3584'>
-          <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='include/linux/tty.h' line='308' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3648'>
-          <var-decl name='count' type-id='type-id-17' visibility='default' filepath='include/linux/tty.h' line='309' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3680'>
-          <var-decl name='winsize' type-id='type-id-252' visibility='default' filepath='include/linux/tty.h' line='310' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='31'>
-          <var-decl name='stopped' type-id='type-id-16' visibility='default' filepath='include/linux/tty.h' line='311' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='30'>
-          <var-decl name='flow_stopped' type-id='type-id-16' visibility='default' filepath='include/linux/tty.h' line='312' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2'>
-          <var-decl name='unused' type-id='type-id-16' visibility='default' filepath='include/linux/tty.h' line='313' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3840'>
-          <var-decl name='hw_stopped' type-id='type-id-17' visibility='default' filepath='include/linux/tty.h' line='314' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='24'>
-          <var-decl name='ctrl_status' type-id='type-id-16' visibility='default' filepath='include/linux/tty.h' line='315' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='23'>
-          <var-decl name='packet' type-id='type-id-16' visibility='default' filepath='include/linux/tty.h' line='316' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9'>
-          <var-decl name='unused_ctrl' type-id='type-id-16' visibility='default' filepath='include/linux/tty.h' line='317' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3968'>
-          <var-decl name='receive_room' type-id='type-id-5' visibility='default' filepath='include/linux/tty.h' line='318' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4000'>
-          <var-decl name='flow_change' type-id='type-id-17' visibility='default' filepath='include/linux/tty.h' line='319' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4032'>
-          <var-decl name='link' type-id='type-id-253' visibility='default' filepath='include/linux/tty.h' line='321' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4096'>
-          <var-decl name='fasync' type-id='type-id-254' visibility='default' filepath='include/linux/tty.h' line='322' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4160'>
-          <var-decl name='write_wait' type-id='type-id-225' visibility='default' filepath='include/linux/tty.h' line='323' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4352'>
-          <var-decl name='read_wait' type-id='type-id-225' visibility='default' filepath='include/linux/tty.h' line='324' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4544'>
-          <var-decl name='hangup_work' type-id='type-id-255' visibility='default' filepath='include/linux/tty.h' line='325' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4800'>
-          <var-decl name='disc_data' type-id='type-id-15' visibility='default' filepath='include/linux/tty.h' line='326' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4864'>
-          <var-decl name='driver_data' type-id='type-id-15' visibility='default' filepath='include/linux/tty.h' line='327' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4928'>
-          <var-decl name='files_lock' type-id='type-id-247' visibility='default' filepath='include/linux/tty.h' line='328' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4992'>
-          <var-decl name='tty_files' type-id='type-id-20' visibility='default' filepath='include/linux/tty.h' line='329' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5120'>
-          <var-decl name='closing' type-id='type-id-17' visibility='default' filepath='include/linux/tty.h' line='333' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5184'>
-          <var-decl name='write_buf' type-id='type-id-256' visibility='default' filepath='include/linux/tty.h' line='334' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5248'>
-          <var-decl name='write_cnt' type-id='type-id-17' visibility='default' filepath='include/linux/tty.h' line='335' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5312'>
-          <var-decl name='SAK_work' type-id='type-id-255' visibility='default' filepath='include/linux/tty.h' line='337' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5568'>
-          <var-decl name='port' type-id='type-id-257' visibility='default' filepath='include/linux/tty.h' line='338' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='tty_driver' size-in-bits='1472' is-struct='yes' visibility='default' filepath='include/linux/tty_driver.h' line='299' column='1' id='type-id-258'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='magic' type-id='type-id-17' visibility='default' filepath='include/linux/tty_driver.h' line='300' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='kref' type-id='type-id-239' visibility='default' filepath='include/linux/tty_driver.h' line='301' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='cdevs' type-id='type-id-259' visibility='default' filepath='include/linux/tty_driver.h' line='302' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='owner' type-id='type-id-260' visibility='default' filepath='include/linux/tty_driver.h' line='303' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='driver_name' type-id='type-id-4' visibility='default' filepath='include/linux/tty_driver.h' line='304' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/tty_driver.h' line='305' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='name_base' type-id='type-id-17' visibility='default' filepath='include/linux/tty_driver.h' line='306' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='major' type-id='type-id-17' visibility='default' filepath='include/linux/tty_driver.h' line='307' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='minor_start' type-id='type-id-17' visibility='default' filepath='include/linux/tty_driver.h' line='308' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='num' type-id='type-id-5' visibility='default' filepath='include/linux/tty_driver.h' line='309' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='type' type-id='type-id-261' visibility='default' filepath='include/linux/tty_driver.h' line='310' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='464'>
-          <var-decl name='subtype' type-id='type-id-261' visibility='default' filepath='include/linux/tty_driver.h' line='311' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='init_termios' type-id='type-id-248' visibility='default' filepath='include/linux/tty_driver.h' line='312' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='include/linux/tty_driver.h' line='313' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='proc_entry' type-id='type-id-262' visibility='default' filepath='include/linux/tty_driver.h' line='314' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='other' type-id='type-id-241' visibility='default' filepath='include/linux/tty_driver.h' line='315' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='ttys' type-id='type-id-263' visibility='default' filepath='include/linux/tty_driver.h' line='320' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='ports' type-id='type-id-264' visibility='default' filepath='include/linux/tty_driver.h' line='321' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='termios' type-id='type-id-265' visibility='default' filepath='include/linux/tty_driver.h' line='322' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='driver_state' type-id='type-id-15' visibility='default' filepath='include/linux/tty_driver.h' line='323' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='ops' type-id='type-id-242' visibility='default' filepath='include/linux/tty_driver.h' line='329' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='tty_drivers' type-id='type-id-20' visibility='default' filepath='include/linux/tty_driver.h' line='330' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='cdev' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/linux/cdev.h' line='14' column='1' id='type-id-266'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='kobj' type-id='type-id-267' visibility='default' filepath='include/linux/cdev.h' line='15' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='owner' type-id='type-id-260' visibility='default' filepath='include/linux/cdev.h' line='16' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='ops' type-id='type-id-268' visibility='default' filepath='include/linux/cdev.h' line='17' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/cdev.h' line='18' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='dev' type-id='type-id-269' visibility='default' filepath='include/linux/cdev.h' line='19' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='800'>
-          <var-decl name='count' type-id='type-id-5' visibility='default' filepath='include/linux/cdev.h' line='20' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ktermios' size-in-bits='352' is-struct='yes' visibility='default' filepath='include/uapi/asm-generic/termbits.h' line='32' column='1' id='type-id-248'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='c_iflag' type-id='type-id-270' visibility='default' filepath='include/uapi/asm-generic/termbits.h' line='33' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='c_oflag' type-id='type-id-270' visibility='default' filepath='include/uapi/asm-generic/termbits.h' line='34' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='c_cflag' type-id='type-id-270' visibility='default' filepath='include/uapi/asm-generic/termbits.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='c_lflag' type-id='type-id-270' visibility='default' filepath='include/uapi/asm-generic/termbits.h' line='36' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='c_line' type-id='type-id-140' visibility='default' filepath='include/uapi/asm-generic/termbits.h' line='37' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='136'>
-          <var-decl name='c_cc' type-id='type-id-141' visibility='default' filepath='include/uapi/asm-generic/termbits.h' line='38' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='c_ispeed' type-id='type-id-271' visibility='default' filepath='include/uapi/asm-generic/termbits.h' line='39' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='c_ospeed' type-id='type-id-271' visibility='default' filepath='include/uapi/asm-generic/termbits.h' line='40' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='tcflag_t' type-id='type-id-5' filepath='include/uapi/asm-generic/termbits.h' line='9' column='1' id='type-id-270'/>
-      <typedef-decl name='cc_t' type-id='type-id-216' filepath='include/uapi/asm-generic/termbits.h' line='7' column='1' id='type-id-140'/>
-      <typedef-decl name='speed_t' type-id='type-id-5' filepath='include/uapi/asm-generic/termbits.h' line='8' column='1' id='type-id-271'/>
-      <class-decl name='tty_port' size-in-bits='2816' is-struct='yes' visibility='default' filepath='include/linux/tty.h' line='228' column='1' id='type-id-272'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='buf' type-id='type-id-273' visibility='default' filepath='include/linux/tty.h' line='229' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='tty' type-id='type-id-253' visibility='default' filepath='include/linux/tty.h' line='230' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='itty' type-id='type-id-253' visibility='default' filepath='include/linux/tty.h' line='231' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='ops' type-id='type-id-274' visibility='default' filepath='include/linux/tty.h' line='232' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='client_ops' type-id='type-id-275' visibility='default' filepath='include/linux/tty.h' line='233' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='include/linux/tty.h' line='234' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1376'>
-          <var-decl name='blocked_open' type-id='type-id-17' visibility='default' filepath='include/linux/tty.h' line='235' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='count' type-id='type-id-17' visibility='default' filepath='include/linux/tty.h' line='236' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='open_wait' type-id='type-id-225' visibility='default' filepath='include/linux/tty.h' line='237' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='delta_msr_wait' type-id='type-id-225' visibility='default' filepath='include/linux/tty.h' line='238' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='include/linux/tty.h' line='239' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='iflags' type-id='type-id-16' visibility='default' filepath='include/linux/tty.h' line='240' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7'>
-          <var-decl name='console' type-id='type-id-216' visibility='default' filepath='include/linux/tty.h' line='241' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6'>
-          <var-decl name='low_latency' type-id='type-id-216' visibility='default' filepath='include/linux/tty.h' line='242' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='mutex' type-id='type-id-245' visibility='default' filepath='include/linux/tty.h' line='243' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2304'>
-          <var-decl name='buf_mutex' type-id='type-id-245' visibility='default' filepath='include/linux/tty.h' line='244' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2560'>
-          <var-decl name='xmit_buf' type-id='type-id-256' visibility='default' filepath='include/linux/tty.h' line='245' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2624'>
-          <var-decl name='close_delay' type-id='type-id-5' visibility='default' filepath='include/linux/tty.h' line='246' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2656'>
-          <var-decl name='closing_wait' type-id='type-id-5' visibility='default' filepath='include/linux/tty.h' line='247' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2688'>
-          <var-decl name='drain_delay' type-id='type-id-17' visibility='default' filepath='include/linux/tty.h' line='248' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2720'>
-          <var-decl name='kref' type-id='type-id-239' visibility='default' filepath='include/linux/tty.h' line='251' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2752'>
-          <var-decl name='client_data' type-id='type-id-15' visibility='default' filepath='include/linux/tty.h' line='252' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='tty_bufhead' size-in-bits='1088' is-struct='yes' visibility='default' filepath='include/linux/tty.h' line='85' column='1' id='type-id-273'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='head' type-id='type-id-276' visibility='default' filepath='include/linux/tty.h' line='86' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='work' type-id='type-id-255' visibility='default' filepath='include/linux/tty.h' line='87' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='lock' type-id='type-id-245' visibility='default' filepath='include/linux/tty.h' line='88' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='priority' type-id='type-id-26' visibility='default' filepath='include/linux/tty.h' line='89' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='sentinel' type-id='type-id-277' visibility='default' filepath='include/linux/tty.h' line='90' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='free' type-id='type-id-278' visibility='default' filepath='include/linux/tty.h' line='91' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='mem_used' type-id='type-id-26' visibility='default' filepath='include/linux/tty.h' line='92' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='992'>
-          <var-decl name='mem_limit' type-id='type-id-17' visibility='default' filepath='include/linux/tty.h' line='93' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='tail' type-id='type-id-276' visibility='default' filepath='include/linux/tty.h' line='94' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='tty_buffer' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/tty.h' line='58' column='1' id='type-id-277'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='' type-id='type-id-279' visibility='default' filepath='include/linux/tty.h' line='59' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='used' type-id='type-id-17' visibility='default' filepath='include/linux/tty.h' line='63' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='size' type-id='type-id-17' visibility='default' filepath='include/linux/tty.h' line='64' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='commit' type-id='type-id-17' visibility='default' filepath='include/linux/tty.h' line='65' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='read' type-id='type-id-17' visibility='default' filepath='include/linux/tty.h' line='66' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='flags' type-id='type-id-17' visibility='default' filepath='include/linux/tty.h' line='67' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='data' type-id='type-id-280' visibility='default' filepath='include/linux/tty.h' line='69' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/tty.h' line='59' column='1' id='type-id-279'>
-        <data-member access='private'>
-          <var-decl name='next' type-id='type-id-276' visibility='default' filepath='include/linux/tty.h' line='60' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='free' type-id='type-id-281' visibility='default' filepath='include/linux/tty.h' line='61' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='llist_head' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/llist.h' line='66' column='1' id='type-id-278'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='first' type-id='type-id-282' visibility='default' filepath='include/linux/llist.h' line='67' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='tty_port_operations' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/tty.h' line='205' column='1' id='type-id-283'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='carrier_raised' type-id='type-id-284' visibility='default' filepath='include/linux/tty.h' line='207' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='dtr_rts' type-id='type-id-285' visibility='default' filepath='include/linux/tty.h' line='209' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='shutdown' type-id='type-id-286' visibility='default' filepath='include/linux/tty.h' line='213' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='activate' type-id='type-id-287' visibility='default' filepath='include/linux/tty.h' line='218' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='destruct' type-id='type-id-286' visibility='default' filepath='include/linux/tty.h' line='220' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='tty_port_client_operations' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/tty.h' line='223' column='1' id='type-id-288'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='receive_buf' type-id='type-id-289' visibility='default' filepath='include/linux/tty.h' line='224' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='write_wakeup' type-id='type-id-286' visibility='default' filepath='include/linux/tty.h' line='225' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='tty_operations' size-in-bits='2048' is-struct='yes' visibility='default' filepath='include/linux/tty_driver.h' line='253' column='1' id='type-id-290'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lookup' type-id='type-id-291' visibility='default' filepath='include/linux/tty_driver.h' line='254' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='install' type-id='type-id-292' visibility='default' filepath='include/linux/tty_driver.h' line='256' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='remove' type-id='type-id-293' visibility='default' filepath='include/linux/tty_driver.h' line='257' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='open' type-id='type-id-294' visibility='default' filepath='include/linux/tty_driver.h' line='258' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='close' type-id='type-id-295' visibility='default' filepath='include/linux/tty_driver.h' line='259' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='shutdown' type-id='type-id-296' visibility='default' filepath='include/linux/tty_driver.h' line='260' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='cleanup' type-id='type-id-296' visibility='default' filepath='include/linux/tty_driver.h' line='261' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='write' type-id='type-id-297' visibility='default' filepath='include/linux/tty_driver.h' line='262' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='put_char' type-id='type-id-298' visibility='default' filepath='include/linux/tty_driver.h' line='264' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='flush_chars' type-id='type-id-296' visibility='default' filepath='include/linux/tty_driver.h' line='265' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='write_room' type-id='type-id-299' visibility='default' filepath='include/linux/tty_driver.h' line='266' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='chars_in_buffer' type-id='type-id-299' visibility='default' filepath='include/linux/tty_driver.h' line='267' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='ioctl' type-id='type-id-300' visibility='default' filepath='include/linux/tty_driver.h' line='268' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='compat_ioctl' type-id='type-id-301' visibility='default' filepath='include/linux/tty_driver.h' line='270' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='set_termios' type-id='type-id-302' visibility='default' filepath='include/linux/tty_driver.h' line='272' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='throttle' type-id='type-id-296' visibility='default' filepath='include/linux/tty_driver.h' line='273' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='unthrottle' type-id='type-id-296' visibility='default' filepath='include/linux/tty_driver.h' line='274' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='stop' type-id='type-id-296' visibility='default' filepath='include/linux/tty_driver.h' line='275' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='start' type-id='type-id-296' visibility='default' filepath='include/linux/tty_driver.h' line='276' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='hangup' type-id='type-id-296' visibility='default' filepath='include/linux/tty_driver.h' line='277' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='break_ctl' type-id='type-id-303' visibility='default' filepath='include/linux/tty_driver.h' line='278' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='flush_buffer' type-id='type-id-296' visibility='default' filepath='include/linux/tty_driver.h' line='279' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='set_ldisc' type-id='type-id-296' visibility='default' filepath='include/linux/tty_driver.h' line='280' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='wait_until_sent' type-id='type-id-304' visibility='default' filepath='include/linux/tty_driver.h' line='281' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='send_xchar' type-id='type-id-305' visibility='default' filepath='include/linux/tty_driver.h' line='282' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='tiocmget' type-id='type-id-299' visibility='default' filepath='include/linux/tty_driver.h' line='283' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='tiocmset' type-id='type-id-306' visibility='default' filepath='include/linux/tty_driver.h' line='284' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='resize' type-id='type-id-307' visibility='default' filepath='include/linux/tty_driver.h' line='286' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='set_termiox' type-id='type-id-308' visibility='default' filepath='include/linux/tty_driver.h' line='287' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='get_icount' type-id='type-id-309' visibility='default' filepath='include/linux/tty_driver.h' line='288' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='show_fdinfo' type-id='type-id-310' visibility='default' filepath='include/linux/tty_driver.h' line='290' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='proc_show' type-id='type-id-311' visibility='default' filepath='include/linux/tty_driver.h' line='296' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='winsize' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/asm-generic/termios.h' line='15' column='1' id='type-id-252'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ws_row' type-id='type-id-312' visibility='default' filepath='include/uapi/asm-generic/termios.h' line='16' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='ws_col' type-id='type-id-312' visibility='default' filepath='include/uapi/asm-generic/termios.h' line='17' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='ws_xpixel' type-id='type-id-312' visibility='default' filepath='include/uapi/asm-generic/termios.h' line='18' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='ws_ypixel' type-id='type-id-312' visibility='default' filepath='include/uapi/asm-generic/termios.h' line='19' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='termiox' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/termios.h' line='10' column='1' id='type-id-313'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='x_hflag' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/termios.h' line='12' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='x_cflag' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/termios.h' line='13' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='x_rflag' type-id='type-id-109' visibility='default' filepath='include/uapi/linux/termios.h' line='14' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='112'>
-          <var-decl name='x_sflag' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/termios.h' line='15' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ld_semaphore' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/tty_ldisc.h' line='127' column='1' id='type-id-243'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='count' type-id='type-id-115' visibility='default' filepath='include/linux/tty_ldisc.h' line='128' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='wait_lock' type-id='type-id-36' visibility='default' filepath='include/linux/tty_ldisc.h' line='129' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='wait_readers' type-id='type-id-5' visibility='default' filepath='include/linux/tty_ldisc.h' line='130' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='read_wait' type-id='type-id-20' visibility='default' filepath='include/linux/tty_ldisc.h' line='131' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='write_wait' type-id='type-id-20' visibility='default' filepath='include/linux/tty_ldisc.h' line='132' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='tty_ldisc' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/tty_ldisc.h' line='209' column='1' id='type-id-314'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ops' type-id='type-id-315' visibility='default' filepath='include/linux/tty_ldisc.h' line='210' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='tty' type-id='type-id-253' visibility='default' filepath='include/linux/tty_ldisc.h' line='211' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='tty_ldisc_ops' size-in-bits='1216' is-struct='yes' visibility='default' filepath='include/linux/tty_ldisc.h' line='169' column='1' id='type-id-316'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='magic' type-id='type-id-17' visibility='default' filepath='include/linux/tty_ldisc.h' line='170' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='name' type-id='type-id-2' visibility='default' filepath='include/linux/tty_ldisc.h' line='171' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='num' type-id='type-id-17' visibility='default' filepath='include/linux/tty_ldisc.h' line='172' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='flags' type-id='type-id-17' visibility='default' filepath='include/linux/tty_ldisc.h' line='173' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='open' type-id='type-id-299' visibility='default' filepath='include/linux/tty_ldisc.h' line='178' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='close' type-id='type-id-296' visibility='default' filepath='include/linux/tty_ldisc.h' line='179' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='flush_buffer' type-id='type-id-296' visibility='default' filepath='include/linux/tty_ldisc.h' line='180' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='read' type-id='type-id-317' visibility='default' filepath='include/linux/tty_ldisc.h' line='181' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='write' type-id='type-id-318' visibility='default' filepath='include/linux/tty_ldisc.h' line='183' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='ioctl' type-id='type-id-319' visibility='default' filepath='include/linux/tty_ldisc.h' line='185' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='compat_ioctl' type-id='type-id-320' visibility='default' filepath='include/linux/tty_ldisc.h' line='187' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='set_termios' type-id='type-id-302' visibility='default' filepath='include/linux/tty_ldisc.h' line='189' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='poll' type-id='type-id-321' visibility='default' filepath='include/linux/tty_ldisc.h' line='190' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='hangup' type-id='type-id-299' visibility='default' filepath='include/linux/tty_ldisc.h' line='192' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='receive_buf' type-id='type-id-322' visibility='default' filepath='include/linux/tty_ldisc.h' line='197' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='write_wakeup' type-id='type-id-296' visibility='default' filepath='include/linux/tty_ldisc.h' line='199' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='dcd_change' type-id='type-id-323' visibility='default' filepath='include/linux/tty_ldisc.h' line='200' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='receive_buf2' type-id='type-id-324' visibility='default' filepath='include/linux/tty_ldisc.h' line='201' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='owner' type-id='type-id-260' visibility='default' filepath='include/linux/tty_ldisc.h' line='204' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='refcount' type-id='type-id-17' visibility='default' filepath='include/linux/tty_ldisc.h' line='206' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='poll_queue_proc' type-id='type-id-325' filepath='include/linux/poll.h' line='33' column='1' id='type-id-326'/>
-      <enum-decl name='audit_state' filepath='kernel/audit.h' line='36' column='1' id='type-id-327'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='AUDIT_DISABLED' value='0'/>
-        <enumerator name='AUDIT_BUILD_CONTEXT' value='1'/>
-        <enumerator name='AUDIT_RECORD_CONTEXT' value='2'/>
-      </enum-decl>
-      <class-decl name='audit_names' size-in-bits='832' is-struct='yes' visibility='default' filepath='kernel/audit.h' line='79' column='1' id='type-id-129'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='kernel/audit.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='name' type-id='type-id-328' visibility='default' filepath='kernel/audit.h' line='82' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='name_len' type-id='type-id-17' visibility='default' filepath='kernel/audit.h' line='83' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='hidden' type-id='type-id-33' visibility='default' filepath='kernel/audit.h' line='84' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='ino' type-id='type-id-16' visibility='default' filepath='kernel/audit.h' line='86' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='dev' type-id='type-id-269' visibility='default' filepath='kernel/audit.h' line='87' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='mode' type-id='type-id-329' visibility='default' filepath='kernel/audit.h' line='88' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='uid' type-id='type-id-42' visibility='default' filepath='kernel/audit.h' line='89' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='gid' type-id='type-id-330' visibility='default' filepath='kernel/audit.h' line='90' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='rdev' type-id='type-id-269' visibility='default' filepath='kernel/audit.h' line='91' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='osid' type-id='type-id-7' visibility='default' filepath='kernel/audit.h' line='92' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='fcap' type-id='type-id-331' visibility='default' filepath='kernel/audit.h' line='93' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='fcap_ver' type-id='type-id-5' visibility='default' filepath='kernel/audit.h' line='94' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='800'>
-          <var-decl name='type' type-id='type-id-216' visibility='default' filepath='kernel/audit.h' line='95' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='808'>
-          <var-decl name='should_free' type-id='type-id-33' visibility='default' filepath='kernel/audit.h' line='101' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='filename' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='2474' column='1' id='type-id-332'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/fs.h' line='2475' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='uptr' type-id='type-id-4' visibility='default' filepath='include/linux/fs.h' line='2476' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='refcnt' type-id='type-id-17' visibility='default' filepath='include/linux/fs.h' line='2477' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='aname' type-id='type-id-333' visibility='default' filepath='include/linux/fs.h' line='2478' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='iname' type-id='type-id-177' visibility='default' filepath='include/linux/fs.h' line='2479' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='audit_cap_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='kernel/audit.h' line='64' column='1' id='type-id-331'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='permitted' type-id='type-id-334' visibility='default' filepath='kernel/audit.h' line='65' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='inheritable' type-id='type-id-334' visibility='default' filepath='kernel/audit.h' line='66' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='' type-id='type-id-335' visibility='default' filepath='kernel/audit.h' line='67' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='ambient' type-id='type-id-334' visibility='default' filepath='kernel/audit.h' line='71' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__2' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='kernel/audit.h' line='67' column='1' id='type-id-335'>
-        <data-member access='private'>
-          <var-decl name='fE' type-id='type-id-5' visibility='default' filepath='kernel/audit.h' line='68' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='effective' type-id='type-id-334' visibility='default' filepath='kernel/audit.h' line='69' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='__kernel_sockaddr_storage' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/uapi/linux/socket.h' line='14' column='1' id='type-id-336'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ss_family' type-id='type-id-337' visibility='default' filepath='include/uapi/linux/socket.h' line='15' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='__data' type-id='type-id-143' visibility='default' filepath='include/uapi/linux/socket.h' line='17' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__3' size-in-bits='576' is-anonymous='yes' visibility='default' filepath='kernel/audit.h' line='157' column='1' id='type-id-338'>
-        <data-member access='private'>
-          <var-decl name='socketcall' type-id='type-id-339' visibility='default' filepath='kernel/audit.h' line='161' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='ipc' type-id='type-id-340' visibility='default' filepath='kernel/audit.h' line='172' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='mq_getsetattr' type-id='type-id-341' visibility='default' filepath='kernel/audit.h' line='176' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='mq_notify' type-id='type-id-342' visibility='default' filepath='kernel/audit.h' line='180' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='mq_sendrecv' type-id='type-id-343' visibility='default' filepath='kernel/audit.h' line='186' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='mq_open' type-id='type-id-344' visibility='default' filepath='kernel/audit.h' line='191' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='capset' type-id='type-id-345' visibility='default' filepath='kernel/audit.h' line='195' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='mmap' type-id='type-id-346' visibility='default' filepath='kernel/audit.h' line='199' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='execve' type-id='type-id-347' visibility='default' filepath='kernel/audit.h' line='202' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='module' type-id='type-id-348' visibility='default' filepath='kernel/audit.h' line='205' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='__anonymous_struct__1' size-in-bits='448' is-struct='yes' is-anonymous='yes' visibility='default' filepath='kernel/audit.h' line='158' column='1' id='type-id-339'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='nargs' type-id='type-id-17' visibility='default' filepath='kernel/audit.h' line='159' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='args' type-id='type-id-349' visibility='default' filepath='kernel/audit.h' line='160' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__2' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='kernel/audit.h' line='162' column='1' id='type-id-340'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='uid' type-id='type-id-42' visibility='default' filepath='kernel/audit.h' line='163' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='gid' type-id='type-id-330' visibility='default' filepath='kernel/audit.h' line='164' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='mode' type-id='type-id-329' visibility='default' filepath='kernel/audit.h' line='165' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='osid' type-id='type-id-7' visibility='default' filepath='kernel/audit.h' line='166' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='has_perm' type-id='type-id-17' visibility='default' filepath='kernel/audit.h' line='167' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='perm_uid' type-id='type-id-350' visibility='default' filepath='kernel/audit.h' line='168' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='perm_gid' type-id='type-id-351' visibility='default' filepath='kernel/audit.h' line='169' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='perm_mode' type-id='type-id-329' visibility='default' filepath='kernel/audit.h' line='170' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='qbytes' type-id='type-id-16' visibility='default' filepath='kernel/audit.h' line='171' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__3' size-in-bits='576' is-struct='yes' is-anonymous='yes' visibility='default' filepath='kernel/audit.h' line='173' column='1' id='type-id-341'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mqdes' type-id='type-id-352' visibility='default' filepath='kernel/audit.h' line='174' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='mqstat' type-id='type-id-353' visibility='default' filepath='kernel/audit.h' line='175' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='mqd_t' type-id='type-id-354' filepath='include/linux/types.h' line='28' column='1' id='type-id-352'/>
-      <typedef-decl name='__kernel_mqd_t' type-id='type-id-17' filepath='include/uapi/linux/posix_types.h' line='34' column='1' id='type-id-354'/>
-      <class-decl name='mq_attr' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/uapi/linux/mqueue.h' line='28' column='1' id='type-id-353'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mq_flags' type-id='type-id-105' visibility='default' filepath='include/uapi/linux/mqueue.h' line='29' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='mq_maxmsg' type-id='type-id-105' visibility='default' filepath='include/uapi/linux/mqueue.h' line='30' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='mq_msgsize' type-id='type-id-105' visibility='default' filepath='include/uapi/linux/mqueue.h' line='31' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='mq_curmsgs' type-id='type-id-105' visibility='default' filepath='include/uapi/linux/mqueue.h' line='32' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='__reserved' type-id='type-id-106' visibility='default' filepath='include/uapi/linux/mqueue.h' line='33' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__4' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='kernel/audit.h' line='177' column='1' id='type-id-342'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mqdes' type-id='type-id-352' visibility='default' filepath='kernel/audit.h' line='178' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='sigev_signo' type-id='type-id-17' visibility='default' filepath='kernel/audit.h' line='179' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__5' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='kernel/audit.h' line='181' column='1' id='type-id-343'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mqdes' type-id='type-id-352' visibility='default' filepath='kernel/audit.h' line='182' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='msg_len' type-id='type-id-84' visibility='default' filepath='kernel/audit.h' line='183' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='msg_prio' type-id='type-id-5' visibility='default' filepath='kernel/audit.h' line='184' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='abs_timeout' type-id='type-id-355' visibility='default' filepath='kernel/audit.h' line='185' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__6' size-in-bits='576' is-struct='yes' is-anonymous='yes' visibility='default' filepath='kernel/audit.h' line='187' column='1' id='type-id-344'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='oflag' type-id='type-id-17' visibility='default' filepath='kernel/audit.h' line='188' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='mode' type-id='type-id-329' visibility='default' filepath='kernel/audit.h' line='189' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='attr' type-id='type-id-353' visibility='default' filepath='kernel/audit.h' line='190' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__7' size-in-bits='288' is-struct='yes' is-anonymous='yes' visibility='default' filepath='kernel/audit.h' line='192' column='1' id='type-id-345'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='pid' type-id='type-id-41' visibility='default' filepath='kernel/audit.h' line='193' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='cap' type-id='type-id-331' visibility='default' filepath='kernel/audit.h' line='194' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__8' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='kernel/audit.h' line='196' column='1' id='type-id-346'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='fd' type-id='type-id-17' visibility='default' filepath='kernel/audit.h' line='197' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='flags' type-id='type-id-17' visibility='default' filepath='kernel/audit.h' line='198' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__9' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='kernel/audit.h' line='200' column='1' id='type-id-347'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='argc' type-id='type-id-17' visibility='default' filepath='kernel/audit.h' line='201' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__10' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='kernel/audit.h' line='203' column='1' id='type-id-348'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-2' visibility='default' filepath='kernel/audit.h' line='204' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='audit_proctitle' size-in-bits='128' is-struct='yes' visibility='default' filepath='kernel/audit.h' line='104' column='1' id='type-id-356'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='len' type-id='type-id-17' visibility='default' filepath='kernel/audit.h' line='105' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='value' type-id='type-id-2' visibility='default' filepath='kernel/audit.h' line='106' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='bio_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/bio.h' line='618' column='1' id='type-id-357'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='head' type-id='type-id-358' visibility='default' filepath='include/linux/bio.h' line='619' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='tail' type-id='type-id-358' visibility='default' filepath='include/linux/bio.h' line='620' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='bio' size-in-bits='1216' is-struct='yes' visibility='default' filepath='include/linux/blk_types.h' line='145' column='1' id='type-id-359'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bi_next' type-id='type-id-358' visibility='default' filepath='include/linux/blk_types.h' line='146' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='bi_disk' type-id='type-id-360' visibility='default' filepath='include/linux/blk_types.h' line='147' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='bi_opf' type-id='type-id-5' visibility='default' filepath='include/linux/blk_types.h' line='148' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='bi_flags' type-id='type-id-312' visibility='default' filepath='include/linux/blk_types.h' line='152' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='176'>
-          <var-decl name='bi_ioprio' type-id='type-id-312' visibility='default' filepath='include/linux/blk_types.h' line='153' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='bi_write_hint' type-id='type-id-312' visibility='default' filepath='include/linux/blk_types.h' line='154' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='208'>
-          <var-decl name='bi_status' type-id='type-id-361' visibility='default' filepath='include/linux/blk_types.h' line='155' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='216'>
-          <var-decl name='bi_partno' type-id='type-id-214' visibility='default' filepath='include/linux/blk_types.h' line='156' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='bi_phys_segments' type-id='type-id-5' visibility='default' filepath='include/linux/blk_types.h' line='161' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='bi_seg_front_size' type-id='type-id-5' visibility='default' filepath='include/linux/blk_types.h' line='167' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='bi_seg_back_size' type-id='type-id-5' visibility='default' filepath='include/linux/blk_types.h' line='168' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='bi_iter' type-id='type-id-362' visibility='default' filepath='include/linux/blk_types.h' line='170' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='__bi_remaining' type-id='type-id-26' visibility='default' filepath='include/linux/blk_types.h' line='172' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='bi_end_io' type-id='type-id-363' visibility='default' filepath='include/linux/blk_types.h' line='173' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='bi_private' type-id='type-id-15' visibility='default' filepath='include/linux/blk_types.h' line='175' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='bi_ioc' type-id='type-id-364' visibility='default' filepath='include/linux/blk_types.h' line='181' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='bi_css' type-id='type-id-365' visibility='default' filepath='include/linux/blk_types.h' line='182' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='bi_blkg' type-id='type-id-366' visibility='default' filepath='include/linux/blk_types.h' line='183' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='bi_issue' type-id='type-id-367' visibility='default' filepath='include/linux/blk_types.h' line='184' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='bi_crypt_context' type-id='type-id-368' visibility='default' filepath='include/linux/blk_types.h' line='188' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='' type-id='type-id-369' visibility='default' filepath='include/linux/blk_types.h' line='191' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='bi_vcnt' type-id='type-id-312' visibility='default' filepath='include/linux/blk_types.h' line='197' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1040'>
-          <var-decl name='bi_max_vecs' type-id='type-id-312' visibility='default' filepath='include/linux/blk_types.h' line='203' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1056'>
-          <var-decl name='__bi_cnt' type-id='type-id-26' visibility='default' filepath='include/linux/blk_types.h' line='205' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='bi_io_vec' type-id='type-id-370' visibility='default' filepath='include/linux/blk_types.h' line='207' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='bi_pool' type-id='type-id-371' visibility='default' filepath='include/linux/blk_types.h' line='209' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='bi_inline_vecs' type-id='type-id-132' visibility='default' filepath='include/linux/blk_types.h' line='216' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='gendisk' size-in-bits='9344' is-struct='yes' visibility='default' filepath='include/linux/genhd.h' line='174' column='1' id='type-id-372'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='major' type-id='type-id-17' visibility='default' filepath='include/linux/genhd.h' line='178' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='first_minor' type-id='type-id-17' visibility='default' filepath='include/linux/genhd.h' line='179' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='minors' type-id='type-id-17' visibility='default' filepath='include/linux/genhd.h' line='180' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='disk_name' type-id='type-id-373' visibility='default' filepath='include/linux/genhd.h' line='183' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='devnode' type-id='type-id-374' visibility='default' filepath='include/linux/genhd.h' line='184' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='events' type-id='type-id-5' visibility='default' filepath='include/linux/genhd.h' line='186' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='async_events' type-id='type-id-5' visibility='default' filepath='include/linux/genhd.h' line='187' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='part_tbl' type-id='type-id-375' visibility='default' filepath='include/linux/genhd.h' line='194' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='part0' type-id='type-id-376' visibility='default' filepath='include/linux/genhd.h' line='195' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8384'>
-          <var-decl name='fops' type-id='type-id-377' visibility='default' filepath='include/linux/genhd.h' line='197' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8448'>
-          <var-decl name='queue' type-id='type-id-378' visibility='default' filepath='include/linux/genhd.h' line='198' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8512'>
-          <var-decl name='private_data' type-id='type-id-15' visibility='default' filepath='include/linux/genhd.h' line='199' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8576'>
-          <var-decl name='flags' type-id='type-id-17' visibility='default' filepath='include/linux/genhd.h' line='201' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8640'>
-          <var-decl name='lookup_sem' type-id='type-id-246' visibility='default' filepath='include/linux/genhd.h' line='202' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8960'>
-          <var-decl name='slave_dir' type-id='type-id-379' visibility='default' filepath='include/linux/genhd.h' line='203' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9024'>
-          <var-decl name='random' type-id='type-id-380' visibility='default' filepath='include/linux/genhd.h' line='205' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9088'>
-          <var-decl name='sync_io' type-id='type-id-26' visibility='default' filepath='include/linux/genhd.h' line='206' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9152'>
-          <var-decl name='ev' type-id='type-id-381' visibility='default' filepath='include/linux/genhd.h' line='207' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9216'>
-          <var-decl name='node_id' type-id='type-id-17' visibility='default' filepath='include/linux/genhd.h' line='211' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9280'>
-          <var-decl name='bb' type-id='type-id-382' visibility='default' filepath='include/linux/genhd.h' line='212' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9344'>
-          <var-decl name='lockdep_map' type-id='type-id-383' visibility='default' filepath='include/linux/genhd.h' line='213' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='disk_part_tbl' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/genhd.h' line='152' column='1' id='type-id-384'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='callback_head' type-id='type-id-385' visibility='default' filepath='include/linux/genhd.h' line='153' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='len' type-id='type-id-17' visibility='default' filepath='include/linux/genhd.h' line='154' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='last_lookup' type-id='type-id-184' visibility='default' filepath='include/linux/genhd.h' line='155' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='part' type-id='type-id-185' visibility='default' filepath='include/linux/genhd.h' line='156' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='hd_struct' size-in-bits='7808' is-struct='yes' visibility='default' filepath='include/linux/genhd.h' line='106' column='1' id='type-id-376'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='start_sect' type-id='type-id-386' visibility='default' filepath='include/linux/genhd.h' line='107' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='nr_sects' type-id='type-id-386' visibility='default' filepath='include/linux/genhd.h' line='113' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='nr_sects_seq' type-id='type-id-387' visibility='default' filepath='include/linux/genhd.h' line='114' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='alignment_offset' type-id='type-id-386' visibility='default' filepath='include/linux/genhd.h' line='115' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='discard_alignment' type-id='type-id-5' visibility='default' filepath='include/linux/genhd.h' line='116' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='__dev' type-id='type-id-388' visibility='default' filepath='include/linux/genhd.h' line='117' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6528'>
-          <var-decl name='holder_dir' type-id='type-id-379' visibility='default' filepath='include/linux/genhd.h' line='118' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6592'>
-          <var-decl name='policy' type-id='type-id-17' visibility='default' filepath='include/linux/genhd.h' line='119' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6624'>
-          <var-decl name='partno' type-id='type-id-17' visibility='default' filepath='include/linux/genhd.h' line='119' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6656'>
-          <var-decl name='info' type-id='type-id-389' visibility='default' filepath='include/linux/genhd.h' line='120' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6720'>
-          <var-decl name='stamp' type-id='type-id-16' visibility='default' filepath='include/linux/genhd.h' line='124' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6784'>
-          <var-decl name='in_flight' type-id='type-id-127' visibility='default' filepath='include/linux/genhd.h' line='125' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6848'>
-          <var-decl name='dkstats' type-id='type-id-390' visibility='default' filepath='include/linux/genhd.h' line='127' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6912'>
-          <var-decl name='ref' type-id='type-id-391' visibility='default' filepath='include/linux/genhd.h' line='131' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7360'>
-          <var-decl name='rcu_work' type-id='type-id-392' visibility='default' filepath='include/linux/genhd.h' line='132' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='partition_meta_info' size-in-bits='808' is-struct='yes' visibility='default' filepath='include/linux/genhd.h' line='101' column='1' id='type-id-393'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='uuid' type-id='type-id-147' visibility='default' filepath='include/linux/genhd.h' line='102' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='296'>
-          <var-decl name='volname' type-id='type-id-215' visibility='default' filepath='include/linux/genhd.h' line='103' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='disk_stats' size-in-bits='896' is-struct='yes' visibility='default' filepath='include/linux/genhd.h' line='85' column='1' id='type-id-394'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='nsecs' type-id='type-id-213' visibility='default' filepath='include/linux/genhd.h' line='86' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='sectors' type-id='type-id-220' visibility='default' filepath='include/linux/genhd.h' line='87' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='ios' type-id='type-id-220' visibility='default' filepath='include/linux/genhd.h' line='88' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='merges' type-id='type-id-220' visibility='default' filepath='include/linux/genhd.h' line='89' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='io_ticks' type-id='type-id-16' visibility='default' filepath='include/linux/genhd.h' line='90' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='time_in_queue' type-id='type-id-16' visibility='default' filepath='include/linux/genhd.h' line='91' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='block_device_operations' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/linux/blkdev.h' line='1984' column='1' id='type-id-395'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='open' type-id='type-id-396' visibility='default' filepath='include/linux/blkdev.h' line='1985' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='release' type-id='type-id-397' visibility='default' filepath='include/linux/blkdev.h' line='1986' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='rw_page' type-id='type-id-398' visibility='default' filepath='include/linux/blkdev.h' line='1987' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='ioctl' type-id='type-id-399' visibility='default' filepath='include/linux/blkdev.h' line='1988' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='compat_ioctl' type-id='type-id-399' visibility='default' filepath='include/linux/blkdev.h' line='1989' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='check_events' type-id='type-id-400' visibility='default' filepath='include/linux/blkdev.h' line='1990' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='media_changed' type-id='type-id-401' visibility='default' filepath='include/linux/blkdev.h' line='1993' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='unlock_native_capacity' type-id='type-id-402' visibility='default' filepath='include/linux/blkdev.h' line='1994' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='revalidate_disk' type-id='type-id-401' visibility='default' filepath='include/linux/blkdev.h' line='1995' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='getgeo' type-id='type-id-403' visibility='default' filepath='include/linux/blkdev.h' line='1996' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='swap_slot_free_notify' type-id='type-id-404' visibility='default' filepath='include/linux/blkdev.h' line='1998' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='owner' type-id='type-id-260' visibility='default' filepath='include/linux/blkdev.h' line='1999' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='pr_ops' type-id='type-id-405' visibility='default' filepath='include/linux/blkdev.h' line='2000' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='bdi_writeback' size-in-bits='5568' is-struct='yes' visibility='default' filepath='include/linux/backing-dev-defs.h' line='109' column='1' id='type-id-406'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bdi' type-id='type-id-407' visibility='default' filepath='include/linux/backing-dev-defs.h' line='110' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='state' type-id='type-id-16' visibility='default' filepath='include/linux/backing-dev-defs.h' line='112' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='last_old_flush' type-id='type-id-16' visibility='default' filepath='include/linux/backing-dev-defs.h' line='113' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='b_dirty' type-id='type-id-20' visibility='default' filepath='include/linux/backing-dev-defs.h' line='115' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='b_io' type-id='type-id-20' visibility='default' filepath='include/linux/backing-dev-defs.h' line='116' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='b_more_io' type-id='type-id-20' visibility='default' filepath='include/linux/backing-dev-defs.h' line='117' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='b_dirty_time' type-id='type-id-20' visibility='default' filepath='include/linux/backing-dev-defs.h' line='118' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='list_lock' type-id='type-id-247' visibility='default' filepath='include/linux/backing-dev-defs.h' line='119' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='stat' type-id='type-id-205' visibility='default' filepath='include/linux/backing-dev-defs.h' line='121' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='congested' type-id='type-id-408' visibility='default' filepath='include/linux/backing-dev-defs.h' line='123' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='bw_time_stamp' type-id='type-id-16' visibility='default' filepath='include/linux/backing-dev-defs.h' line='125' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='dirtied_stamp' type-id='type-id-16' visibility='default' filepath='include/linux/backing-dev-defs.h' line='126' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='written_stamp' type-id='type-id-16' visibility='default' filepath='include/linux/backing-dev-defs.h' line='127' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2304'>
-          <var-decl name='write_bandwidth' type-id='type-id-16' visibility='default' filepath='include/linux/backing-dev-defs.h' line='128' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='avg_write_bandwidth' type-id='type-id-16' visibility='default' filepath='include/linux/backing-dev-defs.h' line='129' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2432'>
-          <var-decl name='dirty_ratelimit' type-id='type-id-16' visibility='default' filepath='include/linux/backing-dev-defs.h' line='137' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2496'>
-          <var-decl name='balanced_dirty_ratelimit' type-id='type-id-16' visibility='default' filepath='include/linux/backing-dev-defs.h' line='138' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2560'>
-          <var-decl name='completions' type-id='type-id-409' visibility='default' filepath='include/linux/backing-dev-defs.h' line='140' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2944'>
-          <var-decl name='dirty_exceeded' type-id='type-id-17' visibility='default' filepath='include/linux/backing-dev-defs.h' line='141' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2976'>
-          <var-decl name='start_all_reason' type-id='type-id-410' visibility='default' filepath='include/linux/backing-dev-defs.h' line='142' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3008'>
-          <var-decl name='work_lock' type-id='type-id-247' visibility='default' filepath='include/linux/backing-dev-defs.h' line='144' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3072'>
-          <var-decl name='work_list' type-id='type-id-20' visibility='default' filepath='include/linux/backing-dev-defs.h' line='145' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3200'>
-          <var-decl name='dwork' type-id='type-id-411' visibility='default' filepath='include/linux/backing-dev-defs.h' line='146' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3904'>
-          <var-decl name='dirty_sleep' type-id='type-id-16' visibility='default' filepath='include/linux/backing-dev-defs.h' line='148' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3968'>
-          <var-decl name='bdi_node' type-id='type-id-20' visibility='default' filepath='include/linux/backing-dev-defs.h' line='150' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4096'>
-          <var-decl name='refcnt' type-id='type-id-391' visibility='default' filepath='include/linux/backing-dev-defs.h' line='153' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4544'>
-          <var-decl name='memcg_completions' type-id='type-id-409' visibility='default' filepath='include/linux/backing-dev-defs.h' line='154' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4928'>
-          <var-decl name='memcg_css' type-id='type-id-365' visibility='default' filepath='include/linux/backing-dev-defs.h' line='155' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4992'>
-          <var-decl name='blkcg_css' type-id='type-id-365' visibility='default' filepath='include/linux/backing-dev-defs.h' line='156' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5056'>
-          <var-decl name='memcg_node' type-id='type-id-20' visibility='default' filepath='include/linux/backing-dev-defs.h' line='157' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5184'>
-          <var-decl name='blkcg_node' type-id='type-id-20' visibility='default' filepath='include/linux/backing-dev-defs.h' line='158' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5312'>
-          <var-decl name='' type-id='type-id-412' visibility='default' filepath='include/linux/backing-dev-defs.h' line='160' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='backing_dev_info' size-in-bits='7936' is-struct='yes' visibility='default' filepath='include/linux/backing-dev-defs.h' line='167' column='1' id='type-id-413'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bdi_list' type-id='type-id-20' visibility='default' filepath='include/linux/backing-dev-defs.h' line='168' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='ra_pages' type-id='type-id-16' visibility='default' filepath='include/linux/backing-dev-defs.h' line='169' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='io_pages' type-id='type-id-16' visibility='default' filepath='include/linux/backing-dev-defs.h' line='170' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='congested_fn' type-id='type-id-414' visibility='default' filepath='include/linux/backing-dev-defs.h' line='171' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='congested_data' type-id='type-id-15' visibility='default' filepath='include/linux/backing-dev-defs.h' line='172' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/backing-dev-defs.h' line='174' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='refcnt' type-id='type-id-239' visibility='default' filepath='include/linux/backing-dev-defs.h' line='176' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='capabilities' type-id='type-id-5' visibility='default' filepath='include/linux/backing-dev-defs.h' line='177' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='min_ratio' type-id='type-id-5' visibility='default' filepath='include/linux/backing-dev-defs.h' line='178' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='max_ratio' type-id='type-id-5' visibility='default' filepath='include/linux/backing-dev-defs.h' line='179' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='max_prop_frac' type-id='type-id-5' visibility='default' filepath='include/linux/backing-dev-defs.h' line='179' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='tot_write_bandwidth' type-id='type-id-115' visibility='default' filepath='include/linux/backing-dev-defs.h' line='185' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='wb' type-id='type-id-406' visibility='default' filepath='include/linux/backing-dev-defs.h' line='187' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6272'>
-          <var-decl name='wb_list' type-id='type-id-20' visibility='default' filepath='include/linux/backing-dev-defs.h' line='188' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6400'>
-          <var-decl name='cgwb_tree' type-id='type-id-415' visibility='default' filepath='include/linux/backing-dev-defs.h' line='190' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6528'>
-          <var-decl name='cgwb_congested_tree' type-id='type-id-416' visibility='default' filepath='include/linux/backing-dev-defs.h' line='191' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6592'>
-          <var-decl name='cgwb_release_mutex' type-id='type-id-245' visibility='default' filepath='include/linux/backing-dev-defs.h' line='192' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6848'>
-          <var-decl name='wb_switch_rwsem' type-id='type-id-246' visibility='default' filepath='include/linux/backing-dev-defs.h' line='193' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7168'>
-          <var-decl name='wb_waitq' type-id='type-id-225' visibility='default' filepath='include/linux/backing-dev-defs.h' line='197' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7360'>
-          <var-decl name='dev' type-id='type-id-240' visibility='default' filepath='include/linux/backing-dev-defs.h' line='199' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7424'>
-          <var-decl name='owner' type-id='type-id-240' visibility='default' filepath='include/linux/backing-dev-defs.h' line='200' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7488'>
-          <var-decl name='laptop_mode_wb_timer' type-id='type-id-417' visibility='default' filepath='include/linux/backing-dev-defs.h' line='202' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7808'>
-          <var-decl name='debug_dir' type-id='type-id-23' visibility='default' filepath='include/linux/backing-dev-defs.h' line='205' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7872'>
-          <var-decl name='debug_stats' type-id='type-id-23' visibility='default' filepath='include/linux/backing-dev-defs.h' line='206' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='congested_fn' type-id='type-id-418' filepath='include/linux/backing-dev-defs.h' line='36' column='1' id='type-id-419'/>
-      <class-decl name='bdi_writeback_congested' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/backing-dev-defs.h' line='77' column='1' id='type-id-420'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='state' type-id='type-id-16' visibility='default' filepath='include/linux/backing-dev-defs.h' line='78' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='refcnt' type-id='type-id-421' visibility='default' filepath='include/linux/backing-dev-defs.h' line='79' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='__bdi' type-id='type-id-407' visibility='default' filepath='include/linux/backing-dev-defs.h' line='82' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='blkcg_id' type-id='type-id-17' visibility='default' filepath='include/linux/backing-dev-defs.h' line='85' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='rb_node' type-id='type-id-422' visibility='default' filepath='include/linux/backing-dev-defs.h' line='86' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='fprop_local_percpu' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/flex_proportions.h' line='76' column='1' id='type-id-409'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='events' type-id='type-id-204' visibility='default' filepath='include/linux/flex_proportions.h' line='78' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='period' type-id='type-id-5' visibility='default' filepath='include/linux/flex_proportions.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='lock' type-id='type-id-36' visibility='default' filepath='include/linux/flex_proportions.h' line='81' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='wb_reason' filepath='include/linux/backing-dev-defs.h' line='51' column='1' id='type-id-410'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='WB_REASON_BACKGROUND' value='0'/>
-        <enumerator name='WB_REASON_VMSCAN' value='1'/>
-        <enumerator name='WB_REASON_SYNC' value='2'/>
-        <enumerator name='WB_REASON_PERIODIC' value='3'/>
-        <enumerator name='WB_REASON_LAPTOP_TIMER' value='4'/>
-        <enumerator name='WB_REASON_FREE_MORE_MEM' value='5'/>
-        <enumerator name='WB_REASON_FS_FREE_SPACE' value='6'/>
-        <enumerator name='WB_REASON_FORKER_THREAD' value='7'/>
-        <enumerator name='WB_REASON_MAX' value='8'/>
-      </enum-decl>
-      <class-decl name='mem_cgroup' size-in-bits='18432' is-struct='yes' visibility='default' filepath='include/linux/memcontrol.h' line='197' column='1' id='type-id-423'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='css' type-id='type-id-424' visibility='default' filepath='include/linux/memcontrol.h' line='198' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='id' type-id='type-id-425' visibility='default' filepath='include/linux/memcontrol.h' line='201' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='memory' type-id='type-id-426' visibility='default' filepath='include/linux/memcontrol.h' line='204' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2816'>
-          <var-decl name='swap' type-id='type-id-426' visibility='default' filepath='include/linux/memcontrol.h' line='205' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3648'>
-          <var-decl name='memsw' type-id='type-id-426' visibility='default' filepath='include/linux/memcontrol.h' line='208' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4480'>
-          <var-decl name='kmem' type-id='type-id-426' visibility='default' filepath='include/linux/memcontrol.h' line='209' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5312'>
-          <var-decl name='tcpmem' type-id='type-id-426' visibility='default' filepath='include/linux/memcontrol.h' line='210' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6144'>
-          <var-decl name='high' type-id='type-id-16' visibility='default' filepath='include/linux/memcontrol.h' line='213' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6208'>
-          <var-decl name='high_work' type-id='type-id-255' visibility='default' filepath='include/linux/memcontrol.h' line='216' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6464'>
-          <var-decl name='soft_limit' type-id='type-id-16' visibility='default' filepath='include/linux/memcontrol.h' line='218' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6528'>
-          <var-decl name='vmpressure' type-id='type-id-427' visibility='default' filepath='include/linux/memcontrol.h' line='221' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7488'>
-          <var-decl name='use_hierarchy' type-id='type-id-33' visibility='default' filepath='include/linux/memcontrol.h' line='226' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7496'>
-          <var-decl name='oom_group' type-id='type-id-33' visibility='default' filepath='include/linux/memcontrol.h' line='231' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7504'>
-          <var-decl name='oom_lock' type-id='type-id-33' visibility='default' filepath='include/linux/memcontrol.h' line='234' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7520'>
-          <var-decl name='under_oom' type-id='type-id-17' visibility='default' filepath='include/linux/memcontrol.h' line='235' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7552'>
-          <var-decl name='swappiness' type-id='type-id-17' visibility='default' filepath='include/linux/memcontrol.h' line='237' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7584'>
-          <var-decl name='oom_kill_disable' type-id='type-id-17' visibility='default' filepath='include/linux/memcontrol.h' line='239' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7616'>
-          <var-decl name='events_file' type-id='type-id-428' visibility='default' filepath='include/linux/memcontrol.h' line='242' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8064'>
-          <var-decl name='swap_events_file' type-id='type-id-428' visibility='default' filepath='include/linux/memcontrol.h' line='245' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8512'>
-          <var-decl name='thresholds_lock' type-id='type-id-245' visibility='default' filepath='include/linux/memcontrol.h' line='248' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8768'>
-          <var-decl name='thresholds' type-id='type-id-429' visibility='default' filepath='include/linux/memcontrol.h' line='251' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8896'>
-          <var-decl name='memsw_thresholds' type-id='type-id-429' visibility='default' filepath='include/linux/memcontrol.h' line='254' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9024'>
-          <var-decl name='oom_notify' type-id='type-id-20' visibility='default' filepath='include/linux/memcontrol.h' line='257' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9152'>
-          <var-decl name='move_charge_at_immigrate' type-id='type-id-16' visibility='default' filepath='include/linux/memcontrol.h' line='263' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9216'>
-          <var-decl name='move_lock' type-id='type-id-247' visibility='default' filepath='include/linux/memcontrol.h' line='265' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9280'>
-          <var-decl name='move_lock_flags' type-id='type-id-16' visibility='default' filepath='include/linux/memcontrol.h' line='266' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9728'>
-          <var-decl name='_pad1_' type-id='type-id-430' visibility='default' filepath='include/linux/memcontrol.h' line='268' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9728'>
-          <var-decl name='moving_account' type-id='type-id-26' visibility='default' filepath='include/linux/memcontrol.h' line='273' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9792'>
-          <var-decl name='move_lock_task' type-id='type-id-431' visibility='default' filepath='include/linux/memcontrol.h' line='274' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9856'>
-          <var-decl name='stat_cpu' type-id='type-id-432' visibility='default' filepath='include/linux/memcontrol.h' line='277' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10240'>
-          <var-decl name='_pad2_' type-id='type-id-430' visibility='default' filepath='include/linux/memcontrol.h' line='279' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10240'>
-          <var-decl name='stat' type-id='type-id-120' visibility='default' filepath='include/linux/memcontrol.h' line='281' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='12480'>
-          <var-decl name='events' type-id='type-id-122' visibility='default' filepath='include/linux/memcontrol.h' line='282' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16064'>
-          <var-decl name='memory_events' type-id='type-id-124' visibility='default' filepath='include/linux/memcontrol.h' line='283' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16512'>
-          <var-decl name='socket_pressure' type-id='type-id-16' visibility='default' filepath='include/linux/memcontrol.h' line='285' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16576'>
-          <var-decl name='tcpmem_active' type-id='type-id-33' visibility='default' filepath='include/linux/memcontrol.h' line='288' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16608'>
-          <var-decl name='tcpmem_pressure' type-id='type-id-17' visibility='default' filepath='include/linux/memcontrol.h' line='289' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16640'>
-          <var-decl name='kmemcg_id' type-id='type-id-17' visibility='default' filepath='include/linux/memcontrol.h' line='293' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16672'>
-          <var-decl name='kmem_state' type-id='type-id-433' visibility='default' filepath='include/linux/memcontrol.h' line='294' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16704'>
-          <var-decl name='kmem_caches' type-id='type-id-20' visibility='default' filepath='include/linux/memcontrol.h' line='295' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16832'>
-          <var-decl name='last_scanned_node' type-id='type-id-17' visibility='default' filepath='include/linux/memcontrol.h' line='298' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16896'>
-          <var-decl name='cgwb_list' type-id='type-id-20' visibility='default' filepath='include/linux/memcontrol.h' line='306' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='17024'>
-          <var-decl name='cgwb_domain' type-id='type-id-434' visibility='default' filepath='include/linux/memcontrol.h' line='307' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='17984'>
-          <var-decl name='event_list' type-id='type-id-20' visibility='default' filepath='include/linux/memcontrol.h' line='311' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='18112'>
-          <var-decl name='event_list_lock' type-id='type-id-247' visibility='default' filepath='include/linux/memcontrol.h' line='312' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='18176'>
-          <var-decl name='nodeinfo' type-id='type-id-198' visibility='default' filepath='include/linux/memcontrol.h' line='314' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='mem_cgroup_id' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/memcontrol.h' line='79' column='1' id='type-id-425'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='id' type-id='type-id-17' visibility='default' filepath='include/linux/memcontrol.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='ref' type-id='type-id-26' visibility='default' filepath='include/linux/memcontrol.h' line='81' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='page_counter' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/linux/page_counter.h' line='9' column='1' id='type-id-426'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='usage' type-id='type-id-115' visibility='default' filepath='include/linux/page_counter.h' line='10' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='min' type-id='type-id-16' visibility='default' filepath='include/linux/page_counter.h' line='11' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='low' type-id='type-id-16' visibility='default' filepath='include/linux/page_counter.h' line='12' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='max' type-id='type-id-16' visibility='default' filepath='include/linux/page_counter.h' line='13' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='parent' type-id='type-id-435' visibility='default' filepath='include/linux/page_counter.h' line='14' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='emin' type-id='type-id-16' visibility='default' filepath='include/linux/page_counter.h' line='17' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='min_usage' type-id='type-id-115' visibility='default' filepath='include/linux/page_counter.h' line='18' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='children_min_usage' type-id='type-id-115' visibility='default' filepath='include/linux/page_counter.h' line='19' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='elow' type-id='type-id-16' visibility='default' filepath='include/linux/page_counter.h' line='22' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='low_usage' type-id='type-id-115' visibility='default' filepath='include/linux/page_counter.h' line='23' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='children_low_usage' type-id='type-id-115' visibility='default' filepath='include/linux/page_counter.h' line='24' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='watermark' type-id='type-id-16' visibility='default' filepath='include/linux/page_counter.h' line='27' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='failcnt' type-id='type-id-16' visibility='default' filepath='include/linux/page_counter.h' line='28' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='vmpressure' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/linux/vmpressure.h' line='13' column='1' id='type-id-427'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='scanned' type-id='type-id-16' visibility='default' filepath='include/linux/vmpressure.h' line='14' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='reclaimed' type-id='type-id-16' visibility='default' filepath='include/linux/vmpressure.h' line='15' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='tree_scanned' type-id='type-id-16' visibility='default' filepath='include/linux/vmpressure.h' line='17' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='tree_reclaimed' type-id='type-id-16' visibility='default' filepath='include/linux/vmpressure.h' line='18' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='sr_lock' type-id='type-id-436' visibility='default' filepath='include/linux/vmpressure.h' line='20' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='events' type-id='type-id-20' visibility='default' filepath='include/linux/vmpressure.h' line='23' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='events_lock' type-id='type-id-245' visibility='default' filepath='include/linux/vmpressure.h' line='25' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='work' type-id='type-id-255' visibility='default' filepath='include/linux/vmpressure.h' line='27' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='mem_cgroup_thresholds' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/memcontrol.h' line='165' column='1' id='type-id-429'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='primary' type-id='type-id-437' visibility='default' filepath='include/linux/memcontrol.h' line='167' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='spare' type-id='type-id-437' visibility='default' filepath='include/linux/memcontrol.h' line='173' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='mem_cgroup_threshold_ary' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/memcontrol.h' line='156' column='1' id='type-id-438'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='current_threshold' type-id='type-id-17' visibility='default' filepath='include/linux/memcontrol.h' line='158' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='size' type-id='type-id-5' visibility='default' filepath='include/linux/memcontrol.h' line='160' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='entries' type-id='type-id-203' visibility='default' filepath='include/linux/memcontrol.h' line='162' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='mem_cgroup_threshold' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/memcontrol.h' line='150' column='1' id='type-id-202'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='eventfd' type-id='type-id-439' visibility='default' filepath='include/linux/memcontrol.h' line='151' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='threshold' type-id='type-id-16' visibility='default' filepath='include/linux/memcontrol.h' line='152' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='memcg_padding' is-struct='yes' visibility='default' filepath='include/linux/memcontrol.h' line='183' column='1' id='type-id-430'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='x' type-id='type-id-440' visibility='default' filepath='include/linux/memcontrol.h' line='184' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='mem_cgroup_stat_cpu' size-in-bits='6080' is-struct='yes' visibility='default' filepath='include/linux/memcontrol.h' line='97' column='1' id='type-id-441'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='count' type-id='type-id-194' visibility='default' filepath='include/linux/memcontrol.h' line='98' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='events' type-id='type-id-223' visibility='default' filepath='include/linux/memcontrol.h' line='99' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5824'>
-          <var-decl name='nr_page_events' type-id='type-id-16' visibility='default' filepath='include/linux/memcontrol.h' line='100' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5888'>
-          <var-decl name='targets' type-id='type-id-220' visibility='default' filepath='include/linux/memcontrol.h' line='101' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='memcg_kmem_state' filepath='include/linux/memcontrol.h' line='176' column='1' id='type-id-433'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='KMEM_NONE' value='0'/>
-        <enumerator name='KMEM_ALLOCATED' value='1'/>
-        <enumerator name='KMEM_ONLINE' value='2'/>
-      </enum-decl>
-      <class-decl name='wb_domain' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/linux/writeback.h' line='102' column='1' id='type-id-434'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='include/linux/writeback.h' line='103' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='completions' type-id='type-id-442' visibility='default' filepath='include/linux/writeback.h' line='122' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='period_timer' type-id='type-id-417' visibility='default' filepath='include/linux/writeback.h' line='123' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='period_time' type-id='type-id-16' visibility='default' filepath='include/linux/writeback.h' line='124' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='dirty_limit_tstamp' type-id='type-id-16' visibility='default' filepath='include/linux/writeback.h' line='136' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='dirty_limit' type-id='type-id-16' visibility='default' filepath='include/linux/writeback.h' line='137' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='fprop_global' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/flex_proportions.h' line='28' column='1' id='type-id-442'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='events' type-id='type-id-204' visibility='default' filepath='include/linux/flex_proportions.h' line='30' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='period' type-id='type-id-5' visibility='default' filepath='include/linux/flex_proportions.h' line='32' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='sequence' type-id='type-id-387' visibility='default' filepath='include/linux/flex_proportions.h' line='34' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='mem_cgroup_per_node' size-in-bits='6080' is-struct='yes' visibility='default' filepath='include/linux/memcontrol.h' line='126' column='1' id='type-id-443'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lruvec' type-id='type-id-444' visibility='default' filepath='include/linux/memcontrol.h' line='127' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='lruvec_stat_cpu' type-id='type-id-445' visibility='default' filepath='include/linux/memcontrol.h' line='129' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='lruvec_stat' type-id='type-id-118' visibility='default' filepath='include/linux/memcontrol.h' line='130' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3008'>
-          <var-decl name='lru_zone_size' type-id='type-id-221' visibility='default' filepath='include/linux/memcontrol.h' line='132' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3968'>
-          <var-decl name='iter' type-id='type-id-200' visibility='default' filepath='include/linux/memcontrol.h' line='134' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5632'>
-          <var-decl name='shrinker_map' type-id='type-id-446' visibility='default' filepath='include/linux/memcontrol.h' line='137' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5696'>
-          <var-decl name='tree_node' type-id='type-id-422' visibility='default' filepath='include/linux/memcontrol.h' line='139' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5888'>
-          <var-decl name='usage_in_excess' type-id='type-id-16' visibility='default' filepath='include/linux/memcontrol.h' line='140' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5952'>
-          <var-decl name='on_tree' type-id='type-id-33' visibility='default' filepath='include/linux/memcontrol.h' line='142' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5960'>
-          <var-decl name='congested' type-id='type-id-33' visibility='default' filepath='include/linux/memcontrol.h' line='143' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6016'>
-          <var-decl name='memcg' type-id='type-id-447' visibility='default' filepath='include/linux/memcontrol.h' line='146' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='lruvec' size-in-bits='1088' is-struct='yes' visibility='default' filepath='include/linux/mmzone.h' line='240' column='1' id='type-id-444'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lists' type-id='type-id-189' visibility='default' filepath='include/linux/mmzone.h' line='241' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='reclaim_stat' type-id='type-id-448' visibility='default' filepath='include/linux/mmzone.h' line='242' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='inactive_age' type-id='type-id-115' visibility='default' filepath='include/linux/mmzone.h' line='244' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='refaults' type-id='type-id-16' visibility='default' filepath='include/linux/mmzone.h' line='246' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='pgdat' type-id='type-id-449' visibility='default' filepath='include/linux/mmzone.h' line='248' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='zone_reclaim_stat' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/mmzone.h' line='227' column='1' id='type-id-448'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='recent_rotated' type-id='type-id-219' visibility='default' filepath='include/linux/mmzone.h' line='236' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='recent_scanned' type-id='type-id-219' visibility='default' filepath='include/linux/mmzone.h' line='237' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='pglist_data' size-in-bits='42496' is-struct='yes' visibility='default' filepath='include/linux/mmzone.h' line='628' column='1' id='type-id-450'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='node_zones' type-id='type-id-228' visibility='default' filepath='include/linux/mmzone.h' line='629' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='36864'>
-          <var-decl name='node_zonelists' type-id='type-id-230' visibility='default' filepath='include/linux/mmzone.h' line='630' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='37376'>
-          <var-decl name='nr_zones' type-id='type-id-17' visibility='default' filepath='include/linux/mmzone.h' line='631' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='37440'>
-          <var-decl name='node_start_pfn' type-id='type-id-16' visibility='default' filepath='include/linux/mmzone.h' line='655' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='37504'>
-          <var-decl name='node_present_pages' type-id='type-id-16' visibility='default' filepath='include/linux/mmzone.h' line='656' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='37568'>
-          <var-decl name='node_spanned_pages' type-id='type-id-16' visibility='default' filepath='include/linux/mmzone.h' line='657' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='37632'>
-          <var-decl name='node_id' type-id='type-id-17' visibility='default' filepath='include/linux/mmzone.h' line='659' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='37696'>
-          <var-decl name='kswapd_wait' type-id='type-id-225' visibility='default' filepath='include/linux/mmzone.h' line='660' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='37888'>
-          <var-decl name='pfmemalloc_wait' type-id='type-id-225' visibility='default' filepath='include/linux/mmzone.h' line='661' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='38080'>
-          <var-decl name='kswapd' type-id='type-id-431' visibility='default' filepath='include/linux/mmzone.h' line='662' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='38144'>
-          <var-decl name='kswapd_order' type-id='type-id-17' visibility='default' filepath='include/linux/mmzone.h' line='664' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='38176'>
-          <var-decl name='kswapd_classzone_idx' type-id='type-id-451' visibility='default' filepath='include/linux/mmzone.h' line='665' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='38208'>
-          <var-decl name='kswapd_failures' type-id='type-id-17' visibility='default' filepath='include/linux/mmzone.h' line='667' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='38240'>
-          <var-decl name='kcompactd_max_order' type-id='type-id-17' visibility='default' filepath='include/linux/mmzone.h' line='670' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='38272'>
-          <var-decl name='kcompactd_classzone_idx' type-id='type-id-451' visibility='default' filepath='include/linux/mmzone.h' line='671' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='38336'>
-          <var-decl name='kcompactd_wait' type-id='type-id-225' visibility='default' filepath='include/linux/mmzone.h' line='672' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='38528'>
-          <var-decl name='kcompactd' type-id='type-id-431' visibility='default' filepath='include/linux/mmzone.h' line='673' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='38592'>
-          <var-decl name='totalreserve_pages' type-id='type-id-16' visibility='default' filepath='include/linux/mmzone.h' line='679' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='38912'>
-          <var-decl name='_pad1_' type-id='type-id-452' visibility='default' filepath='include/linux/mmzone.h' line='690' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='38912'>
-          <var-decl name='lru_lock' type-id='type-id-247' visibility='default' filepath='include/linux/mmzone.h' line='691' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='38976'>
-          <var-decl name='lruvec' type-id='type-id-444' visibility='default' filepath='include/linux/mmzone.h' line='710' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='40064'>
-          <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='include/linux/mmzone.h' line='712' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='40448'>
-          <var-decl name='_pad2_' type-id='type-id-452' visibility='default' filepath='include/linux/mmzone.h' line='714' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='40448'>
-          <var-decl name='per_cpu_nodestats' type-id='type-id-453' visibility='default' filepath='include/linux/mmzone.h' line='717' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='40512'>
-          <var-decl name='vm_stat' type-id='type-id-118' visibility='default' filepath='include/linux/mmzone.h' line='718' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='zone' size-in-bits='12288' is-struct='yes' visibility='default' filepath='include/linux/mmzone.h' line='363' column='1' id='type-id-227'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='watermark' type-id='type-id-220' visibility='default' filepath='include/linux/mmzone.h' line='367' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='nr_reserved_highatomic' type-id='type-id-16' visibility='default' filepath='include/linux/mmzone.h' line='369' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='lowmem_reserve' type-id='type-id-195' visibility='default' filepath='include/linux/mmzone.h' line='380' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='zone_pgdat' type-id='type-id-449' visibility='default' filepath='include/linux/mmzone.h' line='385' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='pageset' type-id='type-id-454' visibility='default' filepath='include/linux/mmzone.h' line='386' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='zone_start_pfn' type-id='type-id-16' visibility='default' filepath='include/linux/mmzone.h' line='397' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='managed_pages' type-id='type-id-16' visibility='default' filepath='include/linux/mmzone.h' line='440' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='spanned_pages' type-id='type-id-16' visibility='default' filepath='include/linux/mmzone.h' line='441' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='present_pages' type-id='type-id-16' visibility='default' filepath='include/linux/mmzone.h' line='442' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/mmzone.h' line='444' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='nr_isolate_pageblock' type-id='type-id-16' visibility='default' filepath='include/linux/mmzone.h' line='452' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='initialized' type-id='type-id-17' visibility='default' filepath='include/linux/mmzone.h' line='460' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='_pad1_' type-id='type-id-452' visibility='default' filepath='include/linux/mmzone.h' line='463' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='free_area' type-id='type-id-182' visibility='default' filepath='include/linux/mmzone.h' line='466' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10176'>
-          <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='include/linux/mmzone.h' line='469' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10240'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='include/linux/mmzone.h' line='472' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10752'>
-          <var-decl name='_pad2_' type-id='type-id-452' visibility='default' filepath='include/linux/mmzone.h' line='475' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10752'>
-          <var-decl name='percpu_drift_mark' type-id='type-id-16' visibility='default' filepath='include/linux/mmzone.h' line='482' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10816'>
-          <var-decl name='compact_cached_free_pfn' type-id='type-id-16' visibility='default' filepath='include/linux/mmzone.h' line='486' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10880'>
-          <var-decl name='compact_cached_migrate_pfn' type-id='type-id-219' visibility='default' filepath='include/linux/mmzone.h' line='488' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='11008'>
-          <var-decl name='compact_considered' type-id='type-id-5' visibility='default' filepath='include/linux/mmzone.h' line='497' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='11040'>
-          <var-decl name='compact_defer_shift' type-id='type-id-5' visibility='default' filepath='include/linux/mmzone.h' line='498' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='11072'>
-          <var-decl name='compact_order_failed' type-id='type-id-17' visibility='default' filepath='include/linux/mmzone.h' line='499' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='11104'>
-          <var-decl name='compact_blockskip_flush' type-id='type-id-33' visibility='default' filepath='include/linux/mmzone.h' line='504' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='11112'>
-          <var-decl name='contiguous' type-id='type-id-33' visibility='default' filepath='include/linux/mmzone.h' line='507' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='11264'>
-          <var-decl name='_pad3_' type-id='type-id-452' visibility='default' filepath='include/linux/mmzone.h' line='509' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='11264'>
-          <var-decl name='vm_stat' type-id='type-id-116' visibility='default' filepath='include/linux/mmzone.h' line='511' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='12160'>
-          <var-decl name='vm_numa_stat' type-id='type-id-126' visibility='default' filepath='include/linux/mmzone.h' line='512' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='per_cpu_pageset' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/mmzone.h' line='287' column='1' id='type-id-455'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='pcp' type-id='type-id-456' visibility='default' filepath='include/linux/mmzone.h' line='288' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='stat_threshold' type-id='type-id-209' visibility='default' filepath='include/linux/mmzone.h' line='294' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='520'>
-          <var-decl name='vm_stat_diff' type-id='type-id-210' visibility='default' filepath='include/linux/mmzone.h' line='295' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='per_cpu_pages' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/mmzone.h' line='278' column='1' id='type-id-456'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='count' type-id='type-id-17' visibility='default' filepath='include/linux/mmzone.h' line='279' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='high' type-id='type-id-17' visibility='default' filepath='include/linux/mmzone.h' line='280' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='batch' type-id='type-id-17' visibility='default' filepath='include/linux/mmzone.h' line='281' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='lists' type-id='type-id-457' visibility='default' filepath='include/linux/mmzone.h' line='284' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='zone_padding' is-struct='yes' visibility='default' filepath='include/linux/mmzone.h' line='110' column='1' id='type-id-452'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='x' type-id='type-id-440' visibility='default' filepath='include/linux/mmzone.h' line='111' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='free_area' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/linux/mmzone.h' line='96' column='1' id='type-id-181'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='free_list' type-id='type-id-190' visibility='default' filepath='include/linux/mmzone.h' line='97' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='nr_free' type-id='type-id-16' visibility='default' filepath='include/linux/mmzone.h' line='98' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='zonelist' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/mmzone.h' line='610' column='1' id='type-id-229'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='_zonerefs' type-id='type-id-232' visibility='default' filepath='include/linux/mmzone.h' line='611' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='zoneref' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/mmzone.h' line='591' column='1' id='type-id-231'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='zone' type-id='type-id-458' visibility='default' filepath='include/linux/mmzone.h' line='592' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='zone_idx' type-id='type-id-17' visibility='default' filepath='include/linux/mmzone.h' line='593' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='zone_type' filepath='include/linux/mmzone.h' line='306' column='1' id='type-id-451'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='ZONE_DMA32' value='0'/>
-        <enumerator name='ZONE_NORMAL' value='1'/>
-        <enumerator name='ZONE_MOVABLE' value='2'/>
-        <enumerator name='__MAX_NR_ZONES' value='3'/>
-      </enum-decl>
-      <class-decl name='per_cpu_nodestat' size-in-bits='240' is-struct='yes' visibility='default' filepath='include/linux/mmzone.h' line='299' column='1' id='type-id-459'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='stat_threshold' type-id='type-id-209' visibility='default' filepath='include/linux/mmzone.h' line='300' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='vm_node_stat_diff' type-id='type-id-211' visibility='default' filepath='include/linux/mmzone.h' line='301' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='lruvec_stat' size-in-bits='1856' is-struct='yes' visibility='default' filepath='include/linux/memcontrol.h' line='110' column='1' id='type-id-460'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='count' type-id='type-id-193' visibility='default' filepath='include/linux/memcontrol.h' line='111' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='mem_cgroup_reclaim_iter' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/memcontrol.h' line='104' column='1' id='type-id-199'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='position' type-id='type-id-447' visibility='default' filepath='include/linux/memcontrol.h' line='105' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='generation' type-id='type-id-5' visibility='default' filepath='include/linux/memcontrol.h' line='107' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='memcg_shrinker_map' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/memcontrol.h' line='118' column='1' id='type-id-461'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/linux/memcontrol.h' line='119' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='map' type-id='type-id-280' visibility='default' filepath='include/linux/memcontrol.h' line='120' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='request_queue' size-in-bits='18048' is-struct='yes' visibility='default' filepath='include/linux/blkdev.h' line='434' column='1' id='type-id-462'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='queue_head' type-id='type-id-20' visibility='default' filepath='include/linux/blkdev.h' line='438' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='last_merge' type-id='type-id-463' visibility='default' filepath='include/linux/blkdev.h' line='439' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='elevator' type-id='type-id-464' visibility='default' filepath='include/linux/blkdev.h' line='440' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='nr_rqs' type-id='type-id-465' visibility='default' filepath='include/linux/blkdev.h' line='441' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='nr_rqs_elvpriv' type-id='type-id-17' visibility='default' filepath='include/linux/blkdev.h' line='442' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='stats' type-id='type-id-466' visibility='default' filepath='include/linux/blkdev.h' line='444' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='rq_qos' type-id='type-id-467' visibility='default' filepath='include/linux/blkdev.h' line='445' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='root_rl' type-id='type-id-468' visibility='default' filepath='include/linux/blkdev.h' line='453' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='request_fn' type-id='type-id-469' visibility='default' filepath='include/linux/blkdev.h' line='455' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='make_request_fn' type-id='type-id-470' visibility='default' filepath='include/linux/blkdev.h' line='456' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='poll_fn' type-id='type-id-471' visibility='default' filepath='include/linux/blkdev.h' line='457' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='prep_rq_fn' type-id='type-id-472' visibility='default' filepath='include/linux/blkdev.h' line='458' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='unprep_rq_fn' type-id='type-id-473' visibility='default' filepath='include/linux/blkdev.h' line='459' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='softirq_done_fn' type-id='type-id-474' visibility='default' filepath='include/linux/blkdev.h' line='460' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='rq_timed_out_fn' type-id='type-id-475' visibility='default' filepath='include/linux/blkdev.h' line='461' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='dma_drain_needed' type-id='type-id-476' visibility='default' filepath='include/linux/blkdev.h' line='462' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='lld_busy_fn' type-id='type-id-477' visibility='default' filepath='include/linux/blkdev.h' line='463' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='init_rq_fn' type-id='type-id-478' visibility='default' filepath='include/linux/blkdev.h' line='465' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='exit_rq_fn' type-id='type-id-479' visibility='default' filepath='include/linux/blkdev.h' line='467' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='initialize_rq_fn' type-id='type-id-480' visibility='default' filepath='include/linux/blkdev.h' line='469' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='mq_ops' type-id='type-id-481' visibility='default' filepath='include/linux/blkdev.h' line='471' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='mq_map' type-id='type-id-482' visibility='default' filepath='include/linux/blkdev.h' line='473' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='queue_ctx' type-id='type-id-483' visibility='default' filepath='include/linux/blkdev.h' line='476' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='nr_queues' type-id='type-id-5' visibility='default' filepath='include/linux/blkdev.h' line='477' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2272'>
-          <var-decl name='queue_depth' type-id='type-id-5' visibility='default' filepath='include/linux/blkdev.h' line='479' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2304'>
-          <var-decl name='queue_hw_ctx' type-id='type-id-484' visibility='default' filepath='include/linux/blkdev.h' line='482' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='nr_hw_queues' type-id='type-id-5' visibility='default' filepath='include/linux/blkdev.h' line='483' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2432'>
-          <var-decl name='end_sector' type-id='type-id-386' visibility='default' filepath='include/linux/blkdev.h' line='488' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2496'>
-          <var-decl name='boundary_rq' type-id='type-id-463' visibility='default' filepath='include/linux/blkdev.h' line='489' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2560'>
-          <var-decl name='delay_work' type-id='type-id-411' visibility='default' filepath='include/linux/blkdev.h' line='494' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3264'>
-          <var-decl name='backing_dev_info' type-id='type-id-407' visibility='default' filepath='include/linux/blkdev.h' line='496' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3328'>
-          <var-decl name='queuedata' type-id='type-id-15' visibility='default' filepath='include/linux/blkdev.h' line='502' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3392'>
-          <var-decl name='queue_flags' type-id='type-id-16' visibility='default' filepath='include/linux/blkdev.h' line='507' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3456'>
-          <var-decl name='pm_only' type-id='type-id-26' visibility='default' filepath='include/linux/blkdev.h' line='513' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3488'>
-          <var-decl name='id' type-id='type-id-17' visibility='default' filepath='include/linux/blkdev.h' line='519' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3520'>
-          <var-decl name='bounce_gfp' type-id='type-id-485' visibility='default' filepath='include/linux/blkdev.h' line='524' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3552'>
-          <var-decl name='__queue_lock' type-id='type-id-247' visibility='default' filepath='include/linux/blkdev.h' line='531' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3584'>
-          <var-decl name='queue_lock' type-id='type-id-486' visibility='default' filepath='include/linux/blkdev.h' line='532' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3648'>
-          <var-decl name='kobj' type-id='type-id-267' visibility='default' filepath='include/linux/blkdev.h' line='537' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4160'>
-          <var-decl name='mq_kobj' type-id='type-id-267' visibility='default' filepath='include/linux/blkdev.h' line='542' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4672'>
-          <var-decl name='dev' type-id='type-id-240' visibility='default' filepath='include/linux/blkdev.h' line='549' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4736'>
-          <var-decl name='rpm_status' type-id='type-id-17' visibility='default' filepath='include/linux/blkdev.h' line='550' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4768'>
-          <var-decl name='nr_pending' type-id='type-id-5' visibility='default' filepath='include/linux/blkdev.h' line='551' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4800'>
-          <var-decl name='nr_requests' type-id='type-id-16' visibility='default' filepath='include/linux/blkdev.h' line='557' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4864'>
-          <var-decl name='nr_congestion_on' type-id='type-id-5' visibility='default' filepath='include/linux/blkdev.h' line='558' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4896'>
-          <var-decl name='nr_congestion_off' type-id='type-id-5' visibility='default' filepath='include/linux/blkdev.h' line='559' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4928'>
-          <var-decl name='nr_batching' type-id='type-id-5' visibility='default' filepath='include/linux/blkdev.h' line='560' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4960'>
-          <var-decl name='dma_drain_size' type-id='type-id-5' visibility='default' filepath='include/linux/blkdev.h' line='562' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4992'>
-          <var-decl name='dma_drain_buffer' type-id='type-id-15' visibility='default' filepath='include/linux/blkdev.h' line='563' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5056'>
-          <var-decl name='dma_pad_mask' type-id='type-id-5' visibility='default' filepath='include/linux/blkdev.h' line='564' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5088'>
-          <var-decl name='dma_alignment' type-id='type-id-5' visibility='default' filepath='include/linux/blkdev.h' line='565' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5120'>
-          <var-decl name='queue_tags' type-id='type-id-487' visibility='default' filepath='include/linux/blkdev.h' line='567' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5184'>
-          <var-decl name='nr_sorted' type-id='type-id-5' visibility='default' filepath='include/linux/blkdev.h' line='569' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5216'>
-          <var-decl name='in_flight' type-id='type-id-488' visibility='default' filepath='include/linux/blkdev.h' line='570' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5280'>
-          <var-decl name='request_fn_active' type-id='type-id-5' visibility='default' filepath='include/linux/blkdev.h' line='577' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5312'>
-          <var-decl name='ksm' type-id='type-id-489' visibility='default' filepath='include/linux/blkdev.h' line='580' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5376'>
-          <var-decl name='rq_timeout' type-id='type-id-5' visibility='default' filepath='include/linux/blkdev.h' line='583' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5408'>
-          <var-decl name='poll_nsec' type-id='type-id-17' visibility='default' filepath='include/linux/blkdev.h' line='584' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5440'>
-          <var-decl name='poll_cb' type-id='type-id-490' visibility='default' filepath='include/linux/blkdev.h' line='586' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5504'>
-          <var-decl name='poll_stat' type-id='type-id-134' visibility='default' filepath='include/linux/blkdev.h' line='587' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10624'>
-          <var-decl name='timeout' type-id='type-id-417' visibility='default' filepath='include/linux/blkdev.h' line='589' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10944'>
-          <var-decl name='timeout_work' type-id='type-id-255' visibility='default' filepath='include/linux/blkdev.h' line='590' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='11200'>
-          <var-decl name='timeout_list' type-id='type-id-20' visibility='default' filepath='include/linux/blkdev.h' line='591' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='11328'>
-          <var-decl name='icq_list' type-id='type-id-20' visibility='default' filepath='include/linux/blkdev.h' line='593' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='11456'>
-          <var-decl name='blkcg_pols' type-id='type-id-491' visibility='default' filepath='include/linux/blkdev.h' line='595' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='11520'>
-          <var-decl name='root_blkg' type-id='type-id-366' visibility='default' filepath='include/linux/blkdev.h' line='596' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='11584'>
-          <var-decl name='blkg_list' type-id='type-id-20' visibility='default' filepath='include/linux/blkdev.h' line='597' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='11712'>
-          <var-decl name='limits' type-id='type-id-492' visibility='default' filepath='include/linux/blkdev.h' line='600' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='12544'>
-          <var-decl name='sg_timeout' type-id='type-id-5' visibility='default' filepath='include/linux/blkdev.h' line='628' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='12576'>
-          <var-decl name='sg_reserved_size' type-id='type-id-5' visibility='default' filepath='include/linux/blkdev.h' line='629' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='12608'>
-          <var-decl name='node' type-id='type-id-17' visibility='default' filepath='include/linux/blkdev.h' line='630' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='12672'>
-          <var-decl name='fq' type-id='type-id-493' visibility='default' filepath='include/linux/blkdev.h' line='638' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='12736'>
-          <var-decl name='requeue_list' type-id='type-id-20' visibility='default' filepath='include/linux/blkdev.h' line='640' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='12864'>
-          <var-decl name='requeue_lock' type-id='type-id-247' visibility='default' filepath='include/linux/blkdev.h' line='641' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='12928'>
-          <var-decl name='requeue_work' type-id='type-id-411' visibility='default' filepath='include/linux/blkdev.h' line='642' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='13632'>
-          <var-decl name='sysfs_lock' type-id='type-id-245' visibility='default' filepath='include/linux/blkdev.h' line='644' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='13888'>
-          <var-decl name='bypass_depth' type-id='type-id-17' visibility='default' filepath='include/linux/blkdev.h' line='646' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='13920'>
-          <var-decl name='mq_freeze_depth' type-id='type-id-26' visibility='default' filepath='include/linux/blkdev.h' line='647' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='13952'>
-          <var-decl name='bsg_job_fn' type-id='type-id-494' visibility='default' filepath='include/linux/blkdev.h' line='650' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='14016'>
-          <var-decl name='bsg_dev' type-id='type-id-495' visibility='default' filepath='include/linux/blkdev.h' line='651' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='14272'>
-          <var-decl name='callback_head' type-id='type-id-385' visibility='default' filepath='include/linux/blkdev.h' line='658' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='14400'>
-          <var-decl name='mq_freeze_wq' type-id='type-id-225' visibility='default' filepath='include/linux/blkdev.h' line='659' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='14592'>
-          <var-decl name='q_usage_counter' type-id='type-id-391' visibility='default' filepath='include/linux/blkdev.h' line='660' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='15040'>
-          <var-decl name='all_q_node' type-id='type-id-20' visibility='default' filepath='include/linux/blkdev.h' line='661' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='15168'>
-          <var-decl name='tag_set' type-id='type-id-496' visibility='default' filepath='include/linux/blkdev.h' line='663' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='15232'>
-          <var-decl name='tag_set_list' type-id='type-id-20' visibility='default' filepath='include/linux/blkdev.h' line='664' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='15360'>
-          <var-decl name='bio_split' type-id='type-id-497' visibility='default' filepath='include/linux/blkdev.h' line='665' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='17152'>
-          <var-decl name='debugfs_dir' type-id='type-id-23' visibility='default' filepath='include/linux/blkdev.h' line='668' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='17216'>
-          <var-decl name='sched_debugfs_dir' type-id='type-id-23' visibility='default' filepath='include/linux/blkdev.h' line='669' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='17280'>
-          <var-decl name='mq_sysfs_init_done' type-id='type-id-33' visibility='default' filepath='include/linux/blkdev.h' line='672' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='17344'>
-          <var-decl name='cmd_size' type-id='type-id-84' visibility='default' filepath='include/linux/blkdev.h' line='674' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='17408'>
-          <var-decl name='rq_alloc_data' type-id='type-id-15' visibility='default' filepath='include/linux/blkdev.h' line='675' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='17472'>
-          <var-decl name='release_work' type-id='type-id-255' visibility='default' filepath='include/linux/blkdev.h' line='677' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='17728'>
-          <var-decl name='write_hints' type-id='type-id-498' visibility='default' filepath='include/linux/blkdev.h' line='680' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='request' size-in-bits='2432' is-struct='yes' visibility='default' filepath='include/linux/blkdev.h' line='151' column='1' id='type-id-499'>
-
-          <member-type access='public'>
-            <union-decl name='__anonymous_union__' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/linux/blkdev.h' line='188' column='1' id='type-id-500'>
-              <data-member access='private'>
-                <var-decl name='rb_node' type-id='type-id-422' visibility='default' filepath='include/linux/blkdev.h' line='189' column='1'/>
-              </data-member>
-              <data-member access='private'>
-                <var-decl name='special_vec' type-id='type-id-131' visibility='default' filepath='include/linux/blkdev.h' line='190' column='1'/>
-              </data-member>
-              <data-member access='private'>
-                <var-decl name='completion_data' type-id='type-id-15' visibility='default' filepath='include/linux/blkdev.h' line='191' column='1'/>
-              </data-member>
-              <data-member access='private'>
-                <var-decl name='error_count' type-id='type-id-17' visibility='default' filepath='include/linux/blkdev.h' line='192' column='1'/>
-              </data-member>
-            </union-decl>
-          </member-type>
-
-          <member-type access='public'>
-            <union-decl name='__anonymous_union__1' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/linux/blkdev.h' line='201' column='1' id='type-id-501'>
-              <data-member access='private'>
-                <var-decl name='elv' type-id='type-id-502' visibility='default' filepath='include/linux/blkdev.h' line='205' column='1'/>
-              </data-member>
-              <data-member access='private'>
-                <var-decl name='flush' type-id='type-id-503' visibility='default' filepath='include/linux/blkdev.h' line='211' column='1'/>
-              </data-member>
-            </union-decl>
-          </member-type>
-        <member-type access='public'>
-          <union-decl name='__anonymous_union__2' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/linux/blkdev.h' line='255' column='1' id='type-id-504'>
-            <data-member access='private'>
-              <var-decl name='csd' type-id='type-id-505' visibility='default' filepath='include/linux/blkdev.h' line='256' column='1'/>
-            </data-member>
-            <data-member access='private'>
-              <var-decl name='fifo_time' type-id='type-id-40' visibility='default' filepath='include/linux/blkdev.h' line='257' column='1'/>
-            </data-member>
-          </union-decl>
-        </member-type>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='q' type-id='type-id-378' visibility='default' filepath='include/linux/blkdev.h' line='152' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='mq_ctx' type-id='type-id-483' visibility='default' filepath='include/linux/blkdev.h' line='153' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='cpu' type-id='type-id-17' visibility='default' filepath='include/linux/blkdev.h' line='155' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='cmd_flags' type-id='type-id-5' visibility='default' filepath='include/linux/blkdev.h' line='156' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='rq_flags' type-id='type-id-506' visibility='default' filepath='include/linux/blkdev.h' line='157' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='internal_tag' type-id='type-id-17' visibility='default' filepath='include/linux/blkdev.h' line='159' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='__data_len' type-id='type-id-5' visibility='default' filepath='include/linux/blkdev.h' line='162' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='tag' type-id='type-id-17' visibility='default' filepath='include/linux/blkdev.h' line='163' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='__sector' type-id='type-id-386' visibility='default' filepath='include/linux/blkdev.h' line='164' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='bio' type-id='type-id-358' visibility='default' filepath='include/linux/blkdev.h' line='166' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='biotail' type-id='type-id-358' visibility='default' filepath='include/linux/blkdev.h' line='167' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='queuelist' type-id='type-id-20' visibility='default' filepath='include/linux/blkdev.h' line='169' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='' type-id='type-id-507' visibility='default' filepath='include/linux/blkdev.h' line='178' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='rq_disk' type-id='type-id-360' visibility='default' filepath='include/linux/blkdev.h' line='214' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='part' type-id='type-id-184' visibility='default' filepath='include/linux/blkdev.h' line='215' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='start_time_ns' type-id='type-id-40' visibility='default' filepath='include/linux/blkdev.h' line='217' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='io_start_time_ns' type-id='type-id-40' visibility='default' filepath='include/linux/blkdev.h' line='219' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='nr_phys_segments' type-id='type-id-312' visibility='default' filepath='include/linux/blkdev.h' line='232' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1488'>
-          <var-decl name='write_hint' type-id='type-id-312' visibility='default' filepath='include/linux/blkdev.h' line='238' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1504'>
-          <var-decl name='ioprio' type-id='type-id-312' visibility='default' filepath='include/linux/blkdev.h' line='239' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='special' type-id='type-id-15' visibility='default' filepath='include/linux/blkdev.h' line='241' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='extra_len' type-id='type-id-5' visibility='default' filepath='include/linux/blkdev.h' line='243' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1632'>
-          <var-decl name='state' type-id='type-id-508' visibility='default' filepath='include/linux/blkdev.h' line='245' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='ref' type-id='type-id-421' visibility='default' filepath='include/linux/blkdev.h' line='246' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1696'>
-          <var-decl name='timeout' type-id='type-id-5' visibility='default' filepath='include/linux/blkdev.h' line='248' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='__deadline' type-id='type-id-16' visibility='default' filepath='include/linux/blkdev.h' line='251' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='timeout_list' type-id='type-id-20' visibility='default' filepath='include/linux/blkdev.h' line='253' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='end_io' type-id='type-id-509' visibility='default' filepath='include/linux/blkdev.h' line='263' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='end_io_data' type-id='type-id-15' visibility='default' filepath='include/linux/blkdev.h' line='264' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2304'>
-          <var-decl name='next_rq' type-id='type-id-463' visibility='default' filepath='include/linux/blkdev.h' line='267' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='rl' type-id='type-id-510' visibility='default' filepath='include/linux/blkdev.h' line='270' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='req_flags_t' type-id='type-id-511' filepath='include/linux/blkdev.h' line='83' column='1' id='type-id-506'/>
-      <class-decl name='bio_vec' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/bvec.h' line='30' column='1' id='type-id-131'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bv_page' type-id='type-id-512' visibility='default' filepath='include/linux/bvec.h' line='31' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='bv_len' type-id='type-id-5' visibility='default' filepath='include/linux/bvec.h' line='32' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='bv_offset' type-id='type-id-5' visibility='default' filepath='include/linux/bvec.h' line='33' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__11' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/blkdev.h' line='202' column='1' id='type-id-502'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='icq' type-id='type-id-513' visibility='default' filepath='include/linux/blkdev.h' line='203' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='priv' type-id='type-id-224' visibility='default' filepath='include/linux/blkdev.h' line='204' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__12' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/blkdev.h' line='207' column='1' id='type-id-503'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='seq' type-id='type-id-5' visibility='default' filepath='include/linux/blkdev.h' line='208' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/blkdev.h' line='209' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='saved_end_io' type-id='type-id-509' visibility='default' filepath='include/linux/blkdev.h' line='210' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='rq_end_io_fn' type-id='type-id-514' filepath='include/linux/blkdev.h' line='60' column='1' id='type-id-515'/>
-      <typedef-decl name='blk_status_t' type-id='type-id-214' filepath='include/linux/blk_types.h' line='30' column='1' id='type-id-361'/>
-      <enum-decl name='mq_rq_state' filepath='include/linux/blkdev.h' line='139' column='1' id='type-id-508'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='MQ_RQ_IDLE' value='0'/>
-        <enumerator name='MQ_RQ_IN_FLIGHT' value='1'/>
-        <enumerator name='MQ_RQ_COMPLETE' value='2'/>
-      </enum-decl>
-      <class-decl name='__call_single_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/smp.h' line='18' column='1' id='type-id-505'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='llist' type-id='type-id-281' visibility='default' filepath='include/linux/smp.h' line='19' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='func' type-id='type-id-516' visibility='default' filepath='include/linux/smp.h' line='20' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='info' type-id='type-id-15' visibility='default' filepath='include/linux/smp.h' line='21' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='include/linux/smp.h' line='22' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='smp_call_func_t' type-id='type-id-517' filepath='include/linux/smp.h' line='17' column='1' id='type-id-516'/>
-      <class-decl name='request_list' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/linux/blkdev.h' line='65' column='1' id='type-id-468'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='q' type-id='type-id-378' visibility='default' filepath='include/linux/blkdev.h' line='66' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='blkg' type-id='type-id-366' visibility='default' filepath='include/linux/blkdev.h' line='68' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='count' type-id='type-id-465' visibility='default' filepath='include/linux/blkdev.h' line='74' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='starved' type-id='type-id-465' visibility='default' filepath='include/linux/blkdev.h' line='75' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='rq_pool' type-id='type-id-518' visibility='default' filepath='include/linux/blkdev.h' line='76' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='wait' type-id='type-id-226' visibility='default' filepath='include/linux/blkdev.h' line='77' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='include/linux/blkdev.h' line='78' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='blkcg_gq' size-in-bits='5952' is-struct='yes' visibility='default' filepath='include/linux/blk-cgroup.h' line='109' column='1' id='type-id-519'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='q' type-id='type-id-378' visibility='default' filepath='include/linux/blk-cgroup.h' line='111' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='q_node' type-id='type-id-20' visibility='default' filepath='include/linux/blk-cgroup.h' line='112' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='blkcg_node' type-id='type-id-520' visibility='default' filepath='include/linux/blk-cgroup.h' line='113' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='blkcg' type-id='type-id-521' visibility='default' filepath='include/linux/blk-cgroup.h' line='114' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='wb_congested' type-id='type-id-408' visibility='default' filepath='include/linux/blk-cgroup.h' line='120' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='parent' type-id='type-id-366' visibility='default' filepath='include/linux/blk-cgroup.h' line='123' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='rl' type-id='type-id-468' visibility='default' filepath='include/linux/blk-cgroup.h' line='126' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='refcnt' type-id='type-id-26' visibility='default' filepath='include/linux/blk-cgroup.h' line='129' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1312'>
-          <var-decl name='online' type-id='type-id-33' visibility='default' filepath='include/linux/blk-cgroup.h' line='132' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='stat_bytes' type-id='type-id-522' visibility='default' filepath='include/linux/blk-cgroup.h' line='134' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3264'>
-          <var-decl name='stat_ios' type-id='type-id-522' visibility='default' filepath='include/linux/blk-cgroup.h' line='135' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5184'>
-          <var-decl name='pd' type-id='type-id-139' visibility='default' filepath='include/linux/blk-cgroup.h' line='137' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5504'>
-          <var-decl name='callback_head' type-id='type-id-385' visibility='default' filepath='include/linux/blk-cgroup.h' line='139' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5632'>
-          <var-decl name='use_delay' type-id='type-id-26' visibility='default' filepath='include/linux/blk-cgroup.h' line='141' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5696'>
-          <var-decl name='delay_nsec' type-id='type-id-113' visibility='default' filepath='include/linux/blk-cgroup.h' line='142' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5760'>
-          <var-decl name='delay_start' type-id='type-id-113' visibility='default' filepath='include/linux/blk-cgroup.h' line='143' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5824'>
-          <var-decl name='last_delay' type-id='type-id-40' visibility='default' filepath='include/linux/blk-cgroup.h' line='144' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5888'>
-          <var-decl name='last_use' type-id='type-id-17' visibility='default' filepath='include/linux/blk-cgroup.h' line='145' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='blkcg' size-in-bits='2880' is-struct='yes' visibility='default' filepath='include/linux/blk-cgroup.h' line='46' column='1' id='type-id-523'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='css' type-id='type-id-424' visibility='default' filepath='include/linux/blk-cgroup.h' line='47' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='include/linux/blk-cgroup.h' line='48' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='blkg_tree' type-id='type-id-415' visibility='default' filepath='include/linux/blk-cgroup.h' line='50' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='blkg_hint' type-id='type-id-366' visibility='default' filepath='include/linux/blk-cgroup.h' line='51' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='blkg_list' type-id='type-id-186' visibility='default' filepath='include/linux/blk-cgroup.h' line='52' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='cpd' type-id='type-id-137' visibility='default' filepath='include/linux/blk-cgroup.h' line='54' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2560'>
-          <var-decl name='all_blkcgs_node' type-id='type-id-20' visibility='default' filepath='include/linux/blk-cgroup.h' line='56' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2688'>
-          <var-decl name='cgwb_list' type-id='type-id-20' visibility='default' filepath='include/linux/blk-cgroup.h' line='58' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2816'>
-          <var-decl name='cgwb_refcnt' type-id='type-id-421' visibility='default' filepath='include/linux/blk-cgroup.h' line='59' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='blkcg_policy_data' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/blk-cgroup.h' line='102' column='1' id='type-id-524'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='blkcg' type-id='type-id-521' visibility='default' filepath='include/linux/blk-cgroup.h' line='104' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='plid' type-id='type-id-17' visibility='default' filepath='include/linux/blk-cgroup.h' line='105' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='blkg_rwstat' size-in-bits='1920' is-struct='yes' visibility='default' filepath='include/linux/blk-cgroup.h' line='73' column='1' id='type-id-522'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cpu_cnt' type-id='type-id-206' visibility='default' filepath='include/linux/blk-cgroup.h' line='74' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='aux_cnt' type-id='type-id-114' visibility='default' filepath='include/linux/blk-cgroup.h' line='75' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='blkg_policy_data' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/blk-cgroup.h' line='89' column='1' id='type-id-525'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='blkg' type-id='type-id-366' visibility='default' filepath='include/linux/blk-cgroup.h' line='91' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='plid' type-id='type-id-17' visibility='default' filepath='include/linux/blk-cgroup.h' line='92' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='mempool_t' type-id='type-id-526' filepath='include/linux/mempool.h' line='26' column='1' id='type-id-527'/>
-      <class-decl name='mempool_s' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/mempool.h' line='16' column='1' id='type-id-526'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='include/linux/mempool.h' line='17' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='min_nr' type-id='type-id-17' visibility='default' filepath='include/linux/mempool.h' line='18' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='curr_nr' type-id='type-id-17' visibility='default' filepath='include/linux/mempool.h' line='19' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='elements' type-id='type-id-528' visibility='default' filepath='include/linux/mempool.h' line='20' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='pool_data' type-id='type-id-15' visibility='default' filepath='include/linux/mempool.h' line='22' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='alloc' type-id='type-id-529' visibility='default' filepath='include/linux/mempool.h' line='23' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='free' type-id='type-id-530' visibility='default' filepath='include/linux/mempool.h' line='24' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='wait' type-id='type-id-225' visibility='default' filepath='include/linux/mempool.h' line='25' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='mempool_alloc_t' type-id='type-id-531' filepath='include/linux/mempool.h' line='13' column='1' id='type-id-532'/>
-      <typedef-decl name='mempool_free_t' type-id='type-id-533' filepath='include/linux/mempool.h' line='14' column='1' id='type-id-534'/>
-      <class-decl name='elevator_queue' size-in-bits='5056' is-struct='yes' visibility='default' filepath='include/linux/elevator.h' line='172' column='1' id='type-id-535'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='type' type-id='type-id-536' visibility='default' filepath='include/linux/elevator.h' line='174' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='elevator_data' type-id='type-id-15' visibility='default' filepath='include/linux/elevator.h' line='175' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='kobj' type-id='type-id-267' visibility='default' filepath='include/linux/elevator.h' line='176' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='sysfs_lock' type-id='type-id-245' visibility='default' filepath='include/linux/elevator.h' line='177' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='31'>
-          <var-decl name='registered' type-id='type-id-5' visibility='default' filepath='include/linux/elevator.h' line='178' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='30'>
-          <var-decl name='uses_mq' type-id='type-id-5' visibility='default' filepath='include/linux/elevator.h' line='179' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='hash' type-id='type-id-187' visibility='default' filepath='include/linux/elevator.h' line='180' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='elevator_type' size-in-bits='2496' is-struct='yes' visibility='default' filepath='include/linux/elevator.h' line='135' column='1' id='type-id-537'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='icq_cache' type-id='type-id-538' visibility='default' filepath='include/linux/elevator.h' line='138' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ops' type-id='type-id-539' visibility='default' filepath='include/linux/elevator.h' line='144' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='icq_size' type-id='type-id-84' visibility='default' filepath='include/linux/elevator.h' line='145' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='icq_align' type-id='type-id-84' visibility='default' filepath='include/linux/elevator.h' line='146' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='elevator_attrs' type-id='type-id-540' visibility='default' filepath='include/linux/elevator.h' line='147' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='elevator_name' type-id='type-id-43' visibility='default' filepath='include/linux/elevator.h' line='148' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='elevator_alias' type-id='type-id-4' visibility='default' filepath='include/linux/elevator.h' line='149' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='elevator_owner' type-id='type-id-260' visibility='default' filepath='include/linux/elevator.h' line='150' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='uses_mq' type-id='type-id-33' visibility='default' filepath='include/linux/elevator.h' line='151' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='queue_debugfs_attrs' type-id='type-id-541' visibility='default' filepath='include/linux/elevator.h' line='153' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='hctx_debugfs_attrs' type-id='type-id-541' visibility='default' filepath='include/linux/elevator.h' line='154' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='icq_cache_name' type-id='type-id-145' visibility='default' filepath='include/linux/elevator.h' line='158' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/elevator.h' line='159' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='elevator_ops' size-in-bits='1344' is-struct='yes' visibility='default' filepath='include/linux/elevator.h' line='62' column='1' id='type-id-542'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='elevator_merge_fn' type-id='type-id-543' visibility='default' filepath='include/linux/elevator.h' line='64' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='elevator_merged_fn' type-id='type-id-544' visibility='default' filepath='include/linux/elevator.h' line='65' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='elevator_merge_req_fn' type-id='type-id-545' visibility='default' filepath='include/linux/elevator.h' line='66' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='elevator_allow_bio_merge_fn' type-id='type-id-546' visibility='default' filepath='include/linux/elevator.h' line='67' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='elevator_allow_rq_merge_fn' type-id='type-id-547' visibility='default' filepath='include/linux/elevator.h' line='68' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='elevator_bio_merged_fn' type-id='type-id-548' visibility='default' filepath='include/linux/elevator.h' line='69' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='elevator_dispatch_fn' type-id='type-id-549' visibility='default' filepath='include/linux/elevator.h' line='71' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='elevator_add_req_fn' type-id='type-id-550' visibility='default' filepath='include/linux/elevator.h' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='elevator_activate_req_fn' type-id='type-id-551' visibility='default' filepath='include/linux/elevator.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='elevator_deactivate_req_fn' type-id='type-id-552' visibility='default' filepath='include/linux/elevator.h' line='74' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='elevator_completed_req_fn' type-id='type-id-553' visibility='default' filepath='include/linux/elevator.h' line='76' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='elevator_former_req_fn' type-id='type-id-554' visibility='default' filepath='include/linux/elevator.h' line='78' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='elevator_latter_req_fn' type-id='type-id-554' visibility='default' filepath='include/linux/elevator.h' line='79' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='elevator_init_icq_fn' type-id='type-id-555' visibility='default' filepath='include/linux/elevator.h' line='81' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='elevator_exit_icq_fn' type-id='type-id-556' visibility='default' filepath='include/linux/elevator.h' line='82' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='elevator_set_req_fn' type-id='type-id-557' visibility='default' filepath='include/linux/elevator.h' line='84' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='elevator_put_req_fn' type-id='type-id-558' visibility='default' filepath='include/linux/elevator.h' line='85' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='elevator_may_queue_fn' type-id='type-id-559' visibility='default' filepath='include/linux/elevator.h' line='87' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='elevator_init_fn' type-id='type-id-560' visibility='default' filepath='include/linux/elevator.h' line='89' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='elevator_exit_fn' type-id='type-id-561' visibility='default' filepath='include/linux/elevator.h' line='90' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='elevator_registered_fn' type-id='type-id-562' visibility='default' filepath='include/linux/elevator.h' line='91' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='elevator_merge_fn' type-id='type-id-563' filepath='include/linux/elevator.h' line='26' column='1' id='type-id-564'/>
-      <enum-decl name='elv_merge' filepath='include/linux/elevator.h' line='19' column='1' id='type-id-565'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='ELEVATOR_NO_MERGE' value='0'/>
-        <enumerator name='ELEVATOR_FRONT_MERGE' value='1'/>
-        <enumerator name='ELEVATOR_BACK_MERGE' value='2'/>
-        <enumerator name='ELEVATOR_DISCARD_MERGE' value='3'/>
-      </enum-decl>
-      <typedef-decl name='elevator_merged_fn' type-id='type-id-566' filepath='include/linux/elevator.h' line='31' column='1' id='type-id-567'/>
-      <typedef-decl name='elevator_merge_req_fn' type-id='type-id-568' filepath='include/linux/elevator.h' line='29' column='1' id='type-id-569'/>
-      <typedef-decl name='elevator_allow_bio_merge_fn' type-id='type-id-570' filepath='include/linux/elevator.h' line='33' column='1' id='type-id-571'/>
-      <typedef-decl name='elevator_allow_rq_merge_fn' type-id='type-id-572' filepath='include/linux/elevator.h' line='36' column='1' id='type-id-573'/>
-      <typedef-decl name='elevator_bio_merged_fn' type-id='type-id-574' filepath='include/linux/elevator.h' line='39' column='1' id='type-id-575'/>
-      <typedef-decl name='elevator_dispatch_fn' type-id='type-id-576' filepath='include/linux/elevator.h' line='42' column='1' id='type-id-577'/>
-      <typedef-decl name='elevator_add_req_fn' type-id='type-id-578' filepath='include/linux/elevator.h' line='44' column='1' id='type-id-579'/>
-      <typedef-decl name='elevator_activate_req_fn' type-id='type-id-578' filepath='include/linux/elevator.h' line='54' column='1' id='type-id-580'/>
-      <typedef-decl name='elevator_deactivate_req_fn' type-id='type-id-578' filepath='include/linux/elevator.h' line='55' column='1' id='type-id-581'/>
-      <typedef-decl name='elevator_completed_req_fn' type-id='type-id-578' filepath='include/linux/elevator.h' line='46' column='1' id='type-id-582'/>
-      <typedef-decl name='elevator_request_list_fn' type-id='type-id-583' filepath='include/linux/elevator.h' line='45' column='1' id='type-id-584'/>
-      <typedef-decl name='elevator_init_icq_fn' type-id='type-id-585' filepath='include/linux/elevator.h' line='49' column='1' id='type-id-586'/>
-      <typedef-decl name='elevator_exit_icq_fn' type-id='type-id-585' filepath='include/linux/elevator.h' line='50' column='1' id='type-id-587'/>
-      <typedef-decl name='elevator_set_req_fn' type-id='type-id-588' filepath='include/linux/elevator.h' line='51' column='1' id='type-id-589'/>
-      <typedef-decl name='elevator_put_req_fn' type-id='type-id-590' filepath='include/linux/elevator.h' line='53' column='1' id='type-id-591'/>
-      <typedef-decl name='elevator_may_queue_fn' type-id='type-id-592' filepath='include/linux/elevator.h' line='47' column='1' id='type-id-593'/>
-      <typedef-decl name='elevator_init_fn' type-id='type-id-594' filepath='include/linux/elevator.h' line='57' column='1' id='type-id-595'/>
-      <typedef-decl name='elevator_exit_fn' type-id='type-id-596' filepath='include/linux/elevator.h' line='59' column='1' id='type-id-597'/>
-      <typedef-decl name='elevator_registered_fn' type-id='type-id-598' filepath='include/linux/elevator.h' line='60' column='1' id='type-id-599'/>
-      <class-decl name='elevator_mq_ops' size-in-bits='1472' is-struct='yes' visibility='default' filepath='include/linux/elevator.h' line='97' column='1' id='type-id-600'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='init_sched' type-id='type-id-601' visibility='default' filepath='include/linux/elevator.h' line='98' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='exit_sched' type-id='type-id-602' visibility='default' filepath='include/linux/elevator.h' line='99' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='init_hctx' type-id='type-id-603' visibility='default' filepath='include/linux/elevator.h' line='100' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='exit_hctx' type-id='type-id-604' visibility='default' filepath='include/linux/elevator.h' line='101' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='depth_updated' type-id='type-id-605' visibility='default' filepath='include/linux/elevator.h' line='102' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='allow_merge' type-id='type-id-606' visibility='default' filepath='include/linux/elevator.h' line='104' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='bio_merge' type-id='type-id-607' visibility='default' filepath='include/linux/elevator.h' line='105' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='request_merge' type-id='type-id-608' visibility='default' filepath='include/linux/elevator.h' line='106' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='request_merged' type-id='type-id-609' visibility='default' filepath='include/linux/elevator.h' line='107' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='requests_merged' type-id='type-id-610' visibility='default' filepath='include/linux/elevator.h' line='108' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='limit_depth' type-id='type-id-611' visibility='default' filepath='include/linux/elevator.h' line='109' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='prepare_request' type-id='type-id-612' visibility='default' filepath='include/linux/elevator.h' line='110' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='finish_request' type-id='type-id-480' visibility='default' filepath='include/linux/elevator.h' line='111' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='insert_requests' type-id='type-id-613' visibility='default' filepath='include/linux/elevator.h' line='112' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='dispatch_request' type-id='type-id-614' visibility='default' filepath='include/linux/elevator.h' line='113' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='has_work' type-id='type-id-615' visibility='default' filepath='include/linux/elevator.h' line='114' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='completed_request' type-id='type-id-480' visibility='default' filepath='include/linux/elevator.h' line='115' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='started_request' type-id='type-id-480' visibility='default' filepath='include/linux/elevator.h' line='116' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='requeue_request' type-id='type-id-480' visibility='default' filepath='include/linux/elevator.h' line='117' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='former_request' type-id='type-id-616' visibility='default' filepath='include/linux/elevator.h' line='118' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='next_request' type-id='type-id-616' visibility='default' filepath='include/linux/elevator.h' line='119' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='init_icq' type-id='type-id-617' visibility='default' filepath='include/linux/elevator.h' line='120' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='exit_icq' type-id='type-id-617' visibility='default' filepath='include/linux/elevator.h' line='121' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='elv_fs_entry' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/elevator.h' line='126' column='1' id='type-id-618'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='attr' type-id='type-id-619' visibility='default' filepath='include/linux/elevator.h' line='127' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='show' type-id='type-id-620' visibility='default' filepath='include/linux/elevator.h' line='128' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='store' type-id='type-id-621' visibility='default' filepath='include/linux/elevator.h' line='129' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='request_fn_proc' type-id='type-id-598' filepath='include/linux/blkdev.h' line='315' column='1' id='type-id-622'/>
-      <typedef-decl name='make_request_fn' type-id='type-id-623' filepath='include/linux/blkdev.h' line='316' column='1' id='type-id-624'/>
-      <typedef-decl name='blk_qc_t' type-id='type-id-5' filepath='include/linux/blk_types.h' line='424' column='1' id='type-id-625'/>
-      <typedef-decl name='poll_q_fn' type-id='type-id-626' filepath='include/linux/blkdev.h' line='317' column='1' id='type-id-627'/>
-      <typedef-decl name='prep_rq_fn' type-id='type-id-628' filepath='include/linux/blkdev.h' line='318' column='1' id='type-id-629'/>
-      <typedef-decl name='unprep_rq_fn' type-id='type-id-578' filepath='include/linux/blkdev.h' line='319' column='1' id='type-id-630'/>
-      <typedef-decl name='softirq_done_fn' type-id='type-id-590' filepath='include/linux/blkdev.h' line='322' column='1' id='type-id-631'/>
-      <typedef-decl name='rq_timed_out_fn' type-id='type-id-632' filepath='include/linux/blkdev.h' line='334' column='1' id='type-id-633'/>
-      <enum-decl name='blk_eh_timer_return' filepath='include/linux/blkdev.h' line='329' column='1' id='type-id-634'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='BLK_EH_DONE' value='0'/>
-        <enumerator name='BLK_EH_RESET_TIMER' value='1'/>
-      </enum-decl>
-      <typedef-decl name='dma_drain_needed_fn' type-id='type-id-635' filepath='include/linux/blkdev.h' line='323' column='1' id='type-id-636'/>
-      <typedef-decl name='lld_busy_fn' type-id='type-id-637' filepath='include/linux/blkdev.h' line='324' column='1' id='type-id-638'/>
-      <typedef-decl name='init_rq_fn' type-id='type-id-639' filepath='include/linux/blkdev.h' line='326' column='1' id='type-id-640'/>
-      <typedef-decl name='exit_rq_fn' type-id='type-id-578' filepath='include/linux/blkdev.h' line='327' column='1' id='type-id-641'/>
-      <class-decl name='blk_queue_tag' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/blkdev.h' line='341' column='1' id='type-id-642'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='tag_index' type-id='type-id-643' visibility='default' filepath='include/linux/blkdev.h' line='342' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='tag_map' type-id='type-id-45' visibility='default' filepath='include/linux/blkdev.h' line='343' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='max_depth' type-id='type-id-17' visibility='default' filepath='include/linux/blkdev.h' line='344' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='real_max_depth' type-id='type-id-17' visibility='default' filepath='include/linux/blkdev.h' line='345' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='refcnt' type-id='type-id-26' visibility='default' filepath='include/linux/blkdev.h' line='346' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='alloc_policy' type-id='type-id-17' visibility='default' filepath='include/linux/blkdev.h' line='347' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='next_tag' type-id='type-id-17' visibility='default' filepath='include/linux/blkdev.h' line='348' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='blk_rq_stat' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/blk_types.h' line='460' column='1' id='type-id-133'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mean' type-id='type-id-40' visibility='default' filepath='include/linux/blk_types.h' line='461' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='min' type-id='type-id-40' visibility='default' filepath='include/linux/blk_types.h' line='462' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='max' type-id='type-id-40' visibility='default' filepath='include/linux/blk_types.h' line='463' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='nr_samples' type-id='type-id-7' visibility='default' filepath='include/linux/blk_types.h' line='464' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='batch' type-id='type-id-40' visibility='default' filepath='include/linux/blk_types.h' line='465' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='queue_limits' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/linux/blkdev.h' line='365' column='1' id='type-id-492'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bounce_pfn' type-id='type-id-16' visibility='default' filepath='include/linux/blkdev.h' line='366' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='seg_boundary_mask' type-id='type-id-16' visibility='default' filepath='include/linux/blkdev.h' line='367' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='virt_boundary_mask' type-id='type-id-16' visibility='default' filepath='include/linux/blkdev.h' line='368' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='max_hw_sectors' type-id='type-id-5' visibility='default' filepath='include/linux/blkdev.h' line='370' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='max_dev_sectors' type-id='type-id-5' visibility='default' filepath='include/linux/blkdev.h' line='371' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='chunk_sectors' type-id='type-id-5' visibility='default' filepath='include/linux/blkdev.h' line='372' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='max_sectors' type-id='type-id-5' visibility='default' filepath='include/linux/blkdev.h' line='373' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='max_segment_size' type-id='type-id-5' visibility='default' filepath='include/linux/blkdev.h' line='374' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='physical_block_size' type-id='type-id-5' visibility='default' filepath='include/linux/blkdev.h' line='375' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='alignment_offset' type-id='type-id-5' visibility='default' filepath='include/linux/blkdev.h' line='376' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='io_min' type-id='type-id-5' visibility='default' filepath='include/linux/blkdev.h' line='377' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='io_opt' type-id='type-id-5' visibility='default' filepath='include/linux/blkdev.h' line='378' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='max_discard_sectors' type-id='type-id-5' visibility='default' filepath='include/linux/blkdev.h' line='379' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='max_hw_discard_sectors' type-id='type-id-5' visibility='default' filepath='include/linux/blkdev.h' line='380' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='max_write_same_sectors' type-id='type-id-5' visibility='default' filepath='include/linux/blkdev.h' line='381' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='max_write_zeroes_sectors' type-id='type-id-5' visibility='default' filepath='include/linux/blkdev.h' line='382' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='discard_granularity' type-id='type-id-5' visibility='default' filepath='include/linux/blkdev.h' line='383' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='discard_alignment' type-id='type-id-5' visibility='default' filepath='include/linux/blkdev.h' line='384' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='672'>
-          <var-decl name='logical_block_size' type-id='type-id-312' visibility='default' filepath='include/linux/blkdev.h' line='386' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='688'>
-          <var-decl name='max_segments' type-id='type-id-312' visibility='default' filepath='include/linux/blkdev.h' line='387' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='max_integrity_segments' type-id='type-id-312' visibility='default' filepath='include/linux/blkdev.h' line='388' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='720'>
-          <var-decl name='max_discard_segments' type-id='type-id-312' visibility='default' filepath='include/linux/blkdev.h' line='389' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='736'>
-          <var-decl name='misaligned' type-id='type-id-216' visibility='default' filepath='include/linux/blkdev.h' line='391' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='744'>
-          <var-decl name='discard_misaligned' type-id='type-id-216' visibility='default' filepath='include/linux/blkdev.h' line='392' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='752'>
-          <var-decl name='cluster' type-id='type-id-216' visibility='default' filepath='include/linux/blkdev.h' line='393' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='760'>
-          <var-decl name='raid_partial_stripes_expensive' type-id='type-id-216' visibility='default' filepath='include/linux/blkdev.h' line='394' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='zoned' type-id='type-id-644' visibility='default' filepath='include/linux/blkdev.h' line='395' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='blk_zoned_model' filepath='include/linux/blkdev.h' line='359' column='1' id='type-id-644'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='BLK_ZONED_NONE' value='0'/>
-        <enumerator name='BLK_ZONED_HA' value='1'/>
-        <enumerator name='BLK_ZONED_HM' value='2'/>
-      </enum-decl>
-      <typedef-decl name='bsg_job_fn' type-id='type-id-645' filepath='include/linux/blkdev.h' line='325' column='1' id='type-id-646'/>
-      <class-decl name='bsg_class_device' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/bsg.h' line='18' column='1' id='type-id-495'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='class_dev' type-id='type-id-240' visibility='default' filepath='include/linux/bsg.h' line='19' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='minor' type-id='type-id-17' visibility='default' filepath='include/linux/bsg.h' line='20' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='queue' type-id='type-id-378' visibility='default' filepath='include/linux/bsg.h' line='21' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='ops' type-id='type-id-647' visibility='default' filepath='include/linux/bsg.h' line='22' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='bsg_ops' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/bsg.h' line='10' column='1' id='type-id-648'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='check_proto' type-id='type-id-649' visibility='default' filepath='include/linux/bsg.h' line='11' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='fill_hdr' type-id='type-id-650' visibility='default' filepath='include/linux/bsg.h' line='12' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='complete_rq' type-id='type-id-651' visibility='default' filepath='include/linux/bsg.h' line='14' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='free_rq' type-id='type-id-480' visibility='default' filepath='include/linux/bsg.h' line='15' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='sg_io_v4' size-in-bits='1280' is-struct='yes' visibility='default' filepath='include/uapi/linux/bsg.h' line='22' column='1' id='type-id-652'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='guard' type-id='type-id-653' visibility='default' filepath='include/uapi/linux/bsg.h' line='23' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='protocol' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bsg.h' line='24' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='subprotocol' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bsg.h' line='25' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='request_len' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bsg.h' line='28' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='request' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/bsg.h' line='29' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='request_tag' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/bsg.h' line='30' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='request_attr' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bsg.h' line='31' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='request_priority' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bsg.h' line='32' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='request_extra' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bsg.h' line='33' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='max_response_len' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bsg.h' line='34' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='response' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/bsg.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='dout_iovec_count' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bsg.h' line='38' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='dout_xfer_len' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bsg.h' line='40' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='din_iovec_count' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bsg.h' line='41' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='din_xfer_len' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bsg.h' line='42' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='dout_xferp' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/bsg.h' line='43' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='din_xferp' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/bsg.h' line='44' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='timeout' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bsg.h' line='46' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='736'>
-          <var-decl name='flags' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bsg.h' line='47' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='usr_ptr' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/bsg.h' line='48' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='spare_in' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bsg.h' line='49' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='864'>
-          <var-decl name='driver_status' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bsg.h' line='51' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='transport_status' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bsg.h' line='52' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='928'>
-          <var-decl name='device_status' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bsg.h' line='53' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='retry_delay' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bsg.h' line='54' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='992'>
-          <var-decl name='info' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bsg.h' line='55' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='duration' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bsg.h' line='56' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1056'>
-          <var-decl name='response_len' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bsg.h' line='57' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='din_resid' type-id='type-id-653' visibility='default' filepath='include/uapi/linux/bsg.h' line='58' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1120'>
-          <var-decl name='dout_resid' type-id='type-id-653' visibility='default' filepath='include/uapi/linux/bsg.h' line='59' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='generated_tag' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/bsg.h' line='60' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='spare_out' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bsg.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1248'>
-          <var-decl name='padding' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bsg.h' line='63' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='bio_set' size-in-bits='1792' is-struct='yes' visibility='default' filepath='include/linux/bio.h' line='746' column='1' id='type-id-497'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bio_slab' type-id='type-id-538' visibility='default' filepath='include/linux/bio.h' line='747' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='front_pad' type-id='type-id-5' visibility='default' filepath='include/linux/bio.h' line='748' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='bio_pool' type-id='type-id-527' visibility='default' filepath='include/linux/bio.h' line='750' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='bvec_pool' type-id='type-id-527' visibility='default' filepath='include/linux/bio.h' line='751' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='rescue_lock' type-id='type-id-247' visibility='default' filepath='include/linux/bio.h' line='761' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='rescue_list' type-id='type-id-357' visibility='default' filepath='include/linux/bio.h' line='762' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='rescue_work' type-id='type-id-255' visibility='default' filepath='include/linux/bio.h' line='763' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='rescue_workqueue' type-id='type-id-654' visibility='default' filepath='include/linux/bio.h' line='764' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='lockdep_map' is-struct='yes' visibility='default' filepath='include/linux/lockdep.h' line='438' column='1' id='type-id-383'/>
-      <class-decl name='bvec_iter' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/bvec.h' line='36' column='1' id='type-id-362'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bi_sector' type-id='type-id-386' visibility='default' filepath='include/linux/bvec.h' line='37' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='bi_size' type-id='type-id-5' visibility='default' filepath='include/linux/bvec.h' line='39' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='bi_idx' type-id='type-id-5' visibility='default' filepath='include/linux/bvec.h' line='41' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='bi_done' type-id='type-id-5' visibility='default' filepath='include/linux/bvec.h' line='43' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='bi_bvec_done' type-id='type-id-5' visibility='default' filepath='include/linux/bvec.h' line='45' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='bio_end_io_t' type-id='type-id-655' filepath='include/linux/blk_types.h' line='20' column='1' id='type-id-656'/>
-      <class-decl name='bio_issue' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/blk_types.h' line='113' column='1' id='type-id-367'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='value' type-id='type-id-40' visibility='default' filepath='include/linux/blk_types.h' line='114' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='bio_crypt_ctx' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/bio-crypt-ctx.h' line='17' column='1' id='type-id-657'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='keyslot' type-id='type-id-17' visibility='default' filepath='include/linux/bio-crypt-ctx.h' line='18' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='raw_key' type-id='type-id-658' visibility='default' filepath='include/linux/bio-crypt-ctx.h' line='19' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='crypto_mode' type-id='type-id-659' visibility='default' filepath='include/linux/bio-crypt-ctx.h' line='20' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='data_unit_num' type-id='type-id-40' visibility='default' filepath='include/linux/bio-crypt-ctx.h' line='21' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='data_unit_size_bits' type-id='type-id-5' visibility='default' filepath='include/linux/bio-crypt-ctx.h' line='22' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='processing_ksm' type-id='type-id-489' visibility='default' filepath='include/linux/bio-crypt-ctx.h' line='28' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='crypt_iter' type-id='type-id-362' visibility='default' filepath='include/linux/bio-crypt-ctx.h' line='36' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='sw_data_unit_num' type-id='type-id-40' visibility='default' filepath='include/linux/bio-crypt-ctx.h' line='37' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='blk_crypto_mode_num' filepath='include/linux/bio-crypt-ctx.h' line='8' column='1' id='type-id-659'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='BLK_ENCRYPTION_MODE_INVALID' value='0'/>
-        <enumerator name='BLK_ENCRYPTION_MODE_AES_256_XTS' value='1'/>
-      </enum-decl>
-      <class-decl name='perf_event_context' size-in-bits='2048' is-struct='yes' visibility='default' filepath='include/linux/perf_event.h' line='726' column='1' id='type-id-660'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='pmu' type-id='type-id-661' visibility='default' filepath='include/linux/perf_event.h' line='727' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='lock' type-id='type-id-36' visibility='default' filepath='include/linux/perf_event.h' line='732' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='mutex' type-id='type-id-245' visibility='default' filepath='include/linux/perf_event.h' line='738' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='active_ctx_list' type-id='type-id-20' visibility='default' filepath='include/linux/perf_event.h' line='740' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='pinned_groups' type-id='type-id-662' visibility='default' filepath='include/linux/perf_event.h' line='741' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='flexible_groups' type-id='type-id-662' visibility='default' filepath='include/linux/perf_event.h' line='742' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='event_list' type-id='type-id-20' visibility='default' filepath='include/linux/perf_event.h' line='743' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='pinned_active' type-id='type-id-20' visibility='default' filepath='include/linux/perf_event.h' line='745' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='flexible_active' type-id='type-id-20' visibility='default' filepath='include/linux/perf_event.h' line='746' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='nr_events' type-id='type-id-17' visibility='default' filepath='include/linux/perf_event.h' line='748' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1184'>
-          <var-decl name='nr_active' type-id='type-id-17' visibility='default' filepath='include/linux/perf_event.h' line='749' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='is_active' type-id='type-id-17' visibility='default' filepath='include/linux/perf_event.h' line='750' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1248'>
-          <var-decl name='nr_stat' type-id='type-id-17' visibility='default' filepath='include/linux/perf_event.h' line='751' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='nr_freq' type-id='type-id-17' visibility='default' filepath='include/linux/perf_event.h' line='752' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1312'>
-          <var-decl name='rotate_disable' type-id='type-id-17' visibility='default' filepath='include/linux/perf_event.h' line='753' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='refcount' type-id='type-id-26' visibility='default' filepath='include/linux/perf_event.h' line='754' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='task' type-id='type-id-431' visibility='default' filepath='include/linux/perf_event.h' line='755' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='time' type-id='type-id-40' visibility='default' filepath='include/linux/perf_event.h' line='760' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='timestamp' type-id='type-id-40' visibility='default' filepath='include/linux/perf_event.h' line='761' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='parent_ctx' type-id='type-id-663' visibility='default' filepath='include/linux/perf_event.h' line='767' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='parent_gen' type-id='type-id-40' visibility='default' filepath='include/linux/perf_event.h' line='768' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='generation' type-id='type-id-40' visibility='default' filepath='include/linux/perf_event.h' line='769' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='pin_count' type-id='type-id-17' visibility='default' filepath='include/linux/perf_event.h' line='770' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='task_ctx_data' type-id='type-id-15' visibility='default' filepath='include/linux/perf_event.h' line='774' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='callback_head' type-id='type-id-385' visibility='default' filepath='include/linux/perf_event.h' line='775' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='pmu' size-in-bits='2112' is-struct='yes' visibility='default' filepath='include/linux/perf_event.h' line='252' column='1' id='type-id-664'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='entry' type-id='type-id-20' visibility='default' filepath='include/linux/perf_event.h' line='253' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='module' type-id='type-id-260' visibility='default' filepath='include/linux/perf_event.h' line='255' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='dev' type-id='type-id-240' visibility='default' filepath='include/linux/perf_event.h' line='256' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='attr_groups' type-id='type-id-665' visibility='default' filepath='include/linux/perf_event.h' line='257' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/perf_event.h' line='258' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='type' type-id='type-id-17' visibility='default' filepath='include/linux/perf_event.h' line='259' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='capabilities' type-id='type-id-17' visibility='default' filepath='include/linux/perf_event.h' line='264' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='pmu_disable_count' type-id='type-id-666' visibility='default' filepath='include/linux/perf_event.h' line='266' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='pmu_cpu_context' type-id='type-id-667' visibility='default' filepath='include/linux/perf_event.h' line='267' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='exclusive_cnt' type-id='type-id-26' visibility='default' filepath='include/linux/perf_event.h' line='268' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='task_ctx_nr' type-id='type-id-17' visibility='default' filepath='include/linux/perf_event.h' line='269' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='hrtimer_interval_ms' type-id='type-id-17' visibility='default' filepath='include/linux/perf_event.h' line='270' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='672'>
-          <var-decl name='nr_addr_filters' type-id='type-id-5' visibility='default' filepath='include/linux/perf_event.h' line='273' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='pmu_enable' type-id='type-id-668' visibility='default' filepath='include/linux/perf_event.h' line='279' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='pmu_disable' type-id='type-id-668' visibility='default' filepath='include/linux/perf_event.h' line='280' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='event_init' type-id='type-id-669' visibility='default' filepath='include/linux/perf_event.h' line='298' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='event_mapped' type-id='type-id-670' visibility='default' filepath='include/linux/perf_event.h' line='304' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='event_unmapped' type-id='type-id-670' visibility='default' filepath='include/linux/perf_event.h' line='305' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='add' type-id='type-id-671' visibility='default' filepath='include/linux/perf_event.h' line='333' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='del' type-id='type-id-672' visibility='default' filepath='include/linux/perf_event.h' line='334' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='start' type-id='type-id-672' visibility='default' filepath='include/linux/perf_event.h' line='354' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='stop' type-id='type-id-672' visibility='default' filepath='include/linux/perf_event.h' line='355' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='read' type-id='type-id-673' visibility='default' filepath='include/linux/perf_event.h' line='363' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='start_txn' type-id='type-id-674' visibility='default' filepath='include/linux/perf_event.h' line='375' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='commit_txn' type-id='type-id-675' visibility='default' filepath='include/linux/perf_event.h' line='384' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='cancel_txn' type-id='type-id-668' visibility='default' filepath='include/linux/perf_event.h' line='391' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='event_idx' type-id='type-id-669' visibility='default' filepath='include/linux/perf_event.h' line='397' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='sched_task' type-id='type-id-676' visibility='default' filepath='include/linux/perf_event.h' line='402' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='task_ctx_size' type-id='type-id-84' visibility='default' filepath='include/linux/perf_event.h' line='407' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='setup_aux' type-id='type-id-677' visibility='default' filepath='include/linux/perf_event.h' line='413' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='free_aux' type-id='type-id-517' visibility='default' filepath='include/linux/perf_event.h' line='420' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='addr_filters_validate' type-id='type-id-678' visibility='default' filepath='include/linux/perf_event.h' line='430' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='addr_filters_sync' type-id='type-id-673' visibility='default' filepath='include/linux/perf_event.h' line='444' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='filter_match' type-id='type-id-669' visibility='default' filepath='include/linux/perf_event.h' line='450' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='check_period' type-id='type-id-679' visibility='default' filepath='include/linux/perf_event.h' line='455' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='perf_cpu_context' size-in-bits='3072' is-struct='yes' visibility='default' filepath='include/linux/perf_event.h' line='787' column='1' id='type-id-680'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ctx' type-id='type-id-660' visibility='default' filepath='include/linux/perf_event.h' line='788' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='task_ctx' type-id='type-id-663' visibility='default' filepath='include/linux/perf_event.h' line='789' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='active_oncpu' type-id='type-id-17' visibility='default' filepath='include/linux/perf_event.h' line='790' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2144'>
-          <var-decl name='exclusive' type-id='type-id-17' visibility='default' filepath='include/linux/perf_event.h' line='791' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='hrtimer_lock' type-id='type-id-36' visibility='default' filepath='include/linux/perf_event.h' line='793' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='hrtimer' type-id='type-id-681' visibility='default' filepath='include/linux/perf_event.h' line='794' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2752'>
-          <var-decl name='hrtimer_interval' type-id='type-id-682' visibility='default' filepath='include/linux/perf_event.h' line='795' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2816'>
-          <var-decl name='hrtimer_active' type-id='type-id-5' visibility='default' filepath='include/linux/perf_event.h' line='796' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2880'>
-          <var-decl name='sched_cb_entry' type-id='type-id-20' visibility='default' filepath='include/linux/perf_event.h' line='803' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3008'>
-          <var-decl name='sched_cb_usage' type-id='type-id-17' visibility='default' filepath='include/linux/perf_event.h' line='804' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3040'>
-          <var-decl name='online' type-id='type-id-17' visibility='default' filepath='include/linux/perf_event.h' line='806' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='perf_event' size-in-bits='7808' is-struct='yes' visibility='default' filepath='include/linux/perf_event.h' line='561' column='1' id='type-id-683'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='event_entry' type-id='type-id-20' visibility='default' filepath='include/linux/perf_event.h' line='568' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='sibling_list' type-id='type-id-20' visibility='default' filepath='include/linux/perf_event.h' line='574' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='active_list' type-id='type-id-20' visibility='default' filepath='include/linux/perf_event.h' line='575' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='group_node' type-id='type-id-422' visibility='default' filepath='include/linux/perf_event.h' line='579' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='group_index' type-id='type-id-40' visibility='default' filepath='include/linux/perf_event.h' line='580' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='migrate_entry' type-id='type-id-20' visibility='default' filepath='include/linux/perf_event.h' line='586' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='hlist_entry' type-id='type-id-520' visibility='default' filepath='include/linux/perf_event.h' line='588' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='active_entry' type-id='type-id-20' visibility='default' filepath='include/linux/perf_event.h' line='589' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='nr_siblings' type-id='type-id-17' visibility='default' filepath='include/linux/perf_event.h' line='590' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1056'>
-          <var-decl name='event_caps' type-id='type-id-17' visibility='default' filepath='include/linux/perf_event.h' line='593' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='group_caps' type-id='type-id-17' visibility='default' filepath='include/linux/perf_event.h' line='595' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='group_leader' type-id='type-id-684' visibility='default' filepath='include/linux/perf_event.h' line='597' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='pmu' type-id='type-id-661' visibility='default' filepath='include/linux/perf_event.h' line='598' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='pmu_private' type-id='type-id-15' visibility='default' filepath='include/linux/perf_event.h' line='599' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='state' type-id='type-id-685' visibility='default' filepath='include/linux/perf_event.h' line='601' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1376'>
-          <var-decl name='attach_state' type-id='type-id-5' visibility='default' filepath='include/linux/perf_event.h' line='602' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='count' type-id='type-id-686' visibility='default' filepath='include/linux/perf_event.h' line='603' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='child_count' type-id='type-id-113' visibility='default' filepath='include/linux/perf_event.h' line='604' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='total_time_enabled' type-id='type-id-40' visibility='default' filepath='include/linux/perf_event.h' line='612' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='total_time_running' type-id='type-id-40' visibility='default' filepath='include/linux/perf_event.h' line='613' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='tstamp' type-id='type-id-40' visibility='default' filepath='include/linux/perf_event.h' line='614' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='shadow_ctx_time' type-id='type-id-40' visibility='default' filepath='include/linux/perf_event.h' line='624' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='attr' type-id='type-id-687' visibility='default' filepath='include/linux/perf_event.h' line='626' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2688'>
-          <var-decl name='header_size' type-id='type-id-688' visibility='default' filepath='include/linux/perf_event.h' line='627' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2704'>
-          <var-decl name='id_header_size' type-id='type-id-688' visibility='default' filepath='include/linux/perf_event.h' line='628' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2720'>
-          <var-decl name='read_size' type-id='type-id-688' visibility='default' filepath='include/linux/perf_event.h' line='629' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2752'>
-          <var-decl name='hw' type-id='type-id-689' visibility='default' filepath='include/linux/perf_event.h' line='630' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4288'>
-          <var-decl name='ctx' type-id='type-id-663' visibility='default' filepath='include/linux/perf_event.h' line='632' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4352'>
-          <var-decl name='refcount' type-id='type-id-115' visibility='default' filepath='include/linux/perf_event.h' line='633' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4416'>
-          <var-decl name='child_total_time_enabled' type-id='type-id-113' visibility='default' filepath='include/linux/perf_event.h' line='639' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4480'>
-          <var-decl name='child_total_time_running' type-id='type-id-113' visibility='default' filepath='include/linux/perf_event.h' line='640' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4544'>
-          <var-decl name='child_mutex' type-id='type-id-245' visibility='default' filepath='include/linux/perf_event.h' line='645' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4800'>
-          <var-decl name='child_list' type-id='type-id-20' visibility='default' filepath='include/linux/perf_event.h' line='646' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4928'>
-          <var-decl name='parent' type-id='type-id-684' visibility='default' filepath='include/linux/perf_event.h' line='647' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4992'>
-          <var-decl name='oncpu' type-id='type-id-17' visibility='default' filepath='include/linux/perf_event.h' line='649' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5024'>
-          <var-decl name='cpu' type-id='type-id-17' visibility='default' filepath='include/linux/perf_event.h' line='650' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5056'>
-          <var-decl name='owner_entry' type-id='type-id-20' visibility='default' filepath='include/linux/perf_event.h' line='652' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5184'>
-          <var-decl name='owner' type-id='type-id-431' visibility='default' filepath='include/linux/perf_event.h' line='653' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5248'>
-          <var-decl name='mmap_mutex' type-id='type-id-245' visibility='default' filepath='include/linux/perf_event.h' line='656' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5504'>
-          <var-decl name='mmap_count' type-id='type-id-26' visibility='default' filepath='include/linux/perf_event.h' line='657' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5568'>
-          <var-decl name='rb' type-id='type-id-12' visibility='default' filepath='include/linux/perf_event.h' line='659' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5632'>
-          <var-decl name='rb_entry' type-id='type-id-20' visibility='default' filepath='include/linux/perf_event.h' line='660' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5760'>
-          <var-decl name='rcu_batches' type-id='type-id-16' visibility='default' filepath='include/linux/perf_event.h' line='661' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5824'>
-          <var-decl name='rcu_pending' type-id='type-id-17' visibility='default' filepath='include/linux/perf_event.h' line='662' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5888'>
-          <var-decl name='waitq' type-id='type-id-225' visibility='default' filepath='include/linux/perf_event.h' line='665' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6080'>
-          <var-decl name='fasync' type-id='type-id-254' visibility='default' filepath='include/linux/perf_event.h' line='666' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6144'>
-          <var-decl name='pending_wakeup' type-id='type-id-17' visibility='default' filepath='include/linux/perf_event.h' line='669' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6176'>
-          <var-decl name='pending_kill' type-id='type-id-17' visibility='default' filepath='include/linux/perf_event.h' line='670' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6208'>
-          <var-decl name='pending_disable' type-id='type-id-17' visibility='default' filepath='include/linux/perf_event.h' line='671' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6272'>
-          <var-decl name='pending' type-id='type-id-690' visibility='default' filepath='include/linux/perf_event.h' line='672' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6464'>
-          <var-decl name='event_limit' type-id='type-id-26' visibility='default' filepath='include/linux/perf_event.h' line='674' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6528'>
-          <var-decl name='addr_filters' type-id='type-id-691' visibility='default' filepath='include/linux/perf_event.h' line='677' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6720'>
-          <var-decl name='addr_filter_ranges' type-id='type-id-692' visibility='default' filepath='include/linux/perf_event.h' line='679' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6784'>
-          <var-decl name='addr_filters_gen' type-id='type-id-16' visibility='default' filepath='include/linux/perf_event.h' line='680' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6848'>
-          <var-decl name='destroy' type-id='type-id-673' visibility='default' filepath='include/linux/perf_event.h' line='682' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6912'>
-          <var-decl name='callback_head' type-id='type-id-385' visibility='default' filepath='include/linux/perf_event.h' line='683' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7040'>
-          <var-decl name='ns' type-id='type-id-693' visibility='default' filepath='include/linux/perf_event.h' line='685' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7104'>
-          <var-decl name='id' type-id='type-id-40' visibility='default' filepath='include/linux/perf_event.h' line='686' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7168'>
-          <var-decl name='clock' type-id='type-id-694' visibility='default' filepath='include/linux/perf_event.h' line='688' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7232'>
-          <var-decl name='overflow_handler' type-id='type-id-695' visibility='default' filepath='include/linux/perf_event.h' line='689' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7296'>
-          <var-decl name='overflow_handler_context' type-id='type-id-15' visibility='default' filepath='include/linux/perf_event.h' line='690' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7360'>
-          <var-decl name='orig_overflow_handler' type-id='type-id-695' visibility='default' filepath='include/linux/perf_event.h' line='692' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7424'>
-          <var-decl name='prog' type-id='type-id-696' visibility='default' filepath='include/linux/perf_event.h' line='693' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7488'>
-          <var-decl name='tp_event' type-id='type-id-21' visibility='default' filepath='include/linux/perf_event.h' line='697' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7552'>
-          <var-decl name='filter' type-id='type-id-22' visibility='default' filepath='include/linux/perf_event.h' line='698' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7616'>
-          <var-decl name='security' type-id='type-id-15' visibility='default' filepath='include/linux/perf_event.h' line='709' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7680'>
-          <var-decl name='sb_list' type-id='type-id-20' visibility='default' filepath='include/linux/perf_event.h' line='711' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='perf_event_state' filepath='include/linux/perf_event.h' line='506' column='1' id='type-id-685'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='PERF_EVENT_STATE_DEAD' value='-4'/>
-        <enumerator name='PERF_EVENT_STATE_EXIT' value='-3'/>
-        <enumerator name='PERF_EVENT_STATE_ERROR' value='-2'/>
-        <enumerator name='PERF_EVENT_STATE_OFF' value='-1'/>
-        <enumerator name='PERF_EVENT_STATE_INACTIVE' value='0'/>
-        <enumerator name='PERF_EVENT_STATE_ACTIVE' value='1'/>
-      </enum-decl>
-      <typedef-decl name='local64_t' type-id='type-id-697' filepath='include/asm-generic/local64.h' line='26' column='1' id='type-id-686'/>
-      <class-decl name='__anonymous_struct__13' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-686' visibility='default' filepath='include/asm-generic/local64.h' line='24' column='1' id='type-id-697'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='a' type-id='type-id-698' visibility='default' filepath='include/asm-generic/local64.h' line='25' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='local_t' type-id='type-id-699' filepath='include/asm-generic/local.h' line='25' column='1' id='type-id-698'/>
-      <class-decl name='__anonymous_struct__14' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-698' visibility='default' filepath='include/asm-generic/local.h' line='22' column='1' id='type-id-699'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='a' type-id='type-id-115' visibility='default' filepath='include/asm-generic/local.h' line='24' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='perf_event_attr' size-in-bits='896' is-struct='yes' visibility='default' filepath='include/uapi/linux/perf_event.h' line='310' column='1' id='type-id-687'>
-
-          <member-type access='public'>
-            <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/perf_event.h' line='377' column='1' id='type-id-700'>
-              <data-member access='private'>
-                <var-decl name='wakeup_events' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/perf_event.h' line='378' column='1'/>
-              </data-member>
-              <data-member access='private'>
-                <var-decl name='wakeup_watermark' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/perf_event.h' line='379' column='1'/>
-              </data-member>
-            </union-decl>
-          </member-type>
-
-          <member-type access='public'>
-            <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/perf_event.h' line='383' column='1' id='type-id-701'>
-              <data-member access='private'>
-                <var-decl name='bp_addr' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='384' column='1'/>
-              </data-member>
-              <data-member access='private'>
-                <var-decl name='kprobe_func' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='385' column='1'/>
-              </data-member>
-              <data-member access='private'>
-                <var-decl name='uprobe_path' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='386' column='1'/>
-              </data-member>
-              <data-member access='private'>
-                <var-decl name='config1' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='387' column='1'/>
-              </data-member>
-            </union-decl>
-          </member-type>
-
-          <member-type access='public'>
-            <union-decl name='__anonymous_union__2' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/perf_event.h' line='389' column='1' id='type-id-702'>
-              <data-member access='private'>
-                <var-decl name='bp_len' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='390' column='1'/>
-              </data-member>
-              <data-member access='private'>
-                <var-decl name='kprobe_addr' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='391' column='1'/>
-              </data-member>
-              <data-member access='private'>
-                <var-decl name='probe_offset' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='392' column='1'/>
-              </data-member>
-              <data-member access='private'>
-                <var-decl name='config2' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='393' column='1'/>
-              </data-member>
-            </union-decl>
-          </member-type>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='type' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/perf_event.h' line='315' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='size' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/perf_event.h' line='320' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='config' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='325' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='' type-id='type-id-703' visibility='default' filepath='include/uapi/linux/perf_event.h' line='327' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='sample_type' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='332' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='read_format' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='333' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='63'>
-          <var-decl name='disabled' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='335' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='62'>
-          <var-decl name='inherit' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='336' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='61'>
-          <var-decl name='pinned' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='337' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='60'>
-          <var-decl name='exclusive' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='338' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='59'>
-          <var-decl name='exclude_user' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='339' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='58'>
-          <var-decl name='exclude_kernel' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='340' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='57'>
-          <var-decl name='exclude_hv' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='341' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='56'>
-          <var-decl name='exclude_idle' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='342' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='55'>
-          <var-decl name='mmap' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='343' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='54'>
-          <var-decl name='comm' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='344' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='53'>
-          <var-decl name='freq' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='345' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='52'>
-          <var-decl name='inherit_stat' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='346' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='51'>
-          <var-decl name='enable_on_exec' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='347' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='50'>
-          <var-decl name='task' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='348' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='49'>
-          <var-decl name='watermark' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='349' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='47'>
-          <var-decl name='precise_ip' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='360' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='46'>
-          <var-decl name='mmap_data' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='361' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='45'>
-          <var-decl name='sample_id_all' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='362' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='44'>
-          <var-decl name='exclude_host' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='364' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='43'>
-          <var-decl name='exclude_guest' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='365' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='42'>
-          <var-decl name='exclude_callchain_kernel' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='367' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='41'>
-          <var-decl name='exclude_callchain_user' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='368' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='40'>
-          <var-decl name='mmap2' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='369' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='39'>
-          <var-decl name='comm_exec' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='370' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='38'>
-          <var-decl name='use_clockid' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='371' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='37'>
-          <var-decl name='context_switch' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='372' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='36'>
-          <var-decl name='write_backward' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='373' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='35'>
-          <var-decl name='namespaces' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='374' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='__reserved_1' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='375' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='bp_type' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/perf_event.h' line='382' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='branch_sample_type' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='395' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='sample_regs_user' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='401' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='sample_stack_user' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/perf_event.h' line='406' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='736'>
-          <var-decl name='clockid' type-id='type-id-653' visibility='default' filepath='include/uapi/linux/perf_event.h' line='408' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='sample_regs_intr' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='417' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='aux_watermark' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/perf_event.h' line='422' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='864'>
-          <var-decl name='sample_max_stack' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/perf_event.h' line='423' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='880'>
-          <var-decl name='__reserved_2' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/perf_event.h' line='424' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__11' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/perf_event.h' line='327' column='1' id='type-id-703'>
-        <data-member access='private'>
-          <var-decl name='sample_period' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='328' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='sample_freq' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='329' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='hw_perf_event' size-in-bits='1536' is-struct='yes' visibility='default' filepath='include/linux/perf_event.h' line='121' column='1' id='type-id-689'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='' type-id='type-id-704' visibility='default' filepath='include/linux/perf_event.h' line='123' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='target' type-id='type-id-431' visibility='default' filepath='include/linux/perf_event.h' line='171' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='addr_filters' type-id='type-id-15' visibility='default' filepath='include/linux/perf_event.h' line='177' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='addr_filters_gen' type-id='type-id-16' visibility='default' filepath='include/linux/perf_event.h' line='180' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='state' type-id='type-id-17' visibility='default' filepath='include/linux/perf_event.h' line='189' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='prev_count' type-id='type-id-686' visibility='default' filepath='include/linux/perf_event.h' line='195' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='sample_period' type-id='type-id-40' visibility='default' filepath='include/linux/perf_event.h' line='200' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='last_period' type-id='type-id-40' visibility='default' filepath='include/linux/perf_event.h' line='205' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='period_left' type-id='type-id-686' visibility='default' filepath='include/linux/perf_event.h' line='212' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='interrupts_seq' type-id='type-id-40' visibility='default' filepath='include/linux/perf_event.h' line='218' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='interrupts' type-id='type-id-40' visibility='default' filepath='include/linux/perf_event.h' line='219' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='freq_time_stamp' type-id='type-id-40' visibility='default' filepath='include/linux/perf_event.h' line='225' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='freq_count_stamp' type-id='type-id-40' visibility='default' filepath='include/linux/perf_event.h' line='226' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__12' size-in-bits='768' is-anonymous='yes' visibility='default' filepath='include/linux/perf_event.h' line='123' column='1' id='type-id-704'>
-        <member-type access='private'>
-          <class-decl name='__anonymous_struct__' size-in-bits='512' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/perf_event.h' line='137' column='1' id='type-id-705'>
-            <data-member access='public' layout-offset-in-bits='0'>
-              <var-decl name='hrtimer' type-id='type-id-681' visibility='default' filepath='include/linux/perf_event.h' line='138' column='1'/>
-            </data-member>
-          </class-decl>
-        </member-type>
-        <member-type access='private'>
-          <class-decl name='__anonymous_struct__1' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/perf_event.h' line='140' column='1' id='type-id-706'>
-            <data-member access='public' layout-offset-in-bits='0'>
-              <var-decl name='tp_list' type-id='type-id-20' visibility='default' filepath='include/linux/perf_event.h' line='142' column='1'/>
-            </data-member>
-          </class-decl>
-        </member-type>
-        <member-type access='private'>
-          <class-decl name='__anonymous_struct__2' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/perf_event.h' line='144' column='1' id='type-id-707'>
-            <data-member access='public' layout-offset-in-bits='0'>
-              <var-decl name='pwr_acc' type-id='type-id-40' visibility='default' filepath='include/linux/perf_event.h' line='145' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='64'>
-              <var-decl name='ptsc' type-id='type-id-40' visibility='default' filepath='include/linux/perf_event.h' line='146' column='1'/>
-            </data-member>
-          </class-decl>
-        </member-type>
-        <member-type access='private'>
-          <class-decl name='__anonymous_struct__3' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/perf_event.h' line='149' column='1' id='type-id-708'>
-            <data-member access='public' layout-offset-in-bits='0'>
-              <var-decl name='info' type-id='type-id-709' visibility='default' filepath='include/linux/perf_event.h' line='155' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='192'>
-              <var-decl name='bp_list' type-id='type-id-20' visibility='default' filepath='include/linux/perf_event.h' line='156' column='1'/>
-            </data-member>
-          </class-decl>
-        </member-type>
-        <member-type access='private'>
-          <class-decl name='__anonymous_struct__4' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/perf_event.h' line='159' column='1' id='type-id-710'>
-            <data-member access='public' layout-offset-in-bits='0'>
-              <var-decl name='iommu_bank' type-id='type-id-214' visibility='default' filepath='include/linux/perf_event.h' line='160' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='8'>
-              <var-decl name='iommu_cntr' type-id='type-id-214' visibility='default' filepath='include/linux/perf_event.h' line='161' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='16'>
-              <var-decl name='padding' type-id='type-id-688' visibility='default' filepath='include/linux/perf_event.h' line='162' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='64'>
-              <var-decl name='conf' type-id='type-id-40' visibility='default' filepath='include/linux/perf_event.h' line='163' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='128'>
-              <var-decl name='conf1' type-id='type-id-40' visibility='default' filepath='include/linux/perf_event.h' line='164' column='1'/>
-            </data-member>
-          </class-decl>
-        </member-type>
-        <data-member access='private'>
-          <var-decl name='' type-id='type-id-711' visibility='default' filepath='include/linux/perf_event.h' line='124' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='__anonymous_struct__15' size-in-bits='768' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/perf_event.h' line='124' column='1' id='type-id-711'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='config' type-id='type-id-40' visibility='default' filepath='include/linux/perf_event.h' line='125' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='last_tag' type-id='type-id-40' visibility='default' filepath='include/linux/perf_event.h' line='126' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='config_base' type-id='type-id-16' visibility='default' filepath='include/linux/perf_event.h' line='127' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='event_base' type-id='type-id-16' visibility='default' filepath='include/linux/perf_event.h' line='128' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='event_base_rdpmc' type-id='type-id-17' visibility='default' filepath='include/linux/perf_event.h' line='129' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='idx' type-id='type-id-17' visibility='default' filepath='include/linux/perf_event.h' line='130' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='last_cpu' type-id='type-id-17' visibility='default' filepath='include/linux/perf_event.h' line='131' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='flags' type-id='type-id-17' visibility='default' filepath='include/linux/perf_event.h' line='132' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='extra_reg' type-id='type-id-712' visibility='default' filepath='include/linux/perf_event.h' line='134' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='branch_reg' type-id='type-id-712' visibility='default' filepath='include/linux/perf_event.h' line='135' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='hw_perf_event_extra' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/perf_event.h' line='111' column='1' id='type-id-712'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='config' type-id='type-id-40' visibility='default' filepath='include/linux/perf_event.h' line='112' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='reg' type-id='type-id-5' visibility='default' filepath='include/linux/perf_event.h' line='113' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='alloc' type-id='type-id-17' visibility='default' filepath='include/linux/perf_event.h' line='114' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='idx' type-id='type-id-17' visibility='default' filepath='include/linux/perf_event.h' line='115' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='arch_hw_breakpoint' size-in-bits='192' is-struct='yes' visibility='default' filepath='arch/arm64/include/asm/hw_breakpoint.h' line='34' column='1' id='type-id-709'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='address' type-id='type-id-40' visibility='default' filepath='arch/arm64/include/asm/hw_breakpoint.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='trigger' type-id='type-id-40' visibility='default' filepath='arch/arm64/include/asm/hw_breakpoint.h' line='36' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='ctrl' type-id='type-id-713' visibility='default' filepath='arch/arm64/include/asm/hw_breakpoint.h' line='37' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='arch_hw_breakpoint_ctrl' size-in-bits='32' is-struct='yes' visibility='default' filepath='arch/arm64/include/asm/hw_breakpoint.h' line='26' column='1' id='type-id-713'>
-        <data-member access='public' layout-offset-in-bits='13'>
-          <var-decl name='__reserved' type-id='type-id-7' visibility='default' filepath='arch/arm64/include/asm/hw_breakpoint.h' line='27' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5'>
-          <var-decl name='len' type-id='type-id-7' visibility='default' filepath='arch/arm64/include/asm/hw_breakpoint.h' line='28' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3'>
-          <var-decl name='type' type-id='type-id-7' visibility='default' filepath='arch/arm64/include/asm/hw_breakpoint.h' line='29' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1'>
-          <var-decl name='privilege' type-id='type-id-7' visibility='default' filepath='arch/arm64/include/asm/hw_breakpoint.h' line='30' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='enabled' type-id='type-id-7' visibility='default' filepath='arch/arm64/include/asm/hw_breakpoint.h' line='31' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='irq_work' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/irq_work.h' line='24' column='1' id='type-id-690'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='include/linux/irq_work.h' line='25' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='llnode' type-id='type-id-281' visibility='default' filepath='include/linux/irq_work.h' line='26' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='func' type-id='type-id-714' visibility='default' filepath='include/linux/irq_work.h' line='27' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='perf_addr_filters_head' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/perf_event.h' line='492' column='1' id='type-id-691'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/perf_event.h' line='493' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='lock' type-id='type-id-36' visibility='default' filepath='include/linux/perf_event.h' line='494' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='nr_file_filters' type-id='type-id-5' visibility='default' filepath='include/linux/perf_event.h' line='495' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='perf_addr_filter_range' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/perf_event.h' line='498' column='1' id='type-id-715'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='start' type-id='type-id-16' visibility='default' filepath='include/linux/perf_event.h' line='499' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='size' type-id='type-id-16' visibility='default' filepath='include/linux/perf_event.h' line='500' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='perf_overflow_handler_t' type-id='type-id-716' filepath='include/linux/perf_event.h' line='518' column='1' id='type-id-695'/>
-      <class-decl name='perf_sample_data' size-in-bits='4096' is-struct='yes' visibility='default' filepath='include/linux/perf_event.h' line='911' column='1' id='type-id-717'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='addr' type-id='type-id-40' visibility='default' filepath='include/linux/perf_event.h' line='916' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='raw' type-id='type-id-718' visibility='default' filepath='include/linux/perf_event.h' line='917' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='br_stack' type-id='type-id-719' visibility='default' filepath='include/linux/perf_event.h' line='918' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='period' type-id='type-id-40' visibility='default' filepath='include/linux/perf_event.h' line='919' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='weight' type-id='type-id-40' visibility='default' filepath='include/linux/perf_event.h' line='920' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='txn' type-id='type-id-40' visibility='default' filepath='include/linux/perf_event.h' line='921' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='data_src' type-id='type-id-720' visibility='default' filepath='include/linux/perf_event.h' line='922' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='type' type-id='type-id-40' visibility='default' filepath='include/linux/perf_event.h' line='928' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='ip' type-id='type-id-40' visibility='default' filepath='include/linux/perf_event.h' line='929' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='tid_entry' type-id='type-id-721' visibility='default' filepath='include/linux/perf_event.h' line='933' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='time' type-id='type-id-40' visibility='default' filepath='include/linux/perf_event.h' line='934' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='id' type-id='type-id-40' visibility='default' filepath='include/linux/perf_event.h' line='935' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='stream_id' type-id='type-id-40' visibility='default' filepath='include/linux/perf_event.h' line='936' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='cpu_entry' type-id='type-id-722' visibility='default' filepath='include/linux/perf_event.h' line='940' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='callchain' type-id='type-id-723' visibility='default' filepath='include/linux/perf_event.h' line='941' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='regs_user' type-id='type-id-724' visibility='default' filepath='include/linux/perf_event.h' line='947' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='regs_user_copy' type-id='type-id-725' visibility='default' filepath='include/linux/perf_event.h' line='948' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3648'>
-          <var-decl name='regs_intr' type-id='type-id-724' visibility='default' filepath='include/linux/perf_event.h' line='950' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3776'>
-          <var-decl name='stack_user_size' type-id='type-id-40' visibility='default' filepath='include/linux/perf_event.h' line='951' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3840'>
-          <var-decl name='phys_addr' type-id='type-id-40' visibility='default' filepath='include/linux/perf_event.h' line='953' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='perf_raw_record' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/perf_event.h' line='87' column='1' id='type-id-726'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='frag' type-id='type-id-727' visibility='default' filepath='include/linux/perf_event.h' line='88' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='size' type-id='type-id-7' visibility='default' filepath='include/linux/perf_event.h' line='89' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='perf_raw_frag' size-in-bits='224' is-struct='yes' visibility='default' filepath='include/linux/perf_event.h' line='77' column='1' id='type-id-727'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='' type-id='type-id-728' visibility='default' filepath='include/linux/perf_event.h' line='78' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='copy' type-id='type-id-729' visibility='default' filepath='include/linux/perf_event.h' line='82' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='data' type-id='type-id-15' visibility='default' filepath='include/linux/perf_event.h' line='83' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='size' type-id='type-id-7' visibility='default' filepath='include/linux/perf_event.h' line='84' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__13' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/perf_event.h' line='78' column='1' id='type-id-728'>
-        <data-member access='private'>
-          <var-decl name='next' type-id='type-id-730' visibility='default' filepath='include/linux/perf_event.h' line='79' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='pad' type-id='type-id-16' visibility='default' filepath='include/linux/perf_event.h' line='80' column='1'/>
-        </data-member>
-      </union-decl>
-      <typedef-decl name='perf_copy_f' type-id='type-id-731' filepath='include/linux/perf_event.h' line='74' column='1' id='type-id-729'/>
-      <class-decl name='perf_branch_stack' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/perf_event.h' line='101' column='1' id='type-id-732'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='nr' type-id='type-id-100' visibility='default' filepath='include/linux/perf_event.h' line='102' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='entries' type-id='type-id-208' visibility='default' filepath='include/linux/perf_event.h' line='103' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='perf_branch_entry' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1118' column='1' id='type-id-207'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='from' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1119' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='to' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1120' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='63'>
-          <var-decl name='mispred' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1121' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='62'>
-          <var-decl name='predicted' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1122' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='61'>
-          <var-decl name='in_tx' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1123' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='60'>
-          <var-decl name='abort' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1124' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='44'>
-          <var-decl name='cycles' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1125' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='40'>
-          <var-decl name='type' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1126' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='reserved' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1127' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='perf_mem_data_src' size-in-bits='64' visibility='default' filepath='include/uapi/linux/perf_event.h' line='998' column='1' id='type-id-720'>
-        <data-member access='private'>
-          <var-decl name='val' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='999' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='' type-id='type-id-733' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1000' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='__anonymous_struct__16' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1000' column='1' id='type-id-733'>
-        <data-member access='public' layout-offset-in-bits='59'>
-          <var-decl name='mem_op' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1001' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='45'>
-          <var-decl name='mem_lvl' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1002' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='40'>
-          <var-decl name='mem_snoop' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1003' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='38'>
-          <var-decl name='mem_lock' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1004' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='31'>
-          <var-decl name='mem_dtlb' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1005' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='27'>
-          <var-decl name='mem_lvl_num' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1006' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='26'>
-          <var-decl name='mem_remote' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1007' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='24'>
-          <var-decl name='mem_snoopx' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1008' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mem_rsvd' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='1009' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__17' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/perf_event.h' line='930' column='1' id='type-id-721'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='pid' type-id='type-id-7' visibility='default' filepath='include/linux/perf_event.h' line='931' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='tid' type-id='type-id-7' visibility='default' filepath='include/linux/perf_event.h' line='932' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__18' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/perf_event.h' line='937' column='1' id='type-id-722'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cpu' type-id='type-id-7' visibility='default' filepath='include/linux/perf_event.h' line='938' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='reserved' type-id='type-id-7' visibility='default' filepath='include/linux/perf_event.h' line='939' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='perf_callchain_entry' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/perf_event.h' line='61' column='1' id='type-id-734'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='nr' type-id='type-id-100' visibility='default' filepath='include/linux/perf_event.h' line='62' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ip' type-id='type-id-735' visibility='default' filepath='include/linux/perf_event.h' line='63' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='perf_regs' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/perf_regs.h' line='7' column='1' id='type-id-724'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='abi' type-id='type-id-100' visibility='default' filepath='include/linux/perf_regs.h' line='8' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='regs' type-id='type-id-736' visibility='default' filepath='include/linux/perf_regs.h' line='9' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='pt_regs' size-in-bits='2560' is-struct='yes' visibility='default' filepath='arch/arm64/include/asm/ptrace.h' line='147' column='1' id='type-id-725'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='' type-id='type-id-737' visibility='default' filepath='arch/arm64/include/asm/ptrace.h' line='148' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='orig_x0' type-id='type-id-40' visibility='default' filepath='arch/arm64/include/asm/ptrace.h' line='157' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='syscallno' type-id='type-id-738' visibility='default' filepath='arch/arm64/include/asm/ptrace.h' line='162' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2272'>
-          <var-decl name='unused2' type-id='type-id-7' visibility='default' filepath='arch/arm64/include/asm/ptrace.h' line='163' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2304'>
-          <var-decl name='orig_addr_limit' type-id='type-id-40' visibility='default' filepath='arch/arm64/include/asm/ptrace.h' line='166' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='unused' type-id='type-id-40' visibility='default' filepath='arch/arm64/include/asm/ptrace.h' line='167' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2432'>
-          <var-decl name='stackframe' type-id='type-id-739' visibility='default' filepath='arch/arm64/include/asm/ptrace.h' line='168' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__14' size-in-bits='2176' is-anonymous='yes' visibility='default' filepath='arch/arm64/include/asm/ptrace.h' line='148' column='1' id='type-id-737'>
-        <data-member access='private'>
-          <var-decl name='user_regs' type-id='type-id-740' visibility='default' filepath='arch/arm64/include/asm/ptrace.h' line='149' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='' type-id='type-id-741' visibility='default' filepath='arch/arm64/include/asm/ptrace.h' line='150' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='user_pt_regs' size-in-bits='2176' is-struct='yes' visibility='default' filepath='arch/arm64/include/uapi/asm/ptrace.h' line='71' column='1' id='type-id-740'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='regs' type-id='type-id-111' visibility='default' filepath='arch/arm64/include/uapi/asm/ptrace.h' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='sp' type-id='type-id-100' visibility='default' filepath='arch/arm64/include/uapi/asm/ptrace.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='pc' type-id='type-id-100' visibility='default' filepath='arch/arm64/include/uapi/asm/ptrace.h' line='74' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='pstate' type-id='type-id-100' visibility='default' filepath='arch/arm64/include/uapi/asm/ptrace.h' line='75' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__19' size-in-bits='2176' is-struct='yes' is-anonymous='yes' visibility='default' filepath='arch/arm64/include/asm/ptrace.h' line='150' column='1' id='type-id-741'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='regs' type-id='type-id-212' visibility='default' filepath='arch/arm64/include/asm/ptrace.h' line='151' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='sp' type-id='type-id-40' visibility='default' filepath='arch/arm64/include/asm/ptrace.h' line='152' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='pc' type-id='type-id-40' visibility='default' filepath='arch/arm64/include/asm/ptrace.h' line='153' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='pstate' type-id='type-id-40' visibility='default' filepath='arch/arm64/include/asm/ptrace.h' line='154' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='trace_event_call' size-in-bits='1152' is-struct='yes' visibility='default' filepath='include/linux/trace_events.h' line='253' column='1' id='type-id-742'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/trace_events.h' line='254' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='class' type-id='type-id-743' visibility='default' filepath='include/linux/trace_events.h' line='255' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='' type-id='type-id-744' visibility='default' filepath='include/linux/trace_events.h' line='256' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='event' type-id='type-id-745' visibility='default' filepath='include/linux/trace_events.h' line='261' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='print_fmt' type-id='type-id-2' visibility='default' filepath='include/linux/trace_events.h' line='262' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='filter' type-id='type-id-22' visibility='default' filepath='include/linux/trace_events.h' line='263' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='mod' type-id='type-id-15' visibility='default' filepath='include/linux/trace_events.h' line='264' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='data' type-id='type-id-15' visibility='default' filepath='include/linux/trace_events.h' line='265' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='flags' type-id='type-id-17' visibility='default' filepath='include/linux/trace_events.h' line='275' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='928'>
-          <var-decl name='perf_refcount' type-id='type-id-17' visibility='default' filepath='include/linux/trace_events.h' line='278' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='perf_events' type-id='type-id-746' visibility='default' filepath='include/linux/trace_events.h' line='279' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='prog_array' type-id='type-id-747' visibility='default' filepath='include/linux/trace_events.h' line='280' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='perf_perm' type-id='type-id-748' visibility='default' filepath='include/linux/trace_events.h' line='282' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='trace_event_class' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/trace_events.h' line='189' column='1' id='type-id-749'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='system' type-id='type-id-4' visibility='default' filepath='include/linux/trace_events.h' line='190' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='probe' type-id='type-id-15' visibility='default' filepath='include/linux/trace_events.h' line='191' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='perf_probe' type-id='type-id-15' visibility='default' filepath='include/linux/trace_events.h' line='193' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='reg' type-id='type-id-750' visibility='default' filepath='include/linux/trace_events.h' line='195' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='define_fields' type-id='type-id-751' visibility='default' filepath='include/linux/trace_events.h' line='197' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='get_fields' type-id='type-id-752' visibility='default' filepath='include/linux/trace_events.h' line='198' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='fields' type-id='type-id-20' visibility='default' filepath='include/linux/trace_events.h' line='199' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='raw_init' type-id='type-id-751' visibility='default' filepath='include/linux/trace_events.h' line='200' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='trace_reg' filepath='include/linux/trace_events.h' line='169' column='1' id='type-id-753'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='TRACE_REG_REGISTER' value='0'/>
-        <enumerator name='TRACE_REG_UNREGISTER' value='1'/>
-        <enumerator name='TRACE_REG_PERF_REGISTER' value='2'/>
-        <enumerator name='TRACE_REG_PERF_UNREGISTER' value='3'/>
-        <enumerator name='TRACE_REG_PERF_OPEN' value='4'/>
-        <enumerator name='TRACE_REG_PERF_CLOSE' value='5'/>
-        <enumerator name='TRACE_REG_PERF_ADD' value='6'/>
-        <enumerator name='TRACE_REG_PERF_DEL' value='7'/>
-      </enum-decl>
-      <class-decl name='trace_event' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/trace_events.h' line='124' column='1' id='type-id-745'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='node' type-id='type-id-520' visibility='default' filepath='include/linux/trace_events.h' line='125' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/trace_events.h' line='126' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='type' type-id='type-id-17' visibility='default' filepath='include/linux/trace_events.h' line='127' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='funcs' type-id='type-id-754' visibility='default' filepath='include/linux/trace_events.h' line='128' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='trace_event_functions' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/trace_events.h' line='117' column='1' id='type-id-755'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='trace' type-id='type-id-756' visibility='default' filepath='include/linux/trace_events.h' line='118' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='raw' type-id='type-id-756' visibility='default' filepath='include/linux/trace_events.h' line='119' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='hex' type-id='type-id-756' visibility='default' filepath='include/linux/trace_events.h' line='120' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='binary' type-id='type-id-756' visibility='default' filepath='include/linux/trace_events.h' line='121' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='trace_print_func' type-id='type-id-757' filepath='include/linux/trace_events.h' line='114' column='1' id='type-id-756'/>
-      <enum-decl name='print_line_t' filepath='include/linux/trace_events.h' line='135' column='1' id='type-id-80'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='TRACE_TYPE_PARTIAL_LINE' value='0'/>
-        <enumerator name='TRACE_TYPE_HANDLED' value='1'/>
-        <enumerator name='TRACE_TYPE_UNHANDLED' value='2'/>
-        <enumerator name='TRACE_TYPE_NO_CONSUME' value='3'/>
-      </enum-decl>
-      <class-decl name='trace_iterator' size-in-bits='67456' is-struct='yes' visibility='default' filepath='include/linux/trace_events.h' line='74' column='1' id='type-id-758'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='tr' type-id='type-id-759' visibility='default' filepath='include/linux/trace_events.h' line='75' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='trace' type-id='type-id-34' visibility='default' filepath='include/linux/trace_events.h' line='76' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='trace_buffer' type-id='type-id-760' visibility='default' filepath='include/linux/trace_events.h' line='77' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='private' type-id='type-id-15' visibility='default' filepath='include/linux/trace_events.h' line='78' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='cpu_file' type-id='type-id-17' visibility='default' filepath='include/linux/trace_events.h' line='79' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='mutex' type-id='type-id-245' visibility='default' filepath='include/linux/trace_events.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='buffer_iter' type-id='type-id-761' visibility='default' filepath='include/linux/trace_events.h' line='81' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='iter_flags' type-id='type-id-16' visibility='default' filepath='include/linux/trace_events.h' line='82' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='tmp_seq' type-id='type-id-67' visibility='default' filepath='include/linux/trace_events.h' line='85' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='33792'>
-          <var-decl name='started' type-id='type-id-38' visibility='default' filepath='include/linux/trace_events.h' line='87' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='33856'>
-          <var-decl name='snapshot' type-id='type-id-33' visibility='default' filepath='include/linux/trace_events.h' line='90' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='33920'>
-          <var-decl name='seq' type-id='type-id-67' visibility='default' filepath='include/linux/trace_events.h' line='93' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='67008'>
-          <var-decl name='ent' type-id='type-id-762' visibility='default' filepath='include/linux/trace_events.h' line='94' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='67072'>
-          <var-decl name='lost_events' type-id='type-id-16' visibility='default' filepath='include/linux/trace_events.h' line='95' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='67136'>
-          <var-decl name='leftover' type-id='type-id-17' visibility='default' filepath='include/linux/trace_events.h' line='96' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='67168'>
-          <var-decl name='ent_size' type-id='type-id-17' visibility='default' filepath='include/linux/trace_events.h' line='97' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='67200'>
-          <var-decl name='cpu' type-id='type-id-17' visibility='default' filepath='include/linux/trace_events.h' line='98' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='67264'>
-          <var-decl name='ts' type-id='type-id-40' visibility='default' filepath='include/linux/trace_events.h' line='99' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='67328'>
-          <var-decl name='pos' type-id='type-id-763' visibility='default' filepath='include/linux/trace_events.h' line='101' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='67392'>
-          <var-decl name='idx' type-id='type-id-192' visibility='default' filepath='include/linux/trace_events.h' line='102' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='trace_seq' size-in-bits='33088' is-struct='yes' visibility='default' filepath='include/linux/trace_seq.h' line='14' column='1' id='type-id-67'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='buffer' type-id='type-id-217' visibility='default' filepath='include/linux/trace_seq.h' line='15' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32768'>
-          <var-decl name='seq' type-id='type-id-764' visibility='default' filepath='include/linux/trace_seq.h' line='16' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='33024'>
-          <var-decl name='full' type-id='type-id-17' visibility='default' filepath='include/linux/trace_seq.h' line='17' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='seq_buf' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/seq_buf.h' line='19' column='1' id='type-id-764'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='buffer' type-id='type-id-2' visibility='default' filepath='include/linux/seq_buf.h' line='20' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='size' type-id='type-id-84' visibility='default' filepath='include/linux/seq_buf.h' line='21' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='len' type-id='type-id-84' visibility='default' filepath='include/linux/seq_buf.h' line='22' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='readpos' type-id='type-id-763' visibility='default' filepath='include/linux/seq_buf.h' line='23' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='cpumask_var_t' type-id='type-id-179' filepath='include/linux/cpumask.h' line='722' column='1' id='type-id-38'/>
-      <class-decl name='trace_entry' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/trace_events.h' line='60' column='1' id='type-id-765'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='type' type-id='type-id-312' visibility='default' filepath='include/linux/trace_events.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='flags' type-id='type-id-216' visibility='default' filepath='include/linux/trace_events.h' line='62' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='24'>
-          <var-decl name='preempt_count' type-id='type-id-216' visibility='default' filepath='include/linux/trace_events.h' line='63' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='pid' type-id='type-id-17' visibility='default' filepath='include/linux/trace_events.h' line='64' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='perf_event_groups' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/perf_event.h' line='716' column='1' id='type-id-662'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='tree' type-id='type-id-416' visibility='default' filepath='include/linux/perf_event.h' line='717' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='index' type-id='type-id-40' visibility='default' filepath='include/linux/perf_event.h' line='718' column='1'/>
-        </data-member>
-      </class-decl>
-      <pointer-type-def type-id='type-id-336' size-in-bits='64' id='type-id-766'/>
-      <pointer-type-def type-id='type-id-149' size-in-bits='64' id='type-id-767'/>
-      <pointer-type-def type-id='type-id-129' size-in-bits='64' id='type-id-333'/>
-      <pointer-type-def type-id='type-id-150' size-in-bits='64' id='type-id-768'/>
-      <pointer-type-def type-id='type-id-413' size-in-bits='64' id='type-id-407'/>
-      <pointer-type-def type-id='type-id-151' size-in-bits='64' id='type-id-382'/>
-      <pointer-type-def type-id='type-id-406' size-in-bits='64' id='type-id-769'/>
-      <pointer-type-def type-id='type-id-420' size-in-bits='64' id='type-id-408'/>
-      <pointer-type-def type-id='type-id-359' size-in-bits='64' id='type-id-358'/>
-      <pointer-type-def type-id='type-id-657' size-in-bits='64' id='type-id-368'/>
-      <pointer-type-def type-id='type-id-656' size-in-bits='64' id='type-id-363'/>
-      <pointer-type-def type-id='type-id-357' size-in-bits='64' id='type-id-770'/>
-      <pointer-type-def type-id='type-id-497' size-in-bits='64' id='type-id-371'/>
-      <pointer-type-def type-id='type-id-131' size-in-bits='64' id='type-id-370'/>
-      <pointer-type-def type-id='type-id-152' size-in-bits='64' id='type-id-493'/>
-      <pointer-type-def type-id='type-id-153' size-in-bits='64' id='type-id-771'/>
-      <pointer-type-def type-id='type-id-154' size-in-bits='64' id='type-id-483'/>
-      <pointer-type-def type-id='type-id-156' size-in-bits='64' id='type-id-772'/>
-      <pointer-type-def type-id='type-id-772' size-in-bits='64' id='type-id-484'/>
-      <pointer-type-def type-id='type-id-158' size-in-bits='64' id='type-id-496'/>
-      <pointer-type-def type-id='type-id-159' size-in-bits='64' id='type-id-466'/>
-      <pointer-type-def type-id='type-id-642' size-in-bits='64' id='type-id-487'/>
-      <pointer-type-def type-id='type-id-160' size-in-bits='64' id='type-id-490'/>
-      <pointer-type-def type-id='type-id-523' size-in-bits='64' id='type-id-521'/>
-      <pointer-type-def type-id='type-id-519' size-in-bits='64' id='type-id-366'/>
-      <pointer-type-def type-id='type-id-524' size-in-bits='64' id='type-id-136'/>
-      <pointer-type-def type-id='type-id-525' size-in-bits='64' id='type-id-138'/>
-      <pointer-type-def type-id='type-id-161' size-in-bits='64' id='type-id-696'/>
-      <pointer-type-def type-id='type-id-162' size-in-bits='64' id='type-id-773'/>
-      <pointer-type-def type-id='type-id-646' size-in-bits='64' id='type-id-494'/>
-      <pointer-type-def type-id='type-id-266' size-in-bits='64' id='type-id-774'/>
-      <pointer-type-def type-id='type-id-774' size-in-bits='64' id='type-id-259'/>
-      <pointer-type-def type-id='type-id-775' size-in-bits='64' id='type-id-374'/>
-      <pointer-type-def type-id='type-id-419' size-in-bits='64' id='type-id-414'/>
-      <qualified-type-def type-id='type-id-155' const='yes' id='type-id-776'/>
-      <pointer-type-def type-id='type-id-776' size-in-bits='64' id='type-id-541'/>
-      <qualified-type-def type-id='type-id-157' const='yes' id='type-id-777'/>
-      <pointer-type-def type-id='type-id-777' size-in-bits='64' id='type-id-481'/>
-      <qualified-type-def type-id='type-id-395' const='yes' id='type-id-778'/>
-      <pointer-type-def type-id='type-id-778' size-in-bits='64' id='type-id-377'/>
-      <qualified-type-def type-id='type-id-648' const='yes' id='type-id-779'/>
-      <pointer-type-def type-id='type-id-779' size-in-bits='64' id='type-id-647'/>
-      <qualified-type-def type-id='type-id-169' const='yes' id='type-id-780'/>
-      <pointer-type-def type-id='type-id-780' size-in-bits='64' id='type-id-405'/>
-      <qualified-type-def type-id='type-id-290' const='yes' id='type-id-781'/>
-      <pointer-type-def type-id='type-id-781' size-in-bits='64' id='type-id-242'/>
-      <qualified-type-def type-id='type-id-288' const='yes' id='type-id-782'/>
-      <pointer-type-def type-id='type-id-782' size-in-bits='64' id='type-id-275'/>
-      <qualified-type-def type-id='type-id-283' const='yes' id='type-id-783'/>
-      <pointer-type-def type-id='type-id-783' size-in-bits='64' id='type-id-274'/>
-      <pointer-type-def type-id='type-id-163' size-in-bits='64' id='type-id-381'/>
-      <pointer-type-def type-id='type-id-384' size-in-bits='64' id='type-id-375'/>
-      <pointer-type-def type-id='type-id-394' size-in-bits='64' id='type-id-390'/>
-      <pointer-type-def type-id='type-id-636' size-in-bits='64' id='type-id-476'/>
-      <pointer-type-def type-id='type-id-580' size-in-bits='64' id='type-id-551'/>
-      <pointer-type-def type-id='type-id-579' size-in-bits='64' id='type-id-550'/>
-      <pointer-type-def type-id='type-id-571' size-in-bits='64' id='type-id-546'/>
-      <pointer-type-def type-id='type-id-573' size-in-bits='64' id='type-id-547'/>
-      <pointer-type-def type-id='type-id-575' size-in-bits='64' id='type-id-548'/>
-      <pointer-type-def type-id='type-id-582' size-in-bits='64' id='type-id-553'/>
-      <pointer-type-def type-id='type-id-581' size-in-bits='64' id='type-id-552'/>
-      <pointer-type-def type-id='type-id-577' size-in-bits='64' id='type-id-549'/>
-      <pointer-type-def type-id='type-id-597' size-in-bits='64' id='type-id-561'/>
-      <pointer-type-def type-id='type-id-587' size-in-bits='64' id='type-id-556'/>
-      <pointer-type-def type-id='type-id-595' size-in-bits='64' id='type-id-560'/>
-      <pointer-type-def type-id='type-id-586' size-in-bits='64' id='type-id-555'/>
-      <pointer-type-def type-id='type-id-593' size-in-bits='64' id='type-id-559'/>
-      <pointer-type-def type-id='type-id-564' size-in-bits='64' id='type-id-543'/>
-      <pointer-type-def type-id='type-id-569' size-in-bits='64' id='type-id-545'/>
-      <pointer-type-def type-id='type-id-567' size-in-bits='64' id='type-id-544'/>
-      <pointer-type-def type-id='type-id-591' size-in-bits='64' id='type-id-558'/>
-      <pointer-type-def type-id='type-id-535' size-in-bits='64' id='type-id-464'/>
-      <pointer-type-def type-id='type-id-599' size-in-bits='64' id='type-id-562'/>
-      <pointer-type-def type-id='type-id-584' size-in-bits='64' id='type-id-554'/>
-      <pointer-type-def type-id='type-id-589' size-in-bits='64' id='type-id-557'/>
-      <pointer-type-def type-id='type-id-537' size-in-bits='64' id='type-id-536'/>
-      <pointer-type-def type-id='type-id-618' size-in-bits='64' id='type-id-540'/>
-      <pointer-type-def type-id='type-id-784' size-in-bits='64' id='type-id-757'/>
-      <pointer-type-def type-id='type-id-164' size-in-bits='64' id='type-id-22'/>
-      <pointer-type-def type-id='type-id-165' size-in-bits='64' id='type-id-439'/>
-      <pointer-type-def type-id='type-id-641' size-in-bits='64' id='type-id-479'/>
-      <pointer-type-def type-id='type-id-332' size-in-bits='64' id='type-id-328'/>
-      <pointer-type-def type-id='type-id-372' size-in-bits='64' id='type-id-360'/>
-      <pointer-type-def type-id='type-id-166' size-in-bits='64' id='type-id-785'/>
-      <pointer-type-def type-id='type-id-376' size-in-bits='64' id='type-id-184'/>
-      <pointer-type-def type-id='type-id-640' size-in-bits='64' id='type-id-478'/>
-      <pointer-type-def type-id='type-id-786' size-in-bits='64' id='type-id-603'/>
-      <pointer-type-def type-id='type-id-787' size-in-bits='64' id='type-id-403'/>
-      <pointer-type-def type-id='type-id-788' size-in-bits='64' id='type-id-396'/>
-      <pointer-type-def type-id='type-id-789' size-in-bits='64' id='type-id-399'/>
-      <pointer-type-def type-id='type-id-790' size-in-bits='64' id='type-id-398'/>
-      <pointer-type-def type-id='type-id-791' size-in-bits='64' id='type-id-401'/>
-      <pointer-type-def type-id='type-id-792' size-in-bits='64' id='type-id-678'/>
-      <pointer-type-def type-id='type-id-793' size-in-bits='64' id='type-id-669'/>
-      <pointer-type-def type-id='type-id-794' size-in-bits='64' id='type-id-671'/>
-      <pointer-type-def type-id='type-id-795' size-in-bits='64' id='type-id-679'/>
-      <pointer-type-def type-id='type-id-796' size-in-bits='64' id='type-id-675'/>
-      <pointer-type-def type-id='type-id-797' size-in-bits='64' id='type-id-651'/>
-      <pointer-type-def type-id='type-id-798' size-in-bits='64' id='type-id-650'/>
-      <pointer-type-def type-id='type-id-594' size-in-bits='64' id='type-id-601'/>
-      <pointer-type-def type-id='type-id-799' size-in-bits='64' id='type-id-608'/>
-      <pointer-type-def type-id='type-id-800' size-in-bits='64' id='type-id-649'/>
-      <pointer-type-def type-id='type-id-801' size-in-bits='64' id='type-id-751'/>
-      <pointer-type-def type-id='type-id-802' size-in-bits='64' id='type-id-750'/>
-      <pointer-type-def type-id='type-id-803' size-in-bits='64' id='type-id-748'/>
-      <pointer-type-def type-id='type-id-804' size-in-bits='64' id='type-id-292'/>
-      <pointer-type-def type-id='type-id-805' size-in-bits='64' id='type-id-284'/>
-      <pointer-type-def type-id='type-id-806' size-in-bits='64' id='type-id-289'/>
-      <pointer-type-def type-id='type-id-807' size-in-bits='64' id='type-id-287'/>
-      <pointer-type-def type-id='type-id-808' size-in-bits='64' id='type-id-299'/>
-      <pointer-type-def type-id='type-id-809' size-in-bits='64' id='type-id-324'/>
-      <pointer-type-def type-id='type-id-810' size-in-bits='64' id='type-id-297'/>
-      <pointer-type-def type-id='type-id-811' size-in-bits='64' id='type-id-294'/>
-      <pointer-type-def type-id='type-id-812' size-in-bits='64' id='type-id-319'/>
-      <pointer-type-def type-id='type-id-813' size-in-bits='64' id='type-id-303'/>
-      <pointer-type-def type-id='type-id-814' size-in-bits='64' id='type-id-309'/>
-      <pointer-type-def type-id='type-id-815' size-in-bits='64' id='type-id-308'/>
-      <pointer-type-def type-id='type-id-816' size-in-bits='64' id='type-id-298'/>
-      <pointer-type-def type-id='type-id-817' size-in-bits='64' id='type-id-306'/>
-      <pointer-type-def type-id='type-id-818' size-in-bits='64' id='type-id-300'/>
-      <pointer-type-def type-id='type-id-819' size-in-bits='64' id='type-id-307'/>
-      <pointer-type-def type-id='type-id-690' size-in-bits='64' id='type-id-820'/>
-      <pointer-type-def type-id='type-id-167' size-in-bits='64' id='type-id-489'/>
-      <pointer-type-def type-id='type-id-248' size-in-bits='64' id='type-id-821'/>
-      <pointer-type-def type-id='type-id-821' size-in-bits='64' id='type-id-265'/>
-      <pointer-type-def type-id='type-id-822' size-in-bits='64' id='type-id-752'/>
-      <pointer-type-def type-id='type-id-638' size-in-bits='64' id='type-id-477'/>
-      <pointer-type-def type-id='type-id-823' size-in-bits='64' id='type-id-320'/>
-      <pointer-type-def type-id='type-id-824' size-in-bits='64' id='type-id-301'/>
-      <pointer-type-def type-id='type-id-460' size-in-bits='64' id='type-id-445'/>
-      <pointer-type-def type-id='type-id-624' size-in-bits='64' id='type-id-470'/>
-      <pointer-type-def type-id='type-id-423' size-in-bits='64' id='type-id-447'/>
-      <pointer-type-def type-id='type-id-443' size-in-bits='64' id='type-id-197'/>
-      <pointer-type-def type-id='type-id-441' size-in-bits='64' id='type-id-432'/>
-      <pointer-type-def type-id='type-id-438' size-in-bits='64' id='type-id-437'/>
-      <pointer-type-def type-id='type-id-461' size-in-bits='64' id='type-id-446'/>
-      <pointer-type-def type-id='type-id-532' size-in-bits='64' id='type-id-529'/>
-      <pointer-type-def type-id='type-id-534' size-in-bits='64' id='type-id-530'/>
-      <pointer-type-def type-id='type-id-527' size-in-bits='64' id='type-id-518'/>
-      <pointer-type-def type-id='type-id-168' size-in-bits='64' id='type-id-825'/>
-      <pointer-type-def type-id='type-id-426' size-in-bits='64' id='type-id-435'/>
-      <pointer-type-def type-id='type-id-393' size-in-bits='64' id='type-id-389'/>
-      <pointer-type-def type-id='type-id-459' size-in-bits='64' id='type-id-453'/>
-      <pointer-type-def type-id='type-id-455' size-in-bits='64' id='type-id-454'/>
-      <pointer-type-def type-id='type-id-715' size-in-bits='64' id='type-id-692'/>
-      <pointer-type-def type-id='type-id-732' size-in-bits='64' id='type-id-719'/>
-      <pointer-type-def type-id='type-id-734' size-in-bits='64' id='type-id-723'/>
-      <pointer-type-def type-id='type-id-680' size-in-bits='64' id='type-id-667'/>
-      <pointer-type-def type-id='type-id-683' size-in-bits='64' id='type-id-684'/>
-      <pointer-type-def type-id='type-id-660' size-in-bits='64' id='type-id-663'/>
-      <pointer-type-def type-id='type-id-727' size-in-bits='64' id='type-id-730'/>
-      <pointer-type-def type-id='type-id-726' size-in-bits='64' id='type-id-718'/>
-      <pointer-type-def type-id='type-id-717' size-in-bits='64' id='type-id-826'/>
-      <pointer-type-def type-id='type-id-450' size-in-bits='64' id='type-id-449'/>
-      <pointer-type-def type-id='type-id-664' size-in-bits='64' id='type-id-661'/>
-      <pointer-type-def type-id='type-id-627' size-in-bits='64' id='type-id-471'/>
-      <pointer-type-def type-id='type-id-629' size-in-bits='64' id='type-id-472'/>
-      <pointer-type-def type-id='type-id-725' size-in-bits='64' id='type-id-736'/>
-      <pointer-type-def type-id='type-id-499' size-in-bits='64' id='type-id-463'/>
-      <pointer-type-def type-id='type-id-827' size-in-bits='64' id='type-id-614'/>
-      <pointer-type-def type-id='type-id-583' size-in-bits='64' id='type-id-616'/>
-      <pointer-type-def type-id='type-id-463' size-in-bits='64' id='type-id-643'/>
-      <pointer-type-def type-id='type-id-622' size-in-bits='64' id='type-id-469'/>
-      <pointer-type-def type-id='type-id-468' size-in-bits='64' id='type-id-510'/>
-      <pointer-type-def type-id='type-id-462' size-in-bits='64' id='type-id-378'/>
-      <pointer-type-def type-id='type-id-170' size-in-bits='64' id='type-id-12'/>
-      <pointer-type-def type-id='type-id-171' size-in-bits='64' id='type-id-828'/>
-      <pointer-type-def type-id='type-id-828' size-in-bits='64' id='type-id-761'/>
-      <pointer-type-def type-id='type-id-515' size-in-bits='64' id='type-id-509'/>
-      <pointer-type-def type-id='type-id-172' size-in-bits='64' id='type-id-467'/>
-      <pointer-type-def type-id='type-id-633' size-in-bits='64' id='type-id-475'/>
-      <pointer-type-def type-id='type-id-173' size-in-bits='64' id='type-id-829'/>
-      <pointer-type-def type-id='type-id-652' size-in-bits='64' id='type-id-830'/>
-      <pointer-type-def type-id='type-id-631' size-in-bits='64' id='type-id-474'/>
-      <pointer-type-def type-id='type-id-313' size-in-bits='64' id='type-id-249'/>
-      <pointer-type-def type-id='type-id-174' size-in-bits='64' id='type-id-380'/>
-      <pointer-type-def type-id='type-id-175' size-in-bits='64' id='type-id-759'/>
-      <pointer-type-def type-id='type-id-30' size-in-bits='64' id='type-id-760'/>
-      <pointer-type-def type-id='type-id-765' size-in-bits='64' id='type-id-762'/>
-      <pointer-type-def type-id='type-id-745' size-in-bits='64' id='type-id-831'/>
-      <pointer-type-def type-id='type-id-742' size-in-bits='64' id='type-id-21'/>
-      <pointer-type-def type-id='type-id-749' size-in-bits='64' id='type-id-743'/>
-      <pointer-type-def type-id='type-id-755' size-in-bits='64' id='type-id-754'/>
-      <pointer-type-def type-id='type-id-758' size-in-bits='64' id='type-id-82'/>
-      <pointer-type-def type-id='type-id-176' size-in-bits='64' id='type-id-34'/>
-      <pointer-type-def type-id='type-id-277' size-in-bits='64' id='type-id-276'/>
-      <pointer-type-def type-id='type-id-258' size-in-bits='64' id='type-id-241'/>
-      <pointer-type-def type-id='type-id-314' size-in-bits='64' id='type-id-244'/>
-      <pointer-type-def type-id='type-id-316' size-in-bits='64' id='type-id-315'/>
-      <pointer-type-def type-id='type-id-272' size-in-bits='64' id='type-id-257'/>
-      <pointer-type-def type-id='type-id-257' size-in-bits='64' id='type-id-264'/>
-      <pointer-type-def type-id='type-id-238' size-in-bits='64' id='type-id-253'/>
-      <pointer-type-def type-id='type-id-832' size-in-bits='64' id='type-id-291'/>
-      <pointer-type-def type-id='type-id-253' size-in-bits='64' id='type-id-263'/>
-      <pointer-type-def type-id='type-id-833' size-in-bits='64' id='type-id-321'/>
-      <pointer-type-def type-id='type-id-834' size-in-bits='64' id='type-id-615'/>
-      <pointer-type-def type-id='type-id-835' size-in-bits='64' id='type-id-607'/>
-      <pointer-type-def type-id='type-id-836' size-in-bits='64' id='type-id-606'/>
-      <pointer-type-def type-id='type-id-837' size-in-bits='64' id='type-id-620'/>
-      <pointer-type-def type-id='type-id-838' size-in-bits='64' id='type-id-621'/>
-      <pointer-type-def type-id='type-id-839' size-in-bits='64' id='type-id-318'/>
-      <pointer-type-def type-id='type-id-840' size-in-bits='64' id='type-id-317'/>
-      <pointer-type-def type-id='type-id-841' size-in-bits='64' id='type-id-694'/>
-      <pointer-type-def type-id='type-id-630' size-in-bits='64' id='type-id-473'/>
-      <pointer-type-def type-id='type-id-842' size-in-bits='64' id='type-id-400'/>
-      <pointer-type-def type-id='type-id-843' size-in-bits='64' id='type-id-731'/>
-      <pointer-type-def type-id='type-id-844' size-in-bits='64' id='type-id-605'/>
-      <pointer-type-def type-id='type-id-845' size-in-bits='64' id='type-id-613'/>
-      <pointer-type-def type-id='type-id-846' size-in-bits='64' id='type-id-604'/>
-      <pointer-type-def type-id='type-id-847' size-in-bits='64' id='type-id-404'/>
-      <pointer-type-def type-id='type-id-596' size-in-bits='64' id='type-id-602'/>
-      <pointer-type-def type-id='type-id-848' size-in-bits='64' id='type-id-325'/>
-      <pointer-type-def type-id='type-id-849' size-in-bits='64' id='type-id-402'/>
-      <pointer-type-def type-id='type-id-850' size-in-bits='64' id='type-id-397'/>
-      <pointer-type-def type-id='type-id-585' size-in-bits='64' id='type-id-617'/>
-      <pointer-type-def type-id='type-id-851' size-in-bits='64' id='type-id-714'/>
-      <pointer-type-def type-id='type-id-852' size-in-bits='64' id='type-id-673'/>
-      <pointer-type-def type-id='type-id-853' size-in-bits='64' id='type-id-672'/>
-      <pointer-type-def type-id='type-id-854' size-in-bits='64' id='type-id-670'/>
-      <pointer-type-def type-id='type-id-855' size-in-bits='64' id='type-id-716'/>
-      <pointer-type-def type-id='type-id-856' size-in-bits='64' id='type-id-676'/>
-      <pointer-type-def type-id='type-id-857' size-in-bits='64' id='type-id-668'/>
-      <pointer-type-def type-id='type-id-858' size-in-bits='64' id='type-id-674'/>
-      <pointer-type-def type-id='type-id-590' size-in-bits='64' id='type-id-480'/>
-      <pointer-type-def type-id='type-id-859' size-in-bits='64' id='type-id-612'/>
-      <pointer-type-def type-id='type-id-566' size-in-bits='64' id='type-id-609'/>
-      <pointer-type-def type-id='type-id-568' size-in-bits='64' id='type-id-610'/>
-      <pointer-type-def type-id='type-id-860' size-in-bits='64' id='type-id-293'/>
-      <pointer-type-def type-id='type-id-861' size-in-bits='64' id='type-id-286'/>
-      <pointer-type-def type-id='type-id-862' size-in-bits='64' id='type-id-285'/>
-      <pointer-type-def type-id='type-id-863' size-in-bits='64' id='type-id-296'/>
-      <pointer-type-def type-id='type-id-864' size-in-bits='64' id='type-id-305'/>
-      <pointer-type-def type-id='type-id-865' size-in-bits='64' id='type-id-322'/>
-      <pointer-type-def type-id='type-id-866' size-in-bits='64' id='type-id-295'/>
-      <pointer-type-def type-id='type-id-867' size-in-bits='64' id='type-id-304'/>
-      <pointer-type-def type-id='type-id-868' size-in-bits='64' id='type-id-302'/>
-      <pointer-type-def type-id='type-id-869' size-in-bits='64' id='type-id-310'/>
-      <pointer-type-def type-id='type-id-870' size-in-bits='64' id='type-id-323'/>
-      <pointer-type-def type-id='type-id-871' size-in-bits='64' id='type-id-611'/>
-      <pointer-type-def type-id='type-id-872' size-in-bits='64' id='type-id-677'/>
-      <pointer-type-def type-id='type-id-252' size-in-bits='64' id='type-id-873'/>
-      <pointer-type-def type-id='type-id-227' size-in-bits='64' id='type-id-458'/>
-      <function-decl name='send_sig' mangled-name='send_sig' filepath='kernel/signal.c' line='1548' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='send_sig'>
-        <parameter type-id='type-id-17' name='sig' filepath='kernel/signal.c' line='1548' column='1'/>
-        <parameter type-id='type-id-431' name='p' filepath='kernel/signal.c' line='1548' column='1'/>
-        <parameter type-id='type-id-17' name='priv' filepath='kernel/signal.c' line='1548' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-775'>
-        <parameter type-id='type-id-360'/>
-        <parameter type-id='type-id-874'/>
-        <return type-id='type-id-2'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-632'>
-        <parameter type-id='type-id-463'/>
-        <return type-id='type-id-634'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-563'>
-        <parameter type-id='type-id-378'/>
-        <parameter type-id='type-id-643'/>
-        <parameter type-id='type-id-358'/>
-        <return type-id='type-id-565'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-784'>
+      <function-decl name='kstrtoint' mangled-name='kstrtoint' filepath='include/linux/kernel.h' line='410' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kstrtoint'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-10'/>
         <parameter type-id='type-id-82'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-831'/>
-        <return type-id='type-id-80'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='blocking_notifier_chain_register' mangled-name='blocking_notifier_chain_register' filepath='include/linux/notifier.h' line='147' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blocking_notifier_chain_register'>
+        <parameter type-id='type-id-7271'/>
+        <parameter type-id='type-id-103'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__cpuhp_state_add_instance' mangled-name='__cpuhp_state_add_instance' filepath='kernel/cpu.c' line='1671' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cpuhp_state_add_instance'>
+        <parameter type-id='type-id-7270' name='state' filepath='kernel/cpu.c' line='1671' column='1'/>
+        <parameter type-id='type-id-4876' name='node' filepath='kernel/cpu.c' line='1671' column='1'/>
+        <parameter type-id='type-id-211' name='invoke' filepath='kernel/cpu.c' line='1672' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__cpuhp_setup_state' mangled-name='__cpuhp_setup_state' filepath='kernel/cpu.c' line='1759' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cpuhp_setup_state'>
+        <parameter type-id='type-id-7270' name='state' filepath='kernel/cpu.c' line='1759' column='1'/>
+        <parameter type-id='type-id-24' name='name' filepath='kernel/cpu.c' line='1760' column='1'/>
+        <parameter type-id='type-id-211' name='invoke' filepath='kernel/cpu.c' line='1760' column='1'/>
+        <parameter type-id='type-id-7273' name='startup' filepath='kernel/cpu.c' line='1761' column='1'/>
+        <parameter type-id='type-id-7273' name='teardown' filepath='kernel/cpu.c' line='1762' column='1'/>
+        <parameter type-id='type-id-211' name='multi_instance' filepath='kernel/cpu.c' line='1763' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__cpuhp_state_remove_instance' mangled-name='__cpuhp_state_remove_instance' filepath='kernel/cpu.c' line='1775' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cpuhp_state_remove_instance'>
+        <parameter type-id='type-id-7270' name='state' filepath='kernel/cpu.c' line='1775' column='1'/>
+        <parameter type-id='type-id-4876' name='node' filepath='kernel/cpu.c' line='1776' column='1'/>
+        <parameter type-id='type-id-211' name='invoke' filepath='kernel/cpu.c' line='1776' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__cpuhp_remove_state' mangled-name='__cpuhp_remove_state' filepath='kernel/cpu.c' line='1861' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cpuhp_remove_state'>
+        <parameter type-id='type-id-7270' name='state' filepath='kernel/cpu.c' line='1861' column='1'/>
+        <parameter type-id='type-id-211' name='invoke' filepath='kernel/cpu.c' line='1861' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-7272'>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-786'>
-        <parameter type-id='type-id-772'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-787'>
-        <parameter type-id='type-id-875'/>
-        <parameter type-id='type-id-785'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-788'>
-        <parameter type-id='type-id-875'/>
-        <parameter type-id='type-id-876'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-789'>
-        <parameter type-id='type-id-875'/>
-        <parameter type-id='type-id-876'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-790'>
-        <parameter type-id='type-id-875'/>
-        <parameter type-id='type-id-386'/>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/cpu_pm.c' language='LANG_C89'>
+      <function-decl name='cpu_pm_unregister_notifier' mangled-name='cpu_pm_unregister_notifier' filepath='kernel/cpu_pm.c' line='69' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cpu_pm_unregister_notifier'>
+        <parameter type-id='type-id-103' name='nb' filepath='kernel/cpu_pm.c' line='69' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='cpu_pm_enter' mangled-name='cpu_pm_enter' filepath='kernel/cpu_pm.c' line='90' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cpu_pm_enter'>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='cpu_pm_exit' mangled-name='cpu_pm_exit' filepath='kernel/cpu_pm.c' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cpu_pm_exit'>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/cred.c' language='LANG_C89'>
+      <function-decl name='__put_cred' mangled-name='__put_cred' filepath='kernel/cred.c' line='135' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__put_cred'>
+        <parameter type-id='type-id-5625' name='cred' filepath='kernel/cred.c' line='135' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='kvfree' mangled-name='kvfree' filepath='include/linux/mm.h' line='614' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kvfree'>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/dma/coherent.c' language='LANG_C89'>
+      <function-decl name='memremap' mangled-name='memremap' filepath='include/linux/io.h' line='164' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='memremap'>
+        <parameter type-id='type-id-177'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/dma/contiguous.c' language='LANG_C89'>
+      <qualified-type-def type-id='type-id-4680' const='yes' id='type-id-7274'/>
+      <pointer-type-def type-id='type-id-7274' size-in-bits='64' id='type-id-7275'/>
+      <function-decl name='cma_get_base' mangled-name='cma_get_base' filepath='include/linux/cma.h' line='23' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cma_get_base'>
+        <parameter type-id='type-id-7275'/>
+        <return type-id='type-id-177'/>
+      </function-decl>
+      <function-decl name='cma_get_size' mangled-name='cma_get_size' filepath='include/linux/cma.h' line='24' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cma_get_size'>
+        <parameter type-id='type-id-7275'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+      <function-decl name='cma_alloc' mangled-name='cma_alloc' filepath='include/linux/cma.h' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cma_alloc'>
+        <parameter type-id='type-id-5272'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-264'/>
+        <return type-id='type-id-120'/>
+      </function-decl>
+      <function-decl name='cma_release' mangled-name='cma_release' filepath='include/linux/cma.h' line='37' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cma_release'>
+        <parameter type-id='type-id-5272'/>
+        <parameter type-id='type-id-6032'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-264'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/dma/mapping.c' language='LANG_C89'>
+      <class-decl name='cred' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7276'/>
+      <qualified-type-def type-id='type-id-7276' const='yes' id='type-id-7277'/>
+      <pointer-type-def type-id='type-id-7277' size-in-bits='64' id='type-id-7278'/>
+      <function-decl name='dma_release_from_dev_coherent' mangled-name='dma_release_from_dev_coherent' filepath='include/linux/dma-mapping.h' line='165' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_release_from_dev_coherent'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='dma_alloc_from_dev_coherent' mangled-name='dma_alloc_from_dev_coherent' filepath='include/linux/dma-mapping.h' line='163' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_alloc_from_dev_coherent'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-187'/>
+        <parameter type-id='type-id-178'/>
+        <parameter type-id='type-id-2240'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='dma_release_declared_memory' mangled-name='dma_release_declared_memory' filepath='include/linux/dma-mapping.h' line='731' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_release_declared_memory'>
+        <parameter type-id='type-id-86'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='dmam_alloc_coherent' mangled-name='dmam_alloc_coherent' filepath='kernel/dma/mapping.c' line='60' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dmam_alloc_coherent'>
+        <parameter type-id='type-id-86' name='dev' filepath='kernel/dma/mapping.c' line='60' column='1'/>
+        <parameter type-id='type-id-125' name='size' filepath='kernel/dma/mapping.c' line='60' column='1'/>
+        <parameter type-id='type-id-983' name='dma_handle' filepath='kernel/dma/mapping.c' line='61' column='1'/>
+        <parameter type-id='type-id-272' name='gfp' filepath='kernel/dma/mapping.c' line='61' column='1'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='dma_common_get_sgtable' mangled-name='dma_common_get_sgtable' filepath='kernel/dma/mapping.c' line='204' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_common_get_sgtable'>
+        <parameter type-id='type-id-86' name='dev' filepath='kernel/dma/mapping.c' line='204' column='1'/>
+        <parameter type-id='type-id-259' name='sgt' filepath='kernel/dma/mapping.c' line='204' column='1'/>
+        <parameter type-id='type-id-3' name='cpu_addr' filepath='kernel/dma/mapping.c' line='205' column='1'/>
+        <parameter type-id='type-id-210' name='handle' filepath='kernel/dma/mapping.c' line='205' column='1'/>
+        <parameter type-id='type-id-125' name='size' filepath='kernel/dma/mapping.c' line='205' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='dma_common_mmap' mangled-name='dma_common_mmap' filepath='kernel/dma/mapping.c' line='222' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_common_mmap'>
+        <parameter type-id='type-id-86' name='dev' filepath='kernel/dma/mapping.c' line='222' column='1'/>
+        <parameter type-id='type-id-132' name='vma' filepath='kernel/dma/mapping.c' line='222' column='1'/>
+        <parameter type-id='type-id-3' name='cpu_addr' filepath='kernel/dma/mapping.c' line='223' column='1'/>
+        <parameter type-id='type-id-210' name='dma_addr' filepath='kernel/dma/mapping.c' line='223' column='1'/>
+        <parameter type-id='type-id-125' name='size' filepath='kernel/dma/mapping.c' line='223' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/dma/swiotlb.c' language='LANG_C89'>
+      <function-decl name='_dev_warn' mangled-name='_dev_warn' filepath='include/linux/device.h' line='1443' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_dev_warn'>
         <parameter type-id='type-id-512'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-645'>
-        <parameter type-id='type-id-773'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-791'>
-        <parameter type-id='type-id-360'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-792'>
-        <parameter type-id='type-id-877'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-793'>
-        <parameter type-id='type-id-684'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-794'>
-        <parameter type-id='type-id-684'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-795'>
-        <parameter type-id='type-id-684'/>
-        <parameter type-id='type-id-40'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-796'>
-        <parameter type-id='type-id-661'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-635'>
-        <parameter type-id='type-id-463'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-797'>
-        <parameter type-id='type-id-463'/>
-        <parameter type-id='type-id-830'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-798'>
-        <parameter type-id='type-id-463'/>
-        <parameter type-id='type-id-830'/>
-        <parameter type-id='type-id-876'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-637'>
-        <parameter type-id='type-id-378'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-594'>
-        <parameter type-id='type-id-378'/>
-        <parameter type-id='type-id-536'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-576'>
-        <parameter type-id='type-id-378'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-628'>
-        <parameter type-id='type-id-378'/>
-        <parameter type-id='type-id-463'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-799'>
-        <parameter type-id='type-id-378'/>
-        <parameter type-id='type-id-643'/>
-        <parameter type-id='type-id-358'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-570'>
-        <parameter type-id='type-id-378'/>
-        <parameter type-id='type-id-463'/>
-        <parameter type-id='type-id-358'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-588'>
-        <parameter type-id='type-id-378'/>
-        <parameter type-id='type-id-463'/>
-        <parameter type-id='type-id-358'/>
-        <parameter type-id='type-id-485'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-572'>
-        <parameter type-id='type-id-378'/>
-        <parameter type-id='type-id-463'/>
-        <parameter type-id='type-id-463'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-639'>
-        <parameter type-id='type-id-378'/>
-        <parameter type-id='type-id-463'/>
-        <parameter type-id='type-id-485'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-592'>
-        <parameter type-id='type-id-378'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-800'>
-        <parameter type-id='type-id-830'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-801'>
-        <parameter type-id='type-id-21'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-802'>
-        <parameter type-id='type-id-21'/>
-        <parameter type-id='type-id-753'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-803'>
-        <parameter type-id='type-id-21'/>
-        <parameter type-id='type-id-684'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-804'>
-        <parameter type-id='type-id-241'/>
-        <parameter type-id='type-id-253'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-805'>
-        <parameter type-id='type-id-257'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-806'>
-        <parameter type-id='type-id-257'/>
-        <parameter type-id='type-id-878'/>
-        <parameter type-id='type-id-878'/>
-        <parameter type-id='type-id-84'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-807'>
-        <parameter type-id='type-id-257'/>
-        <parameter type-id='type-id-253'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-808'>
-        <parameter type-id='type-id-253'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-809'>
-        <parameter type-id='type-id-253'/>
-        <parameter type-id='type-id-878'/>
-        <parameter type-id='type-id-2'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-810'>
-        <parameter type-id='type-id-253'/>
-        <parameter type-id='type-id-878'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-811'>
-        <parameter type-id='type-id-253'/>
-        <parameter type-id='type-id-83'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-812'>
-        <parameter type-id='type-id-253'/>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-813'>
-        <parameter type-id='type-id-253'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-814'>
-        <parameter type-id='type-id-253'/>
-        <parameter type-id='type-id-829'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-815'>
-        <parameter type-id='type-id-253'/>
-        <parameter type-id='type-id-249'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-816'>
-        <parameter type-id='type-id-253'/>
-        <parameter type-id='type-id-216'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-817'>
-        <parameter type-id='type-id-253'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-818'>
-        <parameter type-id='type-id-253'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-819'>
-        <parameter type-id='type-id-253'/>
-        <parameter type-id='type-id-873'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-418'>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-822'>
-        <parameter type-id='type-id-21'/>
-        <return type-id='type-id-877'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-823'>
-        <parameter type-id='type-id-253'/>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-192'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-824'>
-        <parameter type-id='type-id-253'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-192'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-827'>
-        <parameter type-id='type-id-772'/>
-        <return type-id='type-id-463'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-583'>
-        <parameter type-id='type-id-378'/>
-        <parameter type-id='type-id-463'/>
-        <return type-id='type-id-463'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-832'>
-        <parameter type-id='type-id-241'/>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-253'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-833'>
-        <parameter type-id='type-id-253'/>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-879'/>
-        <return type-id='type-id-880'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-623'>
-        <parameter type-id='type-id-378'/>
-        <parameter type-id='type-id-358'/>
-        <return type-id='type-id-625'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-834'>
-        <parameter type-id='type-id-772'/>
-        <return type-id='type-id-33'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-835'>
-        <parameter type-id='type-id-772'/>
-        <parameter type-id='type-id-358'/>
-        <return type-id='type-id-33'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-836'>
-        <parameter type-id='type-id-378'/>
-        <parameter type-id='type-id-463'/>
-        <parameter type-id='type-id-358'/>
-        <return type-id='type-id-33'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-626'>
-        <parameter type-id='type-id-378'/>
-        <parameter type-id='type-id-625'/>
-        <return type-id='type-id-33'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-837'>
-        <parameter type-id='type-id-464'/>
-        <parameter type-id='type-id-2'/>
-        <return type-id='type-id-86'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-838'>
-        <parameter type-id='type-id-464'/>
-        <parameter type-id='type-id-4'/>
-        <parameter type-id='type-id-84'/>
-        <return type-id='type-id-86'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-839'>
-        <parameter type-id='type-id-253'/>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-878'/>
-        <parameter type-id='type-id-84'/>
-        <return type-id='type-id-86'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-840'>
-        <parameter type-id='type-id-253'/>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-256'/>
-        <parameter type-id='type-id-84'/>
-        <return type-id='type-id-86'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-841'>
-        <return type-id='type-id-40'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-842'>
-        <parameter type-id='type-id-360'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-5'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-843'>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-16'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-16'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-655'>
-        <parameter type-id='type-id-358'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-844'>
-        <parameter type-id='type-id-772'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-845'>
-        <parameter type-id='type-id-772'/>
-        <parameter type-id='type-id-877'/>
-        <parameter type-id='type-id-33'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-846'>
-        <parameter type-id='type-id-772'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-847'>
-        <parameter type-id='type-id-875'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-596'>
-        <parameter type-id='type-id-464'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-848'>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-881'/>
-        <parameter type-id='type-id-879'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-849'>
-        <parameter type-id='type-id-360'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-850'>
-        <parameter type-id='type-id-360'/>
-        <parameter type-id='type-id-876'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-585'>
-        <parameter type-id='type-id-513'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-851'>
-        <parameter type-id='type-id-820'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-852'>
-        <parameter type-id='type-id-684'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-853'>
-        <parameter type-id='type-id-684'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-854'>
-        <parameter type-id='type-id-684'/>
-        <parameter type-id='type-id-882'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-855'>
-        <parameter type-id='type-id-684'/>
-        <parameter type-id='type-id-826'/>
-        <parameter type-id='type-id-736'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-856'>
-        <parameter type-id='type-id-663'/>
-        <parameter type-id='type-id-33'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-857'>
-        <parameter type-id='type-id-661'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-858'>
-        <parameter type-id='type-id-661'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-590'>
-        <parameter type-id='type-id-463'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-859'>
-        <parameter type-id='type-id-463'/>
-        <parameter type-id='type-id-358'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-514'>
-        <parameter type-id='type-id-463'/>
-        <parameter type-id='type-id-361'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-598'>
-        <parameter type-id='type-id-378'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-578'>
-        <parameter type-id='type-id-378'/>
-        <parameter type-id='type-id-463'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-574'>
-        <parameter type-id='type-id-378'/>
-        <parameter type-id='type-id-463'/>
-        <parameter type-id='type-id-358'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-566'>
-        <parameter type-id='type-id-378'/>
-        <parameter type-id='type-id-463'/>
-        <parameter type-id='type-id-565'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-568'>
-        <parameter type-id='type-id-378'/>
-        <parameter type-id='type-id-463'/>
-        <parameter type-id='type-id-463'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-860'>
-        <parameter type-id='type-id-241'/>
-        <parameter type-id='type-id-253'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-861'>
-        <parameter type-id='type-id-257'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-862'>
-        <parameter type-id='type-id-257'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-863'>
-        <parameter type-id='type-id-253'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-864'>
-        <parameter type-id='type-id-253'/>
-        <parameter type-id='type-id-1'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-865'>
-        <parameter type-id='type-id-253'/>
-        <parameter type-id='type-id-878'/>
-        <parameter type-id='type-id-2'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-866'>
-        <parameter type-id='type-id-253'/>
-        <parameter type-id='type-id-83'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-867'>
-        <parameter type-id='type-id-253'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-868'>
-        <parameter type-id='type-id-253'/>
-        <parameter type-id='type-id-821'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-869'>
-        <parameter type-id='type-id-253'/>
-        <parameter type-id='type-id-88'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-870'>
-        <parameter type-id='type-id-253'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-871'>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-771'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-533'>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-872'>
-        <parameter type-id='type-id-684'/>
-        <parameter type-id='type-id-528'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-33'/>
-        <return type-id='type-id-15'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-531'>
-        <parameter type-id='type-id-485'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-15'/>
-      </function-type>
-      <union-decl name='__anonymous_union__15' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/trace_events.h' line='256' column='1' id='type-id-744'>
-        <data-member access='private'>
-          <var-decl name='name' type-id='type-id-2' visibility='default' filepath='include/linux/trace_events.h' line='257' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='tp' type-id='type-id-883' visibility='default' filepath='include/linux/trace_events.h' line='259' column='1'/>
-        </data-member>
-      </union-decl>
-      <union-decl name='__anonymous_union__9' size-in-bits='1472' is-anonymous='yes' visibility='default' filepath='include/linux/elevator.h' line='141' column='1' id='type-id-539'>
-        <data-member access='private'>
-          <var-decl name='sq' type-id='type-id-542' visibility='default' filepath='include/linux/elevator.h' line='142' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='mq' type-id='type-id-600' visibility='default' filepath='include/linux/elevator.h' line='143' column='1'/>
-        </data-member>
-      </union-decl>
-      <union-decl name='__anonymous_union__7' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/blkdev.h' line='178' column='1' id='type-id-507'>
-        <data-member access='private'>
-          <var-decl name='hash' type-id='type-id-520' visibility='default' filepath='include/linux/blkdev.h' line='179' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='ipi_list' type-id='type-id-20' visibility='default' filepath='include/linux/blkdev.h' line='180' column='1'/>
-        </data-member>
-      </union-decl>
-      <union-decl name='__anonymous_union__5' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/linux/backing-dev-defs.h' line='160' column='1' id='type-id-412'>
-        <data-member access='private'>
-          <var-decl name='release_work' type-id='type-id-255' visibility='default' filepath='include/linux/backing-dev-defs.h' line='161' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/linux/backing-dev-defs.h' line='162' column='1'/>
-        </data-member>
-      </union-decl>
-      <union-decl name='__anonymous_union__10' is-anonymous='yes' visibility='default' filepath='include/linux/blk_types.h' line='191' column='1' id='type-id-369'/>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/locking/spinlock.c' language='LANG_C89'>
-      <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-884'/>
-      <pointer-type-def type-id='type-id-885' size-in-bits='64' id='type-id-886'/>
-      <function-decl name='_raw_spin_trylock' mangled-name='_raw_spin_trylock' filepath='kernel/locking/spinlock.c' line='126' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_raw_spin_trylock'>
-        <parameter type-id='type-id-884' name='lock' filepath='kernel/locking/spinlock.c' line='126' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='_raw_spin_lock' mangled-name='_raw_spin_lock' filepath='kernel/locking/spinlock.c' line='142' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_raw_spin_lock'>
-        <parameter type-id='type-id-884' name='lock' filepath='kernel/locking/spinlock.c' line='142' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='_raw_spin_lock_irqsave' mangled-name='_raw_spin_lock_irqsave' filepath='kernel/locking/spinlock.c' line='150' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_raw_spin_lock_irqsave'>
-        <parameter type-id='type-id-884' name='lock' filepath='kernel/locking/spinlock.c' line='150' column='1'/>
-        <return type-id='type-id-16'/>
-      </function-decl>
-      <function-decl name='_raw_spin_lock_irq' mangled-name='_raw_spin_lock_irq' filepath='kernel/locking/spinlock.c' line='158' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_raw_spin_lock_irq'>
-        <parameter type-id='type-id-884' name='lock' filepath='kernel/locking/spinlock.c' line='158' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='_raw_spin_lock_bh' mangled-name='_raw_spin_lock_bh' filepath='kernel/locking/spinlock.c' line='166' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_raw_spin_lock_bh'>
-        <parameter type-id='type-id-884' name='lock' filepath='kernel/locking/spinlock.c' line='166' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='_raw_spin_unlock' mangled-name='_raw_spin_unlock' filepath='kernel/locking/spinlock.c' line='174' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_raw_spin_unlock'>
-        <parameter type-id='type-id-884' name='lock' filepath='kernel/locking/spinlock.c' line='174' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='_raw_spin_unlock_irqrestore' mangled-name='_raw_spin_unlock_irqrestore' filepath='kernel/locking/spinlock.c' line='182' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_raw_spin_unlock_irqrestore'>
-        <parameter type-id='type-id-884' name='lock' filepath='kernel/locking/spinlock.c' line='182' column='1'/>
-        <parameter type-id='type-id-16' name='flags' filepath='kernel/locking/spinlock.c' line='182' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='_raw_spin_unlock_irq' mangled-name='_raw_spin_unlock_irq' filepath='kernel/locking/spinlock.c' line='190' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_raw_spin_unlock_irq'>
-        <parameter type-id='type-id-884' name='lock' filepath='kernel/locking/spinlock.c' line='190' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='_raw_spin_unlock_bh' mangled-name='_raw_spin_unlock_bh' filepath='kernel/locking/spinlock.c' line='198' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_raw_spin_unlock_bh'>
-        <parameter type-id='type-id-884' name='lock' filepath='kernel/locking/spinlock.c' line='198' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='_raw_read_lock' mangled-name='_raw_read_lock' filepath='kernel/locking/spinlock.c' line='214' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_raw_read_lock'>
-        <parameter type-id='type-id-886' name='lock' filepath='kernel/locking/spinlock.c' line='214' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='_raw_read_unlock' mangled-name='_raw_read_unlock' filepath='kernel/locking/spinlock.c' line='246' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_raw_read_unlock'>
-        <parameter type-id='type-id-886' name='lock' filepath='kernel/locking/spinlock.c' line='246' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='_raw_write_lock_bh' mangled-name='_raw_write_lock_bh' filepath='kernel/locking/spinlock.c' line='310' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_raw_write_lock_bh'>
-        <parameter type-id='type-id-886' name='lock' filepath='kernel/locking/spinlock.c' line='310' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='_raw_write_unlock_bh' mangled-name='_raw_write_unlock_bh' filepath='kernel/locking/spinlock.c' line='342' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_raw_write_unlock_bh'>
-        <parameter type-id='type-id-886' name='lock' filepath='kernel/locking/spinlock.c' line='342' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/panic.c' language='LANG_C89'>
-      <function-decl name='panic' mangled-name='panic' filepath='kernel/panic.c' line='136' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='panic'>
-        <parameter type-id='type-id-4' name='fmt' filepath='kernel/panic.c' line='136' column='1'/>
+        <parameter type-id='type-id-24'/>
         <parameter is-variadic='yes'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='__warn_printk' mangled-name='__warn_printk' filepath='kernel/panic.c' line='591' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__warn_printk'>
-        <parameter type-id='type-id-4' name='fmt' filepath='kernel/panic.c' line='591' column='1'/>
-        <parameter is-variadic='yes'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='__stack_chk_fail' mangled-name='__stack_chk_fail' filepath='kernel/panic.c' line='637' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__stack_chk_fail'>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='arch/arm64/kernel/io.c' language='LANG_C89'>
-      <type-decl name='int' size-in-bits='32' id='type-id-17'/>
-      <type-decl name='unsigned long int' size-in-bits='64' id='type-id-16'/>
-      <type-decl name='void' id='type-id-81'/>
-      <typedef-decl name='size_t' type-id='type-id-887' filepath='include/linux/types.h' line='55' column='1' id='type-id-84'/>
-      <typedef-decl name='__kernel_size_t' type-id='type-id-888' filepath='include/uapi/asm-generic/posix_types.h' line='72' column='1' id='type-id-887'/>
-      <typedef-decl name='__kernel_ulong_t' type-id='type-id-16' filepath='include/uapi/asm-generic/posix_types.h' line='16' column='1' id='type-id-888'/>
-      <qualified-type-def type-id='type-id-889' const='yes' id='type-id-890'/>
-      <pointer-type-def type-id='type-id-890' size-in-bits='64' id='type-id-891'/>
-      <pointer-type-def type-id='type-id-81' size-in-bits='64' id='type-id-15'/>
-      <qualified-type-def type-id='type-id-81' volatile='yes' id='type-id-889'/>
-      <pointer-type-def type-id='type-id-889' size-in-bits='64' id='type-id-104'/>
-      <function-decl name='__memcpy_fromio' mangled-name='__memcpy_fromio' filepath='arch/arm64/kernel/io.c' line='26' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__memcpy_fromio'>
-        <parameter type-id='type-id-15' name='to' filepath='arch/arm64/kernel/io.c' line='26' column='1'/>
-        <parameter type-id='type-id-891' name='from' filepath='arch/arm64/kernel/io.c' line='26' column='1'/>
-        <parameter type-id='type-id-84' name='count' filepath='arch/arm64/kernel/io.c' line='26' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='__memcpy_toio' mangled-name='__memcpy_toio' filepath='arch/arm64/kernel/io.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__memcpy_toio'>
-        <parameter type-id='type-id-104' name='to' filepath='arch/arm64/kernel/io.c' line='54' column='1'/>
-        <parameter type-id='type-id-15' name='from' filepath='arch/arm64/kernel/io.c' line='54' column='1'/>
-        <parameter type-id='type-id-84' name='count' filepath='arch/arm64/kernel/io.c' line='54' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='__memset_io' mangled-name='__memset_io' filepath='arch/arm64/kernel/io.c' line='82' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__memset_io'>
-        <parameter type-id='type-id-104' name='dst' filepath='arch/arm64/kernel/io.c' line='82' column='1'/>
-        <parameter type-id='type-id-17' name='c' filepath='arch/arm64/kernel/io.c' line='82' column='1'/>
-        <parameter type-id='type-id-84' name='count' filepath='arch/arm64/kernel/io.c' line='82' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='mm/mmap.c' language='LANG_C89'>
-      <function-decl name='vm_get_page_prot' mangled-name='vm_get_page_prot' filepath='mm/mmap.c' line='105' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vm_get_page_prot'>
-        <parameter type-id='type-id-16' name='vm_flags' filepath='mm/mmap.c' line='105' column='1'/>
-        <return type-id='type-id-102'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/time/time.c' language='LANG_C89'>
-      <function-decl name='jiffies_to_msecs' mangled-name='jiffies_to_msecs' filepath='kernel/time/time.c' line='311' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='jiffies_to_msecs'>
-        <parameter type-id='type-id-892' name='j' filepath='kernel/time/time.c' line='311' column='1'/>
-        <return type-id='type-id-5'/>
-      </function-decl>
-      <function-decl name='__msecs_to_jiffies' mangled-name='__msecs_to_jiffies' filepath='kernel/time/time.c' line='589' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__msecs_to_jiffies'>
-        <parameter type-id='type-id-893' name='m' filepath='kernel/time/time.c' line='589' column='1'/>
-        <return type-id='type-id-16'/>
-      </function-decl>
-      <function-decl name='nsecs_to_jiffies' mangled-name='nsecs_to_jiffies' filepath='kernel/time/time.c' line='829' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nsecs_to_jiffies'>
-        <parameter type-id='type-id-40' name='n' filepath='kernel/time/time.c' line='829' column='1'/>
-        <return type-id='type-id-16'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='fs/sysfs/group.c' language='LANG_C89'>
-      <function-decl name='sysfs_create_group' mangled-name='sysfs_create_group' filepath='fs/sysfs/group.c' line='170' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sysfs_create_group'>
-        <parameter type-id='type-id-379' name='kobj' filepath='fs/sysfs/group.c' line='170' column='1'/>
-        <parameter type-id='type-id-894' name='grp' filepath='fs/sysfs/group.c' line='171' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='sysfs_remove_group' mangled-name='sysfs_remove_group' filepath='fs/sysfs/group.c' line='244' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sysfs_remove_group'>
-        <parameter type-id='type-id-379' name='kobj' filepath='fs/sysfs/group.c' line='244' column='1'/>
-        <parameter type-id='type-id-894' name='grp' filepath='fs/sysfs/group.c' line='245' column='1'/>
-        <return type-id='type-id-81'/>
+        <return type-id='type-id-73'/>
       </function-decl>
     </abi-instr>
     <abi-instr version='1.0' address-size='64' path='kernel/events/core.c' language='LANG_C89'>
 
-      <array-type-def dimensions='1' type-id='type-id-895' size-in-bits='7584' id='type-id-896'>
-        <subrange length='948' type-id='type-id-9' id='type-id-897'/>
+      <array-type-def dimensions='1' type-id='type-id-1122' size-in-bits='7584' id='type-id-7279'>
+        <subrange length='948' type-id='type-id-5' id='type-id-7280'/>
 
       </array-type-def>
-      <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/trace_events.h' line='256' column='1' id='type-id-898'>
-        <data-member access='private'>
-          <var-decl name='name' type-id='type-id-2' visibility='default' filepath='include/linux/trace_events.h' line='257' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='tp' type-id='type-id-883' visibility='default' filepath='include/linux/trace_events.h' line='259' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='perf_event_mmap_page' size-in-bits='8704' is-struct='yes' visibility='default' filepath='include/uapi/linux/perf_event.h' line='473' column='1' id='type-id-899'>
+      <array-type-def dimensions='1' type-id='type-id-7281' size-in-bits='infinite' id='type-id-7282'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <class-decl name='bpf_cgroup_storage_map' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7283'/>
+      <class-decl name='perf_event_mmap_page' size-in-bits='8704' is-struct='yes' visibility='default' filepath='include/uapi/linux/perf_event.h' line='473' column='1' id='type-id-7284'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='version' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/perf_event.h' line='474' column='1'/>
+          <var-decl name='version' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/perf_event.h' line='474' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='compat_version' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/perf_event.h' line='475' column='1'/>
+          <var-decl name='compat_version' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/perf_event.h' line='475' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='lock' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/perf_event.h' line='512' column='1'/>
+          <var-decl name='lock' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/perf_event.h' line='512' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='index' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/perf_event.h' line='513' column='1'/>
+          <var-decl name='index' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/perf_event.h' line='513' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='offset' type-id='type-id-900' visibility='default' filepath='include/uapi/linux/perf_event.h' line='514' column='1'/>
+          <var-decl name='offset' type-id='type-id-1388' visibility='default' filepath='include/uapi/linux/perf_event.h' line='514' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='time_enabled' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='515' column='1'/>
+          <var-decl name='time_enabled' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='515' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='time_running' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='516' column='1'/>
+          <var-decl name='time_running' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='516' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='' type-id='type-id-901' visibility='default' filepath='include/uapi/linux/perf_event.h' line='517' column='1'/>
+          <var-decl name='' type-id='type-id-7285' visibility='default' filepath='include/uapi/linux/perf_event.h' line='517' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='pmc_width' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/perf_event.h' line='539' column='1'/>
+          <var-decl name='pmc_width' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/perf_event.h' line='539' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='400'>
-          <var-decl name='time_shift' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/perf_event.h' line='565' column='1'/>
+          <var-decl name='time_shift' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/perf_event.h' line='565' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='time_mult' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/perf_event.h' line='566' column='1'/>
+          <var-decl name='time_mult' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/perf_event.h' line='566' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='time_offset' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='567' column='1'/>
+          <var-decl name='time_offset' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='567' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='time_zero' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='584' column='1'/>
+          <var-decl name='time_zero' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='584' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='size' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/perf_event.h' line='585' column='1'/>
+          <var-decl name='size' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/perf_event.h' line='585' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='__reserved' type-id='type-id-896' visibility='default' filepath='include/uapi/linux/perf_event.h' line='591' column='1'/>
+          <var-decl name='__reserved' type-id='type-id-7279' visibility='default' filepath='include/uapi/linux/perf_event.h' line='591' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='8192'>
-          <var-decl name='data_head' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='609' column='1'/>
+          <var-decl name='data_head' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='609' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='8256'>
-          <var-decl name='data_tail' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='610' column='1'/>
+          <var-decl name='data_tail' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='610' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='8320'>
-          <var-decl name='data_offset' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='611' column='1'/>
+          <var-decl name='data_offset' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='611' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='8384'>
-          <var-decl name='data_size' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='612' column='1'/>
+          <var-decl name='data_size' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='612' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='8448'>
-          <var-decl name='aux_head' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='625' column='1'/>
+          <var-decl name='aux_head' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='625' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='8512'>
-          <var-decl name='aux_tail' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='626' column='1'/>
+          <var-decl name='aux_tail' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='626' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='8576'>
-          <var-decl name='aux_offset' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='627' column='1'/>
+          <var-decl name='aux_offset' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='627' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='8640'>
-          <var-decl name='aux_size' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='628' column='1'/>
+          <var-decl name='aux_size' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='628' column='1'/>
         </data-member>
       </class-decl>
-      <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/perf_event.h' line='517' column='1' id='type-id-901'>
+      <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/perf_event.h' line='517' column='1' id='type-id-7285'>
         <data-member access='private'>
-          <var-decl name='capabilities' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='518' column='1'/>
+          <var-decl name='capabilities' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='518' column='1'/>
         </data-member>
         <data-member access='private'>
-          <var-decl name='' type-id='type-id-902' visibility='default' filepath='include/uapi/linux/perf_event.h' line='519' column='1'/>
+          <var-decl name='' type-id='type-id-7286' visibility='default' filepath='include/uapi/linux/perf_event.h' line='519' column='1'/>
         </data-member>
       </union-decl>
-      <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/perf_event.h' line='519' column='1' id='type-id-902'>
+      <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/perf_event.h' line='519' column='1' id='type-id-7286'>
         <data-member access='public' layout-offset-in-bits='63'>
-          <var-decl name='cap_bit0' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='520' column='1'/>
+          <var-decl name='cap_bit0' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='520' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='62'>
-          <var-decl name='cap_bit0_is_deprecated' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='521' column='1'/>
+          <var-decl name='cap_bit0_is_deprecated' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='521' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='61'>
-          <var-decl name='cap_user_rdpmc' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='523' column='1'/>
+          <var-decl name='cap_user_rdpmc' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='523' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='60'>
-          <var-decl name='cap_user_time' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='524' column='1'/>
+          <var-decl name='cap_user_time' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='524' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='59'>
-          <var-decl name='cap_user_time_zero' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='525' column='1'/>
+          <var-decl name='cap_user_time_zero' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='525' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cap_____res' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/perf_event.h' line='526' column='1'/>
+          <var-decl name='cap_____res' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/perf_event.h' line='526' column='1'/>
         </data-member>
       </class-decl>
-      <pointer-type-def type-id='type-id-903' size-in-bits='64' id='type-id-904'/>
-      <pointer-type-def type-id='type-id-905' size-in-bits='64' id='type-id-906'/>
-      <pointer-type-def type-id='type-id-907' size-in-bits='64' id='type-id-908'/>
-      <pointer-type-def type-id='type-id-909' size-in-bits='64' id='type-id-910'/>
-      <pointer-type-def type-id='type-id-899' size-in-bits='64' id='type-id-911'/>
-      <pointer-type-def type-id='type-id-912' size-in-bits='64' id='type-id-913'/>
-      <pointer-type-def type-id='type-id-914' size-in-bits='64' id='type-id-915'/>
-      <function-decl name='perf_trace_run_bpf_submit' mangled-name='perf_trace_run_bpf_submit' filepath='kernel/events/core.c' line='8370' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='perf_trace_run_bpf_submit'>
-        <parameter type-id='type-id-15' name='raw_data' filepath='kernel/events/core.c' line='8370' column='1'/>
-        <parameter type-id='type-id-17' name='size' filepath='kernel/events/core.c' line='8370' column='1'/>
-        <parameter type-id='type-id-17' name='rctx' filepath='kernel/events/core.c' line='8370' column='1'/>
-        <parameter type-id='type-id-21' name='call' filepath='kernel/events/core.c' line='8371' column='1'/>
-        <parameter type-id='type-id-40' name='count' filepath='kernel/events/core.c' line='8371' column='1'/>
-        <parameter type-id='type-id-736' name='regs' filepath='kernel/events/core.c' line='8372' column='1'/>
-        <parameter type-id='type-id-746' name='head' filepath='kernel/events/core.c' line='8372' column='1'/>
-        <parameter type-id='type-id-431' name='task' filepath='kernel/events/core.c' line='8373' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-903'>
-        <parameter type-id='type-id-916'/>
-        <parameter type-id='type-id-906'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-907'>
-        <parameter type-id='type-id-906'/>
-        <return type-id='type-id-906'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-909'>
-        <parameter type-id='type-id-431'/>
-        <return type-id='type-id-906'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-912'>
-        <parameter type-id='type-id-906'/>
-        <return type-id='type-id-917'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-914'>
-        <parameter type-id='type-id-906'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='lib/scatterlist.c' language='LANG_C89'>
-      <class-decl name='sg_mapping_iter' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/scatterlist.h' line='413' column='1' id='type-id-918'>
+      <union-decl name='__anonymous_union__4' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/trace_events.h' line='256' column='1' id='type-id-7287'>
+        <data-member access='private'>
+          <var-decl name='name' type-id='type-id-300' visibility='default' filepath='include/linux/trace_events.h' line='257' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='tp' type-id='type-id-6250' visibility='default' filepath='include/linux/trace_events.h' line='259' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='bpf_prog_array_item' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/bpf.h' line='359' column='1' id='type-id-7281'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='page' type-id='type-id-512' visibility='default' filepath='include/linux/scatterlist.h' line='415' column='1'/>
+          <var-decl name='prog' type-id='type-id-3014' visibility='default' filepath='include/linux/bpf.h' line='360' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='addr' type-id='type-id-15' visibility='default' filepath='include/linux/scatterlist.h' line='416' column='1'/>
+          <var-decl name='cgroup_storage' type-id='type-id-7288' visibility='default' filepath='include/linux/bpf.h' line='361' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='bpf_cgroup_storage' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/linux/bpf-cgroup.h' line='34' column='1' id='type-id-7289'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='buf' type-id='type-id-7290' visibility='default' filepath='include/linux/bpf-cgroup.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='map' type-id='type-id-7291' visibility='default' filepath='include/linux/bpf-cgroup.h' line='36' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='length' type-id='type-id-84' visibility='default' filepath='include/linux/scatterlist.h' line='417' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='consumed' type-id='type-id-84' visibility='default' filepath='include/linux/scatterlist.h' line='418' column='1'/>
+          <var-decl name='key' type-id='type-id-7292' visibility='default' filepath='include/linux/bpf-cgroup.h' line='37' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='piter' type-id='type-id-919' visibility='default' filepath='include/linux/scatterlist.h' line='419' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='__offset' type-id='type-id-5' visibility='default' filepath='include/linux/scatterlist.h' line='422' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='__remaining' type-id='type-id-5' visibility='default' filepath='include/linux/scatterlist.h' line='423' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='__flags' type-id='type-id-5' visibility='default' filepath='include/linux/scatterlist.h' line='424' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='sg_page_iter' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/scatterlist.h' line='349' column='1' id='type-id-919'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='sg' type-id='type-id-920' visibility='default' filepath='include/linux/scatterlist.h' line='350' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='sg_pgoffset' type-id='type-id-5' visibility='default' filepath='include/linux/scatterlist.h' line='351' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='__nents' type-id='type-id-5' visibility='default' filepath='include/linux/scatterlist.h' line='354' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='__pg_advance' type-id='type-id-17' visibility='default' filepath='include/linux/scatterlist.h' line='355' column='1'/>
-        </data-member>
-      </class-decl>
-      <pointer-type-def type-id='type-id-918' size-in-bits='64' id='type-id-921'/>
-      <function-decl name='sg_next' mangled-name='sg_next' filepath='lib/scatterlist.c' line='25' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sg_next'>
-        <parameter type-id='type-id-920' name='sg' filepath='lib/scatterlist.c' line='25' column='1'/>
-        <return type-id='type-id-920'/>
-      </function-decl>
-      <function-decl name='sg_nents' mangled-name='sg_nents' filepath='lib/scatterlist.c' line='47' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sg_nents'>
-        <parameter type-id='type-id-920' name='sg' filepath='lib/scatterlist.c' line='47' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='sg_nents_for_len' mangled-name='sg_nents_for_len' filepath='lib/scatterlist.c' line='70' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sg_nents_for_len'>
-        <parameter type-id='type-id-920' name='sg' filepath='lib/scatterlist.c' line='70' column='1'/>
-        <parameter type-id='type-id-40' name='len' filepath='lib/scatterlist.c' line='70' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='sg_init_table' mangled-name='sg_init_table' filepath='lib/scatterlist.c' line='126' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sg_init_table'>
-        <parameter type-id='type-id-920' name='sgl' filepath='lib/scatterlist.c' line='126' column='1'/>
-        <parameter type-id='type-id-5' name='nents' filepath='lib/scatterlist.c' line='126' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='sg_init_one' mangled-name='sg_init_one' filepath='lib/scatterlist.c' line='140' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sg_init_one'>
-        <parameter type-id='type-id-920' name='sg' filepath='lib/scatterlist.c' line='140' column='1'/>
-        <parameter type-id='type-id-15' name='buf' filepath='lib/scatterlist.c' line='140' column='1'/>
-        <parameter type-id='type-id-5' name='buflen' filepath='lib/scatterlist.c' line='140' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='sg_free_table' mangled-name='sg_free_table' filepath='lib/scatterlist.c' line='238' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sg_free_table'>
-        <parameter type-id='type-id-922' name='table' filepath='lib/scatterlist.c' line='238' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='sg_alloc_table' mangled-name='sg_alloc_table' filepath='lib/scatterlist.c' line='347' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sg_alloc_table'>
-        <parameter type-id='type-id-922' name='table' filepath='lib/scatterlist.c' line='347' column='1'/>
-        <parameter type-id='type-id-5' name='nents' filepath='lib/scatterlist.c' line='347' column='1'/>
-        <parameter type-id='type-id-485' name='gfp_mask' filepath='lib/scatterlist.c' line='347' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='sg_alloc_table_from_pages' mangled-name='sg_alloc_table_from_pages' filepath='lib/scatterlist.c' line='456' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sg_alloc_table_from_pages'>
-        <parameter type-id='type-id-922' name='sgt' filepath='lib/scatterlist.c' line='456' column='1'/>
-        <parameter type-id='type-id-923' name='pages' filepath='lib/scatterlist.c' line='456' column='1'/>
-        <parameter type-id='type-id-5' name='n_pages' filepath='lib/scatterlist.c' line='457' column='1'/>
-        <parameter type-id='type-id-5' name='offset' filepath='lib/scatterlist.c' line='457' column='1'/>
-        <parameter type-id='type-id-16' name='size' filepath='lib/scatterlist.c' line='458' column='1'/>
-        <parameter type-id='type-id-485' name='gfp_mask' filepath='lib/scatterlist.c' line='458' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='sg_miter_start' mangled-name='sg_miter_start' filepath='lib/scatterlist.c' line='640' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sg_miter_start'>
-        <parameter type-id='type-id-921' name='miter' filepath='lib/scatterlist.c' line='640' column='1'/>
-        <parameter type-id='type-id-920' name='sgl' filepath='lib/scatterlist.c' line='640' column='1'/>
-        <parameter type-id='type-id-5' name='nents' filepath='lib/scatterlist.c' line='641' column='1'/>
-        <parameter type-id='type-id-5' name='flags' filepath='lib/scatterlist.c' line='641' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='sg_miter_stop' mangled-name='sg_miter_stop' filepath='lib/scatterlist.c' line='766' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sg_miter_stop'>
-        <parameter type-id='type-id-921' name='miter' filepath='lib/scatterlist.c' line='766' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='sg_miter_next' mangled-name='sg_miter_next' filepath='lib/scatterlist.c' line='729' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sg_miter_next'>
-        <parameter type-id='type-id-921' name='miter' filepath='lib/scatterlist.c' line='729' column='1'/>
-        <return type-id='type-id-33'/>
-      </function-decl>
-      <function-decl name='sg_copy_from_buffer' mangled-name='sg_copy_from_buffer' filepath='lib/scatterlist.c' line='852' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sg_copy_from_buffer'>
-        <parameter type-id='type-id-920' name='sgl' filepath='lib/scatterlist.c' line='852' column='1'/>
-        <parameter type-id='type-id-5' name='nents' filepath='lib/scatterlist.c' line='852' column='1'/>
-        <parameter type-id='type-id-15' name='buf' filepath='lib/scatterlist.c' line='853' column='1'/>
-        <parameter type-id='type-id-84' name='buflen' filepath='lib/scatterlist.c' line='853' column='1'/>
-        <return type-id='type-id-84'/>
-      </function-decl>
-      <function-decl name='sg_copy_to_buffer' mangled-name='sg_copy_to_buffer' filepath='lib/scatterlist.c' line='869' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sg_copy_to_buffer'>
-        <parameter type-id='type-id-920' name='sgl' filepath='lib/scatterlist.c' line='869' column='1'/>
-        <parameter type-id='type-id-5' name='nents' filepath='lib/scatterlist.c' line='869' column='1'/>
-        <parameter type-id='type-id-15' name='buf' filepath='lib/scatterlist.c' line='870' column='1'/>
-        <parameter type-id='type-id-84' name='buflen' filepath='lib/scatterlist.c' line='870' column='1'/>
-        <return type-id='type-id-84'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='mm/vmalloc.c' language='LANG_C89'>
-      <class-decl name='device' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-924'/>
-      <pointer-type-def type-id='type-id-924' size-in-bits='64' id='type-id-925'/>
-      <function-decl name='vmalloc_to_page' mangled-name='vmalloc_to_page' filepath='mm/vmalloc.c' line='266' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vmalloc_to_page'>
-        <parameter type-id='type-id-15' name='vmalloc_addr' filepath='mm/vmalloc.c' line='266' column='1'/>
-        <return type-id='type-id-512'/>
-      </function-decl>
-      <function-decl name='vunmap' mangled-name='vunmap' filepath='mm/vmalloc.c' line='1618' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vunmap'>
-        <parameter type-id='type-id-15' name='addr' filepath='mm/vmalloc.c' line='1618' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='vmap' mangled-name='vmap' filepath='mm/vmalloc.c' line='1637' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vmap'>
-        <parameter type-id='type-id-923' name='pages' filepath='mm/vmalloc.c' line='1637' column='1'/>
-        <parameter type-id='type-id-5' name='count' filepath='mm/vmalloc.c' line='1637' column='1'/>
-        <parameter type-id='type-id-16' name='flags' filepath='mm/vmalloc.c' line='1638' column='1'/>
-        <parameter type-id='type-id-102' name='prot' filepath='mm/vmalloc.c' line='1638' column='1'/>
-        <return type-id='type-id-15'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='arch/arm64/net/bpf_jit_comp.c' language='LANG_C89'>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-      <type-decl name='__ARRAY_SIZE_TYPE__' size-in-bits='64' id='type-id-9'/>
-      <array-type-def dimensions='1' type-id='type-id-926' size-in-bits='128' id='type-id-927'>
-        <subrange length='8' type-id='type-id-9' id='type-id-928'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-929' size-in-bits='64' id='type-id-930'>
-        <subrange length='2' type-id='type-id-9' id='type-id-128'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-929' size-in-bits='128' id='type-id-931'>
-        <subrange length='4' type-id='type-id-9' id='type-id-107'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-511' size-in-bits='64' id='type-id-932'>
-        <subrange length='2' type-id='type-id-9' id='type-id-128'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-511' size-in-bits='96' id='type-id-933'>
-        <subrange length='3' type-id='type-id-9' id='type-id-196'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-511' size-in-bits='224' id='type-id-934'>
-        <subrange length='7' type-id='type-id-9' id='type-id-125'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-511' size-in-bits='256' id='type-id-935'>
-        <subrange length='8' type-id='type-id-9' id='type-id-928'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-511' size-in-bits='infinite' id='type-id-936'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-100' size-in-bits='128' id='type-id-937'>
-        <subrange length='2' type-id='type-id-9' id='type-id-128'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-100' size-in-bits='infinite' id='type-id-735'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-895' size-in-bits='128' id='type-id-938'>
-        <subrange length='16' type-id='type-id-9' id='type-id-135'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-895' size-in-bits='16' id='type-id-939'>
-        <subrange length='2' type-id='type-id-9' id='type-id-128'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-895' size-in-bits='256' id='type-id-940'>
-        <subrange length='32' type-id='type-id-9' id='type-id-941'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-895' size-in-bits='24' id='type-id-942'>
-        <subrange length='3' type-id='type-id-9' id='type-id-196'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-895' size-in-bits='416' id='type-id-943'>
-        <subrange length='52' type-id='type-id-9' id='type-id-944'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-895' size-in-bits='48' id='type-id-945'>
-        <subrange length='6' type-id='type-id-9' id='type-id-191'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-895' size-in-bits='infinite' id='type-id-946'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-947' size-in-bits='4096' id='type-id-948'>
-        <subrange length='32' type-id='type-id-9' id='type-id-941'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-115' size-in-bits='256' id='type-id-949'>
-        <subrange length='4' type-id='type-id-9' id='type-id-107'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-115' size-in-bits='32768' id='type-id-950'>
-        <subrange length='512' type-id='type-id-9' id='type-id-951'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-26' size-in-bits='288' id='type-id-952'>
-        <subrange length='9' type-id='type-id-9' id='type-id-953'/>
-
-      </array-type-def>
-      <type-decl name='bool' size-in-bits='8' id='type-id-954'/>
-      <array-type-def dimensions='1' type-id='type-id-955' size-in-bits='infinite' id='type-id-956'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-747' size-in-bits='1344' id='type-id-957'>
-        <subrange length='21' type-id='type-id-9' id='type-id-958'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-959' size-in-bits='infinite' id='type-id-960'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-365' size-in-bits='448' id='type-id-961'>
-        <subrange length='7' type-id='type-id-9' id='type-id-125'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='2048' id='type-id-962'>
-        <subrange length='32' type-id='type-id-9' id='type-id-941'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-2' size-in-bits='192' id='type-id-963'>
-        <subrange length='3' type-id='type-id-9' id='type-id-196'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='1024' id='type-id-964'>
-        <subrange length='128' type-id='type-id-9' id='type-id-965'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='96' id='type-id-966'>
-        <subrange length='12' type-id='type-id-9' id='type-id-967'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='112' id='type-id-968'>
-        <subrange length='14' type-id='type-id-9' id='type-id-117'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='128' id='type-id-43'>
-        <subrange length='16' type-id='type-id-9' id='type-id-135'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='16384' id='type-id-969'>
-        <subrange length='2048' type-id='type-id-9' id='type-id-970'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='256' id='type-id-373'>
-        <subrange length='32' type-id='type-id-9' id='type-id-941'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='32768' id='type-id-971'>
-        <subrange length='4096' type-id='type-id-9' id='type-id-218'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='384' id='type-id-972'>
-        <subrange length='48' type-id='type-id-9' id='type-id-973'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='448' id='type-id-974'>
-        <subrange length='56' type-id='type-id-9' id='type-id-123'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='512' id='type-id-250'>
-        <subrange length='64' type-id='type-id-9' id='type-id-188'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='64' id='type-id-975'>
-        <subrange length='8' type-id='type-id-9' id='type-id-928'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='infinite' id='type-id-440'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <class-decl name='acpi_device_id' size-in-bits='256' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-976'/>
-      <class-decl name='anon_vma' size-in-bits='640' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-977'/>
-      <class-decl name='assoc_array_ptr' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-978'/>
-      <class-decl name='audit_context' size-in-bits='7360' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-979'/>
-      <class-decl name='autogroup' size-in-bits='576' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-980'/>
-      <class-decl name='backing_dev_info' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-981'/>
-      <class-decl name='bdi_writeback' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-982'/>
-      <class-decl name='bio_list' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-983'/>
-      <class-decl name='bio_vec' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-984'/>
-      <class-decl name='blk_plug' size-in-bits='384' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-985'/>
-      <class-decl name='bpf_cgroup_storage_map' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-986'/>
-      <class-decl name='bpf_verifier_env' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-987'/>
-      <class-decl name='btf' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-988'/>
-      <class-decl name='btf_type' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-989'/>
-      <class-decl name='bucket_table' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-990'/>
-      <class-decl name='can_dev_rcv_lists' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-991'/>
-      <class-decl name='cdev' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-992'/>
-      <class-decl name='cfs_rq' size-in-bits='3072' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-993'/>
-      <class-decl name='cgroup_taskset' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-994'/>
-      <class-decl name='cma' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-995'/>
-      <class-decl name='cpu_rmap' size-in-bits='128' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-996'/>
-      <class-decl name='dev_pin_info' size-in-bits='320' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-997'/>
-      <class-decl name='dev_pm_qos' size-in-bits='1024' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-998'/>
-      <class-decl name='device_node' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-999'/>
-      <class-decl name='device_private' size-in-bits='1344' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1000'/>
-      <class-decl name='dma_coherent_mem' size-in-bits='384' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1001'/>
-      <class-decl name='driver_private' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1002'/>
-      <class-decl name='dst_entry' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1003'/>
-      <class-decl name='export_operations' size-in-bits='576' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1004'/>
-      <class-decl name='fib6_info' size-in-bits='1792' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1005'/>
-      <class-decl name='fib6_table' size-in-bits='960' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1006'/>
-      <class-decl name='fib_notifier_ops' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1007'/>
-      <class-decl name='fib_rules_ops' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1008'/>
-      <class-decl name='fib_table' size-in-bits='384' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1009'/>
-      <class-decl name='files_struct' size-in-bits='5632' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1010'/>
-      <class-decl name='fs_struct' size-in-bits='448' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1011'/>
-      <class-decl name='fscrypt_info' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1012'/>
-      <class-decl name='fscrypt_operations' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1013'/>
-      <class-decl name='fsnotify_mark_connector' size-in-bits='192' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1014'/>
-      <class-decl name='fsverity_info' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1015'/>
-      <class-decl name='fsverity_operations' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1016'/>
-      <class-decl name='futex_pi_state' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1017'/>
-      <class-decl name='gendisk' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1018'/>
-      <class-decl name='hd_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1019'/>
-      <class-decl name='in_device' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1020'/>
-      <class-decl name='inet6_dev' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1021'/>
-      <class-decl name='inet_hashinfo' size-in-bits='4608' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1022'/>
-      <class-decl name='inet_peer_base' size-in-bits='192' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1023'/>
-      <class-decl name='iommu_fwspec' size-in-bits='256' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1024'/>
-      <class-decl name='iommu_group' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1025'/>
-      <class-decl name='iommu_ops' size-in-bits='1664' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1026'/>
-      <class-decl name='ip_ra_chain' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1027'/>
-      <class-decl name='ipc_namespace' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1028'/>
-      <class-decl name='ipv4_devconf' size-in-bits='1152' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1029'/>
-      <class-decl name='ipv6_devconf' size-in-bits='1792' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1030'/>
-      <class-decl name='irq_domain' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1031'/>
-      <class-decl name='iw_handler_def' size-in-bits='320' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1032'/>
-      <class-decl name='iw_public_data' size-in-bits='128' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1033'/>
-      <class-decl name='kernfs_iattrs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1034'/>
-      <class-decl name='kernfs_open_node' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1035'/>
-      <class-decl name='key_type' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1036'/>
-      <class-decl name='key_user' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1037'/>
-      <class-decl name='kioctx_table' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1038'/>
-      <class-decl name='kmem_cache' size-in-bits='2752' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1039'/>
-      <class-decl name='kstatfs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1040'/>
-      <class-decl name='linux_binfmt' size-in-bits='448' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1041'/>
-      <class-decl name='mem_cgroup' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1042'/>
-      <class-decl name='mnt_namespace' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1043'/>
-      <class-decl name='module_notes_attrs' size-in-bits='128' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1044'/>
-      <class-decl name='module_param_attrs' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1045'/>
-      <class-decl name='module_sect_attrs' size-in-bits='384' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1046'/>
-      <class-decl name='mtd_info' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1047'/>
-      <class-decl name='nameidata' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1048'/>
-      <class-decl name='ndisc_ops' size-in-bits='384' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1049'/>
-      <class-decl name='neigh_parms' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1050'/>
-      <class-decl name='neighbour' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1051'/>
-      <class-decl name='net_generic' size-in-bits='192' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1052'/>
-      <class-decl name='net_rate_estimator' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1053'/>
-      <class-decl name='nf_ct_event_notifier' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1054'/>
-      <class-decl name='nf_exp_event_notifier' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1055'/>
-      <class-decl name='nf_hook_entries' size-in-bits='64' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1056'/>
-      <class-decl name='nf_logger' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1057'/>
-      <class-decl name='nf_queue_handler' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1058'/>
-      <class-decl name='nfs4_lock_state' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1059'/>
-      <class-decl name='nlm_lockowner' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1060'/>
-      <class-decl name='of_device_id' size-in-bits='1600' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1061'/>
-      <class-decl name='pcpu_dstats' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1062'/>
-      <class-decl name='pcpu_lstats' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1063'/>
-      <class-decl name='pcpu_vstats' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1064'/>
-      <class-decl name='perf_event' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1065'/>
-      <class-decl name='perf_event_context' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1066'/>
-      <class-decl name='phy_device' size-in-bits='9408' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1067'/>
-      <class-decl name='poll_table_struct' size-in-bits='128' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1068'/>
-      <class-decl name='pollfd' size-in-bits='64' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1069'/>
-      <class-decl name='posix_acl' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1070'/>
-      <class-decl name='proc_dir_entry' size-in-bits='1408' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1071'/>
-      <class-decl name='proc_ns_operations' size-in-bits='512' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1072'/>
-      <class-decl name='prot_inuse' size-in-bits='2048' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1073'/>
-      <class-decl name='qdisc_walker' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1074'/>
-      <class-decl name='rcu_node' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1075'/>
-      <class-decl name='reclaim_state' size-in-bits='64' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1076'/>
-      <class-decl name='request_queue' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1077'/>
-      <class-decl name='robust_list_head' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1078'/>
-      <class-decl name='rt6_info' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1079'/>
-      <class-decl name='rt6_statistics' size-in-bits='224' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1080'/>
-      <class-decl name='rt_mutex_waiter' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1081'/>
-      <class-decl name='rt_rq' size-in-bits='13824' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1082'/>
-      <class-decl name='s_pstats' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1083'/>
-      <class-decl name='s_stats' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1084'/>
-      <class-decl name='sched_class' size-in-bits='1536' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1085'/>
-      <class-decl name='sec_path' size-in-bits='704' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1086'/>
-      <class-decl name='seccomp_filter' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1087'/>
-      <class-decl name='seg6_pernet_data' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1088'/>
-      <class-decl name='sfp_bus' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1089'/>
-      <class-decl name='sock' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1090'/>
-      <class-decl name='subsys_private' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1091'/>
-      <class-decl name='swap_info_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1092'/>
-      <class-decl name='task_group' size-in-bits='4608' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1093'/>
-      <class-decl name='tcf_walker' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1094'/>
-      <class-decl name='tcp_congestion_ops' size-in-bits='1216' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1095'/>
-      <class-decl name='tcp_fastopen_context' size-in-bits='320' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1096'/>
-      <class-decl name='tipc_bearer' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1097'/>
-      <class-decl name='trace_eval_map' size-in-bits='192' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1098'/>
-      <class-decl name='trace_event_call' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1099'/>
-      <class-decl name='tty_audit_buf' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1100'/>
-      <class-decl name='tty_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1101'/>
-      <class-decl name='udp_tunnel_info' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1102'/>
-      <class-decl name='uevent_sock' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1103'/>
-      <class-decl name='uprobe' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1104'/>
-      <class-decl name='uts_namespace' size-in-bits='3520' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1105'/>
-      <class-decl name='vfsmount' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1106'/>
-      <class-decl name='wake_irq' size-in-bits='192' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1107'/>
-      <class-decl name='wireless_dev' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1108'/>
-      <class-decl name='workqueue_struct' size-in-bits='2560' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1109'/>
-      <class-decl name='wpan_dev' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1110'/>
-      <class-decl name='writeback_control' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1111'/>
-      <class-decl name='xattr_handler' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1112'/>
-      <class-decl name='xdp_umem' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1113'/>
-      <class-decl name='xol_area' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1114'/>
-      <class-decl name='xt_table' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-1115'/>
-      <array-type-def dimensions='1' type-id='type-id-894' size-in-bits='256' id='type-id-1116'>
-        <subrange length='4' type-id='type-id-9' id='type-id-107'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1117' size-in-bits='832' id='type-id-1118'>
-        <subrange length='13' type-id='type-id-9' id='type-id-201'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1119' size-in-bits='192' id='type-id-1120'>
-        <subrange length='3' type-id='type-id-9' id='type-id-196'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1121' size-in-bits='256' id='type-id-1122'>
-        <subrange length='2' type-id='type-id-9' id='type-id-128'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-186' size-in-bits='1024' id='type-id-1123'>
-        <subrange length='16' type-id='type-id-9' id='type-id-135'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-186' size-in-bits='192' id='type-id-1124'>
-        <subrange length='3' type-id='type-id-9' id='type-id-196'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-186' size-in-bits='256' id='type-id-1125'>
-        <subrange length='4' type-id='type-id-9' id='type-id-107'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-520' size-in-bits='512' id='type-id-1126'>
-        <subrange length='4' type-id='type-id-9' id='type-id-107'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1127' size-in-bits='4096' id='type-id-1128'>
-        <subrange length='8' type-id='type-id-9' id='type-id-928'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1129' size-in-bits='192' id='type-id-1130'>
-        <subrange length='3' type-id='type-id-9' id='type-id-196'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-17' size-in-bits='896' id='type-id-1131'>
-        <subrange length='28' type-id='type-id-9' id='type-id-1132'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-17' size-in-bits='64' id='type-id-465'>
-        <subrange length='2' type-id='type-id-9' id='type-id-128'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-17' size-in-bits='96' id='type-id-1133'>
-        <subrange length='3' type-id='type-id-9' id='type-id-196'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-17' size-in-bits='128' id='type-id-1134'>
-        <subrange length='4' type-id='type-id-9' id='type-id-107'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-17' size-in-bits='288' id='type-id-1135'>
-        <subrange length='9' type-id='type-id-9' id='type-id-953'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-17' size-in-bits='infinite' id='type-id-1136'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1137' size-in-bits='16384' id='type-id-1138'>
-        <subrange length='64' type-id='type-id-9' id='type-id-188'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-330' size-in-bits='64' id='type-id-1139'>
-        <subrange length='2' type-id='type-id-9' id='type-id-128'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-330' size-in-bits='infinite' id='type-id-1140'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='1664' id='type-id-1141'>
-        <subrange length='13' type-id='type-id-9' id='type-id-201'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='2688' id='type-id-1142'>
-        <subrange length='21' type-id='type-id-9' id='type-id-958'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='384' id='type-id-457'>
-        <subrange length='3' type-id='type-id-9' id='type-id-196'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='896' id='type-id-1143'>
-        <subrange length='7' type-id='type-id-9' id='type-id-125'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1144' size-in-bits='infinite' id='type-id-1145'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1146' id='type-id-1147'>
-        <subrange length='3' type-id='type-id-9' id='type-id-196'/>
-
-      </array-type-def>
-      <type-decl name='long int' size-in-bits='64' id='type-id-192'/>
-      <array-type-def dimensions='1' type-id='type-id-192' size-in-bits='384' id='type-id-349'>
-        <subrange length='6' type-id='type-id-9' id='type-id-191'/>
-
-      </array-type-def>
-      <type-decl name='long long int' size-in-bits='64' id='type-id-1148'/>
-      <array-type-def dimensions='1' type-id='type-id-1149' size-in-bits='1728' id='type-id-1150'>
-        <subrange length='3' type-id='type-id-9' id='type-id-196'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1151' size-in-bits='512' id='type-id-1152'>
-        <subrange length='16' type-id='type-id-9' id='type-id-135'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1153' size-in-bits='192' id='type-id-1154'>
-        <subrange length='3' type-id='type-id-9' id='type-id-196'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1153' size-in-bits='320' id='type-id-1155'>
-        <subrange length='5' type-id='type-id-9' id='type-id-110'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1156' size-in-bits='3072' id='type-id-1157'>
-        <subrange length='3' type-id='type-id-9' id='type-id-196'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1158' size-in-bits='1024' id='type-id-1159'>
-        <subrange length='16' type-id='type-id-9' id='type-id-135'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1160' size-in-bits='128' id='type-id-1161'>
-        <subrange length='2' type-id='type-id-9' id='type-id-128'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-251' size-in-bits='256' id='type-id-1162'>
-        <subrange length='4' type-id='type-id-9' id='type-id-107'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1163' size-in-bits='1344' id='type-id-1164'>
-        <subrange length='3' type-id='type-id-9' id='type-id-196'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-422' size-in-bits='384' id='type-id-1165'>
-        <subrange length='2' type-id='type-id-9' id='type-id-128'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1166' size-in-bits='2048' id='type-id-1167'>
-        <subrange length='16' type-id='type-id-9' id='type-id-135'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1168' size-in-bits='infinite' id='type-id-1169'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <type-decl name='short int' size-in-bits='16' id='type-id-261'/>
-      <type-decl name='signed char' size-in-bits='8' id='type-id-1170'/>
-      <array-type-def dimensions='1' type-id='type-id-1171' size-in-bits='infinite' id='type-id-1172'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <typedef-decl name='__uint128_t' type-id='type-id-1173' id='type-id-947'/>
-      <array-type-def dimensions='1' type-id='type-id-688' size-in-bits='infinite' id='type-id-1174'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='672' id='type-id-1175'>
-        <subrange length='21' type-id='type-id-9' id='type-id-958'/>
-
-      </array-type-def>
-      <array-type-def dimensions='2' type-id='type-id-7' size-in-bits='256' id='type-id-1176'>
-        <subrange length='2' type-id='type-id-9' id='type-id-128'/>
-
-        <subrange length='6' type-id='type-id-9' id='type-id-191'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='160' id='type-id-1177'>
-        <subrange length='5' type-id='type-id-9' id='type-id-110'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='192' id='type-id-1178'>
-        <subrange length='6' type-id='type-id-9' id='type-id-191'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-40' size-in-bits='128' id='type-id-739'>
-        <subrange length='2' type-id='type-id-9' id='type-id-128'/>
-
-      </array-type-def>
-      <array-type-def dimensions='2' type-id='type-id-40' size-in-bits='448' id='type-id-1179'>
-        <subrange length='2' type-id='type-id-9' id='type-id-128'/>
-
-        <subrange length='5' type-id='type-id-9' id='type-id-110'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-40' size-in-bits='2368' id='type-id-1180'>
-        <subrange length='37' type-id='type-id-9' id='type-id-148'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-40' size-in-bits='320' id='type-id-498'>
-        <subrange length='5' type-id='type-id-9' id='type-id-110'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-40' size-in-bits='512' id='type-id-1181'>
-        <subrange length='8' type-id='type-id-9' id='type-id-928'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-214' size-in-bits='128' id='type-id-1182'>
-        <subrange length='16' type-id='type-id-9' id='type-id-135'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-214' size-in-bits='160' id='type-id-1183'>
-        <subrange length='20' type-id='type-id-9' id='type-id-1184'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-214' size-in-bits='24' id='type-id-1185'>
-        <subrange length='3' type-id='type-id-9' id='type-id-196'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-214' size-in-bits='64' id='type-id-1186'>
-        <subrange length='8' type-id='type-id-9' id='type-id-928'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1187' size-in-bits='480' id='type-id-1188'>
-        <subrange length='5' type-id='type-id-9' id='type-id-110'/>
-
-      </array-type-def>
-      <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-94'/>
-      <type-decl name='unsigned __int128' size-in-bits='128' id='type-id-1173'/>
-      <type-decl name='unsigned char' size-in-bits='8' id='type-id-216'/>
-      <array-type-def dimensions='1' type-id='type-id-216' size-in-bits='256' id='type-id-35'>
-        <subrange length='32' type-id='type-id-9' id='type-id-941'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-216' size-in-bits='48' id='type-id-1189'>
-        <subrange length='6' type-id='type-id-9' id='type-id-191'/>
-
-      </array-type-def>
-      <type-decl name='unsigned int' size-in-bits='32' id='type-id-5'/>
-      <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='320' id='type-id-1190'>
-        <subrange length='10' type-id='type-id-9' id='type-id-1191'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='448' id='type-id-1192'>
-        <subrange length='14' type-id='type-id-9' id='type-id-117'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='64' id='type-id-488'>
-        <subrange length='2' type-id='type-id-9' id='type-id-128'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='96' id='type-id-1193'>
-        <subrange length='3' type-id='type-id-9' id='type-id-196'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='192' id='type-id-1194'>
-        <subrange length='6' type-id='type-id-9' id='type-id-191'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='7552' id='type-id-1195'>
-        <subrange length='118' type-id='type-id-9' id='type-id-1196'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='768' id='type-id-1197'>
-        <subrange length='12' type-id='type-id-9' id='type-id-967'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='1024' id='type-id-1198'>
-        <subrange length='16' type-id='type-id-9' id='type-id-135'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='64' id='type-id-491'>
-        <subrange length='1' type-id='type-id-9' id='type-id-180'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='1792' id='type-id-1199'>
-        <subrange length='28' type-id='type-id-9' id='type-id-1132'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='1856' id='type-id-1200'>
-        <subrange length='29' type-id='type-id-9' id='type-id-119'/>
-
-      </array-type-def>
-      <array-type-def dimensions='2' type-id='type-id-16' size-in-bits='256' id='type-id-1201'>
-        <subrange length='3' type-id='type-id-9' id='type-id-196'/>
-
-        <subrange length='1' type-id='type-id-9' id='type-id-180'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='2944' id='type-id-1202'>
-        <subrange length='46' type-id='type-id-9' id='type-id-1203'/>
-
-      </array-type-def>
-      <array-type-def dimensions='2' type-id='type-id-16' size-in-bits='512' id='type-id-1204'>
-        <subrange length='5' type-id='type-id-9' id='type-id-110'/>
-
-        <subrange length='3' type-id='type-id-9' id='type-id-196'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='384' id='type-id-1205'>
-        <subrange length='6' type-id='type-id-9' id='type-id-191'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='576' id='type-id-1206'>
-        <subrange length='9' type-id='type-id-9' id='type-id-953'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='infinite' id='type-id-280'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <type-decl name='unsigned short int' size-in-bits='16' id='type-id-312'/>
-      <array-type-def dimensions='1' type-id='type-id-1207' size-in-bits='128' id='type-id-1208'>
-        <subrange length='1' type-id='type-id-9' id='type-id-180'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1209' size-in-bits='256' id='type-id-1210'>
-        <subrange length='4' type-id='type-id-9' id='type-id-107'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-15' size-in-bits='256' id='type-id-1211'>
-        <subrange length='4' type-id='type-id-9' id='type-id-107'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-15' size-in-bits='4096' id='type-id-1212'>
-        <subrange length='64' type-id='type-id-9' id='type-id-188'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-15' size-in-bits='infinite' id='type-id-1213'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1214' size-in-bits='384' id='type-id-1215'>
-        <subrange length='3' type-id='type-id-9' id='type-id-196'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1216' size-in-bits='infinite' id='type-id-1217'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <typedef-decl name='bool' type-id='type-id-954' filepath='include/linux/types.h' line='30' column='1' id='type-id-33'/>
-      <class-decl name='bpf_prog' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/filter.h' line='480' column='1' id='type-id-1218'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='pages' type-id='type-id-688' visibility='default' filepath='include/linux/filter.h' line='481' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='15'>
-          <var-decl name='jited' type-id='type-id-688' visibility='default' filepath='include/linux/filter.h' line='482' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='14'>
-          <var-decl name='jit_requested' type-id='type-id-688' visibility='default' filepath='include/linux/filter.h' line='483' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='13'>
-          <var-decl name='undo_set_mem' type-id='type-id-688' visibility='default' filepath='include/linux/filter.h' line='484' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='12'>
-          <var-decl name='gpl_compatible' type-id='type-id-688' visibility='default' filepath='include/linux/filter.h' line='485' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='11'>
-          <var-decl name='cb_access' type-id='type-id-688' visibility='default' filepath='include/linux/filter.h' line='486' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10'>
-          <var-decl name='dst_needed' type-id='type-id-688' visibility='default' filepath='include/linux/filter.h' line='487' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9'>
-          <var-decl name='blinded' type-id='type-id-688' visibility='default' filepath='include/linux/filter.h' line='488' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='is_func' type-id='type-id-688' visibility='default' filepath='include/linux/filter.h' line='489' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7'>
-          <var-decl name='kprobe_override' type-id='type-id-688' visibility='default' filepath='include/linux/filter.h' line='490' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6'>
-          <var-decl name='has_callchain_buf' type-id='type-id-688' visibility='default' filepath='include/linux/filter.h' line='491' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='type' type-id='type-id-1219' visibility='default' filepath='include/linux/filter.h' line='492' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='expected_attach_type' type-id='type-id-1220' visibility='default' filepath='include/linux/filter.h' line='493' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='len' type-id='type-id-7' visibility='default' filepath='include/linux/filter.h' line='494' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='jited_len' type-id='type-id-7' visibility='default' filepath='include/linux/filter.h' line='495' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='tag' type-id='type-id-1186' visibility='default' filepath='include/linux/filter.h' line='496' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='aux' type-id='type-id-1221' visibility='default' filepath='include/linux/filter.h' line='497' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='orig_prog' type-id='type-id-1222' visibility='default' filepath='include/linux/filter.h' line='498' column='1'/>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/bpf-cgroup.h' line='38' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='bpf_func' type-id='type-id-1223' visibility='default' filepath='include/linux/filter.h' line='499' column='1'/>
+          <var-decl name='node' type-id='type-id-1846' visibility='default' filepath='include/linux/bpf-cgroup.h' line='39' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='' type-id='type-id-1224' visibility='default' filepath='include/linux/filter.h' line='502' column='1'/>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/linux/bpf-cgroup.h' line='40' column='1'/>
         </data-member>
       </class-decl>
-      <typedef-decl name='u16' type-id='type-id-108' filepath='include/asm-generic/int-ll64.h' line='19' column='1' id='type-id-688'/>
-      <typedef-decl name='__u16' type-id='type-id-312' filepath='include/uapi/asm-generic/int-ll64.h' line='24' column='1' id='type-id-108'/>
-      <enum-decl name='bpf_prog_type' filepath='include/uapi/linux/bpf.h' line='132' column='1' id='type-id-1219'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='BPF_PROG_TYPE_UNSPEC' value='0'/>
-        <enumerator name='BPF_PROG_TYPE_SOCKET_FILTER' value='1'/>
-        <enumerator name='BPF_PROG_TYPE_KPROBE' value='2'/>
-        <enumerator name='BPF_PROG_TYPE_SCHED_CLS' value='3'/>
-        <enumerator name='BPF_PROG_TYPE_SCHED_ACT' value='4'/>
-        <enumerator name='BPF_PROG_TYPE_TRACEPOINT' value='5'/>
-        <enumerator name='BPF_PROG_TYPE_XDP' value='6'/>
-        <enumerator name='BPF_PROG_TYPE_PERF_EVENT' value='7'/>
-        <enumerator name='BPF_PROG_TYPE_CGROUP_SKB' value='8'/>
-        <enumerator name='BPF_PROG_TYPE_CGROUP_SOCK' value='9'/>
-        <enumerator name='BPF_PROG_TYPE_LWT_IN' value='10'/>
-        <enumerator name='BPF_PROG_TYPE_LWT_OUT' value='11'/>
-        <enumerator name='BPF_PROG_TYPE_LWT_XMIT' value='12'/>
-        <enumerator name='BPF_PROG_TYPE_SOCK_OPS' value='13'/>
-        <enumerator name='BPF_PROG_TYPE_SK_SKB' value='14'/>
-        <enumerator name='BPF_PROG_TYPE_CGROUP_DEVICE' value='15'/>
-        <enumerator name='BPF_PROG_TYPE_SK_MSG' value='16'/>
-        <enumerator name='BPF_PROG_TYPE_RAW_TRACEPOINT' value='17'/>
-        <enumerator name='BPF_PROG_TYPE_CGROUP_SOCK_ADDR' value='18'/>
-        <enumerator name='BPF_PROG_TYPE_LWT_SEG6LOCAL' value='19'/>
-        <enumerator name='BPF_PROG_TYPE_LIRC_MODE2' value='20'/>
-        <enumerator name='BPF_PROG_TYPE_SK_REUSEPORT' value='21'/>
+      <class-decl name='bpf_storage_buffer' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/bpf-cgroup.h' line='29' column='1' id='type-id-7293'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/linux/bpf-cgroup.h' line='30' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='data' type-id='type-id-1049' visibility='default' filepath='include/linux/bpf-cgroup.h' line='31' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='bpf_cgroup_storage_key' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/bpf.h' line='78' column='1' id='type-id-7292'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cgroup_inode_id' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/bpf.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='attach_type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='80' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-7289' size-in-bits='64' id='type-id-7288'/>
+      <pointer-type-def type-id='type-id-7283' size-in-bits='64' id='type-id-7291'/>
+      <pointer-type-def type-id='type-id-7293' size-in-bits='64' id='type-id-7290'/>
+      <pointer-type-def type-id='type-id-7284' size-in-bits='64' id='type-id-7294'/>
+      <function-decl name='device_del' mangled-name='device_del' filepath='include/linux/device.h' line='1263' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_del'>
+        <parameter type-id='type-id-86'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='device_remove_file' mangled-name='device_remove_file' filepath='include/linux/device.h' line='632' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_remove_file'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-7295'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='device_initialize' mangled-name='device_initialize' filepath='include/linux/device.h' line='1261' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_initialize'>
+        <parameter type-id='type-id-86'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='device_add' mangled-name='device_add' filepath='include/linux/device.h' line='1262' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_add'>
+        <parameter type-id='type-id-86'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='get_unused_fd_flags' mangled-name='get_unused_fd_flags' filepath='include/linux/file.h' line='84' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_unused_fd_flags'>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='anon_inode_getfile' mangled-name='anon_inode_getfile' filepath='include/linux/anon_inodes.h' line='14' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='anon_inode_getfile'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-1209'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-147'/>
+      </function-decl>
+      <function-decl name='fd_install' mangled-name='fd_install' filepath='include/linux/file.h' line='87' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fd_install'>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-147'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='put_unused_fd' mangled-name='put_unused_fd' filepath='include/linux/file.h' line='85' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='put_unused_fd'>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='bus_register' mangled-name='bus_register' filepath='include/linux/device.h' line='156' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bus_register'>
+        <parameter type-id='type-id-531'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='perf_pmu_register' mangled-name='perf_pmu_register' filepath='kernel/events/core.c' line='9691' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='perf_pmu_register'>
+        <parameter type-id='type-id-4902' name='pmu' filepath='kernel/events/core.c' line='9691' column='1'/>
+        <parameter type-id='type-id-24' name='name' filepath='kernel/events/core.c' line='9691' column='1'/>
+        <parameter type-id='type-id-11' name='type' filepath='kernel/events/core.c' line='9691' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='perf_event_enable' mangled-name='perf_event_enable' filepath='kernel/events/core.c' line='2723' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='perf_event_enable'>
+        <parameter type-id='type-id-174' name='event' filepath='kernel/events/core.c' line='2723' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='perf_event_read_value' mangled-name='perf_event_read_value' filepath='kernel/events/core.c' line='4709' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='perf_event_read_value'>
+        <parameter type-id='type-id-174' name='event' filepath='kernel/events/core.c' line='4709' column='1'/>
+        <parameter type-id='type-id-1888' name='enabled' filepath='kernel/events/core.c' line='4709' column='1'/>
+        <parameter type-id='type-id-1888' name='running' filepath='kernel/events/core.c' line='4709' column='1'/>
+        <return type-id='type-id-134'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/events/ring_buffer.c' language='LANG_C89'>
+      <function-decl name='split_page' mangled-name='split_page' filepath='include/linux/mm.h' line='673' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='split_page'>
+        <parameter type-id='type-id-120'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/events/uprobes.c' language='LANG_C89'>
+      <function-decl name='rb_prev' mangled-name='rb_prev' filepath='include/linux/rbtree.h' line='83' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rb_prev'>
+        <parameter type-id='type-id-7296'/>
+        <return type-id='type-id-4914'/>
+      </function-decl>
+      <function-decl name='shmem_read_mapping_page_gfp' mangled-name='shmem_read_mapping_page_gfp' filepath='include/linux/shmem_fs.h' line='72' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='shmem_read_mapping_page_gfp'>
+        <parameter type-id='type-id-5008'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-120'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/exit.c' language='LANG_C89'>
+      <class-decl name='wait_queue_entry' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/wait.h' line='27' column='1' id='type-id-7297'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='include/linux/wait.h' line='28' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='private' type-id='type-id-3' visibility='default' filepath='include/linux/wait.h' line='29' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='func' type-id='type-id-7298' visibility='default' filepath='include/linux/wait.h' line='30' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='entry' type-id='type-id-8' visibility='default' filepath='include/linux/wait.h' line='31' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='wait_queue_func_t' type-id='type-id-7299' filepath='include/linux/wait.h' line='16' column='1' id='type-id-7298'/>
+      <pointer-type-def type-id='type-id-7300' size-in-bits='64' id='type-id-7299'/>
+      <pointer-type-def type-id='type-id-7297' size-in-bits='64' id='type-id-7301'/>
+      <pointer-type-def type-id='type-id-5302' size-in-bits='64' id='type-id-7302'/>
+      <function-decl name='hrtimer_cancel' mangled-name='hrtimer_cancel' filepath='include/linux/hrtimer.h' line='401' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='hrtimer_cancel'>
+        <parameter type-id='type-id-183'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='find_get_pid' mangled-name='find_get_pid' filepath='include/linux/pid.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='find_get_pid'>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-1213'/>
+      </function-decl>
+      <function-decl name='add_wait_queue' mangled-name='add_wait_queue' filepath='include/linux/wait.h' line='150' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='add_wait_queue'>
+        <parameter type-id='type-id-7302'/>
+        <parameter type-id='type-id-7301'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='remove_wait_queue' mangled-name='remove_wait_queue' filepath='include/linux/wait.h' line='152' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='remove_wait_queue'>
+        <parameter type-id='type-id-7302'/>
+        <parameter type-id='type-id-7301'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='blocking_notifier_call_chain' mangled-name='blocking_notifier_call_chain' filepath='include/linux/notifier.h' line='171' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blocking_notifier_call_chain'>
+        <parameter type-id='type-id-7271'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='complete_and_exit' mangled-name='complete_and_exit' filepath='kernel/exit.c' line='942' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='complete_and_exit'>
+        <parameter type-id='type-id-176' name='comp' filepath='kernel/exit.c' line='942' column='1'/>
+        <parameter type-id='type-id-187' name='code' filepath='kernel/exit.c' line='942' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-7300'>
+        <parameter type-id='type-id-7301'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/fork.c' language='LANG_C89'>
+      <enum-decl name='tk_offsets' filepath='include/linux/timekeeping.h' line='60' column='1' id='type-id-7303'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='TK_OFFS_REAL' value='0'/>
+        <enumerator name='TK_OFFS_BOOT' value='1'/>
+        <enumerator name='TK_OFFS_TAI' value='2'/>
+        <enumerator name='TK_OFFS_MAX' value='3'/>
       </enum-decl>
-      <enum-decl name='bpf_attach_type' filepath='include/uapi/linux/bpf.h' line='157' column='1' id='type-id-1220'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='BPF_CGROUP_INET_INGRESS' value='0'/>
-        <enumerator name='BPF_CGROUP_INET_EGRESS' value='1'/>
-        <enumerator name='BPF_CGROUP_INET_SOCK_CREATE' value='2'/>
-        <enumerator name='BPF_CGROUP_SOCK_OPS' value='3'/>
-        <enumerator name='BPF_SK_SKB_STREAM_PARSER' value='4'/>
-        <enumerator name='BPF_SK_SKB_STREAM_VERDICT' value='5'/>
-        <enumerator name='BPF_CGROUP_DEVICE' value='6'/>
-        <enumerator name='BPF_SK_MSG_VERDICT' value='7'/>
-        <enumerator name='BPF_CGROUP_INET4_BIND' value='8'/>
-        <enumerator name='BPF_CGROUP_INET6_BIND' value='9'/>
-        <enumerator name='BPF_CGROUP_INET4_CONNECT' value='10'/>
-        <enumerator name='BPF_CGROUP_INET6_CONNECT' value='11'/>
-        <enumerator name='BPF_CGROUP_INET4_POST_BIND' value='12'/>
-        <enumerator name='BPF_CGROUP_INET6_POST_BIND' value='13'/>
-        <enumerator name='BPF_CGROUP_UDP4_SENDMSG' value='14'/>
-        <enumerator name='BPF_CGROUP_UDP6_SENDMSG' value='15'/>
-        <enumerator name='BPF_LIRC_MODE2' value='16'/>
-        <enumerator name='BPF_CGROUP_UDP4_RECVMSG' value='19'/>
-        <enumerator name='BPF_CGROUP_UDP6_RECVMSG' value='20'/>
-        <enumerator name='__MAX_BPF_ATTACH_TYPE' value='21'/>
-      </enum-decl>
-      <typedef-decl name='u32' type-id='type-id-511' filepath='include/asm-generic/int-ll64.h' line='21' column='1' id='type-id-7'/>
-      <typedef-decl name='__u32' type-id='type-id-5' filepath='include/uapi/asm-generic/int-ll64.h' line='27' column='1' id='type-id-511'/>
-      <typedef-decl name='u8' type-id='type-id-895' filepath='include/asm-generic/int-ll64.h' line='17' column='1' id='type-id-214'/>
-      <typedef-decl name='__u8' type-id='type-id-216' filepath='include/uapi/asm-generic/int-ll64.h' line='21' column='1' id='type-id-895'/>
-      <class-decl name='bpf_prog_aux' size-in-bits='1792' is-struct='yes' visibility='default' filepath='include/linux/bpf.h' line='275' column='1' id='type-id-1225'>
+      <class-decl name='__anonymous_struct__' size-in-bits='6848' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='353' column='1' id='type-id-7304'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='refcnt' type-id='type-id-26' visibility='default' filepath='include/linux/bpf.h' line='276' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='used_map_cnt' type-id='type-id-7' visibility='default' filepath='include/linux/bpf.h' line='277' column='1'/>
+          <var-decl name='mmap' type-id='type-id-132' visibility='default' filepath='include/linux/mm_types.h' line='354' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='max_ctx_offset' type-id='type-id-7' visibility='default' filepath='include/linux/bpf.h' line='278' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='stack_depth' type-id='type-id-7' visibility='default' filepath='include/linux/bpf.h' line='279' column='1'/>
+          <var-decl name='mm_rb' type-id='type-id-133' visibility='default' filepath='include/linux/mm_types.h' line='355' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='id' type-id='type-id-7' visibility='default' filepath='include/linux/bpf.h' line='280' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='func_cnt' type-id='type-id-7' visibility='default' filepath='include/linux/bpf.h' line='281' column='1'/>
+          <var-decl name='vmacache_seqnum' type-id='type-id-134' visibility='default' filepath='include/linux/mm_types.h' line='356' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='offload_requested' type-id='type-id-33' visibility='default' filepath='include/linux/bpf.h' line='282' column='1'/>
+          <var-decl name='get_unmapped_area' type-id='type-id-135' visibility='default' filepath='include/linux/mm_types.h' line='358' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='func' type-id='type-id-1226' visibility='default' filepath='include/linux/bpf.h' line='283' column='1'/>
+          <var-decl name='mmap_base' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='362' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='jit_data' type-id='type-id-15' visibility='default' filepath='include/linux/bpf.h' line='284' column='1'/>
+          <var-decl name='mmap_legacy_base' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='363' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='ksym_tnode' type-id='type-id-1227' visibility='default' filepath='include/linux/bpf.h' line='285' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='ksym_lnode' type-id='type-id-20' visibility='default' filepath='include/linux/bpf.h' line='286' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='ops' type-id='type-id-1228' visibility='default' filepath='include/linux/bpf.h' line='287' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='used_maps' type-id='type-id-1229' visibility='default' filepath='include/linux/bpf.h' line='288' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='prog' type-id='type-id-1230' visibility='default' filepath='include/linux/bpf.h' line='289' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='user' type-id='type-id-1231' visibility='default' filepath='include/linux/bpf.h' line='290' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='load_time' type-id='type-id-40' visibility='default' filepath='include/linux/bpf.h' line='291' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='cgroup_storage' type-id='type-id-1232' visibility='default' filepath='include/linux/bpf.h' line='292' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='name' type-id='type-id-43' visibility='default' filepath='include/linux/bpf.h' line='293' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='security' type-id='type-id-15' visibility='default' filepath='include/linux/bpf.h' line='295' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='offload' type-id='type-id-1233' visibility='default' filepath='include/linux/bpf.h' line='297' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='' type-id='type-id-1234' visibility='default' filepath='include/linux/bpf.h' line='298' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='atomic_t' type-id='type-id-1235' filepath='include/linux/types.h' line='178' column='1' id='type-id-26'/>
-      <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-26' visibility='default' filepath='include/linux/types.h' line='176' column='1' id='type-id-1235'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='counter' type-id='type-id-17' visibility='default' filepath='include/linux/types.h' line='177' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='latch_tree_node' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/rbtree_latch.h' line='40' column='1' id='type-id-1227'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='node' type-id='type-id-1165' visibility='default' filepath='include/linux/rbtree_latch.h' line='41' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='rcu_special' size-in-bits='32' visibility='default' filepath='include/linux/sched.h' line='561' column='1' id='type-id-1236'>
-        <data-member access='private'>
-          <var-decl name='b' type-id='type-id-1237' visibility='default' filepath='include/linux/sched.h' line='569' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='s' type-id='type-id-7' visibility='default' filepath='include/linux/sched.h' line='570' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='rb_node' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/rbtree.h' line='36' column='1' id='type-id-422'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='__rb_parent_color' type-id='type-id-16' visibility='default' filepath='include/linux/rbtree.h' line='37' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='rb_right' type-id='type-id-1238' visibility='default' filepath='include/linux/rbtree.h' line='38' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='rb_left' type-id='type-id-1238' visibility='default' filepath='include/linux/rbtree.h' line='39' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='list_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/types.h' line='186' column='1' id='type-id-20'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='next' type-id='type-id-877' visibility='default' filepath='include/linux/types.h' line='187' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='prev' type-id='type-id-877' visibility='default' filepath='include/linux/types.h' line='187' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='bpf_prog_ops' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/bpf.h' line='232' column='1' id='type-id-1239'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='test_run' type-id='type-id-1240' visibility='default' filepath='include/linux/bpf.h' line='233' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='bpf_attr' size-in-bits='576' visibility='default' filepath='include/uapi/linux/bpf.h' line='287' column='1' id='type-id-1241'>
-        <member-type access='private'>
-          <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/bpf.h' line='307' column='1' id='type-id-1242'>
-            <data-member access='public' layout-offset-in-bits='0'>
-              <var-decl name='map_fd' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='308' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='64'>
-              <var-decl name='key' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/bpf.h' line='309' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='128'>
-              <var-decl name='' type-id='type-id-1243' visibility='default' filepath='include/uapi/linux/bpf.h' line='310' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='192'>
-              <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/bpf.h' line='314' column='1'/>
-            </data-member>
-          </class-decl>
-        </member-type>
-        <member-type access='private'>
-          <class-decl name='__anonymous_struct__1' size-in-bits='576' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/bpf.h' line='317' column='1' id='type-id-1244'>
-            <data-member access='public' layout-offset-in-bits='0'>
-              <var-decl name='prog_type' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='318' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='32'>
-              <var-decl name='insn_cnt' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='319' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='64'>
-              <var-decl name='insns' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/bpf.h' line='320' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='128'>
-              <var-decl name='license' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/bpf.h' line='321' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='192'>
-              <var-decl name='log_level' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='322' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='224'>
-              <var-decl name='log_size' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='323' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='256'>
-              <var-decl name='log_buf' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/bpf.h' line='324' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='320'>
-              <var-decl name='kern_version' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='325' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='352'>
-              <var-decl name='prog_flags' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='326' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='384'>
-              <var-decl name='prog_name' type-id='type-id-43' visibility='default' filepath='include/uapi/linux/bpf.h' line='327' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='512'>
-              <var-decl name='prog_ifindex' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='328' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='544'>
-              <var-decl name='expected_attach_type' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='333' column='1'/>
-            </data-member>
-          </class-decl>
-        </member-type>
-        <member-type access='private'>
-          <class-decl name='__anonymous_struct__2' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/bpf.h' line='336' column='1' id='type-id-1245'>
-            <data-member access='public' layout-offset-in-bits='0'>
-              <var-decl name='pathname' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/bpf.h' line='337' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='64'>
-              <var-decl name='bpf_fd' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='338' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='96'>
-              <var-decl name='file_flags' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='339' column='1'/>
-            </data-member>
-          </class-decl>
-        </member-type>
-        <member-type access='private'>
-          <class-decl name='__anonymous_struct__3' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/bpf.h' line='342' column='1' id='type-id-1246'>
-            <data-member access='public' layout-offset-in-bits='0'>
-              <var-decl name='target_fd' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='343' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='32'>
-              <var-decl name='attach_bpf_fd' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='344' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='64'>
-              <var-decl name='attach_type' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='345' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='96'>
-              <var-decl name='attach_flags' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='346' column='1'/>
-            </data-member>
-          </class-decl>
-        </member-type>
-        <member-type access='private'>
-          <class-decl name='__anonymous_struct__4' size-in-bits='96' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/bpf.h' line='360' column='1' id='type-id-1247'>
-            <data-member access='public' layout-offset-in-bits='0'>
-              <var-decl name='' type-id='type-id-1248' visibility='default' filepath='include/uapi/linux/bpf.h' line='361' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='32'>
-              <var-decl name='next_id' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='367' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='64'>
-              <var-decl name='open_flags' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='368' column='1'/>
-            </data-member>
-          </class-decl>
-        </member-type>
-        <member-type access='private'>
-          <class-decl name='__anonymous_struct__5' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/bpf.h' line='391' column='1' id='type-id-1249'>
-            <data-member access='public' layout-offset-in-bits='0'>
-              <var-decl name='btf' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/bpf.h' line='392' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='64'>
-              <var-decl name='btf_log_buf' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/bpf.h' line='393' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='128'>
-              <var-decl name='btf_size' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='394' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='160'>
-              <var-decl name='btf_log_size' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='395' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='192'>
-              <var-decl name='btf_log_level' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='396' column='1'/>
-            </data-member>
-          </class-decl>
-        </member-type>
-        <data-member access='private'>
-          <var-decl name='' type-id='type-id-1250' visibility='default' filepath='include/uapi/linux/bpf.h' line='288' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='test' type-id='type-id-1251' visibility='default' filepath='include/uapi/linux/bpf.h' line='358' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='info' type-id='type-id-1252' visibility='default' filepath='include/uapi/linux/bpf.h' line='375' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='query' type-id='type-id-1253' visibility='default' filepath='include/uapi/linux/bpf.h' line='384' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='raw_tracepoint' type-id='type-id-1254' visibility='default' filepath='include/uapi/linux/bpf.h' line='389' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='task_fd_query' type-id='type-id-1255' visibility='default' filepath='include/uapi/linux/bpf.h' line='413' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='__anonymous_struct__1' size-in-bits='480' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/bpf.h' line='288' column='1' id='type-id-1250'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='map_type' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='289' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='key_size' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='290' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='value_size' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='291' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='max_entries' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='292' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='map_flags' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='293' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='inner_map_fd' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='296' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='numa_node' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='297' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='map_name' type-id='type-id-43' visibility='default' filepath='include/uapi/linux/bpf.h' line='300' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='map_ifindex' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='301' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='btf_fd' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='302' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='btf_key_type_id' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='303' column='1'/>
+          <var-decl name='task_size' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='369' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='btf_value_type_id' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='304' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/bpf.h' line='310' column='1' id='type-id-1243'>
-        <data-member access='private'>
-          <var-decl name='value' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/bpf.h' line='311' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='next_key' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/bpf.h' line='312' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='__anonymous_struct__2' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/bpf.h' line='349' column='1' id='type-id-1251'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='prog_fd' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='350' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='retval' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='351' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='data_size_in' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='352' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='data_size_out' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='353' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='data_in' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/bpf.h' line='354' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='data_out' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/bpf.h' line='355' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='repeat' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='356' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='duration' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='357' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__1' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/bpf.h' line='361' column='1' id='type-id-1248'>
-        <data-member access='private'>
-          <var-decl name='start_id' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='362' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='prog_id' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='363' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='map_id' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='364' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='btf_id' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='365' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='__anonymous_struct__3' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/bpf.h' line='371' column='1' id='type-id-1252'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bpf_fd' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='372' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='info_len' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='373' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='info' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/bpf.h' line='374' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__4' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/bpf.h' line='377' column='1' id='type-id-1253'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='target_fd' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='378' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='attach_type' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='379' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='query_flags' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='380' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='attach_flags' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='381' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='prog_ids' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/bpf.h' line='382' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='prog_cnt' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='383' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__5' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/bpf.h' line='386' column='1' id='type-id-1254'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/bpf.h' line='387' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='prog_fd' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='388' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__6' size-in-bits='384' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/bpf.h' line='399' column='1' id='type-id-1255'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='pid' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='400' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='fd' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='401' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='flags' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='402' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='buf_len' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='403' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='buf' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/bpf.h' line='404' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='prog_id' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='409' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='fd_type' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='410' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='probe_offset' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/bpf.h' line='411' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='probe_addr' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/bpf.h' line='412' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='bpf_map' size-in-bits='1536' is-struct='yes' visibility='default' filepath='include/linux/bpf.h' line='57' column='1' id='type-id-1256'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ops' type-id='type-id-1257' visibility='default' filepath='include/linux/bpf.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='inner_map_meta' type-id='type-id-1232' visibility='default' filepath='include/linux/bpf.h' line='62' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='security' type-id='type-id-15' visibility='default' filepath='include/linux/bpf.h' line='64' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='map_type' type-id='type-id-1258' visibility='default' filepath='include/linux/bpf.h' line='66' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='key_size' type-id='type-id-7' visibility='default' filepath='include/linux/bpf.h' line='67' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='value_size' type-id='type-id-7' visibility='default' filepath='include/linux/bpf.h' line='68' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='max_entries' type-id='type-id-7' visibility='default' filepath='include/linux/bpf.h' line='69' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='map_flags' type-id='type-id-7' visibility='default' filepath='include/linux/bpf.h' line='70' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='pages' type-id='type-id-7' visibility='default' filepath='include/linux/bpf.h' line='71' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='id' type-id='type-id-7' visibility='default' filepath='include/linux/bpf.h' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='numa_node' type-id='type-id-17' visibility='default' filepath='include/linux/bpf.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='btf_key_type_id' type-id='type-id-7' visibility='default' filepath='include/linux/bpf.h' line='74' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='btf_value_type_id' type-id='type-id-7' visibility='default' filepath='include/linux/bpf.h' line='75' column='1'/>
+          <var-decl name='highest_vm_end' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='370' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='btf' type-id='type-id-1259' visibility='default' filepath='include/linux/bpf.h' line='76' column='1'/>
+          <var-decl name='pgd' type-id='type-id-136' visibility='default' filepath='include/linux/mm_types.h' line='371' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='unpriv_array' type-id='type-id-33' visibility='default' filepath='include/linux/bpf.h' line='77' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='user' type-id='type-id-1231' visibility='default' filepath='include/linux/bpf.h' line='83' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='refcnt' type-id='type-id-26' visibility='default' filepath='include/linux/bpf.h' line='84' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1120'>
-          <var-decl name='usercnt' type-id='type-id-26' visibility='default' filepath='include/linux/bpf.h' line='85' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='work' type-id='type-id-255' visibility='default' filepath='include/linux/bpf.h' line='86' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='name' type-id='type-id-43' visibility='default' filepath='include/linux/bpf.h' line='87' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='bpf_map_ops' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/linux/bpf.h' line='29' column='1' id='type-id-1260'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='map_alloc_check' type-id='type-id-1261' visibility='default' filepath='include/linux/bpf.h' line='31' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='map_alloc' type-id='type-id-1262' visibility='default' filepath='include/linux/bpf.h' line='32' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='map_release' type-id='type-id-1263' visibility='default' filepath='include/linux/bpf.h' line='33' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='map_free' type-id='type-id-1264' visibility='default' filepath='include/linux/bpf.h' line='34' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='map_get_next_key' type-id='type-id-1265' visibility='default' filepath='include/linux/bpf.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='map_release_uref' type-id='type-id-1264' visibility='default' filepath='include/linux/bpf.h' line='36' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='map_lookup_elem_sys_only' type-id='type-id-1266' visibility='default' filepath='include/linux/bpf.h' line='37' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='map_lookup_elem' type-id='type-id-1266' visibility='default' filepath='include/linux/bpf.h' line='40' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='map_update_elem' type-id='type-id-1267' visibility='default' filepath='include/linux/bpf.h' line='41' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='map_delete_elem' type-id='type-id-1268' visibility='default' filepath='include/linux/bpf.h' line='42' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='map_fd_get_ptr' type-id='type-id-1269' visibility='default' filepath='include/linux/bpf.h' line='45' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='map_fd_put_ptr' type-id='type-id-517' visibility='default' filepath='include/linux/bpf.h' line='47' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='map_gen_lookup' type-id='type-id-1270' visibility='default' filepath='include/linux/bpf.h' line='48' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='map_fd_sys_lookup_elem' type-id='type-id-1271' visibility='default' filepath='include/linux/bpf.h' line='49' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='map_seq_show_elem' type-id='type-id-1272' visibility='default' filepath='include/linux/bpf.h' line='50' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='map_check_btf' type-id='type-id-1273' visibility='default' filepath='include/linux/bpf.h' line='52' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='file' size-in-bits='2048' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='897' column='1' id='type-id-1274'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='f_u' type-id='type-id-1275' visibility='default' filepath='include/linux/fs.h' line='901' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='f_path' type-id='type-id-1276' visibility='default' filepath='include/linux/fs.h' line='902' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='f_inode' type-id='type-id-1129' visibility='default' filepath='include/linux/fs.h' line='903' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='f_op' type-id='type-id-268' visibility='default' filepath='include/linux/fs.h' line='904' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='f_lock' type-id='type-id-247' visibility='default' filepath='include/linux/fs.h' line='910' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='f_write_hint' type-id='type-id-1277' visibility='default' filepath='include/linux/fs.h' line='911' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='f_count' type-id='type-id-115' visibility='default' filepath='include/linux/fs.h' line='912' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='f_flags' type-id='type-id-5' visibility='default' filepath='include/linux/fs.h' line='913' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='f_mode' type-id='type-id-876' visibility='default' filepath='include/linux/fs.h' line='914' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='f_pos_lock' type-id='type-id-245' visibility='default' filepath='include/linux/fs.h' line='915' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='f_pos' type-id='type-id-763' visibility='default' filepath='include/linux/fs.h' line='916' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='f_owner' type-id='type-id-1278' visibility='default' filepath='include/linux/fs.h' line='917' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='f_cred' type-id='type-id-1279' visibility='default' filepath='include/linux/fs.h' line='918' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='f_ra' type-id='type-id-1280' visibility='default' filepath='include/linux/fs.h' line='919' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='f_version' type-id='type-id-40' visibility='default' filepath='include/linux/fs.h' line='921' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='f_security' type-id='type-id-15' visibility='default' filepath='include/linux/fs.h' line='923' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='private_data' type-id='type-id-15' visibility='default' filepath='include/linux/fs.h' line='926' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='f_ep_links' type-id='type-id-20' visibility='default' filepath='include/linux/fs.h' line='930' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='f_tfile_llink' type-id='type-id-20' visibility='default' filepath='include/linux/fs.h' line='931' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='f_mapping' type-id='type-id-1281' visibility='default' filepath='include/linux/fs.h' line='933' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='f_wb_err' type-id='type-id-1282' visibility='default' filepath='include/linux/fs.h' line='934' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='llist_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/llist.h' line='70' column='1' id='type-id-281'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='next' type-id='type-id-282' visibility='default' filepath='include/linux/llist.h' line='71' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='callback_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/types.h' line='224' column='1' id='type-id-385'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='next' type-id='type-id-91' visibility='default' filepath='include/linux/types.h' line='225' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='func' type-id='type-id-89' visibility='default' filepath='include/linux/types.h' line='226' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='key_payload' size-in-bits='256' visibility='default' filepath='include/linux/key.h' line='94' column='1' id='type-id-1283'>
-        <data-member access='private'>
-          <var-decl name='rcu_data0' type-id='type-id-15' visibility='default' filepath='include/linux/key.h' line='95' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='data' type-id='type-id-1211' visibility='default' filepath='include/linux/key.h' line='96' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='path' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/path.h' line='8' column='1' id='type-id-1276'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mnt' type-id='type-id-1284' visibility='default' filepath='include/linux/path.h' line='9' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='dentry' type-id='type-id-23' visibility='default' filepath='include/linux/path.h' line='10' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='dentry' size-in-bits='1536' is-struct='yes' visibility='default' filepath='include/linux/dcache.h' line='88' column='1' id='type-id-1285'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='d_flags' type-id='type-id-5' visibility='default' filepath='include/linux/dcache.h' line='90' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='d_seq' type-id='type-id-387' visibility='default' filepath='include/linux/dcache.h' line='91' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='d_hash' type-id='type-id-1286' visibility='default' filepath='include/linux/dcache.h' line='92' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='d_parent' type-id='type-id-23' visibility='default' filepath='include/linux/dcache.h' line='93' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='d_name' type-id='type-id-1287' visibility='default' filepath='include/linux/dcache.h' line='94' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='d_inode' type-id='type-id-1129' visibility='default' filepath='include/linux/dcache.h' line='95' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='d_iname' type-id='type-id-35' visibility='default' filepath='include/linux/dcache.h' line='97' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='d_lockref' type-id='type-id-1288' visibility='default' filepath='include/linux/dcache.h' line='100' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='d_op' type-id='type-id-1289' visibility='default' filepath='include/linux/dcache.h' line='101' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='d_sb' type-id='type-id-28' visibility='default' filepath='include/linux/dcache.h' line='102' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='d_time' type-id='type-id-16' visibility='default' filepath='include/linux/dcache.h' line='103' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='d_fsdata' type-id='type-id-15' visibility='default' filepath='include/linux/dcache.h' line='104' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='' type-id='type-id-1290' visibility='default' filepath='include/linux/dcache.h' line='106' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='d_child' type-id='type-id-20' visibility='default' filepath='include/linux/dcache.h' line='110' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='d_subdirs' type-id='type-id-20' visibility='default' filepath='include/linux/dcache.h' line='111' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='d_u' type-id='type-id-1291' visibility='default' filepath='include/linux/dcache.h' line='119' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='seqcount_t' type-id='type-id-1292' filepath='include/linux/seqlock.h' line='53' column='1' id='type-id-387'/>
-      <class-decl name='seqcount' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/linux/seqlock.h' line='48' column='1' id='type-id-1292'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='sequence' type-id='type-id-5' visibility='default' filepath='include/linux/seqlock.h' line='49' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='hlist_bl_node' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/list_bl.h' line='38' column='1' id='type-id-1286'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='next' type-id='type-id-1293' visibility='default' filepath='include/linux/list_bl.h' line='39' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='pprev' type-id='type-id-1294' visibility='default' filepath='include/linux/list_bl.h' line='39' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='qstr' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/dcache.h' line='47' column='1' id='type-id-1287'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='' type-id='type-id-1295' visibility='default' filepath='include/linux/dcache.h' line='48' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='name' type-id='type-id-878' visibility='default' filepath='include/linux/dcache.h' line='54' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__3' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/dcache.h' line='48' column='1' id='type-id-1295'>
-        <data-member access='private'>
-          <var-decl name='' type-id='type-id-1296' visibility='default' filepath='include/linux/dcache.h' line='49' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='hash_len' type-id='type-id-40' visibility='default' filepath='include/linux/dcache.h' line='52' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='__anonymous_struct__7' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/dcache.h' line='49' column='1' id='type-id-1296'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='hash' type-id='type-id-7' visibility='default' filepath='include/linux/dcache.h' line='50' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='len' type-id='type-id-7' visibility='default' filepath='include/linux/dcache.h' line='50' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='inode' size-in-bits='4800' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='595' column='1' id='type-id-1297'>
-
-          <member-type access='public'>
-            <union-decl name='__anonymous_union__' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/fs.h' line='663' column='1' id='type-id-1298'>
-              <data-member access='private'>
-                <var-decl name='i_dentry' type-id='type-id-186' visibility='default' filepath='include/linux/fs.h' line='664' column='1'/>
-              </data-member>
-              <data-member access='private'>
-                <var-decl name='i_rcu' type-id='type-id-385' visibility='default' filepath='include/linux/fs.h' line='665' column='1'/>
-              </data-member>
-            </union-decl>
-          </member-type>
-
-          <member-type access='public'>
-            <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/fs.h' line='678' column='1' id='type-id-1299'>
-              <data-member access='private'>
-                <var-decl name='i_pipe' type-id='type-id-87' visibility='default' filepath='include/linux/fs.h' line='679' column='1'/>
-              </data-member>
-              <data-member access='private'>
-                <var-decl name='i_bdev' type-id='type-id-875' visibility='default' filepath='include/linux/fs.h' line='680' column='1'/>
-              </data-member>
-              <data-member access='private'>
-                <var-decl name='i_cdev' type-id='type-id-1300' visibility='default' filepath='include/linux/fs.h' line='681' column='1'/>
-              </data-member>
-              <data-member access='private'>
-                <var-decl name='i_link' type-id='type-id-2' visibility='default' filepath='include/linux/fs.h' line='682' column='1'/>
-              </data-member>
-              <data-member access='private'>
-                <var-decl name='i_dir_seq' type-id='type-id-5' visibility='default' filepath='include/linux/fs.h' line='683' column='1'/>
-              </data-member>
-            </union-decl>
-          </member-type>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='i_mode' type-id='type-id-329' visibility='default' filepath='include/linux/fs.h' line='596' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='i_opflags' type-id='type-id-312' visibility='default' filepath='include/linux/fs.h' line='597' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='i_uid' type-id='type-id-42' visibility='default' filepath='include/linux/fs.h' line='598' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='i_gid' type-id='type-id-330' visibility='default' filepath='include/linux/fs.h' line='599' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='i_flags' type-id='type-id-5' visibility='default' filepath='include/linux/fs.h' line='600' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='i_acl' type-id='type-id-1301' visibility='default' filepath='include/linux/fs.h' line='603' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='i_default_acl' type-id='type-id-1301' visibility='default' filepath='include/linux/fs.h' line='604' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='i_op' type-id='type-id-1302' visibility='default' filepath='include/linux/fs.h' line='607' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='i_sb' type-id='type-id-28' visibility='default' filepath='include/linux/fs.h' line='608' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='i_mapping' type-id='type-id-1281' visibility='default' filepath='include/linux/fs.h' line='609' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='i_security' type-id='type-id-15' visibility='default' filepath='include/linux/fs.h' line='612' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='i_ino' type-id='type-id-16' visibility='default' filepath='include/linux/fs.h' line='616' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='' type-id='type-id-1303' visibility='default' filepath='include/linux/fs.h' line='624' column='1'/>
+          <var-decl name='mm_users' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='382' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='i_rdev' type-id='type-id-269' visibility='default' filepath='include/linux/fs.h' line='628' column='1'/>
+          <var-decl name='mm_count' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='391' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='i_size' type-id='type-id-763' visibility='default' filepath='include/linux/fs.h' line='629' column='1'/>
+          <var-decl name='pgtables_bytes' type-id='type-id-138' visibility='default' filepath='include/linux/mm_types.h' line='394' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='i_atime' type-id='type-id-355' visibility='default' filepath='include/linux/fs.h' line='630' column='1'/>
+          <var-decl name='map_count' type-id='type-id-11' visibility='default' filepath='include/linux/mm_types.h' line='396' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='i_mtime' type-id='type-id-355' visibility='default' filepath='include/linux/fs.h' line='631' column='1'/>
+        <data-member access='public' layout-offset-in-bits='736'>
+          <var-decl name='page_table_lock' type-id='type-id-106' visibility='default' filepath='include/linux/mm_types.h' line='398' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='i_ctime' type-id='type-id-355' visibility='default' filepath='include/linux/fs.h' line='632' column='1'/>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='mmap_sem' type-id='type-id-139' visibility='default' filepath='include/linux/mm_types.h' line='401' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='i_lock' type-id='type-id-247' visibility='default' filepath='include/linux/fs.h' line='633' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1120'>
-          <var-decl name='i_bytes' type-id='type-id-312' visibility='default' filepath='include/linux/fs.h' line='634' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1136'>
-          <var-decl name='i_blkbits' type-id='type-id-214' visibility='default' filepath='include/linux/fs.h' line='635' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1144'>
-          <var-decl name='i_write_hint' type-id='type-id-214' visibility='default' filepath='include/linux/fs.h' line='636' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='i_blocks' type-id='type-id-1304' visibility='default' filepath='include/linux/fs.h' line='637' column='1'/>
+          <var-decl name='mmlist' type-id='type-id-8' visibility='default' filepath='include/linux/mm_types.h' line='403' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='i_state' type-id='type-id-16' visibility='default' filepath='include/linux/fs.h' line='644' column='1'/>
+          <var-decl name='hiwater_rss' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='410' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='i_rwsem' type-id='type-id-246' visibility='default' filepath='include/linux/fs.h' line='645' column='1'/>
+          <var-decl name='hiwater_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='411' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='total_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='413' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='locked_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='414' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='pinned_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='415' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='data_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='416' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='dirtied_when' type-id='type-id-16' visibility='default' filepath='include/linux/fs.h' line='647' column='1'/>
+          <var-decl name='exec_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='417' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='dirtied_time_when' type-id='type-id-16' visibility='default' filepath='include/linux/fs.h' line='648' column='1'/>
+          <var-decl name='stack_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='418' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='i_hash' type-id='type-id-520' visibility='default' filepath='include/linux/fs.h' line='650' column='1'/>
+          <var-decl name='def_flags' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='419' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='arg_lock' type-id='type-id-106' visibility='default' filepath='include/linux/mm_types.h' line='421' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='i_io_list' type-id='type-id-20' visibility='default' filepath='include/linux/fs.h' line='651' column='1'/>
+          <var-decl name='start_code' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='end_code' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='i_wb' type-id='type-id-1305' visibility='default' filepath='include/linux/fs.h' line='653' column='1'/>
+          <var-decl name='start_data' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='i_wb_frn_winner' type-id='type-id-17' visibility='default' filepath='include/linux/fs.h' line='656' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2080'>
-          <var-decl name='i_wb_frn_avg_time' type-id='type-id-688' visibility='default' filepath='include/linux/fs.h' line='657' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2096'>
-          <var-decl name='i_wb_frn_history' type-id='type-id-688' visibility='default' filepath='include/linux/fs.h' line='658' column='1'/>
+          <var-decl name='end_data' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='i_lru' type-id='type-id-20' visibility='default' filepath='include/linux/fs.h' line='660' column='1'/>
+          <var-decl name='start_brk' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='brk' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='i_sb_list' type-id='type-id-20' visibility='default' filepath='include/linux/fs.h' line='661' column='1'/>
+          <var-decl name='start_stack' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='arg_start' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='i_wb_list' type-id='type-id-20' visibility='default' filepath='include/linux/fs.h' line='662' column='1'/>
+          <var-decl name='arg_end' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='env_start' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='env_end' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='saved_auxv' type-id='type-id-140' visibility='default' filepath='include/linux/mm_types.h' line='426' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5504'>
+          <var-decl name='rss_stat' type-id='type-id-141' visibility='default' filepath='include/linux/mm_types.h' line='432' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5760'>
+          <var-decl name='binfmt' type-id='type-id-4464' visibility='default' filepath='include/linux/mm_types.h' line='434' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5824'>
+          <var-decl name='context' type-id='type-id-143' visibility='default' filepath='include/linux/mm_types.h' line='437' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6016'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='439' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6080'>
+          <var-decl name='core_state' type-id='type-id-144' visibility='default' filepath='include/linux/mm_types.h' line='441' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6144'>
+          <var-decl name='membarrier_state' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='443' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6176'>
+          <var-decl name='ioctx_lock' type-id='type-id-106' visibility='default' filepath='include/linux/mm_types.h' line='446' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6208'>
+          <var-decl name='ioctx_table' type-id='type-id-145' visibility='default' filepath='include/linux/mm_types.h' line='447' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6272'>
+          <var-decl name='owner' type-id='type-id-118' visibility='default' filepath='include/linux/mm_types.h' line='460' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6336'>
+          <var-decl name='user_ns' type-id='type-id-4564' visibility='default' filepath='include/linux/mm_types.h' line='462' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6400'>
+          <var-decl name='exe_file' type-id='type-id-147' visibility='default' filepath='include/linux/mm_types.h' line='465' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6464'>
+          <var-decl name='tlb_flush_pending' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='491' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6528'>
+          <var-decl name='uprobes_state' type-id='type-id-148' visibility='default' filepath='include/linux/mm_types.h' line='496' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6592'>
+          <var-decl name='async_put_work' type-id='type-id-149' visibility='default' filepath='include/linux/mm_types.h' line='500' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-5870' size-in-bits='64' id='type-id-7305'/>
+      <pointer-type-def type-id='type-id-407' size-in-bits='64' id='type-id-2357'/>
+      <pointer-type-def type-id='type-id-4559' size-in-bits='64' id='type-id-6488'/>
+      <pointer-type-def type-id='type-id-5118' size-in-bits='64' id='type-id-4476'/>
+      <function-decl name='kmem_cache_alloc' mangled-name='kmem_cache_alloc' filepath='include/linux/slab.h' line='389' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kmem_cache_alloc'>
+        <parameter type-id='type-id-3525'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='kmem_cache_free' mangled-name='kmem_cache_free' filepath='include/linux/slab.h' line='390' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kmem_cache_free'>
+        <parameter type-id='type-id-3525'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='kmem_cache_create_usercopy' mangled-name='kmem_cache_create_usercopy' filepath='include/linux/slab.h' line='145' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kmem_cache_create_usercopy'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-74'/>
+        <return type-id='type-id-3525'/>
+      </function-decl>
+      <function-decl name='fput' mangled-name='fput' filepath='include/linux/file.h' line='15' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fput'>
+        <parameter type-id='type-id-147'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='mutex_unlock' mangled-name='mutex_unlock' filepath='include/linux/mutex.h' line='197' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mutex_unlock'>
+        <parameter type-id='type-id-2357'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='put_pid' mangled-name='put_pid' filepath='include/linux/pid.h' line='81' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='put_pid'>
+        <parameter type-id='type-id-1213'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='_raw_read_lock' mangled-name='_raw_read_lock' filepath='include/linux/rwlock_api_smp.h' line='18' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_raw_read_lock'>
+        <parameter type-id='type-id-7305'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='_raw_read_unlock' mangled-name='_raw_read_unlock' filepath='include/linux/rwlock_api_smp.h' line='30' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_raw_read_unlock'>
+        <parameter type-id='type-id-7305'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='kmem_cache_create' mangled-name='kmem_cache_create' filepath='include/linux/slab.h' line='142' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kmem_cache_create'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-74'/>
+        <return type-id='type-id-3525'/>
+      </function-decl>
+      <function-decl name='module_put' mangled-name='module_put' filepath='include/linux/module.h' line='597' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='module_put'>
+        <parameter type-id='type-id-19'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='queue_work_on' mangled-name='queue_work_on' filepath='include/linux/workqueue.h' line='464' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='queue_work_on'>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-2154'/>
+        <parameter type-id='type-id-6370'/>
+        <return type-id='type-id-264'/>
+      </function-decl>
+      <function-decl name='seq_putc' mangled-name='seq_putc' filepath='include/linux/seq_file.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='seq_putc'>
+        <parameter type-id='type-id-85'/>
+        <parameter type-id='type-id-475'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='capable' mangled-name='capable' filepath='include/linux/capability.h' line='209' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='capable'>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-264'/>
+      </function-decl>
+      <function-decl name='_raw_write_lock_irq' mangled-name='_raw_write_lock_irq' filepath='include/linux/rwlock_api_smp.h' line='23' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_raw_write_lock_irq'>
+        <parameter type-id='type-id-7305'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='_raw_write_unlock_irq' mangled-name='_raw_write_unlock_irq' filepath='include/linux/rwlock_api_smp.h' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_raw_write_unlock_irq'>
+        <parameter type-id='type-id-7305'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='_raw_spin_lock_irq' mangled-name='_raw_spin_lock_irq' filepath='include/linux/spinlock_api_smp.h' line='29' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_raw_spin_lock_irq'>
+        <parameter type-id='type-id-186'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='_raw_spin_unlock_irq' mangled-name='_raw_spin_unlock_irq' filepath='include/linux/spinlock_api_smp.h' line='41' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_raw_spin_unlock_irq'>
+        <parameter type-id='type-id-186'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='try_module_get' mangled-name='try_module_get' filepath='include/linux/module.h' line='595' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='try_module_get'>
+        <parameter type-id='type-id-19'/>
+        <return type-id='type-id-264'/>
+      </function-decl>
+      <function-decl name='down_write' mangled-name='down_write' filepath='include/linux/rwsem.h' line='131' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='down_write'>
+        <parameter type-id='type-id-185'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='percpu_counter_add_batch' mangled-name='percpu_counter_add_batch' filepath='include/linux/percpu_counter.h' line='43' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='percpu_counter_add_batch'>
+        <parameter type-id='type-id-6488'/>
+        <parameter type-id='type-id-112'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='ktime_get_with_offset' mangled-name='ktime_get_with_offset' filepath='include/linux/timekeeping.h' line='68' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ktime_get_with_offset'>
+        <parameter type-id='type-id-7303'/>
+        <return type-id='type-id-112'/>
+      </function-decl>
+      <function-decl name='refcount_inc_checked' mangled-name='refcount_inc_checked' filepath='include/linux/refcount.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='refcount_inc_checked'>
+        <parameter type-id='type-id-4476'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='call_rcu' mangled-name='call_rcu' filepath='include/linux/rcupdate.h' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_rcu'>
+        <parameter type-id='type-id-4987'/>
+        <parameter type-id='type-id-4988'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='wait_for_completion_killable' mangled-name='wait_for_completion_killable' filepath='include/linux/completion.h' line='106' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wait_for_completion_killable'>
+        <parameter type-id='type-id-176'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='freezing_slow_path' mangled-name='freezing_slow_path' filepath='include/linux/freezer.h' line='30' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='freezing_slow_path'>
+        <parameter type-id='type-id-118'/>
+        <return type-id='type-id-264'/>
+      </function-decl>
+      <function-decl name='__put_task_struct' mangled-name='__put_task_struct' filepath='kernel/fork.c' line='687' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__put_task_struct'>
+        <parameter type-id='type-id-118' name='tsk' filepath='kernel/fork.c' line='687' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='mmput' mangled-name='mmput' filepath='kernel/fork.c' line='1044' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mmput'>
+        <parameter type-id='type-id-158' name='mm' filepath='kernel/fork.c' line='1044' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='get_task_mm' mangled-name='get_task_mm' filepath='kernel/fork.c' line='1151' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_task_mm'>
+        <parameter type-id='type-id-118' name='task' filepath='kernel/fork.c' line='1151' column='1'/>
+        <return type-id='type-id-158'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/freezer.c' language='LANG_C89'>
+      <function-decl name='__refrigerator' mangled-name='__refrigerator' filepath='kernel/freezer.c' line='61' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__refrigerator'>
+        <parameter type-id='type-id-211' name='check_kthr_stop' filepath='kernel/freezer.c' line='61' column='1'/>
+        <return type-id='type-id-211'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/futex.c' language='LANG_C89'>
+      <function-decl name='iput' mangled-name='iput' filepath='include/linux/fs.h' line='2300' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iput'>
+        <parameter type-id='type-id-1160'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/irq/chip.c' language='LANG_C89'>
+      <class-decl name='platform_msi_priv_data' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7306'/>
+      <union-decl name='__anonymous_union__' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/linux/msi.h' line='81' column='1' id='type-id-7307'>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-7308' visibility='default' filepath='include/linux/msi.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='platform' type-id='type-id-7309' visibility='default' filepath='include/linux/msi.h' line='107' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='fsl_mc' type-id='type-id-7310' visibility='default' filepath='include/linux/msi.h' line='108' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/msi.h' line='83' column='1' id='type-id-7308'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='masked' type-id='type-id-9' visibility='default' filepath='include/linux/msi.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='msi_attrib' type-id='type-id-7311' visibility='default' filepath='include/linux/msi.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='' type-id='type-id-7312' visibility='default' filepath='include/linux/msi.h' line='94' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__1' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/msi.h' line='85' column='1' id='type-id-7311'>
+        <data-member access='public' layout-offset-in-bits='7'>
+          <var-decl name='is_msix' type-id='type-id-1122' visibility='default' filepath='include/linux/msi.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4'>
+          <var-decl name='multiple' type-id='type-id-1122' visibility='default' filepath='include/linux/msi.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1'>
+          <var-decl name='multi_cap' type-id='type-id-1122' visibility='default' filepath='include/linux/msi.h' line='88' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='maskbit' type-id='type-id-1122' visibility='default' filepath='include/linux/msi.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7'>
+          <var-decl name='is_64' type-id='type-id-1122' visibility='default' filepath='include/linux/msi.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='entry_nr' type-id='type-id-1107' visibility='default' filepath='include/linux/msi.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='default_irq' type-id='type-id-10' visibility='default' filepath='include/linux/msi.h' line='92' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/msi.h' line='94' column='1' id='type-id-7312'>
+        <data-member access='private'>
+          <var-decl name='mask_pos' type-id='type-id-53' visibility='default' filepath='include/linux/msi.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='mask_base' type-id='type-id-3' visibility='default' filepath='include/linux/msi.h' line='96' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='platform_msi_desc' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/msi.h' line='37' column='1' id='type-id-7309'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='msi_priv_data' type-id='type-id-7313' visibility='default' filepath='include/linux/msi.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='msi_index' type-id='type-id-289' visibility='default' filepath='include/linux/msi.h' line='39' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='fsl_mc_msi_desc' size-in-bits='16' is-struct='yes' visibility='default' filepath='include/linux/msi.h' line='46' column='1' id='type-id-7310'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='msi_index' type-id='type-id-289' visibility='default' filepath='include/linux/msi.h' line='47' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-7306' size-in-bits='64' id='type-id-7313'/>
+      <function-decl name='irq_set_irq_type' mangled-name='irq_set_irq_type' filepath='kernel/irq/chip.c' line='68' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_set_irq_type'>
+        <parameter type-id='type-id-10' name='irq' filepath='kernel/irq/chip.c' line='68' column='1'/>
+        <parameter type-id='type-id-10' name='type' filepath='kernel/irq/chip.c' line='68' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='irq_set_chip_data' mangled-name='irq_set_chip_data' filepath='kernel/irq/chip.c' line='145' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_set_chip_data'>
+        <parameter type-id='type-id-10' name='irq' filepath='kernel/irq/chip.c' line='145' column='1'/>
+        <parameter type-id='type-id-3' name='data' filepath='kernel/irq/chip.c' line='145' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='irq_get_irq_data' mangled-name='irq_get_irq_data' filepath='kernel/irq/chip.c' line='158' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_get_irq_data'>
+        <parameter type-id='type-id-10' name='irq' filepath='kernel/irq/chip.c' line='158' column='1'/>
+        <return type-id='type-id-7314'/>
+      </function-decl>
+      <function-decl name='handle_nested_irq' mangled-name='handle_nested_irq' filepath='kernel/irq/chip.c' line='458' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='handle_nested_irq'>
+        <parameter type-id='type-id-10' name='irq' filepath='kernel/irq/chip.c' line='458' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='handle_simple_irq' mangled-name='handle_simple_irq' filepath='kernel/irq/chip.c' line='538' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='handle_simple_irq'>
+        <parameter type-id='type-id-7315' name='desc' filepath='kernel/irq/chip.c' line='538' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='handle_level_irq' mangled-name='handle_level_irq' filepath='kernel/irq/chip.c' line='630' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='handle_level_irq'>
+        <parameter type-id='type-id-7315' name='desc' filepath='kernel/irq/chip.c' line='630' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='handle_edge_irq' mangled-name='handle_edge_irq' filepath='kernel/irq/chip.c' line='753' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='handle_edge_irq'>
+        <parameter type-id='type-id-7315' name='desc' filepath='kernel/irq/chip.c' line='753' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='irq_set_chained_handler_and_data' mangled-name='irq_set_chained_handler_and_data' filepath='kernel/irq/chip.c' line='1011' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_set_chained_handler_and_data'>
+        <parameter type-id='type-id-10' name='irq' filepath='kernel/irq/chip.c' line='1011' column='1'/>
+        <parameter type-id='type-id-1072' name='handle' filepath='kernel/irq/chip.c' line='1011' column='1'/>
+        <parameter type-id='type-id-3' name='data' filepath='kernel/irq/chip.c' line='1012' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='irq_set_chip_and_handler_name' mangled-name='irq_set_chip_and_handler_name' filepath='kernel/irq/chip.c' line='1028' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_set_chip_and_handler_name'>
+        <parameter type-id='type-id-10' name='irq' filepath='kernel/irq/chip.c' line='1028' column='1'/>
+        <parameter type-id='type-id-1071' name='chip' filepath='kernel/irq/chip.c' line='1028' column='1'/>
+        <parameter type-id='type-id-1072' name='handle' filepath='kernel/irq/chip.c' line='1029' column='1'/>
+        <parameter type-id='type-id-24' name='name' filepath='kernel/irq/chip.c' line='1029' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='irq_chip_set_parent_state' mangled-name='irq_chip_set_parent_state' filepath='kernel/irq/chip.c' line='1249' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_chip_set_parent_state'>
+        <parameter type-id='type-id-7314' name='data' filepath='kernel/irq/chip.c' line='1249' column='1'/>
+        <parameter type-id='type-id-7316' name='which' filepath='kernel/irq/chip.c' line='1250' column='1'/>
+        <parameter type-id='type-id-211' name='val' filepath='kernel/irq/chip.c' line='1251' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='irq_chip_get_parent_state' mangled-name='irq_chip_get_parent_state' filepath='kernel/irq/chip.c' line='1271' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_chip_get_parent_state'>
+        <parameter type-id='type-id-7314' name='data' filepath='kernel/irq/chip.c' line='1271' column='1'/>
+        <parameter type-id='type-id-7316' name='which' filepath='kernel/irq/chip.c' line='1272' column='1'/>
+        <parameter type-id='type-id-763' name='state' filepath='kernel/irq/chip.c' line='1273' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='irq_chip_enable_parent' mangled-name='irq_chip_enable_parent' filepath='kernel/irq/chip.c' line='1291' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_chip_enable_parent'>
+        <parameter type-id='type-id-7314' name='data' filepath='kernel/irq/chip.c' line='1291' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='irq_chip_disable_parent' mangled-name='irq_chip_disable_parent' filepath='kernel/irq/chip.c' line='1306' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_chip_disable_parent'>
+        <parameter type-id='type-id-7314' name='data' filepath='kernel/irq/chip.c' line='1306' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='irq_chip_mask_parent' mangled-name='irq_chip_mask_parent' filepath='kernel/irq/chip.c' line='1331' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_chip_mask_parent'>
+        <parameter type-id='type-id-7314' name='data' filepath='kernel/irq/chip.c' line='1331' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='irq_chip_unmask_parent' mangled-name='irq_chip_unmask_parent' filepath='kernel/irq/chip.c' line='1342' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_chip_unmask_parent'>
+        <parameter type-id='type-id-7314' name='data' filepath='kernel/irq/chip.c' line='1342' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='irq_chip_eoi_parent' mangled-name='irq_chip_eoi_parent' filepath='kernel/irq/chip.c' line='1353' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_chip_eoi_parent'>
+        <parameter type-id='type-id-7314' name='data' filepath='kernel/irq/chip.c' line='1353' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='irq_chip_set_affinity_parent' mangled-name='irq_chip_set_affinity_parent' filepath='kernel/irq/chip.c' line='1368' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_chip_set_affinity_parent'>
+        <parameter type-id='type-id-7314' name='data' filepath='kernel/irq/chip.c' line='1368' column='1'/>
+        <parameter type-id='type-id-162' name='dest' filepath='kernel/irq/chip.c' line='1369' column='1'/>
+        <parameter type-id='type-id-211' name='force' filepath='kernel/irq/chip.c' line='1369' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='irq_chip_set_type_parent' mangled-name='irq_chip_set_type_parent' filepath='kernel/irq/chip.c' line='1386' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_chip_set_type_parent'>
+        <parameter type-id='type-id-7314' name='data' filepath='kernel/irq/chip.c' line='1386' column='1'/>
+        <parameter type-id='type-id-10' name='type' filepath='kernel/irq/chip.c' line='1386' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='irq_chip_retrigger_hierarchy' mangled-name='irq_chip_retrigger_hierarchy' filepath='kernel/irq/chip.c' line='1404' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_chip_retrigger_hierarchy'>
+        <parameter type-id='type-id-7314' name='data' filepath='kernel/irq/chip.c' line='1404' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='irq_chip_set_vcpu_affinity_parent' mangled-name='irq_chip_set_vcpu_affinity_parent' filepath='kernel/irq/chip.c' line='1419' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_chip_set_vcpu_affinity_parent'>
+        <parameter type-id='type-id-7314' name='data' filepath='kernel/irq/chip.c' line='1419' column='1'/>
+        <parameter type-id='type-id-3' name='vcpu_info' filepath='kernel/irq/chip.c' line='1419' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='irq_chip_set_wake_parent' mangled-name='irq_chip_set_wake_parent' filepath='kernel/irq/chip.c' line='1436' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_chip_set_wake_parent'>
+        <parameter type-id='type-id-7314' name='data' filepath='kernel/irq/chip.c' line='1436' column='1'/>
+        <parameter type-id='type-id-10' name='on' filepath='kernel/irq/chip.c' line='1436' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/irq/devres.c' language='LANG_C89'>
+      <function-decl name='devm_request_threaded_irq' mangled-name='devm_request_threaded_irq' filepath='kernel/irq/devres.c' line='51' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_request_threaded_irq'>
+        <parameter type-id='type-id-86' name='dev' filepath='kernel/irq/devres.c' line='51' column='1'/>
+        <parameter type-id='type-id-10' name='irq' filepath='kernel/irq/devres.c' line='51' column='1'/>
+        <parameter type-id='type-id-7317' name='handler' filepath='kernel/irq/devres.c' line='52' column='1'/>
+        <parameter type-id='type-id-7317' name='thread_fn' filepath='kernel/irq/devres.c' line='52' column='1'/>
+        <parameter type-id='type-id-100' name='irqflags' filepath='kernel/irq/devres.c' line='53' column='1'/>
+        <parameter type-id='type-id-24' name='devname' filepath='kernel/irq/devres.c' line='53' column='1'/>
+        <parameter type-id='type-id-3' name='dev_id' filepath='kernel/irq/devres.c' line='54' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='devm_request_any_context_irq' mangled-name='devm_request_any_context_irq' filepath='kernel/irq/devres.c' line='101' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_request_any_context_irq'>
+        <parameter type-id='type-id-86' name='dev' filepath='kernel/irq/devres.c' line='101' column='1'/>
+        <parameter type-id='type-id-10' name='irq' filepath='kernel/irq/devres.c' line='101' column='1'/>
+        <parameter type-id='type-id-7317' name='handler' filepath='kernel/irq/devres.c' line='102' column='1'/>
+        <parameter type-id='type-id-100' name='irqflags' filepath='kernel/irq/devres.c' line='102' column='1'/>
+        <parameter type-id='type-id-24' name='devname' filepath='kernel/irq/devres.c' line='103' column='1'/>
+        <parameter type-id='type-id-3' name='dev_id' filepath='kernel/irq/devres.c' line='103' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='devm_free_irq' mangled-name='devm_free_irq' filepath='kernel/irq/devres.c' line='141' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_free_irq'>
+        <parameter type-id='type-id-86' name='dev' filepath='kernel/irq/devres.c' line='141' column='1'/>
+        <parameter type-id='type-id-10' name='irq' filepath='kernel/irq/devres.c' line='141' column='1'/>
+        <parameter type-id='type-id-3' name='dev_id' filepath='kernel/irq/devres.c' line='141' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/irq/handle.c' language='LANG_C89'>
+      <function-decl name='handle_bad_irq' mangled-name='handle_bad_irq' filepath='kernel/irq/handle.c' line='31' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='handle_bad_irq'>
+        <parameter type-id='type-id-7315' name='desc' filepath='kernel/irq/handle.c' line='31' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/irq/irqdesc.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-7318' size-in-bits='infinite' id='type-id-7319'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-7320' size-in-bits='infinite' id='type-id-7321'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-9' size-in-bits='512' id='type-id-296'>
+        <subrange length='16' type-id='type-id-5' id='type-id-195'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='infinite' id='type-id-6451'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <class-decl name='irq_domain' size-in-bits='1152' is-struct='yes' visibility='default' filepath='include/linux/irqdomain.h' line='157' column='1' id='type-id-7322'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='link' type-id='type-id-8' visibility='default' filepath='include/linux/irqdomain.h' line='158' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/irqdomain.h' line='159' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='ops' type-id='type-id-3246' visibility='default' filepath='include/linux/irqdomain.h' line='160' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='host_data' type-id='type-id-3' visibility='default' filepath='include/linux/irqdomain.h' line='161' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='include/linux/irqdomain.h' line='162' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='mapcount' type-id='type-id-10' visibility='default' filepath='include/linux/irqdomain.h' line='163' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='fwnode' type-id='type-id-575' visibility='default' filepath='include/linux/irqdomain.h' line='166' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='bus_token' type-id='type-id-7323' visibility='default' filepath='include/linux/irqdomain.h' line='167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='gc' type-id='type-id-7324' visibility='default' filepath='include/linux/irqdomain.h' line='168' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='parent' type-id='type-id-639' visibility='default' filepath='include/linux/irqdomain.h' line='170' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='hwirq_max' type-id='type-id-7325' visibility='default' filepath='include/linux/irqdomain.h' line='177' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='revmap_direct_max_irq' type-id='type-id-10' visibility='default' filepath='include/linux/irqdomain.h' line='178' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='736'>
+          <var-decl name='revmap_size' type-id='type-id-10' visibility='default' filepath='include/linux/irqdomain.h' line='179' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='revmap_tree' type-id='type-id-3181' visibility='default' filepath='include/linux/irqdomain.h' line='180' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='revmap_tree_mutex' type-id='type-id-407' visibility='default' filepath='include/linux/irqdomain.h' line='181' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='linear_revmap' type-id='type-id-6451' visibility='default' filepath='include/linux/irqdomain.h' line='182' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='irq_domain_ops' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/irqdomain.h' line='100' column='1' id='type-id-7326'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='match' type-id='type-id-7327' visibility='default' filepath='include/linux/irqdomain.h' line='101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='select' type-id='type-id-7328' visibility='default' filepath='include/linux/irqdomain.h' line='103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='map' type-id='type-id-7329' visibility='default' filepath='include/linux/irqdomain.h' line='105' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='unmap' type-id='type-id-7330' visibility='default' filepath='include/linux/irqdomain.h' line='106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='xlate' type-id='type-id-7331' visibility='default' filepath='include/linux/irqdomain.h' line='107' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='alloc' type-id='type-id-7332' visibility='default' filepath='include/linux/irqdomain.h' line='112' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='free' type-id='type-id-7333' visibility='default' filepath='include/linux/irqdomain.h' line='114' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='activate' type-id='type-id-7334' visibility='default' filepath='include/linux/irqdomain.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='deactivate' type-id='type-id-7335' visibility='default' filepath='include/linux/irqdomain.h' line='117' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='translate' type-id='type-id-7336' visibility='default' filepath='include/linux/irqdomain.h' line='118' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='irq_domain_bus_token' filepath='include/linux/irqdomain.h' line='75' column='1' id='type-id-7323'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='DOMAIN_BUS_ANY' value='0'/>
+        <enumerator name='DOMAIN_BUS_WIRED' value='1'/>
+        <enumerator name='DOMAIN_BUS_PCI_MSI' value='2'/>
+        <enumerator name='DOMAIN_BUS_PLATFORM_MSI' value='3'/>
+        <enumerator name='DOMAIN_BUS_NEXUS' value='4'/>
+        <enumerator name='DOMAIN_BUS_IPI' value='5'/>
+        <enumerator name='DOMAIN_BUS_FSL_MC_MSI' value='6'/>
+      </enum-decl>
+      <class-decl name='irq_fwspec' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/irqdomain.h' line='62' column='1' id='type-id-3106'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='fwnode' type-id='type-id-575' visibility='default' filepath='include/linux/irqdomain.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='param_count' type-id='type-id-11' visibility='default' filepath='include/linux/irqdomain.h' line='64' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='param' type-id='type-id-296' visibility='default' filepath='include/linux/irqdomain.h' line='65' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='irq_hw_number_t' type-id='type-id-100' filepath='include/linux/types.h' line='174' column='1' id='type-id-7325'/>
+      <class-decl name='irq_domain_chip_generic' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/irq.h' line='1048' column='1' id='type-id-7337'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='irqs_per_chip' type-id='type-id-10' visibility='default' filepath='include/linux/irq.h' line='1049' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='num_chips' type-id='type-id-10' visibility='default' filepath='include/linux/irq.h' line='1050' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='irq_flags_to_clear' type-id='type-id-10' visibility='default' filepath='include/linux/irq.h' line='1051' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='irq_flags_to_set' type-id='type-id-10' visibility='default' filepath='include/linux/irq.h' line='1052' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='gc_flags' type-id='type-id-7338' visibility='default' filepath='include/linux/irq.h' line='1053' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='gc' type-id='type-id-7319' visibility='default' filepath='include/linux/irq.h' line='1054' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='irq_gc_flags' filepath='include/linux/irq.h' line='1031' column='1' id='type-id-7338'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='IRQ_GC_INIT_MASK_CACHE' value='1'/>
+        <enumerator name='IRQ_GC_INIT_NESTED_LOCK' value='2'/>
+        <enumerator name='IRQ_GC_MASK_CACHE_PER_TYPE' value='4'/>
+        <enumerator name='IRQ_GC_NO_MASK' value='8'/>
+        <enumerator name='IRQ_GC_BE_IO' value='16'/>
+      </enum-decl>
+      <class-decl name='irq_chip_generic' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/linux/irq.h' line='998' column='1' id='type-id-7339'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-5119' visibility='default' filepath='include/linux/irq.h' line='999' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='reg_base' type-id='type-id-3' visibility='default' filepath='include/linux/irq.h' line='1000' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='reg_readl' type-id='type-id-7340' visibility='default' filepath='include/linux/irq.h' line='1001' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='reg_writel' type-id='type-id-7341' visibility='default' filepath='include/linux/irq.h' line='1002' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='suspend' type-id='type-id-7342' visibility='default' filepath='include/linux/irq.h' line='1003' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='resume' type-id='type-id-7342' visibility='default' filepath='include/linux/irq.h' line='1004' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='irq_base' type-id='type-id-10' visibility='default' filepath='include/linux/irq.h' line='1005' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='irq_cnt' type-id='type-id-10' visibility='default' filepath='include/linux/irq.h' line='1006' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='mask_cache' type-id='type-id-9' visibility='default' filepath='include/linux/irq.h' line='1007' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='type_cache' type-id='type-id-9' visibility='default' filepath='include/linux/irq.h' line='1008' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='polarity_cache' type-id='type-id-9' visibility='default' filepath='include/linux/irq.h' line='1009' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='wake_enabled' type-id='type-id-9' visibility='default' filepath='include/linux/irq.h' line='1010' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='wake_active' type-id='type-id-9' visibility='default' filepath='include/linux/irq.h' line='1011' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='num_ct' type-id='type-id-10' visibility='default' filepath='include/linux/irq.h' line='1012' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='private' type-id='type-id-3' visibility='default' filepath='include/linux/irq.h' line='1013' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='installed' type-id='type-id-100' visibility='default' filepath='include/linux/irq.h' line='1014' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='unused' type-id='type-id-100' visibility='default' filepath='include/linux/irq.h' line='1015' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='domain' type-id='type-id-639' visibility='default' filepath='include/linux/irq.h' line='1016' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/irq.h' line='1017' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='chip_types' type-id='type-id-7321' visibility='default' filepath='include/linux/irq.h' line='1018' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='irq_chip_type' size-in-bits='2816' is-struct='yes' visibility='default' filepath='include/linux/irq.h' line='956' column='1' id='type-id-7320'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='chip' type-id='type-id-637' visibility='default' filepath='include/linux/irq.h' line='957' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='regs' type-id='type-id-7343' visibility='default' filepath='include/linux/irq.h' line='958' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2624'>
-          <var-decl name='i_version' type-id='type-id-113' visibility='default' filepath='include/linux/fs.h' line='667' column='1'/>
+          <var-decl name='handler' type-id='type-id-1072' visibility='default' filepath='include/linux/irq.h' line='959' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2688'>
-          <var-decl name='i_count' type-id='type-id-26' visibility='default' filepath='include/linux/fs.h' line='668' column='1'/>
+          <var-decl name='type' type-id='type-id-9' visibility='default' filepath='include/linux/irq.h' line='960' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2720'>
-          <var-decl name='i_dio_count' type-id='type-id-26' visibility='default' filepath='include/linux/fs.h' line='669' column='1'/>
+          <var-decl name='mask_cache_priv' type-id='type-id-9' visibility='default' filepath='include/linux/irq.h' line='961' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2752'>
-          <var-decl name='i_writecount' type-id='type-id-26' visibility='default' filepath='include/linux/fs.h' line='670' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2816'>
-          <var-decl name='i_fop' type-id='type-id-268' visibility='default' filepath='include/linux/fs.h' line='674' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2880'>
-          <var-decl name='i_flctx' type-id='type-id-1306' visibility='default' filepath='include/linux/fs.h' line='675' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2944'>
-          <var-decl name='i_data' type-id='type-id-1307' visibility='default' filepath='include/linux/fs.h' line='676' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4288'>
-          <var-decl name='i_devices' type-id='type-id-20' visibility='default' filepath='include/linux/fs.h' line='677' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4480'>
-          <var-decl name='i_generation' type-id='type-id-511' visibility='default' filepath='include/linux/fs.h' line='686' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4512'>
-          <var-decl name='i_fsnotify_mask' type-id='type-id-511' visibility='default' filepath='include/linux/fs.h' line='689' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4544'>
-          <var-decl name='i_fsnotify_marks' type-id='type-id-1308' visibility='default' filepath='include/linux/fs.h' line='690' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4608'>
-          <var-decl name='i_crypt_info' type-id='type-id-1309' visibility='default' filepath='include/linux/fs.h' line='694' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4672'>
-          <var-decl name='i_verity_info' type-id='type-id-1310' visibility='default' filepath='include/linux/fs.h' line='698' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4736'>
-          <var-decl name='i_private' type-id='type-id-15' visibility='default' filepath='include/linux/fs.h' line='701' column='1'/>
+          <var-decl name='mask_cache' type-id='type-id-347' visibility='default' filepath='include/linux/irq.h' line='962' column='1'/>
         </data-member>
       </class-decl>
-      <typedef-decl name='umode_t' type-id='type-id-312' filepath='include/linux/types.h' line='19' column='1' id='type-id-329'/>
-      <typedef-decl name='kuid_t' type-id='type-id-1311' filepath='include/linux/uidgid.h' line='23' column='1' id='type-id-42'/>
-      <class-decl name='__anonymous_struct__8' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-42' visibility='default' filepath='include/linux/uidgid.h' line='21' column='1' id='type-id-1311'>
+      <class-decl name='irq_chip_regs' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/irq.h' line='933' column='1' id='type-id-7343'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='val' type-id='type-id-350' visibility='default' filepath='include/linux/uidgid.h' line='22' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='uid_t' type-id='type-id-1312' filepath='include/linux/types.h' line='32' column='1' id='type-id-350'/>
-      <typedef-decl name='__kernel_uid32_t' type-id='type-id-5' filepath='include/uapi/asm-generic/posix_types.h' line='49' column='1' id='type-id-1312'/>
-      <typedef-decl name='kgid_t' type-id='type-id-1313' filepath='include/linux/uidgid.h' line='28' column='1' id='type-id-330'/>
-      <class-decl name='__anonymous_struct__9' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-330' visibility='default' filepath='include/linux/uidgid.h' line='26' column='1' id='type-id-1313'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='val' type-id='type-id-351' visibility='default' filepath='include/linux/uidgid.h' line='27' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='gid_t' type-id='type-id-1314' filepath='include/linux/types.h' line='33' column='1' id='type-id-351'/>
-      <typedef-decl name='__kernel_gid32_t' type-id='type-id-5' filepath='include/uapi/asm-generic/posix_types.h' line='50' column='1' id='type-id-1314'/>
-      <class-decl name='inode_operations' size-in-bits='1536' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='1802' column='1' id='type-id-1315'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lookup' type-id='type-id-1316' visibility='default' filepath='include/linux/fs.h' line='1803' column='1'/>
+          <var-decl name='enable' type-id='type-id-100' visibility='default' filepath='include/linux/irq.h' line='934' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='get_link' type-id='type-id-1317' visibility='default' filepath='include/linux/fs.h' line='1804' column='1'/>
+          <var-decl name='disable' type-id='type-id-100' visibility='default' filepath='include/linux/irq.h' line='935' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='permission' type-id='type-id-1318' visibility='default' filepath='include/linux/fs.h' line='1805' column='1'/>
+          <var-decl name='mask' type-id='type-id-100' visibility='default' filepath='include/linux/irq.h' line='936' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='permission2' type-id='type-id-1319' visibility='default' filepath='include/linux/fs.h' line='1806' column='1'/>
+          <var-decl name='ack' type-id='type-id-100' visibility='default' filepath='include/linux/irq.h' line='937' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='get_acl' type-id='type-id-1320' visibility='default' filepath='include/linux/fs.h' line='1807' column='1'/>
+          <var-decl name='eoi' type-id='type-id-100' visibility='default' filepath='include/linux/irq.h' line='938' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='readlink' type-id='type-id-1321' visibility='default' filepath='include/linux/fs.h' line='1809' column='1'/>
+          <var-decl name='type' type-id='type-id-100' visibility='default' filepath='include/linux/irq.h' line='939' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='create' type-id='type-id-1322' visibility='default' filepath='include/linux/fs.h' line='1811' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='link' type-id='type-id-1323' visibility='default' filepath='include/linux/fs.h' line='1812' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='unlink' type-id='type-id-1324' visibility='default' filepath='include/linux/fs.h' line='1813' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='symlink' type-id='type-id-1325' visibility='default' filepath='include/linux/fs.h' line='1814' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='mkdir' type-id='type-id-1326' visibility='default' filepath='include/linux/fs.h' line='1815' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='rmdir' type-id='type-id-1324' visibility='default' filepath='include/linux/fs.h' line='1816' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='mknod' type-id='type-id-1327' visibility='default' filepath='include/linux/fs.h' line='1817' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='rename' type-id='type-id-1328' visibility='default' filepath='include/linux/fs.h' line='1818' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='setattr' type-id='type-id-1329' visibility='default' filepath='include/linux/fs.h' line='1820' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='setattr2' type-id='type-id-1330' visibility='default' filepath='include/linux/fs.h' line='1821' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='getattr' type-id='type-id-1331' visibility='default' filepath='include/linux/fs.h' line='1822' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='listxattr' type-id='type-id-1332' visibility='default' filepath='include/linux/fs.h' line='1823' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='fiemap' type-id='type-id-1333' visibility='default' filepath='include/linux/fs.h' line='1824' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='update_time' type-id='type-id-1334' visibility='default' filepath='include/linux/fs.h' line='1826' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='atomic_open' type-id='type-id-1335' visibility='default' filepath='include/linux/fs.h' line='1827' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='tmpfile' type-id='type-id-1326' visibility='default' filepath='include/linux/fs.h' line='1830' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='set_acl' type-id='type-id-1336' visibility='default' filepath='include/linux/fs.h' line='1831' column='1'/>
+          <var-decl name='polarity' type-id='type-id-100' visibility='default' filepath='include/linux/irq.h' line='940' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='delayed_call' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/delayed_call.h' line='10' column='1' id='type-id-1337'>
+      <qualified-type-def type-id='type-id-7326' const='yes' id='type-id-7344'/>
+      <pointer-type-def type-id='type-id-7344' size-in-bits='64' id='type-id-3246'/>
+      <qualified-type-def type-id='type-id-9' const='yes' id='type-id-4346'/>
+      <pointer-type-def type-id='type-id-4346' size-in-bits='64' id='type-id-560'/>
+      <pointer-type-def type-id='type-id-7345' size-in-bits='64' id='type-id-7331'/>
+      <pointer-type-def type-id='type-id-7346' size-in-bits='64' id='type-id-7327'/>
+      <pointer-type-def type-id='type-id-7347' size-in-bits='64' id='type-id-7334'/>
+      <pointer-type-def type-id='type-id-7348' size-in-bits='64' id='type-id-7328'/>
+      <pointer-type-def type-id='type-id-7349' size-in-bits='64' id='type-id-7336'/>
+      <pointer-type-def type-id='type-id-7350' size-in-bits='64' id='type-id-7329'/>
+      <pointer-type-def type-id='type-id-7351' size-in-bits='64' id='type-id-7332'/>
+      <pointer-type-def type-id='type-id-7339' size-in-bits='64' id='type-id-7318'/>
+      <pointer-type-def type-id='type-id-7322' size-in-bits='64' id='type-id-639'/>
+      <pointer-type-def type-id='type-id-7337' size-in-bits='64' id='type-id-7324'/>
+      <pointer-type-def type-id='type-id-3106' size-in-bits='64' id='type-id-3109'/>
+      <pointer-type-def type-id='type-id-7352' size-in-bits='64' id='type-id-7340'/>
+      <pointer-type-def type-id='type-id-7353' size-in-bits='64' id='type-id-7342'/>
+      <pointer-type-def type-id='type-id-7354' size-in-bits='64' id='type-id-7335'/>
+      <pointer-type-def type-id='type-id-7355' size-in-bits='64' id='type-id-7330'/>
+      <pointer-type-def type-id='type-id-7356' size-in-bits='64' id='type-id-7333'/>
+      <pointer-type-def type-id='type-id-7357' size-in-bits='64' id='type-id-7341'/>
+      <function-decl name='irq_find_mapping' mangled-name='irq_find_mapping' filepath='include/linux/irqdomain.h' line='401' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_find_mapping'>
+        <parameter type-id='type-id-639'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-10'/>
+      </function-decl>
+      <function-decl name='bitmap_find_next_zero_area_off' mangled-name='bitmap_find_next_zero_area_off' filepath='include/linux/bitmap.h' line='145' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bitmap_find_next_zero_area_off'>
+        <parameter type-id='type-id-76'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+      <function-decl name='irq_modify_status' mangled-name='irq_modify_status' filepath='include/linux/irq.h' line='702' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_modify_status'>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='generic_handle_irq' mangled-name='generic_handle_irq' filepath='kernel/irq/irqdesc.c' line='633' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='generic_handle_irq'>
+        <parameter type-id='type-id-10' name='irq' filepath='kernel/irq/irqdesc.c' line='633' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-7345'>
+        <parameter type-id='type-id-639'/>
+        <parameter type-id='type-id-81'/>
+        <parameter type-id='type-id-560'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-76'/>
+        <parameter type-id='type-id-72'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7346'>
+        <parameter type-id='type-id-639'/>
+        <parameter type-id='type-id-81'/>
+        <parameter type-id='type-id-7323'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7347'>
+        <parameter type-id='type-id-639'/>
+        <parameter type-id='type-id-7314'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7348'>
+        <parameter type-id='type-id-639'/>
+        <parameter type-id='type-id-3109'/>
+        <parameter type-id='type-id-7323'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7349'>
+        <parameter type-id='type-id-639'/>
+        <parameter type-id='type-id-3109'/>
+        <parameter type-id='type-id-76'/>
+        <parameter type-id='type-id-72'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7350'>
+        <parameter type-id='type-id-639'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-7325'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7351'>
+        <parameter type-id='type-id-639'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7352'>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-9'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7353'>
+        <parameter type-id='type-id-7318'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7354'>
+        <parameter type-id='type-id-639'/>
+        <parameter type-id='type-id-7314'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7355'>
+        <parameter type-id='type-id-639'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7356'>
+        <parameter type-id='type-id-639'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7357'>
+        <parameter type-id='type-id-9'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/irq/irqdomain.c' language='LANG_C89'>
+      <pointer-type-def type-id='type-id-7325' size-in-bits='64' id='type-id-7358'/>
+      <function-decl name='kasprintf' mangled-name='kasprintf' filepath='include/linux/kernel.h' line='493' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kasprintf'>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-24'/>
+        <parameter is-variadic='yes'/>
+        <return type-id='type-id-300'/>
+      </function-decl>
+      <function-decl name='__irq_domain_add' mangled-name='__irq_domain_add' filepath='kernel/irq/irqdomain.c' line='129' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__irq_domain_add'>
+        <parameter type-id='type-id-575' name='fwnode' filepath='kernel/irq/irqdomain.c' line='129' column='1'/>
+        <parameter type-id='type-id-11' name='size' filepath='kernel/irq/irqdomain.c' line='129' column='1'/>
+        <parameter type-id='type-id-7325' name='hwirq_max' filepath='kernel/irq/irqdomain.c' line='130' column='1'/>
+        <parameter type-id='type-id-11' name='direct_max' filepath='kernel/irq/irqdomain.c' line='130' column='1'/>
+        <parameter type-id='type-id-3246' name='ops' filepath='kernel/irq/irqdomain.c' line='131' column='1'/>
+        <parameter type-id='type-id-3' name='host_data' filepath='kernel/irq/irqdomain.c' line='132' column='1'/>
+        <return type-id='type-id-639'/>
+      </function-decl>
+      <function-decl name='irq_domain_remove' mangled-name='irq_domain_remove' filepath='kernel/irq/irqdomain.c' line='242' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_domain_remove'>
+        <parameter type-id='type-id-639' name='domain' filepath='kernel/irq/irqdomain.c' line='242' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='irq_domain_update_bus_token' mangled-name='irq_domain_update_bus_token' filepath='kernel/irq/irqdomain.c' line='268' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_domain_update_bus_token'>
+        <parameter type-id='type-id-639' name='domain' filepath='kernel/irq/irqdomain.c' line='268' column='1'/>
+        <parameter type-id='type-id-7323' name='bus_token' filepath='kernel/irq/irqdomain.c' line='269' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='irq_find_matching_fwspec' mangled-name='irq_find_matching_fwspec' filepath='kernel/irq/irqdomain.c' line='384' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_find_matching_fwspec'>
+        <parameter type-id='type-id-3109' name='fwspec' filepath='kernel/irq/irqdomain.c' line='384' column='1'/>
+        <parameter type-id='type-id-7323' name='bus_token' filepath='kernel/irq/irqdomain.c' line='385' column='1'/>
+        <return type-id='type-id-639'/>
+      </function-decl>
+      <function-decl name='irq_create_mapping' mangled-name='irq_create_mapping' filepath='kernel/irq/irqdomain.c' line='636' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_create_mapping'>
+        <parameter type-id='type-id-639' name='domain' filepath='kernel/irq/irqdomain.c' line='636' column='1'/>
+        <parameter type-id='type-id-7325' name='hwirq' filepath='kernel/irq/irqdomain.c' line='637' column='1'/>
+        <return type-id='type-id-10'/>
+      </function-decl>
+      <function-decl name='irq_create_fwspec_mapping' mangled-name='irq_create_fwspec_mapping' filepath='kernel/irq/irqdomain.c' line='746' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_create_fwspec_mapping'>
+        <parameter type-id='type-id-3109' name='fwspec' filepath='kernel/irq/irqdomain.c' line='746' column='1'/>
+        <return type-id='type-id-10'/>
+      </function-decl>
+      <function-decl name='irq_domain_xlate_onecell' mangled-name='irq_domain_xlate_onecell' filepath='kernel/irq/irqdomain.c' line='910' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_domain_xlate_onecell'>
+        <parameter type-id='type-id-639' name='d' filepath='kernel/irq/irqdomain.c' line='910' column='1'/>
+        <parameter type-id='type-id-81' name='ctrlr' filepath='kernel/irq/irqdomain.c' line='910' column='1'/>
+        <parameter type-id='type-id-560' name='intspec' filepath='kernel/irq/irqdomain.c' line='911' column='1'/>
+        <parameter type-id='type-id-10' name='intsize' filepath='kernel/irq/irqdomain.c' line='911' column='1'/>
+        <parameter type-id='type-id-76' name='out_hwirq' filepath='kernel/irq/irqdomain.c' line='912' column='1'/>
+        <parameter type-id='type-id-72' name='out_type' filepath='kernel/irq/irqdomain.c' line='912' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='irq_domain_xlate_twocell' mangled-name='irq_domain_xlate_twocell' filepath='kernel/irq/irqdomain.c' line='929' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_domain_xlate_twocell'>
+        <parameter type-id='type-id-639' name='d' filepath='kernel/irq/irqdomain.c' line='929' column='1'/>
+        <parameter type-id='type-id-81' name='ctrlr' filepath='kernel/irq/irqdomain.c' line='929' column='1'/>
+        <parameter type-id='type-id-560' name='intspec' filepath='kernel/irq/irqdomain.c' line='930' column='1'/>
+        <parameter type-id='type-id-10' name='intsize' filepath='kernel/irq/irqdomain.c' line='930' column='1'/>
+        <parameter type-id='type-id-7358' name='out_hwirq' filepath='kernel/irq/irqdomain.c' line='931' column='1'/>
+        <parameter type-id='type-id-72' name='out_type' filepath='kernel/irq/irqdomain.c' line='931' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='irq_domain_create_hierarchy' mangled-name='irq_domain_create_hierarchy' filepath='kernel/irq/irqdomain.c' line='1012' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_domain_create_hierarchy'>
+        <parameter type-id='type-id-639' name='parent' filepath='kernel/irq/irqdomain.c' line='1012' column='1'/>
+        <parameter type-id='type-id-10' name='flags' filepath='kernel/irq/irqdomain.c' line='1013' column='1'/>
+        <parameter type-id='type-id-10' name='size' filepath='kernel/irq/irqdomain.c' line='1014' column='1'/>
+        <parameter type-id='type-id-575' name='fwnode' filepath='kernel/irq/irqdomain.c' line='1015' column='1'/>
+        <parameter type-id='type-id-3246' name='ops' filepath='kernel/irq/irqdomain.c' line='1016' column='1'/>
+        <parameter type-id='type-id-3' name='host_data' filepath='kernel/irq/irqdomain.c' line='1017' column='1'/>
+        <return type-id='type-id-639'/>
+      </function-decl>
+      <function-decl name='irq_domain_set_hwirq_and_chip' mangled-name='irq_domain_set_hwirq_and_chip' filepath='kernel/irq/irqdomain.c' line='1157' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_domain_set_hwirq_and_chip'>
+        <parameter type-id='type-id-639' name='domain' filepath='kernel/irq/irqdomain.c' line='1157' column='1'/>
+        <parameter type-id='type-id-10' name='virq' filepath='kernel/irq/irqdomain.c' line='1157' column='1'/>
+        <parameter type-id='type-id-7325' name='hwirq' filepath='kernel/irq/irqdomain.c' line='1158' column='1'/>
+        <parameter type-id='type-id-1071' name='chip' filepath='kernel/irq/irqdomain.c' line='1158' column='1'/>
+        <parameter type-id='type-id-3' name='chip_data' filepath='kernel/irq/irqdomain.c' line='1159' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='irq_domain_free_irqs_common' mangled-name='irq_domain_free_irqs_common' filepath='kernel/irq/irqdomain.c' line='1214' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_domain_free_irqs_common'>
+        <parameter type-id='type-id-639' name='domain' filepath='kernel/irq/irqdomain.c' line='1214' column='1'/>
+        <parameter type-id='type-id-10' name='virq' filepath='kernel/irq/irqdomain.c' line='1214' column='1'/>
+        <parameter type-id='type-id-10' name='nr_irqs' filepath='kernel/irq/irqdomain.c' line='1215' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='irq_domain_free_irqs_top' mangled-name='irq_domain_free_irqs_top' filepath='kernel/irq/irqdomain.c' line='1235' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_domain_free_irqs_top'>
+        <parameter type-id='type-id-639' name='domain' filepath='kernel/irq/irqdomain.c' line='1235' column='1'/>
+        <parameter type-id='type-id-10' name='virq' filepath='kernel/irq/irqdomain.c' line='1235' column='1'/>
+        <parameter type-id='type-id-10' name='nr_irqs' filepath='kernel/irq/irqdomain.c' line='1236' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='irq_domain_alloc_irqs_parent' mangled-name='irq_domain_alloc_irqs_parent' filepath='kernel/irq/irqdomain.c' line='1542' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_domain_alloc_irqs_parent'>
+        <parameter type-id='type-id-639' name='domain' filepath='kernel/irq/irqdomain.c' line='1542' column='1'/>
+        <parameter type-id='type-id-10' name='irq_base' filepath='kernel/irq/irqdomain.c' line='1543' column='1'/>
+        <parameter type-id='type-id-10' name='nr_irqs' filepath='kernel/irq/irqdomain.c' line='1543' column='1'/>
+        <parameter type-id='type-id-3' name='arg' filepath='kernel/irq/irqdomain.c' line='1544' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/irq/manage.c' language='LANG_C89'>
+      <function-decl name='synchronize_irq' mangled-name='synchronize_irq' filepath='kernel/irq/manage.c' line='126' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='synchronize_irq'>
+        <parameter type-id='type-id-10' name='irq' filepath='kernel/irq/manage.c' line='126' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__irq_set_affinity' mangled-name='__irq_set_affinity' filepath='kernel/irq/manage.c' line='293' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__irq_set_affinity'>
+        <parameter type-id='type-id-10' name='irq' filepath='kernel/irq/manage.c' line='293' column='1'/>
+        <parameter type-id='type-id-162' name='mask' filepath='kernel/irq/manage.c' line='293' column='1'/>
+        <parameter type-id='type-id-211' name='force' filepath='kernel/irq/manage.c' line='293' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='irq_set_affinity_hint' mangled-name='irq_set_affinity_hint' filepath='kernel/irq/manage.c' line='308' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_set_affinity_hint'>
+        <parameter type-id='type-id-10' name='irq' filepath='kernel/irq/manage.c' line='308' column='1'/>
+        <parameter type-id='type-id-162' name='m' filepath='kernel/irq/manage.c' line='308' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='irq_set_affinity_notifier' mangled-name='irq_set_affinity_notifier' filepath='kernel/irq/manage.c' line='361' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_set_affinity_notifier'>
+        <parameter type-id='type-id-10' name='irq' filepath='kernel/irq/manage.c' line='361' column='1'/>
+        <parameter type-id='type-id-7359' name='notify' filepath='kernel/irq/manage.c' line='361' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='disable_irq_nosync' mangled-name='disable_irq_nosync' filepath='kernel/irq/manage.c' line='519' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='disable_irq_nosync'>
+        <parameter type-id='type-id-10' name='irq' filepath='kernel/irq/manage.c' line='519' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='disable_irq' mangled-name='disable_irq' filepath='kernel/irq/manage.c' line='537' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='disable_irq'>
+        <parameter type-id='type-id-10' name='irq' filepath='kernel/irq/manage.c' line='537' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='enable_irq' mangled-name='enable_irq' filepath='kernel/irq/manage.c' line='609' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='enable_irq'>
+        <parameter type-id='type-id-10' name='irq' filepath='kernel/irq/manage.c' line='609' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='irq_set_irq_wake' mangled-name='irq_set_irq_wake' filepath='kernel/irq/manage.c' line='652' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_set_irq_wake'>
+        <parameter type-id='type-id-10' name='irq' filepath='kernel/irq/manage.c' line='652' column='1'/>
+        <parameter type-id='type-id-10' name='on' filepath='kernel/irq/manage.c' line='652' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='irq_set_parent' mangled-name='irq_set_parent' filepath='kernel/irq/manage.c' line='766' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_set_parent'>
+        <parameter type-id='type-id-11' name='irq' filepath='kernel/irq/manage.c' line='766' column='1'/>
+        <parameter type-id='type-id-11' name='parent_irq' filepath='kernel/irq/manage.c' line='766' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='free_irq' mangled-name='free_irq' filepath='kernel/irq/manage.c' line='1761' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='free_irq'>
+        <parameter type-id='type-id-10' name='irq' filepath='kernel/irq/manage.c' line='1761' column='1'/>
+        <parameter type-id='type-id-3' name='dev_id' filepath='kernel/irq/manage.c' line='1761' column='1'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='request_threaded_irq' mangled-name='request_threaded_irq' filepath='kernel/irq/manage.c' line='1828' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='request_threaded_irq'>
+        <parameter type-id='type-id-10' name='irq' filepath='kernel/irq/manage.c' line='1828' column='1'/>
+        <parameter type-id='type-id-7317' name='handler' filepath='kernel/irq/manage.c' line='1828' column='1'/>
+        <parameter type-id='type-id-7317' name='thread_fn' filepath='kernel/irq/manage.c' line='1829' column='1'/>
+        <parameter type-id='type-id-100' name='irqflags' filepath='kernel/irq/manage.c' line='1829' column='1'/>
+        <parameter type-id='type-id-24' name='devname' filepath='kernel/irq/manage.c' line='1830' column='1'/>
+        <parameter type-id='type-id-3' name='dev_id' filepath='kernel/irq/manage.c' line='1830' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='enable_percpu_irq' mangled-name='enable_percpu_irq' filepath='kernel/irq/manage.c' line='1955' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='enable_percpu_irq'>
+        <parameter type-id='type-id-10' name='irq' filepath='kernel/irq/manage.c' line='1955' column='1'/>
+        <parameter type-id='type-id-10' name='type' filepath='kernel/irq/manage.c' line='1955' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='disable_percpu_irq' mangled-name='disable_percpu_irq' filepath='kernel/irq/manage.c' line='2014' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='disable_percpu_irq'>
+        <parameter type-id='type-id-10' name='irq' filepath='kernel/irq/manage.c' line='2014' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='free_percpu_irq' mangled-name='free_percpu_irq' filepath='kernel/irq/manage.c' line='2099' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='free_percpu_irq'>
+        <parameter type-id='type-id-10' name='irq' filepath='kernel/irq/manage.c' line='2099' column='1'/>
+        <parameter type-id='type-id-3' name='dev_id' filepath='kernel/irq/manage.c' line='2099' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__request_percpu_irq' mangled-name='__request_percpu_irq' filepath='kernel/irq/manage.c' line='2156' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__request_percpu_irq'>
+        <parameter type-id='type-id-10' name='irq' filepath='kernel/irq/manage.c' line='2156' column='1'/>
+        <parameter type-id='type-id-7317' name='handler' filepath='kernel/irq/manage.c' line='2156' column='1'/>
+        <parameter type-id='type-id-100' name='flags' filepath='kernel/irq/manage.c' line='2157' column='1'/>
+        <parameter type-id='type-id-24' name='devname' filepath='kernel/irq/manage.c' line='2157' column='1'/>
+        <parameter type-id='type-id-3' name='dev_id' filepath='kernel/irq/manage.c' line='2158' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='irq_get_irqchip_state' mangled-name='irq_get_irqchip_state' filepath='kernel/irq/manage.c' line='2236' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_get_irqchip_state'>
+        <parameter type-id='type-id-10' name='irq' filepath='kernel/irq/manage.c' line='2236' column='1'/>
+        <parameter type-id='type-id-7316' name='which' filepath='kernel/irq/manage.c' line='2236' column='1'/>
+        <parameter type-id='type-id-763' name='state' filepath='kernel/irq/manage.c' line='2237' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='irq_set_irqchip_state' mangled-name='irq_set_irqchip_state' filepath='kernel/irq/manage.c' line='2269' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_set_irqchip_state'>
+        <parameter type-id='type-id-10' name='irq' filepath='kernel/irq/manage.c' line='2269' column='1'/>
+        <parameter type-id='type-id-7316' name='which' filepath='kernel/irq/manage.c' line='2269' column='1'/>
+        <parameter type-id='type-id-211' name='val' filepath='kernel/irq/manage.c' line='2270' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/irq/pm.c' language='LANG_C89'>
+      <class-decl name='syscore_ops' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/syscore_ops.h' line='14' column='1' id='type-id-7360'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='fn' type-id='type-id-517' visibility='default' filepath='include/linux/delayed_call.h' line='11' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='arg' type-id='type-id-15' visibility='default' filepath='include/linux/delayed_call.h' line='12' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='dev_t' type-id='type-id-1338' filepath='include/linux/types.h' line='16' column='1' id='type-id-269'/>
-      <typedef-decl name='__kernel_dev_t' type-id='type-id-7' filepath='include/linux/types.h' line='13' column='1' id='type-id-1338'/>
-      <class-decl name='iattr' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='216' column='1' id='type-id-1339'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ia_valid' type-id='type-id-5' visibility='default' filepath='include/linux/fs.h' line='217' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='ia_mode' type-id='type-id-329' visibility='default' filepath='include/linux/fs.h' line='218' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ia_uid' type-id='type-id-42' visibility='default' filepath='include/linux/fs.h' line='219' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='ia_gid' type-id='type-id-330' visibility='default' filepath='include/linux/fs.h' line='220' column='1'/>
+          <var-decl name='node' type-id='type-id-8' visibility='default' filepath='include/linux/syscore_ops.h' line='15' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='ia_size' type-id='type-id-763' visibility='default' filepath='include/linux/fs.h' line='221' column='1'/>
+          <var-decl name='suspend' type-id='type-id-4871' visibility='default' filepath='include/linux/syscore_ops.h' line='16' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='ia_atime' type-id='type-id-355' visibility='default' filepath='include/linux/fs.h' line='222' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='ia_mtime' type-id='type-id-355' visibility='default' filepath='include/linux/fs.h' line='223' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='ia_ctime' type-id='type-id-355' visibility='default' filepath='include/linux/fs.h' line='224' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='ia_file' type-id='type-id-83' visibility='default' filepath='include/linux/fs.h' line='231' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='loff_t' type-id='type-id-1340' filepath='include/linux/types.h' line='46' column='1' id='type-id-763'/>
-      <typedef-decl name='__kernel_loff_t' type-id='type-id-1148' filepath='include/uapi/asm-generic/posix_types.h' line='88' column='1' id='type-id-1340'/>
-      <class-decl name='timespec64' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/time64.h' line='20' column='1' id='type-id-355'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='tv_sec' type-id='type-id-1341' visibility='default' filepath='include/linux/time64.h' line='21' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='tv_nsec' type-id='type-id-192' visibility='default' filepath='include/linux/time64.h' line='22' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='time64_t' type-id='type-id-900' filepath='include/linux/time64.h' line='7' column='1' id='type-id-1341'/>
-      <typedef-decl name='__s64' type-id='type-id-1148' filepath='include/uapi/asm-generic/int-ll64.h' line='30' column='1' id='type-id-900'/>
-      <class-decl name='kstat' size-in-bits='1088' is-struct='yes' visibility='default' filepath='include/linux/stat.h' line='24' column='1' id='type-id-1342'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='result_mask' type-id='type-id-7' visibility='default' filepath='include/linux/stat.h' line='25' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='mode' type-id='type-id-329' visibility='default' filepath='include/linux/stat.h' line='26' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='nlink' type-id='type-id-5' visibility='default' filepath='include/linux/stat.h' line='27' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='blksize' type-id='type-id-1343' visibility='default' filepath='include/linux/stat.h' line='28' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='attributes' type-id='type-id-40' visibility='default' filepath='include/linux/stat.h' line='29' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='attributes_mask' type-id='type-id-40' visibility='default' filepath='include/linux/stat.h' line='30' column='1'/>
+          <var-decl name='resume' type-id='type-id-3769' visibility='default' filepath='include/linux/syscore_ops.h' line='17' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='ino' type-id='type-id-40' visibility='default' filepath='include/linux/stat.h' line='38' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='dev' type-id='type-id-269' visibility='default' filepath='include/linux/stat.h' line='39' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='rdev' type-id='type-id-269' visibility='default' filepath='include/linux/stat.h' line='40' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='uid' type-id='type-id-42' visibility='default' filepath='include/linux/stat.h' line='41' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='gid' type-id='type-id-330' visibility='default' filepath='include/linux/stat.h' line='42' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='size' type-id='type-id-763' visibility='default' filepath='include/linux/stat.h' line='43' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='atime' type-id='type-id-355' visibility='default' filepath='include/linux/stat.h' line='44' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='mtime' type-id='type-id-355' visibility='default' filepath='include/linux/stat.h' line='45' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='ctime' type-id='type-id-355' visibility='default' filepath='include/linux/stat.h' line='46' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='btime' type-id='type-id-355' visibility='default' filepath='include/linux/stat.h' line='47' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='blocks' type-id='type-id-40' visibility='default' filepath='include/linux/stat.h' line='48' column='1'/>
+          <var-decl name='shutdown' type-id='type-id-3769' visibility='default' filepath='include/linux/syscore_ops.h' line='18' column='1'/>
         </data-member>
       </class-decl>
-      <typedef-decl name='uint32_t' type-id='type-id-7' filepath='include/linux/types.h' line='109' column='1' id='type-id-1343'/>
-      <typedef-decl name='ssize_t' type-id='type-id-1344' filepath='include/linux/types.h' line='60' column='1' id='type-id-86'/>
-      <typedef-decl name='__kernel_ssize_t' type-id='type-id-105' filepath='include/uapi/asm-generic/posix_types.h' line='73' column='1' id='type-id-1344'/>
-      <typedef-decl name='__kernel_long_t' type-id='type-id-192' filepath='include/uapi/asm-generic/posix_types.h' line='15' column='1' id='type-id-105'/>
-      <class-decl name='fiemap_extent_info' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='1688' column='1' id='type-id-1345'>
+      <pointer-type-def type-id='type-id-7360' size-in-bits='64' id='type-id-764'/>
+      <function-decl name='register_syscore_ops' mangled-name='register_syscore_ops' filepath='include/linux/syscore_ops.h' line='21' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='register_syscore_ops'>
+        <parameter type-id='type-id-764'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/irq/proc.c' language='LANG_C89'>
+      <function-decl name='proc_create_data' mangled-name='proc_create_data' filepath='include/linux/proc_fs.h' line='44' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='proc_create_data'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-288'/>
+        <parameter type-id='type-id-286'/>
+        <parameter type-id='type-id-1209'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-286'/>
+      </function-decl>
+      <function-decl name='remove_proc_entry' mangled-name='remove_proc_entry' filepath='include/linux/proc_fs.h' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='remove_proc_entry'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-286'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/kallsyms.c' language='LANG_C89'>
+      <function-decl name='sprint_symbol' mangled-name='sprint_symbol' filepath='kernel/kallsyms.c' line='435' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sprint_symbol'>
+        <parameter type-id='type-id-300' name='buffer' filepath='kernel/kallsyms.c' line='435' column='1'/>
+        <parameter type-id='type-id-100' name='address' filepath='kernel/kallsyms.c' line='435' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/kmod.c' language='LANG_C89'>
+      <function-decl name='__request_module' mangled-name='__request_module' filepath='kernel/kmod.c' line='125' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__request_module'>
+        <parameter type-id='type-id-211' name='wait' filepath='kernel/kmod.c' line='125' column='1'/>
+        <parameter type-id='type-id-24' name='fmt' filepath='kernel/kmod.c' line='125' column='1'/>
+        <parameter is-variadic='yes'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/ksysfs.c' language='LANG_C89'>
+      <qualified-type-def type-id='type-id-5281' const='yes' id='type-id-7361'/>
+      <pointer-type-def type-id='type-id-7361' size-in-bits='64' id='type-id-7362'/>
+      <function-decl name='kobject_create_and_add' mangled-name='kobject_create_and_add' filepath='include/linux/kobject.h' line='106' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kobject_create_and_add'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-87'/>
+        <return type-id='type-id-87'/>
+      </function-decl>
+      <function-decl name='sysfs_create_bin_file' mangled-name='sysfs_create_bin_file' filepath='include/linux/sysfs.h' line='248' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sysfs_create_bin_file'>
+        <parameter type-id='type-id-87'/>
+        <parameter type-id='type-id-7362'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/kthread.c' language='LANG_C89'>
+      <pointer-type-def type-id='type-id-5418' size-in-bits='64' id='type-id-7363'/>
+      <function-decl name='kthread_should_park' mangled-name='kthread_should_park' filepath='kernel/kthread.c' line='116' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kthread_should_park'>
+        <return type-id='type-id-211'/>
+      </function-decl>
+      <function-decl name='kthread_parkme' mangled-name='kthread_parkme' filepath='kernel/kthread.c' line='200' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kthread_parkme'>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__kthread_init_worker' mangled-name='__kthread_init_worker' filepath='kernel/kthread.c' line='598' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__kthread_init_worker'>
+        <parameter type-id='type-id-490' name='worker' filepath='kernel/kthread.c' line='598' column='1'/>
+        <parameter type-id='type-id-24' name='name' filepath='kernel/kthread.c' line='599' column='1'/>
+        <parameter type-id='type-id-532' name='key' filepath='kernel/kthread.c' line='600' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='kthread_worker_fn' mangled-name='kthread_worker_fn' filepath='kernel/kthread.c' line='625' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kthread_worker_fn'>
+        <parameter type-id='type-id-3' name='worker_ptr' filepath='kernel/kthread.c' line='625' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='kthread_queue_work' mangled-name='kthread_queue_work' filepath='kernel/kthread.c' line='810' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kthread_queue_work'>
+        <parameter type-id='type-id-490' name='worker' filepath='kernel/kthread.c' line='810' column='1'/>
+        <parameter type-id='type-id-5420' name='work' filepath='kernel/kthread.c' line='811' column='1'/>
+        <return type-id='type-id-211'/>
+      </function-decl>
+      <function-decl name='kthread_delayed_work_timer_fn' mangled-name='kthread_delayed_work_timer_fn' filepath='kernel/kthread.c' line='834' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kthread_delayed_work_timer_fn'>
+        <parameter type-id='type-id-6243' name='t' filepath='kernel/kthread.c' line='834' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='kthread_queue_delayed_work' mangled-name='kthread_queue_delayed_work' filepath='kernel/kthread.c' line='904' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kthread_queue_delayed_work'>
+        <parameter type-id='type-id-490' name='worker' filepath='kernel/kthread.c' line='904' column='1'/>
+        <parameter type-id='type-id-7363' name='dwork' filepath='kernel/kthread.c' line='905' column='1'/>
+        <parameter type-id='type-id-100' name='delay' filepath='kernel/kthread.c' line='906' column='1'/>
+        <return type-id='type-id-211'/>
+      </function-decl>
+      <function-decl name='kthread_flush_work' mangled-name='kthread_flush_work' filepath='kernel/kthread.c' line='942' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kthread_flush_work'>
+        <parameter type-id='type-id-5420' name='work' filepath='kernel/kthread.c' line='942' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='kthread_mod_delayed_work' mangled-name='kthread_mod_delayed_work' filepath='kernel/kthread.c' line='1041' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kthread_mod_delayed_work'>
+        <parameter type-id='type-id-490' name='worker' filepath='kernel/kthread.c' line='1041' column='1'/>
+        <parameter type-id='type-id-7363' name='dwork' filepath='kernel/kthread.c' line='1042' column='1'/>
+        <parameter type-id='type-id-100' name='delay' filepath='kernel/kthread.c' line='1043' column='1'/>
+        <return type-id='type-id-211'/>
+      </function-decl>
+      <function-decl name='kthread_cancel_work_sync' mangled-name='kthread_cancel_work_sync' filepath='kernel/kthread.c' line='1121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kthread_cancel_work_sync'>
+        <parameter type-id='type-id-5420' name='work' filepath='kernel/kthread.c' line='1121' column='1'/>
+        <return type-id='type-id-211'/>
+      </function-decl>
+      <function-decl name='kthread_cancel_delayed_work_sync' mangled-name='kthread_cancel_delayed_work_sync' filepath='kernel/kthread.c' line='1136' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kthread_cancel_delayed_work_sync'>
+        <parameter type-id='type-id-7363' name='dwork' filepath='kernel/kthread.c' line='1136' column='1'/>
+        <return type-id='type-id-211'/>
+      </function-decl>
+      <function-decl name='kthread_flush_worker' mangled-name='kthread_flush_worker' filepath='kernel/kthread.c' line='1149' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kthread_flush_worker'>
+        <parameter type-id='type-id-490' name='worker' filepath='kernel/kthread.c' line='1149' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/locking/mutex.c' language='LANG_C89'>
+      <class-decl name='io_context' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7364'/>
+      <class-decl name='mm_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7365'/>
+      <class-decl name='nsproxy' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7366'/>
+      <class-decl name='page' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7367'/>
+      <class-decl name='ww_mutex' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/ww_mutex.h' line='51' column='1' id='type-id-1256'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='fi_flags' type-id='type-id-5' visibility='default' filepath='include/linux/fs.h' line='1689' column='1'/>
+          <var-decl name='base' type-id='type-id-407' visibility='default' filepath='include/linux/ww_mutex.h' line='52' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='fi_extents_mapped' type-id='type-id-5' visibility='default' filepath='include/linux/fs.h' line='1690' column='1'/>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='ctx' type-id='type-id-7368' visibility='default' filepath='include/linux/ww_mutex.h' line='53' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ww_acquire_ctx' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/ww_mutex.h' line='31' column='1' id='type-id-1258'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='task' type-id='type-id-118' visibility='default' filepath='include/linux/ww_mutex.h' line='32' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='fi_extents_max' type-id='type-id-5' visibility='default' filepath='include/linux/fs.h' line='1691' column='1'/>
+          <var-decl name='stamp' type-id='type-id-100' visibility='default' filepath='include/linux/ww_mutex.h' line='33' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='fi_extents_start' type-id='type-id-1346' visibility='default' filepath='include/linux/fs.h' line='1692' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='fiemap_extent' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/uapi/linux/fiemap.h' line='17' column='1' id='type-id-1347'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='fe_logical' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/fiemap.h' line='18' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='fe_physical' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/fiemap.h' line='20' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='fe_length' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/fiemap.h' line='22' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='fe_reserved64' type-id='type-id-937' visibility='default' filepath='include/uapi/linux/fiemap.h' line='23' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='fe_flags' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fiemap.h' line='24' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='fe_reserved' type-id='type-id-933' visibility='default' filepath='include/uapi/linux/fiemap.h' line='25' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='super_block' size-in-bits='12288' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='1375' column='1' id='type-id-1348'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='s_list' type-id='type-id-20' visibility='default' filepath='include/linux/fs.h' line='1376' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='s_dev' type-id='type-id-269' visibility='default' filepath='include/linux/fs.h' line='1377' column='1'/>
+          <var-decl name='acquired' type-id='type-id-10' visibility='default' filepath='include/linux/ww_mutex.h' line='34' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='s_blocksize_bits' type-id='type-id-216' visibility='default' filepath='include/linux/fs.h' line='1378' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='s_blocksize' type-id='type-id-16' visibility='default' filepath='include/linux/fs.h' line='1379' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='s_maxbytes' type-id='type-id-763' visibility='default' filepath='include/linux/fs.h' line='1380' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='s_type' type-id='type-id-1349' visibility='default' filepath='include/linux/fs.h' line='1381' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='s_op' type-id='type-id-1350' visibility='default' filepath='include/linux/fs.h' line='1382' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='dq_op' type-id='type-id-1351' visibility='default' filepath='include/linux/fs.h' line='1383' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='s_qcop' type-id='type-id-1352' visibility='default' filepath='include/linux/fs.h' line='1384' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='s_export_op' type-id='type-id-1353' visibility='default' filepath='include/linux/fs.h' line='1385' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='s_flags' type-id='type-id-16' visibility='default' filepath='include/linux/fs.h' line='1386' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='s_iflags' type-id='type-id-16' visibility='default' filepath='include/linux/fs.h' line='1387' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='s_magic' type-id='type-id-16' visibility='default' filepath='include/linux/fs.h' line='1388' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='s_root' type-id='type-id-23' visibility='default' filepath='include/linux/fs.h' line='1389' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='s_umount' type-id='type-id-246' visibility='default' filepath='include/linux/fs.h' line='1390' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='s_count' type-id='type-id-17' visibility='default' filepath='include/linux/fs.h' line='1391' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1248'>
-          <var-decl name='s_active' type-id='type-id-26' visibility='default' filepath='include/linux/fs.h' line='1392' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='s_security' type-id='type-id-15' visibility='default' filepath='include/linux/fs.h' line='1394' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='s_xattr' type-id='type-id-1354' visibility='default' filepath='include/linux/fs.h' line='1396' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='s_cop' type-id='type-id-1355' visibility='default' filepath='include/linux/fs.h' line='1398' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='s_master_keys' type-id='type-id-1356' visibility='default' filepath='include/linux/fs.h' line='1399' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='s_vop' type-id='type-id-1357' visibility='default' filepath='include/linux/fs.h' line='1402' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='s_roots' type-id='type-id-1358' visibility='default' filepath='include/linux/fs.h' line='1404' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='s_mounts' type-id='type-id-20' visibility='default' filepath='include/linux/fs.h' line='1405' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='s_bdev' type-id='type-id-875' visibility='default' filepath='include/linux/fs.h' line='1406' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='s_bdi' type-id='type-id-1359' visibility='default' filepath='include/linux/fs.h' line='1407' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='s_mtd' type-id='type-id-1360' visibility='default' filepath='include/linux/fs.h' line='1408' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='s_instances' type-id='type-id-520' visibility='default' filepath='include/linux/fs.h' line='1409' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='s_quota_types' type-id='type-id-5' visibility='default' filepath='include/linux/fs.h' line='1410' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='s_dquot' type-id='type-id-1361' visibility='default' filepath='include/linux/fs.h' line='1411' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4672'>
-          <var-decl name='s_writers' type-id='type-id-1362' visibility='default' filepath='include/linux/fs.h' line='1413' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8000'>
-          <var-decl name='s_id' type-id='type-id-373' visibility='default' filepath='include/linux/fs.h' line='1415' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8256'>
-          <var-decl name='s_uuid' type-id='type-id-1363' visibility='default' filepath='include/linux/fs.h' line='1416' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8384'>
-          <var-decl name='s_fs_info' type-id='type-id-15' visibility='default' filepath='include/linux/fs.h' line='1418' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8448'>
-          <var-decl name='s_max_links' type-id='type-id-5' visibility='default' filepath='include/linux/fs.h' line='1419' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8480'>
-          <var-decl name='s_mode' type-id='type-id-876' visibility='default' filepath='include/linux/fs.h' line='1420' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8512'>
-          <var-decl name='s_time_gran' type-id='type-id-7' visibility='default' filepath='include/linux/fs.h' line='1424' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8576'>
-          <var-decl name='s_vfs_rename_mutex' type-id='type-id-245' visibility='default' filepath='include/linux/fs.h' line='1430' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8832'>
-          <var-decl name='s_subtype' type-id='type-id-2' visibility='default' filepath='include/linux/fs.h' line='1436' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8896'>
-          <var-decl name='s_d_op' type-id='type-id-1289' visibility='default' filepath='include/linux/fs.h' line='1438' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8960'>
-          <var-decl name='cleancache_poolid' type-id='type-id-17' visibility='default' filepath='include/linux/fs.h' line='1443' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9024'>
-          <var-decl name='s_shrink' type-id='type-id-1364' visibility='default' filepath='include/linux/fs.h' line='1445' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9536'>
-          <var-decl name='s_remove_count' type-id='type-id-115' visibility='default' filepath='include/linux/fs.h' line='1448' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9600'>
-          <var-decl name='s_fsnotify_inode_refs' type-id='type-id-115' visibility='default' filepath='include/linux/fs.h' line='1451' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9664'>
-          <var-decl name='s_readonly_remount' type-id='type-id-17' visibility='default' filepath='include/linux/fs.h' line='1454' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9728'>
-          <var-decl name='s_dio_done_wq' type-id='type-id-654' visibility='default' filepath='include/linux/fs.h' line='1457' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9792'>
-          <var-decl name='s_pins' type-id='type-id-186' visibility='default' filepath='include/linux/fs.h' line='1458' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9856'>
-          <var-decl name='s_user_ns' type-id='type-id-917' visibility='default' filepath='include/linux/fs.h' line='1465' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10240'>
-          <var-decl name='s_dentry_lru' type-id='type-id-1365' visibility='default' filepath='include/linux/fs.h' line='1471' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10752'>
-          <var-decl name='s_inode_lru' type-id='type-id-1365' visibility='default' filepath='include/linux/fs.h' line='1472' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='11008'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/linux/fs.h' line='1473' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='11136'>
-          <var-decl name='destroy_work' type-id='type-id-255' visibility='default' filepath='include/linux/fs.h' line='1474' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='11392'>
-          <var-decl name='s_sync_lock' type-id='type-id-245' visibility='default' filepath='include/linux/fs.h' line='1476' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='11648'>
-          <var-decl name='s_stack_depth' type-id='type-id-17' visibility='default' filepath='include/linux/fs.h' line='1481' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='11776'>
-          <var-decl name='s_inode_list_lock' type-id='type-id-247' visibility='default' filepath='include/linux/fs.h' line='1484' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='11840'>
-          <var-decl name='s_inodes' type-id='type-id-20' visibility='default' filepath='include/linux/fs.h' line='1485' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='11968'>
-          <var-decl name='s_inode_wblist_lock' type-id='type-id-247' visibility='default' filepath='include/linux/fs.h' line='1487' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='12032'>
-          <var-decl name='s_inodes_wb' type-id='type-id-20' visibility='default' filepath='include/linux/fs.h' line='1488' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='file_system_type' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='2156' column='1' id='type-id-1366'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/fs.h' line='2157' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='fs_flags' type-id='type-id-17' visibility='default' filepath='include/linux/fs.h' line='2158' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='mount' type-id='type-id-1367' visibility='default' filepath='include/linux/fs.h' line='2164' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='mount2' type-id='type-id-1368' visibility='default' filepath='include/linux/fs.h' line='2166' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='alloc_mnt_data' type-id='type-id-1369' visibility='default' filepath='include/linux/fs.h' line='2168' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='kill_sb' type-id='type-id-1370' visibility='default' filepath='include/linux/fs.h' line='2169' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='owner' type-id='type-id-260' visibility='default' filepath='include/linux/fs.h' line='2170' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='next' type-id='type-id-1349' visibility='default' filepath='include/linux/fs.h' line='2171' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='fs_supers' type-id='type-id-186' visibility='default' filepath='include/linux/fs.h' line='2172' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='s_lock_key' type-id='type-id-1146' visibility='default' filepath='include/linux/fs.h' line='2174' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='s_umount_key' type-id='type-id-1146' visibility='default' filepath='include/linux/fs.h' line='2175' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='s_vfs_rename_key' type-id='type-id-1146' visibility='default' filepath='include/linux/fs.h' line='2176' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='s_writers_key' type-id='type-id-1147' visibility='default' filepath='include/linux/fs.h' line='2177' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='i_lock_key' type-id='type-id-1146' visibility='default' filepath='include/linux/fs.h' line='2179' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='i_mutex_key' type-id='type-id-1146' visibility='default' filepath='include/linux/fs.h' line='2180' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='i_mutex_dir_key' type-id='type-id-1146' visibility='default' filepath='include/linux/fs.h' line='2181' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='module' size-in-bits='6656' is-struct='yes' visibility='default' filepath='include/linux/module.h' line='331' column='1' id='type-id-1371'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='state' type-id='type-id-1372' visibility='default' filepath='include/linux/module.h' line='332' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/module.h' line='335' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='name' type-id='type-id-974' visibility='default' filepath='include/linux/module.h' line='338' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='mkobj' type-id='type-id-1373' visibility='default' filepath='include/linux/module.h' line='341' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='modinfo_attrs' type-id='type-id-1374' visibility='default' filepath='include/linux/module.h' line='342' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='version' type-id='type-id-4' visibility='default' filepath='include/linux/module.h' line='343' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='srcversion' type-id='type-id-4' visibility='default' filepath='include/linux/module.h' line='344' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='holders_dir' type-id='type-id-379' visibility='default' filepath='include/linux/module.h' line='345' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='syms' type-id='type-id-1375' visibility='default' filepath='include/linux/module.h' line='348' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='crcs' type-id='type-id-1376' visibility='default' filepath='include/linux/module.h' line='349' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='num_syms' type-id='type-id-5' visibility='default' filepath='include/linux/module.h' line='350' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='cfi_check' type-id='type-id-1377' visibility='default' filepath='include/linux/module.h' line='353' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='param_lock' type-id='type-id-245' visibility='default' filepath='include/linux/module.h' line='358' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='kp' type-id='type-id-1378' visibility='default' filepath='include/linux/module.h' line='360' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='num_kp' type-id='type-id-5' visibility='default' filepath='include/linux/module.h' line='361' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2272'>
-          <var-decl name='num_gpl_syms' type-id='type-id-5' visibility='default' filepath='include/linux/module.h' line='364' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2304'>
-          <var-decl name='gpl_syms' type-id='type-id-1375' visibility='default' filepath='include/linux/module.h' line='365' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='gpl_crcs' type-id='type-id-1376' visibility='default' filepath='include/linux/module.h' line='366' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2432'>
-          <var-decl name='sig_ok' type-id='type-id-33' visibility='default' filepath='include/linux/module.h' line='385' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2440'>
-          <var-decl name='async_probe_requested' type-id='type-id-33' visibility='default' filepath='include/linux/module.h' line='387' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2496'>
-          <var-decl name='gpl_future_syms' type-id='type-id-1375' visibility='default' filepath='include/linux/module.h' line='390' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2560'>
-          <var-decl name='gpl_future_crcs' type-id='type-id-1376' visibility='default' filepath='include/linux/module.h' line='391' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2624'>
-          <var-decl name='num_gpl_future_syms' type-id='type-id-5' visibility='default' filepath='include/linux/module.h' line='392' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2656'>
-          <var-decl name='num_exentries' type-id='type-id-5' visibility='default' filepath='include/linux/module.h' line='395' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2688'>
-          <var-decl name='extable' type-id='type-id-1379' visibility='default' filepath='include/linux/module.h' line='396' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2752'>
-          <var-decl name='init' type-id='type-id-1380' visibility='default' filepath='include/linux/module.h' line='399' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3072'>
-          <var-decl name='core_layout' type-id='type-id-1381' visibility='default' filepath='include/linux/module.h' line='402' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3712'>
-          <var-decl name='init_layout' type-id='type-id-1381' visibility='default' filepath='include/linux/module.h' line='403' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4352'>
-          <var-decl name='arch' type-id='type-id-1382' visibility='default' filepath='include/linux/module.h' line='406' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4672'>
-          <var-decl name='taints' type-id='type-id-16' visibility='default' filepath='include/linux/module.h' line='408' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4736'>
-          <var-decl name='num_bugs' type-id='type-id-5' visibility='default' filepath='include/linux/module.h' line='412' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4800'>
-          <var-decl name='bug_list' type-id='type-id-20' visibility='default' filepath='include/linux/module.h' line='413' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4928'>
-          <var-decl name='bug_table' type-id='type-id-1383' visibility='default' filepath='include/linux/module.h' line='414' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4992'>
-          <var-decl name='kallsyms' type-id='type-id-1384' visibility='default' filepath='include/linux/module.h' line='419' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5056'>
-          <var-decl name='core_kallsyms' type-id='type-id-1385' visibility='default' filepath='include/linux/module.h' line='420' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5248'>
-          <var-decl name='sect_attrs' type-id='type-id-1386' visibility='default' filepath='include/linux/module.h' line='423' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5312'>
-          <var-decl name='notes_attrs' type-id='type-id-1387' visibility='default' filepath='include/linux/module.h' line='426' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5376'>
-          <var-decl name='args' type-id='type-id-2' visibility='default' filepath='include/linux/module.h' line='431' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5440'>
-          <var-decl name='percpu' type-id='type-id-15' visibility='default' filepath='include/linux/module.h' line='435' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5504'>
-          <var-decl name='percpu_size' type-id='type-id-5' visibility='default' filepath='include/linux/module.h' line='436' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5536'>
-          <var-decl name='num_tracepoints' type-id='type-id-5' visibility='default' filepath='include/linux/module.h' line='440' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5568'>
-          <var-decl name='tracepoints_ptrs' type-id='type-id-1388' visibility='default' filepath='include/linux/module.h' line='441' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5632'>
-          <var-decl name='num_trace_bprintk_fmt' type-id='type-id-5' visibility='default' filepath='include/linux/module.h' line='448' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5696'>
-          <var-decl name='trace_bprintk_fmt_start' type-id='type-id-1389' visibility='default' filepath='include/linux/module.h' line='449' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5760'>
-          <var-decl name='trace_events' type-id='type-id-1390' visibility='default' filepath='include/linux/module.h' line='452' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5824'>
-          <var-decl name='num_trace_events' type-id='type-id-5' visibility='default' filepath='include/linux/module.h' line='453' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5888'>
-          <var-decl name='trace_evals' type-id='type-id-1391' visibility='default' filepath='include/linux/module.h' line='454' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5952'>
-          <var-decl name='num_trace_evals' type-id='type-id-5' visibility='default' filepath='include/linux/module.h' line='455' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6016'>
-          <var-decl name='source_list' type-id='type-id-20' visibility='default' filepath='include/linux/module.h' line='472' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6144'>
-          <var-decl name='target_list' type-id='type-id-20' visibility='default' filepath='include/linux/module.h' line='474' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6272'>
-          <var-decl name='exit' type-id='type-id-1392' visibility='default' filepath='include/linux/module.h' line='477' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6336'>
-          <var-decl name='refcnt' type-id='type-id-26' visibility='default' filepath='include/linux/module.h' line='479' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='module_state' filepath='include/linux/module.h' line='280' column='1' id='type-id-1372'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='MODULE_STATE_LIVE' value='0'/>
-        <enumerator name='MODULE_STATE_COMING' value='1'/>
-        <enumerator name='MODULE_STATE_GOING' value='2'/>
-        <enumerator name='MODULE_STATE_UNFORMED' value='3'/>
-      </enum-decl>
-      <class-decl name='module_kobject' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/linux/module.h' line='45' column='1' id='type-id-1373'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='kobj' type-id='type-id-267' visibility='default' filepath='include/linux/module.h' line='46' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='mod' type-id='type-id-260' visibility='default' filepath='include/linux/module.h' line='47' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='drivers_dir' type-id='type-id-379' visibility='default' filepath='include/linux/module.h' line='48' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='mp' type-id='type-id-1393' visibility='default' filepath='include/linux/module.h' line='49' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='kobj_completion' type-id='type-id-1394' visibility='default' filepath='include/linux/module.h' line='50' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='kobject' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/kobject.h' line='65' column='1' id='type-id-267'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/kobject.h' line='66' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='entry' type-id='type-id-20' visibility='default' filepath='include/linux/kobject.h' line='67' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='parent' type-id='type-id-379' visibility='default' filepath='include/linux/kobject.h' line='68' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='kset' type-id='type-id-1395' visibility='default' filepath='include/linux/kobject.h' line='69' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='ktype' type-id='type-id-1396' visibility='default' filepath='include/linux/kobject.h' line='70' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='sd' type-id='type-id-1397' visibility='default' filepath='include/linux/kobject.h' line='71' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='kref' type-id='type-id-239' visibility='default' filepath='include/linux/kobject.h' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='31'>
-          <var-decl name='state_initialized' type-id='type-id-5' visibility='default' filepath='include/linux/kobject.h' line='76' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='30'>
-          <var-decl name='state_in_sysfs' type-id='type-id-5' visibility='default' filepath='include/linux/kobject.h' line='77' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='29'>
-          <var-decl name='state_add_uevent_sent' type-id='type-id-5' visibility='default' filepath='include/linux/kobject.h' line='78' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='28'>
-          <var-decl name='state_remove_uevent_sent' type-id='type-id-5' visibility='default' filepath='include/linux/kobject.h' line='79' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='27'>
-          <var-decl name='uevent_suppress' type-id='type-id-5' visibility='default' filepath='include/linux/kobject.h' line='80' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='kset' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/linux/kobject.h' line='192' column='1' id='type-id-1398'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/kobject.h' line='193' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='list_lock' type-id='type-id-247' visibility='default' filepath='include/linux/kobject.h' line='194' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='kobj' type-id='type-id-267' visibility='default' filepath='include/linux/kobject.h' line='195' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='uevent_ops' type-id='type-id-1399' visibility='default' filepath='include/linux/kobject.h' line='196' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='spinlock_t' type-id='type-id-436' filepath='include/linux/spinlock_types.h' line='73' column='1' id='type-id-247'/>
-      <class-decl name='spinlock' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/linux/spinlock_types.h' line='61' column='1' id='type-id-436'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='' type-id='type-id-1400' visibility='default' filepath='include/linux/spinlock_types.h' line='62' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__4' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/linux/spinlock_types.h' line='62' column='1' id='type-id-1400'>
-        <data-member access='private'>
-          <var-decl name='rlock' type-id='type-id-1401' visibility='default' filepath='include/linux/spinlock_types.h' line='63' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='raw_spinlock' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/linux/spinlock_types.h' line='20' column='1' id='type-id-1401'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='raw_lock' type-id='type-id-32' visibility='default' filepath='include/linux/spinlock_types.h' line='21' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='arch_spinlock_t' type-id='type-id-1402' filepath='include/asm-generic/qspinlock_types.h' line='61' column='1' id='type-id-32'/>
-      <class-decl name='qspinlock' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/asm-generic/qspinlock_types.h' line='31' column='1' id='type-id-1402'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='' type-id='type-id-1403' visibility='default' filepath='include/asm-generic/qspinlock_types.h' line='32' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__5' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/asm-generic/qspinlock_types.h' line='32' column='1' id='type-id-1403'>
-        <member-type access='private'>
-          <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/asm-generic/qspinlock_types.h' line='45' column='1' id='type-id-1404'>
-            <data-member access='public' layout-offset-in-bits='0'>
-              <var-decl name='locked_pending' type-id='type-id-688' visibility='default' filepath='include/asm-generic/qspinlock_types.h' line='46' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='16'>
-              <var-decl name='tail' type-id='type-id-688' visibility='default' filepath='include/asm-generic/qspinlock_types.h' line='47' column='1'/>
-            </data-member>
-          </class-decl>
-        </member-type>
-        <data-member access='private'>
-          <var-decl name='val' type-id='type-id-26' visibility='default' filepath='include/asm-generic/qspinlock_types.h' line='33' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='' type-id='type-id-1405' visibility='default' filepath='include/asm-generic/qspinlock_types.h' line='41' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='__anonymous_struct__10' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/asm-generic/qspinlock_types.h' line='41' column='1' id='type-id-1405'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='locked' type-id='type-id-214' visibility='default' filepath='include/asm-generic/qspinlock_types.h' line='42' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='pending' type-id='type-id-214' visibility='default' filepath='include/asm-generic/qspinlock_types.h' line='43' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='kset_uevent_ops' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/kobject.h' line='156' column='1' id='type-id-1406'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='filter' type-id='type-id-1407' visibility='default' filepath='include/linux/kobject.h' line='157' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='name' type-id='type-id-1408' visibility='default' filepath='include/linux/kobject.h' line='158' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='uevent' type-id='type-id-1409' visibility='default' filepath='include/linux/kobject.h' line='159' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='kobj_uevent_env' size-in-bits='18688' is-struct='yes' visibility='default' filepath='include/linux/kobject.h' line='148' column='1' id='type-id-1410'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='argv' type-id='type-id-963' visibility='default' filepath='include/linux/kobject.h' line='149' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='envp' type-id='type-id-962' visibility='default' filepath='include/linux/kobject.h' line='150' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='envp_idx' type-id='type-id-17' visibility='default' filepath='include/linux/kobject.h' line='151' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2272'>
-          <var-decl name='buf' type-id='type-id-969' visibility='default' filepath='include/linux/kobject.h' line='152' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='18656'>
-          <var-decl name='buflen' type-id='type-id-17' visibility='default' filepath='include/linux/kobject.h' line='153' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='kobj_type' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/kobject.h' line='139' column='1' id='type-id-1411'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='release' type-id='type-id-1412' visibility='default' filepath='include/linux/kobject.h' line='140' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='sysfs_ops' type-id='type-id-1413' visibility='default' filepath='include/linux/kobject.h' line='141' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='default_attrs' type-id='type-id-1414' visibility='default' filepath='include/linux/kobject.h' line='142' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='child_ns_type' type-id='type-id-1415' visibility='default' filepath='include/linux/kobject.h' line='143' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='namespace' type-id='type-id-1416' visibility='default' filepath='include/linux/kobject.h' line='144' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='get_ownership' type-id='type-id-1417' visibility='default' filepath='include/linux/kobject.h' line='145' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='sysfs_ops' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/sysfs.h' line='214' column='1' id='type-id-1418'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='show' type-id='type-id-1419' visibility='default' filepath='include/linux/sysfs.h' line='215' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='store' type-id='type-id-1420' visibility='default' filepath='include/linux/sysfs.h' line='216' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='attribute' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/sysfs.h' line='30' column='1' id='type-id-619'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/sysfs.h' line='31' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='mode' type-id='type-id-329' visibility='default' filepath='include/linux/sysfs.h' line='32' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='kobj_ns_type_operations' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/kobject_ns.h' line='39' column='1' id='type-id-1421'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='type' type-id='type-id-1422' visibility='default' filepath='include/linux/kobject_ns.h' line='40' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='current_may_mount' type-id='type-id-1423' visibility='default' filepath='include/linux/kobject_ns.h' line='41' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='grab_current_ns' type-id='type-id-1369' visibility='default' filepath='include/linux/kobject_ns.h' line='42' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='netlink_ns' type-id='type-id-1424' visibility='default' filepath='include/linux/kobject_ns.h' line='43' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='initial_ns' type-id='type-id-1369' visibility='default' filepath='include/linux/kobject_ns.h' line='44' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='drop_ns' type-id='type-id-517' visibility='default' filepath='include/linux/kobject_ns.h' line='45' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='kobj_ns_type' filepath='include/linux/kobject_ns.h' line='26' column='1' id='type-id-1422'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='KOBJ_NS_TYPE_NONE' value='0'/>
-        <enumerator name='KOBJ_NS_TYPE_NET' value='1'/>
-        <enumerator name='KOBJ_NS_TYPES' value='2'/>
-      </enum-decl>
-      <class-decl name='kernfs_node' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/linux/kernfs.h' line='130' column='1' id='type-id-1425'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='count' type-id='type-id-26' visibility='default' filepath='include/linux/kernfs.h' line='131' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='active' type-id='type-id-26' visibility='default' filepath='include/linux/kernfs.h' line='132' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='parent' type-id='type-id-1397' visibility='default' filepath='include/linux/kernfs.h' line='142' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/kernfs.h' line='143' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='rb' type-id='type-id-422' visibility='default' filepath='include/linux/kernfs.h' line='145' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='ns' type-id='type-id-15' visibility='default' filepath='include/linux/kernfs.h' line='147' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='hash' type-id='type-id-5' visibility='default' filepath='include/linux/kernfs.h' line='148' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='' type-id='type-id-1426' visibility='default' filepath='include/linux/kernfs.h' line='149' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='priv' type-id='type-id-15' visibility='default' filepath='include/linux/kernfs.h' line='155' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='id' type-id='type-id-1427' visibility='default' filepath='include/linux/kernfs.h' line='157' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='flags' type-id='type-id-312' visibility='default' filepath='include/linux/kernfs.h' line='158' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='912'>
-          <var-decl name='mode' type-id='type-id-329' visibility='default' filepath='include/linux/kernfs.h' line='159' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='iattr' type-id='type-id-1428' visibility='default' filepath='include/linux/kernfs.h' line='160' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__6' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/linux/kernfs.h' line='149' column='1' id='type-id-1426'>
-        <data-member access='private'>
-          <var-decl name='dir' type-id='type-id-1429' visibility='default' filepath='include/linux/kernfs.h' line='150' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='symlink' type-id='type-id-1430' visibility='default' filepath='include/linux/kernfs.h' line='151' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='attr' type-id='type-id-1431' visibility='default' filepath='include/linux/kernfs.h' line='152' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='kernfs_elem_dir' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/kernfs.h' line='83' column='1' id='type-id-1429'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='subdirs' type-id='type-id-16' visibility='default' filepath='include/linux/kernfs.h' line='84' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='children' type-id='type-id-416' visibility='default' filepath='include/linux/kernfs.h' line='86' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='root' type-id='type-id-1432' visibility='default' filepath='include/linux/kernfs.h' line='92' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='rb_root' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/rbtree.h' line='43' column='1' id='type-id-416'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='rb_node' type-id='type-id-1238' visibility='default' filepath='include/linux/rbtree.h' line='44' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='kernfs_root' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/linux/kernfs.h' line='183' column='1' id='type-id-1433'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='kn' type-id='type-id-1397' visibility='default' filepath='include/linux/kernfs.h' line='185' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='include/linux/kernfs.h' line='186' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='ino_idr' type-id='type-id-1434' visibility='default' filepath='include/linux/kernfs.h' line='189' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='last_ino' type-id='type-id-7' visibility='default' filepath='include/linux/kernfs.h' line='190' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='next_generation' type-id='type-id-7' visibility='default' filepath='include/linux/kernfs.h' line='191' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='syscall_ops' type-id='type-id-1435' visibility='default' filepath='include/linux/kernfs.h' line='192' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='supers' type-id='type-id-20' visibility='default' filepath='include/linux/kernfs.h' line='195' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='deactivate_waitq' type-id='type-id-225' visibility='default' filepath='include/linux/kernfs.h' line='197' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='idr' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/idr.h' line='19' column='1' id='type-id-1434'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='idr_rt' type-id='type-id-415' visibility='default' filepath='include/linux/idr.h' line='20' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='idr_base' type-id='type-id-5' visibility='default' filepath='include/linux/idr.h' line='21' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='idr_next' type-id='type-id-5' visibility='default' filepath='include/linux/idr.h' line='22' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='radix_tree_root' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/radix-tree.h' line='112' column='1' id='type-id-415'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='xa_lock' type-id='type-id-247' visibility='default' filepath='include/linux/radix-tree.h' line='113' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='gfp_mask' type-id='type-id-485' visibility='default' filepath='include/linux/radix-tree.h' line='114' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='rnode' type-id='type-id-1436' visibility='default' filepath='include/linux/radix-tree.h' line='115' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='gfp_t' type-id='type-id-5' filepath='include/linux/types.h' line='158' column='1' id='type-id-485'/>
-      <class-decl name='radix_tree_node' size-in-bits='4608' is-struct='yes' visibility='default' filepath='include/linux/radix-tree.h' line='92' column='1' id='type-id-1437'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='shift' type-id='type-id-216' visibility='default' filepath='include/linux/radix-tree.h' line='93' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='offset' type-id='type-id-216' visibility='default' filepath='include/linux/radix-tree.h' line='94' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='count' type-id='type-id-216' visibility='default' filepath='include/linux/radix-tree.h' line='95' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='24'>
-          <var-decl name='exceptional' type-id='type-id-216' visibility='default' filepath='include/linux/radix-tree.h' line='96' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='parent' type-id='type-id-1436' visibility='default' filepath='include/linux/radix-tree.h' line='97' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='root' type-id='type-id-1438' visibility='default' filepath='include/linux/radix-tree.h' line='98' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='' type-id='type-id-1439' visibility='default' filepath='include/linux/radix-tree.h' line='99' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='slots' type-id='type-id-1212' visibility='default' filepath='include/linux/radix-tree.h' line='103' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4416'>
-          <var-decl name='tags' type-id='type-id-1201' visibility='default' filepath='include/linux/radix-tree.h' line='104' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__7' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/radix-tree.h' line='99' column='1' id='type-id-1439'>
-        <data-member access='private'>
-          <var-decl name='private_list' type-id='type-id-20' visibility='default' filepath='include/linux/radix-tree.h' line='100' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='callback_head' type-id='type-id-385' visibility='default' filepath='include/linux/radix-tree.h' line='101' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='kernfs_syscall_ops' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/kernfs.h' line='170' column='1' id='type-id-1440'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='remount_fs' type-id='type-id-1441' visibility='default' filepath='include/linux/kernfs.h' line='171' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='show_options' type-id='type-id-1442' visibility='default' filepath='include/linux/kernfs.h' line='172' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='mkdir' type-id='type-id-1443' visibility='default' filepath='include/linux/kernfs.h' line='174' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='rmdir' type-id='type-id-1444' visibility='default' filepath='include/linux/kernfs.h' line='176' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='rename' type-id='type-id-1445' visibility='default' filepath='include/linux/kernfs.h' line='177' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='show_path' type-id='type-id-1446' visibility='default' filepath='include/linux/kernfs.h' line='179' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='seq_file' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/linux/seq_file.h' line='16' column='1' id='type-id-1447'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='buf' type-id='type-id-2' visibility='default' filepath='include/linux/seq_file.h' line='17' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='size' type-id='type-id-84' visibility='default' filepath='include/linux/seq_file.h' line='18' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='from' type-id='type-id-84' visibility='default' filepath='include/linux/seq_file.h' line='19' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='count' type-id='type-id-84' visibility='default' filepath='include/linux/seq_file.h' line='20' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='pad_until' type-id='type-id-84' visibility='default' filepath='include/linux/seq_file.h' line='21' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='index' type-id='type-id-763' visibility='default' filepath='include/linux/seq_file.h' line='22' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='read_pos' type-id='type-id-763' visibility='default' filepath='include/linux/seq_file.h' line='23' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='version' type-id='type-id-40' visibility='default' filepath='include/linux/seq_file.h' line='24' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='lock' type-id='type-id-245' visibility='default' filepath='include/linux/seq_file.h' line='25' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='op' type-id='type-id-1448' visibility='default' filepath='include/linux/seq_file.h' line='26' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='poll_event' type-id='type-id-17' visibility='default' filepath='include/linux/seq_file.h' line='27' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='file' type-id='type-id-1449' visibility='default' filepath='include/linux/seq_file.h' line='28' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='private' type-id='type-id-15' visibility='default' filepath='include/linux/seq_file.h' line='29' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='mutex' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/mutex.h' line='53' column='1' id='type-id-245'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='owner' type-id='type-id-115' visibility='default' filepath='include/linux/mutex.h' line='54' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='wait_lock' type-id='type-id-247' visibility='default' filepath='include/linux/mutex.h' line='55' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='osq' type-id='type-id-1450' visibility='default' filepath='include/linux/mutex.h' line='57' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='wait_list' type-id='type-id-20' visibility='default' filepath='include/linux/mutex.h' line='59' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='atomic_long_t' type-id='type-id-113' filepath='include/asm-generic/atomic-long.h' line='24' column='1' id='type-id-115'/>
-      <typedef-decl name='atomic64_t' type-id='type-id-1451' filepath='include/linux/types.h' line='183' column='1' id='type-id-113'/>
-      <class-decl name='__anonymous_struct__11' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-113' visibility='default' filepath='include/linux/types.h' line='181' column='1' id='type-id-1451'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='counter' type-id='type-id-192' visibility='default' filepath='include/linux/types.h' line='182' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='optimistic_spin_queue' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/linux/osq_lock.h' line='15' column='1' id='type-id-1450'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='tail' type-id='type-id-26' visibility='default' filepath='include/linux/osq_lock.h' line='20' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='seq_operations' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/seq_file.h' line='32' column='1' id='type-id-1452'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='start' type-id='type-id-1453' visibility='default' filepath='include/linux/seq_file.h' line='33' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='stop' type-id='type-id-1454' visibility='default' filepath='include/linux/seq_file.h' line='34' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='next' type-id='type-id-1455' visibility='default' filepath='include/linux/seq_file.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='show' type-id='type-id-311' visibility='default' filepath='include/linux/seq_file.h' line='36' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='wait_queue_head_t' type-id='type-id-1456' filepath='include/linux/wait.h' line='38' column='1' id='type-id-225'/>
-      <class-decl name='wait_queue_head' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/wait.h' line='34' column='1' id='type-id-1456'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='include/linux/wait.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='head' type-id='type-id-20' visibility='default' filepath='include/linux/wait.h' line='36' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='kernfs_elem_symlink' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/kernfs.h' line='95' column='1' id='type-id-1430'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='target_kn' type-id='type-id-1397' visibility='default' filepath='include/linux/kernfs.h' line='96' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='kernfs_elem_attr' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/kernfs.h' line='99' column='1' id='type-id-1431'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ops' type-id='type-id-1457' visibility='default' filepath='include/linux/kernfs.h' line='100' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='open' type-id='type-id-1458' visibility='default' filepath='include/linux/kernfs.h' line='101' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='size' type-id='type-id-763' visibility='default' filepath='include/linux/kernfs.h' line='102' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='notify_next' type-id='type-id-1397' visibility='default' filepath='include/linux/kernfs.h' line='103' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='kernfs_ops' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/linux/kernfs.h' line='220' column='1' id='type-id-1459'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='open' type-id='type-id-1460' visibility='default' filepath='include/linux/kernfs.h' line='225' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='release' type-id='type-id-1461' visibility='default' filepath='include/linux/kernfs.h' line='226' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='seq_show' type-id='type-id-311' visibility='default' filepath='include/linux/kernfs.h' line='239' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='seq_start' type-id='type-id-1453' visibility='default' filepath='include/linux/kernfs.h' line='241' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='seq_next' type-id='type-id-1455' visibility='default' filepath='include/linux/kernfs.h' line='242' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='seq_stop' type-id='type-id-1454' visibility='default' filepath='include/linux/kernfs.h' line='243' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='read' type-id='type-id-1462' visibility='default' filepath='include/linux/kernfs.h' line='245' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='atomic_write_len' type-id='type-id-84' visibility='default' filepath='include/linux/kernfs.h' line='255' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='prealloc' type-id='type-id-33' visibility='default' filepath='include/linux/kernfs.h' line='262' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='write' type-id='type-id-1462' visibility='default' filepath='include/linux/kernfs.h' line='263' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='poll' type-id='type-id-1463' visibility='default' filepath='include/linux/kernfs.h' line='266' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='mmap' type-id='type-id-1464' visibility='default' filepath='include/linux/kernfs.h' line='269' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='kernfs_open_file' size-in-bits='1216' is-struct='yes' visibility='default' filepath='include/linux/kernfs.h' line='200' column='1' id='type-id-1465'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='kn' type-id='type-id-1397' visibility='default' filepath='include/linux/kernfs.h' line='202' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='file' type-id='type-id-83' visibility='default' filepath='include/linux/kernfs.h' line='203' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='seq_file' type-id='type-id-88' visibility='default' filepath='include/linux/kernfs.h' line='204' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='priv' type-id='type-id-15' visibility='default' filepath='include/linux/kernfs.h' line='205' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='mutex' type-id='type-id-245' visibility='default' filepath='include/linux/kernfs.h' line='208' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='prealloc_mutex' type-id='type-id-245' visibility='default' filepath='include/linux/kernfs.h' line='209' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='event' type-id='type-id-17' visibility='default' filepath='include/linux/kernfs.h' line='210' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/kernfs.h' line='211' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='prealloc_buf' type-id='type-id-2' visibility='default' filepath='include/linux/kernfs.h' line='212' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='atomic_write_len' type-id='type-id-84' visibility='default' filepath='include/linux/kernfs.h' line='214' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7'>
-          <var-decl name='mmapped' type-id='type-id-33' visibility='default' filepath='include/linux/kernfs.h' line='215' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6'>
-          <var-decl name='released' type-id='type-id-33' visibility='default' filepath='include/linux/kernfs.h' line='216' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='vm_ops' type-id='type-id-1466' visibility='default' filepath='include/linux/kernfs.h' line='217' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='vm_operations_struct' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/linux/mm.h' line='404' column='1' id='type-id-1467'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='open' type-id='type-id-1468' visibility='default' filepath='include/linux/mm.h' line='405' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='close' type-id='type-id-1468' visibility='default' filepath='include/linux/mm.h' line='406' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='split' type-id='type-id-1469' visibility='default' filepath='include/linux/mm.h' line='407' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='mremap' type-id='type-id-1470' visibility='default' filepath='include/linux/mm.h' line='408' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='fault' type-id='type-id-1471' visibility='default' filepath='include/linux/mm.h' line='409' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='huge_fault' type-id='type-id-1472' visibility='default' filepath='include/linux/mm.h' line='410' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='map_pages' type-id='type-id-1473' visibility='default' filepath='include/linux/mm.h' line='412' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='pagesize' type-id='type-id-1474' visibility='default' filepath='include/linux/mm.h' line='414' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='page_mkwrite' type-id='type-id-1471' visibility='default' filepath='include/linux/mm.h' line='418' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='pfn_mkwrite' type-id='type-id-1471' visibility='default' filepath='include/linux/mm.h' line='421' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='access' type-id='type-id-1475' visibility='default' filepath='include/linux/mm.h' line='426' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='name' type-id='type-id-1476' visibility='default' filepath='include/linux/mm.h' line='432' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='find_special_page' type-id='type-id-1477' visibility='default' filepath='include/linux/mm.h' line='462' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='vm_area_struct' size-in-bits='1472' is-struct='yes' visibility='default' filepath='include/linux/mm_types.h' line='269' column='1' id='type-id-1478'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='vm_start' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='272' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='vm_end' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='273' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='vm_next' type-id='type-id-1209' visibility='default' filepath='include/linux/mm_types.h' line='277' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='vm_prev' type-id='type-id-1209' visibility='default' filepath='include/linux/mm_types.h' line='277' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='vm_rb' type-id='type-id-422' visibility='default' filepath='include/linux/mm_types.h' line='279' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='rb_subtree_gap' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='287' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='vm_mm' type-id='type-id-882' visibility='default' filepath='include/linux/mm_types.h' line='291' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='vm_page_prot' type-id='type-id-102' visibility='default' filepath='include/linux/mm_types.h' line='292' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='vm_flags' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='293' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='' type-id='type-id-1479' visibility='default' filepath='include/linux/mm_types.h' line='303' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='anon_vma_chain' type-id='type-id-20' visibility='default' filepath='include/linux/mm_types.h' line='317' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='anon_vma' type-id='type-id-1480' visibility='default' filepath='include/linux/mm_types.h' line='319' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='vm_ops' type-id='type-id-1466' visibility='default' filepath='include/linux/mm_types.h' line='322' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='vm_pgoff' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='325' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='vm_file' type-id='type-id-83' visibility='default' filepath='include/linux/mm_types.h' line='327' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='vm_private_data' type-id='type-id-15' visibility='default' filepath='include/linux/mm_types.h' line='328' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='swap_readahead_info' type-id='type-id-115' visibility='default' filepath='include/linux/mm_types.h' line='330' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='vm_userfaultfd_ctx' type-id='type-id-1481' visibility='default' filepath='include/linux/mm_types.h' line='337' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='mm_struct' size-in-bits='6848' is-struct='yes' visibility='default' filepath='include/linux/mm_types.h' line='352' column='1' id='type-id-1482'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='' type-id='type-id-1483' visibility='default' filepath='include/linux/mm_types.h' line='353' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6848'>
-          <var-decl name='cpu_bitmap' type-id='type-id-280' visibility='default' filepath='include/linux/mm_types.h' line='512' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__12' size-in-bits='6848' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='353' column='1' id='type-id-1483'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mmap' type-id='type-id-1209' visibility='default' filepath='include/linux/mm_types.h' line='354' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='mm_rb' type-id='type-id-416' visibility='default' filepath='include/linux/mm_types.h' line='355' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='vmacache_seqnum' type-id='type-id-40' visibility='default' filepath='include/linux/mm_types.h' line='356' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='get_unmapped_area' type-id='type-id-1484' visibility='default' filepath='include/linux/mm_types.h' line='358' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='mmap_base' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='362' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='mmap_legacy_base' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='363' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='task_size' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='369' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='highest_vm_end' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='370' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='pgd' type-id='type-id-1485' visibility='default' filepath='include/linux/mm_types.h' line='371' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='mm_users' type-id='type-id-26' visibility='default' filepath='include/linux/mm_types.h' line='382' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='mm_count' type-id='type-id-26' visibility='default' filepath='include/linux/mm_types.h' line='391' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='pgtables_bytes' type-id='type-id-115' visibility='default' filepath='include/linux/mm_types.h' line='394' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='map_count' type-id='type-id-17' visibility='default' filepath='include/linux/mm_types.h' line='396' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='736'>
-          <var-decl name='page_table_lock' type-id='type-id-247' visibility='default' filepath='include/linux/mm_types.h' line='398' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='mmap_sem' type-id='type-id-246' visibility='default' filepath='include/linux/mm_types.h' line='401' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='mmlist' type-id='type-id-20' visibility='default' filepath='include/linux/mm_types.h' line='403' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='hiwater_rss' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='410' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='hiwater_vm' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='411' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='total_vm' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='413' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='locked_vm' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='414' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='pinned_vm' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='415' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='data_vm' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='416' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='exec_vm' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='417' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='stack_vm' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='418' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='def_flags' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='419' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='arg_lock' type-id='type-id-247' visibility='default' filepath='include/linux/mm_types.h' line='421' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='start_code' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='end_code' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='start_data' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='end_data' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='start_brk' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='brk' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='start_stack' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2304'>
-          <var-decl name='arg_start' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='arg_end' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2432'>
-          <var-decl name='env_start' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2496'>
-          <var-decl name='env_end' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2560'>
-          <var-decl name='saved_auxv' type-id='type-id-1202' visibility='default' filepath='include/linux/mm_types.h' line='426' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5504'>
-          <var-decl name='rss_stat' type-id='type-id-1486' visibility='default' filepath='include/linux/mm_types.h' line='432' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5760'>
-          <var-decl name='binfmt' type-id='type-id-1487' visibility='default' filepath='include/linux/mm_types.h' line='434' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5824'>
-          <var-decl name='context' type-id='type-id-1488' visibility='default' filepath='include/linux/mm_types.h' line='437' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6016'>
-          <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='439' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6080'>
-          <var-decl name='core_state' type-id='type-id-1489' visibility='default' filepath='include/linux/mm_types.h' line='441' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6144'>
-          <var-decl name='membarrier_state' type-id='type-id-26' visibility='default' filepath='include/linux/mm_types.h' line='443' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6176'>
-          <var-decl name='ioctx_lock' type-id='type-id-247' visibility='default' filepath='include/linux/mm_types.h' line='446' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6208'>
-          <var-decl name='ioctx_table' type-id='type-id-1490' visibility='default' filepath='include/linux/mm_types.h' line='447' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6272'>
-          <var-decl name='owner' type-id='type-id-431' visibility='default' filepath='include/linux/mm_types.h' line='460' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6336'>
-          <var-decl name='user_ns' type-id='type-id-917' visibility='default' filepath='include/linux/mm_types.h' line='462' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6400'>
-          <var-decl name='exe_file' type-id='type-id-83' visibility='default' filepath='include/linux/mm_types.h' line='465' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6464'>
-          <var-decl name='tlb_flush_pending' type-id='type-id-26' visibility='default' filepath='include/linux/mm_types.h' line='491' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6528'>
-          <var-decl name='uprobes_state' type-id='type-id-1491' visibility='default' filepath='include/linux/mm_types.h' line='496' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6592'>
-          <var-decl name='async_put_work' type-id='type-id-255' visibility='default' filepath='include/linux/mm_types.h' line='500' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='pgd_t' type-id='type-id-1492' filepath='arch/arm64/include/asm/pgtable-types.h' line='49' column='1' id='type-id-1493'/>
-      <class-decl name='__anonymous_struct__13' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-1493' visibility='default' filepath='arch/arm64/include/asm/pgtable-types.h' line='49' column='1' id='type-id-1492'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='pgd' type-id='type-id-1494' visibility='default' filepath='arch/arm64/include/asm/pgtable-types.h' line='49' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='pgdval_t' type-id='type-id-40' filepath='arch/arm64/include/asm/pgtable-types.h' line='28' column='1' id='type-id-1494'/>
-      <class-decl name='rw_semaphore' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/rwsem.h' line='30' column='1' id='type-id-246'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='count' type-id='type-id-115' visibility='default' filepath='include/linux/rwsem.h' line='31' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='wait_list' type-id='type-id-20' visibility='default' filepath='include/linux/rwsem.h' line='32' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='wait_lock' type-id='type-id-36' visibility='default' filepath='include/linux/rwsem.h' line='33' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='osq' type-id='type-id-1450' visibility='default' filepath='include/linux/rwsem.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='owner' type-id='type-id-431' visibility='default' filepath='include/linux/rwsem.h' line='40' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='raw_spinlock_t' type-id='type-id-1401' filepath='include/linux/spinlock_types.h' line='29' column='1' id='type-id-36'/>
-      <class-decl name='task_struct' size-in-bits='27648' is-struct='yes' visibility='default' filepath='include/linux/sched.h' line='584' column='1' id='type-id-1495'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='thread_info' type-id='type-id-1496' visibility='default' filepath='include/linux/sched.h' line='590' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='state' type-id='type-id-1497' visibility='default' filepath='include/linux/sched.h' line='593' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='stack' type-id='type-id-15' visibility='default' filepath='include/linux/sched.h' line='601' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='usage' type-id='type-id-26' visibility='default' filepath='include/linux/sched.h' line='602' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='include/linux/sched.h' line='604' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='ptrace' type-id='type-id-5' visibility='default' filepath='include/linux/sched.h' line='605' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='wake_entry' type-id='type-id-281' visibility='default' filepath='include/linux/sched.h' line='608' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='on_cpu' type-id='type-id-17' visibility='default' filepath='include/linux/sched.h' line='609' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='672'>
-          <var-decl name='cpu' type-id='type-id-5' visibility='default' filepath='include/linux/sched.h' line='612' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='wakee_flips' type-id='type-id-5' visibility='default' filepath='include/linux/sched.h' line='614' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='wakee_flip_decay_ts' type-id='type-id-16' visibility='default' filepath='include/linux/sched.h' line='615' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='last_wakee' type-id='type-id-431' visibility='default' filepath='include/linux/sched.h' line='616' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='recent_used_cpu' type-id='type-id-17' visibility='default' filepath='include/linux/sched.h' line='625' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='928'>
-          <var-decl name='wake_cpu' type-id='type-id-17' visibility='default' filepath='include/linux/sched.h' line='626' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='on_rq' type-id='type-id-17' visibility='default' filepath='include/linux/sched.h' line='628' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='992'>
-          <var-decl name='prio' type-id='type-id-17' visibility='default' filepath='include/linux/sched.h' line='630' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='static_prio' type-id='type-id-17' visibility='default' filepath='include/linux/sched.h' line='631' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1056'>
-          <var-decl name='normal_prio' type-id='type-id-17' visibility='default' filepath='include/linux/sched.h' line='632' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='rt_priority' type-id='type-id-5' visibility='default' filepath='include/linux/sched.h' line='633' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='sched_class' type-id='type-id-1498' visibility='default' filepath='include/linux/sched.h' line='635' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='se' type-id='type-id-1499' visibility='default' filepath='include/linux/sched.h' line='636' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5120'>
-          <var-decl name='rt' type-id='type-id-1500' visibility='default' filepath='include/linux/sched.h' line='637' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5696'>
-          <var-decl name='sched_task_group' type-id='type-id-1501' visibility='default' filepath='include/linux/sched.h' line='639' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5760'>
-          <var-decl name='dl' type-id='type-id-1502' visibility='default' filepath='include/linux/sched.h' line='641' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7488'>
-          <var-decl name='policy' type-id='type-id-5' visibility='default' filepath='include/linux/sched.h' line='652' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7520'>
-          <var-decl name='nr_cpus_allowed' type-id='type-id-17' visibility='default' filepath='include/linux/sched.h' line='653' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7552'>
-          <var-decl name='cpus_allowed' type-id='type-id-1503' visibility='default' filepath='include/linux/sched.h' line='654' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7616'>
-          <var-decl name='rcu_read_lock_nesting' type-id='type-id-17' visibility='default' filepath='include/linux/sched.h' line='657' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7648'>
-          <var-decl name='rcu_read_unlock_special' type-id='type-id-1236' visibility='default' filepath='include/linux/sched.h' line='658' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7680'>
-          <var-decl name='rcu_node_entry' type-id='type-id-20' visibility='default' filepath='include/linux/sched.h' line='659' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7808'>
-          <var-decl name='rcu_blocked_node' type-id='type-id-1504' visibility='default' filepath='include/linux/sched.h' line='660' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7872'>
-          <var-decl name='rcu_tasks_nvcsw' type-id='type-id-16' visibility='default' filepath='include/linux/sched.h' line='664' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7936'>
-          <var-decl name='rcu_tasks_holdout' type-id='type-id-214' visibility='default' filepath='include/linux/sched.h' line='665' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7944'>
-          <var-decl name='rcu_tasks_idx' type-id='type-id-214' visibility='default' filepath='include/linux/sched.h' line='666' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7968'>
-          <var-decl name='rcu_tasks_idle_cpu' type-id='type-id-17' visibility='default' filepath='include/linux/sched.h' line='667' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8000'>
-          <var-decl name='rcu_tasks_holdout_list' type-id='type-id-20' visibility='default' filepath='include/linux/sched.h' line='668' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8128'>
-          <var-decl name='sched_info' type-id='type-id-1505' visibility='default' filepath='include/linux/sched.h' line='671' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8384'>
-          <var-decl name='tasks' type-id='type-id-20' visibility='default' filepath='include/linux/sched.h' line='673' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8512'>
-          <var-decl name='pushable_tasks' type-id='type-id-1506' visibility='default' filepath='include/linux/sched.h' line='675' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8832'>
-          <var-decl name='pushable_dl_tasks' type-id='type-id-422' visibility='default' filepath='include/linux/sched.h' line='676' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9024'>
-          <var-decl name='mm' type-id='type-id-882' visibility='default' filepath='include/linux/sched.h' line='679' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9088'>
-          <var-decl name='active_mm' type-id='type-id-882' visibility='default' filepath='include/linux/sched.h' line='680' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9152'>
-          <var-decl name='vmacache' type-id='type-id-1507' visibility='default' filepath='include/linux/sched.h' line='683' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9472'>
-          <var-decl name='rss_stat' type-id='type-id-1508' visibility='default' filepath='include/linux/sched.h' line='686' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9632'>
-          <var-decl name='exit_state' type-id='type-id-17' visibility='default' filepath='include/linux/sched.h' line='688' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9664'>
-          <var-decl name='exit_code' type-id='type-id-17' visibility='default' filepath='include/linux/sched.h' line='689' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9696'>
-          <var-decl name='exit_signal' type-id='type-id-17' visibility='default' filepath='include/linux/sched.h' line='690' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9728'>
-          <var-decl name='pdeath_signal' type-id='type-id-17' visibility='default' filepath='include/linux/sched.h' line='692' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9792'>
-          <var-decl name='jobctl' type-id='type-id-16' visibility='default' filepath='include/linux/sched.h' line='694' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9856'>
-          <var-decl name='personality' type-id='type-id-5' visibility='default' filepath='include/linux/sched.h' line='697' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='31'>
-          <var-decl name='sched_reset_on_fork' type-id='type-id-5' visibility='default' filepath='include/linux/sched.h' line='700' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='30'>
-          <var-decl name='sched_contributes_to_load' type-id='type-id-5' visibility='default' filepath='include/linux/sched.h' line='701' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='29'>
-          <var-decl name='sched_migrated' type-id='type-id-5' visibility='default' filepath='include/linux/sched.h' line='702' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='28'>
-          <var-decl name='sched_remote_wakeup' type-id='type-id-5' visibility='default' filepath='include/linux/sched.h' line='703' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='27'>
-          <var-decl name='sched_psi_wake_requeue' type-id='type-id-5' visibility='default' filepath='include/linux/sched.h' line='705' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='31'>
-          <var-decl name='in_execve' type-id='type-id-5' visibility='default' filepath='include/linux/sched.h' line='714' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='30'>
-          <var-decl name='in_iowait' type-id='type-id-5' visibility='default' filepath='include/linux/sched.h' line='715' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='29'>
-          <var-decl name='in_user_fault' type-id='type-id-5' visibility='default' filepath='include/linux/sched.h' line='720' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='28'>
-          <var-decl name='memcg_kmem_skip_account' type-id='type-id-5' visibility='default' filepath='include/linux/sched.h' line='722' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='27'>
-          <var-decl name='no_cgroup_migration' type-id='type-id-5' visibility='default' filepath='include/linux/sched.h' line='730' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='26'>
-          <var-decl name='use_memdelay' type-id='type-id-5' visibility='default' filepath='include/linux/sched.h' line='734' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9984'>
-          <var-decl name='atomic_flags' type-id='type-id-16' visibility='default' filepath='include/linux/sched.h' line='737' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10048'>
-          <var-decl name='restart_block' type-id='type-id-1509' visibility='default' filepath='include/linux/sched.h' line='739' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10432'>
-          <var-decl name='pid' type-id='type-id-41' visibility='default' filepath='include/linux/sched.h' line='741' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10464'>
-          <var-decl name='tgid' type-id='type-id-41' visibility='default' filepath='include/linux/sched.h' line='742' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10496'>
-          <var-decl name='stack_canary' type-id='type-id-16' visibility='default' filepath='include/linux/sched.h' line='746' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10560'>
-          <var-decl name='real_parent' type-id='type-id-431' visibility='default' filepath='include/linux/sched.h' line='755' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10624'>
-          <var-decl name='parent' type-id='type-id-431' visibility='default' filepath='include/linux/sched.h' line='758' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10688'>
-          <var-decl name='children' type-id='type-id-20' visibility='default' filepath='include/linux/sched.h' line='763' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10816'>
-          <var-decl name='sibling' type-id='type-id-20' visibility='default' filepath='include/linux/sched.h' line='764' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10944'>
-          <var-decl name='group_leader' type-id='type-id-431' visibility='default' filepath='include/linux/sched.h' line='765' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='11008'>
-          <var-decl name='ptraced' type-id='type-id-20' visibility='default' filepath='include/linux/sched.h' line='773' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='11136'>
-          <var-decl name='ptrace_entry' type-id='type-id-20' visibility='default' filepath='include/linux/sched.h' line='774' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='11264'>
-          <var-decl name='thread_pid' type-id='type-id-251' visibility='default' filepath='include/linux/sched.h' line='777' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='11328'>
-          <var-decl name='pid_links' type-id='type-id-1126' visibility='default' filepath='include/linux/sched.h' line='778' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='11840'>
-          <var-decl name='thread_group' type-id='type-id-20' visibility='default' filepath='include/linux/sched.h' line='779' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='11968'>
-          <var-decl name='thread_node' type-id='type-id-20' visibility='default' filepath='include/linux/sched.h' line='780' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='12096'>
-          <var-decl name='vfork_done' type-id='type-id-1394' visibility='default' filepath='include/linux/sched.h' line='782' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='12160'>
-          <var-decl name='set_child_tid' type-id='type-id-666' visibility='default' filepath='include/linux/sched.h' line='785' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='12224'>
-          <var-decl name='clear_child_tid' type-id='type-id-666' visibility='default' filepath='include/linux/sched.h' line='788' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='12288'>
-          <var-decl name='utime' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='790' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='12352'>
-          <var-decl name='stime' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='791' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='12416'>
-          <var-decl name='gtime' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='796' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='12480'>
-          <var-decl name='time_in_state' type-id='type-id-1510' visibility='default' filepath='include/linux/sched.h' line='798' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='12544'>
-          <var-decl name='max_state' type-id='type-id-5' visibility='default' filepath='include/linux/sched.h' line='799' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='12608'>
-          <var-decl name='prev_cputime' type-id='type-id-1511' visibility='default' filepath='include/linux/sched.h' line='801' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='12800'>
-          <var-decl name='nvcsw' type-id='type-id-16' visibility='default' filepath='include/linux/sched.h' line='810' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='12864'>
-          <var-decl name='nivcsw' type-id='type-id-16' visibility='default' filepath='include/linux/sched.h' line='811' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='12928'>
-          <var-decl name='start_time' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='814' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='12992'>
-          <var-decl name='real_start_time' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='817' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='13056'>
-          <var-decl name='min_flt' type-id='type-id-16' visibility='default' filepath='include/linux/sched.h' line='820' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='13120'>
-          <var-decl name='maj_flt' type-id='type-id-16' visibility='default' filepath='include/linux/sched.h' line='821' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='13184'>
-          <var-decl name='cputime_expires' type-id='type-id-1512' visibility='default' filepath='include/linux/sched.h' line='824' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='13376'>
-          <var-decl name='cpu_timers' type-id='type-id-457' visibility='default' filepath='include/linux/sched.h' line='825' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='13760'>
-          <var-decl name='ptracer_cred' type-id='type-id-1279' visibility='default' filepath='include/linux/sched.h' line='831' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='13824'>
-          <var-decl name='real_cred' type-id='type-id-1279' visibility='default' filepath='include/linux/sched.h' line='834' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='13888'>
-          <var-decl name='cred' type-id='type-id-1279' visibility='default' filepath='include/linux/sched.h' line='837' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='13952'>
-          <var-decl name='comm' type-id='type-id-43' visibility='default' filepath='include/linux/sched.h' line='846' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='14080'>
-          <var-decl name='nameidata' type-id='type-id-1513' visibility='default' filepath='include/linux/sched.h' line='848' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='14144'>
-          <var-decl name='fs' type-id='type-id-1514' visibility='default' filepath='include/linux/sched.h' line='859' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='14208'>
-          <var-decl name='files' type-id='type-id-1515' visibility='default' filepath='include/linux/sched.h' line='862' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='14272'>
-          <var-decl name='nsproxy' type-id='type-id-916' visibility='default' filepath='include/linux/sched.h' line='865' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='14336'>
-          <var-decl name='signal' type-id='type-id-1516' visibility='default' filepath='include/linux/sched.h' line='868' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='14400'>
-          <var-decl name='sighand' type-id='type-id-1517' visibility='default' filepath='include/linux/sched.h' line='869' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='14464'>
-          <var-decl name='blocked' type-id='type-id-1518' visibility='default' filepath='include/linux/sched.h' line='870' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='14528'>
-          <var-decl name='real_blocked' type-id='type-id-1518' visibility='default' filepath='include/linux/sched.h' line='871' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='14592'>
-          <var-decl name='saved_sigmask' type-id='type-id-1518' visibility='default' filepath='include/linux/sched.h' line='873' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='14656'>
-          <var-decl name='pending' type-id='type-id-1519' visibility='default' filepath='include/linux/sched.h' line='874' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='14848'>
-          <var-decl name='sas_ss_sp' type-id='type-id-16' visibility='default' filepath='include/linux/sched.h' line='875' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='14912'>
-          <var-decl name='sas_ss_size' type-id='type-id-84' visibility='default' filepath='include/linux/sched.h' line='876' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='14976'>
-          <var-decl name='sas_ss_flags' type-id='type-id-5' visibility='default' filepath='include/linux/sched.h' line='877' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='15040'>
-          <var-decl name='task_works' type-id='type-id-91' visibility='default' filepath='include/linux/sched.h' line='879' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='15104'>
-          <var-decl name='audit_context' type-id='type-id-1520' visibility='default' filepath='include/linux/sched.h' line='881' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='15168'>
-          <var-decl name='loginuid' type-id='type-id-42' visibility='default' filepath='include/linux/sched.h' line='883' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='15200'>
-          <var-decl name='sessionid' type-id='type-id-5' visibility='default' filepath='include/linux/sched.h' line='884' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='15232'>
-          <var-decl name='seccomp' type-id='type-id-1521' visibility='default' filepath='include/linux/sched.h' line='886' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='15360'>
-          <var-decl name='parent_exec_id' type-id='type-id-7' visibility='default' filepath='include/linux/sched.h' line='889' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='15392'>
-          <var-decl name='self_exec_id' type-id='type-id-7' visibility='default' filepath='include/linux/sched.h' line='890' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='15424'>
-          <var-decl name='alloc_lock' type-id='type-id-247' visibility='default' filepath='include/linux/sched.h' line='893' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='15456'>
-          <var-decl name='pi_lock' type-id='type-id-36' visibility='default' filepath='include/linux/sched.h' line='896' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='15488'>
-          <var-decl name='wake_q' type-id='type-id-1522' visibility='default' filepath='include/linux/sched.h' line='898' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='15552'>
-          <var-decl name='pi_waiters' type-id='type-id-1523' visibility='default' filepath='include/linux/sched.h' line='902' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='15680'>
-          <var-decl name='pi_top_task' type-id='type-id-431' visibility='default' filepath='include/linux/sched.h' line='904' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='15744'>
-          <var-decl name='pi_blocked_on' type-id='type-id-1524' visibility='default' filepath='include/linux/sched.h' line='906' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='15808'>
-          <var-decl name='journal_info' type-id='type-id-15' visibility='default' filepath='include/linux/sched.h' line='943' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='15872'>
-          <var-decl name='bio_list' type-id='type-id-1525' visibility='default' filepath='include/linux/sched.h' line='946' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='15936'>
-          <var-decl name='plug' type-id='type-id-1526' visibility='default' filepath='include/linux/sched.h' line='950' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16000'>
-          <var-decl name='reclaim_state' type-id='type-id-1527' visibility='default' filepath='include/linux/sched.h' line='954' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16064'>
-          <var-decl name='backing_dev_info' type-id='type-id-1359' visibility='default' filepath='include/linux/sched.h' line='956' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16128'>
-          <var-decl name='io_context' type-id='type-id-364' visibility='default' filepath='include/linux/sched.h' line='958' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16192'>
-          <var-decl name='ptrace_message' type-id='type-id-16' visibility='default' filepath='include/linux/sched.h' line='961' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16256'>
-          <var-decl name='last_siginfo' type-id='type-id-1528' visibility='default' filepath='include/linux/sched.h' line='962' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16320'>
-          <var-decl name='ioac' type-id='type-id-1529' visibility='default' filepath='include/linux/sched.h' line='964' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16832'>
-          <var-decl name='psi_flags' type-id='type-id-5' visibility='default' filepath='include/linux/sched.h' line='967' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16896'>
-          <var-decl name='acct_rss_mem1' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='971' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16960'>
-          <var-decl name='acct_vm_mem1' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='973' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='17024'>
-          <var-decl name='acct_timexpd' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='975' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='17088'>
-          <var-decl name='mems_allowed' type-id='type-id-1530' visibility='default' filepath='include/linux/sched.h' line='979' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='17152'>
-          <var-decl name='mems_allowed_seq' type-id='type-id-387' visibility='default' filepath='include/linux/sched.h' line='981' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='17184'>
-          <var-decl name='cpuset_mem_spread_rotor' type-id='type-id-17' visibility='default' filepath='include/linux/sched.h' line='982' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='17216'>
-          <var-decl name='cpuset_slab_spread_rotor' type-id='type-id-17' visibility='default' filepath='include/linux/sched.h' line='983' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='17280'>
-          <var-decl name='cgroups' type-id='type-id-1531' visibility='default' filepath='include/linux/sched.h' line='987' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='17344'>
-          <var-decl name='cg_list' type-id='type-id-20' visibility='default' filepath='include/linux/sched.h' line='989' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='17472'>
-          <var-decl name='robust_list' type-id='type-id-1532' visibility='default' filepath='include/linux/sched.h' line='996' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='17536'>
-          <var-decl name='compat_robust_list' type-id='type-id-1533' visibility='default' filepath='include/linux/sched.h' line='998' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='17600'>
-          <var-decl name='pi_state_list' type-id='type-id-20' visibility='default' filepath='include/linux/sched.h' line='1000' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='17728'>
-          <var-decl name='pi_state_cache' type-id='type-id-1534' visibility='default' filepath='include/linux/sched.h' line='1001' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='17792'>
-          <var-decl name='perf_event_ctxp' type-id='type-id-1161' visibility='default' filepath='include/linux/sched.h' line='1004' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='17920'>
-          <var-decl name='perf_event_mutex' type-id='type-id-245' visibility='default' filepath='include/linux/sched.h' line='1005' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='18176'>
-          <var-decl name='perf_event_list' type-id='type-id-20' visibility='default' filepath='include/linux/sched.h' line='1006' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='18304'>
-          <var-decl name='preempt_disable_ip' type-id='type-id-16' visibility='default' filepath='include/linux/sched.h' line='1009' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='18368'>
-          <var-decl name='tlb_ubc' type-id='type-id-1535' visibility='default' filepath='include/linux/sched.h' line='1078' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='18368'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/linux/sched.h' line='1080' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='18496'>
-          <var-decl name='splice_pipe' type-id='type-id-87' visibility='default' filepath='include/linux/sched.h' line='1083' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='18560'>
-          <var-decl name='task_frag' type-id='type-id-1536' visibility='default' filepath='include/linux/sched.h' line='1085' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='18688'>
-          <var-decl name='nr_dirtied' type-id='type-id-17' visibility='default' filepath='include/linux/sched.h' line='1099' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='18720'>
-          <var-decl name='nr_dirtied_pause' type-id='type-id-17' visibility='default' filepath='include/linux/sched.h' line='1100' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='18752'>
-          <var-decl name='dirty_paused_when' type-id='type-id-16' visibility='default' filepath='include/linux/sched.h' line='1102' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='18816'>
-          <var-decl name='timer_slack_ns' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='1112' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='18880'>
-          <var-decl name='default_timer_slack_ns' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='1113' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='18944'>
-          <var-decl name='trace' type-id='type-id-16' visibility='default' filepath='include/linux/sched.h' line='1142' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='19008'>
-          <var-decl name='trace_recursion' type-id='type-id-16' visibility='default' filepath='include/linux/sched.h' line='1145' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='19072'>
-          <var-decl name='memcg_in_oom' type-id='type-id-1537' visibility='default' filepath='include/linux/sched.h' line='1163' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='19136'>
-          <var-decl name='memcg_oom_gfp_mask' type-id='type-id-485' visibility='default' filepath='include/linux/sched.h' line='1164' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='19168'>
-          <var-decl name='memcg_oom_order' type-id='type-id-17' visibility='default' filepath='include/linux/sched.h' line='1165' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='19200'>
-          <var-decl name='memcg_nr_pages_over_high' type-id='type-id-5' visibility='default' filepath='include/linux/sched.h' line='1168' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='19264'>
-          <var-decl name='active_memcg' type-id='type-id-1537' visibility='default' filepath='include/linux/sched.h' line='1171' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='19328'>
-          <var-decl name='throttle_queue' type-id='type-id-1538' visibility='default' filepath='include/linux/sched.h' line='1175' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='19392'>
-          <var-decl name='utask' type-id='type-id-1539' visibility='default' filepath='include/linux/sched.h' line='1179' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='19456'>
-          <var-decl name='pagefault_disabled' type-id='type-id-17' visibility='default' filepath='include/linux/sched.h' line='1188' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='19520'>
-          <var-decl name='oom_reaper_list' type-id='type-id-431' visibility='default' filepath='include/linux/sched.h' line='1190' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='19584'>
-          <var-decl name='stack_vm_area' type-id='type-id-1540' visibility='default' filepath='include/linux/sched.h' line='1193' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='19648'>
-          <var-decl name='stack_refcount' type-id='type-id-26' visibility='default' filepath='include/linux/sched.h' line='1197' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='19712'>
-          <var-decl name='security' type-id='type-id-15' visibility='default' filepath='include/linux/sched.h' line='1204' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='19840'>
-          <var-decl name='thread' type-id='type-id-1541' visibility='default' filepath='include/linux/sched.h' line='1214' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='thread_info' size-in-bits='320' is-struct='yes' visibility='default' filepath='arch/arm64/include/asm/thread_info.h' line='39' column='1' id='type-id-1496'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='arch/arm64/include/asm/thread_info.h' line='40' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='addr_limit' type-id='type-id-1542' visibility='default' filepath='arch/arm64/include/asm/thread_info.h' line='41' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='ttbr0' type-id='type-id-40' visibility='default' filepath='arch/arm64/include/asm/thread_info.h' line='43' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='preempt_count' type-id='type-id-17' visibility='default' filepath='arch/arm64/include/asm/thread_info.h' line='45' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='shadow_call_stack' type-id='type-id-15' visibility='default' filepath='arch/arm64/include/asm/thread_info.h' line='47' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='mm_segment_t' type-id='type-id-16' filepath='arch/arm64/include/asm/thread_info.h' line='34' column='1' id='type-id-1542'/>
-      <class-decl name='sched_entity' size-in-bits='3584' is-struct='yes' visibility='default' filepath='include/linux/sched.h' line='437' column='1' id='type-id-1499'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='load' type-id='type-id-1543' visibility='default' filepath='include/linux/sched.h' line='439' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='runnable_weight' type-id='type-id-16' visibility='default' filepath='include/linux/sched.h' line='440' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='run_node' type-id='type-id-422' visibility='default' filepath='include/linux/sched.h' line='441' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='group_node' type-id='type-id-20' visibility='default' filepath='include/linux/sched.h' line='442' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='on_rq' type-id='type-id-5' visibility='default' filepath='include/linux/sched.h' line='443' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='exec_start' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='445' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='sum_exec_runtime' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='446' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='vruntime' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='447' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='prev_sum_exec_runtime' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='448' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='nr_migrations' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='450' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='statistics' type-id='type-id-1544' visibility='default' filepath='include/linux/sched.h' line='452' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2624'>
-          <var-decl name='depth' type-id='type-id-17' visibility='default' filepath='include/linux/sched.h' line='455' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2688'>
-          <var-decl name='parent' type-id='type-id-1545' visibility='default' filepath='include/linux/sched.h' line='456' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2752'>
-          <var-decl name='cfs_rq' type-id='type-id-1546' visibility='default' filepath='include/linux/sched.h' line='458' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2816'>
-          <var-decl name='my_q' type-id='type-id-1546' visibility='default' filepath='include/linux/sched.h' line='460' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3072'>
-          <var-decl name='avg' type-id='type-id-1547' visibility='default' filepath='include/linux/sched.h' line='470' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='load_weight' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/sched.h' line='313' column='1' id='type-id-1543'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='weight' type-id='type-id-16' visibility='default' filepath='include/linux/sched.h' line='314' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='inv_weight' type-id='type-id-7' visibility='default' filepath='include/linux/sched.h' line='315' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='sched_statistics' size-in-bits='1728' is-struct='yes' visibility='default' filepath='include/linux/sched.h' line='401' column='1' id='type-id-1544'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='wait_start' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='403' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='wait_max' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='404' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='wait_count' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='405' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='wait_sum' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='406' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='iowait_count' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='407' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='iowait_sum' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='408' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='sleep_start' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='410' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='sleep_max' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='411' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='sum_sleep_runtime' type-id='type-id-1548' visibility='default' filepath='include/linux/sched.h' line='412' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='block_start' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='414' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='block_max' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='415' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='exec_max' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='416' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='slice_max' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='417' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='nr_migrations_cold' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='419' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='nr_failed_migrations_affine' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='420' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='nr_failed_migrations_running' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='421' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='nr_failed_migrations_hot' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='422' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='nr_forced_migrations' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='423' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='nr_wakeups' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='425' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='nr_wakeups_sync' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='426' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='nr_wakeups_migrate' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='427' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='nr_wakeups_local' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='428' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='nr_wakeups_remote' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='429' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='nr_wakeups_affine' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='430' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='nr_wakeups_affine_attempts' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='431' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='nr_wakeups_passive' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='432' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='nr_wakeups_idle' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='433' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='s64' type-id='type-id-900' filepath='include/asm-generic/int-ll64.h' line='22' column='1' id='type-id-1548'/>
-      <class-decl name='sched_avg' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/sched.h' line='389' column='1' id='type-id-1547'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='last_update_time' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='390' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='load_sum' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='391' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='runnable_load_sum' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='392' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='util_sum' type-id='type-id-7' visibility='default' filepath='include/linux/sched.h' line='393' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='period_contrib' type-id='type-id-7' visibility='default' filepath='include/linux/sched.h' line='394' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='load_avg' type-id='type-id-16' visibility='default' filepath='include/linux/sched.h' line='395' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='runnable_load_avg' type-id='type-id-16' visibility='default' filepath='include/linux/sched.h' line='396' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='util_avg' type-id='type-id-16' visibility='default' filepath='include/linux/sched.h' line='397' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='util_est' type-id='type-id-1549' visibility='default' filepath='include/linux/sched.h' line='398' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='util_est' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/sched.h' line='340' column='1' id='type-id-1549'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='enqueued' type-id='type-id-5' visibility='default' filepath='include/linux/sched.h' line='341' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='ewma' type-id='type-id-5' visibility='default' filepath='include/linux/sched.h' line='342' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='sched_rt_entity' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/sched.h' line='474' column='1' id='type-id-1500'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='run_list' type-id='type-id-20' visibility='default' filepath='include/linux/sched.h' line='475' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='timeout' type-id='type-id-16' visibility='default' filepath='include/linux/sched.h' line='476' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='watchdog_stamp' type-id='type-id-16' visibility='default' filepath='include/linux/sched.h' line='477' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='time_slice' type-id='type-id-5' visibility='default' filepath='include/linux/sched.h' line='478' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='on_rq' type-id='type-id-312' visibility='default' filepath='include/linux/sched.h' line='479' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='304'>
-          <var-decl name='on_list' type-id='type-id-312' visibility='default' filepath='include/linux/sched.h' line='480' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='back' type-id='type-id-1550' visibility='default' filepath='include/linux/sched.h' line='482' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='parent' type-id='type-id-1550' visibility='default' filepath='include/linux/sched.h' line='484' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='rt_rq' type-id='type-id-1551' visibility='default' filepath='include/linux/sched.h' line='486' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='my_q' type-id='type-id-1551' visibility='default' filepath='include/linux/sched.h' line='488' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='sched_dl_entity' size-in-bits='1728' is-struct='yes' visibility='default' filepath='include/linux/sched.h' line='492' column='1' id='type-id-1502'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='rb_node' type-id='type-id-422' visibility='default' filepath='include/linux/sched.h' line='493' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='dl_runtime' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='500' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='dl_deadline' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='501' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='dl_period' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='502' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='dl_bw' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='503' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='dl_density' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='504' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='runtime' type-id='type-id-1548' visibility='default' filepath='include/linux/sched.h' line='511' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='deadline' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='512' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='include/linux/sched.h' line='513' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='31'>
-          <var-decl name='dl_throttled' type-id='type-id-5' visibility='default' filepath='include/linux/sched.h' line='539' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='30'>
-          <var-decl name='dl_boosted' type-id='type-id-5' visibility='default' filepath='include/linux/sched.h' line='540' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='29'>
-          <var-decl name='dl_yielded' type-id='type-id-5' visibility='default' filepath='include/linux/sched.h' line='541' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='28'>
-          <var-decl name='dl_non_contending' type-id='type-id-5' visibility='default' filepath='include/linux/sched.h' line='542' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='27'>
-          <var-decl name='dl_overrun' type-id='type-id-5' visibility='default' filepath='include/linux/sched.h' line='543' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='dl_timer' type-id='type-id-681' visibility='default' filepath='include/linux/sched.h' line='549' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='inactive_timer' type-id='type-id-681' visibility='default' filepath='include/linux/sched.h' line='558' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='hrtimer' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/hrtimer.h' line='110' column='1' id='type-id-681'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='node' type-id='type-id-1552' visibility='default' filepath='include/linux/hrtimer.h' line='111' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='_softexpires' type-id='type-id-682' visibility='default' filepath='include/linux/hrtimer.h' line='112' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='function' type-id='type-id-1553' visibility='default' filepath='include/linux/hrtimer.h' line='113' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='base' type-id='type-id-1554' visibility='default' filepath='include/linux/hrtimer.h' line='114' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='state' type-id='type-id-214' visibility='default' filepath='include/linux/hrtimer.h' line='115' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='456'>
-          <var-decl name='is_rel' type-id='type-id-214' visibility='default' filepath='include/linux/hrtimer.h' line='116' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='464'>
-          <var-decl name='is_soft' type-id='type-id-214' visibility='default' filepath='include/linux/hrtimer.h' line='117' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='timerqueue_node' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/timerqueue.h' line='9' column='1' id='type-id-1552'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='node' type-id='type-id-422' visibility='default' filepath='include/linux/timerqueue.h' line='10' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='expires' type-id='type-id-682' visibility='default' filepath='include/linux/timerqueue.h' line='11' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='ktime_t' type-id='type-id-1548' filepath='include/linux/ktime.h' line='28' column='1' id='type-id-682'/>
-      <enum-decl name='hrtimer_restart' filepath='include/linux/hrtimer.h' line='59' column='1' id='type-id-1555'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='HRTIMER_NORESTART' value='0'/>
-        <enumerator name='HRTIMER_RESTART' value='1'/>
-      </enum-decl>
-      <class-decl name='hrtimer_clock_base' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/hrtimer.h' line='150' column='1' id='type-id-1127'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cpu_base' type-id='type-id-1556' visibility='default' filepath='include/linux/hrtimer.h' line='151' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='index' type-id='type-id-5' visibility='default' filepath='include/linux/hrtimer.h' line='152' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='clockid' type-id='type-id-1557' visibility='default' filepath='include/linux/hrtimer.h' line='153' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='seq' type-id='type-id-387' visibility='default' filepath='include/linux/hrtimer.h' line='154' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='running' type-id='type-id-1558' visibility='default' filepath='include/linux/hrtimer.h' line='155' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='active' type-id='type-id-1559' visibility='default' filepath='include/linux/hrtimer.h' line='156' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='get_time' type-id='type-id-1560' visibility='default' filepath='include/linux/hrtimer.h' line='157' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='offset' type-id='type-id-682' visibility='default' filepath='include/linux/hrtimer.h' line='158' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='hrtimer_cpu_base' size-in-bits='4608' is-struct='yes' visibility='default' filepath='include/linux/hrtimer.h' line='201' column='1' id='type-id-1561'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lock' type-id='type-id-36' visibility='default' filepath='include/linux/hrtimer.h' line='202' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='cpu' type-id='type-id-5' visibility='default' filepath='include/linux/hrtimer.h' line='203' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='active_bases' type-id='type-id-5' visibility='default' filepath='include/linux/hrtimer.h' line='204' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='clock_was_set_seq' type-id='type-id-5' visibility='default' filepath='include/linux/hrtimer.h' line='205' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='31'>
-          <var-decl name='hres_active' type-id='type-id-5' visibility='default' filepath='include/linux/hrtimer.h' line='206' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='30'>
-          <var-decl name='in_hrtirq' type-id='type-id-5' visibility='default' filepath='include/linux/hrtimer.h' line='207' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='29'>
-          <var-decl name='hang_detected' type-id='type-id-5' visibility='default' filepath='include/linux/hrtimer.h' line='208' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='28'>
-          <var-decl name='softirq_activated' type-id='type-id-5' visibility='default' filepath='include/linux/hrtimer.h' line='209' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='nr_events' type-id='type-id-5' visibility='default' filepath='include/linux/hrtimer.h' line='211' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='nr_retries' type-id='type-id-312' visibility='default' filepath='include/linux/hrtimer.h' line='212' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='208'>
-          <var-decl name='nr_hangs' type-id='type-id-312' visibility='default' filepath='include/linux/hrtimer.h' line='213' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='max_hang_time' type-id='type-id-5' visibility='default' filepath='include/linux/hrtimer.h' line='214' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='expires_next' type-id='type-id-682' visibility='default' filepath='include/linux/hrtimer.h' line='216' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='next_timer' type-id='type-id-1558' visibility='default' filepath='include/linux/hrtimer.h' line='217' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='softirq_expires_next' type-id='type-id-682' visibility='default' filepath='include/linux/hrtimer.h' line='218' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='softirq_next_timer' type-id='type-id-1558' visibility='default' filepath='include/linux/hrtimer.h' line='219' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='clock_base' type-id='type-id-1128' visibility='default' filepath='include/linux/hrtimer.h' line='220' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='clockid_t' type-id='type-id-1562' filepath='include/linux/types.h' line='27' column='1' id='type-id-1557'/>
-      <typedef-decl name='__kernel_clockid_t' type-id='type-id-17' filepath='include/uapi/asm-generic/posix_types.h' line='93' column='1' id='type-id-1562'/>
-      <class-decl name='timerqueue_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/timerqueue.h' line='14' column='1' id='type-id-1559'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='head' type-id='type-id-416' visibility='default' filepath='include/linux/timerqueue.h' line='15' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='next' type-id='type-id-1563' visibility='default' filepath='include/linux/timerqueue.h' line='16' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='cpumask_t' type-id='type-id-178' filepath='include/linux/cpumask.h' line='16' column='1' id='type-id-1503'/>
-      <class-decl name='cpumask' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/cpumask.h' line='16' column='1' id='type-id-178'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bits' type-id='type-id-491' visibility='default' filepath='include/linux/cpumask.h' line='16' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__14' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/sched.h' line='562' column='1' id='type-id-1237'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='blocked' type-id='type-id-214' visibility='default' filepath='include/linux/sched.h' line='563' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='need_qs' type-id='type-id-214' visibility='default' filepath='include/linux/sched.h' line='564' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='exp_need_qs' type-id='type-id-214' visibility='default' filepath='include/linux/sched.h' line='565' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='24'>
-          <var-decl name='pad' type-id='type-id-214' visibility='default' filepath='include/linux/sched.h' line='568' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='sched_info' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/sched.h' line='282' column='1' id='type-id-1505'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='pcount' type-id='type-id-16' visibility='default' filepath='include/linux/sched.h' line='287' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='run_delay' type-id='type-id-98' visibility='default' filepath='include/linux/sched.h' line='290' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='last_arrival' type-id='type-id-98' visibility='default' filepath='include/linux/sched.h' line='295' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='last_queued' type-id='type-id-98' visibility='default' filepath='include/linux/sched.h' line='298' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='plist_node' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/plist.h' line='85' column='1' id='type-id-1506'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='prio' type-id='type-id-17' visibility='default' filepath='include/linux/plist.h' line='86' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='prio_list' type-id='type-id-20' visibility='default' filepath='include/linux/plist.h' line='87' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='node_list' type-id='type-id-20' visibility='default' filepath='include/linux/plist.h' line='88' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='vmacache' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/mm_types_task.h' line='34' column='1' id='type-id-1507'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='seqnum' type-id='type-id-40' visibility='default' filepath='include/linux/mm_types_task.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='vmas' type-id='type-id-1210' visibility='default' filepath='include/linux/mm_types_task.h' line='36' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='task_rss_stat' size-in-bits='160' is-struct='yes' visibility='default' filepath='include/linux/mm_types_task.h' line='50' column='1' id='type-id-1508'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='events' type-id='type-id-17' visibility='default' filepath='include/linux/mm_types_task.h' line='51' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='count' type-id='type-id-1134' visibility='default' filepath='include/linux/mm_types_task.h' line='52' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='restart_block' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/restart_block.h' line='25' column='1' id='type-id-1509'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='fn' type-id='type-id-1564' visibility='default' filepath='include/linux/restart_block.h' line='26' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='' type-id='type-id-1565' visibility='default' filepath='include/linux/restart_block.h' line='27' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__8' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='include/linux/restart_block.h' line='27' column='1' id='type-id-1565'>
-        <data-member access='private'>
-          <var-decl name='futex' type-id='type-id-234' visibility='default' filepath='include/linux/restart_block.h' line='36' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='nanosleep' type-id='type-id-235' visibility='default' filepath='include/linux/restart_block.h' line='46' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='poll' type-id='type-id-1566' visibility='default' filepath='include/linux/restart_block.h' line='54' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='__anonymous_struct__15' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/restart_block.h' line='29' column='1' id='type-id-234'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='uaddr' type-id='type-id-1567' visibility='default' filepath='include/linux/restart_block.h' line='30' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='val' type-id='type-id-7' visibility='default' filepath='include/linux/restart_block.h' line='31' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='flags' type-id='type-id-7' visibility='default' filepath='include/linux/restart_block.h' line='32' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='bitset' type-id='type-id-7' visibility='default' filepath='include/linux/restart_block.h' line='33' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='time' type-id='type-id-40' visibility='default' filepath='include/linux/restart_block.h' line='34' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='uaddr2' type-id='type-id-1567' visibility='default' filepath='include/linux/restart_block.h' line='35' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__16' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/restart_block.h' line='38' column='1' id='type-id-235'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='clockid' type-id='type-id-1557' visibility='default' filepath='include/linux/restart_block.h' line='39' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='type' type-id='type-id-1568' visibility='default' filepath='include/linux/restart_block.h' line='40' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='' type-id='type-id-1569' visibility='default' filepath='include/linux/restart_block.h' line='41' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='expires' type-id='type-id-40' visibility='default' filepath='include/linux/restart_block.h' line='45' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='timespec_type' filepath='include/linux/restart_block.h' line='16' column='1' id='type-id-1568'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='TT_NONE' value='0'/>
-        <enumerator name='TT_NATIVE' value='1'/>
-        <enumerator name='TT_COMPAT' value='2'/>
-      </enum-decl>
-      <union-decl name='__anonymous_union__9' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/restart_block.h' line='41' column='1' id='type-id-1569'>
-        <data-member access='private'>
-          <var-decl name='rmtp' type-id='type-id-1570' visibility='default' filepath='include/linux/restart_block.h' line='42' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='compat_rmtp' type-id='type-id-1571' visibility='default' filepath='include/linux/restart_block.h' line='43' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='timespec' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/time.h' line='10' column='1' id='type-id-1572'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='tv_sec' type-id='type-id-1573' visibility='default' filepath='include/uapi/linux/time.h' line='11' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='tv_nsec' type-id='type-id-192' visibility='default' filepath='include/uapi/linux/time.h' line='12' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='__kernel_time_t' type-id='type-id-105' filepath='include/uapi/asm-generic/posix_types.h' line='89' column='1' id='type-id-1573'/>
-      <class-decl name='compat_timespec' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/compat_time.h' line='10' column='1' id='type-id-1574'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='tv_sec' type-id='type-id-1575' visibility='default' filepath='include/linux/compat_time.h' line='11' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='tv_nsec' type-id='type-id-738' visibility='default' filepath='include/linux/compat_time.h' line='12' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='compat_time_t' type-id='type-id-738' filepath='include/linux/compat_time.h' line='8' column='1' id='type-id-1575'/>
-      <typedef-decl name='s32' type-id='type-id-653' filepath='include/asm-generic/int-ll64.h' line='20' column='1' id='type-id-738'/>
-      <typedef-decl name='__s32' type-id='type-id-17' filepath='include/uapi/asm-generic/int-ll64.h' line='26' column='1' id='type-id-653'/>
-      <class-decl name='__anonymous_struct__17' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/restart_block.h' line='48' column='1' id='type-id-1566'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ufds' type-id='type-id-237' visibility='default' filepath='include/linux/restart_block.h' line='49' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='nfds' type-id='type-id-17' visibility='default' filepath='include/linux/restart_block.h' line='50' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='has_timeout' type-id='type-id-17' visibility='default' filepath='include/linux/restart_block.h' line='51' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='tv_sec' type-id='type-id-16' visibility='default' filepath='include/linux/restart_block.h' line='52' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='tv_nsec' type-id='type-id-16' visibility='default' filepath='include/linux/restart_block.h' line='53' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='pid_t' type-id='type-id-1576' filepath='include/linux/types.h' line='22' column='1' id='type-id-41'/>
-      <typedef-decl name='__kernel_pid_t' type-id='type-id-17' filepath='include/uapi/asm-generic/posix_types.h' line='28' column='1' id='type-id-1576'/>
-      <class-decl name='pid' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/linux/pid.h' line='58' column='1' id='type-id-1577'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='count' type-id='type-id-26' visibility='default' filepath='include/linux/pid.h' line='60' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='level' type-id='type-id-5' visibility='default' filepath='include/linux/pid.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='tasks' type-id='type-id-1125' visibility='default' filepath='include/linux/pid.h' line='63' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='wait_pidfd' type-id='type-id-225' visibility='default' filepath='include/linux/pid.h' line='65' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/linux/pid.h' line='66' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='numbers' type-id='type-id-1208' visibility='default' filepath='include/linux/pid.h' line='67' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='hlist_head' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/types.h' line='190' column='1' id='type-id-186'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='first' type-id='type-id-97' visibility='default' filepath='include/linux/types.h' line='191' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='hlist_node' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/types.h' line='194' column='1' id='type-id-520'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='next' type-id='type-id-97' visibility='default' filepath='include/linux/types.h' line='195' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='pprev' type-id='type-id-1578' visibility='default' filepath='include/linux/types.h' line='195' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='upid' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/pid.h' line='53' column='1' id='type-id-1207'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='nr' type-id='type-id-17' visibility='default' filepath='include/linux/pid.h' line='54' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ns' type-id='type-id-693' visibility='default' filepath='include/linux/pid.h' line='55' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='pid_namespace' size-in-bits='1600' is-struct='yes' visibility='default' filepath='include/linux/pid_namespace.h' line='24' column='1' id='type-id-1579'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='kref' type-id='type-id-239' visibility='default' filepath='include/linux/pid_namespace.h' line='25' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='idr' type-id='type-id-1434' visibility='default' filepath='include/linux/pid_namespace.h' line='26' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/linux/pid_namespace.h' line='27' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='pid_allocated' type-id='type-id-5' visibility='default' filepath='include/linux/pid_namespace.h' line='28' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='child_reaper' type-id='type-id-431' visibility='default' filepath='include/linux/pid_namespace.h' line='29' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='pid_cachep' type-id='type-id-538' visibility='default' filepath='include/linux/pid_namespace.h' line='30' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='level' type-id='type-id-5' visibility='default' filepath='include/linux/pid_namespace.h' line='31' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='parent' type-id='type-id-693' visibility='default' filepath='include/linux/pid_namespace.h' line='32' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='proc_mnt' type-id='type-id-1284' visibility='default' filepath='include/linux/pid_namespace.h' line='34' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='proc_self' type-id='type-id-23' visibility='default' filepath='include/linux/pid_namespace.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='proc_thread_self' type-id='type-id-23' visibility='default' filepath='include/linux/pid_namespace.h' line='36' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='user_ns' type-id='type-id-917' visibility='default' filepath='include/linux/pid_namespace.h' line='41' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='ucounts' type-id='type-id-1580' visibility='default' filepath='include/linux/pid_namespace.h' line='42' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='proc_work' type-id='type-id-255' visibility='default' filepath='include/linux/pid_namespace.h' line='43' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='pid_gid' type-id='type-id-330' visibility='default' filepath='include/linux/pid_namespace.h' line='44' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1312'>
-          <var-decl name='hide_pid' type-id='type-id-17' visibility='default' filepath='include/linux/pid_namespace.h' line='45' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='reboot' type-id='type-id-17' visibility='default' filepath='include/linux/pid_namespace.h' line='46' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='ns' type-id='type-id-905' visibility='default' filepath='include/linux/pid_namespace.h' line='47' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='kref' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/linux/kref.h' line='21' column='1' id='type-id-239'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='refcount' type-id='type-id-421' visibility='default' filepath='include/linux/kref.h' line='22' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='refcount_t' type-id='type-id-1581' filepath='include/linux/refcount.h' line='21' column='1' id='type-id-421'/>
-      <class-decl name='refcount_struct' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/linux/refcount.h' line='19' column='1' id='type-id-1581'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='refs' type-id='type-id-26' visibility='default' filepath='include/linux/refcount.h' line='20' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='user_namespace' size-in-bits='3712' is-struct='yes' visibility='default' filepath='include/linux/user_namespace.h' line='55' column='1' id='type-id-1582'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='uid_map' type-id='type-id-1583' visibility='default' filepath='include/linux/user_namespace.h' line='56' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='gid_map' type-id='type-id-1583' visibility='default' filepath='include/linux/user_namespace.h' line='57' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='projid_map' type-id='type-id-1583' visibility='default' filepath='include/linux/user_namespace.h' line='58' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='count' type-id='type-id-26' visibility='default' filepath='include/linux/user_namespace.h' line='59' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='parent' type-id='type-id-917' visibility='default' filepath='include/linux/user_namespace.h' line='60' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='level' type-id='type-id-17' visibility='default' filepath='include/linux/user_namespace.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1888'>
-          <var-decl name='owner' type-id='type-id-42' visibility='default' filepath='include/linux/user_namespace.h' line='62' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='group' type-id='type-id-330' visibility='default' filepath='include/linux/user_namespace.h' line='63' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='ns' type-id='type-id-905' visibility='default' filepath='include/linux/user_namespace.h' line='64' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='include/linux/user_namespace.h' line='65' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='work' type-id='type-id-255' visibility='default' filepath='include/linux/user_namespace.h' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2496'>
-          <var-decl name='set' type-id='type-id-1584' visibility='default' filepath='include/linux/user_namespace.h' line='74' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3264'>
-          <var-decl name='sysctls' type-id='type-id-1585' visibility='default' filepath='include/linux/user_namespace.h' line='75' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3328'>
-          <var-decl name='ucounts' type-id='type-id-1580' visibility='default' filepath='include/linux/user_namespace.h' line='77' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3392'>
-          <var-decl name='ucount_max' type-id='type-id-1135' visibility='default' filepath='include/linux/user_namespace.h' line='78' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='uid_gid_map' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/user_namespace.h' line='23' column='1' id='type-id-1583'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='nr_extents' type-id='type-id-7' visibility='default' filepath='include/linux/user_namespace.h' line='24' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='' type-id='type-id-1586' visibility='default' filepath='include/linux/user_namespace.h' line='25' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__10' size-in-bits='512' is-anonymous='yes' visibility='default' filepath='include/linux/user_namespace.h' line='25' column='1' id='type-id-1586'>
-        <data-member access='private'>
-          <var-decl name='extent' type-id='type-id-1188' visibility='default' filepath='include/linux/user_namespace.h' line='26' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='' type-id='type-id-1587' visibility='default' filepath='include/linux/user_namespace.h' line='27' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='uid_gid_extent' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/linux/user_namespace.h' line='17' column='1' id='type-id-1187'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='first' type-id='type-id-7' visibility='default' filepath='include/linux/user_namespace.h' line='18' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='lower_first' type-id='type-id-7' visibility='default' filepath='include/linux/user_namespace.h' line='19' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='count' type-id='type-id-7' visibility='default' filepath='include/linux/user_namespace.h' line='20' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__18' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/user_namespace.h' line='27' column='1' id='type-id-1587'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='forward' type-id='type-id-1588' visibility='default' filepath='include/linux/user_namespace.h' line='28' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='reverse' type-id='type-id-1588' visibility='default' filepath='include/linux/user_namespace.h' line='29' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ns_common' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/ns_common.h' line='7' column='1' id='type-id-905'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='stashed' type-id='type-id-115' visibility='default' filepath='include/linux/ns_common.h' line='8' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ops' type-id='type-id-1589' visibility='default' filepath='include/linux/ns_common.h' line='9' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='inum' type-id='type-id-5' visibility='default' filepath='include/linux/ns_common.h' line='10' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='work_struct' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/workqueue.h' line='102' column='1' id='type-id-255'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='data' type-id='type-id-115' visibility='default' filepath='include/linux/workqueue.h' line='103' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='entry' type-id='type-id-20' visibility='default' filepath='include/linux/workqueue.h' line='104' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='func' type-id='type-id-1590' visibility='default' filepath='include/linux/workqueue.h' line='105' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='work_func_t' type-id='type-id-1591' filepath='include/linux/workqueue.h' line='21' column='1' id='type-id-1590'/>
-      <class-decl name='ctl_table_set' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/linux/sysctl.h' line='159' column='1' id='type-id-1584'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='is_seen' type-id='type-id-1592' visibility='default' filepath='include/linux/sysctl.h' line='160' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='dir' type-id='type-id-1593' visibility='default' filepath='include/linux/sysctl.h' line='161' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ctl_dir' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/linux/sysctl.h' line='153' column='1' id='type-id-1593'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='header' type-id='type-id-1594' visibility='default' filepath='include/linux/sysctl.h' line='155' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='root' type-id='type-id-416' visibility='default' filepath='include/linux/sysctl.h' line='156' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ctl_table_header' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/sysctl.h' line='133' column='1' id='type-id-1594'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='' type-id='type-id-1595' visibility='default' filepath='include/linux/sysctl.h' line='135' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='unregistering' type-id='type-id-1394' visibility='default' filepath='include/linux/sysctl.h' line='144' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='ctl_table_arg' type-id='type-id-1596' visibility='default' filepath='include/linux/sysctl.h' line='145' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='root' type-id='type-id-1597' visibility='default' filepath='include/linux/sysctl.h' line='146' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='set' type-id='type-id-1598' visibility='default' filepath='include/linux/sysctl.h' line='147' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='parent' type-id='type-id-1599' visibility='default' filepath='include/linux/sysctl.h' line='148' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='node' type-id='type-id-1600' visibility='default' filepath='include/linux/sysctl.h' line='149' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='inodes' type-id='type-id-186' visibility='default' filepath='include/linux/sysctl.h' line='150' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__11' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/linux/sysctl.h' line='135' column='1' id='type-id-1595'>
-        <data-member access='private'>
-          <var-decl name='' type-id='type-id-1601' visibility='default' filepath='include/linux/sysctl.h' line='136' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/linux/sysctl.h' line='142' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='__anonymous_struct__19' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/sysctl.h' line='136' column='1' id='type-id-1601'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ctl_table' type-id='type-id-1596' visibility='default' filepath='include/linux/sysctl.h' line='137' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='used' type-id='type-id-17' visibility='default' filepath='include/linux/sysctl.h' line='138' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='count' type-id='type-id-17' visibility='default' filepath='include/linux/sysctl.h' line='139' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='nreg' type-id='type-id-17' visibility='default' filepath='include/linux/sysctl.h' line='140' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ctl_table' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/sysctl.h' line='113' column='1' id='type-id-1602'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='procname' type-id='type-id-4' visibility='default' filepath='include/linux/sysctl.h' line='115' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='data' type-id='type-id-15' visibility='default' filepath='include/linux/sysctl.h' line='116' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='maxlen' type-id='type-id-17' visibility='default' filepath='include/linux/sysctl.h' line='117' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='mode' type-id='type-id-329' visibility='default' filepath='include/linux/sysctl.h' line='118' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='child' type-id='type-id-1596' visibility='default' filepath='include/linux/sysctl.h' line='119' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='proc_handler' type-id='type-id-1603' visibility='default' filepath='include/linux/sysctl.h' line='120' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='poll' type-id='type-id-1604' visibility='default' filepath='include/linux/sysctl.h' line='121' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='extra1' type-id='type-id-15' visibility='default' filepath='include/linux/sysctl.h' line='122' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='extra2' type-id='type-id-15' visibility='default' filepath='include/linux/sysctl.h' line='123' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='proc_handler' type-id='type-id-1605' filepath='include/linux/sysctl.h' line='40' column='1' id='type-id-1606'/>
-      <class-decl name='ctl_table_poll' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/sysctl.h' line='95' column='1' id='type-id-1607'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='event' type-id='type-id-26' visibility='default' filepath='include/linux/sysctl.h' line='96' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='wait' type-id='type-id-225' visibility='default' filepath='include/linux/sysctl.h' line='97' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='completion' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/completion.h' line='26' column='1' id='type-id-1608'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='done' type-id='type-id-5' visibility='default' filepath='include/linux/completion.h' line='27' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='wait' type-id='type-id-225' visibility='default' filepath='include/linux/completion.h' line='28' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ctl_table_root' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/linux/sysctl.h' line='164' column='1' id='type-id-1609'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='default_set' type-id='type-id-1584' visibility='default' filepath='include/linux/sysctl.h' line='165' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='lookup' type-id='type-id-1610' visibility='default' filepath='include/linux/sysctl.h' line='166' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='set_ownership' type-id='type-id-1611' visibility='default' filepath='include/linux/sysctl.h' line='167' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='permissions' type-id='type-id-1612' visibility='default' filepath='include/linux/sysctl.h' line='170' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ctl_node' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/sysctl.h' line='126' column='1' id='type-id-1613'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='node' type-id='type-id-422' visibility='default' filepath='include/linux/sysctl.h' line='127' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='header' type-id='type-id-1585' visibility='default' filepath='include/linux/sysctl.h' line='128' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ucounts' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/user_namespace.h' line='81' column='1' id='type-id-1614'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='node' type-id='type-id-520' visibility='default' filepath='include/linux/user_namespace.h' line='82' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='ns' type-id='type-id-917' visibility='default' filepath='include/linux/user_namespace.h' line='83' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='uid' type-id='type-id-42' visibility='default' filepath='include/linux/user_namespace.h' line='84' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='count' type-id='type-id-17' visibility='default' filepath='include/linux/user_namespace.h' line='85' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='ucount' type-id='type-id-952' visibility='default' filepath='include/linux/user_namespace.h' line='86' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='prev_cputime' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/sched.h' line='235' column='1' id='type-id-1511'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='utime' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='237' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='stime' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='238' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='lock' type-id='type-id-36' visibility='default' filepath='include/linux/sched.h' line='239' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='task_cputime' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/sched.h' line='253' column='1' id='type-id-1512'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='utime' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='254' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='stime' type-id='type-id-40' visibility='default' filepath='include/linux/sched.h' line='255' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='sum_exec_runtime' type-id='type-id-98' visibility='default' filepath='include/linux/sched.h' line='256' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='cred' size-in-bits='1344' is-struct='yes' visibility='default' filepath='include/linux/cred.h' line='116' column='1' id='type-id-1615'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='usage' type-id='type-id-26' visibility='default' filepath='include/linux/cred.h' line='117' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='uid' type-id='type-id-42' visibility='default' filepath='include/linux/cred.h' line='125' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='gid' type-id='type-id-330' visibility='default' filepath='include/linux/cred.h' line='126' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='suid' type-id='type-id-42' visibility='default' filepath='include/linux/cred.h' line='127' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='sgid' type-id='type-id-330' visibility='default' filepath='include/linux/cred.h' line='128' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='euid' type-id='type-id-42' visibility='default' filepath='include/linux/cred.h' line='129' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='egid' type-id='type-id-330' visibility='default' filepath='include/linux/cred.h' line='130' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='fsuid' type-id='type-id-42' visibility='default' filepath='include/linux/cred.h' line='131' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='fsgid' type-id='type-id-330' visibility='default' filepath='include/linux/cred.h' line='132' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='securebits' type-id='type-id-5' visibility='default' filepath='include/linux/cred.h' line='133' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='cap_inheritable' type-id='type-id-334' visibility='default' filepath='include/linux/cred.h' line='134' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='cap_permitted' type-id='type-id-334' visibility='default' filepath='include/linux/cred.h' line='135' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='cap_effective' type-id='type-id-334' visibility='default' filepath='include/linux/cred.h' line='136' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='cap_bset' type-id='type-id-334' visibility='default' filepath='include/linux/cred.h' line='137' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='cap_ambient' type-id='type-id-334' visibility='default' filepath='include/linux/cred.h' line='138' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='jit_keyring' type-id='type-id-216' visibility='default' filepath='include/linux/cred.h' line='140' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='session_keyring' type-id='type-id-1356' visibility='default' filepath='include/linux/cred.h' line='142' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='process_keyring' type-id='type-id-1356' visibility='default' filepath='include/linux/cred.h' line='143' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='thread_keyring' type-id='type-id-1356' visibility='default' filepath='include/linux/cred.h' line='144' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='request_key_auth' type-id='type-id-1356' visibility='default' filepath='include/linux/cred.h' line='145' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='security' type-id='type-id-15' visibility='default' filepath='include/linux/cred.h' line='148' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='user' type-id='type-id-1231' visibility='default' filepath='include/linux/cred.h' line='150' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='user_ns' type-id='type-id-917' visibility='default' filepath='include/linux/cred.h' line='151' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='group_info' type-id='type-id-1616' visibility='default' filepath='include/linux/cred.h' line='152' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='' type-id='type-id-1617' visibility='default' filepath='include/linux/cred.h' line='154' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='kernel_cap_t' type-id='type-id-1618' filepath='include/linux/capability.h' line='26' column='1' id='type-id-334'/>
-      <class-decl name='kernel_cap_struct' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/capability.h' line='24' column='1' id='type-id-1618'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cap' type-id='type-id-932' visibility='default' filepath='include/linux/capability.h' line='25' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='key' size-in-bits='1600' is-struct='yes' visibility='default' filepath='include/linux/key.h' line='155' column='1' id='type-id-1619'>
-
-          <member-type access='public'>
-            <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/key.h' line='165' column='1' id='type-id-1620'>
-              <data-member access='private'>
-                <var-decl name='expiry' type-id='type-id-1341' visibility='default' filepath='include/linux/key.h' line='166' column='1'/>
-              </data-member>
-              <data-member access='private'>
-                <var-decl name='revoked_at' type-id='type-id-1341' visibility='default' filepath='include/linux/key.h' line='167' column='1'/>
-              </data-member>
-            </union-decl>
-          </member-type>
-
-          <member-type access='public'>
-            <union-decl name='__anonymous_union__1' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/linux/key.h' line='202' column='1' id='type-id-1621'>
-              <data-member access='private'>
-                <var-decl name='index_key' type-id='type-id-1622' visibility='default' filepath='include/linux/key.h' line='203' column='1'/>
-              </data-member>
-              <data-member access='private'>
-                <var-decl name='' type-id='type-id-1623' visibility='default' filepath='include/linux/key.h' line='204' column='1'/>
-              </data-member>
-            </union-decl>
-          </member-type>
-        <member-type access='public'>
-          <union-decl name='__anonymous_union__2' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/linux/key.h' line='214' column='1' id='type-id-1624'>
-            <data-member access='private'>
-              <var-decl name='payload' type-id='type-id-1283' visibility='default' filepath='include/linux/key.h' line='215' column='1'/>
-            </data-member>
-            <data-member access='private'>
-              <var-decl name='' type-id='type-id-1625' visibility='default' filepath='include/linux/key.h' line='216' column='1'/>
-            </data-member>
-          </union-decl>
-        </member-type>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='usage' type-id='type-id-421' visibility='default' filepath='include/linux/key.h' line='156' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='serial' type-id='type-id-1626' visibility='default' filepath='include/linux/key.h' line='157' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='' type-id='type-id-1627' visibility='default' filepath='include/linux/key.h' line='158' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='sem' type-id='type-id-246' visibility='default' filepath='include/linux/key.h' line='162' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='user' type-id='type-id-1628' visibility='default' filepath='include/linux/key.h' line='163' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='security' type-id='type-id-15' visibility='default' filepath='include/linux/key.h' line='164' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='last_used_at' type-id='type-id-1341' visibility='default' filepath='include/linux/key.h' line='169' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='uid' type-id='type-id-42' visibility='default' filepath='include/linux/key.h' line='170' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='864'>
-          <var-decl name='gid' type-id='type-id-330' visibility='default' filepath='include/linux/key.h' line='171' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='perm' type-id='type-id-1629' visibility='default' filepath='include/linux/key.h' line='172' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='928'>
-          <var-decl name='quotalen' type-id='type-id-312' visibility='default' filepath='include/linux/key.h' line='173' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='944'>
-          <var-decl name='datalen' type-id='type-id-312' visibility='default' filepath='include/linux/key.h' line='174' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='state' type-id='type-id-261' visibility='default' filepath='include/linux/key.h' line='178' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='include/linux/key.h' line='185' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='restrict_link' type-id='type-id-1630' visibility='default' filepath='include/linux/key.h' line='234' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='key_serial_t' type-id='type-id-1631' filepath='include/linux/key.h' line='33' column='1' id='type-id-1626'/>
-      <typedef-decl name='int32_t' type-id='type-id-738' filepath='include/linux/types.h' line='103' column='1' id='type-id-1631'/>
-      <typedef-decl name='key_perm_t' type-id='type-id-1343' filepath='include/linux/key.h' line='36' column='1' id='type-id-1629'/>
-      <class-decl name='keyring_index_key' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/key.h' line='88' column='1' id='type-id-1622'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='type' type-id='type-id-1632' visibility='default' filepath='include/linux/key.h' line='89' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='description' type-id='type-id-4' visibility='default' filepath='include/linux/key.h' line='90' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='desc_len' type-id='type-id-84' visibility='default' filepath='include/linux/key.h' line='91' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__20' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/key.h' line='204' column='1' id='type-id-1623'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='type' type-id='type-id-1632' visibility='default' filepath='include/linux/key.h' line='205' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='description' type-id='type-id-2' visibility='default' filepath='include/linux/key.h' line='206' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__21' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/key.h' line='216' column='1' id='type-id-1625'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name_link' type-id='type-id-20' visibility='default' filepath='include/linux/key.h' line='218' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='keys' type-id='type-id-1633' visibility='default' filepath='include/linux/key.h' line='219' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='assoc_array' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/assoc_array.h' line='26' column='1' id='type-id-1633'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='root' type-id='type-id-1634' visibility='default' filepath='include/linux/assoc_array.h' line='27' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='nr_leaves_on_tree' type-id='type-id-16' visibility='default' filepath='include/linux/assoc_array.h' line='28' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='key_restriction' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/key.h' line='136' column='1' id='type-id-1635'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='check' type-id='type-id-1636' visibility='default' filepath='include/linux/key.h' line='137' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='key' type-id='type-id-1356' visibility='default' filepath='include/linux/key.h' line='138' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='keytype' type-id='type-id-1632' visibility='default' filepath='include/linux/key.h' line='139' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='key_restrict_link_func_t' type-id='type-id-1637' filepath='include/linux/key.h' line='131' column='1' id='type-id-1636'/>
-      <class-decl name='user_struct' size-in-bits='1088' is-struct='yes' visibility='default' filepath='include/linux/sched/user.h' line='15' column='1' id='type-id-1638'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='__count' type-id='type-id-421' visibility='default' filepath='include/linux/sched/user.h' line='16' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='processes' type-id='type-id-26' visibility='default' filepath='include/linux/sched/user.h' line='17' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='sigpending' type-id='type-id-26' visibility='default' filepath='include/linux/sched/user.h' line='18' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='epoll_watches' type-id='type-id-115' visibility='default' filepath='include/linux/sched/user.h' line='23' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='locked_shm' type-id='type-id-16' visibility='default' filepath='include/linux/sched/user.h' line='29' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='unix_inflight' type-id='type-id-16' visibility='default' filepath='include/linux/sched/user.h' line='30' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='pipe_bufs' type-id='type-id-115' visibility='default' filepath='include/linux/sched/user.h' line='31' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='uid_keyring' type-id='type-id-1356' visibility='default' filepath='include/linux/sched/user.h' line='34' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='session_keyring' type-id='type-id-1356' visibility='default' filepath='include/linux/sched/user.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='uidhash_node' type-id='type-id-520' visibility='default' filepath='include/linux/sched/user.h' line='39' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='uid' type-id='type-id-42' visibility='default' filepath='include/linux/sched/user.h' line='40' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='locked_vm' type-id='type-id-115' visibility='default' filepath='include/linux/sched/user.h' line='44' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='ratelimit' type-id='type-id-1639' visibility='default' filepath='include/linux/sched/user.h' line='48' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ratelimit_state' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/ratelimit.h' line='15' column='1' id='type-id-1639'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lock' type-id='type-id-36' visibility='default' filepath='include/linux/ratelimit.h' line='16' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='interval' type-id='type-id-17' visibility='default' filepath='include/linux/ratelimit.h' line='18' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='burst' type-id='type-id-17' visibility='default' filepath='include/linux/ratelimit.h' line='19' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='printed' type-id='type-id-17' visibility='default' filepath='include/linux/ratelimit.h' line='20' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='missed' type-id='type-id-17' visibility='default' filepath='include/linux/ratelimit.h' line='21' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='begin' type-id='type-id-16' visibility='default' filepath='include/linux/ratelimit.h' line='22' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='include/linux/ratelimit.h' line='23' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='group_info' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/cred.h' line='30' column='1' id='type-id-1640'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='usage' type-id='type-id-26' visibility='default' filepath='include/linux/cred.h' line='31' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='ngroups' type-id='type-id-17' visibility='default' filepath='include/linux/cred.h' line='32' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='gid' type-id='type-id-1140' visibility='default' filepath='include/linux/cred.h' line='33' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='nsproxy' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/nsproxy.h' line='31' column='1' id='type-id-1641'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='count' type-id='type-id-26' visibility='default' filepath='include/linux/nsproxy.h' line='32' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='uts_ns' type-id='type-id-1642' visibility='default' filepath='include/linux/nsproxy.h' line='33' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='ipc_ns' type-id='type-id-1643' visibility='default' filepath='include/linux/nsproxy.h' line='34' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='mnt_ns' type-id='type-id-1644' visibility='default' filepath='include/linux/nsproxy.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='pid_ns_for_children' type-id='type-id-693' visibility='default' filepath='include/linux/nsproxy.h' line='36' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='net_ns' type-id='type-id-1645' visibility='default' filepath='include/linux/nsproxy.h' line='37' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='cgroup_ns' type-id='type-id-1646' visibility='default' filepath='include/linux/nsproxy.h' line='38' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='net' size-in-bits='42496' is-struct='yes' visibility='default' filepath='include/net/net_namespace.h' line='51' column='1' id='type-id-1647'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='passive' type-id='type-id-421' visibility='default' filepath='include/net/net_namespace.h' line='52' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='count' type-id='type-id-421' visibility='default' filepath='include/net/net_namespace.h' line='55' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='rules_mod_lock' type-id='type-id-247' visibility='default' filepath='include/net/net_namespace.h' line='58' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='hash_mix' type-id='type-id-7' visibility='default' filepath='include/net/net_namespace.h' line='60' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='cookie_gen' type-id='type-id-113' visibility='default' filepath='include/net/net_namespace.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/net/net_namespace.h' line='63' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='exit_list' type-id='type-id-20' visibility='default' filepath='include/net/net_namespace.h' line='64' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='cleanup_list' type-id='type-id-281' visibility='default' filepath='include/net/net_namespace.h' line='70' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='user_ns' type-id='type-id-917' visibility='default' filepath='include/net/net_namespace.h' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='ucounts' type-id='type-id-1580' visibility='default' filepath='include/net/net_namespace.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='nsid_lock' type-id='type-id-247' visibility='default' filepath='include/net/net_namespace.h' line='74' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='netns_ids' type-id='type-id-1434' visibility='default' filepath='include/net/net_namespace.h' line='75' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='ns' type-id='type-id-905' visibility='default' filepath='include/net/net_namespace.h' line='77' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='proc_net' type-id='type-id-262' visibility='default' filepath='include/net/net_namespace.h' line='79' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='proc_net_stat' type-id='type-id-262' visibility='default' filepath='include/net/net_namespace.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='sysctls' type-id='type-id-1584' visibility='default' filepath='include/net/net_namespace.h' line='83' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='rtnl' type-id='type-id-1648' visibility='default' filepath='include/net/net_namespace.h' line='86' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='genl_sock' type-id='type-id-1648' visibility='default' filepath='include/net/net_namespace.h' line='87' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='uevent_sock' type-id='type-id-1649' visibility='default' filepath='include/net/net_namespace.h' line='89' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='dev_base_head' type-id='type-id-20' visibility='default' filepath='include/net/net_namespace.h' line='91' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2304'>
-          <var-decl name='dev_name_head' type-id='type-id-746' visibility='default' filepath='include/net/net_namespace.h' line='92' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='dev_index_head' type-id='type-id-746' visibility='default' filepath='include/net/net_namespace.h' line='93' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2432'>
-          <var-decl name='dev_base_seq' type-id='type-id-5' visibility='default' filepath='include/net/net_namespace.h' line='94' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2464'>
-          <var-decl name='ifindex' type-id='type-id-17' visibility='default' filepath='include/net/net_namespace.h' line='95' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2496'>
-          <var-decl name='dev_unreg_count' type-id='type-id-5' visibility='default' filepath='include/net/net_namespace.h' line='96' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2560'>
-          <var-decl name='rules_ops' type-id='type-id-20' visibility='default' filepath='include/net/net_namespace.h' line='99' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2688'>
-          <var-decl name='fib_notifier_ops' type-id='type-id-20' visibility='default' filepath='include/net/net_namespace.h' line='101' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2816'>
-          <var-decl name='loopback_dev' type-id='type-id-1650' visibility='default' filepath='include/net/net_namespace.h' line='104' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2880'>
-          <var-decl name='core' type-id='type-id-1651' visibility='default' filepath='include/net/net_namespace.h' line='105' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3136'>
-          <var-decl name='mib' type-id='type-id-1652' visibility='default' filepath='include/net/net_namespace.h' line='106' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4032'>
-          <var-decl name='packet' type-id='type-id-1653' visibility='default' filepath='include/net/net_namespace.h' line='107' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4352'>
-          <var-decl name='unx' type-id='type-id-1654' visibility='default' filepath='include/net/net_namespace.h' line='108' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4608'>
-          <var-decl name='ipv4' type-id='type-id-1655' visibility='default' filepath='include/net/net_namespace.h' line='109' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='14336'>
-          <var-decl name='ipv6' type-id='type-id-1656' visibility='default' filepath='include/net/net_namespace.h' line='111' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='23040'>
-          <var-decl name='nf' type-id='type-id-1657' visibility='default' filepath='include/net/net_namespace.h' line='123' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='24960'>
-          <var-decl name='xt' type-id='type-id-1658' visibility='default' filepath='include/net/net_namespace.h' line='124' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='26688'>
-          <var-decl name='ct' type-id='type-id-1659' visibility='default' filepath='include/net/net_namespace.h' line='126' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='31232'>
-          <var-decl name='nf_frag' type-id='type-id-1660' visibility='default' filepath='include/net/net_namespace.h' line='132' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='33792'>
-          <var-decl name='nf_frag_frags_hdr' type-id='type-id-1585' visibility='default' filepath='include/net/net_namespace.h' line='133' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='33856'>
-          <var-decl name='nfnl' type-id='type-id-1648' visibility='default' filepath='include/net/net_namespace.h' line='135' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='33920'>
-          <var-decl name='nfnl_stash' type-id='type-id-1648' visibility='default' filepath='include/net/net_namespace.h' line='136' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='33984'>
-          <var-decl name='wext_nlevents' type-id='type-id-1661' visibility='default' filepath='include/net/net_namespace.h' line='145' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='34176'>
-          <var-decl name='gen' type-id='type-id-1662' visibility='default' filepath='include/net/net_namespace.h' line='147' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='34304'>
-          <var-decl name='xfrm' type-id='type-id-1663' visibility='default' filepath='include/net/net_namespace.h' line='151' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='40960'>
-          <var-decl name='can' type-id='type-id-1664' visibility='default' filepath='include/net/net_namespace.h' line='160' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='42304'>
-          <var-decl name='diag_nlsk' type-id='type-id-1648' visibility='default' filepath='include/net/net_namespace.h' line='162' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='42368'>
-          <var-decl name='fnhe_genid' type-id='type-id-26' visibility='default' filepath='include/net/net_namespace.h' line='163' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='net_device' size-in-bits='17408' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='1747' column='1' id='type-id-1665'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-43' visibility='default' filepath='include/linux/netdevice.h' line='1748' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='name_hlist' type-id='type-id-520' visibility='default' filepath='include/linux/netdevice.h' line='1749' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='ifalias' type-id='type-id-1666' visibility='default' filepath='include/linux/netdevice.h' line='1750' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='mem_end' type-id='type-id-16' visibility='default' filepath='include/linux/netdevice.h' line='1755' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='mem_start' type-id='type-id-16' visibility='default' filepath='include/linux/netdevice.h' line='1756' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='base_addr' type-id='type-id-16' visibility='default' filepath='include/linux/netdevice.h' line='1757' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='irq' type-id='type-id-17' visibility='default' filepath='include/linux/netdevice.h' line='1758' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='state' type-id='type-id-16' visibility='default' filepath='include/linux/netdevice.h' line='1766' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='dev_list' type-id='type-id-20' visibility='default' filepath='include/linux/netdevice.h' line='1768' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='napi_list' type-id='type-id-20' visibility='default' filepath='include/linux/netdevice.h' line='1769' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='unreg_list' type-id='type-id-20' visibility='default' filepath='include/linux/netdevice.h' line='1770' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='close_list' type-id='type-id-20' visibility='default' filepath='include/linux/netdevice.h' line='1771' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='ptype_all' type-id='type-id-20' visibility='default' filepath='include/linux/netdevice.h' line='1772' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='ptype_specific' type-id='type-id-20' visibility='default' filepath='include/linux/netdevice.h' line='1773' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='adj_list' type-id='type-id-1667' visibility='default' filepath='include/linux/netdevice.h' line='1778' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='features' type-id='type-id-1668' visibility='default' filepath='include/linux/netdevice.h' line='1780' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='hw_features' type-id='type-id-1668' visibility='default' filepath='include/linux/netdevice.h' line='1781' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='wanted_features' type-id='type-id-1668' visibility='default' filepath='include/linux/netdevice.h' line='1782' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='vlan_features' type-id='type-id-1668' visibility='default' filepath='include/linux/netdevice.h' line='1783' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='hw_enc_features' type-id='type-id-1668' visibility='default' filepath='include/linux/netdevice.h' line='1784' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='mpls_features' type-id='type-id-1668' visibility='default' filepath='include/linux/netdevice.h' line='1785' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='gso_partial_features' type-id='type-id-1668' visibility='default' filepath='include/linux/netdevice.h' line='1786' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='ifindex' type-id='type-id-17' visibility='default' filepath='include/linux/netdevice.h' line='1788' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2144'>
-          <var-decl name='group' type-id='type-id-17' visibility='default' filepath='include/linux/netdevice.h' line='1789' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='stats' type-id='type-id-1669' visibility='default' filepath='include/linux/netdevice.h' line='1791' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3648'>
-          <var-decl name='rx_dropped' type-id='type-id-115' visibility='default' filepath='include/linux/netdevice.h' line='1793' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3712'>
-          <var-decl name='tx_dropped' type-id='type-id-115' visibility='default' filepath='include/linux/netdevice.h' line='1794' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3776'>
-          <var-decl name='rx_nohandler' type-id='type-id-115' visibility='default' filepath='include/linux/netdevice.h' line='1795' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3840'>
-          <var-decl name='carrier_up_count' type-id='type-id-26' visibility='default' filepath='include/linux/netdevice.h' line='1798' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3872'>
-          <var-decl name='carrier_down_count' type-id='type-id-26' visibility='default' filepath='include/linux/netdevice.h' line='1799' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3904'>
-          <var-decl name='wireless_handlers' type-id='type-id-1670' visibility='default' filepath='include/linux/netdevice.h' line='1802' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3968'>
-          <var-decl name='wireless_data' type-id='type-id-1671' visibility='default' filepath='include/linux/netdevice.h' line='1803' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4032'>
-          <var-decl name='netdev_ops' type-id='type-id-1672' visibility='default' filepath='include/linux/netdevice.h' line='1805' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4096'>
-          <var-decl name='ethtool_ops' type-id='type-id-1673' visibility='default' filepath='include/linux/netdevice.h' line='1806' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4160'>
-          <var-decl name='ndisc_ops' type-id='type-id-1674' visibility='default' filepath='include/linux/netdevice.h' line='1814' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4224'>
-          <var-decl name='header_ops' type-id='type-id-1675' visibility='default' filepath='include/linux/netdevice.h' line='1825' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4288'>
-          <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='include/linux/netdevice.h' line='1827' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4320'>
-          <var-decl name='priv_flags' type-id='type-id-5' visibility='default' filepath='include/linux/netdevice.h' line='1828' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4352'>
-          <var-decl name='gflags' type-id='type-id-312' visibility='default' filepath='include/linux/netdevice.h' line='1830' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4368'>
-          <var-decl name='padded' type-id='type-id-312' visibility='default' filepath='include/linux/netdevice.h' line='1831' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4384'>
-          <var-decl name='operstate' type-id='type-id-216' visibility='default' filepath='include/linux/netdevice.h' line='1833' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4392'>
-          <var-decl name='link_mode' type-id='type-id-216' visibility='default' filepath='include/linux/netdevice.h' line='1834' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4400'>
-          <var-decl name='if_port' type-id='type-id-216' visibility='default' filepath='include/linux/netdevice.h' line='1836' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4408'>
-          <var-decl name='dma' type-id='type-id-216' visibility='default' filepath='include/linux/netdevice.h' line='1837' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4416'>
-          <var-decl name='mtu' type-id='type-id-5' visibility='default' filepath='include/linux/netdevice.h' line='1844' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4448'>
-          <var-decl name='min_mtu' type-id='type-id-5' visibility='default' filepath='include/linux/netdevice.h' line='1845' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4480'>
-          <var-decl name='max_mtu' type-id='type-id-5' visibility='default' filepath='include/linux/netdevice.h' line='1846' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4512'>
-          <var-decl name='type' type-id='type-id-312' visibility='default' filepath='include/linux/netdevice.h' line='1847' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4528'>
-          <var-decl name='hard_header_len' type-id='type-id-312' visibility='default' filepath='include/linux/netdevice.h' line='1848' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4544'>
-          <var-decl name='min_header_len' type-id='type-id-216' visibility='default' filepath='include/linux/netdevice.h' line='1849' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4560'>
-          <var-decl name='needed_headroom' type-id='type-id-312' visibility='default' filepath='include/linux/netdevice.h' line='1851' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4576'>
-          <var-decl name='needed_tailroom' type-id='type-id-312' visibility='default' filepath='include/linux/netdevice.h' line='1852' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4592'>
-          <var-decl name='perm_addr' type-id='type-id-35' visibility='default' filepath='include/linux/netdevice.h' line='1855' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4848'>
-          <var-decl name='addr_assign_type' type-id='type-id-216' visibility='default' filepath='include/linux/netdevice.h' line='1856' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4856'>
-          <var-decl name='addr_len' type-id='type-id-216' visibility='default' filepath='include/linux/netdevice.h' line='1857' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4864'>
-          <var-decl name='upper_level' type-id='type-id-216' visibility='default' filepath='include/linux/netdevice.h' line='1858' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4872'>
-          <var-decl name='lower_level' type-id='type-id-216' visibility='default' filepath='include/linux/netdevice.h' line='1859' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4880'>
-          <var-decl name='neigh_priv_len' type-id='type-id-312' visibility='default' filepath='include/linux/netdevice.h' line='1860' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4896'>
-          <var-decl name='dev_id' type-id='type-id-312' visibility='default' filepath='include/linux/netdevice.h' line='1861' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4912'>
-          <var-decl name='dev_port' type-id='type-id-312' visibility='default' filepath='include/linux/netdevice.h' line='1862' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4928'>
-          <var-decl name='addr_list_lock' type-id='type-id-247' visibility='default' filepath='include/linux/netdevice.h' line='1863' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4960'>
-          <var-decl name='name_assign_type' type-id='type-id-216' visibility='default' filepath='include/linux/netdevice.h' line='1864' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4968'>
-          <var-decl name='uc_promisc' type-id='type-id-33' visibility='default' filepath='include/linux/netdevice.h' line='1865' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4992'>
-          <var-decl name='uc' type-id='type-id-1676' visibility='default' filepath='include/linux/netdevice.h' line='1866' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5184'>
-          <var-decl name='mc' type-id='type-id-1676' visibility='default' filepath='include/linux/netdevice.h' line='1867' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5376'>
-          <var-decl name='dev_addrs' type-id='type-id-1676' visibility='default' filepath='include/linux/netdevice.h' line='1868' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5568'>
-          <var-decl name='queues_kset' type-id='type-id-1395' visibility='default' filepath='include/linux/netdevice.h' line='1871' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5632'>
-          <var-decl name='promiscuity' type-id='type-id-5' visibility='default' filepath='include/linux/netdevice.h' line='1873' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5664'>
-          <var-decl name='allmulti' type-id='type-id-5' visibility='default' filepath='include/linux/netdevice.h' line='1874' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5696'>
-          <var-decl name='tipc_ptr' type-id='type-id-1677' visibility='default' filepath='include/linux/netdevice.h' line='1886' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5760'>
-          <var-decl name='ip_ptr' type-id='type-id-1678' visibility='default' filepath='include/linux/netdevice.h' line='1891' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5824'>
-          <var-decl name='ip6_ptr' type-id='type-id-1679' visibility='default' filepath='include/linux/netdevice.h' line='1895' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5888'>
-          <var-decl name='ieee80211_ptr' type-id='type-id-1680' visibility='default' filepath='include/linux/netdevice.h' line='1899' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5952'>
-          <var-decl name='ieee802154_ptr' type-id='type-id-1681' visibility='default' filepath='include/linux/netdevice.h' line='1900' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6016'>
-          <var-decl name='dev_addr' type-id='type-id-256' visibility='default' filepath='include/linux/netdevice.h' line='1909' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6080'>
-          <var-decl name='_rx' type-id='type-id-1682' visibility='default' filepath='include/linux/netdevice.h' line='1911' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6144'>
-          <var-decl name='num_rx_queues' type-id='type-id-5' visibility='default' filepath='include/linux/netdevice.h' line='1912' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6176'>
-          <var-decl name='real_num_rx_queues' type-id='type-id-5' visibility='default' filepath='include/linux/netdevice.h' line='1913' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6208'>
-          <var-decl name='xdp_prog' type-id='type-id-1230' visibility='default' filepath='include/linux/netdevice.h' line='1915' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6272'>
-          <var-decl name='gro_flush_timeout' type-id='type-id-16' visibility='default' filepath='include/linux/netdevice.h' line='1916' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6336'>
-          <var-decl name='rx_handler' type-id='type-id-1683' visibility='default' filepath='include/linux/netdevice.h' line='1917' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6400'>
-          <var-decl name='rx_handler_data' type-id='type-id-15' visibility='default' filepath='include/linux/netdevice.h' line='1918' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6464'>
-          <var-decl name='miniq_ingress' type-id='type-id-1684' visibility='default' filepath='include/linux/netdevice.h' line='1921' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6528'>
-          <var-decl name='ingress_queue' type-id='type-id-1685' visibility='default' filepath='include/linux/netdevice.h' line='1923' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6592'>
-          <var-decl name='nf_hooks_ingress' type-id='type-id-1153' visibility='default' filepath='include/linux/netdevice.h' line='1925' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6656'>
-          <var-decl name='broadcast' type-id='type-id-35' visibility='default' filepath='include/linux/netdevice.h' line='1928' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6912'>
-          <var-decl name='rx_cpu_rmap' type-id='type-id-1686' visibility='default' filepath='include/linux/netdevice.h' line='1930' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6976'>
-          <var-decl name='index_hlist' type-id='type-id-520' visibility='default' filepath='include/linux/netdevice.h' line='1932' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7168'>
-          <var-decl name='_tx' type-id='type-id-1685' visibility='default' filepath='include/linux/netdevice.h' line='1937' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7232'>
-          <var-decl name='num_tx_queues' type-id='type-id-5' visibility='default' filepath='include/linux/netdevice.h' line='1938' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7264'>
-          <var-decl name='real_num_tx_queues' type-id='type-id-5' visibility='default' filepath='include/linux/netdevice.h' line='1939' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7296'>
-          <var-decl name='qdisc' type-id='type-id-1687' visibility='default' filepath='include/linux/netdevice.h' line='1940' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7360'>
-          <var-decl name='qdisc_hash' type-id='type-id-1123' visibility='default' filepath='include/linux/netdevice.h' line='1942' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8384'>
-          <var-decl name='tx_queue_len' type-id='type-id-5' visibility='default' filepath='include/linux/netdevice.h' line='1944' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8416'>
-          <var-decl name='tx_global_lock' type-id='type-id-247' visibility='default' filepath='include/linux/netdevice.h' line='1945' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8448'>
-          <var-decl name='watchdog_timeo' type-id='type-id-17' visibility='default' filepath='include/linux/netdevice.h' line='1946' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8512'>
-          <var-decl name='xps_cpus_map' type-id='type-id-1688' visibility='default' filepath='include/linux/netdevice.h' line='1949' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8576'>
-          <var-decl name='xps_rxqs_map' type-id='type-id-1688' visibility='default' filepath='include/linux/netdevice.h' line='1950' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8640'>
-          <var-decl name='miniq_egress' type-id='type-id-1684' visibility='default' filepath='include/linux/netdevice.h' line='1953' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8704'>
-          <var-decl name='watchdog_timer' type-id='type-id-417' visibility='default' filepath='include/linux/netdevice.h' line='1957' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9024'>
-          <var-decl name='pcpu_refcnt' type-id='type-id-666' visibility='default' filepath='include/linux/netdevice.h' line='1959' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9088'>
-          <var-decl name='todo_list' type-id='type-id-20' visibility='default' filepath='include/linux/netdevice.h' line='1960' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9216'>
-          <var-decl name='link_watch_list' type-id='type-id-20' visibility='default' filepath='include/linux/netdevice.h' line='1962' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='24'>
-          <var-decl name='reg_state' type-id='type-id-1689' visibility='default' filepath='include/linux/netdevice.h' line='1970' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9352'>
-          <var-decl name='dismantle' type-id='type-id-33' visibility='default' filepath='include/linux/netdevice.h' line='1972' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9344'>
-          <var-decl name='rtnl_link_state' type-id='type-id-1690' visibility='default' filepath='include/linux/netdevice.h' line='1977' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9376'>
-          <var-decl name='needs_free_netdev' type-id='type-id-33' visibility='default' filepath='include/linux/netdevice.h' line='1979' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9408'>
-          <var-decl name='priv_destructor' type-id='type-id-1691' visibility='default' filepath='include/linux/netdevice.h' line='1980' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9472'>
-          <var-decl name='nd_net' type-id='type-id-1692' visibility='default' filepath='include/linux/netdevice.h' line='1986' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9472'>
-          <var-decl name='' type-id='type-id-1693' visibility='default' filepath='include/linux/netdevice.h' line='1989' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9536'>
-          <var-decl name='dev' type-id='type-id-388' visibility='default' filepath='include/linux/netdevice.h' line='2004' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='15744'>
-          <var-decl name='sysfs_groups' type-id='type-id-1116' visibility='default' filepath='include/linux/netdevice.h' line='2005' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16000'>
-          <var-decl name='sysfs_rx_queue_group' type-id='type-id-894' visibility='default' filepath='include/linux/netdevice.h' line='2006' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16064'>
-          <var-decl name='rtnl_link_ops' type-id='type-id-1694' visibility='default' filepath='include/linux/netdevice.h' line='2008' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16128'>
-          <var-decl name='gso_max_size' type-id='type-id-5' visibility='default' filepath='include/linux/netdevice.h' line='2012' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16160'>
-          <var-decl name='gso_max_segs' type-id='type-id-688' visibility='default' filepath='include/linux/netdevice.h' line='2014' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16176'>
-          <var-decl name='num_tc' type-id='type-id-1695' visibility='default' filepath='include/linux/netdevice.h' line='2019' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16192'>
-          <var-decl name='tc_to_txq' type-id='type-id-1152' visibility='default' filepath='include/linux/netdevice.h' line='2020' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16704'>
-          <var-decl name='prio_tc_map' type-id='type-id-1182' visibility='default' filepath='include/linux/netdevice.h' line='2021' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16832'>
-          <var-decl name='phydev' type-id='type-id-1696' visibility='default' filepath='include/linux/netdevice.h' line='2029' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16896'>
-          <var-decl name='sfp_bus' type-id='type-id-1697' visibility='default' filepath='include/linux/netdevice.h' line='2030' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16960'>
-          <var-decl name='qdisc_tx_busylock' type-id='type-id-1698' visibility='default' filepath='include/linux/netdevice.h' line='2031' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='17024'>
-          <var-decl name='qdisc_running_key' type-id='type-id-1698' visibility='default' filepath='include/linux/netdevice.h' line='2032' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='17088'>
-          <var-decl name='proto_down' type-id='type-id-33' visibility='default' filepath='include/linux/netdevice.h' line='2033' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='23'>
-          <var-decl name='wol_enabled' type-id='type-id-5' visibility='default' filepath='include/linux/netdevice.h' line='2034' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='dev_ifalias' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='916' column='1' id='type-id-1699'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='rcuhead' type-id='type-id-385' visibility='default' filepath='include/linux/netdevice.h' line='917' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='ifalias' type-id='type-id-440' visibility='default' filepath='include/linux/netdevice.h' line='918' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__22' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/netdevice.h' line='1775' column='1' id='type-id-1667'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='upper' type-id='type-id-20' visibility='default' filepath='include/linux/netdevice.h' line='1776' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='lower' type-id='type-id-20' visibility='default' filepath='include/linux/netdevice.h' line='1777' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='netdev_features_t' type-id='type-id-40' filepath='include/linux/netdev_features.h' line='17' column='1' id='type-id-1668'/>
-      <class-decl name='net_device_stats' size-in-bits='1472' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='165' column='1' id='type-id-1669'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='rx_packets' type-id='type-id-16' visibility='default' filepath='include/linux/netdevice.h' line='166' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='tx_packets' type-id='type-id-16' visibility='default' filepath='include/linux/netdevice.h' line='167' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='rx_bytes' type-id='type-id-16' visibility='default' filepath='include/linux/netdevice.h' line='168' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='tx_bytes' type-id='type-id-16' visibility='default' filepath='include/linux/netdevice.h' line='169' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='rx_errors' type-id='type-id-16' visibility='default' filepath='include/linux/netdevice.h' line='170' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='tx_errors' type-id='type-id-16' visibility='default' filepath='include/linux/netdevice.h' line='171' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='rx_dropped' type-id='type-id-16' visibility='default' filepath='include/linux/netdevice.h' line='172' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='tx_dropped' type-id='type-id-16' visibility='default' filepath='include/linux/netdevice.h' line='173' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='multicast' type-id='type-id-16' visibility='default' filepath='include/linux/netdevice.h' line='174' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='collisions' type-id='type-id-16' visibility='default' filepath='include/linux/netdevice.h' line='175' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='rx_length_errors' type-id='type-id-16' visibility='default' filepath='include/linux/netdevice.h' line='176' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='rx_over_errors' type-id='type-id-16' visibility='default' filepath='include/linux/netdevice.h' line='177' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='rx_crc_errors' type-id='type-id-16' visibility='default' filepath='include/linux/netdevice.h' line='178' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='rx_frame_errors' type-id='type-id-16' visibility='default' filepath='include/linux/netdevice.h' line='179' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='rx_fifo_errors' type-id='type-id-16' visibility='default' filepath='include/linux/netdevice.h' line='180' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='rx_missed_errors' type-id='type-id-16' visibility='default' filepath='include/linux/netdevice.h' line='181' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='tx_aborted_errors' type-id='type-id-16' visibility='default' filepath='include/linux/netdevice.h' line='182' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='tx_carrier_errors' type-id='type-id-16' visibility='default' filepath='include/linux/netdevice.h' line='183' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='tx_fifo_errors' type-id='type-id-16' visibility='default' filepath='include/linux/netdevice.h' line='184' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='tx_heartbeat_errors' type-id='type-id-16' visibility='default' filepath='include/linux/netdevice.h' line='185' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='tx_window_errors' type-id='type-id-16' visibility='default' filepath='include/linux/netdevice.h' line='186' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='rx_compressed' type-id='type-id-16' visibility='default' filepath='include/linux/netdevice.h' line='187' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='tx_compressed' type-id='type-id-16' visibility='default' filepath='include/linux/netdevice.h' line='188' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='net_device_ops' size-in-bits='4096' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='1225' column='1' id='type-id-1700'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ndo_init' type-id='type-id-1701' visibility='default' filepath='include/linux/netdevice.h' line='1226' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ndo_uninit' type-id='type-id-1691' visibility='default' filepath='include/linux/netdevice.h' line='1227' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='ndo_open' type-id='type-id-1701' visibility='default' filepath='include/linux/netdevice.h' line='1228' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='ndo_stop' type-id='type-id-1701' visibility='default' filepath='include/linux/netdevice.h' line='1229' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='ndo_start_xmit' type-id='type-id-1702' visibility='default' filepath='include/linux/netdevice.h' line='1230' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='ndo_features_check' type-id='type-id-1703' visibility='default' filepath='include/linux/netdevice.h' line='1232' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='ndo_select_queue' type-id='type-id-1704' visibility='default' filepath='include/linux/netdevice.h' line='1235' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='ndo_change_rx_flags' type-id='type-id-1705' visibility='default' filepath='include/linux/netdevice.h' line='1239' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='ndo_set_rx_mode' type-id='type-id-1691' visibility='default' filepath='include/linux/netdevice.h' line='1241' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='ndo_set_mac_address' type-id='type-id-1706' visibility='default' filepath='include/linux/netdevice.h' line='1242' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='ndo_validate_addr' type-id='type-id-1701' visibility='default' filepath='include/linux/netdevice.h' line='1244' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='ndo_do_ioctl' type-id='type-id-1707' visibility='default' filepath='include/linux/netdevice.h' line='1245' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='ndo_set_config' type-id='type-id-1708' visibility='default' filepath='include/linux/netdevice.h' line='1247' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='ndo_change_mtu' type-id='type-id-1709' visibility='default' filepath='include/linux/netdevice.h' line='1249' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='ndo_neigh_setup' type-id='type-id-1710' visibility='default' filepath='include/linux/netdevice.h' line='1251' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='ndo_tx_timeout' type-id='type-id-1691' visibility='default' filepath='include/linux/netdevice.h' line='1253' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='ndo_get_stats64' type-id='type-id-1711' visibility='default' filepath='include/linux/netdevice.h' line='1255' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='ndo_has_offload_stats' type-id='type-id-1712' visibility='default' filepath='include/linux/netdevice.h' line='1257' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='ndo_get_offload_stats' type-id='type-id-1713' visibility='default' filepath='include/linux/netdevice.h' line='1258' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='ndo_get_stats' type-id='type-id-1714' visibility='default' filepath='include/linux/netdevice.h' line='1261' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='ndo_vlan_rx_add_vid' type-id='type-id-1715' visibility='default' filepath='include/linux/netdevice.h' line='1263' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='ndo_vlan_rx_kill_vid' type-id='type-id-1715' visibility='default' filepath='include/linux/netdevice.h' line='1265' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='ndo_set_vf_mac' type-id='type-id-1716' visibility='default' filepath='include/linux/netdevice.h' line='1273' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='ndo_set_vf_vlan' type-id='type-id-1717' visibility='default' filepath='include/linux/netdevice.h' line='1275' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='ndo_set_vf_rate' type-id='type-id-1718' visibility='default' filepath='include/linux/netdevice.h' line='1278' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='ndo_set_vf_spoofchk' type-id='type-id-1719' visibility='default' filepath='include/linux/netdevice.h' line='1281' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='ndo_set_vf_trust' type-id='type-id-1719' visibility='default' filepath='include/linux/netdevice.h' line='1283' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='ndo_get_vf_config' type-id='type-id-1720' visibility='default' filepath='include/linux/netdevice.h' line='1285' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='ndo_set_vf_link_state' type-id='type-id-1721' visibility='default' filepath='include/linux/netdevice.h' line='1288' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='ndo_get_vf_stats' type-id='type-id-1722' visibility='default' filepath='include/linux/netdevice.h' line='1290' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='ndo_set_vf_port' type-id='type-id-1723' visibility='default' filepath='include/linux/netdevice.h' line='1294' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='ndo_get_vf_port' type-id='type-id-1724' visibility='default' filepath='include/linux/netdevice.h' line='1297' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='ndo_set_vf_guid' type-id='type-id-1725' visibility='default' filepath='include/linux/netdevice.h' line='1299' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='ndo_set_vf_rss_query_en' type-id='type-id-1719' visibility='default' filepath='include/linux/netdevice.h' line='1302' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='ndo_setup_tc' type-id='type-id-1726' visibility='default' filepath='include/linux/netdevice.h' line='1305' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='ndo_rx_flow_steer' type-id='type-id-1727' visibility='default' filepath='include/linux/netdevice.h' line='1333' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2304'>
-          <var-decl name='ndo_add_slave' type-id='type-id-1728' visibility='default' filepath='include/linux/netdevice.h' line='1338' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='ndo_del_slave' type-id='type-id-1729' visibility='default' filepath='include/linux/netdevice.h' line='1341' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2432'>
-          <var-decl name='ndo_fix_features' type-id='type-id-1730' visibility='default' filepath='include/linux/netdevice.h' line='1343' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2496'>
-          <var-decl name='ndo_set_features' type-id='type-id-1731' visibility='default' filepath='include/linux/netdevice.h' line='1345' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2560'>
-          <var-decl name='ndo_neigh_construct' type-id='type-id-1732' visibility='default' filepath='include/linux/netdevice.h' line='1347' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2624'>
-          <var-decl name='ndo_neigh_destroy' type-id='type-id-1733' visibility='default' filepath='include/linux/netdevice.h' line='1349' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2688'>
-          <var-decl name='ndo_fdb_add' type-id='type-id-1734' visibility='default' filepath='include/linux/netdevice.h' line='1352' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2752'>
-          <var-decl name='ndo_fdb_del' type-id='type-id-1735' visibility='default' filepath='include/linux/netdevice.h' line='1358' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2816'>
-          <var-decl name='ndo_fdb_dump' type-id='type-id-1736' visibility='default' filepath='include/linux/netdevice.h' line='1363' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2880'>
-          <var-decl name='ndo_bridge_setlink' type-id='type-id-1737' visibility='default' filepath='include/linux/netdevice.h' line='1369' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2944'>
-          <var-decl name='ndo_bridge_getlink' type-id='type-id-1738' visibility='default' filepath='include/linux/netdevice.h' line='1372' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3008'>
-          <var-decl name='ndo_bridge_dellink' type-id='type-id-1737' visibility='default' filepath='include/linux/netdevice.h' line='1377' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3072'>
-          <var-decl name='ndo_change_carrier' type-id='type-id-1739' visibility='default' filepath='include/linux/netdevice.h' line='1380' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3136'>
-          <var-decl name='ndo_get_phys_port_id' type-id='type-id-1740' visibility='default' filepath='include/linux/netdevice.h' line='1382' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3200'>
-          <var-decl name='ndo_get_phys_port_name' type-id='type-id-1741' visibility='default' filepath='include/linux/netdevice.h' line='1384' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3264'>
-          <var-decl name='ndo_udp_tunnel_add' type-id='type-id-1742' visibility='default' filepath='include/linux/netdevice.h' line='1386' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3328'>
-          <var-decl name='ndo_udp_tunnel_del' type-id='type-id-1742' visibility='default' filepath='include/linux/netdevice.h' line='1388' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3392'>
-          <var-decl name='ndo_dfwd_add_station' type-id='type-id-1743' visibility='default' filepath='include/linux/netdevice.h' line='1390' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3456'>
-          <var-decl name='ndo_dfwd_del_station' type-id='type-id-1744' visibility='default' filepath='include/linux/netdevice.h' line='1392' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3520'>
-          <var-decl name='ndo_get_lock_subclass' type-id='type-id-1701' visibility='default' filepath='include/linux/netdevice.h' line='1395' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3584'>
-          <var-decl name='ndo_set_tx_maxrate' type-id='type-id-1745' visibility='default' filepath='include/linux/netdevice.h' line='1396' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3648'>
-          <var-decl name='ndo_get_iflink' type-id='type-id-1746' visibility='default' filepath='include/linux/netdevice.h' line='1399' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3712'>
-          <var-decl name='ndo_change_proto_down' type-id='type-id-1739' visibility='default' filepath='include/linux/netdevice.h' line='1400' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3776'>
-          <var-decl name='ndo_fill_metadata_dst' type-id='type-id-1747' visibility='default' filepath='include/linux/netdevice.h' line='1402' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3840'>
-          <var-decl name='ndo_set_rx_headroom' type-id='type-id-1705' visibility='default' filepath='include/linux/netdevice.h' line='1404' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3904'>
-          <var-decl name='ndo_bpf' type-id='type-id-1748' visibility='default' filepath='include/linux/netdevice.h' line='1406' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3968'>
-          <var-decl name='ndo_xdp_xmit' type-id='type-id-1749' visibility='default' filepath='include/linux/netdevice.h' line='1408' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4032'>
-          <var-decl name='ndo_xsk_async_xmit' type-id='type-id-1750' visibility='default' filepath='include/linux/netdevice.h' line='1411' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='netdev_tx_t' type-id='type-id-1751' filepath='include/linux/netdevice.h' line='116' column='1' id='type-id-1752'/>
-      <enum-decl name='netdev_tx' filepath='include/linux/netdevice.h' line='111' column='1' id='type-id-1751'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='__NETDEV_TX_MIN' value='-2147483648'/>
-        <enumerator name='NETDEV_TX_OK' value='0'/>
-        <enumerator name='NETDEV_TX_BUSY' value='16'/>
-      </enum-decl>
-      <class-decl name='sk_buff' size-in-bits='1792' is-struct='yes' visibility='default' filepath='include/linux/skbuff.h' line='665' column='1' id='type-id-1753'>
-
-          <member-type access='public'>
-            <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='685' column='1' id='type-id-1754'>
-              <data-member access='private'>
-                <var-decl name='sk' type-id='type-id-1648' visibility='default' filepath='include/linux/skbuff.h' line='686' column='1'/>
-              </data-member>
-              <data-member access='private'>
-                <var-decl name='ip_defrag_offset' type-id='type-id-17' visibility='default' filepath='include/linux/skbuff.h' line='687' column='1'/>
-              </data-member>
-            </union-decl>
-          </member-type>
-
-          <member-type access='public'>
-            <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='690' column='1' id='type-id-1755'>
-              <data-member access='private'>
-                <var-decl name='tstamp' type-id='type-id-682' visibility='default' filepath='include/linux/skbuff.h' line='691' column='1'/>
-              </data-member>
-              <data-member access='private'>
-                <var-decl name='skb_mstamp' type-id='type-id-40' visibility='default' filepath='include/linux/skbuff.h' line='692' column='1'/>
-              </data-member>
-            </union-decl>
-          </member-type>
-
-          <member-type access='public'>
-            <union-decl name='__anonymous_union__2' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='702' column='1' id='type-id-1756'>
-              <data-member access='private'>
-                <var-decl name='' type-id='type-id-1757' visibility='default' filepath='include/linux/skbuff.h' line='703' column='1'/>
-              </data-member>
-              <data-member access='private'>
-                <var-decl name='tcp_tsorted_anchor' type-id='type-id-20' visibility='default' filepath='include/linux/skbuff.h' line='707' column='1'/>
-              </data-member>
-            </union-decl>
-          </member-type>
-
-          <member-type access='public'>
-            <union-decl name='__anonymous_union__3' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='807' column='1' id='type-id-1758'>
-              <data-member access='private'>
-                <var-decl name='csum' type-id='type-id-1759' visibility='default' filepath='include/linux/skbuff.h' line='808' column='1'/>
-              </data-member>
-              <data-member access='private'>
-                <var-decl name='' type-id='type-id-1760' visibility='default' filepath='include/linux/skbuff.h' line='809' column='1'/>
-              </data-member>
-            </union-decl>
-          </member-type>
-
-          <member-type access='public'>
-            <union-decl name='__anonymous_union__4' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='820' column='1' id='type-id-1761'>
-              <data-member access='private'>
-                <var-decl name='napi_id' type-id='type-id-5' visibility='default' filepath='include/linux/skbuff.h' line='821' column='1'/>
-              </data-member>
-              <data-member access='private'>
-                <var-decl name='sender_cpu' type-id='type-id-5' visibility='default' filepath='include/linux/skbuff.h' line='822' column='1'/>
-              </data-member>
-            </union-decl>
-          </member-type>
-
-          <member-type access='public'>
-            <union-decl name='__anonymous_union__5' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='829' column='1' id='type-id-1762'>
-              <data-member access='private'>
-                <var-decl name='mark' type-id='type-id-511' visibility='default' filepath='include/linux/skbuff.h' line='830' column='1'/>
-              </data-member>
-              <data-member access='private'>
-                <var-decl name='reserved_tailroom' type-id='type-id-511' visibility='default' filepath='include/linux/skbuff.h' line='831' column='1'/>
-              </data-member>
-            </union-decl>
-          </member-type>
-        <member-type access='public'>
-          <union-decl name='__anonymous_union__6' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='834' column='1' id='type-id-1763'>
-            <data-member access='private'>
-              <var-decl name='inner_protocol' type-id='type-id-926' visibility='default' filepath='include/linux/skbuff.h' line='835' column='1'/>
-            </data-member>
-            <data-member access='private'>
-              <var-decl name='inner_ipproto' type-id='type-id-895' visibility='default' filepath='include/linux/skbuff.h' line='836' column='1'/>
-            </data-member>
-          </union-decl>
-        </member-type>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='' type-id='type-id-1764' visibility='default' filepath='include/linux/skbuff.h' line='666' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='cb' type-id='type-id-972' visibility='default' filepath='include/linux/skbuff.h' line='700' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='sp' type-id='type-id-1765' visibility='default' filepath='include/linux/skbuff.h' line='711' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='_nfct' type-id='type-id-16' visibility='default' filepath='include/linux/skbuff.h' line='714' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='len' type-id='type-id-5' visibility='default' filepath='include/linux/skbuff.h' line='719' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='992'>
-          <var-decl name='data_len' type-id='type-id-5' visibility='default' filepath='include/linux/skbuff.h' line='720' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='mac_len' type-id='type-id-108' visibility='default' filepath='include/linux/skbuff.h' line='721' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1040'>
-          <var-decl name='hdr_len' type-id='type-id-108' visibility='default' filepath='include/linux/skbuff.h' line='722' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1056'>
-          <var-decl name='queue_mapping' type-id='type-id-108' visibility='default' filepath='include/linux/skbuff.h' line='727' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1072'>
-          <var-decl name='__cloned_offset' type-id='type-id-946' visibility='default' filepath='include/linux/skbuff.h' line='737' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7'>
-          <var-decl name='cloned' type-id='type-id-895' visibility='default' filepath='include/linux/skbuff.h' line='738' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6'>
-          <var-decl name='nohdr' type-id='type-id-895' visibility='default' filepath='include/linux/skbuff.h' line='739' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4'>
-          <var-decl name='fclone' type-id='type-id-895' visibility='default' filepath='include/linux/skbuff.h' line='740' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3'>
-          <var-decl name='peeked' type-id='type-id-895' visibility='default' filepath='include/linux/skbuff.h' line='741' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2'>
-          <var-decl name='head_frag' type-id='type-id-895' visibility='default' filepath='include/linux/skbuff.h' line='742' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1'>
-          <var-decl name='xmit_more' type-id='type-id-895' visibility='default' filepath='include/linux/skbuff.h' line='743' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1072'>
-          <var-decl name='pfmemalloc' type-id='type-id-895' visibility='default' filepath='include/linux/skbuff.h' line='744' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='headers_start' type-id='type-id-936' visibility='default' filepath='include/linux/skbuff.h' line='750' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='__pkt_type_offset' type-id='type-id-946' visibility='default' filepath='include/linux/skbuff.h' line='761' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5'>
-          <var-decl name='pkt_type' type-id='type-id-895' visibility='default' filepath='include/linux/skbuff.h' line='762' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4'>
-          <var-decl name='ignore_df' type-id='type-id-895' visibility='default' filepath='include/linux/skbuff.h' line='763' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3'>
-          <var-decl name='nf_trace' type-id='type-id-895' visibility='default' filepath='include/linux/skbuff.h' line='764' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1'>
-          <var-decl name='ip_summed' type-id='type-id-895' visibility='default' filepath='include/linux/skbuff.h' line='765' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='ooo_okay' type-id='type-id-895' visibility='default' filepath='include/linux/skbuff.h' line='766' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7'>
-          <var-decl name='l4_hash' type-id='type-id-895' visibility='default' filepath='include/linux/skbuff.h' line='768' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6'>
-          <var-decl name='sw_hash' type-id='type-id-895' visibility='default' filepath='include/linux/skbuff.h' line='769' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5'>
-          <var-decl name='wifi_acked_valid' type-id='type-id-895' visibility='default' filepath='include/linux/skbuff.h' line='770' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4'>
-          <var-decl name='wifi_acked' type-id='type-id-895' visibility='default' filepath='include/linux/skbuff.h' line='771' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3'>
-          <var-decl name='no_fcs' type-id='type-id-895' visibility='default' filepath='include/linux/skbuff.h' line='772' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2'>
-          <var-decl name='encapsulation' type-id='type-id-895' visibility='default' filepath='include/linux/skbuff.h' line='774' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1'>
-          <var-decl name='encap_hdr_csum' type-id='type-id-895' visibility='default' filepath='include/linux/skbuff.h' line='775' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1096'>
-          <var-decl name='csum_valid' type-id='type-id-895' visibility='default' filepath='include/linux/skbuff.h' line='776' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7'>
-          <var-decl name='csum_complete_sw' type-id='type-id-895' visibility='default' filepath='include/linux/skbuff.h' line='778' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5'>
-          <var-decl name='csum_level' type-id='type-id-895' visibility='default' filepath='include/linux/skbuff.h' line='779' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4'>
-          <var-decl name='csum_not_inet' type-id='type-id-895' visibility='default' filepath='include/linux/skbuff.h' line='780' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3'>
-          <var-decl name='dst_pending_confirm' type-id='type-id-895' visibility='default' filepath='include/linux/skbuff.h' line='781' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1'>
-          <var-decl name='ndisc_nodetype' type-id='type-id-895' visibility='default' filepath='include/linux/skbuff.h' line='783' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1104'>
-          <var-decl name='ipvs_property' type-id='type-id-895' visibility='default' filepath='include/linux/skbuff.h' line='785' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7'>
-          <var-decl name='inner_protocol_type' type-id='type-id-895' visibility='default' filepath='include/linux/skbuff.h' line='787' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6'>
-          <var-decl name='remcsum_offload' type-id='type-id-895' visibility='default' filepath='include/linux/skbuff.h' line='788' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5'>
-          <var-decl name='tc_skip_classify' type-id='type-id-895' visibility='default' filepath='include/linux/skbuff.h' line='794' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4'>
-          <var-decl name='tc_at_ingress' type-id='type-id-895' visibility='default' filepath='include/linux/skbuff.h' line='795' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3'>
-          <var-decl name='tc_redirected' type-id='type-id-895' visibility='default' filepath='include/linux/skbuff.h' line='796' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2'>
-          <var-decl name='tc_from_ingress' type-id='type-id-895' visibility='default' filepath='include/linux/skbuff.h' line='797' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1120'>
-          <var-decl name='tc_index' type-id='type-id-108' visibility='default' filepath='include/linux/skbuff.h' line='804' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1184'>
-          <var-decl name='priority' type-id='type-id-511' visibility='default' filepath='include/linux/skbuff.h' line='814' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='skb_iif' type-id='type-id-17' visibility='default' filepath='include/linux/skbuff.h' line='815' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1248'>
-          <var-decl name='hash' type-id='type-id-511' visibility='default' filepath='include/linux/skbuff.h' line='816' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='vlan_proto' type-id='type-id-926' visibility='default' filepath='include/linux/skbuff.h' line='817' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1296'>
-          <var-decl name='vlan_tci' type-id='type-id-108' visibility='default' filepath='include/linux/skbuff.h' line='818' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='secmark' type-id='type-id-511' visibility='default' filepath='include/linux/skbuff.h' line='826' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1424'>
-          <var-decl name='inner_transport_header' type-id='type-id-108' visibility='default' filepath='include/linux/skbuff.h' line='839' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1440'>
-          <var-decl name='inner_network_header' type-id='type-id-108' visibility='default' filepath='include/linux/skbuff.h' line='840' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1456'>
-          <var-decl name='inner_mac_header' type-id='type-id-108' visibility='default' filepath='include/linux/skbuff.h' line='841' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='protocol' type-id='type-id-926' visibility='default' filepath='include/linux/skbuff.h' line='843' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1488'>
-          <var-decl name='transport_header' type-id='type-id-108' visibility='default' filepath='include/linux/skbuff.h' line='844' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1504'>
-          <var-decl name='network_header' type-id='type-id-108' visibility='default' filepath='include/linux/skbuff.h' line='845' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1520'>
-          <var-decl name='mac_header' type-id='type-id-108' visibility='default' filepath='include/linux/skbuff.h' line='846' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='headers_end' type-id='type-id-936' visibility='default' filepath='include/linux/skbuff.h' line='849' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='tail' type-id='type-id-1766' visibility='default' filepath='include/linux/skbuff.h' line='853' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1568'>
-          <var-decl name='end' type-id='type-id-1766' visibility='default' filepath='include/linux/skbuff.h' line='854' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='head' type-id='type-id-256' visibility='default' filepath='include/linux/skbuff.h' line='855' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='data' type-id='type-id-256' visibility='default' filepath='include/linux/skbuff.h' line='856' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='truesize' type-id='type-id-5' visibility='default' filepath='include/linux/skbuff.h' line='857' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1760'>
-          <var-decl name='users' type-id='type-id-421' visibility='default' filepath='include/linux/skbuff.h' line='858' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__23' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='667' column='1' id='type-id-1767'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='next' type-id='type-id-1768' visibility='default' filepath='include/linux/skbuff.h' line='669' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='prev' type-id='type-id-1768' visibility='default' filepath='include/linux/skbuff.h' line='670' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='' type-id='type-id-1769' visibility='default' filepath='include/linux/skbuff.h' line='672' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__15' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='672' column='1' id='type-id-1769'>
-        <data-member access='private'>
-          <var-decl name='dev' type-id='type-id-1650' visibility='default' filepath='include/linux/skbuff.h' line='673' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='dev_scratch' type-id='type-id-16' visibility='default' filepath='include/linux/skbuff.h' line='678' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='__anonymous_struct__24' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='703' column='1' id='type-id-1757'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='_skb_refdst' type-id='type-id-16' visibility='default' filepath='include/linux/skbuff.h' line='704' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='destructor' type-id='type-id-1770' visibility='default' filepath='include/linux/skbuff.h' line='705' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='__wsum' type-id='type-id-511' filepath='include/uapi/linux/types.h' line='37' column='1' id='type-id-1759'/>
-      <class-decl name='__anonymous_struct__25' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='809' column='1' id='type-id-1760'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='csum_start' type-id='type-id-108' visibility='default' filepath='include/linux/skbuff.h' line='810' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='csum_offset' type-id='type-id-108' visibility='default' filepath='include/linux/skbuff.h' line='811' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='__be16' type-id='type-id-108' filepath='include/uapi/linux/types.h' line='30' column='1' id='type-id-926'/>
-      <typedef-decl name='sk_buff_data_t' type-id='type-id-5' filepath='include/linux/skbuff.h' line='585' column='1' id='type-id-1766'/>
-      <typedef-decl name='select_queue_fallback_t' type-id='type-id-1771' filepath='include/linux/netdevice.h' line='800' column='1' id='type-id-1772'/>
-      <class-decl name='ifreq' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/uapi/linux/if.h' line='231' column='1' id='type-id-1773'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ifr_ifrn' type-id='type-id-1774' visibility='default' filepath='include/uapi/linux/if.h' line='236' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='ifr_ifru' type-id='type-id-1775' visibility='default' filepath='include/uapi/linux/if.h' line='252' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__16' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/if.h' line='233' column='1' id='type-id-1774'>
-        <data-member access='private'>
-          <var-decl name='ifrn_name' type-id='type-id-43' visibility='default' filepath='include/uapi/linux/if.h' line='235' column='1'/>
-        </data-member>
-      </union-decl>
-      <union-decl name='__anonymous_union__17' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/if.h' line='238' column='1' id='type-id-1775'>
-        <data-member access='private'>
-          <var-decl name='ifru_addr' type-id='type-id-1776' visibility='default' filepath='include/uapi/linux/if.h' line='239' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='ifru_dstaddr' type-id='type-id-1776' visibility='default' filepath='include/uapi/linux/if.h' line='240' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='ifru_broadaddr' type-id='type-id-1776' visibility='default' filepath='include/uapi/linux/if.h' line='241' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='ifru_netmask' type-id='type-id-1776' visibility='default' filepath='include/uapi/linux/if.h' line='242' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='ifru_hwaddr' type-id='type-id-1776' visibility='default' filepath='include/uapi/linux/if.h' line='243' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='ifru_flags' type-id='type-id-261' visibility='default' filepath='include/uapi/linux/if.h' line='244' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='ifru_ivalue' type-id='type-id-17' visibility='default' filepath='include/uapi/linux/if.h' line='245' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='ifru_mtu' type-id='type-id-17' visibility='default' filepath='include/uapi/linux/if.h' line='246' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='ifru_map' type-id='type-id-1777' visibility='default' filepath='include/uapi/linux/if.h' line='247' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='ifru_slave' type-id='type-id-43' visibility='default' filepath='include/uapi/linux/if.h' line='248' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='ifru_newname' type-id='type-id-43' visibility='default' filepath='include/uapi/linux/if.h' line='249' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='ifru_data' type-id='type-id-15' visibility='default' filepath='include/uapi/linux/if.h' line='250' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='ifru_settings' type-id='type-id-1778' visibility='default' filepath='include/uapi/linux/if.h' line='251' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='sockaddr' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/socket.h' line='30' column='1' id='type-id-1776'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='sa_family' type-id='type-id-1779' visibility='default' filepath='include/linux/socket.h' line='31' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='sa_data' type-id='type-id-968' visibility='default' filepath='include/linux/socket.h' line='32' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='sa_family_t' type-id='type-id-337' filepath='include/linux/socket.h' line='24' column='1' id='type-id-1779'/>
-      <typedef-decl name='__kernel_sa_family_t' type-id='type-id-312' filepath='include/uapi/linux/socket.h' line='12' column='1' id='type-id-337'/>
-      <class-decl name='ifmap' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/uapi/linux/if.h' line='194' column='1' id='type-id-1777'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mem_start' type-id='type-id-16' visibility='default' filepath='include/uapi/linux/if.h' line='195' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='mem_end' type-id='type-id-16' visibility='default' filepath='include/uapi/linux/if.h' line='196' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='base_addr' type-id='type-id-312' visibility='default' filepath='include/uapi/linux/if.h' line='197' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='144'>
-          <var-decl name='irq' type-id='type-id-216' visibility='default' filepath='include/uapi/linux/if.h' line='198' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='152'>
-          <var-decl name='dma' type-id='type-id-216' visibility='default' filepath='include/uapi/linux/if.h' line='199' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='port' type-id='type-id-216' visibility='default' filepath='include/uapi/linux/if.h' line='200' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='if_settings' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/if.h' line='205' column='1' id='type-id-1778'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='type' type-id='type-id-5' visibility='default' filepath='include/uapi/linux/if.h' line='206' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='size' type-id='type-id-5' visibility='default' filepath='include/uapi/linux/if.h' line='207' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ifs_ifsu' type-id='type-id-1780' visibility='default' filepath='include/uapi/linux/if.h' line='219' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__18' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/if.h' line='208' column='1' id='type-id-1780'>
-        <data-member access='private'>
-          <var-decl name='raw_hdlc' type-id='type-id-1781' visibility='default' filepath='include/uapi/linux/if.h' line='210' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='cisco' type-id='type-id-1782' visibility='default' filepath='include/uapi/linux/if.h' line='211' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='fr' type-id='type-id-1783' visibility='default' filepath='include/uapi/linux/if.h' line='212' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='fr_pvc' type-id='type-id-1784' visibility='default' filepath='include/uapi/linux/if.h' line='213' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='fr_pvc_info' type-id='type-id-1785' visibility='default' filepath='include/uapi/linux/if.h' line='214' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='sync' type-id='type-id-1786' visibility='default' filepath='include/uapi/linux/if.h' line='217' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='te1' type-id='type-id-1787' visibility='default' filepath='include/uapi/linux/if.h' line='218' column='1'/>
-        </data-member>
-      </union-decl>
-      <typedef-decl name='raw_hdlc_proto' type-id='type-id-1788' filepath='include/uapi/linux/hdlc/ioctl.h' line='56' column='1' id='type-id-1789'/>
-      <class-decl name='__anonymous_struct__26' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-1789' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='53' column='1' id='type-id-1788'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='encoding' type-id='type-id-312' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='54' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='parity' type-id='type-id-312' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='55' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='cisco_proto' type-id='type-id-1790' filepath='include/uapi/linux/hdlc/ioctl.h' line='80' column='1' id='type-id-1791'/>
-      <class-decl name='__anonymous_struct__27' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-1791' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='77' column='1' id='type-id-1790'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='interval' type-id='type-id-5' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='78' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='timeout' type-id='type-id-5' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='79' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='fr_proto' type-id='type-id-1792' filepath='include/uapi/linux/hdlc/ioctl.h' line='66' column='1' id='type-id-1793'/>
-      <class-decl name='__anonymous_struct__28' size-in-bits='192' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-1793' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='58' column='1' id='type-id-1792'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='t391' type-id='type-id-5' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='59' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='t392' type-id='type-id-5' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='60' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='n391' type-id='type-id-5' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='n392' type-id='type-id-5' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='62' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='n393' type-id='type-id-5' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='63' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='lmi' type-id='type-id-312' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='64' column='1'/>
+          <var-decl name='wounded' type-id='type-id-288' visibility='default' filepath='include/linux/ww_mutex.h' line='35' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='176'>
-          <var-decl name='dce' type-id='type-id-312' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='65' column='1'/>
+          <var-decl name='is_wait_die' type-id='type-id-288' visibility='default' filepath='include/linux/ww_mutex.h' line='36' column='1'/>
         </data-member>
       </class-decl>
-      <typedef-decl name='fr_proto_pvc' type-id='type-id-1794' filepath='include/uapi/linux/hdlc/ioctl.h' line='70' column='1' id='type-id-1795'/>
-      <class-decl name='__anonymous_struct__29' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-1795' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='68' column='1' id='type-id-1794'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dlci' type-id='type-id-5' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='69' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='fr_proto_pvc_info' type-id='type-id-1796' filepath='include/uapi/linux/hdlc/ioctl.h' line='75' column='1' id='type-id-1797'/>
-      <class-decl name='__anonymous_struct__30' size-in-bits='160' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-1797' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='72' column='1' id='type-id-1796'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dlci' type-id='type-id-5' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='master' type-id='type-id-43' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='74' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='sync_serial_settings' type-id='type-id-1798' filepath='include/uapi/linux/hdlc/ioctl.h' line='44' column='1' id='type-id-1799'/>
-      <class-decl name='__anonymous_struct__31' size-in-bits='96' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-1799' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='40' column='1' id='type-id-1798'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='clock_rate' type-id='type-id-5' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='41' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='clock_type' type-id='type-id-5' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='42' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='loopback' type-id='type-id-312' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='43' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='te1_settings' type-id='type-id-1800' filepath='include/uapi/linux/hdlc/ioctl.h' line='51' column='1' id='type-id-1801'/>
-      <class-decl name='__anonymous_struct__32' size-in-bits='128' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-1801' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='46' column='1' id='type-id-1800'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='clock_rate' type-id='type-id-5' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='47' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='clock_type' type-id='type-id-5' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='48' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='loopback' type-id='type-id-312' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='49' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='slot_map' type-id='type-id-5' visibility='default' filepath='include/uapi/linux/hdlc/ioctl.h' line='50' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='rtnl_link_stats64' size-in-bits='1536' is-struct='yes' visibility='default' filepath='include/uapi/linux/if_link.h' line='44' column='1' id='type-id-1802'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='rx_packets' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/if_link.h' line='45' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='tx_packets' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/if_link.h' line='46' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='rx_bytes' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/if_link.h' line='47' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='tx_bytes' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/if_link.h' line='48' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='rx_errors' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/if_link.h' line='49' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='tx_errors' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/if_link.h' line='50' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='rx_dropped' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/if_link.h' line='51' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='tx_dropped' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/if_link.h' line='52' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='multicast' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/if_link.h' line='53' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='collisions' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/if_link.h' line='54' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='rx_length_errors' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/if_link.h' line='57' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='rx_over_errors' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/if_link.h' line='58' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='rx_crc_errors' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/if_link.h' line='59' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='rx_frame_errors' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/if_link.h' line='60' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='rx_fifo_errors' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/if_link.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='rx_missed_errors' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/if_link.h' line='62' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='tx_aborted_errors' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/if_link.h' line='65' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='tx_carrier_errors' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/if_link.h' line='66' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='tx_fifo_errors' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/if_link.h' line='67' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='tx_heartbeat_errors' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/if_link.h' line='68' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='tx_window_errors' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/if_link.h' line='69' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='rx_compressed' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/if_link.h' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='tx_compressed' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/if_link.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='rx_nohandler' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/if_link.h' line='75' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ifla_vf_info' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/if_link.h' line='20' column='1' id='type-id-1803'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='vf' type-id='type-id-511' visibility='default' filepath='include/linux/if_link.h' line='21' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='mac' type-id='type-id-940' visibility='default' filepath='include/linux/if_link.h' line='22' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='vlan' type-id='type-id-511' visibility='default' filepath='include/linux/if_link.h' line='23' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='qos' type-id='type-id-511' visibility='default' filepath='include/linux/if_link.h' line='24' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='spoofchk' type-id='type-id-511' visibility='default' filepath='include/linux/if_link.h' line='25' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='linkstate' type-id='type-id-511' visibility='default' filepath='include/linux/if_link.h' line='26' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='min_tx_rate' type-id='type-id-511' visibility='default' filepath='include/linux/if_link.h' line='27' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='max_tx_rate' type-id='type-id-511' visibility='default' filepath='include/linux/if_link.h' line='28' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='rss_query_en' type-id='type-id-511' visibility='default' filepath='include/linux/if_link.h' line='29' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='trusted' type-id='type-id-511' visibility='default' filepath='include/linux/if_link.h' line='30' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='vlan_proto' type-id='type-id-926' visibility='default' filepath='include/linux/if_link.h' line='31' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ifla_vf_stats' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/if_link.h' line='9' column='1' id='type-id-1804'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='rx_packets' type-id='type-id-100' visibility='default' filepath='include/linux/if_link.h' line='10' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='tx_packets' type-id='type-id-100' visibility='default' filepath='include/linux/if_link.h' line='11' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='rx_bytes' type-id='type-id-100' visibility='default' filepath='include/linux/if_link.h' line='12' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='tx_bytes' type-id='type-id-100' visibility='default' filepath='include/linux/if_link.h' line='13' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='broadcast' type-id='type-id-100' visibility='default' filepath='include/linux/if_link.h' line='14' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='multicast' type-id='type-id-100' visibility='default' filepath='include/linux/if_link.h' line='15' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='rx_dropped' type-id='type-id-100' visibility='default' filepath='include/linux/if_link.h' line='16' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='tx_dropped' type-id='type-id-100' visibility='default' filepath='include/linux/if_link.h' line='17' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='nlattr' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/uapi/linux/netlink.h' line='210' column='1' id='type-id-1805'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='nla_len' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/netlink.h' line='211' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='nla_type' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/netlink.h' line='212' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='tc_setup_type' filepath='include/linux/netdevice.h' line='804' column='1' id='type-id-1806'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='TC_SETUP_QDISC_MQPRIO' value='0'/>
-        <enumerator name='TC_SETUP_CLSU32' value='1'/>
-        <enumerator name='TC_SETUP_CLSFLOWER' value='2'/>
-        <enumerator name='TC_SETUP_CLSMATCHALL' value='3'/>
-        <enumerator name='TC_SETUP_CLSBPF' value='4'/>
-        <enumerator name='TC_SETUP_BLOCK' value='5'/>
-        <enumerator name='TC_SETUP_QDISC_CBS' value='6'/>
-        <enumerator name='TC_SETUP_QDISC_RED' value='7'/>
-        <enumerator name='TC_SETUP_QDISC_PRIO' value='8'/>
-        <enumerator name='TC_SETUP_QDISC_MQ' value='9'/>
-        <enumerator name='TC_SETUP_QDISC_ETF' value='10'/>
-      </enum-decl>
-      <class-decl name='netlink_ext_ack' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/netlink.h' line='74' column='1' id='type-id-1807'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='_msg' type-id='type-id-4' visibility='default' filepath='include/linux/netlink.h' line='75' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='bad_attr' type-id='type-id-1808' visibility='default' filepath='include/linux/netlink.h' line='76' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='cookie' type-id='type-id-1183' visibility='default' filepath='include/linux/netlink.h' line='77' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='cookie_len' type-id='type-id-214' visibility='default' filepath='include/linux/netlink.h' line='78' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ndmsg' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/uapi/linux/neighbour.h' line='8' column='1' id='type-id-1809'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ndm_family' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/neighbour.h' line='9' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='ndm_pad1' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/neighbour.h' line='10' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='ndm_pad2' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/neighbour.h' line='11' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='ndm_ifindex' type-id='type-id-653' visibility='default' filepath='include/uapi/linux/neighbour.h' line='12' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ndm_state' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/neighbour.h' line='13' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='80'>
-          <var-decl name='ndm_flags' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/neighbour.h' line='14' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='88'>
-          <var-decl name='ndm_type' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/neighbour.h' line='15' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='netlink_callback' size-in-bits='896' is-struct='yes' visibility='default' filepath='include/linux/netlink.h' line='170' column='1' id='type-id-1810'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='skb' type-id='type-id-1768' visibility='default' filepath='include/linux/netlink.h' line='171' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='nlh' type-id='type-id-1811' visibility='default' filepath='include/linux/netlink.h' line='172' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='dump' type-id='type-id-1812' visibility='default' filepath='include/linux/netlink.h' line='173' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='done' type-id='type-id-1813' visibility='default' filepath='include/linux/netlink.h' line='175' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='data' type-id='type-id-15' visibility='default' filepath='include/linux/netlink.h' line='176' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='module' type-id='type-id-260' visibility='default' filepath='include/linux/netlink.h' line='178' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='family' type-id='type-id-688' visibility='default' filepath='include/linux/netlink.h' line='179' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='400'>
-          <var-decl name='min_dump_alloc' type-id='type-id-688' visibility='default' filepath='include/linux/netlink.h' line='180' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='prev_seq' type-id='type-id-5' visibility='default' filepath='include/linux/netlink.h' line='181' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='seq' type-id='type-id-5' visibility='default' filepath='include/linux/netlink.h' line='181' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='args' type-id='type-id-349' visibility='default' filepath='include/linux/netlink.h' line='182' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='nlmsghdr' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/netlink.h' line='44' column='1' id='type-id-1814'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='nlmsg_len' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/netlink.h' line='45' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='nlmsg_type' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/netlink.h' line='46' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='nlmsg_flags' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/netlink.h' line='47' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='nlmsg_seq' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/netlink.h' line='48' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='nlmsg_pid' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/netlink.h' line='49' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='netdev_phys_item_id' size-in-bits='264' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='788' column='1' id='type-id-1815'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='id' type-id='type-id-35' visibility='default' filepath='include/linux/netdevice.h' line='789' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='id_len' type-id='type-id-216' visibility='default' filepath='include/linux/netdevice.h' line='790' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='netdev_bpf' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='847' column='1' id='type-id-1816'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='command' type-id='type-id-1817' visibility='default' filepath='include/linux/netdevice.h' line='848' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='' type-id='type-id-1818' visibility='default' filepath='include/linux/netdevice.h' line='849' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='bpf_netdev_command' filepath='include/linux/netdevice.h' line='821' column='1' id='type-id-1817'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='XDP_SETUP_PROG' value='0'/>
-        <enumerator name='XDP_SETUP_PROG_HW' value='1'/>
-        <enumerator name='XDP_QUERY_PROG' value='2'/>
-        <enumerator name='XDP_QUERY_PROG_HW' value='3'/>
-        <enumerator name='BPF_OFFLOAD_VERIFIER_PREP' value='4'/>
-        <enumerator name='BPF_OFFLOAD_TRANSLATE' value='5'/>
-        <enumerator name='BPF_OFFLOAD_DESTROY' value='6'/>
-        <enumerator name='BPF_OFFLOAD_MAP_ALLOC' value='7'/>
-        <enumerator name='BPF_OFFLOAD_MAP_FREE' value='8'/>
-        <enumerator name='XDP_QUERY_XSK_UMEM' value='9'/>
-        <enumerator name='XDP_SETUP_XSK_UMEM' value='10'/>
-      </enum-decl>
-      <union-decl name='__anonymous_union__19' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/linux/netdevice.h' line='849' column='1' id='type-id-1818'>
-        <member-type access='private'>
-          <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/netdevice.h' line='857' column='1' id='type-id-1819'>
-            <data-member access='public' layout-offset-in-bits='0'>
-              <var-decl name='prog_id' type-id='type-id-7' visibility='default' filepath='include/linux/netdevice.h' line='858' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='32'>
-              <var-decl name='prog_flags' type-id='type-id-7' visibility='default' filepath='include/linux/netdevice.h' line='860' column='1'/>
-            </data-member>
-          </class-decl>
-        </member-type>
-        <member-type access='private'>
-          <class-decl name='__anonymous_struct__1' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/netdevice.h' line='872' column='1' id='type-id-1820'>
-            <data-member access='public' layout-offset-in-bits='0'>
-              <var-decl name='offmap' type-id='type-id-1821' visibility='default' filepath='include/linux/netdevice.h' line='873' column='1'/>
-            </data-member>
-          </class-decl>
-        </member-type>
+      <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='include/linux/restart_block.h' line='27' column='1' id='type-id-7369'>
         <data-member access='private'>
-          <var-decl name='' type-id='type-id-1822' visibility='default' filepath='include/linux/netdevice.h' line='851' column='1'/>
+          <var-decl name='futex' type-id='type-id-96' visibility='default' filepath='include/linux/restart_block.h' line='36' column='1'/>
         </data-member>
         <data-member access='private'>
-          <var-decl name='verifier' type-id='type-id-1823' visibility='default' filepath='include/linux/netdevice.h' line='866' column='1'/>
+          <var-decl name='nanosleep' type-id='type-id-7370' visibility='default' filepath='include/linux/restart_block.h' line='46' column='1'/>
         </data-member>
         <data-member access='private'>
-          <var-decl name='offload' type-id='type-id-1824' visibility='default' filepath='include/linux/netdevice.h' line='870' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='xsk' type-id='type-id-1825' visibility='default' filepath='include/linux/netdevice.h' line='879' column='1'/>
+          <var-decl name='poll' type-id='type-id-98' visibility='default' filepath='include/linux/restart_block.h' line='54' column='1'/>
         </data-member>
       </union-decl>
-      <class-decl name='__anonymous_struct__33' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/netdevice.h' line='851' column='1' id='type-id-1822'>
+      <class-decl name='__anonymous_struct__' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/restart_block.h' line='38' column='1' id='type-id-7370'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='flags' type-id='type-id-7' visibility='default' filepath='include/linux/netdevice.h' line='852' column='1'/>
+          <var-decl name='clockid' type-id='type-id-1995' visibility='default' filepath='include/linux/restart_block.h' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='type' type-id='type-id-5732' visibility='default' filepath='include/linux/restart_block.h' line='40' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='prog' type-id='type-id-1230' visibility='default' filepath='include/linux/netdevice.h' line='853' column='1'/>
+          <var-decl name='' type-id='type-id-7371' visibility='default' filepath='include/linux/restart_block.h' line='41' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='extack' type-id='type-id-1826' visibility='default' filepath='include/linux/netdevice.h' line='854' column='1'/>
+          <var-decl name='expires' type-id='type-id-134' visibility='default' filepath='include/linux/restart_block.h' line='45' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='__anonymous_struct__34' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/netdevice.h' line='863' column='1' id='type-id-1823'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='prog' type-id='type-id-1230' visibility='default' filepath='include/linux/netdevice.h' line='864' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ops' type-id='type-id-1827' visibility='default' filepath='include/linux/netdevice.h' line='865' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='bpf_prog_offload_ops' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/bpf.h' line='259' column='1' id='type-id-1828'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='insn_hook' type-id='type-id-1829' visibility='default' filepath='include/linux/bpf.h' line='260' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__35' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/netdevice.h' line='868' column='1' id='type-id-1824'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='prog' type-id='type-id-1230' visibility='default' filepath='include/linux/netdevice.h' line='869' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='bpf_offloaded_map' size-in-bits='2048' is-struct='yes' visibility='default' filepath='include/linux/bpf.h' line='103' column='1' id='type-id-1830'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='map' type-id='type-id-1256' visibility='default' filepath='include/linux/bpf.h' line='104' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='netdev' type-id='type-id-1650' visibility='default' filepath='include/linux/bpf.h' line='105' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='dev_ops' type-id='type-id-1831' visibility='default' filepath='include/linux/bpf.h' line='106' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='dev_priv' type-id='type-id-15' visibility='default' filepath='include/linux/bpf.h' line='107' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='offloads' type-id='type-id-20' visibility='default' filepath='include/linux/bpf.h' line='108' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='bpf_map_dev_ops' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/bpf.h' line='93' column='1' id='type-id-1832'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='map_get_next_key' type-id='type-id-1833' visibility='default' filepath='include/linux/bpf.h' line='94' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='map_lookup_elem' type-id='type-id-1833' visibility='default' filepath='include/linux/bpf.h' line='96' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='map_update_elem' type-id='type-id-1834' visibility='default' filepath='include/linux/bpf.h' line='98' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='map_delete_elem' type-id='type-id-1835' visibility='default' filepath='include/linux/bpf.h' line='100' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__36' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/netdevice.h' line='876' column='1' id='type-id-1825'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='umem' type-id='type-id-1836' visibility='default' filepath='include/linux/netdevice.h' line='877' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='queue_id' type-id='type-id-688' visibility='default' filepath='include/linux/netdevice.h' line='878' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='xdp_frame' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/xdp.h' line='75' column='1' id='type-id-1837'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='data' type-id='type-id-15' visibility='default' filepath='include/net/xdp.h' line='76' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='len' type-id='type-id-688' visibility='default' filepath='include/net/xdp.h' line='77' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='80'>
-          <var-decl name='headroom' type-id='type-id-688' visibility='default' filepath='include/net/xdp.h' line='78' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='metasize' type-id='type-id-688' visibility='default' filepath='include/net/xdp.h' line='79' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='mem' type-id='type-id-1838' visibility='default' filepath='include/net/xdp.h' line='83' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='dev_rx' type-id='type-id-1650' visibility='default' filepath='include/net/xdp.h' line='84' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='xdp_mem_info' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/net/xdp.h' line='48' column='1' id='type-id-1838'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='type' type-id='type-id-7' visibility='default' filepath='include/net/xdp.h' line='49' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='id' type-id='type-id-7' visibility='default' filepath='include/net/xdp.h' line='50' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ethtool_ops' size-in-bits='3712' is-struct='yes' visibility='default' filepath='include/linux/ethtool.h' line='331' column='1' id='type-id-1839'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='get_settings' type-id='type-id-1840' visibility='default' filepath='include/linux/ethtool.h' line='332' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='set_settings' type-id='type-id-1840' visibility='default' filepath='include/linux/ethtool.h' line='333' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='get_drvinfo' type-id='type-id-1841' visibility='default' filepath='include/linux/ethtool.h' line='334' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='get_regs_len' type-id='type-id-1701' visibility='default' filepath='include/linux/ethtool.h' line='335' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='get_regs' type-id='type-id-1842' visibility='default' filepath='include/linux/ethtool.h' line='336' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='get_wol' type-id='type-id-1843' visibility='default' filepath='include/linux/ethtool.h' line='337' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='set_wol' type-id='type-id-1844' visibility='default' filepath='include/linux/ethtool.h' line='338' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='get_msglevel' type-id='type-id-1845' visibility='default' filepath='include/linux/ethtool.h' line='339' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='set_msglevel' type-id='type-id-1846' visibility='default' filepath='include/linux/ethtool.h' line='340' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='nway_reset' type-id='type-id-1701' visibility='default' filepath='include/linux/ethtool.h' line='341' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='get_link' type-id='type-id-1845' visibility='default' filepath='include/linux/ethtool.h' line='342' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='get_eeprom_len' type-id='type-id-1701' visibility='default' filepath='include/linux/ethtool.h' line='343' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='get_eeprom' type-id='type-id-1847' visibility='default' filepath='include/linux/ethtool.h' line='344' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='set_eeprom' type-id='type-id-1847' visibility='default' filepath='include/linux/ethtool.h' line='346' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='get_coalesce' type-id='type-id-1848' visibility='default' filepath='include/linux/ethtool.h' line='348' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='set_coalesce' type-id='type-id-1848' visibility='default' filepath='include/linux/ethtool.h' line='349' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='get_ringparam' type-id='type-id-1849' visibility='default' filepath='include/linux/ethtool.h' line='350' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='set_ringparam' type-id='type-id-1850' visibility='default' filepath='include/linux/ethtool.h' line='352' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='get_pauseparam' type-id='type-id-1851' visibility='default' filepath='include/linux/ethtool.h' line='354' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='set_pauseparam' type-id='type-id-1852' visibility='default' filepath='include/linux/ethtool.h' line='356' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='self_test' type-id='type-id-1853' visibility='default' filepath='include/linux/ethtool.h' line='358' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='get_strings' type-id='type-id-1854' visibility='default' filepath='include/linux/ethtool.h' line='359' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='set_phys_id' type-id='type-id-1855' visibility='default' filepath='include/linux/ethtool.h' line='360' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='get_ethtool_stats' type-id='type-id-1856' visibility='default' filepath='include/linux/ethtool.h' line='361' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='begin' type-id='type-id-1701' visibility='default' filepath='include/linux/ethtool.h' line='363' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='complete' type-id='type-id-1691' visibility='default' filepath='include/linux/ethtool.h' line='364' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='get_priv_flags' type-id='type-id-1845' visibility='default' filepath='include/linux/ethtool.h' line='365' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='set_priv_flags' type-id='type-id-1750' visibility='default' filepath='include/linux/ethtool.h' line='366' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='get_sset_count' type-id='type-id-1709' visibility='default' filepath='include/linux/ethtool.h' line='367' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='get_rxnfc' type-id='type-id-1857' visibility='default' filepath='include/linux/ethtool.h' line='368' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='set_rxnfc' type-id='type-id-1858' visibility='default' filepath='include/linux/ethtool.h' line='370' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='flash_device' type-id='type-id-1859' visibility='default' filepath='include/linux/ethtool.h' line='371' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='reset' type-id='type-id-1860' visibility='default' filepath='include/linux/ethtool.h' line='372' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='get_rxfh_key_size' type-id='type-id-1845' visibility='default' filepath='include/linux/ethtool.h' line='373' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='get_rxfh_indir_size' type-id='type-id-1845' visibility='default' filepath='include/linux/ethtool.h' line='374' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='get_rxfh' type-id='type-id-1861' visibility='default' filepath='include/linux/ethtool.h' line='375' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2304'>
-          <var-decl name='set_rxfh' type-id='type-id-1862' visibility='default' filepath='include/linux/ethtool.h' line='377' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='get_rxfh_context' type-id='type-id-1863' visibility='default' filepath='include/linux/ethtool.h' line='379' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2432'>
-          <var-decl name='set_rxfh_context' type-id='type-id-1864' visibility='default' filepath='include/linux/ethtool.h' line='381' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2496'>
-          <var-decl name='get_channels' type-id='type-id-1865' visibility='default' filepath='include/linux/ethtool.h' line='384' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2560'>
-          <var-decl name='set_channels' type-id='type-id-1866' visibility='default' filepath='include/linux/ethtool.h' line='385' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2624'>
-          <var-decl name='get_dump_flag' type-id='type-id-1867' visibility='default' filepath='include/linux/ethtool.h' line='386' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2688'>
-          <var-decl name='get_dump_data' type-id='type-id-1868' visibility='default' filepath='include/linux/ethtool.h' line='387' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2752'>
-          <var-decl name='set_dump' type-id='type-id-1867' visibility='default' filepath='include/linux/ethtool.h' line='389' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2816'>
-          <var-decl name='get_ts_info' type-id='type-id-1869' visibility='default' filepath='include/linux/ethtool.h' line='390' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2880'>
-          <var-decl name='get_module_info' type-id='type-id-1870' visibility='default' filepath='include/linux/ethtool.h' line='391' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2944'>
-          <var-decl name='get_module_eeprom' type-id='type-id-1847' visibility='default' filepath='include/linux/ethtool.h' line='393' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3008'>
-          <var-decl name='get_eee' type-id='type-id-1871' visibility='default' filepath='include/linux/ethtool.h' line='395' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3072'>
-          <var-decl name='set_eee' type-id='type-id-1871' visibility='default' filepath='include/linux/ethtool.h' line='396' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3136'>
-          <var-decl name='get_tunable' type-id='type-id-1872' visibility='default' filepath='include/linux/ethtool.h' line='397' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3200'>
-          <var-decl name='set_tunable' type-id='type-id-1872' visibility='default' filepath='include/linux/ethtool.h' line='399' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3264'>
-          <var-decl name='get_per_queue_coalesce' type-id='type-id-1873' visibility='default' filepath='include/linux/ethtool.h' line='401' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3328'>
-          <var-decl name='set_per_queue_coalesce' type-id='type-id-1873' visibility='default' filepath='include/linux/ethtool.h' line='403' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3392'>
-          <var-decl name='get_link_ksettings' type-id='type-id-1874' visibility='default' filepath='include/linux/ethtool.h' line='405' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3456'>
-          <var-decl name='set_link_ksettings' type-id='type-id-1875' visibility='default' filepath='include/linux/ethtool.h' line='407' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3520'>
-          <var-decl name='get_fecparam' type-id='type-id-1876' visibility='default' filepath='include/linux/ethtool.h' line='409' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3584'>
-          <var-decl name='set_fecparam' type-id='type-id-1876' visibility='default' filepath='include/linux/ethtool.h' line='411' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3648'>
-          <var-decl name='get_ethtool_phy_stats' type-id='type-id-1856' visibility='default' filepath='include/linux/ethtool.h' line='413' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ethtool_cmd' size-in-bits='352' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='100' column='1' id='type-id-1877'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cmd' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='101' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='supported' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='102' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='advertising' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='103' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='speed' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/ethtool.h' line='104' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='112'>
-          <var-decl name='duplex' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/ethtool.h' line='105' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='120'>
-          <var-decl name='port' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/ethtool.h' line='106' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='phy_address' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/ethtool.h' line='107' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='136'>
-          <var-decl name='transceiver' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/ethtool.h' line='108' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='144'>
-          <var-decl name='autoneg' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/ethtool.h' line='109' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='152'>
-          <var-decl name='mdio_support' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/ethtool.h' line='110' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='maxtxpkt' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='111' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='maxrxpkt' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='112' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='speed_hi' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/ethtool.h' line='113' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='240'>
-          <var-decl name='eth_tp_mdix' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/ethtool.h' line='114' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='248'>
-          <var-decl name='eth_tp_mdix_ctrl' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/ethtool.h' line='115' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='lp_advertising' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='116' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='reserved' type-id='type-id-932' visibility='default' filepath='include/uapi/linux/ethtool.h' line='117' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ethtool_drvinfo' size-in-bits='1568' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='181' column='1' id='type-id-1878'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cmd' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='182' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='driver' type-id='type-id-373' visibility='default' filepath='include/uapi/linux/ethtool.h' line='183' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='version' type-id='type-id-373' visibility='default' filepath='include/uapi/linux/ethtool.h' line='184' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='fw_version' type-id='type-id-373' visibility='default' filepath='include/uapi/linux/ethtool.h' line='185' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='800'>
-          <var-decl name='bus_info' type-id='type-id-373' visibility='default' filepath='include/uapi/linux/ethtool.h' line='186' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1056'>
-          <var-decl name='erom_version' type-id='type-id-373' visibility='default' filepath='include/uapi/linux/ethtool.h' line='187' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1312'>
-          <var-decl name='reserved2' type-id='type-id-966' visibility='default' filepath='include/uapi/linux/ethtool.h' line='188' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='n_priv_flags' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='189' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1440'>
-          <var-decl name='n_stats' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='190' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='testinfo_len' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='191' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1504'>
-          <var-decl name='eedump_len' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='192' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='regdump_len' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='193' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ethtool_regs' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='284' column='1' id='type-id-1879'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cmd' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='285' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='version' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='286' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='len' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='287' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='data' type-id='type-id-946' visibility='default' filepath='include/uapi/linux/ethtool.h' line='288' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ethtool_wolinfo' size-in-bits='160' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='207' column='1' id='type-id-1880'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cmd' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='208' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='supported' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='209' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='wolopts' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='210' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='sopass' type-id='type-id-945' visibility='default' filepath='include/uapi/linux/ethtool.h' line='211' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ethtool_eeprom' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='309' column='1' id='type-id-1881'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cmd' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='310' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='magic' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='311' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='offset' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='312' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='len' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='313' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='data' type-id='type-id-946' visibility='default' filepath='include/uapi/linux/ethtool.h' line='314' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ethtool_coalesce' size-in-bits='736' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='436' column='1' id='type-id-1882'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cmd' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='437' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='rx_coalesce_usecs' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='438' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='rx_max_coalesced_frames' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='439' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='rx_coalesce_usecs_irq' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='440' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='rx_max_coalesced_frames_irq' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='441' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='tx_coalesce_usecs' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='442' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='tx_max_coalesced_frames' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='443' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='tx_coalesce_usecs_irq' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='444' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='tx_max_coalesced_frames_irq' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='445' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='stats_block_coalesce_usecs' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='446' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='use_adaptive_rx_coalesce' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='447' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='use_adaptive_tx_coalesce' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='448' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='pkt_rate_low' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='449' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='rx_coalesce_usecs_low' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='450' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='rx_max_coalesced_frames_low' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='451' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='tx_coalesce_usecs_low' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='452' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='tx_max_coalesced_frames_low' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='453' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='pkt_rate_high' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='454' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='rx_coalesce_usecs_high' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='455' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='rx_max_coalesced_frames_high' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='456' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='tx_coalesce_usecs_high' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='457' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='672'>
-          <var-decl name='tx_max_coalesced_frames_high' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='458' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='rate_sample_interval' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='459' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ethtool_ringparam' size-in-bits='288' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='487' column='1' id='type-id-1883'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cmd' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='488' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='rx_max_pending' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='489' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='rx_mini_max_pending' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='490' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='rx_jumbo_max_pending' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='491' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='tx_max_pending' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='492' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='rx_pending' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='493' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='rx_mini_pending' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='494' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='rx_jumbo_pending' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='495' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='tx_pending' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='496' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ethtool_pauseparam' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='549' column='1' id='type-id-1884'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cmd' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='550' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='autoneg' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='551' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='rx_pause' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='552' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='tx_pause' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='553' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ethtool_test' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='657' column='1' id='type-id-1885'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cmd' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='658' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='flags' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='659' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='reserved' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='660' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='len' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='661' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='data' type-id='type-id-735' visibility='default' filepath='include/uapi/linux/ethtool.h' line='662' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='ethtool_phys_id_state' filepath='include/linux/ethtool.h' line='54' column='1' id='type-id-1886'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='ETHTOOL_ID_INACTIVE' value='0'/>
-        <enumerator name='ETHTOOL_ID_ACTIVE' value='1'/>
-        <enumerator name='ETHTOOL_ID_ON' value='2'/>
-        <enumerator name='ETHTOOL_ID_OFF' value='3'/>
-      </enum-decl>
-      <class-decl name='ethtool_stats' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='676' column='1' id='type-id-1887'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cmd' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='677' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='n_stats' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='678' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='data' type-id='type-id-735' visibility='default' filepath='include/uapi/linux/ethtool.h' line='679' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ethtool_rxnfc' size-in-bits='1536' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='975' column='1' id='type-id-1888'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cmd' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='976' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='flow_type' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='977' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='data' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/ethtool.h' line='978' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='fs' type-id='type-id-1889' visibility='default' filepath='include/uapi/linux/ethtool.h' line='979' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='' type-id='type-id-1890' visibility='default' filepath='include/uapi/linux/ethtool.h' line='980' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1504'>
-          <var-decl name='rule_locs' type-id='type-id-936' visibility='default' filepath='include/uapi/linux/ethtool.h' line='984' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ethtool_rx_flow_spec' size-in-bits='1344' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='879' column='1' id='type-id-1889'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='flow_type' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='880' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='h_u' type-id='type-id-1891' visibility='default' filepath='include/uapi/linux/ethtool.h' line='881' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='h_ext' type-id='type-id-1892' visibility='default' filepath='include/uapi/linux/ethtool.h' line='882' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='m_u' type-id='type-id-1891' visibility='default' filepath='include/uapi/linux/ethtool.h' line='883' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='m_ext' type-id='type-id-1892' visibility='default' filepath='include/uapi/linux/ethtool.h' line='884' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='ring_cookie' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/ethtool.h' line='885' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='location' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='886' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='ethtool_flow_union' size-in-bits='416' visibility='default' filepath='include/uapi/linux/ethtool.h' line='826' column='1' id='type-id-1891'>
+      <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/restart_block.h' line='41' column='1' id='type-id-7371'>
         <data-member access='private'>
-          <var-decl name='tcp_ip4_spec' type-id='type-id-1893' visibility='default' filepath='include/uapi/linux/ethtool.h' line='827' column='1'/>
+          <var-decl name='rmtp' type-id='type-id-4324' visibility='default' filepath='include/linux/restart_block.h' line='42' column='1'/>
         </data-member>
         <data-member access='private'>
-          <var-decl name='udp_ip4_spec' type-id='type-id-1893' visibility='default' filepath='include/uapi/linux/ethtool.h' line='828' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='sctp_ip4_spec' type-id='type-id-1893' visibility='default' filepath='include/uapi/linux/ethtool.h' line='829' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='ah_ip4_spec' type-id='type-id-1894' visibility='default' filepath='include/uapi/linux/ethtool.h' line='830' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='esp_ip4_spec' type-id='type-id-1894' visibility='default' filepath='include/uapi/linux/ethtool.h' line='831' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='usr_ip4_spec' type-id='type-id-1895' visibility='default' filepath='include/uapi/linux/ethtool.h' line='832' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='tcp_ip6_spec' type-id='type-id-1896' visibility='default' filepath='include/uapi/linux/ethtool.h' line='833' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='udp_ip6_spec' type-id='type-id-1896' visibility='default' filepath='include/uapi/linux/ethtool.h' line='834' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='sctp_ip6_spec' type-id='type-id-1896' visibility='default' filepath='include/uapi/linux/ethtool.h' line='835' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='ah_ip6_spec' type-id='type-id-1897' visibility='default' filepath='include/uapi/linux/ethtool.h' line='836' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='esp_ip6_spec' type-id='type-id-1897' visibility='default' filepath='include/uapi/linux/ethtool.h' line='837' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='usr_ip6_spec' type-id='type-id-1898' visibility='default' filepath='include/uapi/linux/ethtool.h' line='838' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='ether_spec' type-id='type-id-1899' visibility='default' filepath='include/uapi/linux/ethtool.h' line='839' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='hdata' type-id='type-id-943' visibility='default' filepath='include/uapi/linux/ethtool.h' line='840' column='1'/>
+          <var-decl name='compat_rmtp' type-id='type-id-5734' visibility='default' filepath='include/linux/restart_block.h' line='43' column='1'/>
         </data-member>
       </union-decl>
-      <class-decl name='ethtool_tcpip4_spec' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='732' column='1' id='type-id-1893'>
+      <pointer-type-def type-id='type-id-7364' size-in-bits='64' id='type-id-7372'/>
+      <pointer-type-def type-id='type-id-7365' size-in-bits='64' id='type-id-7373'/>
+      <pointer-type-def type-id='type-id-7366' size-in-bits='64' id='type-id-7374'/>
+      <pointer-type-def type-id='type-id-7367' size-in-bits='64' id='type-id-7375'/>
+      <pointer-type-def type-id='type-id-1258' size-in-bits='64' id='type-id-7368'/>
+      <pointer-type-def type-id='type-id-1256' size-in-bits='64' id='type-id-7376'/>
+      <function-decl name='__mutex_init' mangled-name='__mutex_init' filepath='kernel/locking/mutex.c' line='39' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__mutex_init'>
+        <parameter type-id='type-id-2357' name='lock' filepath='kernel/locking/mutex.c' line='39' column='1'/>
+        <parameter type-id='type-id-24' name='name' filepath='kernel/locking/mutex.c' line='39' column='1'/>
+        <parameter type-id='type-id-532' name='key' filepath='kernel/locking/mutex.c' line='39' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='ww_mutex_unlock' mangled-name='ww_mutex_unlock' filepath='kernel/locking/mutex.c' line='728' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ww_mutex_unlock'>
+        <parameter type-id='type-id-7376' name='lock' filepath='kernel/locking/mutex.c' line='728' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='mutex_trylock' mangled-name='mutex_trylock' filepath='kernel/locking/mutex.c' line='1379' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mutex_trylock'>
+        <parameter type-id='type-id-2357' name='lock' filepath='kernel/locking/mutex.c' line='1379' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='ww_mutex_lock' mangled-name='ww_mutex_lock' filepath='kernel/locking/mutex.c' line='1392' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ww_mutex_lock'>
+        <parameter type-id='type-id-7376' name='lock' filepath='kernel/locking/mutex.c' line='1392' column='1'/>
+        <parameter type-id='type-id-7368' name='ctx' filepath='kernel/locking/mutex.c' line='1392' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='ww_mutex_lock_interruptible' mangled-name='ww_mutex_lock_interruptible' filepath='kernel/locking/mutex.c' line='1407' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ww_mutex_lock_interruptible'>
+        <parameter type-id='type-id-7376' name='lock' filepath='kernel/locking/mutex.c' line='1407' column='1'/>
+        <parameter type-id='type-id-7368' name='ctx' filepath='kernel/locking/mutex.c' line='1407' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/locking/rtmutex.c' language='LANG_C89'>
+      <class-decl name='rt_mutex' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/rtmutex.h' line='30' column='1' id='type-id-1716'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ip4src' type-id='type-id-929' visibility='default' filepath='include/uapi/linux/ethtool.h' line='733' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='ip4dst' type-id='type-id-929' visibility='default' filepath='include/uapi/linux/ethtool.h' line='734' column='1'/>
+          <var-decl name='wait_lock' type-id='type-id-5119' visibility='default' filepath='include/linux/rtmutex.h' line='31' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='psrc' type-id='type-id-926' visibility='default' filepath='include/uapi/linux/ethtool.h' line='735' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='80'>
-          <var-decl name='pdst' type-id='type-id-926' visibility='default' filepath='include/uapi/linux/ethtool.h' line='736' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='tos' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/ethtool.h' line='737' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='__be32' type-id='type-id-511' filepath='include/uapi/linux/types.h' line='32' column='1' id='type-id-929'/>
-      <class-decl name='ethtool_ah_espip4_spec' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='749' column='1' id='type-id-1894'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ip4src' type-id='type-id-929' visibility='default' filepath='include/uapi/linux/ethtool.h' line='750' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='ip4dst' type-id='type-id-929' visibility='default' filepath='include/uapi/linux/ethtool.h' line='751' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='spi' type-id='type-id-929' visibility='default' filepath='include/uapi/linux/ethtool.h' line='752' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='tos' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/ethtool.h' line='753' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ethtool_usrip4_spec' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='767' column='1' id='type-id-1895'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ip4src' type-id='type-id-929' visibility='default' filepath='include/uapi/linux/ethtool.h' line='768' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='ip4dst' type-id='type-id-929' visibility='default' filepath='include/uapi/linux/ethtool.h' line='769' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='l4_4_bytes' type-id='type-id-929' visibility='default' filepath='include/uapi/linux/ethtool.h' line='770' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='tos' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/ethtool.h' line='771' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='104'>
-          <var-decl name='ip_ver' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/ethtool.h' line='772' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='112'>
-          <var-decl name='proto' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/ethtool.h' line='773' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ethtool_tcpip6_spec' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='786' column='1' id='type-id-1896'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ip6src' type-id='type-id-931' visibility='default' filepath='include/uapi/linux/ethtool.h' line='787' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='ip6dst' type-id='type-id-931' visibility='default' filepath='include/uapi/linux/ethtool.h' line='788' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='psrc' type-id='type-id-926' visibility='default' filepath='include/uapi/linux/ethtool.h' line='789' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='272'>
-          <var-decl name='pdst' type-id='type-id-926' visibility='default' filepath='include/uapi/linux/ethtool.h' line='790' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='tclass' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/ethtool.h' line='791' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ethtool_ah_espip6_spec' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='803' column='1' id='type-id-1897'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ip6src' type-id='type-id-931' visibility='default' filepath='include/uapi/linux/ethtool.h' line='804' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='ip6dst' type-id='type-id-931' visibility='default' filepath='include/uapi/linux/ethtool.h' line='805' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='spi' type-id='type-id-929' visibility='default' filepath='include/uapi/linux/ethtool.h' line='806' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='tclass' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/ethtool.h' line='807' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ethtool_usrip6_spec' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='818' column='1' id='type-id-1898'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ip6src' type-id='type-id-931' visibility='default' filepath='include/uapi/linux/ethtool.h' line='819' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='ip6dst' type-id='type-id-931' visibility='default' filepath='include/uapi/linux/ethtool.h' line='820' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='l4_4_bytes' type-id='type-id-929' visibility='default' filepath='include/uapi/linux/ethtool.h' line='821' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='tclass' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/ethtool.h' line='822' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='296'>
-          <var-decl name='l4_proto' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/ethtool.h' line='823' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ethhdr' size-in-bits='112' is-struct='yes' visibility='default' filepath='include/uapi/linux/if_ether.h' line='161' column='1' id='type-id-1899'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='h_dest' type-id='type-id-1189' visibility='default' filepath='include/uapi/linux/if_ether.h' line='162' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='h_source' type-id='type-id-1189' visibility='default' filepath='include/uapi/linux/if_ether.h' line='163' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='h_proto' type-id='type-id-926' visibility='default' filepath='include/uapi/linux/if_ether.h' line='164' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ethtool_flow_ext' size-in-bits='160' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='854' column='1' id='type-id-1892'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='padding' type-id='type-id-939' visibility='default' filepath='include/uapi/linux/ethtool.h' line='855' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='h_dest' type-id='type-id-1189' visibility='default' filepath='include/uapi/linux/ethtool.h' line='856' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='vlan_etype' type-id='type-id-926' visibility='default' filepath='include/uapi/linux/ethtool.h' line='857' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='80'>
-          <var-decl name='vlan_tci' type-id='type-id-926' visibility='default' filepath='include/uapi/linux/ethtool.h' line='858' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='data' type-id='type-id-930' visibility='default' filepath='include/uapi/linux/ethtool.h' line='859' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__20' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='980' column='1' id='type-id-1890'>
-        <data-member access='private'>
-          <var-decl name='rule_cnt' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='981' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='rss_context' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='982' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='ethtool_flash' size-in-bits='1088' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1104' column='1' id='type-id-1900'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cmd' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1105' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='region' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1106' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='data' type-id='type-id-964' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1107' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ethtool_channels' size-in-bits='288' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='515' column='1' id='type-id-1901'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cmd' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='516' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='max_rx' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='517' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='max_tx' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='518' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='max_other' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='519' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='max_combined' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='520' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='rx_count' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='521' column='1'/>
+          <var-decl name='waiters' type-id='type-id-1844' visibility='default' filepath='include/linux/rtmutex.h' line='32' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='tx_count' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='522' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='other_count' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='523' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='combined_count' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='524' column='1'/>
+          <var-decl name='owner' type-id='type-id-118' visibility='default' filepath='include/linux/rtmutex.h' line='33' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='ethtool_dump' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1124' column='1' id='type-id-1902'>
+      <pointer-type-def type-id='type-id-1716' size-in-bits='64' id='type-id-7377'/>
+      <function-decl name='rt_mutex_lock' mangled-name='rt_mutex_lock' filepath='kernel/locking/rtmutex.c' line='1496' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rt_mutex_lock'>
+        <parameter type-id='type-id-7377' name='lock' filepath='kernel/locking/rtmutex.c' line='1496' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='rt_mutex_unlock' mangled-name='rt_mutex_unlock' filepath='kernel/locking/rtmutex.c' line='1602' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rt_mutex_unlock'>
+        <parameter type-id='type-id-7377' name='lock' filepath='kernel/locking/rtmutex.c' line='1602' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/locking/rwsem-xadd.c' language='LANG_C89'>
+      <function-decl name='__init_rwsem' mangled-name='__init_rwsem' filepath='kernel/locking/rwsem-xadd.c' line='76' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__init_rwsem'>
+        <parameter type-id='type-id-185' name='sem' filepath='kernel/locking/rwsem-xadd.c' line='76' column='1'/>
+        <parameter type-id='type-id-24' name='name' filepath='kernel/locking/rwsem-xadd.c' line='76' column='1'/>
+        <parameter type-id='type-id-532' name='key' filepath='kernel/locking/rwsem-xadd.c' line='77' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/locking/semaphore.c' language='LANG_C89'>
+      <class-decl name='semaphore' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/semaphore.h' line='16' column='1' id='type-id-7378'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cmd' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1125' column='1'/>
+          <var-decl name='lock' type-id='type-id-5119' visibility='default' filepath='include/linux/semaphore.h' line='17' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='version' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1126' column='1'/>
+          <var-decl name='count' type-id='type-id-10' visibility='default' filepath='include/linux/semaphore.h' line='18' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='flag' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1127' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='len' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1128' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='data' type-id='type-id-946' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1129' column='1'/>
+          <var-decl name='wait_list' type-id='type-id-8' visibility='default' filepath='include/linux/semaphore.h' line='19' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='ethtool_ts_info' size-in-bits='352' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1204' column='1' id='type-id-1903'>
+      <pointer-type-def type-id='type-id-7378' size-in-bits='64' id='type-id-7379'/>
+      <function-decl name='down' mangled-name='down' filepath='kernel/locking/semaphore.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='down'>
+        <parameter type-id='type-id-7379' name='sem' filepath='kernel/locking/semaphore.c' line='54' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='up' mangled-name='up' filepath='kernel/locking/semaphore.c' line='179' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='up'>
+        <parameter type-id='type-id-7379' name='sem' filepath='kernel/locking/semaphore.c' line='179' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/locking/spinlock.c' language='LANG_C89'>
+      <pointer-type-def type-id='type-id-5119' size-in-bits='64' id='type-id-7380'/>
+      <pointer-type-def type-id='type-id-1847' size-in-bits='64' id='type-id-7381'/>
+      <function-decl name='_raw_spin_trylock_bh' mangled-name='_raw_spin_trylock_bh' filepath='kernel/locking/spinlock.c' line='134' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_raw_spin_trylock_bh'>
+        <parameter type-id='type-id-7380' name='lock' filepath='kernel/locking/spinlock.c' line='134' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='_raw_spin_lock_bh' mangled-name='_raw_spin_lock_bh' filepath='kernel/locking/spinlock.c' line='166' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_raw_spin_lock_bh'>
+        <parameter type-id='type-id-7380' name='lock' filepath='kernel/locking/spinlock.c' line='166' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='_raw_spin_unlock_bh' mangled-name='_raw_spin_unlock_bh' filepath='kernel/locking/spinlock.c' line='198' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_raw_spin_unlock_bh'>
+        <parameter type-id='type-id-7380' name='lock' filepath='kernel/locking/spinlock.c' line='198' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='_raw_read_lock_irqsave' mangled-name='_raw_read_lock_irqsave' filepath='kernel/locking/spinlock.c' line='222' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_raw_read_lock_irqsave'>
+        <parameter type-id='type-id-7381' name='lock' filepath='kernel/locking/spinlock.c' line='222' column='1'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+      <function-decl name='_raw_read_lock_bh' mangled-name='_raw_read_lock_bh' filepath='kernel/locking/spinlock.c' line='238' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_raw_read_lock_bh'>
+        <parameter type-id='type-id-7381' name='lock' filepath='kernel/locking/spinlock.c' line='238' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='_raw_read_unlock_irqrestore' mangled-name='_raw_read_unlock_irqrestore' filepath='kernel/locking/spinlock.c' line='254' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_raw_read_unlock_irqrestore'>
+        <parameter type-id='type-id-7381' name='lock' filepath='kernel/locking/spinlock.c' line='254' column='1'/>
+        <parameter type-id='type-id-100' name='flags' filepath='kernel/locking/spinlock.c' line='254' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='_raw_read_unlock_bh' mangled-name='_raw_read_unlock_bh' filepath='kernel/locking/spinlock.c' line='270' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_raw_read_unlock_bh'>
+        <parameter type-id='type-id-7381' name='lock' filepath='kernel/locking/spinlock.c' line='270' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='_raw_write_lock_bh' mangled-name='_raw_write_lock_bh' filepath='kernel/locking/spinlock.c' line='310' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_raw_write_lock_bh'>
+        <parameter type-id='type-id-7381' name='lock' filepath='kernel/locking/spinlock.c' line='310' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='_raw_write_unlock_bh' mangled-name='_raw_write_unlock_bh' filepath='kernel/locking/spinlock.c' line='342' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_raw_write_unlock_bh'>
+        <parameter type-id='type-id-7381' name='lock' filepath='kernel/locking/spinlock.c' line='342' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/module.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-5281' size-in-bits='infinite' id='type-id-7382'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-7383' size-in-bits='infinite' id='type-id-7384'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <class-decl name='module_sect_attr' size-in-bits='576' is-struct='yes' visibility='default' filepath='kernel/module.c' line='1453' column='1' id='type-id-7383'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cmd' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1205' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='so_timestamping' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1206' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='phc_index' type-id='type-id-653' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1207' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='tx_types' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1208' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='tx_reserved' type-id='type-id-933' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1209' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='rx_filters' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1210' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='rx_reserved' type-id='type-id-933' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1211' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ethtool_modinfo' size-in-bits='352' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='356' column='1' id='type-id-1904'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cmd' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='357' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='type' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='358' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='eeprom_len' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='359' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='reserved' type-id='type-id-935' visibility='default' filepath='include/uapi/linux/ethtool.h' line='360' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ethtool_eee' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='334' column='1' id='type-id-1905'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cmd' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='335' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='supported' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='336' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='advertised' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='337' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='lp_advertised' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='338' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='eee_active' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='339' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='eee_enabled' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='340' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='tx_lpi_enabled' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='341' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='tx_lpi_timer' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='342' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='reserved' type-id='type-id-932' visibility='default' filepath='include/uapi/linux/ethtool.h' line='343' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ethtool_tunable' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='248' column='1' id='type-id-1906'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cmd' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='249' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='id' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='250' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='type_id' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='251' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='len' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='252' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='data' type-id='type-id-1213' visibility='default' filepath='include/uapi/linux/ethtool.h' line='253' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ethtool_link_ksettings' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/ethtool.h' line='112' column='1' id='type-id-1907'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='base' type-id='type-id-1908' visibility='default' filepath='include/linux/ethtool.h' line='113' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='link_modes' type-id='type-id-1909' visibility='default' filepath='include/linux/ethtool.h' line='118' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ethtool_link_settings' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1827' column='1' id='type-id-1908'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cmd' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1828' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='speed' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1829' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='duplex' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1830' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='72'>
-          <var-decl name='port' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1831' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='80'>
-          <var-decl name='phy_address' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1832' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='88'>
-          <var-decl name='autoneg' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1833' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='mdio_support' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1834' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='104'>
-          <var-decl name='eth_tp_mdix' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1835' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='112'>
-          <var-decl name='eth_tp_mdix_ctrl' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1836' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='120'>
-          <var-decl name='link_mode_masks_nwords' type-id='type-id-1910' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1837' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='transceiver' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1838' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='136'>
-          <var-decl name='reserved1' type-id='type-id-942' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1839' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='reserved' type-id='type-id-934' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1840' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='link_mode_masks' type-id='type-id-936' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1841' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='__s8' type-id='type-id-1170' filepath='include/uapi/asm-generic/int-ll64.h' line='20' column='1' id='type-id-1910'/>
-      <class-decl name='__anonymous_struct__37' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/ethtool.h' line='114' column='1' id='type-id-1909'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='supported' type-id='type-id-491' visibility='default' filepath='include/linux/ethtool.h' line='115' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='advertising' type-id='type-id-491' visibility='default' filepath='include/linux/ethtool.h' line='116' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='lp_advertising' type-id='type-id-491' visibility='default' filepath='include/linux/ethtool.h' line='117' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ethtool_fecparam' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1276' column='1' id='type-id-1911'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cmd' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1277' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='active_fec' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1279' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='fec' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1280' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='reserved' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/ethtool.h' line='1281' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='header_ops' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='267' column='1' id='type-id-1912'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='create' type-id='type-id-1913' visibility='default' filepath='include/linux/netdevice.h' line='268' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='parse' type-id='type-id-1914' visibility='default' filepath='include/linux/netdevice.h' line='271' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='cache' type-id='type-id-1915' visibility='default' filepath='include/linux/netdevice.h' line='272' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='cache_update' type-id='type-id-1916' visibility='default' filepath='include/linux/netdevice.h' line='273' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='validate' type-id='type-id-1917' visibility='default' filepath='include/linux/netdevice.h' line='276' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='hh_cache' size-in-bits='896' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='241' column='1' id='type-id-1918'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='hh_len' type-id='type-id-5' visibility='default' filepath='include/linux/netdevice.h' line='242' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='hh_lock' type-id='type-id-1919' visibility='default' filepath='include/linux/netdevice.h' line='243' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='hh_data' type-id='type-id-1197' visibility='default' filepath='include/linux/netdevice.h' line='251' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='seqlock_t' type-id='type-id-1920' filepath='include/linux/seqlock.h' line='407' column='1' id='type-id-1919'/>
-      <class-decl name='__anonymous_struct__38' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-1919' visibility='default' filepath='include/linux/seqlock.h' line='404' column='1' id='type-id-1920'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='seqcount' type-id='type-id-1292' visibility='default' filepath='include/linux/seqlock.h' line='405' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='include/linux/seqlock.h' line='406' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='netdev_hw_addr_list' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='221' column='1' id='type-id-1676'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/netdevice.h' line='222' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='count' type-id='type-id-17' visibility='default' filepath='include/linux/netdevice.h' line='223' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='netdev_rx_queue' size-in-bits='1536' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='707' column='1' id='type-id-1921'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='rps_map' type-id='type-id-1922' visibility='default' filepath='include/linux/netdevice.h' line='709' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='rps_flow_table' type-id='type-id-1923' visibility='default' filepath='include/linux/netdevice.h' line='710' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='kobj' type-id='type-id-267' visibility='default' filepath='include/linux/netdevice.h' line='712' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='dev' type-id='type-id-1650' visibility='default' filepath='include/linux/netdevice.h' line='713' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='xdp_rxq' type-id='type-id-1924' visibility='default' filepath='include/linux/netdevice.h' line='714' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='rps_map' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='633' column='1' id='type-id-1925'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='len' type-id='type-id-5' visibility='default' filepath='include/linux/netdevice.h' line='634' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/linux/netdevice.h' line='635' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='cpus' type-id='type-id-1174' visibility='default' filepath='include/linux/netdevice.h' line='636' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='rps_dev_flow_table' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='655' column='1' id='type-id-1926'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mask' type-id='type-id-5' visibility='default' filepath='include/linux/netdevice.h' line='656' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/linux/netdevice.h' line='657' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='flows' type-id='type-id-1169' visibility='default' filepath='include/linux/netdevice.h' line='658' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='rps_dev_flow' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='645' column='1' id='type-id-1168'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cpu' type-id='type-id-688' visibility='default' filepath='include/linux/netdevice.h' line='646' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='filter' type-id='type-id-688' visibility='default' filepath='include/linux/netdevice.h' line='647' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='last_qtail' type-id='type-id-5' visibility='default' filepath='include/linux/netdevice.h' line='648' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='xdp_rxq_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/net/xdp.h' line='59' column='1' id='type-id-1924'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dev' type-id='type-id-1650' visibility='default' filepath='include/net/xdp.h' line='60' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='queue_index' type-id='type-id-7' visibility='default' filepath='include/net/xdp.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='reg_state' type-id='type-id-7' visibility='default' filepath='include/net/xdp.h' line='62' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='mem' type-id='type-id-1838' visibility='default' filepath='include/net/xdp.h' line='63' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='rx_handler_func_t' type-id='type-id-1927' filepath='include/linux/netdevice.h' line='422' column='1' id='type-id-1928'/>
-      <typedef-decl name='rx_handler_result_t' type-id='type-id-1929' filepath='include/linux/netdevice.h' line='421' column='1' id='type-id-1930'/>
-      <enum-decl name='rx_handler_result' filepath='include/linux/netdevice.h' line='415' column='1' id='type-id-1929'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='RX_HANDLER_CONSUMED' value='0'/>
-        <enumerator name='RX_HANDLER_ANOTHER' value='1'/>
-        <enumerator name='RX_HANDLER_EXACT' value='2'/>
-        <enumerator name='RX_HANDLER_PASS' value='3'/>
-      </enum-decl>
-      <class-decl name='mini_Qdisc' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/net/sch_generic.h' line='1097' column='1' id='type-id-1931'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='filter_list' type-id='type-id-1932' visibility='default' filepath='include/net/sch_generic.h' line='1098' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='cpu_bstats' type-id='type-id-1933' visibility='default' filepath='include/net/sch_generic.h' line='1099' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='cpu_qstats' type-id='type-id-1934' visibility='default' filepath='include/net/sch_generic.h' line='1100' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/net/sch_generic.h' line='1101' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='tcf_proto' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/net/sch_generic.h' line='293' column='1' id='type-id-1935'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='next' type-id='type-id-1932' visibility='default' filepath='include/net/sch_generic.h' line='295' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='root' type-id='type-id-15' visibility='default' filepath='include/net/sch_generic.h' line='296' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='classify' type-id='type-id-1936' visibility='default' filepath='include/net/sch_generic.h' line='299' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='protocol' type-id='type-id-926' visibility='default' filepath='include/net/sch_generic.h' line='302' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='prio' type-id='type-id-7' visibility='default' filepath='include/net/sch_generic.h' line='305' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='data' type-id='type-id-15' visibility='default' filepath='include/net/sch_generic.h' line='306' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='ops' type-id='type-id-1937' visibility='default' filepath='include/net/sch_generic.h' line='307' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='chain' type-id='type-id-1938' visibility='default' filepath='include/net/sch_generic.h' line='308' column='1'/>
+          <var-decl name='mattr' type-id='type-id-5895' visibility='default' filepath='kernel/module.c' line='1454' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/net/sch_generic.h' line='309' column='1'/>
+          <var-decl name='name' type-id='type-id-300' visibility='default' filepath='kernel/module.c' line='1455' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='address' type-id='type-id-100' visibility='default' filepath='kernel/module.c' line='1456' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='tcf_result' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/net/sch_generic.h' line='234' column='1' id='type-id-1939'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='' type-id='type-id-1940' visibility='default' filepath='include/net/sch_generic.h' line='235' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__21' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/net/sch_generic.h' line='235' column='1' id='type-id-1940'>
+      <union-decl name='__anonymous_union__4' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='79' column='1' id='type-id-7385'>
         <member-type access='private'>
-          <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/net/sch_generic.h' line='243' column='1' id='type-id-1941'>
+          <class-decl name='__anonymous_struct__' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='138' column='1' id='type-id-7386'>
             <data-member access='public' layout-offset-in-bits='0'>
-              <var-decl name='ingress' type-id='type-id-33' visibility='default' filepath='include/net/sch_generic.h' line='244' column='1'/>
+              <var-decl name='_pt_pad_1' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='139' column='1'/>
             </data-member>
             <data-member access='public' layout-offset-in-bits='64'>
-              <var-decl name='qstats' type-id='type-id-1934' visibility='default' filepath='include/net/sch_generic.h' line='245' column='1'/>
-            </data-member>
-          </class-decl>
-        </member-type>
-        <data-member access='private'>
-          <var-decl name='' type-id='type-id-1942' visibility='default' filepath='include/net/sch_generic.h' line='236' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='goto_tp' type-id='type-id-1943' visibility='default' filepath='include/net/sch_generic.h' line='240' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='__anonymous_struct__39' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/net/sch_generic.h' line='236' column='1' id='type-id-1942'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='class' type-id='type-id-16' visibility='default' filepath='include/net/sch_generic.h' line='237' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='classid' type-id='type-id-7' visibility='default' filepath='include/net/sch_generic.h' line='238' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='gnet_stats_queue' size-in-bits='160' is-struct='yes' visibility='default' filepath='include/uapi/linux/gen_stats.h' line='61' column='1' id='type-id-1944'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='qlen' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/gen_stats.h' line='62' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='backlog' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/gen_stats.h' line='63' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='drops' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/gen_stats.h' line='64' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='requeues' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/gen_stats.h' line='65' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='overlimits' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/gen_stats.h' line='66' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='tcf_proto_ops' size-in-bits='1152' is-struct='yes' visibility='default' filepath='include/net/sch_generic.h' line='252' column='1' id='type-id-1945'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='head' type-id='type-id-20' visibility='default' filepath='include/net/sch_generic.h' line='253' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='kind' type-id='type-id-43' visibility='default' filepath='include/net/sch_generic.h' line='254' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='classify' type-id='type-id-1936' visibility='default' filepath='include/net/sch_generic.h' line='256' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='init' type-id='type-id-1946' visibility='default' filepath='include/net/sch_generic.h' line='259' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='destroy' type-id='type-id-1947' visibility='default' filepath='include/net/sch_generic.h' line='260' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='get' type-id='type-id-1948' visibility='default' filepath='include/net/sch_generic.h' line='263' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='change' type-id='type-id-1949' visibility='default' filepath='include/net/sch_generic.h' line='264' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='delete' type-id='type-id-1950' visibility='default' filepath='include/net/sch_generic.h' line='269' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='walk' type-id='type-id-1951' visibility='default' filepath='include/net/sch_generic.h' line='272' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='reoffload' type-id='type-id-1952' visibility='default' filepath='include/net/sch_generic.h' line='273' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='bind_class' type-id='type-id-1953' visibility='default' filepath='include/net/sch_generic.h' line='276' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='tmplt_create' type-id='type-id-1954' visibility='default' filepath='include/net/sch_generic.h' line='277' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='tmplt_destroy' type-id='type-id-517' visibility='default' filepath='include/net/sch_generic.h' line='281' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='dump' type-id='type-id-1955' visibility='default' filepath='include/net/sch_generic.h' line='284' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='tmplt_dump' type-id='type-id-1956' visibility='default' filepath='include/net/sch_generic.h' line='286' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='owner' type-id='type-id-260' visibility='default' filepath='include/net/sch_generic.h' line='290' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='tc_setup_cb_t' type-id='type-id-1957' filepath='include/net/sch_generic.h' line='23' column='1' id='type-id-1958'/>
-      <class-decl name='tcf_chain' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/net/sch_generic.h' line='322' column='1' id='type-id-1959'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='filter_chain' type-id='type-id-1932' visibility='default' filepath='include/net/sch_generic.h' line='323' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/net/sch_generic.h' line='324' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='block' type-id='type-id-1960' visibility='default' filepath='include/net/sch_generic.h' line='325' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='index' type-id='type-id-7' visibility='default' filepath='include/net/sch_generic.h' line='326' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='refcnt' type-id='type-id-5' visibility='default' filepath='include/net/sch_generic.h' line='327' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='action_refcnt' type-id='type-id-5' visibility='default' filepath='include/net/sch_generic.h' line='328' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='explicitly_created' type-id='type-id-33' visibility='default' filepath='include/net/sch_generic.h' line='329' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='tmplt_ops' type-id='type-id-1937' visibility='default' filepath='include/net/sch_generic.h' line='330' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='tmplt_priv' type-id='type-id-15' visibility='default' filepath='include/net/sch_generic.h' line='331' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='tcf_block' size-in-bits='896' is-struct='yes' visibility='default' filepath='include/net/sch_generic.h' line='334' column='1' id='type-id-1961'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='chain_list' type-id='type-id-20' visibility='default' filepath='include/net/sch_generic.h' line='335' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='index' type-id='type-id-7' visibility='default' filepath='include/net/sch_generic.h' line='336' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='refcnt' type-id='type-id-5' visibility='default' filepath='include/net/sch_generic.h' line='337' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='net' type-id='type-id-1645' visibility='default' filepath='include/net/sch_generic.h' line='338' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='q' type-id='type-id-1687' visibility='default' filepath='include/net/sch_generic.h' line='339' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='cb_list' type-id='type-id-20' visibility='default' filepath='include/net/sch_generic.h' line='340' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='owner_list' type-id='type-id-20' visibility='default' filepath='include/net/sch_generic.h' line='341' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='keep_dst' type-id='type-id-33' visibility='default' filepath='include/net/sch_generic.h' line='342' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='offloadcnt' type-id='type-id-5' visibility='default' filepath='include/net/sch_generic.h' line='343' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='nooffloaddevcnt' type-id='type-id-5' visibility='default' filepath='include/net/sch_generic.h' line='344' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='chain0' type-id='type-id-1962' visibility='default' filepath='include/net/sch_generic.h' line='348' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='Qdisc' size-in-bits='2560' is-struct='yes' visibility='default' filepath='include/net/sch_generic.h' line='57' column='1' id='type-id-1963'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='enqueue' type-id='type-id-1964' visibility='default' filepath='include/net/sch_generic.h' line='58' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='dequeue' type-id='type-id-1965' visibility='default' filepath='include/net/sch_generic.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='include/net/sch_generic.h' line='62' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='limit' type-id='type-id-7' visibility='default' filepath='include/net/sch_generic.h' line='82' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='ops' type-id='type-id-1966' visibility='default' filepath='include/net/sch_generic.h' line='83' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='stab' type-id='type-id-1967' visibility='default' filepath='include/net/sch_generic.h' line='84' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='hash' type-id='type-id-520' visibility='default' filepath='include/net/sch_generic.h' line='85' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='handle' type-id='type-id-7' visibility='default' filepath='include/net/sch_generic.h' line='86' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='parent' type-id='type-id-7' visibility='default' filepath='include/net/sch_generic.h' line='87' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='dev_queue' type-id='type-id-1685' visibility='default' filepath='include/net/sch_generic.h' line='89' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='rate_est' type-id='type-id-1968' visibility='default' filepath='include/net/sch_generic.h' line='91' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='cpu_bstats' type-id='type-id-1933' visibility='default' filepath='include/net/sch_generic.h' line='92' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='cpu_qstats' type-id='type-id-1934' visibility='default' filepath='include/net/sch_generic.h' line='93' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='padded' type-id='type-id-17' visibility='default' filepath='include/net/sch_generic.h' line='94' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='800'>
-          <var-decl name='refcnt' type-id='type-id-421' visibility='default' filepath='include/net/sch_generic.h' line='95' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='gso_skb' type-id='type-id-1661' visibility='default' filepath='include/net/sch_generic.h' line='100' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='q' type-id='type-id-1969' visibility='default' filepath='include/net/sch_generic.h' line='101' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='bstats' type-id='type-id-1970' visibility='default' filepath='include/net/sch_generic.h' line='102' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1504'>
-          <var-decl name='running' type-id='type-id-387' visibility='default' filepath='include/net/sch_generic.h' line='103' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='qstats' type-id='type-id-1944' visibility='default' filepath='include/net/sch_generic.h' line='104' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='state' type-id='type-id-16' visibility='default' filepath='include/net/sch_generic.h' line='105' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='next_sched' type-id='type-id-1687' visibility='default' filepath='include/net/sch_generic.h' line='106' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='skb_bad_txq' type-id='type-id-1661' visibility='default' filepath='include/net/sch_generic.h' line='107' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='busylock' type-id='type-id-247' visibility='default' filepath='include/net/sch_generic.h' line='109' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2080'>
-          <var-decl name='seqlock' type-id='type-id-247' visibility='default' filepath='include/net/sch_generic.h' line='110' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='Qdisc_ops' size-in-bits='1344' is-struct='yes' visibility='default' filepath='include/net/sch_generic.h' line='197' column='1' id='type-id-1971'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='next' type-id='type-id-1972' visibility='default' filepath='include/net/sch_generic.h' line='198' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='cl_ops' type-id='type-id-1973' visibility='default' filepath='include/net/sch_generic.h' line='199' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='id' type-id='type-id-43' visibility='default' filepath='include/net/sch_generic.h' line='200' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='priv_size' type-id='type-id-17' visibility='default' filepath='include/net/sch_generic.h' line='201' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='static_flags' type-id='type-id-5' visibility='default' filepath='include/net/sch_generic.h' line='202' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='enqueue' type-id='type-id-1964' visibility='default' filepath='include/net/sch_generic.h' line='204' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='dequeue' type-id='type-id-1965' visibility='default' filepath='include/net/sch_generic.h' line='207' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='peek' type-id='type-id-1965' visibility='default' filepath='include/net/sch_generic.h' line='208' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='init' type-id='type-id-1974' visibility='default' filepath='include/net/sch_generic.h' line='210' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='reset' type-id='type-id-1975' visibility='default' filepath='include/net/sch_generic.h' line='212' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='destroy' type-id='type-id-1975' visibility='default' filepath='include/net/sch_generic.h' line='213' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='change' type-id='type-id-1974' visibility='default' filepath='include/net/sch_generic.h' line='214' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='attach' type-id='type-id-1975' visibility='default' filepath='include/net/sch_generic.h' line='217' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='change_tx_queue_len' type-id='type-id-1976' visibility='default' filepath='include/net/sch_generic.h' line='218' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='dump' type-id='type-id-1977' visibility='default' filepath='include/net/sch_generic.h' line='220' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='dump_stats' type-id='type-id-1978' visibility='default' filepath='include/net/sch_generic.h' line='221' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='ingress_block_set' type-id='type-id-1979' visibility='default' filepath='include/net/sch_generic.h' line='223' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='egress_block_set' type-id='type-id-1979' visibility='default' filepath='include/net/sch_generic.h' line='225' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='ingress_block_get' type-id='type-id-1980' visibility='default' filepath='include/net/sch_generic.h' line='227' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='egress_block_get' type-id='type-id-1980' visibility='default' filepath='include/net/sch_generic.h' line='228' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='owner' type-id='type-id-260' visibility='default' filepath='include/net/sch_generic.h' line='230' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='Qdisc_class_ops' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/net/sch_generic.h' line='165' column='1' id='type-id-1981'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='select_queue' type-id='type-id-1982' visibility='default' filepath='include/net/sch_generic.h' line='167' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='graft' type-id='type-id-1983' visibility='default' filepath='include/net/sch_generic.h' line='168' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='leaf' type-id='type-id-1984' visibility='default' filepath='include/net/sch_generic.h' line='171' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='qlen_notify' type-id='type-id-1985' visibility='default' filepath='include/net/sch_generic.h' line='172' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='find' type-id='type-id-1986' visibility='default' filepath='include/net/sch_generic.h' line='175' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='change' type-id='type-id-1987' visibility='default' filepath='include/net/sch_generic.h' line='176' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='delete' type-id='type-id-1988' visibility='default' filepath='include/net/sch_generic.h' line='179' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='walk' type-id='type-id-1989' visibility='default' filepath='include/net/sch_generic.h' line='180' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='tcf_block' type-id='type-id-1990' visibility='default' filepath='include/net/sch_generic.h' line='183' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='bind_tcf' type-id='type-id-1991' visibility='default' filepath='include/net/sch_generic.h' line='186' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='unbind_tcf' type-id='type-id-1985' visibility='default' filepath='include/net/sch_generic.h' line='188' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='dump' type-id='type-id-1992' visibility='default' filepath='include/net/sch_generic.h' line='191' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='dump_stats' type-id='type-id-1993' visibility='default' filepath='include/net/sch_generic.h' line='193' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='netdev_queue' size-in-bits='2560' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='564' column='1' id='type-id-1994'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dev' type-id='type-id-1650' visibility='default' filepath='include/linux/netdevice.h' line='568' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='qdisc' type-id='type-id-1687' visibility='default' filepath='include/linux/netdevice.h' line='569' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='qdisc_sleeping' type-id='type-id-1687' visibility='default' filepath='include/linux/netdevice.h' line='570' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='kobj' type-id='type-id-267' visibility='default' filepath='include/linux/netdevice.h' line='572' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='tx_maxrate' type-id='type-id-16' visibility='default' filepath='include/linux/netdevice.h' line='577' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='trans_timeout' type-id='type-id-16' visibility='default' filepath='include/linux/netdevice.h' line='582' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='sb_dev' type-id='type-id-1650' visibility='default' filepath='include/linux/netdevice.h' line='585' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='_xmit_lock' type-id='type-id-247' visibility='default' filepath='include/linux/netdevice.h' line='589' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1056'>
-          <var-decl name='xmit_lock_owner' type-id='type-id-17' visibility='default' filepath='include/linux/netdevice.h' line='590' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='trans_start' type-id='type-id-16' visibility='default' filepath='include/linux/netdevice.h' line='594' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='state' type-id='type-id-16' visibility='default' filepath='include/linux/netdevice.h' line='596' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='dql' type-id='type-id-1995' visibility='default' filepath='include/linux/netdevice.h' line='599' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='dql' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/linux/dynamic_queue_limits.h' line='41' column='1' id='type-id-1995'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='num_queued' type-id='type-id-5' visibility='default' filepath='include/linux/dynamic_queue_limits.h' line='43' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='adj_limit' type-id='type-id-5' visibility='default' filepath='include/linux/dynamic_queue_limits.h' line='44' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='last_obj_cnt' type-id='type-id-5' visibility='default' filepath='include/linux/dynamic_queue_limits.h' line='45' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='limit' type-id='type-id-5' visibility='default' filepath='include/linux/dynamic_queue_limits.h' line='49' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='num_completed' type-id='type-id-5' visibility='default' filepath='include/linux/dynamic_queue_limits.h' line='50' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='prev_ovlimit' type-id='type-id-5' visibility='default' filepath='include/linux/dynamic_queue_limits.h' line='52' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='prev_num_queued' type-id='type-id-5' visibility='default' filepath='include/linux/dynamic_queue_limits.h' line='53' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='prev_last_obj_cnt' type-id='type-id-5' visibility='default' filepath='include/linux/dynamic_queue_limits.h' line='54' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='672'>
-          <var-decl name='lowest_slack' type-id='type-id-5' visibility='default' filepath='include/linux/dynamic_queue_limits.h' line='56' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='slack_start_time' type-id='type-id-16' visibility='default' filepath='include/linux/dynamic_queue_limits.h' line='57' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='max_limit' type-id='type-id-5' visibility='default' filepath='include/linux/dynamic_queue_limits.h' line='60' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='800'>
-          <var-decl name='min_limit' type-id='type-id-5' visibility='default' filepath='include/linux/dynamic_queue_limits.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='slack_hold_time' type-id='type-id-5' visibility='default' filepath='include/linux/dynamic_queue_limits.h' line='62' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='tcmsg' size-in-bits='160' is-struct='yes' visibility='default' filepath='include/uapi/linux/rtnetlink.h' line='552' column='1' id='type-id-1996'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='tcm_family' type-id='type-id-216' visibility='default' filepath='include/uapi/linux/rtnetlink.h' line='553' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='tcm__pad1' type-id='type-id-216' visibility='default' filepath='include/uapi/linux/rtnetlink.h' line='554' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='tcm__pad2' type-id='type-id-312' visibility='default' filepath='include/uapi/linux/rtnetlink.h' line='555' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='tcm_ifindex' type-id='type-id-17' visibility='default' filepath='include/uapi/linux/rtnetlink.h' line='556' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='tcm_handle' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/rtnetlink.h' line='557' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='tcm_parent' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/rtnetlink.h' line='558' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='tcm_info' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/rtnetlink.h' line='563' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='gnet_dump' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/net/gen_stats.h' line='17' column='1' id='type-id-1997'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lock' type-id='type-id-486' visibility='default' filepath='include/net/gen_stats.h' line='18' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='skb' type-id='type-id-1768' visibility='default' filepath='include/net/gen_stats.h' line='19' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='tail' type-id='type-id-1998' visibility='default' filepath='include/net/gen_stats.h' line='20' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='compat_tc_stats' type-id='type-id-17' visibility='default' filepath='include/net/gen_stats.h' line='23' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='compat_xstats' type-id='type-id-17' visibility='default' filepath='include/net/gen_stats.h' line='24' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='padattr' type-id='type-id-17' visibility='default' filepath='include/net/gen_stats.h' line='25' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='xstats' type-id='type-id-15' visibility='default' filepath='include/net/gen_stats.h' line='26' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='xstats_len' type-id='type-id-17' visibility='default' filepath='include/net/gen_stats.h' line='27' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='tc_stats' type-id='type-id-1999' visibility='default' filepath='include/net/gen_stats.h' line='28' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='tc_stats' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/uapi/linux/pkt_sched.h' line='33' column='1' id='type-id-1999'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bytes' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/pkt_sched.h' line='34' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='packets' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/pkt_sched.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='drops' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/pkt_sched.h' line='36' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='overlimits' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/pkt_sched.h' line='37' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='bps' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/pkt_sched.h' line='39' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='pps' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/pkt_sched.h' line='40' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='qlen' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/pkt_sched.h' line='41' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='backlog' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/pkt_sched.h' line='42' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='qdisc_size_table' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/net/sch_generic.h' line='38' column='1' id='type-id-2000'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/net/sch_generic.h' line='39' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/net/sch_generic.h' line='40' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='szopts' type-id='type-id-2001' visibility='default' filepath='include/net/sch_generic.h' line='41' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='refcnt' type-id='type-id-17' visibility='default' filepath='include/net/sch_generic.h' line='42' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='data' type-id='type-id-1174' visibility='default' filepath='include/net/sch_generic.h' line='43' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='tc_sizespec' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/uapi/linux/pkt_sched.h' line='101' column='1' id='type-id-2001'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cell_log' type-id='type-id-216' visibility='default' filepath='include/uapi/linux/pkt_sched.h' line='102' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='size_log' type-id='type-id-216' visibility='default' filepath='include/uapi/linux/pkt_sched.h' line='103' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='cell_align' type-id='type-id-261' visibility='default' filepath='include/uapi/linux/pkt_sched.h' line='104' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='overhead' type-id='type-id-17' visibility='default' filepath='include/uapi/linux/pkt_sched.h' line='105' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='linklayer' type-id='type-id-5' visibility='default' filepath='include/uapi/linux/pkt_sched.h' line='106' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='mpu' type-id='type-id-5' visibility='default' filepath='include/uapi/linux/pkt_sched.h' line='107' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='mtu' type-id='type-id-5' visibility='default' filepath='include/uapi/linux/pkt_sched.h' line='108' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='tsize' type-id='type-id-5' visibility='default' filepath='include/uapi/linux/pkt_sched.h' line='109' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='gnet_stats_basic_cpu' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/net/gen_stats.h' line='10' column='1' id='type-id-2002'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bstats' type-id='type-id-1970' visibility='default' filepath='include/net/gen_stats.h' line='11' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='syncp' type-id='type-id-2003' visibility='default' filepath='include/net/gen_stats.h' line='12' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='gnet_stats_basic_packed' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/uapi/linux/gen_stats.h' line='28' column='1' id='type-id-1970'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bytes' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/gen_stats.h' line='29' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='packets' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/gen_stats.h' line='30' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='u64_stats_sync' is-struct='yes' visibility='default' filepath='include/linux/u64_stats_sync.h' line='65' column='1' id='type-id-2003'/>
-      <class-decl name='sk_buff_head' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/skbuff.h' line='283' column='1' id='type-id-1661'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='next' type-id='type-id-1768' visibility='default' filepath='include/linux/skbuff.h' line='285' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='prev' type-id='type-id-1768' visibility='default' filepath='include/linux/skbuff.h' line='286' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='qlen' type-id='type-id-511' visibility='default' filepath='include/linux/skbuff.h' line='288' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='include/linux/skbuff.h' line='289' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='qdisc_skb_head' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/net/sch_generic.h' line='47' column='1' id='type-id-1969'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='head' type-id='type-id-1768' visibility='default' filepath='include/net/sch_generic.h' line='48' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='tail' type-id='type-id-1768' visibility='default' filepath='include/net/sch_generic.h' line='49' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='' type-id='type-id-2004' visibility='default' filepath='include/net/sch_generic.h' line='50' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='include/net/sch_generic.h' line='54' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__22' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/net/sch_generic.h' line='50' column='1' id='type-id-2004'>
-        <data-member access='private'>
-          <var-decl name='qlen' type-id='type-id-7' visibility='default' filepath='include/net/sch_generic.h' line='51' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='atomic_qlen' type-id='type-id-26' visibility='default' filepath='include/net/sch_generic.h' line='52' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='__anonymous_struct__40' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/net/sch_generic.h' line='345' column='1' id='type-id-1962'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='chain' type-id='type-id-1938' visibility='default' filepath='include/net/sch_generic.h' line='346' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='filter_chain_list' type-id='type-id-20' visibility='default' filepath='include/net/sch_generic.h' line='347' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='xps_dev_maps' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='745' column='1' id='type-id-2005'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/linux/netdevice.h' line='746' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='attr_map' type-id='type-id-1217' visibility='default' filepath='include/linux/netdevice.h' line='747' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='xps_map' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='732' column='1' id='type-id-2006'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='len' type-id='type-id-5' visibility='default' filepath='include/linux/netdevice.h' line='733' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='alloc_len' type-id='type-id-5' visibility='default' filepath='include/linux/netdevice.h' line='734' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/linux/netdevice.h' line='735' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='queues' type-id='type-id-1174' visibility='default' filepath='include/linux/netdevice.h' line='736' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='timer_list' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/timer.h' line='11' column='1' id='type-id-417'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='entry' type-id='type-id-520' visibility='default' filepath='include/linux/timer.h' line='16' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='expires' type-id='type-id-16' visibility='default' filepath='include/linux/timer.h' line='17' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='function' type-id='type-id-2007' visibility='default' filepath='include/linux/timer.h' line='18' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='flags' type-id='type-id-7' visibility='default' filepath='include/linux/timer.h' line='19' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='__anonymous_enum__' is-anonymous='yes' filepath='include/linux/netdevice.h' line='1964' column='1' id='type-id-1689'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='NETREG_UNINITIALIZED' value='0'/>
-        <enumerator name='NETREG_REGISTERED' value='1'/>
-        <enumerator name='NETREG_UNREGISTERING' value='2'/>
-        <enumerator name='NETREG_UNREGISTERED' value='3'/>
-        <enumerator name='NETREG_RELEASED' value='4'/>
-        <enumerator name='NETREG_DUMMY' value='5'/>
-      </enum-decl>
-      <enum-decl name='__anonymous_enum__1' is-anonymous='yes' filepath='include/linux/netdevice.h' line='1974' column='1' id='type-id-1690'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='RTNL_LINK_INITIALIZED' value='0'/>
-        <enumerator name='RTNL_LINK_INITIALIZING' value='1'/>
-      </enum-decl>
-      <typedef-decl name='possible_net_t' type-id='type-id-2008' filepath='include/net/net_namespace.h' line='288' column='1' id='type-id-1692'/>
-      <class-decl name='__anonymous_struct__41' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-1692' visibility='default' filepath='include/net/net_namespace.h' line='284' column='1' id='type-id-2008'/>
-      <class-decl name='pcpu_sw_netstats' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='2368' column='1' id='type-id-2009'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='rx_packets' type-id='type-id-40' visibility='default' filepath='include/linux/netdevice.h' line='2369' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='rx_bytes' type-id='type-id-40' visibility='default' filepath='include/linux/netdevice.h' line='2370' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='tx_packets' type-id='type-id-40' visibility='default' filepath='include/linux/netdevice.h' line='2371' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='tx_bytes' type-id='type-id-40' visibility='default' filepath='include/linux/netdevice.h' line='2372' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='syncp' type-id='type-id-2003' visibility='default' filepath='include/linux/netdevice.h' line='2373' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='device' size-in-bits='6208' is-struct='yes' visibility='default' filepath='include/linux/device.h' line='991' column='1' id='type-id-388'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='parent' type-id='type-id-240' visibility='default' filepath='include/linux/device.h' line='992' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='p' type-id='type-id-2010' visibility='default' filepath='include/linux/device.h' line='994' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='kobj' type-id='type-id-267' visibility='default' filepath='include/linux/device.h' line='996' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='init_name' type-id='type-id-4' visibility='default' filepath='include/linux/device.h' line='997' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='type' type-id='type-id-2011' visibility='default' filepath='include/linux/device.h' line='998' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='mutex' type-id='type-id-245' visibility='default' filepath='include/linux/device.h' line='1000' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='bus' type-id='type-id-2012' visibility='default' filepath='include/linux/device.h' line='1004' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='driver' type-id='type-id-2013' visibility='default' filepath='include/linux/device.h' line='1005' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='platform_data' type-id='type-id-15' visibility='default' filepath='include/linux/device.h' line='1007' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='driver_data' type-id='type-id-15' visibility='default' filepath='include/linux/device.h' line='1009' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='links' type-id='type-id-2014' visibility='default' filepath='include/linux/device.h' line='1011' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='power' type-id='type-id-2015' visibility='default' filepath='include/linux/device.h' line='1012' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4096'>
-          <var-decl name='pm_domain' type-id='type-id-2016' visibility='default' filepath='include/linux/device.h' line='1013' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4160'>
-          <var-decl name='msi_domain' type-id='type-id-2017' visibility='default' filepath='include/linux/device.h' line='1016' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4224'>
-          <var-decl name='pins' type-id='type-id-2018' visibility='default' filepath='include/linux/device.h' line='1019' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4288'>
-          <var-decl name='msi_list' type-id='type-id-20' visibility='default' filepath='include/linux/device.h' line='1022' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4416'>
-          <var-decl name='dma_ops' type-id='type-id-2019' visibility='default' filepath='include/linux/device.h' line='1028' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4480'>
-          <var-decl name='dma_mask' type-id='type-id-1510' visibility='default' filepath='include/linux/device.h' line='1029' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4544'>
-          <var-decl name='coherent_dma_mask' type-id='type-id-40' visibility='default' filepath='include/linux/device.h' line='1030' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4608'>
-          <var-decl name='bus_dma_mask' type-id='type-id-40' visibility='default' filepath='include/linux/device.h' line='1035' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4672'>
-          <var-decl name='dma_pfn_offset' type-id='type-id-16' visibility='default' filepath='include/linux/device.h' line='1036' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4736'>
-          <var-decl name='dma_parms' type-id='type-id-2020' visibility='default' filepath='include/linux/device.h' line='1038' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4800'>
-          <var-decl name='dma_pools' type-id='type-id-20' visibility='default' filepath='include/linux/device.h' line='1040' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4928'>
-          <var-decl name='dma_mem' type-id='type-id-2021' visibility='default' filepath='include/linux/device.h' line='1042' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4992'>
-          <var-decl name='cma_area' type-id='type-id-2022' visibility='default' filepath='include/linux/device.h' line='1045' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5056'>
-          <var-decl name='archdata' type-id='type-id-2023' visibility='default' filepath='include/linux/device.h' line='1049' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5184'>
-          <var-decl name='of_node' type-id='type-id-2024' visibility='default' filepath='include/linux/device.h' line='1051' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5248'>
-          <var-decl name='fwnode' type-id='type-id-2025' visibility='default' filepath='include/linux/device.h' line='1052' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5312'>
-          <var-decl name='devt' type-id='type-id-269' visibility='default' filepath='include/linux/device.h' line='1054' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5344'>
-          <var-decl name='id' type-id='type-id-7' visibility='default' filepath='include/linux/device.h' line='1055' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5376'>
-          <var-decl name='devres_lock' type-id='type-id-247' visibility='default' filepath='include/linux/device.h' line='1057' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5440'>
-          <var-decl name='devres_head' type-id='type-id-20' visibility='default' filepath='include/linux/device.h' line='1058' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5568'>
-          <var-decl name='knode_class' type-id='type-id-2026' visibility='default' filepath='include/linux/device.h' line='1060' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5824'>
-          <var-decl name='class' type-id='type-id-2027' visibility='default' filepath='include/linux/device.h' line='1061' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5888'>
-          <var-decl name='groups' type-id='type-id-665' visibility='default' filepath='include/linux/device.h' line='1062' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5952'>
-          <var-decl name='release' type-id='type-id-2028' visibility='default' filepath='include/linux/device.h' line='1064' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6016'>
-          <var-decl name='iommu_group' type-id='type-id-2029' visibility='default' filepath='include/linux/device.h' line='1065' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6080'>
-          <var-decl name='iommu_fwspec' type-id='type-id-2030' visibility='default' filepath='include/linux/device.h' line='1066' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7'>
-          <var-decl name='offline_disabled' type-id='type-id-33' visibility='default' filepath='include/linux/device.h' line='1068' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6'>
-          <var-decl name='offline' type-id='type-id-33' visibility='default' filepath='include/linux/device.h' line='1069' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5'>
-          <var-decl name='of_node_reused' type-id='type-id-33' visibility='default' filepath='include/linux/device.h' line='1070' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4'>
-          <var-decl name='state_synced' type-id='type-id-33' visibility='default' filepath='include/linux/device.h' line='1071' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='device_type' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/device.h' line='568' column='1' id='type-id-2031'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/device.h' line='569' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='groups' type-id='type-id-665' visibility='default' filepath='include/linux/device.h' line='570' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='uevent' type-id='type-id-2032' visibility='default' filepath='include/linux/device.h' line='571' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='devnode' type-id='type-id-2033' visibility='default' filepath='include/linux/device.h' line='572' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='release' type-id='type-id-2028' visibility='default' filepath='include/linux/device.h' line='574' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='pm' type-id='type-id-2034' visibility='default' filepath='include/linux/device.h' line='576' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='attribute_group' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/sysfs.h' line='84' column='1' id='type-id-2035'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/sysfs.h' line='85' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='is_visible' type-id='type-id-2036' visibility='default' filepath='include/linux/sysfs.h' line='86' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='is_bin_visible' type-id='type-id-2037' visibility='default' filepath='include/linux/sysfs.h' line='88' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='attrs' type-id='type-id-1414' visibility='default' filepath='include/linux/sysfs.h' line='90' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='bin_attrs' type-id='type-id-2038' visibility='default' filepath='include/linux/sysfs.h' line='91' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='bin_attribute' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/sysfs.h' line='161' column='1' id='type-id-2039'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='attr' type-id='type-id-619' visibility='default' filepath='include/linux/sysfs.h' line='162' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='size' type-id='type-id-84' visibility='default' filepath='include/linux/sysfs.h' line='163' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='private' type-id='type-id-15' visibility='default' filepath='include/linux/sysfs.h' line='164' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='read' type-id='type-id-2040' visibility='default' filepath='include/linux/sysfs.h' line='165' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='write' type-id='type-id-2040' visibility='default' filepath='include/linux/sysfs.h' line='167' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='mmap' type-id='type-id-2041' visibility='default' filepath='include/linux/sysfs.h' line='169' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='dev_pm_ops' size-in-bits='1472' is-struct='yes' visibility='default' filepath='include/linux/pm.h' line='290' column='1' id='type-id-2042'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='prepare' type-id='type-id-2043' visibility='default' filepath='include/linux/pm.h' line='291' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='complete' type-id='type-id-2028' visibility='default' filepath='include/linux/pm.h' line='292' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='suspend' type-id='type-id-2043' visibility='default' filepath='include/linux/pm.h' line='293' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='resume' type-id='type-id-2043' visibility='default' filepath='include/linux/pm.h' line='294' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='freeze' type-id='type-id-2043' visibility='default' filepath='include/linux/pm.h' line='295' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='thaw' type-id='type-id-2043' visibility='default' filepath='include/linux/pm.h' line='296' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='poweroff' type-id='type-id-2043' visibility='default' filepath='include/linux/pm.h' line='297' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='restore' type-id='type-id-2043' visibility='default' filepath='include/linux/pm.h' line='298' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='suspend_late' type-id='type-id-2043' visibility='default' filepath='include/linux/pm.h' line='299' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='resume_early' type-id='type-id-2043' visibility='default' filepath='include/linux/pm.h' line='300' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='freeze_late' type-id='type-id-2043' visibility='default' filepath='include/linux/pm.h' line='301' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='thaw_early' type-id='type-id-2043' visibility='default' filepath='include/linux/pm.h' line='302' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='poweroff_late' type-id='type-id-2043' visibility='default' filepath='include/linux/pm.h' line='303' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='restore_early' type-id='type-id-2043' visibility='default' filepath='include/linux/pm.h' line='304' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='suspend_noirq' type-id='type-id-2043' visibility='default' filepath='include/linux/pm.h' line='305' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='resume_noirq' type-id='type-id-2043' visibility='default' filepath='include/linux/pm.h' line='306' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='freeze_noirq' type-id='type-id-2043' visibility='default' filepath='include/linux/pm.h' line='307' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='thaw_noirq' type-id='type-id-2043' visibility='default' filepath='include/linux/pm.h' line='308' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='poweroff_noirq' type-id='type-id-2043' visibility='default' filepath='include/linux/pm.h' line='309' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='restore_noirq' type-id='type-id-2043' visibility='default' filepath='include/linux/pm.h' line='310' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='runtime_suspend' type-id='type-id-2043' visibility='default' filepath='include/linux/pm.h' line='311' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='runtime_resume' type-id='type-id-2043' visibility='default' filepath='include/linux/pm.h' line='312' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='runtime_idle' type-id='type-id-2043' visibility='default' filepath='include/linux/pm.h' line='313' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='bus_type' size-in-bits='1408' is-struct='yes' visibility='default' filepath='include/linux/device.h' line='121' column='1' id='type-id-2044'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/device.h' line='122' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='dev_name' type-id='type-id-4' visibility='default' filepath='include/linux/device.h' line='123' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='dev_root' type-id='type-id-240' visibility='default' filepath='include/linux/device.h' line='124' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='bus_groups' type-id='type-id-665' visibility='default' filepath='include/linux/device.h' line='125' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='dev_groups' type-id='type-id-665' visibility='default' filepath='include/linux/device.h' line='126' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='drv_groups' type-id='type-id-665' visibility='default' filepath='include/linux/device.h' line='127' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='match' type-id='type-id-2045' visibility='default' filepath='include/linux/device.h' line='129' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='uevent' type-id='type-id-2032' visibility='default' filepath='include/linux/device.h' line='130' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='probe' type-id='type-id-2043' visibility='default' filepath='include/linux/device.h' line='131' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='sync_state' type-id='type-id-2028' visibility='default' filepath='include/linux/device.h' line='132' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='remove' type-id='type-id-2043' visibility='default' filepath='include/linux/device.h' line='133' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='shutdown' type-id='type-id-2028' visibility='default' filepath='include/linux/device.h' line='134' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='online' type-id='type-id-2043' visibility='default' filepath='include/linux/device.h' line='136' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='offline' type-id='type-id-2043' visibility='default' filepath='include/linux/device.h' line='137' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='suspend' type-id='type-id-2046' visibility='default' filepath='include/linux/device.h' line='139' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='resume' type-id='type-id-2043' visibility='default' filepath='include/linux/device.h' line='140' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='num_vf' type-id='type-id-2043' visibility='default' filepath='include/linux/device.h' line='142' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='dma_configure' type-id='type-id-2043' visibility='default' filepath='include/linux/device.h' line='144' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='pm' type-id='type-id-2034' visibility='default' filepath='include/linux/device.h' line='146' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='iommu_ops' type-id='type-id-2047' visibility='default' filepath='include/linux/device.h' line='148' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='p' type-id='type-id-2048' visibility='default' filepath='include/linux/device.h' line='150' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='lock_key' type-id='type-id-1146' visibility='default' filepath='include/linux/device.h' line='151' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='need_parent_lock' type-id='type-id-33' visibility='default' filepath='include/linux/device.h' line='153' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='device_driver' size-in-bits='1088' is-struct='yes' visibility='default' filepath='include/linux/device.h' line='292' column='1' id='type-id-2049'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/device.h' line='293' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='bus' type-id='type-id-2012' visibility='default' filepath='include/linux/device.h' line='294' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='owner' type-id='type-id-260' visibility='default' filepath='include/linux/device.h' line='296' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='mod_name' type-id='type-id-4' visibility='default' filepath='include/linux/device.h' line='297' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='suppress_bind_attrs' type-id='type-id-33' visibility='default' filepath='include/linux/device.h' line='299' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='probe_type' type-id='type-id-2050' visibility='default' filepath='include/linux/device.h' line='300' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='of_match_table' type-id='type-id-2051' visibility='default' filepath='include/linux/device.h' line='302' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='acpi_match_table' type-id='type-id-2052' visibility='default' filepath='include/linux/device.h' line='303' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='probe' type-id='type-id-2043' visibility='default' filepath='include/linux/device.h' line='305' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='sync_state' type-id='type-id-2028' visibility='default' filepath='include/linux/device.h' line='306' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='remove' type-id='type-id-2043' visibility='default' filepath='include/linux/device.h' line='307' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='shutdown' type-id='type-id-2028' visibility='default' filepath='include/linux/device.h' line='308' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='suspend' type-id='type-id-2046' visibility='default' filepath='include/linux/device.h' line='309' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='resume' type-id='type-id-2043' visibility='default' filepath='include/linux/device.h' line='310' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='groups' type-id='type-id-665' visibility='default' filepath='include/linux/device.h' line='311' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='pm' type-id='type-id-2034' visibility='default' filepath='include/linux/device.h' line='313' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='coredump' type-id='type-id-2028' visibility='default' filepath='include/linux/device.h' line='314' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='p' type-id='type-id-2053' visibility='default' filepath='include/linux/device.h' line='316' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='probe_type' filepath='include/linux/device.h' line='243' column='1' id='type-id-2050'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='PROBE_DEFAULT_STRATEGY' value='0'/>
-        <enumerator name='PROBE_PREFER_ASYNCHRONOUS' value='1'/>
-        <enumerator name='PROBE_FORCE_SYNCHRONOUS' value='2'/>
-      </enum-decl>
-      <typedef-decl name='pm_message_t' type-id='type-id-2054' filepath='include/linux/pm.h' line='64' column='1' id='type-id-2055'/>
-      <class-decl name='pm_message' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/linux/pm.h' line='62' column='1' id='type-id-2054'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='event' type-id='type-id-17' visibility='default' filepath='include/linux/pm.h' line='63' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='lock_class_key' is-struct='yes' visibility='default' filepath='include/linux/lockdep.h' line='433' column='1' id='type-id-1146'/>
-      <class-decl name='dev_links_info' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/device.h' line='901' column='1' id='type-id-2014'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='suppliers' type-id='type-id-20' visibility='default' filepath='include/linux/device.h' line='902' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='consumers' type-id='type-id-20' visibility='default' filepath='include/linux/device.h' line='903' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='needs_suppliers' type-id='type-id-20' visibility='default' filepath='include/linux/device.h' line='904' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='defer_sync' type-id='type-id-20' visibility='default' filepath='include/linux/device.h' line='905' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='need_for_probe' type-id='type-id-33' visibility='default' filepath='include/linux/device.h' line='906' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='status' type-id='type-id-2056' visibility='default' filepath='include/linux/device.h' line='907' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='dl_dev_state' filepath='include/linux/device.h' line='884' column='1' id='type-id-2056'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='DL_DEV_NO_DRIVER' value='0'/>
-        <enumerator name='DL_DEV_PROBING' value='1'/>
-        <enumerator name='DL_DEV_DRIVER_BOUND' value='2'/>
-        <enumerator name='DL_DEV_UNBINDING' value='3'/>
-      </enum-decl>
-      <class-decl name='dev_pm_info' size-in-bits='2240' is-struct='yes' visibility='default' filepath='include/linux/pm.h' line='585' column='1' id='type-id-2015'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='power_state' type-id='type-id-2055' visibility='default' filepath='include/linux/pm.h' line='586' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='31'>
-          <var-decl name='can_wakeup' type-id='type-id-5' visibility='default' filepath='include/linux/pm.h' line='587' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='30'>
-          <var-decl name='async_suspend' type-id='type-id-5' visibility='default' filepath='include/linux/pm.h' line='588' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5'>
-          <var-decl name='in_dpm_list' type-id='type-id-33' visibility='default' filepath='include/linux/pm.h' line='589' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4'>
-          <var-decl name='is_prepared' type-id='type-id-33' visibility='default' filepath='include/linux/pm.h' line='590' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3'>
-          <var-decl name='is_suspended' type-id='type-id-33' visibility='default' filepath='include/linux/pm.h' line='591' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2'>
-          <var-decl name='is_noirq_suspended' type-id='type-id-33' visibility='default' filepath='include/linux/pm.h' line='592' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1'>
-          <var-decl name='is_late_suspended' type-id='type-id-33' visibility='default' filepath='include/linux/pm.h' line='593' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='no_pm' type-id='type-id-33' visibility='default' filepath='include/linux/pm.h' line='594' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7'>
-          <var-decl name='early_init' type-id='type-id-33' visibility='default' filepath='include/linux/pm.h' line='595' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6'>
-          <var-decl name='direct_complete' type-id='type-id-33' visibility='default' filepath='include/linux/pm.h' line='596' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='driver_flags' type-id='type-id-7' visibility='default' filepath='include/linux/pm.h' line='597' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='include/linux/pm.h' line='598' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='entry' type-id='type-id-20' visibility='default' filepath='include/linux/pm.h' line='600' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='completion' type-id='type-id-1608' visibility='default' filepath='include/linux/pm.h' line='601' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='wakeup' type-id='type-id-2057' visibility='default' filepath='include/linux/pm.h' line='602' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7'>
-          <var-decl name='wakeup_path' type-id='type-id-33' visibility='default' filepath='include/linux/pm.h' line='603' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6'>
-          <var-decl name='syscore' type-id='type-id-33' visibility='default' filepath='include/linux/pm.h' line='604' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5'>
-          <var-decl name='no_pm_callbacks' type-id='type-id-33' visibility='default' filepath='include/linux/pm.h' line='605' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='28'>
-          <var-decl name='must_resume' type-id='type-id-5' visibility='default' filepath='include/linux/pm.h' line='606' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='27'>
-          <var-decl name='may_skip_resume' type-id='type-id-5' visibility='default' filepath='include/linux/pm.h' line='607' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='suspend_timer' type-id='type-id-417' visibility='default' filepath='include/linux/pm.h' line='612' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='timer_expires' type-id='type-id-16' visibility='default' filepath='include/linux/pm.h' line='613' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='work' type-id='type-id-255' visibility='default' filepath='include/linux/pm.h' line='614' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='wait_queue' type-id='type-id-225' visibility='default' filepath='include/linux/pm.h' line='615' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='wakeirq' type-id='type-id-2058' visibility='default' filepath='include/linux/pm.h' line='616' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='usage_count' type-id='type-id-26' visibility='default' filepath='include/linux/pm.h' line='617' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1568'>
-          <var-decl name='child_count' type-id='type-id-26' visibility='default' filepath='include/linux/pm.h' line='618' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='29'>
-          <var-decl name='disable_depth' type-id='type-id-5' visibility='default' filepath='include/linux/pm.h' line='619' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='28'>
-          <var-decl name='idle_notification' type-id='type-id-5' visibility='default' filepath='include/linux/pm.h' line='620' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='27'>
-          <var-decl name='request_pending' type-id='type-id-5' visibility='default' filepath='include/linux/pm.h' line='621' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='26'>
-          <var-decl name='deferred_resume' type-id='type-id-5' visibility='default' filepath='include/linux/pm.h' line='622' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='25'>
-          <var-decl name='runtime_auto' type-id='type-id-5' visibility='default' filepath='include/linux/pm.h' line='623' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='ignore_children' type-id='type-id-33' visibility='default' filepath='include/linux/pm.h' line='624' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='23'>
-          <var-decl name='no_callbacks' type-id='type-id-5' visibility='default' filepath='include/linux/pm.h' line='625' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='22'>
-          <var-decl name='irq_safe' type-id='type-id-5' visibility='default' filepath='include/linux/pm.h' line='626' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='21'>
-          <var-decl name='use_autosuspend' type-id='type-id-5' visibility='default' filepath='include/linux/pm.h' line='627' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='20'>
-          <var-decl name='timer_autosuspends' type-id='type-id-5' visibility='default' filepath='include/linux/pm.h' line='628' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='19'>
-          <var-decl name='memalloc_noio' type-id='type-id-5' visibility='default' filepath='include/linux/pm.h' line='629' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1632'>
-          <var-decl name='links_count' type-id='type-id-5' visibility='default' filepath='include/linux/pm.h' line='630' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='request' type-id='type-id-2059' visibility='default' filepath='include/linux/pm.h' line='631' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1696'>
-          <var-decl name='runtime_status' type-id='type-id-2060' visibility='default' filepath='include/linux/pm.h' line='632' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='runtime_error' type-id='type-id-17' visibility='default' filepath='include/linux/pm.h' line='633' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1760'>
-          <var-decl name='autosuspend_delay' type-id='type-id-17' visibility='default' filepath='include/linux/pm.h' line='634' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='last_busy' type-id='type-id-16' visibility='default' filepath='include/linux/pm.h' line='635' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='active_jiffies' type-id='type-id-16' visibility='default' filepath='include/linux/pm.h' line='636' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='suspended_jiffies' type-id='type-id-16' visibility='default' filepath='include/linux/pm.h' line='637' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='accounting_timestamp' type-id='type-id-16' visibility='default' filepath='include/linux/pm.h' line='638' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='subsys_data' type-id='type-id-2061' visibility='default' filepath='include/linux/pm.h' line='640' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='set_latency_tolerance' type-id='type-id-2062' visibility='default' filepath='include/linux/pm.h' line='641' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='qos' type-id='type-id-2063' visibility='default' filepath='include/linux/pm.h' line='642' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='wakeup_source' size-in-bits='1536' is-struct='yes' visibility='default' filepath='include/linux/pm_wakeup.h' line='56' column='1' id='type-id-2064'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/pm_wakeup.h' line='57' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='id' type-id='type-id-17' visibility='default' filepath='include/linux/pm_wakeup.h' line='58' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='entry' type-id='type-id-20' visibility='default' filepath='include/linux/pm_wakeup.h' line='59' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='include/linux/pm_wakeup.h' line='60' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='wakeirq' type-id='type-id-2058' visibility='default' filepath='include/linux/pm_wakeup.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='timer' type-id='type-id-417' visibility='default' filepath='include/linux/pm_wakeup.h' line='62' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='timer_expires' type-id='type-id-16' visibility='default' filepath='include/linux/pm_wakeup.h' line='63' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='total_time' type-id='type-id-682' visibility='default' filepath='include/linux/pm_wakeup.h' line='64' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='max_time' type-id='type-id-682' visibility='default' filepath='include/linux/pm_wakeup.h' line='65' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='last_time' type-id='type-id-682' visibility='default' filepath='include/linux/pm_wakeup.h' line='66' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='start_prevent_time' type-id='type-id-682' visibility='default' filepath='include/linux/pm_wakeup.h' line='67' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='prevent_sleep_time' type-id='type-id-682' visibility='default' filepath='include/linux/pm_wakeup.h' line='68' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='event_count' type-id='type-id-16' visibility='default' filepath='include/linux/pm_wakeup.h' line='69' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='active_count' type-id='type-id-16' visibility='default' filepath='include/linux/pm_wakeup.h' line='70' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='relax_count' type-id='type-id-16' visibility='default' filepath='include/linux/pm_wakeup.h' line='71' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='expire_count' type-id='type-id-16' visibility='default' filepath='include/linux/pm_wakeup.h' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='wakeup_count' type-id='type-id-16' visibility='default' filepath='include/linux/pm_wakeup.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='dev' type-id='type-id-240' visibility='default' filepath='include/linux/pm_wakeup.h' line='74' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7'>
-          <var-decl name='active' type-id='type-id-33' visibility='default' filepath='include/linux/pm_wakeup.h' line='75' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6'>
-          <var-decl name='autosleep_enabled' type-id='type-id-33' visibility='default' filepath='include/linux/pm_wakeup.h' line='76' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='rpm_request' filepath='include/linux/pm.h' line='530' column='1' id='type-id-2059'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='RPM_REQ_NONE' value='0'/>
-        <enumerator name='RPM_REQ_IDLE' value='1'/>
-        <enumerator name='RPM_REQ_SUSPEND' value='2'/>
-        <enumerator name='RPM_REQ_AUTOSUSPEND' value='3'/>
-        <enumerator name='RPM_REQ_RESUME' value='4'/>
-      </enum-decl>
-      <enum-decl name='rpm_status' filepath='include/linux/pm.h' line='508' column='1' id='type-id-2060'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='RPM_ACTIVE' value='0'/>
-        <enumerator name='RPM_RESUMING' value='1'/>
-        <enumerator name='RPM_SUSPENDED' value='2'/>
-        <enumerator name='RPM_SUSPENDING' value='3'/>
-      </enum-decl>
-      <class-decl name='pm_subsys_data' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/pm.h' line='542' column='1' id='type-id-2065'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='include/linux/pm.h' line='543' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='refcount' type-id='type-id-5' visibility='default' filepath='include/linux/pm.h' line='544' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='clock_list' type-id='type-id-20' visibility='default' filepath='include/linux/pm.h' line='546' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='dev_pm_domain' size-in-bits='1728' is-struct='yes' visibility='default' filepath='include/linux/pm.h' line='662' column='1' id='type-id-2066'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ops' type-id='type-id-2042' visibility='default' filepath='include/linux/pm.h' line='663' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='detach' type-id='type-id-2067' visibility='default' filepath='include/linux/pm.h' line='664' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='activate' type-id='type-id-2043' visibility='default' filepath='include/linux/pm.h' line='665' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='sync' type-id='type-id-2028' visibility='default' filepath='include/linux/pm.h' line='666' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='dismiss' type-id='type-id-2028' visibility='default' filepath='include/linux/pm.h' line='667' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='dma_map_ops' size-in-bits='1088' is-struct='yes' visibility='default' filepath='include/linux/dma-mapping.h' line='79' column='1' id='type-id-2068'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='alloc' type-id='type-id-2069' visibility='default' filepath='include/linux/dma-mapping.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='free' type-id='type-id-2070' visibility='default' filepath='include/linux/dma-mapping.h' line='83' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='mmap' type-id='type-id-2071' visibility='default' filepath='include/linux/dma-mapping.h' line='86' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='get_sgtable' type-id='type-id-2072' visibility='default' filepath='include/linux/dma-mapping.h' line='90' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='map_page' type-id='type-id-2073' visibility='default' filepath='include/linux/dma-mapping.h' line='93' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='unmap_page' type-id='type-id-2074' visibility='default' filepath='include/linux/dma-mapping.h' line='97' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='map_sg' type-id='type-id-2075' visibility='default' filepath='include/linux/dma-mapping.h' line='104' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='unmap_sg' type-id='type-id-2076' visibility='default' filepath='include/linux/dma-mapping.h' line='107' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='map_resource' type-id='type-id-2077' visibility='default' filepath='include/linux/dma-mapping.h' line='111' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='unmap_resource' type-id='type-id-2074' visibility='default' filepath='include/linux/dma-mapping.h' line='114' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='sync_single_for_cpu' type-id='type-id-2078' visibility='default' filepath='include/linux/dma-mapping.h' line='117' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='sync_single_for_device' type-id='type-id-2078' visibility='default' filepath='include/linux/dma-mapping.h' line='120' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='sync_sg_for_cpu' type-id='type-id-2079' visibility='default' filepath='include/linux/dma-mapping.h' line='123' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='sync_sg_for_device' type-id='type-id-2079' visibility='default' filepath='include/linux/dma-mapping.h' line='126' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='cache_sync' type-id='type-id-2080' visibility='default' filepath='include/linux/dma-mapping.h' line='129' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='mapping_error' type-id='type-id-2081' visibility='default' filepath='include/linux/dma-mapping.h' line='131' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='dma_supported' type-id='type-id-2082' visibility='default' filepath='include/linux/dma-mapping.h' line='132' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='dma_addr_t' type-id='type-id-40' filepath='include/linux/types.h' line='153' column='1' id='type-id-2083'/>
-      <class-decl name='sg_table' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/scatterlist.h' line='42' column='1' id='type-id-2084'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='sgl' type-id='type-id-920' visibility='default' filepath='include/linux/scatterlist.h' line='43' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='nents' type-id='type-id-5' visibility='default' filepath='include/linux/scatterlist.h' line='44' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='orig_nents' type-id='type-id-5' visibility='default' filepath='include/linux/scatterlist.h' line='45' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='scatterlist' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/scatterlist.h' line='11' column='1' id='type-id-2085'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='page_link' type-id='type-id-16' visibility='default' filepath='include/linux/scatterlist.h' line='12' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='offset' type-id='type-id-5' visibility='default' filepath='include/linux/scatterlist.h' line='13' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='length' type-id='type-id-5' visibility='default' filepath='include/linux/scatterlist.h' line='14' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='dma_address' type-id='type-id-2083' visibility='default' filepath='include/linux/scatterlist.h' line='15' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='dma_length' type-id='type-id-5' visibility='default' filepath='include/linux/scatterlist.h' line='17' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='page' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/mm_types.h' line='70' column='1' id='type-id-2086'>
-        <member-type access='public'>
-          <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='163' column='1' id='type-id-2087'>
-            <data-member access='private'>
-              <var-decl name='_mapcount' type-id='type-id-26' visibility='default' filepath='include/linux/mm_types.h' line='168' column='1'/>
-            </data-member>
-            <data-member access='private'>
-              <var-decl name='page_type' type-id='type-id-5' visibility='default' filepath='include/linux/mm_types.h' line='176' column='1'/>
-            </data-member>
-            <data-member access='private'>
-              <var-decl name='active' type-id='type-id-5' visibility='default' filepath='include/linux/mm_types.h' line='178' column='1'/>
-            </data-member>
-            <data-member access='private'>
-              <var-decl name='units' type-id='type-id-17' visibility='default' filepath='include/linux/mm_types.h' line='179' column='1'/>
-            </data-member>
-          </union-decl>
-        </member-type>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='71' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='' type-id='type-id-2088' visibility='default' filepath='include/linux/mm_types.h' line='79' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='_refcount' type-id='type-id-26' visibility='default' filepath='include/linux/mm_types.h' line='183' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='mem_cgroup' type-id='type-id-1537' visibility='default' filepath='include/linux/mm_types.h' line='186' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__42' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='80' column='1' id='type-id-2089'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lru' type-id='type-id-20' visibility='default' filepath='include/linux/mm_types.h' line='86' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='mapping' type-id='type-id-1281' visibility='default' filepath='include/linux/mm_types.h' line='88' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='index' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='89' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='private' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='96' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='address_space' size-in-bits='1344' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='417' column='1' id='type-id-1307'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='host' type-id='type-id-1129' visibility='default' filepath='include/linux/fs.h' line='418' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='i_pages' type-id='type-id-415' visibility='default' filepath='include/linux/fs.h' line='419' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='i_mmap_writable' type-id='type-id-26' visibility='default' filepath='include/linux/fs.h' line='420' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='i_mmap' type-id='type-id-1523' visibility='default' filepath='include/linux/fs.h' line='421' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='i_mmap_rwsem' type-id='type-id-246' visibility='default' filepath='include/linux/fs.h' line='422' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='nrpages' type-id='type-id-16' visibility='default' filepath='include/linux/fs.h' line='424' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='nrexceptional' type-id='type-id-16' visibility='default' filepath='include/linux/fs.h' line='426' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='writeback_index' type-id='type-id-16' visibility='default' filepath='include/linux/fs.h' line='427' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='a_ops' type-id='type-id-2090' visibility='default' filepath='include/linux/fs.h' line='428' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='include/linux/fs.h' line='429' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='private_lock' type-id='type-id-247' visibility='default' filepath='include/linux/fs.h' line='430' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1056'>
-          <var-decl name='gfp_mask' type-id='type-id-485' visibility='default' filepath='include/linux/fs.h' line='431' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='private_list' type-id='type-id-20' visibility='default' filepath='include/linux/fs.h' line='432' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='private_data' type-id='type-id-15' visibility='default' filepath='include/linux/fs.h' line='433' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='wb_err' type-id='type-id-1282' visibility='default' filepath='include/linux/fs.h' line='434' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='rb_root_cached' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/rbtree.h' line='57' column='1' id='type-id-1523'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='rb_root' type-id='type-id-416' visibility='default' filepath='include/linux/rbtree.h' line='58' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='rb_leftmost' type-id='type-id-1238' visibility='default' filepath='include/linux/rbtree.h' line='59' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='address_space_operations' size-in-bits='1344' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='353' column='1' id='type-id-2091'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='writepage' type-id='type-id-2092' visibility='default' filepath='include/linux/fs.h' line='354' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='readpage' type-id='type-id-2093' visibility='default' filepath='include/linux/fs.h' line='355' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='writepages' type-id='type-id-2094' visibility='default' filepath='include/linux/fs.h' line='358' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='set_page_dirty' type-id='type-id-2095' visibility='default' filepath='include/linux/fs.h' line='361' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='readpages' type-id='type-id-2096' visibility='default' filepath='include/linux/fs.h' line='367' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='write_begin' type-id='type-id-2097' visibility='default' filepath='include/linux/fs.h' line='370' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='write_end' type-id='type-id-2098' visibility='default' filepath='include/linux/fs.h' line='373' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='bmap' type-id='type-id-2099' visibility='default' filepath='include/linux/fs.h' line='378' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='invalidatepage' type-id='type-id-2100' visibility='default' filepath='include/linux/fs.h' line='379' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='releasepage' type-id='type-id-2101' visibility='default' filepath='include/linux/fs.h' line='380' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='freepage' type-id='type-id-2102' visibility='default' filepath='include/linux/fs.h' line='381' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='direct_IO' type-id='type-id-2103' visibility='default' filepath='include/linux/fs.h' line='382' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='migratepage' type-id='type-id-2104' visibility='default' filepath='include/linux/fs.h' line='387' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='isolate_page' type-id='type-id-2105' visibility='default' filepath='include/linux/fs.h' line='389' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='putback_page' type-id='type-id-2102' visibility='default' filepath='include/linux/fs.h' line='390' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='launder_page' type-id='type-id-2095' visibility='default' filepath='include/linux/fs.h' line='391' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='is_partially_uptodate' type-id='type-id-2106' visibility='default' filepath='include/linux/fs.h' line='392' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='is_dirty_writeback' type-id='type-id-2107' visibility='default' filepath='include/linux/fs.h' line='394' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='error_remove_page' type-id='type-id-2108' visibility='default' filepath='include/linux/fs.h' line='395' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='swap_activate' type-id='type-id-2109' visibility='default' filepath='include/linux/fs.h' line='398' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='swap_deactivate' type-id='type-id-2110' visibility='default' filepath='include/linux/fs.h' line='400' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='sector_t' type-id='type-id-16' filepath='include/linux/types.h' line='134' column='1' id='type-id-386'/>
-      <class-decl name='kiocb' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='310' column='1' id='type-id-2111'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ki_filp' type-id='type-id-83' visibility='default' filepath='include/linux/fs.h' line='311' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ki_pos' type-id='type-id-763' visibility='default' filepath='include/linux/fs.h' line='316' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='ki_complete' type-id='type-id-2112' visibility='default' filepath='include/linux/fs.h' line='317' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='private' type-id='type-id-15' visibility='default' filepath='include/linux/fs.h' line='318' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='ki_flags' type-id='type-id-17' visibility='default' filepath='include/linux/fs.h' line='319' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='ki_hint' type-id='type-id-688' visibility='default' filepath='include/linux/fs.h' line='320' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='304'>
-          <var-decl name='ki_ioprio' type-id='type-id-688' visibility='default' filepath='include/linux/fs.h' line='321' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='iov_iter' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/uio.h' line='31' column='1' id='type-id-2113'>
-        <member-type access='public'>
-          <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/uio.h' line='41' column='1' id='type-id-2114'>
-            <data-member access='private'>
-              <var-decl name='nr_segs' type-id='type-id-16' visibility='default' filepath='include/linux/uio.h' line='42' column='1'/>
-            </data-member>
-            <data-member access='private'>
-              <var-decl name='' type-id='type-id-2115' visibility='default' filepath='include/linux/uio.h' line='43' column='1'/>
-            </data-member>
-          </union-decl>
-        </member-type>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='type' type-id='type-id-17' visibility='default' filepath='include/linux/uio.h' line='32' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='iov_offset' type-id='type-id-84' visibility='default' filepath='include/linux/uio.h' line='33' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='count' type-id='type-id-84' visibility='default' filepath='include/linux/uio.h' line='34' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='' type-id='type-id-2116' visibility='default' filepath='include/linux/uio.h' line='35' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__25' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/uio.h' line='35' column='1' id='type-id-2116'>
-        <data-member access='private'>
-          <var-decl name='iov' type-id='type-id-2117' visibility='default' filepath='include/linux/uio.h' line='36' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='kvec' type-id='type-id-2118' visibility='default' filepath='include/linux/uio.h' line='37' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='bvec' type-id='type-id-2119' visibility='default' filepath='include/linux/uio.h' line='38' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='pipe' type-id='type-id-87' visibility='default' filepath='include/linux/uio.h' line='39' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='iovec' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/uio.h' line='17' column='1' id='type-id-2120'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='iov_base' type-id='type-id-15' visibility='default' filepath='include/uapi/linux/uio.h' line='19' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='iov_len' type-id='type-id-887' visibility='default' filepath='include/uapi/linux/uio.h' line='20' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='kvec' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/uio.h' line='19' column='1' id='type-id-2121'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='iov_base' type-id='type-id-15' visibility='default' filepath='include/linux/uio.h' line='20' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='iov_len' type-id='type-id-84' visibility='default' filepath='include/linux/uio.h' line='21' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='pipe_inode_info' size-in-bits='1088' is-struct='yes' visibility='default' filepath='include/linux/pipe_fs_i.h' line='48' column='1' id='type-id-2122'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mutex' type-id='type-id-245' visibility='default' filepath='include/linux/pipe_fs_i.h' line='49' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='wait' type-id='type-id-225' visibility='default' filepath='include/linux/pipe_fs_i.h' line='50' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='nrbufs' type-id='type-id-5' visibility='default' filepath='include/linux/pipe_fs_i.h' line='51' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='curbuf' type-id='type-id-5' visibility='default' filepath='include/linux/pipe_fs_i.h' line='51' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='buffers' type-id='type-id-5' visibility='default' filepath='include/linux/pipe_fs_i.h' line='51' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='readers' type-id='type-id-5' visibility='default' filepath='include/linux/pipe_fs_i.h' line='52' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='writers' type-id='type-id-5' visibility='default' filepath='include/linux/pipe_fs_i.h' line='53' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='files' type-id='type-id-5' visibility='default' filepath='include/linux/pipe_fs_i.h' line='54' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='waiting_writers' type-id='type-id-5' visibility='default' filepath='include/linux/pipe_fs_i.h' line='55' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='672'>
-          <var-decl name='r_counter' type-id='type-id-5' visibility='default' filepath='include/linux/pipe_fs_i.h' line='56' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='w_counter' type-id='type-id-5' visibility='default' filepath='include/linux/pipe_fs_i.h' line='57' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='tmp_page' type-id='type-id-512' visibility='default' filepath='include/linux/pipe_fs_i.h' line='58' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='fasync_readers' type-id='type-id-254' visibility='default' filepath='include/linux/pipe_fs_i.h' line='59' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='fasync_writers' type-id='type-id-254' visibility='default' filepath='include/linux/pipe_fs_i.h' line='60' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='bufs' type-id='type-id-2123' visibility='default' filepath='include/linux/pipe_fs_i.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='user' type-id='type-id-1231' visibility='default' filepath='include/linux/pipe_fs_i.h' line='62' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='fasync_struct' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='1283' column='1' id='type-id-2124'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='fa_lock' type-id='type-id-885' visibility='default' filepath='include/linux/fs.h' line='1284' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='magic' type-id='type-id-17' visibility='default' filepath='include/linux/fs.h' line='1285' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='fa_fd' type-id='type-id-17' visibility='default' filepath='include/linux/fs.h' line='1286' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='fa_next' type-id='type-id-254' visibility='default' filepath='include/linux/fs.h' line='1287' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='fa_file' type-id='type-id-83' visibility='default' filepath='include/linux/fs.h' line='1288' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='fa_rcu' type-id='type-id-385' visibility='default' filepath='include/linux/fs.h' line='1289' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='rwlock_t' type-id='type-id-2125' filepath='include/linux/rwlock_types.h' line='20' column='1' id='type-id-885'/>
-      <class-decl name='__anonymous_struct__43' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-885' visibility='default' filepath='include/linux/rwlock_types.h' line='11' column='1' id='type-id-2125'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='raw_lock' type-id='type-id-2126' visibility='default' filepath='include/linux/rwlock_types.h' line='12' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='arch_rwlock_t' type-id='type-id-2127' filepath='include/asm-generic/qrwlock_types.h' line='27' column='1' id='type-id-2126'/>
-      <class-decl name='qrwlock' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/asm-generic/qrwlock_types.h' line='13' column='1' id='type-id-2127'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='' type-id='type-id-2128' visibility='default' filepath='include/asm-generic/qrwlock_types.h' line='14' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='wait_lock' type-id='type-id-32' visibility='default' filepath='include/asm-generic/qrwlock_types.h' line='26' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__26' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/asm-generic/qrwlock_types.h' line='14' column='1' id='type-id-2128'>
-        <data-member access='private'>
-          <var-decl name='cnts' type-id='type-id-26' visibility='default' filepath='include/asm-generic/qrwlock_types.h' line='15' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='' type-id='type-id-2129' visibility='default' filepath='include/asm-generic/qrwlock_types.h' line='16' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='__anonymous_struct__44' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/asm-generic/qrwlock_types.h' line='16' column='1' id='type-id-2129'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='wlocked' type-id='type-id-214' visibility='default' filepath='include/asm-generic/qrwlock_types.h' line='18' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='__lstate' type-id='type-id-1185' visibility='default' filepath='include/asm-generic/qrwlock_types.h' line='19' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='pipe_buffer' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/pipe_fs_i.h' line='21' column='1' id='type-id-2130'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='page' type-id='type-id-512' visibility='default' filepath='include/linux/pipe_fs_i.h' line='22' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='offset' type-id='type-id-5' visibility='default' filepath='include/linux/pipe_fs_i.h' line='23' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='len' type-id='type-id-5' visibility='default' filepath='include/linux/pipe_fs_i.h' line='23' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='ops' type-id='type-id-2131' visibility='default' filepath='include/linux/pipe_fs_i.h' line='24' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='include/linux/pipe_fs_i.h' line='25' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='private' type-id='type-id-16' visibility='default' filepath='include/linux/pipe_fs_i.h' line='26' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='pipe_buf_operations' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/pipe_fs_i.h' line='75' column='1' id='type-id-2132'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='can_merge' type-id='type-id-17' visibility='default' filepath='include/linux/pipe_fs_i.h' line='81' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='confirm' type-id='type-id-2133' visibility='default' filepath='include/linux/pipe_fs_i.h' line='90' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='release' type-id='type-id-2134' visibility='default' filepath='include/linux/pipe_fs_i.h' line='96' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='steal' type-id='type-id-2133' visibility='default' filepath='include/linux/pipe_fs_i.h' line='106' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='get' type-id='type-id-2135' visibility='default' filepath='include/linux/pipe_fs_i.h' line='111' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__45' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/uio.h' line='43' column='1' id='type-id-2115'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='idx' type-id='type-id-17' visibility='default' filepath='include/linux/uio.h' line='44' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='start_idx' type-id='type-id-17' visibility='default' filepath='include/linux/uio.h' line='45' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='migrate_mode' filepath='include/linux/migrate_mode.h' line='15' column='1' id='type-id-2136'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='MIGRATE_ASYNC' value='0'/>
-        <enumerator name='MIGRATE_SYNC_LIGHT' value='1'/>
-        <enumerator name='MIGRATE_SYNC' value='2'/>
-        <enumerator name='MIGRATE_SYNC_NO_COPY' value='3'/>
-      </enum-decl>
-      <typedef-decl name='isolate_mode_t' type-id='type-id-5' filepath='include/linux/mmzone.h' line='265' column='1' id='type-id-2137'/>
-      <typedef-decl name='errseq_t' type-id='type-id-7' filepath='include/linux/errseq.h' line='8' column='1' id='type-id-1282'/>
-      <class-decl name='__anonymous_struct__46' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='101' column='1' id='type-id-2138'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='next' type-id='type-id-512' visibility='default' filepath='include/linux/mm_types.h' line='102' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='pages' type-id='type-id-17' visibility='default' filepath='include/linux/mm_types.h' line='104' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='pobjects' type-id='type-id-17' visibility='default' filepath='include/linux/mm_types.h' line='105' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__47' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='118' column='1' id='type-id-2139'>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='inuse' type-id='type-id-5' visibility='default' filepath='include/linux/mm_types.h' line='119' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1'>
-          <var-decl name='objects' type-id='type-id-5' visibility='default' filepath='include/linux/mm_types.h' line='120' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='frozen' type-id='type-id-5' visibility='default' filepath='include/linux/mm_types.h' line='121' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='pgtable_t' type-id='type-id-512' filepath='arch/arm64/include/asm/page.h' line='38' column='1' id='type-id-2140'/>
-      <union-decl name='__anonymous_union__28' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='142' column='1' id='type-id-2141'>
-        <data-member access='private'>
-          <var-decl name='pt_mm' type-id='type-id-882' visibility='default' filepath='include/linux/mm_types.h' line='143' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='pt_frag_refcount' type-id='type-id-26' visibility='default' filepath='include/linux/mm_types.h' line='144' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='dev_pagemap' size-in-bits='1344' is-struct='yes' visibility='default' filepath='include/linux/memremap.h' line='114' column='1' id='type-id-2142'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='page_fault' type-id='type-id-2143' visibility='default' filepath='include/linux/memremap.h' line='115' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='page_free' type-id='type-id-2144' visibility='default' filepath='include/linux/memremap.h' line='116' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='altmap' type-id='type-id-2145' visibility='default' filepath='include/linux/memremap.h' line='117' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='altmap_valid' type-id='type-id-33' visibility='default' filepath='include/linux/memremap.h' line='118' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='res' type-id='type-id-2146' visibility='default' filepath='include/linux/memremap.h' line='119' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='ref' type-id='type-id-2147' visibility='default' filepath='include/linux/memremap.h' line='120' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='kill' type-id='type-id-2148' visibility='default' filepath='include/linux/memremap.h' line='121' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='dev' type-id='type-id-240' visibility='default' filepath='include/linux/memremap.h' line='122' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='data' type-id='type-id-15' visibility='default' filepath='include/linux/memremap.h' line='123' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='type' type-id='type-id-2149' visibility='default' filepath='include/linux/memremap.h' line='124' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='dev_page_fault_t' type-id='type-id-2150' filepath='include/linux/memremap.h' line='95' column='1' id='type-id-2143'/>
-      <typedef-decl name='pmd_t' type-id='type-id-2151' filepath='arch/arm64/include/asm/pgtable-types.h' line='38' column='1' id='type-id-2152'/>
-      <class-decl name='__anonymous_struct__48' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-2152' visibility='default' filepath='arch/arm64/include/asm/pgtable-types.h' line='38' column='1' id='type-id-2151'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='pmd' type-id='type-id-2153' visibility='default' filepath='arch/arm64/include/asm/pgtable-types.h' line='38' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='pmdval_t' type-id='type-id-40' filepath='arch/arm64/include/asm/pgtable-types.h' line='26' column='1' id='type-id-2153'/>
-      <typedef-decl name='dev_page_free_t' type-id='type-id-2154' filepath='include/linux/memremap.h' line='100' column='1' id='type-id-2144'/>
-      <class-decl name='vmem_altmap' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/memremap.h' line='20' column='1' id='type-id-2145'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='base_pfn' type-id='type-id-892' visibility='default' filepath='include/linux/memremap.h' line='21' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='reserve' type-id='type-id-892' visibility='default' filepath='include/linux/memremap.h' line='22' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='free' type-id='type-id-16' visibility='default' filepath='include/linux/memremap.h' line='23' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='align' type-id='type-id-16' visibility='default' filepath='include/linux/memremap.h' line='24' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='alloc' type-id='type-id-16' visibility='default' filepath='include/linux/memremap.h' line='25' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='resource' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/ioport.h' line='19' column='1' id='type-id-2146'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='start' type-id='type-id-2155' visibility='default' filepath='include/linux/ioport.h' line='20' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='end' type-id='type-id-2155' visibility='default' filepath='include/linux/ioport.h' line='21' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/ioport.h' line='22' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='include/linux/ioport.h' line='23' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='desc' type-id='type-id-16' visibility='default' filepath='include/linux/ioport.h' line='24' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='parent' type-id='type-id-2156' visibility='default' filepath='include/linux/ioport.h' line='25' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='sibling' type-id='type-id-2156' visibility='default' filepath='include/linux/ioport.h' line='25' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='child' type-id='type-id-2156' visibility='default' filepath='include/linux/ioport.h' line='25' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='resource_size_t' type-id='type-id-99' filepath='include/linux/types.h' line='168' column='1' id='type-id-2155'/>
-      <class-decl name='percpu_ref' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/percpu-refcount.h' line='88' column='1' id='type-id-391'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='count' type-id='type-id-115' visibility='default' filepath='include/linux/percpu-refcount.h' line='89' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='percpu_count_ptr' type-id='type-id-16' visibility='default' filepath='include/linux/percpu-refcount.h' line='94' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='release' type-id='type-id-2157' visibility='default' filepath='include/linux/percpu-refcount.h' line='95' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='confirm_switch' type-id='type-id-2157' visibility='default' filepath='include/linux/percpu-refcount.h' line='96' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7'>
-          <var-decl name='force_atomic' type-id='type-id-33' visibility='default' filepath='include/linux/percpu-refcount.h' line='97' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/linux/percpu-refcount.h' line='98' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='percpu_ref_func_t' type-id='type-id-2158' filepath='include/linux/percpu-refcount.h' line='60' column='1' id='type-id-2159'/>
-      <enum-decl name='memory_type' filepath='include/linux/memremap.h' line='57' column='1' id='type-id-2149'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='MEMORY_DEVICE_PRIVATE' value='1'/>
-        <enumerator name='MEMORY_DEVICE_PUBLIC' value='2'/>
-        <enumerator name='MEMORY_DEVICE_FS_DAX' value='3'/>
-      </enum-decl>
-      <enum-decl name='dma_data_direction' filepath='include/linux/dma-direction.h' line='5' column='1' id='type-id-2160'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='DMA_BIDIRECTIONAL' value='0'/>
-        <enumerator name='DMA_TO_DEVICE' value='1'/>
-        <enumerator name='DMA_FROM_DEVICE' value='2'/>
-        <enumerator name='DMA_NONE' value='3'/>
-      </enum-decl>
-      <class-decl name='device_dma_parameters' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/device.h' line='761' column='1' id='type-id-2161'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='max_segment_size' type-id='type-id-5' visibility='default' filepath='include/linux/device.h' line='766' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='segment_boundary_mask' type-id='type-id-16' visibility='default' filepath='include/linux/device.h' line='767' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='dev_archdata' size-in-bits='128' is-struct='yes' visibility='default' filepath='arch/arm64/include/asm/device.h' line='19' column='1' id='type-id-2023'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='iommu' type-id='type-id-15' visibility='default' filepath='arch/arm64/include/asm/device.h' line='21' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='dma_coherent' type-id='type-id-33' visibility='default' filepath='arch/arm64/include/asm/device.h' line='26' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='fwnode_handle' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/fwnode.h' line='20' column='1' id='type-id-2162'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='secondary' type-id='type-id-2025' visibility='default' filepath='include/linux/fwnode.h' line='21' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ops' type-id='type-id-2163' visibility='default' filepath='include/linux/fwnode.h' line='22' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='dev' type-id='type-id-240' visibility='default' filepath='include/linux/fwnode.h' line='23' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='fwnode_operations' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/linux/fwnode.h' line='111' column='1' id='type-id-2164'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='get' type-id='type-id-2165' visibility='default' filepath='include/linux/fwnode.h' line='112' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='put' type-id='type-id-2166' visibility='default' filepath='include/linux/fwnode.h' line='113' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='device_is_available' type-id='type-id-2167' visibility='default' filepath='include/linux/fwnode.h' line='114' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='device_get_match_data' type-id='type-id-2168' visibility='default' filepath='include/linux/fwnode.h' line='115' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='property_present' type-id='type-id-2169' visibility='default' filepath='include/linux/fwnode.h' line='117' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='property_read_int_array' type-id='type-id-2170' visibility='default' filepath='include/linux/fwnode.h' line='119' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='property_read_string_array' type-id='type-id-2171' visibility='default' filepath='include/linux/fwnode.h' line='124' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='get_parent' type-id='type-id-2172' visibility='default' filepath='include/linux/fwnode.h' line='127' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='get_next_child_node' type-id='type-id-2173' visibility='default' filepath='include/linux/fwnode.h' line='129' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='get_named_child_node' type-id='type-id-2174' visibility='default' filepath='include/linux/fwnode.h' line='132' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='get_reference_args' type-id='type-id-2175' visibility='default' filepath='include/linux/fwnode.h' line='134' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='graph_get_next_endpoint' type-id='type-id-2173' visibility='default' filepath='include/linux/fwnode.h' line='139' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='graph_get_remote_endpoint' type-id='type-id-2172' visibility='default' filepath='include/linux/fwnode.h' line='142' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='graph_get_port_parent' type-id='type-id-2165' visibility='default' filepath='include/linux/fwnode.h' line='144' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='graph_parse_endpoint' type-id='type-id-2176' visibility='default' filepath='include/linux/fwnode.h' line='145' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='add_links' type-id='type-id-2177' visibility='default' filepath='include/linux/fwnode.h' line='147' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='fwnode_reference_args' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/fwnode.h' line='46' column='1' id='type-id-2178'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='fwnode' type-id='type-id-2025' visibility='default' filepath='include/linux/fwnode.h' line='47' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='nargs' type-id='type-id-5' visibility='default' filepath='include/linux/fwnode.h' line='48' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='args' type-id='type-id-1181' visibility='default' filepath='include/linux/fwnode.h' line='49' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='fwnode_endpoint' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/fwnode.h' line='32' column='1' id='type-id-2179'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='port' type-id='type-id-5' visibility='default' filepath='include/linux/fwnode.h' line='33' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='id' type-id='type-id-5' visibility='default' filepath='include/linux/fwnode.h' line='34' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='local_fwnode' type-id='type-id-2180' visibility='default' filepath='include/linux/fwnode.h' line='35' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='klist_node' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/klist.h' line='39' column='1' id='type-id-2026'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='n_klist' type-id='type-id-15' visibility='default' filepath='include/linux/klist.h' line='40' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='n_node' type-id='type-id-20' visibility='default' filepath='include/linux/klist.h' line='41' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='n_ref' type-id='type-id-239' visibility='default' filepath='include/linux/klist.h' line='42' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='class' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/linux/device.h' line='418' column='1' id='type-id-2181'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/device.h' line='419' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='owner' type-id='type-id-260' visibility='default' filepath='include/linux/device.h' line='420' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='class_groups' type-id='type-id-665' visibility='default' filepath='include/linux/device.h' line='422' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='dev_groups' type-id='type-id-665' visibility='default' filepath='include/linux/device.h' line='423' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='dev_kobj' type-id='type-id-379' visibility='default' filepath='include/linux/device.h' line='424' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='dev_uevent' type-id='type-id-2032' visibility='default' filepath='include/linux/device.h' line='426' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='devnode' type-id='type-id-2182' visibility='default' filepath='include/linux/device.h' line='427' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='class_release' type-id='type-id-2183' visibility='default' filepath='include/linux/device.h' line='429' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='dev_release' type-id='type-id-2028' visibility='default' filepath='include/linux/device.h' line='430' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='shutdown_pre' type-id='type-id-2043' visibility='default' filepath='include/linux/device.h' line='432' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='ns_type' type-id='type-id-2184' visibility='default' filepath='include/linux/device.h' line='434' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='namespace' type-id='type-id-2185' visibility='default' filepath='include/linux/device.h' line='435' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='get_ownership' type-id='type-id-2186' visibility='default' filepath='include/linux/device.h' line='437' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='pm' type-id='type-id-2034' visibility='default' filepath='include/linux/device.h' line='439' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='p' type-id='type-id-2048' visibility='default' filepath='include/linux/device.h' line='441' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='rtnl_link_ops' size-in-bits='1600' is-struct='yes' visibility='default' filepath='include/net/rtnetlink.h' line='59' column='1' id='type-id-2187'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/net/rtnetlink.h' line='60' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='kind' type-id='type-id-4' visibility='default' filepath='include/net/rtnetlink.h' line='62' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='priv_size' type-id='type-id-84' visibility='default' filepath='include/net/rtnetlink.h' line='64' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='setup' type-id='type-id-1691' visibility='default' filepath='include/net/rtnetlink.h' line='65' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='maxtype' type-id='type-id-5' visibility='default' filepath='include/net/rtnetlink.h' line='67' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='policy' type-id='type-id-2188' visibility='default' filepath='include/net/rtnetlink.h' line='68' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='validate' type-id='type-id-2189' visibility='default' filepath='include/net/rtnetlink.h' line='69' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='newlink' type-id='type-id-2190' visibility='default' filepath='include/net/rtnetlink.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='changelink' type-id='type-id-2191' visibility='default' filepath='include/net/rtnetlink.h' line='78' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='dellink' type-id='type-id-2192' visibility='default' filepath='include/net/rtnetlink.h' line='82' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='get_size' type-id='type-id-2193' visibility='default' filepath='include/net/rtnetlink.h' line='85' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='fill_info' type-id='type-id-2194' visibility='default' filepath='include/net/rtnetlink.h' line='86' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='get_xstats_size' type-id='type-id-2193' visibility='default' filepath='include/net/rtnetlink.h' line='89' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='fill_xstats' type-id='type-id-2194' visibility='default' filepath='include/net/rtnetlink.h' line='90' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='get_num_tx_queues' type-id='type-id-2195' visibility='default' filepath='include/net/rtnetlink.h' line='92' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='get_num_rx_queues' type-id='type-id-2195' visibility='default' filepath='include/net/rtnetlink.h' line='93' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='slave_maxtype' type-id='type-id-5' visibility='default' filepath='include/net/rtnetlink.h' line='95' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='slave_policy' type-id='type-id-2188' visibility='default' filepath='include/net/rtnetlink.h' line='96' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='slave_changelink' type-id='type-id-2196' visibility='default' filepath='include/net/rtnetlink.h' line='97' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='get_slave_size' type-id='type-id-2197' visibility='default' filepath='include/net/rtnetlink.h' line='102' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='fill_slave_info' type-id='type-id-2198' visibility='default' filepath='include/net/rtnetlink.h' line='104' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='get_link_net' type-id='type-id-2199' visibility='default' filepath='include/net/rtnetlink.h' line='107' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='get_linkxstats_size' type-id='type-id-2200' visibility='default' filepath='include/net/rtnetlink.h' line='108' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='fill_linkxstats' type-id='type-id-2201' visibility='default' filepath='include/net/rtnetlink.h' line='110' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='nla_policy' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/net/netlink.h' line='222' column='1' id='type-id-2202'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='type' type-id='type-id-688' visibility='default' filepath='include/net/netlink.h' line='223' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='len' type-id='type-id-688' visibility='default' filepath='include/net/netlink.h' line='224' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='validation_data' type-id='type-id-15' visibility='default' filepath='include/net/netlink.h' line='225' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='s16' type-id='type-id-2203' filepath='include/asm-generic/int-ll64.h' line='18' column='1' id='type-id-1695'/>
-      <typedef-decl name='__s16' type-id='type-id-261' filepath='include/uapi/asm-generic/int-ll64.h' line='23' column='1' id='type-id-2203'/>
-      <class-decl name='netdev_tc_txq' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='761' column='1' id='type-id-1151'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='count' type-id='type-id-688' visibility='default' filepath='include/linux/netdevice.h' line='762' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='offset' type-id='type-id-688' visibility='default' filepath='include/linux/netdevice.h' line='763' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='netns_core' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/netns/core.h' line='8' column='1' id='type-id-1651'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='sysctl_hdr' type-id='type-id-1585' visibility='default' filepath='include/net/netns/core.h' line='10' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='sysctl_somaxconn' type-id='type-id-17' visibility='default' filepath='include/net/netns/core.h' line='12' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='sock_inuse' type-id='type-id-666' visibility='default' filepath='include/net/netns/core.h' line='15' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='prot_inuse' type-id='type-id-2204' visibility='default' filepath='include/net/netns/core.h' line='16' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='netns_mib' size-in-bits='896' is-struct='yes' visibility='default' filepath='include/net/netns/mib.h' line='7' column='1' id='type-id-1652'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='tcp_statistics' type-id='type-id-2205' visibility='default' filepath='include/net/netns/mib.h' line='8' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ip_statistics' type-id='type-id-2206' visibility='default' filepath='include/net/netns/mib.h' line='9' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='net_statistics' type-id='type-id-2207' visibility='default' filepath='include/net/netns/mib.h' line='10' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='udp_statistics' type-id='type-id-2208' visibility='default' filepath='include/net/netns/mib.h' line='11' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='udplite_statistics' type-id='type-id-2208' visibility='default' filepath='include/net/netns/mib.h' line='12' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='icmp_statistics' type-id='type-id-2209' visibility='default' filepath='include/net/netns/mib.h' line='13' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='icmpmsg_statistics' type-id='type-id-2210' visibility='default' filepath='include/net/netns/mib.h' line='14' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='proc_net_devsnmp6' type-id='type-id-262' visibility='default' filepath='include/net/netns/mib.h' line='17' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='udp_stats_in6' type-id='type-id-2208' visibility='default' filepath='include/net/netns/mib.h' line='18' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='udplite_stats_in6' type-id='type-id-2208' visibility='default' filepath='include/net/netns/mib.h' line='19' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='ipv6_statistics' type-id='type-id-2206' visibility='default' filepath='include/net/netns/mib.h' line='20' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='icmpv6_statistics' type-id='type-id-2211' visibility='default' filepath='include/net/netns/mib.h' line='21' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='icmpv6msg_statistics' type-id='type-id-2212' visibility='default' filepath='include/net/netns/mib.h' line='22' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='xfrm_statistics' type-id='type-id-2213' visibility='default' filepath='include/net/netns/mib.h' line='25' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='tcp_mib' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/net/snmp.h' line='97' column='1' id='type-id-2214'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mibs' type-id='type-id-1198' visibility='default' filepath='include/net/snmp.h' line='98' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ipstats_mib' size-in-bits='2368' is-struct='yes' visibility='default' filepath='include/net/snmp.h' line='56' column='1' id='type-id-2215'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mibs' type-id='type-id-1180' visibility='default' filepath='include/net/snmp.h' line='58' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='syncp' type-id='type-id-2003' visibility='default' filepath='include/net/snmp.h' line='59' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='linux_mib' size-in-bits='7552' is-struct='yes' visibility='default' filepath='include/net/snmp.h' line='109' column='1' id='type-id-2216'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mibs' type-id='type-id-1195' visibility='default' filepath='include/net/snmp.h' line='110' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='udp_mib' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/net/snmp.h' line='103' column='1' id='type-id-2217'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mibs' type-id='type-id-1206' visibility='default' filepath='include/net/snmp.h' line='104' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='icmp_mib' size-in-bits='1792' is-struct='yes' visibility='default' filepath='include/net/snmp.h' line='64' column='1' id='type-id-2218'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mibs' type-id='type-id-1199' visibility='default' filepath='include/net/snmp.h' line='65' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='icmpmsg_mib' size-in-bits='32768' is-struct='yes' visibility='default' filepath='include/net/snmp.h' line='69' column='1' id='type-id-2219'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mibs' type-id='type-id-950' visibility='default' filepath='include/net/snmp.h' line='70' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='icmpv6_mib' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/net/snmp.h' line='76' column='1' id='type-id-2220'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mibs' type-id='type-id-1205' visibility='default' filepath='include/net/snmp.h' line='77' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='icmpv6msg_mib' size-in-bits='32768' is-struct='yes' visibility='default' filepath='include/net/snmp.h' line='86' column='1' id='type-id-2221'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mibs' type-id='type-id-950' visibility='default' filepath='include/net/snmp.h' line='87' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='linux_xfrm_mib' size-in-bits='1856' is-struct='yes' visibility='default' filepath='include/net/snmp.h' line='115' column='1' id='type-id-2222'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mibs' type-id='type-id-1200' visibility='default' filepath='include/net/snmp.h' line='116' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='netns_packet' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/net/netns/packet.h' line='11' column='1' id='type-id-1653'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='sklist_lock' type-id='type-id-245' visibility='default' filepath='include/net/netns/packet.h' line='12' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='sklist' type-id='type-id-186' visibility='default' filepath='include/net/netns/packet.h' line='13' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='netns_unix' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/net/netns/unix.h' line='9' column='1' id='type-id-1654'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='sysctl_max_dgram_qlen' type-id='type-id-17' visibility='default' filepath='include/net/netns/unix.h' line='10' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ctl' type-id='type-id-1585' visibility='default' filepath='include/net/netns/unix.h' line='11' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='netns_ipv4' size-in-bits='9728' is-struct='yes' visibility='default' filepath='include/net/netns/ipv4.h' line='43' column='1' id='type-id-1655'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='forw_hdr' type-id='type-id-1585' visibility='default' filepath='include/net/netns/ipv4.h' line='45' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='frags_hdr' type-id='type-id-1585' visibility='default' filepath='include/net/netns/ipv4.h' line='46' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='ipv4_hdr' type-id='type-id-1585' visibility='default' filepath='include/net/netns/ipv4.h' line='47' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='route_hdr' type-id='type-id-1585' visibility='default' filepath='include/net/netns/ipv4.h' line='48' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='xfrm4_hdr' type-id='type-id-1585' visibility='default' filepath='include/net/netns/ipv4.h' line='49' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='devconf_all' type-id='type-id-2223' visibility='default' filepath='include/net/netns/ipv4.h' line='51' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='devconf_dflt' type-id='type-id-2223' visibility='default' filepath='include/net/netns/ipv4.h' line='52' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='ra_chain' type-id='type-id-2224' visibility='default' filepath='include/net/netns/ipv4.h' line='53' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='ra_mutex' type-id='type-id-245' visibility='default' filepath='include/net/netns/ipv4.h' line='54' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='rules_ops' type-id='type-id-2225' visibility='default' filepath='include/net/netns/ipv4.h' line='56' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='fib_has_custom_rules' type-id='type-id-33' visibility='default' filepath='include/net/netns/ipv4.h' line='57' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='864'>
-          <var-decl name='fib_rules_require_fldissect' type-id='type-id-5' visibility='default' filepath='include/net/netns/ipv4.h' line='58' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='fib_main' type-id='type-id-2226' visibility='default' filepath='include/net/netns/ipv4.h' line='59' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='fib_default' type-id='type-id-2226' visibility='default' filepath='include/net/netns/ipv4.h' line='60' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='fib_has_custom_local_routes' type-id='type-id-33' visibility='default' filepath='include/net/netns/ipv4.h' line='62' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='fib_table_hash' type-id='type-id-746' visibility='default' filepath='include/net/netns/ipv4.h' line='66' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='fib_offload_disabled' type-id='type-id-33' visibility='default' filepath='include/net/netns/ipv4.h' line='67' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='fibnl' type-id='type-id-1648' visibility='default' filepath='include/net/netns/ipv4.h' line='68' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='icmp_sk' type-id='type-id-2227' visibility='default' filepath='include/net/netns/ipv4.h' line='70' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='mc_autojoin_sk' type-id='type-id-1648' visibility='default' filepath='include/net/netns/ipv4.h' line='71' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='peers' type-id='type-id-2228' visibility='default' filepath='include/net/netns/ipv4.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='tcp_sk' type-id='type-id-2227' visibility='default' filepath='include/net/netns/ipv4.h' line='74' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='frags' type-id='type-id-2229' visibility='default' filepath='include/net/netns/ipv4.h' line='75' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4096'>
-          <var-decl name='iptable_filter' type-id='type-id-2230' visibility='default' filepath='include/net/netns/ipv4.h' line='77' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4160'>
-          <var-decl name='iptable_mangle' type-id='type-id-2230' visibility='default' filepath='include/net/netns/ipv4.h' line='78' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4224'>
-          <var-decl name='iptable_raw' type-id='type-id-2230' visibility='default' filepath='include/net/netns/ipv4.h' line='79' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4288'>
-          <var-decl name='arptable_filter' type-id='type-id-2230' visibility='default' filepath='include/net/netns/ipv4.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4352'>
-          <var-decl name='iptable_security' type-id='type-id-2230' visibility='default' filepath='include/net/netns/ipv4.h' line='82' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4416'>
-          <var-decl name='nat_table' type-id='type-id-2230' visibility='default' filepath='include/net/netns/ipv4.h' line='84' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4480'>
-          <var-decl name='sysctl_icmp_echo_ignore_all' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='87' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4512'>
-          <var-decl name='sysctl_icmp_echo_ignore_broadcasts' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='88' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4544'>
-          <var-decl name='sysctl_icmp_ignore_bogus_error_responses' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='89' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4576'>
-          <var-decl name='sysctl_icmp_ratelimit' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='90' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4608'>
-          <var-decl name='sysctl_icmp_ratemask' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='91' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4640'>
-          <var-decl name='sysctl_icmp_errors_use_inbound_ifaddr' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='92' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4672'>
-          <var-decl name='ip_local_ports' type-id='type-id-2231' visibility='default' filepath='include/net/netns/ipv4.h' line='94' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4832'>
-          <var-decl name='sysctl_tcp_ecn' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='96' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4864'>
-          <var-decl name='sysctl_tcp_ecn_fallback' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='97' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4896'>
-          <var-decl name='sysctl_ip_default_ttl' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='99' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4928'>
-          <var-decl name='sysctl_ip_no_pmtu_disc' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='100' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4960'>
-          <var-decl name='sysctl_ip_fwd_use_pmtu' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='101' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4992'>
-          <var-decl name='sysctl_ip_fwd_update_priority' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='102' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5024'>
-          <var-decl name='sysctl_ip_nonlocal_bind' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='103' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5056'>
-          <var-decl name='sysctl_ip_dynaddr' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='105' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5088'>
-          <var-decl name='sysctl_ip_early_demux' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='106' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5120'>
-          <var-decl name='sysctl_tcp_early_demux' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='107' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5152'>
-          <var-decl name='sysctl_udp_early_demux' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='108' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5184'>
-          <var-decl name='sysctl_fwmark_reflect' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='110' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5216'>
-          <var-decl name='sysctl_tcp_fwmark_accept' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='111' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5248'>
-          <var-decl name='sysctl_tcp_mtu_probing' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='115' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5280'>
-          <var-decl name='sysctl_tcp_base_mss' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='116' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5312'>
-          <var-decl name='sysctl_tcp_min_snd_mss' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='117' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5344'>
-          <var-decl name='sysctl_tcp_probe_threshold' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='118' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5376'>
-          <var-decl name='sysctl_tcp_probe_interval' type-id='type-id-7' visibility='default' filepath='include/net/netns/ipv4.h' line='119' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5408'>
-          <var-decl name='sysctl_tcp_keepalive_time' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='121' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5440'>
-          <var-decl name='sysctl_tcp_keepalive_probes' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='122' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5472'>
-          <var-decl name='sysctl_tcp_keepalive_intvl' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='123' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5504'>
-          <var-decl name='sysctl_tcp_syn_retries' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='125' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5536'>
-          <var-decl name='sysctl_tcp_synack_retries' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='126' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5568'>
-          <var-decl name='sysctl_tcp_syncookies' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='127' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5600'>
-          <var-decl name='sysctl_tcp_reordering' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='128' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5632'>
-          <var-decl name='sysctl_tcp_retries1' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='129' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5664'>
-          <var-decl name='sysctl_tcp_retries2' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='130' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5696'>
-          <var-decl name='sysctl_tcp_orphan_retries' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='131' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5728'>
-          <var-decl name='sysctl_tcp_fin_timeout' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='132' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5760'>
-          <var-decl name='sysctl_tcp_notsent_lowat' type-id='type-id-5' visibility='default' filepath='include/net/netns/ipv4.h' line='133' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5792'>
-          <var-decl name='sysctl_tcp_tw_reuse' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='134' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5824'>
-          <var-decl name='sysctl_tcp_sack' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='135' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5856'>
-          <var-decl name='sysctl_tcp_window_scaling' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='136' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5888'>
-          <var-decl name='sysctl_tcp_timestamps' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='137' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5920'>
-          <var-decl name='sysctl_tcp_early_retrans' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='138' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5952'>
-          <var-decl name='sysctl_tcp_recovery' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='139' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5984'>
-          <var-decl name='sysctl_tcp_thin_linear_timeouts' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='140' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6016'>
-          <var-decl name='sysctl_tcp_slow_start_after_idle' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='141' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6048'>
-          <var-decl name='sysctl_tcp_retrans_collapse' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='142' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6080'>
-          <var-decl name='sysctl_tcp_stdurg' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='143' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6112'>
-          <var-decl name='sysctl_tcp_rfc1337' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='144' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6144'>
-          <var-decl name='sysctl_tcp_abort_on_overflow' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='145' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6176'>
-          <var-decl name='sysctl_tcp_fack' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='146' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6208'>
-          <var-decl name='sysctl_tcp_max_reordering' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='147' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6240'>
-          <var-decl name='sysctl_tcp_dsack' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='148' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6272'>
-          <var-decl name='sysctl_tcp_app_win' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='149' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6304'>
-          <var-decl name='sysctl_tcp_adv_win_scale' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='150' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6336'>
-          <var-decl name='sysctl_tcp_frto' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='151' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6368'>
-          <var-decl name='sysctl_tcp_nometrics_save' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='152' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6400'>
-          <var-decl name='sysctl_tcp_moderate_rcvbuf' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='153' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6432'>
-          <var-decl name='sysctl_tcp_tso_win_divisor' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='154' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6464'>
-          <var-decl name='sysctl_tcp_workaround_signed_windows' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='155' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6496'>
-          <var-decl name='sysctl_tcp_limit_output_bytes' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='156' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6528'>
-          <var-decl name='sysctl_tcp_challenge_ack_limit' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='157' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6560'>
-          <var-decl name='sysctl_tcp_min_tso_segs' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='158' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6592'>
-          <var-decl name='sysctl_tcp_min_rtt_wlen' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='159' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6624'>
-          <var-decl name='sysctl_tcp_autocorking' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='160' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6656'>
-          <var-decl name='sysctl_tcp_invalid_ratelimit' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='161' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6688'>
-          <var-decl name='sysctl_tcp_pacing_ss_ratio' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='162' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6720'>
-          <var-decl name='sysctl_tcp_pacing_ca_ratio' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='163' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6752'>
-          <var-decl name='sysctl_tcp_wmem' type-id='type-id-1133' visibility='default' filepath='include/net/netns/ipv4.h' line='164' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6848'>
-          <var-decl name='sysctl_tcp_rmem' type-id='type-id-1133' visibility='default' filepath='include/net/netns/ipv4.h' line='165' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6944'>
-          <var-decl name='sysctl_tcp_comp_sack_nr' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='166' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6976'>
-          <var-decl name='sysctl_tcp_comp_sack_delay_ns' type-id='type-id-16' visibility='default' filepath='include/net/netns/ipv4.h' line='167' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7168'>
-          <var-decl name='tcp_death_row' type-id='type-id-2232' visibility='default' filepath='include/net/netns/ipv4.h' line='168' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8192'>
-          <var-decl name='sysctl_max_syn_backlog' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='169' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8224'>
-          <var-decl name='sysctl_tcp_fastopen' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='170' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8256'>
-          <var-decl name='tcp_congestion_control' type-id='type-id-2233' visibility='default' filepath='include/net/netns/ipv4.h' line='171' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8320'>
-          <var-decl name='tcp_fastopen_ctx' type-id='type-id-2234' visibility='default' filepath='include/net/netns/ipv4.h' line='172' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8384'>
-          <var-decl name='tcp_fastopen_ctx_lock' type-id='type-id-247' visibility='default' filepath='include/net/netns/ipv4.h' line='173' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8416'>
-          <var-decl name='sysctl_tcp_fastopen_blackhole_timeout' type-id='type-id-5' visibility='default' filepath='include/net/netns/ipv4.h' line='174' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8448'>
-          <var-decl name='tfo_active_disable_times' type-id='type-id-26' visibility='default' filepath='include/net/netns/ipv4.h' line='175' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8512'>
-          <var-decl name='tfo_active_disable_stamp' type-id='type-id-16' visibility='default' filepath='include/net/netns/ipv4.h' line='176' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8576'>
-          <var-decl name='sysctl_udp_wmem_min' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='178' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8608'>
-          <var-decl name='sysctl_udp_rmem_min' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='179' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8640'>
-          <var-decl name='sysctl_igmp_max_memberships' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='185' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8672'>
-          <var-decl name='sysctl_igmp_max_msf' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='186' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8704'>
-          <var-decl name='sysctl_igmp_llm_reports' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='187' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8736'>
-          <var-decl name='sysctl_igmp_qrv' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='188' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8768'>
-          <var-decl name='ping_group_range' type-id='type-id-2235' visibility='default' filepath='include/net/netns/ipv4.h' line='190' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8896'>
-          <var-decl name='dev_addr_genid' type-id='type-id-26' visibility='default' filepath='include/net/netns/ipv4.h' line='192' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8960'>
-          <var-decl name='sysctl_local_reserved_ports' type-id='type-id-45' visibility='default' filepath='include/net/netns/ipv4.h' line='195' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9024'>
-          <var-decl name='sysctl_ip_prot_sock' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='196' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9088'>
-          <var-decl name='notifier_ops' type-id='type-id-2236' visibility='default' filepath='include/net/netns/ipv4.h' line='212' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9152'>
-          <var-decl name='fib_seq' type-id='type-id-5' visibility='default' filepath='include/net/netns/ipv4.h' line='213' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9216'>
-          <var-decl name='ipmr_notifier_ops' type-id='type-id-2236' visibility='default' filepath='include/net/netns/ipv4.h' line='215' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9280'>
-          <var-decl name='ipmr_seq' type-id='type-id-5' visibility='default' filepath='include/net/netns/ipv4.h' line='216' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9312'>
-          <var-decl name='rt_genid' type-id='type-id-26' visibility='default' filepath='include/net/netns/ipv4.h' line='218' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9344'>
-          <var-decl name='ip_id_key' type-id='type-id-2237' visibility='default' filepath='include/net/netns/ipv4.h' line='219' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='netns_frags' size-in-bits='2560' is-struct='yes' visibility='default' filepath='include/net/inet_frag.h' line='7' column='1' id='type-id-2229'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='high_thresh' type-id='type-id-192' visibility='default' filepath='include/net/inet_frag.h' line='9' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='low_thresh' type-id='type-id-192' visibility='default' filepath='include/net/inet_frag.h' line='10' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='timeout' type-id='type-id-17' visibility='default' filepath='include/net/inet_frag.h' line='11' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='max_dist' type-id='type-id-17' visibility='default' filepath='include/net/inet_frag.h' line='12' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='f' type-id='type-id-2238' visibility='default' filepath='include/net/inet_frag.h' line='13' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='rhashtable' type-id='type-id-2239' visibility='default' filepath='include/net/inet_frag.h' line='15' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='mem' type-id='type-id-115' visibility='default' filepath='include/net/inet_frag.h' line='18' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='inet_frags' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/net/inet_frag.h' line='93' column='1' id='type-id-2240'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='qsize' type-id='type-id-5' visibility='default' filepath='include/net/inet_frag.h' line='94' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='constructor' type-id='type-id-2241' visibility='default' filepath='include/net/inet_frag.h' line='96' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='destructor' type-id='type-id-2242' visibility='default' filepath='include/net/inet_frag.h' line='98' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='frag_expire' type-id='type-id-2007' visibility='default' filepath='include/net/inet_frag.h' line='99' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='frags_cachep' type-id='type-id-538' visibility='default' filepath='include/net/inet_frag.h' line='100' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='frags_cache_name' type-id='type-id-4' visibility='default' filepath='include/net/inet_frag.h' line='101' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='rhash_params' type-id='type-id-2243' visibility='default' filepath='include/net/inet_frag.h' line='102' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='inet_frag_queue' size-in-bits='1472' is-struct='yes' visibility='default' filepath='include/net/inet_frag.h' line='71' column='1' id='type-id-2244'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='node' type-id='type-id-2245' visibility='default' filepath='include/net/inet_frag.h' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='key' type-id='type-id-2246' visibility='default' filepath='include/net/inet_frag.h' line='76' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='timer' type-id='type-id-417' visibility='default' filepath='include/net/inet_frag.h' line='77' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='include/net/inet_frag.h' line='78' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='800'>
-          <var-decl name='refcnt' type-id='type-id-421' visibility='default' filepath='include/net/inet_frag.h' line='79' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='fragments' type-id='type-id-1768' visibility='default' filepath='include/net/inet_frag.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='rb_fragments' type-id='type-id-416' visibility='default' filepath='include/net/inet_frag.h' line='81' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='fragments_tail' type-id='type-id-1768' visibility='default' filepath='include/net/inet_frag.h' line='82' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='last_run_head' type-id='type-id-1768' visibility='default' filepath='include/net/inet_frag.h' line='83' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='stamp' type-id='type-id-682' visibility='default' filepath='include/net/inet_frag.h' line='84' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='len' type-id='type-id-17' visibility='default' filepath='include/net/inet_frag.h' line='85' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1184'>
-          <var-decl name='meat' type-id='type-id-17' visibility='default' filepath='include/net/inet_frag.h' line='86' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='flags' type-id='type-id-895' visibility='default' filepath='include/net/inet_frag.h' line='87' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1232'>
-          <var-decl name='max_size' type-id='type-id-688' visibility='default' filepath='include/net/inet_frag.h' line='88' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='net' type-id='type-id-2247' visibility='default' filepath='include/net/inet_frag.h' line='89' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/net/inet_frag.h' line='90' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='rhash_head' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/rhashtable-types.h' line='17' column='1' id='type-id-2245'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='next' type-id='type-id-2248' visibility='default' filepath='include/linux/rhashtable-types.h' line='18' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__29' size-in-bits='352' is-anonymous='yes' visibility='default' filepath='include/net/inet_frag.h' line='73' column='1' id='type-id-2246'>
-        <data-member access='private'>
-          <var-decl name='v4' type-id='type-id-2249' visibility='default' filepath='include/net/inet_frag.h' line='74' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='v6' type-id='type-id-2250' visibility='default' filepath='include/net/inet_frag.h' line='75' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='frag_v4_compare_key' size-in-bits='160' is-struct='yes' visibility='default' filepath='include/net/inet_frag.h' line='34' column='1' id='type-id-2249'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='saddr' type-id='type-id-929' visibility='default' filepath='include/net/inet_frag.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='daddr' type-id='type-id-929' visibility='default' filepath='include/net/inet_frag.h' line='36' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='user' type-id='type-id-7' visibility='default' filepath='include/net/inet_frag.h' line='37' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='vif' type-id='type-id-7' visibility='default' filepath='include/net/inet_frag.h' line='38' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='id' type-id='type-id-926' visibility='default' filepath='include/net/inet_frag.h' line='39' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='144'>
-          <var-decl name='protocol' type-id='type-id-688' visibility='default' filepath='include/net/inet_frag.h' line='40' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='frag_v6_compare_key' size-in-bits='352' is-struct='yes' visibility='default' filepath='include/net/inet_frag.h' line='43' column='1' id='type-id-2250'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='saddr' type-id='type-id-2251' visibility='default' filepath='include/net/inet_frag.h' line='44' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='daddr' type-id='type-id-2251' visibility='default' filepath='include/net/inet_frag.h' line='45' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='user' type-id='type-id-7' visibility='default' filepath='include/net/inet_frag.h' line='46' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='id' type-id='type-id-929' visibility='default' filepath='include/net/inet_frag.h' line='47' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='iif' type-id='type-id-7' visibility='default' filepath='include/net/inet_frag.h' line='48' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='in6_addr' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/in6.h' line='33' column='1' id='type-id-2251'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='in6_u' type-id='type-id-2252' visibility='default' filepath='include/uapi/linux/in6.h' line='40' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__30' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/in6.h' line='34' column='1' id='type-id-2252'>
-        <data-member access='private'>
-          <var-decl name='u6_addr8' type-id='type-id-938' visibility='default' filepath='include/uapi/linux/in6.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='u6_addr16' type-id='type-id-927' visibility='default' filepath='include/uapi/linux/in6.h' line='37' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='u6_addr32' type-id='type-id-931' visibility='default' filepath='include/uapi/linux/in6.h' line='38' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='rhashtable_params' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/rhashtable-types.h' line='57' column='1' id='type-id-2243'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='nelem_hint' type-id='type-id-688' visibility='default' filepath='include/linux/rhashtable-types.h' line='58' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='key_len' type-id='type-id-688' visibility='default' filepath='include/linux/rhashtable-types.h' line='59' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='key_offset' type-id='type-id-688' visibility='default' filepath='include/linux/rhashtable-types.h' line='60' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='head_offset' type-id='type-id-688' visibility='default' filepath='include/linux/rhashtable-types.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='max_size' type-id='type-id-5' visibility='default' filepath='include/linux/rhashtable-types.h' line='62' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='min_size' type-id='type-id-688' visibility='default' filepath='include/linux/rhashtable-types.h' line='63' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='112'>
-          <var-decl name='automatic_shrinking' type-id='type-id-33' visibility='default' filepath='include/linux/rhashtable-types.h' line='64' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='120'>
-          <var-decl name='locks_mul' type-id='type-id-214' visibility='default' filepath='include/linux/rhashtable-types.h' line='65' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='hashfn' type-id='type-id-2253' visibility='default' filepath='include/linux/rhashtable-types.h' line='66' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='obj_hashfn' type-id='type-id-2254' visibility='default' filepath='include/linux/rhashtable-types.h' line='67' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='obj_cmpfn' type-id='type-id-2255' visibility='default' filepath='include/linux/rhashtable-types.h' line='68' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='rht_hashfn_t' type-id='type-id-2256' filepath='include/linux/rhashtable-types.h' line='38' column='1' id='type-id-2253'/>
-      <typedef-decl name='rht_obj_hashfn_t' type-id='type-id-2256' filepath='include/linux/rhashtable-types.h' line='39' column='1' id='type-id-2254'/>
-      <typedef-decl name='rht_obj_cmpfn_t' type-id='type-id-2257' filepath='include/linux/rhashtable-types.h' line='40' column='1' id='type-id-2255'/>
-      <class-decl name='rhashtable_compare_arg' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/rhashtable-types.h' line='33' column='1' id='type-id-2258'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ht' type-id='type-id-2259' visibility='default' filepath='include/linux/rhashtable-types.h' line='34' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='key' type-id='type-id-15' visibility='default' filepath='include/linux/rhashtable-types.h' line='35' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='rhashtable' size-in-bits='1088' is-struct='yes' visibility='default' filepath='include/linux/rhashtable-types.h' line='83' column='1' id='type-id-2239'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='tbl' type-id='type-id-2260' visibility='default' filepath='include/linux/rhashtable-types.h' line='84' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='key_len' type-id='type-id-5' visibility='default' filepath='include/linux/rhashtable-types.h' line='85' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='max_elems' type-id='type-id-5' visibility='default' filepath='include/linux/rhashtable-types.h' line='86' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='p' type-id='type-id-2243' visibility='default' filepath='include/linux/rhashtable-types.h' line='87' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='rhlist' type-id='type-id-33' visibility='default' filepath='include/linux/rhashtable-types.h' line='88' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='run_work' type-id='type-id-255' visibility='default' filepath='include/linux/rhashtable-types.h' line='89' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='mutex' type-id='type-id-245' visibility='default' filepath='include/linux/rhashtable-types.h' line='90' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='include/linux/rhashtable-types.h' line='91' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1056'>
-          <var-decl name='nelems' type-id='type-id-26' visibility='default' filepath='include/linux/rhashtable-types.h' line='92' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='local_ports' size-in-bits='160' is-struct='yes' visibility='default' filepath='include/net/netns/ipv4.h' line='21' column='1' id='type-id-2231'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lock' type-id='type-id-1919' visibility='default' filepath='include/net/netns/ipv4.h' line='22' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='range' type-id='type-id-465' visibility='default' filepath='include/net/netns/ipv4.h' line='23' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='warned' type-id='type-id-33' visibility='default' filepath='include/net/netns/ipv4.h' line='24' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='inet_timewait_death_row' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/net/netns/ipv4.h' line='34' column='1' id='type-id-2232'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='tw_count' type-id='type-id-26' visibility='default' filepath='include/net/netns/ipv4.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='hashinfo' type-id='type-id-2261' visibility='default' filepath='include/net/netns/ipv4.h' line='37' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='sysctl_max_tw_buckets' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv4.h' line='38' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ping_group_range' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/net/netns/ipv4.h' line='27' column='1' id='type-id-2235'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lock' type-id='type-id-1919' visibility='default' filepath='include/net/netns/ipv4.h' line='28' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='range' type-id='type-id-1139' visibility='default' filepath='include/net/netns/ipv4.h' line='29' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='siphash_key_t' type-id='type-id-2262' filepath='include/linux/siphash.h' line='22' column='1' id='type-id-2237'/>
-      <class-decl name='__anonymous_struct__49' size-in-bits='128' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-2237' visibility='default' filepath='include/linux/siphash.h' line='20' column='1' id='type-id-2262'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='key' type-id='type-id-739' visibility='default' filepath='include/linux/siphash.h' line='21' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='netns_ipv6' size-in-bits='8704' is-struct='yes' visibility='default' filepath='include/net/netns/ipv6.h' line='50' column='1' id='type-id-1656'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='sysctl' type-id='type-id-2263' visibility='default' filepath='include/net/netns/ipv6.h' line='51' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='devconf_all' type-id='type-id-2264' visibility='default' filepath='include/net/netns/ipv6.h' line='52' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='devconf_dflt' type-id='type-id-2264' visibility='default' filepath='include/net/netns/ipv6.h' line='53' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='peers' type-id='type-id-2228' visibility='default' filepath='include/net/netns/ipv6.h' line='54' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='frags' type-id='type-id-2229' visibility='default' filepath='include/net/netns/ipv6.h' line='55' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4096'>
-          <var-decl name='ip6table_filter' type-id='type-id-2230' visibility='default' filepath='include/net/netns/ipv6.h' line='57' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4160'>
-          <var-decl name='ip6table_mangle' type-id='type-id-2230' visibility='default' filepath='include/net/netns/ipv6.h' line='58' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4224'>
-          <var-decl name='ip6table_raw' type-id='type-id-2230' visibility='default' filepath='include/net/netns/ipv6.h' line='59' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4288'>
-          <var-decl name='ip6table_security' type-id='type-id-2230' visibility='default' filepath='include/net/netns/ipv6.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4352'>
-          <var-decl name='ip6table_nat' type-id='type-id-2230' visibility='default' filepath='include/net/netns/ipv6.h' line='63' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4416'>
-          <var-decl name='fib6_null_entry' type-id='type-id-2265' visibility='default' filepath='include/net/netns/ipv6.h' line='65' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4480'>
-          <var-decl name='ip6_null_entry' type-id='type-id-2266' visibility='default' filepath='include/net/netns/ipv6.h' line='66' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4544'>
-          <var-decl name='rt6_stats' type-id='type-id-2267' visibility='default' filepath='include/net/netns/ipv6.h' line='67' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4608'>
-          <var-decl name='ip6_fib_timer' type-id='type-id-417' visibility='default' filepath='include/net/netns/ipv6.h' line='68' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4928'>
-          <var-decl name='fib_table_hash' type-id='type-id-746' visibility='default' filepath='include/net/netns/ipv6.h' line='69' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4992'>
-          <var-decl name='fib6_main_tbl' type-id='type-id-2268' visibility='default' filepath='include/net/netns/ipv6.h' line='70' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5056'>
-          <var-decl name='fib6_walkers' type-id='type-id-20' visibility='default' filepath='include/net/netns/ipv6.h' line='71' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5632'>
-          <var-decl name='ip6_dst_ops' type-id='type-id-2269' visibility='default' filepath='include/net/netns/ipv6.h' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7168'>
-          <var-decl name='fib6_walker_lock' type-id='type-id-885' visibility='default' filepath='include/net/netns/ipv6.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7232'>
-          <var-decl name='fib6_gc_lock' type-id='type-id-247' visibility='default' filepath='include/net/netns/ipv6.h' line='74' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7264'>
-          <var-decl name='ip6_rt_gc_expire' type-id='type-id-5' visibility='default' filepath='include/net/netns/ipv6.h' line='75' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7296'>
-          <var-decl name='ip6_rt_last_gc' type-id='type-id-16' visibility='default' filepath='include/net/netns/ipv6.h' line='76' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7360'>
-          <var-decl name='fib6_rules_require_fldissect' type-id='type-id-5' visibility='default' filepath='include/net/netns/ipv6.h' line='78' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7392'>
-          <var-decl name='fib6_has_custom_rules' type-id='type-id-33' visibility='default' filepath='include/net/netns/ipv6.h' line='79' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7424'>
-          <var-decl name='ip6_prohibit_entry' type-id='type-id-2266' visibility='default' filepath='include/net/netns/ipv6.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7488'>
-          <var-decl name='ip6_blk_hole_entry' type-id='type-id-2266' visibility='default' filepath='include/net/netns/ipv6.h' line='81' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7552'>
-          <var-decl name='fib6_local_tbl' type-id='type-id-2268' visibility='default' filepath='include/net/netns/ipv6.h' line='82' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7616'>
-          <var-decl name='fib6_rules_ops' type-id='type-id-2225' visibility='default' filepath='include/net/netns/ipv6.h' line='83' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7680'>
-          <var-decl name='icmp_sk' type-id='type-id-2227' visibility='default' filepath='include/net/netns/ipv6.h' line='85' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7744'>
-          <var-decl name='ndisc_sk' type-id='type-id-1648' visibility='default' filepath='include/net/netns/ipv6.h' line='86' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7808'>
-          <var-decl name='tcp_sk' type-id='type-id-1648' visibility='default' filepath='include/net/netns/ipv6.h' line='87' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7872'>
-          <var-decl name='igmp_sk' type-id='type-id-1648' visibility='default' filepath='include/net/netns/ipv6.h' line='88' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7936'>
-          <var-decl name='mc_autojoin_sk' type-id='type-id-1648' visibility='default' filepath='include/net/netns/ipv6.h' line='89' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8000'>
-          <var-decl name='dev_addr_genid' type-id='type-id-26' visibility='default' filepath='include/net/netns/ipv6.h' line='98' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8032'>
-          <var-decl name='fib6_sernum' type-id='type-id-26' visibility='default' filepath='include/net/netns/ipv6.h' line='99' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8064'>
-          <var-decl name='seg6_data' type-id='type-id-2270' visibility='default' filepath='include/net/netns/ipv6.h' line='100' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8128'>
-          <var-decl name='notifier_ops' type-id='type-id-2236' visibility='default' filepath='include/net/netns/ipv6.h' line='101' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8192'>
-          <var-decl name='ip6mr_notifier_ops' type-id='type-id-2236' visibility='default' filepath='include/net/netns/ipv6.h' line='102' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8256'>
-          <var-decl name='ipmr_seq' type-id='type-id-5' visibility='default' filepath='include/net/netns/ipv6.h' line='103' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8320'>
-          <var-decl name='ip6addrlbl_table' type-id='type-id-2271' visibility='default' filepath='include/net/netns/ipv6.h' line='108' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='netns_sysctl_ipv6' size-in-bits='1152' is-struct='yes' visibility='default' filepath='include/net/netns/ipv6.h' line='14' column='1' id='type-id-2263'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='hdr' type-id='type-id-1585' visibility='default' filepath='include/net/netns/ipv6.h' line='16' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='route_hdr' type-id='type-id-1585' visibility='default' filepath='include/net/netns/ipv6.h' line='17' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='icmp_hdr' type-id='type-id-1585' visibility='default' filepath='include/net/netns/ipv6.h' line='18' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='frags_hdr' type-id='type-id-1585' visibility='default' filepath='include/net/netns/ipv6.h' line='19' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='xfrm6_hdr' type-id='type-id-1585' visibility='default' filepath='include/net/netns/ipv6.h' line='20' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='bindv6only' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv6.h' line='22' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='flush_delay' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv6.h' line='23' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='ip6_rt_max_size' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv6.h' line='24' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='ip6_rt_gc_min_interval' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv6.h' line='25' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='ip6_rt_gc_timeout' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv6.h' line='26' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='ip6_rt_gc_interval' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv6.h' line='27' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='ip6_rt_gc_elasticity' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv6.h' line='28' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='ip6_rt_mtu_expires' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv6.h' line='29' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='ip6_rt_min_advmss' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv6.h' line='30' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='multipath_hash_policy' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv6.h' line='31' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='flowlabel_consistency' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv6.h' line='32' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='672'>
-          <var-decl name='auto_flowlabels' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv6.h' line='33' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='icmpv6_time' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv6.h' line='34' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='736'>
-          <var-decl name='icmpv6_echo_ignore_all' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv6.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='anycast_src_echo_reply' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv6.h' line='36' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='800'>
-          <var-decl name='ip_nonlocal_bind' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv6.h' line='37' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='fwmark_reflect' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv6.h' line='38' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='864'>
-          <var-decl name='idgen_retries' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv6.h' line='39' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='idgen_delay' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv6.h' line='40' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='928'>
-          <var-decl name='flowlabel_state_ranges' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv6.h' line='41' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='flowlabel_reflect' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv6.h' line='42' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='992'>
-          <var-decl name='max_dst_opts_cnt' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv6.h' line='43' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='max_hbh_opts_cnt' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv6.h' line='44' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1056'>
-          <var-decl name='max_dst_opts_len' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv6.h' line='45' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='max_hbh_opts_len' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv6.h' line='46' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1120'>
-          <var-decl name='seg6_flowlabel' type-id='type-id-17' visibility='default' filepath='include/net/netns/ipv6.h' line='47' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='dst_ops' size-in-bits='1536' is-struct='yes' visibility='default' filepath='include/net/dst_ops.h' line='15' column='1' id='type-id-2269'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='family' type-id='type-id-312' visibility='default' filepath='include/net/dst_ops.h' line='16' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='gc_thresh' type-id='type-id-5' visibility='default' filepath='include/net/dst_ops.h' line='17' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='gc' type-id='type-id-2272' visibility='default' filepath='include/net/dst_ops.h' line='19' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='check' type-id='type-id-2273' visibility='default' filepath='include/net/dst_ops.h' line='20' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='default_advmss' type-id='type-id-2274' visibility='default' filepath='include/net/dst_ops.h' line='21' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='mtu' type-id='type-id-2274' visibility='default' filepath='include/net/dst_ops.h' line='22' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='cow_metrics' type-id='type-id-2275' visibility='default' filepath='include/net/dst_ops.h' line='23' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='destroy' type-id='type-id-2276' visibility='default' filepath='include/net/dst_ops.h' line='24' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='ifdown' type-id='type-id-2277' visibility='default' filepath='include/net/dst_ops.h' line='25' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='negative_advice' type-id='type-id-2278' visibility='default' filepath='include/net/dst_ops.h' line='27' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='link_failure' type-id='type-id-1770' visibility='default' filepath='include/net/dst_ops.h' line='28' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='update_pmtu' type-id='type-id-2279' visibility='default' filepath='include/net/dst_ops.h' line='29' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='redirect' type-id='type-id-2280' visibility='default' filepath='include/net/dst_ops.h' line='32' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='local_out' type-id='type-id-2281' visibility='default' filepath='include/net/dst_ops.h' line='34' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='neigh_lookup' type-id='type-id-2282' visibility='default' filepath='include/net/dst_ops.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='confirm_neigh' type-id='type-id-2283' visibility='default' filepath='include/net/dst_ops.h' line='38' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='kmem_cachep' type-id='type-id-538' visibility='default' filepath='include/net/dst_ops.h' line='41' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='pcpuc_entries' type-id='type-id-204' visibility='default' filepath='include/net/dst_ops.h' line='43' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='percpu_counter' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/percpu_counter.h' line='20' column='1' id='type-id-204'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lock' type-id='type-id-36' visibility='default' filepath='include/linux/percpu_counter.h' line='21' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='count' type-id='type-id-1548' visibility='default' filepath='include/linux/percpu_counter.h' line='22' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/percpu_counter.h' line='24' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='counters' type-id='type-id-2284' visibility='default' filepath='include/linux/percpu_counter.h' line='26' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__50' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/net/netns/ipv6.h' line='104' column='1' id='type-id-2271'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='head' type-id='type-id-186' visibility='default' filepath='include/net/netns/ipv6.h' line='105' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='include/net/netns/ipv6.h' line='106' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='seq' type-id='type-id-7' visibility='default' filepath='include/net/netns/ipv6.h' line='107' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='netns_nf' size-in-bits='1920' is-struct='yes' visibility='default' filepath='include/net/netns/netfilter.h' line='11' column='1' id='type-id-1657'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='proc_netfilter' type-id='type-id-262' visibility='default' filepath='include/net/netns/netfilter.h' line='13' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='queue_handler' type-id='type-id-2285' visibility='default' filepath='include/net/netns/netfilter.h' line='15' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='nf_loggers' type-id='type-id-1118' visibility='default' filepath='include/net/netns/netfilter.h' line='16' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='nf_log_dir_header' type-id='type-id-1585' visibility='default' filepath='include/net/netns/netfilter.h' line='18' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='hooks_ipv4' type-id='type-id-1155' visibility='default' filepath='include/net/netns/netfilter.h' line='20' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='hooks_ipv6' type-id='type-id-1155' visibility='default' filepath='include/net/netns/netfilter.h' line='21' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='hooks_arp' type-id='type-id-1154' visibility='default' filepath='include/net/netns/netfilter.h' line='23' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='defrag_ipv4' type-id='type-id-33' visibility='default' filepath='include/net/netns/netfilter.h' line='32' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1864'>
-          <var-decl name='defrag_ipv6' type-id='type-id-33' visibility='default' filepath='include/net/netns/netfilter.h' line='35' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='netns_xt' size-in-bits='1728' is-struct='yes' visibility='default' filepath='include/net/netns/x_tables.h' line='10' column='1' id='type-id-1658'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='tables' type-id='type-id-1141' visibility='default' filepath='include/net/netns/x_tables.h' line='11' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='notrack_deprecated_warning' type-id='type-id-33' visibility='default' filepath='include/net/netns/x_tables.h' line='12' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1672'>
-          <var-decl name='clusterip_deprecated_warning' type-id='type-id-33' visibility='default' filepath='include/net/netns/x_tables.h' line='13' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='netns_ct' size-in-bits='4544' is-struct='yes' visibility='default' filepath='include/net/netns/conntrack.h' line='93' column='1' id='type-id-1659'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='count' type-id='type-id-26' visibility='default' filepath='include/net/netns/conntrack.h' line='94' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='expect_count' type-id='type-id-5' visibility='default' filepath='include/net/netns/conntrack.h' line='95' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ecache_dwork' type-id='type-id-411' visibility='default' filepath='include/net/netns/conntrack.h' line='97' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='ecache_dwork_pending' type-id='type-id-33' visibility='default' filepath='include/net/netns/conntrack.h' line='98' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='sysctl_header' type-id='type-id-1585' visibility='default' filepath='include/net/netns/conntrack.h' line='101' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='acct_sysctl_header' type-id='type-id-1585' visibility='default' filepath='include/net/netns/conntrack.h' line='102' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='tstamp_sysctl_header' type-id='type-id-1585' visibility='default' filepath='include/net/netns/conntrack.h' line='103' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='event_sysctl_header' type-id='type-id-1585' visibility='default' filepath='include/net/netns/conntrack.h' line='104' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='helper_sysctl_header' type-id='type-id-1585' visibility='default' filepath='include/net/netns/conntrack.h' line='105' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='sysctl_log_invalid' type-id='type-id-5' visibility='default' filepath='include/net/netns/conntrack.h' line='107' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1184'>
-          <var-decl name='sysctl_events' type-id='type-id-17' visibility='default' filepath='include/net/netns/conntrack.h' line='108' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='sysctl_acct' type-id='type-id-17' visibility='default' filepath='include/net/netns/conntrack.h' line='109' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1248'>
-          <var-decl name='sysctl_auto_assign_helper' type-id='type-id-17' visibility='default' filepath='include/net/netns/conntrack.h' line='110' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='auto_assign_helper_warned' type-id='type-id-33' visibility='default' filepath='include/net/netns/conntrack.h' line='111' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1312'>
-          <var-decl name='sysctl_tstamp' type-id='type-id-17' visibility='default' filepath='include/net/netns/conntrack.h' line='112' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='sysctl_checksum' type-id='type-id-17' visibility='default' filepath='include/net/netns/conntrack.h' line='113' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='pcpu_lists' type-id='type-id-2286' visibility='default' filepath='include/net/netns/conntrack.h' line='115' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='stat' type-id='type-id-2287' visibility='default' filepath='include/net/netns/conntrack.h' line='116' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='nf_conntrack_event_cb' type-id='type-id-2288' visibility='default' filepath='include/net/netns/conntrack.h' line='117' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='nf_expect_event_cb' type-id='type-id-2289' visibility='default' filepath='include/net/netns/conntrack.h' line='118' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='nf_ct_proto' type-id='type-id-2290' visibility='default' filepath='include/net/netns/conntrack.h' line='119' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='delayed_work' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/linux/workqueue.h' line='115' column='1' id='type-id-411'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='work' type-id='type-id-255' visibility='default' filepath='include/linux/workqueue.h' line='116' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='timer' type-id='type-id-417' visibility='default' filepath='include/linux/workqueue.h' line='117' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='wq' type-id='type-id-654' visibility='default' filepath='include/linux/workqueue.h' line='120' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='cpu' type-id='type-id-17' visibility='default' filepath='include/linux/workqueue.h' line='121' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ct_pcpu' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/net/netns/conntrack.h' line='87' column='1' id='type-id-2291'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='include/net/netns/conntrack.h' line='88' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='unconfirmed' type-id='type-id-2292' visibility='default' filepath='include/net/netns/conntrack.h' line='89' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='dying' type-id='type-id-2292' visibility='default' filepath='include/net/netns/conntrack.h' line='90' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='hlist_nulls_head' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/list_nulls.h' line='21' column='1' id='type-id-2292'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='first' type-id='type-id-2293' visibility='default' filepath='include/linux/list_nulls.h' line='22' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='hlist_nulls_node' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/list_nulls.h' line='25' column='1' id='type-id-2294'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='next' type-id='type-id-2293' visibility='default' filepath='include/linux/list_nulls.h' line='26' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='pprev' type-id='type-id-2295' visibility='default' filepath='include/linux/list_nulls.h' line='26' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ip_conntrack_stat' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/netfilter/nf_conntrack_common.h' line='7' column='1' id='type-id-2296'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='found' type-id='type-id-5' visibility='default' filepath='include/linux/netfilter/nf_conntrack_common.h' line='8' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='invalid' type-id='type-id-5' visibility='default' filepath='include/linux/netfilter/nf_conntrack_common.h' line='9' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ignore' type-id='type-id-5' visibility='default' filepath='include/linux/netfilter/nf_conntrack_common.h' line='10' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='insert' type-id='type-id-5' visibility='default' filepath='include/linux/netfilter/nf_conntrack_common.h' line='11' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='insert_failed' type-id='type-id-5' visibility='default' filepath='include/linux/netfilter/nf_conntrack_common.h' line='12' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='drop' type-id='type-id-5' visibility='default' filepath='include/linux/netfilter/nf_conntrack_common.h' line='13' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='early_drop' type-id='type-id-5' visibility='default' filepath='include/linux/netfilter/nf_conntrack_common.h' line='14' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='error' type-id='type-id-5' visibility='default' filepath='include/linux/netfilter/nf_conntrack_common.h' line='15' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='expect_new' type-id='type-id-5' visibility='default' filepath='include/linux/netfilter/nf_conntrack_common.h' line='16' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='expect_create' type-id='type-id-5' visibility='default' filepath='include/linux/netfilter/nf_conntrack_common.h' line='17' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='expect_delete' type-id='type-id-5' visibility='default' filepath='include/linux/netfilter/nf_conntrack_common.h' line='18' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='search_restart' type-id='type-id-5' visibility='default' filepath='include/linux/netfilter/nf_conntrack_common.h' line='19' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='nf_ip_net' size-in-bits='2880' is-struct='yes' visibility='default' filepath='include/net/netns/conntrack.h' line='73' column='1' id='type-id-2290'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='generic' type-id='type-id-2297' visibility='default' filepath='include/net/netns/conntrack.h' line='74' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='tcp' type-id='type-id-2298' visibility='default' filepath='include/net/netns/conntrack.h' line='75' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='udp' type-id='type-id-2299' visibility='default' filepath='include/net/netns/conntrack.h' line='76' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='icmp' type-id='type-id-2300' visibility='default' filepath='include/net/netns/conntrack.h' line='77' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='icmpv6' type-id='type-id-2300' visibility='default' filepath='include/net/netns/conntrack.h' line='78' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='dccp' type-id='type-id-2301' visibility='default' filepath='include/net/netns/conntrack.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='sctp' type-id='type-id-2302' visibility='default' filepath='include/net/netns/conntrack.h' line='83' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='nf_generic_net' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/netns/conntrack.h' line='29' column='1' id='type-id-2297'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='pn' type-id='type-id-2303' visibility='default' filepath='include/net/netns/conntrack.h' line='30' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='timeout' type-id='type-id-5' visibility='default' filepath='include/net/netns/conntrack.h' line='31' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='nf_proto_net' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/net/netns/conntrack.h' line='21' column='1' id='type-id-2303'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ctl_table_header' type-id='type-id-1585' visibility='default' filepath='include/net/netns/conntrack.h' line='23' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ctl_table' type-id='type-id-1596' visibility='default' filepath='include/net/netns/conntrack.h' line='24' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='users' type-id='type-id-5' visibility='default' filepath='include/net/netns/conntrack.h' line='26' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='nf_tcp_net' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/net/netns/conntrack.h' line='34' column='1' id='type-id-2298'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='pn' type-id='type-id-2303' visibility='default' filepath='include/net/netns/conntrack.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='timeouts' type-id='type-id-1192' visibility='default' filepath='include/net/netns/conntrack.h' line='36' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='tcp_loose' type-id='type-id-5' visibility='default' filepath='include/net/netns/conntrack.h' line='37' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='672'>
-          <var-decl name='tcp_be_liberal' type-id='type-id-5' visibility='default' filepath='include/net/netns/conntrack.h' line='38' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='tcp_max_retrans' type-id='type-id-5' visibility='default' filepath='include/net/netns/conntrack.h' line='39' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='nf_udp_net' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/netns/conntrack.h' line='48' column='1' id='type-id-2299'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='pn' type-id='type-id-2303' visibility='default' filepath='include/net/netns/conntrack.h' line='49' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='timeouts' type-id='type-id-488' visibility='default' filepath='include/net/netns/conntrack.h' line='50' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='nf_icmp_net' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/netns/conntrack.h' line='53' column='1' id='type-id-2300'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='pn' type-id='type-id-2303' visibility='default' filepath='include/net/netns/conntrack.h' line='54' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='timeout' type-id='type-id-5' visibility='default' filepath='include/net/netns/conntrack.h' line='55' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='nf_dccp_net' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/net/netns/conntrack.h' line='59' column='1' id='type-id-2301'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='pn' type-id='type-id-2303' visibility='default' filepath='include/net/netns/conntrack.h' line='60' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='dccp_loose' type-id='type-id-17' visibility='default' filepath='include/net/netns/conntrack.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='dccp_timeout' type-id='type-id-1190' visibility='default' filepath='include/net/netns/conntrack.h' line='62' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='nf_sctp_net' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/net/netns/conntrack.h' line='67' column='1' id='type-id-2302'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='pn' type-id='type-id-2303' visibility='default' filepath='include/net/netns/conntrack.h' line='68' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='timeouts' type-id='type-id-1190' visibility='default' filepath='include/net/netns/conntrack.h' line='69' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='netns_nf_frag' size-in-bits='2560' is-struct='yes' visibility='default' filepath='include/net/netns/ipv6.h' line='112' column='1' id='type-id-1660'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='frags' type-id='type-id-2229' visibility='default' filepath='include/net/netns/ipv6.h' line='113' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='netns_xfrm' size-in-bits='6656' is-struct='yes' visibility='default' filepath='include/net/netns/xfrm.h' line='31' column='1' id='type-id-1663'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='state_all' type-id='type-id-20' visibility='default' filepath='include/net/netns/xfrm.h' line='32' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='state_bydst' type-id='type-id-746' visibility='default' filepath='include/net/netns/xfrm.h' line='41' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='state_bysrc' type-id='type-id-746' visibility='default' filepath='include/net/netns/xfrm.h' line='42' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='state_byspi' type-id='type-id-746' visibility='default' filepath='include/net/netns/xfrm.h' line='43' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='state_hmask' type-id='type-id-5' visibility='default' filepath='include/net/netns/xfrm.h' line='44' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='state_num' type-id='type-id-5' visibility='default' filepath='include/net/netns/xfrm.h' line='45' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='state_hash_work' type-id='type-id-255' visibility='default' filepath='include/net/netns/xfrm.h' line='46' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='policy_all' type-id='type-id-20' visibility='default' filepath='include/net/netns/xfrm.h' line='48' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='policy_byidx' type-id='type-id-746' visibility='default' filepath='include/net/netns/xfrm.h' line='49' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='policy_idx_hmask' type-id='type-id-5' visibility='default' filepath='include/net/netns/xfrm.h' line='50' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='policy_inexact' type-id='type-id-1124' visibility='default' filepath='include/net/netns/xfrm.h' line='51' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='policy_bydst' type-id='type-id-1215' visibility='default' filepath='include/net/netns/xfrm.h' line='52' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='policy_count' type-id='type-id-1194' visibility='default' filepath='include/net/netns/xfrm.h' line='53' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='policy_hash_work' type-id='type-id-255' visibility='default' filepath='include/net/netns/xfrm.h' line='54' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='policy_hthresh' type-id='type-id-2304' visibility='default' filepath='include/net/netns/xfrm.h' line='55' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2304'>
-          <var-decl name='nlsk' type-id='type-id-1648' visibility='default' filepath='include/net/netns/xfrm.h' line='58' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='nlsk_stash' type-id='type-id-1648' visibility='default' filepath='include/net/netns/xfrm.h' line='59' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2432'>
-          <var-decl name='sysctl_aevent_etime' type-id='type-id-7' visibility='default' filepath='include/net/netns/xfrm.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2464'>
-          <var-decl name='sysctl_aevent_rseqth' type-id='type-id-7' visibility='default' filepath='include/net/netns/xfrm.h' line='62' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2496'>
-          <var-decl name='sysctl_larval_drop' type-id='type-id-17' visibility='default' filepath='include/net/netns/xfrm.h' line='63' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2528'>
-          <var-decl name='sysctl_acq_expires' type-id='type-id-7' visibility='default' filepath='include/net/netns/xfrm.h' line='64' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2560'>
-          <var-decl name='sysctl_hdr' type-id='type-id-1585' visibility='default' filepath='include/net/netns/xfrm.h' line='66' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3072'>
-          <var-decl name='xfrm4_dst_ops' type-id='type-id-2269' visibility='default' filepath='include/net/netns/xfrm.h' line='69' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4608'>
-          <var-decl name='xfrm6_dst_ops' type-id='type-id-2269' visibility='default' filepath='include/net/netns/xfrm.h' line='71' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6144'>
-          <var-decl name='xfrm_state_lock' type-id='type-id-247' visibility='default' filepath='include/net/netns/xfrm.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6176'>
-          <var-decl name='xfrm_policy_lock' type-id='type-id-247' visibility='default' filepath='include/net/netns/xfrm.h' line='74' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6208'>
-          <var-decl name='xfrm_cfg_mutex' type-id='type-id-245' visibility='default' filepath='include/net/netns/xfrm.h' line='75' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='xfrm_policy_hash' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/net/netns/xfrm.h' line='13' column='1' id='type-id-1214'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='table' type-id='type-id-746' visibility='default' filepath='include/net/netns/xfrm.h' line='14' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='hmask' type-id='type-id-5' visibility='default' filepath='include/net/netns/xfrm.h' line='15' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='dbits4' type-id='type-id-214' visibility='default' filepath='include/net/netns/xfrm.h' line='16' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='104'>
-          <var-decl name='sbits4' type-id='type-id-214' visibility='default' filepath='include/net/netns/xfrm.h' line='17' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='112'>
-          <var-decl name='dbits6' type-id='type-id-214' visibility='default' filepath='include/net/netns/xfrm.h' line='18' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='120'>
-          <var-decl name='sbits6' type-id='type-id-214' visibility='default' filepath='include/net/netns/xfrm.h' line='19' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='xfrm_policy_hthresh' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/net/netns/xfrm.h' line='22' column='1' id='type-id-2304'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='work' type-id='type-id-255' visibility='default' filepath='include/net/netns/xfrm.h' line='23' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='lock' type-id='type-id-1919' visibility='default' filepath='include/net/netns/xfrm.h' line='24' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='lbits4' type-id='type-id-214' visibility='default' filepath='include/net/netns/xfrm.h' line='25' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='328'>
-          <var-decl name='rbits4' type-id='type-id-214' visibility='default' filepath='include/net/netns/xfrm.h' line='26' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='336'>
-          <var-decl name='lbits6' type-id='type-id-214' visibility='default' filepath='include/net/netns/xfrm.h' line='27' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='344'>
-          <var-decl name='rbits6' type-id='type-id-214' visibility='default' filepath='include/net/netns/xfrm.h' line='28' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='netns_can' size-in-bits='1344' is-struct='yes' visibility='default' filepath='include/net/netns/can.h' line='15' column='1' id='type-id-1664'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='proc_dir' type-id='type-id-262' visibility='default' filepath='include/net/netns/can.h' line='17' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='pde_version' type-id='type-id-262' visibility='default' filepath='include/net/netns/can.h' line='18' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='pde_stats' type-id='type-id-262' visibility='default' filepath='include/net/netns/can.h' line='19' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='pde_reset_stats' type-id='type-id-262' visibility='default' filepath='include/net/netns/can.h' line='20' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='pde_rcvlist_all' type-id='type-id-262' visibility='default' filepath='include/net/netns/can.h' line='21' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='pde_rcvlist_fil' type-id='type-id-262' visibility='default' filepath='include/net/netns/can.h' line='22' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='pde_rcvlist_inv' type-id='type-id-262' visibility='default' filepath='include/net/netns/can.h' line='23' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='pde_rcvlist_sff' type-id='type-id-262' visibility='default' filepath='include/net/netns/can.h' line='24' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='pde_rcvlist_eff' type-id='type-id-262' visibility='default' filepath='include/net/netns/can.h' line='25' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='pde_rcvlist_err' type-id='type-id-262' visibility='default' filepath='include/net/netns/can.h' line='26' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='bcmproc_dir' type-id='type-id-262' visibility='default' filepath='include/net/netns/can.h' line='27' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='can_rx_alldev_list' type-id='type-id-2305' visibility='default' filepath='include/net/netns/can.h' line='31' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='can_rcvlists_lock' type-id='type-id-247' visibility='default' filepath='include/net/netns/can.h' line='32' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='can_stattimer' type-id='type-id-417' visibility='default' filepath='include/net/netns/can.h' line='33' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='can_stats' type-id='type-id-2306' visibility='default' filepath='include/net/netns/can.h' line='34' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='can_pstats' type-id='type-id-2307' visibility='default' filepath='include/net/netns/can.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='cgw_list' type-id='type-id-186' visibility='default' filepath='include/net/netns/can.h' line='38' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='cgroup_namespace' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/cgroup.h' line='856' column='1' id='type-id-2308'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='count' type-id='type-id-421' visibility='default' filepath='include/linux/cgroup.h' line='857' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ns' type-id='type-id-905' visibility='default' filepath='include/linux/cgroup.h' line='858' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='user_ns' type-id='type-id-917' visibility='default' filepath='include/linux/cgroup.h' line='859' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='ucounts' type-id='type-id-1580' visibility='default' filepath='include/linux/cgroup.h' line='860' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='root_cset' type-id='type-id-1531' visibility='default' filepath='include/linux/cgroup.h' line='861' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='css_set' size-in-bits='3264' is-struct='yes' visibility='default' filepath='include/linux/cgroup-defs.h' line='178' column='1' id='type-id-2309'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='subsys' type-id='type-id-961' visibility='default' filepath='include/linux/cgroup-defs.h' line='184' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='refcount' type-id='type-id-421' visibility='default' filepath='include/linux/cgroup-defs.h' line='187' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='dom_cset' type-id='type-id-1531' visibility='default' filepath='include/linux/cgroup-defs.h' line='195' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='dfl_cgrp' type-id='type-id-2310' visibility='default' filepath='include/linux/cgroup-defs.h' line='198' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='nr_tasks' type-id='type-id-17' visibility='default' filepath='include/linux/cgroup-defs.h' line='201' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='tasks' type-id='type-id-20' visibility='default' filepath='include/linux/cgroup-defs.h' line='210' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='mg_tasks' type-id='type-id-20' visibility='default' filepath='include/linux/cgroup-defs.h' line='211' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='dying_tasks' type-id='type-id-20' visibility='default' filepath='include/linux/cgroup-defs.h' line='212' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='task_iters' type-id='type-id-20' visibility='default' filepath='include/linux/cgroup-defs.h' line='215' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='e_cset_node' type-id='type-id-1143' visibility='default' filepath='include/linux/cgroup-defs.h' line='224' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='threaded_csets' type-id='type-id-20' visibility='default' filepath='include/linux/cgroup-defs.h' line='227' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='threaded_csets_node' type-id='type-id-20' visibility='default' filepath='include/linux/cgroup-defs.h' line='228' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='hlist' type-id='type-id-520' visibility='default' filepath='include/linux/cgroup-defs.h' line='234' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2496'>
-          <var-decl name='cgrp_links' type-id='type-id-20' visibility='default' filepath='include/linux/cgroup-defs.h' line='240' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2624'>
-          <var-decl name='mg_preload_node' type-id='type-id-20' visibility='default' filepath='include/linux/cgroup-defs.h' line='246' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2752'>
-          <var-decl name='mg_node' type-id='type-id-20' visibility='default' filepath='include/linux/cgroup-defs.h' line='247' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2880'>
-          <var-decl name='mg_src_cgrp' type-id='type-id-2310' visibility='default' filepath='include/linux/cgroup-defs.h' line='256' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2944'>
-          <var-decl name='mg_dst_cgrp' type-id='type-id-2310' visibility='default' filepath='include/linux/cgroup-defs.h' line='257' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3008'>
-          <var-decl name='mg_dst_cset' type-id='type-id-1531' visibility='default' filepath='include/linux/cgroup-defs.h' line='258' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3072'>
-          <var-decl name='dead' type-id='type-id-33' visibility='default' filepath='include/linux/cgroup-defs.h' line='261' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3136'>
-          <var-decl name='callback_head' type-id='type-id-385' visibility='default' filepath='include/linux/cgroup-defs.h' line='264' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='cgroup_subsys_state' size-in-bits='1920' is-struct='yes' visibility='default' filepath='include/linux/cgroup-defs.h' line='121' column='1' id='type-id-424'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cgroup' type-id='type-id-2310' visibility='default' filepath='include/linux/cgroup-defs.h' line='123' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ss' type-id='type-id-2311' visibility='default' filepath='include/linux/cgroup-defs.h' line='126' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='refcnt' type-id='type-id-391' visibility='default' filepath='include/linux/cgroup-defs.h' line='129' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='sibling' type-id='type-id-20' visibility='default' filepath='include/linux/cgroup-defs.h' line='132' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='children' type-id='type-id-20' visibility='default' filepath='include/linux/cgroup-defs.h' line='133' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='rstat_css_node' type-id='type-id-20' visibility='default' filepath='include/linux/cgroup-defs.h' line='136' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='id' type-id='type-id-17' visibility='default' filepath='include/linux/cgroup-defs.h' line='142' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='992'>
-          <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='include/linux/cgroup-defs.h' line='144' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='serial_nr' type-id='type-id-40' visibility='default' filepath='include/linux/cgroup-defs.h' line='152' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='online_cnt' type-id='type-id-26' visibility='default' filepath='include/linux/cgroup-defs.h' line='158' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='destroy_work' type-id='type-id-255' visibility='default' filepath='include/linux/cgroup-defs.h' line='161' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='destroy_rwork' type-id='type-id-392' visibility='default' filepath='include/linux/cgroup-defs.h' line='162' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='parent' type-id='type-id-365' visibility='default' filepath='include/linux/cgroup-defs.h' line='168' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='cgroup' size-in-bits='16384' is-struct='yes' visibility='default' filepath='include/linux/cgroup-defs.h' line='320' column='1' id='type-id-2312'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='self' type-id='type-id-424' visibility='default' filepath='include/linux/cgroup-defs.h' line='322' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='include/linux/cgroup-defs.h' line='324' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='id' type-id='type-id-17' visibility='default' filepath='include/linux/cgroup-defs.h' line='334' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2016'>
-          <var-decl name='level' type-id='type-id-17' visibility='default' filepath='include/linux/cgroup-defs.h' line='342' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='max_depth' type-id='type-id-17' visibility='default' filepath='include/linux/cgroup-defs.h' line='345' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2080'>
-          <var-decl name='nr_descendants' type-id='type-id-17' visibility='default' filepath='include/linux/cgroup-defs.h' line='358' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='nr_dying_descendants' type-id='type-id-17' visibility='default' filepath='include/linux/cgroup-defs.h' line='359' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2144'>
-          <var-decl name='max_descendants' type-id='type-id-17' visibility='default' filepath='include/linux/cgroup-defs.h' line='360' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='nr_populated_csets' type-id='type-id-17' visibility='default' filepath='include/linux/cgroup-defs.h' line='373' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2208'>
-          <var-decl name='nr_populated_domain_children' type-id='type-id-17' visibility='default' filepath='include/linux/cgroup-defs.h' line='374' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='nr_populated_threaded_children' type-id='type-id-17' visibility='default' filepath='include/linux/cgroup-defs.h' line='375' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2272'>
-          <var-decl name='nr_threaded_children' type-id='type-id-17' visibility='default' filepath='include/linux/cgroup-defs.h' line='377' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2304'>
-          <var-decl name='kn' type-id='type-id-1397' visibility='default' filepath='include/linux/cgroup-defs.h' line='379' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='procs_file' type-id='type-id-428' visibility='default' filepath='include/linux/cgroup-defs.h' line='380' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2816'>
-          <var-decl name='events_file' type-id='type-id-428' visibility='default' filepath='include/linux/cgroup-defs.h' line='381' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3264'>
-          <var-decl name='subtree_control' type-id='type-id-688' visibility='default' filepath='include/linux/cgroup-defs.h' line='390' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3280'>
-          <var-decl name='subtree_ss_mask' type-id='type-id-688' visibility='default' filepath='include/linux/cgroup-defs.h' line='391' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3296'>
-          <var-decl name='old_subtree_control' type-id='type-id-688' visibility='default' filepath='include/linux/cgroup-defs.h' line='392' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3312'>
-          <var-decl name='old_subtree_ss_mask' type-id='type-id-688' visibility='default' filepath='include/linux/cgroup-defs.h' line='393' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3328'>
-          <var-decl name='subsys' type-id='type-id-961' visibility='default' filepath='include/linux/cgroup-defs.h' line='396' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3776'>
-          <var-decl name='root' type-id='type-id-2313' visibility='default' filepath='include/linux/cgroup-defs.h' line='398' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3840'>
-          <var-decl name='cset_links' type-id='type-id-20' visibility='default' filepath='include/linux/cgroup-defs.h' line='404' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3968'>
-          <var-decl name='e_csets' type-id='type-id-1143' visibility='default' filepath='include/linux/cgroup-defs.h' line='413' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4864'>
-          <var-decl name='dom_cgrp' type-id='type-id-2310' visibility='default' filepath='include/linux/cgroup-defs.h' line='422' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4928'>
-          <var-decl name='old_dom_cgrp' type-id='type-id-2310' visibility='default' filepath='include/linux/cgroup-defs.h' line='423' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4992'>
-          <var-decl name='rstat_cpu' type-id='type-id-2314' visibility='default' filepath='include/linux/cgroup-defs.h' line='426' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5056'>
-          <var-decl name='rstat_css_list' type-id='type-id-20' visibility='default' filepath='include/linux/cgroup-defs.h' line='427' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5184'>
-          <var-decl name='pending_bstat' type-id='type-id-2315' visibility='default' filepath='include/linux/cgroup-defs.h' line='430' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5376'>
-          <var-decl name='bstat' type-id='type-id-2315' visibility='default' filepath='include/linux/cgroup-defs.h' line='431' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5568'>
-          <var-decl name='prev_cputime' type-id='type-id-1511' visibility='default' filepath='include/linux/cgroup-defs.h' line='432' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5760'>
-          <var-decl name='pidlists' type-id='type-id-20' visibility='default' filepath='include/linux/cgroup-defs.h' line='438' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5888'>
-          <var-decl name='pidlist_mutex' type-id='type-id-245' visibility='default' filepath='include/linux/cgroup-defs.h' line='439' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6144'>
-          <var-decl name='offline_waitq' type-id='type-id-225' visibility='default' filepath='include/linux/cgroup-defs.h' line='442' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6336'>
-          <var-decl name='release_agent_work' type-id='type-id-255' visibility='default' filepath='include/linux/cgroup-defs.h' line='445' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6592'>
-          <var-decl name='psi' type-id='type-id-2316' visibility='default' filepath='include/linux/cgroup-defs.h' line='448' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='11520'>
-          <var-decl name='bpf' type-id='type-id-2317' visibility='default' filepath='include/linux/cgroup-defs.h' line='451' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16320'>
-          <var-decl name='congestion_count' type-id='type-id-26' visibility='default' filepath='include/linux/cgroup-defs.h' line='454' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16352'>
-          <var-decl name='ancestor_ids' type-id='type-id-1136' visibility='default' filepath='include/linux/cgroup-defs.h' line='457' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='cgroup_file' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/cgroup-defs.h' line='107' column='1' id='type-id-428'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='kn' type-id='type-id-1397' visibility='default' filepath='include/linux/cgroup-defs.h' line='109' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='notified_at' type-id='type-id-16' visibility='default' filepath='include/linux/cgroup-defs.h' line='110' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='notify_timer' type-id='type-id-417' visibility='default' filepath='include/linux/cgroup-defs.h' line='111' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='cgroup_root' size-in-bits='50240' is-struct='yes' visibility='default' filepath='include/linux/cgroup-defs.h' line='465' column='1' id='type-id-2318'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='kf_root' type-id='type-id-1432' visibility='default' filepath='include/linux/cgroup-defs.h' line='466' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='subsys_mask' type-id='type-id-5' visibility='default' filepath='include/linux/cgroup-defs.h' line='469' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='hierarchy_id' type-id='type-id-17' visibility='default' filepath='include/linux/cgroup-defs.h' line='472' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='cgrp' type-id='type-id-2312' visibility='default' filepath='include/linux/cgroup-defs.h' line='475' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16512'>
-          <var-decl name='cgrp_ancestor_id_storage' type-id='type-id-17' visibility='default' filepath='include/linux/cgroup-defs.h' line='478' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16544'>
-          <var-decl name='nr_cgrps' type-id='type-id-26' visibility='default' filepath='include/linux/cgroup-defs.h' line='481' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16576'>
-          <var-decl name='root_list' type-id='type-id-20' visibility='default' filepath='include/linux/cgroup-defs.h' line='484' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16704'>
-          <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='include/linux/cgroup-defs.h' line='487' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16768'>
-          <var-decl name='cgroup_idr' type-id='type-id-1434' visibility='default' filepath='include/linux/cgroup-defs.h' line='490' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16960'>
-          <var-decl name='release_agent_path' type-id='type-id-971' visibility='default' filepath='include/linux/cgroup-defs.h' line='493' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='49728'>
-          <var-decl name='name' type-id='type-id-250' visibility='default' filepath='include/linux/cgroup-defs.h' line='496' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='cgroup_rstat_cpu' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/cgroup-defs.h' line='291' column='1' id='type-id-2319'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bsync' type-id='type-id-2003' visibility='default' filepath='include/linux/cgroup-defs.h' line='296' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bstat' type-id='type-id-2315' visibility='default' filepath='include/linux/cgroup-defs.h' line='297' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='last_bstat' type-id='type-id-2315' visibility='default' filepath='include/linux/cgroup-defs.h' line='303' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='updated_children' type-id='type-id-2310' visibility='default' filepath='include/linux/cgroup-defs.h' line='316' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='updated_next' type-id='type-id-2310' visibility='default' filepath='include/linux/cgroup-defs.h' line='317' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='cgroup_base_stat' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/cgroup-defs.h' line='267' column='1' id='type-id-2315'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cputime' type-id='type-id-1512' visibility='default' filepath='include/linux/cgroup-defs.h' line='268' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='psi_group' size-in-bits='4928' is-struct='yes' visibility='default' filepath='include/linux/psi_types.h' line='128' column='1' id='type-id-2316'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='avgs_lock' type-id='type-id-245' visibility='default' filepath='include/linux/psi_types.h' line='130' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='pcpu' type-id='type-id-2320' visibility='default' filepath='include/linux/psi_types.h' line='133' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='avg_total' type-id='type-id-498' visibility='default' filepath='include/linux/psi_types.h' line='136' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='avg_last_update' type-id='type-id-40' visibility='default' filepath='include/linux/psi_types.h' line='137' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='avg_next_update' type-id='type-id-40' visibility='default' filepath='include/linux/psi_types.h' line='138' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='avgs_work' type-id='type-id-411' visibility='default' filepath='include/linux/psi_types.h' line='141' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='total' type-id='type-id-1179' visibility='default' filepath='include/linux/psi_types.h' line='144' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='avg' type-id='type-id-1204' visibility='default' filepath='include/linux/psi_types.h' line='145' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3072'>
-          <var-decl name='poll_scheduled' type-id='type-id-26' visibility='default' filepath='include/linux/psi_types.h' line='148' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3136'>
-          <var-decl name='poll_kworker' type-id='type-id-2321' visibility='default' filepath='include/linux/psi_types.h' line='149' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3200'>
-          <var-decl name='poll_work' type-id='type-id-2322' visibility='default' filepath='include/linux/psi_types.h' line='150' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3840'>
-          <var-decl name='trigger_lock' type-id='type-id-245' visibility='default' filepath='include/linux/psi_types.h' line='153' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4096'>
-          <var-decl name='triggers' type-id='type-id-20' visibility='default' filepath='include/linux/psi_types.h' line='156' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4224'>
-          <var-decl name='nr_triggers' type-id='type-id-1177' visibility='default' filepath='include/linux/psi_types.h' line='157' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4384'>
-          <var-decl name='poll_states' type-id='type-id-7' visibility='default' filepath='include/linux/psi_types.h' line='158' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4416'>
-          <var-decl name='poll_min_period' type-id='type-id-40' visibility='default' filepath='include/linux/psi_types.h' line='159' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4480'>
-          <var-decl name='polling_total' type-id='type-id-498' visibility='default' filepath='include/linux/psi_types.h' line='162' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4800'>
-          <var-decl name='polling_next_update' type-id='type-id-40' visibility='default' filepath='include/linux/psi_types.h' line='163' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4864'>
-          <var-decl name='polling_until' type-id='type-id-40' visibility='default' filepath='include/linux/psi_types.h' line='164' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='psi_group_cpu' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/linux/psi_types.h' line='56' column='1' id='type-id-2323'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='seq' type-id='type-id-387' visibility='default' filepath='include/linux/psi_types.h' line='60' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='tasks' type-id='type-id-1193' visibility='default' filepath='include/linux/psi_types.h' line='63' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='state_mask' type-id='type-id-7' visibility='default' filepath='include/linux/psi_types.h' line='66' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='times' type-id='type-id-1178' visibility='default' filepath='include/linux/psi_types.h' line='69' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='state_start' type-id='type-id-40' visibility='default' filepath='include/linux/psi_types.h' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='times_prev' type-id='type-id-1176' visibility='default' filepath='include/linux/psi_types.h' line='77' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='kthread_worker' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/kthread.h' line='85' column='1' id='type-id-2324'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='include/linux/kthread.h' line='86' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='include/linux/kthread.h' line='87' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='work_list' type-id='type-id-20' visibility='default' filepath='include/linux/kthread.h' line='88' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='delayed_work_list' type-id='type-id-20' visibility='default' filepath='include/linux/kthread.h' line='89' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='task' type-id='type-id-431' visibility='default' filepath='include/linux/kthread.h' line='90' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='current_work' type-id='type-id-2325' visibility='default' filepath='include/linux/kthread.h' line='91' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='kthread_work' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/kthread.h' line='94' column='1' id='type-id-2326'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='node' type-id='type-id-20' visibility='default' filepath='include/linux/kthread.h' line='95' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='func' type-id='type-id-2327' visibility='default' filepath='include/linux/kthread.h' line='96' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='worker' type-id='type-id-2321' visibility='default' filepath='include/linux/kthread.h' line='97' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='canceling' type-id='type-id-17' visibility='default' filepath='include/linux/kthread.h' line='99' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='kthread_work_func_t' type-id='type-id-2328' filepath='include/linux/kthread.h' line='78' column='1' id='type-id-2327'/>
-      <class-decl name='kthread_delayed_work' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/kthread.h' line='102' column='1' id='type-id-2322'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='work' type-id='type-id-2326' visibility='default' filepath='include/linux/kthread.h' line='103' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='timer' type-id='type-id-417' visibility='default' filepath='include/linux/kthread.h' line='104' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='cgroup_bpf' size-in-bits='4800' is-struct='yes' visibility='default' filepath='include/linux/bpf-cgroup.h' line='51' column='1' id='type-id-2317'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='effective' type-id='type-id-957' visibility='default' filepath='include/linux/bpf-cgroup.h' line='53' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='progs' type-id='type-id-1142' visibility='default' filepath='include/linux/bpf-cgroup.h' line='60' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4032'>
-          <var-decl name='flags' type-id='type-id-1175' visibility='default' filepath='include/linux/bpf-cgroup.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4736'>
-          <var-decl name='inactive' type-id='type-id-747' visibility='default' filepath='include/linux/bpf-cgroup.h' line='64' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='bpf_prog_array' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/bpf.h' line='364' column='1' id='type-id-2329'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/linux/bpf.h' line='365' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='items' type-id='type-id-960' visibility='default' filepath='include/linux/bpf.h' line='366' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='bpf_prog_array_item' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/bpf.h' line='359' column='1' id='type-id-959'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='prog' type-id='type-id-1230' visibility='default' filepath='include/linux/bpf.h' line='360' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='cgroup_storage' type-id='type-id-2330' visibility='default' filepath='include/linux/bpf.h' line='361' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='bpf_cgroup_storage' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/linux/bpf-cgroup.h' line='34' column='1' id='type-id-2331'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='buf' type-id='type-id-2332' visibility='default' filepath='include/linux/bpf-cgroup.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='map' type-id='type-id-2333' visibility='default' filepath='include/linux/bpf-cgroup.h' line='36' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='key' type-id='type-id-2334' visibility='default' filepath='include/linux/bpf-cgroup.h' line='37' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/bpf-cgroup.h' line='38' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='node' type-id='type-id-422' visibility='default' filepath='include/linux/bpf-cgroup.h' line='39' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/linux/bpf-cgroup.h' line='40' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='bpf_storage_buffer' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/bpf-cgroup.h' line='29' column='1' id='type-id-2335'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/linux/bpf-cgroup.h' line='30' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='data' type-id='type-id-440' visibility='default' filepath='include/linux/bpf-cgroup.h' line='31' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='bpf_cgroup_storage_key' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/bpf.h' line='78' column='1' id='type-id-2334'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cgroup_inode_id' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/bpf.h' line='79' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='attach_type' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/bpf.h' line='80' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='cgroup_subsys' size-in-bits='1920' is-struct='yes' visibility='default' filepath='include/linux/cgroup-defs.h' line='595' column='1' id='type-id-2336'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='css_alloc' type-id='type-id-2337' visibility='default' filepath='include/linux/cgroup-defs.h' line='596' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='css_online' type-id='type-id-2338' visibility='default' filepath='include/linux/cgroup-defs.h' line='597' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='css_offline' type-id='type-id-2339' visibility='default' filepath='include/linux/cgroup-defs.h' line='598' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='css_released' type-id='type-id-2339' visibility='default' filepath='include/linux/cgroup-defs.h' line='599' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='css_free' type-id='type-id-2339' visibility='default' filepath='include/linux/cgroup-defs.h' line='600' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='css_reset' type-id='type-id-2339' visibility='default' filepath='include/linux/cgroup-defs.h' line='601' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='css_rstat_flush' type-id='type-id-2340' visibility='default' filepath='include/linux/cgroup-defs.h' line='602' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='css_extra_stat_show' type-id='type-id-2341' visibility='default' filepath='include/linux/cgroup-defs.h' line='603' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='can_attach' type-id='type-id-2342' visibility='default' filepath='include/linux/cgroup-defs.h' line='606' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='cancel_attach' type-id='type-id-2343' visibility='default' filepath='include/linux/cgroup-defs.h' line='607' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='attach' type-id='type-id-2343' visibility='default' filepath='include/linux/cgroup-defs.h' line='608' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='post_attach' type-id='type-id-1392' visibility='default' filepath='include/linux/cgroup-defs.h' line='609' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='can_fork' type-id='type-id-2344' visibility='default' filepath='include/linux/cgroup-defs.h' line='610' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='cancel_fork' type-id='type-id-2345' visibility='default' filepath='include/linux/cgroup-defs.h' line='611' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='fork' type-id='type-id-2345' visibility='default' filepath='include/linux/cgroup-defs.h' line='612' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='exit' type-id='type-id-2345' visibility='default' filepath='include/linux/cgroup-defs.h' line='613' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='release' type-id='type-id-2345' visibility='default' filepath='include/linux/cgroup-defs.h' line='614' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='bind' type-id='type-id-2339' visibility='default' filepath='include/linux/cgroup-defs.h' line='615' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7'>
-          <var-decl name='early_init' type-id='type-id-33' visibility='default' filepath='include/linux/cgroup-defs.h' line='617' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6'>
-          <var-decl name='implicit_on_dfl' type-id='type-id-33' visibility='default' filepath='include/linux/cgroup-defs.h' line='630' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5'>
-          <var-decl name='threaded' type-id='type-id-33' visibility='default' filepath='include/linux/cgroup-defs.h' line='642' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4'>
-          <var-decl name='broken_hierarchy' type-id='type-id-33' visibility='default' filepath='include/linux/cgroup-defs.h' line='656' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3'>
-          <var-decl name='warned_broken_hierarchy' type-id='type-id-33' visibility='default' filepath='include/linux/cgroup-defs.h' line='657' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1184'>
-          <var-decl name='id' type-id='type-id-17' visibility='default' filepath='include/linux/cgroup-defs.h' line='660' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/cgroup-defs.h' line='661' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='legacy_name' type-id='type-id-4' visibility='default' filepath='include/linux/cgroup-defs.h' line='664' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='root' type-id='type-id-2313' visibility='default' filepath='include/linux/cgroup-defs.h' line='667' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='css_idr' type-id='type-id-1434' visibility='default' filepath='include/linux/cgroup-defs.h' line='670' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='cfts' type-id='type-id-20' visibility='default' filepath='include/linux/cgroup-defs.h' line='676' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='dfl_cftypes' type-id='type-id-2346' visibility='default' filepath='include/linux/cgroup-defs.h' line='682' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='legacy_cftypes' type-id='type-id-2346' visibility='default' filepath='include/linux/cgroup-defs.h' line='683' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='depends_on' type-id='type-id-5' visibility='default' filepath='include/linux/cgroup-defs.h' line='692' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='cftype' size-in-bits='1728' is-struct='yes' visibility='default' filepath='include/linux/cgroup-defs.h' line='506' column='1' id='type-id-2347'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-250' visibility='default' filepath='include/linux/cgroup-defs.h' line='512' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='private' type-id='type-id-16' visibility='default' filepath='include/linux/cgroup-defs.h' line='513' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='max_write_len' type-id='type-id-84' visibility='default' filepath='include/linux/cgroup-defs.h' line='519' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='include/linux/cgroup-defs.h' line='522' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='672'>
-          <var-decl name='file_offset' type-id='type-id-5' visibility='default' filepath='include/linux/cgroup-defs.h' line='530' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='ss' type-id='type-id-2311' visibility='default' filepath='include/linux/cgroup-defs.h' line='536' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='node' type-id='type-id-20' visibility='default' filepath='include/linux/cgroup-defs.h' line='537' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='kf_ops' type-id='type-id-2348' visibility='default' filepath='include/linux/cgroup-defs.h' line='538' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='open' type-id='type-id-1460' visibility='default' filepath='include/linux/cgroup-defs.h' line='540' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='release' type-id='type-id-1461' visibility='default' filepath='include/linux/cgroup-defs.h' line='541' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='read_u64' type-id='type-id-2349' visibility='default' filepath='include/linux/cgroup-defs.h' line='547' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='read_s64' type-id='type-id-2350' visibility='default' filepath='include/linux/cgroup-defs.h' line='551' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='seq_show' type-id='type-id-311' visibility='default' filepath='include/linux/cgroup-defs.h' line='554' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='seq_start' type-id='type-id-1453' visibility='default' filepath='include/linux/cgroup-defs.h' line='557' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='seq_next' type-id='type-id-1455' visibility='default' filepath='include/linux/cgroup-defs.h' line='558' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='seq_stop' type-id='type-id-1454' visibility='default' filepath='include/linux/cgroup-defs.h' line='559' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='write_u64' type-id='type-id-2351' visibility='default' filepath='include/linux/cgroup-defs.h' line='566' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='write_s64' type-id='type-id-2352' visibility='default' filepath='include/linux/cgroup-defs.h' line='571' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='write' type-id='type-id-1462' visibility='default' filepath='include/linux/cgroup-defs.h' line='580' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='poll' type-id='type-id-1463' visibility='default' filepath='include/linux/cgroup-defs.h' line='583' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='__poll_t' type-id='type-id-5' filepath='include/uapi/linux/types.h' line='52' column='1' id='type-id-880'/>
-      <class-decl name='rcu_work' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/workqueue.h' line='124' column='1' id='type-id-392'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='work' type-id='type-id-255' visibility='default' filepath='include/linux/workqueue.h' line='125' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/linux/workqueue.h' line='126' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='wq' type-id='type-id-654' visibility='default' filepath='include/linux/workqueue.h' line='129' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='signal_struct' size-in-bits='8064' is-struct='yes' visibility='default' filepath='include/linux/sched/signal.h' line='84' column='1' id='type-id-2353'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='sigcnt' type-id='type-id-26' visibility='default' filepath='include/linux/sched/signal.h' line='85' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='live' type-id='type-id-26' visibility='default' filepath='include/linux/sched/signal.h' line='86' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='nr_threads' type-id='type-id-17' visibility='default' filepath='include/linux/sched/signal.h' line='87' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='thread_head' type-id='type-id-20' visibility='default' filepath='include/linux/sched/signal.h' line='88' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='wait_chldexit' type-id='type-id-225' visibility='default' filepath='include/linux/sched/signal.h' line='90' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='curr_target' type-id='type-id-431' visibility='default' filepath='include/linux/sched/signal.h' line='93' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='shared_pending' type-id='type-id-1519' visibility='default' filepath='include/linux/sched/signal.h' line='96' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='multiprocess' type-id='type-id-186' visibility='default' filepath='include/linux/sched/signal.h' line='99' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='group_exit_code' type-id='type-id-17' visibility='default' filepath='include/linux/sched/signal.h' line='102' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='800'>
-          <var-decl name='notify_count' type-id='type-id-17' visibility='default' filepath='include/linux/sched/signal.h' line='108' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='group_exit_task' type-id='type-id-431' visibility='default' filepath='include/linux/sched/signal.h' line='109' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='group_stop_count' type-id='type-id-17' visibility='default' filepath='include/linux/sched/signal.h' line='112' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='928'>
-          <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='include/linux/sched/signal.h' line='113' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='31'>
-          <var-decl name='is_child_subreaper' type-id='type-id-5' visibility='default' filepath='include/linux/sched/signal.h' line='124' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='30'>
-          <var-decl name='has_child_subreaper' type-id='type-id-5' visibility='default' filepath='include/linux/sched/signal.h' line='125' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='992'>
-          <var-decl name='posix_timer_id' type-id='type-id-17' visibility='default' filepath='include/linux/sched/signal.h' line='130' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='posix_timers' type-id='type-id-20' visibility='default' filepath='include/linux/sched/signal.h' line='131' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='real_timer' type-id='type-id-681' visibility='default' filepath='include/linux/sched/signal.h' line='134' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='it_real_incr' type-id='type-id-682' visibility='default' filepath='include/linux/sched/signal.h' line='135' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='it' type-id='type-id-1122' visibility='default' filepath='include/linux/sched/signal.h' line='142' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='cputimer' type-id='type-id-2354' visibility='default' filepath='include/linux/sched/signal.h' line='148' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='cputime_expires' type-id='type-id-1512' visibility='default' filepath='include/linux/sched/signal.h' line='151' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2432'>
-          <var-decl name='cpu_timers' type-id='type-id-457' visibility='default' filepath='include/linux/sched/signal.h' line='153' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2816'>
-          <var-decl name='pids' type-id='type-id-1162' visibility='default' filepath='include/linux/sched/signal.h' line='158' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3072'>
-          <var-decl name='tty_old_pgrp' type-id='type-id-251' visibility='default' filepath='include/linux/sched/signal.h' line='164' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3136'>
-          <var-decl name='leader' type-id='type-id-17' visibility='default' filepath='include/linux/sched/signal.h' line='167' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3200'>
-          <var-decl name='tty' type-id='type-id-2355' visibility='default' filepath='include/linux/sched/signal.h' line='169' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3264'>
-          <var-decl name='autogroup' type-id='type-id-2356' visibility='default' filepath='include/linux/sched/signal.h' line='172' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3328'>
-          <var-decl name='stats_lock' type-id='type-id-1919' visibility='default' filepath='include/linux/sched/signal.h' line='180' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3392'>
-          <var-decl name='utime' type-id='type-id-40' visibility='default' filepath='include/linux/sched/signal.h' line='181' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3456'>
-          <var-decl name='stime' type-id='type-id-40' visibility='default' filepath='include/linux/sched/signal.h' line='181' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3520'>
-          <var-decl name='cutime' type-id='type-id-40' visibility='default' filepath='include/linux/sched/signal.h' line='181' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3584'>
-          <var-decl name='cstime' type-id='type-id-40' visibility='default' filepath='include/linux/sched/signal.h' line='181' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3648'>
-          <var-decl name='gtime' type-id='type-id-40' visibility='default' filepath='include/linux/sched/signal.h' line='182' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3712'>
-          <var-decl name='cgtime' type-id='type-id-40' visibility='default' filepath='include/linux/sched/signal.h' line='183' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3776'>
-          <var-decl name='prev_cputime' type-id='type-id-1511' visibility='default' filepath='include/linux/sched/signal.h' line='184' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3968'>
-          <var-decl name='nvcsw' type-id='type-id-16' visibility='default' filepath='include/linux/sched/signal.h' line='185' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4032'>
-          <var-decl name='nivcsw' type-id='type-id-16' visibility='default' filepath='include/linux/sched/signal.h' line='185' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4096'>
-          <var-decl name='cnvcsw' type-id='type-id-16' visibility='default' filepath='include/linux/sched/signal.h' line='185' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4160'>
-          <var-decl name='cnivcsw' type-id='type-id-16' visibility='default' filepath='include/linux/sched/signal.h' line='185' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4224'>
-          <var-decl name='min_flt' type-id='type-id-16' visibility='default' filepath='include/linux/sched/signal.h' line='186' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4288'>
-          <var-decl name='maj_flt' type-id='type-id-16' visibility='default' filepath='include/linux/sched/signal.h' line='186' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4352'>
-          <var-decl name='cmin_flt' type-id='type-id-16' visibility='default' filepath='include/linux/sched/signal.h' line='186' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4416'>
-          <var-decl name='cmaj_flt' type-id='type-id-16' visibility='default' filepath='include/linux/sched/signal.h' line='186' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4480'>
-          <var-decl name='inblock' type-id='type-id-16' visibility='default' filepath='include/linux/sched/signal.h' line='187' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4544'>
-          <var-decl name='oublock' type-id='type-id-16' visibility='default' filepath='include/linux/sched/signal.h' line='187' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4608'>
-          <var-decl name='cinblock' type-id='type-id-16' visibility='default' filepath='include/linux/sched/signal.h' line='187' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4672'>
-          <var-decl name='coublock' type-id='type-id-16' visibility='default' filepath='include/linux/sched/signal.h' line='187' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4736'>
-          <var-decl name='maxrss' type-id='type-id-16' visibility='default' filepath='include/linux/sched/signal.h' line='188' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4800'>
-          <var-decl name='cmaxrss' type-id='type-id-16' visibility='default' filepath='include/linux/sched/signal.h' line='188' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4864'>
-          <var-decl name='ioac' type-id='type-id-1529' visibility='default' filepath='include/linux/sched/signal.h' line='189' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5376'>
-          <var-decl name='sum_sched_runtime' type-id='type-id-98' visibility='default' filepath='include/linux/sched/signal.h' line='197' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5440'>
-          <var-decl name='rlim' type-id='type-id-1167' visibility='default' filepath='include/linux/sched/signal.h' line='208' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7488'>
-          <var-decl name='stats' type-id='type-id-2357' visibility='default' filepath='include/linux/sched/signal.h' line='214' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7552'>
-          <var-decl name='audit_tty' type-id='type-id-5' visibility='default' filepath='include/linux/sched/signal.h' line='217' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7616'>
-          <var-decl name='tty_audit_buf' type-id='type-id-2358' visibility='default' filepath='include/linux/sched/signal.h' line='218' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7680'>
-          <var-decl name='oom_flag_origin' type-id='type-id-33' visibility='default' filepath='include/linux/sched/signal.h' line='225' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7696'>
-          <var-decl name='oom_score_adj' type-id='type-id-261' visibility='default' filepath='include/linux/sched/signal.h' line='226' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7712'>
-          <var-decl name='oom_score_adj_min' type-id='type-id-261' visibility='default' filepath='include/linux/sched/signal.h' line='227' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7744'>
-          <var-decl name='oom_mm' type-id='type-id-882' visibility='default' filepath='include/linux/sched/signal.h' line='229' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7808'>
-          <var-decl name='cred_guard_mutex' type-id='type-id-245' visibility='default' filepath='include/linux/sched/signal.h' line='232' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='sigpending' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/signal_types.h' line='26' column='1' id='type-id-1519'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/signal_types.h' line='27' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='signal' type-id='type-id-1518' visibility='default' filepath='include/linux/signal_types.h' line='28' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='sigset_t' type-id='type-id-2359' filepath='include/uapi/asm-generic/signal.h' line='92' column='1' id='type-id-1518'/>
-      <class-decl name='__anonymous_struct__51' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-1518' visibility='default' filepath='include/uapi/asm-generic/signal.h' line='90' column='1' id='type-id-2359'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='sig' type-id='type-id-491' visibility='default' filepath='include/uapi/asm-generic/signal.h' line='91' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='cpu_itimer' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/sched/signal.h' line='34' column='1' id='type-id-1121'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='expires' type-id='type-id-40' visibility='default' filepath='include/linux/sched/signal.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='incr' type-id='type-id-40' visibility='default' filepath='include/linux/sched/signal.h' line='36' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='thread_group_cputimer' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/sched/signal.h' line='66' column='1' id='type-id-2354'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cputime_atomic' type-id='type-id-2360' visibility='default' filepath='include/linux/sched/signal.h' line='67' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='running' type-id='type-id-33' visibility='default' filepath='include/linux/sched/signal.h' line='68' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='200'>
-          <var-decl name='checking_timer' type-id='type-id-33' visibility='default' filepath='include/linux/sched/signal.h' line='69' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='task_cputime_atomic' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/sched/signal.h' line='43' column='1' id='type-id-2360'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='utime' type-id='type-id-113' visibility='default' filepath='include/linux/sched/signal.h' line='44' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='stime' type-id='type-id-113' visibility='default' filepath='include/linux/sched/signal.h' line='45' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='sum_exec_runtime' type-id='type-id-113' visibility='default' filepath='include/linux/sched/signal.h' line='46' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='task_io_accounting' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/task_io_accounting.h' line='12' column='1' id='type-id-1529'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='rchar' type-id='type-id-40' visibility='default' filepath='include/linux/task_io_accounting.h' line='15' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='wchar' type-id='type-id-40' visibility='default' filepath='include/linux/task_io_accounting.h' line='17' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='syscr' type-id='type-id-40' visibility='default' filepath='include/linux/task_io_accounting.h' line='19' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='syscw' type-id='type-id-40' visibility='default' filepath='include/linux/task_io_accounting.h' line='21' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='syscfs' type-id='type-id-40' visibility='default' filepath='include/linux/task_io_accounting.h' line='23' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='read_bytes' type-id='type-id-40' visibility='default' filepath='include/linux/task_io_accounting.h' line='31' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='write_bytes' type-id='type-id-40' visibility='default' filepath='include/linux/task_io_accounting.h' line='37' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='cancelled_write_bytes' type-id='type-id-40' visibility='default' filepath='include/linux/task_io_accounting.h' line='46' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='rlimit' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/resource.h' line='43' column='1' id='type-id-1166'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='rlim_cur' type-id='type-id-888' visibility='default' filepath='include/uapi/linux/resource.h' line='44' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='rlim_max' type-id='type-id-888' visibility='default' filepath='include/uapi/linux/resource.h' line='45' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='taskstats' size-in-bits='2752' is-struct='yes' visibility='default' filepath='include/uapi/linux/taskstats.h' line='41' column='1' id='type-id-2361'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='version' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/taskstats.h' line='47' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='ac_exitcode' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/taskstats.h' line='48' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ac_flag' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/taskstats.h' line='53' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='72'>
-          <var-decl name='ac_nice' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/taskstats.h' line='54' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='cpu_count' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/taskstats.h' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='cpu_delay_total' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/taskstats.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='blkio_count' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/taskstats.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='blkio_delay_total' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/taskstats.h' line='81' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='swapin_count' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/taskstats.h' line='84' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='swapin_delay_total' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/taskstats.h' line='85' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='cpu_run_real_total' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/taskstats.h' line='93' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='cpu_run_virtual_total' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/taskstats.h' line='101' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='ac_comm' type-id='type-id-373' visibility='default' filepath='include/uapi/linux/taskstats.h' line='106' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='ac_sched' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/taskstats.h' line='107' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='904'>
-          <var-decl name='ac_pad' type-id='type-id-942' visibility='default' filepath='include/uapi/linux/taskstats.h' line='109' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='ac_uid' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/taskstats.h' line='110' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='992'>
-          <var-decl name='ac_gid' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/taskstats.h' line='112' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='ac_pid' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/taskstats.h' line='113' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1056'>
-          <var-decl name='ac_ppid' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/taskstats.h' line='114' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='ac_btime' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/taskstats.h' line='115' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='ac_etime' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/taskstats.h' line='116' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='ac_utime' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/taskstats.h' line='118' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='ac_stime' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/taskstats.h' line='119' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='ac_minflt' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/taskstats.h' line='120' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='ac_majflt' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/taskstats.h' line='121' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='coremem' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/taskstats.h' line='131' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='virtmem' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/taskstats.h' line='135' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='hiwater_rss' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/taskstats.h' line='140' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='hiwater_vm' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/taskstats.h' line='141' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='read_char' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/taskstats.h' line='144' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='write_char' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/taskstats.h' line='145' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='read_syscalls' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/taskstats.h' line='146' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='write_syscalls' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/taskstats.h' line='147' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='read_bytes' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/taskstats.h' line='152' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='write_bytes' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/taskstats.h' line='153' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='cancelled_write_bytes' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/taskstats.h' line='154' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='nvcsw' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/taskstats.h' line='156' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='nivcsw' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/taskstats.h' line='157' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2304'>
-          <var-decl name='ac_utimescaled' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/taskstats.h' line='160' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='ac_stimescaled' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/taskstats.h' line='161' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2432'>
-          <var-decl name='cpu_scaled_run_real_total' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/taskstats.h' line='162' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2496'>
-          <var-decl name='freepages_count' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/taskstats.h' line='165' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2560'>
-          <var-decl name='freepages_delay_total' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/taskstats.h' line='166' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2624'>
-          <var-decl name='thrashing_count' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/taskstats.h' line='169' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2688'>
-          <var-decl name='thrashing_delay_total' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/taskstats.h' line='170' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='sighand_struct' size-in-bits='16704' is-struct='yes' visibility='default' filepath='include/linux/sched/signal.h' line='16' column='1' id='type-id-2362'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='count' type-id='type-id-26' visibility='default' filepath='include/linux/sched/signal.h' line='17' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='action' type-id='type-id-1138' visibility='default' filepath='include/linux/sched/signal.h' line='18' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16448'>
-          <var-decl name='siglock' type-id='type-id-247' visibility='default' filepath='include/linux/sched/signal.h' line='19' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16512'>
-          <var-decl name='signalfd_wqh' type-id='type-id-225' visibility='default' filepath='include/linux/sched/signal.h' line='20' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='k_sigaction' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/signal_types.h' line='45' column='1' id='type-id-1137'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='sa' type-id='type-id-2363' visibility='default' filepath='include/linux/signal_types.h' line='46' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='sigaction' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/signal_types.h' line='31' column='1' id='type-id-2363'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='sa_handler' type-id='type-id-2364' visibility='default' filepath='include/linux/signal_types.h' line='33' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='sa_flags' type-id='type-id-16' visibility='default' filepath='include/linux/signal_types.h' line='34' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='sa_restorer' type-id='type-id-2365' visibility='default' filepath='include/linux/signal_types.h' line='40' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='sa_mask' type-id='type-id-1518' visibility='default' filepath='include/linux/signal_types.h' line='42' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='__sighandler_t' type-id='type-id-2366' filepath='include/uapi/asm-generic/signal-defs.h' line='19' column='1' id='type-id-2364'/>
-      <typedef-decl name='__signalfn_t' type-id='type-id-2367' filepath='include/uapi/asm-generic/signal-defs.h' line='18' column='1' id='type-id-2368'/>
-      <typedef-decl name='__sigrestore_t' type-id='type-id-2369' filepath='include/uapi/asm-generic/signal-defs.h' line='22' column='1' id='type-id-2365'/>
-      <typedef-decl name='__restorefn_t' type-id='type-id-2370' filepath='include/uapi/asm-generic/signal-defs.h' line='21' column='1' id='type-id-2371'/>
-      <class-decl name='seccomp' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/seccomp.h' line='28' column='1' id='type-id-1521'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mode' type-id='type-id-17' visibility='default' filepath='include/linux/seccomp.h' line='29' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='filter' type-id='type-id-2372' visibility='default' filepath='include/linux/seccomp.h' line='30' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='wake_q_node' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/sched.h' line='580' column='1' id='type-id-1522'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='next' type-id='type-id-2373' visibility='default' filepath='include/linux/sched.h' line='581' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='io_context' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/linux/iocontext.h' line='98' column='1' id='type-id-2374'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='refcount' type-id='type-id-115' visibility='default' filepath='include/linux/iocontext.h' line='99' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='active_ref' type-id='type-id-26' visibility='default' filepath='include/linux/iocontext.h' line='100' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='nr_tasks' type-id='type-id-26' visibility='default' filepath='include/linux/iocontext.h' line='101' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='include/linux/iocontext.h' line='104' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='ioprio' type-id='type-id-312' visibility='default' filepath='include/linux/iocontext.h' line='106' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='nr_batch_requests' type-id='type-id-17' visibility='default' filepath='include/linux/iocontext.h' line='111' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='last_waited' type-id='type-id-16' visibility='default' filepath='include/linux/iocontext.h' line='112' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='icq_tree' type-id='type-id-415' visibility='default' filepath='include/linux/iocontext.h' line='114' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='icq_hint' type-id='type-id-513' visibility='default' filepath='include/linux/iocontext.h' line='115' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='icq_list' type-id='type-id-186' visibility='default' filepath='include/linux/iocontext.h' line='116' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='release_work' type-id='type-id-255' visibility='default' filepath='include/linux/iocontext.h' line='118' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='io_cq' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/iocontext.h' line='72' column='1' id='type-id-2375'>
-        <member-type access='public'>
-          <union-decl name='__anonymous_union__' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/iocontext.h' line='86' column='1' id='type-id-2376'>
-            <data-member access='private'>
-              <var-decl name='ioc_node' type-id='type-id-520' visibility='default' filepath='include/linux/iocontext.h' line='87' column='1'/>
-            </data-member>
-            <data-member access='private'>
-              <var-decl name='__rcu_head' type-id='type-id-385' visibility='default' filepath='include/linux/iocontext.h' line='88' column='1'/>
-            </data-member>
-          </union-decl>
-        </member-type>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='q' type-id='type-id-1538' visibility='default' filepath='include/linux/iocontext.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ioc' type-id='type-id-364' visibility='default' filepath='include/linux/iocontext.h' line='74' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='' type-id='type-id-2377' visibility='default' filepath='include/linux/iocontext.h' line='82' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='include/linux/iocontext.h' line='91' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='siginfo_t' type-id='type-id-2378' filepath='include/uapi/asm-generic/siginfo.h' line='133' column='1' id='type-id-2379'/>
-      <class-decl name='siginfo' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='43' column='1' id='type-id-2378'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='si_signo' type-id='type-id-17' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='44' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='si_errno' type-id='type-id-17' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='46' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='si_code' type-id='type-id-17' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='47' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='_sifields' type-id='type-id-2380' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='132' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__32' size-in-bits='896' is-anonymous='yes' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='53' column='1' id='type-id-2380'>
-        <data-member access='private'>
-          <var-decl name='_pad' type-id='type-id-1131' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='54' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='_kill' type-id='type-id-2381' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='60' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='_timer' type-id='type-id-2382' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='68' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='_rt' type-id='type-id-2383' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='75' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='_sigchld' type-id='type-id-2384' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='84' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='_sigfault' type-id='type-id-2385' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='118' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='_sigpoll' type-id='type-id-2386' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='124' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='_sigsys' type-id='type-id-2387' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='131' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='__anonymous_struct__52' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='57' column='1' id='type-id-2381'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='_pid' type-id='type-id-1576' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='58' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='_uid' type-id='type-id-1312' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='59' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__53' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='63' column='1' id='type-id-2382'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='_tid' type-id='type-id-2388' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='64' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='_overrun' type-id='type-id-17' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='65' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='_sigval' type-id='type-id-2389' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='66' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='_sys_private' type-id='type-id-17' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='67' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='__kernel_timer_t' type-id='type-id-17' filepath='include/uapi/asm-generic/posix_types.h' line='92' column='1' id='type-id-2388'/>
-      <typedef-decl name='sigval_t' type-id='type-id-2390' filepath='include/uapi/asm-generic/siginfo.h' line='11' column='1' id='type-id-2389'/>
-      <union-decl name='sigval' size-in-bits='64' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='8' column='1' id='type-id-2390'>
-        <data-member access='private'>
-          <var-decl name='sival_int' type-id='type-id-17' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='9' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='sival_ptr' type-id='type-id-15' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='10' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='__anonymous_struct__54' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='71' column='1' id='type-id-2383'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='_pid' type-id='type-id-1576' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='_uid' type-id='type-id-1312' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='_sigval' type-id='type-id-2389' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='74' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__55' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='78' column='1' id='type-id-2384'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='_pid' type-id='type-id-1576' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='79' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='_uid' type-id='type-id-1312' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='_status' type-id='type-id-17' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='81' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='_utime' type-id='type-id-2391' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='82' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='_stime' type-id='type-id-2391' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='83' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='__kernel_clock_t' type-id='type-id-105' filepath='include/uapi/asm-generic/posix_types.h' line='91' column='1' id='type-id-2391'/>
-      <class-decl name='__anonymous_struct__56' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='87' column='1' id='type-id-2385'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='_addr' type-id='type-id-15' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='88' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='' type-id='type-id-2392' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='100' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__33' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='100' column='1' id='type-id-2392'>
-        <data-member access='private'>
-          <var-decl name='_addr_lsb' type-id='type-id-261' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='105' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='_addr_bnd' type-id='type-id-2393' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='111' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='_addr_pkey' type-id='type-id-2394' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='116' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='__anonymous_struct__57' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='107' column='1' id='type-id-2393'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='_dummy_bnd' type-id='type-id-975' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='108' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='_lower' type-id='type-id-15' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='109' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='_upper' type-id='type-id-15' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='110' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__58' size-in-bits='96' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='113' column='1' id='type-id-2394'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='_dummy_pkey' type-id='type-id-975' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='114' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='_pkey' type-id='type-id-511' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='115' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__59' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='121' column='1' id='type-id-2386'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='_band' type-id='type-id-192' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='122' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='_fd' type-id='type-id-17' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='123' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__60' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='127' column='1' id='type-id-2387'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='_call_addr' type-id='type-id-15' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='128' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='_syscall' type-id='type-id-17' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='129' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='_arch' type-id='type-id-5' visibility='default' filepath='include/uapi/asm-generic/siginfo.h' line='130' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='nodemask_t' type-id='type-id-2395' filepath='include/linux/nodemask.h' line='98' column='1' id='type-id-1530'/>
-      <class-decl name='__anonymous_struct__61' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-1530' visibility='default' filepath='include/linux/nodemask.h' line='98' column='1' id='type-id-2395'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bits' type-id='type-id-491' visibility='default' filepath='include/linux/nodemask.h' line='98' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='compat_robust_list_head' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/linux/compat.h' line='413' column='1' id='type-id-2396'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='list' type-id='type-id-2397' visibility='default' filepath='include/linux/compat.h' line='414' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='futex_offset' type-id='type-id-2398' visibility='default' filepath='include/linux/compat.h' line='415' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='list_op_pending' type-id='type-id-2399' visibility='default' filepath='include/linux/compat.h' line='416' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='compat_robust_list' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/linux/compat.h' line='409' column='1' id='type-id-2397'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='next' type-id='type-id-2399' visibility='default' filepath='include/linux/compat.h' line='410' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='compat_uptr_t' type-id='type-id-7' filepath='arch/arm64/include/asm/compat.h' line='66' column='1' id='type-id-2399'/>
-      <typedef-decl name='compat_long_t' type-id='type-id-738' filepath='arch/arm64/include/asm/compat.h' line='60' column='1' id='type-id-2398'/>
-      <class-decl name='tlbflush_unmap_batch' is-struct='yes' visibility='default' filepath='include/linux/mm_types_task.h' line='72' column='1' id='type-id-1535'/>
-      <class-decl name='page_frag' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/mm_types_task.h' line='60' column='1' id='type-id-1536'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='page' type-id='type-id-512' visibility='default' filepath='include/linux/mm_types_task.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='offset' type-id='type-id-511' visibility='default' filepath='include/linux/mm_types_task.h' line='63' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='size' type-id='type-id-511' visibility='default' filepath='include/linux/mm_types_task.h' line='64' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='uprobe_task' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/uprobes.h' line='74' column='1' id='type-id-2400'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='state' type-id='type-id-2401' visibility='default' filepath='include/linux/uprobes.h' line='75' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='' type-id='type-id-2402' visibility='default' filepath='include/linux/uprobes.h' line='77' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='active_uprobe' type-id='type-id-2403' visibility='default' filepath='include/linux/uprobes.h' line='89' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='xol_vaddr' type-id='type-id-16' visibility='default' filepath='include/linux/uprobes.h' line='90' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='return_instances' type-id='type-id-2404' visibility='default' filepath='include/linux/uprobes.h' line='92' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='depth' type-id='type-id-5' visibility='default' filepath='include/linux/uprobes.h' line='93' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='uprobe_task_state' filepath='include/linux/uprobes.h' line='64' column='1' id='type-id-2401'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='UTASK_RUNNING' value='0'/>
-        <enumerator name='UTASK_SSTEP' value='1'/>
-        <enumerator name='UTASK_SSTEP_ACK' value='2'/>
-        <enumerator name='UTASK_SSTEP_TRAPPED' value='3'/>
-      </enum-decl>
-      <union-decl name='__anonymous_union__34' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/linux/uprobes.h' line='77' column='1' id='type-id-2402'>
-        <member-type access='private'>
-          <class-decl name='__anonymous_struct__' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/uprobes.h' line='83' column='1' id='type-id-2405'>
-            <data-member access='public' layout-offset-in-bits='0'>
-              <var-decl name='dup_xol_work' type-id='type-id-385' visibility='default' filepath='include/linux/uprobes.h' line='84' column='1'/>
+              <var-decl name='pmd_huge_pte' type-id='type-id-152' visibility='default' filepath='include/linux/mm_types.h' line='140' column='1'/>
             </data-member>
             <data-member access='public' layout-offset-in-bits='128'>
-              <var-decl name='dup_xol_addr' type-id='type-id-16' visibility='default' filepath='include/linux/uprobes.h' line='85' column='1'/>
+              <var-decl name='_pt_pad_2' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='141' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='192'>
+              <var-decl name='' type-id='type-id-7387' visibility='default' filepath='include/linux/mm_types.h' line='142' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='256'>
+              <var-decl name='ptl' type-id='type-id-106' visibility='default' filepath='include/linux/mm_types.h' line='149' column='1'/>
             </data-member>
           </class-decl>
         </member-type>
         <data-member access='private'>
-          <var-decl name='' type-id='type-id-2406' visibility='default' filepath='include/linux/uprobes.h' line='78' column='1'/>
+          <var-decl name='' type-id='type-id-156' visibility='default' filepath='include/linux/mm_types.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='callback_head' type-id='type-id-157' visibility='default' filepath='include/linux/mm_types.h' line='160' column='1'/>
         </data-member>
       </union-decl>
-      <class-decl name='__anonymous_struct__62' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/uprobes.h' line='78' column='1' id='type-id-2406'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='autask' type-id='type-id-2407' visibility='default' filepath='include/linux/uprobes.h' line='79' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='vaddr' type-id='type-id-16' visibility='default' filepath='include/linux/uprobes.h' line='80' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='arch_uprobe_task' is-struct='yes' visibility='default' filepath='arch/arm64/include/asm/uprobes.h' line='24' column='1' id='type-id-2407'/>
-      <class-decl name='return_instance' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/uprobes.h' line='96' column='1' id='type-id-2408'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='uprobe' type-id='type-id-2403' visibility='default' filepath='include/linux/uprobes.h' line='97' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='func' type-id='type-id-16' visibility='default' filepath='include/linux/uprobes.h' line='98' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='stack' type-id='type-id-16' visibility='default' filepath='include/linux/uprobes.h' line='99' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='orig_ret_vaddr' type-id='type-id-16' visibility='default' filepath='include/linux/uprobes.h' line='100' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='chained' type-id='type-id-33' visibility='default' filepath='include/linux/uprobes.h' line='101' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='next' type-id='type-id-2404' visibility='default' filepath='include/linux/uprobes.h' line='103' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='vm_struct' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/vmalloc.h' line='34' column='1' id='type-id-2409'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='next' type-id='type-id-1540' visibility='default' filepath='include/linux/vmalloc.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='addr' type-id='type-id-15' visibility='default' filepath='include/linux/vmalloc.h' line='36' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='size' type-id='type-id-16' visibility='default' filepath='include/linux/vmalloc.h' line='37' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='include/linux/vmalloc.h' line='38' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='pages' type-id='type-id-923' visibility='default' filepath='include/linux/vmalloc.h' line='39' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='nr_pages' type-id='type-id-5' visibility='default' filepath='include/linux/vmalloc.h' line='40' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='phys_addr' type-id='type-id-99' visibility='default' filepath='include/linux/vmalloc.h' line='41' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='caller' type-id='type-id-15' visibility='default' filepath='include/linux/vmalloc.h' line='42' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='thread_struct' size-in-bits='7808' is-struct='yes' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='116' column='1' id='type-id-1541'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cpu_context' type-id='type-id-2410' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='117' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='uw' type-id='type-id-2411' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='128' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5248'>
-          <var-decl name='fpsimd_cpu' type-id='type-id-5' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='130' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5312'>
-          <var-decl name='sve_state' type-id='type-id-15' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='131' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5376'>
-          <var-decl name='sve_vl' type-id='type-id-5' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='132' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5408'>
-          <var-decl name='sve_vl_onexec' type-id='type-id-5' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='133' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5440'>
-          <var-decl name='fault_address' type-id='type-id-16' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='134' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5504'>
-          <var-decl name='fault_code' type-id='type-id-16' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='135' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5568'>
-          <var-decl name='debug' type-id='type-id-2412' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='136' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='cpu_context' size-in-bits='832' is-struct='yes' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='100' column='1' id='type-id-2410'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='x19' type-id='type-id-16' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='101' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='x20' type-id='type-id-16' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='102' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='x21' type-id='type-id-16' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='103' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='x22' type-id='type-id-16' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='104' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='x23' type-id='type-id-16' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='105' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='x24' type-id='type-id-16' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='106' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='x25' type-id='type-id-16' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='107' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='x26' type-id='type-id-16' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='108' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='x27' type-id='type-id-16' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='109' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='x28' type-id='type-id-16' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='110' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='fp' type-id='type-id-16' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='111' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='sp' type-id='type-id-16' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='112' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='pc' type-id='type-id-16' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='113' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__63' size-in-bits='4352' is-struct='yes' is-anonymous='yes' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='124' column='1' id='type-id-2411'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='tp_value' type-id='type-id-16' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='125' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='tp2_value' type-id='type-id-16' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='126' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='fpsimd_state' type-id='type-id-2413' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='127' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='user_fpsimd_state' size-in-bits='4224' is-struct='yes' visibility='default' filepath='arch/arm64/include/uapi/asm/ptrace.h' line='78' column='1' id='type-id-2413'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='vregs' type-id='type-id-948' visibility='default' filepath='arch/arm64/include/uapi/asm/ptrace.h' line='79' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4096'>
-          <var-decl name='fpsr' type-id='type-id-511' visibility='default' filepath='arch/arm64/include/uapi/asm/ptrace.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4128'>
-          <var-decl name='fpcr' type-id='type-id-511' visibility='default' filepath='arch/arm64/include/uapi/asm/ptrace.h' line='81' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4160'>
-          <var-decl name='__reserved' type-id='type-id-932' visibility='default' filepath='arch/arm64/include/uapi/asm/ptrace.h' line='82' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='debug_info' size-in-bits='2176' is-struct='yes' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='87' column='1' id='type-id-2412'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='suspended_step' type-id='type-id-17' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='90' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='bps_disabled' type-id='type-id-17' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='92' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='wps_disabled' type-id='type-id-17' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='93' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='hbp_break' type-id='type-id-1159' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='95' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='hbp_watch' type-id='type-id-1159' visibility='default' filepath='arch/arm64/include/asm/processor.h' line='96' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='mm_rss_stat' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/mm_types_task.h' line='56' column='1' id='type-id-1486'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='count' type-id='type-id-949' visibility='default' filepath='include/linux/mm_types_task.h' line='57' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='mm_context_t' type-id='type-id-2414' filepath='arch/arm64/include/asm/mmu.h' line='32' column='1' id='type-id-1488'/>
-      <class-decl name='__anonymous_struct__64' size-in-bits='192' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-1488' visibility='default' filepath='arch/arm64/include/asm/mmu.h' line='28' column='1' id='type-id-2414'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='id' type-id='type-id-113' visibility='default' filepath='arch/arm64/include/asm/mmu.h' line='29' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='vdso' type-id='type-id-15' visibility='default' filepath='arch/arm64/include/asm/mmu.h' line='30' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='arch/arm64/include/asm/mmu.h' line='31' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='core_state' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/mm_types.h' line='345' column='1' id='type-id-2415'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='nr_threads' type-id='type-id-26' visibility='default' filepath='include/linux/mm_types.h' line='346' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='dumper' type-id='type-id-2416' visibility='default' filepath='include/linux/mm_types.h' line='347' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='startup' type-id='type-id-1608' visibility='default' filepath='include/linux/mm_types.h' line='348' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='core_thread' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/mm_types.h' line='340' column='1' id='type-id-2416'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='task' type-id='type-id-431' visibility='default' filepath='include/linux/mm_types.h' line='341' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='next' type-id='type-id-2417' visibility='default' filepath='include/linux/mm_types.h' line='342' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='uprobes_state' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/uprobes.h' line='114' column='1' id='type-id-1491'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='xol_area' type-id='type-id-2418' visibility='default' filepath='include/linux/uprobes.h' line='115' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__65' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='304' column='1' id='type-id-2419'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='rb' type-id='type-id-422' visibility='default' filepath='include/linux/mm_types.h' line='305' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='rb_subtree_last' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='306' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='vm_userfaultfd_ctx' is-struct='yes' visibility='default' filepath='include/linux/mm_types.h' line='260' column='1' id='type-id-1481'/>
-      <typedef-decl name='vm_fault_t' type-id='type-id-17' filepath='include/linux/mm_types.h' line='25' column='1' id='type-id-2420'/>
-      <class-decl name='vm_fault' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/linux/mm.h' line='354' column='1' id='type-id-2421'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='vma' type-id='type-id-1209' visibility='default' filepath='include/linux/mm.h' line='355' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='include/linux/mm.h' line='356' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='gfp_mask' type-id='type-id-485' visibility='default' filepath='include/linux/mm.h' line='357' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='pgoff' type-id='type-id-16' visibility='default' filepath='include/linux/mm.h' line='358' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='address' type-id='type-id-16' visibility='default' filepath='include/linux/mm.h' line='359' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='pmd' type-id='type-id-2422' visibility='default' filepath='include/linux/mm.h' line='360' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='pud' type-id='type-id-2423' visibility='default' filepath='include/linux/mm.h' line='362' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='orig_pte' type-id='type-id-2424' visibility='default' filepath='include/linux/mm.h' line='365' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='cow_page' type-id='type-id-512' visibility='default' filepath='include/linux/mm.h' line='367' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='memcg' type-id='type-id-1537' visibility='default' filepath='include/linux/mm.h' line='368' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='page' type-id='type-id-512' visibility='default' filepath='include/linux/mm.h' line='369' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='pte' type-id='type-id-2425' visibility='default' filepath='include/linux/mm.h' line='375' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='ptl' type-id='type-id-486' visibility='default' filepath='include/linux/mm.h' line='379' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='prealloc_pte' type-id='type-id-2140' visibility='default' filepath='include/linux/mm.h' line='383' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='pud_t' type-id='type-id-2426' filepath='include/asm-generic/pgtable-nop4d-hack.h' line='15' column='1' id='type-id-2427'/>
-      <class-decl name='__anonymous_struct__66' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-2427' visibility='default' filepath='include/asm-generic/pgtable-nop4d-hack.h' line='15' column='1' id='type-id-2426'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='pgd' type-id='type-id-1493' visibility='default' filepath='include/asm-generic/pgtable-nop4d-hack.h' line='15' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='pte_t' type-id='type-id-2428' filepath='arch/arm64/include/asm/pgtable-types.h' line='33' column='1' id='type-id-2424'/>
-      <class-decl name='__anonymous_struct__67' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-2424' visibility='default' filepath='arch/arm64/include/asm/pgtable-types.h' line='33' column='1' id='type-id-2428'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='pte' type-id='type-id-103' visibility='default' filepath='arch/arm64/include/asm/pgtable-types.h' line='33' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='page_entry_size' filepath='include/linux/mm.h' line='393' column='1' id='type-id-2429'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='PE_SIZE_PTE' value='0'/>
-        <enumerator name='PE_SIZE_PMD' value='1'/>
-        <enumerator name='PE_SIZE_PUD' value='2'/>
-      </enum-decl>
-      <union-decl name='kernfs_node_id' size-in-bits='64' visibility='default' filepath='include/linux/kernfs.h' line='107' column='1' id='type-id-1427'>
+      <union-decl name='__anonymous_union__5' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='142' column='1' id='type-id-7387'>
         <data-member access='private'>
-          <var-decl name='' type-id='type-id-2430' visibility='default' filepath='include/linux/kernfs.h' line='108' column='1'/>
+          <var-decl name='pt_mm' type-id='type-id-158' visibility='default' filepath='include/linux/mm_types.h' line='143' column='1'/>
         </data-member>
         <data-member access='private'>
-          <var-decl name='id' type-id='type-id-40' visibility='default' filepath='include/linux/kernfs.h' line='118' column='1'/>
+          <var-decl name='pt_frag_refcount' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='144' column='1'/>
         </data-member>
       </union-decl>
-      <class-decl name='__anonymous_struct__68' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/kernfs.h' line='108' column='1' id='type-id-2430'>
+      <class-decl name='modversion_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/module.h' line='37' column='1' id='type-id-7388'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ino' type-id='type-id-7' visibility='default' filepath='include/linux/kernfs.h' line='115' column='1'/>
+          <var-decl name='crc' type-id='type-id-100' visibility='default' filepath='include/linux/module.h' line='38' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='generation' type-id='type-id-7' visibility='default' filepath='include/linux/kernfs.h' line='116' column='1'/>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='name' type-id='type-id-4659' visibility='default' filepath='include/linux/module.h' line='39' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='module_attribute' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/module.h' line='53' column='1' id='type-id-2431'>
+      <pointer-type-def type-id='type-id-5901' size-in-bits='64' id='type-id-7389'/>
+      <pointer-type-def type-id='type-id-7388' size-in-bits='64' id='type-id-7390'/>
+      <pointer-type-def type-id='type-id-5927' size-in-bits='64' id='type-id-7391'/>
+      <function-decl name='strnchr' mangled-name='strnchr' filepath='include/linux/string.h' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strnchr'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-300'/>
+      </function-decl>
+      <function-decl name='sysfs_remove_link' mangled-name='sysfs_remove_link' filepath='include/linux/sysfs.h' line='258' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sysfs_remove_link'>
+        <parameter type-id='type-id-87'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='sysfs_remove_file_ns' mangled-name='sysfs_remove_file_ns' filepath='include/linux/sysfs.h' line='243' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sysfs_remove_file_ns'>
+        <parameter type-id='type-id-87'/>
+        <parameter type-id='type-id-4544'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='sysfs_remove_bin_file' mangled-name='sysfs_remove_bin_file' filepath='include/linux/sysfs.h' line='250' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sysfs_remove_bin_file'>
+        <parameter type-id='type-id-87'/>
+        <parameter type-id='type-id-7362'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='rb_erase' mangled-name='rb_erase' filepath='include/linux/rbtree.h' line='78' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rb_erase'>
+        <parameter type-id='type-id-4914'/>
+        <parameter type-id='type-id-7392'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='sysfs_create_link' mangled-name='sysfs_create_link' filepath='include/linux/sysfs.h' line='253' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sysfs_create_link'>
+        <parameter type-id='type-id-87'/>
+        <parameter type-id='type-id-87'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='seq_open' mangled-name='seq_open' filepath='include/linux/seq_file.h' line='109' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='seq_open'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-4522'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__symbol_put' mangled-name='__symbol_put' filepath='kernel/module.c' line='1057' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__symbol_put'>
+        <parameter type-id='type-id-24' name='symbol' filepath='kernel/module.c' line='1057' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__module_get' mangled-name='__module_get' filepath='kernel/module.c' line='1099' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__module_get'>
+        <parameter type-id='type-id-19' name='module' filepath='kernel/module.c' line='1099' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__symbol_get' mangled-name='__symbol_get' filepath='kernel/module.c' line='2213' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__symbol_get'>
+        <parameter type-id='type-id-24' name='symbol' filepath='kernel/module.c' line='2213' column='1'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='module_layout' mangled-name='module_layout' filepath='kernel/module.c' line='4442' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='module_layout'>
+        <parameter type-id='type-id-19' name='mod' filepath='kernel/module.c' line='4442' column='1'/>
+        <parameter type-id='type-id-7390' name='ver' filepath='kernel/module.c' line='4443' column='1'/>
+        <parameter type-id='type-id-4934' name='kp' filepath='kernel/module.c' line='4444' column='1'/>
+        <parameter type-id='type-id-7389' name='ks' filepath='kernel/module.c' line='4445' column='1'/>
+        <parameter type-id='type-id-7391' name='tp' filepath='kernel/module.c' line='4446' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/notifier.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-7393' size-in-bits='256' id='type-id-7394'>
+        <subrange length='4' type-id='type-id-5' id='type-id-281'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-7395' size-in-bits='192' id='type-id-7396'>
+        <subrange length='3' type-id='type-id-5' id='type-id-1015'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-7397' size-in-bits='2304' id='type-id-7398'>
+        <subrange length='3' type-id='type-id-5' id='type-id-1015'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-100' size-in-bits='256' id='type-id-7399'>
+        <subrange length='4' type-id='type-id-5' id='type-id-281'/>
+
+      </array-type-def>
+      <class-decl name='srcu_notifier_head' size-in-bits='5120' is-struct='yes' visibility='default' filepath='include/linux/notifier.h' line='74' column='1' id='type-id-3481'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='attr' type-id='type-id-619' visibility='default' filepath='include/linux/module.h' line='54' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='show' type-id='type-id-2432' visibility='default' filepath='include/linux/module.h' line='55' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='store' type-id='type-id-2433' visibility='default' filepath='include/linux/module.h' line='57' column='1'/>
+          <var-decl name='mutex' type-id='type-id-407' visibility='default' filepath='include/linux/notifier.h' line='75' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='setup' type-id='type-id-2434' visibility='default' filepath='include/linux/module.h' line='59' column='1'/>
+          <var-decl name='srcu' type-id='type-id-354' visibility='default' filepath='include/linux/notifier.h' line='76' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='test' type-id='type-id-2435' visibility='default' filepath='include/linux/module.h' line='60' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='free' type-id='type-id-2436' visibility='default' filepath='include/linux/module.h' line='61' column='1'/>
+        <data-member access='public' layout-offset-in-bits='5056'>
+          <var-decl name='head' type-id='type-id-103' visibility='default' filepath='include/linux/notifier.h' line='77' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='kernel_symbol' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/export.h' line='71' column='1' id='type-id-2437'>
+      <class-decl name='srcu_struct' size-in-bits='4800' is-struct='yes' visibility='default' filepath='include/linux/srcutree.h' line='76' column='1' id='type-id-354'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='value' type-id='type-id-16' visibility='default' filepath='include/linux/export.h' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/export.h' line='73' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='cfi_check_fn' type-id='type-id-2438' filepath='include/linux/cfi.h' line='9' column='1' id='type-id-1377'/>
-      <typedef-decl name='uint64_t' type-id='type-id-40' filepath='include/linux/types.h' line='112' column='1' id='type-id-2439'/>
-      <class-decl name='kernel_param' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/moduleparam.h' line='71' column='1' id='type-id-2440'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/moduleparam.h' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='mod' type-id='type-id-260' visibility='default' filepath='include/linux/moduleparam.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='ops' type-id='type-id-2441' visibility='default' filepath='include/linux/moduleparam.h' line='74' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='perm' type-id='type-id-2442' visibility='default' filepath='include/linux/moduleparam.h' line='75' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='208'>
-          <var-decl name='level' type-id='type-id-209' visibility='default' filepath='include/linux/moduleparam.h' line='76' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='216'>
-          <var-decl name='flags' type-id='type-id-214' visibility='default' filepath='include/linux/moduleparam.h' line='77' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='' type-id='type-id-2443' visibility='default' filepath='include/linux/moduleparam.h' line='78' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='kernel_param_ops' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/moduleparam.h' line='49' column='1' id='type-id-2444'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='include/linux/moduleparam.h' line='51' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='set' type-id='type-id-2445' visibility='default' filepath='include/linux/moduleparam.h' line='53' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='get' type-id='type-id-2446' visibility='default' filepath='include/linux/moduleparam.h' line='55' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='free' type-id='type-id-517' visibility='default' filepath='include/linux/moduleparam.h' line='57' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='s8' type-id='type-id-1910' filepath='include/asm-generic/int-ll64.h' line='16' column='1' id='type-id-209'/>
-      <union-decl name='__anonymous_union__36' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/moduleparam.h' line='78' column='1' id='type-id-2443'>
-        <data-member access='private'>
-          <var-decl name='arg' type-id='type-id-15' visibility='default' filepath='include/linux/moduleparam.h' line='79' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='str' type-id='type-id-2447' visibility='default' filepath='include/linux/moduleparam.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='arr' type-id='type-id-2448' visibility='default' filepath='include/linux/moduleparam.h' line='81' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='kparam_string' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/moduleparam.h' line='88' column='1' id='type-id-2449'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='maxlen' type-id='type-id-5' visibility='default' filepath='include/linux/moduleparam.h' line='89' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='string' type-id='type-id-2' visibility='default' filepath='include/linux/moduleparam.h' line='90' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='kparam_array' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/moduleparam.h' line='94' column='1' id='type-id-2450'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='max' type-id='type-id-5' visibility='default' filepath='include/linux/moduleparam.h' line='96' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='elemsize' type-id='type-id-5' visibility='default' filepath='include/linux/moduleparam.h' line='97' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='num' type-id='type-id-482' visibility='default' filepath='include/linux/moduleparam.h' line='98' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='ops' type-id='type-id-2441' visibility='default' filepath='include/linux/moduleparam.h' line='99' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='elem' type-id='type-id-15' visibility='default' filepath='include/linux/moduleparam.h' line='100' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='exception_table_entry' size-in-bits='64' is-struct='yes' visibility='default' filepath='arch/arm64/include/asm/extable.h' line='18' column='1' id='type-id-2451'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='insn' type-id='type-id-17' visibility='default' filepath='arch/arm64/include/asm/extable.h' line='20' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='fixup' type-id='type-id-17' visibility='default' filepath='arch/arm64/include/asm/extable.h' line='20' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='module_layout' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/module.h' line='292' column='1' id='type-id-1381'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='base' type-id='type-id-15' visibility='default' filepath='include/linux/module.h' line='294' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='size' type-id='type-id-5' visibility='default' filepath='include/linux/module.h' line='296' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='text_size' type-id='type-id-5' visibility='default' filepath='include/linux/module.h' line='298' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='ro_size' type-id='type-id-5' visibility='default' filepath='include/linux/module.h' line='300' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='ro_after_init_size' type-id='type-id-5' visibility='default' filepath='include/linux/module.h' line='302' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='mtn' type-id='type-id-2452' visibility='default' filepath='include/linux/module.h' line='305' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='mod_tree_node' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/module.h' line='287' column='1' id='type-id-2452'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mod' type-id='type-id-260' visibility='default' filepath='include/linux/module.h' line='288' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='node' type-id='type-id-1227' visibility='default' filepath='include/linux/module.h' line='289' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='mod_arch_specific' size-in-bits='320' is-struct='yes' visibility='default' filepath='arch/arm64/include/asm/module.h' line='30' column='1' id='type-id-1382'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='core' type-id='type-id-2453' visibility='default' filepath='arch/arm64/include/asm/module.h' line='31' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='init' type-id='type-id-2453' visibility='default' filepath='arch/arm64/include/asm/module.h' line='32' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='ftrace_trampoline' type-id='type-id-2454' visibility='default' filepath='arch/arm64/include/asm/module.h' line='35' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='mod_plt_sec' size-in-bits='128' is-struct='yes' visibility='default' filepath='arch/arm64/include/asm/module.h' line='24' column='1' id='type-id-2453'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='plt' type-id='type-id-2455' visibility='default' filepath='arch/arm64/include/asm/module.h' line='25' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='plt_num_entries' type-id='type-id-17' visibility='default' filepath='arch/arm64/include/asm/module.h' line='26' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='plt_max_entries' type-id='type-id-17' visibility='default' filepath='arch/arm64/include/asm/module.h' line='27' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='elf64_shdr' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/uapi/linux/elf.h' line='316' column='1' id='type-id-2456'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='sh_name' type-id='type-id-2457' visibility='default' filepath='include/uapi/linux/elf.h' line='317' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='sh_type' type-id='type-id-2457' visibility='default' filepath='include/uapi/linux/elf.h' line='318' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='sh_flags' type-id='type-id-2458' visibility='default' filepath='include/uapi/linux/elf.h' line='319' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='sh_addr' type-id='type-id-2459' visibility='default' filepath='include/uapi/linux/elf.h' line='320' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='sh_offset' type-id='type-id-2460' visibility='default' filepath='include/uapi/linux/elf.h' line='321' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='sh_size' type-id='type-id-2458' visibility='default' filepath='include/uapi/linux/elf.h' line='322' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='sh_link' type-id='type-id-2457' visibility='default' filepath='include/uapi/linux/elf.h' line='323' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='sh_info' type-id='type-id-2457' visibility='default' filepath='include/uapi/linux/elf.h' line='324' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='sh_addralign' type-id='type-id-2458' visibility='default' filepath='include/uapi/linux/elf.h' line='325' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='sh_entsize' type-id='type-id-2458' visibility='default' filepath='include/uapi/linux/elf.h' line='326' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='Elf64_Word' type-id='type-id-511' filepath='include/uapi/linux/elf.h' line='21' column='1' id='type-id-2457'/>
-      <typedef-decl name='Elf64_Xword' type-id='type-id-100' filepath='include/uapi/linux/elf.h' line='22' column='1' id='type-id-2458'/>
-      <typedef-decl name='Elf64_Addr' type-id='type-id-100' filepath='include/uapi/linux/elf.h' line='16' column='1' id='type-id-2459'/>
-      <typedef-decl name='Elf64_Off' type-id='type-id-100' filepath='include/uapi/linux/elf.h' line='19' column='1' id='type-id-2460'/>
-      <class-decl name='plt_entry' size-in-bits='128' is-struct='yes' visibility='default' filepath='arch/arm64/include/asm/module.h' line='50' column='1' id='type-id-2461'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mov0' type-id='type-id-2462' visibility='default' filepath='arch/arm64/include/asm/module.h' line='59' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='mov1' type-id='type-id-2462' visibility='default' filepath='arch/arm64/include/asm/module.h' line='60' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='mov2' type-id='type-id-2462' visibility='default' filepath='arch/arm64/include/asm/module.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='br' type-id='type-id-2462' visibility='default' filepath='arch/arm64/include/asm/module.h' line='62' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='__le32' type-id='type-id-511' filepath='include/uapi/linux/types.h' line='31' column='1' id='type-id-2462'/>
-      <class-decl name='bug_entry' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/asm-generic/bug.h' line='23' column='1' id='type-id-2463'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bug_addr_disp' type-id='type-id-17' visibility='default' filepath='include/asm-generic/bug.h' line='27' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='file_disp' type-id='type-id-17' visibility='default' filepath='include/asm-generic/bug.h' line='33' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='line' type-id='type-id-312' visibility='default' filepath='include/asm-generic/bug.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='80'>
-          <var-decl name='flags' type-id='type-id-312' visibility='default' filepath='include/asm-generic/bug.h' line='37' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='mod_kallsyms' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/module.h' line='316' column='1' id='type-id-1385'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='symtab' type-id='type-id-2464' visibility='default' filepath='include/linux/module.h' line='317' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='num_symtab' type-id='type-id-5' visibility='default' filepath='include/linux/module.h' line='318' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='strtab' type-id='type-id-2' visibility='default' filepath='include/linux/module.h' line='319' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='Elf64_Sym' type-id='type-id-2465' filepath='include/uapi/linux/elf.h' line='199' column='1' id='type-id-2466'/>
-      <class-decl name='elf64_sym' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/uapi/linux/elf.h' line='192' column='1' id='type-id-2465'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='st_name' type-id='type-id-2457' visibility='default' filepath='include/uapi/linux/elf.h' line='193' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='st_info' type-id='type-id-216' visibility='default' filepath='include/uapi/linux/elf.h' line='194' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='40'>
-          <var-decl name='st_other' type-id='type-id-216' visibility='default' filepath='include/uapi/linux/elf.h' line='195' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='st_shndx' type-id='type-id-2467' visibility='default' filepath='include/uapi/linux/elf.h' line='196' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='st_value' type-id='type-id-2459' visibility='default' filepath='include/uapi/linux/elf.h' line='197' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='st_size' type-id='type-id-2458' visibility='default' filepath='include/uapi/linux/elf.h' line='198' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='Elf64_Half' type-id='type-id-108' filepath='include/uapi/linux/elf.h' line='17' column='1' id='type-id-2467'/>
-      <typedef-decl name='tracepoint_ptr_t' type-id='type-id-2468' filepath='include/linux/tracepoint-defs.h' line='41' column='1' id='type-id-2469'/>
-      <class-decl name='tracepoint' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/tracepoint-defs.h' line='30' column='1' id='type-id-2470'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/tracepoint-defs.h' line='31' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='key' type-id='type-id-2471' visibility='default' filepath='include/linux/tracepoint-defs.h' line='32' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='regfunc' type-id='type-id-1380' visibility='default' filepath='include/linux/tracepoint-defs.h' line='33' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='unregfunc' type-id='type-id-1392' visibility='default' filepath='include/linux/tracepoint-defs.h' line='34' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='funcs' type-id='type-id-2472' visibility='default' filepath='include/linux/tracepoint-defs.h' line='35' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='static_key' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/linux/jump_label.h' line='110' column='1' id='type-id-2471'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='enabled' type-id='type-id-26' visibility='default' filepath='include/linux/jump_label.h' line='111' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='tracepoint_func' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/tracepoint-defs.h' line='24' column='1' id='type-id-2473'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='func' type-id='type-id-15' visibility='default' filepath='include/linux/tracepoint-defs.h' line='25' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='data' type-id='type-id-15' visibility='default' filepath='include/linux/tracepoint-defs.h' line='26' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='prio' type-id='type-id-17' visibility='default' filepath='include/linux/tracepoint-defs.h' line='27' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='super_operations' size-in-bits='1856' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='1880' column='1' id='type-id-2474'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='alloc_inode' type-id='type-id-2475' visibility='default' filepath='include/linux/fs.h' line='1881' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='destroy_inode' type-id='type-id-2476' visibility='default' filepath='include/linux/fs.h' line='1882' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='dirty_inode' type-id='type-id-2477' visibility='default' filepath='include/linux/fs.h' line='1884' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='write_inode' type-id='type-id-2478' visibility='default' filepath='include/linux/fs.h' line='1885' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='drop_inode' type-id='type-id-2479' visibility='default' filepath='include/linux/fs.h' line='1886' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='evict_inode' type-id='type-id-2476' visibility='default' filepath='include/linux/fs.h' line='1887' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='put_super' type-id='type-id-1370' visibility='default' filepath='include/linux/fs.h' line='1888' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='sync_fs' type-id='type-id-2480' visibility='default' filepath='include/linux/fs.h' line='1889' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='freeze_super' type-id='type-id-2481' visibility='default' filepath='include/linux/fs.h' line='1890' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='freeze_fs' type-id='type-id-2481' visibility='default' filepath='include/linux/fs.h' line='1891' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='thaw_super' type-id='type-id-2481' visibility='default' filepath='include/linux/fs.h' line='1892' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='unfreeze_fs' type-id='type-id-2481' visibility='default' filepath='include/linux/fs.h' line='1893' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='statfs' type-id='type-id-2482' visibility='default' filepath='include/linux/fs.h' line='1894' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='remount_fs' type-id='type-id-2483' visibility='default' filepath='include/linux/fs.h' line='1895' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='remount_fs2' type-id='type-id-2484' visibility='default' filepath='include/linux/fs.h' line='1896' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='clone_mnt_data' type-id='type-id-2485' visibility='default' filepath='include/linux/fs.h' line='1897' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='copy_mnt_data' type-id='type-id-2486' visibility='default' filepath='include/linux/fs.h' line='1898' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='umount_begin' type-id='type-id-1370' visibility='default' filepath='include/linux/fs.h' line='1899' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='show_options' type-id='type-id-2487' visibility='default' filepath='include/linux/fs.h' line='1901' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='show_options2' type-id='type-id-2488' visibility='default' filepath='include/linux/fs.h' line='1902' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='show_devname' type-id='type-id-2487' visibility='default' filepath='include/linux/fs.h' line='1903' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='show_path' type-id='type-id-2487' visibility='default' filepath='include/linux/fs.h' line='1904' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='show_stats' type-id='type-id-2487' visibility='default' filepath='include/linux/fs.h' line='1905' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='quota_read' type-id='type-id-2489' visibility='default' filepath='include/linux/fs.h' line='1907' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='quota_write' type-id='type-id-2490' visibility='default' filepath='include/linux/fs.h' line='1908' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='get_dquots' type-id='type-id-2491' visibility='default' filepath='include/linux/fs.h' line='1909' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='bdev_try_to_free_page' type-id='type-id-2492' visibility='default' filepath='include/linux/fs.h' line='1911' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='nr_cached_objects' type-id='type-id-2493' visibility='default' filepath='include/linux/fs.h' line='1912' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='free_cached_objects' type-id='type-id-2493' visibility='default' filepath='include/linux/fs.h' line='1914' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='dquot' size-in-bits='1664' is-struct='yes' visibility='default' filepath='include/linux/quota.h' line='294' column='1' id='type-id-2494'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dq_hash' type-id='type-id-520' visibility='default' filepath='include/linux/quota.h' line='295' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='dq_inuse' type-id='type-id-20' visibility='default' filepath='include/linux/quota.h' line='296' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='dq_free' type-id='type-id-20' visibility='default' filepath='include/linux/quota.h' line='297' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='dq_dirty' type-id='type-id-20' visibility='default' filepath='include/linux/quota.h' line='298' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='dq_lock' type-id='type-id-245' visibility='default' filepath='include/linux/quota.h' line='299' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='dq_dqb_lock' type-id='type-id-247' visibility='default' filepath='include/linux/quota.h' line='300' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='800'>
-          <var-decl name='dq_count' type-id='type-id-26' visibility='default' filepath='include/linux/quota.h' line='301' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='dq_sb' type-id='type-id-28' visibility='default' filepath='include/linux/quota.h' line='302' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='dq_id' type-id='type-id-2495' visibility='default' filepath='include/linux/quota.h' line='303' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='dq_off' type-id='type-id-763' visibility='default' filepath='include/linux/quota.h' line='304' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='dq_flags' type-id='type-id-16' visibility='default' filepath='include/linux/quota.h' line='305' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='dq_dqb' type-id='type-id-2496' visibility='default' filepath='include/linux/quota.h' line='306' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='kqid' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/quota.h' line='68' column='1' id='type-id-2495'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='' type-id='type-id-2497' visibility='default' filepath='include/linux/quota.h' line='69' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='type' type-id='type-id-2498' visibility='default' filepath='include/linux/quota.h' line='74' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__37' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/linux/quota.h' line='69' column='1' id='type-id-2497'>
-        <data-member access='private'>
-          <var-decl name='uid' type-id='type-id-42' visibility='default' filepath='include/linux/quota.h' line='70' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='gid' type-id='type-id-330' visibility='default' filepath='include/linux/quota.h' line='71' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='projid' type-id='type-id-2499' visibility='default' filepath='include/linux/quota.h' line='72' column='1'/>
-        </data-member>
-      </union-decl>
-      <typedef-decl name='kprojid_t' type-id='type-id-2500' filepath='include/linux/projid.h' line='24' column='1' id='type-id-2499'/>
-      <class-decl name='__anonymous_struct__69' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-2499' visibility='default' filepath='include/linux/projid.h' line='22' column='1' id='type-id-2500'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='val' type-id='type-id-2501' visibility='default' filepath='include/linux/projid.h' line='23' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='projid_t' type-id='type-id-1312' filepath='include/linux/projid.h' line='20' column='1' id='type-id-2501'/>
-      <enum-decl name='quota_type' filepath='include/linux/quota.h' line='54' column='1' id='type-id-2498'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='USRQUOTA' value='0'/>
-        <enumerator name='GRPQUOTA' value='1'/>
-        <enumerator name='PRJQUOTA' value='2'/>
-      </enum-decl>
-      <class-decl name='mem_dqblk' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/quota.h' line='205' column='1' id='type-id-2496'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dqb_bhardlimit' type-id='type-id-2502' visibility='default' filepath='include/linux/quota.h' line='206' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='dqb_bsoftlimit' type-id='type-id-2502' visibility='default' filepath='include/linux/quota.h' line='207' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='dqb_curspace' type-id='type-id-2502' visibility='default' filepath='include/linux/quota.h' line='208' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='dqb_rsvspace' type-id='type-id-2502' visibility='default' filepath='include/linux/quota.h' line='209' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='dqb_ihardlimit' type-id='type-id-2502' visibility='default' filepath='include/linux/quota.h' line='210' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='dqb_isoftlimit' type-id='type-id-2502' visibility='default' filepath='include/linux/quota.h' line='211' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='dqb_curinodes' type-id='type-id-2502' visibility='default' filepath='include/linux/quota.h' line='212' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='dqb_btime' type-id='type-id-1341' visibility='default' filepath='include/linux/quota.h' line='213' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='dqb_itime' type-id='type-id-1341' visibility='default' filepath='include/linux/quota.h' line='214' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='qsize_t' type-id='type-id-1148' filepath='include/linux/quota.h' line='66' column='1' id='type-id-2502'/>
-      <class-decl name='shrink_control' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/shrinker.h' line='12' column='1' id='type-id-2503'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='gfp_mask' type-id='type-id-485' visibility='default' filepath='include/linux/shrinker.h' line='13' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='nid' type-id='type-id-17' visibility='default' filepath='include/linux/shrinker.h' line='16' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='nr_to_scan' type-id='type-id-16' visibility='default' filepath='include/linux/shrinker.h' line='23' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='nr_scanned' type-id='type-id-16' visibility='default' filepath='include/linux/shrinker.h' line='30' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='memcg' type-id='type-id-1537' visibility='default' filepath='include/linux/shrinker.h' line='33' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='dquot_operations' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/linux/quota.h' line='322' column='1' id='type-id-2504'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='write_dquot' type-id='type-id-2505' visibility='default' filepath='include/linux/quota.h' line='323' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='alloc_dquot' type-id='type-id-2506' visibility='default' filepath='include/linux/quota.h' line='324' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='destroy_dquot' type-id='type-id-2507' visibility='default' filepath='include/linux/quota.h' line='325' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='acquire_dquot' type-id='type-id-2505' visibility='default' filepath='include/linux/quota.h' line='326' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='release_dquot' type-id='type-id-2505' visibility='default' filepath='include/linux/quota.h' line='327' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='mark_dirty' type-id='type-id-2505' visibility='default' filepath='include/linux/quota.h' line='328' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='write_info' type-id='type-id-2480' visibility='default' filepath='include/linux/quota.h' line='329' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='get_reserved_space' type-id='type-id-2508' visibility='default' filepath='include/linux/quota.h' line='332' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='get_projid' type-id='type-id-2509' visibility='default' filepath='include/linux/quota.h' line='333' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='get_inode_usage' type-id='type-id-2510' visibility='default' filepath='include/linux/quota.h' line='335' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='get_next_id' type-id='type-id-2511' visibility='default' filepath='include/linux/quota.h' line='337' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='quotactl_ops' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/linux/quota.h' line='428' column='1' id='type-id-2512'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='quota_on' type-id='type-id-2513' visibility='default' filepath='include/linux/quota.h' line='429' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='quota_off' type-id='type-id-2480' visibility='default' filepath='include/linux/quota.h' line='430' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='quota_enable' type-id='type-id-2514' visibility='default' filepath='include/linux/quota.h' line='431' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='quota_disable' type-id='type-id-2514' visibility='default' filepath='include/linux/quota.h' line='432' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='quota_sync' type-id='type-id-2480' visibility='default' filepath='include/linux/quota.h' line='433' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='set_info' type-id='type-id-2515' visibility='default' filepath='include/linux/quota.h' line='434' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='get_dqblk' type-id='type-id-2516' visibility='default' filepath='include/linux/quota.h' line='435' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='get_nextdqblk' type-id='type-id-2517' visibility='default' filepath='include/linux/quota.h' line='436' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='set_dqblk' type-id='type-id-2516' visibility='default' filepath='include/linux/quota.h' line='438' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='get_state' type-id='type-id-2518' visibility='default' filepath='include/linux/quota.h' line='439' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='rm_xquota' type-id='type-id-2514' visibility='default' filepath='include/linux/quota.h' line='440' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='qc_info' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/quota.h' line='415' column='1' id='type-id-2519'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='i_fieldmask' type-id='type-id-17' visibility='default' filepath='include/linux/quota.h' line='416' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='i_flags' type-id='type-id-5' visibility='default' filepath='include/linux/quota.h' line='417' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='i_spc_timelimit' type-id='type-id-5' visibility='default' filepath='include/linux/quota.h' line='418' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='i_ino_timelimit' type-id='type-id-5' visibility='default' filepath='include/linux/quota.h' line='420' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='i_rt_spc_timelimit' type-id='type-id-5' visibility='default' filepath='include/linux/quota.h' line='421' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='i_spc_warnlimit' type-id='type-id-5' visibility='default' filepath='include/linux/quota.h' line='422' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='i_ino_warnlimit' type-id='type-id-5' visibility='default' filepath='include/linux/quota.h' line='423' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='i_rt_spc_warnlimit' type-id='type-id-5' visibility='default' filepath='include/linux/quota.h' line='424' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='qc_dqblk' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/linux/quota.h' line='343' column='1' id='type-id-2520'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='d_fieldmask' type-id='type-id-17' visibility='default' filepath='include/linux/quota.h' line='344' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='d_spc_hardlimit' type-id='type-id-40' visibility='default' filepath='include/linux/quota.h' line='345' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='d_spc_softlimit' type-id='type-id-40' visibility='default' filepath='include/linux/quota.h' line='346' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='d_ino_hardlimit' type-id='type-id-40' visibility='default' filepath='include/linux/quota.h' line='347' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='d_ino_softlimit' type-id='type-id-40' visibility='default' filepath='include/linux/quota.h' line='348' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='d_space' type-id='type-id-40' visibility='default' filepath='include/linux/quota.h' line='349' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='d_ino_count' type-id='type-id-40' visibility='default' filepath='include/linux/quota.h' line='350' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='d_ino_timer' type-id='type-id-1548' visibility='default' filepath='include/linux/quota.h' line='351' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='d_spc_timer' type-id='type-id-1548' visibility='default' filepath='include/linux/quota.h' line='353' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='d_ino_warns' type-id='type-id-17' visibility='default' filepath='include/linux/quota.h' line='354' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='d_spc_warns' type-id='type-id-17' visibility='default' filepath='include/linux/quota.h' line='355' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='d_rt_spc_hardlimit' type-id='type-id-40' visibility='default' filepath='include/linux/quota.h' line='356' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='d_rt_spc_softlimit' type-id='type-id-40' visibility='default' filepath='include/linux/quota.h' line='357' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='d_rt_space' type-id='type-id-40' visibility='default' filepath='include/linux/quota.h' line='358' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='d_rt_spc_timer' type-id='type-id-1548' visibility='default' filepath='include/linux/quota.h' line='359' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='d_rt_spc_warns' type-id='type-id-17' visibility='default' filepath='include/linux/quota.h' line='360' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='qc_state' size-in-bits='1408' is-struct='yes' visibility='default' filepath='include/linux/quota.h' line='409' column='1' id='type-id-2521'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='s_incoredqs' type-id='type-id-5' visibility='default' filepath='include/linux/quota.h' line='410' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='s_state' type-id='type-id-1164' visibility='default' filepath='include/linux/quota.h' line='411' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='qc_type_state' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/quota.h' line='395' column='1' id='type-id-1163'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='include/linux/quota.h' line='396' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='spc_timelimit' type-id='type-id-5' visibility='default' filepath='include/linux/quota.h' line='397' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ino_timelimit' type-id='type-id-5' visibility='default' filepath='include/linux/quota.h' line='399' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='rt_spc_timelimit' type-id='type-id-5' visibility='default' filepath='include/linux/quota.h' line='400' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='spc_warnlimit' type-id='type-id-5' visibility='default' filepath='include/linux/quota.h' line='401' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='ino_warnlimit' type-id='type-id-5' visibility='default' filepath='include/linux/quota.h' line='402' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='rt_spc_warnlimit' type-id='type-id-5' visibility='default' filepath='include/linux/quota.h' line='403' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='ino' type-id='type-id-98' visibility='default' filepath='include/linux/quota.h' line='404' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='blocks' type-id='type-id-1304' visibility='default' filepath='include/linux/quota.h' line='405' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='nextents' type-id='type-id-1304' visibility='default' filepath='include/linux/quota.h' line='406' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='blkcnt_t' type-id='type-id-16' filepath='include/linux/types.h' line='135' column='1' id='type-id-1304'/>
-      <class-decl name='hlist_bl_head' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/list_bl.h' line='34' column='1' id='type-id-1358'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='first' type-id='type-id-1293' visibility='default' filepath='include/linux/list_bl.h' line='35' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='block_device' size-in-bits='1728' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='443' column='1' id='type-id-2522'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bd_dev' type-id='type-id-269' visibility='default' filepath='include/linux/fs.h' line='444' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='bd_openers' type-id='type-id-17' visibility='default' filepath='include/linux/fs.h' line='445' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='bd_inode' type-id='type-id-1129' visibility='default' filepath='include/linux/fs.h' line='446' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='bd_super' type-id='type-id-28' visibility='default' filepath='include/linux/fs.h' line='447' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='bd_mutex' type-id='type-id-245' visibility='default' filepath='include/linux/fs.h' line='448' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='bd_claiming' type-id='type-id-15' visibility='default' filepath='include/linux/fs.h' line='449' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='bd_holder' type-id='type-id-15' visibility='default' filepath='include/linux/fs.h' line='450' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='bd_holders' type-id='type-id-17' visibility='default' filepath='include/linux/fs.h' line='451' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='bd_write_holder' type-id='type-id-33' visibility='default' filepath='include/linux/fs.h' line='452' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='bd_holder_disks' type-id='type-id-20' visibility='default' filepath='include/linux/fs.h' line='454' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='bd_contains' type-id='type-id-875' visibility='default' filepath='include/linux/fs.h' line='456' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='bd_block_size' type-id='type-id-5' visibility='default' filepath='include/linux/fs.h' line='457' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='864'>
-          <var-decl name='bd_partno' type-id='type-id-214' visibility='default' filepath='include/linux/fs.h' line='458' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='bd_part' type-id='type-id-2523' visibility='default' filepath='include/linux/fs.h' line='459' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='bd_part_count' type-id='type-id-5' visibility='default' filepath='include/linux/fs.h' line='461' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='992'>
-          <var-decl name='bd_invalidated' type-id='type-id-17' visibility='default' filepath='include/linux/fs.h' line='462' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='bd_disk' type-id='type-id-2524' visibility='default' filepath='include/linux/fs.h' line='463' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='bd_queue' type-id='type-id-1538' visibility='default' filepath='include/linux/fs.h' line='464' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='bd_bdi' type-id='type-id-1359' visibility='default' filepath='include/linux/fs.h' line='465' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='bd_list' type-id='type-id-20' visibility='default' filepath='include/linux/fs.h' line='466' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='bd_private' type-id='type-id-16' visibility='default' filepath='include/linux/fs.h' line='473' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='bd_fsfreeze_count' type-id='type-id-17' visibility='default' filepath='include/linux/fs.h' line='476' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='bd_fsfreeze_mutex' type-id='type-id-245' visibility='default' filepath='include/linux/fs.h' line='478' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='quota_info' size-in-bits='2496' is-struct='yes' visibility='default' filepath='include/linux/quota.h' line='518' column='1' id='type-id-1361'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='include/linux/quota.h' line='519' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='dqio_sem' type-id='type-id-246' visibility='default' filepath='include/linux/quota.h' line='520' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='files' type-id='type-id-1130' visibility='default' filepath='include/linux/quota.h' line='521' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='info' type-id='type-id-1150' visibility='default' filepath='include/linux/quota.h' line='522' column='1'/>
+          <var-decl name='node' type-id='type-id-7398' visibility='default' filepath='include/linux/srcutree.h' line='77' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2304'>
-          <var-decl name='ops' type-id='type-id-1120' visibility='default' filepath='include/linux/quota.h' line='523' column='1'/>
+          <var-decl name='level' type-id='type-id-7396' visibility='default' filepath='include/linux/srcutree.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='srcu_cb_mutex' type-id='type-id-407' visibility='default' filepath='include/linux/srcutree.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2752'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/linux/srcutree.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2816'>
+          <var-decl name='srcu_gp_mutex' type-id='type-id-407' visibility='default' filepath='include/linux/srcutree.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3072'>
+          <var-decl name='srcu_idx' type-id='type-id-10' visibility='default' filepath='include/linux/srcutree.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3136'>
+          <var-decl name='srcu_gp_seq' type-id='type-id-100' visibility='default' filepath='include/linux/srcutree.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3200'>
+          <var-decl name='srcu_gp_seq_needed' type-id='type-id-100' visibility='default' filepath='include/linux/srcutree.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3264'>
+          <var-decl name='srcu_gp_seq_needed_exp' type-id='type-id-100' visibility='default' filepath='include/linux/srcutree.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3328'>
+          <var-decl name='srcu_last_gp_end' type-id='type-id-100' visibility='default' filepath='include/linux/srcutree.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3392'>
+          <var-decl name='sda' type-id='type-id-7400' visibility='default' filepath='include/linux/srcutree.h' line='88' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3456'>
+          <var-decl name='srcu_barrier_seq' type-id='type-id-100' visibility='default' filepath='include/linux/srcutree.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3520'>
+          <var-decl name='srcu_barrier_mutex' type-id='type-id-407' visibility='default' filepath='include/linux/srcutree.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3776'>
+          <var-decl name='srcu_barrier_completion' type-id='type-id-661' visibility='default' filepath='include/linux/srcutree.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4032'>
+          <var-decl name='srcu_barrier_cpu_cnt' type-id='type-id-137' visibility='default' filepath='include/linux/srcutree.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4096'>
+          <var-decl name='work' type-id='type-id-370' visibility='default' filepath='include/linux/srcutree.h' line='96' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='mem_dqinfo' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/quota.h' line='222' column='1' id='type-id-1149'>
+      <class-decl name='srcu_node' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/linux/srcutree.h' line='60' column='1' id='type-id-7397'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dqi_format' type-id='type-id-2525' visibility='default' filepath='include/linux/quota.h' line='223' column='1'/>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/linux/srcutree.h' line='61' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='dqi_fmt_id' type-id='type-id-17' visibility='default' filepath='include/linux/quota.h' line='224' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='dqi_dirty_list' type-id='type-id-20' visibility='default' filepath='include/linux/quota.h' line='226' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='dqi_flags' type-id='type-id-16' visibility='default' filepath='include/linux/quota.h' line='227' column='1'/>
+          <var-decl name='srcu_have_cbs' type-id='type-id-7399' visibility='default' filepath='include/linux/srcutree.h' line='62' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='dqi_bgrace' type-id='type-id-5' visibility='default' filepath='include/linux/quota.h' line='228' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='dqi_igrace' type-id='type-id-5' visibility='default' filepath='include/linux/quota.h' line='229' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='dqi_max_spc_limit' type-id='type-id-2502' visibility='default' filepath='include/linux/quota.h' line='230' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='dqi_max_ino_limit' type-id='type-id-2502' visibility='default' filepath='include/linux/quota.h' line='231' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='dqi_priv' type-id='type-id-15' visibility='default' filepath='include/linux/quota.h' line='232' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='quota_format_type' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/quota.h' line='443' column='1' id='type-id-2526'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='qf_fmt_id' type-id='type-id-17' visibility='default' filepath='include/linux/quota.h' line='444' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='qf_ops' type-id='type-id-1119' visibility='default' filepath='include/linux/quota.h' line='445' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='qf_owner' type-id='type-id-260' visibility='default' filepath='include/linux/quota.h' line='446' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='qf_next' type-id='type-id-2525' visibility='default' filepath='include/linux/quota.h' line='447' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='quota_format_ops' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/quota.h' line='310' column='1' id='type-id-2527'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='check_quota_file' type-id='type-id-2480' visibility='default' filepath='include/linux/quota.h' line='311' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='read_file_info' type-id='type-id-2480' visibility='default' filepath='include/linux/quota.h' line='312' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='write_file_info' type-id='type-id-2480' visibility='default' filepath='include/linux/quota.h' line='313' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='free_file_info' type-id='type-id-2480' visibility='default' filepath='include/linux/quota.h' line='314' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='read_dqblk' type-id='type-id-2505' visibility='default' filepath='include/linux/quota.h' line='315' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='commit_dqblk' type-id='type-id-2505' visibility='default' filepath='include/linux/quota.h' line='316' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='release_dqblk' type-id='type-id-2505' visibility='default' filepath='include/linux/quota.h' line='317' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='get_next_id' type-id='type-id-2511' visibility='default' filepath='include/linux/quota.h' line='318' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='sb_writers' size-in-bits='3328' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='1369' column='1' id='type-id-1362'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='frozen' type-id='type-id-17' visibility='default' filepath='include/linux/fs.h' line='1370' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='wait_unfrozen' type-id='type-id-225' visibility='default' filepath='include/linux/fs.h' line='1371' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='rw_sem' type-id='type-id-1157' visibility='default' filepath='include/linux/fs.h' line='1372' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='percpu_rw_semaphore' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/linux/percpu-rwsem.h' line='12' column='1' id='type-id-1156'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='rss' type-id='type-id-2528' visibility='default' filepath='include/linux/percpu-rwsem.h' line='13' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='read_count' type-id='type-id-482' visibility='default' filepath='include/linux/percpu-rwsem.h' line='14' column='1'/>
+          <var-decl name='srcu_data_have_cbs' type-id='type-id-7399' visibility='default' filepath='include/linux/srcutree.h' line='65' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='rw_sem' type-id='type-id-246' visibility='default' filepath='include/linux/percpu-rwsem.h' line='15' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='writer' type-id='type-id-2529' visibility='default' filepath='include/linux/percpu-rwsem.h' line='16' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='readers_block' type-id='type-id-17' visibility='default' filepath='include/linux/percpu-rwsem.h' line='17' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='rcu_sync' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/rcu_sync.h' line='32' column='1' id='type-id-2528'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='gp_state' type-id='type-id-17' visibility='default' filepath='include/linux/rcu_sync.h' line='33' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='gp_count' type-id='type-id-17' visibility='default' filepath='include/linux/rcu_sync.h' line='34' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='gp_wait' type-id='type-id-225' visibility='default' filepath='include/linux/rcu_sync.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='cb_state' type-id='type-id-17' visibility='default' filepath='include/linux/rcu_sync.h' line='37' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='cb_head' type-id='type-id-385' visibility='default' filepath='include/linux/rcu_sync.h' line='38' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='gp_type' type-id='type-id-2530' visibility='default' filepath='include/linux/rcu_sync.h' line='40' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='rcu_sync_type' filepath='include/linux/rcu_sync.h' line='29' column='1' id='type-id-2530'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='RCU_SYNC' value='0'/>
-        <enumerator name='RCU_SCHED_SYNC' value='1'/>
-        <enumerator name='RCU_BH_SYNC' value='2'/>
-      </enum-decl>
-      <class-decl name='rcuwait' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/rcuwait.h' line='20' column='1' id='type-id-2529'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='task' type-id='type-id-431' visibility='default' filepath='include/linux/rcuwait.h' line='21' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='uuid_t' type-id='type-id-2531' filepath='include/linux/uuid.h' line='26' column='1' id='type-id-1363'/>
-      <class-decl name='__anonymous_struct__70' size-in-bits='128' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-1363' visibility='default' filepath='include/linux/uuid.h' line='24' column='1' id='type-id-2531'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='b' type-id='type-id-938' visibility='default' filepath='include/linux/uuid.h' line='25' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='fmode_t' type-id='type-id-5' filepath='include/linux/types.h' line='160' column='1' id='type-id-876'/>
-      <class-decl name='dentry_operations' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/linux/dcache.h' line='134' column='1' id='type-id-2532'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='d_revalidate' type-id='type-id-2533' visibility='default' filepath='include/linux/dcache.h' line='135' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='d_weak_revalidate' type-id='type-id-2533' visibility='default' filepath='include/linux/dcache.h' line='136' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='d_hash' type-id='type-id-2534' visibility='default' filepath='include/linux/dcache.h' line='137' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='d_compare' type-id='type-id-2535' visibility='default' filepath='include/linux/dcache.h' line='138' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='d_delete' type-id='type-id-2536' visibility='default' filepath='include/linux/dcache.h' line='140' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='d_init' type-id='type-id-2537' visibility='default' filepath='include/linux/dcache.h' line='141' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='d_release' type-id='type-id-2538' visibility='default' filepath='include/linux/dcache.h' line='142' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='d_prune' type-id='type-id-2538' visibility='default' filepath='include/linux/dcache.h' line='143' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='d_iput' type-id='type-id-2539' visibility='default' filepath='include/linux/dcache.h' line='144' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='d_dname' type-id='type-id-2540' visibility='default' filepath='include/linux/dcache.h' line='145' column='1'/>
+          <var-decl name='srcu_gp_seq_needed_exp' type-id='type-id-100' visibility='default' filepath='include/linux/srcutree.h' line='67' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='d_automount' type-id='type-id-2541' visibility='default' filepath='include/linux/dcache.h' line='146' column='1'/>
+          <var-decl name='srcu_parent' type-id='type-id-7395' visibility='default' filepath='include/linux/srcutree.h' line='68' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='d_manage' type-id='type-id-2542' visibility='default' filepath='include/linux/dcache.h' line='147' column='1'/>
+          <var-decl name='grplo' type-id='type-id-11' visibility='default' filepath='include/linux/srcutree.h' line='69' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='d_real' type-id='type-id-2543' visibility='default' filepath='include/linux/dcache.h' line='148' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='d_canonical_path' type-id='type-id-2544' visibility='default' filepath='include/linux/dcache.h' line='149' column='1'/>
+        <data-member access='public' layout-offset-in-bits='736'>
+          <var-decl name='grphi' type-id='type-id-11' visibility='default' filepath='include/linux/srcutree.h' line='70' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='shrinker' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/shrinker.h' line='60' column='1' id='type-id-1364'>
+      <class-decl name='srcu_data' size-in-bits='2560' is-struct='yes' visibility='default' filepath='include/linux/srcutree.h' line='37' column='1' id='type-id-7401'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='count_objects' type-id='type-id-2545' visibility='default' filepath='include/linux/shrinker.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='scan_objects' type-id='type-id-2545' visibility='default' filepath='include/linux/shrinker.h' line='63' column='1'/>
+          <var-decl name='srcu_lock_count' type-id='type-id-1331' visibility='default' filepath='include/linux/srcutree.h' line='39' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='batch' type-id='type-id-192' visibility='default' filepath='include/linux/shrinker.h' line='66' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='seeks' type-id='type-id-17' visibility='default' filepath='include/linux/shrinker.h' line='67' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='include/linux/shrinker.h' line='68' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/shrinker.h' line='71' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='id' type-id='type-id-17' visibility='default' filepath='include/linux/shrinker.h' line='74' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='nr_deferred' type-id='type-id-2546' visibility='default' filepath='include/linux/shrinker.h' line='77' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='list_lru' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/list_lru.h' line='52' column='1' id='type-id-1365'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='node' type-id='type-id-2547' visibility='default' filepath='include/linux/list_lru.h' line='53' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/list_lru.h' line='55' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='shrinker_id' type-id='type-id-17' visibility='default' filepath='include/linux/list_lru.h' line='56' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='memcg_aware' type-id='type-id-33' visibility='default' filepath='include/linux/list_lru.h' line='57' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='list_lru_node' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/list_lru.h' line='40' column='1' id='type-id-2548'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='include/linux/list_lru.h' line='42' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='lru' type-id='type-id-2549' visibility='default' filepath='include/linux/list_lru.h' line='44' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='memcg_lrus' type-id='type-id-2550' visibility='default' filepath='include/linux/list_lru.h' line='47' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='nr_items' type-id='type-id-192' visibility='default' filepath='include/linux/list_lru.h' line='49' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='list_lru_one' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/list_lru.h' line='28' column='1' id='type-id-2549'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/list_lru.h' line='29' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='nr_items' type-id='type-id-192' visibility='default' filepath='include/linux/list_lru.h' line='31' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='list_lru_memcg' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/list_lru.h' line='34' column='1' id='type-id-2551'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/linux/list_lru.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='lru' type-id='type-id-1145' visibility='default' filepath='include/linux/list_lru.h' line='37' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='file_operations' size-in-bits='2048' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='1760' column='1' id='type-id-2552'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='owner' type-id='type-id-260' visibility='default' filepath='include/linux/fs.h' line='1761' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='llseek' type-id='type-id-2553' visibility='default' filepath='include/linux/fs.h' line='1762' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='read' type-id='type-id-2554' visibility='default' filepath='include/linux/fs.h' line='1763' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='write' type-id='type-id-2555' visibility='default' filepath='include/linux/fs.h' line='1764' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='read_iter' type-id='type-id-2103' visibility='default' filepath='include/linux/fs.h' line='1765' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='write_iter' type-id='type-id-2103' visibility='default' filepath='include/linux/fs.h' line='1766' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='iterate' type-id='type-id-2556' visibility='default' filepath='include/linux/fs.h' line='1767' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='iterate_shared' type-id='type-id-2556' visibility='default' filepath='include/linux/fs.h' line='1768' column='1'/>
+          <var-decl name='srcu_unlock_count' type-id='type-id-1331' visibility='default' filepath='include/linux/srcutree.h' line='40' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='poll' type-id='type-id-2557' visibility='default' filepath='include/linux/fs.h' line='1769' column='1'/>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/linux/srcutree.h' line='43' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='unlocked_ioctl' type-id='type-id-2558' visibility='default' filepath='include/linux/fs.h' line='1770' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='compat_ioctl' type-id='type-id-2558' visibility='default' filepath='include/linux/fs.h' line='1771' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='mmap' type-id='type-id-2559' visibility='default' filepath='include/linux/fs.h' line='1772' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='mmap_supported_flags' type-id='type-id-16' visibility='default' filepath='include/linux/fs.h' line='1773' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='open' type-id='type-id-2560' visibility='default' filepath='include/linux/fs.h' line='1774' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='flush' type-id='type-id-2561' visibility='default' filepath='include/linux/fs.h' line='1775' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='release' type-id='type-id-2560' visibility='default' filepath='include/linux/fs.h' line='1776' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='fsync' type-id='type-id-2562' visibility='default' filepath='include/linux/fs.h' line='1777' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='fasync' type-id='type-id-2563' visibility='default' filepath='include/linux/fs.h' line='1778' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='lock' type-id='type-id-2564' visibility='default' filepath='include/linux/fs.h' line='1779' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='sendpage' type-id='type-id-2565' visibility='default' filepath='include/linux/fs.h' line='1780' column='1'/>
+          <var-decl name='srcu_cblist' type-id='type-id-7402' visibility='default' filepath='include/linux/srcutree.h' line='44' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='get_unmapped_area' type-id='type-id-1484' visibility='default' filepath='include/linux/fs.h' line='1781' column='1'/>
+          <var-decl name='srcu_gp_seq_needed' type-id='type-id-100' visibility='default' filepath='include/linux/srcutree.h' line='45' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='check_flags' type-id='type-id-2566' visibility='default' filepath='include/linux/fs.h' line='1782' column='1'/>
+          <var-decl name='srcu_gp_seq_needed_exp' type-id='type-id-100' visibility='default' filepath='include/linux/srcutree.h' line='46' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='flock' type-id='type-id-2564' visibility='default' filepath='include/linux/fs.h' line='1783' column='1'/>
+          <var-decl name='srcu_cblist_invoking' type-id='type-id-211' visibility='default' filepath='include/linux/srcutree.h' line='47' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='splice_write' type-id='type-id-2567' visibility='default' filepath='include/linux/fs.h' line='1784' column='1'/>
+          <var-decl name='work' type-id='type-id-370' visibility='default' filepath='include/linux/srcutree.h' line='48' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='splice_read' type-id='type-id-2568' visibility='default' filepath='include/linux/fs.h' line='1785' column='1'/>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='srcu_barrier_head' type-id='type-id-157' visibility='default' filepath='include/linux/srcutree.h' line='49' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='setlease' type-id='type-id-2569' visibility='default' filepath='include/linux/fs.h' line='1786' column='1'/>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='mynode' type-id='type-id-7395' visibility='default' filepath='include/linux/srcutree.h' line='50' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='fallocate' type-id='type-id-2570' visibility='default' filepath='include/linux/fs.h' line='1787' column='1'/>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='grpmask' type-id='type-id-100' visibility='default' filepath='include/linux/srcutree.h' line='51' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='show_fdinfo' type-id='type-id-2571' visibility='default' filepath='include/linux/fs.h' line='1789' column='1'/>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='cpu' type-id='type-id-11' visibility='default' filepath='include/linux/srcutree.h' line='53' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='copy_file_range' type-id='type-id-2572' visibility='default' filepath='include/linux/fs.h' line='1793' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='clone_file_range' type-id='type-id-2573' visibility='default' filepath='include/linux/fs.h' line='1795' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='dedupe_file_range' type-id='type-id-2573' visibility='default' filepath='include/linux/fs.h' line='1797' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='fadvise' type-id='type-id-2562' visibility='default' filepath='include/linux/fs.h' line='1799' column='1'/>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='sp' type-id='type-id-7403' visibility='default' filepath='include/linux/srcutree.h' line='54' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='dir_context' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='1725' column='1' id='type-id-2574'>
+      <class-decl name='rcu_segcblist' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/linux/rcu_segcblist.h' line='77' column='1' id='type-id-7402'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='actor' type-id='type-id-2575' visibility='default' filepath='include/linux/fs.h' line='1726' column='1'/>
+          <var-decl name='head' type-id='type-id-4987' visibility='default' filepath='include/linux/rcu_segcblist.h' line='78' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='pos' type-id='type-id-763' visibility='default' filepath='include/linux/fs.h' line='1727' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='filldir_t' type-id='type-id-2576' filepath='include/linux/fs.h' line='1722' column='1' id='type-id-2575'/>
-      <typedef-decl name='fl_owner_t' type-id='type-id-15' filepath='include/linux/fs.h' line='986' column='1' id='type-id-2577'/>
-      <class-decl name='file_lock' size-in-bits='1600' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='1042' column='1' id='type-id-2578'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='fl_next' type-id='type-id-2579' visibility='default' filepath='include/linux/fs.h' line='1043' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='fl_list' type-id='type-id-20' visibility='default' filepath='include/linux/fs.h' line='1044' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='fl_link' type-id='type-id-520' visibility='default' filepath='include/linux/fs.h' line='1045' column='1'/>
+          <var-decl name='tails' type-id='type-id-7394' visibility='default' filepath='include/linux/rcu_segcblist.h' line='79' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='fl_block' type-id='type-id-20' visibility='default' filepath='include/linux/fs.h' line='1046' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='fl_owner' type-id='type-id-2577' visibility='default' filepath='include/linux/fs.h' line='1047' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='fl_flags' type-id='type-id-5' visibility='default' filepath='include/linux/fs.h' line='1048' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='fl_type' type-id='type-id-216' visibility='default' filepath='include/linux/fs.h' line='1049' column='1'/>
+          <var-decl name='gp_seq' type-id='type-id-7399' visibility='default' filepath='include/linux/rcu_segcblist.h' line='80' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='fl_pid' type-id='type-id-5' visibility='default' filepath='include/linux/fs.h' line='1050' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='fl_link_cpu' type-id='type-id-17' visibility='default' filepath='include/linux/fs.h' line='1051' column='1'/>
+          <var-decl name='len' type-id='type-id-187' visibility='default' filepath='include/linux/rcu_segcblist.h' line='81' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='fl_wait' type-id='type-id-225' visibility='default' filepath='include/linux/fs.h' line='1052' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='fl_file' type-id='type-id-83' visibility='default' filepath='include/linux/fs.h' line='1053' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='fl_start' type-id='type-id-763' visibility='default' filepath='include/linux/fs.h' line='1054' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='fl_end' type-id='type-id-763' visibility='default' filepath='include/linux/fs.h' line='1055' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='fl_fasync' type-id='type-id-254' visibility='default' filepath='include/linux/fs.h' line='1057' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='fl_break_time' type-id='type-id-16' visibility='default' filepath='include/linux/fs.h' line='1059' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='fl_downgrade_time' type-id='type-id-16' visibility='default' filepath='include/linux/fs.h' line='1060' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='fl_ops' type-id='type-id-2580' visibility='default' filepath='include/linux/fs.h' line='1062' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='fl_lmops' type-id='type-id-2581' visibility='default' filepath='include/linux/fs.h' line='1063' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='fl_u' type-id='type-id-2582' visibility='default' filepath='include/linux/fs.h' line='1071' column='1'/>
+          <var-decl name='len_lazy' type-id='type-id-187' visibility='default' filepath='include/linux/rcu_segcblist.h' line='82' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='file_lock_operations' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='990' column='1' id='type-id-2583'>
+      <class-decl name='raw_notifier_head' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/notifier.h' line='70' column='1' id='type-id-1021'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='fl_copy_lock' type-id='type-id-2584' visibility='default' filepath='include/linux/fs.h' line='991' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='fl_release_private' type-id='type-id-2585' visibility='default' filepath='include/linux/fs.h' line='992' column='1'/>
+          <var-decl name='head' type-id='type-id-103' visibility='default' filepath='include/linux/notifier.h' line='71' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='lock_manager_operations' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='995' column='1' id='type-id-2586'>
+      <pointer-type-def type-id='type-id-4987' size-in-bits='64' id='type-id-7393'/>
+      <pointer-type-def type-id='type-id-1021' size-in-bits='64' id='type-id-1022'/>
+      <pointer-type-def type-id='type-id-7401' size-in-bits='64' id='type-id-7400'/>
+      <pointer-type-def type-id='type-id-7397' size-in-bits='64' id='type-id-7395'/>
+      <pointer-type-def type-id='type-id-3481' size-in-bits='64' id='type-id-7404'/>
+      <pointer-type-def type-id='type-id-354' size-in-bits='64' id='type-id-7403'/>
+      <function-decl name='srcu_init_notifier_head' mangled-name='srcu_init_notifier_head' filepath='kernel/notifier.c' line='523' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='srcu_init_notifier_head'>
+        <parameter type-id='type-id-7404' name='nh' filepath='kernel/notifier.c' line='523' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='atomic_notifier_chain_unregister' mangled-name='atomic_notifier_chain_unregister' filepath='kernel/notifier.c' line='143' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='atomic_notifier_chain_unregister'>
+        <parameter type-id='type-id-107' name='nh' filepath='kernel/notifier.c' line='143' column='1'/>
+        <parameter type-id='type-id-103' name='n' filepath='kernel/notifier.c' line='144' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='blocking_notifier_chain_unregister' mangled-name='blocking_notifier_chain_unregister' filepath='kernel/notifier.c' line='266' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blocking_notifier_chain_unregister'>
+        <parameter type-id='type-id-7271' name='nh' filepath='kernel/notifier.c' line='266' column='1'/>
+        <parameter type-id='type-id-103' name='n' filepath='kernel/notifier.c' line='267' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='raw_notifier_chain_register' mangled-name='raw_notifier_chain_register' filepath='kernel/notifier.c' line='347' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='raw_notifier_chain_register'>
+        <parameter type-id='type-id-1022' name='nh' filepath='kernel/notifier.c' line='347' column='1'/>
+        <parameter type-id='type-id-103' name='n' filepath='kernel/notifier.c' line='348' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='raw_notifier_chain_unregister' mangled-name='raw_notifier_chain_unregister' filepath='kernel/notifier.c' line='364' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='raw_notifier_chain_unregister'>
+        <parameter type-id='type-id-1022' name='nh' filepath='kernel/notifier.c' line='364' column='1'/>
+        <parameter type-id='type-id-103' name='n' filepath='kernel/notifier.c' line='365' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='raw_notifier_call_chain' mangled-name='raw_notifier_call_chain' filepath='kernel/notifier.c' line='398' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='raw_notifier_call_chain'>
+        <parameter type-id='type-id-1022' name='nh' filepath='kernel/notifier.c' line='398' column='1'/>
+        <parameter type-id='type-id-100' name='val' filepath='kernel/notifier.c' line='399' column='1'/>
+        <parameter type-id='type-id-3' name='v' filepath='kernel/notifier.c' line='399' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='srcu_notifier_chain_register' mangled-name='srcu_notifier_chain_register' filepath='kernel/notifier.c' line='421' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='srcu_notifier_chain_register'>
+        <parameter type-id='type-id-7404' name='nh' filepath='kernel/notifier.c' line='421' column='1'/>
+        <parameter type-id='type-id-103' name='n' filepath='kernel/notifier.c' line='422' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='srcu_notifier_chain_unregister' mangled-name='srcu_notifier_chain_unregister' filepath='kernel/notifier.c' line='451' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='srcu_notifier_chain_unregister'>
+        <parameter type-id='type-id-7404' name='nh' filepath='kernel/notifier.c' line='451' column='1'/>
+        <parameter type-id='type-id-103' name='n' filepath='kernel/notifier.c' line='452' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='srcu_notifier_call_chain' mangled-name='srcu_notifier_call_chain' filepath='kernel/notifier.c' line='504' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='srcu_notifier_call_chain'>
+        <parameter type-id='type-id-7404' name='nh' filepath='kernel/notifier.c' line='504' column='1'/>
+        <parameter type-id='type-id-100' name='val' filepath='kernel/notifier.c' line='505' column='1'/>
+        <parameter type-id='type-id-3' name='v' filepath='kernel/notifier.c' line='505' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='register_die_notifier' mangled-name='register_die_notifier' filepath='kernel/notifier.c' line='553' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='register_die_notifier'>
+        <parameter type-id='type-id-103' name='nb' filepath='kernel/notifier.c' line='553' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/nsproxy.c' language='LANG_C89'>
+      <function-decl name='refcount_dec_and_test_checked' mangled-name='refcount_dec_and_test_checked' filepath='include/linux/refcount.h' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='refcount_dec_and_test_checked'>
+        <parameter type-id='type-id-4476'/>
+        <return type-id='type-id-264'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/panic.c' language='LANG_C89'>
+      <class-decl name='bio_vec' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7405'/>
+      <class-decl name='__va_list' size-in-bits='256' is-struct='yes' visibility='default' filepath='kernel/panic.c' line='139' column='1' id='type-id-1144'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lm_compare_owner' type-id='type-id-2587' visibility='default' filepath='include/linux/fs.h' line='996' column='1'/>
+          <var-decl name='__stack' type-id='type-id-3' visibility='default' filepath='kernel/panic.c' line='139' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='lm_owner_key' type-id='type-id-2588' visibility='default' filepath='include/linux/fs.h' line='997' column='1'/>
+          <var-decl name='__gr_top' type-id='type-id-3' visibility='default' filepath='kernel/panic.c' line='139' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='lm_get_owner' type-id='type-id-2589' visibility='default' filepath='include/linux/fs.h' line='998' column='1'/>
+          <var-decl name='__vr_top' type-id='type-id-3' visibility='default' filepath='kernel/panic.c' line='139' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='lm_put_owner' type-id='type-id-2590' visibility='default' filepath='include/linux/fs.h' line='999' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='lm_notify' type-id='type-id-2585' visibility='default' filepath='include/linux/fs.h' line='1000' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='lm_grant' type-id='type-id-2591' visibility='default' filepath='include/linux/fs.h' line='1001' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='lm_break' type-id='type-id-2592' visibility='default' filepath='include/linux/fs.h' line='1002' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='lm_change' type-id='type-id-2593' visibility='default' filepath='include/linux/fs.h' line='1003' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='lm_setup' type-id='type-id-2594' visibility='default' filepath='include/linux/fs.h' line='1004' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='nfs_lock_info' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/nfs_fs_i.h' line='10' column='1' id='type-id-2595'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='state' type-id='type-id-7' visibility='default' filepath='include/linux/nfs_fs_i.h' line='11' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='owner' type-id='type-id-2596' visibility='default' filepath='include/linux/nfs_fs_i.h' line='12' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/nfs_fs_i.h' line='13' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='nfs4_lock_info' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/nfs_fs_i.h' line='17' column='1' id='type-id-2597'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='owner' type-id='type-id-2598' visibility='default' filepath='include/linux/nfs_fs_i.h' line='18' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__71' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/fs.h' line='1067' column='1' id='type-id-2599'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='link' type-id='type-id-20' visibility='default' filepath='include/linux/fs.h' line='1068' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='state' type-id='type-id-17' visibility='default' filepath='include/linux/fs.h' line='1069' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='file_lock_context' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='1074' column='1' id='type-id-2600'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='flc_lock' type-id='type-id-247' visibility='default' filepath='include/linux/fs.h' line='1075' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='flc_flock' type-id='type-id-20' visibility='default' filepath='include/linux/fs.h' line='1076' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='flc_posix' type-id='type-id-20' visibility='default' filepath='include/linux/fs.h' line='1077' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='flc_lease' type-id='type-id-20' visibility='default' filepath='include/linux/fs.h' line='1078' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='lockref' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/lockref.h' line='25' column='1' id='type-id-1288'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='' type-id='type-id-2601' visibility='default' filepath='include/linux/lockref.h' line='26' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__40' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/lockref.h' line='26' column='1' id='type-id-2601'>
-        <data-member access='private'>
-          <var-decl name='lock_count' type-id='type-id-100' visibility='default' filepath='include/linux/lockref.h' line='28' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='' type-id='type-id-2602' visibility='default' filepath='include/linux/lockref.h' line='30' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='__anonymous_struct__72' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/lockref.h' line='30' column='1' id='type-id-2602'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='include/linux/lockref.h' line='31' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='count' type-id='type-id-17' visibility='default' filepath='include/linux/lockref.h' line='32' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='rw_hint' filepath='include/linux/fs.h' line='292' column='1' id='type-id-1277'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='WRITE_LIFE_NOT_SET' value='0'/>
-        <enumerator name='WRITE_LIFE_NONE' value='1'/>
-        <enumerator name='WRITE_LIFE_SHORT' value='2'/>
-        <enumerator name='WRITE_LIFE_MEDIUM' value='3'/>
-        <enumerator name='WRITE_LIFE_LONG' value='4'/>
-        <enumerator name='WRITE_LIFE_EXTREME' value='5'/>
-      </enum-decl>
-      <class-decl name='fown_struct' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='866' column='1' id='type-id-1278'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lock' type-id='type-id-885' visibility='default' filepath='include/linux/fs.h' line='867' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='pid' type-id='type-id-251' visibility='default' filepath='include/linux/fs.h' line='868' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='pid_type' type-id='type-id-2603' visibility='default' filepath='include/linux/fs.h' line='869' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='uid' type-id='type-id-42' visibility='default' filepath='include/linux/fs.h' line='870' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='euid' type-id='type-id-42' visibility='default' filepath='include/linux/fs.h' line='870' column='1'/>
+          <var-decl name='__gr_offs' type-id='type-id-11' visibility='default' filepath='kernel/panic.c' line='139' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='signum' type-id='type-id-17' visibility='default' filepath='include/linux/fs.h' line='871' column='1'/>
+          <var-decl name='__vr_offs' type-id='type-id-11' visibility='default' filepath='kernel/panic.c' line='139' column='1'/>
         </data-member>
       </class-decl>
-      <enum-decl name='pid_type' filepath='include/linux/pid.h' line='8' column='1' id='type-id-2603'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='PIDTYPE_PID' value='0'/>
-        <enumerator name='PIDTYPE_TGID' value='1'/>
-        <enumerator name='PIDTYPE_PGID' value='2'/>
-        <enumerator name='PIDTYPE_SID' value='3'/>
-        <enumerator name='PIDTYPE_MAX' value='4'/>
-      </enum-decl>
-      <class-decl name='file_ra_state' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/fs.h' line='877' column='1' id='type-id-1280'>
+      <union-decl name='__anonymous_union__6' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/uio.h' line='35' column='1' id='type-id-7406'>
+        <data-member access='private'>
+          <var-decl name='iov' type-id='type-id-2205' visibility='default' filepath='include/linux/uio.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='kvec' type-id='type-id-2206' visibility='default' filepath='include/linux/uio.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='bvec' type-id='type-id-7249' visibility='default' filepath='include/linux/uio.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='pipe' type-id='type-id-2208' visibility='default' filepath='include/linux/uio.h' line='39' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__8' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='79' column='1' id='type-id-7407'>
+        <member-type access='private'>
+          <class-decl name='__anonymous_struct__' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='98' column='1' id='type-id-7408'>
+            <member-type access='public'>
+              <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='115' column='1' id='type-id-6373'>
+                <data-member access='private'>
+                  <var-decl name='s_mem' type-id='type-id-3' visibility='default' filepath='include/linux/mm_types.h' line='116' column='1'/>
+                </data-member>
+                <data-member access='private'>
+                  <var-decl name='counters' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='117' column='1'/>
+                </data-member>
+                <data-member access='private'>
+                  <var-decl name='' type-id='type-id-4515' visibility='default' filepath='include/linux/mm_types.h' line='118' column='1'/>
+                </data-member>
+              </union-decl>
+            </member-type>
+            <data-member access='public' layout-offset-in-bits='0'>
+              <var-decl name='' type-id='type-id-7409' visibility='default' filepath='include/linux/mm_types.h' line='99' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='128'>
+              <var-decl name='slab_cache' type-id='type-id-3525' visibility='default' filepath='include/linux/mm_types.h' line='112' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='192'>
+              <var-decl name='freelist' type-id='type-id-3' visibility='default' filepath='include/linux/mm_types.h' line='114' column='1'/>
+            </data-member>
+          </class-decl>
+        </member-type>
+        <member-type access='private'>
+          <class-decl name='__anonymous_struct__1' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='138' column='1' id='type-id-7410'>
+            <data-member access='public' layout-offset-in-bits='0'>
+              <var-decl name='_pt_pad_1' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='139' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='64'>
+              <var-decl name='pmd_huge_pte' type-id='type-id-152' visibility='default' filepath='include/linux/mm_types.h' line='140' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='128'>
+              <var-decl name='_pt_pad_2' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='141' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='192'>
+              <var-decl name='' type-id='type-id-7411' visibility='default' filepath='include/linux/mm_types.h' line='142' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='256'>
+              <var-decl name='ptl' type-id='type-id-106' visibility='default' filepath='include/linux/mm_types.h' line='149' column='1'/>
+            </data-member>
+          </class-decl>
+        </member-type>
+        <member-type access='private'>
+          <class-decl name='__anonymous_struct__2' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='152' column='1' id='type-id-7412'>
+            <data-member access='public' layout-offset-in-bits='0'>
+              <var-decl name='pgmap' type-id='type-id-6057' visibility='default' filepath='include/linux/mm_types.h' line='154' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='64'>
+              <var-decl name='hmm_data' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='155' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='128'>
+              <var-decl name='_zd_pad_1' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='156' column='1'/>
+            </data-member>
+          </class-decl>
+        </member-type>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-4519' visibility='default' filepath='include/linux/mm_types.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='callback_head' type-id='type-id-157' visibility='default' filepath='include/linux/mm_types.h' line='160' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='80' column='1' id='type-id-4519'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='start' type-id='type-id-16' visibility='default' filepath='include/linux/fs.h' line='878' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='size' type-id='type-id-5' visibility='default' filepath='include/linux/fs.h' line='879' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='async_size' type-id='type-id-5' visibility='default' filepath='include/linux/fs.h' line='880' column='1'/>
+          <var-decl name='lru' type-id='type-id-8' visibility='default' filepath='include/linux/mm_types.h' line='86' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='ra_pages' type-id='type-id-5' visibility='default' filepath='include/linux/fs.h' line='883' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='mmap_miss' type-id='type-id-5' visibility='default' filepath='include/linux/fs.h' line='884' column='1'/>
+          <var-decl name='mapping' type-id='type-id-5008' visibility='default' filepath='include/linux/mm_types.h' line='88' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='prev_pos' type-id='type-id-763' visibility='default' filepath='include/linux/fs.h' line='885' column='1'/>
+          <var-decl name='index' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='private' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='96' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='bpf_insn' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/linux/bpf.h' line='64' column='1' id='type-id-955'>
+      <union-decl name='__anonymous_union__9' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='99' column='1' id='type-id-7409'>
+        <data-member access='private'>
+          <var-decl name='slab_list' type-id='type-id-8' visibility='default' filepath='include/linux/mm_types.h' line='100' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-4520' visibility='default' filepath='include/linux/mm_types.h' line='101' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__1' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='101' column='1' id='type-id-4520'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='code' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/bpf.h' line='65' column='1'/>
+          <var-decl name='next' type-id='type-id-120' visibility='default' filepath='include/linux/mm_types.h' line='102' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='4'>
-          <var-decl name='dst_reg' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/bpf.h' line='66' column='1'/>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='pages' type-id='type-id-11' visibility='default' filepath='include/linux/mm_types.h' line='104' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='src_reg' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/bpf.h' line='67' column='1'/>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='pobjects' type-id='type-id-11' visibility='default' filepath='include/linux/mm_types.h' line='105' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='off' type-id='type-id-2203' visibility='default' filepath='include/uapi/linux/bpf.h' line='68' column='1'/>
+      </class-decl>
+      <union-decl name='__anonymous_union__10' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='142' column='1' id='type-id-7411'>
+        <data-member access='private'>
+          <var-decl name='pt_mm' type-id='type-id-158' visibility='default' filepath='include/linux/mm_types.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='pt_frag_refcount' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='144' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__2' size-in-bits='6848' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='353' column='1' id='type-id-7413'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mmap' type-id='type-id-132' visibility='default' filepath='include/linux/mm_types.h' line='354' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='mm_rb' type-id='type-id-133' visibility='default' filepath='include/linux/mm_types.h' line='355' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='vmacache_seqnum' type-id='type-id-134' visibility='default' filepath='include/linux/mm_types.h' line='356' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='get_unmapped_area' type-id='type-id-135' visibility='default' filepath='include/linux/mm_types.h' line='358' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='mmap_base' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='362' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='mmap_legacy_base' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='363' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='task_size' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='369' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='highest_vm_end' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='370' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='pgd' type-id='type-id-136' visibility='default' filepath='include/linux/mm_types.h' line='371' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='mm_users' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='382' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='mm_count' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='391' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='pgtables_bytes' type-id='type-id-138' visibility='default' filepath='include/linux/mm_types.h' line='394' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='map_count' type-id='type-id-11' visibility='default' filepath='include/linux/mm_types.h' line='396' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='736'>
+          <var-decl name='page_table_lock' type-id='type-id-106' visibility='default' filepath='include/linux/mm_types.h' line='398' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='mmap_sem' type-id='type-id-139' visibility='default' filepath='include/linux/mm_types.h' line='401' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='mmlist' type-id='type-id-8' visibility='default' filepath='include/linux/mm_types.h' line='403' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='hiwater_rss' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='410' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='hiwater_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='411' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='total_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='413' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='locked_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='414' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='pinned_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='415' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='data_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='416' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='exec_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='417' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='stack_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='418' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='def_flags' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='419' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='arg_lock' type-id='type-id-106' visibility='default' filepath='include/linux/mm_types.h' line='421' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='start_code' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='end_code' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='start_data' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='end_data' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='start_brk' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='brk' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='start_stack' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='arg_start' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='arg_end' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='env_start' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='env_end' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='saved_auxv' type-id='type-id-140' visibility='default' filepath='include/linux/mm_types.h' line='426' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5504'>
+          <var-decl name='rss_stat' type-id='type-id-141' visibility='default' filepath='include/linux/mm_types.h' line='432' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5760'>
+          <var-decl name='binfmt' type-id='type-id-142' visibility='default' filepath='include/linux/mm_types.h' line='434' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5824'>
+          <var-decl name='context' type-id='type-id-143' visibility='default' filepath='include/linux/mm_types.h' line='437' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6016'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='439' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6080'>
+          <var-decl name='core_state' type-id='type-id-144' visibility='default' filepath='include/linux/mm_types.h' line='441' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6144'>
+          <var-decl name='membarrier_state' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='443' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6176'>
+          <var-decl name='ioctx_lock' type-id='type-id-106' visibility='default' filepath='include/linux/mm_types.h' line='446' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6208'>
+          <var-decl name='ioctx_table' type-id='type-id-145' visibility='default' filepath='include/linux/mm_types.h' line='447' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6272'>
+          <var-decl name='owner' type-id='type-id-118' visibility='default' filepath='include/linux/mm_types.h' line='460' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6336'>
+          <var-decl name='user_ns' type-id='type-id-146' visibility='default' filepath='include/linux/mm_types.h' line='462' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6400'>
+          <var-decl name='exe_file' type-id='type-id-147' visibility='default' filepath='include/linux/mm_types.h' line='465' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6464'>
+          <var-decl name='tlb_flush_pending' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='491' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6528'>
+          <var-decl name='uprobes_state' type-id='type-id-148' visibility='default' filepath='include/linux/mm_types.h' line='496' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6592'>
+          <var-decl name='async_put_work' type-id='type-id-149' visibility='default' filepath='include/linux/mm_types.h' line='500' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-7405' const='yes' id='type-id-7414'/>
+      <pointer-type-def type-id='type-id-7414' size-in-bits='64' id='type-id-7249'/>
+      <pointer-type-def type-id='type-id-7415' size-in-bits='64' id='type-id-7416'/>
+      <pointer-type-def type-id='type-id-7417' size-in-bits='64' id='type-id-7418'/>
+      <function-decl name='dump_stack' mangled-name='dump_stack' filepath='include/linux/printk.h' line='208' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dump_stack'>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='vprintk' mangled-name='vprintk' filepath='include/linux/printk.h' line='167' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vprintk'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-1144'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='simple_attr_open' mangled-name='simple_attr_open' filepath='include/linux/fs.h' line='3433' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='simple_attr_open'>
+        <parameter type-id='type-id-1160'/>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-7418'/>
+        <parameter type-id='type-id-7416'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__warn_printk' mangled-name='__warn_printk' filepath='kernel/panic.c' line='591' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__warn_printk'>
+        <parameter type-id='type-id-24' name='fmt' filepath='kernel/panic.c' line='591' column='1'/>
+        <parameter is-variadic='yes'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__stack_chk_fail' mangled-name='__stack_chk_fail' filepath='kernel/panic.c' line='637' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__stack_chk_fail'>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-7415'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-177'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7417'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-178'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/params.c' language='LANG_C89'>
+      <qualified-type-def type-id='type-id-858' const='yes' id='type-id-7419'/>
+      <pointer-type-def type-id='type-id-7419' size-in-bits='64' id='type-id-4544'/>
+      <pointer-type-def type-id='type-id-288' size-in-bits='64' id='type-id-3139'/>
+      <function-decl name='kstrtou8' mangled-name='kstrtou8' filepath='include/linux/kernel.h' line='434' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kstrtou8'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-1047'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='kstrtou16' mangled-name='kstrtou16' filepath='include/linux/kernel.h' line='432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kstrtou16'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-3139'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='kstrtouint' mangled-name='kstrtouint' filepath='include/linux/kernel.h' line='409' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kstrtouint'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-72'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='kstrtoull' mangled-name='kstrtoull' filepath='include/linux/kernel.h' line='348' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kstrtoull'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-178'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='kstrtoll' mangled-name='kstrtoll' filepath='include/linux/kernel.h' line='349' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kstrtoll'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-77'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='krealloc' mangled-name='krealloc' filepath='include/linux/slab.h' line='184' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='krealloc'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='kset_create_and_add' mangled-name='kset_create_and_add' filepath='include/linux/kobject.h' line='202' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kset_create_and_add'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-4950'/>
+        <parameter type-id='type-id-87'/>
+        <return type-id='type-id-4947'/>
+      </function-decl>
+      <function-decl name='kobject_put' mangled-name='kobject_put' filepath='include/linux/kobject.h' line='115' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kobject_put'>
+        <parameter type-id='type-id-87'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='kset_find_obj' mangled-name='kset_find_obj' filepath='include/linux/kobject.h' line='226' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kset_find_obj'>
+        <parameter type-id='type-id-4947'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-87'/>
+      </function-decl>
+      <function-decl name='kobject_init_and_add' mangled-name='kobject_init_and_add' filepath='include/linux/kobject.h' line='99' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kobject_init_and_add'>
+        <parameter type-id='type-id-87'/>
+        <parameter type-id='type-id-4948'/>
+        <parameter type-id='type-id-87'/>
+        <parameter type-id='type-id-24'/>
+        <parameter is-variadic='yes'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='kobject_get' mangled-name='kobject_get' filepath='include/linux/kobject.h' line='112' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kobject_get'>
+        <parameter type-id='type-id-87'/>
+        <return type-id='type-id-87'/>
+      </function-decl>
+      <function-decl name='sysfs_create_file_ns' mangled-name='sysfs_create_file_ns' filepath='include/linux/sysfs.h' line='233' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sysfs_create_file_ns'>
+        <parameter type-id='type-id-87'/>
+        <parameter type-id='type-id-4544'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='param_set_int' mangled-name='param_set_int' filepath='kernel/params.c' line='242' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='param_set_int'>
+        <parameter type-id='type-id-24' name='val' filepath='kernel/params.c' line='242' column='1'/>
+        <parameter type-id='type-id-6013' name='kp' filepath='kernel/params.c' line='242' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='param_get_int' mangled-name='param_get_int' filepath='kernel/params.c' line='242' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='param_get_int'>
+        <parameter type-id='type-id-300' name='buffer' filepath='kernel/params.c' line='242' column='1'/>
+        <parameter type-id='type-id-6013' name='kp' filepath='kernel/params.c' line='242' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='param_get_uint' mangled-name='param_get_uint' filepath='kernel/params.c' line='243' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='param_get_uint'>
+        <parameter type-id='type-id-300' name='buffer' filepath='kernel/params.c' line='243' column='1'/>
+        <parameter type-id='type-id-6013' name='kp' filepath='kernel/params.c' line='243' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='param_set_bool' mangled-name='param_set_bool' filepath='kernel/params.c' line='291' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='param_set_bool'>
+        <parameter type-id='type-id-24' name='val' filepath='kernel/params.c' line='291' column='1'/>
+        <parameter type-id='type-id-6013' name='kp' filepath='kernel/params.c' line='291' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='param_get_bool' mangled-name='param_get_bool' filepath='kernel/params.c' line='301' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='param_get_bool'>
+        <parameter type-id='type-id-300' name='buffer' filepath='kernel/params.c' line='301' column='1'/>
+        <parameter type-id='type-id-6013' name='kp' filepath='kernel/params.c' line='301' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='param_set_copystring' mangled-name='param_set_copystring' filepath='kernel/params.c' line='494' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='param_set_copystring'>
+        <parameter type-id='type-id-24' name='val' filepath='kernel/params.c' line='494' column='1'/>
+        <parameter type-id='type-id-6013' name='kp' filepath='kernel/params.c' line='494' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='param_get_string' mangled-name='param_get_string' filepath='kernel/params.c' line='508' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='param_get_string'>
+        <parameter type-id='type-id-300' name='buffer' filepath='kernel/params.c' line='508' column='1'/>
+        <parameter type-id='type-id-6013' name='kp' filepath='kernel/params.c' line='508' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/pid.c' language='LANG_C89'>
+
+
+
+
+      <array-type-def dimensions='1' type-id='type-id-3573' size-in-bits='128' id='type-id-7420'>
+        <subrange length='8' type-id='type-id-5' id='type-id-1953'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-2085' size-in-bits='128' id='type-id-3578'>
+        <subrange length='4' type-id='type-id-5' id='type-id-281'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-266' size-in-bits='infinite' id='type-id-6764'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-1122' size-in-bits='infinite' id='type-id-6752'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-138' size-in-bits='32768' id='type-id-3043'>
+        <subrange length='512' type-id='type-id-5' id='type-id-3474'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-475' size-in-bits='384' id='type-id-305'>
+        <subrange length='48' type-id='type-id-5' id='type-id-1770'/>
+
+      </array-type-def>
+      <class-decl name='bucket_table' size-in-bits='1024' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7263'/>
+      <class-decl name='dst_entry' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7421'/>
+      <class-decl name='fib6_info' size-in-bits='1792' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7422'/>
+      <class-decl name='fib6_table' size-in-bits='960' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7423'/>
+      <class-decl name='fib_notifier_ops' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7424'/>
+      <class-decl name='fib_rules_ops' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7425'/>
+      <class-decl name='fib_table' size-in-bits='384' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7426'/>
+      <class-decl name='inet_hashinfo' size-in-bits='4608' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7427'/>
+      <class-decl name='inet_peer_base' size-in-bits='192' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7428'/>
+      <class-decl name='ip_ra_chain' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7429'/>
+      <class-decl name='ipv4_devconf' size-in-bits='1152' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7430'/>
+      <class-decl name='ipv6_devconf' size-in-bits='1792' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3030'/>
+      <class-decl name='neighbour' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7431'/>
+      <class-decl name='net_device' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7432'/>
+      <class-decl name='net_generic' size-in-bits='192' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7433'/>
+      <class-decl name='nf_ct_event_notifier' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7434'/>
+      <class-decl name='nf_exp_event_notifier' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7435'/>
+      <class-decl name='nf_hook_entries' size-in-bits='64' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7436'/>
+      <class-decl name='nf_logger' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7437'/>
+      <class-decl name='nf_queue_handler' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7438'/>
+      <class-decl name='prot_inuse' size-in-bits='2048' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7439'/>
+      <class-decl name='rt6_info' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7440'/>
+      <class-decl name='rt6_statistics' size-in-bits='224' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7441'/>
+      <class-decl name='sec_path' size-in-bits='704' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7442'/>
+      <class-decl name='seg6_pernet_data' size-in-bits='320' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7443'/>
+      <class-decl name='tcp_congestion_ops' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7444'/>
+      <class-decl name='tcp_fastopen_context' size-in-bits='320' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7445'/>
+      <class-decl name='uevent_sock' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7446'/>
+      <class-decl name='xt_table' size-in-bits='704' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7447'/>
+      <array-type-def dimensions='1' type-id='type-id-7448' size-in-bits='832' id='type-id-7449'>
+        <subrange length='13' type-id='type-id-5' id='type-id-1955'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-297' size-in-bits='192' id='type-id-7450'>
+        <subrange length='3' type-id='type-id-5' id='type-id-1015'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='96' id='type-id-7451'>
+        <subrange length='3' type-id='type-id-5' id='type-id-1015'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-4568' size-in-bits='64' id='type-id-7452'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='1664' id='type-id-7453'>
+        <subrange length='13' type-id='type-id-5' id='type-id-1955'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-6520' size-in-bits='192' id='type-id-7454'>
+        <subrange length='3' type-id='type-id-5' id='type-id-1015'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-6520' size-in-bits='320' id='type-id-7455'>
+        <subrange length='5' type-id='type-id-5' id='type-id-3376'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-134' size-in-bits='2368' id='type-id-7456'>
+        <subrange length='37' type-id='type-id-5' id='type-id-4657'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='320' id='type-id-7457'>
+        <subrange length='10' type-id='type-id-5' id='type-id-1148'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='448' id='type-id-7458'>
+        <subrange length='14' type-id='type-id-5' id='type-id-1124'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='192' id='type-id-7459'>
+        <subrange length='6' type-id='type-id-5' id='type-id-1951'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-100' size-in-bits='7552' id='type-id-7460'>
+        <subrange length='118' type-id='type-id-5' id='type-id-7461'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-100' size-in-bits='1024' id='type-id-7462'>
+        <subrange length='16' type-id='type-id-5' id='type-id-195'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-100' size-in-bits='1792' id='type-id-7463'>
+        <subrange length='28' type-id='type-id-5' id='type-id-4766'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-100' size-in-bits='1856' id='type-id-7464'>
+        <subrange length='29' type-id='type-id-5' id='type-id-4634'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-100' size-in-bits='384' id='type-id-7465'>
+        <subrange length='6' type-id='type-id-5' id='type-id-1951'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-100' size-in-bits='576' id='type-id-7466'>
+        <subrange length='9' type-id='type-id-5' id='type-id-2321'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-7467' size-in-bits='384' id='type-id-7468'>
+        <subrange length='3' type-id='type-id-5' id='type-id-1015'/>
+
+      </array-type-def>
+      <class-decl name='net' size-in-bits='41472' is-struct='yes' visibility='default' filepath='include/net/net_namespace.h' line='51' column='1' id='type-id-7469'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='passive' type-id='type-id-12' visibility='default' filepath='include/net/net_namespace.h' line='52' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='imm' type-id='type-id-653' visibility='default' filepath='include/uapi/linux/bpf.h' line='69' column='1'/>
+          <var-decl name='count' type-id='type-id-12' visibility='default' filepath='include/net/net_namespace.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='rules_mod_lock' type-id='type-id-106' visibility='default' filepath='include/net/net_namespace.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='hash_mix' type-id='type-id-9' visibility='default' filepath='include/net/net_namespace.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='cookie_gen' type-id='type-id-188' visibility='default' filepath='include/net/net_namespace.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/net/net_namespace.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='exit_list' type-id='type-id-8' visibility='default' filepath='include/net/net_namespace.h' line='64' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='cleanup_list' type-id='type-id-1327' visibility='default' filepath='include/net/net_namespace.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='user_ns' type-id='type-id-4564' visibility='default' filepath='include/net/net_namespace.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='ucounts' type-id='type-id-5656' visibility='default' filepath='include/net/net_namespace.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='nsid_lock' type-id='type-id-106' visibility='default' filepath='include/net/net_namespace.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='netns_ids' type-id='type-id-1161' visibility='default' filepath='include/net/net_namespace.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='ns' type-id='type-id-5653' visibility='default' filepath='include/net/net_namespace.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='proc_net' type-id='type-id-286' visibility='default' filepath='include/net/net_namespace.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='proc_net_stat' type-id='type-id-286' visibility='default' filepath='include/net/net_namespace.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='sysctls' type-id='type-id-5654' visibility='default' filepath='include/net/net_namespace.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='rtnl' type-id='type-id-6241' visibility='default' filepath='include/net/net_namespace.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='genl_sock' type-id='type-id-6241' visibility='default' filepath='include/net/net_namespace.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='uevent_sock' type-id='type-id-7470' visibility='default' filepath='include/net/net_namespace.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='dev_base_head' type-id='type-id-8' visibility='default' filepath='include/net/net_namespace.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='dev_name_head' type-id='type-id-1238' visibility='default' filepath='include/net/net_namespace.h' line='92' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='dev_index_head' type-id='type-id-1238' visibility='default' filepath='include/net/net_namespace.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='dev_base_seq' type-id='type-id-10' visibility='default' filepath='include/net/net_namespace.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2464'>
+          <var-decl name='ifindex' type-id='type-id-11' visibility='default' filepath='include/net/net_namespace.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='dev_unreg_count' type-id='type-id-10' visibility='default' filepath='include/net/net_namespace.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='rules_ops' type-id='type-id-8' visibility='default' filepath='include/net/net_namespace.h' line='99' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2688'>
+          <var-decl name='fib_notifier_ops' type-id='type-id-8' visibility='default' filepath='include/net/net_namespace.h' line='101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2816'>
+          <var-decl name='loopback_dev' type-id='type-id-7471' visibility='default' filepath='include/net/net_namespace.h' line='104' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2880'>
+          <var-decl name='core' type-id='type-id-7472' visibility='default' filepath='include/net/net_namespace.h' line='105' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3136'>
+          <var-decl name='mib' type-id='type-id-7473' visibility='default' filepath='include/net/net_namespace.h' line='106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4032'>
+          <var-decl name='packet' type-id='type-id-7474' visibility='default' filepath='include/net/net_namespace.h' line='107' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4352'>
+          <var-decl name='unx' type-id='type-id-7475' visibility='default' filepath='include/net/net_namespace.h' line='108' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4608'>
+          <var-decl name='ipv4' type-id='type-id-7476' visibility='default' filepath='include/net/net_namespace.h' line='109' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14336'>
+          <var-decl name='ipv6' type-id='type-id-7477' visibility='default' filepath='include/net/net_namespace.h' line='111' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='23040'>
+          <var-decl name='nf' type-id='type-id-7478' visibility='default' filepath='include/net/net_namespace.h' line='123' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24960'>
+          <var-decl name='xt' type-id='type-id-7479' visibility='default' filepath='include/net/net_namespace.h' line='124' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='26688'>
+          <var-decl name='ct' type-id='type-id-7480' visibility='default' filepath='include/net/net_namespace.h' line='126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31232'>
+          <var-decl name='nf_frag' type-id='type-id-7481' visibility='default' filepath='include/net/net_namespace.h' line='132' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='33792'>
+          <var-decl name='nf_frag_frags_hdr' type-id='type-id-5655' visibility='default' filepath='include/net/net_namespace.h' line='133' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='33856'>
+          <var-decl name='nfnl' type-id='type-id-6241' visibility='default' filepath='include/net/net_namespace.h' line='135' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='33920'>
+          <var-decl name='nfnl_stash' type-id='type-id-6241' visibility='default' filepath='include/net/net_namespace.h' line='136' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='33984'>
+          <var-decl name='wext_nlevents' type-id='type-id-6446' visibility='default' filepath='include/net/net_namespace.h' line='145' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='34176'>
+          <var-decl name='gen' type-id='type-id-7482' visibility='default' filepath='include/net/net_namespace.h' line='147' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='34304'>
+          <var-decl name='xfrm' type-id='type-id-7483' visibility='default' filepath='include/net/net_namespace.h' line='151' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='40960'>
+          <var-decl name='diag_nlsk' type-id='type-id-6241' visibility='default' filepath='include/net/net_namespace.h' line='162' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='41024'>
+          <var-decl name='fnhe_genid' type-id='type-id-137' visibility='default' filepath='include/net/net_namespace.h' line='163' column='1'/>
         </data-member>
       </class-decl>
-      <enum-decl name='bpf_map_type' filepath='include/uapi/linux/bpf.h' line='108' column='1' id='type-id-1258'>
-        <underlying-type type-id='type-id-94'/>
+      <class-decl name='netns_core' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/netns/core.h' line='8' column='1' id='type-id-7472'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='sysctl_hdr' type-id='type-id-5655' visibility='default' filepath='include/net/netns/core.h' line='10' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='sysctl_somaxconn' type-id='type-id-11' visibility='default' filepath='include/net/netns/core.h' line='12' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='sock_inuse' type-id='type-id-82' visibility='default' filepath='include/net/netns/core.h' line='15' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='prot_inuse' type-id='type-id-7484' visibility='default' filepath='include/net/netns/core.h' line='16' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='netns_mib' size-in-bits='896' is-struct='yes' visibility='default' filepath='include/net/netns/mib.h' line='7' column='1' id='type-id-7473'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='tcp_statistics' type-id='type-id-7485' visibility='default' filepath='include/net/netns/mib.h' line='8' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ip_statistics' type-id='type-id-3038' visibility='default' filepath='include/net/netns/mib.h' line='9' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='net_statistics' type-id='type-id-7486' visibility='default' filepath='include/net/netns/mib.h' line='10' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='udp_statistics' type-id='type-id-7487' visibility='default' filepath='include/net/netns/mib.h' line='11' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='udplite_statistics' type-id='type-id-7487' visibility='default' filepath='include/net/netns/mib.h' line='12' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='icmp_statistics' type-id='type-id-7488' visibility='default' filepath='include/net/netns/mib.h' line='13' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='icmpmsg_statistics' type-id='type-id-7489' visibility='default' filepath='include/net/netns/mib.h' line='14' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='proc_net_devsnmp6' type-id='type-id-286' visibility='default' filepath='include/net/netns/mib.h' line='17' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='udp_stats_in6' type-id='type-id-7487' visibility='default' filepath='include/net/netns/mib.h' line='18' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='udplite_stats_in6' type-id='type-id-7487' visibility='default' filepath='include/net/netns/mib.h' line='19' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='ipv6_statistics' type-id='type-id-3038' visibility='default' filepath='include/net/netns/mib.h' line='20' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='icmpv6_statistics' type-id='type-id-7490' visibility='default' filepath='include/net/netns/mib.h' line='21' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='icmpv6msg_statistics' type-id='type-id-7491' visibility='default' filepath='include/net/netns/mib.h' line='22' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='xfrm_statistics' type-id='type-id-7492' visibility='default' filepath='include/net/netns/mib.h' line='25' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='tcp_mib' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/net/snmp.h' line='97' column='1' id='type-id-7493'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mibs' type-id='type-id-7462' visibility='default' filepath='include/net/snmp.h' line='98' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ipstats_mib' size-in-bits='2368' is-struct='yes' visibility='default' filepath='include/net/snmp.h' line='56' column='1' id='type-id-7494'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mibs' type-id='type-id-7456' visibility='default' filepath='include/net/snmp.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='syncp' type-id='type-id-5416' visibility='default' filepath='include/net/snmp.h' line='59' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='linux_mib' size-in-bits='7552' is-struct='yes' visibility='default' filepath='include/net/snmp.h' line='109' column='1' id='type-id-7495'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mibs' type-id='type-id-7460' visibility='default' filepath='include/net/snmp.h' line='110' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='udp_mib' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/net/snmp.h' line='103' column='1' id='type-id-7496'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mibs' type-id='type-id-7466' visibility='default' filepath='include/net/snmp.h' line='104' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='icmp_mib' size-in-bits='1792' is-struct='yes' visibility='default' filepath='include/net/snmp.h' line='64' column='1' id='type-id-7497'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mibs' type-id='type-id-7463' visibility='default' filepath='include/net/snmp.h' line='65' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='icmpmsg_mib' size-in-bits='32768' is-struct='yes' visibility='default' filepath='include/net/snmp.h' line='69' column='1' id='type-id-7498'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mibs' type-id='type-id-3043' visibility='default' filepath='include/net/snmp.h' line='70' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='icmpv6_mib' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/net/snmp.h' line='76' column='1' id='type-id-7499'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mibs' type-id='type-id-7465' visibility='default' filepath='include/net/snmp.h' line='77' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='icmpv6msg_mib' size-in-bits='32768' is-struct='yes' visibility='default' filepath='include/net/snmp.h' line='86' column='1' id='type-id-7500'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mibs' type-id='type-id-3043' visibility='default' filepath='include/net/snmp.h' line='87' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='linux_xfrm_mib' size-in-bits='1856' is-struct='yes' visibility='default' filepath='include/net/snmp.h' line='115' column='1' id='type-id-7501'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mibs' type-id='type-id-7464' visibility='default' filepath='include/net/snmp.h' line='116' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='netns_packet' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/net/netns/packet.h' line='11' column='1' id='type-id-7474'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='sklist_lock' type-id='type-id-407' visibility='default' filepath='include/net/netns/packet.h' line='12' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='sklist' type-id='type-id-297' visibility='default' filepath='include/net/netns/packet.h' line='13' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='netns_unix' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/net/netns/unix.h' line='9' column='1' id='type-id-7475'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='sysctl_max_dgram_qlen' type-id='type-id-11' visibility='default' filepath='include/net/netns/unix.h' line='10' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ctl' type-id='type-id-5655' visibility='default' filepath='include/net/netns/unix.h' line='11' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='netns_ipv4' size-in-bits='9728' is-struct='yes' visibility='default' filepath='include/net/netns/ipv4.h' line='43' column='1' id='type-id-7476'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='forw_hdr' type-id='type-id-5655' visibility='default' filepath='include/net/netns/ipv4.h' line='45' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='frags_hdr' type-id='type-id-5655' visibility='default' filepath='include/net/netns/ipv4.h' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='ipv4_hdr' type-id='type-id-5655' visibility='default' filepath='include/net/netns/ipv4.h' line='47' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='route_hdr' type-id='type-id-5655' visibility='default' filepath='include/net/netns/ipv4.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='xfrm4_hdr' type-id='type-id-5655' visibility='default' filepath='include/net/netns/ipv4.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='devconf_all' type-id='type-id-7502' visibility='default' filepath='include/net/netns/ipv4.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='devconf_dflt' type-id='type-id-7502' visibility='default' filepath='include/net/netns/ipv4.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='ra_chain' type-id='type-id-7503' visibility='default' filepath='include/net/netns/ipv4.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='ra_mutex' type-id='type-id-407' visibility='default' filepath='include/net/netns/ipv4.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='rules_ops' type-id='type-id-7504' visibility='default' filepath='include/net/netns/ipv4.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='fib_has_custom_rules' type-id='type-id-211' visibility='default' filepath='include/net/netns/ipv4.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='864'>
+          <var-decl name='fib_rules_require_fldissect' type-id='type-id-10' visibility='default' filepath='include/net/netns/ipv4.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='fib_main' type-id='type-id-7505' visibility='default' filepath='include/net/netns/ipv4.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='fib_default' type-id='type-id-7505' visibility='default' filepath='include/net/netns/ipv4.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='fib_has_custom_local_routes' type-id='type-id-211' visibility='default' filepath='include/net/netns/ipv4.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='fib_table_hash' type-id='type-id-1238' visibility='default' filepath='include/net/netns/ipv4.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='fib_offload_disabled' type-id='type-id-211' visibility='default' filepath='include/net/netns/ipv4.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='fibnl' type-id='type-id-6241' visibility='default' filepath='include/net/netns/ipv4.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='icmp_sk' type-id='type-id-7506' visibility='default' filepath='include/net/netns/ipv4.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='mc_autojoin_sk' type-id='type-id-6241' visibility='default' filepath='include/net/netns/ipv4.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='peers' type-id='type-id-7507' visibility='default' filepath='include/net/netns/ipv4.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='tcp_sk' type-id='type-id-7506' visibility='default' filepath='include/net/netns/ipv4.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='frags' type-id='type-id-7508' visibility='default' filepath='include/net/netns/ipv4.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4096'>
+          <var-decl name='iptable_filter' type-id='type-id-7509' visibility='default' filepath='include/net/netns/ipv4.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4160'>
+          <var-decl name='iptable_mangle' type-id='type-id-7509' visibility='default' filepath='include/net/netns/ipv4.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4224'>
+          <var-decl name='iptable_raw' type-id='type-id-7509' visibility='default' filepath='include/net/netns/ipv4.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4288'>
+          <var-decl name='arptable_filter' type-id='type-id-7509' visibility='default' filepath='include/net/netns/ipv4.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4352'>
+          <var-decl name='iptable_security' type-id='type-id-7509' visibility='default' filepath='include/net/netns/ipv4.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4416'>
+          <var-decl name='nat_table' type-id='type-id-7509' visibility='default' filepath='include/net/netns/ipv4.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4480'>
+          <var-decl name='sysctl_icmp_echo_ignore_all' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4512'>
+          <var-decl name='sysctl_icmp_echo_ignore_broadcasts' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='88' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4544'>
+          <var-decl name='sysctl_icmp_ignore_bogus_error_responses' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4576'>
+          <var-decl name='sysctl_icmp_ratelimit' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4608'>
+          <var-decl name='sysctl_icmp_ratemask' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4640'>
+          <var-decl name='sysctl_icmp_errors_use_inbound_ifaddr' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='92' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4672'>
+          <var-decl name='ip_local_ports' type-id='type-id-7510' visibility='default' filepath='include/net/netns/ipv4.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4832'>
+          <var-decl name='sysctl_tcp_ecn' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4864'>
+          <var-decl name='sysctl_tcp_ecn_fallback' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4896'>
+          <var-decl name='sysctl_ip_default_ttl' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='99' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4928'>
+          <var-decl name='sysctl_ip_no_pmtu_disc' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='100' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4960'>
+          <var-decl name='sysctl_ip_fwd_use_pmtu' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4992'>
+          <var-decl name='sysctl_ip_fwd_update_priority' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5024'>
+          <var-decl name='sysctl_ip_nonlocal_bind' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5056'>
+          <var-decl name='sysctl_ip_dynaddr' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='105' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5088'>
+          <var-decl name='sysctl_ip_early_demux' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5120'>
+          <var-decl name='sysctl_tcp_early_demux' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='107' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5152'>
+          <var-decl name='sysctl_udp_early_demux' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='108' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5184'>
+          <var-decl name='sysctl_fwmark_reflect' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='110' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5216'>
+          <var-decl name='sysctl_tcp_fwmark_accept' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='111' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5248'>
+          <var-decl name='sysctl_tcp_mtu_probing' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='115' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5280'>
+          <var-decl name='sysctl_tcp_base_mss' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5312'>
+          <var-decl name='sysctl_tcp_min_snd_mss' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='117' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5344'>
+          <var-decl name='sysctl_tcp_probe_threshold' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='118' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5376'>
+          <var-decl name='sysctl_tcp_probe_interval' type-id='type-id-9' visibility='default' filepath='include/net/netns/ipv4.h' line='119' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5408'>
+          <var-decl name='sysctl_tcp_keepalive_time' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='121' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5440'>
+          <var-decl name='sysctl_tcp_keepalive_probes' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='122' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5472'>
+          <var-decl name='sysctl_tcp_keepalive_intvl' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='123' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5504'>
+          <var-decl name='sysctl_tcp_syn_retries' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='125' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5536'>
+          <var-decl name='sysctl_tcp_synack_retries' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5568'>
+          <var-decl name='sysctl_tcp_syncookies' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='127' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5600'>
+          <var-decl name='sysctl_tcp_reordering' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='128' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5632'>
+          <var-decl name='sysctl_tcp_retries1' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='129' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5664'>
+          <var-decl name='sysctl_tcp_retries2' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='130' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5696'>
+          <var-decl name='sysctl_tcp_orphan_retries' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='131' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5728'>
+          <var-decl name='sysctl_tcp_fin_timeout' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='132' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5760'>
+          <var-decl name='sysctl_tcp_notsent_lowat' type-id='type-id-10' visibility='default' filepath='include/net/netns/ipv4.h' line='133' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5792'>
+          <var-decl name='sysctl_tcp_tw_reuse' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='134' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5824'>
+          <var-decl name='sysctl_tcp_sack' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='135' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5856'>
+          <var-decl name='sysctl_tcp_window_scaling' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='136' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5888'>
+          <var-decl name='sysctl_tcp_timestamps' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='137' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5920'>
+          <var-decl name='sysctl_tcp_early_retrans' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='138' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5952'>
+          <var-decl name='sysctl_tcp_recovery' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='139' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5984'>
+          <var-decl name='sysctl_tcp_thin_linear_timeouts' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='140' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6016'>
+          <var-decl name='sysctl_tcp_slow_start_after_idle' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='141' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6048'>
+          <var-decl name='sysctl_tcp_retrans_collapse' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='142' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6080'>
+          <var-decl name='sysctl_tcp_stdurg' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6112'>
+          <var-decl name='sysctl_tcp_rfc1337' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='144' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6144'>
+          <var-decl name='sysctl_tcp_abort_on_overflow' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='145' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6176'>
+          <var-decl name='sysctl_tcp_fack' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='146' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6208'>
+          <var-decl name='sysctl_tcp_max_reordering' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='147' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6240'>
+          <var-decl name='sysctl_tcp_dsack' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='148' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6272'>
+          <var-decl name='sysctl_tcp_app_win' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='149' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6304'>
+          <var-decl name='sysctl_tcp_adv_win_scale' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='150' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6336'>
+          <var-decl name='sysctl_tcp_frto' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='151' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6368'>
+          <var-decl name='sysctl_tcp_nometrics_save' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='152' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6400'>
+          <var-decl name='sysctl_tcp_moderate_rcvbuf' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='153' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6432'>
+          <var-decl name='sysctl_tcp_tso_win_divisor' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='154' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6464'>
+          <var-decl name='sysctl_tcp_workaround_signed_windows' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='155' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6496'>
+          <var-decl name='sysctl_tcp_limit_output_bytes' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='156' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6528'>
+          <var-decl name='sysctl_tcp_challenge_ack_limit' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='157' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6560'>
+          <var-decl name='sysctl_tcp_min_tso_segs' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='158' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6592'>
+          <var-decl name='sysctl_tcp_min_rtt_wlen' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='159' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6624'>
+          <var-decl name='sysctl_tcp_autocorking' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='160' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6656'>
+          <var-decl name='sysctl_tcp_invalid_ratelimit' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='161' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6688'>
+          <var-decl name='sysctl_tcp_pacing_ss_ratio' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='162' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6720'>
+          <var-decl name='sysctl_tcp_pacing_ca_ratio' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='163' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6752'>
+          <var-decl name='sysctl_tcp_wmem' type-id='type-id-7451' visibility='default' filepath='include/net/netns/ipv4.h' line='164' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6848'>
+          <var-decl name='sysctl_tcp_rmem' type-id='type-id-7451' visibility='default' filepath='include/net/netns/ipv4.h' line='165' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6944'>
+          <var-decl name='sysctl_tcp_comp_sack_nr' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='166' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6976'>
+          <var-decl name='sysctl_tcp_comp_sack_delay_ns' type-id='type-id-100' visibility='default' filepath='include/net/netns/ipv4.h' line='167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7168'>
+          <var-decl name='tcp_death_row' type-id='type-id-7017' visibility='default' filepath='include/net/netns/ipv4.h' line='168' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8192'>
+          <var-decl name='sysctl_max_syn_backlog' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='169' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8224'>
+          <var-decl name='sysctl_tcp_fastopen' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='170' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8256'>
+          <var-decl name='tcp_congestion_control' type-id='type-id-7511' visibility='default' filepath='include/net/netns/ipv4.h' line='171' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8320'>
+          <var-decl name='tcp_fastopen_ctx' type-id='type-id-7512' visibility='default' filepath='include/net/netns/ipv4.h' line='172' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8384'>
+          <var-decl name='tcp_fastopen_ctx_lock' type-id='type-id-106' visibility='default' filepath='include/net/netns/ipv4.h' line='173' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8416'>
+          <var-decl name='sysctl_tcp_fastopen_blackhole_timeout' type-id='type-id-10' visibility='default' filepath='include/net/netns/ipv4.h' line='174' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8448'>
+          <var-decl name='tfo_active_disable_times' type-id='type-id-137' visibility='default' filepath='include/net/netns/ipv4.h' line='175' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8512'>
+          <var-decl name='tfo_active_disable_stamp' type-id='type-id-100' visibility='default' filepath='include/net/netns/ipv4.h' line='176' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8576'>
+          <var-decl name='sysctl_udp_wmem_min' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='178' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8608'>
+          <var-decl name='sysctl_udp_rmem_min' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='179' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8640'>
+          <var-decl name='sysctl_igmp_max_memberships' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='185' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8672'>
+          <var-decl name='sysctl_igmp_max_msf' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='186' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8704'>
+          <var-decl name='sysctl_igmp_llm_reports' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='187' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8736'>
+          <var-decl name='sysctl_igmp_qrv' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='188' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8768'>
+          <var-decl name='ping_group_range' type-id='type-id-7513' visibility='default' filepath='include/net/netns/ipv4.h' line='190' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8896'>
+          <var-decl name='dev_addr_genid' type-id='type-id-137' visibility='default' filepath='include/net/netns/ipv4.h' line='192' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8960'>
+          <var-decl name='sysctl_local_reserved_ports' type-id='type-id-76' visibility='default' filepath='include/net/netns/ipv4.h' line='195' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9024'>
+          <var-decl name='sysctl_ip_prot_sock' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='196' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9088'>
+          <var-decl name='notifier_ops' type-id='type-id-7514' visibility='default' filepath='include/net/netns/ipv4.h' line='212' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9152'>
+          <var-decl name='fib_seq' type-id='type-id-10' visibility='default' filepath='include/net/netns/ipv4.h' line='213' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9216'>
+          <var-decl name='ipmr_notifier_ops' type-id='type-id-7514' visibility='default' filepath='include/net/netns/ipv4.h' line='215' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9280'>
+          <var-decl name='ipmr_seq' type-id='type-id-10' visibility='default' filepath='include/net/netns/ipv4.h' line='216' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9312'>
+          <var-decl name='rt_genid' type-id='type-id-137' visibility='default' filepath='include/net/netns/ipv4.h' line='218' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9344'>
+          <var-decl name='ip_id_key' type-id='type-id-7515' visibility='default' filepath='include/net/netns/ipv4.h' line='219' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='netns_frags' size-in-bits='2560' is-struct='yes' visibility='default' filepath='include/net/inet_frag.h' line='7' column='1' id='type-id-7508'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='high_thresh' type-id='type-id-187' visibility='default' filepath='include/net/inet_frag.h' line='9' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='low_thresh' type-id='type-id-187' visibility='default' filepath='include/net/inet_frag.h' line='10' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='timeout' type-id='type-id-11' visibility='default' filepath='include/net/inet_frag.h' line='11' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='max_dist' type-id='type-id-11' visibility='default' filepath='include/net/inet_frag.h' line='12' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='f' type-id='type-id-7516' visibility='default' filepath='include/net/inet_frag.h' line='13' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='rhashtable' type-id='type-id-7517' visibility='default' filepath='include/net/inet_frag.h' line='15' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='mem' type-id='type-id-138' visibility='default' filepath='include/net/inet_frag.h' line='18' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='inet_frags' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/net/inet_frag.h' line='93' column='1' id='type-id-7518'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='qsize' type-id='type-id-10' visibility='default' filepath='include/net/inet_frag.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='constructor' type-id='type-id-7519' visibility='default' filepath='include/net/inet_frag.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='destructor' type-id='type-id-7520' visibility='default' filepath='include/net/inet_frag.h' line='98' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='frag_expire' type-id='type-id-5304' visibility='default' filepath='include/net/inet_frag.h' line='99' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='frags_cachep' type-id='type-id-3525' visibility='default' filepath='include/net/inet_frag.h' line='100' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='frags_cache_name' type-id='type-id-24' visibility='default' filepath='include/net/inet_frag.h' line='101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='rhash_params' type-id='type-id-7521' visibility='default' filepath='include/net/inet_frag.h' line='102' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='inet_frag_queue' size-in-bits='1472' is-struct='yes' visibility='default' filepath='include/net/inet_frag.h' line='71' column='1' id='type-id-7522'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='node' type-id='type-id-7523' visibility='default' filepath='include/net/inet_frag.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='key' type-id='type-id-7524' visibility='default' filepath='include/net/inet_frag.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='timer' type-id='type-id-1240' visibility='default' filepath='include/net/inet_frag.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/net/inet_frag.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='800'>
+          <var-decl name='refcnt' type-id='type-id-12' visibility='default' filepath='include/net/inet_frag.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='fragments' type-id='type-id-513' visibility='default' filepath='include/net/inet_frag.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='rb_fragments' type-id='type-id-133' visibility='default' filepath='include/net/inet_frag.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='fragments_tail' type-id='type-id-513' visibility='default' filepath='include/net/inet_frag.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='last_run_head' type-id='type-id-513' visibility='default' filepath='include/net/inet_frag.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='stamp' type-id='type-id-585' visibility='default' filepath='include/net/inet_frag.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='len' type-id='type-id-11' visibility='default' filepath='include/net/inet_frag.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1184'>
+          <var-decl name='meat' type-id='type-id-11' visibility='default' filepath='include/net/inet_frag.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='flags' type-id='type-id-1122' visibility='default' filepath='include/net/inet_frag.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1232'>
+          <var-decl name='max_size' type-id='type-id-289' visibility='default' filepath='include/net/inet_frag.h' line='88' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='net' type-id='type-id-7525' visibility='default' filepath='include/net/inet_frag.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/net/inet_frag.h' line='90' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='rhash_head' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/rhashtable-types.h' line='17' column='1' id='type-id-7523'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='next' type-id='type-id-7261' visibility='default' filepath='include/linux/rhashtable-types.h' line='18' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__' size-in-bits='352' is-anonymous='yes' visibility='default' filepath='include/net/inet_frag.h' line='73' column='1' id='type-id-7524'>
+        <data-member access='private'>
+          <var-decl name='v4' type-id='type-id-7526' visibility='default' filepath='include/net/inet_frag.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='v6' type-id='type-id-7527' visibility='default' filepath='include/net/inet_frag.h' line='75' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='frag_v4_compare_key' size-in-bits='160' is-struct='yes' visibility='default' filepath='include/net/inet_frag.h' line='34' column='1' id='type-id-7526'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='saddr' type-id='type-id-2085' visibility='default' filepath='include/net/inet_frag.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='daddr' type-id='type-id-2085' visibility='default' filepath='include/net/inet_frag.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='user' type-id='type-id-9' visibility='default' filepath='include/net/inet_frag.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='vif' type-id='type-id-9' visibility='default' filepath='include/net/inet_frag.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='id' type-id='type-id-3573' visibility='default' filepath='include/net/inet_frag.h' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='144'>
+          <var-decl name='protocol' type-id='type-id-289' visibility='default' filepath='include/net/inet_frag.h' line='40' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='__be32' type-id='type-id-266' filepath='include/uapi/linux/types.h' line='32' column='1' id='type-id-2085'/>
+      <typedef-decl name='__be16' type-id='type-id-1107' filepath='include/uapi/linux/types.h' line='30' column='1' id='type-id-3573'/>
+      <class-decl name='frag_v6_compare_key' size-in-bits='352' is-struct='yes' visibility='default' filepath='include/net/inet_frag.h' line='43' column='1' id='type-id-7527'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='saddr' type-id='type-id-3028' visibility='default' filepath='include/net/inet_frag.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='daddr' type-id='type-id-3028' visibility='default' filepath='include/net/inet_frag.h' line='45' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='user' type-id='type-id-9' visibility='default' filepath='include/net/inet_frag.h' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='id' type-id='type-id-2085' visibility='default' filepath='include/net/inet_frag.h' line='47' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='iif' type-id='type-id-9' visibility='default' filepath='include/net/inet_frag.h' line='48' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='in6_addr' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/in6.h' line='33' column='1' id='type-id-3028'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='in6_u' type-id='type-id-7528' visibility='default' filepath='include/uapi/linux/in6.h' line='40' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__1' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/in6.h' line='34' column='1' id='type-id-7528'>
+        <data-member access='private'>
+          <var-decl name='u6_addr8' type-id='type-id-2555' visibility='default' filepath='include/uapi/linux/in6.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='u6_addr16' type-id='type-id-7420' visibility='default' filepath='include/uapi/linux/in6.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='u6_addr32' type-id='type-id-3578' visibility='default' filepath='include/uapi/linux/in6.h' line='38' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='sk_buff' size-in-bits='1792' is-struct='yes' visibility='default' filepath='include/linux/skbuff.h' line='665' column='1' id='type-id-6982'>
+
+          <member-type access='public'>
+            <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='685' column='1' id='type-id-7529'>
+              <data-member access='private'>
+                <var-decl name='sk' type-id='type-id-6241' visibility='default' filepath='include/linux/skbuff.h' line='686' column='1'/>
+              </data-member>
+              <data-member access='private'>
+                <var-decl name='ip_defrag_offset' type-id='type-id-11' visibility='default' filepath='include/linux/skbuff.h' line='687' column='1'/>
+              </data-member>
+            </union-decl>
+          </member-type>
+
+          <member-type access='public'>
+            <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='690' column='1' id='type-id-7530'>
+              <data-member access='private'>
+                <var-decl name='tstamp' type-id='type-id-585' visibility='default' filepath='include/linux/skbuff.h' line='691' column='1'/>
+              </data-member>
+              <data-member access='private'>
+                <var-decl name='skb_mstamp' type-id='type-id-134' visibility='default' filepath='include/linux/skbuff.h' line='692' column='1'/>
+              </data-member>
+            </union-decl>
+          </member-type>
+
+          <member-type access='public'>
+            <union-decl name='__anonymous_union__2' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='702' column='1' id='type-id-7531'>
+              <data-member access='private'>
+                <var-decl name='' type-id='type-id-7532' visibility='default' filepath='include/linux/skbuff.h' line='703' column='1'/>
+              </data-member>
+              <data-member access='private'>
+                <var-decl name='tcp_tsorted_anchor' type-id='type-id-8' visibility='default' filepath='include/linux/skbuff.h' line='707' column='1'/>
+              </data-member>
+            </union-decl>
+          </member-type>
+
+          <member-type access='public'>
+            <union-decl name='__anonymous_union__3' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='807' column='1' id='type-id-7533'>
+              <data-member access='private'>
+                <var-decl name='csum' type-id='type-id-7534' visibility='default' filepath='include/linux/skbuff.h' line='808' column='1'/>
+              </data-member>
+              <data-member access='private'>
+                <var-decl name='' type-id='type-id-7535' visibility='default' filepath='include/linux/skbuff.h' line='809' column='1'/>
+              </data-member>
+            </union-decl>
+          </member-type>
+
+          <member-type access='public'>
+            <union-decl name='__anonymous_union__4' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='820' column='1' id='type-id-7536'>
+              <data-member access='private'>
+                <var-decl name='napi_id' type-id='type-id-10' visibility='default' filepath='include/linux/skbuff.h' line='821' column='1'/>
+              </data-member>
+              <data-member access='private'>
+                <var-decl name='sender_cpu' type-id='type-id-10' visibility='default' filepath='include/linux/skbuff.h' line='822' column='1'/>
+              </data-member>
+            </union-decl>
+          </member-type>
+
+          <member-type access='public'>
+            <union-decl name='__anonymous_union__5' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='829' column='1' id='type-id-7537'>
+              <data-member access='private'>
+                <var-decl name='mark' type-id='type-id-266' visibility='default' filepath='include/linux/skbuff.h' line='830' column='1'/>
+              </data-member>
+              <data-member access='private'>
+                <var-decl name='reserved_tailroom' type-id='type-id-266' visibility='default' filepath='include/linux/skbuff.h' line='831' column='1'/>
+              </data-member>
+            </union-decl>
+          </member-type>
+        <member-type access='public'>
+          <union-decl name='__anonymous_union__6' size-in-bits='16' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='834' column='1' id='type-id-7538'>
+            <data-member access='private'>
+              <var-decl name='inner_protocol' type-id='type-id-3573' visibility='default' filepath='include/linux/skbuff.h' line='835' column='1'/>
+            </data-member>
+            <data-member access='private'>
+              <var-decl name='inner_ipproto' type-id='type-id-1122' visibility='default' filepath='include/linux/skbuff.h' line='836' column='1'/>
+            </data-member>
+          </union-decl>
+        </member-type>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='' type-id='type-id-7539' visibility='default' filepath='include/linux/skbuff.h' line='666' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='cb' type-id='type-id-305' visibility='default' filepath='include/linux/skbuff.h' line='700' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='sp' type-id='type-id-7540' visibility='default' filepath='include/linux/skbuff.h' line='711' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='_nfct' type-id='type-id-100' visibility='default' filepath='include/linux/skbuff.h' line='714' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='len' type-id='type-id-10' visibility='default' filepath='include/linux/skbuff.h' line='719' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='992'>
+          <var-decl name='data_len' type-id='type-id-10' visibility='default' filepath='include/linux/skbuff.h' line='720' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='mac_len' type-id='type-id-1107' visibility='default' filepath='include/linux/skbuff.h' line='721' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1040'>
+          <var-decl name='hdr_len' type-id='type-id-1107' visibility='default' filepath='include/linux/skbuff.h' line='722' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1056'>
+          <var-decl name='queue_mapping' type-id='type-id-1107' visibility='default' filepath='include/linux/skbuff.h' line='727' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1072'>
+          <var-decl name='__cloned_offset' type-id='type-id-6752' visibility='default' filepath='include/linux/skbuff.h' line='737' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7'>
+          <var-decl name='cloned' type-id='type-id-1122' visibility='default' filepath='include/linux/skbuff.h' line='738' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6'>
+          <var-decl name='nohdr' type-id='type-id-1122' visibility='default' filepath='include/linux/skbuff.h' line='739' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4'>
+          <var-decl name='fclone' type-id='type-id-1122' visibility='default' filepath='include/linux/skbuff.h' line='740' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3'>
+          <var-decl name='peeked' type-id='type-id-1122' visibility='default' filepath='include/linux/skbuff.h' line='741' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2'>
+          <var-decl name='head_frag' type-id='type-id-1122' visibility='default' filepath='include/linux/skbuff.h' line='742' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1'>
+          <var-decl name='xmit_more' type-id='type-id-1122' visibility='default' filepath='include/linux/skbuff.h' line='743' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1072'>
+          <var-decl name='pfmemalloc' type-id='type-id-1122' visibility='default' filepath='include/linux/skbuff.h' line='744' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='headers_start' type-id='type-id-6764' visibility='default' filepath='include/linux/skbuff.h' line='750' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='__pkt_type_offset' type-id='type-id-6752' visibility='default' filepath='include/linux/skbuff.h' line='761' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5'>
+          <var-decl name='pkt_type' type-id='type-id-1122' visibility='default' filepath='include/linux/skbuff.h' line='762' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4'>
+          <var-decl name='ignore_df' type-id='type-id-1122' visibility='default' filepath='include/linux/skbuff.h' line='763' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3'>
+          <var-decl name='nf_trace' type-id='type-id-1122' visibility='default' filepath='include/linux/skbuff.h' line='764' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1'>
+          <var-decl name='ip_summed' type-id='type-id-1122' visibility='default' filepath='include/linux/skbuff.h' line='765' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='ooo_okay' type-id='type-id-1122' visibility='default' filepath='include/linux/skbuff.h' line='766' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7'>
+          <var-decl name='l4_hash' type-id='type-id-1122' visibility='default' filepath='include/linux/skbuff.h' line='768' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6'>
+          <var-decl name='sw_hash' type-id='type-id-1122' visibility='default' filepath='include/linux/skbuff.h' line='769' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5'>
+          <var-decl name='wifi_acked_valid' type-id='type-id-1122' visibility='default' filepath='include/linux/skbuff.h' line='770' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4'>
+          <var-decl name='wifi_acked' type-id='type-id-1122' visibility='default' filepath='include/linux/skbuff.h' line='771' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3'>
+          <var-decl name='no_fcs' type-id='type-id-1122' visibility='default' filepath='include/linux/skbuff.h' line='772' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2'>
+          <var-decl name='encapsulation' type-id='type-id-1122' visibility='default' filepath='include/linux/skbuff.h' line='774' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1'>
+          <var-decl name='encap_hdr_csum' type-id='type-id-1122' visibility='default' filepath='include/linux/skbuff.h' line='775' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1096'>
+          <var-decl name='csum_valid' type-id='type-id-1122' visibility='default' filepath='include/linux/skbuff.h' line='776' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7'>
+          <var-decl name='csum_complete_sw' type-id='type-id-1122' visibility='default' filepath='include/linux/skbuff.h' line='778' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5'>
+          <var-decl name='csum_level' type-id='type-id-1122' visibility='default' filepath='include/linux/skbuff.h' line='779' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4'>
+          <var-decl name='csum_not_inet' type-id='type-id-1122' visibility='default' filepath='include/linux/skbuff.h' line='780' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3'>
+          <var-decl name='dst_pending_confirm' type-id='type-id-1122' visibility='default' filepath='include/linux/skbuff.h' line='781' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1'>
+          <var-decl name='ndisc_nodetype' type-id='type-id-1122' visibility='default' filepath='include/linux/skbuff.h' line='783' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1104'>
+          <var-decl name='ipvs_property' type-id='type-id-1122' visibility='default' filepath='include/linux/skbuff.h' line='785' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7'>
+          <var-decl name='inner_protocol_type' type-id='type-id-1122' visibility='default' filepath='include/linux/skbuff.h' line='787' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6'>
+          <var-decl name='remcsum_offload' type-id='type-id-1122' visibility='default' filepath='include/linux/skbuff.h' line='788' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5'>
+          <var-decl name='tc_skip_classify' type-id='type-id-1122' visibility='default' filepath='include/linux/skbuff.h' line='794' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4'>
+          <var-decl name='tc_at_ingress' type-id='type-id-1122' visibility='default' filepath='include/linux/skbuff.h' line='795' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3'>
+          <var-decl name='tc_redirected' type-id='type-id-1122' visibility='default' filepath='include/linux/skbuff.h' line='796' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2'>
+          <var-decl name='tc_from_ingress' type-id='type-id-1122' visibility='default' filepath='include/linux/skbuff.h' line='797' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1120'>
+          <var-decl name='tc_index' type-id='type-id-1107' visibility='default' filepath='include/linux/skbuff.h' line='804' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1184'>
+          <var-decl name='priority' type-id='type-id-266' visibility='default' filepath='include/linux/skbuff.h' line='814' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='skb_iif' type-id='type-id-11' visibility='default' filepath='include/linux/skbuff.h' line='815' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1248'>
+          <var-decl name='hash' type-id='type-id-266' visibility='default' filepath='include/linux/skbuff.h' line='816' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='vlan_proto' type-id='type-id-3573' visibility='default' filepath='include/linux/skbuff.h' line='817' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1296'>
+          <var-decl name='vlan_tci' type-id='type-id-1107' visibility='default' filepath='include/linux/skbuff.h' line='818' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='secmark' type-id='type-id-266' visibility='default' filepath='include/linux/skbuff.h' line='826' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1424'>
+          <var-decl name='inner_transport_header' type-id='type-id-1107' visibility='default' filepath='include/linux/skbuff.h' line='839' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1440'>
+          <var-decl name='inner_network_header' type-id='type-id-1107' visibility='default' filepath='include/linux/skbuff.h' line='840' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1456'>
+          <var-decl name='inner_mac_header' type-id='type-id-1107' visibility='default' filepath='include/linux/skbuff.h' line='841' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='protocol' type-id='type-id-3573' visibility='default' filepath='include/linux/skbuff.h' line='843' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1488'>
+          <var-decl name='transport_header' type-id='type-id-1107' visibility='default' filepath='include/linux/skbuff.h' line='844' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1504'>
+          <var-decl name='network_header' type-id='type-id-1107' visibility='default' filepath='include/linux/skbuff.h' line='845' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1520'>
+          <var-decl name='mac_header' type-id='type-id-1107' visibility='default' filepath='include/linux/skbuff.h' line='846' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='headers_end' type-id='type-id-6764' visibility='default' filepath='include/linux/skbuff.h' line='849' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='tail' type-id='type-id-7541' visibility='default' filepath='include/linux/skbuff.h' line='853' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1568'>
+          <var-decl name='end' type-id='type-id-7541' visibility='default' filepath='include/linux/skbuff.h' line='854' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='head' type-id='type-id-1047' visibility='default' filepath='include/linux/skbuff.h' line='855' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='data' type-id='type-id-1047' visibility='default' filepath='include/linux/skbuff.h' line='856' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='truesize' type-id='type-id-10' visibility='default' filepath='include/linux/skbuff.h' line='857' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1760'>
+          <var-decl name='users' type-id='type-id-12' visibility='default' filepath='include/linux/skbuff.h' line='858' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__2' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='666' column='1' id='type-id-7539'>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-7542' visibility='default' filepath='include/linux/skbuff.h' line='667' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='rbnode' type-id='type-id-1846' visibility='default' filepath='include/linux/skbuff.h' line='681' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/skbuff.h' line='682' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='667' column='1' id='type-id-7542'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='next' type-id='type-id-513' visibility='default' filepath='include/linux/skbuff.h' line='669' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='prev' type-id='type-id-513' visibility='default' filepath='include/linux/skbuff.h' line='670' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='' type-id='type-id-7543' visibility='default' filepath='include/linux/skbuff.h' line='672' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__3' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='672' column='1' id='type-id-7543'>
+        <data-member access='private'>
+          <var-decl name='dev' type-id='type-id-7471' visibility='default' filepath='include/linux/skbuff.h' line='673' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='dev_scratch' type-id='type-id-100' visibility='default' filepath='include/linux/skbuff.h' line='678' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__1' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='703' column='1' id='type-id-7532'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='_skb_refdst' type-id='type-id-100' visibility='default' filepath='include/linux/skbuff.h' line='704' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='destructor' type-id='type-id-6665' visibility='default' filepath='include/linux/skbuff.h' line='705' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='__wsum' type-id='type-id-266' filepath='include/uapi/linux/types.h' line='37' column='1' id='type-id-7534'/>
+      <class-decl name='__anonymous_struct__2' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='809' column='1' id='type-id-7535'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='csum_start' type-id='type-id-1107' visibility='default' filepath='include/linux/skbuff.h' line='810' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='csum_offset' type-id='type-id-1107' visibility='default' filepath='include/linux/skbuff.h' line='811' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='sk_buff_data_t' type-id='type-id-10' filepath='include/linux/skbuff.h' line='585' column='1' id='type-id-7541'/>
+      <class-decl name='rhashtable_params' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/rhashtable-types.h' line='57' column='1' id='type-id-7521'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='nelem_hint' type-id='type-id-289' visibility='default' filepath='include/linux/rhashtable-types.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='key_len' type-id='type-id-289' visibility='default' filepath='include/linux/rhashtable-types.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='key_offset' type-id='type-id-289' visibility='default' filepath='include/linux/rhashtable-types.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='head_offset' type-id='type-id-289' visibility='default' filepath='include/linux/rhashtable-types.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='max_size' type-id='type-id-10' visibility='default' filepath='include/linux/rhashtable-types.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='min_size' type-id='type-id-289' visibility='default' filepath='include/linux/rhashtable-types.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='112'>
+          <var-decl name='automatic_shrinking' type-id='type-id-211' visibility='default' filepath='include/linux/rhashtable-types.h' line='64' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='120'>
+          <var-decl name='locks_mul' type-id='type-id-53' visibility='default' filepath='include/linux/rhashtable-types.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='hashfn' type-id='type-id-7544' visibility='default' filepath='include/linux/rhashtable-types.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='obj_hashfn' type-id='type-id-7545' visibility='default' filepath='include/linux/rhashtable-types.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='obj_cmpfn' type-id='type-id-7546' visibility='default' filepath='include/linux/rhashtable-types.h' line='68' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='rht_hashfn_t' type-id='type-id-7547' filepath='include/linux/rhashtable-types.h' line='38' column='1' id='type-id-7544'/>
+      <typedef-decl name='rht_obj_hashfn_t' type-id='type-id-7547' filepath='include/linux/rhashtable-types.h' line='39' column='1' id='type-id-7545'/>
+      <typedef-decl name='rht_obj_cmpfn_t' type-id='type-id-7548' filepath='include/linux/rhashtable-types.h' line='40' column='1' id='type-id-7546'/>
+      <class-decl name='rhashtable_compare_arg' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/rhashtable-types.h' line='33' column='1' id='type-id-7549'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ht' type-id='type-id-7267' visibility='default' filepath='include/linux/rhashtable-types.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='key' type-id='type-id-3' visibility='default' filepath='include/linux/rhashtable-types.h' line='35' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='rhashtable' size-in-bits='1088' is-struct='yes' visibility='default' filepath='include/linux/rhashtable-types.h' line='83' column='1' id='type-id-7517'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='tbl' type-id='type-id-7268' visibility='default' filepath='include/linux/rhashtable-types.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='key_len' type-id='type-id-10' visibility='default' filepath='include/linux/rhashtable-types.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='max_elems' type-id='type-id-10' visibility='default' filepath='include/linux/rhashtable-types.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='p' type-id='type-id-7521' visibility='default' filepath='include/linux/rhashtable-types.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='rhlist' type-id='type-id-211' visibility='default' filepath='include/linux/rhashtable-types.h' line='88' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='run_work' type-id='type-id-149' visibility='default' filepath='include/linux/rhashtable-types.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='mutex' type-id='type-id-407' visibility='default' filepath='include/linux/rhashtable-types.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/linux/rhashtable-types.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1056'>
+          <var-decl name='nelems' type-id='type-id-137' visibility='default' filepath='include/linux/rhashtable-types.h' line='92' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='local_ports' size-in-bits='160' is-struct='yes' visibility='default' filepath='include/net/netns/ipv4.h' line='21' column='1' id='type-id-7510'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-1241' visibility='default' filepath='include/net/netns/ipv4.h' line='22' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='range' type-id='type-id-1324' visibility='default' filepath='include/net/netns/ipv4.h' line='23' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='warned' type-id='type-id-211' visibility='default' filepath='include/net/netns/ipv4.h' line='24' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='inet_timewait_death_row' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/net/netns/ipv4.h' line='34' column='1' id='type-id-7017'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='tw_count' type-id='type-id-137' visibility='default' filepath='include/net/netns/ipv4.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='hashinfo' type-id='type-id-7247' visibility='default' filepath='include/net/netns/ipv4.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='sysctl_max_tw_buckets' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv4.h' line='38' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ping_group_range' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/net/netns/ipv4.h' line='27' column='1' id='type-id-7513'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-1241' visibility='default' filepath='include/net/netns/ipv4.h' line='28' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='range' type-id='type-id-7452' visibility='default' filepath='include/net/netns/ipv4.h' line='29' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='siphash_key_t' type-id='type-id-7550' filepath='include/linux/siphash.h' line='22' column='1' id='type-id-7515'/>
+      <class-decl name='__anonymous_struct__3' size-in-bits='128' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-7515' visibility='default' filepath='include/linux/siphash.h' line='20' column='1' id='type-id-7550'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='key' type-id='type-id-2103' visibility='default' filepath='include/linux/siphash.h' line='21' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='netns_ipv6' size-in-bits='8704' is-struct='yes' visibility='default' filepath='include/net/netns/ipv6.h' line='50' column='1' id='type-id-7477'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='sysctl' type-id='type-id-7551' visibility='default' filepath='include/net/netns/ipv6.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='devconf_all' type-id='type-id-7552' visibility='default' filepath='include/net/netns/ipv6.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='devconf_dflt' type-id='type-id-7552' visibility='default' filepath='include/net/netns/ipv6.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='peers' type-id='type-id-7507' visibility='default' filepath='include/net/netns/ipv6.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='frags' type-id='type-id-7508' visibility='default' filepath='include/net/netns/ipv6.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4096'>
+          <var-decl name='ip6table_filter' type-id='type-id-7509' visibility='default' filepath='include/net/netns/ipv6.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4160'>
+          <var-decl name='ip6table_mangle' type-id='type-id-7509' visibility='default' filepath='include/net/netns/ipv6.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4224'>
+          <var-decl name='ip6table_raw' type-id='type-id-7509' visibility='default' filepath='include/net/netns/ipv6.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4288'>
+          <var-decl name='ip6table_security' type-id='type-id-7509' visibility='default' filepath='include/net/netns/ipv6.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4352'>
+          <var-decl name='ip6table_nat' type-id='type-id-7509' visibility='default' filepath='include/net/netns/ipv6.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4416'>
+          <var-decl name='fib6_null_entry' type-id='type-id-3037' visibility='default' filepath='include/net/netns/ipv6.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4480'>
+          <var-decl name='ip6_null_entry' type-id='type-id-7553' visibility='default' filepath='include/net/netns/ipv6.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4544'>
+          <var-decl name='rt6_stats' type-id='type-id-7554' visibility='default' filepath='include/net/netns/ipv6.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4608'>
+          <var-decl name='ip6_fib_timer' type-id='type-id-1240' visibility='default' filepath='include/net/netns/ipv6.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4928'>
+          <var-decl name='fib_table_hash' type-id='type-id-1238' visibility='default' filepath='include/net/netns/ipv6.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4992'>
+          <var-decl name='fib6_main_tbl' type-id='type-id-7555' visibility='default' filepath='include/net/netns/ipv6.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5056'>
+          <var-decl name='fib6_walkers' type-id='type-id-8' visibility='default' filepath='include/net/netns/ipv6.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5632'>
+          <var-decl name='ip6_dst_ops' type-id='type-id-7556' visibility='default' filepath='include/net/netns/ipv6.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7168'>
+          <var-decl name='fib6_walker_lock' type-id='type-id-1847' visibility='default' filepath='include/net/netns/ipv6.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7232'>
+          <var-decl name='fib6_gc_lock' type-id='type-id-106' visibility='default' filepath='include/net/netns/ipv6.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7264'>
+          <var-decl name='ip6_rt_gc_expire' type-id='type-id-10' visibility='default' filepath='include/net/netns/ipv6.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7296'>
+          <var-decl name='ip6_rt_last_gc' type-id='type-id-100' visibility='default' filepath='include/net/netns/ipv6.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7360'>
+          <var-decl name='fib6_rules_require_fldissect' type-id='type-id-10' visibility='default' filepath='include/net/netns/ipv6.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7392'>
+          <var-decl name='fib6_has_custom_rules' type-id='type-id-211' visibility='default' filepath='include/net/netns/ipv6.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7424'>
+          <var-decl name='ip6_prohibit_entry' type-id='type-id-7553' visibility='default' filepath='include/net/netns/ipv6.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7488'>
+          <var-decl name='ip6_blk_hole_entry' type-id='type-id-7553' visibility='default' filepath='include/net/netns/ipv6.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7552'>
+          <var-decl name='fib6_local_tbl' type-id='type-id-7555' visibility='default' filepath='include/net/netns/ipv6.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7616'>
+          <var-decl name='fib6_rules_ops' type-id='type-id-7504' visibility='default' filepath='include/net/netns/ipv6.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7680'>
+          <var-decl name='icmp_sk' type-id='type-id-7506' visibility='default' filepath='include/net/netns/ipv6.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7744'>
+          <var-decl name='ndisc_sk' type-id='type-id-6241' visibility='default' filepath='include/net/netns/ipv6.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7808'>
+          <var-decl name='tcp_sk' type-id='type-id-6241' visibility='default' filepath='include/net/netns/ipv6.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7872'>
+          <var-decl name='igmp_sk' type-id='type-id-6241' visibility='default' filepath='include/net/netns/ipv6.h' line='88' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7936'>
+          <var-decl name='mc_autojoin_sk' type-id='type-id-6241' visibility='default' filepath='include/net/netns/ipv6.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8000'>
+          <var-decl name='dev_addr_genid' type-id='type-id-137' visibility='default' filepath='include/net/netns/ipv6.h' line='98' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8032'>
+          <var-decl name='fib6_sernum' type-id='type-id-137' visibility='default' filepath='include/net/netns/ipv6.h' line='99' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8064'>
+          <var-decl name='seg6_data' type-id='type-id-7557' visibility='default' filepath='include/net/netns/ipv6.h' line='100' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8128'>
+          <var-decl name='notifier_ops' type-id='type-id-7514' visibility='default' filepath='include/net/netns/ipv6.h' line='101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8192'>
+          <var-decl name='ip6mr_notifier_ops' type-id='type-id-7514' visibility='default' filepath='include/net/netns/ipv6.h' line='102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8256'>
+          <var-decl name='ipmr_seq' type-id='type-id-10' visibility='default' filepath='include/net/netns/ipv6.h' line='103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8320'>
+          <var-decl name='ip6addrlbl_table' type-id='type-id-7558' visibility='default' filepath='include/net/netns/ipv6.h' line='108' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='netns_sysctl_ipv6' size-in-bits='1152' is-struct='yes' visibility='default' filepath='include/net/netns/ipv6.h' line='14' column='1' id='type-id-7551'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='hdr' type-id='type-id-5655' visibility='default' filepath='include/net/netns/ipv6.h' line='16' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='route_hdr' type-id='type-id-5655' visibility='default' filepath='include/net/netns/ipv6.h' line='17' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='icmp_hdr' type-id='type-id-5655' visibility='default' filepath='include/net/netns/ipv6.h' line='18' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='frags_hdr' type-id='type-id-5655' visibility='default' filepath='include/net/netns/ipv6.h' line='19' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='xfrm6_hdr' type-id='type-id-5655' visibility='default' filepath='include/net/netns/ipv6.h' line='20' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='bindv6only' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv6.h' line='22' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='flush_delay' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv6.h' line='23' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='ip6_rt_max_size' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv6.h' line='24' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='ip6_rt_gc_min_interval' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv6.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='ip6_rt_gc_timeout' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv6.h' line='26' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='ip6_rt_gc_interval' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv6.h' line='27' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='ip6_rt_gc_elasticity' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv6.h' line='28' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='ip6_rt_mtu_expires' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv6.h' line='29' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='ip6_rt_min_advmss' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv6.h' line='30' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='multipath_hash_policy' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv6.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='flowlabel_consistency' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv6.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='672'>
+          <var-decl name='auto_flowlabels' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv6.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='icmpv6_time' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv6.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='736'>
+          <var-decl name='icmpv6_echo_ignore_all' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv6.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='anycast_src_echo_reply' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv6.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='800'>
+          <var-decl name='ip_nonlocal_bind' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv6.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='fwmark_reflect' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv6.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='864'>
+          <var-decl name='idgen_retries' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv6.h' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='idgen_delay' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv6.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='928'>
+          <var-decl name='flowlabel_state_ranges' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv6.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='flowlabel_reflect' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv6.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='992'>
+          <var-decl name='max_dst_opts_cnt' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv6.h' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='max_hbh_opts_cnt' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv6.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1056'>
+          <var-decl name='max_dst_opts_len' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv6.h' line='45' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='max_hbh_opts_len' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv6.h' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1120'>
+          <var-decl name='seg6_flowlabel' type-id='type-id-11' visibility='default' filepath='include/net/netns/ipv6.h' line='47' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='dst_ops' size-in-bits='1536' is-struct='yes' visibility='default' filepath='include/net/dst_ops.h' line='15' column='1' id='type-id-7556'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='family' type-id='type-id-288' visibility='default' filepath='include/net/dst_ops.h' line='16' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='gc_thresh' type-id='type-id-10' visibility='default' filepath='include/net/dst_ops.h' line='17' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='gc' type-id='type-id-7559' visibility='default' filepath='include/net/dst_ops.h' line='19' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='check' type-id='type-id-7560' visibility='default' filepath='include/net/dst_ops.h' line='20' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='default_advmss' type-id='type-id-7561' visibility='default' filepath='include/net/dst_ops.h' line='21' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='mtu' type-id='type-id-7561' visibility='default' filepath='include/net/dst_ops.h' line='22' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='cow_metrics' type-id='type-id-7562' visibility='default' filepath='include/net/dst_ops.h' line='23' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='destroy' type-id='type-id-7563' visibility='default' filepath='include/net/dst_ops.h' line='24' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='ifdown' type-id='type-id-7564' visibility='default' filepath='include/net/dst_ops.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='negative_advice' type-id='type-id-7565' visibility='default' filepath='include/net/dst_ops.h' line='27' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='link_failure' type-id='type-id-6665' visibility='default' filepath='include/net/dst_ops.h' line='28' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='update_pmtu' type-id='type-id-7566' visibility='default' filepath='include/net/dst_ops.h' line='29' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='redirect' type-id='type-id-7567' visibility='default' filepath='include/net/dst_ops.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='local_out' type-id='type-id-6896' visibility='default' filepath='include/net/dst_ops.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='neigh_lookup' type-id='type-id-7568' visibility='default' filepath='include/net/dst_ops.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='confirm_neigh' type-id='type-id-7569' visibility='default' filepath='include/net/dst_ops.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='kmem_cachep' type-id='type-id-3525' visibility='default' filepath='include/net/dst_ops.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='pcpuc_entries' type-id='type-id-4559' visibility='default' filepath='include/net/dst_ops.h' line='43' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__4' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/net/netns/ipv6.h' line='104' column='1' id='type-id-7558'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='head' type-id='type-id-297' visibility='default' filepath='include/net/netns/ipv6.h' line='105' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/net/netns/ipv6.h' line='106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='seq' type-id='type-id-9' visibility='default' filepath='include/net/netns/ipv6.h' line='107' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='netns_nf' size-in-bits='1920' is-struct='yes' visibility='default' filepath='include/net/netns/netfilter.h' line='11' column='1' id='type-id-7478'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='proc_netfilter' type-id='type-id-286' visibility='default' filepath='include/net/netns/netfilter.h' line='13' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='queue_handler' type-id='type-id-7570' visibility='default' filepath='include/net/netns/netfilter.h' line='15' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='nf_loggers' type-id='type-id-7449' visibility='default' filepath='include/net/netns/netfilter.h' line='16' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='nf_log_dir_header' type-id='type-id-5655' visibility='default' filepath='include/net/netns/netfilter.h' line='18' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='hooks_ipv4' type-id='type-id-7455' visibility='default' filepath='include/net/netns/netfilter.h' line='20' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='hooks_ipv6' type-id='type-id-7455' visibility='default' filepath='include/net/netns/netfilter.h' line='21' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='hooks_arp' type-id='type-id-7454' visibility='default' filepath='include/net/netns/netfilter.h' line='23' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='defrag_ipv4' type-id='type-id-211' visibility='default' filepath='include/net/netns/netfilter.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1864'>
+          <var-decl name='defrag_ipv6' type-id='type-id-211' visibility='default' filepath='include/net/netns/netfilter.h' line='35' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='netns_xt' size-in-bits='1728' is-struct='yes' visibility='default' filepath='include/net/netns/x_tables.h' line='10' column='1' id='type-id-7479'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='tables' type-id='type-id-7453' visibility='default' filepath='include/net/netns/x_tables.h' line='11' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='notrack_deprecated_warning' type-id='type-id-211' visibility='default' filepath='include/net/netns/x_tables.h' line='12' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1672'>
+          <var-decl name='clusterip_deprecated_warning' type-id='type-id-211' visibility='default' filepath='include/net/netns/x_tables.h' line='13' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='netns_ct' size-in-bits='4544' is-struct='yes' visibility='default' filepath='include/net/netns/conntrack.h' line='93' column='1' id='type-id-7480'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='count' type-id='type-id-137' visibility='default' filepath='include/net/netns/conntrack.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='expect_count' type-id='type-id-10' visibility='default' filepath='include/net/netns/conntrack.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ecache_dwork' type-id='type-id-370' visibility='default' filepath='include/net/netns/conntrack.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='ecache_dwork_pending' type-id='type-id-211' visibility='default' filepath='include/net/netns/conntrack.h' line='98' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='sysctl_header' type-id='type-id-5655' visibility='default' filepath='include/net/netns/conntrack.h' line='101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='acct_sysctl_header' type-id='type-id-5655' visibility='default' filepath='include/net/netns/conntrack.h' line='102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='tstamp_sysctl_header' type-id='type-id-5655' visibility='default' filepath='include/net/netns/conntrack.h' line='103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='event_sysctl_header' type-id='type-id-5655' visibility='default' filepath='include/net/netns/conntrack.h' line='104' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='helper_sysctl_header' type-id='type-id-5655' visibility='default' filepath='include/net/netns/conntrack.h' line='105' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='sysctl_log_invalid' type-id='type-id-10' visibility='default' filepath='include/net/netns/conntrack.h' line='107' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1184'>
+          <var-decl name='sysctl_events' type-id='type-id-11' visibility='default' filepath='include/net/netns/conntrack.h' line='108' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='sysctl_acct' type-id='type-id-11' visibility='default' filepath='include/net/netns/conntrack.h' line='109' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1248'>
+          <var-decl name='sysctl_auto_assign_helper' type-id='type-id-11' visibility='default' filepath='include/net/netns/conntrack.h' line='110' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='auto_assign_helper_warned' type-id='type-id-211' visibility='default' filepath='include/net/netns/conntrack.h' line='111' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1312'>
+          <var-decl name='sysctl_tstamp' type-id='type-id-11' visibility='default' filepath='include/net/netns/conntrack.h' line='112' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='sysctl_checksum' type-id='type-id-11' visibility='default' filepath='include/net/netns/conntrack.h' line='113' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='pcpu_lists' type-id='type-id-7571' visibility='default' filepath='include/net/netns/conntrack.h' line='115' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='stat' type-id='type-id-7572' visibility='default' filepath='include/net/netns/conntrack.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='nf_conntrack_event_cb' type-id='type-id-7573' visibility='default' filepath='include/net/netns/conntrack.h' line='117' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='nf_expect_event_cb' type-id='type-id-7574' visibility='default' filepath='include/net/netns/conntrack.h' line='118' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='nf_ct_proto' type-id='type-id-7575' visibility='default' filepath='include/net/netns/conntrack.h' line='119' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ct_pcpu' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/net/netns/conntrack.h' line='87' column='1' id='type-id-7576'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/net/netns/conntrack.h' line='88' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='unconfirmed' type-id='type-id-7577' visibility='default' filepath='include/net/netns/conntrack.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='dying' type-id='type-id-7577' visibility='default' filepath='include/net/netns/conntrack.h' line='90' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='hlist_nulls_head' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/list_nulls.h' line='21' column='1' id='type-id-7577'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='first' type-id='type-id-7578' visibility='default' filepath='include/linux/list_nulls.h' line='22' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='hlist_nulls_node' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/list_nulls.h' line='25' column='1' id='type-id-6464'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='next' type-id='type-id-7578' visibility='default' filepath='include/linux/list_nulls.h' line='26' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='pprev' type-id='type-id-7579' visibility='default' filepath='include/linux/list_nulls.h' line='26' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ip_conntrack_stat' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/netfilter/nf_conntrack_common.h' line='7' column='1' id='type-id-7580'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='found' type-id='type-id-10' visibility='default' filepath='include/linux/netfilter/nf_conntrack_common.h' line='8' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='invalid' type-id='type-id-10' visibility='default' filepath='include/linux/netfilter/nf_conntrack_common.h' line='9' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ignore' type-id='type-id-10' visibility='default' filepath='include/linux/netfilter/nf_conntrack_common.h' line='10' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='insert' type-id='type-id-10' visibility='default' filepath='include/linux/netfilter/nf_conntrack_common.h' line='11' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='insert_failed' type-id='type-id-10' visibility='default' filepath='include/linux/netfilter/nf_conntrack_common.h' line='12' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='drop' type-id='type-id-10' visibility='default' filepath='include/linux/netfilter/nf_conntrack_common.h' line='13' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='early_drop' type-id='type-id-10' visibility='default' filepath='include/linux/netfilter/nf_conntrack_common.h' line='14' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='error' type-id='type-id-10' visibility='default' filepath='include/linux/netfilter/nf_conntrack_common.h' line='15' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='expect_new' type-id='type-id-10' visibility='default' filepath='include/linux/netfilter/nf_conntrack_common.h' line='16' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='expect_create' type-id='type-id-10' visibility='default' filepath='include/linux/netfilter/nf_conntrack_common.h' line='17' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='expect_delete' type-id='type-id-10' visibility='default' filepath='include/linux/netfilter/nf_conntrack_common.h' line='18' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='search_restart' type-id='type-id-10' visibility='default' filepath='include/linux/netfilter/nf_conntrack_common.h' line='19' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='nf_ip_net' size-in-bits='2880' is-struct='yes' visibility='default' filepath='include/net/netns/conntrack.h' line='73' column='1' id='type-id-7575'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='generic' type-id='type-id-7581' visibility='default' filepath='include/net/netns/conntrack.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='tcp' type-id='type-id-7582' visibility='default' filepath='include/net/netns/conntrack.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='udp' type-id='type-id-7583' visibility='default' filepath='include/net/netns/conntrack.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='icmp' type-id='type-id-7584' visibility='default' filepath='include/net/netns/conntrack.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='icmpv6' type-id='type-id-7584' visibility='default' filepath='include/net/netns/conntrack.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='dccp' type-id='type-id-7585' visibility='default' filepath='include/net/netns/conntrack.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='sctp' type-id='type-id-7586' visibility='default' filepath='include/net/netns/conntrack.h' line='83' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='nf_generic_net' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/netns/conntrack.h' line='29' column='1' id='type-id-7581'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='pn' type-id='type-id-7587' visibility='default' filepath='include/net/netns/conntrack.h' line='30' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='timeout' type-id='type-id-10' visibility='default' filepath='include/net/netns/conntrack.h' line='31' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='nf_proto_net' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/net/netns/conntrack.h' line='21' column='1' id='type-id-7587'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ctl_table_header' type-id='type-id-5655' visibility='default' filepath='include/net/netns/conntrack.h' line='23' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ctl_table' type-id='type-id-75' visibility='default' filepath='include/net/netns/conntrack.h' line='24' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='users' type-id='type-id-10' visibility='default' filepath='include/net/netns/conntrack.h' line='26' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='nf_tcp_net' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/net/netns/conntrack.h' line='34' column='1' id='type-id-7582'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='pn' type-id='type-id-7587' visibility='default' filepath='include/net/netns/conntrack.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='timeouts' type-id='type-id-7458' visibility='default' filepath='include/net/netns/conntrack.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='tcp_loose' type-id='type-id-10' visibility='default' filepath='include/net/netns/conntrack.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='672'>
+          <var-decl name='tcp_be_liberal' type-id='type-id-10' visibility='default' filepath='include/net/netns/conntrack.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='tcp_max_retrans' type-id='type-id-10' visibility='default' filepath='include/net/netns/conntrack.h' line='39' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='nf_udp_net' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/netns/conntrack.h' line='48' column='1' id='type-id-7583'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='pn' type-id='type-id-7587' visibility='default' filepath='include/net/netns/conntrack.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='timeouts' type-id='type-id-3971' visibility='default' filepath='include/net/netns/conntrack.h' line='50' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='nf_icmp_net' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/netns/conntrack.h' line='53' column='1' id='type-id-7584'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='pn' type-id='type-id-7587' visibility='default' filepath='include/net/netns/conntrack.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='timeout' type-id='type-id-10' visibility='default' filepath='include/net/netns/conntrack.h' line='55' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='nf_dccp_net' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/net/netns/conntrack.h' line='59' column='1' id='type-id-7585'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='pn' type-id='type-id-7587' visibility='default' filepath='include/net/netns/conntrack.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='dccp_loose' type-id='type-id-11' visibility='default' filepath='include/net/netns/conntrack.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='dccp_timeout' type-id='type-id-7457' visibility='default' filepath='include/net/netns/conntrack.h' line='62' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='nf_sctp_net' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/net/netns/conntrack.h' line='67' column='1' id='type-id-7586'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='pn' type-id='type-id-7587' visibility='default' filepath='include/net/netns/conntrack.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='timeouts' type-id='type-id-7457' visibility='default' filepath='include/net/netns/conntrack.h' line='69' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='netns_nf_frag' size-in-bits='2560' is-struct='yes' visibility='default' filepath='include/net/netns/ipv6.h' line='112' column='1' id='type-id-7481'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='frags' type-id='type-id-7508' visibility='default' filepath='include/net/netns/ipv6.h' line='113' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='sk_buff_head' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/skbuff.h' line='283' column='1' id='type-id-6446'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='next' type-id='type-id-513' visibility='default' filepath='include/linux/skbuff.h' line='285' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='prev' type-id='type-id-513' visibility='default' filepath='include/linux/skbuff.h' line='286' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='qlen' type-id='type-id-266' visibility='default' filepath='include/linux/skbuff.h' line='288' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/linux/skbuff.h' line='289' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='netns_xfrm' size-in-bits='6656' is-struct='yes' visibility='default' filepath='include/net/netns/xfrm.h' line='31' column='1' id='type-id-7483'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='state_all' type-id='type-id-8' visibility='default' filepath='include/net/netns/xfrm.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='state_bydst' type-id='type-id-1238' visibility='default' filepath='include/net/netns/xfrm.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='state_bysrc' type-id='type-id-1238' visibility='default' filepath='include/net/netns/xfrm.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='state_byspi' type-id='type-id-1238' visibility='default' filepath='include/net/netns/xfrm.h' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='state_hmask' type-id='type-id-10' visibility='default' filepath='include/net/netns/xfrm.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='state_num' type-id='type-id-10' visibility='default' filepath='include/net/netns/xfrm.h' line='45' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='state_hash_work' type-id='type-id-149' visibility='default' filepath='include/net/netns/xfrm.h' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='policy_all' type-id='type-id-8' visibility='default' filepath='include/net/netns/xfrm.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='policy_byidx' type-id='type-id-1238' visibility='default' filepath='include/net/netns/xfrm.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='policy_idx_hmask' type-id='type-id-10' visibility='default' filepath='include/net/netns/xfrm.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='policy_inexact' type-id='type-id-7450' visibility='default' filepath='include/net/netns/xfrm.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='policy_bydst' type-id='type-id-7468' visibility='default' filepath='include/net/netns/xfrm.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='policy_count' type-id='type-id-7459' visibility='default' filepath='include/net/netns/xfrm.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='policy_hash_work' type-id='type-id-149' visibility='default' filepath='include/net/netns/xfrm.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='policy_hthresh' type-id='type-id-7588' visibility='default' filepath='include/net/netns/xfrm.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='nlsk' type-id='type-id-6241' visibility='default' filepath='include/net/netns/xfrm.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='nlsk_stash' type-id='type-id-6241' visibility='default' filepath='include/net/netns/xfrm.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='sysctl_aevent_etime' type-id='type-id-9' visibility='default' filepath='include/net/netns/xfrm.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2464'>
+          <var-decl name='sysctl_aevent_rseqth' type-id='type-id-9' visibility='default' filepath='include/net/netns/xfrm.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='sysctl_larval_drop' type-id='type-id-11' visibility='default' filepath='include/net/netns/xfrm.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2528'>
+          <var-decl name='sysctl_acq_expires' type-id='type-id-9' visibility='default' filepath='include/net/netns/xfrm.h' line='64' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='sysctl_hdr' type-id='type-id-5655' visibility='default' filepath='include/net/netns/xfrm.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3072'>
+          <var-decl name='xfrm4_dst_ops' type-id='type-id-7556' visibility='default' filepath='include/net/netns/xfrm.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4608'>
+          <var-decl name='xfrm6_dst_ops' type-id='type-id-7556' visibility='default' filepath='include/net/netns/xfrm.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6144'>
+          <var-decl name='xfrm_state_lock' type-id='type-id-106' visibility='default' filepath='include/net/netns/xfrm.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6176'>
+          <var-decl name='xfrm_policy_lock' type-id='type-id-106' visibility='default' filepath='include/net/netns/xfrm.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6208'>
+          <var-decl name='xfrm_cfg_mutex' type-id='type-id-407' visibility='default' filepath='include/net/netns/xfrm.h' line='75' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='xfrm_policy_hash' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/net/netns/xfrm.h' line='13' column='1' id='type-id-7467'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='table' type-id='type-id-1238' visibility='default' filepath='include/net/netns/xfrm.h' line='14' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='hmask' type-id='type-id-10' visibility='default' filepath='include/net/netns/xfrm.h' line='15' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='dbits4' type-id='type-id-53' visibility='default' filepath='include/net/netns/xfrm.h' line='16' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='104'>
+          <var-decl name='sbits4' type-id='type-id-53' visibility='default' filepath='include/net/netns/xfrm.h' line='17' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='112'>
+          <var-decl name='dbits6' type-id='type-id-53' visibility='default' filepath='include/net/netns/xfrm.h' line='18' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='120'>
+          <var-decl name='sbits6' type-id='type-id-53' visibility='default' filepath='include/net/netns/xfrm.h' line='19' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='xfrm_policy_hthresh' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/net/netns/xfrm.h' line='22' column='1' id='type-id-7588'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='work' type-id='type-id-149' visibility='default' filepath='include/net/netns/xfrm.h' line='23' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='lock' type-id='type-id-1241' visibility='default' filepath='include/net/netns/xfrm.h' line='24' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='lbits4' type-id='type-id-53' visibility='default' filepath='include/net/netns/xfrm.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='328'>
+          <var-decl name='rbits4' type-id='type-id-53' visibility='default' filepath='include/net/netns/xfrm.h' line='26' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='336'>
+          <var-decl name='lbits6' type-id='type-id-53' visibility='default' filepath='include/net/netns/xfrm.h' line='27' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='344'>
+          <var-decl name='rbits6' type-id='type-id-53' visibility='default' filepath='include/net/netns/xfrm.h' line='28' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-7263' size-in-bits='64' id='type-id-7268'/>
+      <qualified-type-def type-id='type-id-7421' const='yes' id='type-id-7589'/>
+      <pointer-type-def type-id='type-id-7589' size-in-bits='64' id='type-id-7590'/>
+      <qualified-type-def type-id='type-id-7437' const='yes' id='type-id-7591'/>
+      <pointer-type-def type-id='type-id-7591' size-in-bits='64' id='type-id-7448'/>
+      <qualified-type-def type-id='type-id-7438' const='yes' id='type-id-7592'/>
+      <pointer-type-def type-id='type-id-7592' size-in-bits='64' id='type-id-7570'/>
+      <qualified-type-def type-id='type-id-7444' const='yes' id='type-id-7593'/>
+      <pointer-type-def type-id='type-id-7593' size-in-bits='64' id='type-id-7511'/>
+      <pointer-type-def type-id='type-id-7576' size-in-bits='64' id='type-id-7571'/>
+      <pointer-type-def type-id='type-id-7421' size-in-bits='64' id='type-id-7594'/>
+      <pointer-type-def type-id='type-id-7595' size-in-bits='64' id='type-id-7565'/>
+      <pointer-type-def type-id='type-id-7596' size-in-bits='64' id='type-id-7560'/>
+      <pointer-type-def type-id='type-id-7556' size-in-bits='64' id='type-id-6893'/>
+      <pointer-type-def type-id='type-id-7422' size-in-bits='64' id='type-id-3037'/>
+      <pointer-type-def type-id='type-id-7423' size-in-bits='64' id='type-id-7555'/>
+      <pointer-type-def type-id='type-id-7424' size-in-bits='64' id='type-id-7514'/>
+      <pointer-type-def type-id='type-id-7425' size-in-bits='64' id='type-id-7504'/>
+      <pointer-type-def type-id='type-id-7426' size-in-bits='64' id='type-id-7505'/>
+      <pointer-type-def type-id='type-id-6464' size-in-bits='64' id='type-id-7578'/>
+      <pointer-type-def type-id='type-id-7578' size-in-bits='64' id='type-id-7579'/>
+      <pointer-type-def type-id='type-id-7497' size-in-bits='64' id='type-id-7488'/>
+      <pointer-type-def type-id='type-id-7498' size-in-bits='64' id='type-id-7489'/>
+      <pointer-type-def type-id='type-id-7499' size-in-bits='64' id='type-id-7490'/>
+      <pointer-type-def type-id='type-id-7500' size-in-bits='64' id='type-id-7491'/>
+      <pointer-type-def type-id='type-id-7522' size-in-bits='64' id='type-id-7597'/>
+      <pointer-type-def type-id='type-id-7518' size-in-bits='64' id='type-id-7516'/>
+      <pointer-type-def type-id='type-id-7427' size-in-bits='64' id='type-id-7247'/>
+      <pointer-type-def type-id='type-id-7428' size-in-bits='64' id='type-id-7507'/>
+      <pointer-type-def type-id='type-id-7598' size-in-bits='64' id='type-id-7559'/>
+      <pointer-type-def type-id='type-id-7599' size-in-bits='64' id='type-id-6896'/>
+      <pointer-type-def type-id='type-id-7600' size-in-bits='64' id='type-id-7548'/>
+      <pointer-type-def type-id='type-id-7580' size-in-bits='64' id='type-id-7572'/>
+      <pointer-type-def type-id='type-id-7429' size-in-bits='64' id='type-id-7503'/>
+      <pointer-type-def type-id='type-id-7494' size-in-bits='64' id='type-id-3038'/>
+      <pointer-type-def type-id='type-id-7430' size-in-bits='64' id='type-id-7502'/>
+      <pointer-type-def type-id='type-id-3030' size-in-bits='64' id='type-id-7552'/>
+      <pointer-type-def type-id='type-id-7495' size-in-bits='64' id='type-id-7486'/>
+      <pointer-type-def type-id='type-id-7501' size-in-bits='64' id='type-id-7492'/>
+      <pointer-type-def type-id='type-id-7431' size-in-bits='64' id='type-id-7601'/>
+      <pointer-type-def type-id='type-id-7602' size-in-bits='64' id='type-id-7568'/>
+      <pointer-type-def type-id='type-id-7469' size-in-bits='64' id='type-id-2984'/>
+      <pointer-type-def type-id='type-id-7432' size-in-bits='64' id='type-id-7471'/>
+      <pointer-type-def type-id='type-id-7433' size-in-bits='64' id='type-id-7482'/>
+      <pointer-type-def type-id='type-id-7508' size-in-bits='64' id='type-id-7525'/>
+      <pointer-type-def type-id='type-id-7434' size-in-bits='64' id='type-id-7573'/>
+      <pointer-type-def type-id='type-id-7435' size-in-bits='64' id='type-id-7574'/>
+      <pointer-type-def type-id='type-id-7436' size-in-bits='64' id='type-id-6520'/>
+      <pointer-type-def type-id='type-id-7439' size-in-bits='64' id='type-id-7484'/>
+      <pointer-type-def type-id='type-id-7523' size-in-bits='64' id='type-id-7261'/>
+      <pointer-type-def type-id='type-id-7517' size-in-bits='64' id='type-id-7267'/>
+      <pointer-type-def type-id='type-id-7549' size-in-bits='64' id='type-id-7603'/>
+      <pointer-type-def type-id='type-id-7440' size-in-bits='64' id='type-id-7553'/>
+      <pointer-type-def type-id='type-id-7441' size-in-bits='64' id='type-id-7554'/>
+      <pointer-type-def type-id='type-id-7442' size-in-bits='64' id='type-id-7540'/>
+      <pointer-type-def type-id='type-id-7443' size-in-bits='64' id='type-id-7557'/>
+      <pointer-type-def type-id='type-id-6982' size-in-bits='64' id='type-id-513'/>
+      <pointer-type-def type-id='type-id-6241' size-in-bits='64' id='type-id-7506'/>
+      <pointer-type-def type-id='type-id-7445' size-in-bits='64' id='type-id-7512'/>
+      <pointer-type-def type-id='type-id-7493' size-in-bits='64' id='type-id-7485'/>
+      <pointer-type-def type-id='type-id-7604' size-in-bits='64' id='type-id-7547'/>
+      <pointer-type-def type-id='type-id-7605' size-in-bits='64' id='type-id-7562'/>
+      <pointer-type-def type-id='type-id-7496' size-in-bits='64' id='type-id-7487'/>
+      <pointer-type-def type-id='type-id-7446' size-in-bits='64' id='type-id-7470'/>
+      <pointer-type-def type-id='type-id-7606' size-in-bits='64' id='type-id-7561'/>
+      <pointer-type-def type-id='type-id-7607' size-in-bits='64' id='type-id-7569'/>
+      <pointer-type-def type-id='type-id-7608' size-in-bits='64' id='type-id-7563'/>
+      <pointer-type-def type-id='type-id-7609' size-in-bits='64' id='type-id-7564'/>
+      <pointer-type-def type-id='type-id-7610' size-in-bits='64' id='type-id-7567'/>
+      <pointer-type-def type-id='type-id-7611' size-in-bits='64' id='type-id-7566'/>
+      <pointer-type-def type-id='type-id-7612' size-in-bits='64' id='type-id-7520'/>
+      <pointer-type-def type-id='type-id-7613' size-in-bits='64' id='type-id-7519'/>
+      <pointer-type-def type-id='type-id-7614' size-in-bits='64' id='type-id-6665'/>
+      <pointer-type-def type-id='type-id-7447' size-in-bits='64' id='type-id-7509'/>
+      <function-decl name='idr_preload' mangled-name='idr_preload' filepath='include/linux/idr.h' line='112' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='idr_preload'>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='idr_alloc_cyclic' mangled-name='idr_alloc_cyclic' filepath='include/linux/idr.h' line='117' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='idr_alloc_cyclic'>
+        <parameter type-id='type-id-7269'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='idr_replace' mangled-name='idr_replace' filepath='include/linux/idr.h' line='124' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='idr_replace'>
+        <parameter type-id='type-id-7269'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='get_pid_task' mangled-name='get_pid_task' filepath='kernel/pid.c' line='382' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_pid_task'>
+        <parameter type-id='type-id-1213' name='pid' filepath='kernel/pid.c' line='382' column='1'/>
+        <parameter type-id='type-id-5892' name='type' filepath='kernel/pid.c' line='382' column='1'/>
+        <return type-id='type-id-118'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-7595'>
+        <parameter type-id='type-id-7594'/>
+        <return type-id='type-id-7594'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7596'>
+        <parameter type-id='type-id-7594'/>
+        <parameter type-id='type-id-266'/>
+        <return type-id='type-id-7594'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7598'>
+        <parameter type-id='type-id-6893'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7599'>
+        <parameter type-id='type-id-2984'/>
+        <parameter type-id='type-id-6241'/>
+        <parameter type-id='type-id-513'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7600'>
+        <parameter type-id='type-id-7603'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7602'>
+        <parameter type-id='type-id-7590'/>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-7601'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7604'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-9'/>
+        <parameter type-id='type-id-9'/>
+        <return type-id='type-id-9'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7605'>
+        <parameter type-id='type-id-7594'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-347'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7606'>
+        <parameter type-id='type-id-7590'/>
+        <return type-id='type-id-10'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7607'>
+        <parameter type-id='type-id-7590'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7608'>
+        <parameter type-id='type-id-7594'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7609'>
+        <parameter type-id='type-id-7594'/>
+        <parameter type-id='type-id-7471'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7610'>
+        <parameter type-id='type-id-7594'/>
+        <parameter type-id='type-id-6241'/>
+        <parameter type-id='type-id-513'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7611'>
+        <parameter type-id='type-id-7594'/>
+        <parameter type-id='type-id-6241'/>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-9'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7612'>
+        <parameter type-id='type-id-7597'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7613'>
+        <parameter type-id='type-id-7597'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7614'>
+        <parameter type-id='type-id-513'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/power/energy_model.c' language='LANG_C89'>
+      <class-decl name='em_data_callback' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/energy_model.h' line='45' column='1' id='type-id-7615'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='active_power' type-id='type-id-7616' visibility='default' filepath='include/linux/energy_model.h' line='62' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-5127' size-in-bits='64' id='type-id-7617'/>
+      <pointer-type-def type-id='type-id-7615' size-in-bits='64' id='type-id-7618'/>
+      <pointer-type-def type-id='type-id-7619' size-in-bits='64' id='type-id-7616'/>
+      <function-decl name='em_register_perf_domain' mangled-name='em_register_perf_domain' filepath='kernel/power/energy_model.c' line='199' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='em_register_perf_domain'>
+        <parameter type-id='type-id-7617' name='span' filepath='kernel/power/energy_model.c' line='199' column='1'/>
+        <parameter type-id='type-id-10' name='nr_states' filepath='kernel/power/energy_model.c' line='199' column='1'/>
+        <parameter type-id='type-id-7618' name='cb' filepath='kernel/power/energy_model.c' line='200' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-7619'>
+        <parameter type-id='type-id-76'/>
+        <parameter type-id='type-id-76'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/power/main.c' language='LANG_C89'>
+      <function-decl name='sysfs_create_groups' mangled-name='sysfs_create_groups' filepath='include/linux/sysfs.h' line='269' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sysfs_create_groups'>
+        <parameter type-id='type-id-87'/>
+        <parameter type-id='type-id-298'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='unregister_pm_notifier' mangled-name='unregister_pm_notifier' filepath='kernel/power/main.c' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unregister_pm_notifier'>
+        <parameter type-id='type-id-103' name='nb' filepath='kernel/power/main.c' line='64' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/power/qos.c' language='LANG_C89'>
+      <class-decl name='miscdevice' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/miscdevice.h' line='66' column='1' id='type-id-7620'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='minor' type-id='type-id-11' visibility='default' filepath='include/linux/miscdevice.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/miscdevice.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='fops' type-id='type-id-1209' visibility='default' filepath='include/linux/miscdevice.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/miscdevice.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='parent' type-id='type-id-86' visibility='default' filepath='include/linux/miscdevice.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='this_device' type-id='type-id-86' visibility='default' filepath='include/linux/miscdevice.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='groups' type-id='type-id-298' visibility='default' filepath='include/linux/miscdevice.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='nodename' type-id='type-id-24' visibility='default' filepath='include/linux/miscdevice.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='mode' type-id='type-id-4427' visibility='default' filepath='include/linux/miscdevice.h' line='75' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='pm_qos_constraints' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/pm_qos.h' line='85' column='1' id='type-id-7621'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-7622' visibility='default' filepath='include/linux/pm_qos.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='target_value' type-id='type-id-939' visibility='default' filepath='include/linux/pm_qos.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='default_value' type-id='type-id-939' visibility='default' filepath='include/linux/pm_qos.h' line='88' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='no_constraint_value' type-id='type-id-939' visibility='default' filepath='include/linux/pm_qos.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='type' type-id='type-id-7623' visibility='default' filepath='include/linux/pm_qos.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='notifiers' type-id='type-id-7271' visibility='default' filepath='include/linux/pm_qos.h' line='91' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='pm_qos_type' filepath='include/linux/pm_qos.h' line='73' column='1' id='type-id-7623'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='PM_QOS_UNITIALIZED' value='0'/>
+        <enumerator name='PM_QOS_MAX' value='1'/>
+        <enumerator name='PM_QOS_MIN' value='2'/>
+        <enumerator name='PM_QOS_SUM' value='3'/>
+      </enum-decl>
+      <class-decl name='pm_qos_flags' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/pm_qos.h' line='94' column='1' id='type-id-7624'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/pm_qos.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='effective_flags' type-id='type-id-939' visibility='default' filepath='include/linux/pm_qos.h' line='96' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='dev_pm_qos_request' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/pm_qos.h' line='64' column='1' id='type-id-7625'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-7626' visibility='default' filepath='include/linux/pm_qos.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='data' type-id='type-id-7627' visibility='default' filepath='include/linux/pm_qos.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/linux/pm_qos.h' line='70' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='dev_pm_qos_req_type' filepath='include/linux/pm_qos.h' line='58' column='1' id='type-id-7626'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='DEV_PM_QOS_RESUME_LATENCY' value='1'/>
+        <enumerator name='DEV_PM_QOS_LATENCY_TOLERANCE' value='2'/>
+        <enumerator name='DEV_PM_QOS_FLAGS' value='3'/>
+      </enum-decl>
+      <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='include/linux/pm_qos.h' line='66' column='1' id='type-id-7627'>
+        <data-member access='private'>
+          <var-decl name='pnode' type-id='type-id-4802' visibility='default' filepath='include/linux/pm_qos.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='flr' type-id='type-id-7628' visibility='default' filepath='include/linux/pm_qos.h' line='68' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='pm_qos_flags_request' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/pm_qos.h' line='53' column='1' id='type-id-7628'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='node' type-id='type-id-8' visibility='default' filepath='include/linux/pm_qos.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='flags' type-id='type-id-939' visibility='default' filepath='include/linux/pm_qos.h' line='55' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='pm_qos_request' size-in-bits='1088' is-struct='yes' visibility='default' filepath='include/linux/pm_qos.h' line='47' column='1' id='type-id-4253'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='node' type-id='type-id-4802' visibility='default' filepath='include/linux/pm_qos.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='pm_qos_class' type-id='type-id-11' visibility='default' filepath='include/linux/pm_qos.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='work' type-id='type-id-370' visibility='default' filepath='include/linux/pm_qos.h' line='50' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-7625' size-in-bits='64' id='type-id-7629'/>
+      <pointer-type-def type-id='type-id-7620' size-in-bits='64' id='type-id-4475'/>
+      <pointer-type-def type-id='type-id-4253' size-in-bits='64' id='type-id-7630'/>
+      <function-decl name='misc_register' mangled-name='misc_register' filepath='include/linux/miscdevice.h' line='78' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='misc_register'>
+        <parameter type-id='type-id-4475'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='simple_read_from_buffer' mangled-name='simple_read_from_buffer' filepath='include/linux/fs.h' line='3264' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='simple_read_from_buffer'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-77'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-187'/>
+      </function-decl>
+      <function-decl name='kstrtoint_from_user' mangled-name='kstrtoint_from_user' filepath='include/linux/kernel.h' line='443' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kstrtoint_from_user'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-82'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='pm_qos_request_active' mangled-name='pm_qos_request_active' filepath='kernel/power/qos.c' line='402' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pm_qos_request_active'>
+        <parameter type-id='type-id-7630' name='req' filepath='kernel/power/qos.c' line='402' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='pm_qos_add_request' mangled-name='pm_qos_add_request' filepath='kernel/power/qos.c' line='447' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pm_qos_add_request'>
+        <parameter type-id='type-id-7630' name='req' filepath='kernel/power/qos.c' line='447' column='1'/>
+        <parameter type-id='type-id-11' name='pm_qos_class' filepath='kernel/power/qos.c' line='448' column='1'/>
+        <parameter type-id='type-id-939' name='value' filepath='kernel/power/qos.c' line='448' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='pm_qos_update_request' mangled-name='pm_qos_update_request' filepath='kernel/power/qos.c' line='475' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pm_qos_update_request'>
+        <parameter type-id='type-id-7630' name='req' filepath='kernel/power/qos.c' line='475' column='1'/>
+        <parameter type-id='type-id-939' name='new_value' filepath='kernel/power/qos.c' line='476' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='pm_qos_update_request_timeout' mangled-name='pm_qos_update_request_timeout' filepath='kernel/power/qos.c' line='499' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pm_qos_update_request_timeout'>
+        <parameter type-id='type-id-7630' name='req' filepath='kernel/power/qos.c' line='499' column='1'/>
+        <parameter type-id='type-id-939' name='new_value' filepath='kernel/power/qos.c' line='499' column='1'/>
+        <parameter type-id='type-id-100' name='timeout_us' filepath='kernel/power/qos.c' line='500' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='pm_qos_remove_request' mangled-name='pm_qos_remove_request' filepath='kernel/power/qos.c' line='528' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pm_qos_remove_request'>
+        <parameter type-id='type-id-7630' name='req' filepath='kernel/power/qos.c' line='528' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/power/suspend.c' language='LANG_C89'>
+      <class-decl name='platform_s2idle_ops' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/suspend.h' line='190' column='1' id='type-id-7631'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='begin' type-id='type-id-4871' visibility='default' filepath='include/linux/suspend.h' line='191' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='prepare' type-id='type-id-4871' visibility='default' filepath='include/linux/suspend.h' line='192' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='wake' type-id='type-id-3769' visibility='default' filepath='include/linux/suspend.h' line='193' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='sync' type-id='type-id-3769' visibility='default' filepath='include/linux/suspend.h' line='194' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='restore' type-id='type-id-3769' visibility='default' filepath='include/linux/suspend.h' line='195' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='end' type-id='type-id-3769' visibility='default' filepath='include/linux/suspend.h' line='196' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='platform_suspend_ops' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/suspend.h' line='177' column='1' id='type-id-7632'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='valid' type-id='type-id-7633' visibility='default' filepath='include/linux/suspend.h' line='178' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='begin' type-id='type-id-7633' visibility='default' filepath='include/linux/suspend.h' line='179' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='prepare' type-id='type-id-4871' visibility='default' filepath='include/linux/suspend.h' line='180' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='prepare_late' type-id='type-id-4871' visibility='default' filepath='include/linux/suspend.h' line='181' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='enter' type-id='type-id-7633' visibility='default' filepath='include/linux/suspend.h' line='182' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='wake' type-id='type-id-3769' visibility='default' filepath='include/linux/suspend.h' line='183' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='finish' type-id='type-id-3769' visibility='default' filepath='include/linux/suspend.h' line='184' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='suspend_again' type-id='type-id-4966' visibility='default' filepath='include/linux/suspend.h' line='185' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='end' type-id='type-id-3769' visibility='default' filepath='include/linux/suspend.h' line='186' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='recover' type-id='type-id-3769' visibility='default' filepath='include/linux/suspend.h' line='187' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='suspend_state_t' type-id='type-id-11' filepath='include/linux/suspend.h' line='34' column='1' id='type-id-3394'/>
+      <qualified-type-def type-id='type-id-7631' const='yes' id='type-id-7634'/>
+      <pointer-type-def type-id='type-id-7634' size-in-bits='64' id='type-id-7635'/>
+      <qualified-type-def type-id='type-id-7632' const='yes' id='type-id-7636'/>
+      <pointer-type-def type-id='type-id-7636' size-in-bits='64' id='type-id-7637'/>
+      <pointer-type-def type-id='type-id-7638' size-in-bits='64' id='type-id-7633'/>
+      <function-decl name='s2idle_set_ops' mangled-name='s2idle_set_ops' filepath='kernel/power/suspend.c' line='73' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='s2idle_set_ops'>
+        <parameter type-id='type-id-7635' name='ops' filepath='kernel/power/suspend.c' line='73' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='suspend_set_ops' mangled-name='suspend_set_ops' filepath='kernel/power/suspend.c' line='217' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='suspend_set_ops'>
+        <parameter type-id='type-id-7637' name='ops' filepath='kernel/power/suspend.c' line='217' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='suspend_valid_only_mem' mangled-name='suspend_valid_only_mem' filepath='kernel/power/suspend.c' line='246' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='suspend_valid_only_mem'>
+        <parameter type-id='type-id-3394' name='state' filepath='kernel/power/suspend.c' line='246' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-7638'>
+        <parameter type-id='type-id-3394'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/power/wakelock.c' language='LANG_C89'>
+      <pointer-type-def type-id='type-id-133' size-in-bits='64' id='type-id-7392'/>
+      <function-decl name='rb_first' mangled-name='rb_first' filepath='include/linux/rbtree.h' line='84' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rb_first'>
+        <parameter type-id='type-id-7639'/>
+        <return type-id='type-id-4914'/>
+      </function-decl>
+      <function-decl name='kstrndup' mangled-name='kstrndup' filepath='include/linux/string.h' line='173' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kstrndup'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-300'/>
+      </function-decl>
+      <function-decl name='wakeup_source_register' mangled-name='wakeup_source_register' filepath='include/linux/pm_wakeup.h' line='105' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wakeup_source_register'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-623'/>
+      </function-decl>
+      <function-decl name='rb_insert_color' mangled-name='rb_insert_color' filepath='include/linux/rbtree.h' line='77' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rb_insert_color'>
+        <parameter type-id='type-id-4914'/>
+        <parameter type-id='type-id-7392'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='pm_wakeup_ws_event' mangled-name='pm_wakeup_ws_event' filepath='include/linux/pm_wakeup.h' line='117' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pm_wakeup_ws_event'>
+        <parameter type-id='type-id-623'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-264'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/power/wakeup_reason.c' language='LANG_C89'>
+      <class-decl name='msi_desc' size-in-bits='640' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7640'/>
+      <class-decl name='msi_msg' size-in-bits='96' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7641'/>
+      <class-decl name='irq_desc' size-in-bits='3584' is-struct='yes' visibility='default' filepath='include/linux/irqdesc.h' line='55' column='1' id='type-id-7642'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='irq_common_data' type-id='type-id-7643' visibility='default' filepath='include/linux/irqdesc.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='irq_data' type-id='type-id-7644' visibility='default' filepath='include/linux/irqdesc.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='kstat_irqs' type-id='type-id-72' visibility='default' filepath='include/linux/irqdesc.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='handle_irq' type-id='type-id-1072' visibility='default' filepath='include/linux/irqdesc.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='action' type-id='type-id-7645' visibility='default' filepath='include/linux/irqdesc.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='status_use_accessors' type-id='type-id-10' visibility='default' filepath='include/linux/irqdesc.h' line='64' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='992'>
+          <var-decl name='core_internal_state__do_not_mess_with_it' type-id='type-id-10' visibility='default' filepath='include/linux/irqdesc.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='depth' type-id='type-id-10' visibility='default' filepath='include/linux/irqdesc.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1056'>
+          <var-decl name='wake_depth' type-id='type-id-10' visibility='default' filepath='include/linux/irqdesc.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='tot_count' type-id='type-id-10' visibility='default' filepath='include/linux/irqdesc.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1120'>
+          <var-decl name='irq_count' type-id='type-id-10' visibility='default' filepath='include/linux/irqdesc.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='last_unhandled' type-id='type-id-100' visibility='default' filepath='include/linux/irqdesc.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='irqs_unhandled' type-id='type-id-10' visibility='default' filepath='include/linux/irqdesc.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1248'>
+          <var-decl name='threads_handled' type-id='type-id-137' visibility='default' filepath='include/linux/irqdesc.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='threads_handled_last' type-id='type-id-11' visibility='default' filepath='include/linux/irqdesc.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1312'>
+          <var-decl name='lock' type-id='type-id-5119' visibility='default' filepath='include/linux/irqdesc.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='percpu_enabled' type-id='type-id-530' visibility='default' filepath='include/linux/irqdesc.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='percpu_affinity' type-id='type-id-162' visibility='default' filepath='include/linux/irqdesc.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='affinity_hint' type-id='type-id-162' visibility='default' filepath='include/linux/irqdesc.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='affinity_notify' type-id='type-id-7359' visibility='default' filepath='include/linux/irqdesc.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='threads_oneshot' type-id='type-id-100' visibility='default' filepath='include/linux/irqdesc.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='threads_active' type-id='type-id-137' visibility='default' filepath='include/linux/irqdesc.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='wait_for_threads' type-id='type-id-388' visibility='default' filepath='include/linux/irqdesc.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='nr_actions' type-id='type-id-10' visibility='default' filepath='include/linux/irqdesc.h' line='88' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1952'>
+          <var-decl name='no_suspend_depth' type-id='type-id-10' visibility='default' filepath='include/linux/irqdesc.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='cond_suspend_depth' type-id='type-id-10' visibility='default' filepath='include/linux/irqdesc.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2016'>
+          <var-decl name='force_resume_depth' type-id='type-id-10' visibility='default' filepath='include/linux/irqdesc.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='dir' type-id='type-id-286' visibility='default' filepath='include/linux/irqdesc.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/linux/irqdesc.h' line='101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='kobj' type-id='type-id-315' visibility='default' filepath='include/linux/irqdesc.h' line='102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2752'>
+          <var-decl name='request_mutex' type-id='type-id-407' visibility='default' filepath='include/linux/irqdesc.h' line='104' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3008'>
+          <var-decl name='parent_irq' type-id='type-id-11' visibility='default' filepath='include/linux/irqdesc.h' line='105' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3072'>
+          <var-decl name='owner' type-id='type-id-161' visibility='default' filepath='include/linux/irqdesc.h' line='106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3136'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/irqdesc.h' line='107' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='irq_common_data' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/irq.h' line='142' column='1' id='type-id-7643'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='state_use_accessors' type-id='type-id-10' visibility='default' filepath='include/linux/irq.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='handler_data' type-id='type-id-3' visibility='default' filepath='include/linux/irq.h' line='147' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='msi_desc' type-id='type-id-7646' visibility='default' filepath='include/linux/irq.h' line='148' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='affinity' type-id='type-id-371' visibility='default' filepath='include/linux/irq.h' line='149' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='effective_affinity' type-id='type-id-371' visibility='default' filepath='include/linux/irq.h' line='151' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='irq_data' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/irq.h' line='172' column='1' id='type-id-7644'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mask' type-id='type-id-9' visibility='default' filepath='include/linux/irq.h' line='173' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='irq' type-id='type-id-10' visibility='default' filepath='include/linux/irq.h' line='174' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='hwirq' type-id='type-id-100' visibility='default' filepath='include/linux/irq.h' line='175' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='common' type-id='type-id-7647' visibility='default' filepath='include/linux/irq.h' line='176' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='chip' type-id='type-id-1071' visibility='default' filepath='include/linux/irq.h' line='177' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='domain' type-id='type-id-5267' visibility='default' filepath='include/linux/irq.h' line='178' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='parent_data' type-id='type-id-7314' visibility='default' filepath='include/linux/irq.h' line='180' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='chip_data' type-id='type-id-3' visibility='default' filepath='include/linux/irq.h' line='182' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='irq_chip' size-in-bits='2176' is-struct='yes' visibility='default' filepath='include/linux/irq.h' line='464' column='1' id='type-id-637'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='parent_device' type-id='type-id-86' visibility='default' filepath='include/linux/irq.h' line='465' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/irq.h' line='466' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='irq_startup' type-id='type-id-7648' visibility='default' filepath='include/linux/irq.h' line='467' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='irq_shutdown' type-id='type-id-7649' visibility='default' filepath='include/linux/irq.h' line='468' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='irq_enable' type-id='type-id-7649' visibility='default' filepath='include/linux/irq.h' line='469' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='irq_disable' type-id='type-id-7649' visibility='default' filepath='include/linux/irq.h' line='470' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='irq_ack' type-id='type-id-7649' visibility='default' filepath='include/linux/irq.h' line='472' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='irq_mask' type-id='type-id-7649' visibility='default' filepath='include/linux/irq.h' line='473' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='irq_mask_ack' type-id='type-id-7649' visibility='default' filepath='include/linux/irq.h' line='474' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='irq_unmask' type-id='type-id-7649' visibility='default' filepath='include/linux/irq.h' line='475' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='irq_eoi' type-id='type-id-7649' visibility='default' filepath='include/linux/irq.h' line='476' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='irq_set_affinity' type-id='type-id-7650' visibility='default' filepath='include/linux/irq.h' line='478' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='irq_retrigger' type-id='type-id-7651' visibility='default' filepath='include/linux/irq.h' line='479' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='irq_set_type' type-id='type-id-7652' visibility='default' filepath='include/linux/irq.h' line='480' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='irq_set_wake' type-id='type-id-7652' visibility='default' filepath='include/linux/irq.h' line='481' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='irq_bus_lock' type-id='type-id-7649' visibility='default' filepath='include/linux/irq.h' line='483' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='irq_bus_sync_unlock' type-id='type-id-7649' visibility='default' filepath='include/linux/irq.h' line='484' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='irq_cpu_online' type-id='type-id-7649' visibility='default' filepath='include/linux/irq.h' line='486' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='irq_cpu_offline' type-id='type-id-7649' visibility='default' filepath='include/linux/irq.h' line='487' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='irq_suspend' type-id='type-id-7649' visibility='default' filepath='include/linux/irq.h' line='489' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='irq_resume' type-id='type-id-7649' visibility='default' filepath='include/linux/irq.h' line='490' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='irq_pm_shutdown' type-id='type-id-7649' visibility='default' filepath='include/linux/irq.h' line='491' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='irq_calc_mask' type-id='type-id-7649' visibility='default' filepath='include/linux/irq.h' line='493' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='irq_print_chip' type-id='type-id-7653' visibility='default' filepath='include/linux/irq.h' line='495' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='irq_request_resources' type-id='type-id-7651' visibility='default' filepath='include/linux/irq.h' line='496' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='irq_release_resources' type-id='type-id-7649' visibility='default' filepath='include/linux/irq.h' line='497' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='irq_compose_msi_msg' type-id='type-id-7654' visibility='default' filepath='include/linux/irq.h' line='499' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='irq_write_msi_msg' type-id='type-id-7654' visibility='default' filepath='include/linux/irq.h' line='500' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='irq_get_irqchip_state' type-id='type-id-7655' visibility='default' filepath='include/linux/irq.h' line='502' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='irq_set_irqchip_state' type-id='type-id-7656' visibility='default' filepath='include/linux/irq.h' line='503' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='irq_set_vcpu_affinity' type-id='type-id-7657' visibility='default' filepath='include/linux/irq.h' line='505' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='ipi_send_single' type-id='type-id-7658' visibility='default' filepath='include/linux/irq.h' line='507' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='ipi_send_mask' type-id='type-id-7659' visibility='default' filepath='include/linux/irq.h' line='508' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/irq.h' line='510' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='irqchip_irq_state' filepath='include/linux/interrupt.h' line='417' column='1' id='type-id-7316'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='IRQCHIP_STATE_PENDING' value='0'/>
+        <enumerator name='IRQCHIP_STATE_ACTIVE' value='1'/>
+        <enumerator name='IRQCHIP_STATE_MASKED' value='2'/>
+        <enumerator name='IRQCHIP_STATE_LINE_LEVEL' value='3'/>
+      </enum-decl>
+      <typedef-decl name='irq_flow_handler_t' type-id='type-id-7660' filepath='include/linux/irqhandler.h' line='12' column='1' id='type-id-1072'/>
+      <class-decl name='irqaction' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/linux/interrupt.h' line='110' column='1' id='type-id-7661'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='handler' type-id='type-id-7317' visibility='default' filepath='include/linux/interrupt.h' line='111' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dev_id' type-id='type-id-3' visibility='default' filepath='include/linux/interrupt.h' line='112' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='percpu_dev_id' type-id='type-id-3' visibility='default' filepath='include/linux/interrupt.h' line='113' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='next' type-id='type-id-7645' visibility='default' filepath='include/linux/interrupt.h' line='114' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='thread_fn' type-id='type-id-7317' visibility='default' filepath='include/linux/interrupt.h' line='115' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='thread' type-id='type-id-118' visibility='default' filepath='include/linux/interrupt.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='secondary' type-id='type-id-7645' visibility='default' filepath='include/linux/interrupt.h' line='117' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='irq' type-id='type-id-10' visibility='default' filepath='include/linux/interrupt.h' line='118' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='include/linux/interrupt.h' line='119' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='thread_flags' type-id='type-id-100' visibility='default' filepath='include/linux/interrupt.h' line='120' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='thread_mask' type-id='type-id-100' visibility='default' filepath='include/linux/interrupt.h' line='121' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/interrupt.h' line='122' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='dir' type-id='type-id-286' visibility='default' filepath='include/linux/interrupt.h' line='123' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='irq_handler_t' type-id='type-id-1182' filepath='include/linux/interrupt.h' line='92' column='1' id='type-id-7317'/>
+      <typedef-decl name='irqreturn_t' type-id='type-id-7662' filepath='include/linux/irqreturn.h' line='17' column='1' id='type-id-3932'/>
+      <enum-decl name='irqreturn' filepath='include/linux/irqreturn.h' line='11' column='1' id='type-id-7662'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='IRQ_NONE' value='0'/>
+        <enumerator name='IRQ_HANDLED' value='1'/>
+        <enumerator name='IRQ_WAKE_THREAD' value='2'/>
+      </enum-decl>
+      <class-decl name='irq_affinity_notify' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/interrupt.h' line='236' column='1' id='type-id-7663'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='irq' type-id='type-id-10' visibility='default' filepath='include/linux/interrupt.h' line='237' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='kref' type-id='type-id-771' visibility='default' filepath='include/linux/interrupt.h' line='238' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='work' type-id='type-id-149' visibility='default' filepath='include/linux/interrupt.h' line='239' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='notify' type-id='type-id-7664' visibility='default' filepath='include/linux/interrupt.h' line='240' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='release' type-id='type-id-1222' visibility='default' filepath='include/linux/interrupt.h' line='241' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-5127' const='yes' id='type-id-7665'/>
+      <pointer-type-def type-id='type-id-7665' size-in-bits='64' id='type-id-7666'/>
+      <pointer-type-def type-id='type-id-7667' size-in-bits='64' id='type-id-7651'/>
+      <pointer-type-def type-id='type-id-7668' size-in-bits='64' id='type-id-7650'/>
+      <pointer-type-def type-id='type-id-7669' size-in-bits='64' id='type-id-7655'/>
+      <pointer-type-def type-id='type-id-7670' size-in-bits='64' id='type-id-7656'/>
+      <pointer-type-def type-id='type-id-7671' size-in-bits='64' id='type-id-7652'/>
+      <pointer-type-def type-id='type-id-7672' size-in-bits='64' id='type-id-7657'/>
+      <pointer-type-def type-id='type-id-7663' size-in-bits='64' id='type-id-7359'/>
+      <pointer-type-def type-id='type-id-637' size-in-bits='64' id='type-id-1071'/>
+      <pointer-type-def type-id='type-id-7643' size-in-bits='64' id='type-id-7647'/>
+      <pointer-type-def type-id='type-id-7644' size-in-bits='64' id='type-id-7314'/>
+      <pointer-type-def type-id='type-id-7642' size-in-bits='64' id='type-id-7315'/>
+      <pointer-type-def type-id='type-id-7661' size-in-bits='64' id='type-id-7645'/>
+      <pointer-type-def type-id='type-id-771' size-in-bits='64' id='type-id-894'/>
+      <pointer-type-def type-id='type-id-7640' size-in-bits='64' id='type-id-7646'/>
+      <pointer-type-def type-id='type-id-7641' size-in-bits='64' id='type-id-7673'/>
+      <pointer-type-def type-id='type-id-7674' size-in-bits='64' id='type-id-1182'/>
+      <pointer-type-def type-id='type-id-7675' size-in-bits='64' id='type-id-7648'/>
+      <pointer-type-def type-id='type-id-7676' size-in-bits='64' id='type-id-7664'/>
+      <pointer-type-def type-id='type-id-7677' size-in-bits='64' id='type-id-7649'/>
+      <pointer-type-def type-id='type-id-7678' size-in-bits='64' id='type-id-7659'/>
+      <pointer-type-def type-id='type-id-7679' size-in-bits='64' id='type-id-7654'/>
+      <pointer-type-def type-id='type-id-7680' size-in-bits='64' id='type-id-7653'/>
+      <pointer-type-def type-id='type-id-7681' size-in-bits='64' id='type-id-7658'/>
+      <pointer-type-def type-id='type-id-7682' size-in-bits='64' id='type-id-7660'/>
+      <pointer-type-def type-id='type-id-7683' size-in-bits='64' id='type-id-1222'/>
+      <function-decl name='irq_to_desc' mangled-name='irq_to_desc' filepath='include/linux/irqnr.h' line='9' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_to_desc'>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-7315'/>
+      </function-decl>
+      <function-decl name='ns_to_timespec' mangled-name='ns_to_timespec' filepath='include/linux/time32.h' line='136' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ns_to_timespec'>
+        <parameter type-id='type-id-112'/>
+        <return type-id='type-id-2903'/>
+      </function-decl>
+      <function-decl name='set_normalized_timespec' mangled-name='set_normalized_timespec' filepath='include/linux/time32.h' line='69' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='set_normalized_timespec'>
+        <parameter type-id='type-id-4324'/>
+        <parameter type-id='type-id-187'/>
+        <parameter type-id='type-id-112'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-7667'>
+        <parameter type-id='type-id-7314'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7668'>
+        <parameter type-id='type-id-7314'/>
+        <parameter type-id='type-id-162'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7669'>
+        <parameter type-id='type-id-7314'/>
+        <parameter type-id='type-id-7316'/>
+        <parameter type-id='type-id-763'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7670'>
+        <parameter type-id='type-id-7314'/>
+        <parameter type-id='type-id-7316'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7671'>
+        <parameter type-id='type-id-7314'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7672'>
+        <parameter type-id='type-id-7314'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7674'>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-3932'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7675'>
+        <parameter type-id='type-id-7314'/>
+        <return type-id='type-id-10'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7676'>
+        <parameter type-id='type-id-7359'/>
+        <parameter type-id='type-id-7666'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7677'>
+        <parameter type-id='type-id-7314'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7678'>
+        <parameter type-id='type-id-7314'/>
+        <parameter type-id='type-id-162'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7679'>
+        <parameter type-id='type-id-7314'/>
+        <parameter type-id='type-id-7673'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7680'>
+        <parameter type-id='type-id-7314'/>
+        <parameter type-id='type-id-85'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7681'>
+        <parameter type-id='type-id-7314'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7682'>
+        <parameter type-id='type-id-7315'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7683'>
+        <parameter type-id='type-id-894'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/printk/printk.c' language='LANG_C89'>
+      <function-decl name='vscnprintf' mangled-name='vscnprintf' filepath='include/linux/kernel.h' line='491' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vscnprintf'>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-1144'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='_copy_from_iter_full' mangled-name='_copy_from_iter_full' filepath='include/linux/uio.h' line='96' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_copy_from_iter_full'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-2241'/>
+        <return type-id='type-id-264'/>
+      </function-decl>
+      <function-decl name='log_buf_addr_get' mangled-name='log_buf_addr_get' filepath='kernel/printk/printk.c' line='447' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='log_buf_addr_get'>
+        <return type-id='type-id-300'/>
+      </function-decl>
+      <function-decl name='log_buf_len_get' mangled-name='log_buf_len_get' filepath='kernel/printk/printk.c' line='453' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='log_buf_len_get'>
+        <return type-id='type-id-9'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/profile.c' language='LANG_C89'>
+      <function-decl name='alloc_pages_exact' mangled-name='alloc_pages_exact' filepath='include/linux/gfp.h' line='563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='alloc_pages_exact'>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='vzalloc' mangled-name='vzalloc' filepath='include/linux/vmalloc.h' line='75' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vzalloc'>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/ptrace.c' language='LANG_C89'>
+      <function-decl name='mutex_lock_interruptible' mangled-name='mutex_lock_interruptible' filepath='include/linux/mutex.h' line='179' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mutex_lock_interruptible'>
+        <parameter type-id='type-id-2357'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/rcu/srcutree.c' language='LANG_C89'>
+      <function-decl name='_cleanup_srcu_struct' mangled-name='_cleanup_srcu_struct' filepath='kernel/rcu/srcutree.c' line='372' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_cleanup_srcu_struct'>
+        <parameter type-id='type-id-7403' name='sp' filepath='kernel/rcu/srcutree.c' line='372' column='1'/>
+        <parameter type-id='type-id-211' name='quiesced' filepath='kernel/rcu/srcutree.c' line='372' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/rcu/tree.c' language='LANG_C89'>
+      <typedef-decl name='rcu_callback_t' type-id='type-id-4988' filepath='include/linux/types.h' line='230' column='1' id='type-id-7684'/>
+      <function-decl name='kfree_call_rcu' mangled-name='kfree_call_rcu' filepath='kernel/rcu/tree.c' line='3095' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kfree_call_rcu'>
+        <parameter type-id='type-id-4987' name='head' filepath='kernel/rcu/tree.c' line='3095' column='1'/>
+        <parameter type-id='type-id-7684' name='func' filepath='kernel/rcu/tree.c' line='3096' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__rcu_read_lock' mangled-name='__rcu_read_lock' filepath='kernel/rcu/tree_plugin.h' line='403' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__rcu_read_lock'>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__rcu_read_unlock' mangled-name='__rcu_read_unlock' filepath='kernel/rcu/tree_plugin.h' line='417' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__rcu_read_unlock'>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/reboot.c' language='LANG_C89'>
+      <function-decl name='argv_split' mangled-name='argv_split' filepath='include/linux/string.h' line='177' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='argv_split'>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-82'/>
+        <return type-id='type-id-257'/>
+      </function-decl>
+      <function-decl name='argv_free' mangled-name='argv_free' filepath='include/linux/string.h' line='178' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='argv_free'>
+        <parameter type-id='type-id-257'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='register_restart_handler' mangled-name='register_restart_handler' filepath='kernel/reboot.c' line='178' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='register_restart_handler'>
+        <parameter type-id='type-id-103' name='nb' filepath='kernel/reboot.c' line='178' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='unregister_restart_handler' mangled-name='unregister_restart_handler' filepath='kernel/reboot.c' line='193' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unregister_restart_handler'>
+        <parameter type-id='type-id-103' name='nb' filepath='kernel/reboot.c' line='193' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='kernel_restart' mangled-name='kernel_restart' filepath='kernel/reboot.c' line='241' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kernel_restart'>
+        <parameter type-id='type-id-300' name='cmd' filepath='kernel/reboot.c' line='241' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/resource.c' language='LANG_C89'>
+      <pointer-type-def type-id='type-id-7685' size-in-bits='64' id='type-id-7686'/>
+      <pointer-type-def type-id='type-id-7687' size-in-bits='64' id='type-id-954'/>
+      <function-decl name='_raw_write_lock' mangled-name='_raw_write_lock' filepath='include/linux/rwlock_api_smp.h' line='19' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_raw_write_lock'>
+        <parameter type-id='type-id-7305'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='_raw_write_unlock' mangled-name='_raw_write_unlock' filepath='include/linux/rwlock_api_smp.h' line='31' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_raw_write_unlock'>
+        <parameter type-id='type-id-7305'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='_dev_err' mangled-name='_dev_err' filepath='include/linux/device.h' line='1441' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_dev_err'>
+        <parameter type-id='type-id-512'/>
+        <parameter type-id='type-id-24'/>
+        <parameter is-variadic='yes'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='devres_free' mangled-name='devres_free' filepath='include/linux/device.h' line='665' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devres_free'>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='devres_add' mangled-name='devres_add' filepath='include/linux/device.h' line='666' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devres_add'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='devres_release' mangled-name='devres_release' filepath='include/linux/device.h' line='675' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devres_release'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-954'/>
+        <parameter type-id='type-id-7686'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='devres_destroy' mangled-name='devres_destroy' filepath='include/linux/device.h' line='673' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devres_destroy'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-954'/>
+        <parameter type-id='type-id-7686'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='PDE_DATA' mangled-name='PDE_DATA' filepath='include/linux/proc_fs.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PDE_DATA'>
+        <parameter type-id='type-id-6008'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='devres_alloc_node' mangled-name='devres_alloc_node' filepath='include/linux/device.h' line='653' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devres_alloc_node'>
+        <parameter type-id='type-id-954'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='__request_region' mangled-name='__request_region' filepath='kernel/resource.c' line='1103' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__request_region'>
+        <parameter type-id='type-id-279' name='parent' filepath='kernel/resource.c' line='1103' column='1'/>
+        <parameter type-id='type-id-1254' name='start' filepath='kernel/resource.c' line='1104' column='1'/>
+        <parameter type-id='type-id-1254' name='n' filepath='kernel/resource.c' line='1104' column='1'/>
+        <parameter type-id='type-id-24' name='name' filepath='kernel/resource.c' line='1105' column='1'/>
+        <parameter type-id='type-id-11' name='flags' filepath='kernel/resource.c' line='1105' column='1'/>
+        <return type-id='type-id-279'/>
+      </function-decl>
+      <function-decl name='__release_region' mangled-name='__release_region' filepath='kernel/resource.c' line='1162' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__release_region'>
+        <parameter type-id='type-id-279' name='parent' filepath='kernel/resource.c' line='1162' column='1'/>
+        <parameter type-id='type-id-1254' name='start' filepath='kernel/resource.c' line='1162' column='1'/>
+        <parameter type-id='type-id-1254' name='n' filepath='kernel/resource.c' line='1163' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__devm_request_region' mangled-name='__devm_request_region' filepath='kernel/resource.c' line='1401' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__devm_request_region'>
+        <parameter type-id='type-id-86' name='dev' filepath='kernel/resource.c' line='1401' column='1'/>
+        <parameter type-id='type-id-279' name='parent' filepath='kernel/resource.c' line='1402' column='1'/>
+        <parameter type-id='type-id-1254' name='start' filepath='kernel/resource.c' line='1402' column='1'/>
+        <parameter type-id='type-id-1254' name='n' filepath='kernel/resource.c' line='1403' column='1'/>
+        <parameter type-id='type-id-24' name='name' filepath='kernel/resource.c' line='1403' column='1'/>
+        <return type-id='type-id-279'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-7685'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7687'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/sched/completion.c' language='LANG_C89'>
+      <function-decl name='complete_all' mangled-name='complete_all' filepath='kernel/sched/completion.c' line='57' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='complete_all'>
+        <parameter type-id='type-id-176' name='x' filepath='kernel/sched/completion.c' line='57' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='wait_for_completion_interruptible' mangled-name='wait_for_completion_interruptible' filepath='kernel/sched/completion.c' line='202' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wait_for_completion_interruptible'>
+        <parameter type-id='type-id-176' name='x' filepath='kernel/sched/completion.c' line='202' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='wait_for_completion_interruptible_timeout' mangled-name='wait_for_completion_interruptible_timeout' filepath='kernel/sched/completion.c' line='223' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wait_for_completion_interruptible_timeout'>
+        <parameter type-id='type-id-176' name='x' filepath='kernel/sched/completion.c' line='223' column='1'/>
+        <parameter type-id='type-id-100' name='timeout' filepath='kernel/sched/completion.c' line='224' column='1'/>
+        <return type-id='type-id-187'/>
+      </function-decl>
+      <function-decl name='try_wait_for_completion' mangled-name='try_wait_for_completion' filepath='kernel/sched/completion.c' line='280' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='try_wait_for_completion'>
+        <parameter type-id='type-id-176' name='x' filepath='kernel/sched/completion.c' line='280' column='1'/>
+        <return type-id='type-id-211'/>
+      </function-decl>
+      <function-decl name='completion_done' mangled-name='completion_done' filepath='kernel/sched/completion.c' line='313' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='completion_done'>
+        <parameter type-id='type-id-176' name='x' filepath='kernel/sched/completion.c' line='313' column='1'/>
+        <return type-id='type-id-211'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/sched/core.c' language='LANG_C89'>
+
+
+      <class-decl name='cpu_stop_done' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7688'/>
+      <class-decl name='cpuidle_device_kobj' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7689'/>
+      <class-decl name='cpuidle_driver_kobj' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7690'/>
+      <class-decl name='cpuidle_state_kobj' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7691'/>
+      <array-type-def dimensions='1' type-id='type-id-7692' size-in-bits='7680' id='type-id-7693'>
+        <subrange length='10' type-id='type-id-5' id='type-id-1148'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-7694' size-in-bits='640' id='type-id-7695'>
+        <subrange length='10' type-id='type-id-5' id='type-id-1148'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-7696' size-in-bits='3200' id='type-id-7697'>
+        <subrange length='10' type-id='type-id-5' id='type-id-1148'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-7698' size-in-bits='13056' id='type-id-7699'>
+        <subrange length='102' type-id='type-id-5' id='type-id-7700'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-8' size-in-bits='12800' id='type-id-7701'>
+        <subrange length='100' type-id='type-id-5' id='type-id-7702'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-100' size-in-bits='320' id='type-id-7703'>
+        <subrange length='5' type-id='type-id-5' id='type-id-3376'/>
+
+      </array-type-def>
+      <class-decl name='rq' size-in-bits='24064' is-struct='yes' visibility='default' filepath='kernel/sched/sched.h' line='863' column='1' id='type-id-7704'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-5119' visibility='default' filepath='kernel/sched/sched.h' line='865' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='nr_running' type-id='type-id-10' visibility='default' filepath='kernel/sched/sched.h' line='871' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='cpu_load' type-id='type-id-7703' visibility='default' filepath='kernel/sched/sched.h' line='878' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='last_load_update_tick' type-id='type-id-100' visibility='default' filepath='kernel/sched/sched.h' line='881' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='last_blocked_load_update_tick' type-id='type-id-100' visibility='default' filepath='kernel/sched/sched.h' line='882' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='has_blocked_load' type-id='type-id-10' visibility='default' filepath='kernel/sched/sched.h' line='883' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='nohz_tick_stopped' type-id='type-id-10' visibility='default' filepath='kernel/sched/sched.h' line='885' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='nohz_flags' type-id='type-id-137' visibility='default' filepath='kernel/sched/sched.h' line='886' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='load' type-id='type-id-5164' visibility='default' filepath='kernel/sched/sched.h' line='890' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='nr_load_updates' type-id='type-id-100' visibility='default' filepath='kernel/sched/sched.h' line='891' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='nr_switches' type-id='type-id-134' visibility='default' filepath='kernel/sched/sched.h' line='892' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='cfs' type-id='type-id-4678' visibility='default' filepath='kernel/sched/sched.h' line='901' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4096'>
+          <var-decl name='rt' type-id='type-id-7705' visibility='default' filepath='kernel/sched/sched.h' line='902' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='17728'>
+          <var-decl name='dl' type-id='type-id-7706' visibility='default' filepath='kernel/sched/sched.h' line='903' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='18560'>
+          <var-decl name='leaf_cfs_rq_list' type-id='type-id-8' visibility='default' filepath='kernel/sched/sched.h' line='907' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='18688'>
+          <var-decl name='tmp_alone_branch' type-id='type-id-262' visibility='default' filepath='kernel/sched/sched.h' line='908' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='18752'>
+          <var-decl name='nr_uninterruptible' type-id='type-id-100' visibility='default' filepath='kernel/sched/sched.h' line='917' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='18816'>
+          <var-decl name='curr' type-id='type-id-118' visibility='default' filepath='kernel/sched/sched.h' line='919' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='18880'>
+          <var-decl name='idle' type-id='type-id-118' visibility='default' filepath='kernel/sched/sched.h' line='920' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='18944'>
+          <var-decl name='stop' type-id='type-id-118' visibility='default' filepath='kernel/sched/sched.h' line='921' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='19008'>
+          <var-decl name='next_balance' type-id='type-id-100' visibility='default' filepath='kernel/sched/sched.h' line='922' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='19072'>
+          <var-decl name='prev_mm' type-id='type-id-158' visibility='default' filepath='kernel/sched/sched.h' line='923' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='19136'>
+          <var-decl name='clock_update_flags' type-id='type-id-10' visibility='default' filepath='kernel/sched/sched.h' line='925' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='19200'>
+          <var-decl name='clock' type-id='type-id-134' visibility='default' filepath='kernel/sched/sched.h' line='926' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='19456'>
+          <var-decl name='clock_task' type-id='type-id-134' visibility='default' filepath='kernel/sched/sched.h' line='928' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='19520'>
+          <var-decl name='clock_pelt' type-id='type-id-134' visibility='default' filepath='kernel/sched/sched.h' line='929' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='19584'>
+          <var-decl name='lost_idle_time' type-id='type-id-100' visibility='default' filepath='kernel/sched/sched.h' line='930' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='19648'>
+          <var-decl name='nr_iowait' type-id='type-id-137' visibility='default' filepath='kernel/sched/sched.h' line='932' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='19712'>
+          <var-decl name='rd' type-id='type-id-7707' visibility='default' filepath='kernel/sched/sched.h' line='935' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='19776'>
+          <var-decl name='sd' type-id='type-id-7708' visibility='default' filepath='kernel/sched/sched.h' line='936' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='19840'>
+          <var-decl name='cpu_capacity' type-id='type-id-100' visibility='default' filepath='kernel/sched/sched.h' line='938' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='19904'>
+          <var-decl name='cpu_capacity_orig' type-id='type-id-100' visibility='default' filepath='kernel/sched/sched.h' line='939' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='19968'>
+          <var-decl name='balance_callback' type-id='type-id-4987' visibility='default' filepath='kernel/sched/sched.h' line='941' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='20032'>
+          <var-decl name='idle_balance' type-id='type-id-271' visibility='default' filepath='kernel/sched/sched.h' line='943' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='20096'>
+          <var-decl name='misfit_task_load' type-id='type-id-100' visibility='default' filepath='kernel/sched/sched.h' line='945' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='20160'>
+          <var-decl name='active_balance' type-id='type-id-11' visibility='default' filepath='kernel/sched/sched.h' line='948' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='20192'>
+          <var-decl name='push_cpu' type-id='type-id-11' visibility='default' filepath='kernel/sched/sched.h' line='949' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='20224'>
+          <var-decl name='active_balance_work' type-id='type-id-7709' visibility='default' filepath='kernel/sched/sched.h' line='950' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='20544'>
+          <var-decl name='cpu' type-id='type-id-11' visibility='default' filepath='kernel/sched/sched.h' line='953' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='20576'>
+          <var-decl name='online' type-id='type-id-11' visibility='default' filepath='kernel/sched/sched.h' line='954' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='20608'>
+          <var-decl name='cfs_tasks' type-id='type-id-8' visibility='default' filepath='kernel/sched/sched.h' line='956' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='20992'>
+          <var-decl name='avg_rt' type-id='type-id-5168' visibility='default' filepath='kernel/sched/sched.h' line='958' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='21504'>
+          <var-decl name='avg_dl' type-id='type-id-5168' visibility='default' filepath='kernel/sched/sched.h' line='959' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='22016'>
+          <var-decl name='idle_stamp' type-id='type-id-134' visibility='default' filepath='kernel/sched/sched.h' line='963' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='22080'>
+          <var-decl name='avg_idle' type-id='type-id-134' visibility='default' filepath='kernel/sched/sched.h' line='964' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='22144'>
+          <var-decl name='max_idle_balance_cost' type-id='type-id-134' visibility='default' filepath='kernel/sched/sched.h' line='967' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='22208'>
+          <var-decl name='prev_steal_time' type-id='type-id-134' visibility='default' filepath='kernel/sched/sched.h' line='974' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='22272'>
+          <var-decl name='calc_load_update' type-id='type-id-100' visibility='default' filepath='kernel/sched/sched.h' line='981' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='22336'>
+          <var-decl name='calc_load_active' type-id='type-id-187' visibility='default' filepath='kernel/sched/sched.h' line='982' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='22400'>
+          <var-decl name='hrtick_csd_pending' type-id='type-id-11' visibility='default' filepath='kernel/sched/sched.h' line='986' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='22528'>
+          <var-decl name='hrtick_csd' type-id='type-id-7710' visibility='default' filepath='kernel/sched/sched.h' line='987' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='22784'>
+          <var-decl name='hrtick_timer' type-id='type-id-2120' visibility='default' filepath='kernel/sched/sched.h' line='989' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='23296'>
+          <var-decl name='rq_sched_info' type-id='type-id-5129' visibility='default' filepath='kernel/sched/sched.h' line='994' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='23552'>
+          <var-decl name='rq_cpu_time' type-id='type-id-177' visibility='default' filepath='kernel/sched/sched.h' line='995' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='23616'>
+          <var-decl name='yld_count' type-id='type-id-10' visibility='default' filepath='kernel/sched/sched.h' line='999' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='23648'>
+          <var-decl name='sched_count' type-id='type-id-10' visibility='default' filepath='kernel/sched/sched.h' line='1002' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='23680'>
+          <var-decl name='sched_goidle' type-id='type-id-10' visibility='default' filepath='kernel/sched/sched.h' line='1003' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='23712'>
+          <var-decl name='ttwu_count' type-id='type-id-10' visibility='default' filepath='kernel/sched/sched.h' line='1006' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='23744'>
+          <var-decl name='ttwu_local' type-id='type-id-10' visibility='default' filepath='kernel/sched/sched.h' line='1007' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='23808'>
+          <var-decl name='wake_list' type-id='type-id-1252' visibility='default' filepath='kernel/sched/sched.h' line='1011' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='23872'>
+          <var-decl name='idle_state' type-id='type-id-7711' visibility='default' filepath='kernel/sched/sched.h' line='1016' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='23936'>
+          <var-decl name='idle_state_idx' type-id='type-id-11' visibility='default' filepath='kernel/sched/sched.h' line='1017' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__' size-in-bits='512' is-struct='yes' is-anonymous='yes' visibility='default' filepath='kernel/sched/sched.h' line='531' column='1' id='type-id-7712'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-5119' visibility='default' filepath='kernel/sched/sched.h' line='532' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='nr' type-id='type-id-11' visibility='default' filepath='kernel/sched/sched.h' line='533' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='load_avg' type-id='type-id-100' visibility='default' filepath='kernel/sched/sched.h' line='534' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='util_avg' type-id='type-id-100' visibility='default' filepath='kernel/sched/sched.h' line='535' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='runnable_sum' type-id='type-id-100' visibility='default' filepath='kernel/sched/sched.h' line='536' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='cfs_bandwidth' is-struct='yes' visibility='default' filepath='kernel/sched/sched.h' line='335' column='1' id='type-id-7713'/>
+      <class-decl name='rt_rq' size-in-bits='13632' is-struct='yes' visibility='default' filepath='kernel/sched/sched.h' line='596' column='1' id='type-id-7705'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='active' type-id='type-id-7714' visibility='default' filepath='kernel/sched/sched.h' line='597' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12928'>
+          <var-decl name='rt_nr_running' type-id='type-id-10' visibility='default' filepath='kernel/sched/sched.h' line='598' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12960'>
+          <var-decl name='rr_nr_running' type-id='type-id-10' visibility='default' filepath='kernel/sched/sched.h' line='599' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12992'>
+          <var-decl name='highest_prio' type-id='type-id-7715' visibility='default' filepath='kernel/sched/sched.h' line='606' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13056'>
+          <var-decl name='rt_nr_migratory' type-id='type-id-100' visibility='default' filepath='kernel/sched/sched.h' line='609' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13120'>
+          <var-decl name='rt_nr_total' type-id='type-id-100' visibility='default' filepath='kernel/sched/sched.h' line='610' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13184'>
+          <var-decl name='overloaded' type-id='type-id-11' visibility='default' filepath='kernel/sched/sched.h' line='611' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13248'>
+          <var-decl name='pushable_tasks' type-id='type-id-7622' visibility='default' filepath='kernel/sched/sched.h' line='612' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13376'>
+          <var-decl name='rt_queued' type-id='type-id-11' visibility='default' filepath='kernel/sched/sched.h' line='615' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13408'>
+          <var-decl name='rt_throttled' type-id='type-id-11' visibility='default' filepath='kernel/sched/sched.h' line='617' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13440'>
+          <var-decl name='rt_time' type-id='type-id-134' visibility='default' filepath='kernel/sched/sched.h' line='618' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13504'>
+          <var-decl name='rt_runtime' type-id='type-id-134' visibility='default' filepath='kernel/sched/sched.h' line='619' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13568'>
+          <var-decl name='rt_runtime_lock' type-id='type-id-5119' visibility='default' filepath='kernel/sched/sched.h' line='621' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='rt_prio_array' size-in-bits='12928' is-struct='yes' visibility='default' filepath='kernel/sched/sched.h' line='232' column='1' id='type-id-7714'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bitmap' type-id='type-id-1331' visibility='default' filepath='kernel/sched/sched.h' line='233' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='queue' type-id='type-id-7701' visibility='default' filepath='kernel/sched/sched.h' line='234' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__1' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='kernel/sched/sched.h' line='601' column='1' id='type-id-7715'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='curr' type-id='type-id-11' visibility='default' filepath='kernel/sched/sched.h' line='602' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='next' type-id='type-id-11' visibility='default' filepath='kernel/sched/sched.h' line='604' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='plist_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/plist.h' line='81' column='1' id='type-id-7622'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='node_list' type-id='type-id-8' visibility='default' filepath='include/linux/plist.h' line='82' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='dl_rq' size-in-bits='832' is-struct='yes' visibility='default' filepath='kernel/sched/sched.h' line='637' column='1' id='type-id-7706'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='root' type-id='type-id-1844' visibility='default' filepath='kernel/sched/sched.h' line='639' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='dl_nr_running' type-id='type-id-100' visibility='default' filepath='kernel/sched/sched.h' line='641' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='earliest_dl' type-id='type-id-7716' visibility='default' filepath='kernel/sched/sched.h' line='653' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='dl_nr_migratory' type-id='type-id-100' visibility='default' filepath='kernel/sched/sched.h' line='655' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='overloaded' type-id='type-id-11' visibility='default' filepath='kernel/sched/sched.h' line='656' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='pushable_dl_tasks_root' type-id='type-id-1844' visibility='default' filepath='kernel/sched/sched.h' line='663' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='running_bw' type-id='type-id-134' visibility='default' filepath='kernel/sched/sched.h' line='672' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='this_bw' type-id='type-id-134' visibility='default' filepath='kernel/sched/sched.h' line='683' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='extra_bw' type-id='type-id-134' visibility='default' filepath='kernel/sched/sched.h' line='684' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='bw_ratio' type-id='type-id-134' visibility='default' filepath='kernel/sched/sched.h' line='690' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__2' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='kernel/sched/sched.h' line='650' column='1' id='type-id-7716'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='curr' type-id='type-id-134' visibility='default' filepath='kernel/sched/sched.h' line='651' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='next' type-id='type-id-134' visibility='default' filepath='kernel/sched/sched.h' line='652' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__3' size-in-bits='6848' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='353' column='1' id='type-id-7717'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mmap' type-id='type-id-132' visibility='default' filepath='include/linux/mm_types.h' line='354' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='mm_rb' type-id='type-id-133' visibility='default' filepath='include/linux/mm_types.h' line='355' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='vmacache_seqnum' type-id='type-id-134' visibility='default' filepath='include/linux/mm_types.h' line='356' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='get_unmapped_area' type-id='type-id-135' visibility='default' filepath='include/linux/mm_types.h' line='358' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='mmap_base' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='362' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='mmap_legacy_base' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='363' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='task_size' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='369' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='highest_vm_end' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='370' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='pgd' type-id='type-id-136' visibility='default' filepath='include/linux/mm_types.h' line='371' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='mm_users' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='382' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='mm_count' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='391' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='pgtables_bytes' type-id='type-id-138' visibility='default' filepath='include/linux/mm_types.h' line='394' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='map_count' type-id='type-id-11' visibility='default' filepath='include/linux/mm_types.h' line='396' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='736'>
+          <var-decl name='page_table_lock' type-id='type-id-106' visibility='default' filepath='include/linux/mm_types.h' line='398' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='mmap_sem' type-id='type-id-139' visibility='default' filepath='include/linux/mm_types.h' line='401' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='mmlist' type-id='type-id-8' visibility='default' filepath='include/linux/mm_types.h' line='403' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='hiwater_rss' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='410' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='hiwater_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='411' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='total_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='413' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='locked_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='414' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='pinned_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='415' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='data_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='416' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='exec_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='417' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='stack_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='418' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='def_flags' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='419' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='arg_lock' type-id='type-id-106' visibility='default' filepath='include/linux/mm_types.h' line='421' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='start_code' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='end_code' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='start_data' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='end_data' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='start_brk' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='brk' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='start_stack' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='arg_start' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='arg_end' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='env_start' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='env_end' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='saved_auxv' type-id='type-id-140' visibility='default' filepath='include/linux/mm_types.h' line='426' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5504'>
+          <var-decl name='rss_stat' type-id='type-id-141' visibility='default' filepath='include/linux/mm_types.h' line='432' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5760'>
+          <var-decl name='binfmt' type-id='type-id-4464' visibility='default' filepath='include/linux/mm_types.h' line='434' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5824'>
+          <var-decl name='context' type-id='type-id-143' visibility='default' filepath='include/linux/mm_types.h' line='437' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6016'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='439' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6080'>
+          <var-decl name='core_state' type-id='type-id-144' visibility='default' filepath='include/linux/mm_types.h' line='441' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6144'>
+          <var-decl name='membarrier_state' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='443' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6176'>
+          <var-decl name='ioctx_lock' type-id='type-id-106' visibility='default' filepath='include/linux/mm_types.h' line='446' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6208'>
+          <var-decl name='ioctx_table' type-id='type-id-145' visibility='default' filepath='include/linux/mm_types.h' line='447' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6272'>
+          <var-decl name='owner' type-id='type-id-118' visibility='default' filepath='include/linux/mm_types.h' line='460' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6336'>
+          <var-decl name='user_ns' type-id='type-id-4564' visibility='default' filepath='include/linux/mm_types.h' line='462' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6400'>
+          <var-decl name='exe_file' type-id='type-id-147' visibility='default' filepath='include/linux/mm_types.h' line='465' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6464'>
+          <var-decl name='tlb_flush_pending' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='491' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6528'>
+          <var-decl name='uprobes_state' type-id='type-id-148' visibility='default' filepath='include/linux/mm_types.h' line='496' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6592'>
+          <var-decl name='async_put_work' type-id='type-id-149' visibility='default' filepath='include/linux/mm_types.h' line='500' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='root_domain' size-in-bits='14720' is-struct='yes' visibility='default' filepath='kernel/sched/sched.h' line='743' column='1' id='type-id-7718'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='refcount' type-id='type-id-137' visibility='default' filepath='kernel/sched/sched.h' line='744' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='rto_count' type-id='type-id-137' visibility='default' filepath='kernel/sched/sched.h' line='745' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='kernel/sched/sched.h' line='746' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='span' type-id='type-id-371' visibility='default' filepath='kernel/sched/sched.h' line='747' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='online' type-id='type-id-371' visibility='default' filepath='kernel/sched/sched.h' line='748' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='overload' type-id='type-id-11' visibility='default' filepath='kernel/sched/sched.h' line='755' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='overutilized' type-id='type-id-11' visibility='default' filepath='kernel/sched/sched.h' line='758' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='dlo_mask' type-id='type-id-371' visibility='default' filepath='kernel/sched/sched.h' line='764' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='dlo_count' type-id='type-id-137' visibility='default' filepath='kernel/sched/sched.h' line='765' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='dl_bw' type-id='type-id-7719' visibility='default' filepath='kernel/sched/sched.h' line='766' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='cpudl' type-id='type-id-7720' visibility='default' filepath='kernel/sched/sched.h' line='767' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='rto_push_work' type-id='type-id-4906' visibility='default' filepath='kernel/sched/sched.h' line='773' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='rto_lock' type-id='type-id-5119' visibility='default' filepath='kernel/sched/sched.h' line='774' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1120'>
+          <var-decl name='rto_loop' type-id='type-id-11' visibility='default' filepath='kernel/sched/sched.h' line='776' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='rto_cpu' type-id='type-id-11' visibility='default' filepath='kernel/sched/sched.h' line='777' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1184'>
+          <var-decl name='rto_loop_next' type-id='type-id-137' visibility='default' filepath='kernel/sched/sched.h' line='779' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='rto_loop_start' type-id='type-id-137' visibility='default' filepath='kernel/sched/sched.h' line='780' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='rto_mask' type-id='type-id-371' visibility='default' filepath='kernel/sched/sched.h' line='786' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='cpupri' type-id='type-id-7721' visibility='default' filepath='kernel/sched/sched.h' line='787' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14464'>
+          <var-decl name='max_cpu_capacity' type-id='type-id-7722' visibility='default' filepath='kernel/sched/sched.h' line='790' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14656'>
+          <var-decl name='pd' type-id='type-id-7723' visibility='default' filepath='kernel/sched/sched.h' line='796' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='dl_bw' size-in-bits='192' is-struct='yes' visibility='default' filepath='kernel/sched/sched.h' line='283' column='1' id='type-id-7719'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-5119' visibility='default' filepath='kernel/sched/sched.h' line='284' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='bw' type-id='type-id-134' visibility='default' filepath='kernel/sched/sched.h' line='285' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='total_bw' type-id='type-id-134' visibility='default' filepath='kernel/sched/sched.h' line='286' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='cpudl' size-in-bits='192' is-struct='yes' visibility='default' filepath='kernel/sched/cpudeadline.h' line='11' column='1' id='type-id-7720'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-5119' visibility='default' filepath='kernel/sched/cpudeadline.h' line='12' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='size' type-id='type-id-11' visibility='default' filepath='kernel/sched/cpudeadline.h' line='13' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='free_cpus' type-id='type-id-371' visibility='default' filepath='kernel/sched/cpudeadline.h' line='14' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='elements' type-id='type-id-7724' visibility='default' filepath='kernel/sched/cpudeadline.h' line='15' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='cpudl_item' size-in-bits='128' is-struct='yes' visibility='default' filepath='kernel/sched/cpudeadline.h' line='5' column='1' id='type-id-7725'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dl' type-id='type-id-134' visibility='default' filepath='kernel/sched/cpudeadline.h' line='6' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='cpu' type-id='type-id-11' visibility='default' filepath='kernel/sched/cpudeadline.h' line='7' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='idx' type-id='type-id-11' visibility='default' filepath='kernel/sched/cpudeadline.h' line='8' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='cpupri' size-in-bits='13120' is-struct='yes' visibility='default' filepath='kernel/sched/cpupri.h' line='15' column='1' id='type-id-7721'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='pri_to_cpu' type-id='type-id-7699' visibility='default' filepath='kernel/sched/cpupri.h' line='16' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13056'>
+          <var-decl name='cpu_to_pri' type-id='type-id-82' visibility='default' filepath='kernel/sched/cpupri.h' line='17' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='cpupri_vec' size-in-bits='128' is-struct='yes' visibility='default' filepath='kernel/sched/cpupri.h' line='10' column='1' id='type-id-7698'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='count' type-id='type-id-137' visibility='default' filepath='kernel/sched/cpupri.h' line='11' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='mask' type-id='type-id-371' visibility='default' filepath='kernel/sched/cpupri.h' line='12' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='max_cpu_capacity' size-in-bits='192' is-struct='yes' visibility='default' filepath='kernel/sched/sched.h' line='725' column='1' id='type-id-7722'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-5119' visibility='default' filepath='kernel/sched/sched.h' line='726' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='val' type-id='type-id-100' visibility='default' filepath='kernel/sched/sched.h' line='727' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='cpu' type-id='type-id-11' visibility='default' filepath='kernel/sched/sched.h' line='728' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='perf_domain' size-in-bits='256' is-struct='yes' visibility='default' filepath='kernel/sched/sched.h' line='719' column='1' id='type-id-7726'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='em_pd' type-id='type-id-7727' visibility='default' filepath='kernel/sched/sched.h' line='720' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='next' type-id='type-id-7723' visibility='default' filepath='kernel/sched/sched.h' line='721' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='kernel/sched/sched.h' line='722' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='em_perf_domain' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/energy_model.h' line='37' column='1' id='type-id-7728'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='table' type-id='type-id-7729' visibility='default' filepath='include/linux/energy_model.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='nr_cap_states' type-id='type-id-11' visibility='default' filepath='include/linux/energy_model.h' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='cpus' type-id='type-id-3523' visibility='default' filepath='include/linux/energy_model.h' line='40' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='em_cap_state' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/energy_model.h' line='20' column='1' id='type-id-7730'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='frequency' type-id='type-id-100' visibility='default' filepath='include/linux/energy_model.h' line='21' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='power' type-id='type-id-100' visibility='default' filepath='include/linux/energy_model.h' line='22' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='cost' type-id='type-id-100' visibility='default' filepath='include/linux/energy_model.h' line='23' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='sched_domain' size-in-bits='2496' is-struct='yes' visibility='default' filepath='include/linux/sched/topology.h' line='71' column='1' id='type-id-7731'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='parent' type-id='type-id-7708' visibility='default' filepath='include/linux/sched/topology.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='child' type-id='type-id-7708' visibility='default' filepath='include/linux/sched/topology.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='groups' type-id='type-id-7732' visibility='default' filepath='include/linux/sched/topology.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='min_interval' type-id='type-id-100' visibility='default' filepath='include/linux/sched/topology.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='max_interval' type-id='type-id-100' visibility='default' filepath='include/linux/sched/topology.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='busy_factor' type-id='type-id-10' visibility='default' filepath='include/linux/sched/topology.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='imbalance_pct' type-id='type-id-10' visibility='default' filepath='include/linux/sched/topology.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='cache_nice_tries' type-id='type-id-10' visibility='default' filepath='include/linux/sched/topology.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='busy_idx' type-id='type-id-10' visibility='default' filepath='include/linux/sched/topology.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='idle_idx' type-id='type-id-10' visibility='default' filepath='include/linux/sched/topology.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='newidle_idx' type-id='type-id-10' visibility='default' filepath='include/linux/sched/topology.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='wake_idx' type-id='type-id-10' visibility='default' filepath='include/linux/sched/topology.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='forkexec_idx' type-id='type-id-10' visibility='default' filepath='include/linux/sched/topology.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='smt_gain' type-id='type-id-10' visibility='default' filepath='include/linux/sched/topology.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='nohz_idle' type-id='type-id-11' visibility='default' filepath='include/linux/sched/topology.h' line='88' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='flags' type-id='type-id-11' visibility='default' filepath='include/linux/sched/topology.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='672'>
+          <var-decl name='level' type-id='type-id-11' visibility='default' filepath='include/linux/sched/topology.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='last_balance' type-id='type-id-100' visibility='default' filepath='include/linux/sched/topology.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='balance_interval' type-id='type-id-10' visibility='default' filepath='include/linux/sched/topology.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='800'>
+          <var-decl name='nr_balance_failed' type-id='type-id-10' visibility='default' filepath='include/linux/sched/topology.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='max_newidle_lb_cost' type-id='type-id-134' visibility='default' filepath='include/linux/sched/topology.h' line='98' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='next_decay_max_lb_cost' type-id='type-id-100' visibility='default' filepath='include/linux/sched/topology.h' line='99' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='avg_scan_cost' type-id='type-id-134' visibility='default' filepath='include/linux/sched/topology.h' line='101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='lb_count' type-id='type-id-2162' visibility='default' filepath='include/linux/sched/topology.h' line='105' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1120'>
+          <var-decl name='lb_failed' type-id='type-id-2162' visibility='default' filepath='include/linux/sched/topology.h' line='106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='lb_balanced' type-id='type-id-2162' visibility='default' filepath='include/linux/sched/topology.h' line='107' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1312'>
+          <var-decl name='lb_imbalance' type-id='type-id-2162' visibility='default' filepath='include/linux/sched/topology.h' line='108' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='lb_gained' type-id='type-id-2162' visibility='default' filepath='include/linux/sched/topology.h' line='109' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1504'>
+          <var-decl name='lb_hot_gained' type-id='type-id-2162' visibility='default' filepath='include/linux/sched/topology.h' line='110' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='lb_nobusyg' type-id='type-id-2162' visibility='default' filepath='include/linux/sched/topology.h' line='111' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1696'>
+          <var-decl name='lb_nobusyq' type-id='type-id-2162' visibility='default' filepath='include/linux/sched/topology.h' line='112' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='alb_count' type-id='type-id-10' visibility='default' filepath='include/linux/sched/topology.h' line='115' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1824'>
+          <var-decl name='alb_failed' type-id='type-id-10' visibility='default' filepath='include/linux/sched/topology.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='alb_pushed' type-id='type-id-10' visibility='default' filepath='include/linux/sched/topology.h' line='117' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1888'>
+          <var-decl name='sbe_count' type-id='type-id-10' visibility='default' filepath='include/linux/sched/topology.h' line='120' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='sbe_balanced' type-id='type-id-10' visibility='default' filepath='include/linux/sched/topology.h' line='121' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1952'>
+          <var-decl name='sbe_pushed' type-id='type-id-10' visibility='default' filepath='include/linux/sched/topology.h' line='122' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='sbf_count' type-id='type-id-10' visibility='default' filepath='include/linux/sched/topology.h' line='125' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2016'>
+          <var-decl name='sbf_balanced' type-id='type-id-10' visibility='default' filepath='include/linux/sched/topology.h' line='126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='sbf_pushed' type-id='type-id-10' visibility='default' filepath='include/linux/sched/topology.h' line='127' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2080'>
+          <var-decl name='ttwu_wake_remote' type-id='type-id-10' visibility='default' filepath='include/linux/sched/topology.h' line='130' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='ttwu_move_affine' type-id='type-id-10' visibility='default' filepath='include/linux/sched/topology.h' line='131' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2144'>
+          <var-decl name='ttwu_move_balance' type-id='type-id-10' visibility='default' filepath='include/linux/sched/topology.h' line='132' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='name' type-id='type-id-300' visibility='default' filepath='include/linux/sched/topology.h' line='135' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='' type-id='type-id-7733' visibility='default' filepath='include/linux/sched/topology.h' line='137' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='shared' type-id='type-id-7734' visibility='default' filepath='include/linux/sched/topology.h' line='141' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='span_weight' type-id='type-id-10' visibility='default' filepath='include/linux/sched/topology.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='span' type-id='type-id-3523' visibility='default' filepath='include/linux/sched/topology.h' line='151' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='sched_group' size-in-bits='256' is-struct='yes' visibility='default' filepath='kernel/sched/sched.h' line='1419' column='1' id='type-id-7735'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='next' type-id='type-id-7732' visibility='default' filepath='kernel/sched/sched.h' line='1420' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ref' type-id='type-id-137' visibility='default' filepath='kernel/sched/sched.h' line='1421' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='group_weight' type-id='type-id-10' visibility='default' filepath='kernel/sched/sched.h' line='1423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='sgc' type-id='type-id-7736' visibility='default' filepath='kernel/sched/sched.h' line='1424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='asym_prefer_cpu' type-id='type-id-11' visibility='default' filepath='kernel/sched/sched.h' line='1425' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='cpumask' type-id='type-id-3523' visibility='default' filepath='kernel/sched/sched.h' line='1434' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='sched_group_capacity' size-in-bits='384' is-struct='yes' visibility='default' filepath='kernel/sched/sched.h' line='1400' column='1' id='type-id-7737'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ref' type-id='type-id-137' visibility='default' filepath='kernel/sched/sched.h' line='1401' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='capacity' type-id='type-id-100' visibility='default' filepath='kernel/sched/sched.h' line='1406' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='min_capacity' type-id='type-id-100' visibility='default' filepath='kernel/sched/sched.h' line='1407' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='max_capacity' type-id='type-id-100' visibility='default' filepath='kernel/sched/sched.h' line='1408' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='next_update' type-id='type-id-100' visibility='default' filepath='kernel/sched/sched.h' line='1409' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='imbalance' type-id='type-id-11' visibility='default' filepath='kernel/sched/sched.h' line='1410' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='id' type-id='type-id-11' visibility='default' filepath='kernel/sched/sched.h' line='1413' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='cpumask' type-id='type-id-3523' visibility='default' filepath='kernel/sched/sched.h' line='1416' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/sched/topology.h' line='137' column='1' id='type-id-7733'>
+        <data-member access='private'>
+          <var-decl name='private' type-id='type-id-3' visibility='default' filepath='include/linux/sched/topology.h' line='138' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/linux/sched/topology.h' line='139' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='sched_domain_shared' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/linux/sched/topology.h' line='65' column='1' id='type-id-7738'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ref' type-id='type-id-137' visibility='default' filepath='include/linux/sched/topology.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='nr_busy_cpus' type-id='type-id-137' visibility='default' filepath='include/linux/sched/topology.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='has_idle_cores' type-id='type-id-11' visibility='default' filepath='include/linux/sched/topology.h' line='68' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='cpu_stop_work' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/stop_machine.h' line='24' column='1' id='type-id-7709'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/stop_machine.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='fn' type-id='type-id-7739' visibility='default' filepath='include/linux/stop_machine.h' line='26' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='arg' type-id='type-id-3' visibility='default' filepath='include/linux/stop_machine.h' line='27' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='done' type-id='type-id-7740' visibility='default' filepath='include/linux/stop_machine.h' line='28' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='cpu_stop_fn_t' type-id='type-id-634' filepath='include/linux/stop_machine.h' line='20' column='1' id='type-id-7739'/>
+      <typedef-decl name='call_single_data_t' type-id='type-id-5386' filepath='include/linux/smp.h' line='26' column='1' id='type-id-7710'/>
+      <class-decl name='cpuidle_state' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/linux/cpuidle.h' line='42' column='1' id='type-id-7692'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-847' visibility='default' filepath='include/linux/cpuidle.h' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='desc' type-id='type-id-650' visibility='default' filepath='include/linux/cpuidle.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='include/linux/cpuidle.h' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='exit_latency' type-id='type-id-10' visibility='default' filepath='include/linux/cpuidle.h' line='47' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='power_usage' type-id='type-id-11' visibility='default' filepath='include/linux/cpuidle.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='target_residency' type-id='type-id-10' visibility='default' filepath='include/linux/cpuidle.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='disabled' type-id='type-id-211' visibility='default' filepath='include/linux/cpuidle.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='enter' type-id='type-id-7741' visibility='default' filepath='include/linux/cpuidle.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='enter_dead' type-id='type-id-7742' visibility='default' filepath='include/linux/cpuidle.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='enter_s2idle' type-id='type-id-7743' visibility='default' filepath='include/linux/cpuidle.h' line='63' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='cpuidle_device' size-in-bits='4224' is-struct='yes' visibility='default' filepath='include/linux/cpuidle.h' line='80' column='1' id='type-id-7744'>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='registered' type-id='type-id-10' visibility='default' filepath='include/linux/cpuidle.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='enabled' type-id='type-id-10' visibility='default' filepath='include/linux/cpuidle.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='29'>
+          <var-decl name='use_deepest_state' type-id='type-id-10' visibility='default' filepath='include/linux/cpuidle.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='28'>
+          <var-decl name='poll_time_limit' type-id='type-id-10' visibility='default' filepath='include/linux/cpuidle.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='cpu' type-id='type-id-10' visibility='default' filepath='include/linux/cpuidle.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='last_residency' type-id='type-id-11' visibility='default' filepath='include/linux/cpuidle.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='states_usage' type-id='type-id-7697' visibility='default' filepath='include/linux/cpuidle.h' line='88' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3328'>
+          <var-decl name='kobjs' type-id='type-id-7695' visibility='default' filepath='include/linux/cpuidle.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3968'>
+          <var-decl name='kobj_driver' type-id='type-id-7745' visibility='default' filepath='include/linux/cpuidle.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4032'>
+          <var-decl name='kobj_dev' type-id='type-id-7746' visibility='default' filepath='include/linux/cpuidle.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4096'>
+          <var-decl name='device_list' type-id='type-id-8' visibility='default' filepath='include/linux/cpuidle.h' line='92' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='cpuidle_state_usage' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/cpuidle.h' line='32' column='1' id='type-id-7696'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='disable' type-id='type-id-177' visibility='default' filepath='include/linux/cpuidle.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='usage' type-id='type-id-177' visibility='default' filepath='include/linux/cpuidle.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='time' type-id='type-id-177' visibility='default' filepath='include/linux/cpuidle.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='s2idle_usage' type-id='type-id-177' visibility='default' filepath='include/linux/cpuidle.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='s2idle_time' type-id='type-id-177' visibility='default' filepath='include/linux/cpuidle.h' line='38' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='cpuidle_driver' size-in-bits='8000' is-struct='yes' visibility='default' filepath='include/linux/cpuidle.h' line='117' column='1' id='type-id-7747'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/cpuidle.h' line='118' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/linux/cpuidle.h' line='119' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='refcnt' type-id='type-id-11' visibility='default' filepath='include/linux/cpuidle.h' line='120' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='bctimer' type-id='type-id-10' visibility='default' filepath='include/linux/cpuidle.h' line='123' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='states' type-id='type-id-7693' visibility='default' filepath='include/linux/cpuidle.h' line='125' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7872'>
+          <var-decl name='state_count' type-id='type-id-11' visibility='default' filepath='include/linux/cpuidle.h' line='126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7904'>
+          <var-decl name='safe_state_index' type-id='type-id-11' visibility='default' filepath='include/linux/cpuidle.h' line='127' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7936'>
+          <var-decl name='cpumask' type-id='type-id-530' visibility='default' filepath='include/linux/cpuidle.h' line='130' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='rq_flags' size-in-bits='128' is-struct='yes' visibility='default' filepath='kernel/sched/sched.h' line='1143' column='1' id='type-id-7748'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='kernel/sched/sched.h' line='1144' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='cookie' type-id='type-id-7749' visibility='default' filepath='kernel/sched/sched.h' line='1145' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='clock_update_flags' type-id='type-id-10' visibility='default' filepath='kernel/sched/sched.h' line='1152' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='pin_cookie' is-struct='yes' visibility='default' filepath='include/linux/lockdep.h' line='451' column='1' id='type-id-7749'/>
+      <class-decl name='sched_param' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/uapi/linux/sched/types.h' line='7' column='1' id='type-id-7750'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='sched_priority' type-id='type-id-11' visibility='default' filepath='include/uapi/linux/sched/types.h' line='8' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='sched_attr' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/uapi/linux/sched/types.h' line='100' column='1' id='type-id-7751'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='size' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/sched/types.h' line='101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='sched_policy' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/sched/types.h' line='103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='sched_flags' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/sched/types.h' line='104' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='sched_nice' type-id='type-id-2310' visibility='default' filepath='include/uapi/linux/sched/types.h' line='107' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='sched_priority' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/sched/types.h' line='110' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='sched_runtime' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/sched/types.h' line='113' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='sched_deadline' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/sched/types.h' line='114' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='sched_period' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/sched/types.h' line='115' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='sched_util_min' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/sched/types.h' line='118' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='sched_util_max' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/sched/types.h' line='119' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-5167' size-in-bits='64' id='type-id-7752'/>
+      <qualified-type-def type-id='type-id-2120' const='yes' id='type-id-7753'/>
+      <pointer-type-def type-id='type-id-7753' size-in-bits='64' id='type-id-7754'/>
+      <qualified-type-def type-id='type-id-7751' const='yes' id='type-id-7755'/>
+      <pointer-type-def type-id='type-id-7755' size-in-bits='64' id='type-id-7756'/>
+      <qualified-type-def type-id='type-id-7750' const='yes' id='type-id-7757'/>
+      <pointer-type-def type-id='type-id-7757' size-in-bits='64' id='type-id-7758'/>
+      <pointer-type-def type-id='type-id-7688' size-in-bits='64' id='type-id-7740'/>
+      <pointer-type-def type-id='type-id-7725' size-in-bits='64' id='type-id-7724'/>
+      <pointer-type-def type-id='type-id-7744' size-in-bits='64' id='type-id-869'/>
+      <pointer-type-def type-id='type-id-7689' size-in-bits='64' id='type-id-7746'/>
+      <pointer-type-def type-id='type-id-7747' size-in-bits='64' id='type-id-868'/>
+      <pointer-type-def type-id='type-id-7690' size-in-bits='64' id='type-id-7745'/>
+      <pointer-type-def type-id='type-id-7692' size-in-bits='64' id='type-id-7711'/>
+      <pointer-type-def type-id='type-id-7691' size-in-bits='64' id='type-id-7694'/>
+      <pointer-type-def type-id='type-id-4753' size-in-bits='64' id='type-id-530'/>
+      <pointer-type-def type-id='type-id-7730' size-in-bits='64' id='type-id-7729'/>
+      <pointer-type-def type-id='type-id-7728' size-in-bits='64' id='type-id-7727'/>
+      <pointer-type-def type-id='type-id-7759' size-in-bits='64' id='type-id-7741'/>
+      <pointer-type-def type-id='type-id-7760' size-in-bits='64' id='type-id-7742'/>
+      <pointer-type-def type-id='type-id-7761' size-in-bits='64' id='type-id-7762'/>
+      <pointer-type-def type-id='type-id-1252' size-in-bits='64' id='type-id-7763'/>
+      <pointer-type-def type-id='type-id-7726' size-in-bits='64' id='type-id-7723'/>
+      <pointer-type-def type-id='type-id-7718' size-in-bits='64' id='type-id-7707'/>
+      <pointer-type-def type-id='type-id-7704' size-in-bits='64' id='type-id-7764'/>
+      <pointer-type-def type-id='type-id-7748' size-in-bits='64' id='type-id-7765'/>
+      <pointer-type-def type-id='type-id-7731' size-in-bits='64' id='type-id-7708'/>
+      <pointer-type-def type-id='type-id-7738' size-in-bits='64' id='type-id-7734'/>
+      <pointer-type-def type-id='type-id-5166' size-in-bits='64' id='type-id-7766'/>
+      <pointer-type-def type-id='type-id-7735' size-in-bits='64' id='type-id-7732'/>
+      <pointer-type-def type-id='type-id-7737' size-in-bits='64' id='type-id-7736'/>
+      <pointer-type-def type-id='type-id-7767' size-in-bits='64' id='type-id-7768'/>
+      <pointer-type-def type-id='type-id-7769' size-in-bits='64' id='type-id-7770'/>
+      <pointer-type-def type-id='type-id-7771' size-in-bits='64' id='type-id-7772'/>
+      <pointer-type-def type-id='type-id-7773' size-in-bits='64' id='type-id-7743'/>
+      <pointer-type-def type-id='type-id-7774' size-in-bits='64' id='type-id-7775'/>
+      <pointer-type-def type-id='type-id-7776' size-in-bits='64' id='type-id-7777'/>
+      <pointer-type-def type-id='type-id-7778' size-in-bits='64' id='type-id-7779'/>
+      <pointer-type-def type-id='type-id-7780' size-in-bits='64' id='type-id-7781'/>
+      <pointer-type-def type-id='type-id-7782' size-in-bits='64' id='type-id-7783'/>
+      <function-decl name='sched_clock' mangled-name='sched_clock' filepath='include/linux/sched/clock.h' line='15' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sched_clock'>
+        <return type-id='type-id-177'/>
+      </function-decl>
+      <function-decl name='trace_print_flags_seq' mangled-name='trace_print_flags_seq' filepath='include/linux/trace_events.h' line='19' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='trace_print_flags_seq'>
+        <parameter type-id='type-id-6249'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-7784'/>
+        <return type-id='type-id-24'/>
+      </function-decl>
+      <function-decl name='bpf_trace_run7' mangled-name='bpf_trace_run7' filepath='include/linux/trace_events.h' line='602' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bpf_trace_run7'>
+        <parameter type-id='type-id-4913'/>
+        <parameter type-id='type-id-177'/>
+        <parameter type-id='type-id-177'/>
+        <parameter type-id='type-id-177'/>
+        <parameter type-id='type-id-177'/>
+        <parameter type-id='type-id-177'/>
+        <parameter type-id='type-id-177'/>
+        <parameter type-id='type-id-177'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='llist_add_batch' mangled-name='llist_add_batch' filepath='include/linux/llist.h' line='209' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='llist_add_batch'>
+        <parameter type-id='type-id-5010'/>
+        <parameter type-id='type-id-5010'/>
+        <parameter type-id='type-id-7763'/>
+        <return type-id='type-id-264'/>
+      </function-decl>
+      <function-decl name='_raw_spin_trylock' mangled-name='_raw_spin_trylock' filepath='include/linux/spinlock_api_smp.h' line='37' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_raw_spin_trylock'>
+        <parameter type-id='type-id-186'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='hrtimer_active' mangled-name='hrtimer_active' filepath='include/linux/hrtimer.h' line='431' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='hrtimer_active'>
+        <parameter type-id='type-id-7754'/>
+        <return type-id='type-id-264'/>
+      </function-decl>
+      <function-decl name='sched_setscheduler' mangled-name='sched_setscheduler' filepath='kernel/sched/core.c' line='5064' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sched_setscheduler'>
+        <parameter type-id='type-id-118' name='p' filepath='kernel/sched/core.c' line='5064' column='1'/>
+        <parameter type-id='type-id-11' name='policy' filepath='kernel/sched/core.c' line='5064' column='1'/>
+        <parameter type-id='type-id-7758' name='param' filepath='kernel/sched/core.c' line='5065' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='sched_setattr' mangled-name='sched_setattr' filepath='kernel/sched/core.c' line='5071' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sched_setattr'>
+        <parameter type-id='type-id-118' name='p' filepath='kernel/sched/core.c' line='5071' column='1'/>
+        <parameter type-id='type-id-7756' name='attr' filepath='kernel/sched/core.c' line='5071' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='sched_setaffinity' mangled-name='sched_setaffinity' filepath='kernel/sched/core.c' line='5428' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sched_setaffinity'>
+        <parameter type-id='type-id-5133' name='pid' filepath='kernel/sched/core.c' line='5428' column='1'/>
+        <parameter type-id='type-id-162' name='in_mask' filepath='kernel/sched/core.c' line='5428' column='1'/>
+        <return type-id='type-id-187'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-7759'>
+        <parameter type-id='type-id-869'/>
+        <parameter type-id='type-id-868'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7760'>
+        <parameter type-id='type-id-869'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7761'>
+        <parameter type-id='type-id-118'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7767'>
+        <parameter type-id='type-id-7764'/>
+        <parameter type-id='type-id-118'/>
+        <parameter type-id='type-id-7765'/>
+        <return type-id='type-id-118'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7769'>
+        <parameter type-id='type-id-7764'/>
+        <parameter type-id='type-id-118'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7771'>
+        <parameter type-id='type-id-7764'/>
+        <parameter type-id='type-id-118'/>
+        <return type-id='type-id-10'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7773'>
+        <parameter type-id='type-id-869'/>
+        <parameter type-id='type-id-868'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7774'>
+        <parameter type-id='type-id-7764'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7776'>
+        <parameter type-id='type-id-7764'/>
+        <parameter type-id='type-id-118'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7778'>
+        <parameter type-id='type-id-7764'/>
+        <parameter type-id='type-id-118'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7780'>
+        <parameter type-id='type-id-118'/>
+        <parameter type-id='type-id-162'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7782'>
+        <parameter type-id='type-id-118'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/sched/deadline.c' language='LANG_C89'>
+      <function-decl name='hrtimer_try_to_cancel' mangled-name='hrtimer_try_to_cancel' filepath='include/linux/hrtimer.h' line='402' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='hrtimer_try_to_cancel'>
+        <parameter type-id='type-id-183'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/sched/debug.c' language='LANG_C89'>
+      <function-decl name='strim' mangled-name='strim' filepath='include/linux/string.h' line='69' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strim'>
+        <parameter type-id='type-id-300'/>
+        <return type-id='type-id-300'/>
+      </function-decl>
+      <function-decl name='single_open' mangled-name='single_open' filepath='include/linux/seq_file.h' line='141' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='single_open'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-4523'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/sched/fair.c' language='LANG_C89'>
+      <qualified-type-def type-id='type-id-1846' const='yes' id='type-id-7785'/>
+      <pointer-type-def type-id='type-id-7785' size-in-bits='64' id='type-id-7296'/>
+      <qualified-type-def type-id='type-id-133' const='yes' id='type-id-7786'/>
+      <pointer-type-def type-id='type-id-7786' size-in-bits='64' id='type-id-7639'/>
+      <function-decl name='rb_last' mangled-name='rb_last' filepath='include/linux/rbtree.h' line='85' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rb_last'>
+        <parameter type-id='type-id-7639'/>
+        <return type-id='type-id-4914'/>
+      </function-decl>
+      <function-decl name='rb_next' mangled-name='rb_next' filepath='include/linux/rbtree.h' line='82' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rb_next'>
+        <parameter type-id='type-id-7296'/>
+        <return type-id='type-id-4914'/>
+      </function-decl>
+      <function-decl name='cpumask_next_wrap' mangled-name='cpumask_next_wrap' filepath='include/linux/cpumask.h' line='257' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cpumask_next_wrap'>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-162'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-264'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/sched/psi.c' language='LANG_C89'>
+      <function-decl name='jiffies_to_usecs' mangled-name='jiffies_to_usecs' filepath='include/linux/jiffies.h' line='292' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='jiffies_to_usecs'>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-10'/>
+      </function-decl>
+      <function-decl name='nsecs_to_jiffies' mangled-name='nsecs_to_jiffies' filepath='include/linux/jiffies.h' line='459' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nsecs_to_jiffies'>
+        <parameter type-id='type-id-177'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+      <function-decl name='proc_mkdir' mangled-name='proc_mkdir' filepath='include/linux/proc_fs.h' line='24' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='proc_mkdir'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-286'/>
+        <return type-id='type-id-286'/>
+      </function-decl>
+      <function-decl name='proc_create' mangled-name='proc_create' filepath='include/linux/proc_fs.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='proc_create'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-288'/>
+        <parameter type-id='type-id-286'/>
+        <parameter type-id='type-id-1209'/>
+        <return type-id='type-id-286'/>
+      </function-decl>
+      <function-decl name='single_release' mangled-name='single_release' filepath='include/linux/seq_file.h' line='143' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='single_release'>
+        <parameter type-id='type-id-1160'/>
+        <parameter type-id='type-id-147'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/sched/rt.c' language='LANG_C89'>
+      <pointer-type-def type-id='type-id-7622' size-in-bits='64' id='type-id-7787'/>
+      <pointer-type-def type-id='type-id-4802' size-in-bits='64' id='type-id-7788'/>
+      <function-decl name='plist_del' mangled-name='plist_del' filepath='include/linux/plist.h' line='142' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='plist_del'>
+        <parameter type-id='type-id-7788'/>
+        <parameter type-id='type-id-7787'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='plist_add' mangled-name='plist_add' filepath='include/linux/plist.h' line='141' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='plist_add'>
+        <parameter type-id='type-id-7788'/>
+        <parameter type-id='type-id-7787'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/sched/topology.c' language='LANG_C89'>
+      <class-decl name='clk' size-in-bits='512' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-815'/>
+      <class-decl name='cpufreq_stats' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7789'/>
+      <class-decl name='cpufreq_policy' size-in-bits='3200' is-struct='yes' visibility='default' filepath='include/linux/cpufreq.h' line='65' column='1' id='type-id-7790'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cpus' type-id='type-id-371' visibility='default' filepath='include/linux/cpufreq.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='related_cpus' type-id='type-id-371' visibility='default' filepath='include/linux/cpufreq.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='real_cpus' type-id='type-id-371' visibility='default' filepath='include/linux/cpufreq.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='shared_type' type-id='type-id-10' visibility='default' filepath='include/linux/cpufreq.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='cpu' type-id='type-id-10' visibility='default' filepath='include/linux/cpufreq.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='clk' type-id='type-id-529' visibility='default' filepath='include/linux/cpufreq.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='cpuinfo' type-id='type-id-7791' visibility='default' filepath='include/linux/cpufreq.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='min' type-id='type-id-10' visibility='default' filepath='include/linux/cpufreq.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='max' type-id='type-id-10' visibility='default' filepath='include/linux/cpufreq.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='cur' type-id='type-id-10' visibility='default' filepath='include/linux/cpufreq.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='restore_freq' type-id='type-id-10' visibility='default' filepath='include/linux/cpufreq.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='suspend_freq' type-id='type-id-10' visibility='default' filepath='include/linux/cpufreq.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='policy' type-id='type-id-10' visibility='default' filepath='include/linux/cpufreq.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='last_policy' type-id='type-id-10' visibility='default' filepath='include/linux/cpufreq.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='governor' type-id='type-id-7792' visibility='default' filepath='include/linux/cpufreq.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='governor_data' type-id='type-id-3' visibility='default' filepath='include/linux/cpufreq.h' line='88' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='last_governor' type-id='type-id-847' visibility='default' filepath='include/linux/cpufreq.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='update' type-id='type-id-149' visibility='default' filepath='include/linux/cpufreq.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='user_policy' type-id='type-id-7793' visibility='default' filepath='include/linux/cpufreq.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='freq_table' type-id='type-id-7794' visibility='default' filepath='include/linux/cpufreq.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='freq_table_sorted' type-id='type-id-7795' visibility='default' filepath='include/linux/cpufreq.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='policy_list' type-id='type-id-8' visibility='default' filepath='include/linux/cpufreq.h' line='98' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='kobj' type-id='type-id-315' visibility='default' filepath='include/linux/cpufreq.h' line='99' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='kobj_unregister' type-id='type-id-661' visibility='default' filepath='include/linux/cpufreq.h' line='100' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='rwsem' type-id='type-id-139' visibility='default' filepath='include/linux/cpufreq.h' line='110' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='fast_switch_possible' type-id='type-id-211' visibility='default' filepath='include/linux/cpufreq.h' line='120' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2568'>
+          <var-decl name='fast_switch_enabled' type-id='type-id-211' visibility='default' filepath='include/linux/cpufreq.h' line='121' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2592'>
+          <var-decl name='transition_delay_us' type-id='type-id-10' visibility='default' filepath='include/linux/cpufreq.h' line='128' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2624'>
+          <var-decl name='dvfs_possible_from_any_cpu' type-id='type-id-211' visibility='default' filepath='include/linux/cpufreq.h' line='137' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2656'>
+          <var-decl name='cached_target_freq' type-id='type-id-10' visibility='default' filepath='include/linux/cpufreq.h' line='140' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2688'>
+          <var-decl name='cached_resolved_idx' type-id='type-id-11' visibility='default' filepath='include/linux/cpufreq.h' line='141' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2720'>
+          <var-decl name='transition_ongoing' type-id='type-id-211' visibility='default' filepath='include/linux/cpufreq.h' line='144' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2752'>
+          <var-decl name='transition_lock' type-id='type-id-106' visibility='default' filepath='include/linux/cpufreq.h' line='145' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2816'>
+          <var-decl name='transition_wait' type-id='type-id-388' visibility='default' filepath='include/linux/cpufreq.h' line='146' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3008'>
+          <var-decl name='transition_task' type-id='type-id-118' visibility='default' filepath='include/linux/cpufreq.h' line='147' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3072'>
+          <var-decl name='stats' type-id='type-id-7796' visibility='default' filepath='include/linux/cpufreq.h' line='150' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3136'>
+          <var-decl name='driver_data' type-id='type-id-3' visibility='default' filepath='include/linux/cpufreq.h' line='153' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='cpufreq_cpuinfo' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/linux/cpufreq.h' line='52' column='1' id='type-id-7791'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='max_freq' type-id='type-id-10' visibility='default' filepath='include/linux/cpufreq.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='min_freq' type-id='type-id-10' visibility='default' filepath='include/linux/cpufreq.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='transition_latency' type-id='type-id-10' visibility='default' filepath='include/linux/cpufreq.h' line='57' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='cpufreq_governor' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/linux/cpufreq.h' line='500' column='1' id='type-id-7797'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-847' visibility='default' filepath='include/linux/cpufreq.h' line='501' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='init' type-id='type-id-848' visibility='default' filepath='include/linux/cpufreq.h' line='502' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='exit' type-id='type-id-854' visibility='default' filepath='include/linux/cpufreq.h' line='503' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='start' type-id='type-id-848' visibility='default' filepath='include/linux/cpufreq.h' line='504' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='stop' type-id='type-id-854' visibility='default' filepath='include/linux/cpufreq.h' line='505' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='limits' type-id='type-id-854' visibility='default' filepath='include/linux/cpufreq.h' line='506' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='show_setspeed' type-id='type-id-859' visibility='default' filepath='include/linux/cpufreq.h' line='507' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='store_setspeed' type-id='type-id-850' visibility='default' filepath='include/linux/cpufreq.h' line='509' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='dynamic_switching' type-id='type-id-211' visibility='default' filepath='include/linux/cpufreq.h' line='512' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='governor_list' type-id='type-id-8' visibility='default' filepath='include/linux/cpufreq.h' line='513' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/linux/cpufreq.h' line='514' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='cpufreq_user_policy' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/cpufreq.h' line='60' column='1' id='type-id-7793'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='min' type-id='type-id-10' visibility='default' filepath='include/linux/cpufreq.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='max' type-id='type-id-10' visibility='default' filepath='include/linux/cpufreq.h' line='62' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='cpufreq_frequency_table' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/linux/cpufreq.h' line='576' column='1' id='type-id-7798'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='include/linux/cpufreq.h' line='577' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='driver_data' type-id='type-id-10' visibility='default' filepath='include/linux/cpufreq.h' line='578' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='frequency' type-id='type-id-10' visibility='default' filepath='include/linux/cpufreq.h' line='579' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='cpufreq_table_sorting' filepath='include/linux/cpufreq.h' line='39' column='1' id='type-id-7795'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='CPUFREQ_TABLE_UNSORTED' value='0'/>
+        <enumerator name='CPUFREQ_TABLE_SORTED_ASCENDING' value='1'/>
+        <enumerator name='CPUFREQ_TABLE_SORTED_DESCENDING' value='2'/>
+      </enum-decl>
+      <pointer-type-def type-id='type-id-815' size-in-bits='64' id='type-id-529'/>
+      <pointer-type-def type-id='type-id-7798' size-in-bits='64' id='type-id-7794'/>
+      <pointer-type-def type-id='type-id-7797' size-in-bits='64' id='type-id-7792'/>
+      <pointer-type-def type-id='type-id-7790' size-in-bits='64' id='type-id-867'/>
+      <pointer-type-def type-id='type-id-7789' size-in-bits='64' id='type-id-7796'/>
+      <pointer-type-def type-id='type-id-7799' size-in-bits='64' id='type-id-848'/>
+      <pointer-type-def type-id='type-id-7800' size-in-bits='64' id='type-id-850'/>
+      <pointer-type-def type-id='type-id-7801' size-in-bits='64' id='type-id-859'/>
+      <pointer-type-def type-id='type-id-7802' size-in-bits='64' id='type-id-854'/>
+      <function-decl name='cpufreq_cpu_get' mangled-name='cpufreq_cpu_get' filepath='include/linux/cpufreq.h' line='164' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cpufreq_cpu_get'>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-867'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-7799'>
+        <parameter type-id='type-id-867'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7800'>
+        <parameter type-id='type-id-867'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7801'>
+        <parameter type-id='type-id-867'/>
+        <parameter type-id='type-id-300'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7802'>
+        <parameter type-id='type-id-867'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/sched/wait.c' language='LANG_C89'>
+      <typedef-decl name='wait_queue_entry_t' type-id='type-id-7297' filepath='include/linux/wait.h' line='14' column='1' id='type-id-376'/>
+      <pointer-type-def type-id='type-id-376' size-in-bits='64' id='type-id-7803'/>
+      <function-decl name='__init_waitqueue_head' mangled-name='__init_waitqueue_head' filepath='kernel/sched/wait.c' line='8' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__init_waitqueue_head'>
+        <parameter type-id='type-id-7302' name='wq_head' filepath='kernel/sched/wait.c' line='8' column='1'/>
+        <parameter type-id='type-id-24' name='name' filepath='kernel/sched/wait.c' line='8' column='1'/>
+        <parameter type-id='type-id-532' name='key' filepath='kernel/sched/wait.c' line='8' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__wake_up' mangled-name='__wake_up' filepath='kernel/sched/wait.c' line='142' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__wake_up'>
+        <parameter type-id='type-id-7302' name='wq_head' filepath='kernel/sched/wait.c' line='142' column='1'/>
+        <parameter type-id='type-id-10' name='mode' filepath='kernel/sched/wait.c' line='142' column='1'/>
+        <parameter type-id='type-id-11' name='nr_exclusive' filepath='kernel/sched/wait.c' line='143' column='1'/>
+        <parameter type-id='type-id-3' name='key' filepath='kernel/sched/wait.c' line='143' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__wake_up_locked' mangled-name='__wake_up_locked' filepath='kernel/sched/wait.c' line='152' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__wake_up_locked'>
+        <parameter type-id='type-id-7302' name='wq_head' filepath='kernel/sched/wait.c' line='152' column='1'/>
+        <parameter type-id='type-id-10' name='mode' filepath='kernel/sched/wait.c' line='152' column='1'/>
+        <parameter type-id='type-id-11' name='nr' filepath='kernel/sched/wait.c' line='152' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__wake_up_sync_key' mangled-name='__wake_up_sync_key' filepath='kernel/sched/wait.c' line='188' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__wake_up_sync_key'>
+        <parameter type-id='type-id-7302' name='wq_head' filepath='kernel/sched/wait.c' line='188' column='1'/>
+        <parameter type-id='type-id-10' name='mode' filepath='kernel/sched/wait.c' line='188' column='1'/>
+        <parameter type-id='type-id-11' name='nr_exclusive' filepath='kernel/sched/wait.c' line='189' column='1'/>
+        <parameter type-id='type-id-3' name='key' filepath='kernel/sched/wait.c' line='189' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='do_wait_intr' mangled-name='do_wait_intr' filepath='kernel/sched/wait.c' line='304' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='do_wait_intr'>
+        <parameter type-id='type-id-1868' name='wq' filepath='kernel/sched/wait.c' line='304' column='1'/>
+        <parameter type-id='type-id-7803' name='wait' filepath='kernel/sched/wait.c' line='304' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='wait_woken' mangled-name='wait_woken' filepath='kernel/sched/wait.c' line='409' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wait_woken'>
+        <parameter type-id='type-id-7301' name='wq_entry' filepath='kernel/sched/wait.c' line='409' column='1'/>
+        <parameter type-id='type-id-10' name='mode' filepath='kernel/sched/wait.c' line='409' column='1'/>
+        <parameter type-id='type-id-187' name='timeout' filepath='kernel/sched/wait.c' line='409' column='1'/>
+        <return type-id='type-id-187'/>
+      </function-decl>
+      <function-decl name='woken_wake_function' mangled-name='woken_wake_function' filepath='kernel/sched/wait.c' line='434' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='woken_wake_function'>
+        <parameter type-id='type-id-7301' name='wq_entry' filepath='kernel/sched/wait.c' line='434' column='1'/>
+        <parameter type-id='type-id-10' name='mode' filepath='kernel/sched/wait.c' line='434' column='1'/>
+        <parameter type-id='type-id-11' name='sync' filepath='kernel/sched/wait.c' line='434' column='1'/>
+        <parameter type-id='type-id-3' name='key' filepath='kernel/sched/wait.c' line='434' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/signal.c' language='LANG_C89'>
+      <pointer-type-def type-id='type-id-5141' size-in-bits='64' id='type-id-7804'/>
+      <function-decl name='hrtimer_forward' mangled-name='hrtimer_forward' filepath='include/linux/hrtimer.h' line='458' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='hrtimer_forward'>
+        <parameter type-id='type-id-183'/>
+        <parameter type-id='type-id-112'/>
+        <parameter type-id='type-id-112'/>
+        <return type-id='type-id-177'/>
+      </function-decl>
+      <function-decl name='sigprocmask' mangled-name='sigprocmask' filepath='kernel/signal.c' line='2797' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sigprocmask'>
+        <parameter type-id='type-id-11' name='how' filepath='kernel/signal.c' line='2797' column='1'/>
+        <parameter type-id='type-id-7804' name='set' filepath='kernel/signal.c' line='2797' column='1'/>
+        <parameter type-id='type-id-7804' name='oldset' filepath='kernel/signal.c' line='2797' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/smpboot.c' language='LANG_C89'>
+      <function-decl name='schedule_timeout_uninterruptible' mangled-name='schedule_timeout_uninterruptible' filepath='include/linux/sched.h' line='216' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='schedule_timeout_uninterruptible'>
+        <parameter type-id='type-id-187'/>
+        <return type-id='type-id-187'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/softirq.c' language='LANG_C89'>
+      <class-decl name='trace_print_flags' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/tracepoint-defs.h' line='14' column='1' id='type-id-7805'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mask' type-id='type-id-100' visibility='default' filepath='include/linux/tracepoint-defs.h' line='15' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/tracepoint-defs.h' line='16' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='tasklet_struct' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/interrupt.h' line='542' column='1' id='type-id-4062'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='next' type-id='type-id-7806' visibility='default' filepath='include/linux/interrupt.h' line='544' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='state' type-id='type-id-100' visibility='default' filepath='include/linux/interrupt.h' line='545' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='count' type-id='type-id-137' visibility='default' filepath='include/linux/interrupt.h' line='546' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='func' type-id='type-id-7807' visibility='default' filepath='include/linux/interrupt.h' line='547' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='data' type-id='type-id-100' visibility='default' filepath='include/linux/interrupt.h' line='548' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-7805' const='yes' id='type-id-7808'/>
+      <pointer-type-def type-id='type-id-7808' size-in-bits='64' id='type-id-7784'/>
+      <pointer-type-def type-id='type-id-4062' size-in-bits='64' id='type-id-7806'/>
+      <pointer-type-def type-id='type-id-7809' size-in-bits='64' id='type-id-7807'/>
+      <function-decl name='trace_print_symbols_seq' mangled-name='trace_print_symbols_seq' filepath='include/linux/trace_events.h' line='23' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='trace_print_symbols_seq'>
+        <parameter type-id='type-id-6249'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-7784'/>
+        <return type-id='type-id-24'/>
+      </function-decl>
+      <function-decl name='bpf_trace_run3' mangled-name='bpf_trace_run3' filepath='include/linux/trace_events.h' line='594' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bpf_trace_run3'>
+        <parameter type-id='type-id-4913'/>
+        <parameter type-id='type-id-177'/>
+        <parameter type-id='type-id-177'/>
+        <parameter type-id='type-id-177'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='hrtimer_start_range_ns' mangled-name='hrtimer_start_range_ns' filepath='include/linux/hrtimer.h' line='384' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='hrtimer_start_range_ns'>
+        <parameter type-id='type-id-183'/>
+        <parameter type-id='type-id-112'/>
+        <parameter type-id='type-id-177'/>
+        <parameter type-id='type-id-181'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__local_bh_enable_ip' mangled-name='__local_bh_enable_ip' filepath='kernel/softirq.c' line='166' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__local_bh_enable_ip'>
+        <parameter type-id='type-id-100' name='ip' filepath='kernel/softirq.c' line='166' column='1'/>
+        <parameter type-id='type-id-10' name='cnt' filepath='kernel/softirq.c' line='166' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__tasklet_schedule' mangled-name='__tasklet_schedule' filepath='kernel/softirq.c' line='486' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__tasklet_schedule'>
+        <parameter type-id='type-id-7806' name='t' filepath='kernel/softirq.c' line='486' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__tasklet_hi_schedule' mangled-name='__tasklet_hi_schedule' filepath='kernel/softirq.c' line='493' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__tasklet_hi_schedule'>
+        <parameter type-id='type-id-7806' name='t' filepath='kernel/softirq.c' line='493' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='tasklet_init' mangled-name='tasklet_init' filepath='kernel/softirq.c' line='548' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tasklet_init'>
+        <parameter type-id='type-id-7806' name='t' filepath='kernel/softirq.c' line='548' column='1'/>
+        <parameter type-id='type-id-7807' name='func' filepath='kernel/softirq.c' line='549' column='1'/>
+        <parameter type-id='type-id-100' name='data' filepath='kernel/softirq.c' line='549' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='tasklet_kill' mangled-name='tasklet_kill' filepath='kernel/softirq.c' line='559' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tasklet_kill'>
+        <parameter type-id='type-id-7806' name='t' filepath='kernel/softirq.c' line='559' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-7809'>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/stacktrace.c' language='LANG_C89'>
+      <function-decl name='print_stack_trace' mangled-name='print_stack_trace' filepath='kernel/stacktrace.c' line='14' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='print_stack_trace'>
+        <parameter type-id='type-id-180' name='trace' filepath='kernel/stacktrace.c' line='14' column='1'/>
+        <parameter type-id='type-id-11' name='spaces' filepath='kernel/stacktrace.c' line='14' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/sys.c' language='LANG_C89'>
+
+      <array-type-def dimensions='1' type-id='type-id-4898' size-in-bits='192' id='type-id-7810'>
+        <subrange length='3' type-id='type-id-5' id='type-id-1015'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-1107' size-in-bits='80' id='type-id-7811'>
+        <subrange length='5' type-id='type-id-5' id='type-id-3376'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-7812' size-in-bits='152' id='type-id-7813'>
+        <subrange length='19' type-id='type-id-5' id='type-id-7814'/>
+
+      </array-type-def>
+      <class-decl name='proc_dir_entry' size-in-bits='1408' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7815'/>
+      <class-decl name='serial_icounter_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7816'/>
+      <class-decl name='tty_struct' size-in-bits='5632' is-struct='yes' visibility='default' filepath='include/linux/tty.h' line='285' column='1' id='type-id-7817'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='magic' type-id='type-id-11' visibility='default' filepath='include/linux/tty.h' line='286' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='kref' type-id='type-id-771' visibility='default' filepath='include/linux/tty.h' line='287' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/linux/tty.h' line='288' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='driver' type-id='type-id-3764' visibility='default' filepath='include/linux/tty.h' line='289' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='ops' type-id='type-id-7818' visibility='default' filepath='include/linux/tty.h' line='290' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='index' type-id='type-id-11' visibility='default' filepath='include/linux/tty.h' line='291' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='ldisc_sem' type-id='type-id-7819' visibility='default' filepath='include/linux/tty.h' line='294' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='ldisc' type-id='type-id-7820' visibility='default' filepath='include/linux/tty.h' line='295' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='atomic_write_lock' type-id='type-id-407' visibility='default' filepath='include/linux/tty.h' line='297' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='legacy_mutex' type-id='type-id-407' visibility='default' filepath='include/linux/tty.h' line='298' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='throttle_mutex' type-id='type-id-407' visibility='default' filepath='include/linux/tty.h' line='299' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='termios_rwsem' type-id='type-id-139' visibility='default' filepath='include/linux/tty.h' line='300' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='winsize_mutex' type-id='type-id-407' visibility='default' filepath='include/linux/tty.h' line='301' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='ctrl_lock' type-id='type-id-106' visibility='default' filepath='include/linux/tty.h' line='302' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2144'>
+          <var-decl name='flow_lock' type-id='type-id-106' visibility='default' filepath='include/linux/tty.h' line='303' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='termios' type-id='type-id-7821' visibility='default' filepath='include/linux/tty.h' line='305' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2528'>
+          <var-decl name='termios_locked' type-id='type-id-7821' visibility='default' filepath='include/linux/tty.h' line='305' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2880'>
+          <var-decl name='termiox' type-id='type-id-7822' visibility='default' filepath='include/linux/tty.h' line='306' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2944'>
+          <var-decl name='name' type-id='type-id-4264' visibility='default' filepath='include/linux/tty.h' line='307' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3456'>
+          <var-decl name='pgrp' type-id='type-id-1213' visibility='default' filepath='include/linux/tty.h' line='308' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3520'>
+          <var-decl name='session' type-id='type-id-1213' visibility='default' filepath='include/linux/tty.h' line='309' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3584'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/tty.h' line='310' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3648'>
+          <var-decl name='count' type-id='type-id-11' visibility='default' filepath='include/linux/tty.h' line='311' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3680'>
+          <var-decl name='winsize' type-id='type-id-7823' visibility='default' filepath='include/linux/tty.h' line='312' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='stopped' type-id='type-id-100' visibility='default' filepath='include/linux/tty.h' line='313' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='flow_stopped' type-id='type-id-100' visibility='default' filepath='include/linux/tty.h' line='314' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2'>
+          <var-decl name='unused' type-id='type-id-100' visibility='default' filepath='include/linux/tty.h' line='315' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3840'>
+          <var-decl name='hw_stopped' type-id='type-id-11' visibility='default' filepath='include/linux/tty.h' line='316' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='ctrl_status' type-id='type-id-100' visibility='default' filepath='include/linux/tty.h' line='317' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='23'>
+          <var-decl name='packet' type-id='type-id-100' visibility='default' filepath='include/linux/tty.h' line='318' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9'>
+          <var-decl name='unused_ctrl' type-id='type-id-100' visibility='default' filepath='include/linux/tty.h' line='319' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3968'>
+          <var-decl name='receive_room' type-id='type-id-10' visibility='default' filepath='include/linux/tty.h' line='320' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4000'>
+          <var-decl name='flow_change' type-id='type-id-11' visibility='default' filepath='include/linux/tty.h' line='321' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4032'>
+          <var-decl name='link' type-id='type-id-7824' visibility='default' filepath='include/linux/tty.h' line='323' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4096'>
+          <var-decl name='fasync' type-id='type-id-3920' visibility='default' filepath='include/linux/tty.h' line='324' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4160'>
+          <var-decl name='write_wait' type-id='type-id-388' visibility='default' filepath='include/linux/tty.h' line='325' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4352'>
+          <var-decl name='read_wait' type-id='type-id-388' visibility='default' filepath='include/linux/tty.h' line='326' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4544'>
+          <var-decl name='hangup_work' type-id='type-id-149' visibility='default' filepath='include/linux/tty.h' line='327' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4800'>
+          <var-decl name='disc_data' type-id='type-id-3' visibility='default' filepath='include/linux/tty.h' line='328' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4864'>
+          <var-decl name='driver_data' type-id='type-id-3' visibility='default' filepath='include/linux/tty.h' line='329' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4928'>
+          <var-decl name='files_lock' type-id='type-id-106' visibility='default' filepath='include/linux/tty.h' line='330' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4992'>
+          <var-decl name='tty_files' type-id='type-id-8' visibility='default' filepath='include/linux/tty.h' line='331' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5120'>
+          <var-decl name='closing' type-id='type-id-11' visibility='default' filepath='include/linux/tty.h' line='335' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5184'>
+          <var-decl name='write_buf' type-id='type-id-1047' visibility='default' filepath='include/linux/tty.h' line='336' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5248'>
+          <var-decl name='write_cnt' type-id='type-id-11' visibility='default' filepath='include/linux/tty.h' line='337' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5312'>
+          <var-decl name='SAK_work' type-id='type-id-149' visibility='default' filepath='include/linux/tty.h' line='339' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5568'>
+          <var-decl name='port' type-id='type-id-3908' visibility='default' filepath='include/linux/tty.h' line='340' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='tty_driver' size-in-bits='1472' is-struct='yes' visibility='default' filepath='include/linux/tty_driver.h' line='299' column='1' id='type-id-7825'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='magic' type-id='type-id-11' visibility='default' filepath='include/linux/tty_driver.h' line='300' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='kref' type-id='type-id-771' visibility='default' filepath='include/linux/tty_driver.h' line='301' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='cdevs' type-id='type-id-7826' visibility='default' filepath='include/linux/tty_driver.h' line='302' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/linux/tty_driver.h' line='303' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='driver_name' type-id='type-id-24' visibility='default' filepath='include/linux/tty_driver.h' line='304' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/tty_driver.h' line='305' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='name_base' type-id='type-id-11' visibility='default' filepath='include/linux/tty_driver.h' line='306' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='major' type-id='type-id-11' visibility='default' filepath='include/linux/tty_driver.h' line='307' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='minor_start' type-id='type-id-11' visibility='default' filepath='include/linux/tty_driver.h' line='308' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='num' type-id='type-id-10' visibility='default' filepath='include/linux/tty_driver.h' line='309' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='type' type-id='type-id-3521' visibility='default' filepath='include/linux/tty_driver.h' line='310' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='464'>
+          <var-decl name='subtype' type-id='type-id-3521' visibility='default' filepath='include/linux/tty_driver.h' line='311' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='init_termios' type-id='type-id-7821' visibility='default' filepath='include/linux/tty_driver.h' line='312' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/tty_driver.h' line='313' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='proc_entry' type-id='type-id-286' visibility='default' filepath='include/linux/tty_driver.h' line='314' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='other' type-id='type-id-3764' visibility='default' filepath='include/linux/tty_driver.h' line='315' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='ttys' type-id='type-id-7827' visibility='default' filepath='include/linux/tty_driver.h' line='320' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='ports' type-id='type-id-7828' visibility='default' filepath='include/linux/tty_driver.h' line='321' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='termios' type-id='type-id-7829' visibility='default' filepath='include/linux/tty_driver.h' line='322' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='driver_state' type-id='type-id-3' visibility='default' filepath='include/linux/tty_driver.h' line='323' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='ops' type-id='type-id-7818' visibility='default' filepath='include/linux/tty_driver.h' line='329' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='tty_drivers' type-id='type-id-8' visibility='default' filepath='include/linux/tty_driver.h' line='330' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ktermios' size-in-bits='352' is-struct='yes' visibility='default' filepath='include/uapi/asm-generic/termbits.h' line='32' column='1' id='type-id-7821'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='c_iflag' type-id='type-id-7830' visibility='default' filepath='include/uapi/asm-generic/termbits.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='c_oflag' type-id='type-id-7830' visibility='default' filepath='include/uapi/asm-generic/termbits.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='c_cflag' type-id='type-id-7830' visibility='default' filepath='include/uapi/asm-generic/termbits.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='c_lflag' type-id='type-id-7830' visibility='default' filepath='include/uapi/asm-generic/termbits.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='c_line' type-id='type-id-7812' visibility='default' filepath='include/uapi/asm-generic/termbits.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='136'>
+          <var-decl name='c_cc' type-id='type-id-7813' visibility='default' filepath='include/uapi/asm-generic/termbits.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='c_ispeed' type-id='type-id-7831' visibility='default' filepath='include/uapi/asm-generic/termbits.h' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='c_ospeed' type-id='type-id-7831' visibility='default' filepath='include/uapi/asm-generic/termbits.h' line='40' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='tcflag_t' type-id='type-id-10' filepath='include/uapi/asm-generic/termbits.h' line='9' column='1' id='type-id-7830'/>
+      <typedef-decl name='cc_t' type-id='type-id-271' filepath='include/uapi/asm-generic/termbits.h' line='7' column='1' id='type-id-7812'/>
+      <typedef-decl name='speed_t' type-id='type-id-10' filepath='include/uapi/asm-generic/termbits.h' line='8' column='1' id='type-id-7831'/>
+      <class-decl name='tty_port' size-in-bits='2816' is-struct='yes' visibility='default' filepath='include/linux/tty.h' line='230' column='1' id='type-id-3773'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='buf' type-id='type-id-7832' visibility='default' filepath='include/linux/tty.h' line='231' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='tty' type-id='type-id-7824' visibility='default' filepath='include/linux/tty.h' line='232' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='itty' type-id='type-id-7824' visibility='default' filepath='include/linux/tty.h' line='233' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='ops' type-id='type-id-7833' visibility='default' filepath='include/linux/tty.h' line='234' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='client_ops' type-id='type-id-7834' visibility='default' filepath='include/linux/tty.h' line='235' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/linux/tty.h' line='236' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1376'>
+          <var-decl name='blocked_open' type-id='type-id-11' visibility='default' filepath='include/linux/tty.h' line='237' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='count' type-id='type-id-11' visibility='default' filepath='include/linux/tty.h' line='238' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='open_wait' type-id='type-id-388' visibility='default' filepath='include/linux/tty.h' line='239' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='delta_msr_wait' type-id='type-id-388' visibility='default' filepath='include/linux/tty.h' line='240' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/tty.h' line='241' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='iflags' type-id='type-id-100' visibility='default' filepath='include/linux/tty.h' line='242' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7'>
+          <var-decl name='console' type-id='type-id-271' visibility='default' filepath='include/linux/tty.h' line='243' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6'>
+          <var-decl name='low_latency' type-id='type-id-271' visibility='default' filepath='include/linux/tty.h' line='244' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='mutex' type-id='type-id-407' visibility='default' filepath='include/linux/tty.h' line='245' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='buf_mutex' type-id='type-id-407' visibility='default' filepath='include/linux/tty.h' line='246' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='xmit_buf' type-id='type-id-1047' visibility='default' filepath='include/linux/tty.h' line='247' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2624'>
+          <var-decl name='close_delay' type-id='type-id-10' visibility='default' filepath='include/linux/tty.h' line='248' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2656'>
+          <var-decl name='closing_wait' type-id='type-id-10' visibility='default' filepath='include/linux/tty.h' line='249' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2688'>
+          <var-decl name='drain_delay' type-id='type-id-11' visibility='default' filepath='include/linux/tty.h' line='250' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2720'>
+          <var-decl name='kref' type-id='type-id-771' visibility='default' filepath='include/linux/tty.h' line='253' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2752'>
+          <var-decl name='client_data' type-id='type-id-3' visibility='default' filepath='include/linux/tty.h' line='254' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='tty_bufhead' size-in-bits='1088' is-struct='yes' visibility='default' filepath='include/linux/tty.h' line='85' column='1' id='type-id-7832'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='head' type-id='type-id-7835' visibility='default' filepath='include/linux/tty.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='work' type-id='type-id-149' visibility='default' filepath='include/linux/tty.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='lock' type-id='type-id-407' visibility='default' filepath='include/linux/tty.h' line='88' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='priority' type-id='type-id-137' visibility='default' filepath='include/linux/tty.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='sentinel' type-id='type-id-7836' visibility='default' filepath='include/linux/tty.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='free' type-id='type-id-1252' visibility='default' filepath='include/linux/tty.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='mem_used' type-id='type-id-137' visibility='default' filepath='include/linux/tty.h' line='92' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='992'>
+          <var-decl name='mem_limit' type-id='type-id-11' visibility='default' filepath='include/linux/tty.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='tail' type-id='type-id-7835' visibility='default' filepath='include/linux/tty.h' line='94' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='tty_buffer' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/tty.h' line='58' column='1' id='type-id-7836'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='' type-id='type-id-7837' visibility='default' filepath='include/linux/tty.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='used' type-id='type-id-11' visibility='default' filepath='include/linux/tty.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='size' type-id='type-id-11' visibility='default' filepath='include/linux/tty.h' line='64' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='commit' type-id='type-id-11' visibility='default' filepath='include/linux/tty.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='read' type-id='type-id-11' visibility='default' filepath='include/linux/tty.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='flags' type-id='type-id-11' visibility='default' filepath='include/linux/tty.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='data' type-id='type-id-3523' visibility='default' filepath='include/linux/tty.h' line='69' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/tty.h' line='59' column='1' id='type-id-7837'>
+        <data-member access='private'>
+          <var-decl name='next' type-id='type-id-7835' visibility='default' filepath='include/linux/tty.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='free' type-id='type-id-1327' visibility='default' filepath='include/linux/tty.h' line='61' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='llist_head' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/llist.h' line='66' column='1' id='type-id-1252'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='first' type-id='type-id-5010' visibility='default' filepath='include/linux/llist.h' line='67' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='tty_port_operations' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/tty.h' line='205' column='1' id='type-id-7838'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='carrier_raised' type-id='type-id-7839' visibility='default' filepath='include/linux/tty.h' line='207' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dtr_rts' type-id='type-id-7840' visibility='default' filepath='include/linux/tty.h' line='209' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='shutdown' type-id='type-id-7841' visibility='default' filepath='include/linux/tty.h' line='213' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='activate' type-id='type-id-7842' visibility='default' filepath='include/linux/tty.h' line='218' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='destruct' type-id='type-id-7841' visibility='default' filepath='include/linux/tty.h' line='220' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='tty_port_client_operations' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/tty.h' line='223' column='1' id='type-id-7843'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='receive_buf' type-id='type-id-7844' visibility='default' filepath='include/linux/tty.h' line='224' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='write_wakeup' type-id='type-id-7841' visibility='default' filepath='include/linux/tty.h' line='225' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='tty_operations' size-in-bits='2048' is-struct='yes' visibility='default' filepath='include/linux/tty_driver.h' line='253' column='1' id='type-id-7845'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lookup' type-id='type-id-7846' visibility='default' filepath='include/linux/tty_driver.h' line='254' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='install' type-id='type-id-7847' visibility='default' filepath='include/linux/tty_driver.h' line='256' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='remove' type-id='type-id-7848' visibility='default' filepath='include/linux/tty_driver.h' line='257' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='open' type-id='type-id-7849' visibility='default' filepath='include/linux/tty_driver.h' line='258' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='close' type-id='type-id-7850' visibility='default' filepath='include/linux/tty_driver.h' line='259' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='shutdown' type-id='type-id-7851' visibility='default' filepath='include/linux/tty_driver.h' line='260' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='cleanup' type-id='type-id-7851' visibility='default' filepath='include/linux/tty_driver.h' line='261' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='write' type-id='type-id-7852' visibility='default' filepath='include/linux/tty_driver.h' line='262' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='put_char' type-id='type-id-7853' visibility='default' filepath='include/linux/tty_driver.h' line='264' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='flush_chars' type-id='type-id-7851' visibility='default' filepath='include/linux/tty_driver.h' line='265' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='write_room' type-id='type-id-7854' visibility='default' filepath='include/linux/tty_driver.h' line='266' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='chars_in_buffer' type-id='type-id-7854' visibility='default' filepath='include/linux/tty_driver.h' line='267' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='ioctl' type-id='type-id-7855' visibility='default' filepath='include/linux/tty_driver.h' line='268' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='compat_ioctl' type-id='type-id-7856' visibility='default' filepath='include/linux/tty_driver.h' line='270' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='set_termios' type-id='type-id-7857' visibility='default' filepath='include/linux/tty_driver.h' line='272' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='throttle' type-id='type-id-7851' visibility='default' filepath='include/linux/tty_driver.h' line='273' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='unthrottle' type-id='type-id-7851' visibility='default' filepath='include/linux/tty_driver.h' line='274' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='stop' type-id='type-id-7851' visibility='default' filepath='include/linux/tty_driver.h' line='275' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='start' type-id='type-id-7851' visibility='default' filepath='include/linux/tty_driver.h' line='276' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='hangup' type-id='type-id-7851' visibility='default' filepath='include/linux/tty_driver.h' line='277' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='break_ctl' type-id='type-id-7858' visibility='default' filepath='include/linux/tty_driver.h' line='278' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='flush_buffer' type-id='type-id-7851' visibility='default' filepath='include/linux/tty_driver.h' line='279' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='set_ldisc' type-id='type-id-7851' visibility='default' filepath='include/linux/tty_driver.h' line='280' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='wait_until_sent' type-id='type-id-7859' visibility='default' filepath='include/linux/tty_driver.h' line='281' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='send_xchar' type-id='type-id-7860' visibility='default' filepath='include/linux/tty_driver.h' line='282' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='tiocmget' type-id='type-id-7854' visibility='default' filepath='include/linux/tty_driver.h' line='283' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='tiocmset' type-id='type-id-7861' visibility='default' filepath='include/linux/tty_driver.h' line='284' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='resize' type-id='type-id-7862' visibility='default' filepath='include/linux/tty_driver.h' line='286' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='set_termiox' type-id='type-id-7863' visibility='default' filepath='include/linux/tty_driver.h' line='287' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='get_icount' type-id='type-id-7864' visibility='default' filepath='include/linux/tty_driver.h' line='288' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='show_fdinfo' type-id='type-id-7865' visibility='default' filepath='include/linux/tty_driver.h' line='290' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='proc_show' type-id='type-id-4523' visibility='default' filepath='include/linux/tty_driver.h' line='296' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='winsize' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/asm-generic/termios.h' line='15' column='1' id='type-id-7823'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ws_row' type-id='type-id-288' visibility='default' filepath='include/uapi/asm-generic/termios.h' line='16' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='ws_col' type-id='type-id-288' visibility='default' filepath='include/uapi/asm-generic/termios.h' line='17' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='ws_xpixel' type-id='type-id-288' visibility='default' filepath='include/uapi/asm-generic/termios.h' line='18' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='ws_ypixel' type-id='type-id-288' visibility='default' filepath='include/uapi/asm-generic/termios.h' line='19' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='termiox' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/termios.h' line='10' column='1' id='type-id-7866'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='x_hflag' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/termios.h' line='12' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='x_cflag' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/termios.h' line='13' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='x_rflag' type-id='type-id-7811' visibility='default' filepath='include/uapi/linux/termios.h' line='14' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='112'>
+          <var-decl name='x_sflag' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/termios.h' line='15' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ld_semaphore' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/tty_ldisc.h' line='127' column='1' id='type-id-7819'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='count' type-id='type-id-138' visibility='default' filepath='include/linux/tty_ldisc.h' line='128' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='wait_lock' type-id='type-id-5119' visibility='default' filepath='include/linux/tty_ldisc.h' line='129' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='wait_readers' type-id='type-id-10' visibility='default' filepath='include/linux/tty_ldisc.h' line='130' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='read_wait' type-id='type-id-8' visibility='default' filepath='include/linux/tty_ldisc.h' line='131' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='write_wait' type-id='type-id-8' visibility='default' filepath='include/linux/tty_ldisc.h' line='132' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='tty_ldisc' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/tty_ldisc.h' line='209' column='1' id='type-id-7867'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ops' type-id='type-id-7868' visibility='default' filepath='include/linux/tty_ldisc.h' line='210' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='tty' type-id='type-id-7824' visibility='default' filepath='include/linux/tty_ldisc.h' line='211' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='tty_ldisc_ops' size-in-bits='1216' is-struct='yes' visibility='default' filepath='include/linux/tty_ldisc.h' line='169' column='1' id='type-id-7869'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='magic' type-id='type-id-11' visibility='default' filepath='include/linux/tty_ldisc.h' line='170' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='name' type-id='type-id-300' visibility='default' filepath='include/linux/tty_ldisc.h' line='171' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='num' type-id='type-id-11' visibility='default' filepath='include/linux/tty_ldisc.h' line='172' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='flags' type-id='type-id-11' visibility='default' filepath='include/linux/tty_ldisc.h' line='173' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='open' type-id='type-id-7854' visibility='default' filepath='include/linux/tty_ldisc.h' line='178' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='close' type-id='type-id-7851' visibility='default' filepath='include/linux/tty_ldisc.h' line='179' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='flush_buffer' type-id='type-id-7851' visibility='default' filepath='include/linux/tty_ldisc.h' line='180' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='read' type-id='type-id-7870' visibility='default' filepath='include/linux/tty_ldisc.h' line='181' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='write' type-id='type-id-7871' visibility='default' filepath='include/linux/tty_ldisc.h' line='183' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='ioctl' type-id='type-id-7872' visibility='default' filepath='include/linux/tty_ldisc.h' line='185' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='compat_ioctl' type-id='type-id-7873' visibility='default' filepath='include/linux/tty_ldisc.h' line='187' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='set_termios' type-id='type-id-7857' visibility='default' filepath='include/linux/tty_ldisc.h' line='189' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='poll' type-id='type-id-7874' visibility='default' filepath='include/linux/tty_ldisc.h' line='190' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='hangup' type-id='type-id-7854' visibility='default' filepath='include/linux/tty_ldisc.h' line='192' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='receive_buf' type-id='type-id-7875' visibility='default' filepath='include/linux/tty_ldisc.h' line='197' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='write_wakeup' type-id='type-id-7851' visibility='default' filepath='include/linux/tty_ldisc.h' line='199' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='dcd_change' type-id='type-id-7876' visibility='default' filepath='include/linux/tty_ldisc.h' line='200' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='receive_buf2' type-id='type-id-7877' visibility='default' filepath='include/linux/tty_ldisc.h' line='201' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/linux/tty_ldisc.h' line='204' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='refcount' type-id='type-id-11' visibility='default' filepath='include/linux/tty_ldisc.h' line='206' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='sysinfo' size-in-bits='896' is-struct='yes' visibility='default' filepath='include/uapi/linux/sysinfo.h' line='8' column='1' id='type-id-7878'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='uptime' type-id='type-id-2575' visibility='default' filepath='include/uapi/linux/sysinfo.h' line='9' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='loads' type-id='type-id-7810' visibility='default' filepath='include/uapi/linux/sysinfo.h' line='10' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='totalram' type-id='type-id-4898' visibility='default' filepath='include/uapi/linux/sysinfo.h' line='11' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='freeram' type-id='type-id-4898' visibility='default' filepath='include/uapi/linux/sysinfo.h' line='12' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='sharedram' type-id='type-id-4898' visibility='default' filepath='include/uapi/linux/sysinfo.h' line='13' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='bufferram' type-id='type-id-4898' visibility='default' filepath='include/uapi/linux/sysinfo.h' line='14' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='totalswap' type-id='type-id-4898' visibility='default' filepath='include/uapi/linux/sysinfo.h' line='15' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='freeswap' type-id='type-id-4898' visibility='default' filepath='include/uapi/linux/sysinfo.h' line='16' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='procs' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/sysinfo.h' line='17' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='656'>
+          <var-decl name='pad' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/sysinfo.h' line='18' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='totalhigh' type-id='type-id-4898' visibility='default' filepath='include/uapi/linux/sysinfo.h' line='19' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='freehigh' type-id='type-id-4898' visibility='default' filepath='include/uapi/linux/sysinfo.h' line='20' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='mem_unit' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/sysinfo.h' line='21' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='864'>
+          <var-decl name='_f' type-id='type-id-1049' visibility='default' filepath='include/uapi/linux/sysinfo.h' line='22' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-2346' size-in-bits='64' id='type-id-7826'/>
+      <qualified-type-def type-id='type-id-7845' const='yes' id='type-id-7879'/>
+      <pointer-type-def type-id='type-id-7879' size-in-bits='64' id='type-id-7818'/>
+      <qualified-type-def type-id='type-id-7843' const='yes' id='type-id-7880'/>
+      <pointer-type-def type-id='type-id-7880' size-in-bits='64' id='type-id-7834'/>
+      <qualified-type-def type-id='type-id-7838' const='yes' id='type-id-7881'/>
+      <pointer-type-def type-id='type-id-7881' size-in-bits='64' id='type-id-7833'/>
+      <pointer-type-def type-id='type-id-7882' size-in-bits='64' id='type-id-7847'/>
+      <pointer-type-def type-id='type-id-7883' size-in-bits='64' id='type-id-7839'/>
+      <pointer-type-def type-id='type-id-7884' size-in-bits='64' id='type-id-7844'/>
+      <pointer-type-def type-id='type-id-7885' size-in-bits='64' id='type-id-7842'/>
+      <pointer-type-def type-id='type-id-7886' size-in-bits='64' id='type-id-7854'/>
+      <pointer-type-def type-id='type-id-7887' size-in-bits='64' id='type-id-7877'/>
+      <pointer-type-def type-id='type-id-7888' size-in-bits='64' id='type-id-7852'/>
+      <pointer-type-def type-id='type-id-7889' size-in-bits='64' id='type-id-7849'/>
+      <pointer-type-def type-id='type-id-7890' size-in-bits='64' id='type-id-7872'/>
+      <pointer-type-def type-id='type-id-7891' size-in-bits='64' id='type-id-7858'/>
+      <pointer-type-def type-id='type-id-7892' size-in-bits='64' id='type-id-7864'/>
+      <pointer-type-def type-id='type-id-7893' size-in-bits='64' id='type-id-7863'/>
+      <pointer-type-def type-id='type-id-7894' size-in-bits='64' id='type-id-7853'/>
+      <pointer-type-def type-id='type-id-7895' size-in-bits='64' id='type-id-7861'/>
+      <pointer-type-def type-id='type-id-7896' size-in-bits='64' id='type-id-7855'/>
+      <pointer-type-def type-id='type-id-7897' size-in-bits='64' id='type-id-7862'/>
+      <pointer-type-def type-id='type-id-7821' size-in-bits='64' id='type-id-3829'/>
+      <pointer-type-def type-id='type-id-3829' size-in-bits='64' id='type-id-7829'/>
+      <pointer-type-def type-id='type-id-7898' size-in-bits='64' id='type-id-7873'/>
+      <pointer-type-def type-id='type-id-7899' size-in-bits='64' id='type-id-7856'/>
+      <pointer-type-def type-id='type-id-7815' size-in-bits='64' id='type-id-286'/>
+      <pointer-type-def type-id='type-id-7816' size-in-bits='64' id='type-id-7900'/>
+      <pointer-type-def type-id='type-id-7878' size-in-bits='64' id='type-id-7901'/>
+      <pointer-type-def type-id='type-id-7866' size-in-bits='64' id='type-id-7822'/>
+      <pointer-type-def type-id='type-id-7836' size-in-bits='64' id='type-id-7835'/>
+      <pointer-type-def type-id='type-id-7825' size-in-bits='64' id='type-id-3764'/>
+      <pointer-type-def type-id='type-id-7867' size-in-bits='64' id='type-id-7820'/>
+      <pointer-type-def type-id='type-id-7869' size-in-bits='64' id='type-id-7868'/>
+      <pointer-type-def type-id='type-id-3773' size-in-bits='64' id='type-id-3908'/>
+      <pointer-type-def type-id='type-id-3908' size-in-bits='64' id='type-id-7828'/>
+      <pointer-type-def type-id='type-id-7817' size-in-bits='64' id='type-id-7824'/>
+      <pointer-type-def type-id='type-id-7902' size-in-bits='64' id='type-id-7846'/>
+      <pointer-type-def type-id='type-id-7824' size-in-bits='64' id='type-id-7827'/>
+      <pointer-type-def type-id='type-id-7903' size-in-bits='64' id='type-id-7874'/>
+      <pointer-type-def type-id='type-id-7904' size-in-bits='64' id='type-id-7871'/>
+      <pointer-type-def type-id='type-id-7905' size-in-bits='64' id='type-id-7870'/>
+      <pointer-type-def type-id='type-id-7906' size-in-bits='64' id='type-id-7848'/>
+      <pointer-type-def type-id='type-id-7907' size-in-bits='64' id='type-id-7841'/>
+      <pointer-type-def type-id='type-id-7908' size-in-bits='64' id='type-id-7840'/>
+      <pointer-type-def type-id='type-id-7909' size-in-bits='64' id='type-id-7851'/>
+      <pointer-type-def type-id='type-id-7910' size-in-bits='64' id='type-id-7860'/>
+      <pointer-type-def type-id='type-id-7911' size-in-bits='64' id='type-id-7875'/>
+      <pointer-type-def type-id='type-id-7912' size-in-bits='64' id='type-id-7850'/>
+      <pointer-type-def type-id='type-id-7913' size-in-bits='64' id='type-id-7859'/>
+      <pointer-type-def type-id='type-id-7914' size-in-bits='64' id='type-id-7857'/>
+      <pointer-type-def type-id='type-id-7915' size-in-bits='64' id='type-id-7865'/>
+      <pointer-type-def type-id='type-id-7916' size-in-bits='64' id='type-id-7876'/>
+      <pointer-type-def type-id='type-id-7823' size-in-bits='64' id='type-id-7917'/>
+      <function-decl name='set_user_nice' mangled-name='set_user_nice' filepath='include/linux/sched.h' line='1590' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='set_user_nice'>
+        <parameter type-id='type-id-118'/>
+        <parameter type-id='type-id-187'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='scnprintf' mangled-name='scnprintf' filepath='include/linux/kernel.h' line='489' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='scnprintf'>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-24'/>
+        <parameter is-variadic='yes'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='strncpy_from_user' mangled-name='strncpy_from_user' filepath='arch/arm64/include/asm/uaccess.h' line='440' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strncpy_from_user'>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-187'/>
+        <return type-id='type-id-187'/>
+      </function-decl>
+      <function-decl name='si_meminfo' mangled-name='si_meminfo' filepath='include/linux/mm.h' line='2226' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='si_meminfo'>
+        <parameter type-id='type-id-7901'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='ns_to_timespec64' mangled-name='ns_to_timespec64' filepath='include/linux/time64.h' line='150' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ns_to_timespec64'>
+        <parameter type-id='type-id-112'/>
+        <return type-id='type-id-5030'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-7882'>
+        <parameter type-id='type-id-3764'/>
+        <parameter type-id='type-id-7824'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7883'>
+        <parameter type-id='type-id-3908'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7884'>
+        <parameter type-id='type-id-3908'/>
+        <parameter type-id='type-id-984'/>
+        <parameter type-id='type-id-984'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7885'>
+        <parameter type-id='type-id-3908'/>
+        <parameter type-id='type-id-7824'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7886'>
+        <parameter type-id='type-id-7824'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7887'>
+        <parameter type-id='type-id-7824'/>
+        <parameter type-id='type-id-984'/>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7888'>
+        <parameter type-id='type-id-7824'/>
+        <parameter type-id='type-id-984'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7889'>
+        <parameter type-id='type-id-7824'/>
+        <parameter type-id='type-id-147'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7890'>
+        <parameter type-id='type-id-7824'/>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7891'>
+        <parameter type-id='type-id-7824'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7892'>
+        <parameter type-id='type-id-7824'/>
+        <parameter type-id='type-id-7900'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7893'>
+        <parameter type-id='type-id-7824'/>
+        <parameter type-id='type-id-7822'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7894'>
+        <parameter type-id='type-id-7824'/>
+        <parameter type-id='type-id-271'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7895'>
+        <parameter type-id='type-id-7824'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7896'>
+        <parameter type-id='type-id-7824'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7897'>
+        <parameter type-id='type-id-7824'/>
+        <parameter type-id='type-id-7917'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7898'>
+        <parameter type-id='type-id-7824'/>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-187'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7899'>
+        <parameter type-id='type-id-7824'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-187'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7902'>
+        <parameter type-id='type-id-3764'/>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-7824'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7903'>
+        <parameter type-id='type-id-7824'/>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-1833'/>
+        <return type-id='type-id-1834'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7904'>
+        <parameter type-id='type-id-7824'/>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-984'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7905'>
+        <parameter type-id='type-id-7824'/>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-1047'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7906'>
+        <parameter type-id='type-id-3764'/>
+        <parameter type-id='type-id-7824'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7907'>
+        <parameter type-id='type-id-3908'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7908'>
+        <parameter type-id='type-id-3908'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7909'>
+        <parameter type-id='type-id-7824'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7910'>
+        <parameter type-id='type-id-7824'/>
+        <parameter type-id='type-id-475'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7911'>
+        <parameter type-id='type-id-7824'/>
+        <parameter type-id='type-id-984'/>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7912'>
+        <parameter type-id='type-id-7824'/>
+        <parameter type-id='type-id-147'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7913'>
+        <parameter type-id='type-id-7824'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7914'>
+        <parameter type-id='type-id-7824'/>
+        <parameter type-id='type-id-3829'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7915'>
+        <parameter type-id='type-id-7824'/>
+        <parameter type-id='type-id-85'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7916'>
+        <parameter type-id='type-id-7824'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/sysctl.c' language='LANG_C89'>
+      <function-decl name='register_sysctl_table' mangled-name='register_sysctl_table' filepath='include/linux/sysctl.h' line='194' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='register_sysctl_table'>
+        <parameter type-id='type-id-75'/>
+        <return type-id='type-id-5655'/>
+      </function-decl>
+      <function-decl name='skip_spaces' mangled-name='skip_spaces' filepath='include/linux/string.h' line='67' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skip_spaces'>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-300'/>
+      </function-decl>
+      <function-decl name='proc_dostring' mangled-name='proc_dostring' filepath='kernel/sysctl.c' line='2101' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='proc_dostring'>
+        <parameter type-id='type-id-75' name='table' filepath='kernel/sysctl.c' line='2101' column='1'/>
+        <parameter type-id='type-id-11' name='write' filepath='kernel/sysctl.c' line='2101' column='1'/>
+        <parameter type-id='type-id-3' name='buffer' filepath='kernel/sysctl.c' line='2102' column='1'/>
+        <parameter type-id='type-id-1703' name='lenp' filepath='kernel/sysctl.c' line='2102' column='1'/>
+        <parameter type-id='type-id-1705' name='ppos' filepath='kernel/sysctl.c' line='2102' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='proc_doulongvec_minmax' mangled-name='proc_doulongvec_minmax' filepath='kernel/sysctl.c' line='2911' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='proc_doulongvec_minmax'>
+        <parameter type-id='type-id-75' name='table' filepath='kernel/sysctl.c' line='2911' column='1'/>
+        <parameter type-id='type-id-11' name='write' filepath='kernel/sysctl.c' line='2911' column='1'/>
+        <parameter type-id='type-id-3' name='buffer' filepath='kernel/sysctl.c' line='2912' column='1'/>
+        <parameter type-id='type-id-1703' name='lenp' filepath='kernel/sysctl.c' line='2912' column='1'/>
+        <parameter type-id='type-id-1705' name='ppos' filepath='kernel/sysctl.c' line='2912' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/taskstats.c' language='LANG_C89'>
+      <class-decl name='genl_family' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/net/genetlink.h' line='51' column='1' id='type-id-7918'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='id' type-id='type-id-11' visibility='default' filepath='include/net/genetlink.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='hdrsize' type-id='type-id-10' visibility='default' filepath='include/net/genetlink.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='name' type-id='type-id-847' visibility='default' filepath='include/net/genetlink.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='version' type-id='type-id-10' visibility='default' filepath='include/net/genetlink.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='maxattr' type-id='type-id-10' visibility='default' filepath='include/net/genetlink.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='netnsok' type-id='type-id-211' visibility='default' filepath='include/net/genetlink.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='264'>
+          <var-decl name='parallel_ops' type-id='type-id-211' visibility='default' filepath='include/net/genetlink.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='pre_doit' type-id='type-id-7919' visibility='default' filepath='include/net/genetlink.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='post_doit' type-id='type-id-7920' visibility='default' filepath='include/net/genetlink.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='mcast_bind' type-id='type-id-7921' visibility='default' filepath='include/net/genetlink.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='mcast_unbind' type-id='type-id-7922' visibility='default' filepath='include/net/genetlink.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='attrbuf' type-id='type-id-7158' visibility='default' filepath='include/net/genetlink.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='ops' type-id='type-id-7923' visibility='default' filepath='include/net/genetlink.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='mcgrps' type-id='type-id-7924' visibility='default' filepath='include/net/genetlink.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='n_ops' type-id='type-id-10' visibility='default' filepath='include/net/genetlink.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='800'>
+          <var-decl name='n_mcgrps' type-id='type-id-10' visibility='default' filepath='include/net/genetlink.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='mcgrp_offset' type-id='type-id-10' visibility='default' filepath='include/net/genetlink.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='module' type-id='type-id-161' visibility='default' filepath='include/net/genetlink.h' line='73' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='genl_ops' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/net/genetlink.h' line='133' column='1' id='type-id-7925'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='policy' type-id='type-id-6628' visibility='default' filepath='include/net/genetlink.h' line='134' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='doit' type-id='type-id-7926' visibility='default' filepath='include/net/genetlink.h' line='135' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='start' type-id='type-id-6684' visibility='default' filepath='include/net/genetlink.h' line='137' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='dumpit' type-id='type-id-6683' visibility='default' filepath='include/net/genetlink.h' line='138' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='done' type-id='type-id-6684' visibility='default' filepath='include/net/genetlink.h' line='140' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='cmd' type-id='type-id-53' visibility='default' filepath='include/net/genetlink.h' line='141' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='328'>
+          <var-decl name='internal_flags' type-id='type-id-53' visibility='default' filepath='include/net/genetlink.h' line='142' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='336'>
+          <var-decl name='flags' type-id='type-id-53' visibility='default' filepath='include/net/genetlink.h' line='143' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='genl_info' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/net/genetlink.h' line='90' column='1' id='type-id-7927'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='snd_seq' type-id='type-id-9' visibility='default' filepath='include/net/genetlink.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='snd_portid' type-id='type-id-9' visibility='default' filepath='include/net/genetlink.h' line='92' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='nlhdr' type-id='type-id-7159' visibility='default' filepath='include/net/genetlink.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='genlhdr' type-id='type-id-7928' visibility='default' filepath='include/net/genetlink.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='userhdr' type-id='type-id-3' visibility='default' filepath='include/net/genetlink.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='attrs' type-id='type-id-7158' visibility='default' filepath='include/net/genetlink.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='_net' type-id='type-id-6469' visibility='default' filepath='include/net/genetlink.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='user_ptr' type-id='type-id-4837' visibility='default' filepath='include/net/genetlink.h' line='98' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='extack' type-id='type-id-6697' visibility='default' filepath='include/net/genetlink.h' line='99' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='genlmsghdr' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/uapi/linux/genetlink.h' line='13' column='1' id='type-id-7929'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cmd' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/genetlink.h' line='14' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='version' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/genetlink.h' line='15' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='reserved' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/genetlink.h' line='16' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='genl_multicast_group' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/net/genetlink.h' line='15' column='1' id='type-id-7930'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-847' visibility='default' filepath='include/net/genetlink.h' line='16' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-7918' const='yes' id='type-id-7931'/>
+      <pointer-type-def type-id='type-id-7931' size-in-bits='64' id='type-id-3727'/>
+      <qualified-type-def type-id='type-id-7930' const='yes' id='type-id-7932'/>
+      <pointer-type-def type-id='type-id-7932' size-in-bits='64' id='type-id-7924'/>
+      <qualified-type-def type-id='type-id-7925' const='yes' id='type-id-7933'/>
+      <pointer-type-def type-id='type-id-7933' size-in-bits='64' id='type-id-7923'/>
+      <pointer-type-def type-id='type-id-7918' size-in-bits='64' id='type-id-7934'/>
+      <pointer-type-def type-id='type-id-7927' size-in-bits='64' id='type-id-7935'/>
+      <pointer-type-def type-id='type-id-7929' size-in-bits='64' id='type-id-7928'/>
+      <pointer-type-def type-id='type-id-7936' size-in-bits='64' id='type-id-7919'/>
+      <pointer-type-def type-id='type-id-7937' size-in-bits='64' id='type-id-7921'/>
+      <pointer-type-def type-id='type-id-7938' size-in-bits='64' id='type-id-7926'/>
+      <pointer-type-def type-id='type-id-7939' size-in-bits='64' id='type-id-7920'/>
+      <pointer-type-def type-id='type-id-7940' size-in-bits='64' id='type-id-7922'/>
+      <function-decl name='genlmsg_put' mangled-name='genlmsg_put' filepath='include/net/genetlink.h' line='151' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='genlmsg_put'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-3727'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-271'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='nla_strlcpy' mangled-name='nla_strlcpy' filepath='include/net/netlink.h' line='254' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nla_strlcpy'>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-6649'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+      <function-decl name='nla_reserve' mangled-name='nla_reserve' filepath='include/net/netlink.h' line='263' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nla_reserve'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-6867'/>
+      </function-decl>
+      <function-decl name='nla_put' mangled-name='nla_put' filepath='include/net/netlink.h' line='272' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nla_put'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='nla_reserve_64bit' mangled-name='nla_reserve_64bit' filepath='include/net/netlink.h' line='264' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nla_reserve_64bit'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-6867'/>
+      </function-decl>
+      <function-decl name='skb_trim' mangled-name='skb_trim' filepath='include/linux/skbuff.h' line='2534' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_trim'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='skb_clone' mangled-name='skb_clone' filepath='include/linux/skbuff.h' line='1043' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_clone'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-513'/>
+      </function-decl>
+      <function-decl name='genl_register_family' mangled-name='genl_register_family' filepath='include/net/genetlink.h' line='146' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='genl_register_family'>
+        <parameter type-id='type-id-7934'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-7936'>
+        <parameter type-id='type-id-7923'/>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-7935'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7937'>
+        <parameter type-id='type-id-2984'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7938'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-7935'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7939'>
+        <parameter type-id='type-id-7923'/>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-7935'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7940'>
+        <parameter type-id='type-id-2984'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/time/alarmtimer.c' language='LANG_C89'>
+      <class-decl name='mfd_cell' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7941'/>
+      <class-decl name='nvmem_device' size-in-bits='7296' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7942'/>
+      <class-decl name='platform_device_id' size-in-bits='256' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-7943'/>
+      <class-decl name='property_entry' size-in-bits='256' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-563'/>
+      <class-decl name='platform_driver' size-in-bits='1536' is-struct='yes' visibility='default' filepath='include/linux/platform_device.h' line='180' column='1' id='type-id-7944'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='probe' type-id='type-id-7945' visibility='default' filepath='include/linux/platform_device.h' line='181' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='remove' type-id='type-id-7945' visibility='default' filepath='include/linux/platform_device.h' line='182' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='shutdown' type-id='type-id-7946' visibility='default' filepath='include/linux/platform_device.h' line='183' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='suspend' type-id='type-id-7947' visibility='default' filepath='include/linux/platform_device.h' line='184' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='resume' type-id='type-id-7945' visibility='default' filepath='include/linux/platform_device.h' line='185' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='driver' type-id='type-id-324' visibility='default' filepath='include/linux/platform_device.h' line='186' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='id_table' type-id='type-id-7948' visibility='default' filepath='include/linux/platform_device.h' line='187' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='prevent_deferred_probe' type-id='type-id-211' visibility='default' filepath='include/linux/platform_device.h' line='188' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='platform_device' size-in-bits='6656' is-struct='yes' visibility='default' filepath='include/linux/platform_device.h' line='23' column='1' id='type-id-7949'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/platform_device.h' line='24' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='id' type-id='type-id-11' visibility='default' filepath='include/linux/platform_device.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='id_auto' type-id='type-id-211' visibility='default' filepath='include/linux/platform_device.h' line='26' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='include/linux/platform_device.h' line='27' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6336'>
+          <var-decl name='num_resources' type-id='type-id-9' visibility='default' filepath='include/linux/platform_device.h' line='28' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6400'>
+          <var-decl name='resource' type-id='type-id-279' visibility='default' filepath='include/linux/platform_device.h' line='29' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6464'>
+          <var-decl name='id_entry' type-id='type-id-7948' visibility='default' filepath='include/linux/platform_device.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6528'>
+          <var-decl name='driver_override' type-id='type-id-300' visibility='default' filepath='include/linux/platform_device.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6592'>
+          <var-decl name='mfd_cell' type-id='type-id-7950' visibility='default' filepath='include/linux/platform_device.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6656'>
+          <var-decl name='archdata' type-id='type-id-7951' visibility='default' filepath='include/linux/platform_device.h' line='38' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='pdev_archdata' is-struct='yes' visibility='default' filepath='arch/arm64/include/asm/device.h' line='29' column='1' id='type-id-7951'/>
+      <class-decl name='rtc_device' size-in-bits='10688' is-struct='yes' visibility='default' filepath='include/linux/rtc.h' line='102' column='1' id='type-id-7952'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='include/linux/rtc.h' line='103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6208'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/linux/rtc.h' line='104' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6272'>
+          <var-decl name='id' type-id='type-id-11' visibility='default' filepath='include/linux/rtc.h' line='106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6336'>
+          <var-decl name='ops' type-id='type-id-3448' visibility='default' filepath='include/linux/rtc.h' line='108' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6400'>
+          <var-decl name='ops_lock' type-id='type-id-407' visibility='default' filepath='include/linux/rtc.h' line='109' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6656'>
+          <var-decl name='char_dev' type-id='type-id-1036' visibility='default' filepath='include/linux/rtc.h' line='111' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7488'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/rtc.h' line='112' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7552'>
+          <var-decl name='irq_data' type-id='type-id-100' visibility='default' filepath='include/linux/rtc.h' line='114' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7616'>
+          <var-decl name='irq_lock' type-id='type-id-106' visibility='default' filepath='include/linux/rtc.h' line='115' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7680'>
+          <var-decl name='irq_queue' type-id='type-id-388' visibility='default' filepath='include/linux/rtc.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7872'>
+          <var-decl name='async_queue' type-id='type-id-3920' visibility='default' filepath='include/linux/rtc.h' line='117' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7936'>
+          <var-decl name='irq_freq' type-id='type-id-11' visibility='default' filepath='include/linux/rtc.h' line='119' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7968'>
+          <var-decl name='max_user_freq' type-id='type-id-11' visibility='default' filepath='include/linux/rtc.h' line='120' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8000'>
+          <var-decl name='timerqueue' type-id='type-id-5176' visibility='default' filepath='include/linux/rtc.h' line='122' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8128'>
+          <var-decl name='aie_timer' type-id='type-id-7953' visibility='default' filepath='include/linux/rtc.h' line='123' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8640'>
+          <var-decl name='uie_rtctimer' type-id='type-id-7953' visibility='default' filepath='include/linux/rtc.h' line='124' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9152'>
+          <var-decl name='pie_timer' type-id='type-id-2120' visibility='default' filepath='include/linux/rtc.h' line='125' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9664'>
+          <var-decl name='pie_enabled' type-id='type-id-11' visibility='default' filepath='include/linux/rtc.h' line='126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9728'>
+          <var-decl name='irqwork' type-id='type-id-149' visibility='default' filepath='include/linux/rtc.h' line='127' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9984'>
+          <var-decl name='uie_unsupported' type-id='type-id-11' visibility='default' filepath='include/linux/rtc.h' line='129' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10048'>
+          <var-decl name='set_offset_nsec' type-id='type-id-187' visibility='default' filepath='include/linux/rtc.h' line='137' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10112'>
+          <var-decl name='registered' type-id='type-id-211' visibility='default' filepath='include/linux/rtc.h' line='139' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10176'>
+          <var-decl name='nvmem' type-id='type-id-3104' visibility='default' filepath='include/linux/rtc.h' line='141' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10240'>
+          <var-decl name='nvram_old_abi' type-id='type-id-211' visibility='default' filepath='include/linux/rtc.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10304'>
+          <var-decl name='nvram' type-id='type-id-273' visibility='default' filepath='include/linux/rtc.h' line='144' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10368'>
+          <var-decl name='range_min' type-id='type-id-3459' visibility='default' filepath='include/linux/rtc.h' line='146' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10432'>
+          <var-decl name='range_max' type-id='type-id-7954' visibility='default' filepath='include/linux/rtc.h' line='147' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10496'>
+          <var-decl name='start_secs' type-id='type-id-3459' visibility='default' filepath='include/linux/rtc.h' line='148' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10560'>
+          <var-decl name='offset_secs' type-id='type-id-3459' visibility='default' filepath='include/linux/rtc.h' line='149' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10624'>
+          <var-decl name='set_start_time' type-id='type-id-211' visibility='default' filepath='include/linux/rtc.h' line='150' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='rtc_class_ops' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/linux/rtc.h' line='75' column='1' id='type-id-7955'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ioctl' type-id='type-id-7956' visibility='default' filepath='include/linux/rtc.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='read_time' type-id='type-id-7957' visibility='default' filepath='include/linux/rtc.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='set_time' type-id='type-id-7957' visibility='default' filepath='include/linux/rtc.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='read_alarm' type-id='type-id-7958' visibility='default' filepath='include/linux/rtc.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='set_alarm' type-id='type-id-7958' visibility='default' filepath='include/linux/rtc.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='proc' type-id='type-id-7959' visibility='default' filepath='include/linux/rtc.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='set_mmss64' type-id='type-id-7960' visibility='default' filepath='include/linux/rtc.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='set_mmss' type-id='type-id-7961' visibility='default' filepath='include/linux/rtc.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='read_callback' type-id='type-id-7962' visibility='default' filepath='include/linux/rtc.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='alarm_irq_enable' type-id='type-id-7963' visibility='default' filepath='include/linux/rtc.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='read_offset' type-id='type-id-7964' visibility='default' filepath='include/linux/rtc.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='set_offset' type-id='type-id-7965' visibility='default' filepath='include/linux/rtc.h' line='87' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='rtc_time' size-in-bits='288' is-struct='yes' visibility='default' filepath='include/uapi/linux/rtc.h' line='21' column='1' id='type-id-7966'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='tm_sec' type-id='type-id-11' visibility='default' filepath='include/uapi/linux/rtc.h' line='22' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='tm_min' type-id='type-id-11' visibility='default' filepath='include/uapi/linux/rtc.h' line='23' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='tm_hour' type-id='type-id-11' visibility='default' filepath='include/uapi/linux/rtc.h' line='24' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='tm_mday' type-id='type-id-11' visibility='default' filepath='include/uapi/linux/rtc.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='tm_mon' type-id='type-id-11' visibility='default' filepath='include/uapi/linux/rtc.h' line='26' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='tm_year' type-id='type-id-11' visibility='default' filepath='include/uapi/linux/rtc.h' line='27' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='tm_wday' type-id='type-id-11' visibility='default' filepath='include/uapi/linux/rtc.h' line='28' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='tm_yday' type-id='type-id-11' visibility='default' filepath='include/uapi/linux/rtc.h' line='29' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='tm_isdst' type-id='type-id-11' visibility='default' filepath='include/uapi/linux/rtc.h' line='30' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='rtc_wkalrm' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/uapi/linux/rtc.h' line='37' column='1' id='type-id-7967'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='enabled' type-id='type-id-271' visibility='default' filepath='include/uapi/linux/rtc.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='pending' type-id='type-id-271' visibility='default' filepath='include/uapi/linux/rtc.h' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='time' type-id='type-id-7966' visibility='default' filepath='include/uapi/linux/rtc.h' line='40' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='rtc_timer' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/rtc.h' line='90' column='1' id='type-id-7953'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='node' type-id='type-id-5171' visibility='default' filepath='include/linux/rtc.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='period' type-id='type-id-585' visibility='default' filepath='include/linux/rtc.h' line='92' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='func' type-id='type-id-74' visibility='default' filepath='include/linux/rtc.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='private_data' type-id='type-id-3' visibility='default' filepath='include/linux/rtc.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='enabled' type-id='type-id-11' visibility='default' filepath='include/linux/rtc.h' line='95' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='timeu64_t' type-id='type-id-1120' filepath='include/linux/time64.h' line='8' column='1' id='type-id-7954'/>
+      <class-decl name='platform_device_info' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/platform_device.h' line='62' column='1' id='type-id-7968'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='parent' type-id='type-id-86' visibility='default' filepath='include/linux/platform_device.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='fwnode' type-id='type-id-84' visibility='default' filepath='include/linux/platform_device.h' line='64' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/platform_device.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='id' type-id='type-id-11' visibility='default' filepath='include/linux/platform_device.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='res' type-id='type-id-569' visibility='default' filepath='include/linux/platform_device.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='num_res' type-id='type-id-10' visibility='default' filepath='include/linux/platform_device.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='data' type-id='type-id-3' visibility='default' filepath='include/linux/platform_device.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='size_data' type-id='type-id-125' visibility='default' filepath='include/linux/platform_device.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='dma_mask' type-id='type-id-134' visibility='default' filepath='include/linux/platform_device.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='properties' type-id='type-id-7969' visibility='default' filepath='include/linux/platform_device.h' line='76' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='alarm' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/linux/alarmtimer.h' line='41' column='1' id='type-id-7970'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='node' type-id='type-id-5171' visibility='default' filepath='include/linux/alarmtimer.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='timer' type-id='type-id-2120' visibility='default' filepath='include/linux/alarmtimer.h' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='function' type-id='type-id-7971' visibility='default' filepath='include/linux/alarmtimer.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='type' type-id='type-id-7972' visibility='default' filepath='include/linux/alarmtimer.h' line='45' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='864'>
+          <var-decl name='state' type-id='type-id-11' visibility='default' filepath='include/linux/alarmtimer.h' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='data' type-id='type-id-3' visibility='default' filepath='include/linux/alarmtimer.h' line='47' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='alarmtimer_restart' filepath='include/linux/alarmtimer.h' line='22' column='1' id='type-id-7973'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='ALARMTIMER_NORESTART' value='0'/>
+        <enumerator name='ALARMTIMER_RESTART' value='1'/>
+      </enum-decl>
+      <enum-decl name='alarmtimer_type' filepath='include/linux/alarmtimer.h' line='10' column='1' id='type-id-7972'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='ALARM_REALTIME' value='0'/>
+        <enumerator name='ALARM_BOOTTIME' value='1'/>
+        <enumerator name='ALARM_NUMTYPE' value='2'/>
+        <enumerator name='ALARM_REALTIME_FREEZER' value='3'/>
+        <enumerator name='ALARM_BOOTTIME_FREEZER' value='4'/>
+      </enum-decl>
+      <class-decl name='subsys_private' size-in-bits='3264' is-struct='yes' visibility='default' filepath='drivers/base/base.h' line='29' column='1' id='type-id-7974'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='subsys' type-id='type-id-4949' visibility='default' filepath='drivers/base/base.h' line='30' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='devices_kset' type-id='type-id-4947' visibility='default' filepath='drivers/base/base.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='interfaces' type-id='type-id-8' visibility='default' filepath='drivers/base/base.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='mutex' type-id='type-id-407' visibility='default' filepath='drivers/base/base.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='drivers_kset' type-id='type-id-4947' visibility='default' filepath='drivers/base/base.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='klist_devices' type-id='type-id-618' visibility='default' filepath='drivers/base/base.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='klist_drivers' type-id='type-id-618' visibility='default' filepath='drivers/base/base.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='bus_notifier' type-id='type-id-3126' visibility='default' filepath='drivers/base/base.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='drivers_autoprobe' type-id='type-id-10' visibility='default' filepath='drivers/base/base.h' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='bus' type-id='type-id-531' visibility='default' filepath='drivers/base/base.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='glue_dirs' type-id='type-id-4949' visibility='default' filepath='drivers/base/base.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3200'>
+          <var-decl name='class' type-id='type-id-351' visibility='default' filepath='drivers/base/base.h' line='43' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='klist' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/klist.h' line='20' column='1' id='type-id-618'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='k_lock' type-id='type-id-106' visibility='default' filepath='include/linux/klist.h' line='21' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='k_list' type-id='type-id-8' visibility='default' filepath='include/linux/klist.h' line='22' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='get' type-id='type-id-7975' visibility='default' filepath='include/linux/klist.h' line='23' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='put' type-id='type-id-7975' visibility='default' filepath='include/linux/klist.h' line='24' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='driver_private' size-in-bits='1216' is-struct='yes' visibility='default' filepath='drivers/base/base.h' line='47' column='1' id='type-id-7976'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='kobj' type-id='type-id-315' visibility='default' filepath='drivers/base/base.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='klist_devices' type-id='type-id-618' visibility='default' filepath='drivers/base/base.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='knode_bus' type-id='type-id-619' visibility='default' filepath='drivers/base/base.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='mkobj' type-id='type-id-6220' visibility='default' filepath='drivers/base/base.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='driver' type-id='type-id-621' visibility='default' filepath='drivers/base/base.h' line='52' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-7970' size-in-bits='64' id='type-id-7977'/>
+      <qualified-type-def type-id='type-id-7943' const='yes' id='type-id-7978'/>
+      <pointer-type-def type-id='type-id-7978' size-in-bits='64' id='type-id-7948'/>
+      <qualified-type-def type-id='type-id-7968' const='yes' id='type-id-7979'/>
+      <pointer-type-def type-id='type-id-7979' size-in-bits='64' id='type-id-7980'/>
+      <qualified-type-def type-id='type-id-282' const='yes' id='type-id-7981'/>
+      <pointer-type-def type-id='type-id-7981' size-in-bits='64' id='type-id-569'/>
+      <qualified-type-def type-id='type-id-7955' const='yes' id='type-id-7982'/>
+      <pointer-type-def type-id='type-id-7982' size-in-bits='64' id='type-id-3448'/>
+      <pointer-type-def type-id='type-id-7976' size-in-bits='64' id='type-id-7983'/>
+      <pointer-type-def type-id='type-id-7984' size-in-bits='64' id='type-id-7971'/>
+      <pointer-type-def type-id='type-id-7985' size-in-bits='64' id='type-id-7962'/>
+      <pointer-type-def type-id='type-id-7986' size-in-bits='64' id='type-id-7965'/>
+      <pointer-type-def type-id='type-id-7987' size-in-bits='64' id='type-id-7964'/>
+      <pointer-type-def type-id='type-id-7988' size-in-bits='64' id='type-id-7957'/>
+      <pointer-type-def type-id='type-id-7989' size-in-bits='64' id='type-id-7958'/>
+      <pointer-type-def type-id='type-id-7990' size-in-bits='64' id='type-id-7959'/>
+      <pointer-type-def type-id='type-id-7991' size-in-bits='64' id='type-id-7960'/>
+      <pointer-type-def type-id='type-id-7992' size-in-bits='64' id='type-id-7963'/>
+      <pointer-type-def type-id='type-id-7993' size-in-bits='64' id='type-id-7956'/>
+      <pointer-type-def type-id='type-id-7994' size-in-bits='64' id='type-id-7961'/>
+      <pointer-type-def type-id='type-id-7995' size-in-bits='64' id='type-id-7945'/>
+      <pointer-type-def type-id='type-id-7996' size-in-bits='64' id='type-id-7947'/>
+      <pointer-type-def type-id='type-id-619' size-in-bits='64' id='type-id-7997'/>
+      <pointer-type-def type-id='type-id-187' size-in-bits='64' id='type-id-6489'/>
+      <pointer-type-def type-id='type-id-7941' size-in-bits='64' id='type-id-7950'/>
+      <pointer-type-def type-id='type-id-7942' size-in-bits='64' id='type-id-3104'/>
+      <pointer-type-def type-id='type-id-7949' size-in-bits='64' id='type-id-568'/>
+      <pointer-type-def type-id='type-id-7944' size-in-bits='64' id='type-id-570'/>
+      <pointer-type-def type-id='type-id-563' size-in-bits='64' id='type-id-7969'/>
+      <pointer-type-def type-id='type-id-7952' size-in-bits='64' id='type-id-3449'/>
+      <pointer-type-def type-id='type-id-7966' size-in-bits='64' id='type-id-3460'/>
+      <pointer-type-def type-id='type-id-7967' size-in-bits='64' id='type-id-7998'/>
+      <pointer-type-def type-id='type-id-7974' size-in-bits='64' id='type-id-7999'/>
+      <pointer-type-def type-id='type-id-8000' size-in-bits='64' id='type-id-7975'/>
+      <pointer-type-def type-id='type-id-8001' size-in-bits='64' id='type-id-7946'/>
+      <function-decl name='platform_driver_unregister' mangled-name='platform_driver_unregister' filepath='include/linux/platform_device.h' line='201' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='platform_driver_unregister'>
+        <parameter type-id='type-id-570'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='get_device' mangled-name='get_device' filepath='include/linux/device.h' line='1391' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_device'>
+        <parameter type-id='type-id-86'/>
+        <return type-id='type-id-86'/>
+      </function-decl>
+      <function-decl name='wakeup_source_unregister' mangled-name='wakeup_source_unregister' filepath='include/linux/pm_wakeup.h' line='107' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wakeup_source_unregister'>
+        <parameter type-id='type-id-623'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='rtc_read_time' mangled-name='rtc_read_time' filepath='include/linux/rtc.h' line='184' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rtc_read_time'>
+        <parameter type-id='type-id-3449'/>
+        <parameter type-id='type-id-3460'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='platform_device_register_full' mangled-name='platform_device_register_full' filepath='include/linux/platform_device.h' line='78' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='platform_device_register_full'>
+        <parameter type-id='type-id-7980'/>
+        <return type-id='type-id-568'/>
+      </function-decl>
+      <function-decl name='alarmtimer_get_rtcdev' mangled-name='alarmtimer_get_rtcdev' filepath='kernel/time/alarmtimer.c' line='75' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='alarmtimer_get_rtcdev'>
+        <return type-id='type-id-3449'/>
+      </function-decl>
+      <function-decl name='alarm_init' mangled-name='alarm_init' filepath='kernel/time/alarmtimer.c' line='348' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='alarm_init'>
+        <parameter type-id='type-id-7977' name='alarm' filepath='kernel/time/alarmtimer.c' line='348' column='1'/>
+        <parameter type-id='type-id-7972' name='type' filepath='kernel/time/alarmtimer.c' line='348' column='1'/>
+        <parameter type-id='type-id-7971' name='function' filepath='kernel/time/alarmtimer.c' line='349' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='alarm_start_relative' mangled-name='alarm_start_relative' filepath='kernel/time/alarmtimer.c' line='382' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='alarm_start_relative'>
+        <parameter type-id='type-id-7977' name='alarm' filepath='kernel/time/alarmtimer.c' line='382' column='1'/>
+        <parameter type-id='type-id-585' name='start' filepath='kernel/time/alarmtimer.c' line='382' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='alarm_try_to_cancel' mangled-name='alarm_try_to_cancel' filepath='kernel/time/alarmtimer.c' line='411' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='alarm_try_to_cancel'>
+        <parameter type-id='type-id-7977' name='alarm' filepath='kernel/time/alarmtimer.c' line='411' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='alarm_cancel' mangled-name='alarm_cancel' filepath='kernel/time/alarmtimer.c' line='435' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='alarm_cancel'>
+        <parameter type-id='type-id-7977' name='alarm' filepath='kernel/time/alarmtimer.c' line='435' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='driver_unregister' mangled-name='driver_unregister' filepath='include/linux/device.h' line='321' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='driver_unregister'>
+        <parameter type-id='type-id-621'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-7984'>
+        <parameter type-id='type-id-7977'/>
+        <parameter type-id='type-id-585'/>
+        <return type-id='type-id-7973'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7985'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7986'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-187'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7987'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-6489'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7988'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-3460'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7989'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-7998'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7990'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-85'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7991'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-3459'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7992'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7993'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7994'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7995'>
+        <parameter type-id='type-id-568'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-7996'>
+        <parameter type-id='type-id-568'/>
+        <parameter type-id='type-id-348'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8000'>
+        <parameter type-id='type-id-7997'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8001'>
+        <parameter type-id='type-id-568'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/time/hrtimer.c' language='LANG_C89'>
+      <class-decl name='hrtimer_sleeper' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/hrtimer.h' line='127' column='1' id='type-id-8002'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='timer' type-id='type-id-2120' visibility='default' filepath='include/linux/hrtimer.h' line='128' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='task' type-id='type-id-118' visibility='default' filepath='include/linux/hrtimer.h' line='129' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-8002' size-in-bits='64' id='type-id-8003'/>
+      <function-decl name='__hrtimer_get_remaining' mangled-name='__hrtimer_get_remaining' filepath='kernel/time/hrtimer.c' line='1187' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__hrtimer_get_remaining'>
+        <parameter type-id='type-id-7754' name='timer' filepath='kernel/time/hrtimer.c' line='1187' column='1'/>
+        <parameter type-id='type-id-211' name='adjust' filepath='kernel/time/hrtimer.c' line='1187' column='1'/>
+        <return type-id='type-id-585'/>
+      </function-decl>
+      <function-decl name='hrtimer_init_sleeper' mangled-name='hrtimer_init_sleeper' filepath='kernel/time/hrtimer.c' line='1654' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='hrtimer_init_sleeper'>
+        <parameter type-id='type-id-8003' name='sl' filepath='kernel/time/hrtimer.c' line='1654' column='1'/>
+        <parameter type-id='type-id-118' name='task' filepath='kernel/time/hrtimer.c' line='1654' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/time/posix-clock.c' language='LANG_C89'>
+      <function-decl name='cdev_init' mangled-name='cdev_init' filepath='include/linux/cdev.h' line='23' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cdev_init'>
+        <parameter type-id='type-id-2346'/>
+        <parameter type-id='type-id-1209'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='fget' mangled-name='fget' filepath='include/linux/file.h' line='46' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fget'>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-147'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/time/tick-common.c' language='LANG_C89'>
+      <enum-decl name='tick_broadcast_state' filepath='include/linux/tick.h' line='60' column='1' id='type-id-8004'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='TICK_BROADCAST_EXIT' value='0'/>
+        <enumerator name='TICK_BROADCAST_ENTER' value='1'/>
+      </enum-decl>
+      <function-decl name='tick_broadcast_oneshot_control' mangled-name='tick_broadcast_oneshot_control' filepath='kernel/time/tick-common.c' line='354' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tick_broadcast_oneshot_control'>
+        <parameter type-id='type-id-8004' name='state' filepath='kernel/time/tick-common.c' line='354' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/time/tick-sched.c' language='LANG_C89'>
+      <pointer-type-def type-id='type-id-585' size-in-bits='64' id='type-id-1704'/>
+      <function-decl name='tick_nohz_get_sleep_length' mangled-name='tick_nohz_get_sleep_length' filepath='kernel/time/tick-sched.c' line='1038' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tick_nohz_get_sleep_length'>
+        <parameter type-id='type-id-1704' name='delta_next' filepath='kernel/time/tick-sched.c' line='1038' column='1'/>
+        <return type-id='type-id-585'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/time/time.c' language='LANG_C89'>
+      <qualified-type-def type-id='type-id-5030' const='yes' id='type-id-8005'/>
+      <pointer-type-def type-id='type-id-8005' size-in-bits='64' id='type-id-8006'/>
+      <function-decl name='ktime_get_real_ts64' mangled-name='ktime_get_real_ts64' filepath='include/linux/timekeeping.h' line='43' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ktime_get_real_ts64'>
+        <parameter type-id='type-id-6244'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__msecs_to_jiffies' mangled-name='__msecs_to_jiffies' filepath='kernel/time/time.c' line='589' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__msecs_to_jiffies'>
+        <parameter type-id='type-id-1030' name='m' filepath='kernel/time/time.c' line='589' column='1'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+      <function-decl name='__usecs_to_jiffies' mangled-name='__usecs_to_jiffies' filepath='kernel/time/time.c' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__usecs_to_jiffies'>
+        <parameter type-id='type-id-1030' name='u' filepath='kernel/time/time.c' line='600' column='1'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+      <function-decl name='timespec64_to_jiffies' mangled-name='timespec64_to_jiffies' filepath='kernel/time/time.c' line='645' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='timespec64_to_jiffies'>
+        <parameter type-id='type-id-8006' name='value' filepath='kernel/time/time.c' line='645' column='1'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/time/timeconv.c' language='LANG_C89'>
+      <class-decl name='tm' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/time.h' line='49' column='1' id='type-id-8007'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='tm_sec' type-id='type-id-11' visibility='default' filepath='include/linux/time.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='tm_min' type-id='type-id-11' visibility='default' filepath='include/linux/time.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='tm_hour' type-id='type-id-11' visibility='default' filepath='include/linux/time.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='tm_mday' type-id='type-id-11' visibility='default' filepath='include/linux/time.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='tm_mon' type-id='type-id-11' visibility='default' filepath='include/linux/time.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='tm_year' type-id='type-id-187' visibility='default' filepath='include/linux/time.h' line='64' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='tm_wday' type-id='type-id-11' visibility='default' filepath='include/linux/time.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='tm_yday' type-id='type-id-11' visibility='default' filepath='include/linux/time.h' line='68' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-8007' size-in-bits='64' id='type-id-8008'/>
+      <function-decl name='time64_to_tm' mangled-name='time64_to_tm' filepath='kernel/time/timeconv.c' line='77' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='time64_to_tm'>
+        <parameter type-id='type-id-3459' name='totalsecs' filepath='kernel/time/timeconv.c' line='77' column='1'/>
+        <parameter type-id='type-id-11' name='offset' filepath='kernel/time/timeconv.c' line='77' column='1'/>
+        <parameter type-id='type-id-8008' name='result' filepath='kernel/time/timeconv.c' line='77' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/time/timekeeping.c' language='LANG_C89'>
+      <function-decl name='ktime_get_ts64' mangled-name='ktime_get_ts64' filepath='kernel/time/timekeeping.c' line='879' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ktime_get_ts64'>
+        <parameter type-id='type-id-6244' name='ts' filepath='kernel/time/timekeeping.c' line='879' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='ktime_get_real_seconds' mangled-name='ktime_get_real_seconds' filepath='kernel/time/timekeeping.c' line='931' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ktime_get_real_seconds'>
+        <return type-id='type-id-3459'/>
+      </function-decl>
+      <function-decl name='ktime_get_raw_ts64' mangled-name='ktime_get_raw_ts64' filepath='kernel/time/timekeeping.c' line='1415' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ktime_get_raw_ts64'>
+        <parameter type-id='type-id-6244' name='ts' filepath='kernel/time/timekeeping.c' line='1415' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='getboottime64' mangled-name='getboottime64' filepath='kernel/time/timekeeping.c' line='2155' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='getboottime64'>
+        <parameter type-id='type-id-6244' name='ts' filepath='kernel/time/timekeeping.c' line='2155' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='ktime_get_coarse_real_ts64' mangled-name='ktime_get_coarse_real_ts64' filepath='kernel/time/timekeeping.c' line='2164' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ktime_get_coarse_real_ts64'>
+        <parameter type-id='type-id-6244' name='ts' filepath='kernel/time/timekeeping.c' line='2164' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/time/timer.c' language='LANG_C89'>
+      <function-decl name='try_to_del_timer_sync' mangled-name='try_to_del_timer_sync' filepath='kernel/time/timer.c' line='1217' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='try_to_del_timer_sync'>
+        <parameter type-id='type-id-6243' name='timer' filepath='kernel/time/timer.c' line='1217' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='msleep_interruptible' mangled-name='msleep_interruptible' filepath='kernel/time/timer.c' line='1967' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='msleep_interruptible'>
+        <parameter type-id='type-id-10' name='msecs' filepath='kernel/time/timer.c' line='1967' column='1'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/time/timer_list.c' language='LANG_C89'>
+      <function-decl name='seq_vprintf' mangled-name='seq_vprintf' filepath='include/linux/seq_file.h' line='116' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='seq_vprintf'>
+        <parameter type-id='type-id-85'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-1144'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/trace/bpf_trace.c' language='LANG_C89'>
+      <class-decl name='bpf_verifier_env' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-8009'/>
+      <class-decl name='btf' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-8010'/>
+      <class-decl name='btf_type' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-8011'/>
+      <class-decl name='bpf_prog_aux' size-in-bits='1792' is-struct='yes' visibility='default' filepath='include/linux/bpf.h' line='275' column='1' id='type-id-8012'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='refcnt' type-id='type-id-137' visibility='default' filepath='include/linux/bpf.h' line='276' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='used_map_cnt' type-id='type-id-9' visibility='default' filepath='include/linux/bpf.h' line='277' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='max_ctx_offset' type-id='type-id-9' visibility='default' filepath='include/linux/bpf.h' line='278' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='stack_depth' type-id='type-id-9' visibility='default' filepath='include/linux/bpf.h' line='279' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='id' type-id='type-id-9' visibility='default' filepath='include/linux/bpf.h' line='280' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='func_cnt' type-id='type-id-9' visibility='default' filepath='include/linux/bpf.h' line='281' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='offload_requested' type-id='type-id-211' visibility='default' filepath='include/linux/bpf.h' line='282' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='func' type-id='type-id-8013' visibility='default' filepath='include/linux/bpf.h' line='283' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='jit_data' type-id='type-id-3' visibility='default' filepath='include/linux/bpf.h' line='284' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='ksym_tnode' type-id='type-id-5912' visibility='default' filepath='include/linux/bpf.h' line='285' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='ksym_lnode' type-id='type-id-8' visibility='default' filepath='include/linux/bpf.h' line='286' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='ops' type-id='type-id-8014' visibility='default' filepath='include/linux/bpf.h' line='287' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='used_maps' type-id='type-id-8015' visibility='default' filepath='include/linux/bpf.h' line='288' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='prog' type-id='type-id-3014' visibility='default' filepath='include/linux/bpf.h' line='289' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='user' type-id='type-id-4581' visibility='default' filepath='include/linux/bpf.h' line='290' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='load_time' type-id='type-id-134' visibility='default' filepath='include/linux/bpf.h' line='291' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='cgroup_storage' type-id='type-id-8016' visibility='default' filepath='include/linux/bpf.h' line='292' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='name' type-id='type-id-847' visibility='default' filepath='include/linux/bpf.h' line='293' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='security' type-id='type-id-3' visibility='default' filepath='include/linux/bpf.h' line='295' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='offload' type-id='type-id-8017' visibility='default' filepath='include/linux/bpf.h' line='297' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='' type-id='type-id-8018' visibility='default' filepath='include/linux/bpf.h' line='298' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='bpf_prog_ops' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/bpf.h' line='232' column='1' id='type-id-8019'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='test_run' type-id='type-id-8020' visibility='default' filepath='include/linux/bpf.h' line='233' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='bpf_attr' size-in-bits='576' visibility='default' filepath='include/uapi/linux/bpf.h' line='287' column='1' id='type-id-8021'>
+        <member-type access='private'>
+          <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/bpf.h' line='307' column='1' id='type-id-8022'>
+            <data-member access='public' layout-offset-in-bits='0'>
+              <var-decl name='map_fd' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='308' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='64'>
+              <var-decl name='key' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/bpf.h' line='309' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='128'>
+              <var-decl name='' type-id='type-id-8023' visibility='default' filepath='include/uapi/linux/bpf.h' line='310' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='192'>
+              <var-decl name='flags' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/bpf.h' line='314' column='1'/>
+            </data-member>
+          </class-decl>
+        </member-type>
+        <member-type access='private'>
+          <class-decl name='__anonymous_struct__1' size-in-bits='576' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/bpf.h' line='317' column='1' id='type-id-8024'>
+            <data-member access='public' layout-offset-in-bits='0'>
+              <var-decl name='prog_type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='318' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='32'>
+              <var-decl name='insn_cnt' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='319' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='64'>
+              <var-decl name='insns' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/bpf.h' line='320' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='128'>
+              <var-decl name='license' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/bpf.h' line='321' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='192'>
+              <var-decl name='log_level' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='322' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='224'>
+              <var-decl name='log_size' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='323' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='256'>
+              <var-decl name='log_buf' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/bpf.h' line='324' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='320'>
+              <var-decl name='kern_version' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='325' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='352'>
+              <var-decl name='prog_flags' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='326' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='384'>
+              <var-decl name='prog_name' type-id='type-id-847' visibility='default' filepath='include/uapi/linux/bpf.h' line='327' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='512'>
+              <var-decl name='prog_ifindex' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='328' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='544'>
+              <var-decl name='expected_attach_type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='333' column='1'/>
+            </data-member>
+          </class-decl>
+        </member-type>
+        <member-type access='private'>
+          <class-decl name='__anonymous_struct__2' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/bpf.h' line='336' column='1' id='type-id-8025'>
+            <data-member access='public' layout-offset-in-bits='0'>
+              <var-decl name='pathname' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/bpf.h' line='337' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='64'>
+              <var-decl name='bpf_fd' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='338' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='96'>
+              <var-decl name='file_flags' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='339' column='1'/>
+            </data-member>
+          </class-decl>
+        </member-type>
+        <member-type access='private'>
+          <class-decl name='__anonymous_struct__3' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/bpf.h' line='342' column='1' id='type-id-8026'>
+            <data-member access='public' layout-offset-in-bits='0'>
+              <var-decl name='target_fd' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='343' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='32'>
+              <var-decl name='attach_bpf_fd' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='344' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='64'>
+              <var-decl name='attach_type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='345' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='96'>
+              <var-decl name='attach_flags' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='346' column='1'/>
+            </data-member>
+          </class-decl>
+        </member-type>
+        <member-type access='private'>
+          <class-decl name='__anonymous_struct__4' size-in-bits='96' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/bpf.h' line='360' column='1' id='type-id-8027'>
+            <data-member access='public' layout-offset-in-bits='0'>
+              <var-decl name='' type-id='type-id-8028' visibility='default' filepath='include/uapi/linux/bpf.h' line='361' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='32'>
+              <var-decl name='next_id' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='367' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='64'>
+              <var-decl name='open_flags' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='368' column='1'/>
+            </data-member>
+          </class-decl>
+        </member-type>
+        <member-type access='private'>
+          <class-decl name='__anonymous_struct__5' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/bpf.h' line='391' column='1' id='type-id-8029'>
+            <data-member access='public' layout-offset-in-bits='0'>
+              <var-decl name='btf' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/bpf.h' line='392' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='64'>
+              <var-decl name='btf_log_buf' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/bpf.h' line='393' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='128'>
+              <var-decl name='btf_size' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='394' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='160'>
+              <var-decl name='btf_log_size' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='395' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='192'>
+              <var-decl name='btf_log_level' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='396' column='1'/>
+            </data-member>
+          </class-decl>
+        </member-type>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-8030' visibility='default' filepath='include/uapi/linux/bpf.h' line='288' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='test' type-id='type-id-8031' visibility='default' filepath='include/uapi/linux/bpf.h' line='358' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='info' type-id='type-id-8032' visibility='default' filepath='include/uapi/linux/bpf.h' line='375' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='query' type-id='type-id-8033' visibility='default' filepath='include/uapi/linux/bpf.h' line='384' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='raw_tracepoint' type-id='type-id-8034' visibility='default' filepath='include/uapi/linux/bpf.h' line='389' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='task_fd_query' type-id='type-id-8035' visibility='default' filepath='include/uapi/linux/bpf.h' line='413' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__' size-in-bits='480' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/bpf.h' line='288' column='1' id='type-id-8030'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='map_type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='289' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='key_size' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='290' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='value_size' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='291' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='max_entries' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='292' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='map_flags' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='293' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='inner_map_fd' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='296' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='numa_node' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='297' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='map_name' type-id='type-id-847' visibility='default' filepath='include/uapi/linux/bpf.h' line='300' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='map_ifindex' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='301' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='btf_fd' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='302' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='btf_key_type_id' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='303' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='btf_value_type_id' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='304' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/bpf.h' line='310' column='1' id='type-id-8023'>
+        <data-member access='private'>
+          <var-decl name='value' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/bpf.h' line='311' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='next_key' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/bpf.h' line='312' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__1' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/bpf.h' line='349' column='1' id='type-id-8031'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='prog_fd' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='350' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='retval' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='351' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='data_size_in' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='352' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='data_size_out' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='353' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='data_in' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/bpf.h' line='354' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='data_out' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/bpf.h' line='355' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='repeat' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='356' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='duration' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='357' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__1' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/bpf.h' line='361' column='1' id='type-id-8028'>
+        <data-member access='private'>
+          <var-decl name='start_id' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='362' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='prog_id' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='363' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='map_id' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='364' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='btf_id' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='365' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__2' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/bpf.h' line='371' column='1' id='type-id-8032'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bpf_fd' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='372' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='info_len' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='373' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='info' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/bpf.h' line='374' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__3' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/bpf.h' line='377' column='1' id='type-id-8033'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='target_fd' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='378' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='attach_type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='379' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='query_flags' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='380' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='attach_flags' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='381' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='prog_ids' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/bpf.h' line='382' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='prog_cnt' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='383' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__4' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/bpf.h' line='386' column='1' id='type-id-8034'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/bpf.h' line='387' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='prog_fd' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='388' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__5' size-in-bits='384' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/bpf.h' line='399' column='1' id='type-id-8035'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='pid' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='400' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='fd' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='401' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='flags' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='402' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='buf_len' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='403' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='buf' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/bpf.h' line='404' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='prog_id' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='409' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='fd_type' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/bpf.h' line='410' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='probe_offset' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/bpf.h' line='411' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='probe_addr' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/bpf.h' line='412' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='bpf_map' size-in-bits='1536' is-struct='yes' visibility='default' filepath='include/linux/bpf.h' line='57' column='1' id='type-id-8036'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ops' type-id='type-id-8037' visibility='default' filepath='include/linux/bpf.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='inner_map_meta' type-id='type-id-8016' visibility='default' filepath='include/linux/bpf.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='security' type-id='type-id-3' visibility='default' filepath='include/linux/bpf.h' line='64' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='map_type' type-id='type-id-8038' visibility='default' filepath='include/linux/bpf.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='key_size' type-id='type-id-9' visibility='default' filepath='include/linux/bpf.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='value_size' type-id='type-id-9' visibility='default' filepath='include/linux/bpf.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='max_entries' type-id='type-id-9' visibility='default' filepath='include/linux/bpf.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='map_flags' type-id='type-id-9' visibility='default' filepath='include/linux/bpf.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='pages' type-id='type-id-9' visibility='default' filepath='include/linux/bpf.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='id' type-id='type-id-9' visibility='default' filepath='include/linux/bpf.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='numa_node' type-id='type-id-11' visibility='default' filepath='include/linux/bpf.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='btf_key_type_id' type-id='type-id-9' visibility='default' filepath='include/linux/bpf.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='btf_value_type_id' type-id='type-id-9' visibility='default' filepath='include/linux/bpf.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='btf' type-id='type-id-8039' visibility='default' filepath='include/linux/bpf.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='unpriv_array' type-id='type-id-211' visibility='default' filepath='include/linux/bpf.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='user' type-id='type-id-4581' visibility='default' filepath='include/linux/bpf.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='refcnt' type-id='type-id-137' visibility='default' filepath='include/linux/bpf.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1120'>
+          <var-decl name='usercnt' type-id='type-id-137' visibility='default' filepath='include/linux/bpf.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='work' type-id='type-id-149' visibility='default' filepath='include/linux/bpf.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='name' type-id='type-id-847' visibility='default' filepath='include/linux/bpf.h' line='87' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='bpf_map_ops' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/linux/bpf.h' line='29' column='1' id='type-id-8040'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='map_alloc_check' type-id='type-id-8041' visibility='default' filepath='include/linux/bpf.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='map_alloc' type-id='type-id-8042' visibility='default' filepath='include/linux/bpf.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='map_release' type-id='type-id-8043' visibility='default' filepath='include/linux/bpf.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='map_free' type-id='type-id-8044' visibility='default' filepath='include/linux/bpf.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='map_get_next_key' type-id='type-id-8045' visibility='default' filepath='include/linux/bpf.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='map_release_uref' type-id='type-id-8044' visibility='default' filepath='include/linux/bpf.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='map_lookup_elem_sys_only' type-id='type-id-8046' visibility='default' filepath='include/linux/bpf.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='map_lookup_elem' type-id='type-id-8046' visibility='default' filepath='include/linux/bpf.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='map_update_elem' type-id='type-id-8047' visibility='default' filepath='include/linux/bpf.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='map_delete_elem' type-id='type-id-8048' visibility='default' filepath='include/linux/bpf.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='map_fd_get_ptr' type-id='type-id-8049' visibility='default' filepath='include/linux/bpf.h' line='45' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='map_fd_put_ptr' type-id='type-id-74' visibility='default' filepath='include/linux/bpf.h' line='47' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='map_gen_lookup' type-id='type-id-8050' visibility='default' filepath='include/linux/bpf.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='map_fd_sys_lookup_elem' type-id='type-id-7340' visibility='default' filepath='include/linux/bpf.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='map_seq_show_elem' type-id='type-id-8051' visibility='default' filepath='include/linux/bpf.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='map_check_btf' type-id='type-id-8052' visibility='default' filepath='include/linux/bpf.h' line='52' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='bpf_map_type' filepath='include/uapi/linux/bpf.h' line='108' column='1' id='type-id-8038'>
+        <underlying-type type-id='type-id-182'/>
         <enumerator name='BPF_MAP_TYPE_UNSPEC' value='0'/>
         <enumerator name='BPF_MAP_TYPE_HASH' value='1'/>
         <enumerator name='BPF_MAP_TYPE_ARRAY' value='2'/>
@@ -22179,22219 +76155,2776 @@
         <enumerator name='BPF_MAP_TYPE_CGROUP_STORAGE' value='19'/>
         <enumerator name='BPF_MAP_TYPE_REUSEPORT_SOCKARRAY' value='20'/>
       </enum-decl>
-      <class-decl name='bpf_prog_offload' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/bpf.h' line='264' column='1' id='type-id-2604'>
+      <class-decl name='bpf_prog_offload' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/bpf.h' line='264' column='1' id='type-id-8053'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='prog' type-id='type-id-1230' visibility='default' filepath='include/linux/bpf.h' line='265' column='1'/>
+          <var-decl name='prog' type-id='type-id-3014' visibility='default' filepath='include/linux/bpf.h' line='265' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='netdev' type-id='type-id-1650' visibility='default' filepath='include/linux/bpf.h' line='266' column='1'/>
+          <var-decl name='netdev' type-id='type-id-2976' visibility='default' filepath='include/linux/bpf.h' line='266' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='dev_priv' type-id='type-id-15' visibility='default' filepath='include/linux/bpf.h' line='267' column='1'/>
+          <var-decl name='dev_priv' type-id='type-id-3' visibility='default' filepath='include/linux/bpf.h' line='267' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='offloads' type-id='type-id-20' visibility='default' filepath='include/linux/bpf.h' line='268' column='1'/>
+          <var-decl name='offloads' type-id='type-id-8' visibility='default' filepath='include/linux/bpf.h' line='268' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='dev_state' type-id='type-id-33' visibility='default' filepath='include/linux/bpf.h' line='269' column='1'/>
+          <var-decl name='dev_state' type-id='type-id-211' visibility='default' filepath='include/linux/bpf.h' line='269' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='dev_ops' type-id='type-id-1827' visibility='default' filepath='include/linux/bpf.h' line='270' column='1'/>
+          <var-decl name='dev_ops' type-id='type-id-6707' visibility='default' filepath='include/linux/bpf.h' line='270' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='jited_image' type-id='type-id-15' visibility='default' filepath='include/linux/bpf.h' line='271' column='1'/>
+          <var-decl name='jited_image' type-id='type-id-3' visibility='default' filepath='include/linux/bpf.h' line='271' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='jited_len' type-id='type-id-7' visibility='default' filepath='include/linux/bpf.h' line='272' column='1'/>
+          <var-decl name='jited_len' type-id='type-id-9' visibility='default' filepath='include/linux/bpf.h' line='272' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='sock_fprog_kern' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/filter.h' line='464' column='1' id='type-id-2605'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='len' type-id='type-id-688' visibility='default' filepath='include/linux/filter.h' line='465' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='filter' type-id='type-id-2606' visibility='default' filepath='include/linux/filter.h' line='466' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='sock_filter' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/linux/filter.h' line='24' column='1' id='type-id-1171'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='code' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/filter.h' line='25' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='jt' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/filter.h' line='26' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='24'>
-          <var-decl name='jf' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/filter.h' line='27' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='k' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/filter.h' line='28' column='1'/>
-        </data-member>
-      </class-decl>
-      <pointer-type-def type-id='type-id-2466' size-in-bits='64' id='type-id-2464'/>
-      <pointer-type-def type-id='type-id-1963' size-in-bits='64' id='type-id-1687'/>
-      <pointer-type-def type-id='type-id-2607' size-in-bits='64' id='type-id-1984'/>
-      <pointer-type-def type-id='type-id-1687' size-in-bits='64' id='type-id-2608'/>
-      <pointer-type-def type-id='type-id-1971' size-in-bits='64' id='type-id-1972'/>
-      <pointer-type-def type-id='type-id-2371' size-in-bits='64' id='type-id-2369'/>
-      <pointer-type-def type-id='type-id-2368' size-in-bits='64' id='type-id-2366'/>
-      <pointer-type-def type-id='type-id-1307' size-in-bits='64' id='type-id-1281'/>
-      <pointer-type-def type-id='type-id-977' size-in-bits='64' id='type-id-1480'/>
-      <pointer-type-def type-id='type-id-978' size-in-bits='64' id='type-id-1634'/>
-      <pointer-type-def type-id='type-id-115' size-in-bits='64' id='type-id-2546'/>
-      <pointer-type-def type-id='type-id-619' size-in-bits='64' id='type-id-2609'/>
-      <pointer-type-def type-id='type-id-2609' size-in-bits='64' id='type-id-1414'/>
-      <pointer-type-def type-id='type-id-979' size-in-bits='64' id='type-id-1520'/>
-      <pointer-type-def type-id='type-id-980' size-in-bits='64' id='type-id-2356'/>
-      <pointer-type-def type-id='type-id-981' size-in-bits='64' id='type-id-1359'/>
-      <pointer-type-def type-id='type-id-982' size-in-bits='64' id='type-id-1305'/>
-      <pointer-type-def type-id='type-id-2039' size-in-bits='64' id='type-id-2610'/>
-      <pointer-type-def type-id='type-id-2610' size-in-bits='64' id='type-id-2038'/>
-      <pointer-type-def type-id='type-id-983' size-in-bits='64' id='type-id-1525'/>
-      <pointer-type-def type-id='type-id-985' size-in-bits='64' id='type-id-1526'/>
-      <pointer-type-def type-id='type-id-2522' size-in-bits='64' id='type-id-875'/>
-      <pointer-type-def type-id='type-id-33' size-in-bits='64' id='type-id-2611'/>
-      <pointer-type-def type-id='type-id-1241' size-in-bits='64' id='type-id-2612'/>
-      <pointer-type-def type-id='type-id-2331' size-in-bits='64' id='type-id-2330'/>
-      <pointer-type-def type-id='type-id-986' size-in-bits='64' id='type-id-2333'/>
-      <pointer-type-def type-id='type-id-955' size-in-bits='64' id='type-id-2613'/>
-      <pointer-type-def type-id='type-id-1256' size-in-bits='64' id='type-id-1232'/>
-      <pointer-type-def type-id='type-id-2614' size-in-bits='64' id='type-id-1262'/>
-      <pointer-type-def type-id='type-id-1232' size-in-bits='64' id='type-id-1229'/>
-      <pointer-type-def type-id='type-id-1830' size-in-bits='64' id='type-id-1821'/>
-      <pointer-type-def type-id='type-id-1218' size-in-bits='64' id='type-id-1230'/>
-      <pointer-type-def type-id='type-id-1230' size-in-bits='64' id='type-id-1226'/>
-      <pointer-type-def type-id='type-id-2329' size-in-bits='64' id='type-id-747'/>
-      <pointer-type-def type-id='type-id-1225' size-in-bits='64' id='type-id-1221'/>
-      <pointer-type-def type-id='type-id-2604' size-in-bits='64' id='type-id-1233'/>
-      <pointer-type-def type-id='type-id-2335' size-in-bits='64' id='type-id-2332'/>
-      <pointer-type-def type-id='type-id-987' size-in-bits='64' id='type-id-2615'/>
-      <pointer-type-def type-id='type-id-988' size-in-bits='64' id='type-id-1259'/>
-      <pointer-type-def type-id='type-id-990' size-in-bits='64' id='type-id-2260'/>
-      <pointer-type-def type-id='type-id-2463' size-in-bits='64' id='type-id-1383'/>
-      <pointer-type-def type-id='type-id-2044' size-in-bits='64' id='type-id-2012'/>
-      <pointer-type-def type-id='type-id-385' size-in-bits='64' id='type-id-91'/>
-      <pointer-type-def type-id='type-id-991' size-in-bits='64' id='type-id-2305'/>
-      <pointer-type-def type-id='type-id-992' size-in-bits='64' id='type-id-1300'/>
-      <pointer-type-def type-id='type-id-993' size-in-bits='64' id='type-id-1546'/>
-      <pointer-type-def type-id='type-id-2347' size-in-bits='64' id='type-id-2346'/>
-      <pointer-type-def type-id='type-id-2312' size-in-bits='64' id='type-id-2310'/>
-      <pointer-type-def type-id='type-id-2308' size-in-bits='64' id='type-id-1646'/>
-      <pointer-type-def type-id='type-id-2318' size-in-bits='64' id='type-id-2313'/>
-      <pointer-type-def type-id='type-id-2319' size-in-bits='64' id='type-id-2314'/>
-      <pointer-type-def type-id='type-id-2336' size-in-bits='64' id='type-id-2311'/>
-      <pointer-type-def type-id='type-id-424' size-in-bits='64' id='type-id-365'/>
-      <pointer-type-def type-id='type-id-2616' size-in-bits='64' id='type-id-2337'/>
-      <pointer-type-def type-id='type-id-994' size-in-bits='64' id='type-id-2617'/>
-      <pointer-type-def type-id='type-id-2618' size-in-bits='64' id='type-id-2540'/>
-      <pointer-type-def type-id='type-id-2619' size-in-bits='64' id='type-id-2182'/>
-      <pointer-type-def type-id='type-id-2620' size-in-bits='64' id='type-id-2033'/>
-      <pointer-type-def type-id='type-id-1791' size-in-bits='64' id='type-id-1782'/>
-      <pointer-type-def type-id='type-id-2181' size-in-bits='64' id='type-id-2027'/>
-      <pointer-type-def type-id='type-id-995' size-in-bits='64' id='type-id-2022'/>
-      <pointer-type-def type-id='type-id-2396' size-in-bits='64' id='type-id-1533'/>
-      <pointer-type-def type-id='type-id-1574' size-in-bits='64' id='type-id-1571'/>
-      <pointer-type-def type-id='type-id-1608' size-in-bits='64' id='type-id-1394'/>
-      <qualified-type-def type-id='type-id-1981' const='yes' id='type-id-2621'/>
-      <pointer-type-def type-id='type-id-2621' size-in-bits='64' id='type-id-1973'/>
-      <qualified-type-def type-id='type-id-1971' const='yes' id='type-id-2622'/>
-      <pointer-type-def type-id='type-id-2622' size-in-bits='64' id='type-id-1966'/>
-      <qualified-type-def type-id='type-id-976' const='yes' id='type-id-2623'/>
-      <pointer-type-def type-id='type-id-2623' size-in-bits='64' id='type-id-2052'/>
-      <qualified-type-def type-id='type-id-2091' const='yes' id='type-id-2624'/>
-      <pointer-type-def type-id='type-id-2624' size-in-bits='64' id='type-id-2090'/>
-      <qualified-type-def type-id='type-id-2035' const='yes' id='type-id-2625'/>
-      <pointer-type-def type-id='type-id-2625' size-in-bits='64' id='type-id-894'/>
-      <pointer-type-def type-id='type-id-894' size-in-bits='64' id='type-id-665'/>
-      <qualified-type-def type-id='type-id-984' const='yes' id='type-id-2626'/>
-      <pointer-type-def type-id='type-id-2626' size-in-bits='64' id='type-id-2119'/>
-      <qualified-type-def type-id='type-id-1241' const='yes' id='type-id-2627'/>
-      <pointer-type-def type-id='type-id-2627' size-in-bits='64' id='type-id-2628'/>
-      <qualified-type-def type-id='type-id-955' const='yes' id='type-id-2629'/>
-      <pointer-type-def type-id='type-id-2629' size-in-bits='64' id='type-id-2630'/>
-      <qualified-type-def type-id='type-id-1256' const='yes' id='type-id-2631'/>
-      <pointer-type-def type-id='type-id-2631' size-in-bits='64' id='type-id-2632'/>
-      <qualified-type-def type-id='type-id-1832' const='yes' id='type-id-2633'/>
-      <pointer-type-def type-id='type-id-2633' size-in-bits='64' id='type-id-1831'/>
-      <qualified-type-def type-id='type-id-1260' const='yes' id='type-id-2634'/>
-      <pointer-type-def type-id='type-id-2634' size-in-bits='64' id='type-id-1257'/>
-      <qualified-type-def type-id='type-id-1218' const='yes' id='type-id-2635'/>
-      <pointer-type-def type-id='type-id-2635' size-in-bits='64' id='type-id-2636'/>
-      <qualified-type-def type-id='type-id-1828' const='yes' id='type-id-2637'/>
-      <pointer-type-def type-id='type-id-2637' size-in-bits='64' id='type-id-1827'/>
-      <qualified-type-def type-id='type-id-1239' const='yes' id='type-id-2638'/>
-      <pointer-type-def type-id='type-id-2638' size-in-bits='64' id='type-id-1228'/>
-      <qualified-type-def type-id='type-id-989' const='yes' id='type-id-2639'/>
-      <pointer-type-def type-id='type-id-2639' size-in-bits='64' id='type-id-2640'/>
-      <pointer-type-def type-id='type-id-2641' size-in-bits='64' id='type-id-1317'/>
-      <pointer-type-def type-id='type-id-2642' size-in-bits='64' id='type-id-2643'/>
-      <qualified-type-def type-id='type-id-2643' const='yes' id='type-id-1408'/>
-      <pointer-type-def type-id='type-id-2644' size-in-bits='64' id='type-id-1476'/>
-      <pointer-type-def type-id='type-id-4' size-in-bits='64' id='type-id-1389'/>
-      <qualified-type-def type-id='type-id-1615' const='yes' id='type-id-2645'/>
-      <pointer-type-def type-id='type-id-2645' size-in-bits='64' id='type-id-1279'/>
-      <qualified-type-def type-id='type-id-1285' const='yes' id='type-id-2646'/>
-      <pointer-type-def type-id='type-id-2646' size-in-bits='64' id='type-id-2647'/>
-      <qualified-type-def type-id='type-id-2532' const='yes' id='type-id-2648'/>
-      <pointer-type-def type-id='type-id-2648' size-in-bits='64' id='type-id-1289'/>
-      <qualified-type-def type-id='type-id-2042' const='yes' id='type-id-2649'/>
-      <pointer-type-def type-id='type-id-2649' size-in-bits='64' id='type-id-2034'/>
-      <qualified-type-def type-id='type-id-388' const='yes' id='type-id-2650'/>
-      <pointer-type-def type-id='type-id-2650' size-in-bits='64' id='type-id-2651'/>
-      <qualified-type-def type-id='type-id-2031' const='yes' id='type-id-2652'/>
-      <pointer-type-def type-id='type-id-2652' size-in-bits='64' id='type-id-2011'/>
-      <qualified-type-def type-id='type-id-2068' const='yes' id='type-id-2653'/>
-      <pointer-type-def type-id='type-id-2653' size-in-bits='64' id='type-id-2019'/>
-      <qualified-type-def type-id='type-id-2504' const='yes' id='type-id-2654'/>
-      <pointer-type-def type-id='type-id-2654' size-in-bits='64' id='type-id-1351'/>
-      <qualified-type-def type-id='type-id-1003' const='yes' id='type-id-2655'/>
-      <pointer-type-def type-id='type-id-2655' size-in-bits='64' id='type-id-2656'/>
-      <qualified-type-def type-id='type-id-1907' const='yes' id='type-id-2657'/>
-      <pointer-type-def type-id='type-id-2657' size-in-bits='64' id='type-id-2658'/>
-      <qualified-type-def type-id='type-id-1839' const='yes' id='type-id-2659'/>
-      <pointer-type-def type-id='type-id-2659' size-in-bits='64' id='type-id-1673'/>
-      <qualified-type-def type-id='type-id-1906' const='yes' id='type-id-2660'/>
-      <pointer-type-def type-id='type-id-2660' size-in-bits='64' id='type-id-2661'/>
-      <qualified-type-def type-id='type-id-1004' const='yes' id='type-id-2662'/>
-      <pointer-type-def type-id='type-id-2662' size-in-bits='64' id='type-id-1353'/>
-      <qualified-type-def type-id='type-id-1274' const='yes' id='type-id-2663'/>
-      <pointer-type-def type-id='type-id-2663' size-in-bits='64' id='type-id-1449'/>
-      <qualified-type-def type-id='type-id-2583' const='yes' id='type-id-2664'/>
-      <pointer-type-def type-id='type-id-2664' size-in-bits='64' id='type-id-2580'/>
-      <qualified-type-def type-id='type-id-2552' const='yes' id='type-id-2665'/>
-      <pointer-type-def type-id='type-id-2665' size-in-bits='64' id='type-id-268'/>
-      <qualified-type-def type-id='type-id-1013' const='yes' id='type-id-2666'/>
-      <pointer-type-def type-id='type-id-2666' size-in-bits='64' id='type-id-1355'/>
-      <qualified-type-def type-id='type-id-1016' const='yes' id='type-id-2667'/>
-      <pointer-type-def type-id='type-id-2667' size-in-bits='64' id='type-id-1357'/>
-      <qualified-type-def type-id='type-id-2162' const='yes' id='type-id-2668'/>
-      <pointer-type-def type-id='type-id-2668' size-in-bits='64' id='type-id-2180'/>
-      <qualified-type-def type-id='type-id-2164' const='yes' id='type-id-2669'/>
-      <pointer-type-def type-id='type-id-2669' size-in-bits='64' id='type-id-2163'/>
-      <qualified-type-def type-id='type-id-1912' const='yes' id='type-id-2670'/>
-      <pointer-type-def type-id='type-id-2670' size-in-bits='64' id='type-id-1675'/>
-      <qualified-type-def type-id='type-id-1297' const='yes' id='type-id-2671'/>
-      <pointer-type-def type-id='type-id-2671' size-in-bits='64' id='type-id-2672'/>
-      <qualified-type-def type-id='type-id-1315' const='yes' id='type-id-2673'/>
-      <pointer-type-def type-id='type-id-2673' size-in-bits='64' id='type-id-1302'/>
-      <qualified-type-def type-id='type-id-1026' const='yes' id='type-id-2674'/>
-      <pointer-type-def type-id='type-id-2674' size-in-bits='64' id='type-id-2047'/>
-      <qualified-type-def type-id='type-id-2120' const='yes' id='type-id-2675'/>
-      <pointer-type-def type-id='type-id-2675' size-in-bits='64' id='type-id-2117'/>
-      <qualified-type-def type-id='type-id-1032' const='yes' id='type-id-2676'/>
-      <pointer-type-def type-id='type-id-2676' size-in-bits='64' id='type-id-1670'/>
-      <qualified-type-def type-id='type-id-2440' const='yes' id='type-id-2677'/>
-      <pointer-type-def type-id='type-id-2677' size-in-bits='64' id='type-id-2678'/>
-      <qualified-type-def type-id='type-id-2444' const='yes' id='type-id-2679'/>
-      <pointer-type-def type-id='type-id-2679' size-in-bits='64' id='type-id-2441'/>
-      <qualified-type-def type-id='type-id-2437' const='yes' id='type-id-2680'/>
-      <pointer-type-def type-id='type-id-2680' size-in-bits='64' id='type-id-1375'/>
-      <qualified-type-def type-id='type-id-1459' const='yes' id='type-id-2681'/>
-      <pointer-type-def type-id='type-id-2681' size-in-bits='64' id='type-id-1457'/>
-      <qualified-type-def type-id='type-id-1283' const='yes' id='type-id-2682'/>
-      <pointer-type-def type-id='type-id-2682' size-in-bits='64' id='type-id-2683'/>
-      <qualified-type-def type-id='type-id-1036' const='yes' id='type-id-2684'/>
-      <pointer-type-def type-id='type-id-2684' size-in-bits='64' id='type-id-2685'/>
-      <qualified-type-def type-id='type-id-1421' const='yes' id='type-id-2686'/>
-      <pointer-type-def type-id='type-id-2686' size-in-bits='64' id='type-id-2184'/>
-      <pointer-type-def type-id='type-id-2687' size-in-bits='64' id='type-id-1415'/>
-      <qualified-type-def type-id='type-id-2450' const='yes' id='type-id-2688'/>
-      <pointer-type-def type-id='type-id-2688' size-in-bits='64' id='type-id-2448'/>
-      <qualified-type-def type-id='type-id-2449' const='yes' id='type-id-2689'/>
-      <pointer-type-def type-id='type-id-2689' size-in-bits='64' id='type-id-2447'/>
-      <qualified-type-def type-id='type-id-1406' const='yes' id='type-id-2690'/>
-      <pointer-type-def type-id='type-id-2690' size-in-bits='64' id='type-id-1399'/>
-      <qualified-type-def type-id='type-id-2121' const='yes' id='type-id-2691'/>
-      <pointer-type-def type-id='type-id-2691' size-in-bits='64' id='type-id-2118'/>
-      <qualified-type-def type-id='type-id-2586' const='yes' id='type-id-2692'/>
-      <pointer-type-def type-id='type-id-2692' size-in-bits='64' id='type-id-2581'/>
-      <qualified-type-def type-id='type-id-1049' const='yes' id='type-id-2693'/>
-      <pointer-type-def type-id='type-id-2693' size-in-bits='64' id='type-id-1674'/>
-      <qualified-type-def type-id='type-id-1051' const='yes' id='type-id-2694'/>
-      <pointer-type-def type-id='type-id-2694' size-in-bits='64' id='type-id-2695'/>
-      <qualified-type-def type-id='type-id-1665' const='yes' id='type-id-2696'/>
-      <pointer-type-def type-id='type-id-2696' size-in-bits='64' id='type-id-2697'/>
-      <qualified-type-def type-id='type-id-1700' const='yes' id='type-id-2698'/>
-      <pointer-type-def type-id='type-id-2698' size-in-bits='64' id='type-id-1672'/>
-      <qualified-type-def type-id='type-id-1057' const='yes' id='type-id-2699'/>
-      <pointer-type-def type-id='type-id-2699' size-in-bits='64' id='type-id-1117'/>
-      <qualified-type-def type-id='type-id-1058' const='yes' id='type-id-2700'/>
-      <pointer-type-def type-id='type-id-2700' size-in-bits='64' id='type-id-2285'/>
-      <qualified-type-def type-id='type-id-2202' const='yes' id='type-id-2701'/>
-      <pointer-type-def type-id='type-id-2701' size-in-bits='64' id='type-id-2188'/>
-      <qualified-type-def type-id='type-id-1805' const='yes' id='type-id-2702'/>
-      <pointer-type-def type-id='type-id-2702' size-in-bits='64' id='type-id-1808'/>
-      <qualified-type-def type-id='type-id-1814' const='yes' id='type-id-2703'/>
-      <pointer-type-def type-id='type-id-2703' size-in-bits='64' id='type-id-1811'/>
-      <qualified-type-def type-id='type-id-1061' const='yes' id='type-id-2704'/>
-      <pointer-type-def type-id='type-id-2704' size-in-bits='64' id='type-id-2051'/>
-      <qualified-type-def type-id='type-id-2086' const='yes' id='type-id-2705'/>
-      <pointer-type-def type-id='type-id-2705' size-in-bits='64' id='type-id-2706'/>
-      <qualified-type-def type-id='type-id-1276' const='yes' id='type-id-2707'/>
-      <pointer-type-def type-id='type-id-2707' size-in-bits='64' id='type-id-2708'/>
-      <qualified-type-def type-id='type-id-2132' const='yes' id='type-id-2709'/>
-      <pointer-type-def type-id='type-id-2709' size-in-bits='64' id='type-id-2131'/>
-      <qualified-type-def type-id='type-id-1072' const='yes' id='type-id-2710'/>
-      <pointer-type-def type-id='type-id-2710' size-in-bits='64' id='type-id-1589'/>
-      <qualified-type-def type-id='type-id-1287' const='yes' id='type-id-2711'/>
-      <pointer-type-def type-id='type-id-2711' size-in-bits='64' id='type-id-2712'/>
-      <qualified-type-def type-id='type-id-2527' const='yes' id='type-id-2713'/>
-      <pointer-type-def type-id='type-id-2713' size-in-bits='64' id='type-id-1119'/>
-      <qualified-type-def type-id='type-id-2512' const='yes' id='type-id-2714'/>
-      <pointer-type-def type-id='type-id-2714' size-in-bits='64' id='type-id-1352'/>
-      <qualified-type-def type-id='type-id-2187' const='yes' id='type-id-2715'/>
-      <pointer-type-def type-id='type-id-2715' size-in-bits='64' id='type-id-1694'/>
-      <qualified-type-def type-id='type-id-738' const='yes' id='type-id-2716'/>
-      <pointer-type-def type-id='type-id-2716' size-in-bits='64' id='type-id-1376'/>
-      <qualified-type-def type-id='type-id-1085' const='yes' id='type-id-2717'/>
-      <pointer-type-def type-id='type-id-2717' size-in-bits='64' id='type-id-1498'/>
-      <qualified-type-def type-id='type-id-1452' const='yes' id='type-id-2718'/>
-      <pointer-type-def type-id='type-id-2718' size-in-bits='64' id='type-id-1448'/>
-      <qualified-type-def type-id='type-id-1753' const='yes' id='type-id-2719'/>
-      <pointer-type-def type-id='type-id-2719' size-in-bits='64' id='type-id-2720'/>
-      <qualified-type-def type-id='type-id-2474' const='yes' id='type-id-2721'/>
-      <pointer-type-def type-id='type-id-2721' size-in-bits='64' id='type-id-1350'/>
-      <qualified-type-def type-id='type-id-1418' const='yes' id='type-id-2722'/>
-      <pointer-type-def type-id='type-id-2722' size-in-bits='64' id='type-id-1413'/>
-      <qualified-type-def type-id='type-id-1935' const='yes' id='type-id-2723'/>
-      <pointer-type-def type-id='type-id-2723' size-in-bits='64' id='type-id-1943'/>
-      <qualified-type-def type-id='type-id-1945' const='yes' id='type-id-2724'/>
-      <pointer-type-def type-id='type-id-2724' size-in-bits='64' id='type-id-1937'/>
-      <qualified-type-def type-id='type-id-1095' const='yes' id='type-id-2725'/>
-      <pointer-type-def type-id='type-id-2725' size-in-bits='64' id='type-id-2233'/>
-      <qualified-type-def type-id='type-id-688' const='yes' id='type-id-2442'/>
-      <qualified-type-def type-id='type-id-7' const='yes' id='type-id-2726'/>
-      <pointer-type-def type-id='type-id-2726' size-in-bits='64' id='type-id-2727'/>
-      <qualified-type-def type-id='type-id-214' const='yes' id='type-id-2728'/>
-      <pointer-type-def type-id='type-id-2728' size-in-bits='64' id='type-id-658'/>
-      <qualified-type-def type-id='type-id-216' const='yes' id='type-id-2729'/>
-      <pointer-type-def type-id='type-id-2729' size-in-bits='64' id='type-id-878'/>
-      <qualified-type-def type-id='type-id-5' const='yes' id='type-id-893'/>
-      <qualified-type-def type-id='type-id-16' const='yes' id='type-id-892'/>
-      <qualified-type-def type-id='type-id-1467' const='yes' id='type-id-2730'/>
-      <pointer-type-def type-id='type-id-2730' size-in-bits='64' id='type-id-1466'/>
-      <qualified-type-def type-id='type-id-1112' const='yes' id='type-id-2731'/>
-      <pointer-type-def type-id='type-id-2731' size-in-bits='64' id='type-id-2732'/>
-      <pointer-type-def type-id='type-id-2732' size-in-bits='64' id='type-id-1354'/>
-      <pointer-type-def type-id='type-id-2415' size-in-bits='64' id='type-id-1489'/>
-      <pointer-type-def type-id='type-id-2416' size-in-bits='64' id='type-id-2417'/>
-      <pointer-type-def type-id='type-id-996' size-in-bits='64' id='type-id-1686'/>
-      <pointer-type-def type-id='type-id-2309' size-in-bits='64' id='type-id-1531'/>
-      <pointer-type-def type-id='type-id-2291' size-in-bits='64' id='type-id-2286'/>
-      <pointer-type-def type-id='type-id-1593' size-in-bits='64' id='type-id-1599'/>
-      <pointer-type-def type-id='type-id-1613' size-in-bits='64' id='type-id-1600'/>
-      <pointer-type-def type-id='type-id-1602' size-in-bits='64' id='type-id-1596'/>
-      <pointer-type-def type-id='type-id-1594' size-in-bits='64' id='type-id-1585'/>
-      <pointer-type-def type-id='type-id-1607' size-in-bits='64' id='type-id-1604'/>
-      <pointer-type-def type-id='type-id-1609' size-in-bits='64' id='type-id-1597'/>
-      <pointer-type-def type-id='type-id-1584' size-in-bits='64' id='type-id-1598'/>
-      <pointer-type-def type-id='type-id-2733' size-in-bits='64' id='type-id-1610'/>
-      <pointer-type-def type-id='type-id-1337' size-in-bits='64' id='type-id-2734'/>
-      <pointer-type-def type-id='type-id-1285' size-in-bits='64' id='type-id-23'/>
-      <pointer-type-def type-id='type-id-2735' size-in-bits='64' id='type-id-2543'/>
-      <pointer-type-def type-id='type-id-2736' size-in-bits='64' id='type-id-1367'/>
-      <pointer-type-def type-id='type-id-2737' size-in-bits='64' id='type-id-1316'/>
-      <pointer-type-def type-id='type-id-2738' size-in-bits='64' id='type-id-1368'/>
-      <pointer-type-def type-id='type-id-1699' size-in-bits='64' id='type-id-1666'/>
-      <pointer-type-def type-id='type-id-2142' size-in-bits='64' id='type-id-2739'/>
-      <pointer-type-def type-id='type-id-997' size-in-bits='64' id='type-id-2018'/>
-      <pointer-type-def type-id='type-id-2066' size-in-bits='64' id='type-id-2016'/>
-      <pointer-type-def type-id='type-id-998' size-in-bits='64' id='type-id-2063'/>
-      <pointer-type-def type-id='type-id-388' size-in-bits='64' id='type-id-240'/>
-      <pointer-type-def type-id='type-id-2161' size-in-bits='64' id='type-id-2020'/>
-      <pointer-type-def type-id='type-id-2049' size-in-bits='64' id='type-id-2013'/>
-      <pointer-type-def type-id='type-id-999' size-in-bits='64' id='type-id-2024'/>
-      <pointer-type-def type-id='type-id-1000' size-in-bits='64' id='type-id-2010'/>
-      <pointer-type-def type-id='type-id-2574' size-in-bits='64' id='type-id-2740'/>
-      <pointer-type-def type-id='type-id-2083' size-in-bits='64' id='type-id-2741'/>
-      <pointer-type-def type-id='type-id-1001' size-in-bits='64' id='type-id-2021'/>
-      <pointer-type-def type-id='type-id-2494' size-in-bits='64' id='type-id-2742'/>
-      <pointer-type-def type-id='type-id-2743' size-in-bits='64' id='type-id-2506'/>
-      <pointer-type-def type-id='type-id-2742' size-in-bits='64' id='type-id-2744'/>
-      <pointer-type-def type-id='type-id-2745' size-in-bits='64' id='type-id-2491'/>
-      <pointer-type-def type-id='type-id-1002' size-in-bits='64' id='type-id-2053'/>
-      <pointer-type-def type-id='type-id-1003' size-in-bits='64' id='type-id-2746'/>
-      <pointer-type-def type-id='type-id-2747' size-in-bits='64' id='type-id-2278'/>
-      <pointer-type-def type-id='type-id-2748' size-in-bits='64' id='type-id-2273'/>
-      <pointer-type-def type-id='type-id-2269' size-in-bits='64' id='type-id-2749'/>
-      <pointer-type-def type-id='type-id-2456' size-in-bits='64' id='type-id-2455'/>
-      <pointer-type-def type-id='type-id-2750' size-in-bits='64' id='type-id-1553'/>
-      <pointer-type-def type-id='type-id-1901' size-in-bits='64' id='type-id-2751'/>
-      <pointer-type-def type-id='type-id-1877' size-in-bits='64' id='type-id-2752'/>
-      <pointer-type-def type-id='type-id-1882' size-in-bits='64' id='type-id-2753'/>
-      <pointer-type-def type-id='type-id-1878' size-in-bits='64' id='type-id-2754'/>
-      <pointer-type-def type-id='type-id-1902' size-in-bits='64' id='type-id-2755'/>
-      <pointer-type-def type-id='type-id-1905' size-in-bits='64' id='type-id-2756'/>
-      <pointer-type-def type-id='type-id-1881' size-in-bits='64' id='type-id-2757'/>
-      <pointer-type-def type-id='type-id-1911' size-in-bits='64' id='type-id-2758'/>
-      <pointer-type-def type-id='type-id-1900' size-in-bits='64' id='type-id-2759'/>
-      <pointer-type-def type-id='type-id-1907' size-in-bits='64' id='type-id-2760'/>
-      <pointer-type-def type-id='type-id-1904' size-in-bits='64' id='type-id-2761'/>
-      <pointer-type-def type-id='type-id-1884' size-in-bits='64' id='type-id-2762'/>
-      <pointer-type-def type-id='type-id-1879' size-in-bits='64' id='type-id-2763'/>
-      <pointer-type-def type-id='type-id-1883' size-in-bits='64' id='type-id-2764'/>
-      <pointer-type-def type-id='type-id-1888' size-in-bits='64' id='type-id-2765'/>
-      <pointer-type-def type-id='type-id-1887' size-in-bits='64' id='type-id-2766'/>
-      <pointer-type-def type-id='type-id-1885' size-in-bits='64' id='type-id-2767'/>
-      <pointer-type-def type-id='type-id-1903' size-in-bits='64' id='type-id-2768'/>
-      <pointer-type-def type-id='type-id-1880' size-in-bits='64' id='type-id-2769'/>
-      <pointer-type-def type-id='type-id-2451' size-in-bits='64' id='type-id-1379'/>
-      <pointer-type-def type-id='type-id-2124' size-in-bits='64' id='type-id-254'/>
-      <pointer-type-def type-id='type-id-1005' size-in-bits='64' id='type-id-2265'/>
-      <pointer-type-def type-id='type-id-1006' size-in-bits='64' id='type-id-2268'/>
-      <pointer-type-def type-id='type-id-1007' size-in-bits='64' id='type-id-2236'/>
-      <pointer-type-def type-id='type-id-1008' size-in-bits='64' id='type-id-2225'/>
-      <pointer-type-def type-id='type-id-1009' size-in-bits='64' id='type-id-2226'/>
-      <pointer-type-def type-id='type-id-1347' size-in-bits='64' id='type-id-1346'/>
-      <pointer-type-def type-id='type-id-1345' size-in-bits='64' id='type-id-2770'/>
-      <pointer-type-def type-id='type-id-1274' size-in-bits='64' id='type-id-83'/>
-      <pointer-type-def type-id='type-id-2578' size-in-bits='64' id='type-id-2579'/>
-      <pointer-type-def type-id='type-id-2579' size-in-bits='64' id='type-id-2771'/>
-      <pointer-type-def type-id='type-id-2600' size-in-bits='64' id='type-id-1306'/>
-      <pointer-type-def type-id='type-id-1366' size-in-bits='64' id='type-id-1349'/>
-      <pointer-type-def type-id='type-id-1010' size-in-bits='64' id='type-id-1515'/>
-      <pointer-type-def type-id='type-id-1793' size-in-bits='64' id='type-id-1783'/>
-      <pointer-type-def type-id='type-id-1795' size-in-bits='64' id='type-id-1784'/>
-      <pointer-type-def type-id='type-id-1797' size-in-bits='64' id='type-id-1785'/>
-      <pointer-type-def type-id='type-id-1011' size-in-bits='64' id='type-id-1514'/>
-      <pointer-type-def type-id='type-id-1012' size-in-bits='64' id='type-id-1309'/>
-      <pointer-type-def type-id='type-id-1014' size-in-bits='64' id='type-id-1308'/>
-      <pointer-type-def type-id='type-id-1015' size-in-bits='64' id='type-id-1310'/>
-      <pointer-type-def type-id='type-id-1017' size-in-bits='64' id='type-id-1534'/>
-      <pointer-type-def type-id='type-id-2179' size-in-bits='64' id='type-id-2772'/>
-      <pointer-type-def type-id='type-id-2162' size-in-bits='64' id='type-id-2025'/>
-      <pointer-type-def type-id='type-id-2773' size-in-bits='64' id='type-id-2172'/>
-      <pointer-type-def type-id='type-id-2774' size-in-bits='64' id='type-id-2174'/>
-      <pointer-type-def type-id='type-id-2775' size-in-bits='64' id='type-id-2173'/>
-      <pointer-type-def type-id='type-id-2776' size-in-bits='64' id='type-id-2165'/>
-      <pointer-type-def type-id='type-id-2178' size-in-bits='64' id='type-id-2777'/>
-      <pointer-type-def type-id='type-id-1018' size-in-bits='64' id='type-id-2524'/>
-      <pointer-type-def type-id='type-id-1997' size-in-bits='64' id='type-id-2778'/>
-      <pointer-type-def type-id='type-id-2002' size-in-bits='64' id='type-id-1933'/>
-      <pointer-type-def type-id='type-id-1944' size-in-bits='64' id='type-id-1934'/>
-      <pointer-type-def type-id='type-id-1640' size-in-bits='64' id='type-id-1616'/>
-      <pointer-type-def type-id='type-id-1019' size-in-bits='64' id='type-id-2523'/>
-      <pointer-type-def type-id='type-id-1918' size-in-bits='64' id='type-id-2779'/>
-      <pointer-type-def type-id='type-id-1286' size-in-bits='64' id='type-id-1293'/>
-      <pointer-type-def type-id='type-id-1293' size-in-bits='64' id='type-id-1294'/>
-      <pointer-type-def type-id='type-id-186' size-in-bits='64' id='type-id-746'/>
-      <pointer-type-def type-id='type-id-520' size-in-bits='64' id='type-id-97'/>
-      <pointer-type-def type-id='type-id-97' size-in-bits='64' id='type-id-1578'/>
-      <pointer-type-def type-id='type-id-2294' size-in-bits='64' id='type-id-2293'/>
-      <pointer-type-def type-id='type-id-2293' size-in-bits='64' id='type-id-2295'/>
-      <pointer-type-def type-id='type-id-681' size-in-bits='64' id='type-id-1558'/>
-      <pointer-type-def type-id='type-id-1127' size-in-bits='64' id='type-id-1554'/>
-      <pointer-type-def type-id='type-id-1561' size-in-bits='64' id='type-id-1556'/>
-      <pointer-type-def type-id='type-id-1339' size-in-bits='64' id='type-id-2780'/>
-      <pointer-type-def type-id='type-id-2218' size-in-bits='64' id='type-id-2209'/>
-      <pointer-type-def type-id='type-id-2219' size-in-bits='64' id='type-id-2210'/>
-      <pointer-type-def type-id='type-id-2220' size-in-bits='64' id='type-id-2211'/>
-      <pointer-type-def type-id='type-id-2221' size-in-bits='64' id='type-id-2212'/>
-      <pointer-type-def type-id='type-id-1803' size-in-bits='64' id='type-id-2781'/>
-      <pointer-type-def type-id='type-id-1804' size-in-bits='64' id='type-id-2782'/>
-      <pointer-type-def type-id='type-id-1777' size-in-bits='64' id='type-id-2783'/>
-      <pointer-type-def type-id='type-id-1773' size-in-bits='64' id='type-id-2784'/>
-      <pointer-type-def type-id='type-id-1020' size-in-bits='64' id='type-id-1678'/>
-      <pointer-type-def type-id='type-id-1021' size-in-bits='64' id='type-id-1679'/>
-      <pointer-type-def type-id='type-id-2244' size-in-bits='64' id='type-id-2785'/>
-      <pointer-type-def type-id='type-id-2240' size-in-bits='64' id='type-id-2238'/>
-      <pointer-type-def type-id='type-id-1022' size-in-bits='64' id='type-id-2261'/>
-      <pointer-type-def type-id='type-id-1023' size-in-bits='64' id='type-id-2228'/>
-      <pointer-type-def type-id='type-id-1297' size-in-bits='64' id='type-id-1129'/>
-      <pointer-type-def type-id='type-id-2786' size-in-bits='64' id='type-id-2475'/>
-      <pointer-type-def type-id='type-id-2787' size-in-bits='64' id='type-id-1380'/>
-      <pointer-type-def type-id='type-id-2788' size-in-bits='64' id='type-id-1978'/>
-      <pointer-type-def type-id='type-id-2789' size-in-bits='64' id='type-id-1974'/>
-      <pointer-type-def type-id='type-id-2790' size-in-bits='64' id='type-id-1977'/>
-      <pointer-type-def type-id='type-id-2791' size-in-bits='64' id='type-id-1987'/>
-      <pointer-type-def type-id='type-id-2792' size-in-bits='64' id='type-id-1976'/>
-      <pointer-type-def type-id='type-id-2793' size-in-bits='64' id='type-id-1988'/>
-      <pointer-type-def type-id='type-id-2794' size-in-bits='64' id='type-id-1983'/>
-      <pointer-type-def type-id='type-id-2795' size-in-bits='64' id='type-id-1993'/>
-      <pointer-type-def type-id='type-id-2796' size-in-bits='64' id='type-id-1992'/>
-      <pointer-type-def type-id='type-id-2797' size-in-bits='64' id='type-id-2108'/>
-      <pointer-type-def type-id='type-id-2798' size-in-bits='64' id='type-id-2104'/>
-      <pointer-type-def type-id='type-id-2799' size-in-bits='64' id='type-id-2094'/>
-      <pointer-type-def type-id='type-id-2800' size-in-bits='64' id='type-id-1261'/>
-      <pointer-type-def type-id='type-id-2801' size-in-bits='64' id='type-id-1268'/>
-      <pointer-type-def type-id='type-id-2802' size-in-bits='64' id='type-id-1265'/>
-      <pointer-type-def type-id='type-id-2803' size-in-bits='64' id='type-id-1267'/>
-      <pointer-type-def type-id='type-id-2804' size-in-bits='64' id='type-id-1835'/>
-      <pointer-type-def type-id='type-id-2805' size-in-bits='64' id='type-id-1833'/>
-      <pointer-type-def type-id='type-id-2806' size-in-bits='64' id='type-id-1834'/>
-      <pointer-type-def type-id='type-id-2807' size-in-bits='64' id='type-id-1240'/>
-      <pointer-type-def type-id='type-id-2808' size-in-bits='64' id='type-id-1829'/>
-      <pointer-type-def type-id='type-id-2809' size-in-bits='64' id='type-id-2338'/>
-      <pointer-type-def type-id='type-id-2810' size-in-bits='64' id='type-id-2352'/>
-      <pointer-type-def type-id='type-id-2811' size-in-bits='64' id='type-id-2351'/>
-      <pointer-type-def type-id='type-id-2812' size-in-bits='64' id='type-id-2342'/>
-      <pointer-type-def type-id='type-id-2813' size-in-bits='64' id='type-id-2446'/>
-      <pointer-type-def type-id='type-id-2814' size-in-bits='64' id='type-id-1273'/>
-      <pointer-type-def type-id='type-id-2815' size-in-bits='64' id='type-id-2445'/>
-      <pointer-type-def type-id='type-id-2816' size-in-bits='64' id='type-id-2536'/>
-      <pointer-type-def type-id='type-id-2817' size-in-bits='64' id='type-id-2534'/>
-      <pointer-type-def type-id='type-id-2818' size-in-bits='64' id='type-id-2535'/>
-      <pointer-type-def type-id='type-id-2819' size-in-bits='64' id='type-id-2171'/>
-      <pointer-type-def type-id='type-id-2820' size-in-bits='64' id='type-id-2175'/>
-      <pointer-type-def type-id='type-id-2821' size-in-bits='64' id='type-id-2170'/>
-      <pointer-type-def type-id='type-id-2822' size-in-bits='64' id='type-id-2177'/>
-      <pointer-type-def type-id='type-id-2823' size-in-bits='64' id='type-id-2176'/>
-      <pointer-type-def type-id='type-id-2824' size-in-bits='64' id='type-id-1915'/>
-      <pointer-type-def type-id='type-id-2825' size-in-bits='64' id='type-id-1746'/>
-      <pointer-type-def type-id='type-id-2826' size-in-bits='64' id='type-id-1331'/>
-      <pointer-type-def type-id='type-id-2827' size-in-bits='64' id='type-id-2542'/>
-      <pointer-type-def type-id='type-id-2828' size-in-bits='64' id='type-id-1914'/>
-      <pointer-type-def type-id='type-id-2829' size-in-bits='64' id='type-id-1612'/>
-      <pointer-type-def type-id='type-id-2830' size-in-bits='64' id='type-id-1592'/>
-      <pointer-type-def type-id='type-id-2831' size-in-bits='64' id='type-id-2537'/>
-      <pointer-type-def type-id='type-id-2832' size-in-bits='64' id='type-id-1321'/>
-      <pointer-type-def type-id='type-id-2833' size-in-bits='64' id='type-id-1329'/>
-      <pointer-type-def type-id='type-id-2834' size-in-bits='64' id='type-id-1323'/>
-      <pointer-type-def type-id='type-id-2835' size-in-bits='64' id='type-id-2482'/>
-      <pointer-type-def type-id='type-id-2836' size-in-bits='64' id='type-id-2533'/>
-      <pointer-type-def type-id='type-id-2837' size-in-bits='64' id='type-id-2043'/>
-      <pointer-type-def type-id='type-id-2838' size-in-bits='64' id='type-id-2045'/>
-      <pointer-type-def type-id='type-id-2839' size-in-bits='64' id='type-id-2032'/>
-      <pointer-type-def type-id='type-id-2840' size-in-bits='64' id='type-id-2075'/>
-      <pointer-type-def type-id='type-id-2841' size-in-bits='64' id='type-id-2072'/>
-      <pointer-type-def type-id='type-id-2842' size-in-bits='64' id='type-id-2081'/>
-      <pointer-type-def type-id='type-id-2843' size-in-bits='64' id='type-id-2046'/>
-      <pointer-type-def type-id='type-id-2844' size-in-bits='64' id='type-id-2082'/>
-      <pointer-type-def type-id='type-id-2845' size-in-bits='64' id='type-id-2071'/>
-      <pointer-type-def type-id='type-id-2846' size-in-bits='64' id='type-id-2576'/>
-      <pointer-type-def type-id='type-id-2847' size-in-bits='64' id='type-id-2505'/>
-      <pointer-type-def type-id='type-id-2848' size-in-bits='64' id='type-id-2272'/>
-      <pointer-type-def type-id='type-id-2849' size-in-bits='64' id='type-id-2096'/>
-      <pointer-type-def type-id='type-id-2850' size-in-bits='64' id='type-id-2097'/>
-      <pointer-type-def type-id='type-id-2851' size-in-bits='64' id='type-id-2098'/>
-      <pointer-type-def type-id='type-id-2852' size-in-bits='64' id='type-id-2556'/>
-      <pointer-type-def type-id='type-id-2853' size-in-bits='64' id='type-id-2564'/>
-      <pointer-type-def type-id='type-id-2854' size-in-bits='64' id='type-id-2041'/>
-      <pointer-type-def type-id='type-id-2855' size-in-bits='64' id='type-id-2569'/>
-      <pointer-type-def type-id='type-id-2856' size-in-bits='64' id='type-id-2093'/>
-      <pointer-type-def type-id='type-id-2857' size-in-bits='64' id='type-id-2561'/>
-      <pointer-type-def type-id='type-id-2858' size-in-bits='64' id='type-id-2573'/>
-      <pointer-type-def type-id='type-id-2859' size-in-bits='64' id='type-id-2562'/>
-      <pointer-type-def type-id='type-id-2860' size-in-bits='64' id='type-id-2559'/>
-      <pointer-type-def type-id='type-id-2861' size-in-bits='64' id='type-id-2587'/>
-      <pointer-type-def type-id='type-id-2862' size-in-bits='64' id='type-id-2591'/>
-      <pointer-type-def type-id='type-id-2863' size-in-bits='64' id='type-id-2593'/>
-      <pointer-type-def type-id='type-id-2864' size-in-bits='64' id='type-id-2479'/>
-      <pointer-type-def type-id='type-id-2865' size-in-bits='64' id='type-id-1324'/>
-      <pointer-type-def type-id='type-id-2866' size-in-bits='64' id='type-id-1325'/>
-      <pointer-type-def type-id='type-id-2867' size-in-bits='64' id='type-id-1335'/>
-      <pointer-type-def type-id='type-id-2868' size-in-bits='64' id='type-id-1328'/>
-      <pointer-type-def type-id='type-id-2869' size-in-bits='64' id='type-id-1326'/>
-      <pointer-type-def type-id='type-id-2870' size-in-bits='64' id='type-id-1322'/>
-      <pointer-type-def type-id='type-id-2871' size-in-bits='64' id='type-id-1327'/>
-      <pointer-type-def type-id='type-id-2872' size-in-bits='64' id='type-id-1333'/>
-      <pointer-type-def type-id='type-id-2873' size-in-bits='64' id='type-id-2560'/>
-      <pointer-type-def type-id='type-id-2874' size-in-bits='64' id='type-id-1318'/>
-      <pointer-type-def type-id='type-id-2875' size-in-bits='64' id='type-id-2509'/>
-      <pointer-type-def type-id='type-id-2876' size-in-bits='64' id='type-id-1336'/>
-      <pointer-type-def type-id='type-id-2877' size-in-bits='64' id='type-id-2510'/>
-      <pointer-type-def type-id='type-id-2878' size-in-bits='64' id='type-id-1334'/>
-      <pointer-type-def type-id='type-id-2879' size-in-bits='64' id='type-id-2478'/>
-      <pointer-type-def type-id='type-id-2880' size-in-bits='64' id='type-id-2566'/>
-      <pointer-type-def type-id='type-id-2881' size-in-bits='64' id='type-id-1713'/>
-      <pointer-type-def type-id='type-id-2882' size-in-bits='64' id='type-id-2563'/>
-      <pointer-type-def type-id='type-id-2883' size-in-bits='64' id='type-id-1444'/>
-      <pointer-type-def type-id='type-id-2884' size-in-bits='64' id='type-id-1443'/>
-      <pointer-type-def type-id='type-id-2885' size-in-bits='64' id='type-id-1445'/>
-      <pointer-type-def type-id='type-id-2886' size-in-bits='64' id='type-id-1460'/>
-      <pointer-type-def type-id='type-id-2887' size-in-bits='64' id='type-id-1464'/>
-      <pointer-type-def type-id='type-id-2888' size-in-bits='64' id='type-id-1441'/>
-      <pointer-type-def type-id='type-id-2889' size-in-bits='64' id='type-id-1637'/>
-      <pointer-type-def type-id='type-id-2890' size-in-bits='64' id='type-id-2891'/>
-      <qualified-type-def type-id='type-id-2891' const='yes' id='type-id-1407'/>
-      <pointer-type-def type-id='type-id-2892' size-in-bits='64' id='type-id-2893'/>
-      <qualified-type-def type-id='type-id-2893' const='yes' id='type-id-1409'/>
-      <pointer-type-def type-id='type-id-2894' size-in-bits='64' id='type-id-2435'/>
-      <pointer-type-def type-id='type-id-2895' size-in-bits='64' id='type-id-1735'/>
-      <pointer-type-def type-id='type-id-2896' size-in-bits='64' id='type-id-1734'/>
-      <pointer-type-def type-id='type-id-2897' size-in-bits='64' id='type-id-2190'/>
-      <pointer-type-def type-id='type-id-2898' size-in-bits='64' id='type-id-1949'/>
-      <pointer-type-def type-id='type-id-2899' size-in-bits='64' id='type-id-2281'/>
-      <pointer-type-def type-id='type-id-2900' size-in-bits='64' id='type-id-1955'/>
-      <pointer-type-def type-id='type-id-2901' size-in-bits='64' id='type-id-1701'/>
-      <pointer-type-def type-id='type-id-2902' size-in-bits='64' id='type-id-1741'/>
-      <pointer-type-def type-id='type-id-2903' size-in-bits='64' id='type-id-1875'/>
-      <pointer-type-def type-id='type-id-2904' size-in-bits='64' id='type-id-1872'/>
-      <pointer-type-def type-id='type-id-2905' size-in-bits='64' id='type-id-1727'/>
-      <pointer-type-def type-id='type-id-2906' size-in-bits='64' id='type-id-1862'/>
-      <pointer-type-def type-id='type-id-2907' size-in-bits='64' id='type-id-1864'/>
-      <pointer-type-def type-id='type-id-2908' size-in-bits='64' id='type-id-1855'/>
-      <pointer-type-def type-id='type-id-2909' size-in-bits='64' id='type-id-1726'/>
-      <pointer-type-def type-id='type-id-2910' size-in-bits='64' id='type-id-1866'/>
-      <pointer-type-def type-id='type-id-2911' size-in-bits='64' id='type-id-1840'/>
-      <pointer-type-def type-id='type-id-2912' size-in-bits='64' id='type-id-1848'/>
-      <pointer-type-def type-id='type-id-2913' size-in-bits='64' id='type-id-1867'/>
-      <pointer-type-def type-id='type-id-2914' size-in-bits='64' id='type-id-1868'/>
-      <pointer-type-def type-id='type-id-2915' size-in-bits='64' id='type-id-1871'/>
-      <pointer-type-def type-id='type-id-2916' size-in-bits='64' id='type-id-1847'/>
-      <pointer-type-def type-id='type-id-2917' size-in-bits='64' id='type-id-1876'/>
-      <pointer-type-def type-id='type-id-2918' size-in-bits='64' id='type-id-1859'/>
-      <pointer-type-def type-id='type-id-2919' size-in-bits='64' id='type-id-1874'/>
-      <pointer-type-def type-id='type-id-2920' size-in-bits='64' id='type-id-1870'/>
-      <pointer-type-def type-id='type-id-2921' size-in-bits='64' id='type-id-1852'/>
-      <pointer-type-def type-id='type-id-2922' size-in-bits='64' id='type-id-1850'/>
-      <pointer-type-def type-id='type-id-2923' size-in-bits='64' id='type-id-1858'/>
-      <pointer-type-def type-id='type-id-2924' size-in-bits='64' id='type-id-1857'/>
-      <pointer-type-def type-id='type-id-2925' size-in-bits='64' id='type-id-1869'/>
-      <pointer-type-def type-id='type-id-2926' size-in-bits='64' id='type-id-1844'/>
-      <pointer-type-def type-id='type-id-2927' size-in-bits='64' id='type-id-1708'/>
-      <pointer-type-def type-id='type-id-2928' size-in-bits='64' id='type-id-1707'/>
-      <pointer-type-def type-id='type-id-2929' size-in-bits='64' id='type-id-1709'/>
-      <pointer-type-def type-id='type-id-2930' size-in-bits='64' id='type-id-1720'/>
-      <pointer-type-def type-id='type-id-2931' size-in-bits='64' id='type-id-1722'/>
-      <pointer-type-def type-id='type-id-2932' size-in-bits='64' id='type-id-1721'/>
-      <pointer-type-def type-id='type-id-2933' size-in-bits='64' id='type-id-1718'/>
-      <pointer-type-def type-id='type-id-2934' size-in-bits='64' id='type-id-1723'/>
-      <pointer-type-def type-id='type-id-2935' size-in-bits='64' id='type-id-1724'/>
-      <pointer-type-def type-id='type-id-2936' size-in-bits='64' id='type-id-1719'/>
-      <pointer-type-def type-id='type-id-2937' size-in-bits='64' id='type-id-1717'/>
-      <pointer-type-def type-id='type-id-2938' size-in-bits='64' id='type-id-1745'/>
-      <pointer-type-def type-id='type-id-2939' size-in-bits='64' id='type-id-1725'/>
-      <pointer-type-def type-id='type-id-2940' size-in-bits='64' id='type-id-1716'/>
-      <pointer-type-def type-id='type-id-2941' size-in-bits='64' id='type-id-1749'/>
-      <pointer-type-def type-id='type-id-2942' size-in-bits='64' id='type-id-1710'/>
-      <pointer-type-def type-id='type-id-2943' size-in-bits='64' id='type-id-1732'/>
-      <pointer-type-def type-id='type-id-2944' size-in-bits='64' id='type-id-1729'/>
-      <pointer-type-def type-id='type-id-2945' size-in-bits='64' id='type-id-1728'/>
-      <pointer-type-def type-id='type-id-2946' size-in-bits='64' id='type-id-2196'/>
-      <pointer-type-def type-id='type-id-2947' size-in-bits='64' id='type-id-1748'/>
-      <pointer-type-def type-id='type-id-2948' size-in-bits='64' id='type-id-1740'/>
-      <pointer-type-def type-id='type-id-2949' size-in-bits='64' id='type-id-2191'/>
-      <pointer-type-def type-id='type-id-2950' size-in-bits='64' id='type-id-1737'/>
-      <pointer-type-def type-id='type-id-2951' size-in-bits='64' id='type-id-1747'/>
-      <pointer-type-def type-id='type-id-2952' size-in-bits='64' id='type-id-1715'/>
-      <pointer-type-def type-id='type-id-2953' size-in-bits='64' id='type-id-1739'/>
-      <pointer-type-def type-id='type-id-2954' size-in-bits='64' id='type-id-1731'/>
-      <pointer-type-def type-id='type-id-2955' size-in-bits='64' id='type-id-1750'/>
-      <pointer-type-def type-id='type-id-2956' size-in-bits='64' id='type-id-1873'/>
-      <pointer-type-def type-id='type-id-2957' size-in-bits='64' id='type-id-1860'/>
-      <pointer-type-def type-id='type-id-2958' size-in-bits='64' id='type-id-1861'/>
-      <pointer-type-def type-id='type-id-2959' size-in-bits='64' id='type-id-1863'/>
-      <pointer-type-def type-id='type-id-2960' size-in-bits='64' id='type-id-1706'/>
-      <pointer-type-def type-id='type-id-2961' size-in-bits='64' id='type-id-1813'/>
-      <pointer-type-def type-id='type-id-2962' size-in-bits='64' id='type-id-2189'/>
-      <pointer-type-def type-id='type-id-2963' size-in-bits='64' id='type-id-2095'/>
-      <pointer-type-def type-id='type-id-2964' size-in-bits='64' id='type-id-2101'/>
-      <pointer-type-def type-id='type-id-2965' size-in-bits='64' id='type-id-2106'/>
-      <pointer-type-def type-id='type-id-2966' size-in-bits='64' id='type-id-2092'/>
-      <pointer-type-def type-id='type-id-2967' size-in-bits='64' id='type-id-2133'/>
-      <pointer-type-def type-id='type-id-2968' size-in-bits='64' id='type-id-2257'/>
-      <pointer-type-def type-id='type-id-2969' size-in-bits='64' id='type-id-2341'/>
-      <pointer-type-def type-id='type-id-2970' size-in-bits='64' id='type-id-2487'/>
-      <pointer-type-def type-id='type-id-2971' size-in-bits='64' id='type-id-1446'/>
-      <pointer-type-def type-id='type-id-2972' size-in-bits='64' id='type-id-1442'/>
-      <pointer-type-def type-id='type-id-2973' size-in-bits='64' id='type-id-311'/>
-      <pointer-type-def type-id='type-id-2974' size-in-bits='64' id='type-id-1964'/>
-      <pointer-type-def type-id='type-id-2975' size-in-bits='64' id='type-id-2194'/>
-      <pointer-type-def type-id='type-id-2976' size-in-bits='64' id='type-id-2198'/>
-      <pointer-type-def type-id='type-id-2977' size-in-bits='64' id='type-id-2201'/>
-      <pointer-type-def type-id='type-id-2978' size-in-bits='64' id='type-id-1936'/>
-      <pointer-type-def type-id='type-id-2979' size-in-bits='64' id='type-id-1956'/>
-      <pointer-type-def type-id='type-id-2980' size-in-bits='64' id='type-id-1913'/>
-      <pointer-type-def type-id='type-id-2981' size-in-bits='64' id='type-id-1812'/>
-      <pointer-type-def type-id='type-id-2982' size-in-bits='64' id='type-id-1736'/>
-      <pointer-type-def type-id='type-id-2983' size-in-bits='64' id='type-id-1738'/>
-      <pointer-type-def type-id='type-id-2984' size-in-bits='64' id='type-id-2481'/>
-      <pointer-type-def type-id='type-id-2985' size-in-bits='64' id='type-id-2516'/>
-      <pointer-type-def type-id='type-id-2986' size-in-bits='64' id='type-id-2480'/>
-      <pointer-type-def type-id='type-id-2987' size-in-bits='64' id='type-id-2483'/>
-      <pointer-type-def type-id='type-id-2988' size-in-bits='64' id='type-id-2513'/>
-      <pointer-type-def type-id='type-id-2989' size-in-bits='64' id='type-id-2515'/>
-      <pointer-type-def type-id='type-id-2990' size-in-bits='64' id='type-id-2511'/>
-      <pointer-type-def type-id='type-id-2991' size-in-bits='64' id='type-id-2517'/>
-      <pointer-type-def type-id='type-id-2992' size-in-bits='64' id='type-id-2492'/>
-      <pointer-type-def type-id='type-id-2993' size-in-bits='64' id='type-id-2518'/>
-      <pointer-type-def type-id='type-id-2994' size-in-bits='64' id='type-id-2514'/>
-      <pointer-type-def type-id='type-id-2995' size-in-bits='64' id='type-id-2109'/>
-      <pointer-type-def type-id='type-id-2996' size-in-bits='64' id='type-id-2344'/>
-      <pointer-type-def type-id='type-id-2997' size-in-bits='64' id='type-id-1946'/>
-      <pointer-type-def type-id='type-id-2998' size-in-bits='64' id='type-id-1952'/>
-      <pointer-type-def type-id='type-id-2999' size-in-bits='64' id='type-id-1950'/>
-      <pointer-type-def type-id='type-id-3000' size-in-bits='64' id='type-id-1330'/>
-      <pointer-type-def type-id='type-id-3001' size-in-bits='64' id='type-id-1319'/>
-      <pointer-type-def type-id='type-id-3002' size-in-bits='64' id='type-id-2488'/>
-      <pointer-type-def type-id='type-id-3003' size-in-bits='64' id='type-id-2484'/>
-      <pointer-type-def type-id='type-id-3004' size-in-bits='64' id='type-id-1470'/>
-      <pointer-type-def type-id='type-id-3005' size-in-bits='64' id='type-id-1469'/>
-      <pointer-type-def type-id='type-id-3006' size-in-bits='64' id='type-id-2150'/>
-      <pointer-type-def type-id='type-id-3007' size-in-bits='64' id='type-id-1475'/>
-      <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-666'/>
-      <pointer-type-def type-id='type-id-2374' size-in-bits='64' id='type-id-364'/>
-      <pointer-type-def type-id='type-id-2375' size-in-bits='64' id='type-id-513'/>
-      <pointer-type-def type-id='type-id-1024' size-in-bits='64' id='type-id-2030'/>
-      <pointer-type-def type-id='type-id-1025' size-in-bits='64' id='type-id-2029'/>
-      <pointer-type-def type-id='type-id-2113' size-in-bits='64' id='type-id-3008'/>
-      <pointer-type-def type-id='type-id-2296' size-in-bits='64' id='type-id-2287'/>
-      <pointer-type-def type-id='type-id-1027' size-in-bits='64' id='type-id-2224'/>
-      <pointer-type-def type-id='type-id-1028' size-in-bits='64' id='type-id-1643'/>
-      <pointer-type-def type-id='type-id-2215' size-in-bits='64' id='type-id-2206'/>
-      <pointer-type-def type-id='type-id-1029' size-in-bits='64' id='type-id-2223'/>
-      <pointer-type-def type-id='type-id-1030' size-in-bits='64' id='type-id-2264'/>
-      <pointer-type-def type-id='type-id-1031' size-in-bits='64' id='type-id-2017'/>
-      <pointer-type-def type-id='type-id-1033' size-in-bits='64' id='type-id-1671'/>
-      <pointer-type-def type-id='type-id-2440' size-in-bits='64' id='type-id-1378'/>
-      <pointer-type-def type-id='type-id-1034' size-in-bits='64' id='type-id-1428'/>
-      <pointer-type-def type-id='type-id-1425' size-in-bits='64' id='type-id-1397'/>
-      <pointer-type-def type-id='type-id-1465' size-in-bits='64' id='type-id-3009'/>
-      <pointer-type-def type-id='type-id-1035' size-in-bits='64' id='type-id-1458'/>
-      <pointer-type-def type-id='type-id-1459' size-in-bits='64' id='type-id-2348'/>
-      <pointer-type-def type-id='type-id-1433' size-in-bits='64' id='type-id-1432'/>
-      <pointer-type-def type-id='type-id-1440' size-in-bits='64' id='type-id-1435'/>
-      <pointer-type-def type-id='type-id-1619' size-in-bits='64' id='type-id-1356'/>
-      <pointer-type-def type-id='type-id-1635' size-in-bits='64' id='type-id-1630'/>
-      <pointer-type-def type-id='type-id-1036' size-in-bits='64' id='type-id-1632'/>
-      <pointer-type-def type-id='type-id-1037' size-in-bits='64' id='type-id-1628'/>
-      <pointer-type-def type-id='type-id-330' size-in-bits='64' id='type-id-3010'/>
-      <pointer-type-def type-id='type-id-2111' size-in-bits='64' id='type-id-3011'/>
-      <pointer-type-def type-id='type-id-1038' size-in-bits='64' id='type-id-1490'/>
-      <pointer-type-def type-id='type-id-1039' size-in-bits='64' id='type-id-538'/>
-      <pointer-type-def type-id='type-id-1411' size-in-bits='64' id='type-id-1396'/>
-      <pointer-type-def type-id='type-id-1410' size-in-bits='64' id='type-id-3012'/>
-      <pointer-type-def type-id='type-id-267' size-in-bits='64' id='type-id-379'/>
-      <pointer-type-def type-id='type-id-2499' size-in-bits='64' id='type-id-3013'/>
-      <pointer-type-def type-id='type-id-2495' size-in-bits='64' id='type-id-3014'/>
-      <pointer-type-def type-id='type-id-1398' size-in-bits='64' id='type-id-1395'/>
-      <pointer-type-def type-id='type-id-1342' size-in-bits='64' id='type-id-3015'/>
-      <pointer-type-def type-id='type-id-1040' size-in-bits='64' id='type-id-3016'/>
-      <pointer-type-def type-id='type-id-2326' size-in-bits='64' id='type-id-2325'/>
-      <pointer-type-def type-id='type-id-2324' size-in-bits='64' id='type-id-2321'/>
-      <pointer-type-def type-id='type-id-42' size-in-bits='64' id='type-id-3017'/>
-      <pointer-type-def type-id='type-id-1041' size-in-bits='64' id='type-id-1487'/>
-      <pointer-type-def type-id='type-id-2216' size-in-bits='64' id='type-id-2207'/>
-      <pointer-type-def type-id='type-id-2222' size-in-bits='64' id='type-id-2213'/>
-      <pointer-type-def type-id='type-id-20' size-in-bits='64' id='type-id-877'/>
-      <pointer-type-def type-id='type-id-2551' size-in-bits='64' id='type-id-2550'/>
-      <pointer-type-def type-id='type-id-2548' size-in-bits='64' id='type-id-2547'/>
-      <pointer-type-def type-id='type-id-2549' size-in-bits='64' id='type-id-1144'/>
-      <pointer-type-def type-id='type-id-281' size-in-bits='64' id='type-id-282'/>
-      <pointer-type-def type-id='type-id-1146' size-in-bits='64' id='type-id-1698'/>
-      <pointer-type-def type-id='type-id-763' size-in-bits='64' id='type-id-85'/>
-      <pointer-type-def type-id='type-id-3018' size-in-bits='64' id='type-id-2570'/>
-      <pointer-type-def type-id='type-id-3019' size-in-bits='64' id='type-id-2558'/>
-      <pointer-type-def type-id='type-id-3020' size-in-bits='64' id='type-id-1564'/>
-      <pointer-type-def type-id='type-id-3021' size-in-bits='64' id='type-id-2493'/>
-      <pointer-type-def type-id='type-id-1042' size-in-bits='64' id='type-id-1537'/>
-      <pointer-type-def type-id='type-id-1931' size-in-bits='64' id='type-id-1684'/>
-      <pointer-type-def type-id='type-id-1482' size-in-bits='64' id='type-id-882'/>
-      <pointer-type-def type-id='type-id-1043' size-in-bits='64' id='type-id-1644'/>
-      <pointer-type-def type-id='type-id-1385' size-in-bits='64' id='type-id-1384'/>
-      <pointer-type-def type-id='type-id-1371' size-in-bits='64' id='type-id-260'/>
-      <pointer-type-def type-id='type-id-2431' size-in-bits='64' id='type-id-1374'/>
-      <pointer-type-def type-id='type-id-1373' size-in-bits='64' id='type-id-3022'/>
-      <pointer-type-def type-id='type-id-1044' size-in-bits='64' id='type-id-1387'/>
-      <pointer-type-def type-id='type-id-1045' size-in-bits='64' id='type-id-1393'/>
-      <pointer-type-def type-id='type-id-1046' size-in-bits='64' id='type-id-1386'/>
-      <pointer-type-def type-id='type-id-1047' size-in-bits='64' id='type-id-1360'/>
-      <pointer-type-def type-id='type-id-1048' size-in-bits='64' id='type-id-1513'/>
-      <pointer-type-def type-id='type-id-1809' size-in-bits='64' id='type-id-3023'/>
-      <pointer-type-def type-id='type-id-1050' size-in-bits='64' id='type-id-3024'/>
-      <pointer-type-def type-id='type-id-1051' size-in-bits='64' id='type-id-3025'/>
-      <pointer-type-def type-id='type-id-3026' size-in-bits='64' id='type-id-2282'/>
-      <pointer-type-def type-id='type-id-1647' size-in-bits='64' id='type-id-1645'/>
-      <pointer-type-def type-id='type-id-3027' size-in-bits='64' id='type-id-2199'/>
-      <pointer-type-def type-id='type-id-1665' size-in-bits='64' id='type-id-1650'/>
-      <pointer-type-def type-id='type-id-1669' size-in-bits='64' id='type-id-3028'/>
-      <pointer-type-def type-id='type-id-3029' size-in-bits='64' id='type-id-1714'/>
-      <pointer-type-def type-id='type-id-1052' size-in-bits='64' id='type-id-1662'/>
-      <pointer-type-def type-id='type-id-1053' size-in-bits='64' id='type-id-1968'/>
-      <pointer-type-def type-id='type-id-1816' size-in-bits='64' id='type-id-3030'/>
-      <pointer-type-def type-id='type-id-1815' size-in-bits='64' id='type-id-3031'/>
-      <pointer-type-def type-id='type-id-1994' size-in-bits='64' id='type-id-1685'/>
-      <pointer-type-def type-id='type-id-3032' size-in-bits='64' id='type-id-1982'/>
-      <pointer-type-def type-id='type-id-1921' size-in-bits='64' id='type-id-1682'/>
-      <pointer-type-def type-id='type-id-1810' size-in-bits='64' id='type-id-3033'/>
-      <pointer-type-def type-id='type-id-1807' size-in-bits='64' id='type-id-1826'/>
-      <pointer-type-def type-id='type-id-2229' size-in-bits='64' id='type-id-2247'/>
-      <pointer-type-def type-id='type-id-1054' size-in-bits='64' id='type-id-2288'/>
-      <pointer-type-def type-id='type-id-1055' size-in-bits='64' id='type-id-2289'/>
-      <pointer-type-def type-id='type-id-1056' size-in-bits='64' id='type-id-1153'/>
-      <pointer-type-def type-id='type-id-1059' size-in-bits='64' id='type-id-2598'/>
-      <pointer-type-def type-id='type-id-1805' size-in-bits='64' id='type-id-1998'/>
-      <pointer-type-def type-id='type-id-1998' size-in-bits='64' id='type-id-3034'/>
-      <pointer-type-def type-id='type-id-1060' size-in-bits='64' id='type-id-2596'/>
-      <pointer-type-def type-id='type-id-1814' size-in-bits='64' id='type-id-3035'/>
-      <pointer-type-def type-id='type-id-1641' size-in-bits='64' id='type-id-916'/>
-      <pointer-type-def type-id='type-id-2086' size-in-bits='64' id='type-id-512'/>
-      <pointer-type-def type-id='type-id-3036' size-in-bits='64' id='type-id-1477'/>
-      <pointer-type-def type-id='type-id-512' size-in-bits='64' id='type-id-923'/>
-      <pointer-type-def type-id='type-id-1276' size-in-bits='64' id='type-id-3037'/>
-      <pointer-type-def type-id='type-id-1062' size-in-bits='64' id='type-id-3038'/>
-      <pointer-type-def type-id='type-id-1063' size-in-bits='64' id='type-id-3039'/>
-      <pointer-type-def type-id='type-id-2009' size-in-bits='64' id='type-id-3040'/>
-      <pointer-type-def type-id='type-id-1064' size-in-bits='64' id='type-id-3041'/>
-      <pointer-type-def type-id='type-id-391' size-in-bits='64' id='type-id-2147'/>
-      <pointer-type-def type-id='type-id-2159' size-in-bits='64' id='type-id-2157'/>
-      <pointer-type-def type-id='type-id-1065' size-in-bits='64' id='type-id-1158'/>
-      <pointer-type-def type-id='type-id-1066' size-in-bits='64' id='type-id-1160'/>
-      <pointer-type-def type-id='type-id-1493' size-in-bits='64' id='type-id-1485'/>
-      <pointer-type-def type-id='type-id-1067' size-in-bits='64' id='type-id-1696'/>
-      <pointer-type-def type-id='type-id-1577' size-in-bits='64' id='type-id-251'/>
-      <pointer-type-def type-id='type-id-1579' size-in-bits='64' id='type-id-693'/>
-      <pointer-type-def type-id='type-id-2130' size-in-bits='64' id='type-id-2123'/>
-      <pointer-type-def type-id='type-id-2122' size-in-bits='64' id='type-id-87'/>
-      <pointer-type-def type-id='type-id-2461' size-in-bits='64' id='type-id-2454'/>
-      <pointer-type-def type-id='type-id-2065' size-in-bits='64' id='type-id-2061'/>
-      <pointer-type-def type-id='type-id-2152' size-in-bits='64' id='type-id-2422'/>
-      <pointer-type-def type-id='type-id-1068' size-in-bits='64' id='type-id-879'/>
-      <pointer-type-def type-id='type-id-1069' size-in-bits='64' id='type-id-237'/>
-      <pointer-type-def type-id='type-id-1070' size-in-bits='64' id='type-id-1301'/>
-      <pointer-type-def type-id='type-id-3042' size-in-bits='64' id='type-id-1320'/>
-      <pointer-type-def type-id='type-id-1071' size-in-bits='64' id='type-id-262'/>
-      <pointer-type-def type-id='type-id-1606' size-in-bits='64' id='type-id-1603'/>
-      <pointer-type-def type-id='type-id-1073' size-in-bits='64' id='type-id-2204'/>
-      <pointer-type-def type-id='type-id-2323' size-in-bits='64' id='type-id-2320'/>
-      <pointer-type-def type-id='type-id-2424' size-in-bits='64' id='type-id-2425'/>
-      <pointer-type-def type-id='type-id-2427' size-in-bits='64' id='type-id-2423'/>
-      <pointer-type-def type-id='type-id-2520' size-in-bits='64' id='type-id-3043'/>
-      <pointer-type-def type-id='type-id-2519' size-in-bits='64' id='type-id-3044'/>
-      <pointer-type-def type-id='type-id-2521' size-in-bits='64' id='type-id-3045'/>
-      <pointer-type-def type-id='type-id-2000' size-in-bits='64' id='type-id-1967'/>
-      <pointer-type-def type-id='type-id-1074' size-in-bits='64' id='type-id-3046'/>
-      <pointer-type-def type-id='type-id-2502' size-in-bits='64' id='type-id-3047'/>
-      <pointer-type-def type-id='type-id-3048' size-in-bits='64' id='type-id-2508'/>
-      <pointer-type-def type-id='type-id-1287' size-in-bits='64' id='type-id-3049'/>
-      <pointer-type-def type-id='type-id-2526' size-in-bits='64' id='type-id-2525'/>
-      <pointer-type-def type-id='type-id-1437' size-in-bits='64' id='type-id-1436'/>
-      <pointer-type-def type-id='type-id-415' size-in-bits='64' id='type-id-1438'/>
-      <pointer-type-def type-id='type-id-1789' size-in-bits='64' id='type-id-1781'/>
-      <pointer-type-def type-id='type-id-422' size-in-bits='64' id='type-id-1238'/>
-      <pointer-type-def type-id='type-id-1075' size-in-bits='64' id='type-id-1504'/>
-      <pointer-type-def type-id='type-id-1076' size-in-bits='64' id='type-id-1527'/>
-      <pointer-type-def type-id='type-id-1077' size-in-bits='64' id='type-id-1538'/>
-      <pointer-type-def type-id='type-id-2146' size-in-bits='64' id='type-id-2156'/>
-      <pointer-type-def type-id='type-id-1509' size-in-bits='64' id='type-id-3050'/>
-      <pointer-type-def type-id='type-id-2408' size-in-bits='64' id='type-id-2404'/>
-      <pointer-type-def type-id='type-id-2245' size-in-bits='64' id='type-id-2248'/>
-      <pointer-type-def type-id='type-id-2239' size-in-bits='64' id='type-id-2259'/>
-      <pointer-type-def type-id='type-id-2258' size-in-bits='64' id='type-id-3051'/>
-      <pointer-type-def type-id='type-id-1078' size-in-bits='64' id='type-id-1532'/>
-      <pointer-type-def type-id='type-id-1926' size-in-bits='64' id='type-id-1923'/>
-      <pointer-type-def type-id='type-id-1925' size-in-bits='64' id='type-id-1922'/>
-      <pointer-type-def type-id='type-id-1079' size-in-bits='64' id='type-id-2266'/>
-      <pointer-type-def type-id='type-id-1080' size-in-bits='64' id='type-id-2267'/>
-      <pointer-type-def type-id='type-id-1081' size-in-bits='64' id='type-id-1524'/>
-      <pointer-type-def type-id='type-id-1082' size-in-bits='64' id='type-id-1551'/>
-      <pointer-type-def type-id='type-id-1802' size-in-bits='64' id='type-id-3052'/>
-      <pointer-type-def type-id='type-id-1928' size-in-bits='64' id='type-id-1683'/>
-      <pointer-type-def type-id='type-id-738' size-in-bits='64' id='type-id-2284'/>
-      <pointer-type-def type-id='type-id-1083' size-in-bits='64' id='type-id-2307'/>
-      <pointer-type-def type-id='type-id-1084' size-in-bits='64' id='type-id-2306'/>
-      <pointer-type-def type-id='type-id-2085' size-in-bits='64' id='type-id-920'/>
-      <pointer-type-def type-id='type-id-1499' size-in-bits='64' id='type-id-1545'/>
-      <pointer-type-def type-id='type-id-1500' size-in-bits='64' id='type-id-1550'/>
-      <pointer-type-def type-id='type-id-1086' size-in-bits='64' id='type-id-1765'/>
-      <pointer-type-def type-id='type-id-1087' size-in-bits='64' id='type-id-2372'/>
-      <pointer-type-def type-id='type-id-386' size-in-bits='64' id='type-id-3053'/>
-      <pointer-type-def type-id='type-id-1088' size-in-bits='64' id='type-id-2270'/>
-      <pointer-type-def type-id='type-id-1447' size-in-bits='64' id='type-id-88'/>
-      <pointer-type-def type-id='type-id-1089' size-in-bits='64' id='type-id-1697'/>
-      <pointer-type-def type-id='type-id-2084' size-in-bits='64' id='type-id-922'/>
-      <pointer-type-def type-id='type-id-2503' size-in-bits='64' id='type-id-3054'/>
-      <pointer-type-def type-id='type-id-1364' size-in-bits='64' id='type-id-3055'/>
-      <pointer-type-def type-id='type-id-2362' size-in-bits='64' id='type-id-1517'/>
-      <pointer-type-def type-id='type-id-2379' size-in-bits='64' id='type-id-1528'/>
-      <pointer-type-def type-id='type-id-2353' size-in-bits='64' id='type-id-1516'/>
-      <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-3056'/>
-      <pointer-type-def type-id='type-id-1753' size-in-bits='64' id='type-id-1768'/>
-      <pointer-type-def type-id='type-id-3057' size-in-bits='64' id='type-id-1965'/>
-      <pointer-type-def type-id='type-id-1768' size-in-bits='64' id='type-id-3058'/>
-      <pointer-type-def type-id='type-id-1090' size-in-bits='64' id='type-id-1648'/>
-      <pointer-type-def type-id='type-id-1648' size-in-bits='64' id='type-id-2227'/>
-      <pointer-type-def type-id='type-id-1171' size-in-bits='64' id='type-id-2606'/>
-      <pointer-type-def type-id='type-id-2605' size-in-bits='64' id='type-id-1222'/>
-      <pointer-type-def type-id='type-id-247' size-in-bits='64' id='type-id-486'/>
-      <pointer-type-def type-id='type-id-1091' size-in-bits='64' id='type-id-2048'/>
-      <pointer-type-def type-id='type-id-1348' size-in-bits='64' id='type-id-28'/>
-      <pointer-type-def type-id='type-id-1092' size-in-bits='64' id='type-id-3059'/>
-      <pointer-type-def type-id='type-id-1799' size-in-bits='64' id='type-id-1786'/>
-      <pointer-type-def type-id='type-id-1093' size-in-bits='64' id='type-id-1501'/>
-      <pointer-type-def type-id='type-id-1495' size-in-bits='64' id='type-id-431'/>
-      <pointer-type-def type-id='type-id-2361' size-in-bits='64' id='type-id-2357'/>
-      <pointer-type-def type-id='type-id-1958' size-in-bits='64' id='type-id-3060'/>
-      <pointer-type-def type-id='type-id-1961' size-in-bits='64' id='type-id-1960'/>
-      <pointer-type-def type-id='type-id-3061' size-in-bits='64' id='type-id-1990'/>
-      <pointer-type-def type-id='type-id-1959' size-in-bits='64' id='type-id-1938'/>
-      <pointer-type-def type-id='type-id-1935' size-in-bits='64' id='type-id-1932'/>
-      <pointer-type-def type-id='type-id-1939' size-in-bits='64' id='type-id-3062'/>
-      <pointer-type-def type-id='type-id-1094' size-in-bits='64' id='type-id-3063'/>
-      <pointer-type-def type-id='type-id-1996' size-in-bits='64' id='type-id-3064'/>
-      <pointer-type-def type-id='type-id-1096' size-in-bits='64' id='type-id-2234'/>
-      <pointer-type-def type-id='type-id-2214' size-in-bits='64' id='type-id-2205'/>
-      <pointer-type-def type-id='type-id-1801' size-in-bits='64' id='type-id-1787'/>
-      <pointer-type-def type-id='type-id-417' size-in-bits='64' id='type-id-3065'/>
-      <pointer-type-def type-id='type-id-1552' size-in-bits='64' id='type-id-1563'/>
-      <pointer-type-def type-id='type-id-1572' size-in-bits='64' id='type-id-1570'/>
-      <pointer-type-def type-id='type-id-355' size-in-bits='64' id='type-id-3066'/>
-      <pointer-type-def type-id='type-id-1097' size-in-bits='64' id='type-id-1677'/>
-      <pointer-type-def type-id='type-id-1098' size-in-bits='64' id='type-id-3067'/>
-      <pointer-type-def type-id='type-id-3067' size-in-bits='64' id='type-id-1391'/>
-      <pointer-type-def type-id='type-id-1099' size-in-bits='64' id='type-id-3068'/>
-      <pointer-type-def type-id='type-id-3068' size-in-bits='64' id='type-id-1390'/>
-      <pointer-type-def type-id='type-id-2470' size-in-bits='64' id='type-id-883'/>
-      <qualified-type-def type-id='type-id-883' const='yes' id='type-id-2468'/>
-      <pointer-type-def type-id='type-id-2473' size-in-bits='64' id='type-id-2472'/>
-      <pointer-type-def type-id='type-id-2469' size-in-bits='64' id='type-id-1388'/>
-      <pointer-type-def type-id='type-id-1100' size-in-bits='64' id='type-id-2358'/>
-      <pointer-type-def type-id='type-id-1101' size-in-bits='64' id='type-id-2355'/>
-      <pointer-type-def type-id='type-id-3069' size-in-bits='64' id='type-id-2557'/>
-      <pointer-type-def type-id='type-id-3070' size-in-bits='64' id='type-id-1463'/>
-      <pointer-type-def type-id='type-id-3071' size-in-bits='64' id='type-id-1423'/>
-      <pointer-type-def type-id='type-id-3072' size-in-bits='64' id='type-id-1917'/>
-      <pointer-type-def type-id='type-id-3073' size-in-bits='64' id='type-id-2167'/>
-      <pointer-type-def type-id='type-id-3074' size-in-bits='64' id='type-id-2169'/>
-      <pointer-type-def type-id='type-id-3075' size-in-bits='64' id='type-id-1712'/>
-      <pointer-type-def type-id='type-id-3076' size-in-bits='64' id='type-id-2592'/>
-      <pointer-type-def type-id='type-id-3077' size-in-bits='64' id='type-id-2105'/>
-      <pointer-type-def type-id='type-id-3078' size-in-bits='64' id='type-id-2135'/>
-      <pointer-type-def type-id='type-id-3079' size-in-bits='64' id='type-id-2073'/>
-      <pointer-type-def type-id='type-id-3080' size-in-bits='64' id='type-id-2077'/>
-      <pointer-type-def type-id='type-id-3081' size-in-bits='64' id='type-id-2589'/>
-      <pointer-type-def type-id='type-id-3082' size-in-bits='64' id='type-id-1560'/>
-      <pointer-type-def type-id='type-id-3083' size-in-bits='64' id='type-id-2553'/>
-      <pointer-type-def type-id='type-id-3084' size-in-bits='64' id='type-id-1730'/>
-      <pointer-type-def type-id='type-id-3085' size-in-bits='64' id='type-id-1703'/>
-      <pointer-type-def type-id='type-id-3086' size-in-bits='64' id='type-id-1702'/>
-      <pointer-type-def type-id='type-id-3087' size-in-bits='64' id='type-id-2350'/>
-      <pointer-type-def type-id='type-id-3088' size-in-bits='64' id='type-id-2099'/>
-      <pointer-type-def type-id='type-id-3089' size-in-bits='64' id='type-id-2193'/>
-      <pointer-type-def type-id='type-id-3090' size-in-bits='64' id='type-id-2197'/>
-      <pointer-type-def type-id='type-id-3091' size-in-bits='64' id='type-id-2200'/>
-      <pointer-type-def type-id='type-id-3092' size-in-bits='64' id='type-id-1332'/>
-      <pointer-type-def type-id='type-id-3093' size-in-bits='64' id='type-id-2554'/>
-      <pointer-type-def type-id='type-id-3094' size-in-bits='64' id='type-id-2555'/>
-      <pointer-type-def type-id='type-id-3095' size-in-bits='64' id='type-id-2040'/>
-      <pointer-type-def type-id='type-id-3096' size-in-bits='64' id='type-id-2568'/>
-      <pointer-type-def type-id='type-id-3097' size-in-bits='64' id='type-id-2565'/>
-      <pointer-type-def type-id='type-id-3098' size-in-bits='64' id='type-id-2572'/>
-      <pointer-type-def type-id='type-id-3099' size-in-bits='64' id='type-id-1462'/>
-      <pointer-type-def type-id='type-id-3100' size-in-bits='64' id='type-id-2103'/>
-      <pointer-type-def type-id='type-id-3101' size-in-bits='64' id='type-id-1419'/>
-      <pointer-type-def type-id='type-id-3102' size-in-bits='64' id='type-id-1420'/>
-      <pointer-type-def type-id='type-id-3103' size-in-bits='64' id='type-id-2432'/>
-      <pointer-type-def type-id='type-id-3104' size-in-bits='64' id='type-id-2433'/>
-      <pointer-type-def type-id='type-id-3105' size-in-bits='64' id='type-id-2567'/>
-      <pointer-type-def type-id='type-id-3106' size-in-bits='64' id='type-id-2489'/>
-      <pointer-type-def type-id='type-id-3107' size-in-bits='64' id='type-id-2490'/>
-      <pointer-type-def type-id='type-id-3108' size-in-bits='64' id='type-id-1771'/>
-      <pointer-type-def type-id='type-id-3109' size-in-bits='64' id='type-id-1704'/>
-      <pointer-type-def type-id='type-id-3110' size-in-bits='64' id='type-id-1980'/>
-      <pointer-type-def type-id='type-id-3111' size-in-bits='64' id='type-id-1270'/>
-      <pointer-type-def type-id='type-id-3112' size-in-bits='64' id='type-id-1845'/>
-      <pointer-type-def type-id='type-id-3113' size-in-bits='64' id='type-id-1271'/>
-      <pointer-type-def type-id='type-id-3114' size-in-bits='64' id='type-id-2256'/>
-      <pointer-type-def type-id='type-id-3115' size-in-bits='64' id='type-id-2349'/>
-      <pointer-type-def type-id='type-id-3116' size-in-bits='64' id='type-id-2036'/>
-      <pointer-type-def type-id='type-id-3117' size-in-bits='64' id='type-id-2037'/>
-      <pointer-type-def type-id='type-id-3118' size-in-bits='64' id='type-id-1471'/>
-      <pointer-type-def type-id='type-id-3119' size-in-bits='64' id='type-id-1472'/>
-      <pointer-type-def type-id='type-id-7' size-in-bits='64' id='type-id-1567'/>
-      <pointer-type-def type-id='type-id-3120' size-in-bits='64' id='type-id-2275'/>
-      <pointer-type-def type-id='type-id-40' size-in-bits='64' id='type-id-1510'/>
-      <pointer-type-def type-id='type-id-214' size-in-bits='64' id='type-id-3121'/>
-      <pointer-type-def type-id='type-id-1614' size-in-bits='64' id='type-id-1580'/>
-      <pointer-type-def type-id='type-id-2217' size-in-bits='64' id='type-id-2208'/>
-      <pointer-type-def type-id='type-id-1102' size-in-bits='64' id='type-id-3122'/>
-      <pointer-type-def type-id='type-id-1103' size-in-bits='64' id='type-id-1649'/>
-      <pointer-type-def type-id='type-id-1187' size-in-bits='64' id='type-id-1588'/>
-      <pointer-type-def type-id='type-id-329' size-in-bits='64' id='type-id-874'/>
-      <pointer-type-def type-id='type-id-216' size-in-bits='64' id='type-id-256'/>
-      <pointer-type-def type-id='type-id-3123' size-in-bits='64' id='type-id-2195'/>
-      <pointer-type-def type-id='type-id-3124' size-in-bits='64' id='type-id-2274'/>
-      <pointer-type-def type-id='type-id-3125' size-in-bits='64' id='type-id-1223'/>
-      <pointer-type-def type-id='type-id-5' size-in-bits='64' id='type-id-482'/>
-      <pointer-type-def type-id='type-id-3126' size-in-bits='64' id='type-id-1986'/>
-      <pointer-type-def type-id='type-id-3127' size-in-bits='64' id='type-id-1991'/>
-      <pointer-type-def type-id='type-id-3128' size-in-bits='64' id='type-id-1484'/>
-      <pointer-type-def type-id='type-id-3129' size-in-bits='64' id='type-id-2588'/>
-      <pointer-type-def type-id='type-id-3130' size-in-bits='64' id='type-id-2545'/>
-      <pointer-type-def type-id='type-id-3131' size-in-bits='64' id='type-id-1474'/>
-      <pointer-type-def type-id='type-id-16' size-in-bits='64' id='type-id-45'/>
-      <pointer-type-def type-id='type-id-1104' size-in-bits='64' id='type-id-2403'/>
-      <pointer-type-def type-id='type-id-2400' size-in-bits='64' id='type-id-1539'/>
-      <pointer-type-def type-id='type-id-1582' size-in-bits='64' id='type-id-917'/>
-      <pointer-type-def type-id='type-id-1638' size-in-bits='64' id='type-id-1231'/>
-      <pointer-type-def type-id='type-id-1105' size-in-bits='64' id='type-id-1642'/>
-      <pointer-type-def type-id='type-id-1106' size-in-bits='64' id='type-id-1284'/>
-      <pointer-type-def type-id='type-id-3132' size-in-bits='64' id='type-id-2541'/>
-      <pointer-type-def type-id='type-id-1478' size-in-bits='64' id='type-id-1209'/>
-      <pointer-type-def type-id='type-id-2421' size-in-bits='64' id='type-id-3133'/>
-      <pointer-type-def type-id='type-id-2409' size-in-bits='64' id='type-id-1540'/>
-      <pointer-type-def type-id='type-id-2370' size-in-bits='64' id='type-id-1392'/>
-      <pointer-type-def type-id='type-id-3134' size-in-bits='64' id='type-id-1975'/>
-      <pointer-type-def type-id='type-id-3135' size-in-bits='64' id='type-id-1989'/>
-      <pointer-type-def type-id='type-id-3136' size-in-bits='64' id='type-id-1979'/>
-      <pointer-type-def type-id='type-id-3137' size-in-bits='64' id='type-id-1985'/>
-      <pointer-type-def type-id='type-id-3138' size-in-bits='64' id='type-id-1264'/>
-      <pointer-type-def type-id='type-id-3139' size-in-bits='64' id='type-id-1263'/>
-      <pointer-type-def type-id='type-id-3140' size-in-bits='64' id='type-id-1272'/>
-      <pointer-type-def type-id='type-id-3141' size-in-bits='64' id='type-id-89'/>
-      <pointer-type-def type-id='type-id-3142' size-in-bits='64' id='type-id-2339'/>
-      <pointer-type-def type-id='type-id-3143' size-in-bits='64' id='type-id-2340'/>
-      <pointer-type-def type-id='type-id-3144' size-in-bits='64' id='type-id-2343'/>
-      <pointer-type-def type-id='type-id-3145' size-in-bits='64' id='type-id-2183'/>
-      <pointer-type-def type-id='type-id-3146' size-in-bits='64' id='type-id-2283'/>
-      <pointer-type-def type-id='type-id-3147' size-in-bits='64' id='type-id-2544'/>
-      <pointer-type-def type-id='type-id-3148' size-in-bits='64' id='type-id-1611'/>
-      <pointer-type-def type-id='type-id-3149' size-in-bits='64' id='type-id-2538'/>
-      <pointer-type-def type-id='type-id-3150' size-in-bits='64' id='type-id-2539'/>
-      <pointer-type-def type-id='type-id-3151' size-in-bits='64' id='type-id-2028'/>
-      <pointer-type-def type-id='type-id-3152' size-in-bits='64' id='type-id-2186'/>
-      <pointer-type-def type-id='type-id-3153' size-in-bits='64' id='type-id-2079'/>
-      <pointer-type-def type-id='type-id-3154' size-in-bits='64' id='type-id-2076'/>
-      <pointer-type-def type-id='type-id-3155' size-in-bits='64' id='type-id-2067'/>
-      <pointer-type-def type-id='type-id-3156' size-in-bits='64' id='type-id-2078'/>
-      <pointer-type-def type-id='type-id-3157' size-in-bits='64' id='type-id-2074'/>
-      <pointer-type-def type-id='type-id-3158' size-in-bits='64' id='type-id-2062'/>
-      <pointer-type-def type-id='type-id-3159' size-in-bits='64' id='type-id-2070'/>
-      <pointer-type-def type-id='type-id-3160' size-in-bits='64' id='type-id-2080'/>
-      <pointer-type-def type-id='type-id-3161' size-in-bits='64' id='type-id-2507'/>
-      <pointer-type-def type-id='type-id-3162' size-in-bits='64' id='type-id-2276'/>
-      <pointer-type-def type-id='type-id-3163' size-in-bits='64' id='type-id-2277'/>
-      <pointer-type-def type-id='type-id-3164' size-in-bits='64' id='type-id-2280'/>
-      <pointer-type-def type-id='type-id-3165' size-in-bits='64' id='type-id-2279'/>
-      <pointer-type-def type-id='type-id-3166' size-in-bits='64' id='type-id-2110'/>
-      <pointer-type-def type-id='type-id-3167' size-in-bits='64' id='type-id-2585'/>
-      <pointer-type-def type-id='type-id-3168' size-in-bits='64' id='type-id-2584'/>
-      <pointer-type-def type-id='type-id-3169' size-in-bits='64' id='type-id-2594'/>
-      <pointer-type-def type-id='type-id-3170' size-in-bits='64' id='type-id-2166'/>
-      <pointer-type-def type-id='type-id-3171' size-in-bits='64' id='type-id-1916'/>
-      <pointer-type-def type-id='type-id-3172' size-in-bits='64' id='type-id-2242'/>
-      <pointer-type-def type-id='type-id-3173' size-in-bits='64' id='type-id-2241'/>
-      <pointer-type-def type-id='type-id-3174' size-in-bits='64' id='type-id-2476'/>
-      <pointer-type-def type-id='type-id-3175' size-in-bits='64' id='type-id-2477'/>
-      <pointer-type-def type-id='type-id-3176' size-in-bits='64' id='type-id-1461'/>
-      <pointer-type-def type-id='type-id-3177' size-in-bits='64' id='type-id-2112'/>
-      <pointer-type-def type-id='type-id-3178' size-in-bits='64' id='type-id-1412'/>
-      <pointer-type-def type-id='type-id-3179' size-in-bits='64' id='type-id-1417'/>
-      <pointer-type-def type-id='type-id-3180' size-in-bits='64' id='type-id-2328'/>
-      <pointer-type-def type-id='type-id-3181' size-in-bits='64' id='type-id-2436'/>
-      <pointer-type-def type-id='type-id-3182' size-in-bits='64' id='type-id-2434'/>
-      <pointer-type-def type-id='type-id-3183' size-in-bits='64' id='type-id-1691'/>
-      <pointer-type-def type-id='type-id-3184' size-in-bits='64' id='type-id-1865'/>
-      <pointer-type-def type-id='type-id-3185' size-in-bits='64' id='type-id-1841'/>
-      <pointer-type-def type-id='type-id-3186' size-in-bits='64' id='type-id-1851'/>
-      <pointer-type-def type-id='type-id-3187' size-in-bits='64' id='type-id-1842'/>
-      <pointer-type-def type-id='type-id-3188' size-in-bits='64' id='type-id-1849'/>
-      <pointer-type-def type-id='type-id-3189' size-in-bits='64' id='type-id-1856'/>
-      <pointer-type-def type-id='type-id-3190' size-in-bits='64' id='type-id-1853'/>
-      <pointer-type-def type-id='type-id-3191' size-in-bits='64' id='type-id-1843'/>
-      <pointer-type-def type-id='type-id-3192' size-in-bits='64' id='type-id-1705'/>
-      <pointer-type-def type-id='type-id-3193' size-in-bits='64' id='type-id-2192'/>
-      <pointer-type-def type-id='type-id-3194' size-in-bits='64' id='type-id-1733'/>
-      <pointer-type-def type-id='type-id-3195' size-in-bits='64' id='type-id-1711'/>
-      <pointer-type-def type-id='type-id-3196' size-in-bits='64' id='type-id-1846'/>
-      <pointer-type-def type-id='type-id-3197' size-in-bits='64' id='type-id-1854'/>
-      <pointer-type-def type-id='type-id-3198' size-in-bits='64' id='type-id-1742'/>
-      <pointer-type-def type-id='type-id-3199' size-in-bits='64' id='type-id-1744'/>
-      <pointer-type-def type-id='type-id-3200' size-in-bits='64' id='type-id-2102'/>
-      <pointer-type-def type-id='type-id-3201' size-in-bits='64' id='type-id-2107'/>
-      <pointer-type-def type-id='type-id-3202' size-in-bits='64' id='type-id-2100'/>
-      <pointer-type-def type-id='type-id-3203' size-in-bits='64' id='type-id-2154'/>
-      <pointer-type-def type-id='type-id-2158' size-in-bits='64' id='type-id-2148'/>
-      <pointer-type-def type-id='type-id-3204' size-in-bits='64' id='type-id-2134'/>
-      <pointer-type-def type-id='type-id-3205' size-in-bits='64' id='type-id-2571'/>
-      <pointer-type-def type-id='type-id-3206' size-in-bits='64' id='type-id-1454'/>
-      <pointer-type-def type-id='type-id-3207' size-in-bits='64' id='type-id-1770'/>
-      <pointer-type-def type-id='type-id-3208' size-in-bits='64' id='type-id-1370'/>
-      <pointer-type-def type-id='type-id-3209' size-in-bits='64' id='type-id-2345'/>
-      <pointer-type-def type-id='type-id-3210' size-in-bits='64' id='type-id-1947'/>
-      <pointer-type-def type-id='type-id-3211' size-in-bits='64' id='type-id-1951'/>
-      <pointer-type-def type-id='type-id-3212' size-in-bits='64' id='type-id-2007'/>
-      <pointer-type-def type-id='type-id-3213' size-in-bits='64' id='type-id-2590'/>
-      <pointer-type-def type-id='type-id-3214' size-in-bits='64' id='type-id-2438'/>
-      <pointer-type-def type-id='type-id-3215' size-in-bits='64' id='type-id-1468'/>
-      <pointer-type-def type-id='type-id-3216' size-in-bits='64' id='type-id-1473'/>
-      <pointer-type-def type-id='type-id-3217' size-in-bits='64' id='type-id-517'/>
-      <pointer-type-def type-id='type-id-3218' size-in-bits='64' id='type-id-1953'/>
-      <pointer-type-def type-id='type-id-533' size-in-bits='64' id='type-id-2486'/>
-      <pointer-type-def type-id='type-id-3219' size-in-bits='64' id='type-id-1591'/>
-      <pointer-type-def type-id='type-id-3220' size-in-bits='64' id='type-id-1369'/>
-      <pointer-type-def type-id='type-id-3221' size-in-bits='64' id='type-id-1269'/>
-      <pointer-type-def type-id='type-id-3222' size-in-bits='64' id='type-id-1266'/>
-      <pointer-type-def type-id='type-id-3223' size-in-bits='64' id='type-id-2168'/>
-      <pointer-type-def type-id='type-id-3224' size-in-bits='64' id='type-id-2185'/>
-      <pointer-type-def type-id='type-id-3225' size-in-bits='64' id='type-id-2069'/>
-      <pointer-type-def type-id='type-id-3226' size-in-bits='64' id='type-id-1416'/>
-      <pointer-type-def type-id='type-id-3227' size-in-bits='64' id='type-id-1954'/>
-      <pointer-type-def type-id='type-id-3228' size-in-bits='64' id='type-id-1743'/>
-      <pointer-type-def type-id='type-id-3229' size-in-bits='64' id='type-id-1453'/>
-      <pointer-type-def type-id='type-id-3230' size-in-bits='64' id='type-id-1455'/>
-      <pointer-type-def type-id='type-id-3231' size-in-bits='64' id='type-id-1424'/>
-      <pointer-type-def type-id='type-id-3232' size-in-bits='64' id='type-id-1948'/>
-      <pointer-type-def type-id='type-id-3233' size-in-bits='64' id='type-id-2485'/>
-      <pointer-type-def type-id='type-id-15' size-in-bits='64' id='type-id-528'/>
-      <qualified-type-def type-id='type-id-192' volatile='yes' id='type-id-1497'/>
-      <pointer-type-def type-id='type-id-225' size-in-bits='64' id='type-id-881'/>
-      <pointer-type-def type-id='type-id-1107' size-in-bits='64' id='type-id-2058'/>
-      <pointer-type-def type-id='type-id-1522' size-in-bits='64' id='type-id-2373'/>
-      <pointer-type-def type-id='type-id-2064' size-in-bits='64' id='type-id-2057'/>
-      <pointer-type-def type-id='type-id-1108' size-in-bits='64' id='type-id-1680'/>
-      <pointer-type-def type-id='type-id-255' size-in-bits='64' id='type-id-3234'/>
-      <pointer-type-def type-id='type-id-1109' size-in-bits='64' id='type-id-654'/>
-      <pointer-type-def type-id='type-id-1110' size-in-bits='64' id='type-id-1681'/>
-      <pointer-type-def type-id='type-id-1111' size-in-bits='64' id='type-id-3235'/>
-      <pointer-type-def type-id='type-id-1837' size-in-bits='64' id='type-id-3236'/>
-      <pointer-type-def type-id='type-id-3236' size-in-bits='64' id='type-id-3237'/>
-      <pointer-type-def type-id='type-id-1113' size-in-bits='64' id='type-id-1836'/>
-      <pointer-type-def type-id='type-id-1114' size-in-bits='64' id='type-id-2418'/>
-      <pointer-type-def type-id='type-id-2005' size-in-bits='64' id='type-id-1688'/>
-      <pointer-type-def type-id='type-id-2006' size-in-bits='64' id='type-id-1216'/>
-      <pointer-type-def type-id='type-id-1115' size-in-bits='64' id='type-id-2230'/>
-      <function-decl name='arch_bpf_jit_check_func' mangled-name='arch_bpf_jit_check_func' filepath='arch/arm64/net/bpf_jit_comp.c' line='954' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='arch_bpf_jit_check_func'>
-        <parameter type-id='type-id-2636' name='prog' filepath='arch/arm64/net/bpf_jit_comp.c' line='954' column='1'/>
-        <return type-id='type-id-33'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-2607'>
-        <parameter type-id='type-id-1687'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-1687'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2614'>
-        <parameter type-id='type-id-2612'/>
-        <return type-id='type-id-1232'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2616'>
-        <parameter type-id='type-id-365'/>
-        <return type-id='type-id-365'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2618'>
-        <parameter type-id='type-id-23'/>
-        <parameter type-id='type-id-2'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-2'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2619'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-874'/>
-        <return type-id='type-id-2'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2620'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-874'/>
-        <parameter type-id='type-id-3017'/>
-        <parameter type-id='type-id-3010'/>
-        <return type-id='type-id-2'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2641'>
-        <parameter type-id='type-id-23'/>
-        <parameter type-id='type-id-1129'/>
-        <parameter type-id='type-id-2734'/>
-        <return type-id='type-id-4'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2642'>
-        <parameter type-id='type-id-1395'/>
-        <parameter type-id='type-id-379'/>
-        <return type-id='type-id-4'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2644'>
-        <parameter type-id='type-id-1209'/>
-        <return type-id='type-id-4'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2687'>
-        <parameter type-id='type-id-379'/>
-        <return type-id='type-id-2184'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2733'>
-        <parameter type-id='type-id-1597'/>
-        <return type-id='type-id-1598'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2735'>
-        <parameter type-id='type-id-23'/>
-        <parameter type-id='type-id-2672'/>
-        <return type-id='type-id-23'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2736'>
-        <parameter type-id='type-id-1349'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-4'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-23'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2737'>
-        <parameter type-id='type-id-1129'/>
-        <parameter type-id='type-id-23'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-23'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2738'>
-        <parameter type-id='type-id-1284'/>
-        <parameter type-id='type-id-1349'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-4'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-23'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2743'>
-        <parameter type-id='type-id-28'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-2742'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2745'>
-        <parameter type-id='type-id-1129'/>
-        <return type-id='type-id-2744'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2747'>
-        <parameter type-id='type-id-2746'/>
-        <return type-id='type-id-2746'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2748'>
-        <parameter type-id='type-id-2746'/>
-        <parameter type-id='type-id-511'/>
-        <return type-id='type-id-2746'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2750'>
-        <parameter type-id='type-id-1558'/>
-        <return type-id='type-id-1555'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2773'>
-        <parameter type-id='type-id-2180'/>
-        <return type-id='type-id-2025'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2774'>
-        <parameter type-id='type-id-2180'/>
-        <parameter type-id='type-id-4'/>
-        <return type-id='type-id-2025'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2775'>
-        <parameter type-id='type-id-2180'/>
-        <parameter type-id='type-id-2025'/>
-        <return type-id='type-id-2025'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2776'>
-        <parameter type-id='type-id-2025'/>
-        <return type-id='type-id-2025'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2786'>
-        <parameter type-id='type-id-28'/>
-        <return type-id='type-id-1129'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2787'>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2788'>
-        <parameter type-id='type-id-1687'/>
-        <parameter type-id='type-id-2778'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2789'>
-        <parameter type-id='type-id-1687'/>
-        <parameter type-id='type-id-1998'/>
-        <parameter type-id='type-id-1826'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2790'>
-        <parameter type-id='type-id-1687'/>
-        <parameter type-id='type-id-1768'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2791'>
-        <parameter type-id='type-id-1687'/>
-        <parameter type-id='type-id-7'/>
-        <parameter type-id='type-id-7'/>
-        <parameter type-id='type-id-3034'/>
-        <parameter type-id='type-id-45'/>
-        <parameter type-id='type-id-1826'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2792'>
-        <parameter type-id='type-id-1687'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2793'>
-        <parameter type-id='type-id-1687'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2794'>
-        <parameter type-id='type-id-1687'/>
-        <parameter type-id='type-id-16'/>
-        <parameter type-id='type-id-1687'/>
-        <parameter type-id='type-id-2608'/>
-        <parameter type-id='type-id-1826'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2795'>
-        <parameter type-id='type-id-1687'/>
-        <parameter type-id='type-id-16'/>
-        <parameter type-id='type-id-2778'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2796'>
-        <parameter type-id='type-id-1687'/>
-        <parameter type-id='type-id-16'/>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-3064'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2797'>
-        <parameter type-id='type-id-1281'/>
-        <parameter type-id='type-id-512'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2798'>
-        <parameter type-id='type-id-1281'/>
-        <parameter type-id='type-id-512'/>
-        <parameter type-id='type-id-512'/>
-        <parameter type-id='type-id-2136'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2799'>
-        <parameter type-id='type-id-1281'/>
-        <parameter type-id='type-id-3235'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2800'>
-        <parameter type-id='type-id-2612'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2801'>
-        <parameter type-id='type-id-1232'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2802'>
-        <parameter type-id='type-id-1232'/>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2803'>
-        <parameter type-id='type-id-1232'/>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-40'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2804'>
-        <parameter type-id='type-id-1821'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2805'>
-        <parameter type-id='type-id-1821'/>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2806'>
-        <parameter type-id='type-id-1821'/>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-40'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2807'>
-        <parameter type-id='type-id-1230'/>
-        <parameter type-id='type-id-2628'/>
-        <parameter type-id='type-id-2612'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2808'>
-        <parameter type-id='type-id-2615'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2809'>
-        <parameter type-id='type-id-365'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2810'>
-        <parameter type-id='type-id-365'/>
-        <parameter type-id='type-id-2346'/>
-        <parameter type-id='type-id-1548'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2811'>
-        <parameter type-id='type-id-365'/>
-        <parameter type-id='type-id-2346'/>
-        <parameter type-id='type-id-40'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2812'>
-        <parameter type-id='type-id-2617'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2813'>
-        <parameter type-id='type-id-2'/>
-        <parameter type-id='type-id-2678'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2814'>
-        <parameter type-id='type-id-2632'/>
-        <parameter type-id='type-id-2640'/>
-        <parameter type-id='type-id-2640'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2815'>
-        <parameter type-id='type-id-4'/>
-        <parameter type-id='type-id-2678'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2816'>
-        <parameter type-id='type-id-2647'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2817'>
-        <parameter type-id='type-id-2647'/>
-        <parameter type-id='type-id-3049'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2818'>
-        <parameter type-id='type-id-2647'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-4'/>
-        <parameter type-id='type-id-2712'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2819'>
-        <parameter type-id='type-id-2180'/>
-        <parameter type-id='type-id-4'/>
-        <parameter type-id='type-id-1389'/>
-        <parameter type-id='type-id-84'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2820'>
-        <parameter type-id='type-id-2180'/>
-        <parameter type-id='type-id-4'/>
-        <parameter type-id='type-id-4'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-2777'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2821'>
-        <parameter type-id='type-id-2180'/>
-        <parameter type-id='type-id-4'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-84'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2822'>
-        <parameter type-id='type-id-2180'/>
-        <parameter type-id='type-id-240'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2823'>
-        <parameter type-id='type-id-2180'/>
-        <parameter type-id='type-id-2772'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2824'>
-        <parameter type-id='type-id-2695'/>
-        <parameter type-id='type-id-2779'/>
-        <parameter type-id='type-id-926'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2825'>
-        <parameter type-id='type-id-2697'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2826'>
-        <parameter type-id='type-id-2708'/>
-        <parameter type-id='type-id-3015'/>
-        <parameter type-id='type-id-7'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2827'>
-        <parameter type-id='type-id-2708'/>
-        <parameter type-id='type-id-33'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2828'>
-        <parameter type-id='type-id-2720'/>
-        <parameter type-id='type-id-256'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-1605'>
-        <parameter type-id='type-id-1596'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-3056'/>
-        <parameter type-id='type-id-85'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2829'>
-        <parameter type-id='type-id-1585'/>
-        <parameter type-id='type-id-1596'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2830'>
-        <parameter type-id='type-id-1598'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2831'>
-        <parameter type-id='type-id-23'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2832'>
-        <parameter type-id='type-id-23'/>
-        <parameter type-id='type-id-2'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2833'>
-        <parameter type-id='type-id-23'/>
-        <parameter type-id='type-id-2780'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2834'>
-        <parameter type-id='type-id-23'/>
-        <parameter type-id='type-id-1129'/>
-        <parameter type-id='type-id-23'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2835'>
-        <parameter type-id='type-id-23'/>
-        <parameter type-id='type-id-3016'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2836'>
-        <parameter type-id='type-id-23'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2837'>
-        <parameter type-id='type-id-240'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2838'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-2013'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2839'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-3012'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2840'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-920'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-2160'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2841'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-922'/>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-2083'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2842'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-2083'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2843'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-2055'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2844'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-40'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2845'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-1209'/>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-2083'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2846'>
-        <parameter type-id='type-id-2740'/>
-        <parameter type-id='type-id-4'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-763'/>
-        <parameter type-id='type-id-40'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2847'>
-        <parameter type-id='type-id-2742'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2848'>
-        <parameter type-id='type-id-2749'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-1957'>
-        <parameter type-id='type-id-1806'/>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2849'>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-1281'/>
-        <parameter type-id='type-id-877'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2850'>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-1281'/>
-        <parameter type-id='type-id-763'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-923'/>
-        <parameter type-id='type-id-528'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2851'>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-1281'/>
-        <parameter type-id='type-id-763'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-512'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2852'>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-2740'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2853'>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-2579'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2854'>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-379'/>
-        <parameter type-id='type-id-2610'/>
-        <parameter type-id='type-id-1209'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2855'>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-192'/>
-        <parameter type-id='type-id-2771'/>
-        <parameter type-id='type-id-528'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2856'>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-512'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2857'>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-2577'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2858'>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-763'/>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-763'/>
-        <parameter type-id='type-id-40'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2859'>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-763'/>
-        <parameter type-id='type-id-763'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2860'>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-1209'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2861'>
-        <parameter type-id='type-id-2579'/>
-        <parameter type-id='type-id-2579'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2862'>
-        <parameter type-id='type-id-2579'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2863'>
-        <parameter type-id='type-id-2579'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-877'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2864'>
-        <parameter type-id='type-id-1129'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2865'>
-        <parameter type-id='type-id-1129'/>
-        <parameter type-id='type-id-23'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2866'>
-        <parameter type-id='type-id-1129'/>
-        <parameter type-id='type-id-23'/>
-        <parameter type-id='type-id-4'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2867'>
-        <parameter type-id='type-id-1129'/>
-        <parameter type-id='type-id-23'/>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-329'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2868'>
-        <parameter type-id='type-id-1129'/>
-        <parameter type-id='type-id-23'/>
-        <parameter type-id='type-id-1129'/>
-        <parameter type-id='type-id-23'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2869'>
-        <parameter type-id='type-id-1129'/>
-        <parameter type-id='type-id-23'/>
-        <parameter type-id='type-id-329'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2870'>
-        <parameter type-id='type-id-1129'/>
-        <parameter type-id='type-id-23'/>
-        <parameter type-id='type-id-329'/>
-        <parameter type-id='type-id-33'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2871'>
-        <parameter type-id='type-id-1129'/>
-        <parameter type-id='type-id-23'/>
-        <parameter type-id='type-id-329'/>
-        <parameter type-id='type-id-269'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2872'>
-        <parameter type-id='type-id-1129'/>
-        <parameter type-id='type-id-2770'/>
-        <parameter type-id='type-id-40'/>
-        <parameter type-id='type-id-40'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2873'>
-        <parameter type-id='type-id-1129'/>
-        <parameter type-id='type-id-83'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2874'>
-        <parameter type-id='type-id-1129'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2875'>
-        <parameter type-id='type-id-1129'/>
-        <parameter type-id='type-id-3013'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2876'>
-        <parameter type-id='type-id-1129'/>
-        <parameter type-id='type-id-1301'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2877'>
-        <parameter type-id='type-id-1129'/>
-        <parameter type-id='type-id-3047'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2878'>
-        <parameter type-id='type-id-1129'/>
-        <parameter type-id='type-id-3066'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2879'>
-        <parameter type-id='type-id-1129'/>
-        <parameter type-id='type-id-3235'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2880'>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2881'>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-2697'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2882'>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2883'>
-        <parameter type-id='type-id-1397'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2884'>
-        <parameter type-id='type-id-1397'/>
-        <parameter type-id='type-id-4'/>
-        <parameter type-id='type-id-329'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2885'>
-        <parameter type-id='type-id-1397'/>
-        <parameter type-id='type-id-1397'/>
-        <parameter type-id='type-id-4'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2886'>
-        <parameter type-id='type-id-3009'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2887'>
-        <parameter type-id='type-id-3009'/>
-        <parameter type-id='type-id-1209'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2888'>
-        <parameter type-id='type-id-1432'/>
-        <parameter type-id='type-id-666'/>
-        <parameter type-id='type-id-2'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2889'>
-        <parameter type-id='type-id-1356'/>
-        <parameter type-id='type-id-2685'/>
-        <parameter type-id='type-id-2683'/>
-        <parameter type-id='type-id-1356'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2890'>
-        <parameter type-id='type-id-1395'/>
-        <parameter type-id='type-id-379'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2892'>
-        <parameter type-id='type-id-1395'/>
-        <parameter type-id='type-id-379'/>
-        <parameter type-id='type-id-3012'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2894'>
-        <parameter type-id='type-id-260'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2895'>
-        <parameter type-id='type-id-3023'/>
-        <parameter type-id='type-id-3034'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-878'/>
-        <parameter type-id='type-id-688'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2896'>
-        <parameter type-id='type-id-3023'/>
-        <parameter type-id='type-id-3034'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-878'/>
-        <parameter type-id='type-id-688'/>
-        <parameter type-id='type-id-688'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2897'>
-        <parameter type-id='type-id-1645'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-3034'/>
-        <parameter type-id='type-id-3034'/>
-        <parameter type-id='type-id-1826'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2898'>
-        <parameter type-id='type-id-1645'/>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-1932'/>
-        <parameter type-id='type-id-16'/>
-        <parameter type-id='type-id-7'/>
-        <parameter type-id='type-id-3034'/>
-        <parameter type-id='type-id-528'/>
-        <parameter type-id='type-id-33'/>
-        <parameter type-id='type-id-1826'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2899'>
-        <parameter type-id='type-id-1645'/>
-        <parameter type-id='type-id-1648'/>
-        <parameter type-id='type-id-1768'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2900'>
-        <parameter type-id='type-id-1645'/>
-        <parameter type-id='type-id-1932'/>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-3064'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2901'>
-        <parameter type-id='type-id-1650'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2902'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-2'/>
-        <parameter type-id='type-id-84'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2903'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-2658'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2904'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-2661'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2905'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-2720'/>
-        <parameter type-id='type-id-688'/>
-        <parameter type-id='type-id-7'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2906'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-2727'/>
-        <parameter type-id='type-id-658'/>
-        <parameter type-id='type-id-2728'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2907'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-2727'/>
-        <parameter type-id='type-id-658'/>
-        <parameter type-id='type-id-2728'/>
-        <parameter type-id='type-id-1567'/>
-        <parameter type-id='type-id-33'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2908'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-1886'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2909'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-1806'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2910'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-2751'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2911'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-2752'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2912'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-2753'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2913'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-2755'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2914'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-2755'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2915'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-2756'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2916'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-2757'/>
-        <parameter type-id='type-id-3121'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2917'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-2758'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2918'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-2759'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2919'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-2760'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2920'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-2761'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2921'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-2762'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2922'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-2764'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2923'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-2765'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2924'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-2765'/>
-        <parameter type-id='type-id-1567'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2925'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-2768'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2926'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-2769'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2927'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-2783'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2928'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-2784'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2929'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2930'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-2781'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2931'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-2782'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2932'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2933'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2934'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-3034'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2935'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-1768'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2936'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-33'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2937'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-688'/>
-        <parameter type-id='type-id-214'/>
-        <parameter type-id='type-id-926'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2938'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-7'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2939'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-40'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2940'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-3121'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2941'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-3237'/>
-        <parameter type-id='type-id-7'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2942'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-3024'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2943'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-3025'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2944'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-1650'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2945'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-1826'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2946'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-3034'/>
-        <parameter type-id='type-id-3034'/>
-        <parameter type-id='type-id-1826'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2947'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-3030'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2948'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-3031'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2949'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-3034'/>
-        <parameter type-id='type-id-3034'/>
-        <parameter type-id='type-id-1826'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2950'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-3035'/>
-        <parameter type-id='type-id-688'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2951'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-1768'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2952'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-926'/>
-        <parameter type-id='type-id-688'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2953'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-33'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2954'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-1668'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2955'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-7'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2956'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-7'/>
-        <parameter type-id='type-id-2753'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2957'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-1567'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2958'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-1567'/>
-        <parameter type-id='type-id-3121'/>
-        <parameter type-id='type-id-3121'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2959'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-1567'/>
-        <parameter type-id='type-id-3121'/>
-        <parameter type-id='type-id-3121'/>
-        <parameter type-id='type-id-7'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2960'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2961'>
-        <parameter type-id='type-id-3033'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2962'>
-        <parameter type-id='type-id-3034'/>
-        <parameter type-id='type-id-3034'/>
-        <parameter type-id='type-id-1826'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2963'>
-        <parameter type-id='type-id-512'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2964'>
-        <parameter type-id='type-id-512'/>
-        <parameter type-id='type-id-485'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2965'>
-        <parameter type-id='type-id-512'/>
-        <parameter type-id='type-id-16'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2966'>
-        <parameter type-id='type-id-512'/>
-        <parameter type-id='type-id-3235'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2967'>
-        <parameter type-id='type-id-87'/>
-        <parameter type-id='type-id-2123'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2968'>
-        <parameter type-id='type-id-3051'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2969'>
-        <parameter type-id='type-id-88'/>
-        <parameter type-id='type-id-365'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2970'>
-        <parameter type-id='type-id-88'/>
-        <parameter type-id='type-id-23'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2971'>
-        <parameter type-id='type-id-88'/>
-        <parameter type-id='type-id-1397'/>
-        <parameter type-id='type-id-1432'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2972'>
-        <parameter type-id='type-id-88'/>
-        <parameter type-id='type-id-1432'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2973'>
-        <parameter type-id='type-id-88'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2974'>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-1687'/>
-        <parameter type-id='type-id-3058'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2975'>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-2697'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2976'>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-2697'/>
-        <parameter type-id='type-id-2697'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2977'>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-2697'/>
-        <parameter type-id='type-id-666'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2978'>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-1943'/>
-        <parameter type-id='type-id-3062'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2979'>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-1645'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2980'>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-312'/>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2981'>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-3033'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2982'>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-3033'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-666'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2983'>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-7'/>
-        <parameter type-id='type-id-7'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-7'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2984'>
-        <parameter type-id='type-id-28'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2986'>
-        <parameter type-id='type-id-28'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2987'>
-        <parameter type-id='type-id-28'/>
-        <parameter type-id='type-id-666'/>
-        <parameter type-id='type-id-2'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2988'>
-        <parameter type-id='type-id-28'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-2708'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2989'>
-        <parameter type-id='type-id-28'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-3044'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2990'>
-        <parameter type-id='type-id-28'/>
+      <pointer-type-def type-id='type-id-8021' size-in-bits='64' id='type-id-8054'/>
+      <pointer-type-def type-id='type-id-6387' size-in-bits='64' id='type-id-8055'/>
+      <pointer-type-def type-id='type-id-8036' size-in-bits='64' id='type-id-8016'/>
+      <pointer-type-def type-id='type-id-8056' size-in-bits='64' id='type-id-8042'/>
+      <pointer-type-def type-id='type-id-8016' size-in-bits='64' id='type-id-8015'/>
+      <pointer-type-def type-id='type-id-3014' size-in-bits='64' id='type-id-8013'/>
+      <pointer-type-def type-id='type-id-8012' size-in-bits='64' id='type-id-8057'/>
+      <pointer-type-def type-id='type-id-8053' size-in-bits='64' id='type-id-8017'/>
+      <pointer-type-def type-id='type-id-8009' size-in-bits='64' id='type-id-8058'/>
+      <pointer-type-def type-id='type-id-8010' size-in-bits='64' id='type-id-8039'/>
+      <qualified-type-def type-id='type-id-8021' const='yes' id='type-id-8059'/>
+      <pointer-type-def type-id='type-id-8059' size-in-bits='64' id='type-id-8060'/>
+      <qualified-type-def type-id='type-id-8036' const='yes' id='type-id-8061'/>
+      <pointer-type-def type-id='type-id-8061' size-in-bits='64' id='type-id-8062'/>
+      <qualified-type-def type-id='type-id-8040' const='yes' id='type-id-8063'/>
+      <pointer-type-def type-id='type-id-8063' size-in-bits='64' id='type-id-8037'/>
+      <qualified-type-def type-id='type-id-8019' const='yes' id='type-id-8064'/>
+      <pointer-type-def type-id='type-id-8064' size-in-bits='64' id='type-id-8014'/>
+      <qualified-type-def type-id='type-id-8011' const='yes' id='type-id-8065'/>
+      <pointer-type-def type-id='type-id-8065' size-in-bits='64' id='type-id-8066'/>
+      <pointer-type-def type-id='type-id-8067' size-in-bits='64' id='type-id-8041'/>
+      <pointer-type-def type-id='type-id-8068' size-in-bits='64' id='type-id-8048'/>
+      <pointer-type-def type-id='type-id-8069' size-in-bits='64' id='type-id-8045'/>
+      <pointer-type-def type-id='type-id-8070' size-in-bits='64' id='type-id-8047'/>
+      <pointer-type-def type-id='type-id-8071' size-in-bits='64' id='type-id-8020'/>
+      <pointer-type-def type-id='type-id-8072' size-in-bits='64' id='type-id-8073'/>
+      <pointer-type-def type-id='type-id-8074' size-in-bits='64' id='type-id-8052'/>
+      <pointer-type-def type-id='type-id-8075' size-in-bits='64' id='type-id-8050'/>
+      <pointer-type-def type-id='type-id-8076' size-in-bits='64' id='type-id-8044'/>
+      <pointer-type-def type-id='type-id-8077' size-in-bits='64' id='type-id-8043'/>
+      <pointer-type-def type-id='type-id-8078' size-in-bits='64' id='type-id-8051'/>
+      <pointer-type-def type-id='type-id-8079' size-in-bits='64' id='type-id-8049'/>
+      <pointer-type-def type-id='type-id-8080' size-in-bits='64' id='type-id-8046'/>
+      <function-decl name='bpf_prog_put' mangled-name='bpf_prog_put' filepath='include/linux/bpf.h' line='440' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bpf_prog_put'>
         <parameter type-id='type-id-3014'/>
-        <return type-id='type-id-17'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='bpf_trace_run6' mangled-name='bpf_trace_run6' filepath='kernel/trace/bpf_trace.c' line='1205' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bpf_trace_run6'>
+        <parameter type-id='type-id-3014' name='prog' filepath='kernel/trace/bpf_trace.c' line='1205' column='1'/>
+        <parameter type-id='type-id-134' name='arg0' filepath='kernel/trace/bpf_trace.c' line='1205' column='1'/>
+        <parameter type-id='type-id-134' name='arg1' filepath='kernel/trace/bpf_trace.c' line='1205' column='1'/>
+        <parameter type-id='type-id-134' name='arg2' filepath='kernel/trace/bpf_trace.c' line='1205' column='1'/>
+        <parameter type-id='type-id-134' name='arg3' filepath='kernel/trace/bpf_trace.c' line='1205' column='1'/>
+        <parameter type-id='type-id-134' name='arg4' filepath='kernel/trace/bpf_trace.c' line='1205' column='1'/>
+        <parameter type-id='type-id-134' name='arg5' filepath='kernel/trace/bpf_trace.c' line='1205' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='bpf_trace_run8' mangled-name='bpf_trace_run8' filepath='kernel/trace/bpf_trace.c' line='1207' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bpf_trace_run8'>
+        <parameter type-id='type-id-3014' name='prog' filepath='kernel/trace/bpf_trace.c' line='1207' column='1'/>
+        <parameter type-id='type-id-134' name='arg0' filepath='kernel/trace/bpf_trace.c' line='1207' column='1'/>
+        <parameter type-id='type-id-134' name='arg1' filepath='kernel/trace/bpf_trace.c' line='1207' column='1'/>
+        <parameter type-id='type-id-134' name='arg2' filepath='kernel/trace/bpf_trace.c' line='1207' column='1'/>
+        <parameter type-id='type-id-134' name='arg3' filepath='kernel/trace/bpf_trace.c' line='1207' column='1'/>
+        <parameter type-id='type-id-134' name='arg4' filepath='kernel/trace/bpf_trace.c' line='1207' column='1'/>
+        <parameter type-id='type-id-134' name='arg5' filepath='kernel/trace/bpf_trace.c' line='1207' column='1'/>
+        <parameter type-id='type-id-134' name='arg6' filepath='kernel/trace/bpf_trace.c' line='1207' column='1'/>
+        <parameter type-id='type-id-134' name='arg7' filepath='kernel/trace/bpf_trace.c' line='1207' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='bpf_trace_run10' mangled-name='bpf_trace_run10' filepath='kernel/trace/bpf_trace.c' line='1209' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bpf_trace_run10'>
+        <parameter type-id='type-id-3014' name='prog' filepath='kernel/trace/bpf_trace.c' line='1209' column='1'/>
+        <parameter type-id='type-id-134' name='arg0' filepath='kernel/trace/bpf_trace.c' line='1209' column='1'/>
+        <parameter type-id='type-id-134' name='arg1' filepath='kernel/trace/bpf_trace.c' line='1209' column='1'/>
+        <parameter type-id='type-id-134' name='arg2' filepath='kernel/trace/bpf_trace.c' line='1209' column='1'/>
+        <parameter type-id='type-id-134' name='arg3' filepath='kernel/trace/bpf_trace.c' line='1209' column='1'/>
+        <parameter type-id='type-id-134' name='arg4' filepath='kernel/trace/bpf_trace.c' line='1209' column='1'/>
+        <parameter type-id='type-id-134' name='arg5' filepath='kernel/trace/bpf_trace.c' line='1209' column='1'/>
+        <parameter type-id='type-id-134' name='arg6' filepath='kernel/trace/bpf_trace.c' line='1209' column='1'/>
+        <parameter type-id='type-id-134' name='arg7' filepath='kernel/trace/bpf_trace.c' line='1209' column='1'/>
+        <parameter type-id='type-id-134' name='arg8' filepath='kernel/trace/bpf_trace.c' line='1209' column='1'/>
+        <parameter type-id='type-id-134' name='arg9' filepath='kernel/trace/bpf_trace.c' line='1209' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='bpf_trace_run11' mangled-name='bpf_trace_run11' filepath='kernel/trace/bpf_trace.c' line='1210' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bpf_trace_run11'>
+        <parameter type-id='type-id-3014' name='prog' filepath='kernel/trace/bpf_trace.c' line='1210' column='1'/>
+        <parameter type-id='type-id-134' name='arg0' filepath='kernel/trace/bpf_trace.c' line='1210' column='1'/>
+        <parameter type-id='type-id-134' name='arg1' filepath='kernel/trace/bpf_trace.c' line='1210' column='1'/>
+        <parameter type-id='type-id-134' name='arg2' filepath='kernel/trace/bpf_trace.c' line='1210' column='1'/>
+        <parameter type-id='type-id-134' name='arg3' filepath='kernel/trace/bpf_trace.c' line='1210' column='1'/>
+        <parameter type-id='type-id-134' name='arg4' filepath='kernel/trace/bpf_trace.c' line='1210' column='1'/>
+        <parameter type-id='type-id-134' name='arg5' filepath='kernel/trace/bpf_trace.c' line='1210' column='1'/>
+        <parameter type-id='type-id-134' name='arg6' filepath='kernel/trace/bpf_trace.c' line='1210' column='1'/>
+        <parameter type-id='type-id-134' name='arg7' filepath='kernel/trace/bpf_trace.c' line='1210' column='1'/>
+        <parameter type-id='type-id-134' name='arg8' filepath='kernel/trace/bpf_trace.c' line='1210' column='1'/>
+        <parameter type-id='type-id-134' name='arg9' filepath='kernel/trace/bpf_trace.c' line='1210' column='1'/>
+        <parameter type-id='type-id-134' name='arg10' filepath='kernel/trace/bpf_trace.c' line='1210' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='bpf_trace_run12' mangled-name='bpf_trace_run12' filepath='kernel/trace/bpf_trace.c' line='1211' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bpf_trace_run12'>
+        <parameter type-id='type-id-3014' name='prog' filepath='kernel/trace/bpf_trace.c' line='1211' column='1'/>
+        <parameter type-id='type-id-134' name='arg0' filepath='kernel/trace/bpf_trace.c' line='1211' column='1'/>
+        <parameter type-id='type-id-134' name='arg1' filepath='kernel/trace/bpf_trace.c' line='1211' column='1'/>
+        <parameter type-id='type-id-134' name='arg2' filepath='kernel/trace/bpf_trace.c' line='1211' column='1'/>
+        <parameter type-id='type-id-134' name='arg3' filepath='kernel/trace/bpf_trace.c' line='1211' column='1'/>
+        <parameter type-id='type-id-134' name='arg4' filepath='kernel/trace/bpf_trace.c' line='1211' column='1'/>
+        <parameter type-id='type-id-134' name='arg5' filepath='kernel/trace/bpf_trace.c' line='1211' column='1'/>
+        <parameter type-id='type-id-134' name='arg6' filepath='kernel/trace/bpf_trace.c' line='1211' column='1'/>
+        <parameter type-id='type-id-134' name='arg7' filepath='kernel/trace/bpf_trace.c' line='1211' column='1'/>
+        <parameter type-id='type-id-134' name='arg8' filepath='kernel/trace/bpf_trace.c' line='1211' column='1'/>
+        <parameter type-id='type-id-134' name='arg9' filepath='kernel/trace/bpf_trace.c' line='1211' column='1'/>
+        <parameter type-id='type-id-134' name='arg10' filepath='kernel/trace/bpf_trace.c' line='1211' column='1'/>
+        <parameter type-id='type-id-134' name='arg11' filepath='kernel/trace/bpf_trace.c' line='1211' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-8056'>
+        <parameter type-id='type-id-8054'/>
+        <return type-id='type-id-8016'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-2991'>
-        <parameter type-id='type-id-28'/>
+      <function-type size-in-bits='64' id='type-id-8067'>
+        <parameter type-id='type-id-8054'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8068'>
+        <parameter type-id='type-id-8016'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8069'>
+        <parameter type-id='type-id-8016'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8070'>
+        <parameter type-id='type-id-8016'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-134'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8071'>
         <parameter type-id='type-id-3014'/>
-        <parameter type-id='type-id-3043'/>
-        <return type-id='type-id-17'/>
+        <parameter type-id='type-id-8060'/>
+        <parameter type-id='type-id-8054'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-2992'>
-        <parameter type-id='type-id-28'/>
-        <parameter type-id='type-id-512'/>
-        <parameter type-id='type-id-485'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8072'>
+        <parameter type-id='type-id-8058'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-2993'>
-        <parameter type-id='type-id-28'/>
-        <parameter type-id='type-id-3045'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8074'>
+        <parameter type-id='type-id-8062'/>
+        <parameter type-id='type-id-8066'/>
+        <parameter type-id='type-id-8066'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-2985'>
-        <parameter type-id='type-id-28'/>
-        <parameter type-id='type-id-2495'/>
-        <parameter type-id='type-id-3043'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8075'>
+        <parameter type-id='type-id-8016'/>
+        <parameter type-id='type-id-8055'/>
+        <return type-id='type-id-9'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-2994'>
-        <parameter type-id='type-id-28'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8076'>
+        <parameter type-id='type-id-8016'/>
+        <return type-id='type-id-73'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-2995'>
-        <parameter type-id='type-id-3059'/>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-3053'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8077'>
+        <parameter type-id='type-id-8016'/>
+        <parameter type-id='type-id-147'/>
+        <return type-id='type-id-73'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-2996'>
-        <parameter type-id='type-id-431'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2997'>
-        <parameter type-id='type-id-1932'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2998'>
-        <parameter type-id='type-id-1932'/>
-        <parameter type-id='type-id-33'/>
-        <parameter type-id='type-id-3060'/>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-1826'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2999'>
-        <parameter type-id='type-id-1932'/>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-2611'/>
-        <parameter type-id='type-id-1826'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3000'>
-        <parameter type-id='type-id-1284'/>
-        <parameter type-id='type-id-23'/>
-        <parameter type-id='type-id-2780'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3001'>
-        <parameter type-id='type-id-1284'/>
-        <parameter type-id='type-id-1129'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3002'>
-        <parameter type-id='type-id-1284'/>
-        <parameter type-id='type-id-88'/>
-        <parameter type-id='type-id-23'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3003'>
-        <parameter type-id='type-id-1284'/>
-        <parameter type-id='type-id-28'/>
-        <parameter type-id='type-id-666'/>
-        <parameter type-id='type-id-2'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3004'>
-        <parameter type-id='type-id-1209'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3005'>
-        <parameter type-id='type-id-1209'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3006'>
-        <parameter type-id='type-id-1209'/>
-        <parameter type-id='type-id-16'/>
-        <parameter type-id='type-id-2706'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-2422'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3007'>
-        <parameter type-id='type-id-1209'/>
-        <parameter type-id='type-id-16'/>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3018'>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-763'/>
-        <parameter type-id='type-id-763'/>
-        <return type-id='type-id-192'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3019'>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-192'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3020'>
-        <parameter type-id='type-id-3050'/>
-        <return type-id='type-id-192'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3021'>
-        <parameter type-id='type-id-28'/>
-        <parameter type-id='type-id-3054'/>
-        <return type-id='type-id-192'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3026'>
-        <parameter type-id='type-id-2656'/>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-3025'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3027'>
-        <parameter type-id='type-id-2697'/>
-        <return type-id='type-id-1645'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3029'>
-        <parameter type-id='type-id-1650'/>
-        <return type-id='type-id-3028'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3032'>
-        <parameter type-id='type-id-1687'/>
-        <parameter type-id='type-id-3064'/>
-        <return type-id='type-id-1685'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3036'>
-        <parameter type-id='type-id-1209'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-512'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3042'>
-        <parameter type-id='type-id-1129'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-1301'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3048'>
-        <parameter type-id='type-id-1129'/>
-        <return type-id='type-id-3047'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3057'>
-        <parameter type-id='type-id-1687'/>
-        <return type-id='type-id-1768'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3061'>
-        <parameter type-id='type-id-1687'/>
-        <parameter type-id='type-id-16'/>
-        <parameter type-id='type-id-1826'/>
-        <return type-id='type-id-1960'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3069'>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-879'/>
-        <return type-id='type-id-880'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3070'>
-        <parameter type-id='type-id-3009'/>
-        <parameter type-id='type-id-879'/>
-        <return type-id='type-id-880'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3071'>
-        <return type-id='type-id-33'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3072'>
-        <parameter type-id='type-id-4'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-33'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3073'>
-        <parameter type-id='type-id-2180'/>
-        <return type-id='type-id-33'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3074'>
-        <parameter type-id='type-id-2180'/>
-        <parameter type-id='type-id-4'/>
-        <return type-id='type-id-33'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3075'>
-        <parameter type-id='type-id-2697'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-33'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3076'>
-        <parameter type-id='type-id-2579'/>
-        <return type-id='type-id-33'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3077'>
-        <parameter type-id='type-id-512'/>
-        <parameter type-id='type-id-2137'/>
-        <return type-id='type-id-33'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3078'>
-        <parameter type-id='type-id-87'/>
-        <parameter type-id='type-id-2123'/>
-        <return type-id='type-id-33'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3079'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-512'/>
-        <parameter type-id='type-id-16'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-2160'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-2083'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3080'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-99'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-2160'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-2083'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3081'>
-        <parameter type-id='type-id-2577'/>
-        <return type-id='type-id-2577'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3082'>
-        <return type-id='type-id-682'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3083'>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-763'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-763'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3084'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-1668'/>
-        <return type-id='type-id-1668'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3085'>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-1668'/>
-        <return type-id='type-id-1668'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3086'>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-1650'/>
-        <return type-id='type-id-1752'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-1927'>
-        <parameter type-id='type-id-3058'/>
-        <return type-id='type-id-1930'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3087'>
-        <parameter type-id='type-id-365'/>
-        <parameter type-id='type-id-2346'/>
-        <return type-id='type-id-1548'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3088'>
-        <parameter type-id='type-id-1281'/>
-        <parameter type-id='type-id-386'/>
-        <return type-id='type-id-386'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3089'>
-        <parameter type-id='type-id-2697'/>
-        <return type-id='type-id-84'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3090'>
-        <parameter type-id='type-id-2697'/>
-        <parameter type-id='type-id-2697'/>
-        <return type-id='type-id-84'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3091'>
-        <parameter type-id='type-id-2697'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-84'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3092'>
-        <parameter type-id='type-id-23'/>
-        <parameter type-id='type-id-2'/>
-        <parameter type-id='type-id-84'/>
-        <return type-id='type-id-86'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3093'>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-2'/>
-        <parameter type-id='type-id-84'/>
+      <function-type size-in-bits='64' id='type-id-8078'>
+        <parameter type-id='type-id-8016'/>
+        <parameter type-id='type-id-3'/>
         <parameter type-id='type-id-85'/>
-        <return type-id='type-id-86'/>
+        <return type-id='type-id-73'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-3094'>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-4'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-85'/>
-        <return type-id='type-id-86'/>
+      <function-type size-in-bits='64' id='type-id-8079'>
+        <parameter type-id='type-id-8016'/>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-3'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-3095'>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-379'/>
-        <parameter type-id='type-id-2610'/>
-        <parameter type-id='type-id-2'/>
-        <parameter type-id='type-id-763'/>
-        <parameter type-id='type-id-84'/>
-        <return type-id='type-id-86'/>
+      <function-type size-in-bits='64' id='type-id-8080'>
+        <parameter type-id='type-id-8016'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-3'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-3096'>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-85'/>
-        <parameter type-id='type-id-87'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-86'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3097'>
-        <parameter type-id='type-id-83'/>
+      <union-decl name='__anonymous_union__4' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/linux/bpf.h' line='298' column='1' id='type-id-8018'>
+        <data-member access='private'>
+          <var-decl name='work' type-id='type-id-149' visibility='default' filepath='include/linux/bpf.h' line='299' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/linux/bpf.h' line='300' column='1'/>
+        </data-member>
+      </union-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/trace/power-traces.c' language='LANG_C89'>
+      <function-decl name='dev_driver_string' mangled-name='dev_driver_string' filepath='include/linux/device.h' line='1409' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_driver_string'>
         <parameter type-id='type-id-512'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-85'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-86'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3098'>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-763'/>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-763'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-86'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3099'>
-        <parameter type-id='type-id-3009'/>
-        <parameter type-id='type-id-2'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-763'/>
-        <return type-id='type-id-86'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3100'>
-        <parameter type-id='type-id-3011'/>
-        <parameter type-id='type-id-3008'/>
-        <return type-id='type-id-86'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3101'>
-        <parameter type-id='type-id-379'/>
-        <parameter type-id='type-id-2609'/>
-        <parameter type-id='type-id-2'/>
-        <return type-id='type-id-86'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3102'>
-        <parameter type-id='type-id-379'/>
-        <parameter type-id='type-id-2609'/>
-        <parameter type-id='type-id-4'/>
-        <parameter type-id='type-id-84'/>
-        <return type-id='type-id-86'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3103'>
-        <parameter type-id='type-id-1374'/>
-        <parameter type-id='type-id-3022'/>
-        <parameter type-id='type-id-2'/>
-        <return type-id='type-id-86'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3104'>
-        <parameter type-id='type-id-1374'/>
-        <parameter type-id='type-id-3022'/>
-        <parameter type-id='type-id-4'/>
-        <parameter type-id='type-id-84'/>
-        <return type-id='type-id-86'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3105'>
-        <parameter type-id='type-id-87'/>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-85'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-86'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3106'>
-        <parameter type-id='type-id-28'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-2'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-763'/>
-        <return type-id='type-id-86'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3107'>
-        <parameter type-id='type-id-28'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-4'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-763'/>
-        <return type-id='type-id-86'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3108'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-1650'/>
-        <return type-id='type-id-688'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3109'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-1772'/>
-        <return type-id='type-id-688'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3110'>
-        <parameter type-id='type-id-1687'/>
-        <return type-id='type-id-7'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3111'>
-        <parameter type-id='type-id-1232'/>
-        <parameter type-id='type-id-2613'/>
-        <return type-id='type-id-7'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3112'>
-        <parameter type-id='type-id-1650'/>
-        <return type-id='type-id-7'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3113'>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-7'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3114'>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-7'/>
-        <parameter type-id='type-id-7'/>
-        <return type-id='type-id-7'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3115'>
-        <parameter type-id='type-id-365'/>
-        <parameter type-id='type-id-2346'/>
-        <return type-id='type-id-40'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3116'>
-        <parameter type-id='type-id-379'/>
-        <parameter type-id='type-id-2609'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-329'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3117'>
-        <parameter type-id='type-id-379'/>
-        <parameter type-id='type-id-2610'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-329'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3118'>
-        <parameter type-id='type-id-3133'/>
-        <return type-id='type-id-2420'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3119'>
-        <parameter type-id='type-id-3133'/>
-        <parameter type-id='type-id-2429'/>
-        <return type-id='type-id-2420'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3120'>
-        <parameter type-id='type-id-2746'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-1567'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3123'>
-        <return type-id='type-id-5'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3124'>
-        <parameter type-id='type-id-2656'/>
-        <return type-id='type-id-5'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3125'>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-2630'/>
-        <return type-id='type-id-5'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3126'>
-        <parameter type-id='type-id-1687'/>
-        <parameter type-id='type-id-7'/>
-        <return type-id='type-id-16'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3127'>
-        <parameter type-id='type-id-1687'/>
-        <parameter type-id='type-id-16'/>
-        <parameter type-id='type-id-7'/>
-        <return type-id='type-id-16'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3128'>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-16'/>
-        <parameter type-id='type-id-16'/>
-        <parameter type-id='type-id-16'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-16'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3129'>
-        <parameter type-id='type-id-2579'/>
-        <return type-id='type-id-16'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3130'>
-        <parameter type-id='type-id-3055'/>
-        <parameter type-id='type-id-3054'/>
-        <return type-id='type-id-16'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3131'>
-        <parameter type-id='type-id-1209'/>
-        <return type-id='type-id-16'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3132'>
-        <parameter type-id='type-id-3037'/>
-        <return type-id='type-id-1284'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2370'>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3134'>
-        <parameter type-id='type-id-1687'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3135'>
-        <parameter type-id='type-id-1687'/>
-        <parameter type-id='type-id-3046'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3136'>
-        <parameter type-id='type-id-1687'/>
-        <parameter type-id='type-id-7'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3137'>
-        <parameter type-id='type-id-1687'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3138'>
-        <parameter type-id='type-id-1232'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3139'>
-        <parameter type-id='type-id-1232'/>
-        <parameter type-id='type-id-83'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3140'>
-        <parameter type-id='type-id-1232'/>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-88'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3141'>
-        <parameter type-id='type-id-91'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3142'>
-        <parameter type-id='type-id-365'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3143'>
-        <parameter type-id='type-id-365'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3144'>
-        <parameter type-id='type-id-2617'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3145'>
-        <parameter type-id='type-id-2027'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3146'>
-        <parameter type-id='type-id-2656'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3147'>
-        <parameter type-id='type-id-2708'/>
-        <parameter type-id='type-id-3037'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3148'>
-        <parameter type-id='type-id-1585'/>
-        <parameter type-id='type-id-1596'/>
-        <parameter type-id='type-id-3017'/>
-        <parameter type-id='type-id-3010'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3149'>
-        <parameter type-id='type-id-23'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3150'>
-        <parameter type-id='type-id-23'/>
-        <parameter type-id='type-id-1129'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3151'>
-        <parameter type-id='type-id-240'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3152'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-3017'/>
-        <parameter type-id='type-id-3010'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3153'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-920'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-2160'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3154'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-920'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-2160'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3155'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-33'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3156'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-2083'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-2160'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3157'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-2083'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-2160'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3158'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-738'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3159'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-2083'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3160'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-2160'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3161'>
-        <parameter type-id='type-id-2742'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3162'>
-        <parameter type-id='type-id-2746'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3163'>
-        <parameter type-id='type-id-2746'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3164'>
-        <parameter type-id='type-id-2746'/>
-        <parameter type-id='type-id-1648'/>
-        <parameter type-id='type-id-1768'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3165'>
-        <parameter type-id='type-id-2746'/>
-        <parameter type-id='type-id-1648'/>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-7'/>
-        <parameter type-id='type-id-33'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3166'>
-        <parameter type-id='type-id-83'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3167'>
-        <parameter type-id='type-id-2579'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3168'>
-        <parameter type-id='type-id-2579'/>
-        <parameter type-id='type-id-2579'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3169'>
-        <parameter type-id='type-id-2579'/>
-        <parameter type-id='type-id-528'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3170'>
-        <parameter type-id='type-id-2025'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3171'>
-        <parameter type-id='type-id-2779'/>
-        <parameter type-id='type-id-2697'/>
-        <parameter type-id='type-id-878'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3172'>
-        <parameter type-id='type-id-2785'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3173'>
-        <parameter type-id='type-id-2785'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3174'>
-        <parameter type-id='type-id-1129'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3175'>
-        <parameter type-id='type-id-1129'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2367'>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3176'>
-        <parameter type-id='type-id-3009'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3177'>
-        <parameter type-id='type-id-3011'/>
-        <parameter type-id='type-id-192'/>
-        <parameter type-id='type-id-192'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3178'>
-        <parameter type-id='type-id-379'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3179'>
-        <parameter type-id='type-id-379'/>
-        <parameter type-id='type-id-3017'/>
-        <parameter type-id='type-id-3010'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3180'>
-        <parameter type-id='type-id-2325'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3181'>
-        <parameter type-id='type-id-260'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3182'>
-        <parameter type-id='type-id-260'/>
-        <parameter type-id='type-id-4'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3183'>
-        <parameter type-id='type-id-1650'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3184'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-2751'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3185'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-2754'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3186'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-2762'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3187'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-2763'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3188'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-2764'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3189'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-2766'/>
-        <parameter type-id='type-id-1510'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3190'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-2767'/>
-        <parameter type-id='type-id-1510'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3191'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-2769'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3192'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3193'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-877'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3194'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-3025'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3195'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-3052'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3196'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-7'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3197'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-7'/>
-        <parameter type-id='type-id-3121'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3198'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-3122'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3199'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3200'>
-        <parameter type-id='type-id-512'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3201'>
-        <parameter type-id='type-id-512'/>
-        <parameter type-id='type-id-2611'/>
-        <parameter type-id='type-id-2611'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3202'>
-        <parameter type-id='type-id-512'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3203'>
-        <parameter type-id='type-id-512'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-2158'>
-        <parameter type-id='type-id-2147'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3204'>
-        <parameter type-id='type-id-87'/>
-        <parameter type-id='type-id-2123'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3205'>
-        <parameter type-id='type-id-88'/>
-        <parameter type-id='type-id-83'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3206'>
-        <parameter type-id='type-id-88'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3207'>
-        <parameter type-id='type-id-1768'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3208'>
-        <parameter type-id='type-id-28'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3209'>
-        <parameter type-id='type-id-431'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3210'>
-        <parameter type-id='type-id-1932'/>
-        <parameter type-id='type-id-1826'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3211'>
-        <parameter type-id='type-id-1932'/>
-        <parameter type-id='type-id-3063'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3212'>
-        <parameter type-id='type-id-3065'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3213'>
-        <parameter type-id='type-id-2577'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3214'>
-        <parameter type-id='type-id-2439'/>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3215'>
-        <parameter type-id='type-id-1209'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3216'>
-        <parameter type-id='type-id-3133'/>
-        <parameter type-id='type-id-16'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3217'>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3218'>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-7'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3219'>
-        <parameter type-id='type-id-3234'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3220'>
-        <return type-id='type-id-15'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3221'>
-        <parameter type-id='type-id-1232'/>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-15'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3222'>
-        <parameter type-id='type-id-1232'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-15'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3223'>
-        <parameter type-id='type-id-2180'/>
-        <parameter type-id='type-id-2651'/>
-        <return type-id='type-id-15'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3224'>
-        <parameter type-id='type-id-240'/>
-        <return type-id='type-id-15'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3225'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-2741'/>
-        <parameter type-id='type-id-485'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-15'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3226'>
-        <parameter type-id='type-id-379'/>
-        <return type-id='type-id-15'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3227'>
-        <parameter type-id='type-id-1645'/>
-        <parameter type-id='type-id-1938'/>
-        <parameter type-id='type-id-3034'/>
-        <parameter type-id='type-id-1826'/>
-        <return type-id='type-id-15'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3228'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-1650'/>
-        <return type-id='type-id-15'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3229'>
-        <parameter type-id='type-id-88'/>
-        <parameter type-id='type-id-85'/>
-        <return type-id='type-id-15'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3230'>
-        <parameter type-id='type-id-88'/>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-85'/>
-        <return type-id='type-id-15'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3231'>
-        <parameter type-id='type-id-1648'/>
-        <return type-id='type-id-15'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3232'>
-        <parameter type-id='type-id-1932'/>
-        <parameter type-id='type-id-7'/>
-        <return type-id='type-id-15'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3233'>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-15'/>
-      </function-type>
-      <union-decl name='__anonymous_union__38' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/linux/fs.h' line='624' column='1' id='type-id-1303'>
-        <data-member access='private'>
-          <var-decl name='i_nlink' type-id='type-id-893' visibility='default' filepath='include/linux/fs.h' line='625' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='__i_nlink' type-id='type-id-5' visibility='default' filepath='include/linux/fs.h' line='626' column='1'/>
-        </data-member>
-      </union-decl>
-      <union-decl name='__anonymous_union__42' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/dcache.h' line='115' column='1' id='type-id-1291'>
-        <data-member access='private'>
-          <var-decl name='d_alias' type-id='type-id-520' visibility='default' filepath='include/linux/dcache.h' line='116' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='d_in_lookup_hash' type-id='type-id-1286' visibility='default' filepath='include/linux/dcache.h' line='117' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='d_rcu' type-id='type-id-385' visibility='default' filepath='include/linux/dcache.h' line='118' column='1'/>
-        </data-member>
-      </union-decl>
-      <union-decl name='__anonymous_union__13' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/cred.h' line='154' column='1' id='type-id-1617'>
-        <data-member access='private'>
-          <var-decl name='non_rcu' type-id='type-id-17' visibility='default' filepath='include/linux/cred.h' line='155' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/linux/cred.h' line='156' column='1'/>
-        </data-member>
-      </union-decl>
-      <union-decl name='__anonymous_union__41' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/dcache.h' line='106' column='1' id='type-id-1290'>
-        <data-member access='private'>
-          <var-decl name='d_lru' type-id='type-id-20' visibility='default' filepath='include/linux/dcache.h' line='107' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='d_wait' type-id='type-id-881' visibility='default' filepath='include/linux/dcache.h' line='108' column='1'/>
-        </data-member>
-      </union-decl>
-      <union-decl name='__anonymous_union__12' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/linux/key.h' line='158' column='1' id='type-id-1627'>
-        <data-member access='private'>
-          <var-decl name='graveyard_link' type-id='type-id-20' visibility='default' filepath='include/linux/key.h' line='159' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='serial_node' type-id='type-id-422' visibility='default' filepath='include/linux/key.h' line='160' column='1'/>
-        </data-member>
-      </union-decl>
-      <union-decl name='__anonymous_union__31' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/iocontext.h' line='82' column='1' id='type-id-2377'>
-        <data-member access='private'>
-          <var-decl name='q_node' type-id='type-id-20' visibility='default' filepath='include/linux/iocontext.h' line='83' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='__rcu_icq_cache' type-id='type-id-538' visibility='default' filepath='include/linux/iocontext.h' line='84' column='1'/>
-        </data-member>
-      </union-decl>
-      <union-decl name='__anonymous_union__2' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/fs.h' line='898' column='1' id='type-id-1275'>
-        <data-member access='private'>
-          <var-decl name='fu_llist' type-id='type-id-281' visibility='default' filepath='include/linux/fs.h' line='899' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='fu_rcuhead' type-id='type-id-385' visibility='default' filepath='include/linux/fs.h' line='900' column='1'/>
-        </data-member>
-      </union-decl>
-      <union-decl name='__anonymous_union__39' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/linux/fs.h' line='1064' column='1' id='type-id-2582'>
-        <data-member access='private'>
-          <var-decl name='nfs_fl' type-id='type-id-2595' visibility='default' filepath='include/linux/fs.h' line='1065' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='nfs4_fl' type-id='type-id-2597' visibility='default' filepath='include/linux/fs.h' line='1066' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='afs' type-id='type-id-2599' visibility='default' filepath='include/linux/fs.h' line='1070' column='1'/>
-        </data-member>
-      </union-decl>
-      <union-decl name='__anonymous_union__44' is-anonymous='yes' visibility='default' filepath='include/linux/filter.h' line='502' column='1' id='type-id-1224'>
-        <data-member access='private'>
-          <var-decl name='insns' type-id='type-id-1172' visibility='default' filepath='include/linux/filter.h' line='503' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='insnsi' type-id='type-id-956' visibility='default' filepath='include/linux/filter.h' line='504' column='1'/>
-        </data-member>
-      </union-decl>
-      <union-decl name='__anonymous_union__24' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='79' column='1' id='type-id-2088'>
-        <member-type access='private'>
-          <class-decl name='__anonymous_struct__' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='98' column='1' id='type-id-3238'>
-            <member-type access='public'>
-              <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='115' column='1' id='type-id-3239'>
-                <data-member access='private'>
-                  <var-decl name='s_mem' type-id='type-id-15' visibility='default' filepath='include/linux/mm_types.h' line='116' column='1'/>
-                </data-member>
-                <data-member access='private'>
-                  <var-decl name='counters' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='117' column='1'/>
-                </data-member>
-                <data-member access='private'>
-                  <var-decl name='' type-id='type-id-2139' visibility='default' filepath='include/linux/mm_types.h' line='118' column='1'/>
-                </data-member>
-              </union-decl>
-            </member-type>
-            <data-member access='public' layout-offset-in-bits='0'>
-              <var-decl name='' type-id='type-id-3240' visibility='default' filepath='include/linux/mm_types.h' line='99' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='128'>
-              <var-decl name='slab_cache' type-id='type-id-538' visibility='default' filepath='include/linux/mm_types.h' line='112' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='192'>
-              <var-decl name='freelist' type-id='type-id-15' visibility='default' filepath='include/linux/mm_types.h' line='114' column='1'/>
-            </data-member>
-          </class-decl>
-        </member-type>
-        <member-type access='private'>
-          <class-decl name='__anonymous_struct__1' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='125' column='1' id='type-id-3241'>
-            <data-member access='public' layout-offset-in-bits='0'>
-              <var-decl name='compound_head' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='126' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='64'>
-              <var-decl name='compound_dtor' type-id='type-id-216' visibility='default' filepath='include/linux/mm_types.h' line='129' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='72'>
-              <var-decl name='compound_order' type-id='type-id-216' visibility='default' filepath='include/linux/mm_types.h' line='130' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='96'>
-              <var-decl name='compound_mapcount' type-id='type-id-26' visibility='default' filepath='include/linux/mm_types.h' line='131' column='1'/>
-            </data-member>
-          </class-decl>
-        </member-type>
-        <member-type access='private'>
-          <class-decl name='__anonymous_struct__2' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='133' column='1' id='type-id-3242'>
-            <data-member access='public' layout-offset-in-bits='0'>
-              <var-decl name='_compound_pad_1' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='134' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='64'>
-              <var-decl name='_compound_pad_2' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='135' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='128'>
-              <var-decl name='deferred_list' type-id='type-id-20' visibility='default' filepath='include/linux/mm_types.h' line='136' column='1'/>
-            </data-member>
-          </class-decl>
-        </member-type>
-        <member-type access='private'>
-          <class-decl name='__anonymous_struct__3' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='138' column='1' id='type-id-3243'>
-            <data-member access='public' layout-offset-in-bits='0'>
-              <var-decl name='_pt_pad_1' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='139' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='64'>
-              <var-decl name='pmd_huge_pte' type-id='type-id-2140' visibility='default' filepath='include/linux/mm_types.h' line='140' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='128'>
-              <var-decl name='_pt_pad_2' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='141' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='192'>
-              <var-decl name='' type-id='type-id-2141' visibility='default' filepath='include/linux/mm_types.h' line='142' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='256'>
-              <var-decl name='ptl' type-id='type-id-247' visibility='default' filepath='include/linux/mm_types.h' line='149' column='1'/>
-            </data-member>
-          </class-decl>
-        </member-type>
-        <member-type access='private'>
-          <class-decl name='__anonymous_struct__4' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='152' column='1' id='type-id-3244'>
-            <data-member access='public' layout-offset-in-bits='0'>
-              <var-decl name='pgmap' type-id='type-id-2739' visibility='default' filepath='include/linux/mm_types.h' line='154' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='64'>
-              <var-decl name='hmm_data' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='155' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='128'>
-              <var-decl name='_zd_pad_1' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='156' column='1'/>
-            </data-member>
-          </class-decl>
-        </member-type>
-        <data-member access='private'>
-          <var-decl name='' type-id='type-id-2089' visibility='default' filepath='include/linux/mm_types.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='callback_head' type-id='type-id-385' visibility='default' filepath='include/linux/mm_types.h' line='160' column='1'/>
-        </data-member>
-      </union-decl>
-      <union-decl name='__anonymous_union__35' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='303' column='1' id='type-id-1479'>
-        <data-member access='private'>
-          <var-decl name='shared' type-id='type-id-2419' visibility='default' filepath='include/linux/mm_types.h' line='307' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='anon_name' type-id='type-id-4' visibility='default' filepath='include/linux/mm_types.h' line='308' column='1'/>
-        </data-member>
-      </union-decl>
-      <union-decl name='__anonymous_union__14' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='666' column='1' id='type-id-1764'>
-        <data-member access='private'>
-          <var-decl name='' type-id='type-id-1767' visibility='default' filepath='include/linux/skbuff.h' line='667' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='rbnode' type-id='type-id-422' visibility='default' filepath='include/linux/skbuff.h' line='681' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/skbuff.h' line='682' column='1'/>
-        </data-member>
-      </union-decl>
-      <union-decl name='__anonymous_union__23' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/netdevice.h' line='1989' column='1' id='type-id-1693'>
-        <data-member access='private'>
-          <var-decl name='ml_priv' type-id='type-id-15' visibility='default' filepath='include/linux/netdevice.h' line='1990' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='lstats' type-id='type-id-3039' visibility='default' filepath='include/linux/netdevice.h' line='1991' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='tstats' type-id='type-id-3040' visibility='default' filepath='include/linux/netdevice.h' line='1992' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='dstats' type-id='type-id-3038' visibility='default' filepath='include/linux/netdevice.h' line='1993' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='vstats' type-id='type-id-3041' visibility='default' filepath='include/linux/netdevice.h' line='1994' column='1'/>
-        </data-member>
-      </union-decl>
-      <union-decl name='__anonymous_union__43' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/linux/bpf.h' line='298' column='1' id='type-id-1234'>
-        <data-member access='private'>
-          <var-decl name='work' type-id='type-id-255' visibility='default' filepath='include/linux/bpf.h' line='299' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/linux/bpf.h' line='300' column='1'/>
-        </data-member>
-      </union-decl>
-      <union-decl name='__anonymous_union__27' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='99' column='1' id='type-id-3240'>
-        <data-member access='private'>
-          <var-decl name='slab_list' type-id='type-id-20' visibility='default' filepath='include/linux/mm_types.h' line='100' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='' type-id='type-id-2138' visibility='default' filepath='include/linux/mm_types.h' line='101' column='1'/>
-        </data-member>
-      </union-decl>
+        <return type-id='type-id-24'/>
+      </function-decl>
     </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='fs/seq_file.c' language='LANG_C89'>
-      <function-decl name='seq_read' mangled-name='seq_read' filepath='fs/seq_file.c' line='153' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='seq_read'>
-        <parameter type-id='type-id-83' name='file' filepath='fs/seq_file.c' line='153' column='1'/>
-        <parameter type-id='type-id-2' name='buf' filepath='fs/seq_file.c' line='153' column='1'/>
-        <parameter type-id='type-id-84' name='size' filepath='fs/seq_file.c' line='153' column='1'/>
-        <parameter type-id='type-id-85' name='ppos' filepath='fs/seq_file.c' line='153' column='1'/>
-        <return type-id='type-id-86'/>
+    <abi-instr version='1.0' address-size='64' path='kernel/trace/ring_buffer.c' language='LANG_C89'>
+      <function-decl name='si_mem_available' mangled-name='si_mem_available' filepath='include/linux/mm.h' line='2225' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='si_mem_available'>
+        <return type-id='type-id-187'/>
       </function-decl>
-      <function-decl name='seq_lseek' mangled-name='seq_lseek' filepath='fs/seq_file.c' line='310' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='seq_lseek'>
-        <parameter type-id='type-id-83' name='file' filepath='fs/seq_file.c' line='310' column='1'/>
-        <parameter type-id='type-id-763' name='offset' filepath='fs/seq_file.c' line='310' column='1'/>
-        <parameter type-id='type-id-17' name='whence' filepath='fs/seq_file.c' line='310' column='1'/>
-        <return type-id='type-id-763'/>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/trace/trace.c' language='LANG_C89'>
+      <function-decl name='seq_lseek' mangled-name='seq_lseek' filepath='include/linux/seq_file.h' line='111' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='seq_lseek'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-112'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-112'/>
       </function-decl>
-      <function-decl name='seq_printf' mangled-name='seq_printf' filepath='fs/seq_file.c' line='401' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='seq_printf'>
-        <parameter type-id='type-id-88' name='m' filepath='fs/seq_file.c' line='401' column='1'/>
-        <parameter type-id='type-id-4' name='f' filepath='fs/seq_file.c' line='401' column='1'/>
+      <function-decl name='kvmalloc_node' mangled-name='kvmalloc_node' filepath='include/linux/mm.h' line='585' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kvmalloc_node'>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='seq_release' mangled-name='seq_release' filepath='include/linux/seq_file.h' line='112' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='seq_release'>
+        <parameter type-id='type-id-1160'/>
+        <parameter type-id='type-id-147'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='nonseekable_open' mangled-name='nonseekable_open' filepath='include/linux/fs.h' line='3074' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nonseekable_open'>
+        <parameter type-id='type-id-1160'/>
+        <parameter type-id='type-id-147'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/trace/trace_events.c' language='LANG_C89'>
+      <class-decl name='prog_entry' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-8081'/>
+      <pointer-type-def type-id='type-id-8081' size-in-bits='64' id='type-id-8082'/>
+      <function-decl name='trace_event_raw_init' mangled-name='trace_event_raw_init' filepath='kernel/trace/trace_events.c' line='225' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='trace_event_raw_init'>
+        <parameter type-id='type-id-4853' name='call' filepath='kernel/trace/trace_events.c' line='225' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='trace_event_reg' mangled-name='trace_event_reg' filepath='kernel/trace/trace_events.c' line='287' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='trace_event_reg'>
+        <parameter type-id='type-id-4853' name='call' filepath='kernel/trace/trace_events.c' line='287' column='1'/>
+        <parameter type-id='type-id-4868' name='type' filepath='kernel/trace/trace_events.c' line='288' column='1'/>
+        <parameter type-id='type-id-3' name='data' filepath='kernel/trace/trace_events.c' line='288' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/trace/trace_events_filter.c' language='LANG_C89'>
+      <function-decl name='strnstr' mangled-name='strnstr' filepath='include/linux/string.h' line='80' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strnstr'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-300'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/trace/trace_output.c' language='LANG_C89'>
+      <function-decl name='trace_print_hex_seq' mangled-name='trace_print_hex_seq' filepath='kernel/trace/trace_output.c' line='217' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='trace_print_hex_seq'>
+        <parameter type-id='type-id-6249' name='p' filepath='kernel/trace/trace_output.c' line='217' column='1'/>
+        <parameter type-id='type-id-984' name='buf' filepath='kernel/trace/trace_output.c' line='217' column='1'/>
+        <parameter type-id='type-id-11' name='buf_len' filepath='kernel/trace/trace_output.c' line='217' column='1'/>
+        <parameter type-id='type-id-211' name='concatenate' filepath='kernel/trace/trace_output.c' line='218' column='1'/>
+        <return type-id='type-id-24'/>
+      </function-decl>
+      <function-decl name='trace_print_array_seq' mangled-name='trace_print_array_seq' filepath='kernel/trace/trace_output.c' line='233' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='trace_print_array_seq'>
+        <parameter type-id='type-id-6249' name='p' filepath='kernel/trace/trace_output.c' line='233' column='1'/>
+        <parameter type-id='type-id-3' name='buf' filepath='kernel/trace/trace_output.c' line='233' column='1'/>
+        <parameter type-id='type-id-11' name='count' filepath='kernel/trace/trace_output.c' line='233' column='1'/>
+        <parameter type-id='type-id-125' name='el_size' filepath='kernel/trace/trace_output.c' line='234' column='1'/>
+        <return type-id='type-id-24'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='kernel/trace/trace_printk.c' language='LANG_C89'>
+      <function-decl name='__trace_bprintk' mangled-name='__trace_bprintk' filepath='kernel/trace/trace_printk.c' line='199' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__trace_bprintk'>
+        <parameter type-id='type-id-100' name='ip' filepath='kernel/trace/trace_printk.c' line='199' column='1'/>
+        <parameter type-id='type-id-24' name='fmt' filepath='kernel/trace/trace_printk.c' line='199' column='1'/>
         <parameter is-variadic='yes'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='single_open' mangled-name='single_open' filepath='fs/seq_file.c' line='554' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='single_open'>
-        <parameter type-id='type-id-83' name='file' filepath='fs/seq_file.c' line='554' column='1'/>
-        <parameter type-id='type-id-311' name='show' filepath='fs/seq_file.c' line='554' column='1'/>
-        <parameter type-id='type-id-15' name='data' filepath='fs/seq_file.c' line='555' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='single_release' mangled-name='single_release' filepath='fs/seq_file.c' line='593' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='single_release'>
-        <parameter type-id='type-id-1129' name='inode' filepath='fs/seq_file.c' line='593' column='1'/>
-        <parameter type-id='type-id-83' name='file' filepath='fs/seq_file.c' line='593' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='seq_putc' mangled-name='seq_putc' filepath='fs/seq_file.c' line='645' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='seq_putc'>
-        <parameter type-id='type-id-88' name='m' filepath='fs/seq_file.c' line='645' column='1'/>
-        <parameter type-id='type-id-1' name='c' filepath='fs/seq_file.c' line='645' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='seq_puts' mangled-name='seq_puts' filepath='fs/seq_file.c' line='654' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='seq_puts'>
-        <parameter type-id='type-id-88' name='m' filepath='fs/seq_file.c' line='654' column='1'/>
-        <parameter type-id='type-id-4' name='s' filepath='fs/seq_file.c' line='654' column='1'/>
-        <return type-id='type-id-81'/>
+        <return type-id='type-id-11'/>
       </function-decl>
     </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='mm/slab_common.c' language='LANG_C89'>
-      <array-type-def dimensions='1' type-id='type-id-538' size-in-bits='infinite' id='type-id-3245'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-3246' size-in-bits='64' id='type-id-3247'>
-        <subrange length='1' type-id='type-id-9' id='type-id-180'/>
-
-      </array-type-def>
-      <class-decl name='kmem_cache_cpu' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/slub_def.h' line='41' column='1' id='type-id-3248'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='freelist' type-id='type-id-528' visibility='default' filepath='include/linux/slub_def.h' line='42' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='tid' type-id='type-id-16' visibility='default' filepath='include/linux/slub_def.h' line='43' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='page' type-id='type-id-512' visibility='default' filepath='include/linux/slub_def.h' line='44' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='partial' type-id='type-id-512' visibility='default' filepath='include/linux/slub_def.h' line='46' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='79' column='1' id='type-id-3249'>
-        <member-type access='private'>
-          <class-decl name='__anonymous_struct__' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='98' column='1' id='type-id-3250'>
-            <member-type access='public'>
-              <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='115' column='1' id='type-id-3251'>
-                <data-member access='private'>
-                  <var-decl name='s_mem' type-id='type-id-15' visibility='default' filepath='include/linux/mm_types.h' line='116' column='1'/>
-                </data-member>
-                <data-member access='private'>
-                  <var-decl name='counters' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='117' column='1'/>
-                </data-member>
-                <data-member access='private'>
-                  <var-decl name='' type-id='type-id-2139' visibility='default' filepath='include/linux/mm_types.h' line='118' column='1'/>
-                </data-member>
-              </union-decl>
-            </member-type>
-            <data-member access='public' layout-offset-in-bits='0'>
-              <var-decl name='' type-id='type-id-3252' visibility='default' filepath='include/linux/mm_types.h' line='99' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='128'>
-              <var-decl name='slab_cache' type-id='type-id-538' visibility='default' filepath='include/linux/mm_types.h' line='112' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='192'>
-              <var-decl name='freelist' type-id='type-id-15' visibility='default' filepath='include/linux/mm_types.h' line='114' column='1'/>
-            </data-member>
-          </class-decl>
-        </member-type>
-        <member-type access='private'>
-          <class-decl name='__anonymous_struct__1' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='138' column='1' id='type-id-3253'>
-            <data-member access='public' layout-offset-in-bits='0'>
-              <var-decl name='_pt_pad_1' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='139' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='64'>
-              <var-decl name='pmd_huge_pte' type-id='type-id-2140' visibility='default' filepath='include/linux/mm_types.h' line='140' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='128'>
-              <var-decl name='_pt_pad_2' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='141' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='192'>
-              <var-decl name='' type-id='type-id-3254' visibility='default' filepath='include/linux/mm_types.h' line='142' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='256'>
-              <var-decl name='ptl' type-id='type-id-247' visibility='default' filepath='include/linux/mm_types.h' line='149' column='1'/>
-            </data-member>
-          </class-decl>
-        </member-type>
-        <member-type access='private'>
-          <class-decl name='__anonymous_struct__2' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='152' column='1' id='type-id-3255'>
-            <data-member access='public' layout-offset-in-bits='0'>
-              <var-decl name='pgmap' type-id='type-id-2739' visibility='default' filepath='include/linux/mm_types.h' line='154' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='64'>
-              <var-decl name='hmm_data' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='155' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='128'>
-              <var-decl name='_zd_pad_1' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='156' column='1'/>
-            </data-member>
-          </class-decl>
-        </member-type>
-        <data-member access='private'>
-          <var-decl name='' type-id='type-id-2089' visibility='default' filepath='include/linux/mm_types.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='callback_head' type-id='type-id-385' visibility='default' filepath='include/linux/mm_types.h' line='160' column='1'/>
-        </data-member>
-      </union-decl>
-      <union-decl name='__anonymous_union__1' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='99' column='1' id='type-id-3252'>
-        <data-member access='private'>
-          <var-decl name='slab_list' type-id='type-id-20' visibility='default' filepath='include/linux/mm_types.h' line='100' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='' type-id='type-id-2138' visibility='default' filepath='include/linux/mm_types.h' line='101' column='1'/>
-        </data-member>
-      </union-decl>
-      <union-decl name='__anonymous_union__2' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='142' column='1' id='type-id-3254'>
-        <data-member access='private'>
-          <var-decl name='pt_mm' type-id='type-id-882' visibility='default' filepath='include/linux/mm_types.h' line='143' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='pt_frag_refcount' type-id='type-id-26' visibility='default' filepath='include/linux/mm_types.h' line='144' column='1'/>
-        </data-member>
-      </union-decl>
-      <typedef-decl name='slab_flags_t' type-id='type-id-5' filepath='include/linux/types.h' line='159' column='1' id='type-id-3256'/>
-      <class-decl name='kmem_cache_order_objects' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/linux/slub_def.h' line='75' column='1' id='type-id-3257'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='x' type-id='type-id-5' visibility='default' filepath='include/linux/slub_def.h' line='76' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='memcg_cache_params' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/linux/slab.h' line='632' column='1' id='type-id-3258'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='root_cache' type-id='type-id-538' visibility='default' filepath='include/linux/slab.h' line='633' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='' type-id='type-id-3259' visibility='default' filepath='include/linux/slab.h' line='634' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__3' size-in-bits='640' is-anonymous='yes' visibility='default' filepath='include/linux/slab.h' line='634' column='1' id='type-id-3259'>
-        <member-type access='private'>
-          <class-decl name='__anonymous_struct__' size-in-bits='640' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/slab.h' line='641' column='1' id='type-id-3260'>
-            <data-member access='public' layout-offset-in-bits='0'>
-              <var-decl name='memcg' type-id='type-id-447' visibility='default' filepath='include/linux/slab.h' line='642' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='64'>
-              <var-decl name='children_node' type-id='type-id-20' visibility='default' filepath='include/linux/slab.h' line='643' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='192'>
-              <var-decl name='kmem_caches_node' type-id='type-id-20' visibility='default' filepath='include/linux/slab.h' line='644' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='320'>
-              <var-decl name='deact_fn' type-id='type-id-3261' visibility='default' filepath='include/linux/slab.h' line='646' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='384'>
-              <var-decl name='' type-id='type-id-3262' visibility='default' filepath='include/linux/slab.h' line='647' column='1'/>
-            </data-member>
-          </class-decl>
-        </member-type>
-        <data-member access='private'>
-          <var-decl name='' type-id='type-id-3263' visibility='default' filepath='include/linux/slab.h' line='635' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='__anonymous_struct__' size-in-bits='384' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/slab.h' line='635' column='1' id='type-id-3263'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='memcg_caches' type-id='type-id-3264' visibility='default' filepath='include/linux/slab.h' line='636' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='__root_caches_node' type-id='type-id-20' visibility='default' filepath='include/linux/slab.h' line='637' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='children' type-id='type-id-20' visibility='default' filepath='include/linux/slab.h' line='638' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='dying' type-id='type-id-33' visibility='default' filepath='include/linux/slab.h' line='639' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='memcg_cache_array' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/slab.h' line='594' column='1' id='type-id-3265'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/linux/slab.h' line='595' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='entries' type-id='type-id-3245' visibility='default' filepath='include/linux/slab.h' line='596' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__4' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/linux/slab.h' line='647' column='1' id='type-id-3262'>
-        <data-member access='private'>
-          <var-decl name='deact_rcu_head' type-id='type-id-385' visibility='default' filepath='include/linux/slab.h' line='648' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='deact_work' type-id='type-id-255' visibility='default' filepath='include/linux/slab.h' line='649' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='kmem_cache_node' size-in-bits='512' is-struct='yes' visibility='default' filepath='mm/slab.h' line='454' column='1' id='type-id-3266'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='list_lock' type-id='type-id-247' visibility='default' filepath='mm/slab.h' line='455' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='nr_partial' type-id='type-id-16' visibility='default' filepath='mm/slab.h' line='473' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='partial' type-id='type-id-20' visibility='default' filepath='mm/slab.h' line='474' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='nr_slabs' type-id='type-id-115' visibility='default' filepath='mm/slab.h' line='476' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='total_objects' type-id='type-id-115' visibility='default' filepath='mm/slab.h' line='477' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='full' type-id='type-id-20' visibility='default' filepath='mm/slab.h' line='478' column='1'/>
-        </data-member>
-      </class-decl>
-      <pointer-type-def type-id='type-id-3248' size-in-bits='64' id='type-id-3267'/>
-      <pointer-type-def type-id='type-id-3266' size-in-bits='64' id='type-id-3246'/>
-      <pointer-type-def type-id='type-id-3265' size-in-bits='64' id='type-id-3264'/>
-      <pointer-type-def type-id='type-id-3268' size-in-bits='64' id='type-id-3261'/>
-      <function-decl name='kmem_cache_create' mangled-name='kmem_cache_create' filepath='mm/slab_common.c' line='518' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kmem_cache_create'>
-        <parameter type-id='type-id-4' name='name' filepath='mm/slab_common.c' line='518' column='1'/>
-        <parameter type-id='type-id-5' name='size' filepath='mm/slab_common.c' line='518' column='1'/>
-        <parameter type-id='type-id-5' name='align' filepath='mm/slab_common.c' line='518' column='1'/>
-        <parameter type-id='type-id-3256' name='flags' filepath='mm/slab_common.c' line='519' column='1'/>
-        <parameter type-id='type-id-517' name='ctor' filepath='mm/slab_common.c' line='519' column='1'/>
-        <return type-id='type-id-538'/>
+    <abi-instr version='1.0' address-size='64' path='kernel/ucount.c' language='LANG_C89'>
+      <function-decl name='kmemdup' mangled-name='kmemdup' filepath='include/linux/string.h' line='174' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kmemdup'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-3'/>
       </function-decl>
-      <function-decl name='kmem_cache_destroy' mangled-name='kmem_cache_destroy' filepath='mm/slab_common.c' line='874' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kmem_cache_destroy'>
-        <parameter type-id='type-id-538' name='s' filepath='mm/slab_common.c' line='874' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='kmalloc_order_trace' mangled-name='kmalloc_order_trace' filepath='mm/slab_common.c' line='1213' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kmalloc_order_trace'>
-        <parameter type-id='type-id-84' name='size' filepath='mm/slab_common.c' line='1213' column='1'/>
-        <parameter type-id='type-id-485' name='flags' filepath='mm/slab_common.c' line='1213' column='1'/>
-        <parameter type-id='type-id-5' name='order' filepath='mm/slab_common.c' line='1213' column='1'/>
-        <return type-id='type-id-15'/>
-      </function-decl>
-      <function-decl name='kzfree' mangled-name='kzfree' filepath='mm/slab_common.c' line='1555' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kzfree'>
-        <parameter type-id='type-id-15' name='p' filepath='mm/slab_common.c' line='1555' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-3268'>
-        <parameter type-id='type-id-538'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='fs/debugfs/inode.c' language='LANG_C89'>
-      <function-decl name='debugfs_create_file' mangled-name='debugfs_create_file' filepath='fs/debugfs/inode.c' line='399' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='debugfs_create_file'>
-        <parameter type-id='type-id-4' name='name' filepath='fs/debugfs/inode.c' line='399' column='1'/>
-        <parameter type-id='type-id-329' name='mode' filepath='fs/debugfs/inode.c' line='399' column='1'/>
-        <parameter type-id='type-id-23' name='parent' filepath='fs/debugfs/inode.c' line='400' column='1'/>
-        <parameter type-id='type-id-15' name='data' filepath='fs/debugfs/inode.c' line='400' column='1'/>
-        <parameter type-id='type-id-268' name='fops' filepath='fs/debugfs/inode.c' line='401' column='1'/>
-        <return type-id='type-id-23'/>
-      </function-decl>
-      <function-decl name='debugfs_create_dir' mangled-name='debugfs_create_dir' filepath='fs/debugfs/inode.c' line='508' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='debugfs_create_dir'>
-        <parameter type-id='type-id-4' name='name' filepath='fs/debugfs/inode.c' line='508' column='1'/>
-        <parameter type-id='type-id-23' name='parent' filepath='fs/debugfs/inode.c' line='508' column='1'/>
-        <return type-id='type-id-23'/>
-      </function-decl>
-      <function-decl name='debugfs_remove' mangled-name='debugfs_remove' filepath='fs/debugfs/inode.c' line='679' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='debugfs_remove'>
-        <parameter type-id='type-id-23' name='dentry' filepath='fs/debugfs/inode.c' line='679' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='debugfs_remove_recursive' mangled-name='debugfs_remove_recursive' filepath='fs/debugfs/inode.c' line='709' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='debugfs_remove_recursive'>
-        <parameter type-id='type-id-23' name='dentry' filepath='fs/debugfs/inode.c' line='709' column='1'/>
-        <return type-id='type-id-81'/>
+      <function-decl name='unregister_sysctl_table' mangled-name='unregister_sysctl_table' filepath='include/linux/sysctl.h' line='198' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unregister_sysctl_table'>
+        <parameter type-id='type-id-5655'/>
+        <return type-id='type-id-73'/>
       </function-decl>
     </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/power/main.c' language='LANG_C89'>
-      <class-decl name='notifier_block' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/notifier.h' line='54' column='1' id='type-id-3269'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='notifier_call' type-id='type-id-3270' visibility='default' filepath='include/linux/notifier.h' line='55' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='next' type-id='type-id-3271' visibility='default' filepath='include/linux/notifier.h' line='56' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='priority' type-id='type-id-17' visibility='default' filepath='include/linux/notifier.h' line='57' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='notifier_fn_t' type-id='type-id-3272' filepath='include/linux/notifier.h' line='51' column='1' id='type-id-3270'/>
-      <pointer-type-def type-id='type-id-3273' size-in-bits='64' id='type-id-3272'/>
-      <pointer-type-def type-id='type-id-3269' size-in-bits='64' id='type-id-3271'/>
-      <function-decl name='register_pm_notifier' mangled-name='register_pm_notifier' filepath='kernel/power/main.c' line='58' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='register_pm_notifier'>
-        <parameter type-id='type-id-3271' name='nb' filepath='kernel/power/main.c' line='58' column='1'/>
-        <return type-id='type-id-17'/>
+    <abi-instr version='1.0' address-size='64' path='kernel/umh.c' language='LANG_C89'>
+      <function-decl name='prepare_to_wait' mangled-name='prepare_to_wait' filepath='include/linux/wait.h' line='1110' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='prepare_to_wait'>
+        <parameter type-id='type-id-7302'/>
+        <parameter type-id='type-id-7301'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
       </function-decl>
-      <function-decl name='unregister_pm_notifier' mangled-name='unregister_pm_notifier' filepath='kernel/power/main.c' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unregister_pm_notifier'>
-        <parameter type-id='type-id-3271' name='nb' filepath='kernel/power/main.c' line='64' column='1'/>
-        <return type-id='type-id-17'/>
+      <function-decl name='finish_wait' mangled-name='finish_wait' filepath='include/linux/wait.h' line='1113' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='finish_wait'>
+        <parameter type-id='type-id-7302'/>
+        <parameter type-id='type-id-7301'/>
+        <return type-id='type-id-73'/>
       </function-decl>
-      <function-type size-in-bits='64' id='type-id-3273'>
-        <parameter type-id='type-id-3271'/>
-        <parameter type-id='type-id-16'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/base/core.c' language='LANG_C89'>
-      <class-decl name='klist' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/klist.h' line='20' column='1' id='type-id-3274'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='k_lock' type-id='type-id-247' visibility='default' filepath='include/linux/klist.h' line='21' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='k_list' type-id='type-id-20' visibility='default' filepath='include/linux/klist.h' line='22' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='get' type-id='type-id-3275' visibility='default' filepath='include/linux/klist.h' line='23' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='put' type-id='type-id-3275' visibility='default' filepath='include/linux/klist.h' line='24' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='driver_private' size-in-bits='1216' is-struct='yes' visibility='default' filepath='drivers/base/base.h' line='47' column='1' id='type-id-3276'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='kobj' type-id='type-id-267' visibility='default' filepath='drivers/base/base.h' line='48' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='klist_devices' type-id='type-id-3274' visibility='default' filepath='drivers/base/base.h' line='49' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='knode_bus' type-id='type-id-2026' visibility='default' filepath='drivers/base/base.h' line='50' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='mkobj' type-id='type-id-3022' visibility='default' filepath='drivers/base/base.h' line='51' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='driver' type-id='type-id-2013' visibility='default' filepath='drivers/base/base.h' line='52' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='subsys_private' size-in-bits='3264' is-struct='yes' visibility='default' filepath='drivers/base/base.h' line='29' column='1' id='type-id-3277'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='subsys' type-id='type-id-1398' visibility='default' filepath='drivers/base/base.h' line='30' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='devices_kset' type-id='type-id-1395' visibility='default' filepath='drivers/base/base.h' line='31' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='interfaces' type-id='type-id-20' visibility='default' filepath='drivers/base/base.h' line='32' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='mutex' type-id='type-id-245' visibility='default' filepath='drivers/base/base.h' line='33' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='drivers_kset' type-id='type-id-1395' visibility='default' filepath='drivers/base/base.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='klist_devices' type-id='type-id-3274' visibility='default' filepath='drivers/base/base.h' line='36' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='klist_drivers' type-id='type-id-3274' visibility='default' filepath='drivers/base/base.h' line='37' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='bus_notifier' type-id='type-id-3278' visibility='default' filepath='drivers/base/base.h' line='38' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='31'>
-          <var-decl name='drivers_autoprobe' type-id='type-id-5' visibility='default' filepath='drivers/base/base.h' line='39' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='bus' type-id='type-id-2012' visibility='default' filepath='drivers/base/base.h' line='40' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2432'>
-          <var-decl name='glue_dirs' type-id='type-id-1398' visibility='default' filepath='drivers/base/base.h' line='42' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3200'>
-          <var-decl name='class' type-id='type-id-2027' visibility='default' filepath='drivers/base/base.h' line='43' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='pm_qos_constraints' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/pm_qos.h' line='85' column='1' id='type-id-3279'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='list' type-id='type-id-3280' visibility='default' filepath='include/linux/pm_qos.h' line='86' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='target_value' type-id='type-id-738' visibility='default' filepath='include/linux/pm_qos.h' line='87' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='default_value' type-id='type-id-738' visibility='default' filepath='include/linux/pm_qos.h' line='88' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='no_constraint_value' type-id='type-id-738' visibility='default' filepath='include/linux/pm_qos.h' line='89' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='type' type-id='type-id-3281' visibility='default' filepath='include/linux/pm_qos.h' line='90' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='notifiers' type-id='type-id-3282' visibility='default' filepath='include/linux/pm_qos.h' line='91' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='pm_qos_type' filepath='include/linux/pm_qos.h' line='73' column='1' id='type-id-3281'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='PM_QOS_UNITIALIZED' value='0'/>
-        <enumerator name='PM_QOS_MAX' value='1'/>
-        <enumerator name='PM_QOS_MIN' value='2'/>
-        <enumerator name='PM_QOS_SUM' value='3'/>
-      </enum-decl>
-      <class-decl name='pm_qos_flags' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/pm_qos.h' line='94' column='1' id='type-id-3283'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/pm_qos.h' line='95' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='effective_flags' type-id='type-id-738' visibility='default' filepath='include/linux/pm_qos.h' line='96' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='dev_pm_qos_request' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/pm_qos.h' line='64' column='1' id='type-id-3284'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='type' type-id='type-id-3285' visibility='default' filepath='include/linux/pm_qos.h' line='65' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='data' type-id='type-id-3286' visibility='default' filepath='include/linux/pm_qos.h' line='69' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='dev' type-id='type-id-240' visibility='default' filepath='include/linux/pm_qos.h' line='70' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='dev_pm_qos_req_type' filepath='include/linux/pm_qos.h' line='58' column='1' id='type-id-3285'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='DEV_PM_QOS_RESUME_LATENCY' value='1'/>
-        <enumerator name='DEV_PM_QOS_LATENCY_TOLERANCE' value='2'/>
-        <enumerator name='DEV_PM_QOS_FLAGS' value='3'/>
-      </enum-decl>
-      <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='include/linux/pm_qos.h' line='66' column='1' id='type-id-3286'>
-        <data-member access='private'>
-          <var-decl name='pnode' type-id='type-id-1506' visibility='default' filepath='include/linux/pm_qos.h' line='67' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='flr' type-id='type-id-3287' visibility='default' filepath='include/linux/pm_qos.h' line='68' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='pm_qos_flags_request' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/pm_qos.h' line='53' column='1' id='type-id-3287'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='node' type-id='type-id-20' visibility='default' filepath='include/linux/pm_qos.h' line='54' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='flags' type-id='type-id-738' visibility='default' filepath='include/linux/pm_qos.h' line='55' column='1'/>
-        </data-member>
-      </class-decl>
-      <pointer-type-def type-id='type-id-3278' size-in-bits='64' id='type-id-3282'/>
-      <qualified-type-def type-id='type-id-3288' const='yes' id='type-id-3289'/>
-      <pointer-type-def type-id='type-id-3289' size-in-bits='64' id='type-id-3290'/>
-      <pointer-type-def type-id='type-id-3284' size-in-bits='64' id='type-id-3291'/>
-      <pointer-type-def type-id='type-id-3276' size-in-bits='64' id='type-id-3292'/>
-      <pointer-type-def type-id='type-id-3293' size-in-bits='64' id='type-id-3294'/>
-      <pointer-type-def type-id='type-id-2026' size-in-bits='64' id='type-id-3295'/>
-      <pointer-type-def type-id='type-id-3277' size-in-bits='64' id='type-id-3296'/>
-      <pointer-type-def type-id='type-id-3297' size-in-bits='64' id='type-id-3275'/>
-      <function-decl name='device_initialize' mangled-name='device_initialize' filepath='drivers/base/core.c' line='1735' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_initialize'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/base/core.c' line='1735' column='1'/>
-        <return type-id='type-id-81'/>
+      <function-decl name='schedule_timeout' mangled-name='schedule_timeout' filepath='include/linux/sched.h' line='213' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='schedule_timeout'>
+        <parameter type-id='type-id-187'/>
+        <return type-id='type-id-187'/>
       </function-decl>
-      <function-decl name='get_device' mangled-name='get_device' filepath='drivers/base/core.c' line='2342' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_device'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/base/core.c' line='2342' column='1'/>
-        <return type-id='type-id-240'/>
+      <function-decl name='init_wait_entry' mangled-name='init_wait_entry' filepath='include/linux/wait.h' line='232' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='init_wait_entry'>
+        <parameter type-id='type-id-7301'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
       </function-decl>
-      <function-decl name='dev_driver_string' mangled-name='dev_driver_string' filepath='drivers/base/core.c' line='987' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_driver_string'>
-        <parameter type-id='type-id-2651' name='dev' filepath='drivers/base/core.c' line='987' column='1'/>
-        <return type-id='type-id-4'/>
-      </function-decl>
-      <function-decl name='_dev_info' mangled-name='_dev_info' filepath='drivers/base/core.c' line='3425' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_dev_info'>
-        <parameter type-id='type-id-2651' name='dev' filepath='drivers/base/core.c' line='3425' column='1'/>
-        <parameter type-id='type-id-4' name='fmt' filepath='drivers/base/core.c' line='3425' column='1'/>
-        <parameter is-variadic='yes'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='put_device' mangled-name='put_device' filepath='drivers/base/core.c' line='2352' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='put_device'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/base/core.c' line='2352' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='device_create_file' mangled-name='device_create_file' filepath='drivers/base/core.c' line='1622' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_create_file'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/base/core.c' line='1622' column='1'/>
-        <parameter type-id='type-id-3290' name='attr' filepath='drivers/base/core.c' line='1623' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='device_remove_file' mangled-name='device_remove_file' filepath='drivers/base/core.c' line='1646' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_remove_file'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/base/core.c' line='1646' column='1'/>
-        <parameter type-id='type-id-3290' name='attr' filepath='drivers/base/core.c' line='1647' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='dev_set_name' mangled-name='dev_set_name' filepath='drivers/base/core.c' line='2037' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_set_name'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/base/core.c' line='2037' column='1'/>
-        <parameter type-id='type-id-4' name='fmt' filepath='drivers/base/core.c' line='2037' column='1'/>
-        <parameter is-variadic='yes'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='device_add' mangled-name='device_add' filepath='drivers/base/core.c' line='2131' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_add'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/base/core.c' line='2131' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='device_register' mangled-name='device_register' filepath='drivers/base/core.c' line='2327' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_register'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/base/core.c' line='2327' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='device_del' mangled-name='device_del' filepath='drivers/base/core.c' line='2391' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_del'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/base/core.c' line='2391' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='device_unregister' mangled-name='device_unregister' filepath='drivers/base/core.c' line='2467' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_unregister'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/base/core.c' line='2467' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='device_for_each_child' mangled-name='device_for_each_child' filepath='drivers/base/core.c' line='2558' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_for_each_child'>
-        <parameter type-id='type-id-240' name='parent' filepath='drivers/base/core.c' line='2558' column='1'/>
-        <parameter type-id='type-id-15' name='data' filepath='drivers/base/core.c' line='2558' column='1'/>
-        <parameter type-id='type-id-3294' name='fn' filepath='drivers/base/core.c' line='2559' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='device_create' mangled-name='device_create' filepath='drivers/base/core.c' line='2949' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_create'>
-        <parameter type-id='type-id-2027' name='class' filepath='drivers/base/core.c' line='2949' column='1'/>
-        <parameter type-id='type-id-240' name='parent' filepath='drivers/base/core.c' line='2949' column='1'/>
-        <parameter type-id='type-id-269' name='devt' filepath='drivers/base/core.c' line='2950' column='1'/>
-        <parameter type-id='type-id-15' name='drvdata' filepath='drivers/base/core.c' line='2950' column='1'/>
-        <parameter type-id='type-id-4' name='fmt' filepath='drivers/base/core.c' line='2950' column='1'/>
-        <parameter is-variadic='yes'/>
-        <return type-id='type-id-240'/>
-      </function-decl>
-      <function-decl name='device_destroy' mangled-name='device_destroy' filepath='drivers/base/core.c' line='3021' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_destroy'>
-        <parameter type-id='type-id-2027' name='class' filepath='drivers/base/core.c' line='3021' column='1'/>
-        <parameter type-id='type-id-269' name='devt' filepath='drivers/base/core.c' line='3021' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='dev_printk' mangled-name='dev_printk' filepath='drivers/base/core.c' line='3385' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_printk'>
-        <parameter type-id='type-id-4' name='level' filepath='drivers/base/core.c' line='3385' column='1'/>
-        <parameter type-id='type-id-2651' name='dev' filepath='drivers/base/core.c' line='3385' column='1'/>
-        <parameter type-id='type-id-4' name='fmt' filepath='drivers/base/core.c' line='3386' column='1'/>
-        <parameter is-variadic='yes'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='_dev_err' mangled-name='_dev_err' filepath='drivers/base/core.c' line='3422' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_dev_err'>
-        <parameter type-id='type-id-2651' name='dev' filepath='drivers/base/core.c' line='3422' column='1'/>
-        <parameter type-id='type-id-4' name='fmt' filepath='drivers/base/core.c' line='3422' column='1'/>
-        <parameter is-variadic='yes'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='_dev_warn' mangled-name='_dev_warn' filepath='drivers/base/core.c' line='3423' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_dev_warn'>
-        <parameter type-id='type-id-2651' name='dev' filepath='drivers/base/core.c' line='3423' column='1'/>
-        <parameter type-id='type-id-4' name='fmt' filepath='drivers/base/core.c' line='3423' column='1'/>
-        <parameter is-variadic='yes'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='_dev_notice' mangled-name='_dev_notice' filepath='drivers/base/core.c' line='3424' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_dev_notice'>
-        <parameter type-id='type-id-2651' name='dev' filepath='drivers/base/core.c' line='3424' column='1'/>
-        <parameter type-id='type-id-4' name='fmt' filepath='drivers/base/core.c' line='3424' column='1'/>
-        <parameter is-variadic='yes'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-3293'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3297'>
-        <parameter type-id='type-id-3295'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/softirq.c' language='LANG_C89'>
-      <class-decl name='tasklet_struct' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/interrupt.h' line='542' column='1' id='type-id-3298'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='next' type-id='type-id-3299' visibility='default' filepath='include/linux/interrupt.h' line='544' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='state' type-id='type-id-16' visibility='default' filepath='include/linux/interrupt.h' line='545' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='count' type-id='type-id-26' visibility='default' filepath='include/linux/interrupt.h' line='546' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='func' type-id='type-id-3300' visibility='default' filepath='include/linux/interrupt.h' line='547' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='data' type-id='type-id-16' visibility='default' filepath='include/linux/interrupt.h' line='548' column='1'/>
-        </data-member>
-      </class-decl>
-      <pointer-type-def type-id='type-id-3298' size-in-bits='64' id='type-id-3299'/>
-      <pointer-type-def type-id='type-id-3301' size-in-bits='64' id='type-id-3300'/>
-      <function-decl name='__local_bh_enable_ip' mangled-name='__local_bh_enable_ip' filepath='kernel/softirq.c' line='166' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__local_bh_enable_ip'>
-        <parameter type-id='type-id-16' name='ip' filepath='kernel/softirq.c' line='166' column='1'/>
-        <parameter type-id='type-id-5' name='cnt' filepath='kernel/softirq.c' line='166' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='__tasklet_schedule' mangled-name='__tasklet_schedule' filepath='kernel/softirq.c' line='486' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__tasklet_schedule'>
-        <parameter type-id='type-id-3299' name='t' filepath='kernel/softirq.c' line='486' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='__tasklet_hi_schedule' mangled-name='__tasklet_hi_schedule' filepath='kernel/softirq.c' line='493' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__tasklet_hi_schedule'>
-        <parameter type-id='type-id-3299' name='t' filepath='kernel/softirq.c' line='493' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='tasklet_init' mangled-name='tasklet_init' filepath='kernel/softirq.c' line='548' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tasklet_init'>
-        <parameter type-id='type-id-3299' name='t' filepath='kernel/softirq.c' line='548' column='1'/>
-        <parameter type-id='type-id-3300' name='func' filepath='kernel/softirq.c' line='549' column='1'/>
-        <parameter type-id='type-id-16' name='data' filepath='kernel/softirq.c' line='549' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='tasklet_kill' mangled-name='tasklet_kill' filepath='kernel/softirq.c' line='559' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='tasklet_kill'>
-        <parameter type-id='type-id-3299' name='t' filepath='kernel/softirq.c' line='559' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-3301'>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/resource.c' language='LANG_C89'>
-      <class-decl name='module' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3302'/>
-      <pointer-type-def type-id='type-id-3302' size-in-bits='64' id='type-id-3303'/>
-      <function-decl name='__devm_request_region' mangled-name='__devm_request_region' filepath='kernel/resource.c' line='1401' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__devm_request_region'>
-        <parameter type-id='type-id-240' name='dev' filepath='kernel/resource.c' line='1401' column='1'/>
-        <parameter type-id='type-id-2156' name='parent' filepath='kernel/resource.c' line='1402' column='1'/>
-        <parameter type-id='type-id-2155' name='start' filepath='kernel/resource.c' line='1402' column='1'/>
-        <parameter type-id='type-id-2155' name='n' filepath='kernel/resource.c' line='1403' column='1'/>
-        <parameter type-id='type-id-4' name='name' filepath='kernel/resource.c' line='1403' column='1'/>
-        <return type-id='type-id-2156'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/sched/wait.c' language='LANG_C89'>
-      <pointer-type-def type-id='type-id-1456' size-in-bits='64' id='type-id-3304'/>
-      <function-decl name='__init_waitqueue_head' mangled-name='__init_waitqueue_head' filepath='kernel/sched/wait.c' line='8' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__init_waitqueue_head'>
-        <parameter type-id='type-id-3304' name='wq_head' filepath='kernel/sched/wait.c' line='8' column='1'/>
-        <parameter type-id='type-id-4' name='name' filepath='kernel/sched/wait.c' line='8' column='1'/>
-        <parameter type-id='type-id-1698' name='key' filepath='kernel/sched/wait.c' line='8' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='add_wait_queue' mangled-name='add_wait_queue' filepath='kernel/sched/wait.c' line='17' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='add_wait_queue'>
-        <parameter type-id='type-id-3304' name='wq_head' filepath='kernel/sched/wait.c' line='17' column='1'/>
-        <parameter type-id='type-id-3305' name='wq_entry' filepath='kernel/sched/wait.c' line='17' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='remove_wait_queue' mangled-name='remove_wait_queue' filepath='kernel/sched/wait.c' line='39' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='remove_wait_queue'>
-        <parameter type-id='type-id-3304' name='wq_head' filepath='kernel/sched/wait.c' line='39' column='1'/>
-        <parameter type-id='type-id-3305' name='wq_entry' filepath='kernel/sched/wait.c' line='39' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='__wake_up' mangled-name='__wake_up' filepath='kernel/sched/wait.c' line='142' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__wake_up'>
-        <parameter type-id='type-id-3304' name='wq_head' filepath='kernel/sched/wait.c' line='142' column='1'/>
-        <parameter type-id='type-id-5' name='mode' filepath='kernel/sched/wait.c' line='142' column='1'/>
-        <parameter type-id='type-id-17' name='nr_exclusive' filepath='kernel/sched/wait.c' line='143' column='1'/>
-        <parameter type-id='type-id-15' name='key' filepath='kernel/sched/wait.c' line='143' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='prepare_to_wait' mangled-name='prepare_to_wait' filepath='kernel/sched/wait.c' line='225' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='prepare_to_wait'>
-        <parameter type-id='type-id-3304' name='wq_head' filepath='kernel/sched/wait.c' line='225' column='1'/>
-        <parameter type-id='type-id-3305' name='wq_entry' filepath='kernel/sched/wait.c' line='225' column='1'/>
-        <parameter type-id='type-id-17' name='state' filepath='kernel/sched/wait.c' line='225' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='init_wait_entry' mangled-name='init_wait_entry' filepath='kernel/sched/wait.c' line='252' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='init_wait_entry'>
-        <parameter type-id='type-id-3305' name='wq_entry' filepath='kernel/sched/wait.c' line='252' column='1'/>
-        <parameter type-id='type-id-17' name='flags' filepath='kernel/sched/wait.c' line='252' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='autoremove_wake_function' mangled-name='autoremove_wake_function' filepath='kernel/sched/wait.c' line='373' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='autoremove_wake_function'>
-        <parameter type-id='type-id-3305' name='wq_entry' filepath='kernel/sched/wait.c' line='373' column='1'/>
-        <parameter type-id='type-id-5' name='mode' filepath='kernel/sched/wait.c' line='373' column='1'/>
-        <parameter type-id='type-id-17' name='sync' filepath='kernel/sched/wait.c' line='373' column='1'/>
-        <parameter type-id='type-id-15' name='key' filepath='kernel/sched/wait.c' line='373' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='prepare_to_wait_event' mangled-name='prepare_to_wait_event' filepath='kernel/sched/wait.c' line='261' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='prepare_to_wait_event'>
-        <parameter type-id='type-id-3304' name='wq_head' filepath='kernel/sched/wait.c' line='261' column='1'/>
-        <parameter type-id='type-id-3305' name='wq_entry' filepath='kernel/sched/wait.c' line='261' column='1'/>
-        <parameter type-id='type-id-17' name='state' filepath='kernel/sched/wait.c' line='261' column='1'/>
-        <return type-id='type-id-192'/>
-      </function-decl>
-      <function-decl name='finish_wait' mangled-name='finish_wait' filepath='kernel/sched/wait.c' line='347' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='finish_wait'>
-        <parameter type-id='type-id-3304' name='wq_head' filepath='kernel/sched/wait.c' line='347' column='1'/>
-        <parameter type-id='type-id-3305' name='wq_entry' filepath='kernel/sched/wait.c' line='347' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='wait_woken' mangled-name='wait_woken' filepath='kernel/sched/wait.c' line='409' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wait_woken'>
-        <parameter type-id='type-id-3305' name='wq_entry' filepath='kernel/sched/wait.c' line='409' column='1'/>
-        <parameter type-id='type-id-5' name='mode' filepath='kernel/sched/wait.c' line='409' column='1'/>
-        <parameter type-id='type-id-192' name='timeout' filepath='kernel/sched/wait.c' line='409' column='1'/>
-        <return type-id='type-id-192'/>
-      </function-decl>
-      <function-decl name='woken_wake_function' mangled-name='woken_wake_function' filepath='kernel/sched/wait.c' line='434' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='woken_wake_function'>
-        <parameter type-id='type-id-3305' name='wq_entry' filepath='kernel/sched/wait.c' line='434' column='1'/>
-        <parameter type-id='type-id-5' name='mode' filepath='kernel/sched/wait.c' line='434' column='1'/>
-        <parameter type-id='type-id-17' name='sync' filepath='kernel/sched/wait.c' line='434' column='1'/>
-        <parameter type-id='type-id-15' name='key' filepath='kernel/sched/wait.c' line='434' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/printk/printk.c' language='LANG_C89'>
-      <function-decl name='printk' mangled-name='printk' filepath='kernel/printk/printk.c' line='2006' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='printk'>
-        <parameter type-id='type-id-4' name='fmt' filepath='kernel/printk/printk.c' line='2006' column='1'/>
-        <parameter is-variadic='yes'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/capability.c' language='LANG_C89'>
-      <function-decl name='capable' mangled-name='capable' filepath='kernel/capability.c' line='429' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='capable'>
-        <parameter type-id='type-id-17' name='cap' filepath='kernel/capability.c' line='429' column='1'/>
-        <return type-id='type-id-33'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/sched/core.c' language='LANG_C89'>
-
-
-
-      <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='520' id='type-id-3306'>
-        <subrange length='65' type-id='type-id-9' id='type-id-3307'/>
-
-      </array-type-def>
-      <class-decl name='cpu_stop_done' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3308'/>
-      <class-decl name='cpuidle_device_kobj' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3309'/>
-      <class-decl name='cpuidle_driver_kobj' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3310'/>
-      <class-decl name='cpuidle_state_kobj' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3311'/>
-      <class-decl name='net_device' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3312'/>
-      <array-type-def dimensions='1' type-id='type-id-3313' size-in-bits='7680' id='type-id-3314'>
-        <subrange length='10' type-id='type-id-9' id='type-id-1191'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-3315' size-in-bits='640' id='type-id-3316'>
-        <subrange length='10' type-id='type-id-9' id='type-id-1191'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-3317' size-in-bits='3200' id='type-id-3318'>
-        <subrange length='10' type-id='type-id-9' id='type-id-1191'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-3319' size-in-bits='13056' id='type-id-3320'>
-        <subrange length='102' type-id='type-id-9' id='type-id-3321'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='12800' id='type-id-3322'>
-        <subrange length='100' type-id='type-id-9' id='type-id-3323'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='320' id='type-id-3324'>
-        <subrange length='5' type-id='type-id-9' id='type-id-110'/>
-
-      </array-type-def>
-      <class-decl name='rq' size-in-bits='24064' is-struct='yes' visibility='default' filepath='kernel/sched/sched.h' line='809' column='1' id='type-id-3325'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lock' type-id='type-id-36' visibility='default' filepath='kernel/sched/sched.h' line='811' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='nr_running' type-id='type-id-5' visibility='default' filepath='kernel/sched/sched.h' line='817' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='cpu_load' type-id='type-id-3324' visibility='default' filepath='kernel/sched/sched.h' line='824' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='last_load_update_tick' type-id='type-id-16' visibility='default' filepath='kernel/sched/sched.h' line='827' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='last_blocked_load_update_tick' type-id='type-id-16' visibility='default' filepath='kernel/sched/sched.h' line='828' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='has_blocked_load' type-id='type-id-5' visibility='default' filepath='kernel/sched/sched.h' line='829' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='nohz_tick_stopped' type-id='type-id-5' visibility='default' filepath='kernel/sched/sched.h' line='831' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='nohz_flags' type-id='type-id-26' visibility='default' filepath='kernel/sched/sched.h' line='832' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='load' type-id='type-id-1543' visibility='default' filepath='kernel/sched/sched.h' line='836' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='nr_load_updates' type-id='type-id-16' visibility='default' filepath='kernel/sched/sched.h' line='837' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='nr_switches' type-id='type-id-40' visibility='default' filepath='kernel/sched/sched.h' line='838' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='cfs' type-id='type-id-993' visibility='default' filepath='kernel/sched/sched.h' line='840' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4096'>
-          <var-decl name='rt' type-id='type-id-1082' visibility='default' filepath='kernel/sched/sched.h' line='841' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='17920'>
-          <var-decl name='dl' type-id='type-id-3326' visibility='default' filepath='kernel/sched/sched.h' line='842' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='18752'>
-          <var-decl name='leaf_cfs_rq_list' type-id='type-id-20' visibility='default' filepath='kernel/sched/sched.h' line='846' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='18880'>
-          <var-decl name='tmp_alone_branch' type-id='type-id-877' visibility='default' filepath='kernel/sched/sched.h' line='847' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='18944'>
-          <var-decl name='nr_uninterruptible' type-id='type-id-16' visibility='default' filepath='kernel/sched/sched.h' line='856' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='19008'>
-          <var-decl name='curr' type-id='type-id-431' visibility='default' filepath='kernel/sched/sched.h' line='858' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='19072'>
-          <var-decl name='idle' type-id='type-id-431' visibility='default' filepath='kernel/sched/sched.h' line='859' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='19136'>
-          <var-decl name='stop' type-id='type-id-431' visibility='default' filepath='kernel/sched/sched.h' line='860' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='19200'>
-          <var-decl name='next_balance' type-id='type-id-16' visibility='default' filepath='kernel/sched/sched.h' line='861' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='19264'>
-          <var-decl name='prev_mm' type-id='type-id-882' visibility='default' filepath='kernel/sched/sched.h' line='862' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='19328'>
-          <var-decl name='clock_update_flags' type-id='type-id-5' visibility='default' filepath='kernel/sched/sched.h' line='864' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='19392'>
-          <var-decl name='clock' type-id='type-id-40' visibility='default' filepath='kernel/sched/sched.h' line='865' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='19456'>
-          <var-decl name='clock_task' type-id='type-id-40' visibility='default' filepath='kernel/sched/sched.h' line='867' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='19520'>
-          <var-decl name='clock_pelt' type-id='type-id-40' visibility='default' filepath='kernel/sched/sched.h' line='868' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='19584'>
-          <var-decl name='lost_idle_time' type-id='type-id-16' visibility='default' filepath='kernel/sched/sched.h' line='869' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='19648'>
-          <var-decl name='nr_iowait' type-id='type-id-26' visibility='default' filepath='kernel/sched/sched.h' line='871' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='19712'>
-          <var-decl name='rd' type-id='type-id-3327' visibility='default' filepath='kernel/sched/sched.h' line='874' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='19776'>
-          <var-decl name='sd' type-id='type-id-3328' visibility='default' filepath='kernel/sched/sched.h' line='875' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='19840'>
-          <var-decl name='cpu_capacity' type-id='type-id-16' visibility='default' filepath='kernel/sched/sched.h' line='877' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='19904'>
-          <var-decl name='cpu_capacity_orig' type-id='type-id-16' visibility='default' filepath='kernel/sched/sched.h' line='878' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='19968'>
-          <var-decl name='balance_callback' type-id='type-id-91' visibility='default' filepath='kernel/sched/sched.h' line='880' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='20032'>
-          <var-decl name='idle_balance' type-id='type-id-216' visibility='default' filepath='kernel/sched/sched.h' line='882' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='20096'>
-          <var-decl name='misfit_task_load' type-id='type-id-16' visibility='default' filepath='kernel/sched/sched.h' line='884' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='20160'>
-          <var-decl name='active_balance' type-id='type-id-17' visibility='default' filepath='kernel/sched/sched.h' line='887' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='20192'>
-          <var-decl name='push_cpu' type-id='type-id-17' visibility='default' filepath='kernel/sched/sched.h' line='888' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='20224'>
-          <var-decl name='active_balance_work' type-id='type-id-3329' visibility='default' filepath='kernel/sched/sched.h' line='889' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='20544'>
-          <var-decl name='cpu' type-id='type-id-17' visibility='default' filepath='kernel/sched/sched.h' line='892' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='20576'>
-          <var-decl name='online' type-id='type-id-17' visibility='default' filepath='kernel/sched/sched.h' line='893' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='20608'>
-          <var-decl name='cfs_tasks' type-id='type-id-20' visibility='default' filepath='kernel/sched/sched.h' line='895' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='20992'>
-          <var-decl name='avg_rt' type-id='type-id-1547' visibility='default' filepath='kernel/sched/sched.h' line='897' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='21504'>
-          <var-decl name='avg_dl' type-id='type-id-1547' visibility='default' filepath='kernel/sched/sched.h' line='898' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='22016'>
-          <var-decl name='idle_stamp' type-id='type-id-40' visibility='default' filepath='kernel/sched/sched.h' line='902' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='22080'>
-          <var-decl name='avg_idle' type-id='type-id-40' visibility='default' filepath='kernel/sched/sched.h' line='903' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='22144'>
-          <var-decl name='max_idle_balance_cost' type-id='type-id-40' visibility='default' filepath='kernel/sched/sched.h' line='906' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='22208'>
-          <var-decl name='prev_steal_time' type-id='type-id-40' visibility='default' filepath='kernel/sched/sched.h' line='913' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='22272'>
-          <var-decl name='calc_load_update' type-id='type-id-16' visibility='default' filepath='kernel/sched/sched.h' line='920' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='22336'>
-          <var-decl name='calc_load_active' type-id='type-id-192' visibility='default' filepath='kernel/sched/sched.h' line='921' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='22400'>
-          <var-decl name='hrtick_csd_pending' type-id='type-id-17' visibility='default' filepath='kernel/sched/sched.h' line='925' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='22528'>
-          <var-decl name='hrtick_csd' type-id='type-id-3330' visibility='default' filepath='kernel/sched/sched.h' line='926' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='22784'>
-          <var-decl name='hrtick_timer' type-id='type-id-681' visibility='default' filepath='kernel/sched/sched.h' line='928' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='23296'>
-          <var-decl name='rq_sched_info' type-id='type-id-1505' visibility='default' filepath='kernel/sched/sched.h' line='933' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='23552'>
-          <var-decl name='rq_cpu_time' type-id='type-id-98' visibility='default' filepath='kernel/sched/sched.h' line='934' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='23616'>
-          <var-decl name='yld_count' type-id='type-id-5' visibility='default' filepath='kernel/sched/sched.h' line='938' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='23648'>
-          <var-decl name='sched_count' type-id='type-id-5' visibility='default' filepath='kernel/sched/sched.h' line='941' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='23680'>
-          <var-decl name='sched_goidle' type-id='type-id-5' visibility='default' filepath='kernel/sched/sched.h' line='942' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='23712'>
-          <var-decl name='ttwu_count' type-id='type-id-5' visibility='default' filepath='kernel/sched/sched.h' line='945' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='23744'>
-          <var-decl name='ttwu_local' type-id='type-id-5' visibility='default' filepath='kernel/sched/sched.h' line='946' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='23808'>
-          <var-decl name='wake_list' type-id='type-id-278' visibility='default' filepath='kernel/sched/sched.h' line='950' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='23872'>
-          <var-decl name='idle_state' type-id='type-id-3331' visibility='default' filepath='kernel/sched/sched.h' line='955' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='23936'>
-          <var-decl name='idle_state_idx' type-id='type-id-17' visibility='default' filepath='kernel/sched/sched.h' line='956' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__' size-in-bits='512' is-struct='yes' is-anonymous='yes' visibility='default' filepath='kernel/sched/sched.h' line='519' column='1' id='type-id-3332'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lock' type-id='type-id-36' visibility='default' filepath='kernel/sched/sched.h' line='520' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='nr' type-id='type-id-17' visibility='default' filepath='kernel/sched/sched.h' line='521' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='load_avg' type-id='type-id-16' visibility='default' filepath='kernel/sched/sched.h' line='522' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='util_avg' type-id='type-id-16' visibility='default' filepath='kernel/sched/sched.h' line='523' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='runnable_sum' type-id='type-id-16' visibility='default' filepath='kernel/sched/sched.h' line='524' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='rt_prio_array' size-in-bits='12928' is-struct='yes' visibility='default' filepath='kernel/sched/sched.h' line='232' column='1' id='type-id-3333'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bitmap' type-id='type-id-219' visibility='default' filepath='kernel/sched/sched.h' line='233' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='queue' type-id='type-id-3322' visibility='default' filepath='kernel/sched/sched.h' line='234' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__1' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='kernel/sched/sched.h' line='589' column='1' id='type-id-3334'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='curr' type-id='type-id-17' visibility='default' filepath='kernel/sched/sched.h' line='590' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='next' type-id='type-id-17' visibility='default' filepath='kernel/sched/sched.h' line='592' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='plist_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/plist.h' line='81' column='1' id='type-id-3280'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='node_list' type-id='type-id-20' visibility='default' filepath='include/linux/plist.h' line='82' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='rt_bandwidth' size-in-bits='768' is-struct='yes' visibility='default' filepath='kernel/sched/sched.h' line='237' column='1' id='type-id-3335'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='rt_runtime_lock' type-id='type-id-36' visibility='default' filepath='kernel/sched/sched.h' line='239' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='rt_period' type-id='type-id-682' visibility='default' filepath='kernel/sched/sched.h' line='240' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='rt_runtime' type-id='type-id-40' visibility='default' filepath='kernel/sched/sched.h' line='241' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='rt_period_timer' type-id='type-id-681' visibility='default' filepath='kernel/sched/sched.h' line='242' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='rt_period_active' type-id='type-id-5' visibility='default' filepath='kernel/sched/sched.h' line='243' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='cfs_bandwidth' is-struct='yes' visibility='default' filepath='kernel/sched/sched.h' line='335' column='1' id='type-id-3336'/>
-      <class-decl name='dl_rq' size-in-bits='832' is-struct='yes' visibility='default' filepath='kernel/sched/sched.h' line='625' column='1' id='type-id-3326'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='root' type-id='type-id-1523' visibility='default' filepath='kernel/sched/sched.h' line='627' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='dl_nr_running' type-id='type-id-16' visibility='default' filepath='kernel/sched/sched.h' line='629' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='earliest_dl' type-id='type-id-3337' visibility='default' filepath='kernel/sched/sched.h' line='641' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='dl_nr_migratory' type-id='type-id-16' visibility='default' filepath='kernel/sched/sched.h' line='643' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='overloaded' type-id='type-id-17' visibility='default' filepath='kernel/sched/sched.h' line='644' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='pushable_dl_tasks_root' type-id='type-id-1523' visibility='default' filepath='kernel/sched/sched.h' line='651' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='running_bw' type-id='type-id-40' visibility='default' filepath='kernel/sched/sched.h' line='660' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='this_bw' type-id='type-id-40' visibility='default' filepath='kernel/sched/sched.h' line='671' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='extra_bw' type-id='type-id-40' visibility='default' filepath='kernel/sched/sched.h' line='672' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='bw_ratio' type-id='type-id-40' visibility='default' filepath='kernel/sched/sched.h' line='678' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__2' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='kernel/sched/sched.h' line='638' column='1' id='type-id-3337'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='curr' type-id='type-id-40' visibility='default' filepath='kernel/sched/sched.h' line='639' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='next' type-id='type-id-40' visibility='default' filepath='kernel/sched/sched.h' line='640' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__3' size-in-bits='6848' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='353' column='1' id='type-id-3338'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mmap' type-id='type-id-1209' visibility='default' filepath='include/linux/mm_types.h' line='354' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='mm_rb' type-id='type-id-416' visibility='default' filepath='include/linux/mm_types.h' line='355' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='vmacache_seqnum' type-id='type-id-40' visibility='default' filepath='include/linux/mm_types.h' line='356' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='get_unmapped_area' type-id='type-id-1484' visibility='default' filepath='include/linux/mm_types.h' line='358' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='mmap_base' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='362' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='mmap_legacy_base' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='363' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='task_size' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='369' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='highest_vm_end' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='370' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='pgd' type-id='type-id-1485' visibility='default' filepath='include/linux/mm_types.h' line='371' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='mm_users' type-id='type-id-26' visibility='default' filepath='include/linux/mm_types.h' line='382' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='mm_count' type-id='type-id-26' visibility='default' filepath='include/linux/mm_types.h' line='391' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='pgtables_bytes' type-id='type-id-115' visibility='default' filepath='include/linux/mm_types.h' line='394' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='map_count' type-id='type-id-17' visibility='default' filepath='include/linux/mm_types.h' line='396' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='736'>
-          <var-decl name='page_table_lock' type-id='type-id-247' visibility='default' filepath='include/linux/mm_types.h' line='398' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='mmap_sem' type-id='type-id-246' visibility='default' filepath='include/linux/mm_types.h' line='401' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='mmlist' type-id='type-id-20' visibility='default' filepath='include/linux/mm_types.h' line='403' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='hiwater_rss' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='410' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='hiwater_vm' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='411' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='total_vm' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='413' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='locked_vm' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='414' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='pinned_vm' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='415' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='data_vm' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='416' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='exec_vm' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='417' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='stack_vm' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='418' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='def_flags' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='419' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='arg_lock' type-id='type-id-247' visibility='default' filepath='include/linux/mm_types.h' line='421' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='start_code' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='end_code' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='start_data' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='end_data' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='start_brk' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='brk' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='start_stack' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2304'>
-          <var-decl name='arg_start' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='arg_end' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2432'>
-          <var-decl name='env_start' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2496'>
-          <var-decl name='env_end' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2560'>
-          <var-decl name='saved_auxv' type-id='type-id-1202' visibility='default' filepath='include/linux/mm_types.h' line='426' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5504'>
-          <var-decl name='rss_stat' type-id='type-id-1486' visibility='default' filepath='include/linux/mm_types.h' line='432' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5760'>
-          <var-decl name='binfmt' type-id='type-id-1487' visibility='default' filepath='include/linux/mm_types.h' line='434' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5824'>
-          <var-decl name='context' type-id='type-id-1488' visibility='default' filepath='include/linux/mm_types.h' line='437' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6016'>
-          <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='439' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6080'>
-          <var-decl name='core_state' type-id='type-id-1489' visibility='default' filepath='include/linux/mm_types.h' line='441' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6144'>
-          <var-decl name='membarrier_state' type-id='type-id-26' visibility='default' filepath='include/linux/mm_types.h' line='443' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6176'>
-          <var-decl name='ioctx_lock' type-id='type-id-247' visibility='default' filepath='include/linux/mm_types.h' line='446' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6208'>
-          <var-decl name='ioctx_table' type-id='type-id-1490' visibility='default' filepath='include/linux/mm_types.h' line='447' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6272'>
-          <var-decl name='owner' type-id='type-id-431' visibility='default' filepath='include/linux/mm_types.h' line='460' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6336'>
-          <var-decl name='user_ns' type-id='type-id-917' visibility='default' filepath='include/linux/mm_types.h' line='462' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6400'>
-          <var-decl name='exe_file' type-id='type-id-83' visibility='default' filepath='include/linux/mm_types.h' line='465' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6464'>
-          <var-decl name='tlb_flush_pending' type-id='type-id-26' visibility='default' filepath='include/linux/mm_types.h' line='491' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6528'>
-          <var-decl name='uprobes_state' type-id='type-id-1491' visibility='default' filepath='include/linux/mm_types.h' line='496' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6592'>
-          <var-decl name='async_put_work' type-id='type-id-255' visibility='default' filepath='include/linux/mm_types.h' line='500' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='linux_binprm' size-in-bits='2048' is-struct='yes' visibility='default' filepath='include/linux/binfmts.h' line='17' column='1' id='type-id-3339'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='buf' type-id='type-id-964' visibility='default' filepath='include/linux/binfmts.h' line='18' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='vma' type-id='type-id-1209' visibility='default' filepath='include/linux/binfmts.h' line='20' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='vma_pages' type-id='type-id-16' visibility='default' filepath='include/linux/binfmts.h' line='21' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='mm' type-id='type-id-882' visibility='default' filepath='include/linux/binfmts.h' line='26' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='p' type-id='type-id-16' visibility='default' filepath='include/linux/binfmts.h' line='27' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='31'>
-          <var-decl name='called_set_creds' type-id='type-id-5' visibility='default' filepath='include/linux/binfmts.h' line='34' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='30'>
-          <var-decl name='cap_elevated' type-id='type-id-5' visibility='default' filepath='include/linux/binfmts.h' line='41' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='29'>
-          <var-decl name='secureexec' type-id='type-id-5' visibility='default' filepath='include/linux/binfmts.h' line='47' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1312'>
-          <var-decl name='recursion_depth' type-id='type-id-5' visibility='default' filepath='include/linux/binfmts.h' line='51' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='file' type-id='type-id-83' visibility='default' filepath='include/linux/binfmts.h' line='52' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='cred' type-id='type-id-3340' visibility='default' filepath='include/linux/binfmts.h' line='53' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='unsafe' type-id='type-id-17' visibility='default' filepath='include/linux/binfmts.h' line='54' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1504'>
-          <var-decl name='per_clear' type-id='type-id-5' visibility='default' filepath='include/linux/binfmts.h' line='55' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='argc' type-id='type-id-17' visibility='default' filepath='include/linux/binfmts.h' line='56' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1568'>
-          <var-decl name='envc' type-id='type-id-17' visibility='default' filepath='include/linux/binfmts.h' line='56' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='filename' type-id='type-id-4' visibility='default' filepath='include/linux/binfmts.h' line='57' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='interp' type-id='type-id-4' visibility='default' filepath='include/linux/binfmts.h' line='58' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='interp_flags' type-id='type-id-5' visibility='default' filepath='include/linux/binfmts.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1760'>
-          <var-decl name='interp_data' type-id='type-id-5' visibility='default' filepath='include/linux/binfmts.h' line='62' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='loader' type-id='type-id-16' visibility='default' filepath='include/linux/binfmts.h' line='63' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='exec' type-id='type-id-16' visibility='default' filepath='include/linux/binfmts.h' line='63' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='rlim_stack' type-id='type-id-1166' visibility='default' filepath='include/linux/binfmts.h' line='65' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='coredump_params' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/binfmts.h' line='80' column='1' id='type-id-3341'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='siginfo' type-id='type-id-3342' visibility='default' filepath='include/linux/binfmts.h' line='81' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='regs' type-id='type-id-736' visibility='default' filepath='include/linux/binfmts.h' line='82' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='file' type-id='type-id-83' visibility='default' filepath='include/linux/binfmts.h' line='83' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='limit' type-id='type-id-16' visibility='default' filepath='include/linux/binfmts.h' line='84' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='mm_flags' type-id='type-id-16' visibility='default' filepath='include/linux/binfmts.h' line='85' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='written' type-id='type-id-763' visibility='default' filepath='include/linux/binfmts.h' line='86' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='pos' type-id='type-id-763' visibility='default' filepath='include/linux/binfmts.h' line='87' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='root_domain' size-in-bits='14720' is-struct='yes' visibility='default' filepath='kernel/sched/sched.h' line='731' column='1' id='type-id-3343'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='refcount' type-id='type-id-26' visibility='default' filepath='kernel/sched/sched.h' line='732' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='rto_count' type-id='type-id-26' visibility='default' filepath='kernel/sched/sched.h' line='733' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='kernel/sched/sched.h' line='734' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='span' type-id='type-id-38' visibility='default' filepath='kernel/sched/sched.h' line='735' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='online' type-id='type-id-38' visibility='default' filepath='kernel/sched/sched.h' line='736' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='overload' type-id='type-id-17' visibility='default' filepath='kernel/sched/sched.h' line='743' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='overutilized' type-id='type-id-17' visibility='default' filepath='kernel/sched/sched.h' line='746' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='dlo_mask' type-id='type-id-38' visibility='default' filepath='kernel/sched/sched.h' line='752' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='dlo_count' type-id='type-id-26' visibility='default' filepath='kernel/sched/sched.h' line='753' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='dl_bw' type-id='type-id-3344' visibility='default' filepath='kernel/sched/sched.h' line='754' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='cpudl' type-id='type-id-3345' visibility='default' filepath='kernel/sched/sched.h' line='755' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='rto_push_work' type-id='type-id-690' visibility='default' filepath='kernel/sched/sched.h' line='761' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='rto_lock' type-id='type-id-36' visibility='default' filepath='kernel/sched/sched.h' line='762' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1120'>
-          <var-decl name='rto_loop' type-id='type-id-17' visibility='default' filepath='kernel/sched/sched.h' line='764' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='rto_cpu' type-id='type-id-17' visibility='default' filepath='kernel/sched/sched.h' line='765' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1184'>
-          <var-decl name='rto_loop_next' type-id='type-id-26' visibility='default' filepath='kernel/sched/sched.h' line='767' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='rto_loop_start' type-id='type-id-26' visibility='default' filepath='kernel/sched/sched.h' line='768' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='rto_mask' type-id='type-id-38' visibility='default' filepath='kernel/sched/sched.h' line='774' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='cpupri' type-id='type-id-3346' visibility='default' filepath='kernel/sched/sched.h' line='775' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='14464'>
-          <var-decl name='max_cpu_capacity' type-id='type-id-3347' visibility='default' filepath='kernel/sched/sched.h' line='778' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='14656'>
-          <var-decl name='pd' type-id='type-id-3348' visibility='default' filepath='kernel/sched/sched.h' line='784' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='dl_bw' size-in-bits='192' is-struct='yes' visibility='default' filepath='kernel/sched/sched.h' line='283' column='1' id='type-id-3344'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lock' type-id='type-id-36' visibility='default' filepath='kernel/sched/sched.h' line='284' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='bw' type-id='type-id-40' visibility='default' filepath='kernel/sched/sched.h' line='285' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='total_bw' type-id='type-id-40' visibility='default' filepath='kernel/sched/sched.h' line='286' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='cpudl' size-in-bits='192' is-struct='yes' visibility='default' filepath='kernel/sched/cpudeadline.h' line='11' column='1' id='type-id-3345'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lock' type-id='type-id-36' visibility='default' filepath='kernel/sched/cpudeadline.h' line='12' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='size' type-id='type-id-17' visibility='default' filepath='kernel/sched/cpudeadline.h' line='13' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='free_cpus' type-id='type-id-38' visibility='default' filepath='kernel/sched/cpudeadline.h' line='14' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='elements' type-id='type-id-3349' visibility='default' filepath='kernel/sched/cpudeadline.h' line='15' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='cpudl_item' size-in-bits='128' is-struct='yes' visibility='default' filepath='kernel/sched/cpudeadline.h' line='5' column='1' id='type-id-3350'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dl' type-id='type-id-40' visibility='default' filepath='kernel/sched/cpudeadline.h' line='6' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='cpu' type-id='type-id-17' visibility='default' filepath='kernel/sched/cpudeadline.h' line='7' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='idx' type-id='type-id-17' visibility='default' filepath='kernel/sched/cpudeadline.h' line='8' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='cpupri' size-in-bits='13120' is-struct='yes' visibility='default' filepath='kernel/sched/cpupri.h' line='15' column='1' id='type-id-3346'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='pri_to_cpu' type-id='type-id-3320' visibility='default' filepath='kernel/sched/cpupri.h' line='16' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='13056'>
-          <var-decl name='cpu_to_pri' type-id='type-id-666' visibility='default' filepath='kernel/sched/cpupri.h' line='17' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='cpupri_vec' size-in-bits='128' is-struct='yes' visibility='default' filepath='kernel/sched/cpupri.h' line='10' column='1' id='type-id-3319'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='count' type-id='type-id-26' visibility='default' filepath='kernel/sched/cpupri.h' line='11' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='mask' type-id='type-id-38' visibility='default' filepath='kernel/sched/cpupri.h' line='12' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='max_cpu_capacity' size-in-bits='192' is-struct='yes' visibility='default' filepath='kernel/sched/sched.h' line='713' column='1' id='type-id-3347'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lock' type-id='type-id-36' visibility='default' filepath='kernel/sched/sched.h' line='714' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='val' type-id='type-id-16' visibility='default' filepath='kernel/sched/sched.h' line='715' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='cpu' type-id='type-id-17' visibility='default' filepath='kernel/sched/sched.h' line='716' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='perf_domain' size-in-bits='256' is-struct='yes' visibility='default' filepath='kernel/sched/sched.h' line='707' column='1' id='type-id-3351'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='em_pd' type-id='type-id-3352' visibility='default' filepath='kernel/sched/sched.h' line='708' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='next' type-id='type-id-3348' visibility='default' filepath='kernel/sched/sched.h' line='709' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='kernel/sched/sched.h' line='710' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='em_perf_domain' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/energy_model.h' line='37' column='1' id='type-id-3353'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='table' type-id='type-id-3354' visibility='default' filepath='include/linux/energy_model.h' line='38' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='nr_cap_states' type-id='type-id-17' visibility='default' filepath='include/linux/energy_model.h' line='39' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='cpus' type-id='type-id-280' visibility='default' filepath='include/linux/energy_model.h' line='40' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='em_cap_state' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/energy_model.h' line='20' column='1' id='type-id-3355'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='frequency' type-id='type-id-16' visibility='default' filepath='include/linux/energy_model.h' line='21' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='power' type-id='type-id-16' visibility='default' filepath='include/linux/energy_model.h' line='22' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='cost' type-id='type-id-16' visibility='default' filepath='include/linux/energy_model.h' line='23' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='sched_domain' size-in-bits='2496' is-struct='yes' visibility='default' filepath='include/linux/sched/topology.h' line='77' column='1' id='type-id-3356'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='parent' type-id='type-id-3328' visibility='default' filepath='include/linux/sched/topology.h' line='79' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='child' type-id='type-id-3328' visibility='default' filepath='include/linux/sched/topology.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='groups' type-id='type-id-3357' visibility='default' filepath='include/linux/sched/topology.h' line='81' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='min_interval' type-id='type-id-16' visibility='default' filepath='include/linux/sched/topology.h' line='82' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='max_interval' type-id='type-id-16' visibility='default' filepath='include/linux/sched/topology.h' line='83' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='busy_factor' type-id='type-id-5' visibility='default' filepath='include/linux/sched/topology.h' line='84' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='imbalance_pct' type-id='type-id-5' visibility='default' filepath='include/linux/sched/topology.h' line='85' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='cache_nice_tries' type-id='type-id-5' visibility='default' filepath='include/linux/sched/topology.h' line='86' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='busy_idx' type-id='type-id-5' visibility='default' filepath='include/linux/sched/topology.h' line='87' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='idle_idx' type-id='type-id-5' visibility='default' filepath='include/linux/sched/topology.h' line='88' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='newidle_idx' type-id='type-id-5' visibility='default' filepath='include/linux/sched/topology.h' line='89' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='wake_idx' type-id='type-id-5' visibility='default' filepath='include/linux/sched/topology.h' line='90' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='forkexec_idx' type-id='type-id-5' visibility='default' filepath='include/linux/sched/topology.h' line='91' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='smt_gain' type-id='type-id-5' visibility='default' filepath='include/linux/sched/topology.h' line='92' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='nohz_idle' type-id='type-id-17' visibility='default' filepath='include/linux/sched/topology.h' line='94' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='flags' type-id='type-id-17' visibility='default' filepath='include/linux/sched/topology.h' line='95' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='672'>
-          <var-decl name='level' type-id='type-id-17' visibility='default' filepath='include/linux/sched/topology.h' line='96' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='last_balance' type-id='type-id-16' visibility='default' filepath='include/linux/sched/topology.h' line='99' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='balance_interval' type-id='type-id-5' visibility='default' filepath='include/linux/sched/topology.h' line='100' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='800'>
-          <var-decl name='nr_balance_failed' type-id='type-id-5' visibility='default' filepath='include/linux/sched/topology.h' line='101' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='max_newidle_lb_cost' type-id='type-id-40' visibility='default' filepath='include/linux/sched/topology.h' line='104' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='next_decay_max_lb_cost' type-id='type-id-16' visibility='default' filepath='include/linux/sched/topology.h' line='105' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='avg_scan_cost' type-id='type-id-40' visibility='default' filepath='include/linux/sched/topology.h' line='107' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='lb_count' type-id='type-id-1193' visibility='default' filepath='include/linux/sched/topology.h' line='111' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1120'>
-          <var-decl name='lb_failed' type-id='type-id-1193' visibility='default' filepath='include/linux/sched/topology.h' line='112' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='lb_balanced' type-id='type-id-1193' visibility='default' filepath='include/linux/sched/topology.h' line='113' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1312'>
-          <var-decl name='lb_imbalance' type-id='type-id-1193' visibility='default' filepath='include/linux/sched/topology.h' line='114' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='lb_gained' type-id='type-id-1193' visibility='default' filepath='include/linux/sched/topology.h' line='115' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1504'>
-          <var-decl name='lb_hot_gained' type-id='type-id-1193' visibility='default' filepath='include/linux/sched/topology.h' line='116' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='lb_nobusyg' type-id='type-id-1193' visibility='default' filepath='include/linux/sched/topology.h' line='117' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1696'>
-          <var-decl name='lb_nobusyq' type-id='type-id-1193' visibility='default' filepath='include/linux/sched/topology.h' line='118' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='alb_count' type-id='type-id-5' visibility='default' filepath='include/linux/sched/topology.h' line='121' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1824'>
-          <var-decl name='alb_failed' type-id='type-id-5' visibility='default' filepath='include/linux/sched/topology.h' line='122' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='alb_pushed' type-id='type-id-5' visibility='default' filepath='include/linux/sched/topology.h' line='123' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1888'>
-          <var-decl name='sbe_count' type-id='type-id-5' visibility='default' filepath='include/linux/sched/topology.h' line='126' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='sbe_balanced' type-id='type-id-5' visibility='default' filepath='include/linux/sched/topology.h' line='127' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1952'>
-          <var-decl name='sbe_pushed' type-id='type-id-5' visibility='default' filepath='include/linux/sched/topology.h' line='128' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='sbf_count' type-id='type-id-5' visibility='default' filepath='include/linux/sched/topology.h' line='131' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2016'>
-          <var-decl name='sbf_balanced' type-id='type-id-5' visibility='default' filepath='include/linux/sched/topology.h' line='132' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='sbf_pushed' type-id='type-id-5' visibility='default' filepath='include/linux/sched/topology.h' line='133' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2080'>
-          <var-decl name='ttwu_wake_remote' type-id='type-id-5' visibility='default' filepath='include/linux/sched/topology.h' line='136' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='ttwu_move_affine' type-id='type-id-5' visibility='default' filepath='include/linux/sched/topology.h' line='137' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2144'>
-          <var-decl name='ttwu_move_balance' type-id='type-id-5' visibility='default' filepath='include/linux/sched/topology.h' line='138' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='name' type-id='type-id-2' visibility='default' filepath='include/linux/sched/topology.h' line='141' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='' type-id='type-id-3358' visibility='default' filepath='include/linux/sched/topology.h' line='143' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='shared' type-id='type-id-3359' visibility='default' filepath='include/linux/sched/topology.h' line='147' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2432'>
-          <var-decl name='span_weight' type-id='type-id-5' visibility='default' filepath='include/linux/sched/topology.h' line='149' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2496'>
-          <var-decl name='span' type-id='type-id-280' visibility='default' filepath='include/linux/sched/topology.h' line='157' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='sched_group' size-in-bits='256' is-struct='yes' visibility='default' filepath='kernel/sched/sched.h' line='1358' column='1' id='type-id-3360'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='next' type-id='type-id-3357' visibility='default' filepath='kernel/sched/sched.h' line='1359' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ref' type-id='type-id-26' visibility='default' filepath='kernel/sched/sched.h' line='1360' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='group_weight' type-id='type-id-5' visibility='default' filepath='kernel/sched/sched.h' line='1362' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='sgc' type-id='type-id-3361' visibility='default' filepath='kernel/sched/sched.h' line='1363' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='asym_prefer_cpu' type-id='type-id-17' visibility='default' filepath='kernel/sched/sched.h' line='1364' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='cpumask' type-id='type-id-280' visibility='default' filepath='kernel/sched/sched.h' line='1373' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='sched_group_capacity' size-in-bits='384' is-struct='yes' visibility='default' filepath='kernel/sched/sched.h' line='1339' column='1' id='type-id-3362'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ref' type-id='type-id-26' visibility='default' filepath='kernel/sched/sched.h' line='1340' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='capacity' type-id='type-id-16' visibility='default' filepath='kernel/sched/sched.h' line='1345' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='min_capacity' type-id='type-id-16' visibility='default' filepath='kernel/sched/sched.h' line='1346' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='max_capacity' type-id='type-id-16' visibility='default' filepath='kernel/sched/sched.h' line='1347' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='next_update' type-id='type-id-16' visibility='default' filepath='kernel/sched/sched.h' line='1348' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='imbalance' type-id='type-id-17' visibility='default' filepath='kernel/sched/sched.h' line='1349' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='id' type-id='type-id-17' visibility='default' filepath='kernel/sched/sched.h' line='1352' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='cpumask' type-id='type-id-280' visibility='default' filepath='kernel/sched/sched.h' line='1355' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/sched/topology.h' line='143' column='1' id='type-id-3358'>
-        <data-member access='private'>
-          <var-decl name='private' type-id='type-id-15' visibility='default' filepath='include/linux/sched/topology.h' line='144' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/linux/sched/topology.h' line='145' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='sched_domain_shared' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/linux/sched/topology.h' line='71' column='1' id='type-id-3363'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ref' type-id='type-id-26' visibility='default' filepath='include/linux/sched/topology.h' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='nr_busy_cpus' type-id='type-id-26' visibility='default' filepath='include/linux/sched/topology.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='has_idle_cores' type-id='type-id-17' visibility='default' filepath='include/linux/sched/topology.h' line='74' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='cpu_stop_work' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/stop_machine.h' line='24' column='1' id='type-id-3329'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/stop_machine.h' line='25' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='fn' type-id='type-id-3364' visibility='default' filepath='include/linux/stop_machine.h' line='26' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='arg' type-id='type-id-15' visibility='default' filepath='include/linux/stop_machine.h' line='27' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='done' type-id='type-id-3365' visibility='default' filepath='include/linux/stop_machine.h' line='28' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='cpu_stop_fn_t' type-id='type-id-3366' filepath='include/linux/stop_machine.h' line='20' column='1' id='type-id-3364'/>
-      <typedef-decl name='call_single_data_t' type-id='type-id-505' filepath='include/linux/smp.h' line='26' column='1' id='type-id-3330'/>
-      <class-decl name='cpuidle_state' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/linux/cpuidle.h' line='42' column='1' id='type-id-3313'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-43' visibility='default' filepath='include/linux/cpuidle.h' line='43' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='desc' type-id='type-id-373' visibility='default' filepath='include/linux/cpuidle.h' line='44' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='include/linux/cpuidle.h' line='46' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='exit_latency' type-id='type-id-5' visibility='default' filepath='include/linux/cpuidle.h' line='47' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='power_usage' type-id='type-id-17' visibility='default' filepath='include/linux/cpuidle.h' line='48' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='target_residency' type-id='type-id-5' visibility='default' filepath='include/linux/cpuidle.h' line='49' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='disabled' type-id='type-id-33' visibility='default' filepath='include/linux/cpuidle.h' line='50' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='enter' type-id='type-id-3367' visibility='default' filepath='include/linux/cpuidle.h' line='52' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='enter_dead' type-id='type-id-3368' visibility='default' filepath='include/linux/cpuidle.h' line='56' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='enter_s2idle' type-id='type-id-3369' visibility='default' filepath='include/linux/cpuidle.h' line='63' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='cpuidle_device' size-in-bits='4224' is-struct='yes' visibility='default' filepath='include/linux/cpuidle.h' line='80' column='1' id='type-id-3370'>
-        <data-member access='public' layout-offset-in-bits='31'>
-          <var-decl name='registered' type-id='type-id-5' visibility='default' filepath='include/linux/cpuidle.h' line='81' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='30'>
-          <var-decl name='enabled' type-id='type-id-5' visibility='default' filepath='include/linux/cpuidle.h' line='82' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='29'>
-          <var-decl name='use_deepest_state' type-id='type-id-5' visibility='default' filepath='include/linux/cpuidle.h' line='83' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='28'>
-          <var-decl name='poll_time_limit' type-id='type-id-5' visibility='default' filepath='include/linux/cpuidle.h' line='84' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='cpu' type-id='type-id-5' visibility='default' filepath='include/linux/cpuidle.h' line='85' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='last_residency' type-id='type-id-17' visibility='default' filepath='include/linux/cpuidle.h' line='87' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='states_usage' type-id='type-id-3318' visibility='default' filepath='include/linux/cpuidle.h' line='88' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3328'>
-          <var-decl name='kobjs' type-id='type-id-3316' visibility='default' filepath='include/linux/cpuidle.h' line='89' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3968'>
-          <var-decl name='kobj_driver' type-id='type-id-3371' visibility='default' filepath='include/linux/cpuidle.h' line='90' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4032'>
-          <var-decl name='kobj_dev' type-id='type-id-3372' visibility='default' filepath='include/linux/cpuidle.h' line='91' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4096'>
-          <var-decl name='device_list' type-id='type-id-20' visibility='default' filepath='include/linux/cpuidle.h' line='92' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='cpuidle_state_usage' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/cpuidle.h' line='32' column='1' id='type-id-3317'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='disable' type-id='type-id-98' visibility='default' filepath='include/linux/cpuidle.h' line='33' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='usage' type-id='type-id-98' visibility='default' filepath='include/linux/cpuidle.h' line='34' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='time' type-id='type-id-98' visibility='default' filepath='include/linux/cpuidle.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='s2idle_usage' type-id='type-id-98' visibility='default' filepath='include/linux/cpuidle.h' line='37' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='s2idle_time' type-id='type-id-98' visibility='default' filepath='include/linux/cpuidle.h' line='38' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='cpuidle_driver' size-in-bits='8000' is-struct='yes' visibility='default' filepath='include/linux/cpuidle.h' line='117' column='1' id='type-id-3373'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/cpuidle.h' line='118' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='owner' type-id='type-id-260' visibility='default' filepath='include/linux/cpuidle.h' line='119' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='refcnt' type-id='type-id-17' visibility='default' filepath='include/linux/cpuidle.h' line='120' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='31'>
-          <var-decl name='bctimer' type-id='type-id-5' visibility='default' filepath='include/linux/cpuidle.h' line='123' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='states' type-id='type-id-3314' visibility='default' filepath='include/linux/cpuidle.h' line='125' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7872'>
-          <var-decl name='state_count' type-id='type-id-17' visibility='default' filepath='include/linux/cpuidle.h' line='126' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7904'>
-          <var-decl name='safe_state_index' type-id='type-id-17' visibility='default' filepath='include/linux/cpuidle.h' line='127' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7936'>
-          <var-decl name='cpumask' type-id='type-id-3374' visibility='default' filepath='include/linux/cpuidle.h' line='130' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='rq_flags' size-in-bits='128' is-struct='yes' visibility='default' filepath='kernel/sched/sched.h' line='1082' column='1' id='type-id-3375'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='kernel/sched/sched.h' line='1083' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='cookie' type-id='type-id-3376' visibility='default' filepath='kernel/sched/sched.h' line='1084' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='clock_update_flags' type-id='type-id-5' visibility='default' filepath='kernel/sched/sched.h' line='1091' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='pin_cookie' is-struct='yes' visibility='default' filepath='include/linux/lockdep.h' line='451' column='1' id='type-id-3376'/>
-      <class-decl name='new_utsname' size-in-bits='3120' is-struct='yes' visibility='default' filepath='include/uapi/linux/utsname.h' line='25' column='1' id='type-id-3377'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='sysname' type-id='type-id-3306' visibility='default' filepath='include/uapi/linux/utsname.h' line='26' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='520'>
-          <var-decl name='nodename' type-id='type-id-3306' visibility='default' filepath='include/uapi/linux/utsname.h' line='27' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1040'>
-          <var-decl name='release' type-id='type-id-3306' visibility='default' filepath='include/uapi/linux/utsname.h' line='28' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1560'>
-          <var-decl name='version' type-id='type-id-3306' visibility='default' filepath='include/uapi/linux/utsname.h' line='29' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2080'>
-          <var-decl name='machine' type-id='type-id-3306' visibility='default' filepath='include/uapi/linux/utsname.h' line='30' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2600'>
-          <var-decl name='domainname' type-id='type-id-3306' visibility='default' filepath='include/uapi/linux/utsname.h' line='31' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__1' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/iocontext.h' line='82' column='1' id='type-id-3378'>
-        <data-member access='private'>
-          <var-decl name='q_node' type-id='type-id-20' visibility='default' filepath='include/linux/iocontext.h' line='83' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='__rcu_icq_cache' type-id='type-id-538' visibility='default' filepath='include/linux/iocontext.h' line='84' column='1'/>
-        </data-member>
-      </union-decl>
-      <typedef-decl name='wait_queue_entry_t' type-id='type-id-3379' filepath='include/linux/wait.h' line='14' column='1' id='type-id-3380'/>
-      <class-decl name='wait_queue_entry' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/wait.h' line='27' column='1' id='type-id-3379'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='include/linux/wait.h' line='28' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='private' type-id='type-id-15' visibility='default' filepath='include/linux/wait.h' line='29' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='func' type-id='type-id-3381' visibility='default' filepath='include/linux/wait.h' line='30' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='entry' type-id='type-id-20' visibility='default' filepath='include/linux/wait.h' line='31' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='wait_queue_func_t' type-id='type-id-3382' filepath='include/linux/wait.h' line='16' column='1' id='type-id-3381'/>
-      <class-decl name='sched_param' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/uapi/linux/sched/types.h' line='7' column='1' id='type-id-3383'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='sched_priority' type-id='type-id-17' visibility='default' filepath='include/uapi/linux/sched/types.h' line='8' column='1'/>
-        </data-member>
-      </class-decl>
-      <pointer-type-def type-id='type-id-1546' size-in-bits='64' id='type-id-3384'/>
-      <qualified-type-def type-id='type-id-178' const='yes' id='type-id-3385'/>
-      <pointer-type-def type-id='type-id-3385' size-in-bits='64' id='type-id-3386'/>
-      <qualified-type-def type-id='type-id-3383' const='yes' id='type-id-3387'/>
-      <pointer-type-def type-id='type-id-3387' size-in-bits='64' id='type-id-3388'/>
-      <qualified-type-def type-id='type-id-2379' const='yes' id='type-id-3389'/>
-      <pointer-type-def type-id='type-id-3389' size-in-bits='64' id='type-id-3342'/>
-      <pointer-type-def type-id='type-id-3341' size-in-bits='64' id='type-id-3390'/>
-      <pointer-type-def type-id='type-id-3308' size-in-bits='64' id='type-id-3365'/>
-      <pointer-type-def type-id='type-id-3350' size-in-bits='64' id='type-id-3349'/>
-      <pointer-type-def type-id='type-id-3370' size-in-bits='64' id='type-id-3391'/>
-      <pointer-type-def type-id='type-id-3309' size-in-bits='64' id='type-id-3372'/>
-      <pointer-type-def type-id='type-id-3373' size-in-bits='64' id='type-id-3392'/>
-      <pointer-type-def type-id='type-id-3310' size-in-bits='64' id='type-id-3371'/>
-      <pointer-type-def type-id='type-id-3313' size-in-bits='64' id='type-id-3331'/>
-      <pointer-type-def type-id='type-id-3311' size-in-bits='64' id='type-id-3315'/>
-      <pointer-type-def type-id='type-id-178' size-in-bits='64' id='type-id-3374'/>
-      <pointer-type-def type-id='type-id-3355' size-in-bits='64' id='type-id-3354'/>
-      <pointer-type-def type-id='type-id-3353' size-in-bits='64' id='type-id-3352'/>
-      <pointer-type-def type-id='type-id-3393' size-in-bits='64' id='type-id-3394'/>
-      <pointer-type-def type-id='type-id-3395' size-in-bits='64' id='type-id-3367'/>
-      <pointer-type-def type-id='type-id-3396' size-in-bits='64' id='type-id-3368'/>
-      <pointer-type-def type-id='type-id-3397' size-in-bits='64' id='type-id-3398'/>
-      <pointer-type-def type-id='type-id-3399' size-in-bits='64' id='type-id-3400'/>
-      <pointer-type-def type-id='type-id-3401' size-in-bits='64' id='type-id-3402'/>
-      <pointer-type-def type-id='type-id-3403' size-in-bits='64' id='type-id-3382'/>
-      <pointer-type-def type-id='type-id-3339' size-in-bits='64' id='type-id-3404'/>
-      <pointer-type-def type-id='type-id-3312' size-in-bits='64' id='type-id-3405'/>
-      <pointer-type-def type-id='type-id-3351' size-in-bits='64' id='type-id-3348'/>
-      <pointer-type-def type-id='type-id-3343' size-in-bits='64' id='type-id-3327'/>
-      <pointer-type-def type-id='type-id-3325' size-in-bits='64' id='type-id-3406'/>
-      <pointer-type-def type-id='type-id-3375' size-in-bits='64' id='type-id-3407'/>
-      <pointer-type-def type-id='type-id-1551' size-in-bits='64' id='type-id-3408'/>
-      <pointer-type-def type-id='type-id-3356' size-in-bits='64' id='type-id-3328'/>
-      <pointer-type-def type-id='type-id-3363' size-in-bits='64' id='type-id-3359'/>
-      <pointer-type-def type-id='type-id-1545' size-in-bits='64' id='type-id-3409'/>
-      <pointer-type-def type-id='type-id-3360' size-in-bits='64' id='type-id-3357'/>
-      <pointer-type-def type-id='type-id-3362' size-in-bits='64' id='type-id-3361'/>
-      <pointer-type-def type-id='type-id-1550' size-in-bits='64' id='type-id-3410'/>
-      <pointer-type-def type-id='type-id-3411' size-in-bits='64' id='type-id-3412'/>
-      <pointer-type-def type-id='type-id-21' size-in-bits='64' id='type-id-3413'/>
-      <pointer-type-def type-id='type-id-3414' size-in-bits='64' id='type-id-3415'/>
-      <pointer-type-def type-id='type-id-3416' size-in-bits='64' id='type-id-3417'/>
-      <pointer-type-def type-id='type-id-3418' size-in-bits='64' id='type-id-3369'/>
-      <pointer-type-def type-id='type-id-3419' size-in-bits='64' id='type-id-3420'/>
-      <pointer-type-def type-id='type-id-3421' size-in-bits='64' id='type-id-3422'/>
-      <pointer-type-def type-id='type-id-3423' size-in-bits='64' id='type-id-3424'/>
-      <pointer-type-def type-id='type-id-3425' size-in-bits='64' id='type-id-3426'/>
-      <pointer-type-def type-id='type-id-3427' size-in-bits='64' id='type-id-3428'/>
-      <pointer-type-def type-id='type-id-3379' size-in-bits='64' id='type-id-3305'/>
-      <pointer-type-def type-id='type-id-3380' size-in-bits='64' id='type-id-3429'/>
-      <function-decl name='preempt_count_add' mangled-name='preempt_count_add' filepath='kernel/sched/core.c' line='3244' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='preempt_count_add'>
-        <parameter type-id='type-id-17' name='val' filepath='kernel/sched/core.c' line='3244' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='preempt_count_sub' mangled-name='preempt_count_sub' filepath='kernel/sched/core.c' line='3276' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='preempt_count_sub'>
-        <parameter type-id='type-id-17' name='val' filepath='kernel/sched/core.c' line='3276' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='preempt_schedule' mangled-name='preempt_schedule' filepath='kernel/sched/core.c' line='3678' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='preempt_schedule'>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='wake_up_process' mangled-name='wake_up_process' filepath='kernel/sched/core.c' line='2143' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wake_up_process'>
-        <parameter type-id='type-id-431' name='p' filepath='kernel/sched/core.c' line='2143' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='schedule' mangled-name='schedule' filepath='kernel/sched/core.c' line='3574' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='schedule'>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='preempt_schedule_notrace' mangled-name='preempt_schedule_notrace' filepath='kernel/sched/core.c' line='3706' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='preempt_schedule_notrace'>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='default_wake_function' mangled-name='default_wake_function' filepath='kernel/sched/core.c' line='3772' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='default_wake_function'>
-        <parameter type-id='type-id-3429' name='curr' filepath='kernel/sched/core.c' line='3772' column='1'/>
-        <parameter type-id='type-id-5' name='mode' filepath='kernel/sched/core.c' line='3772' column='1'/>
-        <parameter type-id='type-id-17' name='wake_flags' filepath='kernel/sched/core.c' line='3772' column='1'/>
-        <parameter type-id='type-id-15' name='key' filepath='kernel/sched/core.c' line='3773' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='sched_setscheduler' mangled-name='sched_setscheduler' filepath='kernel/sched/core.c' line='4450' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sched_setscheduler'>
-        <parameter type-id='type-id-431' name='p' filepath='kernel/sched/core.c' line='4450' column='1'/>
-        <parameter type-id='type-id-17' name='policy' filepath='kernel/sched/core.c' line='4450' column='1'/>
-        <parameter type-id='type-id-3388' name='param' filepath='kernel/sched/core.c' line='4451' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-3393'>
-        <parameter type-id='type-id-3390'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3395'>
-        <parameter type-id='type-id-3391'/>
-        <parameter type-id='type-id-3392'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3396'>
-        <parameter type-id='type-id-3391'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3397'>
-        <parameter type-id='type-id-83'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3399'>
-        <parameter type-id='type-id-3404'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3401'>
-        <parameter type-id='type-id-431'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3403'>
-        <parameter type-id='type-id-3305'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3411'>
-        <parameter type-id='type-id-3406'/>
-        <parameter type-id='type-id-431'/>
-        <parameter type-id='type-id-3407'/>
-        <return type-id='type-id-431'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3414'>
-        <parameter type-id='type-id-3406'/>
-        <parameter type-id='type-id-431'/>
-        <parameter type-id='type-id-33'/>
-        <return type-id='type-id-33'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3416'>
-        <parameter type-id='type-id-3406'/>
-        <parameter type-id='type-id-431'/>
-        <return type-id='type-id-5'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3418'>
-        <parameter type-id='type-id-3391'/>
-        <parameter type-id='type-id-3392'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3419'>
-        <parameter type-id='type-id-3406'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3421'>
-        <parameter type-id='type-id-3406'/>
-        <parameter type-id='type-id-431'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3423'>
-        <parameter type-id='type-id-3406'/>
-        <parameter type-id='type-id-431'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3425'>
-        <parameter type-id='type-id-431'/>
-        <parameter type-id='type-id-3386'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3427'>
-        <parameter type-id='type-id-431'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='fs/file.c' language='LANG_C89'>
-      <function-decl name='get_unused_fd_flags' mangled-name='get_unused_fd_flags' filepath='fs/file.c' line='543' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_unused_fd_flags'>
-        <parameter type-id='type-id-5' name='flags' filepath='fs/file.c' line='543' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='put_unused_fd' mangled-name='put_unused_fd' filepath='fs/file.c' line='557' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='put_unused_fd'>
-        <parameter type-id='type-id-5' name='fd' filepath='fs/file.c' line='557' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='fd_install' mangled-name='fd_install' filepath='fs/file.c' line='611' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fd_install'>
-        <parameter type-id='type-id-5' name='fd' filepath='fs/file.c' line='611' column='1'/>
-        <parameter type-id='type-id-83' name='file' filepath='fs/file.c' line='611' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/time/hrtimer.c' language='LANG_C89'>
-      <enum-decl name='hrtimer_mode' filepath='include/linux/hrtimer.h' line='39' column='1' id='type-id-3430'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='HRTIMER_MODE_ABS' value='0'/>
-        <enumerator name='HRTIMER_MODE_REL' value='1'/>
-        <enumerator name='HRTIMER_MODE_PINNED' value='2'/>
-        <enumerator name='HRTIMER_MODE_SOFT' value='4'/>
-        <enumerator name='HRTIMER_MODE_ABS_PINNED' value='2'/>
-        <enumerator name='HRTIMER_MODE_REL_PINNED' value='3'/>
-        <enumerator name='HRTIMER_MODE_ABS_SOFT' value='4'/>
-        <enumerator name='HRTIMER_MODE_REL_SOFT' value='5'/>
-        <enumerator name='HRTIMER_MODE_ABS_PINNED_SOFT' value='6'/>
-        <enumerator name='HRTIMER_MODE_REL_PINNED_SOFT' value='7'/>
-      </enum-decl>
-      <qualified-type-def type-id='type-id-681' const='yes' id='type-id-3431'/>
-      <pointer-type-def type-id='type-id-3431' size-in-bits='64' id='type-id-3432'/>
-      <qualified-type-def type-id='type-id-3430' const='yes' id='type-id-3433'/>
-      <function-decl name='hrtimer_forward' mangled-name='hrtimer_forward' filepath='kernel/time/hrtimer.c' line='907' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='hrtimer_forward'>
-        <parameter type-id='type-id-1558' name='timer' filepath='kernel/time/hrtimer.c' line='907' column='1'/>
-        <parameter type-id='type-id-682' name='now' filepath='kernel/time/hrtimer.c' line='907' column='1'/>
-        <parameter type-id='type-id-682' name='interval' filepath='kernel/time/hrtimer.c' line='907' column='1'/>
-        <return type-id='type-id-40'/>
-      </function-decl>
-      <function-decl name='hrtimer_start_range_ns' mangled-name='hrtimer_start_range_ns' filepath='kernel/time/hrtimer.c' line='1104' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='hrtimer_start_range_ns'>
-        <parameter type-id='type-id-1558' name='timer' filepath='kernel/time/hrtimer.c' line='1104' column='1'/>
-        <parameter type-id='type-id-682' name='tim' filepath='kernel/time/hrtimer.c' line='1104' column='1'/>
-        <parameter type-id='type-id-40' name='delta_ns' filepath='kernel/time/hrtimer.c' line='1105' column='1'/>
-        <parameter type-id='type-id-3433' name='mode' filepath='kernel/time/hrtimer.c' line='1105' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='hrtimer_active' mangled-name='hrtimer_active' filepath='kernel/time/hrtimer.c' line='1323' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='hrtimer_active'>
-        <parameter type-id='type-id-3432' name='timer' filepath='kernel/time/hrtimer.c' line='1323' column='1'/>
-        <return type-id='type-id-33'/>
-      </function-decl>
-      <function-decl name='hrtimer_cancel' mangled-name='hrtimer_cancel' filepath='kernel/time/hrtimer.c' line='1170' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='hrtimer_cancel'>
-        <parameter type-id='type-id-1558' name='timer' filepath='kernel/time/hrtimer.c' line='1170' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='hrtimer_init' mangled-name='hrtimer_init' filepath='kernel/time/hrtimer.c' line='1308' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='hrtimer_init'>
-        <parameter type-id='type-id-1558' name='timer' filepath='kernel/time/hrtimer.c' line='1308' column='1'/>
-        <parameter type-id='type-id-1557' name='clock_id' filepath='kernel/time/hrtimer.c' line='1308' column='1'/>
-        <parameter type-id='type-id-3430' name='mode' filepath='kernel/time/hrtimer.c' line='1309' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='mm/shmem.c' language='LANG_C89'>
-      <union-decl name='__anonymous_union__2' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='79' column='1' id='type-id-3434'>
-        <data-member access='private'>
-          <var-decl name='' type-id='type-id-2089' visibility='default' filepath='include/linux/mm_types.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='callback_head' type-id='type-id-385' visibility='default' filepath='include/linux/mm_types.h' line='160' column='1'/>
-        </data-member>
-      </union-decl>
-      <function-decl name='shmem_file_setup' mangled-name='shmem_file_setup' filepath='mm/shmem.c' line='4009' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='shmem_file_setup'>
-        <parameter type-id='type-id-4' name='name' filepath='mm/shmem.c' line='4009' column='1'/>
-        <parameter type-id='type-id-763' name='size' filepath='mm/shmem.c' line='4009' column='1'/>
-        <parameter type-id='type-id-16' name='flags' filepath='mm/shmem.c' line='4009' column='1'/>
-        <return type-id='type-id-83'/>
-      </function-decl>
-      <function-decl name='shmem_read_mapping_page_gfp' mangled-name='shmem_read_mapping_page_gfp' filepath='mm/shmem.c' line='4077' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='shmem_read_mapping_page_gfp'>
-        <parameter type-id='type-id-1281' name='mapping' filepath='mm/shmem.c' line='4077' column='1'/>
-        <parameter type-id='type-id-16' name='index' filepath='mm/shmem.c' line='4078' column='1'/>
-        <parameter type-id='type-id-485' name='gfp' filepath='mm/shmem.c' line='4078' column='1'/>
-        <return type-id='type-id-512'/>
+      <function-decl name='prepare_to_wait_event' mangled-name='prepare_to_wait_event' filepath='include/linux/wait.h' line='1112' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='prepare_to_wait_event'>
+        <parameter type-id='type-id-7302'/>
+        <parameter type-id='type-id-7301'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-187'/>
       </function-decl>
     </abi-instr>
     <abi-instr version='1.0' address-size='64' path='kernel/workqueue.c' language='LANG_C89'>
 
 
-      <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='192' id='type-id-3435'>
-        <subrange length='24' type-id='type-id-9' id='type-id-3436'/>
+      <array-type-def dimensions='1' type-id='type-id-475' size-in-bits='192' id='type-id-3961'>
+        <subrange length='24' type-id='type-id-5' id='type-id-1143'/>
 
       </array-type-def>
-      <class-decl name='pipe_inode_info' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3437'/>
-      <array-type-def dimensions='1' type-id='type-id-17' size-in-bits='480' id='type-id-3438'>
-        <subrange length='15' type-id='type-id-9' id='type-id-3439'/>
+      <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='480' id='type-id-8083'>
+        <subrange length='15' type-id='type-id-5' id='type-id-1764'/>
 
       </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-3440' size-in-bits='infinite' id='type-id-3441'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
+      <array-type-def dimensions='1' type-id='type-id-8084' size-in-bits='infinite' id='type-id-8085'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
 
       </array-type-def>
-      <class-decl name='wq_flusher' size-in-bits='448' is-struct='yes' visibility='default' filepath='kernel/workqueue.c' line='225' column='1' id='type-id-3442'>
+      <class-decl name='wq_flusher' size-in-bits='448' is-struct='yes' visibility='default' filepath='kernel/workqueue.c' line='225' column='1' id='type-id-8086'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='kernel/workqueue.c' line='226' column='1'/>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='kernel/workqueue.c' line='226' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='flush_color' type-id='type-id-17' visibility='default' filepath='kernel/workqueue.c' line='227' column='1'/>
+          <var-decl name='flush_color' type-id='type-id-11' visibility='default' filepath='kernel/workqueue.c' line='227' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='done' type-id='type-id-1608' visibility='default' filepath='kernel/workqueue.c' line='228' column='1'/>
+          <var-decl name='done' type-id='type-id-661' visibility='default' filepath='kernel/workqueue.c' line='228' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='worker' size-in-bits='1152' is-struct='yes' visibility='default' filepath='kernel/workqueue_internal.h' line='24' column='1' id='type-id-3443'>
+      <class-decl name='worker' size-in-bits='1152' is-struct='yes' visibility='default' filepath='kernel/workqueue_internal.h' line='24' column='1' id='type-id-8087'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='' type-id='type-id-3444' visibility='default' filepath='kernel/workqueue_internal.h' line='26' column='1'/>
+          <var-decl name='' type-id='type-id-8088' visibility='default' filepath='kernel/workqueue_internal.h' line='26' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='current_work' type-id='type-id-3234' visibility='default' filepath='kernel/workqueue_internal.h' line='31' column='1'/>
+          <var-decl name='current_work' type-id='type-id-6370' visibility='default' filepath='kernel/workqueue_internal.h' line='31' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='current_func' type-id='type-id-1590' visibility='default' filepath='kernel/workqueue_internal.h' line='32' column='1'/>
+          <var-decl name='current_func' type-id='type-id-5305' visibility='default' filepath='kernel/workqueue_internal.h' line='32' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='current_pwq' type-id='type-id-3440' visibility='default' filepath='kernel/workqueue_internal.h' line='33' column='1'/>
+          <var-decl name='current_pwq' type-id='type-id-8084' visibility='default' filepath='kernel/workqueue_internal.h' line='33' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='scheduled' type-id='type-id-20' visibility='default' filepath='kernel/workqueue_internal.h' line='34' column='1'/>
+          <var-decl name='scheduled' type-id='type-id-8' visibility='default' filepath='kernel/workqueue_internal.h' line='34' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='task' type-id='type-id-431' visibility='default' filepath='kernel/workqueue_internal.h' line='38' column='1'/>
+          <var-decl name='task' type-id='type-id-118' visibility='default' filepath='kernel/workqueue_internal.h' line='38' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='pool' type-id='type-id-3445' visibility='default' filepath='kernel/workqueue_internal.h' line='39' column='1'/>
+          <var-decl name='pool' type-id='type-id-8089' visibility='default' filepath='kernel/workqueue_internal.h' line='39' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='node' type-id='type-id-20' visibility='default' filepath='kernel/workqueue_internal.h' line='41' column='1'/>
+          <var-decl name='node' type-id='type-id-8' visibility='default' filepath='kernel/workqueue_internal.h' line='41' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='last_active' type-id='type-id-16' visibility='default' filepath='kernel/workqueue_internal.h' line='44' column='1'/>
+          <var-decl name='last_active' type-id='type-id-100' visibility='default' filepath='kernel/workqueue_internal.h' line='44' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='kernel/workqueue_internal.h' line='45' column='1'/>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='kernel/workqueue_internal.h' line='45' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='800'>
-          <var-decl name='id' type-id='type-id-17' visibility='default' filepath='kernel/workqueue_internal.h' line='46' column='1'/>
+          <var-decl name='id' type-id='type-id-11' visibility='default' filepath='kernel/workqueue_internal.h' line='46' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='desc' type-id='type-id-3435' visibility='default' filepath='kernel/workqueue_internal.h' line='52' column='1'/>
+          <var-decl name='desc' type-id='type-id-3961' visibility='default' filepath='kernel/workqueue_internal.h' line='52' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='rescue_wq' type-id='type-id-654' visibility='default' filepath='kernel/workqueue_internal.h' line='55' column='1'/>
+          <var-decl name='rescue_wq' type-id='type-id-2154' visibility='default' filepath='kernel/workqueue_internal.h' line='55' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='last_func' type-id='type-id-1590' visibility='default' filepath='kernel/workqueue_internal.h' line='58' column='1'/>
+          <var-decl name='last_func' type-id='type-id-5305' visibility='default' filepath='kernel/workqueue_internal.h' line='58' column='1'/>
         </data-member>
       </class-decl>
-      <union-decl name='__anonymous_union__' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='kernel/workqueue_internal.h' line='26' column='1' id='type-id-3444'>
+      <union-decl name='__anonymous_union__' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='kernel/workqueue_internal.h' line='26' column='1' id='type-id-8088'>
         <data-member access='private'>
-          <var-decl name='entry' type-id='type-id-20' visibility='default' filepath='kernel/workqueue_internal.h' line='27' column='1'/>
+          <var-decl name='entry' type-id='type-id-8' visibility='default' filepath='kernel/workqueue_internal.h' line='27' column='1'/>
         </data-member>
         <data-member access='private'>
-          <var-decl name='hentry' type-id='type-id-520' visibility='default' filepath='kernel/workqueue_internal.h' line='28' column='1'/>
+          <var-decl name='hentry' type-id='type-id-378' visibility='default' filepath='kernel/workqueue_internal.h' line='28' column='1'/>
         </data-member>
       </union-decl>
-      <class-decl name='pool_workqueue' size-in-bits='2048' is-struct='yes' visibility='default' filepath='kernel/workqueue.c' line='198' column='1' id='type-id-3446'>
+      <class-decl name='pool_workqueue' size-in-bits='2048' is-struct='yes' visibility='default' filepath='kernel/workqueue.c' line='198' column='1' id='type-id-8090'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='pool' type-id='type-id-3445' visibility='default' filepath='kernel/workqueue.c' line='199' column='1'/>
+          <var-decl name='pool' type-id='type-id-8089' visibility='default' filepath='kernel/workqueue.c' line='199' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='wq' type-id='type-id-654' visibility='default' filepath='kernel/workqueue.c' line='200' column='1'/>
+          <var-decl name='wq' type-id='type-id-2154' visibility='default' filepath='kernel/workqueue.c' line='200' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='work_color' type-id='type-id-17' visibility='default' filepath='kernel/workqueue.c' line='201' column='1'/>
+          <var-decl name='work_color' type-id='type-id-11' visibility='default' filepath='kernel/workqueue.c' line='201' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='flush_color' type-id='type-id-17' visibility='default' filepath='kernel/workqueue.c' line='202' column='1'/>
+          <var-decl name='flush_color' type-id='type-id-11' visibility='default' filepath='kernel/workqueue.c' line='202' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='refcnt' type-id='type-id-17' visibility='default' filepath='kernel/workqueue.c' line='203' column='1'/>
+          <var-decl name='refcnt' type-id='type-id-11' visibility='default' filepath='kernel/workqueue.c' line='203' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='nr_in_flight' type-id='type-id-3438' visibility='default' filepath='kernel/workqueue.c' line='204' column='1'/>
+          <var-decl name='nr_in_flight' type-id='type-id-8083' visibility='default' filepath='kernel/workqueue.c' line='204' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='nr_active' type-id='type-id-17' visibility='default' filepath='kernel/workqueue.c' line='206' column='1'/>
+          <var-decl name='nr_active' type-id='type-id-11' visibility='default' filepath='kernel/workqueue.c' line='206' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='736'>
-          <var-decl name='max_active' type-id='type-id-17' visibility='default' filepath='kernel/workqueue.c' line='207' column='1'/>
+          <var-decl name='max_active' type-id='type-id-11' visibility='default' filepath='kernel/workqueue.c' line='207' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='delayed_works' type-id='type-id-20' visibility='default' filepath='kernel/workqueue.c' line='208' column='1'/>
+          <var-decl name='delayed_works' type-id='type-id-8' visibility='default' filepath='kernel/workqueue.c' line='208' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='pwqs_node' type-id='type-id-20' visibility='default' filepath='kernel/workqueue.c' line='209' column='1'/>
+          <var-decl name='pwqs_node' type-id='type-id-8' visibility='default' filepath='kernel/workqueue.c' line='209' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='mayday_node' type-id='type-id-20' visibility='default' filepath='kernel/workqueue.c' line='210' column='1'/>
+          <var-decl name='mayday_node' type-id='type-id-8' visibility='default' filepath='kernel/workqueue.c' line='210' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='unbound_release_work' type-id='type-id-255' visibility='default' filepath='kernel/workqueue.c' line='218' column='1'/>
+          <var-decl name='unbound_release_work' type-id='type-id-149' visibility='default' filepath='kernel/workqueue.c' line='218' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='kernel/workqueue.c' line='219' column='1'/>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='kernel/workqueue.c' line='219' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='worker_pool' size-in-bits='6656' is-struct='yes' visibility='default' filepath='kernel/workqueue.c' line='146' column='1' id='type-id-3447'>
+      <class-decl name='worker_pool' size-in-bits='6656' is-struct='yes' visibility='default' filepath='kernel/workqueue.c' line='146' column='1' id='type-id-8091'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='kernel/workqueue.c' line='147' column='1'/>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='kernel/workqueue.c' line='147' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='cpu' type-id='type-id-17' visibility='default' filepath='kernel/workqueue.c' line='148' column='1'/>
+          <var-decl name='cpu' type-id='type-id-11' visibility='default' filepath='kernel/workqueue.c' line='148' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='node' type-id='type-id-17' visibility='default' filepath='kernel/workqueue.c' line='149' column='1'/>
+          <var-decl name='node' type-id='type-id-11' visibility='default' filepath='kernel/workqueue.c' line='149' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='id' type-id='type-id-17' visibility='default' filepath='kernel/workqueue.c' line='150' column='1'/>
+          <var-decl name='id' type-id='type-id-11' visibility='default' filepath='kernel/workqueue.c' line='150' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='kernel/workqueue.c' line='151' column='1'/>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='kernel/workqueue.c' line='151' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='watchdog_ts' type-id='type-id-16' visibility='default' filepath='kernel/workqueue.c' line='153' column='1'/>
+          <var-decl name='watchdog_ts' type-id='type-id-100' visibility='default' filepath='kernel/workqueue.c' line='153' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='worklist' type-id='type-id-20' visibility='default' filepath='kernel/workqueue.c' line='155' column='1'/>
+          <var-decl name='worklist' type-id='type-id-8' visibility='default' filepath='kernel/workqueue.c' line='155' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='nr_workers' type-id='type-id-17' visibility='default' filepath='kernel/workqueue.c' line='157' column='1'/>
+          <var-decl name='nr_workers' type-id='type-id-11' visibility='default' filepath='kernel/workqueue.c' line='157' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='nr_idle' type-id='type-id-17' visibility='default' filepath='kernel/workqueue.c' line='158' column='1'/>
+          <var-decl name='nr_idle' type-id='type-id-11' visibility='default' filepath='kernel/workqueue.c' line='158' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='idle_list' type-id='type-id-20' visibility='default' filepath='kernel/workqueue.c' line='160' column='1'/>
+          <var-decl name='idle_list' type-id='type-id-8' visibility='default' filepath='kernel/workqueue.c' line='160' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='idle_timer' type-id='type-id-417' visibility='default' filepath='kernel/workqueue.c' line='161' column='1'/>
+          <var-decl name='idle_timer' type-id='type-id-1240' visibility='default' filepath='kernel/workqueue.c' line='161' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='mayday_timer' type-id='type-id-417' visibility='default' filepath='kernel/workqueue.c' line='162' column='1'/>
+          <var-decl name='mayday_timer' type-id='type-id-1240' visibility='default' filepath='kernel/workqueue.c' line='162' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='busy_hash' type-id='type-id-187' visibility='default' filepath='kernel/workqueue.c' line='165' column='1'/>
+          <var-decl name='busy_hash' type-id='type-id-4760' visibility='default' filepath='kernel/workqueue.c' line='165' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='5312'>
-          <var-decl name='manager' type-id='type-id-3448' visibility='default' filepath='kernel/workqueue.c' line='168' column='1'/>
+          <var-decl name='manager' type-id='type-id-8092' visibility='default' filepath='kernel/workqueue.c' line='168' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='5376'>
-          <var-decl name='workers' type-id='type-id-20' visibility='default' filepath='kernel/workqueue.c' line='169' column='1'/>
+          <var-decl name='workers' type-id='type-id-8' visibility='default' filepath='kernel/workqueue.c' line='169' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='5504'>
-          <var-decl name='detach_completion' type-id='type-id-1394' visibility='default' filepath='kernel/workqueue.c' line='170' column='1'/>
+          <var-decl name='detach_completion' type-id='type-id-176' visibility='default' filepath='kernel/workqueue.c' line='170' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='5568'>
-          <var-decl name='worker_ida' type-id='type-id-3449' visibility='default' filepath='kernel/workqueue.c' line='172' column='1'/>
+          <var-decl name='worker_ida' type-id='type-id-1251' visibility='default' filepath='kernel/workqueue.c' line='172' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='5696'>
-          <var-decl name='attrs' type-id='type-id-3450' visibility='default' filepath='kernel/workqueue.c' line='174' column='1'/>
+          <var-decl name='attrs' type-id='type-id-8093' visibility='default' filepath='kernel/workqueue.c' line='174' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='5760'>
-          <var-decl name='hash_node' type-id='type-id-520' visibility='default' filepath='kernel/workqueue.c' line='175' column='1'/>
+          <var-decl name='hash_node' type-id='type-id-378' visibility='default' filepath='kernel/workqueue.c' line='175' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='5888'>
-          <var-decl name='refcnt' type-id='type-id-17' visibility='default' filepath='kernel/workqueue.c' line='176' column='1'/>
+          <var-decl name='refcnt' type-id='type-id-11' visibility='default' filepath='kernel/workqueue.c' line='176' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='6144'>
-          <var-decl name='nr_running' type-id='type-id-26' visibility='default' filepath='kernel/workqueue.c' line='183' column='1'/>
+          <var-decl name='nr_running' type-id='type-id-137' visibility='default' filepath='kernel/workqueue.c' line='183' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='6208'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='kernel/workqueue.c' line='189' column='1'/>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='kernel/workqueue.c' line='189' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='ida' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/idr.h' line='230' column='1' id='type-id-3449'>
+      <class-decl name='ida' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/idr.h' line='230' column='1' id='type-id-1251'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ida_rt' type-id='type-id-415' visibility='default' filepath='include/linux/idr.h' line='231' column='1'/>
+          <var-decl name='ida_rt' type-id='type-id-3181' visibility='default' filepath='include/linux/idr.h' line='231' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='workqueue_attrs' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/workqueue.h' line='137' column='1' id='type-id-3451'>
+      <class-decl name='workqueue_attrs' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/workqueue.h' line='137' column='1' id='type-id-8094'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='nice' type-id='type-id-17' visibility='default' filepath='include/linux/workqueue.h' line='141' column='1'/>
+          <var-decl name='nice' type-id='type-id-11' visibility='default' filepath='include/linux/workqueue.h' line='141' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='cpumask' type-id='type-id-38' visibility='default' filepath='include/linux/workqueue.h' line='146' column='1'/>
+          <var-decl name='cpumask' type-id='type-id-371' visibility='default' filepath='include/linux/workqueue.h' line='146' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='no_numa' type-id='type-id-33' visibility='default' filepath='include/linux/workqueue.h' line='155' column='1'/>
+          <var-decl name='no_numa' type-id='type-id-211' visibility='default' filepath='include/linux/workqueue.h' line='155' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='wq_device' size-in-bits='6272' is-struct='yes' visibility='default' filepath='kernel/workqueue.c' line='5183' column='1' id='type-id-3452'>
+      <class-decl name='wq_device' size-in-bits='6272' is-struct='yes' visibility='default' filepath='kernel/workqueue.c' line='5185' column='1' id='type-id-8095'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='wq' type-id='type-id-654' visibility='default' filepath='kernel/workqueue.c' line='5184' column='1'/>
+          <var-decl name='wq' type-id='type-id-2154' visibility='default' filepath='kernel/workqueue.c' line='5186' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='dev' type-id='type-id-388' visibility='default' filepath='kernel/workqueue.c' line='5185' column='1'/>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='kernel/workqueue.c' line='5187' column='1'/>
         </data-member>
       </class-decl>
-      <pointer-type-def type-id='type-id-411' size-in-bits='64' id='type-id-3453'/>
-      <pointer-type-def type-id='type-id-3437' size-in-bits='64' id='type-id-3454'/>
-      <pointer-type-def type-id='type-id-3446' size-in-bits='64' id='type-id-3440'/>
-      <pointer-type-def type-id='type-id-3443' size-in-bits='64' id='type-id-3448'/>
-      <pointer-type-def type-id='type-id-3447' size-in-bits='64' id='type-id-3445'/>
-      <pointer-type-def type-id='type-id-3451' size-in-bits='64' id='type-id-3450'/>
-      <pointer-type-def type-id='type-id-3452' size-in-bits='64' id='type-id-3455'/>
-      <pointer-type-def type-id='type-id-3442' size-in-bits='64' id='type-id-3456'/>
-      <function-decl name='__alloc_workqueue_key' mangled-name='__alloc_workqueue_key' filepath='kernel/workqueue.c' line='4079' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__alloc_workqueue_key'>
-        <parameter type-id='type-id-4' name='fmt' filepath='kernel/workqueue.c' line='4079' column='1'/>
-        <parameter type-id='type-id-5' name='flags' filepath='kernel/workqueue.c' line='4080' column='1'/>
-        <parameter type-id='type-id-17' name='max_active' filepath='kernel/workqueue.c' line='4081' column='1'/>
-        <parameter type-id='type-id-1698' name='key' filepath='kernel/workqueue.c' line='4082' column='1'/>
-        <parameter type-id='type-id-4' name='lock_name' filepath='kernel/workqueue.c' line='4083' column='1'/>
-        <parameter is-variadic='yes'/>
-        <return type-id='type-id-654'/>
+      <class-decl name='device_attribute' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/device.h' line='580' column='1' id='type-id-1028'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='attr' type-id='type-id-858' visibility='default' filepath='include/linux/device.h' line='581' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='show' type-id='type-id-8096' visibility='default' filepath='include/linux/device.h' line='582' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='store' type-id='type-id-8097' visibility='default' filepath='include/linux/device.h' line='584' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-1028' const='yes' id='type-id-8098'/>
+      <pointer-type-def type-id='type-id-8098' size-in-bits='64' id='type-id-7295'/>
+      <qualified-type-def type-id='type-id-1161' const='yes' id='type-id-8099'/>
+      <pointer-type-def type-id='type-id-8099' size-in-bits='64' id='type-id-4495'/>
+      <pointer-type-def type-id='type-id-370' size-in-bits='64' id='type-id-8100'/>
+      <pointer-type-def type-id='type-id-1028' size-in-bits='64' id='type-id-542'/>
+      <pointer-type-def type-id='type-id-1251' size-in-bits='64' id='type-id-8101'/>
+      <pointer-type-def type-id='type-id-1161' size-in-bits='64' id='type-id-7269'/>
+      <pointer-type-def type-id='type-id-8102' size-in-bits='64' id='type-id-634'/>
+      <pointer-type-def type-id='type-id-4780' size-in-bits='64' id='type-id-532'/>
+      <pointer-type-def type-id='type-id-8090' size-in-bits='64' id='type-id-8084'/>
+      <pointer-type-def type-id='type-id-8103' size-in-bits='64' id='type-id-8096'/>
+      <pointer-type-def type-id='type-id-8104' size-in-bits='64' id='type-id-8097'/>
+      <pointer-type-def type-id='type-id-8087' size-in-bits='64' id='type-id-8092'/>
+      <pointer-type-def type-id='type-id-8091' size-in-bits='64' id='type-id-8089'/>
+      <pointer-type-def type-id='type-id-8094' size-in-bits='64' id='type-id-8093'/>
+      <pointer-type-def type-id='type-id-8095' size-in-bits='64' id='type-id-8105'/>
+      <pointer-type-def type-id='type-id-8086' size-in-bits='64' id='type-id-8106'/>
+      <function-decl name='del_timer_sync' mangled-name='del_timer_sync' filepath='include/linux/timer.h' line='176' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='del_timer_sync'>
+        <parameter type-id='type-id-6243'/>
+        <return type-id='type-id-11'/>
       </function-decl>
-      <function-decl name='queue_work_on' mangled-name='queue_work_on' filepath='kernel/workqueue.c' line='1497' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='queue_work_on'>
-        <parameter type-id='type-id-17' name='cpu' filepath='kernel/workqueue.c' line='1497' column='1'/>
-        <parameter type-id='type-id-654' name='wq' filepath='kernel/workqueue.c' line='1497' column='1'/>
-        <parameter type-id='type-id-3234' name='work' filepath='kernel/workqueue.c' line='1498' column='1'/>
-        <return type-id='type-id-33'/>
+      <function-decl name='rcu_barrier' mangled-name='rcu_barrier' filepath='include/linux/rcutree.h' line='74' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rcu_barrier'>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='free_percpu' mangled-name='free_percpu' filepath='include/linux/percpu.h' line='142' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='free_percpu'>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='destroy_workqueue' mangled-name='destroy_workqueue' filepath='include/linux/workqueue.h' line='456' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='destroy_workqueue'>
+        <parameter type-id='type-id-2154'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='kthread_stop' mangled-name='kthread_stop' filepath='include/linux/kthread.h' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kthread_stop'>
+        <parameter type-id='type-id-118'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='idr_get_next' mangled-name='idr_get_next' filepath='include/linux/idr.h' line='122' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='idr_get_next'>
+        <parameter type-id='type-id-7269'/>
+        <parameter type-id='type-id-82'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='strscpy' mangled-name='strscpy' filepath='include/linux/string.h' line='32' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strscpy'>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-187'/>
+      </function-decl>
+      <function-decl name='dev_set_name' mangled-name='dev_set_name' filepath='include/linux/device.h' line='1100' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_set_name'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-24'/>
+        <parameter is-variadic='yes'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='device_register' mangled-name='device_register' filepath='include/linux/device.h' line='1259' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_register'>
+        <parameter type-id='type-id-86'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='device_create_file' mangled-name='device_create_file' filepath='include/linux/device.h' line='630' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_create_file'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-7295'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='device_unregister' mangled-name='device_unregister' filepath='include/linux/device.h' line='1260' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_unregister'>
+        <parameter type-id='type-id-86'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='add_timer' mangled-name='add_timer' filepath='include/linux/timer.h' line='171' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='add_timer'>
+        <parameter type-id='type-id-6243'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='del_timer' mangled-name='del_timer' filepath='include/linux/timer.h' line='160' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='del_timer'>
+        <parameter type-id='type-id-6243'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='prepare_to_wait_exclusive' mangled-name='prepare_to_wait_exclusive' filepath='include/linux/wait.h' line='1111' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='prepare_to_wait_exclusive'>
+        <parameter type-id='type-id-7302'/>
+        <parameter type-id='type-id-7301'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='autoremove_wake_function' mangled-name='autoremove_wake_function' filepath='include/linux/wait.h' line='1116' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='autoremove_wake_function'>
+        <parameter type-id='type-id-7301'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='idr_remove' mangled-name='idr_remove' filepath='include/linux/idr.h' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='idr_remove'>
+        <parameter type-id='type-id-7269'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='ida_destroy' mangled-name='ida_destroy' filepath='include/linux/idr.h' line='241' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ida_destroy'>
+        <parameter type-id='type-id-8101'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='kthread_create_on_node' mangled-name='kthread_create_on_node' filepath='include/linux/kthread.h' line='9' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kthread_create_on_node'>
+        <parameter type-id='type-id-634'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-24'/>
+        <parameter is-variadic='yes'/>
+        <return type-id='type-id-118'/>
+      </function-decl>
+      <function-decl name='kthread_should_stop' mangled-name='kthread_should_stop' filepath='include/linux/kthread.h' line='56' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kthread_should_stop'>
+        <return type-id='type-id-264'/>
+      </function-decl>
+      <function-decl name='idr_find' mangled-name='idr_find' filepath='include/linux/idr.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='idr_find'>
+        <parameter type-id='type-id-4495'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='ida_alloc_range' mangled-name='ida_alloc_range' filepath='include/linux/idr.h' line='239' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ida_alloc_range'>
+        <parameter type-id='type-id-8101'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='ida_free' mangled-name='ida_free' filepath='include/linux/idr.h' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ida_free'>
+        <parameter type-id='type-id-8101'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='mod_timer' mangled-name='mod_timer' filepath='include/linux/timer.h' line='161' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mod_timer'>
+        <parameter type-id='type-id-6243'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='schedule_timeout_interruptible' mangled-name='schedule_timeout_interruptible' filepath='include/linux/sched.h' line='214' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='schedule_timeout_interruptible'>
+        <parameter type-id='type-id-187'/>
+        <return type-id='type-id-187'/>
+      </function-decl>
+      <function-decl name='init_timer_key' mangled-name='init_timer_key' filepath='include/linux/timer.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='init_timer_key'>
+        <parameter type-id='type-id-6243'/>
+        <parameter type-id='type-id-5304'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-532'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='idr_alloc' mangled-name='idr_alloc' filepath='include/linux/idr.h' line='114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='idr_alloc'>
+        <parameter type-id='type-id-7269'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__alloc_workqueue_key' mangled-name='__alloc_workqueue_key' filepath='kernel/workqueue.c' line='4081' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__alloc_workqueue_key'>
+        <parameter type-id='type-id-24' name='fmt' filepath='kernel/workqueue.c' line='4081' column='1'/>
+        <parameter type-id='type-id-10' name='flags' filepath='kernel/workqueue.c' line='4082' column='1'/>
+        <parameter type-id='type-id-11' name='max_active' filepath='kernel/workqueue.c' line='4083' column='1'/>
+        <parameter type-id='type-id-532' name='key' filepath='kernel/workqueue.c' line='4084' column='1'/>
+        <parameter type-id='type-id-24' name='lock_name' filepath='kernel/workqueue.c' line='4085' column='1'/>
+        <parameter is-variadic='yes'/>
+        <return type-id='type-id-2154'/>
       </function-decl>
       <function-decl name='delayed_work_timer_fn' mangled-name='delayed_work_timer_fn' filepath='kernel/workqueue.c' line='1515' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='delayed_work_timer_fn'>
-        <parameter type-id='type-id-3065' name='t' filepath='kernel/workqueue.c' line='1515' column='1'/>
-        <return type-id='type-id-81'/>
+        <parameter type-id='type-id-6243' name='t' filepath='kernel/workqueue.c' line='1515' column='1'/>
+        <return type-id='type-id-73'/>
       </function-decl>
-      <function-decl name='queue_delayed_work_on' mangled-name='queue_delayed_work_on' filepath='kernel/workqueue.c' line='1567' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='queue_delayed_work_on'>
-        <parameter type-id='type-id-17' name='cpu' filepath='kernel/workqueue.c' line='1567' column='1'/>
-        <parameter type-id='type-id-654' name='wq' filepath='kernel/workqueue.c' line='1567' column='1'/>
-        <parameter type-id='type-id-3453' name='dwork' filepath='kernel/workqueue.c' line='1568' column='1'/>
-        <parameter type-id='type-id-16' name='delay' filepath='kernel/workqueue.c' line='1568' column='1'/>
-        <return type-id='type-id-33'/>
+      <function-decl name='queue_delayed_work_on' mangled-name='queue_delayed_work_on' filepath='kernel/workqueue.c' line='1569' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='queue_delayed_work_on'>
+        <parameter type-id='type-id-11' name='cpu' filepath='kernel/workqueue.c' line='1569' column='1'/>
+        <parameter type-id='type-id-2154' name='wq' filepath='kernel/workqueue.c' line='1569' column='1'/>
+        <parameter type-id='type-id-8100' name='dwork' filepath='kernel/workqueue.c' line='1570' column='1'/>
+        <parameter type-id='type-id-100' name='delay' filepath='kernel/workqueue.c' line='1570' column='1'/>
+        <return type-id='type-id-211'/>
       </function-decl>
-      <function-decl name='flush_workqueue' mangled-name='flush_workqueue' filepath='kernel/workqueue.c' line='2672' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='flush_workqueue'>
-        <parameter type-id='type-id-654' name='wq' filepath='kernel/workqueue.c' line='2672' column='1'/>
-        <return type-id='type-id-81'/>
+      <function-decl name='mod_delayed_work_on' mangled-name='mod_delayed_work_on' filepath='kernel/workqueue.c' line='1607' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mod_delayed_work_on'>
+        <parameter type-id='type-id-11' name='cpu' filepath='kernel/workqueue.c' line='1607' column='1'/>
+        <parameter type-id='type-id-2154' name='wq' filepath='kernel/workqueue.c' line='1607' column='1'/>
+        <parameter type-id='type-id-8100' name='dwork' filepath='kernel/workqueue.c' line='1608' column='1'/>
+        <parameter type-id='type-id-100' name='delay' filepath='kernel/workqueue.c' line='1608' column='1'/>
+        <return type-id='type-id-211'/>
       </function-decl>
-      <function-decl name='flush_work' mangled-name='flush_work' filepath='kernel/workqueue.c' line='2968' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='flush_work'>
-        <parameter type-id='type-id-3234' name='work' filepath='kernel/workqueue.c' line='2968' column='1'/>
-        <return type-id='type-id-33'/>
+      <function-decl name='flush_workqueue' mangled-name='flush_workqueue' filepath='kernel/workqueue.c' line='2674' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='flush_workqueue'>
+        <parameter type-id='type-id-2154' name='wq' filepath='kernel/workqueue.c' line='2674' column='1'/>
+        <return type-id='type-id-73'/>
       </function-decl>
-      <function-decl name='cancel_work_sync' mangled-name='cancel_work_sync' filepath='kernel/workqueue.c' line='3070' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cancel_work_sync'>
-        <parameter type-id='type-id-3234' name='work' filepath='kernel/workqueue.c' line='3070' column='1'/>
-        <return type-id='type-id-33'/>
+      <function-decl name='drain_workqueue' mangled-name='drain_workqueue' filepath='kernel/workqueue.c' line='2836' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drain_workqueue'>
+        <parameter type-id='type-id-2154' name='wq' filepath='kernel/workqueue.c' line='2836' column='1'/>
+        <return type-id='type-id-73'/>
       </function-decl>
-      <function-decl name='cancel_delayed_work' mangled-name='cancel_delayed_work' filepath='kernel/workqueue.c' line='3151' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cancel_delayed_work'>
-        <parameter type-id='type-id-3453' name='dwork' filepath='kernel/workqueue.c' line='3151' column='1'/>
-        <return type-id='type-id-33'/>
+      <function-decl name='flush_work' mangled-name='flush_work' filepath='kernel/workqueue.c' line='2970' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='flush_work'>
+        <parameter type-id='type-id-6370' name='work' filepath='kernel/workqueue.c' line='2970' column='1'/>
+        <return type-id='type-id-211'/>
       </function-decl>
-      <function-decl name='cancel_delayed_work_sync' mangled-name='cancel_delayed_work_sync' filepath='kernel/workqueue.c' line='3166' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cancel_delayed_work_sync'>
-        <parameter type-id='type-id-3453' name='dwork' filepath='kernel/workqueue.c' line='3166' column='1'/>
-        <return type-id='type-id-33'/>
+      <function-decl name='cancel_work_sync' mangled-name='cancel_work_sync' filepath='kernel/workqueue.c' line='3072' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cancel_work_sync'>
+        <parameter type-id='type-id-6370' name='work' filepath='kernel/workqueue.c' line='3072' column='1'/>
+        <return type-id='type-id-211'/>
       </function-decl>
-      <function-decl name='destroy_workqueue' mangled-name='destroy_workqueue' filepath='kernel/workqueue.c' line='4181' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='destroy_workqueue'>
-        <parameter type-id='type-id-654' name='wq' filepath='kernel/workqueue.c' line='4181' column='1'/>
-        <return type-id='type-id-81'/>
+      <function-decl name='flush_delayed_work' mangled-name='flush_delayed_work' filepath='kernel/workqueue.c' line='3090' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='flush_delayed_work'>
+        <parameter type-id='type-id-8100' name='dwork' filepath='kernel/workqueue.c' line='3090' column='1'/>
+        <return type-id='type-id-211'/>
       </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='lib/kobject_uevent.c' language='LANG_C89'>
-      <enum-decl name='kobject_action' filepath='include/linux/kobject.h' line='53' column='1' id='type-id-3457'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='KOBJ_ADD' value='0'/>
-        <enumerator name='KOBJ_REMOVE' value='1'/>
-        <enumerator name='KOBJ_CHANGE' value='2'/>
-        <enumerator name='KOBJ_MOVE' value='3'/>
-        <enumerator name='KOBJ_ONLINE' value='4'/>
-        <enumerator name='KOBJ_OFFLINE' value='5'/>
-        <enumerator name='KOBJ_BIND' value='6'/>
-        <enumerator name='KOBJ_UNBIND' value='7'/>
-        <enumerator name='KOBJ_MAX' value='8'/>
-      </enum-decl>
-      <function-decl name='kobject_uevent_env' mangled-name='kobject_uevent_env' filepath='lib/kobject_uevent.c' line='454' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kobject_uevent_env'>
-        <parameter type-id='type-id-379' name='kobj' filepath='lib/kobject_uevent.c' line='454' column='1'/>
-        <parameter type-id='type-id-3457' name='action' filepath='lib/kobject_uevent.c' line='454' column='1'/>
-        <parameter type-id='type-id-3458' name='envp_ext' filepath='lib/kobject_uevent.c' line='455' column='1'/>
-        <return type-id='type-id-17'/>
+      <function-decl name='cancel_delayed_work' mangled-name='cancel_delayed_work' filepath='kernel/workqueue.c' line='3153' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cancel_delayed_work'>
+        <parameter type-id='type-id-8100' name='dwork' filepath='kernel/workqueue.c' line='3153' column='1'/>
+        <return type-id='type-id-211'/>
       </function-decl>
-      <function-decl name='add_uevent_var' mangled-name='add_uevent_var' filepath='lib/kobject_uevent.c' line='651' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='add_uevent_var'>
-        <parameter type-id='type-id-3012' name='env' filepath='lib/kobject_uevent.c' line='651' column='1'/>
-        <parameter type-id='type-id-4' name='format' filepath='lib/kobject_uevent.c' line='651' column='1'/>
-        <parameter is-variadic='yes'/>
-        <return type-id='type-id-17'/>
+      <function-decl name='cancel_delayed_work_sync' mangled-name='cancel_delayed_work_sync' filepath='kernel/workqueue.c' line='3168' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cancel_delayed_work_sync'>
+        <parameter type-id='type-id-8100' name='dwork' filepath='kernel/workqueue.c' line='3168' column='1'/>
+        <return type-id='type-id-211'/>
       </function-decl>
-      <function-decl name='kobject_uevent' mangled-name='kobject_uevent' filepath='lib/kobject_uevent.c' line='637' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kobject_uevent'>
-        <parameter type-id='type-id-379' name='kobj' filepath='lib/kobject_uevent.c' line='637' column='1'/>
-        <parameter type-id='type-id-3457' name='action' filepath='lib/kobject_uevent.c' line='637' column='1'/>
-        <return type-id='type-id-17'/>
+      <function-decl name='work_busy' mangled-name='work_busy' filepath='kernel/workqueue.c' line='4385' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='work_busy'>
+        <parameter type-id='type-id-6370' name='work' filepath='kernel/workqueue.c' line='4385' column='1'/>
+        <return type-id='type-id-10'/>
       </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/kthread.c' language='LANG_C89'>
-      <class-decl name='vm_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3459'/>
-      <pointer-type-def type-id='type-id-3460' size-in-bits='64' id='type-id-3366'/>
-      <pointer-type-def type-id='type-id-3459' size-in-bits='64' id='type-id-3461'/>
-      <function-decl name='kthread_should_stop' mangled-name='kthread_should_stop' filepath='kernel/kthread.c' line='99' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kthread_should_stop'>
-        <return type-id='type-id-33'/>
-      </function-decl>
-      <function-decl name='kthread_create_on_node' mangled-name='kthread_create_on_node' filepath='kernel/kthread.c' line='371' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kthread_create_on_node'>
-        <parameter type-id='type-id-3366' name='threadfn' filepath='kernel/kthread.c' line='371' column='1'/>
-        <parameter type-id='type-id-15' name='data' filepath='kernel/kthread.c' line='372' column='1'/>
-        <parameter type-id='type-id-17' name='node' filepath='kernel/kthread.c' line='372' column='1'/>
-        <parameter type-id='type-id-4' name='namefmt' filepath='kernel/kthread.c' line='373' column='1'/>
-        <parameter is-variadic='yes'/>
-        <return type-id='type-id-431'/>
-      </function-decl>
-      <function-decl name='kthread_stop' mangled-name='kthread_stop' filepath='kernel/kthread.c' line='539' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kthread_stop'>
-        <parameter type-id='type-id-431' name='k' filepath='kernel/kthread.c' line='539' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='kthread_create_worker' mangled-name='kthread_create_worker' filepath='kernel/kthread.c' line='718' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kthread_create_worker'>
-        <parameter type-id='type-id-5' name='flags' filepath='kernel/kthread.c' line='718' column='1'/>
-        <parameter type-id='type-id-4' name='namefmt' filepath='kernel/kthread.c' line='718' column='1'/>
-        <parameter is-variadic='yes'/>
-        <return type-id='type-id-2321'/>
-      </function-decl>
-      <function-decl name='kthread_queue_work' mangled-name='kthread_queue_work' filepath='kernel/kthread.c' line='810' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kthread_queue_work'>
-        <parameter type-id='type-id-2321' name='worker' filepath='kernel/kthread.c' line='810' column='1'/>
-        <parameter type-id='type-id-2325' name='work' filepath='kernel/kthread.c' line='811' column='1'/>
-        <return type-id='type-id-33'/>
-      </function-decl>
-      <function-decl name='kthread_destroy_worker' mangled-name='kthread_destroy_worker' filepath='kernel/kthread.c' line='1169' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kthread_destroy_worker'>
-        <parameter type-id='type-id-2321' name='worker' filepath='kernel/kthread.c' line='1169' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-3460'>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8102'>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8103'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-542'/>
+        <parameter type-id='type-id-300'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8104'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-542'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-543'/>
       </function-type>
     </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/cred.c' language='LANG_C89'>
-      <pointer-type-def type-id='type-id-1615' size-in-bits='64' id='type-id-3340'/>
-      <function-decl name='__put_cred' mangled-name='__put_cred' filepath='kernel/cred.c' line='135' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__put_cred'>
-        <parameter type-id='type-id-3340' name='cred' filepath='kernel/cred.c' line='135' column='1'/>
-        <return type-id='type-id-81'/>
+    <abi-instr version='1.0' address-size='64' path='lib/bitmap.c' language='LANG_C89'>
+      <function-decl name='__bitmap_shift_right' mangled-name='__bitmap_shift_right' filepath='lib/bitmap.c' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__bitmap_shift_right'>
+        <parameter type-id='type-id-76' name='dst' filepath='lib/bitmap.c' line='86' column='1'/>
+        <parameter type-id='type-id-119' name='src' filepath='lib/bitmap.c' line='86' column='1'/>
+        <parameter type-id='type-id-10' name='shift' filepath='lib/bitmap.c' line='87' column='1'/>
+        <parameter type-id='type-id-10' name='nbits' filepath='lib/bitmap.c' line='87' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__bitmap_weight' mangled-name='__bitmap_weight' filepath='lib/bitmap.c' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__bitmap_weight'>
+        <parameter type-id='type-id-119' name='bitmap' filepath='lib/bitmap.c' line='240' column='1'/>
+        <parameter type-id='type-id-10' name='bits' filepath='lib/bitmap.c' line='240' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__bitmap_set' mangled-name='__bitmap_set' filepath='lib/bitmap.c' line='255' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__bitmap_set'>
+        <parameter type-id='type-id-76' name='map' filepath='lib/bitmap.c' line='255' column='1'/>
+        <parameter type-id='type-id-10' name='start' filepath='lib/bitmap.c' line='255' column='1'/>
+        <parameter type-id='type-id-11' name='len' filepath='lib/bitmap.c' line='255' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__bitmap_clear' mangled-name='__bitmap_clear' filepath='lib/bitmap.c' line='276' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__bitmap_clear'>
+        <parameter type-id='type-id-76' name='map' filepath='lib/bitmap.c' line='276' column='1'/>
+        <parameter type-id='type-id-10' name='start' filepath='lib/bitmap.c' line='276' column='1'/>
+        <parameter type-id='type-id-11' name='len' filepath='lib/bitmap.c' line='276' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='bitmap_print_to_pagebuf' mangled-name='bitmap_print_to_pagebuf' filepath='lib/bitmap.c' line='475' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bitmap_print_to_pagebuf'>
+        <parameter type-id='type-id-211' name='list' filepath='lib/bitmap.c' line='475' column='1'/>
+        <parameter type-id='type-id-300' name='buf' filepath='lib/bitmap.c' line='475' column='1'/>
+        <parameter type-id='type-id-119' name='maskp' filepath='lib/bitmap.c' line='475' column='1'/>
+        <parameter type-id='type-id-11' name='nmaskbits' filepath='lib/bitmap.c' line='476' column='1'/>
+        <return type-id='type-id-11'/>
       </function-decl>
     </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/kmod.c' language='LANG_C89'>
-      <function-decl name='__request_module' mangled-name='__request_module' filepath='kernel/kmod.c' line='125' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__request_module'>
-        <parameter type-id='type-id-33' name='wait' filepath='kernel/kmod.c' line='125' column='1'/>
-        <parameter type-id='type-id-4' name='fmt' filepath='kernel/kmod.c' line='125' column='1'/>
-        <parameter is-variadic='yes'/>
-        <return type-id='type-id-17'/>
+    <abi-instr version='1.0' address-size='64' path='lib/checksum.c' language='LANG_C89'>
+      <typedef-decl name='__sum16' type-id='type-id-1107' filepath='include/uapi/linux/types.h' line='36' column='1' id='type-id-8107'/>
+      <function-decl name='ip_compute_csum' mangled-name='ip_compute_csum' filepath='lib/checksum.c' line='146' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ip_compute_csum'>
+        <parameter type-id='type-id-3' name='buff' filepath='lib/checksum.c' line='146' column='1'/>
+        <parameter type-id='type-id-11' name='len' filepath='lib/checksum.c' line='146' column='1'/>
+        <return type-id='type-id-8107'/>
+      </function-decl>
+      <function-decl name='csum_tcpudp_nofold' mangled-name='csum_tcpudp_nofold' filepath='lib/checksum.c' line='193' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='csum_tcpudp_nofold'>
+        <parameter type-id='type-id-2085' name='saddr' filepath='lib/checksum.c' line='193' column='1'/>
+        <parameter type-id='type-id-2085' name='daddr' filepath='lib/checksum.c' line='193' column='1'/>
+        <parameter type-id='type-id-266' name='len' filepath='lib/checksum.c' line='194' column='1'/>
+        <parameter type-id='type-id-1122' name='proto' filepath='lib/checksum.c' line='194' column='1'/>
+        <parameter type-id='type-id-7534' name='sum' filepath='lib/checksum.c' line='194' column='1'/>
+        <return type-id='type-id-7534'/>
       </function-decl>
     </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/sched/completion.c' language='LANG_C89'>
-      <function-decl name='complete' mangled-name='complete' filepath='kernel/sched/completion.c' line='28' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='complete'>
-        <parameter type-id='type-id-1394' name='x' filepath='kernel/sched/completion.c' line='28' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='complete_all' mangled-name='complete_all' filepath='kernel/sched/completion.c' line='57' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='complete_all'>
-        <parameter type-id='type-id-1394' name='x' filepath='kernel/sched/completion.c' line='57' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='wait_for_completion' mangled-name='wait_for_completion' filepath='kernel/sched/completion.c' line='134' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wait_for_completion'>
-        <parameter type-id='type-id-1394' name='x' filepath='kernel/sched/completion.c' line='134' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='wait_for_completion_killable' mangled-name='wait_for_completion_killable' filepath='kernel/sched/completion.c' line='239' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wait_for_completion_killable'>
-        <parameter type-id='type-id-1394' name='x' filepath='kernel/sched/completion.c' line='239' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='completion_done' mangled-name='completion_done' filepath='kernel/sched/completion.c' line='313' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='completion_done'>
-        <parameter type-id='type-id-1394' name='x' filepath='kernel/sched/completion.c' line='313' column='1'/>
-        <return type-id='type-id-33'/>
+    <abi-instr version='1.0' address-size='64' path='lib/crc-ccitt.c' language='LANG_C89'>
+      <function-decl name='crc_ccitt' mangled-name='crc_ccitt' filepath='lib/crc-ccitt.c' line='101' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc_ccitt'>
+        <parameter type-id='type-id-289' name='crc' filepath='lib/crc-ccitt.c' line='101' column='1'/>
+        <parameter type-id='type-id-55' name='buffer' filepath='lib/crc-ccitt.c' line='101' column='1'/>
+        <parameter type-id='type-id-125' name='len' filepath='lib/crc-ccitt.c' line='101' column='1'/>
+        <return type-id='type-id-289'/>
       </function-decl>
     </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/locking/mutex.c' language='LANG_C89'>
-      <class-decl name='io_context' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3462'/>
-      <class-decl name='mm_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3463'/>
-      <class-decl name='nsproxy' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3464'/>
-      <class-decl name='page' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3465'/>
-      <class-decl name='user_namespace' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3466'/>
-      <class-decl name='ww_mutex' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/ww_mutex.h' line='51' column='1' id='type-id-3467'>
+    <abi-instr version='1.0' address-size='64' path='lib/crc32.c' language='LANG_C89'>
+      <function-decl name='__crc32c_le_shift' mangled-name='__crc32c_le_shift' filepath='lib/crc32.c' line='275' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__crc32c_le_shift'>
+        <parameter type-id='type-id-9' name='crc' filepath='lib/crc32.c' line='275' column='1'/>
+        <parameter type-id='type-id-125' name='len' filepath='lib/crc32.c' line='275' column='1'/>
+        <return type-id='type-id-9'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='lib/devres.c' language='LANG_C89'>
+      <function-decl name='of_address_to_resource' mangled-name='of_address_to_resource' filepath='include/linux/of_address.h' line='120' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_address_to_resource'>
+        <parameter type-id='type-id-81'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-279'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='pci_request_region' mangled-name='pci_request_region' filepath='include/linux/pci.h' line='1220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_request_region'>
+        <parameter type-id='type-id-302'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='pci_release_region' mangled-name='pci_release_region' filepath='include/linux/pci.h' line='1222' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_release_region'>
+        <parameter type-id='type-id-302'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='pci_request_selected_regions' mangled-name='pci_request_selected_regions' filepath='include/linux/pci.h' line='1223' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_request_selected_regions'>
+        <parameter type-id='type-id-302'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-24'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='pci_release_selected_regions' mangled-name='pci_release_selected_regions' filepath='include/linux/pci.h' line='1225' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_release_selected_regions'>
+        <parameter type-id='type-id-302'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='devm_ioremap' mangled-name='devm_ioremap' filepath='lib/devres.c' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_ioremap'>
+        <parameter type-id='type-id-86' name='dev' filepath='lib/devres.c' line='64' column='1'/>
+        <parameter type-id='type-id-1254' name='offset' filepath='lib/devres.c' line='64' column='1'/>
+        <parameter type-id='type-id-1254' name='size' filepath='lib/devres.c' line='65' column='1'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='devm_ioremap_nocache' mangled-name='devm_ioremap_nocache' filepath='lib/devres.c' line='80' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_ioremap_nocache'>
+        <parameter type-id='type-id-86' name='dev' filepath='lib/devres.c' line='80' column='1'/>
+        <parameter type-id='type-id-1254' name='offset' filepath='lib/devres.c' line='80' column='1'/>
+        <parameter type-id='type-id-1254' name='size' filepath='lib/devres.c' line='81' column='1'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='devm_ioremap_wc' mangled-name='devm_ioremap_wc' filepath='lib/devres.c' line='95' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_ioremap_wc'>
+        <parameter type-id='type-id-86' name='dev' filepath='lib/devres.c' line='95' column='1'/>
+        <parameter type-id='type-id-1254' name='offset' filepath='lib/devres.c' line='95' column='1'/>
+        <parameter type-id='type-id-1254' name='size' filepath='lib/devres.c' line='96' column='1'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='devm_iounmap' mangled-name='devm_iounmap' filepath='lib/devres.c' line='109' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_iounmap'>
+        <parameter type-id='type-id-86' name='dev' filepath='lib/devres.c' line='109' column='1'/>
+        <parameter type-id='type-id-3' name='addr' filepath='lib/devres.c' line='109' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='devm_ioremap_resource' mangled-name='devm_ioremap_resource' filepath='lib/devres.c' line='134' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_ioremap_resource'>
+        <parameter type-id='type-id-86' name='dev' filepath='lib/devres.c' line='134' column='1'/>
+        <parameter type-id='type-id-569' name='res' filepath='lib/devres.c' line='135' column='1'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='lib/fdt.c' language='LANG_C89'>
+      <function-decl name='memmove' mangled-name='memmove' filepath='arch/arm64/include/asm/string.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='memmove'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='lib/fdt_ro.c' language='LANG_C89'>
+      <function-decl name='memchr' mangled-name='memchr' filepath='arch/arm64/include/asm/string.h' line='42' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='memchr'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='strrchr' mangled-name='strrchr' filepath='arch/arm64/include/asm/string.h' line='21' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strrchr'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-300'/>
+      </function-decl>
+      <function-decl name='strnlen' mangled-name='strnlen' filepath='arch/arm64/include/asm/string.h' line='36' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strnlen'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='lib/fdt_rw.c' language='LANG_C89'>
+      <function-decl name='memset' mangled-name='memset' filepath='arch/arm64/include/asm/string.h' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='memset'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='lib/gcd.c' language='LANG_C89'>
+      <function-decl name='gcd' mangled-name='gcd' filepath='lib/gcd.c' line='22' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gcd'>
+        <parameter type-id='type-id-100' name='a' filepath='lib/gcd.c' line='22' column='1'/>
+        <parameter type-id='type-id-100' name='b' filepath='lib/gcd.c' line='22' column='1'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='lib/genalloc.c' language='LANG_C89'>
+      <function-decl name='of_find_device_by_node' mangled-name='of_find_device_by_node' filepath='include/linux/of_platform.h' line='56' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_find_device_by_node'>
+        <parameter type-id='type-id-81'/>
+        <return type-id='type-id-568'/>
+      </function-decl>
+      <function-decl name='of_get_parent' mangled-name='of_get_parent' filepath='include/linux/of.h' line='294' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_get_parent'>
+        <parameter type-id='type-id-80'/>
+        <return type-id='type-id-81'/>
+      </function-decl>
+      <function-decl name='of_property_read_string' mangled-name='of_property_read_string' filepath='include/linux/of.h' line='342' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_property_read_string'>
+        <parameter type-id='type-id-80'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-184'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='gen_pool_best_fit' mangled-name='gen_pool_best_fit' filepath='lib/genalloc.c' line='630' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gen_pool_best_fit'>
+        <parameter type-id='type-id-76' name='map' filepath='lib/genalloc.c' line='630' column='1'/>
+        <parameter type-id='type-id-100' name='size' filepath='lib/genalloc.c' line='630' column='1'/>
+        <parameter type-id='type-id-100' name='start' filepath='lib/genalloc.c' line='631' column='1'/>
+        <parameter type-id='type-id-10' name='nr' filepath='lib/genalloc.c' line='631' column='1'/>
+        <parameter type-id='type-id-3' name='data' filepath='lib/genalloc.c' line='631' column='1'/>
+        <parameter type-id='type-id-213' name='pool' filepath='lib/genalloc.c' line='632' column='1'/>
+        <parameter type-id='type-id-100' name='start_addr' filepath='lib/genalloc.c' line='632' column='1'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='lib/hweight.c' language='LANG_C89'>
+      <function-decl name='__sw_hweight32' mangled-name='__sw_hweight32' filepath='lib/hweight.c' line='14' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__sw_hweight32'>
+        <parameter type-id='type-id-10' name='w' filepath='lib/hweight.c' line='14' column='1'/>
+        <return type-id='type-id-10'/>
+      </function-decl>
+      <function-decl name='__sw_hweight8' mangled-name='__sw_hweight8' filepath='lib/hweight.c' line='41' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__sw_hweight8'>
+        <parameter type-id='type-id-10' name='w' filepath='lib/hweight.c' line='41' column='1'/>
+        <return type-id='type-id-10'/>
+      </function-decl>
+      <function-decl name='__sw_hweight64' mangled-name='__sw_hweight64' filepath='lib/hweight.c' line='50' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__sw_hweight64'>
+        <parameter type-id='type-id-1120' name='w' filepath='lib/hweight.c' line='50' column='1'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='lib/iomap_copy.c' language='LANG_C89'>
+      <function-decl name='__iowrite32_copy' mangled-name='__iowrite32_copy' filepath='lib/iomap_copy.c' line='31' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__iowrite32_copy'>
+        <parameter type-id='type-id-3' name='to' filepath='lib/iomap_copy.c' line='31' column='1'/>
+        <parameter type-id='type-id-3' name='from' filepath='lib/iomap_copy.c' line='32' column='1'/>
+        <parameter type-id='type-id-125' name='count' filepath='lib/iomap_copy.c' line='33' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='lib/iov_iter.c' language='LANG_C89'>
+      <function-decl name='csum_partial' mangled-name='csum_partial' filepath='include/asm-generic/checksum.h' line='17' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='csum_partial'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-10'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='lib/kstrtox.c' language='LANG_C89'>
+      <pointer-type-def type-id='type-id-4809' size-in-bits='64' id='type-id-8108'/>
+      <pointer-type-def type-id='type-id-289' size-in-bits='64' id='type-id-625'/>
+      <function-decl name='kstrtos8' mangled-name='kstrtos8' filepath='lib/kstrtox.c' line='308' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kstrtos8'>
+        <parameter type-id='type-id-24' name='s' filepath='lib/kstrtox.c' line='308' column='1'/>
+        <parameter type-id='type-id-10' name='base' filepath='lib/kstrtox.c' line='308' column='1'/>
+        <parameter type-id='type-id-8108' name='res' filepath='lib/kstrtox.c' line='308' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='kstrtou16_from_user' mangled-name='kstrtou16_from_user' filepath='lib/kstrtox.c' line='407' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kstrtou16_from_user'>
+        <parameter type-id='type-id-24' name='s' filepath='lib/kstrtox.c' line='407' column='1'/>
+        <parameter type-id='type-id-125' name='count' filepath='lib/kstrtox.c' line='407' column='1'/>
+        <parameter type-id='type-id-10' name='base' filepath='lib/kstrtox.c' line='407' column='1'/>
+        <parameter type-id='type-id-625' name='res' filepath='lib/kstrtox.c' line='407' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='kstrtou8_from_user' mangled-name='kstrtou8_from_user' filepath='lib/kstrtox.c' line='409' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kstrtou8_from_user'>
+        <parameter type-id='type-id-24' name='s' filepath='lib/kstrtox.c' line='409' column='1'/>
+        <parameter type-id='type-id-125' name='count' filepath='lib/kstrtox.c' line='409' column='1'/>
+        <parameter type-id='type-id-10' name='base' filepath='lib/kstrtox.c' line='409' column='1'/>
+        <parameter type-id='type-id-67' name='res' filepath='lib/kstrtox.c' line='409' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='kstrtos8_from_user' mangled-name='kstrtos8_from_user' filepath='lib/kstrtox.c' line='410' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kstrtos8_from_user'>
+        <parameter type-id='type-id-24' name='s' filepath='lib/kstrtox.c' line='410' column='1'/>
+        <parameter type-id='type-id-125' name='count' filepath='lib/kstrtox.c' line='410' column='1'/>
+        <parameter type-id='type-id-10' name='base' filepath='lib/kstrtox.c' line='410' column='1'/>
+        <parameter type-id='type-id-8108' name='res' filepath='lib/kstrtox.c' line='410' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='lib/libcrc32c.c' language='LANG_C89'>
+      <function-decl name='crc32c' mangled-name='crc32c' filepath='lib/libcrc32c.c' line='43' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crc32c'>
+        <parameter type-id='type-id-9' name='crc' filepath='lib/libcrc32c.c' line='43' column='1'/>
+        <parameter type-id='type-id-3' name='address' filepath='lib/libcrc32c.c' line='43' column='1'/>
+        <parameter type-id='type-id-10' name='length' filepath='lib/libcrc32c.c' line='43' column='1'/>
+        <return type-id='type-id-9'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='lib/net_utils.c' language='LANG_C89'>
+      <function-decl name='mac_pton' mangled-name='mac_pton' filepath='lib/net_utils.c' line='7' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mac_pton'>
+        <parameter type-id='type-id-24' name='s' filepath='lib/net_utils.c' line='7' column='1'/>
+        <parameter type-id='type-id-67' name='mac' filepath='lib/net_utils.c' line='7' column='1'/>
+        <return type-id='type-id-211'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='lib/nlattr.c' language='LANG_C89'>
+      <function-decl name='nla_parse' mangled-name='nla_parse' filepath='lib/nlattr.c' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nla_parse'>
+        <parameter type-id='type-id-7158' name='tb' filepath='lib/nlattr.c' line='240' column='1'/>
+        <parameter type-id='type-id-11' name='maxtype' filepath='lib/nlattr.c' line='240' column='1'/>
+        <parameter type-id='type-id-6649' name='head' filepath='lib/nlattr.c' line='240' column='1'/>
+        <parameter type-id='type-id-11' name='len' filepath='lib/nlattr.c' line='241' column='1'/>
+        <parameter type-id='type-id-6628' name='policy' filepath='lib/nlattr.c' line='241' column='1'/>
+        <parameter type-id='type-id-6697' name='extack' filepath='lib/nlattr.c' line='242' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='nla_memcpy' mangled-name='nla_memcpy' filepath='lib/nlattr.c' line='363' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nla_memcpy'>
+        <parameter type-id='type-id-3' name='dest' filepath='lib/nlattr.c' line='363' column='1'/>
+        <parameter type-id='type-id-6649' name='src' filepath='lib/nlattr.c' line='363' column='1'/>
+        <parameter type-id='type-id-11' name='count' filepath='lib/nlattr.c' line='363' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='nla_put_64bit' mangled-name='nla_put_64bit' filepath='lib/nlattr.c' line='643' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nla_put_64bit'>
+        <parameter type-id='type-id-513' name='skb' filepath='lib/nlattr.c' line='643' column='1'/>
+        <parameter type-id='type-id-11' name='attrtype' filepath='lib/nlattr.c' line='643' column='1'/>
+        <parameter type-id='type-id-11' name='attrlen' filepath='lib/nlattr.c' line='643' column='1'/>
+        <parameter type-id='type-id-3' name='data' filepath='lib/nlattr.c' line='644' column='1'/>
+        <parameter type-id='type-id-11' name='padattr' filepath='lib/nlattr.c' line='644' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='lib/pci_iomap.c' language='LANG_C89'>
+      <function-decl name='pci_iomap_range' mangled-name='pci_iomap_range' filepath='lib/pci_iomap.c' line='28' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_iomap_range'>
+        <parameter type-id='type-id-302' name='dev' filepath='lib/pci_iomap.c' line='28' column='1'/>
+        <parameter type-id='type-id-11' name='bar' filepath='lib/pci_iomap.c' line='29' column='1'/>
+        <parameter type-id='type-id-100' name='offset' filepath='lib/pci_iomap.c' line='30' column='1'/>
+        <parameter type-id='type-id-100' name='maxlen' filepath='lib/pci_iomap.c' line='31' column='1'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='pci_iomap' mangled-name='pci_iomap' filepath='lib/pci_iomap.c' line='111' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_iomap'>
+        <parameter type-id='type-id-302' name='dev' filepath='lib/pci_iomap.c' line='111' column='1'/>
+        <parameter type-id='type-id-11' name='bar' filepath='lib/pci_iomap.c' line='111' column='1'/>
+        <parameter type-id='type-id-100' name='maxlen' filepath='lib/pci_iomap.c' line='111' column='1'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='lib/percpu_counter.c' language='LANG_C89'>
+      <function-decl name='__percpu_counter_init' mangled-name='__percpu_counter_init' filepath='lib/percpu_counter.c' line='122' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__percpu_counter_init'>
+        <parameter type-id='type-id-6488' name='fbc' filepath='lib/percpu_counter.c' line='122' column='1'/>
+        <parameter type-id='type-id-581' name='amount' filepath='lib/percpu_counter.c' line='122' column='1'/>
+        <parameter type-id='type-id-272' name='gfp' filepath='lib/percpu_counter.c' line='122' column='1'/>
+        <parameter type-id='type-id-532' name='key' filepath='lib/percpu_counter.c' line='123' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='lib/ratelimit.c' language='LANG_C89'>
+      <pointer-type-def type-id='type-id-5650' size-in-bits='64' id='type-id-8109'/>
+      <function-decl name='___ratelimit' mangled-name='___ratelimit' filepath='lib/ratelimit.c' line='28' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='___ratelimit'>
+        <parameter type-id='type-id-8109' name='rs' filepath='lib/ratelimit.c' line='28' column='1'/>
+        <parameter type-id='type-id-24' name='func' filepath='lib/ratelimit.c' line='28' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='lib/rational.c' language='LANG_C89'>
+      <function-decl name='rational_best_approximation' mangled-name='rational_best_approximation' filepath='lib/rational.c' line='31' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rational_best_approximation'>
+        <parameter type-id='type-id-100' name='given_numerator' filepath='lib/rational.c' line='32' column='1'/>
+        <parameter type-id='type-id-100' name='given_denominator' filepath='lib/rational.c' line='32' column='1'/>
+        <parameter type-id='type-id-100' name='max_numerator' filepath='lib/rational.c' line='33' column='1'/>
+        <parameter type-id='type-id-100' name='max_denominator' filepath='lib/rational.c' line='33' column='1'/>
+        <parameter type-id='type-id-76' name='best_numerator' filepath='lib/rational.c' line='34' column='1'/>
+        <parameter type-id='type-id-76' name='best_denominator' filepath='lib/rational.c' line='34' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='lib/refcount.c' language='LANG_C89'>
+      <pointer-type-def type-id='type-id-12' size-in-bits='64' id='type-id-8110'/>
+      <function-decl name='refcount_add_not_zero_checked' mangled-name='refcount_add_not_zero_checked' filepath='lib/refcount.c' line='61' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='refcount_add_not_zero_checked'>
+        <parameter type-id='type-id-10' name='i' filepath='lib/refcount.c' line='61' column='1'/>
+        <parameter type-id='type-id-8110' name='r' filepath='lib/refcount.c' line='61' column='1'/>
+        <return type-id='type-id-211'/>
+      </function-decl>
+      <function-decl name='refcount_add_checked' mangled-name='refcount_add_checked' filepath='lib/refcount.c' line='100' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='refcount_add_checked'>
+        <parameter type-id='type-id-10' name='i' filepath='lib/refcount.c' line='100' column='1'/>
+        <parameter type-id='type-id-8110' name='r' filepath='lib/refcount.c' line='100' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='refcount_sub_and_test_checked' mangled-name='refcount_sub_and_test_checked' filepath='lib/refcount.c' line='177' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='refcount_sub_and_test_checked'>
+        <parameter type-id='type-id-10' name='i' filepath='lib/refcount.c' line='177' column='1'/>
+        <parameter type-id='type-id-8110' name='r' filepath='lib/refcount.c' line='177' column='1'/>
+        <return type-id='type-id-211'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='lib/rhashtable.c' language='LANG_C89'>
+      <class-decl name='rhashtable_iter' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/rhashtable-types.h' line='122' column='1' id='type-id-8111'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='base' type-id='type-id-245' visibility='default' filepath='include/linux/ww_mutex.h' line='52' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='ctx' type-id='type-id-3468' visibility='default' filepath='include/linux/ww_mutex.h' line='53' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ww_acquire_ctx' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/ww_mutex.h' line='31' column='1' id='type-id-3469'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='task' type-id='type-id-431' visibility='default' filepath='include/linux/ww_mutex.h' line='32' column='1'/>
+          <var-decl name='ht' type-id='type-id-7267' visibility='default' filepath='include/linux/rhashtable-types.h' line='123' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='stamp' type-id='type-id-16' visibility='default' filepath='include/linux/ww_mutex.h' line='33' column='1'/>
+          <var-decl name='p' type-id='type-id-7261' visibility='default' filepath='include/linux/rhashtable-types.h' line='124' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='acquired' type-id='type-id-5' visibility='default' filepath='include/linux/ww_mutex.h' line='34' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='wounded' type-id='type-id-312' visibility='default' filepath='include/linux/ww_mutex.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='176'>
-          <var-decl name='is_wait_die' type-id='type-id-312' visibility='default' filepath='include/linux/ww_mutex.h' line='36' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='include/linux/restart_block.h' line='27' column='1' id='type-id-3470'>
-        <data-member access='private'>
-          <var-decl name='futex' type-id='type-id-234' visibility='default' filepath='include/linux/restart_block.h' line='36' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='nanosleep' type-id='type-id-3471' visibility='default' filepath='include/linux/restart_block.h' line='46' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='poll' type-id='type-id-1566' visibility='default' filepath='include/linux/restart_block.h' line='54' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='__anonymous_struct__' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/restart_block.h' line='38' column='1' id='type-id-3471'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='clockid' type-id='type-id-1557' visibility='default' filepath='include/linux/restart_block.h' line='39' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='type' type-id='type-id-1568' visibility='default' filepath='include/linux/restart_block.h' line='40' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='' type-id='type-id-3472' visibility='default' filepath='include/linux/restart_block.h' line='41' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='expires' type-id='type-id-40' visibility='default' filepath='include/linux/restart_block.h' line='45' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/restart_block.h' line='41' column='1' id='type-id-3472'>
-        <data-member access='private'>
-          <var-decl name='rmtp' type-id='type-id-1570' visibility='default' filepath='include/linux/restart_block.h' line='42' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='compat_rmtp' type-id='type-id-1571' visibility='default' filepath='include/linux/restart_block.h' line='43' column='1'/>
-        </data-member>
-      </union-decl>
-      <pointer-type-def type-id='type-id-3462' size-in-bits='64' id='type-id-3473'/>
-      <pointer-type-def type-id='type-id-3463' size-in-bits='64' id='type-id-3474'/>
-      <pointer-type-def type-id='type-id-245' size-in-bits='64' id='type-id-3475'/>
-      <pointer-type-def type-id='type-id-3464' size-in-bits='64' id='type-id-3476'/>
-      <pointer-type-def type-id='type-id-3465' size-in-bits='64' id='type-id-3477'/>
-      <pointer-type-def type-id='type-id-3466' size-in-bits='64' id='type-id-3478'/>
-      <pointer-type-def type-id='type-id-3469' size-in-bits='64' id='type-id-3468'/>
-      <pointer-type-def type-id='type-id-3467' size-in-bits='64' id='type-id-3479'/>
-      <function-decl name='__mutex_init' mangled-name='__mutex_init' filepath='kernel/locking/mutex.c' line='39' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__mutex_init'>
-        <parameter type-id='type-id-3475' name='lock' filepath='kernel/locking/mutex.c' line='39' column='1'/>
-        <parameter type-id='type-id-4' name='name' filepath='kernel/locking/mutex.c' line='39' column='1'/>
-        <parameter type-id='type-id-1698' name='key' filepath='kernel/locking/mutex.c' line='39' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='mutex_lock' mangled-name='mutex_lock' filepath='kernel/locking/mutex.c' line='252' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mutex_lock'>
-        <parameter type-id='type-id-3475' name='lock' filepath='kernel/locking/mutex.c' line='252' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='mutex_unlock' mangled-name='mutex_unlock' filepath='kernel/locking/mutex.c' line='707' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mutex_unlock'>
-        <parameter type-id='type-id-3475' name='lock' filepath='kernel/locking/mutex.c' line='707' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='ww_mutex_unlock' mangled-name='ww_mutex_unlock' filepath='kernel/locking/mutex.c' line='728' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ww_mutex_unlock'>
-        <parameter type-id='type-id-3479' name='lock' filepath='kernel/locking/mutex.c' line='728' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='mutex_lock_interruptible' mangled-name='mutex_lock_interruptible' filepath='kernel/locking/mutex.c' line='1275' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mutex_lock_interruptible'>
-        <parameter type-id='type-id-3475' name='lock' filepath='kernel/locking/mutex.c' line='1275' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='mutex_trylock' mangled-name='mutex_trylock' filepath='kernel/locking/mutex.c' line='1379' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mutex_trylock'>
-        <parameter type-id='type-id-3475' name='lock' filepath='kernel/locking/mutex.c' line='1379' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='ww_mutex_lock' mangled-name='ww_mutex_lock' filepath='kernel/locking/mutex.c' line='1392' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ww_mutex_lock'>
-        <parameter type-id='type-id-3479' name='lock' filepath='kernel/locking/mutex.c' line='1392' column='1'/>
-        <parameter type-id='type-id-3468' name='ctx' filepath='kernel/locking/mutex.c' line='1392' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='ww_mutex_lock_interruptible' mangled-name='ww_mutex_lock_interruptible' filepath='kernel/locking/mutex.c' line='1407' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ww_mutex_lock_interruptible'>
-        <parameter type-id='type-id-3479' name='lock' filepath='kernel/locking/mutex.c' line='1407' column='1'/>
-        <parameter type-id='type-id-3468' name='ctx' filepath='kernel/locking/mutex.c' line='1407' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/locking/rwsem.c' language='LANG_C89'>
-      <pointer-type-def type-id='type-id-246' size-in-bits='64' id='type-id-3480'/>
-      <function-decl name='up_read' mangled-name='up_read' filepath='kernel/locking/rwsem.c' line='117' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='up_read'>
-        <parameter type-id='type-id-3480' name='sem' filepath='kernel/locking/rwsem.c' line='117' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/irq/manage.c' language='LANG_C89'>
-      <typedef-decl name='irq_handler_t' type-id='type-id-3481' filepath='include/linux/interrupt.h' line='92' column='1' id='type-id-3482'/>
-      <typedef-decl name='irqreturn_t' type-id='type-id-3483' filepath='include/linux/irqreturn.h' line='17' column='1' id='type-id-3484'/>
-      <enum-decl name='irqreturn' filepath='include/linux/irqreturn.h' line='11' column='1' id='type-id-3483'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='IRQ_NONE' value='0'/>
-        <enumerator name='IRQ_HANDLED' value='1'/>
-        <enumerator name='IRQ_WAKE_THREAD' value='2'/>
-      </enum-decl>
-      <pointer-type-def type-id='type-id-3485' size-in-bits='64' id='type-id-3481'/>
-      <function-decl name='synchronize_hardirq' mangled-name='synchronize_hardirq' filepath='kernel/irq/manage.c' line='98' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='synchronize_hardirq'>
-        <parameter type-id='type-id-5' name='irq' filepath='kernel/irq/manage.c' line='98' column='1'/>
-        <return type-id='type-id-33'/>
-      </function-decl>
-      <function-decl name='synchronize_irq' mangled-name='synchronize_irq' filepath='kernel/irq/manage.c' line='126' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='synchronize_irq'>
-        <parameter type-id='type-id-5' name='irq' filepath='kernel/irq/manage.c' line='126' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='irq_set_affinity_hint' mangled-name='irq_set_affinity_hint' filepath='kernel/irq/manage.c' line='308' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_set_affinity_hint'>
-        <parameter type-id='type-id-5' name='irq' filepath='kernel/irq/manage.c' line='308' column='1'/>
-        <parameter type-id='type-id-3386' name='m' filepath='kernel/irq/manage.c' line='308' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='disable_irq' mangled-name='disable_irq' filepath='kernel/irq/manage.c' line='551' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='disable_irq'>
-        <parameter type-id='type-id-5' name='irq' filepath='kernel/irq/manage.c' line='551' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='irq_set_irq_wake' mangled-name='irq_set_irq_wake' filepath='kernel/irq/manage.c' line='666' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_set_irq_wake'>
-        <parameter type-id='type-id-5' name='irq' filepath='kernel/irq/manage.c' line='666' column='1'/>
-        <parameter type-id='type-id-5' name='on' filepath='kernel/irq/manage.c' line='666' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='free_irq' mangled-name='free_irq' filepath='kernel/irq/manage.c' line='1775' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='free_irq'>
-        <parameter type-id='type-id-5' name='irq' filepath='kernel/irq/manage.c' line='1775' column='1'/>
-        <parameter type-id='type-id-15' name='dev_id' filepath='kernel/irq/manage.c' line='1775' column='1'/>
-        <return type-id='type-id-15'/>
-      </function-decl>
-      <function-decl name='request_threaded_irq' mangled-name='request_threaded_irq' filepath='kernel/irq/manage.c' line='1842' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='request_threaded_irq'>
-        <parameter type-id='type-id-5' name='irq' filepath='kernel/irq/manage.c' line='1842' column='1'/>
-        <parameter type-id='type-id-3482' name='handler' filepath='kernel/irq/manage.c' line='1842' column='1'/>
-        <parameter type-id='type-id-3482' name='thread_fn' filepath='kernel/irq/manage.c' line='1843' column='1'/>
-        <parameter type-id='type-id-16' name='irqflags' filepath='kernel/irq/manage.c' line='1843' column='1'/>
-        <parameter type-id='type-id-4' name='devname' filepath='kernel/irq/manage.c' line='1844' column='1'/>
-        <parameter type-id='type-id-15' name='dev_id' filepath='kernel/irq/manage.c' line='1844' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-3485'>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-3484'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/irq/devres.c' language='LANG_C89'>
-      <function-decl name='devm_request_threaded_irq' mangled-name='devm_request_threaded_irq' filepath='kernel/irq/devres.c' line='51' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_request_threaded_irq'>
-        <parameter type-id='type-id-240' name='dev' filepath='kernel/irq/devres.c' line='51' column='1'/>
-        <parameter type-id='type-id-5' name='irq' filepath='kernel/irq/devres.c' line='51' column='1'/>
-        <parameter type-id='type-id-3482' name='handler' filepath='kernel/irq/devres.c' line='52' column='1'/>
-        <parameter type-id='type-id-3482' name='thread_fn' filepath='kernel/irq/devres.c' line='52' column='1'/>
-        <parameter type-id='type-id-16' name='irqflags' filepath='kernel/irq/devres.c' line='53' column='1'/>
-        <parameter type-id='type-id-4' name='devname' filepath='kernel/irq/devres.c' line='53' column='1'/>
-        <parameter type-id='type-id-15' name='dev_id' filepath='kernel/irq/devres.c' line='54' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/irq/irqdomain.c' language='LANG_C89'>
-      <function-decl name='irq_dispose_mapping' mangled-name='irq_dispose_mapping' filepath='kernel/irq/irqdomain.c' line='848' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='irq_dispose_mapping'>
-        <parameter type-id='type-id-5' name='virq' filepath='kernel/irq/irqdomain.c' line='848' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/of/device.c' language='LANG_C89'>
-      <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='32' id='type-id-3486'>
-        <subrange length='1' type-id='type-id-9' id='type-id-180'/>
-
-      </array-type-def>
-      <enum-decl name='iommu_cap' filepath='include/linux/iommu.h' line='99' column='1' id='type-id-3487'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='IOMMU_CAP_CACHE_COHERENCY' value='0'/>
-        <enumerator name='IOMMU_CAP_INTR_REMAP' value='1'/>
-        <enumerator name='IOMMU_CAP_NOEXEC' value='2'/>
-      </enum-decl>
-      <class-decl name='iommu_domain' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/iommu.h' line='89' column='1' id='type-id-3488'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='type' type-id='type-id-5' visibility='default' filepath='include/linux/iommu.h' line='90' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ops' type-id='type-id-2047' visibility='default' filepath='include/linux/iommu.h' line='91' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='pgsize_bitmap' type-id='type-id-16' visibility='default' filepath='include/linux/iommu.h' line='92' column='1'/>
+          <var-decl name='list' type-id='type-id-8112' visibility='default' filepath='include/linux/rhashtable-types.h' line='125' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='handler' type-id='type-id-3489' visibility='default' filepath='include/linux/iommu.h' line='93' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='handler_token' type-id='type-id-15' visibility='default' filepath='include/linux/iommu.h' line='94' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='geometry' type-id='type-id-3490' visibility='default' filepath='include/linux/iommu.h' line='95' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='iova_cookie' type-id='type-id-15' visibility='default' filepath='include/linux/iommu.h' line='96' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='iommu_fault_handler_t' type-id='type-id-3491' filepath='include/linux/iommu.h' line='56' column='1' id='type-id-3489'/>
-      <class-decl name='iommu_domain_geometry' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/iommu.h' line='59' column='1' id='type-id-3490'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='aperture_start' type-id='type-id-2083' visibility='default' filepath='include/linux/iommu.h' line='60' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='aperture_end' type-id='type-id-2083' visibility='default' filepath='include/linux/iommu.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='force_aperture' type-id='type-id-33' visibility='default' filepath='include/linux/iommu.h' line='62' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='iommu_attr' filepath='include/linux/iommu.h' line='119' column='1' id='type-id-3492'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='DOMAIN_ATTR_GEOMETRY' value='0'/>
-        <enumerator name='DOMAIN_ATTR_PAGING' value='1'/>
-        <enumerator name='DOMAIN_ATTR_WINDOWS' value='2'/>
-        <enumerator name='DOMAIN_ATTR_FSL_PAMU_STASH' value='3'/>
-        <enumerator name='DOMAIN_ATTR_FSL_PAMU_ENABLE' value='4'/>
-        <enumerator name='DOMAIN_ATTR_FSL_PAMUV1' value='5'/>
-        <enumerator name='DOMAIN_ATTR_NESTING' value='6'/>
-        <enumerator name='DOMAIN_ATTR_MAX' value='7'/>
-      </enum-decl>
-      <class-decl name='iommu_resv_region' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/iommu.h' line='150' column='1' id='type-id-3493'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/iommu.h' line='151' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='start' type-id='type-id-99' visibility='default' filepath='include/linux/iommu.h' line='152' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='length' type-id='type-id-84' visibility='default' filepath='include/linux/iommu.h' line='153' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='prot' type-id='type-id-17' visibility='default' filepath='include/linux/iommu.h' line='154' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='type' type-id='type-id-3494' visibility='default' filepath='include/linux/iommu.h' line='155' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='iommu_resv_type' filepath='include/linux/iommu.h' line='131' column='1' id='type-id-3494'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='IOMMU_RESV_DIRECT' value='0'/>
-        <enumerator name='IOMMU_RESV_RESERVED' value='1'/>
-        <enumerator name='IOMMU_RESV_MSI' value='2'/>
-        <enumerator name='IOMMU_RESV_SW_MSI' value='3'/>
-      </enum-decl>
-      <pointer-type-def type-id='type-id-3495' size-in-bits='64' id='type-id-3496'/>
-      <pointer-type-def type-id='type-id-3497' size-in-bits='64' id='type-id-3498'/>
-      <pointer-type-def type-id='type-id-3499' size-in-bits='64' id='type-id-3491'/>
-      <pointer-type-def type-id='type-id-3500' size-in-bits='64' id='type-id-3501'/>
-      <pointer-type-def type-id='type-id-3502' size-in-bits='64' id='type-id-3503'/>
-      <pointer-type-def type-id='type-id-3504' size-in-bits='64' id='type-id-3505'/>
-      <pointer-type-def type-id='type-id-3506' size-in-bits='64' id='type-id-3507'/>
-      <pointer-type-def type-id='type-id-3488' size-in-bits='64' id='type-id-3508'/>
-      <pointer-type-def type-id='type-id-3509' size-in-bits='64' id='type-id-3510'/>
-      <pointer-type-def type-id='type-id-3511' size-in-bits='64' id='type-id-3512'/>
-      <pointer-type-def type-id='type-id-3493' size-in-bits='64' id='type-id-3513'/>
-      <pointer-type-def type-id='type-id-3514' size-in-bits='64' id='type-id-3515'/>
-      <pointer-type-def type-id='type-id-3516' size-in-bits='64' id='type-id-3517'/>
-      <pointer-type-def type-id='type-id-3518' size-in-bits='64' id='type-id-3519'/>
-      <pointer-type-def type-id='type-id-3520' size-in-bits='64' id='type-id-3521'/>
-      <pointer-type-def type-id='type-id-3522' size-in-bits='64' id='type-id-3523'/>
-      <pointer-type-def type-id='type-id-3524' size-in-bits='64' id='type-id-3525'/>
-      <pointer-type-def type-id='type-id-3526' size-in-bits='64' id='type-id-3527'/>
-      <pointer-type-def type-id='type-id-3528' size-in-bits='64' id='type-id-3529'/>
-      <pointer-type-def type-id='type-id-3530' size-in-bits='64' id='type-id-3531'/>
-      <pointer-type-def type-id='type-id-3532' size-in-bits='64' id='type-id-3533'/>
-      <pointer-type-def type-id='type-id-3534' size-in-bits='64' id='type-id-3535'/>
-      <pointer-type-def type-id='type-id-3536' size-in-bits='64' id='type-id-3537'/>
-      <function-decl name='of_match_device' mangled-name='of_match_device' filepath='drivers/of/device.c' line='26' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_match_device'>
-        <parameter type-id='type-id-2051' name='matches' filepath='drivers/of/device.c' line='26' column='1'/>
-        <parameter type-id='type-id-2651' name='dev' filepath='drivers/of/device.c' line='27' column='1'/>
-        <return type-id='type-id-2051'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-3495'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-3515'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3497'>
-        <parameter type-id='type-id-3508'/>
-        <parameter type-id='type-id-240'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3499'>
-        <parameter type-id='type-id-3508'/>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-16'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3500'>
-        <parameter type-id='type-id-3508'/>
-        <parameter type-id='type-id-3492'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3502'>
-        <parameter type-id='type-id-3508'/>
-        <parameter type-id='type-id-7'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3504'>
-        <parameter type-id='type-id-3508'/>
-        <parameter type-id='type-id-7'/>
-        <parameter type-id='type-id-99'/>
-        <parameter type-id='type-id-40'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3506'>
-        <parameter type-id='type-id-3508'/>
-        <parameter type-id='type-id-16'/>
-        <parameter type-id='type-id-99'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3509'>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-3508'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3511'>
-        <parameter type-id='type-id-240'/>
-        <return type-id='type-id-2029'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3516'>
-        <parameter type-id='type-id-3487'/>
-        <return type-id='type-id-33'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3518'>
-        <parameter type-id='type-id-3508'/>
-        <parameter type-id='type-id-240'/>
-        <return type-id='type-id-33'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3520'>
-        <parameter type-id='type-id-3508'/>
-        <parameter type-id='type-id-2083'/>
-        <return type-id='type-id-99'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3522'>
-        <parameter type-id='type-id-3508'/>
-        <parameter type-id='type-id-16'/>
-        <parameter type-id='type-id-84'/>
-        <return type-id='type-id-84'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3524'>
-        <parameter type-id='type-id-3508'/>
-        <return type-id='type-id-7'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3526'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-3508'/>
-        <parameter type-id='type-id-3513'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3528'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-877'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3530'>
-        <parameter type-id='type-id-3508'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3532'>
-        <parameter type-id='type-id-3508'/>
-        <parameter type-id='type-id-240'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3534'>
-        <parameter type-id='type-id-3508'/>
-        <parameter type-id='type-id-7'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3536'>
-        <parameter type-id='type-id-3508'/>
-        <parameter type-id='type-id-16'/>
-        <parameter type-id='type-id-84'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/dma/coherent.c' language='LANG_C89'>
-      <array-type-def dimensions='1' type-id='type-id-895' size-in-bits='72' id='type-id-3538'>
-        <subrange length='9' type-id='type-id-9' id='type-id-953'/>
-
-      </array-type-def>
-      <typedef-decl name='kernel_ulong_t' type-id='type-id-16' filepath='include/linux/mod_devicetable.h' line='14' column='1' id='type-id-3539'/>
-      <class-decl name='device_node' size-in-bits='1408' is-struct='yes' visibility='default' filepath='include/linux/of.h' line='51' column='1' id='type-id-3540'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/of.h' line='52' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='type' type-id='type-id-4' visibility='default' filepath='include/linux/of.h' line='53' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='phandle' type-id='type-id-3541' visibility='default' filepath='include/linux/of.h' line='54' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='full_name' type-id='type-id-4' visibility='default' filepath='include/linux/of.h' line='55' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='fwnode' type-id='type-id-2162' visibility='default' filepath='include/linux/of.h' line='56' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='properties' type-id='type-id-3542' visibility='default' filepath='include/linux/of.h' line='58' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='deadprops' type-id='type-id-3542' visibility='default' filepath='include/linux/of.h' line='59' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='parent' type-id='type-id-3543' visibility='default' filepath='include/linux/of.h' line='60' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='child' type-id='type-id-3543' visibility='default' filepath='include/linux/of.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='sibling' type-id='type-id-3543' visibility='default' filepath='include/linux/of.h' line='62' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='kobj' type-id='type-id-267' visibility='default' filepath='include/linux/of.h' line='64' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='_flags' type-id='type-id-16' visibility='default' filepath='include/linux/of.h' line='66' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='data' type-id='type-id-15' visibility='default' filepath='include/linux/of.h' line='67' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='phandle' type-id='type-id-7' filepath='include/linux/of.h' line='28' column='1' id='type-id-3541'/>
-      <class-decl name='property' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/linux/of.h' line='31' column='1' id='type-id-3544'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-2' visibility='default' filepath='include/linux/of.h' line='32' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='length' type-id='type-id-17' visibility='default' filepath='include/linux/of.h' line='33' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='value' type-id='type-id-15' visibility='default' filepath='include/linux/of.h' line='34' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='next' type-id='type-id-3542' visibility='default' filepath='include/linux/of.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='attr' type-id='type-id-2039' visibility='default' filepath='include/linux/of.h' line='43' column='1'/>
-        </data-member>
-      </class-decl>
-      <pointer-type-def type-id='type-id-3540' size-in-bits='64' id='type-id-3543'/>
-      <pointer-type-def type-id='type-id-3544' size-in-bits='64' id='type-id-3542'/>
-      <function-decl name='dma_alloc_from_dev_coherent' mangled-name='dma_alloc_from_dev_coherent' filepath='kernel/dma/coherent.c' line='207' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_alloc_from_dev_coherent'>
-        <parameter type-id='type-id-240' name='dev' filepath='kernel/dma/coherent.c' line='207' column='1'/>
-        <parameter type-id='type-id-86' name='size' filepath='kernel/dma/coherent.c' line='207' column='1'/>
-        <parameter type-id='type-id-2741' name='dma_handle' filepath='kernel/dma/coherent.c' line='208' column='1'/>
-        <parameter type-id='type-id-528' name='ret' filepath='kernel/dma/coherent.c' line='208' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='dma_release_from_dev_coherent' mangled-name='dma_release_from_dev_coherent' filepath='kernel/dma/coherent.c' line='265' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_release_from_dev_coherent'>
-        <parameter type-id='type-id-240' name='dev' filepath='kernel/dma/coherent.c' line='265' column='1'/>
-        <parameter type-id='type-id-17' name='order' filepath='kernel/dma/coherent.c' line='265' column='1'/>
-        <parameter type-id='type-id-15' name='vaddr' filepath='kernel/dma/coherent.c' line='265' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/dma/swiotlb.c' language='LANG_C89'>
-      <function-decl name='swiotlb_max_segment' mangled-name='swiotlb_max_segment' filepath='kernel/dma/swiotlb.c' line='137' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='swiotlb_max_segment'>
-        <return type-id='type-id-5'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/freezer.c' language='LANG_C89'>
-      <function-decl name='freezing_slow_path' mangled-name='freezing_slow_path' filepath='kernel/freezer.c' line='42' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='freezing_slow_path'>
-        <parameter type-id='type-id-431' name='p' filepath='kernel/freezer.c' line='42' column='1'/>
-        <return type-id='type-id-33'/>
-      </function-decl>
-      <function-decl name='__refrigerator' mangled-name='__refrigerator' filepath='kernel/freezer.c' line='61' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__refrigerator'>
-        <parameter type-id='type-id-33' name='check_kthr_stop' filepath='kernel/freezer.c' line='61' column='1'/>
-        <return type-id='type-id-33'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='fs/proc/generic.c' language='LANG_C89'>
-      <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='fs/proc/internal.h' line='48' column='1' id='type-id-3545'>
-        <data-member access='private'>
-          <var-decl name='seq_ops' type-id='type-id-1448' visibility='default' filepath='fs/proc/internal.h' line='49' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='single_show' type-id='type-id-311' visibility='default' filepath='fs/proc/internal.h' line='50' column='1'/>
-        </data-member>
-      </union-decl>
-      <typedef-decl name='proc_write_t' type-id='type-id-3546' filepath='include/linux/proc_fs.h' line='17' column='1' id='type-id-3547'/>
-      <typedef-decl name='nlink_t' type-id='type-id-7' filepath='include/linux/types.h' line='20' column='1' id='type-id-3548'/>
-      <pointer-type-def type-id='type-id-3549' size-in-bits='64' id='type-id-3546'/>
-      <function-decl name='proc_mkdir_data' mangled-name='proc_mkdir_data' filepath='fs/proc/generic.c' line='461' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='proc_mkdir_data'>
-        <parameter type-id='type-id-4' name='name' filepath='fs/proc/generic.c' line='461' column='1'/>
-        <parameter type-id='type-id-329' name='mode' filepath='fs/proc/generic.c' line='461' column='1'/>
-        <parameter type-id='type-id-262' name='parent' filepath='fs/proc/generic.c' line='462' column='1'/>
-        <parameter type-id='type-id-15' name='data' filepath='fs/proc/generic.c' line='462' column='1'/>
-        <return type-id='type-id-262'/>
-      </function-decl>
-      <function-decl name='remove_proc_entry' mangled-name='remove_proc_entry' filepath='fs/proc/generic.c' line='654' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='remove_proc_entry'>
-        <parameter type-id='type-id-4' name='name' filepath='fs/proc/generic.c' line='654' column='1'/>
-        <parameter type-id='type-id-262' name='parent' filepath='fs/proc/generic.c' line='654' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='PDE_DATA' mangled-name='PDE_DATA' filepath='fs/proc/generic.c' line='749' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PDE_DATA'>
-        <parameter type-id='type-id-2672' name='inode' filepath='fs/proc/generic.c' line='749' column='1'/>
-        <return type-id='type-id-15'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-3549'>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-2'/>
-        <parameter type-id='type-id-84'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/time/timer.c' language='LANG_C89'>
-      <function-decl name='round_jiffies' mangled-name='round_jiffies' filepath='kernel/time/timer.c' line='380' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='round_jiffies'>
-        <parameter type-id='type-id-16' name='j' filepath='kernel/time/timer.c' line='380' column='1'/>
-        <return type-id='type-id-16'/>
-      </function-decl>
-      <function-decl name='init_timer_key' mangled-name='init_timer_key' filepath='kernel/time/timer.c' line='802' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='init_timer_key'>
-        <parameter type-id='type-id-3065' name='timer' filepath='kernel/time/timer.c' line='802' column='1'/>
-        <parameter type-id='type-id-2007' name='func' filepath='kernel/time/timer.c' line='803' column='1'/>
-        <parameter type-id='type-id-5' name='flags' filepath='kernel/time/timer.c' line='803' column='1'/>
-        <parameter type-id='type-id-4' name='name' filepath='kernel/time/timer.c' line='804' column='1'/>
-        <parameter type-id='type-id-1698' name='key' filepath='kernel/time/timer.c' line='804' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='mod_timer' mangled-name='mod_timer' filepath='kernel/time/timer.c' line='1100' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mod_timer'>
-        <parameter type-id='type-id-3065' name='timer' filepath='kernel/time/timer.c' line='1100' column='1'/>
-        <parameter type-id='type-id-16' name='expires' filepath='kernel/time/timer.c' line='1100' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='add_timer' mangled-name='add_timer' filepath='kernel/time/timer.c' line='1135' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='add_timer'>
-        <parameter type-id='type-id-3065' name='timer' filepath='kernel/time/timer.c' line='1135' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='del_timer' mangled-name='del_timer' filepath='kernel/time/timer.c' line='1192' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='del_timer'>
-        <parameter type-id='type-id-3065' name='timer' filepath='kernel/time/timer.c' line='1192' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='del_timer_sync' mangled-name='del_timer_sync' filepath='kernel/time/timer.c' line='1273' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='del_timer_sync'>
-        <parameter type-id='type-id-3065' name='timer' filepath='kernel/time/timer.c' line='1273' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='schedule_timeout' mangled-name='schedule_timeout' filepath='kernel/time/timer.c' line='1767' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='schedule_timeout'>
-        <parameter type-id='type-id-192' name='timeout' filepath='kernel/time/timer.c' line='1767' column='1'/>
-        <return type-id='type-id-192'/>
-      </function-decl>
-      <function-decl name='msleep' mangled-name='msleep' filepath='kernel/time/timer.c' line='1953' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='msleep'>
-        <parameter type-id='type-id-5' name='msecs' filepath='kernel/time/timer.c' line='1953' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='usleep_range' mangled-name='usleep_range' filepath='kernel/time/timer.c' line='1989' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usleep_range'>
-        <parameter type-id='type-id-16' name='min' filepath='kernel/time/timer.c' line='1989' column='1'/>
-        <parameter type-id='type-id-16' name='max' filepath='kernel/time/timer.c' line='1989' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/time/timekeeping.c' language='LANG_C89'>
-      <enum-decl name='tk_offsets' filepath='include/linux/timekeeping.h' line='60' column='1' id='type-id-3550'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='TK_OFFS_REAL' value='0'/>
-        <enumerator name='TK_OFFS_BOOT' value='1'/>
-        <enumerator name='TK_OFFS_TAI' value='2'/>
-        <enumerator name='TK_OFFS_MAX' value='3'/>
-      </enum-decl>
-      <function-decl name='ktime_get' mangled-name='ktime_get' filepath='kernel/time/timekeeping.c' line='746' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ktime_get'>
-        <return type-id='type-id-682'/>
-      </function-decl>
-      <function-decl name='ktime_get_with_offset' mangled-name='ktime_get_with_offset' filepath='kernel/time/timekeeping.c' line='789' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ktime_get_with_offset'>
-        <parameter type-id='type-id-3550' name='offs' filepath='kernel/time/timekeeping.c' line='789' column='1'/>
-        <return type-id='type-id-682'/>
-      </function-decl>
-      <function-decl name='ktime_get_ts64' mangled-name='ktime_get_ts64' filepath='kernel/time/timekeeping.c' line='879' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ktime_get_ts64'>
-        <parameter type-id='type-id-3066' name='ts' filepath='kernel/time/timekeeping.c' line='879' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='ktime_get_real_seconds' mangled-name='ktime_get_real_seconds' filepath='kernel/time/timekeeping.c' line='931' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ktime_get_real_seconds'>
-        <return type-id='type-id-1341'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/base/bus.c' language='LANG_C89'>
-      <function-decl name='bus_register' mangled-name='bus_register' filepath='drivers/base/bus.c' line='851' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bus_register'>
-        <parameter type-id='type-id-2012' name='bus' filepath='drivers/base/bus.c' line='851' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='bus_unregister' mangled-name='bus_unregister' filepath='drivers/base/bus.c' line='936' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bus_unregister'>
-        <parameter type-id='type-id-2012' name='bus' filepath='drivers/base/bus.c' line='936' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/base/platform.c' language='LANG_C89'>
-      <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='160' id='type-id-3551'>
-        <subrange length='20' type-id='type-id-9' id='type-id-1184'/>
-
-      </array-type-def>
-      <class-decl name='mfd_cell' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3552'/>
-      <class-decl name='platform_device' size-in-bits='6656' is-struct='yes' visibility='default' filepath='include/linux/platform_device.h' line='23' column='1' id='type-id-3553'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/platform_device.h' line='24' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='id' type-id='type-id-17' visibility='default' filepath='include/linux/platform_device.h' line='25' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='id_auto' type-id='type-id-33' visibility='default' filepath='include/linux/platform_device.h' line='26' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='dev' type-id='type-id-388' visibility='default' filepath='include/linux/platform_device.h' line='27' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6336'>
-          <var-decl name='num_resources' type-id='type-id-7' visibility='default' filepath='include/linux/platform_device.h' line='28' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6400'>
-          <var-decl name='resource' type-id='type-id-2156' visibility='default' filepath='include/linux/platform_device.h' line='29' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6464'>
-          <var-decl name='id_entry' type-id='type-id-3554' visibility='default' filepath='include/linux/platform_device.h' line='31' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6528'>
-          <var-decl name='driver_override' type-id='type-id-2' visibility='default' filepath='include/linux/platform_device.h' line='32' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6592'>
-          <var-decl name='mfd_cell' type-id='type-id-3555' visibility='default' filepath='include/linux/platform_device.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6656'>
-          <var-decl name='archdata' type-id='type-id-3556' visibility='default' filepath='include/linux/platform_device.h' line='38' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='platform_device_id' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/mod_devicetable.h' line='546' column='1' id='type-id-3557'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-3551' visibility='default' filepath='include/linux/mod_devicetable.h' line='547' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='driver_data' type-id='type-id-3539' visibility='default' filepath='include/linux/mod_devicetable.h' line='548' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='pdev_archdata' is-struct='yes' visibility='default' filepath='arch/arm64/include/asm/device.h' line='29' column='1' id='type-id-3556'/>
-      <class-decl name='platform_device_info' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/platform_device.h' line='62' column='1' id='type-id-3558'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='parent' type-id='type-id-240' visibility='default' filepath='include/linux/platform_device.h' line='63' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='fwnode' type-id='type-id-2025' visibility='default' filepath='include/linux/platform_device.h' line='64' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/platform_device.h' line='66' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='id' type-id='type-id-17' visibility='default' filepath='include/linux/platform_device.h' line='67' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='res' type-id='type-id-3559' visibility='default' filepath='include/linux/platform_device.h' line='69' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='num_res' type-id='type-id-5' visibility='default' filepath='include/linux/platform_device.h' line='70' column='1'/>
+          <var-decl name='walker' type-id='type-id-8113' visibility='default' filepath='include/linux/rhashtable-types.h' line='126' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='data' type-id='type-id-15' visibility='default' filepath='include/linux/platform_device.h' line='72' column='1'/>
+          <var-decl name='slot' type-id='type-id-10' visibility='default' filepath='include/linux/rhashtable-types.h' line='127' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='skip' type-id='type-id-10' visibility='default' filepath='include/linux/rhashtable-types.h' line='128' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='size_data' type-id='type-id-84' visibility='default' filepath='include/linux/platform_device.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='dma_mask' type-id='type-id-40' visibility='default' filepath='include/linux/platform_device.h' line='74' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='properties' type-id='type-id-3560' visibility='default' filepath='include/linux/platform_device.h' line='76' column='1'/>
+          <var-decl name='end_of_table' type-id='type-id-211' visibility='default' filepath='include/linux/rhashtable-types.h' line='129' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='property_entry' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/property.h' line='185' column='1' id='type-id-3561'>
+      <class-decl name='rhlist_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/rhashtable-types.h' line='21' column='1' id='type-id-8114'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/property.h' line='186' column='1'/>
+          <var-decl name='rhead' type-id='type-id-7523' visibility='default' filepath='include/linux/rhashtable-types.h' line='22' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='length' type-id='type-id-84' visibility='default' filepath='include/linux/property.h' line='187' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='is_array' type-id='type-id-33' visibility='default' filepath='include/linux/property.h' line='188' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='type' type-id='type-id-3562' visibility='default' filepath='include/linux/property.h' line='189' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='' type-id='type-id-3563' visibility='default' filepath='include/linux/property.h' line='190' column='1'/>
+          <var-decl name='next' type-id='type-id-8112' visibility='default' filepath='include/linux/rhashtable-types.h' line='23' column='1'/>
         </data-member>
       </class-decl>
-      <enum-decl name='dev_prop_type' filepath='include/linux/property.h' line='21' column='1' id='type-id-3562'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='DEV_PROP_U8' value='0'/>
-        <enumerator name='DEV_PROP_U16' value='1'/>
-        <enumerator name='DEV_PROP_U32' value='2'/>
-        <enumerator name='DEV_PROP_U64' value='3'/>
-        <enumerator name='DEV_PROP_STRING' value='4'/>
-        <enumerator name='DEV_PROP_MAX' value='5'/>
+      <class-decl name='rhashtable_walker' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/rhashtable-types.h' line='108' column='1' id='type-id-8113'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/rhashtable-types.h' line='109' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='tbl' type-id='type-id-7268' visibility='default' filepath='include/linux/rhashtable-types.h' line='110' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='rhltable' size-in-bits='1088' is-struct='yes' visibility='default' filepath='include/linux/rhashtable-types.h' line='99' column='1' id='type-id-8115'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ht' type-id='type-id-7517' visibility='default' filepath='include/linux/rhashtable-types.h' line='100' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-7521' const='yes' id='type-id-8116'/>
+      <pointer-type-def type-id='type-id-8116' size-in-bits='64' id='type-id-8117'/>
+      <pointer-type-def type-id='type-id-8111' size-in-bits='64' id='type-id-8118'/>
+      <pointer-type-def type-id='type-id-8114' size-in-bits='64' id='type-id-8112'/>
+      <pointer-type-def type-id='type-id-8115' size-in-bits='64' id='type-id-8119'/>
+      <function-decl name='rhashtable_walk_enter' mangled-name='rhashtable_walk_enter' filepath='lib/rhashtable.c' line='669' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rhashtable_walk_enter'>
+        <parameter type-id='type-id-7267' name='ht' filepath='lib/rhashtable.c' line='669' column='1'/>
+        <parameter type-id='type-id-8118' name='iter' filepath='lib/rhashtable.c' line='669' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='rhashtable_walk_exit' mangled-name='rhashtable_walk_exit' filepath='lib/rhashtable.c' line='691' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rhashtable_walk_exit'>
+        <parameter type-id='type-id-8118' name='iter' filepath='lib/rhashtable.c' line='691' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='rhashtable_walk_start_check' mangled-name='rhashtable_walk_start_check' filepath='lib/rhashtable.c' line='718' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rhashtable_walk_start_check'>
+        <parameter type-id='type-id-8118' name='iter' filepath='lib/rhashtable.c' line='718' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='rhashtable_walk_next' mangled-name='rhashtable_walk_next' filepath='lib/rhashtable.c' line='863' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rhashtable_walk_next'>
+        <parameter type-id='type-id-8118' name='iter' filepath='lib/rhashtable.c' line='863' column='1'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='rhashtable_walk_stop' mangled-name='rhashtable_walk_stop' filepath='lib/rhashtable.c' line='934' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rhashtable_walk_stop'>
+        <parameter type-id='type-id-8118' name='iter' filepath='lib/rhashtable.c' line='934' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='rhltable_init' mangled-name='rhltable_init' filepath='lib/rhashtable.c' line='1094' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rhltable_init'>
+        <parameter type-id='type-id-8119' name='hlt' filepath='lib/rhashtable.c' line='1094' column='1'/>
+        <parameter type-id='type-id-8117' name='params' filepath='lib/rhashtable.c' line='1094' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='rhashtable_free_and_destroy' mangled-name='rhashtable_free_and_destroy' filepath='lib/rhashtable.c' line='1138' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rhashtable_free_and_destroy'>
+        <parameter type-id='type-id-7267' name='ht' filepath='lib/rhashtable.c' line='1138' column='1'/>
+        <parameter type-id='type-id-5100' name='free_fn' filepath='lib/rhashtable.c' line='1139' column='1'/>
+        <parameter type-id='type-id-3' name='arg' filepath='lib/rhashtable.c' line='1140' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='lib/scatterlist.c' language='LANG_C89'>
+      <pointer-type-def type-id='type-id-450' size-in-bits='64' id='type-id-8120'/>
+      <function-decl name='sg_free_table' mangled-name='sg_free_table' filepath='lib/scatterlist.c' line='238' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sg_free_table'>
+        <parameter type-id='type-id-259' name='table' filepath='lib/scatterlist.c' line='238' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__sg_page_iter_start' mangled-name='__sg_page_iter_start' filepath='lib/scatterlist.c' line='592' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__sg_page_iter_start'>
+        <parameter type-id='type-id-8120' name='piter' filepath='lib/scatterlist.c' line='592' column='1'/>
+        <parameter type-id='type-id-33' name='sglist' filepath='lib/scatterlist.c' line='593' column='1'/>
+        <parameter type-id='type-id-10' name='nents' filepath='lib/scatterlist.c' line='593' column='1'/>
+        <parameter type-id='type-id-100' name='pgoffset' filepath='lib/scatterlist.c' line='594' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__sg_page_iter_next' mangled-name='__sg_page_iter_next' filepath='lib/scatterlist.c' line='609' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__sg_page_iter_next'>
+        <parameter type-id='type-id-8120' name='piter' filepath='lib/scatterlist.c' line='609' column='1'/>
+        <return type-id='type-id-211'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='lib/string.c' language='LANG_C89'>
+      <function-decl name='strncasecmp' mangled-name='strncasecmp' filepath='lib/string.c' line='42' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strncasecmp'>
+        <parameter type-id='type-id-24' name='s1' filepath='lib/string.c' line='42' column='1'/>
+        <parameter type-id='type-id-24' name='s2' filepath='lib/string.c' line='42' column='1'/>
+        <parameter type-id='type-id-125' name='len' filepath='lib/string.c' line='42' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='strcasecmp' mangled-name='strcasecmp' filepath='lib/string.c' line='68' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strcasecmp'>
+        <parameter type-id='type-id-24' name='s1' filepath='lib/string.c' line='68' column='1'/>
+        <parameter type-id='type-id-24' name='s2' filepath='lib/string.c' line='68' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='strcpy' mangled-name='strcpy' filepath='lib/string.c' line='88' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strcpy'>
+        <parameter type-id='type-id-300' name='dest' filepath='lib/string.c' line='88' column='1'/>
+        <parameter type-id='type-id-24' name='src' filepath='lib/string.c' line='88' column='1'/>
+        <return type-id='type-id-300'/>
+      </function-decl>
+      <function-decl name='strncpy' mangled-name='strncpy' filepath='lib/string.c' line='113' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strncpy'>
+        <parameter type-id='type-id-300' name='dest' filepath='lib/string.c' line='113' column='1'/>
+        <parameter type-id='type-id-24' name='src' filepath='lib/string.c' line='113' column='1'/>
+        <parameter type-id='type-id-125' name='count' filepath='lib/string.c' line='113' column='1'/>
+        <return type-id='type-id-300'/>
+      </function-decl>
+      <function-decl name='strlcpy' mangled-name='strlcpy' filepath='lib/string.c' line='140' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strlcpy'>
+        <parameter type-id='type-id-300' name='dest' filepath='lib/string.c' line='140' column='1'/>
+        <parameter type-id='type-id-24' name='src' filepath='lib/string.c' line='140' column='1'/>
+        <parameter type-id='type-id-125' name='size' filepath='lib/string.c' line='140' column='1'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+      <function-decl name='strcat' mangled-name='strcat' filepath='lib/string.c' line='246' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strcat'>
+        <parameter type-id='type-id-300' name='dest' filepath='lib/string.c' line='246' column='1'/>
+        <parameter type-id='type-id-24' name='src' filepath='lib/string.c' line='246' column='1'/>
+        <return type-id='type-id-300'/>
+      </function-decl>
+      <function-decl name='strncat' mangled-name='strncat' filepath='lib/string.c' line='269' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strncat'>
+        <parameter type-id='type-id-300' name='dest' filepath='lib/string.c' line='269' column='1'/>
+        <parameter type-id='type-id-24' name='src' filepath='lib/string.c' line='269' column='1'/>
+        <parameter type-id='type-id-125' name='count' filepath='lib/string.c' line='269' column='1'/>
+        <return type-id='type-id-300'/>
+      </function-decl>
+      <function-decl name='strlcat' mangled-name='strlcat' filepath='lib/string.c' line='295' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strlcat'>
+        <parameter type-id='type-id-300' name='dest' filepath='lib/string.c' line='295' column='1'/>
+        <parameter type-id='type-id-24' name='src' filepath='lib/string.c' line='295' column='1'/>
+        <parameter type-id='type-id-125' name='count' filepath='lib/string.c' line='295' column='1'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+      <function-decl name='strcspn' mangled-name='strcspn' filepath='lib/string.c' line='539' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strcspn'>
+        <parameter type-id='type-id-24' name='s' filepath='lib/string.c' line='539' column='1'/>
+        <parameter type-id='type-id-24' name='reject' filepath='lib/string.c' line='539' column='1'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+      <function-decl name='strpbrk' mangled-name='strpbrk' filepath='lib/string.c' line='563' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='strpbrk'>
+        <parameter type-id='type-id-24' name='cs' filepath='lib/string.c' line='563' column='1'/>
+        <parameter type-id='type-id-24' name='ct' filepath='lib/string.c' line='563' column='1'/>
+        <return type-id='type-id-300'/>
+      </function-decl>
+      <function-decl name='__sysfs_match_string' mangled-name='__sysfs_match_string' filepath='lib/string.c' line='669' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__sysfs_match_string'>
+        <parameter type-id='type-id-562' name='array' filepath='lib/string.c' line='669' column='1'/>
+        <parameter type-id='type-id-125' name='n' filepath='lib/string.c' line='669' column='1'/>
+        <parameter type-id='type-id-24' name='str' filepath='lib/string.c' line='669' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='lib/string_helpers.c' language='LANG_C89'>
+      <enum-decl name='string_size_units' filepath='include/linux/string_helpers.h' line='12' column='1' id='type-id-8121'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='STRING_UNITS_10' value='0'/>
+        <enumerator name='STRING_UNITS_2' value='1'/>
       </enum-decl>
-      <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/property.h' line='190' column='1' id='type-id-3563'>
-        <data-member access='private'>
-          <var-decl name='pointer' type-id='type-id-3564' visibility='default' filepath='include/linux/property.h' line='197' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='value' type-id='type-id-3565' visibility='default' filepath='include/linux/property.h' line='204' column='1'/>
-        </data-member>
-      </union-decl>
-      <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/property.h' line='191' column='1' id='type-id-3564'>
-        <data-member access='private'>
-          <var-decl name='u8_data' type-id='type-id-658' visibility='default' filepath='include/linux/property.h' line='192' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='u16_data' type-id='type-id-3566' visibility='default' filepath='include/linux/property.h' line='193' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='u32_data' type-id='type-id-2727' visibility='default' filepath='include/linux/property.h' line='194' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='u64_data' type-id='type-id-3567' visibility='default' filepath='include/linux/property.h' line='195' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='str' type-id='type-id-92' visibility='default' filepath='include/linux/property.h' line='196' column='1'/>
-        </data-member>
-      </union-decl>
-      <union-decl name='__anonymous_union__2' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/property.h' line='198' column='1' id='type-id-3565'>
-        <data-member access='private'>
-          <var-decl name='u8_data' type-id='type-id-214' visibility='default' filepath='include/linux/property.h' line='199' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='u16_data' type-id='type-id-688' visibility='default' filepath='include/linux/property.h' line='200' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='u32_data' type-id='type-id-7' visibility='default' filepath='include/linux/property.h' line='201' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='u64_data' type-id='type-id-40' visibility='default' filepath='include/linux/property.h' line='202' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='str' type-id='type-id-4' visibility='default' filepath='include/linux/property.h' line='203' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='platform_driver' size-in-bits='1536' is-struct='yes' visibility='default' filepath='include/linux/platform_device.h' line='180' column='1' id='type-id-3568'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='probe' type-id='type-id-3569' visibility='default' filepath='include/linux/platform_device.h' line='181' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='remove' type-id='type-id-3569' visibility='default' filepath='include/linux/platform_device.h' line='182' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='shutdown' type-id='type-id-3570' visibility='default' filepath='include/linux/platform_device.h' line='183' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='suspend' type-id='type-id-3571' visibility='default' filepath='include/linux/platform_device.h' line='184' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='resume' type-id='type-id-3569' visibility='default' filepath='include/linux/platform_device.h' line='185' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='driver' type-id='type-id-2049' visibility='default' filepath='include/linux/platform_device.h' line='186' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='id_table' type-id='type-id-3554' visibility='default' filepath='include/linux/platform_device.h' line='187' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='prevent_deferred_probe' type-id='type-id-33' visibility='default' filepath='include/linux/platform_device.h' line='188' column='1'/>
-        </data-member>
-      </class-decl>
-      <qualified-type-def type-id='type-id-3557' const='yes' id='type-id-3572'/>
-      <pointer-type-def type-id='type-id-3572' size-in-bits='64' id='type-id-3554'/>
-      <qualified-type-def type-id='type-id-3558' const='yes' id='type-id-3573'/>
-      <pointer-type-def type-id='type-id-3573' size-in-bits='64' id='type-id-3574'/>
-      <qualified-type-def type-id='type-id-2146' const='yes' id='type-id-3575'/>
-      <pointer-type-def type-id='type-id-3575' size-in-bits='64' id='type-id-3559'/>
-      <pointer-type-def type-id='type-id-2442' size-in-bits='64' id='type-id-3566'/>
-      <qualified-type-def type-id='type-id-40' const='yes' id='type-id-3576'/>
-      <pointer-type-def type-id='type-id-3576' size-in-bits='64' id='type-id-3567'/>
-      <pointer-type-def type-id='type-id-3577' size-in-bits='64' id='type-id-3569'/>
-      <pointer-type-def type-id='type-id-3578' size-in-bits='64' id='type-id-3571'/>
-      <pointer-type-def type-id='type-id-3552' size-in-bits='64' id='type-id-3555'/>
-      <pointer-type-def type-id='type-id-3553' size-in-bits='64' id='type-id-3579'/>
-      <pointer-type-def type-id='type-id-3568' size-in-bits='64' id='type-id-3580'/>
-      <pointer-type-def type-id='type-id-3561' size-in-bits='64' id='type-id-3560'/>
-      <pointer-type-def type-id='type-id-3581' size-in-bits='64' id='type-id-3570'/>
-      <function-decl name='platform_get_resource' mangled-name='platform_get_resource' filepath='drivers/base/platform.c' line='67' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='platform_get_resource'>
-        <parameter type-id='type-id-3579' name='dev' filepath='drivers/base/platform.c' line='67' column='1'/>
-        <parameter type-id='type-id-5' name='type' filepath='drivers/base/platform.c' line='68' column='1'/>
-        <parameter type-id='type-id-5' name='num' filepath='drivers/base/platform.c' line='68' column='1'/>
-        <return type-id='type-id-2156'/>
-      </function-decl>
-      <function-decl name='platform_get_irq' mangled-name='platform_get_irq' filepath='drivers/base/platform.c' line='87' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='platform_get_irq'>
-        <parameter type-id='type-id-3579' name='dev' filepath='drivers/base/platform.c' line='87' column='1'/>
-        <parameter type-id='type-id-5' name='num' filepath='drivers/base/platform.c' line='87' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='platform_device_unregister' mangled-name='platform_device_unregister' filepath='drivers/base/platform.c' line='489' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='platform_device_unregister'>
-        <parameter type-id='type-id-3579' name='pdev' filepath='drivers/base/platform.c' line='489' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='platform_device_put' mangled-name='platform_device_put' filepath='drivers/base/platform.c' line='236' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='platform_device_put'>
-        <parameter type-id='type-id-3579' name='pdev' filepath='drivers/base/platform.c' line='236' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='platform_device_alloc' mangled-name='platform_device_alloc' filepath='drivers/base/platform.c' line='264' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='platform_device_alloc'>
-        <parameter type-id='type-id-4' name='name' filepath='drivers/base/platform.c' line='264' column='1'/>
-        <parameter type-id='type-id-17' name='id' filepath='drivers/base/platform.c' line='264' column='1'/>
-        <return type-id='type-id-3579'/>
-      </function-decl>
-      <function-decl name='platform_device_add_data' mangled-name='platform_device_add_data' filepath='drivers/base/platform.c' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='platform_device_add_data'>
-        <parameter type-id='type-id-3579' name='pdev' filepath='drivers/base/platform.c' line='320' column='1'/>
-        <parameter type-id='type-id-15' name='data' filepath='drivers/base/platform.c' line='320' column='1'/>
-        <parameter type-id='type-id-84' name='size' filepath='drivers/base/platform.c' line='321' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='platform_device_add' mangled-name='platform_device_add' filepath='drivers/base/platform.c' line='360' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='platform_device_add'>
-        <parameter type-id='type-id-3579' name='pdev' filepath='drivers/base/platform.c' line='360' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='platform_device_del' mangled-name='platform_device_del' filepath='drivers/base/platform.c' line='447' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='platform_device_del'>
-        <parameter type-id='type-id-3579' name='pdev' filepath='drivers/base/platform.c' line='447' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='platform_device_register_full' mangled-name='platform_device_register_full' filepath='drivers/base/platform.c' line='504' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='platform_device_register_full'>
-        <parameter type-id='type-id-3574' name='pdevinfo' filepath='drivers/base/platform.c' line='505' column='1'/>
-        <return type-id='type-id-3579'/>
-      </function-decl>
-      <function-decl name='__platform_driver_register' mangled-name='__platform_driver_register' filepath='drivers/base/platform.c' line='628' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__platform_driver_register'>
-        <parameter type-id='type-id-3580' name='drv' filepath='drivers/base/platform.c' line='628' column='1'/>
-        <parameter type-id='type-id-260' name='owner' filepath='drivers/base/platform.c' line='629' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='platform_driver_unregister' mangled-name='platform_driver_unregister' filepath='drivers/base/platform.c' line='645' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='platform_driver_unregister'>
-        <parameter type-id='type-id-3580' name='drv' filepath='drivers/base/platform.c' line='645' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-3577'>
-        <parameter type-id='type-id-3579' name='pdev'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3578'>
-        <parameter type-id='type-id-3579'/>
-        <parameter type-id='type-id-2055'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3581'>
-        <parameter type-id='type-id-3579' name='pdev'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/module.c' language='LANG_C89'>
-      <array-type-def dimensions='1' type-id='type-id-2039' size-in-bits='infinite' id='type-id-3582'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-3583' size-in-bits='infinite' id='type-id-3584'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <class-decl name='module_sect_attr' size-in-bits='576' is-struct='yes' visibility='default' filepath='kernel/module.c' line='1453' column='1' id='type-id-3583'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mattr' type-id='type-id-2431' visibility='default' filepath='kernel/module.c' line='1454' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='name' type-id='type-id-2' visibility='default' filepath='kernel/module.c' line='1455' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='address' type-id='type-id-16' visibility='default' filepath='kernel/module.c' line='1456' column='1'/>
-        </data-member>
-      </class-decl>
-      <function-decl name='module_put' mangled-name='module_put' filepath='kernel/module.c' line='1129' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='module_put'>
-        <parameter type-id='type-id-260' name='module' filepath='kernel/module.c' line='1129' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='__module_get' mangled-name='__module_get' filepath='kernel/module.c' line='1099' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__module_get'>
-        <parameter type-id='type-id-260' name='module' filepath='kernel/module.c' line='1099' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='try_module_get' mangled-name='try_module_get' filepath='kernel/module.c' line='1110' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='try_module_get'>
-        <parameter type-id='type-id-260' name='module' filepath='kernel/module.c' line='1110' column='1'/>
-        <return type-id='type-id-33'/>
+      <qualified-type-def type-id='type-id-8121' const='yes' id='type-id-8122'/>
+      <function-decl name='string_get_size' mangled-name='string_get_size' filepath='lib/string_helpers.c' line='33' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='string_get_size'>
+        <parameter type-id='type-id-134' name='size' filepath='lib/string_helpers.c' line='33' column='1'/>
+        <parameter type-id='type-id-134' name='blk_size' filepath='lib/string_helpers.c' line='33' column='1'/>
+        <parameter type-id='type-id-8122' name='units' filepath='lib/string_helpers.c' line='33' column='1'/>
+        <parameter type-id='type-id-300' name='buf' filepath='lib/string_helpers.c' line='34' column='1'/>
+        <parameter type-id='type-id-11' name='len' filepath='lib/string_helpers.c' line='34' column='1'/>
+        <return type-id='type-id-73'/>
       </function-decl>
     </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/cfi.c' language='LANG_C89'>
-      <function-decl name='__cfi_slowpath' mangled-name='__cfi_slowpath' filepath='kernel/cfi.c' line='285' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cfi_slowpath'>
-        <parameter type-id='type-id-2439' name='id' filepath='kernel/cfi.c' line='285' column='1'/>
-        <parameter type-id='type-id-15' name='ptr' filepath='kernel/cfi.c' line='285' column='1'/>
-        <parameter type-id='type-id-15' name='diag' filepath='kernel/cfi.c' line='285' column='1'/>
-        <return type-id='type-id-81'/>
+    <abi-instr version='1.0' address-size='64' path='lib/vsprintf.c' language='LANG_C89'>
+      <function-decl name='vsnprintf' mangled-name='vsnprintf' filepath='lib/vsprintf.c' line='2241' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vsnprintf'>
+        <parameter type-id='type-id-300' name='buf' filepath='lib/vsprintf.c' line='2241' column='1'/>
+        <parameter type-id='type-id-125' name='size' filepath='lib/vsprintf.c' line='2241' column='1'/>
+        <parameter type-id='type-id-24' name='fmt' filepath='lib/vsprintf.c' line='2241' column='1'/>
+        <parameter type-id='type-id-1231' name='args' filepath='lib/vsprintf.c' line='2241' column='1'/>
+        <return type-id='type-id-11'/>
       </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/trace/trace_output.c' language='LANG_C89'>
-      <class-decl name='trace_print_flags' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/tracepoint-defs.h' line='14' column='1' id='type-id-3585'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mask' type-id='type-id-16' visibility='default' filepath='include/linux/tracepoint-defs.h' line='15' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/tracepoint-defs.h' line='16' column='1'/>
-        </data-member>
-      </class-decl>
-      <qualified-type-def type-id='type-id-3585' const='yes' id='type-id-3586'/>
-      <pointer-type-def type-id='type-id-3586' size-in-bits='64' id='type-id-3587'/>
-      <function-decl name='trace_print_symbols_seq' mangled-name='trace_print_symbols_seq' filepath='kernel/trace/trace_output.c' line='103' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='trace_print_symbols_seq'>
-        <parameter type-id='type-id-68' name='p' filepath='kernel/trace/trace_output.c' line='103' column='1'/>
-        <parameter type-id='type-id-16' name='val' filepath='kernel/trace/trace_output.c' line='103' column='1'/>
-        <parameter type-id='type-id-3587' name='symbol_array' filepath='kernel/trace/trace_output.c' line='104' column='1'/>
-        <return type-id='type-id-4'/>
-      </function-decl>
-      <function-decl name='trace_raw_output_prep' mangled-name='trace_raw_output_prep' filepath='kernel/trace/trace_output.c' line='277' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='trace_raw_output_prep'>
-        <parameter type-id='type-id-82' name='iter' filepath='kernel/trace/trace_output.c' line='277' column='1'/>
-        <parameter type-id='type-id-831' name='trace_event' filepath='kernel/trace/trace_output.c' line='278' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='fs/open.c' language='LANG_C89'>
-      <union-decl name='__anonymous_union__2' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/fsnotify_backend.h' line='283' column='1' id='type-id-3588'>
-        <data-member access='private'>
-          <var-decl name='obj' type-id='type-id-3589' visibility='default' filepath='include/linux/fsnotify_backend.h' line='285' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='destroy_next' type-id='type-id-1308' visibility='default' filepath='include/linux/fsnotify_backend.h' line='287' column='1'/>
-        </data-member>
-      </union-decl>
-      <typedef-decl name='fsnotify_connp_t' type-id='type-id-1308' filepath='include/linux/fsnotify_backend.h' line='272' column='1' id='type-id-3590'/>
-      <pointer-type-def type-id='type-id-3590' size-in-bits='64' id='type-id-3589'/>
-      <function-decl name='nonseekable_open' mangled-name='nonseekable_open' filepath='fs/open.c' line='1242' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nonseekable_open'>
-        <parameter type-id='type-id-1129' name='inode' filepath='fs/open.c' line='1242' column='1'/>
-        <parameter type-id='type-id-83' name='filp' filepath='fs/open.c' line='1242' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/trace/trace_seq.c' language='LANG_C89'>
-      <function-decl name='trace_seq_printf' mangled-name='trace_seq_printf' filepath='kernel/trace/trace_seq.c' line='84' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='trace_seq_printf'>
-        <parameter type-id='type-id-68' name='s' filepath='kernel/trace/trace_seq.c' line='84' column='1'/>
-        <parameter type-id='type-id-4' name='fmt' filepath='kernel/trace/trace_seq.c' line='84' column='1'/>
+      <function-decl name='snprintf' mangled-name='snprintf' filepath='lib/vsprintf.c' line='2438' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snprintf'>
+        <parameter type-id='type-id-300' name='buf' filepath='lib/vsprintf.c' line='2438' column='1'/>
+        <parameter type-id='type-id-125' name='size' filepath='lib/vsprintf.c' line='2438' column='1'/>
+        <parameter type-id='type-id-24' name='fmt' filepath='lib/vsprintf.c' line='2438' column='1'/>
         <parameter is-variadic='yes'/>
-        <return type-id='type-id-81'/>
+        <return type-id='type-id-11'/>
       </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/trace/trace_events.c' language='LANG_C89'>
-      <function-decl name='trace_define_field' mangled-name='trace_define_field' filepath='kernel/trace/trace_events.c' line='139' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='trace_define_field'>
-        <parameter type-id='type-id-21' name='call' filepath='kernel/trace/trace_events.c' line='139' column='1'/>
-        <parameter type-id='type-id-4' name='type' filepath='kernel/trace/trace_events.c' line='139' column='1'/>
-        <parameter type-id='type-id-4' name='name' filepath='kernel/trace/trace_events.c' line='140' column='1'/>
-        <parameter type-id='type-id-17' name='offset' filepath='kernel/trace/trace_events.c' line='140' column='1'/>
-        <parameter type-id='type-id-17' name='size' filepath='kernel/trace/trace_events.c' line='140' column='1'/>
-        <parameter type-id='type-id-17' name='is_signed' filepath='kernel/trace/trace_events.c' line='140' column='1'/>
-        <parameter type-id='type-id-17' name='filter_type' filepath='kernel/trace/trace_events.c' line='141' column='1'/>
-        <return type-id='type-id-17'/>
+      <function-decl name='sprintf' mangled-name='sprintf' filepath='lib/vsprintf.c' line='2507' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sprintf'>
+        <parameter type-id='type-id-300' name='buf' filepath='lib/vsprintf.c' line='2507' column='1'/>
+        <parameter type-id='type-id-24' name='fmt' filepath='lib/vsprintf.c' line='2507' column='1'/>
+        <parameter is-variadic='yes'/>
+        <return type-id='type-id-11'/>
       </function-decl>
-      <function-decl name='trace_event_raw_init' mangled-name='trace_event_raw_init' filepath='kernel/trace/trace_events.c' line='225' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='trace_event_raw_init'>
-        <parameter type-id='type-id-21' name='call' filepath='kernel/trace/trace_events.c' line='225' column='1'/>
-        <return type-id='type-id-17'/>
+      <function-decl name='sscanf' mangled-name='sscanf' filepath='lib/vsprintf.c' line='3210' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sscanf'>
+        <parameter type-id='type-id-24' name='buf' filepath='lib/vsprintf.c' line='3210' column='1'/>
+        <parameter type-id='type-id-24' name='fmt' filepath='lib/vsprintf.c' line='3210' column='1'/>
+        <parameter is-variadic='yes'/>
+        <return type-id='type-id-11'/>
       </function-decl>
-      <function-decl name='trace_event_ignore_this_pid' mangled-name='trace_event_ignore_this_pid' filepath='kernel/trace/trace_events.c' line='237' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='trace_event_ignore_this_pid'>
-        <parameter type-id='type-id-14' name='trace_file' filepath='kernel/trace/trace_events.c' line='237' column='1'/>
-        <return type-id='type-id-33'/>
-      </function-decl>
-      <function-decl name='trace_event_buffer_reserve' mangled-name='trace_event_buffer_reserve' filepath='kernel/trace/trace_events.c' line='253' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='trace_event_buffer_reserve'>
-        <parameter type-id='type-id-66' name='fbuffer' filepath='kernel/trace/trace_events.c' line='253' column='1'/>
-        <parameter type-id='type-id-14' name='trace_file' filepath='kernel/trace/trace_events.c' line='254' column='1'/>
-        <parameter type-id='type-id-16' name='len' filepath='kernel/trace/trace_events.c' line='255' column='1'/>
-        <return type-id='type-id-15'/>
-      </function-decl>
-      <function-decl name='trace_event_reg' mangled-name='trace_event_reg' filepath='kernel/trace/trace_events.c' line='287' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='trace_event_reg'>
-        <parameter type-id='type-id-21' name='call' filepath='kernel/trace/trace_events.c' line='287' column='1'/>
-        <parameter type-id='type-id-753' name='type' filepath='kernel/trace/trace_events.c' line='288' column='1'/>
-        <parameter type-id='type-id-15' name='data' filepath='kernel/trace/trace_events.c' line='288' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/trace/trace_event_perf.c' language='LANG_C89'>
-      <pointer-type-def type-id='type-id-736' size-in-bits='64' id='type-id-3591'/>
-      <function-decl name='perf_trace_buf_alloc' mangled-name='perf_trace_buf_alloc' filepath='kernel/trace/trace_event_perf.c' line='394' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='perf_trace_buf_alloc'>
-        <parameter type-id='type-id-17' name='size' filepath='kernel/trace/trace_event_perf.c' line='394' column='1'/>
-        <parameter type-id='type-id-3591' name='regs' filepath='kernel/trace/trace_event_perf.c' line='394' column='1'/>
-        <parameter type-id='type-id-666' name='rctxp' filepath='kernel/trace/trace_event_perf.c' line='394' column='1'/>
-        <return type-id='type-id-15'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/trace/trace_events_trigger.c' language='LANG_C89'>
-      <enum-decl name='event_trigger_type' filepath='include/linux/trace_events.h' line='421' column='1' id='type-id-3592'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='ETT_NONE' value='0'/>
-        <enumerator name='ETT_TRACE_ONOFF' value='1'/>
-        <enumerator name='ETT_SNAPSHOT' value='2'/>
-        <enumerator name='ETT_STACKTRACE' value='4'/>
-        <enumerator name='ETT_EVENT_ENABLE' value='8'/>
-        <enumerator name='ETT_EVENT_HIST' value='16'/>
-        <enumerator name='ETT_HIST_ENABLE' value='32'/>
-      </enum-decl>
-      <function-decl name='event_triggers_call' mangled-name='event_triggers_call' filepath='kernel/trace/trace_events_trigger.c' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='event_triggers_call'>
-        <parameter type-id='type-id-14' name='file' filepath='kernel/trace/trace_events_trigger.c' line='55' column='1'/>
-        <parameter type-id='type-id-15' name='rec' filepath='kernel/trace/trace_events_trigger.c' line='55' column='1'/>
-        <parameter type-id='type-id-13' name='event' filepath='kernel/trace/trace_events_trigger.c' line='56' column='1'/>
-        <return type-id='type-id-3592'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/trace/bpf_trace.c' language='LANG_C89'>
-      <function-decl name='bpf_trace_run2' mangled-name='bpf_trace_run2' filepath='kernel/trace/bpf_trace.c' line='1201' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bpf_trace_run2'>
-        <parameter type-id='type-id-1230' name='prog' filepath='kernel/trace/bpf_trace.c' line='1201' column='1'/>
-        <parameter type-id='type-id-40' name='arg0' filepath='kernel/trace/bpf_trace.c' line='1201' column='1'/>
-        <parameter type-id='type-id-40' name='arg1' filepath='kernel/trace/bpf_trace.c' line='1201' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='bpf_trace_run8' mangled-name='bpf_trace_run8' filepath='kernel/trace/bpf_trace.c' line='1207' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bpf_trace_run8'>
-        <parameter type-id='type-id-1230' name='prog' filepath='kernel/trace/bpf_trace.c' line='1207' column='1'/>
-        <parameter type-id='type-id-40' name='arg0' filepath='kernel/trace/bpf_trace.c' line='1207' column='1'/>
-        <parameter type-id='type-id-40' name='arg1' filepath='kernel/trace/bpf_trace.c' line='1207' column='1'/>
-        <parameter type-id='type-id-40' name='arg2' filepath='kernel/trace/bpf_trace.c' line='1207' column='1'/>
-        <parameter type-id='type-id-40' name='arg3' filepath='kernel/trace/bpf_trace.c' line='1207' column='1'/>
-        <parameter type-id='type-id-40' name='arg4' filepath='kernel/trace/bpf_trace.c' line='1207' column='1'/>
-        <parameter type-id='type-id-40' name='arg5' filepath='kernel/trace/bpf_trace.c' line='1207' column='1'/>
-        <parameter type-id='type-id-40' name='arg6' filepath='kernel/trace/bpf_trace.c' line='1207' column='1'/>
-        <parameter type-id='type-id-40' name='arg7' filepath='kernel/trace/bpf_trace.c' line='1207' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='bpf_trace_run10' mangled-name='bpf_trace_run10' filepath='kernel/trace/bpf_trace.c' line='1209' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bpf_trace_run10'>
-        <parameter type-id='type-id-1230' name='prog' filepath='kernel/trace/bpf_trace.c' line='1209' column='1'/>
-        <parameter type-id='type-id-40' name='arg0' filepath='kernel/trace/bpf_trace.c' line='1209' column='1'/>
-        <parameter type-id='type-id-40' name='arg1' filepath='kernel/trace/bpf_trace.c' line='1209' column='1'/>
-        <parameter type-id='type-id-40' name='arg2' filepath='kernel/trace/bpf_trace.c' line='1209' column='1'/>
-        <parameter type-id='type-id-40' name='arg3' filepath='kernel/trace/bpf_trace.c' line='1209' column='1'/>
-        <parameter type-id='type-id-40' name='arg4' filepath='kernel/trace/bpf_trace.c' line='1209' column='1'/>
-        <parameter type-id='type-id-40' name='arg5' filepath='kernel/trace/bpf_trace.c' line='1209' column='1'/>
-        <parameter type-id='type-id-40' name='arg6' filepath='kernel/trace/bpf_trace.c' line='1209' column='1'/>
-        <parameter type-id='type-id-40' name='arg7' filepath='kernel/trace/bpf_trace.c' line='1209' column='1'/>
-        <parameter type-id='type-id-40' name='arg8' filepath='kernel/trace/bpf_trace.c' line='1209' column='1'/>
-        <parameter type-id='type-id-40' name='arg9' filepath='kernel/trace/bpf_trace.c' line='1209' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='kernel/bpf/syscall.c' language='LANG_C89'>
-      <function-decl name='bpf_prog_put' mangled-name='bpf_prog_put' filepath='kernel/bpf/syscall.c' line='1136' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bpf_prog_put'>
-        <parameter type-id='type-id-1230' name='prog' filepath='kernel/bpf/syscall.c' line='1136' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='bpf_prog_add' mangled-name='bpf_prog_add' filepath='kernel/bpf/syscall.c' line='1204' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bpf_prog_add'>
-        <parameter type-id='type-id-1230' name='prog' filepath='kernel/bpf/syscall.c' line='1204' column='1'/>
-        <parameter type-id='type-id-17' name='i' filepath='kernel/bpf/syscall.c' line='1204' column='1'/>
-        <return type-id='type-id-1230'/>
-      </function-decl>
-      <function-decl name='bpf_prog_sub' mangled-name='bpf_prog_sub' filepath='kernel/bpf/syscall.c' line='1214' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bpf_prog_sub'>
-        <parameter type-id='type-id-1230' name='prog' filepath='kernel/bpf/syscall.c' line='1214' column='1'/>
-        <parameter type-id='type-id-17' name='i' filepath='kernel/bpf/syscall.c' line='1214' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='net/core/xdp.c' language='LANG_C89'>
-      <enum-decl name='xdp_mem_type' filepath='include/net/xdp.h' line='36' column='1' id='type-id-3593'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='MEM_TYPE_PAGE_SHARED' value='0'/>
-        <enumerator name='MEM_TYPE_PAGE_ORDER0' value='1'/>
-        <enumerator name='MEM_TYPE_PAGE_POOL' value='2'/>
-        <enumerator name='MEM_TYPE_ZERO_COPY' value='3'/>
-        <enumerator name='MEM_TYPE_MAX' value='4'/>
-      </enum-decl>
-      <function-decl name='xdp_rxq_info_unreg' mangled-name='xdp_rxq_info_unreg' filepath='net/core/xdp.c' line='114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='xdp_rxq_info_unreg'>
-        <parameter type-id='type-id-3594' name='xdp_rxq' filepath='net/core/xdp.c' line='114' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='xdp_rxq_info_reg' mangled-name='xdp_rxq_info_reg' filepath='net/core/xdp.c' line='139' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='xdp_rxq_info_reg'>
-        <parameter type-id='type-id-3594' name='xdp_rxq' filepath='net/core/xdp.c' line='139' column='1'/>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/core/xdp.c' line='140' column='1'/>
-        <parameter type-id='type-id-7' name='queue_index' filepath='net/core/xdp.c' line='140' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='xdp_rxq_info_reg_mem_model' mangled-name='xdp_rxq_info_reg_mem_model' filepath='net/core/xdp.c' line='241' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='xdp_rxq_info_reg_mem_model'>
-        <parameter type-id='type-id-3594' name='xdp_rxq' filepath='net/core/xdp.c' line='241' column='1'/>
-        <parameter type-id='type-id-3593' name='type' filepath='net/core/xdp.c' line='242' column='1'/>
-        <parameter type-id='type-id-15' name='allocator' filepath='net/core/xdp.c' line='242' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='xdp_return_frame' mangled-name='xdp_return_frame' filepath='net/core/xdp.c' line='353' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='xdp_return_frame'>
-        <parameter type-id='type-id-3236' name='xdpf' filepath='net/core/xdp.c' line='353' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='xdp_return_frame_rx_napi' mangled-name='xdp_return_frame_rx_napi' filepath='net/core/xdp.c' line='359' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='xdp_return_frame_rx_napi'>
-        <parameter type-id='type-id-3236' name='xdpf' filepath='net/core/xdp.c' line='359' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='net/core/rtnetlink.c' language='LANG_C89'>
-      <typedef-decl name='rtnl_doit_func' type-id='type-id-3595' filepath='include/net/rtnetlink.h' line='8' column='1' id='type-id-3596'/>
-      <typedef-decl name='rtnl_dumpit_func' type-id='type-id-1812' filepath='include/net/rtnetlink.h' line='10' column='1' id='type-id-3597'/>
-      <pointer-type-def type-id='type-id-3598' size-in-bits='64' id='type-id-3595'/>
-      <pointer-type-def type-id='type-id-2187' size-in-bits='64' id='type-id-3599'/>
-      <function-decl name='rtnl_lock' mangled-name='rtnl_lock' filepath='net/core/rtnetlink.c' line='75' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rtnl_lock'>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='rtnl_unlock' mangled-name='rtnl_unlock' filepath='net/core/rtnetlink.c' line='114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rtnl_unlock'>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='rtnl_is_locked' mangled-name='rtnl_is_locked' filepath='net/core/rtnetlink.c' line='127' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rtnl_is_locked'>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='rtnl_register_module' mangled-name='rtnl_register_module' filepath='net/core/rtnetlink.c' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rtnl_register_module'>
-        <parameter type-id='type-id-260' name='owner' filepath='net/core/rtnetlink.c' line='240' column='1'/>
-        <parameter type-id='type-id-17' name='protocol' filepath='net/core/rtnetlink.c' line='241' column='1'/>
-        <parameter type-id='type-id-17' name='msgtype' filepath='net/core/rtnetlink.c' line='241' column='1'/>
-        <parameter type-id='type-id-3596' name='doit' filepath='net/core/rtnetlink.c' line='242' column='1'/>
-        <parameter type-id='type-id-3597' name='dumpit' filepath='net/core/rtnetlink.c' line='242' column='1'/>
-        <parameter type-id='type-id-5' name='flags' filepath='net/core/rtnetlink.c' line='243' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='rtnl_unregister' mangled-name='rtnl_unregister' filepath='net/core/rtnetlink.c' line='286' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rtnl_unregister'>
-        <parameter type-id='type-id-17' name='protocol' filepath='net/core/rtnetlink.c' line='286' column='1'/>
-        <parameter type-id='type-id-17' name='msgtype' filepath='net/core/rtnetlink.c' line='286' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='rtnl_unregister_all' mangled-name='rtnl_unregister_all' filepath='net/core/rtnetlink.c' line='318' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rtnl_unregister_all'>
-        <parameter type-id='type-id-17' name='protocol' filepath='net/core/rtnetlink.c' line='318' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='rtnl_link_register' mangled-name='rtnl_link_register' filepath='net/core/rtnetlink.c' line='395' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rtnl_link_register'>
-        <parameter type-id='type-id-3599' name='ops' filepath='net/core/rtnetlink.c' line='395' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='rtnl_link_unregister' mangled-name='rtnl_link_unregister' filepath='net/core/rtnetlink.c' line='477' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rtnl_link_unregister'>
-        <parameter type-id='type-id-3599' name='ops' filepath='net/core/rtnetlink.c' line='477' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-3598'>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-3035'/>
-        <parameter type-id='type-id-1826'/>
-        <return type-id='type-id-17'/>
-      </function-type>
     </abi-instr>
     <abi-instr version='1.0' address-size='64' path='mm/filemap.c' language='LANG_C89'>
-      <function-decl name='unlock_page' mangled-name='unlock_page' filepath='mm/filemap.c' line='1239' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unlock_page'>
-        <parameter type-id='type-id-512' name='page' filepath='mm/filemap.c' line='1239' column='1'/>
-        <return type-id='type-id-81'/>
+      <function-decl name='mark_page_accessed' mangled-name='mark_page_accessed' filepath='include/linux/swap.h' line='340' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mark_page_accessed'>
+        <parameter type-id='type-id-120'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='iov_iter_revert' mangled-name='iov_iter_revert' filepath='include/linux/uio.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='iov_iter_revert'>
+        <parameter type-id='type-id-2241'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='set_page_dirty' mangled-name='set_page_dirty' filepath='include/linux/mm.h' line='1585' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='set_page_dirty'>
+        <parameter type-id='type-id-120'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='invalidate_mapping_pages' mangled-name='invalidate_mapping_pages' filepath='include/linux/fs.h' line='2682' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='invalidate_mapping_pages'>
+        <parameter type-id='type-id-5008'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='mm/gup.c' language='LANG_C89'>
+      <pointer-type-def type-id='type-id-132' size-in-bits='64' id='type-id-8123'/>
+      <function-decl name='get_user_pages' mangled-name='get_user_pages' filepath='mm/gup.c' line='1110' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_user_pages'>
+        <parameter type-id='type-id-100' name='start' filepath='mm/gup.c' line='1110' column='1'/>
+        <parameter type-id='type-id-100' name='nr_pages' filepath='mm/gup.c' line='1110' column='1'/>
+        <parameter type-id='type-id-10' name='gup_flags' filepath='mm/gup.c' line='1111' column='1'/>
+        <parameter type-id='type-id-260' name='pages' filepath='mm/gup.c' line='1111' column='1'/>
+        <parameter type-id='type-id-8123' name='vmas' filepath='mm/gup.c' line='1112' column='1'/>
+        <return type-id='type-id-187'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='mm/memory.c' language='LANG_C89'>
+      <union-decl name='__anonymous_union__2' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='142' column='1' id='type-id-8124'>
+        <data-member access='private'>
+          <var-decl name='pt_mm' type-id='type-id-158' visibility='default' filepath='include/linux/mm_types.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='pt_frag_refcount' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='144' column='1'/>
+        </data-member>
+      </union-decl>
+      <typedef-decl name='pfn_t' type-id='type-id-8125' filepath='include/linux/pfn.h' line='15' column='1' id='type-id-2231'/>
+      <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-2231' visibility='default' filepath='include/linux/pfn.h' line='13' column='1' id='type-id-8125'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='val' type-id='type-id-134' visibility='default' filepath='include/linux/pfn.h' line='14' column='1'/>
+        </data-member>
+      </class-decl>
+      <function-decl name='vm_insert_page' mangled-name='vm_insert_page' filepath='mm/memory.c' line='1772' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vm_insert_page'>
+        <parameter type-id='type-id-132' name='vma' filepath='mm/memory.c' line='1772' column='1'/>
+        <parameter type-id='type-id-100' name='addr' filepath='mm/memory.c' line='1772' column='1'/>
+        <parameter type-id='type-id-120' name='page' filepath='mm/memory.c' line='1773' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='vm_insert_pfn' mangled-name='vm_insert_pfn' filepath='mm/memory.c' line='1863' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vm_insert_pfn'>
+        <parameter type-id='type-id-132' name='vma' filepath='mm/memory.c' line='1863' column='1'/>
+        <parameter type-id='type-id-100' name='addr' filepath='mm/memory.c' line='1863' column='1'/>
+        <parameter type-id='type-id-100' name='pfn' filepath='mm/memory.c' line='1864' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='vm_insert_mixed' mangled-name='vm_insert_mixed' filepath='mm/memory.c' line='1967' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vm_insert_mixed'>
+        <parameter type-id='type-id-132' name='vma' filepath='mm/memory.c' line='1967' column='1'/>
+        <parameter type-id='type-id-100' name='addr' filepath='mm/memory.c' line='1967' column='1'/>
+        <parameter type-id='type-id-2231' name='pfn' filepath='mm/memory.c' line='1968' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='vm_iomap_memory' mangled-name='vm_iomap_memory' filepath='mm/memory.c' line='2175' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vm_iomap_memory'>
+        <parameter type-id='type-id-132' name='vma' filepath='mm/memory.c' line='2175' column='1'/>
+        <parameter type-id='type-id-206' name='start' filepath='mm/memory.c' line='2175' column='1'/>
+        <parameter type-id='type-id-100' name='len' filepath='mm/memory.c' line='2175' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='mm/mempool.c' language='LANG_C89'>
+      <function-decl name='mempool_destroy' mangled-name='mempool_destroy' filepath='mm/mempool.c' line='170' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mempool_destroy'>
+        <parameter type-id='type-id-5462' name='pool' filepath='mm/mempool.c' line='170' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='mempool_create' mangled-name='mempool_create' filepath='mm/mempool.c' line='249' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mempool_create'>
+        <parameter type-id='type-id-11' name='min_nr' filepath='mm/mempool.c' line='249' column='1'/>
+        <parameter type-id='type-id-5453' name='alloc_fn' filepath='mm/mempool.c' line='249' column='1'/>
+        <parameter type-id='type-id-5454' name='free_fn' filepath='mm/mempool.c' line='250' column='1'/>
+        <parameter type-id='type-id-3' name='pool_data' filepath='mm/mempool.c' line='250' column='1'/>
+        <return type-id='type-id-5462'/>
+      </function-decl>
+      <function-decl name='mempool_alloc' mangled-name='mempool_alloc' filepath='mm/mempool.c' line='367' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mempool_alloc'>
+        <parameter type-id='type-id-5462' name='pool' filepath='mm/mempool.c' line='367' column='1'/>
+        <parameter type-id='type-id-272' name='gfp_mask' filepath='mm/mempool.c' line='367' column='1'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='mempool_free' mangled-name='mempool_free' filepath='mm/mempool.c' line='444' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mempool_free'>
+        <parameter type-id='type-id-3' name='element' filepath='mm/mempool.c' line='444' column='1'/>
+        <parameter type-id='type-id-5462' name='pool' filepath='mm/mempool.c' line='444' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='mempool_kmalloc' mangled-name='mempool_kmalloc' filepath='mm/mempool.c' line='520' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mempool_kmalloc'>
+        <parameter type-id='type-id-272' name='gfp_mask' filepath='mm/mempool.c' line='520' column='1'/>
+        <parameter type-id='type-id-3' name='pool_data' filepath='mm/mempool.c' line='520' column='1'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='mempool_kfree' mangled-name='mempool_kfree' filepath='mm/mempool.c' line='527' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mempool_kfree'>
+        <parameter type-id='type-id-3' name='element' filepath='mm/mempool.c' line='527' column='1'/>
+        <parameter type-id='type-id-3' name='pool_data' filepath='mm/mempool.c' line='527' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='mm/mmap.c' language='LANG_C89'>
+      <class-decl name='vm_unmapped_area_info' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/mm.h' line='2387' column='1' id='type-id-8126'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/mm.h' line='2389' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='length' type-id='type-id-100' visibility='default' filepath='include/linux/mm.h' line='2390' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='low_limit' type-id='type-id-100' visibility='default' filepath='include/linux/mm.h' line='2391' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='high_limit' type-id='type-id-100' visibility='default' filepath='include/linux/mm.h' line='2392' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='align_mask' type-id='type-id-100' visibility='default' filepath='include/linux/mm.h' line='2393' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='align_offset' type-id='type-id-100' visibility='default' filepath='include/linux/mm.h' line='2394' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-8126' size-in-bits='64' id='type-id-8127'/>
+      <function-decl name='security_mmap_addr' mangled-name='security_mmap_addr' filepath='include/linux/security.h' line='327' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='security_mmap_addr'>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='vm_get_page_prot' mangled-name='vm_get_page_prot' filepath='mm/mmap.c' line='105' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vm_get_page_prot'>
+        <parameter type-id='type-id-100' name='vm_flags' filepath='mm/mmap.c' line='105' column='1'/>
+        <return type-id='type-id-263'/>
+      </function-decl>
+      <function-decl name='unmapped_area_topdown' mangled-name='unmapped_area_topdown' filepath='mm/mmap.c' line='1958' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unmapped_area_topdown'>
+        <parameter type-id='type-id-8127' name='info' filepath='mm/mmap.c' line='1958' column='1'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+      <function-decl name='vm_munmap' mangled-name='vm_munmap' filepath='mm/mmap.c' line='2806' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vm_munmap'>
+        <parameter type-id='type-id-100' name='start' filepath='mm/mmap.c' line='2806' column='1'/>
+        <parameter type-id='type-id-125' name='len' filepath='mm/mmap.c' line='2806' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='mm/mmzone.c' language='LANG_C89'>
+      <pointer-type-def type-id='type-id-4845' size-in-bits='64' id='type-id-8128'/>
+      <function-decl name='__next_zones_zonelist' mangled-name='__next_zones_zonelist' filepath='mm/mmzone.c' line='56' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__next_zones_zonelist'>
+        <parameter type-id='type-id-8128' name='z' filepath='mm/mmzone.c' line='56' column='1'/>
+        <parameter type-id='type-id-5609' name='highest_zoneidx' filepath='mm/mmzone.c' line='57' column='1'/>
+        <parameter type-id='type-id-8129' name='nodes' filepath='mm/mmzone.c' line='58' column='1'/>
+        <return type-id='type-id-8128'/>
       </function-decl>
     </abi-instr>
     <abi-instr version='1.0' address-size='64' path='mm/page-writeback.c' language='LANG_C89'>
-      <function-decl name='set_page_dirty' mangled-name='set_page_dirty' filepath='mm/page-writeback.c' line='2546' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='set_page_dirty'>
-        <parameter type-id='type-id-512' name='page' filepath='mm/page-writeback.c' line='2546' column='1'/>
-        <return type-id='type-id-17'/>
+      <function-decl name='percpu_counter_destroy' mangled-name='percpu_counter_destroy' filepath='include/linux/percpu_counter.h' line='41' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='percpu_counter_destroy'>
+        <parameter type-id='type-id-6488'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='set_page_dirty_lock' mangled-name='set_page_dirty_lock' filepath='mm/page-writeback.c' line='2589' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='set_page_dirty_lock'>
+        <parameter type-id='type-id-120' name='page' filepath='mm/page-writeback.c' line='2589' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='mm/page_alloc.c' language='LANG_C89'>
+      <pointer-type-def type-id='type-id-5153' size-in-bits='64' id='type-id-8129'/>
+      <function-decl name='adjust_managed_page_count' mangled-name='adjust_managed_page_count' filepath='include/linux/mm.h' line='2104' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='adjust_managed_page_count'>
+        <parameter type-id='type-id-120'/>
+        <parameter type-id='type-id-187'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='int_sqrt' mangled-name='int_sqrt' filepath='include/linux/kernel.h' line='517' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='int_sqrt'>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+      <function-decl name='__free_pages' mangled-name='__free_pages' filepath='mm/page_alloc.c' line='4726' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__free_pages'>
+        <parameter type-id='type-id-120' name='page' filepath='mm/page_alloc.c' line='4726' column='1'/>
+        <parameter type-id='type-id-10' name='order' filepath='mm/page_alloc.c' line='4726' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='zone_watermark_ok_safe' mangled-name='zone_watermark_ok_safe' filepath='mm/page_alloc.c' line='3433' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='zone_watermark_ok_safe'>
+        <parameter type-id='type-id-5616' name='z' filepath='mm/page_alloc.c' line='3433' column='1'/>
+        <parameter type-id='type-id-10' name='order' filepath='mm/page_alloc.c' line='3433' column='1'/>
+        <parameter type-id='type-id-100' name='mark' filepath='mm/page_alloc.c' line='3434' column='1'/>
+        <parameter type-id='type-id-11' name='classzone_idx' filepath='mm/page_alloc.c' line='3434' column='1'/>
+        <return type-id='type-id-211'/>
+      </function-decl>
+      <function-decl name='__alloc_pages_nodemask' mangled-name='__alloc_pages_nodemask' filepath='mm/page_alloc.c' line='4630' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__alloc_pages_nodemask'>
+        <parameter type-id='type-id-272' name='gfp_mask' filepath='mm/page_alloc.c' line='4630' column='1'/>
+        <parameter type-id='type-id-10' name='order' filepath='mm/page_alloc.c' line='4630' column='1'/>
+        <parameter type-id='type-id-11' name='preferred_nid' filepath='mm/page_alloc.c' line='4630' column='1'/>
+        <parameter type-id='type-id-8129' name='nodemask' filepath='mm/page_alloc.c' line='4631' column='1'/>
+        <return type-id='type-id-120'/>
+      </function-decl>
+      <function-decl name='__get_free_pages' mangled-name='__get_free_pages' filepath='mm/page_alloc.c' line='4701' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__get_free_pages'>
+        <parameter type-id='type-id-272' name='gfp_mask' filepath='mm/page_alloc.c' line='4701' column='1'/>
+        <parameter type-id='type-id-10' name='order' filepath='mm/page_alloc.c' line='4701' column='1'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+      <function-decl name='free_pages_exact' mangled-name='free_pages_exact' filepath='mm/page_alloc.c' line='4915' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='free_pages_exact'>
+        <parameter type-id='type-id-3' name='virt' filepath='mm/page_alloc.c' line='4915' column='1'/>
+        <parameter type-id='type-id-125' name='size' filepath='mm/page_alloc.c' line='4915' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='nr_free_buffer_pages' mangled-name='nr_free_buffer_pages' filepath='mm/page_alloc.c' line='4963' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nr_free_buffer_pages'>
+        <return type-id='type-id-100'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='mm/page_io.c' language='LANG_C89'>
+      <function-decl name='submit_bio' mangled-name='submit_bio' filepath='include/linux/bio.h' line='446' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='submit_bio'>
+        <parameter type-id='type-id-265'/>
+        <return type-id='type-id-10'/>
+      </function-decl>
+      <function-decl name='bio_alloc_bioset' mangled-name='bio_alloc_bioset' filepath='include/linux/bio.h' line='428' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bio_alloc_bioset'>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-5397'/>
+        <return type-id='type-id-265'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='mm/percpu.c' language='LANG_C89'>
+      <function-decl name='__alloc_percpu' mangled-name='__alloc_percpu' filepath='mm/percpu.c' line='1558' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__alloc_percpu'>
+        <parameter type-id='type-id-125' name='size' filepath='mm/percpu.c' line='1558' column='1'/>
+        <parameter type-id='type-id-125' name='align' filepath='mm/percpu.c' line='1558' column='1'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='per_cpu_ptr_to_phys' mangled-name='per_cpu_ptr_to_phys' filepath='mm/percpu.c' line='1825' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='per_cpu_ptr_to_phys'>
+        <parameter type-id='type-id-3' name='addr' filepath='mm/percpu.c' line='1825' column='1'/>
+        <return type-id='type-id-206'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='mm/shmem.c' language='LANG_C89'>
+      <function-decl name='prandom_u32' mangled-name='prandom_u32' filepath='include/linux/random.h' line='111' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='prandom_u32'>
+        <return type-id='type-id-10'/>
+      </function-decl>
+      <function-decl name='drop_nlink' mangled-name='drop_nlink' filepath='include/linux/fs.h' line='2132' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drop_nlink'>
+        <parameter type-id='type-id-1160'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='clear_inode' mangled-name='clear_inode' filepath='include/linux/fs.h' line='2999' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clear_inode'>
+        <parameter type-id='type-id-1160'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='kmem_cache_destroy' mangled-name='kmem_cache_destroy' filepath='include/linux/slab.h' line='150' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kmem_cache_destroy'>
+        <parameter type-id='type-id-3525'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='shmem_truncate_range' mangled-name='shmem_truncate_range' filepath='mm/shmem.c' line='993' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='shmem_truncate_range'>
+        <parameter type-id='type-id-1160' name='inode' filepath='mm/shmem.c' line='993' column='1'/>
+        <parameter type-id='type-id-4528' name='lstart' filepath='mm/shmem.c' line='993' column='1'/>
+        <parameter type-id='type-id-4528' name='lend' filepath='mm/shmem.c' line='993' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='shmem_file_setup' mangled-name='shmem_file_setup' filepath='mm/shmem.c' line='4010' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='shmem_file_setup'>
+        <parameter type-id='type-id-24' name='name' filepath='mm/shmem.c' line='4010' column='1'/>
+        <parameter type-id='type-id-4528' name='size' filepath='mm/shmem.c' line='4010' column='1'/>
+        <parameter type-id='type-id-100' name='flags' filepath='mm/shmem.c' line='4010' column='1'/>
+        <return type-id='type-id-147'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='mm/slab_common.c' language='LANG_C89'>
+      <function-decl name='ksize' mangled-name='ksize' filepath='include/linux/slab.h' line='187' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ksize'>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+      <function-decl name='kzfree' mangled-name='kzfree' filepath='mm/slab_common.c' line='1556' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kzfree'>
+        <parameter type-id='type-id-3' name='p' filepath='mm/slab_common.c' line='1556' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='mm/slub.c' language='LANG_C89'>
+      <function-decl name='kset_unregister' mangled-name='kset_unregister' filepath='include/linux/kobject.h' line='201' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kset_unregister'>
+        <parameter type-id='type-id-4947'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__kmalloc' mangled-name='__kmalloc' filepath='mm/slub.c' line='3782' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__kmalloc'>
+        <parameter type-id='type-id-125' name='size' filepath='mm/slub.c' line='3782' column='1'/>
+        <parameter type-id='type-id-272' name='flags' filepath='mm/slub.c' line='3782' column='1'/>
+        <return type-id='type-id-3'/>
       </function-decl>
     </abi-instr>
     <abi-instr version='1.0' address-size='64' path='mm/swap.c' language='LANG_C89'>
       <function-decl name='__put_page' mangled-name='__put_page' filepath='mm/swap.c' line='99' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__put_page'>
-        <parameter type-id='type-id-512' name='page' filepath='mm/swap.c' line='99' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='mark_page_accessed' mangled-name='mark_page_accessed' filepath='mm/swap.c' line='372' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mark_page_accessed'>
-        <parameter type-id='type-id-512' name='page' filepath='mm/swap.c' line='372' column='1'/>
-        <return type-id='type-id-81'/>
+        <parameter type-id='type-id-120' name='page' filepath='mm/swap.c' line='99' column='1'/>
+        <return type-id='type-id-73'/>
       </function-decl>
     </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='mm/page_alloc.c' language='LANG_C89'>
-      <array-type-def dimensions='1' type-id='type-id-888' size-in-bits='192' id='type-id-3600'>
-        <subrange length='3' type-id='type-id-9' id='type-id-196'/>
-
-      </array-type-def>
-      <class-decl name='sysinfo' size-in-bits='896' is-struct='yes' visibility='default' filepath='include/uapi/linux/sysinfo.h' line='8' column='1' id='type-id-3601'>
+    <abi-instr version='1.0' address-size='64' path='mm/swapfile.c' language='LANG_C89'>
+      <function-decl name='filp_close' mangled-name='filp_close' filepath='include/linux/fs.h' line='2512' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='filp_close'>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='mm/truncate.c' language='LANG_C89'>
+      <class-decl name='iomap' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-8130'/>
+      <class-decl name='fid' size-in-bits='160' is-struct='yes' visibility='default' filepath='include/linux/exportfs.h' line='113' column='1' id='type-id-8131'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='uptime' type-id='type-id-105' visibility='default' filepath='include/uapi/linux/sysinfo.h' line='9' column='1'/>
+          <var-decl name='' type-id='type-id-8132' visibility='default' filepath='include/linux/exportfs.h' line='114' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__2' size-in-bits='160' is-anonymous='yes' visibility='default' filepath='include/linux/exportfs.h' line='114' column='1' id='type-id-8132'>
+        <data-member access='private'>
+          <var-decl name='i32' type-id='type-id-8133' visibility='default' filepath='include/linux/exportfs.h' line='120' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='udf' type-id='type-id-8134' visibility='default' filepath='include/linux/exportfs.h' line='128' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='raw' type-id='type-id-6764' visibility='default' filepath='include/linux/exportfs.h' line='129' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/exportfs.h' line='115' column='1' id='type-id-8133'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ino' type-id='type-id-9' visibility='default' filepath='include/linux/exportfs.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='gen' type-id='type-id-9' visibility='default' filepath='include/linux/exportfs.h' line='117' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='loads' type-id='type-id-3600' visibility='default' filepath='include/uapi/linux/sysinfo.h' line='10' column='1'/>
+          <var-decl name='parent_ino' type-id='type-id-9' visibility='default' filepath='include/linux/exportfs.h' line='118' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='parent_gen' type-id='type-id-9' visibility='default' filepath='include/linux/exportfs.h' line='119' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__1' size-in-bits='160' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/exportfs.h' line='121' column='1' id='type-id-8134'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='block' type-id='type-id-9' visibility='default' filepath='include/linux/exportfs.h' line='122' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='partref' type-id='type-id-289' visibility='default' filepath='include/linux/exportfs.h' line='123' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='parent_partref' type-id='type-id-289' visibility='default' filepath='include/linux/exportfs.h' line='124' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='generation' type-id='type-id-9' visibility='default' filepath='include/linux/exportfs.h' line='125' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='parent_block' type-id='type-id-9' visibility='default' filepath='include/linux/exportfs.h' line='126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='parent_generation' type-id='type-id-9' visibility='default' filepath='include/linux/exportfs.h' line='127' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__5' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='79' column='1' id='type-id-8135'>
+        <member-type access='private'>
+          <class-decl name='__anonymous_struct__' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='98' column='1' id='type-id-8136'>
+            <member-type access='public'>
+              <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='115' column='1' id='type-id-8137'>
+                <data-member access='private'>
+                  <var-decl name='s_mem' type-id='type-id-3' visibility='default' filepath='include/linux/mm_types.h' line='116' column='1'/>
+                </data-member>
+                <data-member access='private'>
+                  <var-decl name='counters' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='117' column='1'/>
+                </data-member>
+                <data-member access='private'>
+                  <var-decl name='' type-id='type-id-4515' visibility='default' filepath='include/linux/mm_types.h' line='118' column='1'/>
+                </data-member>
+              </union-decl>
+            </member-type>
+            <data-member access='public' layout-offset-in-bits='0'>
+              <var-decl name='' type-id='type-id-8138' visibility='default' filepath='include/linux/mm_types.h' line='99' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='128'>
+              <var-decl name='slab_cache' type-id='type-id-3525' visibility='default' filepath='include/linux/mm_types.h' line='112' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='192'>
+              <var-decl name='freelist' type-id='type-id-3' visibility='default' filepath='include/linux/mm_types.h' line='114' column='1'/>
+            </data-member>
+          </class-decl>
+        </member-type>
+        <member-type access='private'>
+          <class-decl name='__anonymous_struct__1' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='138' column='1' id='type-id-8139'>
+            <data-member access='public' layout-offset-in-bits='0'>
+              <var-decl name='_pt_pad_1' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='139' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='64'>
+              <var-decl name='pmd_huge_pte' type-id='type-id-152' visibility='default' filepath='include/linux/mm_types.h' line='140' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='128'>
+              <var-decl name='_pt_pad_2' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='141' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='192'>
+              <var-decl name='' type-id='type-id-8140' visibility='default' filepath='include/linux/mm_types.h' line='142' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='256'>
+              <var-decl name='ptl' type-id='type-id-106' visibility='default' filepath='include/linux/mm_types.h' line='149' column='1'/>
+            </data-member>
+          </class-decl>
+        </member-type>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-8141' visibility='default' filepath='include/linux/mm_types.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='callback_head' type-id='type-id-157' visibility='default' filepath='include/linux/mm_types.h' line='160' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__2' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='80' column='1' id='type-id-8141'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lru' type-id='type-id-8' visibility='default' filepath='include/linux/mm_types.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='mapping' type-id='type-id-5008' visibility='default' filepath='include/linux/mm_types.h' line='88' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='index' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='89' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='totalram' type-id='type-id-888' visibility='default' filepath='include/uapi/linux/sysinfo.h' line='11' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='freeram' type-id='type-id-888' visibility='default' filepath='include/uapi/linux/sysinfo.h' line='12' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='sharedram' type-id='type-id-888' visibility='default' filepath='include/uapi/linux/sysinfo.h' line='13' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='bufferram' type-id='type-id-888' visibility='default' filepath='include/uapi/linux/sysinfo.h' line='14' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='totalswap' type-id='type-id-888' visibility='default' filepath='include/uapi/linux/sysinfo.h' line='15' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='freeswap' type-id='type-id-888' visibility='default' filepath='include/uapi/linux/sysinfo.h' line='16' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='procs' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/sysinfo.h' line='17' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='656'>
-          <var-decl name='pad' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/sysinfo.h' line='18' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='totalhigh' type-id='type-id-888' visibility='default' filepath='include/uapi/linux/sysinfo.h' line='19' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='freehigh' type-id='type-id-888' visibility='default' filepath='include/uapi/linux/sysinfo.h' line='20' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='mem_unit' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/sysinfo.h' line='21' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='864'>
-          <var-decl name='_f' type-id='type-id-440' visibility='default' filepath='include/uapi/linux/sysinfo.h' line='22' column='1'/>
+          <var-decl name='private' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='96' column='1'/>
         </data-member>
       </class-decl>
-      <pointer-type-def type-id='type-id-1530' size-in-bits='64' id='type-id-3602'/>
-      <pointer-type-def type-id='type-id-3601' size-in-bits='64' id='type-id-3603'/>
-      <function-decl name='__free_pages' mangled-name='__free_pages' filepath='mm/page_alloc.c' line='4541' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__free_pages'>
-        <parameter type-id='type-id-512' name='page' filepath='mm/page_alloc.c' line='4541' column='1'/>
-        <parameter type-id='type-id-5' name='order' filepath='mm/page_alloc.c' line='4541' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='__alloc_pages_nodemask' mangled-name='__alloc_pages_nodemask' filepath='mm/page_alloc.c' line='4451' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__alloc_pages_nodemask'>
-        <parameter type-id='type-id-485' name='gfp_mask' filepath='mm/page_alloc.c' line='4451' column='1'/>
-        <parameter type-id='type-id-5' name='order' filepath='mm/page_alloc.c' line='4451' column='1'/>
-        <parameter type-id='type-id-17' name='preferred_nid' filepath='mm/page_alloc.c' line='4451' column='1'/>
-        <parameter type-id='type-id-3602' name='nodemask' filepath='mm/page_alloc.c' line='4452' column='1'/>
-        <return type-id='type-id-512'/>
-      </function-decl>
-      <function-decl name='alloc_pages_exact' mangled-name='alloc_pages_exact' filepath='mm/page_alloc.c' line='4694' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='alloc_pages_exact'>
-        <parameter type-id='type-id-84' name='size' filepath='mm/page_alloc.c' line='4694' column='1'/>
-        <parameter type-id='type-id-485' name='gfp_mask' filepath='mm/page_alloc.c' line='4694' column='1'/>
-        <return type-id='type-id-15'/>
-      </function-decl>
-      <function-decl name='free_pages_exact' mangled-name='free_pages_exact' filepath='mm/page_alloc.c' line='4730' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='free_pages_exact'>
-        <parameter type-id='type-id-15' name='virt' filepath='mm/page_alloc.c' line='4730' column='1'/>
-        <parameter type-id='type-id-84' name='size' filepath='mm/page_alloc.c' line='4730' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='si_mem_available' mangled-name='si_mem_available' filepath='mm/page_alloc.c' line='4801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='si_mem_available'>
-        <return type-id='type-id-192'/>
-      </function-decl>
-      <function-decl name='si_meminfo' mangled-name='si_meminfo' filepath='mm/page_alloc.c' line='4847' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='si_meminfo'>
-        <parameter type-id='type-id-3603' name='val' filepath='mm/page_alloc.c' line='4847' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='mm/vmscan.c' language='LANG_C89'>
-      <function-decl name='register_shrinker' mangled-name='register_shrinker' filepath='mm/vmscan.c' line='418' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='register_shrinker'>
-        <parameter type-id='type-id-3055' name='shrinker' filepath='mm/vmscan.c' line='418' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='unregister_shrinker' mangled-name='unregister_shrinker' filepath='mm/vmscan.c' line='432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unregister_shrinker'>
-        <parameter type-id='type-id-3055' name='shrinker' filepath='mm/vmscan.c' line='432' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='mm/util.c' language='LANG_C89'>
-      <function-decl name='kmemdup' mangled-name='kmemdup' filepath='mm/util.c' line='114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kmemdup'>
-        <parameter type-id='type-id-15' name='src' filepath='mm/util.c' line='114' column='1'/>
-        <parameter type-id='type-id-84' name='len' filepath='mm/util.c' line='114' column='1'/>
-        <parameter type-id='type-id-485' name='gfp' filepath='mm/util.c' line='114' column='1'/>
-        <return type-id='type-id-15'/>
-      </function-decl>
-      <function-decl name='memdup_user' mangled-name='memdup_user' filepath='mm/util.c' line='156' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='memdup_user'>
-        <parameter type-id='type-id-15' name='src' filepath='mm/util.c' line='156' column='1'/>
-        <parameter type-id='type-id-84' name='len' filepath='mm/util.c' line='156' column='1'/>
-        <return type-id='type-id-15'/>
-      </function-decl>
-      <function-decl name='kvfree' mangled-name='kvfree' filepath='mm/util.c' line='447' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kvfree'>
-        <parameter type-id='type-id-15' name='addr' filepath='mm/util.c' line='447' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='kvmalloc_node' mangled-name='kvmalloc_node' filepath='mm/util.c' line='397' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kvmalloc_node'>
-        <parameter type-id='type-id-84' name='size' filepath='mm/util.c' line='397' column='1'/>
-        <parameter type-id='type-id-485' name='flags' filepath='mm/util.c' line='397' column='1'/>
-        <parameter type-id='type-id-17' name='node' filepath='mm/util.c' line='397' column='1'/>
-        <return type-id='type-id-15'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='mm/memory.c' language='LANG_C89'>
-      <typedef-decl name='pfn_t' type-id='type-id-3604' filepath='include/linux/pfn.h' line='15' column='1' id='type-id-3605'/>
-      <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-3605' visibility='default' filepath='include/linux/pfn.h' line='13' column='1' id='type-id-3604'>
+      <union-decl name='__anonymous_union__6' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='99' column='1' id='type-id-8138'>
+        <data-member access='private'>
+          <var-decl name='slab_list' type-id='type-id-8' visibility='default' filepath='include/linux/mm_types.h' line='100' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-8142' visibility='default' filepath='include/linux/mm_types.h' line='101' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__3' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='101' column='1' id='type-id-8142'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='val' type-id='type-id-40' visibility='default' filepath='include/linux/pfn.h' line='14' column='1'/>
+          <var-decl name='next' type-id='type-id-120' visibility='default' filepath='include/linux/mm_types.h' line='102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='pages' type-id='type-id-11' visibility='default' filepath='include/linux/mm_types.h' line='104' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='pobjects' type-id='type-id-11' visibility='default' filepath='include/linux/mm_types.h' line='105' column='1'/>
         </data-member>
       </class-decl>
-      <qualified-type-def type-id='type-id-763' const='yes' id='type-id-3606'/>
-      <function-decl name='vm_insert_pfn' mangled-name='vm_insert_pfn' filepath='mm/memory.c' line='1863' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vm_insert_pfn'>
-        <parameter type-id='type-id-1209' name='vma' filepath='mm/memory.c' line='1863' column='1'/>
-        <parameter type-id='type-id-16' name='addr' filepath='mm/memory.c' line='1863' column='1'/>
-        <parameter type-id='type-id-16' name='pfn' filepath='mm/memory.c' line='1864' column='1'/>
-        <return type-id='type-id-17'/>
+      <union-decl name='__anonymous_union__9' size-in-bits='1472' is-anonymous='yes' visibility='default' filepath='include/linux/elevator.h' line='141' column='1' id='type-id-8143'>
+        <data-member access='private'>
+          <var-decl name='sq' type-id='type-id-5468' visibility='default' filepath='include/linux/elevator.h' line='142' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='mq' type-id='type-id-5525' visibility='default' filepath='include/linux/elevator.h' line='143' column='1'/>
+        </data-member>
+      </union-decl>
+      <pointer-type-def type-id='type-id-8144' size-in-bits='64' id='type-id-8145'/>
+      <pointer-type-def type-id='type-id-8146' size-in-bits='64' id='type-id-8147'/>
+      <pointer-type-def type-id='type-id-8131' size-in-bits='64' id='type-id-8148'/>
+      <pointer-type-def type-id='type-id-8149' size-in-bits='64' id='type-id-8150'/>
+      <pointer-type-def type-id='type-id-8151' size-in-bits='64' id='type-id-8152'/>
+      <pointer-type-def type-id='type-id-8153' size-in-bits='64' id='type-id-8154'/>
+      <pointer-type-def type-id='type-id-8155' size-in-bits='64' id='type-id-8156'/>
+      <pointer-type-def type-id='type-id-8157' size-in-bits='64' id='type-id-8158'/>
+      <pointer-type-def type-id='type-id-8130' size-in-bits='64' id='type-id-8159'/>
+      <function-decl name='unmap_mapping_range' mangled-name='unmap_mapping_range' filepath='include/linux/mm.h' line='1461' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unmap_mapping_range'>
+        <parameter type-id='type-id-5008'/>
+        <parameter type-id='type-id-112'/>
+        <parameter type-id='type-id-112'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
       </function-decl>
-      <function-decl name='vm_insert_mixed' mangled-name='vm_insert_mixed' filepath='mm/memory.c' line='1967' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vm_insert_mixed'>
-        <parameter type-id='type-id-1209' name='vma' filepath='mm/memory.c' line='1967' column='1'/>
-        <parameter type-id='type-id-16' name='addr' filepath='mm/memory.c' line='1967' column='1'/>
-        <parameter type-id='type-id-3605' name='pfn' filepath='mm/memory.c' line='1968' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='unmap_mapping_range' mangled-name='unmap_mapping_range' filepath='mm/memory.c' line='2902' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unmap_mapping_range'>
-        <parameter type-id='type-id-1281' name='mapping' filepath='mm/memory.c' line='2902' column='1'/>
-        <parameter type-id='type-id-3606' name='holebegin' filepath='mm/memory.c' line='2903' column='1'/>
-        <parameter type-id='type-id-3606' name='holelen' filepath='mm/memory.c' line='2903' column='1'/>
-        <parameter type-id='type-id-17' name='even_cows' filepath='mm/memory.c' line='2903' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='fs/block_dev.c' language='LANG_C89'>
-      <function-decl name='revalidate_disk' mangled-name='revalidate_disk' filepath='fs/block_dev.c' line='1371' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='revalidate_disk'>
-        <parameter type-id='type-id-360' name='disk' filepath='fs/block_dev.c' line='1371' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='check_disk_change' mangled-name='check_disk_change' filepath='fs/block_dev.c' line='1400' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='check_disk_change'>
-        <parameter type-id='type-id-875' name='bdev' filepath='fs/block_dev.c' line='1400' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='mm/slub.c' language='LANG_C89'>
-      <function-decl name='kmem_cache_alloc' mangled-name='kmem_cache_alloc' filepath='mm/slub.c' line='2752' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kmem_cache_alloc'>
-        <parameter type-id='type-id-538' name='s' filepath='mm/slub.c' line='2752' column='1'/>
-        <parameter type-id='type-id-485' name='gfpflags' filepath='mm/slub.c' line='2752' column='1'/>
-        <return type-id='type-id-15'/>
-      </function-decl>
-      <function-decl name='kmem_cache_alloc_trace' mangled-name='kmem_cache_alloc_trace' filepath='mm/slub.c' line='2764' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kmem_cache_alloc_trace'>
-        <parameter type-id='type-id-538' name='s' filepath='mm/slub.c' line='2764' column='1'/>
-        <parameter type-id='type-id-485' name='gfpflags' filepath='mm/slub.c' line='2764' column='1'/>
-        <parameter type-id='type-id-84' name='size' filepath='mm/slub.c' line='2764' column='1'/>
-        <return type-id='type-id-15'/>
-      </function-decl>
-      <function-decl name='kmem_cache_free' mangled-name='kmem_cache_free' filepath='mm/slub.c' line='2999' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kmem_cache_free'>
-        <parameter type-id='type-id-538' name='s' filepath='mm/slub.c' line='2999' column='1'/>
-        <parameter type-id='type-id-15' name='x' filepath='mm/slub.c' line='2999' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='__kmalloc' mangled-name='__kmalloc' filepath='mm/slub.c' line='3772' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__kmalloc'>
-        <parameter type-id='type-id-84' name='size' filepath='mm/slub.c' line='3772' column='1'/>
-        <parameter type-id='type-id-485' name='flags' filepath='mm/slub.c' line='3772' column='1'/>
-        <return type-id='type-id-15'/>
-      </function-decl>
-      <function-decl name='kfree' mangled-name='kfree' filepath='mm/slub.c' line='3928' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kfree'>
-        <parameter type-id='type-id-15' name='x' filepath='mm/slub.c' line='3928' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
+      <function-type size-in-bits='64' id='type-id-8144'>
+        <parameter type-id='type-id-836'/>
+        <return type-id='type-id-836'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8146'>
+        <parameter type-id='type-id-2155'/>
+        <parameter type-id='type-id-8148'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-836'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8149'>
+        <parameter type-id='type-id-836'/>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-836'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8151'>
+        <parameter type-id='type-id-1160'/>
+        <parameter type-id='type-id-2594'/>
+        <parameter type-id='type-id-82'/>
+        <parameter type-id='type-id-1160'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8153'>
+        <parameter type-id='type-id-1160'/>
+        <parameter type-id='type-id-8159'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-6073'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8155'>
+        <parameter type-id='type-id-1160'/>
+        <parameter type-id='type-id-4528'/>
+        <parameter type-id='type-id-134'/>
+        <parameter type-id='type-id-8159'/>
+        <parameter type-id='type-id-211'/>
+        <parameter type-id='type-id-347'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8157'>
+        <parameter type-id='type-id-2155'/>
+        <parameter type-id='type-id-67'/>
+        <parameter type-id='type-id-347'/>
+        <parameter type-id='type-id-1888'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <union-decl name='__anonymous_union__7' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='142' column='1' id='type-id-8140'>
+        <data-member access='private'>
+          <var-decl name='pt_mm' type-id='type-id-158' visibility='default' filepath='include/linux/mm_types.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='pt_frag_refcount' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='144' column='1'/>
+        </data-member>
+      </union-decl>
     </abi-instr>
     <abi-instr version='1.0' address-size='64' path='mm/usercopy.c' language='LANG_C89'>
       <function-decl name='__check_object_size' mangled-name='__check_object_size' filepath='mm/usercopy.c' line='260' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__check_object_size'>
-        <parameter type-id='type-id-15' name='ptr' filepath='mm/usercopy.c' line='260' column='1'/>
-        <parameter type-id='type-id-16' name='n' filepath='mm/usercopy.c' line='260' column='1'/>
-        <parameter type-id='type-id-33' name='to_user' filepath='mm/usercopy.c' line='260' column='1'/>
-        <return type-id='type-id-81'/>
+        <parameter type-id='type-id-3' name='ptr' filepath='mm/usercopy.c' line='260' column='1'/>
+        <parameter type-id='type-id-100' name='n' filepath='mm/usercopy.c' line='260' column='1'/>
+        <parameter type-id='type-id-211' name='to_user' filepath='mm/usercopy.c' line='260' column='1'/>
+        <return type-id='type-id-73'/>
       </function-decl>
     </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='fs/read_write.c' language='LANG_C89'>
-      <function-decl name='generic_file_llseek' mangled-name='generic_file_llseek' filepath='fs/read_write.c' line='144' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='generic_file_llseek'>
-        <parameter type-id='type-id-83' name='file' filepath='fs/read_write.c' line='144' column='1'/>
-        <parameter type-id='type-id-763' name='offset' filepath='fs/read_write.c' line='144' column='1'/>
-        <parameter type-id='type-id-17' name='whence' filepath='fs/read_write.c' line='144' column='1'/>
-        <return type-id='type-id-763'/>
+    <abi-instr version='1.0' address-size='64' path='mm/util.c' language='LANG_C89'>
+      <function-decl name='access_process_vm' mangled-name='access_process_vm' filepath='include/linux/mm.h' line='1491' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='access_process_vm'>
+        <parameter type-id='type-id-118'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
       </function-decl>
-      <function-decl name='noop_llseek' mangled-name='noop_llseek' filepath='fs/read_write.c' line='224' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='noop_llseek'>
-        <parameter type-id='type-id-83' name='file' filepath='fs/read_write.c' line='224' column='1'/>
-        <parameter type-id='type-id-763' name='offset' filepath='fs/read_write.c' line='224' column='1'/>
-        <parameter type-id='type-id-17' name='whence' filepath='fs/read_write.c' line='224' column='1'/>
-        <return type-id='type-id-763'/>
-      </function-decl>
-      <function-decl name='no_llseek' mangled-name='no_llseek' filepath='fs/read_write.c' line='230' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='no_llseek'>
-        <parameter type-id='type-id-83' name='file' filepath='fs/read_write.c' line='230' column='1'/>
-        <parameter type-id='type-id-763' name='offset' filepath='fs/read_write.c' line='230' column='1'/>
-        <parameter type-id='type-id-17' name='whence' filepath='fs/read_write.c' line='230' column='1'/>
-        <return type-id='type-id-763'/>
-      </function-decl>
-      <function-decl name='default_llseek' mangled-name='default_llseek' filepath='fs/read_write.c' line='236' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='default_llseek'>
-        <parameter type-id='type-id-83' name='file' filepath='fs/read_write.c' line='236' column='1'/>
-        <parameter type-id='type-id-763' name='offset' filepath='fs/read_write.c' line='236' column='1'/>
-        <parameter type-id='type-id-17' name='whence' filepath='fs/read_write.c' line='236' column='1'/>
-        <return type-id='type-id-763'/>
+      <function-decl name='vm_mmap' mangled-name='vm_mmap' filepath='mm/util.c' line='367' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vm_mmap'>
+        <parameter type-id='type-id-147' name='file' filepath='mm/util.c' line='367' column='1'/>
+        <parameter type-id='type-id-100' name='addr' filepath='mm/util.c' line='367' column='1'/>
+        <parameter type-id='type-id-100' name='len' filepath='mm/util.c' line='368' column='1'/>
+        <parameter type-id='type-id-100' name='prot' filepath='mm/util.c' line='368' column='1'/>
+        <parameter type-id='type-id-100' name='flag' filepath='mm/util.c' line='369' column='1'/>
+        <parameter type-id='type-id-100' name='offset' filepath='mm/util.c' line='369' column='1'/>
+        <return type-id='type-id-100'/>
       </function-decl>
     </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='fs/file_table.c' language='LANG_C89'>
-      <function-decl name='fput' mangled-name='fput' filepath='fs/file_table.c' line='329' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fput'>
-        <parameter type-id='type-id-83' name='file' filepath='fs/file_table.c' line='329' column='1'/>
-        <return type-id='type-id-81'/>
+    <abi-instr version='1.0' address-size='64' path='mm/vmalloc.c' language='LANG_C89'>
+      <class-decl name='device' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-8160'/>
+      <pointer-type-def type-id='type-id-8160' size-in-bits='64' id='type-id-2096'/>
+      <function-decl name='vm_unmap_ram' mangled-name='vm_unmap_ram' filepath='mm/vmalloc.c' line='1130' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vm_unmap_ram'>
+        <parameter type-id='type-id-3' name='mem' filepath='mm/vmalloc.c' line='1130' column='1'/>
+        <parameter type-id='type-id-10' name='count' filepath='mm/vmalloc.c' line='1130' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='vm_map_ram' mangled-name='vm_map_ram' filepath='mm/vmalloc.c' line='1171' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vm_map_ram'>
+        <parameter type-id='type-id-260' name='pages' filepath='mm/vmalloc.c' line='1171' column='1'/>
+        <parameter type-id='type-id-10' name='count' filepath='mm/vmalloc.c' line='1171' column='1'/>
+        <parameter type-id='type-id-11' name='node' filepath='mm/vmalloc.c' line='1171' column='1'/>
+        <parameter type-id='type-id-263' name='prot' filepath='mm/vmalloc.c' line='1171' column='1'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='get_vm_area' mangled-name='get_vm_area' filepath='mm/vmalloc.c' line='1443' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_vm_area'>
+        <parameter type-id='type-id-100' name='size' filepath='mm/vmalloc.c' line='1443' column='1'/>
+        <parameter type-id='type-id-100' name='flags' filepath='mm/vmalloc.c' line='1443' column='1'/>
+        <return type-id='type-id-5161'/>
+      </function-decl>
+      <function-decl name='vmap' mangled-name='vmap' filepath='mm/vmalloc.c' line='1637' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='vmap'>
+        <parameter type-id='type-id-260' name='pages' filepath='mm/vmalloc.c' line='1637' column='1'/>
+        <parameter type-id='type-id-10' name='count' filepath='mm/vmalloc.c' line='1637' column='1'/>
+        <parameter type-id='type-id-100' name='flags' filepath='mm/vmalloc.c' line='1638' column='1'/>
+        <parameter type-id='type-id-263' name='prot' filepath='mm/vmalloc.c' line='1638' column='1'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='__vmalloc' mangled-name='__vmalloc' filepath='mm/vmalloc.c' line='1815' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__vmalloc'>
+        <parameter type-id='type-id-100' name='size' filepath='mm/vmalloc.c' line='1815' column='1'/>
+        <parameter type-id='type-id-272' name='gfp_mask' filepath='mm/vmalloc.c' line='1815' column='1'/>
+        <parameter type-id='type-id-263' name='prot' filepath='mm/vmalloc.c' line='1815' column='1'/>
+        <return type-id='type-id-3'/>
       </function-decl>
     </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='fs/char_dev.c' language='LANG_C89'>
-      <pointer-type-def type-id='type-id-269' size-in-bits='64' id='type-id-3607'/>
-      <function-decl name='alloc_chrdev_region' mangled-name='alloc_chrdev_region' filepath='fs/char_dev.c' line='245' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='alloc_chrdev_region'>
-        <parameter type-id='type-id-3607' name='dev' filepath='fs/char_dev.c' line='245' column='1'/>
-        <parameter type-id='type-id-5' name='baseminor' filepath='fs/char_dev.c' line='245' column='1'/>
-        <parameter type-id='type-id-5' name='count' filepath='fs/char_dev.c' line='245' column='1'/>
-        <parameter type-id='type-id-4' name='name' filepath='fs/char_dev.c' line='246' column='1'/>
-        <return type-id='type-id-17'/>
+    <abi-instr version='1.0' address-size='64' path='mm/vmscan.c' language='LANG_C89'>
+      <enum-decl name='node_stat_item' filepath='include/linux/mmzone.h' line='158' column='1' id='type-id-8161'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='NR_LRU_BASE' value='0'/>
+        <enumerator name='NR_INACTIVE_ANON' value='0'/>
+        <enumerator name='NR_ACTIVE_ANON' value='1'/>
+        <enumerator name='NR_INACTIVE_FILE' value='2'/>
+        <enumerator name='NR_ACTIVE_FILE' value='3'/>
+        <enumerator name='NR_UNEVICTABLE' value='4'/>
+        <enumerator name='NR_SLAB_RECLAIMABLE' value='5'/>
+        <enumerator name='NR_SLAB_UNRECLAIMABLE' value='6'/>
+        <enumerator name='NR_ISOLATED_ANON' value='7'/>
+        <enumerator name='NR_ISOLATED_FILE' value='8'/>
+        <enumerator name='WORKINGSET_REFAULT' value='9'/>
+        <enumerator name='WORKINGSET_ACTIVATE' value='10'/>
+        <enumerator name='WORKINGSET_RESTORE' value='11'/>
+        <enumerator name='WORKINGSET_NODERECLAIM' value='12'/>
+        <enumerator name='NR_ANON_MAPPED' value='13'/>
+        <enumerator name='NR_FILE_MAPPED' value='14'/>
+        <enumerator name='NR_FILE_PAGES' value='15'/>
+        <enumerator name='NR_FILE_DIRTY' value='16'/>
+        <enumerator name='NR_WRITEBACK' value='17'/>
+        <enumerator name='NR_WRITEBACK_TEMP' value='18'/>
+        <enumerator name='NR_SHMEM' value='19'/>
+        <enumerator name='NR_SHMEM_THPS' value='20'/>
+        <enumerator name='NR_SHMEM_PMDMAPPED' value='21'/>
+        <enumerator name='NR_ANON_THPS' value='22'/>
+        <enumerator name='NR_UNSTABLE_NFS' value='23'/>
+        <enumerator name='NR_VMSCAN_WRITE' value='24'/>
+        <enumerator name='NR_VMSCAN_IMMEDIATE' value='25'/>
+        <enumerator name='NR_DIRTIED' value='26'/>
+        <enumerator name='NR_WRITTEN' value='27'/>
+        <enumerator name='NR_KERNEL_MISC_RECLAIMABLE' value='28'/>
+        <enumerator name='NR_VM_NODE_STAT_ITEMS' value='29'/>
+      </enum-decl>
+      <function-decl name='mod_node_page_state' mangled-name='mod_node_page_state' filepath='include/linux/vmstat.h' line='260' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='mod_node_page_state'>
+        <parameter type-id='type-id-5607'/>
+        <parameter type-id='type-id-8161'/>
+        <parameter type-id='type-id-187'/>
+        <return type-id='type-id-73'/>
       </function-decl>
-      <function-decl name='__register_chrdev' mangled-name='__register_chrdev' filepath='fs/char_dev.c' line='277' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__register_chrdev'>
-        <parameter type-id='type-id-5' name='major' filepath='fs/char_dev.c' line='277' column='1'/>
-        <parameter type-id='type-id-5' name='baseminor' filepath='fs/char_dev.c' line='277' column='1'/>
-        <parameter type-id='type-id-5' name='count' filepath='fs/char_dev.c' line='278' column='1'/>
-        <parameter type-id='type-id-4' name='name' filepath='fs/char_dev.c' line='278' column='1'/>
-        <parameter type-id='type-id-268' name='fops' filepath='fs/char_dev.c' line='279' column='1'/>
-        <return type-id='type-id-17'/>
+      <function-decl name='register_shrinker' mangled-name='register_shrinker' filepath='mm/vmscan.c' line='421' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='register_shrinker'>
+        <parameter type-id='type-id-6240' name='shrinker' filepath='mm/vmscan.c' line='421' column='1'/>
+        <return type-id='type-id-11'/>
       </function-decl>
-      <function-decl name='cdev_alloc' mangled-name='cdev_alloc' filepath='fs/char_dev.c' line='639' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cdev_alloc'>
-        <return type-id='type-id-774'/>
-      </function-decl>
-      <function-decl name='cdev_add' mangled-name='cdev_add' filepath='fs/char_dev.c' line='488' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cdev_add'>
-        <parameter type-id='type-id-774' name='p' filepath='fs/char_dev.c' line='488' column='1'/>
-        <parameter type-id='type-id-269' name='dev' filepath='fs/char_dev.c' line='488' column='1'/>
-        <parameter type-id='type-id-5' name='count' filepath='fs/char_dev.c' line='488' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='unregister_chrdev_region' mangled-name='unregister_chrdev_region' filepath='fs/char_dev.c' line='320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unregister_chrdev_region'>
-        <parameter type-id='type-id-269' name='from' filepath='fs/char_dev.c' line='320' column='1'/>
-        <parameter type-id='type-id-5' name='count' filepath='fs/char_dev.c' line='320' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='__unregister_chrdev' mangled-name='__unregister_chrdev' filepath='fs/char_dev.c' line='344' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__unregister_chrdev'>
-        <parameter type-id='type-id-5' name='major' filepath='fs/char_dev.c' line='344' column='1'/>
-        <parameter type-id='type-id-5' name='baseminor' filepath='fs/char_dev.c' line='344' column='1'/>
-        <parameter type-id='type-id-5' name='count' filepath='fs/char_dev.c' line='345' column='1'/>
-        <parameter type-id='type-id-4' name='name' filepath='fs/char_dev.c' line='345' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='cdev_del' mangled-name='cdev_del' filepath='fs/char_dev.c' line='600' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cdev_del'>
-        <parameter type-id='type-id-774' name='p' filepath='fs/char_dev.c' line='600' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='cdev_device_add' mangled-name='cdev_device_add' filepath='fs/char_dev.c' line='543' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cdev_device_add'>
-        <parameter type-id='type-id-774' name='cdev' filepath='fs/char_dev.c' line='543' column='1'/>
-        <parameter type-id='type-id-240' name='dev' filepath='fs/char_dev.c' line='543' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='cdev_device_del' mangled-name='cdev_device_del' filepath='fs/char_dev.c' line='577' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cdev_device_del'>
-        <parameter type-id='type-id-774' name='cdev' filepath='fs/char_dev.c' line='577' column='1'/>
-        <parameter type-id='type-id-240' name='dev' filepath='fs/char_dev.c' line='577' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='cdev_init' mangled-name='cdev_init' filepath='fs/char_dev.c' line='657' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cdev_init'>
-        <parameter type-id='type-id-774' name='cdev' filepath='fs/char_dev.c' line='657' column='1'/>
-        <parameter type-id='type-id-268' name='fops' filepath='fs/char_dev.c' line='657' column='1'/>
-        <return type-id='type-id-81'/>
+      <function-decl name='unregister_shrinker' mangled-name='unregister_shrinker' filepath='mm/vmscan.c' line='435' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unregister_shrinker'>
+        <parameter type-id='type-id-6240' name='shrinker' filepath='mm/vmscan.c' line='435' column='1'/>
+        <return type-id='type-id-73'/>
       </function-decl>
     </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='fs/exec.c' language='LANG_C89'>
-      <array-type-def dimensions='1' type-id='type-id-83' size-in-bits='4096' id='type-id-3608'>
-        <subrange length='64' type-id='type-id-9' id='type-id-188'/>
+    <abi-instr version='1.0' address-size='64' path='net/bluetooth/hci_core.c' language='LANG_C89'>
+      <class-decl name='rfkill' size-in-bits='8512' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-8162'/>
+      <enum-decl name='rfkill_type' filepath='include/uapi/linux/rfkill.h' line='43' column='1' id='type-id-8163'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='RFKILL_TYPE_ALL' value='0'/>
+        <enumerator name='RFKILL_TYPE_WLAN' value='1'/>
+        <enumerator name='RFKILL_TYPE_BLUETOOTH' value='2'/>
+        <enumerator name='RFKILL_TYPE_UWB' value='3'/>
+        <enumerator name='RFKILL_TYPE_WIMAX' value='4'/>
+        <enumerator name='RFKILL_TYPE_WWAN' value='5'/>
+        <enumerator name='RFKILL_TYPE_GPS' value='6'/>
+        <enumerator name='RFKILL_TYPE_FM' value='7'/>
+        <enumerator name='RFKILL_TYPE_NFC' value='8'/>
+        <enumerator name='NUM_RFKILL_TYPES' value='9'/>
+      </enum-decl>
+      <class-decl name='rfkill_ops' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/rfkill.h' line='61' column='1' id='type-id-8164'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='poll' type-id='type-id-8165' visibility='default' filepath='include/linux/rfkill.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='query' type-id='type-id-8165' visibility='default' filepath='include/linux/rfkill.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='set_block' type-id='type-id-8166' visibility='default' filepath='include/linux/rfkill.h' line='64' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-8164' const='yes' id='type-id-8167'/>
+      <pointer-type-def type-id='type-id-8167' size-in-bits='64' id='type-id-8168'/>
+      <pointer-type-def type-id='type-id-8169' size-in-bits='64' id='type-id-8166'/>
+      <pointer-type-def type-id='type-id-8162' size-in-bits='64' id='type-id-8170'/>
+      <pointer-type-def type-id='type-id-8171' size-in-bits='64' id='type-id-8165'/>
+      <function-decl name='rfkill_alloc' mangled-name='rfkill_alloc' filepath='include/linux/rfkill.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rfkill_alloc'>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-8163'/>
+        <parameter type-id='type-id-8168'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-8170'/>
+      </function-decl>
+      <function-decl name='rfkill_register' mangled-name='rfkill_register' filepath='include/linux/rfkill.h' line='100' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rfkill_register'>
+        <parameter type-id='type-id-8170'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='rfkill_destroy' mangled-name='rfkill_destroy' filepath='include/linux/rfkill.h' line='138' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rfkill_destroy'>
+        <parameter type-id='type-id-8170'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='rfkill_unregister' mangled-name='rfkill_unregister' filepath='include/linux/rfkill.h' line='130' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rfkill_unregister'>
+        <parameter type-id='type-id-8170'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-8169'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8171'>
+        <parameter type-id='type-id-8170'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='net/core/dev.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-8172' size-in-bits='infinite' id='type-id-8173'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
 
       </array-type-def>
-      <class-decl name='fdtable' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/fdtable.h' line='26' column='1' id='type-id-3609'>
+      <class-decl name='ip_mc_list' size-in-bits='1152' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-8174'/>
+      <class-decl name='in_device' size-in-bits='2816' is-struct='yes' visibility='default' filepath='include/linux/inetdevice.h' line='25' column='1' id='type-id-8175'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='max_fds' type-id='type-id-5' visibility='default' filepath='include/linux/fdtable.h' line='27' column='1'/>
+          <var-decl name='dev' type-id='type-id-2976' visibility='default' filepath='include/linux/inetdevice.h' line='26' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='fd' type-id='type-id-3610' visibility='default' filepath='include/linux/fdtable.h' line='28' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='close_on_exec' type-id='type-id-45' visibility='default' filepath='include/linux/fdtable.h' line='29' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='open_fds' type-id='type-id-45' visibility='default' filepath='include/linux/fdtable.h' line='30' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='full_fds_bits' type-id='type-id-45' visibility='default' filepath='include/linux/fdtable.h' line='31' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/linux/fdtable.h' line='32' column='1'/>
-        </data-member>
-      </class-decl>
-      <pointer-type-def type-id='type-id-3609' size-in-bits='64' id='type-id-3611'/>
-      <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-3610'/>
-      <function-decl name='__get_task_comm' mangled-name='__get_task_comm' filepath='fs/exec.c' line='1224' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__get_task_comm'>
-        <parameter type-id='type-id-2' name='buf' filepath='fs/exec.c' line='1224' column='1'/>
-        <parameter type-id='type-id-84' name='buf_size' filepath='fs/exec.c' line='1224' column='1'/>
-        <parameter type-id='type-id-431' name='tsk' filepath='fs/exec.c' line='1224' column='1'/>
-        <return type-id='type-id-2'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='fs/pipe.c' language='LANG_C89'>
-      <function-decl name='pipe_lock' mangled-name='pipe_lock' filepath='fs/pipe.c' line='65' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pipe_lock'>
-        <parameter type-id='type-id-87' name='pipe' filepath='fs/pipe.c' line='65' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='pipe_unlock' mangled-name='pipe_unlock' filepath='fs/pipe.c' line='74' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pipe_unlock'>
-        <parameter type-id='type-id-87' name='pipe' filepath='fs/pipe.c' line='74' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='fs/fcntl.c' language='LANG_C89'>
-      <pointer-type-def type-id='type-id-254' size-in-bits='64' id='type-id-3612'/>
-      <function-decl name='fasync_helper' mangled-name='fasync_helper' filepath='fs/fcntl.c' line='978' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fasync_helper'>
-        <parameter type-id='type-id-17' name='fd' filepath='fs/fcntl.c' line='978' column='1'/>
-        <parameter type-id='type-id-83' name='filp' filepath='fs/fcntl.c' line='978' column='1'/>
-        <parameter type-id='type-id-17' name='on' filepath='fs/fcntl.c' line='978' column='1'/>
-        <parameter type-id='type-id-3612' name='fapp' filepath='fs/fcntl.c' line='978' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='kill_fasync' mangled-name='kill_fasync' filepath='fs/fcntl.c' line='1014' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kill_fasync'>
-        <parameter type-id='type-id-3612' name='fp' filepath='fs/fcntl.c' line='1014' column='1'/>
-        <parameter type-id='type-id-17' name='sig' filepath='fs/fcntl.c' line='1014' column='1'/>
-        <parameter type-id='type-id-17' name='band' filepath='fs/fcntl.c' line='1014' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='fs/libfs.c' language='LANG_C89'>
-      <class-decl name='iomap' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3613'/>
-      <class-decl name='iov_iter' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3614'/>
-      <class-decl name='fid' size-in-bits='160' is-struct='yes' visibility='default' filepath='include/linux/exportfs.h' line='113' column='1' id='type-id-3615'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='' type-id='type-id-3616' visibility='default' filepath='include/linux/exportfs.h' line='114' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__2' size-in-bits='160' is-anonymous='yes' visibility='default' filepath='include/linux/exportfs.h' line='114' column='1' id='type-id-3616'>
-        <data-member access='private'>
-          <var-decl name='i32' type-id='type-id-3617' visibility='default' filepath='include/linux/exportfs.h' line='120' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='udf' type-id='type-id-3618' visibility='default' filepath='include/linux/exportfs.h' line='128' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='raw' type-id='type-id-936' visibility='default' filepath='include/linux/exportfs.h' line='129' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/exportfs.h' line='115' column='1' id='type-id-3617'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ino' type-id='type-id-7' visibility='default' filepath='include/linux/exportfs.h' line='116' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='gen' type-id='type-id-7' visibility='default' filepath='include/linux/exportfs.h' line='117' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='parent_ino' type-id='type-id-7' visibility='default' filepath='include/linux/exportfs.h' line='118' column='1'/>
+          <var-decl name='refcnt' type-id='type-id-12' visibility='default' filepath='include/linux/inetdevice.h' line='27' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='parent_gen' type-id='type-id-7' visibility='default' filepath='include/linux/exportfs.h' line='119' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__1' size-in-bits='160' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/exportfs.h' line='121' column='1' id='type-id-3618'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='block' type-id='type-id-7' visibility='default' filepath='include/linux/exportfs.h' line='122' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='partref' type-id='type-id-688' visibility='default' filepath='include/linux/exportfs.h' line='123' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='parent_partref' type-id='type-id-688' visibility='default' filepath='include/linux/exportfs.h' line='124' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='generation' type-id='type-id-7' visibility='default' filepath='include/linux/exportfs.h' line='125' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='parent_block' type-id='type-id-7' visibility='default' filepath='include/linux/exportfs.h' line='126' column='1'/>
+          <var-decl name='dead' type-id='type-id-11' visibility='default' filepath='include/linux/inetdevice.h' line='28' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='parent_generation' type-id='type-id-7' visibility='default' filepath='include/linux/exportfs.h' line='127' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__2' size-in-bits='6848' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='353' column='1' id='type-id-3619'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mmap' type-id='type-id-1209' visibility='default' filepath='include/linux/mm_types.h' line='354' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='mm_rb' type-id='type-id-416' visibility='default' filepath='include/linux/mm_types.h' line='355' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='vmacache_seqnum' type-id='type-id-40' visibility='default' filepath='include/linux/mm_types.h' line='356' column='1'/>
+          <var-decl name='ifa_list' type-id='type-id-8176' visibility='default' filepath='include/linux/inetdevice.h' line='29' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='get_unmapped_area' type-id='type-id-1484' visibility='default' filepath='include/linux/mm_types.h' line='358' column='1'/>
+          <var-decl name='mc_list' type-id='type-id-8177' visibility='default' filepath='include/linux/inetdevice.h' line='31' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='mmap_base' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='362' column='1'/>
+          <var-decl name='mc_hash' type-id='type-id-8178' visibility='default' filepath='include/linux/inetdevice.h' line='32' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='mmap_legacy_base' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='363' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='task_size' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='369' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='highest_vm_end' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='370' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='pgd' type-id='type-id-1485' visibility='default' filepath='include/linux/mm_types.h' line='371' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='mm_users' type-id='type-id-26' visibility='default' filepath='include/linux/mm_types.h' line='382' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='mm_count' type-id='type-id-26' visibility='default' filepath='include/linux/mm_types.h' line='391' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='pgtables_bytes' type-id='type-id-115' visibility='default' filepath='include/linux/mm_types.h' line='394' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='map_count' type-id='type-id-17' visibility='default' filepath='include/linux/mm_types.h' line='396' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='736'>
-          <var-decl name='page_table_lock' type-id='type-id-247' visibility='default' filepath='include/linux/mm_types.h' line='398' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='mmap_sem' type-id='type-id-246' visibility='default' filepath='include/linux/mm_types.h' line='401' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='mmlist' type-id='type-id-20' visibility='default' filepath='include/linux/mm_types.h' line='403' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='hiwater_rss' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='410' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='hiwater_vm' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='411' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='total_vm' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='413' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='locked_vm' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='414' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='pinned_vm' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='415' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='data_vm' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='416' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='exec_vm' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='417' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='stack_vm' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='418' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='def_flags' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='419' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='arg_lock' type-id='type-id-247' visibility='default' filepath='include/linux/mm_types.h' line='421' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='start_code' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='end_code' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='start_data' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='end_data' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='start_brk' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='brk' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='start_stack' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2304'>
-          <var-decl name='arg_start' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='arg_end' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2432'>
-          <var-decl name='env_start' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2496'>
-          <var-decl name='env_end' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2560'>
-          <var-decl name='saved_auxv' type-id='type-id-1202' visibility='default' filepath='include/linux/mm_types.h' line='426' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5504'>
-          <var-decl name='rss_stat' type-id='type-id-1486' visibility='default' filepath='include/linux/mm_types.h' line='432' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5760'>
-          <var-decl name='binfmt' type-id='type-id-1487' visibility='default' filepath='include/linux/mm_types.h' line='434' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5824'>
-          <var-decl name='context' type-id='type-id-1488' visibility='default' filepath='include/linux/mm_types.h' line='437' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6016'>
-          <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='439' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6080'>
-          <var-decl name='core_state' type-id='type-id-1489' visibility='default' filepath='include/linux/mm_types.h' line='441' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6144'>
-          <var-decl name='membarrier_state' type-id='type-id-26' visibility='default' filepath='include/linux/mm_types.h' line='443' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6176'>
-          <var-decl name='ioctx_lock' type-id='type-id-247' visibility='default' filepath='include/linux/mm_types.h' line='446' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6208'>
-          <var-decl name='ioctx_table' type-id='type-id-1490' visibility='default' filepath='include/linux/mm_types.h' line='447' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6272'>
-          <var-decl name='owner' type-id='type-id-431' visibility='default' filepath='include/linux/mm_types.h' line='460' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6336'>
-          <var-decl name='user_ns' type-id='type-id-917' visibility='default' filepath='include/linux/mm_types.h' line='462' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6400'>
-          <var-decl name='exe_file' type-id='type-id-83' visibility='default' filepath='include/linux/mm_types.h' line='465' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6464'>
-          <var-decl name='tlb_flush_pending' type-id='type-id-26' visibility='default' filepath='include/linux/mm_types.h' line='491' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6528'>
-          <var-decl name='uprobes_state' type-id='type-id-1491' visibility='default' filepath='include/linux/mm_types.h' line='496' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6592'>
-          <var-decl name='async_put_work' type-id='type-id-255' visibility='default' filepath='include/linux/mm_types.h' line='500' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__6' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='79' column='1' id='type-id-3620'>
-        <member-type access='private'>
-          <class-decl name='__anonymous_struct__' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='98' column='1' id='type-id-3621'>
-
-              <member-type access='public'>
-                <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='115' column='1' id='type-id-3622'>
-                  <data-member access='private'>
-                    <var-decl name='s_mem' type-id='type-id-15' visibility='default' filepath='include/linux/mm_types.h' line='116' column='1'/>
-                  </data-member>
-                  <data-member access='private'>
-                    <var-decl name='counters' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='117' column='1'/>
-                  </data-member>
-                  <data-member access='private'>
-                    <var-decl name='' type-id='type-id-2139' visibility='default' filepath='include/linux/mm_types.h' line='118' column='1'/>
-                  </data-member>
-                </union-decl>
-              </member-type>
-            <data-member access='public' layout-offset-in-bits='0'>
-              <var-decl name='' type-id='type-id-3623' visibility='default' filepath='include/linux/mm_types.h' line='99' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='128'>
-              <var-decl name='slab_cache' type-id='type-id-538' visibility='default' filepath='include/linux/mm_types.h' line='112' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='192'>
-              <var-decl name='freelist' type-id='type-id-15' visibility='default' filepath='include/linux/mm_types.h' line='114' column='1'/>
-            </data-member>
-          </class-decl>
-        </member-type>
-        <member-type access='private'>
-          <class-decl name='__anonymous_struct__1' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='138' column='1' id='type-id-3624'>
-            <data-member access='public' layout-offset-in-bits='0'>
-              <var-decl name='_pt_pad_1' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='139' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='64'>
-              <var-decl name='pmd_huge_pte' type-id='type-id-2140' visibility='default' filepath='include/linux/mm_types.h' line='140' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='128'>
-              <var-decl name='_pt_pad_2' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='141' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='192'>
-              <var-decl name='' type-id='type-id-3625' visibility='default' filepath='include/linux/mm_types.h' line='142' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='256'>
-              <var-decl name='ptl' type-id='type-id-247' visibility='default' filepath='include/linux/mm_types.h' line='149' column='1'/>
-            </data-member>
-          </class-decl>
-        </member-type>
-        <data-member access='private'>
-          <var-decl name='' type-id='type-id-3626' visibility='default' filepath='include/linux/mm_types.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='callback_head' type-id='type-id-385' visibility='default' filepath='include/linux/mm_types.h' line='160' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='__anonymous_struct__3' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='80' column='1' id='type-id-3626'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lru' type-id='type-id-20' visibility='default' filepath='include/linux/mm_types.h' line='86' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='mapping' type-id='type-id-1281' visibility='default' filepath='include/linux/mm_types.h' line='88' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='index' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='89' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='private' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='96' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__7' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='99' column='1' id='type-id-3623'>
-        <data-member access='private'>
-          <var-decl name='slab_list' type-id='type-id-20' visibility='default' filepath='include/linux/mm_types.h' line='100' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='' type-id='type-id-3627' visibility='default' filepath='include/linux/mm_types.h' line='101' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='__anonymous_struct__4' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='101' column='1' id='type-id-3627'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='next' type-id='type-id-512' visibility='default' filepath='include/linux/mm_types.h' line='102' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='pages' type-id='type-id-17' visibility='default' filepath='include/linux/mm_types.h' line='104' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='pobjects' type-id='type-id-17' visibility='default' filepath='include/linux/mm_types.h' line='105' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__8' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='142' column='1' id='type-id-3625'>
-        <data-member access='private'>
-          <var-decl name='pt_mm' type-id='type-id-882' visibility='default' filepath='include/linux/mm_types.h' line='143' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='pt_frag_refcount' type-id='type-id-26' visibility='default' filepath='include/linux/mm_types.h' line='144' column='1'/>
-        </data-member>
-      </union-decl>
-      <union-decl name='__anonymous_union__10' size-in-bits='1472' is-anonymous='yes' visibility='default' filepath='include/linux/elevator.h' line='141' column='1' id='type-id-3628'>
-        <data-member access='private'>
-          <var-decl name='sq' type-id='type-id-542' visibility='default' filepath='include/linux/elevator.h' line='142' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='mq' type-id='type-id-600' visibility='default' filepath='include/linux/elevator.h' line='143' column='1'/>
-        </data-member>
-      </union-decl>
-      <pointer-type-def type-id='type-id-511' size-in-bits='64' id='type-id-3629'/>
-      <pointer-type-def type-id='type-id-3630' size-in-bits='64' id='type-id-3631'/>
-      <pointer-type-def type-id='type-id-3632' size-in-bits='64' id='type-id-3633'/>
-      <pointer-type-def type-id='type-id-3615' size-in-bits='64' id='type-id-3634'/>
-      <pointer-type-def type-id='type-id-3635' size-in-bits='64' id='type-id-3636'/>
-      <pointer-type-def type-id='type-id-3637' size-in-bits='64' id='type-id-3638'/>
-      <pointer-type-def type-id='type-id-3639' size-in-bits='64' id='type-id-3640'/>
-      <pointer-type-def type-id='type-id-3641' size-in-bits='64' id='type-id-3642'/>
-      <pointer-type-def type-id='type-id-3643' size-in-bits='64' id='type-id-3644'/>
-      <pointer-type-def type-id='type-id-3645' size-in-bits='64' id='type-id-3646'/>
-      <pointer-type-def type-id='type-id-3647' size-in-bits='64' id='type-id-3648'/>
-      <pointer-type-def type-id='type-id-3613' size-in-bits='64' id='type-id-3649'/>
-      <pointer-type-def type-id='type-id-3614' size-in-bits='64' id='type-id-3650'/>
-      <function-decl name='simple_attr_open' mangled-name='simple_attr_open' filepath='fs/libfs.c' line='799' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='simple_attr_open'>
-        <parameter type-id='type-id-1129' name='inode' filepath='fs/libfs.c' line='799' column='1'/>
-        <parameter type-id='type-id-83' name='file' filepath='fs/libfs.c' line='799' column='1'/>
-        <parameter type-id='type-id-3648' name='get' filepath='fs/libfs.c' line='800' column='1'/>
-        <parameter type-id='type-id-3646' name='set' filepath='fs/libfs.c' line='800' column='1'/>
-        <parameter type-id='type-id-4' name='fmt' filepath='fs/libfs.c' line='801' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='simple_read_from_buffer' mangled-name='simple_read_from_buffer' filepath='fs/libfs.c' line='626' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='simple_read_from_buffer'>
-        <parameter type-id='type-id-15' name='to' filepath='fs/libfs.c' line='626' column='1'/>
-        <parameter type-id='type-id-84' name='count' filepath='fs/libfs.c' line='626' column='1'/>
-        <parameter type-id='type-id-85' name='ppos' filepath='fs/libfs.c' line='626' column='1'/>
-        <parameter type-id='type-id-15' name='from' filepath='fs/libfs.c' line='627' column='1'/>
-        <parameter type-id='type-id-84' name='available' filepath='fs/libfs.c' line='627' column='1'/>
-        <return type-id='type-id-86'/>
-      </function-decl>
-      <function-decl name='simple_attr_release' mangled-name='simple_attr_release' filepath='fs/libfs.c' line='821' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='simple_attr_release'>
-        <parameter type-id='type-id-1129' name='inode' filepath='fs/libfs.c' line='821' column='1'/>
-        <parameter type-id='type-id-83' name='file' filepath='fs/libfs.c' line='821' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='simple_attr_read' mangled-name='simple_attr_read' filepath='fs/libfs.c' line='829' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='simple_attr_read'>
-        <parameter type-id='type-id-83' name='file' filepath='fs/libfs.c' line='829' column='1'/>
-        <parameter type-id='type-id-2' name='buf' filepath='fs/libfs.c' line='829' column='1'/>
-        <parameter type-id='type-id-84' name='len' filepath='fs/libfs.c' line='830' column='1'/>
-        <parameter type-id='type-id-85' name='ppos' filepath='fs/libfs.c' line='830' column='1'/>
-        <return type-id='type-id-86'/>
-      </function-decl>
-      <function-decl name='simple_attr_write' mangled-name='simple_attr_write' filepath='fs/libfs.c' line='865' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='simple_attr_write'>
-        <parameter type-id='type-id-83' name='file' filepath='fs/libfs.c' line='865' column='1'/>
-        <parameter type-id='type-id-4' name='buf' filepath='fs/libfs.c' line='865' column='1'/>
-        <parameter type-id='type-id-84' name='len' filepath='fs/libfs.c' line='866' column='1'/>
-        <parameter type-id='type-id-85' name='ppos' filepath='fs/libfs.c' line='866' column='1'/>
-        <return type-id='type-id-86'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-3630'>
-        <parameter type-id='type-id-23'/>
-        <return type-id='type-id-23'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3632'>
-        <parameter type-id='type-id-28'/>
-        <parameter type-id='type-id-3634'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-23'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3635'>
-        <parameter type-id='type-id-23'/>
-        <parameter type-id='type-id-2'/>
-        <parameter type-id='type-id-23'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3637'>
-        <parameter type-id='type-id-1129'/>
-        <parameter type-id='type-id-3629'/>
-        <parameter type-id='type-id-666'/>
-        <parameter type-id='type-id-1129'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3639'>
-        <parameter type-id='type-id-1129'/>
-        <parameter type-id='type-id-3649'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-2780'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3641'>
-        <parameter type-id='type-id-1129'/>
-        <parameter type-id='type-id-763'/>
-        <parameter type-id='type-id-40'/>
-        <parameter type-id='type-id-3649'/>
-        <parameter type-id='type-id-33'/>
-        <parameter type-id='type-id-1567'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3643'>
-        <parameter type-id='type-id-28'/>
-        <parameter type-id='type-id-3121'/>
-        <parameter type-id='type-id-1567'/>
-        <parameter type-id='type-id-1510'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3645'>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-40'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3647'>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-1510'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='fs/splice.c' language='LANG_C89'>
-      <class-decl name='splice_desc' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/splice.h' line='29' column='1' id='type-id-3651'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='total_len' type-id='type-id-84' visibility='default' filepath='include/linux/splice.h' line='30' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='len' type-id='type-id-5' visibility='default' filepath='include/linux/splice.h' line='31' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='include/linux/splice.h' line='32' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='u' type-id='type-id-3652' visibility='default' filepath='include/linux/splice.h' line='40' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='pos' type-id='type-id-763' visibility='default' filepath='include/linux/splice.h' line='41' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='opos' type-id='type-id-85' visibility='default' filepath='include/linux/splice.h' line='42' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='num_spliced' type-id='type-id-84' visibility='default' filepath='include/linux/splice.h' line='43' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='need_wakeup' type-id='type-id-33' visibility='default' filepath='include/linux/splice.h' line='44' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/splice.h' line='36' column='1' id='type-id-3652'>
-        <data-member access='private'>
-          <var-decl name='userptr' type-id='type-id-15' visibility='default' filepath='include/linux/splice.h' line='37' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='file' type-id='type-id-83' visibility='default' filepath='include/linux/splice.h' line='38' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='data' type-id='type-id-15' visibility='default' filepath='include/linux/splice.h' line='39' column='1'/>
-        </data-member>
-      </union-decl>
-      <typedef-decl name='splice_actor' type-id='type-id-3653' filepath='include/linux/splice.h' line='65' column='1' id='type-id-3654'/>
-      <pointer-type-def type-id='type-id-3654' size-in-bits='64' id='type-id-3655'/>
-      <pointer-type-def type-id='type-id-3651' size-in-bits='64' id='type-id-3656'/>
-      <function-decl name='__splice_from_pipe' mangled-name='__splice_from_pipe' filepath='fs/splice.c' line='617' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__splice_from_pipe'>
-        <parameter type-id='type-id-87' name='pipe' filepath='fs/splice.c' line='617' column='1'/>
-        <parameter type-id='type-id-3656' name='sd' filepath='fs/splice.c' line='617' column='1'/>
-        <parameter type-id='type-id-3655' name='actor' filepath='fs/splice.c' line='618' column='1'/>
-        <return type-id='type-id-86'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-3653'>
-        <parameter type-id='type-id-87'/>
-        <parameter type-id='type-id-2123'/>
-        <parameter type-id='type-id-3656'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='fs/proc/proc_net.c' language='LANG_C89'>
-      <function-decl name='proc_create_net_single' mangled-name='proc_create_net_single' filepath='fs/proc/proc_net.c' line='193' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='proc_create_net_single'>
-        <parameter type-id='type-id-4' name='name' filepath='fs/proc/proc_net.c' line='193' column='1'/>
-        <parameter type-id='type-id-329' name='mode' filepath='fs/proc/proc_net.c' line='193' column='1'/>
-        <parameter type-id='type-id-262' name='parent' filepath='fs/proc/proc_net.c' line='194' column='1'/>
-        <parameter type-id='type-id-311' name='show' filepath='fs/proc/proc_net.c' line='195' column='1'/>
-        <parameter type-id='type-id-15' name='data' filepath='fs/proc/proc_net.c' line='195' column='1'/>
-        <return type-id='type-id-262'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='fs/sysfs/file.c' language='LANG_C89'>
-      <qualified-type-def type-id='type-id-2039' const='yes' id='type-id-3657'/>
-      <pointer-type-def type-id='type-id-3657' size-in-bits='64' id='type-id-3658'/>
-      <function-decl name='sysfs_create_bin_file' mangled-name='sysfs_create_bin_file' filepath='fs/sysfs/file.c' line='534' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sysfs_create_bin_file'>
-        <parameter type-id='type-id-379' name='kobj' filepath='fs/sysfs/file.c' line='534' column='1'/>
-        <parameter type-id='type-id-3658' name='attr' filepath='fs/sysfs/file.c' line='535' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='sysfs_remove_bin_file' mangled-name='sysfs_remove_bin_file' filepath='fs/sysfs/file.c' line='553' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sysfs_remove_bin_file'>
-        <parameter type-id='type-id-379' name='kobj' filepath='fs/sysfs/file.c' line='553' column='1'/>
-        <parameter type-id='type-id-3658' name='attr' filepath='fs/sysfs/file.c' line='554' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='fs/debugfs/file.c' language='LANG_C89'>
-      <function-decl name='debugfs_create_x32' mangled-name='debugfs_create_x32' filepath='fs/debugfs/file.c' line='674' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='debugfs_create_x32'>
-        <parameter type-id='type-id-4' name='name' filepath='fs/debugfs/file.c' line='674' column='1'/>
-        <parameter type-id='type-id-329' name='mode' filepath='fs/debugfs/file.c' line='674' column='1'/>
-        <parameter type-id='type-id-23' name='parent' filepath='fs/debugfs/file.c' line='675' column='1'/>
-        <parameter type-id='type-id-1567' name='value' filepath='fs/debugfs/file.c' line='675' column='1'/>
-        <return type-id='type-id-23'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='security/security.c' language='LANG_C89'>
-      <class-decl name='socket' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3659'/>
-      <pointer-type-def type-id='type-id-3659' size-in-bits='64' id='type-id-3660'/>
-      <function-decl name='security_sock_graft' mangled-name='security_sock_graft' filepath='security/security.c' line='1500' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='security_sock_graft'>
-        <parameter type-id='type-id-1648' name='sk' filepath='security/security.c' line='1500' column='1'/>
-        <parameter type-id='type-id-3660' name='parent' filepath='security/security.c' line='1500' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='net/netlink/af_netlink.c' language='LANG_C89'>
-      <union-decl name='__anonymous_union__' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='666' column='1' id='type-id-3661'>
-        <data-member access='private'>
-          <var-decl name='' type-id='type-id-1767' visibility='default' filepath='include/linux/skbuff.h' line='667' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='rbnode' type-id='type-id-422' visibility='default' filepath='include/linux/skbuff.h' line='681' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/skbuff.h' line='682' column='1'/>
-        </data-member>
-      </union-decl>
-      <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='397' column='1' id='type-id-3662'>
-        <data-member access='private'>
-          <var-decl name='sk_wq' type-id='type-id-3663' visibility='default' filepath='include/net/sock.h' line='398' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='sk_wq_raw' type-id='type-id-3663' visibility='default' filepath='include/net/sock.h' line='399' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='netlink_dump_control' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/netlink.h' line='194' column='1' id='type-id-3664'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='start' type-id='type-id-1813' visibility='default' filepath='include/linux/netlink.h' line='195' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='dump' type-id='type-id-1812' visibility='default' filepath='include/linux/netlink.h' line='196' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='done' type-id='type-id-1813' visibility='default' filepath='include/linux/netlink.h' line='197' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='data' type-id='type-id-15' visibility='default' filepath='include/linux/netlink.h' line='198' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='module' type-id='type-id-260' visibility='default' filepath='include/linux/netlink.h' line='199' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='min_dump_alloc' type-id='type-id-688' visibility='default' filepath='include/linux/netlink.h' line='200' column='1'/>
-        </data-member>
-      </class-decl>
-      <pointer-type-def type-id='type-id-3664' size-in-bits='64' id='type-id-3665'/>
-      <function-decl name='netlink_capable' mangled-name='netlink_capable' filepath='net/netlink/af_netlink.c' line='901' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netlink_capable'>
-        <parameter type-id='type-id-2720' name='skb' filepath='net/netlink/af_netlink.c' line='901' column='1'/>
-        <parameter type-id='type-id-17' name='cap' filepath='net/netlink/af_netlink.c' line='901' column='1'/>
-        <return type-id='type-id-33'/>
-      </function-decl>
-      <function-decl name='__nlmsg_put' mangled-name='__nlmsg_put' filepath='net/netlink/af_netlink.c' line='2156' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__nlmsg_put'>
-        <parameter type-id='type-id-1768' name='skb' filepath='net/netlink/af_netlink.c' line='2156' column='1'/>
-        <parameter type-id='type-id-7' name='portid' filepath='net/netlink/af_netlink.c' line='2156' column='1'/>
-        <parameter type-id='type-id-7' name='seq' filepath='net/netlink/af_netlink.c' line='2156' column='1'/>
-        <parameter type-id='type-id-17' name='type' filepath='net/netlink/af_netlink.c' line='2156' column='1'/>
-        <parameter type-id='type-id-17' name='len' filepath='net/netlink/af_netlink.c' line='2156' column='1'/>
-        <parameter type-id='type-id-17' name='flags' filepath='net/netlink/af_netlink.c' line='2156' column='1'/>
-        <return type-id='type-id-3035'/>
-      </function-decl>
-      <function-decl name='__netlink_dump_start' mangled-name='__netlink_dump_start' filepath='net/netlink/af_netlink.c' line='2278' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__netlink_dump_start'>
-        <parameter type-id='type-id-3666' name='ssk' filepath='net/netlink/af_netlink.c' line='2278' column='1'/>
-        <parameter type-id='type-id-1768' name='skb' filepath='net/netlink/af_netlink.c' line='2278' column='1'/>
-        <parameter type-id='type-id-1811' name='nlh' filepath='net/netlink/af_netlink.c' line='2279' column='1'/>
-        <parameter type-id='type-id-3665' name='control' filepath='net/netlink/af_netlink.c' line='2280' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='crypto/algapi.c' language='LANG_C89'>
-      <class-decl name='skcipher_givcrypt_request' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3667'/>
-      <class-decl name='crypto_alg' size-in-bits='4096' is-struct='yes' visibility='default' filepath='include/linux/crypto.h' line='461' column='1' id='type-id-3668'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cra_list' type-id='type-id-20' visibility='default' filepath='include/linux/crypto.h' line='462' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='cra_users' type-id='type-id-20' visibility='default' filepath='include/linux/crypto.h' line='463' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='cra_flags' type-id='type-id-7' visibility='default' filepath='include/linux/crypto.h' line='465' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='cra_blocksize' type-id='type-id-5' visibility='default' filepath='include/linux/crypto.h' line='466' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='cra_ctxsize' type-id='type-id-5' visibility='default' filepath='include/linux/crypto.h' line='467' column='1'/>
+          <var-decl name='mc_count' type-id='type-id-11' visibility='default' filepath='include/linux/inetdevice.h' line='34' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='cra_alignmask' type-id='type-id-5' visibility='default' filepath='include/linux/crypto.h' line='468' column='1'/>
+          <var-decl name='mc_tomb_lock' type-id='type-id-106' visibility='default' filepath='include/linux/inetdevice.h' line='35' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='cra_priority' type-id='type-id-17' visibility='default' filepath='include/linux/crypto.h' line='470' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='cra_refcnt' type-id='type-id-421' visibility='default' filepath='include/linux/crypto.h' line='471' column='1'/>
+          <var-decl name='mc_tomb' type-id='type-id-8177' visibility='default' filepath='include/linux/inetdevice.h' line='36' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='cra_name' type-id='type-id-964' visibility='default' filepath='include/linux/crypto.h' line='473' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='cra_driver_name' type-id='type-id-964' visibility='default' filepath='include/linux/crypto.h' line='474' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2496'>
-          <var-decl name='cra_type' type-id='type-id-3669' visibility='default' filepath='include/linux/crypto.h' line='476' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2560'>
-          <var-decl name='cra_u' type-id='type-id-3670' visibility='default' filepath='include/linux/crypto.h' line='483' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3072'>
-          <var-decl name='cra_init' type-id='type-id-3671' visibility='default' filepath='include/linux/crypto.h' line='485' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3136'>
-          <var-decl name='cra_exit' type-id='type-id-3672' visibility='default' filepath='include/linux/crypto.h' line='486' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3200'>
-          <var-decl name='cra_destroy' type-id='type-id-3673' visibility='default' filepath='include/linux/crypto.h' line='487' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3264'>
-          <var-decl name='cra_module' type-id='type-id-260' visibility='default' filepath='include/linux/crypto.h' line='489' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='crypto_type' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/crypto/algapi.h' line='34' column='1' id='type-id-3674'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ctxsize' type-id='type-id-3675' visibility='default' filepath='include/crypto/algapi.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='extsize' type-id='type-id-3676' visibility='default' filepath='include/crypto/algapi.h' line='36' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='init' type-id='type-id-3677' visibility='default' filepath='include/crypto/algapi.h' line='37' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='init_tfm' type-id='type-id-3671' visibility='default' filepath='include/crypto/algapi.h' line='38' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='show' type-id='type-id-3678' visibility='default' filepath='include/crypto/algapi.h' line='39' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='report' type-id='type-id-3679' visibility='default' filepath='include/crypto/algapi.h' line='40' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='free' type-id='type-id-3680' visibility='default' filepath='include/crypto/algapi.h' line='41' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='type' type-id='type-id-5' visibility='default' filepath='include/crypto/algapi.h' line='43' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='maskclear' type-id='type-id-5' visibility='default' filepath='include/crypto/algapi.h' line='44' column='1'/>
+          <var-decl name='mr_v1_seen' type-id='type-id-100' visibility='default' filepath='include/linux/inetdevice.h' line='37' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='maskset' type-id='type-id-5' visibility='default' filepath='include/crypto/algapi.h' line='45' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='tfmsize' type-id='type-id-5' visibility='default' filepath='include/crypto/algapi.h' line='46' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='crypto_tfm' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/linux/crypto.h' line='593' column='1' id='type-id-3681'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='crt_flags' type-id='type-id-7' visibility='default' filepath='include/linux/crypto.h' line='595' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='crt_u' type-id='type-id-3682' visibility='default' filepath='include/linux/crypto.h' line='602' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='exit' type-id='type-id-3672' visibility='default' filepath='include/linux/crypto.h' line='604' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='__crt_alg' type-id='type-id-3683' visibility='default' filepath='include/linux/crypto.h' line='606' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='__crt_ctx' type-id='type-id-1213' visibility='default' filepath='include/linux/crypto.h' line='608' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' filepath='include/linux/crypto.h' line='597' column='1' id='type-id-3682'>
-        <data-member access='private'>
-          <var-decl name='ablkcipher' type-id='type-id-3684' visibility='default' filepath='include/linux/crypto.h' line='598' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='blkcipher' type-id='type-id-3685' visibility='default' filepath='include/linux/crypto.h' line='599' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='cipher' type-id='type-id-3686' visibility='default' filepath='include/linux/crypto.h' line='600' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='compress' type-id='type-id-3687' visibility='default' filepath='include/linux/crypto.h' line='601' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='ablkcipher_tfm' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/crypto.h' line='550' column='1' id='type-id-3684'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='setkey' type-id='type-id-3688' visibility='default' filepath='include/linux/crypto.h' line='551' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='encrypt' type-id='type-id-3689' visibility='default' filepath='include/linux/crypto.h' line='553' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='decrypt' type-id='type-id-3689' visibility='default' filepath='include/linux/crypto.h' line='554' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='base' type-id='type-id-3690' visibility='default' filepath='include/linux/crypto.h' line='556' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='ivsize' type-id='type-id-5' visibility='default' filepath='include/linux/crypto.h' line='558' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='reqsize' type-id='type-id-5' visibility='default' filepath='include/linux/crypto.h' line='559' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='crypto_ablkcipher' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/linux/crypto.h' line='611' column='1' id='type-id-3691'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='base' type-id='type-id-3681' visibility='default' filepath='include/linux/crypto.h' line='612' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ablkcipher_request' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/linux/crypto.h' line='180' column='1' id='type-id-3692'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='base' type-id='type-id-3693' visibility='default' filepath='include/linux/crypto.h' line='181' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='nbytes' type-id='type-id-5' visibility='default' filepath='include/linux/crypto.h' line='183' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='info' type-id='type-id-15' visibility='default' filepath='include/linux/crypto.h' line='185' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='src' type-id='type-id-920' visibility='default' filepath='include/linux/crypto.h' line='187' column='1'/>
+          <var-decl name='mr_v2_seen' type-id='type-id-100' visibility='default' filepath='include/linux/inetdevice.h' line='38' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='dst' type-id='type-id-920' visibility='default' filepath='include/linux/crypto.h' line='188' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='__ctx' type-id='type-id-1213' visibility='default' filepath='include/linux/crypto.h' line='190' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='crypto_async_request' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/crypto.h' line='171' column='1' id='type-id-3693'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/crypto.h' line='172' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='complete' type-id='type-id-3694' visibility='default' filepath='include/linux/crypto.h' line='173' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='data' type-id='type-id-15' visibility='default' filepath='include/linux/crypto.h' line='174' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='tfm' type-id='type-id-3695' visibility='default' filepath='include/linux/crypto.h' line='175' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='flags' type-id='type-id-7' visibility='default' filepath='include/linux/crypto.h' line='177' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='crypto_completion_t' type-id='type-id-3696' filepath='include/linux/crypto.h' line='162' column='1' id='type-id-3694'/>
-      <class-decl name='blkcipher_tfm' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/crypto.h' line='562' column='1' id='type-id-3685'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='iv' type-id='type-id-15' visibility='default' filepath='include/linux/crypto.h' line='563' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='setkey' type-id='type-id-3697' visibility='default' filepath='include/linux/crypto.h' line='564' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='encrypt' type-id='type-id-3698' visibility='default' filepath='include/linux/crypto.h' line='566' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='decrypt' type-id='type-id-3698' visibility='default' filepath='include/linux/crypto.h' line='568' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='blkcipher_desc' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/crypto.h' line='193' column='1' id='type-id-3699'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='tfm' type-id='type-id-3700' visibility='default' filepath='include/linux/crypto.h' line='194' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='info' type-id='type-id-15' visibility='default' filepath='include/linux/crypto.h' line='195' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='flags' type-id='type-id-7' visibility='default' filepath='include/linux/crypto.h' line='196' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='crypto_blkcipher' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/linux/crypto.h' line='615' column='1' id='type-id-3701'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='base' type-id='type-id-3681' visibility='default' filepath='include/linux/crypto.h' line='616' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='cipher_tfm' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/crypto.h' line='572' column='1' id='type-id-3686'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cit_setkey' type-id='type-id-3697' visibility='default' filepath='include/linux/crypto.h' line='573' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='cit_encrypt_one' type-id='type-id-3702' visibility='default' filepath='include/linux/crypto.h' line='575' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='cit_decrypt_one' type-id='type-id-3702' visibility='default' filepath='include/linux/crypto.h' line='576' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='compress_tfm' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/crypto.h' line='579' column='1' id='type-id-3687'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cot_compress' type-id='type-id-3703' visibility='default' filepath='include/linux/crypto.h' line='580' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='cot_decompress' type-id='type-id-3703' visibility='default' filepath='include/linux/crypto.h' line='583' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='crypto_instance' size-in-bits='5120' is-struct='yes' visibility='default' filepath='include/crypto/algapi.h' line='49' column='1' id='type-id-3704'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='alg' type-id='type-id-3668' visibility='default' filepath='include/crypto/algapi.h' line='50' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4096'>
-          <var-decl name='tmpl' type-id='type-id-3705' visibility='default' filepath='include/crypto/algapi.h' line='52' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4160'>
-          <var-decl name='list' type-id='type-id-520' visibility='default' filepath='include/crypto/algapi.h' line='53' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5120'>
-          <var-decl name='__ctx' type-id='type-id-1213' visibility='default' filepath='include/crypto/algapi.h' line='55' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='crypto_template' size-in-bits='1472' is-struct='yes' visibility='default' filepath='include/crypto/algapi.h' line='58' column='1' id='type-id-3706'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/crypto/algapi.h' line='59' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='instances' type-id='type-id-186' visibility='default' filepath='include/crypto/algapi.h' line='60' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='module' type-id='type-id-260' visibility='default' filepath='include/crypto/algapi.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='alloc' type-id='type-id-3707' visibility='default' filepath='include/crypto/algapi.h' line='63' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='free' type-id='type-id-3680' visibility='default' filepath='include/crypto/algapi.h' line='64' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='create' type-id='type-id-3708' visibility='default' filepath='include/crypto/algapi.h' line='65' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='name' type-id='type-id-964' visibility='default' filepath='include/crypto/algapi.h' line='67' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='rtattr' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/uapi/linux/rtnetlink.h' line='174' column='1' id='type-id-3709'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='rta_len' type-id='type-id-312' visibility='default' filepath='include/uapi/linux/rtnetlink.h' line='175' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='rta_type' type-id='type-id-312' visibility='default' filepath='include/uapi/linux/rtnetlink.h' line='176' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__1' size-in-bits='512' is-anonymous='yes' visibility='default' filepath='include/linux/crypto.h' line='478' column='1' id='type-id-3670'>
-        <data-member access='private'>
-          <var-decl name='ablkcipher' type-id='type-id-3710' visibility='default' filepath='include/linux/crypto.h' line='479' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='blkcipher' type-id='type-id-3711' visibility='default' filepath='include/linux/crypto.h' line='480' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='cipher' type-id='type-id-3712' visibility='default' filepath='include/linux/crypto.h' line='481' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='compress' type-id='type-id-3713' visibility='default' filepath='include/linux/crypto.h' line='482' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='ablkcipher_alg' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/crypto.h' line='265' column='1' id='type-id-3710'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='setkey' type-id='type-id-3688' visibility='default' filepath='include/linux/crypto.h' line='266' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='encrypt' type-id='type-id-3689' visibility='default' filepath='include/linux/crypto.h' line='268' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='decrypt' type-id='type-id-3689' visibility='default' filepath='include/linux/crypto.h' line='269' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='givencrypt' type-id='type-id-3714' visibility='default' filepath='include/linux/crypto.h' line='270' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='givdecrypt' type-id='type-id-3714' visibility='default' filepath='include/linux/crypto.h' line='271' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='geniv' type-id='type-id-4' visibility='default' filepath='include/linux/crypto.h' line='273' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='min_keysize' type-id='type-id-5' visibility='default' filepath='include/linux/crypto.h' line='275' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='max_keysize' type-id='type-id-5' visibility='default' filepath='include/linux/crypto.h' line='276' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='ivsize' type-id='type-id-5' visibility='default' filepath='include/linux/crypto.h' line='277' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='blkcipher_alg' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/crypto.h' line='292' column='1' id='type-id-3711'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='setkey' type-id='type-id-3697' visibility='default' filepath='include/linux/crypto.h' line='293' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='encrypt' type-id='type-id-3698' visibility='default' filepath='include/linux/crypto.h' line='295' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='decrypt' type-id='type-id-3698' visibility='default' filepath='include/linux/crypto.h' line='298' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='geniv' type-id='type-id-4' visibility='default' filepath='include/linux/crypto.h' line='302' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='min_keysize' type-id='type-id-5' visibility='default' filepath='include/linux/crypto.h' line='304' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='max_keysize' type-id='type-id-5' visibility='default' filepath='include/linux/crypto.h' line='305' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='ivsize' type-id='type-id-5' visibility='default' filepath='include/linux/crypto.h' line='306' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='cipher_alg' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/crypto.h' line='356' column='1' id='type-id-3712'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cia_min_keysize' type-id='type-id-5' visibility='default' filepath='include/linux/crypto.h' line='357' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='cia_max_keysize' type-id='type-id-5' visibility='default' filepath='include/linux/crypto.h' line='358' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='cia_setkey' type-id='type-id-3697' visibility='default' filepath='include/linux/crypto.h' line='359' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='cia_encrypt' type-id='type-id-3702' visibility='default' filepath='include/linux/crypto.h' line='361' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='cia_decrypt' type-id='type-id-3702' visibility='default' filepath='include/linux/crypto.h' line='362' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='compress_alg' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/crypto.h' line='365' column='1' id='type-id-3713'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='coa_compress' type-id='type-id-3703' visibility='default' filepath='include/linux/crypto.h' line='366' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='coa_decompress' type-id='type-id-3703' visibility='default' filepath='include/linux/crypto.h' line='368' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='crypto_queue' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/crypto/algapi.h' line='78' column='1' id='type-id-3715'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/crypto/algapi.h' line='79' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='backlog' type-id='type-id-877' visibility='default' filepath='include/crypto/algapi.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='qlen' type-id='type-id-5' visibility='default' filepath='include/crypto/algapi.h' line='82' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='max_qlen' type-id='type-id-5' visibility='default' filepath='include/crypto/algapi.h' line='83' column='1'/>
-        </data-member>
-      </class-decl>
-      <pointer-type-def type-id='type-id-3692' size-in-bits='64' id='type-id-3716'/>
-      <pointer-type-def type-id='type-id-3699' size-in-bits='64' id='type-id-3717'/>
-      <qualified-type-def type-id='type-id-3674' const='yes' id='type-id-3718'/>
-      <pointer-type-def type-id='type-id-3718' size-in-bits='64' id='type-id-3669'/>
-      <pointer-type-def type-id='type-id-3691' size-in-bits='64' id='type-id-3690'/>
-      <pointer-type-def type-id='type-id-3668' size-in-bits='64' id='type-id-3683'/>
-      <pointer-type-def type-id='type-id-3693' size-in-bits='64' id='type-id-3719'/>
-      <pointer-type-def type-id='type-id-3701' size-in-bits='64' id='type-id-3700'/>
-      <pointer-type-def type-id='type-id-3704' size-in-bits='64' id='type-id-3720'/>
-      <pointer-type-def type-id='type-id-3721' size-in-bits='64' id='type-id-3707'/>
-      <pointer-type-def type-id='type-id-3715' size-in-bits='64' id='type-id-3722'/>
-      <pointer-type-def type-id='type-id-3706' size-in-bits='64' id='type-id-3705'/>
-      <pointer-type-def type-id='type-id-3681' size-in-bits='64' id='type-id-3695'/>
-      <pointer-type-def type-id='type-id-3723' size-in-bits='64' id='type-id-3689'/>
-      <pointer-type-def type-id='type-id-3724' size-in-bits='64' id='type-id-3698'/>
-      <pointer-type-def type-id='type-id-3725' size-in-bits='64' id='type-id-3688'/>
-      <pointer-type-def type-id='type-id-3726' size-in-bits='64' id='type-id-3708'/>
-      <pointer-type-def type-id='type-id-3727' size-in-bits='64' id='type-id-3671'/>
-      <pointer-type-def type-id='type-id-3728' size-in-bits='64' id='type-id-3697'/>
-      <pointer-type-def type-id='type-id-3729' size-in-bits='64' id='type-id-3703'/>
-      <pointer-type-def type-id='type-id-3730' size-in-bits='64' id='type-id-3677'/>
-      <pointer-type-def type-id='type-id-3731' size-in-bits='64' id='type-id-3679'/>
-      <pointer-type-def type-id='type-id-3732' size-in-bits='64' id='type-id-3714'/>
-      <pointer-type-def type-id='type-id-3709' size-in-bits='64' id='type-id-3733'/>
-      <pointer-type-def type-id='type-id-3733' size-in-bits='64' id='type-id-3734'/>
-      <pointer-type-def type-id='type-id-3667' size-in-bits='64' id='type-id-3735'/>
-      <pointer-type-def type-id='type-id-3736' size-in-bits='64' id='type-id-3676'/>
-      <pointer-type-def type-id='type-id-3737' size-in-bits='64' id='type-id-3675'/>
-      <pointer-type-def type-id='type-id-3738' size-in-bits='64' id='type-id-3673'/>
-      <pointer-type-def type-id='type-id-3739' size-in-bits='64' id='type-id-3696'/>
-      <pointer-type-def type-id='type-id-3740' size-in-bits='64' id='type-id-3680'/>
-      <pointer-type-def type-id='type-id-3741' size-in-bits='64' id='type-id-3672'/>
-      <pointer-type-def type-id='type-id-3742' size-in-bits='64' id='type-id-3702'/>
-      <pointer-type-def type-id='type-id-3743' size-in-bits='64' id='type-id-3678'/>
-      <function-decl name='crypto_register_alg' mangled-name='crypto_register_alg' filepath='crypto/algapi.c' line='375' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_register_alg'>
-        <parameter type-id='type-id-3683' name='alg' filepath='crypto/algapi.c' line='375' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='crypto_unregister_alg' mangled-name='crypto_unregister_alg' filepath='crypto/algapi.c' line='410' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_unregister_alg'>
-        <parameter type-id='type-id-3683' name='alg' filepath='crypto/algapi.c' line='410' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='crypto_init_queue' mangled-name='crypto_init_queue' filepath='crypto/algapi.c' line='894' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_init_queue'>
-        <parameter type-id='type-id-3722' name='queue' filepath='crypto/algapi.c' line='894' column='1'/>
-        <parameter type-id='type-id-5' name='max_qlen' filepath='crypto/algapi.c' line='894' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='crypto_enqueue_request' mangled-name='crypto_enqueue_request' filepath='crypto/algapi.c' line='903' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_enqueue_request'>
-        <parameter type-id='type-id-3722' name='queue' filepath='crypto/algapi.c' line='903' column='1'/>
-        <parameter type-id='type-id-3719' name='request' filepath='crypto/algapi.c' line='904' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='crypto_dequeue_request' mangled-name='crypto_dequeue_request' filepath='crypto/algapi.c' line='926' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='crypto_dequeue_request'>
-        <parameter type-id='type-id-3722' name='queue' filepath='crypto/algapi.c' line='926' column='1'/>
-        <return type-id='type-id-3719'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-3721'>
-        <parameter type-id='type-id-3734'/>
-        <return type-id='type-id-3720'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3723'>
-        <parameter type-id='type-id-3716'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3724'>
-        <parameter type-id='type-id-3717'/>
-        <parameter type-id='type-id-920'/>
-        <parameter type-id='type-id-920'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3725'>
-        <parameter type-id='type-id-3690'/>
-        <parameter type-id='type-id-658'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3726'>
-        <parameter type-id='type-id-3705'/>
-        <parameter type-id='type-id-3734'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3727'>
-        <parameter type-id='type-id-3695'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3728'>
-        <parameter type-id='type-id-3695'/>
-        <parameter type-id='type-id-658'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3729'>
-        <parameter type-id='type-id-3695'/>
-        <parameter type-id='type-id-658'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-3121'/>
-        <parameter type-id='type-id-482'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3730'>
-        <parameter type-id='type-id-3695'/>
-        <parameter type-id='type-id-7'/>
-        <parameter type-id='type-id-7'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3731'>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-3683'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3732'>
-        <parameter type-id='type-id-3735'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3736'>
-        <parameter type-id='type-id-3683'/>
-        <return type-id='type-id-5'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3737'>
-        <parameter type-id='type-id-3683'/>
-        <parameter type-id='type-id-7'/>
-        <parameter type-id='type-id-7'/>
-        <return type-id='type-id-5'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3738'>
-        <parameter type-id='type-id-3683'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3739'>
-        <parameter type-id='type-id-3719'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3740'>
-        <parameter type-id='type-id-3720'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3741'>
-        <parameter type-id='type-id-3695'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3742'>
-        <parameter type-id='type-id-3695'/>
-        <parameter type-id='type-id-3121'/>
-        <parameter type-id='type-id-658'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3743'>
-        <parameter type-id='type-id-88'/>
-        <parameter type-id='type-id-3683'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='block/blk-mq.c' language='LANG_C89'>
-      <function-decl name='blk_mq_alloc_tag_set' mangled-name='blk_mq_alloc_tag_set' filepath='block/blk-mq.c' line='2774' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_mq_alloc_tag_set'>
-        <parameter type-id='type-id-3744' name='set' filepath='block/blk-mq.c' line='2774' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='blk_mq_run_hw_queues' mangled-name='blk_mq_run_hw_queues' filepath='block/blk-mq.c' line='1421' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_mq_run_hw_queues'>
-        <parameter type-id='type-id-378' name='q' filepath='block/blk-mq.c' line='1421' column='1'/>
-        <parameter type-id='type-id-33' name='async' filepath='block/blk-mq.c' line='1421' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='blk_mq_quiesce_queue' mangled-name='blk_mq_quiesce_queue' filepath='block/blk-mq.c' line='226' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_mq_quiesce_queue'>
-        <parameter type-id='type-id-378' name='q' filepath='block/blk-mq.c' line='226' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='blk_mq_unquiesce_queue' mangled-name='blk_mq_unquiesce_queue' filepath='block/blk-mq.c' line='252' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_mq_unquiesce_queue'>
-        <parameter type-id='type-id-378' name='q' filepath='block/blk-mq.c' line='252' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='__blk_mq_end_request' mangled-name='__blk_mq_end_request' filepath='block/blk-mq.c' line='520' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__blk_mq_end_request'>
-        <parameter type-id='type-id-463' name='rq' filepath='block/blk-mq.c' line='520' column='1'/>
-        <parameter type-id='type-id-361' name='error' filepath='block/blk-mq.c' line='520' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='blk_mq_end_request' mangled-name='blk_mq_end_request' filepath='block/blk-mq.c' line='542' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_mq_end_request'>
-        <parameter type-id='type-id-463' name='rq' filepath='block/blk-mq.c' line='542' column='1'/>
-        <parameter type-id='type-id-361' name='error' filepath='block/blk-mq.c' line='542' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='blk_mq_complete_request' mangled-name='blk_mq_complete_request' filepath='block/blk-mq.c' line='616' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_mq_complete_request'>
-        <parameter type-id='type-id-463' name='rq' filepath='block/blk-mq.c' line='616' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='blk_mq_start_request' mangled-name='blk_mq_start_request' filepath='block/blk-mq.c' line='630' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_mq_start_request'>
-        <parameter type-id='type-id-463' name='rq' filepath='block/blk-mq.c' line='630' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='blk_mq_requeue_request' mangled-name='blk_mq_requeue_request' filepath='block/blk-mq.c' line='680' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_mq_requeue_request'>
-        <parameter type-id='type-id-463' name='rq' filepath='block/blk-mq.c' line='680' column='1'/>
-        <parameter type-id='type-id-33' name='kick_requeue_list' filepath='block/blk-mq.c' line='680' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='blk_mq_stop_hw_queue' mangled-name='blk_mq_stop_hw_queue' filepath='block/blk-mq.c' line='1464' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_mq_stop_hw_queue'>
-        <parameter type-id='type-id-3745' name='hctx' filepath='block/blk-mq.c' line='1464' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='blk_mq_start_stopped_hw_queues' mangled-name='blk_mq_start_stopped_hw_queues' filepath='block/blk-mq.c' line='1519' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_mq_start_stopped_hw_queues'>
-        <parameter type-id='type-id-378' name='q' filepath='block/blk-mq.c' line='1519' column='1'/>
-        <parameter type-id='type-id-33' name='async' filepath='block/blk-mq.c' line='1519' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='blk_mq_init_queue' mangled-name='blk_mq_init_queue' filepath='block/blk-mq.c' line='2487' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_mq_init_queue'>
-        <parameter type-id='type-id-3744' name='set' filepath='block/blk-mq.c' line='2487' column='1'/>
-        <return type-id='type-id-378'/>
-      </function-decl>
-      <function-decl name='blk_mq_free_tag_set' mangled-name='blk_mq_free_tag_set' filepath='block/blk-mq.c' line='2848' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_mq_free_tag_set'>
-        <parameter type-id='type-id-3744' name='set' filepath='block/blk-mq.c' line='2848' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='block/blk-core.c' language='LANG_C89'>
-      <array-type-def dimensions='1' type-id='type-id-3746' size-in-bits='256' id='type-id-3747'>
-        <subrange length='4' type-id='type-id-9' id='type-id-107'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-20' size-in-bits='256' id='type-id-3748'>
-        <subrange length='2' type-id='type-id-9' id='type-id-128'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-3749' size-in-bits='192' id='type-id-3750'>
-        <subrange length='3' type-id='type-id-9' id='type-id-196'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-3751' size-in-bits='2304' id='type-id-3752'>
-        <subrange length='3' type-id='type-id-9' id='type-id-196'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-3753' size-in-bits='infinite' id='type-id-3754'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-16' size-in-bits='448' id='type-id-3755'>
-        <subrange length='7' type-id='type-id-9' id='type-id-125'/>
-
-      </array-type-def>
-      <class-decl name='__anonymous_struct__' size-in-bits='512' is-struct='yes' is-anonymous='yes' visibility='default' filepath='block/blk-mq.h' line='14' column='1' id='type-id-3756'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='block/blk-mq.h' line='15' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='rq_list' type-id='type-id-20' visibility='default' filepath='block/blk-mq.h' line='16' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__' is-anonymous='yes' visibility='default' filepath='include/linux/blk_types.h' line='191' column='1' id='type-id-3757'/>
-      <class-decl name='rq_qos_ops' size-in-bits='512' is-struct='yes' visibility='default' filepath='block/blk-rq-qos.h' line='27' column='1' id='type-id-3758'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='throttle' type-id='type-id-3759' visibility='default' filepath='block/blk-rq-qos.h' line='28' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='track' type-id='type-id-3760' visibility='default' filepath='block/blk-rq-qos.h' line='29' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='issue' type-id='type-id-3761' visibility='default' filepath='block/blk-rq-qos.h' line='30' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='requeue' type-id='type-id-3761' visibility='default' filepath='block/blk-rq-qos.h' line='31' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='done' type-id='type-id-3761' visibility='default' filepath='block/blk-rq-qos.h' line='32' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='done_bio' type-id='type-id-3762' visibility='default' filepath='block/blk-rq-qos.h' line='33' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='cleanup' type-id='type-id-3762' visibility='default' filepath='block/blk-rq-qos.h' line='34' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='exit' type-id='type-id-3763' visibility='default' filepath='block/blk-rq-qos.h' line='35' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='rq_qos_id' filepath='block/blk-rq-qos.h' line='10' column='1' id='type-id-3764'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='RQ_QOS_WBT' value='0'/>
-        <enumerator name='RQ_QOS_CGROUP' value='1'/>
-      </enum-decl>
-      <typedef-decl name='queue_rq_fn' type-id='type-id-3765' filepath='include/linux/blk-mq.h' line='100' column='1' id='type-id-3766'/>
-      <class-decl name='blk_mq_hw_ctx' size-in-bits='4608' is-struct='yes' visibility='default' filepath='include/linux/blk-mq.h' line='15' column='1' id='type-id-3767'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='' type-id='type-id-3768' visibility='default' filepath='include/linux/blk-mq.h' line='16' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='run_work' type-id='type-id-411' visibility='default' filepath='include/linux/blk-mq.h' line='22' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='cpumask' type-id='type-id-38' visibility='default' filepath='include/linux/blk-mq.h' line='23' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='next_cpu' type-id='type-id-17' visibility='default' filepath='include/linux/blk-mq.h' line='24' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1312'>
-          <var-decl name='next_cpu_batch' type-id='type-id-17' visibility='default' filepath='include/linux/blk-mq.h' line='25' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='include/linux/blk-mq.h' line='27' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='sched_data' type-id='type-id-15' visibility='default' filepath='include/linux/blk-mq.h' line='29' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='queue' type-id='type-id-378' visibility='default' filepath='include/linux/blk-mq.h' line='30' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='fq' type-id='type-id-3769' visibility='default' filepath='include/linux/blk-mq.h' line='31' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='driver_data' type-id='type-id-15' visibility='default' filepath='include/linux/blk-mq.h' line='33' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='ctx_map' type-id='type-id-3770' visibility='default' filepath='include/linux/blk-mq.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='dispatch_from' type-id='type-id-483' visibility='default' filepath='include/linux/blk-mq.h' line='37' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='dispatch_busy' type-id='type-id-5' visibility='default' filepath='include/linux/blk-mq.h' line='38' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1952'>
-          <var-decl name='nr_ctx' type-id='type-id-5' visibility='default' filepath='include/linux/blk-mq.h' line='40' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='ctxs' type-id='type-id-3771' visibility='default' filepath='include/linux/blk-mq.h' line='41' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='dispatch_wait_lock' type-id='type-id-247' visibility='default' filepath='include/linux/blk-mq.h' line='43' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='dispatch_wait' type-id='type-id-3380' visibility='default' filepath='include/linux/blk-mq.h' line='44' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2432'>
-          <var-decl name='wait_index' type-id='type-id-26' visibility='default' filepath='include/linux/blk-mq.h' line='45' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2496'>
-          <var-decl name='tags' type-id='type-id-3772' visibility='default' filepath='include/linux/blk-mq.h' line='47' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2560'>
-          <var-decl name='sched_tags' type-id='type-id-3772' visibility='default' filepath='include/linux/blk-mq.h' line='48' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2624'>
-          <var-decl name='queued' type-id='type-id-16' visibility='default' filepath='include/linux/blk-mq.h' line='50' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2688'>
-          <var-decl name='run' type-id='type-id-16' visibility='default' filepath='include/linux/blk-mq.h' line='51' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2752'>
-          <var-decl name='dispatched' type-id='type-id-3755' visibility='default' filepath='include/linux/blk-mq.h' line='53' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3200'>
-          <var-decl name='numa_node' type-id='type-id-5' visibility='default' filepath='include/linux/blk-mq.h' line='55' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3232'>
-          <var-decl name='queue_num' type-id='type-id-5' visibility='default' filepath='include/linux/blk-mq.h' line='56' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3264'>
-          <var-decl name='nr_active' type-id='type-id-26' visibility='default' filepath='include/linux/blk-mq.h' line='58' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3296'>
-          <var-decl name='nr_expired' type-id='type-id-5' visibility='default' filepath='include/linux/blk-mq.h' line='59' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3328'>
-          <var-decl name='cpuhp_dead' type-id='type-id-520' visibility='default' filepath='include/linux/blk-mq.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3456'>
-          <var-decl name='kobj' type-id='type-id-267' visibility='default' filepath='include/linux/blk-mq.h' line='62' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3968'>
-          <var-decl name='poll_considered' type-id='type-id-16' visibility='default' filepath='include/linux/blk-mq.h' line='64' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4032'>
-          <var-decl name='poll_invoked' type-id='type-id-16' visibility='default' filepath='include/linux/blk-mq.h' line='65' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4096'>
-          <var-decl name='poll_success' type-id='type-id-16' visibility='default' filepath='include/linux/blk-mq.h' line='66' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4160'>
-          <var-decl name='debugfs_dir' type-id='type-id-23' visibility='default' filepath='include/linux/blk-mq.h' line='69' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4224'>
-          <var-decl name='sched_debugfs_dir' type-id='type-id-23' visibility='default' filepath='include/linux/blk-mq.h' line='70' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4288'>
-          <var-decl name='srcu' type-id='type-id-3754' visibility='default' filepath='include/linux/blk-mq.h' line='74' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__1' size-in-bits='512' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/blk-mq.h' line='16' column='1' id='type-id-3768'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='include/linux/blk-mq.h' line='17' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='dispatch' type-id='type-id-20' visibility='default' filepath='include/linux/blk-mq.h' line='18' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='state' type-id='type-id-16' visibility='default' filepath='include/linux/blk-mq.h' line='19' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='blk_flush_queue' size-in-bits='704' is-struct='yes' visibility='default' filepath='block/blk.h' line='22' column='1' id='type-id-3773'>
-        <data-member access='public' layout-offset-in-bits='31'>
-          <var-decl name='flush_queue_delayed' type-id='type-id-5' visibility='default' filepath='block/blk.h' line='23' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='30'>
-          <var-decl name='flush_pending_idx' type-id='type-id-5' visibility='default' filepath='block/blk.h' line='24' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='29'>
-          <var-decl name='flush_running_idx' type-id='type-id-5' visibility='default' filepath='block/blk.h' line='25' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='rq_status' type-id='type-id-361' visibility='default' filepath='block/blk.h' line='26' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='flush_pending_since' type-id='type-id-16' visibility='default' filepath='block/blk.h' line='27' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='flush_queue' type-id='type-id-3748' visibility='default' filepath='block/blk.h' line='28' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='flush_data_in_flight' type-id='type-id-20' visibility='default' filepath='block/blk.h' line='29' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='flush_rq' type-id='type-id-463' visibility='default' filepath='block/blk.h' line='30' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='orig_rq' type-id='type-id-463' visibility='default' filepath='block/blk.h' line='36' column='1'/>
+          <var-decl name='mr_maxdelay' type-id='type-id-100' visibility='default' filepath='include/linux/inetdevice.h' line='39' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='mq_flush_lock' type-id='type-id-247' visibility='default' filepath='block/blk.h' line='37' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='sbitmap' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/sbitmap.h' line='49' column='1' id='type-id-3770'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='depth' type-id='type-id-5' visibility='default' filepath='include/linux/sbitmap.h' line='53' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='shift' type-id='type-id-5' visibility='default' filepath='include/linux/sbitmap.h' line='58' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='map_nr' type-id='type-id-5' visibility='default' filepath='include/linux/sbitmap.h' line='63' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='map' type-id='type-id-3774' visibility='default' filepath='include/linux/sbitmap.h' line='68' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='sbitmap_word' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/sbitmap.h' line='31' column='1' id='type-id-3775'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='word' type-id='type-id-16' visibility='default' filepath='include/linux/sbitmap.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='depth' type-id='type-id-16' visibility='default' filepath='include/linux/sbitmap.h' line='40' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='blk_mq_tags' size-in-bits='1280' is-struct='yes' visibility='default' filepath='block/blk-mq-tag.h' line='10' column='1' id='type-id-3776'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='nr_tags' type-id='type-id-5' visibility='default' filepath='block/blk-mq-tag.h' line='11' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='nr_reserved_tags' type-id='type-id-5' visibility='default' filepath='block/blk-mq-tag.h' line='12' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='active_queues' type-id='type-id-26' visibility='default' filepath='block/blk-mq-tag.h' line='14' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='bitmap_tags' type-id='type-id-3777' visibility='default' filepath='block/blk-mq-tag.h' line='16' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='breserved_tags' type-id='type-id-3777' visibility='default' filepath='block/blk-mq-tag.h' line='17' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='rqs' type-id='type-id-643' visibility='default' filepath='block/blk-mq-tag.h' line='19' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='static_rqs' type-id='type-id-643' visibility='default' filepath='block/blk-mq-tag.h' line='20' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='page_list' type-id='type-id-20' visibility='default' filepath='block/blk-mq-tag.h' line='21' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='sbitmap_queue' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/sbitmap.h' line='98' column='1' id='type-id-3777'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='sb' type-id='type-id-3770' visibility='default' filepath='include/linux/sbitmap.h' line='102' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='alloc_hint' type-id='type-id-482' visibility='default' filepath='include/linux/sbitmap.h' line='110' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='wake_batch' type-id='type-id-5' visibility='default' filepath='include/linux/sbitmap.h' line='116' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='wake_index' type-id='type-id-26' visibility='default' filepath='include/linux/sbitmap.h' line='121' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='ws' type-id='type-id-3778' visibility='default' filepath='include/linux/sbitmap.h' line='126' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='round_robin' type-id='type-id-33' visibility='default' filepath='include/linux/sbitmap.h' line='131' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='min_shallow_depth' type-id='type-id-5' visibility='default' filepath='include/linux/sbitmap.h' line='137' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='sbq_wait_state' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/sbitmap.h' line='77' column='1' id='type-id-3779'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='wait_cnt' type-id='type-id-26' visibility='default' filepath='include/linux/sbitmap.h' line='81' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='wait' type-id='type-id-225' visibility='default' filepath='include/linux/sbitmap.h' line='86' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='srcu_struct' size-in-bits='4800' is-struct='yes' visibility='default' filepath='include/linux/srcutree.h' line='76' column='1' id='type-id-3753'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='node' type-id='type-id-3752' visibility='default' filepath='include/linux/srcutree.h' line='77' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2304'>
-          <var-decl name='level' type-id='type-id-3750' visibility='default' filepath='include/linux/srcutree.h' line='78' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2496'>
-          <var-decl name='srcu_cb_mutex' type-id='type-id-245' visibility='default' filepath='include/linux/srcutree.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2752'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='include/linux/srcutree.h' line='81' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2816'>
-          <var-decl name='srcu_gp_mutex' type-id='type-id-245' visibility='default' filepath='include/linux/srcutree.h' line='82' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3072'>
-          <var-decl name='srcu_idx' type-id='type-id-5' visibility='default' filepath='include/linux/srcutree.h' line='83' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3136'>
-          <var-decl name='srcu_gp_seq' type-id='type-id-16' visibility='default' filepath='include/linux/srcutree.h' line='84' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3200'>
-          <var-decl name='srcu_gp_seq_needed' type-id='type-id-16' visibility='default' filepath='include/linux/srcutree.h' line='85' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3264'>
-          <var-decl name='srcu_gp_seq_needed_exp' type-id='type-id-16' visibility='default' filepath='include/linux/srcutree.h' line='86' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3328'>
-          <var-decl name='srcu_last_gp_end' type-id='type-id-16' visibility='default' filepath='include/linux/srcutree.h' line='87' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3392'>
-          <var-decl name='sda' type-id='type-id-3780' visibility='default' filepath='include/linux/srcutree.h' line='88' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3456'>
-          <var-decl name='srcu_barrier_seq' type-id='type-id-16' visibility='default' filepath='include/linux/srcutree.h' line='89' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3520'>
-          <var-decl name='srcu_barrier_mutex' type-id='type-id-245' visibility='default' filepath='include/linux/srcutree.h' line='90' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3776'>
-          <var-decl name='srcu_barrier_completion' type-id='type-id-1608' visibility='default' filepath='include/linux/srcutree.h' line='91' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4032'>
-          <var-decl name='srcu_barrier_cpu_cnt' type-id='type-id-26' visibility='default' filepath='include/linux/srcutree.h' line='93' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4096'>
-          <var-decl name='work' type-id='type-id-411' visibility='default' filepath='include/linux/srcutree.h' line='96' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='srcu_node' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/linux/srcutree.h' line='60' column='1' id='type-id-3751'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='include/linux/srcutree.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='srcu_have_cbs' type-id='type-id-222' visibility='default' filepath='include/linux/srcutree.h' line='62' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='srcu_data_have_cbs' type-id='type-id-222' visibility='default' filepath='include/linux/srcutree.h' line='65' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='srcu_gp_seq_needed_exp' type-id='type-id-16' visibility='default' filepath='include/linux/srcutree.h' line='67' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='srcu_parent' type-id='type-id-3749' visibility='default' filepath='include/linux/srcutree.h' line='68' column='1'/>
+          <var-decl name='mr_qi' type-id='type-id-100' visibility='default' filepath='include/linux/inetdevice.h' line='40' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='grplo' type-id='type-id-17' visibility='default' filepath='include/linux/srcutree.h' line='69' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='736'>
-          <var-decl name='grphi' type-id='type-id-17' visibility='default' filepath='include/linux/srcutree.h' line='70' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='srcu_data' size-in-bits='2560' is-struct='yes' visibility='default' filepath='include/linux/srcutree.h' line='37' column='1' id='type-id-3781'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='srcu_lock_count' type-id='type-id-219' visibility='default' filepath='include/linux/srcutree.h' line='39' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='srcu_unlock_count' type-id='type-id-219' visibility='default' filepath='include/linux/srcutree.h' line='40' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='include/linux/srcutree.h' line='43' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='srcu_cblist' type-id='type-id-3782' visibility='default' filepath='include/linux/srcutree.h' line='44' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='srcu_gp_seq_needed' type-id='type-id-16' visibility='default' filepath='include/linux/srcutree.h' line='45' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='srcu_gp_seq_needed_exp' type-id='type-id-16' visibility='default' filepath='include/linux/srcutree.h' line='46' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='srcu_cblist_invoking' type-id='type-id-33' visibility='default' filepath='include/linux/srcutree.h' line='47' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='work' type-id='type-id-411' visibility='default' filepath='include/linux/srcutree.h' line='48' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='srcu_barrier_head' type-id='type-id-385' visibility='default' filepath='include/linux/srcutree.h' line='49' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2304'>
-          <var-decl name='mynode' type-id='type-id-3749' visibility='default' filepath='include/linux/srcutree.h' line='50' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='grpmask' type-id='type-id-16' visibility='default' filepath='include/linux/srcutree.h' line='51' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2432'>
-          <var-decl name='cpu' type-id='type-id-17' visibility='default' filepath='include/linux/srcutree.h' line='53' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2496'>
-          <var-decl name='sp' type-id='type-id-3783' visibility='default' filepath='include/linux/srcutree.h' line='54' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='rcu_segcblist' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/linux/rcu_segcblist.h' line='77' column='1' id='type-id-3782'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='head' type-id='type-id-91' visibility='default' filepath='include/linux/rcu_segcblist.h' line='78' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='tails' type-id='type-id-3747' visibility='default' filepath='include/linux/rcu_segcblist.h' line='79' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='gp_seq' type-id='type-id-222' visibility='default' filepath='include/linux/rcu_segcblist.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='len' type-id='type-id-192' visibility='default' filepath='include/linux/rcu_segcblist.h' line='81' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='len_lazy' type-id='type-id-192' visibility='default' filepath='include/linux/rcu_segcblist.h' line='82' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='blk_mq_queue_data' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/blk-mq.h' line='95' column='1' id='type-id-3784'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='rq' type-id='type-id-463' visibility='default' filepath='include/linux/blk-mq.h' line='96' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='last' type-id='type-id-33' visibility='default' filepath='include/linux/blk-mq.h' line='97' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='get_budget_fn' type-id='type-id-3785' filepath='include/linux/blk-mq.h' line='102' column='1' id='type-id-3786'/>
-      <typedef-decl name='put_budget_fn' type-id='type-id-3787' filepath='include/linux/blk-mq.h' line='103' column='1' id='type-id-3788'/>
-      <typedef-decl name='timeout_fn' type-id='type-id-3789' filepath='include/linux/blk-mq.h' line='104' column='1' id='type-id-3790'/>
-      <typedef-decl name='poll_fn' type-id='type-id-3791' filepath='include/linux/blk-mq.h' line='115' column='1' id='type-id-3792'/>
-      <typedef-decl name='init_hctx_fn' type-id='type-id-3793' filepath='include/linux/blk-mq.h' line='105' column='1' id='type-id-3794'/>
-      <typedef-decl name='exit_hctx_fn' type-id='type-id-3795' filepath='include/linux/blk-mq.h' line='106' column='1' id='type-id-3796'/>
-      <typedef-decl name='init_request_fn' type-id='type-id-3797' filepath='include/linux/blk-mq.h' line='107' column='1' id='type-id-3798'/>
-      <class-decl name='blk_mq_tag_set' size-in-bits='896' is-struct='yes' visibility='default' filepath='include/linux/blk-mq.h' line='77' column='1' id='type-id-3799'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mq_map' type-id='type-id-482' visibility='default' filepath='include/linux/blk-mq.h' line='78' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ops' type-id='type-id-481' visibility='default' filepath='include/linux/blk-mq.h' line='79' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='nr_hw_queues' type-id='type-id-5' visibility='default' filepath='include/linux/blk-mq.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='queue_depth' type-id='type-id-5' visibility='default' filepath='include/linux/blk-mq.h' line='81' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='reserved_tags' type-id='type-id-5' visibility='default' filepath='include/linux/blk-mq.h' line='82' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='cmd_size' type-id='type-id-5' visibility='default' filepath='include/linux/blk-mq.h' line='83' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='numa_node' type-id='type-id-17' visibility='default' filepath='include/linux/blk-mq.h' line='84' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='timeout' type-id='type-id-5' visibility='default' filepath='include/linux/blk-mq.h' line='85' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='include/linux/blk-mq.h' line='86' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='driver_data' type-id='type-id-15' visibility='default' filepath='include/linux/blk-mq.h' line='87' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='tags' type-id='type-id-3800' visibility='default' filepath='include/linux/blk-mq.h' line='89' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='tag_list_lock' type-id='type-id-245' visibility='default' filepath='include/linux/blk-mq.h' line='91' column='1'/>
+          <var-decl name='mr_qri' type-id='type-id-100' visibility='default' filepath='include/linux/inetdevice.h' line='41' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='tag_list' type-id='type-id-20' visibility='default' filepath='include/linux/blk-mq.h' line='92' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='exit_request_fn' type-id='type-id-3801' filepath='include/linux/blk-mq.h' line='109' column='1' id='type-id-3802'/>
-      <typedef-decl name='cleanup_rq_fn' type-id='type-id-590' filepath='include/linux/blk-mq.h' line='117' column='1' id='type-id-3803'/>
-      <typedef-decl name='map_queues_fn' type-id='type-id-3804' filepath='include/linux/blk-mq.h' line='116' column='1' id='type-id-3805'/>
-      <typedef-decl name='blk_mq_req_flags_t' type-id='type-id-511' filepath='include/linux/blk_types.h' line='266' column='1' id='type-id-3806'/>
-      <pointer-type-def type-id='type-id-3773' size-in-bits='64' id='type-id-3769'/>
-      <pointer-type-def type-id='type-id-483' size-in-bits='64' id='type-id-3771'/>
-      <pointer-type-def type-id='type-id-3767' size-in-bits='64' id='type-id-3745'/>
-      <pointer-type-def type-id='type-id-3745' size-in-bits='64' id='type-id-3807'/>
-      <pointer-type-def type-id='type-id-3799' size-in-bits='64' id='type-id-3744'/>
-      <pointer-type-def type-id='type-id-3776' size-in-bits='64' id='type-id-3772'/>
-      <pointer-type-def type-id='type-id-3772' size-in-bits='64' id='type-id-3800'/>
-      <pointer-type-def type-id='type-id-133' size-in-bits='64' id='type-id-3808'/>
-      <pointer-type-def type-id='type-id-91' size-in-bits='64' id='type-id-3746'/>
-      <pointer-type-def type-id='type-id-3803' size-in-bits='64' id='type-id-3809'/>
-      <qualified-type-def type-id='type-id-3784' const='yes' id='type-id-3810'/>
-      <pointer-type-def type-id='type-id-3810' size-in-bits='64' id='type-id-3811'/>
-      <qualified-type-def type-id='type-id-499' const='yes' id='type-id-3812'/>
-      <pointer-type-def type-id='type-id-3812' size-in-bits='64' id='type-id-3813'/>
-      <pointer-type-def type-id='type-id-3796' size-in-bits='64' id='type-id-3814'/>
-      <pointer-type-def type-id='type-id-3802' size-in-bits='64' id='type-id-3815'/>
-      <pointer-type-def type-id='type-id-3786' size-in-bits='64' id='type-id-3816'/>
-      <pointer-type-def type-id='type-id-3794' size-in-bits='64' id='type-id-3817'/>
-      <pointer-type-def type-id='type-id-3798' size-in-bits='64' id='type-id-3818'/>
-      <pointer-type-def type-id='type-id-3819' size-in-bits='64' id='type-id-3820'/>
-      <pointer-type-def type-id='type-id-3805' size-in-bits='64' id='type-id-3821'/>
-      <pointer-type-def type-id='type-id-3792' size-in-bits='64' id='type-id-3822'/>
-      <pointer-type-def type-id='type-id-3788' size-in-bits='64' id='type-id-3823'/>
-      <pointer-type-def type-id='type-id-3766' size-in-bits='64' id='type-id-3824'/>
-      <pointer-type-def type-id='type-id-3758' size-in-bits='64' id='type-id-3825'/>
-      <pointer-type-def type-id='type-id-3775' size-in-bits='64' id='type-id-3774'/>
-      <pointer-type-def type-id='type-id-3779' size-in-bits='64' id='type-id-3778'/>
-      <pointer-type-def type-id='type-id-3781' size-in-bits='64' id='type-id-3780'/>
-      <pointer-type-def type-id='type-id-3751' size-in-bits='64' id='type-id-3749'/>
-      <pointer-type-def type-id='type-id-3753' size-in-bits='64' id='type-id-3783'/>
-      <pointer-type-def type-id='type-id-3790' size-in-bits='64' id='type-id-3826'/>
-      <pointer-type-def type-id='type-id-3827' size-in-bits='64' id='type-id-3828'/>
-      <pointer-type-def type-id='type-id-3829' size-in-bits='64' id='type-id-3763'/>
-      <pointer-type-def type-id='type-id-3830' size-in-bits='64' id='type-id-3762'/>
-      <pointer-type-def type-id='type-id-3831' size-in-bits='64' id='type-id-3759'/>
-      <pointer-type-def type-id='type-id-3832' size-in-bits='64' id='type-id-3761'/>
-      <pointer-type-def type-id='type-id-3833' size-in-bits='64' id='type-id-3760'/>
-      <pointer-type-def type-id='type-id-3834' size-in-bits='64' id='type-id-3835'/>
-      <function-decl name='blk_queue_flag_set' mangled-name='blk_queue_flag_set' filepath='block/blk-core.c' line='81' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_queue_flag_set'>
-        <parameter type-id='type-id-5' name='flag' filepath='block/blk-core.c' line='81' column='1'/>
-        <parameter type-id='type-id-378' name='q' filepath='block/blk-core.c' line='81' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='blk_queue_flag_clear' mangled-name='blk_queue_flag_clear' filepath='block/blk-core.c' line='96' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_queue_flag_clear'>
-        <parameter type-id='type-id-5' name='flag' filepath='block/blk-core.c' line='96' column='1'/>
-        <parameter type-id='type-id-378' name='q' filepath='block/blk-core.c' line='96' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='blk_status_to_errno' mangled-name='blk_status_to_errno' filepath='block/blk-core.c' line='244' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_status_to_errno'>
-        <parameter type-id='type-id-361' name='status' filepath='block/blk-core.c' line='244' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='blk_put_queue' mangled-name='blk_put_queue' filepath='block/blk-core.c' line='540' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_put_queue'>
-        <parameter type-id='type-id-378' name='q' filepath='block/blk-core.c' line='540' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='blk_cleanup_queue' mangled-name='blk_cleanup_queue' filepath='block/blk-core.c' line='757' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_cleanup_queue'>
-        <parameter type-id='type-id-378' name='q' filepath='block/blk-core.c' line='757' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='blk_get_queue' mangled-name='blk_get_queue' filepath='block/blk-core.c' line='1207' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_get_queue'>
-        <parameter type-id='type-id-378' name='q' filepath='block/blk-core.c' line='1207' column='1'/>
-        <return type-id='type-id-33'/>
-      </function-decl>
-      <function-decl name='blk_get_request' mangled-name='blk_get_request' filepath='block/blk-core.c' line='1624' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_get_request'>
-        <parameter type-id='type-id-378' name='q' filepath='block/blk-core.c' line='1624' column='1'/>
-        <parameter type-id='type-id-5' name='op' filepath='block/blk-core.c' line='1624' column='1'/>
-        <parameter type-id='type-id-3806' name='flags' filepath='block/blk-core.c' line='1625' column='1'/>
-        <return type-id='type-id-463'/>
-      </function-decl>
-      <function-decl name='blk_put_request' mangled-name='blk_put_request' filepath='block/blk-core.c' line='1792' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_put_request'>
-        <parameter type-id='type-id-463' name='req' filepath='block/blk-core.c' line='1792' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='blk_update_request' mangled-name='blk_update_request' filepath='block/blk-core.c' line='3110' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_update_request'>
-        <parameter type-id='type-id-463' name='req' filepath='block/blk-core.c' line='3110' column='1'/>
-        <parameter type-id='type-id-361' name='error' filepath='block/blk-core.c' line='3110' column='1'/>
-        <parameter type-id='type-id-5' name='nr_bytes' filepath='block/blk-core.c' line='3111' column='1'/>
-        <return type-id='type-id-33'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-3789'>
-        <parameter type-id='type-id-463'/>
-        <parameter type-id='type-id-33'/>
-        <return type-id='type-id-634'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3791'>
-        <parameter type-id='type-id-3745'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3793'>
-        <parameter type-id='type-id-3745'/>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3804'>
-        <parameter type-id='type-id-3744'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3797'>
-        <parameter type-id='type-id-3744'/>
-        <parameter type-id='type-id-463'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3819'>
-        <parameter type-id='type-id-3813'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3765'>
-        <parameter type-id='type-id-3745'/>
-        <parameter type-id='type-id-3811'/>
-        <return type-id='type-id-361'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3785'>
-        <parameter type-id='type-id-3745'/>
-        <return type-id='type-id-33'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3787'>
-        <parameter type-id='type-id-3745'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3795'>
-        <parameter type-id='type-id-3745'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3801'>
-        <parameter type-id='type-id-3744'/>
-        <parameter type-id='type-id-463'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3827'>
-        <parameter type-id='type-id-490'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3829'>
-        <parameter type-id='type-id-467'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3830'>
-        <parameter type-id='type-id-467'/>
-        <parameter type-id='type-id-358'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3831'>
-        <parameter type-id='type-id-467'/>
-        <parameter type-id='type-id-358'/>
-        <parameter type-id='type-id-486'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3832'>
-        <parameter type-id='type-id-467'/>
-        <parameter type-id='type-id-463'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3833'>
-        <parameter type-id='type-id-467'/>
-        <parameter type-id='type-id-463'/>
-        <parameter type-id='type-id-358'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3834'>
-        <parameter type-id='type-id-88'/>
-        <parameter type-id='type-id-463'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='block/blk-settings.c' language='LANG_C89'>
-      <class-decl name='cgroup_subsys_state' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3836'/>
-      <pointer-type-def type-id='type-id-3836' size-in-bits='64' id='type-id-3837'/>
-      <function-decl name='blk_queue_rq_timeout' mangled-name='blk_queue_rq_timeout' filepath='block/blk-settings.c' line='63' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_queue_rq_timeout'>
-        <parameter type-id='type-id-378' name='q' filepath='block/blk-settings.c' line='63' column='1'/>
-        <parameter type-id='type-id-5' name='timeout' filepath='block/blk-settings.c' line='63' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='blk_queue_bounce_limit' mangled-name='blk_queue_bounce_limit' filepath='block/blk-settings.c' line='190' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_queue_bounce_limit'>
-        <parameter type-id='type-id-378' name='q' filepath='block/blk-settings.c' line='190' column='1'/>
-        <parameter type-id='type-id-40' name='max_addr' filepath='block/blk-settings.c' line='190' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='blk_queue_max_hw_sectors' mangled-name='blk_queue_max_hw_sectors' filepath='block/blk-settings.c' line='237' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_queue_max_hw_sectors'>
-        <parameter type-id='type-id-378' name='q' filepath='block/blk-settings.c' line='237' column='1'/>
-        <parameter type-id='type-id-5' name='max_hw_sectors' filepath='block/blk-settings.c' line='237' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='blk_queue_max_discard_sectors' mangled-name='blk_queue_max_discard_sectors' filepath='block/blk-settings.c' line='281' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_queue_max_discard_sectors'>
-        <parameter type-id='type-id-378' name='q' filepath='block/blk-settings.c' line='281' column='1'/>
-        <parameter type-id='type-id-5' name='max_discard_sectors' filepath='block/blk-settings.c' line='282' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='blk_queue_max_segments' mangled-name='blk_queue_max_segments' filepath='block/blk-settings.c' line='323' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_queue_max_segments'>
-        <parameter type-id='type-id-378' name='q' filepath='block/blk-settings.c' line='323' column='1'/>
-        <parameter type-id='type-id-312' name='max_segments' filepath='block/blk-settings.c' line='323' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='blk_queue_max_segment_size' mangled-name='blk_queue_max_segment_size' filepath='block/blk-settings.c' line='360' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_queue_max_segment_size'>
-        <parameter type-id='type-id-378' name='q' filepath='block/blk-settings.c' line='360' column='1'/>
-        <parameter type-id='type-id-5' name='max_size' filepath='block/blk-settings.c' line='360' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='blk_queue_logical_block_size' mangled-name='blk_queue_logical_block_size' filepath='block/blk-settings.c' line='382' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_queue_logical_block_size'>
-        <parameter type-id='type-id-378' name='q' filepath='block/blk-settings.c' line='382' column='1'/>
-        <parameter type-id='type-id-312' name='size' filepath='block/blk-settings.c' line='382' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='blk_queue_physical_block_size' mangled-name='blk_queue_physical_block_size' filepath='block/blk-settings.c' line='404' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_queue_physical_block_size'>
-        <parameter type-id='type-id-378' name='q' filepath='block/blk-settings.c' line='404' column='1'/>
-        <parameter type-id='type-id-5' name='size' filepath='block/blk-settings.c' line='404' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='blk_queue_alignment_offset' mangled-name='blk_queue_alignment_offset' filepath='block/blk-settings.c' line='427' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_queue_alignment_offset'>
-        <parameter type-id='type-id-378' name='q' filepath='block/blk-settings.c' line='427' column='1'/>
-        <parameter type-id='type-id-5' name='offset' filepath='block/blk-settings.c' line='427' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='blk_queue_io_min' mangled-name='blk_queue_io_min' filepath='block/blk-settings.c' line='472' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_queue_io_min'>
-        <parameter type-id='type-id-378' name='q' filepath='block/blk-settings.c' line='472' column='1'/>
-        <parameter type-id='type-id-5' name='min' filepath='block/blk-settings.c' line='472' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='blk_queue_io_opt' mangled-name='blk_queue_io_opt' filepath='block/blk-settings.c' line='510' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_queue_io_opt'>
-        <parameter type-id='type-id-378' name='q' filepath='block/blk-settings.c' line='510' column='1'/>
-        <parameter type-id='type-id-5' name='opt' filepath='block/blk-settings.c' line='510' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='blk_queue_write_cache' mangled-name='blk_queue_write_cache' filepath='block/blk-settings.c' line='890' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_queue_write_cache'>
-        <parameter type-id='type-id-378' name='q' filepath='block/blk-settings.c' line='890' column='1'/>
-        <parameter type-id='type-id-33' name='wc' filepath='block/blk-settings.c' line='890' column='1'/>
-        <parameter type-id='type-id-33' name='fua' filepath='block/blk-settings.c' line='890' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='block/blk-map.c' language='LANG_C89'>
-      <union-decl name='__anonymous_union__' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/blkdev.h' line='178' column='1' id='type-id-3838'>
-        <data-member access='private'>
-          <var-decl name='hash' type-id='type-id-520' visibility='default' filepath='include/linux/blkdev.h' line='179' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='ipi_list' type-id='type-id-20' visibility='default' filepath='include/linux/blkdev.h' line='180' column='1'/>
-        </data-member>
-      </union-decl>
-      <function-decl name='blk_rq_map_kern' mangled-name='blk_rq_map_kern' filepath='block/blk-map.c' line='215' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_rq_map_kern'>
-        <parameter type-id='type-id-378' name='q' filepath='block/blk-map.c' line='215' column='1'/>
-        <parameter type-id='type-id-463' name='rq' filepath='block/blk-map.c' line='215' column='1'/>
-        <parameter type-id='type-id-15' name='kbuf' filepath='block/blk-map.c' line='215' column='1'/>
-        <parameter type-id='type-id-5' name='len' filepath='block/blk-map.c' line='216' column='1'/>
-        <parameter type-id='type-id-485' name='gfp_mask' filepath='block/blk-map.c' line='216' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='block/blk-exec.c' language='LANG_C89'>
-      <function-decl name='blk_execute_rq' mangled-name='blk_execute_rq' filepath='block/blk-exec.c' line='94' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_execute_rq'>
-        <parameter type-id='type-id-378' name='q' filepath='block/blk-exec.c' line='94' column='1'/>
-        <parameter type-id='type-id-360' name='bd_disk' filepath='block/blk-exec.c' line='94' column='1'/>
-        <parameter type-id='type-id-463' name='rq' filepath='block/blk-exec.c' line='95' column='1'/>
-        <parameter type-id='type-id-17' name='at_head' filepath='block/blk-exec.c' line='95' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='block/blk-merge.c' language='LANG_C89'>
-      <function-decl name='blk_rq_map_sg' mangled-name='blk_rq_map_sg' filepath='block/blk-merge.c' line='437' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_rq_map_sg'>
-        <parameter type-id='type-id-378' name='q' filepath='block/blk-merge.c' line='437' column='1'/>
-        <parameter type-id='type-id-463' name='rq' filepath='block/blk-merge.c' line='437' column='1'/>
-        <parameter type-id='type-id-920' name='sglist' filepath='block/blk-merge.c' line='438' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='block/genhd.c' language='LANG_C89'>
-      <function-decl name='__alloc_disk_node' mangled-name='__alloc_disk_node' filepath='block/genhd.c' line='1435' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__alloc_disk_node'>
-        <parameter type-id='type-id-17' name='minors' filepath='block/genhd.c' line='1435' column='1'/>
-        <parameter type-id='type-id-17' name='node_id' filepath='block/genhd.c' line='1435' column='1'/>
-        <return type-id='type-id-360'/>
-      </function-decl>
-      <function-decl name='register_blkdev' mangled-name='register_blkdev' filepath='block/genhd.c' line='340' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='register_blkdev'>
-        <parameter type-id='type-id-5' name='major' filepath='block/genhd.c' line='340' column='1'/>
-        <parameter type-id='type-id-4' name='name' filepath='block/genhd.c' line='340' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='unregister_blkdev' mangled-name='unregister_blkdev' filepath='block/genhd.c' line='404' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unregister_blkdev'>
-        <parameter type-id='type-id-5' name='major' filepath='block/genhd.c' line='404' column='1'/>
-        <parameter type-id='type-id-4' name='name' filepath='block/genhd.c' line='404' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='device_add_disk' mangled-name='device_add_disk' filepath='block/genhd.c' line='727' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_add_disk'>
-        <parameter type-id='type-id-240' name='parent' filepath='block/genhd.c' line='727' column='1'/>
-        <parameter type-id='type-id-360' name='disk' filepath='block/genhd.c' line='727' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='del_gendisk' mangled-name='del_gendisk' filepath='block/genhd.c' line='739' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='del_gendisk'>
-        <parameter type-id='type-id-360' name='disk' filepath='block/genhd.c' line='739' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='put_disk' mangled-name='put_disk' filepath='block/genhd.c' line='1509' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='put_disk'>
-        <parameter type-id='type-id-360' name='disk' filepath='block/genhd.c' line='1509' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='set_disk_ro' mangled-name='set_disk_ro' filepath='block/genhd.c' line='1548' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='set_disk_ro'>
-        <parameter type-id='type-id-360' name='disk' filepath='block/genhd.c' line='1548' column='1'/>
-        <parameter type-id='type-id-17' name='flag' filepath='block/genhd.c' line='1548' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='block/blk-mq-virtio.c' language='LANG_C89'>
-      <array-type-def dimensions='1' type-id='type-id-3839' size-in-bits='infinite' id='type-id-3840'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <class-decl name='irq_affinity' size-in-bits='64' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3841'/>
-      <array-type-def dimensions='1' type-id='type-id-3842' size-in-bits='infinite' id='type-id-3843'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <class-decl name='virtio_device' size-in-bits='6784' is-struct='yes' visibility='default' filepath='include/linux/virtio.h' line='125' column='1' id='type-id-3844'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='index' type-id='type-id-17' visibility='default' filepath='include/linux/virtio.h' line='126' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='failed' type-id='type-id-33' visibility='default' filepath='include/linux/virtio.h' line='127' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='40'>
-          <var-decl name='config_enabled' type-id='type-id-33' visibility='default' filepath='include/linux/virtio.h' line='128' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='config_change_pending' type-id='type-id-33' visibility='default' filepath='include/linux/virtio.h' line='129' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='config_lock' type-id='type-id-247' visibility='default' filepath='include/linux/virtio.h' line='130' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='dev' type-id='type-id-388' visibility='default' filepath='include/linux/virtio.h' line='131' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6336'>
-          <var-decl name='id' type-id='type-id-3845' visibility='default' filepath='include/linux/virtio.h' line='132' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6400'>
-          <var-decl name='config' type-id='type-id-3846' visibility='default' filepath='include/linux/virtio.h' line='133' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6464'>
-          <var-decl name='vringh_config' type-id='type-id-3847' visibility='default' filepath='include/linux/virtio.h' line='134' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6528'>
-          <var-decl name='vqs' type-id='type-id-20' visibility='default' filepath='include/linux/virtio.h' line='135' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6656'>
-          <var-decl name='features' type-id='type-id-40' visibility='default' filepath='include/linux/virtio.h' line='136' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6720'>
-          <var-decl name='priv' type-id='type-id-15' visibility='default' filepath='include/linux/virtio.h' line='137' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='virtio_device_id' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/mod_devicetable.h' line='408' column='1' id='type-id-3845'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='device' type-id='type-id-511' visibility='default' filepath='include/linux/mod_devicetable.h' line='409' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='vendor' type-id='type-id-511' visibility='default' filepath='include/linux/mod_devicetable.h' line='410' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='virtio_config_ops' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/linux/virtio_config.h' line='65' column='1' id='type-id-3848'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='get' type-id='type-id-3849' visibility='default' filepath='include/linux/virtio_config.h' line='66' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='set' type-id='type-id-3849' visibility='default' filepath='include/linux/virtio_config.h' line='68' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='generation' type-id='type-id-3850' visibility='default' filepath='include/linux/virtio_config.h' line='70' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='get_status' type-id='type-id-3851' visibility='default' filepath='include/linux/virtio_config.h' line='71' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='set_status' type-id='type-id-3852' visibility='default' filepath='include/linux/virtio_config.h' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='reset' type-id='type-id-3853' visibility='default' filepath='include/linux/virtio_config.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='find_vqs' type-id='type-id-3854' visibility='default' filepath='include/linux/virtio_config.h' line='74' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='del_vqs' type-id='type-id-3853' visibility='default' filepath='include/linux/virtio_config.h' line='78' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='get_features' type-id='type-id-3855' visibility='default' filepath='include/linux/virtio_config.h' line='79' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='finalize_features' type-id='type-id-3856' visibility='default' filepath='include/linux/virtio_config.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='bus_name' type-id='type-id-3857' visibility='default' filepath='include/linux/virtio_config.h' line='81' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='set_vq_affinity' type-id='type-id-3858' visibility='default' filepath='include/linux/virtio_config.h' line='82' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='get_vq_affinity' type-id='type-id-3859' visibility='default' filepath='include/linux/virtio_config.h' line='84' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='virtqueue' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/virtio.h' line='28' column='1' id='type-id-3860'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/virtio.h' line='29' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='callback' type-id='type-id-3861' visibility='default' filepath='include/linux/virtio.h' line='30' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/virtio.h' line='31' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='vdev' type-id='type-id-3862' visibility='default' filepath='include/linux/virtio.h' line='32' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='index' type-id='type-id-5' visibility='default' filepath='include/linux/virtio.h' line='33' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='num_free' type-id='type-id-5' visibility='default' filepath='include/linux/virtio.h' line='34' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='priv' type-id='type-id-15' visibility='default' filepath='include/linux/virtio.h' line='35' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='vq_callback_t' type-id='type-id-3863' filepath='include/linux/virtio_config.h' line='64' column='1' id='type-id-3864'/>
-      <class-decl name='vringh_config_ops' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/vringh.h' line='72' column='1' id='type-id-3865'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='find_vrhs' type-id='type-id-3866' visibility='default' filepath='include/linux/vringh.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='del_vrhs' type-id='type-id-3853' visibility='default' filepath='include/linux/vringh.h' line='75' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='vringh' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/vringh.h' line='33' column='1' id='type-id-3867'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='little_endian' type-id='type-id-33' visibility='default' filepath='include/linux/vringh.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='event_indices' type-id='type-id-33' visibility='default' filepath='include/linux/vringh.h' line='38' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='weak_barriers' type-id='type-id-33' visibility='default' filepath='include/linux/vringh.h' line='41' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='last_avail_idx' type-id='type-id-688' visibility='default' filepath='include/linux/vringh.h' line='44' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='last_used_idx' type-id='type-id-688' visibility='default' filepath='include/linux/vringh.h' line='47' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='completed' type-id='type-id-7' visibility='default' filepath='include/linux/vringh.h' line='50' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='vring' type-id='type-id-3868' visibility='default' filepath='include/linux/vringh.h' line='53' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='notify' type-id='type-id-3869' visibility='default' filepath='include/linux/vringh.h' line='56' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='vring' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/uapi/linux/virtio_ring.h' line='97' column='1' id='type-id-3868'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='num' type-id='type-id-5' visibility='default' filepath='include/uapi/linux/virtio_ring.h' line='98' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='desc' type-id='type-id-3870' visibility='default' filepath='include/uapi/linux/virtio_ring.h' line='100' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='avail' type-id='type-id-3871' visibility='default' filepath='include/uapi/linux/virtio_ring.h' line='102' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='used' type-id='type-id-3872' visibility='default' filepath='include/uapi/linux/virtio_ring.h' line='104' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='vring_desc' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/virtio_ring.h' line='66' column='1' id='type-id-3873'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='addr' type-id='type-id-3874' visibility='default' filepath='include/uapi/linux/virtio_ring.h' line='68' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='len' type-id='type-id-3875' visibility='default' filepath='include/uapi/linux/virtio_ring.h' line='70' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='flags' type-id='type-id-3839' visibility='default' filepath='include/uapi/linux/virtio_ring.h' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='112'>
-          <var-decl name='next' type-id='type-id-3839' visibility='default' filepath='include/uapi/linux/virtio_ring.h' line='74' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='__virtio64' type-id='type-id-100' filepath='include/uapi/linux/virtio_types.h' line='44' column='1' id='type-id-3874'/>
-      <typedef-decl name='__virtio32' type-id='type-id-511' filepath='include/uapi/linux/virtio_types.h' line='43' column='1' id='type-id-3875'/>
-      <typedef-decl name='__virtio16' type-id='type-id-108' filepath='include/uapi/linux/virtio_types.h' line='42' column='1' id='type-id-3839'/>
-      <class-decl name='vring_avail' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/uapi/linux/virtio_ring.h' line='77' column='1' id='type-id-3876'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='flags' type-id='type-id-3839' visibility='default' filepath='include/uapi/linux/virtio_ring.h' line='78' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='idx' type-id='type-id-3839' visibility='default' filepath='include/uapi/linux/virtio_ring.h' line='79' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='ring' type-id='type-id-3840' visibility='default' filepath='include/uapi/linux/virtio_ring.h' line='80' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='vring_used' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/uapi/linux/virtio_ring.h' line='91' column='1' id='type-id-3877'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='flags' type-id='type-id-3839' visibility='default' filepath='include/uapi/linux/virtio_ring.h' line='92' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='idx' type-id='type-id-3839' visibility='default' filepath='include/uapi/linux/virtio_ring.h' line='93' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='ring' type-id='type-id-3843' visibility='default' filepath='include/uapi/linux/virtio_ring.h' line='94' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='vring_used_elem' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/linux/virtio_ring.h' line='84' column='1' id='type-id-3842'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='id' type-id='type-id-3875' visibility='default' filepath='include/uapi/linux/virtio_ring.h' line='86' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='len' type-id='type-id-3875' visibility='default' filepath='include/uapi/linux/virtio_ring.h' line='88' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='vrh_callback_t' type-id='type-id-3878' filepath='include/linux/vringh.h' line='71' column='1' id='type-id-3879'/>
-      <qualified-type-def type-id='type-id-33' const='yes' id='type-id-3880'/>
-      <pointer-type-def type-id='type-id-3880' size-in-bits='64' id='type-id-3881'/>
-      <pointer-type-def type-id='type-id-3882' size-in-bits='64' id='type-id-3857'/>
-      <qualified-type-def type-id='type-id-4' const='yes' id='type-id-3883'/>
-      <pointer-type-def type-id='type-id-3883' size-in-bits='64' id='type-id-92'/>
-      <pointer-type-def type-id='type-id-3884' size-in-bits='64' id='type-id-3859'/>
-      <qualified-type-def type-id='type-id-3848' const='yes' id='type-id-3885'/>
-      <pointer-type-def type-id='type-id-3885' size-in-bits='64' id='type-id-3846'/>
-      <qualified-type-def type-id='type-id-3865' const='yes' id='type-id-3886'/>
-      <pointer-type-def type-id='type-id-3886' size-in-bits='64' id='type-id-3847'/>
-      <pointer-type-def type-id='type-id-3887' size-in-bits='64' id='type-id-3856'/>
-      <pointer-type-def type-id='type-id-3888' size-in-bits='64' id='type-id-3854'/>
-      <pointer-type-def type-id='type-id-3889' size-in-bits='64' id='type-id-3866'/>
-      <pointer-type-def type-id='type-id-3890' size-in-bits='64' id='type-id-3858'/>
-      <pointer-type-def type-id='type-id-3841' size-in-bits='64' id='type-id-3891'/>
-      <pointer-type-def type-id='type-id-3892' size-in-bits='64' id='type-id-3850'/>
-      <pointer-type-def type-id='type-id-3893' size-in-bits='64' id='type-id-3855'/>
-      <pointer-type-def type-id='type-id-3894' size-in-bits='64' id='type-id-3851'/>
-      <pointer-type-def type-id='type-id-3844' size-in-bits='64' id='type-id-3862'/>
-      <pointer-type-def type-id='type-id-3860' size-in-bits='64' id='type-id-3895'/>
-      <pointer-type-def type-id='type-id-3895' size-in-bits='64' id='type-id-3896'/>
-      <pointer-type-def type-id='type-id-3897' size-in-bits='64' id='type-id-3853'/>
-      <pointer-type-def type-id='type-id-3898' size-in-bits='64' id='type-id-3852'/>
-      <pointer-type-def type-id='type-id-3899' size-in-bits='64' id='type-id-3849'/>
-      <pointer-type-def type-id='type-id-3863' size-in-bits='64' id='type-id-3861'/>
-      <pointer-type-def type-id='type-id-3900' size-in-bits='64' id='type-id-3869'/>
-      <pointer-type-def type-id='type-id-3864' size-in-bits='64' id='type-id-3901'/>
-      <pointer-type-def type-id='type-id-3901' size-in-bits='64' id='type-id-3902'/>
-      <pointer-type-def type-id='type-id-3879' size-in-bits='64' id='type-id-3903'/>
-      <pointer-type-def type-id='type-id-3903' size-in-bits='64' id='type-id-3904'/>
-      <pointer-type-def type-id='type-id-3876' size-in-bits='64' id='type-id-3871'/>
-      <pointer-type-def type-id='type-id-3873' size-in-bits='64' id='type-id-3870'/>
-      <pointer-type-def type-id='type-id-3877' size-in-bits='64' id='type-id-3872'/>
-      <pointer-type-def type-id='type-id-3867' size-in-bits='64' id='type-id-3905'/>
-      <pointer-type-def type-id='type-id-3905' size-in-bits='64' id='type-id-3906'/>
-      <function-decl name='blk_mq_virtio_map_queues' mangled-name='blk_mq_virtio_map_queues' filepath='block/blk-mq-virtio.c' line='32' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='blk_mq_virtio_map_queues'>
-        <parameter type-id='type-id-3744' name='set' filepath='block/blk-mq-virtio.c' line='32' column='1'/>
-        <parameter type-id='type-id-3862' name='vdev' filepath='block/blk-mq-virtio.c' line='33' column='1'/>
-        <parameter type-id='type-id-17' name='first_vec' filepath='block/blk-mq-virtio.c' line='33' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-3882'>
-        <parameter type-id='type-id-3862'/>
-        <return type-id='type-id-4'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3884'>
-        <parameter type-id='type-id-3862'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-3386'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3887'>
-        <parameter type-id='type-id-3862'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3888'>
-        <parameter type-id='type-id-3862'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-3896'/>
-        <parameter type-id='type-id-3902'/>
-        <parameter type-id='type-id-92'/>
-        <parameter type-id='type-id-3881'/>
-        <parameter type-id='type-id-3891'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3889'>
-        <parameter type-id='type-id-3862'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-3906'/>
-        <parameter type-id='type-id-3904'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3890'>
-        <parameter type-id='type-id-3895'/>
-        <parameter type-id='type-id-3386'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3892'>
-        <parameter type-id='type-id-3862'/>
-        <return type-id='type-id-7'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3893'>
-        <parameter type-id='type-id-3862'/>
-        <return type-id='type-id-40'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3894'>
-        <parameter type-id='type-id-3862'/>
-        <return type-id='type-id-214'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3897'>
-        <parameter type-id='type-id-3862'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3898'>
-        <parameter type-id='type-id-3862'/>
-        <parameter type-id='type-id-214'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3899'>
-        <parameter type-id='type-id-3862'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3878'>
-        <parameter type-id='type-id-3862'/>
-        <parameter type-id='type-id-3905'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3863'>
-        <parameter type-id='type-id-3895'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3900'>
-        <parameter type-id='type-id-3905'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='arch/arm64/lib/atomic_ll_sc.c' language='LANG_C89'>
-      <pointer-type-def type-id='type-id-113' size-in-bits='64' id='type-id-3907'/>
-      <pointer-type-def type-id='type-id-26' size-in-bits='64' id='type-id-3908'/>
-      <function-decl name='__ll_sc_atomic_add' mangled-name='__ll_sc_atomic_add' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='113' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__ll_sc_atomic_add'>
-        <parameter type-id='type-id-17' name='i' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='113' column='1'/>
-        <parameter type-id='type-id-3908' name='v' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='113' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='__ll_sc_atomic_add_return' mangled-name='__ll_sc_atomic_add_return' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='113' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__ll_sc_atomic_add_return'>
-        <parameter type-id='type-id-17' name='i' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='113' column='1'/>
-        <parameter type-id='type-id-3908' name='v' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='113' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='__ll_sc_atomic_sub' mangled-name='__ll_sc_atomic_sub' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__ll_sc_atomic_sub'>
-        <parameter type-id='type-id-17' name='i' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='114' column='1'/>
-        <parameter type-id='type-id-3908' name='v' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='114' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='__ll_sc_atomic_sub_return' mangled-name='__ll_sc_atomic_sub_return' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='114' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__ll_sc_atomic_sub_return'>
-        <parameter type-id='type-id-17' name='i' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='114' column='1'/>
-        <parameter type-id='type-id-3908' name='v' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='114' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='__ll_sc_atomic64_add' mangled-name='__ll_sc_atomic64_add' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='207' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__ll_sc_atomic64_add'>
-        <parameter type-id='type-id-192' name='i' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='207' column='1'/>
-        <parameter type-id='type-id-3907' name='v' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='207' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='__ll_sc_atomic64_add_return_relaxed' mangled-name='__ll_sc_atomic64_add_return_relaxed' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='207' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__ll_sc_atomic64_add_return_relaxed'>
-        <parameter type-id='type-id-192' name='i' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='207' column='1'/>
-        <parameter type-id='type-id-3907' name='v' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='207' column='1'/>
-        <return type-id='type-id-192'/>
-      </function-decl>
-      <function-decl name='__ll_sc_atomic64_andnot' mangled-name='__ll_sc_atomic64_andnot' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='219' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__ll_sc_atomic64_andnot'>
-        <parameter type-id='type-id-192' name='i' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='219' column='1'/>
-        <parameter type-id='type-id-3907' name='v' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='219' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='__ll_sc_atomic64_or' mangled-name='__ll_sc_atomic64_or' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__ll_sc_atomic64_or'>
-        <parameter type-id='type-id-192' name='i' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='220' column='1'/>
-        <parameter type-id='type-id-3907' name='v' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='220' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='__ll_sc_atomic64_fetch_or' mangled-name='__ll_sc_atomic64_fetch_or' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='220' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__ll_sc_atomic64_fetch_or'>
-        <parameter type-id='type-id-192' name='i' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='220' column='1'/>
-        <parameter type-id='type-id-3907' name='v' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='220' column='1'/>
-        <return type-id='type-id-192'/>
-      </function-decl>
-      <function-decl name='__ll_sc___cmpxchg_case_mb_4' mangled-name='__ll_sc___cmpxchg_case_mb_4' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='291' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__ll_sc___cmpxchg_case_mb_4'>
-        <parameter type-id='type-id-104' name='ptr' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='291' column='1'/>
-        <parameter type-id='type-id-16' name='old' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='291' column='1'/>
-        <parameter type-id='type-id-16' name='new' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='291' column='1'/>
-        <return type-id='type-id-16'/>
-      </function-decl>
-      <function-decl name='__ll_sc___cmpxchg_case_mb_8' mangled-name='__ll_sc___cmpxchg_case_mb_8' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='292' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__ll_sc___cmpxchg_case_mb_8'>
-        <parameter type-id='type-id-104' name='ptr' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='292' column='1'/>
-        <parameter type-id='type-id-16' name='old' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='292' column='1'/>
-        <parameter type-id='type-id-16' name='new' filepath='arch/arm64/include/asm/atomic_ll_sc.h' line='292' column='1'/>
-        <return type-id='type-id-16'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='lib/random32.c' language='LANG_C89'>
-      <function-decl name='prandom_u32' mangled-name='prandom_u32' filepath='lib/random32.c' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='prandom_u32'>
-        <return type-id='type-id-7'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='lib/iov_iter.c' language='LANG_C89'>
-      <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/uio.h' line='35' column='1' id='type-id-3909'>
-        <data-member access='private'>
-          <var-decl name='iov' type-id='type-id-2117' visibility='default' filepath='include/linux/uio.h' line='36' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='kvec' type-id='type-id-2118' visibility='default' filepath='include/linux/uio.h' line='37' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='bvec' type-id='type-id-3910' visibility='default' filepath='include/linux/uio.h' line='38' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='pipe' type-id='type-id-87' visibility='default' filepath='include/linux/uio.h' line='39' column='1'/>
-        </data-member>
-      </union-decl>
-      <qualified-type-def type-id='type-id-131' const='yes' id='type-id-3911'/>
-      <pointer-type-def type-id='type-id-3911' size-in-bits='64' id='type-id-3910'/>
-      <function-decl name='_copy_to_iter' mangled-name='_copy_to_iter' filepath='lib/iov_iter.c' line='558' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_copy_to_iter'>
-        <parameter type-id='type-id-15' name='addr' filepath='lib/iov_iter.c' line='558' column='1'/>
-        <parameter type-id='type-id-84' name='bytes' filepath='lib/iov_iter.c' line='558' column='1'/>
-        <parameter type-id='type-id-3008' name='i' filepath='lib/iov_iter.c' line='558' column='1'/>
-        <return type-id='type-id-84'/>
-      </function-decl>
-      <function-decl name='_copy_from_iter_full' mangled-name='_copy_from_iter_full' filepath='lib/iov_iter.c' line='712' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_copy_from_iter_full'>
-        <parameter type-id='type-id-15' name='addr' filepath='lib/iov_iter.c' line='712' column='1'/>
-        <parameter type-id='type-id-84' name='bytes' filepath='lib/iov_iter.c' line='712' column='1'/>
-        <parameter type-id='type-id-3008' name='i' filepath='lib/iov_iter.c' line='712' column='1'/>
-        <return type-id='type-id-33'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='lib/refcount.c' language='LANG_C89'>
-      <pointer-type-def type-id='type-id-421' size-in-bits='64' id='type-id-3912'/>
-      <function-decl name='refcount_inc_not_zero_checked' mangled-name='refcount_inc_not_zero_checked' filepath='lib/refcount.c' line='118' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='refcount_inc_not_zero_checked'>
-        <parameter type-id='type-id-3912' name='r' filepath='lib/refcount.c' line='118' column='1'/>
-        <return type-id='type-id-33'/>
-      </function-decl>
-      <function-decl name='refcount_inc_checked' mangled-name='refcount_inc_checked' filepath='lib/refcount.c' line='151' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='refcount_inc_checked'>
-        <parameter type-id='type-id-3912' name='r' filepath='lib/refcount.c' line='151' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='refcount_dec_and_test_checked' mangled-name='refcount_dec_and_test_checked' filepath='lib/refcount.c' line='210' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='refcount_dec_and_test_checked'>
-        <parameter type-id='type-id-3912' name='r' filepath='lib/refcount.c' line='210' column='1'/>
-        <return type-id='type-id-33'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='lib/string_helpers.c' language='LANG_C89'>
-      <enum-decl name='string_size_units' filepath='include/linux/string_helpers.h' line='12' column='1' id='type-id-3913'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='STRING_UNITS_10' value='0'/>
-        <enumerator name='STRING_UNITS_2' value='1'/>
-      </enum-decl>
-      <qualified-type-def type-id='type-id-3913' const='yes' id='type-id-3914'/>
-      <function-decl name='string_get_size' mangled-name='string_get_size' filepath='lib/string_helpers.c' line='33' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='string_get_size'>
-        <parameter type-id='type-id-40' name='size' filepath='lib/string_helpers.c' line='33' column='1'/>
-        <parameter type-id='type-id-40' name='blk_size' filepath='lib/string_helpers.c' line='33' column='1'/>
-        <parameter type-id='type-id-3914' name='units' filepath='lib/string_helpers.c' line='33' column='1'/>
-        <parameter type-id='type-id-2' name='buf' filepath='lib/string_helpers.c' line='34' column='1'/>
-        <parameter type-id='type-id-17' name='len' filepath='lib/string_helpers.c' line='34' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='lib/kstrtox.c' language='LANG_C89'>
-      <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-3915'/>
-      <function-decl name='kstrtoull' mangled-name='kstrtoull' filepath='lib/kstrtox.c' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kstrtoull'>
-        <parameter type-id='type-id-4' name='s' filepath='lib/kstrtox.c' line='121' column='1'/>
-        <parameter type-id='type-id-5' name='base' filepath='lib/kstrtox.c' line='121' column='1'/>
-        <parameter type-id='type-id-3915' name='res' filepath='lib/kstrtox.c' line='121' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='lib/pci_iomap.c' language='LANG_C89'>
-      <array-type-def dimensions='1' type-id='type-id-2610' size-in-bits='704' id='type-id-3916'>
-        <subrange length='11' type-id='type-id-9' id='type-id-183'/>
-
-      </array-type-def>
-      <class-decl name='hotplug_slot' size-in-bits='384' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3917'/>
-      <class-decl name='msi_controller' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3918'/>
-      <class-decl name='pci_vpd' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3919'/>
-      <array-type-def dimensions='1' type-id='type-id-2156' size-in-bits='256' id='type-id-3920'>
-        <subrange length='4' type-id='type-id-9' id='type-id-107'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-2146' size-in-bits='5632' id='type-id-3921'>
-        <subrange length='11' type-id='type-id-9' id='type-id-183'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='512' id='type-id-3922'>
-        <subrange length='16' type-id='type-id-9' id='type-id-135'/>
-
-      </array-type-def>
-      <class-decl name='pci_dev' size-in-bits='15744' is-struct='yes' visibility='default' filepath='include/linux/pci.h' line='286' column='1' id='type-id-3923'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bus_list' type-id='type-id-20' visibility='default' filepath='include/linux/pci.h' line='287' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='bus' type-id='type-id-3924' visibility='default' filepath='include/linux/pci.h' line='288' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='subordinate' type-id='type-id-3924' visibility='default' filepath='include/linux/pci.h' line='289' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='sysdata' type-id='type-id-15' visibility='default' filepath='include/linux/pci.h' line='291' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='procent' type-id='type-id-262' visibility='default' filepath='include/linux/pci.h' line='292' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='slot' type-id='type-id-3925' visibility='default' filepath='include/linux/pci.h' line='293' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='devfn' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='295' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='vendor' type-id='type-id-312' visibility='default' filepath='include/linux/pci.h' line='296' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='496'>
-          <var-decl name='device' type-id='type-id-312' visibility='default' filepath='include/linux/pci.h' line='297' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='subsystem_vendor' type-id='type-id-312' visibility='default' filepath='include/linux/pci.h' line='298' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='528'>
-          <var-decl name='subsystem_device' type-id='type-id-312' visibility='default' filepath='include/linux/pci.h' line='299' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='class' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='300' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='revision' type-id='type-id-214' visibility='default' filepath='include/linux/pci.h' line='301' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='584'>
-          <var-decl name='hdr_type' type-id='type-id-214' visibility='default' filepath='include/linux/pci.h' line='302' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='592'>
-          <var-decl name='pcie_cap' type-id='type-id-214' visibility='default' filepath='include/linux/pci.h' line='307' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='600'>
-          <var-decl name='msi_cap' type-id='type-id-214' visibility='default' filepath='include/linux/pci.h' line='308' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='msix_cap' type-id='type-id-214' visibility='default' filepath='include/linux/pci.h' line='309' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5'>
-          <var-decl name='pcie_mpss' type-id='type-id-214' visibility='default' filepath='include/linux/pci.h' line='310' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='624'>
-          <var-decl name='rom_base_reg' type-id='type-id-214' visibility='default' filepath='include/linux/pci.h' line='311' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='632'>
-          <var-decl name='pin' type-id='type-id-214' visibility='default' filepath='include/linux/pci.h' line='312' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='pcie_flags_reg' type-id='type-id-688' visibility='default' filepath='include/linux/pci.h' line='313' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='dma_alias_mask' type-id='type-id-45' visibility='default' filepath='include/linux/pci.h' line='314' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='driver' type-id='type-id-3926' visibility='default' filepath='include/linux/pci.h' line='316' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='dma_mask' type-id='type-id-40' visibility='default' filepath='include/linux/pci.h' line='317' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='dma_parms' type-id='type-id-2161' visibility='default' filepath='include/linux/pci.h' line='323' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='current_state' type-id='type-id-3927' visibility='default' filepath='include/linux/pci.h' line='325' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1056'>
-          <var-decl name='pm_cap' type-id='type-id-214' visibility='default' filepath='include/linux/pci.h' line='328' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='19'>
-          <var-decl name='pme_support' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='329' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='18'>
-          <var-decl name='pme_poll' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='331' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='17'>
-          <var-decl name='d1_support' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='332' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='d2_support' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='333' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='15'>
-          <var-decl name='no_d1d2' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='334' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='14'>
-          <var-decl name='no_d3cold' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='335' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='13'>
-          <var-decl name='bridge_d3' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='336' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='12'>
-          <var-decl name='d3cold_allowed' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='337' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='11'>
-          <var-decl name='mmio_always_on' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='338' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10'>
-          <var-decl name='wakeup_prepared' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='340' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9'>
-          <var-decl name='runtime_d3cold' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='341' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='ignore_hotplug' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='345' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7'>
-          <var-decl name='hotplug_user_indicators' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='346' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6'>
-          <var-decl name='clear_retrain_link' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='349' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='d3_delay' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='351' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1120'>
-          <var-decl name='d3cold_delay' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='352' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='31'>
-          <var-decl name='eetlp_prefix_path' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='359' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1184'>
-          <var-decl name='error_state' type-id='type-id-3928' visibility='default' filepath='include/linux/pci.h' line='361' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='dev' type-id='type-id-388' visibility='default' filepath='include/linux/pci.h' line='362' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7424'>
-          <var-decl name='cfg_size' type-id='type-id-17' visibility='default' filepath='include/linux/pci.h' line='364' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7456'>
-          <var-decl name='irq' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='370' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7488'>
-          <var-decl name='resource' type-id='type-id-3921' visibility='default' filepath='include/linux/pci.h' line='371' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='13120'>
-          <var-decl name='match_driver' type-id='type-id-33' visibility='default' filepath='include/linux/pci.h' line='373' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='23'>
-          <var-decl name='transparent' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='375' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='22'>
-          <var-decl name='multifunction' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='376' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='21'>
-          <var-decl name='is_busmaster' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='378' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='20'>
-          <var-decl name='no_msi' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='379' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='19'>
-          <var-decl name='no_64bit_msi' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='380' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='18'>
-          <var-decl name='block_cfg_access' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='381' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='17'>
-          <var-decl name='broken_parity_status' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='382' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='15'>
-          <var-decl name='irq_reroute_variant' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='383' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='14'>
-          <var-decl name='msi_enabled' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='384' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='13'>
-          <var-decl name='msix_enabled' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='385' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='12'>
-          <var-decl name='ari_enabled' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='386' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='11'>
-          <var-decl name='ats_enabled' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='387' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10'>
-          <var-decl name='pasid_enabled' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='388' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9'>
-          <var-decl name='pri_enabled' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='389' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='is_managed' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='390' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7'>
-          <var-decl name='needs_freset' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='391' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6'>
-          <var-decl name='state_saved' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='392' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5'>
-          <var-decl name='is_physfn' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='393' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4'>
-          <var-decl name='is_virtfn' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='394' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3'>
-          <var-decl name='reset_fn' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='395' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2'>
-          <var-decl name='is_hotplug_bridge' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='396' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1'>
-          <var-decl name='shpc_managed' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='397' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='13120'>
-          <var-decl name='is_thunderbolt' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='398' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='31'>
-          <var-decl name='__aer_firmware_first_valid' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='399' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='30'>
-          <var-decl name='__aer_firmware_first' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='400' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='29'>
-          <var-decl name='broken_intx_masking' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='401' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='28'>
-          <var-decl name='io_window_1k' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='402' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='27'>
-          <var-decl name='irq_managed' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='403' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='26'>
-          <var-decl name='has_secondary_link' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='404' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='25'>
-          <var-decl name='non_compliant_bars' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='405' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='24'>
-          <var-decl name='is_probed' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='406' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='13168'>
-          <var-decl name='dev_flags' type-id='type-id-3929' visibility='default' filepath='include/linux/pci.h' line='407' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='13184'>
-          <var-decl name='enable_cnt' type-id='type-id-26' visibility='default' filepath='include/linux/pci.h' line='408' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='13216'>
-          <var-decl name='saved_config_space' type-id='type-id-3922' visibility='default' filepath='include/linux/pci.h' line='410' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='13760'>
-          <var-decl name='saved_cap_space' type-id='type-id-186' visibility='default' filepath='include/linux/pci.h' line='411' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='13824'>
-          <var-decl name='rom_attr' type-id='type-id-2610' visibility='default' filepath='include/linux/pci.h' line='412' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='13888'>
-          <var-decl name='rom_attr_enabled' type-id='type-id-17' visibility='default' filepath='include/linux/pci.h' line='413' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='13952'>
-          <var-decl name='res_attr' type-id='type-id-3916' visibility='default' filepath='include/linux/pci.h' line='414' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='14656'>
-          <var-decl name='res_attr_wc' type-id='type-id-3916' visibility='default' filepath='include/linux/pci.h' line='415' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='15360'>
-          <var-decl name='msi_irq_groups' type-id='type-id-665' visibility='default' filepath='include/linux/pci.h' line='426' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='15424'>
-          <var-decl name='vpd' type-id='type-id-3930' visibility='default' filepath='include/linux/pci.h' line='428' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='15488'>
-          <var-decl name='rom' type-id='type-id-99' visibility='default' filepath='include/linux/pci.h' line='444' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='15552'>
-          <var-decl name='romlen' type-id='type-id-84' visibility='default' filepath='include/linux/pci.h' line='445' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='15616'>
-          <var-decl name='driver_override' type-id='type-id-2' visibility='default' filepath='include/linux/pci.h' line='446' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='15680'>
-          <var-decl name='priv_flags' type-id='type-id-16' visibility='default' filepath='include/linux/pci.h' line='448' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='pci_bus' size-in-bits='8768' is-struct='yes' visibility='default' filepath='include/linux/pci.h' line='545' column='1' id='type-id-3931'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='node' type-id='type-id-20' visibility='default' filepath='include/linux/pci.h' line='546' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='parent' type-id='type-id-3924' visibility='default' filepath='include/linux/pci.h' line='547' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='children' type-id='type-id-20' visibility='default' filepath='include/linux/pci.h' line='548' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='devices' type-id='type-id-20' visibility='default' filepath='include/linux/pci.h' line='549' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='self' type-id='type-id-3932' visibility='default' filepath='include/linux/pci.h' line='550' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='slots' type-id='type-id-20' visibility='default' filepath='include/linux/pci.h' line='551' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='resource' type-id='type-id-3920' visibility='default' filepath='include/linux/pci.h' line='553' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='resources' type-id='type-id-20' visibility='default' filepath='include/linux/pci.h' line='554' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='busn_res' type-id='type-id-2146' visibility='default' filepath='include/linux/pci.h' line='555' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='ops' type-id='type-id-3933' visibility='default' filepath='include/linux/pci.h' line='557' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='msi' type-id='type-id-3934' visibility='default' filepath='include/linux/pci.h' line='558' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='sysdata' type-id='type-id-15' visibility='default' filepath='include/linux/pci.h' line='559' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='procdir' type-id='type-id-262' visibility='default' filepath='include/linux/pci.h' line='560' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='number' type-id='type-id-216' visibility='default' filepath='include/linux/pci.h' line='562' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1800'>
-          <var-decl name='primary' type-id='type-id-216' visibility='default' filepath='include/linux/pci.h' line='563' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1808'>
-          <var-decl name='max_bus_speed' type-id='type-id-216' visibility='default' filepath='include/linux/pci.h' line='564' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1816'>
-          <var-decl name='cur_bus_speed' type-id='type-id-216' visibility='default' filepath='include/linux/pci.h' line='565' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1824'>
-          <var-decl name='domain_nr' type-id='type-id-17' visibility='default' filepath='include/linux/pci.h' line='567' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='name' type-id='type-id-972' visibility='default' filepath='include/linux/pci.h' line='570' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='bridge_ctl' type-id='type-id-312' visibility='default' filepath='include/linux/pci.h' line='572' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2256'>
-          <var-decl name='bus_flags' type-id='type-id-3935' visibility='default' filepath='include/linux/pci.h' line='573' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2304'>
-          <var-decl name='bridge' type-id='type-id-240' visibility='default' filepath='include/linux/pci.h' line='574' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='dev' type-id='type-id-388' visibility='default' filepath='include/linux/pci.h' line='575' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8576'>
-          <var-decl name='legacy_io' type-id='type-id-2610' visibility='default' filepath='include/linux/pci.h' line='576' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8640'>
-          <var-decl name='legacy_mem' type-id='type-id-2610' visibility='default' filepath='include/linux/pci.h' line='577' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='31'>
-          <var-decl name='is_added' type-id='type-id-5' visibility='default' filepath='include/linux/pci.h' line='578' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='pci_ops' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/pci.h' line='669' column='1' id='type-id-3936'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='add_bus' type-id='type-id-3937' visibility='default' filepath='include/linux/pci.h' line='670' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='remove_bus' type-id='type-id-3938' visibility='default' filepath='include/linux/pci.h' line='671' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='map_bus' type-id='type-id-3939' visibility='default' filepath='include/linux/pci.h' line='672' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='read' type-id='type-id-3940' visibility='default' filepath='include/linux/pci.h' line='673' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='write' type-id='type-id-3941' visibility='default' filepath='include/linux/pci.h' line='674' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='pci_bus_flags_t' type-id='type-id-312' filepath='include/linux/pci.h' line='215' column='1' id='type-id-3935'/>
-      <class-decl name='pci_slot' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/linux/pci.h' line='56' column='1' id='type-id-3942'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bus' type-id='type-id-3924' visibility='default' filepath='include/linux/pci.h' line='57' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/pci.h' line='58' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='hotplug' type-id='type-id-3943' visibility='default' filepath='include/linux/pci.h' line='59' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='number' type-id='type-id-216' visibility='default' filepath='include/linux/pci.h' line='60' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='kobj' type-id='type-id-267' visibility='default' filepath='include/linux/pci.h' line='61' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='pci_driver' size-in-bits='2176' is-struct='yes' visibility='default' filepath='include/linux/pci.h' line='754' column='1' id='type-id-3944'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='node' type-id='type-id-20' visibility='default' filepath='include/linux/pci.h' line='755' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/pci.h' line='756' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='id_table' type-id='type-id-3945' visibility='default' filepath='include/linux/pci.h' line='757' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='probe' type-id='type-id-3946' visibility='default' filepath='include/linux/pci.h' line='758' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='remove' type-id='type-id-3947' visibility='default' filepath='include/linux/pci.h' line='759' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='suspend' type-id='type-id-3948' visibility='default' filepath='include/linux/pci.h' line='760' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='suspend_late' type-id='type-id-3948' visibility='default' filepath='include/linux/pci.h' line='761' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='resume_early' type-id='type-id-3949' visibility='default' filepath='include/linux/pci.h' line='762' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='resume' type-id='type-id-3949' visibility='default' filepath='include/linux/pci.h' line='763' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='shutdown' type-id='type-id-3947' visibility='default' filepath='include/linux/pci.h' line='764' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='sriov_configure' type-id='type-id-3950' visibility='default' filepath='include/linux/pci.h' line='765' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='err_handler' type-id='type-id-3951' visibility='default' filepath='include/linux/pci.h' line='766' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='groups' type-id='type-id-665' visibility='default' filepath='include/linux/pci.h' line='767' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='driver' type-id='type-id-2049' visibility='default' filepath='include/linux/pci.h' line='768' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='dynids' type-id='type-id-3952' visibility='default' filepath='include/linux/pci.h' line='769' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='pci_device_id' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/mod_devicetable.h' line='19' column='1' id='type-id-3953'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='vendor' type-id='type-id-511' visibility='default' filepath='include/linux/mod_devicetable.h' line='20' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='device' type-id='type-id-511' visibility='default' filepath='include/linux/mod_devicetable.h' line='20' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='subvendor' type-id='type-id-511' visibility='default' filepath='include/linux/mod_devicetable.h' line='21' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='subdevice' type-id='type-id-511' visibility='default' filepath='include/linux/mod_devicetable.h' line='21' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='class' type-id='type-id-511' visibility='default' filepath='include/linux/mod_devicetable.h' line='22' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='class_mask' type-id='type-id-511' visibility='default' filepath='include/linux/mod_devicetable.h' line='22' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='driver_data' type-id='type-id-3539' visibility='default' filepath='include/linux/mod_devicetable.h' line='23' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='pci_error_handlers' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/pci.h' line='733' column='1' id='type-id-3954'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='error_detected' type-id='type-id-3955' visibility='default' filepath='include/linux/pci.h' line='735' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='mmio_enabled' type-id='type-id-3956' visibility='default' filepath='include/linux/pci.h' line='739' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='slot_reset' type-id='type-id-3956' visibility='default' filepath='include/linux/pci.h' line='742' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='reset_prepare' type-id='type-id-3947' visibility='default' filepath='include/linux/pci.h' line='745' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='reset_done' type-id='type-id-3947' visibility='default' filepath='include/linux/pci.h' line='746' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='resume' type-id='type-id-3947' visibility='default' filepath='include/linux/pci.h' line='749' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='pci_ers_result_t' type-id='type-id-5' filepath='include/linux/pci.h' line='710' column='1' id='type-id-3957'/>
-      <enum-decl name='pci_channel_state' filepath='include/linux/pci.h' line='160' column='1' id='type-id-3958'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='pci_channel_io_normal' value='1'/>
-        <enumerator name='pci_channel_io_frozen' value='2'/>
-        <enumerator name='pci_channel_io_perm_failure' value='3'/>
-      </enum-decl>
-      <class-decl name='pci_dynids' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/pci.h' line='697' column='1' id='type-id-3952'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='include/linux/pci.h' line='698' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/pci.h' line='699' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='pci_power_t' type-id='type-id-17' filepath='include/linux/pci.h' line='130' column='1' id='type-id-3927'/>
-      <typedef-decl name='pci_channel_state_t' type-id='type-id-5' filepath='include/linux/pci.h' line='158' column='1' id='type-id-3928'/>
-      <typedef-decl name='pci_dev_flags_t' type-id='type-id-312' filepath='include/linux/pci.h' line='184' column='1' id='type-id-3929'/>
-      <qualified-type-def type-id='type-id-3953' const='yes' id='type-id-3959'/>
-      <pointer-type-def type-id='type-id-3959' size-in-bits='64' id='type-id-3945'/>
-      <qualified-type-def type-id='type-id-3954' const='yes' id='type-id-3960'/>
-      <pointer-type-def type-id='type-id-3960' size-in-bits='64' id='type-id-3951'/>
-      <pointer-type-def type-id='type-id-3917' size-in-bits='64' id='type-id-3943'/>
-      <pointer-type-def type-id='type-id-3961' size-in-bits='64' id='type-id-3937'/>
-      <pointer-type-def type-id='type-id-3962' size-in-bits='64' id='type-id-3941'/>
-      <pointer-type-def type-id='type-id-3963' size-in-bits='64' id='type-id-3940'/>
-      <pointer-type-def type-id='type-id-3964' size-in-bits='64' id='type-id-3949'/>
-      <pointer-type-def type-id='type-id-3965' size-in-bits='64' id='type-id-3946'/>
-      <pointer-type-def type-id='type-id-3966' size-in-bits='64' id='type-id-3950'/>
-      <pointer-type-def type-id='type-id-3967' size-in-bits='64' id='type-id-3948'/>
-      <pointer-type-def type-id='type-id-3918' size-in-bits='64' id='type-id-3934'/>
-      <pointer-type-def type-id='type-id-3931' size-in-bits='64' id='type-id-3924'/>
-      <pointer-type-def type-id='type-id-3923' size-in-bits='64' id='type-id-3932'/>
-      <pointer-type-def type-id='type-id-3944' size-in-bits='64' id='type-id-3926'/>
-      <pointer-type-def type-id='type-id-3936' size-in-bits='64' id='type-id-3933'/>
-      <pointer-type-def type-id='type-id-3942' size-in-bits='64' id='type-id-3925'/>
-      <pointer-type-def type-id='type-id-3919' size-in-bits='64' id='type-id-3930'/>
-      <pointer-type-def type-id='type-id-3968' size-in-bits='64' id='type-id-3956'/>
-      <pointer-type-def type-id='type-id-3969' size-in-bits='64' id='type-id-3955'/>
-      <pointer-type-def type-id='type-id-3970' size-in-bits='64' id='type-id-3938'/>
-      <pointer-type-def type-id='type-id-3971' size-in-bits='64' id='type-id-3947'/>
-      <pointer-type-def type-id='type-id-3972' size-in-bits='64' id='type-id-3939'/>
-      <function-decl name='pci_iomap_range' mangled-name='pci_iomap_range' filepath='lib/pci_iomap.c' line='28' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_iomap_range'>
-        <parameter type-id='type-id-3932' name='dev' filepath='lib/pci_iomap.c' line='28' column='1'/>
-        <parameter type-id='type-id-17' name='bar' filepath='lib/pci_iomap.c' line='29' column='1'/>
-        <parameter type-id='type-id-16' name='offset' filepath='lib/pci_iomap.c' line='30' column='1'/>
-        <parameter type-id='type-id-16' name='maxlen' filepath='lib/pci_iomap.c' line='31' column='1'/>
-        <return type-id='type-id-15'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-3961'>
-        <parameter type-id='type-id-3924'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3962'>
-        <parameter type-id='type-id-3924'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-7'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3963'>
-        <parameter type-id='type-id-3924'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-1567'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3964'>
-        <parameter type-id='type-id-3932'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3965'>
-        <parameter type-id='type-id-3932'/>
-        <parameter type-id='type-id-3945'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3966'>
-        <parameter type-id='type-id-3932'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3967'>
-        <parameter type-id='type-id-3932'/>
-        <parameter type-id='type-id-2055'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3968'>
-        <parameter type-id='type-id-3932'/>
-        <return type-id='type-id-3957'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3969'>
-        <parameter type-id='type-id-3932'/>
-        <parameter type-id='type-id-3958'/>
-        <return type-id='type-id-3957'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3970'>
-        <parameter type-id='type-id-3924'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3971'>
-        <parameter type-id='type-id-3932'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3972'>
-        <parameter type-id='type-id-3924'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-15'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='lib/devres.c' language='LANG_C89'>
-      <function-decl name='devm_ioremap' mangled-name='devm_ioremap' filepath='lib/devres.c' line='64' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_ioremap'>
-        <parameter type-id='type-id-240' name='dev' filepath='lib/devres.c' line='64' column='1'/>
-        <parameter type-id='type-id-2155' name='offset' filepath='lib/devres.c' line='64' column='1'/>
-        <parameter type-id='type-id-2155' name='size' filepath='lib/devres.c' line='65' column='1'/>
-        <return type-id='type-id-15'/>
-      </function-decl>
-      <function-decl name='devm_ioremap_resource' mangled-name='devm_ioremap_resource' filepath='lib/devres.c' line='134' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_ioremap_resource'>
-        <parameter type-id='type-id-240' name='dev' filepath='lib/devres.c' line='134' column='1'/>
-        <parameter type-id='type-id-2156' name='res' filepath='lib/devres.c' line='134' column='1'/>
-        <return type-id='type-id-15'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/pci/pci.c' language='LANG_C89'>
-      <class-decl name='hotplug_slot_ops' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/linux/pci_hotplug.h' line='48' column='1' id='type-id-3973'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='owner' type-id='type-id-260' visibility='default' filepath='include/linux/pci_hotplug.h' line='49' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='mod_name' type-id='type-id-4' visibility='default' filepath='include/linux/pci_hotplug.h' line='50' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='enable_slot' type-id='type-id-3974' visibility='default' filepath='include/linux/pci_hotplug.h' line='51' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='disable_slot' type-id='type-id-3974' visibility='default' filepath='include/linux/pci_hotplug.h' line='52' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='set_attention_status' type-id='type-id-3975' visibility='default' filepath='include/linux/pci_hotplug.h' line='53' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='hardware_test' type-id='type-id-3976' visibility='default' filepath='include/linux/pci_hotplug.h' line='54' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='get_power_status' type-id='type-id-3977' visibility='default' filepath='include/linux/pci_hotplug.h' line='55' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='get_attention_status' type-id='type-id-3977' visibility='default' filepath='include/linux/pci_hotplug.h' line='56' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='get_latch_status' type-id='type-id-3977' visibility='default' filepath='include/linux/pci_hotplug.h' line='57' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='get_adapter_status' type-id='type-id-3977' visibility='default' filepath='include/linux/pci_hotplug.h' line='58' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='reset_slot' type-id='type-id-3978' visibility='default' filepath='include/linux/pci_hotplug.h' line='59' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='hotplug_slot_info' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/linux/pci_hotplug.h' line='71' column='1' id='type-id-3979'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='power_status' type-id='type-id-214' visibility='default' filepath='include/linux/pci_hotplug.h' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='attention_status' type-id='type-id-214' visibility='default' filepath='include/linux/pci_hotplug.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='latch_status' type-id='type-id-214' visibility='default' filepath='include/linux/pci_hotplug.h' line='74' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='24'>
-          <var-decl name='adapter_status' type-id='type-id-214' visibility='default' filepath='include/linux/pci_hotplug.h' line='75' column='1'/>
-        </data-member>
-      </class-decl>
-      <pointer-type-def type-id='type-id-3979' size-in-bits='64' id='type-id-3980'/>
-      <pointer-type-def type-id='type-id-3973' size-in-bits='64' id='type-id-3981'/>
-      <pointer-type-def type-id='type-id-3982' size-in-bits='64' id='type-id-3974'/>
-      <pointer-type-def type-id='type-id-3983' size-in-bits='64' id='type-id-3978'/>
-      <pointer-type-def type-id='type-id-3984' size-in-bits='64' id='type-id-3976'/>
-      <pointer-type-def type-id='type-id-3985' size-in-bits='64' id='type-id-3975'/>
-      <pointer-type-def type-id='type-id-3986' size-in-bits='64' id='type-id-3977'/>
-      <function-decl name='pci_disable_device' mangled-name='pci_disable_device' filepath='drivers/pci/pci.c' line='1852' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_disable_device'>
-        <parameter type-id='type-id-3932' name='dev' filepath='drivers/pci/pci.c' line='1852' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='pci_find_next_capability' mangled-name='pci_find_next_capability' filepath='drivers/pci/pci.c' line='393' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_find_next_capability'>
-        <parameter type-id='type-id-3932' name='dev' filepath='drivers/pci/pci.c' line='393' column='1'/>
-        <parameter type-id='type-id-214' name='pos' filepath='drivers/pci/pci.c' line='393' column='1'/>
-        <parameter type-id='type-id-17' name='cap' filepath='drivers/pci/pci.c' line='393' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='pci_find_capability' mangled-name='pci_find_capability' filepath='drivers/pci/pci.c' line='439' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_find_capability'>
-        <parameter type-id='type-id-3932' name='dev' filepath='drivers/pci/pci.c' line='439' column='1'/>
-        <parameter type-id='type-id-17' name='cap' filepath='drivers/pci/pci.c' line='439' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='pci_find_ext_capability' mangled-name='pci_find_ext_capability' filepath='drivers/pci/pci.c' line='545' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_find_ext_capability'>
-        <parameter type-id='type-id-3932' name='dev' filepath='drivers/pci/pci.c' line='545' column='1'/>
-        <parameter type-id='type-id-17' name='cap' filepath='drivers/pci/pci.c' line='545' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='pci_enable_device' mangled-name='pci_enable_device' filepath='drivers/pci/pci.c' line='1660' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_enable_device'>
-        <parameter type-id='type-id-3932' name='dev' filepath='drivers/pci/pci.c' line='1660' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='pci_release_selected_regions' mangled-name='pci_release_selected_regions' filepath='drivers/pci/pci.c' line='3679' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_release_selected_regions'>
-        <parameter type-id='type-id-3932' name='pdev' filepath='drivers/pci/pci.c' line='3679' column='1'/>
-        <parameter type-id='type-id-17' name='bars' filepath='drivers/pci/pci.c' line='3679' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='pci_request_selected_regions' mangled-name='pci_request_selected_regions' filepath='drivers/pci/pci.c' line='3715' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_request_selected_regions'>
-        <parameter type-id='type-id-3932' name='pdev' filepath='drivers/pci/pci.c' line='3715' column='1'/>
-        <parameter type-id='type-id-17' name='bars' filepath='drivers/pci/pci.c' line='3715' column='1'/>
-        <parameter type-id='type-id-4' name='res_name' filepath='drivers/pci/pci.c' line='3716' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='pci_set_master' mangled-name='pci_set_master' filepath='drivers/pci/pci.c' line='4077' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_set_master'>
-        <parameter type-id='type-id-3932' name='dev' filepath='drivers/pci/pci.c' line='4077' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-3982'>
-        <parameter type-id='type-id-3943'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3983'>
-        <parameter type-id='type-id-3943'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3984'>
-        <parameter type-id='type-id-3943'/>
-        <parameter type-id='type-id-7'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3985'>
-        <parameter type-id='type-id-3943'/>
-        <parameter type-id='type-id-214'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-3986'>
-        <parameter type-id='type-id-3943'/>
-        <parameter type-id='type-id-3121'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='lib/hweight.c' language='LANG_C89'>
-      <function-decl name='__sw_hweight64' mangled-name='__sw_hweight64' filepath='lib/hweight.c' line='50' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__sw_hweight64'>
-        <parameter type-id='type-id-100' name='w' filepath='lib/hweight.c' line='50' column='1'/>
-        <return type-id='type-id-16'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='lib/nlattr.c' language='LANG_C89'>
-      <union-decl name='__anonymous_union__' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='666' column='1' id='type-id-3987'>
-        <data-member access='private'>
-          <var-decl name='' type-id='type-id-3988' visibility='default' filepath='include/linux/skbuff.h' line='667' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='rbnode' type-id='type-id-422' visibility='default' filepath='include/linux/skbuff.h' line='681' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/skbuff.h' line='682' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='__anonymous_struct__' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='667' column='1' id='type-id-3988'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='next' type-id='type-id-1768' visibility='default' filepath='include/linux/skbuff.h' line='669' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='prev' type-id='type-id-1768' visibility='default' filepath='include/linux/skbuff.h' line='670' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='' type-id='type-id-3989' visibility='default' filepath='include/linux/skbuff.h' line='672' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='672' column='1' id='type-id-3989'>
-        <data-member access='private'>
-          <var-decl name='dev' type-id='type-id-3405' visibility='default' filepath='include/linux/skbuff.h' line='673' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='dev_scratch' type-id='type-id-16' visibility='default' filepath='include/linux/skbuff.h' line='678' column='1'/>
-        </data-member>
-      </union-decl>
-      <function-decl name='nla_parse' mangled-name='nla_parse' filepath='lib/nlattr.c' line='240' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nla_parse'>
-        <parameter type-id='type-id-3034' name='tb' filepath='lib/nlattr.c' line='240' column='1'/>
-        <parameter type-id='type-id-17' name='maxtype' filepath='lib/nlattr.c' line='240' column='1'/>
-        <parameter type-id='type-id-1808' name='head' filepath='lib/nlattr.c' line='240' column='1'/>
-        <parameter type-id='type-id-17' name='len' filepath='lib/nlattr.c' line='241' column='1'/>
-        <parameter type-id='type-id-2188' name='policy' filepath='lib/nlattr.c' line='241' column='1'/>
-        <parameter type-id='type-id-1826' name='extack' filepath='lib/nlattr.c' line='242' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='nla_memcpy' mangled-name='nla_memcpy' filepath='lib/nlattr.c' line='363' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nla_memcpy'>
-        <parameter type-id='type-id-15' name='dest' filepath='lib/nlattr.c' line='363' column='1'/>
-        <parameter type-id='type-id-1808' name='src' filepath='lib/nlattr.c' line='363' column='1'/>
-        <parameter type-id='type-id-17' name='count' filepath='lib/nlattr.c' line='363' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='nla_put' mangled-name='nla_put' filepath='lib/nlattr.c' line='622' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nla_put'>
-        <parameter type-id='type-id-1768' name='skb' filepath='lib/nlattr.c' line='622' column='1'/>
-        <parameter type-id='type-id-17' name='attrtype' filepath='lib/nlattr.c' line='622' column='1'/>
-        <parameter type-id='type-id-17' name='attrlen' filepath='lib/nlattr.c' line='622' column='1'/>
-        <parameter type-id='type-id-15' name='data' filepath='lib/nlattr.c' line='622' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/pci/msi.c' language='LANG_C89'>
-      <qualified-type-def type-id='type-id-3841' const='yes' id='type-id-3990'/>
-      <pointer-type-def type-id='type-id-3990' size-in-bits='64' id='type-id-3991'/>
-      <function-decl name='pci_alloc_irq_vectors_affinity' mangled-name='pci_alloc_irq_vectors_affinity' filepath='drivers/pci/msi.c' line='1153' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_alloc_irq_vectors_affinity'>
-        <parameter type-id='type-id-3932' name='dev' filepath='drivers/pci/msi.c' line='1153' column='1'/>
-        <parameter type-id='type-id-5' name='min_vecs' filepath='drivers/pci/msi.c' line='1153' column='1'/>
-        <parameter type-id='type-id-5' name='max_vecs' filepath='drivers/pci/msi.c' line='1154' column='1'/>
-        <parameter type-id='type-id-5' name='flags' filepath='drivers/pci/msi.c' line='1154' column='1'/>
-        <parameter type-id='type-id-3991' name='affd' filepath='drivers/pci/msi.c' line='1155' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='pci_free_irq_vectors' mangled-name='pci_free_irq_vectors' filepath='drivers/pci/msi.c' line='1203' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_free_irq_vectors'>
-        <parameter type-id='type-id-3932' name='dev' filepath='drivers/pci/msi.c' line='1203' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='pci_irq_vector' mangled-name='pci_irq_vector' filepath='drivers/pci/msi.c' line='1215' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_irq_vector'>
-        <parameter type-id='type-id-3932' name='dev' filepath='drivers/pci/msi.c' line='1215' column='1'/>
-        <parameter type-id='type-id-5' name='nr' filepath='drivers/pci/msi.c' line='1215' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='pci_irq_get_affinity' mangled-name='pci_irq_get_affinity' filepath='drivers/pci/msi.c' line='1249' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_irq_get_affinity'>
-        <parameter type-id='type-id-3932' name='dev' filepath='drivers/pci/msi.c' line='1249' column='1'/>
-        <parameter type-id='type-id-17' name='nr' filepath='drivers/pci/msi.c' line='1249' column='1'/>
-        <return type-id='type-id-3386'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/base/property.c' language='LANG_C89'>
-      <function-decl name='dev_fwnode' mangled-name='dev_fwnode' filepath='drivers/base/property.c' line='251' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_fwnode'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/base/property.c' line='251' column='1'/>
-        <return type-id='type-id-2025'/>
-      </function-decl>
-      <function-decl name='device_property_present' mangled-name='device_property_present' filepath='drivers/base/property.c' line='310' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_property_present'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/base/property.c' line='310' column='1'/>
-        <parameter type-id='type-id-4' name='propname' filepath='drivers/base/property.c' line='310' column='1'/>
-        <return type-id='type-id-33'/>
-      </function-decl>
-      <function-decl name='device_property_read_u32_array' mangled-name='device_property_read_u32_array' filepath='drivers/base/property.c' line='403' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='device_property_read_u32_array'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/base/property.c' line='403' column='1'/>
-        <parameter type-id='type-id-4' name='propname' filepath='drivers/base/property.c' line='403' column='1'/>
-        <parameter type-id='type-id-1567' name='val' filepath='drivers/base/property.c' line='404' column='1'/>
-        <parameter type-id='type-id-84' name='nval' filepath='drivers/base/property.c' line='404' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/of/base.c' language='LANG_C89'>
-      <qualified-type-def type-id='type-id-3540' const='yes' id='type-id-3992'/>
-      <pointer-type-def type-id='type-id-3992' size-in-bits='64' id='type-id-3993'/>
-      <function-decl name='of_find_property' mangled-name='of_find_property' filepath='drivers/of/base.c' line='264' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_find_property'>
-        <parameter type-id='type-id-3993' name='np' filepath='drivers/of/base.c' line='264' column='1'/>
-        <parameter type-id='type-id-4' name='name' filepath='drivers/of/base.c' line='265' column='1'/>
-        <parameter type-id='type-id-666' name='lenp' filepath='drivers/of/base.c' line='266' column='1'/>
-        <return type-id='type-id-3542'/>
-      </function-decl>
-      <function-decl name='of_get_property' mangled-name='of_get_property' filepath='drivers/of/base.c' line='334' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_get_property'>
-        <parameter type-id='type-id-3993' name='np' filepath='drivers/of/base.c' line='334' column='1'/>
-        <parameter type-id='type-id-4' name='name' filepath='drivers/of/base.c' line='334' column='1'/>
-        <parameter type-id='type-id-666' name='lenp' filepath='drivers/of/base.c' line='335' column='1'/>
-        <return type-id='type-id-15'/>
-      </function-decl>
-      <function-decl name='of_device_is_compatible' mangled-name='of_device_is_compatible' filepath='drivers/of/base.c' line='541' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_device_is_compatible'>
-        <parameter type-id='type-id-3993' name='device' filepath='drivers/of/base.c' line='541' column='1'/>
-        <parameter type-id='type-id-4' name='compat' filepath='drivers/of/base.c' line='542' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='of_device_is_big_endian' mangled-name='of_device_is_big_endian' filepath='drivers/of/base.c' line='658' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_device_is_big_endian'>
-        <parameter type-id='type-id-3993' name='device' filepath='drivers/of/base.c' line='658' column='1'/>
-        <return type-id='type-id-33'/>
-      </function-decl>
-      <function-decl name='of_get_next_child' mangled-name='of_get_next_child' filepath='drivers/of/base.c' line='746' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_get_next_child'>
-        <parameter type-id='type-id-3993' name='node' filepath='drivers/of/base.c' line='746' column='1'/>
-        <parameter type-id='type-id-3543' name='prev' filepath='drivers/of/base.c' line='747' column='1'/>
-        <return type-id='type-id-3543'/>
-      </function-decl>
-      <function-decl name='of_get_child_by_name' mangled-name='of_get_child_by_name' filepath='drivers/of/base.c' line='826' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_get_child_by_name'>
-        <parameter type-id='type-id-3993' name='node' filepath='drivers/of/base.c' line='826' column='1'/>
-        <parameter type-id='type-id-4' name='name' filepath='drivers/of/base.c' line='827' column='1'/>
-        <return type-id='type-id-3543'/>
-      </function-decl>
-      <function-decl name='of_parse_phandle' mangled-name='of_parse_phandle' filepath='drivers/of/base.c' line='1408' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_parse_phandle'>
-        <parameter type-id='type-id-3993' name='np' filepath='drivers/of/base.c' line='1408' column='1'/>
-        <parameter type-id='type-id-4' name='phandle_name' filepath='drivers/of/base.c' line='1409' column='1'/>
-        <parameter type-id='type-id-17' name='index' filepath='drivers/of/base.c' line='1409' column='1'/>
-        <return type-id='type-id-3543'/>
-      </function-decl>
-      <function-decl name='of_alias_get_id' mangled-name='of_alias_get_id' filepath='drivers/of/base.c' line='1977' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_alias_get_id'>
-        <parameter type-id='type-id-3543' name='np' filepath='drivers/of/base.c' line='1977' column='1'/>
-        <parameter type-id='type-id-4' name='stem' filepath='drivers/of/base.c' line='1977' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/regulator/core.c' language='LANG_C89'>
-      <class-decl name='regmap' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-3994'/>
-      <array-type-def dimensions='1' type-id='type-id-3995' size-in-bits='256' id='type-id-3996'>
-        <subrange length='4' type-id='type-id-9' id='type-id-107'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-3997' size-in-bits='320' id='type-id-3998'>
-        <subrange length='5' type-id='type-id-9' id='type-id-110'/>
-
-      </array-type-def>
-      <class-decl name='regulator' size-in-bits='1024' is-struct='yes' visibility='default' filepath='drivers/regulator/internal.h' line='39' column='1' id='type-id-3999'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dev' type-id='type-id-240' visibility='default' filepath='drivers/regulator/internal.h' line='40' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='drivers/regulator/internal.h' line='41' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='31'>
-          <var-decl name='always_on' type-id='type-id-5' visibility='default' filepath='drivers/regulator/internal.h' line='42' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='30'>
-          <var-decl name='bypass' type-id='type-id-5' visibility='default' filepath='drivers/regulator/internal.h' line='43' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='uA_load' type-id='type-id-17' visibility='default' filepath='drivers/regulator/internal.h' line='44' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='voltage' type-id='type-id-3998' visibility='default' filepath='drivers/regulator/internal.h' line='45' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='supply_name' type-id='type-id-4' visibility='default' filepath='drivers/regulator/internal.h' line='46' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='dev_attr' type-id='type-id-3288' visibility='default' filepath='drivers/regulator/internal.h' line='47' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='rdev' type-id='type-id-3995' visibility='default' filepath='drivers/regulator/internal.h' line='48' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='debugfs' type-id='type-id-23' visibility='default' filepath='drivers/regulator/internal.h' line='49' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='regulator_voltage' size-in-bits='64' is-struct='yes' visibility='default' filepath='drivers/regulator/internal.h' line='23' column='1' id='type-id-3997'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='min_uV' type-id='type-id-17' visibility='default' filepath='drivers/regulator/internal.h' line='24' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='max_uV' type-id='type-id-17' visibility='default' filepath='drivers/regulator/internal.h' line='25' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='device_attribute' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/device.h' line='580' column='1' id='type-id-3288'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='attr' type-id='type-id-619' visibility='default' filepath='include/linux/device.h' line='581' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='show' type-id='type-id-4000' visibility='default' filepath='include/linux/device.h' line='582' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='store' type-id='type-id-4001' visibility='default' filepath='include/linux/device.h' line='584' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='regulator_dev' size-in-bits='9152' is-struct='yes' visibility='default' filepath='include/linux/regulator/driver.h' line='438' column='1' id='type-id-4002'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='desc' type-id='type-id-4003' visibility='default' filepath='include/linux/regulator/driver.h' line='439' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='exclusive' type-id='type-id-17' visibility='default' filepath='include/linux/regulator/driver.h' line='440' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='use_count' type-id='type-id-7' visibility='default' filepath='include/linux/regulator/driver.h' line='441' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='open_count' type-id='type-id-7' visibility='default' filepath='include/linux/regulator/driver.h' line='442' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='bypass_count' type-id='type-id-7' visibility='default' filepath='include/linux/regulator/driver.h' line='443' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/regulator/driver.h' line='446' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='consumer_list' type-id='type-id-20' visibility='default' filepath='include/linux/regulator/driver.h' line='449' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='coupling_desc' type-id='type-id-4004' visibility='default' filepath='include/linux/regulator/driver.h' line='451' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='notifier' type-id='type-id-3278' visibility='default' filepath='include/linux/regulator/driver.h' line='453' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='mutex' type-id='type-id-245' visibility='default' filepath='include/linux/regulator/driver.h' line='454' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='mutex_owner' type-id='type-id-431' visibility='default' filepath='include/linux/regulator/driver.h' line='455' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='ref_cnt' type-id='type-id-17' visibility='default' filepath='include/linux/regulator/driver.h' line='456' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='owner' type-id='type-id-260' visibility='default' filepath='include/linux/regulator/driver.h' line='457' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='dev' type-id='type-id-388' visibility='default' filepath='include/linux/regulator/driver.h' line='458' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7808'>
-          <var-decl name='constraints' type-id='type-id-4005' visibility='default' filepath='include/linux/regulator/driver.h' line='459' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7872'>
-          <var-decl name='supply' type-id='type-id-4006' visibility='default' filepath='include/linux/regulator/driver.h' line='460' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7936'>
-          <var-decl name='supply_name' type-id='type-id-4' visibility='default' filepath='include/linux/regulator/driver.h' line='461' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8000'>
-          <var-decl name='regmap' type-id='type-id-4007' visibility='default' filepath='include/linux/regulator/driver.h' line='462' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8064'>
-          <var-decl name='disable_work' type-id='type-id-411' visibility='default' filepath='include/linux/regulator/driver.h' line='464' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8768'>
-          <var-decl name='deferred_disables' type-id='type-id-17' visibility='default' filepath='include/linux/regulator/driver.h' line='465' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8832'>
-          <var-decl name='reg_data' type-id='type-id-15' visibility='default' filepath='include/linux/regulator/driver.h' line='467' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8896'>
-          <var-decl name='debugfs' type-id='type-id-23' visibility='default' filepath='include/linux/regulator/driver.h' line='469' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8960'>
-          <var-decl name='ena_pin' type-id='type-id-4008' visibility='default' filepath='include/linux/regulator/driver.h' line='471' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='31'>
-          <var-decl name='ena_gpio_state' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='472' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='30'>
-          <var-decl name='is_switch' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='474' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9088'>
-          <var-decl name='last_off_jiffy' type-id='type-id-16' visibility='default' filepath='include/linux/regulator/driver.h' line='477' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='regulator_desc' size-in-bits='1984' is-struct='yes' visibility='default' filepath='include/linux/regulator/driver.h' line='317' column='1' id='type-id-4009'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/regulator/driver.h' line='318' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='supply_name' type-id='type-id-4' visibility='default' filepath='include/linux/regulator/driver.h' line='319' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='of_match' type-id='type-id-4' visibility='default' filepath='include/linux/regulator/driver.h' line='320' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='regulators_node' type-id='type-id-4' visibility='default' filepath='include/linux/regulator/driver.h' line='321' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='of_parse_cb' type-id='type-id-4010' visibility='default' filepath='include/linux/regulator/driver.h' line='322' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='id' type-id='type-id-17' visibility='default' filepath='include/linux/regulator/driver.h' line='325' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='31'>
-          <var-decl name='continuous_voltage_range' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='326' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='n_voltages' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='327' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='ops' type-id='type-id-4011' visibility='default' filepath='include/linux/regulator/driver.h' line='328' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='irq' type-id='type-id-17' visibility='default' filepath='include/linux/regulator/driver.h' line='329' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='type' type-id='type-id-4012' visibility='default' filepath='include/linux/regulator/driver.h' line='330' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='owner' type-id='type-id-260' visibility='default' filepath='include/linux/regulator/driver.h' line='331' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='min_uV' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='333' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='672'>
-          <var-decl name='uV_step' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='334' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='linear_min_sel' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='335' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='736'>
-          <var-decl name='fixed_uV' type-id='type-id-17' visibility='default' filepath='include/linux/regulator/driver.h' line='336' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='ramp_delay' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='337' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='800'>
-          <var-decl name='min_dropout_uV' type-id='type-id-17' visibility='default' filepath='include/linux/regulator/driver.h' line='338' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='linear_ranges' type-id='type-id-4013' visibility='default' filepath='include/linux/regulator/driver.h' line='340' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='n_linear_ranges' type-id='type-id-17' visibility='default' filepath='include/linux/regulator/driver.h' line='341' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='volt_table' type-id='type-id-4014' visibility='default' filepath='include/linux/regulator/driver.h' line='343' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='vsel_reg' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='345' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1056'>
-          <var-decl name='vsel_mask' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='346' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='csel_reg' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='347' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1120'>
-          <var-decl name='csel_mask' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='348' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='apply_reg' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='349' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1184'>
-          <var-decl name='apply_bit' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='350' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='enable_reg' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='351' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1248'>
-          <var-decl name='enable_mask' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='352' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='enable_val' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='353' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1312'>
-          <var-decl name='disable_val' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='354' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='enable_is_inverted' type-id='type-id-33' visibility='default' filepath='include/linux/regulator/driver.h' line='355' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1376'>
-          <var-decl name='bypass_reg' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='356' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='bypass_mask' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='357' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1440'>
-          <var-decl name='bypass_val_on' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='358' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='bypass_val_off' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='359' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1504'>
-          <var-decl name='active_discharge_on' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='360' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='active_discharge_off' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='361' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1568'>
-          <var-decl name='active_discharge_mask' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='362' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='active_discharge_reg' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='363' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1632'>
-          <var-decl name='soft_start_reg' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='364' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='soft_start_mask' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='365' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1696'>
-          <var-decl name='soft_start_val_on' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='366' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='pull_down_reg' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='367' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1760'>
-          <var-decl name='pull_down_mask' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='368' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='pull_down_val_on' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='369' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1824'>
-          <var-decl name='enable_time' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='371' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='off_on_delay' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='373' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='of_map_mode' type-id='type-id-4015' visibility='default' filepath='include/linux/regulator/driver.h' line='375' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='regulator_config' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/regulator/driver.h' line='400' column='1' id='type-id-4016'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dev' type-id='type-id-240' visibility='default' filepath='include/linux/regulator/driver.h' line='401' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='init_data' type-id='type-id-4017' visibility='default' filepath='include/linux/regulator/driver.h' line='402' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='driver_data' type-id='type-id-15' visibility='default' filepath='include/linux/regulator/driver.h' line='403' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='of_node' type-id='type-id-3543' visibility='default' filepath='include/linux/regulator/driver.h' line='404' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='regmap' type-id='type-id-4007' visibility='default' filepath='include/linux/regulator/driver.h' line='405' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='ena_gpio_initialized' type-id='type-id-33' visibility='default' filepath='include/linux/regulator/driver.h' line='407' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='ena_gpio' type-id='type-id-17' visibility='default' filepath='include/linux/regulator/driver.h' line='408' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='ena_gpiod' type-id='type-id-4018' visibility='default' filepath='include/linux/regulator/driver.h' line='409' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='31'>
-          <var-decl name='ena_gpio_invert' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='410' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='ena_gpio_flags' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='411' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='regulator_init_data' size-in-bits='1600' is-struct='yes' visibility='default' filepath='include/linux/regulator/machine.h' line='235' column='1' id='type-id-4019'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='supply_regulator' type-id='type-id-4' visibility='default' filepath='include/linux/regulator/machine.h' line='236' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='constraints' type-id='type-id-4020' visibility='default' filepath='include/linux/regulator/machine.h' line='238' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='num_consumer_supplies' type-id='type-id-17' visibility='default' filepath='include/linux/regulator/machine.h' line='240' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='consumer_supplies' type-id='type-id-4021' visibility='default' filepath='include/linux/regulator/machine.h' line='241' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='regulator_init' type-id='type-id-3366' visibility='default' filepath='include/linux/regulator/machine.h' line='244' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='driver_data' type-id='type-id-15' visibility='default' filepath='include/linux/regulator/machine.h' line='245' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='regulation_constraints' size-in-bits='1280' is-struct='yes' visibility='default' filepath='include/linux/regulator/machine.h' line='141' column='1' id='type-id-4020'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/regulator/machine.h' line='143' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='min_uV' type-id='type-id-17' visibility='default' filepath='include/linux/regulator/machine.h' line='146' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='max_uV' type-id='type-id-17' visibility='default' filepath='include/linux/regulator/machine.h' line='147' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='uV_offset' type-id='type-id-17' visibility='default' filepath='include/linux/regulator/machine.h' line='149' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='min_uA' type-id='type-id-17' visibility='default' filepath='include/linux/regulator/machine.h' line='152' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='max_uA' type-id='type-id-17' visibility='default' filepath='include/linux/regulator/machine.h' line='153' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='ilim_uA' type-id='type-id-17' visibility='default' filepath='include/linux/regulator/machine.h' line='154' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='system_load' type-id='type-id-17' visibility='default' filepath='include/linux/regulator/machine.h' line='156' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='max_spread' type-id='type-id-17' visibility='default' filepath='include/linux/regulator/machine.h' line='159' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='valid_modes_mask' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/machine.h' line='162' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='valid_ops_mask' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/machine.h' line='165' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='input_uV' type-id='type-id-17' visibility='default' filepath='include/linux/regulator/machine.h' line='168' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='state_disk' type-id='type-id-4022' visibility='default' filepath='include/linux/regulator/machine.h' line='171' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='state_mem' type-id='type-id-4022' visibility='default' filepath='include/linux/regulator/machine.h' line='172' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='800'>
-          <var-decl name='state_standby' type-id='type-id-4022' visibility='default' filepath='include/linux/regulator/machine.h' line='173' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='992'>
-          <var-decl name='initial_state' type-id='type-id-4023' visibility='default' filepath='include/linux/regulator/machine.h' line='174' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='initial_mode' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/machine.h' line='177' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1056'>
-          <var-decl name='ramp_delay' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/machine.h' line='179' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='settling_time' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/machine.h' line='180' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1120'>
-          <var-decl name='settling_time_up' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/machine.h' line='181' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='settling_time_down' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/machine.h' line='182' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1184'>
-          <var-decl name='enable_time' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/machine.h' line='183' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='active_discharge' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/machine.h' line='185' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='31'>
-          <var-decl name='always_on' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/machine.h' line='188' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='30'>
-          <var-decl name='boot_on' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/machine.h' line='189' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='29'>
-          <var-decl name='apply_uV' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/machine.h' line='190' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='28'>
-          <var-decl name='ramp_disable' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/machine.h' line='191' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='27'>
-          <var-decl name='soft_start' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/machine.h' line='192' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='26'>
-          <var-decl name='pull_down' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/machine.h' line='193' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='25'>
-          <var-decl name='over_current_protection' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/machine.h' line='194' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='regulator_state' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/regulator/machine.h' line='80' column='1' id='type-id-4022'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='uV' type-id='type-id-17' visibility='default' filepath='include/linux/regulator/machine.h' line='81' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='min_uV' type-id='type-id-17' visibility='default' filepath='include/linux/regulator/machine.h' line='82' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='max_uV' type-id='type-id-17' visibility='default' filepath='include/linux/regulator/machine.h' line='83' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='mode' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/machine.h' line='84' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='enabled' type-id='type-id-17' visibility='default' filepath='include/linux/regulator/machine.h' line='85' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='changeable' type-id='type-id-33' visibility='default' filepath='include/linux/regulator/machine.h' line='86' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='suspend_state_t' type-id='type-id-17' filepath='include/linux/suspend.h' line='34' column='1' id='type-id-4023'/>
-      <class-decl name='regulator_consumer_supply' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/regulator/machine.h' line='206' column='1' id='type-id-4024'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dev_name' type-id='type-id-4' visibility='default' filepath='include/linux/regulator/machine.h' line='207' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='supply' type-id='type-id-4' visibility='default' filepath='include/linux/regulator/machine.h' line='208' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='regulator_ops' size-in-bits='2112' is-struct='yes' visibility='default' filepath='include/linux/regulator/driver.h' line='148' column='1' id='type-id-4025'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='list_voltage' type-id='type-id-4026' visibility='default' filepath='include/linux/regulator/driver.h' line='151' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='set_voltage' type-id='type-id-4027' visibility='default' filepath='include/linux/regulator/driver.h' line='154' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='map_voltage' type-id='type-id-4028' visibility='default' filepath='include/linux/regulator/driver.h' line='156' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='set_voltage_sel' type-id='type-id-4026' visibility='default' filepath='include/linux/regulator/driver.h' line='157' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='get_voltage' type-id='type-id-4029' visibility='default' filepath='include/linux/regulator/driver.h' line='158' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='get_voltage_sel' type-id='type-id-4029' visibility='default' filepath='include/linux/regulator/driver.h' line='159' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='set_current_limit' type-id='type-id-4028' visibility='default' filepath='include/linux/regulator/driver.h' line='162' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='get_current_limit' type-id='type-id-4029' visibility='default' filepath='include/linux/regulator/driver.h' line='164' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='set_input_current_limit' type-id='type-id-4030' visibility='default' filepath='include/linux/regulator/driver.h' line='166' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='set_over_current_protection' type-id='type-id-4029' visibility='default' filepath='include/linux/regulator/driver.h' line='167' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='set_active_discharge' type-id='type-id-4031' visibility='default' filepath='include/linux/regulator/driver.h' line='168' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='enable' type-id='type-id-4029' visibility='default' filepath='include/linux/regulator/driver.h' line='171' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='disable' type-id='type-id-4029' visibility='default' filepath='include/linux/regulator/driver.h' line='172' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='is_enabled' type-id='type-id-4029' visibility='default' filepath='include/linux/regulator/driver.h' line='173' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='set_mode' type-id='type-id-4026' visibility='default' filepath='include/linux/regulator/driver.h' line='176' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='get_mode' type-id='type-id-4032' visibility='default' filepath='include/linux/regulator/driver.h' line='177' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='get_error_flags' type-id='type-id-4033' visibility='default' filepath='include/linux/regulator/driver.h' line='180' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='enable_time' type-id='type-id-4029' visibility='default' filepath='include/linux/regulator/driver.h' line='183' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='set_ramp_delay' type-id='type-id-4030' visibility='default' filepath='include/linux/regulator/driver.h' line='184' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='set_voltage_time' type-id='type-id-4028' visibility='default' filepath='include/linux/regulator/driver.h' line='185' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='set_voltage_time_sel' type-id='type-id-4034' visibility='default' filepath='include/linux/regulator/driver.h' line='187' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='set_soft_start' type-id='type-id-4029' visibility='default' filepath='include/linux/regulator/driver.h' line='191' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='get_status' type-id='type-id-4029' visibility='default' filepath='include/linux/regulator/driver.h' line='198' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='get_optimum_mode' type-id='type-id-4035' visibility='default' filepath='include/linux/regulator/driver.h' line='201' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='set_load' type-id='type-id-4030' visibility='default' filepath='include/linux/regulator/driver.h' line='204' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='set_bypass' type-id='type-id-4031' visibility='default' filepath='include/linux/regulator/driver.h' line='207' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='get_bypass' type-id='type-id-4036' visibility='default' filepath='include/linux/regulator/driver.h' line='208' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='set_suspend_voltage' type-id='type-id-4030' visibility='default' filepath='include/linux/regulator/driver.h' line='214' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='set_suspend_enable' type-id='type-id-4029' visibility='default' filepath='include/linux/regulator/driver.h' line='217' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='set_suspend_disable' type-id='type-id-4029' visibility='default' filepath='include/linux/regulator/driver.h' line='218' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='set_suspend_mode' type-id='type-id-4026' visibility='default' filepath='include/linux/regulator/driver.h' line='221' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='resume' type-id='type-id-4029' visibility='default' filepath='include/linux/regulator/driver.h' line='223' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='set_pull_down' type-id='type-id-4029' visibility='default' filepath='include/linux/regulator/driver.h' line='225' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='regulator_type' filepath='include/linux/regulator/driver.h' line='231' column='1' id='type-id-4012'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='REGULATOR_VOLTAGE' value='0'/>
-        <enumerator name='REGULATOR_CURRENT' value='1'/>
-      </enum-decl>
-      <class-decl name='regulator_linear_range' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/regulator/driver.h' line='57' column='1' id='type-id-4037'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='min_uV' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='58' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='min_sel' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='59' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='max_sel' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='60' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='uV_step' type-id='type-id-5' visibility='default' filepath='include/linux/regulator/driver.h' line='61' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='coupling_desc' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/regulator/driver.h' line='422' column='1' id='type-id-4004'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='coupled_rdevs' type-id='type-id-3996' visibility='default' filepath='include/linux/regulator/driver.h' line='423' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='n_resolved' type-id='type-id-17' visibility='default' filepath='include/linux/regulator/driver.h' line='424' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='n_coupled' type-id='type-id-17' visibility='default' filepath='include/linux/regulator/driver.h' line='425' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='blocking_notifier_head' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/notifier.h' line='65' column='1' id='type-id-3278'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='rwsem' type-id='type-id-246' visibility='default' filepath='include/linux/notifier.h' line='66' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='head' type-id='type-id-3271' visibility='default' filepath='include/linux/notifier.h' line='67' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='regulator_enable_gpio' size-in-bits='320' is-struct='yes' visibility='default' filepath='drivers/regulator/core.c' line='78' column='1' id='type-id-4038'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='drivers/regulator/core.c' line='79' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='gpiod' type-id='type-id-4018' visibility='default' filepath='drivers/regulator/core.c' line='80' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='enable_count' type-id='type-id-7' visibility='default' filepath='drivers/regulator/core.c' line='81' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='request_count' type-id='type-id-7' visibility='default' filepath='drivers/regulator/core.c' line='82' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='31'>
-          <var-decl name='ena_gpio_invert' type-id='type-id-5' visibility='default' filepath='drivers/regulator/core.c' line='83' column='1'/>
-        </data-member>
-      </class-decl>
-      <qualified-type-def type-id='type-id-4009' const='yes' id='type-id-4039'/>
-      <pointer-type-def type-id='type-id-4039' size-in-bits='64' id='type-id-4003'/>
-      <qualified-type-def type-id='type-id-4019' const='yes' id='type-id-4040'/>
-      <pointer-type-def type-id='type-id-4040' size-in-bits='64' id='type-id-4017'/>
-      <qualified-type-def type-id='type-id-4037' const='yes' id='type-id-4041'/>
-      <pointer-type-def type-id='type-id-4041' size-in-bits='64' id='type-id-4013'/>
-      <qualified-type-def type-id='type-id-4025' const='yes' id='type-id-4042'/>
-      <pointer-type-def type-id='type-id-4042' size-in-bits='64' id='type-id-4011'/>
-      <pointer-type-def type-id='type-id-893' size-in-bits='64' id='type-id-4014'/>
-      <pointer-type-def type-id='type-id-3288' size-in-bits='64' id='type-id-4043'/>
-      <pointer-type-def type-id='type-id-4044' size-in-bits='64' id='type-id-4010'/>
-      <pointer-type-def type-id='type-id-4045' size-in-bits='64' id='type-id-4029'/>
-      <pointer-type-def type-id='type-id-4046' size-in-bits='64' id='type-id-4036'/>
-      <pointer-type-def type-id='type-id-4047' size-in-bits='64' id='type-id-4030'/>
-      <pointer-type-def type-id='type-id-4048' size-in-bits='64' id='type-id-4028'/>
-      <pointer-type-def type-id='type-id-4049' size-in-bits='64' id='type-id-4027'/>
-      <pointer-type-def type-id='type-id-4050' size-in-bits='64' id='type-id-4031'/>
-      <pointer-type-def type-id='type-id-4051' size-in-bits='64' id='type-id-4026'/>
-      <pointer-type-def type-id='type-id-4052' size-in-bits='64' id='type-id-4033'/>
-      <pointer-type-def type-id='type-id-4053' size-in-bits='64' id='type-id-4034'/>
-      <pointer-type-def type-id='type-id-3994' size-in-bits='64' id='type-id-4007'/>
-      <pointer-type-def type-id='type-id-4020' size-in-bits='64' id='type-id-4005'/>
-      <pointer-type-def type-id='type-id-3999' size-in-bits='64' id='type-id-4006'/>
-      <pointer-type-def type-id='type-id-4016' size-in-bits='64' id='type-id-4054'/>
-      <pointer-type-def type-id='type-id-4024' size-in-bits='64' id='type-id-4021'/>
-      <pointer-type-def type-id='type-id-4002' size-in-bits='64' id='type-id-3995'/>
-      <pointer-type-def type-id='type-id-4038' size-in-bits='64' id='type-id-4008'/>
-      <pointer-type-def type-id='type-id-4055' size-in-bits='64' id='type-id-4000'/>
-      <pointer-type-def type-id='type-id-4056' size-in-bits='64' id='type-id-4001'/>
-      <pointer-type-def type-id='type-id-4057' size-in-bits='64' id='type-id-4032'/>
-      <pointer-type-def type-id='type-id-4058' size-in-bits='64' id='type-id-4035'/>
-      <pointer-type-def type-id='type-id-4059' size-in-bits='64' id='type-id-4015'/>
-      <function-decl name='regulator_enable' mangled-name='regulator_enable' filepath='drivers/regulator/core.c' line='2271' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regulator_enable'>
-        <parameter type-id='type-id-4006' name='regulator' filepath='drivers/regulator/core.c' line='2271' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='regulator_disable' mangled-name='regulator_disable' filepath='drivers/regulator/core.c' line='2385' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regulator_disable'>
-        <parameter type-id='type-id-4006' name='regulator' filepath='drivers/regulator/core.c' line='2385' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='regulator_count_voltages' mangled-name='regulator_count_voltages' filepath='drivers/regulator/core.c' line='2611' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regulator_count_voltages'>
-        <parameter type-id='type-id-4006' name='regulator' filepath='drivers/regulator/core.c' line='2611' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='regulator_list_voltage' mangled-name='regulator_list_voltage' filepath='drivers/regulator/core.c' line='2635' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regulator_list_voltage'>
-        <parameter type-id='type-id-4006' name='regulator' filepath='drivers/regulator/core.c' line='2635' column='1'/>
-        <parameter type-id='type-id-5' name='selector' filepath='drivers/regulator/core.c' line='2635' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='regulator_is_supported_voltage' mangled-name='regulator_is_supported_voltage' filepath='drivers/regulator/core.c' line='2736' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regulator_is_supported_voltage'>
-        <parameter type-id='type-id-4006' name='regulator' filepath='drivers/regulator/core.c' line='2736' column='1'/>
-        <parameter type-id='type-id-17' name='min_uV' filepath='drivers/regulator/core.c' line='2737' column='1'/>
-        <parameter type-id='type-id-17' name='max_uV' filepath='drivers/regulator/core.c' line='2737' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='regulator_get_voltage' mangled-name='regulator_get_voltage' filepath='drivers/regulator/core.c' line='3417' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regulator_get_voltage'>
-        <parameter type-id='type-id-4006' name='regulator' filepath='drivers/regulator/core.c' line='3417' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='regulator_set_voltage' mangled-name='regulator_set_voltage' filepath='drivers/regulator/core.c' line='3137' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regulator_set_voltage'>
-        <parameter type-id='type-id-4006' name='regulator' filepath='drivers/regulator/core.c' line='3137' column='1'/>
-        <parameter type-id='type-id-17' name='min_uV' filepath='drivers/regulator/core.c' line='3137' column='1'/>
-        <parameter type-id='type-id-17' name='max_uV' filepath='drivers/regulator/core.c' line='3137' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='regulator_get_current_limit' mangled-name='regulator_get_current_limit' filepath='drivers/regulator/core.c' line='3500' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regulator_get_current_limit'>
-        <parameter type-id='type-id-4006' name='regulator' filepath='drivers/regulator/core.c' line='3500' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-4044'>
-        <parameter type-id='type-id-3543'/>
-        <parameter type-id='type-id-4003'/>
-        <parameter type-id='type-id-4054'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4045'>
-        <parameter type-id='type-id-3995'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4046'>
-        <parameter type-id='type-id-3995'/>
-        <parameter type-id='type-id-2611'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4047'>
-        <parameter type-id='type-id-3995'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4048'>
-        <parameter type-id='type-id-3995'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4049'>
-        <parameter type-id='type-id-3995'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-482'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4050'>
-        <parameter type-id='type-id-3995'/>
-        <parameter type-id='type-id-33'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4051'>
-        <parameter type-id='type-id-3995'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4052'>
-        <parameter type-id='type-id-3995'/>
-        <parameter type-id='type-id-482'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4053'>
-        <parameter type-id='type-id-3995'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4055'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-4043'/>
-        <parameter type-id='type-id-2'/>
-        <return type-id='type-id-86'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4056'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-4043'/>
-        <parameter type-id='type-id-4'/>
-        <parameter type-id='type-id-84'/>
-        <return type-id='type-id-86'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4057'>
-        <parameter type-id='type-id-3995'/>
-        <return type-id='type-id-5'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4058'>
-        <parameter type-id='type-id-3995'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-5'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4059'>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-5'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/gpio/devres.c' language='LANG_C89'>
-      <class-decl name='irq_affinity_notify' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4060'/>
-      <class-decl name='irqaction' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4061'/>
-      <class-decl name='msi_desc' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4062'/>
-      <class-decl name='msi_msg' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4063'/>
-      <class-decl name='pinctrl' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4064'/>
-      <class-decl name='pinctrl_state' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4065'/>
-      <enum-decl name='irqchip_irq_state' id='type-id-4066'>
-        <underlying-type type-id='type-id-4067'/>
-      </enum-decl>
-      <array-type-def dimensions='1' type-id='type-id-4068' size-in-bits='infinite' id='type-id-4069'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-4070' size-in-bits='infinite' id='type-id-4071'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1343' size-in-bits='512' id='type-id-4072'>
-        <subrange length='16' type-id='type-id-9' id='type-id-135'/>
-
-      </array-type-def>
-      <type-decl name='unnamed-enum-underlying-type' is-anonymous='yes' id='type-id-4067'/>
-      <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='infinite' id='type-id-4073'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <class-decl name='gpio_desc' size-in-bits='256' is-struct='yes' visibility='default' filepath='drivers/gpio/gpiolib.h' line='205' column='1' id='type-id-4074'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='gdev' type-id='type-id-4075' visibility='default' filepath='drivers/gpio/gpiolib.h' line='206' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='drivers/gpio/gpiolib.h' line='207' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='label' type-id='type-id-4' visibility='default' filepath='drivers/gpio/gpiolib.h' line='221' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='drivers/gpio/gpiolib.h' line='223' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='gpio_device' size-in-bits='7808' is-struct='yes' visibility='default' filepath='drivers/gpio/gpiolib.h' line='51' column='1' id='type-id-4076'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='id' type-id='type-id-17' visibility='default' filepath='drivers/gpio/gpiolib.h' line='52' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='dev' type-id='type-id-388' visibility='default' filepath='drivers/gpio/gpiolib.h' line='53' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6272'>
-          <var-decl name='chrdev' type-id='type-id-266' visibility='default' filepath='drivers/gpio/gpiolib.h' line='54' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7104'>
-          <var-decl name='mockdev' type-id='type-id-240' visibility='default' filepath='drivers/gpio/gpiolib.h' line='55' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7168'>
-          <var-decl name='owner' type-id='type-id-260' visibility='default' filepath='drivers/gpio/gpiolib.h' line='56' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7232'>
-          <var-decl name='chip' type-id='type-id-4077' visibility='default' filepath='drivers/gpio/gpiolib.h' line='57' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7296'>
-          <var-decl name='descs' type-id='type-id-4018' visibility='default' filepath='drivers/gpio/gpiolib.h' line='58' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7360'>
-          <var-decl name='base' type-id='type-id-17' visibility='default' filepath='drivers/gpio/gpiolib.h' line='59' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7392'>
-          <var-decl name='ngpio' type-id='type-id-688' visibility='default' filepath='drivers/gpio/gpiolib.h' line='60' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7424'>
-          <var-decl name='label' type-id='type-id-4' visibility='default' filepath='drivers/gpio/gpiolib.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7488'>
-          <var-decl name='data' type-id='type-id-15' visibility='default' filepath='drivers/gpio/gpiolib.h' line='62' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7552'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='drivers/gpio/gpiolib.h' line='63' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7680'>
-          <var-decl name='pin_ranges' type-id='type-id-20' visibility='default' filepath='drivers/gpio/gpiolib.h' line='72' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='irq_domain' size-in-bits='1152' is-struct='yes' visibility='default' filepath='include/linux/irqdomain.h' line='157' column='1' id='type-id-4078'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='link' type-id='type-id-20' visibility='default' filepath='include/linux/irqdomain.h' line='158' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/irqdomain.h' line='159' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='ops' type-id='type-id-4079' visibility='default' filepath='include/linux/irqdomain.h' line='160' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='host_data' type-id='type-id-15' visibility='default' filepath='include/linux/irqdomain.h' line='161' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='include/linux/irqdomain.h' line='162' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='mapcount' type-id='type-id-5' visibility='default' filepath='include/linux/irqdomain.h' line='163' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='fwnode' type-id='type-id-2025' visibility='default' filepath='include/linux/irqdomain.h' line='166' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='bus_token' type-id='type-id-4080' visibility='default' filepath='include/linux/irqdomain.h' line='167' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='gc' type-id='type-id-4081' visibility='default' filepath='include/linux/irqdomain.h' line='168' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='parent' type-id='type-id-4082' visibility='default' filepath='include/linux/irqdomain.h' line='170' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='hwirq_max' type-id='type-id-4083' visibility='default' filepath='include/linux/irqdomain.h' line='177' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='revmap_direct_max_irq' type-id='type-id-5' visibility='default' filepath='include/linux/irqdomain.h' line='178' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='736'>
-          <var-decl name='revmap_size' type-id='type-id-5' visibility='default' filepath='include/linux/irqdomain.h' line='179' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='revmap_tree' type-id='type-id-415' visibility='default' filepath='include/linux/irqdomain.h' line='180' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='revmap_tree_mutex' type-id='type-id-245' visibility='default' filepath='include/linux/irqdomain.h' line='181' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='linear_revmap' type-id='type-id-4073' visibility='default' filepath='include/linux/irqdomain.h' line='182' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='irq_domain_ops' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/irqdomain.h' line='100' column='1' id='type-id-4084'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='match' type-id='type-id-4085' visibility='default' filepath='include/linux/irqdomain.h' line='101' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='select' type-id='type-id-4086' visibility='default' filepath='include/linux/irqdomain.h' line='103' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='map' type-id='type-id-4087' visibility='default' filepath='include/linux/irqdomain.h' line='105' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='unmap' type-id='type-id-4088' visibility='default' filepath='include/linux/irqdomain.h' line='106' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='xlate' type-id='type-id-4089' visibility='default' filepath='include/linux/irqdomain.h' line='107' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='alloc' type-id='type-id-4090' visibility='default' filepath='include/linux/irqdomain.h' line='112' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='free' type-id='type-id-4091' visibility='default' filepath='include/linux/irqdomain.h' line='114' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='activate' type-id='type-id-4092' visibility='default' filepath='include/linux/irqdomain.h' line='116' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='deactivate' type-id='type-id-4093' visibility='default' filepath='include/linux/irqdomain.h' line='117' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='translate' type-id='type-id-4094' visibility='default' filepath='include/linux/irqdomain.h' line='118' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='irq_domain_bus_token' filepath='include/linux/irqdomain.h' line='75' column='1' id='type-id-4080'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='DOMAIN_BUS_ANY' value='0'/>
-        <enumerator name='DOMAIN_BUS_WIRED' value='1'/>
-        <enumerator name='DOMAIN_BUS_PCI_MSI' value='2'/>
-        <enumerator name='DOMAIN_BUS_PLATFORM_MSI' value='3'/>
-        <enumerator name='DOMAIN_BUS_NEXUS' value='4'/>
-        <enumerator name='DOMAIN_BUS_IPI' value='5'/>
-        <enumerator name='DOMAIN_BUS_FSL_MC_MSI' value='6'/>
-      </enum-decl>
-      <class-decl name='irq_fwspec' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/irqdomain.h' line='62' column='1' id='type-id-4095'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='fwnode' type-id='type-id-2025' visibility='default' filepath='include/linux/irqdomain.h' line='63' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='param_count' type-id='type-id-17' visibility='default' filepath='include/linux/irqdomain.h' line='64' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='param' type-id='type-id-3922' visibility='default' filepath='include/linux/irqdomain.h' line='65' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='irq_hw_number_t' type-id='type-id-16' filepath='include/linux/types.h' line='174' column='1' id='type-id-4083'/>
-      <class-decl name='irq_data' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/irq.h' line='172' column='1' id='type-id-4096'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mask' type-id='type-id-7' visibility='default' filepath='include/linux/irq.h' line='173' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='irq' type-id='type-id-5' visibility='default' filepath='include/linux/irq.h' line='174' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='hwirq' type-id='type-id-16' visibility='default' filepath='include/linux/irq.h' line='175' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='common' type-id='type-id-4097' visibility='default' filepath='include/linux/irq.h' line='176' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='chip' type-id='type-id-4098' visibility='default' filepath='include/linux/irq.h' line='177' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='domain' type-id='type-id-4082' visibility='default' filepath='include/linux/irq.h' line='178' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='parent_data' type-id='type-id-4099' visibility='default' filepath='include/linux/irq.h' line='180' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='chip_data' type-id='type-id-15' visibility='default' filepath='include/linux/irq.h' line='182' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='irq_common_data' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/irq.h' line='142' column='1' id='type-id-4100'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='state_use_accessors' type-id='type-id-5' visibility='default' filepath='include/linux/irq.h' line='143' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='handler_data' type-id='type-id-15' visibility='default' filepath='include/linux/irq.h' line='147' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='msi_desc' type-id='type-id-4101' visibility='default' filepath='include/linux/irq.h' line='148' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='affinity' type-id='type-id-38' visibility='default' filepath='include/linux/irq.h' line='149' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='effective_affinity' type-id='type-id-38' visibility='default' filepath='include/linux/irq.h' line='151' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='irq_chip' size-in-bits='2176' is-struct='yes' visibility='default' filepath='include/linux/irq.h' line='446' column='1' id='type-id-4102'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='parent_device' type-id='type-id-240' visibility='default' filepath='include/linux/irq.h' line='447' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/irq.h' line='448' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='irq_startup' type-id='type-id-4103' visibility='default' filepath='include/linux/irq.h' line='449' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='irq_shutdown' type-id='type-id-4104' visibility='default' filepath='include/linux/irq.h' line='450' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='irq_enable' type-id='type-id-4104' visibility='default' filepath='include/linux/irq.h' line='451' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='irq_disable' type-id='type-id-4104' visibility='default' filepath='include/linux/irq.h' line='452' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='irq_ack' type-id='type-id-4104' visibility='default' filepath='include/linux/irq.h' line='454' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='irq_mask' type-id='type-id-4104' visibility='default' filepath='include/linux/irq.h' line='455' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='irq_mask_ack' type-id='type-id-4104' visibility='default' filepath='include/linux/irq.h' line='456' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='irq_unmask' type-id='type-id-4104' visibility='default' filepath='include/linux/irq.h' line='457' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='irq_eoi' type-id='type-id-4104' visibility='default' filepath='include/linux/irq.h' line='458' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='irq_set_affinity' type-id='type-id-4105' visibility='default' filepath='include/linux/irq.h' line='460' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='irq_retrigger' type-id='type-id-4106' visibility='default' filepath='include/linux/irq.h' line='461' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='irq_set_type' type-id='type-id-4107' visibility='default' filepath='include/linux/irq.h' line='462' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='irq_set_wake' type-id='type-id-4107' visibility='default' filepath='include/linux/irq.h' line='463' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='irq_bus_lock' type-id='type-id-4104' visibility='default' filepath='include/linux/irq.h' line='465' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='irq_bus_sync_unlock' type-id='type-id-4104' visibility='default' filepath='include/linux/irq.h' line='466' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='irq_cpu_online' type-id='type-id-4104' visibility='default' filepath='include/linux/irq.h' line='468' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='irq_cpu_offline' type-id='type-id-4104' visibility='default' filepath='include/linux/irq.h' line='469' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='irq_suspend' type-id='type-id-4104' visibility='default' filepath='include/linux/irq.h' line='471' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='irq_resume' type-id='type-id-4104' visibility='default' filepath='include/linux/irq.h' line='472' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='irq_pm_shutdown' type-id='type-id-4104' visibility='default' filepath='include/linux/irq.h' line='473' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='irq_calc_mask' type-id='type-id-4104' visibility='default' filepath='include/linux/irq.h' line='475' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='irq_print_chip' type-id='type-id-4108' visibility='default' filepath='include/linux/irq.h' line='477' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='irq_request_resources' type-id='type-id-4106' visibility='default' filepath='include/linux/irq.h' line='478' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='irq_release_resources' type-id='type-id-4104' visibility='default' filepath='include/linux/irq.h' line='479' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='irq_compose_msi_msg' type-id='type-id-4109' visibility='default' filepath='include/linux/irq.h' line='481' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='irq_write_msi_msg' type-id='type-id-4109' visibility='default' filepath='include/linux/irq.h' line='482' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='irq_get_irqchip_state' type-id='type-id-4110' visibility='default' filepath='include/linux/irq.h' line='484' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='irq_set_irqchip_state' type-id='type-id-4111' visibility='default' filepath='include/linux/irq.h' line='485' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='irq_set_vcpu_affinity' type-id='type-id-4112' visibility='default' filepath='include/linux/irq.h' line='487' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='ipi_send_single' type-id='type-id-4113' visibility='default' filepath='include/linux/irq.h' line='489' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='ipi_send_mask' type-id='type-id-4114' visibility='default' filepath='include/linux/irq.h' line='490' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='include/linux/irq.h' line='492' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='irq_domain_chip_generic' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/irq.h' line='1024' column='1' id='type-id-4115'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='irqs_per_chip' type-id='type-id-5' visibility='default' filepath='include/linux/irq.h' line='1025' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='num_chips' type-id='type-id-5' visibility='default' filepath='include/linux/irq.h' line='1026' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='irq_flags_to_clear' type-id='type-id-5' visibility='default' filepath='include/linux/irq.h' line='1027' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='irq_flags_to_set' type-id='type-id-5' visibility='default' filepath='include/linux/irq.h' line='1028' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='gc_flags' type-id='type-id-4116' visibility='default' filepath='include/linux/irq.h' line='1029' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='gc' type-id='type-id-4069' visibility='default' filepath='include/linux/irq.h' line='1030' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='irq_gc_flags' filepath='include/linux/irq.h' line='1007' column='1' id='type-id-4116'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='IRQ_GC_INIT_MASK_CACHE' value='1'/>
-        <enumerator name='IRQ_GC_INIT_NESTED_LOCK' value='2'/>
-        <enumerator name='IRQ_GC_MASK_CACHE_PER_TYPE' value='4'/>
-        <enumerator name='IRQ_GC_NO_MASK' value='8'/>
-        <enumerator name='IRQ_GC_BE_IO' value='16'/>
-      </enum-decl>
-      <class-decl name='irq_chip_generic' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/linux/irq.h' line='974' column='1' id='type-id-4117'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lock' type-id='type-id-36' visibility='default' filepath='include/linux/irq.h' line='975' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='reg_base' type-id='type-id-15' visibility='default' filepath='include/linux/irq.h' line='976' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='reg_readl' type-id='type-id-1271' visibility='default' filepath='include/linux/irq.h' line='977' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='reg_writel' type-id='type-id-4118' visibility='default' filepath='include/linux/irq.h' line='978' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='suspend' type-id='type-id-4119' visibility='default' filepath='include/linux/irq.h' line='979' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='resume' type-id='type-id-4119' visibility='default' filepath='include/linux/irq.h' line='980' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='irq_base' type-id='type-id-5' visibility='default' filepath='include/linux/irq.h' line='981' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='irq_cnt' type-id='type-id-5' visibility='default' filepath='include/linux/irq.h' line='982' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='mask_cache' type-id='type-id-7' visibility='default' filepath='include/linux/irq.h' line='983' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='type_cache' type-id='type-id-7' visibility='default' filepath='include/linux/irq.h' line='984' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='polarity_cache' type-id='type-id-7' visibility='default' filepath='include/linux/irq.h' line='985' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='wake_enabled' type-id='type-id-7' visibility='default' filepath='include/linux/irq.h' line='986' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='wake_active' type-id='type-id-7' visibility='default' filepath='include/linux/irq.h' line='987' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='num_ct' type-id='type-id-5' visibility='default' filepath='include/linux/irq.h' line='988' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='private' type-id='type-id-15' visibility='default' filepath='include/linux/irq.h' line='989' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='installed' type-id='type-id-16' visibility='default' filepath='include/linux/irq.h' line='990' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='unused' type-id='type-id-16' visibility='default' filepath='include/linux/irq.h' line='991' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='domain' type-id='type-id-4082' visibility='default' filepath='include/linux/irq.h' line='992' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/irq.h' line='993' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='chip_types' type-id='type-id-4071' visibility='default' filepath='include/linux/irq.h' line='994' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='irq_chip_type' size-in-bits='2816' is-struct='yes' visibility='default' filepath='include/linux/irq.h' line='932' column='1' id='type-id-4070'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='chip' type-id='type-id-4102' visibility='default' filepath='include/linux/irq.h' line='933' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='regs' type-id='type-id-4120' visibility='default' filepath='include/linux/irq.h' line='934' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2624'>
-          <var-decl name='handler' type-id='type-id-4121' visibility='default' filepath='include/linux/irq.h' line='935' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2688'>
-          <var-decl name='type' type-id='type-id-7' visibility='default' filepath='include/linux/irq.h' line='936' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2720'>
-          <var-decl name='mask_cache_priv' type-id='type-id-7' visibility='default' filepath='include/linux/irq.h' line='937' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2752'>
-          <var-decl name='mask_cache' type-id='type-id-1567' visibility='default' filepath='include/linux/irq.h' line='938' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='irq_chip_regs' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/irq.h' line='909' column='1' id='type-id-4120'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='enable' type-id='type-id-16' visibility='default' filepath='include/linux/irq.h' line='910' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='disable' type-id='type-id-16' visibility='default' filepath='include/linux/irq.h' line='911' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='mask' type-id='type-id-16' visibility='default' filepath='include/linux/irq.h' line='912' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='ack' type-id='type-id-16' visibility='default' filepath='include/linux/irq.h' line='913' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='eoi' type-id='type-id-16' visibility='default' filepath='include/linux/irq.h' line='914' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='type' type-id='type-id-16' visibility='default' filepath='include/linux/irq.h' line='915' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='polarity' type-id='type-id-16' visibility='default' filepath='include/linux/irq.h' line='916' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='irq_desc' size-in-bits='3584' is-struct='yes' visibility='default' filepath='include/linux/irqdesc.h' line='55' column='1' id='type-id-4122'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='irq_common_data' type-id='type-id-4100' visibility='default' filepath='include/linux/irqdesc.h' line='56' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='irq_data' type-id='type-id-4096' visibility='default' filepath='include/linux/irqdesc.h' line='57' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='kstat_irqs' type-id='type-id-482' visibility='default' filepath='include/linux/irqdesc.h' line='58' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='handle_irq' type-id='type-id-4121' visibility='default' filepath='include/linux/irqdesc.h' line='59' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='action' type-id='type-id-4123' visibility='default' filepath='include/linux/irqdesc.h' line='63' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='status_use_accessors' type-id='type-id-5' visibility='default' filepath='include/linux/irqdesc.h' line='64' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='992'>
-          <var-decl name='core_internal_state__do_not_mess_with_it' type-id='type-id-5' visibility='default' filepath='include/linux/irqdesc.h' line='65' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='depth' type-id='type-id-5' visibility='default' filepath='include/linux/irqdesc.h' line='66' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1056'>
-          <var-decl name='wake_depth' type-id='type-id-5' visibility='default' filepath='include/linux/irqdesc.h' line='67' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='tot_count' type-id='type-id-5' visibility='default' filepath='include/linux/irqdesc.h' line='68' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1120'>
-          <var-decl name='irq_count' type-id='type-id-5' visibility='default' filepath='include/linux/irqdesc.h' line='69' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='last_unhandled' type-id='type-id-16' visibility='default' filepath='include/linux/irqdesc.h' line='70' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='irqs_unhandled' type-id='type-id-5' visibility='default' filepath='include/linux/irqdesc.h' line='71' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1248'>
-          <var-decl name='threads_handled' type-id='type-id-26' visibility='default' filepath='include/linux/irqdesc.h' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='threads_handled_last' type-id='type-id-17' visibility='default' filepath='include/linux/irqdesc.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1312'>
-          <var-decl name='lock' type-id='type-id-36' visibility='default' filepath='include/linux/irqdesc.h' line='74' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='percpu_enabled' type-id='type-id-3374' visibility='default' filepath='include/linux/irqdesc.h' line='75' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='percpu_affinity' type-id='type-id-3386' visibility='default' filepath='include/linux/irqdesc.h' line='76' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='affinity_hint' type-id='type-id-3386' visibility='default' filepath='include/linux/irqdesc.h' line='78' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='affinity_notify' type-id='type-id-4124' visibility='default' filepath='include/linux/irqdesc.h' line='79' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='threads_oneshot' type-id='type-id-16' visibility='default' filepath='include/linux/irqdesc.h' line='84' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='threads_active' type-id='type-id-26' visibility='default' filepath='include/linux/irqdesc.h' line='85' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='wait_for_threads' type-id='type-id-225' visibility='default' filepath='include/linux/irqdesc.h' line='86' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='nr_actions' type-id='type-id-5' visibility='default' filepath='include/linux/irqdesc.h' line='88' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1952'>
-          <var-decl name='no_suspend_depth' type-id='type-id-5' visibility='default' filepath='include/linux/irqdesc.h' line='89' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='cond_suspend_depth' type-id='type-id-5' visibility='default' filepath='include/linux/irqdesc.h' line='90' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2016'>
-          <var-decl name='force_resume_depth' type-id='type-id-5' visibility='default' filepath='include/linux/irqdesc.h' line='91' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='dir' type-id='type-id-262' visibility='default' filepath='include/linux/irqdesc.h' line='94' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/linux/irqdesc.h' line='101' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='kobj' type-id='type-id-267' visibility='default' filepath='include/linux/irqdesc.h' line='102' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2752'>
-          <var-decl name='request_mutex' type-id='type-id-245' visibility='default' filepath='include/linux/irqdesc.h' line='104' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3008'>
-          <var-decl name='parent_irq' type-id='type-id-17' visibility='default' filepath='include/linux/irqdesc.h' line='105' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3072'>
-          <var-decl name='owner' type-id='type-id-260' visibility='default' filepath='include/linux/irqdesc.h' line='106' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3136'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/irqdesc.h' line='107' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='irq_flow_handler_t' type-id='type-id-4125' filepath='include/linux/irqhandler.h' line='12' column='1' id='type-id-4121'/>
-      <class-decl name='gpio_chip' size-in-bits='2496' is-struct='yes' visibility='default' filepath='include/linux/gpio/driver.h' line='232' column='1' id='type-id-4126'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='label' type-id='type-id-4' visibility='default' filepath='include/linux/gpio/driver.h' line='233' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='gpiodev' type-id='type-id-4075' visibility='default' filepath='include/linux/gpio/driver.h' line='234' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='parent' type-id='type-id-240' visibility='default' filepath='include/linux/gpio/driver.h' line='235' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='owner' type-id='type-id-260' visibility='default' filepath='include/linux/gpio/driver.h' line='236' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='request' type-id='type-id-4127' visibility='default' filepath='include/linux/gpio/driver.h' line='238' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='free' type-id='type-id-4128' visibility='default' filepath='include/linux/gpio/driver.h' line='240' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='get_direction' type-id='type-id-4127' visibility='default' filepath='include/linux/gpio/driver.h' line='242' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='direction_input' type-id='type-id-4127' visibility='default' filepath='include/linux/gpio/driver.h' line='244' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='direction_output' type-id='type-id-4129' visibility='default' filepath='include/linux/gpio/driver.h' line='246' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='get' type-id='type-id-4127' visibility='default' filepath='include/linux/gpio/driver.h' line='248' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='get_multiple' type-id='type-id-4130' visibility='default' filepath='include/linux/gpio/driver.h' line='250' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='set' type-id='type-id-4131' visibility='default' filepath='include/linux/gpio/driver.h' line='253' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='set_multiple' type-id='type-id-4132' visibility='default' filepath='include/linux/gpio/driver.h' line='255' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='set_config' type-id='type-id-4133' visibility='default' filepath='include/linux/gpio/driver.h' line='258' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='to_irq' type-id='type-id-4127' visibility='default' filepath='include/linux/gpio/driver.h' line='261' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='dbg_show' type-id='type-id-4134' visibility='default' filepath='include/linux/gpio/driver.h' line='264' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='base' type-id='type-id-17' visibility='default' filepath='include/linux/gpio/driver.h' line='266' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1056'>
-          <var-decl name='ngpio' type-id='type-id-688' visibility='default' filepath='include/linux/gpio/driver.h' line='267' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='names' type-id='type-id-92' visibility='default' filepath='include/linux/gpio/driver.h' line='268' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='can_sleep' type-id='type-id-33' visibility='default' filepath='include/linux/gpio/driver.h' line='269' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='irq' type-id='type-id-4135' visibility='default' filepath='include/linux/gpio/driver.h' line='298' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='need_valid_mask' type-id='type-id-33' visibility='default' filepath='include/linux/gpio/driver.h' line='306' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='valid_mask' type-id='type-id-45' visibility='default' filepath='include/linux/gpio/driver.h' line='314' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2304'>
-          <var-decl name='of_node' type-id='type-id-3543' visibility='default' filepath='include/linux/gpio/driver.h' line='327' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='of_gpio_n_cells' type-id='type-id-5' visibility='default' filepath='include/linux/gpio/driver.h' line='334' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2432'>
-          <var-decl name='of_xlate' type-id='type-id-4136' visibility='default' filepath='include/linux/gpio/driver.h' line='342' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='gpio_irq_chip' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/linux/gpio/driver.h' line='27' column='1' id='type-id-4135'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='chip' type-id='type-id-4098' visibility='default' filepath='include/linux/gpio/driver.h' line='33' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='domain' type-id='type-id-4082' visibility='default' filepath='include/linux/gpio/driver.h' line='41' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='domain_ops' type-id='type-id-4079' visibility='default' filepath='include/linux/gpio/driver.h' line='48' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='handler' type-id='type-id-4121' visibility='default' filepath='include/linux/gpio/driver.h' line='56' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='default_type' type-id='type-id-5' visibility='default' filepath='include/linux/gpio/driver.h' line='64' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='lock_key' type-id='type-id-1698' visibility='default' filepath='include/linux/gpio/driver.h' line='71' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='request_key' type-id='type-id-1698' visibility='default' filepath='include/linux/gpio/driver.h' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='parent_handler' type-id='type-id-4121' visibility='default' filepath='include/linux/gpio/driver.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='parent_handler_data' type-id='type-id-15' visibility='default' filepath='include/linux/gpio/driver.h' line='88' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='num_parents' type-id='type-id-5' visibility='default' filepath='include/linux/gpio/driver.h' line='95' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='parent_irq' type-id='type-id-5' visibility='default' filepath='include/linux/gpio/driver.h' line='102' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='parents' type-id='type-id-482' visibility='default' filepath='include/linux/gpio/driver.h' line='110' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='map' type-id='type-id-482' visibility='default' filepath='include/linux/gpio/driver.h' line='117' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='threaded' type-id='type-id-33' visibility='default' filepath='include/linux/gpio/driver.h' line='124' column='1'/>
+          <var-decl name='mr_qrv' type-id='type-id-271' visibility='default' filepath='include/linux/inetdevice.h' line='42' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='776'>
-          <var-decl name='need_valid_mask' type-id='type-id-33' visibility='default' filepath='include/linux/gpio/driver.h' line='131' column='1'/>
+          <var-decl name='mr_gq_running' type-id='type-id-271' visibility='default' filepath='include/linux/inetdevice.h' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='784'>
+          <var-decl name='mr_ifc_count' type-id='type-id-271' visibility='default' filepath='include/linux/inetdevice.h' line='44' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='valid_mask' type-id='type-id-45' visibility='default' filepath='include/linux/gpio/driver.h' line='139' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='first' type-id='type-id-5' visibility='default' filepath='include/linux/gpio/driver.h' line='147' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='of_phandle_args' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/of.h' line='76' column='1' id='type-id-3514'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='np' type-id='type-id-3543' visibility='default' filepath='include/linux/of.h' line='77' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='args_count' type-id='type-id-17' visibility='default' filepath='include/linux/of.h' line='78' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='args' type-id='type-id-4072' visibility='default' filepath='include/linux/of.h' line='79' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='gpiod_flags' filepath='include/linux/gpio/consumer.h' line='38' column='1' id='type-id-4137'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='GPIOD_ASIS' value='0'/>
-        <enumerator name='GPIOD_IN' value='1'/>
-        <enumerator name='GPIOD_OUT_LOW' value='3'/>
-        <enumerator name='GPIOD_OUT_HIGH' value='7'/>
-        <enumerator name='GPIOD_OUT_LOW_OPEN_DRAIN' value='11'/>
-        <enumerator name='GPIOD_OUT_HIGH_OPEN_DRAIN' value='15'/>
-      </enum-decl>
-      <qualified-type-def type-id='type-id-4084' const='yes' id='type-id-4138'/>
-      <pointer-type-def type-id='type-id-4138' size-in-bits='64' id='type-id-4079'/>
-      <qualified-type-def type-id='type-id-3514' const='yes' id='type-id-4139'/>
-      <pointer-type-def type-id='type-id-4139' size-in-bits='64' id='type-id-4140'/>
-      <pointer-type-def type-id='type-id-4126' size-in-bits='64' id='type-id-4077'/>
-      <pointer-type-def type-id='type-id-4074' size-in-bits='64' id='type-id-4018'/>
-      <pointer-type-def type-id='type-id-4076' size-in-bits='64' id='type-id-4075'/>
-      <pointer-type-def type-id='type-id-4141' size-in-bits='64' id='type-id-4136'/>
-      <pointer-type-def type-id='type-id-4142' size-in-bits='64' id='type-id-4127'/>
-      <pointer-type-def type-id='type-id-4143' size-in-bits='64' id='type-id-4129'/>
-      <pointer-type-def type-id='type-id-4144' size-in-bits='64' id='type-id-4133'/>
-      <pointer-type-def type-id='type-id-4145' size-in-bits='64' id='type-id-4130'/>
-      <pointer-type-def type-id='type-id-4146' size-in-bits='64' id='type-id-4106'/>
-      <pointer-type-def type-id='type-id-4147' size-in-bits='64' id='type-id-4105'/>
-      <pointer-type-def type-id='type-id-4148' size-in-bits='64' id='type-id-4110'/>
-      <pointer-type-def type-id='type-id-4149' size-in-bits='64' id='type-id-4111'/>
-      <pointer-type-def type-id='type-id-4150' size-in-bits='64' id='type-id-4107'/>
-      <pointer-type-def type-id='type-id-4151' size-in-bits='64' id='type-id-4112'/>
-      <pointer-type-def type-id='type-id-4152' size-in-bits='64' id='type-id-4089'/>
-      <pointer-type-def type-id='type-id-4153' size-in-bits='64' id='type-id-4085'/>
-      <pointer-type-def type-id='type-id-4154' size-in-bits='64' id='type-id-4092'/>
-      <pointer-type-def type-id='type-id-4155' size-in-bits='64' id='type-id-4086'/>
-      <pointer-type-def type-id='type-id-4156' size-in-bits='64' id='type-id-4094'/>
-      <pointer-type-def type-id='type-id-4157' size-in-bits='64' id='type-id-4087'/>
-      <pointer-type-def type-id='type-id-4158' size-in-bits='64' id='type-id-4090'/>
-      <pointer-type-def type-id='type-id-4060' size-in-bits='64' id='type-id-4124'/>
-      <pointer-type-def type-id='type-id-4102' size-in-bits='64' id='type-id-4098'/>
-      <pointer-type-def type-id='type-id-4117' size-in-bits='64' id='type-id-4068'/>
-      <pointer-type-def type-id='type-id-4100' size-in-bits='64' id='type-id-4097'/>
-      <pointer-type-def type-id='type-id-4096' size-in-bits='64' id='type-id-4099'/>
-      <pointer-type-def type-id='type-id-4122' size-in-bits='64' id='type-id-4159'/>
-      <pointer-type-def type-id='type-id-4078' size-in-bits='64' id='type-id-4082'/>
-      <pointer-type-def type-id='type-id-4115' size-in-bits='64' id='type-id-4081'/>
-      <pointer-type-def type-id='type-id-4095' size-in-bits='64' id='type-id-4160'/>
-      <pointer-type-def type-id='type-id-4061' size-in-bits='64' id='type-id-4123'/>
-      <pointer-type-def type-id='type-id-4062' size-in-bits='64' id='type-id-4101'/>
-      <pointer-type-def type-id='type-id-4063' size-in-bits='64' id='type-id-4161'/>
-      <pointer-type-def type-id='type-id-4064' size-in-bits='64' id='type-id-4162'/>
-      <pointer-type-def type-id='type-id-4065' size-in-bits='64' id='type-id-4163'/>
-      <pointer-type-def type-id='type-id-4164' size-in-bits='64' id='type-id-4103'/>
-      <pointer-type-def type-id='type-id-4165' size-in-bits='64' id='type-id-4128'/>
-      <pointer-type-def type-id='type-id-4166' size-in-bits='64' id='type-id-4131'/>
-      <pointer-type-def type-id='type-id-4167' size-in-bits='64' id='type-id-4132'/>
-      <pointer-type-def type-id='type-id-4168' size-in-bits='64' id='type-id-4119'/>
-      <pointer-type-def type-id='type-id-4169' size-in-bits='64' id='type-id-4104'/>
-      <pointer-type-def type-id='type-id-4170' size-in-bits='64' id='type-id-4114'/>
-      <pointer-type-def type-id='type-id-4171' size-in-bits='64' id='type-id-4109'/>
-      <pointer-type-def type-id='type-id-4172' size-in-bits='64' id='type-id-4108'/>
-      <pointer-type-def type-id='type-id-4173' size-in-bits='64' id='type-id-4113'/>
-      <pointer-type-def type-id='type-id-4174' size-in-bits='64' id='type-id-4125'/>
-      <pointer-type-def type-id='type-id-4175' size-in-bits='64' id='type-id-4093'/>
-      <pointer-type-def type-id='type-id-4176' size-in-bits='64' id='type-id-4088'/>
-      <pointer-type-def type-id='type-id-4177' size-in-bits='64' id='type-id-4091'/>
-      <pointer-type-def type-id='type-id-4178' size-in-bits='64' id='type-id-4134'/>
-      <pointer-type-def type-id='type-id-4179' size-in-bits='64' id='type-id-4118'/>
-      <function-decl name='devm_gpiod_get_index' mangled-name='devm_gpiod_get_index' filepath='drivers/gpio/devres.c' line='101' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_gpiod_get_index'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/gpio/devres.c' line='101' column='1'/>
-        <parameter type-id='type-id-4' name='con_id' filepath='drivers/gpio/devres.c' line='102' column='1'/>
-        <parameter type-id='type-id-5' name='idx' filepath='drivers/gpio/devres.c' line='103' column='1'/>
-        <parameter type-id='type-id-4137' name='flags' filepath='drivers/gpio/devres.c' line='104' column='1'/>
-        <return type-id='type-id-4018'/>
-      </function-decl>
-      <function-decl name='devm_gpio_request_one' mangled-name='devm_gpio_request_one' filepath='drivers/gpio/devres.c' line='408' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_gpio_request_one'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/gpio/devres.c' line='408' column='1'/>
-        <parameter type-id='type-id-5' name='gpio' filepath='drivers/gpio/devres.c' line='408' column='1'/>
-        <parameter type-id='type-id-16' name='flags' filepath='drivers/gpio/devres.c' line='409' column='1'/>
-        <parameter type-id='type-id-4' name='label' filepath='drivers/gpio/devres.c' line='409' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-4141'>
-        <parameter type-id='type-id-4077'/>
-        <parameter type-id='type-id-4140'/>
-        <parameter type-id='type-id-1567'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4142'>
-        <parameter type-id='type-id-4077'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4143'>
-        <parameter type-id='type-id-4077'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4144'>
-        <parameter type-id='type-id-4077'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4145'>
-        <parameter type-id='type-id-4077'/>
-        <parameter type-id='type-id-45'/>
-        <parameter type-id='type-id-45'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4146'>
-        <parameter type-id='type-id-4099'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4147'>
-        <parameter type-id='type-id-4099'/>
-        <parameter type-id='type-id-3386'/>
-        <parameter type-id='type-id-33'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4148'>
-        <parameter type-id='type-id-4099'/>
-        <parameter type-id='type-id-4066'/>
-        <parameter type-id='type-id-2611'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4149'>
-        <parameter type-id='type-id-4099'/>
-        <parameter type-id='type-id-4066'/>
-        <parameter type-id='type-id-33'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4150'>
-        <parameter type-id='type-id-4099'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4151'>
-        <parameter type-id='type-id-4099'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4152'>
-        <parameter type-id='type-id-4082'/>
-        <parameter type-id='type-id-3543'/>
-        <parameter type-id='type-id-2727'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-45'/>
-        <parameter type-id='type-id-482'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4153'>
-        <parameter type-id='type-id-4082'/>
-        <parameter type-id='type-id-3543'/>
-        <parameter type-id='type-id-4080'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4154'>
-        <parameter type-id='type-id-4082'/>
-        <parameter type-id='type-id-4099'/>
-        <parameter type-id='type-id-33'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4155'>
-        <parameter type-id='type-id-4082'/>
-        <parameter type-id='type-id-4160'/>
-        <parameter type-id='type-id-4080'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4156'>
-        <parameter type-id='type-id-4082'/>
-        <parameter type-id='type-id-4160'/>
-        <parameter type-id='type-id-45'/>
-        <parameter type-id='type-id-482'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4157'>
-        <parameter type-id='type-id-4082'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-4083'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4158'>
-        <parameter type-id='type-id-4082'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4164'>
-        <parameter type-id='type-id-4099'/>
-        <return type-id='type-id-5'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4165'>
-        <parameter type-id='type-id-4077'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4166'>
-        <parameter type-id='type-id-4077'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4167'>
-        <parameter type-id='type-id-4077'/>
-        <parameter type-id='type-id-45'/>
-        <parameter type-id='type-id-45'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4168'>
-        <parameter type-id='type-id-4068'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4169'>
-        <parameter type-id='type-id-4099'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4170'>
-        <parameter type-id='type-id-4099'/>
-        <parameter type-id='type-id-3386'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4171'>
-        <parameter type-id='type-id-4099'/>
-        <parameter type-id='type-id-4161'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4172'>
-        <parameter type-id='type-id-4099'/>
-        <parameter type-id='type-id-88'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4173'>
-        <parameter type-id='type-id-4099'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4174'>
-        <parameter type-id='type-id-4159'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4175'>
-        <parameter type-id='type-id-4082'/>
-        <parameter type-id='type-id-4099'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4176'>
-        <parameter type-id='type-id-4082'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4177'>
-        <parameter type-id='type-id-4082'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4178'>
-        <parameter type-id='type-id-88'/>
-        <parameter type-id='type-id-4077'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4179'>
-        <parameter type-id='type-id-7'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/gpio/gpiolib.c' language='LANG_C89'>
-      <qualified-type-def type-id='type-id-4074' const='yes' id='type-id-4180'/>
-      <pointer-type-def type-id='type-id-4180' size-in-bits='64' id='type-id-4181'/>
-      <function-decl name='gpio_to_desc' mangled-name='gpio_to_desc' filepath='drivers/gpio/gpiolib.c' line='105' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gpio_to_desc'>
-        <parameter type-id='type-id-5' name='gpio' filepath='drivers/gpio/gpiolib.c' line='105' column='1'/>
-        <return type-id='type-id-4018'/>
-      </function-decl>
-      <function-decl name='gpiod_set_debounce' mangled-name='gpiod_set_debounce' filepath='drivers/gpio/gpiolib.c' line='2725' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gpiod_set_debounce'>
-        <parameter type-id='type-id-4018' name='desc' filepath='drivers/gpio/gpiolib.c' line='2725' column='1'/>
-        <parameter type-id='type-id-5' name='debounce' filepath='drivers/gpio/gpiolib.c' line='2725' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='gpiod_is_active_low' mangled-name='gpiod_is_active_low' filepath='drivers/gpio/gpiolib.c' line='2794' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gpiod_is_active_low'>
-        <parameter type-id='type-id-4181' name='desc' filepath='drivers/gpio/gpiolib.c' line='2794' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='gpiod_get_raw_value' mangled-name='gpiod_get_raw_value' filepath='drivers/gpio/gpiolib.c' line='2930' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gpiod_get_raw_value'>
-        <parameter type-id='type-id-4181' name='desc' filepath='drivers/gpio/gpiolib.c' line='2930' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='gpiod_get_value' mangled-name='gpiod_get_value' filepath='drivers/gpio/gpiolib.c' line='2949' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gpiod_get_value'>
-        <parameter type-id='type-id-4181' name='desc' filepath='drivers/gpio/gpiolib.c' line='2949' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='gpiod_cansleep' mangled-name='gpiod_cansleep' filepath='drivers/gpio/gpiolib.c' line='3271' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gpiod_cansleep'>
-        <parameter type-id='type-id-4181' name='desc' filepath='drivers/gpio/gpiolib.c' line='3271' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='gpiod_to_irq' mangled-name='gpiod_to_irq' filepath='drivers/gpio/gpiolib.c' line='3306' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gpiod_to_irq'>
-        <parameter type-id='type-id-4181' name='desc' filepath='drivers/gpio/gpiolib.c' line='3306' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='gpiod_get_raw_value_cansleep' mangled-name='gpiod_get_raw_value_cansleep' filepath='drivers/gpio/gpiolib.c' line='3454' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gpiod_get_raw_value_cansleep'>
-        <parameter type-id='type-id-4181' name='desc' filepath='drivers/gpio/gpiolib.c' line='3454' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='gpiod_get_value_cansleep' mangled-name='gpiod_get_value_cansleep' filepath='drivers/gpio/gpiolib.c' line='3471' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gpiod_get_value_cansleep'>
-        <parameter type-id='type-id-4181' name='desc' filepath='drivers/gpio/gpiolib.c' line='3471' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/pci/access.c' language='LANG_C89'>
-      <qualified-type-def type-id='type-id-3923' const='yes' id='type-id-4182'/>
-      <pointer-type-def type-id='type-id-4182' size-in-bits='64' id='type-id-4183'/>
-      <function-decl name='pci_read_config_dword' mangled-name='pci_read_config_dword' filepath='drivers/pci/access.c' line='556' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_read_config_dword'>
-        <parameter type-id='type-id-4183' name='dev' filepath='drivers/pci/access.c' line='556' column='1'/>
-        <parameter type-id='type-id-17' name='where' filepath='drivers/pci/access.c' line='556' column='1'/>
-        <parameter type-id='type-id-1567' name='val' filepath='drivers/pci/access.c' line='557' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='pci_read_config_byte' mangled-name='pci_read_config_byte' filepath='drivers/pci/access.c' line='536' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_read_config_byte'>
-        <parameter type-id='type-id-4183' name='dev' filepath='drivers/pci/access.c' line='536' column='1'/>
-        <parameter type-id='type-id-17' name='where' filepath='drivers/pci/access.c' line='536' column='1'/>
-        <parameter type-id='type-id-3121' name='val' filepath='drivers/pci/access.c' line='536' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/pci/pci-driver.c' language='LANG_C89'>
-      <function-decl name='__pci_register_driver' mangled-name='__pci_register_driver' filepath='drivers/pci/pci-driver.c' line='1395' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__pci_register_driver'>
-        <parameter type-id='type-id-3926' name='drv' filepath='drivers/pci/pci-driver.c' line='1395' column='1'/>
-        <parameter type-id='type-id-260' name='owner' filepath='drivers/pci/pci-driver.c' line='1395' column='1'/>
-        <parameter type-id='type-id-4' name='mod_name' filepath='drivers/pci/pci-driver.c' line='1396' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='pci_unregister_driver' mangled-name='pci_unregister_driver' filepath='drivers/pci/pci-driver.c' line='1423' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pci_unregister_driver'>
-        <parameter type-id='type-id-3926' name='drv' filepath='drivers/pci/pci-driver.c' line='1423' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/video/fbdev/core/fbmem.c' language='LANG_C89'>
-      <array-type-def dimensions='1' type-id='type-id-4184' size-in-bits='infinite' id='type-id-4185'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <class-decl name='apertures_struct' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/fb.h' line='522' column='1' id='type-id-4186'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='count' type-id='type-id-5' visibility='default' filepath='include/linux/fb.h' line='523' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ranges' type-id='type-id-4185' visibility='default' filepath='include/linux/fb.h' line='527' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='aperture' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/fb.h' line='524' column='1' id='type-id-4184'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='base' type-id='type-id-2155' visibility='default' filepath='include/linux/fb.h' line='525' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='size' type-id='type-id-2155' visibility='default' filepath='include/linux/fb.h' line='526' column='1'/>
-        </data-member>
-      </class-decl>
-      <pointer-type-def type-id='type-id-4186' size-in-bits='64' id='type-id-4187'/>
-      <function-decl name='remove_conflicting_framebuffers' mangled-name='remove_conflicting_framebuffers' filepath='drivers/video/fbdev/core/fbmem.c' line='1803' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='remove_conflicting_framebuffers'>
-        <parameter type-id='type-id-4187' name='a' filepath='drivers/video/fbdev/core/fbmem.c' line='1803' column='1'/>
-        <parameter type-id='type-id-4' name='name' filepath='drivers/video/fbdev/core/fbmem.c' line='1804' column='1'/>
-        <parameter type-id='type-id-33' name='primary' filepath='drivers/video/fbdev/core/fbmem.c' line='1804' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/clk/clk-devres.c' language='LANG_C89'>
-      <class-decl name='clk' size-in-bits='512' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4188'/>
-      <class-decl name='fwnode_handle' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4189'/>
-      <pointer-type-def type-id='type-id-4188' size-in-bits='64' id='type-id-4190'/>
-      <pointer-type-def type-id='type-id-4189' size-in-bits='64' id='type-id-4191'/>
-      <function-decl name='devm_clk_get' mangled-name='devm_clk_get' filepath='drivers/clk/clk-devres.c' line='17' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_clk_get'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/clk/clk-devres.c' line='17' column='1'/>
-        <parameter type-id='type-id-4' name='id' filepath='drivers/clk/clk-devres.c' line='17' column='1'/>
-        <return type-id='type-id-4190'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/clk/clk.c' language='LANG_C89'>
-      <class-decl name='clk_core' size-in-bits='1984' is-struct='yes' visibility='default' filepath='drivers/clk/clk.c' line='45' column='1' id='type-id-4192'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='drivers/clk/clk.c' line='46' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ops' type-id='type-id-4193' visibility='default' filepath='drivers/clk/clk.c' line='47' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='hw' type-id='type-id-4194' visibility='default' filepath='drivers/clk/clk.c' line='48' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='owner' type-id='type-id-260' visibility='default' filepath='drivers/clk/clk.c' line='49' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='dev' type-id='type-id-240' visibility='default' filepath='drivers/clk/clk.c' line='50' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='parent' type-id='type-id-4195' visibility='default' filepath='drivers/clk/clk.c' line='51' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='parent_names' type-id='type-id-1389' visibility='default' filepath='drivers/clk/clk.c' line='52' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='parents' type-id='type-id-4196' visibility='default' filepath='drivers/clk/clk.c' line='53' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='num_parents' type-id='type-id-214' visibility='default' filepath='drivers/clk/clk.c' line='54' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='520'>
-          <var-decl name='new_parent_index' type-id='type-id-214' visibility='default' filepath='drivers/clk/clk.c' line='55' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='rate' type-id='type-id-16' visibility='default' filepath='drivers/clk/clk.c' line='56' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='req_rate' type-id='type-id-16' visibility='default' filepath='drivers/clk/clk.c' line='57' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='new_rate' type-id='type-id-16' visibility='default' filepath='drivers/clk/clk.c' line='58' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='new_parent' type-id='type-id-4195' visibility='default' filepath='drivers/clk/clk.c' line='59' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='new_child' type-id='type-id-4195' visibility='default' filepath='drivers/clk/clk.c' line='60' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='drivers/clk/clk.c' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='orphan' type-id='type-id-33' visibility='default' filepath='drivers/clk/clk.c' line='62' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='968'>
-          <var-decl name='need_sync' type-id='type-id-33' visibility='default' filepath='drivers/clk/clk.c' line='63' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='976'>
-          <var-decl name='boot_enabled' type-id='type-id-33' visibility='default' filepath='drivers/clk/clk.c' line='64' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='992'>
-          <var-decl name='enable_count' type-id='type-id-5' visibility='default' filepath='drivers/clk/clk.c' line='65' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='prepare_count' type-id='type-id-5' visibility='default' filepath='drivers/clk/clk.c' line='66' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1056'>
-          <var-decl name='protect_count' type-id='type-id-5' visibility='default' filepath='drivers/clk/clk.c' line='67' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='min_rate' type-id='type-id-16' visibility='default' filepath='drivers/clk/clk.c' line='68' column='1'/>
+          <var-decl name='mr_gq_timer' type-id='type-id-1240' visibility='default' filepath='include/linux/inetdevice.h' line='45' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='max_rate' type-id='type-id-16' visibility='default' filepath='drivers/clk/clk.c' line='69' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='accuracy' type-id='type-id-16' visibility='default' filepath='drivers/clk/clk.c' line='70' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='phase' type-id='type-id-17' visibility='default' filepath='drivers/clk/clk.c' line='71' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1312'>
-          <var-decl name='duty' type-id='type-id-4197' visibility='default' filepath='drivers/clk/clk.c' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='children' type-id='type-id-186' visibility='default' filepath='drivers/clk/clk.c' line='73' column='1'/>
+          <var-decl name='mr_ifc_timer' type-id='type-id-1240' visibility='default' filepath='include/linux/inetdevice.h' line='46' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='child_node' type-id='type-id-520' visibility='default' filepath='drivers/clk/clk.c' line='74' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='clks' type-id='type-id-186' visibility='default' filepath='drivers/clk/clk.c' line='75' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='notifier_count' type-id='type-id-5' visibility='default' filepath='drivers/clk/clk.c' line='76' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='dentry' type-id='type-id-23' visibility='default' filepath='drivers/clk/clk.c' line='78' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='debug_node' type-id='type-id-520' visibility='default' filepath='drivers/clk/clk.c' line='79' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='ref' type-id='type-id-239' visibility='default' filepath='drivers/clk/clk.c' line='81' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='clk_ops' size-in-bits='1408' is-struct='yes' visibility='default' filepath='include/linux/clk-provider.h' line='218' column='1' id='type-id-4198'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='prepare' type-id='type-id-4199' visibility='default' filepath='include/linux/clk-provider.h' line='219' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='unprepare' type-id='type-id-4200' visibility='default' filepath='include/linux/clk-provider.h' line='220' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='is_prepared' type-id='type-id-4199' visibility='default' filepath='include/linux/clk-provider.h' line='221' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='unprepare_unused' type-id='type-id-4200' visibility='default' filepath='include/linux/clk-provider.h' line='222' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='enable' type-id='type-id-4199' visibility='default' filepath='include/linux/clk-provider.h' line='223' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='disable' type-id='type-id-4200' visibility='default' filepath='include/linux/clk-provider.h' line='224' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='is_enabled' type-id='type-id-4199' visibility='default' filepath='include/linux/clk-provider.h' line='225' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='disable_unused' type-id='type-id-4200' visibility='default' filepath='include/linux/clk-provider.h' line='226' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='recalc_rate' type-id='type-id-4201' visibility='default' filepath='include/linux/clk-provider.h' line='227' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='round_rate' type-id='type-id-4202' visibility='default' filepath='include/linux/clk-provider.h' line='229' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='determine_rate' type-id='type-id-4203' visibility='default' filepath='include/linux/clk-provider.h' line='231' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='set_parent' type-id='type-id-4204' visibility='default' filepath='include/linux/clk-provider.h' line='233' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='get_parent' type-id='type-id-4205' visibility='default' filepath='include/linux/clk-provider.h' line='234' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='set_rate' type-id='type-id-4206' visibility='default' filepath='include/linux/clk-provider.h' line='235' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='set_rate_and_parent' type-id='type-id-4207' visibility='default' filepath='include/linux/clk-provider.h' line='237' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='recalc_accuracy' type-id='type-id-4201' visibility='default' filepath='include/linux/clk-provider.h' line='240' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='get_phase' type-id='type-id-4199' visibility='default' filepath='include/linux/clk-provider.h' line='242' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='set_phase' type-id='type-id-4208' visibility='default' filepath='include/linux/clk-provider.h' line='243' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='get_duty_cycle' type-id='type-id-4209' visibility='default' filepath='include/linux/clk-provider.h' line='244' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='set_duty_cycle' type-id='type-id-4209' visibility='default' filepath='include/linux/clk-provider.h' line='246' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='init' type-id='type-id-4200' visibility='default' filepath='include/linux/clk-provider.h' line='248' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='debug_init' type-id='type-id-4210' visibility='default' filepath='include/linux/clk-provider.h' line='249' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='clk_hw' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/clk-provider.h' line='285' column='1' id='type-id-4211'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='core' type-id='type-id-4195' visibility='default' filepath='include/linux/clk-provider.h' line='286' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='clk' type-id='type-id-4190' visibility='default' filepath='include/linux/clk-provider.h' line='287' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='init' type-id='type-id-4212' visibility='default' filepath='include/linux/clk-provider.h' line='288' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='clk_init_data' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/clk-provider.h' line='262' column='1' id='type-id-4213'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/clk-provider.h' line='263' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ops' type-id='type-id-4193' visibility='default' filepath='include/linux/clk-provider.h' line='264' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='parent_names' type-id='type-id-92' visibility='default' filepath='include/linux/clk-provider.h' line='265' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='num_parents' type-id='type-id-214' visibility='default' filepath='include/linux/clk-provider.h' line='266' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='include/linux/clk-provider.h' line='267' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='clk_rate_request' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/clk-provider.h' line='64' column='1' id='type-id-4214'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='rate' type-id='type-id-16' visibility='default' filepath='include/linux/clk-provider.h' line='65' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='min_rate' type-id='type-id-16' visibility='default' filepath='include/linux/clk-provider.h' line='66' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='max_rate' type-id='type-id-16' visibility='default' filepath='include/linux/clk-provider.h' line='67' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='best_parent_rate' type-id='type-id-16' visibility='default' filepath='include/linux/clk-provider.h' line='68' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='best_parent_hw' type-id='type-id-4194' visibility='default' filepath='include/linux/clk-provider.h' line='69' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='clk_duty' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/clk-provider.h' line='78' column='1' id='type-id-4197'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='num' type-id='type-id-5' visibility='default' filepath='include/linux/clk-provider.h' line='79' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='den' type-id='type-id-5' visibility='default' filepath='include/linux/clk-provider.h' line='80' column='1'/>
-        </data-member>
-      </class-decl>
-      <pointer-type-def type-id='type-id-4192' size-in-bits='64' id='type-id-4195'/>
-      <pointer-type-def type-id='type-id-4195' size-in-bits='64' id='type-id-4196'/>
-      <pointer-type-def type-id='type-id-4197' size-in-bits='64' id='type-id-4215'/>
-      <pointer-type-def type-id='type-id-4211' size-in-bits='64' id='type-id-4194'/>
-      <pointer-type-def type-id='type-id-4214' size-in-bits='64' id='type-id-4216'/>
-      <qualified-type-def type-id='type-id-4213' const='yes' id='type-id-4217'/>
-      <pointer-type-def type-id='type-id-4217' size-in-bits='64' id='type-id-4212'/>
-      <qualified-type-def type-id='type-id-4198' const='yes' id='type-id-4218'/>
-      <pointer-type-def type-id='type-id-4218' size-in-bits='64' id='type-id-4193'/>
-      <pointer-type-def type-id='type-id-4219' size-in-bits='64' id='type-id-4199'/>
-      <pointer-type-def type-id='type-id-4220' size-in-bits='64' id='type-id-4209'/>
-      <pointer-type-def type-id='type-id-4221' size-in-bits='64' id='type-id-4203'/>
-      <pointer-type-def type-id='type-id-4222' size-in-bits='64' id='type-id-4208'/>
-      <pointer-type-def type-id='type-id-4223' size-in-bits='64' id='type-id-4204'/>
-      <pointer-type-def type-id='type-id-4224' size-in-bits='64' id='type-id-4206'/>
-      <pointer-type-def type-id='type-id-4225' size-in-bits='64' id='type-id-4207'/>
-      <pointer-type-def type-id='type-id-4226' size-in-bits='64' id='type-id-4202'/>
-      <pointer-type-def type-id='type-id-4227' size-in-bits='64' id='type-id-4205'/>
-      <pointer-type-def type-id='type-id-4228' size-in-bits='64' id='type-id-4201'/>
-      <pointer-type-def type-id='type-id-4229' size-in-bits='64' id='type-id-4200'/>
-      <pointer-type-def type-id='type-id-4230' size-in-bits='64' id='type-id-4210'/>
-      <function-decl name='clk_unprepare' mangled-name='clk_unprepare' filepath='drivers/clk/clk.c' line='733' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clk_unprepare'>
-        <parameter type-id='type-id-4190' name='clk' filepath='drivers/clk/clk.c' line='733' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='clk_prepare' mangled-name='clk_prepare' filepath='drivers/clk/clk.c' line='814' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clk_prepare'>
-        <parameter type-id='type-id-4190' name='clk' filepath='drivers/clk/clk.c' line='814' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='clk_disable' mangled-name='clk_disable' filepath='drivers/clk/clk.c' line='871' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clk_disable'>
-        <parameter type-id='type-id-4190' name='clk' filepath='drivers/clk/clk.c' line='871' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='clk_enable' mangled-name='clk_enable' filepath='drivers/clk/clk.c' line='941' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clk_enable'>
-        <parameter type-id='type-id-4190' name='clk' filepath='drivers/clk/clk.c' line='941' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='clk_get_rate' mangled-name='clk_get_rate' filepath='drivers/clk/clk.c' line='1449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='clk_get_rate'>
-        <parameter type-id='type-id-4190' name='clk' filepath='drivers/clk/clk.c' line='1449' column='1'/>
-        <return type-id='type-id-16'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-4219'>
-        <parameter type-id='type-id-4194'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4220'>
-        <parameter type-id='type-id-4194'/>
-        <parameter type-id='type-id-4215'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4221'>
-        <parameter type-id='type-id-4194'/>
-        <parameter type-id='type-id-4216'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4222'>
-        <parameter type-id='type-id-4194'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4223'>
-        <parameter type-id='type-id-4194'/>
-        <parameter type-id='type-id-214'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4224'>
-        <parameter type-id='type-id-4194'/>
-        <parameter type-id='type-id-16'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4225'>
-        <parameter type-id='type-id-4194'/>
-        <parameter type-id='type-id-16'/>
-        <parameter type-id='type-id-16'/>
-        <parameter type-id='type-id-214'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4226'>
-        <parameter type-id='type-id-4194'/>
-        <parameter type-id='type-id-16'/>
-        <parameter type-id='type-id-45'/>
-        <return type-id='type-id-192'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4227'>
-        <parameter type-id='type-id-4194'/>
-        <return type-id='type-id-214'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4228'>
-        <parameter type-id='type-id-4194'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-16'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4229'>
-        <parameter type-id='type-id-4194'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4230'>
-        <parameter type-id='type-id-4194'/>
-        <parameter type-id='type-id-23'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/regulator/devres.c' language='LANG_C89'>
-      <function-decl name='devm_regulator_get_optional' mangled-name='devm_regulator_get_optional' filepath='drivers/regulator/devres.c' line='87' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_regulator_get_optional'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/regulator/devres.c' line='87' column='1'/>
-        <parameter type-id='type-id-4' name='id' filepath='drivers/regulator/devres.c' line='88' column='1'/>
-        <return type-id='type-id-4006'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/reset/core.c' language='LANG_C89'>
-      <class-decl name='reset_control' size-in-bits='384' is-struct='yes' visibility='default' filepath='drivers/reset/core.c' line='43' column='1' id='type-id-4231'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='rcdev' type-id='type-id-4232' visibility='default' filepath='drivers/reset/core.c' line='44' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='drivers/reset/core.c' line='45' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='id' type-id='type-id-5' visibility='default' filepath='drivers/reset/core.c' line='46' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='refcnt' type-id='type-id-239' visibility='default' filepath='drivers/reset/core.c' line='47' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='shared' type-id='type-id-33' visibility='default' filepath='drivers/reset/core.c' line='48' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='264'>
-          <var-decl name='array' type-id='type-id-33' visibility='default' filepath='drivers/reset/core.c' line='49' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='deassert_count' type-id='type-id-26' visibility='default' filepath='drivers/reset/core.c' line='50' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='triggered_count' type-id='type-id-26' visibility='default' filepath='drivers/reset/core.c' line='51' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='reset_controller_dev' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/linux/reset-controller.h' line='68' column='1' id='type-id-4233'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ops' type-id='type-id-4234' visibility='default' filepath='include/linux/reset-controller.h' line='69' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='owner' type-id='type-id-260' visibility='default' filepath='include/linux/reset-controller.h' line='70' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/reset-controller.h' line='71' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='reset_control_head' type-id='type-id-20' visibility='default' filepath='include/linux/reset-controller.h' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='dev' type-id='type-id-240' visibility='default' filepath='include/linux/reset-controller.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='of_node' type-id='type-id-3543' visibility='default' filepath='include/linux/reset-controller.h' line='74' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='of_reset_n_cells' type-id='type-id-17' visibility='default' filepath='include/linux/reset-controller.h' line='75' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='of_xlate' type-id='type-id-4235' visibility='default' filepath='include/linux/reset-controller.h' line='76' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='nr_resets' type-id='type-id-5' visibility='default' filepath='include/linux/reset-controller.h' line='78' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='reset_control_ops' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/reset-controller.h' line='18' column='1' id='type-id-4236'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='reset' type-id='type-id-4237' visibility='default' filepath='include/linux/reset-controller.h' line='19' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='assert' type-id='type-id-4237' visibility='default' filepath='include/linux/reset-controller.h' line='20' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='deassert' type-id='type-id-4237' visibility='default' filepath='include/linux/reset-controller.h' line='21' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='status' type-id='type-id-4237' visibility='default' filepath='include/linux/reset-controller.h' line='22' column='1'/>
-        </data-member>
-      </class-decl>
-      <qualified-type-def type-id='type-id-4236' const='yes' id='type-id-4238'/>
-      <pointer-type-def type-id='type-id-4238' size-in-bits='64' id='type-id-4234'/>
-      <pointer-type-def type-id='type-id-4239' size-in-bits='64' id='type-id-4235'/>
-      <pointer-type-def type-id='type-id-4240' size-in-bits='64' id='type-id-4237'/>
-      <pointer-type-def type-id='type-id-4231' size-in-bits='64' id='type-id-4241'/>
-      <pointer-type-def type-id='type-id-4233' size-in-bits='64' id='type-id-4232'/>
-      <function-decl name='reset_control_assert' mangled-name='reset_control_assert' filepath='drivers/reset/core.c' line='302' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='reset_control_assert'>
-        <parameter type-id='type-id-4241' name='rstc' filepath='drivers/reset/core.c' line='302' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='reset_control_deassert' mangled-name='reset_control_deassert' filepath='drivers/reset/core.c' line='355' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='reset_control_deassert'>
-        <parameter type-id='type-id-4241' name='rstc' filepath='drivers/reset/core.c' line='355' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='__devm_reset_control_get' mangled-name='__devm_reset_control_get' filepath='drivers/reset/core.c' line='638' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__devm_reset_control_get'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/reset/core.c' line='638' column='1'/>
-        <parameter type-id='type-id-4' name='id' filepath='drivers/reset/core.c' line='639' column='1'/>
-        <parameter type-id='type-id-17' name='index' filepath='drivers/reset/core.c' line='639' column='1'/>
-        <parameter type-id='type-id-33' name='shared' filepath='drivers/reset/core.c' line='639' column='1'/>
-        <parameter type-id='type-id-33' name='optional' filepath='drivers/reset/core.c' line='640' column='1'/>
-        <return type-id='type-id-4241'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-4239'>
-        <parameter type-id='type-id-4232'/>
-        <parameter type-id='type-id-4140'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4240'>
-        <parameter type-id='type-id-4232'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/tty/hvc/hvc_console.c' language='LANG_C89'>
-      <class-decl name='hv_ops' size-in-bits='576' is-struct='yes' visibility='default' filepath='drivers/tty/hvc/hvc_console.h' line='54' column='1' id='type-id-4242'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='get_chars' type-id='type-id-4243' visibility='default' filepath='drivers/tty/hvc/hvc_console.h' line='55' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='put_chars' type-id='type-id-4244' visibility='default' filepath='drivers/tty/hvc/hvc_console.h' line='56' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='flush' type-id='type-id-4245' visibility='default' filepath='drivers/tty/hvc/hvc_console.h' line='57' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='notifier_add' type-id='type-id-4246' visibility='default' filepath='drivers/tty/hvc/hvc_console.h' line='60' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='notifier_del' type-id='type-id-4247' visibility='default' filepath='drivers/tty/hvc/hvc_console.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='notifier_hangup' type-id='type-id-4247' visibility='default' filepath='drivers/tty/hvc/hvc_console.h' line='62' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='tiocmget' type-id='type-id-4248' visibility='default' filepath='drivers/tty/hvc/hvc_console.h' line='65' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='tiocmset' type-id='type-id-4249' visibility='default' filepath='drivers/tty/hvc/hvc_console.h' line='66' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='dtr_rts' type-id='type-id-4247' visibility='default' filepath='drivers/tty/hvc/hvc_console.h' line='69' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='hvc_struct' size-in-bits='3776' is-struct='yes' visibility='default' filepath='drivers/tty/hvc/hvc_console.h' line='35' column='1' id='type-id-4250'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='port' type-id='type-id-272' visibility='default' filepath='drivers/tty/hvc/hvc_console.h' line='36' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2816'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='drivers/tty/hvc/hvc_console.h' line='37' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2848'>
-          <var-decl name='index' type-id='type-id-17' visibility='default' filepath='drivers/tty/hvc/hvc_console.h' line='38' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2880'>
-          <var-decl name='do_wakeup' type-id='type-id-17' visibility='default' filepath='drivers/tty/hvc/hvc_console.h' line='39' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2944'>
-          <var-decl name='outbuf' type-id='type-id-2' visibility='default' filepath='drivers/tty/hvc/hvc_console.h' line='40' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3008'>
-          <var-decl name='outbuf_size' type-id='type-id-17' visibility='default' filepath='drivers/tty/hvc/hvc_console.h' line='41' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3040'>
-          <var-decl name='n_outbuf' type-id='type-id-17' visibility='default' filepath='drivers/tty/hvc/hvc_console.h' line='42' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3072'>
-          <var-decl name='vtermno' type-id='type-id-1343' visibility='default' filepath='drivers/tty/hvc/hvc_console.h' line='43' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3136'>
-          <var-decl name='ops' type-id='type-id-4251' visibility='default' filepath='drivers/tty/hvc/hvc_console.h' line='44' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3200'>
-          <var-decl name='irq_requested' type-id='type-id-17' visibility='default' filepath='drivers/tty/hvc/hvc_console.h' line='45' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3232'>
-          <var-decl name='data' type-id='type-id-17' visibility='default' filepath='drivers/tty/hvc/hvc_console.h' line='46' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3264'>
-          <var-decl name='ws' type-id='type-id-252' visibility='default' filepath='drivers/tty/hvc/hvc_console.h' line='47' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3328'>
-          <var-decl name='tty_resize' type-id='type-id-255' visibility='default' filepath='drivers/tty/hvc/hvc_console.h' line='48' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3584'>
-          <var-decl name='next' type-id='type-id-20' visibility='default' filepath='drivers/tty/hvc/hvc_console.h' line='49' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3712'>
-          <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='drivers/tty/hvc/hvc_console.h' line='50' column='1'/>
-        </data-member>
-      </class-decl>
-      <qualified-type-def type-id='type-id-4242' const='yes' id='type-id-4252'/>
-      <pointer-type-def type-id='type-id-4252' size-in-bits='64' id='type-id-4251'/>
-      <pointer-type-def type-id='type-id-4250' size-in-bits='64' id='type-id-4253'/>
-      <pointer-type-def type-id='type-id-4254' size-in-bits='64' id='type-id-4248'/>
-      <pointer-type-def type-id='type-id-4255' size-in-bits='64' id='type-id-4246'/>
-      <pointer-type-def type-id='type-id-4256' size-in-bits='64' id='type-id-4249'/>
-      <pointer-type-def type-id='type-id-4257' size-in-bits='64' id='type-id-4243'/>
-      <pointer-type-def type-id='type-id-4258' size-in-bits='64' id='type-id-4244'/>
-      <pointer-type-def type-id='type-id-4259' size-in-bits='64' id='type-id-4245'/>
-      <pointer-type-def type-id='type-id-4260' size-in-bits='64' id='type-id-4247'/>
-      <function-decl name='hvc_instantiate' mangled-name='hvc_instantiate' filepath='drivers/tty/hvc/hvc_console.c' line='285' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='hvc_instantiate'>
-        <parameter type-id='type-id-1343' name='vtermno' filepath='drivers/tty/hvc/hvc_console.c' line='285' column='1'/>
-        <parameter type-id='type-id-17' name='index' filepath='drivers/tty/hvc/hvc_console.c' line='285' column='1'/>
-        <parameter type-id='type-id-4251' name='ops' filepath='drivers/tty/hvc/hvc_console.c' line='285' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='hvc_kick' mangled-name='hvc_kick' filepath='drivers/tty/hvc/hvc_console.c' line='317' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='hvc_kick'>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='hvc_poll' mangled-name='hvc_poll' filepath='drivers/tty/hvc/hvc_console.c' line='773' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='hvc_poll'>
-        <parameter type-id='type-id-4253' name='hp' filepath='drivers/tty/hvc/hvc_console.c' line='773' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='__hvc_resize' mangled-name='__hvc_resize' filepath='drivers/tty/hvc/hvc_console.c' line='789' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__hvc_resize'>
-        <parameter type-id='type-id-4253' name='hp' filepath='drivers/tty/hvc/hvc_console.c' line='789' column='1'/>
-        <parameter type-id='type-id-252' name='ws' filepath='drivers/tty/hvc/hvc_console.c' line='789' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='hvc_alloc' mangled-name='hvc_alloc' filepath='drivers/tty/hvc/hvc_console.c' line='922' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='hvc_alloc'>
-        <parameter type-id='type-id-1343' name='vtermno' filepath='drivers/tty/hvc/hvc_console.c' line='922' column='1'/>
-        <parameter type-id='type-id-17' name='data' filepath='drivers/tty/hvc/hvc_console.c' line='922' column='1'/>
-        <parameter type-id='type-id-4251' name='ops' filepath='drivers/tty/hvc/hvc_console.c' line='923' column='1'/>
-        <parameter type-id='type-id-17' name='outbuf_size' filepath='drivers/tty/hvc/hvc_console.c' line='924' column='1'/>
-        <return type-id='type-id-4253'/>
-      </function-decl>
-      <function-decl name='hvc_remove' mangled-name='hvc_remove' filepath='drivers/tty/hvc/hvc_console.c' line='981' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='hvc_remove'>
-        <parameter type-id='type-id-4253' name='hp' filepath='drivers/tty/hvc/hvc_console.c' line='981' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-4254'>
-        <parameter type-id='type-id-4253'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4255'>
-        <parameter type-id='type-id-4253'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4256'>
-        <parameter type-id='type-id-4253'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4257'>
-        <parameter type-id='type-id-1343'/>
-        <parameter type-id='type-id-2'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4258'>
-        <parameter type-id='type-id-1343'/>
-        <parameter type-id='type-id-4'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4259'>
-        <parameter type-id='type-id-1343'/>
-        <parameter type-id='type-id-33'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4260'>
-        <parameter type-id='type-id-4253'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/tty/serial/8250/8250_core.c' language='LANG_C89'>
-      <array-type-def dimensions='1' type-id='type-id-511' size-in-bits='160' id='type-id-4261'>
-        <subrange length='5' type-id='type-id-9' id='type-id-110'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='8' id='type-id-4262'>
-        <subrange length='1' type-id='type-id-9' id='type-id-180'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-4263' size-in-bits='infinite' id='type-id-4264'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-2083' size-in-bits='infinite' id='type-id-4265'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-216' size-in-bits='16' id='type-id-4266'>
-        <subrange length='2' type-id='type-id-9' id='type-id-128'/>
-
-      </array-type-def>
-      <class-decl name='uart_8250_port' size-in-bits='5120' is-struct='yes' visibility='default' filepath='include/linux/serial_8250.h' line='96' column='1' id='type-id-4267'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='port' type-id='type-id-4268' visibility='default' filepath='include/linux/serial_8250.h' line='97' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3328'>
-          <var-decl name='timer' type-id='type-id-417' visibility='default' filepath='include/linux/serial_8250.h' line='98' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3648'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/serial_8250.h' line='99' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3776'>
-          <var-decl name='capabilities' type-id='type-id-7' visibility='default' filepath='include/linux/serial_8250.h' line='100' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3808'>
-          <var-decl name='bugs' type-id='type-id-312' visibility='default' filepath='include/linux/serial_8250.h' line='101' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3824'>
-          <var-decl name='fifo_bug' type-id='type-id-33' visibility='default' filepath='include/linux/serial_8250.h' line='102' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3840'>
-          <var-decl name='tx_loadsz' type-id='type-id-5' visibility='default' filepath='include/linux/serial_8250.h' line='103' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3872'>
-          <var-decl name='acr' type-id='type-id-216' visibility='default' filepath='include/linux/serial_8250.h' line='104' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3880'>
-          <var-decl name='fcr' type-id='type-id-216' visibility='default' filepath='include/linux/serial_8250.h' line='105' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3888'>
-          <var-decl name='ier' type-id='type-id-216' visibility='default' filepath='include/linux/serial_8250.h' line='106' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3896'>
-          <var-decl name='lcr' type-id='type-id-216' visibility='default' filepath='include/linux/serial_8250.h' line='107' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3904'>
-          <var-decl name='mcr' type-id='type-id-216' visibility='default' filepath='include/linux/serial_8250.h' line='108' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3912'>
-          <var-decl name='mcr_mask' type-id='type-id-216' visibility='default' filepath='include/linux/serial_8250.h' line='109' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3920'>
-          <var-decl name='mcr_force' type-id='type-id-216' visibility='default' filepath='include/linux/serial_8250.h' line='110' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3928'>
-          <var-decl name='cur_iotype' type-id='type-id-216' visibility='default' filepath='include/linux/serial_8250.h' line='111' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3936'>
-          <var-decl name='rpm_tx_active' type-id='type-id-5' visibility='default' filepath='include/linux/serial_8250.h' line='112' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3968'>
-          <var-decl name='canary' type-id='type-id-216' visibility='default' filepath='include/linux/serial_8250.h' line='113' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3976'>
-          <var-decl name='probe' type-id='type-id-216' visibility='default' filepath='include/linux/serial_8250.h' line='116' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3984'>
-          <var-decl name='lsr_saved_flags' type-id='type-id-216' visibility='default' filepath='include/linux/serial_8250.h' line='125' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3992'>
-          <var-decl name='msr_saved_flags' type-id='type-id-216' visibility='default' filepath='include/linux/serial_8250.h' line='127' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4032'>
-          <var-decl name='dma' type-id='type-id-4269' visibility='default' filepath='include/linux/serial_8250.h' line='129' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4096'>
-          <var-decl name='ops' type-id='type-id-4270' visibility='default' filepath='include/linux/serial_8250.h' line='130' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4160'>
-          <var-decl name='dl_read' type-id='type-id-4271' visibility='default' filepath='include/linux/serial_8250.h' line='133' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4224'>
-          <var-decl name='dl_write' type-id='type-id-4272' visibility='default' filepath='include/linux/serial_8250.h' line='134' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4288'>
-          <var-decl name='em485' type-id='type-id-4273' visibility='default' filepath='include/linux/serial_8250.h' line='136' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4352'>
-          <var-decl name='overrun_backoff' type-id='type-id-411' visibility='default' filepath='include/linux/serial_8250.h' line='139' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5056'>
-          <var-decl name='overrun_backoff_time_ms' type-id='type-id-7' visibility='default' filepath='include/linux/serial_8250.h' line='140' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='uart_port' size-in-bits='3328' is-struct='yes' visibility='default' filepath='include/linux/serial_core.h' line='117' column='1' id='type-id-4268'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='include/linux/serial_core.h' line='118' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='iobase' type-id='type-id-16' visibility='default' filepath='include/linux/serial_core.h' line='119' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='membase' type-id='type-id-256' visibility='default' filepath='include/linux/serial_core.h' line='120' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='serial_in' type-id='type-id-4274' visibility='default' filepath='include/linux/serial_core.h' line='121' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='serial_out' type-id='type-id-4275' visibility='default' filepath='include/linux/serial_core.h' line='122' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='set_termios' type-id='type-id-4276' visibility='default' filepath='include/linux/serial_core.h' line='123' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='set_ldisc' type-id='type-id-4277' visibility='default' filepath='include/linux/serial_core.h' line='126' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='get_mctrl' type-id='type-id-4278' visibility='default' filepath='include/linux/serial_core.h' line='128' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='set_mctrl' type-id='type-id-4279' visibility='default' filepath='include/linux/serial_core.h' line='129' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='get_divisor' type-id='type-id-4280' visibility='default' filepath='include/linux/serial_core.h' line='130' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='set_divisor' type-id='type-id-4281' visibility='default' filepath='include/linux/serial_core.h' line='133' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='startup' type-id='type-id-4282' visibility='default' filepath='include/linux/serial_core.h' line='137' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='shutdown' type-id='type-id-4283' visibility='default' filepath='include/linux/serial_core.h' line='138' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='throttle' type-id='type-id-4283' visibility='default' filepath='include/linux/serial_core.h' line='139' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='unthrottle' type-id='type-id-4283' visibility='default' filepath='include/linux/serial_core.h' line='140' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='handle_irq' type-id='type-id-4282' visibility='default' filepath='include/linux/serial_core.h' line='141' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='pm' type-id='type-id-4284' visibility='default' filepath='include/linux/serial_core.h' line='142' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='handle_break' type-id='type-id-4283' visibility='default' filepath='include/linux/serial_core.h' line='144' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='rs485_config' type-id='type-id-4285' visibility='default' filepath='include/linux/serial_core.h' line='145' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='irq' type-id='type-id-5' visibility='default' filepath='include/linux/serial_core.h' line='147' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='irqflags' type-id='type-id-16' visibility='default' filepath='include/linux/serial_core.h' line='148' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='uartclk' type-id='type-id-5' visibility='default' filepath='include/linux/serial_core.h' line='149' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1376'>
-          <var-decl name='fifosize' type-id='type-id-5' visibility='default' filepath='include/linux/serial_core.h' line='150' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='x_char' type-id='type-id-216' visibility='default' filepath='include/linux/serial_core.h' line='151' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1416'>
-          <var-decl name='regshift' type-id='type-id-216' visibility='default' filepath='include/linux/serial_core.h' line='152' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1424'>
-          <var-decl name='iotype' type-id='type-id-216' visibility='default' filepath='include/linux/serial_core.h' line='153' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1432'>
-          <var-decl name='quirks' type-id='type-id-216' visibility='default' filepath='include/linux/serial_core.h' line='154' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1440'>
-          <var-decl name='read_status_mask' type-id='type-id-5' visibility='default' filepath='include/linux/serial_core.h' line='168' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='ignore_status_mask' type-id='type-id-5' visibility='default' filepath='include/linux/serial_core.h' line='169' column='1'/>
+          <var-decl name='arp_parms' type-id='type-id-3029' visibility='default' filepath='include/linux/inetdevice.h' line='48' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='state' type-id='type-id-4286' visibility='default' filepath='include/linux/serial_core.h' line='170' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='icount' type-id='type-id-4287' visibility='default' filepath='include/linux/serial_core.h' line='171' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='cons' type-id='type-id-4288' visibility='default' filepath='include/linux/serial_core.h' line='173' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='sysrq' type-id='type-id-16' visibility='default' filepath='include/linux/serial_core.h' line='175' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='sysrq_ch' type-id='type-id-5' visibility='default' filepath='include/linux/serial_core.h' line='176' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2144'>
-          <var-decl name='flags' type-id='type-id-4289' visibility='default' filepath='include/linux/serial_core.h' line='180' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='status' type-id='type-id-4290' visibility='default' filepath='include/linux/serial_core.h' line='237' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2208'>
-          <var-decl name='hw_stopped' type-id='type-id-17' visibility='default' filepath='include/linux/serial_core.h' line='246' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='mctrl' type-id='type-id-5' visibility='default' filepath='include/linux/serial_core.h' line='247' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2272'>
-          <var-decl name='timeout' type-id='type-id-5' visibility='default' filepath='include/linux/serial_core.h' line='248' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2304'>
-          <var-decl name='type' type-id='type-id-5' visibility='default' filepath='include/linux/serial_core.h' line='249' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='ops' type-id='type-id-4291' visibility='default' filepath='include/linux/serial_core.h' line='250' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2432'>
-          <var-decl name='custom_divisor' type-id='type-id-5' visibility='default' filepath='include/linux/serial_core.h' line='251' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2464'>
-          <var-decl name='line' type-id='type-id-5' visibility='default' filepath='include/linux/serial_core.h' line='252' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2496'>
-          <var-decl name='minor' type-id='type-id-5' visibility='default' filepath='include/linux/serial_core.h' line='253' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2560'>
-          <var-decl name='mapbase' type-id='type-id-2155' visibility='default' filepath='include/linux/serial_core.h' line='254' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2624'>
-          <var-decl name='mapsize' type-id='type-id-2155' visibility='default' filepath='include/linux/serial_core.h' line='255' column='1'/>
+          <var-decl name='cnf' type-id='type-id-7430' visibility='default' filepath='include/linux/inetdevice.h' line='49' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2688'>
-          <var-decl name='dev' type-id='type-id-240' visibility='default' filepath='include/linux/serial_core.h' line='256' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2752'>
-          <var-decl name='hub6' type-id='type-id-216' visibility='default' filepath='include/linux/serial_core.h' line='257' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2760'>
-          <var-decl name='suspended' type-id='type-id-216' visibility='default' filepath='include/linux/serial_core.h' line='258' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2768'>
-          <var-decl name='unused' type-id='type-id-4266' visibility='default' filepath='include/linux/serial_core.h' line='259' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2816'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/serial_core.h' line='260' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2880'>
-          <var-decl name='attr_group' type-id='type-id-4292' visibility='default' filepath='include/linux/serial_core.h' line='261' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2944'>
-          <var-decl name='tty_groups' type-id='type-id-665' visibility='default' filepath='include/linux/serial_core.h' line='262' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3008'>
-          <var-decl name='rs485' type-id='type-id-4293' visibility='default' filepath='include/linux/serial_core.h' line='263' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3264'>
-          <var-decl name='private_data' type-id='type-id-15' visibility='default' filepath='include/linux/serial_core.h' line='264' column='1'/>
+          <var-decl name='callback_head' type-id='type-id-157' visibility='default' filepath='include/linux/inetdevice.h' line='50' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='serial_rs485' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/uapi/linux/serial.h' line='117' column='1' id='type-id-4293'>
+      <class-decl name='in_ifaddr' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/linux/inetdevice.h' line='137' column='1' id='type-id-8179'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='flags' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/serial.h' line='118' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='delay_rts_before_send' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/serial.h' line='129' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='delay_rts_after_send' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/serial.h' line='130' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='padding' type-id='type-id-4261' visibility='default' filepath='include/uapi/linux/serial.h' line='131' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='uart_state' size-in-bits='3328' is-struct='yes' visibility='default' filepath='include/linux/serial_core.h' line='292' column='1' id='type-id-4294'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='port' type-id='type-id-272' visibility='default' filepath='include/linux/serial_core.h' line='293' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2816'>
-          <var-decl name='pm_state' type-id='type-id-4295' visibility='default' filepath='include/linux/serial_core.h' line='295' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2880'>
-          <var-decl name='xmit' type-id='type-id-4296' visibility='default' filepath='include/linux/serial_core.h' line='296' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3008'>
-          <var-decl name='refcount' type-id='type-id-26' visibility='default' filepath='include/linux/serial_core.h' line='298' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3072'>
-          <var-decl name='remove_wait' type-id='type-id-225' visibility='default' filepath='include/linux/serial_core.h' line='299' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3264'>
-          <var-decl name='uart_port' type-id='type-id-4297' visibility='default' filepath='include/linux/serial_core.h' line='300' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__1' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/linux/key.h' line='158' column='1' id='type-id-4298'>
-        <data-member access='private'>
-          <var-decl name='graveyard_link' type-id='type-id-20' visibility='default' filepath='include/linux/key.h' line='159' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='serial_node' type-id='type-id-422' visibility='default' filepath='include/linux/key.h' line='160' column='1'/>
-        </data-member>
-      </union-decl>
-      <enum-decl name='uart_pm_state' filepath='include/linux/serial_core.h' line='283' column='1' id='type-id-4295'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='UART_PM_STATE_ON' value='0'/>
-        <enumerator name='UART_PM_STATE_OFF' value='3'/>
-        <enumerator name='UART_PM_STATE_UNDEFINED' value='4'/>
-      </enum-decl>
-      <class-decl name='circ_buf' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/circ_buf.h' line='9' column='1' id='type-id-4296'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='buf' type-id='type-id-2' visibility='default' filepath='include/linux/circ_buf.h' line='10' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='head' type-id='type-id-17' visibility='default' filepath='include/linux/circ_buf.h' line='11' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='tail' type-id='type-id-17' visibility='default' filepath='include/linux/circ_buf.h' line='12' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='uart_icount' size-in-bits='352' is-struct='yes' visibility='default' filepath='include/linux/serial_core.h' line='100' column='1' id='type-id-4287'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cts' type-id='type-id-511' visibility='default' filepath='include/linux/serial_core.h' line='101' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='dsr' type-id='type-id-511' visibility='default' filepath='include/linux/serial_core.h' line='102' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='rng' type-id='type-id-511' visibility='default' filepath='include/linux/serial_core.h' line='103' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='dcd' type-id='type-id-511' visibility='default' filepath='include/linux/serial_core.h' line='104' column='1'/>
+          <var-decl name='hash' type-id='type-id-378' visibility='default' filepath='include/linux/inetdevice.h' line='138' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='rx' type-id='type-id-511' visibility='default' filepath='include/linux/serial_core.h' line='105' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='tx' type-id='type-id-511' visibility='default' filepath='include/linux/serial_core.h' line='106' column='1'/>
+          <var-decl name='ifa_next' type-id='type-id-8176' visibility='default' filepath='include/linux/inetdevice.h' line='139' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='frame' type-id='type-id-511' visibility='default' filepath='include/linux/serial_core.h' line='107' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='overrun' type-id='type-id-511' visibility='default' filepath='include/linux/serial_core.h' line='108' column='1'/>
+          <var-decl name='ifa_dev' type-id='type-id-8180' visibility='default' filepath='include/linux/inetdevice.h' line='140' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='parity' type-id='type-id-511' visibility='default' filepath='include/linux/serial_core.h' line='109' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='brk' type-id='type-id-511' visibility='default' filepath='include/linux/serial_core.h' line='110' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='buf_overrun' type-id='type-id-511' visibility='default' filepath='include/linux/serial_core.h' line='111' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='console' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/linux/console.h' line='145' column='1' id='type-id-4299'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-43' visibility='default' filepath='include/linux/console.h' line='146' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='write' type-id='type-id-4300' visibility='default' filepath='include/linux/console.h' line='147' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='read' type-id='type-id-4301' visibility='default' filepath='include/linux/console.h' line='148' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='device' type-id='type-id-4302' visibility='default' filepath='include/linux/console.h' line='149' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='unblank' type-id='type-id-1392' visibility='default' filepath='include/linux/console.h' line='150' column='1'/>
+          <var-decl name='callback_head' type-id='type-id-157' visibility='default' filepath='include/linux/inetdevice.h' line='141' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='setup' type-id='type-id-4303' visibility='default' filepath='include/linux/console.h' line='151' column='1'/>
+          <var-decl name='ifa_local' type-id='type-id-2085' visibility='default' filepath='include/linux/inetdevice.h' line='142' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='ifa_address' type-id='type-id-2085' visibility='default' filepath='include/linux/inetdevice.h' line='143' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='match' type-id='type-id-4304' visibility='default' filepath='include/linux/console.h' line='152' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='flags' type-id='type-id-261' visibility='default' filepath='include/linux/console.h' line='153' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='528'>
-          <var-decl name='index' type-id='type-id-261' visibility='default' filepath='include/linux/console.h' line='154' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='cflag' type-id='type-id-17' visibility='default' filepath='include/linux/console.h' line='155' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='data' type-id='type-id-15' visibility='default' filepath='include/linux/console.h' line='156' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='next' type-id='type-id-4288' visibility='default' filepath='include/linux/console.h' line='157' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='upf_t' type-id='type-id-5' filepath='include/linux/serial_core.h' line='114' column='1' id='type-id-4289'/>
-      <typedef-decl name='upstat_t' type-id='type-id-5' filepath='include/linux/serial_core.h' line='115' column='1' id='type-id-4290'/>
-      <class-decl name='uart_ops' size-in-bits='1472' is-struct='yes' visibility='default' filepath='include/linux/serial_core.h' line='49' column='1' id='type-id-4305'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='tx_empty' type-id='type-id-4278' visibility='default' filepath='include/linux/serial_core.h' line='50' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='set_mctrl' type-id='type-id-4279' visibility='default' filepath='include/linux/serial_core.h' line='51' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='get_mctrl' type-id='type-id-4278' visibility='default' filepath='include/linux/serial_core.h' line='52' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='stop_tx' type-id='type-id-4283' visibility='default' filepath='include/linux/serial_core.h' line='53' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='start_tx' type-id='type-id-4283' visibility='default' filepath='include/linux/serial_core.h' line='54' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='throttle' type-id='type-id-4283' visibility='default' filepath='include/linux/serial_core.h' line='55' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='unthrottle' type-id='type-id-4283' visibility='default' filepath='include/linux/serial_core.h' line='56' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='send_xchar' type-id='type-id-4306' visibility='default' filepath='include/linux/serial_core.h' line='57' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='stop_rx' type-id='type-id-4283' visibility='default' filepath='include/linux/serial_core.h' line='58' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='enable_ms' type-id='type-id-4283' visibility='default' filepath='include/linux/serial_core.h' line='59' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='break_ctl' type-id='type-id-4307' visibility='default' filepath='include/linux/serial_core.h' line='60' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='startup' type-id='type-id-4282' visibility='default' filepath='include/linux/serial_core.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='shutdown' type-id='type-id-4283' visibility='default' filepath='include/linux/serial_core.h' line='62' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='flush_buffer' type-id='type-id-4283' visibility='default' filepath='include/linux/serial_core.h' line='63' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='set_termios' type-id='type-id-4276' visibility='default' filepath='include/linux/serial_core.h' line='64' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='set_ldisc' type-id='type-id-4277' visibility='default' filepath='include/linux/serial_core.h' line='66' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='pm' type-id='type-id-4284' visibility='default' filepath='include/linux/serial_core.h' line='67' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='type' type-id='type-id-4308' visibility='default' filepath='include/linux/serial_core.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='release_port' type-id='type-id-4283' visibility='default' filepath='include/linux/serial_core.h' line='79' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='request_port' type-id='type-id-4282' visibility='default' filepath='include/linux/serial_core.h' line='85' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='config_port' type-id='type-id-4307' visibility='default' filepath='include/linux/serial_core.h' line='86' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='verify_port' type-id='type-id-4309' visibility='default' filepath='include/linux/serial_core.h' line='87' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='ioctl' type-id='type-id-4310' visibility='default' filepath='include/linux/serial_core.h' line='88' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='serial_struct' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/uapi/linux/serial.h' line='19' column='1' id='type-id-4311'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='type' type-id='type-id-17' visibility='default' filepath='include/uapi/linux/serial.h' line='20' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='line' type-id='type-id-17' visibility='default' filepath='include/uapi/linux/serial.h' line='21' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='port' type-id='type-id-5' visibility='default' filepath='include/uapi/linux/serial.h' line='22' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='irq' type-id='type-id-17' visibility='default' filepath='include/uapi/linux/serial.h' line='23' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='flags' type-id='type-id-17' visibility='default' filepath='include/uapi/linux/serial.h' line='24' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='xmit_fifo_size' type-id='type-id-17' visibility='default' filepath='include/uapi/linux/serial.h' line='25' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='custom_divisor' type-id='type-id-17' visibility='default' filepath='include/uapi/linux/serial.h' line='26' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='baud_base' type-id='type-id-17' visibility='default' filepath='include/uapi/linux/serial.h' line='27' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='close_delay' type-id='type-id-312' visibility='default' filepath='include/uapi/linux/serial.h' line='28' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='272'>
-          <var-decl name='io_type' type-id='type-id-1' visibility='default' filepath='include/uapi/linux/serial.h' line='29' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='280'>
-          <var-decl name='reserved_char' type-id='type-id-4262' visibility='default' filepath='include/uapi/linux/serial.h' line='30' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='hub6' type-id='type-id-17' visibility='default' filepath='include/uapi/linux/serial.h' line='31' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='closing_wait' type-id='type-id-312' visibility='default' filepath='include/uapi/linux/serial.h' line='32' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='336'>
-          <var-decl name='closing_wait2' type-id='type-id-312' visibility='default' filepath='include/uapi/linux/serial.h' line='33' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='iomem_base' type-id='type-id-256' visibility='default' filepath='include/uapi/linux/serial.h' line='34' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='iomem_reg_shift' type-id='type-id-312' visibility='default' filepath='include/uapi/linux/serial.h' line='35' column='1'/>
+          <var-decl name='ifa_mask' type-id='type-id-2085' visibility='default' filepath='include/linux/inetdevice.h' line='144' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='port_high' type-id='type-id-5' visibility='default' filepath='include/uapi/linux/serial.h' line='36' column='1'/>
+          <var-decl name='ifa_rt_priority' type-id='type-id-266' visibility='default' filepath='include/linux/inetdevice.h' line='145' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='iomap_base' type-id='type-id-16' visibility='default' filepath='include/uapi/linux/serial.h' line='37' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='uart_8250_dma' size-in-bits='1920' is-struct='yes' visibility='default' filepath='drivers/tty/serial/8250/8250.h' line='14' column='1' id='type-id-4312'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='tx_dma' type-id='type-id-4271' visibility='default' filepath='drivers/tty/serial/8250/8250.h' line='15' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='rx_dma' type-id='type-id-4271' visibility='default' filepath='drivers/tty/serial/8250/8250.h' line='16' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='fn' type-id='type-id-4313' visibility='default' filepath='drivers/tty/serial/8250/8250.h' line='19' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='rx_param' type-id='type-id-15' visibility='default' filepath='drivers/tty/serial/8250/8250.h' line='21' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='tx_param' type-id='type-id-15' visibility='default' filepath='drivers/tty/serial/8250/8250.h' line='22' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='rxconf' type-id='type-id-4314' visibility='default' filepath='drivers/tty/serial/8250/8250.h' line='24' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='txconf' type-id='type-id-4314' visibility='default' filepath='drivers/tty/serial/8250/8250.h' line='25' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='rxchan' type-id='type-id-4315' visibility='default' filepath='drivers/tty/serial/8250/8250.h' line='27' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='txchan' type-id='type-id-4315' visibility='default' filepath='drivers/tty/serial/8250/8250.h' line='28' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='rx_dma_addr' type-id='type-id-99' visibility='default' filepath='drivers/tty/serial/8250/8250.h' line='31' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='tx_dma_addr' type-id='type-id-99' visibility='default' filepath='drivers/tty/serial/8250/8250.h' line='32' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='rx_addr' type-id='type-id-2083' visibility='default' filepath='drivers/tty/serial/8250/8250.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='tx_addr' type-id='type-id-2083' visibility='default' filepath='drivers/tty/serial/8250/8250.h' line='36' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='rx_cookie' type-id='type-id-4316' visibility='default' filepath='drivers/tty/serial/8250/8250.h' line='38' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1632'>
-          <var-decl name='tx_cookie' type-id='type-id-4316' visibility='default' filepath='drivers/tty/serial/8250/8250.h' line='39' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='rx_buf' type-id='type-id-15' visibility='default' filepath='drivers/tty/serial/8250/8250.h' line='41' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='rx_size' type-id='type-id-84' visibility='default' filepath='drivers/tty/serial/8250/8250.h' line='43' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='tx_size' type-id='type-id-84' visibility='default' filepath='drivers/tty/serial/8250/8250.h' line='44' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='tx_running' type-id='type-id-216' visibility='default' filepath='drivers/tty/serial/8250/8250.h' line='46' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1864'>
-          <var-decl name='tx_err' type-id='type-id-216' visibility='default' filepath='drivers/tty/serial/8250/8250.h' line='47' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1872'>
-          <var-decl name='rx_running' type-id='type-id-216' visibility='default' filepath='drivers/tty/serial/8250/8250.h' line='48' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='dma_chan' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/linux/dmaengine.h' line='265' column='1' id='type-id-4317'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='device' type-id='type-id-4318' visibility='default' filepath='include/linux/dmaengine.h' line='266' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='cookie' type-id='type-id-4316' visibility='default' filepath='include/linux/dmaengine.h' line='267' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='completed_cookie' type-id='type-id-4316' visibility='default' filepath='include/linux/dmaengine.h' line='268' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='chan_id' type-id='type-id-17' visibility='default' filepath='include/linux/dmaengine.h' line='271' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='dev' type-id='type-id-4319' visibility='default' filepath='include/linux/dmaengine.h' line='272' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='device_node' type-id='type-id-20' visibility='default' filepath='include/linux/dmaengine.h' line='274' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='local' type-id='type-id-4320' visibility='default' filepath='include/linux/dmaengine.h' line='275' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='client_count' type-id='type-id-17' visibility='default' filepath='include/linux/dmaengine.h' line='276' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='table_count' type-id='type-id-17' visibility='default' filepath='include/linux/dmaengine.h' line='277' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='router' type-id='type-id-4321' visibility='default' filepath='include/linux/dmaengine.h' line='280' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='route_data' type-id='type-id-15' visibility='default' filepath='include/linux/dmaengine.h' line='281' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='private' type-id='type-id-15' visibility='default' filepath='include/linux/dmaengine.h' line='283' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='dma_device' size-in-bits='2368' is-struct='yes' visibility='default' filepath='include/linux/dmaengine.h' line='734' column='1' id='type-id-4322'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='chancnt' type-id='type-id-5' visibility='default' filepath='include/linux/dmaengine.h' line='736' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='privatecnt' type-id='type-id-5' visibility='default' filepath='include/linux/dmaengine.h' line='737' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='channels' type-id='type-id-20' visibility='default' filepath='include/linux/dmaengine.h' line='738' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='global_node' type-id='type-id-20' visibility='default' filepath='include/linux/dmaengine.h' line='739' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='filter' type-id='type-id-4323' visibility='default' filepath='include/linux/dmaengine.h' line='740' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='cap_mask' type-id='type-id-4324' visibility='default' filepath='include/linux/dmaengine.h' line='741' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='max_xor' type-id='type-id-312' visibility='default' filepath='include/linux/dmaengine.h' line='742' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='592'>
-          <var-decl name='max_pq' type-id='type-id-312' visibility='default' filepath='include/linux/dmaengine.h' line='743' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='copy_align' type-id='type-id-4325' visibility='default' filepath='include/linux/dmaengine.h' line='744' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='xor_align' type-id='type-id-4325' visibility='default' filepath='include/linux/dmaengine.h' line='745' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='672'>
-          <var-decl name='pq_align' type-id='type-id-4325' visibility='default' filepath='include/linux/dmaengine.h' line='746' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='fill_align' type-id='type-id-4325' visibility='default' filepath='include/linux/dmaengine.h' line='747' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='736'>
-          <var-decl name='dev_id' type-id='type-id-17' visibility='default' filepath='include/linux/dmaengine.h' line='750' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='dev' type-id='type-id-240' visibility='default' filepath='include/linux/dmaengine.h' line='751' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='src_addr_widths' type-id='type-id-7' visibility='default' filepath='include/linux/dmaengine.h' line='753' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='864'>
-          <var-decl name='dst_addr_widths' type-id='type-id-7' visibility='default' filepath='include/linux/dmaengine.h' line='754' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='directions' type-id='type-id-7' visibility='default' filepath='include/linux/dmaengine.h' line='755' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='928'>
-          <var-decl name='max_burst' type-id='type-id-7' visibility='default' filepath='include/linux/dmaengine.h' line='756' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='descriptor_reuse' type-id='type-id-33' visibility='default' filepath='include/linux/dmaengine.h' line='757' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='992'>
-          <var-decl name='residue_granularity' type-id='type-id-4326' visibility='default' filepath='include/linux/dmaengine.h' line='758' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='device_alloc_chan_resources' type-id='type-id-4327' visibility='default' filepath='include/linux/dmaengine.h' line='760' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='device_free_chan_resources' type-id='type-id-4328' visibility='default' filepath='include/linux/dmaengine.h' line='761' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='device_prep_dma_memcpy' type-id='type-id-4329' visibility='default' filepath='include/linux/dmaengine.h' line='763' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='device_prep_dma_xor' type-id='type-id-4330' visibility='default' filepath='include/linux/dmaengine.h' line='766' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='device_prep_dma_xor_val' type-id='type-id-4331' visibility='default' filepath='include/linux/dmaengine.h' line='769' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='device_prep_dma_pq' type-id='type-id-4332' visibility='default' filepath='include/linux/dmaengine.h' line='772' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='device_prep_dma_pq_val' type-id='type-id-4333' visibility='default' filepath='include/linux/dmaengine.h' line='776' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='device_prep_dma_memset' type-id='type-id-4334' visibility='default' filepath='include/linux/dmaengine.h' line='780' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='device_prep_dma_memset_sg' type-id='type-id-4335' visibility='default' filepath='include/linux/dmaengine.h' line='783' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='device_prep_dma_interrupt' type-id='type-id-4336' visibility='default' filepath='include/linux/dmaengine.h' line='786' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='device_prep_slave_sg' type-id='type-id-4337' visibility='default' filepath='include/linux/dmaengine.h' line='789' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='device_prep_dma_cyclic' type-id='type-id-4338' visibility='default' filepath='include/linux/dmaengine.h' line='793' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='device_prep_interleaved_dma' type-id='type-id-4339' visibility='default' filepath='include/linux/dmaengine.h' line='797' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='device_prep_dma_imm_data' type-id='type-id-4340' visibility='default' filepath='include/linux/dmaengine.h' line='800' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='device_config' type-id='type-id-4341' visibility='default' filepath='include/linux/dmaengine.h' line='804' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='device_pause' type-id='type-id-4327' visibility='default' filepath='include/linux/dmaengine.h' line='806' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='device_resume' type-id='type-id-4327' visibility='default' filepath='include/linux/dmaengine.h' line='807' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='device_terminate_all' type-id='type-id-4327' visibility='default' filepath='include/linux/dmaengine.h' line='808' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='device_synchronize' type-id='type-id-4328' visibility='default' filepath='include/linux/dmaengine.h' line='809' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='device_tx_status' type-id='type-id-4342' visibility='default' filepath='include/linux/dmaengine.h' line='811' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2304'>
-          <var-decl name='device_issue_pending' type-id='type-id-4328' visibility='default' filepath='include/linux/dmaengine.h' line='814' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='dma_filter' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/dmaengine.h' line='667' column='1' id='type-id-4323'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='fn' type-id='type-id-4313' visibility='default' filepath='include/linux/dmaengine.h' line='668' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='mapcnt' type-id='type-id-17' visibility='default' filepath='include/linux/dmaengine.h' line='669' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='map' type-id='type-id-4343' visibility='default' filepath='include/linux/dmaengine.h' line='670' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='dma_filter_fn' type-id='type-id-4344' filepath='include/linux/dmaengine.h' line='456' column='1' id='type-id-4313'/>
-      <class-decl name='dma_slave_map' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/dmaengine.h' line='654' column='1' id='type-id-4345'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='devname' type-id='type-id-4' visibility='default' filepath='include/linux/dmaengine.h' line='655' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='slave' type-id='type-id-4' visibility='default' filepath='include/linux/dmaengine.h' line='656' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='param' type-id='type-id-15' visibility='default' filepath='include/linux/dmaengine.h' line='657' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='dma_cap_mask_t' type-id='type-id-4346' filepath='include/linux/dmaengine.h' line='226' column='1' id='type-id-4324'/>
-      <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-4324' visibility='default' filepath='include/linux/dmaengine.h' line='226' column='1' id='type-id-4346'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bits' type-id='type-id-491' visibility='default' filepath='include/linux/dmaengine.h' line='226' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='dmaengine_alignment' filepath='include/linux/dmaengine.h' line='637' column='1' id='type-id-4325'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='DMAENGINE_ALIGN_1_BYTE' value='0'/>
-        <enumerator name='DMAENGINE_ALIGN_2_BYTES' value='1'/>
-        <enumerator name='DMAENGINE_ALIGN_4_BYTES' value='2'/>
-        <enumerator name='DMAENGINE_ALIGN_8_BYTES' value='3'/>
-        <enumerator name='DMAENGINE_ALIGN_16_BYTES' value='4'/>
-        <enumerator name='DMAENGINE_ALIGN_32_BYTES' value='5'/>
-        <enumerator name='DMAENGINE_ALIGN_64_BYTES' value='6'/>
-      </enum-decl>
-      <enum-decl name='dma_residue_granularity' filepath='include/linux/dmaengine.h' line='401' column='1' id='type-id-4326'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='DMA_RESIDUE_GRANULARITY_DESCRIPTOR' value='0'/>
-        <enumerator name='DMA_RESIDUE_GRANULARITY_SEGMENT' value='1'/>
-        <enumerator name='DMA_RESIDUE_GRANULARITY_BURST' value='2'/>
-      </enum-decl>
-      <class-decl name='dma_async_tx_descriptor' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/dmaengine.h' line='508' column='1' id='type-id-4347'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cookie' type-id='type-id-4316' visibility='default' filepath='include/linux/dmaengine.h' line='509' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='flags' type-id='type-id-4348' visibility='default' filepath='include/linux/dmaengine.h' line='510' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='phys' type-id='type-id-2083' visibility='default' filepath='include/linux/dmaengine.h' line='511' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='chan' type-id='type-id-4315' visibility='default' filepath='include/linux/dmaengine.h' line='512' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='tx_submit' type-id='type-id-4349' visibility='default' filepath='include/linux/dmaengine.h' line='513' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='desc_free' type-id='type-id-4350' visibility='default' filepath='include/linux/dmaengine.h' line='514' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='callback' type-id='type-id-4351' visibility='default' filepath='include/linux/dmaengine.h' line='515' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='callback_result' type-id='type-id-4352' visibility='default' filepath='include/linux/dmaengine.h' line='516' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='callback_param' type-id='type-id-15' visibility='default' filepath='include/linux/dmaengine.h' line='517' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='unmap' type-id='type-id-4353' visibility='default' filepath='include/linux/dmaengine.h' line='518' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='dma_cookie_t' type-id='type-id-738' filepath='include/linux/dmaengine.h' line='34' column='1' id='type-id-4316'/>
-      <enum-decl name='dma_ctrl_flags' filepath='include/linux/dmaengine.h' line='192' column='1' id='type-id-4348'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='DMA_PREP_INTERRUPT' value='1'/>
-        <enumerator name='DMA_CTRL_ACK' value='2'/>
-        <enumerator name='DMA_PREP_PQ_DISABLE_P' value='4'/>
-        <enumerator name='DMA_PREP_PQ_DISABLE_Q' value='8'/>
-        <enumerator name='DMA_PREP_CONTINUE' value='16'/>
-        <enumerator name='DMA_PREP_FENCE' value='32'/>
-        <enumerator name='DMA_CTRL_REUSE' value='64'/>
-        <enumerator name='DMA_PREP_CMD' value='128'/>
-      </enum-decl>
-      <typedef-decl name='dma_async_tx_callback' type-id='type-id-517' filepath='include/linux/dmaengine.h' line='458' column='1' id='type-id-4351'/>
-      <typedef-decl name='dma_async_tx_callback_result' type-id='type-id-4354' filepath='include/linux/dmaengine.h' line='472' column='1' id='type-id-4352'/>
-      <class-decl name='dmaengine_result' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/dmaengine.h' line='467' column='1' id='type-id-4355'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='result' type-id='type-id-4356' visibility='default' filepath='include/linux/dmaengine.h' line='468' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='residue' type-id='type-id-7' visibility='default' filepath='include/linux/dmaengine.h' line='469' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='dmaengine_tx_result' filepath='include/linux/dmaengine.h' line='460' column='1' id='type-id-4356'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='DMA_TRANS_NOERROR' value='0'/>
-        <enumerator name='DMA_TRANS_READ_FAILED' value='1'/>
-        <enumerator name='DMA_TRANS_WRITE_FAILED' value='2'/>
-        <enumerator name='DMA_TRANS_ABORTED' value='3'/>
-      </enum-decl>
-      <class-decl name='dmaengine_unmap_data' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/dmaengine.h' line='475' column='1' id='type-id-4357'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='map_cnt' type-id='type-id-214' visibility='default' filepath='include/linux/dmaengine.h' line='479' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='to_cnt' type-id='type-id-214' visibility='default' filepath='include/linux/dmaengine.h' line='481' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='from_cnt' type-id='type-id-214' visibility='default' filepath='include/linux/dmaengine.h' line='482' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='24'>
-          <var-decl name='bidi_cnt' type-id='type-id-214' visibility='default' filepath='include/linux/dmaengine.h' line='483' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='dev' type-id='type-id-240' visibility='default' filepath='include/linux/dmaengine.h' line='484' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='kref' type-id='type-id-239' visibility='default' filepath='include/linux/dmaengine.h' line='485' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='len' type-id='type-id-84' visibility='default' filepath='include/linux/dmaengine.h' line='486' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='addr' type-id='type-id-4265' visibility='default' filepath='include/linux/dmaengine.h' line='487' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='sum_check_flags' filepath='include/linux/dmaengine.h' line='216' column='1' id='type-id-4358'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='SUM_CHECK_P_RESULT' value='1'/>
-        <enumerator name='SUM_CHECK_Q_RESULT' value='2'/>
-      </enum-decl>
-      <enum-decl name='dma_transfer_direction' filepath='include/linux/dmaengine.h' line='87' column='1' id='type-id-4359'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='DMA_MEM_TO_MEM' value='0'/>
-        <enumerator name='DMA_MEM_TO_DEV' value='1'/>
-        <enumerator name='DMA_DEV_TO_MEM' value='2'/>
-        <enumerator name='DMA_DEV_TO_DEV' value='3'/>
-        <enumerator name='DMA_TRANS_NONE' value='4'/>
-      </enum-decl>
-      <class-decl name='dma_interleaved_template' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/dmaengine.h' line='158' column='1' id='type-id-4360'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='src_start' type-id='type-id-2083' visibility='default' filepath='include/linux/dmaengine.h' line='159' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='dst_start' type-id='type-id-2083' visibility='default' filepath='include/linux/dmaengine.h' line='160' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='dir' type-id='type-id-4359' visibility='default' filepath='include/linux/dmaengine.h' line='161' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='src_inc' type-id='type-id-33' visibility='default' filepath='include/linux/dmaengine.h' line='162' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='168'>
-          <var-decl name='dst_inc' type-id='type-id-33' visibility='default' filepath='include/linux/dmaengine.h' line='163' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='176'>
-          <var-decl name='src_sgl' type-id='type-id-33' visibility='default' filepath='include/linux/dmaengine.h' line='164' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='184'>
-          <var-decl name='dst_sgl' type-id='type-id-33' visibility='default' filepath='include/linux/dmaengine.h' line='165' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='numf' type-id='type-id-84' visibility='default' filepath='include/linux/dmaengine.h' line='166' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='frame_size' type-id='type-id-84' visibility='default' filepath='include/linux/dmaengine.h' line='167' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='sgl' type-id='type-id-4264' visibility='default' filepath='include/linux/dmaengine.h' line='168' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='data_chunk' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/dmaengine.h' line='133' column='1' id='type-id-4263'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='size' type-id='type-id-84' visibility='default' filepath='include/linux/dmaengine.h' line='134' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='icg' type-id='type-id-84' visibility='default' filepath='include/linux/dmaengine.h' line='135' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='dst_icg' type-id='type-id-84' visibility='default' filepath='include/linux/dmaengine.h' line='136' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='src_icg' type-id='type-id-84' visibility='default' filepath='include/linux/dmaengine.h' line='137' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='dma_slave_config' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/dmaengine.h' line='367' column='1' id='type-id-4314'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='direction' type-id='type-id-4359' visibility='default' filepath='include/linux/dmaengine.h' line='368' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='src_addr' type-id='type-id-99' visibility='default' filepath='include/linux/dmaengine.h' line='369' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='dst_addr' type-id='type-id-99' visibility='default' filepath='include/linux/dmaengine.h' line='370' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='src_addr_width' type-id='type-id-4361' visibility='default' filepath='include/linux/dmaengine.h' line='371' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='dst_addr_width' type-id='type-id-4361' visibility='default' filepath='include/linux/dmaengine.h' line='372' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='src_maxburst' type-id='type-id-7' visibility='default' filepath='include/linux/dmaengine.h' line='373' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='dst_maxburst' type-id='type-id-7' visibility='default' filepath='include/linux/dmaengine.h' line='374' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='src_port_window_size' type-id='type-id-7' visibility='default' filepath='include/linux/dmaengine.h' line='375' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='dst_port_window_size' type-id='type-id-7' visibility='default' filepath='include/linux/dmaengine.h' line='376' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='device_fc' type-id='type-id-33' visibility='default' filepath='include/linux/dmaengine.h' line='377' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='slave_id' type-id='type-id-5' visibility='default' filepath='include/linux/dmaengine.h' line='378' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='dma_slave_buswidth' filepath='include/linux/dmaengine.h' line='304' column='1' id='type-id-4361'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='DMA_SLAVE_BUSWIDTH_UNDEFINED' value='0'/>
-        <enumerator name='DMA_SLAVE_BUSWIDTH_1_BYTE' value='1'/>
-        <enumerator name='DMA_SLAVE_BUSWIDTH_2_BYTES' value='2'/>
-        <enumerator name='DMA_SLAVE_BUSWIDTH_3_BYTES' value='3'/>
-        <enumerator name='DMA_SLAVE_BUSWIDTH_4_BYTES' value='4'/>
-        <enumerator name='DMA_SLAVE_BUSWIDTH_8_BYTES' value='8'/>
-        <enumerator name='DMA_SLAVE_BUSWIDTH_16_BYTES' value='16'/>
-        <enumerator name='DMA_SLAVE_BUSWIDTH_32_BYTES' value='32'/>
-        <enumerator name='DMA_SLAVE_BUSWIDTH_64_BYTES' value='64'/>
-      </enum-decl>
-      <enum-decl name='dma_status' filepath='include/linux/dmaengine.h' line='49' column='1' id='type-id-4362'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='DMA_COMPLETE' value='0'/>
-        <enumerator name='DMA_IN_PROGRESS' value='1'/>
-        <enumerator name='DMA_PAUSED' value='2'/>
-        <enumerator name='DMA_ERROR' value='3'/>
-      </enum-decl>
-      <class-decl name='dma_tx_state' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/linux/dmaengine.h' line='627' column='1' id='type-id-4363'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='last' type-id='type-id-4316' visibility='default' filepath='include/linux/dmaengine.h' line='628' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='used' type-id='type-id-4316' visibility='default' filepath='include/linux/dmaengine.h' line='629' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='residue' type-id='type-id-7' visibility='default' filepath='include/linux/dmaengine.h' line='630' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='dma_chan_dev' size-in-bits='6400' is-struct='yes' visibility='default' filepath='include/linux/dmaengine.h' line='293' column='1' id='type-id-4364'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='chan' type-id='type-id-4315' visibility='default' filepath='include/linux/dmaengine.h' line='294' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='device' type-id='type-id-388' visibility='default' filepath='include/linux/dmaengine.h' line='295' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6272'>
-          <var-decl name='dev_id' type-id='type-id-17' visibility='default' filepath='include/linux/dmaengine.h' line='296' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6336'>
-          <var-decl name='idr_ref' type-id='type-id-3908' visibility='default' filepath='include/linux/dmaengine.h' line='297' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='dma_chan_percpu' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/dmaengine.h' line='234' column='1' id='type-id-4365'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='memcpy_count' type-id='type-id-16' visibility='default' filepath='include/linux/dmaengine.h' line='236' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='bytes_transferred' type-id='type-id-16' visibility='default' filepath='include/linux/dmaengine.h' line='237' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='dma_router' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/dmaengine.h' line='245' column='1' id='type-id-4366'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dev' type-id='type-id-240' visibility='default' filepath='include/linux/dmaengine.h' line='246' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='route_free' type-id='type-id-4367' visibility='default' filepath='include/linux/dmaengine.h' line='247' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='uart_8250_ops' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/serial_8250.h' line='77' column='1' id='type-id-4368'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='setup_irq' type-id='type-id-4271' visibility='default' filepath='include/linux/serial_8250.h' line='78' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='release_irq' type-id='type-id-4369' visibility='default' filepath='include/linux/serial_8250.h' line='79' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='uart_8250_em485' size-in-bits='1152' is-struct='yes' visibility='default' filepath='include/linux/serial_8250.h' line='82' column='1' id='type-id-4370'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='start_tx_timer' type-id='type-id-681' visibility='default' filepath='include/linux/serial_8250.h' line='83' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='stop_tx_timer' type-id='type-id-681' visibility='default' filepath='include/linux/serial_8250.h' line='84' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='active_timer' type-id='type-id-1558' visibility='default' filepath='include/linux/serial_8250.h' line='85' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='port' type-id='type-id-4371' visibility='default' filepath='include/linux/serial_8250.h' line='86' column='1'/>
-        </data-member>
-      </class-decl>
-      <pointer-type-def type-id='type-id-2035' size-in-bits='64' id='type-id-4292'/>
-      <pointer-type-def type-id='type-id-4299' size-in-bits='64' id='type-id-4288'/>
-      <pointer-type-def type-id='type-id-4372' size-in-bits='64' id='type-id-4308'/>
-      <qualified-type-def type-id='type-id-4345' const='yes' id='type-id-4373'/>
-      <pointer-type-def type-id='type-id-4373' size-in-bits='64' id='type-id-4343'/>
-      <qualified-type-def type-id='type-id-4355' const='yes' id='type-id-4374'/>
-      <pointer-type-def type-id='type-id-4374' size-in-bits='64' id='type-id-4375'/>
-      <qualified-type-def type-id='type-id-4368' const='yes' id='type-id-4376'/>
-      <pointer-type-def type-id='type-id-4376' size-in-bits='64' id='type-id-4270'/>
-      <qualified-type-def type-id='type-id-4305' const='yes' id='type-id-4377'/>
-      <pointer-type-def type-id='type-id-4377' size-in-bits='64' id='type-id-4291'/>
-      <pointer-type-def type-id='type-id-4347' size-in-bits='64' id='type-id-4378'/>
-      <pointer-type-def type-id='type-id-4379' size-in-bits='64' id='type-id-4333'/>
-      <pointer-type-def type-id='type-id-4380' size-in-bits='64' id='type-id-4332'/>
-      <pointer-type-def type-id='type-id-4381' size-in-bits='64' id='type-id-4331'/>
-      <pointer-type-def type-id='type-id-4382' size-in-bits='64' id='type-id-4339'/>
-      <pointer-type-def type-id='type-id-4383' size-in-bits='64' id='type-id-4337'/>
-      <pointer-type-def type-id='type-id-4384' size-in-bits='64' id='type-id-4335'/>
-      <pointer-type-def type-id='type-id-4385' size-in-bits='64' id='type-id-4330'/>
-      <pointer-type-def type-id='type-id-4386' size-in-bits='64' id='type-id-4334'/>
-      <pointer-type-def type-id='type-id-4387' size-in-bits='64' id='type-id-4329'/>
-      <pointer-type-def type-id='type-id-4388' size-in-bits='64' id='type-id-4338'/>
-      <pointer-type-def type-id='type-id-4389' size-in-bits='64' id='type-id-4340'/>
-      <pointer-type-def type-id='type-id-4390' size-in-bits='64' id='type-id-4336'/>
-      <pointer-type-def type-id='type-id-4317' size-in-bits='64' id='type-id-4315'/>
-      <pointer-type-def type-id='type-id-4364' size-in-bits='64' id='type-id-4319'/>
-      <pointer-type-def type-id='type-id-4365' size-in-bits='64' id='type-id-4320'/>
-      <pointer-type-def type-id='type-id-4322' size-in-bits='64' id='type-id-4318'/>
-      <pointer-type-def type-id='type-id-4360' size-in-bits='64' id='type-id-4391'/>
-      <pointer-type-def type-id='type-id-4366' size-in-bits='64' id='type-id-4321'/>
-      <pointer-type-def type-id='type-id-4314' size-in-bits='64' id='type-id-4392'/>
-      <pointer-type-def type-id='type-id-4363' size-in-bits='64' id='type-id-4393'/>
-      <pointer-type-def type-id='type-id-4357' size-in-bits='64' id='type-id-4353'/>
-      <pointer-type-def type-id='type-id-4394' size-in-bits='64' id='type-id-4342'/>
-      <pointer-type-def type-id='type-id-4395' size-in-bits='64' id='type-id-4303'/>
-      <pointer-type-def type-id='type-id-4396' size-in-bits='64' id='type-id-4304'/>
-      <pointer-type-def type-id='type-id-4397' size-in-bits='64' id='type-id-4301'/>
-      <pointer-type-def type-id='type-id-4398' size-in-bits='64' id='type-id-4350'/>
-      <pointer-type-def type-id='type-id-4399' size-in-bits='64' id='type-id-4327'/>
-      <pointer-type-def type-id='type-id-4400' size-in-bits='64' id='type-id-4341'/>
-      <pointer-type-def type-id='type-id-4401' size-in-bits='64' id='type-id-4271'/>
-      <pointer-type-def type-id='type-id-4402' size-in-bits='64' id='type-id-4282'/>
-      <pointer-type-def type-id='type-id-4403' size-in-bits='64' id='type-id-4285'/>
-      <pointer-type-def type-id='type-id-4404' size-in-bits='64' id='type-id-4309'/>
-      <pointer-type-def type-id='type-id-4405' size-in-bits='64' id='type-id-4310'/>
-      <pointer-type-def type-id='type-id-4293' size-in-bits='64' id='type-id-4406'/>
-      <pointer-type-def type-id='type-id-4311' size-in-bits='64' id='type-id-4407'/>
-      <pointer-type-def type-id='type-id-4358' size-in-bits='64' id='type-id-4408'/>
-      <pointer-type-def type-id='type-id-4409' size-in-bits='64' id='type-id-4302'/>
-      <pointer-type-def type-id='type-id-4410' size-in-bits='64' id='type-id-4344'/>
-      <pointer-type-def type-id='type-id-4411' size-in-bits='64' id='type-id-4349'/>
-      <pointer-type-def type-id='type-id-4312' size-in-bits='64' id='type-id-4269'/>
-      <pointer-type-def type-id='type-id-4370' size-in-bits='64' id='type-id-4273'/>
-      <pointer-type-def type-id='type-id-4267' size-in-bits='64' id='type-id-4371'/>
-      <pointer-type-def type-id='type-id-4268' size-in-bits='64' id='type-id-4297'/>
-      <pointer-type-def type-id='type-id-4294' size-in-bits='64' id='type-id-4286'/>
-      <pointer-type-def type-id='type-id-4412' size-in-bits='64' id='type-id-4278'/>
-      <pointer-type-def type-id='type-id-4413' size-in-bits='64' id='type-id-4274'/>
-      <pointer-type-def type-id='type-id-4414' size-in-bits='64' id='type-id-4280'/>
-      <pointer-type-def type-id='type-id-4415' size-in-bits='64' id='type-id-4300'/>
-      <pointer-type-def type-id='type-id-4416' size-in-bits='64' id='type-id-4367'/>
-      <pointer-type-def type-id='type-id-4417' size-in-bits='64' id='type-id-4328'/>
-      <pointer-type-def type-id='type-id-4418' size-in-bits='64' id='type-id-4369'/>
-      <pointer-type-def type-id='type-id-4419' size-in-bits='64' id='type-id-4272'/>
-      <pointer-type-def type-id='type-id-4420' size-in-bits='64' id='type-id-4283'/>
-      <pointer-type-def type-id='type-id-4421' size-in-bits='64' id='type-id-4306'/>
-      <pointer-type-def type-id='type-id-4422' size-in-bits='64' id='type-id-4307'/>
-      <pointer-type-def type-id='type-id-4423' size-in-bits='64' id='type-id-4275'/>
-      <pointer-type-def type-id='type-id-4424' size-in-bits='64' id='type-id-4277'/>
-      <pointer-type-def type-id='type-id-4425' size-in-bits='64' id='type-id-4276'/>
-      <pointer-type-def type-id='type-id-4426' size-in-bits='64' id='type-id-4279'/>
-      <pointer-type-def type-id='type-id-4427' size-in-bits='64' id='type-id-4284'/>
-      <pointer-type-def type-id='type-id-4428' size-in-bits='64' id='type-id-4281'/>
-      <pointer-type-def type-id='type-id-4429' size-in-bits='64' id='type-id-4354'/>
-      <function-decl name='serial8250_get_port' mangled-name='serial8250_get_port' filepath='drivers/tty/serial/8250/8250_core.c' line='415' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='serial8250_get_port'>
-        <parameter type-id='type-id-17' name='line' filepath='drivers/tty/serial/8250/8250_core.c' line='415' column='1'/>
-        <return type-id='type-id-4371'/>
-      </function-decl>
-      <function-decl name='serial8250_suspend_port' mangled-name='serial8250_suspend_port' filepath='drivers/tty/serial/8250/8250_core.c' line='752' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='serial8250_suspend_port'>
-        <parameter type-id='type-id-17' name='line' filepath='drivers/tty/serial/8250/8250_core.c' line='752' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='serial8250_resume_port' mangled-name='serial8250_resume_port' filepath='drivers/tty/serial/8250/8250_core.c' line='775' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='serial8250_resume_port'>
-        <parameter type-id='type-id-17' name='line' filepath='drivers/tty/serial/8250/8250_core.c' line='775' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='serial8250_register_8250_port' mangled-name='serial8250_register_8250_port' filepath='drivers/tty/serial/8250/8250_core.c' line='977' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='serial8250_register_8250_port'>
-        <parameter type-id='type-id-4371' name='up' filepath='drivers/tty/serial/8250/8250_core.c' line='977' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='serial8250_unregister_port' mangled-name='serial8250_unregister_port' filepath='drivers/tty/serial/8250/8250_core.c' line='1102' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='serial8250_unregister_port'>
-        <parameter type-id='type-id-17' name='line' filepath='drivers/tty/serial/8250/8250_core.c' line='1102' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-4372'>
-        <parameter type-id='type-id-4297'/>
-        <return type-id='type-id-4'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4379'>
-        <parameter type-id='type-id-4315'/>
-        <parameter type-id='type-id-2741'/>
-        <parameter type-id='type-id-2741'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-878'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-4408'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-4378'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4380'>
-        <parameter type-id='type-id-4315'/>
-        <parameter type-id='type-id-2741'/>
-        <parameter type-id='type-id-2741'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-878'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-4378'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4381'>
-        <parameter type-id='type-id-4315'/>
-        <parameter type-id='type-id-2741'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-4408'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-4378'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4382'>
-        <parameter type-id='type-id-4315'/>
-        <parameter type-id='type-id-4391'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-4378'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4383'>
-        <parameter type-id='type-id-4315'/>
-        <parameter type-id='type-id-920'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-4359'/>
-        <parameter type-id='type-id-16'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-4378'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4384'>
-        <parameter type-id='type-id-4315'/>
-        <parameter type-id='type-id-920'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-4378'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4385'>
-        <parameter type-id='type-id-4315'/>
-        <parameter type-id='type-id-2083'/>
-        <parameter type-id='type-id-2741'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-4378'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4386'>
-        <parameter type-id='type-id-4315'/>
-        <parameter type-id='type-id-2083'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-4378'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4387'>
-        <parameter type-id='type-id-4315'/>
-        <parameter type-id='type-id-2083'/>
-        <parameter type-id='type-id-2083'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-4378'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4388'>
-        <parameter type-id='type-id-4315'/>
-        <parameter type-id='type-id-2083'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-4359'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-4378'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4389'>
-        <parameter type-id='type-id-4315'/>
-        <parameter type-id='type-id-2083'/>
-        <parameter type-id='type-id-40'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-4378'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4390'>
-        <parameter type-id='type-id-4315'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-4378'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4394'>
-        <parameter type-id='type-id-4315'/>
-        <parameter type-id='type-id-4316'/>
-        <parameter type-id='type-id-4393'/>
-        <return type-id='type-id-4362'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4395'>
-        <parameter type-id='type-id-4288'/>
-        <parameter type-id='type-id-2'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4396'>
-        <parameter type-id='type-id-4288'/>
-        <parameter type-id='type-id-2'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-2'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4397'>
-        <parameter type-id='type-id-4288'/>
-        <parameter type-id='type-id-2'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4398'>
-        <parameter type-id='type-id-4378'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4399'>
-        <parameter type-id='type-id-4315'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4400'>
-        <parameter type-id='type-id-4315'/>
-        <parameter type-id='type-id-4392'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4401'>
-        <parameter type-id='type-id-4371'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4402'>
-        <parameter type-id='type-id-4297'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4403'>
-        <parameter type-id='type-id-4297'/>
-        <parameter type-id='type-id-4406'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4404'>
-        <parameter type-id='type-id-4297'/>
-        <parameter type-id='type-id-4407'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4405'>
-        <parameter type-id='type-id-4297'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4409'>
-        <parameter type-id='type-id-4288'/>
-        <parameter type-id='type-id-666'/>
-        <return type-id='type-id-241'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4410'>
-        <parameter type-id='type-id-4315'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-33'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4411'>
-        <parameter type-id='type-id-4378'/>
-        <return type-id='type-id-4316'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4412'>
-        <parameter type-id='type-id-4297'/>
-        <return type-id='type-id-5'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4413'>
-        <parameter type-id='type-id-4297'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-5'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4414'>
-        <parameter type-id='type-id-4297'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-482'/>
-        <return type-id='type-id-5'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4415'>
-        <parameter type-id='type-id-4288'/>
-        <parameter type-id='type-id-4'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4416'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4417'>
-        <parameter type-id='type-id-4315'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4418'>
-        <parameter type-id='type-id-4371'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4419'>
-        <parameter type-id='type-id-4371'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4420'>
-        <parameter type-id='type-id-4297'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4421'>
-        <parameter type-id='type-id-4297'/>
-        <parameter type-id='type-id-1'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4422'>
-        <parameter type-id='type-id-4297'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4423'>
-        <parameter type-id='type-id-4297'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4424'>
-        <parameter type-id='type-id-4297'/>
-        <parameter type-id='type-id-821'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4425'>
-        <parameter type-id='type-id-4297'/>
-        <parameter type-id='type-id-821'/>
-        <parameter type-id='type-id-821'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4426'>
-        <parameter type-id='type-id-4297'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4427'>
-        <parameter type-id='type-id-4297'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4428'>
-        <parameter type-id='type-id-4297'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4429'>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-4375'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/tty/serial/8250/8250_fsl.c' language='LANG_C89'>
-      <function-decl name='fsl8250_handle_irq' mangled-name='fsl8250_handle_irq' filepath='drivers/tty/serial/8250/8250_fsl.c' line='23' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fsl8250_handle_irq'>
-        <parameter type-id='type-id-4297' name='port' filepath='drivers/tty/serial/8250/8250_fsl.c' line='23' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/char/random.c' language='LANG_C89'>
-      <function-decl name='get_random_bytes' mangled-name='get_random_bytes' filepath='drivers/char/random.c' line='1646' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='get_random_bytes'>
-        <parameter type-id='type-id-15' name='buf' filepath='drivers/char/random.c' line='1646' column='1'/>
-        <parameter type-id='type-id-17' name='nbytes' filepath='drivers/char/random.c' line='1646' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/char/misc.c' language='LANG_C89'>
-      <class-decl name='miscdevice' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/miscdevice.h' line='66' column='1' id='type-id-4430'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='minor' type-id='type-id-17' visibility='default' filepath='include/linux/miscdevice.h' line='67' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/miscdevice.h' line='68' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='fops' type-id='type-id-268' visibility='default' filepath='include/linux/miscdevice.h' line='69' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/miscdevice.h' line='70' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='parent' type-id='type-id-240' visibility='default' filepath='include/linux/miscdevice.h' line='71' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='this_device' type-id='type-id-240' visibility='default' filepath='include/linux/miscdevice.h' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='groups' type-id='type-id-665' visibility='default' filepath='include/linux/miscdevice.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='nodename' type-id='type-id-4' visibility='default' filepath='include/linux/miscdevice.h' line='74' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='mode' type-id='type-id-329' visibility='default' filepath='include/linux/miscdevice.h' line='75' column='1'/>
-        </data-member>
-      </class-decl>
-      <pointer-type-def type-id='type-id-4430' size-in-bits='64' id='type-id-4431'/>
-      <function-decl name='misc_register' mangled-name='misc_register' filepath='drivers/char/misc.c' line='173' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='misc_register'>
-        <parameter type-id='type-id-4431' name='misc' filepath='drivers/char/misc.c' line='173' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='misc_deregister' mangled-name='misc_deregister' filepath='drivers/char/misc.c' line='238' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='misc_deregister'>
-        <parameter type-id='type-id-4431' name='misc' filepath='drivers/char/misc.c' line='238' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/char/hw_random/core.c' language='LANG_C89'>
-      <class-decl name='hwrng' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/linux/hw_random.h' line='38' column='1' id='type-id-4432'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/hw_random.h' line='39' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='init' type-id='type-id-4433' visibility='default' filepath='include/linux/hw_random.h' line='40' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='cleanup' type-id='type-id-4434' visibility='default' filepath='include/linux/hw_random.h' line='41' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='data_present' type-id='type-id-4435' visibility='default' filepath='include/linux/hw_random.h' line='42' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='data_read' type-id='type-id-4436' visibility='default' filepath='include/linux/hw_random.h' line='43' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='read' type-id='type-id-4437' visibility='default' filepath='include/linux/hw_random.h' line='44' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='priv' type-id='type-id-16' visibility='default' filepath='include/linux/hw_random.h' line='45' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='quality' type-id='type-id-312' visibility='default' filepath='include/linux/hw_random.h' line='46' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/hw_random.h' line='49' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='ref' type-id='type-id-239' visibility='default' filepath='include/linux/hw_random.h' line='50' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='cleanup_done' type-id='type-id-1608' visibility='default' filepath='include/linux/hw_random.h' line='51' column='1'/>
-        </data-member>
-      </class-decl>
-      <pointer-type-def type-id='type-id-4432' size-in-bits='64' id='type-id-4438'/>
-      <pointer-type-def type-id='type-id-4439' size-in-bits='64' id='type-id-4433'/>
-      <pointer-type-def type-id='type-id-4440' size-in-bits='64' id='type-id-4435'/>
-      <pointer-type-def type-id='type-id-4441' size-in-bits='64' id='type-id-4436'/>
-      <pointer-type-def type-id='type-id-4442' size-in-bits='64' id='type-id-4437'/>
-      <pointer-type-def type-id='type-id-4443' size-in-bits='64' id='type-id-4434'/>
-      <function-decl name='hwrng_register' mangled-name='hwrng_register' filepath='drivers/char/hw_random/core.c' line='457' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='hwrng_register'>
-        <parameter type-id='type-id-4438' name='rng' filepath='drivers/char/hw_random/core.c' line='457' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='hwrng_unregister' mangled-name='hwrng_unregister' filepath='drivers/char/hw_random/core.c' line='517' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='hwrng_unregister'>
-        <parameter type-id='type-id-4438' name='rng' filepath='drivers/char/hw_random/core.c' line='517' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-4439'>
-        <parameter type-id='type-id-4438' name='rng'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4440'>
-        <parameter type-id='type-id-4438'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4441'>
-        <parameter type-id='type-id-4438'/>
-        <parameter type-id='type-id-1567'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4442'>
-        <parameter type-id='type-id-4438'/>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-33'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4443'>
-        <parameter type-id='type-id-4438'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_modes.c' language='LANG_C89'>
-      <function-decl name='drm_mode_probed_add' mangled-name='drm_mode_probed_add' filepath='drivers/gpu/drm/drm_modes.c' line='110' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_mode_probed_add'>
-        <parameter type-id='type-id-4444' name='connector' filepath='drivers/gpu/drm/drm_modes.c' line='110' column='1'/>
-        <parameter type-id='type-id-4445' name='mode' filepath='drivers/gpu/drm/drm_modes.c' line='111' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='drm_cvt_mode' mangled-name='drm_cvt_mode' filepath='drivers/gpu/drm/drm_modes.c' line='143' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_cvt_mode'>
-        <parameter type-id='type-id-4446' name='dev' filepath='drivers/gpu/drm/drm_modes.c' line='143' column='1'/>
-        <parameter type-id='type-id-17' name='hdisplay' filepath='drivers/gpu/drm/drm_modes.c' line='143' column='1'/>
-        <parameter type-id='type-id-17' name='vdisplay' filepath='drivers/gpu/drm/drm_modes.c' line='144' column='1'/>
-        <parameter type-id='type-id-17' name='vrefresh' filepath='drivers/gpu/drm/drm_modes.c' line='144' column='1'/>
-        <parameter type-id='type-id-33' name='reduced' filepath='drivers/gpu/drm/drm_modes.c' line='145' column='1'/>
-        <parameter type-id='type-id-33' name='interlaced' filepath='drivers/gpu/drm/drm_modes.c' line='145' column='1'/>
-        <parameter type-id='type-id-33' name='margins' filepath='drivers/gpu/drm/drm_modes.c' line='145' column='1'/>
-        <return type-id='type-id-4445'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_probe_helper.c' language='LANG_C89'>
-
-
-      <array-type-def dimensions='1' type-id='type-id-108' size-in-bits='32' id='type-id-4447'>
-        <subrange length='2' type-id='type-id-9' id='type-id-128'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-511' size-in-bits='128' id='type-id-4448'>
-        <subrange length='4' type-id='type-id-9' id='type-id-107'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-100' size-in-bits='256' id='type-id-4449'>
-        <subrange length='4' type-id='type-id-9' id='type-id-107'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-895' size-in-bits='112' id='type-id-4450'>
-        <subrange length='14' type-id='type-id-9' id='type-id-117'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-895' size-in-bits='32' id='type-id-4451'>
-        <subrange length='4' type-id='type-id-9' id='type-id-107'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-33' size-in-bits='16' id='type-id-4452'>
-        <subrange length='2' type-id='type-id-9' id='type-id-128'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='480' id='type-id-4453'>
-        <subrange length='60' type-id='type-id-9' id='type-id-4454'/>
-
-      </array-type-def>
-      <class-decl name='agp_bridge_data' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4455'/>
-      <class-decl name='dma_buf' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4456'/>
-      <class-decl name='dma_buf_attachment' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4457'/>
-      <class-decl name='drm_atomic_state' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4458'/>
-      <class-decl name='drm_crtc_commit' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4459'/>
-      <class-decl name='drm_device_dma' size-in-bits='7744' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4460'/>
-      <class-decl name='drm_gem_object' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4461'/>
-      <class-decl name='drm_local_map' size-in-bits='320' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4462'/>
-      <class-decl name='drm_master' size-in-bits='1792' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4463'/>
-      <class-decl name='drm_sg_mem' size-in-bits='320' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4464'/>
-      <class-decl name='drm_vma_offset_manager' size-in-bits='1920' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4465'/>
-      <class-decl name='drm_writeback_job' size-in-bits='512' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4466'/>
-      <class-decl name='reservation_object' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-4467'/>
-      <array-type-def dimensions='1' type-id='type-id-4468' size-in-bits='256' id='type-id-4469'>
-        <subrange length='4' type-id='type-id-9' id='type-id-107'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-4470' size-in-bits='1536' id='type-id-4471'>
-        <subrange length='24' type-id='type-id-9' id='type-id-3436'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='544' id='type-id-4472'>
-        <subrange length='17' type-id='type-id-9' id='type-id-4473'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1343' size-in-bits='320' id='type-id-4474'>
-        <subrange length='10' type-id='type-id-9' id='type-id-1191'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1343' size-in-bits='96' id='type-id-4475'>
-        <subrange length='3' type-id='type-id-9' id='type-id-196'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-2439' size-in-bits='1536' id='type-id-4476'>
-        <subrange length='24' type-id='type-id-9' id='type-id-3436'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-4477' size-in-bits='1024' id='type-id-4478'>
-        <subrange length='128' type-id='type-id-9' id='type-id-965'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='128' id='type-id-4479'>
-        <subrange length='4' type-id='type-id-9' id='type-id-107'/>
-
-      </array-type-def>
-      <class-decl name='drm_connector' size-in-bits='8448' is-struct='yes' visibility='default' filepath='include/drm/drm_connector.h' line='781' column='1' id='type-id-4480'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dev' type-id='type-id-4446' visibility='default' filepath='include/drm/drm_connector.h' line='783' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='kdev' type-id='type-id-240' visibility='default' filepath='include/drm/drm_connector.h' line='785' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='attr' type-id='type-id-4043' visibility='default' filepath='include/drm/drm_connector.h' line='787' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='head' type-id='type-id-20' visibility='default' filepath='include/drm/drm_connector.h' line='797' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='base' type-id='type-id-4481' visibility='default' filepath='include/drm/drm_connector.h' line='800' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='name' type-id='type-id-2' visibility='default' filepath='include/drm/drm_connector.h' line='803' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='mutex' type-id='type-id-245' visibility='default' filepath='include/drm/drm_connector.h' line='810' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='index' type-id='type-id-5' visibility='default' filepath='include/drm/drm_connector.h' line='818' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='928'>
-          <var-decl name='connector_type' type-id='type-id-17' visibility='default' filepath='include/drm/drm_connector.h' line='824' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='connector_type_id' type-id='type-id-17' visibility='default' filepath='include/drm/drm_connector.h' line='826' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='992'>
-          <var-decl name='interlace_allowed' type-id='type-id-33' visibility='default' filepath='include/drm/drm_connector.h' line='832' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1000'>
-          <var-decl name='doublescan_allowed' type-id='type-id-33' visibility='default' filepath='include/drm/drm_connector.h' line='838' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1008'>
-          <var-decl name='stereo_allowed' type-id='type-id-33' visibility='default' filepath='include/drm/drm_connector.h' line='844' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1016'>
-          <var-decl name='ycbcr_420_allowed' type-id='type-id-33' visibility='default' filepath='include/drm/drm_connector.h' line='852' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='registered' type-id='type-id-33' visibility='default' filepath='include/drm/drm_connector.h' line='858' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='modes' type-id='type-id-20' visibility='default' filepath='include/drm/drm_connector.h' line='865' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='status' type-id='type-id-4482' visibility='default' filepath='include/drm/drm_connector.h' line='872' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='probed_modes' type-id='type-id-20' visibility='default' filepath='include/drm/drm_connector.h' line='880' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='display_info' type-id='type-id-4483' visibility='default' filepath='include/drm/drm_connector.h' line='891' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2624'>
-          <var-decl name='funcs' type-id='type-id-4484' visibility='default' filepath='include/drm/drm_connector.h' line='894' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2688'>
-          <var-decl name='edid_blob_ptr' type-id='type-id-4485' visibility='default' filepath='include/drm/drm_connector.h' line='901' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2752'>
-          <var-decl name='properties' type-id='type-id-4486' visibility='default' filepath='include/drm/drm_connector.h' line='904' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5888'>
-          <var-decl name='scaling_mode_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_connector.h' line='910' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5952'>
-          <var-decl name='content_protection_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_connector.h' line='916' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6016'>
-          <var-decl name='path_blob_ptr' type-id='type-id-4485' visibility='default' filepath='include/drm/drm_connector.h' line='924' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6080'>
-          <var-decl name='polled' type-id='type-id-4477' visibility='default' filepath='include/drm/drm_connector.h' line='951' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6112'>
-          <var-decl name='dpms' type-id='type-id-17' visibility='default' filepath='include/drm/drm_connector.h' line='959' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6144'>
-          <var-decl name='helper_private' type-id='type-id-4487' visibility='default' filepath='include/drm/drm_connector.h' line='962' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6208'>
-          <var-decl name='cmdline_mode' type-id='type-id-4488' visibility='default' filepath='include/drm/drm_connector.h' line='965' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6432'>
-          <var-decl name='force' type-id='type-id-4489' visibility='default' filepath='include/drm/drm_connector.h' line='967' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6464'>
-          <var-decl name='override_edid' type-id='type-id-33' visibility='default' filepath='include/drm/drm_connector.h' line='969' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6496'>
-          <var-decl name='encoder_ids' type-id='type-id-4475' visibility='default' filepath='include/drm/drm_connector.h' line='976' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6592'>
-          <var-decl name='encoder' type-id='type-id-4490' visibility='default' filepath='include/drm/drm_connector.h' line='984' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6656'>
-          <var-decl name='eld' type-id='type-id-4478' visibility='default' filepath='include/drm/drm_connector.h' line='988' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7680'>
-          <var-decl name='latency_present' type-id='type-id-4452' visibility='default' filepath='include/drm/drm_connector.h' line='990' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7712'>
-          <var-decl name='video_latency' type-id='type-id-465' visibility='default' filepath='include/drm/drm_connector.h' line='995' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7776'>
-          <var-decl name='audio_latency' type-id='type-id-465' visibility='default' filepath='include/drm/drm_connector.h' line='1000' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7840'>
-          <var-decl name='null_edid_counter' type-id='type-id-17' visibility='default' filepath='include/drm/drm_connector.h' line='1005' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7872'>
-          <var-decl name='bad_edid_counter' type-id='type-id-5' visibility='default' filepath='include/drm/drm_connector.h' line='1008' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7904'>
-          <var-decl name='edid_corrupt' type-id='type-id-33' visibility='default' filepath='include/drm/drm_connector.h' line='1015' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7936'>
-          <var-decl name='debugfs_entry' type-id='type-id-23' visibility='default' filepath='include/drm/drm_connector.h' line='1018' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8000'>
-          <var-decl name='state' type-id='type-id-4491' visibility='default' filepath='include/drm/drm_connector.h' line='1034' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8064'>
-          <var-decl name='tile_blob_ptr' type-id='type-id-4485' visibility='default' filepath='include/drm/drm_connector.h' line='1051' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8128'>
-          <var-decl name='has_tile' type-id='type-id-33' visibility='default' filepath='include/drm/drm_connector.h' line='1054' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8192'>
-          <var-decl name='tile_group' type-id='type-id-4492' visibility='default' filepath='include/drm/drm_connector.h' line='1056' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8256'>
-          <var-decl name='tile_is_single_monitor' type-id='type-id-33' visibility='default' filepath='include/drm/drm_connector.h' line='1058' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8264'>
-          <var-decl name='num_h_tile' type-id='type-id-4477' visibility='default' filepath='include/drm/drm_connector.h' line='1062' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8272'>
-          <var-decl name='num_v_tile' type-id='type-id-4477' visibility='default' filepath='include/drm/drm_connector.h' line='1062' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8280'>
-          <var-decl name='tile_h_loc' type-id='type-id-4477' visibility='default' filepath='include/drm/drm_connector.h' line='1065' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8288'>
-          <var-decl name='tile_v_loc' type-id='type-id-4477' visibility='default' filepath='include/drm/drm_connector.h' line='1065' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8304'>
-          <var-decl name='tile_h_size' type-id='type-id-4493' visibility='default' filepath='include/drm/drm_connector.h' line='1068' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8320'>
-          <var-decl name='tile_v_size' type-id='type-id-4493' visibility='default' filepath='include/drm/drm_connector.h' line='1068' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8384'>
-          <var-decl name='free_node' type-id='type-id-281' visibility='default' filepath='include/drm/drm_connector.h' line='1077' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_device' size-in-bits='13312' is-struct='yes' visibility='default' filepath='include/drm/drm_device.h' line='31' column='1' id='type-id-4494'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='legacy_dev_list' type-id='type-id-20' visibility='default' filepath='include/drm/drm_device.h' line='32' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='if_version' type-id='type-id-17' visibility='default' filepath='include/drm/drm_device.h' line='33' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='ref' type-id='type-id-239' visibility='default' filepath='include/drm/drm_device.h' line='37' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='dev' type-id='type-id-240' visibility='default' filepath='include/drm/drm_device.h' line='38' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='driver' type-id='type-id-4495' visibility='default' filepath='include/drm/drm_device.h' line='39' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='dev_private' type-id='type-id-15' visibility='default' filepath='include/drm/drm_device.h' line='40' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='primary' type-id='type-id-4496' visibility='default' filepath='include/drm/drm_device.h' line='41' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='render' type-id='type-id-4496' visibility='default' filepath='include/drm/drm_device.h' line='42' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='registered' type-id='type-id-33' visibility='default' filepath='include/drm/drm_device.h' line='43' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='master' type-id='type-id-4497' visibility='default' filepath='include/drm/drm_device.h' line='46' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='unplugged' type-id='type-id-33' visibility='default' filepath='include/drm/drm_device.h' line='54' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='anon_inode' type-id='type-id-1129' visibility='default' filepath='include/drm/drm_device.h' line='56' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='unique' type-id='type-id-2' visibility='default' filepath='include/drm/drm_device.h' line='57' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='struct_mutex' type-id='type-id-245' visibility='default' filepath='include/drm/drm_device.h' line='62' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='master_mutex' type-id='type-id-245' visibility='default' filepath='include/drm/drm_device.h' line='63' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='open_count' type-id='type-id-17' visibility='default' filepath='include/drm/drm_device.h' line='68' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1376'>
-          <var-decl name='buf_lock' type-id='type-id-247' visibility='default' filepath='include/drm/drm_device.h' line='69' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='buf_use' type-id='type-id-17' visibility='default' filepath='include/drm/drm_device.h' line='70' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1440'>
-          <var-decl name='buf_alloc' type-id='type-id-26' visibility='default' filepath='include/drm/drm_device.h' line='71' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='filelist_mutex' type-id='type-id-245' visibility='default' filepath='include/drm/drm_device.h' line='74' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='filelist' type-id='type-id-20' visibility='default' filepath='include/drm/drm_device.h' line='75' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='filelist_internal' type-id='type-id-20' visibility='default' filepath='include/drm/drm_device.h' line='82' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='clientlist_mutex' type-id='type-id-245' visibility='default' filepath='include/drm/drm_device.h' line='89' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='clientlist' type-id='type-id-20' visibility='default' filepath='include/drm/drm_device.h' line='96' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='maplist' type-id='type-id-20' visibility='default' filepath='include/drm/drm_device.h' line='100' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2496'>
-          <var-decl name='map_hash' type-id='type-id-4498' visibility='default' filepath='include/drm/drm_device.h' line='101' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2624'>
-          <var-decl name='ctxlist' type-id='type-id-20' visibility='default' filepath='include/drm/drm_device.h' line='105' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2752'>
-          <var-decl name='ctxlist_mutex' type-id='type-id-245' visibility='default' filepath='include/drm/drm_device.h' line='106' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3008'>
-          <var-decl name='ctx_idr' type-id='type-id-1434' visibility='default' filepath='include/drm/drm_device.h' line='108' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3200'>
-          <var-decl name='vmalist' type-id='type-id-20' visibility='default' filepath='include/drm/drm_device.h' line='110' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3328'>
-          <var-decl name='dma' type-id='type-id-4499' visibility='default' filepath='include/drm/drm_device.h' line='116' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3392'>
-          <var-decl name='context_flag' type-id='type-id-1497' visibility='default' filepath='include/drm/drm_device.h' line='122' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3456'>
-          <var-decl name='last_context' type-id='type-id-17' visibility='default' filepath='include/drm/drm_device.h' line='123' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3488'>
-          <var-decl name='irq_enabled' type-id='type-id-33' visibility='default' filepath='include/drm/drm_device.h' line='133' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3520'>
-          <var-decl name='irq' type-id='type-id-17' visibility='default' filepath='include/drm/drm_device.h' line='134' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3552'>
-          <var-decl name='vblank_disable_immediate' type-id='type-id-33' visibility='default' filepath='include/drm/drm_device.h' line='149' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3584'>
-          <var-decl name='vblank' type-id='type-id-4500' visibility='default' filepath='include/drm/drm_device.h' line='159' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3648'>
-          <var-decl name='vblank_time_lock' type-id='type-id-247' visibility='default' filepath='include/drm/drm_device.h' line='161' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3680'>
-          <var-decl name='vbl_lock' type-id='type-id-247' visibility='default' filepath='include/drm/drm_device.h' line='162' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3712'>
-          <var-decl name='max_vblank_count' type-id='type-id-7' visibility='default' filepath='include/drm/drm_device.h' line='185' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3776'>
-          <var-decl name='vblank_event_list' type-id='type-id-20' visibility='default' filepath='include/drm/drm_device.h' line='190' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3904'>
-          <var-decl name='event_lock' type-id='type-id-247' visibility='default' filepath='include/drm/drm_device.h' line='191' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3968'>
-          <var-decl name='agp' type-id='type-id-4501' visibility='default' filepath='include/drm/drm_device.h' line='195' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4032'>
-          <var-decl name='pdev' type-id='type-id-3932' visibility='default' filepath='include/drm/drm_device.h' line='197' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4096'>
-          <var-decl name='sg' type-id='type-id-4502' visibility='default' filepath='include/drm/drm_device.h' line='202' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4160'>
-          <var-decl name='num_crtcs' type-id='type-id-5' visibility='default' filepath='include/drm/drm_device.h' line='203' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4224'>
-          <var-decl name='sigdata' type-id='type-id-4503' visibility='default' filepath='include/drm/drm_device.h' line='208' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4352'>
-          <var-decl name='agp_buffer_map' type-id='type-id-4504' visibility='default' filepath='include/drm/drm_device.h' line='210' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4416'>
-          <var-decl name='agp_buffer_token' type-id='type-id-5' visibility='default' filepath='include/drm/drm_device.h' line='211' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4480'>
-          <var-decl name='mode_config' type-id='type-id-4505' visibility='default' filepath='include/drm/drm_device.h' line='213' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='12672'>
-          <var-decl name='object_name_lock' type-id='type-id-245' visibility='default' filepath='include/drm/drm_device.h' line='217' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='12928'>
-          <var-decl name='object_name_idr' type-id='type-id-1434' visibility='default' filepath='include/drm/drm_device.h' line='218' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='13120'>
-          <var-decl name='vma_offset_manager' type-id='type-id-4506' visibility='default' filepath='include/drm/drm_device.h' line='219' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='13184'>
-          <var-decl name='switch_power_state' type-id='type-id-17' visibility='default' filepath='include/drm/drm_device.h' line='221' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='13248'>
-          <var-decl name='fb_helper' type-id='type-id-4507' visibility='default' filepath='include/drm/drm_device.h' line='229' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_driver' size-in-bits='3776' is-struct='yes' visibility='default' filepath='include/drm/drm_drv.h' line='70' column='1' id='type-id-4508'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='load' type-id='type-id-4509' visibility='default' filepath='include/drm/drm_drv.h' line='88' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='open' type-id='type-id-4510' visibility='default' filepath='include/drm/drm_drv.h' line='108' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='postclose' type-id='type-id-4511' visibility='default' filepath='include/drm/drm_drv.h' line='122' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='lastclose' type-id='type-id-4512' visibility='default' filepath='include/drm/drm_drv.h' line='150' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='unload' type-id='type-id-4512' visibility='default' filepath='include/drm/drm_drv.h' line='167' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='release' type-id='type-id-4512' visibility='default' filepath='include/drm/drm_drv.h' line='177' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='get_vblank_counter' type-id='type-id-4513' visibility='default' filepath='include/drm/drm_drv.h' line='200' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='enable_vblank' type-id='type-id-4514' visibility='default' filepath='include/drm/drm_drv.h' line='216' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='disable_vblank' type-id='type-id-4515' visibility='default' filepath='include/drm/drm_drv.h' line='227' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='get_scanout_position' type-id='type-id-4516' visibility='default' filepath='include/drm/drm_drv.h' line='279' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='get_vblank_timestamp' type-id='type-id-4517' visibility='default' filepath='include/drm/drm_drv.h' line='327' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='irq_handler' type-id='type-id-3481' visibility='default' filepath='include/drm/drm_drv.h' line='338' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='irq_preinstall' type-id='type-id-4512' visibility='default' filepath='include/drm/drm_drv.h' line='348' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='irq_postinstall' type-id='type-id-4518' visibility='default' filepath='include/drm/drm_drv.h' line='357' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='irq_uninstall' type-id='type-id-4512' visibility='default' filepath='include/drm/drm_drv.h' line='366' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='master_create' type-id='type-id-4519' visibility='default' filepath='include/drm/drm_drv.h' line='373' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='master_destroy' type-id='type-id-4520' visibility='default' filepath='include/drm/drm_drv.h' line='380' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='master_set' type-id='type-id-4521' visibility='default' filepath='include/drm/drm_drv.h' line='387' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='master_drop' type-id='type-id-4511' visibility='default' filepath='include/drm/drm_drv.h' line='394' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='debugfs_init' type-id='type-id-4522' visibility='default' filepath='include/drm/drm_drv.h' line='401' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='gem_free_object' type-id='type-id-4523' visibility='default' filepath='include/drm/drm_drv.h' line='409' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='gem_free_object_unlocked' type-id='type-id-4523' visibility='default' filepath='include/drm/drm_drv.h' line='417' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='gem_open_object' type-id='type-id-4524' visibility='default' filepath='include/drm/drm_drv.h' line='424' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='gem_close_object' type-id='type-id-4525' visibility='default' filepath='include/drm/drm_drv.h' line='431' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='gem_print_info' type-id='type-id-4526' visibility='default' filepath='include/drm/drm_drv.h' line='444' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='gem_create_object' type-id='type-id-4527' visibility='default' filepath='include/drm/drm_drv.h' line='453' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='prime_handle_to_fd' type-id='type-id-4528' visibility='default' filepath='include/drm/drm_drv.h' line='462' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='prime_fd_to_handle' type-id='type-id-4529' visibility='default' filepath='include/drm/drm_drv.h' line='469' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='gem_prime_export' type-id='type-id-4530' visibility='default' filepath='include/drm/drm_drv.h' line='476' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='gem_prime_import' type-id='type-id-4531' visibility='default' filepath='include/drm/drm_drv.h' line='483' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='gem_prime_pin' type-id='type-id-4532' visibility='default' filepath='include/drm/drm_drv.h' line='485' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='gem_prime_unpin' type-id='type-id-4523' visibility='default' filepath='include/drm/drm_drv.h' line='486' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='gem_prime_res_obj' type-id='type-id-4533' visibility='default' filepath='include/drm/drm_drv.h' line='487' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='gem_prime_get_sg_table' type-id='type-id-4534' visibility='default' filepath='include/drm/drm_drv.h' line='489' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='gem_prime_import_sg_table' type-id='type-id-4535' visibility='default' filepath='include/drm/drm_drv.h' line='490' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='gem_prime_vmap' type-id='type-id-4536' visibility='default' filepath='include/drm/drm_drv.h' line='494' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2304'>
-          <var-decl name='gem_prime_vunmap' type-id='type-id-4537' visibility='default' filepath='include/drm/drm_drv.h' line='495' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='gem_prime_mmap' type-id='type-id-4538' visibility='default' filepath='include/drm/drm_drv.h' line='496' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2432'>
-          <var-decl name='dumb_create' type-id='type-id-4539' visibility='default' filepath='include/drm/drm_drv.h' line='520' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2496'>
-          <var-decl name='dumb_map_offset' type-id='type-id-4540' visibility='default' filepath='include/drm/drm_drv.h' line='536' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2560'>
-          <var-decl name='dumb_destroy' type-id='type-id-4541' visibility='default' filepath='include/drm/drm_drv.h' line='552' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2624'>
-          <var-decl name='gem_vm_ops' type-id='type-id-1466' visibility='default' filepath='include/drm/drm_drv.h' line='559' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2688'>
-          <var-decl name='major' type-id='type-id-17' visibility='default' filepath='include/drm/drm_drv.h' line='562' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2720'>
-          <var-decl name='minor' type-id='type-id-17' visibility='default' filepath='include/drm/drm_drv.h' line='564' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2752'>
-          <var-decl name='patchlevel' type-id='type-id-17' visibility='default' filepath='include/drm/drm_drv.h' line='566' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2816'>
-          <var-decl name='name' type-id='type-id-2' visibility='default' filepath='include/drm/drm_drv.h' line='568' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2880'>
-          <var-decl name='desc' type-id='type-id-2' visibility='default' filepath='include/drm/drm_drv.h' line='570' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2944'>
-          <var-decl name='date' type-id='type-id-2' visibility='default' filepath='include/drm/drm_drv.h' line='572' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3008'>
-          <var-decl name='driver_features' type-id='type-id-7' visibility='default' filepath='include/drm/drm_drv.h' line='575' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3072'>
-          <var-decl name='ioctls' type-id='type-id-4542' visibility='default' filepath='include/drm/drm_drv.h' line='585' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3136'>
-          <var-decl name='num_ioctls' type-id='type-id-17' visibility='default' filepath='include/drm/drm_drv.h' line='587' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3200'>
-          <var-decl name='fops' type-id='type-id-268' visibility='default' filepath='include/drm/drm_drv.h' line='596' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3264'>
-          <var-decl name='legacy_dev_list' type-id='type-id-20' visibility='default' filepath='include/drm/drm_drv.h' line='602' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3392'>
-          <var-decl name='firstopen' type-id='type-id-4518' visibility='default' filepath='include/drm/drm_drv.h' line='603' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3456'>
-          <var-decl name='preclose' type-id='type-id-4511' visibility='default' filepath='include/drm/drm_drv.h' line='604' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3520'>
-          <var-decl name='dma_ioctl' type-id='type-id-4543' visibility='default' filepath='include/drm/drm_drv.h' line='605' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3584'>
-          <var-decl name='dma_quiescent' type-id='type-id-4518' visibility='default' filepath='include/drm/drm_drv.h' line='606' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3648'>
-          <var-decl name='context_dtor' type-id='type-id-4544' visibility='default' filepath='include/drm/drm_drv.h' line='607' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3712'>
-          <var-decl name='dev_priv_size' type-id='type-id-17' visibility='default' filepath='include/drm/drm_drv.h' line='608' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_file' size-in-bits='2816' is-struct='yes' visibility='default' filepath='include/drm/drm_file.h' line='157' column='1' id='type-id-4545'>
-        <data-member access='public' layout-offset-in-bits='31'>
-          <var-decl name='authenticated' type-id='type-id-5' visibility='default' filepath='include/drm/drm_file.h' line='167' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='30'>
-          <var-decl name='stereo_allowed' type-id='type-id-5' visibility='default' filepath='include/drm/drm_file.h' line='174' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='29'>
-          <var-decl name='universal_planes' type-id='type-id-5' visibility='default' filepath='include/drm/drm_file.h' line='182' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='28'>
-          <var-decl name='atomic' type-id='type-id-5' visibility='default' filepath='include/drm/drm_file.h' line='185' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='27'>
-          <var-decl name='aspect_ratio_allowed' type-id='type-id-5' visibility='default' filepath='include/drm/drm_file.h' line='193' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='26'>
-          <var-decl name='writeback_connectors' type-id='type-id-5' visibility='default' filepath='include/drm/drm_file.h' line='200' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='25'>
-          <var-decl name='is_master' type-id='type-id-5' visibility='default' filepath='include/drm/drm_file.h' line='211' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='master' type-id='type-id-4497' visibility='default' filepath='include/drm/drm_file.h' line='223' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='pid' type-id='type-id-251' visibility='default' filepath='include/drm/drm_file.h' line='226' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='magic' type-id='type-id-4546' visibility='default' filepath='include/drm/drm_file.h' line='229' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='lhead' type-id='type-id-20' visibility='default' filepath='include/drm/drm_file.h' line='237' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='minor' type-id='type-id-4496' visibility='default' filepath='include/drm/drm_file.h' line='240' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='object_idr' type-id='type-id-1434' visibility='default' filepath='include/drm/drm_file.h' line='248' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='table_lock' type-id='type-id-247' visibility='default' filepath='include/drm/drm_file.h' line='251' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='syncobj_idr' type-id='type-id-1434' visibility='default' filepath='include/drm/drm_file.h' line='254' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='syncobj_table_lock' type-id='type-id-247' visibility='default' filepath='include/drm/drm_file.h' line='256' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='filp' type-id='type-id-83' visibility='default' filepath='include/drm/drm_file.h' line='259' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='driver_priv' type-id='type-id-15' visibility='default' filepath='include/drm/drm_file.h' line='267' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='fbs' type-id='type-id-20' visibility='default' filepath='include/drm/drm_file.h' line='278' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='fbs_lock' type-id='type-id-245' visibility='default' filepath='include/drm/drm_file.h' line='281' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='blobs' type-id='type-id-20' visibility='default' filepath='include/drm/drm_file.h' line='291' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='event_wait' type-id='type-id-225' visibility='default' filepath='include/drm/drm_file.h' line='294' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='pending_event_list' type-id='type-id-20' visibility='default' filepath='include/drm/drm_file.h' line='305' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='event_list' type-id='type-id-20' visibility='default' filepath='include/drm/drm_file.h' line='315' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='event_space' type-id='type-id-17' visibility='default' filepath='include/drm/drm_file.h' line='324' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='event_read_lock' type-id='type-id-245' visibility='default' filepath='include/drm/drm_file.h' line='327' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='prime' type-id='type-id-4547' visibility='default' filepath='include/drm/drm_file.h' line='334' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2752'>
-          <var-decl name='lock_count' type-id='type-id-16' visibility='default' filepath='include/drm/drm_file.h' line='337' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='drm_magic_t' type-id='type-id-5' filepath='include/uapi/drm/drm.h' line='85' column='1' id='type-id-4546'/>
-      <class-decl name='drm_minor' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/drm/drm_file.h' line='68' column='1' id='type-id-4548'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='index' type-id='type-id-17' visibility='default' filepath='include/drm/drm_file.h' line='70' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='type' type-id='type-id-17' visibility='default' filepath='include/drm/drm_file.h' line='71' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='kdev' type-id='type-id-240' visibility='default' filepath='include/drm/drm_file.h' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='dev' type-id='type-id-4446' visibility='default' filepath='include/drm/drm_file.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='debugfs_root' type-id='type-id-23' visibility='default' filepath='include/drm/drm_file.h' line='75' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='debugfs_list' type-id='type-id-20' visibility='default' filepath='include/drm/drm_file.h' line='77' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='debugfs_lock' type-id='type-id-245' visibility='default' filepath='include/drm/drm_file.h' line='78' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_prime_file_private' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/drm/drm_prime.h' line='46' column='1' id='type-id-4547'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lock' type-id='type-id-245' visibility='default' filepath='include/drm/drm_prime.h' line='48' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='dmabufs' type-id='type-id-416' visibility='default' filepath='include/drm/drm_prime.h' line='49' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='handles' type-id='type-id-416' visibility='default' filepath='include/drm/drm_prime.h' line='50' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_display_mode' size-in-bits='1920' is-struct='yes' visibility='default' filepath='include/drm/drm_modes.h' line='208' column='1' id='type-id-4549'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='head' type-id='type-id-20' visibility='default' filepath='include/drm/drm_modes.h' line='214' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='base' type-id='type-id-4481' visibility='default' filepath='include/drm/drm_modes.h' line='228' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='name' type-id='type-id-373' visibility='default' filepath='include/drm/drm_modes.h' line='235' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='status' type-id='type-id-4550' visibility='default' filepath='include/drm/drm_modes.h' line='243' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='672'>
-          <var-decl name='type' type-id='type-id-5' visibility='default' filepath='include/drm/drm_modes.h' line='271' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='clock' type-id='type-id-17' visibility='default' filepath='include/drm/drm_modes.h' line='278' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='736'>
-          <var-decl name='hdisplay' type-id='type-id-17' visibility='default' filepath='include/drm/drm_modes.h' line='279' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='hsync_start' type-id='type-id-17' visibility='default' filepath='include/drm/drm_modes.h' line='280' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='800'>
-          <var-decl name='hsync_end' type-id='type-id-17' visibility='default' filepath='include/drm/drm_modes.h' line='281' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='htotal' type-id='type-id-17' visibility='default' filepath='include/drm/drm_modes.h' line='282' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='864'>
-          <var-decl name='hskew' type-id='type-id-17' visibility='default' filepath='include/drm/drm_modes.h' line='283' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='vdisplay' type-id='type-id-17' visibility='default' filepath='include/drm/drm_modes.h' line='284' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='928'>
-          <var-decl name='vsync_start' type-id='type-id-17' visibility='default' filepath='include/drm/drm_modes.h' line='285' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='vsync_end' type-id='type-id-17' visibility='default' filepath='include/drm/drm_modes.h' line='286' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='992'>
-          <var-decl name='vtotal' type-id='type-id-17' visibility='default' filepath='include/drm/drm_modes.h' line='287' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='vscan' type-id='type-id-17' visibility='default' filepath='include/drm/drm_modes.h' line='288' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1056'>
-          <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='include/drm/drm_modes.h' line='323' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='width_mm' type-id='type-id-17' visibility='default' filepath='include/drm/drm_modes.h' line='331' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1120'>
-          <var-decl name='height_mm' type-id='type-id-17' visibility='default' filepath='include/drm/drm_modes.h' line='339' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='crtc_clock' type-id='type-id-17' visibility='default' filepath='include/drm/drm_modes.h' line='356' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1184'>
-          <var-decl name='crtc_hdisplay' type-id='type-id-17' visibility='default' filepath='include/drm/drm_modes.h' line='357' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='crtc_hblank_start' type-id='type-id-17' visibility='default' filepath='include/drm/drm_modes.h' line='358' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1248'>
-          <var-decl name='crtc_hblank_end' type-id='type-id-17' visibility='default' filepath='include/drm/drm_modes.h' line='359' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='crtc_hsync_start' type-id='type-id-17' visibility='default' filepath='include/drm/drm_modes.h' line='360' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1312'>
-          <var-decl name='crtc_hsync_end' type-id='type-id-17' visibility='default' filepath='include/drm/drm_modes.h' line='361' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='crtc_htotal' type-id='type-id-17' visibility='default' filepath='include/drm/drm_modes.h' line='362' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1376'>
-          <var-decl name='crtc_hskew' type-id='type-id-17' visibility='default' filepath='include/drm/drm_modes.h' line='363' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='crtc_vdisplay' type-id='type-id-17' visibility='default' filepath='include/drm/drm_modes.h' line='364' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1440'>
-          <var-decl name='crtc_vblank_start' type-id='type-id-17' visibility='default' filepath='include/drm/drm_modes.h' line='365' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='crtc_vblank_end' type-id='type-id-17' visibility='default' filepath='include/drm/drm_modes.h' line='366' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1504'>
-          <var-decl name='crtc_vsync_start' type-id='type-id-17' visibility='default' filepath='include/drm/drm_modes.h' line='367' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='crtc_vsync_end' type-id='type-id-17' visibility='default' filepath='include/drm/drm_modes.h' line='368' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1568'>
-          <var-decl name='crtc_vtotal' type-id='type-id-17' visibility='default' filepath='include/drm/drm_modes.h' line='369' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='private' type-id='type-id-666' visibility='default' filepath='include/drm/drm_modes.h' line='379' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='private_flags' type-id='type-id-17' visibility='default' filepath='include/drm/drm_modes.h' line='386' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1696'>
-          <var-decl name='vrefresh' type-id='type-id-17' visibility='default' filepath='include/drm/drm_modes.h' line='396' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='hsync' type-id='type-id-17' visibility='default' filepath='include/drm/drm_modes.h' line='406' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1760'>
-          <var-decl name='picture_aspect_ratio' type-id='type-id-4551' visibility='default' filepath='include/drm/drm_modes.h' line='413' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='export_head' type-id='type-id-20' visibility='default' filepath='include/drm/drm_modes.h' line='426' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_mode_object' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/drm/drm_mode_object.h' line='55' column='1' id='type-id-4481'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='id' type-id='type-id-1343' visibility='default' filepath='include/drm/drm_mode_object.h' line='56' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='type' type-id='type-id-1343' visibility='default' filepath='include/drm/drm_mode_object.h' line='57' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='properties' type-id='type-id-4552' visibility='default' filepath='include/drm/drm_mode_object.h' line='58' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='refcount' type-id='type-id-239' visibility='default' filepath='include/drm/drm_mode_object.h' line='59' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='free_cb' type-id='type-id-4553' visibility='default' filepath='include/drm/drm_mode_object.h' line='60' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_object_properties' size-in-bits='3136' is-struct='yes' visibility='default' filepath='include/drm/drm_mode_object.h' line='67' column='1' id='type-id-4486'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='count' type-id='type-id-17' visibility='default' filepath='include/drm/drm_mode_object.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='properties' type-id='type-id-4471' visibility='default' filepath='include/drm/drm_mode_object.h' line='82' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='values' type-id='type-id-4476' visibility='default' filepath='include/drm/drm_mode_object.h' line='102' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_property' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/drm/drm_property.h' line='71' column='1' id='type-id-4554'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='head' type-id='type-id-20' visibility='default' filepath='include/drm/drm_property.h' line='75' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='base' type-id='type-id-4481' visibility='default' filepath='include/drm/drm_property.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='flags' type-id='type-id-1343' visibility='default' filepath='include/drm/drm_property.h' line='156' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='name' type-id='type-id-373' visibility='default' filepath='include/drm/drm_property.h' line='161' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='672'>
-          <var-decl name='num_values' type-id='type-id-1343' visibility='default' filepath='include/drm/drm_property.h' line='166' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='values' type-id='type-id-4555' visibility='default' filepath='include/drm/drm_property.h' line='174' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='dev' type-id='type-id-4446' visibility='default' filepath='include/drm/drm_property.h' line='179' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='enum_list' type-id='type-id-20' visibility='default' filepath='include/drm/drm_property.h' line='187' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='drm_mode_status' filepath='include/drm/drm_modes.h' line='91' column='1' id='type-id-4550'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='MODE_OK' value='0'/>
-        <enumerator name='MODE_HSYNC' value='1'/>
-        <enumerator name='MODE_VSYNC' value='2'/>
-        <enumerator name='MODE_H_ILLEGAL' value='3'/>
-        <enumerator name='MODE_V_ILLEGAL' value='4'/>
-        <enumerator name='MODE_BAD_WIDTH' value='5'/>
-        <enumerator name='MODE_NOMODE' value='6'/>
-        <enumerator name='MODE_NO_INTERLACE' value='7'/>
-        <enumerator name='MODE_NO_DBLESCAN' value='8'/>
-        <enumerator name='MODE_NO_VSCAN' value='9'/>
-        <enumerator name='MODE_MEM' value='10'/>
-        <enumerator name='MODE_VIRTUAL_X' value='11'/>
-        <enumerator name='MODE_VIRTUAL_Y' value='12'/>
-        <enumerator name='MODE_MEM_VIRT' value='13'/>
-        <enumerator name='MODE_NOCLOCK' value='14'/>
-        <enumerator name='MODE_CLOCK_HIGH' value='15'/>
-        <enumerator name='MODE_CLOCK_LOW' value='16'/>
-        <enumerator name='MODE_CLOCK_RANGE' value='17'/>
-        <enumerator name='MODE_BAD_HVALUE' value='18'/>
-        <enumerator name='MODE_BAD_VVALUE' value='19'/>
-        <enumerator name='MODE_BAD_VSCAN' value='20'/>
-        <enumerator name='MODE_HSYNC_NARROW' value='21'/>
-        <enumerator name='MODE_HSYNC_WIDE' value='22'/>
-        <enumerator name='MODE_HBLANK_NARROW' value='23'/>
-        <enumerator name='MODE_HBLANK_WIDE' value='24'/>
-        <enumerator name='MODE_VSYNC_NARROW' value='25'/>
-        <enumerator name='MODE_VSYNC_WIDE' value='26'/>
-        <enumerator name='MODE_VBLANK_NARROW' value='27'/>
-        <enumerator name='MODE_VBLANK_WIDE' value='28'/>
-        <enumerator name='MODE_PANEL' value='29'/>
-        <enumerator name='MODE_INTERLACE_WIDTH' value='30'/>
-        <enumerator name='MODE_ONE_WIDTH' value='31'/>
-        <enumerator name='MODE_ONE_HEIGHT' value='32'/>
-        <enumerator name='MODE_ONE_SIZE' value='33'/>
-        <enumerator name='MODE_NO_REDUCED' value='34'/>
-        <enumerator name='MODE_NO_STEREO' value='35'/>
-        <enumerator name='MODE_NO_420' value='36'/>
-        <enumerator name='MODE_STALE' value='-3'/>
-        <enumerator name='MODE_BAD' value='-2'/>
-        <enumerator name='MODE_ERROR' value='-1'/>
-      </enum-decl>
-      <enum-decl name='hdmi_picture_aspect' filepath='include/linux/hdmi.h' line='78' column='1' id='type-id-4551'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='HDMI_PICTURE_ASPECT_NONE' value='0'/>
-        <enumerator name='HDMI_PICTURE_ASPECT_4_3' value='1'/>
-        <enumerator name='HDMI_PICTURE_ASPECT_16_9' value='2'/>
-        <enumerator name='HDMI_PICTURE_ASPECT_64_27' value='3'/>
-        <enumerator name='HDMI_PICTURE_ASPECT_256_135' value='4'/>
-        <enumerator name='HDMI_PICTURE_ASPECT_RESERVED' value='5'/>
-      </enum-decl>
-      <class-decl name='drm_printer' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/drm/drm_print.h' line='69' column='1' id='type-id-4556'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='printfn' type-id='type-id-4557' visibility='default' filepath='include/drm/drm_print.h' line='71' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='puts' type-id='type-id-4558' visibility='default' filepath='include/drm/drm_print.h' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='arg' type-id='type-id-15' visibility='default' filepath='include/drm/drm_print.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='prefix' type-id='type-id-4' visibility='default' filepath='include/drm/drm_print.h' line='74' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='va_format' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/printk.h' line='86' column='1' id='type-id-4559'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='fmt' type-id='type-id-4' visibility='default' filepath='include/linux/printk.h' line='87' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='va' type-id='type-id-4560' visibility='default' filepath='include/linux/printk.h' line='88' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='va_list' type-id='type-id-4561' filepath='prebuilts-master/clang/host/linux-x86/clang-r370808/lib64/clang/10.0.1/include/stdarg.h' line='14' column='1' id='type-id-4562'/>
-      <typedef-decl name='__builtin_va_list' type-id='type-id-4563' filepath='drivers/gpu/drm/drm_probe_helper.c' line='66' column='1' id='type-id-4561'/>
-      <class-decl name='__va_list' size-in-bits='256' is-struct='yes' visibility='default' filepath='drivers/gpu/drm/drm_probe_helper.c' line='66' column='1' id='type-id-4563'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='__stack' type-id='type-id-15' visibility='default' filepath='drivers/gpu/drm/drm_probe_helper.c' line='66' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='__gr_top' type-id='type-id-15' visibility='default' filepath='drivers/gpu/drm/drm_probe_helper.c' line='66' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='__vr_top' type-id='type-id-15' visibility='default' filepath='drivers/gpu/drm/drm_probe_helper.c' line='66' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='__gr_offs' type-id='type-id-17' visibility='default' filepath='drivers/gpu/drm/drm_probe_helper.c' line='66' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='__vr_offs' type-id='type-id-17' visibility='default' filepath='drivers/gpu/drm/drm_probe_helper.c' line='66' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__' size-in-bits='6848' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='353' column='1' id='type-id-4564'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mmap' type-id='type-id-1209' visibility='default' filepath='include/linux/mm_types.h' line='354' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='mm_rb' type-id='type-id-416' visibility='default' filepath='include/linux/mm_types.h' line='355' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='vmacache_seqnum' type-id='type-id-40' visibility='default' filepath='include/linux/mm_types.h' line='356' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='get_unmapped_area' type-id='type-id-1484' visibility='default' filepath='include/linux/mm_types.h' line='358' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='mmap_base' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='362' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='mmap_legacy_base' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='363' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='task_size' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='369' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='highest_vm_end' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='370' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='pgd' type-id='type-id-1485' visibility='default' filepath='include/linux/mm_types.h' line='371' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='mm_users' type-id='type-id-26' visibility='default' filepath='include/linux/mm_types.h' line='382' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='mm_count' type-id='type-id-26' visibility='default' filepath='include/linux/mm_types.h' line='391' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='pgtables_bytes' type-id='type-id-115' visibility='default' filepath='include/linux/mm_types.h' line='394' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='map_count' type-id='type-id-17' visibility='default' filepath='include/linux/mm_types.h' line='396' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='736'>
-          <var-decl name='page_table_lock' type-id='type-id-247' visibility='default' filepath='include/linux/mm_types.h' line='398' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='mmap_sem' type-id='type-id-246' visibility='default' filepath='include/linux/mm_types.h' line='401' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='mmlist' type-id='type-id-20' visibility='default' filepath='include/linux/mm_types.h' line='403' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='hiwater_rss' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='410' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='hiwater_vm' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='411' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='total_vm' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='413' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='locked_vm' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='414' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='pinned_vm' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='415' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='data_vm' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='416' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='exec_vm' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='417' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='stack_vm' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='418' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='def_flags' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='419' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='arg_lock' type-id='type-id-247' visibility='default' filepath='include/linux/mm_types.h' line='421' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='start_code' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='end_code' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='start_data' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='end_data' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='start_brk' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='brk' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='start_stack' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2304'>
-          <var-decl name='arg_start' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='arg_end' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2432'>
-          <var-decl name='env_start' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2496'>
-          <var-decl name='env_end' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2560'>
-          <var-decl name='saved_auxv' type-id='type-id-1202' visibility='default' filepath='include/linux/mm_types.h' line='426' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5504'>
-          <var-decl name='rss_stat' type-id='type-id-1486' visibility='default' filepath='include/linux/mm_types.h' line='432' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5760'>
-          <var-decl name='binfmt' type-id='type-id-1487' visibility='default' filepath='include/linux/mm_types.h' line='434' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5824'>
-          <var-decl name='context' type-id='type-id-1488' visibility='default' filepath='include/linux/mm_types.h' line='437' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6016'>
-          <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='439' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6080'>
-          <var-decl name='core_state' type-id='type-id-1489' visibility='default' filepath='include/linux/mm_types.h' line='441' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6144'>
-          <var-decl name='membarrier_state' type-id='type-id-26' visibility='default' filepath='include/linux/mm_types.h' line='443' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6176'>
-          <var-decl name='ioctx_lock' type-id='type-id-247' visibility='default' filepath='include/linux/mm_types.h' line='446' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6208'>
-          <var-decl name='ioctx_table' type-id='type-id-1490' visibility='default' filepath='include/linux/mm_types.h' line='447' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6272'>
-          <var-decl name='owner' type-id='type-id-431' visibility='default' filepath='include/linux/mm_types.h' line='460' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6336'>
-          <var-decl name='user_ns' type-id='type-id-3478' visibility='default' filepath='include/linux/mm_types.h' line='462' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6400'>
-          <var-decl name='exe_file' type-id='type-id-83' visibility='default' filepath='include/linux/mm_types.h' line='465' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6464'>
-          <var-decl name='tlb_flush_pending' type-id='type-id-26' visibility='default' filepath='include/linux/mm_types.h' line='491' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6528'>
-          <var-decl name='uprobes_state' type-id='type-id-1491' visibility='default' filepath='include/linux/mm_types.h' line='496' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6592'>
-          <var-decl name='async_put_work' type-id='type-id-255' visibility='default' filepath='include/linux/mm_types.h' line='500' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_mode_create_dumb' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='703' column='1' id='type-id-4565'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='height' type-id='type-id-511' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='704' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='width' type-id='type-id-511' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='705' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='bpp' type-id='type-id-511' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='706' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='flags' type-id='type-id-511' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='707' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='handle' type-id='type-id-511' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='709' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='pitch' type-id='type-id-511' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='710' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='size' type-id='type-id-100' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='711' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_ioctl_desc' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/drm/drm_ioctl.h' line='141' column='1' id='type-id-4566'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cmd' type-id='type-id-5' visibility='default' filepath='include/drm/drm_ioctl.h' line='142' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='flags' type-id='type-id-4567' visibility='default' filepath='include/drm/drm_ioctl.h' line='143' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='func' type-id='type-id-4568' visibility='default' filepath='include/drm/drm_ioctl.h' line='144' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/drm/drm_ioctl.h' line='145' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='drm_ioctl_flags' filepath='include/drm/drm_ioctl.h' line='79' column='1' id='type-id-4567'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='DRM_AUTH' value='1'/>
-        <enumerator name='DRM_MASTER' value='2'/>
-        <enumerator name='DRM_ROOT_ONLY' value='4'/>
-        <enumerator name='DRM_UNLOCKED' value='16'/>
-        <enumerator name='DRM_RENDER_ALLOW' value='32'/>
-      </enum-decl>
-      <typedef-decl name='drm_ioctl_t' type-id='type-id-4569' filepath='include/drm/drm_ioctl.h' line='54' column='1' id='type-id-4570'/>
-      <class-decl name='drm_open_hash' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/drm/drm_hashtab.h' line='47' column='1' id='type-id-4498'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='table' type-id='type-id-746' visibility='default' filepath='include/drm/drm_hashtab.h' line='48' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='order' type-id='type-id-214' visibility='default' filepath='include/drm/drm_hashtab.h' line='49' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_vblank_crtc' size-in-bits='3008' is-struct='yes' visibility='default' filepath='include/drm/drm_vblank.h' line='90' column='1' id='type-id-4571'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dev' type-id='type-id-4446' visibility='default' filepath='include/drm/drm_vblank.h' line='94' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='queue' type-id='type-id-225' visibility='default' filepath='include/drm/drm_vblank.h' line='98' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='disable_timer' type-id='type-id-417' visibility='default' filepath='include/drm/drm_vblank.h' line='105' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='seqlock' type-id='type-id-1919' visibility='default' filepath='include/drm/drm_vblank.h' line='110' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='count' type-id='type-id-40' visibility='default' filepath='include/drm/drm_vblank.h' line='115' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='time' type-id='type-id-682' visibility='default' filepath='include/drm/drm_vblank.h' line='119' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='refcount' type-id='type-id-26' visibility='default' filepath='include/drm/drm_vblank.h' line='126' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='800'>
-          <var-decl name='last' type-id='type-id-7' visibility='default' filepath='include/drm/drm_vblank.h' line='130' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='max_vblank_count' type-id='type-id-7' visibility='default' filepath='include/drm/drm_vblank.h' line='150' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='864'>
-          <var-decl name='inmodeset' type-id='type-id-5' visibility='default' filepath='include/drm/drm_vblank.h' line='159' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='pipe' type-id='type-id-5' visibility='default' filepath='include/drm/drm_vblank.h' line='164' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='928'>
-          <var-decl name='framedur_ns' type-id='type-id-17' visibility='default' filepath='include/drm/drm_vblank.h' line='170' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='linedur_ns' type-id='type-id-17' visibility='default' filepath='include/drm/drm_vblank.h' line='176' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='hwmode' type-id='type-id-4549' visibility='default' filepath='include/drm/drm_vblank.h' line='187' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2944'>
-          <var-decl name='enabled' type-id='type-id-33' visibility='default' filepath='include/drm/drm_vblank.h' line='195' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_agp_head' size-in-bits='1152' is-struct='yes' visibility='default' filepath='include/drm/drm_agpsupport.h' line='16' column='1' id='type-id-4572'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='agp_info' type-id='type-id-4573' visibility='default' filepath='include/drm/drm_agpsupport.h' line='17' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='memory' type-id='type-id-20' visibility='default' filepath='include/drm/drm_agpsupport.h' line='18' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='mode' type-id='type-id-16' visibility='default' filepath='include/drm/drm_agpsupport.h' line='19' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='bridge' type-id='type-id-4574' visibility='default' filepath='include/drm/drm_agpsupport.h' line='20' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='enabled' type-id='type-id-17' visibility='default' filepath='include/drm/drm_agpsupport.h' line='21' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='928'>
-          <var-decl name='acquired' type-id='type-id-17' visibility='default' filepath='include/drm/drm_agpsupport.h' line='22' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='base' type-id='type-id-16' visibility='default' filepath='include/drm/drm_agpsupport.h' line='23' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='agp_mtrr' type-id='type-id-17' visibility='default' filepath='include/drm/drm_agpsupport.h' line='24' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1056'>
-          <var-decl name='cant_use_aperture' type-id='type-id-17' visibility='default' filepath='include/drm/drm_agpsupport.h' line='25' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='page_mask' type-id='type-id-16' visibility='default' filepath='include/drm/drm_agpsupport.h' line='26' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='agp_kern_info' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/agp_backend.h' line='45' column='1' id='type-id-4573'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='version' type-id='type-id-4575' visibility='default' filepath='include/linux/agp_backend.h' line='46' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='device' type-id='type-id-3932' visibility='default' filepath='include/linux/agp_backend.h' line='47' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='chipset' type-id='type-id-4576' visibility='default' filepath='include/linux/agp_backend.h' line='48' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='mode' type-id='type-id-16' visibility='default' filepath='include/linux/agp_backend.h' line='49' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='aper_base' type-id='type-id-16' visibility='default' filepath='include/linux/agp_backend.h' line='50' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='aper_size' type-id='type-id-84' visibility='default' filepath='include/linux/agp_backend.h' line='51' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='max_memory' type-id='type-id-17' visibility='default' filepath='include/linux/agp_backend.h' line='52' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='current_memory' type-id='type-id-17' visibility='default' filepath='include/linux/agp_backend.h' line='53' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='cant_use_aperture' type-id='type-id-33' visibility='default' filepath='include/linux/agp_backend.h' line='54' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='page_mask' type-id='type-id-16' visibility='default' filepath='include/linux/agp_backend.h' line='55' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='vm_ops' type-id='type-id-1466' visibility='default' filepath='include/linux/agp_backend.h' line='56' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='agp_version' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/linux/agp_backend.h' line='40' column='1' id='type-id-4575'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='major' type-id='type-id-688' visibility='default' filepath='include/linux/agp_backend.h' line='41' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='minor' type-id='type-id-688' visibility='default' filepath='include/linux/agp_backend.h' line='42' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='chipset_type' filepath='include/linux/agp_backend.h' line='35' column='1' id='type-id-4576'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='NOT_SUPPORTED' value='0'/>
-        <enumerator name='SUPPORTED' value='1'/>
-      </enum-decl>
-      <class-decl name='__anonymous_struct__1' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/drm/drm_device.h' line='205' column='1' id='type-id-4503'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='context' type-id='type-id-17' visibility='default' filepath='include/drm/drm_device.h' line='206' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='lock' type-id='type-id-4577' visibility='default' filepath='include/drm/drm_device.h' line='207' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_hw_lock' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/uapi/drm/drm.h' line='129' column='1' id='type-id-4578'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lock' type-id='type-id-4579' visibility='default' filepath='include/uapi/drm/drm.h' line='130' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='padding' type-id='type-id-4453' visibility='default' filepath='include/uapi/drm/drm.h' line='131' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_mode_config' size-in-bits='8192' is-struct='yes' visibility='default' filepath='include/drm/drm_mode_config.h' line='352' column='1' id='type-id-4505'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mutex' type-id='type-id-245' visibility='default' filepath='include/drm/drm_mode_config.h' line='363' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='connection_mutex' type-id='type-id-4580' visibility='default' filepath='include/drm/drm_mode_config.h' line='373' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='acquire_ctx' type-id='type-id-4581' visibility='default' filepath='include/drm/drm_mode_config.h' line='383' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='idr_mutex' type-id='type-id-245' visibility='default' filepath='include/drm/drm_mode_config.h' line='391' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='crtc_idr' type-id='type-id-1434' visibility='default' filepath='include/drm/drm_mode_config.h' line='399' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='tile_idr' type-id='type-id-1434' visibility='default' filepath='include/drm/drm_mode_config.h' line='407' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='fb_lock' type-id='type-id-245' visibility='default' filepath='include/drm/drm_mode_config.h' line='410' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='num_fb' type-id='type-id-17' visibility='default' filepath='include/drm/drm_mode_config.h' line='412' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='fb_list' type-id='type-id-20' visibility='default' filepath='include/drm/drm_mode_config.h' line='414' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='connector_list_lock' type-id='type-id-247' visibility='default' filepath='include/drm/drm_mode_config.h' line='420' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1888'>
-          <var-decl name='num_connector' type-id='type-id-17' visibility='default' filepath='include/drm/drm_mode_config.h' line='425' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='connector_ida' type-id='type-id-3449' visibility='default' filepath='include/drm/drm_mode_config.h' line='429' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='connector_list' type-id='type-id-20' visibility='default' filepath='include/drm/drm_mode_config.h' line='437' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='connector_free_list' type-id='type-id-278' visibility='default' filepath='include/drm/drm_mode_config.h' line='447' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='connector_free_work' type-id='type-id-255' visibility='default' filepath='include/drm/drm_mode_config.h' line='451' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2496'>
-          <var-decl name='num_encoder' type-id='type-id-17' visibility='default' filepath='include/drm/drm_mode_config.h' line='459' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2560'>
-          <var-decl name='encoder_list' type-id='type-id-20' visibility='default' filepath='include/drm/drm_mode_config.h' line='467' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2688'>
-          <var-decl name='num_total_plane' type-id='type-id-17' visibility='default' filepath='include/drm/drm_mode_config.h' line='476' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2752'>
-          <var-decl name='plane_list' type-id='type-id-20' visibility='default' filepath='include/drm/drm_mode_config.h' line='483' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2880'>
-          <var-decl name='num_crtc' type-id='type-id-17' visibility='default' filepath='include/drm/drm_mode_config.h' line='491' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2944'>
-          <var-decl name='crtc_list' type-id='type-id-20' visibility='default' filepath='include/drm/drm_mode_config.h' line='498' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3072'>
-          <var-decl name='property_list' type-id='type-id-20' visibility='default' filepath='include/drm/drm_mode_config.h' line='507' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3200'>
-          <var-decl name='min_width' type-id='type-id-17' visibility='default' filepath='include/drm/drm_mode_config.h' line='509' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3232'>
-          <var-decl name='min_height' type-id='type-id-17' visibility='default' filepath='include/drm/drm_mode_config.h' line='509' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3264'>
-          <var-decl name='max_width' type-id='type-id-17' visibility='default' filepath='include/drm/drm_mode_config.h' line='510' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3296'>
-          <var-decl name='max_height' type-id='type-id-17' visibility='default' filepath='include/drm/drm_mode_config.h' line='510' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3328'>
-          <var-decl name='funcs' type-id='type-id-4582' visibility='default' filepath='include/drm/drm_mode_config.h' line='511' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3392'>
-          <var-decl name='fb_base' type-id='type-id-2155' visibility='default' filepath='include/drm/drm_mode_config.h' line='512' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3456'>
-          <var-decl name='poll_enabled' type-id='type-id-33' visibility='default' filepath='include/drm/drm_mode_config.h' line='515' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3464'>
-          <var-decl name='poll_running' type-id='type-id-33' visibility='default' filepath='include/drm/drm_mode_config.h' line='516' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3472'>
-          <var-decl name='delayed_event' type-id='type-id-33' visibility='default' filepath='include/drm/drm_mode_config.h' line='517' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3520'>
-          <var-decl name='output_poll_work' type-id='type-id-411' visibility='default' filepath='include/drm/drm_mode_config.h' line='518' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4224'>
-          <var-decl name='blob_lock' type-id='type-id-245' visibility='default' filepath='include/drm/drm_mode_config.h' line='526' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4480'>
-          <var-decl name='property_blob_list' type-id='type-id-20' visibility='default' filepath='include/drm/drm_mode_config.h' line='534' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4608'>
-          <var-decl name='edid_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='542' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4672'>
-          <var-decl name='dpms_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='547' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4736'>
-          <var-decl name='path_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='552' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4800'>
-          <var-decl name='tile_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='558' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4864'>
-          <var-decl name='link_status_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='563' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4928'>
-          <var-decl name='plane_type_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='568' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4992'>
-          <var-decl name='prop_src_x' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='573' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5056'>
-          <var-decl name='prop_src_y' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='578' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5120'>
-          <var-decl name='prop_src_w' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='583' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5184'>
-          <var-decl name='prop_src_h' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='588' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5248'>
-          <var-decl name='prop_crtc_x' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='593' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5312'>
-          <var-decl name='prop_crtc_y' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='598' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5376'>
-          <var-decl name='prop_crtc_w' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='603' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5440'>
-          <var-decl name='prop_crtc_h' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='608' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5504'>
-          <var-decl name='prop_fb_id' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='613' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5568'>
-          <var-decl name='prop_in_fence_fd' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='618' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5632'>
-          <var-decl name='prop_out_fence_ptr' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='624' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5696'>
-          <var-decl name='prop_crtc_id' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='629' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5760'>
-          <var-decl name='prop_active' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='635' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5824'>
-          <var-decl name='prop_mode_id' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='641' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5888'>
-          <var-decl name='dvi_i_subconnector_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='647' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5952'>
-          <var-decl name='dvi_i_select_subconnector_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='652' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6016'>
-          <var-decl name='tv_subconnector_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='658' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6080'>
-          <var-decl name='tv_select_subconnector_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='663' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6144'>
-          <var-decl name='tv_mode_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='668' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6208'>
-          <var-decl name='tv_left_margin_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='673' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6272'>
-          <var-decl name='tv_right_margin_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='678' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6336'>
-          <var-decl name='tv_top_margin_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='683' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6400'>
-          <var-decl name='tv_bottom_margin_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='688' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6464'>
-          <var-decl name='tv_brightness_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='693' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6528'>
-          <var-decl name='tv_contrast_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='698' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6592'>
-          <var-decl name='tv_flicker_reduction_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='703' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6656'>
-          <var-decl name='tv_overscan_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='708' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6720'>
-          <var-decl name='tv_saturation_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='713' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6784'>
-          <var-decl name='tv_hue_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='717' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6848'>
-          <var-decl name='scaling_mode_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='723' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6912'>
-          <var-decl name='aspect_ratio_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='728' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6976'>
-          <var-decl name='content_type_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='733' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7040'>
-          <var-decl name='degamma_lut_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='738' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7104'>
-          <var-decl name='degamma_lut_size_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='743' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7168'>
-          <var-decl name='ctm_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='749' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7232'>
-          <var-decl name='gamma_lut_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='755' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7296'>
-          <var-decl name='gamma_lut_size_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='760' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7360'>
-          <var-decl name='suggested_x_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='766' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7424'>
-          <var-decl name='suggested_y_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='771' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7488'>
-          <var-decl name='non_desktop_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='778' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7552'>
-          <var-decl name='panel_orientation_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='785' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7616'>
-          <var-decl name='writeback_fb_id_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='792' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7680'>
-          <var-decl name='writeback_pixel_formats_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='800' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7744'>
-          <var-decl name='writeback_out_fence_ptr_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='808' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7808'>
-          <var-decl name='preferred_depth' type-id='type-id-1343' visibility='default' filepath='include/drm/drm_mode_config.h' line='811' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7840'>
-          <var-decl name='prefer_shadow' type-id='type-id-1343' visibility='default' filepath='include/drm/drm_mode_config.h' line='811' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7872'>
-          <var-decl name='async_page_flip' type-id='type-id-33' visibility='default' filepath='include/drm/drm_mode_config.h' line='817' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7880'>
-          <var-decl name='allow_fb_modifiers' type-id='type-id-33' visibility='default' filepath='include/drm/drm_mode_config.h' line='824' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7888'>
-          <var-decl name='normalize_zpos' type-id='type-id-33' visibility='default' filepath='include/drm/drm_mode_config.h' line='832' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7936'>
-          <var-decl name='modifiers_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_mode_config.h' line='838' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8000'>
-          <var-decl name='cursor_width' type-id='type-id-1343' visibility='default' filepath='include/drm/drm_mode_config.h' line='841' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8032'>
-          <var-decl name='cursor_height' type-id='type-id-1343' visibility='default' filepath='include/drm/drm_mode_config.h' line='841' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8064'>
-          <var-decl name='suspend_state' type-id='type-id-4583' visibility='default' filepath='include/drm/drm_mode_config.h' line='850' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8128'>
-          <var-decl name='helper_private' type-id='type-id-4584' visibility='default' filepath='include/drm/drm_mode_config.h' line='852' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_modeset_lock' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/drm/drm_modeset_lock.h' line='76' column='1' id='type-id-4580'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mutex' type-id='type-id-3467' visibility='default' filepath='include/drm/drm_modeset_lock.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='head' type-id='type-id-20' visibility='default' filepath='include/drm/drm_modeset_lock.h' line='86' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_modeset_acquire_ctx' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/drm/drm_modeset_lock.h' line='43' column='1' id='type-id-4585'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ww_ctx' type-id='type-id-3469' visibility='default' filepath='include/drm/drm_modeset_lock.h' line='45' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='contended' type-id='type-id-4586' visibility='default' filepath='include/drm/drm_modeset_lock.h' line='52' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='locked' type-id='type-id-20' visibility='default' filepath='include/drm/drm_modeset_lock.h' line='57' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='trylock_only' type-id='type-id-33' visibility='default' filepath='include/drm/drm_modeset_lock.h' line='62' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='392'>
-          <var-decl name='interruptible' type-id='type-id-33' visibility='default' filepath='include/drm/drm_modeset_lock.h' line='65' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_mode_config_funcs' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/drm/drm_mode_config.h' line='47' column='1' id='type-id-4587'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='fb_create' type-id='type-id-4588' visibility='default' filepath='include/drm/drm_mode_config.h' line='71' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='get_format_info' type-id='type-id-4589' visibility='default' filepath='include/drm/drm_mode_config.h' line='86' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='output_poll_changed' type-id='type-id-4512' visibility='default' filepath='include/drm/drm_mode_config.h' line='103' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='mode_valid' type-id='type-id-4590' visibility='default' filepath='include/drm/drm_mode_config.h' line='113' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='atomic_check' type-id='type-id-4591' visibility='default' filepath='include/drm/drm_mode_config.h' line='190' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='atomic_commit' type-id='type-id-4592' visibility='default' filepath='include/drm/drm_mode_config.h' line='272' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='atomic_state_alloc' type-id='type-id-4593' visibility='default' filepath='include/drm/drm_mode_config.h' line='291' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='atomic_state_clear' type-id='type-id-4594' visibility='default' filepath='include/drm/drm_mode_config.h' line='312' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='atomic_state_free' type-id='type-id-4594' visibility='default' filepath='include/drm/drm_mode_config.h' line='327' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_framebuffer' size-in-bits='1600' is-struct='yes' visibility='default' filepath='include/drm/drm_framebuffer.h' line='109' column='1' id='type-id-4595'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dev' type-id='type-id-4446' visibility='default' filepath='include/drm/drm_framebuffer.h' line='113' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='head' type-id='type-id-20' visibility='default' filepath='include/drm/drm_framebuffer.h' line='118' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='base' type-id='type-id-4481' visibility='default' filepath='include/drm/drm_framebuffer.h' line='123' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='comm' type-id='type-id-43' visibility='default' filepath='include/drm/drm_framebuffer.h' line='128' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='format' type-id='type-id-4596' visibility='default' filepath='include/drm/drm_framebuffer.h' line='133' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='funcs' type-id='type-id-4597' visibility='default' filepath='include/drm/drm_framebuffer.h' line='137' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='pitches' type-id='type-id-4479' visibility='default' filepath='include/drm/drm_framebuffer.h' line='142' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='offsets' type-id='type-id-4479' visibility='default' filepath='include/drm/drm_framebuffer.h' line='160' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='modifier' type-id='type-id-2439' visibility='default' filepath='include/drm/drm_framebuffer.h' line='167' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='width' type-id='type-id-5' visibility='default' filepath='include/drm/drm_framebuffer.h' line='172' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1056'>
-          <var-decl name='height' type-id='type-id-5' visibility='default' filepath='include/drm/drm_framebuffer.h' line='177' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='flags' type-id='type-id-17' visibility='default' filepath='include/drm/drm_framebuffer.h' line='182' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1120'>
-          <var-decl name='hot_x' type-id='type-id-17' visibility='default' filepath='include/drm/drm_framebuffer.h' line='188' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='hot_y' type-id='type-id-17' visibility='default' filepath='include/drm/drm_framebuffer.h' line='194' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='filp_head' type-id='type-id-20' visibility='default' filepath='include/drm/drm_framebuffer.h' line='198' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='obj' type-id='type-id-4469' visibility='default' filepath='include/drm/drm_framebuffer.h' line='205' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_format_info' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/drm/drm_fourcc.h' line='66' column='1' id='type-id-4598'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='format' type-id='type-id-7' visibility='default' filepath='include/drm/drm_fourcc.h' line='67' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='depth' type-id='type-id-214' visibility='default' filepath='include/drm/drm_fourcc.h' line='68' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='40'>
-          <var-decl name='num_planes' type-id='type-id-214' visibility='default' filepath='include/drm/drm_fourcc.h' line='69' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='cpp' type-id='type-id-1185' visibility='default' filepath='include/drm/drm_fourcc.h' line='70' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='72'>
-          <var-decl name='hsub' type-id='type-id-214' visibility='default' filepath='include/drm/drm_fourcc.h' line='71' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='80'>
-          <var-decl name='vsub' type-id='type-id-214' visibility='default' filepath='include/drm/drm_fourcc.h' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='88'>
-          <var-decl name='has_alpha' type-id='type-id-33' visibility='default' filepath='include/drm/drm_fourcc.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='is_yuv' type-id='type-id-33' visibility='default' filepath='include/drm/drm_fourcc.h' line='74' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_framebuffer_funcs' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/drm/drm_framebuffer.h' line='37' column='1' id='type-id-4599'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='destroy' type-id='type-id-4600' visibility='default' filepath='include/drm/drm_framebuffer.h' line='48' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='create_handle' type-id='type-id-4601' visibility='default' filepath='include/drm/drm_framebuffer.h' line='68' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='dirty' type-id='type-id-4602' visibility='default' filepath='include/drm/drm_framebuffer.h' line='89' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_clip_rect' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/drm/drm.h' line='96' column='1' id='type-id-4603'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='x1' type-id='type-id-312' visibility='default' filepath='include/uapi/drm/drm.h' line='97' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='y1' type-id='type-id-312' visibility='default' filepath='include/uapi/drm/drm.h' line='98' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='x2' type-id='type-id-312' visibility='default' filepath='include/uapi/drm/drm.h' line='99' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='y2' type-id='type-id-312' visibility='default' filepath='include/uapi/drm/drm.h' line='100' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_mode_fb_cmd2' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='479' column='1' id='type-id-4604'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='fb_id' type-id='type-id-511' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='480' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='width' type-id='type-id-511' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='481' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='height' type-id='type-id-511' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='482' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='pixel_format' type-id='type-id-511' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='483' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='flags' type-id='type-id-511' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='484' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='handles' type-id='type-id-4448' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='510' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='pitches' type-id='type-id-4448' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='511' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='offsets' type-id='type-id-4448' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='512' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='modifier' type-id='type-id-4449' visibility='default' filepath='include/uapi/drm/drm_mode.h' line='513' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_mode_config_helper_funcs' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='1213' column='1' id='type-id-4605'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='atomic_commit_tail' type-id='type-id-4594' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='1249' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_fb_helper' size-in-bits='2624' is-struct='yes' visibility='default' filepath='include/drm/drm_fb_helper.h' line='157' column='1' id='type-id-4606'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='client' type-id='type-id-4607' visibility='default' filepath='include/drm/drm_fb_helper.h' line='163' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='buffer' type-id='type-id-4608' visibility='default' filepath='include/drm/drm_fb_helper.h' line='170' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='fb' type-id='type-id-4609' visibility='default' filepath='include/drm/drm_fb_helper.h' line='172' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='dev' type-id='type-id-4446' visibility='default' filepath='include/drm/drm_fb_helper.h' line='173' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='crtc_count' type-id='type-id-17' visibility='default' filepath='include/drm/drm_fb_helper.h' line='174' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='crtc_info' type-id='type-id-4610' visibility='default' filepath='include/drm/drm_fb_helper.h' line='175' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='connector_count' type-id='type-id-17' visibility='default' filepath='include/drm/drm_fb_helper.h' line='176' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='736'>
-          <var-decl name='connector_info_alloc_count' type-id='type-id-17' visibility='default' filepath='include/drm/drm_fb_helper.h' line='177' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='sw_rotations' type-id='type-id-17' visibility='default' filepath='include/drm/drm_fb_helper.h' line='184' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='connector_info' type-id='type-id-4611' visibility='default' filepath='include/drm/drm_fb_helper.h' line='191' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='funcs' type-id='type-id-4612' visibility='default' filepath='include/drm/drm_fb_helper.h' line='192' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='fbdev' type-id='type-id-4613' visibility='default' filepath='include/drm/drm_fb_helper.h' line='193' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='pseudo_palette' type-id='type-id-4472' visibility='default' filepath='include/drm/drm_fb_helper.h' line='194' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1568'>
-          <var-decl name='dirty_clip' type-id='type-id-4603' visibility='default' filepath='include/drm/drm_fb_helper.h' line='195' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1632'>
-          <var-decl name='dirty_lock' type-id='type-id-247' visibility='default' filepath='include/drm/drm_fb_helper.h' line='196' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='dirty_work' type-id='type-id-255' visibility='default' filepath='include/drm/drm_fb_helper.h' line='197' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='resume_work' type-id='type-id-255' visibility='default' filepath='include/drm/drm_fb_helper.h' line='198' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='lock' type-id='type-id-245' visibility='default' filepath='include/drm/drm_fb_helper.h' line='210' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2432'>
-          <var-decl name='kernel_fb_list' type-id='type-id-20' visibility='default' filepath='include/drm/drm_fb_helper.h' line='217' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2560'>
-          <var-decl name='delayed_hotplug' type-id='type-id-33' visibility='default' filepath='include/drm/drm_fb_helper.h' line='226' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2568'>
-          <var-decl name='deferred_setup' type-id='type-id-33' visibility='default' filepath='include/drm/drm_fb_helper.h' line='238' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2592'>
-          <var-decl name='preferred_bpp' type-id='type-id-17' visibility='default' filepath='include/drm/drm_fb_helper.h' line='249' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_client_dev' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/drm/drm_client.h' line='60' column='1' id='type-id-4607'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dev' type-id='type-id-4446' visibility='default' filepath='include/drm/drm_client.h' line='64' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/drm/drm_client.h' line='69' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/drm/drm_client.h' line='77' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='funcs' type-id='type-id-4614' visibility='default' filepath='include/drm/drm_client.h' line='82' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='file' type-id='type-id-4615' visibility='default' filepath='include/drm/drm_client.h' line='87' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_client_funcs' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/drm/drm_client.h' line='19' column='1' id='type-id-4616'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='owner' type-id='type-id-260' visibility='default' filepath='include/drm/drm_client.h' line='23' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='unregister' type-id='type-id-4617' visibility='default' filepath='include/drm/drm_client.h' line='33' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='restore' type-id='type-id-4618' visibility='default' filepath='include/drm/drm_client.h' line='44' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='hotplug' type-id='type-id-4618' visibility='default' filepath='include/drm/drm_client.h' line='54' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_client_buffer' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/drm/drm_client.h' line='102' column='1' id='type-id-4619'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='client' type-id='type-id-4620' visibility='default' filepath='include/drm/drm_client.h' line='106' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='handle' type-id='type-id-7' visibility='default' filepath='include/drm/drm_client.h' line='111' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='pitch' type-id='type-id-7' visibility='default' filepath='include/drm/drm_client.h' line='116' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='gem' type-id='type-id-4468' visibility='default' filepath='include/drm/drm_client.h' line='121' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='vaddr' type-id='type-id-15' visibility='default' filepath='include/drm/drm_client.h' line='126' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='fb' type-id='type-id-4609' visibility='default' filepath='include/drm/drm_client.h' line='131' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_fb_helper_crtc' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/drm/drm_fb_helper.h' line='49' column='1' id='type-id-4621'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mode_set' type-id='type-id-4622' visibility='default' filepath='include/drm/drm_fb_helper.h' line='50' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='desired_mode' type-id='type-id-4445' visibility='default' filepath='include/drm/drm_fb_helper.h' line='51' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='x' type-id='type-id-17' visibility='default' filepath='include/drm/drm_fb_helper.h' line='52' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='y' type-id='type-id-17' visibility='default' filepath='include/drm/drm_fb_helper.h' line='52' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='rotation' type-id='type-id-17' visibility='default' filepath='include/drm/drm_fb_helper.h' line='53' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_mode_set' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/drm/drm_crtc.h' line='1059' column='1' id='type-id-4622'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='fb' type-id='type-id-4609' visibility='default' filepath='include/drm/drm_crtc.h' line='1060' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='crtc' type-id='type-id-4623' visibility='default' filepath='include/drm/drm_crtc.h' line='1061' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='mode' type-id='type-id-4445' visibility='default' filepath='include/drm/drm_crtc.h' line='1062' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='x' type-id='type-id-1343' visibility='default' filepath='include/drm/drm_crtc.h' line='1064' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='y' type-id='type-id-1343' visibility='default' filepath='include/drm/drm_crtc.h' line='1065' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='connectors' type-id='type-id-4624' visibility='default' filepath='include/drm/drm_crtc.h' line='1067' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='num_connectors' type-id='type-id-84' visibility='default' filepath='include/drm/drm_crtc.h' line='1068' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_crtc' size-in-bits='9856' is-struct='yes' visibility='default' filepath='include/drm/drm_crtc.h' line='816' column='1' id='type-id-4625'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dev' type-id='type-id-4446' visibility='default' filepath='include/drm/drm_crtc.h' line='818' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='port' type-id='type-id-3543' visibility='default' filepath='include/drm/drm_crtc.h' line='820' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='head' type-id='type-id-20' visibility='default' filepath='include/drm/drm_crtc.h' line='828' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='name' type-id='type-id-2' visibility='default' filepath='include/drm/drm_crtc.h' line='831' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='mutex' type-id='type-id-4580' visibility='default' filepath='include/drm/drm_crtc.h' line='843' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='base' type-id='type-id-4481' visibility='default' filepath='include/drm/drm_crtc.h' line='846' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='primary' type-id='type-id-4626' visibility='default' filepath='include/drm/drm_crtc.h' line='855' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='cursor' type-id='type-id-4626' visibility='default' filepath='include/drm/drm_crtc.h' line='864' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='index' type-id='type-id-5' visibility='default' filepath='include/drm/drm_crtc.h' line='870' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1184'>
-          <var-decl name='cursor_x' type-id='type-id-17' visibility='default' filepath='include/drm/drm_crtc.h' line='879' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='cursor_y' type-id='type-id-17' visibility='default' filepath='include/drm/drm_crtc.h' line='887' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1248'>
-          <var-decl name='enabled' type-id='type-id-33' visibility='default' filepath='include/drm/drm_crtc.h' line='897' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='mode' type-id='type-id-4549' visibility='default' filepath='include/drm/drm_crtc.h' line='907' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3200'>
-          <var-decl name='hwmode' type-id='type-id-4549' visibility='default' filepath='include/drm/drm_crtc.h' line='922' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5120'>
-          <var-decl name='x' type-id='type-id-17' visibility='default' filepath='include/drm/drm_crtc.h' line='931' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5152'>
-          <var-decl name='y' type-id='type-id-17' visibility='default' filepath='include/drm/drm_crtc.h' line='939' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5184'>
-          <var-decl name='funcs' type-id='type-id-4627' visibility='default' filepath='include/drm/drm_crtc.h' line='942' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5248'>
-          <var-decl name='gamma_size' type-id='type-id-1343' visibility='default' filepath='include/drm/drm_crtc.h' line='948' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5312'>
-          <var-decl name='gamma_store' type-id='type-id-4628' visibility='default' filepath='include/drm/drm_crtc.h' line='954' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5376'>
-          <var-decl name='helper_private' type-id='type-id-4629' visibility='default' filepath='include/drm/drm_crtc.h' line='957' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5440'>
-          <var-decl name='properties' type-id='type-id-4486' visibility='default' filepath='include/drm/drm_crtc.h' line='960' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8576'>
-          <var-decl name='state' type-id='type-id-4630' visibility='default' filepath='include/drm/drm_crtc.h' line='975' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8640'>
-          <var-decl name='commit_list' type-id='type-id-20' visibility='default' filepath='include/drm/drm_crtc.h' line='992' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8768'>
-          <var-decl name='commit_lock' type-id='type-id-247' visibility='default' filepath='include/drm/drm_crtc.h' line='999' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8832'>
-          <var-decl name='debugfs_entry' type-id='type-id-23' visibility='default' filepath='include/drm/drm_crtc.h' line='1007' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8896'>
-          <var-decl name='crc' type-id='type-id-4631' visibility='default' filepath='include/drm/drm_crtc.h' line='1015' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9472'>
-          <var-decl name='fence_context' type-id='type-id-5' visibility='default' filepath='include/drm/drm_crtc.h' line='1022' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9504'>
-          <var-decl name='fence_lock' type-id='type-id-247' visibility='default' filepath='include/drm/drm_crtc.h' line='1029' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9536'>
-          <var-decl name='fence_seqno' type-id='type-id-16' visibility='default' filepath='include/drm/drm_crtc.h' line='1036' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9600'>
-          <var-decl name='timeline_name' type-id='type-id-373' visibility='default' filepath='include/drm/drm_crtc.h' line='1043' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_plane' size-in-bits='5184' is-struct='yes' visibility='default' filepath='include/drm/drm_plane.h' line='535' column='1' id='type-id-4632'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dev' type-id='type-id-4446' visibility='default' filepath='include/drm/drm_plane.h' line='537' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='head' type-id='type-id-20' visibility='default' filepath='include/drm/drm_plane.h' line='546' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='name' type-id='type-id-2' visibility='default' filepath='include/drm/drm_plane.h' line='549' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='mutex' type-id='type-id-4580' visibility='default' filepath='include/drm/drm_plane.h' line='560' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='base' type-id='type-id-4481' visibility='default' filepath='include/drm/drm_plane.h' line='563' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='possible_crtcs' type-id='type-id-1343' visibility='default' filepath='include/drm/drm_plane.h' line='569' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='format_types' type-id='type-id-4633' visibility='default' filepath='include/drm/drm_plane.h' line='571' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='format_count' type-id='type-id-5' visibility='default' filepath='include/drm/drm_plane.h' line='573' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1120'>
-          <var-decl name='format_default' type-id='type-id-33' visibility='default' filepath='include/drm/drm_plane.h' line='578' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='modifiers' type-id='type-id-4555' visibility='default' filepath='include/drm/drm_plane.h' line='581' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='modifier_count' type-id='type-id-5' visibility='default' filepath='include/drm/drm_plane.h' line='583' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='crtc' type-id='type-id-4623' visibility='default' filepath='include/drm/drm_plane.h' line='592' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='fb' type-id='type-id-4609' visibility='default' filepath='include/drm/drm_plane.h' line='601' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='old_fb' type-id='type-id-4609' visibility='default' filepath='include/drm/drm_plane.h' line='609' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='funcs' type-id='type-id-4634' visibility='default' filepath='include/drm/drm_plane.h' line='612' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='properties' type-id='type-id-4486' visibility='default' filepath='include/drm/drm_plane.h' line='615' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4672'>
-          <var-decl name='type' type-id='type-id-4635' visibility='default' filepath='include/drm/drm_plane.h' line='618' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4704'>
-          <var-decl name='index' type-id='type-id-5' visibility='default' filepath='include/drm/drm_plane.h' line='624' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4736'>
-          <var-decl name='helper_private' type-id='type-id-4636' visibility='default' filepath='include/drm/drm_plane.h' line='627' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4800'>
-          <var-decl name='state' type-id='type-id-4637' visibility='default' filepath='include/drm/drm_plane.h' line='642' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4864'>
-          <var-decl name='alpha_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_plane.h' line='649' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4928'>
-          <var-decl name='zpos_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_plane.h' line='655' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4992'>
-          <var-decl name='rotation_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_plane.h' line='661' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5056'>
-          <var-decl name='color_encoding_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_plane.h' line='670' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5120'>
-          <var-decl name='color_range_property' type-id='type-id-4470' visibility='default' filepath='include/drm/drm_plane.h' line='678' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_plane_funcs' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/drm/drm_plane.h' line='216' column='1' id='type-id-4638'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='update_plane' type-id='type-id-4639' visibility='default' filepath='include/drm/drm_plane.h' line='243' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='disable_plane' type-id='type-id-4640' visibility='default' filepath='include/drm/drm_plane.h' line='266' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='destroy' type-id='type-id-4641' visibility='default' filepath='include/drm/drm_plane.h' line='276' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='reset' type-id='type-id-4641' visibility='default' filepath='include/drm/drm_plane.h' line='288' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='set_property' type-id='type-id-4642' visibility='default' filepath='include/drm/drm_plane.h' line='304' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='atomic_duplicate_state' type-id='type-id-4643' visibility='default' filepath='include/drm/drm_plane.h' line='338' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='atomic_destroy_state' type-id='type-id-4644' visibility='default' filepath='include/drm/drm_plane.h' line='348' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='atomic_set_property' type-id='type-id-4645' visibility='default' filepath='include/drm/drm_plane.h' line='393' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='atomic_get_property' type-id='type-id-4646' visibility='default' filepath='include/drm/drm_plane.h' line='416' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='late_register' type-id='type-id-4647' visibility='default' filepath='include/drm/drm_plane.h' line='433' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='early_unregister' type-id='type-id-4641' visibility='default' filepath='include/drm/drm_plane.h' line='444' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='atomic_print_state' type-id='type-id-4648' visibility='default' filepath='include/drm/drm_plane.h' line='455' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='format_mod_supported' type-id='type-id-4649' visibility='default' filepath='include/drm/drm_plane.h' line='474' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_plane_state' size-in-bits='1152' is-struct='yes' visibility='default' filepath='include/drm/drm_plane.h' line='44' column='1' id='type-id-4650'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='plane' type-id='type-id-4626' visibility='default' filepath='include/drm/drm_plane.h' line='46' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='crtc' type-id='type-id-4623' visibility='default' filepath='include/drm/drm_plane.h' line='54' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='fb' type-id='type-id-4609' visibility='default' filepath='include/drm/drm_plane.h' line='62' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='fence' type-id='type-id-4651' visibility='default' filepath='include/drm/drm_plane.h' line='77' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='crtc_x' type-id='type-id-1631' visibility='default' filepath='include/drm/drm_plane.h' line='86' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='crtc_y' type-id='type-id-1631' visibility='default' filepath='include/drm/drm_plane.h' line='93' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='crtc_w' type-id='type-id-1343' visibility='default' filepath='include/drm/drm_plane.h' line='97' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='crtc_h' type-id='type-id-1343' visibility='default' filepath='include/drm/drm_plane.h' line='97' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='src_x' type-id='type-id-1343' visibility='default' filepath='include/drm/drm_plane.h' line='103' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='src_y' type-id='type-id-1343' visibility='default' filepath='include/drm/drm_plane.h' line='108' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='src_h' type-id='type-id-1343' visibility='default' filepath='include/drm/drm_plane.h' line='111' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='src_w' type-id='type-id-1343' visibility='default' filepath='include/drm/drm_plane.h' line='111' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='alpha' type-id='type-id-688' visibility='default' filepath='include/drm/drm_plane.h' line='119' column='1'/>
+          <var-decl name='ifa_broadcast' type-id='type-id-2085' visibility='default' filepath='include/linux/inetdevice.h' line='146' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='rotation' type-id='type-id-5' visibility='default' filepath='include/drm/drm_plane.h' line='126' column='1'/>
+          <var-decl name='ifa_scope' type-id='type-id-271' visibility='default' filepath='include/linux/inetdevice.h' line='147' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='552'>
+          <var-decl name='ifa_prefixlen' type-id='type-id-271' visibility='default' filepath='include/linux/inetdevice.h' line='148' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='zpos' type-id='type-id-5' visibility='default' filepath='include/drm/drm_plane.h' line='140' column='1'/>
+          <var-decl name='ifa_flags' type-id='type-id-266' visibility='default' filepath='include/linux/inetdevice.h' line='149' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='normalized_zpos' type-id='type-id-5' visibility='default' filepath='include/drm/drm_plane.h' line='149' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='color_encoding' type-id='type-id-4652' visibility='default' filepath='include/drm/drm_plane.h' line='156' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='672'>
-          <var-decl name='color_range' type-id='type-id-4653' visibility='default' filepath='include/drm/drm_plane.h' line='163' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='src' type-id='type-id-4654' visibility='default' filepath='include/drm/drm_plane.h' line='167' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='dst' type-id='type-id-4654' visibility='default' filepath='include/drm/drm_plane.h' line='167' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='visible' type-id='type-id-33' visibility='default' filepath='include/drm/drm_plane.h' line='175' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='commit' type-id='type-id-4655' visibility='default' filepath='include/drm/drm_plane.h' line='183' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='state' type-id='type-id-4583' visibility='default' filepath='include/drm/drm_plane.h' line='186' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='dma_fence' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/linux/dma-fence.h' line='73' column='1' id='type-id-4656'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='refcount' type-id='type-id-239' visibility='default' filepath='include/linux/dma-fence.h' line='74' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ops' type-id='type-id-4657' visibility='default' filepath='include/linux/dma-fence.h' line='75' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/linux/dma-fence.h' line='76' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='cb_list' type-id='type-id-20' visibility='default' filepath='include/linux/dma-fence.h' line='77' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='lock' type-id='type-id-486' visibility='default' filepath='include/linux/dma-fence.h' line='78' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='context' type-id='type-id-40' visibility='default' filepath='include/linux/dma-fence.h' line='79' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='seqno' type-id='type-id-5' visibility='default' filepath='include/linux/dma-fence.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='include/linux/dma-fence.h' line='81' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='timestamp' type-id='type-id-682' visibility='default' filepath='include/linux/dma-fence.h' line='82' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='error' type-id='type-id-17' visibility='default' filepath='include/linux/dma-fence.h' line='83' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='dma_fence_ops' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/dma-fence.h' line='113' column='1' id='type-id-4658'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='get_driver_name' type-id='type-id-4659' visibility='default' filepath='include/linux/dma-fence.h' line='123' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='get_timeline_name' type-id='type-id-4659' visibility='default' filepath='include/linux/dma-fence.h' line='135' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='enable_signaling' type-id='type-id-4660' visibility='default' filepath='include/linux/dma-fence.h' line='172' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='signaled' type-id='type-id-4660' visibility='default' filepath='include/linux/dma-fence.h' line='189' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='wait' type-id='type-id-4661' visibility='default' filepath='include/linux/dma-fence.h' line='211' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='release' type-id='type-id-4662' visibility='default' filepath='include/linux/dma-fence.h' line='222' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='fence_value_str' type-id='type-id-4663' visibility='default' filepath='include/linux/dma-fence.h' line='232' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='timeline_value_str' type-id='type-id-4663' visibility='default' filepath='include/linux/dma-fence.h' line='242' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='drm_color_encoding' filepath='include/drm/drm_color_mgmt.h' line='53' column='1' id='type-id-4652'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='DRM_COLOR_YCBCR_BT601' value='0'/>
-        <enumerator name='DRM_COLOR_YCBCR_BT709' value='1'/>
-        <enumerator name='DRM_COLOR_YCBCR_BT2020' value='2'/>
-        <enumerator name='DRM_COLOR_ENCODING_MAX' value='3'/>
-      </enum-decl>
-      <enum-decl name='drm_color_range' filepath='include/drm/drm_color_mgmt.h' line='60' column='1' id='type-id-4653'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='DRM_COLOR_YCBCR_LIMITED_RANGE' value='0'/>
-        <enumerator name='DRM_COLOR_YCBCR_FULL_RANGE' value='1'/>
-        <enumerator name='DRM_COLOR_RANGE_MAX' value='2'/>
-      </enum-decl>
-      <class-decl name='drm_rect' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/drm/drm_rect.h' line='41' column='1' id='type-id-4654'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='x1' type-id='type-id-17' visibility='default' filepath='include/drm/drm_rect.h' line='42' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='y1' type-id='type-id-17' visibility='default' filepath='include/drm/drm_rect.h' line='42' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='x2' type-id='type-id-17' visibility='default' filepath='include/drm/drm_rect.h' line='42' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='y2' type-id='type-id-17' visibility='default' filepath='include/drm/drm_rect.h' line='42' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='drm_plane_type' filepath='include/drm/drm_plane.h' line='496' column='1' id='type-id-4635'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='DRM_PLANE_TYPE_OVERLAY' value='0'/>
-        <enumerator name='DRM_PLANE_TYPE_PRIMARY' value='1'/>
-        <enumerator name='DRM_PLANE_TYPE_CURSOR' value='2'/>
-      </enum-decl>
-      <class-decl name='drm_plane_helper_funcs' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='1011' column='1' id='type-id-4664'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='prepare_fb' type-id='type-id-4665' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='1043' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='cleanup_fb' type-id='type-id-4644' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='1054' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='atomic_check' type-id='type-id-4665' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='1093' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='atomic_update' type-id='type-id-4644' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='1111' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='atomic_disable' type-id='type-id-4644' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='1135' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='atomic_async_check' type-id='type-id-4665' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='1154' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='atomic_async_update' type-id='type-id-4644' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='1193' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_crtc_funcs' size-in-bits='1344' is-struct='yes' visibility='default' filepath='include/drm/drm_crtc.h' line='368' column='1' id='type-id-4666'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='reset' type-id='type-id-4667' visibility='default' filepath='include/drm/drm_crtc.h' line='379' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='cursor_set' type-id='type-id-4668' visibility='default' filepath='include/drm/drm_crtc.h' line='402' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='cursor_set2' type-id='type-id-4669' visibility='default' filepath='include/drm/drm_crtc.h' line='424' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='cursor_move' type-id='type-id-4670' visibility='default' filepath='include/drm/drm_crtc.h' line='444' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='gamma_set' type-id='type-id-4671' visibility='default' filepath='include/drm/drm_crtc.h' line='459' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='destroy' type-id='type-id-4667' visibility='default' filepath='include/drm/drm_crtc.h' line='470' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='set_config' type-id='type-id-4672' visibility='default' filepath='include/drm/drm_crtc.h' line='486' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='page_flip' type-id='type-id-4673' visibility='default' filepath='include/drm/drm_crtc.h' line='542' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='page_flip_target' type-id='type-id-4674' visibility='default' filepath='include/drm/drm_crtc.h' line='561' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='set_property' type-id='type-id-4675' visibility='default' filepath='include/drm/drm_crtc.h' line='581' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='atomic_duplicate_state' type-id='type-id-4676' visibility='default' filepath='include/drm/drm_crtc.h' line='615' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='atomic_destroy_state' type-id='type-id-4677' visibility='default' filepath='include/drm/drm_crtc.h' line='625' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='atomic_set_property' type-id='type-id-4678' visibility='default' filepath='include/drm/drm_crtc.h' line='670' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='atomic_get_property' type-id='type-id-4679' visibility='default' filepath='include/drm/drm_crtc.h' line='692' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='late_register' type-id='type-id-4680' visibility='default' filepath='include/drm/drm_crtc.h' line='710' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='early_unregister' type-id='type-id-4667' visibility='default' filepath='include/drm/drm_crtc.h' line='721' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='set_crc_source' type-id='type-id-4681' visibility='default' filepath='include/drm/drm_crtc.h' line='747' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='atomic_print_state' type-id='type-id-4682' visibility='default' filepath='include/drm/drm_crtc.h' line='759' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='get_vblank_counter' type-id='type-id-4683' visibility='default' filepath='include/drm/drm_crtc.h' line='786' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='enable_vblank' type-id='type-id-4680' visibility='default' filepath='include/drm/drm_crtc.h' line='799' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='disable_vblank' type-id='type-id-4667' visibility='default' filepath='include/drm/drm_crtc.h' line='807' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_pending_vblank_event' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/drm/drm_vblank.h' line='41' column='1' id='type-id-4684'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='base' type-id='type-id-4685' visibility='default' filepath='include/drm/drm_vblank.h' line='45' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='pipe' type-id='type-id-5' visibility='default' filepath='include/drm/drm_vblank.h' line='49' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='sequence' type-id='type-id-40' visibility='default' filepath='include/drm/drm_vblank.h' line='53' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='event' type-id='type-id-4686' visibility='default' filepath='include/drm/drm_vblank.h' line='77' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_pending_event' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/drm/drm_file.h' line='88' column='1' id='type-id-4685'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='completion' type-id='type-id-1394' visibility='default' filepath='include/drm/drm_file.h' line='96' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='completion_release' type-id='type-id-4687' visibility='default' filepath='include/drm/drm_file.h' line='105' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='event' type-id='type-id-4688' visibility='default' filepath='include/drm/drm_file.h' line='115' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='fence' type-id='type-id-4651' visibility='default' filepath='include/drm/drm_file.h' line='123' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='file_priv' type-id='type-id-4615' visibility='default' filepath='include/drm/drm_file.h' line='131' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='link' type-id='type-id-20' visibility='default' filepath='include/drm/drm_file.h' line='140' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='pending_link' type-id='type-id-20' visibility='default' filepath='include/drm/drm_file.h' line='149' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_event' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/drm/drm.h' line='935' column='1' id='type-id-4689'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='type' type-id='type-id-511' visibility='default' filepath='include/uapi/drm/drm.h' line='936' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='length' type-id='type-id-511' visibility='default' filepath='include/uapi/drm/drm.h' line='937' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_event_vblank' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/uapi/drm/drm.h' line='944' column='1' id='type-id-4690'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='base' type-id='type-id-4689' visibility='default' filepath='include/uapi/drm/drm.h' line='945' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='user_data' type-id='type-id-100' visibility='default' filepath='include/uapi/drm/drm.h' line='946' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='tv_sec' type-id='type-id-511' visibility='default' filepath='include/uapi/drm/drm.h' line='947' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='tv_usec' type-id='type-id-511' visibility='default' filepath='include/uapi/drm/drm.h' line='948' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='sequence' type-id='type-id-511' visibility='default' filepath='include/uapi/drm/drm.h' line='949' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='crtc_id' type-id='type-id-511' visibility='default' filepath='include/uapi/drm/drm.h' line='950' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_event_crtc_sequence' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/uapi/drm/drm.h' line='956' column='1' id='type-id-4691'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='base' type-id='type-id-4689' visibility='default' filepath='include/uapi/drm/drm.h' line='957' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='user_data' type-id='type-id-100' visibility='default' filepath='include/uapi/drm/drm.h' line='958' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='time_ns' type-id='type-id-900' visibility='default' filepath='include/uapi/drm/drm.h' line='959' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='sequence' type-id='type-id-100' visibility='default' filepath='include/uapi/drm/drm.h' line='960' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_crtc_state' size-in-bits='4544' is-struct='yes' visibility='default' filepath='include/drm/drm_crtc.h' line='98' column='1' id='type-id-4692'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='crtc' type-id='type-id-4623' visibility='default' filepath='include/drm/drm_crtc.h' line='100' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='enable' type-id='type-id-33' visibility='default' filepath='include/drm/drm_crtc.h' line='107' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='72'>
-          <var-decl name='active' type-id='type-id-33' visibility='default' filepath='include/drm/drm_crtc.h' line='122' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7'>
-          <var-decl name='planes_changed' type-id='type-id-33' visibility='default' filepath='include/drm/drm_crtc.h' line='128' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6'>
-          <var-decl name='mode_changed' type-id='type-id-33' visibility='default' filepath='include/drm/drm_crtc.h' line='140' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5'>
-          <var-decl name='active_changed' type-id='type-id-33' visibility='default' filepath='include/drm/drm_crtc.h' line='147' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4'>
-          <var-decl name='connectors_changed' type-id='type-id-33' visibility='default' filepath='include/drm/drm_crtc.h' line='158' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3'>
-          <var-decl name='zpos_changed' type-id='type-id-33' visibility='default' filepath='include/drm/drm_crtc.h' line='164' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2'>
-          <var-decl name='color_mgmt_changed' type-id='type-id-33' visibility='default' filepath='include/drm/drm_crtc.h' line='170' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1'>
-          <var-decl name='no_vblank' type-id='type-id-33' visibility='default' filepath='include/drm/drm_crtc.h' line='193' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='plane_mask' type-id='type-id-7' visibility='default' filepath='include/drm/drm_crtc.h' line='199' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='connector_mask' type-id='type-id-7' visibility='default' filepath='include/drm/drm_crtc.h' line='205' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='encoder_mask' type-id='type-id-7' visibility='default' filepath='include/drm/drm_crtc.h' line='211' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='adjusted_mode' type-id='type-id-4549' visibility='default' filepath='include/drm/drm_crtc.h' line='226' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='mode' type-id='type-id-4549' visibility='default' filepath='include/drm/drm_crtc.h' line='243' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4032'>
-          <var-decl name='mode_blob' type-id='type-id-4485' visibility='default' filepath='include/drm/drm_crtc.h' line='249' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4096'>
-          <var-decl name='degamma_lut' type-id='type-id-4485' visibility='default' filepath='include/drm/drm_crtc.h' line='258' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4160'>
-          <var-decl name='ctm' type-id='type-id-4485' visibility='default' filepath='include/drm/drm_crtc.h' line='266' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4224'>
-          <var-decl name='gamma_lut' type-id='type-id-4485' visibility='default' filepath='include/drm/drm_crtc.h' line='275' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4288'>
-          <var-decl name='target_vblank' type-id='type-id-7' visibility='default' filepath='include/drm/drm_crtc.h' line='283' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4320'>
-          <var-decl name='pageflip_flags' type-id='type-id-7' visibility='default' filepath='include/drm/drm_crtc.h' line='291' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4352'>
-          <var-decl name='event' type-id='type-id-4693' visibility='default' filepath='include/drm/drm_crtc.h' line='341' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4416'>
-          <var-decl name='commit' type-id='type-id-4655' visibility='default' filepath='include/drm/drm_crtc.h' line='350' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4480'>
-          <var-decl name='state' type-id='type-id-4583' visibility='default' filepath='include/drm/drm_crtc.h' line='353' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_property_blob' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/drm/drm_property.h' line='206' column='1' id='type-id-4694'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='base' type-id='type-id-4481' visibility='default' filepath='include/drm/drm_property.h' line='207' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='dev' type-id='type-id-4446' visibility='default' filepath='include/drm/drm_property.h' line='208' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='head_global' type-id='type-id-20' visibility='default' filepath='include/drm/drm_property.h' line='209' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='head_file' type-id='type-id-20' visibility='default' filepath='include/drm/drm_property.h' line='210' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='length' type-id='type-id-84' visibility='default' filepath='include/drm/drm_property.h' line='211' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='data' type-id='type-id-15' visibility='default' filepath='include/drm/drm_property.h' line='212' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='uint16_t' type-id='type-id-688' filepath='include/linux/types.h' line='108' column='1' id='type-id-4493'/>
-      <class-decl name='drm_crtc_helper_funcs' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='59' column='1' id='type-id-4695'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dpms' type-id='type-id-4696' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='76' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='prepare' type-id='type-id-4667' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='91' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='commit' type-id='type-id-4667' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='106' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='mode_valid' type-id='type-id-4697' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='139' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='mode_fixup' type-id='type-id-4698' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='185' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='mode_set' type-id='type-id-4699' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='204' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='mode_set_nofb' type-id='type-id-4667' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='229' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='mode_set_base' type-id='type-id-4700' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='248' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='mode_set_base_atomic' type-id='type-id-4701' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='265' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='disable' type-id='type-id-4667' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='300' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='atomic_check' type-id='type-id-4702' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='353' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='atomic_begin' type-id='type-id-4677' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='374' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='atomic_flush' type-id='type-id-4677' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='398' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='atomic_enable' type-id='type-id-4677' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='422' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='atomic_disable' type-id='type-id-4677' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='445' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='mode_set_atomic' filepath='include/drm/drm_fb_helper.h' line='40' column='1' id='type-id-4703'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='LEAVE_ATOMIC_MODE_SET' value='0'/>
-        <enumerator name='ENTER_ATOMIC_MODE_SET' value='1'/>
-      </enum-decl>
-      <class-decl name='drm_crtc_crc' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/drm/drm_debugfs_crc.h' line='53' column='1' id='type-id-4631'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='include/drm/drm_debugfs_crc.h' line='54' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='source' type-id='type-id-4' visibility='default' filepath='include/drm/drm_debugfs_crc.h' line='55' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='opened' type-id='type-id-33' visibility='default' filepath='include/drm/drm_debugfs_crc.h' line='56' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='136'>
-          <var-decl name='overflow' type-id='type-id-33' visibility='default' filepath='include/drm/drm_debugfs_crc.h' line='56' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='entries' type-id='type-id-4704' visibility='default' filepath='include/drm/drm_debugfs_crc.h' line='57' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='head' type-id='type-id-17' visibility='default' filepath='include/drm/drm_debugfs_crc.h' line='58' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='tail' type-id='type-id-17' visibility='default' filepath='include/drm/drm_debugfs_crc.h' line='58' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='values_cnt' type-id='type-id-84' visibility='default' filepath='include/drm/drm_debugfs_crc.h' line='59' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='wq' type-id='type-id-225' visibility='default' filepath='include/drm/drm_debugfs_crc.h' line='60' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_crtc_crc_entry' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/drm/drm_debugfs_crc.h' line='33' column='1' id='type-id-4705'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='has_frame_counter' type-id='type-id-33' visibility='default' filepath='include/drm/drm_debugfs_crc.h' line='34' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='frame' type-id='type-id-1343' visibility='default' filepath='include/drm/drm_debugfs_crc.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='crcs' type-id='type-id-4474' visibility='default' filepath='include/drm/drm_debugfs_crc.h' line='36' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_fb_helper_connector' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/drm/drm_fb_helper.h' line='131' column='1' id='type-id-4706'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='connector' type-id='type-id-4444' visibility='default' filepath='include/drm/drm_fb_helper.h' line='132' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_fb_helper_funcs' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/drm/drm_fb_helper.h' line='89' column='1' id='type-id-4707'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='fb_probe' type-id='type-id-4708' visibility='default' filepath='include/drm/drm_fb_helper.h' line='104' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='initial_config' type-id='type-id-4709' visibility='default' filepath='include/drm/drm_fb_helper.h' line='124' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_fb_helper_surface_size' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/drm/drm_fb_helper.h' line='75' column='1' id='type-id-4710'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='fb_width' type-id='type-id-7' visibility='default' filepath='include/drm/drm_fb_helper.h' line='76' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='fb_height' type-id='type-id-7' visibility='default' filepath='include/drm/drm_fb_helper.h' line='77' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='surface_width' type-id='type-id-7' visibility='default' filepath='include/drm/drm_fb_helper.h' line='78' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='surface_height' type-id='type-id-7' visibility='default' filepath='include/drm/drm_fb_helper.h' line='79' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='surface_bpp' type-id='type-id-7' visibility='default' filepath='include/drm/drm_fb_helper.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='surface_depth' type-id='type-id-7' visibility='default' filepath='include/drm/drm_fb_helper.h' line='81' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_fb_offset' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/drm/drm_fb_helper.h' line='45' column='1' id='type-id-4711'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='x' type-id='type-id-17' visibility='default' filepath='include/drm/drm_fb_helper.h' line='46' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='y' type-id='type-id-17' visibility='default' filepath='include/drm/drm_fb_helper.h' line='46' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='fb_info' size-in-bits='6912' is-struct='yes' visibility='default' filepath='include/linux/fb.h' line='464' column='1' id='type-id-4712'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='count' type-id='type-id-26' visibility='default' filepath='include/linux/fb.h' line='465' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='node' type-id='type-id-17' visibility='default' filepath='include/linux/fb.h' line='466' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='flags' type-id='type-id-17' visibility='default' filepath='include/linux/fb.h' line='467' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='fbcon_rotate_hint' type-id='type-id-17' visibility='default' filepath='include/linux/fb.h' line='472' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='lock' type-id='type-id-245' visibility='default' filepath='include/linux/fb.h' line='473' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='mm_lock' type-id='type-id-245' visibility='default' filepath='include/linux/fb.h' line='474' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='var' type-id='type-id-4713' visibility='default' filepath='include/linux/fb.h' line='475' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='fix' type-id='type-id-4714' visibility='default' filepath='include/linux/fb.h' line='476' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2560'>
-          <var-decl name='monspecs' type-id='type-id-4715' visibility='default' filepath='include/linux/fb.h' line='477' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3712'>
-          <var-decl name='queue' type-id='type-id-255' visibility='default' filepath='include/linux/fb.h' line='478' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3968'>
-          <var-decl name='pixmap' type-id='type-id-4716' visibility='default' filepath='include/linux/fb.h' line='479' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4416'>
-          <var-decl name='sprite' type-id='type-id-4716' visibility='default' filepath='include/linux/fb.h' line='480' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4864'>
-          <var-decl name='cmap' type-id='type-id-4717' visibility='default' filepath='include/linux/fb.h' line='481' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5184'>
-          <var-decl name='modelist' type-id='type-id-20' visibility='default' filepath='include/linux/fb.h' line='482' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5312'>
-          <var-decl name='mode' type-id='type-id-4718' visibility='default' filepath='include/linux/fb.h' line='483' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5376'>
-          <var-decl name='deferred_work' type-id='type-id-411' visibility='default' filepath='include/linux/fb.h' line='496' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6080'>
-          <var-decl name='fbdefio' type-id='type-id-4719' visibility='default' filepath='include/linux/fb.h' line='497' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6144'>
-          <var-decl name='fbops' type-id='type-id-4720' visibility='default' filepath='include/linux/fb.h' line='500' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6208'>
-          <var-decl name='device' type-id='type-id-240' visibility='default' filepath='include/linux/fb.h' line='501' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6272'>
-          <var-decl name='dev' type-id='type-id-240' visibility='default' filepath='include/linux/fb.h' line='502' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6336'>
-          <var-decl name='class_flag' type-id='type-id-17' visibility='default' filepath='include/linux/fb.h' line='503' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6400'>
-          <var-decl name='' type-id='type-id-4721' visibility='default' filepath='include/linux/fb.h' line='507' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6464'>
-          <var-decl name='screen_size' type-id='type-id-16' visibility='default' filepath='include/linux/fb.h' line='511' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6528'>
-          <var-decl name='pseudo_palette' type-id='type-id-15' visibility='default' filepath='include/linux/fb.h' line='512' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6592'>
-          <var-decl name='state' type-id='type-id-7' visibility='default' filepath='include/linux/fb.h' line='515' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6656'>
-          <var-decl name='fbcon_par' type-id='type-id-15' visibility='default' filepath='include/linux/fb.h' line='516' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6720'>
-          <var-decl name='par' type-id='type-id-15' visibility='default' filepath='include/linux/fb.h' line='518' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6784'>
-          <var-decl name='apertures' type-id='type-id-4187' visibility='default' filepath='include/linux/fb.h' line='528' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6848'>
-          <var-decl name='skip_vt_switch' type-id='type-id-33' visibility='default' filepath='include/linux/fb.h' line='530' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='fb_var_screeninfo' size-in-bits='1280' is-struct='yes' visibility='default' filepath='include/uapi/linux/fb.h' line='241' column='1' id='type-id-4713'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='xres' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='242' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='yres' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='243' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='xres_virtual' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='244' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='yres_virtual' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='245' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='xoffset' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='246' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='yoffset' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='247' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='bits_per_pixel' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='249' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='grayscale' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='250' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='red' type-id='type-id-4722' visibility='default' filepath='include/uapi/linux/fb.h' line='252' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='green' type-id='type-id-4722' visibility='default' filepath='include/uapi/linux/fb.h' line='253' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='blue' type-id='type-id-4722' visibility='default' filepath='include/uapi/linux/fb.h' line='254' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='transp' type-id='type-id-4722' visibility='default' filepath='include/uapi/linux/fb.h' line='255' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='nonstd' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='257' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='672'>
-          <var-decl name='activate' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='259' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='height' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='261' column='1'/>
+          <var-decl name='ifa_label' type-id='type-id-847' visibility='default' filepath='include/linux/inetdevice.h' line='150' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='736'>
-          <var-decl name='width' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='262' column='1'/>
+          <var-decl name='ifa_valid_lft' type-id='type-id-266' visibility='default' filepath='include/linux/inetdevice.h' line='153' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='accel_flags' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='264' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='800'>
-          <var-decl name='pixclock' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='267' column='1'/>
+          <var-decl name='ifa_preferred_lft' type-id='type-id-266' visibility='default' filepath='include/linux/inetdevice.h' line='154' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='left_margin' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='268' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='864'>
-          <var-decl name='right_margin' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='269' column='1'/>
+          <var-decl name='ifa_cstamp' type-id='type-id-100' visibility='default' filepath='include/linux/inetdevice.h' line='155' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='upper_margin' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='270' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='928'>
-          <var-decl name='lower_margin' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='271' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='hsync_len' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='272' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='992'>
-          <var-decl name='vsync_len' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='273' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='sync' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='274' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1056'>
-          <var-decl name='vmode' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='275' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='rotate' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='276' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1120'>
-          <var-decl name='colorspace' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='277' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='reserved' type-id='type-id-4448' visibility='default' filepath='include/uapi/linux/fb.h' line='278' column='1'/>
+          <var-decl name='ifa_tstamp' type-id='type-id-100' visibility='default' filepath='include/linux/inetdevice.h' line='156' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='fb_bitfield' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/uapi/linux/fb.h' line='188' column='1' id='type-id-4722'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='offset' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='189' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='length' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='190' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='msb_right' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='191' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='fb_fix_screeninfo' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/uapi/linux/fb.h' line='157' column='1' id='type-id-4714'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='id' type-id='type-id-43' visibility='default' filepath='include/uapi/linux/fb.h' line='158' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='smem_start' type-id='type-id-16' visibility='default' filepath='include/uapi/linux/fb.h' line='159' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='smem_len' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='161' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='type' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='162' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='type_aux' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='163' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='visual' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='164' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='xpanstep' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/fb.h' line='165' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='336'>
-          <var-decl name='ypanstep' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/fb.h' line='166' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='ywrapstep' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/fb.h' line='167' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='line_length' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='168' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='mmio_start' type-id='type-id-16' visibility='default' filepath='include/uapi/linux/fb.h' line='169' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='mmio_len' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='171' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='accel' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='172' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='capabilities' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/fb.h' line='174' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='592'>
-          <var-decl name='reserved' type-id='type-id-4447' visibility='default' filepath='include/uapi/linux/fb.h' line='175' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='fb_monspecs' size-in-bits='1152' is-struct='yes' visibility='default' filepath='include/linux/fb.h' line='63' column='1' id='type-id-4715'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='chroma' type-id='type-id-4723' visibility='default' filepath='include/linux/fb.h' line='64' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='modedb' type-id='type-id-4718' visibility='default' filepath='include/linux/fb.h' line='65' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='manufacturer' type-id='type-id-4451' visibility='default' filepath='include/linux/fb.h' line='66' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='monitor' type-id='type-id-4450' visibility='default' filepath='include/linux/fb.h' line='67' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='464'>
-          <var-decl name='serial_no' type-id='type-id-4450' visibility='default' filepath='include/linux/fb.h' line='68' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='ascii' type-id='type-id-4450' visibility='default' filepath='include/linux/fb.h' line='69' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='modedb_len' type-id='type-id-511' visibility='default' filepath='include/linux/fb.h' line='70' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='736'>
-          <var-decl name='model' type-id='type-id-511' visibility='default' filepath='include/linux/fb.h' line='71' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='serial' type-id='type-id-511' visibility='default' filepath='include/linux/fb.h' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='800'>
-          <var-decl name='year' type-id='type-id-511' visibility='default' filepath='include/linux/fb.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='week' type-id='type-id-511' visibility='default' filepath='include/linux/fb.h' line='74' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='864'>
-          <var-decl name='hfmin' type-id='type-id-511' visibility='default' filepath='include/linux/fb.h' line='75' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='hfmax' type-id='type-id-511' visibility='default' filepath='include/linux/fb.h' line='76' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='928'>
-          <var-decl name='dclkmin' type-id='type-id-511' visibility='default' filepath='include/linux/fb.h' line='77' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='dclkmax' type-id='type-id-511' visibility='default' filepath='include/linux/fb.h' line='78' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='992'>
-          <var-decl name='input' type-id='type-id-108' visibility='default' filepath='include/linux/fb.h' line='79' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1008'>
-          <var-decl name='dpms' type-id='type-id-108' visibility='default' filepath='include/linux/fb.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='signal' type-id='type-id-108' visibility='default' filepath='include/linux/fb.h' line='81' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1040'>
-          <var-decl name='vfmin' type-id='type-id-108' visibility='default' filepath='include/linux/fb.h' line='82' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1056'>
-          <var-decl name='vfmax' type-id='type-id-108' visibility='default' filepath='include/linux/fb.h' line='83' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1072'>
-          <var-decl name='gamma' type-id='type-id-108' visibility='default' filepath='include/linux/fb.h' line='84' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='15'>
-          <var-decl name='gtf' type-id='type-id-108' visibility='default' filepath='include/linux/fb.h' line='85' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1104'>
-          <var-decl name='misc' type-id='type-id-108' visibility='default' filepath='include/linux/fb.h' line='86' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1120'>
-          <var-decl name='version' type-id='type-id-895' visibility='default' filepath='include/linux/fb.h' line='87' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1128'>
-          <var-decl name='revision' type-id='type-id-895' visibility='default' filepath='include/linux/fb.h' line='88' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1136'>
-          <var-decl name='max_x' type-id='type-id-895' visibility='default' filepath='include/linux/fb.h' line='89' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1144'>
-          <var-decl name='max_y' type-id='type-id-895' visibility='default' filepath='include/linux/fb.h' line='90' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='fb_chroma' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/fb.h' line='52' column='1' id='type-id-4723'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='redx' type-id='type-id-511' visibility='default' filepath='include/linux/fb.h' line='53' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='greenx' type-id='type-id-511' visibility='default' filepath='include/linux/fb.h' line='54' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='bluex' type-id='type-id-511' visibility='default' filepath='include/linux/fb.h' line='55' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='whitex' type-id='type-id-511' visibility='default' filepath='include/linux/fb.h' line='56' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='redy' type-id='type-id-511' visibility='default' filepath='include/linux/fb.h' line='57' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='greeny' type-id='type-id-511' visibility='default' filepath='include/linux/fb.h' line='58' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='bluey' type-id='type-id-511' visibility='default' filepath='include/linux/fb.h' line='59' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='whitey' type-id='type-id-511' visibility='default' filepath='include/linux/fb.h' line='60' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='fb_videomode' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/fb.h' line='786' column='1' id='type-id-4724'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/fb.h' line='787' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='refresh' type-id='type-id-7' visibility='default' filepath='include/linux/fb.h' line='788' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='xres' type-id='type-id-7' visibility='default' filepath='include/linux/fb.h' line='789' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='yres' type-id='type-id-7' visibility='default' filepath='include/linux/fb.h' line='790' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='pixclock' type-id='type-id-7' visibility='default' filepath='include/linux/fb.h' line='791' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='left_margin' type-id='type-id-7' visibility='default' filepath='include/linux/fb.h' line='792' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='right_margin' type-id='type-id-7' visibility='default' filepath='include/linux/fb.h' line='793' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='upper_margin' type-id='type-id-7' visibility='default' filepath='include/linux/fb.h' line='794' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='lower_margin' type-id='type-id-7' visibility='default' filepath='include/linux/fb.h' line='795' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='hsync_len' type-id='type-id-7' visibility='default' filepath='include/linux/fb.h' line='796' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='vsync_len' type-id='type-id-7' visibility='default' filepath='include/linux/fb.h' line='797' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='sync' type-id='type-id-7' visibility='default' filepath='include/linux/fb.h' line='798' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='vmode' type-id='type-id-7' visibility='default' filepath='include/linux/fb.h' line='799' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='flag' type-id='type-id-7' visibility='default' filepath='include/linux/fb.h' line='800' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='fb_pixmap' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/fb.h' line='213' column='1' id='type-id-4716'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='addr' type-id='type-id-3121' visibility='default' filepath='include/linux/fb.h' line='214' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='size' type-id='type-id-7' visibility='default' filepath='include/linux/fb.h' line='215' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='offset' type-id='type-id-7' visibility='default' filepath='include/linux/fb.h' line='216' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='buf_align' type-id='type-id-7' visibility='default' filepath='include/linux/fb.h' line='217' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='scan_align' type-id='type-id-7' visibility='default' filepath='include/linux/fb.h' line='218' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='access_align' type-id='type-id-7' visibility='default' filepath='include/linux/fb.h' line='219' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='flags' type-id='type-id-7' visibility='default' filepath='include/linux/fb.h' line='220' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='blit_x' type-id='type-id-7' visibility='default' filepath='include/linux/fb.h' line='221' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='blit_y' type-id='type-id-7' visibility='default' filepath='include/linux/fb.h' line='222' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='writeio' type-id='type-id-4725' visibility='default' filepath='include/linux/fb.h' line='226' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='readio' type-id='type-id-4725' visibility='default' filepath='include/linux/fb.h' line='227' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='fb_cmap' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/uapi/linux/fb.h' line='281' column='1' id='type-id-4717'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='start' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='282' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='len' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='283' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='red' type-id='type-id-4726' visibility='default' filepath='include/uapi/linux/fb.h' line='284' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='green' type-id='type-id-4726' visibility='default' filepath='include/uapi/linux/fb.h' line='285' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='blue' type-id='type-id-4726' visibility='default' filepath='include/uapi/linux/fb.h' line='286' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='transp' type-id='type-id-4726' visibility='default' filepath='include/uapi/linux/fb.h' line='287' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='fb_deferred_io' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/fb.h' line='231' column='1' id='type-id-4727'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='delay' type-id='type-id-16' visibility='default' filepath='include/linux/fb.h' line='233' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='lock' type-id='type-id-245' visibility='default' filepath='include/linux/fb.h' line='234' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='pagelist' type-id='type-id-20' visibility='default' filepath='include/linux/fb.h' line='235' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='first_io' type-id='type-id-4728' visibility='default' filepath='include/linux/fb.h' line='237' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='deferred_io' type-id='type-id-4729' visibility='default' filepath='include/linux/fb.h' line='238' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='fb_ops' size-in-bits='1472' is-struct='yes' visibility='default' filepath='include/linux/fb.h' line='256' column='1' id='type-id-4730'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='owner' type-id='type-id-260' visibility='default' filepath='include/linux/fb.h' line='258' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='fb_open' type-id='type-id-4731' visibility='default' filepath='include/linux/fb.h' line='259' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='fb_release' type-id='type-id-4731' visibility='default' filepath='include/linux/fb.h' line='260' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='fb_read' type-id='type-id-4732' visibility='default' filepath='include/linux/fb.h' line='265' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='fb_write' type-id='type-id-4733' visibility='default' filepath='include/linux/fb.h' line='267' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='fb_check_var' type-id='type-id-4734' visibility='default' filepath='include/linux/fb.h' line='272' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='fb_set_par' type-id='type-id-4735' visibility='default' filepath='include/linux/fb.h' line='275' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='fb_setcolreg' type-id='type-id-4736' visibility='default' filepath='include/linux/fb.h' line='278' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='fb_setcmap' type-id='type-id-4737' visibility='default' filepath='include/linux/fb.h' line='282' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='fb_blank' type-id='type-id-4738' visibility='default' filepath='include/linux/fb.h' line='285' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='fb_pan_display' type-id='type-id-4734' visibility='default' filepath='include/linux/fb.h' line='288' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='fb_fillrect' type-id='type-id-4739' visibility='default' filepath='include/linux/fb.h' line='291' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='fb_copyarea' type-id='type-id-4740' visibility='default' filepath='include/linux/fb.h' line='293' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='fb_imageblit' type-id='type-id-4741' visibility='default' filepath='include/linux/fb.h' line='295' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='fb_cursor' type-id='type-id-4742' visibility='default' filepath='include/linux/fb.h' line='298' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='fb_sync' type-id='type-id-4735' visibility='default' filepath='include/linux/fb.h' line='301' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='fb_ioctl' type-id='type-id-4743' visibility='default' filepath='include/linux/fb.h' line='304' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='fb_compat_ioctl' type-id='type-id-4743' visibility='default' filepath='include/linux/fb.h' line='308' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='fb_mmap' type-id='type-id-4744' visibility='default' filepath='include/linux/fb.h' line='312' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='fb_get_caps' type-id='type-id-4745' visibility='default' filepath='include/linux/fb.h' line='315' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='fb_destroy' type-id='type-id-4728' visibility='default' filepath='include/linux/fb.h' line='319' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='fb_debug_enter' type-id='type-id-4735' visibility='default' filepath='include/linux/fb.h' line='322' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='fb_debug_leave' type-id='type-id-4735' visibility='default' filepath='include/linux/fb.h' line='323' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='fb_fillrect' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/uapi/linux/fb.h' line='350' column='1' id='type-id-4746'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dx' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='351' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='dy' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='352' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='width' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='353' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='height' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='354' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='color' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='355' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='rop' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='356' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='fb_copyarea' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/uapi/linux/fb.h' line='341' column='1' id='type-id-4747'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dx' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='342' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='dy' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='343' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='width' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='344' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='height' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='345' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='sx' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='346' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='sy' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='347' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='fb_image' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/uapi/linux/fb.h' line='359' column='1' id='type-id-4748'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dx' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='360' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='dy' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='361' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='width' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='362' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='height' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='363' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='fg_color' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='364' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='bg_color' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fb.h' line='365' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='depth' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/fb.h' line='366' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='data' type-id='type-id-4' visibility='default' filepath='include/uapi/linux/fb.h' line='367' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='cmap' type-id='type-id-4717' visibility='default' filepath='include/uapi/linux/fb.h' line='368' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='fb_cursor' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/uapi/linux/fb.h' line='387' column='1' id='type-id-4749'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='set' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/fb.h' line='388' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='enable' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/fb.h' line='389' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='rop' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/fb.h' line='390' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='mask' type-id='type-id-4' visibility='default' filepath='include/uapi/linux/fb.h' line='391' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='hot' type-id='type-id-4750' visibility='default' filepath='include/uapi/linux/fb.h' line='392' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='image' type-id='type-id-4748' visibility='default' filepath='include/uapi/linux/fb.h' line='393' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='fbcurpos' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/uapi/linux/fb.h' line='383' column='1' id='type-id-4750'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='x' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/fb.h' line='384' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='y' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/fb.h' line='384' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='fb_blit_caps' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/fb.h' line='172' column='1' id='type-id-4751'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='x' type-id='type-id-7' visibility='default' filepath='include/linux/fb.h' line='173' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='y' type-id='type-id-7' visibility='default' filepath='include/linux/fb.h' line='174' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='len' type-id='type-id-7' visibility='default' filepath='include/linux/fb.h' line='175' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='flags' type-id='type-id-7' visibility='default' filepath='include/linux/fb.h' line='176' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__4' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/fb.h' line='507' column='1' id='type-id-4721'>
+      <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/net/ip.h' line='123' column='1' id='type-id-8181'>
         <data-member access='private'>
-          <var-decl name='screen_base' type-id='type-id-2' visibility='default' filepath='include/linux/fb.h' line='508' column='1'/>
+          <var-decl name='destructor' type-id='type-id-6453' visibility='default' filepath='include/net/ip.h' line='124' column='1'/>
         </data-member>
         <data-member access='private'>
-          <var-decl name='screen_buffer' type-id='type-id-2' visibility='default' filepath='include/linux/fb.h' line='509' column='1'/>
+          <var-decl name='saved_sk' type-id='type-id-2995' visibility='default' filepath='include/net/ip.h' line='125' column='1'/>
         </data-member>
       </union-decl>
-      <enum-decl name='drm_connector_status' filepath='include/drm/drm_connector.h' line='57' column='1' id='type-id-4482'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='connector_status_connected' value='1'/>
-        <enumerator name='connector_status_disconnected' value='2'/>
-        <enumerator name='connector_status_unknown' value='3'/>
-      </enum-decl>
-      <class-decl name='drm_display_info' size-in-bits='1216' is-struct='yes' visibility='default' filepath='include/drm/drm_connector.h' line='219' column='1' id='type-id-4483'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-373' visibility='default' filepath='include/drm/drm_connector.h' line='223' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='width_mm' type-id='type-id-5' visibility='default' filepath='include/drm/drm_connector.h' line='228' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='height_mm' type-id='type-id-5' visibility='default' filepath='include/drm/drm_connector.h' line='232' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='pixel_clock' type-id='type-id-5' visibility='default' filepath='include/drm/drm_connector.h' line='239' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='bpc' type-id='type-id-5' visibility='default' filepath='include/drm/drm_connector.h' line='243' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='subpixel_order' type-id='type-id-4752' visibility='default' filepath='include/drm/drm_connector.h' line='248' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='panel_orientation' type-id='type-id-17' visibility='default' filepath='include/drm/drm_connector.h' line='262' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='color_formats' type-id='type-id-7' visibility='default' filepath='include/drm/drm_connector.h' line='270' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='bus_formats' type-id='type-id-2727' visibility='default' filepath='include/drm/drm_connector.h' line='277' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='num_bus_formats' type-id='type-id-5' visibility='default' filepath='include/drm/drm_connector.h' line='281' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='bus_flags' type-id='type-id-7' visibility='default' filepath='include/drm/drm_connector.h' line='302' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='max_tmds_clock' type-id='type-id-17' visibility='default' filepath='include/drm/drm_connector.h' line='308' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='672'>
-          <var-decl name='dvi_dual' type-id='type-id-33' visibility='default' filepath='include/drm/drm_connector.h' line='313' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='680'>
-          <var-decl name='has_hdmi_infoframe' type-id='type-id-33' visibility='default' filepath='include/drm/drm_connector.h' line='318' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='688'>
-          <var-decl name='edid_hdmi_dc_modes' type-id='type-id-214' visibility='default' filepath='include/drm/drm_connector.h' line='324' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='696'>
-          <var-decl name='cea_rev' type-id='type-id-214' visibility='default' filepath='include/drm/drm_connector.h' line='329' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='hdmi' type-id='type-id-4753' visibility='default' filepath='include/drm/drm_connector.h' line='334' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='non_desktop' type-id='type-id-33' visibility='default' filepath='include/drm/drm_connector.h' line='339' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='subpixel_order' filepath='include/drm/drm_connector.h' line='84' column='1' id='type-id-4752'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='SubPixelUnknown' value='0'/>
-        <enumerator name='SubPixelHorizontalRGB' value='1'/>
-        <enumerator name='SubPixelHorizontalBGR' value='2'/>
-        <enumerator name='SubPixelVerticalRGB' value='3'/>
-        <enumerator name='SubPixelVerticalBGR' value='4'/>
-        <enumerator name='SubPixelNone' value='5'/>
-      </enum-decl>
-      <class-decl name='drm_hdmi_info' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/drm/drm_connector.h' line='136' column='1' id='type-id-4753'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='scdc' type-id='type-id-4754' visibility='default' filepath='include/drm/drm_connector.h' line='138' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='y420_vdb_modes' type-id='type-id-219' visibility='default' filepath='include/drm/drm_connector.h' line='146' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='y420_cmdb_modes' type-id='type-id-219' visibility='default' filepath='include/drm/drm_connector.h' line='154' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='y420_cmdb_map' type-id='type-id-40' visibility='default' filepath='include/drm/drm_connector.h' line='157' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='y420_dc_modes' type-id='type-id-214' visibility='default' filepath='include/drm/drm_connector.h' line='160' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_scdc' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/drm/drm_connector.h' line='114' column='1' id='type-id-4754'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='supported' type-id='type-id-33' visibility='default' filepath='include/drm/drm_connector.h' line='118' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='read_request' type-id='type-id-33' visibility='default' filepath='include/drm/drm_connector.h' line='122' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='scrambling' type-id='type-id-4755' visibility='default' filepath='include/drm/drm_connector.h' line='126' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_scrambling' size-in-bits='16' is-struct='yes' visibility='default' filepath='include/drm/drm_connector.h' line='97' column='1' id='type-id-4755'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='supported' type-id='type-id-33' visibility='default' filepath='include/drm/drm_connector.h' line='101' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='low_rates' type-id='type-id-33' visibility='default' filepath='include/drm/drm_connector.h' line='105' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_connector_funcs' size-in-bits='896' is-struct='yes' visibility='default' filepath='include/drm/drm_connector.h' line='472' column='1' id='type-id-4756'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dpms' type-id='type-id-4757' visibility='default' filepath='include/drm/drm_connector.h' line='489' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='reset' type-id='type-id-4758' visibility='default' filepath='include/drm/drm_connector.h' line='501' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='detect' type-id='type-id-4759' visibility='default' filepath='include/drm/drm_connector.h' line='529' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='force' type-id='type-id-4758' visibility='default' filepath='include/drm/drm_connector.h' line='546' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='fill_modes' type-id='type-id-4760' visibility='default' filepath='include/drm/drm_connector.h' line='571' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='set_property' type-id='type-id-4761' visibility='default' filepath='include/drm/drm_connector.h' line='587' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='late_register' type-id='type-id-4762' visibility='default' filepath='include/drm/drm_connector.h' line='606' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='early_unregister' type-id='type-id-4758' visibility='default' filepath='include/drm/drm_connector.h' line='619' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='destroy' type-id='type-id-4758' visibility='default' filepath='include/drm/drm_connector.h' line='629' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='atomic_duplicate_state' type-id='type-id-4763' visibility='default' filepath='include/drm/drm_connector.h' line='662' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='atomic_destroy_state' type-id='type-id-4764' visibility='default' filepath='include/drm/drm_connector.h' line='672' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='atomic_set_property' type-id='type-id-4765' visibility='default' filepath='include/drm/drm_connector.h' line='717' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='atomic_get_property' type-id='type-id-4766' visibility='default' filepath='include/drm/drm_connector.h' line='740' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='atomic_print_state' type-id='type-id-4767' visibility='default' filepath='include/drm/drm_connector.h' line='754' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_connector_state' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/drm/drm_connector.h' line='382' column='1' id='type-id-4768'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='connector' type-id='type-id-4444' visibility='default' filepath='include/drm/drm_connector.h' line='384' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='crtc' type-id='type-id-4623' visibility='default' filepath='include/drm/drm_connector.h' line='392' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='best_encoder' type-id='type-id-4490' visibility='default' filepath='include/drm/drm_connector.h' line='401' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='link_status' type-id='type-id-4769' visibility='default' filepath='include/drm/drm_connector.h' line='407' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='state' type-id='type-id-4583' visibility='default' filepath='include/drm/drm_connector.h' line='410' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='commit' type-id='type-id-4655' visibility='default' filepath='include/drm/drm_connector.h' line='417' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='tv' type-id='type-id-4770' visibility='default' filepath='include/drm/drm_connector.h' line='420' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='picture_aspect_ratio' type-id='type-id-4551' visibility='default' filepath='include/drm/drm_connector.h' line='429' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='800'>
-          <var-decl name='content_type' type-id='type-id-5' visibility='default' filepath='include/drm/drm_connector.h' line='437' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='scaling_mode' type-id='type-id-5' visibility='default' filepath='include/drm/drm_connector.h' line='443' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='864'>
-          <var-decl name='content_protection' type-id='type-id-5' visibility='default' filepath='include/drm/drm_connector.h' line='449' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='writeback_job' type-id='type-id-4771' visibility='default' filepath='include/drm/drm_connector.h' line='462' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_encoder' size-in-bits='896' is-struct='yes' visibility='default' filepath='include/drm/drm_encoder.h' line='98' column='1' id='type-id-4772'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dev' type-id='type-id-4446' visibility='default' filepath='include/drm/drm_encoder.h' line='99' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='head' type-id='type-id-20' visibility='default' filepath='include/drm/drm_encoder.h' line='100' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='base' type-id='type-id-4481' visibility='default' filepath='include/drm/drm_encoder.h' line='102' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='name' type-id='type-id-2' visibility='default' filepath='include/drm/drm_encoder.h' line='103' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='encoder_type' type-id='type-id-17' visibility='default' filepath='include/drm/drm_encoder.h' line='130' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='index' type-id='type-id-5' visibility='default' filepath='include/drm/drm_encoder.h' line='136' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='possible_crtcs' type-id='type-id-1343' visibility='default' filepath='include/drm/drm_encoder.h' line='149' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='possible_clones' type-id='type-id-1343' visibility='default' filepath='include/drm/drm_encoder.h' line='166' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='crtc' type-id='type-id-4623' visibility='default' filepath='include/drm/drm_encoder.h' line='173' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='bridge' type-id='type-id-4773' visibility='default' filepath='include/drm/drm_encoder.h' line='174' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='funcs' type-id='type-id-4774' visibility='default' filepath='include/drm/drm_encoder.h' line='175' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='helper_private' type-id='type-id-4775' visibility='default' filepath='include/drm/drm_encoder.h' line='176' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_bridge' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/drm/drm_bridge.h' line='274' column='1' id='type-id-4776'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dev' type-id='type-id-4446' visibility='default' filepath='include/drm/drm_bridge.h' line='276' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='encoder' type-id='type-id-4490' visibility='default' filepath='include/drm/drm_bridge.h' line='278' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='next' type-id='type-id-4773' visibility='default' filepath='include/drm/drm_bridge.h' line='280' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='of_node' type-id='type-id-3543' visibility='default' filepath='include/drm/drm_bridge.h' line='283' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/drm/drm_bridge.h' line='286' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='timings' type-id='type-id-4777' visibility='default' filepath='include/drm/drm_bridge.h' line='292' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='funcs' type-id='type-id-4778' visibility='default' filepath='include/drm/drm_bridge.h' line='294' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='driver_private' type-id='type-id-15' visibility='default' filepath='include/drm/drm_bridge.h' line='296' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_bridge_timings' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/drm/drm_bridge.h' line='245' column='1' id='type-id-4779'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='sampling_edge' type-id='type-id-7' visibility='default' filepath='include/drm/drm_bridge.h' line='254' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='setup_time_ps' type-id='type-id-7' visibility='default' filepath='include/drm/drm_bridge.h' line='261' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='hold_time_ps' type-id='type-id-7' visibility='default' filepath='include/drm/drm_bridge.h' line='268' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_bridge_funcs' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/drm/drm_bridge.h' line='38' column='1' id='type-id-4780'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='attach' type-id='type-id-4781' visibility='default' filepath='include/drm/drm_bridge.h' line='51' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='detach' type-id='type-id-4782' visibility='default' filepath='include/drm/drm_bridge.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='mode_valid' type-id='type-id-4783' visibility='default' filepath='include/drm/drm_bridge.h' line='94' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='mode_fixup' type-id='type-id-4784' visibility='default' filepath='include/drm/drm_bridge.h' line='132' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='disable' type-id='type-id-4782' visibility='default' filepath='include/drm/drm_bridge.h' line='151' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='post_disable' type-id='type-id-4782' visibility='default' filepath='include/drm/drm_bridge.h' line='170' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='mode_set' type-id='type-id-4785' visibility='default' filepath='include/drm/drm_bridge.h' line='198' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='pre_enable' type-id='type-id-4782' visibility='default' filepath='include/drm/drm_bridge.h' line='219' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='enable' type-id='type-id-4782' visibility='default' filepath='include/drm/drm_bridge.h' line='239' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_encoder_funcs' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/drm/drm_encoder.h' line='39' column='1' id='type-id-4786'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='reset' type-id='type-id-4787' visibility='default' filepath='include/drm/drm_encoder.h' line='47' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='destroy' type-id='type-id-4787' visibility='default' filepath='include/drm/drm_encoder.h' line='56' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='late_register' type-id='type-id-4788' visibility='default' filepath='include/drm/drm_encoder.h' line='71' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='early_unregister' type-id='type-id-4787' visibility='default' filepath='include/drm/drm_encoder.h' line='82' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_encoder_helper_funcs' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='466' column='1' id='type-id-4789'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dpms' type-id='type-id-4790' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='483' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='mode_valid' type-id='type-id-4791' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='516' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='mode_fixup' type-id='type-id-4792' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='559' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='prepare' type-id='type-id-4787' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='576' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='commit' type-id='type-id-4787' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='591' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='mode_set' type-id='type-id-4793' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='615' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='atomic_mode_set' type-id='type-id-4794' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='638' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='get_crtc' type-id='type-id-4795' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='656' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='detect' type-id='type-id-4796' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='673' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='disable' type-id='type-id-4787' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='704' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='enable' type-id='type-id-4787' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='722' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='atomic_check' type-id='type-id-4797' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='760' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='drm_link_status' filepath='include/drm/drm_connector.h' line='174' column='1' id='type-id-4769'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='DRM_LINK_STATUS_GOOD' value='0'/>
-        <enumerator name='DRM_LINK_STATUS_BAD' value='1'/>
-      </enum-decl>
-      <class-decl name='drm_tv_connector_state' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/drm/drm_connector.h' line='362' column='1' id='type-id-4770'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='subconnector' type-id='type-id-4798' visibility='default' filepath='include/drm/drm_connector.h' line='363' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='margins' type-id='type-id-4799' visibility='default' filepath='include/drm/drm_connector.h' line='369' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='mode' type-id='type-id-5' visibility='default' filepath='include/drm/drm_connector.h' line='370' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='brightness' type-id='type-id-5' visibility='default' filepath='include/drm/drm_connector.h' line='371' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='contrast' type-id='type-id-5' visibility='default' filepath='include/drm/drm_connector.h' line='372' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='flicker_reduction' type-id='type-id-5' visibility='default' filepath='include/drm/drm_connector.h' line='373' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='overscan' type-id='type-id-5' visibility='default' filepath='include/drm/drm_connector.h' line='374' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='saturation' type-id='type-id-5' visibility='default' filepath='include/drm/drm_connector.h' line='375' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='hue' type-id='type-id-5' visibility='default' filepath='include/drm/drm_connector.h' line='376' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='drm_mode_subconnector' filepath='include/uapi/drm/drm_mode.h' line='325' column='1' id='type-id-4798'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='DRM_MODE_SUBCONNECTOR_Automatic' value='0'/>
-        <enumerator name='DRM_MODE_SUBCONNECTOR_Unknown' value='0'/>
-        <enumerator name='DRM_MODE_SUBCONNECTOR_DVID' value='3'/>
-        <enumerator name='DRM_MODE_SUBCONNECTOR_DVIA' value='4'/>
-        <enumerator name='DRM_MODE_SUBCONNECTOR_Composite' value='5'/>
-        <enumerator name='DRM_MODE_SUBCONNECTOR_SVIDEO' value='6'/>
-        <enumerator name='DRM_MODE_SUBCONNECTOR_Component' value='8'/>
-        <enumerator name='DRM_MODE_SUBCONNECTOR_SCART' value='9'/>
-      </enum-decl>
-      <class-decl name='__anonymous_struct__2' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/drm/drm_connector.h' line='364' column='1' id='type-id-4799'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='left' type-id='type-id-5' visibility='default' filepath='include/drm/drm_connector.h' line='365' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='right' type-id='type-id-5' visibility='default' filepath='include/drm/drm_connector.h' line='366' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='top' type-id='type-id-5' visibility='default' filepath='include/drm/drm_connector.h' line='367' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='bottom' type-id='type-id-5' visibility='default' filepath='include/drm/drm_connector.h' line='368' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='uint8_t' type-id='type-id-214' filepath='include/linux/types.h' line='107' column='1' id='type-id-4477'/>
-      <class-decl name='drm_connector_helper_funcs' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='782' column='1' id='type-id-4800'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='get_modes' type-id='type-id-4762' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='819' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='detect_ctx' type-id='type-id-4801' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='845' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='mode_valid' type-id='type-id-4802' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='883' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='best_encoder' type-id='type-id-4803' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='914' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='atomic_best_encoder' type-id='type-id-4804' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='941' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='atomic_check' type-id='type-id-4805' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='975' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='atomic_commit' type-id='type-id-4764' visibility='default' filepath='include/drm/drm_modeset_helper_vtables.h' line='990' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_cmdline_mode' size-in-bits='224' is-struct='yes' visibility='default' filepath='include/drm/drm_connector.h' line='759' column='1' id='type-id-4488'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='specified' type-id='type-id-33' visibility='default' filepath='include/drm/drm_connector.h' line='760' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='refresh_specified' type-id='type-id-33' visibility='default' filepath='include/drm/drm_connector.h' line='761' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='bpp_specified' type-id='type-id-33' visibility='default' filepath='include/drm/drm_connector.h' line='762' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='xres' type-id='type-id-17' visibility='default' filepath='include/drm/drm_connector.h' line='763' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='yres' type-id='type-id-17' visibility='default' filepath='include/drm/drm_connector.h' line='763' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='bpp' type-id='type-id-17' visibility='default' filepath='include/drm/drm_connector.h' line='764' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='refresh' type-id='type-id-17' visibility='default' filepath='include/drm/drm_connector.h' line='765' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='rb' type-id='type-id-33' visibility='default' filepath='include/drm/drm_connector.h' line='766' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='168'>
-          <var-decl name='interlace' type-id='type-id-33' visibility='default' filepath='include/drm/drm_connector.h' line='767' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='176'>
-          <var-decl name='cvt' type-id='type-id-33' visibility='default' filepath='include/drm/drm_connector.h' line='768' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='184'>
-          <var-decl name='margins' type-id='type-id-33' visibility='default' filepath='include/drm/drm_connector.h' line='769' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='force' type-id='type-id-4489' visibility='default' filepath='include/drm/drm_connector.h' line='770' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='drm_connector_force' filepath='include/drm/drm_connector.h' line='44' column='1' id='type-id-4489'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='DRM_FORCE_UNSPECIFIED' value='0'/>
-        <enumerator name='DRM_FORCE_OFF' value='1'/>
-        <enumerator name='DRM_FORCE_ON' value='2'/>
-        <enumerator name='DRM_FORCE_ON_DIGITAL' value='3'/>
-      </enum-decl>
-      <class-decl name='drm_tile_group' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/drm/drm_connector.h' line='1215' column='1' id='type-id-4806'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='refcount' type-id='type-id-239' visibility='default' filepath='include/drm/drm_connector.h' line='1216' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='dev' type-id='type-id-4446' visibility='default' filepath='include/drm/drm_connector.h' line='1217' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='id' type-id='type-id-17' visibility='default' filepath='include/drm/drm_connector.h' line='1218' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='group_data' type-id='type-id-1186' visibility='default' filepath='include/drm/drm_connector.h' line='1219' column='1'/>
-        </data-member>
-      </class-decl>
-      <pointer-type-def type-id='type-id-108' size-in-bits='64' id='type-id-4726'/>
-      <pointer-type-def type-id='type-id-4455' size-in-bits='64' id='type-id-4574'/>
-      <pointer-type-def type-id='type-id-4807' size-in-bits='64' id='type-id-4659'/>
-      <qualified-type-def type-id='type-id-4658' const='yes' id='type-id-4808'/>
-      <pointer-type-def type-id='type-id-4808' size-in-bits='64' id='type-id-4657'/>
-      <qualified-type-def type-id='type-id-4780' const='yes' id='type-id-4809'/>
-      <pointer-type-def type-id='type-id-4809' size-in-bits='64' id='type-id-4778'/>
-      <qualified-type-def type-id='type-id-4779' const='yes' id='type-id-4810'/>
-      <pointer-type-def type-id='type-id-4810' size-in-bits='64' id='type-id-4777'/>
-      <qualified-type-def type-id='type-id-4616' const='yes' id='type-id-4811'/>
-      <pointer-type-def type-id='type-id-4811' size-in-bits='64' id='type-id-4614'/>
-      <qualified-type-def type-id='type-id-4756' const='yes' id='type-id-4812'/>
-      <pointer-type-def type-id='type-id-4812' size-in-bits='64' id='type-id-4484'/>
-      <qualified-type-def type-id='type-id-4800' const='yes' id='type-id-4813'/>
-      <pointer-type-def type-id='type-id-4813' size-in-bits='64' id='type-id-4487'/>
-      <qualified-type-def type-id='type-id-4768' const='yes' id='type-id-4814'/>
-      <pointer-type-def type-id='type-id-4814' size-in-bits='64' id='type-id-4815'/>
-      <qualified-type-def type-id='type-id-4666' const='yes' id='type-id-4816'/>
-      <pointer-type-def type-id='type-id-4816' size-in-bits='64' id='type-id-4627'/>
-      <qualified-type-def type-id='type-id-4695' const='yes' id='type-id-4817'/>
-      <pointer-type-def type-id='type-id-4817' size-in-bits='64' id='type-id-4629'/>
-      <qualified-type-def type-id='type-id-4692' const='yes' id='type-id-4818'/>
-      <pointer-type-def type-id='type-id-4818' size-in-bits='64' id='type-id-4819'/>
-      <qualified-type-def type-id='type-id-4549' const='yes' id='type-id-4820'/>
-      <pointer-type-def type-id='type-id-4820' size-in-bits='64' id='type-id-4821'/>
-      <qualified-type-def type-id='type-id-4786' const='yes' id='type-id-4822'/>
-      <pointer-type-def type-id='type-id-4822' size-in-bits='64' id='type-id-4774'/>
-      <qualified-type-def type-id='type-id-4789' const='yes' id='type-id-4823'/>
-      <pointer-type-def type-id='type-id-4823' size-in-bits='64' id='type-id-4775'/>
-      <qualified-type-def type-id='type-id-4707' const='yes' id='type-id-4824'/>
-      <pointer-type-def type-id='type-id-4824' size-in-bits='64' id='type-id-4612'/>
-      <qualified-type-def type-id='type-id-4598' const='yes' id='type-id-4825'/>
-      <pointer-type-def type-id='type-id-4825' size-in-bits='64' id='type-id-4596'/>
-      <pointer-type-def type-id='type-id-4826' size-in-bits='64' id='type-id-4589'/>
-      <qualified-type-def type-id='type-id-4599' const='yes' id='type-id-4827'/>
-      <pointer-type-def type-id='type-id-4827' size-in-bits='64' id='type-id-4597'/>
-      <qualified-type-def type-id='type-id-4461' const='yes' id='type-id-4828'/>
-      <pointer-type-def type-id='type-id-4828' size-in-bits='64' id='type-id-4829'/>
-      <qualified-type-def type-id='type-id-4566' const='yes' id='type-id-4830'/>
-      <pointer-type-def type-id='type-id-4830' size-in-bits='64' id='type-id-4542'/>
-      <qualified-type-def type-id='type-id-4587' const='yes' id='type-id-4831'/>
-      <pointer-type-def type-id='type-id-4831' size-in-bits='64' id='type-id-4582'/>
-      <qualified-type-def type-id='type-id-4605' const='yes' id='type-id-4832'/>
-      <pointer-type-def type-id='type-id-4832' size-in-bits='64' id='type-id-4584'/>
-      <qualified-type-def type-id='type-id-4604' const='yes' id='type-id-4833'/>
-      <pointer-type-def type-id='type-id-4833' size-in-bits='64' id='type-id-4834'/>
-      <qualified-type-def type-id='type-id-4638' const='yes' id='type-id-4835'/>
-      <pointer-type-def type-id='type-id-4835' size-in-bits='64' id='type-id-4634'/>
-      <qualified-type-def type-id='type-id-4664' const='yes' id='type-id-4836'/>
-      <pointer-type-def type-id='type-id-4836' size-in-bits='64' id='type-id-4636'/>
-      <qualified-type-def type-id='type-id-4650' const='yes' id='type-id-4837'/>
-      <pointer-type-def type-id='type-id-4837' size-in-bits='64' id='type-id-4838'/>
-      <qualified-type-def type-id='type-id-4747' const='yes' id='type-id-4839'/>
-      <pointer-type-def type-id='type-id-4839' size-in-bits='64' id='type-id-4840'/>
-      <qualified-type-def type-id='type-id-4746' const='yes' id='type-id-4841'/>
-      <pointer-type-def type-id='type-id-4841' size-in-bits='64' id='type-id-4842'/>
-      <qualified-type-def type-id='type-id-4748' const='yes' id='type-id-4843'/>
-      <pointer-type-def type-id='type-id-4843' size-in-bits='64' id='type-id-4844'/>
-      <pointer-type-def type-id='type-id-4456' size-in-bits='64' id='type-id-4845'/>
-      <pointer-type-def type-id='type-id-4846' size-in-bits='64' id='type-id-4530'/>
-      <pointer-type-def type-id='type-id-4457' size-in-bits='64' id='type-id-4847'/>
-      <pointer-type-def type-id='type-id-4656' size-in-bits='64' id='type-id-4651'/>
-      <pointer-type-def type-id='type-id-4572' size-in-bits='64' id='type-id-4501'/>
-      <pointer-type-def type-id='type-id-4458' size-in-bits='64' id='type-id-4583'/>
-      <pointer-type-def type-id='type-id-4848' size-in-bits='64' id='type-id-4593'/>
-      <pointer-type-def type-id='type-id-4776' size-in-bits='64' id='type-id-4773'/>
-      <pointer-type-def type-id='type-id-4619' size-in-bits='64' id='type-id-4608'/>
-      <pointer-type-def type-id='type-id-4607' size-in-bits='64' id='type-id-4620'/>
-      <pointer-type-def type-id='type-id-4603' size-in-bits='64' id='type-id-4849'/>
-      <pointer-type-def type-id='type-id-4480' size-in-bits='64' id='type-id-4444'/>
-      <pointer-type-def type-id='type-id-4444' size-in-bits='64' id='type-id-4624'/>
-      <pointer-type-def type-id='type-id-4768' size-in-bits='64' id='type-id-4491'/>
-      <pointer-type-def type-id='type-id-4850' size-in-bits='64' id='type-id-4763'/>
-      <pointer-type-def type-id='type-id-4625' size-in-bits='64' id='type-id-4623'/>
-      <pointer-type-def type-id='type-id-4851' size-in-bits='64' id='type-id-4795'/>
-      <pointer-type-def type-id='type-id-4459' size-in-bits='64' id='type-id-4655'/>
-      <pointer-type-def type-id='type-id-4705' size-in-bits='64' id='type-id-4704'/>
-      <pointer-type-def type-id='type-id-4692' size-in-bits='64' id='type-id-4630'/>
-      <pointer-type-def type-id='type-id-4852' size-in-bits='64' id='type-id-4676'/>
-      <pointer-type-def type-id='type-id-4494' size-in-bits='64' id='type-id-4446'/>
-      <pointer-type-def type-id='type-id-4460' size-in-bits='64' id='type-id-4499'/>
-      <pointer-type-def type-id='type-id-4549' size-in-bits='64' id='type-id-4445'/>
-      <pointer-type-def type-id='type-id-4445' size-in-bits='64' id='type-id-4853'/>
-      <pointer-type-def type-id='type-id-4508' size-in-bits='64' id='type-id-4495'/>
-      <pointer-type-def type-id='type-id-4772' size-in-bits='64' id='type-id-4490'/>
-      <pointer-type-def type-id='type-id-4854' size-in-bits='64' id='type-id-4803'/>
-      <pointer-type-def type-id='type-id-4855' size-in-bits='64' id='type-id-4804'/>
-      <pointer-type-def type-id='type-id-4689' size-in-bits='64' id='type-id-4688'/>
-      <pointer-type-def type-id='type-id-4606' size-in-bits='64' id='type-id-4507'/>
-      <pointer-type-def type-id='type-id-4706' size-in-bits='64' id='type-id-4856'/>
-      <pointer-type-def type-id='type-id-4856' size-in-bits='64' id='type-id-4611'/>
-      <pointer-type-def type-id='type-id-4621' size-in-bits='64' id='type-id-4610'/>
-      <pointer-type-def type-id='type-id-4610' size-in-bits='64' id='type-id-4857'/>
-      <pointer-type-def type-id='type-id-4710' size-in-bits='64' id='type-id-4858'/>
-      <pointer-type-def type-id='type-id-4711' size-in-bits='64' id='type-id-4859'/>
-      <pointer-type-def type-id='type-id-4545' size-in-bits='64' id='type-id-4615'/>
-      <pointer-type-def type-id='type-id-4595' size-in-bits='64' id='type-id-4609'/>
-      <pointer-type-def type-id='type-id-4860' size-in-bits='64' id='type-id-4588'/>
-      <pointer-type-def type-id='type-id-4461' size-in-bits='64' id='type-id-4468'/>
-      <pointer-type-def type-id='type-id-4861' size-in-bits='64' id='type-id-4531'/>
-      <pointer-type-def type-id='type-id-4862' size-in-bits='64' id='type-id-4535'/>
-      <pointer-type-def type-id='type-id-4863' size-in-bits='64' id='type-id-4527'/>
-      <pointer-type-def type-id='type-id-4578' size-in-bits='64' id='type-id-4577'/>
-      <pointer-type-def type-id='type-id-4570' size-in-bits='64' id='type-id-4568'/>
-      <pointer-type-def type-id='type-id-4462' size-in-bits='64' id='type-id-4504'/>
-      <pointer-type-def type-id='type-id-4463' size-in-bits='64' id='type-id-4497'/>
-      <pointer-type-def type-id='type-id-4548' size-in-bits='64' id='type-id-4496'/>
-      <pointer-type-def type-id='type-id-4565' size-in-bits='64' id='type-id-4864'/>
-      <pointer-type-def type-id='type-id-4622' size-in-bits='64' id='type-id-4865'/>
-      <pointer-type-def type-id='type-id-4585' size-in-bits='64' id='type-id-4581'/>
-      <pointer-type-def type-id='type-id-4580' size-in-bits='64' id='type-id-4586'/>
-      <pointer-type-def type-id='type-id-4486' size-in-bits='64' id='type-id-4552'/>
-      <pointer-type-def type-id='type-id-4684' size-in-bits='64' id='type-id-4693'/>
-      <pointer-type-def type-id='type-id-4632' size-in-bits='64' id='type-id-4626'/>
-      <pointer-type-def type-id='type-id-4650' size-in-bits='64' id='type-id-4637'/>
-      <pointer-type-def type-id='type-id-4866' size-in-bits='64' id='type-id-4643'/>
-      <pointer-type-def type-id='type-id-4556' size-in-bits='64' id='type-id-4867'/>
-      <pointer-type-def type-id='type-id-4554' size-in-bits='64' id='type-id-4470'/>
-      <pointer-type-def type-id='type-id-4694' size-in-bits='64' id='type-id-4485'/>
-      <pointer-type-def type-id='type-id-4464' size-in-bits='64' id='type-id-4502'/>
-      <pointer-type-def type-id='type-id-4806' size-in-bits='64' id='type-id-4492'/>
-      <pointer-type-def type-id='type-id-4571' size-in-bits='64' id='type-id-4500'/>
-      <pointer-type-def type-id='type-id-4465' size-in-bits='64' id='type-id-4506'/>
-      <pointer-type-def type-id='type-id-4466' size-in-bits='64' id='type-id-4771'/>
-      <pointer-type-def type-id='type-id-4868' size-in-bits='64' id='type-id-4759'/>
-      <pointer-type-def type-id='type-id-4869' size-in-bits='64' id='type-id-4796'/>
-      <pointer-type-def type-id='type-id-4870' size-in-bits='64' id='type-id-4783'/>
-      <pointer-type-def type-id='type-id-4871' size-in-bits='64' id='type-id-4802'/>
-      <pointer-type-def type-id='type-id-4872' size-in-bits='64' id='type-id-4697'/>
-      <pointer-type-def type-id='type-id-4873' size-in-bits='64' id='type-id-4590'/>
-      <pointer-type-def type-id='type-id-4874' size-in-bits='64' id='type-id-4791'/>
-      <pointer-type-def type-id='type-id-4751' size-in-bits='64' id='type-id-4875'/>
-      <pointer-type-def type-id='type-id-4717' size-in-bits='64' id='type-id-4876'/>
-      <pointer-type-def type-id='type-id-4749' size-in-bits='64' id='type-id-4877'/>
-      <pointer-type-def type-id='type-id-4727' size-in-bits='64' id='type-id-4719'/>
-      <pointer-type-def type-id='type-id-4712' size-in-bits='64' id='type-id-4613'/>
-      <pointer-type-def type-id='type-id-4730' size-in-bits='64' id='type-id-4720'/>
-      <pointer-type-def type-id='type-id-4713' size-in-bits='64' id='type-id-4878'/>
-      <pointer-type-def type-id='type-id-4724' size-in-bits='64' id='type-id-4718'/>
-      <pointer-type-def type-id='type-id-4879' size-in-bits='64' id='type-id-4781'/>
-      <pointer-type-def type-id='type-id-4880' size-in-bits='64' id='type-id-4618'/>
-      <pointer-type-def type-id='type-id-4881' size-in-bits='64' id='type-id-4762'/>
-      <pointer-type-def type-id='type-id-4882' size-in-bits='64' id='type-id-4766'/>
-      <pointer-type-def type-id='type-id-4883' size-in-bits='64' id='type-id-4805'/>
-      <pointer-type-def type-id='type-id-4884' size-in-bits='64' id='type-id-4765'/>
-      <pointer-type-def type-id='type-id-4885' size-in-bits='64' id='type-id-4801'/>
-      <pointer-type-def type-id='type-id-4886' size-in-bits='64' id='type-id-4761'/>
-      <pointer-type-def type-id='type-id-4887' size-in-bits='64' id='type-id-4757'/>
-      <pointer-type-def type-id='type-id-4888' size-in-bits='64' id='type-id-4760'/>
-      <pointer-type-def type-id='type-id-4889' size-in-bits='64' id='type-id-4680'/>
-      <pointer-type-def type-id='type-id-4890' size-in-bits='64' id='type-id-4681'/>
-      <pointer-type-def type-id='type-id-4891' size-in-bits='64' id='type-id-4679'/>
-      <pointer-type-def type-id='type-id-4892' size-in-bits='64' id='type-id-4702'/>
-      <pointer-type-def type-id='type-id-4893' size-in-bits='64' id='type-id-4678'/>
-      <pointer-type-def type-id='type-id-4894' size-in-bits='64' id='type-id-4699'/>
-      <pointer-type-def type-id='type-id-4895' size-in-bits='64' id='type-id-4668'/>
-      <pointer-type-def type-id='type-id-4896' size-in-bits='64' id='type-id-4669'/>
-      <pointer-type-def type-id='type-id-4897' size-in-bits='64' id='type-id-4673'/>
-      <pointer-type-def type-id='type-id-4898' size-in-bits='64' id='type-id-4674'/>
-      <pointer-type-def type-id='type-id-4899' size-in-bits='64' id='type-id-4701'/>
-      <pointer-type-def type-id='type-id-4900' size-in-bits='64' id='type-id-4675'/>
-      <pointer-type-def type-id='type-id-4901' size-in-bits='64' id='type-id-4670'/>
-      <pointer-type-def type-id='type-id-4902' size-in-bits='64' id='type-id-4700'/>
-      <pointer-type-def type-id='type-id-4903' size-in-bits='64' id='type-id-4671'/>
-      <pointer-type-def type-id='type-id-4904' size-in-bits='64' id='type-id-4518'/>
-      <pointer-type-def type-id='type-id-4905' size-in-bits='64' id='type-id-4591'/>
-      <pointer-type-def type-id='type-id-4906' size-in-bits='64' id='type-id-4592'/>
-      <pointer-type-def type-id='type-id-4907' size-in-bits='64' id='type-id-4510'/>
-      <pointer-type-def type-id='type-id-4908' size-in-bits='64' id='type-id-4529'/>
-      <pointer-type-def type-id='type-id-4909' size-in-bits='64' id='type-id-4521'/>
-      <pointer-type-def type-id='type-id-4910' size-in-bits='64' id='type-id-4528'/>
-      <pointer-type-def type-id='type-id-4911' size-in-bits='64' id='type-id-4519'/>
-      <pointer-type-def type-id='type-id-4912' size-in-bits='64' id='type-id-4544'/>
-      <pointer-type-def type-id='type-id-4913' size-in-bits='64' id='type-id-4514'/>
-      <pointer-type-def type-id='type-id-4914' size-in-bits='64' id='type-id-4509'/>
-      <pointer-type-def type-id='type-id-4569' size-in-bits='64' id='type-id-4543'/>
-      <pointer-type-def type-id='type-id-4915' size-in-bits='64' id='type-id-4788'/>
-      <pointer-type-def type-id='type-id-4916' size-in-bits='64' id='type-id-4797'/>
-      <pointer-type-def type-id='type-id-4917' size-in-bits='64' id='type-id-4708'/>
-      <pointer-type-def type-id='type-id-4918' size-in-bits='64' id='type-id-4539'/>
-      <pointer-type-def type-id='type-id-4919' size-in-bits='64' id='type-id-4541'/>
-      <pointer-type-def type-id='type-id-4920' size-in-bits='64' id='type-id-4540'/>
-      <pointer-type-def type-id='type-id-4921' size-in-bits='64' id='type-id-4601'/>
-      <pointer-type-def type-id='type-id-4922' size-in-bits='64' id='type-id-4602'/>
-      <pointer-type-def type-id='type-id-4923' size-in-bits='64' id='type-id-4532'/>
-      <pointer-type-def type-id='type-id-4924' size-in-bits='64' id='type-id-4524'/>
-      <pointer-type-def type-id='type-id-4925' size-in-bits='64' id='type-id-4538'/>
-      <pointer-type-def type-id='type-id-4926' size-in-bits='64' id='type-id-4522'/>
-      <pointer-type-def type-id='type-id-4927' size-in-bits='64' id='type-id-4672'/>
-      <pointer-type-def type-id='type-id-4928' size-in-bits='64' id='type-id-4647'/>
-      <pointer-type-def type-id='type-id-4929' size-in-bits='64' id='type-id-4646'/>
-      <pointer-type-def type-id='type-id-4930' size-in-bits='64' id='type-id-4639'/>
-      <pointer-type-def type-id='type-id-4931' size-in-bits='64' id='type-id-4640'/>
-      <pointer-type-def type-id='type-id-4932' size-in-bits='64' id='type-id-4665'/>
-      <pointer-type-def type-id='type-id-4933' size-in-bits='64' id='type-id-4645'/>
-      <pointer-type-def type-id='type-id-4934' size-in-bits='64' id='type-id-4642'/>
-      <pointer-type-def type-id='type-id-4935' size-in-bits='64' id='type-id-4737'/>
-      <pointer-type-def type-id='type-id-4936' size-in-bits='64' id='type-id-4735'/>
-      <pointer-type-def type-id='type-id-4937' size-in-bits='64' id='type-id-4742'/>
-      <pointer-type-def type-id='type-id-4938' size-in-bits='64' id='type-id-4731'/>
-      <pointer-type-def type-id='type-id-4939' size-in-bits='64' id='type-id-4743'/>
-      <pointer-type-def type-id='type-id-4940' size-in-bits='64' id='type-id-4744'/>
-      <pointer-type-def type-id='type-id-4941' size-in-bits='64' id='type-id-4734'/>
-      <pointer-type-def type-id='type-id-4942' size-in-bits='64' id='type-id-4738'/>
-      <pointer-type-def type-id='type-id-4943' size-in-bits='64' id='type-id-4736'/>
-      <pointer-type-def type-id='type-id-239' size-in-bits='64' id='type-id-4944'/>
-      <pointer-type-def type-id='type-id-682' size-in-bits='64' id='type-id-4945'/>
-      <pointer-type-def type-id='type-id-4946' size-in-bits='64' id='type-id-4661'/>
-      <pointer-type-def type-id='type-id-4467' size-in-bits='64' id='type-id-4947'/>
-      <pointer-type-def type-id='type-id-4948' size-in-bits='64' id='type-id-4533'/>
-      <pointer-type-def type-id='type-id-4949' size-in-bits='64' id='type-id-4534'/>
-      <pointer-type-def type-id='type-id-4950' size-in-bits='64' id='type-id-4660'/>
-      <pointer-type-def type-id='type-id-4951' size-in-bits='64' id='type-id-4784'/>
-      <pointer-type-def type-id='type-id-4952' size-in-bits='64' id='type-id-4698'/>
-      <pointer-type-def type-id='type-id-4953' size-in-bits='64' id='type-id-4517'/>
-      <pointer-type-def type-id='type-id-4954' size-in-bits='64' id='type-id-4516'/>
-      <pointer-type-def type-id='type-id-4955' size-in-bits='64' id='type-id-4792'/>
-      <pointer-type-def type-id='type-id-4956' size-in-bits='64' id='type-id-4709'/>
-      <pointer-type-def type-id='type-id-4957' size-in-bits='64' id='type-id-4649'/>
-      <pointer-type-def type-id='type-id-4958' size-in-bits='64' id='type-id-4732'/>
-      <pointer-type-def type-id='type-id-4959' size-in-bits='64' id='type-id-4733'/>
-      <pointer-type-def type-id='type-id-4960' size-in-bits='64' id='type-id-4683'/>
-      <pointer-type-def type-id='type-id-4961' size-in-bits='64' id='type-id-4513'/>
-      <pointer-type-def type-id='type-id-688' size-in-bits='64' id='type-id-4962'/>
-      <pointer-type-def type-id='type-id-4493' size-in-bits='64' id='type-id-4628'/>
-      <pointer-type-def type-id='type-id-1343' size-in-bits='64' id='type-id-4633'/>
-      <pointer-type-def type-id='type-id-2439' size-in-bits='64' id='type-id-4555'/>
-      <pointer-type-def type-id='type-id-4559' size-in-bits='64' id='type-id-4963'/>
-      <pointer-type-def type-id='type-id-4562' size-in-bits='64' id='type-id-4560'/>
-      <pointer-type-def type-id='type-id-4964' size-in-bits='64' id='type-id-4687'/>
-      <pointer-type-def type-id='type-id-4965' size-in-bits='64' id='type-id-4662'/>
-      <pointer-type-def type-id='type-id-4966' size-in-bits='64' id='type-id-4663'/>
-      <pointer-type-def type-id='type-id-4967' size-in-bits='64' id='type-id-4594'/>
-      <pointer-type-def type-id='type-id-4968' size-in-bits='64' id='type-id-4782'/>
-      <pointer-type-def type-id='type-id-4969' size-in-bits='64' id='type-id-4785'/>
-      <pointer-type-def type-id='type-id-4970' size-in-bits='64' id='type-id-4617'/>
-      <pointer-type-def type-id='type-id-4971' size-in-bits='64' id='type-id-4758'/>
-      <pointer-type-def type-id='type-id-4972' size-in-bits='64' id='type-id-4764'/>
-      <pointer-type-def type-id='type-id-4973' size-in-bits='64' id='type-id-4667'/>
-      <pointer-type-def type-id='type-id-4974' size-in-bits='64' id='type-id-4677'/>
-      <pointer-type-def type-id='type-id-4975' size-in-bits='64' id='type-id-4696'/>
-      <pointer-type-def type-id='type-id-4976' size-in-bits='64' id='type-id-4512'/>
-      <pointer-type-def type-id='type-id-4977' size-in-bits='64' id='type-id-4511'/>
-      <pointer-type-def type-id='type-id-4978' size-in-bits='64' id='type-id-4520'/>
-      <pointer-type-def type-id='type-id-4979' size-in-bits='64' id='type-id-4515'/>
-      <pointer-type-def type-id='type-id-4980' size-in-bits='64' id='type-id-4787'/>
-      <pointer-type-def type-id='type-id-4981' size-in-bits='64' id='type-id-4794'/>
-      <pointer-type-def type-id='type-id-4982' size-in-bits='64' id='type-id-4793'/>
-      <pointer-type-def type-id='type-id-4983' size-in-bits='64' id='type-id-4790'/>
-      <pointer-type-def type-id='type-id-4984' size-in-bits='64' id='type-id-4600'/>
-      <pointer-type-def type-id='type-id-4985' size-in-bits='64' id='type-id-4523'/>
-      <pointer-type-def type-id='type-id-4986' size-in-bits='64' id='type-id-4525'/>
-      <pointer-type-def type-id='type-id-4987' size-in-bits='64' id='type-id-4537'/>
-      <pointer-type-def type-id='type-id-4988' size-in-bits='64' id='type-id-4641'/>
-      <pointer-type-def type-id='type-id-4989' size-in-bits='64' id='type-id-4644'/>
-      <pointer-type-def type-id='type-id-4990' size-in-bits='64' id='type-id-4558'/>
-      <pointer-type-def type-id='type-id-4991' size-in-bits='64' id='type-id-4767'/>
-      <pointer-type-def type-id='type-id-4992' size-in-bits='64' id='type-id-4682'/>
-      <pointer-type-def type-id='type-id-4993' size-in-bits='64' id='type-id-4648'/>
-      <pointer-type-def type-id='type-id-4994' size-in-bits='64' id='type-id-4526'/>
-      <pointer-type-def type-id='type-id-4995' size-in-bits='64' id='type-id-4557'/>
-      <pointer-type-def type-id='type-id-4996' size-in-bits='64' id='type-id-4728'/>
-      <pointer-type-def type-id='type-id-4997' size-in-bits='64' id='type-id-4740'/>
-      <pointer-type-def type-id='type-id-4998' size-in-bits='64' id='type-id-4739'/>
-      <pointer-type-def type-id='type-id-4999' size-in-bits='64' id='type-id-4741'/>
-      <pointer-type-def type-id='type-id-5000' size-in-bits='64' id='type-id-4745'/>
-      <pointer-type-def type-id='type-id-5001' size-in-bits='64' id='type-id-4729'/>
-      <pointer-type-def type-id='type-id-5002' size-in-bits='64' id='type-id-4725'/>
-      <pointer-type-def type-id='type-id-5003' size-in-bits='64' id='type-id-4553'/>
-      <pointer-type-def type-id='type-id-5004' size-in-bits='64' id='type-id-4536'/>
-      <qualified-type-def type-id='type-id-5' volatile='yes' id='type-id-4579'/>
-      <function-decl name='drm_helper_probe_single_connector_modes' mangled-name='drm_helper_probe_single_connector_modes' filepath='drivers/gpu/drm/drm_probe_helper.c' line='387' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_helper_probe_single_connector_modes'>
-        <parameter type-id='type-id-4444' name='connector' filepath='drivers/gpu/drm/drm_probe_helper.c' line='387' column='1'/>
-        <parameter type-id='type-id-1343' name='maxX' filepath='drivers/gpu/drm/drm_probe_helper.c' line='388' column='1'/>
-        <parameter type-id='type-id-1343' name='maxY' filepath='drivers/gpu/drm/drm_probe_helper.c' line='388' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='drm_kms_helper_hotplug_event' mangled-name='drm_kms_helper_hotplug_event' filepath='drivers/gpu/drm/drm_probe_helper.c' line='564' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_kms_helper_hotplug_event'>
-        <parameter type-id='type-id-4446' name='dev' filepath='drivers/gpu/drm/drm_probe_helper.c' line='564' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='drm_helper_hpd_irq_event' mangled-name='drm_helper_hpd_irq_event' filepath='drivers/gpu/drm/drm_probe_helper.c' line='772' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_helper_hpd_irq_event'>
-        <parameter type-id='type-id-4446' name='dev' filepath='drivers/gpu/drm/drm_probe_helper.c' line='772' column='1'/>
-        <return type-id='type-id-33'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-4807'>
-        <parameter type-id='type-id-4651'/>
-        <return type-id='type-id-4'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4826'>
-        <parameter type-id='type-id-4834'/>
-        <return type-id='type-id-4596'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4846'>
-        <parameter type-id='type-id-4446'/>
-        <parameter type-id='type-id-4468'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-4845'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4848'>
-        <parameter type-id='type-id-4446'/>
-        <return type-id='type-id-4583'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4850'>
-        <parameter type-id='type-id-4444'/>
-        <return type-id='type-id-4491'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4851'>
-        <parameter type-id='type-id-4490'/>
-        <return type-id='type-id-4623'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4852'>
-        <parameter type-id='type-id-4623'/>
-        <return type-id='type-id-4630'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4854'>
-        <parameter type-id='type-id-4444'/>
-        <return type-id='type-id-4490'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4855'>
-        <parameter type-id='type-id-4444'/>
-        <parameter type-id='type-id-4491'/>
-        <return type-id='type-id-4490'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4860'>
-        <parameter type-id='type-id-4446'/>
-        <parameter type-id='type-id-4615'/>
-        <parameter type-id='type-id-4834'/>
-        <return type-id='type-id-4609'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4861'>
-        <parameter type-id='type-id-4446'/>
-        <parameter type-id='type-id-4845'/>
-        <return type-id='type-id-4468'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4862'>
-        <parameter type-id='type-id-4446'/>
-        <parameter type-id='type-id-4847'/>
-        <parameter type-id='type-id-922'/>
-        <return type-id='type-id-4468'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4863'>
-        <parameter type-id='type-id-4446'/>
-        <parameter type-id='type-id-84'/>
-        <return type-id='type-id-4468'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4866'>
-        <parameter type-id='type-id-4626'/>
-        <return type-id='type-id-4637'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4868'>
-        <parameter type-id='type-id-4444'/>
-        <parameter type-id='type-id-33'/>
-        <return type-id='type-id-4482'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4869'>
-        <parameter type-id='type-id-4490'/>
-        <parameter type-id='type-id-4444'/>
-        <return type-id='type-id-4482'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4870'>
-        <parameter type-id='type-id-4773'/>
-        <parameter type-id='type-id-4821'/>
-        <return type-id='type-id-4550'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4871'>
-        <parameter type-id='type-id-4444'/>
-        <parameter type-id='type-id-4445'/>
-        <return type-id='type-id-4550'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4872'>
-        <parameter type-id='type-id-4623'/>
-        <parameter type-id='type-id-4821'/>
-        <return type-id='type-id-4550'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4873'>
-        <parameter type-id='type-id-4446'/>
-        <parameter type-id='type-id-4821'/>
-        <return type-id='type-id-4550'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4874'>
-        <parameter type-id='type-id-4490'/>
-        <parameter type-id='type-id-4821'/>
-        <return type-id='type-id-4550'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4879'>
-        <parameter type-id='type-id-4773'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4880'>
-        <parameter type-id='type-id-4620'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4881'>
-        <parameter type-id='type-id-4444'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4882'>
-        <parameter type-id='type-id-4444'/>
-        <parameter type-id='type-id-4815'/>
-        <parameter type-id='type-id-4470'/>
-        <parameter type-id='type-id-4555'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4883'>
-        <parameter type-id='type-id-4444'/>
-        <parameter type-id='type-id-4491'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4884'>
-        <parameter type-id='type-id-4444'/>
-        <parameter type-id='type-id-4491'/>
-        <parameter type-id='type-id-4470'/>
-        <parameter type-id='type-id-2439'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4885'>
-        <parameter type-id='type-id-4444'/>
-        <parameter type-id='type-id-4581'/>
-        <parameter type-id='type-id-33'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4886'>
-        <parameter type-id='type-id-4444'/>
-        <parameter type-id='type-id-4470'/>
-        <parameter type-id='type-id-2439'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4887'>
-        <parameter type-id='type-id-4444'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4888'>
-        <parameter type-id='type-id-4444' name='connector'/>
-        <parameter type-id='type-id-1343' name='maxX'/>
-        <parameter type-id='type-id-1343' name='maxY'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4889'>
-        <parameter type-id='type-id-4623'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4890'>
-        <parameter type-id='type-id-4623'/>
-        <parameter type-id='type-id-4'/>
-        <parameter type-id='type-id-3056'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4891'>
-        <parameter type-id='type-id-4623'/>
-        <parameter type-id='type-id-4819'/>
-        <parameter type-id='type-id-4470'/>
-        <parameter type-id='type-id-4555'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4892'>
-        <parameter type-id='type-id-4623'/>
-        <parameter type-id='type-id-4630'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4893'>
-        <parameter type-id='type-id-4623'/>
-        <parameter type-id='type-id-4630'/>
-        <parameter type-id='type-id-4470'/>
-        <parameter type-id='type-id-2439'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4894'>
-        <parameter type-id='type-id-4623'/>
-        <parameter type-id='type-id-4445'/>
-        <parameter type-id='type-id-4445'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-4609'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4895'>
-        <parameter type-id='type-id-4623'/>
-        <parameter type-id='type-id-4615'/>
-        <parameter type-id='type-id-1343'/>
-        <parameter type-id='type-id-1343'/>
-        <parameter type-id='type-id-1343'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4896'>
-        <parameter type-id='type-id-4623'/>
-        <parameter type-id='type-id-4615'/>
-        <parameter type-id='type-id-1343'/>
-        <parameter type-id='type-id-1343'/>
-        <parameter type-id='type-id-1343'/>
-        <parameter type-id='type-id-1631'/>
-        <parameter type-id='type-id-1631'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4897'>
-        <parameter type-id='type-id-4623'/>
-        <parameter type-id='type-id-4609'/>
-        <parameter type-id='type-id-4693'/>
-        <parameter type-id='type-id-1343'/>
-        <parameter type-id='type-id-4581'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4898'>
-        <parameter type-id='type-id-4623'/>
-        <parameter type-id='type-id-4609'/>
-        <parameter type-id='type-id-4693'/>
-        <parameter type-id='type-id-1343'/>
-        <parameter type-id='type-id-1343'/>
-        <parameter type-id='type-id-4581'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4899'>
-        <parameter type-id='type-id-4623'/>
-        <parameter type-id='type-id-4609'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-4703'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4900'>
-        <parameter type-id='type-id-4623'/>
-        <parameter type-id='type-id-4470'/>
-        <parameter type-id='type-id-2439'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4901'>
-        <parameter type-id='type-id-4623'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4902'>
-        <parameter type-id='type-id-4623'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-4609'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4903'>
-        <parameter type-id='type-id-4623'/>
-        <parameter type-id='type-id-4962'/>
-        <parameter type-id='type-id-4962'/>
-        <parameter type-id='type-id-4962'/>
-        <parameter type-id='type-id-1343'/>
-        <parameter type-id='type-id-4581'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4904'>
-        <parameter type-id='type-id-4446'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4905'>
-        <parameter type-id='type-id-4446'/>
-        <parameter type-id='type-id-4583'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4906'>
-        <parameter type-id='type-id-4446'/>
-        <parameter type-id='type-id-4583'/>
-        <parameter type-id='type-id-33'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4907'>
-        <parameter type-id='type-id-4446'/>
-        <parameter type-id='type-id-4615'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4908'>
-        <parameter type-id='type-id-4446'/>
-        <parameter type-id='type-id-4615'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-4633'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4909'>
-        <parameter type-id='type-id-4446'/>
-        <parameter type-id='type-id-4615'/>
-        <parameter type-id='type-id-33'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4910'>
-        <parameter type-id='type-id-4446'/>
-        <parameter type-id='type-id-4615'/>
-        <parameter type-id='type-id-1343'/>
-        <parameter type-id='type-id-1343'/>
-        <parameter type-id='type-id-666'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4911'>
-        <parameter type-id='type-id-4446'/>
-        <parameter type-id='type-id-4497'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4912'>
-        <parameter type-id='type-id-4446'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4913'>
-        <parameter type-id='type-id-4446'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4914'>
-        <parameter type-id='type-id-4446'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4569'>
-        <parameter type-id='type-id-4446'/>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-4615'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4915'>
-        <parameter type-id='type-id-4490'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4916'>
-        <parameter type-id='type-id-4490'/>
-        <parameter type-id='type-id-4630'/>
-        <parameter type-id='type-id-4491'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4917'>
-        <parameter type-id='type-id-4507'/>
-        <parameter type-id='type-id-4858'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4918'>
-        <parameter type-id='type-id-4615'/>
-        <parameter type-id='type-id-4446'/>
-        <parameter type-id='type-id-4864'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4919'>
-        <parameter type-id='type-id-4615'/>
-        <parameter type-id='type-id-4446'/>
-        <parameter type-id='type-id-1343'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4920'>
-        <parameter type-id='type-id-4615'/>
-        <parameter type-id='type-id-4446'/>
-        <parameter type-id='type-id-1343'/>
-        <parameter type-id='type-id-4555'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4921'>
-        <parameter type-id='type-id-4609'/>
-        <parameter type-id='type-id-4615'/>
-        <parameter type-id='type-id-482'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4922'>
-        <parameter type-id='type-id-4609'/>
-        <parameter type-id='type-id-4615'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-4849'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4923'>
-        <parameter type-id='type-id-4468'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4924'>
-        <parameter type-id='type-id-4468'/>
-        <parameter type-id='type-id-4615'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4925'>
-        <parameter type-id='type-id-4468'/>
-        <parameter type-id='type-id-1209'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4926'>
-        <parameter type-id='type-id-4496'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4927'>
-        <parameter type-id='type-id-4865'/>
-        <parameter type-id='type-id-4581'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4928'>
-        <parameter type-id='type-id-4626'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4929'>
-        <parameter type-id='type-id-4626'/>
-        <parameter type-id='type-id-4838'/>
-        <parameter type-id='type-id-4470'/>
-        <parameter type-id='type-id-4555'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4930'>
-        <parameter type-id='type-id-4626'/>
-        <parameter type-id='type-id-4623'/>
-        <parameter type-id='type-id-4609'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-1343'/>
-        <parameter type-id='type-id-1343'/>
-        <parameter type-id='type-id-1343'/>
-        <parameter type-id='type-id-1343'/>
-        <parameter type-id='type-id-4581'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4931'>
-        <parameter type-id='type-id-4626'/>
-        <parameter type-id='type-id-4581'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4932'>
-        <parameter type-id='type-id-4626'/>
-        <parameter type-id='type-id-4637'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4933'>
-        <parameter type-id='type-id-4626'/>
-        <parameter type-id='type-id-4637'/>
-        <parameter type-id='type-id-4470'/>
-        <parameter type-id='type-id-2439'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4934'>
-        <parameter type-id='type-id-4626'/>
-        <parameter type-id='type-id-4470'/>
-        <parameter type-id='type-id-2439'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4935'>
-        <parameter type-id='type-id-4876'/>
-        <parameter type-id='type-id-4613'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4936'>
-        <parameter type-id='type-id-4613'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4937'>
-        <parameter type-id='type-id-4613'/>
-        <parameter type-id='type-id-4877'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4938'>
-        <parameter type-id='type-id-4613'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4939'>
-        <parameter type-id='type-id-4613'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4940'>
-        <parameter type-id='type-id-4613'/>
-        <parameter type-id='type-id-1209'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4941'>
-        <parameter type-id='type-id-4878'/>
-        <parameter type-id='type-id-4613'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4942'>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-4613'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4943'>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-4613'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4946'>
-        <parameter type-id='type-id-4651'/>
-        <parameter type-id='type-id-33'/>
-        <parameter type-id='type-id-192'/>
-        <return type-id='type-id-192'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4948'>
-        <parameter type-id='type-id-4468'/>
-        <return type-id='type-id-4947'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4949'>
-        <parameter type-id='type-id-4468'/>
-        <return type-id='type-id-922'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4950'>
-        <parameter type-id='type-id-4651'/>
-        <return type-id='type-id-33'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4951'>
-        <parameter type-id='type-id-4773'/>
-        <parameter type-id='type-id-4821'/>
-        <parameter type-id='type-id-4445'/>
-        <return type-id='type-id-33'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4952'>
-        <parameter type-id='type-id-4623'/>
-        <parameter type-id='type-id-4821'/>
-        <parameter type-id='type-id-4445'/>
-        <return type-id='type-id-33'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4953'>
-        <parameter type-id='type-id-4446'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-666'/>
-        <parameter type-id='type-id-4945'/>
-        <parameter type-id='type-id-33'/>
-        <return type-id='type-id-33'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4954'>
-        <parameter type-id='type-id-4446'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-33'/>
-        <parameter type-id='type-id-666'/>
-        <parameter type-id='type-id-666'/>
-        <parameter type-id='type-id-4945'/>
-        <parameter type-id='type-id-4945'/>
-        <parameter type-id='type-id-4821'/>
-        <return type-id='type-id-33'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4955'>
-        <parameter type-id='type-id-4490'/>
-        <parameter type-id='type-id-4821'/>
-        <parameter type-id='type-id-4445'/>
-        <return type-id='type-id-33'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4956'>
-        <parameter type-id='type-id-4507'/>
-        <parameter type-id='type-id-4857'/>
-        <parameter type-id='type-id-4853'/>
-        <parameter type-id='type-id-4859'/>
-        <parameter type-id='type-id-2611'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-33'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4957'>
-        <parameter type-id='type-id-4626'/>
-        <parameter type-id='type-id-1343'/>
-        <parameter type-id='type-id-2439'/>
-        <return type-id='type-id-33'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4958'>
-        <parameter type-id='type-id-4613'/>
-        <parameter type-id='type-id-2'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-85'/>
-        <return type-id='type-id-86'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4959'>
-        <parameter type-id='type-id-4613'/>
-        <parameter type-id='type-id-4'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-85'/>
-        <return type-id='type-id-86'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4960'>
-        <parameter type-id='type-id-4623'/>
-        <return type-id='type-id-7'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4961'>
-        <parameter type-id='type-id-4446'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-7'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4964'>
-        <parameter type-id='type-id-1394'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4965'>
-        <parameter type-id='type-id-4651'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4966'>
-        <parameter type-id='type-id-4651'/>
-        <parameter type-id='type-id-2'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4967'>
-        <parameter type-id='type-id-4583'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4968'>
-        <parameter type-id='type-id-4773'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4969'>
-        <parameter type-id='type-id-4773'/>
-        <parameter type-id='type-id-4445'/>
-        <parameter type-id='type-id-4445'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4970'>
-        <parameter type-id='type-id-4620'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4971'>
-        <parameter type-id='type-id-4444'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4972'>
-        <parameter type-id='type-id-4444'/>
-        <parameter type-id='type-id-4491'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4973'>
-        <parameter type-id='type-id-4623'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4974'>
-        <parameter type-id='type-id-4623'/>
-        <parameter type-id='type-id-4630'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4975'>
-        <parameter type-id='type-id-4623'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4976'>
-        <parameter type-id='type-id-4446'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4977'>
-        <parameter type-id='type-id-4446'/>
-        <parameter type-id='type-id-4615'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4978'>
-        <parameter type-id='type-id-4446'/>
-        <parameter type-id='type-id-4497'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4979'>
-        <parameter type-id='type-id-4446'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4980'>
-        <parameter type-id='type-id-4490'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4981'>
-        <parameter type-id='type-id-4490'/>
-        <parameter type-id='type-id-4630'/>
-        <parameter type-id='type-id-4491'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4982'>
-        <parameter type-id='type-id-4490'/>
-        <parameter type-id='type-id-4445'/>
-        <parameter type-id='type-id-4445'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4983'>
-        <parameter type-id='type-id-4490'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4984'>
-        <parameter type-id='type-id-4609'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4985'>
-        <parameter type-id='type-id-4468'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4986'>
-        <parameter type-id='type-id-4468'/>
-        <parameter type-id='type-id-4615'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4987'>
-        <parameter type-id='type-id-4468'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4988'>
-        <parameter type-id='type-id-4626'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4989'>
-        <parameter type-id='type-id-4626'/>
-        <parameter type-id='type-id-4637'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4990'>
-        <parameter type-id='type-id-4867'/>
-        <parameter type-id='type-id-4'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4991'>
-        <parameter type-id='type-id-4867'/>
-        <parameter type-id='type-id-4815'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4992'>
-        <parameter type-id='type-id-4867'/>
-        <parameter type-id='type-id-4819'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4993'>
-        <parameter type-id='type-id-4867'/>
-        <parameter type-id='type-id-4838'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4994'>
-        <parameter type-id='type-id-4867'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-4829'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4995'>
-        <parameter type-id='type-id-4867'/>
-        <parameter type-id='type-id-4963'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4996'>
-        <parameter type-id='type-id-4613'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4997'>
-        <parameter type-id='type-id-4613'/>
-        <parameter type-id='type-id-4840'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4998'>
-        <parameter type-id='type-id-4613'/>
-        <parameter type-id='type-id-4842'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-4999'>
-        <parameter type-id='type-id-4613'/>
-        <parameter type-id='type-id-4844'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5000'>
-        <parameter type-id='type-id-4613'/>
-        <parameter type-id='type-id-4875'/>
-        <parameter type-id='type-id-4878'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5001'>
-        <parameter type-id='type-id-4613'/>
-        <parameter type-id='type-id-877'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5002'>
-        <parameter type-id='type-id-4613'/>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5003'>
-        <parameter type-id='type-id-4944'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5004'>
-        <parameter type-id='type-id-4468'/>
-        <return type-id='type-id-15'/>
-      </function-type>
-      <union-decl name='__anonymous_union__3' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/drm/drm_vblank.h' line='57' column='1' id='type-id-4686'>
+      <union-decl name='__anonymous_union__1' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='666' column='1' id='type-id-8182'>
         <data-member access='private'>
-          <var-decl name='base' type-id='type-id-4689' visibility='default' filepath='include/drm/drm_vblank.h' line='61' column='1'/>
+          <var-decl name='' type-id='type-id-8183' visibility='default' filepath='include/linux/skbuff.h' line='667' column='1'/>
         </data-member>
         <data-member access='private'>
-          <var-decl name='vbl' type-id='type-id-4690' visibility='default' filepath='include/drm/drm_vblank.h' line='71' column='1'/>
+          <var-decl name='rbnode' type-id='type-id-1846' visibility='default' filepath='include/linux/skbuff.h' line='681' column='1'/>
         </data-member>
         <data-member access='private'>
-          <var-decl name='seq' type-id='type-id-4691' visibility='default' filepath='include/drm/drm_vblank.h' line='76' column='1'/>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/skbuff.h' line='682' column='1'/>
         </data-member>
       </union-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_connector.c' language='LANG_C89'>
-      <qualified-type-def type-id='type-id-5005' const='yes' id='type-id-5006'/>
-      <pointer-type-def type-id='type-id-5006' size-in-bits='64' id='type-id-5007'/>
-      <function-decl name='drm_connector_init' mangled-name='drm_connector_init' filepath='drivers/gpu/drm/drm_connector.c' line='189' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_connector_init'>
-        <parameter type-id='type-id-4446' name='dev' filepath='drivers/gpu/drm/drm_connector.c' line='189' column='1'/>
-        <parameter type-id='type-id-4444' name='connector' filepath='drivers/gpu/drm/drm_connector.c' line='190' column='1'/>
-        <parameter type-id='type-id-4484' name='funcs' filepath='drivers/gpu/drm/drm_connector.c' line='191' column='1'/>
-        <parameter type-id='type-id-17' name='connector_type' filepath='drivers/gpu/drm/drm_connector.c' line='192' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='drm_connector_attach_edid_property' mangled-name='drm_connector_attach_edid_property' filepath='drivers/gpu/drm/drm_connector.c' line='300' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_connector_attach_edid_property'>
-        <parameter type-id='type-id-4444' name='connector' filepath='drivers/gpu/drm/drm_connector.c' line='300' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='drm_connector_attach_encoder' mangled-name='drm_connector_attach_encoder' filepath='drivers/gpu/drm/drm_connector.c' line='322' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_connector_attach_encoder'>
-        <parameter type-id='type-id-4444' name='connector' filepath='drivers/gpu/drm/drm_connector.c' line='322' column='1'/>
-        <parameter type-id='type-id-4490' name='encoder' filepath='drivers/gpu/drm/drm_connector.c' line='323' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='drm_connector_cleanup' mangled-name='drm_connector_cleanup' filepath='drivers/gpu/drm/drm_connector.c' line='387' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_connector_cleanup'>
-        <parameter type-id='type-id-4444' name='connector' filepath='drivers/gpu/drm/drm_connector.c' line='387' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='drm_connector_unregister' mangled-name='drm_connector_unregister' filepath='drivers/gpu/drm/drm_connector.c' line='491' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_connector_unregister'>
-        <parameter type-id='type-id-4444' name='connector' filepath='drivers/gpu/drm/drm_connector.c' line='491' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='drm_connector_register' mangled-name='drm_connector_register' filepath='drivers/gpu/drm/drm_connector.c' line='444' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_connector_register'>
-        <parameter type-id='type-id-4444' name='connector' filepath='drivers/gpu/drm/drm_connector.c' line='444' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='drm_connector_update_edid_property' mangled-name='drm_connector_update_edid_property' filepath='drivers/gpu/drm/drm_connector.c' line='1527' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_connector_update_edid_property'>
-        <parameter type-id='type-id-4444' name='connector' filepath='drivers/gpu/drm/drm_connector.c' line='1527' column='1'/>
-        <parameter type-id='type-id-5007' name='edid' filepath='drivers/gpu/drm/drm_connector.c' line='1528' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_atomic_helper.c' language='LANG_C89'>
-      <class-decl name='drm_atomic_state' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/drm/drm_atomic.h' line='282' column='1' id='type-id-5008'>
+      <class-decl name='__anonymous_struct__1' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='667' column='1' id='type-id-8183'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ref' type-id='type-id-239' visibility='default' filepath='include/drm/drm_atomic.h' line='283' column='1'/>
+          <var-decl name='next' type-id='type-id-513' visibility='default' filepath='include/linux/skbuff.h' line='669' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='dev' type-id='type-id-4446' visibility='default' filepath='include/drm/drm_atomic.h' line='285' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7'>
-          <var-decl name='allow_modeset' type-id='type-id-33' visibility='default' filepath='include/drm/drm_atomic.h' line='286' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6'>
-          <var-decl name='legacy_cursor_update' type-id='type-id-33' visibility='default' filepath='include/drm/drm_atomic.h' line='287' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5'>
-          <var-decl name='async_update' type-id='type-id-33' visibility='default' filepath='include/drm/drm_atomic.h' line='288' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='planes' type-id='type-id-5009' visibility='default' filepath='include/drm/drm_atomic.h' line='289' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='crtcs' type-id='type-id-5010' visibility='default' filepath='include/drm/drm_atomic.h' line='290' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='num_connector' type-id='type-id-17' visibility='default' filepath='include/drm/drm_atomic.h' line='291' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='connectors' type-id='type-id-5011' visibility='default' filepath='include/drm/drm_atomic.h' line='292' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='num_private_objs' type-id='type-id-17' visibility='default' filepath='include/drm/drm_atomic.h' line='293' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='private_objs' type-id='type-id-5012' visibility='default' filepath='include/drm/drm_atomic.h' line='294' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='acquire_ctx' type-id='type-id-4581' visibility='default' filepath='include/drm/drm_atomic.h' line='296' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='fake_commit' type-id='type-id-5013' visibility='default' filepath='include/drm/drm_atomic.h' line='308' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='commit_work' type-id='type-id-255' visibility='default' filepath='include/drm/drm_atomic.h' line='316' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__drm_planes_state' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/drm/drm_atomic.h' line='148' column='1' id='type-id-5014'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ptr' type-id='type-id-4626' visibility='default' filepath='include/drm/drm_atomic.h' line='149' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='state' type-id='type-id-4637' visibility='default' filepath='include/drm/drm_atomic.h' line='150' column='1'/>
+          <var-decl name='prev' type-id='type-id-513' visibility='default' filepath='include/linux/skbuff.h' line='670' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='old_state' type-id='type-id-4637' visibility='default' filepath='include/drm/drm_atomic.h' line='150' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='new_state' type-id='type-id-4637' visibility='default' filepath='include/drm/drm_atomic.h' line='150' column='1'/>
+          <var-decl name='' type-id='type-id-8184' visibility='default' filepath='include/linux/skbuff.h' line='672' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='drm_crtc_commit' size-in-bits='1152' is-struct='yes' visibility='default' filepath='include/drm/drm_atomic.h' line='69' column='1' id='type-id-5015'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='crtc' type-id='type-id-4623' visibility='default' filepath='include/drm/drm_atomic.h' line='75' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ref' type-id='type-id-239' visibility='default' filepath='include/drm/drm_atomic.h' line='84' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='flip_done' type-id='type-id-1608' visibility='default' filepath='include/drm/drm_atomic.h' line='95' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='hw_done' type-id='type-id-1608' visibility='default' filepath='include/drm/drm_atomic.h' line='110' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='cleanup_done' type-id='type-id-1608' visibility='default' filepath='include/drm/drm_atomic.h' line='121' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='commit_entry' type-id='type-id-20' visibility='default' filepath='include/drm/drm_atomic.h' line='129' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='event' type-id='type-id-4693' visibility='default' filepath='include/drm/drm_atomic.h' line='136' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='abort_completion' type-id='type-id-33' visibility='default' filepath='include/drm/drm_atomic.h' line='145' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__drm_crtcs_state' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/drm/drm_atomic.h' line='153' column='1' id='type-id-5016'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ptr' type-id='type-id-4623' visibility='default' filepath='include/drm/drm_atomic.h' line='154' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='state' type-id='type-id-4630' visibility='default' filepath='include/drm/drm_atomic.h' line='155' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='old_state' type-id='type-id-4630' visibility='default' filepath='include/drm/drm_atomic.h' line='155' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='new_state' type-id='type-id-4630' visibility='default' filepath='include/drm/drm_atomic.h' line='155' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='commit' type-id='type-id-5013' visibility='default' filepath='include/drm/drm_atomic.h' line='165' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='out_fence_ptr' type-id='type-id-2284' visibility='default' filepath='include/drm/drm_atomic.h' line='167' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='last_vblank_count' type-id='type-id-40' visibility='default' filepath='include/drm/drm_atomic.h' line='168' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__drm_connnectors_state' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/drm/drm_atomic.h' line='171' column='1' id='type-id-5017'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ptr' type-id='type-id-4444' visibility='default' filepath='include/drm/drm_atomic.h' line='172' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='state' type-id='type-id-4491' visibility='default' filepath='include/drm/drm_atomic.h' line='173' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='old_state' type-id='type-id-4491' visibility='default' filepath='include/drm/drm_atomic.h' line='173' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='new_state' type-id='type-id-4491' visibility='default' filepath='include/drm/drm_atomic.h' line='173' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='out_fence_ptr' type-id='type-id-2284' visibility='default' filepath='include/drm/drm_atomic.h' line='181' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__drm_private_objs_state' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/drm/drm_atomic.h' line='258' column='1' id='type-id-5018'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ptr' type-id='type-id-5019' visibility='default' filepath='include/drm/drm_atomic.h' line='259' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='state' type-id='type-id-5020' visibility='default' filepath='include/drm/drm_atomic.h' line='260' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='old_state' type-id='type-id-5020' visibility='default' filepath='include/drm/drm_atomic.h' line='260' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='new_state' type-id='type-id-5020' visibility='default' filepath='include/drm/drm_atomic.h' line='260' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_private_obj' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/drm/drm_atomic.h' line='231' column='1' id='type-id-5021'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='state' type-id='type-id-5020' visibility='default' filepath='include/drm/drm_atomic.h' line='235' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='funcs' type-id='type-id-5022' visibility='default' filepath='include/drm/drm_atomic.h' line='243' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_private_state' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/drm/drm_atomic.h' line='254' column='1' id='type-id-5023'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='state' type-id='type-id-5024' visibility='default' filepath='include/drm/drm_atomic.h' line='255' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_private_state_funcs' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/drm/drm_atomic.h' line='197' column='1' id='type-id-5025'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='atomic_duplicate_state' type-id='type-id-5026' visibility='default' filepath='include/drm/drm_atomic.h' line='209' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='atomic_destroy_state' type-id='type-id-5027' visibility='default' filepath='include/drm/drm_atomic.h' line='216' column='1'/>
-        </data-member>
-      </class-decl>
-      <pointer-type-def type-id='type-id-5017' size-in-bits='64' id='type-id-5011'/>
-      <pointer-type-def type-id='type-id-5016' size-in-bits='64' id='type-id-5010'/>
-      <pointer-type-def type-id='type-id-5014' size-in-bits='64' id='type-id-5009'/>
-      <pointer-type-def type-id='type-id-5018' size-in-bits='64' id='type-id-5012'/>
-      <qualified-type-def type-id='type-id-5025' const='yes' id='type-id-5028'/>
-      <pointer-type-def type-id='type-id-5028' size-in-bits='64' id='type-id-5022'/>
-      <pointer-type-def type-id='type-id-5008' size-in-bits='64' id='type-id-5024'/>
-      <pointer-type-def type-id='type-id-5015' size-in-bits='64' id='type-id-5013'/>
-      <pointer-type-def type-id='type-id-5021' size-in-bits='64' id='type-id-5019'/>
-      <pointer-type-def type-id='type-id-5023' size-in-bits='64' id='type-id-5020'/>
-      <pointer-type-def type-id='type-id-5029' size-in-bits='64' id='type-id-5026'/>
-      <pointer-type-def type-id='type-id-5030' size-in-bits='64' id='type-id-5027'/>
-      <function-decl name='drm_atomic_helper_check' mangled-name='drm_atomic_helper_check' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='887' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_check'>
-        <parameter type-id='type-id-4446' name='dev' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='887' column='1'/>
-        <parameter type-id='type-id-5024' name='state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='888' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='drm_atomic_helper_commit_modeset_disables' mangled-name='drm_atomic_helper_commit_modeset_disables' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='1165' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_commit_modeset_disables'>
-        <parameter type-id='type-id-4446' name='dev' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='1165' column='1'/>
-        <parameter type-id='type-id-5024' name='old_state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='1166' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='drm_atomic_helper_commit_modeset_enables' mangled-name='drm_atomic_helper_commit_modeset_enables' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='1211' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_commit_modeset_enables'>
-        <parameter type-id='type-id-4446' name='dev' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='1211' column='1'/>
-        <parameter type-id='type-id-5024' name='old_state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='1212' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='drm_atomic_helper_wait_for_vblanks' mangled-name='drm_atomic_helper_wait_for_vblanks' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='1349' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_wait_for_vblanks'>
-        <parameter type-id='type-id-4446' name='dev' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='1349' column='1'/>
-        <parameter type-id='type-id-5024' name='old_state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='1350' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='drm_atomic_helper_commit_planes' mangled-name='drm_atomic_helper_commit_planes' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2310' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_commit_planes'>
-        <parameter type-id='type-id-4446' name='dev' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2310' column='1'/>
-        <parameter type-id='type-id-5024' name='old_state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2311' column='1'/>
-        <parameter type-id='type-id-1343' name='flags' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2312' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='drm_atomic_helper_commit_hw_done' mangled-name='drm_atomic_helper_commit_hw_done' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2143' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_commit_hw_done'>
-        <parameter type-id='type-id-5024' name='old_state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2143' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='drm_atomic_helper_cleanup_planes' mangled-name='drm_atomic_helper_cleanup_planes' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2516' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_cleanup_planes'>
-        <parameter type-id='type-id-4446' name='dev' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2516' column='1'/>
-        <parameter type-id='type-id-5024' name='old_state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2517' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='drm_atomic_helper_commit' mangled-name='drm_atomic_helper_commit' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='1662' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_commit'>
-        <parameter type-id='type-id-4446' name='dev' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='1662' column='1'/>
-        <parameter type-id='type-id-5024' name='state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='1663' column='1'/>
-        <parameter type-id='type-id-33' name='nonblock' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='1664' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='drm_atomic_helper_update_plane' mangled-name='drm_atomic_helper_update_plane' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2710' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_update_plane'>
-        <parameter type-id='type-id-4626' name='plane' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2710' column='1'/>
-        <parameter type-id='type-id-4623' name='crtc' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2711' column='1'/>
-        <parameter type-id='type-id-4609' name='fb' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2712' column='1'/>
-        <parameter type-id='type-id-17' name='crtc_x' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2713' column='1'/>
-        <parameter type-id='type-id-17' name='crtc_y' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2713' column='1'/>
-        <parameter type-id='type-id-5' name='crtc_w' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2714' column='1'/>
-        <parameter type-id='type-id-5' name='crtc_h' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2714' column='1'/>
-        <parameter type-id='type-id-1343' name='src_x' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2715' column='1'/>
-        <parameter type-id='type-id-1343' name='src_y' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2715' column='1'/>
-        <parameter type-id='type-id-1343' name='src_w' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2716' column='1'/>
-        <parameter type-id='type-id-1343' name='src_h' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2716' column='1'/>
-        <parameter type-id='type-id-4581' name='ctx' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2717' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='drm_atomic_helper_disable_plane' mangled-name='drm_atomic_helper_disable_plane' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2767' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_disable_plane'>
-        <parameter type-id='type-id-4626' name='plane' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2767' column='1'/>
-        <parameter type-id='type-id-4581' name='ctx' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2768' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='drm_atomic_helper_set_config' mangled-name='drm_atomic_helper_set_config' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2904' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_set_config'>
-        <parameter type-id='type-id-4865' name='set' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2904' column='1'/>
-        <parameter type-id='type-id-4581' name='ctx' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='2905' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='drm_atomic_helper_shutdown' mangled-name='drm_atomic_helper_shutdown' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3109' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_shutdown'>
-        <parameter type-id='type-id-4446' name='dev' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3109' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='drm_atomic_helper_page_flip' mangled-name='drm_atomic_helper_page_flip' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3343' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_page_flip'>
-        <parameter type-id='type-id-4623' name='crtc' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3343' column='1'/>
-        <parameter type-id='type-id-4609' name='fb' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3344' column='1'/>
-        <parameter type-id='type-id-4693' name='event' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3345' column='1'/>
-        <parameter type-id='type-id-1343' name='flags' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3346' column='1'/>
-        <parameter type-id='type-id-4581' name='ctx' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3347' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='drm_atomic_helper_crtc_reset' mangled-name='drm_atomic_helper_crtc_reset' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3467' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_crtc_reset'>
-        <parameter type-id='type-id-4623' name='crtc' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3467' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='drm_atomic_helper_crtc_duplicate_state' mangled-name='drm_atomic_helper_crtc_duplicate_state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3521' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_crtc_duplicate_state'>
-        <parameter type-id='type-id-4623' name='crtc' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3521' column='1'/>
-        <return type-id='type-id-4630'/>
-      </function-decl>
-      <function-decl name='drm_atomic_helper_crtc_destroy_state' mangled-name='drm_atomic_helper_crtc_destroy_state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3580' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_crtc_destroy_state'>
-        <parameter type-id='type-id-4623' name='crtc' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3580' column='1'/>
-        <parameter type-id='type-id-4630' name='state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3581' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='drm_atomic_helper_plane_reset' mangled-name='drm_atomic_helper_plane_reset' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3595' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_plane_reset'>
-        <parameter type-id='type-id-4626' name='plane' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3595' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='drm_atomic_helper_plane_duplicate_state' mangled-name='drm_atomic_helper_plane_duplicate_state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3643' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_plane_duplicate_state'>
-        <parameter type-id='type-id-4626' name='plane' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3643' column='1'/>
-        <return type-id='type-id-4637'/>
-      </function-decl>
-      <function-decl name='drm_atomic_helper_plane_destroy_state' mangled-name='drm_atomic_helper_plane_destroy_state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3687' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_plane_destroy_state'>
-        <parameter type-id='type-id-4626' name='plane' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3687' column='1'/>
-        <parameter type-id='type-id-4637' name='state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3688' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='drm_atomic_helper_connector_reset' mangled-name='drm_atomic_helper_connector_reset' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3726' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_connector_reset'>
-        <parameter type-id='type-id-4444' name='connector' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3726' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='drm_atomic_helper_connector_duplicate_state' mangled-name='drm_atomic_helper_connector_duplicate_state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3769' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_connector_duplicate_state'>
-        <parameter type-id='type-id-4444' name='connector' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3769' column='1'/>
-        <return type-id='type-id-4491'/>
-      </function-decl>
-      <function-decl name='drm_atomic_helper_connector_destroy_state' mangled-name='drm_atomic_helper_connector_destroy_state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3898' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_atomic_helper_connector_destroy_state'>
-        <parameter type-id='type-id-4444' name='connector' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3898' column='1'/>
-        <parameter type-id='type-id-4491' name='state' filepath='drivers/gpu/drm/drm_atomic_helper.c' line='3899' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-5029'>
-        <parameter type-id='type-id-5019'/>
-        <return type-id='type-id-5020'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5030'>
-        <parameter type-id='type-id-5019'/>
-        <parameter type-id='type-id-5020'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_modeset_helper.c' language='LANG_C89'>
-      <function-decl name='drm_helper_mode_fill_fb_struct' mangled-name='drm_helper_mode_fill_fb_struct' filepath='drivers/gpu/drm/drm_modeset_helper.c' line='77' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_helper_mode_fill_fb_struct'>
-        <parameter type-id='type-id-4446' name='dev' filepath='drivers/gpu/drm/drm_modeset_helper.c' line='77' column='1'/>
-        <parameter type-id='type-id-4609' name='fb' filepath='drivers/gpu/drm/drm_modeset_helper.c' line='78' column='1'/>
-        <parameter type-id='type-id-4834' name='mode_cmd' filepath='drivers/gpu/drm/drm_modeset_helper.c' line='79' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_gem_framebuffer_helper.c' language='LANG_C89'>
-      <array-type-def dimensions='1' type-id='type-id-4651' size-in-bits='infinite' id='type-id-5031'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <class-decl name='drm_gem_object' size-in-bits='1920' is-struct='yes' visibility='default' filepath='include/drm/drm_gem.h' line='49' column='1' id='type-id-5032'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='refcount' type-id='type-id-239' visibility='default' filepath='include/drm/drm_gem.h' line='59' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='handle_count' type-id='type-id-5' visibility='default' filepath='include/drm/drm_gem.h' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='dev' type-id='type-id-4446' visibility='default' filepath='include/drm/drm_gem.h' line='77' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='filp' type-id='type-id-83' visibility='default' filepath='include/drm/drm_gem.h' line='87' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='vma_node' type-id='type-id-5033' visibility='default' filepath='include/drm/drm_gem.h' line='99' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='size' type-id='type-id-84' visibility='default' filepath='include/drm/drm_gem.h' line='107' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='name' type-id='type-id-17' visibility='default' filepath='include/drm/drm_gem.h' line='116' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='dma_buf' type-id='type-id-5034' visibility='default' filepath='include/drm/drm_gem.h' line='129' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='import_attach' type-id='type-id-5035' visibility='default' filepath='include/drm/drm_gem.h' line='148' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_vma_offset_node' size-in-bits='1472' is-struct='yes' visibility='default' filepath='include/drm/drm_vma_manager.h' line='40' column='1' id='type-id-5033'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='vm_lock' type-id='type-id-885' visibility='default' filepath='include/drm/drm_vma_manager.h' line='41' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='vm_node' type-id='type-id-5036' visibility='default' filepath='include/drm/drm_vma_manager.h' line='42' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='vm_files' type-id='type-id-416' visibility='default' filepath='include/drm/drm_vma_manager.h' line='43' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7'>
-          <var-decl name='readonly' type-id='type-id-33' visibility='default' filepath='include/drm/drm_vma_manager.h' line='44' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_mm_node' size-in-bits='1280' is-struct='yes' visibility='default' filepath='include/drm/drm_mm.h' line='155' column='1' id='type-id-5036'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='color' type-id='type-id-16' visibility='default' filepath='include/drm/drm_mm.h' line='157' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='start' type-id='type-id-40' visibility='default' filepath='include/drm/drm_mm.h' line='159' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='size' type-id='type-id-40' visibility='default' filepath='include/drm/drm_mm.h' line='161' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='mm' type-id='type-id-5037' visibility='default' filepath='include/drm/drm_mm.h' line='163' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='node_list' type-id='type-id-20' visibility='default' filepath='include/drm/drm_mm.h' line='164' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='hole_stack' type-id='type-id-20' visibility='default' filepath='include/drm/drm_mm.h' line='165' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='rb' type-id='type-id-422' visibility='default' filepath='include/drm/drm_mm.h' line='166' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='rb_hole_size' type-id='type-id-422' visibility='default' filepath='include/drm/drm_mm.h' line='167' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='rb_hole_addr' type-id='type-id-422' visibility='default' filepath='include/drm/drm_mm.h' line='168' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='__subtree_last' type-id='type-id-40' visibility='default' filepath='include/drm/drm_mm.h' line='169' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='hole_size' type-id='type-id-40' visibility='default' filepath='include/drm/drm_mm.h' line='170' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7'>
-          <var-decl name='allocated' type-id='type-id-33' visibility='default' filepath='include/drm/drm_mm.h' line='171' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6'>
-          <var-decl name='scanned_block' type-id='type-id-33' visibility='default' filepath='include/drm/drm_mm.h' line='172' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_mm' size-in-bits='1856' is-struct='yes' visibility='default' filepath='include/drm/drm_mm.h' line='186' column='1' id='type-id-5038'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='color_adjust' type-id='type-id-5039' visibility='default' filepath='include/drm/drm_mm.h' line='196' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='hole_stack' type-id='type-id-20' visibility='default' filepath='include/drm/drm_mm.h' line='202' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='head_node' type-id='type-id-5036' visibility='default' filepath='include/drm/drm_mm.h' line='205' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='interval_tree' type-id='type-id-1523' visibility='default' filepath='include/drm/drm_mm.h' line='207' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='holes_size' type-id='type-id-1523' visibility='default' filepath='include/drm/drm_mm.h' line='208' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='holes_addr' type-id='type-id-416' visibility='default' filepath='include/drm/drm_mm.h' line='209' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='scan_active' type-id='type-id-16' visibility='default' filepath='include/drm/drm_mm.h' line='211' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='dma_buf' size-in-bits='1984' is-struct='yes' visibility='default' filepath='include/linux/dma-buf.h' line='282' column='1' id='type-id-5040'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='size' type-id='type-id-84' visibility='default' filepath='include/linux/dma-buf.h' line='283' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='file' type-id='type-id-83' visibility='default' filepath='include/linux/dma-buf.h' line='284' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='attachments' type-id='type-id-20' visibility='default' filepath='include/linux/dma-buf.h' line='285' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='ops' type-id='type-id-5041' visibility='default' filepath='include/linux/dma-buf.h' line='286' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='lock' type-id='type-id-245' visibility='default' filepath='include/linux/dma-buf.h' line='287' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='vmapping_counter' type-id='type-id-5' visibility='default' filepath='include/linux/dma-buf.h' line='288' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='vmap_ptr' type-id='type-id-15' visibility='default' filepath='include/linux/dma-buf.h' line='289' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='exp_name' type-id='type-id-4' visibility='default' filepath='include/linux/dma-buf.h' line='290' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/dma-buf.h' line='291' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='owner' type-id='type-id-260' visibility='default' filepath='include/linux/dma-buf.h' line='292' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='list_node' type-id='type-id-20' visibility='default' filepath='include/linux/dma-buf.h' line='293' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='priv' type-id='type-id-15' visibility='default' filepath='include/linux/dma-buf.h' line='294' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='resv' type-id='type-id-5042' visibility='default' filepath='include/linux/dma-buf.h' line='295' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='poll' type-id='type-id-225' visibility='default' filepath='include/linux/dma-buf.h' line='298' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='cb_excl' type-id='type-id-5043' visibility='default' filepath='include/linux/dma-buf.h' line='305' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='cb_shared' type-id='type-id-5043' visibility='default' filepath='include/linux/dma-buf.h' line='305' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='dma_buf_ops' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/linux/dma-buf.h' line='53' column='1' id='type-id-5044'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='attach' type-id='type-id-5045' visibility='default' filepath='include/linux/dma-buf.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='detach' type-id='type-id-5046' visibility='default' filepath='include/linux/dma-buf.h' line='91' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='map_dma_buf' type-id='type-id-5047' visibility='default' filepath='include/linux/dma-buf.h' line='131' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='unmap_dma_buf' type-id='type-id-5048' visibility='default' filepath='include/linux/dma-buf.h' line='142' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='release' type-id='type-id-5049' visibility='default' filepath='include/linux/dma-buf.h' line='156' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='begin_cpu_access' type-id='type-id-5050' visibility='default' filepath='include/linux/dma-buf.h' line='188' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='end_cpu_access' type-id='type-id-5050' visibility='default' filepath='include/linux/dma-buf.h' line='207' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='map' type-id='type-id-5051' visibility='default' filepath='include/linux/dma-buf.h' line='208' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='unmap' type-id='type-id-5052' visibility='default' filepath='include/linux/dma-buf.h' line='209' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='mmap' type-id='type-id-5053' visibility='default' filepath='include/linux/dma-buf.h' line='246' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='vmap' type-id='type-id-5054' visibility='default' filepath='include/linux/dma-buf.h' line='248' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='vunmap' type-id='type-id-5055' visibility='default' filepath='include/linux/dma-buf.h' line='249' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='dma_buf_attachment' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/dma-buf.h' line='324' column='1' id='type-id-5056'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dmabuf' type-id='type-id-5034' visibility='default' filepath='include/linux/dma-buf.h' line='325' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='dev' type-id='type-id-240' visibility='default' filepath='include/linux/dma-buf.h' line='326' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='node' type-id='type-id-20' visibility='default' filepath='include/linux/dma-buf.h' line='327' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='priv' type-id='type-id-15' visibility='default' filepath='include/linux/dma-buf.h' line='328' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='reservation_object' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/reservation.h' line='73' column='1' id='type-id-5057'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lock' type-id='type-id-3467' visibility='default' filepath='include/linux/reservation.h' line='74' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='seq' type-id='type-id-387' visibility='default' filepath='include/linux/reservation.h' line='75' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='fence_excl' type-id='type-id-4651' visibility='default' filepath='include/linux/reservation.h' line='77' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='fence' type-id='type-id-5058' visibility='default' filepath='include/linux/reservation.h' line='78' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='staged' type-id='type-id-5058' visibility='default' filepath='include/linux/reservation.h' line='79' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='reservation_object_list' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/reservation.h' line='59' column='1' id='type-id-5059'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/linux/reservation.h' line='60' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='shared_count' type-id='type-id-7' visibility='default' filepath='include/linux/reservation.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='shared_max' type-id='type-id-7' visibility='default' filepath='include/linux/reservation.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='shared' type-id='type-id-5031' visibility='default' filepath='include/linux/reservation.h' line='62' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='dma_buf_poll_cb_t' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/dma-buf.h' line='300' column='1' id='type-id-5043'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cb' type-id='type-id-5060' visibility='default' filepath='include/linux/dma-buf.h' line='301' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='poll' type-id='type-id-881' visibility='default' filepath='include/linux/dma-buf.h' line='302' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='active' type-id='type-id-880' visibility='default' filepath='include/linux/dma-buf.h' line='304' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='dma_fence_cb' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/dma-fence.h' line='104' column='1' id='type-id-5060'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='node' type-id='type-id-20' visibility='default' filepath='include/linux/dma-fence.h' line='105' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='func' type-id='type-id-5061' visibility='default' filepath='include/linux/dma-fence.h' line='106' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='dma_fence_func_t' type-id='type-id-5062' filepath='include/linux/dma-fence.h' line='93' column='1' id='type-id-5061'/>
-      <qualified-type-def type-id='type-id-5044' const='yes' id='type-id-5063'/>
-      <pointer-type-def type-id='type-id-5063' size-in-bits='64' id='type-id-5041'/>
-      <qualified-type-def type-id='type-id-5036' const='yes' id='type-id-5064'/>
-      <pointer-type-def type-id='type-id-5064' size-in-bits='64' id='type-id-5065'/>
-      <pointer-type-def type-id='type-id-5040' size-in-bits='64' id='type-id-5034'/>
-      <pointer-type-def type-id='type-id-5056' size-in-bits='64' id='type-id-5035'/>
-      <pointer-type-def type-id='type-id-5060' size-in-bits='64' id='type-id-5066'/>
-      <pointer-type-def type-id='type-id-5032' size-in-bits='64' id='type-id-5067'/>
-      <pointer-type-def type-id='type-id-5038' size-in-bits='64' id='type-id-5037'/>
-      <pointer-type-def type-id='type-id-5068' size-in-bits='64' id='type-id-5045'/>
-      <pointer-type-def type-id='type-id-5069' size-in-bits='64' id='type-id-5050'/>
-      <pointer-type-def type-id='type-id-5070' size-in-bits='64' id='type-id-5053'/>
-      <pointer-type-def type-id='type-id-5057' size-in-bits='64' id='type-id-5042'/>
-      <pointer-type-def type-id='type-id-5059' size-in-bits='64' id='type-id-5058'/>
-      <pointer-type-def type-id='type-id-5071' size-in-bits='64' id='type-id-5047'/>
-      <pointer-type-def type-id='type-id-5072' size-in-bits='64' id='type-id-5039'/>
-      <pointer-type-def type-id='type-id-5073' size-in-bits='64' id='type-id-5049'/>
-      <pointer-type-def type-id='type-id-5074' size-in-bits='64' id='type-id-5046'/>
-      <pointer-type-def type-id='type-id-5075' size-in-bits='64' id='type-id-5052'/>
-      <pointer-type-def type-id='type-id-5076' size-in-bits='64' id='type-id-5055'/>
-      <pointer-type-def type-id='type-id-5077' size-in-bits='64' id='type-id-5048'/>
-      <pointer-type-def type-id='type-id-5078' size-in-bits='64' id='type-id-5062'/>
-      <pointer-type-def type-id='type-id-5079' size-in-bits='64' id='type-id-5054'/>
-      <pointer-type-def type-id='type-id-5080' size-in-bits='64' id='type-id-5051'/>
-      <function-decl name='drm_gem_fb_destroy' mangled-name='drm_gem_fb_destroy' filepath='drivers/gpu/drm/drm_gem_framebuffer_helper.c' line='97' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_gem_fb_destroy'>
-        <parameter type-id='type-id-4609' name='fb' filepath='drivers/gpu/drm/drm_gem_framebuffer_helper.c' line='97' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='drm_gem_fb_create_handle' mangled-name='drm_gem_fb_create_handle' filepath='drivers/gpu/drm/drm_gem_framebuffer_helper.c' line='122' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_gem_fb_create_handle'>
-        <parameter type-id='type-id-4609' name='fb' filepath='drivers/gpu/drm/drm_gem_framebuffer_helper.c' line='122' column='1'/>
-        <parameter type-id='type-id-4615' name='file' filepath='drivers/gpu/drm/drm_gem_framebuffer_helper.c' line='122' column='1'/>
-        <parameter type-id='type-id-482' name='handle' filepath='drivers/gpu/drm/drm_gem_framebuffer_helper.c' line='123' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-5068'>
-        <parameter type-id='type-id-5034'/>
-        <parameter type-id='type-id-5035'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5069'>
-        <parameter type-id='type-id-5034'/>
-        <parameter type-id='type-id-2160'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5070'>
-        <parameter type-id='type-id-5034'/>
-        <parameter type-id='type-id-1209'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5071'>
-        <parameter type-id='type-id-5035'/>
-        <parameter type-id='type-id-2160'/>
-        <return type-id='type-id-922'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5072'>
-        <parameter type-id='type-id-5065'/>
-        <parameter type-id='type-id-16'/>
-        <parameter type-id='type-id-1510'/>
-        <parameter type-id='type-id-1510'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5073'>
-        <parameter type-id='type-id-5034'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5074'>
-        <parameter type-id='type-id-5034'/>
-        <parameter type-id='type-id-5035'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5075'>
-        <parameter type-id='type-id-5034'/>
-        <parameter type-id='type-id-16'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5076'>
-        <parameter type-id='type-id-5034'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5077'>
-        <parameter type-id='type-id-5035'/>
-        <parameter type-id='type-id-922'/>
-        <parameter type-id='type-id-2160'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5078'>
-        <parameter type-id='type-id-4651'/>
-        <parameter type-id='type-id-5066'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5079'>
-        <parameter type-id='type-id-5034'/>
-        <return type-id='type-id-15'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5080'>
-        <parameter type-id='type-id-5034'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-15'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_cache.c' language='LANG_C89'>
-      <function-decl name='drm_clflush_pages' mangled-name='drm_clflush_pages' filepath='drivers/gpu/drm/drm_cache.c' line='81' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_clflush_pages'>
-        <parameter type-id='type-id-923' name='pages' filepath='drivers/gpu/drm/drm_cache.c' line='81' column='1'/>
-        <parameter type-id='type-id-16' name='num_pages' filepath='drivers/gpu/drm/drm_cache.c' line='81' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_file.c' language='LANG_C89'>
-      <function-decl name='drm_open' mangled-name='drm_open' filepath='drivers/gpu/drm/drm_file.c' line='298' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_open'>
-        <parameter type-id='type-id-1129' name='inode' filepath='drivers/gpu/drm/drm_file.c' line='298' column='1'/>
-        <parameter type-id='type-id-83' name='filp' filepath='drivers/gpu/drm/drm_file.c' line='298' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='drm_release' mangled-name='drm_release' filepath='drivers/gpu/drm/drm_file.c' line='466' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_release'>
-        <parameter type-id='type-id-1129' name='inode' filepath='drivers/gpu/drm/drm_file.c' line='466' column='1'/>
-        <parameter type-id='type-id-83' name='filp' filepath='drivers/gpu/drm/drm_file.c' line='466' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='drm_read' mangled-name='drm_read' filepath='drivers/gpu/drm/drm_file.c' line='519' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_read'>
-        <parameter type-id='type-id-83' name='filp' filepath='drivers/gpu/drm/drm_file.c' line='519' column='1'/>
-        <parameter type-id='type-id-2' name='buffer' filepath='drivers/gpu/drm/drm_file.c' line='519' column='1'/>
-        <parameter type-id='type-id-84' name='count' filepath='drivers/gpu/drm/drm_file.c' line='520' column='1'/>
-        <parameter type-id='type-id-85' name='offset' filepath='drivers/gpu/drm/drm_file.c' line='520' column='1'/>
-        <return type-id='type-id-86'/>
-      </function-decl>
-      <function-decl name='drm_poll' mangled-name='drm_poll' filepath='drivers/gpu/drm/drm_file.c' line='606' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_poll'>
-        <parameter type-id='type-id-83' name='filp' filepath='drivers/gpu/drm/drm_file.c' line='606' column='1'/>
-        <parameter type-id='type-id-879' name='wait' filepath='drivers/gpu/drm/drm_file.c' line='606' column='1'/>
-        <return type-id='type-id-880'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_gem.c' language='LANG_C89'>
-      <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/linux/fs.h' line='624' column='1' id='type-id-5081'>
+      <union-decl name='__anonymous_union__3' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/linux/bpf.h' line='298' column='1' id='type-id-8185'>
         <data-member access='private'>
-          <var-decl name='i_nlink' type-id='type-id-893' visibility='default' filepath='include/linux/fs.h' line='625' column='1'/>
+          <var-decl name='work' type-id='type-id-149' visibility='default' filepath='include/linux/bpf.h' line='299' column='1'/>
         </data-member>
         <data-member access='private'>
-          <var-decl name='__i_nlink' type-id='type-id-5' visibility='default' filepath='include/linux/fs.h' line='626' column='1'/>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/linux/bpf.h' line='300' column='1'/>
         </data-member>
       </union-decl>
-      <function-decl name='drm_gem_object_init' mangled-name='drm_gem_object_init' filepath='drivers/gpu/drm/drm_gem.c' line='135' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_gem_object_init'>
-        <parameter type-id='type-id-4446' name='dev' filepath='drivers/gpu/drm/drm_gem.c' line='135' column='1'/>
-        <parameter type-id='type-id-5067' name='obj' filepath='drivers/gpu/drm/drm_gem.c' line='136' column='1'/>
-        <parameter type-id='type-id-84' name='size' filepath='drivers/gpu/drm/drm_gem.c' line='136' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='drm_gem_object_lookup' mangled-name='drm_gem_object_lookup' filepath='drivers/gpu/drm/drm_gem.c' line='637' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_gem_object_lookup'>
-        <parameter type-id='type-id-4615' name='filp' filepath='drivers/gpu/drm/drm_gem.c' line='637' column='1'/>
-        <parameter type-id='type-id-7' name='handle' filepath='drivers/gpu/drm/drm_gem.c' line='637' column='1'/>
-        <return type-id='type-id-5067'/>
-      </function-decl>
-      <function-decl name='drm_gem_object_put_unlocked' mangled-name='drm_gem_object_put_unlocked' filepath='drivers/gpu/drm/drm_gem.c' line='858' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_gem_object_put_unlocked'>
-        <parameter type-id='type-id-5067' name='obj' filepath='drivers/gpu/drm/drm_gem.c' line='858' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='drm_gem_handle_create' mangled-name='drm_gem_handle_create' filepath='drivers/gpu/drm/drm_gem.c' line='446' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_gem_handle_create'>
-        <parameter type-id='type-id-4615' name='file_priv' filepath='drivers/gpu/drm/drm_gem.c' line='446' column='1'/>
-        <parameter type-id='type-id-5067' name='obj' filepath='drivers/gpu/drm/drm_gem.c' line='447' column='1'/>
-        <parameter type-id='type-id-1567' name='handlep' filepath='drivers/gpu/drm/drm_gem.c' line='448' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='drm_gem_object_release' mangled-name='drm_gem_object_release' filepath='drivers/gpu/drm/drm_gem.c' line='811' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_gem_object_release'>
-        <parameter type-id='type-id-5067' name='obj' filepath='drivers/gpu/drm/drm_gem.c' line='811' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_drv.c' language='LANG_C89'>
-
-      <array-type-def dimensions='1' type-id='type-id-5082' size-in-bits='7360' id='type-id-5083'>
-        <subrange length='23' type-id='type-id-9' id='type-id-5084'/>
-
-      </array-type-def>
-      <class-decl name='drm_lock_data' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/drm/drm_auth.h' line='37' column='1' id='type-id-5085'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='hw_lock' type-id='type-id-4577' visibility='default' filepath='include/drm/drm_auth.h' line='38' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='file_priv' type-id='type-id-4615' visibility='default' filepath='include/drm/drm_auth.h' line='39' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='lock_queue' type-id='type-id-225' visibility='default' filepath='include/drm/drm_auth.h' line='40' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='lock_time' type-id='type-id-16' visibility='default' filepath='include/drm/drm_auth.h' line='41' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='spinlock' type-id='type-id-247' visibility='default' filepath='include/drm/drm_auth.h' line='42' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='kernel_waiters' type-id='type-id-1343' visibility='default' filepath='include/drm/drm_auth.h' line='43' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='user_waiters' type-id='type-id-1343' visibility='default' filepath='include/drm/drm_auth.h' line='44' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='idle_has_lock' type-id='type-id-17' visibility='default' filepath='include/drm/drm_auth.h' line='45' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_buf_entry' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/drm/drm_legacy.h' line='86' column='1' id='type-id-5082'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='buf_size' type-id='type-id-17' visibility='default' filepath='include/drm/drm_legacy.h' line='87' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='buf_count' type-id='type-id-17' visibility='default' filepath='include/drm/drm_legacy.h' line='88' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='buflist' type-id='type-id-5086' visibility='default' filepath='include/drm/drm_legacy.h' line='89' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='seg_count' type-id='type-id-17' visibility='default' filepath='include/drm/drm_legacy.h' line='90' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='page_order' type-id='type-id-17' visibility='default' filepath='include/drm/drm_legacy.h' line='91' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='seglist' type-id='type-id-5087' visibility='default' filepath='include/drm/drm_legacy.h' line='92' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='low_mark' type-id='type-id-17' visibility='default' filepath='include/drm/drm_legacy.h' line='94' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='high_mark' type-id='type-id-17' visibility='default' filepath='include/drm/drm_legacy.h' line='95' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='drm_buf' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/drm/drm_legacy.h' line='50' column='1' id='type-id-5088'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='idx' type-id='type-id-17' visibility='default' filepath='include/drm/drm_legacy.h' line='51' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='total' type-id='type-id-17' visibility='default' filepath='include/drm/drm_legacy.h' line='52' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='order' type-id='type-id-17' visibility='default' filepath='include/drm/drm_legacy.h' line='53' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='used' type-id='type-id-17' visibility='default' filepath='include/drm/drm_legacy.h' line='54' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='offset' type-id='type-id-16' visibility='default' filepath='include/drm/drm_legacy.h' line='55' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='address' type-id='type-id-15' visibility='default' filepath='include/drm/drm_legacy.h' line='56' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='bus_address' type-id='type-id-16' visibility='default' filepath='include/drm/drm_legacy.h' line='57' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='next' type-id='type-id-5086' visibility='default' filepath='include/drm/drm_legacy.h' line='58' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='waiting' type-id='type-id-5089' visibility='default' filepath='include/drm/drm_legacy.h' line='59' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='pending' type-id='type-id-5089' visibility='default' filepath='include/drm/drm_legacy.h' line='60' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='file_priv' type-id='type-id-4615' visibility='default' filepath='include/drm/drm_legacy.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='context' type-id='type-id-17' visibility='default' filepath='include/drm/drm_legacy.h' line='62' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='while_locked' type-id='type-id-17' visibility='default' filepath='include/drm/drm_legacy.h' line='63' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='list' type-id='type-id-5090' visibility='default' filepath='include/drm/drm_legacy.h' line='71' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='dev_priv_size' type-id='type-id-17' visibility='default' filepath='include/drm/drm_legacy.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='dev_private' type-id='type-id-15' visibility='default' filepath='include/drm/drm_legacy.h' line='74' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='__anonymous_enum__' is-anonymous='yes' filepath='include/drm/drm_legacy.h' line='64' column='1' id='type-id-5090'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='DRM_LIST_NONE' value='0'/>
-        <enumerator name='DRM_LIST_FREE' value='1'/>
-        <enumerator name='DRM_LIST_WAIT' value='2'/>
-        <enumerator name='DRM_LIST_PEND' value='3'/>
-        <enumerator name='DRM_LIST_PRIO' value='4'/>
-        <enumerator name='DRM_LIST_RECLAIM' value='5'/>
-      </enum-decl>
-      <class-decl name='drm_dma_handle' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/drm/drm_legacy.h' line='77' column='1' id='type-id-5091'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='busaddr' type-id='type-id-2083' visibility='default' filepath='include/drm/drm_legacy.h' line='78' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='vaddr' type-id='type-id-15' visibility='default' filepath='include/drm/drm_legacy.h' line='79' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='size' type-id='type-id-84' visibility='default' filepath='include/drm/drm_legacy.h' line='80' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='__anonymous_enum__1' is-anonymous='yes' filepath='include/drm/drm_legacy.h' line='110' column='1' id='type-id-5092'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='_DRM_DMA_USE_AGP' value='1'/>
-        <enumerator name='_DRM_DMA_USE_SG' value='2'/>
-        <enumerator name='_DRM_DMA_USE_FB' value='4'/>
-        <enumerator name='_DRM_DMA_USE_PCI_RO' value='8'/>
-      </enum-decl>
-      <enum-decl name='drm_map_type' filepath='include/uapi/drm/drm.h' line='188' column='1' id='type-id-5093'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='_DRM_FRAME_BUFFER' value='0'/>
-        <enumerator name='_DRM_REGISTERS' value='1'/>
-        <enumerator name='_DRM_SHM' value='2'/>
-        <enumerator name='_DRM_AGP' value='3'/>
-        <enumerator name='_DRM_SCATTER_GATHER' value='4'/>
-        <enumerator name='_DRM_CONSISTENT' value='5'/>
-      </enum-decl>
-      <enum-decl name='drm_map_flags' filepath='include/uapi/drm/drm.h' line='200' column='1' id='type-id-5094'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='_DRM_RESTRICTED' value='1'/>
-        <enumerator name='_DRM_READ_ONLY' value='2'/>
-        <enumerator name='_DRM_LOCKED' value='4'/>
-        <enumerator name='_DRM_KERNEL' value='8'/>
-        <enumerator name='_DRM_WRITE_COMBINING' value='16'/>
-        <enumerator name='_DRM_CONTAINS_LOCK' value='32'/>
-        <enumerator name='_DRM_REMOVABLE' value='64'/>
-        <enumerator name='_DRM_DRIVER' value='128'/>
-      </enum-decl>
-      <pointer-type-def type-id='type-id-5088' size-in-bits='64' id='type-id-5086'/>
-      <pointer-type-def type-id='type-id-5086' size-in-bits='64' id='type-id-5095'/>
-      <pointer-type-def type-id='type-id-5091' size-in-bits='64' id='type-id-5096'/>
-      <pointer-type-def type-id='type-id-5096' size-in-bits='64' id='type-id-5087'/>
-      <qualified-type-def type-id='type-id-17' volatile='yes' id='type-id-5089'/>
-      <function-decl name='drm_dev_put' mangled-name='drm_dev_put' filepath='drivers/gpu/drm/drm_drv.c' line='698' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dev_put'>
-        <parameter type-id='type-id-4446' name='dev' filepath='drivers/gpu/drm/drm_drv.c' line='698' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='drm_put_dev' mangled-name='drm_put_dev' filepath='drivers/gpu/drm/drm_drv.c' line='310' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_put_dev'>
-        <parameter type-id='type-id-4446' name='dev' filepath='drivers/gpu/drm/drm_drv.c' line='310' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='drm_dev_set_unique' mangled-name='drm_dev_set_unique' filepath='drivers/gpu/drm/drm_drv.c' line='898' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dev_set_unique'>
-        <parameter type-id='type-id-4446' name='dev' filepath='drivers/gpu/drm/drm_drv.c' line='898' column='1'/>
-        <parameter type-id='type-id-4' name='name' filepath='drivers/gpu/drm/drm_drv.c' line='898' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='drm_dev_alloc' mangled-name='drm_dev_alloc' filepath='drivers/gpu/drm/drm_drv.c' line='640' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dev_alloc'>
-        <parameter type-id='type-id-4495' name='driver' filepath='drivers/gpu/drm/drm_drv.c' line='640' column='1'/>
-        <parameter type-id='type-id-240' name='parent' filepath='drivers/gpu/drm/drm_drv.c' line='641' column='1'/>
-        <return type-id='type-id-4446'/>
-      </function-decl>
-      <function-decl name='drm_dev_register' mangled-name='drm_dev_register' filepath='drivers/gpu/drm/drm_drv.c' line='794' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dev_register'>
-        <parameter type-id='type-id-4446' name='dev' filepath='drivers/gpu/drm/drm_drv.c' line='794' column='1'/>
-        <parameter type-id='type-id-16' name='flags' filepath='drivers/gpu/drm/drm_drv.c' line='794' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_ioctl.c' language='LANG_C89'>
-      <function-decl name='drm_ioctl' mangled-name='drm_ioctl' filepath='drivers/gpu/drm/drm_ioctl.c' line='775' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_ioctl'>
-        <parameter type-id='type-id-83' name='filp' filepath='drivers/gpu/drm/drm_ioctl.c' line='775' column='1'/>
-        <parameter type-id='type-id-5' name='cmd' filepath='drivers/gpu/drm/drm_ioctl.c' line='776' column='1'/>
-        <parameter type-id='type-id-16' name='arg' filepath='drivers/gpu/drm/drm_ioctl.c' line='776' column='1'/>
-        <return type-id='type-id-192'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_mode_config.c' language='LANG_C89'>
-      <function-decl name='drm_mode_config_init' mangled-name='drm_mode_config_init' filepath='drivers/gpu/drm/drm_mode_config.c' line='371' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_mode_config_init'>
-        <parameter type-id='type-id-4446' name='dev' filepath='drivers/gpu/drm/drm_mode_config.c' line='371' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='drm_mode_config_reset' mangled-name='drm_mode_config_reset' filepath='drivers/gpu/drm/drm_mode_config.c' line='176' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_mode_config_reset'>
-        <parameter type-id='type-id-4446' name='dev' filepath='drivers/gpu/drm/drm_mode_config.c' line='176' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='drm_mode_config_cleanup' mangled-name='drm_mode_config_cleanup' filepath='drivers/gpu/drm/drm_mode_config.c' line='417' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_mode_config_cleanup'>
-        <parameter type-id='type-id-4446' name='dev' filepath='drivers/gpu/drm/drm_mode_config.c' line='417' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_sysfs.c' language='LANG_C89'>
-      <function-decl name='drm_class_device_register' mangled-name='drm_class_device_register' filepath='drivers/gpu/drm/drm_sysfs.c' line='380' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_class_device_register'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/gpu/drm/drm_sysfs.c' line='380' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='drm_class_device_unregister' mangled-name='drm_class_device_unregister' filepath='drivers/gpu/drm/drm_sysfs.c' line='398' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_class_device_unregister'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/gpu/drm/drm_sysfs.c' line='398' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_hashtab.c' language='LANG_C89'>
-      <class-decl name='drm_hash_item' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/drm/drm_hashtab.h' line='42' column='1' id='type-id-5097'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='head' type-id='type-id-520' visibility='default' filepath='include/drm/drm_hashtab.h' line='43' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='key' type-id='type-id-16' visibility='default' filepath='include/drm/drm_hashtab.h' line='44' column='1'/>
-        </data-member>
-      </class-decl>
-      <pointer-type-def type-id='type-id-5097' size-in-bits='64' id='type-id-5098'/>
-      <pointer-type-def type-id='type-id-5098' size-in-bits='64' id='type-id-5099'/>
-      <pointer-type-def type-id='type-id-4498' size-in-bits='64' id='type-id-5100'/>
-      <function-decl name='drm_ht_create' mangled-name='drm_ht_create' filepath='drivers/gpu/drm/drm_hashtab.c' line='41' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_ht_create'>
-        <parameter type-id='type-id-5100' name='ht' filepath='drivers/gpu/drm/drm_hashtab.c' line='41' column='1'/>
-        <parameter type-id='type-id-5' name='order' filepath='drivers/gpu/drm/drm_hashtab.c' line='41' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='drm_ht_insert_item' mangled-name='drm_ht_insert_item' filepath='drivers/gpu/drm/drm_hashtab.c' line='109' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_ht_insert_item'>
-        <parameter type-id='type-id-5100' name='ht' filepath='drivers/gpu/drm/drm_hashtab.c' line='109' column='1'/>
-        <parameter type-id='type-id-5098' name='item' filepath='drivers/gpu/drm/drm_hashtab.c' line='109' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='drm_ht_just_insert_please' mangled-name='drm_ht_just_insert_please' filepath='drivers/gpu/drm/drm_hashtab.c' line='140' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_ht_just_insert_please'>
-        <parameter type-id='type-id-5100' name='ht' filepath='drivers/gpu/drm/drm_hashtab.c' line='140' column='1'/>
-        <parameter type-id='type-id-5098' name='item' filepath='drivers/gpu/drm/drm_hashtab.c' line='140' column='1'/>
-        <parameter type-id='type-id-16' name='seed' filepath='drivers/gpu/drm/drm_hashtab.c' line='141' column='1'/>
-        <parameter type-id='type-id-17' name='bits' filepath='drivers/gpu/drm/drm_hashtab.c' line='141' column='1'/>
-        <parameter type-id='type-id-17' name='shift' filepath='drivers/gpu/drm/drm_hashtab.c' line='141' column='1'/>
-        <parameter type-id='type-id-16' name='add' filepath='drivers/gpu/drm/drm_hashtab.c' line='142' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='drm_ht_find_item' mangled-name='drm_ht_find_item' filepath='drivers/gpu/drm/drm_hashtab.c' line='165' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_ht_find_item'>
-        <parameter type-id='type-id-5100' name='ht' filepath='drivers/gpu/drm/drm_hashtab.c' line='165' column='1'/>
-        <parameter type-id='type-id-16' name='key' filepath='drivers/gpu/drm/drm_hashtab.c' line='165' column='1'/>
-        <parameter type-id='type-id-5099' name='item' filepath='drivers/gpu/drm/drm_hashtab.c' line='166' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='drm_ht_remove_item' mangled-name='drm_ht_remove_item' filepath='drivers/gpu/drm/drm_hashtab.c' line='191' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_ht_remove_item'>
-        <parameter type-id='type-id-5100' name='ht' filepath='drivers/gpu/drm/drm_hashtab.c' line='191' column='1'/>
-        <parameter type-id='type-id-5098' name='item' filepath='drivers/gpu/drm/drm_hashtab.c' line='191' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='drm_ht_remove' mangled-name='drm_ht_remove' filepath='drivers/gpu/drm/drm_hashtab.c' line='198' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_ht_remove'>
-        <parameter type-id='type-id-5100' name='ht' filepath='drivers/gpu/drm/drm_hashtab.c' line='198' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_mm.c' language='LANG_C89'>
-      <enum-decl name='drm_mm_insert_mode' filepath='include/drm/drm_mm.h' line='68' column='1' id='type-id-5101'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='DRM_MM_INSERT_BEST' value='0'/>
-        <enumerator name='DRM_MM_INSERT_LOW' value='1'/>
-        <enumerator name='DRM_MM_INSERT_HIGH' value='2'/>
-        <enumerator name='DRM_MM_INSERT_EVICT' value='3'/>
-        <enumerator name='DRM_MM_INSERT_ONCE' value='2147483648'/>
-        <enumerator name='DRM_MM_INSERT_HIGHEST' value='2147483650'/>
-        <enumerator name='DRM_MM_INSERT_LOWEST' value='2147483649'/>
-      </enum-decl>
-      <qualified-type-def type-id='type-id-5038' const='yes' id='type-id-5102'/>
-      <pointer-type-def type-id='type-id-5102' size-in-bits='64' id='type-id-5103'/>
-      <qualified-type-def type-id='type-id-5037' const='yes' id='type-id-5104'/>
-      <pointer-type-def type-id='type-id-5036' size-in-bits='64' id='type-id-5105'/>
-      <qualified-type-def type-id='type-id-5105' const='yes' id='type-id-5106'/>
-      <function-decl name='drm_mm_insert_node_in_range' mangled-name='drm_mm_insert_node_in_range' filepath='drivers/gpu/drm/drm_mm.c' line='474' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_mm_insert_node_in_range'>
-        <parameter type-id='type-id-5104' name='mm' filepath='drivers/gpu/drm/drm_mm.c' line='474' column='1'/>
-        <parameter type-id='type-id-5106' name='node' filepath='drivers/gpu/drm/drm_mm.c' line='475' column='1'/>
-        <parameter type-id='type-id-40' name='size' filepath='drivers/gpu/drm/drm_mm.c' line='476' column='1'/>
-        <parameter type-id='type-id-40' name='alignment' filepath='drivers/gpu/drm/drm_mm.c' line='476' column='1'/>
-        <parameter type-id='type-id-16' name='color' filepath='drivers/gpu/drm/drm_mm.c' line='477' column='1'/>
-        <parameter type-id='type-id-40' name='range_start' filepath='drivers/gpu/drm/drm_mm.c' line='478' column='1'/>
-        <parameter type-id='type-id-40' name='range_end' filepath='drivers/gpu/drm/drm_mm.c' line='478' column='1'/>
-        <parameter type-id='type-id-5101' name='mode' filepath='drivers/gpu/drm/drm_mm.c' line='479' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='drm_mm_remove_node' mangled-name='drm_mm_remove_node' filepath='drivers/gpu/drm/drm_mm.c' line='582' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_mm_remove_node'>
-        <parameter type-id='type-id-5105' name='node' filepath='drivers/gpu/drm/drm_mm.c' line='582' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='drm_mm_init' mangled-name='drm_mm_init' filepath='drivers/gpu/drm/drm_mm.c' line='917' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_mm_init'>
-        <parameter type-id='type-id-5037' name='mm' filepath='drivers/gpu/drm/drm_mm.c' line='917' column='1'/>
-        <parameter type-id='type-id-40' name='start' filepath='drivers/gpu/drm/drm_mm.c' line='917' column='1'/>
-        <parameter type-id='type-id-40' name='size' filepath='drivers/gpu/drm/drm_mm.c' line='917' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='drm_mm_takedown' mangled-name='drm_mm_takedown' filepath='drivers/gpu/drm/drm_mm.c' line='947' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_mm_takedown'>
-        <parameter type-id='type-id-5037' name='mm' filepath='drivers/gpu/drm/drm_mm.c' line='947' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='drm_mm_print' mangled-name='drm_mm_print' filepath='drivers/gpu/drm/drm_mm.c' line='973' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_mm_print'>
-        <parameter type-id='type-id-5103' name='mm' filepath='drivers/gpu/drm/drm_mm.c' line='973' column='1'/>
-        <parameter type-id='type-id-4867' name='p' filepath='drivers/gpu/drm/drm_mm.c' line='973' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_crtc.c' language='LANG_C89'>
-      <class-decl name='drm_encoder' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-5107'/>
-      <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/drm/drm_vblank.h' line='57' column='1' id='type-id-5108'>
+      <union-decl name='__anonymous_union__4' is-anonymous='yes' visibility='default' filepath='include/linux/filter.h' line='502' column='1' id='type-id-8186'>
         <data-member access='private'>
-          <var-decl name='base' type-id='type-id-4689' visibility='default' filepath='include/drm/drm_vblank.h' line='61' column='1'/>
+          <var-decl name='insns' type-id='type-id-6434' visibility='default' filepath='include/linux/filter.h' line='503' column='1'/>
         </data-member>
         <data-member access='private'>
-          <var-decl name='vbl' type-id='type-id-4690' visibility='default' filepath='include/drm/drm_vblank.h' line='71' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='seq' type-id='type-id-4691' visibility='default' filepath='include/drm/drm_vblank.h' line='76' column='1'/>
+          <var-decl name='insnsi' type-id='type-id-6388' visibility='default' filepath='include/linux/filter.h' line='504' column='1'/>
         </data-member>
       </union-decl>
-      <pointer-type-def type-id='type-id-5107' size-in-bits='64' id='type-id-5109'/>
-      <function-decl name='drm_crtc_init_with_planes' mangled-name='drm_crtc_init_with_planes' filepath='drivers/gpu/drm/drm_crtc.c' line='266' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_crtc_init_with_planes'>
-        <parameter type-id='type-id-4446' name='dev' filepath='drivers/gpu/drm/drm_crtc.c' line='266' column='1'/>
-        <parameter type-id='type-id-4623' name='crtc' filepath='drivers/gpu/drm/drm_crtc.c' line='266' column='1'/>
-        <parameter type-id='type-id-4626' name='primary' filepath='drivers/gpu/drm/drm_crtc.c' line='267' column='1'/>
-        <parameter type-id='type-id-4626' name='cursor' filepath='drivers/gpu/drm/drm_crtc.c' line='268' column='1'/>
-        <parameter type-id='type-id-4627' name='funcs' filepath='drivers/gpu/drm/drm_crtc.c' line='269' column='1'/>
-        <parameter type-id='type-id-4' name='name' filepath='drivers/gpu/drm/drm_crtc.c' line='270' column='1'/>
-        <parameter is-variadic='yes'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='drm_crtc_cleanup' mangled-name='drm_crtc_cleanup' filepath='drivers/gpu/drm/drm_crtc.c' line='354' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_crtc_cleanup'>
-        <parameter type-id='type-id-4623' name='crtc' filepath='drivers/gpu/drm/drm_crtc.c' line='354' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_debugfs.c' language='LANG_C89'>
-      <class-decl name='drm_info_list' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/drm/drm_debugfs.h' line='41' column='1' id='type-id-5110'>
+      <class-decl name='__anonymous_struct__2' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/cpu_rmap.h' line='31' column='1' id='type-id-8172'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/drm/drm_debugfs.h' line='43' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='show' type-id='type-id-311' visibility='default' filepath='include/drm/drm_debugfs.h' line='51' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='driver_features' type-id='type-id-7' visibility='default' filepath='include/drm/drm_debugfs.h' line='53' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='data' type-id='type-id-15' visibility='default' filepath='include/drm/drm_debugfs.h' line='55' column='1'/>
-        </data-member>
-      </class-decl>
-      <qualified-type-def type-id='type-id-5110' const='yes' id='type-id-5111'/>
-      <pointer-type-def type-id='type-id-5111' size-in-bits='64' id='type-id-5112'/>
-      <function-decl name='drm_debugfs_create_files' mangled-name='drm_debugfs_create_files' filepath='drivers/gpu/drm/drm_debugfs.c' line='83' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_debugfs_create_files'>
-        <parameter type-id='type-id-5112' name='files' filepath='drivers/gpu/drm/drm_debugfs.c' line='83' column='1'/>
-        <parameter type-id='type-id-17' name='count' filepath='drivers/gpu/drm/drm_debugfs.c' line='83' column='1'/>
-        <parameter type-id='type-id-23' name='root' filepath='drivers/gpu/drm/drm_debugfs.c' line='84' column='1'/>
-        <parameter type-id='type-id-4496' name='minor' filepath='drivers/gpu/drm/drm_debugfs.c' line='84' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_edid.c' language='LANG_C89'>
-      <array-type-def dimensions='1' type-id='type-id-5113' size-in-bits='96' id='type-id-5114'>
-        <subrange length='4' type-id='type-id-9' id='type-id-107'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-5115' size-in-bits='576' id='type-id-5116'>
-        <subrange length='4' type-id='type-id-9' id='type-id-107'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-5117' size-in-bits='96' id='type-id-5118'>
-        <subrange length='6' type-id='type-id-9' id='type-id-191'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-5117' size-in-bits='128' id='type-id-5119'>
-        <subrange length='8' type-id='type-id-9' id='type-id-928'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-214' size-in-bits='104' id='type-id-5120'>
-        <subrange length='13' type-id='type-id-9' id='type-id-201'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-214' size-in-bits='16' id='type-id-5121'>
-        <subrange length='2' type-id='type-id-9' id='type-id-128'/>
-
-      </array-type-def>
-      <class-decl name='edid' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/drm/drm_edid.h' line='282' column='1' id='type-id-5005'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='header' type-id='type-id-1186' visibility='default' filepath='include/drm/drm_edid.h' line='283' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='mfg_id' type-id='type-id-5121' visibility='default' filepath='include/drm/drm_edid.h' line='285' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='80'>
-          <var-decl name='prod_code' type-id='type-id-5121' visibility='default' filepath='include/drm/drm_edid.h' line='286' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='serial' type-id='type-id-7' visibility='default' filepath='include/drm/drm_edid.h' line='287' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='mfg_week' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='288' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='136'>
-          <var-decl name='mfg_year' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='289' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='144'>
-          <var-decl name='version' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='291' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='152'>
-          <var-decl name='revision' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='292' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='input' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='294' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='168'>
-          <var-decl name='width_cm' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='295' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='176'>
-          <var-decl name='height_cm' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='296' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='184'>
-          <var-decl name='gamma' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='297' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='features' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='298' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='200'>
-          <var-decl name='red_green_lo' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='300' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='208'>
-          <var-decl name='black_white_lo' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='301' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='216'>
-          <var-decl name='red_x' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='302' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='red_y' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='303' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='232'>
-          <var-decl name='green_x' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='304' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='240'>
-          <var-decl name='green_y' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='305' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='248'>
-          <var-decl name='blue_x' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='306' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='blue_y' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='307' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='264'>
-          <var-decl name='white_x' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='308' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='272'>
-          <var-decl name='white_y' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='309' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='280'>
-          <var-decl name='established_timings' type-id='type-id-5122' visibility='default' filepath='include/drm/drm_edid.h' line='311' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='304'>
-          <var-decl name='standard_timings' type-id='type-id-5119' visibility='default' filepath='include/drm/drm_edid.h' line='313' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='432'>
-          <var-decl name='detailed_timings' type-id='type-id-5116' visibility='default' filepath='include/drm/drm_edid.h' line='315' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1008'>
-          <var-decl name='extensions' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='317' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1016'>
-          <var-decl name='checksum' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='319' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='est_timings' size-in-bits='24' is-struct='yes' visibility='default' filepath='include/drm/drm_edid.h' line='43' column='1' id='type-id-5122'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='t1' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='44' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='t2' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='45' column='1'/>
+          <var-decl name='index' type-id='type-id-289' visibility='default' filepath='include/linux/cpu_rmap.h' line='32' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='mfg_rsvd' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='46' column='1'/>
+          <var-decl name='dist' type-id='type-id-289' visibility='default' filepath='include/linux/cpu_rmap.h' line='33' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='std_timing' size-in-bits='16' is-struct='yes' visibility='default' filepath='include/drm/drm_edid.h' line='57' column='1' id='type-id-5117'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='hsize' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='58' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='vfreq_aspect' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='59' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='detailed_timing' size-in-bits='144' is-struct='yes' visibility='default' filepath='include/drm/drm_edid.h' line='164' column='1' id='type-id-5115'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='pixel_clock' type-id='type-id-5123' visibility='default' filepath='include/drm/drm_edid.h' line='165' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='data' type-id='type-id-5124' visibility='default' filepath='include/drm/drm_edid.h' line='169' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='__le16' type-id='type-id-108' filepath='include/uapi/linux/types.h' line='29' column='1' id='type-id-5123'/>
-      <union-decl name='__anonymous_union__' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/drm/drm_edid.h' line='166' column='1' id='type-id-5124'>
-        <data-member access='private'>
-          <var-decl name='pixel_data' type-id='type-id-5125' visibility='default' filepath='include/drm/drm_edid.h' line='167' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='other_data' type-id='type-id-5126' visibility='default' filepath='include/drm/drm_edid.h' line='168' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='detailed_pixel_timing' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/drm/drm_edid.h' line='69' column='1' id='type-id-5125'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='hactive_lo' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='70' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='hblank_lo' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='71' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='hactive_hblank_hi' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='24'>
-          <var-decl name='vactive_lo' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='vblank_lo' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='74' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='40'>
-          <var-decl name='vactive_vblank_hi' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='75' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='hsync_offset_lo' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='76' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='56'>
-          <var-decl name='hsync_pulse_width_lo' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='77' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='vsync_offset_pulse_width_lo' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='78' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='72'>
-          <var-decl name='hsync_vsync_offset_pulse_width_hi' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='79' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='80'>
-          <var-decl name='width_mm_lo' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='88'>
-          <var-decl name='height_mm_lo' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='81' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='width_height_mm_hi' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='82' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='104'>
-          <var-decl name='hborder' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='83' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='112'>
-          <var-decl name='vborder' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='84' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='120'>
-          <var-decl name='misc' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='85' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='detailed_non_pixel' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/drm/drm_edid.h' line='139' column='1' id='type-id-5126'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='pad1' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='140' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='type' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='141' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='pad2' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='144' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='24'>
-          <var-decl name='data' type-id='type-id-5127' visibility='default' filepath='include/drm/drm_edid.h' line='151' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__1' size-in-bits='104' is-anonymous='yes' visibility='default' filepath='include/drm/drm_edid.h' line='145' column='1' id='type-id-5127'>
-        <data-member access='private'>
-          <var-decl name='str' type-id='type-id-5128' visibility='default' filepath='include/drm/drm_edid.h' line='146' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='range' type-id='type-id-5129' visibility='default' filepath='include/drm/drm_edid.h' line='147' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='color' type-id='type-id-5130' visibility='default' filepath='include/drm/drm_edid.h' line='148' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='timings' type-id='type-id-5118' visibility='default' filepath='include/drm/drm_edid.h' line='149' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='cvt' type-id='type-id-5114' visibility='default' filepath='include/drm/drm_edid.h' line='150' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='detailed_data_string' size-in-bits='104' is-struct='yes' visibility='default' filepath='include/drm/drm_edid.h' line='89' column='1' id='type-id-5128'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='str' type-id='type-id-5120' visibility='default' filepath='include/drm/drm_edid.h' line='90' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='detailed_data_monitor_range' size-in-bits='104' is-struct='yes' visibility='default' filepath='include/drm/drm_edid.h' line='93' column='1' id='type-id-5129'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='min_vfreq' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='94' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='max_vfreq' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='95' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='min_hfreq_khz' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='96' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='24'>
-          <var-decl name='max_hfreq_khz' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='97' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='pixel_clock_mhz' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='98' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='40'>
-          <var-decl name='flags' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='99' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='formula' type-id='type-id-5131' visibility='default' filepath='include/drm/drm_edid.h' line='118' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__2' size-in-bits='56' is-anonymous='yes' visibility='default' filepath='include/drm/drm_edid.h' line='100' column='1' id='type-id-5131'>
-        <data-member access='private'>
-          <var-decl name='gtf2' type-id='type-id-5132' visibility='default' filepath='include/drm/drm_edid.h' line='108' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='cvt' type-id='type-id-5133' visibility='default' filepath='include/drm/drm_edid.h' line='117' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='__anonymous_struct__' size-in-bits='56' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/drm/drm_edid.h' line='101' column='1' id='type-id-5132'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='reserved' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='102' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='hfreq_start_khz' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='103' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='c' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='104' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='24'>
-          <var-decl name='m' type-id='type-id-5123' visibility='default' filepath='include/drm/drm_edid.h' line='105' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='40'>
-          <var-decl name='k' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='106' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='j' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='107' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__1' size-in-bits='56' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/drm/drm_edid.h' line='109' column='1' id='type-id-5133'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='version' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='110' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='data1' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='111' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='data2' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='112' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='24'>
-          <var-decl name='supported_aspects' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='113' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='flags' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='114' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='40'>
-          <var-decl name='supported_scalings' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='115' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='preferred_refresh' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='116' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='detailed_data_wpindex' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/drm/drm_edid.h' line='121' column='1' id='type-id-5130'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='white_yx_lo' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='122' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='white_x_hi' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='123' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='white_y_hi' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='124' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='24'>
-          <var-decl name='gamma' type-id='type-id-214' visibility='default' filepath='include/drm/drm_edid.h' line='125' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='cvt_timing' size-in-bits='24' is-struct='yes' visibility='default' filepath='include/drm/drm_edid.h' line='135' column='1' id='type-id-5113'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='code' type-id='type-id-1185' visibility='default' filepath='include/drm/drm_edid.h' line='136' column='1'/>
-        </data-member>
-      </class-decl>
-      <pointer-type-def type-id='type-id-5005' size-in-bits='64' id='type-id-5134'/>
-      <pointer-type-def type-id='type-id-5135' size-in-bits='64' id='type-id-5136'/>
-      <function-decl name='drm_add_edid_modes' mangled-name='drm_add_edid_modes' filepath='drivers/gpu/drm/drm_edid.c' line='4818' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_add_edid_modes'>
-        <parameter type-id='type-id-4444' name='connector' filepath='drivers/gpu/drm/drm_edid.c' line='4818' column='1'/>
-        <parameter type-id='type-id-5134' name='edid' filepath='drivers/gpu/drm/drm_edid.c' line='4818' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='drm_do_get_edid' mangled-name='drm_do_get_edid' filepath='drivers/gpu/drm/drm_edid.c' line='1651' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_do_get_edid'>
-        <parameter type-id='type-id-4444' name='connector' filepath='drivers/gpu/drm/drm_edid.c' line='1651' column='1'/>
-        <parameter type-id='type-id-5136' name='get_edid_block' filepath='drivers/gpu/drm/drm_edid.c' line='1652' column='1'/>
-        <parameter type-id='type-id-15' name='data' filepath='drivers/gpu/drm/drm_edid.c' line='1654' column='1'/>
-        <return type-id='type-id-5134'/>
-      </function-decl>
-      <function-decl name='drm_add_modes_noedid' mangled-name='drm_add_modes_noedid' filepath='drivers/gpu/drm/drm_edid.c' line='4897' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_add_modes_noedid'>
-        <parameter type-id='type-id-4444' name='connector' filepath='drivers/gpu/drm/drm_edid.c' line='4897' column='1'/>
-        <parameter type-id='type-id-17' name='hdisplay' filepath='drivers/gpu/drm/drm_edid.c' line='4898' column='1'/>
-        <parameter type-id='type-id-17' name='vdisplay' filepath='drivers/gpu/drm/drm_edid.c' line='4898' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='drm_set_preferred_mode' mangled-name='drm_set_preferred_mode' filepath='drivers/gpu/drm/drm_edid.c' line='4943' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_set_preferred_mode'>
-        <parameter type-id='type-id-4444' name='connector' filepath='drivers/gpu/drm/drm_edid.c' line='4943' column='1'/>
-        <parameter type-id='type-id-17' name='hpref' filepath='drivers/gpu/drm/drm_edid.c' line='4944' column='1'/>
-        <parameter type-id='type-id-17' name='vpref' filepath='drivers/gpu/drm/drm_edid.c' line='4944' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-5135'>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-3121'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-84'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_global.c' language='LANG_C89'>
-      <class-decl name='drm_global_reference' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/drm/drm_global.h' line='40' column='1' id='type-id-5137'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='global_type' type-id='type-id-5138' visibility='default' filepath='include/drm/drm_global.h' line='41' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='size' type-id='type-id-84' visibility='default' filepath='include/drm/drm_global.h' line='42' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='object' type-id='type-id-15' visibility='default' filepath='include/drm/drm_global.h' line='43' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='init' type-id='type-id-5139' visibility='default' filepath='include/drm/drm_global.h' line='44' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='release' type-id='type-id-5140' visibility='default' filepath='include/drm/drm_global.h' line='45' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='drm_global_types' filepath='include/drm/drm_global.h' line='33' column='1' id='type-id-5138'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='DRM_GLOBAL_TTM_MEM' value='0'/>
-        <enumerator name='DRM_GLOBAL_TTM_BO' value='1'/>
-        <enumerator name='DRM_GLOBAL_TTM_OBJECT' value='2'/>
-        <enumerator name='DRM_GLOBAL_NUM' value='3'/>
+      <enum-decl name='skb_free_reason' filepath='include/linux/netdevice.h' line='3494' column='1' id='type-id-8187'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='SKB_REASON_CONSUMED' value='0'/>
+        <enumerator name='SKB_REASON_DROPPED' value='1'/>
       </enum-decl>
-      <pointer-type-def type-id='type-id-5137' size-in-bits='64' id='type-id-5141'/>
-      <pointer-type-def type-id='type-id-5142' size-in-bits='64' id='type-id-5139'/>
-      <pointer-type-def type-id='type-id-5143' size-in-bits='64' id='type-id-5140'/>
-      <function-decl name='drm_global_item_ref' mangled-name='drm_global_item_ref' filepath='drivers/gpu/drm/drm_global.c' line='78' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_global_item_ref'>
-        <parameter type-id='type-id-5141' name='ref' filepath='drivers/gpu/drm/drm_global.c' line='78' column='1'/>
-        <return type-id='type-id-17'/>
+      <qualified-type-def type-id='type-id-7436' const='yes' id='type-id-8188'/>
+      <pointer-type-def type-id='type-id-8188' size-in-bits='64' id='type-id-8189'/>
+      <pointer-type-def type-id='type-id-8175' size-in-bits='64' id='type-id-8180'/>
+      <pointer-type-def type-id='type-id-8179' size-in-bits='64' id='type-id-8176'/>
+      <pointer-type-def type-id='type-id-8174' size-in-bits='64' id='type-id-8177'/>
+      <pointer-type-def type-id='type-id-8177' size-in-bits='64' id='type-id-8178'/>
+      <pointer-type-def type-id='type-id-8190' size-in-bits='64' id='type-id-8191'/>
+      <function-decl name='call_netdevice_notifiers' mangled-name='call_netdevice_notifiers' filepath='include/linux/netdevice.h' line='2520' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_netdevice_notifiers'>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-2976'/>
+        <return type-id='type-id-11'/>
       </function-decl>
-      <function-decl name='drm_global_item_unref' mangled-name='drm_global_item_unref' filepath='drivers/gpu/drm/drm_global.c' line='123' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_global_item_unref'>
-        <parameter type-id='type-id-5141' name='ref' filepath='drivers/gpu/drm/drm_global.c' line='123' column='1'/>
-        <return type-id='type-id-81'/>
+      <function-decl name='netif_rx_ni' mangled-name='netif_rx_ni' filepath='include/linux/netdevice.h' line='3544' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netif_rx_ni'>
+        <parameter type-id='type-id-513'/>
+        <return type-id='type-id-11'/>
       </function-decl>
-      <function-type size-in-bits='64' id='type-id-5142'>
-        <parameter type-id='type-id-5141' name='ref'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5143'>
-        <parameter type-id='type-id-5141'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_prime.c' language='LANG_C89'>
-      <function-decl name='drm_gem_prime_export' mangled-name='drm_gem_prime_export' filepath='drivers/gpu/drm/drm_prime.c' line='530' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_gem_prime_export'>
-        <parameter type-id='type-id-4446' name='dev' filepath='drivers/gpu/drm/drm_prime.c' line='530' column='1'/>
-        <parameter type-id='type-id-5067' name='obj' filepath='drivers/gpu/drm/drm_prime.c' line='531' column='1'/>
-        <parameter type-id='type-id-17' name='flags' filepath='drivers/gpu/drm/drm_prime.c' line='532' column='1'/>
-        <return type-id='type-id-5034'/>
+      <function-decl name='qdisc_reset' mangled-name='qdisc_reset' filepath='include/net/sch_generic.h' line='557' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='qdisc_reset'>
+        <parameter type-id='type-id-6522'/>
+        <return type-id='type-id-73'/>
       </function-decl>
-      <function-decl name='drm_gem_prime_handle_to_fd' mangled-name='drm_gem_prime_handle_to_fd' filepath='drivers/gpu/drm/drm_prime.c' line='594' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_gem_prime_handle_to_fd'>
-        <parameter type-id='type-id-4446' name='dev' filepath='drivers/gpu/drm/drm_prime.c' line='594' column='1'/>
-        <parameter type-id='type-id-4615' name='file_priv' filepath='drivers/gpu/drm/drm_prime.c' line='595' column='1'/>
-        <parameter type-id='type-id-1343' name='handle' filepath='drivers/gpu/drm/drm_prime.c' line='595' column='1'/>
-        <parameter type-id='type-id-1343' name='flags' filepath='drivers/gpu/drm/drm_prime.c' line='596' column='1'/>
-        <parameter type-id='type-id-666' name='prime_fd' filepath='drivers/gpu/drm/drm_prime.c' line='597' column='1'/>
-        <return type-id='type-id-17'/>
+      <function-decl name='nf_hook_slow' mangled-name='nf_hook_slow' filepath='include/linux/netfilter.h' line='183' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nf_hook_slow'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-8191'/>
+        <parameter type-id='type-id-8189'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
       </function-decl>
-      <function-decl name='drm_gem_prime_mmap' mangled-name='drm_gem_prime_mmap' filepath='drivers/gpu/drm/drm_prime.c' line='693' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_gem_prime_mmap'>
-        <parameter type-id='type-id-5067' name='obj' filepath='drivers/gpu/drm/drm_prime.c' line='693' column='1'/>
-        <parameter type-id='type-id-1209' name='vma' filepath='drivers/gpu/drm/drm_prime.c' line='693' column='1'/>
-        <return type-id='type-id-17'/>
+      <function-decl name='netdev_rx_handler_unregister' mangled-name='netdev_rx_handler_unregister' filepath='net/core/dev.c' line='4725' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netdev_rx_handler_unregister'>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/core/dev.c' line='4725' column='1'/>
+        <return type-id='type-id-73'/>
       </function-decl>
-      <function-decl name='drm_gem_prime_import' mangled-name='drm_gem_prime_import' filepath='drivers/gpu/drm/drm_prime.c' line='792' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_gem_prime_import'>
-        <parameter type-id='type-id-4446' name='dev' filepath='drivers/gpu/drm/drm_prime.c' line='792' column='1'/>
-        <parameter type-id='type-id-5034' name='dma_buf' filepath='drivers/gpu/drm/drm_prime.c' line='793' column='1'/>
-        <return type-id='type-id-5067'/>
+      <function-decl name='netdev_upper_dev_unlink' mangled-name='netdev_upper_dev_unlink' filepath='net/core/dev.c' line='7237' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netdev_upper_dev_unlink'>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/core/dev.c' line='7237' column='1'/>
+        <parameter type-id='type-id-2976' name='upper_dev' filepath='net/core/dev.c' line='7238' column='1'/>
+        <return type-id='type-id-73'/>
       </function-decl>
-      <function-decl name='drm_gem_prime_fd_to_handle' mangled-name='drm_gem_prime_fd_to_handle' filepath='drivers/gpu/drm/drm_prime.c' line='811' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_gem_prime_fd_to_handle'>
-        <parameter type-id='type-id-4446' name='dev' filepath='drivers/gpu/drm/drm_prime.c' line='811' column='1'/>
-        <parameter type-id='type-id-4615' name='file_priv' filepath='drivers/gpu/drm/drm_prime.c' line='812' column='1'/>
-        <parameter type-id='type-id-17' name='prime_fd' filepath='drivers/gpu/drm/drm_prime.c' line='812' column='1'/>
-        <parameter type-id='type-id-4633' name='handle' filepath='drivers/gpu/drm/drm_prime.c' line='813' column='1'/>
-        <return type-id='type-id-17'/>
+      <function-decl name='netdev_lower_state_changed' mangled-name='netdev_lower_state_changed' filepath='net/core/dev.c' line='7408' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netdev_lower_state_changed'>
+        <parameter type-id='type-id-2976' name='lower_dev' filepath='net/core/dev.c' line='7408' column='1'/>
+        <parameter type-id='type-id-3' name='lower_state_info' filepath='net/core/dev.c' line='7409' column='1'/>
+        <return type-id='type-id-73'/>
       </function-decl>
-      <function-decl name='drm_prime_pages_to_sg' mangled-name='drm_prime_pages_to_sg' filepath='drivers/gpu/drm/drm_prime.c' line='921' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_prime_pages_to_sg'>
-        <parameter type-id='type-id-923' name='pages' filepath='drivers/gpu/drm/drm_prime.c' line='921' column='1'/>
-        <parameter type-id='type-id-5' name='nr_pages' filepath='drivers/gpu/drm/drm_prime.c' line='921' column='1'/>
-        <return type-id='type-id-922'/>
+      <function-decl name='dev_get_by_name' mangled-name='dev_get_by_name' filepath='net/core/dev.c' line='785' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_get_by_name'>
+        <parameter type-id='type-id-2984' name='net' filepath='net/core/dev.c' line='785' column='1'/>
+        <parameter type-id='type-id-24' name='name' filepath='net/core/dev.c' line='785' column='1'/>
+        <return type-id='type-id-2976'/>
+      </function-decl>
+      <function-decl name='__dev_get_by_index' mangled-name='__dev_get_by_index' filepath='net/core/dev.c' line='810' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__dev_get_by_index'>
+        <parameter type-id='type-id-2984' name='net' filepath='net/core/dev.c' line='810' column='1'/>
+        <parameter type-id='type-id-11' name='ifindex' filepath='net/core/dev.c' line='810' column='1'/>
+        <return type-id='type-id-2976'/>
+      </function-decl>
+      <function-decl name='dev_get_by_index_rcu' mangled-name='dev_get_by_index_rcu' filepath='net/core/dev.c' line='834' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_get_by_index_rcu'>
+        <parameter type-id='type-id-2984' name='net' filepath='net/core/dev.c' line='834' column='1'/>
+        <parameter type-id='type-id-11' name='ifindex' filepath='net/core/dev.c' line='834' column='1'/>
+        <return type-id='type-id-2976'/>
+      </function-decl>
+      <function-decl name='dev_alloc_name' mangled-name='dev_alloc_name' filepath='net/core/dev.c' line='1139' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_alloc_name'>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/core/dev.c' line='1139' column='1'/>
+        <parameter type-id='type-id-24' name='name' filepath='net/core/dev.c' line='1139' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='netdev_notify_peers' mangled-name='netdev_notify_peers' filepath='net/core/dev.c' line='1370' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netdev_notify_peers'>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/core/dev.c' line='1370' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='dev_open' mangled-name='dev_open' filepath='net/core/dev.c' line='1434' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_open'>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/core/dev.c' line='1434' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='dev_close' mangled-name='dev_close' filepath='net/core/dev.c' line='1534' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_close'>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/core/dev.c' line='1534' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__netif_set_xps_queue' mangled-name='__netif_set_xps_queue' filepath='net/core/dev.c' line='2299' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__netif_set_xps_queue'>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/core/dev.c' line='2299' column='1'/>
+        <parameter type-id='type-id-119' name='mask' filepath='net/core/dev.c' line='2299' column='1'/>
+        <parameter type-id='type-id-289' name='index' filepath='net/core/dev.c' line='2300' column='1'/>
+        <parameter type-id='type-id-211' name='is_rxqs_map' filepath='net/core/dev.c' line='2300' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__dev_kfree_skb_any' mangled-name='__dev_kfree_skb_any' filepath='net/core/dev.c' line='2795' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__dev_kfree_skb_any'>
+        <parameter type-id='type-id-513' name='skb' filepath='net/core/dev.c' line='2795' column='1'/>
+        <parameter type-id='type-id-8187' name='reason' filepath='net/core/dev.c' line='2795' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='passthru_features_check' mangled-name='passthru_features_check' filepath='net/core/dev.c' line='3169' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='passthru_features_check'>
+        <parameter type-id='type-id-513' name='skb' filepath='net/core/dev.c' line='3169' column='1'/>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/core/dev.c' line='3170' column='1'/>
+        <parameter type-id='type-id-6450' name='features' filepath='net/core/dev.c' line='3171' column='1'/>
+        <return type-id='type-id-6450'/>
+      </function-decl>
+      <function-decl name='dev_queue_xmit' mangled-name='dev_queue_xmit' filepath='net/core/dev.c' line='3875' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_queue_xmit'>
+        <parameter type-id='type-id-513' name='skb' filepath='net/core/dev.c' line='3875' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='netdev_rx_handler_register' mangled-name='netdev_rx_handler_register' filepath='net/core/dev.c' line='4699' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netdev_rx_handler_register'>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/core/dev.c' line='4699' column='1'/>
+        <parameter type-id='type-id-6518' name='rx_handler' filepath='net/core/dev.c' line='4700' column='1'/>
+        <parameter type-id='type-id-3' name='rx_handler_data' filepath='net/core/dev.c' line='4701' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='napi_gro_flush' mangled-name='napi_gro_flush' filepath='net/core/dev.c' line='5338' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='napi_gro_flush'>
+        <parameter type-id='type-id-3007' name='napi' filepath='net/core/dev.c' line='5338' column='1'/>
+        <parameter type-id='type-id-211' name='flush_old' filepath='net/core/dev.c' line='5338' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__napi_schedule' mangled-name='__napi_schedule' filepath='net/core/dev.c' line='5880' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__napi_schedule'>
+        <parameter type-id='type-id-3007' name='n' filepath='net/core/dev.c' line='5880' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='napi_hash_del' mangled-name='napi_hash_del' filepath='net/core/dev.c' line='6137' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='napi_hash_del'>
+        <parameter type-id='type-id-3007' name='napi' filepath='net/core/dev.c' line='6137' column='1'/>
+        <return type-id='type-id-211'/>
+      </function-decl>
+      <function-decl name='netdev_upper_dev_link' mangled-name='netdev_upper_dev_link' filepath='net/core/dev.c' line='7196' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netdev_upper_dev_link'>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/core/dev.c' line='7196' column='1'/>
+        <parameter type-id='type-id-2976' name='upper_dev' filepath='net/core/dev.c' line='7197' column='1'/>
+        <parameter type-id='type-id-6697' name='extack' filepath='net/core/dev.c' line='7198' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='netdev_master_upper_dev_link' mangled-name='netdev_master_upper_dev_link' filepath='net/core/dev.c' line='7219' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netdev_master_upper_dev_link'>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/core/dev.c' line='7219' column='1'/>
+        <parameter type-id='type-id-2976' name='upper_dev' filepath='net/core/dev.c' line='7220' column='1'/>
+        <parameter type-id='type-id-3' name='upper_priv' filepath='net/core/dev.c' line='7221' column='1'/>
+        <parameter type-id='type-id-3' name='upper_info' filepath='net/core/dev.c' line='7221' column='1'/>
+        <parameter type-id='type-id-6697' name='extack' filepath='net/core/dev.c' line='7222' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='dev_set_mtu' mangled-name='dev_set_mtu' filepath='net/core/dev.c' line='7818' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_set_mtu'>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/core/dev.c' line='7818' column='1'/>
+        <parameter type-id='type-id-11' name='new_mtu' filepath='net/core/dev.c' line='7818' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='netdev_change_features' mangled-name='netdev_change_features' filepath='net/core/dev.c' line='8464' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netdev_change_features'>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/core/dev.c' line='8464' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='netif_stacked_transfer_operstate' mangled-name='netif_stacked_transfer_operstate' filepath='net/core/dev.c' line='8480' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netif_stacked_transfer_operstate'>
+        <parameter type-id='type-id-2978' name='rootdev' filepath='net/core/dev.c' line='8480' column='1'/>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/core/dev.c' line='8481' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='init_dummy_netdev' mangled-name='init_dummy_netdev' filepath='net/core/dev.c' line='8776' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='init_dummy_netdev'>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/core/dev.c' line='8776' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='dev_get_stats' mangled-name='dev_get_stats' filepath='net/core/dev.c' line='9024' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_get_stats'>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/core/dev.c' line='9024' column='1'/>
+        <parameter type-id='type-id-7168' name='storage' filepath='net/core/dev.c' line='9025' column='1'/>
+        <return type-id='type-id-7168'/>
+      </function-decl>
+      <function-decl name='netdev_increment_features' mangled-name='netdev_increment_features' filepath='net/core/dev.c' line='9520' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netdev_increment_features'>
+        <parameter type-id='type-id-6450' name='all' filepath='net/core/dev.c' line='9520' column='1'/>
+        <parameter type-id='type-id-6450' name='one' filepath='net/core/dev.c' line='9521' column='1'/>
+        <parameter type-id='type-id-6450' name='mask' filepath='net/core/dev.c' line='9521' column='1'/>
+        <return type-id='type-id-6450'/>
       </function-decl>
     </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_vma_manager.c' language='LANG_C89'>
-      <pointer-type-def type-id='type-id-5033' size-in-bits='64' id='type-id-5144'/>
-      <function-decl name='drm_vma_offset_manager_init' mangled-name='drm_vma_offset_manager_init' filepath='drivers/gpu/drm/drm_vma_manager.c' line='85' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_vma_offset_manager_init'>
-        <parameter type-id='type-id-4506' name='mgr' filepath='drivers/gpu/drm/drm_vma_manager.c' line='85' column='1'/>
-        <parameter type-id='type-id-16' name='page_offset' filepath='drivers/gpu/drm/drm_vma_manager.c' line='86' column='1'/>
-        <parameter type-id='type-id-16' name='size' filepath='drivers/gpu/drm/drm_vma_manager.c' line='86' column='1'/>
-        <return type-id='type-id-81'/>
+    <abi-instr version='1.0' address-size='64' path='net/core/dev_addr_lists.c' language='LANG_C89'>
+      <function-decl name='dev_uc_sync_multiple' mangled-name='dev_uc_sync_multiple' filepath='net/core/dev_addr_lists.c' line='567' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_uc_sync_multiple'>
+        <parameter type-id='type-id-2976' name='to' filepath='net/core/dev_addr_lists.c' line='567' column='1'/>
+        <parameter type-id='type-id-2976' name='from' filepath='net/core/dev_addr_lists.c' line='567' column='1'/>
+        <return type-id='type-id-11'/>
       </function-decl>
-      <function-decl name='drm_vma_offset_manager_destroy' mangled-name='drm_vma_offset_manager_destroy' filepath='drivers/gpu/drm/drm_vma_manager.c' line='104' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_vma_offset_manager_destroy'>
-        <parameter type-id='type-id-4506' name='mgr' filepath='drivers/gpu/drm/drm_vma_manager.c' line='104' column='1'/>
-        <return type-id='type-id-81'/>
+      <function-decl name='dev_uc_unsync' mangled-name='dev_uc_unsync' filepath='net/core/dev_addr_lists.c' line='592' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_uc_unsync'>
+        <parameter type-id='type-id-2976' name='to' filepath='net/core/dev_addr_lists.c' line='592' column='1'/>
+        <parameter type-id='type-id-2976' name='from' filepath='net/core/dev_addr_lists.c' line='592' column='1'/>
+        <return type-id='type-id-73'/>
       </function-decl>
-      <function-decl name='drm_vma_offset_lookup_locked' mangled-name='drm_vma_offset_lookup_locked' filepath='drivers/gpu/drm/drm_vma_manager.c' line='143' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_vma_offset_lookup_locked'>
-        <parameter type-id='type-id-4506' name='mgr' filepath='drivers/gpu/drm/drm_vma_manager.c' line='143' column='1'/>
-        <parameter type-id='type-id-16' name='start' filepath='drivers/gpu/drm/drm_vma_manager.c' line='144' column='1'/>
-        <parameter type-id='type-id-16' name='pages' filepath='drivers/gpu/drm/drm_vma_manager.c' line='145' column='1'/>
-        <return type-id='type-id-5144'/>
+      <function-decl name='dev_mc_sync_multiple' mangled-name='dev_mc_sync_multiple' filepath='net/core/dev_addr_lists.c' line='788' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_mc_sync_multiple'>
+        <parameter type-id='type-id-2976' name='to' filepath='net/core/dev_addr_lists.c' line='788' column='1'/>
+        <parameter type-id='type-id-2976' name='from' filepath='net/core/dev_addr_lists.c' line='788' column='1'/>
+        <return type-id='type-id-11'/>
       </function-decl>
-      <function-decl name='drm_vma_offset_add' mangled-name='drm_vma_offset_add' filepath='drivers/gpu/drm/drm_vma_manager.c' line='204' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_vma_offset_add'>
-        <parameter type-id='type-id-4506' name='mgr' filepath='drivers/gpu/drm/drm_vma_manager.c' line='204' column='1'/>
-        <parameter type-id='type-id-5144' name='node' filepath='drivers/gpu/drm/drm_vma_manager.c' line='205' column='1'/>
-        <parameter type-id='type-id-16' name='pages' filepath='drivers/gpu/drm/drm_vma_manager.c' line='205' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='drm_vma_offset_remove' mangled-name='drm_vma_offset_remove' filepath='drivers/gpu/drm/drm_vma_manager.c' line='232' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_vma_offset_remove'>
-        <parameter type-id='type-id-4506' name='mgr' filepath='drivers/gpu/drm/drm_vma_manager.c' line='232' column='1'/>
-        <parameter type-id='type-id-5144' name='node' filepath='drivers/gpu/drm/drm_vma_manager.c' line='233' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_framebuffer.c' language='LANG_C89'>
-      <function-decl name='drm_framebuffer_init' mangled-name='drm_framebuffer_init' filepath='drivers/gpu/drm/drm_framebuffer.c' line='681' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_framebuffer_init'>
-        <parameter type-id='type-id-4446' name='dev' filepath='drivers/gpu/drm/drm_framebuffer.c' line='681' column='1'/>
-        <parameter type-id='type-id-4609' name='fb' filepath='drivers/gpu/drm/drm_framebuffer.c' line='681' column='1'/>
-        <parameter type-id='type-id-4597' name='funcs' filepath='drivers/gpu/drm/drm_framebuffer.c' line='682' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_encoder.c' language='LANG_C89'>
-      <function-decl name='drm_encoder_init' mangled-name='drm_encoder_init' filepath='drivers/gpu/drm/drm_encoder.c' line='106' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_encoder_init'>
-        <parameter type-id='type-id-4446' name='dev' filepath='drivers/gpu/drm/drm_encoder.c' line='106' column='1'/>
-        <parameter type-id='type-id-4490' name='encoder' filepath='drivers/gpu/drm/drm_encoder.c' line='107' column='1'/>
-        <parameter type-id='type-id-4774' name='funcs' filepath='drivers/gpu/drm/drm_encoder.c' line='108' column='1'/>
-        <parameter type-id='type-id-17' name='encoder_type' filepath='drivers/gpu/drm/drm_encoder.c' line='109' column='1'/>
-        <parameter type-id='type-id-4' name='name' filepath='drivers/gpu/drm/drm_encoder.c' line='109' column='1'/>
-        <parameter is-variadic='yes'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='drm_encoder_cleanup' mangled-name='drm_encoder_cleanup' filepath='drivers/gpu/drm/drm_encoder.c' line='157' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_encoder_cleanup'>
-        <parameter type-id='type-id-4490' name='encoder' filepath='drivers/gpu/drm/drm_encoder.c' line='157' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_plane.c' language='LANG_C89'>
-      <qualified-type-def type-id='type-id-1343' const='yes' id='type-id-5145'/>
-      <pointer-type-def type-id='type-id-5145' size-in-bits='64' id='type-id-5146'/>
-      <qualified-type-def type-id='type-id-2439' const='yes' id='type-id-5147'/>
-      <pointer-type-def type-id='type-id-5147' size-in-bits='64' id='type-id-5148'/>
-      <function-decl name='drm_universal_plane_init' mangled-name='drm_universal_plane_init' filepath='drivers/gpu/drm/drm_plane.c' line='164' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_universal_plane_init'>
-        <parameter type-id='type-id-4446' name='dev' filepath='drivers/gpu/drm/drm_plane.c' line='164' column='1'/>
-        <parameter type-id='type-id-4626' name='plane' filepath='drivers/gpu/drm/drm_plane.c' line='164' column='1'/>
-        <parameter type-id='type-id-1343' name='possible_crtcs' filepath='drivers/gpu/drm/drm_plane.c' line='165' column='1'/>
-        <parameter type-id='type-id-4634' name='funcs' filepath='drivers/gpu/drm/drm_plane.c' line='166' column='1'/>
-        <parameter type-id='type-id-5146' name='formats' filepath='drivers/gpu/drm/drm_plane.c' line='167' column='1'/>
-        <parameter type-id='type-id-5' name='format_count' filepath='drivers/gpu/drm/drm_plane.c' line='167' column='1'/>
-        <parameter type-id='type-id-5148' name='format_modifiers' filepath='drivers/gpu/drm/drm_plane.c' line='168' column='1'/>
-        <parameter type-id='type-id-4635' name='type' filepath='drivers/gpu/drm/drm_plane.c' line='169' column='1'/>
-        <parameter type-id='type-id-4' name='name' filepath='drivers/gpu/drm/drm_plane.c' line='170' column='1'/>
-        <parameter is-variadic='yes'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='drm_plane_cleanup' mangled-name='drm_plane_cleanup' filepath='drivers/gpu/drm/drm_plane.c' line='346' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_plane_cleanup'>
-        <parameter type-id='type-id-4626' name='plane' filepath='drivers/gpu/drm/drm_plane.c' line='346' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_print.c' language='LANG_C89'>
-      <function-decl name='__drm_printfn_debug' mangled-name='__drm_printfn_debug' filepath='drivers/gpu/drm/drm_print.c' line='139' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__drm_printfn_debug'>
-        <parameter type-id='type-id-4867' name='p' filepath='drivers/gpu/drm/drm_print.c' line='139' column='1'/>
-        <parameter type-id='type-id-4963' name='vaf' filepath='drivers/gpu/drm/drm_print.c' line='139' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='drm_dbg' mangled-name='drm_dbg' filepath='drivers/gpu/drm/drm_print.c' line='222' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_dbg'>
-        <parameter type-id='type-id-5' name='category' filepath='drivers/gpu/drm/drm_print.c' line='222' column='1'/>
-        <parameter type-id='type-id-4' name='format' filepath='drivers/gpu/drm/drm_print.c' line='222' column='1'/>
-        <parameter is-variadic='yes'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='drm_err' mangled-name='drm_err' filepath='drivers/gpu/drm/drm_print.c' line='241' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_err'>
-        <parameter type-id='type-id-4' name='format' filepath='drivers/gpu/drm/drm_print.c' line='241' column='1'/>
-        <parameter is-variadic='yes'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_vblank.c' language='LANG_C89'>
-      <function-decl name='drm_crtc_send_vblank_event' mangled-name='drm_crtc_send_vblank_event' filepath='drivers/gpu/drm/drm_vblank.c' line='912' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_crtc_send_vblank_event'>
-        <parameter type-id='type-id-4623' name='crtc' filepath='drivers/gpu/drm/drm_vblank.c' line='912' column='1'/>
-        <parameter type-id='type-id-4693' name='e' filepath='drivers/gpu/drm/drm_vblank.c' line='913' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/gpu/drm/drm_ioc32.c' language='LANG_C89'>
-      <function-decl name='drm_compat_ioctl' mangled-name='drm_compat_ioctl' filepath='drivers/gpu/drm/drm_ioc32.c' line='957' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='drm_compat_ioctl'>
-        <parameter type-id='type-id-83' name='filp' filepath='drivers/gpu/drm/drm_ioc32.c' line='957' column='1'/>
-        <parameter type-id='type-id-5' name='cmd' filepath='drivers/gpu/drm/drm_ioc32.c' line='957' column='1'/>
-        <parameter type-id='type-id-16' name='arg' filepath='drivers/gpu/drm/drm_ioc32.c' line='957' column='1'/>
-        <return type-id='type-id-192'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/base/driver.c' language='LANG_C89'>
-      <function-decl name='driver_register' mangled-name='driver_register' filepath='drivers/base/driver.c' line='146' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='driver_register'>
-        <parameter type-id='type-id-2013' name='drv' filepath='drivers/base/driver.c' line='146' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='driver_unregister' mangled-name='driver_unregister' filepath='drivers/base/driver.c' line='190' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='driver_unregister'>
-        <parameter type-id='type-id-2013' name='drv' filepath='drivers/base/driver.c' line='190' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/base/class.c' language='LANG_C89'>
-      <function-decl name='__class_register' mangled-name='__class_register' filepath='drivers/base/class.c' line='146' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__class_register'>
-        <parameter type-id='type-id-2027' name='cls' filepath='drivers/base/class.c' line='146' column='1'/>
-        <parameter type-id='type-id-1698' name='key' filepath='drivers/base/class.c' line='146' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='class_unregister' mangled-name='class_unregister' filepath='drivers/base/class.c' line='192' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='class_unregister'>
-        <parameter type-id='type-id-2027' name='cls' filepath='drivers/base/class.c' line='192' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='__class_create' mangled-name='__class_create' filepath='drivers/base/class.c' line='219' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__class_create'>
-        <parameter type-id='type-id-260' name='owner' filepath='drivers/base/class.c' line='219' column='1'/>
-        <parameter type-id='type-id-4' name='name' filepath='drivers/base/class.c' line='219' column='1'/>
-        <parameter type-id='type-id-1698' name='key' filepath='drivers/base/class.c' line='220' column='1'/>
-        <return type-id='type-id-2027'/>
-      </function-decl>
-      <function-decl name='class_destroy' mangled-name='class_destroy' filepath='drivers/base/class.c' line='254' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='class_destroy'>
-        <parameter type-id='type-id-2027' name='cls' filepath='drivers/base/class.c' line='254' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/base/devres.c' language='LANG_C89'>
-      <typedef-decl name='dr_release_t' type-id='type-id-4367' filepath='include/linux/device.h' line='642' column='1' id='type-id-5149'/>
-      <typedef-decl name='dr_match_t' type-id='type-id-5150' filepath='include/linux/device.h' line='643' column='1' id='type-id-5151'/>
-      <pointer-type-def type-id='type-id-5152' size-in-bits='64' id='type-id-5150'/>
-      <function-decl name='__devres_alloc_node' mangled-name='__devres_alloc_node' filepath='drivers/base/devres.c' line='120' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__devres_alloc_node'>
-        <parameter type-id='type-id-5149' name='release' filepath='drivers/base/devres.c' line='120' column='1'/>
-        <parameter type-id='type-id-84' name='size' filepath='drivers/base/devres.c' line='120' column='1'/>
-        <parameter type-id='type-id-485' name='gfp' filepath='drivers/base/devres.c' line='120' column='1'/>
-        <parameter type-id='type-id-17' name='nid' filepath='drivers/base/devres.c' line='120' column='1'/>
-        <parameter type-id='type-id-4' name='name' filepath='drivers/base/devres.c' line='121' column='1'/>
-        <return type-id='type-id-15'/>
-      </function-decl>
-      <function-decl name='devres_free' mangled-name='devres_free' filepath='drivers/base/devres.c' line='207' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devres_free'>
-        <parameter type-id='type-id-15' name='res' filepath='drivers/base/devres.c' line='207' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='devres_add' mangled-name='devres_add' filepath='drivers/base/devres.c' line='227' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devres_add'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/base/devres.c' line='227' column='1'/>
-        <parameter type-id='type-id-15' name='res' filepath='drivers/base/devres.c' line='227' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='devres_destroy' mangled-name='devres_destroy' filepath='drivers/base/devres.c' line='374' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devres_destroy'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/base/devres.c' line='374' column='1'/>
-        <parameter type-id='type-id-5149' name='release' filepath='drivers/base/devres.c' line='374' column='1'/>
-        <parameter type-id='type-id-5151' name='match' filepath='drivers/base/devres.c' line='375' column='1'/>
-        <parameter type-id='type-id-15' name='match_data' filepath='drivers/base/devres.c' line='375' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='devm_kmalloc' mangled-name='devm_kmalloc' filepath='drivers/base/devres.c' line='786' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_kmalloc'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/base/devres.c' line='786' column='1'/>
-        <parameter type-id='type-id-84' name='size' filepath='drivers/base/devres.c' line='786' column='1'/>
-        <parameter type-id='type-id-485' name='gfp' filepath='drivers/base/devres.c' line='786' column='1'/>
-        <return type-id='type-id-15'/>
-      </function-decl>
-      <function-decl name='devm_kfree' mangled-name='devm_kfree' filepath='drivers/base/devres.c' line='894' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_kfree'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/base/devres.c' line='894' column='1'/>
-        <parameter type-id='type-id-15' name='p' filepath='drivers/base/devres.c' line='894' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-5152'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/base/power/generic_ops.c' language='LANG_C89'>
-      <function-decl name='pm_generic_runtime_suspend' mangled-name='pm_generic_runtime_suspend' filepath='drivers/base/power/generic_ops.c' line='22' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pm_generic_runtime_suspend'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/base/power/generic_ops.c' line='22' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='pm_generic_runtime_resume' mangled-name='pm_generic_runtime_resume' filepath='drivers/base/power/generic_ops.c' line='41' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pm_generic_runtime_resume'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/base/power/generic_ops.c' line='41' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='pm_generic_suspend' mangled-name='pm_generic_suspend' filepath='drivers/base/power/generic_ops.c' line='99' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pm_generic_suspend'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/base/power/generic_ops.c' line='99' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='pm_generic_resume' mangled-name='pm_generic_resume' filepath='drivers/base/power/generic_ops.c' line='243' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pm_generic_resume'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/base/power/generic_ops.c' line='243' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/base/power/common.c' language='LANG_C89'>
-      <function-decl name='dev_pm_domain_attach' mangled-name='dev_pm_domain_attach' filepath='drivers/base/power/common.c' line='104' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_pm_domain_attach'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/base/power/common.c' line='104' column='1'/>
-        <parameter type-id='type-id-33' name='power_on' filepath='drivers/base/power/common.c' line='104' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='dev_pm_domain_detach' mangled-name='dev_pm_domain_detach' filepath='drivers/base/power/common.c' line='185' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_pm_domain_detach'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/base/power/common.c' line='185' column='1'/>
-        <parameter type-id='type-id-33' name='power_off' filepath='drivers/base/power/common.c' line='185' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/base/power/runtime.c' language='LANG_C89'>
-      <function-decl name='__pm_runtime_idle' mangled-name='__pm_runtime_idle' filepath='drivers/base/power/runtime.c' line='965' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__pm_runtime_idle'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/base/power/runtime.c' line='965' column='1'/>
-        <parameter type-id='type-id-17' name='rpmflags' filepath='drivers/base/power/runtime.c' line='965' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='__pm_runtime_suspend' mangled-name='__pm_runtime_suspend' filepath='drivers/base/power/runtime.c' line='997' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__pm_runtime_suspend'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/base/power/runtime.c' line='997' column='1'/>
-        <parameter type-id='type-id-17' name='rpmflags' filepath='drivers/base/power/runtime.c' line='997' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='__pm_runtime_resume' mangled-name='__pm_runtime_resume' filepath='drivers/base/power/runtime.c' line='1028' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__pm_runtime_resume'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/base/power/runtime.c' line='1028' column='1'/>
-        <parameter type-id='type-id-17' name='rpmflags' filepath='drivers/base/power/runtime.c' line='1028' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='__pm_runtime_set_status' mangled-name='__pm_runtime_set_status' filepath='drivers/base/power/runtime.c' line='1088' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__pm_runtime_set_status'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/base/power/runtime.c' line='1088' column='1'/>
-        <parameter type-id='type-id-5' name='status' filepath='drivers/base/power/runtime.c' line='1088' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='__pm_runtime_disable' mangled-name='__pm_runtime_disable' filepath='drivers/base/power/runtime.c' line='1245' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__pm_runtime_disable'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/base/power/runtime.c' line='1245' column='1'/>
-        <parameter type-id='type-id-33' name='check_resume' filepath='drivers/base/power/runtime.c' line='1245' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='pm_runtime_enable' mangled-name='pm_runtime_enable' filepath='drivers/base/power/runtime.c' line='1284' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pm_runtime_enable'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/base/power/runtime.c' line='1284' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='pm_runtime_set_autosuspend_delay' mangled-name='pm_runtime_set_autosuspend_delay' filepath='drivers/base/power/runtime.c' line='1435' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pm_runtime_set_autosuspend_delay'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/base/power/runtime.c' line='1435' column='1'/>
-        <parameter type-id='type-id-17' name='delay' filepath='drivers/base/power/runtime.c' line='1435' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='__pm_runtime_use_autosuspend' mangled-name='__pm_runtime_use_autosuspend' filepath='drivers/base/power/runtime.c' line='1456' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__pm_runtime_use_autosuspend'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/base/power/runtime.c' line='1456' column='1'/>
-        <parameter type-id='type-id-33' name='use' filepath='drivers/base/power/runtime.c' line='1456' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/base/power/wakeup.c' language='LANG_C89'>
-      <function-decl name='pm_wakeup_dev_event' mangled-name='pm_wakeup_dev_event' filepath='drivers/base/power/wakeup.c' line='804' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pm_wakeup_dev_event'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/base/power/wakeup.c' line='804' column='1'/>
-        <parameter type-id='type-id-5' name='msec' filepath='drivers/base/power/wakeup.c' line='804' column='1'/>
-        <parameter type-id='type-id-33' name='hard' filepath='drivers/base/power/wakeup.c' line='804' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/dma-buf/dma-buf.c' language='LANG_C89'>
-      <class-decl name='dma_buf_export_info' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/dma-buf.h' line='344' column='1' id='type-id-5153'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='exp_name' type-id='type-id-4' visibility='default' filepath='include/linux/dma-buf.h' line='345' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='owner' type-id='type-id-260' visibility='default' filepath='include/linux/dma-buf.h' line='346' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='ops' type-id='type-id-5041' visibility='default' filepath='include/linux/dma-buf.h' line='347' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='size' type-id='type-id-84' visibility='default' filepath='include/linux/dma-buf.h' line='348' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='flags' type-id='type-id-17' visibility='default' filepath='include/linux/dma-buf.h' line='349' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='resv' type-id='type-id-5042' visibility='default' filepath='include/linux/dma-buf.h' line='350' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='priv' type-id='type-id-15' visibility='default' filepath='include/linux/dma-buf.h' line='351' column='1'/>
-        </data-member>
-      </class-decl>
-      <qualified-type-def type-id='type-id-5153' const='yes' id='type-id-5154'/>
-      <pointer-type-def type-id='type-id-5154' size-in-bits='64' id='type-id-5155'/>
-      <function-decl name='dma_buf_export' mangled-name='dma_buf_export' filepath='drivers/dma-buf/dma-buf.c' line='508' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_buf_export'>
-        <parameter type-id='type-id-5155' name='exp_info' filepath='drivers/dma-buf/dma-buf.c' line='508' column='1'/>
-        <return type-id='type-id-5034'/>
-      </function-decl>
-      <function-decl name='dma_buf_fd' mangled-name='dma_buf_fd' filepath='drivers/dma-buf/dma-buf.c' line='589' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_buf_fd'>
-        <parameter type-id='type-id-5034' name='dmabuf' filepath='drivers/dma-buf/dma-buf.c' line='589' column='1'/>
-        <parameter type-id='type-id-17' name='flags' filepath='drivers/dma-buf/dma-buf.c' line='589' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='dma_buf_get' mangled-name='dma_buf_get' filepath='drivers/dma-buf/dma-buf.c' line='614' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_buf_get'>
-        <parameter type-id='type-id-17' name='fd' filepath='drivers/dma-buf/dma-buf.c' line='614' column='1'/>
-        <return type-id='type-id-5034'/>
-      </function-decl>
-      <function-decl name='dma_buf_put' mangled-name='dma_buf_put' filepath='drivers/dma-buf/dma-buf.c' line='642' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_buf_put'>
-        <parameter type-id='type-id-5034' name='dmabuf' filepath='drivers/dma-buf/dma-buf.c' line='642' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/dma-buf/dma-fence.c' language='LANG_C89'>
-      <function-decl name='dma_fence_context_alloc' mangled-name='dma_fence_context_alloc' filepath='drivers/dma-buf/dma-fence.c' line='79' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_fence_context_alloc'>
-        <parameter type-id='type-id-5' name='num' filepath='drivers/dma-buf/dma-fence.c' line='79' column='1'/>
-        <return type-id='type-id-40'/>
-      </function-decl>
-      <function-decl name='dma_fence_signal_locked' mangled-name='dma_fence_signal_locked' filepath='drivers/dma-buf/dma-fence.c' line='102' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_fence_signal_locked'>
-        <parameter type-id='type-id-4651' name='fence' filepath='drivers/dma-buf/dma-fence.c' line='102' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='dma_fence_signal' mangled-name='dma_fence_signal' filepath='drivers/dma-buf/dma-fence.c' line='146' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_fence_signal'>
-        <parameter type-id='type-id-4651' name='fence' filepath='drivers/dma-buf/dma-fence.c' line='146' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='dma_fence_wait_timeout' mangled-name='dma_fence_wait_timeout' filepath='drivers/dma-buf/dma-fence.c' line='193' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_fence_wait_timeout'>
-        <parameter type-id='type-id-4651' name='fence' filepath='drivers/dma-buf/dma-fence.c' line='193' column='1'/>
-        <parameter type-id='type-id-33' name='intr' filepath='drivers/dma-buf/dma-fence.c' line='193' column='1'/>
-        <parameter type-id='type-id-192' name='timeout' filepath='drivers/dma-buf/dma-fence.c' line='193' column='1'/>
-        <return type-id='type-id-192'/>
-      </function-decl>
-      <function-decl name='dma_fence_release' mangled-name='dma_fence_release' filepath='drivers/dma-buf/dma-fence.c' line='217' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_fence_release'>
-        <parameter type-id='type-id-4944' name='kref' filepath='drivers/dma-buf/dma-fence.c' line='217' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='dma_fence_enable_sw_signaling' mangled-name='dma_fence_enable_sw_signaling' filepath='drivers/dma-buf/dma-fence.c' line='255' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_fence_enable_sw_signaling'>
-        <parameter type-id='type-id-4651' name='fence' filepath='drivers/dma-buf/dma-fence.c' line='255' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='dma_fence_init' mangled-name='dma_fence_init' filepath='drivers/dma-buf/dma-fence.c' line='617' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_fence_init'>
-        <parameter type-id='type-id-4651' name='fence' filepath='drivers/dma-buf/dma-fence.c' line='617' column='1'/>
-        <parameter type-id='type-id-4657' name='ops' filepath='drivers/dma-buf/dma-fence.c' line='617' column='1'/>
-        <parameter type-id='type-id-486' name='lock' filepath='drivers/dma-buf/dma-fence.c' line='618' column='1'/>
-        <parameter type-id='type-id-40' name='context' filepath='drivers/dma-buf/dma-fence.c' line='618' column='1'/>
-        <parameter type-id='type-id-5' name='seqno' filepath='drivers/dma-buf/dma-fence.c' line='618' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/dma-buf/dma-fence-array.c' language='LANG_C89'>
-      <function-decl name='dma_fence_match_context' mangled-name='dma_fence_match_context' filepath='drivers/dma-buf/dma-fence-array.c' line='166' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dma_fence_match_context'>
-        <parameter type-id='type-id-4651' name='fence' filepath='drivers/dma-buf/dma-fence-array.c' line='166' column='1'/>
-        <parameter type-id='type-id-40' name='context' filepath='drivers/dma-buf/dma-fence-array.c' line='166' column='1'/>
-        <return type-id='type-id-33'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/dma-buf/reservation.c' language='LANG_C89'>
-      <function-decl name='reservation_object_reserve_shared' mangled-name='reservation_object_reserve_shared' filepath='drivers/dma-buf/reservation.c' line='69' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='reservation_object_reserve_shared'>
-        <parameter type-id='type-id-5042' name='obj' filepath='drivers/dma-buf/reservation.c' line='69' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='reservation_object_add_shared_fence' mangled-name='reservation_object_add_shared_fence' filepath='drivers/dma-buf/reservation.c' line='226' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='reservation_object_add_shared_fence'>
-        <parameter type-id='type-id-5042' name='obj' filepath='drivers/dma-buf/reservation.c' line='226' column='1'/>
-        <parameter type-id='type-id-4651' name='fence' filepath='drivers/dma-buf/reservation.c' line='227' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='reservation_object_add_excl_fence' mangled-name='reservation_object_add_excl_fence' filepath='drivers/dma-buf/reservation.c' line='248' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='reservation_object_add_excl_fence'>
-        <parameter type-id='type-id-5042' name='obj' filepath='drivers/dma-buf/reservation.c' line='248' column='1'/>
-        <parameter type-id='type-id-4651' name='fence' filepath='drivers/dma-buf/reservation.c' line='249' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='reservation_object_copy_fences' mangled-name='reservation_object_copy_fences' filepath='drivers/dma-buf/reservation.c' line='287' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='reservation_object_copy_fences'>
-        <parameter type-id='type-id-5042' name='dst' filepath='drivers/dma-buf/reservation.c' line='287' column='1'/>
-        <parameter type-id='type-id-5042' name='src' filepath='drivers/dma-buf/reservation.c' line='288' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='reservation_object_wait_timeout_rcu' mangled-name='reservation_object_wait_timeout_rcu' filepath='drivers/dma-buf/reservation.c' line='486' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='reservation_object_wait_timeout_rcu'>
-        <parameter type-id='type-id-5042' name='obj' filepath='drivers/dma-buf/reservation.c' line='486' column='1'/>
-        <parameter type-id='type-id-33' name='wait_all' filepath='drivers/dma-buf/reservation.c' line='487' column='1'/>
-        <parameter type-id='type-id-33' name='intr' filepath='drivers/dma-buf/reservation.c' line='487' column='1'/>
-        <parameter type-id='type-id-16' name='timeout' filepath='drivers/dma-buf/reservation.c' line='488' column='1'/>
-        <return type-id='type-id-192'/>
-      </function-decl>
-      <function-decl name='reservation_object_test_signaled_rcu' mangled-name='reservation_object_test_signaled_rcu' filepath='drivers/dma-buf/reservation.c' line='590' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='reservation_object_test_signaled_rcu'>
-        <parameter type-id='type-id-5042' name='obj' filepath='drivers/dma-buf/reservation.c' line='590' column='1'/>
-        <parameter type-id='type-id-33' name='test_all' filepath='drivers/dma-buf/reservation.c' line='591' column='1'/>
-        <return type-id='type-id-33'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/dma-buf/sync_file.c' language='LANG_C89'>
-      <class-decl name='cred' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-5156'/>
-      <class-decl name='sync_file' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/linux/sync_file.h' line='35' column='1' id='type-id-5157'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='file' type-id='type-id-83' visibility='default' filepath='include/linux/sync_file.h' line='36' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='user_name' type-id='type-id-373' visibility='default' filepath='include/linux/sync_file.h' line='44' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='sync_file_list' type-id='type-id-20' visibility='default' filepath='include/linux/sync_file.h' line='46' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='wq' type-id='type-id-225' visibility='default' filepath='include/linux/sync_file.h' line='49' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='include/linux/sync_file.h' line='50' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='fence' type-id='type-id-4651' visibility='default' filepath='include/linux/sync_file.h' line='52' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='cb' type-id='type-id-5060' visibility='default' filepath='include/linux/sync_file.h' line='53' column='1'/>
-        </data-member>
-      </class-decl>
-      <qualified-type-def type-id='type-id-5156' const='yes' id='type-id-5158'/>
-      <pointer-type-def type-id='type-id-5158' size-in-bits='64' id='type-id-5159'/>
-      <pointer-type-def type-id='type-id-5157' size-in-bits='64' id='type-id-5160'/>
-      <function-decl name='sync_file_create' mangled-name='sync_file_create' filepath='drivers/dma-buf/sync_file.c' line='73' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sync_file_create'>
-        <parameter type-id='type-id-4651' name='fence' filepath='drivers/dma-buf/sync_file.c' line='73' column='1'/>
-        <return type-id='type-id-5160'/>
-      </function-decl>
-      <function-decl name='sync_file_get_fence' mangled-name='sync_file_get_fence' filepath='drivers/dma-buf/sync_file.c' line='111' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sync_file_get_fence'>
-        <parameter type-id='type-id-17' name='fd' filepath='drivers/dma-buf/sync_file.c' line='111' column='1'/>
-        <return type-id='type-id-4651'/>
+      <function-decl name='dev_mc_unsync' mangled-name='dev_mc_unsync' filepath='net/core/dev_addr_lists.c' line='813' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_mc_unsync'>
+        <parameter type-id='type-id-2976' name='to' filepath='net/core/dev_addr_lists.c' line='813' column='1'/>
+        <parameter type-id='type-id-2976' name='from' filepath='net/core/dev_addr_lists.c' line='813' column='1'/>
+        <return type-id='type-id-73'/>
       </function-decl>
     </abi-instr>
     <abi-instr version='1.0' address-size='64' path='net/core/ethtool.c' language='LANG_C89'>
+      <function-decl name='__ethtool_get_link_ksettings' mangled-name='__ethtool_get_link_ksettings' filepath='net/core/ethtool.c' line='552' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__ethtool_get_link_ksettings'>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/core/ethtool.c' line='552' column='1'/>
+        <parameter type-id='type-id-6996' name='link_ksettings' filepath='net/core/ethtool.c' line='553' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='ethtool_op_get_ts_info' mangled-name='ethtool_op_get_ts_info' filepath='net/core/ethtool.c' line='43' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ethtool_op_get_ts_info'>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/core/ethtool.c' line='43' column='1'/>
+        <parameter type-id='type-id-7004' name='info' filepath='net/core/ethtool.c' line='43' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='net/core/flow_dissector.c' language='LANG_C89'>
 
-      <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='488' id='type-id-5161'>
-        <subrange length='61' type-id='type-id-9' id='type-id-5162'/>
+      <array-type-def dimensions='1' type-id='type-id-475' size-in-bits='488' id='type-id-8192'>
+        <subrange length='61' type-id='type-id-5' id='type-id-8193'/>
 
       </array-type-def>
-      <class-decl name='Qdisc' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-5163'/>
-      <class-decl name='mini_Qdisc' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-5164'/>
-      <class-decl name='phylink' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-5165'/>
-      <array-type-def dimensions='1' type-id='type-id-5166' size-in-bits='2048' id='type-id-5167'>
-        <subrange length='32' type-id='type-id-9' id='type-id-941'/>
+      <class-decl name='phylink' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-8194'/>
+      <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='1024' id='type-id-8195'>
+        <subrange length='32' type-id='type-id-5' id='type-id-2319'/>
 
       </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='256' id='type-id-5168'>
-        <subrange length='8' type-id='type-id-9' id='type-id-928'/>
+      <array-type-def dimensions='1' type-id='type-id-8196' size-in-bits='2048' id='type-id-8197'>
+        <subrange length='32' type-id='type-id-5' id='type-id-2319'/>
 
       </array-type-def>
-      <class-decl name='mdio_device' size-in-bits='6912' is-struct='yes' visibility='default' filepath='include/linux/mdio.h' line='29' column='1' id='type-id-5169'>
+      <array-type-def dimensions='1' type-id='type-id-288' size-in-bits='384' id='type-id-8198'>
+        <subrange length='24' type-id='type-id-5' id='type-id-1143'/>
+
+      </array-type-def>
+      <class-decl name='phy_device' size-in-bits='9408' is-struct='yes' visibility='default' filepath='include/linux/phy.h' line='399' column='1' id='type-id-8199'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dev' type-id='type-id-388' visibility='default' filepath='include/linux/mdio.h' line='30' column='1'/>
+          <var-decl name='mdio' type-id='type-id-8200' visibility='default' filepath='include/linux/phy.h' line='400' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='6208'>
-          <var-decl name='bus' type-id='type-id-5170' visibility='default' filepath='include/linux/mdio.h' line='32' column='1'/>
+        <data-member access='public' layout-offset-in-bits='6912'>
+          <var-decl name='drv' type-id='type-id-8201' visibility='default' filepath='include/linux/phy.h' line='404' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='6272'>
-          <var-decl name='modalias' type-id='type-id-373' visibility='default' filepath='include/linux/mdio.h' line='33' column='1'/>
+        <data-member access='public' layout-offset-in-bits='6976'>
+          <var-decl name='phy_id' type-id='type-id-9' visibility='default' filepath='include/linux/phy.h' line='406' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='6528'>
-          <var-decl name='bus_match' type-id='type-id-2045' visibility='default' filepath='include/linux/mdio.h' line='35' column='1'/>
+        <data-member access='public' layout-offset-in-bits='7008'>
+          <var-decl name='c45_ids' type-id='type-id-8202' visibility='default' filepath='include/linux/phy.h' line='408' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='6592'>
-          <var-decl name='device_free' type-id='type-id-5171' visibility='default' filepath='include/linux/mdio.h' line='36' column='1'/>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='is_c45' type-id='type-id-10' visibility='default' filepath='include/linux/phy.h' line='409' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='6656'>
-          <var-decl name='device_remove' type-id='type-id-5171' visibility='default' filepath='include/linux/mdio.h' line='37' column='1'/>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='is_internal' type-id='type-id-10' visibility='default' filepath='include/linux/phy.h' line='410' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='6720'>
-          <var-decl name='addr' type-id='type-id-17' visibility='default' filepath='include/linux/mdio.h' line='40' column='1'/>
+        <data-member access='public' layout-offset-in-bits='29'>
+          <var-decl name='is_pseudo_fixed_link' type-id='type-id-10' visibility='default' filepath='include/linux/phy.h' line='411' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='6752'>
-          <var-decl name='flags' type-id='type-id-17' visibility='default' filepath='include/linux/mdio.h' line='41' column='1'/>
+        <data-member access='public' layout-offset-in-bits='28'>
+          <var-decl name='has_fixups' type-id='type-id-10' visibility='default' filepath='include/linux/phy.h' line='412' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='6784'>
-          <var-decl name='reset' type-id='type-id-4018' visibility='default' filepath='include/linux/mdio.h' line='42' column='1'/>
+        <data-member access='public' layout-offset-in-bits='27'>
+          <var-decl name='suspended' type-id='type-id-10' visibility='default' filepath='include/linux/phy.h' line='413' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='6848'>
-          <var-decl name='reset_assert_delay' type-id='type-id-5' visibility='default' filepath='include/linux/mdio.h' line='43' column='1'/>
+        <data-member access='public' layout-offset-in-bits='26'>
+          <var-decl name='sysfs_links' type-id='type-id-10' visibility='default' filepath='include/linux/phy.h' line='414' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='6880'>
-          <var-decl name='reset_deassert_delay' type-id='type-id-5' visibility='default' filepath='include/linux/mdio.h' line='44' column='1'/>
+        <data-member access='public' layout-offset-in-bits='25'>
+          <var-decl name='loopback_enabled' type-id='type-id-10' visibility='default' filepath='include/linux/phy.h' line='415' column='1'/>
         </data-member>
-      </class-decl>
-      <class-decl name='mii_bus' size-in-bits='10752' is-struct='yes' visibility='default' filepath='include/linux/phy.h' line='193' column='1' id='type-id-5172'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='owner' type-id='type-id-260' visibility='default' filepath='include/linux/phy.h' line='194' column='1'/>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='autoneg' type-id='type-id-10' visibility='default' filepath='include/linux/phy.h' line='417' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/phy.h' line='195' column='1'/>
+        <data-member access='public' layout-offset-in-bits='23'>
+          <var-decl name='link' type-id='type-id-10' visibility='default' filepath='include/linux/phy.h' line='419' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='id' type-id='type-id-5161' visibility='default' filepath='include/linux/phy.h' line='196' column='1'/>
+        <data-member access='public' layout-offset-in-bits='7328'>
+          <var-decl name='state' type-id='type-id-8203' visibility='default' filepath='include/linux/phy.h' line='421' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='priv' type-id='type-id-15' visibility='default' filepath='include/linux/phy.h' line='197' column='1'/>
+        <data-member access='public' layout-offset-in-bits='7360'>
+          <var-decl name='dev_flags' type-id='type-id-9' visibility='default' filepath='include/linux/phy.h' line='423' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='read' type-id='type-id-5173' visibility='default' filepath='include/linux/phy.h' line='198' column='1'/>
+        <data-member access='public' layout-offset-in-bits='7392'>
+          <var-decl name='interface' type-id='type-id-8204' visibility='default' filepath='include/linux/phy.h' line='425' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='write' type-id='type-id-5174' visibility='default' filepath='include/linux/phy.h' line='199' column='1'/>
+        <data-member access='public' layout-offset-in-bits='7424'>
+          <var-decl name='speed' type-id='type-id-11' visibility='default' filepath='include/linux/phy.h' line='431' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='reset' type-id='type-id-5175' visibility='default' filepath='include/linux/phy.h' line='200' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='mdio_lock' type-id='type-id-245' visibility='default' filepath='include/linux/phy.h' line='206' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='parent' type-id='type-id-240' visibility='default' filepath='include/linux/phy.h' line='208' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='state' type-id='type-id-5176' visibility='default' filepath='include/linux/phy.h' line='214' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='dev' type-id='type-id-388' visibility='default' filepath='include/linux/phy.h' line='215' column='1'/>
+        <data-member access='public' layout-offset-in-bits='7456'>
+          <var-decl name='duplex' type-id='type-id-11' visibility='default' filepath='include/linux/phy.h' line='432' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='7488'>
-          <var-decl name='mdio_map' type-id='type-id-5167' visibility='default' filepath='include/linux/phy.h' line='218' column='1'/>
+          <var-decl name='pause' type-id='type-id-11' visibility='default' filepath='include/linux/phy.h' line='433' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='9536'>
-          <var-decl name='phy_mask' type-id='type-id-7' visibility='default' filepath='include/linux/phy.h' line='221' column='1'/>
+        <data-member access='public' layout-offset-in-bits='7520'>
+          <var-decl name='asym_pause' type-id='type-id-11' visibility='default' filepath='include/linux/phy.h' line='434' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='9568'>
-          <var-decl name='phy_ignore_ta_mask' type-id='type-id-7' visibility='default' filepath='include/linux/phy.h' line='224' column='1'/>
+        <data-member access='public' layout-offset-in-bits='7552'>
+          <var-decl name='interrupts' type-id='type-id-9' visibility='default' filepath='include/linux/phy.h' line='437' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='9600'>
-          <var-decl name='irq' type-id='type-id-5177' visibility='default' filepath='include/linux/phy.h' line='230' column='1'/>
+        <data-member access='public' layout-offset-in-bits='7584'>
+          <var-decl name='supported' type-id='type-id-9' visibility='default' filepath='include/linux/phy.h' line='441' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='10624'>
-          <var-decl name='reset_delay_us' type-id='type-id-17' visibility='default' filepath='include/linux/phy.h' line='233' column='1'/>
+        <data-member access='public' layout-offset-in-bits='7616'>
+          <var-decl name='advertising' type-id='type-id-9' visibility='default' filepath='include/linux/phy.h' line='442' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='10688'>
-          <var-decl name='reset_gpiod' type-id='type-id-4018' visibility='default' filepath='include/linux/phy.h' line='235' column='1'/>
+        <data-member access='public' layout-offset-in-bits='7648'>
+          <var-decl name='lp_advertising' type-id='type-id-9' visibility='default' filepath='include/linux/phy.h' line='443' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7680'>
+          <var-decl name='eee_broken_modes' type-id='type-id-9' visibility='default' filepath='include/linux/phy.h' line='446' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7712'>
+          <var-decl name='link_timeout' type-id='type-id-11' visibility='default' filepath='include/linux/phy.h' line='448' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7744'>
+          <var-decl name='irq' type-id='type-id-11' visibility='default' filepath='include/linux/phy.h' line='462' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7808'>
+          <var-decl name='priv' type-id='type-id-3' visibility='default' filepath='include/linux/phy.h' line='466' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7872'>
+          <var-decl name='phy_queue' type-id='type-id-149' visibility='default' filepath='include/linux/phy.h' line='469' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8128'>
+          <var-decl name='state_queue' type-id='type-id-370' visibility='default' filepath='include/linux/phy.h' line='470' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8832'>
+          <var-decl name='lock' type-id='type-id-407' visibility='default' filepath='include/linux/phy.h' line='472' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9088'>
+          <var-decl name='phylink' type-id='type-id-8205' visibility='default' filepath='include/linux/phy.h' line='474' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9152'>
+          <var-decl name='attached_dev' type-id='type-id-2976' visibility='default' filepath='include/linux/phy.h' line='475' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9216'>
+          <var-decl name='mdix' type-id='type-id-53' visibility='default' filepath='include/linux/phy.h' line='477' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9224'>
+          <var-decl name='mdix_ctrl' type-id='type-id-53' visibility='default' filepath='include/linux/phy.h' line='478' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9280'>
+          <var-decl name='phy_link_change' type-id='type-id-8206' visibility='default' filepath='include/linux/phy.h' line='480' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9344'>
+          <var-decl name='adjust_link' type-id='type-id-2977' visibility='default' filepath='include/linux/phy.h' line='481' column='1'/>
         </data-member>
       </class-decl>
-      <enum-decl name='__anonymous_enum__2' is-anonymous='yes' filepath='include/linux/phy.h' line='209' column='1' id='type-id-5176'>
-        <underlying-type type-id='type-id-94'/>
+      <class-decl name='mdio_device' size-in-bits='6912' is-struct='yes' visibility='default' filepath='include/linux/mdio.h' line='29' column='1' id='type-id-8200'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='include/linux/mdio.h' line='30' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6208'>
+          <var-decl name='bus' type-id='type-id-8207' visibility='default' filepath='include/linux/mdio.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6272'>
+          <var-decl name='modalias' type-id='type-id-650' visibility='default' filepath='include/linux/mdio.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6528'>
+          <var-decl name='bus_match' type-id='type-id-5286' visibility='default' filepath='include/linux/mdio.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6592'>
+          <var-decl name='device_free' type-id='type-id-8208' visibility='default' filepath='include/linux/mdio.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6656'>
+          <var-decl name='device_remove' type-id='type-id-8208' visibility='default' filepath='include/linux/mdio.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6720'>
+          <var-decl name='addr' type-id='type-id-11' visibility='default' filepath='include/linux/mdio.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6752'>
+          <var-decl name='flags' type-id='type-id-11' visibility='default' filepath='include/linux/mdio.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6784'>
+          <var-decl name='reset' type-id='type-id-1733' visibility='default' filepath='include/linux/mdio.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6848'>
+          <var-decl name='reset_assert_delay' type-id='type-id-10' visibility='default' filepath='include/linux/mdio.h' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6880'>
+          <var-decl name='reset_deassert_delay' type-id='type-id-10' visibility='default' filepath='include/linux/mdio.h' line='44' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='mii_bus' size-in-bits='10752' is-struct='yes' visibility='default' filepath='include/linux/phy.h' line='193' column='1' id='type-id-8209'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/linux/phy.h' line='194' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/linux/phy.h' line='195' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='id' type-id='type-id-8192' visibility='default' filepath='include/linux/phy.h' line='196' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='priv' type-id='type-id-3' visibility='default' filepath='include/linux/phy.h' line='197' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='read' type-id='type-id-8210' visibility='default' filepath='include/linux/phy.h' line='198' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='write' type-id='type-id-8211' visibility='default' filepath='include/linux/phy.h' line='199' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='reset' type-id='type-id-8212' visibility='default' filepath='include/linux/phy.h' line='200' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='mdio_lock' type-id='type-id-407' visibility='default' filepath='include/linux/phy.h' line='206' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='parent' type-id='type-id-86' visibility='default' filepath='include/linux/phy.h' line='208' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='state' type-id='type-id-8213' visibility='default' filepath='include/linux/phy.h' line='214' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='include/linux/phy.h' line='215' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7488'>
+          <var-decl name='mdio_map' type-id='type-id-8197' visibility='default' filepath='include/linux/phy.h' line='218' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9536'>
+          <var-decl name='phy_mask' type-id='type-id-9' visibility='default' filepath='include/linux/phy.h' line='221' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9568'>
+          <var-decl name='phy_ignore_ta_mask' type-id='type-id-9' visibility='default' filepath='include/linux/phy.h' line='224' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9600'>
+          <var-decl name='irq' type-id='type-id-8195' visibility='default' filepath='include/linux/phy.h' line='230' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10624'>
+          <var-decl name='reset_delay_us' type-id='type-id-11' visibility='default' filepath='include/linux/phy.h' line='233' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10688'>
+          <var-decl name='reset_gpiod' type-id='type-id-1733' visibility='default' filepath='include/linux/phy.h' line='235' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='__anonymous_enum__2' is-anonymous='yes' filepath='include/linux/phy.h' line='209' column='1' id='type-id-8213'>
+        <underlying-type type-id='type-id-182'/>
         <enumerator name='MDIOBUS_ALLOCATED' value='1'/>
         <enumerator name='MDIOBUS_REGISTERED' value='2'/>
         <enumerator name='MDIOBUS_UNREGISTERED' value='3'/>
         <enumerator name='MDIOBUS_RELEASED' value='4'/>
       </enum-decl>
-      <class-decl name='phy_driver' size-in-bits='3520' is-struct='yes' visibility='default' filepath='include/linux/phy.h' line='507' column='1' id='type-id-5178'>
+      <class-decl name='phy_driver' size-in-bits='3520' is-struct='yes' visibility='default' filepath='include/linux/phy.h' line='507' column='1' id='type-id-8214'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mdiodrv' type-id='type-id-5179' visibility='default' filepath='include/linux/phy.h' line='508' column='1'/>
+          <var-decl name='mdiodrv' type-id='type-id-8215' visibility='default' filepath='include/linux/phy.h' line='508' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='phy_id' type-id='type-id-7' visibility='default' filepath='include/linux/phy.h' line='509' column='1'/>
+          <var-decl name='phy_id' type-id='type-id-9' visibility='default' filepath='include/linux/phy.h' line='509' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='name' type-id='type-id-2' visibility='default' filepath='include/linux/phy.h' line='510' column='1'/>
+          <var-decl name='name' type-id='type-id-300' visibility='default' filepath='include/linux/phy.h' line='510' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='phy_id_mask' type-id='type-id-7' visibility='default' filepath='include/linux/phy.h' line='511' column='1'/>
+          <var-decl name='phy_id_mask' type-id='type-id-9' visibility='default' filepath='include/linux/phy.h' line='511' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1312'>
-          <var-decl name='features' type-id='type-id-7' visibility='default' filepath='include/linux/phy.h' line='512' column='1'/>
+          <var-decl name='features' type-id='type-id-9' visibility='default' filepath='include/linux/phy.h' line='512' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='flags' type-id='type-id-7' visibility='default' filepath='include/linux/phy.h' line='513' column='1'/>
+          <var-decl name='flags' type-id='type-id-9' visibility='default' filepath='include/linux/phy.h' line='513' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='driver_data' type-id='type-id-15' visibility='default' filepath='include/linux/phy.h' line='514' column='1'/>
+          <var-decl name='driver_data' type-id='type-id-3' visibility='default' filepath='include/linux/phy.h' line='514' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='soft_reset' type-id='type-id-5180' visibility='default' filepath='include/linux/phy.h' line='519' column='1'/>
+          <var-decl name='soft_reset' type-id='type-id-8216' visibility='default' filepath='include/linux/phy.h' line='519' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='config_init' type-id='type-id-5180' visibility='default' filepath='include/linux/phy.h' line='525' column='1'/>
+          <var-decl name='config_init' type-id='type-id-8216' visibility='default' filepath='include/linux/phy.h' line='525' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='probe' type-id='type-id-5180' visibility='default' filepath='include/linux/phy.h' line='531' column='1'/>
+          <var-decl name='probe' type-id='type-id-8216' visibility='default' filepath='include/linux/phy.h' line='531' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='suspend' type-id='type-id-5180' visibility='default' filepath='include/linux/phy.h' line='534' column='1'/>
+          <var-decl name='suspend' type-id='type-id-8216' visibility='default' filepath='include/linux/phy.h' line='534' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='resume' type-id='type-id-5180' visibility='default' filepath='include/linux/phy.h' line='535' column='1'/>
+          <var-decl name='resume' type-id='type-id-8216' visibility='default' filepath='include/linux/phy.h' line='535' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='config_aneg' type-id='type-id-5180' visibility='default' filepath='include/linux/phy.h' line='543' column='1'/>
+          <var-decl name='config_aneg' type-id='type-id-8216' visibility='default' filepath='include/linux/phy.h' line='543' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='aneg_done' type-id='type-id-5180' visibility='default' filepath='include/linux/phy.h' line='546' column='1'/>
+          <var-decl name='aneg_done' type-id='type-id-8216' visibility='default' filepath='include/linux/phy.h' line='546' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='read_status' type-id='type-id-5180' visibility='default' filepath='include/linux/phy.h' line='549' column='1'/>
+          <var-decl name='read_status' type-id='type-id-8216' visibility='default' filepath='include/linux/phy.h' line='549' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='ack_interrupt' type-id='type-id-5180' visibility='default' filepath='include/linux/phy.h' line='552' column='1'/>
+          <var-decl name='ack_interrupt' type-id='type-id-8216' visibility='default' filepath='include/linux/phy.h' line='552' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='config_intr' type-id='type-id-5180' visibility='default' filepath='include/linux/phy.h' line='555' column='1'/>
+          <var-decl name='config_intr' type-id='type-id-8216' visibility='default' filepath='include/linux/phy.h' line='555' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='did_interrupt' type-id='type-id-5180' visibility='default' filepath='include/linux/phy.h' line='561' column='1'/>
+          <var-decl name='did_interrupt' type-id='type-id-8216' visibility='default' filepath='include/linux/phy.h' line='561' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='remove' type-id='type-id-5181' visibility='default' filepath='include/linux/phy.h' line='564' column='1'/>
+          <var-decl name='remove' type-id='type-id-8217' visibility='default' filepath='include/linux/phy.h' line='564' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='match_phy_device' type-id='type-id-5180' visibility='default' filepath='include/linux/phy.h' line='570' column='1'/>
+          <var-decl name='match_phy_device' type-id='type-id-8216' visibility='default' filepath='include/linux/phy.h' line='570' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2304'>
-          <var-decl name='ts_info' type-id='type-id-5182' visibility='default' filepath='include/linux/phy.h' line='573' column='1'/>
+          <var-decl name='ts_info' type-id='type-id-8218' visibility='default' filepath='include/linux/phy.h' line='573' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='hwtstamp' type-id='type-id-5183' visibility='default' filepath='include/linux/phy.h' line='576' column='1'/>
+          <var-decl name='hwtstamp' type-id='type-id-8219' visibility='default' filepath='include/linux/phy.h' line='576' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2432'>
-          <var-decl name='rxtstamp' type-id='type-id-5184' visibility='default' filepath='include/linux/phy.h' line='585' column='1'/>
+          <var-decl name='rxtstamp' type-id='type-id-8220' visibility='default' filepath='include/linux/phy.h' line='585' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2496'>
-          <var-decl name='txtstamp' type-id='type-id-5185' visibility='default' filepath='include/linux/phy.h' line='593' column='1'/>
+          <var-decl name='txtstamp' type-id='type-id-8221' visibility='default' filepath='include/linux/phy.h' line='593' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2560'>
-          <var-decl name='set_wol' type-id='type-id-5186' visibility='default' filepath='include/linux/phy.h' line='598' column='1'/>
+          <var-decl name='set_wol' type-id='type-id-8222' visibility='default' filepath='include/linux/phy.h' line='598' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2624'>
-          <var-decl name='get_wol' type-id='type-id-5187' visibility='default' filepath='include/linux/phy.h' line='601' column='1'/>
+          <var-decl name='get_wol' type-id='type-id-8223' visibility='default' filepath='include/linux/phy.h' line='601' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2688'>
-          <var-decl name='link_change_notify' type-id='type-id-5181' visibility='default' filepath='include/linux/phy.h' line='610' column='1'/>
+          <var-decl name='link_change_notify' type-id='type-id-8217' visibility='default' filepath='include/linux/phy.h' line='610' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2752'>
-          <var-decl name='read_mmd' type-id='type-id-5188' visibility='default' filepath='include/linux/phy.h' line='621' column='1'/>
+          <var-decl name='read_mmd' type-id='type-id-8224' visibility='default' filepath='include/linux/phy.h' line='621' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2816'>
-          <var-decl name='write_mmd' type-id='type-id-5189' visibility='default' filepath='include/linux/phy.h' line='633' column='1'/>
+          <var-decl name='write_mmd' type-id='type-id-8225' visibility='default' filepath='include/linux/phy.h' line='633' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2880'>
-          <var-decl name='read_page' type-id='type-id-5180' visibility='default' filepath='include/linux/phy.h' line='636' column='1'/>
+          <var-decl name='read_page' type-id='type-id-8216' visibility='default' filepath='include/linux/phy.h' line='636' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2944'>
-          <var-decl name='write_page' type-id='type-id-5190' visibility='default' filepath='include/linux/phy.h' line='637' column='1'/>
+          <var-decl name='write_page' type-id='type-id-8226' visibility='default' filepath='include/linux/phy.h' line='637' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='3008'>
-          <var-decl name='module_info' type-id='type-id-5191' visibility='default' filepath='include/linux/phy.h' line='641' column='1'/>
+          <var-decl name='module_info' type-id='type-id-8227' visibility='default' filepath='include/linux/phy.h' line='641' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='3072'>
-          <var-decl name='module_eeprom' type-id='type-id-5192' visibility='default' filepath='include/linux/phy.h' line='645' column='1'/>
+          <var-decl name='module_eeprom' type-id='type-id-8228' visibility='default' filepath='include/linux/phy.h' line='645' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='3136'>
-          <var-decl name='get_sset_count' type-id='type-id-5180' visibility='default' filepath='include/linux/phy.h' line='649' column='1'/>
+          <var-decl name='get_sset_count' type-id='type-id-8216' visibility='default' filepath='include/linux/phy.h' line='649' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='3200'>
-          <var-decl name='get_strings' type-id='type-id-5193' visibility='default' filepath='include/linux/phy.h' line='650' column='1'/>
+          <var-decl name='get_strings' type-id='type-id-8229' visibility='default' filepath='include/linux/phy.h' line='650' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='3264'>
-          <var-decl name='get_stats' type-id='type-id-5194' visibility='default' filepath='include/linux/phy.h' line='651' column='1'/>
+          <var-decl name='get_stats' type-id='type-id-8230' visibility='default' filepath='include/linux/phy.h' line='651' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='3328'>
-          <var-decl name='get_tunable' type-id='type-id-5195' visibility='default' filepath='include/linux/phy.h' line='655' column='1'/>
+          <var-decl name='get_tunable' type-id='type-id-8231' visibility='default' filepath='include/linux/phy.h' line='655' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='3392'>
-          <var-decl name='set_tunable' type-id='type-id-5195' visibility='default' filepath='include/linux/phy.h' line='657' column='1'/>
+          <var-decl name='set_tunable' type-id='type-id-8231' visibility='default' filepath='include/linux/phy.h' line='657' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='3456'>
-          <var-decl name='set_loopback' type-id='type-id-5196' visibility='default' filepath='include/linux/phy.h' line='660' column='1'/>
+          <var-decl name='set_loopback' type-id='type-id-8232' visibility='default' filepath='include/linux/phy.h' line='660' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='mdio_driver_common' size-in-bits='1152' is-struct='yes' visibility='default' filepath='include/linux/mdio.h' line='49' column='1' id='type-id-5179'>
+      <class-decl name='mdio_driver_common' size-in-bits='1152' is-struct='yes' visibility='default' filepath='include/linux/mdio.h' line='49' column='1' id='type-id-8215'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='driver' type-id='type-id-2049' visibility='default' filepath='include/linux/mdio.h' line='50' column='1'/>
+          <var-decl name='driver' type-id='type-id-324' visibility='default' filepath='include/linux/mdio.h' line='50' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='flags' type-id='type-id-17' visibility='default' filepath='include/linux/mdio.h' line='51' column='1'/>
+          <var-decl name='flags' type-id='type-id-11' visibility='default' filepath='include/linux/mdio.h' line='51' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='phy_c45_device_ids' size-in-bits='288' is-struct='yes' visibility='default' filepath='include/linux/phy.h' line='361' column='1' id='type-id-5197'>
+      <class-decl name='phy_c45_device_ids' size-in-bits='288' is-struct='yes' visibility='default' filepath='include/linux/phy.h' line='361' column='1' id='type-id-8202'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='devices_in_package' type-id='type-id-7' visibility='default' filepath='include/linux/phy.h' line='362' column='1'/>
+          <var-decl name='devices_in_package' type-id='type-id-9' visibility='default' filepath='include/linux/phy.h' line='362' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='device_ids' type-id='type-id-5168' visibility='default' filepath='include/linux/phy.h' line='363' column='1'/>
+          <var-decl name='device_ids' type-id='type-id-3470' visibility='default' filepath='include/linux/phy.h' line='363' column='1'/>
         </data-member>
       </class-decl>
-      <enum-decl name='phy_state' filepath='include/linux/phy.h' line='341' column='1' id='type-id-5198'>
-        <underlying-type type-id='type-id-94'/>
+      <enum-decl name='phy_state' filepath='include/linux/phy.h' line='341' column='1' id='type-id-8203'>
+        <underlying-type type-id='type-id-182'/>
         <enumerator name='PHY_DOWN' value='0'/>
         <enumerator name='PHY_STARTING' value='1'/>
         <enumerator name='PHY_READY' value='2'/>
@@ -44405,9 +78938,9 @@
         <enumerator name='PHY_HALTED' value='10'/>
         <enumerator name='PHY_RESUMING' value='11'/>
       </enum-decl>
-      <typedef-decl name='phy_interface_t' type-id='type-id-5199' filepath='include/linux/phy.h' line='92' column='1' id='type-id-5200'/>
-      <enum-decl name='__anonymous_enum__3' is-anonymous='yes' filepath='include/linux/phy.h' line='66' column='1' id='type-id-5199'>
-        <underlying-type type-id='type-id-94'/>
+      <typedef-decl name='phy_interface_t' type-id='type-id-8233' filepath='include/linux/phy.h' line='92' column='1' id='type-id-8204'/>
+      <enum-decl name='__anonymous_enum__3' is-anonymous='yes' filepath='include/linux/phy.h' line='66' column='1' id='type-id-8233'>
+        <underlying-type type-id='type-id-182'/>
         <enumerator name='PHY_INTERFACE_MODE_NA' value='0'/>
         <enumerator name='PHY_INTERFACE_MODE_INTERNAL' value='1'/>
         <enumerator name='PHY_INTERFACE_MODE_MII' value='2'/>
@@ -44433,10240 +78966,4270 @@
         <enumerator name='PHY_INTERFACE_MODE_10GKR' value='22'/>
         <enumerator name='PHY_INTERFACE_MODE_MAX' value='23'/>
       </enum-decl>
-      <pointer-type-def type-id='type-id-5163' size-in-bits='64' id='type-id-5201'/>
-      <pointer-type-def type-id='type-id-1906' size-in-bits='64' id='type-id-5202'/>
-      <pointer-type-def type-id='type-id-5203' size-in-bits='64' id='type-id-5175'/>
-      <pointer-type-def type-id='type-id-5204' size-in-bits='64' id='type-id-5173'/>
-      <pointer-type-def type-id='type-id-5205' size-in-bits='64' id='type-id-5174'/>
-      <pointer-type-def type-id='type-id-5206' size-in-bits='64' id='type-id-5180'/>
-      <pointer-type-def type-id='type-id-5207' size-in-bits='64' id='type-id-5192'/>
-      <pointer-type-def type-id='type-id-5208' size-in-bits='64' id='type-id-5191'/>
-      <pointer-type-def type-id='type-id-5209' size-in-bits='64' id='type-id-5182'/>
-      <pointer-type-def type-id='type-id-5210' size-in-bits='64' id='type-id-5195'/>
-      <pointer-type-def type-id='type-id-5211' size-in-bits='64' id='type-id-5186'/>
-      <pointer-type-def type-id='type-id-5212' size-in-bits='64' id='type-id-5183'/>
-      <pointer-type-def type-id='type-id-5213' size-in-bits='64' id='type-id-5190'/>
-      <pointer-type-def type-id='type-id-5214' size-in-bits='64' id='type-id-5188'/>
-      <pointer-type-def type-id='type-id-5215' size-in-bits='64' id='type-id-5189'/>
-      <pointer-type-def type-id='type-id-5216' size-in-bits='64' id='type-id-5196'/>
-      <pointer-type-def type-id='type-id-5169' size-in-bits='64' id='type-id-5166'/>
-      <pointer-type-def type-id='type-id-5172' size-in-bits='64' id='type-id-5170'/>
-      <pointer-type-def type-id='type-id-5164' size-in-bits='64' id='type-id-5217'/>
-      <pointer-type-def type-id='type-id-5178' size-in-bits='64' id='type-id-5218'/>
-      <pointer-type-def type-id='type-id-5165' size-in-bits='64' id='type-id-5219'/>
-      <pointer-type-def type-id='type-id-5220' size-in-bits='64' id='type-id-5184'/>
-      <pointer-type-def type-id='type-id-5221' size-in-bits='64' id='type-id-5171'/>
-      <pointer-type-def type-id='type-id-5222' size-in-bits='64' id='type-id-5181'/>
-      <pointer-type-def type-id='type-id-5223' size-in-bits='64' id='type-id-5194'/>
-      <pointer-type-def type-id='type-id-5224' size-in-bits='64' id='type-id-5187'/>
-      <pointer-type-def type-id='type-id-5225' size-in-bits='64' id='type-id-5185'/>
-      <pointer-type-def type-id='type-id-5226' size-in-bits='64' id='type-id-5227'/>
-      <pointer-type-def type-id='type-id-5228' size-in-bits='64' id='type-id-5193'/>
-      <function-decl name='__ethtool_get_link_ksettings' mangled-name='__ethtool_get_link_ksettings' filepath='net/core/ethtool.c' line='552' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__ethtool_get_link_ksettings'>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/core/ethtool.c' line='552' column='1'/>
-        <parameter type-id='type-id-2760' name='link_ksettings' filepath='net/core/ethtool.c' line='553' column='1'/>
-        <return type-id='type-id-17'/>
+      <class-decl name='flow_dissector' size-in-bits='416' is-struct='yes' visibility='default' filepath='include/net/flow_dissector.h' line='244' column='1' id='type-id-8234'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='used_keys' type-id='type-id-10' visibility='default' filepath='include/net/flow_dissector.h' line='245' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='offset' type-id='type-id-8198' visibility='default' filepath='include/net/flow_dissector.h' line='246' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-6780' size-in-bits='64' id='type-id-8235'/>
+      <pointer-type-def type-id='type-id-8234' size-in-bits='64' id='type-id-8236'/>
+      <pointer-type-def type-id='type-id-8237' size-in-bits='64' id='type-id-8212'/>
+      <pointer-type-def type-id='type-id-8238' size-in-bits='64' id='type-id-8210'/>
+      <pointer-type-def type-id='type-id-8239' size-in-bits='64' id='type-id-8211'/>
+      <pointer-type-def type-id='type-id-8240' size-in-bits='64' id='type-id-8216'/>
+      <pointer-type-def type-id='type-id-8241' size-in-bits='64' id='type-id-8228'/>
+      <pointer-type-def type-id='type-id-8242' size-in-bits='64' id='type-id-8227'/>
+      <pointer-type-def type-id='type-id-8243' size-in-bits='64' id='type-id-8218'/>
+      <pointer-type-def type-id='type-id-8244' size-in-bits='64' id='type-id-8231'/>
+      <pointer-type-def type-id='type-id-8245' size-in-bits='64' id='type-id-8222'/>
+      <pointer-type-def type-id='type-id-8246' size-in-bits='64' id='type-id-8219'/>
+      <pointer-type-def type-id='type-id-8247' size-in-bits='64' id='type-id-8226'/>
+      <pointer-type-def type-id='type-id-8248' size-in-bits='64' id='type-id-8224'/>
+      <pointer-type-def type-id='type-id-8249' size-in-bits='64' id='type-id-8225'/>
+      <pointer-type-def type-id='type-id-8250' size-in-bits='64' id='type-id-8232'/>
+      <pointer-type-def type-id='type-id-8200' size-in-bits='64' id='type-id-8196'/>
+      <pointer-type-def type-id='type-id-8209' size-in-bits='64' id='type-id-8207'/>
+      <pointer-type-def type-id='type-id-8199' size-in-bits='64' id='type-id-8251'/>
+      <pointer-type-def type-id='type-id-8214' size-in-bits='64' id='type-id-8201'/>
+      <pointer-type-def type-id='type-id-8194' size-in-bits='64' id='type-id-8205'/>
+      <pointer-type-def type-id='type-id-8252' size-in-bits='64' id='type-id-8220'/>
+      <pointer-type-def type-id='type-id-8253' size-in-bits='64' id='type-id-8208'/>
+      <pointer-type-def type-id='type-id-8254' size-in-bits='64' id='type-id-8217'/>
+      <pointer-type-def type-id='type-id-8255' size-in-bits='64' id='type-id-8230'/>
+      <pointer-type-def type-id='type-id-8256' size-in-bits='64' id='type-id-8223'/>
+      <pointer-type-def type-id='type-id-8257' size-in-bits='64' id='type-id-8221'/>
+      <pointer-type-def type-id='type-id-8258' size-in-bits='64' id='type-id-8206'/>
+      <pointer-type-def type-id='type-id-8259' size-in-bits='64' id='type-id-8229'/>
+      <function-decl name='__skb_flow_dissect' mangled-name='__skb_flow_dissect' filepath='net/core/flow_dissector.c' line='607' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__skb_flow_dissect'>
+        <parameter type-id='type-id-3013' name='skb' filepath='net/core/flow_dissector.c' line='607' column='1'/>
+        <parameter type-id='type-id-8236' name='flow_dissector' filepath='net/core/flow_dissector.c' line='608' column='1'/>
+        <parameter type-id='type-id-3' name='target_container' filepath='net/core/flow_dissector.c' line='609' column='1'/>
+        <parameter type-id='type-id-3' name='data' filepath='net/core/flow_dissector.c' line='610' column='1'/>
+        <parameter type-id='type-id-3573' name='proto' filepath='net/core/flow_dissector.c' line='610' column='1'/>
+        <parameter type-id='type-id-11' name='nhoff' filepath='net/core/flow_dissector.c' line='610' column='1'/>
+        <parameter type-id='type-id-11' name='hlen' filepath='net/core/flow_dissector.c' line='610' column='1'/>
+        <parameter type-id='type-id-10' name='flags' filepath='net/core/flow_dissector.c' line='611' column='1'/>
+        <return type-id='type-id-211'/>
       </function-decl>
-      <function-decl name='ethtool_op_get_link' mangled-name='ethtool_op_get_link' filepath='net/core/ethtool.c' line='37' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ethtool_op_get_link'>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/core/ethtool.c' line='37' column='1'/>
-        <return type-id='type-id-7'/>
-      </function-decl>
-      <function-decl name='ethtool_op_get_ts_info' mangled-name='ethtool_op_get_ts_info' filepath='net/core/ethtool.c' line='43' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ethtool_op_get_ts_info'>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/core/ethtool.c' line='43' column='1'/>
-        <parameter type-id='type-id-2768' name='info' filepath='net/core/ethtool.c' line='43' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-5203'>
-        <parameter type-id='type-id-5170'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8237'>
+        <parameter type-id='type-id-8207'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-5204'>
-        <parameter type-id='type-id-5170'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8238'>
+        <parameter type-id='type-id-8207'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-5205'>
-        <parameter type-id='type-id-5170'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-688'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8239'>
+        <parameter type-id='type-id-8207'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-289'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-5206'>
-        <parameter type-id='type-id-1696'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8240'>
+        <parameter type-id='type-id-8251'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-5207'>
-        <parameter type-id='type-id-1696'/>
-        <parameter type-id='type-id-2757'/>
-        <parameter type-id='type-id-3121'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8241'>
+        <parameter type-id='type-id-8251'/>
+        <parameter type-id='type-id-6993'/>
+        <parameter type-id='type-id-67'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-5208'>
-        <parameter type-id='type-id-1696'/>
-        <parameter type-id='type-id-2761'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8242'>
+        <parameter type-id='type-id-8251'/>
+        <parameter type-id='type-id-6997'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-5209'>
-        <parameter type-id='type-id-1696'/>
-        <parameter type-id='type-id-2768'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8243'>
+        <parameter type-id='type-id-8251'/>
+        <parameter type-id='type-id-7004'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-5210'>
-        <parameter type-id='type-id-1696'/>
-        <parameter type-id='type-id-5202'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8244'>
+        <parameter type-id='type-id-8251'/>
+        <parameter type-id='type-id-8235'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-5211'>
-        <parameter type-id='type-id-1696'/>
-        <parameter type-id='type-id-2769'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8245'>
+        <parameter type-id='type-id-8251'/>
+        <parameter type-id='type-id-7005'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-5212'>
-        <parameter type-id='type-id-1696'/>
-        <parameter type-id='type-id-2784'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8246'>
+        <parameter type-id='type-id-8251'/>
+        <parameter type-id='type-id-7016'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-5213'>
-        <parameter type-id='type-id-1696'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8247'>
+        <parameter type-id='type-id-8251'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-5214'>
-        <parameter type-id='type-id-1696'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-688'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8248'>
+        <parameter type-id='type-id-8251'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-289'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-5215'>
-        <parameter type-id='type-id-1696'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-688'/>
-        <parameter type-id='type-id-688'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8249'>
+        <parameter type-id='type-id-8251'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-289'/>
+        <parameter type-id='type-id-289'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-5216'>
-        <parameter type-id='type-id-1696'/>
-        <parameter type-id='type-id-33'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8250'>
+        <parameter type-id='type-id-8251'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-5220'>
-        <parameter type-id='type-id-1696'/>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-33'/>
+      <function-type size-in-bits='64' id='type-id-8252'>
+        <parameter type-id='type-id-8251'/>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-211'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-5221'>
-        <parameter type-id='type-id-5166'/>
-        <return type-id='type-id-81'/>
+      <function-type size-in-bits='64' id='type-id-8253'>
+        <parameter type-id='type-id-8196'/>
+        <return type-id='type-id-73'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-5222'>
-        <parameter type-id='type-id-1696'/>
-        <return type-id='type-id-81'/>
+      <function-type size-in-bits='64' id='type-id-8254'>
+        <parameter type-id='type-id-8251'/>
+        <return type-id='type-id-73'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-5223'>
-        <parameter type-id='type-id-1696'/>
-        <parameter type-id='type-id-2766'/>
-        <parameter type-id='type-id-1510'/>
-        <return type-id='type-id-81'/>
+      <function-type size-in-bits='64' id='type-id-8255'>
+        <parameter type-id='type-id-8251'/>
+        <parameter type-id='type-id-7002'/>
+        <parameter type-id='type-id-1888'/>
+        <return type-id='type-id-73'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-5224'>
-        <parameter type-id='type-id-1696'/>
-        <parameter type-id='type-id-2769'/>
-        <return type-id='type-id-81'/>
+      <function-type size-in-bits='64' id='type-id-8256'>
+        <parameter type-id='type-id-8251'/>
+        <parameter type-id='type-id-7005'/>
+        <return type-id='type-id-73'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-5225'>
-        <parameter type-id='type-id-1696'/>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-81'/>
+      <function-type size-in-bits='64' id='type-id-8257'>
+        <parameter type-id='type-id-8251'/>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-5226'>
-        <parameter type-id='type-id-1696'/>
-        <parameter type-id='type-id-33'/>
-        <parameter type-id='type-id-33'/>
-        <return type-id='type-id-81'/>
+      <function-type size-in-bits='64' id='type-id-8258'>
+        <parameter type-id='type-id-8251'/>
+        <parameter type-id='type-id-211'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-73'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-5228'>
-        <parameter type-id='type-id-1696'/>
-        <parameter type-id='type-id-3121'/>
-        <return type-id='type-id-81'/>
+      <function-type size-in-bits='64' id='type-id-8259'>
+        <parameter type-id='type-id-8251'/>
+        <parameter type-id='type-id-67'/>
+        <return type-id='type-id-73'/>
       </function-type>
     </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='net/core/skbuff.c' language='LANG_C89'>
-      <array-type-def dimensions='1' type-id='type-id-5229' size-in-bits='1536' id='type-id-5230'>
-        <subrange length='8' type-id='type-id-9' id='type-id-928'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-5231' size-in-bits='160' id='type-id-5232'>
-        <subrange length='1' type-id='type-id-9' id='type-id-180'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-5233' size-in-bits='384' id='type-id-5234'>
-        <subrange length='6' type-id='type-id-9' id='type-id-191'/>
-
-      </array-type-def>
-      <class-decl name='xfrm_offload' size-in-bits='160' is-struct='yes' visibility='default' filepath='include/net/xfrm.h' line='1071' column='1' id='type-id-5231'>
+    <abi-instr version='1.0' address-size='64' path='net/core/gro_cells.c' language='LANG_C89'>
+      <class-decl name='gro_cells' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/net/gro_cells.h' line='11' column='1' id='type-id-8260'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='seq' type-id='type-id-5235' visibility='default' filepath='include/net/xfrm.h' line='1076' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='flags' type-id='type-id-511' visibility='default' filepath='include/net/xfrm.h' line='1078' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='status' type-id='type-id-511' visibility='default' filepath='include/net/xfrm.h' line='1088' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='proto' type-id='type-id-895' visibility='default' filepath='include/net/xfrm.h' line='1098' column='1'/>
+          <var-decl name='cells' type-id='type-id-8261' visibility='default' filepath='include/net/gro_cells.h' line='12' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/net/xfrm.h' line='1073' column='1' id='type-id-5235'>
+      <class-decl name='gro_cell' size-in-bits='3072' is-struct='yes' visibility='default' filepath='net/core/gro_cells.c' line='7' column='1' id='type-id-8262'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='low' type-id='type-id-511' visibility='default' filepath='include/net/xfrm.h' line='1074' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='hi' type-id='type-id-511' visibility='default' filepath='include/net/xfrm.h' line='1075' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='napi_struct' size-in-bits='2880' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='319' column='1' id='type-id-5236'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='poll_list' type-id='type-id-20' visibility='default' filepath='include/linux/netdevice.h' line='326' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='state' type-id='type-id-16' visibility='default' filepath='include/linux/netdevice.h' line='328' column='1'/>
+          <var-decl name='napi_skbs' type-id='type-id-6446' visibility='default' filepath='net/core/gro_cells.c' line='8' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='weight' type-id='type-id-17' visibility='default' filepath='include/linux/netdevice.h' line='329' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='gro_bitmask' type-id='type-id-16' visibility='default' filepath='include/linux/netdevice.h' line='330' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='poll' type-id='type-id-5237' visibility='default' filepath='include/linux/netdevice.h' line='331' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='dev' type-id='type-id-1650' visibility='default' filepath='include/linux/netdevice.h' line='335' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='gro_hash' type-id='type-id-5230' visibility='default' filepath='include/linux/netdevice.h' line='336' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='skb' type-id='type-id-1768' visibility='default' filepath='include/linux/netdevice.h' line='337' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='timer' type-id='type-id-681' visibility='default' filepath='include/linux/netdevice.h' line='338' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2560'>
-          <var-decl name='dev_list' type-id='type-id-20' visibility='default' filepath='include/linux/netdevice.h' line='339' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2688'>
-          <var-decl name='napi_hash_node' type-id='type-id-520' visibility='default' filepath='include/linux/netdevice.h' line='340' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2816'>
-          <var-decl name='napi_id' type-id='type-id-5' visibility='default' filepath='include/linux/netdevice.h' line='341' column='1'/>
+          <var-decl name='napi' type-id='type-id-3001' visibility='default' filepath='net/core/gro_cells.c' line='9' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='gro_list' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='305' column='1' id='type-id-5229'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/netdevice.h' line='306' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='count' type-id='type-id-17' visibility='default' filepath='include/linux/netdevice.h' line='307' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='skb_shared_hwtstamps' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/skbuff.h' line='400' column='1' id='type-id-5238'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='hwtstamp' type-id='type-id-682' visibility='default' filepath='include/linux/skbuff.h' line='401' column='1'/>
-        </data-member>
-      </class-decl>
-      <pointer-type-def type-id='type-id-5239' size-in-bits='64' id='type-id-5237'/>
-      <pointer-type-def type-id='type-id-5236' size-in-bits='64' id='type-id-5240'/>
-      <pointer-type-def type-id='type-id-1661' size-in-bits='64' id='type-id-5241'/>
-      <pointer-type-def type-id='type-id-5238' size-in-bits='64' id='type-id-5242'/>
-      <function-decl name='__alloc_skb' mangled-name='__alloc_skb' filepath='net/core/skbuff.c' line='177' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__alloc_skb'>
-        <parameter type-id='type-id-5' name='size' filepath='net/core/skbuff.c' line='177' column='1'/>
-        <parameter type-id='type-id-485' name='gfp_mask' filepath='net/core/skbuff.c' line='177' column='1'/>
-        <parameter type-id='type-id-17' name='flags' filepath='net/core/skbuff.c' line='178' column='1'/>
-        <parameter type-id='type-id-17' name='node' filepath='net/core/skbuff.c' line='178' column='1'/>
-        <return type-id='type-id-1768'/>
+      <pointer-type-def type-id='type-id-8262' size-in-bits='64' id='type-id-8261'/>
+      <pointer-type-def type-id='type-id-8260' size-in-bits='64' id='type-id-8263'/>
+      <function-decl name='gro_cells_receive' mangled-name='gro_cells_receive' filepath='net/core/gro_cells.c' line='12' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gro_cells_receive'>
+        <parameter type-id='type-id-8263' name='gcells' filepath='net/core/gro_cells.c' line='12' column='1'/>
+        <parameter type-id='type-id-513' name='skb' filepath='net/core/gro_cells.c' line='12' column='1'/>
+        <return type-id='type-id-11'/>
       </function-decl>
-      <function-decl name='build_skb' mangled-name='build_skb' filepath='net/core/skbuff.c' line='310' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='build_skb'>
-        <parameter type-id='type-id-15' name='data' filepath='net/core/skbuff.c' line='310' column='1'/>
-        <parameter type-id='type-id-5' name='frag_size' filepath='net/core/skbuff.c' line='310' column='1'/>
-        <return type-id='type-id-1768'/>
+      <function-decl name='gro_cells_init' mangled-name='gro_cells_init' filepath='net/core/gro_cells.c' line='69' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gro_cells_init'>
+        <parameter type-id='type-id-8263' name='gcells' filepath='net/core/gro_cells.c' line='69' column='1'/>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/core/gro_cells.c' line='69' column='1'/>
+        <return type-id='type-id-11'/>
       </function-decl>
-      <function-decl name='__netdev_alloc_skb' mangled-name='__netdev_alloc_skb' filepath='net/core/skbuff.c' line='390' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__netdev_alloc_skb'>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/core/skbuff.c' line='390' column='1'/>
-        <parameter type-id='type-id-5' name='len' filepath='net/core/skbuff.c' line='390' column='1'/>
-        <parameter type-id='type-id-485' name='gfp_mask' filepath='net/core/skbuff.c' line='391' column='1'/>
-        <return type-id='type-id-1768'/>
-      </function-decl>
-      <function-decl name='__napi_alloc_skb' mangled-name='__napi_alloc_skb' filepath='net/core/skbuff.c' line='459' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__napi_alloc_skb'>
-        <parameter type-id='type-id-5240' name='napi' filepath='net/core/skbuff.c' line='459' column='1'/>
-        <parameter type-id='type-id-5' name='len' filepath='net/core/skbuff.c' line='459' column='1'/>
-        <parameter type-id='type-id-485' name='gfp_mask' filepath='net/core/skbuff.c' line='460' column='1'/>
-        <return type-id='type-id-1768'/>
-      </function-decl>
-      <function-decl name='skb_add_rx_frag' mangled-name='skb_add_rx_frag' filepath='net/core/skbuff.c' line='506' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_add_rx_frag'>
-        <parameter type-id='type-id-1768' name='skb' filepath='net/core/skbuff.c' line='506' column='1'/>
-        <parameter type-id='type-id-17' name='i' filepath='net/core/skbuff.c' line='506' column='1'/>
-        <parameter type-id='type-id-512' name='page' filepath='net/core/skbuff.c' line='506' column='1'/>
-        <parameter type-id='type-id-17' name='off' filepath='net/core/skbuff.c' line='506' column='1'/>
-        <parameter type-id='type-id-17' name='size' filepath='net/core/skbuff.c' line='507' column='1'/>
-        <parameter type-id='type-id-5' name='truesize' filepath='net/core/skbuff.c' line='507' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='skb_coalesce_rx_frag' mangled-name='skb_coalesce_rx_frag' filepath='net/core/skbuff.c' line='516' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_coalesce_rx_frag'>
-        <parameter type-id='type-id-1768' name='skb' filepath='net/core/skbuff.c' line='516' column='1'/>
-        <parameter type-id='type-id-17' name='i' filepath='net/core/skbuff.c' line='516' column='1'/>
-        <parameter type-id='type-id-17' name='size' filepath='net/core/skbuff.c' line='516' column='1'/>
-        <parameter type-id='type-id-5' name='truesize' filepath='net/core/skbuff.c' line='517' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='kfree_skb' mangled-name='kfree_skb' filepath='net/core/skbuff.c' line='657' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kfree_skb'>
-        <parameter type-id='type-id-1768' name='skb' filepath='net/core/skbuff.c' line='657' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='consume_skb' mangled-name='consume_skb' filepath='net/core/skbuff.c' line='699' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='consume_skb'>
-        <parameter type-id='type-id-1768' name='skb' filepath='net/core/skbuff.c' line='699' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='napi_consume_skb' mangled-name='napi_consume_skb' filepath='net/core/skbuff.c' line='762' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='napi_consume_skb'>
-        <parameter type-id='type-id-1768' name='skb' filepath='net/core/skbuff.c' line='762' column='1'/>
-        <parameter type-id='type-id-17' name='budget' filepath='net/core/skbuff.c' line='762' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='skb_clone' mangled-name='skb_clone' filepath='net/core/skbuff.c' line='1266' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_clone'>
-        <parameter type-id='type-id-1768' name='skb' filepath='net/core/skbuff.c' line='1266' column='1'/>
-        <parameter type-id='type-id-485' name='gfp_mask' filepath='net/core/skbuff.c' line='1266' column='1'/>
-        <return type-id='type-id-1768'/>
-      </function-decl>
-      <function-decl name='skb_copy' mangled-name='skb_copy' filepath='net/core/skbuff.c' line='1345' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_copy'>
-        <parameter type-id='type-id-2720' name='skb' filepath='net/core/skbuff.c' line='1345' column='1'/>
-        <parameter type-id='type-id-485' name='gfp_mask' filepath='net/core/skbuff.c' line='1345' column='1'/>
-        <return type-id='type-id-1768'/>
-      </function-decl>
-      <function-decl name='skb_put' mangled-name='skb_put' filepath='net/core/skbuff.c' line='1695' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_put'>
-        <parameter type-id='type-id-1768' name='skb' filepath='net/core/skbuff.c' line='1695' column='1'/>
-        <parameter type-id='type-id-5' name='len' filepath='net/core/skbuff.c' line='1695' column='1'/>
-        <return type-id='type-id-15'/>
-      </function-decl>
-      <function-decl name='skb_trim' mangled-name='skb_trim' filepath='net/core/skbuff.c' line='1751' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_trim'>
-        <parameter type-id='type-id-1768' name='skb' filepath='net/core/skbuff.c' line='1751' column='1'/>
-        <parameter type-id='type-id-5' name='len' filepath='net/core/skbuff.c' line='1751' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='skb_dequeue' mangled-name='skb_dequeue' filepath='net/core/skbuff.c' line='2814' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_dequeue'>
-        <parameter type-id='type-id-5241' name='list' filepath='net/core/skbuff.c' line='2814' column='1'/>
-        <return type-id='type-id-1768'/>
-      </function-decl>
-      <function-decl name='skb_queue_purge' mangled-name='skb_queue_purge' filepath='net/core/skbuff.c' line='2854' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_queue_purge'>
-        <parameter type-id='type-id-5241' name='list' filepath='net/core/skbuff.c' line='2854' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='skb_queue_tail' mangled-name='skb_queue_tail' filepath='net/core/skbuff.c' line='2920' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_queue_tail'>
-        <parameter type-id='type-id-5241' name='list' filepath='net/core/skbuff.c' line='2920' column='1'/>
-        <parameter type-id='type-id-1768' name='newsk' filepath='net/core/skbuff.c' line='2920' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='skb_to_sgvec' mangled-name='skb_to_sgvec' filepath='net/core/skbuff.c' line='4058' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_to_sgvec'>
-        <parameter type-id='type-id-1768' name='skb' filepath='net/core/skbuff.c' line='4058' column='1'/>
-        <parameter type-id='type-id-920' name='sg' filepath='net/core/skbuff.c' line='4058' column='1'/>
-        <parameter type-id='type-id-17' name='offset' filepath='net/core/skbuff.c' line='4058' column='1'/>
-        <parameter type-id='type-id-17' name='len' filepath='net/core/skbuff.c' line='4058' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='skb_tstamp_tx' mangled-name='skb_tstamp_tx' filepath='net/core/skbuff.c' line='4432' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_tstamp_tx'>
-        <parameter type-id='type-id-1768' name='orig_skb' filepath='net/core/skbuff.c' line='4432' column='1'/>
-        <parameter type-id='type-id-5242' name='hwtstamps' filepath='net/core/skbuff.c' line='4433' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='skb_partial_csum_set' mangled-name='skb_partial_csum_set' filepath='net/core/skbuff.c' line='4478' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_partial_csum_set'>
-        <parameter type-id='type-id-1768' name='skb' filepath='net/core/skbuff.c' line='4478' column='1'/>
-        <parameter type-id='type-id-688' name='start' filepath='net/core/skbuff.c' line='4478' column='1'/>
-        <parameter type-id='type-id-688' name='off' filepath='net/core/skbuff.c' line='4478' column='1'/>
-        <return type-id='type-id-33'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-5239'>
-        <parameter type-id='type-id-5240'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='net/core/utils.c' language='LANG_C89'>
-      <function-decl name='net_ratelimit' mangled-name='net_ratelimit' filepath='net/core/utils.c' line='42' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='net_ratelimit'>
-        <return type-id='type-id-17'/>
+      <function-decl name='gro_cells_destroy' mangled-name='gro_cells_destroy' filepath='net/core/gro_cells.c' line='92' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gro_cells_destroy'>
+        <parameter type-id='type-id-8263' name='gcells' filepath='net/core/gro_cells.c' line='92' column='1'/>
+        <return type-id='type-id-73'/>
       </function-decl>
     </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/usb/core/usb.c' language='LANG_C89'>
-      <array-type-def dimensions='1' type-id='type-id-2462' size-in-bits='32' id='type-id-5243'>
-        <subrange length='1' type-id='type-id-9' id='type-id-180'/>
-
-      </array-type-def>
-      <class-decl name='ep_device' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-5244'/>
-      <class-decl name='wusb_dev' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-5245'/>
-      <array-type-def dimensions='1' type-id='type-id-5246' size-in-bits='1024' id='type-id-5247'>
-        <subrange length='16' type-id='type-id-9' id='type-id-135'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-5248' size-in-bits='infinite' id='type-id-5249'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-5250' size-in-bits='2048' id='type-id-5251'>
-        <subrange length='32' type-id='type-id-9' id='type-id-941'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-5252' size-in-bits='1024' id='type-id-5253'>
-        <subrange length='16' type-id='type-id-9' id='type-id-135'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-5254' size-in-bits='2048' id='type-id-5255'>
-        <subrange length='32' type-id='type-id-9' id='type-id-941'/>
-
-      </array-type-def>
-      <class-decl name='usb_device' size-in-bits='11264' is-struct='yes' visibility='default' filepath='include/linux/usb.h' line='631' column='1' id='type-id-5256'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='devnum' type-id='type-id-17' visibility='default' filepath='include/linux/usb.h' line='632' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='devpath' type-id='type-id-43' visibility='default' filepath='include/linux/usb.h' line='633' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='route' type-id='type-id-7' visibility='default' filepath='include/linux/usb.h' line='634' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='state' type-id='type-id-5257' visibility='default' filepath='include/linux/usb.h' line='635' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='speed' type-id='type-id-5258' visibility='default' filepath='include/linux/usb.h' line='636' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='rx_lanes' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='637' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='tx_lanes' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='638' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='tt' type-id='type-id-5259' visibility='default' filepath='include/linux/usb.h' line='640' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='ttport' type-id='type-id-17' visibility='default' filepath='include/linux/usb.h' line='641' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='toggle' type-id='type-id-488' visibility='default' filepath='include/linux/usb.h' line='643' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='parent' type-id='type-id-5260' visibility='default' filepath='include/linux/usb.h' line='645' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='bus' type-id='type-id-5261' visibility='default' filepath='include/linux/usb.h' line='646' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='ep0' type-id='type-id-5262' visibility='default' filepath='include/linux/usb.h' line='647' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='dev' type-id='type-id-388' visibility='default' filepath='include/linux/usb.h' line='649' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7488'>
-          <var-decl name='descriptor' type-id='type-id-5263' visibility='default' filepath='include/linux/usb.h' line='651' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7680'>
-          <var-decl name='bos' type-id='type-id-5264' visibility='default' filepath='include/linux/usb.h' line='652' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7744'>
-          <var-decl name='config' type-id='type-id-5265' visibility='default' filepath='include/linux/usb.h' line='653' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7808'>
-          <var-decl name='actconfig' type-id='type-id-5265' visibility='default' filepath='include/linux/usb.h' line='655' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7872'>
-          <var-decl name='ep_in' type-id='type-id-5247' visibility='default' filepath='include/linux/usb.h' line='656' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8896'>
-          <var-decl name='ep_out' type-id='type-id-5247' visibility='default' filepath='include/linux/usb.h' line='657' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9920'>
-          <var-decl name='rawdescriptors' type-id='type-id-3458' visibility='default' filepath='include/linux/usb.h' line='659' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9984'>
-          <var-decl name='bus_mA' type-id='type-id-312' visibility='default' filepath='include/linux/usb.h' line='661' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10000'>
-          <var-decl name='portnum' type-id='type-id-214' visibility='default' filepath='include/linux/usb.h' line='662' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10008'>
-          <var-decl name='level' type-id='type-id-214' visibility='default' filepath='include/linux/usb.h' line='663' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='31'>
-          <var-decl name='can_submit' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='665' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='30'>
-          <var-decl name='persist_enabled' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='666' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='29'>
-          <var-decl name='have_langid' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='667' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='28'>
-          <var-decl name='authorized' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='668' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='27'>
-          <var-decl name='authenticated' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='669' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='26'>
-          <var-decl name='wusb' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='670' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='25'>
-          <var-decl name='lpm_capable' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='671' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='24'>
-          <var-decl name='usb2_hw_lpm_capable' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='672' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='23'>
-          <var-decl name='usb2_hw_lpm_besl_capable' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='673' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='22'>
-          <var-decl name='usb2_hw_lpm_enabled' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='674' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='21'>
-          <var-decl name='usb2_hw_lpm_allowed' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='675' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='20'>
-          <var-decl name='usb3_lpm_u1_enabled' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='676' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='19'>
-          <var-decl name='usb3_lpm_u2_enabled' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='677' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10048'>
-          <var-decl name='string_langid' type-id='type-id-17' visibility='default' filepath='include/linux/usb.h' line='678' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10112'>
-          <var-decl name='product' type-id='type-id-2' visibility='default' filepath='include/linux/usb.h' line='681' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10176'>
-          <var-decl name='manufacturer' type-id='type-id-2' visibility='default' filepath='include/linux/usb.h' line='682' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10240'>
-          <var-decl name='serial' type-id='type-id-2' visibility='default' filepath='include/linux/usb.h' line='683' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10304'>
-          <var-decl name='filelist' type-id='type-id-20' visibility='default' filepath='include/linux/usb.h' line='685' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10432'>
-          <var-decl name='maxchild' type-id='type-id-17' visibility='default' filepath='include/linux/usb.h' line='687' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10464'>
-          <var-decl name='quirks' type-id='type-id-7' visibility='default' filepath='include/linux/usb.h' line='689' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10496'>
-          <var-decl name='urbnum' type-id='type-id-26' visibility='default' filepath='include/linux/usb.h' line='690' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10560'>
-          <var-decl name='active_duration' type-id='type-id-16' visibility='default' filepath='include/linux/usb.h' line='692' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10624'>
-          <var-decl name='connect_time' type-id='type-id-16' visibility='default' filepath='include/linux/usb.h' line='695' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='31'>
-          <var-decl name='do_remote_wakeup' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='697' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='30'>
-          <var-decl name='reset_resume' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='698' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='29'>
-          <var-decl name='port_is_suspended' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='699' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10752'>
-          <var-decl name='wusb_dev' type-id='type-id-5266' visibility='default' filepath='include/linux/usb.h' line='701' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10816'>
-          <var-decl name='slot_id' type-id='type-id-17' visibility='default' filepath='include/linux/usb.h' line='702' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10848'>
-          <var-decl name='removable' type-id='type-id-5267' visibility='default' filepath='include/linux/usb.h' line='703' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10880'>
-          <var-decl name='l1_params' type-id='type-id-5268' visibility='default' filepath='include/linux/usb.h' line='704' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10944'>
-          <var-decl name='u1_params' type-id='type-id-5269' visibility='default' filepath='include/linux/usb.h' line='705' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='11072'>
-          <var-decl name='u2_params' type-id='type-id-5269' visibility='default' filepath='include/linux/usb.h' line='706' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='11200'>
-          <var-decl name='lpm_disable_count' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='707' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='11232'>
-          <var-decl name='hub_delay' type-id='type-id-688' visibility='default' filepath='include/linux/usb.h' line='709' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='usb_device_state' filepath='include/uapi/linux/usb/ch9.h' line='1147' column='1' id='type-id-5257'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='USB_STATE_NOTATTACHED' value='0'/>
-        <enumerator name='USB_STATE_ATTACHED' value='1'/>
-        <enumerator name='USB_STATE_POWERED' value='2'/>
-        <enumerator name='USB_STATE_RECONNECTING' value='3'/>
-        <enumerator name='USB_STATE_UNAUTHENTICATED' value='4'/>
-        <enumerator name='USB_STATE_DEFAULT' value='5'/>
-        <enumerator name='USB_STATE_ADDRESS' value='6'/>
-        <enumerator name='USB_STATE_CONFIGURED' value='7'/>
-        <enumerator name='USB_STATE_SUSPENDED' value='8'/>
-      </enum-decl>
-      <enum-decl name='usb_device_speed' filepath='include/uapi/linux/usb/ch9.h' line='1137' column='1' id='type-id-5258'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='USB_SPEED_UNKNOWN' value='0'/>
-        <enumerator name='USB_SPEED_LOW' value='1'/>
-        <enumerator name='USB_SPEED_FULL' value='2'/>
-        <enumerator name='USB_SPEED_HIGH' value='3'/>
-        <enumerator name='USB_SPEED_WIRELESS' value='4'/>
-        <enumerator name='USB_SPEED_SUPER' value='5'/>
-        <enumerator name='USB_SPEED_SUPER_PLUS' value='6'/>
-      </enum-decl>
-      <class-decl name='usb_tt' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/usb/hcd.h' line='543' column='1' id='type-id-5270'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='hub' type-id='type-id-5260' visibility='default' filepath='include/linux/usb/hcd.h' line='544' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='multi' type-id='type-id-17' visibility='default' filepath='include/linux/usb/hcd.h' line='545' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='think_time' type-id='type-id-5' visibility='default' filepath='include/linux/usb/hcd.h' line='546' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='hcpriv' type-id='type-id-15' visibility='default' filepath='include/linux/usb/hcd.h' line='547' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='include/linux/usb/hcd.h' line='550' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='clear_list' type-id='type-id-20' visibility='default' filepath='include/linux/usb/hcd.h' line='551' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='clear_work' type-id='type-id-255' visibility='default' filepath='include/linux/usb/hcd.h' line='552' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='usb_bus' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/linux/usb.h' line='424' column='1' id='type-id-5271'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='controller' type-id='type-id-240' visibility='default' filepath='include/linux/usb.h' line='425' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='sysdev' type-id='type-id-240' visibility='default' filepath='include/linux/usb.h' line='426' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='busnum' type-id='type-id-17' visibility='default' filepath='include/linux/usb.h' line='427' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='bus_name' type-id='type-id-4' visibility='default' filepath='include/linux/usb.h' line='428' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='uses_dma' type-id='type-id-214' visibility='default' filepath='include/linux/usb.h' line='429' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='264'>
-          <var-decl name='uses_pio_for_control' type-id='type-id-214' visibility='default' filepath='include/linux/usb.h' line='430' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='272'>
-          <var-decl name='otg_port' type-id='type-id-214' visibility='default' filepath='include/linux/usb.h' line='434' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7'>
-          <var-decl name='is_b_host' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='435' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6'>
-          <var-decl name='b_hnp_enable' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='436' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5'>
-          <var-decl name='no_stop_on_short' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='437' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4'>
-          <var-decl name='no_sg_constraint' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='442' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='sg_tablesize' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='443' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='devnum_next' type-id='type-id-17' visibility='default' filepath='include/linux/usb.h' line='445' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='devnum_next_mutex' type-id='type-id-245' visibility='default' filepath='include/linux/usb.h' line='447' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='devmap' type-id='type-id-5272' visibility='default' filepath='include/linux/usb.h' line='449' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='root_hub' type-id='type-id-5260' visibility='default' filepath='include/linux/usb.h' line='450' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='hs_companion' type-id='type-id-5261' visibility='default' filepath='include/linux/usb.h' line='451' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='bandwidth_allocated' type-id='type-id-17' visibility='default' filepath='include/linux/usb.h' line='453' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='928'>
-          <var-decl name='bandwidth_int_reqs' type-id='type-id-17' visibility='default' filepath='include/linux/usb.h' line='460' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='bandwidth_isoc_reqs' type-id='type-id-17' visibility='default' filepath='include/linux/usb.h' line='461' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='992'>
-          <var-decl name='resuming_ports' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='463' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='usb_devmap' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/usb.h' line='417' column='1' id='type-id-5272'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='devicemap' type-id='type-id-219' visibility='default' filepath='include/linux/usb.h' line='418' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='usb_host_endpoint' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/usb.h' line='67' column='1' id='type-id-5262'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='desc' type-id='type-id-5273' visibility='default' filepath='include/linux/usb.h' line='68' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='72'>
-          <var-decl name='ss_ep_comp' type-id='type-id-5274' visibility='default' filepath='include/linux/usb.h' line='69' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='120'>
-          <var-decl name='ssp_isoc_ep_comp' type-id='type-id-5275' visibility='default' filepath='include/linux/usb.h' line='70' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='urb_list' type-id='type-id-20' visibility='default' filepath='include/linux/usb.h' line='71' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='hcpriv' type-id='type-id-15' visibility='default' filepath='include/linux/usb.h' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='ep_dev' type-id='type-id-5276' visibility='default' filepath='include/linux/usb.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='extra' type-id='type-id-256' visibility='default' filepath='include/linux/usb.h' line='75' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='extralen' type-id='type-id-17' visibility='default' filepath='include/linux/usb.h' line='76' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='enabled' type-id='type-id-17' visibility='default' filepath='include/linux/usb.h' line='77' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='streams' type-id='type-id-17' visibility='default' filepath='include/linux/usb.h' line='78' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='usb_endpoint_descriptor' size-in-bits='72' is-struct='yes' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='400' column='1' id='type-id-5273'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bLength' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='401' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='bDescriptorType' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='402' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='bEndpointAddress' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='404' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='24'>
-          <var-decl name='bmAttributes' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='405' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='wMaxPacketSize' type-id='type-id-5123' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='406' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='bInterval' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='407' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='56'>
-          <var-decl name='bRefresh' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='411' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='bSynchAddress' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='412' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='usb_ss_ep_comp_descriptor' size-in-bits='48' is-struct='yes' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='682' column='1' id='type-id-5274'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bLength' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='683' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='bDescriptorType' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='684' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='bMaxBurst' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='686' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='24'>
-          <var-decl name='bmAttributes' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='687' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='wBytesPerInterval' type-id='type-id-5123' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='688' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='usb_ssp_isoc_ep_comp_descriptor' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='670' column='1' id='type-id-5275'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bLength' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='671' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='bDescriptorType' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='672' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='wReseved' type-id='type-id-5123' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='673' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='dwBytesPerInterval' type-id='type-id-2462' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='674' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='usb_device_descriptor' size-in-bits='144' is-struct='yes' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='289' column='1' id='type-id-5263'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bLength' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='290' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='bDescriptorType' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='291' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='bcdUSB' type-id='type-id-5123' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='293' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='bDeviceClass' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='294' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='40'>
-          <var-decl name='bDeviceSubClass' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='295' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='bDeviceProtocol' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='296' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='56'>
-          <var-decl name='bMaxPacketSize0' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='297' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='idVendor' type-id='type-id-5123' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='298' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='80'>
-          <var-decl name='idProduct' type-id='type-id-5123' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='299' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='bcdDevice' type-id='type-id-5123' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='300' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='112'>
-          <var-decl name='iManufacturer' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='301' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='120'>
-          <var-decl name='iProduct' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='302' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='iSerialNumber' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='303' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='136'>
-          <var-decl name='bNumConfigurations' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='304' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='usb_host_bos' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/usb.h' line='396' column='1' id='type-id-5277'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='desc' type-id='type-id-5278' visibility='default' filepath='include/linux/usb.h' line='397' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ext_cap' type-id='type-id-5279' visibility='default' filepath='include/linux/usb.h' line='400' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='ss_cap' type-id='type-id-5280' visibility='default' filepath='include/linux/usb.h' line='401' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='ssp_cap' type-id='type-id-5281' visibility='default' filepath='include/linux/usb.h' line='402' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='ss_id' type-id='type-id-5282' visibility='default' filepath='include/linux/usb.h' line='403' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='ptm_cap' type-id='type-id-5283' visibility='default' filepath='include/linux/usb.h' line='404' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='usb_bos_descriptor' size-in-bits='40' is-struct='yes' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='837' column='1' id='type-id-5284'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bLength' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='838' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='bDescriptorType' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='839' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='wTotalLength' type-id='type-id-5123' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='841' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='bNumDeviceCaps' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='842' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='usb_ext_cap_descriptor' size-in-bits='56' is-struct='yes' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='888' column='1' id='type-id-5285'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bLength' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='889' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='bDescriptorType' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='890' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='bDevCapabilityType' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='891' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='24'>
-          <var-decl name='bmAttributes' type-id='type-id-2462' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='892' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='usb_ss_cap_descriptor' size-in-bits='80' is-struct='yes' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='908' column='1' id='type-id-5286'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bLength' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='909' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='bDescriptorType' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='910' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='bDevCapabilityType' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='911' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='24'>
-          <var-decl name='bmAttributes' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='912' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='wSpeedSupported' type-id='type-id-5123' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='914' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='bFunctionalitySupport' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='919' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='56'>
-          <var-decl name='bU1devExitLat' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='920' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='bU2DevExitLat' type-id='type-id-5123' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='921' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='usb_ssp_cap_descriptor' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='946' column='1' id='type-id-5287'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bLength' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='947' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='bDescriptorType' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='948' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='bDevCapabilityType' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='949' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='24'>
-          <var-decl name='bReserved' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='950' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='bmAttributes' type-id='type-id-2462' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='951' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='wFunctionalitySupport' type-id='type-id-5123' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='954' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='80'>
-          <var-decl name='wReserved' type-id='type-id-5123' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='958' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='bmSublinkSpeedAttr' type-id='type-id-5243' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='959' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='usb_ss_container_id_descriptor' size-in-bits='160' is-struct='yes' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='931' column='1' id='type-id-5288'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bLength' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='932' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='bDescriptorType' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='933' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='bDevCapabilityType' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='934' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='24'>
-          <var-decl name='bReserved' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='935' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='ContainerID' type-id='type-id-938' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='936' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='usb_ptm_cap_descriptor' size-in-bits='24' is-struct='yes' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='1071' column='1' id='type-id-5289'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bLength' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='1072' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='bDescriptorType' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='1073' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='bDevCapabilityType' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='1074' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='usb_host_config' size-in-bits='5440' is-struct='yes' visibility='default' filepath='include/linux/usb.h' line='374' column='1' id='type-id-5290'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='desc' type-id='type-id-5291' visibility='default' filepath='include/linux/usb.h' line='375' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='string' type-id='type-id-2' visibility='default' filepath='include/linux/usb.h' line='377' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='intf_assoc' type-id='type-id-5253' visibility='default' filepath='include/linux/usb.h' line='381' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='interface' type-id='type-id-5251' visibility='default' filepath='include/linux/usb.h' line='385' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3264'>
-          <var-decl name='intf_cache' type-id='type-id-5255' visibility='default' filepath='include/linux/usb.h' line='389' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5312'>
-          <var-decl name='extra' type-id='type-id-256' visibility='default' filepath='include/linux/usb.h' line='391' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5376'>
-          <var-decl name='extralen' type-id='type-id-17' visibility='default' filepath='include/linux/usb.h' line='392' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='usb_config_descriptor' size-in-bits='72' is-struct='yes' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='345' column='1' id='type-id-5291'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bLength' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='346' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='bDescriptorType' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='347' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='wTotalLength' type-id='type-id-5123' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='349' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='bNumInterfaces' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='350' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='40'>
-          <var-decl name='bConfigurationValue' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='351' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='iConfiguration' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='352' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='56'>
-          <var-decl name='bmAttributes' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='353' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='bMaxPower' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='354' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='usb_interface_assoc_descriptor' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='776' column='1' id='type-id-5292'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bLength' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='777' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='bDescriptorType' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='778' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='bFirstInterface' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='780' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='24'>
-          <var-decl name='bInterfaceCount' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='781' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='bFunctionClass' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='782' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='40'>
-          <var-decl name='bFunctionSubClass' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='783' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='bFunctionProtocol' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='784' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='56'>
-          <var-decl name='iFunction' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='785' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='usb_interface' size-in-bits='6912' is-struct='yes' visibility='default' filepath='include/linux/usb.h' line='232' column='1' id='type-id-5293'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='altsetting' type-id='type-id-5294' visibility='default' filepath='include/linux/usb.h' line='235' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='cur_altsetting' type-id='type-id-5294' visibility='default' filepath='include/linux/usb.h' line='237' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='num_altsetting' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='239' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='intf_assoc' type-id='type-id-5252' visibility='default' filepath='include/linux/usb.h' line='243' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='minor' type-id='type-id-17' visibility='default' filepath='include/linux/usb.h' line='245' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='condition' type-id='type-id-5295' visibility='default' filepath='include/linux/usb.h' line='247' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='31'>
-          <var-decl name='sysfs_files_created' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='248' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='30'>
-          <var-decl name='ep_devs_created' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='249' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='29'>
-          <var-decl name='unregistering' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='250' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='28'>
-          <var-decl name='needs_remote_wakeup' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='251' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='27'>
-          <var-decl name='needs_altsetting0' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='252' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='26'>
-          <var-decl name='needs_binding' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='253' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='25'>
-          <var-decl name='resetting_device' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='254' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='24'>
-          <var-decl name='authorized' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='255' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='dev' type-id='type-id-388' visibility='default' filepath='include/linux/usb.h' line='257' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6592'>
-          <var-decl name='usb_dev' type-id='type-id-240' visibility='default' filepath='include/linux/usb.h' line='258' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6656'>
-          <var-decl name='reset_ws' type-id='type-id-255' visibility='default' filepath='include/linux/usb.h' line='259' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='usb_host_interface' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/usb.h' line='82' column='1' id='type-id-5248'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='desc' type-id='type-id-5296' visibility='default' filepath='include/linux/usb.h' line='83' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='extralen' type-id='type-id-17' visibility='default' filepath='include/linux/usb.h' line='85' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='extra' type-id='type-id-256' visibility='default' filepath='include/linux/usb.h' line='86' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='endpoint' type-id='type-id-5246' visibility='default' filepath='include/linux/usb.h' line='91' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='string' type-id='type-id-2' visibility='default' filepath='include/linux/usb.h' line='93' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='usb_interface_descriptor' size-in-bits='72' is-struct='yes' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='382' column='1' id='type-id-5296'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bLength' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='383' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='bDescriptorType' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='384' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='bInterfaceNumber' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='386' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='24'>
-          <var-decl name='bAlternateSetting' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='387' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='bNumEndpoints' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='388' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='40'>
-          <var-decl name='bInterfaceClass' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='389' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='bInterfaceSubClass' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='390' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='56'>
-          <var-decl name='bInterfaceProtocol' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='391' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='iInterface' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='392' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='usb_interface_condition' filepath='include/linux/usb.h' line='96' column='1' id='type-id-5295'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='USB_INTERFACE_UNBOUND' value='0'/>
-        <enumerator name='USB_INTERFACE_BINDING' value='1'/>
-        <enumerator name='USB_INTERFACE_BOUND' value='2'/>
-        <enumerator name='USB_INTERFACE_UNBINDING' value='3'/>
-      </enum-decl>
-      <class-decl name='usb_interface_cache' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/usb.h' line='322' column='1' id='type-id-5297'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='num_altsetting' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='323' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='ref' type-id='type-id-239' visibility='default' filepath='include/linux/usb.h' line='324' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='altsetting' type-id='type-id-5249' visibility='default' filepath='include/linux/usb.h' line='328' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='usb_device_removable' filepath='include/linux/usb.h' line='477' column='1' id='type-id-5267'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='USB_DEVICE_REMOVABLE_UNKNOWN' value='0'/>
-        <enumerator name='USB_DEVICE_REMOVABLE' value='1'/>
-        <enumerator name='USB_DEVICE_FIXED' value='2'/>
-      </enum-decl>
-      <class-decl name='usb2_lpm_parameters' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/usb.h' line='503' column='1' id='type-id-5268'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='besl' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='507' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='timeout' type-id='type-id-17' visibility='default' filepath='include/linux/usb.h' line='513' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='usb3_lpm_parameters' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/usb.h' line='523' column='1' id='type-id-5269'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mel' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='530' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='pel' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='536' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='sel' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='546' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='timeout' type-id='type-id-17' visibility='default' filepath='include/linux/usb.h' line='552' column='1'/>
-        </data-member>
-      </class-decl>
-      <pointer-type-def type-id='type-id-2' size-in-bits='64' id='type-id-3458'/>
-      <pointer-type-def type-id='type-id-5244' size-in-bits='64' id='type-id-5276'/>
-      <pointer-type-def type-id='type-id-5284' size-in-bits='64' id='type-id-5278'/>
-      <pointer-type-def type-id='type-id-5271' size-in-bits='64' id='type-id-5261'/>
-      <pointer-type-def type-id='type-id-5256' size-in-bits='64' id='type-id-5260'/>
-      <pointer-type-def type-id='type-id-5285' size-in-bits='64' id='type-id-5279'/>
-      <pointer-type-def type-id='type-id-5277' size-in-bits='64' id='type-id-5264'/>
-      <pointer-type-def type-id='type-id-5290' size-in-bits='64' id='type-id-5265'/>
-      <pointer-type-def type-id='type-id-5262' size-in-bits='64' id='type-id-5246'/>
-      <pointer-type-def type-id='type-id-5248' size-in-bits='64' id='type-id-5294'/>
-      <pointer-type-def type-id='type-id-5293' size-in-bits='64' id='type-id-5250'/>
-      <pointer-type-def type-id='type-id-5292' size-in-bits='64' id='type-id-5252'/>
-      <pointer-type-def type-id='type-id-5297' size-in-bits='64' id='type-id-5254'/>
-      <pointer-type-def type-id='type-id-5289' size-in-bits='64' id='type-id-5283'/>
-      <pointer-type-def type-id='type-id-5286' size-in-bits='64' id='type-id-5280'/>
-      <pointer-type-def type-id='type-id-5288' size-in-bits='64' id='type-id-5282'/>
-      <pointer-type-def type-id='type-id-5287' size-in-bits='64' id='type-id-5281'/>
-      <pointer-type-def type-id='type-id-5270' size-in-bits='64' id='type-id-5259'/>
-      <pointer-type-def type-id='type-id-5245' size-in-bits='64' id='type-id-5266'/>
-      <function-decl name='usb_disabled' mangled-name='usb_disabled' filepath='drivers/usb/core/usb.c' line='61' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_disabled'>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='usb_get_dev' mangled-name='usb_get_dev' filepath='drivers/usb/core/usb.c' line='688' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_get_dev'>
-        <parameter type-id='type-id-5260' name='dev' filepath='drivers/usb/core/usb.c' line='688' column='1'/>
-        <return type-id='type-id-5260'/>
-      </function-decl>
-      <function-decl name='usb_put_dev' mangled-name='usb_put_dev' filepath='drivers/usb/core/usb.c' line='703' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_put_dev'>
-        <parameter type-id='type-id-5260' name='dev' filepath='drivers/usb/core/usb.c' line='703' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/usb/core/hcd.c' language='LANG_C89'>
-      <class-decl name='dma_pool' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-5298'/>
-      <class-decl name='extcon_dev' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-5299'/>
-      <class-decl name='regulator' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-5300'/>
-      <class-decl name='usb_gadget' size-in-bits='7232' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-5301'/>
-      <class-decl name='usb_phy_roothub' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-5302'/>
-      <array-type-def dimensions='1' type-id='type-id-5303' size-in-bits='256' id='type-id-5304'>
-        <subrange length='4' type-id='type-id-9' id='type-id-107'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-5305' size-in-bits='infinite' id='type-id-5306'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <class-decl name='usb_hcd' size-in-bits='4352' is-struct='yes' visibility='default' filepath='include/linux/usb/hcd.h' line='75' column='1' id='type-id-5307'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='self' type-id='type-id-5271' visibility='default' filepath='include/linux/usb/hcd.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='kref' type-id='type-id-239' visibility='default' filepath='include/linux/usb/hcd.h' line='81' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='product_desc' type-id='type-id-4' visibility='default' filepath='include/linux/usb/hcd.h' line='83' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='speed' type-id='type-id-17' visibility='default' filepath='include/linux/usb/hcd.h' line='84' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1184'>
-          <var-decl name='irq_descr' type-id='type-id-3435' visibility='default' filepath='include/linux/usb/hcd.h' line='88' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='rh_timer' type-id='type-id-417' visibility='default' filepath='include/linux/usb/hcd.h' line='90' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='status_urb' type-id='type-id-5308' visibility='default' filepath='include/linux/usb/hcd.h' line='91' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='wakeup_work' type-id='type-id-255' visibility='default' filepath='include/linux/usb/hcd.h' line='93' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='driver' type-id='type-id-5309' visibility='default' filepath='include/linux/usb/hcd.h' line='99' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='usb_phy' type-id='type-id-5310' visibility='default' filepath='include/linux/usb/hcd.h' line='105' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='phy_roothub' type-id='type-id-5311' visibility='default' filepath='include/linux/usb/hcd.h' line='106' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='include/linux/usb/hcd.h' line='112' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='31'>
-          <var-decl name='rh_registered' type-id='type-id-5' visibility='default' filepath='include/linux/usb/hcd.h' line='149' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='30'>
-          <var-decl name='rh_pollable' type-id='type-id-5' visibility='default' filepath='include/linux/usb/hcd.h' line='150' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='29'>
-          <var-decl name='msix_enabled' type-id='type-id-5' visibility='default' filepath='include/linux/usb/hcd.h' line='151' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='28'>
-          <var-decl name='msi_enabled' type-id='type-id-5' visibility='default' filepath='include/linux/usb/hcd.h' line='152' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='27'>
-          <var-decl name='skip_phy_initialization' type-id='type-id-5' visibility='default' filepath='include/linux/usb/hcd.h' line='158' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='26'>
-          <var-decl name='uses_new_polling' type-id='type-id-5' visibility='default' filepath='include/linux/usb/hcd.h' line='162' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='25'>
-          <var-decl name='wireless' type-id='type-id-5' visibility='default' filepath='include/linux/usb/hcd.h' line='163' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='24'>
-          <var-decl name='has_tt' type-id='type-id-5' visibility='default' filepath='include/linux/usb/hcd.h' line='164' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='23'>
-          <var-decl name='amd_resume_bug' type-id='type-id-5' visibility='default' filepath='include/linux/usb/hcd.h' line='165' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='22'>
-          <var-decl name='can_do_streams' type-id='type-id-5' visibility='default' filepath='include/linux/usb/hcd.h' line='166' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='21'>
-          <var-decl name='tpl_support' type-id='type-id-5' visibility='default' filepath='include/linux/usb/hcd.h' line='167' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='20'>
-          <var-decl name='cant_recv_wakeups' type-id='type-id-5' visibility='default' filepath='include/linux/usb/hcd.h' line='168' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2336'>
-          <var-decl name='irq' type-id='type-id-5' visibility='default' filepath='include/linux/usb/hcd.h' line='171' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='regs' type-id='type-id-15' visibility='default' filepath='include/linux/usb/hcd.h' line='172' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2432'>
-          <var-decl name='rsrc_start' type-id='type-id-2155' visibility='default' filepath='include/linux/usb/hcd.h' line='173' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2496'>
-          <var-decl name='rsrc_len' type-id='type-id-2155' visibility='default' filepath='include/linux/usb/hcd.h' line='174' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2560'>
-          <var-decl name='power_budget' type-id='type-id-5' visibility='default' filepath='include/linux/usb/hcd.h' line='175' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2624'>
-          <var-decl name='high_prio_bh' type-id='type-id-5312' visibility='default' filepath='include/linux/usb/hcd.h' line='177' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3200'>
-          <var-decl name='low_prio_bh' type-id='type-id-5312' visibility='default' filepath='include/linux/usb/hcd.h' line='178' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3776'>
-          <var-decl name='address0_mutex' type-id='type-id-3475' visibility='default' filepath='include/linux/usb/hcd.h' line='191' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3840'>
-          <var-decl name='bandwidth_mutex' type-id='type-id-3475' visibility='default' filepath='include/linux/usb/hcd.h' line='192' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3904'>
-          <var-decl name='shared_hcd' type-id='type-id-5313' visibility='default' filepath='include/linux/usb/hcd.h' line='193' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3968'>
-          <var-decl name='primary_hcd' type-id='type-id-5313' visibility='default' filepath='include/linux/usb/hcd.h' line='194' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4032'>
-          <var-decl name='pool' type-id='type-id-5304' visibility='default' filepath='include/linux/usb/hcd.h' line='198' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4288'>
-          <var-decl name='state' type-id='type-id-17' visibility='default' filepath='include/linux/usb/hcd.h' line='200' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4352'>
-          <var-decl name='hcd_priv' type-id='type-id-280' visibility='default' filepath='include/linux/usb/hcd.h' line='223' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='urb' size-in-bits='1536' is-struct='yes' visibility='default' filepath='include/linux/usb.h' line='1543' column='1' id='type-id-5314'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='kref' type-id='type-id-239' visibility='default' filepath='include/linux/usb.h' line='1545' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='hcpriv' type-id='type-id-15' visibility='default' filepath='include/linux/usb.h' line='1546' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='use_count' type-id='type-id-26' visibility='default' filepath='include/linux/usb.h' line='1547' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='reject' type-id='type-id-26' visibility='default' filepath='include/linux/usb.h' line='1548' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='unlinked' type-id='type-id-17' visibility='default' filepath='include/linux/usb.h' line='1549' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='urb_list' type-id='type-id-20' visibility='default' filepath='include/linux/usb.h' line='1552' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='anchor_list' type-id='type-id-20' visibility='default' filepath='include/linux/usb.h' line='1554' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='anchor' type-id='type-id-5315' visibility='default' filepath='include/linux/usb.h' line='1555' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='dev' type-id='type-id-5260' visibility='default' filepath='include/linux/usb.h' line='1556' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='ep' type-id='type-id-5246' visibility='default' filepath='include/linux/usb.h' line='1557' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='pipe' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='1558' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='736'>
-          <var-decl name='stream_id' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='1559' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='status' type-id='type-id-17' visibility='default' filepath='include/linux/usb.h' line='1560' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='800'>
-          <var-decl name='transfer_flags' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='1561' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='transfer_buffer' type-id='type-id-15' visibility='default' filepath='include/linux/usb.h' line='1562' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='transfer_dma' type-id='type-id-2083' visibility='default' filepath='include/linux/usb.h' line='1563' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='sg' type-id='type-id-920' visibility='default' filepath='include/linux/usb.h' line='1564' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='num_mapped_sgs' type-id='type-id-17' visibility='default' filepath='include/linux/usb.h' line='1565' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1056'>
-          <var-decl name='num_sgs' type-id='type-id-17' visibility='default' filepath='include/linux/usb.h' line='1566' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='transfer_buffer_length' type-id='type-id-7' visibility='default' filepath='include/linux/usb.h' line='1567' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1120'>
-          <var-decl name='actual_length' type-id='type-id-7' visibility='default' filepath='include/linux/usb.h' line='1568' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='setup_packet' type-id='type-id-256' visibility='default' filepath='include/linux/usb.h' line='1569' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='setup_dma' type-id='type-id-2083' visibility='default' filepath='include/linux/usb.h' line='1570' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='start_frame' type-id='type-id-17' visibility='default' filepath='include/linux/usb.h' line='1571' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1312'>
-          <var-decl name='number_of_packets' type-id='type-id-17' visibility='default' filepath='include/linux/usb.h' line='1572' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='interval' type-id='type-id-17' visibility='default' filepath='include/linux/usb.h' line='1573' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1376'>
-          <var-decl name='error_count' type-id='type-id-17' visibility='default' filepath='include/linux/usb.h' line='1575' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='context' type-id='type-id-15' visibility='default' filepath='include/linux/usb.h' line='1576' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='complete' type-id='type-id-5316' visibility='default' filepath='include/linux/usb.h' line='1577' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='iso_frame_desc' type-id='type-id-5306' visibility='default' filepath='include/linux/usb.h' line='1578' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='usb_anchor' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/usb.h' line='1342' column='1' id='type-id-5317'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='urb_list' type-id='type-id-20' visibility='default' filepath='include/linux/usb.h' line='1343' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='wait' type-id='type-id-225' visibility='default' filepath='include/linux/usb.h' line='1344' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='include/linux/usb.h' line='1345' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='suspend_wakeups' type-id='type-id-26' visibility='default' filepath='include/linux/usb.h' line='1346' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='31'>
-          <var-decl name='poisoned' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='1347' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='usb_complete_t' type-id='type-id-5318' filepath='include/linux/usb.h' line='1358' column='1' id='type-id-5316'/>
-      <class-decl name='usb_iso_packet_descriptor' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/usb.h' line='1333' column='1' id='type-id-5305'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='offset' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='1334' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='length' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='1335' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='actual_length' type-id='type-id-5' visibility='default' filepath='include/linux/usb.h' line='1336' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='status' type-id='type-id-17' visibility='default' filepath='include/linux/usb.h' line='1337' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='hc_driver' size-in-bits='2880' is-struct='yes' visibility='default' filepath='include/linux/usb/hcd.h' line='246' column='1' id='type-id-5319'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='description' type-id='type-id-4' visibility='default' filepath='include/linux/usb/hcd.h' line='247' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='product_desc' type-id='type-id-4' visibility='default' filepath='include/linux/usb/hcd.h' line='248' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='hcd_priv_size' type-id='type-id-84' visibility='default' filepath='include/linux/usb/hcd.h' line='249' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='irq' type-id='type-id-5320' visibility='default' filepath='include/linux/usb/hcd.h' line='252' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='flags' type-id='type-id-17' visibility='default' filepath='include/linux/usb/hcd.h' line='254' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='reset' type-id='type-id-5321' visibility='default' filepath='include/linux/usb/hcd.h' line='268' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='start' type-id='type-id-5321' visibility='default' filepath='include/linux/usb/hcd.h' line='269' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='pci_suspend' type-id='type-id-5322' visibility='default' filepath='include/linux/usb/hcd.h' line='275' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='pci_resume' type-id='type-id-5322' visibility='default' filepath='include/linux/usb/hcd.h' line='278' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='stop' type-id='type-id-5323' visibility='default' filepath='include/linux/usb/hcd.h' line='281' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='shutdown' type-id='type-id-5323' visibility='default' filepath='include/linux/usb/hcd.h' line='284' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='get_frame_number' type-id='type-id-5321' visibility='default' filepath='include/linux/usb/hcd.h' line='287' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='urb_enqueue' type-id='type-id-5324' visibility='default' filepath='include/linux/usb/hcd.h' line='290' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='urb_dequeue' type-id='type-id-5325' visibility='default' filepath='include/linux/usb/hcd.h' line='292' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='map_urb_for_dma' type-id='type-id-5324' visibility='default' filepath='include/linux/usb/hcd.h' line='304' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='unmap_urb_for_dma' type-id='type-id-5326' visibility='default' filepath='include/linux/usb/hcd.h' line='306' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='endpoint_disable' type-id='type-id-5327' visibility='default' filepath='include/linux/usb/hcd.h' line='309' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='endpoint_reset' type-id='type-id-5327' visibility='default' filepath='include/linux/usb/hcd.h' line='314' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='hub_status_data' type-id='type-id-5328' visibility='default' filepath='include/linux/usb/hcd.h' line='318' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='hub_control' type-id='type-id-5329' visibility='default' filepath='include/linux/usb/hcd.h' line='319' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='bus_suspend' type-id='type-id-5321' visibility='default' filepath='include/linux/usb/hcd.h' line='322' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='bus_resume' type-id='type-id-5321' visibility='default' filepath='include/linux/usb/hcd.h' line='323' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='start_port_reset' type-id='type-id-5330' visibility='default' filepath='include/linux/usb/hcd.h' line='324' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='get_resuming_ports' type-id='type-id-5331' visibility='default' filepath='include/linux/usb/hcd.h' line='325' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='relinquish_port' type-id='type-id-5332' visibility='default' filepath='include/linux/usb/hcd.h' line='328' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='port_handed_over' type-id='type-id-5333' visibility='default' filepath='include/linux/usb/hcd.h' line='330' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='clear_tt_buffer_complete' type-id='type-id-5327' visibility='default' filepath='include/linux/usb/hcd.h' line='333' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='alloc_dev' type-id='type-id-5334' visibility='default' filepath='include/linux/usb/hcd.h' line='338' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='free_dev' type-id='type-id-5335' visibility='default' filepath='include/linux/usb/hcd.h' line='340' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='alloc_streams' type-id='type-id-5336' visibility='default' filepath='include/linux/usb/hcd.h' line='342' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='free_streams' type-id='type-id-5337' visibility='default' filepath='include/linux/usb/hcd.h' line='348' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='add_endpoint' type-id='type-id-5338' visibility='default' filepath='include/linux/usb/hcd.h' line='363' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='drop_endpoint' type-id='type-id-5338' visibility='default' filepath='include/linux/usb/hcd.h' line='366' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='check_bandwidth' type-id='type-id-5334' visibility='default' filepath='include/linux/usb/hcd.h' line='373' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='reset_bandwidth' type-id='type-id-5335' visibility='default' filepath='include/linux/usb/hcd.h' line='381' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='address_device' type-id='type-id-5334' visibility='default' filepath='include/linux/usb/hcd.h' line='383' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2304'>
-          <var-decl name='enable_device' type-id='type-id-5334' visibility='default' filepath='include/linux/usb/hcd.h' line='385' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='update_hub_device' type-id='type-id-5339' visibility='default' filepath='include/linux/usb/hcd.h' line='389' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2432'>
-          <var-decl name='reset_device' type-id='type-id-5334' visibility='default' filepath='include/linux/usb/hcd.h' line='391' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2496'>
-          <var-decl name='update_device' type-id='type-id-5334' visibility='default' filepath='include/linux/usb/hcd.h' line='395' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2560'>
-          <var-decl name='set_usb2_hw_lpm' type-id='type-id-5340' visibility='default' filepath='include/linux/usb/hcd.h' line='396' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2624'>
-          <var-decl name='enable_usb3_lpm_timeout' type-id='type-id-5341' visibility='default' filepath='include/linux/usb/hcd.h' line='399' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2688'>
-          <var-decl name='disable_usb3_lpm_timeout' type-id='type-id-5341' visibility='default' filepath='include/linux/usb/hcd.h' line='404' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2752'>
-          <var-decl name='find_raw_port_number' type-id='type-id-5333' visibility='default' filepath='include/linux/usb/hcd.h' line='406' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2816'>
-          <var-decl name='port_power' type-id='type-id-5342' visibility='default' filepath='include/linux/usb/hcd.h' line='408' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='usb3_link_state' filepath='include/uapi/linux/usb/ch9.h' line='1172' column='1' id='type-id-5343'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='USB3_LPM_U0' value='0'/>
-        <enumerator name='USB3_LPM_U1' value='1'/>
-        <enumerator name='USB3_LPM_U2' value='2'/>
-        <enumerator name='USB3_LPM_U3' value='3'/>
-      </enum-decl>
-      <class-decl name='usb_phy' size-in-bits='2688' is-struct='yes' visibility='default' filepath='include/linux/usb/phy.h' line='88' column='1' id='type-id-5344'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dev' type-id='type-id-240' visibility='default' filepath='include/linux/usb/phy.h' line='89' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='label' type-id='type-id-4' visibility='default' filepath='include/linux/usb/phy.h' line='90' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='include/linux/usb/phy.h' line='91' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='type' type-id='type-id-5345' visibility='default' filepath='include/linux/usb/phy.h' line='93' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='last_event' type-id='type-id-5346' visibility='default' filepath='include/linux/usb/phy.h' line='94' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='otg' type-id='type-id-5347' visibility='default' filepath='include/linux/usb/phy.h' line='96' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='io_dev' type-id='type-id-240' visibility='default' filepath='include/linux/usb/phy.h' line='98' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='io_ops' type-id='type-id-5348' visibility='default' filepath='include/linux/usb/phy.h' line='99' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='io_priv' type-id='type-id-15' visibility='default' filepath='include/linux/usb/phy.h' line='100' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='edev' type-id='type-id-5349' visibility='default' filepath='include/linux/usb/phy.h' line='103' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='id_edev' type-id='type-id-5349' visibility='default' filepath='include/linux/usb/phy.h' line='104' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='vbus_nb' type-id='type-id-3269' visibility='default' filepath='include/linux/usb/phy.h' line='105' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='id_nb' type-id='type-id-3269' visibility='default' filepath='include/linux/usb/phy.h' line='106' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='type_nb' type-id='type-id-3269' visibility='default' filepath='include/linux/usb/phy.h' line='107' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='chg_type' type-id='type-id-5350' visibility='default' filepath='include/linux/usb/phy.h' line='110' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1248'>
-          <var-decl name='chg_state' type-id='type-id-5351' visibility='default' filepath='include/linux/usb/phy.h' line='111' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='chg_cur' type-id='type-id-5352' visibility='default' filepath='include/linux/usb/phy.h' line='112' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='chg_work' type-id='type-id-255' visibility='default' filepath='include/linux/usb/phy.h' line='113' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='notifier' type-id='type-id-5353' visibility='default' filepath='include/linux/usb/phy.h' line='116' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='port_status' type-id='type-id-688' visibility='default' filepath='include/linux/usb/phy.h' line='119' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1936'>
-          <var-decl name='port_change' type-id='type-id-688' visibility='default' filepath='include/linux/usb/phy.h' line='120' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='head' type-id='type-id-20' visibility='default' filepath='include/linux/usb/phy.h' line='123' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='init' type-id='type-id-5354' visibility='default' filepath='include/linux/usb/phy.h' line='126' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='shutdown' type-id='type-id-5355' visibility='default' filepath='include/linux/usb/phy.h' line='127' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='set_vbus' type-id='type-id-5356' visibility='default' filepath='include/linux/usb/phy.h' line='130' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2304'>
-          <var-decl name='set_power' type-id='type-id-5357' visibility='default' filepath='include/linux/usb/phy.h' line='133' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='set_suspend' type-id='type-id-5356' visibility='default' filepath='include/linux/usb/phy.h' line='137' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2432'>
-          <var-decl name='set_wakeup' type-id='type-id-5358' visibility='default' filepath='include/linux/usb/phy.h' line='145' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2496'>
-          <var-decl name='notify_connect' type-id='type-id-5359' visibility='default' filepath='include/linux/usb/phy.h' line='148' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2560'>
-          <var-decl name='notify_disconnect' type-id='type-id-5359' visibility='default' filepath='include/linux/usb/phy.h' line='150' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2624'>
-          <var-decl name='charger_detect' type-id='type-id-5360' visibility='default' filepath='include/linux/usb/phy.h' line='157' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='usb_phy_type' filepath='include/linux/usb/phy.h' line='36' column='1' id='type-id-5345'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='USB_PHY_TYPE_UNDEFINED' value='0'/>
-        <enumerator name='USB_PHY_TYPE_USB2' value='1'/>
-        <enumerator name='USB_PHY_TYPE_USB3' value='2'/>
-      </enum-decl>
-      <enum-decl name='usb_phy_events' filepath='include/linux/usb/phy.h' line='27' column='1' id='type-id-5346'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='USB_EVENT_NONE' value='0'/>
-        <enumerator name='USB_EVENT_VBUS' value='1'/>
-        <enumerator name='USB_EVENT_ID' value='2'/>
-        <enumerator name='USB_EVENT_CHARGER' value='3'/>
-        <enumerator name='USB_EVENT_ENUMERATED' value='4'/>
-      </enum-decl>
-      <class-decl name='usb_otg' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/linux/usb/otg.h' line='16' column='1' id='type-id-5361'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='default_a' type-id='type-id-214' visibility='default' filepath='include/linux/usb/otg.h' line='17' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='phy' type-id='type-id-5362' visibility='default' filepath='include/linux/usb/otg.h' line='19' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='usb_phy' type-id='type-id-5310' visibility='default' filepath='include/linux/usb/otg.h' line='21' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='host' type-id='type-id-5261' visibility='default' filepath='include/linux/usb/otg.h' line='22' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='gadget' type-id='type-id-5363' visibility='default' filepath='include/linux/usb/otg.h' line='23' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='state' type-id='type-id-5364' visibility='default' filepath='include/linux/usb/otg.h' line='25' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='set_host' type-id='type-id-5365' visibility='default' filepath='include/linux/usb/otg.h' line='28' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='set_peripheral' type-id='type-id-5366' visibility='default' filepath='include/linux/usb/otg.h' line='31' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='set_vbus' type-id='type-id-5367' visibility='default' filepath='include/linux/usb/otg.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='start_srp' type-id='type-id-5368' visibility='default' filepath='include/linux/usb/otg.h' line='38' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='start_hnp' type-id='type-id-5368' visibility='default' filepath='include/linux/usb/otg.h' line='41' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='phy' size-in-bits='6784' is-struct='yes' visibility='default' filepath='include/linux/phy/phy.h' line='88' column='1' id='type-id-5369'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dev' type-id='type-id-388' visibility='default' filepath='include/linux/phy/phy.h' line='89' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6208'>
-          <var-decl name='id' type-id='type-id-17' visibility='default' filepath='include/linux/phy/phy.h' line='90' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6272'>
-          <var-decl name='ops' type-id='type-id-5370' visibility='default' filepath='include/linux/phy/phy.h' line='91' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6336'>
-          <var-decl name='mutex' type-id='type-id-245' visibility='default' filepath='include/linux/phy/phy.h' line='92' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6592'>
-          <var-decl name='init_count' type-id='type-id-17' visibility='default' filepath='include/linux/phy/phy.h' line='93' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6624'>
-          <var-decl name='power_count' type-id='type-id-17' visibility='default' filepath='include/linux/phy/phy.h' line='94' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6656'>
-          <var-decl name='attrs' type-id='type-id-5371' visibility='default' filepath='include/linux/phy/phy.h' line='95' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6720'>
-          <var-decl name='pwr' type-id='type-id-5372' visibility='default' filepath='include/linux/phy/phy.h' line='96' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='phy_ops' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/phy/phy.h' line='56' column='1' id='type-id-5373'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='init' type-id='type-id-5374' visibility='default' filepath='include/linux/phy/phy.h' line='57' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='exit' type-id='type-id-5374' visibility='default' filepath='include/linux/phy/phy.h' line='58' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='power_on' type-id='type-id-5374' visibility='default' filepath='include/linux/phy/phy.h' line='59' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='power_off' type-id='type-id-5374' visibility='default' filepath='include/linux/phy/phy.h' line='60' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='set_mode' type-id='type-id-5375' visibility='default' filepath='include/linux/phy/phy.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='reset' type-id='type-id-5374' visibility='default' filepath='include/linux/phy/phy.h' line='62' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='calibrate' type-id='type-id-5374' visibility='default' filepath='include/linux/phy/phy.h' line='63' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='owner' type-id='type-id-260' visibility='default' filepath='include/linux/phy/phy.h' line='64' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='phy_mode' filepath='include/linux/phy/phy.h' line='25' column='1' id='type-id-5376'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='PHY_MODE_INVALID' value='0'/>
-        <enumerator name='PHY_MODE_USB_HOST' value='1'/>
-        <enumerator name='PHY_MODE_USB_HOST_LS' value='2'/>
-        <enumerator name='PHY_MODE_USB_HOST_FS' value='3'/>
-        <enumerator name='PHY_MODE_USB_HOST_HS' value='4'/>
-        <enumerator name='PHY_MODE_USB_HOST_SS' value='5'/>
-        <enumerator name='PHY_MODE_USB_DEVICE' value='6'/>
-        <enumerator name='PHY_MODE_USB_DEVICE_LS' value='7'/>
-        <enumerator name='PHY_MODE_USB_DEVICE_FS' value='8'/>
-        <enumerator name='PHY_MODE_USB_DEVICE_HS' value='9'/>
-        <enumerator name='PHY_MODE_USB_DEVICE_SS' value='10'/>
-        <enumerator name='PHY_MODE_USB_OTG' value='11'/>
-        <enumerator name='PHY_MODE_SGMII' value='12'/>
-        <enumerator name='PHY_MODE_2500SGMII' value='13'/>
-        <enumerator name='PHY_MODE_10GKR' value='14'/>
-        <enumerator name='PHY_MODE_UFS_HS_A' value='15'/>
-        <enumerator name='PHY_MODE_UFS_HS_B' value='16'/>
-      </enum-decl>
-      <class-decl name='phy_attrs' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/phy/phy.h' line='71' column='1' id='type-id-5371'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bus_width' type-id='type-id-7' visibility='default' filepath='include/linux/phy/phy.h' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='mode' type-id='type-id-5376' visibility='default' filepath='include/linux/phy/phy.h' line='73' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='usb_otg_state' filepath='include/linux/usb/phy.h' line='43' column='1' id='type-id-5364'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='OTG_STATE_UNDEFINED' value='0'/>
-        <enumerator name='OTG_STATE_B_IDLE' value='1'/>
-        <enumerator name='OTG_STATE_B_SRP_INIT' value='2'/>
-        <enumerator name='OTG_STATE_B_PERIPHERAL' value='3'/>
-        <enumerator name='OTG_STATE_B_WAIT_ACON' value='4'/>
-        <enumerator name='OTG_STATE_B_HOST' value='5'/>
-        <enumerator name='OTG_STATE_A_IDLE' value='6'/>
-        <enumerator name='OTG_STATE_A_WAIT_VRISE' value='7'/>
-        <enumerator name='OTG_STATE_A_WAIT_BCON' value='8'/>
-        <enumerator name='OTG_STATE_A_HOST' value='9'/>
-        <enumerator name='OTG_STATE_A_SUSPEND' value='10'/>
-        <enumerator name='OTG_STATE_A_PERIPHERAL' value='11'/>
-        <enumerator name='OTG_STATE_A_WAIT_VFALL' value='12'/>
-        <enumerator name='OTG_STATE_A_VBUS_ERR' value='13'/>
-      </enum-decl>
-      <class-decl name='usb_phy_io_ops' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/usb/phy.h' line='72' column='1' id='type-id-5377'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='read' type-id='type-id-5378' visibility='default' filepath='include/linux/usb/phy.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='write' type-id='type-id-5379' visibility='default' filepath='include/linux/usb/phy.h' line='74' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='usb_charger_type' filepath='include/uapi/linux/usb/charger.h' line='16' column='1' id='type-id-5350'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='UNKNOWN_TYPE' value='0'/>
-        <enumerator name='SDP_TYPE' value='1'/>
-        <enumerator name='DCP_TYPE' value='2'/>
-        <enumerator name='CDP_TYPE' value='3'/>
-        <enumerator name='ACA_TYPE' value='4'/>
-      </enum-decl>
-      <enum-decl name='usb_charger_state' filepath='include/uapi/linux/usb/charger.h' line='25' column='1' id='type-id-5351'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='USB_CHARGER_DEFAULT' value='0'/>
-        <enumerator name='USB_CHARGER_PRESENT' value='1'/>
-        <enumerator name='USB_CHARGER_ABSENT' value='2'/>
-      </enum-decl>
-      <class-decl name='usb_charger_current' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/usb/phy.h' line='77' column='1' id='type-id-5352'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='sdp_min' type-id='type-id-5' visibility='default' filepath='include/linux/usb/phy.h' line='78' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='sdp_max' type-id='type-id-5' visibility='default' filepath='include/linux/usb/phy.h' line='79' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='dcp_min' type-id='type-id-5' visibility='default' filepath='include/linux/usb/phy.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='dcp_max' type-id='type-id-5' visibility='default' filepath='include/linux/usb/phy.h' line='81' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='cdp_min' type-id='type-id-5' visibility='default' filepath='include/linux/usb/phy.h' line='82' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='cdp_max' type-id='type-id-5' visibility='default' filepath='include/linux/usb/phy.h' line='83' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='aca_min' type-id='type-id-5' visibility='default' filepath='include/linux/usb/phy.h' line='84' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='aca_max' type-id='type-id-5' visibility='default' filepath='include/linux/usb/phy.h' line='85' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='atomic_notifier_head' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/notifier.h' line='60' column='1' id='type-id-5353'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='include/linux/notifier.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='head' type-id='type-id-3271' visibility='default' filepath='include/linux/notifier.h' line='62' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='giveback_urb_bh' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/usb/hcd.h' line='67' column='1' id='type-id-5312'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='running' type-id='type-id-33' visibility='default' filepath='include/linux/usb/hcd.h' line='68' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='include/linux/usb/hcd.h' line='69' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='head' type-id='type-id-20' visibility='default' filepath='include/linux/usb/hcd.h' line='70' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='bh' type-id='type-id-3298' visibility='default' filepath='include/linux/usb/hcd.h' line='71' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='completing_ep' type-id='type-id-5246' visibility='default' filepath='include/linux/usb/hcd.h' line='72' column='1'/>
-        </data-member>
-      </class-decl>
-      <qualified-type-def type-id='type-id-5319' const='yes' id='type-id-5380'/>
-      <pointer-type-def type-id='type-id-5380' size-in-bits='64' id='type-id-5309'/>
-      <qualified-type-def type-id='type-id-5373' const='yes' id='type-id-5381'/>
-      <pointer-type-def type-id='type-id-5381' size-in-bits='64' id='type-id-5370'/>
-      <pointer-type-def type-id='type-id-5298' size-in-bits='64' id='type-id-5303'/>
-      <pointer-type-def type-id='type-id-5382' size-in-bits='64' id='type-id-5360'/>
-      <pointer-type-def type-id='type-id-5299' size-in-bits='64' id='type-id-5349'/>
-      <pointer-type-def type-id='type-id-5383' size-in-bits='64' id='type-id-5374'/>
-      <pointer-type-def type-id='type-id-5384' size-in-bits='64' id='type-id-5375'/>
-      <pointer-type-def type-id='type-id-5385' size-in-bits='64' id='type-id-5321'/>
-      <pointer-type-def type-id='type-id-5386' size-in-bits='64' id='type-id-5328'/>
-      <pointer-type-def type-id='type-id-5387' size-in-bits='64' id='type-id-5333'/>
-      <pointer-type-def type-id='type-id-5388' size-in-bits='64' id='type-id-5342'/>
-      <pointer-type-def type-id='type-id-5389' size-in-bits='64' id='type-id-5322'/>
-      <pointer-type-def type-id='type-id-5390' size-in-bits='64' id='type-id-5329'/>
-      <pointer-type-def type-id='type-id-5391' size-in-bits='64' id='type-id-5330'/>
-      <pointer-type-def type-id='type-id-5392' size-in-bits='64' id='type-id-5325'/>
-      <pointer-type-def type-id='type-id-5393' size-in-bits='64' id='type-id-5324'/>
-      <pointer-type-def type-id='type-id-5394' size-in-bits='64' id='type-id-5334'/>
-      <pointer-type-def type-id='type-id-5395' size-in-bits='64' id='type-id-5341'/>
-      <pointer-type-def type-id='type-id-5396' size-in-bits='64' id='type-id-5340'/>
-      <pointer-type-def type-id='type-id-5397' size-in-bits='64' id='type-id-5338'/>
-      <pointer-type-def type-id='type-id-5398' size-in-bits='64' id='type-id-5337'/>
-      <pointer-type-def type-id='type-id-5399' size-in-bits='64' id='type-id-5336'/>
-      <pointer-type-def type-id='type-id-5400' size-in-bits='64' id='type-id-5339'/>
-      <pointer-type-def type-id='type-id-5401' size-in-bits='64' id='type-id-5368'/>
-      <pointer-type-def type-id='type-id-5402' size-in-bits='64' id='type-id-5367'/>
-      <pointer-type-def type-id='type-id-5403' size-in-bits='64' id='type-id-5365'/>
-      <pointer-type-def type-id='type-id-5404' size-in-bits='64' id='type-id-5366'/>
-      <pointer-type-def type-id='type-id-5405' size-in-bits='64' id='type-id-5354'/>
-      <pointer-type-def type-id='type-id-5406' size-in-bits='64' id='type-id-5359'/>
-      <pointer-type-def type-id='type-id-5407' size-in-bits='64' id='type-id-5356'/>
-      <pointer-type-def type-id='type-id-5408' size-in-bits='64' id='type-id-5358'/>
-      <pointer-type-def type-id='type-id-5409' size-in-bits='64' id='type-id-5378'/>
-      <pointer-type-def type-id='type-id-5410' size-in-bits='64' id='type-id-5379'/>
-      <pointer-type-def type-id='type-id-5411' size-in-bits='64' id='type-id-5357'/>
-      <pointer-type-def type-id='type-id-5369' size-in-bits='64' id='type-id-5362'/>
-      <pointer-type-def type-id='type-id-5300' size-in-bits='64' id='type-id-5372'/>
-      <pointer-type-def type-id='type-id-5412' size-in-bits='64' id='type-id-5320'/>
-      <pointer-type-def type-id='type-id-5413' size-in-bits='64' id='type-id-5331'/>
-      <pointer-type-def type-id='type-id-5314' size-in-bits='64' id='type-id-5308'/>
-      <pointer-type-def type-id='type-id-5317' size-in-bits='64' id='type-id-5315'/>
-      <pointer-type-def type-id='type-id-5301' size-in-bits='64' id='type-id-5363'/>
-      <pointer-type-def type-id='type-id-5307' size-in-bits='64' id='type-id-5313'/>
-      <pointer-type-def type-id='type-id-5246' size-in-bits='64' id='type-id-5414'/>
-      <pointer-type-def type-id='type-id-5361' size-in-bits='64' id='type-id-5347'/>
-      <pointer-type-def type-id='type-id-5344' size-in-bits='64' id='type-id-5310'/>
-      <pointer-type-def type-id='type-id-5377' size-in-bits='64' id='type-id-5348'/>
-      <pointer-type-def type-id='type-id-5302' size-in-bits='64' id='type-id-5311'/>
-      <pointer-type-def type-id='type-id-5415' size-in-bits='64' id='type-id-5318'/>
-      <pointer-type-def type-id='type-id-5416' size-in-bits='64' id='type-id-5323'/>
-      <pointer-type-def type-id='type-id-5417' size-in-bits='64' id='type-id-5332'/>
-      <pointer-type-def type-id='type-id-5418' size-in-bits='64' id='type-id-5326'/>
-      <pointer-type-def type-id='type-id-5419' size-in-bits='64' id='type-id-5335'/>
-      <pointer-type-def type-id='type-id-5420' size-in-bits='64' id='type-id-5327'/>
-      <pointer-type-def type-id='type-id-5421' size-in-bits='64' id='type-id-5355'/>
-      <function-decl name='usb_hcd_poll_rh_status' mangled-name='usb_hcd_poll_rh_status' filepath='drivers/usb/core/hcd.c' line='749' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_hcd_poll_rh_status'>
-        <parameter type-id='type-id-5313' name='hcd' filepath='drivers/usb/core/hcd.c' line='749' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='usb_hcd_unlink_urb_from_ep' mangled-name='usb_hcd_unlink_urb_from_ep' filepath='drivers/usb/core/hcd.c' line='1332' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_hcd_unlink_urb_from_ep'>
-        <parameter type-id='type-id-5313' name='hcd' filepath='drivers/usb/core/hcd.c' line='1332' column='1'/>
-        <parameter type-id='type-id-5308' name='urb' filepath='drivers/usb/core/hcd.c' line='1332' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='usb_hcd_giveback_urb' mangled-name='usb_hcd_giveback_urb' filepath='drivers/usb/core/hcd.c' line='1826' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_hcd_giveback_urb'>
-        <parameter type-id='type-id-5313' name='hcd' filepath='drivers/usb/core/hcd.c' line='1826' column='1'/>
-        <parameter type-id='type-id-5308' name='urb' filepath='drivers/usb/core/hcd.c' line='1826' column='1'/>
-        <parameter type-id='type-id-17' name='status' filepath='drivers/usb/core/hcd.c' line='1826' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='usb_hcd_link_urb_to_ep' mangled-name='usb_hcd_link_urb_to_ep' filepath='drivers/usb/core/hcd.c' line='1241' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_hcd_link_urb_to_ep'>
-        <parameter type-id='type-id-5313' name='hcd' filepath='drivers/usb/core/hcd.c' line='1241' column='1'/>
-        <parameter type-id='type-id-5308' name='urb' filepath='drivers/usb/core/hcd.c' line='1241' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='usb_hcd_check_unlink_urb' mangled-name='usb_hcd_check_unlink_urb' filepath='drivers/usb/core/hcd.c' line='1299' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_hcd_check_unlink_urb'>
-        <parameter type-id='type-id-5313' name='hcd' filepath='drivers/usb/core/hcd.c' line='1299' column='1'/>
-        <parameter type-id='type-id-5308' name='urb' filepath='drivers/usb/core/hcd.c' line='1299' column='1'/>
-        <parameter type-id='type-id-17' name='status' filepath='drivers/usb/core/hcd.c' line='1300' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='usb_hcd_resume_root_hub' mangled-name='usb_hcd_resume_root_hub' filepath='drivers/usb/core/hcd.c' line='2377' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_hcd_resume_root_hub'>
-        <parameter type-id='type-id-5313' name='hcd' filepath='drivers/usb/core/hcd.c' line='2377' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='usb_hcd_is_primary_hcd' mangled-name='usb_hcd_is_primary_hcd' filepath='drivers/usb/core/hcd.c' line='2666' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_hcd_is_primary_hcd'>
-        <parameter type-id='type-id-5313' name='hcd' filepath='drivers/usb/core/hcd.c' line='2666' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='usb_create_shared_hcd' mangled-name='usb_create_shared_hcd' filepath='drivers/usb/core/hcd.c' line='2595' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_create_shared_hcd'>
-        <parameter type-id='type-id-5309' name='driver' filepath='drivers/usb/core/hcd.c' line='2595' column='1'/>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/usb/core/hcd.c' line='2596' column='1'/>
-        <parameter type-id='type-id-4' name='bus_name' filepath='drivers/usb/core/hcd.c' line='2596' column='1'/>
-        <parameter type-id='type-id-5313' name='primary_hcd' filepath='drivers/usb/core/hcd.c' line='2597' column='1'/>
-        <return type-id='type-id-5313'/>
-      </function-decl>
-      <function-decl name='usb_create_hcd' mangled-name='usb_create_hcd' filepath='drivers/usb/core/hcd.c' line='2617' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_create_hcd'>
-        <parameter type-id='type-id-5309' name='driver' filepath='drivers/usb/core/hcd.c' line='2617' column='1'/>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/usb/core/hcd.c' line='2618' column='1'/>
-        <parameter type-id='type-id-4' name='bus_name' filepath='drivers/usb/core/hcd.c' line='2618' column='1'/>
-        <return type-id='type-id-5313'/>
-      </function-decl>
-      <function-decl name='usb_put_hcd' mangled-name='usb_put_hcd' filepath='drivers/usb/core/hcd.c' line='2659' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_put_hcd'>
-        <parameter type-id='type-id-5313' name='hcd' filepath='drivers/usb/core/hcd.c' line='2659' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='usb_add_hcd' mangled-name='usb_add_hcd' filepath='drivers/usb/core/hcd.c' line='2740' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_add_hcd'>
-        <parameter type-id='type-id-5313' name='hcd' filepath='drivers/usb/core/hcd.c' line='2740' column='1'/>
-        <parameter type-id='type-id-5' name='irqnum' filepath='drivers/usb/core/hcd.c' line='2741' column='1'/>
-        <parameter type-id='type-id-16' name='irqflags' filepath='drivers/usb/core/hcd.c' line='2741' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='usb_remove_hcd' mangled-name='usb_remove_hcd' filepath='drivers/usb/core/hcd.c' line='2947' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_remove_hcd'>
-        <parameter type-id='type-id-5313' name='hcd' filepath='drivers/usb/core/hcd.c' line='2947' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-5382'>
-        <parameter type-id='type-id-5310'/>
-        <return type-id='type-id-5350'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5383'>
-        <parameter type-id='type-id-5362'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5384'>
-        <parameter type-id='type-id-5362'/>
-        <parameter type-id='type-id-5376'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5385'>
-        <parameter type-id='type-id-5313'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5386'>
-        <parameter type-id='type-id-5313'/>
-        <parameter type-id='type-id-2'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5387'>
-        <parameter type-id='type-id-5313'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5388'>
-        <parameter type-id='type-id-5313'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-33'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5389'>
-        <parameter type-id='type-id-5313'/>
-        <parameter type-id='type-id-33'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5390'>
-        <parameter type-id='type-id-5313'/>
-        <parameter type-id='type-id-688'/>
-        <parameter type-id='type-id-688'/>
-        <parameter type-id='type-id-688'/>
-        <parameter type-id='type-id-2'/>
-        <parameter type-id='type-id-688'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5391'>
-        <parameter type-id='type-id-5313'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5392'>
-        <parameter type-id='type-id-5313'/>
-        <parameter type-id='type-id-5308'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5393'>
-        <parameter type-id='type-id-5313'/>
-        <parameter type-id='type-id-5308'/>
-        <parameter type-id='type-id-485'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5394'>
-        <parameter type-id='type-id-5313'/>
-        <parameter type-id='type-id-5260'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5395'>
-        <parameter type-id='type-id-5313'/>
-        <parameter type-id='type-id-5260'/>
-        <parameter type-id='type-id-5343'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5396'>
-        <parameter type-id='type-id-5313'/>
-        <parameter type-id='type-id-5260'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5397'>
-        <parameter type-id='type-id-5313'/>
-        <parameter type-id='type-id-5260'/>
-        <parameter type-id='type-id-5246'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5398'>
-        <parameter type-id='type-id-5313'/>
-        <parameter type-id='type-id-5260'/>
-        <parameter type-id='type-id-5414'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-485'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5399'>
-        <parameter type-id='type-id-5313'/>
-        <parameter type-id='type-id-5260'/>
-        <parameter type-id='type-id-5414'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-485'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5400'>
-        <parameter type-id='type-id-5313'/>
-        <parameter type-id='type-id-5260'/>
-        <parameter type-id='type-id-5259'/>
-        <parameter type-id='type-id-485'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5401'>
-        <parameter type-id='type-id-5347'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5402'>
-        <parameter type-id='type-id-5347'/>
-        <parameter type-id='type-id-33'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5403'>
-        <parameter type-id='type-id-5347'/>
-        <parameter type-id='type-id-5261'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5404'>
-        <parameter type-id='type-id-5347'/>
-        <parameter type-id='type-id-5363'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5405'>
-        <parameter type-id='type-id-5310'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5406'>
-        <parameter type-id='type-id-5310'/>
-        <parameter type-id='type-id-5258'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5407'>
-        <parameter type-id='type-id-5310'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5408'>
-        <parameter type-id='type-id-5310'/>
-        <parameter type-id='type-id-33'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5409'>
-        <parameter type-id='type-id-5310'/>
-        <parameter type-id='type-id-7'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5410'>
-        <parameter type-id='type-id-5310'/>
-        <parameter type-id='type-id-7'/>
-        <parameter type-id='type-id-7'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5411'>
-        <parameter type-id='type-id-5310'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5412'>
-        <parameter type-id='type-id-5313'/>
-        <return type-id='type-id-3484'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5413'>
-        <parameter type-id='type-id-5313'/>
-        <return type-id='type-id-16'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5415'>
-        <parameter type-id='type-id-5308'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5416'>
-        <parameter type-id='type-id-5313' name='hcd'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5417'>
-        <parameter type-id='type-id-5313'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5418'>
-        <parameter type-id='type-id-5313'/>
-        <parameter type-id='type-id-5308'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5419'>
-        <parameter type-id='type-id-5313'/>
-        <parameter type-id='type-id-5260'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5420'>
-        <parameter type-id='type-id-5313'/>
-        <parameter type-id='type-id-5246'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5421'>
-        <parameter type-id='type-id-5310'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/usb/gadget/udc/core.c' language='LANG_C89'>
-      <class-decl name='usb_otg_caps' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-5422'/>
-      <class-decl name='usb_ep' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/usb/gadget.h' line='218' column='1' id='type-id-5423'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='driver_data' type-id='type-id-15' visibility='default' filepath='include/linux/usb/gadget.h' line='219' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/usb/gadget.h' line='221' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='ops' type-id='type-id-5424' visibility='default' filepath='include/linux/usb/gadget.h' line='222' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='ep_list' type-id='type-id-20' visibility='default' filepath='include/linux/usb/gadget.h' line='223' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='caps' type-id='type-id-5425' visibility='default' filepath='include/linux/usb/gadget.h' line='224' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='claimed' type-id='type-id-33' visibility='default' filepath='include/linux/usb/gadget.h' line='225' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='360'>
-          <var-decl name='enabled' type-id='type-id-33' visibility='default' filepath='include/linux/usb/gadget.h' line='226' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='maxpacket' type-id='type-id-5' visibility='default' filepath='include/linux/usb/gadget.h' line='227' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='maxpacket_limit' type-id='type-id-5' visibility='default' filepath='include/linux/usb/gadget.h' line='228' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='max_streams' type-id='type-id-5' visibility='default' filepath='include/linux/usb/gadget.h' line='229' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='30'>
-          <var-decl name='mult' type-id='type-id-5' visibility='default' filepath='include/linux/usb/gadget.h' line='230' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='25'>
-          <var-decl name='maxburst' type-id='type-id-5' visibility='default' filepath='include/linux/usb/gadget.h' line='231' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='424'>
-          <var-decl name='address' type-id='type-id-214' visibility='default' filepath='include/linux/usb/gadget.h' line='232' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='desc' type-id='type-id-5426' visibility='default' filepath='include/linux/usb/gadget.h' line='233' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='comp_desc' type-id='type-id-5427' visibility='default' filepath='include/linux/usb/gadget.h' line='234' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='usb_ep_ops' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/linux/usb/gadget.h' line='128' column='1' id='type-id-5428'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='enable' type-id='type-id-5429' visibility='default' filepath='include/linux/usb/gadget.h' line='129' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='disable' type-id='type-id-5430' visibility='default' filepath='include/linux/usb/gadget.h' line='131' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='dispose' type-id='type-id-5431' visibility='default' filepath='include/linux/usb/gadget.h' line='132' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='alloc_request' type-id='type-id-5432' visibility='default' filepath='include/linux/usb/gadget.h' line='134' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='free_request' type-id='type-id-5433' visibility='default' filepath='include/linux/usb/gadget.h' line='136' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='queue' type-id='type-id-5434' visibility='default' filepath='include/linux/usb/gadget.h' line='138' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='dequeue' type-id='type-id-5435' visibility='default' filepath='include/linux/usb/gadget.h' line='140' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='set_halt' type-id='type-id-5436' visibility='default' filepath='include/linux/usb/gadget.h' line='142' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='set_wedge' type-id='type-id-5430' visibility='default' filepath='include/linux/usb/gadget.h' line='143' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='fifo_status' type-id='type-id-5430' visibility='default' filepath='include/linux/usb/gadget.h' line='145' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='fifo_flush' type-id='type-id-5431' visibility='default' filepath='include/linux/usb/gadget.h' line='146' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='usb_request' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/linux/usb/gadget.h' line='95' column='1' id='type-id-5437'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='buf' type-id='type-id-15' visibility='default' filepath='include/linux/usb/gadget.h' line='96' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='length' type-id='type-id-5' visibility='default' filepath='include/linux/usb/gadget.h' line='97' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='dma' type-id='type-id-2083' visibility='default' filepath='include/linux/usb/gadget.h' line='98' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='sg' type-id='type-id-920' visibility='default' filepath='include/linux/usb/gadget.h' line='100' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='num_sgs' type-id='type-id-5' visibility='default' filepath='include/linux/usb/gadget.h' line='101' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='num_mapped_sgs' type-id='type-id-5' visibility='default' filepath='include/linux/usb/gadget.h' line='102' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='stream_id' type-id='type-id-5' visibility='default' filepath='include/linux/usb/gadget.h' line='104' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='15'>
-          <var-decl name='no_interrupt' type-id='type-id-5' visibility='default' filepath='include/linux/usb/gadget.h' line='105' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='14'>
-          <var-decl name='zero' type-id='type-id-5' visibility='default' filepath='include/linux/usb/gadget.h' line='106' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='13'>
-          <var-decl name='short_not_ok' type-id='type-id-5' visibility='default' filepath='include/linux/usb/gadget.h' line='107' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='12'>
-          <var-decl name='dma_mapped' type-id='type-id-5' visibility='default' filepath='include/linux/usb/gadget.h' line='108' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='complete' type-id='type-id-5433' visibility='default' filepath='include/linux/usb/gadget.h' line='110' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='context' type-id='type-id-15' visibility='default' filepath='include/linux/usb/gadget.h' line='112' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/usb/gadget.h' line='113' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='status' type-id='type-id-17' visibility='default' filepath='include/linux/usb/gadget.h' line='115' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='672'>
-          <var-decl name='actual' type-id='type-id-5' visibility='default' filepath='include/linux/usb/gadget.h' line='116' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='usb_ep_caps' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/linux/usb/gadget.h' line='158' column='1' id='type-id-5425'>
-        <data-member access='public' layout-offset-in-bits='31'>
-          <var-decl name='type_control' type-id='type-id-5' visibility='default' filepath='include/linux/usb/gadget.h' line='159' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='30'>
-          <var-decl name='type_iso' type-id='type-id-5' visibility='default' filepath='include/linux/usb/gadget.h' line='160' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='29'>
-          <var-decl name='type_bulk' type-id='type-id-5' visibility='default' filepath='include/linux/usb/gadget.h' line='161' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='28'>
-          <var-decl name='type_int' type-id='type-id-5' visibility='default' filepath='include/linux/usb/gadget.h' line='162' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='27'>
-          <var-decl name='dir_in' type-id='type-id-5' visibility='default' filepath='include/linux/usb/gadget.h' line='163' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='26'>
-          <var-decl name='dir_out' type-id='type-id-5' visibility='default' filepath='include/linux/usb/gadget.h' line='164' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='usb_udc' size-in-bits='6528' is-struct='yes' visibility='default' filepath='drivers/usb/gadget/udc/core.c' line='36' column='1' id='type-id-5438'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='driver' type-id='type-id-5439' visibility='default' filepath='drivers/usb/gadget/udc/core.c' line='37' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='gadget' type-id='type-id-5363' visibility='default' filepath='drivers/usb/gadget/udc/core.c' line='38' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='dev' type-id='type-id-388' visibility='default' filepath='drivers/usb/gadget/udc/core.c' line='39' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6336'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='drivers/usb/gadget/udc/core.c' line='40' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6464'>
-          <var-decl name='vbus' type-id='type-id-33' visibility='default' filepath='drivers/usb/gadget/udc/core.c' line='41' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='usb_gadget_driver' size-in-bits='1920' is-struct='yes' visibility='default' filepath='include/linux/usb/gadget.h' line='664' column='1' id='type-id-5440'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='function' type-id='type-id-2' visibility='default' filepath='include/linux/usb/gadget.h' line='665' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='max_speed' type-id='type-id-5258' visibility='default' filepath='include/linux/usb/gadget.h' line='666' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='bind' type-id='type-id-5441' visibility='default' filepath='include/linux/usb/gadget.h' line='667' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='unbind' type-id='type-id-5442' visibility='default' filepath='include/linux/usb/gadget.h' line='669' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='setup' type-id='type-id-5443' visibility='default' filepath='include/linux/usb/gadget.h' line='670' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='disconnect' type-id='type-id-5442' visibility='default' filepath='include/linux/usb/gadget.h' line='672' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='suspend' type-id='type-id-5442' visibility='default' filepath='include/linux/usb/gadget.h' line='673' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='resume' type-id='type-id-5442' visibility='default' filepath='include/linux/usb/gadget.h' line='674' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='reset' type-id='type-id-5442' visibility='default' filepath='include/linux/usb/gadget.h' line='675' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='driver' type-id='type-id-2049' visibility='default' filepath='include/linux/usb/gadget.h' line='678' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='udc_name' type-id='type-id-2' visibility='default' filepath='include/linux/usb/gadget.h' line='680' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='pending' type-id='type-id-20' visibility='default' filepath='include/linux/usb/gadget.h' line='681' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='31'>
-          <var-decl name='match_existing_only' type-id='type-id-5' visibility='default' filepath='include/linux/usb/gadget.h' line='682' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='usb_ctrlrequest' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='213' column='1' id='type-id-5444'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bRequestType' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='214' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='bRequest' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='215' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='wValue' type-id='type-id-5123' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='216' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='wIndex' type-id='type-id-5123' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='217' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='wLength' type-id='type-id-5123' visibility='default' filepath='include/uapi/linux/usb/ch9.h' line='218' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='usb_gadget_ops' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/linux/usb/gadget.h' line='300' column='1' id='type-id-5445'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='get_frame' type-id='type-id-5446' visibility='default' filepath='include/linux/usb/gadget.h' line='301' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='wakeup' type-id='type-id-5446' visibility='default' filepath='include/linux/usb/gadget.h' line='302' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='set_selfpowered' type-id='type-id-5447' visibility='default' filepath='include/linux/usb/gadget.h' line='303' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='vbus_session' type-id='type-id-5447' visibility='default' filepath='include/linux/usb/gadget.h' line='304' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='vbus_draw' type-id='type-id-5448' visibility='default' filepath='include/linux/usb/gadget.h' line='305' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='pullup' type-id='type-id-5447' visibility='default' filepath='include/linux/usb/gadget.h' line='306' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='ioctl' type-id='type-id-5449' visibility='default' filepath='include/linux/usb/gadget.h' line='307' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='get_config_params' type-id='type-id-5450' visibility='default' filepath='include/linux/usb/gadget.h' line='309' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='udc_start' type-id='type-id-5441' visibility='default' filepath='include/linux/usb/gadget.h' line='310' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='udc_stop' type-id='type-id-5446' visibility='default' filepath='include/linux/usb/gadget.h' line='312' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='udc_set_speed' type-id='type-id-5451' visibility='default' filepath='include/linux/usb/gadget.h' line='313' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='match_ep' type-id='type-id-5452' visibility='default' filepath='include/linux/usb/gadget.h' line='314' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='usb_dcd_config_params' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/linux/usb/gadget.h' line='285' column='1' id='type-id-5453'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bU1devExitLat' type-id='type-id-895' visibility='default' filepath='include/linux/usb/gadget.h' line='286' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='bU2DevExitLat' type-id='type-id-5123' visibility='default' filepath='include/linux/usb/gadget.h' line='288' column='1'/>
-        </data-member>
-      </class-decl>
-      <qualified-type-def type-id='type-id-5444' const='yes' id='type-id-5454'/>
-      <pointer-type-def type-id='type-id-5454' size-in-bits='64' id='type-id-5455'/>
-      <qualified-type-def type-id='type-id-5273' const='yes' id='type-id-5456'/>
-      <pointer-type-def type-id='type-id-5456' size-in-bits='64' id='type-id-5426'/>
-      <qualified-type-def type-id='type-id-5428' const='yes' id='type-id-5457'/>
-      <pointer-type-def type-id='type-id-5457' size-in-bits='64' id='type-id-5424'/>
-      <qualified-type-def type-id='type-id-5445' const='yes' id='type-id-5458'/>
-      <pointer-type-def type-id='type-id-5458' size-in-bits='64' id='type-id-5459'/>
-      <qualified-type-def type-id='type-id-5274' const='yes' id='type-id-5460'/>
-      <pointer-type-def type-id='type-id-5460' size-in-bits='64' id='type-id-5427'/>
-      <pointer-type-def type-id='type-id-5461' size-in-bits='64' id='type-id-5430'/>
-      <pointer-type-def type-id='type-id-5462' size-in-bits='64' id='type-id-5429'/>
-      <pointer-type-def type-id='type-id-5463' size-in-bits='64' id='type-id-5436'/>
-      <pointer-type-def type-id='type-id-5464' size-in-bits='64' id='type-id-5435'/>
-      <pointer-type-def type-id='type-id-5465' size-in-bits='64' id='type-id-5434'/>
-      <pointer-type-def type-id='type-id-5466' size-in-bits='64' id='type-id-5446'/>
-      <pointer-type-def type-id='type-id-5467' size-in-bits='64' id='type-id-5443'/>
-      <pointer-type-def type-id='type-id-5468' size-in-bits='64' id='type-id-5447'/>
-      <pointer-type-def type-id='type-id-5469' size-in-bits='64' id='type-id-5448'/>
-      <pointer-type-def type-id='type-id-5470' size-in-bits='64' id='type-id-5449'/>
-      <pointer-type-def type-id='type-id-5471' size-in-bits='64' id='type-id-5441'/>
-      <pointer-type-def type-id='type-id-5453' size-in-bits='64' id='type-id-5472'/>
-      <pointer-type-def type-id='type-id-5273' size-in-bits='64' id='type-id-5473'/>
-      <pointer-type-def type-id='type-id-5423' size-in-bits='64' id='type-id-5474'/>
-      <pointer-type-def type-id='type-id-5475' size-in-bits='64' id='type-id-5452'/>
-      <pointer-type-def type-id='type-id-5440' size-in-bits='64' id='type-id-5439'/>
-      <pointer-type-def type-id='type-id-5422' size-in-bits='64' id='type-id-5476'/>
-      <pointer-type-def type-id='type-id-5437' size-in-bits='64' id='type-id-5477'/>
-      <pointer-type-def type-id='type-id-5478' size-in-bits='64' id='type-id-5432'/>
-      <pointer-type-def type-id='type-id-5274' size-in-bits='64' id='type-id-5479'/>
-      <pointer-type-def type-id='type-id-5438' size-in-bits='64' id='type-id-5480'/>
-      <pointer-type-def type-id='type-id-5481' size-in-bits='64' id='type-id-5450'/>
-      <pointer-type-def type-id='type-id-5482' size-in-bits='64' id='type-id-5431'/>
-      <pointer-type-def type-id='type-id-5483' size-in-bits='64' id='type-id-5433'/>
-      <pointer-type-def type-id='type-id-5484' size-in-bits='64' id='type-id-5442'/>
-      <pointer-type-def type-id='type-id-5485' size-in-bits='64' id='type-id-5451'/>
-      <function-decl name='usb_ep_set_maxpacket_limit' mangled-name='usb_ep_set_maxpacket_limit' filepath='drivers/usb/gadget/udc/core.c' line='62' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_ep_set_maxpacket_limit'>
-        <parameter type-id='type-id-5474' name='ep' filepath='drivers/usb/gadget/udc/core.c' line='62' column='1'/>
-        <parameter type-id='type-id-5' name='maxpacket_limit' filepath='drivers/usb/gadget/udc/core.c' line='63' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='usb_gadget_giveback_request' mangled-name='usb_gadget_giveback_request' filepath='drivers/usb/gadget/udc/core.c' line='894' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_gadget_giveback_request'>
-        <parameter type-id='type-id-5474' name='ep' filepath='drivers/usb/gadget/udc/core.c' line='894' column='1'/>
-        <parameter type-id='type-id-5477' name='req' filepath='drivers/usb/gadget/udc/core.c' line='895' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='usb_gadget_udc_reset' mangled-name='usb_gadget_udc_reset' filepath='drivers/usb/gadget/udc/core.c' line='1054' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_gadget_udc_reset'>
-        <parameter type-id='type-id-5363' name='gadget' filepath='drivers/usb/gadget/udc/core.c' line='1054' column='1'/>
-        <parameter type-id='type-id-5439' name='driver' filepath='drivers/usb/gadget/udc/core.c' line='1055' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='usb_add_gadget_udc' mangled-name='usb_add_gadget_udc' filepath='drivers/usb/gadget/udc/core.c' line='1281' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_add_gadget_udc'>
-        <parameter type-id='type-id-240' name='parent' filepath='drivers/usb/gadget/udc/core.c' line='1281' column='1'/>
-        <parameter type-id='type-id-5363' name='gadget' filepath='drivers/usb/gadget/udc/core.c' line='1281' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='usb_del_gadget_udc' mangled-name='usb_del_gadget_udc' filepath='drivers/usb/gadget/udc/core.c' line='1311' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='usb_del_gadget_udc'>
-        <parameter type-id='type-id-5363' name='gadget' filepath='drivers/usb/gadget/udc/core.c' line='1311' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-5461'>
-        <parameter type-id='type-id-5474'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5462'>
-        <parameter type-id='type-id-5474'/>
-        <parameter type-id='type-id-5426'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5463'>
-        <parameter type-id='type-id-5474'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5464'>
-        <parameter type-id='type-id-5474'/>
-        <parameter type-id='type-id-5477'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5465'>
-        <parameter type-id='type-id-5474'/>
-        <parameter type-id='type-id-5477'/>
-        <parameter type-id='type-id-485'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5466'>
-        <parameter type-id='type-id-5363'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5467'>
-        <parameter type-id='type-id-5363'/>
-        <parameter type-id='type-id-5455'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5468'>
-        <parameter type-id='type-id-5363'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5469'>
-        <parameter type-id='type-id-5363'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5470'>
-        <parameter type-id='type-id-5363'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5471'>
-        <parameter type-id='type-id-5363'/>
-        <parameter type-id='type-id-5439'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5475'>
-        <parameter type-id='type-id-5363'/>
-        <parameter type-id='type-id-5473'/>
-        <parameter type-id='type-id-5479'/>
-        <return type-id='type-id-5474'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5478'>
-        <parameter type-id='type-id-5474'/>
-        <parameter type-id='type-id-485'/>
-        <return type-id='type-id-5477'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5481'>
-        <parameter type-id='type-id-5472'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5482'>
-        <parameter type-id='type-id-5474'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5483'>
-        <parameter type-id='type-id-5474'/>
-        <parameter type-id='type-id-5477'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5484'>
-        <parameter type-id='type-id-5363'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5485'>
-        <parameter type-id='type-id-5363'/>
-        <parameter type-id='type-id-5258'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/input/input.c' language='LANG_C89'>
-      <array-type-def dimensions='1' type-id='type-id-5486' size-in-bits='192' id='type-id-5487'>
-        <subrange length='2' type-id='type-id-9' id='type-id-128'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-83' size-in-bits='infinite' id='type-id-5488'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-5489' size-in-bits='infinite' id='type-id-5490'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-17' size-in-bits='448' id='type-id-5491'>
-        <subrange length='14' type-id='type-id-9' id='type-id-117'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-3539' size-in-bits='768' id='type-id-5492'>
-        <subrange length='12' type-id='type-id-9' id='type-id-967'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-3539' size-in-bits='64' id='type-id-5493'>
-        <subrange length='1' type-id='type-id-9' id='type-id-180'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-3539' size-in-bits='128' id='type-id-5494'>
-        <subrange length='2' type-id='type-id-9' id='type-id-128'/>
-
-      </array-type-def>
-      <class-decl name='input_dev' size-in-bits='10944' is-struct='yes' visibility='default' filepath='include/linux/input.h' line='121' column='1' id='type-id-5495'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/input.h' line='122' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='phys' type-id='type-id-4' visibility='default' filepath='include/linux/input.h' line='123' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='uniq' type-id='type-id-4' visibility='default' filepath='include/linux/input.h' line='124' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='id' type-id='type-id-5496' visibility='default' filepath='include/linux/input.h' line='125' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='propbit' type-id='type-id-491' visibility='default' filepath='include/linux/input.h' line='127' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='evbit' type-id='type-id-491' visibility='default' filepath='include/linux/input.h' line='129' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='keybit' type-id='type-id-1197' visibility='default' filepath='include/linux/input.h' line='130' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='relbit' type-id='type-id-491' visibility='default' filepath='include/linux/input.h' line='131' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='absbit' type-id='type-id-491' visibility='default' filepath='include/linux/input.h' line='132' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='mscbit' type-id='type-id-491' visibility='default' filepath='include/linux/input.h' line='133' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='ledbit' type-id='type-id-491' visibility='default' filepath='include/linux/input.h' line='134' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='sndbit' type-id='type-id-491' visibility='default' filepath='include/linux/input.h' line='135' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='ffbit' type-id='type-id-219' visibility='default' filepath='include/linux/input.h' line='136' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='swbit' type-id='type-id-491' visibility='default' filepath='include/linux/input.h' line='137' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='hint_events_per_packet' type-id='type-id-5' visibility='default' filepath='include/linux/input.h' line='139' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1696'>
-          <var-decl name='keycodemax' type-id='type-id-5' visibility='default' filepath='include/linux/input.h' line='141' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='keycodesize' type-id='type-id-5' visibility='default' filepath='include/linux/input.h' line='142' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='keycode' type-id='type-id-15' visibility='default' filepath='include/linux/input.h' line='143' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='setkeycode' type-id='type-id-5497' visibility='default' filepath='include/linux/input.h' line='145' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='getkeycode' type-id='type-id-5498' visibility='default' filepath='include/linux/input.h' line='148' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='ff' type-id='type-id-5499' visibility='default' filepath='include/linux/input.h' line='151' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='repeat_key' type-id='type-id-5' visibility='default' filepath='include/linux/input.h' line='153' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='timer' type-id='type-id-417' visibility='default' filepath='include/linux/input.h' line='154' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2432'>
-          <var-decl name='rep' type-id='type-id-465' visibility='default' filepath='include/linux/input.h' line='156' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2496'>
-          <var-decl name='mt' type-id='type-id-5500' visibility='default' filepath='include/linux/input.h' line='158' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2560'>
-          <var-decl name='absinfo' type-id='type-id-5501' visibility='default' filepath='include/linux/input.h' line='160' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2624'>
-          <var-decl name='key' type-id='type-id-1197' visibility='default' filepath='include/linux/input.h' line='162' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3392'>
-          <var-decl name='led' type-id='type-id-491' visibility='default' filepath='include/linux/input.h' line='163' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3456'>
-          <var-decl name='snd' type-id='type-id-491' visibility='default' filepath='include/linux/input.h' line='164' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3520'>
-          <var-decl name='sw' type-id='type-id-491' visibility='default' filepath='include/linux/input.h' line='165' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3584'>
-          <var-decl name='open' type-id='type-id-5502' visibility='default' filepath='include/linux/input.h' line='167' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3648'>
-          <var-decl name='close' type-id='type-id-5503' visibility='default' filepath='include/linux/input.h' line='168' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3712'>
-          <var-decl name='flush' type-id='type-id-5504' visibility='default' filepath='include/linux/input.h' line='169' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3776'>
-          <var-decl name='event' type-id='type-id-5505' visibility='default' filepath='include/linux/input.h' line='170' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3840'>
-          <var-decl name='grab' type-id='type-id-5506' visibility='default' filepath='include/linux/input.h' line='172' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3904'>
-          <var-decl name='event_lock' type-id='type-id-247' visibility='default' filepath='include/linux/input.h' line='174' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3968'>
-          <var-decl name='mutex' type-id='type-id-245' visibility='default' filepath='include/linux/input.h' line='175' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4224'>
-          <var-decl name='users' type-id='type-id-5' visibility='default' filepath='include/linux/input.h' line='177' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4256'>
-          <var-decl name='going_away' type-id='type-id-33' visibility='default' filepath='include/linux/input.h' line='178' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4288'>
-          <var-decl name='dev' type-id='type-id-388' visibility='default' filepath='include/linux/input.h' line='180' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10496'>
-          <var-decl name='h_list' type-id='type-id-20' visibility='default' filepath='include/linux/input.h' line='182' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10624'>
-          <var-decl name='node' type-id='type-id-20' visibility='default' filepath='include/linux/input.h' line='183' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10752'>
-          <var-decl name='num_vals' type-id='type-id-5' visibility='default' filepath='include/linux/input.h' line='185' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10784'>
-          <var-decl name='max_vals' type-id='type-id-5' visibility='default' filepath='include/linux/input.h' line='186' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10816'>
-          <var-decl name='vals' type-id='type-id-5507' visibility='default' filepath='include/linux/input.h' line='187' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10880'>
-          <var-decl name='devres_managed' type-id='type-id-33' visibility='default' filepath='include/linux/input.h' line='189' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='input_id' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/linux/input.h' line='58' column='1' id='type-id-5496'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bustype' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/input.h' line='59' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='vendor' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/input.h' line='60' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='product' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/input.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='version' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/input.h' line='62' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='input_keymap_entry' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/uapi/linux/input.h' line='113' column='1' id='type-id-5508'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='flags' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/input.h' line='115' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='len' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/input.h' line='116' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='index' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/input.h' line='117' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='keycode' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/input.h' line='118' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='scancode' type-id='type-id-940' visibility='default' filepath='include/uapi/linux/input.h' line='119' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ff_device' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/linux/input.h' line='510' column='1' id='type-id-5509'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='upload' type-id='type-id-5510' visibility='default' filepath='include/linux/input.h' line='511' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='erase' type-id='type-id-5511' visibility='default' filepath='include/linux/input.h' line='513' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='playback' type-id='type-id-5512' visibility='default' filepath='include/linux/input.h' line='515' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='set_gain' type-id='type-id-5513' visibility='default' filepath='include/linux/input.h' line='516' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='set_autocenter' type-id='type-id-5513' visibility='default' filepath='include/linux/input.h' line='517' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='destroy' type-id='type-id-5514' visibility='default' filepath='include/linux/input.h' line='519' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='private' type-id='type-id-15' visibility='default' filepath='include/linux/input.h' line='521' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='ffbit' type-id='type-id-219' visibility='default' filepath='include/linux/input.h' line='523' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='mutex' type-id='type-id-245' visibility='default' filepath='include/linux/input.h' line='525' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='max_effects' type-id='type-id-17' visibility='default' filepath='include/linux/input.h' line='527' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='effects' type-id='type-id-5515' visibility='default' filepath='include/linux/input.h' line='528' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='effect_owners' type-id='type-id-5488' visibility='default' filepath='include/linux/input.h' line='529' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ff_effect' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/uapi/linux/input.h' line='449' column='1' id='type-id-5516'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='type' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/input.h' line='450' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='id' type-id='type-id-2203' visibility='default' filepath='include/uapi/linux/input.h' line='451' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='direction' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/input.h' line='452' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='trigger' type-id='type-id-5517' visibility='default' filepath='include/uapi/linux/input.h' line='453' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='80'>
-          <var-decl name='replay' type-id='type-id-5518' visibility='default' filepath='include/uapi/linux/input.h' line='454' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='u' type-id='type-id-5519' visibility='default' filepath='include/uapi/linux/input.h' line='462' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ff_trigger' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/uapi/linux/input.h' line='315' column='1' id='type-id-5517'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='button' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/input.h' line='316' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='interval' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/input.h' line='317' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ff_replay' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/uapi/linux/input.h' line='305' column='1' id='type-id-5518'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='length' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/input.h' line='306' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='delay' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/input.h' line='307' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/input.h' line='456' column='1' id='type-id-5519'>
-        <data-member access='private'>
-          <var-decl name='constant' type-id='type-id-5520' visibility='default' filepath='include/uapi/linux/input.h' line='457' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='ramp' type-id='type-id-5521' visibility='default' filepath='include/uapi/linux/input.h' line='458' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='periodic' type-id='type-id-5522' visibility='default' filepath='include/uapi/linux/input.h' line='459' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='condition' type-id='type-id-5487' visibility='default' filepath='include/uapi/linux/input.h' line='460' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='rumble' type-id='type-id-5523' visibility='default' filepath='include/uapi/linux/input.h' line='461' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='ff_constant_effect' size-in-bits='80' is-struct='yes' visibility='default' filepath='include/uapi/linux/input.h' line='344' column='1' id='type-id-5520'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='level' type-id='type-id-2203' visibility='default' filepath='include/uapi/linux/input.h' line='345' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='envelope' type-id='type-id-5524' visibility='default' filepath='include/uapi/linux/input.h' line='346' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ff_envelope' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/linux/input.h' line='332' column='1' id='type-id-5524'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='attack_length' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/input.h' line='333' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='attack_level' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/input.h' line='334' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='fade_length' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/input.h' line='335' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='fade_level' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/input.h' line='336' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ff_ramp_effect' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/uapi/linux/input.h' line='355' column='1' id='type-id-5521'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='start_level' type-id='type-id-2203' visibility='default' filepath='include/uapi/linux/input.h' line='356' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='end_level' type-id='type-id-2203' visibility='default' filepath='include/uapi/linux/input.h' line='357' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='envelope' type-id='type-id-5524' visibility='default' filepath='include/uapi/linux/input.h' line='358' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ff_periodic_effect' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/uapi/linux/input.h' line='400' column='1' id='type-id-5522'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='waveform' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/input.h' line='401' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='period' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/input.h' line='402' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='magnitude' type-id='type-id-2203' visibility='default' filepath='include/uapi/linux/input.h' line='403' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='offset' type-id='type-id-2203' visibility='default' filepath='include/uapi/linux/input.h' line='404' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='phase' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/input.h' line='405' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='80'>
-          <var-decl name='envelope' type-id='type-id-5524' visibility='default' filepath='include/uapi/linux/input.h' line='407' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='custom_len' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/input.h' line='409' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='custom_data' type-id='type-id-5525' visibility='default' filepath='include/uapi/linux/input.h' line='410' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ff_condition_effect' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/uapi/linux/input.h' line='371' column='1' id='type-id-5486'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='right_saturation' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/input.h' line='372' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='left_saturation' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/input.h' line='373' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='right_coeff' type-id='type-id-2203' visibility='default' filepath='include/uapi/linux/input.h' line='375' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='left_coeff' type-id='type-id-2203' visibility='default' filepath='include/uapi/linux/input.h' line='376' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='deadband' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/input.h' line='378' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='80'>
-          <var-decl name='center' type-id='type-id-2203' visibility='default' filepath='include/uapi/linux/input.h' line='379' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ff_rumble_effect' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/uapi/linux/input.h' line='421' column='1' id='type-id-5523'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='strong_magnitude' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/input.h' line='422' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='weak_magnitude' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/input.h' line='423' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='input_mt' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/input/mt.h' line='46' column='1' id='type-id-5526'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='trkid' type-id='type-id-17' visibility='default' filepath='include/linux/input/mt.h' line='47' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='num_slots' type-id='type-id-17' visibility='default' filepath='include/linux/input/mt.h' line='48' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='slot' type-id='type-id-17' visibility='default' filepath='include/linux/input/mt.h' line='49' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='include/linux/input/mt.h' line='50' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='frame' type-id='type-id-5' visibility='default' filepath='include/linux/input/mt.h' line='51' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='red' type-id='type-id-666' visibility='default' filepath='include/linux/input/mt.h' line='52' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='slots' type-id='type-id-5490' visibility='default' filepath='include/linux/input/mt.h' line='53' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='input_mt_slot' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/input/mt.h' line='30' column='1' id='type-id-5489'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='abs' type-id='type-id-5491' visibility='default' filepath='include/linux/input/mt.h' line='31' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='frame' type-id='type-id-5' visibility='default' filepath='include/linux/input/mt.h' line='32' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='key' type-id='type-id-5' visibility='default' filepath='include/linux/input/mt.h' line='33' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='input_absinfo' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/uapi/linux/input.h' line='89' column='1' id='type-id-5527'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='value' type-id='type-id-653' visibility='default' filepath='include/uapi/linux/input.h' line='90' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='minimum' type-id='type-id-653' visibility='default' filepath='include/uapi/linux/input.h' line='91' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='maximum' type-id='type-id-653' visibility='default' filepath='include/uapi/linux/input.h' line='92' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='fuzz' type-id='type-id-653' visibility='default' filepath='include/uapi/linux/input.h' line='93' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='flat' type-id='type-id-653' visibility='default' filepath='include/uapi/linux/input.h' line='94' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='resolution' type-id='type-id-653' visibility='default' filepath='include/uapi/linux/input.h' line='95' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='input_handle' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/input.h' line='323' column='1' id='type-id-5528'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='private' type-id='type-id-15' visibility='default' filepath='include/linux/input.h' line='325' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='open' type-id='type-id-17' visibility='default' filepath='include/linux/input.h' line='327' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/input.h' line='328' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='dev' type-id='type-id-5529' visibility='default' filepath='include/linux/input.h' line='330' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='handler' type-id='type-id-5530' visibility='default' filepath='include/linux/input.h' line='331' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='d_node' type-id='type-id-20' visibility='default' filepath='include/linux/input.h' line='333' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='h_node' type-id='type-id-20' visibility='default' filepath='include/linux/input.h' line='334' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='input_handler' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/linux/input.h' line='288' column='1' id='type-id-5531'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='private' type-id='type-id-15' visibility='default' filepath='include/linux/input.h' line='290' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='event' type-id='type-id-5532' visibility='default' filepath='include/linux/input.h' line='292' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='events' type-id='type-id-5533' visibility='default' filepath='include/linux/input.h' line='293' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='filter' type-id='type-id-5534' visibility='default' filepath='include/linux/input.h' line='295' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='match' type-id='type-id-5535' visibility='default' filepath='include/linux/input.h' line='296' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='connect' type-id='type-id-5536' visibility='default' filepath='include/linux/input.h' line='297' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='disconnect' type-id='type-id-5537' visibility='default' filepath='include/linux/input.h' line='298' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='start' type-id='type-id-5537' visibility='default' filepath='include/linux/input.h' line='299' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='legacy_minors' type-id='type-id-33' visibility='default' filepath='include/linux/input.h' line='301' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='minor' type-id='type-id-17' visibility='default' filepath='include/linux/input.h' line='302' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/input.h' line='303' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='id_table' type-id='type-id-5538' visibility='default' filepath='include/linux/input.h' line='305' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='h_list' type-id='type-id-20' visibility='default' filepath='include/linux/input.h' line='307' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='node' type-id='type-id-20' visibility='default' filepath='include/linux/input.h' line='308' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='input_value' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/input.h' line='33' column='1' id='type-id-5539'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='type' type-id='type-id-108' visibility='default' filepath='include/linux/input.h' line='34' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='code' type-id='type-id-108' visibility='default' filepath='include/linux/input.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='value' type-id='type-id-653' visibility='default' filepath='include/linux/input.h' line='36' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='input_device_id' size-in-bits='1600' is-struct='yes' visibility='default' filepath='include/linux/mod_devicetable.h' line='321' column='1' id='type-id-5540'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='flags' type-id='type-id-3539' visibility='default' filepath='include/linux/mod_devicetable.h' line='323' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='bustype' type-id='type-id-108' visibility='default' filepath='include/linux/mod_devicetable.h' line='325' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='80'>
-          <var-decl name='vendor' type-id='type-id-108' visibility='default' filepath='include/linux/mod_devicetable.h' line='326' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='product' type-id='type-id-108' visibility='default' filepath='include/linux/mod_devicetable.h' line='327' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='112'>
-          <var-decl name='version' type-id='type-id-108' visibility='default' filepath='include/linux/mod_devicetable.h' line='328' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='evbit' type-id='type-id-5493' visibility='default' filepath='include/linux/mod_devicetable.h' line='330' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='keybit' type-id='type-id-5492' visibility='default' filepath='include/linux/mod_devicetable.h' line='331' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='relbit' type-id='type-id-5493' visibility='default' filepath='include/linux/mod_devicetable.h' line='332' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='absbit' type-id='type-id-5493' visibility='default' filepath='include/linux/mod_devicetable.h' line='333' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='mscbit' type-id='type-id-5493' visibility='default' filepath='include/linux/mod_devicetable.h' line='334' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='ledbit' type-id='type-id-5493' visibility='default' filepath='include/linux/mod_devicetable.h' line='335' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='sndbit' type-id='type-id-5493' visibility='default' filepath='include/linux/mod_devicetable.h' line='336' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='ffbit' type-id='type-id-5494' visibility='default' filepath='include/linux/mod_devicetable.h' line='337' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='swbit' type-id='type-id-5493' visibility='default' filepath='include/linux/mod_devicetable.h' line='338' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='propbit' type-id='type-id-5493' visibility='default' filepath='include/linux/mod_devicetable.h' line='339' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='driver_info' type-id='type-id-3539' visibility='default' filepath='include/linux/mod_devicetable.h' line='341' column='1'/>
-        </data-member>
-      </class-decl>
-      <pointer-type-def type-id='type-id-2203' size-in-bits='64' id='type-id-5525'/>
-      <qualified-type-def type-id='type-id-5540' const='yes' id='type-id-5541'/>
-      <pointer-type-def type-id='type-id-5541' size-in-bits='64' id='type-id-5538'/>
-      <qualified-type-def type-id='type-id-5508' const='yes' id='type-id-5542'/>
-      <pointer-type-def type-id='type-id-5542' size-in-bits='64' id='type-id-5543'/>
-      <qualified-type-def type-id='type-id-5539' const='yes' id='type-id-5544'/>
-      <pointer-type-def type-id='type-id-5544' size-in-bits='64' id='type-id-5545'/>
-      <pointer-type-def type-id='type-id-5509' size-in-bits='64' id='type-id-5499'/>
-      <pointer-type-def type-id='type-id-5516' size-in-bits='64' id='type-id-5515'/>
-      <pointer-type-def type-id='type-id-5527' size-in-bits='64' id='type-id-5501'/>
-      <pointer-type-def type-id='type-id-5495' size-in-bits='64' id='type-id-5529'/>
-      <pointer-type-def type-id='type-id-5528' size-in-bits='64' id='type-id-5506'/>
-      <pointer-type-def type-id='type-id-5531' size-in-bits='64' id='type-id-5530'/>
-      <pointer-type-def type-id='type-id-5508' size-in-bits='64' id='type-id-5546'/>
-      <pointer-type-def type-id='type-id-5526' size-in-bits='64' id='type-id-5500'/>
-      <pointer-type-def type-id='type-id-5539' size-in-bits='64' id='type-id-5507'/>
-      <pointer-type-def type-id='type-id-5547' size-in-bits='64' id='type-id-5502'/>
-      <pointer-type-def type-id='type-id-5548' size-in-bits='64' id='type-id-5497'/>
-      <pointer-type-def type-id='type-id-5549' size-in-bits='64' id='type-id-5510'/>
-      <pointer-type-def type-id='type-id-5550' size-in-bits='64' id='type-id-5504'/>
-      <pointer-type-def type-id='type-id-5551' size-in-bits='64' id='type-id-5498'/>
-      <pointer-type-def type-id='type-id-5552' size-in-bits='64' id='type-id-5511'/>
-      <pointer-type-def type-id='type-id-5553' size-in-bits='64' id='type-id-5512'/>
-      <pointer-type-def type-id='type-id-5554' size-in-bits='64' id='type-id-5505'/>
-      <pointer-type-def type-id='type-id-5555' size-in-bits='64' id='type-id-5536'/>
-      <pointer-type-def type-id='type-id-5556' size-in-bits='64' id='type-id-5534'/>
-      <pointer-type-def type-id='type-id-5557' size-in-bits='64' id='type-id-5535'/>
-      <pointer-type-def type-id='type-id-5558' size-in-bits='64' id='type-id-5514'/>
-      <pointer-type-def type-id='type-id-5559' size-in-bits='64' id='type-id-5503'/>
-      <pointer-type-def type-id='type-id-5560' size-in-bits='64' id='type-id-5513'/>
-      <pointer-type-def type-id='type-id-5561' size-in-bits='64' id='type-id-5537'/>
-      <pointer-type-def type-id='type-id-5562' size-in-bits='64' id='type-id-5533'/>
-      <pointer-type-def type-id='type-id-5563' size-in-bits='64' id='type-id-5532'/>
-      <function-decl name='input_allocate_device' mangled-name='input_allocate_device' filepath='drivers/input/input.c' line='1783' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='input_allocate_device'>
-        <return type-id='type-id-5529'/>
-      </function-decl>
-      <function-decl name='input_event' mangled-name='input_event' filepath='drivers/input/input.c' line='428' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='input_event'>
-        <parameter type-id='type-id-5529' name='dev' filepath='drivers/input/input.c' line='428' column='1'/>
-        <parameter type-id='type-id-5' name='type' filepath='drivers/input/input.c' line='429' column='1'/>
-        <parameter type-id='type-id-5' name='code' filepath='drivers/input/input.c' line='429' column='1'/>
-        <parameter type-id='type-id-17' name='value' filepath='drivers/input/input.c' line='429' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='input_alloc_absinfo' mangled-name='input_alloc_absinfo' filepath='drivers/input/input.c' line='481' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='input_alloc_absinfo'>
-        <parameter type-id='type-id-5529' name='dev' filepath='drivers/input/input.c' line='481' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='input_set_abs_params' mangled-name='input_set_abs_params' filepath='drivers/input/input.c' line='499' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='input_set_abs_params'>
-        <parameter type-id='type-id-5529' name='dev' filepath='drivers/input/input.c' line='499' column='1'/>
-        <parameter type-id='type-id-5' name='axis' filepath='drivers/input/input.c' line='499' column='1'/>
-        <parameter type-id='type-id-17' name='min' filepath='drivers/input/input.c' line='500' column='1'/>
-        <parameter type-id='type-id-17' name='max' filepath='drivers/input/input.c' line='500' column='1'/>
-        <parameter type-id='type-id-17' name='fuzz' filepath='drivers/input/input.c' line='500' column='1'/>
-        <parameter type-id='type-id-17' name='flat' filepath='drivers/input/input.c' line='500' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='input_free_device' mangled-name='input_free_device' filepath='drivers/input/input.c' line='1888' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='input_free_device'>
-        <parameter type-id='type-id-5529' name='dev' filepath='drivers/input/input.c' line='1888' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='input_register_device' mangled-name='input_register_device' filepath='drivers/input/input.c' line='2086' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='input_register_device'>
-        <parameter type-id='type-id-5529' name='dev' filepath='drivers/input/input.c' line='2086' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='input_unregister_device' mangled-name='input_unregister_device' filepath='drivers/input/input.c' line='2190' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='input_unregister_device'>
-        <parameter type-id='type-id-5529' name='dev' filepath='drivers/input/input.c' line='2190' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-5547'>
-        <parameter type-id='type-id-5529'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5548'>
-        <parameter type-id='type-id-5529'/>
-        <parameter type-id='type-id-5543'/>
-        <parameter type-id='type-id-482'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5549'>
-        <parameter type-id='type-id-5529'/>
-        <parameter type-id='type-id-5515'/>
-        <parameter type-id='type-id-5515'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5550'>
-        <parameter type-id='type-id-5529'/>
-        <parameter type-id='type-id-83'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5551'>
-        <parameter type-id='type-id-5529'/>
-        <parameter type-id='type-id-5546'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5552'>
-        <parameter type-id='type-id-5529'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5553'>
-        <parameter type-id='type-id-5529'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5554'>
-        <parameter type-id='type-id-5529'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5555'>
-        <parameter type-id='type-id-5530'/>
-        <parameter type-id='type-id-5529'/>
-        <parameter type-id='type-id-5538'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5556'>
-        <parameter type-id='type-id-5506'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-33'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5557'>
-        <parameter type-id='type-id-5530'/>
-        <parameter type-id='type-id-5529'/>
-        <return type-id='type-id-33'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5558'>
-        <parameter type-id='type-id-5499'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5559'>
-        <parameter type-id='type-id-5529'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5560'>
-        <parameter type-id='type-id-5529'/>
-        <parameter type-id='type-id-688'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5561'>
-        <parameter type-id='type-id-5506'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5562'>
-        <parameter type-id='type-id-5506'/>
-        <parameter type-id='type-id-5545'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5563'>
-        <parameter type-id='type-id-5506'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/input/input-mt.c' language='LANG_C89'>
-      <function-decl name='input_mt_init_slots' mangled-name='input_mt_init_slots' filepath='drivers/input/input-mt.c' line='41' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='input_mt_init_slots'>
-        <parameter type-id='type-id-5529' name='dev' filepath='drivers/input/input-mt.c' line='41' column='1'/>
-        <parameter type-id='type-id-5' name='num_slots' filepath='drivers/input/input-mt.c' line='41' column='1'/>
-        <parameter type-id='type-id-5' name='flags' filepath='drivers/input/input-mt.c' line='42' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/rtc/rtc-lib.c' language='LANG_C89'>
-      <class-decl name='rtc_time' size-in-bits='288' is-struct='yes' visibility='default' filepath='include/uapi/linux/rtc.h' line='21' column='1' id='type-id-5564'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='tm_sec' type-id='type-id-17' visibility='default' filepath='include/uapi/linux/rtc.h' line='22' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='tm_min' type-id='type-id-17' visibility='default' filepath='include/uapi/linux/rtc.h' line='23' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='tm_hour' type-id='type-id-17' visibility='default' filepath='include/uapi/linux/rtc.h' line='24' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='tm_mday' type-id='type-id-17' visibility='default' filepath='include/uapi/linux/rtc.h' line='25' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='tm_mon' type-id='type-id-17' visibility='default' filepath='include/uapi/linux/rtc.h' line='26' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='tm_year' type-id='type-id-17' visibility='default' filepath='include/uapi/linux/rtc.h' line='27' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='tm_wday' type-id='type-id-17' visibility='default' filepath='include/uapi/linux/rtc.h' line='28' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='tm_yday' type-id='type-id-17' visibility='default' filepath='include/uapi/linux/rtc.h' line='29' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='tm_isdst' type-id='type-id-17' visibility='default' filepath='include/uapi/linux/rtc.h' line='30' column='1'/>
-        </data-member>
-      </class-decl>
-      <pointer-type-def type-id='type-id-5564' size-in-bits='64' id='type-id-5565'/>
-      <function-decl name='rtc_time64_to_tm' mangled-name='rtc_time64_to_tm' filepath='drivers/rtc/rtc-lib.c' line='53' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rtc_time64_to_tm'>
-        <parameter type-id='type-id-1341' name='time' filepath='drivers/rtc/rtc-lib.c' line='53' column='1'/>
-        <parameter type-id='type-id-5565' name='tm' filepath='drivers/rtc/rtc-lib.c' line='53' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='rtc_tm_to_time64' mangled-name='rtc_tm_to_time64' filepath='drivers/rtc/rtc-lib.c' line='117' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rtc_tm_to_time64'>
-        <parameter type-id='type-id-5565' name='tm' filepath='drivers/rtc/rtc-lib.c' line='117' column='1'/>
-        <return type-id='type-id-1341'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/rtc/class.c' language='LANG_C89'>
-      <class-decl name='nvmem_device' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-5566'/>
-      <class-decl name='rtc_device' size-in-bits='10688' is-struct='yes' visibility='default' filepath='include/linux/rtc.h' line='102' column='1' id='type-id-5567'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dev' type-id='type-id-388' visibility='default' filepath='include/linux/rtc.h' line='103' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6208'>
-          <var-decl name='owner' type-id='type-id-260' visibility='default' filepath='include/linux/rtc.h' line='104' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6272'>
-          <var-decl name='id' type-id='type-id-17' visibility='default' filepath='include/linux/rtc.h' line='106' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6336'>
-          <var-decl name='ops' type-id='type-id-5568' visibility='default' filepath='include/linux/rtc.h' line='108' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6400'>
-          <var-decl name='ops_lock' type-id='type-id-245' visibility='default' filepath='include/linux/rtc.h' line='109' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6656'>
-          <var-decl name='char_dev' type-id='type-id-266' visibility='default' filepath='include/linux/rtc.h' line='111' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7488'>
-          <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='include/linux/rtc.h' line='112' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7552'>
-          <var-decl name='irq_data' type-id='type-id-16' visibility='default' filepath='include/linux/rtc.h' line='114' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7616'>
-          <var-decl name='irq_lock' type-id='type-id-247' visibility='default' filepath='include/linux/rtc.h' line='115' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7680'>
-          <var-decl name='irq_queue' type-id='type-id-225' visibility='default' filepath='include/linux/rtc.h' line='116' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7872'>
-          <var-decl name='async_queue' type-id='type-id-254' visibility='default' filepath='include/linux/rtc.h' line='117' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7936'>
-          <var-decl name='irq_freq' type-id='type-id-17' visibility='default' filepath='include/linux/rtc.h' line='119' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7968'>
-          <var-decl name='max_user_freq' type-id='type-id-17' visibility='default' filepath='include/linux/rtc.h' line='120' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8000'>
-          <var-decl name='timerqueue' type-id='type-id-1559' visibility='default' filepath='include/linux/rtc.h' line='122' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8128'>
-          <var-decl name='aie_timer' type-id='type-id-5569' visibility='default' filepath='include/linux/rtc.h' line='123' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8640'>
-          <var-decl name='uie_rtctimer' type-id='type-id-5569' visibility='default' filepath='include/linux/rtc.h' line='124' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9152'>
-          <var-decl name='pie_timer' type-id='type-id-681' visibility='default' filepath='include/linux/rtc.h' line='125' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9664'>
-          <var-decl name='pie_enabled' type-id='type-id-17' visibility='default' filepath='include/linux/rtc.h' line='126' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9728'>
-          <var-decl name='irqwork' type-id='type-id-255' visibility='default' filepath='include/linux/rtc.h' line='127' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9984'>
-          <var-decl name='uie_unsupported' type-id='type-id-17' visibility='default' filepath='include/linux/rtc.h' line='129' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10048'>
-          <var-decl name='set_offset_nsec' type-id='type-id-192' visibility='default' filepath='include/linux/rtc.h' line='137' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10112'>
-          <var-decl name='registered' type-id='type-id-33' visibility='default' filepath='include/linux/rtc.h' line='139' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10176'>
-          <var-decl name='nvmem' type-id='type-id-5570' visibility='default' filepath='include/linux/rtc.h' line='141' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10240'>
-          <var-decl name='nvram_old_abi' type-id='type-id-33' visibility='default' filepath='include/linux/rtc.h' line='143' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10304'>
-          <var-decl name='nvram' type-id='type-id-2610' visibility='default' filepath='include/linux/rtc.h' line='144' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10368'>
-          <var-decl name='range_min' type-id='type-id-1341' visibility='default' filepath='include/linux/rtc.h' line='146' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10432'>
-          <var-decl name='range_max' type-id='type-id-5571' visibility='default' filepath='include/linux/rtc.h' line='147' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10496'>
-          <var-decl name='start_secs' type-id='type-id-1341' visibility='default' filepath='include/linux/rtc.h' line='148' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10560'>
-          <var-decl name='offset_secs' type-id='type-id-1341' visibility='default' filepath='include/linux/rtc.h' line='149' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='10624'>
-          <var-decl name='set_start_time' type-id='type-id-33' visibility='default' filepath='include/linux/rtc.h' line='150' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='rtc_class_ops' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/linux/rtc.h' line='75' column='1' id='type-id-5572'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ioctl' type-id='type-id-5573' visibility='default' filepath='include/linux/rtc.h' line='76' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='read_time' type-id='type-id-5574' visibility='default' filepath='include/linux/rtc.h' line='77' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='set_time' type-id='type-id-5574' visibility='default' filepath='include/linux/rtc.h' line='78' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='read_alarm' type-id='type-id-5575' visibility='default' filepath='include/linux/rtc.h' line='79' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='set_alarm' type-id='type-id-5575' visibility='default' filepath='include/linux/rtc.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='proc' type-id='type-id-5576' visibility='default' filepath='include/linux/rtc.h' line='81' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='set_mmss64' type-id='type-id-5577' visibility='default' filepath='include/linux/rtc.h' line='82' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='set_mmss' type-id='type-id-5578' visibility='default' filepath='include/linux/rtc.h' line='83' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='read_callback' type-id='type-id-5579' visibility='default' filepath='include/linux/rtc.h' line='84' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='alarm_irq_enable' type-id='type-id-5580' visibility='default' filepath='include/linux/rtc.h' line='85' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='read_offset' type-id='type-id-5581' visibility='default' filepath='include/linux/rtc.h' line='86' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='set_offset' type-id='type-id-5582' visibility='default' filepath='include/linux/rtc.h' line='87' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='rtc_wkalrm' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/uapi/linux/rtc.h' line='37' column='1' id='type-id-5583'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='enabled' type-id='type-id-216' visibility='default' filepath='include/uapi/linux/rtc.h' line='38' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='pending' type-id='type-id-216' visibility='default' filepath='include/uapi/linux/rtc.h' line='39' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='time' type-id='type-id-5564' visibility='default' filepath='include/uapi/linux/rtc.h' line='40' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='rtc_timer' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/rtc.h' line='90' column='1' id='type-id-5569'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='node' type-id='type-id-1552' visibility='default' filepath='include/linux/rtc.h' line='91' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='period' type-id='type-id-682' visibility='default' filepath='include/linux/rtc.h' line='92' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='func' type-id='type-id-517' visibility='default' filepath='include/linux/rtc.h' line='93' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='private_data' type-id='type-id-15' visibility='default' filepath='include/linux/rtc.h' line='94' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='enabled' type-id='type-id-17' visibility='default' filepath='include/linux/rtc.h' line='95' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='timeu64_t' type-id='type-id-100' filepath='include/linux/time64.h' line='8' column='1' id='type-id-5571'/>
-      <qualified-type-def type-id='type-id-5572' const='yes' id='type-id-5584'/>
-      <pointer-type-def type-id='type-id-5584' size-in-bits='64' id='type-id-5568'/>
-      <pointer-type-def type-id='type-id-5585' size-in-bits='64' id='type-id-5579'/>
-      <pointer-type-def type-id='type-id-5586' size-in-bits='64' id='type-id-5582'/>
-      <pointer-type-def type-id='type-id-5587' size-in-bits='64' id='type-id-5581'/>
-      <pointer-type-def type-id='type-id-5588' size-in-bits='64' id='type-id-5574'/>
-      <pointer-type-def type-id='type-id-5589' size-in-bits='64' id='type-id-5575'/>
-      <pointer-type-def type-id='type-id-5590' size-in-bits='64' id='type-id-5576'/>
-      <pointer-type-def type-id='type-id-5591' size-in-bits='64' id='type-id-5577'/>
-      <pointer-type-def type-id='type-id-5592' size-in-bits='64' id='type-id-5580'/>
-      <pointer-type-def type-id='type-id-5593' size-in-bits='64' id='type-id-5573'/>
-      <pointer-type-def type-id='type-id-5594' size-in-bits='64' id='type-id-5578'/>
-      <pointer-type-def type-id='type-id-192' size-in-bits='64' id='type-id-5595'/>
-      <pointer-type-def type-id='type-id-5566' size-in-bits='64' id='type-id-5570'/>
-      <pointer-type-def type-id='type-id-5567' size-in-bits='64' id='type-id-5596'/>
-      <pointer-type-def type-id='type-id-5583' size-in-bits='64' id='type-id-5597'/>
-      <function-decl name='devm_rtc_allocate_device' mangled-name='devm_rtc_allocate_device' filepath='drivers/rtc/class.c' line='460' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_rtc_allocate_device'>
-        <parameter type-id='type-id-240' name='dev' filepath='drivers/rtc/class.c' line='460' column='1'/>
-        <return type-id='type-id-5596'/>
-      </function-decl>
-      <function-decl name='__rtc_register_device' mangled-name='__rtc_register_device' filepath='drivers/rtc/class.c' line='498' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__rtc_register_device'>
-        <parameter type-id='type-id-260' name='owner' filepath='drivers/rtc/class.c' line='498' column='1'/>
-        <parameter type-id='type-id-5596' name='rtc' filepath='drivers/rtc/class.c' line='498' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-5585'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5586'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-192'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5587'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-5595'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5588'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-5565'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5589'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-5597'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5590'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-88'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5591'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-1341'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5592'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5593'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5594'>
-        <parameter type-id='type-id-240'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/rtc/interface.c' language='LANG_C89'>
-      <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/uio.h' line='35' column='1' id='type-id-5598'>
-        <data-member access='private'>
-          <var-decl name='iov' type-id='type-id-2117' visibility='default' filepath='include/linux/uio.h' line='36' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='kvec' type-id='type-id-2118' visibility='default' filepath='include/linux/uio.h' line='37' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='bvec' type-id='type-id-2119' visibility='default' filepath='include/linux/uio.h' line='38' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='pipe' type-id='type-id-3454' visibility='default' filepath='include/linux/uio.h' line='39' column='1'/>
-        </data-member>
-      </union-decl>
-      <function-decl name='rtc_update_irq' mangled-name='rtc_update_irq' filepath='drivers/rtc/interface.c' line='688' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rtc_update_irq'>
-        <parameter type-id='type-id-5596' name='rtc' filepath='drivers/rtc/interface.c' line='688' column='1'/>
-        <parameter type-id='type-id-16' name='num' filepath='drivers/rtc/interface.c' line='689' column='1'/>
-        <parameter type-id='type-id-16' name='events' filepath='drivers/rtc/interface.c' line='689' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/cpufreq/cpufreq.c' language='LANG_C89'>
-      <class-decl name='cpufreq_stats' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-5599'/>
-      <class-decl name='cpufreq_driver' size-in-bits='1472' is-struct='yes' visibility='default' filepath='include/linux/cpufreq.h' line='266' column='1' id='type-id-5600'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-43' visibility='default' filepath='include/linux/cpufreq.h' line='267' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='flags' type-id='type-id-214' visibility='default' filepath='include/linux/cpufreq.h' line='268' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='driver_data' type-id='type-id-15' visibility='default' filepath='include/linux/cpufreq.h' line='269' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='init' type-id='type-id-5601' visibility='default' filepath='include/linux/cpufreq.h' line='272' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='verify' type-id='type-id-5601' visibility='default' filepath='include/linux/cpufreq.h' line='273' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='setpolicy' type-id='type-id-5601' visibility='default' filepath='include/linux/cpufreq.h' line='276' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='target' type-id='type-id-5602' visibility='default' filepath='include/linux/cpufreq.h' line='282' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='target_index' type-id='type-id-5603' visibility='default' filepath='include/linux/cpufreq.h' line='285' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='fast_switch' type-id='type-id-5604' visibility='default' filepath='include/linux/cpufreq.h' line='287' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='resolve_freq' type-id='type-id-5604' visibility='default' filepath='include/linux/cpufreq.h' line='296' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='get_intermediate' type-id='type-id-5604' visibility='default' filepath='include/linux/cpufreq.h' line='314' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='target_intermediate' type-id='type-id-5603' visibility='default' filepath='include/linux/cpufreq.h' line='316' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='get' type-id='type-id-4015' visibility='default' filepath='include/linux/cpufreq.h' line='320' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='bios_limit' type-id='type-id-5605' visibility='default' filepath='include/linux/cpufreq.h' line='323' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='exit' type-id='type-id-5601' visibility='default' filepath='include/linux/cpufreq.h' line='325' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='stop_cpu' type-id='type-id-5606' visibility='default' filepath='include/linux/cpufreq.h' line='326' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='suspend' type-id='type-id-5601' visibility='default' filepath='include/linux/cpufreq.h' line='327' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='resume' type-id='type-id-5601' visibility='default' filepath='include/linux/cpufreq.h' line='328' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='ready' type-id='type-id-5606' visibility='default' filepath='include/linux/cpufreq.h' line='331' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='attr' type-id='type-id-5607' visibility='default' filepath='include/linux/cpufreq.h' line='333' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='boost_enabled' type-id='type-id-33' visibility='default' filepath='include/linux/cpufreq.h' line='336' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='set_boost' type-id='type-id-2566' visibility='default' filepath='include/linux/cpufreq.h' line='337' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='cpufreq_policy' size-in-bits='3200' is-struct='yes' visibility='default' filepath='include/linux/cpufreq.h' line='65' column='1' id='type-id-5608'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cpus' type-id='type-id-38' visibility='default' filepath='include/linux/cpufreq.h' line='67' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='related_cpus' type-id='type-id-38' visibility='default' filepath='include/linux/cpufreq.h' line='68' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='real_cpus' type-id='type-id-38' visibility='default' filepath='include/linux/cpufreq.h' line='69' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='shared_type' type-id='type-id-5' visibility='default' filepath='include/linux/cpufreq.h' line='71' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='cpu' type-id='type-id-5' visibility='default' filepath='include/linux/cpufreq.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='clk' type-id='type-id-4190' visibility='default' filepath='include/linux/cpufreq.h' line='75' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='cpuinfo' type-id='type-id-5609' visibility='default' filepath='include/linux/cpufreq.h' line='76' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='min' type-id='type-id-5' visibility='default' filepath='include/linux/cpufreq.h' line='78' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='max' type-id='type-id-5' visibility='default' filepath='include/linux/cpufreq.h' line='79' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='cur' type-id='type-id-5' visibility='default' filepath='include/linux/cpufreq.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='restore_freq' type-id='type-id-5' visibility='default' filepath='include/linux/cpufreq.h' line='82' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='suspend_freq' type-id='type-id-5' visibility='default' filepath='include/linux/cpufreq.h' line='83' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='policy' type-id='type-id-5' visibility='default' filepath='include/linux/cpufreq.h' line='85' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='last_policy' type-id='type-id-5' visibility='default' filepath='include/linux/cpufreq.h' line='86' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='governor' type-id='type-id-5610' visibility='default' filepath='include/linux/cpufreq.h' line='87' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='governor_data' type-id='type-id-15' visibility='default' filepath='include/linux/cpufreq.h' line='88' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='last_governor' type-id='type-id-43' visibility='default' filepath='include/linux/cpufreq.h' line='89' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='update' type-id='type-id-255' visibility='default' filepath='include/linux/cpufreq.h' line='91' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='user_policy' type-id='type-id-5611' visibility='default' filepath='include/linux/cpufreq.h' line='94' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='freq_table' type-id='type-id-5612' visibility='default' filepath='include/linux/cpufreq.h' line='95' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='freq_table_sorted' type-id='type-id-5613' visibility='default' filepath='include/linux/cpufreq.h' line='96' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='policy_list' type-id='type-id-20' visibility='default' filepath='include/linux/cpufreq.h' line='98' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='kobj' type-id='type-id-267' visibility='default' filepath='include/linux/cpufreq.h' line='99' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='kobj_unregister' type-id='type-id-1608' visibility='default' filepath='include/linux/cpufreq.h' line='100' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='rwsem' type-id='type-id-246' visibility='default' filepath='include/linux/cpufreq.h' line='110' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2560'>
-          <var-decl name='fast_switch_possible' type-id='type-id-33' visibility='default' filepath='include/linux/cpufreq.h' line='120' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2568'>
-          <var-decl name='fast_switch_enabled' type-id='type-id-33' visibility='default' filepath='include/linux/cpufreq.h' line='121' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2592'>
-          <var-decl name='transition_delay_us' type-id='type-id-5' visibility='default' filepath='include/linux/cpufreq.h' line='128' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2624'>
-          <var-decl name='dvfs_possible_from_any_cpu' type-id='type-id-33' visibility='default' filepath='include/linux/cpufreq.h' line='137' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2656'>
-          <var-decl name='cached_target_freq' type-id='type-id-5' visibility='default' filepath='include/linux/cpufreq.h' line='140' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2688'>
-          <var-decl name='cached_resolved_idx' type-id='type-id-17' visibility='default' filepath='include/linux/cpufreq.h' line='141' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2720'>
-          <var-decl name='transition_ongoing' type-id='type-id-33' visibility='default' filepath='include/linux/cpufreq.h' line='144' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2752'>
-          <var-decl name='transition_lock' type-id='type-id-247' visibility='default' filepath='include/linux/cpufreq.h' line='145' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2816'>
-          <var-decl name='transition_wait' type-id='type-id-225' visibility='default' filepath='include/linux/cpufreq.h' line='146' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3008'>
-          <var-decl name='transition_task' type-id='type-id-431' visibility='default' filepath='include/linux/cpufreq.h' line='147' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3072'>
-          <var-decl name='stats' type-id='type-id-5614' visibility='default' filepath='include/linux/cpufreq.h' line='150' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3136'>
-          <var-decl name='driver_data' type-id='type-id-15' visibility='default' filepath='include/linux/cpufreq.h' line='153' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='cpufreq_cpuinfo' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/linux/cpufreq.h' line='52' column='1' id='type-id-5609'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='max_freq' type-id='type-id-5' visibility='default' filepath='include/linux/cpufreq.h' line='53' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='min_freq' type-id='type-id-5' visibility='default' filepath='include/linux/cpufreq.h' line='54' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='transition_latency' type-id='type-id-5' visibility='default' filepath='include/linux/cpufreq.h' line='57' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='cpufreq_governor' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/linux/cpufreq.h' line='500' column='1' id='type-id-5615'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-43' visibility='default' filepath='include/linux/cpufreq.h' line='501' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='init' type-id='type-id-5601' visibility='default' filepath='include/linux/cpufreq.h' line='502' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='exit' type-id='type-id-5606' visibility='default' filepath='include/linux/cpufreq.h' line='503' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='start' type-id='type-id-5601' visibility='default' filepath='include/linux/cpufreq.h' line='504' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='stop' type-id='type-id-5606' visibility='default' filepath='include/linux/cpufreq.h' line='505' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='limits' type-id='type-id-5606' visibility='default' filepath='include/linux/cpufreq.h' line='506' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='show_setspeed' type-id='type-id-5616' visibility='default' filepath='include/linux/cpufreq.h' line='507' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='store_setspeed' type-id='type-id-5603' visibility='default' filepath='include/linux/cpufreq.h' line='509' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='dynamic_switching' type-id='type-id-33' visibility='default' filepath='include/linux/cpufreq.h' line='512' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='governor_list' type-id='type-id-20' visibility='default' filepath='include/linux/cpufreq.h' line='513' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='owner' type-id='type-id-260' visibility='default' filepath='include/linux/cpufreq.h' line='514' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='cpufreq_user_policy' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/cpufreq.h' line='60' column='1' id='type-id-5611'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='min' type-id='type-id-5' visibility='default' filepath='include/linux/cpufreq.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='max' type-id='type-id-5' visibility='default' filepath='include/linux/cpufreq.h' line='62' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='cpufreq_frequency_table' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/linux/cpufreq.h' line='576' column='1' id='type-id-5617'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='flags' type-id='type-id-5' visibility='default' filepath='include/linux/cpufreq.h' line='577' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='driver_data' type-id='type-id-5' visibility='default' filepath='include/linux/cpufreq.h' line='578' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='frequency' type-id='type-id-5' visibility='default' filepath='include/linux/cpufreq.h' line='579' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='cpufreq_table_sorting' filepath='include/linux/cpufreq.h' line='39' column='1' id='type-id-5613'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='CPUFREQ_TABLE_UNSORTED' value='0'/>
-        <enumerator name='CPUFREQ_TABLE_SORTED_ASCENDING' value='1'/>
-        <enumerator name='CPUFREQ_TABLE_SORTED_DESCENDING' value='2'/>
-      </enum-decl>
-      <class-decl name='freq_attr' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/cpufreq.h' line='235' column='1' id='type-id-5618'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='attr' type-id='type-id-619' visibility='default' filepath='include/linux/cpufreq.h' line='236' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='show' type-id='type-id-5616' visibility='default' filepath='include/linux/cpufreq.h' line='237' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='store' type-id='type-id-5619' visibility='default' filepath='include/linux/cpufreq.h' line='238' column='1'/>
-        </data-member>
-      </class-decl>
-      <pointer-type-def type-id='type-id-5600' size-in-bits='64' id='type-id-5620'/>
-      <pointer-type-def type-id='type-id-5617' size-in-bits='64' id='type-id-5612'/>
-      <pointer-type-def type-id='type-id-5615' size-in-bits='64' id='type-id-5610'/>
-      <pointer-type-def type-id='type-id-5608' size-in-bits='64' id='type-id-5621'/>
-      <pointer-type-def type-id='type-id-5599' size-in-bits='64' id='type-id-5614'/>
-      <pointer-type-def type-id='type-id-5618' size-in-bits='64' id='type-id-5622'/>
-      <pointer-type-def type-id='type-id-5622' size-in-bits='64' id='type-id-5607'/>
-      <pointer-type-def type-id='type-id-5623' size-in-bits='64' id='type-id-5601'/>
-      <pointer-type-def type-id='type-id-5624' size-in-bits='64' id='type-id-5603'/>
-      <pointer-type-def type-id='type-id-5625' size-in-bits='64' id='type-id-5602'/>
-      <pointer-type-def type-id='type-id-5626' size-in-bits='64' id='type-id-5605'/>
-      <pointer-type-def type-id='type-id-5627' size-in-bits='64' id='type-id-5616'/>
-      <pointer-type-def type-id='type-id-5628' size-in-bits='64' id='type-id-5619'/>
-      <pointer-type-def type-id='type-id-5629' size-in-bits='64' id='type-id-5604'/>
-      <pointer-type-def type-id='type-id-5630' size-in-bits='64' id='type-id-5606'/>
-      <function-decl name='cpufreq_register_driver' mangled-name='cpufreq_register_driver' filepath='drivers/cpufreq/cpufreq.c' line='2493' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cpufreq_register_driver'>
-        <parameter type-id='type-id-5620' name='driver_data' filepath='drivers/cpufreq/cpufreq.c' line='2493' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='cpufreq_unregister_driver' mangled-name='cpufreq_unregister_driver' filepath='drivers/cpufreq/cpufreq.c' line='2586' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cpufreq_unregister_driver'>
-        <parameter type-id='type-id-5620' name='driver' filepath='drivers/cpufreq/cpufreq.c' line='2586' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-5623'>
-        <parameter type-id='type-id-5621'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5624'>
-        <parameter type-id='type-id-5621'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5625'>
-        <parameter type-id='type-id-5621'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5626'>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-482'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5627'>
-        <parameter type-id='type-id-5621'/>
-        <parameter type-id='type-id-2'/>
-        <return type-id='type-id-86'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5628'>
-        <parameter type-id='type-id-5621'/>
-        <parameter type-id='type-id-4'/>
-        <parameter type-id='type-id-84'/>
-        <return type-id='type-id-86'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5629'>
-        <parameter type-id='type-id-5621'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-5'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5630'>
-        <parameter type-id='type-id-5621'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/leds/led-class.c' language='LANG_C89'>
-      <class-decl name='led_classdev' size-in-bits='2624' is-struct='yes' visibility='default' filepath='include/linux/leds.h' line='36' column='1' id='type-id-5631'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/leds.h' line='37' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='brightness' type-id='type-id-5632' visibility='default' filepath='include/linux/leds.h' line='38' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='max_brightness' type-id='type-id-5632' visibility='default' filepath='include/linux/leds.h' line='39' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='flags' type-id='type-id-17' visibility='default' filepath='include/linux/leds.h' line='40' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='work_flags' type-id='type-id-16' visibility='default' filepath='include/linux/leds.h' line='55' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='brightness_set' type-id='type-id-5633' visibility='default' filepath='include/linux/leds.h' line='68' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='brightness_set_blocking' type-id='type-id-5634' visibility='default' filepath='include/linux/leds.h' line='74' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='brightness_get' type-id='type-id-5635' visibility='default' filepath='include/linux/leds.h' line='77' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='blink_set' type-id='type-id-5636' visibility='default' filepath='include/linux/leds.h' line='87' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='dev' type-id='type-id-240' visibility='default' filepath='include/linux/leds.h' line='91' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='groups' type-id='type-id-665' visibility='default' filepath='include/linux/leds.h' line='92' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='node' type-id='type-id-20' visibility='default' filepath='include/linux/leds.h' line='94' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='default_trigger' type-id='type-id-4' visibility='default' filepath='include/linux/leds.h' line='95' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='blink_delay_on' type-id='type-id-16' visibility='default' filepath='include/linux/leds.h' line='97' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='blink_delay_off' type-id='type-id-16' visibility='default' filepath='include/linux/leds.h' line='97' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='blink_timer' type-id='type-id-417' visibility='default' filepath='include/linux/leds.h' line='98' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='blink_brightness' type-id='type-id-17' visibility='default' filepath='include/linux/leds.h' line='99' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1312'>
-          <var-decl name='new_blink_brightness' type-id='type-id-17' visibility='default' filepath='include/linux/leds.h' line='100' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='flash_resume' type-id='type-id-5637' visibility='default' filepath='include/linux/leds.h' line='101' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='set_brightness_work' type-id='type-id-255' visibility='default' filepath='include/linux/leds.h' line='103' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='delayed_set_value' type-id='type-id-17' visibility='default' filepath='include/linux/leds.h' line='104' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='trigger_lock' type-id='type-id-246' visibility='default' filepath='include/linux/leds.h' line='108' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='trigger' type-id='type-id-5638' visibility='default' filepath='include/linux/leds.h' line='110' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='trig_list' type-id='type-id-20' visibility='default' filepath='include/linux/leds.h' line='111' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='trigger_data' type-id='type-id-15' visibility='default' filepath='include/linux/leds.h' line='112' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2304'>
-          <var-decl name='activated' type-id='type-id-33' visibility='default' filepath='include/linux/leds.h' line='114' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='led_access' type-id='type-id-245' visibility='default' filepath='include/linux/leds.h' line='123' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='led_brightness' filepath='include/linux/leds.h' line='29' column='1' id='type-id-5632'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='LED_OFF' value='0'/>
-        <enumerator name='LED_ON' value='1'/>
-        <enumerator name='LED_HALF' value='127'/>
-        <enumerator name='LED_FULL' value='255'/>
-      </enum-decl>
-      <class-decl name='led_trigger' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/linux/leds.h' line='253' column='1' id='type-id-5639'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='name' type-id='type-id-4' visibility='default' filepath='include/linux/leds.h' line='255' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='activate' type-id='type-id-5640' visibility='default' filepath='include/linux/leds.h' line='256' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='deactivate' type-id='type-id-5637' visibility='default' filepath='include/linux/leds.h' line='257' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='leddev_list_lock' type-id='type-id-885' visibility='default' filepath='include/linux/leds.h' line='260' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='led_cdevs' type-id='type-id-20' visibility='default' filepath='include/linux/leds.h' line='261' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='next_trig' type-id='type-id-20' visibility='default' filepath='include/linux/leds.h' line='264' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='groups' type-id='type-id-665' visibility='default' filepath='include/linux/leds.h' line='266' column='1'/>
-        </data-member>
-      </class-decl>
-      <pointer-type-def type-id='type-id-5641' size-in-bits='64' id='type-id-5635'/>
-      <pointer-type-def type-id='type-id-5642' size-in-bits='64' id='type-id-5640'/>
-      <pointer-type-def type-id='type-id-5643' size-in-bits='64' id='type-id-5634'/>
-      <pointer-type-def type-id='type-id-5644' size-in-bits='64' id='type-id-5636'/>
-      <pointer-type-def type-id='type-id-5631' size-in-bits='64' id='type-id-5645'/>
-      <pointer-type-def type-id='type-id-5639' size-in-bits='64' id='type-id-5638'/>
-      <pointer-type-def type-id='type-id-5646' size-in-bits='64' id='type-id-5637'/>
-      <pointer-type-def type-id='type-id-5647' size-in-bits='64' id='type-id-5633'/>
-      <function-decl name='of_led_classdev_register' mangled-name='of_led_classdev_register' filepath='drivers/leds/led-class.c' line='253' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_led_classdev_register'>
-        <parameter type-id='type-id-240' name='parent' filepath='drivers/leds/led-class.c' line='253' column='1'/>
-        <parameter type-id='type-id-2024' name='np' filepath='drivers/leds/led-class.c' line='253' column='1'/>
-        <parameter type-id='type-id-5645' name='led_cdev' filepath='drivers/leds/led-class.c' line='254' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='led_classdev_unregister' mangled-name='led_classdev_unregister' filepath='drivers/leds/led-class.c' line='324' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='led_classdev_unregister'>
-        <parameter type-id='type-id-5645' name='led_cdev' filepath='drivers/leds/led-class.c' line='324' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-5641'>
-        <parameter type-id='type-id-5645'/>
-        <return type-id='type-id-5632'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5642'>
-        <parameter type-id='type-id-5645'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5643'>
-        <parameter type-id='type-id-5645'/>
-        <parameter type-id='type-id-5632'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5644'>
-        <parameter type-id='type-id-5645'/>
-        <parameter type-id='type-id-45'/>
-        <parameter type-id='type-id-45'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5646'>
-        <parameter type-id='type-id-5645'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5647'>
-        <parameter type-id='type-id-5645'/>
-        <parameter type-id='type-id-5632'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/leds/led-triggers.c' language='LANG_C89'>
-      <pointer-type-def type-id='type-id-5638' size-in-bits='64' id='type-id-5648'/>
-      <function-decl name='led_trigger_event' mangled-name='led_trigger_event' filepath='drivers/leds/led-triggers.c' line='316' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='led_trigger_event'>
-        <parameter type-id='type-id-5638' name='trig' filepath='drivers/leds/led-triggers.c' line='316' column='1'/>
-        <parameter type-id='type-id-5632' name='brightness' filepath='drivers/leds/led-triggers.c' line='317' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='led_trigger_register_simple' mangled-name='led_trigger_register_simple' filepath='drivers/leds/led-triggers.c' line='370' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='led_trigger_register_simple'>
-        <parameter type-id='type-id-4' name='name' filepath='drivers/leds/led-triggers.c' line='370' column='1'/>
-        <parameter type-id='type-id-5648' name='tp' filepath='drivers/leds/led-triggers.c' line='370' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='led_trigger_unregister_simple' mangled-name='led_trigger_unregister_simple' filepath='drivers/leds/led-triggers.c' line='394' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='led_trigger_unregister_simple'>
-        <parameter type-id='type-id-5638' name='trig' filepath='drivers/leds/led-triggers.c' line='394' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/of/property.c' language='LANG_C89'>
-      <function-decl name='of_property_read_variable_u32_array' mangled-name='of_property_read_variable_u32_array' filepath='drivers/of/property.c' line='277' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_property_read_variable_u32_array'>
-        <parameter type-id='type-id-3993' name='np' filepath='drivers/of/property.c' line='277' column='1'/>
-        <parameter type-id='type-id-4' name='propname' filepath='drivers/of/property.c' line='278' column='1'/>
-        <parameter type-id='type-id-1567' name='out_values' filepath='drivers/of/property.c' line='278' column='1'/>
-        <parameter type-id='type-id-84' name='sz_min' filepath='drivers/of/property.c' line='279' column='1'/>
-        <parameter type-id='type-id-84' name='sz_max' filepath='drivers/of/property.c' line='279' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='of_property_read_u64' mangled-name='of_property_read_u64' filepath='drivers/of/property.c' line='316' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_property_read_u64'>
-        <parameter type-id='type-id-3993' name='np' filepath='drivers/of/property.c' line='316' column='1'/>
-        <parameter type-id='type-id-4' name='propname' filepath='drivers/of/property.c' line='316' column='1'/>
-        <parameter type-id='type-id-1510' name='out_value' filepath='drivers/of/property.c' line='317' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/of/address.c' language='LANG_C89'>
-      <function-decl name='of_address_to_resource' mangled-name='of_address_to_resource' filepath='drivers/of/address.c' line='788' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_address_to_resource'>
-        <parameter type-id='type-id-3543' name='dev' filepath='drivers/of/address.c' line='788' column='1'/>
-        <parameter type-id='type-id-17' name='index' filepath='drivers/of/address.c' line='788' column='1'/>
-        <parameter type-id='type-id-2156' name='r' filepath='drivers/of/address.c' line='789' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='drivers/of/irq.c' language='LANG_C89'>
-      <function-decl name='of_irq_get' mangled-name='of_irq_get' filepath='drivers/of/irq.c' line='388' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='of_irq_get'>
-        <parameter type-id='type-id-3543' name='dev' filepath='drivers/of/irq.c' line='388' column='1'/>
-        <parameter type-id='type-id-17' name='index' filepath='drivers/of/irq.c' line='388' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='net/socket.c' language='LANG_C89'>
-      <class-decl name='bpf_prog_aux' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-5649'/>
-      <class-decl name='lwtunnel_state' size-in-bits='384' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-5650'/>
-      <class-decl name='raw_hashinfo' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-5651'/>
-      <class-decl name='sock_reuseport' size-in-bits='320' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-5652'/>
-      <class-decl name='udp_table' size-in-bits='192' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-5653'/>
-      <class-decl name='xfrm_policy' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-5654'/>
-      <class-decl name='xfrm_state' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-5655'/>
-      <array-type-def dimensions='1' type-id='type-id-5656' size-in-bits='128' id='type-id-5657'>
-        <subrange length='2' type-id='type-id-9' id='type-id-128'/>
-
-      </array-type-def>
-      <class-decl name='msghdr' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/linux/socket.h' line='48' column='1' id='type-id-5658'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='msg_name' type-id='type-id-15' visibility='default' filepath='include/linux/socket.h' line='49' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='msg_namelen' type-id='type-id-17' visibility='default' filepath='include/linux/socket.h' line='50' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='msg_iter' type-id='type-id-2113' visibility='default' filepath='include/linux/socket.h' line='51' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='msg_control' type-id='type-id-15' visibility='default' filepath='include/linux/socket.h' line='52' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='msg_controllen' type-id='type-id-887' visibility='default' filepath='include/linux/socket.h' line='53' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='msg_flags' type-id='type-id-5' visibility='default' filepath='include/linux/socket.h' line='54' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='msg_iocb' type-id='type-id-3011' visibility='default' filepath='include/linux/socket.h' line='55' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__3' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/linux/fs.h' line='1064' column='1' id='type-id-5659'>
-        <data-member access='private'>
-          <var-decl name='nfs_fl' type-id='type-id-2595' visibility='default' filepath='include/linux/fs.h' line='1065' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='nfs4_fl' type-id='type-id-2597' visibility='default' filepath='include/linux/fs.h' line='1066' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='afs' type-id='type-id-2599' visibility='default' filepath='include/linux/fs.h' line='1070' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='sock' size-in-bits='5696' is-struct='yes' visibility='default' filepath='include/net/sock.h' line='327' column='1' id='type-id-5660'>
-        <member-type access='public'>
-          <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='413' column='1' id='type-id-5661'>
-            <data-member access='private'>
-              <var-decl name='sk_send_head' type-id='type-id-1768' visibility='default' filepath='include/net/sock.h' line='414' column='1'/>
-            </data-member>
-            <data-member access='private'>
-              <var-decl name='tcp_rtx_queue' type-id='type-id-416' visibility='default' filepath='include/net/sock.h' line='415' column='1'/>
-            </data-member>
-          </union-decl>
-        </member-type>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='__sk_common' type-id='type-id-5662' visibility='default' filepath='include/net/sock.h' line='332' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='sk_lock' type-id='type-id-5663' visibility='default' filepath='include/net/sock.h' line='367' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='sk_drops' type-id='type-id-26' visibility='default' filepath='include/net/sock.h' line='368' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1312'>
-          <var-decl name='sk_rcvlowat' type-id='type-id-17' visibility='default' filepath='include/net/sock.h' line='369' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='sk_error_queue' type-id='type-id-1661' visibility='default' filepath='include/net/sock.h' line='370' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='sk_receive_queue' type-id='type-id-1661' visibility='default' filepath='include/net/sock.h' line='371' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='sk_backlog' type-id='type-id-5664' visibility='default' filepath='include/net/sock.h' line='385' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='sk_forward_alloc' type-id='type-id-17' visibility='default' filepath='include/net/sock.h' line='388' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1952'>
-          <var-decl name='sk_ll_usec' type-id='type-id-5' visibility='default' filepath='include/net/sock.h' line='390' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='sk_napi_id' type-id='type-id-5' visibility='default' filepath='include/net/sock.h' line='392' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2016'>
-          <var-decl name='sk_rcvbuf' type-id='type-id-17' visibility='default' filepath='include/net/sock.h' line='394' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='sk_filter' type-id='type-id-5665' visibility='default' filepath='include/net/sock.h' line='396' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='' type-id='type-id-5666' visibility='default' filepath='include/net/sock.h' line='397' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='sk_policy' type-id='type-id-5657' visibility='default' filepath='include/net/sock.h' line='402' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2304'>
-          <var-decl name='sk_rx_dst' type-id='type-id-5667' visibility='default' filepath='include/net/sock.h' line='404' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='sk_dst_cache' type-id='type-id-5667' visibility='default' filepath='include/net/sock.h' line='405' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2432'>
-          <var-decl name='sk_omem_alloc' type-id='type-id-26' visibility='default' filepath='include/net/sock.h' line='406' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2464'>
-          <var-decl name='sk_sndbuf' type-id='type-id-17' visibility='default' filepath='include/net/sock.h' line='407' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2496'>
-          <var-decl name='sk_wmem_queued' type-id='type-id-17' visibility='default' filepath='include/net/sock.h' line='410' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2528'>
-          <var-decl name='sk_wmem_alloc' type-id='type-id-421' visibility='default' filepath='include/net/sock.h' line='411' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2560'>
-          <var-decl name='sk_tsq_flags' type-id='type-id-16' visibility='default' filepath='include/net/sock.h' line='412' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2688'>
-          <var-decl name='sk_write_queue' type-id='type-id-1661' visibility='default' filepath='include/net/sock.h' line='417' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2880'>
-          <var-decl name='sk_peek_off' type-id='type-id-653' visibility='default' filepath='include/net/sock.h' line='418' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2912'>
-          <var-decl name='sk_write_pending' type-id='type-id-17' visibility='default' filepath='include/net/sock.h' line='419' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2944'>
-          <var-decl name='sk_dst_pending_confirm' type-id='type-id-511' visibility='default' filepath='include/net/sock.h' line='420' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2976'>
-          <var-decl name='sk_pacing_status' type-id='type-id-7' visibility='default' filepath='include/net/sock.h' line='421' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3008'>
-          <var-decl name='sk_sndtimeo' type-id='type-id-192' visibility='default' filepath='include/net/sock.h' line='422' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3072'>
-          <var-decl name='sk_timer' type-id='type-id-417' visibility='default' filepath='include/net/sock.h' line='423' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3392'>
-          <var-decl name='sk_priority' type-id='type-id-511' visibility='default' filepath='include/net/sock.h' line='424' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3424'>
-          <var-decl name='sk_mark' type-id='type-id-511' visibility='default' filepath='include/net/sock.h' line='425' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3456'>
-          <var-decl name='sk_pacing_rate' type-id='type-id-7' visibility='default' filepath='include/net/sock.h' line='426' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3488'>
-          <var-decl name='sk_max_pacing_rate' type-id='type-id-7' visibility='default' filepath='include/net/sock.h' line='427' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3520'>
-          <var-decl name='sk_frag' type-id='type-id-1536' visibility='default' filepath='include/net/sock.h' line='428' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3648'>
-          <var-decl name='sk_route_caps' type-id='type-id-1668' visibility='default' filepath='include/net/sock.h' line='429' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3712'>
-          <var-decl name='sk_route_nocaps' type-id='type-id-1668' visibility='default' filepath='include/net/sock.h' line='430' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3776'>
-          <var-decl name='sk_route_forced_caps' type-id='type-id-1668' visibility='default' filepath='include/net/sock.h' line='431' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3840'>
-          <var-decl name='sk_gso_type' type-id='type-id-17' visibility='default' filepath='include/net/sock.h' line='432' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3872'>
-          <var-decl name='sk_gso_max_size' type-id='type-id-5' visibility='default' filepath='include/net/sock.h' line='433' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3904'>
-          <var-decl name='sk_allocation' type-id='type-id-485' visibility='default' filepath='include/net/sock.h' line='434' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3936'>
-          <var-decl name='sk_txhash' type-id='type-id-511' visibility='default' filepath='include/net/sock.h' line='435' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3968'>
-          <var-decl name='__sk_flags_offset' type-id='type-id-4073' visibility='default' filepath='include/net/sock.h' line='441' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='31'>
-          <var-decl name='sk_padding' type-id='type-id-5' visibility='default' filepath='include/net/sock.h' line='456' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='30'>
-          <var-decl name='sk_kern_sock' type-id='type-id-5' visibility='default' filepath='include/net/sock.h' line='457' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='29'>
-          <var-decl name='sk_no_check_tx' type-id='type-id-5' visibility='default' filepath='include/net/sock.h' line='458' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='28'>
-          <var-decl name='sk_no_check_rx' type-id='type-id-5' visibility='default' filepath='include/net/sock.h' line='459' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='24'>
-          <var-decl name='sk_userlocks' type-id='type-id-5' visibility='default' filepath='include/net/sock.h' line='460' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='sk_protocol' type-id='type-id-5' visibility='default' filepath='include/net/sock.h' line='461' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3968'>
-          <var-decl name='sk_type' type-id='type-id-5' visibility='default' filepath='include/net/sock.h' line='462' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4000'>
-          <var-decl name='sk_gso_max_segs' type-id='type-id-688' visibility='default' filepath='include/net/sock.h' line='464' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4016'>
-          <var-decl name='sk_pacing_shift' type-id='type-id-214' visibility='default' filepath='include/net/sock.h' line='465' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4032'>
-          <var-decl name='sk_lingertime' type-id='type-id-16' visibility='default' filepath='include/net/sock.h' line='466' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4096'>
-          <var-decl name='sk_prot_creator' type-id='type-id-5668' visibility='default' filepath='include/net/sock.h' line='467' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4160'>
-          <var-decl name='sk_callback_lock' type-id='type-id-885' visibility='default' filepath='include/net/sock.h' line='468' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4224'>
-          <var-decl name='sk_err' type-id='type-id-17' visibility='default' filepath='include/net/sock.h' line='469' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4256'>
-          <var-decl name='sk_err_soft' type-id='type-id-17' visibility='default' filepath='include/net/sock.h' line='470' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4288'>
-          <var-decl name='sk_ack_backlog' type-id='type-id-7' visibility='default' filepath='include/net/sock.h' line='471' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4320'>
-          <var-decl name='sk_max_ack_backlog' type-id='type-id-7' visibility='default' filepath='include/net/sock.h' line='472' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4352'>
-          <var-decl name='sk_uid' type-id='type-id-42' visibility='default' filepath='include/net/sock.h' line='473' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4416'>
-          <var-decl name='sk_peer_pid' type-id='type-id-251' visibility='default' filepath='include/net/sock.h' line='474' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4480'>
-          <var-decl name='sk_peer_cred' type-id='type-id-1279' visibility='default' filepath='include/net/sock.h' line='475' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4544'>
-          <var-decl name='sk_rcvtimeo' type-id='type-id-192' visibility='default' filepath='include/net/sock.h' line='476' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4608'>
-          <var-decl name='sk_stamp' type-id='type-id-682' visibility='default' filepath='include/net/sock.h' line='477' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4672'>
-          <var-decl name='sk_tsflags' type-id='type-id-688' visibility='default' filepath='include/net/sock.h' line='481' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4688'>
-          <var-decl name='sk_shutdown' type-id='type-id-214' visibility='default' filepath='include/net/sock.h' line='482' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4704'>
-          <var-decl name='sk_tskey' type-id='type-id-7' visibility='default' filepath='include/net/sock.h' line='483' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4736'>
-          <var-decl name='sk_zckey' type-id='type-id-26' visibility='default' filepath='include/net/sock.h' line='484' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4768'>
-          <var-decl name='sk_clockid' type-id='type-id-214' visibility='default' filepath='include/net/sock.h' line='486' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7'>
-          <var-decl name='sk_txtime_deadline_mode' type-id='type-id-214' visibility='default' filepath='include/net/sock.h' line='487' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6'>
-          <var-decl name='sk_txtime_report_errors' type-id='type-id-214' visibility='default' filepath='include/net/sock.h' line='488' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4776'>
-          <var-decl name='sk_txtime_unused' type-id='type-id-214' visibility='default' filepath='include/net/sock.h' line='489' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4800'>
-          <var-decl name='sk_socket' type-id='type-id-5669' visibility='default' filepath='include/net/sock.h' line='491' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4864'>
-          <var-decl name='sk_user_data' type-id='type-id-15' visibility='default' filepath='include/net/sock.h' line='492' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4928'>
-          <var-decl name='sk_security' type-id='type-id-15' visibility='default' filepath='include/net/sock.h' line='494' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4992'>
-          <var-decl name='sk_cgrp_data' type-id='type-id-5670' visibility='default' filepath='include/net/sock.h' line='496' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5056'>
-          <var-decl name='sk_memcg' type-id='type-id-447' visibility='default' filepath='include/net/sock.h' line='497' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5120'>
-          <var-decl name='sk_state_change' type-id='type-id-5671' visibility='default' filepath='include/net/sock.h' line='498' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5184'>
-          <var-decl name='sk_data_ready' type-id='type-id-5671' visibility='default' filepath='include/net/sock.h' line='499' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5248'>
-          <var-decl name='sk_write_space' type-id='type-id-5671' visibility='default' filepath='include/net/sock.h' line='500' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5312'>
-          <var-decl name='sk_error_report' type-id='type-id-5671' visibility='default' filepath='include/net/sock.h' line='501' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5376'>
-          <var-decl name='sk_backlog_rcv' type-id='type-id-5672' visibility='default' filepath='include/net/sock.h' line='502' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5440'>
-          <var-decl name='sk_destruct' type-id='type-id-5671' visibility='default' filepath='include/net/sock.h' line='509' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5504'>
-          <var-decl name='sk_reuseport_cb' type-id='type-id-5673' visibility='default' filepath='include/net/sock.h' line='510' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5568'>
-          <var-decl name='sk_rcu' type-id='type-id-385' visibility='default' filepath='include/net/sock.h' line='511' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='sock_common' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/net/sock.h' line='152' column='1' id='type-id-5662'>
-
-          <member-type access='public'>
-            <union-decl name='__anonymous_union__' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='163' column='1' id='type-id-5674'>
-              <data-member access='private'>
-                <var-decl name='skc_hash' type-id='type-id-5' visibility='default' filepath='include/net/sock.h' line='164' column='1'/>
-              </data-member>
-              <data-member access='private'>
-                <var-decl name='skc_u16hashes' type-id='type-id-4447' visibility='default' filepath='include/net/sock.h' line='165' column='1'/>
-              </data-member>
-            </union-decl>
-          </member-type>
-
-          <member-type access='public'>
-            <union-decl name='__anonymous_union__1' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='168' column='1' id='type-id-5675'>
-              <data-member access='private'>
-                <var-decl name='skc_portpair' type-id='type-id-5676' visibility='default' filepath='include/net/sock.h' line='169' column='1'/>
-              </data-member>
-              <data-member access='private'>
-                <var-decl name='' type-id='type-id-5677' visibility='default' filepath='include/net/sock.h' line='170' column='1'/>
-              </data-member>
-            </union-decl>
-          </member-type>
-
-          <member-type access='public'>
-            <union-decl name='__anonymous_union__2' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='183' column='1' id='type-id-5678'>
-              <data-member access='private'>
-                <var-decl name='skc_bind_node' type-id='type-id-520' visibility='default' filepath='include/net/sock.h' line='184' column='1'/>
-              </data-member>
-              <data-member access='private'>
-                <var-decl name='skc_portaddr_node' type-id='type-id-520' visibility='default' filepath='include/net/sock.h' line='185' column='1'/>
-              </data-member>
-            </union-decl>
-          </member-type>
-
-          <member-type access='public'>
-            <union-decl name='__anonymous_union__3' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='202' column='1' id='type-id-5679'>
-              <data-member access='private'>
-                <var-decl name='skc_flags' type-id='type-id-16' visibility='default' filepath='include/net/sock.h' line='203' column='1'/>
-              </data-member>
-              <data-member access='private'>
-                <var-decl name='skc_listener' type-id='type-id-3666' visibility='default' filepath='include/net/sock.h' line='204' column='1'/>
-              </data-member>
-              <data-member access='private'>
-                <var-decl name='skc_tw_dr' type-id='type-id-5680' visibility='default' filepath='include/net/sock.h' line='205' column='1'/>
-              </data-member>
-            </union-decl>
-          </member-type>
-
-          <member-type access='public'>
-            <union-decl name='__anonymous_union__4' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='214' column='1' id='type-id-5681'>
-              <data-member access='private'>
-                <var-decl name='skc_node' type-id='type-id-520' visibility='default' filepath='include/net/sock.h' line='215' column='1'/>
-              </data-member>
-              <data-member access='private'>
-                <var-decl name='skc_nulls_node' type-id='type-id-2294' visibility='default' filepath='include/net/sock.h' line='216' column='1'/>
-              </data-member>
-            </union-decl>
-          </member-type>
-
-          <member-type access='public'>
-            <union-decl name='__anonymous_union__5' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='222' column='1' id='type-id-5682'>
-              <data-member access='private'>
-                <var-decl name='skc_incoming_cpu' type-id='type-id-17' visibility='default' filepath='include/net/sock.h' line='223' column='1'/>
-              </data-member>
-              <data-member access='private'>
-                <var-decl name='skc_rcv_wnd' type-id='type-id-7' visibility='default' filepath='include/net/sock.h' line='224' column='1'/>
-              </data-member>
-              <data-member access='private'>
-                <var-decl name='skc_tw_rcv_nxt' type-id='type-id-7' visibility='default' filepath='include/net/sock.h' line='225' column='1'/>
-              </data-member>
-            </union-decl>
-          </member-type>
-        <member-type access='public'>
-          <union-decl name='__anonymous_union__6' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='231' column='1' id='type-id-5683'>
-            <data-member access='private'>
-              <var-decl name='skc_rxhash' type-id='type-id-7' visibility='default' filepath='include/net/sock.h' line='232' column='1'/>
-            </data-member>
-            <data-member access='private'>
-              <var-decl name='skc_window_clamp' type-id='type-id-7' visibility='default' filepath='include/net/sock.h' line='233' column='1'/>
-            </data-member>
-            <data-member access='private'>
-              <var-decl name='skc_tw_snd_nxt' type-id='type-id-7' visibility='default' filepath='include/net/sock.h' line='234' column='1'/>
-            </data-member>
-          </union-decl>
-        </member-type>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='' type-id='type-id-5684' visibility='default' filepath='include/net/sock.h' line='156' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='skc_family' type-id='type-id-312' visibility='default' filepath='include/net/sock.h' line='176' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='144'>
-          <var-decl name='skc_state' type-id='type-id-5685' visibility='default' filepath='include/net/sock.h' line='177' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4'>
-          <var-decl name='skc_reuse' type-id='type-id-216' visibility='default' filepath='include/net/sock.h' line='178' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3'>
-          <var-decl name='skc_reuseport' type-id='type-id-216' visibility='default' filepath='include/net/sock.h' line='179' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2'>
-          <var-decl name='skc_ipv6only' type-id='type-id-216' visibility='default' filepath='include/net/sock.h' line='180' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1'>
-          <var-decl name='skc_net_refcnt' type-id='type-id-216' visibility='default' filepath='include/net/sock.h' line='181' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='skc_bound_dev_if' type-id='type-id-17' visibility='default' filepath='include/net/sock.h' line='182' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='skc_prot' type-id='type-id-5668' visibility='default' filepath='include/net/sock.h' line='187' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='skc_net' type-id='type-id-1692' visibility='default' filepath='include/net/sock.h' line='188' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='skc_v6_daddr' type-id='type-id-2251' visibility='default' filepath='include/net/sock.h' line='191' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='skc_v6_rcv_saddr' type-id='type-id-2251' visibility='default' filepath='include/net/sock.h' line='192' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='skc_cookie' type-id='type-id-113' visibility='default' filepath='include/net/sock.h' line='195' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='skc_dontcopy_begin' type-id='type-id-1136' visibility='default' filepath='include/net/sock.h' line='212' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='skc_tx_queue_mapping' type-id='type-id-312' visibility='default' filepath='include/net/sock.h' line='218' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='912'>
-          <var-decl name='skc_rx_queue_mapping' type-id='type-id-312' visibility='default' filepath='include/net/sock.h' line='220' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='skc_refcnt' type-id='type-id-421' visibility='default' filepath='include/net/sock.h' line='228' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='992'>
-          <var-decl name='skc_dontcopy_end' type-id='type-id-1136' visibility='default' filepath='include/net/sock.h' line='230' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='__addrpair' type-id='type-id-100' filepath='include/net/sock.h' line='120' column='1' id='type-id-5686'/>
-      <class-decl name='__anonymous_struct__' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='158' column='1' id='type-id-5687'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='skc_daddr' type-id='type-id-929' visibility='default' filepath='include/net/sock.h' line='159' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='skc_rcv_saddr' type-id='type-id-929' visibility='default' filepath='include/net/sock.h' line='160' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='__portpair' type-id='type-id-511' filepath='include/net/sock.h' line='119' column='1' id='type-id-5676'/>
-      <class-decl name='__anonymous_struct__1' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='170' column='1' id='type-id-5677'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='skc_dport' type-id='type-id-926' visibility='default' filepath='include/net/sock.h' line='171' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='skc_num' type-id='type-id-108' visibility='default' filepath='include/net/sock.h' line='172' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='proto' size-in-bits='3392' is-struct='yes' visibility='default' filepath='include/net/sock.h' line='1063' column='1' id='type-id-5688'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='close' type-id='type-id-5689' visibility='default' filepath='include/net/sock.h' line='1064' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='pre_connect' type-id='type-id-5690' visibility='default' filepath='include/net/sock.h' line='1066' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='connect' type-id='type-id-5690' visibility='default' filepath='include/net/sock.h' line='1069' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='disconnect' type-id='type-id-5691' visibility='default' filepath='include/net/sock.h' line='1072' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='accept' type-id='type-id-5692' visibility='default' filepath='include/net/sock.h' line='1074' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='ioctl' type-id='type-id-5693' visibility='default' filepath='include/net/sock.h' line='1077' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='init' type-id='type-id-5694' visibility='default' filepath='include/net/sock.h' line='1079' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='destroy' type-id='type-id-5671' visibility='default' filepath='include/net/sock.h' line='1080' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='shutdown' type-id='type-id-5695' visibility='default' filepath='include/net/sock.h' line='1081' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='setsockopt' type-id='type-id-5696' visibility='default' filepath='include/net/sock.h' line='1082' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='getsockopt' type-id='type-id-5697' visibility='default' filepath='include/net/sock.h' line='1085' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='keepalive' type-id='type-id-5695' visibility='default' filepath='include/net/sock.h' line='1088' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='compat_setsockopt' type-id='type-id-5696' visibility='default' filepath='include/net/sock.h' line='1090' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='compat_getsockopt' type-id='type-id-5697' visibility='default' filepath='include/net/sock.h' line='1094' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='compat_ioctl' type-id='type-id-5698' visibility='default' filepath='include/net/sock.h' line='1098' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='sendmsg' type-id='type-id-5699' visibility='default' filepath='include/net/sock.h' line='1101' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='recvmsg' type-id='type-id-5700' visibility='default' filepath='include/net/sock.h' line='1103' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='sendpage' type-id='type-id-5701' visibility='default' filepath='include/net/sock.h' line='1106' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='bind' type-id='type-id-5690' visibility='default' filepath='include/net/sock.h' line='1108' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='backlog_rcv' type-id='type-id-5672' visibility='default' filepath='include/net/sock.h' line='1111' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='release_cb' type-id='type-id-5671' visibility='default' filepath='include/net/sock.h' line='1114' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='hash' type-id='type-id-5694' visibility='default' filepath='include/net/sock.h' line='1117' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='unhash' type-id='type-id-5671' visibility='default' filepath='include/net/sock.h' line='1118' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='rehash' type-id='type-id-5671' visibility='default' filepath='include/net/sock.h' line='1119' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='get_port' type-id='type-id-5702' visibility='default' filepath='include/net/sock.h' line='1120' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='inuse_idx' type-id='type-id-5' visibility='default' filepath='include/net/sock.h' line='1124' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='stream_memory_free' type-id='type-id-5703' visibility='default' filepath='include/net/sock.h' line='1127' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='stream_memory_read' type-id='type-id-5703' visibility='default' filepath='include/net/sock.h' line='1128' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='enter_memory_pressure' type-id='type-id-5671' visibility='default' filepath='include/net/sock.h' line='1130' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='leave_memory_pressure' type-id='type-id-5671' visibility='default' filepath='include/net/sock.h' line='1131' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='memory_allocated' type-id='type-id-2546' visibility='default' filepath='include/net/sock.h' line='1132' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='sockets_allocated' type-id='type-id-5704' visibility='default' filepath='include/net/sock.h' line='1133' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='memory_pressure' type-id='type-id-45' visibility='default' filepath='include/net/sock.h' line='1140' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='sysctl_mem' type-id='type-id-5595' visibility='default' filepath='include/net/sock.h' line='1141' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='sysctl_wmem' type-id='type-id-666' visibility='default' filepath='include/net/sock.h' line='1143' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='sysctl_rmem' type-id='type-id-666' visibility='default' filepath='include/net/sock.h' line='1144' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2304'>
-          <var-decl name='sysctl_wmem_offset' type-id='type-id-7' visibility='default' filepath='include/net/sock.h' line='1145' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2336'>
-          <var-decl name='sysctl_rmem_offset' type-id='type-id-7' visibility='default' filepath='include/net/sock.h' line='1146' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='max_header' type-id='type-id-17' visibility='default' filepath='include/net/sock.h' line='1148' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2400'>
-          <var-decl name='no_autobind' type-id='type-id-33' visibility='default' filepath='include/net/sock.h' line='1149' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2432'>
-          <var-decl name='slab' type-id='type-id-538' visibility='default' filepath='include/net/sock.h' line='1151' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2496'>
-          <var-decl name='obj_size' type-id='type-id-5' visibility='default' filepath='include/net/sock.h' line='1152' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2528'>
-          <var-decl name='slab_flags' type-id='type-id-3256' visibility='default' filepath='include/net/sock.h' line='1153' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2560'>
-          <var-decl name='useroffset' type-id='type-id-5' visibility='default' filepath='include/net/sock.h' line='1154' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2592'>
-          <var-decl name='usersize' type-id='type-id-5' visibility='default' filepath='include/net/sock.h' line='1155' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2624'>
-          <var-decl name='orphan_count' type-id='type-id-5704' visibility='default' filepath='include/net/sock.h' line='1157' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2688'>
-          <var-decl name='rsk_prot' type-id='type-id-5705' visibility='default' filepath='include/net/sock.h' line='1159' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2752'>
-          <var-decl name='twsk_prot' type-id='type-id-5706' visibility='default' filepath='include/net/sock.h' line='1160' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2816'>
-          <var-decl name='h' type-id='type-id-5707' visibility='default' filepath='include/net/sock.h' line='1167' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2880'>
-          <var-decl name='owner' type-id='type-id-260' visibility='default' filepath='include/net/sock.h' line='1169' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2944'>
-          <var-decl name='name' type-id='type-id-373' visibility='default' filepath='include/net/sock.h' line='1171' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3200'>
-          <var-decl name='node' type-id='type-id-20' visibility='default' filepath='include/net/sock.h' line='1173' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3328'>
-          <var-decl name='diag_destroy' type-id='type-id-5691' visibility='default' filepath='include/net/sock.h' line='1177' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='request_sock_ops' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/net/request_sock.h' line='31' column='1' id='type-id-5708'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='family' type-id='type-id-17' visibility='default' filepath='include/net/request_sock.h' line='32' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='obj_size' type-id='type-id-5' visibility='default' filepath='include/net/request_sock.h' line='33' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='slab' type-id='type-id-538' visibility='default' filepath='include/net/request_sock.h' line='34' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='slab_name' type-id='type-id-2' visibility='default' filepath='include/net/request_sock.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='rtx_syn_ack' type-id='type-id-5709' visibility='default' filepath='include/net/request_sock.h' line='36' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='send_ack' type-id='type-id-5710' visibility='default' filepath='include/net/request_sock.h' line='38' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='send_reset' type-id='type-id-5711' visibility='default' filepath='include/net/request_sock.h' line='40' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='destructor' type-id='type-id-5712' visibility='default' filepath='include/net/request_sock.h' line='42' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='syn_ack_timeout' type-id='type-id-5713' visibility='default' filepath='include/net/request_sock.h' line='43' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='request_sock' size-in-bits='1728' is-struct='yes' visibility='default' filepath='include/net/request_sock.h' line='50' column='1' id='type-id-5714'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='__req_common' type-id='type-id-5662' visibility='default' filepath='include/net/request_sock.h' line='51' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='dl_next' type-id='type-id-5715' visibility='default' filepath='include/net/request_sock.h' line='58' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='mss' type-id='type-id-688' visibility='default' filepath='include/net/request_sock.h' line='59' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1104'>
-          <var-decl name='num_retrans' type-id='type-id-214' visibility='default' filepath='include/net/request_sock.h' line='60' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='7'>
-          <var-decl name='cookie_ts' type-id='type-id-214' visibility='default' filepath='include/net/request_sock.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1112'>
-          <var-decl name='num_timeout' type-id='type-id-214' visibility='default' filepath='include/net/request_sock.h' line='62' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1120'>
-          <var-decl name='ts_recent' type-id='type-id-7' visibility='default' filepath='include/net/request_sock.h' line='63' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='rsk_timer' type-id='type-id-417' visibility='default' filepath='include/net/request_sock.h' line='64' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='rsk_ops' type-id='type-id-5716' visibility='default' filepath='include/net/request_sock.h' line='65' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='sk' type-id='type-id-3666' visibility='default' filepath='include/net/request_sock.h' line='66' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='saved_syn' type-id='type-id-1567' visibility='default' filepath='include/net/request_sock.h' line='67' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='secid' type-id='type-id-7' visibility='default' filepath='include/net/request_sock.h' line='68' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1696'>
-          <var-decl name='peer_secid' type-id='type-id-7' visibility='default' filepath='include/net/request_sock.h' line='69' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='timewait_sock_ops' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/net/timewait_sock.h' line='18' column='1' id='type-id-5717'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='twsk_slab' type-id='type-id-538' visibility='default' filepath='include/net/timewait_sock.h' line='19' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='twsk_slab_name' type-id='type-id-2' visibility='default' filepath='include/net/timewait_sock.h' line='20' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='twsk_obj_size' type-id='type-id-5' visibility='default' filepath='include/net/timewait_sock.h' line='21' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='twsk_unique' type-id='type-id-5718' visibility='default' filepath='include/net/timewait_sock.h' line='22' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='twsk_destructor' type-id='type-id-5671' visibility='default' filepath='include/net/timewait_sock.h' line='24' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='smc_hashinfo' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/net/smc.h' line='16' column='1' id='type-id-5719'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lock' type-id='type-id-885' visibility='default' filepath='include/net/smc.h' line='17' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ht' type-id='type-id-186' visibility='default' filepath='include/net/smc.h' line='18' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='socket_lock_t' type-id='type-id-5720' filepath='include/net/sock.h' line='113' column='1' id='type-id-5663'/>
-      <class-decl name='__anonymous_struct__2' size-in-bits='256' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-5663' visibility='default' filepath='include/net/sock.h' line='100' column='1' id='type-id-5720'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='slock' type-id='type-id-247' visibility='default' filepath='include/net/sock.h' line='101' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='owned' type-id='type-id-17' visibility='default' filepath='include/net/sock.h' line='102' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='wq' type-id='type-id-225' visibility='default' filepath='include/net/sock.h' line='103' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__3' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='380' column='1' id='type-id-5664'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='rmem_alloc' type-id='type-id-26' visibility='default' filepath='include/net/sock.h' line='381' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='len' type-id='type-id-17' visibility='default' filepath='include/net/sock.h' line='382' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='head' type-id='type-id-1768' visibility='default' filepath='include/net/sock.h' line='383' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='tail' type-id='type-id-1768' visibility='default' filepath='include/net/sock.h' line='384' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='sk_filter' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/filter.h' line='508' column='1' id='type-id-5721'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='refcnt' type-id='type-id-421' visibility='default' filepath='include/linux/filter.h' line='509' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/linux/filter.h' line='510' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='prog' type-id='type-id-1230' visibility='default' filepath='include/linux/filter.h' line='511' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='socket_wq' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/net.h' line='92' column='1' id='type-id-5722'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='wait' type-id='type-id-225' visibility='default' filepath='include/linux/net.h' line='94' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='fasync_list' type-id='type-id-254' visibility='default' filepath='include/linux/net.h' line='95' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='include/linux/net.h' line='96' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/linux/net.h' line='97' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='dst_entry' size-in-bits='896' is-struct='yes' visibility='default' filepath='include/net/dst.h' line='35' column='1' id='type-id-5723'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dev' type-id='type-id-1650' visibility='default' filepath='include/net/dst.h' line='36' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ops' type-id='type-id-2749' visibility='default' filepath='include/net/dst.h' line='37' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='_metrics' type-id='type-id-16' visibility='default' filepath='include/net/dst.h' line='38' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='expires' type-id='type-id-16' visibility='default' filepath='include/net/dst.h' line='39' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='xfrm' type-id='type-id-5724' visibility='default' filepath='include/net/dst.h' line='41' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='input' type-id='type-id-5725' visibility='default' filepath='include/net/dst.h' line='45' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='output' type-id='type-id-2281' visibility='default' filepath='include/net/dst.h' line='46' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='flags' type-id='type-id-312' visibility='default' filepath='include/net/dst.h' line='48' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='464'>
-          <var-decl name='obsolete' type-id='type-id-261' visibility='default' filepath='include/net/dst.h' line='66' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='header_len' type-id='type-id-312' visibility='default' filepath='include/net/dst.h' line='71' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='496'>
-          <var-decl name='trailer_len' type-id='type-id-312' visibility='default' filepath='include/net/dst.h' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='__refcnt' type-id='type-id-26' visibility='default' filepath='include/net/dst.h' line='79' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='__use' type-id='type-id-17' visibility='default' filepath='include/net/dst.h' line='81' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='lastuse' type-id='type-id-16' visibility='default' filepath='include/net/dst.h' line='82' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='lwtstate' type-id='type-id-5726' visibility='default' filepath='include/net/dst.h' line='83' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='callback_head' type-id='type-id-385' visibility='default' filepath='include/net/dst.h' line='84' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='error' type-id='type-id-261' visibility='default' filepath='include/net/dst.h' line='85' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='848'>
-          <var-decl name='__pad' type-id='type-id-261' visibility='default' filepath='include/net/dst.h' line='86' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='864'>
-          <var-decl name='tclassid' type-id='type-id-511' visibility='default' filepath='include/net/dst.h' line='87' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ip_ra_chain' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/net/ip.h' line='120' column='1' id='type-id-5727'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='next' type-id='type-id-5728' visibility='default' filepath='include/net/ip.h' line='121' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='sk' type-id='type-id-3666' visibility='default' filepath='include/net/ip.h' line='122' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='' type-id='type-id-5729' visibility='default' filepath='include/net/ip.h' line='123' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/net/ip.h' line='127' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__9' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/net/ip.h' line='123' column='1' id='type-id-5729'>
-        <data-member access='private'>
-          <var-decl name='destructor' type-id='type-id-5671' visibility='default' filepath='include/net/ip.h' line='124' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='saved_sk' type-id='type-id-3666' visibility='default' filepath='include/net/ip.h' line='125' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='fib_rules_ops' size-in-bits='1472' is-struct='yes' visibility='default' filepath='include/net/fib_rules.h' line='59' column='1' id='type-id-5730'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='family' type-id='type-id-17' visibility='default' filepath='include/net/fib_rules.h' line='60' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/net/fib_rules.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='rule_size' type-id='type-id-17' visibility='default' filepath='include/net/fib_rules.h' line='62' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='addr_size' type-id='type-id-17' visibility='default' filepath='include/net/fib_rules.h' line='63' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='unresolved_rules' type-id='type-id-17' visibility='default' filepath='include/net/fib_rules.h' line='64' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='nr_goto_rules' type-id='type-id-17' visibility='default' filepath='include/net/fib_rules.h' line='65' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='fib_rules_seq' type-id='type-id-5' visibility='default' filepath='include/net/fib_rules.h' line='66' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='action' type-id='type-id-5731' visibility='default' filepath='include/net/fib_rules.h' line='68' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='suppress' type-id='type-id-5732' visibility='default' filepath='include/net/fib_rules.h' line='71' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='match' type-id='type-id-5733' visibility='default' filepath='include/net/fib_rules.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='configure' type-id='type-id-5734' visibility='default' filepath='include/net/fib_rules.h' line='75' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='delete' type-id='type-id-5735' visibility='default' filepath='include/net/fib_rules.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='compare' type-id='type-id-5736' visibility='default' filepath='include/net/fib_rules.h' line='81' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='fill' type-id='type-id-5737' visibility='default' filepath='include/net/fib_rules.h' line='84' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='nlmsg_payload' type-id='type-id-5738' visibility='default' filepath='include/net/fib_rules.h' line='86' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='flush_cache' type-id='type-id-5739' visibility='default' filepath='include/net/fib_rules.h' line='90' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='nlgroup' type-id='type-id-17' visibility='default' filepath='include/net/fib_rules.h' line='92' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='policy' type-id='type-id-2188' visibility='default' filepath='include/net/fib_rules.h' line='93' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='rules_list' type-id='type-id-20' visibility='default' filepath='include/net/fib_rules.h' line='94' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='owner' type-id='type-id-260' visibility='default' filepath='include/net/fib_rules.h' line='95' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='fro_net' type-id='type-id-1645' visibility='default' filepath='include/net/fib_rules.h' line='96' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/net/fib_rules.h' line='97' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='fib_rule' size-in-bits='1216' is-struct='yes' visibility='default' filepath='include/net/fib_rules.h' line='19' column='1' id='type-id-5740'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/net/fib_rules.h' line='20' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='iifindex' type-id='type-id-17' visibility='default' filepath='include/net/fib_rules.h' line='21' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='oifindex' type-id='type-id-17' visibility='default' filepath='include/net/fib_rules.h' line='22' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='mark' type-id='type-id-7' visibility='default' filepath='include/net/fib_rules.h' line='23' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='mark_mask' type-id='type-id-7' visibility='default' filepath='include/net/fib_rules.h' line='24' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='flags' type-id='type-id-7' visibility='default' filepath='include/net/fib_rules.h' line='25' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='table' type-id='type-id-7' visibility='default' filepath='include/net/fib_rules.h' line='26' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='action' type-id='type-id-214' visibility='default' filepath='include/net/fib_rules.h' line='27' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='328'>
-          <var-decl name='l3mdev' type-id='type-id-214' visibility='default' filepath='include/net/fib_rules.h' line='28' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='336'>
-          <var-decl name='proto' type-id='type-id-214' visibility='default' filepath='include/net/fib_rules.h' line='29' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='344'>
-          <var-decl name='ip_proto' type-id='type-id-214' visibility='default' filepath='include/net/fib_rules.h' line='30' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='target' type-id='type-id-7' visibility='default' filepath='include/net/fib_rules.h' line='31' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='tun_id' type-id='type-id-5741' visibility='default' filepath='include/net/fib_rules.h' line='32' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='ctarget' type-id='type-id-5742' visibility='default' filepath='include/net/fib_rules.h' line='33' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='fr_net' type-id='type-id-1645' visibility='default' filepath='include/net/fib_rules.h' line='34' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='refcnt' type-id='type-id-421' visibility='default' filepath='include/net/fib_rules.h' line='36' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='pref' type-id='type-id-7' visibility='default' filepath='include/net/fib_rules.h' line='37' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='suppress_ifgroup' type-id='type-id-17' visibility='default' filepath='include/net/fib_rules.h' line='38' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='672'>
-          <var-decl name='suppress_prefixlen' type-id='type-id-17' visibility='default' filepath='include/net/fib_rules.h' line='39' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='iifname' type-id='type-id-43' visibility='default' filepath='include/net/fib_rules.h' line='40' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='oifname' type-id='type-id-43' visibility='default' filepath='include/net/fib_rules.h' line='41' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='uid_range' type-id='type-id-5743' visibility='default' filepath='include/net/fib_rules.h' line='42' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='sport_range' type-id='type-id-5744' visibility='default' filepath='include/net/fib_rules.h' line='43' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1056'>
-          <var-decl name='dport_range' type-id='type-id-5744' visibility='default' filepath='include/net/fib_rules.h' line='44' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/net/fib_rules.h' line='45' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='__be64' type-id='type-id-100' filepath='include/uapi/linux/types.h' line='34' column='1' id='type-id-5741'/>
-      <class-decl name='fib_kuid_range' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/net/fib_rules.h' line='14' column='1' id='type-id-5743'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='start' type-id='type-id-42' visibility='default' filepath='include/net/fib_rules.h' line='15' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='end' type-id='type-id-42' visibility='default' filepath='include/net/fib_rules.h' line='16' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='fib_rule_port_range' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/uapi/linux/fib_rules.h' line='38' column='1' id='type-id-5744'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='start' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/fib_rules.h' line='39' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='end' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/fib_rules.h' line='40' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='flowi' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/net/flow.h' line='171' column='1' id='type-id-5745'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='u' type-id='type-id-5746' visibility='default' filepath='include/net/flow.h' line='177' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__10' size-in-bits='704' is-anonymous='yes' visibility='default' filepath='include/net/flow.h' line='172' column='1' id='type-id-5746'>
-        <data-member access='private'>
-          <var-decl name='__fl_common' type-id='type-id-5747' visibility='default' filepath='include/net/flow.h' line='173' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='ip4' type-id='type-id-5748' visibility='default' filepath='include/net/flow.h' line='174' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='ip6' type-id='type-id-5749' visibility='default' filepath='include/net/flow.h' line='175' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='dn' type-id='type-id-5750' visibility='default' filepath='include/net/flow.h' line='176' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='flowi_common' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/net/flow.h' line='29' column='1' id='type-id-5747'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='flowic_oif' type-id='type-id-17' visibility='default' filepath='include/net/flow.h' line='30' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='flowic_iif' type-id='type-id-17' visibility='default' filepath='include/net/flow.h' line='31' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='flowic_mark' type-id='type-id-511' visibility='default' filepath='include/net/flow.h' line='32' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='flowic_tos' type-id='type-id-895' visibility='default' filepath='include/net/flow.h' line='33' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='104'>
-          <var-decl name='flowic_scope' type-id='type-id-895' visibility='default' filepath='include/net/flow.h' line='34' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='112'>
-          <var-decl name='flowic_proto' type-id='type-id-895' visibility='default' filepath='include/net/flow.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='120'>
-          <var-decl name='flowic_flags' type-id='type-id-895' visibility='default' filepath='include/net/flow.h' line='36' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='flowic_secid' type-id='type-id-511' visibility='default' filepath='include/net/flow.h' line='40' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='flowic_tun_key' type-id='type-id-5751' visibility='default' filepath='include/net/flow.h' line='41' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='flowic_uid' type-id='type-id-42' visibility='default' filepath='include/net/flow.h' line='42' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='flowi_tunnel' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/net/flow.h' line='25' column='1' id='type-id-5751'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='tun_id' type-id='type-id-5741' visibility='default' filepath='include/net/flow.h' line='26' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='flowi4' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/net/flow.h' line='69' column='1' id='type-id-5748'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='__fl_common' type-id='type-id-5747' visibility='default' filepath='include/net/flow.h' line='70' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='saddr' type-id='type-id-929' visibility='default' filepath='include/net/flow.h' line='83' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='daddr' type-id='type-id-929' visibility='default' filepath='include/net/flow.h' line='84' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='uli' type-id='type-id-5752' visibility='default' filepath='include/net/flow.h' line='86' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='flowi_uli' size-in-bits='32' visibility='default' filepath='include/net/flow.h' line='45' column='1' id='type-id-5752'>
-        <data-member access='private'>
-          <var-decl name='ports' type-id='type-id-5753' visibility='default' filepath='include/net/flow.h' line='49' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='icmpt' type-id='type-id-5754' visibility='default' filepath='include/net/flow.h' line='54' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='dnports' type-id='type-id-5755' visibility='default' filepath='include/net/flow.h' line='59' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='spi' type-id='type-id-929' visibility='default' filepath='include/net/flow.h' line='61' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='gre_key' type-id='type-id-929' visibility='default' filepath='include/net/flow.h' line='62' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='mht' type-id='type-id-5756' visibility='default' filepath='include/net/flow.h' line='66' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='__anonymous_struct__4' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/net/flow.h' line='46' column='1' id='type-id-5753'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dport' type-id='type-id-926' visibility='default' filepath='include/net/flow.h' line='47' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='sport' type-id='type-id-926' visibility='default' filepath='include/net/flow.h' line='48' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__5' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/net/flow.h' line='51' column='1' id='type-id-5754'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='type' type-id='type-id-895' visibility='default' filepath='include/net/flow.h' line='52' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='code' type-id='type-id-895' visibility='default' filepath='include/net/flow.h' line='53' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__6' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/net/flow.h' line='56' column='1' id='type-id-5755'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dport' type-id='type-id-5123' visibility='default' filepath='include/net/flow.h' line='57' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='sport' type-id='type-id-5123' visibility='default' filepath='include/net/flow.h' line='58' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__7' size-in-bits='8' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/net/flow.h' line='64' column='1' id='type-id-5756'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='type' type-id='type-id-895' visibility='default' filepath='include/net/flow.h' line='65' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='flowi6' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/net/flow.h' line='130' column='1' id='type-id-5749'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='__fl_common' type-id='type-id-5747' visibility='default' filepath='include/net/flow.h' line='131' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='daddr' type-id='type-id-2251' visibility='default' filepath='include/net/flow.h' line='141' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='saddr' type-id='type-id-2251' visibility='default' filepath='include/net/flow.h' line='142' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='flowlabel' type-id='type-id-929' visibility='default' filepath='include/net/flow.h' line='144' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='uli' type-id='type-id-5752' visibility='default' filepath='include/net/flow.h' line='145' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='mp_hash' type-id='type-id-511' visibility='default' filepath='include/net/flow.h' line='153' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='flowidn' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/net/flow.h' line='156' column='1' id='type-id-5750'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='__fl_common' type-id='type-id-5747' visibility='default' filepath='include/net/flow.h' line='157' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='daddr' type-id='type-id-5123' visibility='default' filepath='include/net/flow.h' line='164' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='336'>
-          <var-decl name='saddr' type-id='type-id-5123' visibility='default' filepath='include/net/flow.h' line='165' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='uli' type-id='type-id-5752' visibility='default' filepath='include/net/flow.h' line='166' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='fib_lookup_arg' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/net/fib_rules.h' line='48' column='1' id='type-id-5757'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lookup_ptr' type-id='type-id-15' visibility='default' filepath='include/net/fib_rules.h' line='49' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='lookup_data' type-id='type-id-15' visibility='default' filepath='include/net/fib_rules.h' line='50' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='result' type-id='type-id-15' visibility='default' filepath='include/net/fib_rules.h' line='51' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='rule' type-id='type-id-5742' visibility='default' filepath='include/net/fib_rules.h' line='52' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='table' type-id='type-id-7' visibility='default' filepath='include/net/fib_rules.h' line='53' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='flags' type-id='type-id-17' visibility='default' filepath='include/net/fib_rules.h' line='54' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='fib_rule_hdr' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/uapi/linux/fib_rules.h' line='19' column='1' id='type-id-5758'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='family' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/fib_rules.h' line='20' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='dst_len' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/fib_rules.h' line='21' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='src_len' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/fib_rules.h' line='22' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='24'>
-          <var-decl name='tos' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/fib_rules.h' line='23' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='table' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/fib_rules.h' line='25' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='40'>
-          <var-decl name='res1' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/fib_rules.h' line='26' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='res2' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/fib_rules.h' line='27' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='56'>
-          <var-decl name='action' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/fib_rules.h' line='28' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='flags' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/fib_rules.h' line='30' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='fib_notifier_ops' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/net/fib_notifier.h' line='28' column='1' id='type-id-5759'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='family' type-id='type-id-17' visibility='default' filepath='include/net/fib_notifier.h' line='29' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/net/fib_notifier.h' line='30' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='fib_seq_read' type-id='type-id-5760' visibility='default' filepath='include/net/fib_notifier.h' line='31' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='fib_dump' type-id='type-id-5761' visibility='default' filepath='include/net/fib_notifier.h' line='32' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='owner' type-id='type-id-260' visibility='default' filepath='include/net/fib_notifier.h' line='33' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/net/fib_notifier.h' line='34' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ipv6_stable_secret' size-in-bits='160' is-struct='yes' visibility='default' filepath='include/linux/ipv6.h' line='64' column='1' id='type-id-5762'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='initialized' type-id='type-id-33' visibility='default' filepath='include/linux/ipv6.h' line='65' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='secret' type-id='type-id-2251' visibility='default' filepath='include/linux/ipv6.h' line='66' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='socket' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/net.h' line='110' column='1' id='type-id-5763'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='state' type-id='type-id-5764' visibility='default' filepath='include/linux/net.h' line='111' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='type' type-id='type-id-261' visibility='default' filepath='include/linux/net.h' line='113' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='include/linux/net.h' line='115' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='wq' type-id='type-id-3663' visibility='default' filepath='include/linux/net.h' line='117' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='file' type-id='type-id-83' visibility='default' filepath='include/linux/net.h' line='119' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='sk' type-id='type-id-3666' visibility='default' filepath='include/linux/net.h' line='120' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='ops' type-id='type-id-5765' visibility='default' filepath='include/linux/net.h' line='121' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='socket_state' type-id='type-id-5766' filepath='include/uapi/linux/net.h' line='54' column='1' id='type-id-5764'/>
-      <enum-decl name='__anonymous_enum__' is-anonymous='yes' filepath='include/uapi/linux/net.h' line='48' column='1' id='type-id-5766'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='SS_FREE' value='0'/>
-        <enumerator name='SS_UNCONNECTED' value='1'/>
-        <enumerator name='SS_CONNECTING' value='2'/>
-        <enumerator name='SS_CONNECTED' value='3'/>
-        <enumerator name='SS_DISCONNECTING' value='4'/>
-      </enum-decl>
-      <class-decl name='proto_ops' size-in-bits='1792' is-struct='yes' visibility='default' filepath='include/linux/net.h' line='133' column='1' id='type-id-5767'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='family' type-id='type-id-17' visibility='default' filepath='include/linux/net.h' line='134' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='owner' type-id='type-id-260' visibility='default' filepath='include/linux/net.h' line='135' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='release' type-id='type-id-5768' visibility='default' filepath='include/linux/net.h' line='136' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='bind' type-id='type-id-5769' visibility='default' filepath='include/linux/net.h' line='137' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='connect' type-id='type-id-5770' visibility='default' filepath='include/linux/net.h' line='140' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='socketpair' type-id='type-id-5771' visibility='default' filepath='include/linux/net.h' line='143' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='accept' type-id='type-id-5772' visibility='default' filepath='include/linux/net.h' line='145' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='getname' type-id='type-id-5769' visibility='default' filepath='include/linux/net.h' line='147' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='poll' type-id='type-id-5773' visibility='default' filepath='include/linux/net.h' line='150' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='ioctl' type-id='type-id-5774' visibility='default' filepath='include/linux/net.h' line='152' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='compat_ioctl' type-id='type-id-5774' visibility='default' filepath='include/linux/net.h' line='155' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='listen' type-id='type-id-5775' visibility='default' filepath='include/linux/net.h' line='158' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='shutdown' type-id='type-id-5775' visibility='default' filepath='include/linux/net.h' line='159' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='setsockopt' type-id='type-id-5776' visibility='default' filepath='include/linux/net.h' line='160' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='getsockopt' type-id='type-id-5777' visibility='default' filepath='include/linux/net.h' line='162' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='compat_setsockopt' type-id='type-id-5776' visibility='default' filepath='include/linux/net.h' line='165' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='compat_getsockopt' type-id='type-id-5777' visibility='default' filepath='include/linux/net.h' line='167' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='sendmsg' type-id='type-id-5778' visibility='default' filepath='include/linux/net.h' line='170' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='recvmsg' type-id='type-id-5779' visibility='default' filepath='include/linux/net.h' line='180' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='mmap' type-id='type-id-5780' visibility='default' filepath='include/linux/net.h' line='182' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='sendpage' type-id='type-id-5781' visibility='default' filepath='include/linux/net.h' line='184' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='splice_read' type-id='type-id-5782' visibility='default' filepath='include/linux/net.h' line='186' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='set_peek_off' type-id='type-id-5691' visibility='default' filepath='include/linux/net.h' line='188' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='peek_len' type-id='type-id-5768' visibility='default' filepath='include/linux/net.h' line='189' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='read_sock' type-id='type-id-5783' visibility='default' filepath='include/linux/net.h' line='194' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='sendpage_locked' type-id='type-id-5701' visibility='default' filepath='include/linux/net.h' line='196' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='sendmsg_locked' type-id='type-id-5699' visibility='default' filepath='include/linux/net.h' line='198' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='set_rcvlowat' type-id='type-id-5691' visibility='default' filepath='include/linux/net.h' line='200' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='read_descriptor_t' type-id='type-id-5784' filepath='include/linux/fs.h' line='348' column='1' id='type-id-5785'/>
-      <class-decl name='__anonymous_struct__8' size-in-bits='256' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-5785' visibility='default' filepath='include/linux/fs.h' line='340' column='1' id='type-id-5784'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='written' type-id='type-id-84' visibility='default' filepath='include/linux/fs.h' line='341' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='count' type-id='type-id-84' visibility='default' filepath='include/linux/fs.h' line='342' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='arg' type-id='type-id-5786' visibility='default' filepath='include/linux/fs.h' line='346' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='error' type-id='type-id-17' visibility='default' filepath='include/linux/fs.h' line='347' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__11' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/fs.h' line='343' column='1' id='type-id-5786'>
-        <data-member access='private'>
-          <var-decl name='buf' type-id='type-id-2' visibility='default' filepath='include/linux/fs.h' line='344' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='data' type-id='type-id-15' visibility='default' filepath='include/linux/fs.h' line='345' column='1'/>
-        </data-member>
-      </union-decl>
-      <typedef-decl name='sk_read_actor_t' type-id='type-id-5787' filepath='include/linux/net.h' line='130' column='1' id='type-id-5788'/>
-      <class-decl name='sock_cgroup_data' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/cgroup-defs.h' line='762' column='1' id='type-id-5670'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='' type-id='type-id-5789' visibility='default' filepath='include/linux/cgroup-defs.h' line='763' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__12' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/cgroup-defs.h' line='763' column='1' id='type-id-5789'>
-        <data-member access='private'>
-          <var-decl name='' type-id='type-id-5790' visibility='default' filepath='include/linux/cgroup-defs.h' line='765' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='val' type-id='type-id-40' visibility='default' filepath='include/linux/cgroup-defs.h' line='779' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='__anonymous_struct__9' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/cgroup-defs.h' line='765' column='1' id='type-id-5790'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='is_data' type-id='type-id-214' visibility='default' filepath='include/linux/cgroup-defs.h' line='766' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='padding' type-id='type-id-214' visibility='default' filepath='include/linux/cgroup-defs.h' line='767' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='prioidx' type-id='type-id-688' visibility='default' filepath='include/linux/cgroup-defs.h' line='768' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='classid' type-id='type-id-7' visibility='default' filepath='include/linux/cgroup-defs.h' line='769' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='net_proto_family' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/net.h' line='206' column='1' id='type-id-5791'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='family' type-id='type-id-17' visibility='default' filepath='include/linux/net.h' line='207' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='create' type-id='type-id-5792' visibility='default' filepath='include/linux/net.h' line='208' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='owner' type-id='type-id-260' visibility='default' filepath='include/linux/net.h' line='210' column='1'/>
-        </data-member>
-      </class-decl>
-      <pointer-type-def type-id='type-id-895' size-in-bits='64' id='type-id-5793'/>
-      <pointer-type-def type-id='type-id-5649' size-in-bits='64' id='type-id-5794'/>
-      <qualified-type-def type-id='type-id-5791' const='yes' id='type-id-5795'/>
-      <pointer-type-def type-id='type-id-5795' size-in-bits='64' id='type-id-5796'/>
-      <qualified-type-def type-id='type-id-5767' const='yes' id='type-id-5797'/>
-      <pointer-type-def type-id='type-id-5797' size-in-bits='64' id='type-id-5765'/>
-      <qualified-type-def type-id='type-id-5714' const='yes' id='type-id-5798'/>
-      <pointer-type-def type-id='type-id-5798' size-in-bits='64' id='type-id-5799'/>
-      <qualified-type-def type-id='type-id-5708' const='yes' id='type-id-5800'/>
-      <pointer-type-def type-id='type-id-5800' size-in-bits='64' id='type-id-5716'/>
-      <qualified-type-def type-id='type-id-5660' const='yes' id='type-id-5801'/>
-      <pointer-type-def type-id='type-id-5801' size-in-bits='64' id='type-id-5802'/>
-      <pointer-type-def type-id='type-id-5723' size-in-bits='64' id='type-id-5667'/>
-      <pointer-type-def type-id='type-id-5757' size-in-bits='64' id='type-id-5803'/>
-      <pointer-type-def type-id='type-id-5759' size-in-bits='64' id='type-id-5804'/>
-      <pointer-type-def type-id='type-id-5740' size-in-bits='64' id='type-id-5742'/>
-      <pointer-type-def type-id='type-id-5758' size-in-bits='64' id='type-id-5805'/>
-      <pointer-type-def type-id='type-id-5730' size-in-bits='64' id='type-id-5806'/>
-      <pointer-type-def type-id='type-id-5745' size-in-bits='64' id='type-id-5807'/>
-      <pointer-type-def type-id='type-id-2232' size-in-bits='64' id='type-id-5680'/>
-      <pointer-type-def type-id='type-id-5808' size-in-bits='64' id='type-id-5709'/>
-      <pointer-type-def type-id='type-id-5809' size-in-bits='64' id='type-id-5735'/>
-      <pointer-type-def type-id='type-id-5810' size-in-bits='64' id='type-id-5736'/>
-      <pointer-type-def type-id='type-id-5811' size-in-bits='64' id='type-id-5733'/>
-      <pointer-type-def type-id='type-id-5812' size-in-bits='64' id='type-id-5731'/>
-      <pointer-type-def type-id='type-id-5813' size-in-bits='64' id='type-id-5737'/>
-      <pointer-type-def type-id='type-id-5814' size-in-bits='64' id='type-id-5734'/>
-      <pointer-type-def type-id='type-id-5815' size-in-bits='64' id='type-id-5780'/>
-      <pointer-type-def type-id='type-id-5816' size-in-bits='64' id='type-id-5761'/>
-      <pointer-type-def type-id='type-id-5817' size-in-bits='64' id='type-id-5792'/>
-      <pointer-type-def type-id='type-id-5818' size-in-bits='64' id='type-id-5787'/>
-      <pointer-type-def type-id='type-id-5819' size-in-bits='64' id='type-id-5725'/>
-      <pointer-type-def type-id='type-id-5820' size-in-bits='64' id='type-id-5694'/>
-      <pointer-type-def type-id='type-id-5821' size-in-bits='64' id='type-id-5691'/>
-      <pointer-type-def type-id='type-id-5822' size-in-bits='64' id='type-id-5697'/>
-      <pointer-type-def type-id='type-id-5823' size-in-bits='64' id='type-id-5696'/>
-      <pointer-type-def type-id='type-id-5824' size-in-bits='64' id='type-id-5693'/>
-      <pointer-type-def type-id='type-id-5825' size-in-bits='64' id='type-id-5699'/>
-      <pointer-type-def type-id='type-id-5826' size-in-bits='64' id='type-id-5700'/>
-      <pointer-type-def type-id='type-id-5827' size-in-bits='64' id='type-id-5701'/>
-      <pointer-type-def type-id='type-id-5828' size-in-bits='64' id='type-id-5783'/>
-      <pointer-type-def type-id='type-id-5829' size-in-bits='64' id='type-id-5672'/>
-      <pointer-type-def type-id='type-id-5830' size-in-bits='64' id='type-id-5718'/>
-      <pointer-type-def type-id='type-id-5831' size-in-bits='64' id='type-id-5690'/>
-      <pointer-type-def type-id='type-id-5832' size-in-bits='64' id='type-id-5698'/>
-      <pointer-type-def type-id='type-id-5833' size-in-bits='64' id='type-id-5702'/>
-      <pointer-type-def type-id='type-id-5834' size-in-bits='64' id='type-id-5768'/>
-      <pointer-type-def type-id='type-id-5835' size-in-bits='64' id='type-id-5775'/>
-      <pointer-type-def type-id='type-id-5836' size-in-bits='64' id='type-id-5777'/>
-      <pointer-type-def type-id='type-id-5837' size-in-bits='64' id='type-id-5776'/>
-      <pointer-type-def type-id='type-id-5838' size-in-bits='64' id='type-id-5778'/>
-      <pointer-type-def type-id='type-id-5839' size-in-bits='64' id='type-id-5779'/>
-      <pointer-type-def type-id='type-id-5840' size-in-bits='64' id='type-id-5769'/>
-      <pointer-type-def type-id='type-id-5841' size-in-bits='64' id='type-id-5770'/>
-      <pointer-type-def type-id='type-id-5842' size-in-bits='64' id='type-id-5771'/>
-      <pointer-type-def type-id='type-id-5843' size-in-bits='64' id='type-id-5772'/>
-      <pointer-type-def type-id='type-id-5844' size-in-bits='64' id='type-id-5774'/>
-      <pointer-type-def type-id='type-id-5727' size-in-bits='64' id='type-id-5728'/>
-      <pointer-type-def type-id='type-id-5650' size-in-bits='64' id='type-id-5726'/>
-      <pointer-type-def type-id='type-id-5658' size-in-bits='64' id='type-id-5845'/>
-      <pointer-type-def type-id='type-id-204' size-in-bits='64' id='type-id-5704'/>
-      <pointer-type-def type-id='type-id-5688' size-in-bits='64' id='type-id-5668'/>
-      <pointer-type-def type-id='type-id-5651' size-in-bits='64' id='type-id-5846'/>
-      <pointer-type-def type-id='type-id-5785' size-in-bits='64' id='type-id-5847'/>
-      <pointer-type-def type-id='type-id-5714' size-in-bits='64' id='type-id-5715'/>
-      <pointer-type-def type-id='type-id-5708' size-in-bits='64' id='type-id-5705'/>
-      <pointer-type-def type-id='type-id-5721' size-in-bits='64' id='type-id-5665'/>
-      <pointer-type-def type-id='type-id-5719' size-in-bits='64' id='type-id-5848'/>
-      <pointer-type-def type-id='type-id-5660' size-in-bits='64' id='type-id-3666'/>
-      <pointer-type-def type-id='type-id-5849' size-in-bits='64' id='type-id-5692'/>
-      <pointer-type-def type-id='type-id-3666' size-in-bits='64' id='type-id-5850'/>
-      <pointer-type-def type-id='type-id-5652' size-in-bits='64' id='type-id-5673'/>
-      <pointer-type-def type-id='type-id-1776' size-in-bits='64' id='type-id-5851'/>
-      <pointer-type-def type-id='type-id-5763' size-in-bits='64' id='type-id-5669'/>
-      <pointer-type-def type-id='type-id-5722' size-in-bits='64' id='type-id-3663'/>
-      <pointer-type-def type-id='type-id-5717' size-in-bits='64' id='type-id-5706'/>
-      <pointer-type-def type-id='type-id-5852' size-in-bits='64' id='type-id-5773'/>
-      <pointer-type-def type-id='type-id-5853' size-in-bits='64' id='type-id-5703'/>
-      <pointer-type-def type-id='type-id-5854' size-in-bits='64' id='type-id-5732'/>
-      <pointer-type-def type-id='type-id-5855' size-in-bits='64' id='type-id-5738'/>
-      <pointer-type-def type-id='type-id-5856' size-in-bits='64' id='type-id-5782'/>
-      <pointer-type-def type-id='type-id-5857' size-in-bits='64' id='type-id-5781'/>
-      <pointer-type-def type-id='type-id-5653' size-in-bits='64' id='type-id-5858'/>
-      <pointer-type-def type-id='type-id-5859' size-in-bits='64' id='type-id-5760'/>
-      <pointer-type-def type-id='type-id-5860' size-in-bits='64' id='type-id-5713'/>
-      <pointer-type-def type-id='type-id-5861' size-in-bits='64' id='type-id-5711'/>
-      <pointer-type-def type-id='type-id-5862' size-in-bits='64' id='type-id-5710'/>
-      <pointer-type-def type-id='type-id-5863' size-in-bits='64' id='type-id-5739'/>
-      <pointer-type-def type-id='type-id-5864' size-in-bits='64' id='type-id-5712'/>
-      <pointer-type-def type-id='type-id-5865' size-in-bits='64' id='type-id-5671'/>
-      <pointer-type-def type-id='type-id-5866' size-in-bits='64' id='type-id-5695'/>
-      <pointer-type-def type-id='type-id-5867' size-in-bits='64' id='type-id-5689'/>
-      <qualified-type-def type-id='type-id-216' volatile='yes' id='type-id-5685'/>
-      <pointer-type-def type-id='type-id-5654' size-in-bits='64' id='type-id-5656'/>
-      <pointer-type-def type-id='type-id-5655' size-in-bits='64' id='type-id-5724'/>
-      <function-decl name='__sock_tx_timestamp' mangled-name='__sock_tx_timestamp' filepath='net/socket.c' line='603' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__sock_tx_timestamp'>
-        <parameter type-id='type-id-108' name='tsflags' filepath='net/socket.c' line='603' column='1'/>
-        <parameter type-id='type-id-5793' name='tx_flags' filepath='net/socket.c' line='603' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='__sock_recv_ts_and_drops' mangled-name='__sock_recv_ts_and_drops' filepath='net/socket.c' line='784' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__sock_recv_ts_and_drops'>
-        <parameter type-id='type-id-5845' name='msg' filepath='net/socket.c' line='784' column='1'/>
-        <parameter type-id='type-id-3666' name='sk' filepath='net/socket.c' line='784' column='1'/>
-        <parameter type-id='type-id-1768' name='skb' filepath='net/socket.c' line='785' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='sock_register' mangled-name='sock_register' filepath='net/socket.c' line='2629' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_register'>
-        <parameter type-id='type-id-5796' name='ops' filepath='net/socket.c' line='2629' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='sock_unregister' mangled-name='sock_unregister' filepath='net/socket.c' line='2666' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_unregister'>
-        <parameter type-id='type-id-17' name='family' filepath='net/socket.c' line='2666' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-5808'>
-        <parameter type-id='type-id-5802'/>
-        <parameter type-id='type-id-5715'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5809'>
-        <parameter type-id='type-id-5742'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5810'>
-        <parameter type-id='type-id-5742'/>
-        <parameter type-id='type-id-5805'/>
-        <parameter type-id='type-id-3034'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5811'>
-        <parameter type-id='type-id-5742'/>
-        <parameter type-id='type-id-5807'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5812'>
-        <parameter type-id='type-id-5742'/>
-        <parameter type-id='type-id-5807'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-5803'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5813'>
-        <parameter type-id='type-id-5742'/>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-5805'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5814'>
-        <parameter type-id='type-id-5742'/>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-5805'/>
-        <parameter type-id='type-id-3034'/>
-        <parameter type-id='type-id-1826'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5815'>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-5669'/>
-        <parameter type-id='type-id-1209'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5816'>
-        <parameter type-id='type-id-1645'/>
-        <parameter type-id='type-id-3271'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5817'>
-        <parameter type-id='type-id-1645'/>
-        <parameter type-id='type-id-5669'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5818'>
-        <parameter type-id='type-id-5847'/>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-84'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5819'>
-        <parameter type-id='type-id-1768'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5820'>
-        <parameter type-id='type-id-3666'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5821'>
-        <parameter type-id='type-id-3666'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5822'>
-        <parameter type-id='type-id-3666'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-2'/>
-        <parameter type-id='type-id-666'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5823'>
-        <parameter type-id='type-id-3666'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-2'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5824'>
-        <parameter type-id='type-id-3666'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5825'>
-        <parameter type-id='type-id-3666'/>
-        <parameter type-id='type-id-5845'/>
-        <parameter type-id='type-id-84'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5826'>
-        <parameter type-id='type-id-3666'/>
-        <parameter type-id='type-id-5845'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-666'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5827'>
-        <parameter type-id='type-id-3666'/>
-        <parameter type-id='type-id-512'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5828'>
-        <parameter type-id='type-id-3666'/>
-        <parameter type-id='type-id-5847'/>
-        <parameter type-id='type-id-5788'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5829'>
-        <parameter type-id='type-id-3666'/>
-        <parameter type-id='type-id-1768'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5830'>
-        <parameter type-id='type-id-3666'/>
-        <parameter type-id='type-id-3666'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5831'>
-        <parameter type-id='type-id-3666'/>
-        <parameter type-id='type-id-5851'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5832'>
-        <parameter type-id='type-id-3666'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5833'>
-        <parameter type-id='type-id-3666'/>
-        <parameter type-id='type-id-312'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5834'>
-        <parameter type-id='type-id-5669'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5835'>
-        <parameter type-id='type-id-5669'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5836'>
-        <parameter type-id='type-id-5669'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-2'/>
-        <parameter type-id='type-id-666'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5837'>
-        <parameter type-id='type-id-5669'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-2'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5838'>
-        <parameter type-id='type-id-5669'/>
-        <parameter type-id='type-id-5845'/>
-        <parameter type-id='type-id-84'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5839'>
-        <parameter type-id='type-id-5669'/>
-        <parameter type-id='type-id-5845'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5840'>
-        <parameter type-id='type-id-5669'/>
-        <parameter type-id='type-id-5851'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5841'>
-        <parameter type-id='type-id-5669'/>
-        <parameter type-id='type-id-5851'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5842'>
-        <parameter type-id='type-id-5669'/>
-        <parameter type-id='type-id-5669'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5843'>
-        <parameter type-id='type-id-5669'/>
-        <parameter type-id='type-id-5669'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-33'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5844'>
-        <parameter type-id='type-id-5669'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-16'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5849'>
-        <parameter type-id='type-id-3666'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-666'/>
-        <parameter type-id='type-id-33'/>
-        <return type-id='type-id-3666'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5852'>
-        <parameter type-id='type-id-83'/>
-        <parameter type-id='type-id-5669'/>
-        <parameter type-id='type-id-879'/>
-        <return type-id='type-id-880'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5853'>
-        <parameter type-id='type-id-5802'/>
-        <return type-id='type-id-33'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5854'>
-        <parameter type-id='type-id-5742'/>
-        <parameter type-id='type-id-5803'/>
-        <return type-id='type-id-33'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5855'>
-        <parameter type-id='type-id-5742'/>
-        <return type-id='type-id-84'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5856'>
-        <parameter type-id='type-id-5669'/>
-        <parameter type-id='type-id-85'/>
-        <parameter type-id='type-id-87'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-5'/>
-        <return type-id='type-id-86'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5857'>
-        <parameter type-id='type-id-5669'/>
-        <parameter type-id='type-id-512'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-86'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5859'>
-        <parameter type-id='type-id-1645'/>
-        <return type-id='type-id-5'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5860'>
-        <parameter type-id='type-id-5799'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5861'>
-        <parameter type-id='type-id-5802'/>
-        <parameter type-id='type-id-1768'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5862'>
-        <parameter type-id='type-id-5802'/>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-5715'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5863'>
-        <parameter type-id='type-id-5806'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5864'>
-        <parameter type-id='type-id-5715'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5865'>
-        <parameter type-id='type-id-3666'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5866'>
-        <parameter type-id='type-id-3666'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-5867'>
-        <parameter type-id='type-id-3666'/>
-        <parameter type-id='type-id-192'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <union-decl name='__anonymous_union__4' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='156' column='1' id='type-id-5684'>
-        <data-member access='private'>
-          <var-decl name='skc_addrpair' type-id='type-id-5686' visibility='default' filepath='include/net/sock.h' line='157' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='' type-id='type-id-5687' visibility='default' filepath='include/net/sock.h' line='158' column='1'/>
-        </data-member>
-      </union-decl>
-      <union-decl name='__anonymous_union__6' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='1162' column='1' id='type-id-5707'>
-        <data-member access='private'>
-          <var-decl name='hashinfo' type-id='type-id-2261' visibility='default' filepath='include/net/sock.h' line='1163' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='udp_table' type-id='type-id-5858' visibility='default' filepath='include/net/sock.h' line='1164' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='raw_hash' type-id='type-id-5846' visibility='default' filepath='include/net/sock.h' line='1165' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='smc_hash' type-id='type-id-5848' visibility='default' filepath='include/net/sock.h' line='1166' column='1'/>
-        </data-member>
-      </union-decl>
-      <union-decl name='__anonymous_union__8' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='397' column='1' id='type-id-5666'>
-        <data-member access='private'>
-          <var-decl name='sk_wq' type-id='type-id-3663' visibility='default' filepath='include/net/sock.h' line='398' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='sk_wq_raw' type-id='type-id-3663' visibility='default' filepath='include/net/sock.h' line='399' column='1'/>
-        </data-member>
-      </union-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='net/core/sock.c' language='LANG_C89'>
-
-      <array-type-def dimensions='1' type-id='type-id-115' size-in-bits='384' id='type-id-5868'>
-        <subrange length='6' type-id='type-id-9' id='type-id-191'/>
-
-      </array-type-def>
-      <class-decl name='crypto_cipher' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-5869'/>
-      <class-decl name='prefix_info' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-5870'/>
-      <class-decl name='uncached_list' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-5871'/>
-      <array-type-def dimensions='1' type-id='type-id-5872' size-in-bits='16384' id='type-id-5873'>
-        <subrange length='256' type-id='type-id-9' id='type-id-5874'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-5875' size-in-bits='16384' id='type-id-5876'>
-        <subrange length='256' type-id='type-id-9' id='type-id-5874'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-5877' size-in-bits='4096' id='type-id-5878'>
-        <subrange length='32' type-id='type-id-9' id='type-id-941'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-17' size-in-bits='416' id='type-id-5879'>
-        <subrange length='13' type-id='type-id-9' id='type-id-201'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-17' size-in-bits='2048' id='type-id-5880'>
-        <subrange length='64' type-id='type-id-9' id='type-id-188'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-5881' size-in-bits='960' id='type-id-5882'>
-        <subrange length='15' type-id='type-id-9' id='type-id-3439'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-3666' size-in-bits='infinite' id='type-id-5883'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-214' size-in-bits='infinite' id='type-id-5884'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <union-decl name='tcp_cc_info' visibility='default' is-declaration-only='yes' id='type-id-5885'/>
-      <array-type-def dimensions='1' type-id='type-id-5886' size-in-bits='320' id='type-id-5887'>
-        <subrange length='5' type-id='type-id-9' id='type-id-110'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-5888' size-in-bits='3072' id='type-id-5889'>
-        <subrange length='6' type-id='type-id-9' id='type-id-191'/>
-
-      </array-type-def>
-      <union-decl name='__anonymous_union__1' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/fs.h' line='898' column='1' id='type-id-5890'>
-        <data-member access='private'>
-          <var-decl name='fu_llist' type-id='type-id-281' visibility='default' filepath='include/linux/fs.h' line='899' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='fu_rcuhead' type-id='type-id-385' visibility='default' filepath='include/linux/fs.h' line='900' column='1'/>
-        </data-member>
-      </union-decl>
-      <union-decl name='__anonymous_union__2' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/cred.h' line='154' column='1' id='type-id-5891'>
-        <data-member access='private'>
-          <var-decl name='non_rcu' type-id='type-id-17' visibility='default' filepath='include/linux/cred.h' line='155' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/linux/cred.h' line='156' column='1'/>
-        </data-member>
-      </union-decl>
-      <union-decl name='__anonymous_union__3' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='1162' column='1' id='type-id-5892'>
-        <data-member access='private'>
-          <var-decl name='hashinfo' type-id='type-id-2261' visibility='default' filepath='include/net/sock.h' line='1163' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='udp_table' type-id='type-id-5858' visibility='default' filepath='include/net/sock.h' line='1164' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='raw_hash' type-id='type-id-5846' visibility='default' filepath='include/net/sock.h' line='1165' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='smc_hash' type-id='type-id-5848' visibility='default' filepath='include/net/sock.h' line='1166' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='inet_ehash_bucket' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/net/inet_hashtables.h' line='42' column='1' id='type-id-5893'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='chain' type-id='type-id-2292' visibility='default' filepath='include/net/inet_hashtables.h' line='43' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='inet_bind_hashbucket' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/net/inet_hashtables.h' line='104' column='1' id='type-id-5894'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='include/net/inet_hashtables.h' line='105' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='chain' type-id='type-id-186' visibility='default' filepath='include/net/inet_hashtables.h' line='106' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='inet_listen_hashbucket' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/net/inet_hashtables.h' line='115' column='1' id='type-id-5877'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='include/net/inet_hashtables.h' line='116' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='count' type-id='type-id-5' visibility='default' filepath='include/net/inet_hashtables.h' line='117' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='' type-id='type-id-5895' visibility='default' filepath='include/net/inet_hashtables.h' line='118' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__4' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/net/inet_hashtables.h' line='118' column='1' id='type-id-5895'>
-        <data-member access='private'>
-          <var-decl name='head' type-id='type-id-186' visibility='default' filepath='include/net/inet_hashtables.h' line='119' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='nulls_head' type-id='type-id-2292' visibility='default' filepath='include/net/inet_hashtables.h' line='120' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='xfrm_policy' size-in-bits='6208' is-struct='yes' visibility='default' filepath='include/net/xfrm.h' line='573' column='1' id='type-id-5896'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='xp_net' type-id='type-id-1692' visibility='default' filepath='include/net/xfrm.h' line='574' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bydst' type-id='type-id-520' visibility='default' filepath='include/net/xfrm.h' line='575' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='byidx' type-id='type-id-520' visibility='default' filepath='include/net/xfrm.h' line='576' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='lock' type-id='type-id-885' visibility='default' filepath='include/net/xfrm.h' line='579' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='refcnt' type-id='type-id-421' visibility='default' filepath='include/net/xfrm.h' line='580' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='timer' type-id='type-id-417' visibility='default' filepath='include/net/xfrm.h' line='581' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='genid' type-id='type-id-26' visibility='default' filepath='include/net/xfrm.h' line='583' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='736'>
-          <var-decl name='priority' type-id='type-id-7' visibility='default' filepath='include/net/xfrm.h' line='584' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='index' type-id='type-id-7' visibility='default' filepath='include/net/xfrm.h' line='585' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='800'>
-          <var-decl name='if_id' type-id='type-id-7' visibility='default' filepath='include/net/xfrm.h' line='586' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='mark' type-id='type-id-5897' visibility='default' filepath='include/net/xfrm.h' line='587' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='selector' type-id='type-id-5898' visibility='default' filepath='include/net/xfrm.h' line='588' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='lft' type-id='type-id-5899' visibility='default' filepath='include/net/xfrm.h' line='589' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='curlft' type-id='type-id-5900' visibility='default' filepath='include/net/xfrm.h' line='590' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='walk' type-id='type-id-5901' visibility='default' filepath='include/net/xfrm.h' line='591' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2304'>
-          <var-decl name='polq' type-id='type-id-5902' visibility='default' filepath='include/net/xfrm.h' line='592' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2880'>
-          <var-decl name='type' type-id='type-id-214' visibility='default' filepath='include/net/xfrm.h' line='593' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2888'>
-          <var-decl name='action' type-id='type-id-214' visibility='default' filepath='include/net/xfrm.h' line='594' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2896'>
-          <var-decl name='flags' type-id='type-id-214' visibility='default' filepath='include/net/xfrm.h' line='595' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2904'>
-          <var-decl name='xfrm_nr' type-id='type-id-214' visibility='default' filepath='include/net/xfrm.h' line='596' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2912'>
-          <var-decl name='family' type-id='type-id-688' visibility='default' filepath='include/net/xfrm.h' line='597' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2944'>
-          <var-decl name='security' type-id='type-id-5903' visibility='default' filepath='include/net/xfrm.h' line='598' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3008'>
-          <var-decl name='xfrm_vec' type-id='type-id-5889' visibility='default' filepath='include/net/xfrm.h' line='599' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6080'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/net/xfrm.h' line='600' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='xfrm_mark' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/linux/xfrm.h' line='317' column='1' id='type-id-5897'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='v' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/xfrm.h' line='318' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='m' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/xfrm.h' line='319' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='xfrm_selector' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/uapi/linux/xfrm.h' line='49' column='1' id='type-id-5898'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='daddr' type-id='type-id-5904' visibility='default' filepath='include/uapi/linux/xfrm.h' line='50' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='saddr' type-id='type-id-5904' visibility='default' filepath='include/uapi/linux/xfrm.h' line='51' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='dport' type-id='type-id-926' visibility='default' filepath='include/uapi/linux/xfrm.h' line='52' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='272'>
-          <var-decl name='dport_mask' type-id='type-id-926' visibility='default' filepath='include/uapi/linux/xfrm.h' line='53' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='sport' type-id='type-id-926' visibility='default' filepath='include/uapi/linux/xfrm.h' line='54' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='304'>
-          <var-decl name='sport_mask' type-id='type-id-926' visibility='default' filepath='include/uapi/linux/xfrm.h' line='55' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='family' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/xfrm.h' line='56' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='336'>
-          <var-decl name='prefixlen_d' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/xfrm.h' line='57' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='344'>
-          <var-decl name='prefixlen_s' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/xfrm.h' line='58' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='proto' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/xfrm.h' line='59' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='ifindex' type-id='type-id-17' visibility='default' filepath='include/uapi/linux/xfrm.h' line='60' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='user' type-id='type-id-1312' visibility='default' filepath='include/uapi/linux/xfrm.h' line='61' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='xfrm_address_t' type-id='type-id-5905' filepath='include/uapi/linux/xfrm.h' line='19' column='1' id='type-id-5904'/>
-      <union-decl name='__anonymous_union__6' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/xfrm.h' line='15' column='1' id='type-id-5905'>
-        <data-member access='private'>
-          <var-decl name='a4' type-id='type-id-929' visibility='default' filepath='include/uapi/linux/xfrm.h' line='16' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='a6' type-id='type-id-931' visibility='default' filepath='include/uapi/linux/xfrm.h' line='17' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='in6' type-id='type-id-2251' visibility='default' filepath='include/uapi/linux/xfrm.h' line='18' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='xfrm_lifetime_cfg' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/uapi/linux/xfrm.h' line='66' column='1' id='type-id-5899'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='soft_byte_limit' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/xfrm.h' line='67' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='hard_byte_limit' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/xfrm.h' line='68' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='soft_packet_limit' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/xfrm.h' line='69' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='hard_packet_limit' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/xfrm.h' line='70' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='soft_add_expires_seconds' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/xfrm.h' line='71' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='hard_add_expires_seconds' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/xfrm.h' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='soft_use_expires_seconds' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/xfrm.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='hard_use_expires_seconds' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/xfrm.h' line='74' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='xfrm_lifetime_cur' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/uapi/linux/xfrm.h' line='77' column='1' id='type-id-5900'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bytes' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/xfrm.h' line='78' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='packets' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/xfrm.h' line='79' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='add_time' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/xfrm.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='use_time' type-id='type-id-100' visibility='default' filepath='include/uapi/linux/xfrm.h' line='81' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='xfrm_policy_walk_entry' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/net/xfrm.h' line='556' column='1' id='type-id-5901'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='all' type-id='type-id-20' visibility='default' filepath='include/net/xfrm.h' line='557' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='dead' type-id='type-id-214' visibility='default' filepath='include/net/xfrm.h' line='558' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='xfrm_policy_queue' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/net/xfrm.h' line='567' column='1' id='type-id-5902'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='hold_queue' type-id='type-id-1661' visibility='default' filepath='include/net/xfrm.h' line='568' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='hold_timer' type-id='type-id-417' visibility='default' filepath='include/net/xfrm.h' line='569' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='timeout' type-id='type-id-16' visibility='default' filepath='include/net/xfrm.h' line='570' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='xfrm_sec_ctx' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/linux/xfrm.h' line='31' column='1' id='type-id-5906'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ctx_doi' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/xfrm.h' line='32' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='ctx_alg' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/xfrm.h' line='33' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='ctx_len' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/xfrm.h' line='34' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='ctx_sid' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/xfrm.h' line='35' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ctx_str' type-id='type-id-440' visibility='default' filepath='include/uapi/linux/xfrm.h' line='36' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='xfrm_tmpl' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/net/xfrm.h' line='519' column='1' id='type-id-5888'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='id' type-id='type-id-5907' visibility='default' filepath='include/net/xfrm.h' line='526' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='saddr' type-id='type-id-5904' visibility='default' filepath='include/net/xfrm.h' line='529' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='encap_family' type-id='type-id-312' visibility='default' filepath='include/net/xfrm.h' line='531' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='reqid' type-id='type-id-7' visibility='default' filepath='include/net/xfrm.h' line='533' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='mode' type-id='type-id-214' visibility='default' filepath='include/net/xfrm.h' line='536' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='392'>
-          <var-decl name='share' type-id='type-id-214' visibility='default' filepath='include/net/xfrm.h' line='539' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='400'>
-          <var-decl name='optional' type-id='type-id-214' visibility='default' filepath='include/net/xfrm.h' line='542' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='408'>
-          <var-decl name='allalgs' type-id='type-id-214' visibility='default' filepath='include/net/xfrm.h' line='545' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='aalgos' type-id='type-id-7' visibility='default' filepath='include/net/xfrm.h' line='548' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='ealgos' type-id='type-id-7' visibility='default' filepath='include/net/xfrm.h' line='549' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='calgos' type-id='type-id-7' visibility='default' filepath='include/net/xfrm.h' line='550' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='xfrm_id' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/uapi/linux/xfrm.h' line='25' column='1' id='type-id-5907'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='daddr' type-id='type-id-5904' visibility='default' filepath='include/uapi/linux/xfrm.h' line='26' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='spi' type-id='type-id-929' visibility='default' filepath='include/uapi/linux/xfrm.h' line='27' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='proto' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/xfrm.h' line='28' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='nd_opt_hdr' size-in-bits='16' is-struct='yes' visibility='default' filepath='include/net/ndisc.h' line='102' column='1' id='type-id-5908'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='nd_opt_type' type-id='type-id-895' visibility='default' filepath='include/net/ndisc.h' line='103' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='nd_opt_len' type-id='type-id-895' visibility='default' filepath='include/net/ndisc.h' line='104' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ndisc_options' size-in-bits='1216' is-struct='yes' visibility='default' filepath='include/net/ndisc.h' line='108' column='1' id='type-id-5909'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='nd_opt_array' type-id='type-id-5882' visibility='default' filepath='include/net/ndisc.h' line='109' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='nd_opts_ri' type-id='type-id-5881' visibility='default' filepath='include/net/ndisc.h' line='111' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='nd_opts_ri_end' type-id='type-id-5881' visibility='default' filepath='include/net/ndisc.h' line='112' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='nd_useropts' type-id='type-id-5881' visibility='default' filepath='include/net/ndisc.h' line='114' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='nd_useropts_end' type-id='type-id-5881' visibility='default' filepath='include/net/ndisc.h' line='115' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='neighbour' size-in-bits='2688' is-struct='yes' visibility='default' filepath='include/net/neighbour.h' line='135' column='1' id='type-id-5910'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='next' type-id='type-id-5911' visibility='default' filepath='include/net/neighbour.h' line='136' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='tbl' type-id='type-id-5912' visibility='default' filepath='include/net/neighbour.h' line='137' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='parms' type-id='type-id-5913' visibility='default' filepath='include/net/neighbour.h' line='138' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='confirmed' type-id='type-id-16' visibility='default' filepath='include/net/neighbour.h' line='139' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='updated' type-id='type-id-16' visibility='default' filepath='include/net/neighbour.h' line='140' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='lock' type-id='type-id-885' visibility='default' filepath='include/net/neighbour.h' line='141' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='refcnt' type-id='type-id-421' visibility='default' filepath='include/net/neighbour.h' line='142' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='arp_queue' type-id='type-id-1661' visibility='default' filepath='include/net/neighbour.h' line='143' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='arp_queue_len_bytes' type-id='type-id-5' visibility='default' filepath='include/net/neighbour.h' line='144' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='timer' type-id='type-id-417' visibility='default' filepath='include/net/neighbour.h' line='145' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='used' type-id='type-id-16' visibility='default' filepath='include/net/neighbour.h' line='146' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='probes' type-id='type-id-26' visibility='default' filepath='include/net/neighbour.h' line='147' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1120'>
-          <var-decl name='flags' type-id='type-id-895' visibility='default' filepath='include/net/neighbour.h' line='148' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1128'>
-          <var-decl name='nud_state' type-id='type-id-895' visibility='default' filepath='include/net/neighbour.h' line='149' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1136'>
-          <var-decl name='type' type-id='type-id-895' visibility='default' filepath='include/net/neighbour.h' line='150' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1144'>
-          <var-decl name='dead' type-id='type-id-895' visibility='default' filepath='include/net/neighbour.h' line='151' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='ha_lock' type-id='type-id-1919' visibility='default' filepath='include/net/neighbour.h' line='152' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='ha' type-id='type-id-35' visibility='default' filepath='include/net/neighbour.h' line='153' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='hh' type-id='type-id-1918' visibility='default' filepath='include/net/neighbour.h' line='154' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='output' type-id='type-id-5914' visibility='default' filepath='include/net/neighbour.h' line='155' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2432'>
-          <var-decl name='ops' type-id='type-id-5915' visibility='default' filepath='include/net/neighbour.h' line='156' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2496'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/net/neighbour.h' line='157' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2624'>
-          <var-decl name='dev' type-id='type-id-1650' visibility='default' filepath='include/net/neighbour.h' line='158' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2688'>
-          <var-decl name='primary_key' type-id='type-id-5884' visibility='default' filepath='include/net/neighbour.h' line='159' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='neigh_table' size-in-bits='3648' is-struct='yes' visibility='default' filepath='include/net/neighbour.h' line='192' column='1' id='type-id-5916'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='family' type-id='type-id-17' visibility='default' filepath='include/net/neighbour.h' line='193' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='entry_size' type-id='type-id-5' visibility='default' filepath='include/net/neighbour.h' line='194' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='key_len' type-id='type-id-5' visibility='default' filepath='include/net/neighbour.h' line='195' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='protocol' type-id='type-id-926' visibility='default' filepath='include/net/neighbour.h' line='196' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='hash' type-id='type-id-5917' visibility='default' filepath='include/net/neighbour.h' line='197' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='key_eq' type-id='type-id-5918' visibility='default' filepath='include/net/neighbour.h' line='200' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='constructor' type-id='type-id-5919' visibility='default' filepath='include/net/neighbour.h' line='201' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='pconstructor' type-id='type-id-5920' visibility='default' filepath='include/net/neighbour.h' line='202' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='pdestructor' type-id='type-id-5921' visibility='default' filepath='include/net/neighbour.h' line='203' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='proxy_redo' type-id='type-id-1770' visibility='default' filepath='include/net/neighbour.h' line='204' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='id' type-id='type-id-2' visibility='default' filepath='include/net/neighbour.h' line='205' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='parms' type-id='type-id-5922' visibility='default' filepath='include/net/neighbour.h' line='206' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='parms_list' type-id='type-id-20' visibility='default' filepath='include/net/neighbour.h' line='207' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='gc_interval' type-id='type-id-17' visibility='default' filepath='include/net/neighbour.h' line='208' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1888'>
-          <var-decl name='gc_thresh1' type-id='type-id-17' visibility='default' filepath='include/net/neighbour.h' line='209' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='gc_thresh2' type-id='type-id-17' visibility='default' filepath='include/net/neighbour.h' line='210' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1952'>
-          <var-decl name='gc_thresh3' type-id='type-id-17' visibility='default' filepath='include/net/neighbour.h' line='211' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='last_flush' type-id='type-id-16' visibility='default' filepath='include/net/neighbour.h' line='212' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='gc_work' type-id='type-id-411' visibility='default' filepath='include/net/neighbour.h' line='213' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2752'>
-          <var-decl name='proxy_timer' type-id='type-id-417' visibility='default' filepath='include/net/neighbour.h' line='214' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3072'>
-          <var-decl name='proxy_queue' type-id='type-id-1661' visibility='default' filepath='include/net/neighbour.h' line='215' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3264'>
-          <var-decl name='entries' type-id='type-id-26' visibility='default' filepath='include/net/neighbour.h' line='216' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3296'>
-          <var-decl name='lock' type-id='type-id-885' visibility='default' filepath='include/net/neighbour.h' line='217' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3392'>
-          <var-decl name='last_rand' type-id='type-id-16' visibility='default' filepath='include/net/neighbour.h' line='218' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3456'>
-          <var-decl name='stats' type-id='type-id-5923' visibility='default' filepath='include/net/neighbour.h' line='219' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3520'>
-          <var-decl name='nht' type-id='type-id-5924' visibility='default' filepath='include/net/neighbour.h' line='220' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3584'>
-          <var-decl name='phash_buckets' type-id='type-id-5925' visibility='default' filepath='include/net/neighbour.h' line='221' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='pneigh_entry' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/net/neighbour.h' line='170' column='1' id='type-id-5926'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='next' type-id='type-id-5927' visibility='default' filepath='include/net/neighbour.h' line='171' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='net' type-id='type-id-1692' visibility='default' filepath='include/net/neighbour.h' line='172' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='dev' type-id='type-id-1650' visibility='default' filepath='include/net/neighbour.h' line='173' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='flags' type-id='type-id-214' visibility='default' filepath='include/net/neighbour.h' line='174' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='136'>
-          <var-decl name='key' type-id='type-id-5884' visibility='default' filepath='include/net/neighbour.h' line='175' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='neigh_parms' size-in-bits='1152' is-struct='yes' visibility='default' filepath='include/net/neighbour.h' line='70' column='1' id='type-id-5922'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='net' type-id='type-id-1692' visibility='default' filepath='include/net/neighbour.h' line='71' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dev' type-id='type-id-1650' visibility='default' filepath='include/net/neighbour.h' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/net/neighbour.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='neigh_setup' type-id='type-id-5919' visibility='default' filepath='include/net/neighbour.h' line='74' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='neigh_cleanup' type-id='type-id-5928' visibility='default' filepath='include/net/neighbour.h' line='75' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='tbl' type-id='type-id-5912' visibility='default' filepath='include/net/neighbour.h' line='76' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='sysctl_table' type-id='type-id-15' visibility='default' filepath='include/net/neighbour.h' line='78' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='dead' type-id='type-id-17' visibility='default' filepath='include/net/neighbour.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='refcnt' type-id='type-id-421' visibility='default' filepath='include/net/neighbour.h' line='81' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='callback_head' type-id='type-id-385' visibility='default' filepath='include/net/neighbour.h' line='82' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='reachable_time' type-id='type-id-17' visibility='default' filepath='include/net/neighbour.h' line='84' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='672'>
-          <var-decl name='data' type-id='type-id-5879' visibility='default' filepath='include/net/neighbour.h' line='85' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='data_state' type-id='type-id-491' visibility='default' filepath='include/net/neighbour.h' line='86' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='neigh_statistics' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/net/neighbour.h' line='113' column='1' id='type-id-5929'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='allocs' type-id='type-id-16' visibility='default' filepath='include/net/neighbour.h' line='114' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='destroys' type-id='type-id-16' visibility='default' filepath='include/net/neighbour.h' line='115' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='hash_grows' type-id='type-id-16' visibility='default' filepath='include/net/neighbour.h' line='116' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='res_failed' type-id='type-id-16' visibility='default' filepath='include/net/neighbour.h' line='118' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='lookups' type-id='type-id-16' visibility='default' filepath='include/net/neighbour.h' line='120' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='hits' type-id='type-id-16' visibility='default' filepath='include/net/neighbour.h' line='121' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='rcv_probes_mcast' type-id='type-id-16' visibility='default' filepath='include/net/neighbour.h' line='123' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='rcv_probes_ucast' type-id='type-id-16' visibility='default' filepath='include/net/neighbour.h' line='124' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='periodic_gc_runs' type-id='type-id-16' visibility='default' filepath='include/net/neighbour.h' line='126' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='forced_gc_runs' type-id='type-id-16' visibility='default' filepath='include/net/neighbour.h' line='127' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='unres_discards' type-id='type-id-16' visibility='default' filepath='include/net/neighbour.h' line='129' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='table_fulls' type-id='type-id-16' visibility='default' filepath='include/net/neighbour.h' line='130' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='neigh_hash_table' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/net/neighbour.h' line='184' column='1' id='type-id-5930'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='hash_buckets' type-id='type-id-5931' visibility='default' filepath='include/net/neighbour.h' line='185' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='hash_shift' type-id='type-id-5' visibility='default' filepath='include/net/neighbour.h' line='186' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='hash_rnd' type-id='type-id-4448' visibility='default' filepath='include/net/neighbour.h' line='187' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/net/neighbour.h' line='188' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='neigh_ops' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/net/neighbour.h' line='162' column='1' id='type-id-5932'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='family' type-id='type-id-17' visibility='default' filepath='include/net/neighbour.h' line='163' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='solicit' type-id='type-id-5933' visibility='default' filepath='include/net/neighbour.h' line='164' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='error_report' type-id='type-id-5933' visibility='default' filepath='include/net/neighbour.h' line='165' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='output' type-id='type-id-5914' visibility='default' filepath='include/net/neighbour.h' line='166' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='connected_output' type-id='type-id-5914' visibility='default' filepath='include/net/neighbour.h' line='167' column='1'/>
-        </data-member>
-      </class-decl>
-      <enum-decl name='tcp_ca_event' filepath='include/net/tcp.h' line='955' column='1' id='type-id-5934'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='CA_EVENT_TX_START' value='0'/>
-        <enumerator name='CA_EVENT_CWND_RESTART' value='1'/>
-        <enumerator name='CA_EVENT_COMPLETE_CWR' value='2'/>
-        <enumerator name='CA_EVENT_LOSS' value='3'/>
-        <enumerator name='CA_EVENT_ECN_NO_CE' value='4'/>
-        <enumerator name='CA_EVENT_ECN_IS_CE' value='5'/>
-      </enum-decl>
-      <class-decl name='ack_sample' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/net/tcp.h' line='987' column='1' id='type-id-5935'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='pkts_acked' type-id='type-id-7' visibility='default' filepath='include/net/tcp.h' line='988' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='rtt_us' type-id='type-id-738' visibility='default' filepath='include/net/tcp.h' line='989' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='in_flight' type-id='type-id-7' visibility='default' filepath='include/net/tcp.h' line='990' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='rate_sample' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/net/tcp.h' line='1001' column='1' id='type-id-5936'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='prior_mstamp' type-id='type-id-40' visibility='default' filepath='include/net/tcp.h' line='1002' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='prior_delivered' type-id='type-id-7' visibility='default' filepath='include/net/tcp.h' line='1003' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='delivered' type-id='type-id-738' visibility='default' filepath='include/net/tcp.h' line='1004' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='interval_us' type-id='type-id-192' visibility='default' filepath='include/net/tcp.h' line='1005' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='snd_interval_us' type-id='type-id-7' visibility='default' filepath='include/net/tcp.h' line='1006' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='rcv_interval_us' type-id='type-id-7' visibility='default' filepath='include/net/tcp.h' line='1007' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='rtt_us' type-id='type-id-192' visibility='default' filepath='include/net/tcp.h' line='1008' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='losses' type-id='type-id-17' visibility='default' filepath='include/net/tcp.h' line='1009' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='acked_sacked' type-id='type-id-7' visibility='default' filepath='include/net/tcp.h' line='1010' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='prior_in_flight' type-id='type-id-7' visibility='default' filepath='include/net/tcp.h' line='1011' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='is_app_limited' type-id='type-id-33' visibility='default' filepath='include/net/tcp.h' line='1012' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='424'>
-          <var-decl name='is_retrans' type-id='type-id-33' visibility='default' filepath='include/net/tcp.h' line='1013' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='432'>
-          <var-decl name='is_ack_delayed' type-id='type-id-33' visibility='default' filepath='include/net/tcp.h' line='1014' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='fib6_node' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/net/ip6_fib.h' line='71' column='1' id='type-id-5937'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='parent' type-id='type-id-5938' visibility='default' filepath='include/net/ip6_fib.h' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='left' type-id='type-id-5938' visibility='default' filepath='include/net/ip6_fib.h' line='73' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='right' type-id='type-id-5938' visibility='default' filepath='include/net/ip6_fib.h' line='74' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='leaf' type-id='type-id-2265' visibility='default' filepath='include/net/ip6_fib.h' line='78' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='fn_bit' type-id='type-id-108' visibility='default' filepath='include/net/ip6_fib.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='272'>
-          <var-decl name='fn_flags' type-id='type-id-108' visibility='default' filepath='include/net/ip6_fib.h' line='81' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='fn_sernum' type-id='type-id-17' visibility='default' filepath='include/net/ip6_fib.h' line='82' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='rr_ptr' type-id='type-id-2265' visibility='default' filepath='include/net/ip6_fib.h' line='83' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/net/ip6_fib.h' line='84' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='dst_metrics' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/net/dst.h' line='93' column='1' id='type-id-5939'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='metrics' type-id='type-id-4472' visibility='default' filepath='include/net/dst.h' line='94' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='refcnt' type-id='type-id-421' visibility='default' filepath='include/net/dst.h' line='95' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='rt6key' size-in-bits='160' is-struct='yes' visibility='default' filepath='include/net/ip6_fib.h' line='103' column='1' id='type-id-5940'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='addr' type-id='type-id-2251' visibility='default' filepath='include/net/ip6_fib.h' line='104' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='plen' type-id='type-id-17' visibility='default' filepath='include/net/ip6_fib.h' line='105' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='rt6_info' size-in-bits='1920' is-struct='yes' visibility='default' filepath='include/net/ip6_fib.h' line='181' column='1' id='type-id-5941'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dst' type-id='type-id-5723' visibility='default' filepath='include/net/ip6_fib.h' line='182' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='from' type-id='type-id-2265' visibility='default' filepath='include/net/ip6_fib.h' line='183' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='rt6i_dst' type-id='type-id-5940' visibility='default' filepath='include/net/ip6_fib.h' line='185' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1120'>
-          <var-decl name='rt6i_src' type-id='type-id-5940' visibility='default' filepath='include/net/ip6_fib.h' line='186' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='rt6i_gateway' type-id='type-id-2251' visibility='default' filepath='include/net/ip6_fib.h' line='187' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='rt6i_idev' type-id='type-id-5942' visibility='default' filepath='include/net/ip6_fib.h' line='188' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='rt6i_flags' type-id='type-id-7' visibility='default' filepath='include/net/ip6_fib.h' line='189' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1504'>
-          <var-decl name='rt6i_prefsrc' type-id='type-id-5940' visibility='default' filepath='include/net/ip6_fib.h' line='190' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='rt6i_uncached' type-id='type-id-20' visibility='default' filepath='include/net/ip6_fib.h' line='192' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='rt6i_uncached_list' type-id='type-id-5943' visibility='default' filepath='include/net/ip6_fib.h' line='193' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='rt6i_nfheader_len' type-id='type-id-312' visibility='default' filepath='include/net/ip6_fib.h' line='196' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='inet6_dev' size-in-bits='4864' is-struct='yes' visibility='default' filepath='include/net/if_inet6.h' line='166' column='1' id='type-id-5944'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dev' type-id='type-id-1650' visibility='default' filepath='include/net/if_inet6.h' line='167' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='addr_list' type-id='type-id-20' visibility='default' filepath='include/net/if_inet6.h' line='169' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='mc_list' type-id='type-id-5945' visibility='default' filepath='include/net/if_inet6.h' line='171' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='mc_tomb' type-id='type-id-5945' visibility='default' filepath='include/net/if_inet6.h' line='172' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='mc_lock' type-id='type-id-247' visibility='default' filepath='include/net/if_inet6.h' line='173' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='mc_qrv' type-id='type-id-216' visibility='default' filepath='include/net/if_inet6.h' line='175' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='360'>
-          <var-decl name='mc_gq_running' type-id='type-id-216' visibility='default' filepath='include/net/if_inet6.h' line='176' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='368'>
-          <var-decl name='mc_ifc_count' type-id='type-id-216' visibility='default' filepath='include/net/if_inet6.h' line='177' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='376'>
-          <var-decl name='mc_dad_count' type-id='type-id-216' visibility='default' filepath='include/net/if_inet6.h' line='178' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='mc_v1_seen' type-id='type-id-16' visibility='default' filepath='include/net/if_inet6.h' line='180' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='mc_qi' type-id='type-id-16' visibility='default' filepath='include/net/if_inet6.h' line='181' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='mc_qri' type-id='type-id-16' visibility='default' filepath='include/net/if_inet6.h' line='182' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='mc_maxdelay' type-id='type-id-16' visibility='default' filepath='include/net/if_inet6.h' line='183' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='mc_gq_timer' type-id='type-id-417' visibility='default' filepath='include/net/if_inet6.h' line='185' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='mc_ifc_timer' type-id='type-id-417' visibility='default' filepath='include/net/if_inet6.h' line='186' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='mc_dad_timer' type-id='type-id-417' visibility='default' filepath='include/net/if_inet6.h' line='187' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='ac_list' type-id='type-id-5946' visibility='default' filepath='include/net/if_inet6.h' line='189' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='lock' type-id='type-id-885' visibility='default' filepath='include/net/if_inet6.h' line='190' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='refcnt' type-id='type-id-421' visibility='default' filepath='include/net/if_inet6.h' line='191' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1760'>
-          <var-decl name='if_flags' type-id='type-id-511' visibility='default' filepath='include/net/if_inet6.h' line='192' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='dead' type-id='type-id-17' visibility='default' filepath='include/net/if_inet6.h' line='193' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1824'>
-          <var-decl name='desync_factor' type-id='type-id-7' visibility='default' filepath='include/net/if_inet6.h' line='195' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='rndid' type-id='type-id-1186' visibility='default' filepath='include/net/if_inet6.h' line='196' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='tempaddr_list' type-id='type-id-20' visibility='default' filepath='include/net/if_inet6.h' line='197' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='token' type-id='type-id-2251' visibility='default' filepath='include/net/if_inet6.h' line='199' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='nd_parms' type-id='type-id-5913' visibility='default' filepath='include/net/if_inet6.h' line='201' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='cnf' type-id='type-id-1030' visibility='default' filepath='include/net/if_inet6.h' line='202' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4032'>
-          <var-decl name='stats' type-id='type-id-5947' visibility='default' filepath='include/net/if_inet6.h' line='203' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4288'>
-          <var-decl name='rs_timer' type-id='type-id-417' visibility='default' filepath='include/net/if_inet6.h' line='205' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4608'>
-          <var-decl name='rs_interval' type-id='type-id-653' visibility='default' filepath='include/net/if_inet6.h' line='206' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4640'>
-          <var-decl name='rs_probes' type-id='type-id-895' visibility='default' filepath='include/net/if_inet6.h' line='207' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4672'>
-          <var-decl name='tstamp' type-id='type-id-16' visibility='default' filepath='include/net/if_inet6.h' line='209' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4736'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/net/if_inet6.h' line='210' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ifmcaddr6' size-in-bits='1152' is-struct='yes' visibility='default' filepath='include/net/if_inet6.h' line='119' column='1' id='type-id-5948'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mca_addr' type-id='type-id-2251' visibility='default' filepath='include/net/if_inet6.h' line='120' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='idev' type-id='type-id-5942' visibility='default' filepath='include/net/if_inet6.h' line='121' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='next' type-id='type-id-5945' visibility='default' filepath='include/net/if_inet6.h' line='122' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='mca_sources' type-id='type-id-5949' visibility='default' filepath='include/net/if_inet6.h' line='123' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='mca_tomb' type-id='type-id-5949' visibility='default' filepath='include/net/if_inet6.h' line='124' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='mca_sfmode' type-id='type-id-5' visibility='default' filepath='include/net/if_inet6.h' line='125' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='mca_crcount' type-id='type-id-216' visibility='default' filepath='include/net/if_inet6.h' line='126' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='mca_sfcount' type-id='type-id-219' visibility='default' filepath='include/net/if_inet6.h' line='127' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='mca_timer' type-id='type-id-417' visibility='default' filepath='include/net/if_inet6.h' line='128' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='mca_flags' type-id='type-id-5' visibility='default' filepath='include/net/if_inet6.h' line='129' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='928'>
-          <var-decl name='mca_users' type-id='type-id-17' visibility='default' filepath='include/net/if_inet6.h' line='130' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='mca_refcnt' type-id='type-id-421' visibility='default' filepath='include/net/if_inet6.h' line='131' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='992'>
-          <var-decl name='mca_lock' type-id='type-id-247' visibility='default' filepath='include/net/if_inet6.h' line='132' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='mca_cstamp' type-id='type-id-16' visibility='default' filepath='include/net/if_inet6.h' line='133' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='mca_tstamp' type-id='type-id-16' visibility='default' filepath='include/net/if_inet6.h' line='134' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ip6_sf_list' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/net/if_inet6.h' line='104' column='1' id='type-id-5950'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='sf_next' type-id='type-id-5949' visibility='default' filepath='include/net/if_inet6.h' line='105' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='sf_addr' type-id='type-id-2251' visibility='default' filepath='include/net/if_inet6.h' line='106' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='sf_count' type-id='type-id-219' visibility='default' filepath='include/net/if_inet6.h' line='107' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='sf_gsresp' type-id='type-id-216' visibility='default' filepath='include/net/if_inet6.h' line='108' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='328'>
-          <var-decl name='sf_oldin' type-id='type-id-216' visibility='default' filepath='include/net/if_inet6.h' line='109' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='336'>
-          <var-decl name='sf_crcount' type-id='type-id-216' visibility='default' filepath='include/net/if_inet6.h' line='110' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ifacaddr6' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/net/if_inet6.h' line='145' column='1' id='type-id-5951'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='aca_addr' type-id='type-id-2251' visibility='default' filepath='include/net/if_inet6.h' line='146' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='aca_rt' type-id='type-id-2265' visibility='default' filepath='include/net/if_inet6.h' line='147' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='aca_next' type-id='type-id-5946' visibility='default' filepath='include/net/if_inet6.h' line='148' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='aca_users' type-id='type-id-17' visibility='default' filepath='include/net/if_inet6.h' line='149' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='aca_refcnt' type-id='type-id-421' visibility='default' filepath='include/net/if_inet6.h' line='150' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='aca_cstamp' type-id='type-id-16' visibility='default' filepath='include/net/if_inet6.h' line='151' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='aca_tstamp' type-id='type-id-16' visibility='default' filepath='include/net/if_inet6.h' line='152' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='ipv6_devstat' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/if_inet6.h' line='159' column='1' id='type-id-5947'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='proc_dir_entry' type-id='type-id-262' visibility='default' filepath='include/net/if_inet6.h' line='160' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ipv6' type-id='type-id-2206' visibility='default' filepath='include/net/if_inet6.h' line='161' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='icmpv6dev' type-id='type-id-5952' visibility='default' filepath='include/net/if_inet6.h' line='162' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='icmpv6msgdev' type-id='type-id-5953' visibility='default' filepath='include/net/if_inet6.h' line='163' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='icmpv6_mib_device' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/net/snmp.h' line='80' column='1' id='type-id-5954'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mibs' type-id='type-id-5868' visibility='default' filepath='include/net/snmp.h' line='81' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='icmpv6msg_mib_device' size-in-bits='32768' is-struct='yes' visibility='default' filepath='include/net/snmp.h' line='90' column='1' id='type-id-5955'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mibs' type-id='type-id-950' visibility='default' filepath='include/net/snmp.h' line='91' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='rt6_exception_bucket' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/net/ip6_fib.h' line='110' column='1' id='type-id-5956'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='chain' type-id='type-id-186' visibility='default' filepath='include/net/ip6_fib.h' line='111' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='depth' type-id='type-id-17' visibility='default' filepath='include/net/ip6_fib.h' line='112' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='fib6_nh' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/net/ip6_fib.h' line='126' column='1' id='type-id-5957'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='nh_gw' type-id='type-id-2251' visibility='default' filepath='include/net/ip6_fib.h' line='127' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='nh_dev' type-id='type-id-1650' visibility='default' filepath='include/net/ip6_fib.h' line='128' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='nh_lwtstate' type-id='type-id-5726' visibility='default' filepath='include/net/ip6_fib.h' line='129' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='nh_flags' type-id='type-id-5' visibility='default' filepath='include/net/ip6_fib.h' line='131' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='nh_upper_bound' type-id='type-id-26' visibility='default' filepath='include/net/ip6_fib.h' line='132' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='nh_weight' type-id='type-id-17' visibility='default' filepath='include/net/ip6_fib.h' line='133' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='xfrm_state' size-in-bits='6016' is-struct='yes' visibility='default' filepath='include/net/xfrm.h' line='136' column='1' id='type-id-5958'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='xs_net' type-id='type-id-1692' visibility='default' filepath='include/net/xfrm.h' line='137' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='' type-id='type-id-5959' visibility='default' filepath='include/net/xfrm.h' line='138' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='bysrc' type-id='type-id-520' visibility='default' filepath='include/net/xfrm.h' line='142' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='byspi' type-id='type-id-520' visibility='default' filepath='include/net/xfrm.h' line='143' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='refcnt' type-id='type-id-421' visibility='default' filepath='include/net/xfrm.h' line='145' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='include/net/xfrm.h' line='146' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='id' type-id='type-id-5907' visibility='default' filepath='include/net/xfrm.h' line='148' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='sel' type-id='type-id-5898' visibility='default' filepath='include/net/xfrm.h' line='149' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='mark' type-id='type-id-5897' visibility='default' filepath='include/net/xfrm.h' line='150' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='if_id' type-id='type-id-7' visibility='default' filepath='include/net/xfrm.h' line='151' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1184'>
-          <var-decl name='tfcpad' type-id='type-id-7' visibility='default' filepath='include/net/xfrm.h' line='152' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='genid' type-id='type-id-7' visibility='default' filepath='include/net/xfrm.h' line='154' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='km' type-id='type-id-5960' visibility='default' filepath='include/net/xfrm.h' line='157' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='props' type-id='type-id-5961' visibility='default' filepath='include/net/xfrm.h' line='172' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='lft' type-id='type-id-5899' visibility='default' filepath='include/net/xfrm.h' line='174' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2432'>
-          <var-decl name='aalg' type-id='type-id-5962' visibility='default' filepath='include/net/xfrm.h' line='177' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2496'>
-          <var-decl name='ealg' type-id='type-id-5963' visibility='default' filepath='include/net/xfrm.h' line='178' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2560'>
-          <var-decl name='calg' type-id='type-id-5963' visibility='default' filepath='include/net/xfrm.h' line='179' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2624'>
-          <var-decl name='aead' type-id='type-id-5964' visibility='default' filepath='include/net/xfrm.h' line='180' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2688'>
-          <var-decl name='geniv' type-id='type-id-4' visibility='default' filepath='include/net/xfrm.h' line='181' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2752'>
-          <var-decl name='encap' type-id='type-id-5965' visibility='default' filepath='include/net/xfrm.h' line='184' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2816'>
-          <var-decl name='coaddr' type-id='type-id-5966' visibility='default' filepath='include/net/xfrm.h' line='187' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2880'>
-          <var-decl name='tunnel' type-id='type-id-5233' visibility='default' filepath='include/net/xfrm.h' line='190' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2944'>
-          <var-decl name='tunnel_users' type-id='type-id-26' visibility='default' filepath='include/net/xfrm.h' line='193' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2976'>
-          <var-decl name='replay' type-id='type-id-5967' visibility='default' filepath='include/net/xfrm.h' line='196' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3072'>
-          <var-decl name='replay_esn' type-id='type-id-5968' visibility='default' filepath='include/net/xfrm.h' line='197' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3136'>
-          <var-decl name='preplay' type-id='type-id-5967' visibility='default' filepath='include/net/xfrm.h' line='200' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3264'>
-          <var-decl name='preplay_esn' type-id='type-id-5968' visibility='default' filepath='include/net/xfrm.h' line='201' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3328'>
-          <var-decl name='repl' type-id='type-id-5969' visibility='default' filepath='include/net/xfrm.h' line='204' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3392'>
-          <var-decl name='xflags' type-id='type-id-7' visibility='default' filepath='include/net/xfrm.h' line='209' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3424'>
-          <var-decl name='replay_maxage' type-id='type-id-7' visibility='default' filepath='include/net/xfrm.h' line='212' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3456'>
-          <var-decl name='replay_maxdiff' type-id='type-id-7' visibility='default' filepath='include/net/xfrm.h' line='213' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3520'>
-          <var-decl name='rtimer' type-id='type-id-417' visibility='default' filepath='include/net/xfrm.h' line='216' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3840'>
-          <var-decl name='stats' type-id='type-id-5970' visibility='default' filepath='include/net/xfrm.h' line='219' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='3968'>
-          <var-decl name='curlft' type-id='type-id-5900' visibility='default' filepath='include/net/xfrm.h' line='221' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='4224'>
-          <var-decl name='mtimer' type-id='type-id-5971' visibility='default' filepath='include/net/xfrm.h' line='222' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5120'>
-          <var-decl name='xso' type-id='type-id-5972' visibility='default' filepath='include/net/xfrm.h' line='224' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5312'>
-          <var-decl name='saved_tmo' type-id='type-id-192' visibility='default' filepath='include/net/xfrm.h' line='227' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5376'>
-          <var-decl name='lastused' type-id='type-id-1341' visibility='default' filepath='include/net/xfrm.h' line='230' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5440'>
-          <var-decl name='xfrag' type-id='type-id-1536' visibility='default' filepath='include/net/xfrm.h' line='232' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5568'>
-          <var-decl name='type' type-id='type-id-5872' visibility='default' filepath='include/net/xfrm.h' line='236' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5632'>
-          <var-decl name='inner_mode' type-id='type-id-5886' visibility='default' filepath='include/net/xfrm.h' line='237' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5696'>
-          <var-decl name='inner_mode_iaf' type-id='type-id-5886' visibility='default' filepath='include/net/xfrm.h' line='238' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5760'>
-          <var-decl name='outer_mode' type-id='type-id-5886' visibility='default' filepath='include/net/xfrm.h' line='239' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5824'>
-          <var-decl name='type_offload' type-id='type-id-5875' visibility='default' filepath='include/net/xfrm.h' line='241' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5888'>
-          <var-decl name='security' type-id='type-id-5903' visibility='default' filepath='include/net/xfrm.h' line='244' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5952'>
-          <var-decl name='data' type-id='type-id-15' visibility='default' filepath='include/net/xfrm.h' line='248' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='xfrm_state_walk' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/xfrm.h' line='119' column='1' id='type-id-5960'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='all' type-id='type-id-20' visibility='default' filepath='include/net/xfrm.h' line='120' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='state' type-id='type-id-214' visibility='default' filepath='include/net/xfrm.h' line='121' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='136'>
-          <var-decl name='dying' type-id='type-id-214' visibility='default' filepath='include/net/xfrm.h' line='122' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='144'>
-          <var-decl name='proto' type-id='type-id-214' visibility='default' filepath='include/net/xfrm.h' line='123' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='seq' type-id='type-id-7' visibility='default' filepath='include/net/xfrm.h' line='124' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='filter' type-id='type-id-5973' visibility='default' filepath='include/net/xfrm.h' line='125' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='xfrm_address_filter' size-in-bits='288' is-struct='yes' visibility='default' filepath='include/uapi/linux/xfrm.h' line='495' column='1' id='type-id-5974'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='saddr' type-id='type-id-5904' visibility='default' filepath='include/uapi/linux/xfrm.h' line='496' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='daddr' type-id='type-id-5904' visibility='default' filepath='include/uapi/linux/xfrm.h' line='497' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='family' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/xfrm.h' line='498' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='272'>
-          <var-decl name='splen' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/xfrm.h' line='499' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='280'>
-          <var-decl name='dplen' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/xfrm.h' line='500' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='__anonymous_struct__' size-in-bits='384' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/net/xfrm.h' line='160' column='1' id='type-id-5961'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='reqid' type-id='type-id-7' visibility='default' filepath='include/net/xfrm.h' line='161' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='mode' type-id='type-id-214' visibility='default' filepath='include/net/xfrm.h' line='162' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='40'>
-          <var-decl name='replay_window' type-id='type-id-214' visibility='default' filepath='include/net/xfrm.h' line='163' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='aalgo' type-id='type-id-214' visibility='default' filepath='include/net/xfrm.h' line='164' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='56'>
-          <var-decl name='ealgo' type-id='type-id-214' visibility='default' filepath='include/net/xfrm.h' line='164' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='calgo' type-id='type-id-214' visibility='default' filepath='include/net/xfrm.h' line='164' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='72'>
-          <var-decl name='flags' type-id='type-id-214' visibility='default' filepath='include/net/xfrm.h' line='165' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='80'>
-          <var-decl name='family' type-id='type-id-688' visibility='default' filepath='include/net/xfrm.h' line='166' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='saddr' type-id='type-id-5904' visibility='default' filepath='include/net/xfrm.h' line='167' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='header_len' type-id='type-id-17' visibility='default' filepath='include/net/xfrm.h' line='168' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='trailer_len' type-id='type-id-17' visibility='default' filepath='include/net/xfrm.h' line='169' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='extra_flags' type-id='type-id-7' visibility='default' filepath='include/net/xfrm.h' line='170' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='smark' type-id='type-id-5897' visibility='default' filepath='include/net/xfrm.h' line='171' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='xfrm_algo_auth' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/uapi/linux/xfrm.h' line='108' column='1' id='type-id-5975'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='alg_name' type-id='type-id-250' visibility='default' filepath='include/uapi/linux/xfrm.h' line='109' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='alg_key_len' type-id='type-id-5' visibility='default' filepath='include/uapi/linux/xfrm.h' line='110' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='alg_trunc_len' type-id='type-id-5' visibility='default' filepath='include/uapi/linux/xfrm.h' line='111' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='alg_key' type-id='type-id-440' visibility='default' filepath='include/uapi/linux/xfrm.h' line='112' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='xfrm_algo' size-in-bits='544' is-struct='yes' visibility='default' filepath='include/uapi/linux/xfrm.h' line='102' column='1' id='type-id-5976'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='alg_name' type-id='type-id-250' visibility='default' filepath='include/uapi/linux/xfrm.h' line='103' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='alg_key_len' type-id='type-id-5' visibility='default' filepath='include/uapi/linux/xfrm.h' line='104' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='alg_key' type-id='type-id-440' visibility='default' filepath='include/uapi/linux/xfrm.h' line='105' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='xfrm_algo_aead' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/uapi/linux/xfrm.h' line='115' column='1' id='type-id-5977'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='alg_name' type-id='type-id-250' visibility='default' filepath='include/uapi/linux/xfrm.h' line='116' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='alg_key_len' type-id='type-id-5' visibility='default' filepath='include/uapi/linux/xfrm.h' line='117' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='alg_icv_len' type-id='type-id-5' visibility='default' filepath='include/uapi/linux/xfrm.h' line='118' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='alg_key' type-id='type-id-440' visibility='default' filepath='include/uapi/linux/xfrm.h' line='119' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='xfrm_encap_tmpl' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/uapi/linux/xfrm.h' line='249' column='1' id='type-id-5978'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='encap_type' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/xfrm.h' line='250' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='encap_sport' type-id='type-id-926' visibility='default' filepath='include/uapi/linux/xfrm.h' line='251' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='encap_dport' type-id='type-id-926' visibility='default' filepath='include/uapi/linux/xfrm.h' line='252' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='encap_oa' type-id='type-id-5904' visibility='default' filepath='include/uapi/linux/xfrm.h' line='253' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='xfrm_replay_state' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/uapi/linux/xfrm.h' line='84' column='1' id='type-id-5967'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='oseq' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/xfrm.h' line='85' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='seq' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/xfrm.h' line='86' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='bitmap' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/xfrm.h' line='87' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='xfrm_replay_state_esn' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/uapi/linux/xfrm.h' line='92' column='1' id='type-id-5979'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bmp_len' type-id='type-id-5' visibility='default' filepath='include/uapi/linux/xfrm.h' line='93' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='oseq' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/xfrm.h' line='94' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='seq' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/xfrm.h' line='95' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='oseq_hi' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/xfrm.h' line='96' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='seq_hi' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/xfrm.h' line='97' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='replay_window' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/xfrm.h' line='98' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='bmp' type-id='type-id-936' visibility='default' filepath='include/uapi/linux/xfrm.h' line='99' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='xfrm_replay' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/net/xfrm.h' line='285' column='1' id='type-id-5980'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='advance' type-id='type-id-5981' visibility='default' filepath='include/net/xfrm.h' line='286' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='check' type-id='type-id-5982' visibility='default' filepath='include/net/xfrm.h' line='287' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='recheck' type-id='type-id-5982' visibility='default' filepath='include/net/xfrm.h' line='290' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='notify' type-id='type-id-5983' visibility='default' filepath='include/net/xfrm.h' line='293' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='overflow' type-id='type-id-5984' visibility='default' filepath='include/net/xfrm.h' line='294' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='xfrm_stats' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/uapi/linux/xfrm.h' line='122' column='1' id='type-id-5970'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='replay_window' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/xfrm.h' line='123' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='replay' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/xfrm.h' line='124' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='integrity_failed' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/xfrm.h' line='125' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='tasklet_hrtimer' size-in-bits='896' is-struct='yes' visibility='default' filepath='include/linux/interrupt.h' line='626' column='1' id='type-id-5971'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='timer' type-id='type-id-681' visibility='default' filepath='include/linux/interrupt.h' line='627' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='tasklet' type-id='type-id-3298' visibility='default' filepath='include/linux/interrupt.h' line='628' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='function' type-id='type-id-1553' visibility='default' filepath='include/linux/interrupt.h' line='629' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='xfrm_state_offload' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/net/xfrm.h' line='128' column='1' id='type-id-5972'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dev' type-id='type-id-1650' visibility='default' filepath='include/net/xfrm.h' line='129' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='offload_handle' type-id='type-id-16' visibility='default' filepath='include/net/xfrm.h' line='130' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='num_exthdrs' type-id='type-id-5' visibility='default' filepath='include/net/xfrm.h' line='131' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='flags' type-id='type-id-214' visibility='default' filepath='include/net/xfrm.h' line='132' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='xfrm_type' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/net/xfrm.h' line='390' column='1' id='type-id-5985'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='description' type-id='type-id-2' visibility='default' filepath='include/net/xfrm.h' line='391' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='owner' type-id='type-id-260' visibility='default' filepath='include/net/xfrm.h' line='392' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='proto' type-id='type-id-214' visibility='default' filepath='include/net/xfrm.h' line='393' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='136'>
-          <var-decl name='flags' type-id='type-id-214' visibility='default' filepath='include/net/xfrm.h' line='394' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='init_state' type-id='type-id-5986' visibility='default' filepath='include/net/xfrm.h' line='400' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='destructor' type-id='type-id-5987' visibility='default' filepath='include/net/xfrm.h' line='401' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='input' type-id='type-id-5984' visibility='default' filepath='include/net/xfrm.h' line='402' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='output' type-id='type-id-5984' visibility='default' filepath='include/net/xfrm.h' line='403' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='reject' type-id='type-id-5988' visibility='default' filepath='include/net/xfrm.h' line='404' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='hdr_offset' type-id='type-id-5989' visibility='default' filepath='include/net/xfrm.h' line='406' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='get_mtu' type-id='type-id-5990' visibility='default' filepath='include/net/xfrm.h' line='408' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='xfrm_mode' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/net/xfrm.h' line='426' column='1' id='type-id-5991'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='input2' type-id='type-id-5984' visibility='default' filepath='include/net/xfrm.h' line='438' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='input' type-id='type-id-5984' visibility='default' filepath='include/net/xfrm.h' line='448' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='output2' type-id='type-id-5984' visibility='default' filepath='include/net/xfrm.h' line='461' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='output' type-id='type-id-5984' visibility='default' filepath='include/net/xfrm.h' line='472' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='gso_segment' type-id='type-id-5992' visibility='default' filepath='include/net/xfrm.h' line='477' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='xmit' type-id='type-id-5993' visibility='default' filepath='include/net/xfrm.h' line='482' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='afinfo' type-id='type-id-5994' visibility='default' filepath='include/net/xfrm.h' line='484' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='owner' type-id='type-id-260' visibility='default' filepath='include/net/xfrm.h' line='485' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='encap' type-id='type-id-5' visibility='default' filepath='include/net/xfrm.h' line='486' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='flags' type-id='type-id-17' visibility='default' filepath='include/net/xfrm.h' line='487' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='xfrm_state_afinfo' size-in-bits='33984' is-struct='yes' visibility='default' filepath='include/net/xfrm.h' line='344' column='1' id='type-id-5995'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='family' type-id='type-id-5' visibility='default' filepath='include/net/xfrm.h' line='345' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='proto' type-id='type-id-5' visibility='default' filepath='include/net/xfrm.h' line='346' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='eth_proto' type-id='type-id-926' visibility='default' filepath='include/net/xfrm.h' line='347' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='owner' type-id='type-id-260' visibility='default' filepath='include/net/xfrm.h' line='348' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='type_map' type-id='type-id-5873' visibility='default' filepath='include/net/xfrm.h' line='349' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16576'>
-          <var-decl name='type_offload_map' type-id='type-id-5876' visibility='default' filepath='include/net/xfrm.h' line='350' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32960'>
-          <var-decl name='mode_map' type-id='type-id-5887' visibility='default' filepath='include/net/xfrm.h' line='351' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='33280'>
-          <var-decl name='init_flags' type-id='type-id-5986' visibility='default' filepath='include/net/xfrm.h' line='353' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='33344'>
-          <var-decl name='init_tempsel' type-id='type-id-5996' visibility='default' filepath='include/net/xfrm.h' line='354' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='33408'>
-          <var-decl name='init_temprop' type-id='type-id-5997' visibility='default' filepath='include/net/xfrm.h' line='356' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='33472'>
-          <var-decl name='tmpl_sort' type-id='type-id-5998' visibility='default' filepath='include/net/xfrm.h' line='360' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='33536'>
-          <var-decl name='state_sort' type-id='type-id-5999' visibility='default' filepath='include/net/xfrm.h' line='361' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='33600'>
-          <var-decl name='output' type-id='type-id-2281' visibility='default' filepath='include/net/xfrm.h' line='362' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='33664'>
-          <var-decl name='output_finish' type-id='type-id-5672' visibility='default' filepath='include/net/xfrm.h' line='363' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='33728'>
-          <var-decl name='extract_input' type-id='type-id-5984' visibility='default' filepath='include/net/xfrm.h' line='364' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='33792'>
-          <var-decl name='extract_output' type-id='type-id-5984' visibility='default' filepath='include/net/xfrm.h' line='366' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='33856'>
-          <var-decl name='transport_finish' type-id='type-id-6000' visibility='default' filepath='include/net/xfrm.h' line='368' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='33920'>
-          <var-decl name='local_error' type-id='type-id-6001' visibility='default' filepath='include/net/xfrm.h' line='370' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='xfrm_type_offload' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/net/xfrm.h' line='414' column='1' id='type-id-6002'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='description' type-id='type-id-2' visibility='default' filepath='include/net/xfrm.h' line='415' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='owner' type-id='type-id-260' visibility='default' filepath='include/net/xfrm.h' line='416' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='proto' type-id='type-id-214' visibility='default' filepath='include/net/xfrm.h' line='417' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='encap' type-id='type-id-5993' visibility='default' filepath='include/net/xfrm.h' line='418' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='input_tail' type-id='type-id-5984' visibility='default' filepath='include/net/xfrm.h' line='419' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='xmit' type-id='type-id-6003' visibility='default' filepath='include/net/xfrm.h' line='420' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='timeval' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/time.h' line='16' column='1' id='type-id-6004'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='tv_sec' type-id='type-id-1573' visibility='default' filepath='include/uapi/linux/time.h' line='17' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='tv_usec' type-id='type-id-6005' visibility='default' filepath='include/uapi/linux/time.h' line='18' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='__kernel_suseconds_t' type-id='type-id-105' filepath='include/uapi/asm-generic/posix_types.h' line='41' column='1' id='type-id-6005'/>
-      <qualified-type-def type-id='type-id-5935' const='yes' id='type-id-6006'/>
-      <pointer-type-def type-id='type-id-6006' size-in-bits='64' id='type-id-6007'/>
-      <qualified-type-def type-id='type-id-5745' const='yes' id='type-id-6008'/>
-      <pointer-type-def type-id='type-id-6008' size-in-bits='64' id='type-id-6009'/>
-      <qualified-type-def type-id='type-id-5909' const='yes' id='type-id-6010'/>
-      <pointer-type-def type-id='type-id-6010' size-in-bits='64' id='type-id-6011'/>
-      <qualified-type-def type-id='type-id-5932' const='yes' id='type-id-6012'/>
-      <pointer-type-def type-id='type-id-6012' size-in-bits='64' id='type-id-5915'/>
-      <qualified-type-def type-id='type-id-5910' const='yes' id='type-id-6013'/>
-      <pointer-type-def type-id='type-id-6013' size-in-bits='64' id='type-id-6014'/>
-      <qualified-type-def type-id='type-id-5870' const='yes' id='type-id-6015'/>
-      <pointer-type-def type-id='type-id-6015' size-in-bits='64' id='type-id-6016'/>
-      <qualified-type-def type-id='type-id-5936' const='yes' id='type-id-6017'/>
-      <pointer-type-def type-id='type-id-6017' size-in-bits='64' id='type-id-6018'/>
-      <qualified-type-def type-id='type-id-5904' const='yes' id='type-id-6019'/>
-      <pointer-type-def type-id='type-id-6019' size-in-bits='64' id='type-id-6020'/>
-      <qualified-type-def type-id='type-id-5980' const='yes' id='type-id-6021'/>
-      <pointer-type-def type-id='type-id-6021' size-in-bits='64' id='type-id-5969'/>
-      <qualified-type-def type-id='type-id-5888' const='yes' id='type-id-6022'/>
-      <pointer-type-def type-id='type-id-6022' size-in-bits='64' id='type-id-6023'/>
-      <qualified-type-def type-id='type-id-5985' const='yes' id='type-id-6024'/>
-      <pointer-type-def type-id='type-id-6024' size-in-bits='64' id='type-id-5872'/>
-      <qualified-type-def type-id='type-id-6002' const='yes' id='type-id-6025'/>
-      <pointer-type-def type-id='type-id-6025' size-in-bits='64' id='type-id-5875'/>
-      <pointer-type-def type-id='type-id-5869' size-in-bits='64' id='type-id-6026'/>
-      <pointer-type-def type-id='type-id-5939' size-in-bits='64' id='type-id-6027'/>
-      <pointer-type-def type-id='type-id-5937' size-in-bits='64' id='type-id-5938'/>
-      <pointer-type-def type-id='type-id-5954' size-in-bits='64' id='type-id-5952'/>
-      <pointer-type-def type-id='type-id-5955' size-in-bits='64' id='type-id-5953'/>
-      <pointer-type-def type-id='type-id-5951' size-in-bits='64' id='type-id-5946'/>
-      <pointer-type-def type-id='type-id-5948' size-in-bits='64' id='type-id-5945'/>
-      <pointer-type-def type-id='type-id-2251' size-in-bits='64' id='type-id-6028'/>
-      <pointer-type-def type-id='type-id-5944' size-in-bits='64' id='type-id-5942'/>
-      <pointer-type-def type-id='type-id-5894' size-in-bits='64' id='type-id-6029'/>
-      <pointer-type-def type-id='type-id-5893' size-in-bits='64' id='type-id-6030'/>
-      <pointer-type-def type-id='type-id-5877' size-in-bits='64' id='type-id-6031'/>
-      <pointer-type-def type-id='type-id-6032' size-in-bits='64' id='type-id-6033'/>
-      <pointer-type-def type-id='type-id-6034' size-in-bits='64' id='type-id-6035'/>
-      <pointer-type-def type-id='type-id-6036' size-in-bits='64' id='type-id-5919'/>
-      <pointer-type-def type-id='type-id-6037' size-in-bits='64' id='type-id-5914'/>
-      <pointer-type-def type-id='type-id-6038' size-in-bits='64' id='type-id-5920'/>
-      <pointer-type-def type-id='type-id-6039' size-in-bits='64' id='type-id-6000'/>
-      <pointer-type-def type-id='type-id-6040' size-in-bits='64' id='type-id-6041'/>
-      <pointer-type-def type-id='type-id-6042' size-in-bits='64' id='type-id-5986'/>
-      <pointer-type-def type-id='type-id-6043' size-in-bits='64' id='type-id-5999'/>
-      <pointer-type-def type-id='type-id-6044' size-in-bits='64' id='type-id-5984'/>
-      <pointer-type-def type-id='type-id-6045' size-in-bits='64' id='type-id-5988'/>
-      <pointer-type-def type-id='type-id-6046' size-in-bits='64' id='type-id-5982'/>
-      <pointer-type-def type-id='type-id-6047' size-in-bits='64' id='type-id-6003'/>
-      <pointer-type-def type-id='type-id-6048' size-in-bits='64' id='type-id-5989'/>
-      <pointer-type-def type-id='type-id-6049' size-in-bits='64' id='type-id-5998'/>
-      <pointer-type-def type-id='type-id-5950' size-in-bits='64' id='type-id-5949'/>
-      <pointer-type-def type-id='type-id-5908' size-in-bits='64' id='type-id-5881'/>
-      <pointer-type-def type-id='type-id-5909' size-in-bits='64' id='type-id-6050'/>
-      <pointer-type-def type-id='type-id-5930' size-in-bits='64' id='type-id-5924'/>
-      <pointer-type-def type-id='type-id-5922' size-in-bits='64' id='type-id-5913'/>
-      <pointer-type-def type-id='type-id-5929' size-in-bits='64' id='type-id-5923'/>
-      <pointer-type-def type-id='type-id-5916' size-in-bits='64' id='type-id-5912'/>
-      <pointer-type-def type-id='type-id-5910' size-in-bits='64' id='type-id-5911'/>
-      <pointer-type-def type-id='type-id-5911' size-in-bits='64' id='type-id-5931'/>
-      <pointer-type-def type-id='type-id-1536' size-in-bits='64' id='type-id-6051'/>
-      <pointer-type-def type-id='type-id-5926' size-in-bits='64' id='type-id-5927'/>
-      <pointer-type-def type-id='type-id-5927' size-in-bits='64' id='type-id-5925'/>
-      <pointer-type-def type-id='type-id-5956' size-in-bits='64' id='type-id-6052'/>
-      <pointer-type-def type-id='type-id-5941' size-in-bits='64' id='type-id-6053'/>
-      <pointer-type-def type-id='type-id-6053' size-in-bits='64' id='type-id-6054'/>
-      <pointer-type-def type-id='type-id-6055' size-in-bits='64' id='type-id-5992'/>
-      <pointer-type-def type-id='type-id-5885' size-in-bits='64' id='type-id-6056'/>
-      <pointer-type-def type-id='type-id-6004' size-in-bits='64' id='type-id-6057'/>
-      <pointer-type-def type-id='type-id-6058' size-in-bits='64' id='type-id-5917'/>
-      <pointer-type-def type-id='type-id-6059' size-in-bits='64' id='type-id-5918'/>
-      <pointer-type-def type-id='type-id-6060' size-in-bits='64' id='type-id-6061'/>
-      <pointer-type-def type-id='type-id-6062' size-in-bits='64' id='type-id-6063'/>
-      <pointer-type-def type-id='type-id-6064' size-in-bits='64' id='type-id-5990'/>
-      <pointer-type-def type-id='type-id-3121' size-in-bits='64' id='type-id-6065'/>
-      <pointer-type-def type-id='type-id-5871' size-in-bits='64' id='type-id-5943'/>
-      <pointer-type-def type-id='type-id-6066' size-in-bits='64' id='type-id-6067'/>
-      <pointer-type-def type-id='type-id-6068' size-in-bits='64' id='type-id-6069'/>
-      <pointer-type-def type-id='type-id-6070' size-in-bits='64' id='type-id-5928'/>
-      <pointer-type-def type-id='type-id-6071' size-in-bits='64' id='type-id-5933'/>
-      <pointer-type-def type-id='type-id-6072' size-in-bits='64' id='type-id-6073'/>
-      <pointer-type-def type-id='type-id-6074' size-in-bits='64' id='type-id-5921'/>
-      <pointer-type-def type-id='type-id-6075' size-in-bits='64' id='type-id-6001'/>
-      <pointer-type-def type-id='type-id-6076' size-in-bits='64' id='type-id-6077'/>
-      <pointer-type-def type-id='type-id-6078' size-in-bits='64' id='type-id-6079'/>
-      <pointer-type-def type-id='type-id-6080' size-in-bits='64' id='type-id-6081'/>
-      <pointer-type-def type-id='type-id-6082' size-in-bits='64' id='type-id-6083'/>
-      <pointer-type-def type-id='type-id-6084' size-in-bits='64' id='type-id-6085'/>
-      <pointer-type-def type-id='type-id-6086' size-in-bits='64' id='type-id-6087'/>
-      <pointer-type-def type-id='type-id-6088' size-in-bits='64' id='type-id-5996'/>
-      <pointer-type-def type-id='type-id-6089' size-in-bits='64' id='type-id-5987'/>
-      <pointer-type-def type-id='type-id-6090' size-in-bits='64' id='type-id-5997'/>
-      <pointer-type-def type-id='type-id-6091' size-in-bits='64' id='type-id-5983'/>
-      <pointer-type-def type-id='type-id-6092' size-in-bits='64' id='type-id-5993'/>
-      <pointer-type-def type-id='type-id-6093' size-in-bits='64' id='type-id-5981'/>
-      <pointer-type-def type-id='type-id-5974' size-in-bits='64' id='type-id-5973'/>
-      <pointer-type-def type-id='type-id-5904' size-in-bits='64' id='type-id-5966'/>
-      <pointer-type-def type-id='type-id-5976' size-in-bits='64' id='type-id-5963'/>
-      <pointer-type-def type-id='type-id-5977' size-in-bits='64' id='type-id-5964'/>
-      <pointer-type-def type-id='type-id-5975' size-in-bits='64' id='type-id-5962'/>
-      <pointer-type-def type-id='type-id-5978' size-in-bits='64' id='type-id-5965'/>
-      <pointer-type-def type-id='type-id-5991' size-in-bits='64' id='type-id-5886'/>
-      <pointer-type-def type-id='type-id-5896' size-in-bits='64' id='type-id-6094'/>
-      <pointer-type-def type-id='type-id-5979' size-in-bits='64' id='type-id-5968'/>
-      <pointer-type-def type-id='type-id-5906' size-in-bits='64' id='type-id-5903'/>
-      <pointer-type-def type-id='type-id-5898' size-in-bits='64' id='type-id-6095'/>
-      <pointer-type-def type-id='type-id-5958' size-in-bits='64' id='type-id-5233'/>
-      <pointer-type-def type-id='type-id-5233' size-in-bits='64' id='type-id-6096'/>
-      <pointer-type-def type-id='type-id-5995' size-in-bits='64' id='type-id-5994'/>
-      <pointer-type-def type-id='type-id-5888' size-in-bits='64' id='type-id-6097'/>
-      <pointer-type-def type-id='type-id-6097' size-in-bits='64' id='type-id-6098'/>
-      <function-decl name='sock_queue_rcv_skb' mangled-name='sock_queue_rcv_skb' filepath='net/core/sock.c' line='437' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_queue_rcv_skb'>
-        <parameter type-id='type-id-3666' name='sk' filepath='net/core/sock.c' line='437' column='1'/>
-        <parameter type-id='type-id-1768' name='skb' filepath='net/core/sock.c' line='437' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='release_sock' mangled-name='release_sock' filepath='net/core/sock.c' line='2851' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='release_sock'>
-        <parameter type-id='type-id-3666' name='sk' filepath='net/core/sock.c' line='2851' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='sk_alloc' mangled-name='sk_alloc' filepath='net/core/sock.c' line='1515' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sk_alloc'>
-        <parameter type-id='type-id-1645' name='net' filepath='net/core/sock.c' line='1515' column='1'/>
-        <parameter type-id='type-id-17' name='family' filepath='net/core/sock.c' line='1515' column='1'/>
-        <parameter type-id='type-id-485' name='priority' filepath='net/core/sock.c' line='1515' column='1'/>
-        <parameter type-id='type-id-5668' name='prot' filepath='net/core/sock.c' line='1516' column='1'/>
-        <parameter type-id='type-id-17' name='kern' filepath='net/core/sock.c' line='1516' column='1'/>
-        <return type-id='type-id-3666'/>
-      </function-decl>
-      <function-decl name='sk_free' mangled-name='sk_free' filepath='net/core/sock.c' line='1612' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sk_free'>
-        <parameter type-id='type-id-3666' name='sk' filepath='net/core/sock.c' line='1612' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='sock_efree' mangled-name='sock_efree' filepath='net/core/sock.c' line='1902' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_efree'>
-        <parameter type-id='type-id-1768' name='skb' filepath='net/core/sock.c' line='1902' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='sock_i_ino' mangled-name='sock_i_ino' filepath='net/core/sock.c' line='1919' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_i_ino'>
-        <parameter type-id='type-id-3666' name='sk' filepath='net/core/sock.c' line='1919' column='1'/>
-        <return type-id='type-id-16'/>
-      </function-decl>
-      <function-decl name='sock_alloc_send_skb' mangled-name='sock_alloc_send_skb' filepath='net/core/sock.c' line='2099' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_alloc_send_skb'>
-        <parameter type-id='type-id-3666' name='sk' filepath='net/core/sock.c' line='2099' column='1'/>
-        <parameter type-id='type-id-16' name='size' filepath='net/core/sock.c' line='2099' column='1'/>
-        <parameter type-id='type-id-17' name='noblock' filepath='net/core/sock.c' line='2100' column='1'/>
-        <parameter type-id='type-id-666' name='errcode' filepath='net/core/sock.c' line='2100' column='1'/>
-        <return type-id='type-id-1768'/>
-      </function-decl>
-      <function-decl name='skb_page_frag_refill' mangled-name='skb_page_frag_refill' filepath='net/core/sock.c' line='2200' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_page_frag_refill'>
-        <parameter type-id='type-id-5' name='sz' filepath='net/core/sock.c' line='2200' column='1'/>
-        <parameter type-id='type-id-6051' name='pfrag' filepath='net/core/sock.c' line='2200' column='1'/>
-        <parameter type-id='type-id-485' name='gfp' filepath='net/core/sock.c' line='2200' column='1'/>
-        <return type-id='type-id-33'/>
-      </function-decl>
-      <function-decl name='sock_no_bind' mangled-name='sock_no_bind' filepath='net/core/sock.c' line='2543' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_no_bind'>
-        <parameter type-id='type-id-5669' name='sock' filepath='net/core/sock.c' line='2543' column='1'/>
-        <parameter type-id='type-id-5851' name='saddr' filepath='net/core/sock.c' line='2543' column='1'/>
-        <parameter type-id='type-id-17' name='len' filepath='net/core/sock.c' line='2543' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='sock_no_connect' mangled-name='sock_no_connect' filepath='net/core/sock.c' line='2549' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_no_connect'>
-        <parameter type-id='type-id-5669' name='sock' filepath='net/core/sock.c' line='2549' column='1'/>
-        <parameter type-id='type-id-5851' name='saddr' filepath='net/core/sock.c' line='2549' column='1'/>
-        <parameter type-id='type-id-17' name='len' filepath='net/core/sock.c' line='2550' column='1'/>
-        <parameter type-id='type-id-17' name='flags' filepath='net/core/sock.c' line='2550' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='sock_no_socketpair' mangled-name='sock_no_socketpair' filepath='net/core/sock.c' line='2556' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_no_socketpair'>
-        <parameter type-id='type-id-5669' name='sock1' filepath='net/core/sock.c' line='2556' column='1'/>
-        <parameter type-id='type-id-5669' name='sock2' filepath='net/core/sock.c' line='2556' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='sock_no_accept' mangled-name='sock_no_accept' filepath='net/core/sock.c' line='2562' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_no_accept'>
-        <parameter type-id='type-id-5669' name='sock' filepath='net/core/sock.c' line='2562' column='1'/>
-        <parameter type-id='type-id-5669' name='newsock' filepath='net/core/sock.c' line='2562' column='1'/>
-        <parameter type-id='type-id-17' name='flags' filepath='net/core/sock.c' line='2562' column='1'/>
-        <parameter type-id='type-id-33' name='kern' filepath='net/core/sock.c' line='2563' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='sock_no_getname' mangled-name='sock_no_getname' filepath='net/core/sock.c' line='2569' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_no_getname'>
-        <parameter type-id='type-id-5669' name='sock' filepath='net/core/sock.c' line='2569' column='1'/>
-        <parameter type-id='type-id-5851' name='saddr' filepath='net/core/sock.c' line='2569' column='1'/>
-        <parameter type-id='type-id-17' name='peer' filepath='net/core/sock.c' line='2570' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='sock_no_ioctl' mangled-name='sock_no_ioctl' filepath='net/core/sock.c' line='2576' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_no_ioctl'>
-        <parameter type-id='type-id-5669' name='sock' filepath='net/core/sock.c' line='2576' column='1'/>
-        <parameter type-id='type-id-5' name='cmd' filepath='net/core/sock.c' line='2576' column='1'/>
-        <parameter type-id='type-id-16' name='arg' filepath='net/core/sock.c' line='2576' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='sock_no_listen' mangled-name='sock_no_listen' filepath='net/core/sock.c' line='2582' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_no_listen'>
-        <parameter type-id='type-id-5669' name='sock' filepath='net/core/sock.c' line='2582' column='1'/>
-        <parameter type-id='type-id-17' name='backlog' filepath='net/core/sock.c' line='2582' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='sock_no_shutdown' mangled-name='sock_no_shutdown' filepath='net/core/sock.c' line='2588' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_no_shutdown'>
-        <parameter type-id='type-id-5669' name='sock' filepath='net/core/sock.c' line='2588' column='1'/>
-        <parameter type-id='type-id-17' name='how' filepath='net/core/sock.c' line='2588' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='sock_no_setsockopt' mangled-name='sock_no_setsockopt' filepath='net/core/sock.c' line='2594' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_no_setsockopt'>
-        <parameter type-id='type-id-5669' name='sock' filepath='net/core/sock.c' line='2594' column='1'/>
-        <parameter type-id='type-id-17' name='level' filepath='net/core/sock.c' line='2594' column='1'/>
-        <parameter type-id='type-id-17' name='optname' filepath='net/core/sock.c' line='2594' column='1'/>
-        <parameter type-id='type-id-2' name='optval' filepath='net/core/sock.c' line='2595' column='1'/>
-        <parameter type-id='type-id-5' name='optlen' filepath='net/core/sock.c' line='2595' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='sock_no_getsockopt' mangled-name='sock_no_getsockopt' filepath='net/core/sock.c' line='2601' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_no_getsockopt'>
-        <parameter type-id='type-id-5669' name='sock' filepath='net/core/sock.c' line='2601' column='1'/>
-        <parameter type-id='type-id-17' name='level' filepath='net/core/sock.c' line='2601' column='1'/>
-        <parameter type-id='type-id-17' name='optname' filepath='net/core/sock.c' line='2601' column='1'/>
-        <parameter type-id='type-id-2' name='optval' filepath='net/core/sock.c' line='2602' column='1'/>
-        <parameter type-id='type-id-666' name='optlen' filepath='net/core/sock.c' line='2602' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='sock_no_mmap' mangled-name='sock_no_mmap' filepath='net/core/sock.c' line='2627' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_no_mmap'>
-        <parameter type-id='type-id-83' name='file' filepath='net/core/sock.c' line='2627' column='1'/>
-        <parameter type-id='type-id-5669' name='sock' filepath='net/core/sock.c' line='2627' column='1'/>
-        <parameter type-id='type-id-1209' name='vma' filepath='net/core/sock.c' line='2627' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='sock_no_sendpage' mangled-name='sock_no_sendpage' filepath='net/core/sock.c' line='2634' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_no_sendpage'>
-        <parameter type-id='type-id-5669' name='sock' filepath='net/core/sock.c' line='2634' column='1'/>
-        <parameter type-id='type-id-512' name='page' filepath='net/core/sock.c' line='2634' column='1'/>
-        <parameter type-id='type-id-17' name='offset' filepath='net/core/sock.c' line='2634' column='1'/>
-        <parameter type-id='type-id-84' name='size' filepath='net/core/sock.c' line='2634' column='1'/>
-        <parameter type-id='type-id-17' name='flags' filepath='net/core/sock.c' line='2634' column='1'/>
-        <return type-id='type-id-86'/>
-      </function-decl>
-      <function-decl name='sock_init_data' mangled-name='sock_init_data' filepath='net/core/sock.c' line='2754' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_init_data'>
-        <parameter type-id='type-id-5669' name='sock' filepath='net/core/sock.c' line='2754' column='1'/>
-        <parameter type-id='type-id-3666' name='sk' filepath='net/core/sock.c' line='2754' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='lock_sock_nested' mangled-name='lock_sock_nested' filepath='net/core/sock.c' line='2835' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lock_sock_nested'>
-        <parameter type-id='type-id-3666' name='sk' filepath='net/core/sock.c' line='2835' column='1'/>
-        <parameter type-id='type-id-17' name='subclass' filepath='net/core/sock.c' line='2835' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='sock_get_timestamp' mangled-name='sock_get_timestamp' filepath='net/core/sock.c' line='2906' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_get_timestamp'>
-        <parameter type-id='type-id-3666' name='sk' filepath='net/core/sock.c' line='2906' column='1'/>
-        <parameter type-id='type-id-6057' name='userstamp' filepath='net/core/sock.c' line='2906' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='proto_register' mangled-name='proto_register' filepath='net/core/sock.c' line='3263' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='proto_register'>
-        <parameter type-id='type-id-5668' name='prot' filepath='net/core/sock.c' line='3263' column='1'/>
-        <parameter type-id='type-id-17' name='alloc_slab' filepath='net/core/sock.c' line='3263' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='proto_unregister' mangled-name='proto_unregister' filepath='net/core/sock.c' line='3318' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='proto_unregister'>
-        <parameter type-id='type-id-5668' name='prot' filepath='net/core/sock.c' line='3318' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-6032'>
-        <parameter type-id='type-id-2697'/>
-        <parameter type-id='type-id-5881'/>
-        <parameter type-id='type-id-6050'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6034'>
-        <parameter type-id='type-id-2697'/>
-        <parameter type-id='type-id-214'/>
-        <parameter type-id='type-id-5911'/>
-        <parameter type-id='type-id-3121'/>
-        <parameter type-id='type-id-6065'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6036'>
-        <parameter type-id='type-id-5911'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6037'>
-        <parameter type-id='type-id-5911'/>
-        <parameter type-id='type-id-1768'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6038'>
-        <parameter type-id='type-id-5927'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6039'>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6040'>
-        <parameter type-id='type-id-214'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6042'>
-        <parameter type-id='type-id-5233'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6043'>
-        <parameter type-id='type-id-6096'/>
-        <parameter type-id='type-id-6096'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6044'>
-        <parameter type-id='type-id-5233'/>
-        <parameter type-id='type-id-1768'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6045'>
-        <parameter type-id='type-id-5233'/>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-6009'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6046'>
-        <parameter type-id='type-id-5233'/>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-929'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6047'>
-        <parameter type-id='type-id-5233'/>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-1668'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6048'>
-        <parameter type-id='type-id-5233'/>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-6065'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6049'>
-        <parameter type-id='type-id-6098'/>
-        <parameter type-id='type-id-6098'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6055'>
-        <parameter type-id='type-id-5233'/>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-1668'/>
-        <return type-id='type-id-1768'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6058'>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-2697'/>
-        <parameter type-id='type-id-3629'/>
-        <return type-id='type-id-511'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6059'>
-        <parameter type-id='type-id-6014'/>
-        <parameter type-id='type-id-15'/>
-        <return type-id='type-id-33'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6060'>
-        <parameter type-id='type-id-3666'/>
-        <parameter type-id='type-id-7'/>
-        <parameter type-id='type-id-666'/>
-        <parameter type-id='type-id-6056'/>
-        <return type-id='type-id-84'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6062'>
-        <parameter type-id='type-id-3666'/>
-        <return type-id='type-id-7'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6064'>
-        <parameter type-id='type-id-5233'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-7'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6066'>
-        <parameter type-id='type-id-2697'/>
-        <parameter type-id='type-id-5911'/>
-        <parameter type-id='type-id-7'/>
-        <parameter type-id='type-id-214'/>
-        <parameter type-id='type-id-6011'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6068'>
-        <parameter type-id='type-id-2697'/>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-214'/>
-        <parameter type-id='type-id-658'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6070'>
-        <parameter type-id='type-id-5911'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6071'>
-        <parameter type-id='type-id-5911'/>
-        <parameter type-id='type-id-1768'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6072'>
-        <parameter type-id='type-id-1645'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-6016'/>
-        <parameter type-id='type-id-5942'/>
-        <parameter type-id='type-id-6028'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-7'/>
-        <parameter type-id='type-id-33'/>
-        <parameter type-id='type-id-33'/>
-        <parameter type-id='type-id-511'/>
-        <parameter type-id='type-id-7'/>
-        <parameter type-id='type-id-33'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6074'>
-        <parameter type-id='type-id-5927'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6075'>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-7'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6076'>
-        <parameter type-id='type-id-3666'/>
-        <parameter type-id='type-id-6007'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6078'>
-        <parameter type-id='type-id-3666'/>
-        <parameter type-id='type-id-6018'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6080'>
-        <parameter type-id='type-id-3666'/>
-        <parameter type-id='type-id-5934'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6082'>
-        <parameter type-id='type-id-3666'/>
-        <parameter type-id='type-id-7'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6084'>
-        <parameter type-id='type-id-3666'/>
-        <parameter type-id='type-id-7'/>
-        <parameter type-id='type-id-7'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6086'>
-        <parameter type-id='type-id-3666'/>
-        <parameter type-id='type-id-214'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6088'>
-        <parameter type-id='type-id-6095'/>
-        <parameter type-id='type-id-6009'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6089'>
-        <parameter type-id='type-id-5233'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6090'>
-        <parameter type-id='type-id-5233'/>
-        <parameter type-id='type-id-6023'/>
-        <parameter type-id='type-id-6020'/>
-        <parameter type-id='type-id-6020'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6091'>
-        <parameter type-id='type-id-5233'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6092'>
-        <parameter type-id='type-id-5233'/>
-        <parameter type-id='type-id-1768'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6093'>
-        <parameter type-id='type-id-5233'/>
-        <parameter type-id='type-id-929'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <union-decl name='__anonymous_union__8' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/net/xfrm.h' line='138' column='1' id='type-id-5959'>
-        <data-member access='private'>
-          <var-decl name='gclist' type-id='type-id-520' visibility='default' filepath='include/net/xfrm.h' line='139' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='bydst' type-id='type-id-520' visibility='default' filepath='include/net/xfrm.h' line='140' column='1'/>
-        </data-member>
-      </union-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='net/core/datagram.c' language='LANG_C89'>
-      <typedef-decl name='poll_table' type-id='type-id-1068' filepath='include/linux/poll.h' line='42' column='1' id='type-id-6099'/>
-      <pointer-type-def type-id='type-id-6099' size-in-bits='64' id='type-id-6100'/>
-      <function-decl name='skb_recv_datagram' mangled-name='skb_recv_datagram' filepath='net/core/datagram.c' line='317' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_recv_datagram'>
-        <parameter type-id='type-id-3666' name='sk' filepath='net/core/datagram.c' line='317' column='1'/>
-        <parameter type-id='type-id-5' name='flags' filepath='net/core/datagram.c' line='317' column='1'/>
-        <parameter type-id='type-id-17' name='noblock' filepath='net/core/datagram.c' line='318' column='1'/>
-        <parameter type-id='type-id-666' name='err' filepath='net/core/datagram.c' line='318' column='1'/>
-        <return type-id='type-id-1768'/>
-      </function-decl>
-      <function-decl name='skb_free_datagram' mangled-name='skb_free_datagram' filepath='net/core/datagram.c' line='327' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_free_datagram'>
-        <parameter type-id='type-id-3666' name='sk' filepath='net/core/datagram.c' line='327' column='1'/>
-        <parameter type-id='type-id-1768' name='skb' filepath='net/core/datagram.c' line='327' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='datagram_poll' mangled-name='datagram_poll' filepath='net/core/datagram.c' line='835' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='datagram_poll'>
-        <parameter type-id='type-id-83' name='file' filepath='net/core/datagram.c' line='835' column='1'/>
-        <parameter type-id='type-id-5669' name='sock' filepath='net/core/datagram.c' line='835' column='1'/>
-        <parameter type-id='type-id-6100' name='wait' filepath='net/core/datagram.c' line='836' column='1'/>
-        <return type-id='type-id-880'/>
+    <abi-instr version='1.0' address-size='64' path='net/core/neighbour.c' language='LANG_C89'>
+      <function-decl name='neigh_destroy' mangled-name='neigh_destroy' filepath='net/core/neighbour.c' line='735' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='neigh_destroy'>
+        <parameter type-id='type-id-3065' name='neigh' filepath='net/core/neighbour.c' line='735' column='1'/>
+        <return type-id='type-id-73'/>
       </function-decl>
     </abi-instr>
     <abi-instr version='1.0' address-size='64' path='net/core/net_namespace.c' language='LANG_C89'>
-      <class-decl name='pernet_operations' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/net/net_namespace.h' line='330' column='1' id='type-id-6101'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/net/net_namespace.h' line='331' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='init' type-id='type-id-6102' visibility='default' filepath='include/net/net_namespace.h' line='350' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='exit' type-id='type-id-6103' visibility='default' filepath='include/net/net_namespace.h' line='351' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='exit_batch' type-id='type-id-6104' visibility='default' filepath='include/net/net_namespace.h' line='352' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='id' type-id='type-id-482' visibility='default' filepath='include/net/net_namespace.h' line='353' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='size' type-id='type-id-84' visibility='default' filepath='include/net/net_namespace.h' line='354' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__4' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/net/netns/generic.h' line='29' column='1' id='type-id-6105'>
-        <data-member access='private'>
-          <var-decl name='s' type-id='type-id-6106' visibility='default' filepath='include/net/netns/generic.h' line='33' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='ptr' type-id='type-id-1213' visibility='default' filepath='include/net/netns/generic.h' line='35' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='__anonymous_struct__' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/net/netns/generic.h' line='30' column='1' id='type-id-6106'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='len' type-id='type-id-5' visibility='default' filepath='include/net/netns/generic.h' line='31' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/net/netns/generic.h' line='32' column='1'/>
-        </data-member>
-      </class-decl>
-      <pointer-type-def type-id='type-id-6107' size-in-bits='64' id='type-id-6102'/>
-      <pointer-type-def type-id='type-id-6101' size-in-bits='64' id='type-id-6108'/>
-      <pointer-type-def type-id='type-id-6109' size-in-bits='64' id='type-id-6104'/>
-      <pointer-type-def type-id='type-id-6110' size-in-bits='64' id='type-id-6103'/>
-      <function-decl name='register_pernet_subsys' mangled-name='register_pernet_subsys' filepath='net/core/net_namespace.c' line='1051' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='register_pernet_subsys'>
-        <parameter type-id='type-id-6108' name='ops' filepath='net/core/net_namespace.c' line='1051' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
       <function-decl name='unregister_pernet_subsys' mangled-name='unregister_pernet_subsys' filepath='net/core/net_namespace.c' line='1070' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unregister_pernet_subsys'>
-        <parameter type-id='type-id-6108' name='ops' filepath='net/core/net_namespace.c' line='1070' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-6107'>
-        <parameter type-id='type-id-1645'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6109'>
-        <parameter type-id='type-id-877'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6110'>
-        <parameter type-id='type-id-1645'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='net/core/flow_dissector.c' language='LANG_C89'>
-      <array-type-def dimensions='1' type-id='type-id-312' size-in-bits='384' id='type-id-6111'>
-        <subrange length='24' type-id='type-id-9' id='type-id-3436'/>
-
-      </array-type-def>
-      <class-decl name='flow_dissector' size-in-bits='416' is-struct='yes' visibility='default' filepath='include/net/flow_dissector.h' line='243' column='1' id='type-id-6112'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='used_keys' type-id='type-id-5' visibility='default' filepath='include/net/flow_dissector.h' line='244' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='offset' type-id='type-id-6111' visibility='default' filepath='include/net/flow_dissector.h' line='245' column='1'/>
-        </data-member>
-      </class-decl>
-      <pointer-type-def type-id='type-id-6112' size-in-bits='64' id='type-id-6113'/>
-      <function-decl name='__skb_flow_dissect' mangled-name='__skb_flow_dissect' filepath='net/core/flow_dissector.c' line='607' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__skb_flow_dissect'>
-        <parameter type-id='type-id-2720' name='skb' filepath='net/core/flow_dissector.c' line='607' column='1'/>
-        <parameter type-id='type-id-6113' name='flow_dissector' filepath='net/core/flow_dissector.c' line='608' column='1'/>
-        <parameter type-id='type-id-15' name='target_container' filepath='net/core/flow_dissector.c' line='609' column='1'/>
-        <parameter type-id='type-id-15' name='data' filepath='net/core/flow_dissector.c' line='610' column='1'/>
-        <parameter type-id='type-id-926' name='proto' filepath='net/core/flow_dissector.c' line='610' column='1'/>
-        <parameter type-id='type-id-17' name='nhoff' filepath='net/core/flow_dissector.c' line='610' column='1'/>
-        <parameter type-id='type-id-17' name='hlen' filepath='net/core/flow_dissector.c' line='610' column='1'/>
-        <parameter type-id='type-id-5' name='flags' filepath='net/core/flow_dissector.c' line='611' column='1'/>
-        <return type-id='type-id-33'/>
+        <parameter type-id='type-id-7164' name='ops' filepath='net/core/net_namespace.c' line='1070' column='1'/>
+        <return type-id='type-id-73'/>
       </function-decl>
     </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='net/core/dev.c' language='LANG_C89'>
-      <array-type-def dimensions='1' type-id='type-id-6114' size-in-bits='infinite' id='type-id-6115'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <class-decl name='ip_mc_list' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-6116'/>
-      <class-decl name='libipw_device' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-6117'/>
-      <array-type-def dimensions='1' type-id='type-id-17' size-in-bits='1024' id='type-id-5177'>
-        <subrange length='32' type-id='type-id-9' id='type-id-941'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-6118' size-in-bits='256' id='type-id-6119'>
-        <subrange length='8' type-id='type-id-9' id='type-id-928'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-6120' size-in-bits='infinite' id='type-id-6121'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-6122' size-in-bits='64' id='type-id-6123'>
-        <subrange length='8' type-id='type-id-9' id='type-id-928'/>
-
-      </array-type-def>
-      <array-type-def dimensions='2' type-id='type-id-6122' size-in-bits='112' id='type-id-6124'>
-        <subrange length='8' type-id='type-id-9' id='type-id-928'/>
-
-        <subrange length='6' type-id='type-id-9' id='type-id-191'/>
-
-      </array-type-def>
-      <typedef-decl name='iw_handler' type-id='type-id-6125' filepath='include/net/iw_handler.h' line='315' column='1' id='type-id-6126'/>
-      <class-decl name='iw_request_info' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/net/iw_handler.h' line='304' column='1' id='type-id-6127'>
+    <abi-instr version='1.0' address-size='64' path='net/core/netevent.c' language='LANG_C89'>
+      <function-decl name='register_netevent_notifier' mangled-name='register_netevent_notifier' filepath='net/core/netevent.c' line='32' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='register_netevent_notifier'>
+        <parameter type-id='type-id-103' name='nb' filepath='net/core/netevent.c' line='32' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='unregister_netevent_notifier' mangled-name='unregister_netevent_notifier' filepath='net/core/netevent.c' line='48' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unregister_netevent_notifier'>
+        <parameter type-id='type-id-103' name='nb' filepath='net/core/netevent.c' line='48' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='net/core/rtnetlink.c' language='LANG_C89'>
+      <function-decl name='netlink_net_capable' mangled-name='netlink_net_capable' filepath='include/linux/netlink.h' line='230' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netlink_net_capable'>
+        <parameter type-id='type-id-3013'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-264'/>
+      </function-decl>
+      <function-decl name='rtnl_trylock' mangled-name='rtnl_trylock' filepath='net/core/rtnetlink.c' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rtnl_trylock'>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='net/core/skbuff.c' language='LANG_C89'>
+      <class-decl name='skb_checksum_ops' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/skbuff.h' line='3373' column='1' id='type-id-8264'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cmd' type-id='type-id-108' visibility='default' filepath='include/net/iw_handler.h' line='305' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='flags' type-id='type-id-108' visibility='default' filepath='include/net/iw_handler.h' line='306' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='iwreq_data' size-in-bits='128' visibility='default' filepath='include/uapi/linux/wireless.h' line='896' column='1' id='type-id-6128'>
-        <data-member access='private'>
-          <var-decl name='name' type-id='type-id-43' visibility='default' filepath='include/uapi/linux/wireless.h' line='898' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='essid' type-id='type-id-6129' visibility='default' filepath='include/uapi/linux/wireless.h' line='902' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='nwid' type-id='type-id-6130' visibility='default' filepath='include/uapi/linux/wireless.h' line='903' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='freq' type-id='type-id-6131' visibility='default' filepath='include/uapi/linux/wireless.h' line='904' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='sens' type-id='type-id-6130' visibility='default' filepath='include/uapi/linux/wireless.h' line='908' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='bitrate' type-id='type-id-6130' visibility='default' filepath='include/uapi/linux/wireless.h' line='909' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='txpower' type-id='type-id-6130' visibility='default' filepath='include/uapi/linux/wireless.h' line='910' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='rts' type-id='type-id-6130' visibility='default' filepath='include/uapi/linux/wireless.h' line='911' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='frag' type-id='type-id-6130' visibility='default' filepath='include/uapi/linux/wireless.h' line='912' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='mode' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/wireless.h' line='913' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='retry' type-id='type-id-6130' visibility='default' filepath='include/uapi/linux/wireless.h' line='914' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='encoding' type-id='type-id-6129' visibility='default' filepath='include/uapi/linux/wireless.h' line='916' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='power' type-id='type-id-6130' visibility='default' filepath='include/uapi/linux/wireless.h' line='917' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='qual' type-id='type-id-6118' visibility='default' filepath='include/uapi/linux/wireless.h' line='918' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='ap_addr' type-id='type-id-1776' visibility='default' filepath='include/uapi/linux/wireless.h' line='920' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='addr' type-id='type-id-1776' visibility='default' filepath='include/uapi/linux/wireless.h' line='921' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='param' type-id='type-id-6130' visibility='default' filepath='include/uapi/linux/wireless.h' line='923' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='data' type-id='type-id-6129' visibility='default' filepath='include/uapi/linux/wireless.h' line='924' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='iw_point' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/wireless.h' line='685' column='1' id='type-id-6129'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='pointer' type-id='type-id-15' visibility='default' filepath='include/uapi/linux/wireless.h' line='686' column='1'/>
+          <var-decl name='update' type-id='type-id-8265' visibility='default' filepath='include/linux/skbuff.h' line='3374' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='length' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/wireless.h' line='687' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='80'>
-          <var-decl name='flags' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/wireless.h' line='688' column='1'/>
+          <var-decl name='combine' type-id='type-id-8266' visibility='default' filepath='include/linux/skbuff.h' line='3375' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='iw_param' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/linux/wireless.h' line='674' column='1' id='type-id-6130'>
+      <qualified-type-def type-id='type-id-8264' const='yes' id='type-id-8267'/>
+      <pointer-type-def type-id='type-id-8267' size-in-bits='64' id='type-id-8268'/>
+      <pointer-type-def type-id='type-id-8269' size-in-bits='64' id='type-id-8266'/>
+      <pointer-type-def type-id='type-id-8270' size-in-bits='64' id='type-id-8265'/>
+      <function-decl name='skb_checksum' mangled-name='skb_checksum' filepath='include/linux/skbuff.h' line='3382' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_checksum'>
+        <parameter type-id='type-id-3013'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-10'/>
+      </function-decl>
+      <function-decl name='__alloc_skb' mangled-name='__alloc_skb' filepath='net/core/skbuff.c' line='177' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__alloc_skb'>
+        <parameter type-id='type-id-10' name='size' filepath='net/core/skbuff.c' line='177' column='1'/>
+        <parameter type-id='type-id-272' name='gfp_mask' filepath='net/core/skbuff.c' line='177' column='1'/>
+        <parameter type-id='type-id-11' name='flags' filepath='net/core/skbuff.c' line='178' column='1'/>
+        <parameter type-id='type-id-11' name='node' filepath='net/core/skbuff.c' line='178' column='1'/>
+        <return type-id='type-id-513'/>
+      </function-decl>
+      <function-decl name='__netdev_alloc_skb' mangled-name='__netdev_alloc_skb' filepath='net/core/skbuff.c' line='390' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__netdev_alloc_skb'>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/core/skbuff.c' line='390' column='1'/>
+        <parameter type-id='type-id-10' name='len' filepath='net/core/skbuff.c' line='390' column='1'/>
+        <parameter type-id='type-id-272' name='gfp_mask' filepath='net/core/skbuff.c' line='391' column='1'/>
+        <return type-id='type-id-513'/>
+      </function-decl>
+      <function-decl name='__napi_alloc_skb' mangled-name='__napi_alloc_skb' filepath='net/core/skbuff.c' line='459' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__napi_alloc_skb'>
+        <parameter type-id='type-id-3007' name='napi' filepath='net/core/skbuff.c' line='459' column='1'/>
+        <parameter type-id='type-id-10' name='len' filepath='net/core/skbuff.c' line='459' column='1'/>
+        <parameter type-id='type-id-272' name='gfp_mask' filepath='net/core/skbuff.c' line='460' column='1'/>
+        <return type-id='type-id-513'/>
+      </function-decl>
+      <function-decl name='skb_add_rx_frag' mangled-name='skb_add_rx_frag' filepath='net/core/skbuff.c' line='506' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_add_rx_frag'>
+        <parameter type-id='type-id-513' name='skb' filepath='net/core/skbuff.c' line='506' column='1'/>
+        <parameter type-id='type-id-11' name='i' filepath='net/core/skbuff.c' line='506' column='1'/>
+        <parameter type-id='type-id-120' name='page' filepath='net/core/skbuff.c' line='506' column='1'/>
+        <parameter type-id='type-id-11' name='off' filepath='net/core/skbuff.c' line='506' column='1'/>
+        <parameter type-id='type-id-11' name='size' filepath='net/core/skbuff.c' line='507' column='1'/>
+        <parameter type-id='type-id-10' name='truesize' filepath='net/core/skbuff.c' line='507' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='skb_coalesce_rx_frag' mangled-name='skb_coalesce_rx_frag' filepath='net/core/skbuff.c' line='516' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_coalesce_rx_frag'>
+        <parameter type-id='type-id-513' name='skb' filepath='net/core/skbuff.c' line='516' column='1'/>
+        <parameter type-id='type-id-11' name='i' filepath='net/core/skbuff.c' line='516' column='1'/>
+        <parameter type-id='type-id-11' name='size' filepath='net/core/skbuff.c' line='516' column='1'/>
+        <parameter type-id='type-id-10' name='truesize' filepath='net/core/skbuff.c' line='517' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='napi_consume_skb' mangled-name='napi_consume_skb' filepath='net/core/skbuff.c' line='762' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='napi_consume_skb'>
+        <parameter type-id='type-id-513' name='skb' filepath='net/core/skbuff.c' line='762' column='1'/>
+        <parameter type-id='type-id-11' name='budget' filepath='net/core/skbuff.c' line='762' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='___pskb_trim' mangled-name='___pskb_trim' filepath='net/core/skbuff.c' line='1761' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='___pskb_trim'>
+        <parameter type-id='type-id-513' name='skb' filepath='net/core/skbuff.c' line='1761' column='1'/>
+        <parameter type-id='type-id-10' name='len' filepath='net/core/skbuff.c' line='1761' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__pskb_pull_tail' mangled-name='__pskb_pull_tail' filepath='net/core/skbuff.c' line='1886' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__pskb_pull_tail'>
+        <parameter type-id='type-id-513' name='skb' filepath='net/core/skbuff.c' line='1886' column='1'/>
+        <parameter type-id='type-id-11' name='delta' filepath='net/core/skbuff.c' line='1886' column='1'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='skb_copy_expand' mangled-name='skb_copy_expand' filepath='net/core/skbuff.c' line='1574' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_copy_expand'>
+        <parameter type-id='type-id-3013' name='skb' filepath='net/core/skbuff.c' line='1574' column='1'/>
+        <parameter type-id='type-id-11' name='newheadroom' filepath='net/core/skbuff.c' line='1575' column='1'/>
+        <parameter type-id='type-id-11' name='newtailroom' filepath='net/core/skbuff.c' line='1575' column='1'/>
+        <parameter type-id='type-id-272' name='gfp_mask' filepath='net/core/skbuff.c' line='1576' column='1'/>
+        <return type-id='type-id-513'/>
+      </function-decl>
+      <function-decl name='pskb_trim_rcsum_slow' mangled-name='pskb_trim_rcsum_slow' filepath='net/core/skbuff.c' line='1848' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pskb_trim_rcsum_slow'>
+        <parameter type-id='type-id-513' name='skb' filepath='net/core/skbuff.c' line='1848' column='1'/>
+        <parameter type-id='type-id-10' name='len' filepath='net/core/skbuff.c' line='1848' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__skb_checksum' mangled-name='__skb_checksum' filepath='net/core/skbuff.c' line='2477' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__skb_checksum'>
+        <parameter type-id='type-id-3013' name='skb' filepath='net/core/skbuff.c' line='2477' column='1'/>
+        <parameter type-id='type-id-11' name='offset' filepath='net/core/skbuff.c' line='2477' column='1'/>
+        <parameter type-id='type-id-11' name='len' filepath='net/core/skbuff.c' line='2477' column='1'/>
+        <parameter type-id='type-id-7534' name='csum' filepath='net/core/skbuff.c' line='2478' column='1'/>
+        <parameter type-id='type-id-8268' name='ops' filepath='net/core/skbuff.c' line='2478' column='1'/>
+        <return type-id='type-id-7534'/>
+      </function-decl>
+      <function-decl name='skb_append_pagefrags' mangled-name='skb_append_pagefrags' filepath='net/core/skbuff.c' line='3448' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_append_pagefrags'>
+        <parameter type-id='type-id-513' name='skb' filepath='net/core/skbuff.c' line='3448' column='1'/>
+        <parameter type-id='type-id-120' name='page' filepath='net/core/skbuff.c' line='3448' column='1'/>
+        <parameter type-id='type-id-11' name='offset' filepath='net/core/skbuff.c' line='3449' column='1'/>
+        <parameter type-id='type-id-125' name='size' filepath='net/core/skbuff.c' line='3449' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='skb_segment' mangled-name='skb_segment' filepath='net/core/skbuff.c' line='3510' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_segment'>
+        <parameter type-id='type-id-513' name='head_skb' filepath='net/core/skbuff.c' line='3510' column='1'/>
+        <parameter type-id='type-id-6450' name='features' filepath='net/core/skbuff.c' line='3511' column='1'/>
+        <return type-id='type-id-513'/>
+      </function-decl>
+      <function-decl name='skb_to_sgvec' mangled-name='skb_to_sgvec' filepath='net/core/skbuff.c' line='4058' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_to_sgvec'>
+        <parameter type-id='type-id-513' name='skb' filepath='net/core/skbuff.c' line='4058' column='1'/>
+        <parameter type-id='type-id-33' name='sg' filepath='net/core/skbuff.c' line='4058' column='1'/>
+        <parameter type-id='type-id-11' name='offset' filepath='net/core/skbuff.c' line='4058' column='1'/>
+        <parameter type-id='type-id-11' name='len' filepath='net/core/skbuff.c' line='4058' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-8269'>
+        <parameter type-id='type-id-7534'/>
+        <parameter type-id='type-id-7534'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-7534'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8270'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-7534'/>
+        <return type-id='type-id-7534'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='net/core/sock.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-8271' size-in-bits='16384' id='type-id-8272'>
+        <subrange length='256' type-id='type-id-5' id='type-id-1768'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-8273' size-in-bits='16384' id='type-id-8274'>
+        <subrange length='256' type-id='type-id-5' id='type-id-1768'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='2048' id='type-id-8275'>
+        <subrange length='64' type-id='type-id-5' id='type-id-2338'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-8276' size-in-bits='320' id='type-id-8277'>
+        <subrange length='5' type-id='type-id-5' id='type-id-3376'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-8278' size-in-bits='160' id='type-id-8279'>
+        <subrange length='1' type-id='type-id-5' id='type-id-192'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-8280' size-in-bits='384' id='type-id-8281'>
+        <subrange length='6' type-id='type-id-5' id='type-id-1951'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-8282' size-in-bits='3072' id='type-id-8283'>
+        <subrange length='6' type-id='type-id-5' id='type-id-1951'/>
+
+      </array-type-def>
+      <class-decl name='fib6_node' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/net/ip6_fib.h' line='71' column='1' id='type-id-8284'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='value' type-id='type-id-653' visibility='default' filepath='include/uapi/linux/wireless.h' line='675' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='fixed' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/wireless.h' line='676' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='40'>
-          <var-decl name='disabled' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/wireless.h' line='677' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='flags' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/wireless.h' line='678' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='iw_freq' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/linux/wireless.h' line='700' column='1' id='type-id-6131'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='m' type-id='type-id-653' visibility='default' filepath='include/uapi/linux/wireless.h' line='701' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='e' type-id='type-id-2203' visibility='default' filepath='include/uapi/linux/wireless.h' line='702' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='i' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/wireless.h' line='703' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='56'>
-          <var-decl name='flags' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/wireless.h' line='704' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='iw_quality' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/uapi/linux/wireless.h' line='710' column='1' id='type-id-6118'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='qual' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/wireless.h' line='711' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='level' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/wireless.h' line='713' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='noise' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/wireless.h' line='714' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='24'>
-          <var-decl name='updated' type-id='type-id-895' visibility='default' filepath='include/uapi/linux/wireless.h' line='715' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='iw_priv_args' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/uapi/linux/wireless.h' line='1057' column='1' id='type-id-6132'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cmd' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/wireless.h' line='1058' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='set_args' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/wireless.h' line='1059' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='get_args' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/wireless.h' line='1060' column='1'/>
+          <var-decl name='parent' type-id='type-id-8285' visibility='default' filepath='include/net/ip6_fib.h' line='72' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='name' type-id='type-id-43' visibility='default' filepath='include/uapi/linux/wireless.h' line='1061' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='iw_statistics' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/uapi/linux/wireless.h' line='875' column='1' id='type-id-6133'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='status' type-id='type-id-108' visibility='default' filepath='include/uapi/linux/wireless.h' line='876' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='qual' type-id='type-id-6118' visibility='default' filepath='include/uapi/linux/wireless.h' line='879' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='discard' type-id='type-id-6134' visibility='default' filepath='include/uapi/linux/wireless.h' line='881' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='miss' type-id='type-id-6135' visibility='default' filepath='include/uapi/linux/wireless.h' line='882' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='iw_discarded' size-in-bits='160' is-struct='yes' visibility='default' filepath='include/uapi/linux/wireless.h' line='725' column='1' id='type-id-6134'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='nwid' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/wireless.h' line='726' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='code' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/wireless.h' line='727' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='fragment' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/wireless.h' line='728' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='retries' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/wireless.h' line='729' column='1'/>
+          <var-decl name='left' type-id='type-id-8285' visibility='default' filepath='include/net/ip6_fib.h' line='73' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='misc' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/wireless.h' line='730' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='iw_missed' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/uapi/linux/wireless.h' line='737' column='1' id='type-id-6135'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='beacon' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/wireless.h' line='738' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='iw_spy_data' size-in-bits='800' is-struct='yes' visibility='default' filepath='include/net/iw_handler.h' line='396' column='1' id='type-id-6136'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='spy_number' type-id='type-id-17' visibility='default' filepath='include/net/iw_handler.h' line='398' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='spy_address' type-id='type-id-6124' visibility='default' filepath='include/net/iw_handler.h' line='399' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='spy_stat' type-id='type-id-6119' visibility='default' filepath='include/net/iw_handler.h' line='400' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='672'>
-          <var-decl name='spy_thr_low' type-id='type-id-6118' visibility='default' filepath='include/net/iw_handler.h' line='402' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='spy_thr_high' type-id='type-id-6118' visibility='default' filepath='include/net/iw_handler.h' line='403' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='736'>
-          <var-decl name='spy_thr_under' type-id='type-id-6123' visibility='default' filepath='include/net/iw_handler.h' line='404' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='u_char' type-id='type-id-216' filepath='include/linux/types.h' line='84' column='1' id='type-id-6122'/>
-      <class-decl name='in_device' size-in-bits='2816' is-struct='yes' visibility='default' filepath='include/linux/inetdevice.h' line='25' column='1' id='type-id-6137'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dev' type-id='type-id-1650' visibility='default' filepath='include/linux/inetdevice.h' line='26' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='refcnt' type-id='type-id-421' visibility='default' filepath='include/linux/inetdevice.h' line='27' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='dead' type-id='type-id-17' visibility='default' filepath='include/linux/inetdevice.h' line='28' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='ifa_list' type-id='type-id-6138' visibility='default' filepath='include/linux/inetdevice.h' line='29' column='1'/>
+          <var-decl name='right' type-id='type-id-8285' visibility='default' filepath='include/net/ip6_fib.h' line='74' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='mc_list' type-id='type-id-6139' visibility='default' filepath='include/linux/inetdevice.h' line='31' column='1'/>
+          <var-decl name='leaf' type-id='type-id-3037' visibility='default' filepath='include/net/ip6_fib.h' line='78' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='mc_hash' type-id='type-id-6140' visibility='default' filepath='include/linux/inetdevice.h' line='32' column='1'/>
+          <var-decl name='fn_bit' type-id='type-id-1107' visibility='default' filepath='include/net/ip6_fib.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='272'>
+          <var-decl name='fn_flags' type-id='type-id-1107' visibility='default' filepath='include/net/ip6_fib.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='fn_sernum' type-id='type-id-11' visibility='default' filepath='include/net/ip6_fib.h' line='82' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='mc_count' type-id='type-id-17' visibility='default' filepath='include/linux/inetdevice.h' line='34' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='mc_tomb_lock' type-id='type-id-247' visibility='default' filepath='include/linux/inetdevice.h' line='35' column='1'/>
+          <var-decl name='rr_ptr' type-id='type-id-3037' visibility='default' filepath='include/net/ip6_fib.h' line='83' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='mc_tomb' type-id='type-id-6139' visibility='default' filepath='include/linux/inetdevice.h' line='36' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='mr_v1_seen' type-id='type-id-16' visibility='default' filepath='include/linux/inetdevice.h' line='37' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='mr_v2_seen' type-id='type-id-16' visibility='default' filepath='include/linux/inetdevice.h' line='38' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='mr_maxdelay' type-id='type-id-16' visibility='default' filepath='include/linux/inetdevice.h' line='39' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='mr_qi' type-id='type-id-16' visibility='default' filepath='include/linux/inetdevice.h' line='40' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='mr_qri' type-id='type-id-16' visibility='default' filepath='include/linux/inetdevice.h' line='41' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='mr_qrv' type-id='type-id-216' visibility='default' filepath='include/linux/inetdevice.h' line='42' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='776'>
-          <var-decl name='mr_gq_running' type-id='type-id-216' visibility='default' filepath='include/linux/inetdevice.h' line='43' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='784'>
-          <var-decl name='mr_ifc_count' type-id='type-id-216' visibility='default' filepath='include/linux/inetdevice.h' line='44' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='mr_gq_timer' type-id='type-id-417' visibility='default' filepath='include/linux/inetdevice.h' line='45' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='mr_ifc_timer' type-id='type-id-417' visibility='default' filepath='include/linux/inetdevice.h' line='46' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='arp_parms' type-id='type-id-5913' visibility='default' filepath='include/linux/inetdevice.h' line='48' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='cnf' type-id='type-id-1029' visibility='default' filepath='include/linux/inetdevice.h' line='49' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2688'>
-          <var-decl name='callback_head' type-id='type-id-385' visibility='default' filepath='include/linux/inetdevice.h' line='50' column='1'/>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/net/ip6_fib.h' line='84' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='in_ifaddr' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/linux/inetdevice.h' line='137' column='1' id='type-id-6141'>
+      <class-decl name='dst_metrics' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/net/dst.h' line='93' column='1' id='type-id-8286'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='hash' type-id='type-id-520' visibility='default' filepath='include/linux/inetdevice.h' line='138' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='ifa_next' type-id='type-id-6138' visibility='default' filepath='include/linux/inetdevice.h' line='139' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='ifa_dev' type-id='type-id-6142' visibility='default' filepath='include/linux/inetdevice.h' line='140' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='callback_head' type-id='type-id-385' visibility='default' filepath='include/linux/inetdevice.h' line='141' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='ifa_local' type-id='type-id-929' visibility='default' filepath='include/linux/inetdevice.h' line='142' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='ifa_address' type-id='type-id-929' visibility='default' filepath='include/linux/inetdevice.h' line='143' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='ifa_mask' type-id='type-id-929' visibility='default' filepath='include/linux/inetdevice.h' line='144' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='ifa_rt_priority' type-id='type-id-511' visibility='default' filepath='include/linux/inetdevice.h' line='145' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='ifa_broadcast' type-id='type-id-929' visibility='default' filepath='include/linux/inetdevice.h' line='146' column='1'/>
+          <var-decl name='metrics' type-id='type-id-1146' visibility='default' filepath='include/net/dst.h' line='94' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='ifa_scope' type-id='type-id-216' visibility='default' filepath='include/linux/inetdevice.h' line='147' column='1'/>
+          <var-decl name='refcnt' type-id='type-id-12' visibility='default' filepath='include/net/dst.h' line='95' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='552'>
-          <var-decl name='ifa_prefixlen' type-id='type-id-216' visibility='default' filepath='include/linux/inetdevice.h' line='148' column='1'/>
+      </class-decl>
+      <class-decl name='rt6key' size-in-bits='160' is-struct='yes' visibility='default' filepath='include/net/ip6_fib.h' line='103' column='1' id='type-id-8287'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='addr' type-id='type-id-3028' visibility='default' filepath='include/net/ip6_fib.h' line='104' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='ifa_flags' type-id='type-id-511' visibility='default' filepath='include/linux/inetdevice.h' line='149' column='1'/>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='plen' type-id='type-id-11' visibility='default' filepath='include/net/ip6_fib.h' line='105' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='ifa_label' type-id='type-id-43' visibility='default' filepath='include/linux/inetdevice.h' line='150' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='736'>
-          <var-decl name='ifa_valid_lft' type-id='type-id-511' visibility='default' filepath='include/linux/inetdevice.h' line='153' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='ifa_preferred_lft' type-id='type-id-511' visibility='default' filepath='include/linux/inetdevice.h' line='154' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='ifa_cstamp' type-id='type-id-16' visibility='default' filepath='include/linux/inetdevice.h' line='155' column='1'/>
+      </class-decl>
+      <class-decl name='rt6_info' size-in-bits='1920' is-struct='yes' visibility='default' filepath='include/net/ip6_fib.h' line='181' column='1' id='type-id-8288'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dst' type-id='type-id-2988' visibility='default' filepath='include/net/ip6_fib.h' line='182' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='ifa_tstamp' type-id='type-id-16' visibility='default' filepath='include/linux/inetdevice.h' line='156' column='1'/>
+          <var-decl name='from' type-id='type-id-3037' visibility='default' filepath='include/net/ip6_fib.h' line='183' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='rt6i_dst' type-id='type-id-8287' visibility='default' filepath='include/net/ip6_fib.h' line='185' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1120'>
+          <var-decl name='rt6i_src' type-id='type-id-8287' visibility='default' filepath='include/net/ip6_fib.h' line='186' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='rt6i_gateway' type-id='type-id-3028' visibility='default' filepath='include/net/ip6_fib.h' line='187' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='rt6i_idev' type-id='type-id-6514' visibility='default' filepath='include/net/ip6_fib.h' line='188' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='rt6i_flags' type-id='type-id-9' visibility='default' filepath='include/net/ip6_fib.h' line='189' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1504'>
+          <var-decl name='rt6i_prefsrc' type-id='type-id-8287' visibility='default' filepath='include/net/ip6_fib.h' line='190' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='rt6i_uncached' type-id='type-id-8' visibility='default' filepath='include/net/ip6_fib.h' line='192' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='rt6i_uncached_list' type-id='type-id-2989' visibility='default' filepath='include/net/ip6_fib.h' line='193' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='rt6i_nfheader_len' type-id='type-id-288' visibility='default' filepath='include/net/ip6_fib.h' line='196' column='1'/>
         </data-member>
       </class-decl>
-      <union-decl name='__anonymous_union__' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='666' column='1' id='type-id-6143'>
-        <data-member access='private'>
-          <var-decl name='' type-id='type-id-6144' visibility='default' filepath='include/linux/skbuff.h' line='667' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='rbnode' type-id='type-id-422' visibility='default' filepath='include/linux/skbuff.h' line='681' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/skbuff.h' line='682' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='__anonymous_struct__' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='667' column='1' id='type-id-6144'>
+      <class-decl name='xfrm_state' size-in-bits='6080' is-struct='yes' visibility='default' filepath='include/net/xfrm.h' line='136' column='1' id='type-id-8289'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='next' type-id='type-id-1768' visibility='default' filepath='include/linux/skbuff.h' line='669' column='1'/>
+          <var-decl name='xs_net' type-id='type-id-6469' visibility='default' filepath='include/net/xfrm.h' line='137' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='prev' type-id='type-id-1768' visibility='default' filepath='include/linux/skbuff.h' line='670' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='' type-id='type-id-6145' visibility='default' filepath='include/linux/skbuff.h' line='672' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='672' column='1' id='type-id-6145'>
-        <data-member access='private'>
-          <var-decl name='dev' type-id='type-id-1650' visibility='default' filepath='include/linux/skbuff.h' line='673' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='dev_scratch' type-id='type-id-16' visibility='default' filepath='include/linux/skbuff.h' line='678' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='nf_hook_entry' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/netfilter.h' line='75' column='1' id='type-id-6120'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='hook' type-id='type-id-6146' visibility='default' filepath='include/linux/netfilter.h' line='76' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='priv' type-id='type-id-15' visibility='default' filepath='include/linux/netfilter.h' line='77' column='1'/>
-        </data-member>
-      </class-decl>
-      <typedef-decl name='nf_hookfn' type-id='type-id-6147' filepath='include/linux/netfilter.h' line='61' column='1' id='type-id-6148'/>
-      <class-decl name='nf_hook_state' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/netfilter.h' line='51' column='1' id='type-id-6149'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='hook' type-id='type-id-5' visibility='default' filepath='include/linux/netfilter.h' line='52' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='pf' type-id='type-id-6150' visibility='default' filepath='include/linux/netfilter.h' line='53' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='in' type-id='type-id-1650' visibility='default' filepath='include/linux/netfilter.h' line='54' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='out' type-id='type-id-1650' visibility='default' filepath='include/linux/netfilter.h' line='55' column='1'/>
+          <var-decl name='' type-id='type-id-8290' visibility='default' filepath='include/net/xfrm.h' line='138' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='sk' type-id='type-id-3666' visibility='default' filepath='include/linux/netfilter.h' line='56' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='net' type-id='type-id-1645' visibility='default' filepath='include/linux/netfilter.h' line='57' column='1'/>
+          <var-decl name='bysrc' type-id='type-id-378' visibility='default' filepath='include/net/xfrm.h' line='142' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='okfn' type-id='type-id-2281' visibility='default' filepath='include/linux/netfilter.h' line='58' column='1'/>
+          <var-decl name='byspi' type-id='type-id-378' visibility='default' filepath='include/net/xfrm.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='refcnt' type-id='type-id-12' visibility='default' filepath='include/net/xfrm.h' line='145' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/net/xfrm.h' line='146' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='id' type-id='type-id-8291' visibility='default' filepath='include/net/xfrm.h' line='148' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='sel' type-id='type-id-8292' visibility='default' filepath='include/net/xfrm.h' line='149' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='mark' type-id='type-id-8293' visibility='default' filepath='include/net/xfrm.h' line='150' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='if_id' type-id='type-id-9' visibility='default' filepath='include/net/xfrm.h' line='151' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1248'>
+          <var-decl name='tfcpad' type-id='type-id-9' visibility='default' filepath='include/net/xfrm.h' line='152' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='genid' type-id='type-id-9' visibility='default' filepath='include/net/xfrm.h' line='154' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='km' type-id='type-id-8294' visibility='default' filepath='include/net/xfrm.h' line='157' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='props' type-id='type-id-8295' visibility='default' filepath='include/net/xfrm.h' line='172' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='lft' type-id='type-id-8296' visibility='default' filepath='include/net/xfrm.h' line='174' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='aalg' type-id='type-id-8297' visibility='default' filepath='include/net/xfrm.h' line='177' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='ealg' type-id='type-id-8298' visibility='default' filepath='include/net/xfrm.h' line='178' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2624'>
+          <var-decl name='calg' type-id='type-id-8298' visibility='default' filepath='include/net/xfrm.h' line='179' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2688'>
+          <var-decl name='aead' type-id='type-id-8299' visibility='default' filepath='include/net/xfrm.h' line='180' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2752'>
+          <var-decl name='geniv' type-id='type-id-24' visibility='default' filepath='include/net/xfrm.h' line='181' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2816'>
+          <var-decl name='encap' type-id='type-id-8300' visibility='default' filepath='include/net/xfrm.h' line='184' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2880'>
+          <var-decl name='coaddr' type-id='type-id-8301' visibility='default' filepath='include/net/xfrm.h' line='187' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2944'>
+          <var-decl name='tunnel' type-id='type-id-8280' visibility='default' filepath='include/net/xfrm.h' line='190' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3008'>
+          <var-decl name='tunnel_users' type-id='type-id-137' visibility='default' filepath='include/net/xfrm.h' line='193' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3040'>
+          <var-decl name='replay' type-id='type-id-8302' visibility='default' filepath='include/net/xfrm.h' line='196' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3136'>
+          <var-decl name='replay_esn' type-id='type-id-8303' visibility='default' filepath='include/net/xfrm.h' line='197' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3200'>
+          <var-decl name='preplay' type-id='type-id-8302' visibility='default' filepath='include/net/xfrm.h' line='200' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3328'>
+          <var-decl name='preplay_esn' type-id='type-id-8303' visibility='default' filepath='include/net/xfrm.h' line='201' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3392'>
+          <var-decl name='repl' type-id='type-id-8304' visibility='default' filepath='include/net/xfrm.h' line='204' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3456'>
+          <var-decl name='xflags' type-id='type-id-9' visibility='default' filepath='include/net/xfrm.h' line='209' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3488'>
+          <var-decl name='replay_maxage' type-id='type-id-9' visibility='default' filepath='include/net/xfrm.h' line='212' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3520'>
+          <var-decl name='replay_maxdiff' type-id='type-id-9' visibility='default' filepath='include/net/xfrm.h' line='213' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3584'>
+          <var-decl name='rtimer' type-id='type-id-1240' visibility='default' filepath='include/net/xfrm.h' line='216' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3904'>
+          <var-decl name='stats' type-id='type-id-8305' visibility='default' filepath='include/net/xfrm.h' line='219' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4032'>
+          <var-decl name='curlft' type-id='type-id-8306' visibility='default' filepath='include/net/xfrm.h' line='221' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4288'>
+          <var-decl name='mtimer' type-id='type-id-8307' visibility='default' filepath='include/net/xfrm.h' line='222' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5184'>
+          <var-decl name='xso' type-id='type-id-8308' visibility='default' filepath='include/net/xfrm.h' line='224' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5376'>
+          <var-decl name='saved_tmo' type-id='type-id-187' visibility='default' filepath='include/net/xfrm.h' line='227' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5440'>
+          <var-decl name='lastused' type-id='type-id-3459' visibility='default' filepath='include/net/xfrm.h' line='230' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5504'>
+          <var-decl name='xfrag' type-id='type-id-3009' visibility='default' filepath='include/net/xfrm.h' line='232' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5632'>
+          <var-decl name='type' type-id='type-id-8271' visibility='default' filepath='include/net/xfrm.h' line='236' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5696'>
+          <var-decl name='inner_mode' type-id='type-id-8276' visibility='default' filepath='include/net/xfrm.h' line='237' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5760'>
+          <var-decl name='inner_mode_iaf' type-id='type-id-8276' visibility='default' filepath='include/net/xfrm.h' line='238' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5824'>
+          <var-decl name='outer_mode' type-id='type-id-8276' visibility='default' filepath='include/net/xfrm.h' line='239' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5888'>
+          <var-decl name='type_offload' type-id='type-id-8273' visibility='default' filepath='include/net/xfrm.h' line='241' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5952'>
+          <var-decl name='security' type-id='type-id-8309' visibility='default' filepath='include/net/xfrm.h' line='244' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6016'>
+          <var-decl name='data' type-id='type-id-3' visibility='default' filepath='include/net/xfrm.h' line='248' column='1'/>
         </data-member>
       </class-decl>
-      <typedef-decl name='u_int8_t' type-id='type-id-214' filepath='include/linux/types.h' line='98' column='1' id='type-id-6150'/>
-      <union-decl name='__anonymous_union__5' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='1162' column='1' id='type-id-6151'>
-        <data-member access='private'>
-          <var-decl name='hashinfo' type-id='type-id-2261' visibility='default' filepath='include/net/sock.h' line='1163' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='udp_table' type-id='type-id-5858' visibility='default' filepath='include/net/sock.h' line='1164' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='raw_hash' type-id='type-id-5846' visibility='default' filepath='include/net/sock.h' line='1165' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='smc_hash' type-id='type-id-5848' visibility='default' filepath='include/net/sock.h' line='1166' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='udp_hslot' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/net/udp.h' line='61' column='1' id='type-id-6152'>
+      <class-decl name='xfrm_id' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/uapi/linux/xfrm.h' line='25' column='1' id='type-id-8291'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='head' type-id='type-id-186' visibility='default' filepath='include/net/udp.h' line='62' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='count' type-id='type-id-17' visibility='default' filepath='include/net/udp.h' line='63' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='lock' type-id='type-id-247' visibility='default' filepath='include/net/udp.h' line='64' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__7' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/net/xfrm.h' line='138' column='1' id='type-id-6153'>
-        <data-member access='private'>
-          <var-decl name='gclist' type-id='type-id-520' visibility='default' filepath='include/net/xfrm.h' line='139' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='bydst' type-id='type-id-520' visibility='default' filepath='include/net/xfrm.h' line='140' column='1'/>
-        </data-member>
-      </union-decl>
-      <union-decl name='__anonymous_union__8' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/net/ip.h' line='123' column='1' id='type-id-6154'>
-        <data-member access='private'>
-          <var-decl name='destructor' type-id='type-id-5671' visibility='default' filepath='include/net/ip.h' line='124' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='saved_sk' type-id='type-id-3666' visibility='default' filepath='include/net/ip.h' line='125' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='__anonymous_struct__1' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/cpu_rmap.h' line='31' column='1' id='type-id-6114'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='index' type-id='type-id-688' visibility='default' filepath='include/linux/cpu_rmap.h' line='32' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='dist' type-id='type-id-688' visibility='default' filepath='include/linux/cpu_rmap.h' line='33' column='1'/>
-        </data-member>
-      </class-decl>
-      <class-decl name='packet_type' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='2336' column='1' id='type-id-6155'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='type' type-id='type-id-926' visibility='default' filepath='include/linux/netdevice.h' line='2337' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='dev' type-id='type-id-1650' visibility='default' filepath='include/linux/netdevice.h' line='2338' column='1'/>
+          <var-decl name='daddr' type-id='type-id-8310' visibility='default' filepath='include/uapi/linux/xfrm.h' line='26' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='func' type-id='type-id-6156' visibility='default' filepath='include/linux/netdevice.h' line='2339' column='1'/>
+          <var-decl name='spi' type-id='type-id-2085' visibility='default' filepath='include/uapi/linux/xfrm.h' line='27' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='list_func' type-id='type-id-6157' visibility='default' filepath='include/linux/netdevice.h' line='2343' column='1'/>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='proto' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/xfrm.h' line='28' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='xfrm_address_t' type-id='type-id-8311' filepath='include/uapi/linux/xfrm.h' line='19' column='1' id='type-id-8310'/>
+      <union-decl name='__anonymous_union__3' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/uapi/linux/xfrm.h' line='15' column='1' id='type-id-8311'>
+        <data-member access='private'>
+          <var-decl name='a4' type-id='type-id-2085' visibility='default' filepath='include/uapi/linux/xfrm.h' line='16' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='a6' type-id='type-id-3578' visibility='default' filepath='include/uapi/linux/xfrm.h' line='17' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='in6' type-id='type-id-3028' visibility='default' filepath='include/uapi/linux/xfrm.h' line='18' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='xfrm_selector' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/uapi/linux/xfrm.h' line='49' column='1' id='type-id-8292'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='daddr' type-id='type-id-8310' visibility='default' filepath='include/uapi/linux/xfrm.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='saddr' type-id='type-id-8310' visibility='default' filepath='include/uapi/linux/xfrm.h' line='51' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='id_match' type-id='type-id-6158' visibility='default' filepath='include/linux/netdevice.h' line='2346' column='1'/>
+          <var-decl name='dport' type-id='type-id-3573' visibility='default' filepath='include/uapi/linux/xfrm.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='272'>
+          <var-decl name='dport_mask' type-id='type-id-3573' visibility='default' filepath='include/uapi/linux/xfrm.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='sport' type-id='type-id-3573' visibility='default' filepath='include/uapi/linux/xfrm.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='304'>
+          <var-decl name='sport_mask' type-id='type-id-3573' visibility='default' filepath='include/uapi/linux/xfrm.h' line='55' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='af_packet_priv' type-id='type-id-15' visibility='default' filepath='include/linux/netdevice.h' line='2348' column='1'/>
+          <var-decl name='family' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/xfrm.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='336'>
+          <var-decl name='prefixlen_d' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/xfrm.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='344'>
+          <var-decl name='prefixlen_s' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/xfrm.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='proto' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/xfrm.h' line='59' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/netdevice.h' line='2349' column='1'/>
+          <var-decl name='ifindex' type-id='type-id-11' visibility='default' filepath='include/uapi/linux/xfrm.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='user' type-id='type-id-4971' visibility='default' filepath='include/uapi/linux/xfrm.h' line='61' column='1'/>
         </data-member>
       </class-decl>
-      <enum-decl name='skb_free_reason' filepath='include/linux/netdevice.h' line='3494' column='1' id='type-id-6159'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='SKB_REASON_CONSUMED' value='0'/>
-        <enumerator name='SKB_REASON_DROPPED' value='1'/>
-      </enum-decl>
-      <typedef-decl name='gro_result_t' type-id='type-id-6160' filepath='include/linux/netdevice.h' line='372' column='1' id='type-id-6161'/>
-      <enum-decl name='gro_result' filepath='include/linux/netdevice.h' line='364' column='1' id='type-id-6160'>
-        <underlying-type type-id='type-id-94'/>
-        <enumerator name='GRO_MERGED' value='0'/>
-        <enumerator name='GRO_MERGED_FREE' value='1'/>
-        <enumerator name='GRO_HELD' value='2'/>
-        <enumerator name='GRO_NORMAL' value='3'/>
-        <enumerator name='GRO_DROP' value='4'/>
-        <enumerator name='GRO_CONSUMED' value='5'/>
-      </enum-decl>
-      <qualified-type-def type-id='type-id-6126' const='yes' id='type-id-6162'/>
-      <pointer-type-def type-id='type-id-6162' size-in-bits='64' id='type-id-6163'/>
-      <qualified-type-def type-id='type-id-6132' const='yes' id='type-id-6164'/>
-      <pointer-type-def type-id='type-id-6164' size-in-bits='64' id='type-id-6165'/>
-      <qualified-type-def type-id='type-id-6149' const='yes' id='type-id-6166'/>
-      <pointer-type-def type-id='type-id-6166' size-in-bits='64' id='type-id-6167'/>
-      <pointer-type-def type-id='type-id-892' size-in-bits='64' id='type-id-6168'/>
-      <pointer-type-def type-id='type-id-6137' size-in-bits='64' id='type-id-6142'/>
-      <pointer-type-def type-id='type-id-6141' size-in-bits='64' id='type-id-6138'/>
-      <pointer-type-def type-id='type-id-6169' size-in-bits='64' id='type-id-6125'/>
-      <pointer-type-def type-id='type-id-6170' size-in-bits='64' id='type-id-6156'/>
-      <pointer-type-def type-id='type-id-6116' size-in-bits='64' id='type-id-6139'/>
-      <pointer-type-def type-id='type-id-6139' size-in-bits='64' id='type-id-6140'/>
-      <pointer-type-def type-id='type-id-6127' size-in-bits='64' id='type-id-6171'/>
-      <pointer-type-def type-id='type-id-6136' size-in-bits='64' id='type-id-6172'/>
-      <pointer-type-def type-id='type-id-6133' size-in-bits='64' id='type-id-6173'/>
-      <pointer-type-def type-id='type-id-6174' size-in-bits='64' id='type-id-6175'/>
-      <pointer-type-def type-id='type-id-6128' size-in-bits='64' id='type-id-6176'/>
-      <pointer-type-def type-id='type-id-6117' size-in-bits='64' id='type-id-6177'/>
-      <pointer-type-def type-id='type-id-6148' size-in-bits='64' id='type-id-6146'/>
-      <pointer-type-def type-id='type-id-6155' size-in-bits='64' id='type-id-6178'/>
-      <pointer-type-def type-id='type-id-6179' size-in-bits='64' id='type-id-6158'/>
-      <pointer-type-def type-id='type-id-6152' size-in-bits='64' id='type-id-6180'/>
-      <pointer-type-def type-id='type-id-6181' size-in-bits='64' id='type-id-6157'/>
-      <function-decl name='netif_set_real_num_tx_queues' mangled-name='netif_set_real_num_tx_queues' filepath='net/core/dev.c' line='2633' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netif_set_real_num_tx_queues'>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/core/dev.c' line='2633' column='1'/>
-        <parameter type-id='type-id-5' name='txq' filepath='net/core/dev.c' line='2633' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='netif_set_real_num_rx_queues' mangled-name='netif_set_real_num_rx_queues' filepath='net/core/dev.c' line='2683' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netif_set_real_num_rx_queues'>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/core/dev.c' line='2683' column='1'/>
-        <parameter type-id='type-id-5' name='rxq' filepath='net/core/dev.c' line='2683' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='netdev_rx_handler_unregister' mangled-name='netdev_rx_handler_unregister' filepath='net/core/dev.c' line='4737' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netdev_rx_handler_unregister'>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/core/dev.c' line='4737' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='netif_napi_add' mangled-name='netif_napi_add' filepath='net/core/dev.c' line='6208' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netif_napi_add'>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/core/dev.c' line='6208' column='1'/>
-        <parameter type-id='type-id-5240' name='napi' filepath='net/core/dev.c' line='6208' column='1'/>
-        <parameter type-id='type-id-5237' name='poll' filepath='net/core/dev.c' line='6209' column='1'/>
-        <parameter type-id='type-id-17' name='weight' filepath='net/core/dev.c' line='6209' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='netdev_upper_dev_unlink' mangled-name='netdev_upper_dev_unlink' filepath='net/core/dev.c' line='7266' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netdev_upper_dev_unlink'>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/core/dev.c' line='7266' column='1'/>
-        <parameter type-id='type-id-1650' name='upper_dev' filepath='net/core/dev.c' line='7267' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='netdev_lower_state_changed' mangled-name='netdev_lower_state_changed' filepath='net/core/dev.c' line='7437' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netdev_lower_state_changed'>
-        <parameter type-id='type-id-1650' name='lower_dev' filepath='net/core/dev.c' line='7437' column='1'/>
-        <parameter type-id='type-id-15' name='lower_state_info' filepath='net/core/dev.c' line='7438' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='register_netdevice' mangled-name='register_netdevice' filepath='net/core/dev.c' line='8632' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='register_netdevice'>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/core/dev.c' line='8632' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='unregister_netdevice_queue' mangled-name='unregister_netdevice_queue' filepath='net/core/dev.c' line='9286' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unregister_netdevice_queue'>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/core/dev.c' line='9286' column='1'/>
-        <parameter type-id='type-id-877' name='head' filepath='net/core/dev.c' line='9286' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='dev_add_pack' mangled-name='dev_add_pack' filepath='net/core/dev.c' line='407' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_add_pack'>
-        <parameter type-id='type-id-6178' name='pt' filepath='net/core/dev.c' line='407' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='dev_remove_pack' mangled-name='dev_remove_pack' filepath='net/core/dev.c' line='462' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_remove_pack'>
-        <parameter type-id='type-id-6178' name='pt' filepath='net/core/dev.c' line='462' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='synchronize_net' mangled-name='synchronize_net' filepath='net/core/dev.c' line='9263' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='synchronize_net'>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='__dev_get_by_index' mangled-name='__dev_get_by_index' filepath='net/core/dev.c' line='810' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__dev_get_by_index'>
-        <parameter type-id='type-id-1645' name='net' filepath='net/core/dev.c' line='810' column='1'/>
-        <parameter type-id='type-id-17' name='ifindex' filepath='net/core/dev.c' line='810' column='1'/>
-        <return type-id='type-id-1650'/>
-      </function-decl>
-      <function-decl name='dev_get_by_index_rcu' mangled-name='dev_get_by_index_rcu' filepath='net/core/dev.c' line='834' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_get_by_index_rcu'>
-        <parameter type-id='type-id-1645' name='net' filepath='net/core/dev.c' line='834' column='1'/>
-        <parameter type-id='type-id-17' name='ifindex' filepath='net/core/dev.c' line='834' column='1'/>
-        <return type-id='type-id-1650'/>
-      </function-decl>
-      <function-decl name='dev_get_by_index' mangled-name='dev_get_by_index' filepath='net/core/dev.c' line='859' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_get_by_index'>
-        <parameter type-id='type-id-1645' name='net' filepath='net/core/dev.c' line='859' column='1'/>
-        <parameter type-id='type-id-17' name='ifindex' filepath='net/core/dev.c' line='859' column='1'/>
-        <return type-id='type-id-1650'/>
-      </function-decl>
-      <function-decl name='netdev_info' mangled-name='netdev_info' filepath='net/core/dev.c' line='9675' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netdev_info'>
-        <parameter type-id='type-id-2697' name='dev' filepath='net/core/dev.c' line='9675' column='1'/>
-        <parameter type-id='type-id-4' name='fmt' filepath='net/core/dev.c' line='9675' column='1'/>
-        <parameter is-variadic='yes'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='call_netdevice_notifiers' mangled-name='call_netdevice_notifiers' filepath='net/core/dev.c' line='1760' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='call_netdevice_notifiers'>
-        <parameter type-id='type-id-16' name='val' filepath='net/core/dev.c' line='1760' column='1'/>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/core/dev.c' line='1760' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='netdev_notify_peers' mangled-name='netdev_notify_peers' filepath='net/core/dev.c' line='1370' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netdev_notify_peers'>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/core/dev.c' line='1370' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='dev_open' mangled-name='dev_open' filepath='net/core/dev.c' line='1434' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_open'>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/core/dev.c' line='1434' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='dev_close' mangled-name='dev_close' filepath='net/core/dev.c' line='1534' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_close'>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/core/dev.c' line='1534' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='register_netdevice_notifier' mangled-name='register_netdevice_notifier' filepath='net/core/dev.c' line='1635' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='register_netdevice_notifier'>
-        <parameter type-id='type-id-3271' name='nb' filepath='net/core/dev.c' line='1635' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='unregister_netdevice_notifier' mangled-name='unregister_netdevice_notifier' filepath='net/core/dev.c' line='1705' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unregister_netdevice_notifier'>
-        <parameter type-id='type-id-3271' name='nb' filepath='net/core/dev.c' line='1705' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='__netif_set_xps_queue' mangled-name='__netif_set_xps_queue' filepath='net/core/dev.c' line='2299' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__netif_set_xps_queue'>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/core/dev.c' line='2299' column='1'/>
-        <parameter type-id='type-id-6168' name='mask' filepath='net/core/dev.c' line='2299' column='1'/>
-        <parameter type-id='type-id-688' name='index' filepath='net/core/dev.c' line='2300' column='1'/>
-        <parameter type-id='type-id-33' name='is_rxqs_map' filepath='net/core/dev.c' line='2300' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='netif_schedule_queue' mangled-name='netif_schedule_queue' filepath='net/core/dev.c' line='2748' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netif_schedule_queue'>
-        <parameter type-id='type-id-1685' name='txq' filepath='net/core/dev.c' line='2748' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='netif_tx_wake_queue' mangled-name='netif_tx_wake_queue' filepath='net/core/dev.c' line='2760' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netif_tx_wake_queue'>
-        <parameter type-id='type-id-1685' name='dev_queue' filepath='net/core/dev.c' line='2760' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='__dev_kfree_skb_any' mangled-name='__dev_kfree_skb_any' filepath='net/core/dev.c' line='2795' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__dev_kfree_skb_any'>
-        <parameter type-id='type-id-1768' name='skb' filepath='net/core/dev.c' line='2795' column='1'/>
-        <parameter type-id='type-id-6159' name='reason' filepath='net/core/dev.c' line='2795' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='netif_device_detach' mangled-name='netif_device_detach' filepath='net/core/dev.c' line='2811' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netif_device_detach'>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/core/dev.c' line='2811' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='netif_tx_stop_all_queues' mangled-name='netif_tx_stop_all_queues' filepath='net/core/dev.c' line='8603' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netif_tx_stop_all_queues'>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/core/dev.c' line='8603' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='netif_device_attach' mangled-name='netif_device_attach' filepath='net/core/dev.c' line='2826' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netif_device_attach'>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/core/dev.c' line='2826' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='passthru_features_check' mangled-name='passthru_features_check' filepath='net/core/dev.c' line='3169' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='passthru_features_check'>
-        <parameter type-id='type-id-1768' name='skb' filepath='net/core/dev.c' line='3169' column='1'/>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/core/dev.c' line='3170' column='1'/>
-        <parameter type-id='type-id-1668' name='features' filepath='net/core/dev.c' line='3171' column='1'/>
-        <return type-id='type-id-1668'/>
-      </function-decl>
-      <function-decl name='netif_rx_ni' mangled-name='netif_rx_ni' filepath='net/core/dev.c' line='4535' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netif_rx_ni'>
-        <parameter type-id='type-id-1768' name='skb' filepath='net/core/dev.c' line='4535' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='dev_queue_xmit' mangled-name='dev_queue_xmit' filepath='net/core/dev.c' line='3875' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_queue_xmit'>
-        <parameter type-id='type-id-1768' name='skb' filepath='net/core/dev.c' line='3875' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='netif_rx' mangled-name='netif_rx' filepath='net/core/dev.c' line='4527' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netif_rx'>
-        <parameter type-id='type-id-1768' name='skb' filepath='net/core/dev.c' line='4527' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='netdev_rx_handler_register' mangled-name='netdev_rx_handler_register' filepath='net/core/dev.c' line='4711' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netdev_rx_handler_register'>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/core/dev.c' line='4711' column='1'/>
-        <parameter type-id='type-id-1683' name='rx_handler' filepath='net/core/dev.c' line='4712' column='1'/>
-        <parameter type-id='type-id-15' name='rx_handler_data' filepath='net/core/dev.c' line='4713' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='netif_receive_skb' mangled-name='netif_receive_skb' filepath='net/core/dev.c' line='5231' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netif_receive_skb'>
-        <parameter type-id='type-id-1768' name='skb' filepath='net/core/dev.c' line='5231' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='napi_gro_receive' mangled-name='napi_gro_receive' filepath='net/core/dev.c' line='5646' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='napi_gro_receive'>
-        <parameter type-id='type-id-5240' name='napi' filepath='net/core/dev.c' line='5646' column='1'/>
-        <parameter type-id='type-id-1768' name='skb' filepath='net/core/dev.c' line='5646' column='1'/>
-        <return type-id='type-id-6161'/>
-      </function-decl>
-      <function-decl name='__napi_schedule' mangled-name='__napi_schedule' filepath='net/core/dev.c' line='5909' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__napi_schedule'>
-        <parameter type-id='type-id-5240' name='n' filepath='net/core/dev.c' line='5909' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='napi_schedule_prep' mangled-name='napi_schedule_prep' filepath='net/core/dev.c' line='5928' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='napi_schedule_prep'>
-        <parameter type-id='type-id-5240' name='n' filepath='net/core/dev.c' line='5928' column='1'/>
-        <return type-id='type-id-33'/>
-      </function-decl>
-      <function-decl name='napi_complete_done' mangled-name='napi_complete_done' filepath='net/core/dev.c' line='5964' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='napi_complete_done'>
-        <parameter type-id='type-id-5240' name='n' filepath='net/core/dev.c' line='5964' column='1'/>
-        <parameter type-id='type-id-17' name='work_done' filepath='net/core/dev.c' line='5964' column='1'/>
-        <return type-id='type-id-33'/>
-      </function-decl>
-      <function-decl name='napi_hash_del' mangled-name='napi_hash_del' filepath='net/core/dev.c' line='6166' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='napi_hash_del'>
-        <parameter type-id='type-id-5240' name='napi' filepath='net/core/dev.c' line='6166' column='1'/>
-        <return type-id='type-id-33'/>
-      </function-decl>
-      <function-decl name='napi_disable' mangled-name='napi_disable' filepath='net/core/dev.c' line='6231' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='napi_disable'>
-        <parameter type-id='type-id-5240' name='n' filepath='net/core/dev.c' line='6231' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='netif_napi_del' mangled-name='netif_napi_del' filepath='net/core/dev.c' line='6261' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netif_napi_del'>
-        <parameter type-id='type-id-5240' name='napi' filepath='net/core/dev.c' line='6261' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='netdev_upper_dev_link' mangled-name='netdev_upper_dev_link' filepath='net/core/dev.c' line='7225' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netdev_upper_dev_link'>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/core/dev.c' line='7225' column='1'/>
-        <parameter type-id='type-id-1650' name='upper_dev' filepath='net/core/dev.c' line='7226' column='1'/>
-        <parameter type-id='type-id-1826' name='extack' filepath='net/core/dev.c' line='7227' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='netdev_master_upper_dev_link' mangled-name='netdev_master_upper_dev_link' filepath='net/core/dev.c' line='7248' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netdev_master_upper_dev_link'>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/core/dev.c' line='7248' column='1'/>
-        <parameter type-id='type-id-1650' name='upper_dev' filepath='net/core/dev.c' line='7249' column='1'/>
-        <parameter type-id='type-id-15' name='upper_priv' filepath='net/core/dev.c' line='7250' column='1'/>
-        <parameter type-id='type-id-15' name='upper_info' filepath='net/core/dev.c' line='7250' column='1'/>
-        <parameter type-id='type-id-1826' name='extack' filepath='net/core/dev.c' line='7251' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='dev_set_mtu' mangled-name='dev_set_mtu' filepath='net/core/dev.c' line='7838' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_set_mtu'>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/core/dev.c' line='7838' column='1'/>
-        <parameter type-id='type-id-17' name='new_mtu' filepath='net/core/dev.c' line='7838' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='netdev_err' mangled-name='netdev_err' filepath='net/core/dev.c' line='9672' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netdev_err'>
-        <parameter type-id='type-id-2697' name='dev' filepath='net/core/dev.c' line='9672' column='1'/>
-        <parameter type-id='type-id-4' name='fmt' filepath='net/core/dev.c' line='9672' column='1'/>
-        <parameter is-variadic='yes'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='netdev_change_features' mangled-name='netdev_change_features' filepath='net/core/dev.c' line='8484' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netdev_change_features'>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/core/dev.c' line='8484' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='netif_stacked_transfer_operstate' mangled-name='netif_stacked_transfer_operstate' filepath='net/core/dev.c' line='8500' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netif_stacked_transfer_operstate'>
-        <parameter type-id='type-id-2697' name='rootdev' filepath='net/core/dev.c' line='8500' column='1'/>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/core/dev.c' line='8501' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='register_netdev' mangled-name='register_netdev' filepath='net/core/dev.c' line='8841' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='register_netdev'>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/core/dev.c' line='8841' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='free_netdev' mangled-name='free_netdev' filepath='net/core/dev.c' line='9224' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='free_netdev'>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/core/dev.c' line='9224' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='dev_get_stats' mangled-name='dev_get_stats' filepath='net/core/dev.c' line='9042' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_get_stats'>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/core/dev.c' line='9042' column='1'/>
-        <parameter type-id='type-id-3052' name='storage' filepath='net/core/dev.c' line='9043' column='1'/>
-        <return type-id='type-id-3052'/>
-      </function-decl>
-      <function-decl name='alloc_netdev_mqs' mangled-name='alloc_netdev_mqs' filepath='net/core/dev.c' line='9110' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='alloc_netdev_mqs'>
-        <parameter type-id='type-id-17' name='sizeof_priv' filepath='net/core/dev.c' line='9110' column='1'/>
-        <parameter type-id='type-id-4' name='name' filepath='net/core/dev.c' line='9110' column='1'/>
-        <parameter type-id='type-id-216' name='name_assign_type' filepath='net/core/dev.c' line='9111' column='1'/>
-        <parameter type-id='type-id-1691' name='setup' filepath='net/core/dev.c' line='9112' column='1'/>
-        <parameter type-id='type-id-5' name='txqs' filepath='net/core/dev.c' line='9113' column='1'/>
-        <parameter type-id='type-id-5' name='rxqs' filepath='net/core/dev.c' line='9113' column='1'/>
-        <return type-id='type-id-1650'/>
-      </function-decl>
-      <function-decl name='unregister_netdev' mangled-name='unregister_netdev' filepath='net/core/dev.c' line='9331' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unregister_netdev'>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/core/dev.c' line='9331' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='netdev_increment_features' mangled-name='netdev_increment_features' filepath='net/core/dev.c' line='9538' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netdev_increment_features'>
-        <parameter type-id='type-id-1668' name='all' filepath='net/core/dev.c' line='9538' column='1'/>
-        <parameter type-id='type-id-1668' name='one' filepath='net/core/dev.c' line='9539' column='1'/>
-        <parameter type-id='type-id-1668' name='mask' filepath='net/core/dev.c' line='9539' column='1'/>
-        <return type-id='type-id-1668'/>
-      </function-decl>
-      <function-decl name='netdev_warn' mangled-name='netdev_warn' filepath='net/core/dev.c' line='9673' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netdev_warn'>
-        <parameter type-id='type-id-2697' name='dev' filepath='net/core/dev.c' line='9673' column='1'/>
-        <parameter type-id='type-id-4' name='fmt' filepath='net/core/dev.c' line='9673' column='1'/>
-        <parameter is-variadic='yes'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-6169'>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-6171'/>
-        <parameter type-id='type-id-6176'/>
-        <parameter type-id='type-id-2'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6170'>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-6178'/>
-        <parameter type-id='type-id-1650'/>
-        <return type-id='type-id-17'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6174'>
-        <parameter type-id='type-id-1650'/>
-        <return type-id='type-id-6173'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6179'>
-        <parameter type-id='type-id-6178'/>
-        <parameter type-id='type-id-3666'/>
-        <return type-id='type-id-33'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6147'>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-6167'/>
-        <return type-id='type-id-5'/>
-      </function-type>
-      <function-type size-in-bits='64' id='type-id-6181'>
-        <parameter type-id='type-id-877'/>
-        <parameter type-id='type-id-6178'/>
-        <parameter type-id='type-id-1650'/>
-        <return type-id='type-id-81'/>
-      </function-type>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='net/core/dev_addr_lists.c' language='LANG_C89'>
-      <function-decl name='dev_uc_sync_multiple' mangled-name='dev_uc_sync_multiple' filepath='net/core/dev_addr_lists.c' line='567' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_uc_sync_multiple'>
-        <parameter type-id='type-id-1650' name='to' filepath='net/core/dev_addr_lists.c' line='567' column='1'/>
-        <parameter type-id='type-id-1650' name='from' filepath='net/core/dev_addr_lists.c' line='567' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='dev_uc_unsync' mangled-name='dev_uc_unsync' filepath='net/core/dev_addr_lists.c' line='592' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_uc_unsync'>
-        <parameter type-id='type-id-1650' name='to' filepath='net/core/dev_addr_lists.c' line='592' column='1'/>
-        <parameter type-id='type-id-1650' name='from' filepath='net/core/dev_addr_lists.c' line='592' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='dev_mc_sync_multiple' mangled-name='dev_mc_sync_multiple' filepath='net/core/dev_addr_lists.c' line='788' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_mc_sync_multiple'>
-        <parameter type-id='type-id-1650' name='to' filepath='net/core/dev_addr_lists.c' line='788' column='1'/>
-        <parameter type-id='type-id-1650' name='from' filepath='net/core/dev_addr_lists.c' line='788' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='dev_mc_unsync' mangled-name='dev_mc_unsync' filepath='net/core/dev_addr_lists.c' line='813' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dev_mc_unsync'>
-        <parameter type-id='type-id-1650' name='to' filepath='net/core/dev_addr_lists.c' line='813' column='1'/>
-        <parameter type-id='type-id-1650' name='from' filepath='net/core/dev_addr_lists.c' line='813' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='net/core/filter.c' language='LANG_C89'>
-      <union-decl name='__anonymous_union__2' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/linux/bpf.h' line='298' column='1' id='type-id-6182'>
-        <data-member access='private'>
-          <var-decl name='work' type-id='type-id-255' visibility='default' filepath='include/linux/bpf.h' line='299' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='rcu' type-id='type-id-385' visibility='default' filepath='include/linux/bpf.h' line='300' column='1'/>
-        </data-member>
-      </union-decl>
-      <union-decl name='__anonymous_union__3' is-anonymous='yes' visibility='default' filepath='include/linux/filter.h' line='502' column='1' id='type-id-6183'>
-        <data-member access='private'>
-          <var-decl name='insns' type-id='type-id-1172' visibility='default' filepath='include/linux/filter.h' line='503' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='insnsi' type-id='type-id-956' visibility='default' filepath='include/linux/filter.h' line='504' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='xdp_buff' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/net/xdp.h' line='66' column='1' id='type-id-6184'>
+      <class-decl name='xfrm_mark' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/linux/xfrm.h' line='317' column='1' id='type-id-8293'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='data' type-id='type-id-15' visibility='default' filepath='include/net/xdp.h' line='67' column='1'/>
+          <var-decl name='v' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/xfrm.h' line='318' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='data_end' type-id='type-id-15' visibility='default' filepath='include/net/xdp.h' line='68' column='1'/>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='m' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/xfrm.h' line='319' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='xfrm_state_walk' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/xfrm.h' line='119' column='1' id='type-id-8294'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='all' type-id='type-id-8' visibility='default' filepath='include/net/xfrm.h' line='120' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='data_meta' type-id='type-id-15' visibility='default' filepath='include/net/xdp.h' line='69' column='1'/>
+          <var-decl name='state' type-id='type-id-53' visibility='default' filepath='include/net/xfrm.h' line='121' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='136'>
+          <var-decl name='dying' type-id='type-id-53' visibility='default' filepath='include/net/xfrm.h' line='122' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='144'>
+          <var-decl name='proto' type-id='type-id-53' visibility='default' filepath='include/net/xfrm.h' line='123' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='seq' type-id='type-id-9' visibility='default' filepath='include/net/xfrm.h' line='124' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='data_hard_start' type-id='type-id-15' visibility='default' filepath='include/net/xdp.h' line='70' column='1'/>
+          <var-decl name='filter' type-id='type-id-8312' visibility='default' filepath='include/net/xfrm.h' line='125' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='xfrm_address_filter' size-in-bits='288' is-struct='yes' visibility='default' filepath='include/uapi/linux/xfrm.h' line='495' column='1' id='type-id-8313'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='saddr' type-id='type-id-8310' visibility='default' filepath='include/uapi/linux/xfrm.h' line='496' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='daddr' type-id='type-id-8310' visibility='default' filepath='include/uapi/linux/xfrm.h' line='497' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='handle' type-id='type-id-16' visibility='default' filepath='include/net/xdp.h' line='71' column='1'/>
+          <var-decl name='family' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/xfrm.h' line='498' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='rxq' type-id='type-id-3594' visibility='default' filepath='include/net/xdp.h' line='72' column='1'/>
+        <data-member access='public' layout-offset-in-bits='272'>
+          <var-decl name='splen' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/xfrm.h' line='499' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='280'>
+          <var-decl name='dplen' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/xfrm.h' line='500' column='1'/>
         </data-member>
       </class-decl>
-      <pointer-type-def type-id='type-id-6184' size-in-bits='64' id='type-id-6185'/>
-      <pointer-type-def type-id='type-id-1924' size-in-bits='64' id='type-id-3594'/>
-      <function-decl name='bpf_warn_invalid_xdp_action' mangled-name='bpf_warn_invalid_xdp_action' filepath='net/core/filter.c' line='5530' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='bpf_warn_invalid_xdp_action'>
-        <parameter type-id='type-id-7' name='act' filepath='net/core/filter.c' line='5530' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='xdp_do_flush_map' mangled-name='xdp_do_flush_map' filepath='net/core/filter.c' line='3214' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='xdp_do_flush_map'>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='xdp_do_redirect' mangled-name='xdp_do_redirect' filepath='net/core/filter.c' line='3300' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='xdp_do_redirect'>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/core/filter.c' line='3300' column='1'/>
-        <parameter type-id='type-id-6185' name='xdp' filepath='net/core/filter.c' line='3300' column='1'/>
-        <parameter type-id='type-id-1230' name='xdp_prog' filepath='net/core/filter.c' line='3301' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-    </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='net/core/sock_diag.c' language='LANG_C89'>
-      <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='156' column='1' id='type-id-6186'>
-        <data-member access='private'>
-          <var-decl name='skc_addrpair' type-id='type-id-5686' visibility='default' filepath='include/net/sock.h' line='157' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='' type-id='type-id-5687' visibility='default' filepath='include/net/sock.h' line='158' column='1'/>
-        </data-member>
-      </union-decl>
-      <union-decl name='__anonymous_union__2' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='1162' column='1' id='type-id-6187'>
-        <data-member access='private'>
-          <var-decl name='hashinfo' type-id='type-id-2261' visibility='default' filepath='include/net/sock.h' line='1163' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='udp_table' type-id='type-id-5858' visibility='default' filepath='include/net/sock.h' line='1164' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='raw_hash' type-id='type-id-5846' visibility='default' filepath='include/net/sock.h' line='1165' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='smc_hash' type-id='type-id-5848' visibility='default' filepath='include/net/sock.h' line='1166' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='sock_diag_handler' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/sock_diag.h' line='15' column='1' id='type-id-6188'>
+      <class-decl name='__anonymous_struct__1' size-in-bits='384' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/net/xfrm.h' line='160' column='1' id='type-id-8295'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='family' type-id='type-id-895' visibility='default' filepath='include/linux/sock_diag.h' line='16' column='1'/>
+          <var-decl name='reqid' type-id='type-id-9' visibility='default' filepath='include/net/xfrm.h' line='161' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='mode' type-id='type-id-53' visibility='default' filepath='include/net/xfrm.h' line='162' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='40'>
+          <var-decl name='replay_window' type-id='type-id-53' visibility='default' filepath='include/net/xfrm.h' line='163' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='aalgo' type-id='type-id-53' visibility='default' filepath='include/net/xfrm.h' line='164' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='56'>
+          <var-decl name='ealgo' type-id='type-id-53' visibility='default' filepath='include/net/xfrm.h' line='164' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='dump' type-id='type-id-6189' visibility='default' filepath='include/linux/sock_diag.h' line='17' column='1'/>
+          <var-decl name='calgo' type-id='type-id-53' visibility='default' filepath='include/net/xfrm.h' line='164' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='72'>
+          <var-decl name='flags' type-id='type-id-53' visibility='default' filepath='include/net/xfrm.h' line='165' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='80'>
+          <var-decl name='family' type-id='type-id-289' visibility='default' filepath='include/net/xfrm.h' line='166' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='saddr' type-id='type-id-8310' visibility='default' filepath='include/net/xfrm.h' line='167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='header_len' type-id='type-id-11' visibility='default' filepath='include/net/xfrm.h' line='168' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='trailer_len' type-id='type-id-11' visibility='default' filepath='include/net/xfrm.h' line='169' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='extra_flags' type-id='type-id-9' visibility='default' filepath='include/net/xfrm.h' line='170' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='smark' type-id='type-id-8293' visibility='default' filepath='include/net/xfrm.h' line='171' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='xfrm_lifetime_cfg' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/uapi/linux/xfrm.h' line='66' column='1' id='type-id-8296'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='soft_byte_limit' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/xfrm.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='hard_byte_limit' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/xfrm.h' line='68' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='get_info' type-id='type-id-6190' visibility='default' filepath='include/linux/sock_diag.h' line='18' column='1'/>
+          <var-decl name='soft_packet_limit' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/xfrm.h' line='69' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='destroy' type-id='type-id-6189' visibility='default' filepath='include/linux/sock_diag.h' line='19' column='1'/>
+          <var-decl name='hard_packet_limit' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/xfrm.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='soft_add_expires_seconds' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/xfrm.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='hard_add_expires_seconds' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/xfrm.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='soft_use_expires_seconds' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/xfrm.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='hard_use_expires_seconds' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/xfrm.h' line='74' column='1'/>
         </data-member>
       </class-decl>
-      <qualified-type-def type-id='type-id-6188' const='yes' id='type-id-6191'/>
-      <pointer-type-def type-id='type-id-6191' size-in-bits='64' id='type-id-6192'/>
-      <pointer-type-def type-id='type-id-6193' size-in-bits='64' id='type-id-6189'/>
-      <pointer-type-def type-id='type-id-6194' size-in-bits='64' id='type-id-6190'/>
+      <class-decl name='xfrm_algo_auth' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/uapi/linux/xfrm.h' line='108' column='1' id='type-id-8314'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='alg_name' type-id='type-id-4264' visibility='default' filepath='include/uapi/linux/xfrm.h' line='109' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='alg_key_len' type-id='type-id-10' visibility='default' filepath='include/uapi/linux/xfrm.h' line='110' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='alg_trunc_len' type-id='type-id-10' visibility='default' filepath='include/uapi/linux/xfrm.h' line='111' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='alg_key' type-id='type-id-1049' visibility='default' filepath='include/uapi/linux/xfrm.h' line='112' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='xfrm_algo' size-in-bits='544' is-struct='yes' visibility='default' filepath='include/uapi/linux/xfrm.h' line='102' column='1' id='type-id-8315'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='alg_name' type-id='type-id-4264' visibility='default' filepath='include/uapi/linux/xfrm.h' line='103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='alg_key_len' type-id='type-id-10' visibility='default' filepath='include/uapi/linux/xfrm.h' line='104' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='alg_key' type-id='type-id-1049' visibility='default' filepath='include/uapi/linux/xfrm.h' line='105' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='xfrm_algo_aead' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/uapi/linux/xfrm.h' line='115' column='1' id='type-id-8316'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='alg_name' type-id='type-id-4264' visibility='default' filepath='include/uapi/linux/xfrm.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='alg_key_len' type-id='type-id-10' visibility='default' filepath='include/uapi/linux/xfrm.h' line='117' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='alg_icv_len' type-id='type-id-10' visibility='default' filepath='include/uapi/linux/xfrm.h' line='118' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='alg_key' type-id='type-id-1049' visibility='default' filepath='include/uapi/linux/xfrm.h' line='119' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='xfrm_encap_tmpl' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/uapi/linux/xfrm.h' line='249' column='1' id='type-id-8317'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='encap_type' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/xfrm.h' line='250' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='encap_sport' type-id='type-id-3573' visibility='default' filepath='include/uapi/linux/xfrm.h' line='251' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='encap_dport' type-id='type-id-3573' visibility='default' filepath='include/uapi/linux/xfrm.h' line='252' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='encap_oa' type-id='type-id-8310' visibility='default' filepath='include/uapi/linux/xfrm.h' line='253' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='xfrm_replay_state' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/uapi/linux/xfrm.h' line='84' column='1' id='type-id-8302'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='oseq' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/xfrm.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='seq' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/xfrm.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='bitmap' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/xfrm.h' line='87' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='xfrm_replay_state_esn' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/uapi/linux/xfrm.h' line='92' column='1' id='type-id-8318'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bmp_len' type-id='type-id-10' visibility='default' filepath='include/uapi/linux/xfrm.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='oseq' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/xfrm.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='seq' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/xfrm.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='oseq_hi' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/xfrm.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='seq_hi' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/xfrm.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='replay_window' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/xfrm.h' line='98' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='bmp' type-id='type-id-6764' visibility='default' filepath='include/uapi/linux/xfrm.h' line='99' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='xfrm_replay' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/net/xfrm.h' line='285' column='1' id='type-id-8319'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='advance' type-id='type-id-8320' visibility='default' filepath='include/net/xfrm.h' line='286' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='check' type-id='type-id-8321' visibility='default' filepath='include/net/xfrm.h' line='287' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='recheck' type-id='type-id-8321' visibility='default' filepath='include/net/xfrm.h' line='290' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='notify' type-id='type-id-8322' visibility='default' filepath='include/net/xfrm.h' line='293' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='overflow' type-id='type-id-8323' visibility='default' filepath='include/net/xfrm.h' line='294' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='xfrm_stats' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/uapi/linux/xfrm.h' line='122' column='1' id='type-id-8305'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='replay_window' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/xfrm.h' line='123' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='replay' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/xfrm.h' line='124' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='integrity_failed' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/xfrm.h' line='125' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='xfrm_lifetime_cur' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/uapi/linux/xfrm.h' line='77' column='1' id='type-id-8306'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bytes' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/xfrm.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='packets' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/xfrm.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='add_time' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/xfrm.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='use_time' type-id='type-id-1120' visibility='default' filepath='include/uapi/linux/xfrm.h' line='81' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='tasklet_hrtimer' size-in-bits='896' is-struct='yes' visibility='default' filepath='include/linux/interrupt.h' line='626' column='1' id='type-id-8307'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='timer' type-id='type-id-2120' visibility='default' filepath='include/linux/interrupt.h' line='627' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='tasklet' type-id='type-id-4062' visibility='default' filepath='include/linux/interrupt.h' line='628' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='function' type-id='type-id-5172' visibility='default' filepath='include/linux/interrupt.h' line='629' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='xfrm_state_offload' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/net/xfrm.h' line='128' column='1' id='type-id-8308'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-2976' visibility='default' filepath='include/net/xfrm.h' line='129' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='offload_handle' type-id='type-id-100' visibility='default' filepath='include/net/xfrm.h' line='130' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='num_exthdrs' type-id='type-id-10' visibility='default' filepath='include/net/xfrm.h' line='131' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='flags' type-id='type-id-53' visibility='default' filepath='include/net/xfrm.h' line='132' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='xfrm_type' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/net/xfrm.h' line='390' column='1' id='type-id-8324'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='description' type-id='type-id-300' visibility='default' filepath='include/net/xfrm.h' line='391' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/net/xfrm.h' line='392' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='proto' type-id='type-id-53' visibility='default' filepath='include/net/xfrm.h' line='393' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='136'>
+          <var-decl name='flags' type-id='type-id-53' visibility='default' filepath='include/net/xfrm.h' line='394' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='init_state' type-id='type-id-8325' visibility='default' filepath='include/net/xfrm.h' line='400' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='destructor' type-id='type-id-8326' visibility='default' filepath='include/net/xfrm.h' line='401' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='input' type-id='type-id-8323' visibility='default' filepath='include/net/xfrm.h' line='402' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='output' type-id='type-id-8323' visibility='default' filepath='include/net/xfrm.h' line='403' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='reject' type-id='type-id-8327' visibility='default' filepath='include/net/xfrm.h' line='404' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='hdr_offset' type-id='type-id-8328' visibility='default' filepath='include/net/xfrm.h' line='406' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='get_mtu' type-id='type-id-8329' visibility='default' filepath='include/net/xfrm.h' line='408' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='xfrm_mode' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/net/xfrm.h' line='426' column='1' id='type-id-8330'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='input2' type-id='type-id-8323' visibility='default' filepath='include/net/xfrm.h' line='438' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='input' type-id='type-id-8323' visibility='default' filepath='include/net/xfrm.h' line='448' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='output2' type-id='type-id-8323' visibility='default' filepath='include/net/xfrm.h' line='461' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='output' type-id='type-id-8323' visibility='default' filepath='include/net/xfrm.h' line='472' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='gso_segment' type-id='type-id-8331' visibility='default' filepath='include/net/xfrm.h' line='477' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='xmit' type-id='type-id-8332' visibility='default' filepath='include/net/xfrm.h' line='482' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='afinfo' type-id='type-id-8333' visibility='default' filepath='include/net/xfrm.h' line='484' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/net/xfrm.h' line='485' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='encap' type-id='type-id-10' visibility='default' filepath='include/net/xfrm.h' line='486' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='flags' type-id='type-id-11' visibility='default' filepath='include/net/xfrm.h' line='487' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='xfrm_state_afinfo' size-in-bits='33984' is-struct='yes' visibility='default' filepath='include/net/xfrm.h' line='344' column='1' id='type-id-8334'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='family' type-id='type-id-10' visibility='default' filepath='include/net/xfrm.h' line='345' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='proto' type-id='type-id-10' visibility='default' filepath='include/net/xfrm.h' line='346' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='eth_proto' type-id='type-id-3573' visibility='default' filepath='include/net/xfrm.h' line='347' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/net/xfrm.h' line='348' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='type_map' type-id='type-id-8272' visibility='default' filepath='include/net/xfrm.h' line='349' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16576'>
+          <var-decl name='type_offload_map' type-id='type-id-8274' visibility='default' filepath='include/net/xfrm.h' line='350' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32960'>
+          <var-decl name='mode_map' type-id='type-id-8277' visibility='default' filepath='include/net/xfrm.h' line='351' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='33280'>
+          <var-decl name='init_flags' type-id='type-id-8325' visibility='default' filepath='include/net/xfrm.h' line='353' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='33344'>
+          <var-decl name='init_tempsel' type-id='type-id-8335' visibility='default' filepath='include/net/xfrm.h' line='354' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='33408'>
+          <var-decl name='init_temprop' type-id='type-id-8336' visibility='default' filepath='include/net/xfrm.h' line='356' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='33472'>
+          <var-decl name='tmpl_sort' type-id='type-id-8337' visibility='default' filepath='include/net/xfrm.h' line='360' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='33536'>
+          <var-decl name='state_sort' type-id='type-id-8338' visibility='default' filepath='include/net/xfrm.h' line='361' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='33600'>
+          <var-decl name='output' type-id='type-id-6896' visibility='default' filepath='include/net/xfrm.h' line='362' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='33664'>
+          <var-decl name='output_finish' type-id='type-id-6454' visibility='default' filepath='include/net/xfrm.h' line='363' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='33728'>
+          <var-decl name='extract_input' type-id='type-id-8323' visibility='default' filepath='include/net/xfrm.h' line='364' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='33792'>
+          <var-decl name='extract_output' type-id='type-id-8323' visibility='default' filepath='include/net/xfrm.h' line='366' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='33856'>
+          <var-decl name='transport_finish' type-id='type-id-8339' visibility='default' filepath='include/net/xfrm.h' line='368' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='33920'>
+          <var-decl name='local_error' type-id='type-id-8340' visibility='default' filepath='include/net/xfrm.h' line='370' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='xfrm_type_offload' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/net/xfrm.h' line='414' column='1' id='type-id-8341'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='description' type-id='type-id-300' visibility='default' filepath='include/net/xfrm.h' line='415' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/net/xfrm.h' line='416' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='proto' type-id='type-id-53' visibility='default' filepath='include/net/xfrm.h' line='417' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='encap' type-id='type-id-8332' visibility='default' filepath='include/net/xfrm.h' line='418' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='input_tail' type-id='type-id-8323' visibility='default' filepath='include/net/xfrm.h' line='419' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='xmit' type-id='type-id-8342' visibility='default' filepath='include/net/xfrm.h' line='420' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='xfrm_tmpl' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/net/xfrm.h' line='519' column='1' id='type-id-8282'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='id' type-id='type-id-8291' visibility='default' filepath='include/net/xfrm.h' line='526' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='saddr' type-id='type-id-8310' visibility='default' filepath='include/net/xfrm.h' line='529' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='encap_family' type-id='type-id-288' visibility='default' filepath='include/net/xfrm.h' line='531' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='reqid' type-id='type-id-9' visibility='default' filepath='include/net/xfrm.h' line='533' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='mode' type-id='type-id-53' visibility='default' filepath='include/net/xfrm.h' line='536' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='392'>
+          <var-decl name='share' type-id='type-id-53' visibility='default' filepath='include/net/xfrm.h' line='539' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='400'>
+          <var-decl name='optional' type-id='type-id-53' visibility='default' filepath='include/net/xfrm.h' line='542' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='408'>
+          <var-decl name='allalgs' type-id='type-id-53' visibility='default' filepath='include/net/xfrm.h' line='545' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='aalgos' type-id='type-id-9' visibility='default' filepath='include/net/xfrm.h' line='548' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='ealgos' type-id='type-id-9' visibility='default' filepath='include/net/xfrm.h' line='549' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='calgos' type-id='type-id-9' visibility='default' filepath='include/net/xfrm.h' line='550' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='xfrm_policy' size-in-bits='6272' is-struct='yes' visibility='default' filepath='include/net/xfrm.h' line='573' column='1' id='type-id-8343'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='xp_net' type-id='type-id-6469' visibility='default' filepath='include/net/xfrm.h' line='574' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='bydst' type-id='type-id-378' visibility='default' filepath='include/net/xfrm.h' line='575' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='byidx' type-id='type-id-378' visibility='default' filepath='include/net/xfrm.h' line='576' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='lock' type-id='type-id-1847' visibility='default' filepath='include/net/xfrm.h' line='579' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='refcnt' type-id='type-id-12' visibility='default' filepath='include/net/xfrm.h' line='580' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='timer' type-id='type-id-1240' visibility='default' filepath='include/net/xfrm.h' line='581' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='genid' type-id='type-id-137' visibility='default' filepath='include/net/xfrm.h' line='583' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='800'>
+          <var-decl name='priority' type-id='type-id-9' visibility='default' filepath='include/net/xfrm.h' line='584' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='index' type-id='type-id-9' visibility='default' filepath='include/net/xfrm.h' line='585' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='864'>
+          <var-decl name='if_id' type-id='type-id-9' visibility='default' filepath='include/net/xfrm.h' line='586' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='mark' type-id='type-id-8293' visibility='default' filepath='include/net/xfrm.h' line='587' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='selector' type-id='type-id-8292' visibility='default' filepath='include/net/xfrm.h' line='588' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='lft' type-id='type-id-8296' visibility='default' filepath='include/net/xfrm.h' line='589' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='curlft' type-id='type-id-8306' visibility='default' filepath='include/net/xfrm.h' line='590' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='walk' type-id='type-id-8344' visibility='default' filepath='include/net/xfrm.h' line='591' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='polq' type-id='type-id-8345' visibility='default' filepath='include/net/xfrm.h' line='592' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2944'>
+          <var-decl name='type' type-id='type-id-53' visibility='default' filepath='include/net/xfrm.h' line='593' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2952'>
+          <var-decl name='action' type-id='type-id-53' visibility='default' filepath='include/net/xfrm.h' line='594' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2960'>
+          <var-decl name='flags' type-id='type-id-53' visibility='default' filepath='include/net/xfrm.h' line='595' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2968'>
+          <var-decl name='xfrm_nr' type-id='type-id-53' visibility='default' filepath='include/net/xfrm.h' line='596' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2976'>
+          <var-decl name='family' type-id='type-id-289' visibility='default' filepath='include/net/xfrm.h' line='597' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3008'>
+          <var-decl name='security' type-id='type-id-8309' visibility='default' filepath='include/net/xfrm.h' line='598' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3072'>
+          <var-decl name='xfrm_vec' type-id='type-id-8283' visibility='default' filepath='include/net/xfrm.h' line='599' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6144'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/net/xfrm.h' line='600' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='xfrm_policy_walk_entry' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/net/xfrm.h' line='556' column='1' id='type-id-8344'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='all' type-id='type-id-8' visibility='default' filepath='include/net/xfrm.h' line='557' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='dead' type-id='type-id-53' visibility='default' filepath='include/net/xfrm.h' line='558' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='xfrm_policy_queue' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/net/xfrm.h' line='567' column='1' id='type-id-8345'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='hold_queue' type-id='type-id-6446' visibility='default' filepath='include/net/xfrm.h' line='568' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='hold_timer' type-id='type-id-1240' visibility='default' filepath='include/net/xfrm.h' line='569' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='timeout' type-id='type-id-100' visibility='default' filepath='include/net/xfrm.h' line='570' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='xfrm_sec_ctx' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/linux/xfrm.h' line='31' column='1' id='type-id-8346'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='ctx_doi' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/xfrm.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='ctx_alg' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/xfrm.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='ctx_len' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/xfrm.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='ctx_sid' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/xfrm.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ctx_str' type-id='type-id-1049' visibility='default' filepath='include/uapi/linux/xfrm.h' line='36' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='rt6_exception_bucket' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/net/ip6_fib.h' line='110' column='1' id='type-id-8347'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='chain' type-id='type-id-297' visibility='default' filepath='include/net/ip6_fib.h' line='111' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='depth' type-id='type-id-11' visibility='default' filepath='include/net/ip6_fib.h' line='112' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='fib6_nh' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/net/ip6_fib.h' line='126' column='1' id='type-id-8348'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='nh_gw' type-id='type-id-3028' visibility='default' filepath='include/net/ip6_fib.h' line='127' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='nh_dev' type-id='type-id-2976' visibility='default' filepath='include/net/ip6_fib.h' line='128' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='nh_lwtstate' type-id='type-id-6897' visibility='default' filepath='include/net/ip6_fib.h' line='129' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='nh_flags' type-id='type-id-10' visibility='default' filepath='include/net/ip6_fib.h' line='131' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='nh_upper_bound' type-id='type-id-137' visibility='default' filepath='include/net/ip6_fib.h' line='132' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='nh_weight' type-id='type-id-11' visibility='default' filepath='include/net/ip6_fib.h' line='133' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='xfrm_offload' size-in-bits='160' is-struct='yes' visibility='default' filepath='include/net/xfrm.h' line='1070' column='1' id='type-id-8278'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='seq' type-id='type-id-8349' visibility='default' filepath='include/net/xfrm.h' line='1075' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='flags' type-id='type-id-266' visibility='default' filepath='include/net/xfrm.h' line='1077' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='status' type-id='type-id-266' visibility='default' filepath='include/net/xfrm.h' line='1087' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='proto' type-id='type-id-1122' visibility='default' filepath='include/net/xfrm.h' line='1097' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__2' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/net/xfrm.h' line='1072' column='1' id='type-id-8349'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='low' type-id='type-id-266' visibility='default' filepath='include/net/xfrm.h' line='1073' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='hi' type-id='type-id-266' visibility='default' filepath='include/net/xfrm.h' line='1074' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-6634' const='yes' id='type-id-8350'/>
+      <pointer-type-def type-id='type-id-8350' size-in-bits='64' id='type-id-8351'/>
+      <qualified-type-def type-id='type-id-8310' const='yes' id='type-id-8352'/>
+      <pointer-type-def type-id='type-id-8352' size-in-bits='64' id='type-id-8353'/>
+      <qualified-type-def type-id='type-id-8319' const='yes' id='type-id-8354'/>
+      <pointer-type-def type-id='type-id-8354' size-in-bits='64' id='type-id-8304'/>
+      <qualified-type-def type-id='type-id-8282' const='yes' id='type-id-8355'/>
+      <pointer-type-def type-id='type-id-8355' size-in-bits='64' id='type-id-8356'/>
+      <qualified-type-def type-id='type-id-8324' const='yes' id='type-id-8357'/>
+      <pointer-type-def type-id='type-id-8357' size-in-bits='64' id='type-id-8271'/>
+      <qualified-type-def type-id='type-id-8341' const='yes' id='type-id-8358'/>
+      <pointer-type-def type-id='type-id-8358' size-in-bits='64' id='type-id-8273'/>
+      <pointer-type-def type-id='type-id-8286' size-in-bits='64' id='type-id-8359'/>
+      <pointer-type-def type-id='type-id-8284' size-in-bits='64' id='type-id-8285'/>
+      <pointer-type-def type-id='type-id-8360' size-in-bits='64' id='type-id-8339'/>
+      <pointer-type-def type-id='type-id-8361' size-in-bits='64' id='type-id-8325'/>
+      <pointer-type-def type-id='type-id-8362' size-in-bits='64' id='type-id-8338'/>
+      <pointer-type-def type-id='type-id-8363' size-in-bits='64' id='type-id-8323'/>
+      <pointer-type-def type-id='type-id-8364' size-in-bits='64' id='type-id-8327'/>
+      <pointer-type-def type-id='type-id-8365' size-in-bits='64' id='type-id-8321'/>
+      <pointer-type-def type-id='type-id-8366' size-in-bits='64' id='type-id-8342'/>
+      <pointer-type-def type-id='type-id-8367' size-in-bits='64' id='type-id-8328'/>
+      <pointer-type-def type-id='type-id-8368' size-in-bits='64' id='type-id-8337'/>
+      <pointer-type-def type-id='type-id-8347' size-in-bits='64' id='type-id-8369'/>
+      <pointer-type-def type-id='type-id-8288' size-in-bits='64' id='type-id-8370'/>
+      <pointer-type-def type-id='type-id-8370' size-in-bits='64' id='type-id-8371'/>
+      <pointer-type-def type-id='type-id-8372' size-in-bits='64' id='type-id-8331'/>
+      <pointer-type-def type-id='type-id-8373' size-in-bits='64' id='type-id-8329'/>
+      <pointer-type-def type-id='type-id-8374' size-in-bits='64' id='type-id-8340'/>
+      <pointer-type-def type-id='type-id-8375' size-in-bits='64' id='type-id-8335'/>
+      <pointer-type-def type-id='type-id-8376' size-in-bits='64' id='type-id-8326'/>
+      <pointer-type-def type-id='type-id-8377' size-in-bits='64' id='type-id-8336'/>
+      <pointer-type-def type-id='type-id-8378' size-in-bits='64' id='type-id-8322'/>
+      <pointer-type-def type-id='type-id-8379' size-in-bits='64' id='type-id-8332'/>
+      <pointer-type-def type-id='type-id-8380' size-in-bits='64' id='type-id-8320'/>
+      <pointer-type-def type-id='type-id-8313' size-in-bits='64' id='type-id-8312'/>
+      <pointer-type-def type-id='type-id-8310' size-in-bits='64' id='type-id-8301'/>
+      <pointer-type-def type-id='type-id-8315' size-in-bits='64' id='type-id-8298'/>
+      <pointer-type-def type-id='type-id-8316' size-in-bits='64' id='type-id-8299'/>
+      <pointer-type-def type-id='type-id-8314' size-in-bits='64' id='type-id-8297'/>
+      <pointer-type-def type-id='type-id-8317' size-in-bits='64' id='type-id-8300'/>
+      <pointer-type-def type-id='type-id-8330' size-in-bits='64' id='type-id-8276'/>
+      <pointer-type-def type-id='type-id-8343' size-in-bits='64' id='type-id-8381'/>
+      <pointer-type-def type-id='type-id-8318' size-in-bits='64' id='type-id-8303'/>
+      <pointer-type-def type-id='type-id-8346' size-in-bits='64' id='type-id-8309'/>
+      <pointer-type-def type-id='type-id-8292' size-in-bits='64' id='type-id-8382'/>
+      <pointer-type-def type-id='type-id-8289' size-in-bits='64' id='type-id-8280'/>
+      <pointer-type-def type-id='type-id-8280' size-in-bits='64' id='type-id-8383'/>
+      <pointer-type-def type-id='type-id-8334' size-in-bits='64' id='type-id-8333'/>
+      <pointer-type-def type-id='type-id-8282' size-in-bits='64' id='type-id-8384'/>
+      <pointer-type-def type-id='type-id-8384' size-in-bits='64' id='type-id-8385'/>
+      <function-decl name='net_enable_timestamp' mangled-name='net_enable_timestamp' filepath='include/linux/netdevice.h' line='4300' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='net_enable_timestamp'>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='sock_wfree' mangled-name='sock_wfree' filepath='net/core/sock.c' line='1801' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_wfree'>
+        <parameter type-id='type-id-513' name='skb' filepath='net/core/sock.c' line='1801' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='sock_i_uid' mangled-name='sock_i_uid' filepath='net/core/sock.c' line='1908' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_i_uid'>
+        <parameter type-id='type-id-2995' name='sk' filepath='net/core/sock.c' line='1908' column='1'/>
+        <return type-id='type-id-4567'/>
+      </function-decl>
+      <function-decl name='sock_i_ino' mangled-name='sock_i_ino' filepath='net/core/sock.c' line='1919' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_i_ino'>
+        <parameter type-id='type-id-2995' name='sk' filepath='net/core/sock.c' line='1919' column='1'/>
+        <return type-id='type-id-100'/>
+      </function-decl>
+      <function-decl name='__sk_mem_schedule' mangled-name='__sk_mem_schedule' filepath='net/core/sock.c' line='2484' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__sk_mem_schedule'>
+        <parameter type-id='type-id-2995' name='sk' filepath='net/core/sock.c' line='2484' column='1'/>
+        <parameter type-id='type-id-11' name='size' filepath='net/core/sock.c' line='2484' column='1'/>
+        <parameter type-id='type-id-11' name='kind' filepath='net/core/sock.c' line='2484' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__sk_mem_reclaim' mangled-name='__sk_mem_reclaim' filepath='net/core/sock.c' line='2521' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__sk_mem_reclaim'>
+        <parameter type-id='type-id-2995' name='sk' filepath='net/core/sock.c' line='2521' column='1'/>
+        <parameter type-id='type-id-11' name='amount' filepath='net/core/sock.c' line='2521' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='sock_no_socketpair' mangled-name='sock_no_socketpair' filepath='net/core/sock.c' line='2556' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_no_socketpair'>
+        <parameter type-id='type-id-2985' name='sock1' filepath='net/core/sock.c' line='2556' column='1'/>
+        <parameter type-id='type-id-2985' name='sock2' filepath='net/core/sock.c' line='2556' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='sock_no_accept' mangled-name='sock_no_accept' filepath='net/core/sock.c' line='2562' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_no_accept'>
+        <parameter type-id='type-id-2985' name='sock' filepath='net/core/sock.c' line='2562' column='1'/>
+        <parameter type-id='type-id-2985' name='newsock' filepath='net/core/sock.c' line='2562' column='1'/>
+        <parameter type-id='type-id-11' name='flags' filepath='net/core/sock.c' line='2562' column='1'/>
+        <parameter type-id='type-id-211' name='kern' filepath='net/core/sock.c' line='2563' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='sock_no_ioctl' mangled-name='sock_no_ioctl' filepath='net/core/sock.c' line='2576' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_no_ioctl'>
+        <parameter type-id='type-id-2985' name='sock' filepath='net/core/sock.c' line='2576' column='1'/>
+        <parameter type-id='type-id-10' name='cmd' filepath='net/core/sock.c' line='2576' column='1'/>
+        <parameter type-id='type-id-100' name='arg' filepath='net/core/sock.c' line='2576' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='sock_no_listen' mangled-name='sock_no_listen' filepath='net/core/sock.c' line='2582' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_no_listen'>
+        <parameter type-id='type-id-2985' name='sock' filepath='net/core/sock.c' line='2582' column='1'/>
+        <parameter type-id='type-id-11' name='backlog' filepath='net/core/sock.c' line='2582' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='sock_no_setsockopt' mangled-name='sock_no_setsockopt' filepath='net/core/sock.c' line='2594' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_no_setsockopt'>
+        <parameter type-id='type-id-2985' name='sock' filepath='net/core/sock.c' line='2594' column='1'/>
+        <parameter type-id='type-id-11' name='level' filepath='net/core/sock.c' line='2594' column='1'/>
+        <parameter type-id='type-id-11' name='optname' filepath='net/core/sock.c' line='2594' column='1'/>
+        <parameter type-id='type-id-300' name='optval' filepath='net/core/sock.c' line='2595' column='1'/>
+        <parameter type-id='type-id-10' name='optlen' filepath='net/core/sock.c' line='2595' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='sock_no_getsockopt' mangled-name='sock_no_getsockopt' filepath='net/core/sock.c' line='2601' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_no_getsockopt'>
+        <parameter type-id='type-id-2985' name='sock' filepath='net/core/sock.c' line='2601' column='1'/>
+        <parameter type-id='type-id-11' name='level' filepath='net/core/sock.c' line='2601' column='1'/>
+        <parameter type-id='type-id-11' name='optname' filepath='net/core/sock.c' line='2601' column='1'/>
+        <parameter type-id='type-id-300' name='optval' filepath='net/core/sock.c' line='2602' column='1'/>
+        <parameter type-id='type-id-82' name='optlen' filepath='net/core/sock.c' line='2602' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='sock_no_mmap' mangled-name='sock_no_mmap' filepath='net/core/sock.c' line='2627' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_no_mmap'>
+        <parameter type-id='type-id-147' name='file' filepath='net/core/sock.c' line='2627' column='1'/>
+        <parameter type-id='type-id-2985' name='sock' filepath='net/core/sock.c' line='2627' column='1'/>
+        <parameter type-id='type-id-132' name='vma' filepath='net/core/sock.c' line='2627' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='sock_common_getsockopt' mangled-name='sock_common_getsockopt' filepath='net/core/sock.c' line='3000' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_common_getsockopt'>
+        <parameter type-id='type-id-2985' name='sock' filepath='net/core/sock.c' line='3000' column='1'/>
+        <parameter type-id='type-id-11' name='level' filepath='net/core/sock.c' line='3000' column='1'/>
+        <parameter type-id='type-id-11' name='optname' filepath='net/core/sock.c' line='3000' column='1'/>
+        <parameter type-id='type-id-300' name='optval' filepath='net/core/sock.c' line='3001' column='1'/>
+        <parameter type-id='type-id-82' name='optlen' filepath='net/core/sock.c' line='3001' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='compat_sock_common_getsockopt' mangled-name='compat_sock_common_getsockopt' filepath='net/core/sock.c' line='3010' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_sock_common_getsockopt'>
+        <parameter type-id='type-id-2985' name='sock' filepath='net/core/sock.c' line='3010' column='1'/>
+        <parameter type-id='type-id-11' name='level' filepath='net/core/sock.c' line='3010' column='1'/>
+        <parameter type-id='type-id-11' name='optname' filepath='net/core/sock.c' line='3010' column='1'/>
+        <parameter type-id='type-id-300' name='optval' filepath='net/core/sock.c' line='3011' column='1'/>
+        <parameter type-id='type-id-82' name='optlen' filepath='net/core/sock.c' line='3011' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='sock_common_setsockopt' mangled-name='sock_common_setsockopt' filepath='net/core/sock.c' line='3041' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_common_setsockopt'>
+        <parameter type-id='type-id-2985' name='sock' filepath='net/core/sock.c' line='3041' column='1'/>
+        <parameter type-id='type-id-11' name='level' filepath='net/core/sock.c' line='3041' column='1'/>
+        <parameter type-id='type-id-11' name='optname' filepath='net/core/sock.c' line='3041' column='1'/>
+        <parameter type-id='type-id-300' name='optval' filepath='net/core/sock.c' line='3042' column='1'/>
+        <parameter type-id='type-id-10' name='optlen' filepath='net/core/sock.c' line='3042' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='compat_sock_common_setsockopt' mangled-name='compat_sock_common_setsockopt' filepath='net/core/sock.c' line='3051' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_sock_common_setsockopt'>
+        <parameter type-id='type-id-2985' name='sock' filepath='net/core/sock.c' line='3051' column='1'/>
+        <parameter type-id='type-id-11' name='level' filepath='net/core/sock.c' line='3051' column='1'/>
+        <parameter type-id='type-id-11' name='optname' filepath='net/core/sock.c' line='3051' column='1'/>
+        <parameter type-id='type-id-300' name='optval' filepath='net/core/sock.c' line='3052' column='1'/>
+        <parameter type-id='type-id-10' name='optlen' filepath='net/core/sock.c' line='3052' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='sk_common_release' mangled-name='sk_common_release' filepath='net/core/sock.c' line='3064' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sk_common_release'>
+        <parameter type-id='type-id-2995' name='sk' filepath='net/core/sock.c' line='3064' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='sock_prot_inuse_add' mangled-name='sock_prot_inuse_add' filepath='net/core/sock.c' line='3124' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_prot_inuse_add'>
+        <parameter type-id='type-id-2984' name='net' filepath='net/core/sock.c' line='3124' column='1'/>
+        <parameter type-id='type-id-2993' name='prot' filepath='net/core/sock.c' line='3124' column='1'/>
+        <parameter type-id='type-id-11' name='val' filepath='net/core/sock.c' line='3124' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='sk_busy_loop_end' mangled-name='sk_busy_loop_end' filepath='net/core/sock.c' line='3483' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sk_busy_loop_end'>
+        <parameter type-id='type-id-3' name='p' filepath='net/core/sock.c' line='3483' column='1'/>
+        <parameter type-id='type-id-100' name='start_time' filepath='net/core/sock.c' line='3483' column='1'/>
+        <return type-id='type-id-211'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-8360'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8361'>
+        <parameter type-id='type-id-8280'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8362'>
+        <parameter type-id='type-id-8383'/>
+        <parameter type-id='type-id-8383'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8363'>
+        <parameter type-id='type-id-8280'/>
+        <parameter type-id='type-id-513'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8364'>
+        <parameter type-id='type-id-8280'/>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-8351'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8365'>
+        <parameter type-id='type-id-8280'/>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-2085'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8366'>
+        <parameter type-id='type-id-8280'/>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-6450'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8367'>
+        <parameter type-id='type-id-8280'/>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-3058'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8368'>
+        <parameter type-id='type-id-8385'/>
+        <parameter type-id='type-id-8385'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8372'>
+        <parameter type-id='type-id-8280'/>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-6450'/>
+        <return type-id='type-id-513'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8373'>
+        <parameter type-id='type-id-8280'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-9'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8374'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-9'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8375'>
+        <parameter type-id='type-id-8382'/>
+        <parameter type-id='type-id-8351'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8376'>
+        <parameter type-id='type-id-8280'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8377'>
+        <parameter type-id='type-id-8280'/>
+        <parameter type-id='type-id-8356'/>
+        <parameter type-id='type-id-8353'/>
+        <parameter type-id='type-id-8353'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8378'>
+        <parameter type-id='type-id-8280'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8379'>
+        <parameter type-id='type-id-8280'/>
+        <parameter type-id='type-id-513'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8380'>
+        <parameter type-id='type-id-8280'/>
+        <parameter type-id='type-id-2085'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <union-decl name='__anonymous_union__2' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/net/xfrm.h' line='138' column='1' id='type-id-8290'>
+        <data-member access='private'>
+          <var-decl name='gclist' type-id='type-id-378' visibility='default' filepath='include/net/xfrm.h' line='139' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='bydst' type-id='type-id-378' visibility='default' filepath='include/net/xfrm.h' line='140' column='1'/>
+        </data-member>
+      </union-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='net/core/sock_diag.c' language='LANG_C89'>
+      <class-decl name='sock_diag_handler' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/sock_diag.h' line='15' column='1' id='type-id-8386'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='family' type-id='type-id-1122' visibility='default' filepath='include/linux/sock_diag.h' line='16' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dump' type-id='type-id-8387' visibility='default' filepath='include/linux/sock_diag.h' line='17' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='get_info' type-id='type-id-8388' visibility='default' filepath='include/linux/sock_diag.h' line='18' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='destroy' type-id='type-id-8387' visibility='default' filepath='include/linux/sock_diag.h' line='19' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-266' const='yes' id='type-id-8389'/>
+      <pointer-type-def type-id='type-id-8389' size-in-bits='64' id='type-id-8390'/>
+      <qualified-type-def type-id='type-id-8386' const='yes' id='type-id-8391'/>
+      <pointer-type-def type-id='type-id-8391' size-in-bits='64' id='type-id-8392'/>
+      <pointer-type-def type-id='type-id-8393' size-in-bits='64' id='type-id-8387'/>
+      <pointer-type-def type-id='type-id-8394' size-in-bits='64' id='type-id-8388'/>
+      <function-decl name='sock_diag_check_cookie' mangled-name='sock_diag_check_cookie' filepath='net/core/sock_diag.c' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_diag_check_cookie'>
+        <parameter type-id='type-id-2995' name='sk' filepath='net/core/sock_diag.c' line='35' column='1'/>
+        <parameter type-id='type-id-8390' name='cookie' filepath='net/core/sock_diag.c' line='35' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
       <function-decl name='sock_diag_save_cookie' mangled-name='sock_diag_save_cookie' filepath='net/core/sock_diag.c' line='50' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_diag_save_cookie'>
-        <parameter type-id='type-id-3666' name='sk' filepath='net/core/sock_diag.c' line='50' column='1'/>
-        <parameter type-id='type-id-3629' name='cookie' filepath='net/core/sock_diag.c' line='50' column='1'/>
-        <return type-id='type-id-81'/>
+        <parameter type-id='type-id-2995' name='sk' filepath='net/core/sock_diag.c' line='50' column='1'/>
+        <parameter type-id='type-id-2594' name='cookie' filepath='net/core/sock_diag.c' line='50' column='1'/>
+        <return type-id='type-id-73'/>
       </function-decl>
       <function-decl name='sock_diag_register' mangled-name='sock_diag_register' filepath='net/core/sock_diag.c' line='179' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_diag_register'>
-        <parameter type-id='type-id-6192' name='hndl' filepath='net/core/sock_diag.c' line='179' column='1'/>
-        <return type-id='type-id-17'/>
+        <parameter type-id='type-id-8392' name='hndl' filepath='net/core/sock_diag.c' line='179' column='1'/>
+        <return type-id='type-id-11'/>
       </function-decl>
       <function-decl name='sock_diag_unregister' mangled-name='sock_diag_unregister' filepath='net/core/sock_diag.c' line='197' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_diag_unregister'>
-        <parameter type-id='type-id-6192' name='hnld' filepath='net/core/sock_diag.c' line='197' column='1'/>
-        <return type-id='type-id-81'/>
+        <parameter type-id='type-id-8392' name='hnld' filepath='net/core/sock_diag.c' line='197' column='1'/>
+        <return type-id='type-id-73'/>
       </function-decl>
-      <function-type size-in-bits='64' id='type-id-6193'>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-3035'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8393'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-7159'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6194'>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-3666'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8394'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-2995'/>
+        <return type-id='type-id-11'/>
       </function-type>
     </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='net/core/sysctl_net_core.c' language='LANG_C89'>
+      <function-decl name='register_net_sysctl' mangled-name='register_net_sysctl' filepath='include/net/net_namespace.h' line='386' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='register_net_sysctl'>
+        <parameter type-id='type-id-2984'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-75'/>
+        <return type-id='type-id-5655'/>
+      </function-decl>
+      <function-decl name='unregister_net_sysctl_table' mangled-name='unregister_net_sysctl_table' filepath='include/net/net_namespace.h' line='388' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unregister_net_sysctl_table'>
+        <parameter type-id='type-id-5655'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
     <abi-instr version='1.0' address-size='64' path='net/ethernet/eth.c' language='LANG_C89'>
-      <function-decl name='eth_type_trans' mangled-name='eth_type_trans' filepath='net/ethernet/eth.c' line='156' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='eth_type_trans'>
-        <parameter type-id='type-id-1768' name='skb' filepath='net/ethernet/eth.c' line='156' column='1'/>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/ethernet/eth.c' line='156' column='1'/>
-        <return type-id='type-id-926'/>
-      </function-decl>
       <function-decl name='eth_prepare_mac_addr_change' mangled-name='eth_prepare_mac_addr_change' filepath='net/ethernet/eth.c' line='274' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='eth_prepare_mac_addr_change'>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/ethernet/eth.c' line='274' column='1'/>
-        <parameter type-id='type-id-15' name='p' filepath='net/ethernet/eth.c' line='274' column='1'/>
-        <return type-id='type-id-17'/>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/ethernet/eth.c' line='274' column='1'/>
+        <parameter type-id='type-id-3' name='p' filepath='net/ethernet/eth.c' line='274' column='1'/>
+        <return type-id='type-id-11'/>
       </function-decl>
       <function-decl name='eth_commit_mac_addr_change' mangled-name='eth_commit_mac_addr_change' filepath='net/ethernet/eth.c' line='291' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='eth_commit_mac_addr_change'>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/ethernet/eth.c' line='291' column='1'/>
-        <parameter type-id='type-id-15' name='p' filepath='net/ethernet/eth.c' line='291' column='1'/>
-        <return type-id='type-id-81'/>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/ethernet/eth.c' line='291' column='1'/>
+        <parameter type-id='type-id-3' name='p' filepath='net/ethernet/eth.c' line='291' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='eth_mac_addr' mangled-name='eth_mac_addr' filepath='net/ethernet/eth.c' line='309' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='eth_mac_addr'>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/ethernet/eth.c' line='309' column='1'/>
+        <parameter type-id='type-id-3' name='p' filepath='net/ethernet/eth.c' line='309' column='1'/>
+        <return type-id='type-id-11'/>
       </function-decl>
       <function-decl name='eth_validate_addr' mangled-name='eth_validate_addr' filepath='net/ethernet/eth.c' line='337' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='eth_validate_addr'>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/ethernet/eth.c' line='337' column='1'/>
-        <return type-id='type-id-17'/>
-      </function-decl>
-      <function-decl name='ether_setup' mangled-name='ether_setup' filepath='net/ethernet/eth.c' line='359' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ether_setup'>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/ethernet/eth.c' line='359' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-decl name='alloc_etherdev_mqs' mangled-name='alloc_etherdev_mqs' filepath='net/ethernet/eth.c' line='393' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='alloc_etherdev_mqs'>
-        <parameter type-id='type-id-17' name='sizeof_priv' filepath='net/ethernet/eth.c' line='393' column='1'/>
-        <parameter type-id='type-id-5' name='txqs' filepath='net/ethernet/eth.c' line='393' column='1'/>
-        <parameter type-id='type-id-5' name='rxqs' filepath='net/ethernet/eth.c' line='394' column='1'/>
-        <return type-id='type-id-1650'/>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/ethernet/eth.c' line='337' column='1'/>
+        <return type-id='type-id-11'/>
       </function-decl>
     </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='net/sched/sch_generic.c' language='LANG_C89'>
-      <function-decl name='netif_carrier_on' mangled-name='netif_carrier_on' filepath='net/sched/sch_generic.c' line='510' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netif_carrier_on'>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/sched/sch_generic.c' line='510' column='1'/>
-        <return type-id='type-id-81'/>
+    <abi-instr version='1.0' address-size='64' path='net/ipv4/af_inet.c' language='LANG_C89'>
+      <function-decl name='inet_release' mangled-name='inet_release' filepath='net/ipv4/af_inet.c' line='406' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet_release'>
+        <parameter type-id='type-id-2985' name='sock' filepath='net/ipv4/af_inet.c' line='406' column='1'/>
+        <return type-id='type-id-11'/>
       </function-decl>
-      <function-decl name='netif_carrier_off' mangled-name='netif_carrier_off' filepath='net/sched/sch_generic.c' line='529' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='netif_carrier_off'>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/sched/sch_generic.c' line='529' column='1'/>
-        <return type-id='type-id-81'/>
+      <function-decl name='inet_bind' mangled-name='inet_bind' filepath='net/ipv4/af_inet.c' line='434' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet_bind'>
+        <parameter type-id='type-id-2985' name='sock' filepath='net/ipv4/af_inet.c' line='434' column='1'/>
+        <parameter type-id='type-id-7175' name='uaddr' filepath='net/ipv4/af_inet.c' line='434' column='1'/>
+        <parameter type-id='type-id-11' name='addr_len' filepath='net/ipv4/af_inet.c' line='434' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='inet_accept' mangled-name='inet_accept' filepath='net/ipv4/af_inet.c' line='729' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet_accept'>
+        <parameter type-id='type-id-2985' name='sock' filepath='net/ipv4/af_inet.c' line='729' column='1'/>
+        <parameter type-id='type-id-2985' name='newsock' filepath='net/ipv4/af_inet.c' line='729' column='1'/>
+        <parameter type-id='type-id-11' name='flags' filepath='net/ipv4/af_inet.c' line='729' column='1'/>
+        <parameter type-id='type-id-211' name='kern' filepath='net/ipv4/af_inet.c' line='730' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='inet_getname' mangled-name='inet_getname' filepath='net/ipv4/af_inet.c' line='760' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet_getname'>
+        <parameter type-id='type-id-2985' name='sock' filepath='net/ipv4/af_inet.c' line='760' column='1'/>
+        <parameter type-id='type-id-7175' name='uaddr' filepath='net/ipv4/af_inet.c' line='760' column='1'/>
+        <parameter type-id='type-id-11' name='peer' filepath='net/ipv4/af_inet.c' line='761' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='inet_sendmsg' mangled-name='inet_sendmsg' filepath='net/ipv4/af_inet.c' line='787' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet_sendmsg'>
+        <parameter type-id='type-id-2985' name='sock' filepath='net/ipv4/af_inet.c' line='787' column='1'/>
+        <parameter type-id='type-id-7149' name='msg' filepath='net/ipv4/af_inet.c' line='787' column='1'/>
+        <parameter type-id='type-id-125' name='size' filepath='net/ipv4/af_inet.c' line='787' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='inet_recvmsg' mangled-name='inet_recvmsg' filepath='net/ipv4/af_inet.c' line='820' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet_recvmsg'>
+        <parameter type-id='type-id-2985' name='sock' filepath='net/ipv4/af_inet.c' line='820' column='1'/>
+        <parameter type-id='type-id-7149' name='msg' filepath='net/ipv4/af_inet.c' line='820' column='1'/>
+        <parameter type-id='type-id-125' name='size' filepath='net/ipv4/af_inet.c' line='820' column='1'/>
+        <parameter type-id='type-id-11' name='flags' filepath='net/ipv4/af_inet.c' line='821' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='inet_shutdown' mangled-name='inet_shutdown' filepath='net/ipv4/af_inet.c' line='838' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet_shutdown'>
+        <parameter type-id='type-id-2985' name='sock' filepath='net/ipv4/af_inet.c' line='838' column='1'/>
+        <parameter type-id='type-id-11' name='how' filepath='net/ipv4/af_inet.c' line='838' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='inet_ioctl' mangled-name='inet_ioctl' filepath='net/ipv4/af_inet.c' line='904' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet_ioctl'>
+        <parameter type-id='type-id-2985' name='sock' filepath='net/ipv4/af_inet.c' line='904' column='1'/>
+        <parameter type-id='type-id-10' name='cmd' filepath='net/ipv4/af_inet.c' line='904' column='1'/>
+        <parameter type-id='type-id-100' name='arg' filepath='net/ipv4/af_inet.c' line='904' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='inet_unregister_protosw' mangled-name='inet_unregister_protosw' filepath='net/ipv4/af_inet.c' line='1167' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet_unregister_protosw'>
+        <parameter type-id='type-id-8395' name='p' filepath='net/ipv4/af_inet.c' line='1167' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='snmp_get_cpu_field' mangled-name='snmp_get_cpu_field' filepath='net/ipv4/af_inet.c' line='1620' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snmp_get_cpu_field'>
+        <parameter type-id='type-id-3' name='mib' filepath='net/ipv4/af_inet.c' line='1620' column='1'/>
+        <parameter type-id='type-id-11' name='cpu' filepath='net/ipv4/af_inet.c' line='1620' column='1'/>
+        <parameter type-id='type-id-11' name='offt' filepath='net/ipv4/af_inet.c' line='1620' column='1'/>
+        <return type-id='type-id-134'/>
       </function-decl>
     </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='net/netfilter/core.c' language='LANG_C89'>
-      <class-decl name='nf_conntrack' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/linux/skbuff.h' line='248' column='1' id='type-id-6195'>
+    <abi-instr version='1.0' address-size='64' path='net/ipv4/devinet.c' language='LANG_C89'>
+      <function-decl name='__ip_dev_find' mangled-name='__ip_dev_find' filepath='net/ipv4/devinet.c' line='144' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__ip_dev_find'>
+        <parameter type-id='type-id-2984' name='net' filepath='net/ipv4/devinet.c' line='144' column='1'/>
+        <parameter type-id='type-id-2085' name='addr' filepath='net/ipv4/devinet.c' line='144' column='1'/>
+        <parameter type-id='type-id-211' name='devref' filepath='net/ipv4/devinet.c' line='144' column='1'/>
+        <return type-id='type-id-2976'/>
+      </function-decl>
+      <function-decl name='register_inetaddr_notifier' mangled-name='register_inetaddr_notifier' filepath='net/ipv4/devinet.c' line='1390' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='register_inetaddr_notifier'>
+        <parameter type-id='type-id-103' name='nb' filepath='net/ipv4/devinet.c' line='1390' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='unregister_inetaddr_notifier' mangled-name='unregister_inetaddr_notifier' filepath='net/ipv4/devinet.c' line='1396' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unregister_inetaddr_notifier'>
+        <parameter type-id='type-id-103' name='nb' filepath='net/ipv4/devinet.c' line='1396' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='net/ipv4/gre_offload.c' language='LANG_C89'>
+      <function-decl name='inet6_add_offload' mangled-name='inet6_add_offload' filepath='include/net/protocol.h' line='117' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet6_add_offload'>
+        <parameter type-id='type-id-8396'/>
+        <parameter type-id='type-id-271'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='net/ipv4/inet_diag.c' language='LANG_C89'>
+      <class-decl name='inet_diag_msg' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/uapi/linux/inet_diag.h' line='113' column='1' id='type-id-8397'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='use' type-id='type-id-26' visibility='default' filepath='include/linux/skbuff.h' line='249' column='1'/>
+          <var-decl name='idiag_family' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/inet_diag.h' line='114' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='idiag_state' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/inet_diag.h' line='115' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='idiag_timer' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/inet_diag.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='idiag_retrans' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/inet_diag.h' line='117' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='id' type-id='type-id-8398' visibility='default' filepath='include/uapi/linux/inet_diag.h' line='119' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='idiag_expires' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/inet_diag.h' line='121' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='idiag_rqueue' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/inet_diag.h' line='122' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='idiag_wqueue' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/inet_diag.h' line='123' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='idiag_uid' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/inet_diag.h' line='124' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='idiag_inode' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/inet_diag.h' line='125' column='1'/>
         </data-member>
       </class-decl>
-      <pointer-type-def type-id='type-id-6195' size-in-bits='64' id='type-id-6196'/>
-      <function-decl name='nf_conntrack_destroy' mangled-name='nf_conntrack_destroy' filepath='net/netfilter/core.c' line='594' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nf_conntrack_destroy'>
-        <parameter type-id='type-id-6196' name='nfct' filepath='net/netfilter/core.c' line='594' column='1'/>
-        <return type-id='type-id-81'/>
+      <class-decl name='inet_diag_sockid' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/uapi/linux/inet_diag.h' line='14' column='1' id='type-id-8398'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='idiag_sport' type-id='type-id-3573' visibility='default' filepath='include/uapi/linux/inet_diag.h' line='15' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='idiag_dport' type-id='type-id-3573' visibility='default' filepath='include/uapi/linux/inet_diag.h' line='16' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='idiag_src' type-id='type-id-3578' visibility='default' filepath='include/uapi/linux/inet_diag.h' line='17' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='idiag_dst' type-id='type-id-3578' visibility='default' filepath='include/uapi/linux/inet_diag.h' line='18' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='idiag_if' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/inet_diag.h' line='19' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='idiag_cookie' type-id='type-id-2444' visibility='default' filepath='include/uapi/linux/inet_diag.h' line='20' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='inet_diag_handler' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/linux/inet_diag.h' line='15' column='1' id='type-id-8399'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dump' type-id='type-id-8400' visibility='default' filepath='include/linux/inet_diag.h' line='16' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dump_one' type-id='type-id-8401' visibility='default' filepath='include/linux/inet_diag.h' line='21' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='idiag_get_info' type-id='type-id-8402' visibility='default' filepath='include/linux/inet_diag.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='idiag_get_aux' type-id='type-id-8403' visibility='default' filepath='include/linux/inet_diag.h' line='29' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='idiag_get_aux_size' type-id='type-id-8404' visibility='default' filepath='include/linux/inet_diag.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='destroy' type-id='type-id-8405' visibility='default' filepath='include/linux/inet_diag.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='idiag_type' type-id='type-id-1107' visibility='default' filepath='include/linux/inet_diag.h' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='400'>
+          <var-decl name='idiag_info_size' type-id='type-id-1107' visibility='default' filepath='include/linux/inet_diag.h' line='40' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='inet_diag_req_v2' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/uapi/linux/inet_diag.h' line='38' column='1' id='type-id-8406'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='sdiag_family' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/inet_diag.h' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='sdiag_protocol' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/inet_diag.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='idiag_ext' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/inet_diag.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='pad' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/inet_diag.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='idiag_states' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/inet_diag.h' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='id' type-id='type-id-8398' visibility='default' filepath='include/uapi/linux/inet_diag.h' line='44' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-8399' const='yes' id='type-id-8407'/>
+      <pointer-type-def type-id='type-id-8407' size-in-bits='64' id='type-id-8408'/>
+      <qualified-type-def type-id='type-id-8406' const='yes' id='type-id-8409'/>
+      <pointer-type-def type-id='type-id-8409' size-in-bits='64' id='type-id-8410'/>
+      <pointer-type-def type-id='type-id-8397' size-in-bits='64' id='type-id-8411'/>
+      <pointer-type-def type-id='type-id-8412' size-in-bits='64' id='type-id-8405'/>
+      <pointer-type-def type-id='type-id-8413' size-in-bits='64' id='type-id-8401'/>
+      <pointer-type-def type-id='type-id-8414' size-in-bits='64' id='type-id-8403'/>
+      <pointer-type-def type-id='type-id-8415' size-in-bits='64' id='type-id-8404'/>
+      <pointer-type-def type-id='type-id-8416' size-in-bits='64' id='type-id-8400'/>
+      <pointer-type-def type-id='type-id-8417' size-in-bits='64' id='type-id-8402'/>
+      <function-decl name='inet_diag_msg_common_fill' mangled-name='inet_diag_msg_common_fill' filepath='net/ipv4/inet_diag.c' line='70' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet_diag_msg_common_fill'>
+        <parameter type-id='type-id-8411' name='r' filepath='net/ipv4/inet_diag.c' line='70' column='1'/>
+        <parameter type-id='type-id-2995' name='sk' filepath='net/ipv4/inet_diag.c' line='70' column='1'/>
+        <return type-id='type-id-73'/>
       </function-decl>
+      <function-decl name='inet_diag_msg_attrs_fill' mangled-name='inet_diag_msg_attrs_fill' filepath='net/ipv4/inet_diag.c' line='121' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet_diag_msg_attrs_fill'>
+        <parameter type-id='type-id-2995' name='sk' filepath='net/ipv4/inet_diag.c' line='121' column='1'/>
+        <parameter type-id='type-id-513' name='skb' filepath='net/ipv4/inet_diag.c' line='121' column='1'/>
+        <parameter type-id='type-id-8411' name='r' filepath='net/ipv4/inet_diag.c' line='122' column='1'/>
+        <parameter type-id='type-id-11' name='ext' filepath='net/ipv4/inet_diag.c' line='122' column='1'/>
+        <parameter type-id='type-id-4564' name='user_ns' filepath='net/ipv4/inet_diag.c' line='123' column='1'/>
+        <parameter type-id='type-id-211' name='net_admin' filepath='net/ipv4/inet_diag.c' line='124' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='inet_diag_register' mangled-name='inet_diag_register' filepath='net/ipv4/inet_diag.c' line='1250' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet_diag_register'>
+        <parameter type-id='type-id-8408' name='h' filepath='net/ipv4/inet_diag.c' line='1250' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='inet_diag_unregister' mangled-name='inet_diag_unregister' filepath='net/ipv4/inet_diag.c' line='1270' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet_diag_unregister'>
+        <parameter type-id='type-id-8408' name='h' filepath='net/ipv4/inet_diag.c' line='1270' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-8412'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-8410'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8413'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-6682'/>
+        <parameter type-id='type-id-8410'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8414'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-211'/>
+        <parameter type-id='type-id-513'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8415'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-125'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8416'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-7157'/>
+        <parameter type-id='type-id-8410'/>
+        <parameter type-id='type-id-6867'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8417'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-8411'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='net/ipv4/inet_hashtables.c' language='LANG_C89'>
+      <union-decl name='__anonymous_union__1' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='666' column='1' id='type-id-8418'>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-3023' visibility='default' filepath='include/linux/skbuff.h' line='667' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='rbnode' type-id='type-id-1846' visibility='default' filepath='include/linux/skbuff.h' line='681' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/skbuff.h' line='682' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__2' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='1162' column='1' id='type-id-8419'>
+        <data-member access='private'>
+          <var-decl name='hashinfo' type-id='type-id-7247' visibility='default' filepath='include/net/sock.h' line='1163' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='udp_table' type-id='type-id-7201' visibility='default' filepath='include/net/sock.h' line='1164' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='raw_hash' type-id='type-id-7166' visibility='default' filepath='include/net/sock.h' line='1165' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='smc_hash' type-id='type-id-7172' visibility='default' filepath='include/net/sock.h' line='1166' column='1'/>
+        </data-member>
+      </union-decl>
+      <function-decl name='inet_sk_set_state' mangled-name='inet_sk_set_state' filepath='include/net/inet_sock.h' line='313' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet_sk_set_state'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='net/ipv4/ip_output.c' language='LANG_C89'>
+      <class-decl name='__anonymous_struct__' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='380' column='1' id='type-id-8420'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='rmem_alloc' type-id='type-id-137' visibility='default' filepath='include/net/sock.h' line='381' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='len' type-id='type-id-11' visibility='default' filepath='include/net/sock.h' line='382' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='head' type-id='type-id-513' visibility='default' filepath='include/net/sock.h' line='383' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='tail' type-id='type-id-513' visibility='default' filepath='include/net/sock.h' line='384' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='666' column='1' id='type-id-8421'>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-6499' visibility='default' filepath='include/linux/skbuff.h' line='667' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='rbnode' type-id='type-id-1846' visibility='default' filepath='include/linux/skbuff.h' line='681' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/skbuff.h' line='682' column='1'/>
+        </data-member>
+      </union-decl>
+      <function-decl name='__ip_queue_xmit' mangled-name='__ip_queue_xmit' filepath='net/ipv4/ip_output.c' line='426' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__ip_queue_xmit'>
+        <parameter type-id='type-id-2995' name='sk' filepath='net/ipv4/ip_output.c' line='426' column='1'/>
+        <parameter type-id='type-id-513' name='skb' filepath='net/ipv4/ip_output.c' line='426' column='1'/>
+        <parameter type-id='type-id-7010' name='fl' filepath='net/ipv4/ip_output.c' line='426' column='1'/>
+        <parameter type-id='type-id-1122' name='tos' filepath='net/ipv4/ip_output.c' line='427' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='ip_do_fragment' mangled-name='ip_do_fragment' filepath='net/ipv4/ip_output.c' line='572' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ip_do_fragment'>
+        <parameter type-id='type-id-2984' name='net' filepath='net/ipv4/ip_output.c' line='572' column='1'/>
+        <parameter type-id='type-id-2995' name='sk' filepath='net/ipv4/ip_output.c' line='572' column='1'/>
+        <parameter type-id='type-id-513' name='skb' filepath='net/ipv4/ip_output.c' line='572' column='1'/>
+        <parameter type-id='type-id-6896' name='output' filepath='net/ipv4/ip_output.c' line='573' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='net/ipv4/ip_sockglue.c' language='LANG_C89'>
+      <function-decl name='ip_setsockopt' mangled-name='ip_setsockopt' filepath='net/ipv4/ip_sockglue.c' line='1238' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ip_setsockopt'>
+        <parameter type-id='type-id-2995' name='sk' filepath='net/ipv4/ip_sockglue.c' line='1238' column='1'/>
+        <parameter type-id='type-id-11' name='level' filepath='net/ipv4/ip_sockglue.c' line='1238' column='1'/>
+        <parameter type-id='type-id-11' name='optname' filepath='net/ipv4/ip_sockglue.c' line='1239' column='1'/>
+        <parameter type-id='type-id-300' name='optval' filepath='net/ipv4/ip_sockglue.c' line='1239' column='1'/>
+        <parameter type-id='type-id-10' name='optlen' filepath='net/ipv4/ip_sockglue.c' line='1239' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='compat_ip_setsockopt' mangled-name='compat_ip_setsockopt' filepath='net/ipv4/ip_sockglue.c' line='1265' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_ip_setsockopt'>
+        <parameter type-id='type-id-2995' name='sk' filepath='net/ipv4/ip_sockglue.c' line='1265' column='1'/>
+        <parameter type-id='type-id-11' name='level' filepath='net/ipv4/ip_sockglue.c' line='1265' column='1'/>
+        <parameter type-id='type-id-11' name='optname' filepath='net/ipv4/ip_sockglue.c' line='1265' column='1'/>
+        <parameter type-id='type-id-300' name='optval' filepath='net/ipv4/ip_sockglue.c' line='1266' column='1'/>
+        <parameter type-id='type-id-10' name='optlen' filepath='net/ipv4/ip_sockglue.c' line='1266' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='ip_getsockopt' mangled-name='ip_getsockopt' filepath='net/ipv4/ip_sockglue.c' line='1554' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ip_getsockopt'>
+        <parameter type-id='type-id-2995' name='sk' filepath='net/ipv4/ip_sockglue.c' line='1554' column='1'/>
+        <parameter type-id='type-id-11' name='level' filepath='net/ipv4/ip_sockglue.c' line='1554' column='1'/>
+        <parameter type-id='type-id-11' name='optname' filepath='net/ipv4/ip_sockglue.c' line='1555' column='1'/>
+        <parameter type-id='type-id-300' name='optval' filepath='net/ipv4/ip_sockglue.c' line='1555' column='1'/>
+        <parameter type-id='type-id-82' name='optlen' filepath='net/ipv4/ip_sockglue.c' line='1555' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='compat_ip_getsockopt' mangled-name='compat_ip_getsockopt' filepath='net/ipv4/ip_sockglue.c' line='1585' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_ip_getsockopt'>
+        <parameter type-id='type-id-2995' name='sk' filepath='net/ipv4/ip_sockglue.c' line='1585' column='1'/>
+        <parameter type-id='type-id-11' name='level' filepath='net/ipv4/ip_sockglue.c' line='1585' column='1'/>
+        <parameter type-id='type-id-11' name='optname' filepath='net/ipv4/ip_sockglue.c' line='1585' column='1'/>
+        <parameter type-id='type-id-300' name='optval' filepath='net/ipv4/ip_sockglue.c' line='1586' column='1'/>
+        <parameter type-id='type-id-82' name='optlen' filepath='net/ipv4/ip_sockglue.c' line='1586' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='net/ipv4/protocol.c' language='LANG_C89'>
+      <class-decl name='net_protocol' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/net/protocol.h' line='41' column='1' id='type-id-8422'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='early_demux' type-id='type-id-6895' visibility='default' filepath='include/net/protocol.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='early_demux_handler' type-id='type-id-6895' visibility='default' filepath='include/net/protocol.h' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='handler' type-id='type-id-6895' visibility='default' filepath='include/net/protocol.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='err_handler' type-id='type-id-8340' visibility='default' filepath='include/net/protocol.h' line='45' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='no_policy' type-id='type-id-10' visibility='default' filepath='include/net/protocol.h' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='netns_ok' type-id='type-id-10' visibility='default' filepath='include/net/protocol.h' line='47' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='29'>
+          <var-decl name='icmp_strict_tag_validation' type-id='type-id-10' visibility='default' filepath='include/net/protocol.h' line='52' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='net_offload' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/protocol.h' line='72' column='1' id='type-id-8423'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='callbacks' type-id='type-id-8424' visibility='default' filepath='include/net/protocol.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='include/net/protocol.h' line='74' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='offload_callbacks' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/netdevice.h' line='2352' column='1' id='type-id-8424'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='gso_segment' type-id='type-id-8425' visibility='default' filepath='include/linux/netdevice.h' line='2353' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='gro_receive' type-id='type-id-8426' visibility='default' filepath='include/linux/netdevice.h' line='2355' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='gro_complete' type-id='type-id-8339' visibility='default' filepath='include/linux/netdevice.h' line='2357' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-8423' const='yes' id='type-id-8427'/>
+      <pointer-type-def type-id='type-id-8427' size-in-bits='64' id='type-id-8396'/>
+      <qualified-type-def type-id='type-id-8422' const='yes' id='type-id-8428'/>
+      <pointer-type-def type-id='type-id-8428' size-in-bits='64' id='type-id-8429'/>
+      <pointer-type-def type-id='type-id-8430' size-in-bits='64' id='type-id-8426'/>
+      <pointer-type-def type-id='type-id-8431' size-in-bits='64' id='type-id-8425'/>
+      <function-decl name='inet_add_protocol' mangled-name='inet_add_protocol' filepath='net/ipv4/protocol.c' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet_add_protocol'>
+        <parameter type-id='type-id-8429' name='prot' filepath='net/ipv4/protocol.c' line='35' column='1'/>
+        <parameter type-id='type-id-271' name='protocol' filepath='net/ipv4/protocol.c' line='35' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='inet_add_offload' mangled-name='inet_add_offload' filepath='net/ipv4/protocol.c' line='48' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet_add_offload'>
+        <parameter type-id='type-id-8396' name='prot' filepath='net/ipv4/protocol.c' line='48' column='1'/>
+        <parameter type-id='type-id-271' name='protocol' filepath='net/ipv4/protocol.c' line='48' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='inet_del_protocol' mangled-name='inet_del_protocol' filepath='net/ipv4/protocol.c' line='55' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet_del_protocol'>
+        <parameter type-id='type-id-8429' name='prot' filepath='net/ipv4/protocol.c' line='55' column='1'/>
+        <parameter type-id='type-id-271' name='protocol' filepath='net/ipv4/protocol.c' line='55' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='inet_del_offload' mangled-name='inet_del_offload' filepath='net/ipv4/protocol.c' line='68' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet_del_offload'>
+        <parameter type-id='type-id-8396' name='prot' filepath='net/ipv4/protocol.c' line='68' column='1'/>
+        <parameter type-id='type-id-271' name='protocol' filepath='net/ipv4/protocol.c' line='68' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-8430'>
+        <parameter type-id='type-id-262'/>
+        <parameter type-id='type-id-513'/>
+        <return type-id='type-id-513'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8431'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-6450'/>
+        <return type-id='type-id-513'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='net/ipv4/route.c' language='LANG_C89'>
+      <union-decl name='__anonymous_union__2' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/net/sch_generic.h' line='50' column='1' id='type-id-8432'>
+        <data-member access='private'>
+          <var-decl name='qlen' type-id='type-id-9' visibility='default' filepath='include/net/sch_generic.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='atomic_qlen' type-id='type-id-137' visibility='default' filepath='include/net/sch_generic.h' line='52' column='1'/>
+        </data-member>
+      </union-decl>
+      <function-decl name='inet_addr_type' mangled-name='inet_addr_type' filepath='include/net/route.h' line='211' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet_addr_type'>
+        <parameter type-id='type-id-2984'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-10'/>
+      </function-decl>
+      <function-decl name='ip_route_input_noref' mangled-name='ip_route_input_noref' filepath='net/ipv4/route.c' line='2158' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ip_route_input_noref'>
+        <parameter type-id='type-id-513' name='skb' filepath='net/ipv4/route.c' line='2158' column='1'/>
+        <parameter type-id='type-id-2085' name='daddr' filepath='net/ipv4/route.c' line='2158' column='1'/>
+        <parameter type-id='type-id-2085' name='saddr' filepath='net/ipv4/route.c' line='2158' column='1'/>
+        <parameter type-id='type-id-53' name='tos' filepath='net/ipv4/route.c' line='2159' column='1'/>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/ipv4/route.c' line='2159' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='net/ipv4/tcp_ipv4.c' language='LANG_C89'>
+      <function-decl name='inet_ctl_sock_create' mangled-name='inet_ctl_sock_create' filepath='include/net/inet_common.h' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet_ctl_sock_create'>
+        <parameter type-id='type-id-7174'/>
+        <parameter type-id='type-id-288'/>
+        <parameter type-id='type-id-288'/>
+        <parameter type-id='type-id-271'/>
+        <parameter type-id='type-id-2984'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='net/ipv4/udp.c' language='LANG_C89'>
+      <class-decl name='ip_sf_list' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/igmp.h' line='65' column='1' id='type-id-8433'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='sf_next' type-id='type-id-8434' visibility='default' filepath='include/linux/igmp.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='sf_inaddr' type-id='type-id-2085' visibility='default' filepath='include/linux/igmp.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='sf_count' type-id='type-id-1331' visibility='default' filepath='include/linux/igmp.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='sf_gsresp' type-id='type-id-271' visibility='default' filepath='include/linux/igmp.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='264'>
+          <var-decl name='sf_oldin' type-id='type-id-271' visibility='default' filepath='include/linux/igmp.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='272'>
+          <var-decl name='sf_crcount' type-id='type-id-271' visibility='default' filepath='include/linux/igmp.h' line='71' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__3' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/igmp.h' line='81' column='1' id='type-id-8435'>
+        <data-member access='private'>
+          <var-decl name='next' type-id='type-id-8177' visibility='default' filepath='include/linux/igmp.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='next_rcu' type-id='type-id-8177' visibility='default' filepath='include/linux/igmp.h' line='83' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='udp_hslot' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/net/udp.h' line='61' column='1' id='type-id-8436'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='head' type-id='type-id-297' visibility='default' filepath='include/net/udp.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='count' type-id='type-id-11' visibility='default' filepath='include/net/udp.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/net/udp.h' line='64' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-8433' size-in-bits='64' id='type-id-8434'/>
+      <pointer-type-def type-id='type-id-8436' size-in-bits='64' id='type-id-8437'/>
+      <function-decl name='inet_sock_destruct' mangled-name='inet_sock_destruct' filepath='include/net/inet_common.h' line='33' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet_sock_destruct'>
+        <parameter type-id='type-id-2995'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='net/ipv4/udplite.c' language='LANG_C89'>
+      <class-decl name='inet_protosw' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/net/protocol.h' line='80' column='1' id='type-id-8438'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/net/protocol.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='type' type-id='type-id-288' visibility='default' filepath='include/net/protocol.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='144'>
+          <var-decl name='protocol' type-id='type-id-288' visibility='default' filepath='include/net/protocol.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='prot' type-id='type-id-2993' visibility='default' filepath='include/net/protocol.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='ops' type-id='type-id-6901' visibility='default' filepath='include/net/protocol.h' line='88' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='flags' type-id='type-id-271' visibility='default' filepath='include/net/protocol.h' line='90' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__3' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/uio.h' line='35' column='1' id='type-id-8439'>
+        <data-member access='private'>
+          <var-decl name='iov' type-id='type-id-2205' visibility='default' filepath='include/linux/uio.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='kvec' type-id='type-id-2206' visibility='default' filepath='include/linux/uio.h' line='37' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='bvec' type-id='type-id-2207' visibility='default' filepath='include/linux/uio.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='pipe' type-id='type-id-4602' visibility='default' filepath='include/linux/uio.h' line='39' column='1'/>
+        </data-member>
+      </union-decl>
+      <pointer-type-def type-id='type-id-8438' size-in-bits='64' id='type-id-8395'/>
+      <function-decl name='inet_register_protosw' mangled-name='inet_register_protosw' filepath='include/net/protocol.h' line='108' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet_register_protosw'>
+        <parameter type-id='type-id-8395'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='net/ipv6/addrconf.c' language='LANG_C89'>
+      <function-decl name='in6_dev_finish_destroy' mangled-name='in6_dev_finish_destroy' filepath='include/net/addrconf.h' line='393' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='in6_dev_finish_destroy'>
+        <parameter type-id='type-id-3033'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='net/ipv6/addrconf_core.c' language='LANG_C89'>
+      <function-decl name='__ipv6_addr_type' mangled-name='__ipv6_addr_type' filepath='net/ipv6/addrconf_core.c' line='36' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__ipv6_addr_type'>
+        <parameter type-id='type-id-3045' name='addr' filepath='net/ipv6/addrconf_core.c' line='36' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='register_inet6addr_notifier' mangled-name='register_inet6addr_notifier' filepath='net/ipv6/addrconf_core.c' line='93' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='register_inet6addr_notifier'>
+        <parameter type-id='type-id-103' name='nb' filepath='net/ipv6/addrconf_core.c' line='93' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='unregister_inet6addr_notifier' mangled-name='unregister_inet6addr_notifier' filepath='net/ipv6/addrconf_core.c' line='99' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='unregister_inet6addr_notifier'>
+        <parameter type-id='type-id-103' name='nb' filepath='net/ipv6/addrconf_core.c' line='99' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='net/ipv6/af_inet6.c' language='LANG_C89'>
+      <class-decl name='ipv6_txoptions' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/net/ipv6.h' line='247' column='1' id='type-id-8440'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='refcnt' type-id='type-id-12' visibility='default' filepath='include/net/ipv6.h' line='248' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='tot_len' type-id='type-id-11' visibility='default' filepath='include/net/ipv6.h' line='250' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='opt_flen' type-id='type-id-1107' visibility='default' filepath='include/net/ipv6.h' line='254' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='80'>
+          <var-decl name='opt_nflen' type-id='type-id-1107' visibility='default' filepath='include/net/ipv6.h' line='255' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='hopopt' type-id='type-id-8441' visibility='default' filepath='include/net/ipv6.h' line='257' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='dst0opt' type-id='type-id-8441' visibility='default' filepath='include/net/ipv6.h' line='258' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='srcrt' type-id='type-id-8442' visibility='default' filepath='include/net/ipv6.h' line='259' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='dst1opt' type-id='type-id-8441' visibility='default' filepath='include/net/ipv6.h' line='260' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/net/ipv6.h' line='261' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ipv6_opt_hdr' size-in-bits='16' is-struct='yes' visibility='default' filepath='include/uapi/linux/ipv6.h' line='61' column='1' id='type-id-8443'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='nexthdr' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/ipv6.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='hdrlen' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/ipv6.h' line='63' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ipv6_rt_hdr' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/uapi/linux/ipv6.h' line='48' column='1' id='type-id-8444'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='nexthdr' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/ipv6.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='hdrlen' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/ipv6.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='type' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/ipv6.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='segments_left' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/ipv6.h' line='52' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-8440' const='yes' id='type-id-8445'/>
+      <pointer-type-def type-id='type-id-8445' size-in-bits='64' id='type-id-8446'/>
+      <pointer-type-def type-id='type-id-6637' size-in-bits='64' id='type-id-8447'/>
+      <pointer-type-def type-id='type-id-8443' size-in-bits='64' id='type-id-8441'/>
+      <pointer-type-def type-id='type-id-8444' size-in-bits='64' id='type-id-8442'/>
+      <function-decl name='fl6_update_dst' mangled-name='fl6_update_dst' filepath='include/net/ipv6.h' line='1009' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fl6_update_dst'>
+        <parameter type-id='type-id-8447'/>
+        <parameter type-id='type-id-8446'/>
+        <parameter type-id='type-id-3050'/>
+        <return type-id='type-id-3050'/>
+      </function-decl>
+      <function-decl name='ip6_dst_lookup_flow' mangled-name='ip6_dst_lookup_flow' filepath='include/net/ipv6.h' line='962' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ip6_dst_lookup_flow'>
+        <parameter type-id='type-id-2996'/>
+        <parameter type-id='type-id-8447'/>
+        <parameter type-id='type-id-3045'/>
+        <return type-id='type-id-2994'/>
+      </function-decl>
+      <function-decl name='ipv6_chk_addr' mangled-name='ipv6_chk_addr' filepath='include/net/addrconf.h' line='82' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ipv6_chk_addr'>
+        <parameter type-id='type-id-2984'/>
+        <parameter type-id='type-id-3045'/>
+        <parameter type-id='type-id-2978'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='inet6_bind' mangled-name='inet6_bind' filepath='net/ipv6/af_inet6.c' line='436' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet6_bind'>
+        <parameter type-id='type-id-2985' name='sock' filepath='net/ipv6/af_inet6.c' line='436' column='1'/>
+        <parameter type-id='type-id-7175' name='uaddr' filepath='net/ipv6/af_inet6.c' line='436' column='1'/>
+        <parameter type-id='type-id-11' name='addr_len' filepath='net/ipv6/af_inet6.c' line='436' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='inet6_release' mangled-name='inet6_release' filepath='net/ipv6/af_inet6.c' line='459' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet6_release'>
+        <parameter type-id='type-id-2985' name='sock' filepath='net/ipv6/af_inet6.c' line='459' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='inet6_destroy_sock' mangled-name='inet6_destroy_sock' filepath='net/ipv6/af_inet6.c' line='476' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet6_destroy_sock'>
+        <parameter type-id='type-id-2995' name='sk' filepath='net/ipv6/af_inet6.c' line='476' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='inet6_getname' mangled-name='inet6_getname' filepath='net/ipv6/af_inet6.c' line='509' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet6_getname'>
+        <parameter type-id='type-id-2985' name='sock' filepath='net/ipv6/af_inet6.c' line='509' column='1'/>
+        <parameter type-id='type-id-7175' name='uaddr' filepath='net/ipv6/af_inet6.c' line='509' column='1'/>
+        <parameter type-id='type-id-11' name='peer' filepath='net/ipv6/af_inet6.c' line='510' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='inet6_ioctl' mangled-name='inet6_ioctl' filepath='net/ipv6/af_inet6.c' line='544' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet6_ioctl'>
+        <parameter type-id='type-id-2985' name='sock' filepath='net/ipv6/af_inet6.c' line='544' column='1'/>
+        <parameter type-id='type-id-10' name='cmd' filepath='net/ipv6/af_inet6.c' line='544' column='1'/>
+        <parameter type-id='type-id-100' name='arg' filepath='net/ipv6/af_inet6.c' line='544' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='inet6_register_protosw' mangled-name='inet6_register_protosw' filepath='net/ipv6/af_inet6.c' line='642' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet6_register_protosw'>
+        <parameter type-id='type-id-8395' name='p' filepath='net/ipv6/af_inet6.c' line='642' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='inet6_unregister_protosw' mangled-name='inet6_unregister_protosw' filepath='net/ipv6/af_inet6.c' line='699' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet6_unregister_protosw'>
+        <parameter type-id='type-id-8395' name='p' filepath='net/ipv6/af_inet6.c' line='699' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='net/ipv6/ip6_output.c' language='LANG_C89'>
+      <pointer-type-def type-id='type-id-8440' size-in-bits='64' id='type-id-8448'/>
+      <function-decl name='ipv6_ext_hdr' mangled-name='ipv6_ext_hdr' filepath='include/net/ipv6.h' line='995' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ipv6_ext_hdr'>
+        <parameter type-id='type-id-271'/>
+        <return type-id='type-id-264'/>
+      </function-decl>
+      <function-decl name='ip6_xmit' mangled-name='ip6_xmit' filepath='net/ipv6/ip6_output.c' line='191' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ip6_xmit'>
+        <parameter type-id='type-id-2996' name='sk' filepath='net/ipv6/ip6_output.c' line='191' column='1'/>
+        <parameter type-id='type-id-513' name='skb' filepath='net/ipv6/ip6_output.c' line='191' column='1'/>
+        <parameter type-id='type-id-8447' name='fl6' filepath='net/ipv6/ip6_output.c' line='191' column='1'/>
+        <parameter type-id='type-id-266' name='mark' filepath='net/ipv6/ip6_output.c' line='192' column='1'/>
+        <parameter type-id='type-id-8448' name='opt' filepath='net/ipv6/ip6_output.c' line='192' column='1'/>
+        <parameter type-id='type-id-11' name='tclass' filepath='net/ipv6/ip6_output.c' line='192' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='net/ipv6/ipv6_sockglue.c' language='LANG_C89'>
+      <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='156' column='1' id='type-id-8449'>
+        <data-member access='private'>
+          <var-decl name='skc_addrpair' type-id='type-id-6470' visibility='default' filepath='include/net/sock.h' line='157' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-6471' visibility='default' filepath='include/net/sock.h' line='158' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__1' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='666' column='1' id='type-id-8450'>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-8451' visibility='default' filepath='include/linux/skbuff.h' line='667' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='rbnode' type-id='type-id-1846' visibility='default' filepath='include/linux/skbuff.h' line='681' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/skbuff.h' line='682' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__3' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/moduleparam.h' line='78' column='1' id='type-id-8452'>
+        <data-member access='private'>
+          <var-decl name='arg' type-id='type-id-3' visibility='default' filepath='include/linux/moduleparam.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='str' type-id='type-id-6026' visibility='default' filepath='include/linux/moduleparam.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='arr' type-id='type-id-6024' visibility='default' filepath='include/linux/moduleparam.h' line='81' column='1'/>
+        </data-member>
+      </union-decl>
+      <function-decl name='ipv6_setsockopt' mangled-name='ipv6_setsockopt' filepath='net/ipv6/ipv6_sockglue.c' line='922' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ipv6_setsockopt'>
+        <parameter type-id='type-id-2995' name='sk' filepath='net/ipv6/ipv6_sockglue.c' line='922' column='1'/>
+        <parameter type-id='type-id-11' name='level' filepath='net/ipv6/ipv6_sockglue.c' line='922' column='1'/>
+        <parameter type-id='type-id-11' name='optname' filepath='net/ipv6/ipv6_sockglue.c' line='922' column='1'/>
+        <parameter type-id='type-id-300' name='optval' filepath='net/ipv6/ipv6_sockglue.c' line='923' column='1'/>
+        <parameter type-id='type-id-10' name='optlen' filepath='net/ipv6/ipv6_sockglue.c' line='923' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='compat_ipv6_setsockopt' mangled-name='compat_ipv6_setsockopt' filepath='net/ipv6/ipv6_sockglue.c' line='945' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_ipv6_setsockopt'>
+        <parameter type-id='type-id-2995' name='sk' filepath='net/ipv6/ipv6_sockglue.c' line='945' column='1'/>
+        <parameter type-id='type-id-11' name='level' filepath='net/ipv6/ipv6_sockglue.c' line='945' column='1'/>
+        <parameter type-id='type-id-11' name='optname' filepath='net/ipv6/ipv6_sockglue.c' line='945' column='1'/>
+        <parameter type-id='type-id-300' name='optval' filepath='net/ipv6/ipv6_sockglue.c' line='946' column='1'/>
+        <parameter type-id='type-id-10' name='optlen' filepath='net/ipv6/ipv6_sockglue.c' line='946' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='ipv6_getsockopt' mangled-name='ipv6_getsockopt' filepath='net/ipv6/ipv6_sockglue.c' line='1361' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ipv6_getsockopt'>
+        <parameter type-id='type-id-2995' name='sk' filepath='net/ipv6/ipv6_sockglue.c' line='1361' column='1'/>
+        <parameter type-id='type-id-11' name='level' filepath='net/ipv6/ipv6_sockglue.c' line='1361' column='1'/>
+        <parameter type-id='type-id-11' name='optname' filepath='net/ipv6/ipv6_sockglue.c' line='1361' column='1'/>
+        <parameter type-id='type-id-300' name='optval' filepath='net/ipv6/ipv6_sockglue.c' line='1362' column='1'/>
+        <parameter type-id='type-id-82' name='optlen' filepath='net/ipv6/ipv6_sockglue.c' line='1362' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='compat_ipv6_getsockopt' mangled-name='compat_ipv6_getsockopt' filepath='net/ipv6/ipv6_sockglue.c' line='1391' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='compat_ipv6_getsockopt'>
+        <parameter type-id='type-id-2995' name='sk' filepath='net/ipv6/ipv6_sockglue.c' line='1391' column='1'/>
+        <parameter type-id='type-id-11' name='level' filepath='net/ipv6/ipv6_sockglue.c' line='1391' column='1'/>
+        <parameter type-id='type-id-11' name='optname' filepath='net/ipv6/ipv6_sockglue.c' line='1391' column='1'/>
+        <parameter type-id='type-id-300' name='optval' filepath='net/ipv6/ipv6_sockglue.c' line='1392' column='1'/>
+        <parameter type-id='type-id-82' name='optlen' filepath='net/ipv6/ipv6_sockglue.c' line='1392' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='net/ipv6/tcp_ipv6.c' language='LANG_C89'>
+      <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='397' column='1' id='type-id-8453'>
+        <data-member access='private'>
+          <var-decl name='sk_wq' type-id='type-id-6900' visibility='default' filepath='include/net/sock.h' line='398' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='sk_wq_raw' type-id='type-id-6900' visibility='default' filepath='include/net/sock.h' line='399' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__1' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/cred.h' line='154' column='1' id='type-id-8454'>
+        <data-member access='private'>
+          <var-decl name='non_rcu' type-id='type-id-11' visibility='default' filepath='include/linux/cred.h' line='155' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/linux/cred.h' line='156' column='1'/>
+        </data-member>
+      </union-decl>
+      <function-decl name='ipv6_dup_options' mangled-name='ipv6_dup_options' filepath='include/net/ipv6.h' line='373' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ipv6_dup_options'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-8448'/>
+        <return type-id='type-id-8448'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='net/ipv6/udp.c' language='LANG_C89'>
+      <class-decl name='ip6_flowlabel' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/net/ipv6.h' line='265' column='1' id='type-id-8455'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='next' type-id='type-id-8456' visibility='default' filepath='include/net/ipv6.h' line='266' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='label' type-id='type-id-2085' visibility='default' filepath='include/net/ipv6.h' line='267' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='users' type-id='type-id-137' visibility='default' filepath='include/net/ipv6.h' line='268' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='dst' type-id='type-id-3028' visibility='default' filepath='include/net/ipv6.h' line='269' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='opt' type-id='type-id-8448' visibility='default' filepath='include/net/ipv6.h' line='270' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='linger' type-id='type-id-100' visibility='default' filepath='include/net/ipv6.h' line='271' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/net/ipv6.h' line='272' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='share' type-id='type-id-53' visibility='default' filepath='include/net/ipv6.h' line='273' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='owner' type-id='type-id-8457' visibility='default' filepath='include/net/ipv6.h' line='277' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='lastuse' type-id='type-id-100' visibility='default' filepath='include/net/ipv6.h' line='278' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='expires' type-id='type-id-100' visibility='default' filepath='include/net/ipv6.h' line='279' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='fl_net' type-id='type-id-2984' visibility='default' filepath='include/net/ipv6.h' line='280' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/net/ipv6.h' line='274' column='1' id='type-id-8457'>
+        <data-member access='private'>
+          <var-decl name='pid' type-id='type-id-1213' visibility='default' filepath='include/net/ipv6.h' line='275' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='uid' type-id='type-id-4567' visibility='default' filepath='include/net/ipv6.h' line='276' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__2' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/net/xfrm.h' line='138' column='1' id='type-id-8458'>
+        <data-member access='private'>
+          <var-decl name='gclist' type-id='type-id-378' visibility='default' filepath='include/net/xfrm.h' line='139' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='bydst' type-id='type-id-378' visibility='default' filepath='include/net/xfrm.h' line='140' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='inet6_protocol' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/net/protocol.h' line='56' column='1' id='type-id-8459'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='early_demux' type-id='type-id-6665' visibility='default' filepath='include/net/protocol.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='early_demux_handler' type-id='type-id-6665' visibility='default' filepath='include/net/protocol.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='handler' type-id='type-id-6895' visibility='default' filepath='include/net/protocol.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='err_handler' type-id='type-id-8460' visibility='default' filepath='include/net/protocol.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='include/net/protocol.h' line='65' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='inet6_skb_parm' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/linux/ipv6.h' line='113' column='1' id='type-id-8461'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='iif' type-id='type-id-11' visibility='default' filepath='include/linux/ipv6.h' line='114' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='ra' type-id='type-id-3573' visibility='default' filepath='include/linux/ipv6.h' line='115' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='dst0' type-id='type-id-1107' visibility='default' filepath='include/linux/ipv6.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='srcrt' type-id='type-id-1107' visibility='default' filepath='include/linux/ipv6.h' line='117' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='80'>
+          <var-decl name='dst1' type-id='type-id-1107' visibility='default' filepath='include/linux/ipv6.h' line='118' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='lastopt' type-id='type-id-1107' visibility='default' filepath='include/linux/ipv6.h' line='119' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='112'>
+          <var-decl name='nhoff' type-id='type-id-1107' visibility='default' filepath='include/linux/ipv6.h' line='120' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='flags' type-id='type-id-1107' visibility='default' filepath='include/linux/ipv6.h' line='121' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='144'>
+          <var-decl name='dsthao' type-id='type-id-1107' visibility='default' filepath='include/linux/ipv6.h' line='123' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='frag_max_size' type-id='type-id-1107' visibility='default' filepath='include/linux/ipv6.h' line='125' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-8459' const='yes' id='type-id-8462'/>
+      <pointer-type-def type-id='type-id-8462' size-in-bits='64' id='type-id-8463'/>
+      <pointer-type-def type-id='type-id-8461' size-in-bits='64' id='type-id-8464'/>
+      <pointer-type-def type-id='type-id-8455' size-in-bits='64' id='type-id-8456'/>
+      <pointer-type-def type-id='type-id-8465' size-in-bits='64' id='type-id-8460'/>
+      <function-decl name='icmpv6_err_convert' mangled-name='icmpv6_err_convert' filepath='include/linux/icmpv6.h' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='icmpv6_err_convert'>
+        <parameter type-id='type-id-271'/>
+        <parameter type-id='type-id-271'/>
+        <parameter type-id='type-id-82'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='fl6_sock_lookup' mangled-name='fl6_sock_lookup' filepath='include/net/ipv6.h' line='346' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='fl6_sock_lookup'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-8456'/>
+      </function-decl>
+      <function-decl name='inet6_add_protocol' mangled-name='inet6_add_protocol' filepath='include/net/protocol.h' line='112' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet6_add_protocol'>
+        <parameter type-id='type-id-8463'/>
+        <parameter type-id='type-id-271'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='inet6_del_protocol' mangled-name='inet6_del_protocol' filepath='include/net/protocol.h' line='113' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet6_del_protocol'>
+        <parameter type-id='type-id-8463'/>
+        <parameter type-id='type-id-271'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-8465'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-8464'/>
+        <parameter type-id='type-id-53'/>
+        <parameter type-id='type-id-53'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-2085'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='net/netfilter/nf_sockopt.c' language='LANG_C89'>
+      <class-decl name='nf_sockopt_ops' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/linux/netfilter.h' line='142' column='1' id='type-id-8466'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/netfilter.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='pf' type-id='type-id-8467' visibility='default' filepath='include/linux/netfilter.h' line='145' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='set_optmin' type-id='type-id-11' visibility='default' filepath='include/linux/netfilter.h' line='148' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='set_optmax' type-id='type-id-11' visibility='default' filepath='include/linux/netfilter.h' line='149' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='set' type-id='type-id-8468' visibility='default' filepath='include/linux/netfilter.h' line='150' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='compat_set' type-id='type-id-8468' visibility='default' filepath='include/linux/netfilter.h' line='152' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='get_optmin' type-id='type-id-11' visibility='default' filepath='include/linux/netfilter.h' line='155' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='get_optmax' type-id='type-id-11' visibility='default' filepath='include/linux/netfilter.h' line='156' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='get' type-id='type-id-8469' visibility='default' filepath='include/linux/netfilter.h' line='157' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='compat_get' type-id='type-id-8469' visibility='default' filepath='include/linux/netfilter.h' line='159' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/linux/netfilter.h' line='163' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-8470' size-in-bits='64' id='type-id-8469'/>
+      <pointer-type-def type-id='type-id-8471' size-in-bits='64' id='type-id-8468'/>
+      <pointer-type-def type-id='type-id-8466' size-in-bits='64' id='type-id-8472'/>
+      <function-decl name='nf_register_sockopt' mangled-name='nf_register_sockopt' filepath='net/netfilter/nf_sockopt.c' line='25' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nf_register_sockopt'>
+        <parameter type-id='type-id-8472' name='reg' filepath='net/netfilter/nf_sockopt.c' line='25' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='nf_unregister_sockopt' mangled-name='nf_unregister_sockopt' filepath='net/netfilter/nf_sockopt.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nf_unregister_sockopt'>
+        <parameter type-id='type-id-8472' name='reg' filepath='net/netfilter/nf_sockopt.c' line='54' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-8470'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-82'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8471'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='net/netfilter/x_tables.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-880' size-in-bits='232' id='type-id-8473'>
+        <subrange length='29' type-id='type-id-5' id='type-id-4634'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-880' size-in-bits='256' id='type-id-8474'>
+        <subrange length='32' type-id='type-id-5' id='type-id-2319'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='160' id='type-id-8475'>
+        <subrange length='5' type-id='type-id-5' id='type-id-3376'/>
+
+      </array-type-def>
+      <class-decl name='xt_mtchk_param' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='92' column='1' id='type-id-8476'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='net' type-id='type-id-2984' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='table' type-id='type-id-24' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='94' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='entryinfo' type-id='type-id-3' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='match' type-id='type-id-8477' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='matchinfo' type-id='type-id-3' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='hook_mask' type-id='type-id-10' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='98' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='family' type-id='type-id-8467' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='99' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='360'>
+          <var-decl name='nft_compat' type-id='type-id-211' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='100' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='xt_table_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='248' column='1' id='type-id-8478'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='size' type-id='type-id-10' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='250' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='number' type-id='type-id-10' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='252' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='initial_entries' type-id='type-id-10' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='254' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='hook_entry' type-id='type-id-8475' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='257' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='underflow' type-id='type-id-8475' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='258' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='stacksize' type-id='type-id-10' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='264' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='jumpstack' type-id='type-id-8479' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='265' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='entries' type-id='type-id-1045' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='267' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='xt_match' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='142' column='1' id='type-id-8480'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='name' type-id='type-id-8473' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='145' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='360'>
+          <var-decl name='revision' type-id='type-id-8467' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='146' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='match' type-id='type-id-8481' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='153' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='checkentry' type-id='type-id-8482' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='157' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='destroy' type-id='type-id-8483' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='160' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='compat_from_user' type-id='type-id-5100' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='163' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='compat_to_user' type-id='type-id-1032' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='164' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='me' type-id='type-id-19' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='table' type-id='type-id-24' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='169' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='matchsize' type-id='type-id-10' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='170' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='864'>
+          <var-decl name='usersize' type-id='type-id-10' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='171' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='compatsize' type-id='type-id-10' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='173' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='928'>
+          <var-decl name='hooks' type-id='type-id-10' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='175' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='proto' type-id='type-id-288' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='176' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='976'>
+          <var-decl name='family' type-id='type-id-288' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='178' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='xt_action_param' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='30' column='1' id='type-id-8484'>
+
+          <member-type access='public'>
+            <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='35' column='1' id='type-id-8485'>
+              <data-member access='private'>
+                <var-decl name='matchinfo' type-id='type-id-3' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='36' column='1'/>
+              </data-member>
+              <data-member access='private'>
+                <var-decl name='targinfo' type-id='type-id-3' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='36' column='1'/>
+              </data-member>
+            </union-decl>
+          </member-type>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='' type-id='type-id-8486' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='state' type-id='type-id-8487' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='fragoff' type-id='type-id-11' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='thoff' type-id='type-id-10' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='hotdrop' type-id='type-id-211' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='41' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='31' column='1' id='type-id-8486'>
+        <data-member access='private'>
+          <var-decl name='match' type-id='type-id-8477' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='target' type-id='type-id-8488' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='33' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='xt_target' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='182' column='1' id='type-id-8489'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='183' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='name' type-id='type-id-8473' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='185' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='360'>
+          <var-decl name='revision' type-id='type-id-8467' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='186' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='target' type-id='type-id-8490' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='191' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='checkentry' type-id='type-id-8491' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='198' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='destroy' type-id='type-id-8492' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='201' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='compat_from_user' type-id='type-id-5100' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='204' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='compat_to_user' type-id='type-id-1032' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='205' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='me' type-id='type-id-19' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='208' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='table' type-id='type-id-24' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='210' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='targetsize' type-id='type-id-10' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='211' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='864'>
+          <var-decl name='usersize' type-id='type-id-10' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='212' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='compatsize' type-id='type-id-10' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='214' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='928'>
+          <var-decl name='hooks' type-id='type-id-10' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='216' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='proto' type-id='type-id-288' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='217' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='976'>
+          <var-decl name='family' type-id='type-id-288' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='219' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='xt_tgchk_param' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='123' column='1' id='type-id-8493'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='net' type-id='type-id-2984' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='124' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='table' type-id='type-id-24' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='125' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='entryinfo' type-id='type-id-3' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='126' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='target' type-id='type-id-8488' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='127' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='targinfo' type-id='type-id-3' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='128' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='hook_mask' type-id='type-id-10' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='129' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='family' type-id='type-id-8467' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='130' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='360'>
+          <var-decl name='nft_compat' type-id='type-id-211' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='131' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='xt_tgdtor_param' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='135' column='1' id='type-id-8494'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='net' type-id='type-id-2984' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='136' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='target' type-id='type-id-8488' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='137' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='targinfo' type-id='type-id-3' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='138' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='family' type-id='type-id-8467' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='139' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='xt_mtdtor_param' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='107' column='1' id='type-id-8495'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='net' type-id='type-id-2984' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='108' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='match' type-id='type-id-8477' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='109' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='matchinfo' type-id='type-id-3' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='110' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='family' type-id='type-id-8467' visibility='default' filepath='include/linux/netfilter/x_tables.h' line='111' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-8484' const='yes' id='type-id-8496'/>
+      <pointer-type-def type-id='type-id-8496' size-in-bits='64' id='type-id-8497'/>
+      <qualified-type-def type-id='type-id-8480' const='yes' id='type-id-8498'/>
+      <pointer-type-def type-id='type-id-8498' size-in-bits='64' id='type-id-8477'/>
+      <qualified-type-def type-id='type-id-8476' const='yes' id='type-id-8499'/>
+      <pointer-type-def type-id='type-id-8499' size-in-bits='64' id='type-id-8500'/>
+      <qualified-type-def type-id='type-id-8495' const='yes' id='type-id-8501'/>
+      <pointer-type-def type-id='type-id-8501' size-in-bits='64' id='type-id-8502'/>
+      <qualified-type-def type-id='type-id-8489' const='yes' id='type-id-8503'/>
+      <pointer-type-def type-id='type-id-8503' size-in-bits='64' id='type-id-8488'/>
+      <qualified-type-def type-id='type-id-8493' const='yes' id='type-id-8504'/>
+      <pointer-type-def type-id='type-id-8504' size-in-bits='64' id='type-id-8505'/>
+      <qualified-type-def type-id='type-id-8494' const='yes' id='type-id-8506'/>
+      <pointer-type-def type-id='type-id-8506' size-in-bits='64' id='type-id-8507'/>
+      <pointer-type-def type-id='type-id-8508' size-in-bits='64' id='type-id-8482'/>
+      <pointer-type-def type-id='type-id-8509' size-in-bits='64' id='type-id-8491'/>
+      <pointer-type-def type-id='type-id-8510' size-in-bits='64' id='type-id-8481'/>
+      <pointer-type-def type-id='type-id-8511' size-in-bits='64' id='type-id-8490'/>
+      <pointer-type-def type-id='type-id-8512' size-in-bits='64' id='type-id-8483'/>
+      <pointer-type-def type-id='type-id-8513' size-in-bits='64' id='type-id-8492'/>
+      <pointer-type-def type-id='type-id-2240' size-in-bits='64' id='type-id-8479'/>
+      <pointer-type-def type-id='type-id-8484' size-in-bits='64' id='type-id-8514'/>
+      <pointer-type-def type-id='type-id-8480' size-in-bits='64' id='type-id-8515'/>
+      <pointer-type-def type-id='type-id-8476' size-in-bits='64' id='type-id-8516'/>
+      <pointer-type-def type-id='type-id-8478' size-in-bits='64' id='type-id-8517'/>
+      <pointer-type-def type-id='type-id-8489' size-in-bits='64' id='type-id-8518'/>
+      <pointer-type-def type-id='type-id-8493' size-in-bits='64' id='type-id-8519'/>
+      <function-decl name='xt_check_match' mangled-name='xt_check_match' filepath='net/netfilter/x_tables.c' line='463' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='xt_check_match'>
+        <parameter type-id='type-id-8516' name='par' filepath='net/netfilter/x_tables.c' line='463' column='1'/>
+        <parameter type-id='type-id-10' name='size' filepath='net/netfilter/x_tables.c' line='464' column='1'/>
+        <parameter type-id='type-id-8467' name='proto' filepath='net/netfilter/x_tables.c' line='464' column='1'/>
+        <parameter type-id='type-id-211' name='inv_proto' filepath='net/netfilter/x_tables.c' line='464' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='xt_check_target' mangled-name='xt_check_target' filepath='net/netfilter/x_tables.c' line='986' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='xt_check_target'>
+        <parameter type-id='type-id-8519' name='par' filepath='net/netfilter/x_tables.c' line='986' column='1'/>
+        <parameter type-id='type-id-10' name='size' filepath='net/netfilter/x_tables.c' line='987' column='1'/>
+        <parameter type-id='type-id-8467' name='proto' filepath='net/netfilter/x_tables.c' line='987' column='1'/>
+        <parameter type-id='type-id-211' name='inv_proto' filepath='net/netfilter/x_tables.c' line='987' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='xt_register_target' mangled-name='xt_register_target' filepath='net/netfilter/x_tables.c' line='73' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='xt_register_target'>
+        <parameter type-id='type-id-8518' name='target' filepath='net/netfilter/x_tables.c' line='73' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='xt_unregister_target' mangled-name='xt_unregister_target' filepath='net/netfilter/x_tables.c' line='85' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='xt_unregister_target'>
+        <parameter type-id='type-id-8518' name='target' filepath='net/netfilter/x_tables.c' line='85' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='xt_find_match' mangled-name='xt_find_match' filepath='net/netfilter/x_tables.c' line='181' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='xt_find_match'>
+        <parameter type-id='type-id-53' name='af' filepath='net/netfilter/x_tables.c' line='181' column='1'/>
+        <parameter type-id='type-id-24' name='name' filepath='net/netfilter/x_tables.c' line='181' column='1'/>
+        <parameter type-id='type-id-53' name='revision' filepath='net/netfilter/x_tables.c' line='181' column='1'/>
+        <return type-id='type-id-8515'/>
+      </function-decl>
+      <function-decl name='xt_request_find_match' mangled-name='xt_request_find_match' filepath='net/netfilter/x_tables.c' line='212' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='xt_request_find_match'>
+        <parameter type-id='type-id-1152' name='nfproto' filepath='net/netfilter/x_tables.c' line='212' column='1'/>
+        <parameter type-id='type-id-24' name='name' filepath='net/netfilter/x_tables.c' line='212' column='1'/>
+        <parameter type-id='type-id-1152' name='revision' filepath='net/netfilter/x_tables.c' line='212' column='1'/>
+        <return type-id='type-id-8515'/>
+      </function-decl>
+      <function-decl name='xt_request_find_target' mangled-name='xt_request_find_target' filepath='net/netfilter/x_tables.c' line='260' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='xt_request_find_target'>
+        <parameter type-id='type-id-53' name='af' filepath='net/netfilter/x_tables.c' line='260' column='1'/>
+        <parameter type-id='type-id-24' name='name' filepath='net/netfilter/x_tables.c' line='260' column='1'/>
+        <parameter type-id='type-id-53' name='revision' filepath='net/netfilter/x_tables.c' line='260' column='1'/>
+        <return type-id='type-id-8518'/>
+      </function-decl>
+      <function-decl name='xt_data_to_user' mangled-name='xt_data_to_user' filepath='net/netfilter/x_tables.c' line='297' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='xt_data_to_user'>
+        <parameter type-id='type-id-3' name='dst' filepath='net/netfilter/x_tables.c' line='297' column='1'/>
+        <parameter type-id='type-id-3' name='src' filepath='net/netfilter/x_tables.c' line='297' column='1'/>
+        <parameter type-id='type-id-11' name='usersize' filepath='net/netfilter/x_tables.c' line='298' column='1'/>
+        <parameter type-id='type-id-11' name='size' filepath='net/netfilter/x_tables.c' line='298' column='1'/>
+        <parameter type-id='type-id-11' name='aligned_size' filepath='net/netfilter/x_tables.c' line='298' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='xt_compat_add_offset' mangled-name='xt_compat_add_offset' filepath='net/netfilter/x_tables.c' line='648' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='xt_compat_add_offset'>
+        <parameter type-id='type-id-8467' name='af' filepath='net/netfilter/x_tables.c' line='648' column='1'/>
+        <parameter type-id='type-id-10' name='offset' filepath='net/netfilter/x_tables.c' line='648' column='1'/>
+        <parameter type-id='type-id-11' name='delta' filepath='net/netfilter/x_tables.c' line='648' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='xt_compat_flush_offsets' mangled-name='xt_compat_flush_offsets' filepath='net/netfilter/x_tables.c' line='669' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='xt_compat_flush_offsets'>
+        <parameter type-id='type-id-8467' name='af' filepath='net/netfilter/x_tables.c' line='669' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='xt_compat_calc_jump' mangled-name='xt_compat_calc_jump' filepath='net/netfilter/x_tables.c' line='682' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='xt_compat_calc_jump'>
+        <parameter type-id='type-id-8467' name='af' filepath='net/netfilter/x_tables.c' line='682' column='1'/>
+        <parameter type-id='type-id-10' name='offset' filepath='net/netfilter/x_tables.c' line='682' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='xt_compat_init_offsets' mangled-name='xt_compat_init_offsets' filepath='net/netfilter/x_tables.c' line='700' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='xt_compat_init_offsets'>
+        <parameter type-id='type-id-53' name='af' filepath='net/netfilter/x_tables.c' line='700' column='1'/>
+        <parameter type-id='type-id-10' name='number' filepath='net/netfilter/x_tables.c' line='700' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='xt_compat_match_offset' mangled-name='xt_compat_match_offset' filepath='net/netfilter/x_tables.c' line='727' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='xt_compat_match_offset'>
+        <parameter type-id='type-id-8477' name='match' filepath='net/netfilter/x_tables.c' line='727' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='xt_compat_target_offset' mangled-name='xt_compat_target_offset' filepath='net/netfilter/x_tables.c' line='1110' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='xt_compat_target_offset'>
+        <parameter type-id='type-id-8488' name='target' filepath='net/netfilter/x_tables.c' line='1110' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='xt_compat_lock' mangled-name='xt_compat_lock' filepath='net/netfilter/x_tables.c' line='1280' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='xt_compat_lock'>
+        <parameter type-id='type-id-8467' name='af' filepath='net/netfilter/x_tables.c' line='1280' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='xt_compat_unlock' mangled-name='xt_compat_unlock' filepath='net/netfilter/x_tables.c' line='1286' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='xt_compat_unlock'>
+        <parameter type-id='type-id-8467' name='af' filepath='net/netfilter/x_tables.c' line='1286' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-8508'>
+        <parameter type-id='type-id-8500'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8509'>
+        <parameter type-id='type-id-8505'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8510'>
+        <parameter type-id='type-id-3013'/>
+        <parameter type-id='type-id-8514'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8511'>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-8497'/>
+        <return type-id='type-id-10'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8512'>
+        <parameter type-id='type-id-8502'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8513'>
+        <parameter type-id='type-id-8507'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='net/netlink/af_netlink.c' language='LANG_C89'>
+      <class-decl name='netlink_kernel_cfg' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/netlink.h' line='44' column='1' id='type-id-8520'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='groups' type-id='type-id-10' visibility='default' filepath='include/linux/netlink.h' line='45' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='include/linux/netlink.h' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='input' type-id='type-id-6665' visibility='default' filepath='include/linux/netlink.h' line='47' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='cb_mutex' type-id='type-id-2357' visibility='default' filepath='include/linux/netlink.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='bind' type-id='type-id-7921' visibility='default' filepath='include/linux/netlink.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='unbind' type-id='type-id-7922' visibility='default' filepath='include/linux/netlink.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='compare' type-id='type-id-8521' visibility='default' filepath='include/linux/netlink.h' line='51' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='netlink_dump_control' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/netlink.h' line='194' column='1' id='type-id-8522'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='start' type-id='type-id-6684' visibility='default' filepath='include/linux/netlink.h' line='195' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dump' type-id='type-id-6683' visibility='default' filepath='include/linux/netlink.h' line='196' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='done' type-id='type-id-6684' visibility='default' filepath='include/linux/netlink.h' line='197' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='data' type-id='type-id-3' visibility='default' filepath='include/linux/netlink.h' line='198' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='module' type-id='type-id-19' visibility='default' filepath='include/linux/netlink.h' line='199' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='min_dump_alloc' type-id='type-id-289' visibility='default' filepath='include/linux/netlink.h' line='200' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-8522' size-in-bits='64' id='type-id-8523'/>
+      <pointer-type-def type-id='type-id-8520' size-in-bits='64' id='type-id-8524'/>
+      <pointer-type-def type-id='type-id-8525' size-in-bits='64' id='type-id-8521'/>
+      <function-decl name='__netlink_kernel_create' mangled-name='__netlink_kernel_create' filepath='net/netlink/af_netlink.c' line='2017' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__netlink_kernel_create'>
+        <parameter type-id='type-id-2984' name='net' filepath='net/netlink/af_netlink.c' line='2017' column='1'/>
+        <parameter type-id='type-id-11' name='unit' filepath='net/netlink/af_netlink.c' line='2017' column='1'/>
+        <parameter type-id='type-id-19' name='module' filepath='net/netlink/af_netlink.c' line='2017' column='1'/>
+        <parameter type-id='type-id-8524' name='cfg' filepath='net/netlink/af_netlink.c' line='2018' column='1'/>
+        <return type-id='type-id-2995'/>
+      </function-decl>
+      <function-decl name='__nlmsg_put' mangled-name='__nlmsg_put' filepath='net/netlink/af_netlink.c' line='2157' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__nlmsg_put'>
+        <parameter type-id='type-id-513' name='skb' filepath='net/netlink/af_netlink.c' line='2157' column='1'/>
+        <parameter type-id='type-id-9' name='portid' filepath='net/netlink/af_netlink.c' line='2157' column='1'/>
+        <parameter type-id='type-id-9' name='seq' filepath='net/netlink/af_netlink.c' line='2157' column='1'/>
+        <parameter type-id='type-id-11' name='type' filepath='net/netlink/af_netlink.c' line='2157' column='1'/>
+        <parameter type-id='type-id-11' name='len' filepath='net/netlink/af_netlink.c' line='2157' column='1'/>
+        <parameter type-id='type-id-11' name='flags' filepath='net/netlink/af_netlink.c' line='2157' column='1'/>
+        <return type-id='type-id-7159'/>
+      </function-decl>
+      <function-decl name='__netlink_dump_start' mangled-name='__netlink_dump_start' filepath='net/netlink/af_netlink.c' line='2279' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__netlink_dump_start'>
+        <parameter type-id='type-id-2995' name='ssk' filepath='net/netlink/af_netlink.c' line='2279' column='1'/>
+        <parameter type-id='type-id-513' name='skb' filepath='net/netlink/af_netlink.c' line='2279' column='1'/>
+        <parameter type-id='type-id-6682' name='nlh' filepath='net/netlink/af_netlink.c' line='2280' column='1'/>
+        <parameter type-id='type-id-8523' name='control' filepath='net/netlink/af_netlink.c' line='2281' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-8525'>
+        <parameter type-id='type-id-2984'/>
+        <parameter type-id='type-id-2995'/>
+        <return type-id='type-id-211'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='net/rfkill/core.c' language='LANG_C89'>
+      <function-decl name='rfkill_init_sw_state' mangled-name='rfkill_init_sw_state' filepath='net/rfkill/core.c' line='604' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rfkill_init_sw_state'>
+        <parameter type-id='type-id-8170' name='rfkill' filepath='net/rfkill/core.c' line='604' column='1'/>
+        <parameter type-id='type-id-211' name='blocked' filepath='net/rfkill/core.c' line='604' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='net/socket.c' language='LANG_C89'>
+      <class-decl name='libipw_device' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-8526'/>
+      <array-type-def dimensions='1' type-id='type-id-8527' size-in-bits='256' id='type-id-8528'>
+        <subrange length='8' type-id='type-id-5' id='type-id-1953'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-8529' size-in-bits='infinite' id='type-id-8530'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-8531' size-in-bits='64' id='type-id-8532'>
+        <subrange length='8' type-id='type-id-5' id='type-id-1953'/>
+
+      </array-type-def>
+      <array-type-def dimensions='2' type-id='type-id-8531' size-in-bits='112' id='type-id-8533'>
+        <subrange length='8' type-id='type-id-5' id='type-id-1953'/>
+
+        <subrange length='6' type-id='type-id-5' id='type-id-1951'/>
+
+      </array-type-def>
+      <union-decl name='__anonymous_union__1' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='666' column='1' id='type-id-8534'>
+        <data-member access='private'>
+          <var-decl name='' type-id='type-id-8535' visibility='default' filepath='include/linux/skbuff.h' line='667' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='rbnode' type-id='type-id-1846' visibility='default' filepath='include/linux/skbuff.h' line='681' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/linux/skbuff.h' line='682' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='667' column='1' id='type-id-8535'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='next' type-id='type-id-513' visibility='default' filepath='include/linux/skbuff.h' line='669' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='prev' type-id='type-id-513' visibility='default' filepath='include/linux/skbuff.h' line='670' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='' type-id='type-id-8184' visibility='default' filepath='include/linux/skbuff.h' line='672' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__2' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='672' column='1' id='type-id-8184'>
+        <data-member access='private'>
+          <var-decl name='dev' type-id='type-id-2976' visibility='default' filepath='include/linux/skbuff.h' line='673' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='dev_scratch' type-id='type-id-100' visibility='default' filepath='include/linux/skbuff.h' line='678' column='1'/>
+        </data-member>
+      </union-decl>
+      <typedef-decl name='iw_handler' type-id='type-id-8536' filepath='include/net/iw_handler.h' line='315' column='1' id='type-id-8537'/>
+      <class-decl name='iw_request_info' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/net/iw_handler.h' line='304' column='1' id='type-id-8538'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cmd' type-id='type-id-1107' visibility='default' filepath='include/net/iw_handler.h' line='305' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='flags' type-id='type-id-1107' visibility='default' filepath='include/net/iw_handler.h' line='306' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='iw_point' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/uapi/linux/wireless.h' line='685' column='1' id='type-id-8539'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='pointer' type-id='type-id-3' visibility='default' filepath='include/uapi/linux/wireless.h' line='686' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='length' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/wireless.h' line='687' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='80'>
+          <var-decl name='flags' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/wireless.h' line='688' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='iw_param' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/linux/wireless.h' line='674' column='1' id='type-id-8540'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='value' type-id='type-id-2310' visibility='default' filepath='include/uapi/linux/wireless.h' line='675' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='fixed' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/wireless.h' line='676' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='40'>
+          <var-decl name='disabled' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/wireless.h' line='677' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='flags' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/wireless.h' line='678' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='iw_freq' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/linux/wireless.h' line='700' column='1' id='type-id-8541'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='m' type-id='type-id-2310' visibility='default' filepath='include/uapi/linux/wireless.h' line='701' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='e' type-id='type-id-3872' visibility='default' filepath='include/uapi/linux/wireless.h' line='702' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='i' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/wireless.h' line='703' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='56'>
+          <var-decl name='flags' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/wireless.h' line='704' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='iw_quality' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/uapi/linux/wireless.h' line='710' column='1' id='type-id-8527'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='qual' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/wireless.h' line='711' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='level' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/wireless.h' line='713' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='noise' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/wireless.h' line='714' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='updated' type-id='type-id-1122' visibility='default' filepath='include/uapi/linux/wireless.h' line='715' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='iw_priv_args' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/uapi/linux/wireless.h' line='1057' column='1' id='type-id-8542'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='cmd' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/wireless.h' line='1058' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='set_args' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/wireless.h' line='1059' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='get_args' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/wireless.h' line='1060' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='name' type-id='type-id-847' visibility='default' filepath='include/uapi/linux/wireless.h' line='1061' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='iw_statistics' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/uapi/linux/wireless.h' line='875' column='1' id='type-id-8543'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='status' type-id='type-id-1107' visibility='default' filepath='include/uapi/linux/wireless.h' line='876' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='qual' type-id='type-id-8527' visibility='default' filepath='include/uapi/linux/wireless.h' line='879' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='discard' type-id='type-id-8544' visibility='default' filepath='include/uapi/linux/wireless.h' line='881' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='miss' type-id='type-id-8545' visibility='default' filepath='include/uapi/linux/wireless.h' line='882' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='iw_discarded' size-in-bits='160' is-struct='yes' visibility='default' filepath='include/uapi/linux/wireless.h' line='725' column='1' id='type-id-8544'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='nwid' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/wireless.h' line='726' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='code' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/wireless.h' line='727' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='fragment' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/wireless.h' line='728' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='retries' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/wireless.h' line='729' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='misc' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/wireless.h' line='730' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='iw_missed' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/uapi/linux/wireless.h' line='737' column='1' id='type-id-8545'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='beacon' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/wireless.h' line='738' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='iw_spy_data' size-in-bits='800' is-struct='yes' visibility='default' filepath='include/net/iw_handler.h' line='396' column='1' id='type-id-8546'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='spy_number' type-id='type-id-11' visibility='default' filepath='include/net/iw_handler.h' line='398' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='spy_address' type-id='type-id-8533' visibility='default' filepath='include/net/iw_handler.h' line='399' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='spy_stat' type-id='type-id-8528' visibility='default' filepath='include/net/iw_handler.h' line='400' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='672'>
+          <var-decl name='spy_thr_low' type-id='type-id-8527' visibility='default' filepath='include/net/iw_handler.h' line='402' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='spy_thr_high' type-id='type-id-8527' visibility='default' filepath='include/net/iw_handler.h' line='403' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='736'>
+          <var-decl name='spy_thr_under' type-id='type-id-8532' visibility='default' filepath='include/net/iw_handler.h' line='404' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='u_char' type-id='type-id-271' filepath='include/linux/types.h' line='84' column='1' id='type-id-8531'/>
+      <union-decl name='iwreq_data' size-in-bits='128' visibility='default' filepath='include/uapi/linux/wireless.h' line='896' column='1' id='type-id-8547'>
+        <data-member access='private'>
+          <var-decl name='name' type-id='type-id-847' visibility='default' filepath='include/uapi/linux/wireless.h' line='898' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='essid' type-id='type-id-8539' visibility='default' filepath='include/uapi/linux/wireless.h' line='902' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='nwid' type-id='type-id-8540' visibility='default' filepath='include/uapi/linux/wireless.h' line='903' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='freq' type-id='type-id-8541' visibility='default' filepath='include/uapi/linux/wireless.h' line='904' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='sens' type-id='type-id-8540' visibility='default' filepath='include/uapi/linux/wireless.h' line='908' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='bitrate' type-id='type-id-8540' visibility='default' filepath='include/uapi/linux/wireless.h' line='909' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='txpower' type-id='type-id-8540' visibility='default' filepath='include/uapi/linux/wireless.h' line='910' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='rts' type-id='type-id-8540' visibility='default' filepath='include/uapi/linux/wireless.h' line='911' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='frag' type-id='type-id-8540' visibility='default' filepath='include/uapi/linux/wireless.h' line='912' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='mode' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/wireless.h' line='913' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='retry' type-id='type-id-8540' visibility='default' filepath='include/uapi/linux/wireless.h' line='914' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='encoding' type-id='type-id-8539' visibility='default' filepath='include/uapi/linux/wireless.h' line='916' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='power' type-id='type-id-8540' visibility='default' filepath='include/uapi/linux/wireless.h' line='917' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='qual' type-id='type-id-8527' visibility='default' filepath='include/uapi/linux/wireless.h' line='918' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='ap_addr' type-id='type-id-6494' visibility='default' filepath='include/uapi/linux/wireless.h' line='920' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='addr' type-id='type-id-6494' visibility='default' filepath='include/uapi/linux/wireless.h' line='921' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='param' type-id='type-id-8540' visibility='default' filepath='include/uapi/linux/wireless.h' line='923' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='data' type-id='type-id-8539' visibility='default' filepath='include/uapi/linux/wireless.h' line='924' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='nf_hook_entry' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/netfilter.h' line='75' column='1' id='type-id-8529'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='hook' type-id='type-id-8548' visibility='default' filepath='include/linux/netfilter.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='priv' type-id='type-id-3' visibility='default' filepath='include/linux/netfilter.h' line='77' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__4' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/net/sock.h' line='1162' column='1' id='type-id-8549'>
+        <data-member access='private'>
+          <var-decl name='hashinfo' type-id='type-id-7247' visibility='default' filepath='include/net/sock.h' line='1163' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='udp_table' type-id='type-id-7201' visibility='default' filepath='include/net/sock.h' line='1164' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='raw_hash' type-id='type-id-7166' visibility='default' filepath='include/net/sock.h' line='1165' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='smc_hash' type-id='type-id-7172' visibility='default' filepath='include/net/sock.h' line='1166' column='1'/>
+        </data-member>
+      </union-decl>
+      <qualified-type-def type-id='type-id-8537' const='yes' id='type-id-8550'/>
+      <pointer-type-def type-id='type-id-8550' size-in-bits='64' id='type-id-8551'/>
+      <qualified-type-def type-id='type-id-8542' const='yes' id='type-id-8552'/>
+      <pointer-type-def type-id='type-id-8552' size-in-bits='64' id='type-id-8553'/>
+      <pointer-type-def type-id='type-id-8554' size-in-bits='64' id='type-id-8536'/>
+      <pointer-type-def type-id='type-id-8538' size-in-bits='64' id='type-id-8555'/>
+      <pointer-type-def type-id='type-id-8546' size-in-bits='64' id='type-id-8556'/>
+      <pointer-type-def type-id='type-id-8543' size-in-bits='64' id='type-id-8557'/>
+      <pointer-type-def type-id='type-id-8558' size-in-bits='64' id='type-id-8559'/>
+      <pointer-type-def type-id='type-id-8547' size-in-bits='64' id='type-id-8560'/>
+      <pointer-type-def type-id='type-id-5247' size-in-bits='64' id='type-id-8561'/>
+      <pointer-type-def type-id='type-id-8526' size-in-bits='64' id='type-id-8562'/>
+      <pointer-type-def type-id='type-id-2985' size-in-bits='64' id='type-id-8563'/>
+      <function-decl name='sock_release' mangled-name='sock_release' filepath='include/linux/net.h' line='233' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_release'>
+        <parameter type-id='type-id-2985'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='put_cmsg' mangled-name='put_cmsg' filepath='include/linux/socket.h' line='349' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='put_cmsg'>
+        <parameter type-id='type-id-7149'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='sock_no_sendpage' mangled-name='sock_no_sendpage' filepath='include/net/sock.h' line='1649' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_no_sendpage'>
+        <parameter type-id='type-id-2985'/>
+        <parameter type-id='type-id-120'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-187'/>
+      </function-decl>
+      <function-decl name='sock_kmalloc' mangled-name='sock_kmalloc' filepath='include/net/sock.h' line='1608' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_kmalloc'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+      <function-decl name='sock_alloc_file' mangled-name='sock_alloc_file' filepath='net/socket.c' line='387' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_alloc_file'>
+        <parameter type-id='type-id-2985' name='sock' filepath='net/socket.c' line='387' column='1'/>
+        <parameter type-id='type-id-11' name='flags' filepath='net/socket.c' line='387' column='1'/>
+        <parameter type-id='type-id-24' name='dname' filepath='net/socket.c' line='387' column='1'/>
+        <return type-id='type-id-147'/>
+      </function-decl>
+      <function-decl name='kernel_sendmsg' mangled-name='kernel_sendmsg' filepath='net/socket.c' line='636' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kernel_sendmsg'>
+        <parameter type-id='type-id-2985' name='sock' filepath='net/socket.c' line='636' column='1'/>
+        <parameter type-id='type-id-7149' name='msg' filepath='net/socket.c' line='636' column='1'/>
+        <parameter type-id='type-id-8561' name='vec' filepath='net/socket.c' line='637' column='1'/>
+        <parameter type-id='type-id-125' name='num' filepath='net/socket.c' line='637' column='1'/>
+        <parameter type-id='type-id-125' name='size' filepath='net/socket.c' line='637' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='__sock_recv_ts_and_drops' mangled-name='__sock_recv_ts_and_drops' filepath='net/socket.c' line='784' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__sock_recv_ts_and_drops'>
+        <parameter type-id='type-id-7149' name='msg' filepath='net/socket.c' line='784' column='1'/>
+        <parameter type-id='type-id-2995' name='sk' filepath='net/socket.c' line='784' column='1'/>
+        <parameter type-id='type-id-513' name='skb' filepath='net/socket.c' line='785' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='kernel_recvmsg' mangled-name='kernel_recvmsg' filepath='net/socket.c' line='821' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kernel_recvmsg'>
+        <parameter type-id='type-id-2985' name='sock' filepath='net/socket.c' line='821' column='1'/>
+        <parameter type-id='type-id-7149' name='msg' filepath='net/socket.c' line='821' column='1'/>
+        <parameter type-id='type-id-8561' name='vec' filepath='net/socket.c' line='822' column='1'/>
+        <parameter type-id='type-id-125' name='num' filepath='net/socket.c' line='822' column='1'/>
+        <parameter type-id='type-id-125' name='size' filepath='net/socket.c' line='822' column='1'/>
+        <parameter type-id='type-id-11' name='flags' filepath='net/socket.c' line='822' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='sock_wake_async' mangled-name='sock_wake_async' filepath='net/socket.c' line='1179' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_wake_async'>
+        <parameter type-id='type-id-6900' name='wq' filepath='net/socket.c' line='1179' column='1'/>
+        <parameter type-id='type-id-11' name='how' filepath='net/socket.c' line='1179' column='1'/>
+        <parameter type-id='type-id-11' name='band' filepath='net/socket.c' line='1179' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='sock_create' mangled-name='sock_create' filepath='net/socket.c' line='1314' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sock_create'>
+        <parameter type-id='type-id-11' name='family' filepath='net/socket.c' line='1314' column='1'/>
+        <parameter type-id='type-id-11' name='type' filepath='net/socket.c' line='1314' column='1'/>
+        <parameter type-id='type-id-11' name='protocol' filepath='net/socket.c' line='1314' column='1'/>
+        <parameter type-id='type-id-8563' name='res' filepath='net/socket.c' line='1314' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='kernel_connect' mangled-name='kernel_connect' filepath='net/socket.c' line='3313' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kernel_connect'>
+        <parameter type-id='type-id-2985' name='sock' filepath='net/socket.c' line='3313' column='1'/>
+        <parameter type-id='type-id-7175' name='addr' filepath='net/socket.c' line='3313' column='1'/>
+        <parameter type-id='type-id-11' name='addrlen' filepath='net/socket.c' line='3313' column='1'/>
+        <parameter type-id='type-id-11' name='flags' filepath='net/socket.c' line='3314' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='kernel_getsockname' mangled-name='kernel_getsockname' filepath='net/socket.c' line='3320' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kernel_getsockname'>
+        <parameter type-id='type-id-2985' name='sock' filepath='net/socket.c' line='3320' column='1'/>
+        <parameter type-id='type-id-7175' name='addr' filepath='net/socket.c' line='3320' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='kernel_setsockopt' mangled-name='kernel_setsockopt' filepath='net/socket.c' line='3354' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kernel_setsockopt'>
+        <parameter type-id='type-id-2985' name='sock' filepath='net/socket.c' line='3354' column='1'/>
+        <parameter type-id='type-id-11' name='level' filepath='net/socket.c' line='3354' column='1'/>
+        <parameter type-id='type-id-11' name='optname' filepath='net/socket.c' line='3354' column='1'/>
+        <parameter type-id='type-id-300' name='optval' filepath='net/socket.c' line='3355' column='1'/>
+        <parameter type-id='type-id-10' name='optlen' filepath='net/socket.c' line='3355' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-8554'>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-8555'/>
+        <parameter type-id='type-id-8560'/>
+        <parameter type-id='type-id-300'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8558'>
+        <parameter type-id='type-id-2976'/>
+        <return type-id='type-id-8557'/>
+      </function-type>
     </abi-instr>
     <abi-instr version='1.0' address-size='64' path='net/wireless/core.c' language='LANG_C89'>
 
-      <array-type-def dimensions='1' type-id='type-id-6197' size-in-bits='864' id='type-id-6198'>
-        <subrange length='3' type-id='type-id-9' id='type-id-196'/>
+      <array-type-def dimensions='1' type-id='type-id-8564' size-in-bits='864' id='type-id-8565'>
+        <subrange length='3' type-id='type-id-5' id='type-id-1015'/>
 
       </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-6199' size-in-bits='336' id='type-id-6200'>
-        <subrange length='21' type-id='type-id-9' id='type-id-958'/>
+      <array-type-def dimensions='1' type-id='type-id-8566' size-in-bits='336' id='type-id-8567'>
+        <subrange length='21' type-id='type-id-5' id='type-id-4647'/>
 
       </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-6201' size-in-bits='128' id='type-id-6202'>
-        <subrange length='8' type-id='type-id-9' id='type-id-928'/>
+      <array-type-def dimensions='1' type-id='type-id-8568' size-in-bits='128' id='type-id-8569'>
+        <subrange length='8' type-id='type-id-5' id='type-id-1953'/>
 
       </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='24' id='type-id-6203'>
-        <subrange length='3' type-id='type-id-9' id='type-id-196'/>
+      <array-type-def dimensions='1' type-id='type-id-475' size-in-bits='24' id='type-id-8570'>
+        <subrange length='3' type-id='type-id-5' id='type-id-1015'/>
 
       </array-type-def>
-      <class-decl name='cfg80211_conn' size-in-bits='3072' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-6204'/>
-      <array-type-def dimensions='1' type-id='type-id-6205' size-in-bits='infinite' id='type-id-6206'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
+      <class-decl name='cfg80211_conn' size-in-bits='3072' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-8571'/>
+      <array-type-def dimensions='1' type-id='type-id-8572' size-in-bits='infinite' id='type-id-8573'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
 
       </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-6207' size-in-bits='infinite' id='type-id-6208'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
+      <array-type-def dimensions='1' type-id='type-id-8574' size-in-bits='infinite' id='type-id-8575'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
 
       </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-6209' size-in-bits='192' id='type-id-6210'>
-        <subrange length='3' type-id='type-id-9' id='type-id-196'/>
+      <array-type-def dimensions='1' type-id='type-id-8576' size-in-bits='192' id='type-id-8577'>
+        <subrange length='3' type-id='type-id-5' id='type-id-1015'/>
 
       </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-6211' size-in-bits='256' id='type-id-6212'>
-        <subrange length='4' type-id='type-id-9' id='type-id-107'/>
+      <array-type-def dimensions='1' type-id='type-id-8578' size-in-bits='256' id='type-id-8579'>
+        <subrange length='4' type-id='type-id-5' id='type-id-281'/>
 
       </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-6213' size-in-bits='1024' id='type-id-6214'>
-        <subrange length='4' type-id='type-id-9' id='type-id-107'/>
+      <array-type-def dimensions='1' type-id='type-id-8580' size-in-bits='1024' id='type-id-8581'>
+        <subrange length='4' type-id='type-id-5' id='type-id-281'/>
 
       </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-6215' size-in-bits='infinite' id='type-id-6216'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
+      <array-type-def dimensions='1' type-id='type-id-8582' size-in-bits='infinite' id='type-id-8583'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
 
       </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-738' size-in-bits='infinite' id='type-id-6217'>
-        <subrange length='infinite' type-id='type-id-9' id='type-id-10'/>
+      <array-type-def dimensions='1' type-id='type-id-939' size-in-bits='infinite' id='type-id-8584'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
 
       </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-209' size-in-bits='32' id='type-id-6218'>
-        <subrange length='4' type-id='type-id-9' id='type-id-107'/>
+      <array-type-def dimensions='1' type-id='type-id-4809' size-in-bits='32' id='type-id-8585'>
+        <subrange length='4' type-id='type-id-5' id='type-id-281'/>
 
       </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-688' size-in-bits='128' id='type-id-6219'>
-        <subrange length='8' type-id='type-id-9' id='type-id-928'/>
+      <array-type-def dimensions='1' type-id='type-id-289' size-in-bits='128' id='type-id-8586'>
+        <subrange length='8' type-id='type-id-5' id='type-id-1953'/>
 
       </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='64' id='type-id-6220'>
-        <subrange length='2' type-id='type-id-9' id='type-id-128'/>
+      <array-type-def dimensions='1' type-id='type-id-9' size-in-bits='96' id='type-id-8587'>
+        <subrange length='3' type-id='type-id-5' id='type-id-1015'/>
 
       </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-7' size-in-bits='96' id='type-id-6221'>
-        <subrange length='3' type-id='type-id-9' id='type-id-196'/>
+      <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='80' id='type-id-8588'>
+        <subrange length='10' type-id='type-id-5' id='type-id-1148'/>
 
       </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-214' size-in-bits='80' id='type-id-6222'>
-        <subrange length='10' type-id='type-id-9' id='type-id-1191'/>
+      <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='200' id='type-id-8589'>
+        <subrange length='25' type-id='type-id-5' id='type-id-8590'/>
 
       </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-214' size-in-bits='200' id='type-id-6223'>
-        <subrange length='25' type-id='type-id-9' id='type-id-6224'/>
+      <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='256' id='type-id-8591'>
+        <subrange length='32' type-id='type-id-5' id='type-id-2319'/>
 
       </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-214' size-in-bits='256' id='type-id-6225'>
-        <subrange length='32' type-id='type-id-9' id='type-id-941'/>
+      <array-type-def dimensions='2' type-id='type-id-53' size-in-bits='136' id='type-id-8592'>
+        <subrange length='4' type-id='type-id-5' id='type-id-281'/>
+
+        <subrange length='13' type-id='type-id-5' id='type-id-1955'/>
 
       </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-214' size-in-bits='32' id='type-id-6226'>
-        <subrange length='4' type-id='type-id-9' id='type-id-107'/>
+      <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='40' id='type-id-8593'>
+        <subrange length='5' type-id='type-id-5' id='type-id-3376'/>
 
       </array-type-def>
-      <array-type-def dimensions='2' type-id='type-id-214' size-in-bits='136' id='type-id-6227'>
-        <subrange length='4' type-id='type-id-9' id='type-id-107'/>
-
-        <subrange length='13' type-id='type-id-9' id='type-id-201'/>
+      <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='48' id='type-id-8594'>
+        <subrange length='6' type-id='type-id-5' id='type-id-1951'/>
 
       </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-214' size-in-bits='40' id='type-id-6228'>
-        <subrange length='5' type-id='type-id-9' id='type-id-110'/>
+      <array-type-def dimensions='1' type-id='type-id-53' size-in-bits='72' id='type-id-8595'>
+        <subrange length='9' type-id='type-id-5' id='type-id-2321'/>
 
       </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-214' size-in-bits='48' id='type-id-6229'>
-        <subrange length='6' type-id='type-id-9' id='type-id-191'/>
-
-      </array-type-def>
-      <array-type-def dimensions='1' type-id='type-id-214' size-in-bits='72' id='type-id-6230'>
-        <subrange length='9' type-id='type-id-9' id='type-id-953'/>
-
-      </array-type-def>
-      <class-decl name='wiphy' size-in-bits='9472' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='3972' column='1' id='type-id-6231'>
+      <class-decl name='wiphy' size-in-bits='9472' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='3977' column='1' id='type-id-8596'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='perm_addr' type-id='type-id-6229' visibility='default' filepath='include/net/cfg80211.h' line='3976' column='1'/>
+          <var-decl name='perm_addr' type-id='type-id-8594' visibility='default' filepath='include/net/cfg80211.h' line='3981' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='addr_mask' type-id='type-id-6229' visibility='default' filepath='include/net/cfg80211.h' line='3977' column='1'/>
+          <var-decl name='addr_mask' type-id='type-id-8594' visibility='default' filepath='include/net/cfg80211.h' line='3982' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='addresses' type-id='type-id-6232' visibility='default' filepath='include/net/cfg80211.h' line='3979' column='1'/>
+          <var-decl name='addresses' type-id='type-id-8597' visibility='default' filepath='include/net/cfg80211.h' line='3984' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='mgmt_stypes' type-id='type-id-6233' visibility='default' filepath='include/net/cfg80211.h' line='3981' column='1'/>
+          <var-decl name='mgmt_stypes' type-id='type-id-8598' visibility='default' filepath='include/net/cfg80211.h' line='3986' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='iface_combinations' type-id='type-id-6234' visibility='default' filepath='include/net/cfg80211.h' line='3983' column='1'/>
+          <var-decl name='iface_combinations' type-id='type-id-8599' visibility='default' filepath='include/net/cfg80211.h' line='3988' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='n_iface_combinations' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='3984' column='1'/>
+          <var-decl name='n_iface_combinations' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='3989' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='software_iftypes' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='3985' column='1'/>
+          <var-decl name='software_iftypes' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='3990' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='368'>
-          <var-decl name='n_addresses' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='3987' column='1'/>
+          <var-decl name='n_addresses' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='3992' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='interface_modes' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='3990' column='1'/>
+          <var-decl name='interface_modes' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='3995' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='400'>
-          <var-decl name='max_acl_mac_addrs' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='3992' column='1'/>
+          <var-decl name='max_acl_mac_addrs' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='3997' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='flags' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='3994' column='1'/>
+          <var-decl name='flags' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='3999' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='regulatory_flags' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='3994' column='1'/>
+          <var-decl name='regulatory_flags' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='3999' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='features' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='3994' column='1'/>
+          <var-decl name='features' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='3999' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='ext_features' type-id='type-id-6226' visibility='default' filepath='include/net/cfg80211.h' line='3995' column='1'/>
+          <var-decl name='ext_features' type-id='type-id-1897' visibility='default' filepath='include/net/cfg80211.h' line='4000' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='ap_sme_capa' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='3997' column='1'/>
+          <var-decl name='ap_sme_capa' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='4002' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='signal_type' type-id='type-id-6235' visibility='default' filepath='include/net/cfg80211.h' line='3999' column='1'/>
+          <var-decl name='signal_type' type-id='type-id-8600' visibility='default' filepath='include/net/cfg80211.h' line='4004' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='bss_priv_size' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='4001' column='1'/>
+          <var-decl name='bss_priv_size' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='4006' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='max_scan_ssids' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='4002' column='1'/>
+          <var-decl name='max_scan_ssids' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='4007' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='648'>
-          <var-decl name='max_sched_scan_reqs' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='4003' column='1'/>
+          <var-decl name='max_sched_scan_reqs' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='4008' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='656'>
-          <var-decl name='max_sched_scan_ssids' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='4004' column='1'/>
+          <var-decl name='max_sched_scan_ssids' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='4009' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='664'>
-          <var-decl name='max_match_sets' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='4005' column='1'/>
+          <var-decl name='max_match_sets' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='4010' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='672'>
-          <var-decl name='max_scan_ie_len' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='4006' column='1'/>
+          <var-decl name='max_scan_ie_len' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='4011' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='688'>
-          <var-decl name='max_sched_scan_ie_len' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='4007' column='1'/>
+          <var-decl name='max_sched_scan_ie_len' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='4012' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='max_sched_scan_plans' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='4008' column='1'/>
+          <var-decl name='max_sched_scan_plans' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='4013' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='736'>
-          <var-decl name='max_sched_scan_plan_interval' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='4009' column='1'/>
+          <var-decl name='max_sched_scan_plan_interval' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='4014' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='max_sched_scan_plan_iterations' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='4010' column='1'/>
+          <var-decl name='max_sched_scan_plan_iterations' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='4015' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='800'>
-          <var-decl name='n_cipher_suites' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='4012' column='1'/>
+          <var-decl name='n_cipher_suites' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='4017' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='cipher_suites' type-id='type-id-2727' visibility='default' filepath='include/net/cfg80211.h' line='4013' column='1'/>
+          <var-decl name='cipher_suites' type-id='type-id-560' visibility='default' filepath='include/net/cfg80211.h' line='4018' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='retry_short' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='4015' column='1'/>
+          <var-decl name='retry_short' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='4020' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='904'>
-          <var-decl name='retry_long' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='4016' column='1'/>
+          <var-decl name='retry_long' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='4021' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='928'>
-          <var-decl name='frag_threshold' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='4017' column='1'/>
+          <var-decl name='frag_threshold' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='4022' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='rts_threshold' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='4018' column='1'/>
+          <var-decl name='rts_threshold' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='4023' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='992'>
-          <var-decl name='coverage_class' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='4019' column='1'/>
+          <var-decl name='coverage_class' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='4024' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1000'>
-          <var-decl name='fw_version' type-id='type-id-373' visibility='default' filepath='include/net/cfg80211.h' line='4021' column='1'/>
+          <var-decl name='fw_version' type-id='type-id-650' visibility='default' filepath='include/net/cfg80211.h' line='4026' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='hw_version' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='4022' column='1'/>
+          <var-decl name='hw_version' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='4027' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='wowlan' type-id='type-id-6236' visibility='default' filepath='include/net/cfg80211.h' line='4025' column='1'/>
+          <var-decl name='wowlan' type-id='type-id-8601' visibility='default' filepath='include/net/cfg80211.h' line='4030' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='wowlan_config' type-id='type-id-6237' visibility='default' filepath='include/net/cfg80211.h' line='4026' column='1'/>
+          <var-decl name='wowlan_config' type-id='type-id-8602' visibility='default' filepath='include/net/cfg80211.h' line='4031' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='max_remain_on_channel_duration' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='4029' column='1'/>
+          <var-decl name='max_remain_on_channel_duration' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='4034' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1488'>
-          <var-decl name='max_num_pmkids' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='4031' column='1'/>
+          <var-decl name='max_num_pmkids' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='4036' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1504'>
-          <var-decl name='available_antennas_tx' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='4033' column='1'/>
+          <var-decl name='available_antennas_tx' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='4038' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='available_antennas_rx' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='4034' column='1'/>
+          <var-decl name='available_antennas_rx' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='4039' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1568'>
-          <var-decl name='probe_resp_offload' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='4041' column='1'/>
+          <var-decl name='probe_resp_offload' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='4046' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='extended_capabilities' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='4043' column='1'/>
+          <var-decl name='extended_capabilities' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='4048' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='extended_capabilities_mask' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='4043' column='1'/>
+          <var-decl name='extended_capabilities_mask' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='4048' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='extended_capabilities_len' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='4044' column='1'/>
+          <var-decl name='extended_capabilities_len' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='4049' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='iftype_ext_capab' type-id='type-id-6238' visibility='default' filepath='include/net/cfg80211.h' line='4046' column='1'/>
+          <var-decl name='iftype_ext_capab' type-id='type-id-8603' visibility='default' filepath='include/net/cfg80211.h' line='4051' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='num_iftype_ext_capab' type-id='type-id-5' visibility='default' filepath='include/net/cfg80211.h' line='4047' column='1'/>
+          <var-decl name='num_iftype_ext_capab' type-id='type-id-10' visibility='default' filepath='include/net/cfg80211.h' line='4052' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='privid' type-id='type-id-15' visibility='default' filepath='include/net/cfg80211.h' line='4054' column='1'/>
+          <var-decl name='privid' type-id='type-id-3' visibility='default' filepath='include/net/cfg80211.h' line='4059' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='bands' type-id='type-id-6210' visibility='default' filepath='include/net/cfg80211.h' line='4056' column='1'/>
+          <var-decl name='bands' type-id='type-id-8577' visibility='default' filepath='include/net/cfg80211.h' line='4061' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='reg_notifier' type-id='type-id-6239' visibility='default' filepath='include/net/cfg80211.h' line='4059' column='1'/>
+          <var-decl name='reg_notifier' type-id='type-id-8604' visibility='default' filepath='include/net/cfg80211.h' line='4064' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='regd' type-id='type-id-6240' visibility='default' filepath='include/net/cfg80211.h' line='4064' column='1'/>
+          <var-decl name='regd' type-id='type-id-8605' visibility='default' filepath='include/net/cfg80211.h' line='4069' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2304'>
-          <var-decl name='dev' type-id='type-id-388' visibility='default' filepath='include/net/cfg80211.h' line='4068' column='1'/>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='include/net/cfg80211.h' line='4073' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='8512'>
-          <var-decl name='registered' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='4071' column='1'/>
+          <var-decl name='registered' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='4076' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='8576'>
-          <var-decl name='debugfsdir' type-id='type-id-23' visibility='default' filepath='include/net/cfg80211.h' line='4074' column='1'/>
+          <var-decl name='debugfsdir' type-id='type-id-836' visibility='default' filepath='include/net/cfg80211.h' line='4079' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='8640'>
-          <var-decl name='ht_capa_mod_mask' type-id='type-id-6241' visibility='default' filepath='include/net/cfg80211.h' line='4076' column='1'/>
+          <var-decl name='ht_capa_mod_mask' type-id='type-id-8606' visibility='default' filepath='include/net/cfg80211.h' line='4081' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='8704'>
-          <var-decl name='vht_capa_mod_mask' type-id='type-id-6242' visibility='default' filepath='include/net/cfg80211.h' line='4077' column='1'/>
+          <var-decl name='vht_capa_mod_mask' type-id='type-id-8607' visibility='default' filepath='include/net/cfg80211.h' line='4082' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='8768'>
-          <var-decl name='wdev_list' type-id='type-id-20' visibility='default' filepath='include/net/cfg80211.h' line='4079' column='1'/>
+          <var-decl name='wdev_list' type-id='type-id-8' visibility='default' filepath='include/net/cfg80211.h' line='4084' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='8896'>
-          <var-decl name='_net' type-id='type-id-1692' visibility='default' filepath='include/net/cfg80211.h' line='4082' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8896'>
-          <var-decl name='coalesce' type-id='type-id-6243' visibility='default' filepath='include/net/cfg80211.h' line='4088' column='1'/>
+          <var-decl name='_net' type-id='type-id-6469' visibility='default' filepath='include/net/cfg80211.h' line='4087' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='8960'>
-          <var-decl name='vendor_commands' type-id='type-id-6244' visibility='default' filepath='include/net/cfg80211.h' line='4090' column='1'/>
+          <var-decl name='coalesce' type-id='type-id-8608' visibility='default' filepath='include/net/cfg80211.h' line='4093' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='9024'>
-          <var-decl name='vendor_events' type-id='type-id-6245' visibility='default' filepath='include/net/cfg80211.h' line='4091' column='1'/>
+          <var-decl name='vendor_commands' type-id='type-id-8609' visibility='default' filepath='include/net/cfg80211.h' line='4095' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='9088'>
-          <var-decl name='n_vendor_commands' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='4092' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9120'>
-          <var-decl name='n_vendor_events' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='4092' column='1'/>
+          <var-decl name='vendor_events' type-id='type-id-8610' visibility='default' filepath='include/net/cfg80211.h' line='4096' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='9152'>
-          <var-decl name='max_ap_assoc_sta' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='4094' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9168'>
-          <var-decl name='max_num_csa_counters' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='4096' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9176'>
-          <var-decl name='max_adj_channel_rssi_comp' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='4097' column='1'/>
+          <var-decl name='n_vendor_commands' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='4097' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='9184'>
-          <var-decl name='bss_select_support' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='4099' column='1'/>
+          <var-decl name='n_vendor_events' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='4097' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='9216'>
-          <var-decl name='cookie_counter' type-id='type-id-40' visibility='default' filepath='include/net/cfg80211.h' line='4101' column='1'/>
+          <var-decl name='max_ap_assoc_sta' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='4099' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9232'>
+          <var-decl name='max_num_csa_counters' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='4101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9240'>
+          <var-decl name='max_adj_channel_rssi_comp' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='4102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9248'>
+          <var-decl name='bss_select_support' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='4104' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='9280'>
-          <var-decl name='nan_supported_bands' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='4103' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='9312'>
-          <var-decl name='txq_limit' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='4105' column='1'/>
+          <var-decl name='cookie_counter' type-id='type-id-134' visibility='default' filepath='include/net/cfg80211.h' line='4106' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='9344'>
-          <var-decl name='txq_memory_limit' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='4106' column='1'/>
+          <var-decl name='nan_supported_bands' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='4108' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='9376'>
-          <var-decl name='txq_quantum' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='4107' column='1'/>
+          <var-decl name='txq_limit' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='4110' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9408'>
+          <var-decl name='txq_memory_limit' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='4111' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9440'>
+          <var-decl name='txq_quantum' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='4112' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='9472'>
-          <var-decl name='priv' type-id='type-id-440' visibility='default' filepath='include/net/cfg80211.h' line='4109' column='1'/>
+          <var-decl name='priv' type-id='type-id-1049' visibility='default' filepath='include/net/cfg80211.h' line='4114' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='mac_address' size-in-bits='48' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='793' column='1' id='type-id-6215'>
+      <class-decl name='mac_address' size-in-bits='48' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='793' column='1' id='type-id-8582'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='addr' type-id='type-id-6229' visibility='default' filepath='include/net/cfg80211.h' line='794' column='1'/>
+          <var-decl name='addr' type-id='type-id-8594' visibility='default' filepath='include/net/cfg80211.h' line='794' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='ieee80211_txrx_stypes' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='3637' column='1' id='type-id-6246'>
+      <class-decl name='ieee80211_txrx_stypes' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='3642' column='1' id='type-id-8611'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='tx' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='3638' column='1'/>
+          <var-decl name='tx' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='3643' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='rx' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='3638' column='1'/>
+          <var-decl name='rx' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='3643' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='ieee80211_iface_combination' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='3579' column='1' id='type-id-6247'>
+      <class-decl name='ieee80211_iface_combination' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='3584' column='1' id='type-id-8612'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='limits' type-id='type-id-6248' visibility='default' filepath='include/net/cfg80211.h' line='3584' column='1'/>
+          <var-decl name='limits' type-id='type-id-8613' visibility='default' filepath='include/net/cfg80211.h' line='3589' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='num_different_channels' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='3590' column='1'/>
+          <var-decl name='num_different_channels' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='3595' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='max_interfaces' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='3596' column='1'/>
+          <var-decl name='max_interfaces' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='3601' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='112'>
-          <var-decl name='n_limits' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='3602' column='1'/>
+          <var-decl name='n_limits' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='3607' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='120'>
-          <var-decl name='beacon_int_infra_match' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='3609' column='1'/>
+          <var-decl name='beacon_int_infra_match' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='3614' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='radar_detect_widths' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='3615' column='1'/>
+          <var-decl name='radar_detect_widths' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='3620' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='136'>
-          <var-decl name='radar_detect_regions' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='3621' column='1'/>
+          <var-decl name='radar_detect_regions' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='3626' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='beacon_int_min_gcd' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='3634' column='1'/>
+          <var-decl name='beacon_int_min_gcd' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='3639' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='ieee80211_iface_limit' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='3515' column='1' id='type-id-6249'>
+      <class-decl name='ieee80211_iface_limit' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='3520' column='1' id='type-id-8614'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='max' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='3516' column='1'/>
+          <var-decl name='max' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='3521' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='types' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='3517' column='1'/>
+          <var-decl name='types' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='3522' column='1'/>
         </data-member>
       </class-decl>
-      <enum-decl name='cfg80211_signal_type' filepath='include/net/cfg80211.h' line='1903' column='1' id='type-id-6235'>
-        <underlying-type type-id='type-id-94'/>
+      <enum-decl name='cfg80211_signal_type' filepath='include/net/cfg80211.h' line='1903' column='1' id='type-id-8600'>
+        <underlying-type type-id='type-id-182'/>
         <enumerator name='CFG80211_SIGNAL_TYPE_NONE' value='0'/>
         <enumerator name='CFG80211_SIGNAL_TYPE_MBM' value='1'/>
         <enumerator name='CFG80211_SIGNAL_TYPE_UNSPEC' value='2'/>
       </enum-decl>
-      <class-decl name='wiphy_wowlan_support' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='3693' column='1' id='type-id-6250'>
+      <class-decl name='wiphy_wowlan_support' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='3698' column='1' id='type-id-8615'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='flags' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='3694' column='1'/>
+          <var-decl name='flags' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='3699' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='n_patterns' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='3695' column='1'/>
+          <var-decl name='n_patterns' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='3700' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='pattern_max_len' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='3696' column='1'/>
+          <var-decl name='pattern_max_len' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='3701' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='pattern_min_len' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='3697' column='1'/>
+          <var-decl name='pattern_min_len' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='3702' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='max_pkt_offset' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='3698' column='1'/>
+          <var-decl name='max_pkt_offset' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='3703' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='max_nd_match_sets' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='3699' column='1'/>
+          <var-decl name='max_nd_match_sets' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='3704' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='tcp' type-id='type-id-6251' visibility='default' filepath='include/net/cfg80211.h' line='3700' column='1'/>
+          <var-decl name='tcp' type-id='type-id-8616' visibility='default' filepath='include/net/cfg80211.h' line='3705' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='wiphy_wowlan_tcp_support' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='3670' column='1' id='type-id-6252'>
+      <class-decl name='wiphy_wowlan_tcp_support' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='3675' column='1' id='type-id-8617'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='tok' type-id='type-id-6253' visibility='default' filepath='include/net/cfg80211.h' line='3671' column='1'/>
+          <var-decl name='tok' type-id='type-id-8618' visibility='default' filepath='include/net/cfg80211.h' line='3676' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='data_payload_max' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='3672' column='1'/>
+          <var-decl name='data_payload_max' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='3677' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='data_interval_max' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='3673' column='1'/>
+          <var-decl name='data_interval_max' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='3678' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='wake_payload_max' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='3674' column='1'/>
+          <var-decl name='wake_payload_max' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='3679' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='seq' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='3675' column='1'/>
+          <var-decl name='seq' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='3680' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='nl80211_wowlan_tcp_data_token_feature' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/uapi/linux/nl80211.h' line='4671' column='1' id='type-id-6254'>
+      <class-decl name='nl80211_wowlan_tcp_data_token_feature' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/uapi/linux/nl80211.h' line='4671' column='1' id='type-id-8619'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='min_len' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/nl80211.h' line='4672' column='1'/>
+          <var-decl name='min_len' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/nl80211.h' line='4672' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='max_len' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/nl80211.h' line='4672' column='1'/>
+          <var-decl name='max_len' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/nl80211.h' line='4672' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='bufsize' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/nl80211.h' line='4672' column='1'/>
+          <var-decl name='bufsize' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/nl80211.h' line='4672' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='cfg80211_wowlan' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2463' column='1' id='type-id-6255'>
+      <class-decl name='cfg80211_wowlan' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2463' column='1' id='type-id-8620'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='any' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='2464' column='1'/>
+          <var-decl name='any' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='2464' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='disconnect' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='2464' column='1'/>
+          <var-decl name='disconnect' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='2464' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='magic_pkt' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='2464' column='1'/>
+          <var-decl name='magic_pkt' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='2464' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='24'>
-          <var-decl name='gtk_rekey_failure' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='2464' column='1'/>
+          <var-decl name='gtk_rekey_failure' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='2464' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='eap_identity_req' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='2465' column='1'/>
+          <var-decl name='eap_identity_req' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='2465' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='40'>
-          <var-decl name='four_way_handshake' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='2465' column='1'/>
+          <var-decl name='four_way_handshake' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='2465' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='rfkill_release' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='2466' column='1'/>
+          <var-decl name='rfkill_release' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='2466' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='patterns' type-id='type-id-6256' visibility='default' filepath='include/net/cfg80211.h' line='2467' column='1'/>
+          <var-decl name='patterns' type-id='type-id-8621' visibility='default' filepath='include/net/cfg80211.h' line='2467' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='tcp' type-id='type-id-6257' visibility='default' filepath='include/net/cfg80211.h' line='2468' column='1'/>
+          <var-decl name='tcp' type-id='type-id-8622' visibility='default' filepath='include/net/cfg80211.h' line='2468' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='n_patterns' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='2469' column='1'/>
+          <var-decl name='n_patterns' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='2469' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='nd_config' type-id='type-id-6258' visibility='default' filepath='include/net/cfg80211.h' line='2470' column='1'/>
+          <var-decl name='nd_config' type-id='type-id-8623' visibility='default' filepath='include/net/cfg80211.h' line='2470' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='cfg80211_pkt_pattern' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2404' column='1' id='type-id-6259'>
+      <class-decl name='cfg80211_pkt_pattern' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2404' column='1' id='type-id-8624'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mask' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2405' column='1'/>
+          <var-decl name='mask' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2405' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='pattern' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2405' column='1'/>
+          <var-decl name='pattern' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2405' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='pattern_len' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='2406' column='1'/>
+          <var-decl name='pattern_len' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='2406' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='pkt_offset' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='2407' column='1'/>
+          <var-decl name='pkt_offset' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='2407' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='cfg80211_wowlan_tcp' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2429' column='1' id='type-id-6260'>
+      <class-decl name='cfg80211_wowlan_tcp' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2429' column='1' id='type-id-8625'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='sock' type-id='type-id-5669' visibility='default' filepath='include/net/cfg80211.h' line='2430' column='1'/>
+          <var-decl name='sock' type-id='type-id-2985' visibility='default' filepath='include/net/cfg80211.h' line='2430' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='src' type-id='type-id-929' visibility='default' filepath='include/net/cfg80211.h' line='2431' column='1'/>
+          <var-decl name='src' type-id='type-id-2085' visibility='default' filepath='include/net/cfg80211.h' line='2431' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='dst' type-id='type-id-929' visibility='default' filepath='include/net/cfg80211.h' line='2431' column='1'/>
+          <var-decl name='dst' type-id='type-id-2085' visibility='default' filepath='include/net/cfg80211.h' line='2431' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='src_port' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='2432' column='1'/>
+          <var-decl name='src_port' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='2432' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='144'>
-          <var-decl name='dst_port' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='2432' column='1'/>
+          <var-decl name='dst_port' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='2432' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='dst_mac' type-id='type-id-6229' visibility='default' filepath='include/net/cfg80211.h' line='2433' column='1'/>
+          <var-decl name='dst_mac' type-id='type-id-8594' visibility='default' filepath='include/net/cfg80211.h' line='2433' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='payload_len' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='2434' column='1'/>
+          <var-decl name='payload_len' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='2434' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='payload' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2435' column='1'/>
+          <var-decl name='payload' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2435' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='payload_seq' type-id='type-id-6261' visibility='default' filepath='include/net/cfg80211.h' line='2436' column='1'/>
+          <var-decl name='payload_seq' type-id='type-id-8626' visibility='default' filepath='include/net/cfg80211.h' line='2436' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='data_interval' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='2437' column='1'/>
+          <var-decl name='data_interval' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='2437' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='wake_len' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='2438' column='1'/>
+          <var-decl name='wake_len' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='2438' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='wake_data' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2439' column='1'/>
+          <var-decl name='wake_data' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2439' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='wake_mask' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2439' column='1'/>
+          <var-decl name='wake_mask' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2439' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='tokens_size' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='2440' column='1'/>
+          <var-decl name='tokens_size' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='2440' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='672'>
-          <var-decl name='payload_tok' type-id='type-id-6262' visibility='default' filepath='include/net/cfg80211.h' line='2442' column='1'/>
+          <var-decl name='payload_tok' type-id='type-id-8627' visibility='default' filepath='include/net/cfg80211.h' line='2442' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='__anonymous_struct__' size-in-bits='6848' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='353' column='1' id='type-id-6263'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mmap' type-id='type-id-1209' visibility='default' filepath='include/linux/mm_types.h' line='354' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='mm_rb' type-id='type-id-416' visibility='default' filepath='include/linux/mm_types.h' line='355' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='vmacache_seqnum' type-id='type-id-40' visibility='default' filepath='include/linux/mm_types.h' line='356' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='get_unmapped_area' type-id='type-id-1484' visibility='default' filepath='include/linux/mm_types.h' line='358' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='mmap_base' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='362' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='mmap_legacy_base' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='363' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='task_size' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='369' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='highest_vm_end' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='370' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='pgd' type-id='type-id-1485' visibility='default' filepath='include/linux/mm_types.h' line='371' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='mm_users' type-id='type-id-26' visibility='default' filepath='include/linux/mm_types.h' line='382' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='mm_count' type-id='type-id-26' visibility='default' filepath='include/linux/mm_types.h' line='391' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='pgtables_bytes' type-id='type-id-115' visibility='default' filepath='include/linux/mm_types.h' line='394' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='map_count' type-id='type-id-17' visibility='default' filepath='include/linux/mm_types.h' line='396' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='736'>
-          <var-decl name='page_table_lock' type-id='type-id-247' visibility='default' filepath='include/linux/mm_types.h' line='398' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='mmap_sem' type-id='type-id-246' visibility='default' filepath='include/linux/mm_types.h' line='401' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='mmlist' type-id='type-id-20' visibility='default' filepath='include/linux/mm_types.h' line='403' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='hiwater_rss' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='410' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='hiwater_vm' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='411' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='total_vm' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='413' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='locked_vm' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='414' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='pinned_vm' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='415' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='data_vm' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='416' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='exec_vm' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='417' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='stack_vm' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='418' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='def_flags' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='419' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='arg_lock' type-id='type-id-247' visibility='default' filepath='include/linux/mm_types.h' line='421' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='start_code' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='end_code' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='start_data' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='end_data' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='start_brk' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='brk' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='start_stack' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2304'>
-          <var-decl name='arg_start' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='arg_end' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2432'>
-          <var-decl name='env_start' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2496'>
-          <var-decl name='env_end' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='2560'>
-          <var-decl name='saved_auxv' type-id='type-id-1202' visibility='default' filepath='include/linux/mm_types.h' line='426' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5504'>
-          <var-decl name='rss_stat' type-id='type-id-1486' visibility='default' filepath='include/linux/mm_types.h' line='432' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5760'>
-          <var-decl name='binfmt' type-id='type-id-1487' visibility='default' filepath='include/linux/mm_types.h' line='434' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='5824'>
-          <var-decl name='context' type-id='type-id-1488' visibility='default' filepath='include/linux/mm_types.h' line='437' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6016'>
-          <var-decl name='flags' type-id='type-id-16' visibility='default' filepath='include/linux/mm_types.h' line='439' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6080'>
-          <var-decl name='core_state' type-id='type-id-1489' visibility='default' filepath='include/linux/mm_types.h' line='441' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6144'>
-          <var-decl name='membarrier_state' type-id='type-id-26' visibility='default' filepath='include/linux/mm_types.h' line='443' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6176'>
-          <var-decl name='ioctx_lock' type-id='type-id-247' visibility='default' filepath='include/linux/mm_types.h' line='446' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6208'>
-          <var-decl name='ioctx_table' type-id='type-id-1490' visibility='default' filepath='include/linux/mm_types.h' line='447' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6272'>
-          <var-decl name='owner' type-id='type-id-431' visibility='default' filepath='include/linux/mm_types.h' line='460' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6336'>
-          <var-decl name='user_ns' type-id='type-id-917' visibility='default' filepath='include/linux/mm_types.h' line='462' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6400'>
-          <var-decl name='exe_file' type-id='type-id-83' visibility='default' filepath='include/linux/mm_types.h' line='465' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6464'>
-          <var-decl name='tlb_flush_pending' type-id='type-id-26' visibility='default' filepath='include/linux/mm_types.h' line='491' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6528'>
-          <var-decl name='uprobes_state' type-id='type-id-1491' visibility='default' filepath='include/linux/mm_types.h' line='496' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='6592'>
-          <var-decl name='async_put_work' type-id='type-id-255' visibility='default' filepath='include/linux/mm_types.h' line='500' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='303' column='1' id='type-id-6264'>
+      <union-decl name='__anonymous_union__' size-in-bits='256' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='303' column='1' id='type-id-8628'>
         <data-member access='private'>
-          <var-decl name='shared' type-id='type-id-2419' visibility='default' filepath='include/linux/mm_types.h' line='307' column='1'/>
+          <var-decl name='shared' type-id='type-id-5188' visibility='default' filepath='include/linux/mm_types.h' line='307' column='1'/>
         </data-member>
         <data-member access='private'>
-          <var-decl name='anon_name' type-id='type-id-4' visibility='default' filepath='include/linux/mm_types.h' line='308' column='1'/>
+          <var-decl name='anon_name' type-id='type-id-24' visibility='default' filepath='include/linux/mm_types.h' line='308' column='1'/>
         </data-member>
       </union-decl>
-      <class-decl name='nl80211_wowlan_tcp_data_seq' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/uapi/linux/nl80211.h' line='4649' column='1' id='type-id-6261'>
+      <class-decl name='nl80211_wowlan_tcp_data_seq' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/uapi/linux/nl80211.h' line='4649' column='1' id='type-id-8626'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='start' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/nl80211.h' line='4650' column='1'/>
+          <var-decl name='start' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/nl80211.h' line='4650' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='offset' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/nl80211.h' line='4650' column='1'/>
+          <var-decl name='offset' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/nl80211.h' line='4650' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='len' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/nl80211.h' line='4650' column='1'/>
+          <var-decl name='len' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/nl80211.h' line='4650' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='nl80211_wowlan_tcp_data_token' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/linux/nl80211.h' line='4660' column='1' id='type-id-6262'>
+      <class-decl name='nl80211_wowlan_tcp_data_token' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/linux/nl80211.h' line='4660' column='1' id='type-id-8627'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='offset' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/nl80211.h' line='4661' column='1'/>
+          <var-decl name='offset' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/nl80211.h' line='4661' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='len' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/nl80211.h' line='4661' column='1'/>
+          <var-decl name='len' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/nl80211.h' line='4661' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='token_stream' type-id='type-id-946' visibility='default' filepath='include/uapi/linux/nl80211.h' line='4662' column='1'/>
+          <var-decl name='token_stream' type-id='type-id-6752' visibility='default' filepath='include/uapi/linux/nl80211.h' line='4662' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='cfg80211_sched_scan_request' size-in-bits='1536' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1859' column='1' id='type-id-6265'>
+      <class-decl name='cfg80211_sched_scan_request' size-in-bits='1536' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1859' column='1' id='type-id-8629'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='reqid' type-id='type-id-40' visibility='default' filepath='include/net/cfg80211.h' line='1860' column='1'/>
+          <var-decl name='reqid' type-id='type-id-134' visibility='default' filepath='include/net/cfg80211.h' line='1860' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ssids' type-id='type-id-6266' visibility='default' filepath='include/net/cfg80211.h' line='1861' column='1'/>
+          <var-decl name='ssids' type-id='type-id-8630' visibility='default' filepath='include/net/cfg80211.h' line='1861' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='n_ssids' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='1862' column='1'/>
+          <var-decl name='n_ssids' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='1862' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='n_channels' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1863' column='1'/>
+          <var-decl name='n_channels' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1863' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='scan_width' type-id='type-id-6267' visibility='default' filepath='include/net/cfg80211.h' line='1864' column='1'/>
+          <var-decl name='scan_width' type-id='type-id-8631' visibility='default' filepath='include/net/cfg80211.h' line='1864' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='ie' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='1865' column='1'/>
+          <var-decl name='ie' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='1865' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='ie_len' type-id='type-id-84' visibility='default' filepath='include/net/cfg80211.h' line='1866' column='1'/>
+          <var-decl name='ie_len' type-id='type-id-125' visibility='default' filepath='include/net/cfg80211.h' line='1866' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='flags' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1867' column='1'/>
+          <var-decl name='flags' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1867' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='match_sets' type-id='type-id-6268' visibility='default' filepath='include/net/cfg80211.h' line='1868' column='1'/>
+          <var-decl name='match_sets' type-id='type-id-8632' visibility='default' filepath='include/net/cfg80211.h' line='1868' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='n_match_sets' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='1869' column='1'/>
+          <var-decl name='n_match_sets' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='1869' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='min_rssi_thold' type-id='type-id-738' visibility='default' filepath='include/net/cfg80211.h' line='1870' column='1'/>
+          <var-decl name='min_rssi_thold' type-id='type-id-939' visibility='default' filepath='include/net/cfg80211.h' line='1870' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='delay' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1871' column='1'/>
+          <var-decl name='delay' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1871' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='scan_plans' type-id='type-id-6269' visibility='default' filepath='include/net/cfg80211.h' line='1872' column='1'/>
+          <var-decl name='scan_plans' type-id='type-id-8633' visibility='default' filepath='include/net/cfg80211.h' line='1872' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='n_scan_plans' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='1873' column='1'/>
+          <var-decl name='n_scan_plans' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='1873' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='736'>
-          <var-decl name='mac_addr' type-id='type-id-6229' visibility='default' filepath='include/net/cfg80211.h' line='1875' column='1'/>
+          <var-decl name='mac_addr' type-id='type-id-8594' visibility='default' filepath='include/net/cfg80211.h' line='1875' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='784'>
-          <var-decl name='mac_addr_mask' type-id='type-id-6229' visibility='default' filepath='include/net/cfg80211.h' line='1876' column='1'/>
+          <var-decl name='mac_addr_mask' type-id='type-id-8594' visibility='default' filepath='include/net/cfg80211.h' line='1876' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='relative_rssi_set' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='1878' column='1'/>
+          <var-decl name='relative_rssi_set' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='1878' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='840'>
-          <var-decl name='relative_rssi' type-id='type-id-209' visibility='default' filepath='include/net/cfg80211.h' line='1879' column='1'/>
+          <var-decl name='relative_rssi' type-id='type-id-4809' visibility='default' filepath='include/net/cfg80211.h' line='1879' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='864'>
-          <var-decl name='rssi_adjust' type-id='type-id-6270' visibility='default' filepath='include/net/cfg80211.h' line='1880' column='1'/>
+          <var-decl name='rssi_adjust' type-id='type-id-8634' visibility='default' filepath='include/net/cfg80211.h' line='1880' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='wiphy' type-id='type-id-6271' visibility='default' filepath='include/net/cfg80211.h' line='1883' column='1'/>
+          <var-decl name='wiphy' type-id='type-id-8635' visibility='default' filepath='include/net/cfg80211.h' line='1883' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='dev' type-id='type-id-1650' visibility='default' filepath='include/net/cfg80211.h' line='1884' column='1'/>
+          <var-decl name='dev' type-id='type-id-2976' visibility='default' filepath='include/net/cfg80211.h' line='1884' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='scan_start' type-id='type-id-16' visibility='default' filepath='include/net/cfg80211.h' line='1885' column='1'/>
+          <var-decl name='scan_start' type-id='type-id-100' visibility='default' filepath='include/net/cfg80211.h' line='1885' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='report_results' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='1886' column='1'/>
+          <var-decl name='report_results' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='1886' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='callback_head' type-id='type-id-385' visibility='default' filepath='include/net/cfg80211.h' line='1887' column='1'/>
+          <var-decl name='callback_head' type-id='type-id-157' visibility='default' filepath='include/net/cfg80211.h' line='1887' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='owner_nlportid' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1888' column='1'/>
+          <var-decl name='owner_nlportid' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1888' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1376'>
-          <var-decl name='nl_owner_dead' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='1889' column='1'/>
+          <var-decl name='nl_owner_dead' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='1889' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/net/cfg80211.h' line='1890' column='1'/>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/net/cfg80211.h' line='1890' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='channels' type-id='type-id-6206' visibility='default' filepath='include/net/cfg80211.h' line='1893' column='1'/>
+          <var-decl name='channels' type-id='type-id-8573' visibility='default' filepath='include/net/cfg80211.h' line='1893' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='cfg80211_ssid' size-in-bits='264' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1679' column='1' id='type-id-6272'>
+      <class-decl name='cfg80211_ssid' size-in-bits='264' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1679' column='1' id='type-id-8636'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ssid' type-id='type-id-6225' visibility='default' filepath='include/net/cfg80211.h' line='1680' column='1'/>
+          <var-decl name='ssid' type-id='type-id-8591' visibility='default' filepath='include/net/cfg80211.h' line='1680' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='ssid_len' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1681' column='1'/>
+          <var-decl name='ssid_len' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1681' column='1'/>
         </data-member>
       </class-decl>
-      <enum-decl name='nl80211_bss_scan_width' filepath='include/uapi/linux/nl80211.h' line='4070' column='1' id='type-id-6267'>
-        <underlying-type type-id='type-id-94'/>
+      <enum-decl name='nl80211_bss_scan_width' filepath='include/uapi/linux/nl80211.h' line='4070' column='1' id='type-id-8631'>
+        <underlying-type type-id='type-id-182'/>
         <enumerator name='NL80211_BSS_CHAN_WIDTH_20' value='0'/>
         <enumerator name='NL80211_BSS_CHAN_WIDTH_10' value='1'/>
         <enumerator name='NL80211_BSS_CHAN_WIDTH_5' value='2'/>
       </enum-decl>
-      <class-decl name='cfg80211_match_set' size-in-bits='352' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1778' column='1' id='type-id-6273'>
+      <class-decl name='cfg80211_match_set' size-in-bits='352' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1778' column='1' id='type-id-8637'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ssid' type-id='type-id-6272' visibility='default' filepath='include/net/cfg80211.h' line='1779' column='1'/>
+          <var-decl name='ssid' type-id='type-id-8636' visibility='default' filepath='include/net/cfg80211.h' line='1779' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='264'>
-          <var-decl name='bssid' type-id='type-id-6229' visibility='default' filepath='include/net/cfg80211.h' line='1780' column='1'/>
+          <var-decl name='bssid' type-id='type-id-8594' visibility='default' filepath='include/net/cfg80211.h' line='1780' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='rssi_thold' type-id='type-id-738' visibility='default' filepath='include/net/cfg80211.h' line='1781' column='1'/>
+          <var-decl name='rssi_thold' type-id='type-id-939' visibility='default' filepath='include/net/cfg80211.h' line='1781' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='cfg80211_sched_scan_plan' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1793' column='1' id='type-id-6274'>
+      <class-decl name='cfg80211_sched_scan_plan' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1793' column='1' id='type-id-8638'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='interval' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1794' column='1'/>
+          <var-decl name='interval' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1794' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='iterations' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1795' column='1'/>
+          <var-decl name='iterations' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1795' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='cfg80211_bss_select_adjust' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1804' column='1' id='type-id-6270'>
+      <class-decl name='cfg80211_bss_select_adjust' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1804' column='1' id='type-id-8634'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='band' type-id='type-id-6275' visibility='default' filepath='include/net/cfg80211.h' line='1805' column='1'/>
+          <var-decl name='band' type-id='type-id-8639' visibility='default' filepath='include/net/cfg80211.h' line='1805' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='delta' type-id='type-id-209' visibility='default' filepath='include/net/cfg80211.h' line='1806' column='1'/>
+          <var-decl name='delta' type-id='type-id-4809' visibility='default' filepath='include/net/cfg80211.h' line='1806' column='1'/>
         </data-member>
       </class-decl>
-      <enum-decl name='nl80211_band' filepath='include/uapi/linux/nl80211.h' line='4345' column='1' id='type-id-6275'>
-        <underlying-type type-id='type-id-94'/>
+      <enum-decl name='nl80211_band' filepath='include/uapi/linux/nl80211.h' line='4345' column='1' id='type-id-8639'>
+        <underlying-type type-id='type-id-182'/>
         <enumerator name='NL80211_BAND_2GHZ' value='0'/>
         <enumerator name='NL80211_BAND_5GHZ' value='1'/>
         <enumerator name='NL80211_BAND_60GHZ' value='2'/>
         <enumerator name='NUM_NL80211_BANDS' value='3'/>
       </enum-decl>
-      <class-decl name='wireless_dev' size-in-bits='2752' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='4312' column='1' id='type-id-6276'>
+      <class-decl name='wireless_dev' size-in-bits='2752' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='4317' column='1' id='type-id-8640'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='wiphy' type-id='type-id-6271' visibility='default' filepath='include/net/cfg80211.h' line='4313' column='1'/>
+          <var-decl name='wiphy' type-id='type-id-8635' visibility='default' filepath='include/net/cfg80211.h' line='4318' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='iftype' type-id='type-id-6277' visibility='default' filepath='include/net/cfg80211.h' line='4314' column='1'/>
+          <var-decl name='iftype' type-id='type-id-8641' visibility='default' filepath='include/net/cfg80211.h' line='4319' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/net/cfg80211.h' line='4317' column='1'/>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/net/cfg80211.h' line='4322' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='netdev' type-id='type-id-1650' visibility='default' filepath='include/net/cfg80211.h' line='4318' column='1'/>
+          <var-decl name='netdev' type-id='type-id-2976' visibility='default' filepath='include/net/cfg80211.h' line='4323' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='identifier' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='4320' column='1'/>
+          <var-decl name='identifier' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='4325' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='mgmt_registrations' type-id='type-id-20' visibility='default' filepath='include/net/cfg80211.h' line='4322' column='1'/>
+          <var-decl name='mgmt_registrations' type-id='type-id-8' visibility='default' filepath='include/net/cfg80211.h' line='4327' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='mgmt_registrations_lock' type-id='type-id-247' visibility='default' filepath='include/net/cfg80211.h' line='4323' column='1'/>
+          <var-decl name='mgmt_registrations_lock' type-id='type-id-106' visibility='default' filepath='include/net/cfg80211.h' line='4328' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='mtx' type-id='type-id-245' visibility='default' filepath='include/net/cfg80211.h' line='4325' column='1'/>
+          <var-decl name='mtx' type-id='type-id-407' visibility='default' filepath='include/net/cfg80211.h' line='4330' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='use_4addr' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='4327' column='1'/>
+          <var-decl name='use_4addr' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='4332' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='840'>
-          <var-decl name='is_running' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='4327' column='1'/>
+          <var-decl name='is_running' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='4332' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='848'>
-          <var-decl name='address' type-id='type-id-6229' visibility='default' filepath='include/net/cfg80211.h' line='4329' column='1'/>
+          <var-decl name='address' type-id='type-id-8594' visibility='default' filepath='include/net/cfg80211.h' line='4334' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='ssid' type-id='type-id-6225' visibility='default' filepath='include/net/cfg80211.h' line='4332' column='1'/>
+          <var-decl name='ssid' type-id='type-id-8591' visibility='default' filepath='include/net/cfg80211.h' line='4337' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='ssid_len' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='4333' column='1'/>
+          <var-decl name='ssid_len' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='4338' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1160'>
-          <var-decl name='mesh_id_len' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='4333' column='1'/>
+          <var-decl name='mesh_id_len' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='4338' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1168'>
-          <var-decl name='mesh_id_up_len' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='4333' column='1'/>
+          <var-decl name='mesh_id_up_len' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='4338' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='conn' type-id='type-id-6278' visibility='default' filepath='include/net/cfg80211.h' line='4334' column='1'/>
+          <var-decl name='conn' type-id='type-id-8642' visibility='default' filepath='include/net/cfg80211.h' line='4339' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='connect_keys' type-id='type-id-6279' visibility='default' filepath='include/net/cfg80211.h' line='4335' column='1'/>
+          <var-decl name='connect_keys' type-id='type-id-8643' visibility='default' filepath='include/net/cfg80211.h' line='4340' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='conn_bss_type' type-id='type-id-6280' visibility='default' filepath='include/net/cfg80211.h' line='4336' column='1'/>
+          <var-decl name='conn_bss_type' type-id='type-id-8644' visibility='default' filepath='include/net/cfg80211.h' line='4341' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1376'>
-          <var-decl name='conn_owner_nlportid' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='4337' column='1'/>
+          <var-decl name='conn_owner_nlportid' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='4342' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='disconnect_wk' type-id='type-id-255' visibility='default' filepath='include/net/cfg80211.h' line='4339' column='1'/>
+          <var-decl name='disconnect_wk' type-id='type-id-149' visibility='default' filepath='include/net/cfg80211.h' line='4344' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='disconnect_bssid' type-id='type-id-6229' visibility='default' filepath='include/net/cfg80211.h' line='4340' column='1'/>
+          <var-decl name='disconnect_bssid' type-id='type-id-8594' visibility='default' filepath='include/net/cfg80211.h' line='4345' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='event_list' type-id='type-id-20' visibility='default' filepath='include/net/cfg80211.h' line='4342' column='1'/>
+          <var-decl name='event_list' type-id='type-id-8' visibility='default' filepath='include/net/cfg80211.h' line='4347' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='event_lock' type-id='type-id-247' visibility='default' filepath='include/net/cfg80211.h' line='4343' column='1'/>
+          <var-decl name='event_lock' type-id='type-id-106' visibility='default' filepath='include/net/cfg80211.h' line='4348' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='current_bss' type-id='type-id-6281' visibility='default' filepath='include/net/cfg80211.h' line='4345' column='1'/>
+          <var-decl name='current_bss' type-id='type-id-8645' visibility='default' filepath='include/net/cfg80211.h' line='4350' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='preset_chandef' type-id='type-id-6282' visibility='default' filepath='include/net/cfg80211.h' line='4346' column='1'/>
+          <var-decl name='preset_chandef' type-id='type-id-8646' visibility='default' filepath='include/net/cfg80211.h' line='4351' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='chandef' type-id='type-id-6282' visibility='default' filepath='include/net/cfg80211.h' line='4347' column='1'/>
+          <var-decl name='chandef' type-id='type-id-8646' visibility='default' filepath='include/net/cfg80211.h' line='4352' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='ibss_fixed' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='4349' column='1'/>
+          <var-decl name='ibss_fixed' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='4354' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2376'>
-          <var-decl name='ibss_dfs_possible' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='4350' column='1'/>
+          <var-decl name='ibss_dfs_possible' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='4355' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2384'>
-          <var-decl name='ps' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='4352' column='1'/>
+          <var-decl name='ps' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='4357' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2400'>
-          <var-decl name='ps_timeout' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='4353' column='1'/>
+          <var-decl name='ps_timeout' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='4358' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2432'>
-          <var-decl name='beacon_interval' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='4355' column='1'/>
+          <var-decl name='beacon_interval' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='4360' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2464'>
-          <var-decl name='ap_unexpected_nlportid' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='4357' column='1'/>
+          <var-decl name='ap_unexpected_nlportid' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='4362' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2496'>
-          <var-decl name='owner_nlportid' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='4359' column='1'/>
+          <var-decl name='owner_nlportid' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='4364' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2528'>
-          <var-decl name='nl_owner_dead' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='4360' column='1'/>
+          <var-decl name='nl_owner_dead' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='4365' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2536'>
-          <var-decl name='cac_started' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='4362' column='1'/>
+          <var-decl name='cac_started' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='4367' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2560'>
-          <var-decl name='cac_start_time' type-id='type-id-16' visibility='default' filepath='include/net/cfg80211.h' line='4363' column='1'/>
+          <var-decl name='cac_start_time' type-id='type-id-100' visibility='default' filepath='include/net/cfg80211.h' line='4368' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2624'>
-          <var-decl name='cac_time_ms' type-id='type-id-5' visibility='default' filepath='include/net/cfg80211.h' line='4364' column='1'/>
+          <var-decl name='cac_time_ms' type-id='type-id-10' visibility='default' filepath='include/net/cfg80211.h' line='4369' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2688'>
-          <var-decl name='cqm_config' type-id='type-id-6283' visibility='default' filepath='include/net/cfg80211.h' line='4381' column='1'/>
+          <var-decl name='cqm_config' type-id='type-id-8647' visibility='default' filepath='include/net/cfg80211.h' line='4386' column='1'/>
         </data-member>
       </class-decl>
-      <enum-decl name='nl80211_iftype' filepath='include/uapi/linux/nl80211.h' line='2775' column='1' id='type-id-6277'>
-        <underlying-type type-id='type-id-94'/>
+      <enum-decl name='nl80211_iftype' filepath='include/uapi/linux/nl80211.h' line='2775' column='1' id='type-id-8641'>
+        <underlying-type type-id='type-id-182'/>
         <enumerator name='NL80211_IFTYPE_UNSPECIFIED' value='0'/>
         <enumerator name='NL80211_IFTYPE_ADHOC' value='1'/>
         <enumerator name='NL80211_IFTYPE_STATION' value='2'/>
@@ -54683,198 +83246,198 @@
         <enumerator name='NUM_NL80211_IFTYPES' value='13'/>
         <enumerator name='NL80211_IFTYPE_MAX' value='12'/>
       </enum-decl>
-      <class-decl name='cfg80211_cached_keys' size-in-bits='1472' is-struct='yes' visibility='default' filepath='net/wireless/core.h' line='246' column='1' id='type-id-6284'>
+      <class-decl name='cfg80211_cached_keys' size-in-bits='1472' is-struct='yes' visibility='default' filepath='net/wireless/core.h' line='246' column='1' id='type-id-8648'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='params' type-id='type-id-6214' visibility='default' filepath='net/wireless/core.h' line='247' column='1'/>
+          <var-decl name='params' type-id='type-id-8581' visibility='default' filepath='net/wireless/core.h' line='247' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='data' type-id='type-id-6227' visibility='default' filepath='net/wireless/core.h' line='248' column='1'/>
+          <var-decl name='data' type-id='type-id-8592' visibility='default' filepath='net/wireless/core.h' line='248' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1440'>
-          <var-decl name='def' type-id='type-id-17' visibility='default' filepath='net/wireless/core.h' line='249' column='1'/>
+          <var-decl name='def' type-id='type-id-11' visibility='default' filepath='net/wireless/core.h' line='249' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='key_params' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='489' column='1' id='type-id-6213'>
+      <class-decl name='key_params' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='489' column='1' id='type-id-8580'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='key' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='490' column='1'/>
+          <var-decl name='key' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='490' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='seq' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='491' column='1'/>
+          <var-decl name='seq' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='491' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='key_len' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='492' column='1'/>
+          <var-decl name='key_len' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='492' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='seq_len' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='493' column='1'/>
+          <var-decl name='seq_len' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='493' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='cipher' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='494' column='1'/>
+          <var-decl name='cipher' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='494' column='1'/>
         </data-member>
       </class-decl>
-      <enum-decl name='ieee80211_bss_type' filepath='include/net/cfg80211.h' line='208' column='1' id='type-id-6280'>
-        <underlying-type type-id='type-id-94'/>
+      <enum-decl name='ieee80211_bss_type' filepath='include/net/cfg80211.h' line='208' column='1' id='type-id-8644'>
+        <underlying-type type-id='type-id-182'/>
         <enumerator name='IEEE80211_BSS_TYPE_ESS' value='0'/>
         <enumerator name='IEEE80211_BSS_TYPE_PBSS' value='1'/>
         <enumerator name='IEEE80211_BSS_TYPE_IBSS' value='2'/>
         <enumerator name='IEEE80211_BSS_TYPE_MBSS' value='3'/>
         <enumerator name='IEEE80211_BSS_TYPE_ANY' value='4'/>
       </enum-decl>
-      <class-decl name='cfg80211_internal_bss' size-in-bits='1408' is-struct='yes' visibility='default' filepath='net/wireless/core.h' line='140' column='1' id='type-id-6285'>
+      <class-decl name='cfg80211_internal_bss' size-in-bits='1408' is-struct='yes' visibility='default' filepath='net/wireless/core.h' line='140' column='1' id='type-id-8649'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='net/wireless/core.h' line='141' column='1'/>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='net/wireless/core.h' line='141' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='hidden_list' type-id='type-id-20' visibility='default' filepath='net/wireless/core.h' line='142' column='1'/>
+          <var-decl name='hidden_list' type-id='type-id-8' visibility='default' filepath='net/wireless/core.h' line='142' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='rbn' type-id='type-id-422' visibility='default' filepath='net/wireless/core.h' line='143' column='1'/>
+          <var-decl name='rbn' type-id='type-id-1846' visibility='default' filepath='net/wireless/core.h' line='143' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='ts_boottime' type-id='type-id-40' visibility='default' filepath='net/wireless/core.h' line='144' column='1'/>
+          <var-decl name='ts_boottime' type-id='type-id-134' visibility='default' filepath='net/wireless/core.h' line='144' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='ts' type-id='type-id-16' visibility='default' filepath='net/wireless/core.h' line='145' column='1'/>
+          <var-decl name='ts' type-id='type-id-100' visibility='default' filepath='net/wireless/core.h' line='145' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='refcount' type-id='type-id-16' visibility='default' filepath='net/wireless/core.h' line='146' column='1'/>
+          <var-decl name='refcount' type-id='type-id-100' visibility='default' filepath='net/wireless/core.h' line='146' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='hold' type-id='type-id-26' visibility='default' filepath='net/wireless/core.h' line='147' column='1'/>
+          <var-decl name='hold' type-id='type-id-137' visibility='default' filepath='net/wireless/core.h' line='147' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='parent_tsf' type-id='type-id-40' visibility='default' filepath='net/wireless/core.h' line='153' column='1'/>
+          <var-decl name='parent_tsf' type-id='type-id-134' visibility='default' filepath='net/wireless/core.h' line='153' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='parent_bssid' type-id='type-id-6229' visibility='default' filepath='net/wireless/core.h' line='159' column='1'/>
+          <var-decl name='parent_bssid' type-id='type-id-8594' visibility='default' filepath='net/wireless/core.h' line='159' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='pub' type-id='type-id-6286' visibility='default' filepath='net/wireless/core.h' line='162' column='1'/>
+          <var-decl name='pub' type-id='type-id-8650' visibility='default' filepath='net/wireless/core.h' line='162' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='cfg80211_bss' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1985' column='1' id='type-id-6286'>
+      <class-decl name='cfg80211_bss' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1985' column='1' id='type-id-8650'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='channel' type-id='type-id-6205' visibility='default' filepath='include/net/cfg80211.h' line='1986' column='1'/>
+          <var-decl name='channel' type-id='type-id-8572' visibility='default' filepath='include/net/cfg80211.h' line='1986' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='scan_width' type-id='type-id-6267' visibility='default' filepath='include/net/cfg80211.h' line='1987' column='1'/>
+          <var-decl name='scan_width' type-id='type-id-8631' visibility='default' filepath='include/net/cfg80211.h' line='1987' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='ies' type-id='type-id-6287' visibility='default' filepath='include/net/cfg80211.h' line='1989' column='1'/>
+          <var-decl name='ies' type-id='type-id-8651' visibility='default' filepath='include/net/cfg80211.h' line='1989' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='beacon_ies' type-id='type-id-6287' visibility='default' filepath='include/net/cfg80211.h' line='1990' column='1'/>
+          <var-decl name='beacon_ies' type-id='type-id-8651' visibility='default' filepath='include/net/cfg80211.h' line='1990' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='proberesp_ies' type-id='type-id-6287' visibility='default' filepath='include/net/cfg80211.h' line='1991' column='1'/>
+          <var-decl name='proberesp_ies' type-id='type-id-8651' visibility='default' filepath='include/net/cfg80211.h' line='1991' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='hidden_beacon_bss' type-id='type-id-6288' visibility='default' filepath='include/net/cfg80211.h' line='1993' column='1'/>
+          <var-decl name='hidden_beacon_bss' type-id='type-id-8652' visibility='default' filepath='include/net/cfg80211.h' line='1993' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='signal' type-id='type-id-738' visibility='default' filepath='include/net/cfg80211.h' line='1995' column='1'/>
+          <var-decl name='signal' type-id='type-id-939' visibility='default' filepath='include/net/cfg80211.h' line='1995' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='beacon_interval' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='1997' column='1'/>
+          <var-decl name='beacon_interval' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='1997' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='432'>
-          <var-decl name='capability' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='1998' column='1'/>
+          <var-decl name='capability' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='1998' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='bssid' type-id='type-id-6229' visibility='default' filepath='include/net/cfg80211.h' line='2000' column='1'/>
+          <var-decl name='bssid' type-id='type-id-8594' visibility='default' filepath='include/net/cfg80211.h' line='2000' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='496'>
-          <var-decl name='chains' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='2001' column='1'/>
+          <var-decl name='chains' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='2001' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='504'>
-          <var-decl name='chain_signal' type-id='type-id-6218' visibility='default' filepath='include/net/cfg80211.h' line='2002' column='1'/>
+          <var-decl name='chain_signal' type-id='type-id-8585' visibility='default' filepath='include/net/cfg80211.h' line='2002' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='priv' type-id='type-id-5884' visibility='default' filepath='include/net/cfg80211.h' line='2004' column='1'/>
+          <var-decl name='priv' type-id='type-id-3513' visibility='default' filepath='include/net/cfg80211.h' line='2004' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='ieee80211_channel' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='150' column='1' id='type-id-6289'>
+      <class-decl name='ieee80211_channel' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='150' column='1' id='type-id-8653'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='band' type-id='type-id-6275' visibility='default' filepath='include/net/cfg80211.h' line='151' column='1'/>
+          <var-decl name='band' type-id='type-id-8639' visibility='default' filepath='include/net/cfg80211.h' line='151' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='center_freq' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='152' column='1'/>
+          <var-decl name='center_freq' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='152' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='hw_value' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='153' column='1'/>
+          <var-decl name='hw_value' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='153' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='flags' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='154' column='1'/>
+          <var-decl name='flags' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='154' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='max_antenna_gain' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='155' column='1'/>
+          <var-decl name='max_antenna_gain' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='155' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='max_power' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='156' column='1'/>
+          <var-decl name='max_power' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='156' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='max_reg_power' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='157' column='1'/>
+          <var-decl name='max_reg_power' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='157' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='beacon_found' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='158' column='1'/>
+          <var-decl name='beacon_found' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='158' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='orig_flags' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='159' column='1'/>
+          <var-decl name='orig_flags' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='159' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='orig_mag' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='160' column='1'/>
+          <var-decl name='orig_mag' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='160' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='orig_mpwr' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='160' column='1'/>
+          <var-decl name='orig_mpwr' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='160' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='dfs_state' type-id='type-id-6290' visibility='default' filepath='include/net/cfg80211.h' line='161' column='1'/>
+          <var-decl name='dfs_state' type-id='type-id-8654' visibility='default' filepath='include/net/cfg80211.h' line='161' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='dfs_state_entered' type-id='type-id-16' visibility='default' filepath='include/net/cfg80211.h' line='162' column='1'/>
+          <var-decl name='dfs_state_entered' type-id='type-id-100' visibility='default' filepath='include/net/cfg80211.h' line='162' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='dfs_cac_ms' type-id='type-id-5' visibility='default' filepath='include/net/cfg80211.h' line='163' column='1'/>
+          <var-decl name='dfs_cac_ms' type-id='type-id-10' visibility='default' filepath='include/net/cfg80211.h' line='163' column='1'/>
         </data-member>
       </class-decl>
-      <enum-decl name='nl80211_dfs_state' filepath='include/uapi/linux/nl80211.h' line='5468' column='1' id='type-id-6290'>
-        <underlying-type type-id='type-id-94'/>
+      <enum-decl name='nl80211_dfs_state' filepath='include/uapi/linux/nl80211.h' line='5468' column='1' id='type-id-8654'>
+        <underlying-type type-id='type-id-182'/>
         <enumerator name='NL80211_DFS_USABLE' value='0'/>
         <enumerator name='NL80211_DFS_UNAVAILABLE' value='1'/>
         <enumerator name='NL80211_DFS_AVAILABLE' value='2'/>
       </enum-decl>
-      <class-decl name='cfg80211_bss_ies' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1948' column='1' id='type-id-6291'>
+      <class-decl name='cfg80211_bss_ies' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1948' column='1' id='type-id-8655'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='tsf' type-id='type-id-40' visibility='default' filepath='include/net/cfg80211.h' line='1949' column='1'/>
+          <var-decl name='tsf' type-id='type-id-134' visibility='default' filepath='include/net/cfg80211.h' line='1949' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='callback_head' type-id='type-id-385' visibility='default' filepath='include/net/cfg80211.h' line='1950' column='1'/>
+          <var-decl name='callback_head' type-id='type-id-157' visibility='default' filepath='include/net/cfg80211.h' line='1950' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='len' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='1951' column='1'/>
+          <var-decl name='len' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='1951' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='from_beacon' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='1952' column='1'/>
+          <var-decl name='from_beacon' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='1952' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='232'>
-          <var-decl name='data' type-id='type-id-5884' visibility='default' filepath='include/net/cfg80211.h' line='1953' column='1'/>
+          <var-decl name='data' type-id='type-id-3513' visibility='default' filepath='include/net/cfg80211.h' line='1953' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='cfg80211_chan_def' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='505' column='1' id='type-id-6282'>
+      <class-decl name='cfg80211_chan_def' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='505' column='1' id='type-id-8646'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='chan' type-id='type-id-6205' visibility='default' filepath='include/net/cfg80211.h' line='506' column='1'/>
+          <var-decl name='chan' type-id='type-id-8572' visibility='default' filepath='include/net/cfg80211.h' line='506' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='width' type-id='type-id-6292' visibility='default' filepath='include/net/cfg80211.h' line='507' column='1'/>
+          <var-decl name='width' type-id='type-id-8656' visibility='default' filepath='include/net/cfg80211.h' line='507' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='center_freq1' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='508' column='1'/>
+          <var-decl name='center_freq1' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='508' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='center_freq2' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='509' column='1'/>
+          <var-decl name='center_freq2' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='509' column='1'/>
         </data-member>
       </class-decl>
-      <enum-decl name='nl80211_chan_width' filepath='include/uapi/linux/nl80211.h' line='4050' column='1' id='type-id-6292'>
-        <underlying-type type-id='type-id-94'/>
+      <enum-decl name='nl80211_chan_width' filepath='include/uapi/linux/nl80211.h' line='4050' column='1' id='type-id-8656'>
+        <underlying-type type-id='type-id-182'/>
         <enumerator name='NL80211_CHAN_WIDTH_20_NOHT' value='0'/>
         <enumerator name='NL80211_CHAN_WIDTH_20' value='1'/>
         <enumerator name='NL80211_CHAN_WIDTH_40' value='2'/>
@@ -54884,918 +83447,872 @@
         <enumerator name='NL80211_CHAN_WIDTH_5' value='6'/>
         <enumerator name='NL80211_CHAN_WIDTH_10' value='7'/>
       </enum-decl>
-      <class-decl name='cfg80211_cqm_config' size-in-bits='96' is-struct='yes' visibility='default' filepath='net/wireless/core.h' line='263' column='1' id='type-id-6293'>
+      <class-decl name='cfg80211_cqm_config' size-in-bits='96' is-struct='yes' visibility='default' filepath='net/wireless/core.h' line='263' column='1' id='type-id-8657'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='rssi_hyst' type-id='type-id-7' visibility='default' filepath='net/wireless/core.h' line='264' column='1'/>
+          <var-decl name='rssi_hyst' type-id='type-id-9' visibility='default' filepath='net/wireless/core.h' line='264' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='last_rssi_event_value' type-id='type-id-738' visibility='default' filepath='net/wireless/core.h' line='265' column='1'/>
+          <var-decl name='last_rssi_event_value' type-id='type-id-939' visibility='default' filepath='net/wireless/core.h' line='265' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='n_rssi_thresholds' type-id='type-id-17' visibility='default' filepath='net/wireless/core.h' line='266' column='1'/>
+          <var-decl name='n_rssi_thresholds' type-id='type-id-11' visibility='default' filepath='net/wireless/core.h' line='266' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='rssi_thresholds' type-id='type-id-6217' visibility='default' filepath='net/wireless/core.h' line='267' column='1'/>
+          <var-decl name='rssi_thresholds' type-id='type-id-8584' visibility='default' filepath='net/wireless/core.h' line='267' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='wiphy_iftype_ext_capab' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='3799' column='1' id='type-id-6294'>
+      <class-decl name='wiphy_iftype_ext_capab' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='3804' column='1' id='type-id-8658'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='iftype' type-id='type-id-6277' visibility='default' filepath='include/net/cfg80211.h' line='3800' column='1'/>
+          <var-decl name='iftype' type-id='type-id-8641' visibility='default' filepath='include/net/cfg80211.h' line='3805' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='extended_capabilities' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='3801' column='1'/>
+          <var-decl name='extended_capabilities' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='3806' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='extended_capabilities_mask' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='3802' column='1'/>
+          <var-decl name='extended_capabilities_mask' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='3807' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='extended_capabilities_len' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='3803' column='1'/>
+          <var-decl name='extended_capabilities_len' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='3808' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='ieee80211_supported_band' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='345' column='1' id='type-id-6295'>
+      <class-decl name='ieee80211_supported_band' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='345' column='1' id='type-id-8659'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='channels' type-id='type-id-6205' visibility='default' filepath='include/net/cfg80211.h' line='346' column='1'/>
+          <var-decl name='channels' type-id='type-id-8572' visibility='default' filepath='include/net/cfg80211.h' line='346' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='bitrates' type-id='type-id-6296' visibility='default' filepath='include/net/cfg80211.h' line='347' column='1'/>
+          <var-decl name='bitrates' type-id='type-id-8660' visibility='default' filepath='include/net/cfg80211.h' line='347' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='band' type-id='type-id-6275' visibility='default' filepath='include/net/cfg80211.h' line='348' column='1'/>
+          <var-decl name='band' type-id='type-id-8639' visibility='default' filepath='include/net/cfg80211.h' line='348' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='n_channels' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='349' column='1'/>
+          <var-decl name='n_channels' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='349' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='n_bitrates' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='350' column='1'/>
+          <var-decl name='n_bitrates' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='350' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='ht_cap' type-id='type-id-6297' visibility='default' filepath='include/net/cfg80211.h' line='351' column='1'/>
+          <var-decl name='ht_cap' type-id='type-id-8661' visibility='default' filepath='include/net/cfg80211.h' line='351' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='vht_cap' type-id='type-id-6298' visibility='default' filepath='include/net/cfg80211.h' line='352' column='1'/>
+          <var-decl name='vht_cap' type-id='type-id-8662' visibility='default' filepath='include/net/cfg80211.h' line='352' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='n_iftype_data' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='353' column='1'/>
+          <var-decl name='n_iftype_data' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='353' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='iftype_data' type-id='type-id-6299' visibility='default' filepath='include/net/cfg80211.h' line='354' column='1'/>
+          <var-decl name='iftype_data' type-id='type-id-8663' visibility='default' filepath='include/net/cfg80211.h' line='354' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='ieee80211_rate' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='246' column='1' id='type-id-6300'>
+      <class-decl name='ieee80211_rate' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='246' column='1' id='type-id-8664'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='flags' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='247' column='1'/>
+          <var-decl name='flags' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='247' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='bitrate' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='248' column='1'/>
+          <var-decl name='bitrate' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='248' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='hw_value' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='249' column='1'/>
+          <var-decl name='hw_value' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='249' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='hw_value_short' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='249' column='1'/>
+          <var-decl name='hw_value_short' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='249' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='ieee80211_sta_ht_cap' size-in-bits='176' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='264' column='1' id='type-id-6297'>
+      <class-decl name='ieee80211_sta_ht_cap' size-in-bits='176' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='264' column='1' id='type-id-8661'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cap' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='265' column='1'/>
+          <var-decl name='cap' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='265' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='ht_supported' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='266' column='1'/>
+          <var-decl name='ht_supported' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='266' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='24'>
-          <var-decl name='ampdu_factor' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='267' column='1'/>
+          <var-decl name='ampdu_factor' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='267' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='ampdu_density' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='268' column='1'/>
+          <var-decl name='ampdu_density' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='268' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='40'>
-          <var-decl name='mcs' type-id='type-id-6301' visibility='default' filepath='include/net/cfg80211.h' line='269' column='1'/>
+          <var-decl name='mcs' type-id='type-id-8665' visibility='default' filepath='include/net/cfg80211.h' line='269' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='ieee80211_mcs_info' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/ieee80211.h' line='1267' column='1' id='type-id-6301'>
+      <class-decl name='ieee80211_mcs_info' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/linux/ieee80211.h' line='1267' column='1' id='type-id-8665'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='rx_mask' type-id='type-id-6222' visibility='default' filepath='include/linux/ieee80211.h' line='1268' column='1'/>
+          <var-decl name='rx_mask' type-id='type-id-8588' visibility='default' filepath='include/linux/ieee80211.h' line='1268' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='80'>
-          <var-decl name='rx_highest' type-id='type-id-5123' visibility='default' filepath='include/linux/ieee80211.h' line='1269' column='1'/>
+          <var-decl name='rx_highest' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='1269' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='tx_params' type-id='type-id-214' visibility='default' filepath='include/linux/ieee80211.h' line='1270' column='1'/>
+          <var-decl name='tx_params' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='1270' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='104'>
-          <var-decl name='reserved' type-id='type-id-1185' visibility='default' filepath='include/linux/ieee80211.h' line='1271' column='1'/>
+          <var-decl name='reserved' type-id='type-id-1272' visibility='default' filepath='include/linux/ieee80211.h' line='1271' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='ieee80211_sta_vht_cap' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='282' column='1' id='type-id-6298'>
+      <class-decl name='ieee80211_sta_vht_cap' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='282' column='1' id='type-id-8662'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='vht_supported' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='283' column='1'/>
+          <var-decl name='vht_supported' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='283' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='cap' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='284' column='1'/>
+          <var-decl name='cap' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='284' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='vht_mcs' type-id='type-id-6302' visibility='default' filepath='include/net/cfg80211.h' line='285' column='1'/>
+          <var-decl name='vht_mcs' type-id='type-id-8666' visibility='default' filepath='include/net/cfg80211.h' line='285' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='ieee80211_vht_mcs_info' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/ieee80211.h' line='1471' column='1' id='type-id-6302'>
+      <class-decl name='ieee80211_vht_mcs_info' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/linux/ieee80211.h' line='1471' column='1' id='type-id-8666'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='rx_mcs_map' type-id='type-id-5123' visibility='default' filepath='include/linux/ieee80211.h' line='1472' column='1'/>
+          <var-decl name='rx_mcs_map' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='1472' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='rx_highest' type-id='type-id-5123' visibility='default' filepath='include/linux/ieee80211.h' line='1473' column='1'/>
+          <var-decl name='rx_highest' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='1473' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='tx_mcs_map' type-id='type-id-5123' visibility='default' filepath='include/linux/ieee80211.h' line='1474' column='1'/>
+          <var-decl name='tx_mcs_map' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='1474' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='tx_highest' type-id='type-id-5123' visibility='default' filepath='include/linux/ieee80211.h' line='1475' column='1'/>
+          <var-decl name='tx_highest' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='1475' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='ieee80211_sband_iftype_data' size-in-bits='432' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='318' column='1' id='type-id-6303'>
+      <class-decl name='ieee80211_sband_iftype_data' size-in-bits='432' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='318' column='1' id='type-id-8667'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='types_mask' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='319' column='1'/>
+          <var-decl name='types_mask' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='319' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='he_cap' type-id='type-id-6304' visibility='default' filepath='include/net/cfg80211.h' line='320' column='1'/>
+          <var-decl name='he_cap' type-id='type-id-8668' visibility='default' filepath='include/net/cfg80211.h' line='320' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='ieee80211_sta_he_cap' size-in-bits='416' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='301' column='1' id='type-id-6304'>
+      <class-decl name='ieee80211_sta_he_cap' size-in-bits='416' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='301' column='1' id='type-id-8668'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='has_he' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='302' column='1'/>
+          <var-decl name='has_he' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='302' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='he_cap_elem' type-id='type-id-6305' visibility='default' filepath='include/net/cfg80211.h' line='303' column='1'/>
+          <var-decl name='he_cap_elem' type-id='type-id-8669' visibility='default' filepath='include/net/cfg80211.h' line='303' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='120'>
-          <var-decl name='he_mcs_nss_supp' type-id='type-id-6306' visibility='default' filepath='include/net/cfg80211.h' line='304' column='1'/>
+          <var-decl name='he_mcs_nss_supp' type-id='type-id-8670' visibility='default' filepath='include/net/cfg80211.h' line='304' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='216'>
-          <var-decl name='ppe_thres' type-id='type-id-6223' visibility='default' filepath='include/net/cfg80211.h' line='305' column='1'/>
+          <var-decl name='ppe_thres' type-id='type-id-8589' visibility='default' filepath='include/net/cfg80211.h' line='305' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='ieee80211_he_cap_elem' size-in-bits='112' is-struct='yes' visibility='default' filepath='include/linux/ieee80211.h' line='1550' column='1' id='type-id-6305'>
+      <class-decl name='ieee80211_he_cap_elem' size-in-bits='112' is-struct='yes' visibility='default' filepath='include/linux/ieee80211.h' line='1550' column='1' id='type-id-8669'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mac_cap_info' type-id='type-id-6228' visibility='default' filepath='include/linux/ieee80211.h' line='1551' column='1'/>
+          <var-decl name='mac_cap_info' type-id='type-id-8593' visibility='default' filepath='include/linux/ieee80211.h' line='1551' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='40'>
-          <var-decl name='phy_cap_info' type-id='type-id-6230' visibility='default' filepath='include/linux/ieee80211.h' line='1552' column='1'/>
+          <var-decl name='phy_cap_info' type-id='type-id-8595' visibility='default' filepath='include/linux/ieee80211.h' line='1552' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='ieee80211_he_mcs_nss_supp' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/linux/ieee80211.h' line='1597' column='1' id='type-id-6306'>
+      <class-decl name='ieee80211_he_mcs_nss_supp' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/linux/ieee80211.h' line='1597' column='1' id='type-id-8670'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='rx_mcs_80' type-id='type-id-5123' visibility='default' filepath='include/linux/ieee80211.h' line='1598' column='1'/>
+          <var-decl name='rx_mcs_80' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='1598' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='tx_mcs_80' type-id='type-id-5123' visibility='default' filepath='include/linux/ieee80211.h' line='1599' column='1'/>
+          <var-decl name='tx_mcs_80' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='1599' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='rx_mcs_160' type-id='type-id-5123' visibility='default' filepath='include/linux/ieee80211.h' line='1600' column='1'/>
+          <var-decl name='rx_mcs_160' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='1600' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='tx_mcs_160' type-id='type-id-5123' visibility='default' filepath='include/linux/ieee80211.h' line='1601' column='1'/>
+          <var-decl name='tx_mcs_160' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='1601' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='rx_mcs_80p80' type-id='type-id-5123' visibility='default' filepath='include/linux/ieee80211.h' line='1602' column='1'/>
+          <var-decl name='rx_mcs_80p80' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='1602' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='80'>
-          <var-decl name='tx_mcs_80p80' type-id='type-id-5123' visibility='default' filepath='include/linux/ieee80211.h' line='1603' column='1'/>
+          <var-decl name='tx_mcs_80p80' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='1603' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='regulatory_request' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/net/regulatory.h' line='77' column='1' id='type-id-6307'>
+      <class-decl name='regulatory_request' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/net/regulatory.h' line='77' column='1' id='type-id-8671'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='callback_head' type-id='type-id-385' visibility='default' filepath='include/net/regulatory.h' line='78' column='1'/>
+          <var-decl name='callback_head' type-id='type-id-157' visibility='default' filepath='include/net/regulatory.h' line='78' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='wiphy_idx' type-id='type-id-17' visibility='default' filepath='include/net/regulatory.h' line='79' column='1'/>
+          <var-decl name='wiphy_idx' type-id='type-id-11' visibility='default' filepath='include/net/regulatory.h' line='79' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='initiator' type-id='type-id-6308' visibility='default' filepath='include/net/regulatory.h' line='80' column='1'/>
+          <var-decl name='initiator' type-id='type-id-8672' visibility='default' filepath='include/net/regulatory.h' line='80' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='user_reg_hint_type' type-id='type-id-6309' visibility='default' filepath='include/net/regulatory.h' line='81' column='1'/>
+          <var-decl name='user_reg_hint_type' type-id='type-id-8673' visibility='default' filepath='include/net/regulatory.h' line='81' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='alpha2' type-id='type-id-6203' visibility='default' filepath='include/net/regulatory.h' line='82' column='1'/>
+          <var-decl name='alpha2' type-id='type-id-8570' visibility='default' filepath='include/net/regulatory.h' line='82' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='dfs_region' type-id='type-id-6310' visibility='default' filepath='include/net/regulatory.h' line='83' column='1'/>
+          <var-decl name='dfs_region' type-id='type-id-8674' visibility='default' filepath='include/net/regulatory.h' line='83' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='intersect' type-id='type-id-33' visibility='default' filepath='include/net/regulatory.h' line='84' column='1'/>
+          <var-decl name='intersect' type-id='type-id-211' visibility='default' filepath='include/net/regulatory.h' line='84' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='296'>
-          <var-decl name='processed' type-id='type-id-33' visibility='default' filepath='include/net/regulatory.h' line='85' column='1'/>
+          <var-decl name='processed' type-id='type-id-211' visibility='default' filepath='include/net/regulatory.h' line='85' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='country_ie_env' type-id='type-id-6311' visibility='default' filepath='include/net/regulatory.h' line='86' column='1'/>
+          <var-decl name='country_ie_env' type-id='type-id-8675' visibility='default' filepath='include/net/regulatory.h' line='86' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/net/regulatory.h' line='87' column='1'/>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/net/regulatory.h' line='87' column='1'/>
         </data-member>
       </class-decl>
-      <enum-decl name='nl80211_reg_initiator' filepath='include/uapi/linux/nl80211.h' line='3445' column='1' id='type-id-6308'>
-        <underlying-type type-id='type-id-94'/>
+      <enum-decl name='nl80211_reg_initiator' filepath='include/uapi/linux/nl80211.h' line='3445' column='1' id='type-id-8672'>
+        <underlying-type type-id='type-id-182'/>
         <enumerator name='NL80211_REGDOM_SET_BY_CORE' value='0'/>
         <enumerator name='NL80211_REGDOM_SET_BY_USER' value='1'/>
         <enumerator name='NL80211_REGDOM_SET_BY_DRIVER' value='2'/>
         <enumerator name='NL80211_REGDOM_SET_BY_COUNTRY_IE' value='3'/>
       </enum-decl>
-      <enum-decl name='nl80211_user_reg_hint_type' filepath='include/uapi/linux/nl80211.h' line='3645' column='1' id='type-id-6309'>
-        <underlying-type type-id='type-id-94'/>
+      <enum-decl name='nl80211_user_reg_hint_type' filepath='include/uapi/linux/nl80211.h' line='3645' column='1' id='type-id-8673'>
+        <underlying-type type-id='type-id-182'/>
         <enumerator name='NL80211_USER_REG_HINT_USER' value='0'/>
         <enumerator name='NL80211_USER_REG_HINT_CELL_BASE' value='1'/>
         <enumerator name='NL80211_USER_REG_HINT_INDOOR' value='2'/>
       </enum-decl>
-      <enum-decl name='nl80211_dfs_regions' filepath='include/uapi/linux/nl80211.h' line='3621' column='1' id='type-id-6310'>
-        <underlying-type type-id='type-id-94'/>
+      <enum-decl name='nl80211_dfs_regions' filepath='include/uapi/linux/nl80211.h' line='3621' column='1' id='type-id-8674'>
+        <underlying-type type-id='type-id-182'/>
         <enumerator name='NL80211_DFS_UNSET' value='0'/>
         <enumerator name='NL80211_DFS_FCC' value='1'/>
         <enumerator name='NL80211_DFS_ETSI' value='2'/>
         <enumerator name='NL80211_DFS_JP' value='3'/>
       </enum-decl>
-      <enum-decl name='environment_cap' filepath='include/net/regulatory.h' line='31' column='1' id='type-id-6311'>
-        <underlying-type type-id='type-id-94'/>
+      <enum-decl name='environment_cap' filepath='include/net/regulatory.h' line='31' column='1' id='type-id-8675'>
+        <underlying-type type-id='type-id-182'/>
         <enumerator name='ENVIRON_ANY' value='0'/>
         <enumerator name='ENVIRON_INDOOR' value='1'/>
         <enumerator name='ENVIRON_OUTDOOR' value='2'/>
       </enum-decl>
-      <class-decl name='ieee80211_regdomain' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/regulatory.h' line='226' column='1' id='type-id-6312'>
+      <class-decl name='ieee80211_regdomain' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/regulatory.h' line='226' column='1' id='type-id-8676'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='callback_head' type-id='type-id-385' visibility='default' filepath='include/net/regulatory.h' line='227' column='1'/>
+          <var-decl name='callback_head' type-id='type-id-157' visibility='default' filepath='include/net/regulatory.h' line='227' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='n_reg_rules' type-id='type-id-7' visibility='default' filepath='include/net/regulatory.h' line='228' column='1'/>
+          <var-decl name='n_reg_rules' type-id='type-id-9' visibility='default' filepath='include/net/regulatory.h' line='228' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='alpha2' type-id='type-id-6203' visibility='default' filepath='include/net/regulatory.h' line='229' column='1'/>
+          <var-decl name='alpha2' type-id='type-id-8570' visibility='default' filepath='include/net/regulatory.h' line='229' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='dfs_region' type-id='type-id-6310' visibility='default' filepath='include/net/regulatory.h' line='230' column='1'/>
+          <var-decl name='dfs_region' type-id='type-id-8674' visibility='default' filepath='include/net/regulatory.h' line='230' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='reg_rules' type-id='type-id-6208' visibility='default' filepath='include/net/regulatory.h' line='231' column='1'/>
+          <var-decl name='reg_rules' type-id='type-id-8575' visibility='default' filepath='include/net/regulatory.h' line='231' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='ieee80211_reg_rule' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/net/regulatory.h' line='217' column='1' id='type-id-6207'>
+      <class-decl name='ieee80211_reg_rule' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/net/regulatory.h' line='217' column='1' id='type-id-8574'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='freq_range' type-id='type-id-6313' visibility='default' filepath='include/net/regulatory.h' line='218' column='1'/>
+          <var-decl name='freq_range' type-id='type-id-8677' visibility='default' filepath='include/net/regulatory.h' line='218' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='power_rule' type-id='type-id-6314' visibility='default' filepath='include/net/regulatory.h' line='219' column='1'/>
+          <var-decl name='power_rule' type-id='type-id-8678' visibility='default' filepath='include/net/regulatory.h' line='219' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='wmm_rule' type-id='type-id-6315' visibility='default' filepath='include/net/regulatory.h' line='220' column='1'/>
+          <var-decl name='wmm_rule' type-id='type-id-8679' visibility='default' filepath='include/net/regulatory.h' line='220' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='672'>
-          <var-decl name='flags' type-id='type-id-7' visibility='default' filepath='include/net/regulatory.h' line='221' column='1'/>
+          <var-decl name='flags' type-id='type-id-9' visibility='default' filepath='include/net/regulatory.h' line='221' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='dfs_cac_ms' type-id='type-id-7' visibility='default' filepath='include/net/regulatory.h' line='222' column='1'/>
+          <var-decl name='dfs_cac_ms' type-id='type-id-9' visibility='default' filepath='include/net/regulatory.h' line='222' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='736'>
-          <var-decl name='has_wmm' type-id='type-id-33' visibility='default' filepath='include/net/regulatory.h' line='223' column='1'/>
+          <var-decl name='has_wmm' type-id='type-id-211' visibility='default' filepath='include/net/regulatory.h' line='223' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='ieee80211_freq_range' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/net/regulatory.h' line='181' column='1' id='type-id-6313'>
+      <class-decl name='ieee80211_freq_range' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/net/regulatory.h' line='181' column='1' id='type-id-8677'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='start_freq_khz' type-id='type-id-7' visibility='default' filepath='include/net/regulatory.h' line='182' column='1'/>
+          <var-decl name='start_freq_khz' type-id='type-id-9' visibility='default' filepath='include/net/regulatory.h' line='182' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='end_freq_khz' type-id='type-id-7' visibility='default' filepath='include/net/regulatory.h' line='183' column='1'/>
+          <var-decl name='end_freq_khz' type-id='type-id-9' visibility='default' filepath='include/net/regulatory.h' line='183' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='max_bandwidth_khz' type-id='type-id-7' visibility='default' filepath='include/net/regulatory.h' line='184' column='1'/>
+          <var-decl name='max_bandwidth_khz' type-id='type-id-9' visibility='default' filepath='include/net/regulatory.h' line='184' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='ieee80211_power_rule' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/net/regulatory.h' line='187' column='1' id='type-id-6314'>
+      <class-decl name='ieee80211_power_rule' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/net/regulatory.h' line='187' column='1' id='type-id-8678'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='max_antenna_gain' type-id='type-id-7' visibility='default' filepath='include/net/regulatory.h' line='188' column='1'/>
+          <var-decl name='max_antenna_gain' type-id='type-id-9' visibility='default' filepath='include/net/regulatory.h' line='188' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='max_eirp' type-id='type-id-7' visibility='default' filepath='include/net/regulatory.h' line='189' column='1'/>
+          <var-decl name='max_eirp' type-id='type-id-9' visibility='default' filepath='include/net/regulatory.h' line='189' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='ieee80211_wmm_rule' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/net/regulatory.h' line='212' column='1' id='type-id-6315'>
+      <class-decl name='ieee80211_wmm_rule' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/net/regulatory.h' line='212' column='1' id='type-id-8679'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='client' type-id='type-id-6212' visibility='default' filepath='include/net/regulatory.h' line='213' column='1'/>
+          <var-decl name='client' type-id='type-id-8579' visibility='default' filepath='include/net/regulatory.h' line='213' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='ap' type-id='type-id-6212' visibility='default' filepath='include/net/regulatory.h' line='214' column='1'/>
+          <var-decl name='ap' type-id='type-id-8579' visibility='default' filepath='include/net/regulatory.h' line='214' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='ieee80211_wmm_ac' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/net/regulatory.h' line='205' column='1' id='type-id-6211'>
+      <class-decl name='ieee80211_wmm_ac' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/net/regulatory.h' line='205' column='1' id='type-id-8578'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cw_min' type-id='type-id-688' visibility='default' filepath='include/net/regulatory.h' line='206' column='1'/>
+          <var-decl name='cw_min' type-id='type-id-289' visibility='default' filepath='include/net/regulatory.h' line='206' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='cw_max' type-id='type-id-688' visibility='default' filepath='include/net/regulatory.h' line='207' column='1'/>
+          <var-decl name='cw_max' type-id='type-id-289' visibility='default' filepath='include/net/regulatory.h' line='207' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='cot' type-id='type-id-688' visibility='default' filepath='include/net/regulatory.h' line='208' column='1'/>
+          <var-decl name='cot' type-id='type-id-289' visibility='default' filepath='include/net/regulatory.h' line='208' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='aifsn' type-id='type-id-214' visibility='default' filepath='include/net/regulatory.h' line='209' column='1'/>
+          <var-decl name='aifsn' type-id='type-id-53' visibility='default' filepath='include/net/regulatory.h' line='209' column='1'/>
         </data-member>
       </class-decl>
-      <union-decl name='__anonymous_union__2' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/dcache.h' line='106' column='1' id='type-id-6316'>
-        <data-member access='private'>
-          <var-decl name='d_lru' type-id='type-id-20' visibility='default' filepath='include/linux/dcache.h' line='107' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='d_wait' type-id='type-id-881' visibility='default' filepath='include/linux/dcache.h' line='108' column='1'/>
-        </data-member>
-      </union-decl>
-      <union-decl name='__anonymous_union__3' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/dcache.h' line='115' column='1' id='type-id-6317'>
-        <data-member access='private'>
-          <var-decl name='d_alias' type-id='type-id-520' visibility='default' filepath='include/linux/dcache.h' line='116' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='d_in_lookup_hash' type-id='type-id-1286' visibility='default' filepath='include/linux/dcache.h' line='117' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='d_rcu' type-id='type-id-385' visibility='default' filepath='include/linux/dcache.h' line='118' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='ieee80211_ht_cap' size-in-bits='208' is-struct='yes' visibility='default' filepath='include/linux/ieee80211.h' line='1301' column='1' id='type-id-6318'>
+      <class-decl name='ieee80211_ht_cap' size-in-bits='208' is-struct='yes' visibility='default' filepath='include/linux/ieee80211.h' line='1301' column='1' id='type-id-8680'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='cap_info' type-id='type-id-5123' visibility='default' filepath='include/linux/ieee80211.h' line='1302' column='1'/>
+          <var-decl name='cap_info' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='1302' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='ampdu_params_info' type-id='type-id-214' visibility='default' filepath='include/linux/ieee80211.h' line='1303' column='1'/>
+          <var-decl name='ampdu_params_info' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='1303' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='24'>
-          <var-decl name='mcs' type-id='type-id-6301' visibility='default' filepath='include/linux/ieee80211.h' line='1306' column='1'/>
+          <var-decl name='mcs' type-id='type-id-8665' visibility='default' filepath='include/linux/ieee80211.h' line='1306' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='152'>
-          <var-decl name='extended_ht_cap_info' type-id='type-id-5123' visibility='default' filepath='include/linux/ieee80211.h' line='1308' column='1'/>
+          <var-decl name='extended_ht_cap_info' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='1308' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='168'>
-          <var-decl name='tx_BF_cap_info' type-id='type-id-2462' visibility='default' filepath='include/linux/ieee80211.h' line='1309' column='1'/>
+          <var-decl name='tx_BF_cap_info' type-id='type-id-3462' visibility='default' filepath='include/linux/ieee80211.h' line='1309' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='200'>
-          <var-decl name='antenna_selection_info' type-id='type-id-214' visibility='default' filepath='include/linux/ieee80211.h' line='1310' column='1'/>
+          <var-decl name='antenna_selection_info' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='1310' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='ieee80211_vht_cap' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/linux/ieee80211.h' line='1507' column='1' id='type-id-6319'>
+      <class-decl name='ieee80211_vht_cap' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/linux/ieee80211.h' line='1507' column='1' id='type-id-8681'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='vht_cap_info' type-id='type-id-2462' visibility='default' filepath='include/linux/ieee80211.h' line='1508' column='1'/>
+          <var-decl name='vht_cap_info' type-id='type-id-3462' visibility='default' filepath='include/linux/ieee80211.h' line='1508' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='supp_mcs' type-id='type-id-6302' visibility='default' filepath='include/linux/ieee80211.h' line='1509' column='1'/>
+          <var-decl name='supp_mcs' type-id='type-id-8666' visibility='default' filepath='include/linux/ieee80211.h' line='1509' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='wiphy_coalesce_support' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='3713' column='1' id='type-id-6320'>
+      <class-decl name='wiphy_coalesce_support' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='3718' column='1' id='type-id-8682'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='n_rules' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='3714' column='1'/>
+          <var-decl name='n_rules' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='3719' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='max_delay' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='3715' column='1'/>
+          <var-decl name='max_delay' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='3720' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='n_patterns' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='3716' column='1'/>
+          <var-decl name='n_patterns' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='3721' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='pattern_max_len' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='3717' column='1'/>
+          <var-decl name='pattern_max_len' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='3722' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='pattern_min_len' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='3718' column='1'/>
+          <var-decl name='pattern_min_len' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='3723' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='max_pkt_offset' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='3719' column='1'/>
+          <var-decl name='max_pkt_offset' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='3724' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='wiphy_vendor_command' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='3778' column='1' id='type-id-6321'>
+      <class-decl name='wiphy_vendor_command' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='3783' column='1' id='type-id-8683'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='info' type-id='type-id-6322' visibility='default' filepath='include/net/cfg80211.h' line='3779' column='1'/>
+          <var-decl name='info' type-id='type-id-8684' visibility='default' filepath='include/net/cfg80211.h' line='3784' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='flags' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='3780' column='1'/>
+          <var-decl name='flags' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='3785' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='doit' type-id='type-id-6323' visibility='default' filepath='include/net/cfg80211.h' line='3781' column='1'/>
+          <var-decl name='doit' type-id='type-id-8685' visibility='default' filepath='include/net/cfg80211.h' line='3786' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='dumpit' type-id='type-id-6324' visibility='default' filepath='include/net/cfg80211.h' line='3783' column='1'/>
+          <var-decl name='dumpit' type-id='type-id-8686' visibility='default' filepath='include/net/cfg80211.h' line='3788' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='nl80211_vendor_cmd_info' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/linux/nl80211.h' line='5533' column='1' id='type-id-6322'>
+      <class-decl name='nl80211_vendor_cmd_info' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/linux/nl80211.h' line='5533' column='1' id='type-id-8684'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='vendor_id' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/nl80211.h' line='5534' column='1'/>
+          <var-decl name='vendor_id' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/nl80211.h' line='5534' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='subcmd' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/nl80211.h' line='5535' column='1'/>
+          <var-decl name='subcmd' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/nl80211.h' line='5535' column='1'/>
         </data-member>
       </class-decl>
-      <union-decl name='__anonymous_union__4' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='666' column='1' id='type-id-6325'>
-        <data-member access='private'>
-          <var-decl name='' type-id='type-id-6326' visibility='default' filepath='include/linux/skbuff.h' line='667' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='rbnode' type-id='type-id-422' visibility='default' filepath='include/linux/skbuff.h' line='681' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='list' type-id='type-id-20' visibility='default' filepath='include/linux/skbuff.h' line='682' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='__anonymous_struct__1' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='667' column='1' id='type-id-6326'>
+      <class-decl name='cfg80211_ops' size-in-bits='6656' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='3133' column='1' id='type-id-8687'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='next' type-id='type-id-1768' visibility='default' filepath='include/linux/skbuff.h' line='669' column='1'/>
+          <var-decl name='suspend' type-id='type-id-8688' visibility='default' filepath='include/net/cfg80211.h' line='3134' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='prev' type-id='type-id-1768' visibility='default' filepath='include/linux/skbuff.h' line='670' column='1'/>
+          <var-decl name='resume' type-id='type-id-8689' visibility='default' filepath='include/net/cfg80211.h' line='3135' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='' type-id='type-id-6327' visibility='default' filepath='include/linux/skbuff.h' line='672' column='1'/>
-        </data-member>
-      </class-decl>
-      <union-decl name='__anonymous_union__5' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='672' column='1' id='type-id-6327'>
-        <data-member access='private'>
-          <var-decl name='dev' type-id='type-id-1650' visibility='default' filepath='include/linux/skbuff.h' line='673' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='dev_scratch' type-id='type-id-16' visibility='default' filepath='include/linux/skbuff.h' line='678' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='cfg80211_ops' size-in-bits='6592' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='3130' column='1' id='type-id-6328'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='suspend' type-id='type-id-6329' visibility='default' filepath='include/net/cfg80211.h' line='3131' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='resume' type-id='type-id-6330' visibility='default' filepath='include/net/cfg80211.h' line='3132' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='set_wakeup' type-id='type-id-6331' visibility='default' filepath='include/net/cfg80211.h' line='3133' column='1'/>
+          <var-decl name='set_wakeup' type-id='type-id-8690' visibility='default' filepath='include/net/cfg80211.h' line='3136' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='add_virtual_intf' type-id='type-id-6332' visibility='default' filepath='include/net/cfg80211.h' line='3135' column='1'/>
+          <var-decl name='add_virtual_intf' type-id='type-id-8691' visibility='default' filepath='include/net/cfg80211.h' line='3138' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='del_virtual_intf' type-id='type-id-6333' visibility='default' filepath='include/net/cfg80211.h' line='3140' column='1'/>
+          <var-decl name='del_virtual_intf' type-id='type-id-8692' visibility='default' filepath='include/net/cfg80211.h' line='3143' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='change_virtual_intf' type-id='type-id-6334' visibility='default' filepath='include/net/cfg80211.h' line='3142' column='1'/>
+          <var-decl name='change_virtual_intf' type-id='type-id-8693' visibility='default' filepath='include/net/cfg80211.h' line='3145' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='add_key' type-id='type-id-6335' visibility='default' filepath='include/net/cfg80211.h' line='3147' column='1'/>
+          <var-decl name='add_key' type-id='type-id-8694' visibility='default' filepath='include/net/cfg80211.h' line='3150' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='get_key' type-id='type-id-6336' visibility='default' filepath='include/net/cfg80211.h' line='3150' column='1'/>
+          <var-decl name='get_key' type-id='type-id-8695' visibility='default' filepath='include/net/cfg80211.h' line='3153' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='del_key' type-id='type-id-6337' visibility='default' filepath='include/net/cfg80211.h' line='3154' column='1'/>
+          <var-decl name='del_key' type-id='type-id-8696' visibility='default' filepath='include/net/cfg80211.h' line='3157' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='set_default_key' type-id='type-id-6338' visibility='default' filepath='include/net/cfg80211.h' line='3156' column='1'/>
+          <var-decl name='set_default_key' type-id='type-id-8697' visibility='default' filepath='include/net/cfg80211.h' line='3159' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='set_default_mgmt_key' type-id='type-id-6339' visibility='default' filepath='include/net/cfg80211.h' line='3159' column='1'/>
+          <var-decl name='set_default_mgmt_key' type-id='type-id-8698' visibility='default' filepath='include/net/cfg80211.h' line='3162' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='start_ap' type-id='type-id-6340' visibility='default' filepath='include/net/cfg80211.h' line='3163' column='1'/>
+          <var-decl name='start_ap' type-id='type-id-8699' visibility='default' filepath='include/net/cfg80211.h' line='3166' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='change_beacon' type-id='type-id-6341' visibility='default' filepath='include/net/cfg80211.h' line='3165' column='1'/>
+          <var-decl name='change_beacon' type-id='type-id-8700' visibility='default' filepath='include/net/cfg80211.h' line='3168' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='stop_ap' type-id='type-id-6342' visibility='default' filepath='include/net/cfg80211.h' line='3167' column='1'/>
+          <var-decl name='stop_ap' type-id='type-id-8701' visibility='default' filepath='include/net/cfg80211.h' line='3170' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='add_station' type-id='type-id-6343' visibility='default' filepath='include/net/cfg80211.h' line='3170' column='1'/>
+          <var-decl name='add_station' type-id='type-id-8702' visibility='default' filepath='include/net/cfg80211.h' line='3173' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='del_station' type-id='type-id-6344' visibility='default' filepath='include/net/cfg80211.h' line='3173' column='1'/>
+          <var-decl name='del_station' type-id='type-id-8703' visibility='default' filepath='include/net/cfg80211.h' line='3176' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='change_station' type-id='type-id-6343' visibility='default' filepath='include/net/cfg80211.h' line='3175' column='1'/>
+          <var-decl name='change_station' type-id='type-id-8702' visibility='default' filepath='include/net/cfg80211.h' line='3178' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='get_station' type-id='type-id-6345' visibility='default' filepath='include/net/cfg80211.h' line='3178' column='1'/>
+          <var-decl name='get_station' type-id='type-id-8704' visibility='default' filepath='include/net/cfg80211.h' line='3181' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='dump_station' type-id='type-id-6346' visibility='default' filepath='include/net/cfg80211.h' line='3180' column='1'/>
+          <var-decl name='dump_station' type-id='type-id-8705' visibility='default' filepath='include/net/cfg80211.h' line='3183' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='add_mpath' type-id='type-id-6347' visibility='default' filepath='include/net/cfg80211.h' line='3183' column='1'/>
+          <var-decl name='add_mpath' type-id='type-id-8706' visibility='default' filepath='include/net/cfg80211.h' line='3186' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='del_mpath' type-id='type-id-6348' visibility='default' filepath='include/net/cfg80211.h' line='3185' column='1'/>
+          <var-decl name='del_mpath' type-id='type-id-8707' visibility='default' filepath='include/net/cfg80211.h' line='3188' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='change_mpath' type-id='type-id-6347' visibility='default' filepath='include/net/cfg80211.h' line='3187' column='1'/>
+          <var-decl name='change_mpath' type-id='type-id-8706' visibility='default' filepath='include/net/cfg80211.h' line='3190' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='get_mpath' type-id='type-id-6349' visibility='default' filepath='include/net/cfg80211.h' line='3189' column='1'/>
+          <var-decl name='get_mpath' type-id='type-id-8708' visibility='default' filepath='include/net/cfg80211.h' line='3192' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='dump_mpath' type-id='type-id-6350' visibility='default' filepath='include/net/cfg80211.h' line='3191' column='1'/>
+          <var-decl name='dump_mpath' type-id='type-id-8709' visibility='default' filepath='include/net/cfg80211.h' line='3194' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1536'>
-          <var-decl name='get_mpp' type-id='type-id-6349' visibility='default' filepath='include/net/cfg80211.h' line='3194' column='1'/>
+          <var-decl name='get_mpp' type-id='type-id-8708' visibility='default' filepath='include/net/cfg80211.h' line='3197' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='dump_mpp' type-id='type-id-6350' visibility='default' filepath='include/net/cfg80211.h' line='3196' column='1'/>
+          <var-decl name='dump_mpp' type-id='type-id-8709' visibility='default' filepath='include/net/cfg80211.h' line='3199' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='get_mesh_config' type-id='type-id-6351' visibility='default' filepath='include/net/cfg80211.h' line='3199' column='1'/>
+          <var-decl name='get_mesh_config' type-id='type-id-8710' visibility='default' filepath='include/net/cfg80211.h' line='3202' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='update_mesh_config' type-id='type-id-6352' visibility='default' filepath='include/net/cfg80211.h' line='3202' column='1'/>
+          <var-decl name='update_mesh_config' type-id='type-id-8711' visibility='default' filepath='include/net/cfg80211.h' line='3205' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1792'>
-          <var-decl name='join_mesh' type-id='type-id-6353' visibility='default' filepath='include/net/cfg80211.h' line='3205' column='1'/>
+          <var-decl name='join_mesh' type-id='type-id-8712' visibility='default' filepath='include/net/cfg80211.h' line='3208' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='leave_mesh' type-id='type-id-6342' visibility='default' filepath='include/net/cfg80211.h' line='3208' column='1'/>
+          <var-decl name='leave_mesh' type-id='type-id-8701' visibility='default' filepath='include/net/cfg80211.h' line='3211' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='join_ocb' type-id='type-id-6354' visibility='default' filepath='include/net/cfg80211.h' line='3210' column='1'/>
+          <var-decl name='join_ocb' type-id='type-id-8713' visibility='default' filepath='include/net/cfg80211.h' line='3213' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='leave_ocb' type-id='type-id-6342' visibility='default' filepath='include/net/cfg80211.h' line='3212' column='1'/>
+          <var-decl name='leave_ocb' type-id='type-id-8701' visibility='default' filepath='include/net/cfg80211.h' line='3215' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='change_bss' type-id='type-id-6355' visibility='default' filepath='include/net/cfg80211.h' line='3214' column='1'/>
+          <var-decl name='change_bss' type-id='type-id-8714' visibility='default' filepath='include/net/cfg80211.h' line='3217' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='set_txq_params' type-id='type-id-6356' visibility='default' filepath='include/net/cfg80211.h' line='3217' column='1'/>
+          <var-decl name='set_txq_params' type-id='type-id-8715' visibility='default' filepath='include/net/cfg80211.h' line='3220' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='libertas_set_mesh_channel' type-id='type-id-6357' visibility='default' filepath='include/net/cfg80211.h' line='3220' column='1'/>
+          <var-decl name='libertas_set_mesh_channel' type-id='type-id-8716' visibility='default' filepath='include/net/cfg80211.h' line='3223' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='set_monitor_channel' type-id='type-id-6358' visibility='default' filepath='include/net/cfg80211.h' line='3224' column='1'/>
+          <var-decl name='set_monitor_channel' type-id='type-id-8717' visibility='default' filepath='include/net/cfg80211.h' line='3227' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2304'>
-          <var-decl name='scan' type-id='type-id-6359' visibility='default' filepath='include/net/cfg80211.h' line='3227' column='1'/>
+          <var-decl name='scan' type-id='type-id-8718' visibility='default' filepath='include/net/cfg80211.h' line='3230' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='abort_scan' type-id='type-id-6360' visibility='default' filepath='include/net/cfg80211.h' line='3229' column='1'/>
+          <var-decl name='abort_scan' type-id='type-id-8719' visibility='default' filepath='include/net/cfg80211.h' line='3232' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2432'>
-          <var-decl name='auth' type-id='type-id-6361' visibility='default' filepath='include/net/cfg80211.h' line='3231' column='1'/>
+          <var-decl name='auth' type-id='type-id-8720' visibility='default' filepath='include/net/cfg80211.h' line='3234' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2496'>
-          <var-decl name='assoc' type-id='type-id-6362' visibility='default' filepath='include/net/cfg80211.h' line='3233' column='1'/>
+          <var-decl name='assoc' type-id='type-id-8721' visibility='default' filepath='include/net/cfg80211.h' line='3236' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2560'>
-          <var-decl name='deauth' type-id='type-id-6363' visibility='default' filepath='include/net/cfg80211.h' line='3235' column='1'/>
+          <var-decl name='deauth' type-id='type-id-8722' visibility='default' filepath='include/net/cfg80211.h' line='3238' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2624'>
-          <var-decl name='disassoc' type-id='type-id-6364' visibility='default' filepath='include/net/cfg80211.h' line='3237' column='1'/>
+          <var-decl name='disassoc' type-id='type-id-8723' visibility='default' filepath='include/net/cfg80211.h' line='3240' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2688'>
-          <var-decl name='connect' type-id='type-id-6365' visibility='default' filepath='include/net/cfg80211.h' line='3240' column='1'/>
+          <var-decl name='connect' type-id='type-id-8724' visibility='default' filepath='include/net/cfg80211.h' line='3243' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2752'>
-          <var-decl name='update_connect_params' type-id='type-id-6366' visibility='default' filepath='include/net/cfg80211.h' line='3242' column='1'/>
+          <var-decl name='update_connect_params' type-id='type-id-8725' visibility='default' filepath='include/net/cfg80211.h' line='3245' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2816'>
-          <var-decl name='disconnect' type-id='type-id-6367' visibility='default' filepath='include/net/cfg80211.h' line='3246' column='1'/>
+          <var-decl name='disconnect' type-id='type-id-8726' visibility='default' filepath='include/net/cfg80211.h' line='3249' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2880'>
-          <var-decl name='join_ibss' type-id='type-id-6368' visibility='default' filepath='include/net/cfg80211.h' line='3249' column='1'/>
+          <var-decl name='join_ibss' type-id='type-id-8727' visibility='default' filepath='include/net/cfg80211.h' line='3252' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2944'>
-          <var-decl name='leave_ibss' type-id='type-id-6342' visibility='default' filepath='include/net/cfg80211.h' line='3251' column='1'/>
+          <var-decl name='leave_ibss' type-id='type-id-8701' visibility='default' filepath='include/net/cfg80211.h' line='3254' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='3008'>
-          <var-decl name='set_mcast_rate' type-id='type-id-6369' visibility='default' filepath='include/net/cfg80211.h' line='3253' column='1'/>
+          <var-decl name='set_mcast_rate' type-id='type-id-8728' visibility='default' filepath='include/net/cfg80211.h' line='3256' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='3072'>
-          <var-decl name='set_wiphy_params' type-id='type-id-6370' visibility='default' filepath='include/net/cfg80211.h' line='3256' column='1'/>
+          <var-decl name='set_wiphy_params' type-id='type-id-8729' visibility='default' filepath='include/net/cfg80211.h' line='3259' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='3136'>
-          <var-decl name='set_tx_power' type-id='type-id-6371' visibility='default' filepath='include/net/cfg80211.h' line='3258' column='1'/>
+          <var-decl name='set_tx_power' type-id='type-id-8730' visibility='default' filepath='include/net/cfg80211.h' line='3261' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='3200'>
-          <var-decl name='get_tx_power' type-id='type-id-6372' visibility='default' filepath='include/net/cfg80211.h' line='3260' column='1'/>
+          <var-decl name='get_tx_power' type-id='type-id-8731' visibility='default' filepath='include/net/cfg80211.h' line='3263' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='3264'>
-          <var-decl name='set_wds_peer' type-id='type-id-6348' visibility='default' filepath='include/net/cfg80211.h' line='3263' column='1'/>
+          <var-decl name='set_wds_peer' type-id='type-id-8707' visibility='default' filepath='include/net/cfg80211.h' line='3266' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='3328'>
-          <var-decl name='rfkill_poll' type-id='type-id-6373' visibility='default' filepath='include/net/cfg80211.h' line='3266' column='1'/>
+          <var-decl name='rfkill_poll' type-id='type-id-8732' visibility='default' filepath='include/net/cfg80211.h' line='3269' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='3392'>
-          <var-decl name='set_bitrate_mask' type-id='type-id-6374' visibility='default' filepath='include/net/cfg80211.h' line='3276' column='1'/>
+          <var-decl name='set_bitrate_mask' type-id='type-id-8733' visibility='default' filepath='include/net/cfg80211.h' line='3279' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='3456'>
-          <var-decl name='dump_survey' type-id='type-id-6375' visibility='default' filepath='include/net/cfg80211.h' line='3281' column='1'/>
+          <var-decl name='dump_survey' type-id='type-id-8734' visibility='default' filepath='include/net/cfg80211.h' line='3284' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='3520'>
-          <var-decl name='set_pmksa' type-id='type-id-6376' visibility='default' filepath='include/net/cfg80211.h' line='3284' column='1'/>
+          <var-decl name='set_pmksa' type-id='type-id-8735' visibility='default' filepath='include/net/cfg80211.h' line='3287' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='3584'>
-          <var-decl name='del_pmksa' type-id='type-id-6376' visibility='default' filepath='include/net/cfg80211.h' line='3286' column='1'/>
+          <var-decl name='del_pmksa' type-id='type-id-8735' visibility='default' filepath='include/net/cfg80211.h' line='3289' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='3648'>
-          <var-decl name='flush_pmksa' type-id='type-id-6342' visibility='default' filepath='include/net/cfg80211.h' line='3288' column='1'/>
+          <var-decl name='flush_pmksa' type-id='type-id-8701' visibility='default' filepath='include/net/cfg80211.h' line='3291' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='3712'>
-          <var-decl name='remain_on_channel' type-id='type-id-6377' visibility='default' filepath='include/net/cfg80211.h' line='3290' column='1'/>
+          <var-decl name='remain_on_channel' type-id='type-id-8736' visibility='default' filepath='include/net/cfg80211.h' line='3293' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='3776'>
-          <var-decl name='cancel_remain_on_channel' type-id='type-id-6378' visibility='default' filepath='include/net/cfg80211.h' line='3295' column='1'/>
+          <var-decl name='cancel_remain_on_channel' type-id='type-id-8737' visibility='default' filepath='include/net/cfg80211.h' line='3298' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='3840'>
-          <var-decl name='mgmt_tx' type-id='type-id-6379' visibility='default' filepath='include/net/cfg80211.h' line='3299' column='1'/>
+          <var-decl name='mgmt_tx' type-id='type-id-8738' visibility='default' filepath='include/net/cfg80211.h' line='3302' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='3904'>
-          <var-decl name='mgmt_tx_cancel_wait' type-id='type-id-6378' visibility='default' filepath='include/net/cfg80211.h' line='3302' column='1'/>
+          <var-decl name='mgmt_tx_cancel_wait' type-id='type-id-8737' visibility='default' filepath='include/net/cfg80211.h' line='3305' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='3968'>
-          <var-decl name='set_power_mgmt' type-id='type-id-6380' visibility='default' filepath='include/net/cfg80211.h' line='3306' column='1'/>
+          <var-decl name='set_power_mgmt' type-id='type-id-8739' visibility='default' filepath='include/net/cfg80211.h' line='3309' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='4032'>
-          <var-decl name='set_cqm_rssi_config' type-id='type-id-6381' visibility='default' filepath='include/net/cfg80211.h' line='3309' column='1'/>
+          <var-decl name='set_cqm_rssi_config' type-id='type-id-8740' visibility='default' filepath='include/net/cfg80211.h' line='3312' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='4096'>
-          <var-decl name='set_cqm_rssi_range_config' type-id='type-id-6382' visibility='default' filepath='include/net/cfg80211.h' line='3313' column='1'/>
+          <var-decl name='set_cqm_rssi_range_config' type-id='type-id-8741' visibility='default' filepath='include/net/cfg80211.h' line='3316' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='4160'>
-          <var-decl name='set_cqm_txe_config' type-id='type-id-6383' visibility='default' filepath='include/net/cfg80211.h' line='3317' column='1'/>
+          <var-decl name='set_cqm_txe_config' type-id='type-id-8742' visibility='default' filepath='include/net/cfg80211.h' line='3320' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='4224'>
-          <var-decl name='mgmt_frame_register' type-id='type-id-6384' visibility='default' filepath='include/net/cfg80211.h' line='3321' column='1'/>
+          <var-decl name='mgmt_frame_register' type-id='type-id-8743' visibility='default' filepath='include/net/cfg80211.h' line='3324' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='4288'>
-          <var-decl name='set_antenna' type-id='type-id-6385' visibility='default' filepath='include/net/cfg80211.h' line='3325' column='1'/>
+          <var-decl name='set_antenna' type-id='type-id-8744' visibility='default' filepath='include/net/cfg80211.h' line='3328' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='4352'>
-          <var-decl name='get_antenna' type-id='type-id-6386' visibility='default' filepath='include/net/cfg80211.h' line='3326' column='1'/>
+          <var-decl name='get_antenna' type-id='type-id-8745' visibility='default' filepath='include/net/cfg80211.h' line='3329' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='4416'>
-          <var-decl name='sched_scan_start' type-id='type-id-6387' visibility='default' filepath='include/net/cfg80211.h' line='3328' column='1'/>
+          <var-decl name='sched_scan_start' type-id='type-id-8746' visibility='default' filepath='include/net/cfg80211.h' line='3331' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='4480'>
-          <var-decl name='sched_scan_stop' type-id='type-id-6388' visibility='default' filepath='include/net/cfg80211.h' line='3331' column='1'/>
+          <var-decl name='sched_scan_stop' type-id='type-id-8747' visibility='default' filepath='include/net/cfg80211.h' line='3334' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='4544'>
-          <var-decl name='set_rekey_data' type-id='type-id-6389' visibility='default' filepath='include/net/cfg80211.h' line='3334' column='1'/>
+          <var-decl name='set_rekey_data' type-id='type-id-8748' visibility='default' filepath='include/net/cfg80211.h' line='3337' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='4608'>
-          <var-decl name='tdls_mgmt' type-id='type-id-6390' visibility='default' filepath='include/net/cfg80211.h' line='3337' column='1'/>
+          <var-decl name='tdls_mgmt' type-id='type-id-8749' visibility='default' filepath='include/net/cfg80211.h' line='3340' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='4672'>
-          <var-decl name='tdls_oper' type-id='type-id-6391' visibility='default' filepath='include/net/cfg80211.h' line='3341' column='1'/>
+          <var-decl name='tdls_oper' type-id='type-id-8750' visibility='default' filepath='include/net/cfg80211.h' line='3344' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='4736'>
-          <var-decl name='probe_client' type-id='type-id-6392' visibility='default' filepath='include/net/cfg80211.h' line='3344' column='1'/>
+          <var-decl name='probe_client' type-id='type-id-8751' visibility='default' filepath='include/net/cfg80211.h' line='3347' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='4800'>
-          <var-decl name='set_noack_map' type-id='type-id-6367' visibility='default' filepath='include/net/cfg80211.h' line='3347' column='1'/>
+          <var-decl name='set_noack_map' type-id='type-id-8726' visibility='default' filepath='include/net/cfg80211.h' line='3350' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='4864'>
-          <var-decl name='get_channel' type-id='type-id-6393' visibility='default' filepath='include/net/cfg80211.h' line='3351' column='1'/>
+          <var-decl name='get_channel' type-id='type-id-8752' visibility='default' filepath='include/net/cfg80211.h' line='3354' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='4928'>
-          <var-decl name='start_p2p_device' type-id='type-id-6333' visibility='default' filepath='include/net/cfg80211.h' line='3355' column='1'/>
+          <var-decl name='start_p2p_device' type-id='type-id-8692' visibility='default' filepath='include/net/cfg80211.h' line='3358' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='4992'>
-          <var-decl name='stop_p2p_device' type-id='type-id-6360' visibility='default' filepath='include/net/cfg80211.h' line='3357' column='1'/>
+          <var-decl name='stop_p2p_device' type-id='type-id-8719' visibility='default' filepath='include/net/cfg80211.h' line='3360' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='5056'>
-          <var-decl name='set_mac_acl' type-id='type-id-6394' visibility='default' filepath='include/net/cfg80211.h' line='3360' column='1'/>
+          <var-decl name='set_mac_acl' type-id='type-id-8753' visibility='default' filepath='include/net/cfg80211.h' line='3363' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='5120'>
-          <var-decl name='start_radar_detection' type-id='type-id-6395' visibility='default' filepath='include/net/cfg80211.h' line='3363' column='1'/>
+          <var-decl name='start_radar_detection' type-id='type-id-8754' visibility='default' filepath='include/net/cfg80211.h' line='3366' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='5184'>
-          <var-decl name='update_ft_ies' type-id='type-id-6396' visibility='default' filepath='include/net/cfg80211.h' line='3367' column='1'/>
+          <var-decl name='end_cac' type-id='type-id-8755' visibility='default' filepath='include/net/cfg80211.h' line='3370' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='5248'>
-          <var-decl name='crit_proto_start' type-id='type-id-6397' visibility='default' filepath='include/net/cfg80211.h' line='3369' column='1'/>
+          <var-decl name='update_ft_ies' type-id='type-id-8756' visibility='default' filepath='include/net/cfg80211.h' line='3372' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='5312'>
-          <var-decl name='crit_proto_stop' type-id='type-id-6360' visibility='default' filepath='include/net/cfg80211.h' line='3373' column='1'/>
+          <var-decl name='crit_proto_start' type-id='type-id-8757' visibility='default' filepath='include/net/cfg80211.h' line='3374' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='5376'>
-          <var-decl name='set_coalesce' type-id='type-id-6398' visibility='default' filepath='include/net/cfg80211.h' line='3375' column='1'/>
+          <var-decl name='crit_proto_stop' type-id='type-id-8719' visibility='default' filepath='include/net/cfg80211.h' line='3378' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='5440'>
-          <var-decl name='channel_switch' type-id='type-id-6399' visibility='default' filepath='include/net/cfg80211.h' line='3378' column='1'/>
+          <var-decl name='set_coalesce' type-id='type-id-8758' visibility='default' filepath='include/net/cfg80211.h' line='3380' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='5504'>
-          <var-decl name='set_qos_map' type-id='type-id-6400' visibility='default' filepath='include/net/cfg80211.h' line='3382' column='1'/>
+          <var-decl name='channel_switch' type-id='type-id-8759' visibility='default' filepath='include/net/cfg80211.h' line='3383' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='5568'>
-          <var-decl name='set_ap_chanwidth' type-id='type-id-6401' visibility='default' filepath='include/net/cfg80211.h' line='3386' column='1'/>
+          <var-decl name='set_qos_map' type-id='type-id-8760' visibility='default' filepath='include/net/cfg80211.h' line='3387' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='5632'>
-          <var-decl name='add_tx_ts' type-id='type-id-6402' visibility='default' filepath='include/net/cfg80211.h' line='3389' column='1'/>
+          <var-decl name='set_ap_chanwidth' type-id='type-id-8761' visibility='default' filepath='include/net/cfg80211.h' line='3391' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='5696'>
-          <var-decl name='del_tx_ts' type-id='type-id-6403' visibility='default' filepath='include/net/cfg80211.h' line='3392' column='1'/>
+          <var-decl name='add_tx_ts' type-id='type-id-8762' visibility='default' filepath='include/net/cfg80211.h' line='3394' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='5760'>
-          <var-decl name='tdls_channel_switch' type-id='type-id-6404' visibility='default' filepath='include/net/cfg80211.h' line='3395' column='1'/>
+          <var-decl name='del_tx_ts' type-id='type-id-8763' visibility='default' filepath='include/net/cfg80211.h' line='3397' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='5824'>
-          <var-decl name='tdls_cancel_channel_switch' type-id='type-id-6405' visibility='default' filepath='include/net/cfg80211.h' line='3399' column='1'/>
+          <var-decl name='tdls_channel_switch' type-id='type-id-8764' visibility='default' filepath='include/net/cfg80211.h' line='3400' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='5888'>
-          <var-decl name='start_nan' type-id='type-id-6406' visibility='default' filepath='include/net/cfg80211.h' line='3402' column='1'/>
+          <var-decl name='tdls_cancel_channel_switch' type-id='type-id-8765' visibility='default' filepath='include/net/cfg80211.h' line='3404' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='5952'>
-          <var-decl name='stop_nan' type-id='type-id-6360' visibility='default' filepath='include/net/cfg80211.h' line='3404' column='1'/>
+          <var-decl name='start_nan' type-id='type-id-8766' visibility='default' filepath='include/net/cfg80211.h' line='3407' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='6016'>
-          <var-decl name='add_nan_func' type-id='type-id-6407' visibility='default' filepath='include/net/cfg80211.h' line='3405' column='1'/>
+          <var-decl name='stop_nan' type-id='type-id-8719' visibility='default' filepath='include/net/cfg80211.h' line='3409' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='6080'>
-          <var-decl name='del_nan_func' type-id='type-id-6408' visibility='default' filepath='include/net/cfg80211.h' line='3407' column='1'/>
+          <var-decl name='add_nan_func' type-id='type-id-8767' visibility='default' filepath='include/net/cfg80211.h' line='3410' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='6144'>
-          <var-decl name='nan_change_conf' type-id='type-id-6409' visibility='default' filepath='include/net/cfg80211.h' line='3409' column='1'/>
+          <var-decl name='del_nan_func' type-id='type-id-8768' visibility='default' filepath='include/net/cfg80211.h' line='3412' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='6208'>
-          <var-decl name='set_multicast_to_unicast' type-id='type-id-6410' visibility='default' filepath='include/net/cfg80211.h' line='3414' column='1'/>
+          <var-decl name='nan_change_conf' type-id='type-id-8769' visibility='default' filepath='include/net/cfg80211.h' line='3414' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='6272'>
-          <var-decl name='get_txq_stats' type-id='type-id-6411' visibility='default' filepath='include/net/cfg80211.h' line='3418' column='1'/>
+          <var-decl name='set_multicast_to_unicast' type-id='type-id-8770' visibility='default' filepath='include/net/cfg80211.h' line='3419' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='6336'>
-          <var-decl name='set_pmk' type-id='type-id-6412' visibility='default' filepath='include/net/cfg80211.h' line='3422' column='1'/>
+          <var-decl name='get_txq_stats' type-id='type-id-8771' visibility='default' filepath='include/net/cfg80211.h' line='3423' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='6400'>
-          <var-decl name='del_pmk' type-id='type-id-6348' visibility='default' filepath='include/net/cfg80211.h' line='3424' column='1'/>
+          <var-decl name='set_pmk' type-id='type-id-8772' visibility='default' filepath='include/net/cfg80211.h' line='3427' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='6464'>
-          <var-decl name='external_auth' type-id='type-id-6413' visibility='default' filepath='include/net/cfg80211.h' line='3426' column='1'/>
+          <var-decl name='del_pmk' type-id='type-id-8707' visibility='default' filepath='include/net/cfg80211.h' line='3429' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='6528'>
-          <var-decl name='tx_control_port' type-id='type-id-6414' visibility='default' filepath='include/net/cfg80211.h' line='3429' column='1'/>
+          <var-decl name='external_auth' type-id='type-id-8773' visibility='default' filepath='include/net/cfg80211.h' line='3431' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6592'>
+          <var-decl name='tx_control_port' type-id='type-id-8774' visibility='default' filepath='include/net/cfg80211.h' line='3434' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='vif_params' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='468' column='1' id='type-id-6415'>
+      <class-decl name='vif_params' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='468' column='1' id='type-id-8775'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='flags' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='469' column='1'/>
+          <var-decl name='flags' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='469' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='use_4addr' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='470' column='1'/>
+          <var-decl name='use_4addr' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='470' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='macaddr' type-id='type-id-6229' visibility='default' filepath='include/net/cfg80211.h' line='471' column='1'/>
+          <var-decl name='macaddr' type-id='type-id-8594' visibility='default' filepath='include/net/cfg80211.h' line='471' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='vht_mumimo_groups' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='472' column='1'/>
+          <var-decl name='vht_mumimo_groups' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='472' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='vht_mumimo_follow_addr' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='473' column='1'/>
+          <var-decl name='vht_mumimo_follow_addr' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='473' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='cfg80211_ap_settings' size-in-bits='3200' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='855' column='1' id='type-id-6416'>
+      <class-decl name='cfg80211_ap_settings' size-in-bits='3200' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='855' column='1' id='type-id-8776'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='chandef' type-id='type-id-6282' visibility='default' filepath='include/net/cfg80211.h' line='856' column='1'/>
+          <var-decl name='chandef' type-id='type-id-8646' visibility='default' filepath='include/net/cfg80211.h' line='856' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='beacon' type-id='type-id-6417' visibility='default' filepath='include/net/cfg80211.h' line='858' column='1'/>
+          <var-decl name='beacon' type-id='type-id-8777' visibility='default' filepath='include/net/cfg80211.h' line='858' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='beacon_interval' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='860' column='1'/>
+          <var-decl name='beacon_interval' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='860' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='992'>
-          <var-decl name='dtim_period' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='860' column='1'/>
+          <var-decl name='dtim_period' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='860' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='ssid' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='861' column='1'/>
+          <var-decl name='ssid' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='861' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='ssid_len' type-id='type-id-84' visibility='default' filepath='include/net/cfg80211.h' line='862' column='1'/>
+          <var-decl name='ssid_len' type-id='type-id-125' visibility='default' filepath='include/net/cfg80211.h' line='862' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='hidden_ssid' type-id='type-id-6418' visibility='default' filepath='include/net/cfg80211.h' line='863' column='1'/>
+          <var-decl name='hidden_ssid' type-id='type-id-8778' visibility='default' filepath='include/net/cfg80211.h' line='863' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='crypto' type-id='type-id-6419' visibility='default' filepath='include/net/cfg80211.h' line='864' column='1'/>
+          <var-decl name='crypto' type-id='type-id-8779' visibility='default' filepath='include/net/cfg80211.h' line='864' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='privacy' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='865' column='1'/>
+          <var-decl name='privacy' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='865' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1888'>
-          <var-decl name='auth_type' type-id='type-id-6420' visibility='default' filepath='include/net/cfg80211.h' line='866' column='1'/>
+          <var-decl name='auth_type' type-id='type-id-8780' visibility='default' filepath='include/net/cfg80211.h' line='866' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='smps_mode' type-id='type-id-6421' visibility='default' filepath='include/net/cfg80211.h' line='867' column='1'/>
+          <var-decl name='smps_mode' type-id='type-id-8781' visibility='default' filepath='include/net/cfg80211.h' line='867' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1952'>
-          <var-decl name='inactivity_timeout' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='868' column='1'/>
+          <var-decl name='inactivity_timeout' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='868' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1984'>
-          <var-decl name='p2p_ctwindow' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='869' column='1'/>
+          <var-decl name='p2p_ctwindow' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='869' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1992'>
-          <var-decl name='p2p_opp_ps' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='870' column='1'/>
+          <var-decl name='p2p_opp_ps' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='870' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='acl' type-id='type-id-6422' visibility='default' filepath='include/net/cfg80211.h' line='871' column='1'/>
+          <var-decl name='acl' type-id='type-id-8782' visibility='default' filepath='include/net/cfg80211.h' line='871' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2112'>
-          <var-decl name='pbss' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='872' column='1'/>
+          <var-decl name='pbss' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='872' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2144'>
-          <var-decl name='beacon_rate' type-id='type-id-6423' visibility='default' filepath='include/net/cfg80211.h' line='873' column='1'/>
+          <var-decl name='beacon_rate' type-id='type-id-8783' visibility='default' filepath='include/net/cfg80211.h' line='873' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='3008'>
-          <var-decl name='ht_cap' type-id='type-id-6241' visibility='default' filepath='include/net/cfg80211.h' line='875' column='1'/>
+          <var-decl name='ht_cap' type-id='type-id-8606' visibility='default' filepath='include/net/cfg80211.h' line='875' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='3072'>
-          <var-decl name='vht_cap' type-id='type-id-6242' visibility='default' filepath='include/net/cfg80211.h' line='876' column='1'/>
+          <var-decl name='vht_cap' type-id='type-id-8607' visibility='default' filepath='include/net/cfg80211.h' line='876' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='3136'>
-          <var-decl name='ht_required' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='877' column='1'/>
+          <var-decl name='ht_required' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='877' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='3144'>
-          <var-decl name='vht_required' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='877' column='1'/>
+          <var-decl name='vht_required' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='877' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='cfg80211_beacon_data' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='779' column='1' id='type-id-6417'>
+      <class-decl name='cfg80211_beacon_data' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='779' column='1' id='type-id-8777'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='head' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='780' column='1'/>
+          <var-decl name='head' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='780' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='tail' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='780' column='1'/>
+          <var-decl name='tail' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='780' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='beacon_ies' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='781' column='1'/>
+          <var-decl name='beacon_ies' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='781' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='proberesp_ies' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='782' column='1'/>
+          <var-decl name='proberesp_ies' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='782' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='assocresp_ies' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='783' column='1'/>
+          <var-decl name='assocresp_ies' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='783' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='probe_resp' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='784' column='1'/>
+          <var-decl name='probe_resp' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='784' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='head_len' type-id='type-id-84' visibility='default' filepath='include/net/cfg80211.h' line='786' column='1'/>
+          <var-decl name='head_len' type-id='type-id-125' visibility='default' filepath='include/net/cfg80211.h' line='786' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='tail_len' type-id='type-id-84' visibility='default' filepath='include/net/cfg80211.h' line='786' column='1'/>
+          <var-decl name='tail_len' type-id='type-id-125' visibility='default' filepath='include/net/cfg80211.h' line='786' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='beacon_ies_len' type-id='type-id-84' visibility='default' filepath='include/net/cfg80211.h' line='787' column='1'/>
+          <var-decl name='beacon_ies_len' type-id='type-id-125' visibility='default' filepath='include/net/cfg80211.h' line='787' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='proberesp_ies_len' type-id='type-id-84' visibility='default' filepath='include/net/cfg80211.h' line='788' column='1'/>
+          <var-decl name='proberesp_ies_len' type-id='type-id-125' visibility='default' filepath='include/net/cfg80211.h' line='788' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='assocresp_ies_len' type-id='type-id-84' visibility='default' filepath='include/net/cfg80211.h' line='789' column='1'/>
+          <var-decl name='assocresp_ies_len' type-id='type-id-125' visibility='default' filepath='include/net/cfg80211.h' line='789' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='probe_resp_len' type-id='type-id-84' visibility='default' filepath='include/net/cfg80211.h' line='790' column='1'/>
+          <var-decl name='probe_resp_len' type-id='type-id-125' visibility='default' filepath='include/net/cfg80211.h' line='790' column='1'/>
         </data-member>
       </class-decl>
-      <enum-decl name='nl80211_hidden_ssid' filepath='include/uapi/linux/nl80211.h' line='4942' column='1' id='type-id-6418'>
-        <underlying-type type-id='type-id-94'/>
+      <enum-decl name='nl80211_hidden_ssid' filepath='include/uapi/linux/nl80211.h' line='4942' column='1' id='type-id-8778'>
+        <underlying-type type-id='type-id-182'/>
         <enumerator name='NL80211_HIDDEN_SSID_NOT_IN_USE' value='0'/>
         <enumerator name='NL80211_HIDDEN_SSID_ZERO_LEN' value='1'/>
         <enumerator name='NL80211_HIDDEN_SSID_ZERO_CONTENTS' value='2'/>
       </enum-decl>
-      <class-decl name='cfg80211_crypto_settings' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='744' column='1' id='type-id-6419'>
+      <class-decl name='cfg80211_crypto_settings' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='744' column='1' id='type-id-8779'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='wpa_versions' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='745' column='1'/>
+          <var-decl name='wpa_versions' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='745' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='cipher_group' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='746' column='1'/>
+          <var-decl name='cipher_group' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='746' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='n_ciphers_pairwise' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='747' column='1'/>
+          <var-decl name='n_ciphers_pairwise' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='747' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='ciphers_pairwise' type-id='type-id-1177' visibility='default' filepath='include/net/cfg80211.h' line='748' column='1'/>
+          <var-decl name='ciphers_pairwise' type-id='type-id-4815' visibility='default' filepath='include/net/cfg80211.h' line='748' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='n_akm_suites' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='749' column='1'/>
+          <var-decl name='n_akm_suites' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='749' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='akm_suites' type-id='type-id-6220' visibility='default' filepath='include/net/cfg80211.h' line='750' column='1'/>
+          <var-decl name='akm_suites' type-id='type-id-2088' visibility='default' filepath='include/net/cfg80211.h' line='750' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='control_port' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='751' column='1'/>
+          <var-decl name='control_port' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='751' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='368'>
-          <var-decl name='control_port_ethertype' type-id='type-id-926' visibility='default' filepath='include/net/cfg80211.h' line='752' column='1'/>
+          <var-decl name='control_port_ethertype' type-id='type-id-3573' visibility='default' filepath='include/net/cfg80211.h' line='752' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='control_port_no_encrypt' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='753' column='1'/>
+          <var-decl name='control_port_no_encrypt' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='753' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='392'>
-          <var-decl name='control_port_over_nl80211' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='754' column='1'/>
+          <var-decl name='control_port_over_nl80211' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='754' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='wep_keys' type-id='type-id-6424' visibility='default' filepath='include/net/cfg80211.h' line='755' column='1'/>
+          <var-decl name='wep_keys' type-id='type-id-8784' visibility='default' filepath='include/net/cfg80211.h' line='755' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='wep_tx_key' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='756' column='1'/>
+          <var-decl name='wep_tx_key' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='756' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='psk' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='757' column='1'/>
+          <var-decl name='psk' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='757' column='1'/>
         </data-member>
       </class-decl>
-      <enum-decl name='nl80211_auth_type' filepath='include/uapi/linux/nl80211.h' line='4190' column='1' id='type-id-6420'>
-        <underlying-type type-id='type-id-94'/>
+      <enum-decl name='nl80211_auth_type' filepath='include/uapi/linux/nl80211.h' line='4190' column='1' id='type-id-8780'>
+        <underlying-type type-id='type-id-182'/>
         <enumerator name='NL80211_AUTHTYPE_OPEN_SYSTEM' value='0'/>
         <enumerator name='NL80211_AUTHTYPE_SHARED_KEY' value='1'/>
         <enumerator name='NL80211_AUTHTYPE_FT' value='2'/>
@@ -55808,143 +84325,143 @@
         <enumerator name='NL80211_AUTHTYPE_MAX' value='7'/>
         <enumerator name='NL80211_AUTHTYPE_AUTOMATIC' value='8'/>
       </enum-decl>
-      <enum-decl name='nl80211_smps_mode' filepath='include/uapi/linux/nl80211.h' line='5418' column='1' id='type-id-6421'>
-        <underlying-type type-id='type-id-94'/>
+      <enum-decl name='nl80211_smps_mode' filepath='include/uapi/linux/nl80211.h' line='5418' column='1' id='type-id-8781'>
+        <underlying-type type-id='type-id-182'/>
         <enumerator name='NL80211_SMPS_OFF' value='0'/>
         <enumerator name='NL80211_SMPS_STATIC' value='1'/>
         <enumerator name='NL80211_SMPS_DYNAMIC' value='2'/>
         <enumerator name='__NL80211_SMPS_AFTER_LAST' value='3'/>
         <enumerator name='NL80211_SMPS_MAX' value='2'/>
       </enum-decl>
-      <class-decl name='cfg80211_acl_data' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='805' column='1' id='type-id-6425'>
+      <class-decl name='cfg80211_acl_data' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='805' column='1' id='type-id-8785'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='acl_policy' type-id='type-id-6426' visibility='default' filepath='include/net/cfg80211.h' line='806' column='1'/>
+          <var-decl name='acl_policy' type-id='type-id-8786' visibility='default' filepath='include/net/cfg80211.h' line='806' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='n_acl_entries' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='807' column='1'/>
+          <var-decl name='n_acl_entries' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='807' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='mac_addrs' type-id='type-id-6216' visibility='default' filepath='include/net/cfg80211.h' line='810' column='1'/>
+          <var-decl name='mac_addrs' type-id='type-id-8583' visibility='default' filepath='include/net/cfg80211.h' line='810' column='1'/>
         </data-member>
       </class-decl>
-      <enum-decl name='nl80211_acl_policy' filepath='include/uapi/linux/nl80211.h' line='5403' column='1' id='type-id-6426'>
-        <underlying-type type-id='type-id-94'/>
+      <enum-decl name='nl80211_acl_policy' filepath='include/uapi/linux/nl80211.h' line='5403' column='1' id='type-id-8786'>
+        <underlying-type type-id='type-id-182'/>
         <enumerator name='NL80211_ACL_POLICY_ACCEPT_UNLESS_LISTED' value='0'/>
         <enumerator name='NL80211_ACL_POLICY_DENY_UNLESS_LISTED' value='1'/>
       </enum-decl>
-      <class-decl name='cfg80211_bitrate_mask' size-in-bits='864' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='816' column='1' id='type-id-6423'>
+      <class-decl name='cfg80211_bitrate_mask' size-in-bits='864' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='816' column='1' id='type-id-8783'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='control' type-id='type-id-6198' visibility='default' filepath='include/net/cfg80211.h' line='822' column='1'/>
+          <var-decl name='control' type-id='type-id-8565' visibility='default' filepath='include/net/cfg80211.h' line='822' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='__anonymous_struct__2' size-in-bits='288' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/net/cfg80211.h' line='817' column='1' id='type-id-6197'>
+      <class-decl name='__anonymous_struct__2' size-in-bits='288' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/net/cfg80211.h' line='817' column='1' id='type-id-8564'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='legacy' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='818' column='1'/>
+          <var-decl name='legacy' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='818' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='ht_mcs' type-id='type-id-6222' visibility='default' filepath='include/net/cfg80211.h' line='819' column='1'/>
+          <var-decl name='ht_mcs' type-id='type-id-8588' visibility='default' filepath='include/net/cfg80211.h' line='819' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='112'>
-          <var-decl name='vht_mcs' type-id='type-id-6219' visibility='default' filepath='include/net/cfg80211.h' line='820' column='1'/>
+          <var-decl name='vht_mcs' type-id='type-id-8586' visibility='default' filepath='include/net/cfg80211.h' line='820' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='gi' type-id='type-id-6427' visibility='default' filepath='include/net/cfg80211.h' line='821' column='1'/>
+          <var-decl name='gi' type-id='type-id-8787' visibility='default' filepath='include/net/cfg80211.h' line='821' column='1'/>
         </data-member>
       </class-decl>
-      <enum-decl name='nl80211_txrate_gi' filepath='include/uapi/linux/nl80211.h' line='4331' column='1' id='type-id-6427'>
-        <underlying-type type-id='type-id-94'/>
+      <enum-decl name='nl80211_txrate_gi' filepath='include/uapi/linux/nl80211.h' line='4331' column='1' id='type-id-8787'>
+        <underlying-type type-id='type-id-182'/>
         <enumerator name='NL80211_TXRATE_DEFAULT_GI' value='0'/>
         <enumerator name='NL80211_TXRATE_FORCE_SGI' value='1'/>
         <enumerator name='NL80211_TXRATE_FORCE_LGI' value='2'/>
       </enum-decl>
-      <class-decl name='station_parameters' size-in-bits='1088' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='992' column='1' id='type-id-6428'>
+      <class-decl name='station_parameters' size-in-bits='1088' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='992' column='1' id='type-id-8788'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='supported_rates' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='993' column='1'/>
+          <var-decl name='supported_rates' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='993' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='vlan' type-id='type-id-1650' visibility='default' filepath='include/net/cfg80211.h' line='994' column='1'/>
+          <var-decl name='vlan' type-id='type-id-2976' visibility='default' filepath='include/net/cfg80211.h' line='994' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='sta_flags_mask' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='995' column='1'/>
+          <var-decl name='sta_flags_mask' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='995' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='sta_flags_set' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='995' column='1'/>
+          <var-decl name='sta_flags_set' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='995' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='sta_modify_mask' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='996' column='1'/>
+          <var-decl name='sta_modify_mask' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='996' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='listen_interval' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='997' column='1'/>
+          <var-decl name='listen_interval' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='997' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='aid' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='998' column='1'/>
+          <var-decl name='aid' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='998' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='272'>
-          <var-decl name='peer_aid' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='999' column='1'/>
+          <var-decl name='peer_aid' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='999' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='supported_rates_len' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1000' column='1'/>
+          <var-decl name='supported_rates_len' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1000' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='296'>
-          <var-decl name='plink_action' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1001' column='1'/>
+          <var-decl name='plink_action' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1001' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='304'>
-          <var-decl name='plink_state' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1002' column='1'/>
+          <var-decl name='plink_state' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1002' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='ht_capa' type-id='type-id-6241' visibility='default' filepath='include/net/cfg80211.h' line='1003' column='1'/>
+          <var-decl name='ht_capa' type-id='type-id-8606' visibility='default' filepath='include/net/cfg80211.h' line='1003' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='vht_capa' type-id='type-id-6242' visibility='default' filepath='include/net/cfg80211.h' line='1004' column='1'/>
+          <var-decl name='vht_capa' type-id='type-id-8607' visibility='default' filepath='include/net/cfg80211.h' line='1004' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='uapsd_queues' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1005' column='1'/>
+          <var-decl name='uapsd_queues' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1005' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='456'>
-          <var-decl name='max_sp' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1006' column='1'/>
+          <var-decl name='max_sp' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1006' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='local_pm' type-id='type-id-6429' visibility='default' filepath='include/net/cfg80211.h' line='1007' column='1'/>
+          <var-decl name='local_pm' type-id='type-id-8789' visibility='default' filepath='include/net/cfg80211.h' line='1007' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='capability' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='1008' column='1'/>
+          <var-decl name='capability' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='1008' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='ext_capab' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='1009' column='1'/>
+          <var-decl name='ext_capab' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='1009' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='ext_capab_len' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1010' column='1'/>
+          <var-decl name='ext_capab_len' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1010' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='supported_channels' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='1011' column='1'/>
+          <var-decl name='supported_channels' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='1011' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='supported_channels_len' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1012' column='1'/>
+          <var-decl name='supported_channels_len' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1012' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='supported_oper_classes' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='1013' column='1'/>
+          <var-decl name='supported_oper_classes' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='1013' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='supported_oper_classes_len' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1014' column='1'/>
+          <var-decl name='supported_oper_classes_len' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1014' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='904'>
-          <var-decl name='opmode_notif' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1015' column='1'/>
+          <var-decl name='opmode_notif' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1015' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='912'>
-          <var-decl name='opmode_notif_used' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='1016' column='1'/>
+          <var-decl name='opmode_notif_used' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='1016' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='928'>
-          <var-decl name='support_p2p_ps' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='1017' column='1'/>
+          <var-decl name='support_p2p_ps' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='1017' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='he_capa' type-id='type-id-6430' visibility='default' filepath='include/net/cfg80211.h' line='1018' column='1'/>
+          <var-decl name='he_capa' type-id='type-id-8790' visibility='default' filepath='include/net/cfg80211.h' line='1018' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='he_capa_len' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1019' column='1'/>
+          <var-decl name='he_capa_len' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1019' column='1'/>
         </data-member>
       </class-decl>
-      <enum-decl name='nl80211_mesh_power_mode' filepath='include/uapi/linux/nl80211.h' line='3754' column='1' id='type-id-6429'>
-        <underlying-type type-id='type-id-94'/>
+      <enum-decl name='nl80211_mesh_power_mode' filepath='include/uapi/linux/nl80211.h' line='3754' column='1' id='type-id-8789'>
+        <underlying-type type-id='type-id-182'/>
         <enumerator name='NL80211_MESH_POWER_UNKNOWN' value='0'/>
         <enumerator name='NL80211_MESH_POWER_ACTIVE' value='1'/>
         <enumerator name='NL80211_MESH_POWER_LIGHT_SLEEP' value='2'/>
@@ -55952,760 +84469,760 @@
         <enumerator name='__NL80211_MESH_POWER_AFTER_LAST' value='4'/>
         <enumerator name='NL80211_MESH_POWER_MAX' value='3'/>
       </enum-decl>
-      <class-decl name='station_del_parameters' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1032' column='1' id='type-id-6431'>
+      <class-decl name='station_del_parameters' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1032' column='1' id='type-id-8791'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mac' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='1033' column='1'/>
+          <var-decl name='mac' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='1033' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='subtype' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1034' column='1'/>
+          <var-decl name='subtype' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1034' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='80'>
-          <var-decl name='reason_code' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='1035' column='1'/>
+          <var-decl name='reason_code' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='1035' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='station_info' size-in-bits='1536' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1294' column='1' id='type-id-6432'>
+      <class-decl name='station_info' size-in-bits='1536' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1294' column='1' id='type-id-8792'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='filled' type-id='type-id-40' visibility='default' filepath='include/net/cfg80211.h' line='1295' column='1'/>
+          <var-decl name='filled' type-id='type-id-134' visibility='default' filepath='include/net/cfg80211.h' line='1295' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='connected_time' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1296' column='1'/>
+          <var-decl name='connected_time' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1296' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='inactive_time' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1297' column='1'/>
+          <var-decl name='inactive_time' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1297' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='rx_bytes' type-id='type-id-40' visibility='default' filepath='include/net/cfg80211.h' line='1298' column='1'/>
+          <var-decl name='rx_bytes' type-id='type-id-134' visibility='default' filepath='include/net/cfg80211.h' line='1298' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='tx_bytes' type-id='type-id-40' visibility='default' filepath='include/net/cfg80211.h' line='1299' column='1'/>
+          <var-decl name='tx_bytes' type-id='type-id-134' visibility='default' filepath='include/net/cfg80211.h' line='1299' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='llid' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='1300' column='1'/>
+          <var-decl name='llid' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='1300' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='272'>
-          <var-decl name='plid' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='1301' column='1'/>
+          <var-decl name='plid' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='1301' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='plink_state' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1302' column='1'/>
+          <var-decl name='plink_state' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1302' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='296'>
-          <var-decl name='signal' type-id='type-id-209' visibility='default' filepath='include/net/cfg80211.h' line='1303' column='1'/>
+          <var-decl name='signal' type-id='type-id-4809' visibility='default' filepath='include/net/cfg80211.h' line='1303' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='304'>
-          <var-decl name='signal_avg' type-id='type-id-209' visibility='default' filepath='include/net/cfg80211.h' line='1304' column='1'/>
+          <var-decl name='signal_avg' type-id='type-id-4809' visibility='default' filepath='include/net/cfg80211.h' line='1304' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='312'>
-          <var-decl name='chains' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1306' column='1'/>
+          <var-decl name='chains' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1306' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='chain_signal' type-id='type-id-6218' visibility='default' filepath='include/net/cfg80211.h' line='1307' column='1'/>
+          <var-decl name='chain_signal' type-id='type-id-8585' visibility='default' filepath='include/net/cfg80211.h' line='1307' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='chain_signal_avg' type-id='type-id-6218' visibility='default' filepath='include/net/cfg80211.h' line='1308' column='1'/>
+          <var-decl name='chain_signal_avg' type-id='type-id-8585' visibility='default' filepath='include/net/cfg80211.h' line='1308' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='txrate' type-id='type-id-6433' visibility='default' filepath='include/net/cfg80211.h' line='1310' column='1'/>
+          <var-decl name='txrate' type-id='type-id-8793' visibility='default' filepath='include/net/cfg80211.h' line='1310' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='464'>
-          <var-decl name='rxrate' type-id='type-id-6433' visibility='default' filepath='include/net/cfg80211.h' line='1311' column='1'/>
+          <var-decl name='rxrate' type-id='type-id-8793' visibility='default' filepath='include/net/cfg80211.h' line='1311' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='rx_packets' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1312' column='1'/>
+          <var-decl name='rx_packets' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1312' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='tx_packets' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1313' column='1'/>
+          <var-decl name='tx_packets' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1313' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='tx_retries' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1314' column='1'/>
+          <var-decl name='tx_retries' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1314' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='tx_failed' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1315' column='1'/>
+          <var-decl name='tx_failed' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1315' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='672'>
-          <var-decl name='rx_dropped_misc' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1316' column='1'/>
+          <var-decl name='rx_dropped_misc' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1316' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='bss_param' type-id='type-id-6434' visibility='default' filepath='include/net/cfg80211.h' line='1317' column='1'/>
+          <var-decl name='bss_param' type-id='type-id-8794' visibility='default' filepath='include/net/cfg80211.h' line='1317' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='736'>
-          <var-decl name='sta_flags' type-id='type-id-6435' visibility='default' filepath='include/net/cfg80211.h' line='1318' column='1'/>
+          <var-decl name='sta_flags' type-id='type-id-8795' visibility='default' filepath='include/net/cfg80211.h' line='1318' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='800'>
-          <var-decl name='generation' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='1320' column='1'/>
+          <var-decl name='generation' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='1320' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='assoc_req_ies' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='1322' column='1'/>
+          <var-decl name='assoc_req_ies' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='1322' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='assoc_req_ies_len' type-id='type-id-84' visibility='default' filepath='include/net/cfg80211.h' line='1323' column='1'/>
+          <var-decl name='assoc_req_ies_len' type-id='type-id-125' visibility='default' filepath='include/net/cfg80211.h' line='1323' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='beacon_loss_count' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1325' column='1'/>
+          <var-decl name='beacon_loss_count' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1325' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='t_offset' type-id='type-id-1548' visibility='default' filepath='include/net/cfg80211.h' line='1326' column='1'/>
+          <var-decl name='t_offset' type-id='type-id-581' visibility='default' filepath='include/net/cfg80211.h' line='1326' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='local_pm' type-id='type-id-6429' visibility='default' filepath='include/net/cfg80211.h' line='1327' column='1'/>
+          <var-decl name='local_pm' type-id='type-id-8789' visibility='default' filepath='include/net/cfg80211.h' line='1327' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1120'>
-          <var-decl name='peer_pm' type-id='type-id-6429' visibility='default' filepath='include/net/cfg80211.h' line='1328' column='1'/>
+          <var-decl name='peer_pm' type-id='type-id-8789' visibility='default' filepath='include/net/cfg80211.h' line='1328' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='nonpeer_pm' type-id='type-id-6429' visibility='default' filepath='include/net/cfg80211.h' line='1329' column='1'/>
+          <var-decl name='nonpeer_pm' type-id='type-id-8789' visibility='default' filepath='include/net/cfg80211.h' line='1329' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1184'>
-          <var-decl name='expected_throughput' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1331' column='1'/>
+          <var-decl name='expected_throughput' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1331' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1216'>
-          <var-decl name='rx_beacon' type-id='type-id-40' visibility='default' filepath='include/net/cfg80211.h' line='1333' column='1'/>
+          <var-decl name='rx_beacon' type-id='type-id-134' visibility='default' filepath='include/net/cfg80211.h' line='1333' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='rx_duration' type-id='type-id-40' visibility='default' filepath='include/net/cfg80211.h' line='1334' column='1'/>
+          <var-decl name='rx_duration' type-id='type-id-134' visibility='default' filepath='include/net/cfg80211.h' line='1334' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='rx_beacon_signal_avg' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1335' column='1'/>
+          <var-decl name='rx_beacon_signal_avg' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1335' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='pertid' type-id='type-id-6436' visibility='default' filepath='include/net/cfg80211.h' line='1336' column='1'/>
+          <var-decl name='pertid' type-id='type-id-8796' visibility='default' filepath='include/net/cfg80211.h' line='1336' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='ack_signal' type-id='type-id-209' visibility='default' filepath='include/net/cfg80211.h' line='1337' column='1'/>
+          <var-decl name='ack_signal' type-id='type-id-4809' visibility='default' filepath='include/net/cfg80211.h' line='1337' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1480'>
-          <var-decl name='avg_ack_signal' type-id='type-id-209' visibility='default' filepath='include/net/cfg80211.h' line='1338' column='1'/>
+          <var-decl name='avg_ack_signal' type-id='type-id-4809' visibility='default' filepath='include/net/cfg80211.h' line='1338' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='rate_info' size-in-bits='80' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1142' column='1' id='type-id-6433'>
+      <class-decl name='rate_info' size-in-bits='80' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1142' column='1' id='type-id-8793'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='flags' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1143' column='1'/>
+          <var-decl name='flags' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1143' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='mcs' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1144' column='1'/>
+          <var-decl name='mcs' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1144' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='legacy' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='1145' column='1'/>
+          <var-decl name='legacy' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='1145' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='nss' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1146' column='1'/>
+          <var-decl name='nss' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1146' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='40'>
-          <var-decl name='bw' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1147' column='1'/>
+          <var-decl name='bw' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1147' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='he_gi' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1148' column='1'/>
+          <var-decl name='he_gi' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1148' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='56'>
-          <var-decl name='he_dcm' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1149' column='1'/>
+          <var-decl name='he_dcm' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1149' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='he_ru_alloc' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1150' column='1'/>
+          <var-decl name='he_ru_alloc' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1150' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='sta_bss_parameters' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1178' column='1' id='type-id-6434'>
+      <class-decl name='sta_bss_parameters' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1178' column='1' id='type-id-8794'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='flags' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1179' column='1'/>
+          <var-decl name='flags' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1179' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='dtim_period' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1180' column='1'/>
+          <var-decl name='dtim_period' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1180' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='beacon_interval' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='1181' column='1'/>
+          <var-decl name='beacon_interval' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='1181' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='nl80211_sta_flag_update' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/linux/nl80211.h' line='2857' column='1' id='type-id-6435'>
+      <class-decl name='nl80211_sta_flag_update' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/linux/nl80211.h' line='2857' column='1' id='type-id-8795'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='mask' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/nl80211.h' line='2858' column='1'/>
+          <var-decl name='mask' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/nl80211.h' line='2858' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='set' type-id='type-id-511' visibility='default' filepath='include/uapi/linux/nl80211.h' line='2859' column='1'/>
+          <var-decl name='set' type-id='type-id-266' visibility='default' filepath='include/uapi/linux/nl80211.h' line='2859' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='cfg80211_tid_stats' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1226' column='1' id='type-id-6437'>
+      <class-decl name='cfg80211_tid_stats' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1226' column='1' id='type-id-8797'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='filled' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1227' column='1'/>
+          <var-decl name='filled' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1227' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='rx_msdu' type-id='type-id-40' visibility='default' filepath='include/net/cfg80211.h' line='1228' column='1'/>
+          <var-decl name='rx_msdu' type-id='type-id-134' visibility='default' filepath='include/net/cfg80211.h' line='1228' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='tx_msdu' type-id='type-id-40' visibility='default' filepath='include/net/cfg80211.h' line='1229' column='1'/>
+          <var-decl name='tx_msdu' type-id='type-id-134' visibility='default' filepath='include/net/cfg80211.h' line='1229' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='tx_msdu_retries' type-id='type-id-40' visibility='default' filepath='include/net/cfg80211.h' line='1230' column='1'/>
+          <var-decl name='tx_msdu_retries' type-id='type-id-134' visibility='default' filepath='include/net/cfg80211.h' line='1230' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='tx_msdu_failed' type-id='type-id-40' visibility='default' filepath='include/net/cfg80211.h' line='1231' column='1'/>
+          <var-decl name='tx_msdu_failed' type-id='type-id-134' visibility='default' filepath='include/net/cfg80211.h' line='1231' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='txq_stats' type-id='type-id-6438' visibility='default' filepath='include/net/cfg80211.h' line='1232' column='1'/>
+          <var-decl name='txq_stats' type-id='type-id-8798' visibility='default' filepath='include/net/cfg80211.h' line='1232' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='cfg80211_txq_stats' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1200' column='1' id='type-id-6438'>
+      <class-decl name='cfg80211_txq_stats' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1200' column='1' id='type-id-8798'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='filled' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1201' column='1'/>
+          <var-decl name='filled' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1201' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='backlog_bytes' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1202' column='1'/>
+          <var-decl name='backlog_bytes' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1202' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='backlog_packets' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1203' column='1'/>
+          <var-decl name='backlog_packets' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1203' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='flows' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1204' column='1'/>
+          <var-decl name='flows' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1204' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='drops' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1205' column='1'/>
+          <var-decl name='drops' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1205' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='ecn_marks' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1206' column='1'/>
+          <var-decl name='ecn_marks' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1206' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='overlimit' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1207' column='1'/>
+          <var-decl name='overlimit' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1207' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='overmemory' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1208' column='1'/>
+          <var-decl name='overmemory' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1208' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='collisions' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1209' column='1'/>
+          <var-decl name='collisions' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1209' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='tx_bytes' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1210' column='1'/>
+          <var-decl name='tx_bytes' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1210' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='tx_packets' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1211' column='1'/>
+          <var-decl name='tx_packets' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1211' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='max_flows' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1212' column='1'/>
+          <var-decl name='max_flows' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1212' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='mpath_info' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1429' column='1' id='type-id-6439'>
+      <class-decl name='mpath_info' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1429' column='1' id='type-id-8799'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='filled' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1430' column='1'/>
+          <var-decl name='filled' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1430' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='frame_qlen' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1431' column='1'/>
+          <var-decl name='frame_qlen' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1431' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='sn' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1432' column='1'/>
+          <var-decl name='sn' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1432' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='metric' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1433' column='1'/>
+          <var-decl name='metric' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1433' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='exptime' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1434' column='1'/>
+          <var-decl name='exptime' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1434' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='discovery_timeout' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1435' column='1'/>
+          <var-decl name='discovery_timeout' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1435' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='discovery_retries' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1436' column='1'/>
+          <var-decl name='discovery_retries' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1436' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='200'>
-          <var-decl name='flags' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1437' column='1'/>
+          <var-decl name='flags' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1437' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='generation' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='1439' column='1'/>
+          <var-decl name='generation' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='1439' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='mesh_config' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1543' column='1' id='type-id-6440'>
+      <class-decl name='mesh_config' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1543' column='1' id='type-id-8800'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dot11MeshRetryTimeout' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='1544' column='1'/>
+          <var-decl name='dot11MeshRetryTimeout' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='1544' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='16'>
-          <var-decl name='dot11MeshConfirmTimeout' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='1545' column='1'/>
+          <var-decl name='dot11MeshConfirmTimeout' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='1545' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='dot11MeshHoldingTimeout' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='1546' column='1'/>
+          <var-decl name='dot11MeshHoldingTimeout' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='1546' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='dot11MeshMaxPeerLinks' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='1547' column='1'/>
+          <var-decl name='dot11MeshMaxPeerLinks' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='1547' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='dot11MeshMaxRetries' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1548' column='1'/>
+          <var-decl name='dot11MeshMaxRetries' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1548' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='72'>
-          <var-decl name='dot11MeshTTL' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1549' column='1'/>
+          <var-decl name='dot11MeshTTL' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1549' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='80'>
-          <var-decl name='element_ttl' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1550' column='1'/>
+          <var-decl name='element_ttl' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1550' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='88'>
-          <var-decl name='auto_open_plinks' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='1551' column='1'/>
+          <var-decl name='auto_open_plinks' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='1551' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='dot11MeshNbrOffsetMaxNeighbor' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1552' column='1'/>
+          <var-decl name='dot11MeshNbrOffsetMaxNeighbor' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1552' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='dot11MeshHWMPmaxPREQretries' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1553' column='1'/>
+          <var-decl name='dot11MeshHWMPmaxPREQretries' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1553' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='160'>
-          <var-decl name='path_refresh_time' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1554' column='1'/>
+          <var-decl name='path_refresh_time' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1554' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='min_discovery_timeout' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='1555' column='1'/>
+          <var-decl name='min_discovery_timeout' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='1555' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='dot11MeshHWMPactivePathTimeout' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1556' column='1'/>
+          <var-decl name='dot11MeshHWMPactivePathTimeout' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1556' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='dot11MeshHWMPpreqMinInterval' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='1557' column='1'/>
+          <var-decl name='dot11MeshHWMPpreqMinInterval' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='1557' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='272'>
-          <var-decl name='dot11MeshHWMPperrMinInterval' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='1558' column='1'/>
+          <var-decl name='dot11MeshHWMPperrMinInterval' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='1558' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='dot11MeshHWMPnetDiameterTraversalTime' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='1559' column='1'/>
+          <var-decl name='dot11MeshHWMPnetDiameterTraversalTime' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='1559' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='304'>
-          <var-decl name='dot11MeshHWMPRootMode' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1560' column='1'/>
+          <var-decl name='dot11MeshHWMPRootMode' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1560' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='dot11MeshHWMPRannInterval' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='1561' column='1'/>
+          <var-decl name='dot11MeshHWMPRannInterval' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='1561' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='336'>
-          <var-decl name='dot11MeshGateAnnouncementProtocol' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='1562' column='1'/>
+          <var-decl name='dot11MeshGateAnnouncementProtocol' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='1562' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='344'>
-          <var-decl name='dot11MeshForwarding' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='1563' column='1'/>
+          <var-decl name='dot11MeshForwarding' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='1563' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='rssi_threshold' type-id='type-id-738' visibility='default' filepath='include/net/cfg80211.h' line='1564' column='1'/>
+          <var-decl name='rssi_threshold' type-id='type-id-939' visibility='default' filepath='include/net/cfg80211.h' line='1564' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='ht_opmode' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='1565' column='1'/>
+          <var-decl name='ht_opmode' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='1565' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='dot11MeshHWMPactivePathToRootTimeout' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1566' column='1'/>
+          <var-decl name='dot11MeshHWMPactivePathToRootTimeout' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1566' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='dot11MeshHWMProotInterval' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='1567' column='1'/>
+          <var-decl name='dot11MeshHWMProotInterval' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='1567' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='464'>
-          <var-decl name='dot11MeshHWMPconfirmationInterval' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='1568' column='1'/>
+          <var-decl name='dot11MeshHWMPconfirmationInterval' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='1568' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='power_mode' type-id='type-id-6429' visibility='default' filepath='include/net/cfg80211.h' line='1569' column='1'/>
+          <var-decl name='power_mode' type-id='type-id-8789' visibility='default' filepath='include/net/cfg80211.h' line='1569' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='dot11MeshAwakeWindowDuration' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='1570' column='1'/>
+          <var-decl name='dot11MeshAwakeWindowDuration' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='1570' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='plink_timeout' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1571' column='1'/>
+          <var-decl name='plink_timeout' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1571' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='mesh_setup' size-in-bits='1472' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1601' column='1' id='type-id-6441'>
+      <class-decl name='mesh_setup' size-in-bits='1472' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1601' column='1' id='type-id-8801'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='chandef' type-id='type-id-6282' visibility='default' filepath='include/net/cfg80211.h' line='1602' column='1'/>
+          <var-decl name='chandef' type-id='type-id-8646' visibility='default' filepath='include/net/cfg80211.h' line='1602' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='mesh_id' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='1603' column='1'/>
+          <var-decl name='mesh_id' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='1603' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='mesh_id_len' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1604' column='1'/>
+          <var-decl name='mesh_id_len' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1604' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='264'>
-          <var-decl name='sync_method' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1605' column='1'/>
+          <var-decl name='sync_method' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1605' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='272'>
-          <var-decl name='path_sel_proto' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1606' column='1'/>
+          <var-decl name='path_sel_proto' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1606' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='280'>
-          <var-decl name='path_metric' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1607' column='1'/>
+          <var-decl name='path_metric' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1607' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='auth_id' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1608' column='1'/>
+          <var-decl name='auth_id' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1608' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='ie' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='1609' column='1'/>
+          <var-decl name='ie' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='1609' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='ie_len' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1610' column='1'/>
+          <var-decl name='ie_len' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1610' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='392'>
-          <var-decl name='is_authenticated' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='1611' column='1'/>
+          <var-decl name='is_authenticated' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='1611' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='400'>
-          <var-decl name='is_secure' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='1612' column='1'/>
+          <var-decl name='is_secure' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='1612' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='408'>
-          <var-decl name='user_mpm' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='1613' column='1'/>
+          <var-decl name='user_mpm' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='1613' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='dtim_period' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1614' column='1'/>
+          <var-decl name='dtim_period' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1614' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='432'>
-          <var-decl name='beacon_interval' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='1615' column='1'/>
+          <var-decl name='beacon_interval' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='1615' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='mcast_rate' type-id='type-id-1133' visibility='default' filepath='include/net/cfg80211.h' line='1616' column='1'/>
+          <var-decl name='mcast_rate' type-id='type-id-7451' visibility='default' filepath='include/net/cfg80211.h' line='1616' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='544'>
-          <var-decl name='basic_rates' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1617' column='1'/>
+          <var-decl name='basic_rates' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1617' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='beacon_rate' type-id='type-id-6423' visibility='default' filepath='include/net/cfg80211.h' line='1618' column='1'/>
+          <var-decl name='beacon_rate' type-id='type-id-8783' visibility='default' filepath='include/net/cfg80211.h' line='1618' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1440'>
-          <var-decl name='userspace_handles_dfs' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='1619' column='1'/>
+          <var-decl name='userspace_handles_dfs' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='1619' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1448'>
-          <var-decl name='control_port_over_nl80211' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='1620' column='1'/>
+          <var-decl name='control_port_over_nl80211' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='1620' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='ocb_setup' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1629' column='1' id='type-id-6442'>
+      <class-decl name='ocb_setup' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1629' column='1' id='type-id-8802'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='chandef' type-id='type-id-6282' visibility='default' filepath='include/net/cfg80211.h' line='1630' column='1'/>
+          <var-decl name='chandef' type-id='type-id-8646' visibility='default' filepath='include/net/cfg80211.h' line='1630' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='bss_parameters' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1462' column='1' id='type-id-6443'>
+      <class-decl name='bss_parameters' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1462' column='1' id='type-id-8803'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='use_cts_prot' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='1463' column='1'/>
+          <var-decl name='use_cts_prot' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='1463' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='use_short_preamble' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='1464' column='1'/>
+          <var-decl name='use_short_preamble' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='1464' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='use_short_slot_time' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='1465' column='1'/>
+          <var-decl name='use_short_slot_time' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='1465' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='basic_rates' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='1466' column='1'/>
+          <var-decl name='basic_rates' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='1466' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='basic_rates_len' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1467' column='1'/>
+          <var-decl name='basic_rates_len' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1467' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='224'>
-          <var-decl name='ap_isolate' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='1468' column='1'/>
+          <var-decl name='ap_isolate' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='1468' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='ht_opmode' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='1469' column='1'/>
+          <var-decl name='ht_opmode' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='1469' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='p2p_ctwindow' type-id='type-id-209' visibility='default' filepath='include/net/cfg80211.h' line='1470' column='1'/>
+          <var-decl name='p2p_ctwindow' type-id='type-id-4809' visibility='default' filepath='include/net/cfg80211.h' line='1470' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='296'>
-          <var-decl name='p2p_opp_ps' type-id='type-id-209' visibility='default' filepath='include/net/cfg80211.h' line='1470' column='1'/>
+          <var-decl name='p2p_opp_ps' type-id='type-id-4809' visibility='default' filepath='include/net/cfg80211.h' line='1470' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='ieee80211_txq_params' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1643' column='1' id='type-id-6444'>
+      <class-decl name='ieee80211_txq_params' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1643' column='1' id='type-id-8804'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ac' type-id='type-id-6445' visibility='default' filepath='include/net/cfg80211.h' line='1644' column='1'/>
+          <var-decl name='ac' type-id='type-id-8805' visibility='default' filepath='include/net/cfg80211.h' line='1644' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='txop' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='1645' column='1'/>
+          <var-decl name='txop' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='1645' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='48'>
-          <var-decl name='cwmin' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='1646' column='1'/>
+          <var-decl name='cwmin' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='1646' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='cwmax' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='1647' column='1'/>
+          <var-decl name='cwmax' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='1647' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='80'>
-          <var-decl name='aifs' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1648' column='1'/>
+          <var-decl name='aifs' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1648' column='1'/>
         </data-member>
       </class-decl>
-      <enum-decl name='nl80211_ac' filepath='include/uapi/linux/nl80211.h' line='4000' column='1' id='type-id-6445'>
-        <underlying-type type-id='type-id-94'/>
+      <enum-decl name='nl80211_ac' filepath='include/uapi/linux/nl80211.h' line='4000' column='1' id='type-id-8805'>
+        <underlying-type type-id='type-id-182'/>
         <enumerator name='NL80211_AC_VO' value='0'/>
         <enumerator name='NL80211_AC_VI' value='1'/>
         <enumerator name='NL80211_AC_BE' value='2'/>
         <enumerator name='NL80211_AC_BK' value='3'/>
         <enumerator name='NL80211_NUM_ACS' value='4'/>
       </enum-decl>
-      <class-decl name='cfg80211_scan_request' size-in-bits='1088' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1728' column='1' id='type-id-6446'>
+      <class-decl name='cfg80211_scan_request' size-in-bits='1088' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1728' column='1' id='type-id-8806'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ssids' type-id='type-id-6266' visibility='default' filepath='include/net/cfg80211.h' line='1729' column='1'/>
+          <var-decl name='ssids' type-id='type-id-8630' visibility='default' filepath='include/net/cfg80211.h' line='1729' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='n_ssids' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='1730' column='1'/>
+          <var-decl name='n_ssids' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='1730' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='n_channels' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1731' column='1'/>
+          <var-decl name='n_channels' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1731' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='scan_width' type-id='type-id-6267' visibility='default' filepath='include/net/cfg80211.h' line='1732' column='1'/>
+          <var-decl name='scan_width' type-id='type-id-8631' visibility='default' filepath='include/net/cfg80211.h' line='1732' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='ie' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='1733' column='1'/>
+          <var-decl name='ie' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='1733' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='ie_len' type-id='type-id-84' visibility='default' filepath='include/net/cfg80211.h' line='1734' column='1'/>
+          <var-decl name='ie_len' type-id='type-id-125' visibility='default' filepath='include/net/cfg80211.h' line='1734' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='duration' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='1735' column='1'/>
+          <var-decl name='duration' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='1735' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='336'>
-          <var-decl name='duration_mandatory' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='1736' column='1'/>
+          <var-decl name='duration_mandatory' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='1736' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='flags' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='1737' column='1'/>
+          <var-decl name='flags' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='1737' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='rates' type-id='type-id-6221' visibility='default' filepath='include/net/cfg80211.h' line='1739' column='1'/>
+          <var-decl name='rates' type-id='type-id-8587' visibility='default' filepath='include/net/cfg80211.h' line='1739' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='wdev' type-id='type-id-6447' visibility='default' filepath='include/net/cfg80211.h' line='1741' column='1'/>
+          <var-decl name='wdev' type-id='type-id-8807' visibility='default' filepath='include/net/cfg80211.h' line='1741' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='mac_addr' type-id='type-id-6229' visibility='default' filepath='include/net/cfg80211.h' line='1743' column='1'/>
+          <var-decl name='mac_addr' type-id='type-id-8594' visibility='default' filepath='include/net/cfg80211.h' line='1743' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='624'>
-          <var-decl name='mac_addr_mask' type-id='type-id-6229' visibility='default' filepath='include/net/cfg80211.h' line='1744' column='1'/>
+          <var-decl name='mac_addr_mask' type-id='type-id-8594' visibility='default' filepath='include/net/cfg80211.h' line='1744' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='672'>
-          <var-decl name='bssid' type-id='type-id-6229' visibility='default' filepath='include/net/cfg80211.h' line='1745' column='1'/>
+          <var-decl name='bssid' type-id='type-id-8594' visibility='default' filepath='include/net/cfg80211.h' line='1745' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='wiphy' type-id='type-id-6271' visibility='default' filepath='include/net/cfg80211.h' line='1748' column='1'/>
+          <var-decl name='wiphy' type-id='type-id-8635' visibility='default' filepath='include/net/cfg80211.h' line='1748' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='scan_start' type-id='type-id-16' visibility='default' filepath='include/net/cfg80211.h' line='1749' column='1'/>
+          <var-decl name='scan_start' type-id='type-id-100' visibility='default' filepath='include/net/cfg80211.h' line='1749' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='info' type-id='type-id-6448' visibility='default' filepath='include/net/cfg80211.h' line='1750' column='1'/>
+          <var-decl name='info' type-id='type-id-8808' visibility='default' filepath='include/net/cfg80211.h' line='1750' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='notified' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='1751' column='1'/>
+          <var-decl name='notified' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='1751' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1032'>
-          <var-decl name='no_cck' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='1752' column='1'/>
+          <var-decl name='no_cck' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='1752' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='channels' type-id='type-id-6206' visibility='default' filepath='include/net/cfg80211.h' line='1755' column='1'/>
+          <var-decl name='channels' type-id='type-id-8573' visibility='default' filepath='include/net/cfg80211.h' line='1755' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='cfg80211_scan_info' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1693' column='1' id='type-id-6448'>
+      <class-decl name='cfg80211_scan_info' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1693' column='1' id='type-id-8808'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='scan_start_tsf' type-id='type-id-40' visibility='default' filepath='include/net/cfg80211.h' line='1694' column='1'/>
+          <var-decl name='scan_start_tsf' type-id='type-id-134' visibility='default' filepath='include/net/cfg80211.h' line='1694' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='tsf_bssid' type-id='type-id-6229' visibility='default' filepath='include/net/cfg80211.h' line='1695' column='1'/>
+          <var-decl name='tsf_bssid' type-id='type-id-8594' visibility='default' filepath='include/net/cfg80211.h' line='1695' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='112'>
-          <var-decl name='aborted' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='1696' column='1'/>
+          <var-decl name='aborted' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='1696' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='cfg80211_auth_request' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2039' column='1' id='type-id-6449'>
+      <class-decl name='cfg80211_auth_request' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2039' column='1' id='type-id-8809'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bss' type-id='type-id-6288' visibility='default' filepath='include/net/cfg80211.h' line='2040' column='1'/>
+          <var-decl name='bss' type-id='type-id-8652' visibility='default' filepath='include/net/cfg80211.h' line='2040' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ie' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2041' column='1'/>
+          <var-decl name='ie' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2041' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='ie_len' type-id='type-id-84' visibility='default' filepath='include/net/cfg80211.h' line='2042' column='1'/>
+          <var-decl name='ie_len' type-id='type-id-125' visibility='default' filepath='include/net/cfg80211.h' line='2042' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='auth_type' type-id='type-id-6420' visibility='default' filepath='include/net/cfg80211.h' line='2043' column='1'/>
+          <var-decl name='auth_type' type-id='type-id-8780' visibility='default' filepath='include/net/cfg80211.h' line='2043' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='key' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2044' column='1'/>
+          <var-decl name='key' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2044' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='key_len' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='2045' column='1'/>
+          <var-decl name='key_len' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='2045' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='328'>
-          <var-decl name='key_idx' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='2045' column='1'/>
+          <var-decl name='key_idx' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='2045' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='auth_data' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2046' column='1'/>
+          <var-decl name='auth_data' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2046' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='auth_data_len' type-id='type-id-84' visibility='default' filepath='include/net/cfg80211.h' line='2047' column='1'/>
+          <var-decl name='auth_data_len' type-id='type-id-125' visibility='default' filepath='include/net/cfg80211.h' line='2047' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='cfg80211_assoc_request' size-in-bits='1792' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2100' column='1' id='type-id-6450'>
+      <class-decl name='cfg80211_assoc_request' size-in-bits='1792' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2100' column='1' id='type-id-8810'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bss' type-id='type-id-6288' visibility='default' filepath='include/net/cfg80211.h' line='2101' column='1'/>
+          <var-decl name='bss' type-id='type-id-8652' visibility='default' filepath='include/net/cfg80211.h' line='2101' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ie' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2102' column='1'/>
+          <var-decl name='ie' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2102' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='prev_bssid' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2102' column='1'/>
+          <var-decl name='prev_bssid' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2102' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='ie_len' type-id='type-id-84' visibility='default' filepath='include/net/cfg80211.h' line='2103' column='1'/>
+          <var-decl name='ie_len' type-id='type-id-125' visibility='default' filepath='include/net/cfg80211.h' line='2103' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='crypto' type-id='type-id-6419' visibility='default' filepath='include/net/cfg80211.h' line='2104' column='1'/>
+          <var-decl name='crypto' type-id='type-id-8779' visibility='default' filepath='include/net/cfg80211.h' line='2104' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='896'>
-          <var-decl name='use_mfp' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='2105' column='1'/>
+          <var-decl name='use_mfp' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='2105' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='928'>
-          <var-decl name='flags' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='2106' column='1'/>
+          <var-decl name='flags' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='2106' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='ht_capa' type-id='type-id-6318' visibility='default' filepath='include/net/cfg80211.h' line='2107' column='1'/>
+          <var-decl name='ht_capa' type-id='type-id-8680' visibility='default' filepath='include/net/cfg80211.h' line='2107' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1168'>
-          <var-decl name='ht_capa_mask' type-id='type-id-6318' visibility='default' filepath='include/net/cfg80211.h' line='2108' column='1'/>
+          <var-decl name='ht_capa_mask' type-id='type-id-8680' visibility='default' filepath='include/net/cfg80211.h' line='2108' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1376'>
-          <var-decl name='vht_capa' type-id='type-id-6319' visibility='default' filepath='include/net/cfg80211.h' line='2109' column='1'/>
+          <var-decl name='vht_capa' type-id='type-id-8681' visibility='default' filepath='include/net/cfg80211.h' line='2109' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1472'>
-          <var-decl name='vht_capa_mask' type-id='type-id-6319' visibility='default' filepath='include/net/cfg80211.h' line='2109' column='1'/>
+          <var-decl name='vht_capa_mask' type-id='type-id-8681' visibility='default' filepath='include/net/cfg80211.h' line='2109' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1600'>
-          <var-decl name='fils_kek' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2110' column='1'/>
+          <var-decl name='fils_kek' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2110' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1664'>
-          <var-decl name='fils_kek_len' type-id='type-id-84' visibility='default' filepath='include/net/cfg80211.h' line='2111' column='1'/>
+          <var-decl name='fils_kek_len' type-id='type-id-125' visibility='default' filepath='include/net/cfg80211.h' line='2111' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1728'>
-          <var-decl name='fils_nonces' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2112' column='1'/>
+          <var-decl name='fils_nonces' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2112' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='cfg80211_deauth_request' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2128' column='1' id='type-id-6451'>
+      <class-decl name='cfg80211_deauth_request' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2128' column='1' id='type-id-8811'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bssid' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2129' column='1'/>
+          <var-decl name='bssid' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2129' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ie' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2130' column='1'/>
+          <var-decl name='ie' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2130' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='ie_len' type-id='type-id-84' visibility='default' filepath='include/net/cfg80211.h' line='2131' column='1'/>
+          <var-decl name='ie_len' type-id='type-id-125' visibility='default' filepath='include/net/cfg80211.h' line='2131' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='reason_code' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='2132' column='1'/>
+          <var-decl name='reason_code' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='2132' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='208'>
-          <var-decl name='local_state_change' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='2133' column='1'/>
+          <var-decl name='local_state_change' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='2133' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='cfg80211_disassoc_request' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2149' column='1' id='type-id-6452'>
+      <class-decl name='cfg80211_disassoc_request' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2149' column='1' id='type-id-8812'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bss' type-id='type-id-6288' visibility='default' filepath='include/net/cfg80211.h' line='2150' column='1'/>
+          <var-decl name='bss' type-id='type-id-8652' visibility='default' filepath='include/net/cfg80211.h' line='2150' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ie' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2151' column='1'/>
+          <var-decl name='ie' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2151' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='ie_len' type-id='type-id-84' visibility='default' filepath='include/net/cfg80211.h' line='2152' column='1'/>
+          <var-decl name='ie_len' type-id='type-id-125' visibility='default' filepath='include/net/cfg80211.h' line='2152' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='reason_code' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='2153' column='1'/>
+          <var-decl name='reason_code' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='2153' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='208'>
-          <var-decl name='local_state_change' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='2154' column='1'/>
+          <var-decl name='local_state_change' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='2154' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='cfg80211_connect_params' size-in-bits='2752' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2289' column='1' id='type-id-6453'>
+      <class-decl name='cfg80211_connect_params' size-in-bits='2752' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2289' column='1' id='type-id-8813'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='channel' type-id='type-id-6205' visibility='default' filepath='include/net/cfg80211.h' line='2290' column='1'/>
+          <var-decl name='channel' type-id='type-id-8572' visibility='default' filepath='include/net/cfg80211.h' line='2290' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='channel_hint' type-id='type-id-6205' visibility='default' filepath='include/net/cfg80211.h' line='2291' column='1'/>
+          <var-decl name='channel_hint' type-id='type-id-8572' visibility='default' filepath='include/net/cfg80211.h' line='2291' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='bssid' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2292' column='1'/>
+          <var-decl name='bssid' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2292' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='bssid_hint' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2293' column='1'/>
+          <var-decl name='bssid_hint' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2293' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='ssid' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2294' column='1'/>
+          <var-decl name='ssid' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2294' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='ssid_len' type-id='type-id-84' visibility='default' filepath='include/net/cfg80211.h' line='2295' column='1'/>
+          <var-decl name='ssid_len' type-id='type-id-125' visibility='default' filepath='include/net/cfg80211.h' line='2295' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='auth_type' type-id='type-id-6420' visibility='default' filepath='include/net/cfg80211.h' line='2296' column='1'/>
+          <var-decl name='auth_type' type-id='type-id-8780' visibility='default' filepath='include/net/cfg80211.h' line='2296' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='ie' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2297' column='1'/>
+          <var-decl name='ie' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2297' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='ie_len' type-id='type-id-84' visibility='default' filepath='include/net/cfg80211.h' line='2298' column='1'/>
+          <var-decl name='ie_len' type-id='type-id-125' visibility='default' filepath='include/net/cfg80211.h' line='2298' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='privacy' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='2299' column='1'/>
+          <var-decl name='privacy' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='2299' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='mfp' type-id='type-id-6454' visibility='default' filepath='include/net/cfg80211.h' line='2300' column='1'/>
+          <var-decl name='mfp' type-id='type-id-8814' visibility='default' filepath='include/net/cfg80211.h' line='2300' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='crypto' type-id='type-id-6419' visibility='default' filepath='include/net/cfg80211.h' line='2301' column='1'/>
+          <var-decl name='crypto' type-id='type-id-8779' visibility='default' filepath='include/net/cfg80211.h' line='2301' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1280'>
-          <var-decl name='key' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2302' column='1'/>
+          <var-decl name='key' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2302' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1344'>
-          <var-decl name='key_len' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='2303' column='1'/>
+          <var-decl name='key_len' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='2303' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1352'>
-          <var-decl name='key_idx' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='2303' column='1'/>
+          <var-decl name='key_idx' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='2303' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1376'>
-          <var-decl name='flags' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='2304' column='1'/>
+          <var-decl name='flags' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='2304' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1408'>
-          <var-decl name='bg_scan_period' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='2305' column='1'/>
+          <var-decl name='bg_scan_period' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='2305' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1440'>
-          <var-decl name='ht_capa' type-id='type-id-6318' visibility='default' filepath='include/net/cfg80211.h' line='2306' column='1'/>
+          <var-decl name='ht_capa' type-id='type-id-8680' visibility='default' filepath='include/net/cfg80211.h' line='2306' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1648'>
-          <var-decl name='ht_capa_mask' type-id='type-id-6318' visibility='default' filepath='include/net/cfg80211.h' line='2307' column='1'/>
+          <var-decl name='ht_capa_mask' type-id='type-id-8680' visibility='default' filepath='include/net/cfg80211.h' line='2307' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1856'>
-          <var-decl name='vht_capa' type-id='type-id-6319' visibility='default' filepath='include/net/cfg80211.h' line='2308' column='1'/>
+          <var-decl name='vht_capa' type-id='type-id-8681' visibility='default' filepath='include/net/cfg80211.h' line='2308' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1952'>
-          <var-decl name='vht_capa_mask' type-id='type-id-6319' visibility='default' filepath='include/net/cfg80211.h' line='2309' column='1'/>
+          <var-decl name='vht_capa_mask' type-id='type-id-8681' visibility='default' filepath='include/net/cfg80211.h' line='2309' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2048'>
-          <var-decl name='pbss' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='2310' column='1'/>
+          <var-decl name='pbss' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='2310' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2080'>
-          <var-decl name='bss_select' type-id='type-id-6455' visibility='default' filepath='include/net/cfg80211.h' line='2311' column='1'/>
+          <var-decl name='bss_select' type-id='type-id-8815' visibility='default' filepath='include/net/cfg80211.h' line='2311' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2176'>
-          <var-decl name='prev_bssid' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2312' column='1'/>
+          <var-decl name='prev_bssid' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2312' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2240'>
-          <var-decl name='fils_erp_username' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2313' column='1'/>
+          <var-decl name='fils_erp_username' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2313' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2304'>
-          <var-decl name='fils_erp_username_len' type-id='type-id-84' visibility='default' filepath='include/net/cfg80211.h' line='2314' column='1'/>
+          <var-decl name='fils_erp_username_len' type-id='type-id-125' visibility='default' filepath='include/net/cfg80211.h' line='2314' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2368'>
-          <var-decl name='fils_erp_realm' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2315' column='1'/>
+          <var-decl name='fils_erp_realm' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2315' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2432'>
-          <var-decl name='fils_erp_realm_len' type-id='type-id-84' visibility='default' filepath='include/net/cfg80211.h' line='2316' column='1'/>
+          <var-decl name='fils_erp_realm_len' type-id='type-id-125' visibility='default' filepath='include/net/cfg80211.h' line='2316' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2496'>
-          <var-decl name='fils_erp_next_seq_num' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='2317' column='1'/>
+          <var-decl name='fils_erp_next_seq_num' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='2317' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2560'>
-          <var-decl name='fils_erp_rrk' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2318' column='1'/>
+          <var-decl name='fils_erp_rrk' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2318' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2624'>
-          <var-decl name='fils_erp_rrk_len' type-id='type-id-84' visibility='default' filepath='include/net/cfg80211.h' line='2319' column='1'/>
+          <var-decl name='fils_erp_rrk_len' type-id='type-id-125' visibility='default' filepath='include/net/cfg80211.h' line='2319' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='2688'>
-          <var-decl name='want_1x' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='2320' column='1'/>
+          <var-decl name='want_1x' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='2320' column='1'/>
         </data-member>
       </class-decl>
-      <enum-decl name='nl80211_mfp' filepath='include/uapi/linux/nl80211.h' line='4227' column='1' id='type-id-6454'>
-        <underlying-type type-id='type-id-94'/>
+      <enum-decl name='nl80211_mfp' filepath='include/uapi/linux/nl80211.h' line='4227' column='1' id='type-id-8814'>
+        <underlying-type type-id='type-id-182'/>
         <enumerator name='NL80211_MFP_NO' value='0'/>
         <enumerator name='NL80211_MFP_REQUIRED' value='1'/>
         <enumerator name='NL80211_MFP_OPTIONAL' value='2'/>
       </enum-decl>
-      <class-decl name='cfg80211_bss_selection' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2221' column='1' id='type-id-6455'>
+      <class-decl name='cfg80211_bss_selection' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2221' column='1' id='type-id-8815'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='behaviour' type-id='type-id-6456' visibility='default' filepath='include/net/cfg80211.h' line='2222' column='1'/>
+          <var-decl name='behaviour' type-id='type-id-8816' visibility='default' filepath='include/net/cfg80211.h' line='2222' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='param' type-id='type-id-6457' visibility='default' filepath='include/net/cfg80211.h' line='2226' column='1'/>
+          <var-decl name='param' type-id='type-id-8817' visibility='default' filepath='include/net/cfg80211.h' line='2226' column='1'/>
         </data-member>
       </class-decl>
-      <enum-decl name='nl80211_bss_select_attr' filepath='include/uapi/linux/nl80211.h' line='5612' column='1' id='type-id-6456'>
-        <underlying-type type-id='type-id-94'/>
+      <enum-decl name='nl80211_bss_select_attr' filepath='include/uapi/linux/nl80211.h' line='5612' column='1' id='type-id-8816'>
+        <underlying-type type-id='type-id-182'/>
         <enumerator name='__NL80211_BSS_SELECT_ATTR_INVALID' value='0'/>
         <enumerator name='NL80211_BSS_SELECT_ATTR_RSSI' value='1'/>
         <enumerator name='NL80211_BSS_SELECT_ATTR_BAND_PREF' value='2'/>
@@ -56713,1275 +85230,2418 @@
         <enumerator name='__NL80211_BSS_SELECT_ATTR_AFTER_LAST' value='4'/>
         <enumerator name='NL80211_BSS_SELECT_ATTR_MAX' value='3'/>
       </enum-decl>
-      <union-decl name='__anonymous_union__6' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/net/cfg80211.h' line='2223' column='1' id='type-id-6457'>
+      <union-decl name='__anonymous_union__4' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/net/cfg80211.h' line='2223' column='1' id='type-id-8817'>
         <data-member access='private'>
-          <var-decl name='band_pref' type-id='type-id-6275' visibility='default' filepath='include/net/cfg80211.h' line='2224' column='1'/>
+          <var-decl name='band_pref' type-id='type-id-8639' visibility='default' filepath='include/net/cfg80211.h' line='2224' column='1'/>
         </data-member>
         <data-member access='private'>
-          <var-decl name='adjust' type-id='type-id-6270' visibility='default' filepath='include/net/cfg80211.h' line='2225' column='1'/>
+          <var-decl name='adjust' type-id='type-id-8634' visibility='default' filepath='include/net/cfg80211.h' line='2225' column='1'/>
         </data-member>
       </union-decl>
-      <class-decl name='cfg80211_ibss_params' size-in-bits='1152' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2193' column='1' id='type-id-6458'>
+      <class-decl name='cfg80211_ibss_params' size-in-bits='1152' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2193' column='1' id='type-id-8818'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='ssid' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2194' column='1'/>
+          <var-decl name='ssid' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2194' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='bssid' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2195' column='1'/>
+          <var-decl name='bssid' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2195' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='chandef' type-id='type-id-6282' visibility='default' filepath='include/net/cfg80211.h' line='2196' column='1'/>
+          <var-decl name='chandef' type-id='type-id-8646' visibility='default' filepath='include/net/cfg80211.h' line='2196' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='ie' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2197' column='1'/>
+          <var-decl name='ie' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2197' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='ssid_len' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='2198' column='1'/>
+          <var-decl name='ssid_len' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='2198' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='392'>
-          <var-decl name='ie_len' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='2198' column='1'/>
+          <var-decl name='ie_len' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='2198' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='400'>
-          <var-decl name='beacon_interval' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='2199' column='1'/>
+          <var-decl name='beacon_interval' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='2199' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='416'>
-          <var-decl name='basic_rates' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='2200' column='1'/>
+          <var-decl name='basic_rates' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='2200' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='channel_fixed' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='2201' column='1'/>
+          <var-decl name='channel_fixed' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='2201' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='456'>
-          <var-decl name='privacy' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='2202' column='1'/>
+          <var-decl name='privacy' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='2202' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='464'>
-          <var-decl name='control_port' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='2203' column='1'/>
+          <var-decl name='control_port' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='2203' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='472'>
-          <var-decl name='control_port_over_nl80211' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='2204' column='1'/>
+          <var-decl name='control_port_over_nl80211' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='2204' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='userspace_handles_dfs' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='2205' column='1'/>
+          <var-decl name='userspace_handles_dfs' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='2205' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='mcast_rate' type-id='type-id-1133' visibility='default' filepath='include/net/cfg80211.h' line='2206' column='1'/>
+          <var-decl name='mcast_rate' type-id='type-id-7451' visibility='default' filepath='include/net/cfg80211.h' line='2206' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='608'>
-          <var-decl name='ht_capa' type-id='type-id-6318' visibility='default' filepath='include/net/cfg80211.h' line='2207' column='1'/>
+          <var-decl name='ht_capa' type-id='type-id-8680' visibility='default' filepath='include/net/cfg80211.h' line='2207' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='816'>
-          <var-decl name='ht_capa_mask' type-id='type-id-6318' visibility='default' filepath='include/net/cfg80211.h' line='2208' column='1'/>
+          <var-decl name='ht_capa_mask' type-id='type-id-8680' visibility='default' filepath='include/net/cfg80211.h' line='2208' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='wep_keys' type-id='type-id-6424' visibility='default' filepath='include/net/cfg80211.h' line='2209' column='1'/>
+          <var-decl name='wep_keys' type-id='type-id-8784' visibility='default' filepath='include/net/cfg80211.h' line='2209' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='wep_tx_key' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='2210' column='1'/>
+          <var-decl name='wep_tx_key' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='2210' column='1'/>
         </data-member>
       </class-decl>
-      <enum-decl name='nl80211_tx_power_setting' filepath='include/uapi/linux/nl80211.h' line='4434' column='1' id='type-id-6459'>
-        <underlying-type type-id='type-id-94'/>
+      <enum-decl name='nl80211_tx_power_setting' filepath='include/uapi/linux/nl80211.h' line='4434' column='1' id='type-id-8819'>
+        <underlying-type type-id='type-id-182'/>
         <enumerator name='NL80211_TX_POWER_AUTOMATIC' value='0'/>
         <enumerator name='NL80211_TX_POWER_LIMITED' value='1'/>
         <enumerator name='NL80211_TX_POWER_FIXED' value='2'/>
       </enum-decl>
-      <class-decl name='survey_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='706' column='1' id='type-id-6460'>
+      <class-decl name='survey_info' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='706' column='1' id='type-id-8820'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='channel' type-id='type-id-6205' visibility='default' filepath='include/net/cfg80211.h' line='707' column='1'/>
+          <var-decl name='channel' type-id='type-id-8572' visibility='default' filepath='include/net/cfg80211.h' line='707' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='time' type-id='type-id-40' visibility='default' filepath='include/net/cfg80211.h' line='708' column='1'/>
+          <var-decl name='time' type-id='type-id-134' visibility='default' filepath='include/net/cfg80211.h' line='708' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='time_busy' type-id='type-id-40' visibility='default' filepath='include/net/cfg80211.h' line='709' column='1'/>
+          <var-decl name='time_busy' type-id='type-id-134' visibility='default' filepath='include/net/cfg80211.h' line='709' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='time_ext_busy' type-id='type-id-40' visibility='default' filepath='include/net/cfg80211.h' line='710' column='1'/>
+          <var-decl name='time_ext_busy' type-id='type-id-134' visibility='default' filepath='include/net/cfg80211.h' line='710' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='time_rx' type-id='type-id-40' visibility='default' filepath='include/net/cfg80211.h' line='711' column='1'/>
+          <var-decl name='time_rx' type-id='type-id-134' visibility='default' filepath='include/net/cfg80211.h' line='711' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='time_tx' type-id='type-id-40' visibility='default' filepath='include/net/cfg80211.h' line='712' column='1'/>
+          <var-decl name='time_tx' type-id='type-id-134' visibility='default' filepath='include/net/cfg80211.h' line='712' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='time_scan' type-id='type-id-40' visibility='default' filepath='include/net/cfg80211.h' line='713' column='1'/>
+          <var-decl name='time_scan' type-id='type-id-134' visibility='default' filepath='include/net/cfg80211.h' line='713' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='filled' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='714' column='1'/>
+          <var-decl name='filled' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='714' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='480'>
-          <var-decl name='noise' type-id='type-id-209' visibility='default' filepath='include/net/cfg80211.h' line='715' column='1'/>
+          <var-decl name='noise' type-id='type-id-4809' visibility='default' filepath='include/net/cfg80211.h' line='715' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='cfg80211_pmksa' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2383' column='1' id='type-id-6461'>
+      <class-decl name='cfg80211_pmksa' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2383' column='1' id='type-id-8821'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='bssid' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2384' column='1'/>
+          <var-decl name='bssid' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2384' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='pmkid' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2385' column='1'/>
+          <var-decl name='pmkid' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2385' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='pmk' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2386' column='1'/>
+          <var-decl name='pmk' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2386' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='pmk_len' type-id='type-id-84' visibility='default' filepath='include/net/cfg80211.h' line='2387' column='1'/>
+          <var-decl name='pmk_len' type-id='type-id-125' visibility='default' filepath='include/net/cfg80211.h' line='2387' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='ssid' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2388' column='1'/>
+          <var-decl name='ssid' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2388' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='ssid_len' type-id='type-id-84' visibility='default' filepath='include/net/cfg80211.h' line='2389' column='1'/>
+          <var-decl name='ssid_len' type-id='type-id-125' visibility='default' filepath='include/net/cfg80211.h' line='2389' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='cache_id' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2390' column='1'/>
+          <var-decl name='cache_id' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2390' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='cfg80211_mgmt_tx_params' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2603' column='1' id='type-id-6462'>
+      <class-decl name='cfg80211_mgmt_tx_params' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2603' column='1' id='type-id-8822'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='chan' type-id='type-id-6205' visibility='default' filepath='include/net/cfg80211.h' line='2604' column='1'/>
+          <var-decl name='chan' type-id='type-id-8572' visibility='default' filepath='include/net/cfg80211.h' line='2604' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='offchan' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='2605' column='1'/>
+          <var-decl name='offchan' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='2605' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='wait' type-id='type-id-5' visibility='default' filepath='include/net/cfg80211.h' line='2606' column='1'/>
+          <var-decl name='wait' type-id='type-id-10' visibility='default' filepath='include/net/cfg80211.h' line='2606' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='buf' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2607' column='1'/>
+          <var-decl name='buf' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2607' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='len' type-id='type-id-84' visibility='default' filepath='include/net/cfg80211.h' line='2608' column='1'/>
+          <var-decl name='len' type-id='type-id-125' visibility='default' filepath='include/net/cfg80211.h' line='2608' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='no_cck' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='2609' column='1'/>
+          <var-decl name='no_cck' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='2609' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='264'>
-          <var-decl name='dont_wait_for_ack' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='2610' column='1'/>
+          <var-decl name='dont_wait_for_ack' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='2610' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='288'>
-          <var-decl name='n_csa_offsets' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='2611' column='1'/>
+          <var-decl name='n_csa_offsets' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='2611' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='csa_offsets' type-id='type-id-3566' visibility='default' filepath='include/net/cfg80211.h' line='2612' column='1'/>
+          <var-decl name='csa_offsets' type-id='type-id-559' visibility='default' filepath='include/net/cfg80211.h' line='2612' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='cfg80211_gtk_rekey_data' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2569' column='1' id='type-id-6463'>
+      <class-decl name='cfg80211_gtk_rekey_data' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2569' column='1' id='type-id-8823'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='kek' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2570' column='1'/>
+          <var-decl name='kek' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2570' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='kck' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2570' column='1'/>
+          <var-decl name='kck' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2570' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='replay_ctr' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2570' column='1'/>
+          <var-decl name='replay_ctr' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2570' column='1'/>
         </data-member>
       </class-decl>
-      <enum-decl name='nl80211_tdls_operation' filepath='include/uapi/linux/nl80211.h' line='4999' column='1' id='type-id-6464'>
-        <underlying-type type-id='type-id-94'/>
+      <enum-decl name='nl80211_tdls_operation' filepath='include/uapi/linux/nl80211.h' line='4999' column='1' id='type-id-8824'>
+        <underlying-type type-id='type-id-182'/>
         <enumerator name='NL80211_TDLS_DISCOVERY_REQ' value='0'/>
         <enumerator name='NL80211_TDLS_SETUP' value='1'/>
         <enumerator name='NL80211_TDLS_TEARDOWN' value='2'/>
         <enumerator name='NL80211_TDLS_ENABLE_LINK' value='3'/>
         <enumerator name='NL80211_TDLS_DISABLE_LINK' value='4'/>
       </enum-decl>
-      <class-decl name='cfg80211_update_ft_ies_params' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2582' column='1' id='type-id-6465'>
+      <class-decl name='cfg80211_update_ft_ies_params' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2582' column='1' id='type-id-8825'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='md' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='2583' column='1'/>
+          <var-decl name='md' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='2583' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='ie' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2584' column='1'/>
+          <var-decl name='ie' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2584' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='ie_len' type-id='type-id-84' visibility='default' filepath='include/net/cfg80211.h' line='2585' column='1'/>
+          <var-decl name='ie_len' type-id='type-id-125' visibility='default' filepath='include/net/cfg80211.h' line='2585' column='1'/>
         </data-member>
       </class-decl>
-      <enum-decl name='nl80211_crit_proto_id' filepath='include/uapi/linux/nl80211.h' line='5495' column='1' id='type-id-6466'>
-        <underlying-type type-id='type-id-94'/>
+      <enum-decl name='nl80211_crit_proto_id' filepath='include/uapi/linux/nl80211.h' line='5495' column='1' id='type-id-8826'>
+        <underlying-type type-id='type-id-182'/>
         <enumerator name='NL80211_CRIT_PROTO_UNSPEC' value='0'/>
         <enumerator name='NL80211_CRIT_PROTO_DHCP' value='1'/>
         <enumerator name='NL80211_CRIT_PROTO_EAPOL' value='2'/>
         <enumerator name='NL80211_CRIT_PROTO_APIPA' value='3'/>
         <enumerator name='NUM_NL80211_CRIT_PROTO' value='4'/>
       </enum-decl>
-      <class-decl name='cfg80211_coalesce' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2497' column='1' id='type-id-6467'>
+      <class-decl name='cfg80211_coalesce' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2497' column='1' id='type-id-8827'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='rules' type-id='type-id-6468' visibility='default' filepath='include/net/cfg80211.h' line='2498' column='1'/>
+          <var-decl name='rules' type-id='type-id-8828' visibility='default' filepath='include/net/cfg80211.h' line='2498' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='n_rules' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='2499' column='1'/>
+          <var-decl name='n_rules' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='2499' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='cfg80211_coalesce_rules' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2483' column='1' id='type-id-6469'>
+      <class-decl name='cfg80211_coalesce_rules' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2483' column='1' id='type-id-8829'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='delay' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='2484' column='1'/>
+          <var-decl name='delay' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='2484' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='condition' type-id='type-id-6470' visibility='default' filepath='include/net/cfg80211.h' line='2485' column='1'/>
+          <var-decl name='condition' type-id='type-id-8830' visibility='default' filepath='include/net/cfg80211.h' line='2485' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='patterns' type-id='type-id-6256' visibility='default' filepath='include/net/cfg80211.h' line='2486' column='1'/>
+          <var-decl name='patterns' type-id='type-id-8621' visibility='default' filepath='include/net/cfg80211.h' line='2486' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='n_patterns' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='2487' column='1'/>
+          <var-decl name='n_patterns' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='2487' column='1'/>
         </data-member>
       </class-decl>
-      <enum-decl name='nl80211_coalesce_condition' filepath='include/uapi/linux/nl80211.h' line='4770' column='1' id='type-id-6470'>
-        <underlying-type type-id='type-id-94'/>
+      <enum-decl name='nl80211_coalesce_condition' filepath='include/uapi/linux/nl80211.h' line='4770' column='1' id='type-id-8830'>
+        <underlying-type type-id='type-id-182'/>
         <enumerator name='NL80211_COALESCE_CONDITION_MATCH' value='0'/>
         <enumerator name='NL80211_COALESCE_CONDITION_NO_MATCH' value='1'/>
       </enum-decl>
-      <class-decl name='cfg80211_csa_settings' size-in-bits='1984' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='896' column='1' id='type-id-6471'>
+      <class-decl name='cfg80211_csa_settings' size-in-bits='1984' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='896' column='1' id='type-id-8831'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='chandef' type-id='type-id-6282' visibility='default' filepath='include/net/cfg80211.h' line='897' column='1'/>
+          <var-decl name='chandef' type-id='type-id-8646' visibility='default' filepath='include/net/cfg80211.h' line='897' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='beacon_csa' type-id='type-id-6417' visibility='default' filepath='include/net/cfg80211.h' line='898' column='1'/>
+          <var-decl name='beacon_csa' type-id='type-id-8777' visibility='default' filepath='include/net/cfg80211.h' line='898' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='960'>
-          <var-decl name='counter_offsets_beacon' type-id='type-id-3566' visibility='default' filepath='include/net/cfg80211.h' line='899' column='1'/>
+          <var-decl name='counter_offsets_beacon' type-id='type-id-559' visibility='default' filepath='include/net/cfg80211.h' line='899' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1024'>
-          <var-decl name='counter_offsets_presp' type-id='type-id-3566' visibility='default' filepath='include/net/cfg80211.h' line='900' column='1'/>
+          <var-decl name='counter_offsets_presp' type-id='type-id-559' visibility='default' filepath='include/net/cfg80211.h' line='900' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1088'>
-          <var-decl name='n_counter_offsets_beacon' type-id='type-id-5' visibility='default' filepath='include/net/cfg80211.h' line='901' column='1'/>
+          <var-decl name='n_counter_offsets_beacon' type-id='type-id-10' visibility='default' filepath='include/net/cfg80211.h' line='901' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1120'>
-          <var-decl name='n_counter_offsets_presp' type-id='type-id-5' visibility='default' filepath='include/net/cfg80211.h' line='902' column='1'/>
+          <var-decl name='n_counter_offsets_presp' type-id='type-id-10' visibility='default' filepath='include/net/cfg80211.h' line='902' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1152'>
-          <var-decl name='beacon_after' type-id='type-id-6417' visibility='default' filepath='include/net/cfg80211.h' line='903' column='1'/>
+          <var-decl name='beacon_after' type-id='type-id-8777' visibility='default' filepath='include/net/cfg80211.h' line='903' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1920'>
-          <var-decl name='radar_required' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='904' column='1'/>
+          <var-decl name='radar_required' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='904' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1928'>
-          <var-decl name='block_tx' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='905' column='1'/>
+          <var-decl name='block_tx' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='905' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1936'>
-          <var-decl name='count' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='906' column='1'/>
+          <var-decl name='count' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='906' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='cfg80211_qos_map' size-in-bits='472' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2653' column='1' id='type-id-6472'>
+      <class-decl name='cfg80211_qos_map' size-in-bits='472' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2653' column='1' id='type-id-8832'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='num_des' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='2654' column='1'/>
+          <var-decl name='num_des' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='2654' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='dscp_exception' type-id='type-id-6200' visibility='default' filepath='include/net/cfg80211.h' line='2655' column='1'/>
+          <var-decl name='dscp_exception' type-id='type-id-8567' visibility='default' filepath='include/net/cfg80211.h' line='2655' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='344'>
-          <var-decl name='up' type-id='type-id-6202' visibility='default' filepath='include/net/cfg80211.h' line='2656' column='1'/>
+          <var-decl name='up' type-id='type-id-8569' visibility='default' filepath='include/net/cfg80211.h' line='2656' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='cfg80211_dscp_exception' size-in-bits='16' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2621' column='1' id='type-id-6199'>
+      <class-decl name='cfg80211_dscp_exception' size-in-bits='16' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2621' column='1' id='type-id-8566'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='dscp' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='2622' column='1'/>
+          <var-decl name='dscp' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='2622' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='up' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='2623' column='1'/>
+          <var-decl name='up' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='2623' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='cfg80211_dscp_range' size-in-bits='16' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2632' column='1' id='type-id-6201'>
+      <class-decl name='cfg80211_dscp_range' size-in-bits='16' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2632' column='1' id='type-id-8568'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='low' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='2633' column='1'/>
+          <var-decl name='low' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='2633' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='high' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='2634' column='1'/>
+          <var-decl name='high' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='2634' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='cfg80211_nan_conf' size-in-bits='16' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2669' column='1' id='type-id-6473'>
+      <class-decl name='cfg80211_nan_conf' size-in-bits='16' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2669' column='1' id='type-id-8833'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='master_pref' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='2670' column='1'/>
+          <var-decl name='master_pref' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='2670' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='8'>
-          <var-decl name='bands' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='2671' column='1'/>
+          <var-decl name='bands' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='2671' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='cfg80211_nan_func' size-in-bits='896' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2726' column='1' id='type-id-6474'>
+      <class-decl name='cfg80211_nan_func' size-in-bits='896' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2726' column='1' id='type-id-8834'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='type' type-id='type-id-6475' visibility='default' filepath='include/net/cfg80211.h' line='2727' column='1'/>
+          <var-decl name='type' type-id='type-id-8835' visibility='default' filepath='include/net/cfg80211.h' line='2727' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='service_id' type-id='type-id-6229' visibility='default' filepath='include/net/cfg80211.h' line='2728' column='1'/>
+          <var-decl name='service_id' type-id='type-id-8594' visibility='default' filepath='include/net/cfg80211.h' line='2728' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='80'>
-          <var-decl name='publish_type' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='2729' column='1'/>
+          <var-decl name='publish_type' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='2729' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='88'>
-          <var-decl name='close_range' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='2730' column='1'/>
+          <var-decl name='close_range' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='2730' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='publish_bcast' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='2731' column='1'/>
+          <var-decl name='publish_bcast' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='2731' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='104'>
-          <var-decl name='subscribe_active' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='2732' column='1'/>
+          <var-decl name='subscribe_active' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='2732' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='112'>
-          <var-decl name='followup_id' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='2733' column='1'/>
+          <var-decl name='followup_id' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='2733' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='120'>
-          <var-decl name='followup_reqid' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='2734' column='1'/>
+          <var-decl name='followup_reqid' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='2734' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='followup_dest' type-id='type-id-6215' visibility='default' filepath='include/net/cfg80211.h' line='2735' column='1'/>
+          <var-decl name='followup_dest' type-id='type-id-8582' visibility='default' filepath='include/net/cfg80211.h' line='2735' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='ttl' type-id='type-id-7' visibility='default' filepath='include/net/cfg80211.h' line='2736' column='1'/>
+          <var-decl name='ttl' type-id='type-id-9' visibility='default' filepath='include/net/cfg80211.h' line='2736' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='serv_spec_info' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2737' column='1'/>
+          <var-decl name='serv_spec_info' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2737' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='serv_spec_info_len' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='2738' column='1'/>
+          <var-decl name='serv_spec_info_len' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='2738' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='328'>
-          <var-decl name='srf_include' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='2739' column='1'/>
+          <var-decl name='srf_include' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='2739' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='srf_bf' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2740' column='1'/>
+          <var-decl name='srf_bf' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2740' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='srf_bf_len' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='2741' column='1'/>
+          <var-decl name='srf_bf_len' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='2741' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='456'>
-          <var-decl name='srf_bf_idx' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='2742' column='1'/>
+          <var-decl name='srf_bf_idx' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='2742' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='512'>
-          <var-decl name='srf_macs' type-id='type-id-6232' visibility='default' filepath='include/net/cfg80211.h' line='2743' column='1'/>
+          <var-decl name='srf_macs' type-id='type-id-8597' visibility='default' filepath='include/net/cfg80211.h' line='2743' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='576'>
-          <var-decl name='srf_num_macs' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='2744' column='1'/>
+          <var-decl name='srf_num_macs' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='2744' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='640'>
-          <var-decl name='rx_filters' type-id='type-id-6476' visibility='default' filepath='include/net/cfg80211.h' line='2745' column='1'/>
+          <var-decl name='rx_filters' type-id='type-id-8836' visibility='default' filepath='include/net/cfg80211.h' line='2745' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='704'>
-          <var-decl name='tx_filters' type-id='type-id-6476' visibility='default' filepath='include/net/cfg80211.h' line='2746' column='1'/>
+          <var-decl name='tx_filters' type-id='type-id-8836' visibility='default' filepath='include/net/cfg80211.h' line='2746' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='768'>
-          <var-decl name='num_tx_filters' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='2747' column='1'/>
+          <var-decl name='num_tx_filters' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='2747' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='776'>
-          <var-decl name='num_rx_filters' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='2748' column='1'/>
+          <var-decl name='num_rx_filters' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='2748' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='784'>
-          <var-decl name='instance_id' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='2749' column='1'/>
+          <var-decl name='instance_id' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='2749' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='cookie' type-id='type-id-40' visibility='default' filepath='include/net/cfg80211.h' line='2750' column='1'/>
+          <var-decl name='cookie' type-id='type-id-134' visibility='default' filepath='include/net/cfg80211.h' line='2750' column='1'/>
         </data-member>
       </class-decl>
-      <enum-decl name='nl80211_nan_function_type' filepath='include/uapi/linux/nl80211.h' line='5632' column='1' id='type-id-6475'>
-        <underlying-type type-id='type-id-94'/>
+      <enum-decl name='nl80211_nan_function_type' filepath='include/uapi/linux/nl80211.h' line='5632' column='1' id='type-id-8835'>
+        <underlying-type type-id='type-id-182'/>
         <enumerator name='NL80211_NAN_FUNC_PUBLISH' value='0'/>
         <enumerator name='NL80211_NAN_FUNC_SUBSCRIBE' value='1'/>
         <enumerator name='NL80211_NAN_FUNC_FOLLOW_UP' value='2'/>
         <enumerator name='__NL80211_NAN_FUNC_TYPE_AFTER_LAST' value='3'/>
         <enumerator name='NL80211_NAN_FUNC_MAX_TYPE' value='2'/>
       </enum-decl>
-      <class-decl name='cfg80211_nan_func_filter' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2692' column='1' id='type-id-6477'>
+      <class-decl name='cfg80211_nan_func_filter' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2692' column='1' id='type-id-8837'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='filter' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2693' column='1'/>
+          <var-decl name='filter' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2693' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='len' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='2694' column='1'/>
+          <var-decl name='len' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='2694' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='cfg80211_pmk_conf' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2763' column='1' id='type-id-6478'>
+      <class-decl name='cfg80211_pmk_conf' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2763' column='1' id='type-id-8838'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='aa' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2764' column='1'/>
+          <var-decl name='aa' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2764' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='pmk_len' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='2765' column='1'/>
+          <var-decl name='pmk_len' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='2765' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='pmk' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2766' column='1'/>
+          <var-decl name='pmk' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2766' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='pmk_r0_name' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='2767' column='1'/>
+          <var-decl name='pmk_r0_name' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='2767' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='cfg80211_external_auth_params' size-in-bits='416' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2789' column='1' id='type-id-6479'>
+      <class-decl name='cfg80211_external_auth_params' size-in-bits='416' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='2789' column='1' id='type-id-8839'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='action' type-id='type-id-6480' visibility='default' filepath='include/net/cfg80211.h' line='2790' column='1'/>
+          <var-decl name='action' type-id='type-id-8840' visibility='default' filepath='include/net/cfg80211.h' line='2790' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='32'>
-          <var-decl name='bssid' type-id='type-id-6229' visibility='default' filepath='include/net/cfg80211.h' line='2791' column='1'/>
+          <var-decl name='bssid' type-id='type-id-8594' visibility='default' filepath='include/net/cfg80211.h' line='2791' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='80'>
-          <var-decl name='ssid' type-id='type-id-6272' visibility='default' filepath='include/net/cfg80211.h' line='2792' column='1'/>
+          <var-decl name='ssid' type-id='type-id-8636' visibility='default' filepath='include/net/cfg80211.h' line='2792' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='352'>
-          <var-decl name='key_mgmt_suite' type-id='type-id-5' visibility='default' filepath='include/net/cfg80211.h' line='2793' column='1'/>
+          <var-decl name='key_mgmt_suite' type-id='type-id-10' visibility='default' filepath='include/net/cfg80211.h' line='2793' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='status' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='2794' column='1'/>
+          <var-decl name='status' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='2794' column='1'/>
         </data-member>
       </class-decl>
-      <enum-decl name='nl80211_external_auth_action' filepath='include/uapi/linux/nl80211.h' line='5796' column='1' id='type-id-6480'>
-        <underlying-type type-id='type-id-94'/>
+      <enum-decl name='nl80211_external_auth_action' filepath='include/uapi/linux/nl80211.h' line='5796' column='1' id='type-id-8840'>
+        <underlying-type type-id='type-id-182'/>
         <enumerator name='NL80211_EXTERNAL_AUTH_START' value='0'/>
         <enumerator name='NL80211_EXTERNAL_AUTH_ABORT' value='1'/>
       </enum-decl>
-      <pointer-type-def type-id='type-id-6443' size-in-bits='64' id='type-id-6481'/>
-      <pointer-type-def type-id='type-id-6416' size-in-bits='64' id='type-id-6482'/>
-      <pointer-type-def type-id='type-id-6450' size-in-bits='64' id='type-id-6483'/>
-      <pointer-type-def type-id='type-id-6449' size-in-bits='64' id='type-id-6484'/>
-      <pointer-type-def type-id='type-id-6417' size-in-bits='64' id='type-id-6485'/>
-      <pointer-type-def type-id='type-id-6286' size-in-bits='64' id='type-id-6288'/>
-      <pointer-type-def type-id='type-id-6284' size-in-bits='64' id='type-id-6279'/>
-      <pointer-type-def type-id='type-id-6282' size-in-bits='64' id='type-id-6486'/>
-      <pointer-type-def type-id='type-id-6467' size-in-bits='64' id='type-id-6487'/>
-      <pointer-type-def type-id='type-id-6469' size-in-bits='64' id='type-id-6468'/>
-      <pointer-type-def type-id='type-id-6204' size-in-bits='64' id='type-id-6278'/>
-      <pointer-type-def type-id='type-id-6453' size-in-bits='64' id='type-id-6488'/>
-      <pointer-type-def type-id='type-id-6293' size-in-bits='64' id='type-id-6283'/>
-      <pointer-type-def type-id='type-id-6471' size-in-bits='64' id='type-id-6489'/>
-      <pointer-type-def type-id='type-id-6451' size-in-bits='64' id='type-id-6490'/>
-      <pointer-type-def type-id='type-id-6452' size-in-bits='64' id='type-id-6491'/>
-      <pointer-type-def type-id='type-id-6479' size-in-bits='64' id='type-id-6492'/>
-      <pointer-type-def type-id='type-id-6463' size-in-bits='64' id='type-id-6493'/>
-      <pointer-type-def type-id='type-id-6458' size-in-bits='64' id='type-id-6494'/>
-      <pointer-type-def type-id='type-id-6285' size-in-bits='64' id='type-id-6281'/>
-      <pointer-type-def type-id='type-id-6273' size-in-bits='64' id='type-id-6268'/>
-      <pointer-type-def type-id='type-id-6462' size-in-bits='64' id='type-id-6495'/>
-      <pointer-type-def type-id='type-id-6473' size-in-bits='64' id='type-id-6496'/>
-      <pointer-type-def type-id='type-id-6474' size-in-bits='64' id='type-id-6497'/>
-      <pointer-type-def type-id='type-id-6477' size-in-bits='64' id='type-id-6476'/>
-      <pointer-type-def type-id='type-id-6259' size-in-bits='64' id='type-id-6256'/>
-      <pointer-type-def type-id='type-id-6461' size-in-bits='64' id='type-id-6498'/>
-      <pointer-type-def type-id='type-id-6472' size-in-bits='64' id='type-id-6499'/>
-      <pointer-type-def type-id='type-id-6446' size-in-bits='64' id='type-id-6500'/>
-      <pointer-type-def type-id='type-id-6274' size-in-bits='64' id='type-id-6269'/>
-      <pointer-type-def type-id='type-id-6265' size-in-bits='64' id='type-id-6258'/>
-      <pointer-type-def type-id='type-id-6272' size-in-bits='64' id='type-id-6266'/>
-      <pointer-type-def type-id='type-id-6437' size-in-bits='64' id='type-id-6436'/>
-      <pointer-type-def type-id='type-id-6438' size-in-bits='64' id='type-id-6501'/>
-      <pointer-type-def type-id='type-id-6465' size-in-bits='64' id='type-id-6502'/>
-      <pointer-type-def type-id='type-id-6255' size-in-bits='64' id='type-id-6237'/>
-      <pointer-type-def type-id='type-id-6260' size-in-bits='64' id='type-id-6257'/>
-      <qualified-type-def type-id='type-id-926' const='yes' id='type-id-6503'/>
-      <qualified-type-def type-id='type-id-6425' const='yes' id='type-id-6504'/>
-      <pointer-type-def type-id='type-id-6504' size-in-bits='64' id='type-id-6422'/>
-      <qualified-type-def type-id='type-id-6423' const='yes' id='type-id-6505'/>
-      <pointer-type-def type-id='type-id-6505' size-in-bits='64' id='type-id-6506'/>
-      <qualified-type-def type-id='type-id-6291' const='yes' id='type-id-6507'/>
-      <pointer-type-def type-id='type-id-6507' size-in-bits='64' id='type-id-6287'/>
-      <qualified-type-def type-id='type-id-6328' const='yes' id='type-id-6508'/>
-      <pointer-type-def type-id='type-id-6508' size-in-bits='64' id='type-id-6509'/>
-      <qualified-type-def type-id='type-id-6478' const='yes' id='type-id-6510'/>
-      <pointer-type-def type-id='type-id-6510' size-in-bits='64' id='type-id-6511'/>
-      <qualified-type-def type-id='type-id-6305' const='yes' id='type-id-6512'/>
-      <pointer-type-def type-id='type-id-6512' size-in-bits='64' id='type-id-6430'/>
-      <qualified-type-def type-id='type-id-6318' const='yes' id='type-id-6513'/>
-      <pointer-type-def type-id='type-id-6513' size-in-bits='64' id='type-id-6241'/>
-      <qualified-type-def type-id='type-id-6247' const='yes' id='type-id-6514'/>
-      <pointer-type-def type-id='type-id-6514' size-in-bits='64' id='type-id-6234'/>
-      <qualified-type-def type-id='type-id-6249' const='yes' id='type-id-6515'/>
-      <pointer-type-def type-id='type-id-6515' size-in-bits='64' id='type-id-6248'/>
-      <qualified-type-def type-id='type-id-6312' const='yes' id='type-id-6516'/>
-      <pointer-type-def type-id='type-id-6516' size-in-bits='64' id='type-id-6240'/>
-      <qualified-type-def type-id='type-id-6303' const='yes' id='type-id-6517'/>
-      <pointer-type-def type-id='type-id-6517' size-in-bits='64' id='type-id-6299'/>
-      <qualified-type-def type-id='type-id-6246' const='yes' id='type-id-6518'/>
-      <pointer-type-def type-id='type-id-6518' size-in-bits='64' id='type-id-6233'/>
-      <qualified-type-def type-id='type-id-6319' const='yes' id='type-id-6519'/>
-      <pointer-type-def type-id='type-id-6519' size-in-bits='64' id='type-id-6242'/>
-      <qualified-type-def type-id='type-id-6440' const='yes' id='type-id-6520'/>
-      <pointer-type-def type-id='type-id-6520' size-in-bits='64' id='type-id-6521'/>
-      <qualified-type-def type-id='type-id-6441' const='yes' id='type-id-6522'/>
-      <pointer-type-def type-id='type-id-6522' size-in-bits='64' id='type-id-6523'/>
-      <qualified-type-def type-id='type-id-6322' const='yes' id='type-id-6524'/>
-      <pointer-type-def type-id='type-id-6524' size-in-bits='64' id='type-id-6245'/>
-      <qualified-type-def type-id='type-id-6254' const='yes' id='type-id-6525'/>
-      <pointer-type-def type-id='type-id-6525' size-in-bits='64' id='type-id-6253'/>
-      <qualified-type-def type-id='type-id-6320' const='yes' id='type-id-6526'/>
-      <pointer-type-def type-id='type-id-6526' size-in-bits='64' id='type-id-6243'/>
-      <qualified-type-def type-id='type-id-6294' const='yes' id='type-id-6527'/>
-      <pointer-type-def type-id='type-id-6527' size-in-bits='64' id='type-id-6238'/>
-      <qualified-type-def type-id='type-id-6321' const='yes' id='type-id-6528'/>
-      <pointer-type-def type-id='type-id-6528' size-in-bits='64' id='type-id-6244'/>
-      <qualified-type-def type-id='type-id-6250' const='yes' id='type-id-6529'/>
-      <pointer-type-def type-id='type-id-6529' size-in-bits='64' id='type-id-6236'/>
-      <qualified-type-def type-id='type-id-6252' const='yes' id='type-id-6530'/>
-      <pointer-type-def type-id='type-id-6530' size-in-bits='64' id='type-id-6251'/>
-      <pointer-type-def type-id='type-id-6289' size-in-bits='64' id='type-id-6205'/>
-      <pointer-type-def type-id='type-id-6300' size-in-bits='64' id='type-id-6296'/>
-      <pointer-type-def type-id='type-id-6295' size-in-bits='64' id='type-id-6209'/>
-      <pointer-type-def type-id='type-id-6444' size-in-bits='64' id='type-id-6531'/>
-      <pointer-type-def type-id='type-id-6532' size-in-bits='64' id='type-id-6330'/>
-      <pointer-type-def type-id='type-id-6533' size-in-bits='64' id='type-id-6358'/>
-      <pointer-type-def type-id='type-id-6534' size-in-bits='64' id='type-id-6398'/>
-      <pointer-type-def type-id='type-id-6535' size-in-bits='64' id='type-id-6359'/>
-      <pointer-type-def type-id='type-id-6536' size-in-bits='64' id='type-id-6329'/>
-      <pointer-type-def type-id='type-id-6537' size-in-bits='64' id='type-id-6342'/>
-      <pointer-type-def type-id='type-id-6538' size-in-bits='64' id='type-id-6355'/>
-      <pointer-type-def type-id='type-id-6539' size-in-bits='64' id='type-id-6340'/>
-      <pointer-type-def type-id='type-id-6540' size-in-bits='64' id='type-id-6362'/>
-      <pointer-type-def type-id='type-id-6541' size-in-bits='64' id='type-id-6361'/>
-      <pointer-type-def type-id='type-id-6542' size-in-bits='64' id='type-id-6341'/>
-      <pointer-type-def type-id='type-id-6543' size-in-bits='64' id='type-id-6401'/>
-      <pointer-type-def type-id='type-id-6544' size-in-bits='64' id='type-id-6395'/>
-      <pointer-type-def type-id='type-id-6545' size-in-bits='64' id='type-id-6365'/>
-      <pointer-type-def type-id='type-id-6546' size-in-bits='64' id='type-id-6366'/>
-      <pointer-type-def type-id='type-id-6547' size-in-bits='64' id='type-id-6399'/>
-      <pointer-type-def type-id='type-id-6548' size-in-bits='64' id='type-id-6363'/>
-      <pointer-type-def type-id='type-id-6549' size-in-bits='64' id='type-id-6364'/>
-      <pointer-type-def type-id='type-id-6550' size-in-bits='64' id='type-id-6413'/>
-      <pointer-type-def type-id='type-id-6551' size-in-bits='64' id='type-id-6389'/>
-      <pointer-type-def type-id='type-id-6552' size-in-bits='64' id='type-id-6368'/>
-      <pointer-type-def type-id='type-id-6553' size-in-bits='64' id='type-id-6376'/>
-      <pointer-type-def type-id='type-id-6554' size-in-bits='64' id='type-id-6400'/>
-      <pointer-type-def type-id='type-id-6555' size-in-bits='64' id='type-id-6387'/>
-      <pointer-type-def type-id='type-id-6556' size-in-bits='64' id='type-id-6396'/>
-      <pointer-type-def type-id='type-id-6557' size-in-bits='64' id='type-id-6410'/>
-      <pointer-type-def type-id='type-id-6558' size-in-bits='64' id='type-id-6394'/>
-      <pointer-type-def type-id='type-id-6559' size-in-bits='64' id='type-id-6412'/>
-      <pointer-type-def type-id='type-id-6560' size-in-bits='64' id='type-id-6353'/>
-      <pointer-type-def type-id='type-id-6561' size-in-bits='64' id='type-id-6348'/>
-      <pointer-type-def type-id='type-id-6562' size-in-bits='64' id='type-id-6374'/>
-      <pointer-type-def type-id='type-id-6563' size-in-bits='64' id='type-id-6347'/>
-      <pointer-type-def type-id='type-id-6564' size-in-bits='64' id='type-id-6391'/>
-      <pointer-type-def type-id='type-id-6565' size-in-bits='64' id='type-id-6345'/>
-      <pointer-type-def type-id='type-id-6566' size-in-bits='64' id='type-id-6343'/>
-      <pointer-type-def type-id='type-id-6567' size-in-bits='64' id='type-id-6414'/>
-      <pointer-type-def type-id='type-id-6568' size-in-bits='64' id='type-id-6404'/>
-      <pointer-type-def type-id='type-id-6569' size-in-bits='64' id='type-id-6390'/>
-      <pointer-type-def type-id='type-id-6570' size-in-bits='64' id='type-id-6392'/>
-      <pointer-type-def type-id='type-id-6571' size-in-bits='64' id='type-id-6334'/>
-      <pointer-type-def type-id='type-id-6572' size-in-bits='64' id='type-id-6357'/>
-      <pointer-type-def type-id='type-id-6573' size-in-bits='64' id='type-id-6356'/>
-      <pointer-type-def type-id='type-id-6574' size-in-bits='64' id='type-id-6369'/>
-      <pointer-type-def type-id='type-id-6575' size-in-bits='64' id='type-id-6375'/>
-      <pointer-type-def type-id='type-id-6576' size-in-bits='64' id='type-id-6346'/>
-      <pointer-type-def type-id='type-id-6577' size-in-bits='64' id='type-id-6350'/>
-      <pointer-type-def type-id='type-id-6578' size-in-bits='64' id='type-id-6351'/>
-      <pointer-type-def type-id='type-id-6579' size-in-bits='64' id='type-id-6354'/>
-      <pointer-type-def type-id='type-id-6580' size-in-bits='64' id='type-id-6344'/>
-      <pointer-type-def type-id='type-id-6581' size-in-bits='64' id='type-id-6380'/>
-      <pointer-type-def type-id='type-id-6582' size-in-bits='64' id='type-id-6382'/>
-      <pointer-type-def type-id='type-id-6583' size-in-bits='64' id='type-id-6381'/>
-      <pointer-type-def type-id='type-id-6584' size-in-bits='64' id='type-id-6367'/>
-      <pointer-type-def type-id='type-id-6585' size-in-bits='64' id='type-id-6352'/>
-      <pointer-type-def type-id='type-id-6586' size-in-bits='64' id='type-id-6383'/>
-      <pointer-type-def type-id='type-id-6587' size-in-bits='64' id='type-id-6388'/>
-      <pointer-type-def type-id='type-id-6588' size-in-bits='64' id='type-id-6339'/>
-      <pointer-type-def type-id='type-id-6589' size-in-bits='64' id='type-id-6403'/>
-      <pointer-type-def type-id='type-id-6590' size-in-bits='64' id='type-id-6402'/>
-      <pointer-type-def type-id='type-id-6591' size-in-bits='64' id='type-id-6337'/>
-      <pointer-type-def type-id='type-id-6592' size-in-bits='64' id='type-id-6335'/>
-      <pointer-type-def type-id='type-id-6593' size-in-bits='64' id='type-id-6336'/>
-      <pointer-type-def type-id='type-id-6594' size-in-bits='64' id='type-id-6338'/>
-      <pointer-type-def type-id='type-id-6595' size-in-bits='64' id='type-id-6349'/>
-      <pointer-type-def type-id='type-id-6596' size-in-bits='64' id='type-id-6370'/>
-      <pointer-type-def type-id='type-id-6597' size-in-bits='64' id='type-id-6385'/>
-      <pointer-type-def type-id='type-id-6598' size-in-bits='64' id='type-id-6386'/>
-      <pointer-type-def type-id='type-id-6599' size-in-bits='64' id='type-id-6333'/>
-      <pointer-type-def type-id='type-id-6600' size-in-bits='64' id='type-id-6393'/>
-      <pointer-type-def type-id='type-id-6601' size-in-bits='64' id='type-id-6379'/>
-      <pointer-type-def type-id='type-id-6602' size-in-bits='64' id='type-id-6406'/>
-      <pointer-type-def type-id='type-id-6603' size-in-bits='64' id='type-id-6409'/>
-      <pointer-type-def type-id='type-id-6604' size-in-bits='64' id='type-id-6407'/>
-      <pointer-type-def type-id='type-id-6605' size-in-bits='64' id='type-id-6411'/>
-      <pointer-type-def type-id='type-id-6606' size-in-bits='64' id='type-id-6397'/>
-      <pointer-type-def type-id='type-id-6607' size-in-bits='64' id='type-id-6371'/>
-      <pointer-type-def type-id='type-id-6608' size-in-bits='64' id='type-id-6377'/>
-      <pointer-type-def type-id='type-id-6609' size-in-bits='64' id='type-id-6372'/>
-      <pointer-type-def type-id='type-id-6610' size-in-bits='64' id='type-id-6324'/>
-      <pointer-type-def type-id='type-id-6611' size-in-bits='64' id='type-id-6378'/>
-      <pointer-type-def type-id='type-id-6612' size-in-bits='64' id='type-id-6323'/>
-      <pointer-type-def type-id='type-id-6213' size-in-bits='64' id='type-id-6424'/>
-      <pointer-type-def type-id='type-id-6215' size-in-bits='64' id='type-id-6232'/>
-      <pointer-type-def type-id='type-id-6440' size-in-bits='64' id='type-id-6613'/>
-      <pointer-type-def type-id='type-id-6439' size-in-bits='64' id='type-id-6614'/>
-      <pointer-type-def type-id='type-id-6442' size-in-bits='64' id='type-id-6615'/>
-      <pointer-type-def type-id='type-id-6307' size-in-bits='64' id='type-id-6616'/>
-      <pointer-type-def type-id='type-id-6431' size-in-bits='64' id='type-id-6617'/>
-      <pointer-type-def type-id='type-id-6432' size-in-bits='64' id='type-id-6618'/>
-      <pointer-type-def type-id='type-id-6428' size-in-bits='64' id='type-id-6619'/>
-      <pointer-type-def type-id='type-id-6460' size-in-bits='64' id='type-id-6620'/>
-      <pointer-type-def type-id='type-id-6415' size-in-bits='64' id='type-id-6621'/>
-      <pointer-type-def type-id='type-id-6622' size-in-bits='64' id='type-id-6623'/>
-      <pointer-type-def type-id='type-id-6624' size-in-bits='64' id='type-id-6373'/>
-      <pointer-type-def type-id='type-id-6625' size-in-bits='64' id='type-id-6405'/>
-      <pointer-type-def type-id='type-id-6626' size-in-bits='64' id='type-id-6239'/>
-      <pointer-type-def type-id='type-id-6627' size-in-bits='64' id='type-id-6331'/>
-      <pointer-type-def type-id='type-id-6628' size-in-bits='64' id='type-id-6360'/>
-      <pointer-type-def type-id='type-id-6629' size-in-bits='64' id='type-id-6384'/>
-      <pointer-type-def type-id='type-id-6630' size-in-bits='64' id='type-id-6408'/>
-      <pointer-type-def type-id='type-id-6231' size-in-bits='64' id='type-id-6271'/>
-      <pointer-type-def type-id='type-id-6276' size-in-bits='64' id='type-id-6447'/>
-      <pointer-type-def type-id='type-id-6631' size-in-bits='64' id='type-id-6332'/>
-      <function-decl name='wiphy_new_nm' mangled-name='wiphy_new_nm' filepath='net/wireless/core.c' line='383' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wiphy_new_nm'>
-        <parameter type-id='type-id-6509' name='ops' filepath='net/wireless/core.c' line='383' column='1'/>
-        <parameter type-id='type-id-17' name='sizeof_priv' filepath='net/wireless/core.c' line='383' column='1'/>
-        <parameter type-id='type-id-4' name='requested_name' filepath='net/wireless/core.c' line='384' column='1'/>
-        <return type-id='type-id-6271'/>
+      <pointer-type-def type-id='type-id-8803' size-in-bits='64' id='type-id-8841'/>
+      <pointer-type-def type-id='type-id-8776' size-in-bits='64' id='type-id-8842'/>
+      <pointer-type-def type-id='type-id-8810' size-in-bits='64' id='type-id-8843'/>
+      <pointer-type-def type-id='type-id-8809' size-in-bits='64' id='type-id-8844'/>
+      <pointer-type-def type-id='type-id-8777' size-in-bits='64' id='type-id-8845'/>
+      <pointer-type-def type-id='type-id-8650' size-in-bits='64' id='type-id-8652'/>
+      <pointer-type-def type-id='type-id-8648' size-in-bits='64' id='type-id-8643'/>
+      <pointer-type-def type-id='type-id-8646' size-in-bits='64' id='type-id-8846'/>
+      <pointer-type-def type-id='type-id-8827' size-in-bits='64' id='type-id-8847'/>
+      <pointer-type-def type-id='type-id-8829' size-in-bits='64' id='type-id-8828'/>
+      <pointer-type-def type-id='type-id-8571' size-in-bits='64' id='type-id-8642'/>
+      <pointer-type-def type-id='type-id-8813' size-in-bits='64' id='type-id-8848'/>
+      <pointer-type-def type-id='type-id-8657' size-in-bits='64' id='type-id-8647'/>
+      <pointer-type-def type-id='type-id-8831' size-in-bits='64' id='type-id-8849'/>
+      <pointer-type-def type-id='type-id-8811' size-in-bits='64' id='type-id-8850'/>
+      <pointer-type-def type-id='type-id-8812' size-in-bits='64' id='type-id-8851'/>
+      <pointer-type-def type-id='type-id-8839' size-in-bits='64' id='type-id-8852'/>
+      <pointer-type-def type-id='type-id-8823' size-in-bits='64' id='type-id-8853'/>
+      <pointer-type-def type-id='type-id-8818' size-in-bits='64' id='type-id-8854'/>
+      <pointer-type-def type-id='type-id-8649' size-in-bits='64' id='type-id-8645'/>
+      <pointer-type-def type-id='type-id-8637' size-in-bits='64' id='type-id-8632'/>
+      <pointer-type-def type-id='type-id-8822' size-in-bits='64' id='type-id-8855'/>
+      <pointer-type-def type-id='type-id-8833' size-in-bits='64' id='type-id-8856'/>
+      <pointer-type-def type-id='type-id-8834' size-in-bits='64' id='type-id-8857'/>
+      <pointer-type-def type-id='type-id-8837' size-in-bits='64' id='type-id-8836'/>
+      <pointer-type-def type-id='type-id-8624' size-in-bits='64' id='type-id-8621'/>
+      <pointer-type-def type-id='type-id-8821' size-in-bits='64' id='type-id-8858'/>
+      <pointer-type-def type-id='type-id-8832' size-in-bits='64' id='type-id-8859'/>
+      <pointer-type-def type-id='type-id-8806' size-in-bits='64' id='type-id-8860'/>
+      <pointer-type-def type-id='type-id-8638' size-in-bits='64' id='type-id-8633'/>
+      <pointer-type-def type-id='type-id-8629' size-in-bits='64' id='type-id-8623'/>
+      <pointer-type-def type-id='type-id-8636' size-in-bits='64' id='type-id-8630'/>
+      <pointer-type-def type-id='type-id-8797' size-in-bits='64' id='type-id-8796'/>
+      <pointer-type-def type-id='type-id-8798' size-in-bits='64' id='type-id-8861'/>
+      <pointer-type-def type-id='type-id-8825' size-in-bits='64' id='type-id-8862'/>
+      <pointer-type-def type-id='type-id-8620' size-in-bits='64' id='type-id-8602'/>
+      <pointer-type-def type-id='type-id-8625' size-in-bits='64' id='type-id-8622'/>
+      <qualified-type-def type-id='type-id-3573' const='yes' id='type-id-8863'/>
+      <qualified-type-def type-id='type-id-211' const='yes' id='type-id-8864'/>
+      <qualified-type-def type-id='type-id-8785' const='yes' id='type-id-8865'/>
+      <pointer-type-def type-id='type-id-8865' size-in-bits='64' id='type-id-8782'/>
+      <qualified-type-def type-id='type-id-8783' const='yes' id='type-id-8866'/>
+      <pointer-type-def type-id='type-id-8866' size-in-bits='64' id='type-id-8867'/>
+      <qualified-type-def type-id='type-id-8655' const='yes' id='type-id-8868'/>
+      <pointer-type-def type-id='type-id-8868' size-in-bits='64' id='type-id-8651'/>
+      <qualified-type-def type-id='type-id-8687' const='yes' id='type-id-8869'/>
+      <pointer-type-def type-id='type-id-8869' size-in-bits='64' id='type-id-8870'/>
+      <qualified-type-def type-id='type-id-8838' const='yes' id='type-id-8871'/>
+      <pointer-type-def type-id='type-id-8871' size-in-bits='64' id='type-id-8872'/>
+      <qualified-type-def type-id='type-id-8669' const='yes' id='type-id-8873'/>
+      <pointer-type-def type-id='type-id-8873' size-in-bits='64' id='type-id-8790'/>
+      <qualified-type-def type-id='type-id-8680' const='yes' id='type-id-8874'/>
+      <pointer-type-def type-id='type-id-8874' size-in-bits='64' id='type-id-8606'/>
+      <qualified-type-def type-id='type-id-8612' const='yes' id='type-id-8875'/>
+      <pointer-type-def type-id='type-id-8875' size-in-bits='64' id='type-id-8599'/>
+      <qualified-type-def type-id='type-id-8614' const='yes' id='type-id-8876'/>
+      <pointer-type-def type-id='type-id-8876' size-in-bits='64' id='type-id-8613'/>
+      <qualified-type-def type-id='type-id-8676' const='yes' id='type-id-8877'/>
+      <pointer-type-def type-id='type-id-8877' size-in-bits='64' id='type-id-8605'/>
+      <qualified-type-def type-id='type-id-8667' const='yes' id='type-id-8878'/>
+      <pointer-type-def type-id='type-id-8878' size-in-bits='64' id='type-id-8663'/>
+      <qualified-type-def type-id='type-id-8611' const='yes' id='type-id-8879'/>
+      <pointer-type-def type-id='type-id-8879' size-in-bits='64' id='type-id-8598'/>
+      <qualified-type-def type-id='type-id-8681' const='yes' id='type-id-8880'/>
+      <pointer-type-def type-id='type-id-8880' size-in-bits='64' id='type-id-8607'/>
+      <qualified-type-def type-id='type-id-8800' const='yes' id='type-id-8881'/>
+      <pointer-type-def type-id='type-id-8881' size-in-bits='64' id='type-id-8882'/>
+      <qualified-type-def type-id='type-id-8801' const='yes' id='type-id-8883'/>
+      <pointer-type-def type-id='type-id-8883' size-in-bits='64' id='type-id-8884'/>
+      <qualified-type-def type-id='type-id-8684' const='yes' id='type-id-8885'/>
+      <pointer-type-def type-id='type-id-8885' size-in-bits='64' id='type-id-8610'/>
+      <qualified-type-def type-id='type-id-8619' const='yes' id='type-id-8886'/>
+      <pointer-type-def type-id='type-id-8886' size-in-bits='64' id='type-id-8618'/>
+      <qualified-type-def type-id='type-id-8682' const='yes' id='type-id-8887'/>
+      <pointer-type-def type-id='type-id-8887' size-in-bits='64' id='type-id-8608'/>
+      <qualified-type-def type-id='type-id-8658' const='yes' id='type-id-8888'/>
+      <pointer-type-def type-id='type-id-8888' size-in-bits='64' id='type-id-8603'/>
+      <qualified-type-def type-id='type-id-8683' const='yes' id='type-id-8889'/>
+      <pointer-type-def type-id='type-id-8889' size-in-bits='64' id='type-id-8609'/>
+      <qualified-type-def type-id='type-id-8615' const='yes' id='type-id-8890'/>
+      <pointer-type-def type-id='type-id-8890' size-in-bits='64' id='type-id-8601'/>
+      <qualified-type-def type-id='type-id-8617' const='yes' id='type-id-8891'/>
+      <pointer-type-def type-id='type-id-8891' size-in-bits='64' id='type-id-8616'/>
+      <pointer-type-def type-id='type-id-8653' size-in-bits='64' id='type-id-8572'/>
+      <pointer-type-def type-id='type-id-8664' size-in-bits='64' id='type-id-8660'/>
+      <pointer-type-def type-id='type-id-8659' size-in-bits='64' id='type-id-8576'/>
+      <pointer-type-def type-id='type-id-8804' size-in-bits='64' id='type-id-8892'/>
+      <pointer-type-def type-id='type-id-8893' size-in-bits='64' id='type-id-8689'/>
+      <pointer-type-def type-id='type-id-8894' size-in-bits='64' id='type-id-8717'/>
+      <pointer-type-def type-id='type-id-8895' size-in-bits='64' id='type-id-8758'/>
+      <pointer-type-def type-id='type-id-8896' size-in-bits='64' id='type-id-8718'/>
+      <pointer-type-def type-id='type-id-8897' size-in-bits='64' id='type-id-8688'/>
+      <pointer-type-def type-id='type-id-8898' size-in-bits='64' id='type-id-8701'/>
+      <pointer-type-def type-id='type-id-8899' size-in-bits='64' id='type-id-8714'/>
+      <pointer-type-def type-id='type-id-8900' size-in-bits='64' id='type-id-8699'/>
+      <pointer-type-def type-id='type-id-8901' size-in-bits='64' id='type-id-8721'/>
+      <pointer-type-def type-id='type-id-8902' size-in-bits='64' id='type-id-8720'/>
+      <pointer-type-def type-id='type-id-8903' size-in-bits='64' id='type-id-8700'/>
+      <pointer-type-def type-id='type-id-8904' size-in-bits='64' id='type-id-8761'/>
+      <pointer-type-def type-id='type-id-8905' size-in-bits='64' id='type-id-8754'/>
+      <pointer-type-def type-id='type-id-8906' size-in-bits='64' id='type-id-8724'/>
+      <pointer-type-def type-id='type-id-8907' size-in-bits='64' id='type-id-8725'/>
+      <pointer-type-def type-id='type-id-8908' size-in-bits='64' id='type-id-8759'/>
+      <pointer-type-def type-id='type-id-8909' size-in-bits='64' id='type-id-8722'/>
+      <pointer-type-def type-id='type-id-8910' size-in-bits='64' id='type-id-8723'/>
+      <pointer-type-def type-id='type-id-8911' size-in-bits='64' id='type-id-8773'/>
+      <pointer-type-def type-id='type-id-8912' size-in-bits='64' id='type-id-8748'/>
+      <pointer-type-def type-id='type-id-8913' size-in-bits='64' id='type-id-8727'/>
+      <pointer-type-def type-id='type-id-8914' size-in-bits='64' id='type-id-8735'/>
+      <pointer-type-def type-id='type-id-8915' size-in-bits='64' id='type-id-8760'/>
+      <pointer-type-def type-id='type-id-8916' size-in-bits='64' id='type-id-8746'/>
+      <pointer-type-def type-id='type-id-8917' size-in-bits='64' id='type-id-8756'/>
+      <pointer-type-def type-id='type-id-8918' size-in-bits='64' id='type-id-8770'/>
+      <pointer-type-def type-id='type-id-8919' size-in-bits='64' id='type-id-8753'/>
+      <pointer-type-def type-id='type-id-8920' size-in-bits='64' id='type-id-8772'/>
+      <pointer-type-def type-id='type-id-8921' size-in-bits='64' id='type-id-8712'/>
+      <pointer-type-def type-id='type-id-8922' size-in-bits='64' id='type-id-8707'/>
+      <pointer-type-def type-id='type-id-8923' size-in-bits='64' id='type-id-8733'/>
+      <pointer-type-def type-id='type-id-8924' size-in-bits='64' id='type-id-8706'/>
+      <pointer-type-def type-id='type-id-8925' size-in-bits='64' id='type-id-8750'/>
+      <pointer-type-def type-id='type-id-8926' size-in-bits='64' id='type-id-8704'/>
+      <pointer-type-def type-id='type-id-8927' size-in-bits='64' id='type-id-8702'/>
+      <pointer-type-def type-id='type-id-8928' size-in-bits='64' id='type-id-8774'/>
+      <pointer-type-def type-id='type-id-8929' size-in-bits='64' id='type-id-8764'/>
+      <pointer-type-def type-id='type-id-8930' size-in-bits='64' id='type-id-8749'/>
+      <pointer-type-def type-id='type-id-8931' size-in-bits='64' id='type-id-8751'/>
+      <pointer-type-def type-id='type-id-8932' size-in-bits='64' id='type-id-8693'/>
+      <pointer-type-def type-id='type-id-8933' size-in-bits='64' id='type-id-8716'/>
+      <pointer-type-def type-id='type-id-8934' size-in-bits='64' id='type-id-8715'/>
+      <pointer-type-def type-id='type-id-8935' size-in-bits='64' id='type-id-8728'/>
+      <pointer-type-def type-id='type-id-8936' size-in-bits='64' id='type-id-8734'/>
+      <pointer-type-def type-id='type-id-8937' size-in-bits='64' id='type-id-8705'/>
+      <pointer-type-def type-id='type-id-8938' size-in-bits='64' id='type-id-8709'/>
+      <pointer-type-def type-id='type-id-8939' size-in-bits='64' id='type-id-8710'/>
+      <pointer-type-def type-id='type-id-8940' size-in-bits='64' id='type-id-8713'/>
+      <pointer-type-def type-id='type-id-8941' size-in-bits='64' id='type-id-8703'/>
+      <pointer-type-def type-id='type-id-8942' size-in-bits='64' id='type-id-8739'/>
+      <pointer-type-def type-id='type-id-8943' size-in-bits='64' id='type-id-8741'/>
+      <pointer-type-def type-id='type-id-8944' size-in-bits='64' id='type-id-8740'/>
+      <pointer-type-def type-id='type-id-8945' size-in-bits='64' id='type-id-8726'/>
+      <pointer-type-def type-id='type-id-8946' size-in-bits='64' id='type-id-8711'/>
+      <pointer-type-def type-id='type-id-8947' size-in-bits='64' id='type-id-8742'/>
+      <pointer-type-def type-id='type-id-8948' size-in-bits='64' id='type-id-8747'/>
+      <pointer-type-def type-id='type-id-8949' size-in-bits='64' id='type-id-8698'/>
+      <pointer-type-def type-id='type-id-8950' size-in-bits='64' id='type-id-8763'/>
+      <pointer-type-def type-id='type-id-8951' size-in-bits='64' id='type-id-8762'/>
+      <pointer-type-def type-id='type-id-8952' size-in-bits='64' id='type-id-8696'/>
+      <pointer-type-def type-id='type-id-8953' size-in-bits='64' id='type-id-8694'/>
+      <pointer-type-def type-id='type-id-8954' size-in-bits='64' id='type-id-8695'/>
+      <pointer-type-def type-id='type-id-8955' size-in-bits='64' id='type-id-8697'/>
+      <pointer-type-def type-id='type-id-8956' size-in-bits='64' id='type-id-8708'/>
+      <pointer-type-def type-id='type-id-8957' size-in-bits='64' id='type-id-8729'/>
+      <pointer-type-def type-id='type-id-8958' size-in-bits='64' id='type-id-8744'/>
+      <pointer-type-def type-id='type-id-8959' size-in-bits='64' id='type-id-8745'/>
+      <pointer-type-def type-id='type-id-8960' size-in-bits='64' id='type-id-8692'/>
+      <pointer-type-def type-id='type-id-8961' size-in-bits='64' id='type-id-8752'/>
+      <pointer-type-def type-id='type-id-8962' size-in-bits='64' id='type-id-8738'/>
+      <pointer-type-def type-id='type-id-8963' size-in-bits='64' id='type-id-8766'/>
+      <pointer-type-def type-id='type-id-8964' size-in-bits='64' id='type-id-8769'/>
+      <pointer-type-def type-id='type-id-8965' size-in-bits='64' id='type-id-8767'/>
+      <pointer-type-def type-id='type-id-8966' size-in-bits='64' id='type-id-8771'/>
+      <pointer-type-def type-id='type-id-8967' size-in-bits='64' id='type-id-8757'/>
+      <pointer-type-def type-id='type-id-8968' size-in-bits='64' id='type-id-8730'/>
+      <pointer-type-def type-id='type-id-8969' size-in-bits='64' id='type-id-8736'/>
+      <pointer-type-def type-id='type-id-8970' size-in-bits='64' id='type-id-8731'/>
+      <pointer-type-def type-id='type-id-8971' size-in-bits='64' id='type-id-8686'/>
+      <pointer-type-def type-id='type-id-8972' size-in-bits='64' id='type-id-8737'/>
+      <pointer-type-def type-id='type-id-8973' size-in-bits='64' id='type-id-8685'/>
+      <pointer-type-def type-id='type-id-8580' size-in-bits='64' id='type-id-8784'/>
+      <pointer-type-def type-id='type-id-8582' size-in-bits='64' id='type-id-8597'/>
+      <pointer-type-def type-id='type-id-8800' size-in-bits='64' id='type-id-8974'/>
+      <pointer-type-def type-id='type-id-8799' size-in-bits='64' id='type-id-8975'/>
+      <pointer-type-def type-id='type-id-8802' size-in-bits='64' id='type-id-8976'/>
+      <pointer-type-def type-id='type-id-8671' size-in-bits='64' id='type-id-8977'/>
+      <pointer-type-def type-id='type-id-8791' size-in-bits='64' id='type-id-8978'/>
+      <pointer-type-def type-id='type-id-8792' size-in-bits='64' id='type-id-8979'/>
+      <pointer-type-def type-id='type-id-8788' size-in-bits='64' id='type-id-8980'/>
+      <pointer-type-def type-id='type-id-8820' size-in-bits='64' id='type-id-8981'/>
+      <pointer-type-def type-id='type-id-8775' size-in-bits='64' id='type-id-8982'/>
+      <pointer-type-def type-id='type-id-8983' size-in-bits='64' id='type-id-8984'/>
+      <pointer-type-def type-id='type-id-8985' size-in-bits='64' id='type-id-8732'/>
+      <pointer-type-def type-id='type-id-8986' size-in-bits='64' id='type-id-8755'/>
+      <pointer-type-def type-id='type-id-8987' size-in-bits='64' id='type-id-8765'/>
+      <pointer-type-def type-id='type-id-8988' size-in-bits='64' id='type-id-8604'/>
+      <pointer-type-def type-id='type-id-8989' size-in-bits='64' id='type-id-8690'/>
+      <pointer-type-def type-id='type-id-8990' size-in-bits='64' id='type-id-8719'/>
+      <pointer-type-def type-id='type-id-8991' size-in-bits='64' id='type-id-8743'/>
+      <pointer-type-def type-id='type-id-8992' size-in-bits='64' id='type-id-8768'/>
+      <pointer-type-def type-id='type-id-8596' size-in-bits='64' id='type-id-8635'/>
+      <pointer-type-def type-id='type-id-8640' size-in-bits='64' id='type-id-8807'/>
+      <pointer-type-def type-id='type-id-8993' size-in-bits='64' id='type-id-8691'/>
+      <function-decl name='wiphy_free' mangled-name='wiphy_free' filepath='include/net/cfg80211.h' line='4244' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wiphy_free'>
+        <parameter type-id='type-id-8635'/>
+        <return type-id='type-id-73'/>
       </function-decl>
-      <function-decl name='wiphy_free' mangled-name='wiphy_free' filepath='net/wireless/core.c' line='1001' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wiphy_free'>
-        <parameter type-id='type-id-6271' name='wiphy' filepath='net/wireless/core.c' line='1001' column='1'/>
-        <return type-id='type-id-81'/>
+      <function-decl name='wiphy_unregister' mangled-name='wiphy_unregister' filepath='include/net/cfg80211.h' line='4237' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wiphy_unregister'>
+        <parameter type-id='type-id-8635'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='cfg80211_put_bss' mangled-name='cfg80211_put_bss' filepath='include/net/cfg80211.h' line='5106' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfg80211_put_bss'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-8652'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='wiphy_new_nm' mangled-name='wiphy_new_nm' filepath='net/wireless/core.c' line='383' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wiphy_new_nm'>
+        <parameter type-id='type-id-8870' name='ops' filepath='net/wireless/core.c' line='383' column='1'/>
+        <parameter type-id='type-id-11' name='sizeof_priv' filepath='net/wireless/core.c' line='383' column='1'/>
+        <parameter type-id='type-id-24' name='requested_name' filepath='net/wireless/core.c' line='384' column='1'/>
+        <return type-id='type-id-8635'/>
       </function-decl>
       <function-decl name='wiphy_register' mangled-name='wiphy_register' filepath='net/wireless/core.c' line='631' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wiphy_register'>
-        <parameter type-id='type-id-6271' name='wiphy' filepath='net/wireless/core.c' line='631' column='1'/>
-        <return type-id='type-id-17'/>
+        <parameter type-id='type-id-8635' name='wiphy' filepath='net/wireless/core.c' line='631' column='1'/>
+        <return type-id='type-id-11'/>
       </function-decl>
-      <function-decl name='wiphy_unregister' mangled-name='wiphy_unregister' filepath='net/wireless/core.c' line='929' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wiphy_unregister'>
-        <parameter type-id='type-id-6271' name='wiphy' filepath='net/wireless/core.c' line='929' column='1'/>
-        <return type-id='type-id-81'/>
-      </function-decl>
-      <function-type size-in-bits='64' id='type-id-6532'>
-        <parameter type-id='type-id-6271'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8893'>
+        <parameter type-id='type-id-8635'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6533'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-6486'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8894'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-8846'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6534'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-6487'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8895'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-8847'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6535'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-6500'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8896'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-8860'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6536'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-6237'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8897'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-8602'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6537'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8898'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6538'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-6481'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8899'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-8841'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6539'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-6482'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8900'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-8842'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6540'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-6483'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8901'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-8843'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6541'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-6484'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8902'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-8844'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6542'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-6485'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8903'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-8845'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6543'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-6486'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8904'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-8846'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6544'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-6486'/>
-        <parameter type-id='type-id-7'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8905'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-8846'/>
+        <parameter type-id='type-id-9'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6545'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-6488'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8906'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-8848'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6546'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-6488'/>
-        <parameter type-id='type-id-7'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8907'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-8848'/>
+        <parameter type-id='type-id-9'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6547'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-6489'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8908'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-8849'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6548'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-6490'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8909'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-8850'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6549'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-6491'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8910'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-8851'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6550'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-6492'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8911'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-8852'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6551'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-6493'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8912'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-8853'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6552'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-6494'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8913'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-8854'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6553'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-6498'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8914'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-8858'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6554'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-6499'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8915'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-8859'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6555'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-6258'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8916'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-8623'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6556'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-6502'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8917'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-8862'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6557'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-3880'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8918'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-8864'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6558'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-6422'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8919'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-8782'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6559'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-6511'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8920'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-8872'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6560'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-6521'/>
-        <parameter type-id='type-id-6523'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8921'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-8882'/>
+        <parameter type-id='type-id-8884'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6561'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-658'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8922'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-55'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6562'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-658'/>
-        <parameter type-id='type-id-6506'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8923'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-55'/>
+        <parameter type-id='type-id-8867'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6563'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-658'/>
-        <parameter type-id='type-id-658'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8924'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-55'/>
+        <parameter type-id='type-id-55'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6564'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-658'/>
-        <parameter type-id='type-id-6464'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8925'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-55'/>
+        <parameter type-id='type-id-8824'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6565'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-658'/>
-        <parameter type-id='type-id-6618'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8926'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-55'/>
+        <parameter type-id='type-id-8979'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6566'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-658'/>
-        <parameter type-id='type-id-6619'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8927'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-55'/>
+        <parameter type-id='type-id-8980'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6567'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-658'/>
-        <parameter type-id='type-id-84'/>
-        <parameter type-id='type-id-658'/>
-        <parameter type-id='type-id-6503'/>
-        <parameter type-id='type-id-3880'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8928'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-55'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-55'/>
+        <parameter type-id='type-id-8863'/>
+        <parameter type-id='type-id-8864'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6568'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-658'/>
-        <parameter type-id='type-id-214'/>
-        <parameter type-id='type-id-6486'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8929'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-55'/>
+        <parameter type-id='type-id-53'/>
+        <parameter type-id='type-id-8846'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6569'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-658'/>
-        <parameter type-id='type-id-214'/>
-        <parameter type-id='type-id-214'/>
-        <parameter type-id='type-id-688'/>
-        <parameter type-id='type-id-7'/>
-        <parameter type-id='type-id-33'/>
-        <parameter type-id='type-id-658'/>
-        <parameter type-id='type-id-84'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8930'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-55'/>
+        <parameter type-id='type-id-53'/>
+        <parameter type-id='type-id-53'/>
+        <parameter type-id='type-id-289'/>
+        <parameter type-id='type-id-9'/>
+        <parameter type-id='type-id-211'/>
+        <parameter type-id='type-id-55'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6570'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-658'/>
-        <parameter type-id='type-id-1510'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8931'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-55'/>
+        <parameter type-id='type-id-1888'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6571'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-6277'/>
-        <parameter type-id='type-id-6621'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8932'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-8641'/>
+        <parameter type-id='type-id-8982'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6572'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-6205'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8933'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-8572'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6573'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-6531'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8934'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-8892'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6574'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-666'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8935'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-82'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6575'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-6620'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8936'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-8981'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6576'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-3121'/>
-        <parameter type-id='type-id-6618'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8937'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-67'/>
+        <parameter type-id='type-id-8979'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6577'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-3121'/>
-        <parameter type-id='type-id-3121'/>
-        <parameter type-id='type-id-6614'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8938'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-67'/>
+        <parameter type-id='type-id-67'/>
+        <parameter type-id='type-id-8975'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-8939'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-8974'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6578'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-6613'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8940'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-8976'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6579'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-6615'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8941'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-8978'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6580'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-6617'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8942'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-211'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6581'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-33'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8943'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-939'/>
+        <parameter type-id='type-id-939'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6582'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-738'/>
-        <parameter type-id='type-id-738'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8944'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-939'/>
+        <parameter type-id='type-id-9'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6583'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-738'/>
-        <parameter type-id='type-id-7'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8945'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-289'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6584'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-688'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8946'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-9'/>
+        <parameter type-id='type-id-8882'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6585'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-7'/>
-        <parameter type-id='type-id-6521'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8947'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-9'/>
+        <parameter type-id='type-id-9'/>
+        <parameter type-id='type-id-9'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6586'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-7'/>
-        <parameter type-id='type-id-7'/>
-        <parameter type-id='type-id-7'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8948'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-134'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6587'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-40'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8949'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-53'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6588'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-214'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8950'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-53'/>
+        <parameter type-id='type-id-55'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6589'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-214'/>
-        <parameter type-id='type-id-658'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8951'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-53'/>
+        <parameter type-id='type-id-55'/>
+        <parameter type-id='type-id-53'/>
+        <parameter type-id='type-id-289'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6590'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-214'/>
-        <parameter type-id='type-id-658'/>
-        <parameter type-id='type-id-214'/>
-        <parameter type-id='type-id-688'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8952'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-53'/>
+        <parameter type-id='type-id-211'/>
+        <parameter type-id='type-id-55'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6591'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-214'/>
-        <parameter type-id='type-id-33'/>
-        <parameter type-id='type-id-658'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8953'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-53'/>
+        <parameter type-id='type-id-211'/>
+        <parameter type-id='type-id-55'/>
+        <parameter type-id='type-id-8784'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6592'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-214'/>
-        <parameter type-id='type-id-33'/>
-        <parameter type-id='type-id-658'/>
-        <parameter type-id='type-id-6424'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8954'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-53'/>
+        <parameter type-id='type-id-211'/>
+        <parameter type-id='type-id-55'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-8984'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6593'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-214'/>
-        <parameter type-id='type-id-33'/>
-        <parameter type-id='type-id-658'/>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-6623'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8955'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-53'/>
+        <parameter type-id='type-id-211'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6594'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-214'/>
-        <parameter type-id='type-id-33'/>
-        <parameter type-id='type-id-33'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8956'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-67'/>
+        <parameter type-id='type-id-67'/>
+        <parameter type-id='type-id-8975'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6595'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-3121'/>
-        <parameter type-id='type-id-3121'/>
-        <parameter type-id='type-id-6614'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8957'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-9'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6596'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-7'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8958'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-9'/>
+        <parameter type-id='type-id-9'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6597'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-7'/>
-        <parameter type-id='type-id-7'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8959'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-347'/>
+        <parameter type-id='type-id-347'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6598'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1567'/>
-        <parameter type-id='type-id-1567'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8960'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-8807'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6599'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-6447'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8961'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-8807'/>
+        <parameter type-id='type-id-8846'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6600'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-6447'/>
-        <parameter type-id='type-id-6486'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8962'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-8807'/>
+        <parameter type-id='type-id-8855'/>
+        <parameter type-id='type-id-1888'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6601'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-6447'/>
-        <parameter type-id='type-id-6495'/>
-        <parameter type-id='type-id-1510'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8963'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-8807'/>
+        <parameter type-id='type-id-8856'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6602'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-6447'/>
-        <parameter type-id='type-id-6496'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8964'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-8807'/>
+        <parameter type-id='type-id-8856'/>
+        <parameter type-id='type-id-9'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6603'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-6447'/>
-        <parameter type-id='type-id-6496'/>
-        <parameter type-id='type-id-7'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8965'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-8807'/>
+        <parameter type-id='type-id-8857'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6604'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-6447'/>
-        <parameter type-id='type-id-6497'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8966'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-8807'/>
+        <parameter type-id='type-id-8861'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6605'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-6447'/>
-        <parameter type-id='type-id-6501'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8967'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-8807'/>
+        <parameter type-id='type-id-8826'/>
+        <parameter type-id='type-id-289'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6606'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-6447'/>
-        <parameter type-id='type-id-6466'/>
-        <parameter type-id='type-id-688'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8968'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-8807'/>
+        <parameter type-id='type-id-8819'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6607'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-6447'/>
-        <parameter type-id='type-id-6459'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8969'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-8807'/>
+        <parameter type-id='type-id-8572'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-1888'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6608'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-6447'/>
-        <parameter type-id='type-id-6205'/>
-        <parameter type-id='type-id-5'/>
-        <parameter type-id='type-id-1510'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8970'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-8807'/>
+        <parameter type-id='type-id-82'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6609'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-6447'/>
-        <parameter type-id='type-id-666'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8971'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-8807'/>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-76'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6610'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-6447'/>
-        <parameter type-id='type-id-1768'/>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-17'/>
-        <parameter type-id='type-id-45'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8972'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-8807'/>
+        <parameter type-id='type-id-134'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6611'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-6447'/>
-        <parameter type-id='type-id-40'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8973'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-8807'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6612'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-6447'/>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-17'/>
-        <return type-id='type-id-17'/>
+      <function-type size-in-bits='64' id='type-id-8983'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-8784'/>
+        <return type-id='type-id-73'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6622'>
-        <parameter type-id='type-id-15'/>
-        <parameter type-id='type-id-6424'/>
-        <return type-id='type-id-81'/>
+      <function-type size-in-bits='64' id='type-id-8985'>
+        <parameter type-id='type-id-8635'/>
+        <return type-id='type-id-73'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6624'>
-        <parameter type-id='type-id-6271'/>
-        <return type-id='type-id-81'/>
+      <function-type size-in-bits='64' id='type-id-8986'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <return type-id='type-id-73'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6625'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-1650'/>
-        <parameter type-id='type-id-658'/>
-        <return type-id='type-id-81'/>
+      <function-type size-in-bits='64' id='type-id-8987'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-2976'/>
+        <parameter type-id='type-id-55'/>
+        <return type-id='type-id-73'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6626'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-6616'/>
-        <return type-id='type-id-81'/>
+      <function-type size-in-bits='64' id='type-id-8988'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-8977'/>
+        <return type-id='type-id-73'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6627'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-33'/>
-        <return type-id='type-id-81'/>
+      <function-type size-in-bits='64' id='type-id-8989'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-73'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6628'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-6447'/>
-        <return type-id='type-id-81'/>
+      <function-type size-in-bits='64' id='type-id-8990'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-8807'/>
+        <return type-id='type-id-73'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6629'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-6447'/>
-        <parameter type-id='type-id-688'/>
-        <parameter type-id='type-id-33'/>
-        <return type-id='type-id-81'/>
+      <function-type size-in-bits='64' id='type-id-8991'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-8807'/>
+        <parameter type-id='type-id-289'/>
+        <parameter type-id='type-id-211'/>
+        <return type-id='type-id-73'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6630'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-6447'/>
-        <parameter type-id='type-id-40'/>
-        <return type-id='type-id-81'/>
+      <function-type size-in-bits='64' id='type-id-8992'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-8807'/>
+        <parameter type-id='type-id-134'/>
+        <return type-id='type-id-73'/>
       </function-type>
-      <function-type size-in-bits='64' id='type-id-6631'>
-        <parameter type-id='type-id-6271'/>
-        <parameter type-id='type-id-4'/>
-        <parameter type-id='type-id-216'/>
-        <parameter type-id='type-id-6277'/>
-        <parameter type-id='type-id-6621'/>
-        <return type-id='type-id-6447'/>
+      <function-type size-in-bits='64' id='type-id-8993'>
+        <parameter type-id='type-id-8635'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-271'/>
+        <parameter type-id='type-id-8641'/>
+        <parameter type-id='type-id-8982'/>
+        <return type-id='type-id-8807'/>
       </function-type>
     </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='net/wireless/scan.c' language='LANG_C89'>
-      <class-decl name='cfg80211_inform_bss' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1929' column='1' id='type-id-6632'>
+    <abi-instr version='1.0' address-size='64' path='net/wireless/ibss.c' language='LANG_C89'>
+      <function-decl name='cfg80211_ibss_joined' mangled-name='cfg80211_ibss_joined' filepath='net/wireless/ibss.c' line='59' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfg80211_ibss_joined'>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/wireless/ibss.c' line='59' column='1'/>
+        <parameter type-id='type-id-55' name='bssid' filepath='net/wireless/ibss.c' line='59' column='1'/>
+        <parameter type-id='type-id-8572' name='channel' filepath='net/wireless/ibss.c' line='60' column='1'/>
+        <parameter type-id='type-id-272' name='gfp' filepath='net/wireless/ibss.c' line='60' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='net/wireless/mlme.c' language='LANG_C89'>
+      <enum-decl name='nl80211_key_type' filepath='include/uapi/linux/nl80211.h' line='4213' column='1' id='type-id-8994'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='NL80211_KEYTYPE_GROUP' value='0'/>
+        <enumerator name='NL80211_KEYTYPE_PAIRWISE' value='1'/>
+        <enumerator name='NL80211_KEYTYPE_PEERKEY' value='2'/>
+        <enumerator name='NUM_NL80211_KEYTYPES' value='3'/>
+      </enum-decl>
+      <function-decl name='cfg80211_assoc_timeout' mangled-name='cfg80211_assoc_timeout' filepath='net/wireless/mlme.c' line='142' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfg80211_assoc_timeout'>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/wireless/mlme.c' line='142' column='1'/>
+        <parameter type-id='type-id-8652' name='bss' filepath='net/wireless/mlme.c' line='142' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='cfg80211_michael_mic_failure' mangled-name='cfg80211_michael_mic_failure' filepath='net/wireless/mlme.c' line='189' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfg80211_michael_mic_failure'>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/wireless/mlme.c' line='189' column='1'/>
+        <parameter type-id='type-id-55' name='addr' filepath='net/wireless/mlme.c' line='189' column='1'/>
+        <parameter type-id='type-id-8994' name='key_type' filepath='net/wireless/mlme.c' line='190' column='1'/>
+        <parameter type-id='type-id-11' name='key_id' filepath='net/wireless/mlme.c' line='190' column='1'/>
+        <parameter type-id='type-id-55' name='tsc' filepath='net/wireless/mlme.c' line='191' column='1'/>
+        <parameter type-id='type-id-272' name='gfp' filepath='net/wireless/mlme.c' line='191' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='cfg80211_rx_mgmt' mangled-name='cfg80211_rx_mgmt' filepath='net/wireless/mlme.c' line='695' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfg80211_rx_mgmt'>
+        <parameter type-id='type-id-8807' name='wdev' filepath='net/wireless/mlme.c' line='695' column='1'/>
+        <parameter type-id='type-id-11' name='freq' filepath='net/wireless/mlme.c' line='695' column='1'/>
+        <parameter type-id='type-id-11' name='sig_dbm' filepath='net/wireless/mlme.c' line='695' column='1'/>
+        <parameter type-id='type-id-55' name='buf' filepath='net/wireless/mlme.c' line='696' column='1'/>
+        <parameter type-id='type-id-125' name='len' filepath='net/wireless/mlme.c' line='696' column='1'/>
+        <parameter type-id='type-id-9' name='flags' filepath='net/wireless/mlme.c' line='696' column='1'/>
+        <return type-id='type-id-211'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='net/wireless/nl80211.c' language='LANG_C89'>
+      <enum-decl name='nl80211_commands' filepath='include/uapi/linux/nl80211.h' line='1039' column='1' id='type-id-8995'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='NL80211_CMD_UNSPEC' value='0'/>
+        <enumerator name='NL80211_CMD_GET_WIPHY' value='1'/>
+        <enumerator name='NL80211_CMD_SET_WIPHY' value='2'/>
+        <enumerator name='NL80211_CMD_NEW_WIPHY' value='3'/>
+        <enumerator name='NL80211_CMD_DEL_WIPHY' value='4'/>
+        <enumerator name='NL80211_CMD_GET_INTERFACE' value='5'/>
+        <enumerator name='NL80211_CMD_SET_INTERFACE' value='6'/>
+        <enumerator name='NL80211_CMD_NEW_INTERFACE' value='7'/>
+        <enumerator name='NL80211_CMD_DEL_INTERFACE' value='8'/>
+        <enumerator name='NL80211_CMD_GET_KEY' value='9'/>
+        <enumerator name='NL80211_CMD_SET_KEY' value='10'/>
+        <enumerator name='NL80211_CMD_NEW_KEY' value='11'/>
+        <enumerator name='NL80211_CMD_DEL_KEY' value='12'/>
+        <enumerator name='NL80211_CMD_GET_BEACON' value='13'/>
+        <enumerator name='NL80211_CMD_SET_BEACON' value='14'/>
+        <enumerator name='NL80211_CMD_START_AP' value='15'/>
+        <enumerator name='NL80211_CMD_NEW_BEACON' value='15'/>
+        <enumerator name='NL80211_CMD_STOP_AP' value='16'/>
+        <enumerator name='NL80211_CMD_DEL_BEACON' value='16'/>
+        <enumerator name='NL80211_CMD_GET_STATION' value='17'/>
+        <enumerator name='NL80211_CMD_SET_STATION' value='18'/>
+        <enumerator name='NL80211_CMD_NEW_STATION' value='19'/>
+        <enumerator name='NL80211_CMD_DEL_STATION' value='20'/>
+        <enumerator name='NL80211_CMD_GET_MPATH' value='21'/>
+        <enumerator name='NL80211_CMD_SET_MPATH' value='22'/>
+        <enumerator name='NL80211_CMD_NEW_MPATH' value='23'/>
+        <enumerator name='NL80211_CMD_DEL_MPATH' value='24'/>
+        <enumerator name='NL80211_CMD_SET_BSS' value='25'/>
+        <enumerator name='NL80211_CMD_SET_REG' value='26'/>
+        <enumerator name='NL80211_CMD_REQ_SET_REG' value='27'/>
+        <enumerator name='NL80211_CMD_GET_MESH_CONFIG' value='28'/>
+        <enumerator name='NL80211_CMD_SET_MESH_CONFIG' value='29'/>
+        <enumerator name='NL80211_CMD_SET_MGMT_EXTRA_IE' value='30'/>
+        <enumerator name='NL80211_CMD_GET_REG' value='31'/>
+        <enumerator name='NL80211_CMD_GET_SCAN' value='32'/>
+        <enumerator name='NL80211_CMD_TRIGGER_SCAN' value='33'/>
+        <enumerator name='NL80211_CMD_NEW_SCAN_RESULTS' value='34'/>
+        <enumerator name='NL80211_CMD_SCAN_ABORTED' value='35'/>
+        <enumerator name='NL80211_CMD_REG_CHANGE' value='36'/>
+        <enumerator name='NL80211_CMD_AUTHENTICATE' value='37'/>
+        <enumerator name='NL80211_CMD_ASSOCIATE' value='38'/>
+        <enumerator name='NL80211_CMD_DEAUTHENTICATE' value='39'/>
+        <enumerator name='NL80211_CMD_DISASSOCIATE' value='40'/>
+        <enumerator name='NL80211_CMD_MICHAEL_MIC_FAILURE' value='41'/>
+        <enumerator name='NL80211_CMD_REG_BEACON_HINT' value='42'/>
+        <enumerator name='NL80211_CMD_JOIN_IBSS' value='43'/>
+        <enumerator name='NL80211_CMD_LEAVE_IBSS' value='44'/>
+        <enumerator name='NL80211_CMD_TESTMODE' value='45'/>
+        <enumerator name='NL80211_CMD_CONNECT' value='46'/>
+        <enumerator name='NL80211_CMD_ROAM' value='47'/>
+        <enumerator name='NL80211_CMD_DISCONNECT' value='48'/>
+        <enumerator name='NL80211_CMD_SET_WIPHY_NETNS' value='49'/>
+        <enumerator name='NL80211_CMD_GET_SURVEY' value='50'/>
+        <enumerator name='NL80211_CMD_NEW_SURVEY_RESULTS' value='51'/>
+        <enumerator name='NL80211_CMD_SET_PMKSA' value='52'/>
+        <enumerator name='NL80211_CMD_DEL_PMKSA' value='53'/>
+        <enumerator name='NL80211_CMD_FLUSH_PMKSA' value='54'/>
+        <enumerator name='NL80211_CMD_REMAIN_ON_CHANNEL' value='55'/>
+        <enumerator name='NL80211_CMD_CANCEL_REMAIN_ON_CHANNEL' value='56'/>
+        <enumerator name='NL80211_CMD_SET_TX_BITRATE_MASK' value='57'/>
+        <enumerator name='NL80211_CMD_REGISTER_FRAME' value='58'/>
+        <enumerator name='NL80211_CMD_REGISTER_ACTION' value='58'/>
+        <enumerator name='NL80211_CMD_FRAME' value='59'/>
+        <enumerator name='NL80211_CMD_ACTION' value='59'/>
+        <enumerator name='NL80211_CMD_FRAME_TX_STATUS' value='60'/>
+        <enumerator name='NL80211_CMD_ACTION_TX_STATUS' value='60'/>
+        <enumerator name='NL80211_CMD_SET_POWER_SAVE' value='61'/>
+        <enumerator name='NL80211_CMD_GET_POWER_SAVE' value='62'/>
+        <enumerator name='NL80211_CMD_SET_CQM' value='63'/>
+        <enumerator name='NL80211_CMD_NOTIFY_CQM' value='64'/>
+        <enumerator name='NL80211_CMD_SET_CHANNEL' value='65'/>
+        <enumerator name='NL80211_CMD_SET_WDS_PEER' value='66'/>
+        <enumerator name='NL80211_CMD_FRAME_WAIT_CANCEL' value='67'/>
+        <enumerator name='NL80211_CMD_JOIN_MESH' value='68'/>
+        <enumerator name='NL80211_CMD_LEAVE_MESH' value='69'/>
+        <enumerator name='NL80211_CMD_UNPROT_DEAUTHENTICATE' value='70'/>
+        <enumerator name='NL80211_CMD_UNPROT_DISASSOCIATE' value='71'/>
+        <enumerator name='NL80211_CMD_NEW_PEER_CANDIDATE' value='72'/>
+        <enumerator name='NL80211_CMD_GET_WOWLAN' value='73'/>
+        <enumerator name='NL80211_CMD_SET_WOWLAN' value='74'/>
+        <enumerator name='NL80211_CMD_START_SCHED_SCAN' value='75'/>
+        <enumerator name='NL80211_CMD_STOP_SCHED_SCAN' value='76'/>
+        <enumerator name='NL80211_CMD_SCHED_SCAN_RESULTS' value='77'/>
+        <enumerator name='NL80211_CMD_SCHED_SCAN_STOPPED' value='78'/>
+        <enumerator name='NL80211_CMD_SET_REKEY_OFFLOAD' value='79'/>
+        <enumerator name='NL80211_CMD_PMKSA_CANDIDATE' value='80'/>
+        <enumerator name='NL80211_CMD_TDLS_OPER' value='81'/>
+        <enumerator name='NL80211_CMD_TDLS_MGMT' value='82'/>
+        <enumerator name='NL80211_CMD_UNEXPECTED_FRAME' value='83'/>
+        <enumerator name='NL80211_CMD_PROBE_CLIENT' value='84'/>
+        <enumerator name='NL80211_CMD_REGISTER_BEACONS' value='85'/>
+        <enumerator name='NL80211_CMD_UNEXPECTED_4ADDR_FRAME' value='86'/>
+        <enumerator name='NL80211_CMD_SET_NOACK_MAP' value='87'/>
+        <enumerator name='NL80211_CMD_CH_SWITCH_NOTIFY' value='88'/>
+        <enumerator name='NL80211_CMD_START_P2P_DEVICE' value='89'/>
+        <enumerator name='NL80211_CMD_STOP_P2P_DEVICE' value='90'/>
+        <enumerator name='NL80211_CMD_CONN_FAILED' value='91'/>
+        <enumerator name='NL80211_CMD_SET_MCAST_RATE' value='92'/>
+        <enumerator name='NL80211_CMD_SET_MAC_ACL' value='93'/>
+        <enumerator name='NL80211_CMD_RADAR_DETECT' value='94'/>
+        <enumerator name='NL80211_CMD_GET_PROTOCOL_FEATURES' value='95'/>
+        <enumerator name='NL80211_CMD_UPDATE_FT_IES' value='96'/>
+        <enumerator name='NL80211_CMD_FT_EVENT' value='97'/>
+        <enumerator name='NL80211_CMD_CRIT_PROTOCOL_START' value='98'/>
+        <enumerator name='NL80211_CMD_CRIT_PROTOCOL_STOP' value='99'/>
+        <enumerator name='NL80211_CMD_GET_COALESCE' value='100'/>
+        <enumerator name='NL80211_CMD_SET_COALESCE' value='101'/>
+        <enumerator name='NL80211_CMD_CHANNEL_SWITCH' value='102'/>
+        <enumerator name='NL80211_CMD_VENDOR' value='103'/>
+        <enumerator name='NL80211_CMD_SET_QOS_MAP' value='104'/>
+        <enumerator name='NL80211_CMD_ADD_TX_TS' value='105'/>
+        <enumerator name='NL80211_CMD_DEL_TX_TS' value='106'/>
+        <enumerator name='NL80211_CMD_GET_MPP' value='107'/>
+        <enumerator name='NL80211_CMD_JOIN_OCB' value='108'/>
+        <enumerator name='NL80211_CMD_LEAVE_OCB' value='109'/>
+        <enumerator name='NL80211_CMD_CH_SWITCH_STARTED_NOTIFY' value='110'/>
+        <enumerator name='NL80211_CMD_TDLS_CHANNEL_SWITCH' value='111'/>
+        <enumerator name='NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH' value='112'/>
+        <enumerator name='NL80211_CMD_WIPHY_REG_CHANGE' value='113'/>
+        <enumerator name='NL80211_CMD_ABORT_SCAN' value='114'/>
+        <enumerator name='NL80211_CMD_START_NAN' value='115'/>
+        <enumerator name='NL80211_CMD_STOP_NAN' value='116'/>
+        <enumerator name='NL80211_CMD_ADD_NAN_FUNCTION' value='117'/>
+        <enumerator name='NL80211_CMD_DEL_NAN_FUNCTION' value='118'/>
+        <enumerator name='NL80211_CMD_CHANGE_NAN_CONFIG' value='119'/>
+        <enumerator name='NL80211_CMD_NAN_MATCH' value='120'/>
+        <enumerator name='NL80211_CMD_SET_MULTICAST_TO_UNICAST' value='121'/>
+        <enumerator name='NL80211_CMD_UPDATE_CONNECT_PARAMS' value='122'/>
+        <enumerator name='NL80211_CMD_SET_PMK' value='123'/>
+        <enumerator name='NL80211_CMD_DEL_PMK' value='124'/>
+        <enumerator name='NL80211_CMD_PORT_AUTHORIZED' value='125'/>
+        <enumerator name='NL80211_CMD_RELOAD_REGDB' value='126'/>
+        <enumerator name='NL80211_CMD_EXTERNAL_AUTH' value='127'/>
+        <enumerator name='NL80211_CMD_STA_OPMODE_CHANGED' value='128'/>
+        <enumerator name='NL80211_CMD_CONTROL_PORT_FRAME' value='129'/>
+        <enumerator name='__NL80211_CMD_AFTER_LAST' value='130'/>
+        <enumerator name='NL80211_CMD_MAX' value='129'/>
+      </enum-decl>
+      <enum-decl name='nl80211_attrs' filepath='include/uapi/linux/nl80211.h' line='2248' column='1' id='type-id-8996'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='NL80211_ATTR_UNSPEC' value='0'/>
+        <enumerator name='NL80211_ATTR_WIPHY' value='1'/>
+        <enumerator name='NL80211_ATTR_WIPHY_NAME' value='2'/>
+        <enumerator name='NL80211_ATTR_IFINDEX' value='3'/>
+        <enumerator name='NL80211_ATTR_IFNAME' value='4'/>
+        <enumerator name='NL80211_ATTR_IFTYPE' value='5'/>
+        <enumerator name='NL80211_ATTR_MAC' value='6'/>
+        <enumerator name='NL80211_ATTR_KEY_DATA' value='7'/>
+        <enumerator name='NL80211_ATTR_KEY_IDX' value='8'/>
+        <enumerator name='NL80211_ATTR_KEY_CIPHER' value='9'/>
+        <enumerator name='NL80211_ATTR_KEY_SEQ' value='10'/>
+        <enumerator name='NL80211_ATTR_KEY_DEFAULT' value='11'/>
+        <enumerator name='NL80211_ATTR_BEACON_INTERVAL' value='12'/>
+        <enumerator name='NL80211_ATTR_DTIM_PERIOD' value='13'/>
+        <enumerator name='NL80211_ATTR_BEACON_HEAD' value='14'/>
+        <enumerator name='NL80211_ATTR_BEACON_TAIL' value='15'/>
+        <enumerator name='NL80211_ATTR_STA_AID' value='16'/>
+        <enumerator name='NL80211_ATTR_STA_FLAGS' value='17'/>
+        <enumerator name='NL80211_ATTR_STA_LISTEN_INTERVAL' value='18'/>
+        <enumerator name='NL80211_ATTR_STA_SUPPORTED_RATES' value='19'/>
+        <enumerator name='NL80211_ATTR_STA_VLAN' value='20'/>
+        <enumerator name='NL80211_ATTR_STA_INFO' value='21'/>
+        <enumerator name='NL80211_ATTR_WIPHY_BANDS' value='22'/>
+        <enumerator name='NL80211_ATTR_MNTR_FLAGS' value='23'/>
+        <enumerator name='NL80211_ATTR_MESH_ID' value='24'/>
+        <enumerator name='NL80211_ATTR_STA_PLINK_ACTION' value='25'/>
+        <enumerator name='NL80211_ATTR_MPATH_NEXT_HOP' value='26'/>
+        <enumerator name='NL80211_ATTR_MPATH_INFO' value='27'/>
+        <enumerator name='NL80211_ATTR_BSS_CTS_PROT' value='28'/>
+        <enumerator name='NL80211_ATTR_BSS_SHORT_PREAMBLE' value='29'/>
+        <enumerator name='NL80211_ATTR_BSS_SHORT_SLOT_TIME' value='30'/>
+        <enumerator name='NL80211_ATTR_HT_CAPABILITY' value='31'/>
+        <enumerator name='NL80211_ATTR_SUPPORTED_IFTYPES' value='32'/>
+        <enumerator name='NL80211_ATTR_REG_ALPHA2' value='33'/>
+        <enumerator name='NL80211_ATTR_REG_RULES' value='34'/>
+        <enumerator name='NL80211_ATTR_MESH_CONFIG' value='35'/>
+        <enumerator name='NL80211_ATTR_BSS_BASIC_RATES' value='36'/>
+        <enumerator name='NL80211_ATTR_WIPHY_TXQ_PARAMS' value='37'/>
+        <enumerator name='NL80211_ATTR_WIPHY_FREQ' value='38'/>
+        <enumerator name='NL80211_ATTR_WIPHY_CHANNEL_TYPE' value='39'/>
+        <enumerator name='NL80211_ATTR_KEY_DEFAULT_MGMT' value='40'/>
+        <enumerator name='NL80211_ATTR_MGMT_SUBTYPE' value='41'/>
+        <enumerator name='NL80211_ATTR_IE' value='42'/>
+        <enumerator name='NL80211_ATTR_MAX_NUM_SCAN_SSIDS' value='43'/>
+        <enumerator name='NL80211_ATTR_SCAN_FREQUENCIES' value='44'/>
+        <enumerator name='NL80211_ATTR_SCAN_SSIDS' value='45'/>
+        <enumerator name='NL80211_ATTR_GENERATION' value='46'/>
+        <enumerator name='NL80211_ATTR_BSS' value='47'/>
+        <enumerator name='NL80211_ATTR_REG_INITIATOR' value='48'/>
+        <enumerator name='NL80211_ATTR_REG_TYPE' value='49'/>
+        <enumerator name='NL80211_ATTR_SUPPORTED_COMMANDS' value='50'/>
+        <enumerator name='NL80211_ATTR_FRAME' value='51'/>
+        <enumerator name='NL80211_ATTR_SSID' value='52'/>
+        <enumerator name='NL80211_ATTR_AUTH_TYPE' value='53'/>
+        <enumerator name='NL80211_ATTR_REASON_CODE' value='54'/>
+        <enumerator name='NL80211_ATTR_KEY_TYPE' value='55'/>
+        <enumerator name='NL80211_ATTR_MAX_SCAN_IE_LEN' value='56'/>
+        <enumerator name='NL80211_ATTR_CIPHER_SUITES' value='57'/>
+        <enumerator name='NL80211_ATTR_FREQ_BEFORE' value='58'/>
+        <enumerator name='NL80211_ATTR_FREQ_AFTER' value='59'/>
+        <enumerator name='NL80211_ATTR_FREQ_FIXED' value='60'/>
+        <enumerator name='NL80211_ATTR_WIPHY_RETRY_SHORT' value='61'/>
+        <enumerator name='NL80211_ATTR_WIPHY_RETRY_LONG' value='62'/>
+        <enumerator name='NL80211_ATTR_WIPHY_FRAG_THRESHOLD' value='63'/>
+        <enumerator name='NL80211_ATTR_WIPHY_RTS_THRESHOLD' value='64'/>
+        <enumerator name='NL80211_ATTR_TIMED_OUT' value='65'/>
+        <enumerator name='NL80211_ATTR_USE_MFP' value='66'/>
+        <enumerator name='NL80211_ATTR_STA_FLAGS2' value='67'/>
+        <enumerator name='NL80211_ATTR_CONTROL_PORT' value='68'/>
+        <enumerator name='NL80211_ATTR_TESTDATA' value='69'/>
+        <enumerator name='NL80211_ATTR_PRIVACY' value='70'/>
+        <enumerator name='NL80211_ATTR_DISCONNECTED_BY_AP' value='71'/>
+        <enumerator name='NL80211_ATTR_STATUS_CODE' value='72'/>
+        <enumerator name='NL80211_ATTR_CIPHER_SUITES_PAIRWISE' value='73'/>
+        <enumerator name='NL80211_ATTR_CIPHER_SUITE_GROUP' value='74'/>
+        <enumerator name='NL80211_ATTR_WPA_VERSIONS' value='75'/>
+        <enumerator name='NL80211_ATTR_AKM_SUITES' value='76'/>
+        <enumerator name='NL80211_ATTR_REQ_IE' value='77'/>
+        <enumerator name='NL80211_ATTR_RESP_IE' value='78'/>
+        <enumerator name='NL80211_ATTR_PREV_BSSID' value='79'/>
+        <enumerator name='NL80211_ATTR_KEY' value='80'/>
+        <enumerator name='NL80211_ATTR_KEYS' value='81'/>
+        <enumerator name='NL80211_ATTR_PID' value='82'/>
+        <enumerator name='NL80211_ATTR_4ADDR' value='83'/>
+        <enumerator name='NL80211_ATTR_SURVEY_INFO' value='84'/>
+        <enumerator name='NL80211_ATTR_PMKID' value='85'/>
+        <enumerator name='NL80211_ATTR_MAX_NUM_PMKIDS' value='86'/>
+        <enumerator name='NL80211_ATTR_DURATION' value='87'/>
+        <enumerator name='NL80211_ATTR_COOKIE' value='88'/>
+        <enumerator name='NL80211_ATTR_WIPHY_COVERAGE_CLASS' value='89'/>
+        <enumerator name='NL80211_ATTR_TX_RATES' value='90'/>
+        <enumerator name='NL80211_ATTR_FRAME_MATCH' value='91'/>
+        <enumerator name='NL80211_ATTR_ACK' value='92'/>
+        <enumerator name='NL80211_ATTR_PS_STATE' value='93'/>
+        <enumerator name='NL80211_ATTR_CQM' value='94'/>
+        <enumerator name='NL80211_ATTR_LOCAL_STATE_CHANGE' value='95'/>
+        <enumerator name='NL80211_ATTR_AP_ISOLATE' value='96'/>
+        <enumerator name='NL80211_ATTR_WIPHY_TX_POWER_SETTING' value='97'/>
+        <enumerator name='NL80211_ATTR_WIPHY_TX_POWER_LEVEL' value='98'/>
+        <enumerator name='NL80211_ATTR_TX_FRAME_TYPES' value='99'/>
+        <enumerator name='NL80211_ATTR_RX_FRAME_TYPES' value='100'/>
+        <enumerator name='NL80211_ATTR_FRAME_TYPE' value='101'/>
+        <enumerator name='NL80211_ATTR_CONTROL_PORT_ETHERTYPE' value='102'/>
+        <enumerator name='NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT' value='103'/>
+        <enumerator name='NL80211_ATTR_SUPPORT_IBSS_RSN' value='104'/>
+        <enumerator name='NL80211_ATTR_WIPHY_ANTENNA_TX' value='105'/>
+        <enumerator name='NL80211_ATTR_WIPHY_ANTENNA_RX' value='106'/>
+        <enumerator name='NL80211_ATTR_MCAST_RATE' value='107'/>
+        <enumerator name='NL80211_ATTR_OFFCHANNEL_TX_OK' value='108'/>
+        <enumerator name='NL80211_ATTR_BSS_HT_OPMODE' value='109'/>
+        <enumerator name='NL80211_ATTR_KEY_DEFAULT_TYPES' value='110'/>
+        <enumerator name='NL80211_ATTR_MAX_REMAIN_ON_CHANNEL_DURATION' value='111'/>
+        <enumerator name='NL80211_ATTR_MESH_SETUP' value='112'/>
+        <enumerator name='NL80211_ATTR_WIPHY_ANTENNA_AVAIL_TX' value='113'/>
+        <enumerator name='NL80211_ATTR_WIPHY_ANTENNA_AVAIL_RX' value='114'/>
+        <enumerator name='NL80211_ATTR_SUPPORT_MESH_AUTH' value='115'/>
+        <enumerator name='NL80211_ATTR_STA_PLINK_STATE' value='116'/>
+        <enumerator name='NL80211_ATTR_WOWLAN_TRIGGERS' value='117'/>
+        <enumerator name='NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED' value='118'/>
+        <enumerator name='NL80211_ATTR_SCHED_SCAN_INTERVAL' value='119'/>
+        <enumerator name='NL80211_ATTR_INTERFACE_COMBINATIONS' value='120'/>
+        <enumerator name='NL80211_ATTR_SOFTWARE_IFTYPES' value='121'/>
+        <enumerator name='NL80211_ATTR_REKEY_DATA' value='122'/>
+        <enumerator name='NL80211_ATTR_MAX_NUM_SCHED_SCAN_SSIDS' value='123'/>
+        <enumerator name='NL80211_ATTR_MAX_SCHED_SCAN_IE_LEN' value='124'/>
+        <enumerator name='NL80211_ATTR_SCAN_SUPP_RATES' value='125'/>
+        <enumerator name='NL80211_ATTR_HIDDEN_SSID' value='126'/>
+        <enumerator name='NL80211_ATTR_IE_PROBE_RESP' value='127'/>
+        <enumerator name='NL80211_ATTR_IE_ASSOC_RESP' value='128'/>
+        <enumerator name='NL80211_ATTR_STA_WME' value='129'/>
+        <enumerator name='NL80211_ATTR_SUPPORT_AP_UAPSD' value='130'/>
+        <enumerator name='NL80211_ATTR_ROAM_SUPPORT' value='131'/>
+        <enumerator name='NL80211_ATTR_SCHED_SCAN_MATCH' value='132'/>
+        <enumerator name='NL80211_ATTR_MAX_MATCH_SETS' value='133'/>
+        <enumerator name='NL80211_ATTR_PMKSA_CANDIDATE' value='134'/>
+        <enumerator name='NL80211_ATTR_TX_NO_CCK_RATE' value='135'/>
+        <enumerator name='NL80211_ATTR_TDLS_ACTION' value='136'/>
+        <enumerator name='NL80211_ATTR_TDLS_DIALOG_TOKEN' value='137'/>
+        <enumerator name='NL80211_ATTR_TDLS_OPERATION' value='138'/>
+        <enumerator name='NL80211_ATTR_TDLS_SUPPORT' value='139'/>
+        <enumerator name='NL80211_ATTR_TDLS_EXTERNAL_SETUP' value='140'/>
+        <enumerator name='NL80211_ATTR_DEVICE_AP_SME' value='141'/>
+        <enumerator name='NL80211_ATTR_DONT_WAIT_FOR_ACK' value='142'/>
+        <enumerator name='NL80211_ATTR_FEATURE_FLAGS' value='143'/>
+        <enumerator name='NL80211_ATTR_PROBE_RESP_OFFLOAD' value='144'/>
+        <enumerator name='NL80211_ATTR_PROBE_RESP' value='145'/>
+        <enumerator name='NL80211_ATTR_DFS_REGION' value='146'/>
+        <enumerator name='NL80211_ATTR_DISABLE_HT' value='147'/>
+        <enumerator name='NL80211_ATTR_HT_CAPABILITY_MASK' value='148'/>
+        <enumerator name='NL80211_ATTR_NOACK_MAP' value='149'/>
+        <enumerator name='NL80211_ATTR_INACTIVITY_TIMEOUT' value='150'/>
+        <enumerator name='NL80211_ATTR_RX_SIGNAL_DBM' value='151'/>
+        <enumerator name='NL80211_ATTR_BG_SCAN_PERIOD' value='152'/>
+        <enumerator name='NL80211_ATTR_WDEV' value='153'/>
+        <enumerator name='NL80211_ATTR_USER_REG_HINT_TYPE' value='154'/>
+        <enumerator name='NL80211_ATTR_CONN_FAILED_REASON' value='155'/>
+        <enumerator name='NL80211_ATTR_AUTH_DATA' value='156'/>
+        <enumerator name='NL80211_ATTR_VHT_CAPABILITY' value='157'/>
+        <enumerator name='NL80211_ATTR_SCAN_FLAGS' value='158'/>
+        <enumerator name='NL80211_ATTR_CHANNEL_WIDTH' value='159'/>
+        <enumerator name='NL80211_ATTR_CENTER_FREQ1' value='160'/>
+        <enumerator name='NL80211_ATTR_CENTER_FREQ2' value='161'/>
+        <enumerator name='NL80211_ATTR_P2P_CTWINDOW' value='162'/>
+        <enumerator name='NL80211_ATTR_P2P_OPPPS' value='163'/>
+        <enumerator name='NL80211_ATTR_LOCAL_MESH_POWER_MODE' value='164'/>
+        <enumerator name='NL80211_ATTR_ACL_POLICY' value='165'/>
+        <enumerator name='NL80211_ATTR_MAC_ADDRS' value='166'/>
+        <enumerator name='NL80211_ATTR_MAC_ACL_MAX' value='167'/>
+        <enumerator name='NL80211_ATTR_RADAR_EVENT' value='168'/>
+        <enumerator name='NL80211_ATTR_EXT_CAPA' value='169'/>
+        <enumerator name='NL80211_ATTR_EXT_CAPA_MASK' value='170'/>
+        <enumerator name='NL80211_ATTR_STA_CAPABILITY' value='171'/>
+        <enumerator name='NL80211_ATTR_STA_EXT_CAPABILITY' value='172'/>
+        <enumerator name='NL80211_ATTR_PROTOCOL_FEATURES' value='173'/>
+        <enumerator name='NL80211_ATTR_SPLIT_WIPHY_DUMP' value='174'/>
+        <enumerator name='NL80211_ATTR_DISABLE_VHT' value='175'/>
+        <enumerator name='NL80211_ATTR_VHT_CAPABILITY_MASK' value='176'/>
+        <enumerator name='NL80211_ATTR_MDID' value='177'/>
+        <enumerator name='NL80211_ATTR_IE_RIC' value='178'/>
+        <enumerator name='NL80211_ATTR_CRIT_PROT_ID' value='179'/>
+        <enumerator name='NL80211_ATTR_MAX_CRIT_PROT_DURATION' value='180'/>
+        <enumerator name='NL80211_ATTR_PEER_AID' value='181'/>
+        <enumerator name='NL80211_ATTR_COALESCE_RULE' value='182'/>
+        <enumerator name='NL80211_ATTR_CH_SWITCH_COUNT' value='183'/>
+        <enumerator name='NL80211_ATTR_CH_SWITCH_BLOCK_TX' value='184'/>
+        <enumerator name='NL80211_ATTR_CSA_IES' value='185'/>
+        <enumerator name='NL80211_ATTR_CSA_C_OFF_BEACON' value='186'/>
+        <enumerator name='NL80211_ATTR_CSA_C_OFF_PRESP' value='187'/>
+        <enumerator name='NL80211_ATTR_RXMGMT_FLAGS' value='188'/>
+        <enumerator name='NL80211_ATTR_STA_SUPPORTED_CHANNELS' value='189'/>
+        <enumerator name='NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES' value='190'/>
+        <enumerator name='NL80211_ATTR_HANDLE_DFS' value='191'/>
+        <enumerator name='NL80211_ATTR_SUPPORT_5_MHZ' value='192'/>
+        <enumerator name='NL80211_ATTR_SUPPORT_10_MHZ' value='193'/>
+        <enumerator name='NL80211_ATTR_OPMODE_NOTIF' value='194'/>
+        <enumerator name='NL80211_ATTR_VENDOR_ID' value='195'/>
+        <enumerator name='NL80211_ATTR_VENDOR_SUBCMD' value='196'/>
+        <enumerator name='NL80211_ATTR_VENDOR_DATA' value='197'/>
+        <enumerator name='NL80211_ATTR_VENDOR_EVENTS' value='198'/>
+        <enumerator name='NL80211_ATTR_QOS_MAP' value='199'/>
+        <enumerator name='NL80211_ATTR_MAC_HINT' value='200'/>
+        <enumerator name='NL80211_ATTR_WIPHY_FREQ_HINT' value='201'/>
+        <enumerator name='NL80211_ATTR_MAX_AP_ASSOC_STA' value='202'/>
+        <enumerator name='NL80211_ATTR_TDLS_PEER_CAPABILITY' value='203'/>
+        <enumerator name='NL80211_ATTR_SOCKET_OWNER' value='204'/>
+        <enumerator name='NL80211_ATTR_CSA_C_OFFSETS_TX' value='205'/>
+        <enumerator name='NL80211_ATTR_MAX_CSA_COUNTERS' value='206'/>
+        <enumerator name='NL80211_ATTR_TDLS_INITIATOR' value='207'/>
+        <enumerator name='NL80211_ATTR_USE_RRM' value='208'/>
+        <enumerator name='NL80211_ATTR_WIPHY_DYN_ACK' value='209'/>
+        <enumerator name='NL80211_ATTR_TSID' value='210'/>
+        <enumerator name='NL80211_ATTR_USER_PRIO' value='211'/>
+        <enumerator name='NL80211_ATTR_ADMITTED_TIME' value='212'/>
+        <enumerator name='NL80211_ATTR_SMPS_MODE' value='213'/>
+        <enumerator name='NL80211_ATTR_OPER_CLASS' value='214'/>
+        <enumerator name='NL80211_ATTR_MAC_MASK' value='215'/>
+        <enumerator name='NL80211_ATTR_WIPHY_SELF_MANAGED_REG' value='216'/>
+        <enumerator name='NL80211_ATTR_EXT_FEATURES' value='217'/>
+        <enumerator name='NL80211_ATTR_SURVEY_RADIO_STATS' value='218'/>
+        <enumerator name='NL80211_ATTR_NETNS_FD' value='219'/>
+        <enumerator name='NL80211_ATTR_SCHED_SCAN_DELAY' value='220'/>
+        <enumerator name='NL80211_ATTR_REG_INDOOR' value='221'/>
+        <enumerator name='NL80211_ATTR_MAX_NUM_SCHED_SCAN_PLANS' value='222'/>
+        <enumerator name='NL80211_ATTR_MAX_SCAN_PLAN_INTERVAL' value='223'/>
+        <enumerator name='NL80211_ATTR_MAX_SCAN_PLAN_ITERATIONS' value='224'/>
+        <enumerator name='NL80211_ATTR_SCHED_SCAN_PLANS' value='225'/>
+        <enumerator name='NL80211_ATTR_PBSS' value='226'/>
+        <enumerator name='NL80211_ATTR_BSS_SELECT' value='227'/>
+        <enumerator name='NL80211_ATTR_STA_SUPPORT_P2P_PS' value='228'/>
+        <enumerator name='NL80211_ATTR_PAD' value='229'/>
+        <enumerator name='NL80211_ATTR_IFTYPE_EXT_CAPA' value='230'/>
+        <enumerator name='NL80211_ATTR_MU_MIMO_GROUP_DATA' value='231'/>
+        <enumerator name='NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR' value='232'/>
+        <enumerator name='NL80211_ATTR_SCAN_START_TIME_TSF' value='233'/>
+        <enumerator name='NL80211_ATTR_SCAN_START_TIME_TSF_BSSID' value='234'/>
+        <enumerator name='NL80211_ATTR_MEASUREMENT_DURATION' value='235'/>
+        <enumerator name='NL80211_ATTR_MEASUREMENT_DURATION_MANDATORY' value='236'/>
+        <enumerator name='NL80211_ATTR_MESH_PEER_AID' value='237'/>
+        <enumerator name='NL80211_ATTR_NAN_MASTER_PREF' value='238'/>
+        <enumerator name='NL80211_ATTR_BANDS' value='239'/>
+        <enumerator name='NL80211_ATTR_NAN_FUNC' value='240'/>
+        <enumerator name='NL80211_ATTR_NAN_MATCH' value='241'/>
+        <enumerator name='NL80211_ATTR_FILS_KEK' value='242'/>
+        <enumerator name='NL80211_ATTR_FILS_NONCES' value='243'/>
+        <enumerator name='NL80211_ATTR_MULTICAST_TO_UNICAST_ENABLED' value='244'/>
+        <enumerator name='NL80211_ATTR_BSSID' value='245'/>
+        <enumerator name='NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI' value='246'/>
+        <enumerator name='NL80211_ATTR_SCHED_SCAN_RSSI_ADJUST' value='247'/>
+        <enumerator name='NL80211_ATTR_TIMEOUT_REASON' value='248'/>
+        <enumerator name='NL80211_ATTR_FILS_ERP_USERNAME' value='249'/>
+        <enumerator name='NL80211_ATTR_FILS_ERP_REALM' value='250'/>
+        <enumerator name='NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM' value='251'/>
+        <enumerator name='NL80211_ATTR_FILS_ERP_RRK' value='252'/>
+        <enumerator name='NL80211_ATTR_FILS_CACHE_ID' value='253'/>
+        <enumerator name='NL80211_ATTR_PMK' value='254'/>
+        <enumerator name='NL80211_ATTR_SCHED_SCAN_MULTI' value='255'/>
+        <enumerator name='NL80211_ATTR_SCHED_SCAN_MAX_REQS' value='256'/>
+        <enumerator name='NL80211_ATTR_WANT_1X_4WAY_HS' value='257'/>
+        <enumerator name='NL80211_ATTR_PMKR0_NAME' value='258'/>
+        <enumerator name='NL80211_ATTR_PORT_AUTHORIZED' value='259'/>
+        <enumerator name='NL80211_ATTR_EXTERNAL_AUTH_ACTION' value='260'/>
+        <enumerator name='NL80211_ATTR_EXTERNAL_AUTH_SUPPORT' value='261'/>
+        <enumerator name='NL80211_ATTR_NSS' value='262'/>
+        <enumerator name='NL80211_ATTR_ACK_SIGNAL' value='263'/>
+        <enumerator name='NL80211_ATTR_CONTROL_PORT_OVER_NL80211' value='264'/>
+        <enumerator name='NL80211_ATTR_TXQ_STATS' value='265'/>
+        <enumerator name='NL80211_ATTR_TXQ_LIMIT' value='266'/>
+        <enumerator name='NL80211_ATTR_TXQ_MEMORY_LIMIT' value='267'/>
+        <enumerator name='NL80211_ATTR_TXQ_QUANTUM' value='268'/>
+        <enumerator name='NL80211_ATTR_HE_CAPABILITY' value='269'/>
+        <enumerator name='__NL80211_ATTR_AFTER_LAST' value='270'/>
+        <enumerator name='NUM_NL80211_ATTR' value='270'/>
+        <enumerator name='NL80211_ATTR_MAX' value='269'/>
+      </enum-decl>
+      <class-decl name='cfg80211_ft_event_params' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='6275' column='1' id='type-id-8997'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='chan' type-id='type-id-6205' visibility='default' filepath='include/net/cfg80211.h' line='1930' column='1'/>
+          <var-decl name='ies' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='6276' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='scan_width' type-id='type-id-6267' visibility='default' filepath='include/net/cfg80211.h' line='1931' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='96'>
-          <var-decl name='signal' type-id='type-id-738' visibility='default' filepath='include/net/cfg80211.h' line='1932' column='1'/>
+          <var-decl name='ies_len' type-id='type-id-125' visibility='default' filepath='include/net/cfg80211.h' line='6277' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='boottime_ns' type-id='type-id-40' visibility='default' filepath='include/net/cfg80211.h' line='1933' column='1'/>
+          <var-decl name='target_ap' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='6278' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='parent_tsf' type-id='type-id-40' visibility='default' filepath='include/net/cfg80211.h' line='1934' column='1'/>
+          <var-decl name='ric_ies' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='6279' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='parent_bssid' type-id='type-id-6229' visibility='default' filepath='include/net/cfg80211.h' line='1935' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='304'>
-          <var-decl name='chains' type-id='type-id-214' visibility='default' filepath='include/net/cfg80211.h' line='1936' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='312'>
-          <var-decl name='chain_signal' type-id='type-id-6218' visibility='default' filepath='include/net/cfg80211.h' line='1937' column='1'/>
+          <var-decl name='ric_ies_len' type-id='type-id-125' visibility='default' filepath='include/net/cfg80211.h' line='6280' column='1'/>
         </data-member>
       </class-decl>
-      <enum-decl name='cfg80211_bss_frame_type' filepath='include/net/cfg80211.h' line='4975' column='1' id='type-id-6633'>
-        <underlying-type type-id='type-id-94'/>
+      <pointer-type-def type-id='type-id-8997' size-in-bits='64' id='type-id-8998'/>
+      <function-decl name='__cfg80211_alloc_event_skb' mangled-name='__cfg80211_alloc_event_skb' filepath='net/wireless/nl80211.c' line='9170' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cfg80211_alloc_event_skb'>
+        <parameter type-id='type-id-8635' name='wiphy' filepath='net/wireless/nl80211.c' line='9170' column='1'/>
+        <parameter type-id='type-id-8807' name='wdev' filepath='net/wireless/nl80211.c' line='9171' column='1'/>
+        <parameter type-id='type-id-8995' name='cmd' filepath='net/wireless/nl80211.c' line='9172' column='1'/>
+        <parameter type-id='type-id-8996' name='attr' filepath='net/wireless/nl80211.c' line='9173' column='1'/>
+        <parameter type-id='type-id-11' name='vendor_event_idx' filepath='net/wireless/nl80211.c' line='9174' column='1'/>
+        <parameter type-id='type-id-11' name='approxlen' filepath='net/wireless/nl80211.c' line='9175' column='1'/>
+        <parameter type-id='type-id-272' name='gfp' filepath='net/wireless/nl80211.c' line='9175' column='1'/>
+        <return type-id='type-id-513'/>
+      </function-decl>
+      <function-decl name='__cfg80211_send_event_skb' mangled-name='__cfg80211_send_event_skb' filepath='net/wireless/nl80211.c' line='9202' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cfg80211_send_event_skb'>
+        <parameter type-id='type-id-513' name='skb' filepath='net/wireless/nl80211.c' line='9202' column='1'/>
+        <parameter type-id='type-id-272' name='gfp' filepath='net/wireless/nl80211.c' line='9202' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='__cfg80211_alloc_reply_skb' mangled-name='__cfg80211_alloc_reply_skb' filepath='net/wireless/nl80211.c' line='12587' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__cfg80211_alloc_reply_skb'>
+        <parameter type-id='type-id-8635' name='wiphy' filepath='net/wireless/nl80211.c' line='12587' column='1'/>
+        <parameter type-id='type-id-8995' name='cmd' filepath='net/wireless/nl80211.c' line='12588' column='1'/>
+        <parameter type-id='type-id-8996' name='attr' filepath='net/wireless/nl80211.c' line='12589' column='1'/>
+        <parameter type-id='type-id-11' name='approxlen' filepath='net/wireless/nl80211.c' line='12590' column='1'/>
+        <return type-id='type-id-513'/>
+      </function-decl>
+      <function-decl name='cfg80211_vendor_cmd_reply' mangled-name='cfg80211_vendor_cmd_reply' filepath='net/wireless/nl80211.c' line='12604' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfg80211_vendor_cmd_reply'>
+        <parameter type-id='type-id-513' name='skb' filepath='net/wireless/nl80211.c' line='12604' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='cfg80211_rx_unprot_mlme_mgmt' mangled-name='cfg80211_rx_unprot_mlme_mgmt' filepath='net/wireless/nl80211.c' line='14368' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfg80211_rx_unprot_mlme_mgmt'>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/wireless/nl80211.c' line='14368' column='1'/>
+        <parameter type-id='type-id-55' name='buf' filepath='net/wireless/nl80211.c' line='14368' column='1'/>
+        <parameter type-id='type-id-125' name='len' filepath='net/wireless/nl80211.c' line='14369' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='cfg80211_ready_on_channel' mangled-name='cfg80211_ready_on_channel' filepath='net/wireless/nl80211.c' line='14825' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfg80211_ready_on_channel'>
+        <parameter type-id='type-id-8807' name='wdev' filepath='net/wireless/nl80211.c' line='14825' column='1'/>
+        <parameter type-id='type-id-134' name='cookie' filepath='net/wireless/nl80211.c' line='14825' column='1'/>
+        <parameter type-id='type-id-8572' name='chan' filepath='net/wireless/nl80211.c' line='14826' column='1'/>
+        <parameter type-id='type-id-10' name='duration' filepath='net/wireless/nl80211.c' line='14827' column='1'/>
+        <parameter type-id='type-id-272' name='gfp' filepath='net/wireless/nl80211.c' line='14827' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='cfg80211_remain_on_channel_expired' mangled-name='cfg80211_remain_on_channel_expired' filepath='net/wireless/nl80211.c' line='14839' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfg80211_remain_on_channel_expired'>
+        <parameter type-id='type-id-8807' name='wdev' filepath='net/wireless/nl80211.c' line='14839' column='1'/>
+        <parameter type-id='type-id-134' name='cookie' filepath='net/wireless/nl80211.c' line='14839' column='1'/>
+        <parameter type-id='type-id-8572' name='chan' filepath='net/wireless/nl80211.c' line='14840' column='1'/>
+        <parameter type-id='type-id-272' name='gfp' filepath='net/wireless/nl80211.c' line='14841' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='cfg80211_new_sta' mangled-name='cfg80211_new_sta' filepath='net/wireless/nl80211.c' line='14852' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfg80211_new_sta'>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/wireless/nl80211.c' line='14852' column='1'/>
+        <parameter type-id='type-id-55' name='mac_addr' filepath='net/wireless/nl80211.c' line='14852' column='1'/>
+        <parameter type-id='type-id-8979' name='sinfo' filepath='net/wireless/nl80211.c' line='14853' column='1'/>
+        <parameter type-id='type-id-272' name='gfp' filepath='net/wireless/nl80211.c' line='14853' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='cfg80211_del_sta_sinfo' mangled-name='cfg80211_del_sta_sinfo' filepath='net/wireless/nl80211.c' line='14876' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfg80211_del_sta_sinfo'>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/wireless/nl80211.c' line='14876' column='1'/>
+        <parameter type-id='type-id-55' name='mac_addr' filepath='net/wireless/nl80211.c' line='14876' column='1'/>
+        <parameter type-id='type-id-8979' name='sinfo' filepath='net/wireless/nl80211.c' line='14877' column='1'/>
+        <parameter type-id='type-id-272' name='gfp' filepath='net/wireless/nl80211.c' line='14877' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='cfg80211_mgmt_tx_status' mangled-name='cfg80211_mgmt_tx_status' filepath='net/wireless/nl80211.c' line='15060' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfg80211_mgmt_tx_status'>
+        <parameter type-id='type-id-8807' name='wdev' filepath='net/wireless/nl80211.c' line='15060' column='1'/>
+        <parameter type-id='type-id-134' name='cookie' filepath='net/wireless/nl80211.c' line='15060' column='1'/>
+        <parameter type-id='type-id-55' name='buf' filepath='net/wireless/nl80211.c' line='15061' column='1'/>
+        <parameter type-id='type-id-125' name='len' filepath='net/wireless/nl80211.c' line='15061' column='1'/>
+        <parameter type-id='type-id-211' name='ack' filepath='net/wireless/nl80211.c' line='15061' column='1'/>
+        <parameter type-id='type-id-272' name='gfp' filepath='net/wireless/nl80211.c' line='15061' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='cfg80211_gtk_rekey_notify' mangled-name='cfg80211_gtk_rekey_notify' filepath='net/wireless/nl80211.c' line='15374' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfg80211_gtk_rekey_notify'>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/wireless/nl80211.c' line='15374' column='1'/>
+        <parameter type-id='type-id-55' name='bssid' filepath='net/wireless/nl80211.c' line='15374' column='1'/>
+        <parameter type-id='type-id-55' name='replay_ctr' filepath='net/wireless/nl80211.c' line='15375' column='1'/>
+        <parameter type-id='type-id-272' name='gfp' filepath='net/wireless/nl80211.c' line='15375' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='cfg80211_pmksa_candidate_notify' mangled-name='cfg80211_pmksa_candidate_notify' filepath='net/wireless/nl80211.c' line='15431' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfg80211_pmksa_candidate_notify'>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/wireless/nl80211.c' line='15431' column='1'/>
+        <parameter type-id='type-id-11' name='index' filepath='net/wireless/nl80211.c' line='15431' column='1'/>
+        <parameter type-id='type-id-55' name='bssid' filepath='net/wireless/nl80211.c' line='15432' column='1'/>
+        <parameter type-id='type-id-211' name='preauth' filepath='net/wireless/nl80211.c' line='15432' column='1'/>
+        <parameter type-id='type-id-272' name='gfp' filepath='net/wireless/nl80211.c' line='15432' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='cfg80211_ch_switch_notify' mangled-name='cfg80211_ch_switch_notify' filepath='net/wireless/nl80211.c' line='15483' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfg80211_ch_switch_notify'>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/wireless/nl80211.c' line='15483' column='1'/>
+        <parameter type-id='type-id-8846' name='chandef' filepath='net/wireless/nl80211.c' line='15484' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='cfg80211_tdls_oper_request' mangled-name='cfg80211_tdls_oper_request' filepath='net/wireless/nl80211.c' line='15885' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfg80211_tdls_oper_request'>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/wireless/nl80211.c' line='15885' column='1'/>
+        <parameter type-id='type-id-55' name='peer' filepath='net/wireless/nl80211.c' line='15885' column='1'/>
+        <parameter type-id='type-id-8824' name='oper' filepath='net/wireless/nl80211.c' line='15886' column='1'/>
+        <parameter type-id='type-id-289' name='reason_code' filepath='net/wireless/nl80211.c' line='15887' column='1'/>
+        <parameter type-id='type-id-272' name='gfp' filepath='net/wireless/nl80211.c' line='15887' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='cfg80211_ft_event' mangled-name='cfg80211_ft_event' filepath='net/wireless/nl80211.c' line='15989' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfg80211_ft_event'>
+        <parameter type-id='type-id-2976' name='netdev' filepath='net/wireless/nl80211.c' line='15989' column='1'/>
+        <parameter type-id='type-id-8998' name='ft_event' filepath='net/wireless/nl80211.c' line='15990' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='cfg80211_ap_stopped' mangled-name='cfg80211_ap_stopped' filepath='net/wireless/nl80211.c' line='16071' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfg80211_ap_stopped'>
+        <parameter type-id='type-id-2976' name='netdev' filepath='net/wireless/nl80211.c' line='16071' column='1'/>
+        <parameter type-id='type-id-272' name='gfp' filepath='net/wireless/nl80211.c' line='16071' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='cfg80211_external_auth_request' mangled-name='cfg80211_external_auth_request' filepath='net/wireless/nl80211.c' line='16111' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfg80211_external_auth_request'>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/wireless/nl80211.c' line='16111' column='1'/>
+        <parameter type-id='type-id-8852' name='params' filepath='net/wireless/nl80211.c' line='16112' column='1'/>
+        <parameter type-id='type-id-272' name='gfp' filepath='net/wireless/nl80211.c' line='16113' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='net/wireless/reg.c' language='LANG_C89'>
+      <enum-decl name='nl80211_channel_type' filepath='include/uapi/linux/nl80211.h' line='4024' column='1' id='type-id-8999'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='NL80211_CHAN_NO_HT' value='0'/>
+        <enumerator name='NL80211_CHAN_HT20' value='1'/>
+        <enumerator name='NL80211_CHAN_HT40MINUS' value='2'/>
+        <enumerator name='NL80211_CHAN_HT40PLUS' value='3'/>
+      </enum-decl>
+      <union-decl name='__anonymous_union__1' size-in-bits='32' is-anonymous='yes' visibility='default' filepath='include/linux/fs.h' line='624' column='1' id='type-id-9000'>
+        <data-member access='private'>
+          <var-decl name='i_nlink' type-id='type-id-1030' visibility='default' filepath='include/linux/fs.h' line='625' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='__i_nlink' type-id='type-id-10' visibility='default' filepath='include/linux/fs.h' line='626' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__2' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/dcache.h' line='106' column='1' id='type-id-9001'>
+        <data-member access='private'>
+          <var-decl name='d_lru' type-id='type-id-8' visibility='default' filepath='include/linux/dcache.h' line='107' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='d_wait' type-id='type-id-1868' visibility='default' filepath='include/linux/dcache.h' line='108' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__3' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/dcache.h' line='115' column='1' id='type-id-9002'>
+        <data-member access='private'>
+          <var-decl name='d_alias' type-id='type-id-378' visibility='default' filepath='include/linux/dcache.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='d_in_lookup_hash' type-id='type-id-5013' visibility='default' filepath='include/linux/dcache.h' line='117' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='d_rcu' type-id='type-id-157' visibility='default' filepath='include/linux/dcache.h' line='118' column='1'/>
+        </data-member>
+      </union-decl>
+      <pointer-type-def type-id='type-id-8676' size-in-bits='64' id='type-id-9003'/>
+      <function-decl name='cfg80211_chandef_create' mangled-name='cfg80211_chandef_create' filepath='include/net/cfg80211.h' line='545' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfg80211_chandef_create'>
+        <parameter type-id='type-id-8846'/>
+        <parameter type-id='type-id-8572'/>
+        <parameter type-id='type-id-8999'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='regulatory_set_wiphy_regd' mangled-name='regulatory_set_wiphy_regd' filepath='net/wireless/reg.c' line='3702' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='regulatory_set_wiphy_regd'>
+        <parameter type-id='type-id-8635' name='wiphy' filepath='net/wireless/reg.c' line='3702' column='1'/>
+        <parameter type-id='type-id-9003' name='rd' filepath='net/wireless/reg.c' line='3703' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='net/wireless/scan.c' language='LANG_C89'>
+      <enum-decl name='ieee80211_privacy' filepath='include/net/cfg80211.h' line='223' column='1' id='type-id-9004'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='IEEE80211_PRIVACY_ON' value='0'/>
+        <enumerator name='IEEE80211_PRIVACY_OFF' value='1'/>
+        <enumerator name='IEEE80211_PRIVACY_ANY' value='2'/>
+      </enum-decl>
+      <class-decl name='cfg80211_inform_bss' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='1929' column='1' id='type-id-9005'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='chan' type-id='type-id-8572' visibility='default' filepath='include/net/cfg80211.h' line='1930' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='scan_width' type-id='type-id-8631' visibility='default' filepath='include/net/cfg80211.h' line='1931' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='signal' type-id='type-id-939' visibility='default' filepath='include/net/cfg80211.h' line='1932' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='boottime_ns' type-id='type-id-134' visibility='default' filepath='include/net/cfg80211.h' line='1933' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='parent_tsf' type-id='type-id-134' visibility='default' filepath='include/net/cfg80211.h' line='1934' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='parent_bssid' type-id='type-id-8594' visibility='default' filepath='include/net/cfg80211.h' line='1935' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='304'>
+          <var-decl name='chains' type-id='type-id-53' visibility='default' filepath='include/net/cfg80211.h' line='1936' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='312'>
+          <var-decl name='chain_signal' type-id='type-id-8585' visibility='default' filepath='include/net/cfg80211.h' line='1937' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='cfg80211_bss_frame_type' filepath='include/net/cfg80211.h' line='4991' column='1' id='type-id-9006'>
+        <underlying-type type-id='type-id-182'/>
         <enumerator name='CFG80211_BSS_FTYPE_UNKNOWN' value='0'/>
         <enumerator name='CFG80211_BSS_FTYPE_BEACON' value='1'/>
         <enumerator name='CFG80211_BSS_FTYPE_PRESP' value='2'/>
       </enum-decl>
-      <pointer-type-def type-id='type-id-6632' size-in-bits='64' id='type-id-6634'/>
-      <pointer-type-def type-id='type-id-6448' size-in-bits='64' id='type-id-6635'/>
+      <class-decl name='ieee80211_mgmt' size-in-bits='400' is-struct='yes' visibility='default' filepath='include/linux/ieee80211.h' line='885' column='1' id='type-id-9007'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='frame_control' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='886' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='duration' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='887' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='da' type-id='type-id-8594' visibility='default' filepath='include/linux/ieee80211.h' line='888' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='80'>
+          <var-decl name='sa' type-id='type-id-8594' visibility='default' filepath='include/linux/ieee80211.h' line='889' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='bssid' type-id='type-id-8594' visibility='default' filepath='include/linux/ieee80211.h' line='890' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='176'>
+          <var-decl name='seq_ctrl' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='891' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='u' type-id='type-id-9008' visibility='default' filepath='include/linux/ieee80211.h' line='1044' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__' size-in-bits='208' is-anonymous='yes' visibility='default' filepath='include/linux/ieee80211.h' line='892' column='1' id='type-id-9008'>
+        <data-member access='private'>
+          <var-decl name='auth' type-id='type-id-9009' visibility='default' filepath='include/linux/ieee80211.h' line='899' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='deauth' type-id='type-id-9010' visibility='default' filepath='include/linux/ieee80211.h' line='902' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='assoc_req' type-id='type-id-9011' visibility='default' filepath='include/linux/ieee80211.h' line='908' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='assoc_resp' type-id='type-id-9012' visibility='default' filepath='include/linux/ieee80211.h' line='915' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='reassoc_resp' type-id='type-id-9012' visibility='default' filepath='include/linux/ieee80211.h' line='915' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='reassoc_req' type-id='type-id-9013' visibility='default' filepath='include/linux/ieee80211.h' line='922' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='disassoc' type-id='type-id-9014' visibility='default' filepath='include/linux/ieee80211.h' line='925' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='beacon' type-id='type-id-9015' visibility='default' filepath='include/linux/ieee80211.h' line='933' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='probe_req' type-id='type-id-9016' visibility='default' filepath='include/linux/ieee80211.h' line='937' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='probe_resp' type-id='type-id-9017' visibility='default' filepath='include/linux/ieee80211.h' line='945' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='action' type-id='type-id-9018' visibility='default' filepath='include/linux/ieee80211.h' line='1043' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__' size-in-bits='48' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/ieee80211.h' line='893' column='1' id='type-id-9009'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='auth_alg' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='894' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='auth_transaction' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='895' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='status_code' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='896' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='variable' type-id='type-id-3513' visibility='default' filepath='include/linux/ieee80211.h' line='898' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__1' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/ieee80211.h' line='900' column='1' id='type-id-9010'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='reason_code' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='901' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__2' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/ieee80211.h' line='903' column='1' id='type-id-9011'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='capab_info' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='904' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='listen_interval' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='905' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='variable' type-id='type-id-3513' visibility='default' filepath='include/linux/ieee80211.h' line='907' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__3' size-in-bits='48' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/ieee80211.h' line='909' column='1' id='type-id-9012'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='capab_info' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='910' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='status_code' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='911' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='aid' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='912' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='variable' type-id='type-id-3513' visibility='default' filepath='include/linux/ieee80211.h' line='914' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__4' size-in-bits='80' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/ieee80211.h' line='916' column='1' id='type-id-9013'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='capab_info' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='917' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='listen_interval' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='918' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='current_ap' type-id='type-id-8594' visibility='default' filepath='include/linux/ieee80211.h' line='919' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='80'>
+          <var-decl name='variable' type-id='type-id-3513' visibility='default' filepath='include/linux/ieee80211.h' line='921' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__5' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/ieee80211.h' line='923' column='1' id='type-id-9014'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='reason_code' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='924' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__6' size-in-bits='96' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/ieee80211.h' line='926' column='1' id='type-id-9015'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='timestamp' type-id='type-id-9019' visibility='default' filepath='include/linux/ieee80211.h' line='927' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='beacon_int' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='928' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='80'>
+          <var-decl name='capab_info' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='929' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='variable' type-id='type-id-3513' visibility='default' filepath='include/linux/ieee80211.h' line='932' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__7' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/ieee80211.h' line='934' column='1' id='type-id-9016'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='variable' type-id='type-id-3513' visibility='default' filepath='include/linux/ieee80211.h' line='936' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__8' size-in-bits='96' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/ieee80211.h' line='938' column='1' id='type-id-9017'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='timestamp' type-id='type-id-9019' visibility='default' filepath='include/linux/ieee80211.h' line='939' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='beacon_int' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='940' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='80'>
+          <var-decl name='capab_info' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='941' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='variable' type-id='type-id-3513' visibility='default' filepath='include/linux/ieee80211.h' line='944' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__9' size-in-bits='208' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/ieee80211.h' line='946' column='1' id='type-id-9018'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='category' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='947' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='u' type-id='type-id-9020' visibility='default' filepath='include/linux/ieee80211.h' line='1042' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__1' size-in-bits='200' is-anonymous='yes' visibility='default' filepath='include/linux/ieee80211.h' line='948' column='1' id='type-id-9020'>
+        <data-member access='private'>
+          <var-decl name='wme_action' type-id='type-id-9021' visibility='default' filepath='include/linux/ieee80211.h' line='954' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='chan_switch' type-id='type-id-9022' visibility='default' filepath='include/linux/ieee80211.h' line='958' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='ext_chan_switch' type-id='type-id-9023' visibility='default' filepath='include/linux/ieee80211.h' line='963' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='measurement' type-id='type-id-9024' visibility='default' filepath='include/linux/ieee80211.h' line='970' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='addba_req' type-id='type-id-9025' visibility='default' filepath='include/linux/ieee80211.h' line='977' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='addba_resp' type-id='type-id-9026' visibility='default' filepath='include/linux/ieee80211.h' line='984' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='delba' type-id='type-id-9027' visibility='default' filepath='include/linux/ieee80211.h' line='989' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='self_prot' type-id='type-id-9028' visibility='default' filepath='include/linux/ieee80211.h' line='993' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='mesh_action' type-id='type-id-9029' visibility='default' filepath='include/linux/ieee80211.h' line='997' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='sa_query' type-id='type-id-9030' visibility='default' filepath='include/linux/ieee80211.h' line='1001' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='ht_smps' type-id='type-id-9031' visibility='default' filepath='include/linux/ieee80211.h' line='1005' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='ht_notify_cw' type-id='type-id-9032' visibility='default' filepath='include/linux/ieee80211.h' line='1009' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='tdls_discover_resp' type-id='type-id-9033' visibility='default' filepath='include/linux/ieee80211.h' line='1015' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='vht_opmode_notif' type-id='type-id-9034' visibility='default' filepath='include/linux/ieee80211.h' line='1019' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='vht_group_notif' type-id='type-id-9035' visibility='default' filepath='include/linux/ieee80211.h' line='1024' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='tpc_report' type-id='type-id-9036' visibility='default' filepath='include/linux/ieee80211.h' line='1031' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='ftm' type-id='type-id-9037' visibility='default' filepath='include/linux/ieee80211.h' line='1041' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__10' size-in-bits='24' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/ieee80211.h' line='949' column='1' id='type-id-9021'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='action_code' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='950' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='dialog_token' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='951' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='status_code' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='952' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='variable' type-id='type-id-3513' visibility='default' filepath='include/linux/ieee80211.h' line='953' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__11' size-in-bits='8' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/ieee80211.h' line='955' column='1' id='type-id-9022'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='action_code' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='956' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='variable' type-id='type-id-3513' visibility='default' filepath='include/linux/ieee80211.h' line='957' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__12' size-in-bits='40' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/ieee80211.h' line='959' column='1' id='type-id-9023'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='action_code' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='960' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='data' type-id='type-id-9038' visibility='default' filepath='include/linux/ieee80211.h' line='961' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='40'>
+          <var-decl name='variable' type-id='type-id-3513' visibility='default' filepath='include/linux/ieee80211.h' line='962' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ieee80211_ext_chansw_ie' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/linux/ieee80211.h' line='732' column='1' id='type-id-9038'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mode' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='733' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='new_operating_class' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='734' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='new_ch_num' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='735' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='count' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='736' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__13' size-in-bits='56' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/ieee80211.h' line='964' column='1' id='type-id-9024'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='action_code' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='965' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='dialog_token' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='966' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='element_id' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='967' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='length' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='968' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='msr_elem' type-id='type-id-9039' visibility='default' filepath='include/linux/ieee80211.h' line='969' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ieee80211_msrment_ie' size-in-bits='24' is-struct='yes' visibility='default' filepath='include/linux/ieee80211.h' line='709' column='1' id='type-id-9039'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='token' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='710' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='mode' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='711' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='type' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='712' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='request' type-id='type-id-3513' visibility='default' filepath='include/linux/ieee80211.h' line='713' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__14' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/ieee80211.h' line='971' column='1' id='type-id-9025'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='action_code' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='972' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='dialog_token' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='973' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='capab' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='974' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='timeout' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='975' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='start_seq_num' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='976' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__15' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/ieee80211.h' line='978' column='1' id='type-id-9026'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='action_code' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='979' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='dialog_token' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='980' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='status' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='981' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='capab' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='982' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='48'>
+          <var-decl name='timeout' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='983' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__16' size-in-bits='40' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/ieee80211.h' line='985' column='1' id='type-id-9027'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='action_code' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='986' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='params' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='987' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='reason_code' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='988' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__17' size-in-bits='8' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/ieee80211.h' line='990' column='1' id='type-id-9028'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='action_code' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='991' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='variable' type-id='type-id-3513' visibility='default' filepath='include/linux/ieee80211.h' line='992' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__18' size-in-bits='8' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/ieee80211.h' line='994' column='1' id='type-id-9029'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='action_code' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='995' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='variable' type-id='type-id-3513' visibility='default' filepath='include/linux/ieee80211.h' line='996' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__19' size-in-bits='24' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/ieee80211.h' line='998' column='1' id='type-id-9030'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='action' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='999' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='trans_id' type-id='type-id-1956' visibility='default' filepath='include/linux/ieee80211.h' line='1000' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__20' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/ieee80211.h' line='1002' column='1' id='type-id-9031'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='action' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='1003' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='smps_control' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='1004' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__21' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/ieee80211.h' line='1006' column='1' id='type-id-9032'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='action_code' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='1007' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='chanwidth' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='1008' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__22' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/ieee80211.h' line='1010' column='1' id='type-id-9033'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='action_code' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='1011' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='dialog_token' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='1012' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='capability' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='1013' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='variable' type-id='type-id-3513' visibility='default' filepath='include/linux/ieee80211.h' line='1014' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__23' size-in-bits='16' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/ieee80211.h' line='1016' column='1' id='type-id-9034'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='action_code' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='1017' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='operating_mode' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='1018' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__24' size-in-bits='200' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/ieee80211.h' line='1020' column='1' id='type-id-9035'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='action_code' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='1021' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='membership' type-id='type-id-1399' visibility='default' filepath='include/linux/ieee80211.h' line='1022' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='72'>
+          <var-decl name='position' type-id='type-id-1788' visibility='default' filepath='include/linux/ieee80211.h' line='1023' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__25' size-in-bits='48' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/ieee80211.h' line='1025' column='1' id='type-id-9036'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='action_code' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='1026' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='dialog_token' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='1027' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='tpc_elem_id' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='1028' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='tpc_elem_length' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='1029' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='tpc' type-id='type-id-9040' visibility='default' filepath='include/linux/ieee80211.h' line='1030' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ieee80211_tpc_report_ie' size-in-bits='16' is-struct='yes' visibility='default' filepath='include/linux/ieee80211.h' line='880' column='1' id='type-id-9040'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='tx_power' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='881' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='link_margin' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='882' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__26' size-in-bits='152' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/ieee80211.h' line='1032' column='1' id='type-id-9037'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='action_code' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='1033' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='dialog_token' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='1034' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='follow_up' type-id='type-id-53' visibility='default' filepath='include/linux/ieee80211.h' line='1035' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='24'>
+          <var-decl name='tod' type-id='type-id-8594' visibility='default' filepath='include/linux/ieee80211.h' line='1036' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='72'>
+          <var-decl name='toa' type-id='type-id-8594' visibility='default' filepath='include/linux/ieee80211.h' line='1037' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='120'>
+          <var-decl name='tod_error' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='1038' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='136'>
+          <var-decl name='toa_error' type-id='type-id-1958' visibility='default' filepath='include/linux/ieee80211.h' line='1039' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='152'>
+          <var-decl name='variable' type-id='type-id-3513' visibility='default' filepath='include/linux/ieee80211.h' line='1040' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-9005' size-in-bits='64' id='type-id-9041'/>
+      <pointer-type-def type-id='type-id-8808' size-in-bits='64' id='type-id-9042'/>
+      <pointer-type-def type-id='type-id-9007' size-in-bits='64' id='type-id-9043'/>
       <function-decl name='cfg80211_scan_done' mangled-name='cfg80211_scan_done' filepath='net/wireless/scan.c' line='292' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfg80211_scan_done'>
-        <parameter type-id='type-id-6500' name='request' filepath='net/wireless/scan.c' line='292' column='1'/>
-        <parameter type-id='type-id-6635' name='info' filepath='net/wireless/scan.c' line='293' column='1'/>
-        <return type-id='type-id-81'/>
+        <parameter type-id='type-id-8860' name='request' filepath='net/wireless/scan.c' line='292' column='1'/>
+        <parameter type-id='type-id-9042' name='info' filepath='net/wireless/scan.c' line='293' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='cfg80211_sched_scan_results' mangled-name='cfg80211_sched_scan_results' filepath='net/wireless/scan.c' line='394' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfg80211_sched_scan_results'>
+        <parameter type-id='type-id-8635' name='wiphy' filepath='net/wireless/scan.c' line='394' column='1'/>
+        <parameter type-id='type-id-134' name='reqid' filepath='net/wireless/scan.c' line='394' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='cfg80211_get_bss' mangled-name='cfg80211_get_bss' filepath='net/wireless/scan.c' line='708' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfg80211_get_bss'>
+        <parameter type-id='type-id-8635' name='wiphy' filepath='net/wireless/scan.c' line='708' column='1'/>
+        <parameter type-id='type-id-8572' name='channel' filepath='net/wireless/scan.c' line='709' column='1'/>
+        <parameter type-id='type-id-55' name='bssid' filepath='net/wireless/scan.c' line='710' column='1'/>
+        <parameter type-id='type-id-55' name='ssid' filepath='net/wireless/scan.c' line='711' column='1'/>
+        <parameter type-id='type-id-125' name='ssid_len' filepath='net/wireless/scan.c' line='711' column='1'/>
+        <parameter type-id='type-id-8644' name='bss_type' filepath='net/wireless/scan.c' line='712' column='1'/>
+        <parameter type-id='type-id-9004' name='privacy' filepath='net/wireless/scan.c' line='713' column='1'/>
+        <return type-id='type-id-8652'/>
       </function-decl>
       <function-decl name='cfg80211_inform_bss_data' mangled-name='cfg80211_inform_bss_data' filepath='net/wireless/scan.c' line='1132' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfg80211_inform_bss_data'>
-        <parameter type-id='type-id-6271' name='wiphy' filepath='net/wireless/scan.c' line='1132' column='1'/>
-        <parameter type-id='type-id-6634' name='data' filepath='net/wireless/scan.c' line='1133' column='1'/>
-        <parameter type-id='type-id-6633' name='ftype' filepath='net/wireless/scan.c' line='1134' column='1'/>
-        <parameter type-id='type-id-658' name='bssid' filepath='net/wireless/scan.c' line='1135' column='1'/>
-        <parameter type-id='type-id-40' name='tsf' filepath='net/wireless/scan.c' line='1135' column='1'/>
-        <parameter type-id='type-id-688' name='capability' filepath='net/wireless/scan.c' line='1135' column='1'/>
-        <parameter type-id='type-id-688' name='beacon_interval' filepath='net/wireless/scan.c' line='1136' column='1'/>
-        <parameter type-id='type-id-658' name='ie' filepath='net/wireless/scan.c' line='1136' column='1'/>
-        <parameter type-id='type-id-84' name='ielen' filepath='net/wireless/scan.c' line='1136' column='1'/>
-        <parameter type-id='type-id-485' name='gfp' filepath='net/wireless/scan.c' line='1137' column='1'/>
-        <return type-id='type-id-6288'/>
+        <parameter type-id='type-id-8635' name='wiphy' filepath='net/wireless/scan.c' line='1132' column='1'/>
+        <parameter type-id='type-id-9041' name='data' filepath='net/wireless/scan.c' line='1133' column='1'/>
+        <parameter type-id='type-id-9006' name='ftype' filepath='net/wireless/scan.c' line='1134' column='1'/>
+        <parameter type-id='type-id-55' name='bssid' filepath='net/wireless/scan.c' line='1135' column='1'/>
+        <parameter type-id='type-id-134' name='tsf' filepath='net/wireless/scan.c' line='1135' column='1'/>
+        <parameter type-id='type-id-289' name='capability' filepath='net/wireless/scan.c' line='1135' column='1'/>
+        <parameter type-id='type-id-289' name='beacon_interval' filepath='net/wireless/scan.c' line='1136' column='1'/>
+        <parameter type-id='type-id-55' name='ie' filepath='net/wireless/scan.c' line='1136' column='1'/>
+        <parameter type-id='type-id-125' name='ielen' filepath='net/wireless/scan.c' line='1136' column='1'/>
+        <parameter type-id='type-id-272' name='gfp' filepath='net/wireless/scan.c' line='1137' column='1'/>
+        <return type-id='type-id-8652'/>
       </function-decl>
-      <function-decl name='cfg80211_put_bss' mangled-name='cfg80211_put_bss' filepath='net/wireless/scan.c' line='1319' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfg80211_put_bss'>
-        <parameter type-id='type-id-6271' name='wiphy' filepath='net/wireless/scan.c' line='1319' column='1'/>
-        <parameter type-id='type-id-6288' name='pub' filepath='net/wireless/scan.c' line='1319' column='1'/>
-        <return type-id='type-id-81'/>
+      <function-decl name='cfg80211_inform_bss_frame_data' mangled-name='cfg80211_inform_bss_frame_data' filepath='net/wireless/scan.c' line='1218' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfg80211_inform_bss_frame_data'>
+        <parameter type-id='type-id-8635' name='wiphy' filepath='net/wireless/scan.c' line='1218' column='1'/>
+        <parameter type-id='type-id-9041' name='data' filepath='net/wireless/scan.c' line='1219' column='1'/>
+        <parameter type-id='type-id-9043' name='mgmt' filepath='net/wireless/scan.c' line='1220' column='1'/>
+        <parameter type-id='type-id-125' name='len' filepath='net/wireless/scan.c' line='1220' column='1'/>
+        <parameter type-id='type-id-272' name='gfp' filepath='net/wireless/scan.c' line='1221' column='1'/>
+        <return type-id='type-id-8652'/>
+      </function-decl>
+      <function-decl name='cfg80211_unlink_bss' mangled-name='cfg80211_unlink_bss' filepath='net/wireless/scan.c' line='1335' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfg80211_unlink_bss'>
+        <parameter type-id='type-id-8635' name='wiphy' filepath='net/wireless/scan.c' line='1335' column='1'/>
+        <parameter type-id='type-id-8652' name='pub' filepath='net/wireless/scan.c' line='1335' column='1'/>
+        <return type-id='type-id-73'/>
       </function-decl>
     </abi-instr>
     <abi-instr version='1.0' address-size='64' path='net/wireless/sme.c' language='LANG_C89'>
-      <enum-decl name='__anonymous_enum__' is-anonymous='yes' filepath='net/wireless/sme.c' line='34' column='1' id='type-id-6636'>
-        <underlying-type type-id='type-id-94'/>
+      <enum-decl name='__anonymous_enum__' is-anonymous='yes' filepath='net/wireless/sme.c' line='34' column='1' id='type-id-9044'>
+        <underlying-type type-id='type-id-182'/>
         <enumerator name='CFG80211_CONN_SCANNING' value='0'/>
         <enumerator name='CFG80211_CONN_SCAN_AGAIN' value='1'/>
         <enumerator name='CFG80211_CONN_AUTHENTICATE_NEXT' value='2'/>
@@ -57995,8 +87655,8 @@
         <enumerator name='CFG80211_CONN_ABANDON' value='10'/>
         <enumerator name='CFG80211_CONN_CONNECTED' value='11'/>
       </enum-decl>
-      <enum-decl name='__anonymous_enum__1' is-anonymous='yes' filepath='include/linux/netdevice.h' line='1964' column='1' id='type-id-6637'>
-        <underlying-type type-id='type-id-94'/>
+      <enum-decl name='__anonymous_enum__1' is-anonymous='yes' filepath='include/linux/netdevice.h' line='1964' column='1' id='type-id-9045'>
+        <underlying-type type-id='type-id-182'/>
         <enumerator name='NETREG_UNINITIALIZED' value='0'/>
         <enumerator name='NETREG_REGISTERED' value='1'/>
         <enumerator name='NETREG_UNREGISTERING' value='2'/>
@@ -58004,290 +87664,5241 @@
         <enumerator name='NETREG_RELEASED' value='4'/>
         <enumerator name='NETREG_DUMMY' value='5'/>
       </enum-decl>
-      <enum-decl name='__anonymous_enum__2' is-anonymous='yes' filepath='include/linux/netdevice.h' line='1974' column='1' id='type-id-6638'>
-        <underlying-type type-id='type-id-94'/>
+      <enum-decl name='__anonymous_enum__2' is-anonymous='yes' filepath='include/linux/netdevice.h' line='1974' column='1' id='type-id-9046'>
+        <underlying-type type-id='type-id-182'/>
         <enumerator name='RTNL_LINK_INITIALIZED' value='0'/>
         <enumerator name='RTNL_LINK_INITIALIZING' value='1'/>
       </enum-decl>
-      <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/netdevice.h' line='1989' column='1' id='type-id-6639'>
-        <data-member access='private'>
-          <var-decl name='ml_priv' type-id='type-id-15' visibility='default' filepath='include/linux/netdevice.h' line='1990' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='lstats' type-id='type-id-3039' visibility='default' filepath='include/linux/netdevice.h' line='1991' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='tstats' type-id='type-id-3040' visibility='default' filepath='include/linux/netdevice.h' line='1992' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='dstats' type-id='type-id-3038' visibility='default' filepath='include/linux/netdevice.h' line='1993' column='1'/>
-        </data-member>
-        <data-member access='private'>
-          <var-decl name='vstats' type-id='type-id-3041' visibility='default' filepath='include/linux/netdevice.h' line='1994' column='1'/>
-        </data-member>
-      </union-decl>
-      <class-decl name='cfg80211_connect_resp_params' size-in-bits='896' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='5579' column='1' id='type-id-6640'>
+      <class-decl name='cfg80211_connect_resp_params' size-in-bits='896' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='5595' column='1' id='type-id-9047'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='status' type-id='type-id-17' visibility='default' filepath='include/net/cfg80211.h' line='5580' column='1'/>
+          <var-decl name='status' type-id='type-id-11' visibility='default' filepath='include/net/cfg80211.h' line='5596' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='bssid' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='5581' column='1'/>
+          <var-decl name='bssid' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='5597' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='bss' type-id='type-id-6288' visibility='default' filepath='include/net/cfg80211.h' line='5582' column='1'/>
+          <var-decl name='bss' type-id='type-id-8652' visibility='default' filepath='include/net/cfg80211.h' line='5598' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='req_ie' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='5583' column='1'/>
+          <var-decl name='req_ie' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='5599' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='req_ie_len' type-id='type-id-84' visibility='default' filepath='include/net/cfg80211.h' line='5584' column='1'/>
+          <var-decl name='req_ie_len' type-id='type-id-125' visibility='default' filepath='include/net/cfg80211.h' line='5600' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='resp_ie' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='5585' column='1'/>
+          <var-decl name='resp_ie' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='5601' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='384'>
-          <var-decl name='resp_ie_len' type-id='type-id-84' visibility='default' filepath='include/net/cfg80211.h' line='5586' column='1'/>
+          <var-decl name='resp_ie_len' type-id='type-id-125' visibility='default' filepath='include/net/cfg80211.h' line='5602' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='448'>
-          <var-decl name='fils' type-id='type-id-6641' visibility='default' filepath='include/net/cfg80211.h' line='5587' column='1'/>
+          <var-decl name='fils' type-id='type-id-9048' visibility='default' filepath='include/net/cfg80211.h' line='5603' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='832'>
-          <var-decl name='timeout_reason' type-id='type-id-6642' visibility='default' filepath='include/net/cfg80211.h' line='5588' column='1'/>
+          <var-decl name='timeout_reason' type-id='type-id-9049' visibility='default' filepath='include/net/cfg80211.h' line='5604' column='1'/>
         </data-member>
       </class-decl>
-      <class-decl name='cfg80211_fils_resp_params' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='5543' column='1' id='type-id-6641'>
+      <class-decl name='cfg80211_fils_resp_params' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='5559' column='1' id='type-id-9048'>
         <data-member access='public' layout-offset-in-bits='0'>
-          <var-decl name='kek' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='5544' column='1'/>
+          <var-decl name='kek' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='5560' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
-          <var-decl name='kek_len' type-id='type-id-84' visibility='default' filepath='include/net/cfg80211.h' line='5545' column='1'/>
+          <var-decl name='kek_len' type-id='type-id-125' visibility='default' filepath='include/net/cfg80211.h' line='5561' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
-          <var-decl name='update_erp_next_seq_num' type-id='type-id-33' visibility='default' filepath='include/net/cfg80211.h' line='5546' column='1'/>
+          <var-decl name='update_erp_next_seq_num' type-id='type-id-211' visibility='default' filepath='include/net/cfg80211.h' line='5562' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='144'>
-          <var-decl name='erp_next_seq_num' type-id='type-id-688' visibility='default' filepath='include/net/cfg80211.h' line='5547' column='1'/>
+          <var-decl name='erp_next_seq_num' type-id='type-id-289' visibility='default' filepath='include/net/cfg80211.h' line='5563' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='192'>
-          <var-decl name='pmk' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='5548' column='1'/>
+          <var-decl name='pmk' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='5564' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='256'>
-          <var-decl name='pmk_len' type-id='type-id-84' visibility='default' filepath='include/net/cfg80211.h' line='5549' column='1'/>
+          <var-decl name='pmk_len' type-id='type-id-125' visibility='default' filepath='include/net/cfg80211.h' line='5565' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='320'>
-          <var-decl name='pmkid' type-id='type-id-658' visibility='default' filepath='include/net/cfg80211.h' line='5550' column='1'/>
+          <var-decl name='pmkid' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='5566' column='1'/>
         </data-member>
       </class-decl>
-      <enum-decl name='nl80211_timeout_reason' filepath='include/uapi/linux/nl80211.h' line='5308' column='1' id='type-id-6642'>
-        <underlying-type type-id='type-id-94'/>
+      <enum-decl name='nl80211_timeout_reason' filepath='include/uapi/linux/nl80211.h' line='5308' column='1' id='type-id-9049'>
+        <underlying-type type-id='type-id-182'/>
         <enumerator name='NL80211_TIMEOUT_UNSPECIFIED' value='0'/>
         <enumerator name='NL80211_TIMEOUT_SCAN' value='1'/>
         <enumerator name='NL80211_TIMEOUT_AUTH' value='2'/>
         <enumerator name='NL80211_TIMEOUT_ASSOC' value='3'/>
       </enum-decl>
-      <pointer-type-def type-id='type-id-6640' size-in-bits='64' id='type-id-6643'/>
+      <class-decl name='cfg80211_roam_info' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/net/cfg80211.h' line='5751' column='1' id='type-id-9050'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='channel' type-id='type-id-8572' visibility='default' filepath='include/net/cfg80211.h' line='5752' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='bss' type-id='type-id-8652' visibility='default' filepath='include/net/cfg80211.h' line='5753' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='bssid' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='5754' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='req_ie' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='5755' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='req_ie_len' type-id='type-id-125' visibility='default' filepath='include/net/cfg80211.h' line='5756' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='resp_ie' type-id='type-id-55' visibility='default' filepath='include/net/cfg80211.h' line='5757' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='resp_ie_len' type-id='type-id-125' visibility='default' filepath='include/net/cfg80211.h' line='5758' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='fils' type-id='type-id-9048' visibility='default' filepath='include/net/cfg80211.h' line='5759' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-9047' size-in-bits='64' id='type-id-9051'/>
+      <pointer-type-def type-id='type-id-9050' size-in-bits='64' id='type-id-9052'/>
       <function-decl name='cfg80211_connect_done' mangled-name='cfg80211_connect_done' filepath='net/wireless/sme.c' line='788' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfg80211_connect_done'>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/wireless/sme.c' line='788' column='1'/>
-        <parameter type-id='type-id-6643' name='params' filepath='net/wireless/sme.c' line='789' column='1'/>
-        <parameter type-id='type-id-485' name='gfp' filepath='net/wireless/sme.c' line='790' column='1'/>
-        <return type-id='type-id-81'/>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/wireless/sme.c' line='788' column='1'/>
+        <parameter type-id='type-id-9051' name='params' filepath='net/wireless/sme.c' line='789' column='1'/>
+        <parameter type-id='type-id-272' name='gfp' filepath='net/wireless/sme.c' line='790' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='cfg80211_roamed' mangled-name='cfg80211_roamed' filepath='net/wireless/sme.c' line='932' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfg80211_roamed'>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/wireless/sme.c' line='932' column='1'/>
+        <parameter type-id='type-id-9052' name='info' filepath='net/wireless/sme.c' line='932' column='1'/>
+        <parameter type-id='type-id-272' name='gfp' filepath='net/wireless/sme.c' line='933' column='1'/>
+        <return type-id='type-id-73'/>
       </function-decl>
       <function-decl name='cfg80211_disconnected' mangled-name='cfg80211_disconnected' filepath='net/wireless/sme.c' line='1106' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfg80211_disconnected'>
-        <parameter type-id='type-id-1650' name='dev' filepath='net/wireless/sme.c' line='1106' column='1'/>
-        <parameter type-id='type-id-688' name='reason' filepath='net/wireless/sme.c' line='1106' column='1'/>
-        <parameter type-id='type-id-658' name='ie' filepath='net/wireless/sme.c' line='1107' column='1'/>
-        <parameter type-id='type-id-84' name='ie_len' filepath='net/wireless/sme.c' line='1107' column='1'/>
-        <parameter type-id='type-id-33' name='locally_generated' filepath='net/wireless/sme.c' line='1108' column='1'/>
-        <parameter type-id='type-id-485' name='gfp' filepath='net/wireless/sme.c' line='1108' column='1'/>
-        <return type-id='type-id-81'/>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/wireless/sme.c' line='1106' column='1'/>
+        <parameter type-id='type-id-289' name='reason' filepath='net/wireless/sme.c' line='1106' column='1'/>
+        <parameter type-id='type-id-55' name='ie' filepath='net/wireless/sme.c' line='1107' column='1'/>
+        <parameter type-id='type-id-125' name='ie_len' filepath='net/wireless/sme.c' line='1107' column='1'/>
+        <parameter type-id='type-id-211' name='locally_generated' filepath='net/wireless/sme.c' line='1108' column='1'/>
+        <parameter type-id='type-id-272' name='gfp' filepath='net/wireless/sme.c' line='1108' column='1'/>
+        <return type-id='type-id-73'/>
       </function-decl>
     </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='arch/arm64/lib/delay.c' language='LANG_C89'>
-      <function-decl name='__const_udelay' mangled-name='__const_udelay' filepath='arch/arm64/lib/delay.c' line='54' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__const_udelay'>
-        <parameter type-id='type-id-16' name='xloops' filepath='arch/arm64/lib/delay.c' line='54' column='1'/>
-        <return type-id='type-id-81'/>
+    <abi-instr version='1.0' address-size='64' path='net/wireless/util.c' language='LANG_C89'>
+      <pointer-type-def type-id='type-id-8793' size-in-bits='64' id='type-id-9053'/>
+      <function-decl name='ieee80211_channel_to_frequency' mangled-name='ieee80211_channel_to_frequency' filepath='net/wireless/util.c' line='71' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ieee80211_channel_to_frequency'>
+        <parameter type-id='type-id-11' name='chan' filepath='net/wireless/util.c' line='71' column='1'/>
+        <parameter type-id='type-id-8639' name='band' filepath='net/wireless/util.c' line='71' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='ieee80211_frequency_to_channel' mangled-name='ieee80211_frequency_to_channel' filepath='net/wireless/util.c' line='101' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ieee80211_frequency_to_channel'>
+        <parameter type-id='type-id-11' name='freq' filepath='net/wireless/util.c' line='101' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='ieee80211_get_channel' mangled-name='ieee80211_get_channel' filepath='net/wireless/util.c' line='119' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ieee80211_get_channel'>
+        <parameter type-id='type-id-8635' name='wiphy' filepath='net/wireless/util.c' line='119' column='1'/>
+        <parameter type-id='type-id-11' name='freq' filepath='net/wireless/util.c' line='119' column='1'/>
+        <return type-id='type-id-8572'/>
+      </function-decl>
+      <function-decl name='ieee80211_hdrlen' mangled-name='ieee80211_hdrlen' filepath='net/wireless/util.c' line='346' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ieee80211_hdrlen'>
+        <parameter type-id='type-id-1958' name='fc' filepath='net/wireless/util.c' line='346' column='1'/>
+        <return type-id='type-id-10'/>
+      </function-decl>
+      <function-decl name='cfg80211_calculate_bitrate' mangled-name='cfg80211_calculate_bitrate' filepath='net/wireless/util.c' line='1226' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cfg80211_calculate_bitrate'>
+        <parameter type-id='type-id-9053' name='rate' filepath='net/wireless/util.c' line='1226' column='1'/>
+        <return type-id='type-id-9'/>
       </function-decl>
     </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='lib/cmdline.c' language='LANG_C89'>
-      <function-decl name='memparse' mangled-name='memparse' filepath='lib/cmdline.c' line='128' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='memparse'>
-        <parameter type-id='type-id-4' name='ptr' filepath='lib/cmdline.c' line='128' column='1'/>
-        <parameter type-id='type-id-3458' name='retptr' filepath='lib/cmdline.c' line='128' column='1'/>
-        <return type-id='type-id-98'/>
+    <abi-instr version='1.0' address-size='64' path='net/wireless/wext-core.c' language='LANG_C89'>
+      <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/netdevice.h' line='1989' column='1' id='type-id-9054'>
+        <data-member access='private'>
+          <var-decl name='ml_priv' type-id='type-id-3' visibility='default' filepath='include/linux/netdevice.h' line='1990' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='lstats' type-id='type-id-7161' visibility='default' filepath='include/linux/netdevice.h' line='1991' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='tstats' type-id='type-id-7162' visibility='default' filepath='include/linux/netdevice.h' line='1992' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='dstats' type-id='type-id-7160' visibility='default' filepath='include/linux/netdevice.h' line='1993' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='vstats' type-id='type-id-7163' visibility='default' filepath='include/linux/netdevice.h' line='1994' column='1'/>
+        </data-member>
+      </union-decl>
+      <function-decl name='wireless_send_event' mangled-name='wireless_send_event' filepath='net/wireless/wext-core.c' line='451' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='wireless_send_event'>
+        <parameter type-id='type-id-2976' name='dev' filepath='net/wireless/wext-core.c' line='451' column='1'/>
+        <parameter type-id='type-id-10' name='cmd' filepath='net/wireless/wext-core.c' line='452' column='1'/>
+        <parameter type-id='type-id-8560' name='wrqu' filepath='net/wireless/wext-core.c' line='453' column='1'/>
+        <parameter type-id='type-id-24' name='extra' filepath='net/wireless/wext-core.c' line='454' column='1'/>
+        <return type-id='type-id-73'/>
       </function-decl>
     </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='lib/cpumask.c' language='LANG_C89'>
-      <function-decl name='cpumask_next' mangled-name='cpumask_next' filepath='lib/cpumask.c' line='16' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cpumask_next'>
-        <parameter type-id='type-id-17' name='n' filepath='lib/cpumask.c' line='16' column='1'/>
-        <parameter type-id='type-id-3386' name='srcp' filepath='lib/cpumask.c' line='16' column='1'/>
-        <return type-id='type-id-5'/>
-      </function-decl>
-      <function-decl name='cpumask_next_wrap' mangled-name='cpumask_next_wrap' filepath='lib/cpumask.c' line='76' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='cpumask_next_wrap'>
-        <parameter type-id='type-id-17' name='n' filepath='lib/cpumask.c' line='76' column='1'/>
-        <parameter type-id='type-id-3386' name='mask' filepath='lib/cpumask.c' line='76' column='1'/>
-        <parameter type-id='type-id-17' name='start' filepath='lib/cpumask.c' line='76' column='1'/>
-        <parameter type-id='type-id-33' name='wrap' filepath='lib/cpumask.c' line='76' column='1'/>
-        <return type-id='type-id-17'/>
+    <abi-instr version='1.0' address-size='64' path='net/xfrm/xfrm_policy.c' language='LANG_C89'>
+      <function-decl name='__xfrm_policy_check' mangled-name='__xfrm_policy_check' filepath='net/xfrm/xfrm_policy.c' line='2322' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='__xfrm_policy_check'>
+        <parameter type-id='type-id-2995' name='sk' filepath='net/xfrm/xfrm_policy.c' line='2322' column='1'/>
+        <parameter type-id='type-id-11' name='dir' filepath='net/xfrm/xfrm_policy.c' line='2322' column='1'/>
+        <parameter type-id='type-id-513' name='skb' filepath='net/xfrm/xfrm_policy.c' line='2322' column='1'/>
+        <parameter type-id='type-id-288' name='family' filepath='net/xfrm/xfrm_policy.c' line='2323' column='1'/>
+        <return type-id='type-id-11'/>
       </function-decl>
     </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='lib/idr.c' language='LANG_C89'>
-      <pointer-type-def type-id='type-id-3449' size-in-bits='64' id='type-id-6644'/>
-      <function-decl name='ida_destroy' mangled-name='ida_destroy' filepath='lib/idr.c' line='503' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ida_destroy'>
-        <parameter type-id='type-id-6644' name='ida' filepath='lib/idr.c' line='503' column='1'/>
-        <return type-id='type-id-81'/>
+    <abi-instr version='1.0' address-size='64' path='security/security.c' language='LANG_C89'>
+      <class-decl name='sctp_endpoint' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-9055'/>
+      <class-decl name='sk_buff' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-9056'/>
+      <class-decl name='socket' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-9057'/>
+      <pointer-type-def type-id='type-id-9055' size-in-bits='64' id='type-id-9058'/>
+      <pointer-type-def type-id='type-id-9056' size-in-bits='64' id='type-id-9059'/>
+      <pointer-type-def type-id='type-id-9057' size-in-bits='64' id='type-id-9060'/>
+      <function-decl name='security_sock_graft' mangled-name='security_sock_graft' filepath='security/security.c' line='1496' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='security_sock_graft'>
+        <parameter type-id='type-id-6241' name='sk' filepath='security/security.c' line='1496' column='1'/>
+        <parameter type-id='type-id-9060' name='parent' filepath='security/security.c' line='1496' column='1'/>
+        <return type-id='type-id-73'/>
       </function-decl>
-      <function-decl name='ida_alloc_range' mangled-name='ida_alloc_range' filepath='lib/idr.c' line='534' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ida_alloc_range'>
-        <parameter type-id='type-id-6644' name='ida' filepath='lib/idr.c' line='534' column='1'/>
-        <parameter type-id='type-id-5' name='min' filepath='lib/idr.c' line='534' column='1'/>
-        <parameter type-id='type-id-5' name='max' filepath='lib/idr.c' line='534' column='1'/>
-        <parameter type-id='type-id-485' name='gfp' filepath='lib/idr.c' line='535' column='1'/>
-        <return type-id='type-id-17'/>
+      <function-decl name='security_inet_conn_established' mangled-name='security_inet_conn_established' filepath='security/security.c' line='1515' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='security_inet_conn_established'>
+        <parameter type-id='type-id-6241' name='sk' filepath='security/security.c' line='1515' column='1'/>
+        <parameter type-id='type-id-9059' name='skb' filepath='security/security.c' line='1516' column='1'/>
+        <return type-id='type-id-73'/>
       </function-decl>
-      <function-decl name='ida_free' mangled-name='ida_free' filepath='lib/idr.c' line='572' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ida_free'>
-        <parameter type-id='type-id-6644' name='ida' filepath='lib/idr.c' line='572' column='1'/>
-        <parameter type-id='type-id-5' name='id' filepath='lib/idr.c' line='572' column='1'/>
-        <return type-id='type-id-81'/>
+      <function-decl name='security_sctp_assoc_request' mangled-name='security_sctp_assoc_request' filepath='security/security.c' line='1576' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='security_sctp_assoc_request'>
+        <parameter type-id='type-id-9058' name='ep' filepath='security/security.c' line='1576' column='1'/>
+        <parameter type-id='type-id-9059' name='skb' filepath='security/security.c' line='1576' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='security_sctp_bind_connect' mangled-name='security_sctp_bind_connect' filepath='security/security.c' line='1582' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='security_sctp_bind_connect'>
+        <parameter type-id='type-id-6241' name='sk' filepath='security/security.c' line='1582' column='1'/>
+        <parameter type-id='type-id-11' name='optname' filepath='security/security.c' line='1582' column='1'/>
+        <parameter type-id='type-id-7175' name='address' filepath='security/security.c' line='1583' column='1'/>
+        <parameter type-id='type-id-11' name='addrlen' filepath='security/security.c' line='1583' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='security_sctp_sk_clone' mangled-name='security_sctp_sk_clone' filepath='security/security.c' line='1590' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='security_sctp_sk_clone'>
+        <parameter type-id='type-id-9058' name='ep' filepath='security/security.c' line='1590' column='1'/>
+        <parameter type-id='type-id-6241' name='sk' filepath='security/security.c' line='1590' column='1'/>
+        <parameter type-id='type-id-6241' name='newsk' filepath='security/security.c' line='1591' column='1'/>
+        <return type-id='type-id-73'/>
       </function-decl>
     </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='lib/kobject.c' language='LANG_C89'>
-      <function-decl name='kobject_init_and_add' mangled-name='kobject_init_and_add' filepath='lib/kobject.c' line='444' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kobject_init_and_add'>
-        <parameter type-id='type-id-379' name='kobj' filepath='lib/kobject.c' line='444' column='1'/>
-        <parameter type-id='type-id-1396' name='ktype' filepath='lib/kobject.c' line='444' column='1'/>
-        <parameter type-id='type-id-379' name='parent' filepath='lib/kobject.c' line='445' column='1'/>
-        <parameter type-id='type-id-4' name='fmt' filepath='lib/kobject.c' line='445' column='1'/>
+    <abi-instr version='1.0' address-size='64' path='security/selinux/hooks.c' language='LANG_C89'>
+      <class-decl name='crypto_cipher' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-9061'/>
+      <array-type-def dimensions='1' type-id='type-id-9062' size-in-bits='4096' id='type-id-9063'>
+        <subrange length='32' type-id='type-id-5' id='type-id-2319'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-2995' size-in-bits='infinite' id='type-id-9064'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <union-decl name='tcp_cc_info' visibility='default' is-declaration-only='yes' id='type-id-9065'/>
+      <class-decl name='__anonymous_struct__' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='667' column='1' id='type-id-8451'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='next' type-id='type-id-513' visibility='default' filepath='include/linux/skbuff.h' line='669' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='prev' type-id='type-id-513' visibility='default' filepath='include/linux/skbuff.h' line='670' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='' type-id='type-id-9066' visibility='default' filepath='include/linux/skbuff.h' line='672' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__4' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/skbuff.h' line='672' column='1' id='type-id-9066'>
+        <data-member access='private'>
+          <var-decl name='dev' type-id='type-id-2976' visibility='default' filepath='include/linux/skbuff.h' line='673' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='dev_scratch' type-id='type-id-100' visibility='default' filepath='include/linux/skbuff.h' line='678' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='request_sock' size-in-bits='1792' is-struct='yes' visibility='default' filepath='include/net/request_sock.h' line='50' column='1' id='type-id-9067'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='__req_common' type-id='type-id-6444' visibility='default' filepath='include/net/request_sock.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='dl_next' type-id='type-id-9068' visibility='default' filepath='include/net/request_sock.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='mss' type-id='type-id-289' visibility='default' filepath='include/net/request_sock.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1168'>
+          <var-decl name='num_retrans' type-id='type-id-53' visibility='default' filepath='include/net/request_sock.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7'>
+          <var-decl name='cookie_ts' type-id='type-id-53' visibility='default' filepath='include/net/request_sock.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1176'>
+          <var-decl name='num_timeout' type-id='type-id-53' visibility='default' filepath='include/net/request_sock.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1184'>
+          <var-decl name='ts_recent' type-id='type-id-9' visibility='default' filepath='include/net/request_sock.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='rsk_timer' type-id='type-id-1240' visibility='default' filepath='include/net/request_sock.h' line='64' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='rsk_ops' type-id='type-id-9069' visibility='default' filepath='include/net/request_sock.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='sk' type-id='type-id-2995' visibility='default' filepath='include/net/request_sock.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='saved_syn' type-id='type-id-347' visibility='default' filepath='include/net/request_sock.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='secid' type-id='type-id-9' visibility='default' filepath='include/net/request_sock.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1760'>
+          <var-decl name='peer_secid' type-id='type-id-9' visibility='default' filepath='include/net/request_sock.h' line='69' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='inet_ehash_bucket' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/net/inet_hashtables.h' line='42' column='1' id='type-id-9070'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='chain' type-id='type-id-7577' visibility='default' filepath='include/net/inet_hashtables.h' line='43' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='inet_bind_hashbucket' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/net/inet_hashtables.h' line='104' column='1' id='type-id-9071'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/net/inet_hashtables.h' line='105' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='chain' type-id='type-id-297' visibility='default' filepath='include/net/inet_hashtables.h' line='106' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='inet_listen_hashbucket' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/net/inet_hashtables.h' line='115' column='1' id='type-id-9062'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/net/inet_hashtables.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='count' type-id='type-id-10' visibility='default' filepath='include/net/inet_hashtables.h' line='117' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='' type-id='type-id-9072' visibility='default' filepath='include/net/inet_hashtables.h' line='118' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__6' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/net/inet_hashtables.h' line='118' column='1' id='type-id-9072'>
+        <data-member access='private'>
+          <var-decl name='head' type-id='type-id-297' visibility='default' filepath='include/net/inet_hashtables.h' line='119' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='nulls_head' type-id='type-id-7577' visibility='default' filepath='include/net/inet_hashtables.h' line='120' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__1' size-in-bits='6848' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='353' column='1' id='type-id-9073'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mmap' type-id='type-id-132' visibility='default' filepath='include/linux/mm_types.h' line='354' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='mm_rb' type-id='type-id-133' visibility='default' filepath='include/linux/mm_types.h' line='355' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='vmacache_seqnum' type-id='type-id-134' visibility='default' filepath='include/linux/mm_types.h' line='356' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='get_unmapped_area' type-id='type-id-135' visibility='default' filepath='include/linux/mm_types.h' line='358' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='mmap_base' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='362' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='mmap_legacy_base' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='363' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='task_size' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='369' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='highest_vm_end' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='370' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='pgd' type-id='type-id-136' visibility='default' filepath='include/linux/mm_types.h' line='371' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='mm_users' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='382' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='mm_count' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='391' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='pgtables_bytes' type-id='type-id-138' visibility='default' filepath='include/linux/mm_types.h' line='394' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='map_count' type-id='type-id-11' visibility='default' filepath='include/linux/mm_types.h' line='396' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='736'>
+          <var-decl name='page_table_lock' type-id='type-id-106' visibility='default' filepath='include/linux/mm_types.h' line='398' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='mmap_sem' type-id='type-id-139' visibility='default' filepath='include/linux/mm_types.h' line='401' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='mmlist' type-id='type-id-8' visibility='default' filepath='include/linux/mm_types.h' line='403' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='hiwater_rss' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='410' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='hiwater_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='411' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='total_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='413' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='locked_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='414' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='pinned_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='415' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='data_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='416' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='exec_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='417' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='stack_vm' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='418' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='def_flags' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='419' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='arg_lock' type-id='type-id-106' visibility='default' filepath='include/linux/mm_types.h' line='421' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='start_code' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='end_code' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='start_data' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='end_data' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='422' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='start_brk' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='brk' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='start_stack' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='423' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='arg_start' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='arg_end' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='env_start' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='env_end' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='424' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='saved_auxv' type-id='type-id-140' visibility='default' filepath='include/linux/mm_types.h' line='426' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5504'>
+          <var-decl name='rss_stat' type-id='type-id-141' visibility='default' filepath='include/linux/mm_types.h' line='432' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5760'>
+          <var-decl name='binfmt' type-id='type-id-4464' visibility='default' filepath='include/linux/mm_types.h' line='434' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5824'>
+          <var-decl name='context' type-id='type-id-143' visibility='default' filepath='include/linux/mm_types.h' line='437' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6016'>
+          <var-decl name='flags' type-id='type-id-100' visibility='default' filepath='include/linux/mm_types.h' line='439' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6080'>
+          <var-decl name='core_state' type-id='type-id-144' visibility='default' filepath='include/linux/mm_types.h' line='441' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6144'>
+          <var-decl name='membarrier_state' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='443' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6176'>
+          <var-decl name='ioctx_lock' type-id='type-id-106' visibility='default' filepath='include/linux/mm_types.h' line='446' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6208'>
+          <var-decl name='ioctx_table' type-id='type-id-145' visibility='default' filepath='include/linux/mm_types.h' line='447' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6272'>
+          <var-decl name='owner' type-id='type-id-118' visibility='default' filepath='include/linux/mm_types.h' line='460' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6336'>
+          <var-decl name='user_ns' type-id='type-id-4564' visibility='default' filepath='include/linux/mm_types.h' line='462' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6400'>
+          <var-decl name='exe_file' type-id='type-id-147' visibility='default' filepath='include/linux/mm_types.h' line='465' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6464'>
+          <var-decl name='tlb_flush_pending' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='491' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6528'>
+          <var-decl name='uprobes_state' type-id='type-id-148' visibility='default' filepath='include/linux/mm_types.h' line='496' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6592'>
+          <var-decl name='async_put_work' type-id='type-id-149' visibility='default' filepath='include/linux/mm_types.h' line='500' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='sock_reuseport' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/net/sock_reuseport.h' line='13' column='1' id='type-id-9074'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/net/sock_reuseport.h' line='14' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='max_socks' type-id='type-id-289' visibility='default' filepath='include/net/sock_reuseport.h' line='16' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='144'>
+          <var-decl name='num_socks' type-id='type-id-289' visibility='default' filepath='include/net/sock_reuseport.h' line='17' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='synq_overflow_ts' type-id='type-id-10' visibility='default' filepath='include/net/sock_reuseport.h' line='21' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='reuseport_id' type-id='type-id-10' visibility='default' filepath='include/net/sock_reuseport.h' line='23' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='bind_inany' type-id='type-id-10' visibility='default' filepath='include/net/sock_reuseport.h' line='24' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='has_conns' type-id='type-id-10' visibility='default' filepath='include/net/sock_reuseport.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='prog' type-id='type-id-3014' visibility='default' filepath='include/net/sock_reuseport.h' line='26' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='socks' type-id='type-id-9064' visibility='default' filepath='include/net/sock_reuseport.h' line='27' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ip_ra_chain' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/net/ip.h' line='120' column='1' id='type-id-9075'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='next' type-id='type-id-7503' visibility='default' filepath='include/net/ip.h' line='121' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='sk' type-id='type-id-2995' visibility='default' filepath='include/net/ip.h' line='122' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='' type-id='type-id-9076' visibility='default' filepath='include/net/ip.h' line='123' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='rcu' type-id='type-id-157' visibility='default' filepath='include/net/ip.h' line='127' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__11' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/net/ip.h' line='123' column='1' id='type-id-9076'>
+        <data-member access='private'>
+          <var-decl name='destructor' type-id='type-id-6453' visibility='default' filepath='include/net/ip.h' line='124' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='saved_sk' type-id='type-id-2995' visibility='default' filepath='include/net/ip.h' line='125' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='tcp_congestion_ops' size-in-bits='1216' is-struct='yes' visibility='default' filepath='include/net/tcp.h' line='1017' column='1' id='type-id-9077'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/net/tcp.h' line='1018' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='key' type-id='type-id-9' visibility='default' filepath='include/net/tcp.h' line='1019' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='flags' type-id='type-id-9' visibility='default' filepath='include/net/tcp.h' line='1020' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='init' type-id='type-id-6453' visibility='default' filepath='include/net/tcp.h' line='1023' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='release' type-id='type-id-6453' visibility='default' filepath='include/net/tcp.h' line='1025' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='ssthresh' type-id='type-id-9078' visibility='default' filepath='include/net/tcp.h' line='1028' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='cong_avoid' type-id='type-id-9079' visibility='default' filepath='include/net/tcp.h' line='1030' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='set_state' type-id='type-id-9080' visibility='default' filepath='include/net/tcp.h' line='1032' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='cwnd_event' type-id='type-id-9081' visibility='default' filepath='include/net/tcp.h' line='1034' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='in_ack_event' type-id='type-id-9082' visibility='default' filepath='include/net/tcp.h' line='1036' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='undo_cwnd' type-id='type-id-9078' visibility='default' filepath='include/net/tcp.h' line='1038' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='pkts_acked' type-id='type-id-9083' visibility='default' filepath='include/net/tcp.h' line='1040' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='min_tso_segs' type-id='type-id-9078' visibility='default' filepath='include/net/tcp.h' line='1042' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='sndbuf_expand' type-id='type-id-9078' visibility='default' filepath='include/net/tcp.h' line='1044' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='cong_control' type-id='type-id-9084' visibility='default' filepath='include/net/tcp.h' line='1048' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='get_info' type-id='type-id-9085' visibility='default' filepath='include/net/tcp.h' line='1050' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='name' type-id='type-id-847' visibility='default' filepath='include/net/tcp.h' line='1053' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/net/tcp.h' line='1054' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='tcp_ca_event' filepath='include/net/tcp.h' line='955' column='1' id='type-id-9086'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='CA_EVENT_TX_START' value='0'/>
+        <enumerator name='CA_EVENT_CWND_RESTART' value='1'/>
+        <enumerator name='CA_EVENT_COMPLETE_CWR' value='2'/>
+        <enumerator name='CA_EVENT_LOSS' value='3'/>
+        <enumerator name='CA_EVENT_ECN_NO_CE' value='4'/>
+        <enumerator name='CA_EVENT_ECN_IS_CE' value='5'/>
+      </enum-decl>
+      <class-decl name='ack_sample' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/net/tcp.h' line='987' column='1' id='type-id-9087'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='pkts_acked' type-id='type-id-9' visibility='default' filepath='include/net/tcp.h' line='988' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='rtt_us' type-id='type-id-939' visibility='default' filepath='include/net/tcp.h' line='989' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='in_flight' type-id='type-id-9' visibility='default' filepath='include/net/tcp.h' line='990' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='rate_sample' size-in-bits='448' is-struct='yes' visibility='default' filepath='include/net/tcp.h' line='1001' column='1' id='type-id-9088'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='prior_mstamp' type-id='type-id-134' visibility='default' filepath='include/net/tcp.h' line='1002' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='prior_delivered' type-id='type-id-9' visibility='default' filepath='include/net/tcp.h' line='1003' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='delivered' type-id='type-id-939' visibility='default' filepath='include/net/tcp.h' line='1004' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='interval_us' type-id='type-id-187' visibility='default' filepath='include/net/tcp.h' line='1005' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='snd_interval_us' type-id='type-id-9' visibility='default' filepath='include/net/tcp.h' line='1006' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='rcv_interval_us' type-id='type-id-9' visibility='default' filepath='include/net/tcp.h' line='1007' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='rtt_us' type-id='type-id-187' visibility='default' filepath='include/net/tcp.h' line='1008' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='losses' type-id='type-id-11' visibility='default' filepath='include/net/tcp.h' line='1009' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='acked_sacked' type-id='type-id-9' visibility='default' filepath='include/net/tcp.h' line='1010' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='prior_in_flight' type-id='type-id-9' visibility='default' filepath='include/net/tcp.h' line='1011' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='is_app_limited' type-id='type-id-211' visibility='default' filepath='include/net/tcp.h' line='1012' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='424'>
+          <var-decl name='is_retrans' type-id='type-id-211' visibility='default' filepath='include/net/tcp.h' line='1013' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='432'>
+          <var-decl name='is_ack_delayed' type-id='type-id-211' visibility='default' filepath='include/net/tcp.h' line='1014' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='ipv6_stable_secret' size-in-bits='160' is-struct='yes' visibility='default' filepath='include/linux/ipv6.h' line='64' column='1' id='type-id-9089'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='initialized' type-id='type-id-211' visibility='default' filepath='include/linux/ipv6.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='secret' type-id='type-id-3028' visibility='default' filepath='include/linux/ipv6.h' line='66' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='nf_hook_ops' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/linux/netfilter.h' line='64' column='1' id='type-id-9090'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='hook' type-id='type-id-8548' visibility='default' filepath='include/linux/netfilter.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dev' type-id='type-id-2976' visibility='default' filepath='include/linux/netfilter.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='priv' type-id='type-id-3' visibility='default' filepath='include/linux/netfilter.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='pf' type-id='type-id-8467' visibility='default' filepath='include/linux/netfilter.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='hooknum' type-id='type-id-10' visibility='default' filepath='include/linux/netfilter.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='priority' type-id='type-id-11' visibility='default' filepath='include/linux/netfilter.h' line='72' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='nf_hookfn' type-id='type-id-9091' filepath='include/linux/netfilter.h' line='61' column='1' id='type-id-9092'/>
+      <class-decl name='nf_hook_state' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/linux/netfilter.h' line='51' column='1' id='type-id-8190'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='hook' type-id='type-id-10' visibility='default' filepath='include/linux/netfilter.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='pf' type-id='type-id-8467' visibility='default' filepath='include/linux/netfilter.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='in' type-id='type-id-2976' visibility='default' filepath='include/linux/netfilter.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='out' type-id='type-id-2976' visibility='default' filepath='include/linux/netfilter.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='sk' type-id='type-id-2995' visibility='default' filepath='include/linux/netfilter.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='net' type-id='type-id-2984' visibility='default' filepath='include/linux/netfilter.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='okfn' type-id='type-id-6896' visibility='default' filepath='include/linux/netfilter.h' line='58' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='u_int8_t' type-id='type-id-53' filepath='include/linux/types.h' line='98' column='1' id='type-id-8467'/>
+      <qualified-type-def type-id='type-id-9087' const='yes' id='type-id-9093'/>
+      <pointer-type-def type-id='type-id-9093' size-in-bits='64' id='type-id-9094'/>
+      <qualified-type-def type-id='type-id-9090' const='yes' id='type-id-9095'/>
+      <pointer-type-def type-id='type-id-9095' size-in-bits='64' id='type-id-9096'/>
+      <qualified-type-def type-id='type-id-8190' const='yes' id='type-id-9097'/>
+      <pointer-type-def type-id='type-id-9097' size-in-bits='64' id='type-id-8487'/>
+      <qualified-type-def type-id='type-id-9088' const='yes' id='type-id-9098'/>
+      <pointer-type-def type-id='type-id-9098' size-in-bits='64' id='type-id-9099'/>
+      <qualified-type-def type-id='type-id-9067' const='yes' id='type-id-9100'/>
+      <pointer-type-def type-id='type-id-9100' size-in-bits='64' id='type-id-9101'/>
+      <qualified-type-def type-id='type-id-6412' const='yes' id='type-id-9102'/>
+      <pointer-type-def type-id='type-id-9102' size-in-bits='64' id='type-id-9069'/>
+      <qualified-type-def type-id='type-id-9077' const='yes' id='type-id-9103'/>
+      <pointer-type-def type-id='type-id-9103' size-in-bits='64' id='type-id-9104'/>
+      <pointer-type-def type-id='type-id-9061' size-in-bits='64' id='type-id-9105'/>
+      <pointer-type-def type-id='type-id-9071' size-in-bits='64' id='type-id-9106'/>
+      <pointer-type-def type-id='type-id-9070' size-in-bits='64' id='type-id-9107'/>
+      <pointer-type-def type-id='type-id-9062' size-in-bits='64' id='type-id-9108'/>
+      <pointer-type-def type-id='type-id-9109' size-in-bits='64' id='type-id-9110'/>
+      <pointer-type-def type-id='type-id-9111' size-in-bits='64' id='type-id-9112'/>
+      <pointer-type-def type-id='type-id-9092' size-in-bits='64' id='type-id-8548'/>
+      <pointer-type-def type-id='type-id-9067' size-in-bits='64' id='type-id-9068'/>
+      <pointer-type-def type-id='type-id-9074' size-in-bits='64' id='type-id-9113'/>
+      <pointer-type-def type-id='type-id-9065' size-in-bits='64' id='type-id-9114'/>
+      <pointer-type-def type-id='type-id-9115' size-in-bits='64' id='type-id-9085'/>
+      <pointer-type-def type-id='type-id-9116' size-in-bits='64' id='type-id-9078'/>
+      <pointer-type-def type-id='type-id-9117' size-in-bits='64' id='type-id-9118'/>
+      <pointer-type-def type-id='type-id-9119' size-in-bits='64' id='type-id-9120'/>
+      <pointer-type-def type-id='type-id-9121' size-in-bits='64' id='type-id-9122'/>
+      <pointer-type-def type-id='type-id-9123' size-in-bits='64' id='type-id-9124'/>
+      <pointer-type-def type-id='type-id-9125' size-in-bits='64' id='type-id-9083'/>
+      <pointer-type-def type-id='type-id-9126' size-in-bits='64' id='type-id-9084'/>
+      <pointer-type-def type-id='type-id-9127' size-in-bits='64' id='type-id-9081'/>
+      <pointer-type-def type-id='type-id-9128' size-in-bits='64' id='type-id-9082'/>
+      <pointer-type-def type-id='type-id-9129' size-in-bits='64' id='type-id-9079'/>
+      <pointer-type-def type-id='type-id-9130' size-in-bits='64' id='type-id-9080'/>
+      <function-decl name='inet_get_local_port_range' mangled-name='inet_get_local_port_range' filepath='include/net/ip.h' line='299' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='inet_get_local_port_range'>
+        <parameter type-id='type-id-2984'/>
+        <parameter type-id='type-id-82'/>
+        <parameter type-id='type-id-82'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='skb_copy_bits' mangled-name='skb_copy_bits' filepath='include/linux/skbuff.h' line='3335' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='skb_copy_bits'>
+        <parameter type-id='type-id-3013'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='ipv6_skip_exthdr' mangled-name='ipv6_skip_exthdr' filepath='include/net/ipv6.h' line='992' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ipv6_skip_exthdr'>
+        <parameter type-id='type-id-3013'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-1047'/>
+        <parameter type-id='type-id-3139'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='nf_register_net_hooks' mangled-name='nf_register_net_hooks' filepath='include/linux/netfilter.h' line='169' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nf_register_net_hooks'>
+        <parameter type-id='type-id-2984'/>
+        <parameter type-id='type-id-9096'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='nf_unregister_net_hooks' mangled-name='nf_unregister_net_hooks' filepath='include/linux/netfilter.h' line='171' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='nf_unregister_net_hooks'>
+        <parameter type-id='type-id-2984'/>
+        <parameter type-id='type-id-9096'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-9109'>
+        <parameter type-id='type-id-2996'/>
+        <parameter type-id='type-id-9068'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9111'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9115'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-9'/>
+        <parameter type-id='type-id-82'/>
+        <parameter type-id='type-id-9114'/>
+        <return type-id='type-id-125'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9116'>
+        <parameter type-id='type-id-2995'/>
+        <return type-id='type-id-9'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9091'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-8487'/>
+        <return type-id='type-id-10'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9117'>
+        <parameter type-id='type-id-9101'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9119'>
+        <parameter type-id='type-id-2996'/>
+        <parameter type-id='type-id-513'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9121'>
+        <parameter type-id='type-id-2996'/>
+        <parameter type-id='type-id-513'/>
+        <parameter type-id='type-id-9068'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9123'>
+        <parameter type-id='type-id-9068'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9125'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-9094'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9126'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-9099'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9127'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-9086'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9128'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-9'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9129'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-9'/>
+        <parameter type-id='type-id-9'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9130'>
+        <parameter type-id='type-id-2995'/>
+        <parameter type-id='type-id-53'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='security/selinux/selinuxfs.c' language='LANG_C89'>
+      <function-decl name='hex_to_bin' mangled-name='hex_to_bin' filepath='include/linux/kernel.h' line='634' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='hex_to_bin'>
+        <parameter type-id='type-id-475'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='sound/core/control.c' language='LANG_C89'>
+
+
+
+      <array-type-def dimensions='1' type-id='type-id-187' size-in-bits='8192' id='type-id-9131'>
+        <subrange length='128' type-id='type-id-5' id='type-id-1154'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-112' size-in-bits='4096' id='type-id-9132'>
+        <subrange length='64' type-id='type-id-5' id='type-id-2338'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-9133' size-in-bits='infinite' id='type-id-9134'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-271' size-in-bits='896' id='type-id-9135'>
+        <subrange length='112' type-id='type-id-5' id='type-id-9136'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-271' size-in-bits='1024' id='type-id-9137'>
+        <subrange length='128' type-id='type-id-5' id='type-id-1154'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-271' size-in-bits='1176' id='type-id-9138'>
+        <subrange length='147' type-id='type-id-5' id='type-id-9139'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-271' size-in-bits='192' id='type-id-9140'>
+        <subrange length='24' type-id='type-id-5' id='type-id-1143'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-271' size-in-bits='352' id='type-id-9141'>
+        <subrange length='44' type-id='type-id-5' id='type-id-9142'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-271' size-in-bits='32' id='type-id-9143'>
+        <subrange length='4' type-id='type-id-5' id='type-id-281'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-271' size-in-bits='4096' id='type-id-9144'>
+        <subrange length='512' type-id='type-id-5' id='type-id-3474'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-271' size-in-bits='448' id='type-id-9145'>
+        <subrange length='56' type-id='type-id-5' id='type-id-3476'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-10' size-in-bits='4096' id='type-id-9146'>
+        <subrange length='128' type-id='type-id-5' id='type-id-1154'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-288' size-in-bits='64' id='type-id-9147'>
+        <subrange length='4' type-id='type-id-5' id='type-id-281'/>
+
+      </array-type-def>
+      <class-decl name='snd_ctl_elem_id' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/uapi/sound/asound.h' line='884' column='1' id='type-id-9148'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='numid' type-id='type-id-10' visibility='default' filepath='include/uapi/sound/asound.h' line='885' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='iface' type-id='type-id-9149' visibility='default' filepath='include/uapi/sound/asound.h' line='886' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='device' type-id='type-id-10' visibility='default' filepath='include/uapi/sound/asound.h' line='887' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='subdevice' type-id='type-id-10' visibility='default' filepath='include/uapi/sound/asound.h' line='888' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='name' type-id='type-id-9141' visibility='default' filepath='include/uapi/sound/asound.h' line='889' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='index' type-id='type-id-10' visibility='default' filepath='include/uapi/sound/asound.h' line='890' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='snd_ctl_elem_iface_t' type-id='type-id-11' filepath='include/uapi/sound/asound.h' line='848' column='1' id='type-id-9149'/>
+      <typedef-decl name='snd_kcontrol_info_t' type-id='type-id-9150' filepath='include/sound/control.h' line='32' column='1' id='type-id-9151'/>
+      <class-decl name='snd_ctl_elem_info' size-in-bits='2176' is-struct='yes' visibility='default' filepath='include/uapi/sound/asound.h' line='902' column='1' id='type-id-9152'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='id' type-id='type-id-9148' visibility='default' filepath='include/uapi/sound/asound.h' line='903' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='type' type-id='type-id-9153' visibility='default' filepath='include/uapi/sound/asound.h' line='904' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='access' type-id='type-id-10' visibility='default' filepath='include/uapi/sound/asound.h' line='905' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='count' type-id='type-id-10' visibility='default' filepath='include/uapi/sound/asound.h' line='906' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='owner' type-id='type-id-5712' visibility='default' filepath='include/uapi/sound/asound.h' line='907' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='value' type-id='type-id-9154' visibility='default' filepath='include/uapi/sound/asound.h' line='927' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='dimen' type-id='type-id-9155' visibility='default' filepath='include/uapi/sound/asound.h' line='931' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='reserved' type-id='type-id-9145' visibility='default' filepath='include/uapi/sound/asound.h' line='932' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='snd_ctl_elem_type_t' type-id='type-id-11' filepath='include/uapi/sound/asound.h' line='838' column='1' id='type-id-9153'/>
+      <union-decl name='__anonymous_union__' size-in-bits='1024' is-anonymous='yes' visibility='default' filepath='include/uapi/sound/asound.h' line='908' column='1' id='type-id-9154'>
+        <data-member access='private'>
+          <var-decl name='integer' type-id='type-id-9156' visibility='default' filepath='include/uapi/sound/asound.h' line='913' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='integer64' type-id='type-id-9157' visibility='default' filepath='include/uapi/sound/asound.h' line='918' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='enumerated' type-id='type-id-9158' visibility='default' filepath='include/uapi/sound/asound.h' line='925' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='reserved' type-id='type-id-9137' visibility='default' filepath='include/uapi/sound/asound.h' line='926' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='__anonymous_struct__' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/sound/asound.h' line='909' column='1' id='type-id-9156'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='min' type-id='type-id-187' visibility='default' filepath='include/uapi/sound/asound.h' line='910' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='max' type-id='type-id-187' visibility='default' filepath='include/uapi/sound/asound.h' line='911' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='step' type-id='type-id-187' visibility='default' filepath='include/uapi/sound/asound.h' line='912' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__1' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/sound/asound.h' line='914' column='1' id='type-id-9157'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='min' type-id='type-id-112' visibility='default' filepath='include/uapi/sound/asound.h' line='915' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='max' type-id='type-id-112' visibility='default' filepath='include/uapi/sound/asound.h' line='916' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='step' type-id='type-id-112' visibility='default' filepath='include/uapi/sound/asound.h' line='917' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='__anonymous_struct__2' size-in-bits='704' is-struct='yes' is-anonymous='yes' visibility='default' filepath='include/uapi/sound/asound.h' line='919' column='1' id='type-id-9158'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='items' type-id='type-id-10' visibility='default' filepath='include/uapi/sound/asound.h' line='920' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='item' type-id='type-id-10' visibility='default' filepath='include/uapi/sound/asound.h' line='921' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='name' type-id='type-id-4264' visibility='default' filepath='include/uapi/sound/asound.h' line='922' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='names_ptr' type-id='type-id-1120' visibility='default' filepath='include/uapi/sound/asound.h' line='923' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='names_length' type-id='type-id-10' visibility='default' filepath='include/uapi/sound/asound.h' line='924' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/uapi/sound/asound.h' line='928' column='1' id='type-id-9155'>
+        <data-member access='private'>
+          <var-decl name='d' type-id='type-id-9147' visibility='default' filepath='include/uapi/sound/asound.h' line='929' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='d_ptr' type-id='type-id-3139' visibility='default' filepath='include/uapi/sound/asound.h' line='930' column='1'/>
+        </data-member>
+      </union-decl>
+      <typedef-decl name='snd_kcontrol_get_t' type-id='type-id-9159' filepath='include/sound/control.h' line='33' column='1' id='type-id-9160'/>
+      <class-decl name='snd_ctl_elem_value' size-in-bits='9792' is-struct='yes' visibility='default' filepath='include/uapi/sound/asound.h' line='935' column='1' id='type-id-9161'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='id' type-id='type-id-9148' visibility='default' filepath='include/uapi/sound/asound.h' line='936' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='indirect' type-id='type-id-10' visibility='default' filepath='include/uapi/sound/asound.h' line='937' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='value' type-id='type-id-9162' visibility='default' filepath='include/uapi/sound/asound.h' line='956' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8768'>
+          <var-decl name='tstamp' type-id='type-id-2903' visibility='default' filepath='include/uapi/sound/asound.h' line='957' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8896'>
+          <var-decl name='reserved' type-id='type-id-9135' visibility='default' filepath='include/uapi/sound/asound.h' line='958' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__2' size-in-bits='8192' is-anonymous='yes' visibility='default' filepath='include/uapi/sound/asound.h' line='938' column='1' id='type-id-9162'>
+        <data-member access='private'>
+          <var-decl name='integer' type-id='type-id-9163' visibility='default' filepath='include/uapi/sound/asound.h' line='942' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='integer64' type-id='type-id-9164' visibility='default' filepath='include/uapi/sound/asound.h' line='946' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='enumerated' type-id='type-id-9165' visibility='default' filepath='include/uapi/sound/asound.h' line='950' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='bytes' type-id='type-id-9166' visibility='default' filepath='include/uapi/sound/asound.h' line='954' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='iec958' type-id='type-id-9167' visibility='default' filepath='include/uapi/sound/asound.h' line='955' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__3' size-in-bits='8192' is-anonymous='yes' visibility='default' filepath='include/uapi/sound/asound.h' line='939' column='1' id='type-id-9163'>
+        <data-member access='private'>
+          <var-decl name='value' type-id='type-id-9131' visibility='default' filepath='include/uapi/sound/asound.h' line='940' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='value_ptr' type-id='type-id-6489' visibility='default' filepath='include/uapi/sound/asound.h' line='941' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__4' size-in-bits='4096' is-anonymous='yes' visibility='default' filepath='include/uapi/sound/asound.h' line='943' column='1' id='type-id-9164'>
+        <data-member access='private'>
+          <var-decl name='value' type-id='type-id-9132' visibility='default' filepath='include/uapi/sound/asound.h' line='944' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='value_ptr' type-id='type-id-77' visibility='default' filepath='include/uapi/sound/asound.h' line='945' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__5' size-in-bits='4096' is-anonymous='yes' visibility='default' filepath='include/uapi/sound/asound.h' line='947' column='1' id='type-id-9165'>
+        <data-member access='private'>
+          <var-decl name='item' type-id='type-id-9146' visibility='default' filepath='include/uapi/sound/asound.h' line='948' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='item_ptr' type-id='type-id-72' visibility='default' filepath='include/uapi/sound/asound.h' line='949' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__6' size-in-bits='4096' is-anonymous='yes' visibility='default' filepath='include/uapi/sound/asound.h' line='951' column='1' id='type-id-9166'>
+        <data-member access='private'>
+          <var-decl name='data' type-id='type-id-9144' visibility='default' filepath='include/uapi/sound/asound.h' line='952' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='data_ptr' type-id='type-id-1047' visibility='default' filepath='include/uapi/sound/asound.h' line='953' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='snd_aes_iec958' size-in-bits='1408' is-struct='yes' visibility='default' filepath='include/uapi/sound/asound.h' line='56' column='1' id='type-id-9167'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='status' type-id='type-id-9140' visibility='default' filepath='include/uapi/sound/asound.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='subcode' type-id='type-id-9138' visibility='default' filepath='include/uapi/sound/asound.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1368'>
+          <var-decl name='pad' type-id='type-id-271' visibility='default' filepath='include/uapi/sound/asound.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1376'>
+          <var-decl name='dig_subframe' type-id='type-id-9143' visibility='default' filepath='include/uapi/sound/asound.h' line='60' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='snd_kcontrol_put_t' type-id='type-id-9159' filepath='include/sound/control.h' line='34' column='1' id='type-id-9168'/>
+      <union-decl name='__anonymous_union__7' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/sound/control.h' line='76' column='1' id='type-id-9169'>
+        <data-member access='private'>
+          <var-decl name='c' type-id='type-id-9170' visibility='default' filepath='include/sound/control.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='p' type-id='type-id-835' visibility='default' filepath='include/sound/control.h' line='78' column='1'/>
+        </data-member>
+      </union-decl>
+      <typedef-decl name='snd_kcontrol_tlv_rw_t' type-id='type-id-9171' filepath='include/sound/control.h' line='35' column='1' id='type-id-9172'/>
+      <class-decl name='snd_kcontrol_volatile' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/sound/control.h' line='64' column='1' id='type-id-9133'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='owner' type-id='type-id-9173' visibility='default' filepath='include/sound/control.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='access' type-id='type-id-10' visibility='default' filepath='include/sound/control.h' line='66' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_ctl_file' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/sound/control.h' line='104' column='1' id='type-id-9174'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/sound/control.h' line='105' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='card' type-id='type-id-4263' visibility='default' filepath='include/sound/control.h' line='106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='pid' type-id='type-id-1213' visibility='default' filepath='include/sound/control.h' line='107' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='preferred_subdevice' type-id='type-id-1324' visibility='default' filepath='include/sound/control.h' line='108' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='change_sleep' type-id='type-id-388' visibility='default' filepath='include/sound/control.h' line='109' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='read_lock' type-id='type-id-106' visibility='default' filepath='include/sound/control.h' line='110' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='fasync' type-id='type-id-3920' visibility='default' filepath='include/sound/control.h' line='111' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='subscribed' type-id='type-id-11' visibility='default' filepath='include/sound/control.h' line='112' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='events' type-id='type-id-8' visibility='default' filepath='include/sound/control.h' line='113' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_kcontrol_new' size-in-bits='640' is-struct='yes' visibility='default' filepath='include/sound/control.h' line='46' column='1' id='type-id-9175'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='iface' type-id='type-id-9149' visibility='default' filepath='include/sound/control.h' line='47' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='device' type-id='type-id-10' visibility='default' filepath='include/sound/control.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='subdevice' type-id='type-id-10' visibility='default' filepath='include/sound/control.h' line='49' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='name' type-id='type-id-984' visibility='default' filepath='include/sound/control.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='index' type-id='type-id-10' visibility='default' filepath='include/sound/control.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='access' type-id='type-id-10' visibility='default' filepath='include/sound/control.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='count' type-id='type-id-10' visibility='default' filepath='include/sound/control.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='info' type-id='type-id-9176' visibility='default' filepath='include/sound/control.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='get' type-id='type-id-9177' visibility='default' filepath='include/sound/control.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='put' type-id='type-id-9178' visibility='default' filepath='include/sound/control.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='tlv' type-id='type-id-9179' visibility='default' filepath='include/sound/control.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='private_value' type-id='type-id-100' visibility='default' filepath='include/sound/control.h' line='61' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__12' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/sound/control.h' line='57' column='1' id='type-id-9179'>
+        <data-member access='private'>
+          <var-decl name='c' type-id='type-id-9170' visibility='default' filepath='include/sound/control.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='p' type-id='type-id-835' visibility='default' filepath='include/sound/control.h' line='59' column='1'/>
+        </data-member>
+      </union-decl>
+      <qualified-type-def type-id='type-id-9175' const='yes' id='type-id-9180'/>
+      <pointer-type-def type-id='type-id-9180' size-in-bits='64' id='type-id-9181'/>
+      <pointer-type-def type-id='type-id-9148' size-in-bits='64' id='type-id-9182'/>
+      <pointer-type-def type-id='type-id-9152' size-in-bits='64' id='type-id-9183'/>
+      <pointer-type-def type-id='type-id-9161' size-in-bits='64' id='type-id-9184'/>
+      <pointer-type-def type-id='type-id-9174' size-in-bits='64' id='type-id-9173'/>
+      <pointer-type-def type-id='type-id-9160' size-in-bits='64' id='type-id-9177'/>
+      <pointer-type-def type-id='type-id-9151' size-in-bits='64' id='type-id-9176'/>
+      <pointer-type-def type-id='type-id-9168' size-in-bits='64' id='type-id-9178'/>
+      <pointer-type-def type-id='type-id-9172' size-in-bits='64' id='type-id-9170'/>
+      <pointer-type-def type-id='type-id-9185' size-in-bits='64' id='type-id-9186'/>
+      <function-decl name='snd_ctl_find_id' mangled-name='snd_ctl_find_id' filepath='include/sound/control.h' line='134' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_ctl_find_id'>
+        <parameter type-id='type-id-4263'/>
+        <parameter type-id='type-id-9182'/>
+        <return type-id='type-id-4267'/>
+      </function-decl>
+      <function-decl name='snd_ctl_remove' mangled-name='snd_ctl_remove' filepath='include/sound/control.h' line='127' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_ctl_remove'>
+        <parameter type-id='type-id-4263'/>
+        <parameter type-id='type-id-4267'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_ctl_notify' mangled-name='snd_ctl_notify' filepath='sound/core/control.c' line='156' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_ctl_notify'>
+        <parameter type-id='type-id-4263' name='card' filepath='sound/core/control.c' line='156' column='1'/>
+        <parameter type-id='type-id-10' name='mask' filepath='sound/core/control.c' line='156' column='1'/>
+        <parameter type-id='type-id-9182' name='id' filepath='sound/core/control.c' line='157' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='snd_ctl_new1' mangled-name='snd_ctl_new1' filepath='sound/core/control.c' line='247' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_ctl_new1'>
+        <parameter type-id='type-id-9181' name='ncontrol' filepath='sound/core/control.c' line='247' column='1'/>
+        <parameter type-id='type-id-3' name='private_data' filepath='sound/core/control.c' line='248' column='1'/>
+        <return type-id='type-id-4267'/>
+      </function-decl>
+      <function-decl name='snd_ctl_add' mangled-name='snd_ctl_add' filepath='sound/core/control.c' line='399' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_ctl_add'>
+        <parameter type-id='type-id-4263' name='card' filepath='sound/core/control.c' line='399' column='1'/>
+        <parameter type-id='type-id-4267' name='kcontrol' filepath='sound/core/control.c' line='399' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_ctl_remove_id' mangled-name='snd_ctl_remove_id' filepath='sound/core/control.c' line='526' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_ctl_remove_id'>
+        <parameter type-id='type-id-4263' name='card' filepath='sound/core/control.c' line='526' column='1'/>
+        <parameter type-id='type-id-9182' name='id' filepath='sound/core/control.c' line='526' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_ctl_boolean_mono_info' mangled-name='snd_ctl_boolean_mono_info' filepath='sound/core/control.c' line='1930' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_ctl_boolean_mono_info'>
+        <parameter type-id='type-id-4267' name='kcontrol' filepath='sound/core/control.c' line='1930' column='1'/>
+        <parameter type-id='type-id-9183' name='uinfo' filepath='sound/core/control.c' line='1931' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_ctl_enum_info' mangled-name='snd_ctl_enum_info' filepath='sound/core/control.c' line='1974' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_ctl_enum_info'>
+        <parameter type-id='type-id-9183' name='info' filepath='sound/core/control.c' line='1974' column='1'/>
+        <parameter type-id='type-id-10' name='channels' filepath='sound/core/control.c' line='1974' column='1'/>
+        <parameter type-id='type-id-10' name='items' filepath='sound/core/control.c' line='1975' column='1'/>
+        <parameter type-id='type-id-562' name='names' filepath='sound/core/control.c' line='1975' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-9171'>
+        <parameter type-id='type-id-4267'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-72'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9150'>
+        <parameter type-id='type-id-4267'/>
+        <parameter type-id='type-id-9183'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9159'>
+        <parameter type-id='type-id-4267'/>
+        <parameter type-id='type-id-9184'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9185'>
+        <parameter type-id='type-id-4267'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='sound/core/hwdep.c' language='LANG_C89'>
+      <class-decl name='snd_hwdep' size-in-bits='8768' is-struct='yes' visibility='default' filepath='include/sound/hwdep.h' line='54' column='1' id='type-id-9187'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='card' type-id='type-id-4263' visibility='default' filepath='include/sound/hwdep.h' line='55' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/sound/hwdep.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='device' type-id='type-id-11' visibility='default' filepath='include/sound/hwdep.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='id' type-id='type-id-650' visibility='default' filepath='include/sound/hwdep.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='name' type-id='type-id-4265' visibility='default' filepath='include/sound/hwdep.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1120'>
+          <var-decl name='iface' type-id='type-id-11' visibility='default' filepath='include/sound/hwdep.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='ops' type-id='type-id-9188' visibility='default' filepath='include/sound/hwdep.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='open_wait' type-id='type-id-388' visibility='default' filepath='include/sound/hwdep.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='private_data' type-id='type-id-3' visibility='default' filepath='include/sound/hwdep.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='private_free' type-id='type-id-9189' visibility='default' filepath='include/sound/hwdep.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='include/sound/hwdep.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8384'>
+          <var-decl name='open_mutex' type-id='type-id-407' visibility='default' filepath='include/sound/hwdep.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8640'>
+          <var-decl name='used' type-id='type-id-11' visibility='default' filepath='include/sound/hwdep.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8672'>
+          <var-decl name='dsp_loaded' type-id='type-id-10' visibility='default' filepath='include/sound/hwdep.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='exclusive' type-id='type-id-10' visibility='default' filepath='include/sound/hwdep.h' line='76' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_hwdep_ops' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/sound/hwdep.h' line='31' column='1' id='type-id-9188'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='llseek' type-id='type-id-9190' visibility='default' filepath='include/sound/hwdep.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='read' type-id='type-id-9191' visibility='default' filepath='include/sound/hwdep.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='write' type-id='type-id-9192' visibility='default' filepath='include/sound/hwdep.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='open' type-id='type-id-9193' visibility='default' filepath='include/sound/hwdep.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='release' type-id='type-id-9193' visibility='default' filepath='include/sound/hwdep.h' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='poll' type-id='type-id-9194' visibility='default' filepath='include/sound/hwdep.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='ioctl' type-id='type-id-9195' visibility='default' filepath='include/sound/hwdep.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='ioctl_compat' type-id='type-id-9195' visibility='default' filepath='include/sound/hwdep.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='mmap' type-id='type-id-9196' visibility='default' filepath='include/sound/hwdep.h' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='dsp_status' type-id='type-id-9197' visibility='default' filepath='include/sound/hwdep.h' line='48' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='dsp_load' type-id='type-id-9198' visibility='default' filepath='include/sound/hwdep.h' line='50' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_hwdep_dsp_status' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/uapi/sound/asound.h' line='128' column='1' id='type-id-9199'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='version' type-id='type-id-10' visibility='default' filepath='include/uapi/sound/asound.h' line='129' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='id' type-id='type-id-4828' visibility='default' filepath='include/uapi/sound/asound.h' line='130' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='num_dsps' type-id='type-id-10' visibility='default' filepath='include/uapi/sound/asound.h' line='131' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='dsp_loaded' type-id='type-id-10' visibility='default' filepath='include/uapi/sound/asound.h' line='132' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='chip_ready' type-id='type-id-10' visibility='default' filepath='include/uapi/sound/asound.h' line='133' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='reserved' type-id='type-id-3477' visibility='default' filepath='include/uapi/sound/asound.h' line='134' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_hwdep_dsp_image' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/uapi/sound/asound.h' line='137' column='1' id='type-id-9200'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='index' type-id='type-id-10' visibility='default' filepath='include/uapi/sound/asound.h' line='138' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='name' type-id='type-id-4248' visibility='default' filepath='include/uapi/sound/asound.h' line='139' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='image' type-id='type-id-1047' visibility='default' filepath='include/uapi/sound/asound.h' line='140' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='length' type-id='type-id-125' visibility='default' filepath='include/uapi/sound/asound.h' line='141' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='driver_data' type-id='type-id-100' visibility='default' filepath='include/uapi/sound/asound.h' line='142' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-9201' size-in-bits='64' id='type-id-9193'/>
+      <pointer-type-def type-id='type-id-9202' size-in-bits='64' id='type-id-9195'/>
+      <pointer-type-def type-id='type-id-9203' size-in-bits='64' id='type-id-9196'/>
+      <pointer-type-def type-id='type-id-9204' size-in-bits='64' id='type-id-9198'/>
+      <pointer-type-def type-id='type-id-9205' size-in-bits='64' id='type-id-9197'/>
+      <pointer-type-def type-id='type-id-9206' size-in-bits='64' id='type-id-9191'/>
+      <pointer-type-def type-id='type-id-9207' size-in-bits='64' id='type-id-9192'/>
+      <pointer-type-def type-id='type-id-9208' size-in-bits='64' id='type-id-9190'/>
+      <pointer-type-def type-id='type-id-9187' size-in-bits='64' id='type-id-9209'/>
+      <pointer-type-def type-id='type-id-9209' size-in-bits='64' id='type-id-9210'/>
+      <pointer-type-def type-id='type-id-9200' size-in-bits='64' id='type-id-9211'/>
+      <pointer-type-def type-id='type-id-9199' size-in-bits='64' id='type-id-9212'/>
+      <pointer-type-def type-id='type-id-9213' size-in-bits='64' id='type-id-9194'/>
+      <pointer-type-def type-id='type-id-9214' size-in-bits='64' id='type-id-9189'/>
+      <function-decl name='snd_hwdep_new' mangled-name='snd_hwdep_new' filepath='sound/core/hwdep.c' line='366' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_hwdep_new'>
+        <parameter type-id='type-id-4263' name='card' filepath='sound/core/hwdep.c' line='366' column='1'/>
+        <parameter type-id='type-id-300' name='id' filepath='sound/core/hwdep.c' line='366' column='1'/>
+        <parameter type-id='type-id-11' name='device' filepath='sound/core/hwdep.c' line='366' column='1'/>
+        <parameter type-id='type-id-9210' name='rhwdep' filepath='sound/core/hwdep.c' line='367' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-9201'>
+        <parameter type-id='type-id-9209'/>
+        <parameter type-id='type-id-147'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9202'>
+        <parameter type-id='type-id-9209'/>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9203'>
+        <parameter type-id='type-id-9209'/>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-132'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9204'>
+        <parameter type-id='type-id-9209'/>
+        <parameter type-id='type-id-9211'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9205'>
+        <parameter type-id='type-id-9209'/>
+        <parameter type-id='type-id-9212'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9206'>
+        <parameter type-id='type-id-9209'/>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-187'/>
+        <parameter type-id='type-id-1705'/>
+        <return type-id='type-id-187'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9207'>
+        <parameter type-id='type-id-9209'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-187'/>
+        <parameter type-id='type-id-1705'/>
+        <return type-id='type-id-187'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9208'>
+        <parameter type-id='type-id-9209'/>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-112'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-112'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9213'>
+        <parameter type-id='type-id-9209'/>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-9215'/>
+        <return type-id='type-id-1834'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9214'>
+        <parameter type-id='type-id-9209'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='sound/core/init.c' language='LANG_C89'>
+      <function-decl name='snd_info_free_entry' mangled-name='snd_info_free_entry' filepath='include/sound/info.h' line='136' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_info_free_entry'>
+        <parameter type-id='type-id-9216'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='snd_info_create_card_entry' mangled-name='snd_info_create_card_entry' filepath='include/sound/info.h' line='133' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_info_create_card_entry'>
+        <parameter type-id='type-id-4263'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-9216'/>
+        <return type-id='type-id-9216'/>
+      </function-decl>
+      <function-decl name='snd_card_disconnect' mangled-name='snd_card_disconnect' filepath='sound/core/init.c' line='395' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_card_disconnect'>
+        <parameter type-id='type-id-4263' name='card' filepath='sound/core/init.c' line='395' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_power_wait' mangled-name='snd_power_wait' filepath='sound/core/init.c' line='1013' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_power_wait'>
+        <parameter type-id='type-id-4263' name='card' filepath='sound/core/init.c' line='1013' column='1'/>
+        <parameter type-id='type-id-10' name='power_state' filepath='sound/core/init.c' line='1013' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='sound/core/jack.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-475' size-in-bits='800' id='type-id-9217'>
+        <subrange length='100' type-id='type-id-5' id='type-id-7702'/>
+
+      </array-type-def>
+      <class-decl name='snd_jack' size-in-bits='1536' is-struct='yes' visibility='default' filepath='include/sound/jack.h' line='74' column='1' id='type-id-9218'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='kctl_list' type-id='type-id-8' visibility='default' filepath='include/sound/jack.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='card' type-id='type-id-4263' visibility='default' filepath='include/sound/jack.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='id' type-id='type-id-24' visibility='default' filepath='include/sound/jack.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='input_dev' type-id='type-id-2078' visibility='default' filepath='include/sound/jack.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='registered' type-id='type-id-11' visibility='default' filepath='include/sound/jack.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='type' type-id='type-id-11' visibility='default' filepath='include/sound/jack.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='name' type-id='type-id-9217' visibility='default' filepath='include/sound/jack.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1184'>
+          <var-decl name='key' type-id='type-id-7459' visibility='default' filepath='include/sound/jack.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='private_data' type-id='type-id-3' visibility='default' filepath='include/sound/jack.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='private_free' type-id='type-id-9219' visibility='default' filepath='include/sound/jack.h' line='86' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='snd_jack_types' filepath='include/sound/jack.h' line='52' column='1' id='type-id-9220'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='SND_JACK_HEADPHONE' value='1'/>
+        <enumerator name='SND_JACK_MICROPHONE' value='2'/>
+        <enumerator name='SND_JACK_HEADSET' value='3'/>
+        <enumerator name='SND_JACK_LINEOUT' value='4'/>
+        <enumerator name='SND_JACK_MECHANICAL' value='8'/>
+        <enumerator name='SND_JACK_VIDEOOUT' value='16'/>
+        <enumerator name='SND_JACK_AVOUT' value='20'/>
+        <enumerator name='SND_JACK_LINEIN' value='32'/>
+        <enumerator name='SND_JACK_BTN_0' value='16384'/>
+        <enumerator name='SND_JACK_BTN_1' value='8192'/>
+        <enumerator name='SND_JACK_BTN_2' value='4096'/>
+        <enumerator name='SND_JACK_BTN_3' value='2048'/>
+        <enumerator name='SND_JACK_BTN_4' value='1024'/>
+        <enumerator name='SND_JACK_BTN_5' value='512'/>
+      </enum-decl>
+      <pointer-type-def type-id='type-id-9218' size-in-bits='64' id='type-id-9221'/>
+      <pointer-type-def type-id='type-id-9222' size-in-bits='64' id='type-id-9219'/>
+      <function-decl name='snd_jack_set_key' mangled-name='snd_jack_set_key' filepath='sound/core/jack.c' line='331' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_jack_set_key'>
+        <parameter type-id='type-id-9221' name='jack' filepath='sound/core/jack.c' line='331' column='1'/>
+        <parameter type-id='type-id-9220' name='type' filepath='sound/core/jack.c' line='331' column='1'/>
+        <parameter type-id='type-id-11' name='keytype' filepath='sound/core/jack.c' line='332' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-9222'>
+        <parameter type-id='type-id-9221'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='sound/core/misc.c' language='LANG_C89'>
+      <class-decl name='snd_pci_quirk' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/sound/core.h' line='391' column='1' id='type-id-9223'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='subvendor' type-id='type-id-288' visibility='default' filepath='include/sound/core.h' line='392' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='subdevice' type-id='type-id-288' visibility='default' filepath='include/sound/core.h' line='393' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='subdevice_mask' type-id='type-id-288' visibility='default' filepath='include/sound/core.h' line='394' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='value' type-id='type-id-11' visibility='default' filepath='include/sound/core.h' line='395' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-9223' const='yes' id='type-id-9224'/>
+      <pointer-type-def type-id='type-id-9224' size-in-bits='64' id='type-id-9225'/>
+      <function-decl name='snd_pci_quirk_lookup' mangled-name='snd_pci_quirk_lookup' filepath='sound/core/misc.c' line='153' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_pci_quirk_lookup'>
+        <parameter type-id='type-id-302' name='pci' filepath='sound/core/misc.c' line='153' column='1'/>
+        <parameter type-id='type-id-9225' name='list' filepath='sound/core/misc.c' line='153' column='1'/>
+        <return type-id='type-id-9225'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='sound/core/pcm.c' language='LANG_C89'>
+      <function-decl name='snd_pcm_stop' mangled-name='snd_pcm_stop' filepath='include/sound/pcm.h' line='585' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_pcm_stop'>
+        <parameter type-id='type-id-4258'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='sound/core/pcm_lib.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-271' size-in-bits='120' id='type-id-9226'>
+        <subrange length='15' type-id='type-id-5' id='type-id-1764'/>
+
+      </array-type-def>
+      <typedef-decl name='snd_pcm_hw_param_t' type-id='type-id-11' filepath='include/uapi/sound/asound.h' line='345' column='1' id='type-id-9227'/>
+      <class-decl name='snd_pcm_hw_constraint_list' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/sound/pcm.h' line='292' column='1' id='type-id-9228'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-835' visibility='default' filepath='include/sound/pcm.h' line='293' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='count' type-id='type-id-10' visibility='default' filepath='include/sound/pcm.h' line='294' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='mask' type-id='type-id-10' visibility='default' filepath='include/sound/pcm.h' line='295' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_pcm_chmap_elem' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/sound/pcm.h' line='1391' column='1' id='type-id-9229'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='channels' type-id='type-id-271' visibility='default' filepath='include/sound/pcm.h' line='1392' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <var-decl name='map' type-id='type-id-9226' visibility='default' filepath='include/sound/pcm.h' line='1393' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_pcm_chmap' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/sound/pcm.h' line='1397' column='1' id='type-id-9230'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='pcm' type-id='type-id-4251' visibility='default' filepath='include/sound/pcm.h' line='1398' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='stream' type-id='type-id-11' visibility='default' filepath='include/sound/pcm.h' line='1399' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='kctl' type-id='type-id-4267' visibility='default' filepath='include/sound/pcm.h' line='1400' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='chmap' type-id='type-id-9231' visibility='default' filepath='include/sound/pcm.h' line='1401' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='max_channels' type-id='type-id-10' visibility='default' filepath='include/sound/pcm.h' line='1402' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='channel_mask' type-id='type-id-10' visibility='default' filepath='include/sound/pcm.h' line='1403' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='private_data' type-id='type-id-3' visibility='default' filepath='include/sound/pcm.h' line='1404' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-9229' const='yes' id='type-id-9232'/>
+      <pointer-type-def type-id='type-id-9232' size-in-bits='64' id='type-id-9231'/>
+      <qualified-type-def type-id='type-id-9228' const='yes' id='type-id-9233'/>
+      <pointer-type-def type-id='type-id-9233' size-in-bits='64' id='type-id-9234'/>
+      <pointer-type-def type-id='type-id-9230' size-in-bits='64' id='type-id-9235'/>
+      <pointer-type-def type-id='type-id-9235' size-in-bits='64' id='type-id-9236'/>
+      <function-decl name='snd_pcm_hw_constraint_list' mangled-name='snd_pcm_hw_constraint_list' filepath='sound/core/pcm_lib.c' line='1274' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_pcm_hw_constraint_list'>
+        <parameter type-id='type-id-4256' name='runtime' filepath='sound/core/pcm_lib.c' line='1274' column='1'/>
+        <parameter type-id='type-id-10' name='cond' filepath='sound/core/pcm_lib.c' line='1275' column='1'/>
+        <parameter type-id='type-id-9227' name='var' filepath='sound/core/pcm_lib.c' line='1276' column='1'/>
+        <parameter type-id='type-id-9234' name='l' filepath='sound/core/pcm_lib.c' line='1277' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_pcm_hw_constraint_msbits' mangled-name='snd_pcm_hw_constraint_msbits' filepath='sound/core/pcm_lib.c' line='1418' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_pcm_hw_constraint_msbits'>
+        <parameter type-id='type-id-4256' name='runtime' filepath='sound/core/pcm_lib.c' line='1418' column='1'/>
+        <parameter type-id='type-id-10' name='cond' filepath='sound/core/pcm_lib.c' line='1419' column='1'/>
+        <parameter type-id='type-id-10' name='width' filepath='sound/core/pcm_lib.c' line='1420' column='1'/>
+        <parameter type-id='type-id-10' name='msbits' filepath='sound/core/pcm_lib.c' line='1421' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_pcm_hw_constraint_step' mangled-name='snd_pcm_hw_constraint_step' filepath='sound/core/pcm_lib.c' line='1447' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_pcm_hw_constraint_step'>
+        <parameter type-id='type-id-4256' name='runtime' filepath='sound/core/pcm_lib.c' line='1447' column='1'/>
+        <parameter type-id='type-id-10' name='cond' filepath='sound/core/pcm_lib.c' line='1448' column='1'/>
+        <parameter type-id='type-id-9227' name='var' filepath='sound/core/pcm_lib.c' line='1449' column='1'/>
+        <parameter type-id='type-id-100' name='step' filepath='sound/core/pcm_lib.c' line='1450' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_pcm_lib_ioctl' mangled-name='snd_pcm_lib_ioctl' filepath='sound/core/pcm_lib.c' line='1769' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_pcm_lib_ioctl'>
+        <parameter type-id='type-id-4258' name='substream' filepath='sound/core/pcm_lib.c' line='1769' column='1'/>
+        <parameter type-id='type-id-10' name='cmd' filepath='sound/core/pcm_lib.c' line='1770' column='1'/>
+        <parameter type-id='type-id-3' name='arg' filepath='sound/core/pcm_lib.c' line='1770' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_pcm_add_chmap_ctls' mangled-name='snd_pcm_add_chmap_ctls' filepath='sound/core/pcm_lib.c' line='2425' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_pcm_add_chmap_ctls'>
+        <parameter type-id='type-id-4251' name='pcm' filepath='sound/core/pcm_lib.c' line='2425' column='1'/>
+        <parameter type-id='type-id-11' name='stream' filepath='sound/core/pcm_lib.c' line='2425' column='1'/>
+        <parameter type-id='type-id-9231' name='chmap' filepath='sound/core/pcm_lib.c' line='2426' column='1'/>
+        <parameter type-id='type-id-11' name='max_channels' filepath='sound/core/pcm_lib.c' line='2427' column='1'/>
+        <parameter type-id='type-id-100' name='private_value' filepath='sound/core/pcm_lib.c' line='2428' column='1'/>
+        <parameter type-id='type-id-9236' name='info_ret' filepath='sound/core/pcm_lib.c' line='2429' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='sound/core/pcm_memory.c' language='LANG_C89'>
+      <class-decl name='signal_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-9237'/>
+      <union-decl name='__anonymous_union__1' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='include/linux/mm_types.h' line='142' column='1' id='type-id-9238'>
+        <data-member access='private'>
+          <var-decl name='pt_mm' type-id='type-id-158' visibility='default' filepath='include/linux/mm_types.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='pt_frag_refcount' type-id='type-id-137' visibility='default' filepath='include/linux/mm_types.h' line='144' column='1'/>
+        </data-member>
+      </union-decl>
+      <pointer-type-def type-id='type-id-9237' size-in-bits='64' id='type-id-9239'/>
+      <function-decl name='snd_pcm_lib_free_pages' mangled-name='snd_pcm_lib_free_pages' filepath='include/sound/pcm.h' line='1217' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_pcm_lib_free_pages'>
+        <parameter type-id='type-id-4258'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_dma_alloc_pages' mangled-name='snd_dma_alloc_pages' filepath='include/sound/memalloc.h' line='146' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_dma_alloc_pages'>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-4296'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_dma_free_pages' mangled-name='snd_dma_free_pages' filepath='include/sound/memalloc.h' line='150' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_dma_free_pages'>
+        <parameter type-id='type-id-4296'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='snd_pcm_lib_malloc_pages' mangled-name='snd_pcm_lib_malloc_pages' filepath='sound/core/pcm_memory.c' line='328' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_pcm_lib_malloc_pages'>
+        <parameter type-id='type-id-4258' name='substream' filepath='sound/core/pcm_memory.c' line='328' column='1'/>
+        <parameter type-id='type-id-125' name='size' filepath='sound/core/pcm_memory.c' line='328' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_pcm_lib_get_vmalloc_page' mangled-name='snd_pcm_lib_get_vmalloc_page' filepath='sound/core/pcm_memory.c' line='449' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_pcm_lib_get_vmalloc_page'>
+        <parameter type-id='type-id-4258' name='substream' filepath='sound/core/pcm_memory.c' line='449' column='1'/>
+        <parameter type-id='type-id-100' name='offset' filepath='sound/core/pcm_memory.c' line='450' column='1'/>
+        <return type-id='type-id-120'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='sound/core/pcm_misc.c' language='LANG_C89'>
+      <function-decl name='snd_pcm_format_width' mangled-name='snd_pcm_format_width' filepath='sound/core/pcm_misc.c' line='343' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_pcm_format_width'>
+        <parameter type-id='type-id-4288' name='format' filepath='sound/core/pcm_misc.c' line='343' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='sound/core/pcm_native.c' language='LANG_C89'>
+      <qualified-type-def type-id='type-id-4240' const='yes' id='type-id-9240'/>
+      <pointer-type-def type-id='type-id-9240' size-in-bits='64' id='type-id-9241'/>
+      <pointer-type-def type-id='type-id-4240' size-in-bits='64' id='type-id-9242'/>
+      <function-decl name='snd_pcm_hw_rule_add' mangled-name='snd_pcm_hw_rule_add' filepath='include/sound/pcm.h' line='1036' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_pcm_hw_rule_add'>
+        <parameter type-id='type-id-4256'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-4304'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-11'/>
         <parameter is-variadic='yes'/>
-        <return type-id='type-id-17'/>
+        <return type-id='type-id-11'/>
       </function-decl>
-      <function-decl name='kobject_put' mangled-name='kobject_put' filepath='lib/kobject.c' line='701' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kobject_put'>
-        <parameter type-id='type-id-379' name='kobj' filepath='lib/kobject.c' line='701' column='1'/>
-        <return type-id='type-id-81'/>
+      <function-decl name='snd_pcm_hw_constraint_minmax' mangled-name='snd_pcm_hw_constraint_minmax' filepath='include/sound/pcm.h' line='1004' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_pcm_hw_constraint_minmax'>
+        <parameter type-id='type-id-4256'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
       </function-decl>
-      <function-decl name='kobject_del' mangled-name='kobject_del' filepath='lib/kobject.c' line='584' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='kobject_del'>
-        <parameter type-id='type-id-379' name='kobj' filepath='lib/kobject.c' line='584' column='1'/>
-        <return type-id='type-id-81'/>
+      <function-decl name='snd_pcm_hw_constraint_integer' mangled-name='snd_pcm_hw_constraint_integer' filepath='include/sound/pcm.h' line='1006' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_pcm_hw_constraint_integer'>
+        <parameter type-id='type-id-4256'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_interval_refine' mangled-name='snd_interval_refine' filepath='include/sound/pcm.h' line='988' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_interval_refine'>
+        <parameter type-id='type-id-9242'/>
+        <parameter type-id='type-id-9241'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_pcm_format_physical_width' mangled-name='snd_pcm_format_physical_width' filepath='include/sound/pcm.h' line='1079' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_pcm_format_physical_width'>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_pcm_suspend_all' mangled-name='snd_pcm_suspend_all' filepath='sound/core/pcm_native.c' line='1506' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_pcm_suspend_all'>
+        <parameter type-id='type-id-4251' name='pcm' filepath='sound/core/pcm_native.c' line='1506' column='1'/>
+        <return type-id='type-id-11'/>
       </function-decl>
     </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='lib/ratelimit.c' language='LANG_C89'>
-      <pointer-type-def type-id='type-id-1639' size-in-bits='64' id='type-id-6645'/>
-      <function-decl name='___ratelimit' mangled-name='___ratelimit' filepath='lib/ratelimit.c' line='28' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='___ratelimit'>
-        <parameter type-id='type-id-6645' name='rs' filepath='lib/ratelimit.c' line='28' column='1'/>
-        <parameter type-id='type-id-4' name='func' filepath='lib/ratelimit.c' line='28' column='1'/>
-        <return type-id='type-id-17'/>
+    <abi-instr version='1.0' address-size='64' path='sound/core/sound.c' language='LANG_C89'>
+      <class-decl name='snd_info_entry' size-in-bits='1280' is-struct='yes' visibility='default' filepath='include/sound/info.h' line='75' column='1' id='type-id-9243'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/sound/info.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='mode' type-id='type-id-4427' visibility='default' filepath='include/sound/info.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='size' type-id='type-id-187' visibility='default' filepath='include/sound/info.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='content' type-id='type-id-288' visibility='default' filepath='include/sound/info.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='c' type-id='type-id-9244' visibility='default' filepath='include/sound/info.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='parent' type-id='type-id-9216' visibility='default' filepath='include/sound/info.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='card' type-id='type-id-4263' visibility='default' filepath='include/sound/info.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='module' type-id='type-id-19' visibility='default' filepath='include/sound/info.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='private_data' type-id='type-id-3' visibility='default' filepath='include/sound/info.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='private_free' type-id='type-id-9245' visibility='default' filepath='include/sound/info.h' line='88' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='p' type-id='type-id-286' visibility='default' filepath='include/sound/info.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='access' type-id='type-id-407' visibility='default' filepath='include/sound/info.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='children' type-id='type-id-8' visibility='default' filepath='include/sound/info.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/sound/info.h' line='92' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_info_entry_text' size-in-bits='128' is-struct='yes' visibility='default' filepath='include/sound/info.h' line='44' column='1' id='type-id-9246'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='read' type-id='type-id-9247' visibility='default' filepath='include/sound/info.h' line='45' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='write' type-id='type-id-9247' visibility='default' filepath='include/sound/info.h' line='47' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_info_buffer' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/sound/info.h' line='30' column='1' id='type-id-9248'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='buffer' type-id='type-id-300' visibility='default' filepath='include/sound/info.h' line='31' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='curr' type-id='type-id-10' visibility='default' filepath='include/sound/info.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='size' type-id='type-id-10' visibility='default' filepath='include/sound/info.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='len' type-id='type-id-10' visibility='default' filepath='include/sound/info.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='stop' type-id='type-id-11' visibility='default' filepath='include/sound/info.h' line='35' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='error' type-id='type-id-11' visibility='default' filepath='include/sound/info.h' line='36' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_info_entry_ops' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/sound/info.h' line='51' column='1' id='type-id-9249'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='open' type-id='type-id-9250' visibility='default' filepath='include/sound/info.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='release' type-id='type-id-9251' visibility='default' filepath='include/sound/info.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='read' type-id='type-id-9252' visibility='default' filepath='include/sound/info.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='write' type-id='type-id-9253' visibility='default' filepath='include/sound/info.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='llseek' type-id='type-id-9254' visibility='default' filepath='include/sound/info.h' line='62' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='poll' type-id='type-id-9255' visibility='default' filepath='include/sound/info.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='ioctl' type-id='type-id-9256' visibility='default' filepath='include/sound/info.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='mmap' type-id='type-id-9257' visibility='default' filepath='include/sound/info.h' line='70' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='poll_table' type-id='type-id-5447' filepath='include/linux/poll.h' line='46' column='1' id='type-id-9258'/>
+      <pointer-type-def type-id='type-id-9259' size-in-bits='64' id='type-id-9251'/>
+      <pointer-type-def type-id='type-id-9260' size-in-bits='64' id='type-id-9250'/>
+      <pointer-type-def type-id='type-id-9261' size-in-bits='64' id='type-id-9256'/>
+      <pointer-type-def type-id='type-id-9262' size-in-bits='64' id='type-id-9257'/>
+      <pointer-type-def type-id='type-id-9258' size-in-bits='64' id='type-id-9215'/>
+      <pointer-type-def type-id='type-id-9248' size-in-bits='64' id='type-id-9263'/>
+      <pointer-type-def type-id='type-id-9243' size-in-bits='64' id='type-id-9216'/>
+      <pointer-type-def type-id='type-id-9249' size-in-bits='64' id='type-id-9264'/>
+      <pointer-type-def type-id='type-id-9265' size-in-bits='64' id='type-id-9255'/>
+      <pointer-type-def type-id='type-id-9266' size-in-bits='64' id='type-id-9254'/>
+      <pointer-type-def type-id='type-id-9267' size-in-bits='64' id='type-id-9252'/>
+      <pointer-type-def type-id='type-id-9268' size-in-bits='64' id='type-id-9253'/>
+      <pointer-type-def type-id='type-id-9269' size-in-bits='64' id='type-id-9245'/>
+      <pointer-type-def type-id='type-id-9270' size-in-bits='64' id='type-id-9247'/>
+      <function-decl name='snd_info_register' mangled-name='snd_info_register' filepath='include/sound/info.h' line='145' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_info_register'>
+        <parameter type-id='type-id-9216'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-9259'>
+        <parameter type-id='type-id-9216'/>
+        <parameter type-id='type-id-288'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9260'>
+        <parameter type-id='type-id-9216'/>
+        <parameter type-id='type-id-288'/>
+        <parameter type-id='type-id-2240'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9261'>
+        <parameter type-id='type-id-9216'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9262'>
+        <parameter type-id='type-id-9216'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-1160'/>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-132'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9265'>
+        <parameter type-id='type-id-9216'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-9215'/>
+        <return type-id='type-id-1834'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9266'>
+        <parameter type-id='type-id-9216'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-4528'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-4528'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9267'>
+        <parameter type-id='type-id-9216'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-4528'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9268'>
+        <parameter type-id='type-id-9216'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-147'/>
+        <parameter type-id='type-id-24'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-4528'/>
+        <return type-id='type-id-543'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9269'>
+        <parameter type-id='type-id-9216'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9270'>
+        <parameter type-id='type-id-9216'/>
+        <parameter type-id='type-id-9263'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <union-decl name='__anonymous_union__' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/sound/info.h' line='80' column='1' id='type-id-9244'>
+        <data-member access='private'>
+          <var-decl name='text' type-id='type-id-9246' visibility='default' filepath='include/sound/info.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='ops' type-id='type-id-9264' visibility='default' filepath='include/sound/info.h' line='82' column='1'/>
+        </data-member>
+      </union-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='sound/core/timer.c' language='LANG_C89'>
+      <class-decl name='snd_timer' size-in-bits='3520' is-struct='yes' visibility='default' filepath='include/sound/timer.h' line='72' column='1' id='type-id-9271'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='tmr_class' type-id='type-id-11' visibility='default' filepath='include/sound/timer.h' line='73' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='card' type-id='type-id-4263' visibility='default' filepath='include/sound/timer.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='module' type-id='type-id-19' visibility='default' filepath='include/sound/timer.h' line='75' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='tmr_device' type-id='type-id-11' visibility='default' filepath='include/sound/timer.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='tmr_subdevice' type-id='type-id-11' visibility='default' filepath='include/sound/timer.h' line='77' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='id' type-id='type-id-4264' visibility='default' filepath='include/sound/timer.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='name' type-id='type-id-4265' visibility='default' filepath='include/sound/timer.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='include/sound/timer.h' line='80' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1440'>
+          <var-decl name='running' type-id='type-id-11' visibility='default' filepath='include/sound/timer.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='sticks' type-id='type-id-100' visibility='default' filepath='include/sound/timer.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='private_data' type-id='type-id-3' visibility='default' filepath='include/sound/timer.h' line='83' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='private_free' type-id='type-id-9272' visibility='default' filepath='include/sound/timer.h' line='84' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1664'>
+          <var-decl name='hw' type-id='type-id-9273' visibility='default' filepath='include/sound/timer.h' line='85' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='lock' type-id='type-id-106' visibility='default' filepath='include/sound/timer.h' line='86' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='device_list' type-id='type-id-8' visibility='default' filepath='include/sound/timer.h' line='87' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2624'>
+          <var-decl name='open_list_head' type-id='type-id-8' visibility='default' filepath='include/sound/timer.h' line='88' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2752'>
+          <var-decl name='active_list_head' type-id='type-id-8' visibility='default' filepath='include/sound/timer.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2880'>
+          <var-decl name='ack_list_head' type-id='type-id-8' visibility='default' filepath='include/sound/timer.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3008'>
+          <var-decl name='sack_list_head' type-id='type-id-8' visibility='default' filepath='include/sound/timer.h' line='91' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3136'>
+          <var-decl name='task_queue' type-id='type-id-4062' visibility='default' filepath='include/sound/timer.h' line='92' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3456'>
+          <var-decl name='max_instances' type-id='type-id-11' visibility='default' filepath='include/sound/timer.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3488'>
+          <var-decl name='num_instances' type-id='type-id-11' visibility='default' filepath='include/sound/timer.h' line='94' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_timer_hardware' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/sound/timer.h' line='55' column='1' id='type-id-9273'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='flags' type-id='type-id-10' visibility='default' filepath='include/sound/timer.h' line='57' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='resolution' type-id='type-id-100' visibility='default' filepath='include/sound/timer.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='resolution_min' type-id='type-id-100' visibility='default' filepath='include/sound/timer.h' line='59' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='resolution_max' type-id='type-id-100' visibility='default' filepath='include/sound/timer.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='ticks' type-id='type-id-100' visibility='default' filepath='include/sound/timer.h' line='61' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='open' type-id='type-id-9274' visibility='default' filepath='include/sound/timer.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='close' type-id='type-id-9274' visibility='default' filepath='include/sound/timer.h' line='64' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='c_resolution' type-id='type-id-9275' visibility='default' filepath='include/sound/timer.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='start' type-id='type-id-9274' visibility='default' filepath='include/sound/timer.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='stop' type-id='type-id-9274' visibility='default' filepath='include/sound/timer.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='set_period' type-id='type-id-9276' visibility='default' filepath='include/sound/timer.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='precise_resolution' type-id='type-id-9277' visibility='default' filepath='include/sound/timer.h' line='69' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-9278' size-in-bits='64' id='type-id-9274'/>
+      <pointer-type-def type-id='type-id-9279' size-in-bits='64' id='type-id-9277'/>
+      <pointer-type-def type-id='type-id-9280' size-in-bits='64' id='type-id-9276'/>
+      <pointer-type-def type-id='type-id-9271' size-in-bits='64' id='type-id-9281'/>
+      <pointer-type-def type-id='type-id-9282' size-in-bits='64' id='type-id-9275'/>
+      <pointer-type-def type-id='type-id-9283' size-in-bits='64' id='type-id-9272'/>
+      <function-decl name='snd_timer_interrupt' mangled-name='snd_timer_interrupt' filepath='sound/core/timer.c' line='788' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_timer_interrupt'>
+        <parameter type-id='type-id-9281' name='timer' filepath='sound/core/timer.c' line='788' column='1'/>
+        <parameter type-id='type-id-100' name='ticks_left' filepath='sound/core/timer.c' line='788' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-9278'>
+        <parameter type-id='type-id-9281'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9279'>
+        <parameter type-id='type-id-9281'/>
+        <parameter type-id='type-id-76'/>
+        <parameter type-id='type-id-76'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9280'>
+        <parameter type-id='type-id-9281'/>
+        <parameter type-id='type-id-100'/>
+        <parameter type-id='type-id-100'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9282'>
+        <parameter type-id='type-id-9281'/>
+        <return type-id='type-id-100'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9283'>
+        <parameter type-id='type-id-9281'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='sound/core/vmaster.c' language='LANG_C89'>
+      <function-decl name='_snd_ctl_add_slave' mangled-name='_snd_ctl_add_slave' filepath='sound/core/vmaster.c' line='256' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_snd_ctl_add_slave'>
+        <parameter type-id='type-id-4267' name='master' filepath='sound/core/vmaster.c' line='256' column='1'/>
+        <parameter type-id='type-id-4267' name='slave' filepath='sound/core/vmaster.c' line='256' column='1'/>
+        <parameter type-id='type-id-10' name='flags' filepath='sound/core/vmaster.c' line='257' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_ctl_make_virtual_master' mangled-name='snd_ctl_make_virtual_master' filepath='sound/core/vmaster.c' line='395' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_ctl_make_virtual_master'>
+        <parameter type-id='type-id-300' name='name' filepath='sound/core/vmaster.c' line='395' column='1'/>
+        <parameter type-id='type-id-835' name='tlv' filepath='sound/core/vmaster.c' line='396' column='1'/>
+        <return type-id='type-id-4267'/>
       </function-decl>
     </abi-instr>
-    <abi-instr version='1.0' address-size='64' path='lib/vsprintf.c' language='LANG_C89'>
-      <function-decl name='simple_strtoul' mangled-name='simple_strtoul' filepath='lib/vsprintf.c' line='83' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='simple_strtoul'>
-        <parameter type-id='type-id-4' name='cp' filepath='lib/vsprintf.c' line='83' column='1'/>
-        <parameter type-id='type-id-3458' name='endp' filepath='lib/vsprintf.c' line='83' column='1'/>
-        <parameter type-id='type-id-5' name='base' filepath='lib/vsprintf.c' line='83' column='1'/>
-        <return type-id='type-id-16'/>
+    <abi-instr version='1.0' address-size='64' path='sound/soc/soc-core.c' language='LANG_C89'>
+      <array-type-def dimensions='1' type-id='type-id-3462' size-in-bits='640' id='type-id-9284'>
+        <subrange length='20' type-id='type-id-5' id='type-id-2116'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-2310' size-in-bits='480' id='type-id-9285'>
+        <subrange length='15' type-id='type-id-5' id='type-id-1764'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-266' size-in-bits='480' id='type-id-9286'>
+        <subrange length='15' type-id='type-id-5' id='type-id-1764'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-475' size-in-bits='352' id='type-id-9287'>
+        <subrange length='44' type-id='type-id-5' id='type-id-9142'/>
+
+      </array-type-def>
+      <class-decl name='input_dev' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-9288'/>
+      <array-type-def dimensions='1' type-id='type-id-9289' size-in-bits='89088' id='type-id-9290'>
+        <subrange length='32' type-id='type-id-5' id='type-id-2319'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-9291' size-in-bits='10752' id='type-id-9292'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-9293' size-in-bits='64' alignment-in-bits='32' id='type-id-9294'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-9295' size-in-bits='7680' id='type-id-9296'>
+        <subrange length='8' type-id='type-id-5' id='type-id-1953'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-9297' size-in-bits='4608' id='type-id-9298'>
+        <subrange length='8' type-id='type-id-5' id='type-id-1953'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-9299' size-in-bits='1664' id='type-id-9300'>
+        <subrange length='2' type-id='type-id-5' id='type-id-353'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-9301' size-in-bits='infinite' id='type-id-9302'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-9303' size-in-bits='infinite' id='type-id-9304'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-9305' size-in-bits='infinite' id='type-id-9306'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <array-type-def dimensions='1' type-id='type-id-9307' size-in-bits='infinite' id='type-id-9308'>
+        <subrange length='infinite' type-id='type-id-5' id='type-id-6'/>
+
+      </array-type-def>
+      <class-decl name='snd_soc_dapm_context' size-in-bits='768' is-struct='yes' visibility='default' filepath='include/sound/soc-dapm.h' line='657' column='1' id='type-id-9309'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bias_level' type-id='type-id-9310' visibility='default' filepath='include/sound/soc-dapm.h' line='658' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='idle_bias_off' type-id='type-id-10' visibility='default' filepath='include/sound/soc-dapm.h' line='659' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='suspend_bias_off' type-id='type-id-10' visibility='default' filepath='include/sound/soc-dapm.h' line='661' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='seq_notifier' type-id='type-id-9311' visibility='default' filepath='include/sound/soc-dapm.h' line='662' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/sound/soc-dapm.h' line='665' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='component' type-id='type-id-9312' visibility='default' filepath='include/sound/soc-dapm.h' line='666' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='card' type-id='type-id-9313' visibility='default' filepath='include/sound/soc-dapm.h' line='667' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='target_bias_level' type-id='type-id-9310' visibility='default' filepath='include/sound/soc-dapm.h' line='670' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/sound/soc-dapm.h' line='671' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='stream_event' type-id='type-id-9314' visibility='default' filepath='include/sound/soc-dapm.h' line='673' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='set_bias_level' type-id='type-id-9315' visibility='default' filepath='include/sound/soc-dapm.h' line='674' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='path_sink_cache' type-id='type-id-9316' visibility='default' filepath='include/sound/soc-dapm.h' line='677' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='path_source_cache' type-id='type-id-9316' visibility='default' filepath='include/sound/soc-dapm.h' line='678' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='snd_soc_bias_level' filepath='include/sound/soc.h' line='386' column='1' id='type-id-9310'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='SND_SOC_BIAS_OFF' value='0'/>
+        <enumerator name='SND_SOC_BIAS_STANDBY' value='1'/>
+        <enumerator name='SND_SOC_BIAS_PREPARE' value='2'/>
+        <enumerator name='SND_SOC_BIAS_ON' value='3'/>
+      </enum-decl>
+      <enum-decl name='snd_soc_dapm_type' filepath='include/sound/soc-dapm.h' line='491' column='1' id='type-id-9317'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='snd_soc_dapm_input' value='0'/>
+        <enumerator name='snd_soc_dapm_output' value='1'/>
+        <enumerator name='snd_soc_dapm_mux' value='2'/>
+        <enumerator name='snd_soc_dapm_demux' value='3'/>
+        <enumerator name='snd_soc_dapm_mixer' value='4'/>
+        <enumerator name='snd_soc_dapm_mixer_named_ctl' value='5'/>
+        <enumerator name='snd_soc_dapm_pga' value='6'/>
+        <enumerator name='snd_soc_dapm_out_drv' value='7'/>
+        <enumerator name='snd_soc_dapm_adc' value='8'/>
+        <enumerator name='snd_soc_dapm_dac' value='9'/>
+        <enumerator name='snd_soc_dapm_micbias' value='10'/>
+        <enumerator name='snd_soc_dapm_mic' value='11'/>
+        <enumerator name='snd_soc_dapm_hp' value='12'/>
+        <enumerator name='snd_soc_dapm_spk' value='13'/>
+        <enumerator name='snd_soc_dapm_line' value='14'/>
+        <enumerator name='snd_soc_dapm_switch' value='15'/>
+        <enumerator name='snd_soc_dapm_vmid' value='16'/>
+        <enumerator name='snd_soc_dapm_pre' value='17'/>
+        <enumerator name='snd_soc_dapm_post' value='18'/>
+        <enumerator name='snd_soc_dapm_supply' value='19'/>
+        <enumerator name='snd_soc_dapm_pinctrl' value='20'/>
+        <enumerator name='snd_soc_dapm_regulator_supply' value='21'/>
+        <enumerator name='snd_soc_dapm_clock_supply' value='22'/>
+        <enumerator name='snd_soc_dapm_aif_in' value='23'/>
+        <enumerator name='snd_soc_dapm_aif_out' value='24'/>
+        <enumerator name='snd_soc_dapm_siggen' value='25'/>
+        <enumerator name='snd_soc_dapm_sink' value='26'/>
+        <enumerator name='snd_soc_dapm_dai_in' value='27'/>
+        <enumerator name='snd_soc_dapm_dai_out' value='28'/>
+        <enumerator name='snd_soc_dapm_dai_link' value='29'/>
+        <enumerator name='snd_soc_dapm_kcontrol' value='30'/>
+        <enumerator name='snd_soc_dapm_buffer' value='31'/>
+        <enumerator name='snd_soc_dapm_scheduler' value='32'/>
+        <enumerator name='snd_soc_dapm_effect' value='33'/>
+        <enumerator name='snd_soc_dapm_src' value='34'/>
+        <enumerator name='snd_soc_dapm_asrc' value='35'/>
+        <enumerator name='snd_soc_dapm_encoder' value='36'/>
+        <enumerator name='snd_soc_dapm_decoder' value='37'/>
+      </enum-decl>
+      <class-decl name='snd_soc_component' size-in-bits='2368' is-struct='yes' visibility='default' filepath='include/sound/soc.h' line='816' column='1' id='type-id-9318'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/sound/soc.h' line='817' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='id' type-id='type-id-11' visibility='default' filepath='include/sound/soc.h' line='818' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='name_prefix' type-id='type-id-24' visibility='default' filepath='include/sound/soc.h' line='819' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/sound/soc.h' line='820' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='card' type-id='type-id-9313' visibility='default' filepath='include/sound/soc.h' line='821' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='active' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='823' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='suspended' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='825' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/sound/soc.h' line='827' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='card_aux_list' type-id='type-id-8' visibility='default' filepath='include/sound/soc.h' line='828' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='card_list' type-id='type-id-8' visibility='default' filepath='include/sound/soc.h' line='829' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='driver' type-id='type-id-9319' visibility='default' filepath='include/sound/soc.h' line='831' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='dai_list' type-id='type-id-8' visibility='default' filepath='include/sound/soc.h' line='833' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='num_dai' type-id='type-id-11' visibility='default' filepath='include/sound/soc.h' line='834' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='regmap' type-id='type-id-845' visibility='default' filepath='include/sound/soc.h' line='836' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='val_bytes' type-id='type-id-11' visibility='default' filepath='include/sound/soc.h' line='837' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='io_mutex' type-id='type-id-407' visibility='default' filepath='include/sound/soc.h' line='839' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='dobj_list' type-id='type-id-8' visibility='default' filepath='include/sound/soc.h' line='842' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='dapm' type-id='type-id-9309' visibility='default' filepath='include/sound/soc.h' line='851' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='init' type-id='type-id-9320' visibility='default' filepath='include/sound/soc.h' line='854' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_soc_card' size-in-bits='6272' is-struct='yes' visibility='default' filepath='include/sound/soc.h' line='1010' column='1' id='type-id-9321'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/sound/soc.h' line='1011' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='long_name' type-id='type-id-24' visibility='default' filepath='include/sound/soc.h' line='1012' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='driver_name' type-id='type-id-24' visibility='default' filepath='include/sound/soc.h' line='1013' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='dmi_longname' type-id='type-id-4265' visibility='default' filepath='include/sound/soc.h' line='1014' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='topology_shortname' type-id='type-id-650' visibility='default' filepath='include/sound/soc.h' line='1015' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/sound/soc.h' line='1017' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='snd_card' type-id='type-id-4263' visibility='default' filepath='include/sound/soc.h' line='1018' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='owner' type-id='type-id-19' visibility='default' filepath='include/sound/soc.h' line='1019' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='mutex' type-id='type-id-407' visibility='default' filepath='include/sound/soc.h' line='1021' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='dapm_mutex' type-id='type-id-407' visibility='default' filepath='include/sound/soc.h' line='1022' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='instantiated' type-id='type-id-211' visibility='default' filepath='include/sound/soc.h' line='1024' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1800'>
+          <var-decl name='topology_shortname_created' type-id='type-id-211' visibility='default' filepath='include/sound/soc.h' line='1025' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='probe' type-id='type-id-9322' visibility='default' filepath='include/sound/soc.h' line='1027' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='late_probe' type-id='type-id-9322' visibility='default' filepath='include/sound/soc.h' line='1028' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1984'>
+          <var-decl name='remove' type-id='type-id-9322' visibility='default' filepath='include/sound/soc.h' line='1029' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2048'>
+          <var-decl name='suspend_pre' type-id='type-id-9322' visibility='default' filepath='include/sound/soc.h' line='1033' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='suspend_post' type-id='type-id-9322' visibility='default' filepath='include/sound/soc.h' line='1034' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='resume_pre' type-id='type-id-9322' visibility='default' filepath='include/sound/soc.h' line='1035' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='resume_post' type-id='type-id-9322' visibility='default' filepath='include/sound/soc.h' line='1036' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='set_bias_level' type-id='type-id-9323' visibility='default' filepath='include/sound/soc.h' line='1039' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='set_bias_level_post' type-id='type-id-9323' visibility='default' filepath='include/sound/soc.h' line='1042' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2432'>
+          <var-decl name='add_dai_link' type-id='type-id-9324' visibility='default' filepath='include/sound/soc.h' line='1046' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='remove_dai_link' type-id='type-id-9325' visibility='default' filepath='include/sound/soc.h' line='1048' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='pmdown_time' type-id='type-id-187' visibility='default' filepath='include/sound/soc.h' line='1051' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2624'>
+          <var-decl name='dai_link' type-id='type-id-9326' visibility='default' filepath='include/sound/soc.h' line='1054' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2688'>
+          <var-decl name='num_links' type-id='type-id-11' visibility='default' filepath='include/sound/soc.h' line='1055' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2752'>
+          <var-decl name='dai_link_list' type-id='type-id-8' visibility='default' filepath='include/sound/soc.h' line='1056' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2880'>
+          <var-decl name='num_dai_links' type-id='type-id-11' visibility='default' filepath='include/sound/soc.h' line='1057' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2944'>
+          <var-decl name='rtd_list' type-id='type-id-8' visibility='default' filepath='include/sound/soc.h' line='1059' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3072'>
+          <var-decl name='num_rtd' type-id='type-id-11' visibility='default' filepath='include/sound/soc.h' line='1060' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3136'>
+          <var-decl name='codec_conf' type-id='type-id-9327' visibility='default' filepath='include/sound/soc.h' line='1063' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3200'>
+          <var-decl name='num_configs' type-id='type-id-11' visibility='default' filepath='include/sound/soc.h' line='1064' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3264'>
+          <var-decl name='aux_dev' type-id='type-id-9328' visibility='default' filepath='include/sound/soc.h' line='1070' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3328'>
+          <var-decl name='num_aux_devs' type-id='type-id-11' visibility='default' filepath='include/sound/soc.h' line='1071' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3392'>
+          <var-decl name='aux_comp_list' type-id='type-id-8' visibility='default' filepath='include/sound/soc.h' line='1072' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3520'>
+          <var-decl name='controls' type-id='type-id-9181' visibility='default' filepath='include/sound/soc.h' line='1074' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3584'>
+          <var-decl name='num_controls' type-id='type-id-11' visibility='default' filepath='include/sound/soc.h' line='1075' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3648'>
+          <var-decl name='dapm_widgets' type-id='type-id-9329' visibility='default' filepath='include/sound/soc.h' line='1081' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3712'>
+          <var-decl name='num_dapm_widgets' type-id='type-id-11' visibility='default' filepath='include/sound/soc.h' line='1082' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3776'>
+          <var-decl name='dapm_routes' type-id='type-id-9330' visibility='default' filepath='include/sound/soc.h' line='1083' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3840'>
+          <var-decl name='num_dapm_routes' type-id='type-id-11' visibility='default' filepath='include/sound/soc.h' line='1084' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3904'>
+          <var-decl name='of_dapm_widgets' type-id='type-id-9329' visibility='default' filepath='include/sound/soc.h' line='1085' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3968'>
+          <var-decl name='num_of_dapm_widgets' type-id='type-id-11' visibility='default' filepath='include/sound/soc.h' line='1086' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4032'>
+          <var-decl name='of_dapm_routes' type-id='type-id-9330' visibility='default' filepath='include/sound/soc.h' line='1087' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4096'>
+          <var-decl name='num_of_dapm_routes' type-id='type-id-11' visibility='default' filepath='include/sound/soc.h' line='1088' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4128'>
+          <var-decl name='fully_routed' type-id='type-id-211' visibility='default' filepath='include/sound/soc.h' line='1089' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4160'>
+          <var-decl name='deferred_resume_work' type-id='type-id-149' visibility='default' filepath='include/sound/soc.h' line='1091' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4416'>
+          <var-decl name='component_dev_list' type-id='type-id-8' visibility='default' filepath='include/sound/soc.h' line='1094' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4544'>
+          <var-decl name='widgets' type-id='type-id-8' visibility='default' filepath='include/sound/soc.h' line='1096' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4672'>
+          <var-decl name='paths' type-id='type-id-8' visibility='default' filepath='include/sound/soc.h' line='1097' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4800'>
+          <var-decl name='dapm_list' type-id='type-id-8' visibility='default' filepath='include/sound/soc.h' line='1098' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4928'>
+          <var-decl name='dapm_dirty' type-id='type-id-8' visibility='default' filepath='include/sound/soc.h' line='1099' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5056'>
+          <var-decl name='dobj_list' type-id='type-id-8' visibility='default' filepath='include/sound/soc.h' line='1102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5184'>
+          <var-decl name='dapm' type-id='type-id-9309' visibility='default' filepath='include/sound/soc.h' line='1105' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5952'>
+          <var-decl name='dapm_stats' type-id='type-id-9331' visibility='default' filepath='include/sound/soc.h' line='1106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6080'>
+          <var-decl name='update' type-id='type-id-9332' visibility='default' filepath='include/sound/soc.h' line='1107' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6144'>
+          <var-decl name='pop_time' type-id='type-id-9' visibility='default' filepath='include/sound/soc.h' line='1113' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6208'>
+          <var-decl name='drvdata' type-id='type-id-3' visibility='default' filepath='include/sound/soc.h' line='1115' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_soc_dai_link' size-in-bits='1984' is-struct='yes' visibility='default' filepath='include/sound/soc.h' line='880' column='1' id='type-id-9333'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/sound/soc.h' line='882' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='stream_name' type-id='type-id-24' visibility='default' filepath='include/sound/soc.h' line='883' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='cpu_name' type-id='type-id-24' visibility='default' filepath='include/sound/soc.h' line='891' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='cpu_of_node' type-id='type-id-81' visibility='default' filepath='include/sound/soc.h' line='892' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='cpu_dai_name' type-id='type-id-24' visibility='default' filepath='include/sound/soc.h' line='898' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='codec_name' type-id='type-id-24' visibility='default' filepath='include/sound/soc.h' line='903' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='codec_of_node' type-id='type-id-81' visibility='default' filepath='include/sound/soc.h' line='904' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='codec_dai_name' type-id='type-id-24' visibility='default' filepath='include/sound/soc.h' line='906' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='codecs' type-id='type-id-9334' visibility='default' filepath='include/sound/soc.h' line='908' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='num_codecs' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='909' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='platform_name' type-id='type-id-24' visibility='default' filepath='include/sound/soc.h' line='916' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='platform_of_node' type-id='type-id-81' visibility='default' filepath='include/sound/soc.h' line='917' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='id' type-id='type-id-11' visibility='default' filepath='include/sound/soc.h' line='918' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='params' type-id='type-id-9335' visibility='default' filepath='include/sound/soc.h' line='920' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='num_params' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='921' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='928'>
+          <var-decl name='dai_fmt' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='923' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='trigger' type-id='type-id-9294' visibility='default' filepath='include/sound/soc.h' line='925' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='init' type-id='type-id-9336' visibility='default' filepath='include/sound/soc.h' line='928' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='be_hw_params_fixup' type-id='type-id-9337' visibility='default' filepath='include/sound/soc.h' line='931' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='ops' type-id='type-id-9338' visibility='default' filepath='include/sound/soc.h' line='935' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='compr_ops' type-id='type-id-9339' visibility='default' filepath='include/sound/soc.h' line='936' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='nonatomic' type-id='type-id-211' visibility='default' filepath='include/sound/soc.h' line='939' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='23'>
+          <var-decl name='playback_only' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='942' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='22'>
+          <var-decl name='capture_only' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='943' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='21'>
+          <var-decl name='ignore_suspend' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='946' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='20'>
+          <var-decl name='symmetric_rates' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='949' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='19'>
+          <var-decl name='symmetric_channels' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='950' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='18'>
+          <var-decl name='symmetric_samplebits' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='951' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='17'>
+          <var-decl name='no_pcm' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='954' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='16'>
+          <var-decl name='dynamic' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='957' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='15'>
+          <var-decl name='dpcm_capture' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='960' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='14'>
+          <var-decl name='dpcm_playback' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='961' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13'>
+          <var-decl name='dpcm_merged_format' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='964' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12'>
+          <var-decl name='dpcm_merged_chan' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='966' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='11'>
+          <var-decl name='dpcm_merged_rate' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='968' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='10'>
+          <var-decl name='ignore_pmdown_time' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='971' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='9'>
+          <var-decl name='ignore' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='974' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/sound/soc.h' line='976' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='dobj' type-id='type-id-9340' visibility='default' filepath='include/sound/soc.h' line='977' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_soc_dai_link_component' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/sound/soc.h' line='874' column='1' id='type-id-9341'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/sound/soc.h' line='875' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='of_node' type-id='type-id-81' visibility='default' filepath='include/sound/soc.h' line='876' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='dai_name' type-id='type-id-24' visibility='default' filepath='include/sound/soc.h' line='877' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_soc_pcm_stream' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/sound/soc.h' line='721' column='1' id='type-id-9342'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='stream_name' type-id='type-id-24' visibility='default' filepath='include/sound/soc.h' line='722' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='formats' type-id='type-id-134' visibility='default' filepath='include/sound/soc.h' line='723' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='rates' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='724' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='rate_min' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='725' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='rate_max' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='726' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='channels_min' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='727' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='channels_max' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='728' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='sig_bits' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='729' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='snd_soc_dpcm_trigger' filepath='include/sound/soc-dpcm.h' line='58' column='1' id='type-id-9293'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='SND_SOC_DPCM_TRIGGER_PRE' value='0'/>
+        <enumerator name='SND_SOC_DPCM_TRIGGER_POST' value='1'/>
+        <enumerator name='SND_SOC_DPCM_TRIGGER_BESPOKE' value='2'/>
+      </enum-decl>
+      <class-decl name='snd_soc_pcm_runtime' size-in-bits='13824' is-struct='yes' visibility='default' filepath='include/sound/soc.h' line='1119' column='1' id='type-id-9343'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/sound/soc.h' line='1120' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='card' type-id='type-id-9313' visibility='default' filepath='include/sound/soc.h' line='1121' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='dai_link' type-id='type-id-9326' visibility='default' filepath='include/sound/soc.h' line='1122' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='pcm_mutex' type-id='type-id-407' visibility='default' filepath='include/sound/soc.h' line='1123' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='pcm_subclass' type-id='type-id-9344' visibility='default' filepath='include/sound/soc.h' line='1124' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='ops' type-id='type-id-4269' visibility='default' filepath='include/sound/soc.h' line='1125' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='dpcm' type-id='type-id-9292' visibility='default' filepath='include/sound/soc.h' line='1128' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12224'>
+          <var-decl name='fe_compr' type-id='type-id-11' visibility='default' filepath='include/sound/soc.h' line='1129' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12288'>
+          <var-decl name='pmdown_time' type-id='type-id-187' visibility='default' filepath='include/sound/soc.h' line='1131' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12352'>
+          <var-decl name='pcm' type-id='type-id-4251' visibility='default' filepath='include/sound/soc.h' line='1134' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12416'>
+          <var-decl name='compr' type-id='type-id-9345' visibility='default' filepath='include/sound/soc.h' line='1135' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12480'>
+          <var-decl name='codec_dai' type-id='type-id-9346' visibility='default' filepath='include/sound/soc.h' line='1136' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12544'>
+          <var-decl name='cpu_dai' type-id='type-id-9346' visibility='default' filepath='include/sound/soc.h' line='1137' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12608'>
+          <var-decl name='codec_dais' type-id='type-id-9347' visibility='default' filepath='include/sound/soc.h' line='1139' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12672'>
+          <var-decl name='num_codecs' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='1140' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='12736'>
+          <var-decl name='delayed_work' type-id='type-id-370' visibility='default' filepath='include/sound/soc.h' line='1142' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13440'>
+          <var-decl name='num' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='1147' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13504'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/sound/soc.h' line='1148' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13632'>
+          <var-decl name='component_list' type-id='type-id-8' visibility='default' filepath='include/sound/soc.h' line='1149' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='dev_registered' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='1152' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='pop_wait' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='1153' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='snd_soc_pcm_subclass' filepath='include/sound/soc.h' line='416' column='1' id='type-id-9344'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='SND_SOC_PCM_CLASS_PCM' value='0'/>
+        <enumerator name='SND_SOC_PCM_CLASS_BE' value='1'/>
+      </enum-decl>
+      <class-decl name='snd_soc_dpcm_runtime' size-in-bits='5376' is-struct='yes' visibility='default' filepath='include/sound/soc-dpcm.h' line='91' column='1' id='type-id-9291'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='be_clients' type-id='type-id-8' visibility='default' filepath='include/sound/soc-dpcm.h' line='92' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='fe_clients' type-id='type-id-8' visibility='default' filepath='include/sound/soc-dpcm.h' line='93' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='users' type-id='type-id-11' visibility='default' filepath='include/sound/soc-dpcm.h' line='95' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='runtime' type-id='type-id-4256' visibility='default' filepath='include/sound/soc-dpcm.h' line='96' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='hw_params' type-id='type-id-4280' visibility='default' filepath='include/sound/soc-dpcm.h' line='97' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5248'>
+          <var-decl name='runtime_update' type-id='type-id-9348' visibility='default' filepath='include/sound/soc-dpcm.h' line='100' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5280'>
+          <var-decl name='state' type-id='type-id-9349' visibility='default' filepath='include/sound/soc-dpcm.h' line='101' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5312'>
+          <var-decl name='trigger_pending' type-id='type-id-11' visibility='default' filepath='include/sound/soc-dpcm.h' line='103' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='snd_soc_dpcm_update' filepath='include/sound/soc-dpcm.h' line='21' column='1' id='type-id-9348'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='SND_SOC_DPCM_UPDATE_NO' value='0'/>
+        <enumerator name='SND_SOC_DPCM_UPDATE_BE' value='1'/>
+        <enumerator name='SND_SOC_DPCM_UPDATE_FE' value='2'/>
+      </enum-decl>
+      <enum-decl name='snd_soc_dpcm_state' filepath='include/sound/soc-dpcm.h' line='38' column='1' id='type-id-9349'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='SND_SOC_DPCM_STATE_NEW' value='0'/>
+        <enumerator name='SND_SOC_DPCM_STATE_OPEN' value='1'/>
+        <enumerator name='SND_SOC_DPCM_STATE_HW_PARAMS' value='2'/>
+        <enumerator name='SND_SOC_DPCM_STATE_PREPARE' value='3'/>
+        <enumerator name='SND_SOC_DPCM_STATE_START' value='4'/>
+        <enumerator name='SND_SOC_DPCM_STATE_STOP' value='5'/>
+        <enumerator name='SND_SOC_DPCM_STATE_PAUSED' value='6'/>
+        <enumerator name='SND_SOC_DPCM_STATE_SUSPEND' value='7'/>
+        <enumerator name='SND_SOC_DPCM_STATE_HW_FREE' value='8'/>
+        <enumerator name='SND_SOC_DPCM_STATE_CLOSE' value='9'/>
+      </enum-decl>
+      <class-decl name='snd_compr' size-in-bits='6848' is-struct='yes' visibility='default' filepath='include/sound/compress_driver.h' line='133' column='1' id='type-id-9350'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/sound/compress_driver.h' line='134' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dev' type-id='type-id-294' visibility='default' filepath='include/sound/compress_driver.h' line='135' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6272'>
+          <var-decl name='ops' type-id='type-id-9351' visibility='default' filepath='include/sound/compress_driver.h' line='136' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6336'>
+          <var-decl name='private_data' type-id='type-id-3' visibility='default' filepath='include/sound/compress_driver.h' line='137' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6400'>
+          <var-decl name='card' type-id='type-id-4263' visibility='default' filepath='include/sound/compress_driver.h' line='138' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6464'>
+          <var-decl name='direction' type-id='type-id-10' visibility='default' filepath='include/sound/compress_driver.h' line='139' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6528'>
+          <var-decl name='lock' type-id='type-id-407' visibility='default' filepath='include/sound/compress_driver.h' line='140' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6784'>
+          <var-decl name='device' type-id='type-id-11' visibility='default' filepath='include/sound/compress_driver.h' line='141' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_compr_ops' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/sound/compress_driver.h' line='97' column='1' id='type-id-9352'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='open' type-id='type-id-9353' visibility='default' filepath='include/sound/compress_driver.h' line='98' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='free' type-id='type-id-9353' visibility='default' filepath='include/sound/compress_driver.h' line='99' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='set_params' type-id='type-id-9354' visibility='default' filepath='include/sound/compress_driver.h' line='100' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='get_params' type-id='type-id-9355' visibility='default' filepath='include/sound/compress_driver.h' line='102' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='set_metadata' type-id='type-id-9356' visibility='default' filepath='include/sound/compress_driver.h' line='104' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='get_metadata' type-id='type-id-9356' visibility='default' filepath='include/sound/compress_driver.h' line='106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='trigger' type-id='type-id-9357' visibility='default' filepath='include/sound/compress_driver.h' line='108' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='pointer' type-id='type-id-9358' visibility='default' filepath='include/sound/compress_driver.h' line='109' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='copy' type-id='type-id-9359' visibility='default' filepath='include/sound/compress_driver.h' line='111' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='mmap' type-id='type-id-9360' visibility='default' filepath='include/sound/compress_driver.h' line='113' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='ack' type-id='type-id-9361' visibility='default' filepath='include/sound/compress_driver.h' line='115' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='get_caps' type-id='type-id-9362' visibility='default' filepath='include/sound/compress_driver.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='get_codec_caps' type-id='type-id-9363' visibility='default' filepath='include/sound/compress_driver.h' line='118' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_compr_stream' size-in-bits='1088' is-struct='yes' visibility='default' filepath='include/sound/compress_driver.h' line='62' column='1' id='type-id-9364'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/sound/compress_driver.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ops' type-id='type-id-9351' visibility='default' filepath='include/sound/compress_driver.h' line='64' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='runtime' type-id='type-id-9365' visibility='default' filepath='include/sound/compress_driver.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='device' type-id='type-id-9345' visibility='default' filepath='include/sound/compress_driver.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='error_work' type-id='type-id-370' visibility='default' filepath='include/sound/compress_driver.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='direction' type-id='type-id-9366' visibility='default' filepath='include/sound/compress_driver.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='992'>
+          <var-decl name='metadata_set' type-id='type-id-211' visibility='default' filepath='include/sound/compress_driver.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1000'>
+          <var-decl name='next_track' type-id='type-id-211' visibility='default' filepath='include/sound/compress_driver.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='private_data' type-id='type-id-3' visibility='default' filepath='include/sound/compress_driver.h' line='71' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_compr_runtime' size-in-bits='704' is-struct='yes' visibility='default' filepath='include/sound/compress_driver.h' line='37' column='1' id='type-id-9367'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='state' type-id='type-id-4298' visibility='default' filepath='include/sound/compress_driver.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ops' type-id='type-id-9351' visibility='default' filepath='include/sound/compress_driver.h' line='39' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='buffer' type-id='type-id-3' visibility='default' filepath='include/sound/compress_driver.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='buffer_size' type-id='type-id-134' visibility='default' filepath='include/sound/compress_driver.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='fragment_size' type-id='type-id-9' visibility='default' filepath='include/sound/compress_driver.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='fragments' type-id='type-id-9' visibility='default' filepath='include/sound/compress_driver.h' line='43' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='total_bytes_available' type-id='type-id-134' visibility='default' filepath='include/sound/compress_driver.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='total_bytes_transferred' type-id='type-id-134' visibility='default' filepath='include/sound/compress_driver.h' line='45' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='sleep' type-id='type-id-388' visibility='default' filepath='include/sound/compress_driver.h' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='private_data' type-id='type-id-3' visibility='default' filepath='include/sound/compress_driver.h' line='47' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='snd_compr_direction' filepath='include/uapi/sound/compress_offload.h' line='86' column='1' id='type-id-9366'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='SND_COMPRESS_PLAYBACK' value='0'/>
+        <enumerator name='SND_COMPRESS_CAPTURE' value='1'/>
+      </enum-decl>
+      <class-decl name='snd_compr_params' size-in-bits='1056' is-struct='yes' visibility='default' filepath='include/uapi/sound/compress_offload.h' line='51' column='1' id='type-id-9368'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='buffer' type-id='type-id-9369' visibility='default' filepath='include/uapi/sound/compress_offload.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='codec' type-id='type-id-9370' visibility='default' filepath='include/uapi/sound/compress_offload.h' line='53' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='no_wake_mode' type-id='type-id-1122' visibility='default' filepath='include/uapi/sound/compress_offload.h' line='54' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_compressed_buffer' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/sound/compress_offload.h' line='40' column='1' id='type-id-9369'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='fragment_size' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_offload.h' line='41' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='fragments' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_offload.h' line='42' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_codec' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/uapi/sound/compress_params.h' line='390' column='1' id='type-id-9370'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='id' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_params.h' line='391' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='ch_in' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_params.h' line='392' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='ch_out' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_params.h' line='393' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='sample_rate' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_params.h' line='394' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='bit_rate' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_params.h' line='395' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='rate_control' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_params.h' line='396' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='profile' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_params.h' line='397' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='level' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_params.h' line='398' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='ch_mode' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_params.h' line='399' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='format' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_params.h' line='400' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='align' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_params.h' line='401' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='options' type-id='type-id-9371' visibility='default' filepath='include/uapi/sound/compress_params.h' line='402' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='864'>
+          <var-decl name='reserved' type-id='type-id-2411' visibility='default' filepath='include/uapi/sound/compress_params.h' line='403' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='snd_codec_options' size-in-bits='512' visibility='default' filepath='include/uapi/sound/compress_params.h' line='320' column='1' id='type-id-9371'>
+        <data-member access='private'>
+          <var-decl name='wma' type-id='type-id-9372' visibility='default' filepath='include/uapi/sound/compress_params.h' line='321' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='vorbis' type-id='type-id-9373' visibility='default' filepath='include/uapi/sound/compress_params.h' line='322' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='real' type-id='type-id-9374' visibility='default' filepath='include/uapi/sound/compress_params.h' line='323' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='flac' type-id='type-id-9375' visibility='default' filepath='include/uapi/sound/compress_params.h' line='324' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='generic' type-id='type-id-9376' visibility='default' filepath='include/uapi/sound/compress_params.h' line='325' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='snd_enc_wma' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/uapi/sound/compress_params.h' line='242' column='1' id='type-id-9372'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='super_block_align' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_params.h' line='243' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_enc_vorbis' size-in-bits='160' is-struct='yes' visibility='default' filepath='include/uapi/sound/compress_params.h' line='267' column='1' id='type-id-9373'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='quality' type-id='type-id-2310' visibility='default' filepath='include/uapi/sound/compress_params.h' line='268' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='managed' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_params.h' line='269' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='max_bit_rate' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_params.h' line='270' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='min_bit_rate' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_params.h' line='271' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='downmix' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_params.h' line='272' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_enc_real' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/uapi/sound/compress_params.h' line='285' column='1' id='type-id-9374'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='quant_bits' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_params.h' line='286' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='start_region' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_params.h' line='287' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='num_regions' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_params.h' line='288' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_enc_flac' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/sound/compress_params.h' line='310' column='1' id='type-id-9375'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='num' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_params.h' line='311' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='gain' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_params.h' line='312' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_enc_generic' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/uapi/sound/compress_params.h' line='315' column='1' id='type-id-9376'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='bw' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_params.h' line='316' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='reserved' type-id='type-id-9285' visibility='default' filepath='include/uapi/sound/compress_params.h' line='317' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_compr_metadata' size-in-bits='288' is-struct='yes' visibility='default' filepath='include/uapi/sound/compress_offload.h' line='142' column='1' id='type-id-9377'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='key' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_offload.h' line='143' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='value' type-id='type-id-2406' visibility='default' filepath='include/uapi/sound/compress_offload.h' line='144' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_compr_tstamp' size-in-bits='160' is-struct='yes' visibility='default' filepath='include/uapi/sound/compress_offload.h' line='68' column='1' id='type-id-9378'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='byte_offset' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_offload.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='copied_total' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_offload.h' line='70' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='pcm_frames' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_offload.h' line='71' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='pcm_io_frames' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_offload.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='sampling_rate' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_offload.h' line='73' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_compr_caps' size-in-bits='1568' is-struct='yes' visibility='default' filepath='include/uapi/sound/compress_offload.h' line='102' column='1' id='type-id-9379'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='num_codecs' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_offload.h' line='103' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='direction' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_offload.h' line='104' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='min_fragment_size' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_offload.h' line='105' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='max_fragment_size' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_offload.h' line='106' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='min_fragments' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_offload.h' line='107' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='max_fragments' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_offload.h' line='108' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='codecs' type-id='type-id-2318' visibility='default' filepath='include/uapi/sound/compress_offload.h' line='109' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='reserved' type-id='type-id-2315' visibility='default' filepath='include/uapi/sound/compress_offload.h' line='110' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_compr_codec_caps' size-in-bits='89152' is-struct='yes' visibility='default' filepath='include/uapi/sound/compress_offload.h' line='119' column='1' id='type-id-9380'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='codec' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_offload.h' line='120' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='num_descriptors' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_offload.h' line='121' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='descriptor' type-id='type-id-9290' visibility='default' filepath='include/uapi/sound/compress_offload.h' line='122' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_codec_desc' size-in-bits='2784' is-struct='yes' visibility='default' filepath='include/uapi/sound/compress_params.h' line='351' column='1' id='type-id-9289'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='max_ch' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_params.h' line='352' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='sample_rates' type-id='type-id-2318' visibility='default' filepath='include/uapi/sound/compress_params.h' line='353' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1056'>
+          <var-decl name='num_sample_rates' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_params.h' line='354' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='bit_rate' type-id='type-id-2318' visibility='default' filepath='include/uapi/sound/compress_params.h' line='355' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='num_bitrates' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_params.h' line='356' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2144'>
+          <var-decl name='rate_control' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_params.h' line='357' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2176'>
+          <var-decl name='profiles' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_params.h' line='358' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2208'>
+          <var-decl name='modes' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_params.h' line='359' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='formats' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_params.h' line='360' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2272'>
+          <var-decl name='min_buffer' type-id='type-id-266' visibility='default' filepath='include/uapi/sound/compress_params.h' line='361' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2304'>
+          <var-decl name='reserved' type-id='type-id-9286' visibility='default' filepath='include/uapi/sound/compress_params.h' line='362' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_soc_dai' size-in-bits='1024' is-struct='yes' visibility='default' filepath='include/sound/soc-dai.h' line='295' column='1' id='type-id-9381'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/sound/soc-dai.h' line='296' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='id' type-id='type-id-11' visibility='default' filepath='include/sound/soc-dai.h' line='297' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='dev' type-id='type-id-86' visibility='default' filepath='include/sound/soc-dai.h' line='298' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='driver' type-id='type-id-9382' visibility='default' filepath='include/sound/soc-dai.h' line='301' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='capture_active' type-id='type-id-10' visibility='default' filepath='include/sound/soc-dai.h' line='304' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='playback_active' type-id='type-id-10' visibility='default' filepath='include/sound/soc-dai.h' line='305' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='probed' type-id='type-id-10' visibility='default' filepath='include/sound/soc-dai.h' line='306' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='active' type-id='type-id-10' visibility='default' filepath='include/sound/soc-dai.h' line='308' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='playback_widget' type-id='type-id-9383' visibility='default' filepath='include/sound/soc-dai.h' line='310' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='capture_widget' type-id='type-id-9383' visibility='default' filepath='include/sound/soc-dai.h' line='311' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='playback_dma_data' type-id='type-id-3' visibility='default' filepath='include/sound/soc-dai.h' line='314' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='capture_dma_data' type-id='type-id-3' visibility='default' filepath='include/sound/soc-dai.h' line='315' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='rate' type-id='type-id-10' visibility='default' filepath='include/sound/soc-dai.h' line='318' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='672'>
+          <var-decl name='channels' type-id='type-id-10' visibility='default' filepath='include/sound/soc-dai.h' line='319' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='sample_bits' type-id='type-id-10' visibility='default' filepath='include/sound/soc-dai.h' line='320' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='component' type-id='type-id-9312' visibility='default' filepath='include/sound/soc-dai.h' line='323' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='tx_mask' type-id='type-id-10' visibility='default' filepath='include/sound/soc-dai.h' line='326' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='864'>
+          <var-decl name='rx_mask' type-id='type-id-10' visibility='default' filepath='include/sound/soc-dai.h' line='327' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/sound/soc-dai.h' line='329' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_soc_dai_driver' size-in-bits='1984' is-struct='yes' visibility='default' filepath='include/sound/soc-dai.h' line='254' column='1' id='type-id-9384'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/sound/soc-dai.h' line='256' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='id' type-id='type-id-10' visibility='default' filepath='include/sound/soc-dai.h' line='257' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='base' type-id='type-id-10' visibility='default' filepath='include/sound/soc-dai.h' line='258' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='dobj' type-id='type-id-9340' visibility='default' filepath='include/sound/soc-dai.h' line='259' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='probe' type-id='type-id-9385' visibility='default' filepath='include/sound/soc-dai.h' line='262' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='remove' type-id='type-id-9385' visibility='default' filepath='include/sound/soc-dai.h' line='263' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='suspend' type-id='type-id-9385' visibility='default' filepath='include/sound/soc-dai.h' line='264' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='resume' type-id='type-id-9385' visibility='default' filepath='include/sound/soc-dai.h' line='265' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='compress_new' type-id='type-id-9386' visibility='default' filepath='include/sound/soc-dai.h' line='267' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='pcm_new' type-id='type-id-9387' visibility='default' filepath='include/sound/soc-dai.h' line='269' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='bus_control' type-id='type-id-211' visibility='default' filepath='include/sound/soc-dai.h' line='272' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='ops' type-id='type-id-9388' visibility='default' filepath='include/sound/soc-dai.h' line='275' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='cops' type-id='type-id-9389' visibility='default' filepath='include/sound/soc-dai.h' line='276' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='capture' type-id='type-id-9342' visibility='default' filepath='include/sound/soc-dai.h' line='279' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='playback' type-id='type-id-9342' visibility='default' filepath='include/sound/soc-dai.h' line='280' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='symmetric_rates' type-id='type-id-10' visibility='default' filepath='include/sound/soc-dai.h' line='281' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='symmetric_channels' type-id='type-id-10' visibility='default' filepath='include/sound/soc-dai.h' line='282' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='29'>
+          <var-decl name='symmetric_samplebits' type-id='type-id-10' visibility='default' filepath='include/sound/soc-dai.h' line='283' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1888'>
+          <var-decl name='probe_order' type-id='type-id-11' visibility='default' filepath='include/sound/soc-dai.h' line='286' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='remove_order' type-id='type-id-11' visibility='default' filepath='include/sound/soc-dai.h' line='287' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_soc_dobj' size-in-bits='512' is-struct='yes' visibility='default' filepath='include/sound/soc-topology.h' line='62' column='1' id='type-id-9340'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='type' type-id='type-id-9390' visibility='default' filepath='include/sound/soc-topology.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='index' type-id='type-id-10' visibility='default' filepath='include/sound/soc-topology.h' line='64' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/sound/soc-topology.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='ops' type-id='type-id-9391' visibility='default' filepath='include/sound/soc-topology.h' line='66' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='' type-id='type-id-9392' visibility='default' filepath='include/sound/soc-topology.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='private' type-id='type-id-3' visibility='default' filepath='include/sound/soc-topology.h' line='71' column='1'/>
+        </data-member>
+      </class-decl>
+      <enum-decl name='snd_soc_dobj_type' filepath='include/sound/soc-topology.h' line='38' column='1' id='type-id-9390'>
+        <underlying-type type-id='type-id-182'/>
+        <enumerator name='SND_SOC_DOBJ_NONE' value='0'/>
+        <enumerator name='SND_SOC_DOBJ_MIXER' value='1'/>
+        <enumerator name='SND_SOC_DOBJ_ENUM' value='2'/>
+        <enumerator name='SND_SOC_DOBJ_BYTES' value='3'/>
+        <enumerator name='SND_SOC_DOBJ_PCM' value='4'/>
+        <enumerator name='SND_SOC_DOBJ_DAI_LINK' value='5'/>
+        <enumerator name='SND_SOC_DOBJ_CODEC_LINK' value='6'/>
+        <enumerator name='SND_SOC_DOBJ_WIDGET' value='7'/>
+      </enum-decl>
+      <class-decl name='snd_soc_tplg_ops' size-in-bits='1216' is-struct='yes' visibility='default' filepath='include/sound/soc-topology.h' line='109' column='1' id='type-id-9393'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='control_load' type-id='type-id-9394' visibility='default' filepath='include/sound/soc-topology.h' line='112' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='control_unload' type-id='type-id-9395' visibility='default' filepath='include/sound/soc-topology.h' line='114' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='dapm_route_load' type-id='type-id-9396' visibility='default' filepath='include/sound/soc-topology.h' line='118' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='dapm_route_unload' type-id='type-id-9395' visibility='default' filepath='include/sound/soc-topology.h' line='120' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='widget_load' type-id='type-id-9397' visibility='default' filepath='include/sound/soc-topology.h' line='124' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='widget_ready' type-id='type-id-9397' visibility='default' filepath='include/sound/soc-topology.h' line='127' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='widget_unload' type-id='type-id-9395' visibility='default' filepath='include/sound/soc-topology.h' line='130' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='dai_load' type-id='type-id-9398' visibility='default' filepath='include/sound/soc-topology.h' line='134' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='dai_unload' type-id='type-id-9395' visibility='default' filepath='include/sound/soc-topology.h' line='138' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='link_load' type-id='type-id-9399' visibility='default' filepath='include/sound/soc-topology.h' line='142' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='link_unload' type-id='type-id-9395' visibility='default' filepath='include/sound/soc-topology.h' line='145' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='vendor_load' type-id='type-id-9400' visibility='default' filepath='include/sound/soc-topology.h' line='149' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='vendor_unload' type-id='type-id-9401' visibility='default' filepath='include/sound/soc-topology.h' line='151' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='complete' type-id='type-id-9402' visibility='default' filepath='include/sound/soc-topology.h' line='155' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='manifest' type-id='type-id-9403' visibility='default' filepath='include/sound/soc-topology.h' line='158' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='io_ops' type-id='type-id-9404' visibility='default' filepath='include/sound/soc-topology.h' line='162' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='io_ops_count' type-id='type-id-11' visibility='default' filepath='include/sound/soc-topology.h' line='163' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='bytes_ext_ops' type-id='type-id-9405' visibility='default' filepath='include/sound/soc-topology.h' line='166' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='bytes_ext_ops_count' type-id='type-id-11' visibility='default' filepath='include/sound/soc-topology.h' line='167' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_soc_tplg_ctl_hdr' size-in-bits='1632' is-struct='yes' visibility='default' filepath='include/uapi/sound/asoc.h' line='284' column='1' id='type-id-9406'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='size' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='285' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='type' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='286' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='name' type-id='type-id-9287' visibility='default' filepath='include/uapi/sound/asoc.h' line='287' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='access' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='288' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='ops' type-id='type-id-9407' visibility='default' filepath='include/uapi/sound/asoc.h' line='289' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='tlv' type-id='type-id-9408' visibility='default' filepath='include/uapi/sound/asoc.h' line='290' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_soc_tplg_io_ops' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/uapi/sound/asoc.h' line='275' column='1' id='type-id-9407'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='get' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='276' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='put' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='277' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='info' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='278' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_soc_tplg_ctl_tlv' size-in-bits='1088' is-struct='yes' visibility='default' filepath='include/uapi/sound/asoc.h' line='251' column='1' id='type-id-9408'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='size' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='252' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='type' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='253' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='' type-id='type-id-9409' visibility='default' filepath='include/uapi/sound/asoc.h' line='254' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__2' size-in-bits='1024' is-anonymous='yes' visibility='default' filepath='include/uapi/sound/asoc.h' line='254' column='1' id='type-id-9409'>
+        <data-member access='private'>
+          <var-decl name='data' type-id='type-id-3463' visibility='default' filepath='include/uapi/sound/asoc.h' line='255' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='scale' type-id='type-id-9410' visibility='default' filepath='include/uapi/sound/asoc.h' line='256' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='snd_soc_tplg_tlv_dbscale' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/uapi/sound/asoc.h' line='245' column='1' id='type-id-9410'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='min' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='246' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='step' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='247' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='mute' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='248' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_soc_dapm_route' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/sound/soc-dapm.h' line='543' column='1' id='type-id-9411'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='sink' type-id='type-id-24' visibility='default' filepath='include/sound/soc-dapm.h' line='544' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='control' type-id='type-id-24' visibility='default' filepath='include/sound/soc-dapm.h' line='545' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='source' type-id='type-id-24' visibility='default' filepath='include/sound/soc-dapm.h' line='546' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='connected' type-id='type-id-9412' visibility='default' filepath='include/sound/soc-dapm.h' line='549' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_soc_dapm_widget' size-in-bits='2624' is-struct='yes' visibility='default' filepath='include/sound/soc-dapm.h' line='585' column='1' id='type-id-9413'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='id' type-id='type-id-9317' visibility='default' filepath='include/sound/soc-dapm.h' line='586' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/sound/soc-dapm.h' line='587' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='sname' type-id='type-id-24' visibility='default' filepath='include/sound/soc-dapm.h' line='588' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/sound/soc-dapm.h' line='589' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='dapm' type-id='type-id-9414' visibility='default' filepath='include/sound/soc-dapm.h' line='590' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='priv' type-id='type-id-3' visibility='default' filepath='include/sound/soc-dapm.h' line='592' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='regulator' type-id='type-id-3136' visibility='default' filepath='include/sound/soc-dapm.h' line='593' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='pinctrl' type-id='type-id-3182' visibility='default' filepath='include/sound/soc-dapm.h' line='594' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='params' type-id='type-id-9335' visibility='default' filepath='include/sound/soc-dapm.h' line='595' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='num_params' type-id='type-id-10' visibility='default' filepath='include/sound/soc-dapm.h' line='596' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='672'>
+          <var-decl name='params_select' type-id='type-id-10' visibility='default' filepath='include/sound/soc-dapm.h' line='597' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='reg' type-id='type-id-11' visibility='default' filepath='include/sound/soc-dapm.h' line='600' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='736'>
+          <var-decl name='shift' type-id='type-id-271' visibility='default' filepath='include/sound/soc-dapm.h' line='601' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='mask' type-id='type-id-10' visibility='default' filepath='include/sound/soc-dapm.h' line='602' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='800'>
+          <var-decl name='on_val' type-id='type-id-10' visibility='default' filepath='include/sound/soc-dapm.h' line='603' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='off_val' type-id='type-id-10' visibility='default' filepath='include/sound/soc-dapm.h' line='604' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7'>
+          <var-decl name='power' type-id='type-id-271' visibility='default' filepath='include/sound/soc-dapm.h' line='605' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='6'>
+          <var-decl name='active' type-id='type-id-271' visibility='default' filepath='include/sound/soc-dapm.h' line='606' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5'>
+          <var-decl name='connected' type-id='type-id-271' visibility='default' filepath='include/sound/soc-dapm.h' line='607' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='4'>
+          <var-decl name='new' type-id='type-id-271' visibility='default' filepath='include/sound/soc-dapm.h' line='608' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='3'>
+          <var-decl name='force' type-id='type-id-271' visibility='default' filepath='include/sound/soc-dapm.h' line='609' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2'>
+          <var-decl name='ignore_suspend' type-id='type-id-271' visibility='default' filepath='include/sound/soc-dapm.h' line='610' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1'>
+          <var-decl name='new_power' type-id='type-id-271' visibility='default' filepath='include/sound/soc-dapm.h' line='611' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='864'>
+          <var-decl name='power_checked' type-id='type-id-271' visibility='default' filepath='include/sound/soc-dapm.h' line='612' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7'>
+          <var-decl name='is_supply' type-id='type-id-271' visibility='default' filepath='include/sound/soc-dapm.h' line='613' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5'>
+          <var-decl name='is_ep' type-id='type-id-271' visibility='default' filepath='include/sound/soc-dapm.h' line='614' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='subseq' type-id='type-id-11' visibility='default' filepath='include/sound/soc-dapm.h' line='615' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='power_check' type-id='type-id-9415' visibility='default' filepath='include/sound/soc-dapm.h' line='617' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='event_flags' type-id='type-id-288' visibility='default' filepath='include/sound/soc-dapm.h' line='620' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='event' type-id='type-id-9416' visibility='default' filepath='include/sound/soc-dapm.h' line='621' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='num_kcontrols' type-id='type-id-11' visibility='default' filepath='include/sound/soc-dapm.h' line='624' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='kcontrol_news' type-id='type-id-9181' visibility='default' filepath='include/sound/soc-dapm.h' line='625' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='kcontrols' type-id='type-id-9417' visibility='default' filepath='include/sound/soc-dapm.h' line='626' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='dobj' type-id='type-id-9340' visibility='default' filepath='include/sound/soc-dapm.h' line='627' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='edges' type-id='type-id-352' visibility='default' filepath='include/sound/soc-dapm.h' line='630' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2112'>
+          <var-decl name='work_list' type-id='type-id-8' visibility='default' filepath='include/sound/soc-dapm.h' line='633' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2240'>
+          <var-decl name='power_list' type-id='type-id-8' visibility='default' filepath='include/sound/soc-dapm.h' line='634' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2368'>
+          <var-decl name='dirty' type-id='type-id-8' visibility='default' filepath='include/sound/soc-dapm.h' line='635' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2496'>
+          <var-decl name='endpoints' type-id='type-id-1324' visibility='default' filepath='include/sound/soc-dapm.h' line='636' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='2560'>
+          <var-decl name='clk' type-id='type-id-529' visibility='default' filepath='include/sound/soc-dapm.h' line='638' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_soc_tplg_dapm_widget' size-in-bits='1056' is-struct='yes' visibility='default' filepath='include/uapi/sound/asoc.h' line='478' column='1' id='type-id-9418'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='size' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='479' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='id' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='480' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='name' type-id='type-id-9287' visibility='default' filepath='include/uapi/sound/asoc.h' line='481' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='sname' type-id='type-id-9287' visibility='default' filepath='include/uapi/sound/asoc.h' line='482' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='reg' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='484' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='800'>
+          <var-decl name='shift' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='485' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='mask' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='486' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='864'>
+          <var-decl name='subseq' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='487' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='invert' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='488' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='928'>
+          <var-decl name='ignore_suspend' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='489' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='event_flags' type-id='type-id-1958' visibility='default' filepath='include/uapi/sound/asoc.h' line='490' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='976'>
+          <var-decl name='event_type' type-id='type-id-1958' visibility='default' filepath='include/uapi/sound/asoc.h' line='491' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='992'>
+          <var-decl name='num_kcontrols' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='492' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='priv' type-id='type-id-9419' visibility='default' filepath='include/uapi/sound/asoc.h' line='493' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_soc_tplg_private' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/uapi/sound/asoc.h' line='234' column='1' id='type-id-9419'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='size' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='235' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='' type-id='type-id-9420' visibility='default' filepath='include/uapi/sound/asoc.h' line='236' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__3' is-anonymous='yes' visibility='default' filepath='include/uapi/sound/asoc.h' line='236' column='1' id='type-id-9420'>
+        <data-member access='private'>
+          <var-decl name='data' type-id='type-id-1049' visibility='default' filepath='include/uapi/sound/asoc.h' line='237' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='array' type-id='type-id-9302' visibility='default' filepath='include/uapi/sound/asoc.h' line='238' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='snd_soc_tplg_vendor_array' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/uapi/sound/asoc.h' line='218' column='1' id='type-id-9301'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='size' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='219' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='type' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='220' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='num_elems' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='221' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='' type-id='type-id-9421' visibility='default' filepath='include/uapi/sound/asoc.h' line='222' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__4' is-anonymous='yes' visibility='default' filepath='include/uapi/sound/asoc.h' line='222' column='1' id='type-id-9421'>
+        <data-member access='private'>
+          <var-decl name='uuid' type-id='type-id-9306' visibility='default' filepath='include/uapi/sound/asoc.h' line='223' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='value' type-id='type-id-9308' visibility='default' filepath='include/uapi/sound/asoc.h' line='224' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='string' type-id='type-id-9304' visibility='default' filepath='include/uapi/sound/asoc.h' line='225' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='snd_soc_tplg_vendor_uuid_elem' size-in-bits='160' is-struct='yes' visibility='default' filepath='include/uapi/sound/asoc.h' line='201' column='1' id='type-id-9305'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='token' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='202' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='uuid' type-id='type-id-847' visibility='default' filepath='include/uapi/sound/asoc.h' line='203' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_soc_tplg_vendor_value_elem' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/uapi/sound/asoc.h' line='207' column='1' id='type-id-9307'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='token' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='208' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='value' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='209' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_soc_tplg_vendor_string_elem' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/uapi/sound/asoc.h' line='213' column='1' id='type-id-9303'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='token' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='214' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='string' type-id='type-id-9287' visibility='default' filepath='include/uapi/sound/asoc.h' line='215' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_soc_tplg_pcm' size-in-bits='7296' is-struct='yes' visibility='default' filepath='include/uapi/sound/asoc.h' line='511' column='1' id='type-id-9422'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='size' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='512' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='pcm_name' type-id='type-id-9287' visibility='default' filepath='include/uapi/sound/asoc.h' line='513' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='dai_name' type-id='type-id-9287' visibility='default' filepath='include/uapi/sound/asoc.h' line='514' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='736'>
+          <var-decl name='pcm_id' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='515' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='dai_id' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='516' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='800'>
+          <var-decl name='playback' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='517' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='capture' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='518' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='864'>
+          <var-decl name='compress' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='519' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='stream' type-id='type-id-9298' visibility='default' filepath='include/uapi/sound/asoc.h' line='520' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5504'>
+          <var-decl name='num_streams' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='521' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5536'>
+          <var-decl name='caps' type-id='type-id-9300' visibility='default' filepath='include/uapi/sound/asoc.h' line='522' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7200'>
+          <var-decl name='flag_mask' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='523' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7232'>
+          <var-decl name='flags' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='524' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='7264'>
+          <var-decl name='priv' type-id='type-id-9419' visibility='default' filepath='include/uapi/sound/asoc.h' line='525' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_soc_tplg_stream' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/uapi/sound/asoc.h' line='317' column='1' id='type-id-9297'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='size' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='318' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='name' type-id='type-id-9287' visibility='default' filepath='include/uapi/sound/asoc.h' line='319' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='format' type-id='type-id-9019' visibility='default' filepath='include/uapi/sound/asoc.h' line='320' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='rate' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='321' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='period_bytes' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='322' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='buffer_bytes' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='323' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='channels' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='324' column='1'/>
+        </data-member>
+      </class-decl>
+      <typedef-decl name='__le64' type-id='type-id-1120' filepath='include/uapi/linux/types.h' line='33' column='1' id='type-id-9019'/>
+      <class-decl name='snd_soc_tplg_stream_caps' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/uapi/sound/asoc.h' line='296' column='1' id='type-id-9299'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='size' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='297' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='name' type-id='type-id-9287' visibility='default' filepath='include/uapi/sound/asoc.h' line='298' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='formats' type-id='type-id-9019' visibility='default' filepath='include/uapi/sound/asoc.h' line='299' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='rates' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='300' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='480'>
+          <var-decl name='rate_min' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='301' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='rate_max' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='302' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='544'>
+          <var-decl name='channels_min' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='303' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='channels_max' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='304' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <var-decl name='periods_min' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='305' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='periods_max' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='306' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='672'>
+          <var-decl name='period_size_min' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='307' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='period_size_max' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='308' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='736'>
+          <var-decl name='buffer_size_min' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='309' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='buffer_size_max' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='310' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='800'>
+          <var-decl name='sig_bits' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='311' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_soc_tplg_link_config' size-in-bits='13248' is-struct='yes' visibility='default' filepath='include/uapi/sound/asoc.h' line='539' column='1' id='type-id-9423'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='size' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='540' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='id' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='541' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='name' type-id='type-id-9287' visibility='default' filepath='include/uapi/sound/asoc.h' line='542' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='stream_name' type-id='type-id-9287' visibility='default' filepath='include/uapi/sound/asoc.h' line='543' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='stream' type-id='type-id-9298' visibility='default' filepath='include/uapi/sound/asoc.h' line='544' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5376'>
+          <var-decl name='num_streams' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='545' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='5408'>
+          <var-decl name='hw_config' type-id='type-id-9296' visibility='default' filepath='include/uapi/sound/asoc.h' line='546' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13088'>
+          <var-decl name='num_hw_configs' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='547' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13120'>
+          <var-decl name='default_hw_config_id' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='548' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13152'>
+          <var-decl name='flag_mask' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='549' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13184'>
+          <var-decl name='flags' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='550' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='13216'>
+          <var-decl name='priv' type-id='type-id-9419' visibility='default' filepath='include/uapi/sound/asoc.h' line='551' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_soc_tplg_hw_config' size-in-bits='960' is-struct='yes' visibility='default' filepath='include/uapi/sound/asoc.h' line='332' column='1' id='type-id-9295'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='size' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='333' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='id' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='334' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='fmt' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='335' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='clock_gated' type-id='type-id-1122' visibility='default' filepath='include/uapi/sound/asoc.h' line='336' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='104'>
+          <var-decl name='invert_bclk' type-id='type-id-1122' visibility='default' filepath='include/uapi/sound/asoc.h' line='337' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='112'>
+          <var-decl name='invert_fsync' type-id='type-id-1122' visibility='default' filepath='include/uapi/sound/asoc.h' line='338' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='120'>
+          <var-decl name='bclk_master' type-id='type-id-1122' visibility='default' filepath='include/uapi/sound/asoc.h' line='339' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='fsync_master' type-id='type-id-1122' visibility='default' filepath='include/uapi/sound/asoc.h' line='340' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='136'>
+          <var-decl name='mclk_direction' type-id='type-id-1122' visibility='default' filepath='include/uapi/sound/asoc.h' line='341' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='144'>
+          <var-decl name='reserved' type-id='type-id-1958' visibility='default' filepath='include/uapi/sound/asoc.h' line='342' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='mclk_rate' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='343' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='bclk_rate' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='344' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='fsync_rate' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='345' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='tdm_slots' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='346' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='288'>
+          <var-decl name='tdm_slot_width' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='347' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='tx_slots' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='348' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <var-decl name='rx_slots' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='349' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='tx_channels' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='350' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <var-decl name='tx_chanmap' type-id='type-id-3464' visibility='default' filepath='include/uapi/sound/asoc.h' line='351' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='672'>
+          <var-decl name='rx_channels' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='352' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='rx_chanmap' type-id='type-id-3464' visibility='default' filepath='include/uapi/sound/asoc.h' line='353' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_soc_tplg_hdr' size-in-bits='288' is-struct='yes' visibility='default' filepath='include/uapi/sound/asoc.h' line='188' column='1' id='type-id-9424'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='magic' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='189' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='abi' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='190' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='version' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='191' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='type' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='192' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='size' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='193' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='vendor_type' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='194' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='payload_size' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='195' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='index' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='196' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='count' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='197' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_soc_tplg_manifest' size-in-bits='896' is-struct='yes' visibility='default' filepath='include/uapi/sound/asoc.h' line='368' column='1' id='type-id-9425'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='size' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='369' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='control_elems' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='370' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='widget_elems' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='371' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='graph_elems' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='372' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='pcm_elems' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='373' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='dai_link_elems' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='374' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='dai_elems' type-id='type-id-3462' visibility='default' filepath='include/uapi/sound/asoc.h' line='375' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='reserved' type-id='type-id-9284' visibility='default' filepath='include/uapi/sound/asoc.h' line='376' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='864'>
+          <var-decl name='priv' type-id='type-id-9419' visibility='default' filepath='include/uapi/sound/asoc.h' line='377' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_soc_tplg_kcontrol_ops' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/sound/soc-topology.h' line='77' column='1' id='type-id-9426'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='id' type-id='type-id-9' visibility='default' filepath='include/sound/soc-topology.h' line='78' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='get' type-id='type-id-9427' visibility='default' filepath='include/sound/soc-topology.h' line='79' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='put' type-id='type-id-9427' visibility='default' filepath='include/sound/soc-topology.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='info' type-id='type-id-9428' visibility='default' filepath='include/sound/soc-topology.h' line='83' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_soc_tplg_bytes_ext_ops' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/sound/soc-topology.h' line='88' column='1' id='type-id-9429'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='id' type-id='type-id-9' visibility='default' filepath='include/sound/soc-topology.h' line='89' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='get' type-id='type-id-9430' visibility='default' filepath='include/sound/soc-topology.h' line='90' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='put' type-id='type-id-9431' visibility='default' filepath='include/sound/soc-topology.h' line='92' column='1'/>
+        </data-member>
+      </class-decl>
+      <union-decl name='__anonymous_union__5' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/sound/soc-topology.h' line='67' column='1' id='type-id-9392'>
+        <data-member access='private'>
+          <var-decl name='control' type-id='type-id-9432' visibility='default' filepath='include/sound/soc-topology.h' line='68' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='widget' type-id='type-id-9433' visibility='default' filepath='include/sound/soc-topology.h' line='69' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='snd_soc_dobj_control' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/sound/soc-topology.h' line='50' column='1' id='type-id-9432'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='kcontrol' type-id='type-id-4267' visibility='default' filepath='include/sound/soc-topology.h' line='51' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='dtexts' type-id='type-id-257' visibility='default' filepath='include/sound/soc-topology.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='dvalues' type-id='type-id-76' visibility='default' filepath='include/sound/soc-topology.h' line='53' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_soc_dobj_widget' size-in-bits='32' is-struct='yes' visibility='default' filepath='include/sound/soc-topology.h' line='57' column='1' id='type-id-9433'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='kcontrol_type' type-id='type-id-10' visibility='default' filepath='include/sound/soc-topology.h' line='58' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_soc_dai_ops' size-in-bits='1344' is-struct='yes' visibility='default' filepath='include/sound/soc-dai.h' line='148' column='1' id='type-id-9434'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='set_sysclk' type-id='type-id-9435' visibility='default' filepath='include/sound/soc-dai.h' line='153' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='set_pll' type-id='type-id-9436' visibility='default' filepath='include/sound/soc-dai.h' line='155' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='set_clkdiv' type-id='type-id-9437' visibility='default' filepath='include/sound/soc-dai.h' line='157' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='set_bclk_ratio' type-id='type-id-9438' visibility='default' filepath='include/sound/soc-dai.h' line='158' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='set_fmt' type-id='type-id-9438' visibility='default' filepath='include/sound/soc-dai.h' line='164' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='xlate_tdm_slot_mask' type-id='type-id-9439' visibility='default' filepath='include/sound/soc-dai.h' line='165' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='set_tdm_slot' type-id='type-id-9440' visibility='default' filepath='include/sound/soc-dai.h' line='167' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='set_channel_map' type-id='type-id-9441' visibility='default' filepath='include/sound/soc-dai.h' line='170' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='get_channel_map' type-id='type-id-9442' visibility='default' filepath='include/sound/soc-dai.h' line='173' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='set_tristate' type-id='type-id-9443' visibility='default' filepath='include/sound/soc-dai.h' line='176' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='set_sdw_stream' type-id='type-id-9444' visibility='default' filepath='include/sound/soc-dai.h' line='178' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='digital_mute' type-id='type-id-9443' visibility='default' filepath='include/sound/soc-dai.h' line='184' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='mute_stream' type-id='type-id-9437' visibility='default' filepath='include/sound/soc-dai.h' line='185' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='startup' type-id='type-id-9445' visibility='default' filepath='include/sound/soc-dai.h' line='191' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='shutdown' type-id='type-id-9446' visibility='default' filepath='include/sound/soc-dai.h' line='193' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='hw_params' type-id='type-id-9447' visibility='default' filepath='include/sound/soc-dai.h' line='195' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='hw_free' type-id='type-id-9445' visibility='default' filepath='include/sound/soc-dai.h' line='197' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='prepare' type-id='type-id-9445' visibility='default' filepath='include/sound/soc-dai.h' line='199' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='trigger' type-id='type-id-9448' visibility='default' filepath='include/sound/soc-dai.h' line='208' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='bespoke_trigger' type-id='type-id-9448' visibility='default' filepath='include/sound/soc-dai.h' line='210' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='delay' type-id='type-id-9449' visibility='default' filepath='include/sound/soc-dai.h' line='216' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_soc_cdai_ops' size-in-bits='576' is-struct='yes' visibility='default' filepath='include/sound/soc-dai.h' line='220' column='1' id='type-id-9450'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='startup' type-id='type-id-9451' visibility='default' filepath='include/sound/soc-dai.h' line='224' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='shutdown' type-id='type-id-9451' visibility='default' filepath='include/sound/soc-dai.h' line='226' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='set_params' type-id='type-id-9452' visibility='default' filepath='include/sound/soc-dai.h' line='228' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='get_params' type-id='type-id-9453' visibility='default' filepath='include/sound/soc-dai.h' line='230' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='set_metadata' type-id='type-id-9454' visibility='default' filepath='include/sound/soc-dai.h' line='232' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='get_metadata' type-id='type-id-9454' visibility='default' filepath='include/sound/soc-dai.h' line='234' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='trigger' type-id='type-id-9455' visibility='default' filepath='include/sound/soc-dai.h' line='236' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='pointer' type-id='type-id-9456' visibility='default' filepath='include/sound/soc-dai.h' line='238' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='ack' type-id='type-id-9457' visibility='default' filepath='include/sound/soc-dai.h' line='240' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_soc_ops' size-in-bits='384' is-struct='yes' visibility='default' filepath='include/sound/soc.h' line='733' column='1' id='type-id-9458'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='startup' type-id='type-id-4270' visibility='default' filepath='include/sound/soc.h' line='734' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='shutdown' type-id='type-id-4261' visibility='default' filepath='include/sound/soc.h' line='735' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='hw_params' type-id='type-id-4272' visibility='default' filepath='include/sound/soc.h' line='736' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='hw_free' type-id='type-id-4270' visibility='default' filepath='include/sound/soc.h' line='737' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='prepare' type-id='type-id-4270' visibility='default' filepath='include/sound/soc.h' line='738' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='trigger' type-id='type-id-4273' visibility='default' filepath='include/sound/soc.h' line='739' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_soc_compr_ops' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/sound/soc.h' line='742' column='1' id='type-id-9459'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='startup' type-id='type-id-9353' visibility='default' filepath='include/sound/soc.h' line='743' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='shutdown' type-id='type-id-9460' visibility='default' filepath='include/sound/soc.h' line='744' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='set_params' type-id='type-id-9353' visibility='default' filepath='include/sound/soc.h' line='745' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='trigger' type-id='type-id-9353' visibility='default' filepath='include/sound/soc.h' line='746' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_soc_codec_conf' size-in-bits='192' is-struct='yes' visibility='default' filepath='include/sound/soc.h' line='980' column='1' id='type-id-9461'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='dev_name' type-id='type-id-24' visibility='default' filepath='include/sound/soc.h' line='985' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='of_node' type-id='type-id-81' visibility='default' filepath='include/sound/soc.h' line='986' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='name_prefix' type-id='type-id-24' visibility='default' filepath='include/sound/soc.h' line='992' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_soc_aux_dev' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/sound/soc.h' line='995' column='1' id='type-id-9462'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/sound/soc.h' line='996' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='codec_name' type-id='type-id-24' visibility='default' filepath='include/sound/soc.h' line='1002' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='codec_of_node' type-id='type-id-81' visibility='default' filepath='include/sound/soc.h' line='1003' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='init' type-id='type-id-9320' visibility='default' filepath='include/sound/soc.h' line='1006' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_soc_dapm_stats' size-in-bits='96' is-struct='yes' visibility='default' filepath='include/sound/soc-dapm.h' line='691' column='1' id='type-id-9331'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='power_checks' type-id='type-id-11' visibility='default' filepath='include/sound/soc-dapm.h' line='692' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='path_checks' type-id='type-id-11' visibility='default' filepath='include/sound/soc-dapm.h' line='693' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='neighbour_checks' type-id='type-id-11' visibility='default' filepath='include/sound/soc-dapm.h' line='694' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_soc_dapm_update' size-in-bits='320' is-struct='yes' visibility='default' filepath='include/sound/soc-dapm.h' line='641' column='1' id='type-id-9463'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='kcontrol' type-id='type-id-4267' visibility='default' filepath='include/sound/soc-dapm.h' line='642' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='reg' type-id='type-id-11' visibility='default' filepath='include/sound/soc-dapm.h' line='643' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='mask' type-id='type-id-11' visibility='default' filepath='include/sound/soc-dapm.h' line='644' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='val' type-id='type-id-11' visibility='default' filepath='include/sound/soc-dapm.h' line='645' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='160'>
+          <var-decl name='reg2' type-id='type-id-11' visibility='default' filepath='include/sound/soc-dapm.h' line='646' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='mask2' type-id='type-id-11' visibility='default' filepath='include/sound/soc-dapm.h' line='647' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='val2' type-id='type-id-11' visibility='default' filepath='include/sound/soc-dapm.h' line='648' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='has_second_set' type-id='type-id-211' visibility='default' filepath='include/sound/soc-dapm.h' line='649' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_soc_component_driver' size-in-bits='1984' is-struct='yes' visibility='default' filepath='include/sound/soc.h' line='750' column='1' id='type-id-9464'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='name' type-id='type-id-24' visibility='default' filepath='include/sound/soc.h' line='751' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='controls' type-id='type-id-9181' visibility='default' filepath='include/sound/soc.h' line='754' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='num_controls' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='755' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='dapm_widgets' type-id='type-id-9329' visibility='default' filepath='include/sound/soc.h' line='756' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='num_dapm_widgets' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='757' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='dapm_routes' type-id='type-id-9330' visibility='default' filepath='include/sound/soc.h' line='758' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='num_dapm_routes' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='759' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <var-decl name='probe' type-id='type-id-9320' visibility='default' filepath='include/sound/soc.h' line='761' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='remove' type-id='type-id-9402' visibility='default' filepath='include/sound/soc.h' line='762' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='suspend' type-id='type-id-9320' visibility='default' filepath='include/sound/soc.h' line='763' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <var-decl name='resume' type-id='type-id-9320' visibility='default' filepath='include/sound/soc.h' line='764' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <var-decl name='read' type-id='type-id-9465' visibility='default' filepath='include/sound/soc.h' line='766' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <var-decl name='write' type-id='type-id-9466' visibility='default' filepath='include/sound/soc.h' line='767' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <var-decl name='pcm_new' type-id='type-id-9336' visibility='default' filepath='include/sound/soc.h' line='770' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <var-decl name='pcm_free' type-id='type-id-4266' visibility='default' filepath='include/sound/soc.h' line='771' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='set_sysclk' type-id='type-id-9467' visibility='default' filepath='include/sound/soc.h' line='774' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1024'>
+          <var-decl name='set_pll' type-id='type-id-9468' visibility='default' filepath='include/sound/soc.h' line='776' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <var-decl name='set_jack' type-id='type-id-9469' visibility='default' filepath='include/sound/soc.h' line='778' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1152'>
+          <var-decl name='of_xlate_dai_name' type-id='type-id-9470' visibility='default' filepath='include/sound/soc.h' line='782' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1216'>
+          <var-decl name='of_xlate_dai_id' type-id='type-id-9471' visibility='default' filepath='include/sound/soc.h' line='785' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1280'>
+          <var-decl name='seq_notifier' type-id='type-id-9472' visibility='default' filepath='include/sound/soc.h' line='787' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1344'>
+          <var-decl name='stream_event' type-id='type-id-9473' visibility='default' filepath='include/sound/soc.h' line='789' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1408'>
+          <var-decl name='set_bias_level' type-id='type-id-9474' visibility='default' filepath='include/sound/soc.h' line='790' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1472'>
+          <var-decl name='ops' type-id='type-id-4255' visibility='default' filepath='include/sound/soc.h' line='793' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1536'>
+          <var-decl name='compr_ops' type-id='type-id-9475' visibility='default' filepath='include/sound/soc.h' line='794' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1600'>
+          <var-decl name='probe_order' type-id='type-id-11' visibility='default' filepath='include/sound/soc.h' line='797' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1632'>
+          <var-decl name='remove_order' type-id='type-id-11' visibility='default' filepath='include/sound/soc.h' line='798' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='idle_bias_on' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='801' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='30'>
+          <var-decl name='suspend_bias_off' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='802' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='29'>
+          <var-decl name='use_pmdown_time' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='803' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='28'>
+          <var-decl name='endianness' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='804' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='27'>
+          <var-decl name='non_legacy_dai_naming' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='805' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1728'>
+          <var-decl name='ignore_machine' type-id='type-id-24' visibility='default' filepath='include/sound/soc.h' line='808' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1792'>
+          <var-decl name='topology_name_prefix' type-id='type-id-24' visibility='default' filepath='include/sound/soc.h' line='809' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1856'>
+          <var-decl name='be_hw_params_fixup' type-id='type-id-9337' visibility='default' filepath='include/sound/soc.h' line='810' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1920'>
+          <var-decl name='use_dai_pcm_id' type-id='type-id-211' visibility='default' filepath='include/sound/soc.h' line='812' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1952'>
+          <var-decl name='be_pcm_base' type-id='type-id-11' visibility='default' filepath='include/sound/soc.h' line='813' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_soc_jack' size-in-bits='1088' is-struct='yes' visibility='default' filepath='include/sound/soc.h' line='710' column='1' id='type-id-9476'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='mutex' type-id='type-id-407' visibility='default' filepath='include/sound/soc.h' line='711' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <var-decl name='jack' type-id='type-id-9221' visibility='default' filepath='include/sound/soc.h' line='712' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='card' type-id='type-id-9313' visibility='default' filepath='include/sound/soc.h' line='713' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <var-decl name='pins' type-id='type-id-8' visibility='default' filepath='include/sound/soc.h' line='714' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <var-decl name='status' type-id='type-id-11' visibility='default' filepath='include/sound/soc.h' line='715' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <var-decl name='notifier' type-id='type-id-3126' visibility='default' filepath='include/sound/soc.h' line='716' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='960'>
+          <var-decl name='jack_zones' type-id='type-id-8' visibility='default' filepath='include/sound/soc.h' line='717' column='1'/>
+        </data-member>
+      </class-decl>
+      <class-decl name='snd_soc_dapm_wcache' size-in-bits='64' is-struct='yes' visibility='default' filepath='include/sound/soc-dapm.h' line='652' column='1' id='type-id-9316'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='widget' type-id='type-id-9383' visibility='default' filepath='include/sound/soc-dapm.h' line='653' column='1'/>
+        </data-member>
+      </class-decl>
+      <qualified-type-def type-id='type-id-9352' const='yes' id='type-id-9477'/>
+      <pointer-type-def type-id='type-id-9477' size-in-bits='64' id='type-id-9475'/>
+      <qualified-type-def type-id='type-id-9450' const='yes' id='type-id-9478'/>
+      <pointer-type-def type-id='type-id-9478' size-in-bits='64' id='type-id-9389'/>
+      <qualified-type-def type-id='type-id-9464' const='yes' id='type-id-9479'/>
+      <pointer-type-def type-id='type-id-9479' size-in-bits='64' id='type-id-9319'/>
+      <qualified-type-def type-id='type-id-9459' const='yes' id='type-id-9480'/>
+      <pointer-type-def type-id='type-id-9480' size-in-bits='64' id='type-id-9339'/>
+      <qualified-type-def type-id='type-id-9434' const='yes' id='type-id-9481'/>
+      <pointer-type-def type-id='type-id-9481' size-in-bits='64' id='type-id-9388'/>
+      <qualified-type-def type-id='type-id-9411' const='yes' id='type-id-9482'/>
+      <pointer-type-def type-id='type-id-9482' size-in-bits='64' id='type-id-9330'/>
+      <qualified-type-def type-id='type-id-9413' const='yes' id='type-id-9483'/>
+      <pointer-type-def type-id='type-id-9483' size-in-bits='64' id='type-id-9329'/>
+      <qualified-type-def type-id='type-id-9458' const='yes' id='type-id-9484'/>
+      <pointer-type-def type-id='type-id-9484' size-in-bits='64' id='type-id-9338'/>
+      <qualified-type-def type-id='type-id-9342' const='yes' id='type-id-9485'/>
+      <pointer-type-def type-id='type-id-9485' size-in-bits='64' id='type-id-9335'/>
+      <qualified-type-def type-id='type-id-9429' const='yes' id='type-id-9486'/>
+      <pointer-type-def type-id='type-id-9486' size-in-bits='64' id='type-id-9405'/>
+      <qualified-type-def type-id='type-id-9426' const='yes' id='type-id-9487'/>
+      <pointer-type-def type-id='type-id-9487' size-in-bits='64' id='type-id-9404'/>
+      <pointer-type-def type-id='type-id-9288' size-in-bits='64' id='type-id-9488'/>
+      <pointer-type-def type-id='type-id-9489' size-in-bits='64' id='type-id-9353'/>
+      <pointer-type-def type-id='type-id-9490' size-in-bits='64' id='type-id-9359'/>
+      <pointer-type-def type-id='type-id-9491' size-in-bits='64' id='type-id-9357'/>
+      <pointer-type-def type-id='type-id-9492' size-in-bits='64' id='type-id-9455'/>
+      <pointer-type-def type-id='type-id-9493' size-in-bits='64' id='type-id-9355'/>
+      <pointer-type-def type-id='type-id-9494' size-in-bits='64' id='type-id-9453'/>
+      <pointer-type-def type-id='type-id-9495' size-in-bits='64' id='type-id-9362'/>
+      <pointer-type-def type-id='type-id-9496' size-in-bits='64' id='type-id-9363'/>
+      <pointer-type-def type-id='type-id-9497' size-in-bits='64' id='type-id-9356'/>
+      <pointer-type-def type-id='type-id-9498' size-in-bits='64' id='type-id-9454'/>
+      <pointer-type-def type-id='type-id-9499' size-in-bits='64' id='type-id-9354'/>
+      <pointer-type-def type-id='type-id-9500' size-in-bits='64' id='type-id-9452'/>
+      <pointer-type-def type-id='type-id-9501' size-in-bits='64' id='type-id-9358'/>
+      <pointer-type-def type-id='type-id-9502' size-in-bits='64' id='type-id-9456'/>
+      <pointer-type-def type-id='type-id-9503' size-in-bits='64' id='type-id-9451'/>
+      <pointer-type-def type-id='type-id-9504' size-in-bits='64' id='type-id-9361'/>
+      <pointer-type-def type-id='type-id-9505' size-in-bits='64' id='type-id-9457'/>
+      <pointer-type-def type-id='type-id-9506' size-in-bits='64' id='type-id-9360'/>
+      <pointer-type-def type-id='type-id-9507' size-in-bits='64' id='type-id-9431'/>
+      <pointer-type-def type-id='type-id-9150' size-in-bits='64' id='type-id-9428'/>
+      <pointer-type-def type-id='type-id-9159' size-in-bits='64' id='type-id-9427'/>
+      <pointer-type-def type-id='type-id-9508' size-in-bits='64' id='type-id-9430'/>
+      <pointer-type-def type-id='type-id-9509' size-in-bits='64' id='type-id-9448'/>
+      <pointer-type-def type-id='type-id-9510' size-in-bits='64' id='type-id-9447'/>
+      <pointer-type-def type-id='type-id-9511' size-in-bits='64' id='type-id-9445'/>
+      <pointer-type-def type-id='type-id-9512' size-in-bits='64' id='type-id-9322'/>
+      <pointer-type-def type-id='type-id-9513' size-in-bits='64' id='type-id-9324'/>
+      <pointer-type-def type-id='type-id-9514' size-in-bits='64' id='type-id-9323'/>
+      <pointer-type-def type-id='type-id-9515' size-in-bits='64' id='type-id-9320'/>
+      <pointer-type-def type-id='type-id-9516' size-in-bits='64' id='type-id-9471'/>
+      <pointer-type-def type-id='type-id-9517' size-in-bits='64' id='type-id-9474'/>
+      <pointer-type-def type-id='type-id-9518' size-in-bits='64' id='type-id-9473'/>
+      <pointer-type-def type-id='type-id-9519' size-in-bits='64' id='type-id-9467'/>
+      <pointer-type-def type-id='type-id-9520' size-in-bits='64' id='type-id-9468'/>
+      <pointer-type-def type-id='type-id-9521' size-in-bits='64' id='type-id-9394'/>
+      <pointer-type-def type-id='type-id-9522' size-in-bits='64' id='type-id-9398'/>
+      <pointer-type-def type-id='type-id-9523' size-in-bits='64' id='type-id-9399'/>
+      <pointer-type-def type-id='type-id-9524' size-in-bits='64' id='type-id-9396'/>
+      <pointer-type-def type-id='type-id-9525' size-in-bits='64' id='type-id-9397'/>
+      <pointer-type-def type-id='type-id-9526' size-in-bits='64' id='type-id-9400'/>
+      <pointer-type-def type-id='type-id-9527' size-in-bits='64' id='type-id-9403'/>
+      <pointer-type-def type-id='type-id-9528' size-in-bits='64' id='type-id-9470'/>
+      <pointer-type-def type-id='type-id-9529' size-in-bits='64' id='type-id-9395'/>
+      <pointer-type-def type-id='type-id-9530' size-in-bits='64' id='type-id-9469'/>
+      <pointer-type-def type-id='type-id-9531' size-in-bits='64' id='type-id-9401'/>
+      <pointer-type-def type-id='type-id-9532' size-in-bits='64' id='type-id-9466'/>
+      <pointer-type-def type-id='type-id-9533' size-in-bits='64' id='type-id-9385'/>
+      <pointer-type-def type-id='type-id-9534' size-in-bits='64' id='type-id-9443'/>
+      <pointer-type-def type-id='type-id-9535' size-in-bits='64' id='type-id-9437'/>
+      <pointer-type-def type-id='type-id-9536' size-in-bits='64' id='type-id-9436'/>
+      <pointer-type-def type-id='type-id-9537' size-in-bits='64' id='type-id-9435'/>
+      <pointer-type-def type-id='type-id-9538' size-in-bits='64' id='type-id-9438'/>
+      <pointer-type-def type-id='type-id-9539' size-in-bits='64' id='type-id-9442'/>
+      <pointer-type-def type-id='type-id-9540' size-in-bits='64' id='type-id-9441'/>
+      <pointer-type-def type-id='type-id-9541' size-in-bits='64' id='type-id-9440'/>
+      <pointer-type-def type-id='type-id-9542' size-in-bits='64' id='type-id-9444'/>
+      <pointer-type-def type-id='type-id-9543' size-in-bits='64' id='type-id-9315'/>
+      <pointer-type-def type-id='type-id-9544' size-in-bits='64' id='type-id-9314'/>
+      <pointer-type-def type-id='type-id-9545' size-in-bits='64' id='type-id-9415'/>
+      <pointer-type-def type-id='type-id-9546' size-in-bits='64' id='type-id-9416'/>
+      <pointer-type-def type-id='type-id-9547' size-in-bits='64' id='type-id-9412'/>
+      <pointer-type-def type-id='type-id-9548' size-in-bits='64' id='type-id-9336'/>
+      <pointer-type-def type-id='type-id-9549' size-in-bits='64' id='type-id-9386'/>
+      <pointer-type-def type-id='type-id-9550' size-in-bits='64' id='type-id-9337'/>
+      <pointer-type-def type-id='type-id-9551' size-in-bits='64' id='type-id-9387'/>
+      <pointer-type-def type-id='type-id-9552' size-in-bits='64' id='type-id-9439'/>
+      <pointer-type-def type-id='type-id-9370' size-in-bits='64' id='type-id-9553'/>
+      <pointer-type-def type-id='type-id-9350' size-in-bits='64' id='type-id-9345'/>
+      <pointer-type-def type-id='type-id-9379' size-in-bits='64' id='type-id-9554'/>
+      <pointer-type-def type-id='type-id-9380' size-in-bits='64' id='type-id-9555'/>
+      <pointer-type-def type-id='type-id-9377' size-in-bits='64' id='type-id-9556'/>
+      <pointer-type-def type-id='type-id-9352' size-in-bits='64' id='type-id-9351'/>
+      <pointer-type-def type-id='type-id-9368' size-in-bits='64' id='type-id-9557'/>
+      <pointer-type-def type-id='type-id-9367' size-in-bits='64' id='type-id-9365'/>
+      <pointer-type-def type-id='type-id-9364' size-in-bits='64' id='type-id-9558'/>
+      <pointer-type-def type-id='type-id-9378' size-in-bits='64' id='type-id-9559'/>
+      <pointer-type-def type-id='type-id-4267' size-in-bits='64' id='type-id-9417'/>
+      <pointer-type-def type-id='type-id-9175' size-in-bits='64' id='type-id-9560'/>
+      <pointer-type-def type-id='type-id-9462' size-in-bits='64' id='type-id-9328'/>
+      <pointer-type-def type-id='type-id-9321' size-in-bits='64' id='type-id-9313'/>
+      <pointer-type-def type-id='type-id-9461' size-in-bits='64' id='type-id-9327'/>
+      <pointer-type-def type-id='type-id-9318' size-in-bits='64' id='type-id-9312'/>
+      <pointer-type-def type-id='type-id-9381' size-in-bits='64' id='type-id-9346'/>
+      <pointer-type-def type-id='type-id-9346' size-in-bits='64' id='type-id-9347'/>
+      <pointer-type-def type-id='type-id-9384' size-in-bits='64' id='type-id-9382'/>
+      <pointer-type-def type-id='type-id-9333' size-in-bits='64' id='type-id-9326'/>
+      <pointer-type-def type-id='type-id-9341' size-in-bits='64' id='type-id-9334'/>
+      <pointer-type-def type-id='type-id-9309' size-in-bits='64' id='type-id-9414'/>
+      <pointer-type-def type-id='type-id-9411' size-in-bits='64' id='type-id-9561'/>
+      <pointer-type-def type-id='type-id-9463' size-in-bits='64' id='type-id-9332'/>
+      <pointer-type-def type-id='type-id-9413' size-in-bits='64' id='type-id-9383'/>
+      <pointer-type-def type-id='type-id-9340' size-in-bits='64' id='type-id-9562'/>
+      <pointer-type-def type-id='type-id-9476' size-in-bits='64' id='type-id-9563'/>
+      <pointer-type-def type-id='type-id-9343' size-in-bits='64' id='type-id-9564'/>
+      <pointer-type-def type-id='type-id-9406' size-in-bits='64' id='type-id-9565'/>
+      <pointer-type-def type-id='type-id-9418' size-in-bits='64' id='type-id-9566'/>
+      <pointer-type-def type-id='type-id-9424' size-in-bits='64' id='type-id-9567'/>
+      <pointer-type-def type-id='type-id-9423' size-in-bits='64' id='type-id-9568'/>
+      <pointer-type-def type-id='type-id-9425' size-in-bits='64' id='type-id-9569'/>
+      <pointer-type-def type-id='type-id-9393' size-in-bits='64' id='type-id-9391'/>
+      <pointer-type-def type-id='type-id-9422' size-in-bits='64' id='type-id-9570'/>
+      <pointer-type-def type-id='type-id-9571' size-in-bits='64' id='type-id-9449'/>
+      <pointer-type-def type-id='type-id-9572' size-in-bits='64' id='type-id-9465'/>
+      <pointer-type-def type-id='type-id-9573' size-in-bits='64' id='type-id-9460'/>
+      <pointer-type-def type-id='type-id-9574' size-in-bits='64' id='type-id-9446'/>
+      <pointer-type-def type-id='type-id-9575' size-in-bits='64' id='type-id-9325'/>
+      <pointer-type-def type-id='type-id-9576' size-in-bits='64' id='type-id-9402'/>
+      <pointer-type-def type-id='type-id-9577' size-in-bits='64' id='type-id-9472'/>
+      <pointer-type-def type-id='type-id-9578' size-in-bits='64' id='type-id-9311'/>
+      <function-decl name='snd_soc_dapm_sync' mangled-name='snd_soc_dapm_sync' filepath='include/sound/soc-dapm.h' line='462' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_dapm_sync'>
+        <parameter type-id='type-id-9414'/>
+        <return type-id='type-id-11'/>
       </function-decl>
-      <function-decl name='snprintf' mangled-name='snprintf' filepath='lib/vsprintf.c' line='2438' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snprintf'>
-        <parameter type-id='type-id-2' name='buf' filepath='lib/vsprintf.c' line='2438' column='1'/>
-        <parameter type-id='type-id-84' name='size' filepath='lib/vsprintf.c' line='2438' column='1'/>
-        <parameter type-id='type-id-4' name='fmt' filepath='lib/vsprintf.c' line='2438' column='1'/>
-        <parameter is-variadic='yes'/>
-        <return type-id='type-id-17'/>
+      <function-decl name='snd_soc_dai_set_fmt' mangled-name='snd_soc_dai_set_fmt' filepath='include/sound/soc-dai.h' line='126' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_dai_set_fmt'>
+        <parameter type-id='type-id-9346'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
       </function-decl>
-      <function-decl name='scnprintf' mangled-name='scnprintf' filepath='lib/vsprintf.c' line='2462' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='scnprintf'>
-        <parameter type-id='type-id-2' name='buf' filepath='lib/vsprintf.c' line='2462' column='1'/>
-        <parameter type-id='type-id-84' name='size' filepath='lib/vsprintf.c' line='2462' column='1'/>
-        <parameter type-id='type-id-4' name='fmt' filepath='lib/vsprintf.c' line='2462' column='1'/>
-        <parameter is-variadic='yes'/>
-        <return type-id='type-id-17'/>
+      <function-decl name='snd_soc_component_set_sysclk' mangled-name='snd_soc_component_set_sysclk' filepath='include/sound/soc.h' line='1315' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_component_set_sysclk'>
+        <parameter type-id='type-id-9312'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
       </function-decl>
-      <function-decl name='sprintf' mangled-name='sprintf' filepath='lib/vsprintf.c' line='2507' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sprintf'>
-        <parameter type-id='type-id-2' name='buf' filepath='lib/vsprintf.c' line='2507' column='1'/>
-        <parameter type-id='type-id-4' name='fmt' filepath='lib/vsprintf.c' line='2507' column='1'/>
-        <parameter is-variadic='yes'/>
-        <return type-id='type-id-17'/>
+      <function-decl name='snd_soc_dapm_new_controls' mangled-name='snd_soc_dapm_new_controls' filepath='include/sound/soc-dapm.h' line='401' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_dapm_new_controls'>
+        <parameter type-id='type-id-9414'/>
+        <parameter type-id='type-id-9329'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
       </function-decl>
-      <function-decl name='sscanf' mangled-name='sscanf' filepath='lib/vsprintf.c' line='3210' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sscanf'>
-        <parameter type-id='type-id-4' name='buf' filepath='lib/vsprintf.c' line='3210' column='1'/>
-        <parameter type-id='type-id-4' name='fmt' filepath='lib/vsprintf.c' line='3210' column='1'/>
-        <parameter is-variadic='yes'/>
-        <return type-id='type-id-17'/>
+      <function-decl name='snd_soc_dapm_add_routes' mangled-name='snd_soc_dapm_add_routes' filepath='include/sound/soc-dapm.h' line='421' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_dapm_add_routes'>
+        <parameter type-id='type-id-9414'/>
+        <parameter type-id='type-id-9330'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_dapm_new_widgets' mangled-name='snd_soc_dapm_new_widgets' filepath='include/sound/soc-dapm.h' line='419' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_dapm_new_widgets'>
+        <parameter type-id='type-id-9313'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_rtdcom_lookup' mangled-name='snd_soc_rtdcom_lookup' filepath='sound/soc/soc-core.c' line='316' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_rtdcom_lookup'>
+        <parameter type-id='type-id-9564' name='rtd' filepath='sound/soc/soc-core.c' line='316' column='1'/>
+        <parameter type-id='type-id-24' name='driver_name' filepath='sound/soc/soc-core.c' line='317' column='1'/>
+        <return type-id='type-id-9312'/>
+      </function-decl>
+      <function-decl name='snd_soc_card_get_kcontrol' mangled-name='snd_soc_card_get_kcontrol' filepath='sound/soc/soc-core.c' line='2333' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_card_get_kcontrol'>
+        <parameter type-id='type-id-9313' name='soc_card' filepath='sound/soc/soc-core.c' line='2333' column='1'/>
+        <parameter type-id='type-id-24' name='name' filepath='sound/soc/soc-core.c' line='2334' column='1'/>
+        <return type-id='type-id-4267'/>
+      </function-decl>
+      <function-decl name='snd_soc_add_component_controls' mangled-name='snd_soc_add_component_controls' filepath='sound/soc/soc-core.c' line='2358' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_add_component_controls'>
+        <parameter type-id='type-id-9312' name='component' filepath='sound/soc/soc-core.c' line='2358' column='1'/>
+        <parameter type-id='type-id-9181' name='controls' filepath='sound/soc/soc-core.c' line='2359' column='1'/>
+        <parameter type-id='type-id-10' name='num_controls' filepath='sound/soc/soc-core.c' line='2359' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_dai_set_sysclk' mangled-name='snd_soc_dai_set_sysclk' filepath='sound/soc/soc-core.c' line='2417' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_dai_set_sysclk'>
+        <parameter type-id='type-id-9346' name='dai' filepath='sound/soc/soc-core.c' line='2417' column='1'/>
+        <parameter type-id='type-id-11' name='clk_id' filepath='sound/soc/soc-core.c' line='2417' column='1'/>
+        <parameter type-id='type-id-10' name='freq' filepath='sound/soc/soc-core.c' line='2418' column='1'/>
+        <parameter type-id='type-id-11' name='dir' filepath='sound/soc/soc-core.c' line='2418' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_dai_set_pll' mangled-name='snd_soc_dai_set_pll' filepath='sound/soc/soc-core.c' line='2479' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_dai_set_pll'>
+        <parameter type-id='type-id-9346' name='dai' filepath='sound/soc/soc-core.c' line='2479' column='1'/>
+        <parameter type-id='type-id-11' name='pll_id' filepath='sound/soc/soc-core.c' line='2479' column='1'/>
+        <parameter type-id='type-id-11' name='source' filepath='sound/soc/soc-core.c' line='2479' column='1'/>
+        <parameter type-id='type-id-10' name='freq_in' filepath='sound/soc/soc-core.c' line='2480' column='1'/>
+        <parameter type-id='type-id-10' name='freq_out' filepath='sound/soc/soc-core.c' line='2480' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_dai_set_tdm_slot' mangled-name='snd_soc_dai_set_tdm_slot' filepath='sound/soc/soc-core.c' line='2593' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_dai_set_tdm_slot'>
+        <parameter type-id='type-id-9346' name='dai' filepath='sound/soc/soc-core.c' line='2593' column='1'/>
+        <parameter type-id='type-id-10' name='tx_mask' filepath='sound/soc/soc-core.c' line='2594' column='1'/>
+        <parameter type-id='type-id-10' name='rx_mask' filepath='sound/soc/soc-core.c' line='2594' column='1'/>
+        <parameter type-id='type-id-11' name='slots' filepath='sound/soc/soc-core.c' line='2594' column='1'/>
+        <parameter type-id='type-id-11' name='slot_width' filepath='sound/soc/soc-core.c' line='2594' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_dai_set_channel_map' mangled-name='snd_soc_dai_set_channel_map' filepath='sound/soc/soc-core.c' line='2625' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_dai_set_channel_map'>
+        <parameter type-id='type-id-9346' name='dai' filepath='sound/soc/soc-core.c' line='2625' column='1'/>
+        <parameter type-id='type-id-10' name='tx_num' filepath='sound/soc/soc-core.c' line='2626' column='1'/>
+        <parameter type-id='type-id-72' name='tx_slot' filepath='sound/soc/soc-core.c' line='2626' column='1'/>
+        <parameter type-id='type-id-10' name='rx_num' filepath='sound/soc/soc-core.c' line='2627' column='1'/>
+        <parameter type-id='type-id-72' name='rx_slot' filepath='sound/soc/soc-core.c' line='2627' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_dai_get_channel_map' mangled-name='snd_soc_dai_get_channel_map' filepath='sound/soc/soc-core.c' line='2647' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_dai_get_channel_map'>
+        <parameter type-id='type-id-9346' name='dai' filepath='sound/soc/soc-core.c' line='2647' column='1'/>
+        <parameter type-id='type-id-72' name='tx_num' filepath='sound/soc/soc-core.c' line='2648' column='1'/>
+        <parameter type-id='type-id-72' name='tx_slot' filepath='sound/soc/soc-core.c' line='2648' column='1'/>
+        <parameter type-id='type-id-72' name='rx_num' filepath='sound/soc/soc-core.c' line='2649' column='1'/>
+        <parameter type-id='type-id-72' name='rx_slot' filepath='sound/soc/soc-core.c' line='2649' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_unregister_card' mangled-name='snd_soc_unregister_card' filepath='sound/soc/soc-core.c' line='2769' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_unregister_card'>
+        <parameter type-id='type-id-9313' name='card' filepath='sound/soc/soc-core.c' line='2769' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_component_init_regmap' mangled-name='snd_soc_component_init_regmap' filepath='sound/soc/soc-core.c' line='3067' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_component_init_regmap'>
+        <parameter type-id='type-id-9312' name='component' filepath='sound/soc/soc-core.c' line='3067' column='1'/>
+        <parameter type-id='type-id-845' name='regmap' filepath='sound/soc/soc-core.c' line='3068' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='snd_soc_register_component' mangled-name='snd_soc_register_component' filepath='sound/soc/soc-core.c' line='3199' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_register_component'>
+        <parameter type-id='type-id-86' name='dev' filepath='sound/soc/soc-core.c' line='3199' column='1'/>
+        <parameter type-id='type-id-9319' name='component_driver' filepath='sound/soc/soc-core.c' line='3200' column='1'/>
+        <parameter type-id='type-id-9382' name='dai_drv' filepath='sound/soc/soc-core.c' line='3201' column='1'/>
+        <parameter type-id='type-id-11' name='num_dai' filepath='sound/soc/soc-core.c' line='3202' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_unregister_component' mangled-name='snd_soc_unregister_component' filepath='sound/soc/soc-core.c' line='3245' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_unregister_component'>
+        <parameter type-id='type-id-86' name='dev' filepath='sound/soc/soc-core.c' line='3245' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+      <function-decl name='snd_soc_of_parse_card_name' mangled-name='snd_soc_of_parse_card_name' filepath='sound/soc/soc-core.c' line='3278' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_of_parse_card_name'>
+        <parameter type-id='type-id-9313' name='card' filepath='sound/soc/soc-core.c' line='3278' column='1'/>
+        <parameter type-id='type-id-24' name='propname' filepath='sound/soc/soc-core.c' line='3279' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_of_parse_audio_routing' mangled-name='snd_soc_of_parse_audio_routing' filepath='sound/soc/soc-core.c' line='3470' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_of_parse_audio_routing'>
+        <parameter type-id='type-id-9313' name='card' filepath='sound/soc/soc-core.c' line='3470' column='1'/>
+        <parameter type-id='type-id-24' name='propname' filepath='sound/soc/soc-core.c' line='3471' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_of_get_dai_link_codecs' mangled-name='snd_soc_of_get_dai_link_codecs' filepath='sound/soc/soc-core.c' line='3796' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_of_get_dai_link_codecs'>
+        <parameter type-id='type-id-86' name='dev' filepath='sound/soc/soc-core.c' line='3796' column='1'/>
+        <parameter type-id='type-id-81' name='of_node' filepath='sound/soc/soc-core.c' line='3797' column='1'/>
+        <parameter type-id='type-id-9326' name='dai_link' filepath='sound/soc/soc-core.c' line='3798' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-type size-in-bits='64' id='type-id-9489'>
+        <parameter type-id='type-id-9558'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9490'>
+        <parameter type-id='type-id-9558'/>
+        <parameter type-id='type-id-300'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9491'>
+        <parameter type-id='type-id-9558'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9492'>
+        <parameter type-id='type-id-9558'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-9346'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9493'>
+        <parameter type-id='type-id-9558'/>
+        <parameter type-id='type-id-9553'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9494'>
+        <parameter type-id='type-id-9558'/>
+        <parameter type-id='type-id-9553'/>
+        <parameter type-id='type-id-9346'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9495'>
+        <parameter type-id='type-id-9558'/>
+        <parameter type-id='type-id-9554'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9496'>
+        <parameter type-id='type-id-9558'/>
+        <parameter type-id='type-id-9555'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9497'>
+        <parameter type-id='type-id-9558'/>
+        <parameter type-id='type-id-9556'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9498'>
+        <parameter type-id='type-id-9558'/>
+        <parameter type-id='type-id-9556'/>
+        <parameter type-id='type-id-9346'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9499'>
+        <parameter type-id='type-id-9558'/>
+        <parameter type-id='type-id-9557'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9500'>
+        <parameter type-id='type-id-9558'/>
+        <parameter type-id='type-id-9557'/>
+        <parameter type-id='type-id-9346'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9501'>
+        <parameter type-id='type-id-9558'/>
+        <parameter type-id='type-id-9559'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9502'>
+        <parameter type-id='type-id-9558'/>
+        <parameter type-id='type-id-9559'/>
+        <parameter type-id='type-id-9346'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9503'>
+        <parameter type-id='type-id-9558'/>
+        <parameter type-id='type-id-9346'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9504'>
+        <parameter type-id='type-id-9558'/>
+        <parameter type-id='type-id-125'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9505'>
+        <parameter type-id='type-id-9558'/>
+        <parameter type-id='type-id-125'/>
+        <parameter type-id='type-id-9346'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9506'>
+        <parameter type-id='type-id-9558'/>
+        <parameter type-id='type-id-132'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9507'>
+        <parameter type-id='type-id-4267'/>
+        <parameter type-id='type-id-835'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9508'>
+        <parameter type-id='type-id-4267'/>
+        <parameter type-id='type-id-72'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9509'>
+        <parameter type-id='type-id-4258'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-9346'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9510'>
+        <parameter type-id='type-id-4258'/>
+        <parameter type-id='type-id-4319'/>
+        <parameter type-id='type-id-9346'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9511'>
+        <parameter type-id='type-id-4258'/>
+        <parameter type-id='type-id-9346'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9512'>
+        <parameter type-id='type-id-9313'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9513'>
+        <parameter type-id='type-id-9313'/>
+        <parameter type-id='type-id-9326'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9514'>
+        <parameter type-id='type-id-9313'/>
+        <parameter type-id='type-id-9414'/>
+        <parameter type-id='type-id-9310'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9515'>
+        <parameter type-id='type-id-9312'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9516'>
+        <parameter type-id='type-id-9312'/>
+        <parameter type-id='type-id-81'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9517'>
+        <parameter type-id='type-id-9312'/>
+        <parameter type-id='type-id-9310'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9518'>
+        <parameter type-id='type-id-9312'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9519'>
+        <parameter type-id='type-id-9312'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9520'>
+        <parameter type-id='type-id-9312'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9521'>
+        <parameter type-id='type-id-9312'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-9560'/>
+        <parameter type-id='type-id-9565'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9522'>
+        <parameter type-id='type-id-9312'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-9382'/>
+        <parameter type-id='type-id-9570'/>
+        <parameter type-id='type-id-9346'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9523'>
+        <parameter type-id='type-id-9312'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-9326'/>
+        <parameter type-id='type-id-9568'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9524'>
+        <parameter type-id='type-id-9312'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-9561'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9525'>
+        <parameter type-id='type-id-9312'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-9383'/>
+        <parameter type-id='type-id-9566'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9526'>
+        <parameter type-id='type-id-9312'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-9567'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9527'>
+        <parameter type-id='type-id-9312'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-9569'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9528'>
+        <parameter type-id='type-id-9312'/>
+        <parameter type-id='type-id-233'/>
+        <parameter type-id='type-id-184'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9529'>
+        <parameter type-id='type-id-9312'/>
+        <parameter type-id='type-id-9562'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9530'>
+        <parameter type-id='type-id-9312'/>
+        <parameter type-id='type-id-9563'/>
+        <parameter type-id='type-id-3'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9531'>
+        <parameter type-id='type-id-9312'/>
+        <parameter type-id='type-id-9567'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9532'>
+        <parameter type-id='type-id-9312'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9533'>
+        <parameter type-id='type-id-9346'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9534'>
+        <parameter type-id='type-id-9346'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9535'>
+        <parameter type-id='type-id-9346'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9536'>
+        <parameter type-id='type-id-9346'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9537'>
+        <parameter type-id='type-id-9346'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9538'>
+        <parameter type-id='type-id-9346'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9539'>
+        <parameter type-id='type-id-9346'/>
+        <parameter type-id='type-id-72'/>
+        <parameter type-id='type-id-72'/>
+        <parameter type-id='type-id-72'/>
+        <parameter type-id='type-id-72'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9540'>
+        <parameter type-id='type-id-9346'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-72'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-72'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9541'>
+        <parameter type-id='type-id-9346'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9542'>
+        <parameter type-id='type-id-9346'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9543'>
+        <parameter type-id='type-id-9414'/>
+        <parameter type-id='type-id-9310'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9544'>
+        <parameter type-id='type-id-9414'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9545'>
+        <parameter type-id='type-id-9383'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9546'>
+        <parameter type-id='type-id-9383'/>
+        <parameter type-id='type-id-4267'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9547'>
+        <parameter type-id='type-id-9383'/>
+        <parameter type-id='type-id-9383'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9548'>
+        <parameter type-id='type-id-9564'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9549'>
+        <parameter type-id='type-id-9564'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9550'>
+        <parameter type-id='type-id-9564'/>
+        <parameter type-id='type-id-4319'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9551'>
+        <parameter type-id='type-id-9564'/>
+        <parameter type-id='type-id-9346'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9552'>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-72'/>
+        <parameter type-id='type-id-72'/>
+        <return type-id='type-id-11'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9571'>
+        <parameter type-id='type-id-4258'/>
+        <parameter type-id='type-id-9346'/>
+        <return type-id='type-id-4286'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9572'>
+        <parameter type-id='type-id-9312'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-10'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9573'>
+        <parameter type-id='type-id-9558'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9574'>
+        <parameter type-id='type-id-4258'/>
+        <parameter type-id='type-id-9346'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9575'>
+        <parameter type-id='type-id-9313'/>
+        <parameter type-id='type-id-9326'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9576'>
+        <parameter type-id='type-id-9312'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9577'>
+        <parameter type-id='type-id-9312'/>
+        <parameter type-id='type-id-9317'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+      <function-type size-in-bits='64' id='type-id-9578'>
+        <parameter type-id='type-id-9414'/>
+        <parameter type-id='type-id-9317'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-73'/>
+      </function-type>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='sound/soc/soc-dapm.c' language='LANG_C89'>
+      <class-decl name='snd_jack' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-9579'/>
+      <class-decl name='soc_enum' size-in-bits='832' is-struct='yes' visibility='default' filepath='include/sound/soc.h' line='1191' column='1' id='type-id-9580'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='reg' type-id='type-id-11' visibility='default' filepath='include/sound/soc.h' line='1192' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <var-decl name='shift_l' type-id='type-id-271' visibility='default' filepath='include/sound/soc.h' line='1193' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='40'>
+          <var-decl name='shift_r' type-id='type-id-271' visibility='default' filepath='include/sound/soc.h' line='1194' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <var-decl name='items' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='1195' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='96'>
+          <var-decl name='mask' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='1196' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='texts' type-id='type-id-562' visibility='default' filepath='include/sound/soc.h' line='1197' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='values' type-id='type-id-835' visibility='default' filepath='include/sound/soc.h' line='1198' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='31'>
+          <var-decl name='autodisable' type-id='type-id-10' visibility='default' filepath='include/sound/soc.h' line='1199' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <var-decl name='dobj' type-id='type-id-9340' visibility='default' filepath='include/sound/soc.h' line='1200' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-9579' size-in-bits='64' id='type-id-9581'/>
+      <pointer-type-def type-id='type-id-9580' size-in-bits='64' id='type-id-9582'/>
+      <function-decl name='snd_soc_component_update_bits' mangled-name='snd_soc_component_update_bits' filepath='include/sound/soc.h' line='1306' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_component_update_bits'>
+        <parameter type-id='type-id-9312'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <parameter type-id='type-id-10'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_dapm_kcontrol_widget' mangled-name='snd_soc_dapm_kcontrol_widget' filepath='sound/soc/soc-dapm.c' line='552' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_dapm_kcontrol_widget'>
+        <parameter type-id='type-id-4267' name='kcontrol' filepath='sound/soc/soc-dapm.c' line='553' column='1'/>
+        <return type-id='type-id-9383'/>
+      </function-decl>
+      <function-decl name='snd_soc_dapm_mux_update_power' mangled-name='snd_soc_dapm_mux_update_power' filepath='sound/soc/soc-dapm.c' line='2248' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_dapm_mux_update_power'>
+        <parameter type-id='type-id-9414' name='dapm' filepath='sound/soc/soc-dapm.c' line='2248' column='1'/>
+        <parameter type-id='type-id-4267' name='kcontrol' filepath='sound/soc/soc-dapm.c' line='2249' column='1'/>
+        <parameter type-id='type-id-11' name='mux' filepath='sound/soc/soc-dapm.c' line='2249' column='1'/>
+        <parameter type-id='type-id-9582' name='e' filepath='sound/soc/soc-dapm.c' line='2249' column='1'/>
+        <parameter type-id='type-id-9332' name='update' filepath='sound/soc/soc-dapm.c' line='2250' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_dapm_mixer_update_power' mangled-name='snd_soc_dapm_mixer_update_power' filepath='sound/soc/soc-dapm.c' line='2313' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_dapm_mixer_update_power'>
+        <parameter type-id='type-id-9414' name='dapm' filepath='sound/soc/soc-dapm.c' line='2313' column='1'/>
+        <parameter type-id='type-id-4267' name='kcontrol' filepath='sound/soc/soc-dapm.c' line='2314' column='1'/>
+        <parameter type-id='type-id-11' name='connect' filepath='sound/soc/soc-dapm.c' line='2314' column='1'/>
+        <parameter type-id='type-id-9332' name='update' filepath='sound/soc/soc-dapm.c' line='2315' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_dapm_get_volsw' mangled-name='snd_soc_dapm_get_volsw' filepath='sound/soc/soc-dapm.c' line='3138' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_dapm_get_volsw'>
+        <parameter type-id='type-id-4267' name='kcontrol' filepath='sound/soc/soc-dapm.c' line='3138' column='1'/>
+        <parameter type-id='type-id-9184' name='ucontrol' filepath='sound/soc/soc-dapm.c' line='3139' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_dapm_put_volsw' mangled-name='snd_soc_dapm_put_volsw' filepath='sound/soc/soc-dapm.c' line='3201' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_dapm_put_volsw'>
+        <parameter type-id='type-id-4267' name='kcontrol' filepath='sound/soc/soc-dapm.c' line='3201' column='1'/>
+        <parameter type-id='type-id-9184' name='ucontrol' filepath='sound/soc/soc-dapm.c' line='3202' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_dapm_get_enum_double' mangled-name='snd_soc_dapm_get_enum_double' filepath='sound/soc/soc-dapm.c' line='3293' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_dapm_get_enum_double'>
+        <parameter type-id='type-id-4267' name='kcontrol' filepath='sound/soc/soc-dapm.c' line='3293' column='1'/>
+        <parameter type-id='type-id-9184' name='ucontrol' filepath='sound/soc/soc-dapm.c' line='3294' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_dapm_put_enum_double' mangled-name='snd_soc_dapm_put_enum_double' filepath='sound/soc/soc-dapm.c' line='3334' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_dapm_put_enum_double'>
+        <parameter type-id='type-id-4267' name='kcontrol' filepath='sound/soc/soc-dapm.c' line='3334' column='1'/>
+        <parameter type-id='type-id-9184' name='ucontrol' filepath='sound/soc/soc-dapm.c' line='3335' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_dapm_ignore_suspend' mangled-name='snd_soc_dapm_ignore_suspend' filepath='sound/soc/soc-dapm.c' line='4510' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_dapm_ignore_suspend'>
+        <parameter type-id='type-id-9414' name='dapm' filepath='sound/soc/soc-dapm.c' line='4510' column='1'/>
+        <parameter type-id='type-id-24' name='pin' filepath='sound/soc/soc-dapm.c' line='4511' column='1'/>
+        <return type-id='type-id-11'/>
       </function-decl>
     </abi-instr>
-  </abi-corpus>
-  <abi-corpus path='virtio_ring.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='ttm.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='mmc_core.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='virtio_blk.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='virtio-gpu.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='can-dev.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='vmw_vsock_virtio_transport_common.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='can.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='can-gw.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='mmc_block.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='virtio.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='gnss-serial.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='sdhci-pltfm.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='vsock_diag.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='virtio_mmio.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='dummy_hcd.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='can-raw.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='can-bcm.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='virtio-rng.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='kheaders.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='8250_of.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='failover.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='vmw_vsock_virtio_transport.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='sdhci.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='vcan.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='vsock.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='crypto_engine.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='dummy-cpufreq.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='virt_wifi.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='gnss-cmdline.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='net_failover.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='rtc-test.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='virtio_console.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='virtio_net.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='virtio_pci.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='virtio_input.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='binfmt_misc.ko' architecture='elf-arm-aarch64'>
-  </abi-corpus>
-  <abi-corpus path='virtio_crypto.ko' architecture='elf-arm-aarch64'>
+    <abi-instr version='1.0' address-size='64' path='sound/soc/soc-devres.c' language='LANG_C89'>
+      <union-decl name='__anonymous_union__' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/sound/info.h' line='80' column='1' id='type-id-9583'>
+        <data-member access='private'>
+          <var-decl name='text' type-id='type-id-9246' visibility='default' filepath='include/sound/info.h' line='81' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='ops' type-id='type-id-9264' visibility='default' filepath='include/sound/info.h' line='82' column='1'/>
+        </data-member>
+      </union-decl>
+      <function-decl name='devm_snd_soc_register_card' mangled-name='devm_snd_soc_register_card' filepath='sound/soc/soc-devres.c' line='63' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_snd_soc_register_card'>
+        <parameter type-id='type-id-86' name='dev' filepath='sound/soc/soc-devres.c' line='63' column='1'/>
+        <parameter type-id='type-id-9313' name='card' filepath='sound/soc/soc-devres.c' line='63' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='sound/soc/soc-io.c' language='LANG_C89'>
+      <function-decl name='snd_soc_component_read32' mangled-name='snd_soc_component_read32' filepath='sound/soc/soc-io.c' line='41' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_component_read32'>
+        <parameter type-id='type-id-9312' name='component' filepath='sound/soc/soc-io.c' line='41' column='1'/>
+        <parameter type-id='type-id-10' name='reg' filepath='sound/soc/soc-io.c' line='42' column='1'/>
+        <return type-id='type-id-10'/>
+      </function-decl>
+      <function-decl name='snd_soc_component_write' mangled-name='snd_soc_component_write' filepath='sound/soc/soc-io.c' line='63' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_component_write'>
+        <parameter type-id='type-id-9312' name='component' filepath='sound/soc/soc-io.c' line='63' column='1'/>
+        <parameter type-id='type-id-10' name='reg' filepath='sound/soc/soc-io.c' line='64' column='1'/>
+        <parameter type-id='type-id-10' name='val' filepath='sound/soc/soc-io.c' line='64' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='sound/soc/soc-jack.c' language='LANG_C89'>
+      <union-decl name='__anonymous_union__1' size-in-bits='128' is-anonymous='yes' visibility='default' filepath='include/linux/fs.h' line='898' column='1' id='type-id-9584'>
+        <data-member access='private'>
+          <var-decl name='fu_llist' type-id='type-id-1327' visibility='default' filepath='include/linux/fs.h' line='899' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='fu_rcuhead' type-id='type-id-157' visibility='default' filepath='include/linux/fs.h' line='900' column='1'/>
+        </data-member>
+      </union-decl>
+      <union-decl name='__anonymous_union__2' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='include/linux/key.h' line='158' column='1' id='type-id-9585'>
+        <data-member access='private'>
+          <var-decl name='graveyard_link' type-id='type-id-8' visibility='default' filepath='include/linux/key.h' line='159' column='1'/>
+        </data-member>
+        <data-member access='private'>
+          <var-decl name='serial_node' type-id='type-id-1846' visibility='default' filepath='include/linux/key.h' line='160' column='1'/>
+        </data-member>
+      </union-decl>
+      <class-decl name='snd_soc_jack_pin' size-in-bits='256' is-struct='yes' visibility='default' filepath='include/sound/soc.h' line='647' column='1' id='type-id-9586'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <var-decl name='list' type-id='type-id-8' visibility='default' filepath='include/sound/soc.h' line='648' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <var-decl name='pin' type-id='type-id-24' visibility='default' filepath='include/sound/soc.h' line='649' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <var-decl name='mask' type-id='type-id-11' visibility='default' filepath='include/sound/soc.h' line='650' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <var-decl name='invert' type-id='type-id-211' visibility='default' filepath='include/sound/soc.h' line='651' column='1'/>
+        </data-member>
+      </class-decl>
+      <pointer-type-def type-id='type-id-9586' size-in-bits='64' id='type-id-9587'/>
+      <function-decl name='snd_soc_card_jack_new' mangled-name='snd_soc_card_jack_new' filepath='sound/soc/soc-jack.c' line='59' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_card_jack_new'>
+        <parameter type-id='type-id-9313' name='card' filepath='sound/soc/soc-jack.c' line='59' column='1'/>
+        <parameter type-id='type-id-24' name='id' filepath='sound/soc/soc-jack.c' line='59' column='1'/>
+        <parameter type-id='type-id-11' name='type' filepath='sound/soc/soc-jack.c' line='59' column='1'/>
+        <parameter type-id='type-id-9563' name='jack' filepath='sound/soc/soc-jack.c' line='60' column='1'/>
+        <parameter type-id='type-id-9587' name='pins' filepath='sound/soc/soc-jack.c' line='60' column='1'/>
+        <parameter type-id='type-id-10' name='num_pins' filepath='sound/soc/soc-jack.c' line='61' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_jack_report' mangled-name='snd_soc_jack_report' filepath='sound/soc/soc-jack.c' line='96' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_jack_report'>
+        <parameter type-id='type-id-9563' name='jack' filepath='sound/soc/soc-jack.c' line='96' column='1'/>
+        <parameter type-id='type-id-11' name='status' filepath='sound/soc/soc-jack.c' line='96' column='1'/>
+        <parameter type-id='type-id-11' name='mask' filepath='sound/soc/soc-jack.c' line='96' column='1'/>
+        <return type-id='type-id-73'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='sound/soc/soc-ops.c' language='LANG_C89'>
+      <function-decl name='snd_soc_info_enum_double' mangled-name='snd_soc_info_enum_double' filepath='sound/soc/soc-ops.c' line='40' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_info_enum_double'>
+        <parameter type-id='type-id-4267' name='kcontrol' filepath='sound/soc/soc-ops.c' line='40' column='1'/>
+        <parameter type-id='type-id-9183' name='uinfo' filepath='sound/soc/soc-ops.c' line='41' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_get_enum_double' mangled-name='snd_soc_get_enum_double' filepath='sound/soc/soc-ops.c' line='59' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_get_enum_double'>
+        <parameter type-id='type-id-4267' name='kcontrol' filepath='sound/soc/soc-ops.c' line='59' column='1'/>
+        <parameter type-id='type-id-9184' name='ucontrol' filepath='sound/soc/soc-ops.c' line='60' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_put_enum_double' mangled-name='snd_soc_put_enum_double' filepath='sound/soc/soc-ops.c' line='93' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_put_enum_double'>
+        <parameter type-id='type-id-4267' name='kcontrol' filepath='sound/soc/soc-ops.c' line='93' column='1'/>
+        <parameter type-id='type-id-9184' name='ucontrol' filepath='sound/soc/soc-ops.c' line='94' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_info_volsw' mangled-name='snd_soc_info_volsw' filepath='sound/soc/soc-ops.c' line='181' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_info_volsw'>
+        <parameter type-id='type-id-4267' name='kcontrol' filepath='sound/soc/soc-ops.c' line='181' column='1'/>
+        <parameter type-id='type-id-9183' name='uinfo' filepath='sound/soc/soc-ops.c' line='182' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_info_volsw_sx' mangled-name='snd_soc_info_volsw_sx' filepath='sound/soc/soc-ops.c' line='216' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_info_volsw_sx'>
+        <parameter type-id='type-id-4267' name='kcontrol' filepath='sound/soc/soc-ops.c' line='216' column='1'/>
+        <parameter type-id='type-id-9183' name='uinfo' filepath='sound/soc/soc-ops.c' line='217' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_get_volsw' mangled-name='snd_soc_get_volsw' filepath='sound/soc/soc-ops.c' line='242' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_get_volsw'>
+        <parameter type-id='type-id-4267' name='kcontrol' filepath='sound/soc/soc-ops.c' line='242' column='1'/>
+        <parameter type-id='type-id-9184' name='ucontrol' filepath='sound/soc/soc-ops.c' line='243' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_put_volsw' mangled-name='snd_soc_put_volsw' filepath='sound/soc/soc-ops.c' line='302' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_put_volsw'>
+        <parameter type-id='type-id-4267' name='kcontrol' filepath='sound/soc/soc-ops.c' line='302' column='1'/>
+        <parameter type-id='type-id-9184' name='ucontrol' filepath='sound/soc/soc-ops.c' line='303' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_get_volsw_sx' mangled-name='snd_soc_get_volsw_sx' filepath='sound/soc/soc-ops.c' line='364' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_get_volsw_sx'>
+        <parameter type-id='type-id-4267' name='kcontrol' filepath='sound/soc/soc-ops.c' line='364' column='1'/>
+        <parameter type-id='type-id-9184' name='ucontrol' filepath='sound/soc/soc-ops.c' line='365' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_put_volsw_sx' mangled-name='snd_soc_put_volsw_sx' filepath='sound/soc/soc-ops.c' line='408' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_put_volsw_sx'>
+        <parameter type-id='type-id-4267' name='kcontrol' filepath='sound/soc/soc-ops.c' line='408' column='1'/>
+        <parameter type-id='type-id-9184' name='ucontrol' filepath='sound/soc/soc-ops.c' line='409' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_info_volsw_range' mangled-name='snd_soc_info_volsw_range' filepath='sound/soc/soc-ops.c' line='455' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_info_volsw_range'>
+        <parameter type-id='type-id-4267' name='kcontrol' filepath='sound/soc/soc-ops.c' line='455' column='1'/>
+        <parameter type-id='type-id-9183' name='uinfo' filepath='sound/soc/soc-ops.c' line='456' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_put_volsw_range' mangled-name='snd_soc_put_volsw_range' filepath='sound/soc/soc-ops.c' line='485' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_put_volsw_range'>
+        <parameter type-id='type-id-4267' name='kcontrol' filepath='sound/soc/soc-ops.c' line='485' column='1'/>
+        <parameter type-id='type-id-9184' name='ucontrol' filepath='sound/soc/soc-ops.c' line='486' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_get_volsw_range' mangled-name='snd_soc_get_volsw_range' filepath='sound/soc/soc-ops.c' line='537' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_get_volsw_range'>
+        <parameter type-id='type-id-4267' name='kcontrol' filepath='sound/soc/soc-ops.c' line='537' column='1'/>
+        <parameter type-id='type-id-9184' name='ucontrol' filepath='sound/soc/soc-ops.c' line='538' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_bytes_info_ext' mangled-name='snd_soc_bytes_info_ext' filepath='sound/soc/soc-ops.c' line='755' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_bytes_info_ext'>
+        <parameter type-id='type-id-4267' name='kcontrol' filepath='sound/soc/soc-ops.c' line='755' column='1'/>
+        <parameter type-id='type-id-9183' name='ucontrol' filepath='sound/soc/soc-ops.c' line='756' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_bytes_tlv_callback' mangled-name='snd_soc_bytes_tlv_callback' filepath='sound/soc/soc-ops.c' line='767' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_bytes_tlv_callback'>
+        <parameter type-id='type-id-4267' name='kcontrol' filepath='sound/soc/soc-ops.c' line='767' column='1'/>
+        <parameter type-id='type-id-11' name='op_flag' filepath='sound/soc/soc-ops.c' line='767' column='1'/>
+        <parameter type-id='type-id-10' name='size' filepath='sound/soc/soc-ops.c' line='768' column='1'/>
+        <parameter type-id='type-id-72' name='tlv' filepath='sound/soc/soc-ops.c' line='768' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='sound/soc/soc-utils.c' language='LANG_C89'>
+      <qualified-type-def type-id='type-id-4294' const='yes' id='type-id-9588'/>
+      <pointer-type-def type-id='type-id-9588' size-in-bits='64' id='type-id-9589'/>
+      <function-decl name='devm_snd_soc_register_component' mangled-name='devm_snd_soc_register_component' filepath='include/sound/soc.h' line='452' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='devm_snd_soc_register_component'>
+        <parameter type-id='type-id-86'/>
+        <parameter type-id='type-id-9319'/>
+        <parameter type-id='type-id-9382'/>
+        <parameter type-id='type-id-11'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_set_runtime_hwparams' mangled-name='snd_soc_set_runtime_hwparams' filepath='include/sound/soc.h' line='500' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_set_runtime_hwparams'>
+        <parameter type-id='type-id-4258'/>
+        <parameter type-id='type-id-9589'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_params_to_frame_size' mangled-name='snd_soc_params_to_frame_size' filepath='sound/soc/soc-utils.c' line='23' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_params_to_frame_size'>
+        <parameter type-id='type-id-4319' name='params' filepath='sound/soc/soc-utils.c' line='23' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_component_disable_pin' mangled-name='snd_soc_component_disable_pin' filepath='sound/soc/soc-utils.c' line='99' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_component_disable_pin'>
+        <parameter type-id='type-id-9312' name='component' filepath='sound/soc/soc-utils.c' line='99' column='1'/>
+        <parameter type-id='type-id-24' name='pin' filepath='sound/soc/soc-utils.c' line='100' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+      <function-decl name='snd_soc_component_force_enable_pin' mangled-name='snd_soc_component_force_enable_pin' filepath='sound/soc/soc-utils.c' line='209' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_soc_component_force_enable_pin'>
+        <parameter type-id='type-id-9312' name='component' filepath='sound/soc/soc-utils.c' line='209' column='1'/>
+        <parameter type-id='type-id-24' name='pin' filepath='sound/soc/soc-utils.c' line='210' column='1'/>
+        <return type-id='type-id-11'/>
+      </function-decl>
+    </abi-instr>
+    <abi-instr version='1.0' address-size='64' path='sound/usb/card.c' language='LANG_C89'>
+      <function-decl name='snd_usb_find_csint_desc' mangled-name='snd_usb_find_csint_desc' filepath='sound/usb/helper.h' line='8' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='snd_usb_find_csint_desc'>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-11'/>
+        <parameter type-id='type-id-3'/>
+        <parameter type-id='type-id-271'/>
+        <return type-id='type-id-3'/>
+      </function-decl>
+    </abi-instr>
   </abi-corpus>
 </abi-corpus-group>
 
 <!--
-     libabigail: abidw: 1.7.0-c088667b-goog
-     built with: clang: Android (6051079 based on r370808) clang version 10.0.1 (https://android.googlesource.com/toolchain/llvm-project b9738d6d99f614c8bf7a3e7c769659b313b88244)
+     libabigail: abidw: 1.8.0-fc4af1c4-goog
+     built with: clang: Android (6207600 based on r377782b) clang version 10.0.4 (https://android.googlesource.com/toolchain/llvm-project 0cb1afdb060d6619a9837ab6866cf4adf2336416)
 -->
diff --git a/abi_gki_aarch64_cuttlefish_whitelist b/abi_gki_aarch64_cuttlefish_whitelist
new file mode 100644
index 0000000..b795c2c
--- /dev/null
+++ b/abi_gki_aarch64_cuttlefish_whitelist
@@ -0,0 +1,835 @@
+[abi_whitelist]
+# commonly used symbols
+  add_wait_queue
+  alloc_etherdev_mqs
+  __alloc_pages_nodemask
+  __alloc_skb
+  __alloc_workqueue_key
+  __arch_copy_from_user
+  __arch_copy_to_user
+  arm64_const_caps_ready
+  bus_register
+  bus_unregister
+  cancel_delayed_work_sync
+  capable
+  __check_object_size
+  __const_udelay
+  consume_skb
+  cpu_hwcap_keys
+  cpu_hwcaps
+  cpumask_next
+  cpu_number
+  __cpu_online_mask
+  cpus_read_lock
+  cpus_read_unlock
+  debug_smp_processor_id
+  delayed_work_timer_fn
+  destroy_workqueue
+  _dev_err
+  device_create_file
+  device_register
+  device_unregister
+  _dev_info
+  __dev_kfree_skb_any
+  devm_kmalloc
+  dev_queue_xmit
+  dev_set_name
+  _dev_warn
+  dma_alloc_from_dev_coherent
+  dma_buf_export
+  dma_buf_fd
+  dma_buf_put
+  dma_fence_release
+  dma_fence_wait_timeout
+  dma_release_from_dev_coherent
+  down_write
+  dummy_dma_ops
+  ethtool_op_get_link
+  eth_validate_addr
+  event_triggers_call
+  fd_install
+  finish_wait
+  flush_work
+  fput
+  free_irq
+  free_netdev
+  __free_pages
+  get_random_bytes
+  get_unused_fd_flags
+  ida_alloc_range
+  ida_free
+  init_net
+  init_timer_key
+  init_wait_entry
+  __init_waitqueue_head
+  jiffies
+  kfree
+  kfree_skb
+  __kmalloc
+  kmalloc_caches
+  kmem_cache_alloc_trace
+  kobject_put
+  kvfree
+  kvmalloc_node
+  __ll_sc_atomic64_add
+  __ll_sc_atomic64_andnot
+  __ll_sc_atomic64_or
+  __ll_sc_atomic_add
+  __ll_sc_atomic_sub_return
+  __ll_sc___cmpxchg_case_mb_4
+  __local_bh_enable_ip
+  lock_sock_nested
+  memcpy
+  memset
+  memstart_addr
+  misc_deregister
+  misc_register
+  module_put
+  msleep
+  __mutex_init
+  mutex_lock
+  mutex_lock_interruptible
+  mutex_trylock
+  mutex_unlock
+  netdev_err
+  netdev_info
+  netdev_rx_handler_register
+  netdev_rx_handler_unregister
+  netdev_upper_dev_unlink
+  netif_carrier_off
+  netif_carrier_on
+  netif_device_detach
+  netif_tx_stop_all_queues
+  netif_tx_wake_queue
+  noop_llseek
+  nr_cpu_ids
+  param_ops_bool
+  param_ops_charp
+  param_ops_int
+  param_ops_uint
+  passthru_features_check
+  pci_disable_device
+  pci_enable_device
+  pci_read_config_dword
+  __pci_register_driver
+  pci_set_master
+  pci_unregister_driver
+  __per_cpu_offset
+  perf_trace_buf_alloc
+  perf_trace_run_bpf_submit
+  platform_device_add
+  platform_device_alloc
+  platform_device_del
+  platform_device_put
+  platform_device_unregister
+  __platform_driver_register
+  platform_driver_unregister
+  preempt_count_add
+  preempt_count_sub
+  preempt_schedule
+  preempt_schedule_notrace
+  prepare_to_wait_event
+  printk
+  put_device
+  __put_page
+  queue_delayed_work_on
+  queue_work_on
+  _raw_read_lock
+  _raw_read_unlock
+  _raw_spin_lock
+  _raw_spin_lock_bh
+  _raw_spin_lock_irq
+  _raw_spin_lock_irqsave
+  _raw_spin_unlock
+  _raw_spin_unlock_bh
+  _raw_spin_unlock_irq
+  _raw_spin_unlock_irqrestore
+  __rcu_read_lock
+  __rcu_read_unlock
+  refcount_dec_and_test_checked
+  refcount_inc_checked
+  register_netdev
+  register_shrinker
+  release_sock
+  remove_wait_queue
+  request_threaded_irq
+  reservation_object_add_excl_fence
+  rtnl_lock
+  rtnl_unlock
+  schedule
+  schedule_timeout
+  schedule_timeout_uninterruptible
+  seq_printf
+  sg_free_table
+  sg_init_one
+  sg_init_table
+  sg_next
+  skb_clone
+  skb_put
+  sk_free
+  snd_device_new
+  snd_info_create_card_entry
+  snd_pcm_alt_chmaps
+  snprintf
+  sprintf
+  sscanf
+  __stack_chk_fail
+  __stack_chk_guard
+  strcmp
+  strcpy
+  strlcpy
+  strlen
+  strncpy
+  strstr
+  synchronize_irq
+  synchronize_net
+  system_wq
+  trace_define_field
+  trace_event_buffer_commit
+  trace_event_buffer_reserve
+  trace_event_ignore_this_pid
+  trace_event_raw_init
+  trace_event_reg
+  trace_handle_return
+  trace_raw_output_prep
+  trace_seq_printf
+  unregister_netdev
+  unregister_netdevice_queue
+  up_read
+  up_write
+  vmap
+  vunmap
+  wait_woken
+  __wake_up
+  __warn_printk
+  woken_wake_function
+  ww_mutex_lock_interruptible
+  ww_mutex_unlock
+
+# required by binfmt_misc.ko
+  bin2hex
+  bprm_change_interp
+  clear_inode
+  __close_fd
+  copy_strings_kernel
+  _ctype
+  current_time
+  d_drop
+  default_llseek
+  dentry_open
+  d_instantiate
+  dput
+  drop_nlink
+  filp_close
+  free_pages
+  __get_free_pages
+  get_next_ino
+  iput
+  kernel_read
+  kill_litter_super
+  kstrtoint
+  lockref_get
+  lookup_one_len
+  mount_single
+  new_inode
+  open_exec
+  prepare_binprm
+  _raw_write_lock
+  _raw_write_unlock
+  __register_binfmt
+  register_filesystem
+  remove_arg_zero
+  search_binary_handler
+  simple_fill_super
+  simple_pin_fs
+  simple_read_from_buffer
+  simple_release_fs
+  simple_statfs
+  strchr
+  string_unescape
+  strrchr
+  unregister_binfmt
+  unregister_filesystem
+  would_dump
+
+# required by blk-mq-virtio.ko
+  blk_mq_map_queues
+
+# required by dummy-cpufreq.ko
+  cpufreq_generic_attr
+  cpufreq_register_driver
+  cpufreq_unregister_driver
+
+# required by dummy_hcd.ko
+  device_remove_file
+  ktime_get_ts64
+  memzero_explicit
+  mod_timer
+  platform_device_add_data
+  scnprintf
+  sg_miter_next
+  sg_miter_start
+  sg_miter_stop
+  usb_add_gadget_udc
+  usb_add_hcd
+  usb_create_hcd
+  usb_create_shared_hcd
+  usb_del_gadget_udc
+  usb_disabled
+  usb_ep_set_maxpacket_limit
+  usb_gadget_giveback_request
+  usb_gadget_udc_reset
+  usb_get_dev
+  usb_hcd_check_unlink_urb
+  usb_hcd_giveback_urb
+  usb_hcd_is_primary_hcd
+  usb_hcd_link_urb_to_ep
+  usb_hcd_poll_rh_status
+  usb_hcd_resume_root_hub
+  usb_hcd_unlink_urb_from_ep
+  usb_put_dev
+  usb_put_hcd
+  usb_remove_hcd
+  usleep_range
+
+# required by failover.ko
+  netdev_master_upper_dev_link
+  register_netdevice_notifier
+  rtnl_is_locked
+  unregister_netdevice_notifier
+
+# required by gnss-cmdline.ko
+  bus_find_device_by_name
+  device_find_child
+  kstrdup
+  platform_bus_type
+  strsep
+
+# required by gnss-serial.ko
+  gnss_allocate_device
+  gnss_deregister_device
+  gnss_insert_raw
+  gnss_put_device
+  gnss_register_device
+  of_property_read_variable_u32_array
+  __pm_runtime_disable
+  pm_runtime_enable
+  __pm_runtime_idle
+  __pm_runtime_resume
+  serdev_device_close
+  serdev_device_open
+  serdev_device_set_baudrate
+  serdev_device_set_flow_control
+  serdev_device_wait_until_sent
+  serdev_device_write
+  serdev_device_write_wakeup
+
+# required by ion-alloc.ko
+  contig_page_data
+  down_read
+  freezing_slow_path
+  __init_rwsem
+  kernel_kobj
+  kobject_create_and_add
+  kthread_create_on_node
+  __ll_sc_atomic64_sub
+  mod_node_page_state
+  plist_add
+  rb_erase
+  rb_insert_color
+  __refrigerator
+  remap_pfn_range
+  sched_setscheduler
+  sg_alloc_table
+  __sg_page_iter_next
+  __sg_page_iter_start
+  split_page
+  sysfs_create_groups
+  system_freezing_cnt
+  totalram_pages
+  vfree
+  vmalloc
+  vm_map_ram
+  vm_unmap_ram
+  wake_up_process
+
+# required by nd_virtio.ko
+  bio_alloc_bioset
+  bio_chain
+  fs_bio_set
+  submit_bio
+
+# required by net_failover.ko
+  call_netdevice_notifiers
+  dev_close
+  dev_get_stats
+  dev_mc_sync_multiple
+  dev_mc_unsync
+  dev_open
+  dev_set_mtu
+  dev_uc_sync_multiple
+  dev_uc_unsync
+  __ethtool_get_link_ksettings
+  netdev_change_features
+  netdev_increment_features
+  netdev_lower_state_changed
+  pci_bus_type
+
+# required by rtc-test.ko
+  add_timer
+  del_timer
+  devm_rtc_allocate_device
+  ktime_get_real_seconds
+  __rtc_register_device
+  rtc_time64_to_tm
+  rtc_tm_to_time64
+  rtc_update_irq
+
+# required by snd-ac97-codec.ko
+  pci_read_config_word
+  simple_strtoul
+  snd_component_add
+  snd_ctl_add
+  _snd_ctl_add_slave
+  snd_ctl_boolean_mono_info
+  snd_ctl_enum_info
+  snd_ctl_find_id
+  snd_ctl_make_virtual_master
+  snd_ctl_new1
+  snd_ctl_remove_id
+  snd_info_free_entry
+  snd_info_register
+  snd_interval_refine
+  snd_pcm_hw_rule_add
+  snd_pcm_std_chmaps
+  strcat
+
+# required by snd-intel8x0.ko
+  ktime_get
+  param_ops_bint
+  pci_iomap
+  pci_release_regions
+  pci_request_regions
+  pci_write_config_dword
+  snd_card_disconnect
+  snd_card_free
+  snd_card_new
+  snd_card_register
+  snd_dma_alloc_pages
+  snd_dma_free_pages
+  snd_pci_quirk_lookup
+  snd_pcm_add_chmap_ctls
+  snd_pcm_hw_constraint_integer
+  snd_pcm_hw_constraint_list
+  snd_pcm_hw_constraint_msbits
+  snd_pcm_lib_free_pages
+  snd_pcm_lib_ioctl
+  snd_pcm_lib_malloc_pages
+  snd_pcm_lib_preallocate_pages_for_all
+  snd_pcm_limit_hw_rates
+  snd_pcm_new
+  snd_pcm_period_elapsed
+  snd_pcm_set_ops
+  snd_pcm_suspend_all
+
+# required by ttm.ko
+  clear_page
+  copy_page
+  dev_driver_string
+  devres_add
+  __devres_alloc_node
+  devres_destroy
+  devres_free
+  dma_buf_get
+  dma_fence_enable_sw_signaling
+  dma_fence_signal
+  drm_class_device_register
+  drm_class_device_unregister
+  drm_clflush_pages
+  drm_ht_create
+  drm_ht_find_item
+  drm_ht_insert_item
+  drm_ht_just_insert_please
+  drm_ht_remove
+  drm_ht_remove_item
+  drm_mm_init
+  drm_mm_insert_node_in_range
+  drm_mm_print
+  drm_mm_remove_node
+  drm_mm_takedown
+  __drm_printfn_debug
+  drm_vma_offset_add
+  drm_vma_offset_lookup_locked
+  drm_vma_offset_manager_destroy
+  drm_vma_offset_manager_init
+  drm_vma_offset_remove
+  flush_workqueue
+  __ioremap
+  __iounmap
+  kfree_call_rcu
+  kobject_del
+  kobject_init_and_add
+  __ll_sc_atomic64_add_return_relaxed
+  __ll_sc_atomic_sub
+  __ll_sc___cmpxchg_case_mb_8
+  mark_page_accessed
+  __memcpy_fromio
+  __memcpy_toio
+  __memset_io
+  nr_swap_pages
+  refcount_inc_not_zero_checked
+  reservation_object_add_shared_fence
+  reservation_object_copy_fences
+  reservation_object_reserve_shared
+  reservation_object_test_signaled_rcu
+  reservation_object_wait_timeout_rcu
+  reservation_ww_class
+  send_sig
+  set_page_dirty
+  shmem_file_setup
+  shmem_read_mapping_page_gfp
+  si_mem_available
+  si_meminfo
+  unmap_mapping_range
+  unregister_shrinker
+  vmalloc_to_page
+  vm_get_page_prot
+  vm_insert_mixed
+  vm_insert_pfn
+  ww_mutex_lock
+
+# required by virt_wifi.ko
+  cfg80211_connect_done
+  cfg80211_disconnected
+  cfg80211_inform_bss_data
+  cfg80211_put_bss
+  cfg80211_scan_done
+  __dev_get_by_index
+  dev_printk
+  ether_setup
+  ktime_get_with_offset
+  netdev_upper_dev_link
+  netif_stacked_transfer_operstate
+  register_netdevice
+  rtnl_link_register
+  rtnl_link_unregister
+  wiphy_free
+  wiphy_new_nm
+  wiphy_register
+  wiphy_unregister
+
+# required by virtio-gpu.ko
+  bpf_trace_run2
+  dma_fence_context_alloc
+  dma_fence_init
+  dma_fence_match_context
+  dma_fence_signal_locked
+  drm_add_edid_modes
+  drm_add_modes_noedid
+  drm_atomic_helper_check
+  drm_atomic_helper_cleanup_planes
+  drm_atomic_helper_commit
+  drm_atomic_helper_commit_hw_done
+  drm_atomic_helper_commit_modeset_disables
+  drm_atomic_helper_commit_modeset_enables
+  drm_atomic_helper_commit_planes
+  drm_atomic_helper_connector_destroy_state
+  drm_atomic_helper_connector_duplicate_state
+  drm_atomic_helper_connector_reset
+  drm_atomic_helper_crtc_destroy_state
+  drm_atomic_helper_crtc_duplicate_state
+  drm_atomic_helper_crtc_reset
+  drm_atomic_helper_disable_plane
+  drm_atomic_helper_page_flip
+  drm_atomic_helper_plane_destroy_state
+  drm_atomic_helper_plane_duplicate_state
+  drm_atomic_helper_plane_reset
+  drm_atomic_helper_set_config
+  drm_atomic_helper_shutdown
+  drm_atomic_helper_update_plane
+  drm_atomic_helper_wait_for_vblanks
+  drm_compat_ioctl
+  drm_connector_attach_edid_property
+  drm_connector_attach_encoder
+  drm_connector_cleanup
+  drm_connector_init
+  drm_connector_register
+  drm_connector_unregister
+  drm_connector_update_edid_property
+  drm_crtc_cleanup
+  drm_crtc_init_with_planes
+  drm_crtc_send_vblank_event
+  drm_cvt_mode
+  drm_dbg
+  drm_dev_alloc
+  drm_dev_put
+  drm_dev_register
+  drm_dev_set_unique
+  drm_do_get_edid
+  drm_encoder_cleanup
+  drm_encoder_init
+  drm_err
+  drm_framebuffer_init
+  drm_gem_fb_create_handle
+  drm_gem_fb_destroy
+  drm_gem_handle_create
+  drm_gem_object_init
+  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_import
+  drm_gem_prime_mmap
+  drm_global_item_ref
+  drm_global_item_unref
+  drm_helper_hpd_irq_event
+  drm_helper_mode_fill_fb_struct
+  drm_helper_probe_single_connector_modes
+  drm_ioctl
+  drm_kms_helper_hotplug_event
+  drm_mode_config_cleanup
+  drm_mode_config_init
+  drm_mode_config_reset
+  drm_mode_probed_add
+  drm_open
+  drm_plane_cleanup
+  drm_poll
+  drm_prime_pages_to_sg
+  drm_put_dev
+  drm_read
+  drm_release
+  drm_set_preferred_mode
+  drm_universal_plane_init
+  __get_task_comm
+  kmalloc_order_trace
+  kmem_cache_alloc
+  kmem_cache_create
+  kmem_cache_destroy
+  kmem_cache_free
+  memdup_user
+  put_unused_fd
+  remove_conflicting_framebuffers
+  sg_alloc_table_from_pages
+  sync_file_create
+  sync_file_get_fence
+  __tracepoint_dma_fence_emit
+
+# required by virtio-rng.ko
+  complete
+  hwrng_register
+  hwrng_unregister
+  wait_for_completion
+  wait_for_completion_killable
+
+# required by virtio.ko
+  add_uevent_var
+  device_add
+  device_initialize
+  driver_register
+  driver_unregister
+  ida_destroy
+  panic
+
+# required by virtio_blk.ko
+  __alloc_disk_node
+  blk_cleanup_queue
+  blk_execute_rq
+  blk_get_request
+  blk_mq_alloc_tag_set
+  blk_mq_complete_request
+  blk_mq_end_request
+  blk_mq_free_tag_set
+  blk_mq_init_queue
+  blk_mq_quiesce_queue
+  blk_mq_start_request
+  blk_mq_start_stopped_hw_queues
+  blk_mq_stop_hw_queue
+  blk_mq_unquiesce_queue
+  blk_put_request
+  blk_queue_alignment_offset
+  blk_queue_io_min
+  blk_queue_io_opt
+  blk_queue_logical_block_size
+  blk_queue_max_hw_sectors
+  blk_queue_max_segments
+  blk_queue_max_segment_size
+  blk_queue_physical_block_size
+  blk_queue_write_cache
+  blk_rq_map_kern
+  blk_rq_map_sg
+  blk_status_to_errno
+  del_gendisk
+  device_add_disk
+  _dev_notice
+  kobject_uevent_env
+  memmove
+  put_disk
+  register_blkdev
+  revalidate_disk
+  set_disk_ro
+  string_get_size
+  __sysfs_match_string
+  unregister_blkdev
+
+# required by virtio_crypto.ko
+  cpu_bit_bitmap
+  cpu_topology
+  crypto_ablkcipher_type
+  crypto_engine_alloc_init
+  crypto_engine_exit
+  crypto_engine_start
+  crypto_finalize_ablkcipher_request
+  crypto_register_alg
+  crypto_transfer_ablkcipher_request_to_engine
+  crypto_unregister_alg
+  kzfree
+  __ll_sc_atomic_add_return
+  scatterwalk_map_and_copy
+  sg_nents
+  sg_nents_for_len
+  try_module_get
+
+# required by virtio_input.ko
+  input_alloc_absinfo
+  input_allocate_device
+  input_event
+  input_free_device
+  input_mt_init_slots
+  input_register_device
+  input_set_abs_params
+  input_unregister_device
+
+# required by virtio_mmio.ko
+  device_for_each_child
+  devm_ioremap
+  devm_kfree
+  __devm_request_region
+  iomem_resource
+  memparse
+  platform_device_register_full
+  platform_get_irq
+  platform_get_resource
+
+# required by virtio_net.ko
+  bpf_prog_add
+  bpf_prog_put
+  bpf_prog_sub
+  bpf_warn_invalid_xdp_action
+  build_skb
+  __cpuhp_remove_state
+  __cpuhp_setup_state
+  __cpuhp_state_add_instance
+  __cpuhp_state_remove_instance
+  cpumask_next_wrap
+  eth_commit_mac_addr_change
+  eth_prepare_mac_addr_change
+  ethtool_op_get_ts_info
+  eth_type_trans
+  flow_keys_basic_dissector
+  kmemdup
+  __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
+  nf_conntrack_destroy
+  _raw_spin_trylock
+  skb_add_rx_frag
+  skb_coalesce_rx_frag
+  __skb_flow_dissect
+  skb_page_frag_refill
+  skb_partial_csum_set
+  skb_to_sgvec
+  skb_tstamp_tx
+  __sw_hweight64
+  __tracepoint_xdp_exception
+  xdp_do_flush_map
+  xdp_do_redirect
+  xdp_return_frame
+  xdp_return_frame_rx_napi
+  xdp_rxq_info_reg
+  xdp_rxq_info_reg_mem_model
+  xdp_rxq_info_unreg
+
+# required by virtio_pci.ko
+  get_device
+  irq_set_affinity_hint
+  pci_alloc_irq_vectors_affinity
+  pci_find_capability
+  pci_find_ext_capability
+  pci_find_next_capability
+  pci_free_irq_vectors
+  pci_iomap_range
+  pci_irq_get_affinity
+  pci_irq_vector
+  pci_read_config_byte
+  pci_release_selected_regions
+  pci_request_selected_regions
+
+# required by virtio_pmem.ko
+  nvdimm_bus_register
+  nvdimm_bus_unregister
+  nvdimm_pmem_region_create
+
+# required by virtio_ring.ko
+  alloc_pages_exact
+  free_pages_exact
+  kimage_voffset
+
+# required by vmw_vsock_virtio_transport_common.ko
+  bpf_trace_run10
+  bpf_trace_run8
+  cancel_delayed_work
+  _copy_from_iter_full
+  _copy_to_iter
+  trace_print_symbols_seq
+
+# required by vsock.ko
+  autoremove_wake_function
+  __module_get
+  nonseekable_open
+  prandom_u32
+  prepare_to_wait
+  proto_register
+  proto_unregister
+  __put_cred
+  _raw_write_lock_bh
+  _raw_write_unlock_bh
+  security_sock_graft
+  sk_alloc
+  skb_dequeue
+  sock_init_data
+  sock_no_accept
+  sock_no_getsockopt
+  sock_no_ioctl
+  sock_no_listen
+  sock_no_mmap
+  sock_no_sendpage
+  sock_no_setsockopt
+  sock_no_socketpair
+  sock_queue_rcv_skb
+  sock_register
+  sock_unregister
+
+# required by vsock_diag.ko
+  __netlink_dump_start
+  __nlmsg_put
+  sock_diag_register
+  sock_diag_save_cookie
+  sock_diag_unregister
+  sock_i_ino
diff --git a/abi_gki_aarch64_qcom_whitelist b/abi_gki_aarch64_qcom_whitelist
new file mode 100644
index 0000000..d90d69c
--- /dev/null
+++ b/abi_gki_aarch64_qcom_whitelist
@@ -0,0 +1,2677 @@
+[abi_whitelist]
+# commonly used symbols
+  add_timer
+  add_uevent_var
+  alarm_cancel
+  alarm_init
+  alarm_start_relative
+  alarmtimer_get_rtcdev
+  alarm_try_to_cancel
+  alloc_chrdev_region
+  alloc_netdev_mqs
+  __alloc_pages_nodemask
+  __alloc_percpu
+  __alloc_skb
+  __alloc_workqueue_key
+  __arch_copy_from_user
+  __arch_copy_to_user
+  arch_setup_dma_ops
+  arch_timer_read_ool_enabled
+  arm64_const_caps_ready
+  atomic_notifier_call_chain
+  atomic_notifier_chain_register
+  atomic_notifier_chain_unregister
+  autoremove_wake_function
+  bin2hex
+  __bitmap_clear
+  bitmap_find_next_zero_area_off
+  __bitmap_set
+  blocking_notifier_call_chain
+  blocking_notifier_chain_register
+  blocking_notifier_chain_unregister
+  bpf_trace_run1
+  bpf_trace_run2
+  bpf_trace_run3
+  bpf_trace_run4
+  bpf_trace_run5
+  bpf_trace_run6
+  bpf_trace_run7
+  bpf_trace_run8
+  bus_find_device
+  bus_for_each_dev
+  bus_register
+  bus_unregister
+  cancel_delayed_work
+  cancel_delayed_work_sync
+  cancel_work_sync
+  cdev_add
+  cdev_del
+  cdev_init
+  __check_object_size
+  __class_create
+  class_destroy
+  clk_disable
+  clk_enable
+  clk_fixed_factor_ops
+  clk_get
+  clk_get_rate
+  clk_hw_get_name
+  clk_hw_get_num_parents
+  clk_hw_get_rate
+  __clk_is_enabled
+  __clk_mux_determine_rate_closest
+  clk_prepare
+  clk_put
+  clk_round_rate
+  clk_set_flags
+  clk_set_parent
+  clk_set_rate
+  clk_sync_state
+  clk_unprepare
+  clk_unvote_vdd_level
+  clk_vote_vdd_level
+  cma_alloc
+  cma_get_base
+  cma_get_size
+  cma_release
+  compat_alloc_user_space
+  complete
+  complete_all
+  completion_done
+  component_add
+  component_bind_all
+  component_master_add_with_match
+  component_master_del
+  component_match_add_release
+  component_unbind_all
+  config_ep_by_speed
+  config_group_init_type_name
+  __const_udelay
+  consume_skb
+  contig_page_data
+  cpu_bit_bitmap
+  __cpuhp_setup_state
+  cpu_hwcap_keys
+  cpu_hwcaps
+  __cpu_isolated_mask
+  cpumask_next
+  cpu_number
+  __cpu_online_mask
+  __cpu_possible_mask
+  cpu_subsys
+  crypto_alloc_shash
+  crypto_destroy_tfm
+  crypto_shash_setkey
+  _ctype
+  debugfs_attr_read
+  debugfs_attr_write
+  debugfs_create_atomic_t
+  debugfs_create_bool
+  debugfs_create_dir
+  debugfs_create_file
+  debugfs_create_file_unsafe
+  debugfs_create_u16
+  debugfs_create_u32
+  debugfs_create_u64
+  debugfs_create_u8
+  debugfs_create_x32
+  debugfs_create_x8
+  debugfs_print_regs32
+  debugfs_remove
+  debugfs_remove_recursive
+  delayed_work_timer_fn
+  del_timer
+  del_timer_sync
+  destroy_workqueue
+  _dev_crit
+  dev_driver_string
+  _dev_err
+  devfreq_add_device
+  devfreq_add_governor
+  devfreq_interval_update
+  devfreq_monitor_resume
+  devfreq_monitor_start
+  devfreq_monitor_stop
+  devfreq_monitor_suspend
+  devfreq_recommended_opp
+  devfreq_remove_device
+  devfreq_remove_governor
+  devfreq_resume_device
+  devfreq_suspend_device
+  dev_get_regmap
+  device_add
+  device_create
+  device_create_file
+  device_del
+  device_destroy
+  device_find_child
+  device_for_each_child
+  device_initialize
+  device_init_wakeup
+  device_property_present
+  device_property_read_u32_array
+  device_register
+  device_remove_file
+  device_unregister
+  _dev_info
+  __dev_kfree_skb_any
+  devm_backlight_device_register
+  devm_clk_get
+  devm_clk_hw_register
+  devm_clk_put
+  devm_clk_register
+  devm_extcon_dev_allocate
+  devm_extcon_dev_register
+  devm_free_irq
+  devm_gpiod_get
+  devm_gpiod_get_optional
+  devm_gpio_request
+  devm_gpio_request_one
+  devm_iio_device_alloc
+  __devm_iio_device_register
+  devm_ioremap
+  devm_ioremap_nocache
+  devm_ioremap_resource
+  devm_iounmap
+  devm_kasprintf
+  devm_kfree
+  devm_kmalloc
+  devm_kmemdup
+  devm_kstrdup
+  devm_nvmem_register
+  devm_of_clk_add_hw_provider
+  devm_of_platform_populate
+  devm_phy_get
+  devm_pinctrl_get
+  devm_pinctrl_put
+  devm_pinctrl_register
+  devm_power_supply_register
+  __devm_regmap_init
+  __devm_regmap_init_i2c
+  __devm_regmap_init_mmio_clk
+  devm_regulator_bulk_get
+  devm_regulator_get
+  devm_regulator_get_optional
+  devm_regulator_put
+  devm_regulator_register
+  __devm_request_region
+  devm_request_threaded_irq
+  __devm_reset_control_get
+  devm_reset_controller_register
+  devm_snd_soc_register_component
+  devm_thermal_zone_of_sensor_register
+  devm_usb_get_phy_by_phandle
+  dev_pm_opp_add
+  dev_pm_opp_find_freq_ceil
+  dev_pm_opp_find_freq_floor
+  dev_pm_opp_get_opp_count
+  dev_pm_opp_get_voltage
+  dev_pm_opp_of_add_table
+  dev_pm_opp_put
+  dev_set_name
+  _dev_warn
+  disable_irq
+  disable_irq_nosync
+  dma_alloc_from_dev_coherent
+  dma_buf_attach
+  dma_buf_begin_cpu_access
+  dma_buf_begin_cpu_access_partial
+  dma_buf_detach
+  dma_buf_end_cpu_access
+  dma_buf_end_cpu_access_partial
+  dma_buf_fd
+  dma_buf_get
+  dma_buf_get_flags
+  dma_buf_kmap
+  dma_buf_kunmap
+  dma_buf_map_attachment
+  dma_buf_put
+  dma_buf_unmap_attachment
+  dma_buf_vmap
+  dma_buf_vunmap
+  dma_common_get_sgtable
+  dma_common_mmap
+  dma_contiguous_default_area
+  dma_fence_context_alloc
+  dma_fence_default_wait
+  dma_fence_init
+  dma_fence_release
+  dma_fence_signal
+  dma_fence_signal_locked
+  __dma_flush_area
+  __dma_inv_area
+  dma_release_from_dev_coherent
+  dma_request_slave_channel
+  do_exit
+  down_read
+  down_write
+  drain_workqueue
+  driver_register
+  driver_unregister
+  drm_panel_notifier_register
+  drm_panel_notifier_unregister
+  dst_release
+  dummy_dma_ops
+  __dynamic_dev_dbg
+  __dynamic_pr_debug
+  enable_irq
+  ether_setup
+  eth_type_trans
+  event_triggers_call
+  extcon_get_edev_by_phandle
+  extcon_get_state
+  extcon_register_blocking_notifier
+  extcon_register_notifier
+  extcon_set_property
+  extcon_set_property_capability
+  extcon_set_state_sync
+  fd_install
+  find_get_pid
+  find_last_bit
+  find_next_bit
+  find_next_zero_bit
+  find_vma
+  finish_wait
+  flush_delayed_work
+  flush_work
+  flush_workqueue
+  fput
+  free_irq
+  free_netdev
+  __free_pages
+  free_pages
+  free_percpu
+  freezing_slow_path
+  fwnode_property_read_u32_array
+  gcd
+  generic_file_llseek
+  generic_handle_irq
+  geni_abort_m_cmd
+  geni_cancel_m_cmd
+  geni_se_dump_dbg_regs
+  geni_se_init
+  geni_se_iommu_map_buf
+  geni_se_iommu_unmap_buf
+  geni_se_resources_init
+  geni_se_rx_dma_prep
+  geni_se_rx_dma_unprep
+  geni_se_select_mode
+  geni_setup_m_cmd
+  geni_se_tx_dma_prep
+  geni_se_tx_dma_unprep
+  geni_write_reg
+  genlmsg_put
+  gen_pool_add_virt
+  gen_pool_alloc
+  gen_pool_create
+  gen_pool_destroy
+  gen_pool_free
+  get_cpu_device
+  get_device
+  __get_free_pages
+  get_pid_task
+  get_random_bytes
+  get_se_proto
+  __get_task_comm
+  get_tx_fifo_depth
+  get_unused_fd_flags
+  gpiochip_add_data_with_key
+  gpiochip_add_pin_range
+  gpiochip_generic_free
+  gpiochip_generic_request
+  gpiochip_get_data
+  gpiochip_remove
+  gpiod_direction_input
+  gpiod_direction_output
+  gpiod_direction_output_raw
+  gpiod_get_raw_value
+  gpiod_get_raw_value_cansleep
+  gpiod_get_value
+  gpiod_set_raw_value
+  gpiod_set_value
+  gpiod_set_value_cansleep
+  gpiod_to_irq
+  gpio_free
+  gpio_request
+  gpio_request_one
+  gpio_to_desc
+  handle_edge_irq
+  handle_level_irq
+  handle_nested_irq
+  hex2bin
+  hex_dump_to_buffer
+  hrtimer_active
+  hrtimer_cancel
+  hrtimer_forward
+  hrtimer_init
+  hrtimer_start_range_ns
+  i2c_del_driver
+  i2c_register_driver
+  i2c_transfer
+  i2c_transfer_buffer_flags
+  ida_alloc_range
+  ida_free
+  idr_alloc
+  idr_alloc_cyclic
+  idr_destroy
+  idr_find
+  idr_get_next
+  idr_preload
+  idr_remove
+  iio_channel_get
+  iio_read_channel_processed
+  init_dummy_netdev
+  init_net
+  __init_rwsem
+  init_timer_key
+  init_wait_entry
+  __init_waitqueue_head
+  input_allocate_device
+  input_close_device
+  input_event
+  input_free_device
+  input_mt_init_slots
+  input_mt_report_slot_state
+  input_open_device
+  input_register_device
+  input_register_handle
+  input_register_handler
+  input_set_abs_params
+  input_set_capability
+  input_set_timestamp
+  input_unregister_device
+  input_unregister_handle
+  input_unregister_handler
+  int_sqrt
+  iomem_resource
+  iommu_attach_device
+  iommu_detach_device
+  iommu_domain_alloc
+  iommu_domain_free
+  iommu_domain_get_attr
+  iommu_domain_set_attr
+  iommu_get_domain_for_dev
+  iommu_map
+  iommu_map_sg
+  iommu_present
+  iommu_set_fault_handler
+  iommu_unmap
+  __ioremap
+  __iounmap
+  ipc_log_context_create
+  ipc_log_context_destroy
+  ipc_log_string
+  ip_route_output_flow
+  __ipv6_addr_type
+  irq_chip_disable_parent
+  irq_chip_enable_parent
+  irq_chip_eoi_parent
+  irq_chip_mask_parent
+  irq_chip_set_affinity_parent
+  irq_chip_set_parent_state
+  irq_chip_set_type_parent
+  irq_chip_set_vcpu_affinity_parent
+  irq_chip_unmask_parent
+  __irq_domain_add
+  irq_domain_alloc_irqs_parent
+  irq_domain_remove
+  irq_domain_set_hwirq_and_chip
+  irq_find_mapping
+  irq_find_matching_fwspec
+  irq_get_irq_data
+  irq_modify_status
+  irq_of_parse_and_map
+  irq_set_chip_and_handler_name
+  irq_set_chip_data
+  irq_set_irq_type
+  irq_set_irq_wake
+  irq_to_desc
+  jiffies
+  jiffies_to_msecs
+  jiffies_to_usecs
+  kasprintf
+  kernel_connect
+  kernel_kobj
+  kernfs_find_and_get_ns
+  kfree
+  kfree_skb
+  kimage_voffset
+  __kmalloc
+  kmalloc_caches
+  kmalloc_order_trace
+  kmem_cache_alloc
+  kmem_cache_alloc_trace
+  kmem_cache_create
+  kmem_cache_create_usercopy
+  kmem_cache_destroy
+  kmem_cache_free
+  kmemdup
+  kobject_create_and_add
+  kobject_del
+  kobject_init_and_add
+  kobject_put
+  kobject_uevent
+  kobject_uevent_env
+  krealloc
+  kset_find_obj
+  ksize
+  kstrdup
+  kstrndup
+  kstrtobool
+  kstrtoint
+  kstrtoll
+  kstrtos8
+  kstrtos8_from_user
+  kstrtou16
+  kstrtou8
+  kstrtou8_from_user
+  kstrtouint
+  kstrtouint_from_user
+  kstrtoull
+  kthread_cancel_work_sync
+  kthread_create_on_node
+  kthread_flush_worker
+  __kthread_init_worker
+  kthread_queue_work
+  kthread_should_stop
+  kthread_stop
+  kthread_worker_fn
+  ktime_get
+  ktime_get_coarse_real_ts64
+  ktime_get_real_ts64
+  ktime_get_with_offset
+  kvfree
+  kvmalloc_node
+  kzfree
+  led_classdev_unregister
+  __list_add_valid
+  __list_del_entry_valid
+  list_sort
+  __local_bh_disable_ip
+  __local_bh_enable_ip
+  lock_sock_nested
+  mbox_client_txdone
+  mbox_controller_register
+  mbox_controller_unregister
+  mbox_free_channel
+  mbox_request_channel
+  mbox_send_message
+  _mcount
+  media_device_init
+  __media_device_register
+  media_device_unregister
+  media_entity_pads_init
+  memchr
+  memcmp
+  memcpy
+  __memcpy_fromio
+  __memcpy_toio
+  memdup_user
+  memmove
+  memremap
+  memset
+  __memset_io
+  memstart_addr
+  memzero_explicit
+  __might_fault
+  __might_sleep
+  misc_deregister
+  misc_register
+  mod_delayed_work_on
+  mod_node_page_state
+  mod_timer
+  module_kset
+  module_layout
+  module_put
+  __msecs_to_jiffies
+  msleep
+  msleep_interruptible
+  __mutex_init
+  mutex_lock
+  mutex_lock_interruptible
+  mutex_trylock
+  mutex_unlock
+  napi_complete_done
+  napi_disable
+  napi_gro_flush
+  napi_gro_receive
+  __napi_schedule
+  napi_schedule_prep
+  __netdev_alloc_skb
+  netif_carrier_off
+  netif_carrier_on
+  netif_napi_add
+  netif_napi_del
+  netif_receive_skb
+  netif_rx
+  netif_rx_ni
+  netif_tx_wake_queue
+  netlink_unicast
+  net_ratelimit
+  nf_register_net_hooks
+  nf_unregister_net_hooks
+  nla_memcpy
+  nla_put
+  __nlmsg_put
+  no_llseek
+  nonseekable_open
+  nr_cpu_ids
+  ns_capable
+  ns_to_timespec
+  nvmem_cell_get
+  nvmem_cell_put
+  nvmem_cell_read
+  nvmem_cell_read_u32
+  nvmem_device_read
+  nvmem_device_write
+  of_address_to_resource
+  of_alias_get_id
+  of_clk_add_provider
+  of_clk_get
+  of_clk_src_onecell_get
+  of_count_phandle_with_args
+  of_device_get_match_data
+  of_device_is_available
+  of_device_is_compatible
+  of_dma_configure
+  of_drm_find_panel
+  of_fdt_get_ddrtype
+  of_find_compatible_node
+  of_find_device_by_node
+  of_find_node_by_name
+  of_find_node_opts_by_path
+  of_find_node_with_property
+  of_find_property
+  of_fwnode_ops
+  of_genpd_del_provider
+  of_get_address
+  of_get_child_by_name
+  of_get_cpu_node
+  of_get_named_gpio_flags
+  of_get_next_available_child
+  of_get_next_child
+  of_get_parent
+  of_get_property
+  of_get_regulator_init_data
+  of_graph_get_remote_node
+  of_iomap
+  of_irq_get
+  of_irq_get_byname
+  of_led_classdev_register
+  of_machine_is_compatible
+  of_match_device
+  of_match_node
+  of_modalias_node
+  of_parse_phandle
+  of_parse_phandle_with_args
+  of_parse_phandle_with_fixed_args
+  of_platform_depopulate
+  of_platform_device_create
+  of_platform_populate
+  of_property_count_elems_of_size
+  of_property_match_string
+  of_property_read_string
+  of_property_read_string_helper
+  of_property_read_u32_index
+  of_property_read_u64
+  of_property_read_variable_u32_array
+  of_property_read_variable_u8_array
+  of_prop_next_string
+  of_thermal_handle_trip
+  of_thermal_handle_trip_temp
+  of_translate_address
+  panic
+  panic_notifier_list
+  param_get_int
+  param_ops_bool
+  param_ops_charp
+  param_ops_int
+  param_ops_long
+  param_ops_string
+  param_ops_uint
+  param_set_bool
+  param_set_int
+  pci_bus_type
+  pci_set_master
+  __per_cpu_offset
+  perf_trace_buf_alloc
+  perf_trace_run_bpf_submit
+  pfn_valid
+  phy_exit
+  phy_init
+  phy_power_off
+  phy_power_on
+  pinconf_generic_dt_node_to_map
+  pinctrl_dev_get_drvdata
+  pinctrl_lookup_state
+  pinctrl_select_state
+  pinctrl_utils_free_map
+  platform_bus_type
+  platform_device_add
+  platform_device_add_data
+  platform_device_add_properties
+  platform_device_add_resources
+  platform_device_alloc
+  platform_device_put
+  platform_device_register_full
+  platform_device_unregister
+  __platform_driver_register
+  platform_driver_unregister
+  platform_get_irq
+  platform_get_irq_byname
+  platform_get_resource
+  platform_get_resource_byname
+  platform_irq_count
+  plist_add
+  pm_generic_resume
+  pm_generic_suspend
+  pm_genpd_init
+  pm_power_off
+  pm_qos_add_request
+  pm_qos_remove_request
+  pm_qos_request_active
+  pm_qos_update_request
+  pm_qos_update_request_timeout
+  __pm_relax
+  pm_relax
+  pm_runtime_allow
+  __pm_runtime_disable
+  pm_runtime_enable
+  pm_runtime_forbid
+  __pm_runtime_idle
+  pm_runtime_no_callbacks
+  __pm_runtime_resume
+  pm_runtime_set_autosuspend_delay
+  __pm_runtime_set_status
+  __pm_runtime_suspend
+  __pm_runtime_use_autosuspend
+  __pm_stay_awake
+  pm_stay_awake
+  pm_wakeup_dev_event
+  pm_wakeup_ws_event
+  power_kobj
+  power_supply_changed
+  power_supply_get_by_name
+  power_supply_get_drvdata
+  power_supply_get_property
+  power_supply_put
+  power_supply_reg_notifier
+  power_supply_set_property
+  power_supply_unreg_notifier
+  preempt_schedule
+  preempt_schedule_notrace
+  prepare_to_wait_event
+  print_hex_dump
+  printk
+  proc_dointvec
+  proc_mkdir_data
+  pskb_expand_head
+  __pskb_pull_tail
+  put_device
+  __put_page
+  put_pid
+  __put_task_struct
+  put_unused_fd
+  qcom_smem_state_get
+  qcom_smem_state_update_bits
+  qmi_add_lookup
+  qmi_add_server
+  qmi_handle_init
+  qmi_handle_release
+  qmi_response_type_v01_ei
+  qmi_send_indication
+  qmi_send_request
+  qmi_send_response
+  qmi_txn_cancel
+  qmi_txn_init
+  qmi_txn_wait
+  queue_delayed_work_on
+  queue_work_on
+  ___ratelimit
+  _raw_read_lock
+  _raw_read_lock_bh
+  _raw_read_unlock
+  _raw_read_unlock_bh
+  _raw_spin_lock
+  _raw_spin_lock_bh
+  _raw_spin_lock_irq
+  _raw_spin_lock_irqsave
+  _raw_spin_trylock_bh
+  _raw_spin_unlock
+  _raw_spin_unlock_bh
+  _raw_spin_unlock_irq
+  _raw_spin_unlock_irqrestore
+  _raw_write_lock
+  _raw_write_lock_bh
+  _raw_write_unlock
+  _raw_write_unlock_bh
+  rb_erase
+  rb_first
+  rb_insert_color
+  rb_next
+  __rcu_read_lock
+  __rcu_read_unlock
+  rdev_get_drvdata
+  refcount_add_checked
+  refcount_dec_and_test_checked
+  refcount_dec_checked
+  refcount_inc_checked
+  refcount_inc_not_zero_checked
+  refcount_sub_and_test_checked
+  __refrigerator
+  regcache_cache_only
+  regcache_mark_dirty
+  regcache_sync
+  regcache_sync_region
+  __register_chrdev
+  register_inet6addr_notifier
+  register_inetaddr_notifier
+  register_netdev
+  register_netdevice
+  register_netdevice_notifier
+  register_net_sysctl
+  register_pernet_subsys
+  register_pm_notifier
+  register_shrinker
+  register_syscore_ops
+  regmap_bulk_read
+  regmap_bulk_write
+  __regmap_init
+  regmap_multi_reg_write
+  regmap_raw_read
+  regmap_read
+  regmap_update_bits_base
+  regmap_write
+  regulator_bulk_disable
+  regulator_count_voltages
+  regulator_disable
+  regulator_enable
+  regulator_get
+  regulator_is_enabled
+  regulator_put
+  regulator_set_load
+  regulator_set_mode
+  regulator_set_voltage
+  regulator_sync_state
+  release_firmware
+  release_sock
+  remap_pfn_range
+  remove_proc_entry
+  request_firmware
+  request_firmware_into_buf
+  request_firmware_nowait
+  request_threaded_irq
+  reset_control_assert
+  reset_control_deassert
+  rtc_time64_to_tm
+  rtc_tm_to_time64
+  rtc_valid_tm
+  rt_mutex_lock
+  rt_mutex_unlock
+  rtnl_is_locked
+  rtnl_unlock
+  saved_command_line
+  sched_clock
+  sched_setscheduler
+  schedule
+  schedule_timeout
+  scnprintf
+  se_config_packing
+  se_geni_clks_off
+  se_geni_resources_off
+  se_geni_resources_on
+  seq_hex_dump
+  seq_lseek
+  seq_open
+  seq_printf
+  seq_putc
+  seq_puts
+  seq_read
+  seq_release
+  seq_write
+  set_normalized_timespec
+  set_user_nice
+  sg_alloc_table
+  sg_free_table
+  sg_init_one
+  sg_init_table
+  sg_next
+  __sg_page_iter_next
+  __sg_page_iter_start
+  simple_attr_open
+  simple_attr_read
+  simple_attr_release
+  simple_attr_write
+  simple_open
+  simple_read_from_buffer
+  simple_write_to_buffer
+  single_open
+  single_release
+  skb_add_rx_frag
+  skb_clone
+  skb_copy
+  skb_copy_bits
+  skb_copy_expand
+  skb_dequeue
+  skb_pull
+  skb_push
+  skb_put
+  skb_queue_tail
+  skb_trim
+  snd_ctl_boolean_mono_info
+  snd_hwdep_new
+  snd_info_create_card_entry
+  snd_info_create_subdir
+  snd_info_free_entry
+  snd_info_register
+  snd_pcm_format_width
+  snd_pcm_hw_constraint_list
+  snd_pcm_period_elapsed
+  snd_soc_add_component_controls
+  snd_soc_bytes_tlv_callback
+  snd_soc_component_init_regmap
+  snd_soc_component_read32
+  snd_soc_component_update_bits
+  snd_soc_component_write
+  snd_soc_dapm_add_routes
+  snd_soc_dapm_get_enum_double
+  snd_soc_dapm_get_volsw
+  snd_soc_dapm_ignore_suspend
+  snd_soc_dapm_kcontrol_widget
+  snd_soc_dapm_mixer_update_power
+  snd_soc_dapm_mux_update_power
+  snd_soc_dapm_new_controls
+  snd_soc_dapm_new_widgets
+  snd_soc_dapm_put_enum_double
+  snd_soc_dapm_put_volsw
+  snd_soc_dapm_sync
+  snd_soc_get_volsw
+  snd_soc_get_volsw_sx
+  snd_soc_info_enum_double
+  snd_soc_info_multi_ext
+  snd_soc_info_volsw
+  snd_soc_info_volsw_sx
+  snd_soc_put_volsw
+  snd_soc_put_volsw_sx
+  snd_soc_register_component
+  snd_soc_rtdcom_lookup
+  snd_soc_unregister_component
+  snprintf
+  sock_create
+  sock_release
+  sort
+  __spi_register_driver
+  spi_setup
+  spi_sync
+  sprintf
+  sprint_symbol
+  srcu_init_notifier_head
+  srcu_notifier_call_chain
+  srcu_notifier_chain_register
+  srcu_notifier_chain_unregister
+  sscanf
+  __stack_chk_fail
+  __stack_chk_guard
+  strcasecmp
+  strchr
+  strcmp
+  strcpy
+  strim
+  strlcat
+  strlcpy
+  strlen
+  strncasecmp
+  strnchr
+  strncmp
+  strncpy
+  strnlen
+  strnstr
+  strpbrk
+  strrchr
+  strsep
+  __sw_hweight32
+  __sw_hweight64
+  __sw_hweight8
+  __symbol_get
+  __symbol_put
+  sync_file_create
+  sync_file_get_fence
+  synchronize_irq
+  syscon_node_to_regmap
+  sysfs_create_file_ns
+  sysfs_create_files
+  sysfs_create_group
+  sysfs_create_groups
+  sysfs_create_link
+  sysfs_notify
+  sysfs_remove_file_ns
+  sysfs_remove_group
+  sysfs_remove_groups
+  sysfs_streq
+  system_freezing_cnt
+  system_highpri_wq
+  system_long_wq
+  system_unbound_wq
+  system_wq
+  sys_tz
+  __tasklet_hi_schedule
+  tasklet_init
+  tasklet_kill
+  __tasklet_schedule
+  tbn_cleanup
+  tbn_init
+  tbn_release_bus
+  tbn_request_bus
+  thermal_cdev_update
+  thermal_cooling_device_unregister
+  thermal_of_cooling_device_register
+  thermal_zone_device_update
+  thermal_zone_get_temp
+  thermal_zone_get_zone_by_name
+  thermal_zone_of_sensor_register
+  thermal_zone_of_sensor_unregister
+  timer_unstable_counter_workaround
+  totalram_pages
+  __trace_bprintk
+  trace_define_field
+  trace_event_buffer_commit
+  trace_event_buffer_reserve
+  trace_event_ignore_this_pid
+  trace_event_raw_init
+  trace_event_reg
+  trace_handle_return
+  trace_hardirqs_off
+  trace_hardirqs_on
+  trace_print_flags_seq
+  trace_raw_output_prep
+  trace_seq_printf
+  try_module_get
+  typec_register_partner
+  typec_register_port
+  typec_set_data_role
+  typec_set_pwr_role
+  typec_unregister_partner
+  __udelay
+  uncached_logk
+  __unregister_chrdev
+  unregister_chrdev_region
+  unregister_inet6addr_notifier
+  unregister_inetaddr_notifier
+  unregister_netdev
+  unregister_netdevice_notifier
+  unregister_netdevice_queue
+  unregister_net_sysctl_table
+  unregister_pernet_subsys
+  unregister_pm_notifier
+  update_devfreq
+  up_read
+  up_write
+  usb_add_phy_dev
+  usb_assign_descriptors
+  usb_ep_alloc_request
+  usb_ep_autoconfig
+  usb_ep_disable
+  usb_ep_enable
+  usb_ep_free_request
+  usb_ep_queue
+  usb_free_all_descriptors
+  usb_function_register
+  usb_function_unregister
+  usb_gadget_wakeup
+  usb_get_dr_mode
+  usb_interface_id
+  usb_put_function_instance
+  usb_remove_phy
+  usb_string_id
+  __usecs_to_jiffies
+  usleep_range
+  v4l2_device_register
+  v4l2_device_unregister
+  v4l2_event_pending
+  v4l2_event_queue
+  v4l2_event_subscribe
+  v4l2_event_unsubscribe
+  v4l2_fh_open
+  v4l2_fh_release
+  vb2_buffer_done
+  vb2_queue_init
+  vfree
+  video_devdata
+  video_device_alloc
+  video_device_release
+  video_ioctl2
+  __video_register_device
+  video_unregister_device
+  vmalloc
+  vmalloc_to_page
+  vmap
+  vm_mmap
+  vm_munmap
+  vscnprintf
+  vsnprintf
+  vunmap
+  vzalloc
+  wait_for_completion
+  wait_for_completion_interruptible
+  wait_for_completion_interruptible_timeout
+  wait_for_completion_timeout
+  __wake_up
+  wake_up_process
+  wakeup_source_add
+  wakeup_source_drop
+  wakeup_source_prepare
+  wakeup_source_register
+  wakeup_source_remove
+  wakeup_source_unregister
+  __warn_printk
+  work_busy
+
+# required by adc_tm.ko
+  iio_channel_get_all
+
+# required by adsprpc.ko
+  try_wait_for_completion
+  vfs_statx
+
+# required by apr_dlkm.ko
+  strstr
+
+# required by arm-memlat-mon.ko
+  perf_event_create_kernel_counter
+  perf_event_enable
+  perf_event_read_value
+  perf_event_release_kernel
+
+# required by arm-smmu.ko
+  alloc_io_pgtable_ops
+  alloc_pages_exact
+  amba_bustype
+  bus_set_iommu
+  device_link_add
+  device_link_del
+  _dev_notice
+  driver_find_device
+  driver_for_each_device
+  fast_smmu_put_dma_cookie
+  free_io_pgtable_ops
+  free_pages_exact
+  generic_device_group
+  iommu_alloc_resv_region
+  iommu_debugfs_top
+  iommu_device_register
+  iommu_dma_get_resv_regions
+  iommu_fwspec_add_ids
+  iommu_fwspec_free
+  iommu_fwspec_init
+  iommu_group_get
+  iommu_group_get_for_dev
+  iommu_group_get_iommudata
+  iommu_group_put
+  iommu_group_ref_get
+  iommu_group_remove_device
+  iommu_group_set_iommudata
+  iommu_put_dma_cookie
+  kstrtoull_from_user
+  of_dma_is_coherent
+  of_phandle_iterator_args
+  of_phandle_iterator_init
+  of_phandle_iterator_next
+  pci_device_group
+  pci_for_each_dma_alias
+  pci_request_acs
+  regulator_disable_deferred
+  report_iommu_fault
+  __tracepoint_smmu_init
+  __tracepoint_tlbi_end
+  __tracepoint_tlbi_start
+  __tracepoint_tlbsync_timeout
+
+# required by at24.ko
+  i2c_match_id
+  i2c_new_dummy
+  i2c_unregister_device
+
+# required by bluetooth_power.ko
+  rfkill_alloc
+  rfkill_destroy
+  rfkill_init_sw_state
+  rfkill_register
+  rfkill_unregister
+
+# required by br_netfilter.ko
+  br_dev_queue_push_xmit
+  br_forward_finish
+  br_handle_frame_finish
+  ip_do_fragment
+  ip_route_input_noref
+  neigh_destroy
+  nf_br_ops
+  nf_hook_slow
+  nf_ipv6_ops
+  pskb_trim_rcsum_slow
+  skb_pull_rcsum
+
+# required by cam-sync.ko
+  media_device_cleanup
+  platform_device_register
+
+# required by cam_cci.ko
+  down
+  up
+  video_usercopy
+
+# required by cam_ife_csid.ko
+  ns_to_timespec64
+
+# required by cam_req_mgr.ko
+  v4l2_device_register_subdev
+  v4l2_device_register_subdev_nodes
+  v4l2_device_unregister_subdev
+  v4l2_subdev_fops
+  v4l2_subdev_init
+
+# required by cam_res_mgr.ko
+  gpiod_set_raw_value_cansleep
+  led_trigger_event
+  led_trigger_register_simple
+  led_trigger_unregister_simple
+
+# required by cam_utils.ko
+  gpio_free_array
+  of_clk_get_from_provider
+  __release_region
+  __request_region
+
+# required by citadel-spi.ko
+  spi_bus_lock
+  spi_bus_unlock
+  spi_sync_locked
+
+# required by clk-qcom.ko
+  clk_aggregate_rate
+  clk_debug_print_hw
+  __clk_determine_rate
+  clk_fixed_rate_ops
+  clk_hw_get_flags
+  clk_hw_get_parent
+  clk_hw_get_parent_by_index
+  clk_hw_is_enabled
+  clk_hw_is_prepared
+  clk_hw_round_rate
+  clk_unvote_rate_vdd
+  clk_vote_rate_vdd
+  devm_add_action
+  divider_get_val
+  divider_recalc_rate
+  divider_ro_round_rate_parent
+  divider_round_rate_parent
+  of_genpd_add_provider_onecell
+  pm_genpd_add_subdomain
+  pm_genpd_remove_subdomain
+  rational_best_approximation
+  regulator_get_drvdata
+  syscon_regmap_lookup_by_phandle
+
+# required by clk-spmi-pmic-div.ko
+  __ndelay
+  of_clk_get_parent_name
+
+# required by cmd-db.ko
+  of_reserved_mem_lookup
+
+# required by cpu_isolate.ko
+  device_online
+  sched_isolate_cpu
+  sched_unisolate_cpu
+  sched_unisolate_cpu_unlocked
+
+# required by ddr_stats.ko
+  arch_timer_get_rate
+
+# required by devfreq_devbw.ko
+  dev_pm_opp_set_supported_hw
+
+# required by devfreq_qcom_fw.ko
+  devm_devfreq_add_device
+  dev_pm_opp_remove_table
+
+# required by diagchar.ko
+  cdev_alloc
+  crc_ccitt
+  crc_ccitt_table
+  kernel_getsockname
+  kernel_recvmsg
+  kernel_restart
+  kernel_sendmsg
+  kernel_setsockopt
+  mempool_alloc
+  mempool_create
+  mempool_destroy
+  mempool_free
+  mempool_kfree
+  mempool_kmalloc
+  send_sig_info
+  time64_to_tm
+
+# required by dm-default-key.ko
+  bio_crypt_alloc_ctx
+  blk_crypto_evict_key
+  blk_crypto_init_key
+  dm_get_device
+  dm_put_device
+  dm_read_arg_group
+  dm_register_target
+  dm_shift_arg
+  dm_table_get_mode
+  dm_unregister_target
+
+# required by dwc3-haps.ko
+  pcim_enable_device
+  __pci_register_driver
+  pci_unregister_driver
+
+# required by dwc3-of-simple.ko
+  of_reset_control_array_get
+  reset_control_put
+  reset_control_reset
+
+# required by dwc3-qcom.ko
+  devm_extcon_register_notifier
+  devm_reset_control_array_get
+
+# required by dwc3.ko
+  clk_bulk_disable
+  clk_bulk_enable
+  clk_bulk_get
+  clk_bulk_prepare
+  clk_bulk_put
+  clk_bulk_unprepare
+  device_property_read_string
+  device_property_read_u8_array
+  devm_usb_get_phy
+  extcon_find_edev_by_node
+  extcon_unregister_notifier
+  of_usb_get_phy_mode
+  phy_create_lookup
+  phy_pm_runtime_get_sync
+  phy_pm_runtime_put_sync
+  phy_remove_lookup
+  phy_set_mode
+  pinctrl_pm_select_default_state
+  pinctrl_pm_select_sleep_state
+  strcat
+  system_freezable_wq
+  usb_add_gadget_udc
+  usb_del_gadget_udc
+  usb_ep_set_maxpacket_limit
+  usb_gadget_giveback_request
+  usb_gadget_map_request_by_dev
+  usb_gadget_set_state
+  usb_gadget_udc_reset
+  usb_gadget_unmap_request_by_dev
+  usb_gadget_vbus_draw
+  usb_get_maximum_speed
+
+# required by early_random.ko
+  add_hwgenerator_randomness
+
+# required by ebtable_broute.ko
+  br_should_route_hook
+  synchronize_net
+
+# required by ebtables.ko
+  audit_enabled
+  audit_log
+  nf_register_sockopt
+  nf_unregister_sockopt
+  __request_module
+  strscpy
+  __vmalloc
+  xt_check_match
+  xt_check_target
+  xt_compat_add_offset
+  xt_compat_calc_jump
+  xt_compat_flush_offsets
+  xt_compat_init_offsets
+  xt_compat_lock
+  xt_compat_match_offset
+  xt_compat_target_offset
+  xt_compat_unlock
+  xt_data_to_user
+  xt_find_match
+  xt_register_target
+  xt_request_find_match
+  xt_request_find_target
+  xt_unregister_target
+
+# required by eud.ko
+  tty_flip_buffer_push
+  uart_add_one_port
+  uart_insert_char
+  uart_register_driver
+  uart_remove_one_port
+  uart_unregister_driver
+
+# required by fsa4480-i2c.ko
+  of_find_i2c_device_by_node
+
+# required by ftm5.ko
+  proc_create
+
+# required by google-battery.ko
+  simple_strtoull
+
+# required by google-bms.ko
+  full_name_hash
+
+# required by governor_bw_hwmon.ko
+  argv_free
+  argv_split
+  __tracepoint_bw_hwmon_meas
+  __tracepoint_bw_hwmon_update
+
+# required by governor_memlat.ko
+  __tracepoint_memlat_dev_meas
+  __tracepoint_memlat_dev_update
+
+# required by gpi.ko
+  dma_async_device_register
+  dma_async_tx_descriptor_init
+  dma_get_slave_channel
+  of_dma_controller_register
+  _raw_read_lock_irqsave
+  _raw_read_unlock_irqrestore
+  _raw_write_lock_irq
+  _raw_write_unlock_irq
+
+# required by heatmap.ko
+  vb2_fop_mmap
+  vb2_fop_poll
+  vb2_fop_read
+  vb2_fop_release
+  vb2_ioctl_create_bufs
+  vb2_ioctl_dqbuf
+  vb2_ioctl_expbuf
+  vb2_ioctl_qbuf
+  vb2_ioctl_querybuf
+  vb2_ioctl_reqbufs
+  vb2_ioctl_streamoff
+  vb2_ioctl_streamon
+  vb2_ops_wait_finish
+  vb2_ops_wait_prepare
+  vb2_plane_vaddr
+  vb2_vmalloc_memops
+  video_device_release_empty
+
+# required by i2c-qcom-geni.ko
+  i2c_add_adapter
+  i2c_del_adapter
+  i2c_get_dma_safe_msg_buf
+  i2c_put_dma_safe_msg_buf
+
+# required by ion-alloc.ko
+  dentry_path
+  dma_buf_export
+  dma_get_device_base
+  dma_get_size
+  __next_zones_zonelist
+  sched_setattr
+  split_page
+  vm_map_ram
+  vm_unmap_ram
+  zone_watermark_ok_safe
+
+# required by ipa3.ko
+  add_wait_queue
+  alloc_etherdev_mqs
+  eth_mac_addr
+  pci_clear_master
+  pci_disable_device
+  pci_enable_device
+  pci_release_region
+  pci_request_region
+  remove_wait_queue
+  vm_iomap_memory
+  wait_woken
+  woken_wake_function
+
+# required by lcd.ko
+  devres_add
+  devres_alloc_node
+  devres_free
+  devres_release
+  fb_register_client
+  fb_unregister_client
+
+# required by lkdtm.ko
+  access_process_vm
+  __flush_icache_range
+  force_sig
+  kgdb_connected
+  kick_all_cpus_sync
+  refcount_add_not_zero_checked
+  register_kprobe
+  unregister_kprobe
+
+# required by lpm-stats.ko
+  kobject_get
+  module_ktype
+  on_each_cpu
+
+# required by machine_dlkm.ko
+  devm_snd_soc_register_card
+  snd_soc_card_change_online_state
+  snd_soc_component_set_sysclk
+  snd_soc_dai_get_channel_map
+  snd_soc_dai_set_channel_map
+  snd_soc_dai_set_fmt
+  snd_soc_dai_set_pll
+  snd_soc_dai_set_sysclk
+  snd_soc_dai_set_tdm_slot
+  snd_soc_of_get_dai_link_codecs
+  snd_soc_of_parse_audio_routing
+  snd_soc_of_parse_card_name
+  snd_soc_pm_ops
+  snd_soc_unregister_card
+  soc_find_component
+
+# required by mbhc_dlkm.ko
+  snd_jack_set_key
+  snd_soc_card_jack_new
+  snd_soc_jack_report
+
+# required by mem-offline.ko
+  add_memory
+  bootloader_memory_limit
+  create_pgtable_mapping
+  init_mm
+  max_pfn
+  memblock_end_of_DRAM
+  memory_block_size_bytes
+  register_memory_notifier
+  set_memory_valid
+
+# required by minidump_log.ko
+  __bss_stop
+  log_buf_addr_get
+  log_buf_len_get
+  __per_cpu_end
+  per_cpu_ptr_to_phys
+  __per_cpu_start
+  _sdata
+  vendor_panic_cb
+
+# required by msm-poweroff.ko
+  arm_pm_restart
+  flush_cache_all
+  kimage_vaddr
+  register_die_notifier
+
+# required by msm-vidc.ko
+  v4l2_ctrl_find
+  v4l2_ctrl_get_name
+  v4l2_ctrl_handler_free
+  v4l2_ctrl_handler_init_class
+  __v4l2_ctrl_modify_range
+  v4l2_ctrl_new_custom
+  v4l2_ctrl_new_std
+  v4l2_ctrl_new_std_menu
+  __v4l2_ctrl_s_ctrl
+  v4l2_event_dequeue
+  v4l2_event_queue_fh
+  v4l2_fh_add
+  v4l2_fh_del
+  v4l2_fh_exit
+  v4l2_fh_init
+  v4l2_s_ctrl
+  vb2_dqbuf
+  vb2_qbuf
+  vb2_queue_release
+  vb2_reqbufs
+  vb2_streamoff
+  vb2_streamon
+
+# required by msm_adreno.ko
+  bpf_trace_run10
+  _cleanup_srcu_struct
+  __clk_get_name
+  debugfs_lookup
+  devfreq_cooling_unregister
+  device_show_int
+  device_store_int
+  dev_pm_opp_disable
+  dev_pm_opp_find_freq_exact
+  dev_pm_opp_register_notifier
+  dev_pm_opp_unregister_notifier
+  __dma_clean_area
+  dma_fence_add_callback
+  dma_fence_array_ops
+  dma_fence_remove_callback
+  getboottime64
+  get_random_u32
+  get_task_mm
+  get_unmapped_area
+  get_user_pages
+  idr_for_each
+  idr_replace
+  init_uts_ns
+  iterate_fd
+  kern_addr_valid
+  kernfs_create_link
+  ktime_get_real_seconds
+  mmap_min_addr
+  mmput
+  noop_llseek
+  of_devfreq_cooling_register
+  plist_del
+  rb_last
+  rb_prev
+  security_mmap_addr
+  set_page_dirty_lock
+  sg_alloc_table_from_pages
+  sysfs_create_bin_file
+  sysfs_remove_bin_file
+  sysfs_remove_files
+  trace_print_symbols_seq
+  unmapped_area_topdown
+  unregister_shrinker
+  vm_insert_page
+  vm_insert_pfn
+
+# required by msm_bus_rpmh.ko
+  __msm_bus_scale_client_update_request_cb
+  __msm_bus_scale_register_cb
+  __msm_bus_scale_register_client_cb
+  __msm_bus_scale_update_bw_cb
+  of_clk_get_by_name
+  raw_notifier_call_chain
+  raw_notifier_chain_register
+  raw_notifier_chain_unregister
+
+# required by msm_drm.ko
+  adjust_managed_page_count
+  bpf_trace_run11
+  bpf_trace_run12
+  __clk_get_hw
+  clk_get_parent
+  debugfs_create_size_t
+  device_create_with_groups
+  devm_clk_bulk_get
+  devm_of_pwm_get
+  devm_pwm_put
+  dma_fence_wait_timeout
+  dma_release_declared_memory
+  do_wait_intr
+  drm_add_edid_modes
+  drm_add_modes_noedid
+  drm_atomic_commit
+  drm_atomic_get_connector_state
+  drm_atomic_get_crtc_state
+  drm_atomic_get_plane_state
+  drm_atomic_helper_check
+  drm_atomic_helper_cleanup_planes
+  drm_atomic_helper_commit_duplicated_state
+  drm_atomic_helper_commit_hw_done
+  drm_atomic_helper_commit_modeset_disables
+  drm_atomic_helper_commit_modeset_enables
+  drm_atomic_helper_commit_planes
+  __drm_atomic_helper_connector_destroy_state
+  __drm_atomic_helper_connector_duplicate_state
+  __drm_atomic_helper_connector_reset
+  __drm_atomic_helper_crtc_destroy_state
+  __drm_atomic_helper_crtc_duplicate_state
+  __drm_atomic_helper_disable_plane
+  drm_atomic_helper_disable_plane
+  drm_atomic_helper_duplicate_state
+  drm_atomic_helper_page_flip
+  __drm_atomic_helper_plane_duplicate_state
+  drm_atomic_helper_prepare_planes
+  __drm_atomic_helper_set_config
+  drm_atomic_helper_set_config
+  drm_atomic_helper_swap_state
+  drm_atomic_helper_update_legacy_modeset_state
+  drm_atomic_helper_update_plane
+  drm_atomic_helper_wait_for_fences
+  drm_atomic_helper_wait_for_vblanks
+  drm_atomic_set_crtc_for_connector
+  drm_atomic_set_fence_for_plane
+  drm_atomic_set_mode_for_crtc
+  drm_atomic_state_alloc
+  drm_atomic_state_clear
+  drm_atomic_state_default_clear
+  drm_atomic_state_default_release
+  __drm_atomic_state_free
+  drm_atomic_state_init
+  drm_bridge_attach
+  drm_bridge_disable
+  drm_bridge_enable
+  drm_bridge_mode_set
+  drm_bridge_post_disable
+  drm_bridge_pre_enable
+  drm_compat_ioctl
+  drm_connector_attach_encoder
+  drm_connector_cleanup
+  drm_connector_init
+  drm_connector_list_iter_begin
+  drm_connector_list_iter_end
+  drm_connector_list_iter_next
+  drm_connector_register
+  drm_connector_unregister
+  drm_connector_update_edid_property
+  drm_crtc_cleanup
+  drm_crtc_handle_vblank
+  drm_crtc_init_with_planes
+  drm_crtc_send_vblank_event
+  drm_crtc_vblank_off
+  drm_crtc_vblank_on
+  drm_crtc_vblank_reset
+  drm_crtc_wait_one_vblank
+  drm_dbg
+  drm_debug
+  drm_detect_hdmi_monitor
+  drm_detect_monitor_audio
+  drm_dev_alloc
+  drm_dev_dbg
+  drm_dev_printk
+  drm_dev_put
+  drm_dev_register
+  drm_dev_unregister
+  drm_dp_atomic_find_vcpi_slots
+  drm_dp_atomic_release_vcpi_slots
+  drm_dp_aux_register
+  drm_dp_aux_unregister
+  drm_dp_bw_code_to_link_rate
+  drm_dp_calc_pbn_mode
+  drm_dp_channel_eq_ok
+  drm_dp_check_act_status
+  drm_dp_clock_recovery_ok
+  drm_dp_dpcd_read
+  drm_dp_dpcd_read_link_status
+  drm_dp_dpcd_write
+  drm_dp_find_vcpi_slots
+  drm_dp_get_adjust_request_pre_emphasis
+  drm_dp_get_adjust_request_voltage
+  drm_dp_link_configure
+  drm_dp_link_power_down
+  drm_dp_link_power_up
+  drm_dp_link_probe
+  drm_dp_link_rate_to_bw_code
+  drm_dp_link_train_channel_eq_delay
+  drm_dp_link_train_clock_recovery_delay
+  drm_dp_mst_allocate_vcpi
+  drm_dp_mst_deallocate_vcpi
+  drm_dp_mst_detect_port
+  drm_dp_mst_get_edid
+  drm_dp_mst_hpd_irq
+  drm_dp_mst_reset_vcpi_slots
+  drm_dp_mst_topology_mgr_destroy
+  drm_dp_mst_topology_mgr_init
+  drm_dp_mst_topology_mgr_set_mst
+  drm_dp_send_power_updown_phy
+  drm_dp_update_payload_part1
+  drm_dp_update_payload_part2
+  drm_edid_duplicate
+  drm_encoder_cleanup
+  drm_encoder_init
+  drm_err
+  drm_event_reserve_init_locked
+  drm_format_horz_chroma_subsampling
+  drm_format_info
+  drm_format_num_planes
+  drm_format_plane_cpp
+  drm_format_vert_chroma_subsampling
+  drm_framebuffer_init
+  drm_framebuffer_lookup
+  drm_framebuffer_remove
+  drm_framebuffer_unregister_private
+  drm_gem_create_mmap_offset
+  drm_gem_fb_create_handle
+  drm_gem_fb_destroy
+  drm_gem_fb_get_obj
+  drm_gem_free_mmap_offset
+  drm_gem_get_pages
+  drm_gem_handle_create
+  drm_gem_mmap
+  drm_gem_mmap_obj
+  drm_gem_object_init
+  drm_gem_object_lookup
+  drm_gem_object_put
+  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_private_object_init
+  drm_gem_put_pages
+  drm_gem_vm_close
+  drm_gem_vm_open
+  drm_get_connector_status_name
+  drm_get_edid
+  drm_helper_hpd_irq_event
+  drm_helper_mode_fill_fb_struct
+  drm_helper_probe_single_connector_modes
+  drm_ioctl
+  drm_irq_install
+  drm_irq_uninstall
+  drm_kms_helper_poll_disable
+  drm_kms_helper_poll_enable
+  drm_kms_helper_poll_fini
+  drm_kms_helper_poll_init
+  drm_match_cea_mode
+  drm_mm_init
+  drm_mm_insert_node_in_range
+  drm_mm_remove_node
+  drm_mm_takedown
+  drm_mode_config_cleanup
+  drm_mode_config_init
+  drm_mode_config_reset
+  drm_mode_convert_umode
+  drm_mode_copy
+  drm_mode_create
+  drm_mode_create_colorspace_property
+  drm_mode_debug_printmodeline
+  drm_mode_duplicate
+  drm_mode_equal
+  drm_mode_object_find
+  drm_mode_object_get
+  drm_mode_object_put
+  drm_mode_parse_command_line_for_connector
+  drm_mode_probed_add
+  drm_modeset_acquire_fini
+  drm_modeset_acquire_init
+  drm_modeset_backoff
+  drm_mode_set_crtcinfo
+  drm_modeset_drop_locks
+  drm_modeset_lock
+  drm_modeset_lock_all
+  drm_modeset_lock_all_ctx
+  drm_mode_set_name
+  drm_modeset_unlock_all
+  drm_mode_vrefresh
+  drm_object_attach_property
+  drm_object_property_set_value
+  drm_of_component_match_add
+  drm_open
+  drm_panel_add
+  drm_panel_init
+  drm_panel_notifier_call_chain
+  drm_panel_remove
+  drm_plane_cleanup
+  drm_plane_create_rotation_property
+  drm_plane_helper_disable
+  drm_poll
+  drm_prime_gem_destroy
+  drm_prime_pages_to_sg
+  drm_property_blob_get
+  drm_property_blob_put
+  drm_property_create
+  drm_property_create_bitmask
+  drm_property_create_blob
+  drm_property_create_enum
+  drm_property_create_range
+  drm_property_lookup_blob
+  drm_read
+  drm_release
+  drm_rotation_simplify
+  drm_send_event_locked
+  drm_set_preferred_mode
+  drm_universal_plane_init
+  drm_vblank_init
+  drm_wait_one_vblank
+  get_vm_area
+  invalidate_mapping_pages
+  ioremap_page_range
+  irq_domain_xlate_onecell
+  irq_set_affinity_notifier
+  kernfs_notify
+  kernfs_put
+  kthread_cancel_delayed_work_sync
+  kthread_delayed_work_timer_fn
+  kthread_flush_work
+  kthread_mod_delayed_work
+  kthread_park
+  kthread_parkme
+  kthread_queue_delayed_work
+  kthread_should_park
+  kthread_unpark
+  memblock_free
+  memparse
+  mipi_dsi_create_packet
+  mipi_dsi_dcs_read
+  mipi_dsi_dcs_set_display_brightness
+  mipi_dsi_dcs_write_buffer
+  mipi_dsi_host_register
+  mipi_dsi_host_unregister
+  nsecs_to_jiffies
+  of_drm_find_bridge
+  of_genpd_add_provider_simple
+  of_graph_get_next_endpoint
+  of_graph_get_remote_port_parent
+  of_graph_parse_endpoint
+  pm_genpd_remove
+  regulator_get_mode
+  regulator_get_optional
+  reservation_object_wait_timeout_rcu
+  reservation_ww_class
+  shmem_truncate_range
+  strreplace
+  timespec64_to_jiffies
+  tracing_off
+  unmap_kernel_range
+  unmap_mapping_range
+  vm_get_page_prot
+  vm_insert_mixed
+  __wake_up_locked
+
+# required by msm_ext_display.ko
+  devm_extcon_dev_unregister
+
+# required by msm_gsi.ko
+  kstrtoint_from_user
+
+# required by msm_icnss.ko
+  dmam_alloc_coherent
+
+# required by msm_lmh_dcvs.ko
+  cpufreq_cpu_get
+  cpufreq_platform_cooling_register
+  __tracepoint_clock_set_rate
+
+# required by msm_minidump.ko
+  linux_banner
+
+# required by msm_pm.ko
+  arm_cpuidle_suspend
+  clock_debug_print_enabled
+  cpu_do_idle
+  cpuidle_dev
+  cpuidle_register_device
+  cpuidle_register_driver
+  cpuidle_register_governor
+  cpuidle_unregister_driver
+  cpu_pm_enter
+  cpu_pm_exit
+  cpus_read_lock
+  cpus_read_unlock
+  get_next_event_cpu
+  get_next_event_time
+  __hrtimer_get_remaining
+  hrtimer_try_to_cancel
+  param_get_bool
+  param_get_uint
+  pending_ipi
+  pm_gpio_debug_mask
+  pm_qos_request_for_cpu
+  pm_qos_request_for_cpumask
+  regulator_debug_print_enabled
+  s2idle_set_ops
+  set_update_ipi_history_callback
+  start_critical_timings
+  stop_critical_timings
+  suspend_set_ops
+  suspend_valid_only_mem
+  tick_broadcast_oneshot_control
+  tick_nohz_get_sleep_length
+
+# required by msm_qmp.ko
+  mbox_chan_received_data
+  mbox_chan_txdone
+
+# required by msm_rng.ko
+  crypto_register_rngs
+  crypto_unregister_rngs
+  hwrng_register
+  hwrng_unregister
+
+# required by msm_rtb.ko
+  arch_timer_read_counter
+  set_uncached_logk_func
+
+# required by msm_scm.ko
+  __arm_smccc_smc
+
+# required by msm_sharedmem.ko
+  __uio_register_device
+  uio_unregister_device
+
+# required by pac193x.ko
+  try_to_del_timer_sync
+
+# required by peripheral-loader.ko
+  __iowrite32_copy
+  memblock_overlaps_memory
+  of_prop_next_u32
+
+# required by phy-generic.ko
+  regulator_set_current_limit
+
+# required by phy-qcom-ufs.ko
+  __devm_of_phy_provider_register
+  devm_phy_create
+  of_phy_simple_xlate
+
+# required by pinctrl-msm.ko
+  device_property_read_u16_array
+  gpiochip_line_is_valid
+  gpiochip_set_chained_irqchip
+  handle_bad_irq
+  irq_chip_set_wake_parent
+  irq_create_fwspec_mapping
+  irq_domain_free_irqs_top
+  msm_gpio_dump_builtin_cb
+  of_irq_domain_map
+  register_restart_handler
+  unregister_restart_handler
+  unregister_syscore_ops
+
+# required by pinctrl-spmi-gpio.ko
+  pmic_gpio_dump_builtin_cb
+
+# required by platform_dlkm.ko
+  of_property_read_variable_u16_array
+  snd_ctl_add
+  snd_ctl_enum_info
+  snd_ctl_new1
+  snd_ctl_notify
+  snd_ctl_remove
+  snd_pcm_add_chmap_ctls
+  snd_pcm_add_usr_ctls
+  snd_pcm_add_volume_ctls
+  snd_pcm_hw_constraint_integer
+  snd_pcm_hw_constraint_minmax
+  snd_pcm_hw_constraint_step
+  snd_pcm_lib_ioctl
+  snd_pcm_std_chmaps
+  snd_pcm_stop
+  snd_soc_card_get_kcontrol
+  snd_soc_new_compress
+  snd_timer_interrupt
+
+# required by pwm-qti-lpg.ko
+  devm_nvmem_device_get
+  pwmchip_add
+  pwmchip_remove
+
+# required by q6_dlkm.ko
+  kset_create_and_add
+  kset_unregister
+  ktime_get_raw_ts64
+  ktime_get_ts64
+  register_chrdev_region
+
+# required by qcom-cpufreq-hw.ko
+  arch_set_freq_scale
+  cpufreq_cpu_get_raw
+  cpufreq_freq_attr_scaling_available_freqs
+  cpufreq_freq_attr_scaling_boost_freqs
+  cpufreq_generic_frequency_table_verify
+  cpufreq_register_driver
+  em_register_perf_domain
+  of_cpufreq_cooling_register
+  of_dev_pm_opp_get_cpu_power
+
+# required by qcom-pdc.ko
+  irq_chip_get_parent_state
+  irq_chip_retrigger_hierarchy
+  irq_domain_create_hierarchy
+  irq_domain_free_irqs_common
+  irq_domain_update_bus_token
+  of_irq_find_parent
+
+# required by qcom-spmi-pmic.ko
+  __spmi_driver_register
+
+# required by qcom-spmi-sdam.ko
+  nvmem_register
+  nvmem_unregister
+
+# required by qcom-spmi-temp-alarm.ko
+  devm_iio_channel_get
+
+# required by qcom-spmi-wled.ko
+  devm_of_led_classdev_register
+
+# required by qcom_edac.ko
+  edac_device_add_device
+  edac_device_alloc_ctl_info
+  edac_device_alloc_index
+  edac_device_del_device
+  edac_device_free_ctl_info
+  edac_device_handle_ce
+  edac_device_handle_ue
+
+# required by qcom_glink_native.ko
+  __irq_set_affinity
+  sched_setaffinity
+
+# required by qcom_hwspinlock.ko
+  devm_regmap_field_alloc
+  hwspin_lock_register
+  hwspin_lock_unregister
+  regmap_field_read
+  regmap_field_update_bits_base
+
+# required by qcom_llcc_pmu.ko
+  perf_pmu_register
+
+# required by qcom_rpmh.ko
+  irq_get_irqchip_state
+
+# required by qcom_socinfo.ko
+  arch_read_hardware_id
+  soc_device_register
+  soc_device_to_device
+
+# required by qcrypto.ko
+  crypto_ablkcipher_type
+  crypto_ahash_digest
+  crypto_ahash_setkey
+  crypto_ahash_type
+  crypto_alloc_ahash
+  crypto_alloc_sync_skcipher
+  crypto_dequeue_request
+  crypto_enqueue_request
+  crypto_init_queue
+  crypto_register_aead
+  crypto_register_ahash
+  crypto_register_alg
+  crypto_unregister_aead
+  crypto_unregister_ahash
+  crypto_unregister_alg
+  des_ekey
+  llist_add_batch
+  scatterwalk_ffwd
+  scatterwalk_map_and_copy
+  sg_copy_from_buffer
+  sg_copy_to_buffer
+
+# required by qpnp-battery.ko
+  __class_register
+
+# required by qpnp-power-on.ko
+  boot_reason
+  cold_boot
+  _dev_emerg
+  devm_input_allocate_device
+
+# required by qpnp-qgauge.ko
+  rtc_class_close
+  rtc_class_open
+  rtc_read_time
+
+# required by qpnp-smb5-charger.ko
+  iio_channel_release
+  of_find_node_by_phandle
+
+# required by qpnp_pdphy.ko
+  device_get_named_child_node
+  hrtimer_init_sleeper
+
+# required by qrtr-smd.ko
+  qrtr_endpoint_post
+  qrtr_endpoint_register
+  qrtr_endpoint_unregister
+
+# required by qseecom.ko
+  __arch_copy_in_user
+  firmware_request_nowarn
+  get_option
+  sigprocmask
+
+# required by qtee_shm_bridge.ko
+  do_tlb_conf_fault_cb
+  __flush_dcache_area
+  gen_pool_best_fit
+  gen_pool_set_algo
+  gen_pool_virt_to_phys
+
+# required by regmap-spmi.ko
+  spmi_ext_register_read
+  spmi_ext_register_readl
+  spmi_ext_register_write
+  spmi_ext_register_writel
+  spmi_register_read
+  spmi_register_write
+  spmi_register_zero_write
+
+# required by rmnet.ko
+  build_skb
+  csum_ipv6_magic
+  csum_partial
+  csum_tcpudp_nofold
+  __dev_get_by_index
+  dev_queue_xmit
+  __dynamic_netdev_dbg
+  genl_register_family
+  genl_unregister_family
+  get_current_napi_context
+  gro_cells_destroy
+  gro_cells_init
+  gro_cells_receive
+  ip_compute_csum
+  ipv6_ext_hdr
+  ipv6_skip_exthdr
+  ___might_sleep
+  netdev_rx_handler_register
+  netdev_rx_handler_unregister
+  netif_schedule_queue
+  ___pskb_trim
+  qdisc_reset
+  rtnl_link_register
+  rtnl_link_unregister
+  rtnl_trylock
+  set_task_boost
+  skb_append_pagefrags
+  skb_checksum
+  synchronize_rcu
+  trace_print_hex_seq
+  unregister_netdevice_many
+
+# required by rndis.ko
+  dev_get_stats
+
+# required by roles.ko
+  class_find_device
+  device_connection_find_match
+  __sysfs_match_string
+
+# required by rpmsg_core.ko
+  dev_pm_domain_attach
+  dev_pm_domain_detach
+  of_device_modalias
+  of_device_uevent_modalias
+  strcspn
+
+# required by rtc-pm8xxx.ko
+  devm_request_any_context_irq
+  devm_rtc_device_register
+  rtc_update_irq
+
+# required by sctp.ko
+  __bitmap_shift_right
+  __bitmap_weight
+  call_rcu
+  compat_ip_getsockopt
+  compat_ip_setsockopt
+  compat_ipv6_getsockopt
+  compat_ipv6_setsockopt
+  compat_sock_common_getsockopt
+  compat_sock_common_setsockopt
+  _copy_from_iter_full
+  crc32c
+  crc32c_csum_stub
+  __crc32c_le_shift
+  crypto_shash_digest
+  dev_get_by_index_rcu
+  fl6_sock_lookup
+  fl6_update_dst
+  flex_array_alloc
+  flex_array_free
+  flex_array_get
+  flex_array_prealloc
+  flex_array_put
+  icmp_err_convert
+  icmpv6_err_convert
+  in6_dev_finish_destroy
+  inet6_add_offload
+  inet6_add_protocol
+  inet6_bind
+  inet6_del_protocol
+  inet6_destroy_sock
+  inet6_getname
+  inet6_ioctl
+  inet6_register_protosw
+  inet6_release
+  inet6_unregister_protosw
+  inet_accept
+  inet_add_offload
+  inet_add_protocol
+  inet_addr_type
+  inet_bind
+  inet_ctl_sock_create
+  inet_del_offload
+  inet_del_protocol
+  inet_get_local_port_range
+  inet_getname
+  inet_ioctl
+  inet_recvmsg
+  inet_register_protosw
+  inet_release
+  inet_sendmsg
+  inet_shutdown
+  inet_sk_set_state
+  inet_sock_destruct
+  inet_unregister_protosw
+  iov_iter_revert
+  ip6_dst_lookup_flow
+  ip6_xmit
+  __ip_dev_find
+  ip_getsockopt
+  __ip_queue_xmit
+  ip_setsockopt
+  ipv6_chk_addr
+  ipv6_dup_options
+  ipv6_getsockopt
+  ipv6_setsockopt
+  kfree_call_rcu
+  napi_busy_loop
+  net_enable_timestamp
+  nf_conntrack_destroy
+  nr_free_buffer_pages
+  overflowuid
+  percpu_counter_add_batch
+  percpu_counter_batch
+  percpu_counter_destroy
+  __percpu_counter_init
+  prandom_u32
+  prepare_to_wait
+  prepare_to_wait_exclusive
+  proc_create_net_data
+  proc_create_net_single
+  proc_dointvec_minmax
+  proc_dostring
+  proc_doulongvec_minmax
+  proto_register
+  proto_unregister
+  put_cmsg
+  rcu_barrier
+  remove_proc_subtree
+  rfs_needed
+  rhashtable_free_and_destroy
+  rhashtable_insert_slow
+  rhashtable_walk_enter
+  rhashtable_walk_exit
+  rhashtable_walk_next
+  rhashtable_walk_start_check
+  rhashtable_walk_stop
+  rhltable_init
+  rht_bucket_nested
+  rht_bucket_nested_insert
+  rps_cpu_mask
+  rps_sock_flow_table
+  security_inet_conn_established
+  security_sctp_assoc_request
+  security_sctp_bind_connect
+  security_sctp_sk_clone
+  send_sig
+  sk_alloc
+  __skb_checksum
+  skb_copy_datagram_iter
+  skb_queue_head
+  skb_segment
+  skb_set_owner_w
+  sk_busy_loop_end
+  sk_common_release
+  sk_filter_trim_cap
+  sk_free
+  __sk_mem_reclaim
+  __sk_mem_schedule
+  sk_setup_caps
+  snmp_get_cpu_field
+  sock_alloc_file
+  sock_common_getsockopt
+  sock_common_setsockopt
+  sock_i_ino
+  sock_init_data
+  sock_i_uid
+  sock_kmalloc
+  sock_no_mmap
+  sock_no_sendpage
+  sock_no_socketpair
+  sock_prot_inuse_add
+  __sock_recv_ts_and_drops
+  sock_wake_async
+  sock_wfree
+  __wake_up_sync_key
+  __xfrm_policy_check
+
+# required by sctp_diag.ko
+  inet_diag_msg_attrs_fill
+  inet_diag_msg_common_fill
+  inet_diag_register
+  inet_diag_unregister
+  netlink_net_capable
+  nla_reserve_64bit
+  nla_reserve
+  sock_diag_check_cookie
+  sock_diag_save_cookie
+
+# required by sec_touch.ko
+  filp_close
+  filp_open
+  input_mt_destroy_slots
+  strncat
+  sysfs_remove_link
+  vfs_read
+
+# required by secure_buffer.ko
+  trace_print_array_seq
+
+# required by slg51000-regulator.ko
+  rdev_get_id
+  regulator_disable_regmap
+  regulator_enable_regmap
+  regulator_get_voltage_sel_regmap
+  regulator_is_enabled_regmap
+  regulator_list_voltage_linear
+  regulator_map_voltage_linear
+  regulator_notifier_call_chain
+  regulator_set_voltage_sel_regmap
+
+# required by smcinvoke.ko
+  anon_inode_getfile
+  fget
+
+# required by smem.ko
+  devm_ioremap_wc
+  hwspin_lock_free
+  hwspin_lock_request_specific
+  __hwspin_lock_timeout
+  __hwspin_unlock
+  of_hwspin_lock_get_id
+
+# required by smp2p.ko
+  irq_domain_xlate_twocell
+  irq_set_parent
+  qcom_smem_state_register
+  qcom_smem_state_unregister
+
+# required by snd-soc-cs35l41.ko
+  regcache_drop_region
+  regmap_multi_reg_write_bypassed
+  regulator_bulk_enable
+  snd_pcm_format_physical_width
+  snd_soc_get_enum_double
+  snd_soc_get_volsw_range
+  snd_soc_info_volsw_range
+  snd_soc_put_enum_double
+  snd_soc_put_volsw_range
+
+# required by snd-soc-rt5514-spi.ko
+  _snd_pcm_lib_alloc_vmalloc_buffer
+  snd_pcm_lib_free_vmalloc_buffer
+  snd_pcm_lib_get_vmalloc_page
+  snd_power_wait
+  snd_soc_set_runtime_hwparams
+
+# required by snd-soc-rt5514.ko
+  regmap_register_patch
+  snd_soc_bytes_info_ext
+  snd_soc_params_to_frame_size
+
+# required by snd-soc-wm-adsp.ko
+  regmap_async_complete
+  regmap_raw_write
+  regmap_raw_write_async
+  snd_compr_stop_error
+  snd_soc_component_disable_pin
+  snd_soc_component_force_enable_pin
+
+# required by spi-geni-qcom.ko
+  dma_release_channel
+  geni_read_reg
+  geni_se_clk_freq_match
+  geni_se_qupv3_hw_version
+  get_rx_fifo_depth
+  get_tx_fifo_width
+  se_geni_clks_on
+  se_get_packing_config
+  __spi_alloc_controller
+  spi_register_controller
+  spi_unregister_controller
+
+# required by spmi-pmic-arb.ko
+  irq_set_chained_handler_and_data
+  spmi_controller_add
+  spmi_controller_alloc
+  spmi_controller_remove
+
+# required by st21nfc.ko
+  desc_to_gpio
+  device_set_wakeup_capable
+
+# required by subsystem-restart.ko
+  system_state
+
+# required by system_pm.ko
+  arch_timer_mem_get_cval
+
+# required by tcpm.ko
+  dev_fwnode
+  fwnode_property_present
+  fwnode_property_read_string
+  typec_altmode_attention
+  typec_altmode_notify
+  typec_altmode_update_active
+  typec_altmode_vdm
+  typec_find_port_data_role
+  typec_find_port_power_role
+  typec_find_power_role
+  typec_match_altmode
+  typec_partner_register_altmode
+  typec_partner_set_identity
+  typec_port_register_altmode
+  typec_set_mode
+  typec_set_orientation
+  typec_set_pwr_opmode
+  typec_set_vconn_role
+  typec_unregister_altmode
+  typec_unregister_port
+  usb_debug_root
+
+# required by thermal-tsens.ko
+  devm_thermal_of_virtual_sensor_register
+
+# required by tps-regulator.ko
+  devm_gpiod_get_index
+
+# required by ufs_qcom.ko
+  ufsdbg_pr_buf_to_std
+  ufshcd_dme_get_attr
+  ufshcd_dme_set_attr
+  ufshcd_get_local_unipro_ver
+  ufshcd_hold
+  ufshcd_pltfrm_init
+  ufshcd_pltfrm_resume
+  ufshcd_pltfrm_runtime_idle
+  ufshcd_pltfrm_runtime_resume
+  ufshcd_pltfrm_runtime_suspend
+  ufshcd_pltfrm_shutdown
+  ufshcd_pltfrm_suspend
+  ufshcd_release
+  ufshcd_remove
+
+# required by wlan.ko
+  bitmap_print_to_pagebuf
+  capable
+  __cfg80211_alloc_event_skb
+  __cfg80211_alloc_reply_skb
+  cfg80211_ap_stopped
+  cfg80211_assoc_timeout
+  cfg80211_calculate_bitrate
+  cfg80211_chandef_create
+  cfg80211_ch_switch_notify
+  cfg80211_connect_done
+  cfg80211_del_sta_sinfo
+  cfg80211_disconnected
+  cfg80211_external_auth_request
+  cfg80211_ft_event
+  cfg80211_get_bss
+  cfg80211_gtk_rekey_notify
+  cfg80211_ibss_joined
+  cfg80211_inform_bss_frame_data
+  cfg80211_mgmt_tx_status
+  cfg80211_michael_mic_failure
+  cfg80211_new_sta
+  cfg80211_pmksa_candidate_notify
+  cfg80211_put_bss
+  cfg80211_ready_on_channel
+  cfg80211_remain_on_channel_expired
+  cfg80211_roamed
+  cfg80211_rx_mgmt
+  cfg80211_rx_unprot_mlme_mgmt
+  cfg80211_scan_done
+  cfg80211_sched_scan_results
+  __cfg80211_send_event_skb
+  cfg80211_tdls_oper_request
+  cfg80211_unlink_bss
+  cfg80211_update_owe_info_event
+  cfg80211_vendor_cmd_reply
+  cld80211_get_genl_family
+  complete_and_exit
+  cpufreq_quick_get_max
+  __cpuhp_remove_state
+  cpu_topology
+  crypto_aead_setauthsize
+  crypto_aead_setkey
+  crypto_alloc_aead
+  crypto_alloc_base
+  crypto_alloc_skcipher
+  crypto_shash_final
+  crypto_shash_update
+  default_llseek
+  deregister_cld_cmd_cb
+  dev_alloc_name
+  dump_stack
+  hex_to_bin
+  ieee80211_channel_to_frequency
+  ieee80211_frequency_to_channel
+  ieee80211_get_channel
+  ieee80211_hdrlen
+  irq_set_affinity_hint
+  mac_pton
+  netif_tx_stop_all_queues
+  netlink_broadcast
+  __netlink_kernel_create
+  netlink_kernel_release
+  nla_parse
+  nla_put_64bit
+  nla_strlcpy
+  param_get_string
+  param_ops_byte
+  param_set_copystring
+  pci_read_config_dword
+  pci_read_config_word
+  pci_write_config_dword
+  pci_write_config_word
+  PDE_DATA
+  pm_freezing
+  pm_system_wakeup
+  print_stack_trace
+  proc_create_data
+  proc_mkdir
+  _raw_spin_trylock
+  register_cld_cmd_cb
+  register_netevent_notifier
+  register_sysctl_table
+  regulatory_set_wiphy_regd
+  rtnl_lock
+  save_stack_trace_tsk
+  schedule_timeout_interruptible
+  seq_vprintf
+  set_cpus_allowed_ptr
+  skb_queue_purge
+  skip_spaces
+  strchrnul
+  unregister_netevent_notifier
+  unregister_sysctl_table
+  vprintk
+  wcnss_prealloc_get
+  wcnss_prealloc_put
+  wiphy_free
+  wiphy_new_nm
+  wiphy_register
+  wiphy_unregister
+  wireless_send_event
+
+# required by usb-audio-qmi.ko
+  find_snd_usb_substream
+  snd_usb_enable_audio_stream
+  snd_usb_find_csint_desc
+  usb_alloc_coherent
+  usb_free_coherent
+  usb_get_controller_id
+  usb_get_sec_event_ring_phys_addr
+  usb_get_xfer_ring_phys_addr
+  usb_ifnum_to_if
+  usb_sec_event_ring_cleanup
+  usb_sec_event_ring_setup
+  usb_stop_endpoint
+
+# required by usb-dwc3-msm.ko
+  device_wakeup_disable
+  extcon_get_property
+  irq_set_irqchip_state
+  pm_runtime_barrier
+  regulator_register_notifier
+  regulator_unregister_notifier
+  usb_gadget_vbus_connect
+  usb_gadget_vbus_disconnect
+  usb_register_atomic_notify
+  usb_register_notify
+  usb_speed_string
+  usb_unregister_atomic_notify
+  usb_unregister_notify
+
+# required by usb_f_diag.ko
+  refcount_dec_and_lock
+
+# required by usb_f_gsi.ko
+  dev_get_by_name
+  kstrtou16_from_user
+  usb_composite_setup_continue
+  usb_ep_autoconfig_by_name
+  usb_ep_set_halt
+  usb_func_ep_queue
+  usb_func_wakeup
+  usb_gsi_ep_op
+
+# required by usb_f_qdss.ko
+  usb_ep_autoconfig_ss
+  usb_ep_dequeue
+
+# required by usf_dlkm.ko
+  strncpy_from_user
+
+# required by vd6281_module.ko
+  i2c_smbus_read_byte_data
+  i2c_smbus_write_byte_data
+
+# required by watchdog_v2.ko
+  cpu_pm_register_notifier
+  cpu_pm_unregister_notifier
+  __cpu_present_mask
+  disable_percpu_irq
+  enable_percpu_irq
+  free_percpu_irq
+  panic_timeout
+  __request_percpu_irq
+  smp_call_function_single
+
+# required by wcd938x_slave_dlkm.ko
+  component_del
+
+# required by wcd_core_dlkm.ko
+  devm_regmap_add_irq_chip
+  devm_regmap_del_irq_chip
+  handle_simple_irq
+  irq_create_mapping
+  regmap_irq_get_virq
+
+# required by wsa881x_dlkm.ko
+  thermal_zone_device_register
+  thermal_zone_device_unregister
+
+# required by xhci-plat-hcd.ko
+  device_wakeup_enable
+  usb_add_hcd
+  __usb_create_hcd
+  usb_disabled
+  usb_hcd_is_primary_hcd
+  usb_put_hcd
+  usb_remove_hcd
+  xhci_gen_setup
+  xhci_init_driver
+  xhci_resume
+  xhci_run
+  xhci_suspend
diff --git a/abi_gki_aarch64_whitelist b/abi_gki_aarch64_whitelist
index 8c68d31..233ea23 100644
--- a/abi_gki_aarch64_whitelist
+++ b/abi_gki_aarch64_whitelist
@@ -1,857 +1,4 @@
 [abi_whitelist]
-  add_timer
-  add_uevent_var
-  add_wait_queue
-  alloc_chrdev_region
-  __alloc_disk_node
-  alloc_etherdev_mqs
-  alloc_netdev_mqs
-  alloc_pages_exact
-  __alloc_pages_nodemask
-  __alloc_percpu
-  __alloc_skb
-  __alloc_workqueue_key
-  arch_bpf_jit_check_func
-  __arch_copy_from_user
-  __arch_copy_to_user
-  arm64_const_caps_ready
-  autoremove_wake_function
-  bcmp
-  blk_cleanup_queue
-  blk_execute_rq
-  blk_get_queue
-  blk_get_request
-  blk_mq_alloc_tag_set
-  blk_mq_complete_request
-  __blk_mq_end_request
-  blk_mq_end_request
-  blk_mq_free_tag_set
-  blk_mq_init_queue
-  blk_mq_quiesce_queue
-  blk_mq_requeue_request
-  blk_mq_run_hw_queues
-  blk_mq_start_request
-  blk_mq_start_stopped_hw_queues
-  blk_mq_stop_hw_queue
-  blk_mq_unquiesce_queue
-  blk_mq_virtio_map_queues
-  blk_put_queue
-  blk_put_request
-  blk_queue_alignment_offset
-  blk_queue_bounce_limit
-  blk_queue_flag_clear
-  blk_queue_flag_set
-  blk_queue_io_min
-  blk_queue_io_opt
-  blk_queue_logical_block_size
-  blk_queue_max_discard_sectors
-  blk_queue_max_hw_sectors
-  blk_queue_max_segments
-  blk_queue_max_segment_size
-  blk_queue_physical_block_size
-  blk_queue_rq_timeout
-  blk_queue_write_cache
-  blk_rq_map_kern
-  blk_rq_map_sg
-  blk_status_to_errno
-  blk_update_request
-  bpf_prog_add
-  bpf_prog_put
-  bpf_prog_sub
-  bpf_trace_run10
-  bpf_trace_run2
-  bpf_trace_run8
-  bpf_warn_invalid_xdp_action
-  build_skb
-  bus_register
-  bus_unregister
-  call_netdevice_notifiers
-  call_rcu
-  cancel_delayed_work
-  cancel_delayed_work_sync
-  cancel_work_sync
-  capable
-  cdev_add
-  cdev_alloc
-  cdev_del
-  cdev_device_add
-  cdev_device_del
-  cdev_init
-  cfg80211_connect_done
-  cfg80211_disconnected
-  cfg80211_inform_bss_data
-  cfg80211_put_bss
-  cfg80211_scan_done
-  __cfi_slowpath
-  check_disk_change
-  __check_object_size
-  __class_create
-  class_destroy
-  __class_register
-  class_unregister
-  clear_page
-  clk_disable
-  clk_enable
-  clk_get_rate
-  clk_prepare
-  clk_unprepare
-  complete
-  complete_all
-  completion_done
-  console_suspend_enabled
-  __const_udelay
-  consume_skb
-  _copy_from_iter_full
-  copy_page
-  _copy_to_iter
-  cpu_bit_bitmap
-  cpufreq_generic_attr
-  cpufreq_register_driver
-  cpufreq_unregister_driver
-  __cpuhp_remove_state
-  __cpuhp_setup_state
-  __cpuhp_state_add_instance
-  __cpuhp_state_remove_instance
-  cpu_hwcap_keys
-  cpu_hwcaps
-  cpumask_next
-  cpumask_next_wrap
-  cpu_number
-  __cpu_online_mask
-  cpus_read_lock
-  cpus_read_unlock
-  cpu_topology
-  crypto_ablkcipher_type
-  crypto_dequeue_request
-  crypto_enqueue_request
-  crypto_init_queue
-  crypto_register_alg
-  crypto_unregister_alg
-  datagram_poll
-  debugfs_create_dir
-  debugfs_create_file
-  debugfs_create_x32
-  debugfs_remove
-  debugfs_remove_recursive
-  debug_smp_processor_id
-  default_llseek
-  default_wake_function
-  delayed_work_timer_fn
-  del_gendisk
-  del_timer
-  del_timer_sync
-  destroy_workqueue
-  dev_add_pack
-  dev_close
-  dev_driver_string
-  _dev_err
-  dev_fwnode
-  __dev_get_by_index
-  dev_get_by_index
-  dev_get_by_index_rcu
-  dev_get_stats
-  device_add
-  device_add_disk
-  device_create
-  device_create_file
-  device_del
-  device_destroy
-  device_for_each_child
-  device_initialize
-  device_property_present
-  device_property_read_u32_array
-  device_register
-  device_remove_file
-  device_unregister
-  _dev_info
-  __dev_kfree_skb_any
-  devm_clk_get
-  dev_mc_sync_multiple
-  dev_mc_unsync
-  devm_gpiod_get_index
-  devm_gpio_request_one
-  devm_ioremap
-  devm_ioremap_resource
-  devm_kfree
-  devm_kmalloc
-  devm_regulator_get_optional
-  __devm_request_region
-  devm_request_threaded_irq
-  __devm_reset_control_get
-  devm_rtc_allocate_device
-  _dev_notice
-  dev_open
-  dev_pm_domain_attach
-  dev_pm_domain_detach
-  dev_printk
-  dev_queue_xmit
-  dev_remove_pack
-  devres_add
-  __devres_alloc_node
-  devres_destroy
-  devres_free
-  dev_set_mtu
-  dev_set_name
-  dev_uc_sync_multiple
-  dev_uc_unsync
-  _dev_warn
-  disable_irq
-  dma_alloc_from_dev_coherent
-  dma_buf_export
-  dma_buf_fd
-  dma_buf_get
-  dma_buf_put
-  dma_fence_context_alloc
-  dma_fence_enable_sw_signaling
-  dma_fence_init
-  dma_fence_match_context
-  dma_fence_release
-  dma_fence_signal
-  dma_fence_signal_locked
-  dma_fence_wait_timeout
-  dma_release_from_dev_coherent
-  driver_register
-  driver_unregister
-  drm_add_edid_modes
-  drm_add_modes_noedid
-  drm_atomic_helper_check
-  drm_atomic_helper_cleanup_planes
-  drm_atomic_helper_commit
-  drm_atomic_helper_commit_hw_done
-  drm_atomic_helper_commit_modeset_disables
-  drm_atomic_helper_commit_modeset_enables
-  drm_atomic_helper_commit_planes
-  drm_atomic_helper_connector_destroy_state
-  drm_atomic_helper_connector_duplicate_state
-  drm_atomic_helper_connector_reset
-  drm_atomic_helper_crtc_destroy_state
-  drm_atomic_helper_crtc_duplicate_state
-  drm_atomic_helper_crtc_reset
-  drm_atomic_helper_disable_plane
-  drm_atomic_helper_page_flip
-  drm_atomic_helper_plane_destroy_state
-  drm_atomic_helper_plane_duplicate_state
-  drm_atomic_helper_plane_reset
-  drm_atomic_helper_set_config
-  drm_atomic_helper_shutdown
-  drm_atomic_helper_update_plane
-  drm_atomic_helper_wait_for_vblanks
-  drm_class_device_register
-  drm_class_device_unregister
-  drm_clflush_pages
-  drm_compat_ioctl
-  drm_connector_attach_edid_property
-  drm_connector_attach_encoder
-  drm_connector_cleanup
-  drm_connector_init
-  drm_connector_register
-  drm_connector_unregister
-  drm_connector_update_edid_property
-  drm_crtc_cleanup
-  drm_crtc_init_with_planes
-  drm_crtc_send_vblank_event
-  drm_cvt_mode
-  drm_dbg
-  drm_debugfs_create_files
-  drm_dev_alloc
-  drm_dev_put
-  drm_dev_register
-  drm_dev_set_unique
-  drm_do_get_edid
-  drm_encoder_cleanup
-  drm_encoder_init
-  drm_err
-  drm_framebuffer_init
-  drm_gem_fb_create_handle
-  drm_gem_fb_destroy
-  drm_gem_handle_create
-  drm_gem_object_init
-  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_import
-  drm_gem_prime_mmap
-  drm_global_item_ref
-  drm_global_item_unref
-  drm_helper_hpd_irq_event
-  drm_helper_mode_fill_fb_struct
-  drm_helper_probe_single_connector_modes
-  drm_ht_create
-  drm_ht_find_item
-  drm_ht_insert_item
-  drm_ht_just_insert_please
-  drm_ht_remove
-  drm_ht_remove_item
-  drm_ioctl
-  drm_kms_helper_hotplug_event
-  drm_mm_init
-  drm_mm_insert_node_in_range
-  drm_mm_print
-  drm_mm_remove_node
-  drm_mm_takedown
-  drm_mode_config_cleanup
-  drm_mode_config_init
-  drm_mode_config_reset
-  drm_mode_probed_add
-  drm_open
-  drm_plane_cleanup
-  drm_poll
-  drm_prime_pages_to_sg
-  __drm_printfn_debug
-  drm_put_dev
-  drm_read
-  drm_release
-  drm_set_preferred_mode
-  drm_universal_plane_init
-  drm_vma_offset_add
-  drm_vma_offset_lookup_locked
-  drm_vma_offset_manager_destroy
-  drm_vma_offset_manager_init
-  drm_vma_offset_remove
-  dummy_dma_ops
-  eth_commit_mac_addr_change
-  ether_setup
-  eth_prepare_mac_addr_change
-  __ethtool_get_link_ksettings
-  ethtool_op_get_link
-  ethtool_op_get_ts_info
-  eth_type_trans
-  eth_validate_addr
-  event_triggers_call
-  fasync_helper
-  fd_install
-  finish_wait
-  flow_keys_basic_dissector
-  flush_work
-  flush_workqueue
-  fput
-  free_irq
-  free_netdev
-  __free_pages
-  free_pages_exact
-  free_percpu
-  freezing_slow_path
-  fsl8250_handle_irq
-  generic_file_llseek
-  get_device
-  get_random_bytes
-  __get_task_comm
-  get_unused_fd_flags
-  gpiod_cansleep
-  gpiod_get_raw_value
-  gpiod_get_raw_value_cansleep
-  gpiod_get_value
-  gpiod_get_value_cansleep
-  gpiod_is_active_low
-  gpiod_set_debounce
-  gpiod_to_irq
-  gpio_to_desc
-  hrtimer_active
-  hrtimer_cancel
-  hrtimer_forward
-  hrtimer_init
-  hrtimer_start_range_ns
-  hvc_alloc
-  hvc_instantiate
-  hvc_kick
-  hvc_poll
-  hvc_remove
-  __hvc_resize
-  hwrng_register
-  hwrng_unregister
-  ida_alloc_range
-  ida_destroy
-  ida_free
-  init_net
-  init_timer_key
-  init_wait_entry
-  __init_waitqueue_head
-  input_alloc_absinfo
-  input_allocate_device
-  input_event
-  input_free_device
-  input_mt_init_slots
-  input_register_device
-  input_set_abs_params
-  input_unregister_device
-  iomem_resource
-  __ioremap
-  __iounmap
-  irq_dispose_mapping
-  irq_set_affinity_hint
-  irq_set_irq_wake
-  jiffies
-  jiffies_to_msecs
-  kernel_kobj
-  kfree
-  kfree_call_rcu
-  kfree_skb
-  kill_fasync
-  kimage_voffset
-  __kmalloc
-  kmalloc_caches
-  kmalloc_order_trace
-  kmem_cache_alloc
-  kmem_cache_alloc_trace
-  kmem_cache_create
-  kmem_cache_destroy
-  kmem_cache_free
-  kmemdup
-  kobject_del
-  kobject_init_and_add
-  kobject_put
-  kobject_uevent
-  kobject_uevent_env
-  kstrtoull
-  kthread_create_on_node
-  kthread_create_worker
-  kthread_destroy_worker
-  kthread_queue_work
-  kthread_should_stop
-  kthread_stop
-  ktime_get
-  ktime_get_real_seconds
-  ktime_get_ts64
-  ktime_get_with_offset
-  kvfree
-  kvmalloc_node
-  kzfree
-  led_classdev_unregister
-  led_trigger_event
-  led_trigger_register_simple
-  led_trigger_unregister_simple
-  __ll_sc_atomic64_add
-  __ll_sc_atomic64_add_return_relaxed
-  __ll_sc_atomic64_andnot
-  __ll_sc_atomic64_fetch_or
-  __ll_sc_atomic64_or
-  __ll_sc_atomic_add
-  __ll_sc_atomic_add_return
-  __ll_sc_atomic_sub
-  __ll_sc_atomic_sub_return
-  __ll_sc___cmpxchg_case_mb_4
-  __ll_sc___cmpxchg_case_mb_8
-  __local_bh_enable_ip
-  lock_sock_nested
-  mark_page_accessed
-  memcpy
-  __memcpy_fromio
-  __memcpy_toio
-  memdup_user
-  memmove
-  memparse
-  memset
-  __memset_io
-  memstart_addr
-  memzero_explicit
-  misc_deregister
-  misc_register
-  mod_timer
-  __module_get
-  module_put
-  __msecs_to_jiffies
-  msleep
-  __mutex_init
-  mutex_lock
-  mutex_lock_interruptible
-  mutex_trylock
-  mutex_unlock
-  __napi_alloc_skb
-  napi_complete_done
-  napi_consume_skb
-  napi_disable
-  napi_gro_receive
-  napi_hash_del
-  __napi_schedule
-  napi_schedule_prep
-  __netdev_alloc_skb
-  netdev_change_features
-  netdev_err
-  netdev_increment_features
-  netdev_info
-  netdev_lower_state_changed
-  netdev_master_upper_dev_link
-  netdev_notify_peers
-  netdev_rx_handler_register
-  netdev_rx_handler_unregister
-  netdev_upper_dev_link
-  netdev_upper_dev_unlink
-  netdev_warn
-  netif_carrier_off
-  netif_carrier_on
-  netif_device_attach
-  netif_device_detach
-  netif_napi_add
-  netif_napi_del
-  netif_receive_skb
-  netif_rx
-  netif_rx_ni
-  netif_schedule_queue
-  netif_set_real_num_rx_queues
-  netif_set_real_num_tx_queues
-  __netif_set_xps_queue
-  netif_stacked_transfer_operstate
-  netif_tx_stop_all_queues
-  netif_tx_wake_queue
-  netlink_capable
-  __netlink_dump_start
-  net_ratelimit
-  nf_conntrack_destroy
-  nla_memcpy
-  nla_parse
-  nla_put
-  __nlmsg_put
-  no_llseek
-  nonseekable_open
-  noop_llseek
-  nr_cpu_ids
-  nr_swap_pages
-  nsecs_to_jiffies
-  of_address_to_resource
-  of_alias_get_id
-  of_device_is_big_endian
-  of_device_is_compatible
-  of_find_property
-  of_get_child_by_name
-  of_get_next_child
-  of_get_property
-  of_irq_get
-  of_led_classdev_register
-  of_match_device
-  of_parse_phandle
-  of_property_read_u64
-  of_property_read_variable_u32_array
-  panic
-  param_ops_bool
-  param_ops_int
-  param_ops_uint
-  passthru_features_check
-  pci_alloc_irq_vectors_affinity
-  pci_bus_type
-  pci_disable_device
-  pci_enable_device
-  pci_find_capability
-  pci_find_ext_capability
-  pci_find_next_capability
-  pci_free_irq_vectors
-  pci_iomap_range
-  pci_irq_get_affinity
-  pci_irq_vector
-  pci_read_config_byte
-  pci_read_config_dword
-  __pci_register_driver
-  pci_release_selected_regions
-  pci_request_selected_regions
-  pci_set_master
-  pci_unregister_driver
-  PDE_DATA
-  __per_cpu_offset
-  perf_trace_buf_alloc
-  perf_trace_run_bpf_submit
-  pipe_lock
-  pipe_unlock
-  platform_device_add
-  platform_device_add_data
-  platform_device_alloc
-  platform_device_del
-  platform_device_put
-  platform_device_register_full
-  platform_device_unregister
-  __platform_driver_register
-  platform_driver_unregister
-  platform_get_irq
-  platform_get_resource
-  pm_generic_resume
-  pm_generic_runtime_resume
-  pm_generic_runtime_suspend
-  pm_generic_suspend
-  __pm_runtime_disable
-  pm_runtime_enable
-  __pm_runtime_idle
-  __pm_runtime_resume
-  pm_runtime_set_autosuspend_delay
-  __pm_runtime_set_status
-  __pm_runtime_suspend
-  __pm_runtime_use_autosuspend
-  pm_wakeup_dev_event
-  prandom_u32
-  preempt_count_add
-  preempt_count_sub
-  preempt_schedule
-  preempt_schedule_notrace
-  prepare_to_wait
-  prepare_to_wait_event
-  printk
-  proc_create_net_single
-  proc_mkdir_data
-  proto_register
-  proto_unregister
-  __put_cred
-  put_device
-  put_disk
-  __put_page
-  put_unused_fd
-  queue_delayed_work_on
-  queue_work_on
-  ___ratelimit
-  _raw_read_lock
-  _raw_read_unlock
-  _raw_spin_lock
-  _raw_spin_lock_bh
-  _raw_spin_lock_irq
-  _raw_spin_lock_irqsave
-  _raw_spin_trylock
-  _raw_spin_unlock
-  _raw_spin_unlock_bh
-  _raw_spin_unlock_irq
-  _raw_spin_unlock_irqrestore
-  _raw_write_lock_bh
-  _raw_write_unlock_bh
-  rcu_barrier
-  __rcu_read_lock
-  __rcu_read_unlock
-  refcount_dec_and_test_checked
-  refcount_inc_checked
-  refcount_inc_not_zero_checked
-  __refrigerator
-  register_blkdev
-  __register_chrdev
-  register_netdev
-  register_netdevice
-  register_netdevice_notifier
-  register_pernet_subsys
-  register_pm_notifier
-  register_shrinker
-  regulator_count_voltages
-  regulator_disable
-  regulator_enable
-  regulator_get_current_limit
-  regulator_get_voltage
-  regulator_is_supported_voltage
-  regulator_list_voltage
-  regulator_set_voltage
-  release_sock
-  remove_conflicting_framebuffers
-  remove_proc_entry
-  remove_wait_queue
-  __request_module
-  request_threaded_irq
-  reservation_object_add_excl_fence
-  reservation_object_add_shared_fence
-  reservation_object_copy_fences
-  reservation_object_reserve_shared
-  reservation_object_test_signaled_rcu
-  reservation_object_wait_timeout_rcu
-  reservation_ww_class
-  reset_control_assert
-  reset_control_deassert
-  revalidate_disk
-  round_jiffies
-  __rtc_register_device
-  rtc_time64_to_tm
-  rtc_tm_to_time64
-  rtc_update_irq
-  rtnl_is_locked
-  rtnl_link_register
-  rtnl_link_unregister
-  rtnl_lock
-  rtnl_register_module
-  rtnl_unlock
-  rtnl_unregister
-  rtnl_unregister_all
-  sched_setscheduler
-  schedule
-  schedule_timeout
-  scnprintf
-  security_sock_graft
-  send_sig
-  seq_lseek
-  seq_printf
-  seq_putc
-  seq_puts
-  seq_read
-  serial8250_get_port
-  serial8250_register_8250_port
-  serial8250_resume_port
-  serial8250_suspend_port
-  serial8250_unregister_port
-  set_disk_ro
-  set_page_dirty
-  sg_alloc_table
-  sg_alloc_table_from_pages
-  sg_copy_from_buffer
-  sg_copy_to_buffer
-  sg_free_table
-  sg_init_one
-  sg_init_table
-  sg_miter_next
-  sg_miter_start
-  sg_miter_stop
-  sg_nents
-  sg_nents_for_len
-  sg_next
-  shmem_file_setup
-  shmem_read_mapping_page_gfp
-  si_mem_available
-  si_meminfo
-  simple_attr_open
-  simple_attr_read
-  simple_attr_release
-  simple_attr_write
-  simple_read_from_buffer
-  simple_strtoul
-  single_open
-  single_release
-  sk_alloc
-  skb_add_rx_frag
-  skb_clone
-  skb_coalesce_rx_frag
-  skb_copy
-  skb_dequeue
-  __skb_flow_dissect
-  skb_free_datagram
-  skb_page_frag_refill
-  skb_partial_csum_set
-  skb_put
-  skb_queue_purge
-  skb_queue_tail
-  skb_recv_datagram
-  skb_to_sgvec
-  skb_trim
-  skb_tstamp_tx
-  sk_free
-  snprintf
-  sock_alloc_send_skb
-  sock_diag_register
-  sock_diag_save_cookie
-  sock_diag_unregister
-  sock_efree
-  sock_get_timestamp
-  sock_i_ino
-  sock_init_data
-  sock_no_accept
-  sock_no_bind
-  sock_no_connect
-  sock_no_getname
-  sock_no_getsockopt
-  sock_no_ioctl
-  sock_no_listen
-  sock_no_mmap
-  sock_no_sendpage
-  sock_no_setsockopt
-  sock_no_shutdown
-  sock_no_socketpair
-  sock_queue_rcv_skb
-  __sock_recv_ts_and_drops
-  sock_register
-  __sock_tx_timestamp
-  sock_unregister
-  __splice_from_pipe
-  sprintf
-  sscanf
-  __stack_chk_fail
-  __stack_chk_guard
-  strcmp
-  strcpy
-  string_get_size
-  strlcpy
-  strlen
-  strncmp
-  strncpy
-  strstr
-  __sw_hweight64
-  swiotlb_max_segment
-  sync_file_create
-  sync_file_get_fence
-  synchronize_hardirq
-  synchronize_irq
-  synchronize_net
-  synchronize_rcu
-  sysfs_create_bin_file
-  sysfs_create_group
-  __sysfs_match_string
-  sysfs_remove_bin_file
-  sysfs_remove_group
-  system_freezable_wq
-  system_freezing_cnt
-  system_wq
-  __tasklet_hi_schedule
-  tasklet_init
-  tasklet_kill
-  __tasklet_schedule
-  trace_define_field
-  trace_event_buffer_commit
-  trace_event_buffer_reserve
-  trace_event_ignore_this_pid
-  trace_event_raw_init
-  trace_event_reg
-  trace_handle_return
-  __tracepoint_dma_fence_emit
-  __tracepoint_xdp_exception
-  trace_print_symbols_seq
-  trace_raw_output_prep
-  trace_seq_printf
-  try_module_get
-  unlock_page
-  unmap_mapping_range
-  unregister_blkdev
-  __unregister_chrdev
-  unregister_chrdev_region
-  unregister_netdev
-  unregister_netdevice_notifier
-  unregister_netdevice_queue
-  unregister_pernet_subsys
-  unregister_pm_notifier
-  unregister_shrinker
-  up_read
-  usb_add_gadget_udc
-  usb_add_hcd
-  usb_create_hcd
-  usb_create_shared_hcd
-  usb_del_gadget_udc
-  usb_disabled
-  usb_ep_set_maxpacket_limit
-  usb_gadget_giveback_request
-  usb_gadget_udc_reset
-  usb_get_dev
-  usb_hcd_check_unlink_urb
-  usb_hcd_giveback_urb
-  usb_hcd_is_primary_hcd
-  usb_hcd_link_urb_to_ep
-  usb_hcd_poll_rh_status
-  usb_hcd_resume_root_hub
-  usb_hcd_unlink_urb_from_ep
-  usb_put_dev
-  usb_put_hcd
-  usb_remove_hcd
-  usleep_range
-  vmalloc_to_page
-  vmap
-  vm_get_page_prot
-  vm_insert_mixed
-  vm_insert_pfn
-  vunmap
-  wait_for_completion
-  wait_for_completion_killable
-  wait_woken
-  __wake_up
-  wake_up_process
-  __warn_printk
-  wiphy_free
-  wiphy_new_nm
-  wiphy_register
-  wiphy_unregister
-  woken_wake_function
-  ww_mutex_lock
-  ww_mutex_lock_interruptible
-  ww_mutex_unlock
-  xdp_do_flush_map
-  xdp_do_redirect
-  xdp_return_frame
-  xdp_return_frame_rx_napi
-  xdp_rxq_info_reg
-  xdp_rxq_info_reg_mem_model
-  xdp_rxq_info_unreg
\ No newline at end of file
+# commonly used symbols
+  module_layout
+  __put_task_struct
diff --git a/arch/arc/boot/dts/axs10x_mb.dtsi b/arch/arc/boot/dts/axs10x_mb.dtsi
index 37bafd4..da10a56 100644
--- a/arch/arc/boot/dts/axs10x_mb.dtsi
+++ b/arch/arc/boot/dts/axs10x_mb.dtsi
@@ -80,6 +80,7 @@
 			interrupt-names = "macirq";
 			phy-mode = "rgmii";
 			snps,pbl = < 32 >;
+			snps,multicast-filter-bins = <256>;
 			clocks = <&apbclk>;
 			clock-names = "stmmaceth";
 			max-speed = <100>;
diff --git a/arch/arc/plat-eznps/Kconfig b/arch/arc/plat-eznps/Kconfig
index 8eff057..ce908e2c 100644
--- a/arch/arc/plat-eznps/Kconfig
+++ b/arch/arc/plat-eznps/Kconfig
@@ -7,7 +7,7 @@
 menuconfig ARC_PLAT_EZNPS
 	bool "\"EZchip\" ARC dev platform"
 	select CPU_BIG_ENDIAN
-	select CLKSRC_NPS
+	select CLKSRC_NPS if !PHYS_ADDR_T_64BIT
 	select EZNPS_GIC
 	select EZCHIP_NPS_MANAGEMENT_ENET if ETHERNET
 	help
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index be580d4..1042622 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -62,7 +62,7 @@
 	select HAVE_EBPF_JIT if !CPU_ENDIAN_BE32
 	select HAVE_CONTEXT_TRACKING
 	select HAVE_C_RECORDMCOUNT
-	select HAVE_DEBUG_KMEMLEAK
+	select HAVE_DEBUG_KMEMLEAK if !XIP_KERNEL
 	select HAVE_DMA_CONTIGUOUS if MMU
 	select HAVE_DYNAMIC_FTRACE if (!XIP_KERNEL) && !CPU_ENDIAN_BE32 && MMU
 	select HAVE_DYNAMIC_FTRACE_WITH_REGS if HAVE_DYNAMIC_FTRACE
@@ -2082,7 +2082,7 @@
 config KEXEC
 	bool "Kexec system call (EXPERIMENTAL)"
 	depends on (!SMP || PM_SLEEP_SMP)
-	depends on !CPU_V7M
+	depends on MMU
 	select KEXEC_CORE
 	help
 	  kexec is a system call that implements the ability to shutdown your
diff --git a/arch/arm/boot/dts/am335x-boneblack-common.dtsi b/arch/arm/boot/dts/am335x-boneblack-common.dtsi
index 21bc117..cb4267e 100644
--- a/arch/arm/boot/dts/am335x-boneblack-common.dtsi
+++ b/arch/arm/boot/dts/am335x-boneblack-common.dtsi
@@ -131,6 +131,11 @@
 };
 
 / {
+	memory@80000000 {
+		device_type = "memory";
+		reg = <0x80000000 0x20000000>; /* 512 MB */
+	};
+
 	clk_mcasp0_fixed: clk_mcasp0_fixed {
 		#clock-cells = <0>;
 		compatible = "fixed-clock";
diff --git a/arch/arm/boot/dts/am437x-idk-evm.dts b/arch/arm/boot/dts/am437x-idk-evm.dts
index 2013247..80603af 100644
--- a/arch/arm/boot/dts/am437x-idk-evm.dts
+++ b/arch/arm/boot/dts/am437x-idk-evm.dts
@@ -525,11 +525,11 @@
 	 * Supply voltage supervisor on board will not allow opp50 so
 	 * disable it and set opp100 as suspend OPP.
 	 */
-	opp50@300000000 {
+	opp50-300000000 {
 		status = "disabled";
 	};
 
-	opp100@600000000 {
+	opp100-600000000 {
 		opp-suspend;
 	};
 };
diff --git a/arch/arm/boot/dts/am43x-epos-evm.dts b/arch/arm/boot/dts/am43x-epos-evm.dts
index 12735cf..b6950ee 100644
--- a/arch/arm/boot/dts/am43x-epos-evm.dts
+++ b/arch/arm/boot/dts/am43x-epos-evm.dts
@@ -839,6 +839,7 @@
 	pinctrl-names = "default", "sleep";
 	pinctrl-0 = <&spi0_pins_default>;
 	pinctrl-1 = <&spi0_pins_sleep>;
+	ti,pindir-d0-out-d1-in = <1>;
 };
 
 &spi1 {
@@ -846,6 +847,7 @@
 	pinctrl-names = "default", "sleep";
 	pinctrl-0 = <&spi1_pins_default>;
 	pinctrl-1 = <&spi1_pins_sleep>;
+	ti,pindir-d0-out-d1-in = <1>;
 };
 
 &usb2_phy1 {
diff --git a/arch/arm/boot/dts/am43xx-clocks.dtsi b/arch/arm/boot/dts/am43xx-clocks.dtsi
index a7037a4..ce3c419 100644
--- a/arch/arm/boot/dts/am43xx-clocks.dtsi
+++ b/arch/arm/boot/dts/am43xx-clocks.dtsi
@@ -707,6 +707,60 @@
 		ti,bit-shift = <8>;
 		reg = <0x2a48>;
 	};
+
+	clkout1_osc_div_ck: clkout1-osc-div-ck {
+		#clock-cells = <0>;
+		compatible = "ti,divider-clock";
+		clocks = <&sys_clkin_ck>;
+		ti,bit-shift = <20>;
+		ti,max-div = <4>;
+		reg = <0x4100>;
+	};
+
+	clkout1_src2_mux_ck: clkout1-src2-mux-ck {
+		#clock-cells = <0>;
+		compatible = "ti,mux-clock";
+		clocks = <&clk_rc32k_ck>, <&sysclk_div>, <&dpll_ddr_m2_ck>,
+			 <&dpll_per_m2_ck>, <&dpll_disp_m2_ck>,
+			 <&dpll_mpu_m2_ck>;
+		reg = <0x4100>;
+	};
+
+	clkout1_src2_pre_div_ck: clkout1-src2-pre-div-ck {
+		#clock-cells = <0>;
+		compatible = "ti,divider-clock";
+		clocks = <&clkout1_src2_mux_ck>;
+		ti,bit-shift = <4>;
+		ti,max-div = <8>;
+		reg = <0x4100>;
+	};
+
+	clkout1_src2_post_div_ck: clkout1-src2-post-div-ck {
+		#clock-cells = <0>;
+		compatible = "ti,divider-clock";
+		clocks = <&clkout1_src2_pre_div_ck>;
+		ti,bit-shift = <8>;
+		ti,max-div = <32>;
+		ti,index-power-of-two;
+		reg = <0x4100>;
+	};
+
+	clkout1_mux_ck: clkout1-mux-ck {
+		#clock-cells = <0>;
+		compatible = "ti,mux-clock";
+		clocks = <&clkout1_osc_div_ck>, <&clk_rc32k_ck>,
+			 <&clkout1_src2_post_div_ck>, <&dpll_extdev_m2_ck>;
+		ti,bit-shift = <16>;
+		reg = <0x4100>;
+	};
+
+	clkout1_ck: clkout1-ck {
+		#clock-cells = <0>;
+		compatible = "ti,gate-clock";
+		clocks = <&clkout1_mux_ck>;
+		ti,bit-shift = <23>;
+		reg = <0x4100>;
+	};
 };
 
 &prcm {
diff --git a/arch/arm/boot/dts/am571x-idk.dts b/arch/arm/boot/dts/am571x-idk.dts
index 6bebedf..510f61d 100644
--- a/arch/arm/boot/dts/am571x-idk.dts
+++ b/arch/arm/boot/dts/am571x-idk.dts
@@ -90,11 +90,7 @@
 
 &pcie1_rc {
 	status = "okay";
-	gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
-};
-
-&pcie1_ep {
-	gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
+	gpios = <&gpio5 18 GPIO_ACTIVE_HIGH>;
 };
 
 &mmc1 {
diff --git a/arch/arm/boot/dts/am572x-idk-common.dtsi b/arch/arm/boot/dts/am572x-idk-common.dtsi
index 784639d..8a7d34c 100644
--- a/arch/arm/boot/dts/am572x-idk-common.dtsi
+++ b/arch/arm/boot/dts/am572x-idk-common.dtsi
@@ -71,10 +71,6 @@
 	gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
 };
 
-&pcie1_ep {
-	gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
-};
-
 &mailbox5 {
 	status = "okay";
 	mbox_ipu1_ipc3x: mbox_ipu1_ipc3x {
diff --git a/arch/arm/boot/dts/am57xx-beagle-x15-common.dtsi b/arch/arm/boot/dts/am57xx-beagle-x15-common.dtsi
index d53532b..0051b2e 100644
--- a/arch/arm/boot/dts/am57xx-beagle-x15-common.dtsi
+++ b/arch/arm/boot/dts/am57xx-beagle-x15-common.dtsi
@@ -32,6 +32,27 @@
 		reg = <0x0 0x80000000 0x0 0x80000000>;
 	};
 
+	main_12v0: fixedregulator-main_12v0 {
+		/* main supply */
+		compatible = "regulator-fixed";
+		regulator-name = "main_12v0";
+		regulator-min-microvolt = <12000000>;
+		regulator-max-microvolt = <12000000>;
+		regulator-always-on;
+		regulator-boot-on;
+	};
+
+	evm_5v0: fixedregulator-evm_5v0 {
+		/* Output of TPS54531D */
+		compatible = "regulator-fixed";
+		regulator-name = "evm_5v0";
+		regulator-min-microvolt = <5000000>;
+		regulator-max-microvolt = <5000000>;
+		vin-supply = <&main_12v0>;
+		regulator-always-on;
+		regulator-boot-on;
+	};
+
 	vdd_3v3: fixedregulator-vdd_3v3 {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_3v3";
@@ -550,10 +571,6 @@
 	gpios = <&gpio2 8 GPIO_ACTIVE_LOW>;
 };
 
-&pcie1_ep {
-	gpios = <&gpio2 8 GPIO_ACTIVE_LOW>;
-};
-
 &mcasp3 {
 	#sound-dai-cells = <0>;
 	assigned-clocks = <&l4per_clkctrl DRA7_MCASP3_CLKCTRL 24>;
diff --git a/arch/arm/boot/dts/aspeed-g5.dtsi b/arch/arm/boot/dts/aspeed-g5.dtsi
index d107459..f2e1015 100644
--- a/arch/arm/boot/dts/aspeed-g5.dtsi
+++ b/arch/arm/boot/dts/aspeed-g5.dtsi
@@ -247,7 +247,7 @@
 				compatible = "aspeed,ast2500-gpio";
 				reg = <0x1e780000 0x1000>;
 				interrupts = <20>;
-				gpio-ranges = <&pinctrl 0 0 220>;
+				gpio-ranges = <&pinctrl 0 0 232>;
 				clocks = <&syscon ASPEED_CLK_APB>;
 				interrupt-controller;
 			};
diff --git a/arch/arm/boot/dts/at91-nattis-2-natte-2.dts b/arch/arm/boot/dts/at91-nattis-2-natte-2.dts
index af9f384..4308a07 100644
--- a/arch/arm/boot/dts/at91-nattis-2-natte-2.dts
+++ b/arch/arm/boot/dts/at91-nattis-2-natte-2.dts
@@ -38,14 +38,16 @@
 						atmel,pins =
 							<AT91_PIOA 21
 							 AT91_PERIPH_GPIO
-							 AT91_PINCTRL_OUTPUT_VAL(0)>;
+							 (AT91_PINCTRL_OUTPUT |
+							  AT91_PINCTRL_OUTPUT_VAL(0))>;
 					};
 
 					pinctrl_lcd_hipow0: lcd_hipow0 {
 						atmel,pins =
 							<AT91_PIOA 23
 							 AT91_PERIPH_GPIO
-							 AT91_PINCTRL_OUTPUT_VAL(0)>;
+							 (AT91_PINCTRL_OUTPUT |
+							  AT91_PINCTRL_OUTPUT_VAL(0))>;
 					};
 				};
 			};
@@ -219,6 +221,7 @@
 		reg = <0>;
 		bus-width = <4>;
 		cd-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>;
+		cd-inverted;
 	};
 };
 
diff --git a/arch/arm/boot/dts/at91sam9260.dtsi b/arch/arm/boot/dts/at91sam9260.dtsi
index 9118e29..3fa6b9f 100644
--- a/arch/arm/boot/dts/at91sam9260.dtsi
+++ b/arch/arm/boot/dts/at91sam9260.dtsi
@@ -434,7 +434,7 @@
 				usart0 {
 					pinctrl_usart0: usart0-0 {
 						atmel,pins =
-							<AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE
+							<AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
 							 AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
 					};
 
@@ -468,7 +468,7 @@
 				usart1 {
 					pinctrl_usart1: usart1-0 {
 						atmel,pins =
-							<AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE
+							<AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
 							 AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
 					};
 
@@ -486,7 +486,7 @@
 				usart2 {
 					pinctrl_usart2: usart2-0 {
 						atmel,pins =
-							<AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_NONE
+							<AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
 							 AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
 					};
 
@@ -504,7 +504,7 @@
 				usart3 {
 					pinctrl_usart3: usart3-0 {
 						atmel,pins =
-							<AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE
+							<AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
 							 AT91_PIOB 11 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
 					};
 
@@ -522,7 +522,7 @@
 				uart0 {
 					pinctrl_uart0: uart0-0 {
 						atmel,pins =
-							<AT91_PIOA 31 AT91_PERIPH_B AT91_PINCTRL_NONE
+							<AT91_PIOA 31 AT91_PERIPH_B AT91_PINCTRL_PULL_UP
 							 AT91_PIOA 30 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
 					};
 				};
@@ -530,7 +530,7 @@
 				uart1 {
 					pinctrl_uart1: uart1-0 {
 						atmel,pins =
-							<AT91_PIOB 12 AT91_PERIPH_A AT91_PINCTRL_NONE
+							<AT91_PIOB 12 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
 							 AT91_PIOB 13 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
 					};
 				};
diff --git a/arch/arm/boot/dts/at91sam9261.dtsi b/arch/arm/boot/dts/at91sam9261.dtsi
index 33f09d5..590d288 100644
--- a/arch/arm/boot/dts/at91sam9261.dtsi
+++ b/arch/arm/boot/dts/at91sam9261.dtsi
@@ -328,7 +328,7 @@
 				usart0 {
 					pinctrl_usart0: usart0-0 {
 						atmel,pins =
-							<AT91_PIOC 8 AT91_PERIPH_A AT91_PINCTRL_NONE>,
+							<AT91_PIOC 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
 							<AT91_PIOC 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
 					};
 
@@ -346,7 +346,7 @@
 				usart1 {
 					pinctrl_usart1: usart1-0 {
 						atmel,pins =
-							<AT91_PIOC 12 AT91_PERIPH_A AT91_PINCTRL_NONE>,
+							<AT91_PIOC 12 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
 							<AT91_PIOC 13 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
 					};
 
@@ -364,7 +364,7 @@
 				usart2 {
 					pinctrl_usart2: usart2-0 {
 						atmel,pins =
-							<AT91_PIOC 14 AT91_PERIPH_A AT91_PINCTRL_NONE>,
+							<AT91_PIOC 14 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
 							<AT91_PIOC 15 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
 					};
 
diff --git a/arch/arm/boot/dts/at91sam9263.dtsi b/arch/arm/boot/dts/at91sam9263.dtsi
index af68a86..745918b 100644
--- a/arch/arm/boot/dts/at91sam9263.dtsi
+++ b/arch/arm/boot/dts/at91sam9263.dtsi
@@ -437,7 +437,7 @@
 				usart0 {
 					pinctrl_usart0: usart0-0 {
 						atmel,pins =
-							<AT91_PIOA 26 AT91_PERIPH_A AT91_PINCTRL_NONE
+							<AT91_PIOA 26 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
 							 AT91_PIOA 27 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
 					};
 
@@ -455,7 +455,7 @@
 				usart1 {
 					pinctrl_usart1: usart1-0 {
 						atmel,pins =
-							<AT91_PIOD 0 AT91_PERIPH_A AT91_PINCTRL_NONE
+							<AT91_PIOD 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
 							 AT91_PIOD 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
 					};
 
@@ -473,7 +473,7 @@
 				usart2 {
 					pinctrl_usart2: usart2-0 {
 						atmel,pins =
-							<AT91_PIOD 2 AT91_PERIPH_A AT91_PINCTRL_NONE
+							<AT91_PIOD 2 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
 							 AT91_PIOD 3 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
 					};
 
diff --git a/arch/arm/boot/dts/at91sam9g45.dtsi b/arch/arm/boot/dts/at91sam9g45.dtsi
index d16db1f..ea80a5a 100644
--- a/arch/arm/boot/dts/at91sam9g45.dtsi
+++ b/arch/arm/boot/dts/at91sam9g45.dtsi
@@ -555,7 +555,7 @@
 				usart0 {
 					pinctrl_usart0: usart0-0 {
 						atmel,pins =
-							<AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_NONE
+							<AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
 							 AT91_PIOB 18 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
 					};
 
@@ -573,7 +573,7 @@
 				usart1 {
 					pinctrl_usart1: usart1-0 {
 						atmel,pins =
-							<AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE
+							<AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
 							 AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
 					};
 
@@ -591,7 +591,7 @@
 				usart2 {
 					pinctrl_usart2: usart2-0 {
 						atmel,pins =
-							<AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE
+							<AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
 							 AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
 					};
 
@@ -609,7 +609,7 @@
 				usart3 {
 					pinctrl_usart3: usart3-0 {
 						atmel,pins =
-							<AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_NONE
+							<AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
 							 AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
 					};
 
diff --git a/arch/arm/boot/dts/at91sam9rl.dtsi b/arch/arm/boot/dts/at91sam9rl.dtsi
index 8fb2203..ad495f5 100644
--- a/arch/arm/boot/dts/at91sam9rl.dtsi
+++ b/arch/arm/boot/dts/at91sam9rl.dtsi
@@ -681,7 +681,7 @@
 				usart0 {
 					pinctrl_usart0: usart0-0 {
 						atmel,pins =
-							<AT91_PIOA 6 AT91_PERIPH_A AT91_PINCTRL_NONE>,
+							<AT91_PIOA 6 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
 							<AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
 					};
 
@@ -720,7 +720,7 @@
 				usart1 {
 					pinctrl_usart1: usart1-0 {
 						atmel,pins =
-							<AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_NONE>,
+							<AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
 							<AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
 					};
 
@@ -743,7 +743,7 @@
 				usart2 {
 					pinctrl_usart2: usart2-0 {
 						atmel,pins =
-							<AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE>,
+							<AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
 							<AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
 					};
 
@@ -766,7 +766,7 @@
 				usart3 {
 					pinctrl_usart3: usart3-0 {
 						atmel,pins =
-							<AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE>,
+							<AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
 							<AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
 					};
 
diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi
index cb2d6d7..c481eab 100644
--- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
+++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
@@ -32,7 +32,7 @@
 
 		mailbox@7e00b840 {
 			compatible = "brcm,bcm2835-vchiq";
-			reg = <0x7e00b840 0xf>;
+			reg = <0x7e00b840 0x3c>;
 			interrupts = <0 2>;
 		};
 	};
diff --git a/arch/arm/boot/dts/dra76x.dtsi b/arch/arm/boot/dts/dra76x.dtsi
index 613e4dc..216e1d1 100644
--- a/arch/arm/boot/dts/dra76x.dtsi
+++ b/arch/arm/boot/dts/dra76x.dtsi
@@ -81,3 +81,8 @@
 		reg = <0x3fc>;
 	};
 };
+
+&mmc3 {
+	/* dra76x is not affected by i887 */
+	max-frequency = <96000000>;
+};
diff --git a/arch/arm/boot/dts/imx6dl-icore-mipi.dts b/arch/arm/boot/dts/imx6dl-icore-mipi.dts
index bf53f05..f88ad5e 100644
--- a/arch/arm/boot/dts/imx6dl-icore-mipi.dts
+++ b/arch/arm/boot/dts/imx6dl-icore-mipi.dts
@@ -8,7 +8,7 @@
 /dts-v1/;
 
 #include "imx6dl.dtsi"
-#include "imx6qdl-icore.dtsi"
+#include "imx6qdl-icore-1.5.dtsi"
 
 / {
 	model = "Engicam i.CoreM6 DualLite/Solo MIPI Starter Kit";
diff --git a/arch/arm/boot/dts/imx6q-dhcom-pdk2.dts b/arch/arm/boot/dts/imx6q-dhcom-pdk2.dts
index 9c61e3b..1c46df68 100644
--- a/arch/arm/boot/dts/imx6q-dhcom-pdk2.dts
+++ b/arch/arm/boot/dts/imx6q-dhcom-pdk2.dts
@@ -55,7 +55,7 @@
 		#sound-dai-cells = <0>;
 		clocks = <&clk_ext_audio_codec>;
 		VDDA-supply = <&reg_3p3v>;
-		VDDIO-supply = <&reg_3p3v>;
+		VDDIO-supply = <&sw2_reg>;
 	};
 };
 
diff --git a/arch/arm/boot/dts/imx6q-dhcom-som.dtsi b/arch/arm/boot/dts/imx6q-dhcom-som.dtsi
index bbba067..5b4d789 100644
--- a/arch/arm/boot/dts/imx6q-dhcom-som.dtsi
+++ b/arch/arm/boot/dts/imx6q-dhcom-som.dtsi
@@ -205,7 +205,7 @@
 	};
 
 	rtc@56 {
-		compatible = "rv3029c2";
+		compatible = "microcrystal,rv3029";
 		pinctrl-names = "default";
 		pinctrl-0 = <&pinctrl_rtc_hw300>;
 		reg = <0x56>;
diff --git a/arch/arm/boot/dts/imx6qdl-icore-1.5.dtsi b/arch/arm/boot/dts/imx6qdl-icore-1.5.dtsi
new file mode 100644
index 0000000..d91d46b
--- /dev/null
+++ b/arch/arm/boot/dts/imx6qdl-icore-1.5.dtsi
@@ -0,0 +1,34 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2018 Jacopo Mondi <jacopo@jmondi.org>
+ */
+
+#include "imx6qdl-icore.dtsi"
+
+&iomuxc {
+	pinctrl_enet: enetgrp {
+		fsl,pins = <
+			MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN	0x1b0b0
+			MX6QDL_PAD_GPIO_16__ENET_REF_CLK	0x4001b0b0
+			MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN	0x1b0b0
+			MX6QDL_PAD_ENET_RXD1__ENET_RX_DATA1	0x1b0b0
+			MX6QDL_PAD_ENET_RXD0__ENET_RX_DATA0	0x1b0b0
+			MX6QDL_PAD_ENET_TXD1__ENET_TX_DATA1	0x1b0b0
+			MX6QDL_PAD_ENET_TXD0__ENET_TX_DATA0	0x1b0b0
+			MX6QDL_PAD_ENET_MDC__ENET_MDC		0x1b0b0
+			MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x1b0b0
+			MX6QDL_PAD_GPIO_17__GPIO7_IO12		0x1b0b0
+		>;
+	};
+};
+
+&fec {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_enet>;
+	phy-reset-gpios = <&gpio7 12 GPIO_ACTIVE_LOW>;
+	clocks = <&clks IMX6QDL_CLK_ENET>,
+		 <&clks IMX6QDL_CLK_ENET>,
+		 <&clks IMX6QDL_CLK_ENET_REF>;
+	phy-mode = "rmii";
+	status = "okay";
+};
diff --git a/arch/arm/boot/dts/imx6qdl-phytec-phycore-som.dtsi b/arch/arm/boot/dts/imx6qdl-phytec-phycore-som.dtsi
index 6486df3..881cea0 100644
--- a/arch/arm/boot/dts/imx6qdl-phytec-phycore-som.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-phytec-phycore-som.dtsi
@@ -183,7 +183,6 @@
 	pinctrl-0 = <&pinctrl_usdhc4>;
 	bus-width = <8>;
 	non-removable;
-	vmmc-supply = <&vdd_emmc_1p8>;
 	status = "disabled";
 };
 
diff --git a/arch/arm/boot/dts/imx6qdl-zii-rdu2.dtsi b/arch/arm/boot/dts/imx6qdl-zii-rdu2.dtsi
index 315d0e7..bc5f2de 100644
--- a/arch/arm/boot/dts/imx6qdl-zii-rdu2.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-zii-rdu2.dtsi
@@ -657,7 +657,7 @@
 	pinctrl-0 = <&pinctrl_usdhc2>;
 	bus-width = <4>;
 	cd-gpios = <&gpio2 2 GPIO_ACTIVE_LOW>;
-	wp-gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;
+	disable-wp;
 	vmmc-supply = <&reg_3p3v_sd>;
 	vqmmc-supply = <&reg_3p3v>;
 	no-1-8-v;
@@ -670,7 +670,7 @@
 	pinctrl-0 = <&pinctrl_usdhc3>;
 	bus-width = <4>;
 	cd-gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
-	wp-gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>;
+	disable-wp;
 	vmmc-supply = <&reg_3p3v_sd>;
 	vqmmc-supply = <&reg_3p3v>;
 	no-1-8-v;
@@ -804,6 +804,7 @@
 &usbh1 {
 	vbus-supply = <&reg_5p0v_main>;
 	disable-over-current;
+	maximum-speed = "full-speed";
 	status = "okay";
 };
 
@@ -1081,7 +1082,6 @@
 			MX6QDL_PAD_SD2_DAT1__SD2_DATA1		0x17059
 			MX6QDL_PAD_SD2_DAT2__SD2_DATA2		0x17059
 			MX6QDL_PAD_SD2_DAT3__SD2_DATA3		0x17059
-			MX6QDL_PAD_NANDF_D3__GPIO2_IO03		0x40010040
 			MX6QDL_PAD_NANDF_D2__GPIO2_IO02		0x40010040
 		>;
 	};
@@ -1094,7 +1094,6 @@
 			MX6QDL_PAD_SD3_DAT1__SD3_DATA1		0x17059
 			MX6QDL_PAD_SD3_DAT2__SD3_DATA2		0x17059
 			MX6QDL_PAD_SD3_DAT3__SD3_DATA3		0x17059
-			MX6QDL_PAD_NANDF_D1__GPIO2_IO01		0x40010040
 			MX6QDL_PAD_NANDF_D0__GPIO2_IO00		0x40010040
 
 		>;
diff --git a/arch/arm/boot/dts/imx7-colibri.dtsi b/arch/arm/boot/dts/imx7-colibri.dtsi
index c1ed831..37aeba9 100644
--- a/arch/arm/boot/dts/imx7-colibri.dtsi
+++ b/arch/arm/boot/dts/imx7-colibri.dtsi
@@ -319,7 +319,6 @@
 	assigned-clock-rates = <400000000>;
 	bus-width = <8>;
 	fsl,tuning-step = <2>;
-	max-frequency = <100000000>;
 	vmmc-supply = <&reg_module_3v3>;
 	vqmmc-supply = <&reg_DCDC3>;
 	non-removable;
diff --git a/arch/arm/boot/dts/imx7s-colibri.dtsi b/arch/arm/boot/dts/imx7s-colibri.dtsi
index 1fb1ec5..6d16e32 100644
--- a/arch/arm/boot/dts/imx7s-colibri.dtsi
+++ b/arch/arm/boot/dts/imx7s-colibri.dtsi
@@ -49,3 +49,7 @@
 		reg = <0x80000000 0x10000000>;
 	};
 };
+
+&gpmi {
+	status = "okay";
+};
diff --git a/arch/arm/boot/dts/iwg20d-q7-common.dtsi b/arch/arm/boot/dts/iwg20d-q7-common.dtsi
index 5cae74e..a2c9a1e 100644
--- a/arch/arm/boot/dts/iwg20d-q7-common.dtsi
+++ b/arch/arm/boot/dts/iwg20d-q7-common.dtsi
@@ -87,7 +87,7 @@
 		regulator-min-microvolt = <1800000>;
 		regulator-max-microvolt = <3300000>;
 
-		gpios = <&gpio2 30 GPIO_ACTIVE_LOW>;
+		gpios = <&gpio2 30 GPIO_ACTIVE_HIGH>;
 		gpios-states = <1>;
 		states = <3300000 1
 			  1800000 0>;
diff --git a/arch/arm/boot/dts/logicpd-som-lv-baseboard.dtsi b/arch/arm/boot/dts/logicpd-som-lv-baseboard.dtsi
index 4990ed9..3e39b9a 100644
--- a/arch/arm/boot/dts/logicpd-som-lv-baseboard.dtsi
+++ b/arch/arm/boot/dts/logicpd-som-lv-baseboard.dtsi
@@ -153,7 +153,7 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&mmc1_pins>;
 	wp-gpios = <&gpio4 30 GPIO_ACTIVE_HIGH>;		/* gpio_126 */
-	cd-gpios = <&gpio4 14 IRQ_TYPE_LEVEL_LOW>;		/* gpio_110 */
+	cd-gpios = <&gpio4 14 GPIO_ACTIVE_LOW>;			/* gpio_110 */
 	vmmc-supply = <&vmmc1>;
 	bus-width = <4>;
 	cap-power-off-card;
diff --git a/arch/arm/boot/dts/logicpd-som-lv.dtsi b/arch/arm/boot/dts/logicpd-som-lv.dtsi
index 98b682a..c5d54c4 100644
--- a/arch/arm/boot/dts/logicpd-som-lv.dtsi
+++ b/arch/arm/boot/dts/logicpd-som-lv.dtsi
@@ -232,6 +232,20 @@
 		>;
 	};
 
+	i2c2_pins: pinmux_i2c2_pins {
+		pinctrl-single,pins = <
+			OMAP3_CORE1_IOPAD(0x21be, PIN_INPUT | MUX_MODE0)	/* i2c2_scl */
+			OMAP3_CORE1_IOPAD(0x21c0, PIN_INPUT | MUX_MODE0)	/* i2c2_sda */
+		>;
+	};
+
+	i2c3_pins: pinmux_i2c3_pins {
+		pinctrl-single,pins = <
+			OMAP3_CORE1_IOPAD(0x21c2, PIN_INPUT | MUX_MODE0)	/* i2c3_scl */
+			OMAP3_CORE1_IOPAD(0x21c4, PIN_INPUT | MUX_MODE0)	/* i2c3_sda */
+		>;
+	};
+
 	tsc2004_pins: pinmux_tsc2004_pins {
 		pinctrl-single,pins = <
 			OMAP3_CORE1_IOPAD(0x2186, PIN_INPUT | MUX_MODE4)	/* mcbsp4_dr.gpio_153 */
@@ -253,18 +267,6 @@
 			OMAP3_WKUP_IOPAD(0x2a0c, PIN_OUTPUT | MUX_MODE4)	/* sys_boot1.gpio_3 */
 		>;
 	};
-	i2c2_pins: pinmux_i2c2_pins {
-		pinctrl-single,pins = <
-			OMAP3_CORE1_IOPAD(0x21be, PIN_INPUT | MUX_MODE0)	/* i2c2_scl */
-			OMAP3_CORE1_IOPAD(0x21c0, PIN_INPUT | MUX_MODE0)	/* i2c2_sda */
-		>;
-	};
-	i2c3_pins: pinmux_i2c3_pins {
-		pinctrl-single,pins = <
-			OMAP3_CORE1_IOPAD(0x21c2, PIN_INPUT | MUX_MODE0)	/* i2c3_scl */
-			OMAP3_CORE1_IOPAD(0x21c4, PIN_INPUT | MUX_MODE0)	/* i2c3_sda */
-		>;
-	};
 };
 
 &omap3_pmx_core2 {
diff --git a/arch/arm/boot/dts/lpc3250-phy3250.dts b/arch/arm/boot/dts/lpc3250-phy3250.dts
index 1e1c2f5..ffcf786 100644
--- a/arch/arm/boot/dts/lpc3250-phy3250.dts
+++ b/arch/arm/boot/dts/lpc3250-phy3250.dts
@@ -49,8 +49,8 @@
 		sd_reg: regulator@2 {
 			compatible = "regulator-fixed";
 			regulator-name = "sd_reg";
-			regulator-min-microvolt = <1800000>;
-			regulator-max-microvolt = <1800000>;
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
 			gpio = <&gpio 5 5 0>;
 			enable-active-high;
 		};
diff --git a/arch/arm/boot/dts/lpc32xx.dtsi b/arch/arm/boot/dts/lpc32xx.dtsi
index ed0d6fb..9ad3df1 100644
--- a/arch/arm/boot/dts/lpc32xx.dtsi
+++ b/arch/arm/boot/dts/lpc32xx.dtsi
@@ -139,11 +139,11 @@
 		};
 
 		clcd: clcd@31040000 {
-			compatible = "arm,pl110", "arm,primecell";
+			compatible = "arm,pl111", "arm,primecell";
 			reg = <0x31040000 0x1000>;
 			interrupts = <14 IRQ_TYPE_LEVEL_HIGH>;
-			clocks = <&clk LPC32XX_CLK_LCD>;
-			clock-names = "apb_pclk";
+			clocks = <&clk LPC32XX_CLK_LCD>, <&clk LPC32XX_CLK_LCD>;
+			clock-names = "clcdclk", "apb_pclk";
 			status = "disabled";
 		};
 
@@ -462,7 +462,9 @@
 			key: key@40050000 {
 				compatible = "nxp,lpc3220-key";
 				reg = <0x40050000 0x1000>;
-				interrupts = <54 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&clk LPC32XX_CLK_KEY>;
+				interrupt-parent = <&sic1>;
+				interrupts = <22 IRQ_TYPE_LEVEL_HIGH>;
 				status = "disabled";
 			};
 
diff --git a/arch/arm/boot/dts/ls1021a-twr.dts b/arch/arm/boot/dts/ls1021a-twr.dts
index f0c949d..ec5afad 100644
--- a/arch/arm/boot/dts/ls1021a-twr.dts
+++ b/arch/arm/boot/dts/ls1021a-twr.dts
@@ -143,7 +143,7 @@
 };
 
 &enet0 {
-	tbi-handle = <&tbi1>;
+	tbi-handle = <&tbi0>;
 	phy-handle = <&sgmii_phy2>;
 	phy-connection-type = "sgmii";
 	status = "okay";
@@ -222,6 +222,13 @@
 	sgmii_phy2: ethernet-phy@2 {
 		reg = <0x2>;
 	};
+	tbi0: tbi-phy@1f {
+		reg = <0x1f>;
+		device_type = "tbi-phy";
+	};
+};
+
+&mdio1 {
 	tbi1: tbi-phy@1f {
 		reg = <0x1f>;
 		device_type = "tbi-phy";
diff --git a/arch/arm/boot/dts/ls1021a.dtsi b/arch/arm/boot/dts/ls1021a.dtsi
index f184905..074b4ec 100644
--- a/arch/arm/boot/dts/ls1021a.dtsi
+++ b/arch/arm/boot/dts/ls1021a.dtsi
@@ -592,6 +592,15 @@
 			      <0x0 0x2d10030 0x0 0x4>;
 		};
 
+		mdio1: mdio@2d64000 {
+			compatible = "gianfar";
+			device_type = "mdio";
+			#address-cells = <1>;
+			#size-cells = <0>;
+			reg = <0x0 0x2d64000 0x0 0x4000>,
+			      <0x0 0x2d50030 0x0 0x4>;
+		};
+
 		ptp_clock@2d10e00 {
 			compatible = "fsl,etsec-ptp";
 			reg = <0x0 0x2d10e00 0x0 0xb0>;
diff --git a/arch/arm/boot/dts/meson8.dtsi b/arch/arm/boot/dts/meson8.dtsi
index 7162e0c..ba78170 100644
--- a/arch/arm/boot/dts/meson8.dtsi
+++ b/arch/arm/boot/dts/meson8.dtsi
@@ -139,7 +139,7 @@
 &aobus {
 	pmu: pmu@e0 {
 		compatible = "amlogic,meson8-pmu", "syscon";
-		reg = <0xe0 0x8>;
+		reg = <0xe0 0x18>;
 	};
 
 	pinctrl_aobus: pinctrl@84 {
diff --git a/arch/arm/boot/dts/omap3-n900.dts b/arch/arm/boot/dts/omap3-n900.dts
index 182a539..37785e7 100644
--- a/arch/arm/boot/dts/omap3-n900.dts
+++ b/arch/arm/boot/dts/omap3-n900.dts
@@ -158,6 +158,12 @@
 		pwms = <&pwm9 0 26316 0>; /* 38000 Hz */
 	};
 
+	rom_rng: rng {
+		compatible = "nokia,n900-rom-rng";
+		clocks = <&rng_ick>;
+		clock-names = "ick";
+	};
+
 	/* controlled (enabled/disabled) directly by bcm2048 and wl1251 */
 	vctcxo: vctcxo {
 		compatible = "fixed-clock";
diff --git a/arch/arm/boot/dts/r8a7743.dtsi b/arch/arm/boot/dts/r8a7743.dtsi
index 24715f7..5015e22 100644
--- a/arch/arm/boot/dts/r8a7743.dtsi
+++ b/arch/arm/boot/dts/r8a7743.dtsi
@@ -565,9 +565,7 @@
 			/* doesn't need pinmux */
 			#address-cells = <1>;
 			#size-cells = <0>;
-			compatible = "renesas,iic-r8a7743",
-				     "renesas,rcar-gen2-iic",
-				     "renesas,rmobile-iic";
+			compatible = "renesas,iic-r8a7743";
 			reg = <0 0xe60b0000 0 0x425>;
 			interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>;
 			clocks = <&cpg CPG_MOD 926>;
diff --git a/arch/arm/boot/dts/r8a7779.dtsi b/arch/arm/boot/dts/r8a7779.dtsi
index 0391971..f1c9b2b 100644
--- a/arch/arm/boot/dts/r8a7779.dtsi
+++ b/arch/arm/boot/dts/r8a7779.dtsi
@@ -68,6 +68,14 @@
 		      <0xf0000100 0x100>;
 	};
 
+	timer@f0000200 {
+		compatible = "arm,cortex-a9-global-timer";
+		reg = <0xf0000200 0x100>;
+		interrupts = <GIC_PPI 11
+			(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>;
+		clocks = <&cpg_clocks R8A7779_CLK_ZS>;
+	};
+
 	timer@f0000600 {
 		compatible = "arm,cortex-a9-twd-timer";
 		reg = <0xf0000600 0x20>;
diff --git a/arch/arm/boot/dts/sama5d3.dtsi b/arch/arm/boot/dts/sama5d3.dtsi
index 1408fa4..d01464b 100644
--- a/arch/arm/boot/dts/sama5d3.dtsi
+++ b/arch/arm/boot/dts/sama5d3.dtsi
@@ -1187,49 +1187,49 @@
 					usart0_clk: usart0_clk {
 						#clock-cells = <0>;
 						reg = <12>;
-						atmel,clk-output-range = <0 66000000>;
+						atmel,clk-output-range = <0 83000000>;
 					};
 
 					usart1_clk: usart1_clk {
 						#clock-cells = <0>;
 						reg = <13>;
-						atmel,clk-output-range = <0 66000000>;
+						atmel,clk-output-range = <0 83000000>;
 					};
 
 					usart2_clk: usart2_clk {
 						#clock-cells = <0>;
 						reg = <14>;
-						atmel,clk-output-range = <0 66000000>;
+						atmel,clk-output-range = <0 83000000>;
 					};
 
 					usart3_clk: usart3_clk {
 						#clock-cells = <0>;
 						reg = <15>;
-						atmel,clk-output-range = <0 66000000>;
+						atmel,clk-output-range = <0 83000000>;
 					};
 
 					uart0_clk: uart0_clk {
 						#clock-cells = <0>;
 						reg = <16>;
-						atmel,clk-output-range = <0 66000000>;
+						atmel,clk-output-range = <0 83000000>;
 					};
 
 					twi0_clk: twi0_clk {
 						reg = <18>;
 						#clock-cells = <0>;
-						atmel,clk-output-range = <0 16625000>;
+						atmel,clk-output-range = <0 41500000>;
 					};
 
 					twi1_clk: twi1_clk {
 						#clock-cells = <0>;
 						reg = <19>;
-						atmel,clk-output-range = <0 16625000>;
+						atmel,clk-output-range = <0 41500000>;
 					};
 
 					twi2_clk: twi2_clk {
 						#clock-cells = <0>;
 						reg = <20>;
-						atmel,clk-output-range = <0 16625000>;
+						atmel,clk-output-range = <0 41500000>;
 					};
 
 					mci0_clk: mci0_clk {
@@ -1245,19 +1245,19 @@
 					spi0_clk: spi0_clk {
 						#clock-cells = <0>;
 						reg = <24>;
-						atmel,clk-output-range = <0 133000000>;
+						atmel,clk-output-range = <0 166000000>;
 					};
 
 					spi1_clk: spi1_clk {
 						#clock-cells = <0>;
 						reg = <25>;
-						atmel,clk-output-range = <0 133000000>;
+						atmel,clk-output-range = <0 166000000>;
 					};
 
 					tcb0_clk: tcb0_clk {
 						#clock-cells = <0>;
 						reg = <26>;
-						atmel,clk-output-range = <0 133000000>;
+						atmel,clk-output-range = <0 166000000>;
 					};
 
 					pwm_clk: pwm_clk {
@@ -1268,7 +1268,7 @@
 					adc_clk: adc_clk {
 						#clock-cells = <0>;
 						reg = <29>;
-						atmel,clk-output-range = <0 66000000>;
+						atmel,clk-output-range = <0 83000000>;
 					};
 
 					dma0_clk: dma0_clk {
@@ -1299,13 +1299,13 @@
 					ssc0_clk: ssc0_clk {
 						#clock-cells = <0>;
 						reg = <38>;
-						atmel,clk-output-range = <0 66000000>;
+						atmel,clk-output-range = <0 83000000>;
 					};
 
 					ssc1_clk: ssc1_clk {
 						#clock-cells = <0>;
 						reg = <39>;
-						atmel,clk-output-range = <0 66000000>;
+						atmel,clk-output-range = <0 83000000>;
 					};
 
 					sha_clk: sha_clk {
diff --git a/arch/arm/boot/dts/sama5d3_can.dtsi b/arch/arm/boot/dts/sama5d3_can.dtsi
index c5a3772..0fac79f 100644
--- a/arch/arm/boot/dts/sama5d3_can.dtsi
+++ b/arch/arm/boot/dts/sama5d3_can.dtsi
@@ -37,13 +37,13 @@
 					can0_clk: can0_clk {
 						#clock-cells = <0>;
 						reg = <40>;
-						atmel,clk-output-range = <0 66000000>;
+						atmel,clk-output-range = <0 83000000>;
 					};
 
 					can1_clk: can1_clk {
 						#clock-cells = <0>;
 						reg = <41>;
-						atmel,clk-output-range = <0 66000000>;
+						atmel,clk-output-range = <0 83000000>;
 					};
 				};
 			};
diff --git a/arch/arm/boot/dts/sama5d3_tcb1.dtsi b/arch/arm/boot/dts/sama5d3_tcb1.dtsi
index cb30bdb1..7a68d35 100644
--- a/arch/arm/boot/dts/sama5d3_tcb1.dtsi
+++ b/arch/arm/boot/dts/sama5d3_tcb1.dtsi
@@ -23,6 +23,7 @@
 					tcb1_clk: tcb1_clk {
 						#clock-cells = <0>;
 						reg = <27>;
+						atmel,clk-output-range = <0 166000000>;
 					};
 				};
 			};
diff --git a/arch/arm/boot/dts/sama5d3_uart.dtsi b/arch/arm/boot/dts/sama5d3_uart.dtsi
index f599f8a..f6d301c 100644
--- a/arch/arm/boot/dts/sama5d3_uart.dtsi
+++ b/arch/arm/boot/dts/sama5d3_uart.dtsi
@@ -42,13 +42,13 @@
 					uart0_clk: uart0_clk {
 						#clock-cells = <0>;
 						reg = <16>;
-						atmel,clk-output-range = <0 66000000>;
+						atmel,clk-output-range = <0 83000000>;
 					};
 
 					uart1_clk: uart1_clk {
 						#clock-cells = <0>;
 						reg = <17>;
-						atmel,clk-output-range = <0 66000000>;
+						atmel,clk-output-range = <0 83000000>;
 					};
 				};
 			};
diff --git a/arch/arm/boot/dts/stihxxx-b2120.dtsi b/arch/arm/boot/dts/stihxxx-b2120.dtsi
index 4dedfcb..ac42d3c 100644
--- a/arch/arm/boot/dts/stihxxx-b2120.dtsi
+++ b/arch/arm/boot/dts/stihxxx-b2120.dtsi
@@ -45,7 +45,7 @@
 			/* DAC */
 			format = "i2s";
 			mclk-fs = <256>;
-			frame-inversion = <1>;
+			frame-inversion;
 			cpu {
 				sound-dai = <&sti_uni_player2>;
 			};
diff --git a/arch/arm/boot/dts/stm32f469-disco.dts b/arch/arm/boot/dts/stm32f469-disco.dts
index 3ee768c..eea979e 100644
--- a/arch/arm/boot/dts/stm32f469-disco.dts
+++ b/arch/arm/boot/dts/stm32f469-disco.dts
@@ -75,6 +75,13 @@
 		regulator-max-microvolt = <3300000>;
 	};
 
+	vdd_dsi: vdd-dsi {
+		compatible = "regulator-fixed";
+		regulator-name = "vdd_dsi";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+	};
+
 	soc {
 		dma-ranges = <0xc0000000 0x0 0x10000000>;
 	};
@@ -154,6 +161,7 @@
 		compatible = "orisetech,otm8009a";
 		reg = <0>; /* dsi virtual channel (0..3) */
 		reset-gpios = <&gpioh 7 GPIO_ACTIVE_LOW>;
+		power-supply = <&vdd_dsi>;
 		status = "okay";
 
 		port {
diff --git a/arch/arm/boot/dts/stm32h743i-eval.dts b/arch/arm/boot/dts/stm32h743i-eval.dts
index 3f8e0c4..5bf64e6 100644
--- a/arch/arm/boot/dts/stm32h743i-eval.dts
+++ b/arch/arm/boot/dts/stm32h743i-eval.dts
@@ -79,6 +79,7 @@
 };
 
 &adc_12 {
+	vdda-supply = <&vdda>;
 	vref-supply = <&vdda>;
 	status = "okay";
 	adc1: adc@0 {
diff --git a/arch/arm/boot/dts/sun8i-a23-a33.dtsi b/arch/arm/boot/dts/sun8i-a23-a33.dtsi
index c16ffcc..1efad1a 100644
--- a/arch/arm/boot/dts/sun8i-a23-a33.dtsi
+++ b/arch/arm/boot/dts/sun8i-a23-a33.dtsi
@@ -155,6 +155,21 @@
 			#dma-cells = <1>;
 		};
 
+		nfc: nand@1c03000 {
+			compatible = "allwinner,sun4i-a10-nand";
+			reg = <0x01c03000 0x1000>;
+			interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&ccu CLK_BUS_NAND>, <&ccu CLK_NAND>;
+			clock-names = "ahb", "mod";
+			resets = <&ccu RST_BUS_NAND>;
+			reset-names = "ahb";
+			pinctrl-names = "default";
+			pinctrl-0 = <&nand_pins &nand_pins_cs0 &nand_pins_rb0>;
+			status = "disabled";
+			#address-cells = <1>;
+			#size-cells = <0>;
+		};
+
 		mmc0: mmc@1c0f000 {
 			compatible = "allwinner,sun7i-a20-mmc";
 			reg = <0x01c0f000 0x1000>;
@@ -212,21 +227,6 @@
 			#size-cells = <0>;
 		};
 
-		nfc: nand@1c03000 {
-			compatible = "allwinner,sun4i-a10-nand";
-			reg = <0x01c03000 0x1000>;
-			interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
-			clocks = <&ccu CLK_BUS_NAND>, <&ccu CLK_NAND>;
-			clock-names = "ahb", "mod";
-			resets = <&ccu RST_BUS_NAND>;
-			reset-names = "ahb";
-			pinctrl-names = "default";
-			pinctrl-0 = <&nand_pins &nand_pins_cs0 &nand_pins_rb0>;
-			status = "disabled";
-			#address-cells = <1>;
-			#size-cells = <0>;
-		};
-
 		usb_otg: usb@1c19000 {
 			/* compatible gets set in SoC specific dtsi file */
 			reg = <0x01c19000 0x0400>;
diff --git a/arch/arm/boot/dts/sun8i-a83t-cubietruck-plus.dts b/arch/arm/boot/dts/sun8i-a83t-cubietruck-plus.dts
index e5f0645..7e74ba8 100644
--- a/arch/arm/boot/dts/sun8i-a83t-cubietruck-plus.dts
+++ b/arch/arm/boot/dts/sun8i-a83t-cubietruck-plus.dts
@@ -90,7 +90,7 @@
 		initial-mode = <1>; /* initialize in HUB mode */
 		disabled-ports = <1>;
 		intn-gpios = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
-		reset-gpios = <&pio 4 16 GPIO_ACTIVE_HIGH>; /* PE16 */
+		reset-gpios = <&pio 4 16 GPIO_ACTIVE_LOW>; /* PE16 */
 		connect-gpios = <&pio 4 17 GPIO_ACTIVE_HIGH>; /* PE17 */
 		refclk-frequency = <19200000>;
 	};
diff --git a/arch/arm/boot/dts/sun8i-h3-beelink-x2.dts b/arch/arm/boot/dts/sun8i-h3-beelink-x2.dts
index 25540b7..6523d81 100644
--- a/arch/arm/boot/dts/sun8i-h3-beelink-x2.dts
+++ b/arch/arm/boot/dts/sun8i-h3-beelink-x2.dts
@@ -90,6 +90,8 @@
 	wifi_pwrseq: wifi_pwrseq {
 		compatible = "mmc-pwrseq-simple";
 		reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
+		clocks = <&rtc 1>;
+		clock-names = "ext_clock";
 	};
 
 	sound_spdif {
@@ -155,6 +157,8 @@
 
 &mmc1 {
 	vmmc-supply = <&reg_vcc3v3>;
+	vqmmc-supply = <&reg_vcc3v3>;
+	mmc-pwrseq = <&wifi_pwrseq>;
 	bus-width = <4>;
 	non-removable;
 	status = "okay";
diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi
index 9233ba3..11172fb 100644
--- a/arch/arm/boot/dts/sun8i-h3.dtsi
+++ b/arch/arm/boot/dts/sun8i-h3.dtsi
@@ -80,7 +80,7 @@
 			#cooling-cells = <2>;
 		};
 
-		cpu@1 {
+		cpu1: cpu@1 {
 			compatible = "arm,cortex-a7";
 			device_type = "cpu";
 			reg = <1>;
@@ -90,7 +90,7 @@
 			#cooling-cells = <2>;
 		};
 
-		cpu@2 {
+		cpu2: cpu@2 {
 			compatible = "arm,cortex-a7";
 			device_type = "cpu";
 			reg = <2>;
@@ -100,7 +100,7 @@
 			#cooling-cells = <2>;
 		};
 
-		cpu@3 {
+		cpu3: cpu@3 {
 			compatible = "arm,cortex-a7";
 			device_type = "cpu";
 			reg = <3>;
@@ -111,6 +111,15 @@
 		};
 	};
 
+	pmu {
+		compatible = "arm,cortex-a7-pmu";
+		interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
+			     <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
+			     <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
+			     <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
+		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
+	};
+
 	timer {
 		compatible = "arm,armv7-timer";
 		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
diff --git a/arch/arm/boot/dts/sun9i-a80-optimus.dts b/arch/arm/boot/dts/sun9i-a80-optimus.dts
index 58a199b..d1e58a6 100644
--- a/arch/arm/boot/dts/sun9i-a80-optimus.dts
+++ b/arch/arm/boot/dts/sun9i-a80-optimus.dts
@@ -82,7 +82,7 @@
 
 	reg_usb1_vbus: usb1-vbus {
 		compatible = "regulator-fixed";
-		pinctrl-names = "default";
+		regulator-name = "usb1-vbus";
 		regulator-min-microvolt = <5000000>;
 		regulator-max-microvolt = <5000000>;
 		enable-active-high;
@@ -91,7 +91,7 @@
 
 	reg_usb3_vbus: usb3-vbus {
 		compatible = "regulator-fixed";
-		pinctrl-names = "default";
+		regulator-name = "usb3-vbus";
 		regulator-min-microvolt = <5000000>;
 		regulator-max-microvolt = <5000000>;
 		enable-active-high;
diff --git a/arch/arm/common/mcpm_entry.c b/arch/arm/common/mcpm_entry.c
index ad574d2..1b1b82b 100644
--- a/arch/arm/common/mcpm_entry.c
+++ b/arch/arm/common/mcpm_entry.c
@@ -381,7 +381,7 @@
 	unsigned int cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1);
 	phys_reset_t phys_reset;
 
-	mcpm_set_entry_vector(cpu, cluster, cpu_resume);
+	mcpm_set_entry_vector(cpu, cluster, cpu_resume_no_hyp);
 	setup_mm_for_reboot();
 
 	__mcpm_cpu_going_down(cpu, cluster);
diff --git a/arch/arm/configs/qcom_defconfig b/arch/arm/configs/qcom_defconfig
index 6aa7046..bd6440f 100644
--- a/arch/arm/configs/qcom_defconfig
+++ b/arch/arm/configs/qcom_defconfig
@@ -207,6 +207,7 @@
 CONFIG_MSM_IOMMU=y
 CONFIG_HWSPINLOCK=y
 CONFIG_HWSPINLOCK_QCOM=y
+CONFIG_MAILBOX=y
 CONFIG_REMOTEPROC=y
 CONFIG_QCOM_ADSP_PIL=y
 CONFIG_QCOM_Q6V5_PIL=y
diff --git a/arch/arm/configs/vendor/bengal-perf_defconfig b/arch/arm/configs/vendor/bengal-perf_defconfig
index dc26d22..47882c3 100644
--- a/arch/arm/configs/vendor/bengal-perf_defconfig
+++ b/arch/arm/configs/vendor/bengal-perf_defconfig
@@ -127,7 +127,6 @@
 CONFIG_IPV6_MULTIPLE_TABLES=y
 CONFIG_IPV6_SUBTREES=y
 CONFIG_NETFILTER=y
-# CONFIG_BRIDGE_NETFILTER is not set
 CONFIG_NF_CONNTRACK=y
 CONFIG_NF_CONNTRACK_SECMARK=y
 CONFIG_NF_CONNTRACK_EVENTS=y
@@ -379,7 +378,6 @@
 CONFIG_V4L_PLATFORM_DRIVERS=y
 CONFIG_VIDEO_V4L2_VIDEOBUF2_CORE=y
 CONFIG_DRM=y
-# CONFIG_DRM_MSM is not set
 CONFIG_BACKLIGHT_LCD_SUPPORT=y
 CONFIG_BACKLIGHT_CLASS_DEVICE=y
 CONFIG_LOGO=y
@@ -579,7 +577,6 @@
 # CONFIG_NETWORK_FILESYSTEMS is not set
 CONFIG_NLS_CODEPAGE_437=y
 CONFIG_NLS_ISO8859_1=y
-CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y
 CONFIG_SECURITY=y
 CONFIG_LSM_MMAP_MIN_ADDR=4096
 CONFIG_HARDENED_USERCOPY=y
diff --git a/arch/arm/configs/vendor/bengal_defconfig b/arch/arm/configs/vendor/bengal_defconfig
index 61d4f2d..4eb59dd 100644
--- a/arch/arm/configs/vendor/bengal_defconfig
+++ b/arch/arm/configs/vendor/bengal_defconfig
@@ -410,7 +410,6 @@
 CONFIG_SOC_CAMERA_PLATFORM=y
 CONFIG_VIDEO_V4L2_VIDEOBUF2_CORE=y
 CONFIG_DRM=y
-# CONFIG_DRM_MSM is not set
 CONFIG_BACKLIGHT_LCD_SUPPORT=y
 CONFIG_BACKLIGHT_CLASS_DEVICE=y
 CONFIG_BACKLIGHT_GENERIC=m
@@ -628,7 +627,6 @@
 CONFIG_NLS_CODEPAGE_437=y
 CONFIG_NLS_ASCII=y
 CONFIG_NLS_ISO8859_1=y
-CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y
 CONFIG_SECURITY=y
 CONFIG_LSM_MMAP_MIN_ADDR=4096
 CONFIG_HARDENED_USERCOPY=y
diff --git a/arch/arm/include/asm/kvm_emulate.h b/arch/arm/include/asm/kvm_emulate.h
index 77121b7..7d2ca03 100644
--- a/arch/arm/include/asm/kvm_emulate.h
+++ b/arch/arm/include/asm/kvm_emulate.h
@@ -26,13 +26,25 @@
 #include <asm/cputype.h>
 
 /* arm64 compatibility macros */
+#define PSR_AA32_MODE_FIQ	FIQ_MODE
+#define PSR_AA32_MODE_SVC	SVC_MODE
 #define PSR_AA32_MODE_ABT	ABT_MODE
 #define PSR_AA32_MODE_UND	UND_MODE
 #define PSR_AA32_T_BIT		PSR_T_BIT
+#define PSR_AA32_F_BIT		PSR_F_BIT
 #define PSR_AA32_I_BIT		PSR_I_BIT
 #define PSR_AA32_A_BIT		PSR_A_BIT
 #define PSR_AA32_E_BIT		PSR_E_BIT
 #define PSR_AA32_IT_MASK	PSR_IT_MASK
+#define PSR_AA32_GE_MASK	0x000f0000
+#define PSR_AA32_DIT_BIT	0x00200000
+#define PSR_AA32_PAN_BIT	0x00400000
+#define PSR_AA32_SSBS_BIT	0x00800000
+#define PSR_AA32_Q_BIT		PSR_Q_BIT
+#define PSR_AA32_V_BIT		PSR_V_BIT
+#define PSR_AA32_C_BIT		PSR_C_BIT
+#define PSR_AA32_Z_BIT		PSR_Z_BIT
+#define PSR_AA32_N_BIT		PSR_N_BIT
 
 unsigned long *vcpu_reg(struct kvm_vcpu *vcpu, u8 reg_num);
 
@@ -53,6 +65,11 @@
 	*__vcpu_spsr(vcpu) = v;
 }
 
+static inline unsigned long host_spsr_to_spsr32(unsigned long spsr)
+{
+	return spsr;
+}
+
 static inline unsigned long vcpu_get_reg(struct kvm_vcpu *vcpu,
 					 u8 reg_num)
 {
@@ -189,6 +206,11 @@
 	return kvm_vcpu_get_hsr(vcpu) & HSR_SSE;
 }
 
+static inline bool kvm_vcpu_dabt_issf(const struct kvm_vcpu *vcpu)
+{
+	return false;
+}
+
 static inline int kvm_vcpu_dabt_get_rd(struct kvm_vcpu *vcpu)
 {
 	return (kvm_vcpu_get_hsr(vcpu) & HSR_SRT_MASK) >> HSR_SRT_SHIFT;
diff --git a/arch/arm/include/asm/kvm_mmio.h b/arch/arm/include/asm/kvm_mmio.h
index f3a7de7..848339d 100644
--- a/arch/arm/include/asm/kvm_mmio.h
+++ b/arch/arm/include/asm/kvm_mmio.h
@@ -26,6 +26,8 @@
 struct kvm_decode {
 	unsigned long rt;
 	bool sign_extend;
+	/* Not used on 32-bit arm */
+	bool sixty_four;
 };
 
 void kvm_mmio_write_buf(void *buf, unsigned int len, unsigned long data);
diff --git a/arch/arm/include/asm/suspend.h b/arch/arm/include/asm/suspend.h
index 452bbdc..5063142 100644
--- a/arch/arm/include/asm/suspend.h
+++ b/arch/arm/include/asm/suspend.h
@@ -10,6 +10,7 @@
 };
 
 extern void cpu_resume(void);
+extern void cpu_resume_no_hyp(void);
 extern void cpu_resume_arm(void);
 extern int cpu_suspend(unsigned long, int (*)(unsigned long));
 
diff --git a/arch/arm/kernel/head-nommu.S b/arch/arm/kernel/head-nommu.S
index 326a97a..22efcf48 100644
--- a/arch/arm/kernel/head-nommu.S
+++ b/arch/arm/kernel/head-nommu.S
@@ -441,8 +441,8 @@
 	str	r5, [r12, #PMSAv8_RBAR_A(0)]
 	str	r6, [r12, #PMSAv8_RLAR_A(0)]
 #else
-	mcr	p15, 0, r5, c6, c10, 1			@ PRBAR4
-	mcr	p15, 0, r6, c6, c10, 2			@ PRLAR4
+	mcr	p15, 0, r5, c6, c10, 0			@ PRBAR4
+	mcr	p15, 0, r6, c6, c10, 1			@ PRLAR4
 #endif
 #endif
 	ret	lr
diff --git a/arch/arm/kernel/hyp-stub.S b/arch/arm/kernel/hyp-stub.S
index 60146e3..83e463c 100644
--- a/arch/arm/kernel/hyp-stub.S
+++ b/arch/arm/kernel/hyp-stub.S
@@ -159,10 +159,9 @@
 #if !defined(ZIMAGE) && defined(CONFIG_ARM_ARCH_TIMER)
 	@ make CNTP_* and CNTPCT accessible from PL1
 	mrc	p15, 0, r7, c0, c1, 1	@ ID_PFR1
-	lsr	r7, #16
-	and	r7, #0xf
-	cmp	r7, #1
-	bne	1f
+	ubfx	r7, r7, #16, #4
+	teq	r7, #0
+	beq	1f
 	mrc	p15, 4, r7, c14, c1, 0	@ CNTHCTL
 	orr	r7, r7, #3		@ PL1PCEN | PL1PCTEN
 	mcr	p15, 4, r7, c14, c1, 0	@ CNTHCTL
@@ -180,8 +179,8 @@
 	@ Check whether GICv3 system registers are available
 	mrc	p15, 0, r7, c0, c1, 1	@ ID_PFR1
 	ubfx	r7, r7, #28, #4
-	cmp	r7, #1
-	bne	2f
+	teq	r7, #0
+	beq	2f
 
 	@ Enable system register accesses
 	mrc	p15, 4, r7, c12, c9, 5	@ ICC_HSRE
diff --git a/arch/arm/kernel/sleep.S b/arch/arm/kernel/sleep.S
index a8257fc..5dc8b80 100644
--- a/arch/arm/kernel/sleep.S
+++ b/arch/arm/kernel/sleep.S
@@ -120,6 +120,14 @@
 	.text
 	.align
 
+#ifdef CONFIG_MCPM
+	.arm
+THUMB(	.thumb			)
+ENTRY(cpu_resume_no_hyp)
+ARM_BE8(setend be)			@ ensure we are in BE mode
+	b	no_hyp
+#endif
+
 #ifdef CONFIG_MMU
 	.arm
 ENTRY(cpu_resume_arm)
@@ -135,6 +143,7 @@
 	bl	__hyp_stub_install_secondary
 #endif
 	safe_svcmode_maskall r1
+no_hyp:
 	mov	r1, #0
 	ALT_SMP(mrc p15, 0, r0, c0, c0, 5)
 	ALT_UP_B(1f)
@@ -164,6 +173,9 @@
 #ifdef CONFIG_MMU
 ENDPROC(cpu_resume_arm)
 #endif
+#ifdef CONFIG_MCPM
+ENDPROC(cpu_resume_no_hyp)
+#endif
 
 	.align 2
 _sleep_save_sp:
diff --git a/arch/arm/kernel/vdso.c b/arch/arm/kernel/vdso.c
index f4dd7f9..e8cda5e0 100644
--- a/arch/arm/kernel/vdso.c
+++ b/arch/arm/kernel/vdso.c
@@ -205,7 +205,6 @@
 	}
 
 	text_pages = (vdso_end - vdso_start) >> PAGE_SHIFT;
-	pr_debug("vdso: %i text pages at base %p\n", text_pages, vdso_start);
 
 	/* Allocate the VDSO text pagelist */
 	vdso_text_pagelist = kcalloc(text_pages, sizeof(struct page *),
diff --git a/arch/arm/lib/copy_from_user.S b/arch/arm/lib/copy_from_user.S
index 6709a8d..f1e34f1 100644
--- a/arch/arm/lib/copy_from_user.S
+++ b/arch/arm/lib/copy_from_user.S
@@ -100,7 +100,7 @@
 
 ENDPROC(arm_copy_from_user)
 
-	.pushsection .fixup,"ax"
+	.pushsection .text.fixup,"ax"
 	.align 0
 	copy_abort_preamble
 	ldmfd	sp!, {r1, r2, r3}
diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
index bae179a..e9cfe8e 100644
--- a/arch/arm/mach-imx/Makefile
+++ b/arch/arm/mach-imx/Makefile
@@ -89,6 +89,8 @@
 obj-$(CONFIG_SOC_IMX6) += suspend-imx6.o
 obj-$(CONFIG_SOC_IMX53) += suspend-imx53.o
 endif
+AFLAGS_resume-imx6.o :=-Wa,-march=armv7-a
+obj-$(CONFIG_SOC_IMX6) += resume-imx6.o
 obj-$(CONFIG_SOC_IMX6) += pm-imx6.o
 
 obj-$(CONFIG_SOC_IMX1) += mach-imx1.o
diff --git a/arch/arm/mach-imx/common.h b/arch/arm/mach-imx/common.h
index 423dd76..9728e39 100644
--- a/arch/arm/mach-imx/common.h
+++ b/arch/arm/mach-imx/common.h
@@ -103,17 +103,17 @@
 int imx_cpu_kill(unsigned int cpu);
 
 #ifdef CONFIG_SUSPEND
-void v7_cpu_resume(void);
 void imx53_suspend(void __iomem *ocram_vbase);
 extern const u32 imx53_suspend_sz;
 void imx6_suspend(void __iomem *ocram_vbase);
 #else
-static inline void v7_cpu_resume(void) {}
 static inline void imx53_suspend(void __iomem *ocram_vbase) {}
 static const u32 imx53_suspend_sz;
 static inline void imx6_suspend(void __iomem *ocram_vbase) {}
 #endif
 
+void v7_cpu_resume(void);
+
 void imx6_pm_ccm_init(const char *ccm_compat);
 void imx6q_pm_init(void);
 void imx6dl_pm_init(void);
diff --git a/arch/arm/mach-imx/resume-imx6.S b/arch/arm/mach-imx/resume-imx6.S
new file mode 100644
index 0000000..5bd1ba7
--- /dev/null
+++ b/arch/arm/mach-imx/resume-imx6.S
@@ -0,0 +1,24 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Copyright 2014 Freescale Semiconductor, Inc.
+ */
+
+#include <linux/linkage.h>
+#include <asm/assembler.h>
+#include <asm/asm-offsets.h>
+#include <asm/hardware/cache-l2x0.h>
+#include "hardware.h"
+
+/*
+ * The following code must assume it is running from physical address
+ * where absolute virtual addresses to the data section have to be
+ * turned into relative ones.
+ */
+
+ENTRY(v7_cpu_resume)
+	bl	v7_invalidate_l1
+#ifdef CONFIG_CACHE_L2X0
+	bl	l2c310_early_resume
+#endif
+	b	cpu_resume
+ENDPROC(v7_cpu_resume)
diff --git a/arch/arm/mach-imx/suspend-imx6.S b/arch/arm/mach-imx/suspend-imx6.S
index 76ee2ce..7d84b61 100644
--- a/arch/arm/mach-imx/suspend-imx6.S
+++ b/arch/arm/mach-imx/suspend-imx6.S
@@ -333,17 +333,3 @@
 
 	ret	lr
 ENDPROC(imx6_suspend)
-
-/*
- * The following code must assume it is running from physical address
- * where absolute virtual addresses to the data section have to be
- * turned into relative ones.
- */
-
-ENTRY(v7_cpu_resume)
-	bl	v7_invalidate_l1
-#ifdef CONFIG_CACHE_L2X0
-	bl	l2c310_early_resume
-#endif
-	b	cpu_resume
-ENDPROC(v7_cpu_resume)
diff --git a/arch/arm/mach-npcm/Kconfig b/arch/arm/mach-npcm/Kconfig
index 684c9c9..1d17515 100644
--- a/arch/arm/mach-npcm/Kconfig
+++ b/arch/arm/mach-npcm/Kconfig
@@ -10,7 +10,7 @@
 	depends on ARCH_MULTI_V7
 	select PINCTRL_NPCM7XX
 	select NPCM7XX_TIMER
-	select ARCH_REQUIRE_GPIOLIB
+	select GPIOLIB
 	select CACHE_L2X0
 	select ARM_GIC
 	select HAVE_ARM_TWD if SMP
diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
index ec3789b..a8269f0 100644
--- a/arch/arm/mach-omap2/omap_hwmod.c
+++ b/arch/arm/mach-omap2/omap_hwmod.c
@@ -2430,7 +2430,7 @@
  */
 static int _setup_reset(struct omap_hwmod *oh)
 {
-	int r;
+	int r = 0;
 
 	if (oh->_state != _HWMOD_STATE_INITIALIZED)
 		return -EINVAL;
diff --git a/arch/arm/mach-omap2/pdata-quirks.c b/arch/arm/mach-omap2/pdata-quirks.c
index dae7262..b57faa2 100644
--- a/arch/arm/mach-omap2/pdata-quirks.c
+++ b/arch/arm/mach-omap2/pdata-quirks.c
@@ -263,14 +263,6 @@
 	am35xx_emac_reset();
 }
 
-static struct platform_device omap3_rom_rng_device = {
-	.name		= "omap3-rom-rng",
-	.id		= -1,
-	.dev	= {
-		.platform_data	= rx51_secure_rng_call,
-	},
-};
-
 static void __init nokia_n900_legacy_init(void)
 {
 	hsmmc2_internal_input_clk();
@@ -286,9 +278,6 @@
 			pr_warn("RX-51: Not enabling ARM errata 430973 workaround\n");
 			pr_warn("Thumb binaries may crash randomly without this workaround\n");
 		}
-
-		pr_info("RX-51: Registering OMAP3 HWRNG device\n");
-		platform_device_register(&omap3_rom_rng_device);
 	}
 }
 
@@ -466,6 +455,7 @@
 	OF_DEV_AUXDATA("ti,davinci_mdio", 0x5c030000, "davinci_mdio.0", NULL),
 	OF_DEV_AUXDATA("ti,am3517-emac", 0x5c000000, "davinci_emac.0",
 		       &am35xx_emac_pdata),
+	OF_DEV_AUXDATA("nokia,n900-rom-rng", 0, NULL, rx51_secure_rng_call),
 	/* McBSP modules with sidetone core */
 #if IS_ENABLED(CONFIG_SND_OMAP_SOC_MCBSP)
 	OF_DEV_AUXDATA("ti,omap3-mcbsp", 0x49022000, "49022000.mcbsp", &mcbsp_pdata),
diff --git a/arch/arm/mach-rpc/irq.c b/arch/arm/mach-rpc/irq.c
index b8a61cb..7f0f401 100644
--- a/arch/arm/mach-rpc/irq.c
+++ b/arch/arm/mach-rpc/irq.c
@@ -118,7 +118,7 @@
 
 void __init rpc_init_irq(void)
 {
-	unsigned int irq, clr, set = 0;
+	unsigned int irq, clr, set;
 
 	iomd_writeb(0, IOMD_IRQMASKA);
 	iomd_writeb(0, IOMD_IRQMASKB);
@@ -130,6 +130,7 @@
 
 	for (irq = 0; irq < NR_IRQS; irq++) {
 		clr = IRQ_NOREQUEST;
+		set = 0;
 
 		if (irq <= 6 || (irq >= 9 && irq <= 15))
 			clr |= IRQ_NOPROBE;
diff --git a/arch/arm/mach-stm32/Kconfig b/arch/arm/mach-stm32/Kconfig
index 713c068..adca436 100644
--- a/arch/arm/mach-stm32/Kconfig
+++ b/arch/arm/mach-stm32/Kconfig
@@ -1,5 +1,6 @@
 menuconfig ARCH_STM32
-	bool "STMicroelectronics STM32 family" if ARM_SINGLE_ARMV7M || ARCH_MULTI_V7
+	bool "STMicroelectronics STM32 family"
+	depends on ARM_SINGLE_ARMV7M || ARCH_MULTI_V7
 	select ARMV7M_SYSTICK if ARM_SINGLE_ARMV7M
 	select HAVE_ARM_ARCH_TIMER if ARCH_MULTI_V7
 	select ARM_GIC if ARCH_MULTI_V7
diff --git a/arch/arm/mach-tegra/sleep-tegra30.S b/arch/arm/mach-tegra/sleep-tegra30.S
index dd4a67d..b7cd414 100644
--- a/arch/arm/mach-tegra/sleep-tegra30.S
+++ b/arch/arm/mach-tegra/sleep-tegra30.S
@@ -382,6 +382,14 @@
 	pll_locked r1, r0, CLK_RESET_PLLC_BASE
 	pll_locked r1, r0, CLK_RESET_PLLX_BASE
 
+	tegra_get_soc_id TEGRA_APB_MISC_BASE, r1
+	cmp	r1, #TEGRA30
+	beq	1f
+	ldr	r1, [r0, #CLK_RESET_PLLP_BASE]
+	bic	r1, r1, #(1<<31)	@ disable PllP bypass
+	str	r1, [r0, #CLK_RESET_PLLP_BASE]
+1:
+
 	mov32	r7, TEGRA_TMRUS_BASE
 	ldr	r1, [r7]
 	add	r1, r1, #LOCK_DELAY
@@ -641,7 +649,10 @@
 	str	r0, [r4, #PMC_PLLP_WB0_OVERRIDE]
 
 	/* disable PLLP, PLLA, PLLC and PLLX */
+	tegra_get_soc_id TEGRA_APB_MISC_BASE, r1
+	cmp	r1, #TEGRA30
 	ldr	r0, [r5, #CLK_RESET_PLLP_BASE]
+	orrne	r0, r0, #(1 << 31)	@ enable PllP bypass on fast cluster
 	bic	r0, r0, #(1 << 30)
 	str	r0, [r5, #CLK_RESET_PLLP_BASE]
 	ldr	r0, [r5, #CLK_RESET_PLLA_BASE]
diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c
index 5d85f59..aa4e580 100644
--- a/arch/arm/mm/init.c
+++ b/arch/arm/mm/init.c
@@ -357,7 +357,7 @@
 		*p++ = 0xe7fddef0;
 }
 
-static inline void
+static inline void __init
 free_memmap(unsigned long start_pfn, unsigned long end_pfn)
 {
 	struct page *start_pg, *end_pg;
diff --git a/arch/arm/plat-pxa/ssp.c b/arch/arm/plat-pxa/ssp.c
index f519199..bf25f78 100644
--- a/arch/arm/plat-pxa/ssp.c
+++ b/arch/arm/plat-pxa/ssp.c
@@ -183,18 +183,12 @@
 
 static int pxa_ssp_remove(struct platform_device *pdev)
 {
-	struct resource *res;
 	struct ssp_device *ssp;
 
 	ssp = platform_get_drvdata(pdev);
 	if (ssp == NULL)
 		return -ENODEV;
 
-	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	release_mem_region(res->start, resource_size(res));
-
-	clk_put(ssp->clk);
-
 	mutex_lock(&ssp_lock);
 	list_del(&ssp->node);
 	mutex_unlock(&ssp_lock);
diff --git a/arch/arm64/boot/Makefile b/arch/arm64/boot/Makefile
index ee0625d..4715d40 100644
--- a/arch/arm64/boot/Makefile
+++ b/arch/arm64/boot/Makefile
@@ -18,7 +18,7 @@
 
 OBJCOPYFLAGS_Image :=-O binary -R .note -R .note.gnu.build-id -R .comment -S
 
-targets := Image Image.gz
+targets := Image Image.bz2 Image.gz Image.lz4 Image.lzma Image.lzo
 
 DTB_NAMES := $(subst $\",,$(CONFIG_BUILD_ARM64_APPENDED_DTB_IMAGE_NAMES))
 ifneq ($(DTB_NAMES),)
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
index b3f1864..185913d 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
@@ -77,7 +77,7 @@
 &mmc1 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&mmc1_pins>;
-	vmmc-supply = <&reg_aldo2>;
+	vmmc-supply = <&reg_dcdc1>;
 	vqmmc-supply = <&reg_dldo4>;
 	mmc-pwrseq = <&wifi_pwrseq>;
 	bus-width = <4>;
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
index d3daf90..7abc4ea 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
@@ -366,7 +366,8 @@
 			interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
 				     <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
 				     <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
-			clocks = <&ccu 58>;
+			clocks = <&ccu 58>, <&osc24M>, <&rtc 0>;
+			clock-names = "apb", "hosc", "losc";
 			gpio-controller;
 			#gpio-cells = <3>;
 			interrupt-controller;
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
index 48daec7..6c3a47d 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
@@ -176,6 +176,8 @@
 	pcf8563: rtc@51 {
 		compatible = "nxp,pcf8563";
 		reg = <0x51>;
+		interrupt-parent = <&r_intc>;
+		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
 		#clock-cells = <0>;
 	};
 };
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
index cfa5fff..bd43912 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
@@ -69,6 +69,16 @@
 		clock-output-names = "osc32k";
 	};
 
+	pmu {
+		compatible = "arm,cortex-a53-pmu",
+			     "arm,armv8-pmuv3";
+		interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
+			     <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
+			     <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
+			     <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
+		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
+	};
+
 	psci {
 		compatible = "arm,psci-0.2";
 		method = "smc";
@@ -101,17 +111,6 @@
 			#reset-cells = <1>;
 		};
 
-		gic: interrupt-controller@3021000 {
-			compatible = "arm,gic-400";
-			reg = <0x03021000 0x1000>,
-			      <0x03022000 0x2000>,
-			      <0x03024000 0x2000>,
-			      <0x03026000 0x2000>;
-			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
-			interrupt-controller;
-			#interrupt-cells = <3>;
-		};
-
 		pio: pinctrl@300b000 {
 			compatible = "allwinner,sun50i-h6-pinctrl";
 			reg = <0x0300b000 0x400>;
@@ -149,6 +148,17 @@
 			};
 		};
 
+		gic: interrupt-controller@3021000 {
+			compatible = "arm,gic-400";
+			reg = <0x03021000 0x1000>,
+			      <0x03022000 0x2000>,
+			      <0x03024000 0x2000>,
+			      <0x03026000 0x2000>;
+			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
+			interrupt-controller;
+			#interrupt-cells = <3>;
+		};
+
 		mmc0: mmc@4020000 {
 			compatible = "allwinner,sun50i-h6-mmc",
 				     "allwinner,sun50i-a64-mmc";
diff --git a/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi b/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi
index 9a1ea8a..85fffe0 100644
--- a/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi
+++ b/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi
@@ -59,10 +59,10 @@
 
 	pmu {
 		compatible = "arm,armv8-pmuv3";
-		interrupts = <0 120 8>,
-			     <0 121 8>,
-			     <0 122 8>,
-			     <0 123 8>;
+		interrupts = <0 170 4>,
+			     <0 171 4>,
+			     <0 172 4>,
+			     <0 173 4>;
 		interrupt-affinity = <&cpu0>,
 				     <&cpu1>,
 				     <&cpu2>,
diff --git a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
index 765247b..e14e0ce 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
@@ -125,6 +125,7 @@
 	status = "okay";
 	pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
 	pinctrl-names = "default";
+	hdmi-supply = <&hdmi_5v>;
 };
 
 &hdmi_tx_tmds_port {
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
index 864ef01..062e12a 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
@@ -33,11 +33,9 @@
 
 	gpio-keys-polled {
 		compatible = "gpio-keys-polled";
-		#address-cells = <1>;
-		#size-cells = <0>;
 		poll-interval = <100>;
 
-		button@0 {
+		power-button {
 			label = "power";
 			linux,code = <KEY_POWER>;
 			gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>;
@@ -78,6 +76,7 @@
 	status = "okay";
 	pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
 	pinctrl-names = "default";
+	hdmi-supply = <&hdmi_5v>;
 };
 
 &hdmi_tx_tmds_port {
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts
index b4dfb9a..daad007 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts
@@ -155,6 +155,7 @@
 	status = "okay";
 	pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
 	pinctrl-names = "default";
+	hdmi-supply = <&hdmi_5v>;
 };
 
 &hdmi_tx_tmds_port {
@@ -255,7 +256,6 @@
 	cap-mmc-highspeed;
 	mmc-ddr-3_3v;
 	max-frequency = <50000000>;
-	non-removable;
 	disable-wp;
 
 	mmc-pwrseq = <&emmc_pwrseq>;
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts
index 5896e8a..2602940 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts
@@ -51,6 +51,7 @@
 	status = "okay";
 	pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
 	pinctrl-names = "default";
+	hdmi-supply = <&hdmi_5v>;
 };
 
 &hdmi_tx_tmds_port {
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts
index 313f88f..bdf7c6c 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts
@@ -18,7 +18,6 @@
 
 	aliases {
 		serial0 = &uart_AO;
-		serial1 = &uart_A;
 		serial2 = &uart_AO_B;
 	};
 
@@ -63,11 +62,9 @@
 
 	gpio-keys-polled {
 		compatible = "gpio-keys-polled";
-		#address-cells = <1>;
-		#size-cells = <0>;
 		poll-interval = <100>;
 
-		button@0 {
+		power-button {
 			label = "power";
 			linux,code = <KEY_POWER>;
 			gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>;
@@ -271,6 +268,7 @@
 	status = "okay";
 	pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
 	pinctrl-names = "default";
+	hdmi-supply = <&hdmi_5v>;
 };
 
 &hdmi_tx_tmds_port {
@@ -408,8 +406,17 @@
 /* This one is connected to the Bluetooth module */
 &uart_A {
 	status = "okay";
-	pinctrl-0 = <&uart_a_pins>;
+	pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
 	pinctrl-names = "default";
+	uart-has-rtscts;
+
+	bluetooth {
+		compatible = "brcm,bcm43438-bt";
+		shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
+		max-speed = <2000000>;
+		clocks = <&wifi32k>;
+		clock-names = "lpo";
+	};
 };
 
 /* This is brought out on the Linux_RX (18) and Linux_TX (19) pins: */
diff --git a/arch/arm64/boot/dts/arm/juno-base.dtsi b/arch/arm64/boot/dts/arm/juno-base.dtsi
index ce56a4a..b6f4867 100644
--- a/arch/arm64/boot/dts/arm/juno-base.dtsi
+++ b/arch/arm64/boot/dts/arm/juno-base.dtsi
@@ -6,7 +6,6 @@
 	/*
 	 *  Devices shared by all Juno boards
 	 */
-	dma-ranges = <0 0 0 0 0x100 0>;
 
 	memtimer: timer@2a810000 {
 		compatible = "arm,armv7-timer-mem";
diff --git a/arch/arm64/boot/dts/arm/juno-clocks.dtsi b/arch/arm64/boot/dts/arm/juno-clocks.dtsi
index e5e265d..2870b5e 100644
--- a/arch/arm64/boot/dts/arm/juno-clocks.dtsi
+++ b/arch/arm64/boot/dts/arm/juno-clocks.dtsi
@@ -8,10 +8,10 @@
  */
 / {
 	/* SoC fixed clocks */
-	soc_uartclk: refclk7273800hz {
+	soc_uartclk: refclk7372800hz {
 		compatible = "fixed-clock";
 		#clock-cells = <0>;
-		clock-frequency = <7273800>;
+		clock-frequency = <7372800>;
 		clock-output-names = "juno:uartclk";
 	};
 
diff --git a/arch/arm64/boot/dts/marvell/armada-cp110.dtsi b/arch/arm64/boot/dts/marvell/armada-cp110.dtsi
index 840c845..571bede 100644
--- a/arch/arm64/boot/dts/marvell/armada-cp110.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-cp110.dtsi
@@ -359,10 +359,10 @@
 
 		CP110_LABEL(nand_controller): nand@720000 {
 			/*
-			* Due to the limitation of the pins available
-			* this controller is only usable on the CPM
-			* for A7K and on the CPS for A8K.
-			*/
+			 * Due to the limitation of the pins available
+			 * this controller is only usable on the CPM
+			 * for A7K and on the CPS for A8K.
+			 */
 			compatible = "marvell,armada-8k-nand-controller",
 				"marvell,armada370-nand-controller";
 			reg = <0x720000 0x54>;
diff --git a/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi b/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
index 78ce397..f38b815 100644
--- a/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
+++ b/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
@@ -630,6 +630,8 @@
 	l11 {
 		regulator-min-microvolt = <1750000>;
 		regulator-max-microvolt = <3337000>;
+		regulator-allow-set-load;
+		regulator-system-load = <200000>;
 	};
 
 	l12 {
diff --git a/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi b/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi
index 0ef90c6..9b41d77 100644
--- a/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi
+++ b/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi
@@ -580,6 +580,8 @@
 				l21 {
 					regulator-min-microvolt = <2950000>;
 					regulator-max-microvolt = <2950000>;
+					regulator-allow-set-load;
+					regulator-system-load = <200000>;
 				};
 				l22 {
 					regulator-min-microvolt = <3300000>;
diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi
index 7b32b89..8011e56 100644
--- a/arch/arm64/boot/dts/qcom/msm8916.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi
@@ -114,7 +114,7 @@
 			next-level-cache = <&L2_0>;
 			enable-method = "psci";
 			cpu-idle-states = <&CPU_SPC>;
-			clocks = <&apcs 0>;
+			clocks = <&apcs>;
 			operating-points-v2 = <&cpu_opp_table>;
 			#cooling-cells = <2>;
 		};
@@ -126,7 +126,7 @@
 			next-level-cache = <&L2_0>;
 			enable-method = "psci";
 			cpu-idle-states = <&CPU_SPC>;
-			clocks = <&apcs 0>;
+			clocks = <&apcs>;
 			operating-points-v2 = <&cpu_opp_table>;
 			#cooling-cells = <2>;
 		};
@@ -138,7 +138,7 @@
 			next-level-cache = <&L2_0>;
 			enable-method = "psci";
 			cpu-idle-states = <&CPU_SPC>;
-			clocks = <&apcs 0>;
+			clocks = <&apcs>;
 			operating-points-v2 = <&cpu_opp_table>;
 			#cooling-cells = <2>;
 		};
@@ -150,7 +150,7 @@
 			next-level-cache = <&L2_0>;
 			enable-method = "psci";
 			cpu-idle-states = <&CPU_SPC>;
-			clocks = <&apcs 0>;
+			clocks = <&apcs>;
 			operating-points-v2 = <&cpu_opp_table>;
 			#cooling-cells = <2>;
 		};
diff --git a/arch/arm64/boot/dts/qcom/msm8996.dtsi b/arch/arm64/boot/dts/qcom/msm8996.dtsi
index 8c86c41..3e7baab 100644
--- a/arch/arm64/boot/dts/qcom/msm8996.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8996.dtsi
@@ -918,6 +918,8 @@
 				interrupts = <0 138 IRQ_TYPE_LEVEL_HIGH>;
 				phys = <&hsusb_phy2>;
 				phy-names = "usb2-phy";
+				snps,dis_u2_susphy_quirk;
+				snps,dis_enblslpm_quirk;
 			};
 		};
 
@@ -947,6 +949,8 @@
 				interrupts = <0 131 IRQ_TYPE_LEVEL_HIGH>;
 				phys = <&hsusb_phy1>, <&ssusb_phy_0>;
 				phy-names = "usb2-phy", "usb3-phy";
+				snps,dis_u2_susphy_quirk;
+				snps,dis_enblslpm_quirk;
 			};
 		};
 
diff --git a/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi b/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi
index 7b2fbae..3dc61b7 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi
@@ -28,6 +28,7 @@
 		compatible = "renesas,ipmmu-r8a7795";
 		reg = <0 0xec680000 0 0x1000>;
 		renesas,ipmmu-main = <&ipmmu_mm 5>;
+		power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
 		#iommu-cells = <1>;
 	};
 
@@ -35,6 +36,7 @@
 		compatible = "renesas,ipmmu-r8a7795";
 		reg = <0 0xe7730000 0 0x1000>;
 		renesas,ipmmu-main = <&ipmmu_mm 8>;
+		power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
 		#iommu-cells = <1>;
 	};
 
diff --git a/arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts b/arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts
index 2bc3a48..470c2a3 100644
--- a/arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts
+++ b/arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts
@@ -33,7 +33,6 @@
 &avb {
 	pinctrl-0 = <&avb_pins>;
 	pinctrl-names = "default";
-	renesas,no-ether-link;
 	phy-handle = <&phy0>;
 	phy-mode = "rgmii-txid";
 	status = "okay";
diff --git a/arch/arm64/boot/dts/renesas/r8a77995.dtsi b/arch/arm64/boot/dts/renesas/r8a77995.dtsi
index fe77bc4..fb3ecb2 100644
--- a/arch/arm64/boot/dts/renesas/r8a77995.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a77995.dtsi
@@ -938,7 +938,7 @@
 
 		du: display@feb00000 {
 			compatible = "renesas,du-r8a77995";
-			reg = <0 0xfeb00000 0 0x80000>;
+			reg = <0 0xfeb00000 0 0x40000>;
 			interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
 				     <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>;
 			clocks = <&cpg CPG_MOD 724>,
diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index 2fc45d5..0b7f5a3 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -372,6 +372,7 @@
 CONFIG_ROCKCHIP_THERMAL=m
 CONFIG_RCAR_GEN3_THERMAL=y
 CONFIG_ARMADA_THERMAL=y
+CONFIG_BCM2835_THERMAL=m
 CONFIG_BRCMSTB_THERMAL=m
 CONFIG_EXYNOS_THERMAL=y
 CONFIG_TEGRA_BPMP_THERMAL=m
diff --git a/arch/arm64/configs/gki_defconfig b/arch/arm64/configs/gki_defconfig
index b4b41a3..0de07fe 100644
--- a/arch/arm64/configs/gki_defconfig
+++ b/arch/arm64/configs/gki_defconfig
@@ -8,15 +8,17 @@
 CONFIG_PSI=y
 CONFIG_IKCONFIG=y
 CONFIG_IKCONFIG_PROC=y
-CONFIG_IKHEADERS=m
+CONFIG_IKHEADERS=y
 CONFIG_MEMCG=y
 CONFIG_MEMCG_SWAP=y
 CONFIG_BLK_CGROUP=y
-CONFIG_RT_GROUP_SCHED=y
 CONFIG_CGROUP_FREEZER=y
 CONFIG_CPUSETS=y
 CONFIG_CGROUP_CPUACCT=y
 CONFIG_CGROUP_BPF=y
+CONFIG_NAMESPACES=y
+# CONFIG_UTS_NS is not set
+# CONFIG_PID_NS is not set
 CONFIG_SCHED_AUTOGROUP=y
 CONFIG_SCHED_TUNE=y
 CONFIG_BLK_DEV_INITRD=y
@@ -24,7 +26,6 @@
 # CONFIG_RD_LZMA is not set
 # CONFIG_RD_XZ is not set
 # CONFIG_RD_LZO is not set
-# CONFIG_RD_LZ4 is not set
 # CONFIG_SYSFS_SYSCALL is not set
 # CONFIG_FHANDLE is not set
 CONFIG_KALLSYMS_ALL=y
@@ -32,12 +33,12 @@
 CONFIG_BPF_JIT_ALWAYS_ON=y
 # CONFIG_RSEQ is not set
 CONFIG_EMBEDDED=y
-# CONFIG_VM_EVENT_COUNTERS is not set
 # CONFIG_COMPAT_BRK is not set
 # CONFIG_SLAB_MERGE_DEFAULT is not set
 CONFIG_SLAB_FREELIST_RANDOM=y
 CONFIG_SLAB_FREELIST_HARDENED=y
 CONFIG_PROFILING=y
+# CONFIG_ZONE_DMA32 is not set
 CONFIG_ARCH_HISI=y
 CONFIG_ARCH_QCOM=y
 CONFIG_PCI=y
@@ -55,6 +56,9 @@
 CONFIG_RANDOMIZE_BASE=y
 # CONFIG_DMI is not set
 CONFIG_COMPAT=y
+CONFIG_PM_WAKELOCKS=y
+CONFIG_PM_WAKELOCKS_LIMIT=0
+# CONFIG_PM_WAKELOCKS_GC is not set
 CONFIG_ENERGY_MODEL=y
 CONFIG_CPU_IDLE=y
 CONFIG_ARM_CPUIDLE=y
@@ -63,7 +67,6 @@
 CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y
 CONFIG_CPU_FREQ_GOV_POWERSAVE=y
 CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
-CONFIG_CPUFREQ_DUMMY=m
 CONFIG_ARM_SCPI_CPUFREQ=y
 CONFIG_ARM_SCMI_CPUFREQ=y
 CONFIG_ARM_SCMI_PROTOCOL=y
@@ -74,17 +77,17 @@
 CONFIG_ARM64_CRYPTO=y
 CONFIG_CRYPTO_SHA2_ARM64_CE=y
 CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
-CONFIG_KPROBES=y
 CONFIG_LTO_CLANG=y
-CONFIG_CFI_CLANG=y
 CONFIG_SHADOW_CALL_STACK=y
 CONFIG_MODULES=y
 CONFIG_MODULE_UNLOAD=y
 CONFIG_MODVERSIONS=y
 CONFIG_BLK_INLINE_ENCRYPTION=y
+CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK=y
 CONFIG_GKI_HACKS_TO_FIX=y
 # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-CONFIG_BINFMT_MISC=m
+CONFIG_BINFMT_MISC=y
+CONFIG_CLEANCACHE=y
 CONFIG_CMA=y
 CONFIG_CMA_AREAS=16
 CONFIG_ZSMALLOC=y
@@ -95,6 +98,7 @@
 CONFIG_XFRM_INTERFACE=y
 CONFIG_XFRM_STATISTICS=y
 CONFIG_NET_KEY=y
+CONFIG_XDP_SOCKETS=y
 CONFIG_INET=y
 CONFIG_IP_MULTICAST=y
 CONFIG_IP_ADVANCED_ROUTER=y
@@ -113,7 +117,6 @@
 CONFIG_IPV6_VTI=y
 CONFIG_IPV6_MULTIPLE_TABLES=y
 CONFIG_NETFILTER=y
-# CONFIG_BRIDGE_NETFILTER is not set
 CONFIG_NF_CONNTRACK=y
 CONFIG_NF_CONNTRACK_SECMARK=y
 CONFIG_NF_CONNTRACK_EVENTS=y
@@ -155,6 +158,7 @@
 CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
 CONFIG_NETFILTER_XT_MATCH_QUOTA=y
 CONFIG_NETFILTER_XT_MATCH_QUOTA2=y
+CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG=y
 CONFIG_NETFILTER_XT_MATCH_SOCKET=y
 CONFIG_NETFILTER_XT_MATCH_STATE=y
 CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
@@ -184,7 +188,6 @@
 CONFIG_IP6_NF_RAW=y
 CONFIG_TIPC=y
 CONFIG_L2TP=y
-CONFIG_BRIDGE=y
 CONFIG_NET_SCHED=y
 CONFIG_NET_SCH_HTB=y
 CONFIG_NET_SCH_INGRESS=y
@@ -193,30 +196,22 @@
 CONFIG_NET_EMATCH=y
 CONFIG_NET_EMATCH_U32=y
 CONFIG_NET_CLS_ACT=y
-CONFIG_VSOCKETS=m
-CONFIG_VIRTIO_VSOCKETS=m
 CONFIG_BPF_JIT=y
-CONFIG_CAN=m
-CONFIG_CAN_VCAN=m
 CONFIG_BT=y
 CONFIG_CFG80211=y
 # CONFIG_CFG80211_DEFAULT_PS is not set
 # CONFIG_CFG80211_CRDA_SUPPORT is not set
 CONFIG_MAC80211=y
-# CONFIG_MAC80211_RC_MINSTREL is not set
 CONFIG_RFKILL=y
 # CONFIG_UEVENT_HELPER is not set
 # CONFIG_FW_CACHE is not set
 # CONFIG_ALLOW_DEV_COREDUMP is not set
-CONFIG_DEBUG_DEVRES=y
 CONFIG_DMA_CMA=y
 CONFIG_GNSS=y
-CONFIG_GNSS_CMDLINE_SERIAL=m
 CONFIG_ZRAM=y
 CONFIG_BLK_DEV_LOOP=y
 CONFIG_BLK_DEV_RAM=y
 CONFIG_BLK_DEV_RAM_SIZE=8192
-CONFIG_VIRTIO_BLK=m
 CONFIG_UID_SYS_STATS=y
 CONFIG_SCSI=y
 # CONFIG_SCSI_PROC_FS is not set
@@ -227,6 +222,7 @@
 CONFIG_MD=y
 CONFIG_BLK_DEV_DM=y
 CONFIG_DM_CRYPT=y
+CONFIG_DM_DEFAULT_KEY=y
 CONFIG_DM_SNAPSHOT=y
 CONFIG_DM_UEVENT=y
 CONFIG_DM_VERITY=y
@@ -234,8 +230,8 @@
 CONFIG_DM_VERITY_FEC=y
 CONFIG_DM_BOW=y
 CONFIG_NETDEVICES=y
+CONFIG_DUMMY=y
 CONFIG_TUN=y
-CONFIG_VIRTIO_NET=m
 # CONFIG_ETHERNET is not set
 CONFIG_PHYLIB=y
 CONFIG_PPP=y
@@ -269,12 +265,12 @@
 # CONFIG_WLAN_VENDOR_TI is not set
 # CONFIG_WLAN_VENDOR_ZYDAS is not set
 # CONFIG_WLAN_VENDOR_QUANTENNA is not set
-CONFIG_VIRT_WIFI=m
 CONFIG_INPUT_FF_MEMLESS=y
 CONFIG_INPUT_EVDEV=y
 CONFIG_KEYBOARD_GPIO=y
 # CONFIG_INPUT_MOUSE is not set
 CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_XPAD=y
 CONFIG_INPUT_MISC=y
 CONFIG_INPUT_UINPUT=y
 # CONFIG_VT is not set
@@ -284,13 +280,11 @@
 # CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
 CONFIG_SERIAL_8250_CONSOLE=y
 # CONFIG_SERIAL_8250_EXAR is not set
-CONFIG_SERIAL_OF_PLATFORM=m
+CONFIG_SERIAL_OF_PLATFORM=y
 CONFIG_SERIAL_AMBA_PL011=y
 CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
 CONFIG_SERIAL_DEV_BUS=y
-CONFIG_VIRTIO_CONSOLE=m
 CONFIG_HW_RANDOM=y
-CONFIG_HW_RANDOM_VIRTIO=m
 # CONFIG_HW_RANDOM_CAVIUM is not set
 # CONFIG_DEVPORT is not set
 # CONFIG_I2C_COMPAT is not set
@@ -306,8 +300,10 @@
 CONFIG_CPU_THERMAL=y
 CONFIG_DEVFREQ_THERMAL=y
 CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_CORE=y
 CONFIG_MFD_ACT8945A=y
 CONFIG_MFD_SYSCON=y
+CONFIG_REGULATOR=y
 CONFIG_REGULATOR_FIXED_VOLTAGE=y
 CONFIG_MEDIA_SUPPORT=y
 CONFIG_MEDIA_CAMERA_SUPPORT=y
@@ -315,7 +311,6 @@
 # CONFIG_VGA_ARB is not set
 CONFIG_DRM=y
 # CONFIG_DRM_FBDEV_EMULATION is not set
-CONFIG_DRM_VIRTIO_GPU=m
 CONFIG_SOUND=y
 CONFIG_SND=y
 CONFIG_SND_HRTIMER=y
@@ -323,7 +318,6 @@
 # CONFIG_SND_SUPPORT_OLD_API is not set
 # CONFIG_SND_VERBOSE_PROCFS is not set
 # CONFIG_SND_DRIVERS is not set
-CONFIG_SND_INTEL8X0=y
 CONFIG_SND_USB_AUDIO=y
 CONFIG_SND_SOC=y
 CONFIG_HIDRAW=y
@@ -333,50 +327,43 @@
 CONFIG_HID_MAGICMOUSE=y
 CONFIG_HID_MICROSOFT=y
 CONFIG_HID_MULTITOUCH=y
+CONFIG_HID_NINTENDO=y
+CONFIG_HID_SONY=y
+CONFIG_HID_STEAM=y
 CONFIG_USB_HIDDEV=y
-CONFIG_USB=y
 CONFIG_USB_OTG=y
 CONFIG_USB_GADGET=y
-CONFIG_USB_DUMMY_HCD=m
 CONFIG_USB_CONFIGFS=y
 CONFIG_USB_CONFIGFS_UEVENT=y
+CONFIG_USB_CONFIGFS_MASS_STORAGE=y
 CONFIG_USB_CONFIGFS_F_FS=y
 CONFIG_USB_CONFIGFS_F_ACC=y
 CONFIG_USB_CONFIGFS_F_AUDIO_SRC=y
 CONFIG_USB_CONFIGFS_F_MIDI=y
-CONFIG_MMC=m
+CONFIG_TYPEC=y
+CONFIG_MMC=y
 # CONFIG_PWRSEQ_EMMC is not set
 # CONFIG_PWRSEQ_SIMPLE is not set
-CONFIG_MMC_SDHCI=m
-CONFIG_MMC_SDHCI_PLTFM=m
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
 CONFIG_NEW_LEDS=y
 CONFIG_LEDS_CLASS=y
 CONFIG_LEDS_TRIGGERS=y
 CONFIG_EDAC=y
 CONFIG_RTC_CLASS=y
 # CONFIG_RTC_SYSTOHC is not set
-CONFIG_RTC_DRV_TEST=m
 CONFIG_RTC_DRV_PL030=y
 CONFIG_RTC_DRV_PL031=y
 CONFIG_DMADEVICES=y
 CONFIG_UIO=y
-CONFIG_VIRTIO_PCI=m
-# CONFIG_VIRTIO_PCI_LEGACY is not set
-CONFIG_VIRTIO_INPUT=m
-CONFIG_VIRTIO_MMIO=m
-CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
 CONFIG_STAGING=y
 CONFIG_ASHMEM=y
 CONFIG_ANDROID_VSOC=y
-CONFIG_ION=y
-CONFIG_ION_SYSTEM_HEAP=y
 CONFIG_COMMON_CLK_SCPI=y
 # CONFIG_COMMON_CLK_XGENE is not set
 CONFIG_HWSPINLOCK=y
 CONFIG_MAILBOX=y
 CONFIG_ARM_SMMU=y
-CONFIG_QCOM_COMMAND_DB=y
-CONFIG_QCOM_RPMH=y
 CONFIG_DEVFREQ_GOV_PERFORMANCE=y
 CONFIG_DEVFREQ_GOV_POWERSAVE=y
 CONFIG_DEVFREQ_GOV_USERSPACE=y
@@ -389,6 +376,9 @@
 CONFIG_RAS=y
 CONFIG_ANDROID=y
 CONFIG_ANDROID_BINDER_IPC=y
+CONFIG_ANDROID_BINDERFS=y
+CONFIG_LIBNVDIMM=y
+# CONFIG_ND_BLK is not set
 CONFIG_EXT4_FS=y
 CONFIG_EXT4_FS_SECURITY=y
 CONFIG_F2FS_FS=y
@@ -402,11 +392,12 @@
 CONFIG_QFMT_V2=y
 CONFIG_FUSE_FS=y
 CONFIG_OVERLAY_FS=y
+CONFIG_INCREMENTAL_FS=y
 CONFIG_MSDOS_FS=y
 CONFIG_VFAT_FS=y
+CONFIG_TMPFS=y
 CONFIG_TMPFS_POSIX_ACL=y
 # CONFIG_EFIVAR_FS is not set
-CONFIG_SDCARD_FS=y
 CONFIG_PSTORE=y
 CONFIG_PSTORE_CONSOLE=y
 CONFIG_PSTORE_RAM=y
@@ -459,13 +450,15 @@
 CONFIG_NLS_MAC_ROMANIAN=y
 CONFIG_NLS_MAC_TURKISH=y
 CONFIG_NLS_UTF8=y
-CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y
+CONFIG_UNICODE=y
 CONFIG_SECURITY=y
+CONFIG_SECURITYFS=y
 CONFIG_SECURITY_NETWORK=y
 CONFIG_HARDENED_USERCOPY=y
 CONFIG_SECURITY_SELINUX=y
+CONFIG_INIT_STACK_ALL=y
+CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y
 CONFIG_CRYPTO_ADIANTUM=y
-CONFIG_CRYPTO_MD4=y
 CONFIG_CRYPTO_LZ4=y
 CONFIG_CRYPTO_ZSTD=y
 CONFIG_CRYPTO_ANSI_CPRNG=y
@@ -483,6 +476,6 @@
 # CONFIG_DETECT_HUNG_TASK is not set
 CONFIG_PANIC_TIMEOUT=5
 CONFIG_SCHEDSTATS=y
-# CONFIG_RUNTIME_TESTING_MENU is not set
+# CONFIG_DEBUG_PREEMPT is not set
 CONFIG_CORESIGHT=y
 CONFIG_CORESIGHT_STM=y
diff --git a/arch/arm64/configs/vendor/bengal-perf_defconfig b/arch/arm64/configs/vendor/bengal-perf_defconfig
index 3592739..dbeee56 100644
--- a/arch/arm64/configs/vendor/bengal-perf_defconfig
+++ b/arch/arm64/configs/vendor/bengal-perf_defconfig
@@ -411,7 +411,6 @@
 CONFIG_DVB_MPQ_SW=y
 CONFIG_VIDEO_V4L2_VIDEOBUF2_CORE=y
 CONFIG_DRM=y
-# CONFIG_DRM_MSM is not set
 CONFIG_BACKLIGHT_LCD_SUPPORT=y
 CONFIG_BACKLIGHT_CLASS_DEVICE=y
 CONFIG_LOGO=y
@@ -617,7 +616,6 @@
 # CONFIG_NETWORK_FILESYSTEMS is not set
 CONFIG_NLS_CODEPAGE_437=y
 CONFIG_NLS_ISO8859_1=y
-CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y
 CONFIG_SECURITY=y
 CONFIG_HARDENED_USERCOPY=y
 CONFIG_HARDENED_USERCOPY_PAGESPAN=y
diff --git a/arch/arm64/configs/vendor/bengal_defconfig b/arch/arm64/configs/vendor/bengal_defconfig
index 4467b21..c7449a1 100644
--- a/arch/arm64/configs/vendor/bengal_defconfig
+++ b/arch/arm64/configs/vendor/bengal_defconfig
@@ -423,7 +423,6 @@
 CONFIG_DVB_MPQ_SW=y
 CONFIG_VIDEO_V4L2_VIDEOBUF2_CORE=y
 CONFIG_DRM=y
-# CONFIG_DRM_MSM is not set
 CONFIG_BACKLIGHT_LCD_SUPPORT=y
 CONFIG_BACKLIGHT_CLASS_DEVICE=y
 CONFIG_LOGO=y
@@ -643,7 +642,6 @@
 # CONFIG_NETWORK_FILESYSTEMS is not set
 CONFIG_NLS_CODEPAGE_437=y
 CONFIG_NLS_ISO8859_1=y
-CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y
 CONFIG_SECURITY=y
 CONFIG_HARDENED_USERCOPY=y
 CONFIG_HARDENED_USERCOPY_PAGESPAN=y
diff --git a/arch/arm64/configs/vendor/kona-iot-perf_defconfig b/arch/arm64/configs/vendor/kona-iot-perf_defconfig
index 1b4e76f..086d497 100644
--- a/arch/arm64/configs/vendor/kona-iot-perf_defconfig
+++ b/arch/arm64/configs/vendor/kona-iot-perf_defconfig
@@ -426,7 +426,6 @@
 CONFIG_VIDEO_V4L2_VIDEOBUF2_CORE=y
 CONFIG_I2C_RTC6226_QCA=y
 CONFIG_DRM=y
-# CONFIG_DRM_MSM is not set
 CONFIG_DRM_LONTIUM_LT9611UXC=y
 CONFIG_FB_ARMCLCD=y
 CONFIG_BACKLIGHT_QCOM_SPMI_WLED=y
@@ -664,7 +663,6 @@
 CONFIG_SDCARD_FS=y
 CONFIG_NLS_CODEPAGE_437=y
 CONFIG_NLS_ISO8859_1=y
-CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y
 CONFIG_SECURITY=y
 CONFIG_HARDENED_USERCOPY=y
 CONFIG_FORTIFY_SOURCE=y
diff --git a/arch/arm64/configs/vendor/kona-iot_defconfig b/arch/arm64/configs/vendor/kona-iot_defconfig
index dbce12e..5158d35 100644
--- a/arch/arm64/configs/vendor/kona-iot_defconfig
+++ b/arch/arm64/configs/vendor/kona-iot_defconfig
@@ -442,7 +442,6 @@
 CONFIG_VIDEO_V4L2_VIDEOBUF2_CORE=y
 CONFIG_I2C_RTC6226_QCA=y
 CONFIG_DRM=y
-# CONFIG_DRM_MSM is not set
 CONFIG_DRM_LONTIUM_LT9611UXC=y
 CONFIG_BACKLIGHT_LCD_SUPPORT=y
 CONFIG_BACKLIGHT_CLASS_DEVICE=y
@@ -698,7 +697,6 @@
 # CONFIG_NETWORK_FILESYSTEMS is not set
 CONFIG_NLS_CODEPAGE_437=y
 CONFIG_NLS_ISO8859_1=y
-CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y
 CONFIG_SECURITY=y
 CONFIG_HARDENED_USERCOPY=y
 CONFIG_HARDENED_USERCOPY_PAGESPAN=y
diff --git a/arch/arm64/configs/vendor/kona-perf_defconfig b/arch/arm64/configs/vendor/kona-perf_defconfig
index 5713457..449e50f 100644
--- a/arch/arm64/configs/vendor/kona-perf_defconfig
+++ b/arch/arm64/configs/vendor/kona-perf_defconfig
@@ -431,7 +431,6 @@
 CONFIG_VIDEO_V4L2_VIDEOBUF2_CORE=y
 CONFIG_I2C_RTC6226_QCA=y
 CONFIG_DRM=y
-# CONFIG_DRM_MSM is not set
 CONFIG_DRM_LONTIUM_LT9611UXC=y
 CONFIG_FB_ARMCLCD=y
 CONFIG_BACKLIGHT_QCOM_SPMI_WLED=y
@@ -674,7 +673,6 @@
 CONFIG_SDCARD_FS=y
 CONFIG_NLS_CODEPAGE_437=y
 CONFIG_NLS_ISO8859_1=y
-CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y
 CONFIG_SECURITY=y
 CONFIG_HARDENED_USERCOPY=y
 CONFIG_FORTIFY_SOURCE=y
diff --git a/arch/arm64/configs/vendor/kona_defconfig b/arch/arm64/configs/vendor/kona_defconfig
index 5033e4a..fdd3b59 100644
--- a/arch/arm64/configs/vendor/kona_defconfig
+++ b/arch/arm64/configs/vendor/kona_defconfig
@@ -447,7 +447,6 @@
 CONFIG_VIDEO_V4L2_VIDEOBUF2_CORE=y
 CONFIG_I2C_RTC6226_QCA=y
 CONFIG_DRM=y
-# CONFIG_DRM_MSM is not set
 CONFIG_DRM_LONTIUM_LT9611UXC=y
 CONFIG_BACKLIGHT_LCD_SUPPORT=y
 CONFIG_BACKLIGHT_CLASS_DEVICE=y
@@ -709,7 +708,6 @@
 # CONFIG_NETWORK_FILESYSTEMS is not set
 CONFIG_NLS_CODEPAGE_437=y
 CONFIG_NLS_ISO8859_1=y
-CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y
 CONFIG_SECURITY=y
 CONFIG_HARDENED_USERCOPY=y
 CONFIG_HARDENED_USERCOPY_PAGESPAN=y
diff --git a/arch/arm64/configs/vendor/lito-perf_defconfig b/arch/arm64/configs/vendor/lito-perf_defconfig
index 8aa068c..851dbb5 100644
--- a/arch/arm64/configs/vendor/lito-perf_defconfig
+++ b/arch/arm64/configs/vendor/lito-perf_defconfig
@@ -281,6 +281,7 @@
 CONFIG_HDCP_QSEECOM=y
 CONFIG_QSEECOM=y
 CONFIG_UID_SYS_STATS=y
+CONFIG_FPR_FPC=y
 CONFIG_SCSI=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_SG=y
@@ -423,7 +424,6 @@
 CONFIG_DVB_MPQ_SW=y
 CONFIG_VIDEO_V4L2_VIDEOBUF2_CORE=y
 CONFIG_DRM=y
-# CONFIG_DRM_MSM is not set
 CONFIG_BACKLIGHT_LCD_SUPPORT=y
 CONFIG_BACKLIGHT_CLASS_DEVICE=y
 CONFIG_BACKLIGHT_QCOM_SPMI_WLED=y
@@ -658,7 +658,6 @@
 # CONFIG_NETWORK_FILESYSTEMS is not set
 CONFIG_NLS_CODEPAGE_437=y
 CONFIG_NLS_ISO8859_1=y
-CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y
 CONFIG_SECURITY=y
 CONFIG_HARDENED_USERCOPY=y
 CONFIG_HARDENED_USERCOPY_PAGESPAN=y
diff --git a/arch/arm64/configs/vendor/lito_defconfig b/arch/arm64/configs/vendor/lito_defconfig
index 6d687fa..c3eb6a6 100644
--- a/arch/arm64/configs/vendor/lito_defconfig
+++ b/arch/arm64/configs/vendor/lito_defconfig
@@ -287,6 +287,7 @@
 CONFIG_HDCP_QSEECOM=y
 CONFIG_QSEECOM=y
 CONFIG_UID_SYS_STATS=y
+CONFIG_FPR_FPC=y
 CONFIG_SCSI=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_SG=y
@@ -431,7 +432,6 @@
 CONFIG_DVB_MPQ_SW=y
 CONFIG_VIDEO_V4L2_VIDEOBUF2_CORE=y
 CONFIG_DRM=y
-# CONFIG_DRM_MSM is not set
 CONFIG_BACKLIGHT_LCD_SUPPORT=y
 CONFIG_BACKLIGHT_CLASS_DEVICE=y
 CONFIG_BACKLIGHT_QCOM_SPMI_WLED=y
@@ -679,7 +679,6 @@
 # CONFIG_NETWORK_FILESYSTEMS is not set
 CONFIG_NLS_CODEPAGE_437=y
 CONFIG_NLS_ISO8859_1=y
-CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y
 CONFIG_SECURITY=y
 CONFIG_HARDENED_USERCOPY=y
 CONFIG_HARDENED_USERCOPY_PAGESPAN=y
diff --git a/arch/arm64/configs/vendor/sdm660-perf_defconfig b/arch/arm64/configs/vendor/sdm660-perf_defconfig
index 67089f8..6cb4ea0 100644
--- a/arch/arm64/configs/vendor/sdm660-perf_defconfig
+++ b/arch/arm64/configs/vendor/sdm660-perf_defconfig
@@ -609,7 +609,6 @@
 CONFIG_SDCARD_FS=y
 CONFIG_NLS_CODEPAGE_437=y
 CONFIG_NLS_ISO8859_1=y
-CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y
 CONFIG_SECURITY=y
 CONFIG_HARDENED_USERCOPY=y
 CONFIG_HARDENED_USERCOPY_PAGESPAN=y
diff --git a/arch/arm64/configs/vendor/sdm660_defconfig b/arch/arm64/configs/vendor/sdm660_defconfig
index 6e561f2..79c5f50 100644
--- a/arch/arm64/configs/vendor/sdm660_defconfig
+++ b/arch/arm64/configs/vendor/sdm660_defconfig
@@ -614,7 +614,6 @@
 # CONFIG_NETWORK_FILESYSTEMS is not set
 CONFIG_NLS_CODEPAGE_437=y
 CONFIG_NLS_ISO8859_1=y
-CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y
 CONFIG_SECURITY=y
 CONFIG_HARDENED_USERCOPY=y
 CONFIG_HARDENED_USERCOPY_PAGESPAN=y
diff --git a/arch/arm64/include/asm/alternative.h b/arch/arm64/include/asm/alternative.h
index c3a08d6..887a851 100644
--- a/arch/arm64/include/asm/alternative.h
+++ b/arch/arm64/include/asm/alternative.h
@@ -42,7 +42,7 @@
 	" .byte 662b-661b\n"				/* source len      */ \
 	" .byte 664f-663f\n"				/* replacement len */
 
-#define ALTINSTR_ENTRY_CB(feature,cb)					      \
+#define ALTINSTR_ENTRY_CB(feature, cb)					      \
 	" .word 661b - .\n"				/* label           */ \
 	" .word " __stringify(cb) "- .\n"		/* callback */	      \
 	" .hword " __stringify(feature) "\n"		/* feature bit     */ \
@@ -88,7 +88,7 @@
 	oldinstr "\n"							\
 	"662:\n"							\
 	".pushsection .altinstructions,\"a\"\n"				\
-	ALTINSTR_ENTRY_CB(feature,cb)					\
+	ALTINSTR_ENTRY_CB(feature, cb)					\
 	".popsection\n"							\
 	"663:\n\t"							\
 	"664:\n\t"							\
diff --git a/arch/arm64/include/asm/kvm_emulate.h b/arch/arm64/include/asm/kvm_emulate.h
index 6106a85..778cb4f 100644
--- a/arch/arm64/include/asm/kvm_emulate.h
+++ b/arch/arm64/include/asm/kvm_emulate.h
@@ -202,6 +202,38 @@
 		vcpu_gp_regs(vcpu)->spsr[KVM_SPSR_EL1] = v;
 }
 
+/*
+ * The layout of SPSR for an AArch32 state is different when observed from an
+ * AArch64 SPSR_ELx or an AArch32 SPSR_*. This function generates the AArch32
+ * view given an AArch64 view.
+ *
+ * In ARM DDI 0487E.a see:
+ *
+ * - The AArch64 view (SPSR_EL2) in section C5.2.18, page C5-426
+ * - The AArch32 view (SPSR_abt) in section G8.2.126, page G8-6256
+ * - The AArch32 view (SPSR_und) in section G8.2.132, page G8-6280
+ *
+ * Which show the following differences:
+ *
+ * | Bit | AA64 | AA32 | Notes                       |
+ * +-----+------+------+-----------------------------|
+ * | 24  | DIT  | J    | J is RES0 in ARMv8          |
+ * | 21  | SS   | DIT  | SS doesn't exist in AArch32 |
+ *
+ * ... and all other bits are (currently) common.
+ */
+static inline unsigned long host_spsr_to_spsr32(unsigned long spsr)
+{
+	const unsigned long overlap = BIT(24) | BIT(21);
+	unsigned long dit = !!(spsr & PSR_AA32_DIT_BIT);
+
+	spsr &= ~overlap;
+
+	spsr |= dit << 21;
+
+	return spsr;
+}
+
 static inline bool vcpu_mode_priv(const struct kvm_vcpu *vcpu)
 {
 	u32 mode;
@@ -261,6 +293,11 @@
 	return !!(kvm_vcpu_get_hsr(vcpu) & ESR_ELx_SSE);
 }
 
+static inline bool kvm_vcpu_dabt_issf(const struct kvm_vcpu *vcpu)
+{
+	return !!(kvm_vcpu_get_hsr(vcpu) & ESR_ELx_SF);
+}
+
 static inline int kvm_vcpu_dabt_get_rd(const struct kvm_vcpu *vcpu)
 {
 	return (kvm_vcpu_get_hsr(vcpu) & ESR_ELx_SRT_MASK) >> ESR_ELx_SRT_SHIFT;
diff --git a/arch/arm64/include/asm/kvm_mmio.h b/arch/arm64/include/asm/kvm_mmio.h
index 75ea420..0240290c 100644
--- a/arch/arm64/include/asm/kvm_mmio.h
+++ b/arch/arm64/include/asm/kvm_mmio.h
@@ -21,13 +21,11 @@
 #include <linux/kvm_host.h>
 #include <asm/kvm_arm.h>
 
-/*
- * This is annoying. The mmio code requires this, even if we don't
- * need any decoding. To be fixed.
- */
 struct kvm_decode {
 	unsigned long rt;
 	bool sign_extend;
+	/* Witdth of the register accessed by the faulting instruction is 64-bits */
+	bool sixty_four;
 };
 
 void kvm_mmio_write_buf(void *buf, unsigned int len, unsigned long data);
diff --git a/arch/arm64/include/asm/memory.h b/arch/arm64/include/asm/memory.h
index 7feb23f..9573362 100644
--- a/arch/arm64/include/asm/memory.h
+++ b/arch/arm64/include/asm/memory.h
@@ -223,7 +223,7 @@
 	((__force __typeof__(addr))sign_extend64((__force u64)(addr), 55))
 
 #define untagged_addr(addr)	({					\
-	u64 __addr = (__force u64)addr;					\
+	u64 __addr = (__force u64)(addr);					\
 	__addr &= __untagged_addr(__addr);				\
 	(__force __typeof__(addr))__addr;				\
 })
diff --git a/arch/arm64/include/asm/mmu.h b/arch/arm64/include/asm/mmu.h
index 64ce088..c102d76 100644
--- a/arch/arm64/include/asm/mmu.h
+++ b/arch/arm64/include/asm/mmu.h
@@ -92,7 +92,7 @@
 extern void create_pgd_mapping(struct mm_struct *mm, phys_addr_t phys,
 			       unsigned long virt, phys_addr_t size,
 			       pgprot_t prot, bool page_mappings_only);
-extern void *fixmap_remap_fdt(phys_addr_t dt_phys);
+extern void *fixmap_remap_fdt(phys_addr_t dt_phys, int *size, pgprot_t prot);
 extern void mark_linear_text_alias_ro(void);
 #ifdef CONFIG_MEMORY_HOTPLUG
 extern void hotplug_paging(phys_addr_t start, phys_addr_t size);
diff --git a/arch/arm64/include/asm/ptrace.h b/arch/arm64/include/asm/ptrace.h
index 6bc4388..163970d 100644
--- a/arch/arm64/include/asm/ptrace.h
+++ b/arch/arm64/include/asm/ptrace.h
@@ -50,6 +50,7 @@
 #define PSR_AA32_I_BIT		0x00000080
 #define PSR_AA32_A_BIT		0x00000100
 #define PSR_AA32_E_BIT		0x00000200
+#define PSR_AA32_PAN_BIT	0x00400000
 #define PSR_AA32_SSBS_BIT	0x00800000
 #define PSR_AA32_DIT_BIT	0x01000000
 #define PSR_AA32_Q_BIT		0x08000000
diff --git a/arch/arm64/include/uapi/asm/ptrace.h b/arch/arm64/include/uapi/asm/ptrace.h
index b0fd1d3..978ff79 100644
--- a/arch/arm64/include/uapi/asm/ptrace.h
+++ b/arch/arm64/include/uapi/asm/ptrace.h
@@ -49,6 +49,7 @@
 #define PSR_SSBS_BIT	0x00001000
 #define PSR_PAN_BIT	0x00400000
 #define PSR_UAO_BIT	0x00800000
+#define PSR_DIT_BIT	0x01000000
 #define PSR_V_BIT	0x10000000
 #define PSR_C_BIT	0x20000000
 #define PSR_Z_BIT	0x40000000
diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c
index 045251b..1e3cad8 100644
--- a/arch/arm64/kernel/cpufeature.c
+++ b/arch/arm64/kernel/cpufeature.c
@@ -42,9 +42,7 @@
 #define COMPAT_ELF_HWCAP_DEFAULT	\
 				(COMPAT_HWCAP_HALF|COMPAT_HWCAP_THUMB|\
 				 COMPAT_HWCAP_FAST_MULT|COMPAT_HWCAP_EDSP|\
-				 COMPAT_HWCAP_TLS|COMPAT_HWCAP_VFP|\
-				 COMPAT_HWCAP_VFPv3|COMPAT_HWCAP_VFPv4|\
-				 COMPAT_HWCAP_NEON|COMPAT_HWCAP_IDIV|\
+				 COMPAT_HWCAP_TLS|COMPAT_HWCAP_IDIV|\
 				 COMPAT_HWCAP_LPAE)
 unsigned int compat_elf_hwcap __read_mostly = COMPAT_ELF_HWCAP_DEFAULT;
 unsigned int compat_elf_hwcap2 __read_mostly;
@@ -1243,7 +1241,7 @@
 	{
 		/* FP/SIMD is not implemented */
 		.capability = ARM64_HAS_NO_FPSIMD,
-		.type = ARM64_CPUCAP_SYSTEM_FEATURE,
+		.type = ARM64_CPUCAP_BOOT_RESTRICTED_CPU_LOCAL_FEATURE,
 		.min_field_value = 0,
 		.matches = has_no_fpsimd,
 	},
@@ -1343,17 +1341,30 @@
 	{},
 };
 
-#define HWCAP_CAP(reg, field, s, min_value, cap_type, cap)	\
-	{							\
-		.desc = #cap,					\
-		.type = ARM64_CPUCAP_SYSTEM_FEATURE,		\
+
+#define HWCAP_CPUID_MATCH(reg, field, s, min_value)		\
 		.matches = has_cpuid_feature,			\
 		.sys_reg = reg,					\
 		.field_pos = field,				\
 		.sign = s,					\
 		.min_field_value = min_value,			\
+
+#define __HWCAP_CAP(name, cap_type, cap)			\
+		.desc = name,					\
+		.type = ARM64_CPUCAP_SYSTEM_FEATURE,		\
 		.hwcap_type = cap_type,				\
 		.hwcap = cap,					\
+
+#define HWCAP_CAP(reg, field, s, min_value, cap_type, cap)	\
+	{							\
+		__HWCAP_CAP(#cap, cap_type, cap)		\
+		HWCAP_CPUID_MATCH(reg, field, s, min_value)	\
+	}
+
+#define HWCAP_CAP_MATCH(match, cap_type, cap)			\
+	{							\
+		__HWCAP_CAP(#cap, cap_type, cap)		\
+		.matches = match,				\
 	}
 
 static const struct arm64_cpu_capabilities arm64_elf_hwcaps[] = {
@@ -1389,8 +1400,35 @@
 	{},
 };
 
+#ifdef CONFIG_COMPAT
+static bool compat_has_neon(const struct arm64_cpu_capabilities *cap, int scope)
+{
+	/*
+	 * Check that all of MVFR1_EL1.{SIMDSP, SIMDInt, SIMDLS} are available,
+	 * in line with that of arm32 as in vfp_init(). We make sure that the
+	 * check is future proof, by making sure value is non-zero.
+	 */
+	u32 mvfr1;
+
+	WARN_ON(scope == SCOPE_LOCAL_CPU && preemptible());
+	if (scope == SCOPE_SYSTEM)
+		mvfr1 = read_sanitised_ftr_reg(SYS_MVFR1_EL1);
+	else
+		mvfr1 = read_sysreg_s(SYS_MVFR1_EL1);
+
+	return cpuid_feature_extract_unsigned_field(mvfr1, MVFR1_SIMDSP_SHIFT) &&
+		cpuid_feature_extract_unsigned_field(mvfr1, MVFR1_SIMDINT_SHIFT) &&
+		cpuid_feature_extract_unsigned_field(mvfr1, MVFR1_SIMDLS_SHIFT);
+}
+#endif
+
 static const struct arm64_cpu_capabilities compat_elf_hwcaps[] = {
 #ifdef CONFIG_COMPAT
+	HWCAP_CAP_MATCH(compat_has_neon, CAP_COMPAT_HWCAP, COMPAT_HWCAP_NEON),
+	HWCAP_CAP(SYS_MVFR1_EL1, MVFR1_SIMDFMAC_SHIFT, FTR_UNSIGNED, 1, CAP_COMPAT_HWCAP, COMPAT_HWCAP_VFPv4),
+	/* Arm v8 mandates MVFR0.FPDP == {0, 2}. So, piggy back on this for the presence of VFP support */
+	HWCAP_CAP(SYS_MVFR0_EL1, MVFR0_FPDP_SHIFT, FTR_UNSIGNED, 2, CAP_COMPAT_HWCAP, COMPAT_HWCAP_VFP),
+	HWCAP_CAP(SYS_MVFR0_EL1, MVFR0_FPDP_SHIFT, FTR_UNSIGNED, 2, CAP_COMPAT_HWCAP, COMPAT_HWCAP_VFPv3),
 	HWCAP_CAP(SYS_ID_ISAR5_EL1, ID_ISAR5_AES_SHIFT, FTR_UNSIGNED, 2, CAP_COMPAT_HWCAP2, COMPAT_HWCAP2_PMULL),
 	HWCAP_CAP(SYS_ID_ISAR5_EL1, ID_ISAR5_AES_SHIFT, FTR_UNSIGNED, 1, CAP_COMPAT_HWCAP2, COMPAT_HWCAP2_AES),
 	HWCAP_CAP(SYS_ID_ISAR5_EL1, ID_ISAR5_SHA1_SHIFT, FTR_UNSIGNED, 1, CAP_COMPAT_HWCAP2, COMPAT_HWCAP2_SHA1),
diff --git a/arch/arm64/kernel/fpsimd.c b/arch/arm64/kernel/fpsimd.c
index 58c53bc..14fdbaa 100644
--- a/arch/arm64/kernel/fpsimd.c
+++ b/arch/arm64/kernel/fpsimd.c
@@ -218,6 +218,7 @@
 static void task_fpsimd_load(void)
 {
 	WARN_ON(!in_softirq() && !irqs_disabled());
+	WARN_ON(!system_supports_fpsimd());
 
 	if (system_supports_sve() && test_thread_flag(TIF_SVE))
 		sve_load_state(sve_pffr(&current->thread),
@@ -238,6 +239,7 @@
 	struct user_fpsimd_state *st = __this_cpu_read(fpsimd_last_state.st);
 	/* set by fpsimd_bind_task_to_cpu() or fpsimd_bind_state_to_cpu() */
 
+	WARN_ON(!system_supports_fpsimd());
 	WARN_ON(!in_softirq() && !irqs_disabled());
 
 	if (!test_thread_flag(TIF_FOREIGN_FPSTATE)) {
@@ -977,6 +979,7 @@
 	struct fpsimd_last_state_struct *last =
 		this_cpu_ptr(&fpsimd_last_state);
 
+	WARN_ON(!system_supports_fpsimd());
 	last->st = &current->thread.uw.fpsimd_state;
 	current->thread.fpsimd_cpu = smp_processor_id();
 
@@ -996,6 +999,7 @@
 	struct fpsimd_last_state_struct *last =
 		this_cpu_ptr(&fpsimd_last_state);
 
+	WARN_ON(!system_supports_fpsimd());
 	WARN_ON(!in_softirq() && !irqs_disabled());
 
 	last->st = st;
@@ -1008,8 +1012,19 @@
  */
 void fpsimd_restore_current_state(void)
 {
-	if (!system_supports_fpsimd())
+	/*
+	 * For the tasks that were created before we detected the absence of
+	 * FP/SIMD, the TIF_FOREIGN_FPSTATE could be set via fpsimd_thread_switch(),
+	 * e.g, init. This could be then inherited by the children processes.
+	 * If we later detect that the system doesn't support FP/SIMD,
+	 * we must clear the flag for  all the tasks to indicate that the
+	 * FPSTATE is clean (as we can't have one) to avoid looping for ever in
+	 * do_notify_resume().
+	 */
+	if (!system_supports_fpsimd()) {
+		clear_thread_flag(TIF_FOREIGN_FPSTATE);
 		return;
+	}
 
 	local_bh_disable();
 
@@ -1028,7 +1043,7 @@
  */
 void fpsimd_update_current_state(struct user_fpsimd_state const *state)
 {
-	if (!system_supports_fpsimd())
+	if (WARN_ON(!system_supports_fpsimd()))
 		return;
 
 	local_bh_disable();
@@ -1055,6 +1070,7 @@
 
 void fpsimd_flush_cpu_state(void)
 {
+	WARN_ON(!system_supports_fpsimd());
 	__this_cpu_write(fpsimd_last_state.st, NULL);
 	set_thread_flag(TIF_FOREIGN_FPSTATE);
 }
diff --git a/arch/arm64/kernel/hibernate.c b/arch/arm64/kernel/hibernate.c
index 9859e11..dbeeeff 100644
--- a/arch/arm64/kernel/hibernate.c
+++ b/arch/arm64/kernel/hibernate.c
@@ -202,6 +202,7 @@
 				 gfp_t mask)
 {
 	int rc = 0;
+	pgd_t *trans_pgd;
 	pgd_t *pgdp;
 	pud_t *pudp;
 	pmd_t *pmdp;
@@ -216,7 +217,13 @@
 	memcpy((void *)dst, src_start, length);
 	__flush_icache_range(dst, dst + length);
 
-	pgdp = pgd_offset_raw(allocator(mask), dst_addr);
+	trans_pgd = allocator(mask);
+	if (!trans_pgd) {
+		rc = -ENOMEM;
+		goto out;
+	}
+
+	pgdp = pgd_offset_raw(trans_pgd, dst_addr);
 	if (pgd_none(READ_ONCE(*pgdp))) {
 		pudp = allocator(mask);
 		if (!pudp) {
diff --git a/arch/arm64/kernel/kaslr.c b/arch/arm64/kernel/kaslr.c
index 06941c1..92bb534 100644
--- a/arch/arm64/kernel/kaslr.c
+++ b/arch/arm64/kernel/kaslr.c
@@ -65,9 +65,6 @@
 	return default_cmdline;
 }
 
-extern void *__init __fixmap_remap_fdt(phys_addr_t dt_phys, int *size,
-				       pgprot_t prot);
-
 /*
  * This routine will be executed with the kernel mapped at its default virtual
  * address, and if it returns successfully, the kernel will be remapped, and
@@ -96,7 +93,7 @@
 	 * attempt at mapping the FDT in setup_machine()
 	 */
 	early_fixmap_init();
-	fdt = __fixmap_remap_fdt(dt_phys, &size, PAGE_KERNEL);
+	fdt = fixmap_remap_fdt(dt_phys, &size, PAGE_KERNEL);
 	if (!fdt)
 		return 0;
 
diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c
index fe97624..1e3fe20 100644
--- a/arch/arm64/kernel/process.c
+++ b/arch/arm64/kernel/process.c
@@ -496,6 +496,13 @@
 	if (unlikely(next->flags & PF_KTHREAD))
 		return;
 
+	/*
+	 * If all CPUs implement the SSBS extension, then we just need to
+	 * context-switch the PSTATE field.
+	 */
+	if (cpu_have_feature(cpu_feature(SSBS)))
+		return;
+
 	/* If the mitigation is enabled, then we leave SSBS clear. */
 	if ((arm64_get_ssbd_state() == ARM64_SSBD_FORCE_ENABLE) ||
 	    test_tsk_thread_flag(next, TIF_SSBD))
diff --git a/arch/arm64/kernel/ptrace.c b/arch/arm64/kernel/ptrace.c
index 0211c3c..38aab5b 100644
--- a/arch/arm64/kernel/ptrace.c
+++ b/arch/arm64/kernel/ptrace.c
@@ -627,6 +627,13 @@
 	return 0;
 }
 
+static int fpr_active(struct task_struct *target, const struct user_regset *regset)
+{
+	if (!system_supports_fpsimd())
+		return -ENODEV;
+	return regset->n;
+}
+
 /*
  * TODO: update fp accessors for lazy context switching (sync/flush hwstate)
  */
@@ -649,6 +656,9 @@
 		   unsigned int pos, unsigned int count,
 		   void *kbuf, void __user *ubuf)
 {
+	if (!system_supports_fpsimd())
+		return -EINVAL;
+
 	if (target == current)
 		fpsimd_preserve_current_state();
 
@@ -688,6 +698,9 @@
 {
 	int ret;
 
+	if (!system_supports_fpsimd())
+		return -EINVAL;
+
 	ret = __fpr_set(target, regset, pos, count, kbuf, ubuf, 0);
 	if (ret)
 		return ret;
@@ -990,6 +1003,7 @@
 		 */
 		.size = sizeof(u32),
 		.align = sizeof(u32),
+		.active = fpr_active,
 		.get = fpr_get,
 		.set = fpr_set
 	},
@@ -1176,6 +1190,9 @@
 	compat_ulong_t fpscr;
 	int ret, vregs_end_pos;
 
+	if (!system_supports_fpsimd())
+		return -EINVAL;
+
 	uregs = &target->thread.uw.fpsimd_state;
 
 	if (target == current)
@@ -1209,6 +1226,9 @@
 	compat_ulong_t fpscr;
 	int ret, vregs_end_pos;
 
+	if (!system_supports_fpsimd())
+		return -EINVAL;
+
 	uregs = &target->thread.uw.fpsimd_state;
 
 	vregs_end_pos = VFP_STATE_SIZE - sizeof(compat_ulong_t);
@@ -1266,6 +1286,7 @@
 		.n = VFP_STATE_SIZE / sizeof(compat_ulong_t),
 		.size = sizeof(compat_ulong_t),
 		.align = sizeof(compat_ulong_t),
+		.active = fpr_active,
 		.get = compat_vfp_get,
 		.set = compat_vfp_set
 	},
diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c
index f049e54..6860d8b 100644
--- a/arch/arm64/kernel/setup.c
+++ b/arch/arm64/kernel/setup.c
@@ -189,9 +189,13 @@
 
 static void __init setup_machine_fdt(phys_addr_t dt_phys)
 {
-	void *dt_virt = fixmap_remap_fdt(dt_phys);
+	int size;
+	void *dt_virt = fixmap_remap_fdt(dt_phys, &size, PAGE_KERNEL);
 	const char *name;
 
+	if (dt_virt)
+		memblock_reserve(dt_phys, size);
+
 	if (!dt_virt || !early_init_dt_scan(dt_virt)) {
 		pr_crit("\n"
 			"Error: invalid device tree blob at physical address %pa (virtual address 0x%p)\n"
@@ -203,6 +207,9 @@
 			cpu_relax();
 	}
 
+	/* Early fixups are done, map the FDT as read-only now */
+	fixmap_remap_fdt(dt_phys, &size, PAGE_KERNEL_RO);
+
 	name = of_flat_dt_get_machine_name();
 	if (!name)
 		return;
diff --git a/arch/arm64/kernel/vdso.c b/arch/arm64/kernel/vdso.c
index ec0bb58..42b7082 100644
--- a/arch/arm64/kernel/vdso.c
+++ b/arch/arm64/kernel/vdso.c
@@ -146,8 +146,6 @@
 	}
 
 	vdso_pages = (vdso_end - vdso_start) >> PAGE_SHIFT;
-	pr_info("vdso: %ld pages (%ld code @ %p, %ld data @ %p)\n",
-		vdso_pages + 1, vdso_pages, vdso_start, 1L, vdso_data);
 
 	/* Allocate the vDSO pagelist, plus a page for the data. */
 	vdso_pagelist = kcalloc(vdso_pages + 1, sizeof(struct page *),
diff --git a/arch/arm64/kvm/debug.c b/arch/arm64/kvm/debug.c
index 00d4223..4e722d7 100644
--- a/arch/arm64/kvm/debug.c
+++ b/arch/arm64/kvm/debug.c
@@ -112,7 +112,7 @@
 void kvm_arm_setup_debug(struct kvm_vcpu *vcpu)
 {
 	bool trap_debug = !(vcpu->arch.flags & KVM_ARM64_DEBUG_DIRTY);
-	unsigned long mdscr;
+	unsigned long mdscr, orig_mdcr_el2 = vcpu->arch.mdcr_el2;
 
 	trace_kvm_arm_setup_debug(vcpu, vcpu->guest_debug);
 
@@ -208,6 +208,10 @@
 	if (vcpu_read_sys_reg(vcpu, MDSCR_EL1) & (DBG_MDSCR_KDE | DBG_MDSCR_MDE))
 		vcpu->arch.flags |= KVM_ARM64_DEBUG_DIRTY;
 
+	/* Write mdcr_el2 changes since vcpu_load on VHE systems */
+	if (has_vhe() && orig_mdcr_el2 != vcpu->arch.mdcr_el2)
+		write_sysreg(vcpu->arch.mdcr_el2, mdcr_el2);
+
 	trace_kvm_arm_set_dreg32("MDCR_EL2", vcpu->arch.mdcr_el2);
 	trace_kvm_arm_set_dreg32("MDSCR_EL1", vcpu_read_sys_reg(vcpu, MDSCR_EL1));
 }
diff --git a/arch/arm64/kvm/hyp/switch.c b/arch/arm64/kvm/hyp/switch.c
index 6290a4e..f397893 100644
--- a/arch/arm64/kvm/hyp/switch.c
+++ b/arch/arm64/kvm/hyp/switch.c
@@ -37,7 +37,15 @@
 /* Check whether the FP regs were dirtied while in the host-side run loop: */
 static bool __hyp_text update_fp_enabled(struct kvm_vcpu *vcpu)
 {
-	if (vcpu->arch.host_thread_info->flags & _TIF_FOREIGN_FPSTATE)
+	/*
+	 * When the system doesn't support FP/SIMD, we cannot rely on
+	 * the _TIF_FOREIGN_FPSTATE flag. However, we always inject an
+	 * abort on the very first access to FP and thus we should never
+	 * see KVM_ARM64_FP_ENABLED. For added safety, make sure we always
+	 * trap the accesses.
+	 */
+	if (!system_supports_fpsimd() ||
+	    vcpu->arch.host_thread_info->flags & _TIF_FOREIGN_FPSTATE)
 		vcpu->arch.flags &= ~(KVM_ARM64_FP_ENABLED |
 				      KVM_ARM64_FP_HOST);
 
diff --git a/arch/arm64/kvm/inject_fault.c b/arch/arm64/kvm/inject_fault.c
index a55e91d..41c80c3 100644
--- a/arch/arm64/kvm/inject_fault.c
+++ b/arch/arm64/kvm/inject_fault.c
@@ -25,9 +25,6 @@
 #include <asm/kvm_emulate.h>
 #include <asm/esr.h>
 
-#define PSTATE_FAULT_BITS_64 	(PSR_MODE_EL1h | PSR_A_BIT | PSR_F_BIT | \
-				 PSR_I_BIT | PSR_D_BIT)
-
 #define CURRENT_EL_SP_EL0_VECTOR	0x0
 #define CURRENT_EL_SP_ELx_VECTOR	0x200
 #define LOWER_EL_AArch64_VECTOR		0x400
@@ -61,6 +58,69 @@
 	return vcpu_read_sys_reg(vcpu, VBAR_EL1) + exc_offset + type;
 }
 
+/*
+ * When an exception is taken, most PSTATE fields are left unchanged in the
+ * handler. However, some are explicitly overridden (e.g. M[4:0]). Luckily all
+ * of the inherited bits have the same position in the AArch64/AArch32 SPSR_ELx
+ * layouts, so we don't need to shuffle these for exceptions from AArch32 EL0.
+ *
+ * For the SPSR_ELx layout for AArch64, see ARM DDI 0487E.a page C5-429.
+ * For the SPSR_ELx layout for AArch32, see ARM DDI 0487E.a page C5-426.
+ *
+ * Here we manipulate the fields in order of the AArch64 SPSR_ELx layout, from
+ * MSB to LSB.
+ */
+static unsigned long get_except64_pstate(struct kvm_vcpu *vcpu)
+{
+	unsigned long sctlr = vcpu_read_sys_reg(vcpu, SCTLR_EL1);
+	unsigned long old, new;
+
+	old = *vcpu_cpsr(vcpu);
+	new = 0;
+
+	new |= (old & PSR_N_BIT);
+	new |= (old & PSR_Z_BIT);
+	new |= (old & PSR_C_BIT);
+	new |= (old & PSR_V_BIT);
+
+	// TODO: TCO (if/when ARMv8.5-MemTag is exposed to guests)
+
+	new |= (old & PSR_DIT_BIT);
+
+	// PSTATE.UAO is set to zero upon any exception to AArch64
+	// See ARM DDI 0487E.a, page D5-2579.
+
+	// PSTATE.PAN is unchanged unless SCTLR_ELx.SPAN == 0b0
+	// SCTLR_ELx.SPAN is RES1 when ARMv8.1-PAN is not implemented
+	// See ARM DDI 0487E.a, page D5-2578.
+	new |= (old & PSR_PAN_BIT);
+	if (!(sctlr & SCTLR_EL1_SPAN))
+		new |= PSR_PAN_BIT;
+
+	// PSTATE.SS is set to zero upon any exception to AArch64
+	// See ARM DDI 0487E.a, page D2-2452.
+
+	// PSTATE.IL is set to zero upon any exception to AArch64
+	// See ARM DDI 0487E.a, page D1-2306.
+
+	// PSTATE.SSBS is set to SCTLR_ELx.DSSBS upon any exception to AArch64
+	// See ARM DDI 0487E.a, page D13-3258
+	if (sctlr & SCTLR_ELx_DSSBS)
+		new |= PSR_SSBS_BIT;
+
+	// PSTATE.BTYPE is set to zero upon any exception to AArch64
+	// See ARM DDI 0487E.a, pages D1-2293 to D1-2294.
+
+	new |= PSR_D_BIT;
+	new |= PSR_A_BIT;
+	new |= PSR_I_BIT;
+	new |= PSR_F_BIT;
+
+	new |= PSR_MODE_EL1h;
+
+	return new;
+}
+
 static void inject_abt64(struct kvm_vcpu *vcpu, bool is_iabt, unsigned long addr)
 {
 	unsigned long cpsr = *vcpu_cpsr(vcpu);
@@ -70,7 +130,7 @@
 	vcpu_write_elr_el1(vcpu, *vcpu_pc(vcpu));
 	*vcpu_pc(vcpu) = get_except_vector(vcpu, except_type_sync);
 
-	*vcpu_cpsr(vcpu) = PSTATE_FAULT_BITS_64;
+	*vcpu_cpsr(vcpu) = get_except64_pstate(vcpu);
 	vcpu_write_spsr(vcpu, cpsr);
 
 	vcpu_write_sys_reg(vcpu, addr, FAR_EL1);
@@ -105,7 +165,7 @@
 	vcpu_write_elr_el1(vcpu, *vcpu_pc(vcpu));
 	*vcpu_pc(vcpu) = get_except_vector(vcpu, except_type_sync);
 
-	*vcpu_cpsr(vcpu) = PSTATE_FAULT_BITS_64;
+	*vcpu_cpsr(vcpu) = get_except64_pstate(vcpu);
 	vcpu_write_spsr(vcpu, cpsr);
 
 	/*
diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c
index 16a3d42..4d0eba0 100644
--- a/arch/arm64/mm/init.c
+++ b/arch/arm64/mm/init.c
@@ -896,21 +896,15 @@
 
 }
 
-int arch_remove_memory(u64 start, u64 size, struct vmem_altmap *altmap)
+void arch_remove_memory(int nid, u64 start, u64 size,
+			struct vmem_altmap *altmap)
 {
 	unsigned long start_pfn = start >> PAGE_SHIFT;
 	unsigned long nr_pages = size >> PAGE_SHIFT;
-	struct page *page = pfn_to_page(start_pfn);
-	struct zone *zone;
-	int ret = 0;
 
-	zone = page_zone(page);
-	ret = __remove_pages(zone, start_pfn, nr_pages, altmap);
-	WARN_ON_ONCE(ret);
+	__remove_pages(start_pfn, nr_pages, altmap);
 
 	kernel_physical_mapping_remove(start, start + size);
-
-	return ret;
 }
 
 #endif /* CONFIG_MEMORY_HOTREMOVE */
diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c
index 7086183..a5d0f1d 100644
--- a/arch/arm64/mm/mmu.c
+++ b/arch/arm64/mm/mmu.c
@@ -1303,7 +1303,7 @@
 	}
 }
 
-void *__init __fixmap_remap_fdt(phys_addr_t dt_phys, int *size, pgprot_t prot)
+void *__init fixmap_remap_fdt(phys_addr_t dt_phys, int *size, pgprot_t prot)
 {
 	const u64 dt_virt_base = __fix_to_virt(FIX_FDT);
 	int offset;
@@ -1356,25 +1356,9 @@
 	return dt_virt;
 }
 
-void *__init fixmap_remap_fdt(phys_addr_t dt_phys)
+int __init arch_ioremap_p4d_supported(void)
 {
-	void *dt_virt;
-	int size;
-
-	dt_virt = __fixmap_remap_fdt(dt_phys, &size, PAGE_KERNEL_RO);
-	if (!dt_virt)
-		return NULL;
-
-	memblock_reserve(dt_phys, size);
-
-	/*
-	 * memblock_dbg is not up because of parse_early_param get called after
-	 * setup_machine_fd. To capture fdt reserved info below pr_info is
-	 * added.
-	 */
-	pr_info("memblock_reserve: 0x%x %pS\n", size - 1, (void *) _RET_IP_);
-
-	return dt_virt;
+	return 0;
 }
 
 int __init arch_ioremap_pud_supported(void)
diff --git a/arch/hexagon/include/asm/atomic.h b/arch/hexagon/include/asm/atomic.h
index 311b989..15cca7f 100644
--- a/arch/hexagon/include/asm/atomic.h
+++ b/arch/hexagon/include/asm/atomic.h
@@ -105,7 +105,7 @@
 		"1:	%0 = memw_locked(%1);\n"			\
 		"	%0 = "#op "(%0,%2);\n"				\
 		"	memw_locked(%1,P3)=%0;\n"			\
-		"	if !P3 jump 1b;\n"				\
+		"	if (!P3) jump 1b;\n"				\
 		: "=&r" (output)					\
 		: "r" (&v->counter), "r" (i)				\
 		: "memory", "p3"					\
@@ -121,7 +121,7 @@
 		"1:	%0 = memw_locked(%1);\n"			\
 		"	%0 = "#op "(%0,%2);\n"				\
 		"	memw_locked(%1,P3)=%0;\n"			\
-		"	if !P3 jump 1b;\n"				\
+		"	if (!P3) jump 1b;\n"				\
 		: "=&r" (output)					\
 		: "r" (&v->counter), "r" (i)				\
 		: "memory", "p3"					\
@@ -138,7 +138,7 @@
 		"1:	%0 = memw_locked(%2);\n"			\
 		"	%1 = "#op "(%0,%3);\n"				\
 		"	memw_locked(%2,P3)=%1;\n"			\
-		"	if !P3 jump 1b;\n"				\
+		"	if (!P3) jump 1b;\n"				\
 		: "=&r" (output), "=&r" (val)				\
 		: "r" (&v->counter), "r" (i)				\
 		: "memory", "p3"					\
@@ -187,7 +187,7 @@
 		"	}"
 		"	memw_locked(%2, p3) = %1;"
 		"	{"
-		"		if !p3 jump 1b;"
+		"		if (!p3) jump 1b;"
 		"	}"
 		"2:"
 		: "=&r" (__oldval), "=&r" (tmp)
diff --git a/arch/hexagon/include/asm/bitops.h b/arch/hexagon/include/asm/bitops.h
index 2691a18..634306cd 100644
--- a/arch/hexagon/include/asm/bitops.h
+++ b/arch/hexagon/include/asm/bitops.h
@@ -52,7 +52,7 @@
 	"1:	R12 = memw_locked(R10);\n"
 	"	{ P0 = tstbit(R12,R11); R12 = clrbit(R12,R11); }\n"
 	"	memw_locked(R10,P1) = R12;\n"
-	"	{if !P1 jump 1b; %0 = mux(P0,#1,#0);}\n"
+	"	{if (!P1) jump 1b; %0 = mux(P0,#1,#0);}\n"
 	: "=&r" (oldval)
 	: "r" (addr), "r" (nr)
 	: "r10", "r11", "r12", "p0", "p1", "memory"
@@ -76,7 +76,7 @@
 	"1:	R12 = memw_locked(R10);\n"
 	"	{ P0 = tstbit(R12,R11); R12 = setbit(R12,R11); }\n"
 	"	memw_locked(R10,P1) = R12;\n"
-	"	{if !P1 jump 1b; %0 = mux(P0,#1,#0);}\n"
+	"	{if (!P1) jump 1b; %0 = mux(P0,#1,#0);}\n"
 	: "=&r" (oldval)
 	: "r" (addr), "r" (nr)
 	: "r10", "r11", "r12", "p0", "p1", "memory"
@@ -102,7 +102,7 @@
 	"1:	R12 = memw_locked(R10);\n"
 	"	{ P0 = tstbit(R12,R11); R12 = togglebit(R12,R11); }\n"
 	"	memw_locked(R10,P1) = R12;\n"
-	"	{if !P1 jump 1b; %0 = mux(P0,#1,#0);}\n"
+	"	{if (!P1) jump 1b; %0 = mux(P0,#1,#0);}\n"
 	: "=&r" (oldval)
 	: "r" (addr), "r" (nr)
 	: "r10", "r11", "r12", "p0", "p1", "memory"
@@ -237,7 +237,7 @@
 	int r;
 
 	asm("{ P0 = cmp.eq(%1,#0); %0 = ct0(%1);}\n"
-		"{ if P0 %0 = #0; if !P0 %0 = add(%0,#1);}\n"
+		"{ if (P0) %0 = #0; if (!P0) %0 = add(%0,#1);}\n"
 		: "=&r" (r)
 		: "r" (x)
 		: "p0");
diff --git a/arch/hexagon/include/asm/cmpxchg.h b/arch/hexagon/include/asm/cmpxchg.h
index a6e34e2..db25842 100644
--- a/arch/hexagon/include/asm/cmpxchg.h
+++ b/arch/hexagon/include/asm/cmpxchg.h
@@ -44,7 +44,7 @@
 	__asm__ __volatile__ (
 	"1:	%0 = memw_locked(%1);\n"    /*  load into retval */
 	"	memw_locked(%1,P0) = %2;\n" /*  store into memory */
-	"	if !P0 jump 1b;\n"
+	"	if (!P0) jump 1b;\n"
 	: "=&r" (retval)
 	: "r" (ptr), "r" (x)
 	: "memory", "p0"
diff --git a/arch/hexagon/include/asm/futex.h b/arch/hexagon/include/asm/futex.h
index c889f59..e8e5e47 100644
--- a/arch/hexagon/include/asm/futex.h
+++ b/arch/hexagon/include/asm/futex.h
@@ -16,7 +16,7 @@
 	    /* For example: %1 = %4 */ \
 	    insn \
 	"2: memw_locked(%3,p2) = %1;\n" \
-	"   if !p2 jump 1b;\n" \
+	"   if (!p2) jump 1b;\n" \
 	"   %1 = #0;\n" \
 	"3:\n" \
 	".section .fixup,\"ax\"\n" \
@@ -84,10 +84,10 @@
 	"1: %1 = memw_locked(%3)\n"
 	"   {\n"
 	"      p2 = cmp.eq(%1,%4)\n"
-	"      if !p2.new jump:NT 3f\n"
+	"      if (!p2.new) jump:NT 3f\n"
 	"   }\n"
 	"2: memw_locked(%3,p2) = %5\n"
-	"   if !p2 jump 1b\n"
+	"   if (!p2) jump 1b\n"
 	"3:\n"
 	".section .fixup,\"ax\"\n"
 	"4: %0 = #%6\n"
diff --git a/arch/hexagon/include/asm/spinlock.h b/arch/hexagon/include/asm/spinlock.h
index 4802086..e090f6a 100644
--- a/arch/hexagon/include/asm/spinlock.h
+++ b/arch/hexagon/include/asm/spinlock.h
@@ -44,9 +44,9 @@
 	__asm__ __volatile__(
 		"1:	R6 = memw_locked(%0);\n"
 		"	{ P3 = cmp.ge(R6,#0); R6 = add(R6,#1);}\n"
-		"	{ if !P3 jump 1b; }\n"
+		"	{ if (!P3) jump 1b; }\n"
 		"	memw_locked(%0,P3) = R6;\n"
-		"	{ if !P3 jump 1b; }\n"
+		"	{ if (!P3) jump 1b; }\n"
 		:
 		: "r" (&lock->lock)
 		: "memory", "r6", "p3"
@@ -60,7 +60,7 @@
 		"1:	R6 = memw_locked(%0);\n"
 		"	R6 = add(R6,#-1);\n"
 		"	memw_locked(%0,P3) = R6\n"
-		"	if !P3 jump 1b;\n"
+		"	if (!P3) jump 1b;\n"
 		:
 		: "r" (&lock->lock)
 		: "memory", "r6", "p3"
@@ -75,7 +75,7 @@
 	__asm__ __volatile__(
 		"	R6 = memw_locked(%1);\n"
 		"	{ %0 = #0; P3 = cmp.ge(R6,#0); R6 = add(R6,#1);}\n"
-		"	{ if !P3 jump 1f; }\n"
+		"	{ if (!P3) jump 1f; }\n"
 		"	memw_locked(%1,P3) = R6;\n"
 		"	{ %0 = P3 }\n"
 		"1:\n"
@@ -92,9 +92,9 @@
 	__asm__ __volatile__(
 		"1:	R6 = memw_locked(%0)\n"
 		"	{ P3 = cmp.eq(R6,#0);  R6 = #-1;}\n"
-		"	{ if !P3 jump 1b; }\n"
+		"	{ if (!P3) jump 1b; }\n"
 		"	memw_locked(%0,P3) = R6;\n"
-		"	{ if !P3 jump 1b; }\n"
+		"	{ if (!P3) jump 1b; }\n"
 		:
 		: "r" (&lock->lock)
 		: "memory", "r6", "p3"
@@ -108,7 +108,7 @@
 	__asm__ __volatile__(
 		"	R6 = memw_locked(%1)\n"
 		"	{ %0 = #0; P3 = cmp.eq(R6,#0);  R6 = #-1;}\n"
-		"	{ if !P3 jump 1f; }\n"
+		"	{ if (!P3) jump 1f; }\n"
 		"	memw_locked(%1,P3) = R6;\n"
 		"	%0 = P3;\n"
 		"1:\n"
@@ -131,9 +131,9 @@
 	__asm__ __volatile__(
 		"1:	R6 = memw_locked(%0);\n"
 		"	P3 = cmp.eq(R6,#0);\n"
-		"	{ if !P3 jump 1b; R6 = #1; }\n"
+		"	{ if (!P3) jump 1b; R6 = #1; }\n"
 		"	memw_locked(%0,P3) = R6;\n"
-		"	{ if !P3 jump 1b; }\n"
+		"	{ if (!P3) jump 1b; }\n"
 		:
 		: "r" (&lock->lock)
 		: "memory", "r6", "p3"
@@ -153,7 +153,7 @@
 	__asm__ __volatile__(
 		"	R6 = memw_locked(%1);\n"
 		"	P3 = cmp.eq(R6,#0);\n"
-		"	{ if !P3 jump 1f; R6 = #1; %0 = #0; }\n"
+		"	{ if (!P3) jump 1f; R6 = #1; %0 = #0; }\n"
 		"	memw_locked(%1,P3) = R6;\n"
 		"	%0 = P3;\n"
 		"1:\n"
diff --git a/arch/hexagon/kernel/stacktrace.c b/arch/hexagon/kernel/stacktrace.c
index 41866a0..ec4ef68 100644
--- a/arch/hexagon/kernel/stacktrace.c
+++ b/arch/hexagon/kernel/stacktrace.c
@@ -24,8 +24,6 @@
 #include <linux/thread_info.h>
 #include <linux/module.h>
 
-register unsigned long current_frame_pointer asm("r30");
-
 struct stackframe {
 	unsigned long fp;
 	unsigned long rets;
@@ -43,7 +41,7 @@
 
 	low = (unsigned long)task_stack_page(current);
 	high = low + THREAD_SIZE;
-	fp = current_frame_pointer;
+	fp = (unsigned long)__builtin_frame_address(0);
 
 	while (fp >= low && fp <= (high - sizeof(*frame))) {
 		frame = (struct stackframe *)fp;
diff --git a/arch/hexagon/kernel/vm_entry.S b/arch/hexagon/kernel/vm_entry.S
index 67c6ccc..9f4a73f 100644
--- a/arch/hexagon/kernel/vm_entry.S
+++ b/arch/hexagon/kernel/vm_entry.S
@@ -382,7 +382,7 @@
 		R26.L = #LO(do_work_pending);
 		R0 = #VM_INT_DISABLE;
 	}
-	if P0 jump check_work_pending
+	if (P0) jump check_work_pending
 	{
 		R0 = R25;
 		callr R24
diff --git a/arch/ia64/kernel/signal.c b/arch/ia64/kernel/signal.c
index d1234a5..9a96082 100644
--- a/arch/ia64/kernel/signal.c
+++ b/arch/ia64/kernel/signal.c
@@ -110,7 +110,6 @@
 {
 	extern char ia64_strace_leave_kernel, ia64_leave_kernel;
 	struct sigcontext __user *sc;
-	struct siginfo si;
 	sigset_t set;
 	long retval;
 
@@ -153,14 +152,7 @@
 	return retval;
 
   give_sigsegv:
-	clear_siginfo(&si);
-	si.si_signo = SIGSEGV;
-	si.si_errno = 0;
-	si.si_code = SI_KERNEL;
-	si.si_pid = task_pid_vnr(current);
-	si.si_uid = from_kuid_munged(current_user_ns(), current_uid());
-	si.si_addr = sc;
-	force_sig_info(SIGSEGV, &si, current);
+	force_sig(SIGSEGV, current);
 	return retval;
 }
 
@@ -232,37 +224,6 @@
 }
 
 static long
-force_sigsegv_info (int sig, void __user *addr)
-{
-	unsigned long flags;
-	struct siginfo si;
-
-	clear_siginfo(&si);
-	if (sig == SIGSEGV) {
-		/*
-		 * Acquiring siglock around the sa_handler-update is almost
-		 * certainly overkill, but this isn't a
-		 * performance-critical path and I'd rather play it safe
-		 * here than having to debug a nasty race if and when
-		 * something changes in kernel/signal.c that would make it
-		 * no longer safe to modify sa_handler without holding the
-		 * lock.
-		 */
-		spin_lock_irqsave(&current->sighand->siglock, flags);
-		current->sighand->action[sig - 1].sa.sa_handler = SIG_DFL;
-		spin_unlock_irqrestore(&current->sighand->siglock, flags);
-	}
-	si.si_signo = SIGSEGV;
-	si.si_errno = 0;
-	si.si_code = SI_KERNEL;
-	si.si_pid = task_pid_vnr(current);
-	si.si_uid = from_kuid_munged(current_user_ns(), current_uid());
-	si.si_addr = addr;
-	force_sig_info(SIGSEGV, &si, current);
-	return 1;
-}
-
-static long
 setup_frame(struct ksignal *ksig, sigset_t *set, struct sigscratch *scr)
 {
 	extern char __kernel_sigtramp[];
@@ -295,15 +256,18 @@
 			 * instead so we will die with SIGSEGV.
 			 */
 			check_sp = (new_sp - sizeof(*frame)) & -STACK_ALIGN;
-			if (!likely(on_sig_stack(check_sp)))
-				return force_sigsegv_info(ksig->sig, (void __user *)
-							  check_sp);
+			if (!likely(on_sig_stack(check_sp))) {
+				force_sigsegv(ksig->sig, current);
+				return 1;
+			}
 		}
 	}
 	frame = (void __user *) ((new_sp - sizeof(*frame)) & -STACK_ALIGN);
 
-	if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame)))
-		return force_sigsegv_info(ksig->sig, frame);
+	if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame))) {
+		force_sigsegv(ksig->sig, current);
+		return 1;
+	}
 
 	err  = __put_user(ksig->sig, &frame->arg0);
 	err |= __put_user(&frame->info, &frame->arg1);
@@ -317,8 +281,10 @@
 	err |= __save_altstack(&frame->sc.sc_stack, scr->pt.r12);
 	err |= setup_sigcontext(&frame->sc, set, scr);
 
-	if (unlikely(err))
-		return force_sigsegv_info(ksig->sig, frame);
+	if (unlikely(err)) {
+		force_sigsegv(ksig->sig, current);
+		return 1;
+	}
 
 	scr->pt.r12 = (unsigned long) frame - 16;	/* new stack pointer */
 	scr->pt.ar_fpsr = FPSR_DEFAULT;			/* reset fpsr for signal handler */
diff --git a/arch/ia64/mm/init.c b/arch/ia64/mm/init.c
index 3b85c3e..79e5cc7 100644
--- a/arch/ia64/mm/init.c
+++ b/arch/ia64/mm/init.c
@@ -661,21 +661,12 @@
 	return ret;
 }
 
-#ifdef CONFIG_MEMORY_HOTREMOVE
-int arch_remove_memory(u64 start, u64 size, struct vmem_altmap *altmap)
+void arch_remove_memory(int nid, u64 start, u64 size,
+			struct vmem_altmap *altmap)
 {
 	unsigned long start_pfn = start >> PAGE_SHIFT;
 	unsigned long nr_pages = size >> PAGE_SHIFT;
-	struct zone *zone;
-	int ret;
 
-	zone = page_zone(pfn_to_page(start_pfn));
-	ret = __remove_pages(zone, start_pfn, nr_pages, altmap);
-	if (ret)
-		pr_warn("%s: Problem encountered in __remove_pages() as"
-			" ret=%d\n", __func__,  ret);
-
-	return ret;
+	__remove_pages(start_pfn, nr_pages, altmap);
 }
 #endif
-#endif
diff --git a/arch/m68k/amiga/cia.c b/arch/m68k/amiga/cia.c
index 2081b8c..b9aee98 100644
--- a/arch/m68k/amiga/cia.c
+++ b/arch/m68k/amiga/cia.c
@@ -88,10 +88,19 @@
 	struct ciabase *base = dev_id;
 	int mach_irq;
 	unsigned char ints;
+	unsigned long flags;
 
+	/* Interrupts get disabled while the timer irq flag is cleared and
+	 * the timer interrupt serviced.
+	 */
 	mach_irq = base->cia_irq;
+	local_irq_save(flags);
 	ints = cia_set_irq(base, CIA_ICR_ALL);
 	amiga_custom.intreq = base->int_mask;
+	if (ints & 1)
+		generic_handle_irq(mach_irq);
+	local_irq_restore(flags);
+	mach_irq++, ints >>= 1;
 	for (; ints; mach_irq++, ints >>= 1) {
 		if (ints & 1)
 			generic_handle_irq(mach_irq);
diff --git a/arch/m68k/atari/ataints.c b/arch/m68k/atari/ataints.c
index 3d2b63b..56f02ea 100644
--- a/arch/m68k/atari/ataints.c
+++ b/arch/m68k/atari/ataints.c
@@ -142,7 +142,7 @@
 	.name		= "MFP Timer D"
 };
 
-static irqreturn_t mfptimer_handler(int irq, void *dev_id)
+static irqreturn_t mfp_timer_d_handler(int irq, void *dev_id)
 {
 	struct mfptimerbase *base = dev_id;
 	int mach_irq;
@@ -344,7 +344,7 @@
 	st_mfp.tim_ct_cd = (st_mfp.tim_ct_cd & 0xf0) | 0x6;
 
 	/* request timer D dispatch handler */
-	if (request_irq(IRQ_MFP_TIMD, mfptimer_handler, IRQF_SHARED,
+	if (request_irq(IRQ_MFP_TIMD, mfp_timer_d_handler, IRQF_SHARED,
 			stmfp_base.name, &stmfp_base))
 		pr_err("Couldn't register %s interrupt\n", stmfp_base.name);
 
diff --git a/arch/m68k/atari/time.c b/arch/m68k/atari/time.c
index 9cca642..fafa20f 100644
--- a/arch/m68k/atari/time.c
+++ b/arch/m68k/atari/time.c
@@ -24,6 +24,18 @@
 DEFINE_SPINLOCK(rtc_lock);
 EXPORT_SYMBOL_GPL(rtc_lock);
 
+static irqreturn_t mfp_timer_c_handler(int irq, void *dev_id)
+{
+	irq_handler_t timer_routine = dev_id;
+	unsigned long flags;
+
+	local_irq_save(flags);
+	timer_routine(0, NULL);
+	local_irq_restore(flags);
+
+	return IRQ_HANDLED;
+}
+
 void __init
 atari_sched_init(irq_handler_t timer_routine)
 {
@@ -32,7 +44,8 @@
     /* start timer C, div = 1:100 */
     st_mfp.tim_ct_cd = (st_mfp.tim_ct_cd & 15) | 0x60;
     /* install interrupt service routine for MFP Timer C */
-    if (request_irq(IRQ_MFP_TIMC, timer_routine, 0, "timer", timer_routine))
+    if (request_irq(IRQ_MFP_TIMC, mfp_timer_c_handler, 0, "timer",
+                    timer_routine))
 	pr_err("Couldn't register timer interrupt\n");
 }
 
diff --git a/arch/m68k/bvme6000/config.c b/arch/m68k/bvme6000/config.c
index 143ee9f..0e5efed 100644
--- a/arch/m68k/bvme6000/config.c
+++ b/arch/m68k/bvme6000/config.c
@@ -44,11 +44,6 @@
 extern void bvme6000_reset (void);
 void bvme6000_set_vectors (void);
 
-/* Save tick handler routine pointer, will point to xtime_update() in
- * kernel/timer/timekeeping.c, called via bvme6000_process_int() */
-
-static irq_handler_t tick_handler;
-
 
 int __init bvme6000_parse_bootinfo(const struct bi_record *bi)
 {
@@ -157,12 +152,18 @@
 
 static irqreturn_t bvme6000_timer_int (int irq, void *dev_id)
 {
+    irq_handler_t timer_routine = dev_id;
+    unsigned long flags;
     volatile RtcPtr_t rtc = (RtcPtr_t)BVME_RTC_BASE;
-    unsigned char msr = rtc->msr & 0xc0;
+    unsigned char msr;
 
+    local_irq_save(flags);
+    msr = rtc->msr & 0xc0;
     rtc->msr = msr | 0x20;		/* Ack the interrupt */
+    timer_routine(0, NULL);
+    local_irq_restore(flags);
 
-    return tick_handler(irq, dev_id);
+    return IRQ_HANDLED;
 }
 
 /*
@@ -181,9 +182,8 @@
 
     rtc->msr = 0;	/* Ensure timer registers accessible */
 
-    tick_handler = timer_routine;
-    if (request_irq(BVME_IRQ_RTC, bvme6000_timer_int, 0,
-				"timer", bvme6000_timer_int))
+    if (request_irq(BVME_IRQ_RTC, bvme6000_timer_int, 0, "timer",
+                    timer_routine))
 	panic ("Couldn't register timer int");
 
     rtc->t1cr_omr = 0x04;	/* Mode 2, ext clk */
diff --git a/arch/m68k/hp300/time.c b/arch/m68k/hp300/time.c
index 289d928..d30b03e 100644
--- a/arch/m68k/hp300/time.c
+++ b/arch/m68k/hp300/time.c
@@ -38,13 +38,19 @@
 
 static irqreturn_t hp300_tick(int irq, void *dev_id)
 {
+	irq_handler_t timer_routine = dev_id;
+	unsigned long flags;
 	unsigned long tmp;
-	irq_handler_t vector = dev_id;
+
+	local_irq_save(flags);
 	in_8(CLOCKBASE + CLKSR);
 	asm volatile ("movpw %1@(5),%0" : "=d" (tmp) : "a" (CLOCKBASE));
+	timer_routine(0, NULL);
+	local_irq_restore(flags);
+
 	/* Turn off the network and SCSI leds */
 	blinken_leds(0, 0xe0);
-	return vector(irq, NULL);
+	return IRQ_HANDLED;
 }
 
 u32 hp300_gettimeoffset(void)
diff --git a/arch/m68k/mac/via.c b/arch/m68k/mac/via.c
index acdabbe..038d5a1 100644
--- a/arch/m68k/mac/via.c
+++ b/arch/m68k/mac/via.c
@@ -55,16 +55,6 @@
 static int gIER,gIFR,gBufA,gBufB;
 
 /*
- * Timer defs.
- */
-
-#define TICK_SIZE		10000
-#define MAC_CLOCK_TICK		(783300/HZ)		/* ticks per HZ */
-#define MAC_CLOCK_LOW		(MAC_CLOCK_TICK&0xFF)
-#define MAC_CLOCK_HIGH		(MAC_CLOCK_TICK>>8)
-
-
-/*
  * On Macs with a genuine VIA chip there is no way to mask an individual slot
  * interrupt. This limitation also seems to apply to VIA clone logic cores in
  * Quadra-like ASICs. (RBV and OSS machines don't have this limitation.)
@@ -268,22 +258,6 @@
 }
 
 /*
- * Start the 100 Hz clock
- */
-
-void __init via_init_clock(irq_handler_t func)
-{
-	via1[vACR] |= 0x40;
-	via1[vT1LL] = MAC_CLOCK_LOW;
-	via1[vT1LH] = MAC_CLOCK_HIGH;
-	via1[vT1CL] = MAC_CLOCK_LOW;
-	via1[vT1CH] = MAC_CLOCK_HIGH;
-
-	if (request_irq(IRQ_MAC_TIMER_1, func, 0, "timer", func))
-		pr_err("Couldn't register %s interrupt\n", "timer");
-}
-
-/*
  * Debugging dump, used in various places to see what's going on.
  */
 
@@ -311,29 +285,6 @@
 }
 
 /*
- * This is always executed with interrupts disabled.
- *
- * TBI: get time offset between scheduling timer ticks
- */
-
-u32 mac_gettimeoffset(void)
-{
-	unsigned long ticks, offset = 0;
-
-	/* read VIA1 timer 2 current value */
-	ticks = via1[vT1CL] | (via1[vT1CH] << 8);
-	/* The probability of underflow is less than 2% */
-	if (ticks > MAC_CLOCK_TICK - MAC_CLOCK_TICK / 50)
-		/* Check for pending timer interrupt in VIA1 IFR */
-		if (via1[vIFR] & 0x40) offset = TICK_SIZE;
-
-	ticks = MAC_CLOCK_TICK - ticks;
-	ticks = ticks * 10000L / MAC_CLOCK_TICK;
-
-	return (ticks + offset) * 1000;
-}
-
-/*
  * Flush the L2 cache on Macs that have it by flipping
  * the system into 24-bit mode for an instant.
  */
@@ -436,6 +387,8 @@
  * via6522.c :-), disable/pending masks added.
  */
 
+#define VIA_TIMER_1_INT BIT(6)
+
 void via1_irq(struct irq_desc *desc)
 {
 	int irq_num;
@@ -445,6 +398,21 @@
 	if (!events)
 		return;
 
+	irq_num = IRQ_MAC_TIMER_1;
+	irq_bit = VIA_TIMER_1_INT;
+	if (events & irq_bit) {
+		unsigned long flags;
+
+		local_irq_save(flags);
+		via1[vIFR] = irq_bit;
+		generic_handle_irq(irq_num);
+		local_irq_restore(flags);
+
+		events &= ~irq_bit;
+		if (!events)
+			return;
+	}
+
 	irq_num = VIA1_SOURCE_BASE;
 	irq_bit = 1;
 	do {
@@ -601,3 +569,56 @@
 	return via2[gIFR] & (1 << IRQ_IDX(IRQ_MAC_SCSIDRQ));
 }
 EXPORT_SYMBOL(via2_scsi_drq_pending);
+
+/* timer and clock source */
+
+#define VIA_CLOCK_FREQ     783360                /* VIA "phase 2" clock in Hz */
+#define VIA_TIMER_INTERVAL (1000000 / HZ)        /* microseconds per jiffy */
+#define VIA_TIMER_CYCLES   (VIA_CLOCK_FREQ / HZ) /* clock cycles per jiffy */
+
+#define VIA_TC             (VIA_TIMER_CYCLES - 2) /* including 0 and -1 */
+#define VIA_TC_LOW         (VIA_TC & 0xFF)
+#define VIA_TC_HIGH        (VIA_TC >> 8)
+
+void __init via_init_clock(irq_handler_t timer_routine)
+{
+	if (request_irq(IRQ_MAC_TIMER_1, timer_routine, 0, "timer", NULL)) {
+		pr_err("Couldn't register %s interrupt\n", "timer");
+		return;
+	}
+
+	via1[vT1LL] = VIA_TC_LOW;
+	via1[vT1LH] = VIA_TC_HIGH;
+	via1[vT1CL] = VIA_TC_LOW;
+	via1[vT1CH] = VIA_TC_HIGH;
+	via1[vACR] |= 0x40;
+}
+
+u32 mac_gettimeoffset(void)
+{
+	unsigned long flags;
+	u8 count_high;
+	u16 count, offset = 0;
+
+	/*
+	 * Timer counter wrap-around is detected with the timer interrupt flag
+	 * but reading the counter low byte (vT1CL) would reset the flag.
+	 * Also, accessing both counter registers is essentially a data race.
+	 * These problems are avoided by ignoring the low byte. Clock accuracy
+	 * is 256 times worse (error can reach 0.327 ms) but CPU overhead is
+	 * reduced by avoiding slow VIA register accesses.
+	 */
+
+	local_irq_save(flags);
+	count_high = via1[vT1CH];
+	if (count_high == 0xFF)
+		count_high = 0;
+	if (count_high > 0 && (via1[vIFR] & VIA_TIMER_1_INT))
+		offset = VIA_TIMER_CYCLES;
+	local_irq_restore(flags);
+
+	count = count_high << 8;
+	count = VIA_TIMER_CYCLES - count + offset;
+
+	return ((count * VIA_TIMER_INTERVAL) / VIA_TIMER_CYCLES) * 1000;
+}
diff --git a/arch/m68k/mvme147/config.c b/arch/m68k/mvme147/config.c
index adea549..93c68d2 100644
--- a/arch/m68k/mvme147/config.c
+++ b/arch/m68k/mvme147/config.c
@@ -45,11 +45,6 @@
 
 static int bcd2int (unsigned char b);
 
-/* Save tick handler routine pointer, will point to xtime_update() in
- * kernel/time/timekeeping.c, called via mvme147_process_int() */
-
-irq_handler_t tick_handler;
-
 
 int __init mvme147_parse_bootinfo(const struct bi_record *bi)
 {
@@ -104,16 +99,23 @@
 
 static irqreturn_t mvme147_timer_int (int irq, void *dev_id)
 {
+	irq_handler_t timer_routine = dev_id;
+	unsigned long flags;
+
+	local_irq_save(flags);
 	m147_pcc->t1_int_cntrl = PCC_TIMER_INT_CLR;
 	m147_pcc->t1_int_cntrl = PCC_INT_ENAB|PCC_LEVEL_TIMER1;
-	return tick_handler(irq, dev_id);
+	timer_routine(0, NULL);
+	local_irq_restore(flags);
+
+	return IRQ_HANDLED;
 }
 
 
 void mvme147_sched_init (irq_handler_t timer_routine)
 {
-	tick_handler = timer_routine;
-	if (request_irq(PCC_IRQ_TIMER1, mvme147_timer_int, 0, "timer 1", NULL))
+	if (request_irq(PCC_IRQ_TIMER1, mvme147_timer_int, 0, "timer 1",
+			timer_routine))
 		pr_err("Couldn't register timer interrupt\n");
 
 	/* Init the clock with a value */
diff --git a/arch/m68k/mvme16x/config.c b/arch/m68k/mvme16x/config.c
index 6ee36a5..5feb3ab 100644
--- a/arch/m68k/mvme16x/config.c
+++ b/arch/m68k/mvme16x/config.c
@@ -50,11 +50,6 @@
 
 int bcd2int (unsigned char b);
 
-/* Save tick handler routine pointer, will point to xtime_update() in
- * kernel/time/timekeeping.c, called via mvme16x_process_int() */
-
-static irq_handler_t tick_handler;
-
 
 unsigned short mvme16x_config;
 EXPORT_SYMBOL(mvme16x_config);
@@ -352,8 +347,15 @@
 
 static irqreturn_t mvme16x_timer_int (int irq, void *dev_id)
 {
-    *(volatile unsigned char *)0xfff4201b |= 8;
-    return tick_handler(irq, dev_id);
+	irq_handler_t timer_routine = dev_id;
+	unsigned long flags;
+
+	local_irq_save(flags);
+	*(volatile unsigned char *)0xfff4201b |= 8;
+	timer_routine(0, NULL);
+	local_irq_restore(flags);
+
+	return IRQ_HANDLED;
 }
 
 void mvme16x_sched_init (irq_handler_t timer_routine)
@@ -361,14 +363,13 @@
     uint16_t brdno = be16_to_cpu(mvme_bdid.brdno);
     int irq;
 
-    tick_handler = timer_routine;
     /* Using PCCchip2 or MC2 chip tick timer 1 */
     *(volatile unsigned long *)0xfff42008 = 0;
     *(volatile unsigned long *)0xfff42004 = 10000;	/* 10ms */
     *(volatile unsigned char *)0xfff42017 |= 3;
     *(volatile unsigned char *)0xfff4201b = 0x16;
-    if (request_irq(MVME16x_IRQ_TIMER, mvme16x_timer_int, 0,
-				"timer", mvme16x_timer_int))
+    if (request_irq(MVME16x_IRQ_TIMER, mvme16x_timer_int, 0, "timer",
+                    timer_routine))
 	panic ("Couldn't register timer int");
 
     if (brdno == 0x0162 || brdno == 0x172)
diff --git a/arch/m68k/q40/q40ints.c b/arch/m68k/q40/q40ints.c
index 3e76032..1c69690 100644
--- a/arch/m68k/q40/q40ints.c
+++ b/arch/m68k/q40/q40ints.c
@@ -127,10 +127,10 @@
 	sound_ticks = ticks << 1;
 }
 
-static irq_handler_t q40_timer_routine;
-
-static irqreturn_t q40_timer_int (int irq, void * dev)
+static irqreturn_t q40_timer_int(int irq, void *dev_id)
 {
+	irq_handler_t timer_routine = dev_id;
+
 	ql_ticks = ql_ticks ? 0 : 1;
 	if (sound_ticks) {
 		unsigned char sval=(sound_ticks & 1) ? 128-SVOL : 128+SVOL;
@@ -139,8 +139,13 @@
 		*DAC_RIGHT=sval;
 	}
 
-	if (!ql_ticks)
-		q40_timer_routine(irq, dev);
+	if (!ql_ticks) {
+		unsigned long flags;
+
+		local_irq_save(flags);
+		timer_routine(0, NULL);
+		local_irq_restore(flags);
+	}
 	return IRQ_HANDLED;
 }
 
@@ -148,11 +153,9 @@
 {
 	int timer_irq;
 
-	q40_timer_routine = timer_routine;
 	timer_irq = Q40_IRQ_FRAME;
 
-	if (request_irq(timer_irq, q40_timer_int, 0,
-				"timer", q40_timer_int))
+	if (request_irq(timer_irq, q40_timer_int, 0, "timer", timer_routine))
 		panic("Couldn't register timer int");
 
 	master_outb(-1, FRAME_CLEAR_REG);
diff --git a/arch/m68k/sun3/sun3ints.c b/arch/m68k/sun3/sun3ints.c
index 6bbca30..a5824ab 100644
--- a/arch/m68k/sun3/sun3ints.c
+++ b/arch/m68k/sun3/sun3ints.c
@@ -61,8 +61,10 @@
 
 static irqreturn_t sun3_int5(int irq, void *dev_id)
 {
+	unsigned long flags;
 	unsigned int cnt;
 
+	local_irq_save(flags);
 #ifdef CONFIG_SUN3
 	intersil_clear();
 #endif
@@ -76,6 +78,7 @@
 	cnt = kstat_irqs_cpu(irq, 0);
 	if (!(cnt % 20))
 		sun3_leds(led_pattern[cnt % 160 / 20]);
+	local_irq_restore(flags);
 	return IRQ_HANDLED;
 }
 
diff --git a/arch/m68k/sun3x/time.c b/arch/m68k/sun3x/time.c
index 047e2bc..3c8a86d 100644
--- a/arch/m68k/sun3x/time.c
+++ b/arch/m68k/sun3x/time.c
@@ -80,15 +80,19 @@
 }
 
 #if 0
-static void sun3x_timer_tick(int irq, void *dev_id, struct pt_regs *regs)
+static irqreturn_t sun3x_timer_tick(int irq, void *dev_id)
 {
-    void (*vector)(int, void *, struct pt_regs *) = dev_id;
+	irq_handler_t timer_routine = dev_id;
+	unsigned long flags;
 
-    /* Clear the pending interrupt - pulse the enable line low */
-    disable_irq(5);
-    enable_irq(5);
+	local_irq_save(flags);
+	/* Clear the pending interrupt - pulse the enable line low */
+	disable_irq(5);
+	enable_irq(5);
+	timer_routine(0, NULL);
+	local_irq_restore(flags);
 
-    vector(irq, NULL, regs);
+	return IRQ_HANDLED;
 }
 #endif
 
diff --git a/arch/microblaze/kernel/cpu/cache.c b/arch/microblaze/kernel/cpu/cache.c
index 0bde47e..dcba538 100644
--- a/arch/microblaze/kernel/cpu/cache.c
+++ b/arch/microblaze/kernel/cpu/cache.c
@@ -92,7 +92,8 @@
 #define CACHE_LOOP_LIMITS(start, end, cache_line_length, cache_size)	\
 do {									\
 	int align = ~(cache_line_length - 1);				\
-	end = min(start + cache_size, end);				\
+	if (start <  UINT_MAX - cache_size)				\
+		end = min(start + cache_size, end);			\
 	start &= align;							\
 } while (0)
 
diff --git a/arch/mips/Makefile.postlink b/arch/mips/Makefile.postlink
index 4eea418..13e0beb 100644
--- a/arch/mips/Makefile.postlink
+++ b/arch/mips/Makefile.postlink
@@ -12,7 +12,7 @@
 include scripts/Kbuild.include
 
 CMD_RELOCS = arch/mips/boot/tools/relocs
-quiet_cmd_relocs = RELOCS $@
+quiet_cmd_relocs = RELOCS  $@
       cmd_relocs = $(CMD_RELOCS) $@
 
 # `@true` prevents complaint when there is nothing to be done
diff --git a/arch/mips/bcm63xx/Makefile b/arch/mips/bcm63xx/Makefile
index c69f297f..d89651e 100644
--- a/arch/mips/bcm63xx/Makefile
+++ b/arch/mips/bcm63xx/Makefile
@@ -1,8 +1,8 @@
 # SPDX-License-Identifier: GPL-2.0
 obj-y		+= clk.o cpu.o cs.o gpio.o irq.o nvram.o prom.o reset.o \
-		   setup.o timer.o dev-dsp.o dev-enet.o dev-flash.o \
-		   dev-pcmcia.o dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o \
-		   dev-wdt.o dev-usb-usbd.o
+		   setup.o timer.o dev-enet.o dev-flash.o dev-pcmcia.o \
+		   dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o dev-wdt.o \
+		   dev-usb-usbd.o
 obj-$(CONFIG_EARLY_PRINTK)	+= early_printk.o
 
 obj-y		+= boards/
diff --git a/arch/mips/bcm63xx/boards/board_bcm963xx.c b/arch/mips/bcm63xx/boards/board_bcm963xx.c
index b2097c0..36ec3dc 100644
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -23,7 +23,6 @@
 #include <bcm63xx_nvram.h>
 #include <bcm63xx_dev_pci.h>
 #include <bcm63xx_dev_enet.h>
-#include <bcm63xx_dev_dsp.h>
 #include <bcm63xx_dev_flash.h>
 #include <bcm63xx_dev_hsspi.h>
 #include <bcm63xx_dev_pcmcia.h>
@@ -289,14 +288,6 @@
 	.has_pccard			= 1,
 	.has_ehci0			= 1,
 
-	.has_dsp			= 1,
-	.dsp = {
-		.gpio_rst		= 6,
-		.gpio_int		= 34,
-		.cs			= 2,
-		.ext_irq		= 2,
-	},
-
 	.leds = {
 		{
 			.name		= "adsl-fail",
@@ -401,14 +392,6 @@
 
 	.has_ohci0 = 1,
 
-	.has_dsp			= 1,
-	.dsp = {
-		.gpio_rst		= 6,
-		.gpio_int		= 34,
-		.ext_irq		= 2,
-		.cs			= 2,
-	},
-
 	.leds = {
 		{
 			.name		= "adsl-fail",
@@ -898,9 +881,6 @@
 	if (board.has_usbd)
 		bcm63xx_usbd_register(&board.usbd);
 
-	if (board.has_dsp)
-		bcm63xx_dsp_register(&board.dsp);
-
 	/* Generate MAC address for WLAN and register our SPROM,
 	 * do this after registering enet devices
 	 */
diff --git a/arch/mips/bcm63xx/dev-dsp.c b/arch/mips/bcm63xx/dev-dsp.c
deleted file mode 100644
index 5bb5b15..0000000
--- a/arch/mips/bcm63xx/dev-dsp.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Broadcom BCM63xx VoIP DSP registration
- *
- * This file is subject to the terms and conditions of the GNU General Public
- * License.  See the file "COPYING" in the main directory of this archive
- * for more details.
- *
- * Copyright (C) 2009 Florian Fainelli <florian@openwrt.org>
- */
-
-#include <linux/init.h>
-#include <linux/kernel.h>
-#include <linux/platform_device.h>
-
-#include <bcm63xx_cpu.h>
-#include <bcm63xx_dev_dsp.h>
-#include <bcm63xx_regs.h>
-#include <bcm63xx_io.h>
-
-static struct resource voip_dsp_resources[] = {
-	{
-		.start		= -1, /* filled at runtime */
-		.end		= -1, /* filled at runtime */
-		.flags		= IORESOURCE_MEM,
-	},
-	{
-		.start		= -1, /* filled at runtime */
-		.flags		= IORESOURCE_IRQ,
-	},
-};
-
-static struct platform_device bcm63xx_voip_dsp_device = {
-	.name		= "bcm63xx-voip-dsp",
-	.id		= -1,
-	.num_resources	= ARRAY_SIZE(voip_dsp_resources),
-	.resource	= voip_dsp_resources,
-};
-
-int __init bcm63xx_dsp_register(const struct bcm63xx_dsp_platform_data *pd)
-{
-	struct bcm63xx_dsp_platform_data *dpd;
-	u32 val;
-
-	/* Get the memory window */
-	val = bcm_mpi_readl(MPI_CSBASE_REG(pd->cs - 1));
-	val &= MPI_CSBASE_BASE_MASK;
-	voip_dsp_resources[0].start = val;
-	voip_dsp_resources[0].end = val + 0xFFFFFFF;
-	voip_dsp_resources[1].start = pd->ext_irq;
-
-	/* copy given platform data */
-	dpd = bcm63xx_voip_dsp_device.dev.platform_data;
-	memcpy(dpd, pd, sizeof (*pd));
-
-	return platform_device_register(&bcm63xx_voip_dsp_device);
-}
diff --git a/arch/mips/boot/Makefile b/arch/mips/boot/Makefile
index 35704c2..0ccc203 100644
--- a/arch/mips/boot/Makefile
+++ b/arch/mips/boot/Makefile
@@ -123,7 +123,7 @@
 targets += vmlinux.its
 targets += vmlinux.gz.its
 targets += vmlinux.bz2.its
-targets += vmlinux.lzmo.its
+targets += vmlinux.lzma.its
 targets += vmlinux.lzo.its
 
 quiet_cmd_cpp_its_S = ITS     $@
diff --git a/arch/mips/boot/compressed/Makefile b/arch/mips/boot/compressed/Makefile
index 172801e..d859f07 100644
--- a/arch/mips/boot/compressed/Makefile
+++ b/arch/mips/boot/compressed/Makefile
@@ -29,6 +29,9 @@
 	-DBOOT_HEAP_SIZE=$(BOOT_HEAP_SIZE) \
 	-DKERNEL_ENTRY=$(VMLINUX_ENTRY_ADDRESS)
 
+# Prevents link failures: __sanitizer_cov_trace_pc() is not linked in.
+KCOV_INSTRUMENT		:= n
+
 # decompressor objects (linked with vmlinuz)
 vmlinuzobjs-y := $(obj)/head.o $(obj)/decompress.o $(obj)/string.o
 
diff --git a/arch/mips/include/asm/io.h b/arch/mips/include/asm/io.h
index 54c730a..df1eaa3 100644
--- a/arch/mips/include/asm/io.h
+++ b/arch/mips/include/asm/io.h
@@ -62,21 +62,11 @@
  * instruction, so the lower 16 bits must be zero.  Should be true on
  * on any sane architecture; generic code does not use this assumption.
  */
-extern const unsigned long mips_io_port_base;
+extern unsigned long mips_io_port_base;
 
-/*
- * Gcc will generate code to load the value of mips_io_port_base after each
- * function call which may be fairly wasteful in some cases.  So we don't
- * play quite by the book.  We tell gcc mips_io_port_base is a long variable
- * which solves the code generation issue.  Now we need to violate the
- * aliasing rules a little to make initialization possible and finally we
- * will need the barrier() to fight side effects of the aliasing chat.
- * This trickery will eventually collapse under gcc's optimizer.  Oh well.
- */
 static inline void set_io_port_base(unsigned long base)
 {
-	* (unsigned long *) &mips_io_port_base = base;
-	barrier();
+	mips_io_port_base = base;
 }
 
 /*
diff --git a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_dsp.h b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_dsp.h
deleted file mode 100644
index 4e49707..0000000
--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_dsp.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef __BCM63XX_DSP_H
-#define __BCM63XX_DSP_H
-
-struct bcm63xx_dsp_platform_data {
-	unsigned gpio_rst;
-	unsigned gpio_int;
-	unsigned cs;
-	unsigned ext_irq;
-};
-
-int __init bcm63xx_dsp_register(const struct bcm63xx_dsp_platform_data *pd);
-
-#endif /* __BCM63XX_DSP_H */
diff --git a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
index 5e5b1bc..830f53f 100644
--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
@@ -7,7 +7,6 @@
 #include <linux/leds.h>
 #include <bcm63xx_dev_enet.h>
 #include <bcm63xx_dev_usb_usbd.h>
-#include <bcm63xx_dev_dsp.h>
 
 /*
  * flash mapping
@@ -31,7 +30,6 @@
 	unsigned int	has_ohci0:1;
 	unsigned int	has_ehci0:1;
 	unsigned int	has_usbd:1;
-	unsigned int	has_dsp:1;
 	unsigned int	has_uart0:1;
 	unsigned int	has_uart1:1;
 
@@ -43,9 +41,6 @@
 	/* USB config */
 	struct bcm63xx_usbd_platform_data usbd;
 
-	/* DSP config */
-	struct bcm63xx_dsp_platform_data dsp;
-
 	/* GPIO LEDs */
 	struct gpio_led leds[5];
 
diff --git a/arch/mips/kernel/cacheinfo.c b/arch/mips/kernel/cacheinfo.c
index 428ef21..3ea9556 100644
--- a/arch/mips/kernel/cacheinfo.c
+++ b/arch/mips/kernel/cacheinfo.c
@@ -61,6 +61,25 @@
 	return 0;
 }
 
+static void fill_cpumask_siblings(int cpu, cpumask_t *cpu_map)
+{
+	int cpu1;
+
+	for_each_possible_cpu(cpu1)
+		if (cpus_are_siblings(cpu, cpu1))
+			cpumask_set_cpu(cpu1, cpu_map);
+}
+
+static void fill_cpumask_cluster(int cpu, cpumask_t *cpu_map)
+{
+	int cpu1;
+	int cluster = cpu_cluster(&cpu_data[cpu]);
+
+	for_each_possible_cpu(cpu1)
+		if (cpu_cluster(&cpu_data[cpu1]) == cluster)
+			cpumask_set_cpu(cpu1, cpu_map);
+}
+
 static int __populate_cache_leaves(unsigned int cpu)
 {
 	struct cpuinfo_mips *c = &current_cpu_data;
@@ -68,14 +87,20 @@
 	struct cacheinfo *this_leaf = this_cpu_ci->info_list;
 
 	if (c->icache.waysize) {
+		/* L1 caches are per core */
+		fill_cpumask_siblings(cpu, &this_leaf->shared_cpu_map);
 		populate_cache(dcache, this_leaf, 1, CACHE_TYPE_DATA);
+		fill_cpumask_siblings(cpu, &this_leaf->shared_cpu_map);
 		populate_cache(icache, this_leaf, 1, CACHE_TYPE_INST);
 	} else {
 		populate_cache(dcache, this_leaf, 1, CACHE_TYPE_UNIFIED);
 	}
 
-	if (c->scache.waysize)
+	if (c->scache.waysize) {
+		/* L2 cache is per cluster */
+		fill_cpumask_cluster(cpu, &this_leaf->shared_cpu_map);
 		populate_cache(scache, this_leaf, 2, CACHE_TYPE_UNIFIED);
+	}
 
 	if (c->tcache.waysize)
 		populate_cache(tcache, this_leaf, 3, CACHE_TYPE_UNIFIED);
diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c
index 8aaaa42..e87c98b 100644
--- a/arch/mips/kernel/setup.c
+++ b/arch/mips/kernel/setup.c
@@ -76,7 +76,7 @@
  * mips_io_port_base is the begin of the address space to which x86 style
  * I/O ports are mapped.
  */
-const unsigned long mips_io_port_base = -1;
+unsigned long mips_io_port_base = -1;
 EXPORT_SYMBOL(mips_io_port_base);
 
 static struct resource code_resource = { .name = "Kernel code", };
diff --git a/arch/mips/kernel/vpe.c b/arch/mips/kernel/vpe.c
index 0bef238..0d5f9c8 100644
--- a/arch/mips/kernel/vpe.c
+++ b/arch/mips/kernel/vpe.c
@@ -134,7 +134,7 @@
 {
 	list_del(&v->list);
 	if (v->load_addr)
-		release_progmem(v);
+		release_progmem(v->load_addr);
 	kfree(v);
 }
 
diff --git a/arch/mips/loongson64/loongson-3/platform.c b/arch/mips/loongson64/loongson-3/platform.c
index 25a97cc..0db4cc3 100644
--- a/arch/mips/loongson64/loongson-3/platform.c
+++ b/arch/mips/loongson64/loongson-3/platform.c
@@ -31,6 +31,9 @@
 			continue;
 
 		pdev = kzalloc(sizeof(struct platform_device), GFP_KERNEL);
+		if (!pdev)
+			return -ENOMEM;
+
 		pdev->name = loongson_sysconf.sensors[i].name;
 		pdev->id = loongson_sysconf.sensors[i].id;
 		pdev->dev.platform_data = &loongson_sysconf.sensors[i];
diff --git a/arch/nios2/kernel/nios2_ksyms.c b/arch/nios2/kernel/nios2_ksyms.c
index bf2f55d..4e70404 100644
--- a/arch/nios2/kernel/nios2_ksyms.c
+++ b/arch/nios2/kernel/nios2_ksyms.c
@@ -9,12 +9,20 @@
 #include <linux/export.h>
 #include <linux/string.h>
 
+#include <asm/cacheflush.h>
+#include <asm/pgtable.h>
+
 /* string functions */
 
 EXPORT_SYMBOL(memcpy);
 EXPORT_SYMBOL(memset);
 EXPORT_SYMBOL(memmove);
 
+/* memory management */
+
+EXPORT_SYMBOL(empty_zero_page);
+EXPORT_SYMBOL(flush_icache_range);
+
 /*
  * libgcc functions - functions that are used internally by the
  * compiler...  (prototypes are not correct though, but that
@@ -31,3 +39,7 @@
 DECLARE_EXPORT(__umoddi3);
 DECLARE_EXPORT(__umodsi3);
 DECLARE_EXPORT(__muldi3);
+DECLARE_EXPORT(__ucmpdi2);
+DECLARE_EXPORT(__lshrdi3);
+DECLARE_EXPORT(__ashldi3);
+DECLARE_EXPORT(__ashrdi3);
diff --git a/arch/parisc/kernel/drivers.c b/arch/parisc/kernel/drivers.c
index a1a5e4c..4d5ad9c 100644
--- a/arch/parisc/kernel/drivers.c
+++ b/arch/parisc/kernel/drivers.c
@@ -868,8 +868,8 @@
 	static int count;
 
 	print_pa_hwpath(dev, hw_path);
-	pr_info("%d. %s at 0x%px [%s] { %d, 0x%x, 0x%.3x, 0x%.5x }",
-		++count, dev->name, (void*) dev->hpa.start, hw_path, dev->id.hw_type,
+	pr_info("%d. %s at %pap [%s] { %d, 0x%x, 0x%.3x, 0x%.5x }",
+		++count, dev->name, &(dev->hpa.start), hw_path, dev->id.hw_type,
 		dev->id.hversion_rev, dev->id.hversion, dev->id.sversion);
 
 	if (dev->num_addrs) {
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index a806692..6f475dc 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -230,6 +230,7 @@
 	select NEED_SG_DMA_LENGTH
 	select NO_BOOTMEM
 	select OF
+	select OF_DMA_DEFAULT_COHERENT		if !NOT_COHERENT_CACHE
 	select OF_EARLY_FLATTREE
 	select OF_RESERVED_MEM
 	select OLD_SIGACTION			if PPC32
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index e43321f..8954108 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -412,7 +412,9 @@
 ifdef CONFIG_PPC64
 	$(Q)$(MAKE) $(build)=arch/$(ARCH)/kernel/vdso64 $@
 endif
+ifdef CONFIG_VDSO32
 	$(Q)$(MAKE) $(build)=arch/$(ARCH)/kernel/vdso32 $@
+endif
 
 archclean:
 	$(Q)$(MAKE) $(clean)=$(boot)
diff --git a/arch/powerpc/boot/4xx.c b/arch/powerpc/boot/4xx.c
index f7da651..3c87741 100644
--- a/arch/powerpc/boot/4xx.c
+++ b/arch/powerpc/boot/4xx.c
@@ -232,7 +232,7 @@
 		dpath = 8; /* 64 bits */
 
 	/* get address pins (rows) */
- 	val = SDRAM0_READ(DDR0_42);
+	val = SDRAM0_READ(DDR0_42);
 
 	row = DDR_GET_VAL(val, DDR_APIN, DDR_APIN_SHIFT);
 	if (row > max_row)
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-0-best-effort.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-0-best-effort.dtsi
index e1a961f..baa0c50 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-0-best-effort.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-0-best-effort.dtsi
@@ -63,6 +63,7 @@
 		#size-cells = <0>;
 		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
 		reg = <0xe1000 0x1000>;
+		fsl,erratum-a011043; /* must ignore read errors */
 
 		pcsphy0: ethernet-phy@0 {
 			reg = <0x0>;
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-0.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-0.dtsi
index c288f3c..9309560 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-0.dtsi
@@ -60,6 +60,7 @@
 		#size-cells = <0>;
 		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
 		reg = <0xf1000 0x1000>;
+		fsl,erratum-a011043; /* must ignore read errors */
 
 		pcsphy6: ethernet-phy@0 {
 			reg = <0x0>;
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-1-best-effort.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-1-best-effort.dtsi
index 94f3e71..ff4bd38 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-1-best-effort.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-1-best-effort.dtsi
@@ -63,6 +63,7 @@
 		#size-cells = <0>;
 		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
 		reg = <0xe3000 0x1000>;
+		fsl,erratum-a011043; /* must ignore read errors */
 
 		pcsphy1: ethernet-phy@0 {
 			reg = <0x0>;
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-1.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-1.dtsi
index 94a7698..1fa38ed 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-1.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-1.dtsi
@@ -60,6 +60,7 @@
 		#size-cells = <0>;
 		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
 		reg = <0xf3000 0x1000>;
+		fsl,erratum-a011043; /* must ignore read errors */
 
 		pcsphy7: ethernet-phy@0 {
 			reg = <0x0>;
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-0.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-0.dtsi
index b5ff5f7..a8cc978 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-0.dtsi
@@ -59,6 +59,7 @@
 		#size-cells = <0>;
 		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
 		reg = <0xe1000 0x1000>;
+		fsl,erratum-a011043; /* must ignore read errors */
 
 		pcsphy0: ethernet-phy@0 {
 			reg = <0x0>;
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-1.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-1.dtsi
index ee44182..8b8bd70 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-1.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-1.dtsi
@@ -59,6 +59,7 @@
 		#size-cells = <0>;
 		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
 		reg = <0xe3000 0x1000>;
+		fsl,erratum-a011043; /* must ignore read errors */
 
 		pcsphy1: ethernet-phy@0 {
 			reg = <0x0>;
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-2.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-2.dtsi
index f05f0d7..619c880 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-2.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-2.dtsi
@@ -59,6 +59,7 @@
 		#size-cells = <0>;
 		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
 		reg = <0xe5000 0x1000>;
+		fsl,erratum-a011043; /* must ignore read errors */
 
 		pcsphy2: ethernet-phy@0 {
 			reg = <0x0>;
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-3.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-3.dtsi
index a9114ec..d7ebb73 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-3.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-3.dtsi
@@ -59,6 +59,7 @@
 		#size-cells = <0>;
 		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
 		reg = <0xe7000 0x1000>;
+		fsl,erratum-a011043; /* must ignore read errors */
 
 		pcsphy3: ethernet-phy@0 {
 			reg = <0x0>;
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-4.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-4.dtsi
index 44dd00a..b151d69 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-4.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-4.dtsi
@@ -59,6 +59,7 @@
 		#size-cells = <0>;
 		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
 		reg = <0xe9000 0x1000>;
+		fsl,erratum-a011043; /* must ignore read errors */
 
 		pcsphy4: ethernet-phy@0 {
 			reg = <0x0>;
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-5.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-5.dtsi
index 5b1b84b..adc0ae0 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-5.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-5.dtsi
@@ -59,6 +59,7 @@
 		#size-cells = <0>;
 		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
 		reg = <0xeb000 0x1000>;
+		fsl,erratum-a011043; /* must ignore read errors */
 
 		pcsphy5: ethernet-phy@0 {
 			reg = <0x0>;
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-10g-0.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-10g-0.dtsi
index 0e1daae..435047e 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-10g-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-10g-0.dtsi
@@ -60,6 +60,7 @@
 		#size-cells = <0>;
 		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
 		reg = <0xf1000 0x1000>;
+		fsl,erratum-a011043; /* must ignore read errors */
 
 		pcsphy14: ethernet-phy@0 {
 			reg = <0x0>;
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-10g-1.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-10g-1.dtsi
index 68c5ef7..c098657 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-10g-1.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-10g-1.dtsi
@@ -60,6 +60,7 @@
 		#size-cells = <0>;
 		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
 		reg = <0xf3000 0x1000>;
+		fsl,erratum-a011043; /* must ignore read errors */
 
 		pcsphy15: ethernet-phy@0 {
 			reg = <0x0>;
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-0.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-0.dtsi
index 605363c..9d06824 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-0.dtsi
@@ -59,6 +59,7 @@
 		#size-cells = <0>;
 		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
 		reg = <0xe1000 0x1000>;
+		fsl,erratum-a011043; /* must ignore read errors */
 
 		pcsphy8: ethernet-phy@0 {
 			reg = <0x0>;
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-1.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-1.dtsi
index 1955dfa..70e9477 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-1.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-1.dtsi
@@ -59,6 +59,7 @@
 		#size-cells = <0>;
 		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
 		reg = <0xe3000 0x1000>;
+		fsl,erratum-a011043; /* must ignore read errors */
 
 		pcsphy9: ethernet-phy@0 {
 			reg = <0x0>;
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-2.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-2.dtsi
index 2c14764..ad96e65 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-2.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-2.dtsi
@@ -59,6 +59,7 @@
 		#size-cells = <0>;
 		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
 		reg = <0xe5000 0x1000>;
+		fsl,erratum-a011043; /* must ignore read errors */
 
 		pcsphy10: ethernet-phy@0 {
 			reg = <0x0>;
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-3.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-3.dtsi
index b8b541f..034bc4b 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-3.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-3.dtsi
@@ -59,6 +59,7 @@
 		#size-cells = <0>;
 		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
 		reg = <0xe7000 0x1000>;
+		fsl,erratum-a011043; /* must ignore read errors */
 
 		pcsphy11: ethernet-phy@0 {
 			reg = <0x0>;
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-4.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-4.dtsi
index 4b2cfdd..93ca23d 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-4.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-4.dtsi
@@ -59,6 +59,7 @@
 		#size-cells = <0>;
 		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
 		reg = <0xe9000 0x1000>;
+		fsl,erratum-a011043; /* must ignore read errors */
 
 		pcsphy12: ethernet-phy@0 {
 			reg = <0x0>;
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-5.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-5.dtsi
index 0a52ddf..23b3117 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-5.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-5.dtsi
@@ -59,6 +59,7 @@
 		#size-cells = <0>;
 		compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio";
 		reg = <0xeb000 0x1000>;
+		fsl,erratum-a011043; /* must ignore read errors */
 
 		pcsphy13: ethernet-phy@0 {
 			reg = <0x0>;
diff --git a/arch/powerpc/include/asm/archrandom.h b/arch/powerpc/include/asm/archrandom.h
index 9c63b59..a09595f 100644
--- a/arch/powerpc/include/asm/archrandom.h
+++ b/arch/powerpc/include/asm/archrandom.h
@@ -28,7 +28,7 @@
 	unsigned long val;
 	int rc;
 
-	rc = arch_get_random_long(&val);
+	rc = arch_get_random_seed_long(&val);
 	if (rc)
 		*v = val;
 
diff --git a/arch/powerpc/include/asm/kgdb.h b/arch/powerpc/include/asm/kgdb.h
index 9db24e7..a9e098a 100644
--- a/arch/powerpc/include/asm/kgdb.h
+++ b/arch/powerpc/include/asm/kgdb.h
@@ -26,9 +26,12 @@
 #define BREAK_INSTR_SIZE	4
 #define BUFMAX			((NUMREGBYTES * 2) + 512)
 #define OUTBUFMAX		((NUMREGBYTES * 2) + 512)
+
+#define BREAK_INSTR		0x7d821008	/* twge r2, r2 */
+
 static inline void arch_kgdb_breakpoint(void)
 {
-	asm(".long 0x7d821008"); /* twge r2, r2 */
+	asm(stringify_in_c(.long BREAK_INSTR));
 }
 #define CACHE_FLUSH_IS_SAFE	1
 #define DBG_MAX_REG_NUM     70
diff --git a/arch/powerpc/kernel/cacheinfo.c b/arch/powerpc/kernel/cacheinfo.c
index a8f20e5..9edb454 100644
--- a/arch/powerpc/kernel/cacheinfo.c
+++ b/arch/powerpc/kernel/cacheinfo.c
@@ -865,4 +865,25 @@
 	if (cache)
 		cache_cpu_clear(cache, cpu_id);
 }
+
+void cacheinfo_teardown(void)
+{
+	unsigned int cpu;
+
+	lockdep_assert_cpus_held();
+
+	for_each_online_cpu(cpu)
+		cacheinfo_cpu_offline(cpu);
+}
+
+void cacheinfo_rebuild(void)
+{
+	unsigned int cpu;
+
+	lockdep_assert_cpus_held();
+
+	for_each_online_cpu(cpu)
+		cacheinfo_cpu_online(cpu);
+}
+
 #endif /* (CONFIG_PPC_PSERIES && CONFIG_SUSPEND) || CONFIG_HOTPLUG_CPU */
diff --git a/arch/powerpc/kernel/cacheinfo.h b/arch/powerpc/kernel/cacheinfo.h
index 955f5e9..52bd3fc 100644
--- a/arch/powerpc/kernel/cacheinfo.h
+++ b/arch/powerpc/kernel/cacheinfo.h
@@ -6,4 +6,8 @@
 extern void cacheinfo_cpu_online(unsigned int cpu_id);
 extern void cacheinfo_cpu_offline(unsigned int cpu_id);
 
+/* Allow migration/suspend to tear down and rebuild the hierarchy. */
+extern void cacheinfo_teardown(void);
+extern void cacheinfo_rebuild(void);
+
 #endif /* _PPC_CACHEINFO_H */
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c
index 1eab54b..a2183bb 100644
--- a/arch/powerpc/kernel/cputable.c
+++ b/arch/powerpc/kernel/cputable.c
@@ -2188,11 +2188,13 @@
 		 * oprofile_cpu_type already has a value, then we are
 		 * possibly overriding a real PVR with a logical one,
 		 * and, in that case, keep the current value for
-		 * oprofile_cpu_type.
+		 * oprofile_cpu_type. Futhermore, let's ensure that the
+		 * fix for the PMAO bug is enabled on compatibility mode.
 		 */
 		if (old.oprofile_cpu_type != NULL) {
 			t->oprofile_cpu_type = old.oprofile_cpu_type;
 			t->oprofile_type = old.oprofile_type;
+			t->cpu_features |= old.cpu_features & CPU_FTR_PMAO_BUG;
 		}
 	}
 
diff --git a/arch/powerpc/kernel/dt_cpu_ftrs.c b/arch/powerpc/kernel/dt_cpu_ftrs.c
index c6f41907f..a4b31e1 100644
--- a/arch/powerpc/kernel/dt_cpu_ftrs.c
+++ b/arch/powerpc/kernel/dt_cpu_ftrs.c
@@ -666,8 +666,10 @@
 		m = &dt_cpu_feature_match_table[i];
 		if (!strcmp(f->name, m->name)) {
 			known = true;
-			if (m->enable(f))
+			if (m->enable(f)) {
+				cur_cpu_spec->cpu_features |= m->cpu_ftr_bit_mask;
 				break;
+			}
 
 			pr_info("not enabling: %s (disabled or unsupported by kernel)\n",
 				f->name);
@@ -675,17 +677,12 @@
 		}
 	}
 
-	if (!known && enable_unknown) {
-		if (!feat_try_enable_unknown(f)) {
-			pr_info("not enabling: %s (unknown and unsupported by kernel)\n",
-				f->name);
-			return false;
-		}
+	if (!known && (!enable_unknown || !feat_try_enable_unknown(f))) {
+		pr_info("not enabling: %s (unknown and unsupported by kernel)\n",
+			f->name);
+		return false;
 	}
 
-	if (m->cpu_ftr_bit_mask)
-		cur_cpu_spec->cpu_features |= m->cpu_ftr_bit_mask;
-
 	if (known)
 		pr_debug("enabling: %s\n", f->name);
 	else
diff --git a/arch/powerpc/kernel/eeh_driver.c b/arch/powerpc/kernel/eeh_driver.c
index af1f3d5..377d23f 100644
--- a/arch/powerpc/kernel/eeh_driver.c
+++ b/arch/powerpc/kernel/eeh_driver.c
@@ -554,12 +554,6 @@
 
 		pci_iov_remove_virtfn(edev->physfn, pdn->vf_index);
 		edev->pdev = NULL;
-
-		/*
-		 * We have to set the VF PE number to invalid one, which is
-		 * required to plug the VF successfully.
-		 */
-		pdn->pe_number = IODA_INVALID_PE;
 #endif
 		if (rmv_data)
 			list_add(&edev->rmv_list, &rmv_data->edev_list);
diff --git a/arch/powerpc/kernel/kgdb.c b/arch/powerpc/kernel/kgdb.c
index 35e240a..59c578f 100644
--- a/arch/powerpc/kernel/kgdb.c
+++ b/arch/powerpc/kernel/kgdb.c
@@ -24,6 +24,7 @@
 #include <asm/processor.h>
 #include <asm/machdep.h>
 #include <asm/debug.h>
+#include <asm/code-patching.h>
 #include <linux/slab.h>
 
 /*
@@ -144,7 +145,7 @@
 	if (kgdb_handle_exception(1, SIGTRAP, 0, regs) != 0)
 		return 0;
 
-	if (*(u32 *) (regs->nip) == *(u32 *) (&arch_kgdb_ops.gdb_bpt_instr))
+	if (*(u32 *)regs->nip == BREAK_INSTR)
 		regs->nip += BREAK_INSTR_SIZE;
 
 	return 1;
@@ -441,16 +442,42 @@
 	return -1;
 }
 
+int kgdb_arch_set_breakpoint(struct kgdb_bkpt *bpt)
+{
+	int err;
+	unsigned int instr;
+	unsigned int *addr = (unsigned int *)bpt->bpt_addr;
+
+	err = probe_kernel_address(addr, instr);
+	if (err)
+		return err;
+
+	err = patch_instruction(addr, BREAK_INSTR);
+	if (err)
+		return -EFAULT;
+
+	*(unsigned int *)bpt->saved_instr = instr;
+
+	return 0;
+}
+
+int kgdb_arch_remove_breakpoint(struct kgdb_bkpt *bpt)
+{
+	int err;
+	unsigned int instr = *(unsigned int *)bpt->saved_instr;
+	unsigned int *addr = (unsigned int *)bpt->bpt_addr;
+
+	err = patch_instruction(addr, instr);
+	if (err)
+		return -EFAULT;
+
+	return 0;
+}
+
 /*
  * Global data
  */
-struct kgdb_arch arch_kgdb_ops = {
-#ifdef __LITTLE_ENDIAN__
-	.gdb_bpt_instr = {0x08, 0x10, 0x82, 0x7d},
-#else
-	.gdb_bpt_instr = {0x7d, 0x82, 0x10, 0x08},
-#endif
-};
+struct kgdb_arch arch_kgdb_ops;
 
 static int kgdb_not_implemented(struct pt_regs *regs)
 {
diff --git a/arch/powerpc/kernel/mce_power.c b/arch/powerpc/kernel/mce_power.c
index 37a110b..ecb3750 100644
--- a/arch/powerpc/kernel/mce_power.c
+++ b/arch/powerpc/kernel/mce_power.c
@@ -40,7 +40,7 @@
 {
 	pte_t *ptep;
 	unsigned int shift;
-	unsigned long flags;
+	unsigned long pfn, flags;
 	struct mm_struct *mm;
 
 	if (user_mode(regs))
@@ -50,18 +50,22 @@
 
 	local_irq_save(flags);
 	ptep = __find_linux_pte(mm->pgd, addr, NULL, &shift);
-	local_irq_restore(flags);
 
-	if (!ptep || pte_special(*ptep))
-		return ULONG_MAX;
-
-	if (shift > PAGE_SHIFT) {
-		unsigned long rpnmask = (1ul << shift) - PAGE_SIZE;
-
-		return pte_pfn(__pte(pte_val(*ptep) | (addr & rpnmask)));
+	if (!ptep || pte_special(*ptep)) {
+		pfn = ULONG_MAX;
+		goto out;
 	}
 
-	return pte_pfn(*ptep);
+	if (shift <= PAGE_SHIFT)
+		pfn = pte_pfn(*ptep);
+	else {
+		unsigned long rpnmask = (1ul << shift) - PAGE_SIZE;
+		pfn = pte_pfn(__pte(pte_val(*ptep) | (addr & rpnmask)));
+	}
+
+out:
+	local_irq_restore(flags);
+	return pfn;
 }
 
 /* flush SLBs and reload */
diff --git a/arch/powerpc/kernel/pci_dn.c b/arch/powerpc/kernel/pci_dn.c
index ab147a1..7cecc3b 100644
--- a/arch/powerpc/kernel/pci_dn.c
+++ b/arch/powerpc/kernel/pci_dn.c
@@ -257,9 +257,22 @@
 				continue;
 
 #ifdef CONFIG_EEH
-			/* Release EEH device for the VF */
+			/*
+			 * Release EEH state for this VF. The PCI core
+			 * has already torn down the pci_dev for this VF, but
+			 * we're responsible to removing the eeh_dev since it
+			 * has the same lifetime as the pci_dn that spawned it.
+			 */
 			edev = pdn_to_eeh_dev(pdn);
 			if (edev) {
+				/*
+				 * We allocate pci_dn's for the totalvfs count,
+				 * but only only the vfs that were activated
+				 * have a configured PE.
+				 */
+				if (edev->pe)
+					eeh_rmv_from_parent_pe(edev);
+
 				pdn->edev = NULL;
 				kfree(edev);
 			}
diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c
index 9b38a2e..af1e38f 100644
--- a/arch/powerpc/kernel/prom_init.c
+++ b/arch/powerpc/kernel/prom_init.c
@@ -904,7 +904,7 @@
 		.reserved2 = 0,
 		.reserved3 = 0,
 		.subprocessors = 1,
-		.byte22 = OV5_FEAT(OV5_DRMEM_V2),
+		.byte22 = OV5_FEAT(OV5_DRMEM_V2) | OV5_FEAT(OV5_DRC_INFO),
 		.intarch = 0,
 		.mmu = 0,
 		.hash_ext = 0,
diff --git a/arch/powerpc/kernel/signal.c b/arch/powerpc/kernel/signal.c
index b3e8db3..57b3745 100644
--- a/arch/powerpc/kernel/signal.c
+++ b/arch/powerpc/kernel/signal.c
@@ -200,14 +200,27 @@
 	 * normal/non-checkpointed stack pointer.
 	 */
 
+	unsigned long ret = tsk->thread.regs->gpr[1];
+
 #ifdef CONFIG_PPC_TRANSACTIONAL_MEM
 	BUG_ON(tsk != current);
 
 	if (MSR_TM_ACTIVE(tsk->thread.regs->msr)) {
+		preempt_disable();
 		tm_reclaim_current(TM_CAUSE_SIGNAL);
 		if (MSR_TM_TRANSACTIONAL(tsk->thread.regs->msr))
-			return tsk->thread.ckpt_regs.gpr[1];
+			ret = tsk->thread.ckpt_regs.gpr[1];
+
+		/*
+		 * If we treclaim, we must clear the current thread's TM bits
+		 * before re-enabling preemption. Otherwise we might be
+		 * preempted and have the live MSR[TS] changed behind our back
+		 * (tm_recheckpoint_new_task() would recheckpoint). Besides, we
+		 * enter the signal handler in non-transactional state.
+		 */
+		tsk->thread.regs->msr &= ~MSR_TS_MASK;
+		preempt_enable();
 	}
 #endif
-	return tsk->thread.regs->gpr[1];
+	return ret;
 }
diff --git a/arch/powerpc/kernel/signal_32.c b/arch/powerpc/kernel/signal_32.c
index 906b05c..06b4b82 100644
--- a/arch/powerpc/kernel/signal_32.c
+++ b/arch/powerpc/kernel/signal_32.c
@@ -493,19 +493,11 @@
  */
 static int save_tm_user_regs(struct pt_regs *regs,
 			     struct mcontext __user *frame,
-			     struct mcontext __user *tm_frame, int sigret)
+			     struct mcontext __user *tm_frame, int sigret,
+			     unsigned long msr)
 {
-	unsigned long msr = regs->msr;
-
 	WARN_ON(tm_suspend_disabled);
 
-	/* Remove TM bits from thread's MSR.  The MSR in the sigcontext
-	 * just indicates to userland that we were doing a transaction, but we
-	 * don't want to return in transactional state.  This also ensures
-	 * that flush_fp_to_thread won't set TIF_RESTORE_TM again.
-	 */
-	regs->msr &= ~MSR_TS_MASK;
-
 	/* Save both sets of general registers */
 	if (save_general_regs(&current->thread.ckpt_regs, frame)
 	    || save_general_regs(regs, tm_frame))
@@ -916,6 +908,10 @@
 	int sigret;
 	unsigned long tramp;
 	struct pt_regs *regs = tsk->thread.regs;
+#ifdef CONFIG_PPC_TRANSACTIONAL_MEM
+	/* Save the thread's msr before get_tm_stackpointer() changes it */
+	unsigned long msr = regs->msr;
+#endif
 
 	BUG_ON(tsk != current);
 
@@ -948,13 +944,13 @@
 
 #ifdef CONFIG_PPC_TRANSACTIONAL_MEM
 	tm_frame = &rt_sf->uc_transact.uc_mcontext;
-	if (MSR_TM_ACTIVE(regs->msr)) {
+	if (MSR_TM_ACTIVE(msr)) {
 		if (__put_user((unsigned long)&rt_sf->uc_transact,
 			       &rt_sf->uc.uc_link) ||
 		    __put_user((unsigned long)tm_frame,
 			       &rt_sf->uc_transact.uc_regs))
 			goto badframe;
-		if (save_tm_user_regs(regs, frame, tm_frame, sigret))
+		if (save_tm_user_regs(regs, frame, tm_frame, sigret, msr))
 			goto badframe;
 	}
 	else
@@ -1365,6 +1361,10 @@
 	int sigret;
 	unsigned long tramp;
 	struct pt_regs *regs = tsk->thread.regs;
+#ifdef CONFIG_PPC_TRANSACTIONAL_MEM
+	/* Save the thread's msr before get_tm_stackpointer() changes it */
+	unsigned long msr = regs->msr;
+#endif
 
 	BUG_ON(tsk != current);
 
@@ -1398,9 +1398,9 @@
 
 #ifdef CONFIG_PPC_TRANSACTIONAL_MEM
 	tm_mctx = &frame->mctx_transact;
-	if (MSR_TM_ACTIVE(regs->msr)) {
+	if (MSR_TM_ACTIVE(msr)) {
 		if (save_tm_user_regs(regs, &frame->mctx, &frame->mctx_transact,
-				      sigret))
+				      sigret, msr))
 			goto badframe;
 	}
 	else
diff --git a/arch/powerpc/kernel/signal_64.c b/arch/powerpc/kernel/signal_64.c
index b5933d7..b088b07 100644
--- a/arch/powerpc/kernel/signal_64.c
+++ b/arch/powerpc/kernel/signal_64.c
@@ -196,7 +196,8 @@
 static long setup_tm_sigcontexts(struct sigcontext __user *sc,
 				 struct sigcontext __user *tm_sc,
 				 struct task_struct *tsk,
-				 int signr, sigset_t *set, unsigned long handler)
+				 int signr, sigset_t *set, unsigned long handler,
+				 unsigned long msr)
 {
 	/* When CONFIG_ALTIVEC is set, we _always_ setup v_regs even if the
 	 * process never used altivec yet (MSR_VEC is zero in pt_regs of
@@ -211,12 +212,11 @@
 	elf_vrreg_t __user *tm_v_regs = sigcontext_vmx_regs(tm_sc);
 #endif
 	struct pt_regs *regs = tsk->thread.regs;
-	unsigned long msr = tsk->thread.regs->msr;
 	long err = 0;
 
 	BUG_ON(tsk != current);
 
-	BUG_ON(!MSR_TM_ACTIVE(regs->msr));
+	BUG_ON(!MSR_TM_ACTIVE(msr));
 
 	WARN_ON(tm_suspend_disabled);
 
@@ -226,13 +226,6 @@
 	 */
 	msr |= tsk->thread.ckpt_regs.msr & (MSR_FP | MSR_VEC | MSR_VSX);
 
-	/* Remove TM bits from thread's MSR.  The MSR in the sigcontext
-	 * just indicates to userland that we were doing a transaction, but we
-	 * don't want to return in transactional state.  This also ensures
-	 * that flush_fp_to_thread won't set TIF_RESTORE_TM again.
-	 */
-	regs->msr &= ~MSR_TS_MASK;
-
 #ifdef CONFIG_ALTIVEC
 	err |= __put_user(v_regs, &sc->v_regs);
 	err |= __put_user(tm_v_regs, &tm_sc->v_regs);
@@ -803,6 +796,10 @@
 	unsigned long newsp = 0;
 	long err = 0;
 	struct pt_regs *regs = tsk->thread.regs;
+#ifdef CONFIG_PPC_TRANSACTIONAL_MEM
+	/* Save the thread's msr before get_tm_stackpointer() changes it */
+	unsigned long msr = regs->msr;
+#endif
 
 	BUG_ON(tsk != current);
 
@@ -820,7 +817,7 @@
 	err |= __put_user(0, &frame->uc.uc_flags);
 	err |= __save_altstack(&frame->uc.uc_stack, regs->gpr[1]);
 #ifdef CONFIG_PPC_TRANSACTIONAL_MEM
-	if (MSR_TM_ACTIVE(regs->msr)) {
+	if (MSR_TM_ACTIVE(msr)) {
 		/* The ucontext_t passed to userland points to the second
 		 * ucontext_t (for transactional state) with its uc_link ptr.
 		 */
@@ -828,7 +825,8 @@
 		err |= setup_tm_sigcontexts(&frame->uc.uc_mcontext,
 					    &frame->uc_transact.uc_mcontext,
 					    tsk, ksig->sig, NULL,
-					    (unsigned long)ksig->ka.sa.sa_handler);
+					    (unsigned long)ksig->ka.sa.sa_handler,
+					    msr);
 	} else
 #endif
 	{
diff --git a/arch/powerpc/kvm/book3s_64_vio.c b/arch/powerpc/kvm/book3s_64_vio.c
index 65486c3..26b03af 100644
--- a/arch/powerpc/kvm/book3s_64_vio.c
+++ b/arch/powerpc/kvm/book3s_64_vio.c
@@ -133,7 +133,6 @@
 					continue;
 
 				kref_put(&stit->kref, kvm_spapr_tce_liobn_put);
-				return;
 			}
 		}
 	}
diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c
index 3ae3e8d..5dc592f 100644
--- a/arch/powerpc/kvm/book3s_hv.c
+++ b/arch/powerpc/kvm/book3s_hv.c
@@ -2065,7 +2065,7 @@
 	mutex_unlock(&kvm->lock);
 
 	if (!vcore)
-		goto free_vcpu;
+		goto uninit_vcpu;
 
 	spin_lock(&vcore->lock);
 	++vcore->num_threads;
@@ -2082,6 +2082,8 @@
 
 	return vcpu;
 
+uninit_vcpu:
+	kvm_vcpu_uninit(vcpu);
 free_vcpu:
 	kmem_cache_free(kvm_vcpu_cache, vcpu);
 out:
@@ -2993,25 +2995,26 @@
 		}
 	}
 
-	/*
-	 * Interrupts will be enabled once we get into the guest,
-	 * so tell lockdep that we're about to enable interrupts.
-	 */
-	trace_hardirqs_on();
-
 	guest_enter_irqoff();
 
 	srcu_idx = srcu_read_lock(&vc->kvm->srcu);
 
 	this_cpu_disable_ftrace();
 
+	/*
+	 * Interrupts will be enabled once we get into the guest,
+	 * so tell lockdep that we're about to enable interrupts.
+	 */
+	trace_hardirqs_on();
+
 	trap = __kvmppc_vcore_entry();
 
+	trace_hardirqs_off();
+
 	this_cpu_enable_ftrace();
 
 	srcu_read_unlock(&vc->kvm->srcu, srcu_idx);
 
-	trace_hardirqs_off();
 	set_irq_happened(trap);
 
 	spin_lock(&vc->lock);
diff --git a/arch/powerpc/kvm/book3s_pr.c b/arch/powerpc/kvm/book3s_pr.c
index de97022..7869112 100644
--- a/arch/powerpc/kvm/book3s_pr.c
+++ b/arch/powerpc/kvm/book3s_pr.c
@@ -1772,10 +1772,12 @@
 
 	err = kvmppc_mmu_init(vcpu);
 	if (err < 0)
-		goto uninit_vcpu;
+		goto free_shared_page;
 
 	return vcpu;
 
+free_shared_page:
+	free_page((unsigned long)vcpu->arch.shared);
 uninit_vcpu:
 	kvm_vcpu_uninit(vcpu);
 free_shadow_vcpu:
diff --git a/arch/powerpc/mm/dump_hashpagetable.c b/arch/powerpc/mm/dump_hashpagetable.c
index 8692946..b430e4e 100644
--- a/arch/powerpc/mm/dump_hashpagetable.c
+++ b/arch/powerpc/mm/dump_hashpagetable.c
@@ -342,7 +342,7 @@
 
 	/* Look in secondary table */
 	if (slot == -1)
-		slot = base_hpte_find(ea, psize, true, &v, &r);
+		slot = base_hpte_find(ea, psize, false, &v, &r);
 
 	/* No entry found */
 	if (slot == -1)
diff --git a/arch/powerpc/mm/mem.c b/arch/powerpc/mm/mem.c
index 9a6afd9..84a012e 100644
--- a/arch/powerpc/mm/mem.c
+++ b/arch/powerpc/mm/mem.c
@@ -118,8 +118,8 @@
 	return -ENODEV;
 }
 
-int __meminit arch_add_memory(int nid, u64 start, u64 size, struct vmem_altmap *altmap,
-		bool want_memblock)
+int __ref arch_add_memory(int nid, u64 start, u64 size, struct vmem_altmap *altmap,
+			  bool want_memblock)
 {
 	unsigned long start_pfn = start >> PAGE_SHIFT;
 	unsigned long nr_pages = size >> PAGE_SHIFT;
@@ -139,30 +139,20 @@
 	return __add_pages(nid, start_pfn, nr_pages, altmap, want_memblock);
 }
 
-#ifdef CONFIG_MEMORY_HOTREMOVE
-int __meminit arch_remove_memory(u64 start, u64 size, struct vmem_altmap *altmap)
+void __ref arch_remove_memory(int nid, u64 start, u64 size,
+			     struct vmem_altmap *altmap)
 {
 	unsigned long start_pfn = start >> PAGE_SHIFT;
 	unsigned long nr_pages = size >> PAGE_SHIFT;
-	struct page *page;
 	int ret;
 
-	/*
-	 * If we have an altmap then we need to skip over any reserved PFNs
-	 * when querying the zone.
-	 */
-	page = pfn_to_page(start_pfn);
-	if (altmap)
-		page += vmem_altmap_offset(altmap);
-
-	ret = __remove_pages(page_zone(page), start_pfn, nr_pages, altmap);
-	if (ret)
-		return ret;
+	__remove_pages(start_pfn, nr_pages, altmap);
 
 	/* Remove htab bolted mappings for this section of memory */
 	start = (unsigned long)__va(start);
 	flush_inval_dcache_range(start, start + size);
 	ret = remove_section_mapping(start, start + size);
+	WARN_ON_ONCE(ret);
 
 	/* Ensure all vmalloc mappings are flushed in case they also
 	 * hit that section of memory
@@ -170,11 +160,8 @@
 	vm_unmap_aliases();
 
 	resize_hpt_for_hotplug(memblock_phys_mem_size());
-
-	return ret;
 }
 #endif
-#endif /* CONFIG_MEMORY_HOTPLUG */
 
 /*
  * walk_memory_resource() needs to make sure there is no holes in a given
diff --git a/arch/powerpc/mm/pgtable-radix.c b/arch/powerpc/mm/pgtable-radix.c
index 69caeb5..5404a63 100644
--- a/arch/powerpc/mm/pgtable-radix.c
+++ b/arch/powerpc/mm/pgtable-radix.c
@@ -717,8 +717,8 @@
 
 	spin_unlock(&init_mm.page_table_lock);
 	pte_clear(&init_mm, params->aligned_start, params->pte);
-	create_physical_mapping(params->aligned_start, params->start, -1);
-	create_physical_mapping(params->end, params->aligned_end, -1);
+	create_physical_mapping(__pa(params->aligned_start), __pa(params->start), -1);
+	create_physical_mapping(__pa(params->end), __pa(params->aligned_end), -1);
 	spin_lock(&init_mm.page_table_lock);
 	return 0;
 }
diff --git a/arch/powerpc/platforms/powernv/memtrace.c b/arch/powerpc/platforms/powernv/memtrace.c
index dd3cc46..84d038e 100644
--- a/arch/powerpc/platforms/powernv/memtrace.c
+++ b/arch/powerpc/platforms/powernv/memtrace.c
@@ -122,7 +122,7 @@
 			 */
 			end_pfn = base_pfn + nr_pages;
 			for (pfn = base_pfn; pfn < end_pfn; pfn += bytes>> PAGE_SHIFT) {
-				remove_memory(nid, pfn << PAGE_SHIFT, bytes);
+				__remove_memory(nid, pfn << PAGE_SHIFT, bytes);
 			}
 			unlock_device_hotplug();
 			return base_pfn << PAGE_SHIFT;
diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c b/arch/powerpc/platforms/powernv/pci-ioda.c
index ee63749..ecd211c 100644
--- a/arch/powerpc/platforms/powernv/pci-ioda.c
+++ b/arch/powerpc/platforms/powernv/pci-ioda.c
@@ -1552,6 +1552,10 @@
 
 	/* Reserve PE for each VF */
 	for (vf_index = 0; vf_index < num_vfs; vf_index++) {
+		int vf_devfn = pci_iov_virtfn_devfn(pdev, vf_index);
+		int vf_bus = pci_iov_virtfn_bus(pdev, vf_index);
+		struct pci_dn *vf_pdn;
+
 		if (pdn->m64_single_mode)
 			pe_num = pdn->pe_num_map[vf_index];
 		else
@@ -1564,13 +1568,11 @@
 		pe->pbus = NULL;
 		pe->parent_dev = pdev;
 		pe->mve_number = -1;
-		pe->rid = (pci_iov_virtfn_bus(pdev, vf_index) << 8) |
-			   pci_iov_virtfn_devfn(pdev, vf_index);
+		pe->rid = (vf_bus << 8) | vf_devfn;
 
 		pe_info(pe, "VF %04d:%02d:%02d.%d associated with PE#%x\n",
 			hose->global_number, pdev->bus->number,
-			PCI_SLOT(pci_iov_virtfn_devfn(pdev, vf_index)),
-			PCI_FUNC(pci_iov_virtfn_devfn(pdev, vf_index)), pe_num);
+			PCI_SLOT(vf_devfn), PCI_FUNC(vf_devfn), pe_num);
 
 		if (pnv_ioda_configure_pe(phb, pe)) {
 			/* XXX What do we do here ? */
@@ -1584,6 +1586,15 @@
 		list_add_tail(&pe->list, &phb->ioda.pe_list);
 		mutex_unlock(&phb->ioda.pe_list_mutex);
 
+		/* associate this pe to it's pdn */
+		list_for_each_entry(vf_pdn, &pdn->parent->child_list, list) {
+			if (vf_pdn->busno == vf_bus &&
+			    vf_pdn->devfn == vf_devfn) {
+				vf_pdn->pe_number = pe_num;
+				break;
+			}
+		}
+
 		pnv_pci_ioda2_setup_dma_pe(phb, pe);
 	}
 }
@@ -3004,9 +3015,6 @@
 	struct pci_dn *pdn;
 	int mul, total_vfs;
 
-	if (!pdev->is_physfn || pci_dev_is_added(pdev))
-		return;
-
 	pdn = pci_get_pdn(pdev);
 	pdn->vfs_expanded = 0;
 	pdn->m64_single_mode = false;
@@ -3081,6 +3089,30 @@
 		res->end = res->start - 1;
 	}
 }
+
+static void pnv_pci_ioda_fixup_iov(struct pci_dev *pdev)
+{
+	if (WARN_ON(pci_dev_is_added(pdev)))
+		return;
+
+	if (pdev->is_virtfn) {
+		struct pnv_ioda_pe *pe = pnv_ioda_get_pe(pdev);
+
+		/*
+		 * VF PEs are single-device PEs so their pdev pointer needs to
+		 * be set. The pdev doesn't exist when the PE is allocated (in
+		 * (pcibios_sriov_enable()) so we fix it up here.
+		 */
+		pe->pdev = pdev;
+		WARN_ON(!(pe->flags & PNV_IODA_PE_VF));
+	} else if (pdev->is_physfn) {
+		/*
+		 * For PFs adjust their allocated IOV resources to match what
+		 * the PHB can support using it's M64 BAR table.
+		 */
+		pnv_pci_ioda_fixup_iov_resources(pdev);
+	}
+}
 #endif /* CONFIG_PCI_IOV */
 
 static void pnv_ioda_setup_pe_res(struct pnv_ioda_pe *pe,
@@ -3974,7 +4006,7 @@
 	ppc_md.pcibios_default_alignment = pnv_pci_default_alignment;
 
 #ifdef CONFIG_PCI_IOV
-	ppc_md.pcibios_fixup_sriov = pnv_pci_ioda_fixup_iov_resources;
+	ppc_md.pcibios_fixup_sriov = pnv_pci_ioda_fixup_iov;
 	ppc_md.pcibios_iov_resource_alignment = pnv_pci_iov_resource_alignment;
 	ppc_md.pcibios_sriov_enable = pnv_pcibios_sriov_enable;
 	ppc_md.pcibios_sriov_disable = pnv_pcibios_sriov_disable;
diff --git a/arch/powerpc/platforms/powernv/pci.c b/arch/powerpc/platforms/powernv/pci.c
index db230a35..b6fa900 100644
--- a/arch/powerpc/platforms/powernv/pci.c
+++ b/arch/powerpc/platforms/powernv/pci.c
@@ -820,24 +820,6 @@
 {
 	struct pci_controller *hose = pci_bus_to_host(pdev->bus);
 	struct pnv_phb *phb = hose->private_data;
-#ifdef CONFIG_PCI_IOV
-	struct pnv_ioda_pe *pe;
-	struct pci_dn *pdn;
-
-	/* Fix the VF pdn PE number */
-	if (pdev->is_virtfn) {
-		pdn = pci_get_pdn(pdev);
-		WARN_ON(pdn->pe_number != IODA_INVALID_PE);
-		list_for_each_entry(pe, &phb->ioda.pe_list, list) {
-			if (pe->rid == ((pdev->bus->number << 8) |
-			    (pdev->devfn & 0xff))) {
-				pdn->pe_number = pe->pe_number;
-				pe->pdev = pdev;
-				break;
-			}
-		}
-	}
-#endif /* CONFIG_PCI_IOV */
 
 	if (phb && phb->dma_dev_setup)
 		phb->dma_dev_setup(phb, pdev);
@@ -1095,6 +1077,23 @@
 	if (!firmware_has_feature(FW_FEATURE_OPAL))
 		return;
 
+#ifdef CONFIG_PCIEPORTBUS
+	/*
+	 * On PowerNV PCIe devices are (currently) managed in cooperation
+	 * with firmware. This isn't *strictly* required, but there's enough
+	 * assumptions baked into both firmware and the platform code that
+	 * it's unwise to allow the portbus services to be used.
+	 *
+	 * We need to fix this eventually, but for now set this flag to disable
+	 * the portbus driver. The AER service isn't required since that AER
+	 * events are handled via EEH. The pciehp hotplug driver can't work
+	 * without kernel changes (and portbus binding breaks pnv_php). The
+	 * other services also require some thinking about how we're going
+	 * to integrate them.
+	 */
+	pcie_ports_disabled = true;
+#endif
+
 	/* Look for IODA IO-Hubs. */
 	for_each_compatible_node(np, NULL, "ibm,ioda-hub") {
 		pnv_pci_init_ioda_hub(np);
diff --git a/arch/powerpc/platforms/pseries/hotplug-memory.c b/arch/powerpc/platforms/pseries/hotplug-memory.c
index 7f86bc3..fc01a2c 100644
--- a/arch/powerpc/platforms/pseries/hotplug-memory.c
+++ b/arch/powerpc/platforms/pseries/hotplug-memory.c
@@ -101,11 +101,12 @@
 	return new_prop;
 }
 
-static u32 find_aa_index(struct device_node *dr_node,
-			 struct property *ala_prop, const u32 *lmb_assoc)
+static bool find_aa_index(struct device_node *dr_node,
+			 struct property *ala_prop,
+			 const u32 *lmb_assoc, u32 *aa_index)
 {
-	u32 *assoc_arrays;
-	u32 aa_index;
+	u32 *assoc_arrays, new_prop_size;
+	struct property *new_prop;
 	int aa_arrays, aa_array_entries, aa_array_sz;
 	int i, index;
 
@@ -121,46 +122,39 @@
 	aa_array_entries = be32_to_cpu(assoc_arrays[1]);
 	aa_array_sz = aa_array_entries * sizeof(u32);
 
-	aa_index = -1;
 	for (i = 0; i < aa_arrays; i++) {
 		index = (i * aa_array_entries) + 2;
 
 		if (memcmp(&assoc_arrays[index], &lmb_assoc[1], aa_array_sz))
 			continue;
 
-		aa_index = i;
-		break;
+		*aa_index = i;
+		return true;
 	}
 
-	if (aa_index == -1) {
-		struct property *new_prop;
-		u32 new_prop_size;
+	new_prop_size = ala_prop->length + aa_array_sz;
+	new_prop = dlpar_clone_property(ala_prop, new_prop_size);
+	if (!new_prop)
+		return false;
 
-		new_prop_size = ala_prop->length + aa_array_sz;
-		new_prop = dlpar_clone_property(ala_prop, new_prop_size);
-		if (!new_prop)
-			return -1;
+	assoc_arrays = new_prop->value;
 
-		assoc_arrays = new_prop->value;
+	/* increment the number of entries in the lookup array */
+	assoc_arrays[0] = cpu_to_be32(aa_arrays + 1);
 
-		/* increment the number of entries in the lookup array */
-		assoc_arrays[0] = cpu_to_be32(aa_arrays + 1);
+	/* copy the new associativity into the lookup array */
+	index = aa_arrays * aa_array_entries + 2;
+	memcpy(&assoc_arrays[index], &lmb_assoc[1], aa_array_sz);
 
-		/* copy the new associativity into the lookup array */
-		index = aa_arrays * aa_array_entries + 2;
-		memcpy(&assoc_arrays[index], &lmb_assoc[1], aa_array_sz);
+	of_update_property(dr_node, new_prop);
 
-		of_update_property(dr_node, new_prop);
-
-		/*
-		 * The associativity lookup array index for this lmb is
-		 * number of entries - 1 since we added its associativity
-		 * to the end of the lookup array.
-		 */
-		aa_index = be32_to_cpu(assoc_arrays[0]) - 1;
-	}
-
-	return aa_index;
+	/*
+	 * The associativity lookup array index for this lmb is
+	 * number of entries - 1 since we added its associativity
+	 * to the end of the lookup array.
+	 */
+	*aa_index = be32_to_cpu(assoc_arrays[0]) - 1;
+	return true;
 }
 
 static int update_lmb_associativity_index(struct drmem_lmb *lmb)
@@ -169,6 +163,7 @@
 	struct property *ala_prop;
 	const u32 *lmb_assoc;
 	u32 aa_index;
+	bool found;
 
 	parent = of_find_node_by_path("/");
 	if (!parent)
@@ -200,12 +195,12 @@
 		return -ENODEV;
 	}
 
-	aa_index = find_aa_index(dr_node, ala_prop, lmb_assoc);
+	found = find_aa_index(dr_node, ala_prop, lmb_assoc, &aa_index);
 
 	of_node_put(dr_node);
 	dlpar_free_cc_nodes(lmb_node);
 
-	if (aa_index < 0) {
+	if (!found) {
 		pr_err("Could not find LMB associativity\n");
 		return -1;
 	}
@@ -306,7 +301,7 @@
 	nid = memory_add_physaddr_to_nid(base);
 
 	for (i = 0; i < sections_per_block; i++) {
-		remove_memory(nid, base, MIN_MEMORY_BLOCK_SIZE);
+		__remove_memory(nid, base, MIN_MEMORY_BLOCK_SIZE);
 		base += MIN_MEMORY_BLOCK_SIZE;
 	}
 
@@ -371,8 +366,10 @@
 
 	for (i = 0; i < scns_per_block; i++) {
 		pfn = PFN_DOWN(phys_addr);
-		if (!pfn_present(pfn))
+		if (!pfn_present(pfn)) {
+			phys_addr += MIN_MEMORY_BLOCK_SIZE;
 			continue;
+		}
 
 		rc &= is_mem_section_removable(pfn, PAGES_PER_SECTION);
 		phys_addr += MIN_MEMORY_BLOCK_SIZE;
@@ -398,7 +395,7 @@
 	block_sz = pseries_memory_block_size();
 	nid = memory_add_physaddr_to_nid(lmb->base_addr);
 
-	remove_memory(nid, lmb->base_addr, block_sz);
+	__remove_memory(nid, lmb->base_addr, block_sz);
 
 	/* Update memory regions for memory remove */
 	memblock_remove(lmb->base_addr, block_sz);
@@ -685,7 +682,7 @@
 
 	rc = dlpar_online_lmb(lmb);
 	if (rc) {
-		remove_memory(nid, lmb->base_addr, block_sz);
+		__remove_memory(nid, lmb->base_addr, block_sz);
 		invalidate_lmb_associativity_index(lmb);
 	} else {
 		lmb->flags |= DRCONF_MEM_ASSIGNED;
diff --git a/arch/powerpc/platforms/pseries/iommu.c b/arch/powerpc/platforms/pseries/iommu.c
index 06f0296..b1a08cb 100644
--- a/arch/powerpc/platforms/pseries/iommu.c
+++ b/arch/powerpc/platforms/pseries/iommu.c
@@ -167,10 +167,10 @@
 	return be64_to_cpu(*tcep);
 }
 
-static void tce_free_pSeriesLP(struct iommu_table*, long, long);
+static void tce_free_pSeriesLP(unsigned long liobn, long, long);
 static void tce_freemulti_pSeriesLP(struct iommu_table*, long, long);
 
-static int tce_build_pSeriesLP(struct iommu_table *tbl, long tcenum,
+static int tce_build_pSeriesLP(unsigned long liobn, long tcenum, long tceshift,
 				long npages, unsigned long uaddr,
 				enum dma_data_direction direction,
 				unsigned long attrs)
@@ -181,25 +181,25 @@
 	int ret = 0;
 	long tcenum_start = tcenum, npages_start = npages;
 
-	rpn = __pa(uaddr) >> TCE_SHIFT;
+	rpn = __pa(uaddr) >> tceshift;
 	proto_tce = TCE_PCI_READ;
 	if (direction != DMA_TO_DEVICE)
 		proto_tce |= TCE_PCI_WRITE;
 
 	while (npages--) {
-		tce = proto_tce | (rpn & TCE_RPN_MASK) << TCE_RPN_SHIFT;
-		rc = plpar_tce_put((u64)tbl->it_index, (u64)tcenum << 12, tce);
+		tce = proto_tce | (rpn & TCE_RPN_MASK) << tceshift;
+		rc = plpar_tce_put((u64)liobn, (u64)tcenum << tceshift, tce);
 
 		if (unlikely(rc == H_NOT_ENOUGH_RESOURCES)) {
 			ret = (int)rc;
-			tce_free_pSeriesLP(tbl, tcenum_start,
+			tce_free_pSeriesLP(liobn, tcenum_start,
 			                   (npages_start - (npages + 1)));
 			break;
 		}
 
 		if (rc && printk_ratelimit()) {
 			printk("tce_build_pSeriesLP: plpar_tce_put failed. rc=%lld\n", rc);
-			printk("\tindex   = 0x%llx\n", (u64)tbl->it_index);
+			printk("\tindex   = 0x%llx\n", (u64)liobn);
 			printk("\ttcenum  = 0x%llx\n", (u64)tcenum);
 			printk("\ttce val = 0x%llx\n", tce );
 			dump_stack();
@@ -228,7 +228,8 @@
 	unsigned long flags;
 
 	if ((npages == 1) || !firmware_has_feature(FW_FEATURE_MULTITCE)) {
-		return tce_build_pSeriesLP(tbl, tcenum, npages, uaddr,
+		return tce_build_pSeriesLP(tbl->it_index, tcenum,
+					   tbl->it_page_shift, npages, uaddr,
 		                           direction, attrs);
 	}
 
@@ -244,8 +245,9 @@
 		/* If allocation fails, fall back to the loop implementation */
 		if (!tcep) {
 			local_irq_restore(flags);
-			return tce_build_pSeriesLP(tbl, tcenum, npages, uaddr,
-					    direction, attrs);
+			return tce_build_pSeriesLP(tbl->it_index, tcenum,
+					tbl->it_page_shift,
+					npages, uaddr, direction, attrs);
 		}
 		__this_cpu_write(tce_page, tcep);
 	}
@@ -296,16 +298,16 @@
 	return ret;
 }
 
-static void tce_free_pSeriesLP(struct iommu_table *tbl, long tcenum, long npages)
+static void tce_free_pSeriesLP(unsigned long liobn, long tcenum, long npages)
 {
 	u64 rc;
 
 	while (npages--) {
-		rc = plpar_tce_put((u64)tbl->it_index, (u64)tcenum << 12, 0);
+		rc = plpar_tce_put((u64)liobn, (u64)tcenum << 12, 0);
 
 		if (rc && printk_ratelimit()) {
 			printk("tce_free_pSeriesLP: plpar_tce_put failed. rc=%lld\n", rc);
-			printk("\tindex   = 0x%llx\n", (u64)tbl->it_index);
+			printk("\tindex   = 0x%llx\n", (u64)liobn);
 			printk("\ttcenum  = 0x%llx\n", (u64)tcenum);
 			dump_stack();
 		}
@@ -320,7 +322,7 @@
 	u64 rc;
 
 	if (!firmware_has_feature(FW_FEATURE_MULTITCE))
-		return tce_free_pSeriesLP(tbl, tcenum, npages);
+		return tce_free_pSeriesLP(tbl->it_index, tcenum, npages);
 
 	rc = plpar_tce_stuff((u64)tbl->it_index, (u64)tcenum << 12, 0, npages);
 
@@ -435,6 +437,19 @@
 	u64 rc = 0;
 	long l, limit;
 
+	if (!firmware_has_feature(FW_FEATURE_MULTITCE)) {
+		unsigned long tceshift = be32_to_cpu(maprange->tce_shift);
+		unsigned long dmastart = (start_pfn << PAGE_SHIFT) +
+				be64_to_cpu(maprange->dma_base);
+		unsigned long tcenum = dmastart >> tceshift;
+		unsigned long npages = num_pfn << PAGE_SHIFT >> tceshift;
+		void *uaddr = __va(start_pfn << PAGE_SHIFT);
+
+		return tce_build_pSeriesLP(be32_to_cpu(maprange->liobn),
+				tcenum, tceshift, npages, (unsigned long) uaddr,
+				DMA_BIDIRECTIONAL, 0);
+	}
+
 	local_irq_disable();	/* to protect tcep and the page behind it */
 	tcep = __this_cpu_read(tce_page);
 
diff --git a/arch/powerpc/platforms/pseries/mobility.c b/arch/powerpc/platforms/pseries/mobility.c
index e4ea713..70744b4 100644
--- a/arch/powerpc/platforms/pseries/mobility.c
+++ b/arch/powerpc/platforms/pseries/mobility.c
@@ -24,6 +24,7 @@
 #include <asm/machdep.h>
 #include <asm/rtas.h>
 #include "pseries.h"
+#include "../../kernel/cacheinfo.h"
 
 static struct kobject *mobility_kobj;
 
@@ -360,11 +361,20 @@
 	 */
 	cpus_read_lock();
 
+	/*
+	 * It's common for the destination firmware to replace cache
+	 * nodes.  Release all of the cacheinfo hierarchy's references
+	 * before updating the device tree.
+	 */
+	cacheinfo_teardown();
+
 	rc = pseries_devicetree_update(MIGRATION_SCOPE);
 	if (rc)
 		printk(KERN_ERR "Post-mobility device tree update "
 			"failed: %d\n", rc);
 
+	cacheinfo_rebuild();
+
 	cpus_read_unlock();
 
 	/* Possibly switch to a new RFI flush type */
diff --git a/arch/powerpc/platforms/pseries/vio.c b/arch/powerpc/platforms/pseries/vio.c
index 49e04ec..0e7778be4 100644
--- a/arch/powerpc/platforms/pseries/vio.c
+++ b/arch/powerpc/platforms/pseries/vio.c
@@ -1195,6 +1195,8 @@
 	if (tbl == NULL)
 		return NULL;
 
+	kref_init(&tbl->it_kref);
+
 	of_parse_dma_window(dev->dev.of_node, dma_window,
 			    &tbl->it_index, &offset, &size);
 
diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c
index f0fa22e..3291e5f 100644
--- a/arch/powerpc/xmon/xmon.c
+++ b/arch/powerpc/xmon/xmon.c
@@ -1878,15 +1878,14 @@
 
 	printf("pidr   = %.16lx  tidr  = %.16lx\n",
 		mfspr(SPRN_PID), mfspr(SPRN_TIDR));
-	printf("asdr   = %.16lx  psscr = %.16lx\n",
-		mfspr(SPRN_ASDR), hv ? mfspr(SPRN_PSSCR)
-					: mfspr(SPRN_PSSCR_PR));
+	printf("psscr  = %.16lx\n",
+		hv ? mfspr(SPRN_PSSCR) : mfspr(SPRN_PSSCR_PR));
 
 	if (!hv)
 		return;
 
-	printf("ptcr   = %.16lx\n",
-		mfspr(SPRN_PTCR));
+	printf("ptcr   = %.16lx  asdr  = %.16lx\n",
+		mfspr(SPRN_PTCR), mfspr(SPRN_ASDR));
 #endif
 }
 
diff --git a/arch/riscv/kernel/vdso/Makefile b/arch/riscv/kernel/vdso/Makefile
index eed1c13..87f71a6 100644
--- a/arch/riscv/kernel/vdso/Makefile
+++ b/arch/riscv/kernel/vdso/Makefile
@@ -55,7 +55,8 @@
       cmd_vdsold = $(CC) $(KBUILD_CFLAGS) $(call cc-option, -no-pie) -nostdlib -nostartfiles $(SYSCFLAGS_$(@F)) \
                            -Wl,-T,$(filter-out FORCE,$^) -o $@.tmp && \
                    $(CROSS_COMPILE)objcopy \
-                           $(patsubst %, -G __vdso_%, $(vdso-syms)) $@.tmp $@
+                           $(patsubst %, -G __vdso_%, $(vdso-syms)) $@.tmp $@ && \
+                   rm $@.tmp
 
 # install commands for the unstripped file
 quiet_cmd_vdso_install = INSTALL $@
diff --git a/arch/s390/Makefile b/arch/s390/Makefile
index e6c2e89..9a3a698 100644
--- a/arch/s390/Makefile
+++ b/arch/s390/Makefile
@@ -63,7 +63,7 @@
 #
 cflags-$(CONFIG_FRAME_POINTER) += -fno-optimize-sibling-calls
 
-ifeq ($(call cc-option-yn,-mpacked-stack),y)
+ifeq ($(call cc-option-yn,-mpacked-stack -mbackchain -msoft-float),y)
 cflags-$(CONFIG_PACK_STACK)  += -mpacked-stack -D__PACK_STACK
 aflags-$(CONFIG_PACK_STACK)  += -D__PACK_STACK
 endif
@@ -140,7 +140,7 @@
 #KBUILD_IMAGE is necessary for packaging targets like rpm-pkg, deb-pkg...
 KBUILD_IMAGE	:= $(boot)/bzImage
 
-install: vmlinux
+install:
 	$(Q)$(MAKE) $(build)=$(boot) $@
 
 bzImage: vmlinux
diff --git a/arch/s390/boot/Makefile b/arch/s390/boot/Makefile
index f6a9b0c2..45c72d1 100644
--- a/arch/s390/boot/Makefile
+++ b/arch/s390/boot/Makefile
@@ -46,7 +46,7 @@
 $(obj)/startup.a: $(OBJECTS) FORCE
 	$(call if_changed,ar)
 
-install: $(CONFIGURE) $(obj)/bzImage
+install:
 	sh -x  $(srctree)/$(obj)/install.sh $(KERNELRELEASE) $(obj)/bzImage \
 	      System.map "$(INSTALL_PATH)"
 
diff --git a/arch/s390/include/asm/page.h b/arch/s390/include/asm/page.h
index 0d75329..349b1c1 100644
--- a/arch/s390/include/asm/page.h
+++ b/arch/s390/include/asm/page.h
@@ -33,6 +33,8 @@
 #define ARCH_HAS_PREPARE_HUGEPAGE
 #define ARCH_HAS_HUGEPAGE_CLEAR_FLUSH
 
+#define HAVE_ARCH_HUGETLB_UNMAPPED_AREA
+
 #include <asm/setup.h>
 #ifndef __ASSEMBLY__
 
@@ -40,7 +42,7 @@
 
 static inline void storage_key_init_range(unsigned long start, unsigned long end)
 {
-	if (PAGE_DEFAULT_KEY)
+	if (PAGE_DEFAULT_KEY != 0)
 		__storage_key_init_range(start, end);
 }
 
diff --git a/arch/s390/include/asm/qdio.h b/arch/s390/include/asm/qdio.h
index 9c9970a..1f2cd98 100644
--- a/arch/s390/include/asm/qdio.h
+++ b/arch/s390/include/asm/qdio.h
@@ -228,7 +228,7 @@
  * @sbal: absolute SBAL address
  */
 struct sl_element {
-	unsigned long sbal;
+	u64 sbal;
 } __attribute__ ((packed));
 
 /**
diff --git a/arch/s390/include/asm/timex.h b/arch/s390/include/asm/timex.h
index 2dc9eb4..b6a4ce9 100644
--- a/arch/s390/include/asm/timex.h
+++ b/arch/s390/include/asm/timex.h
@@ -155,7 +155,7 @@
 
 static inline unsigned long long get_tod_clock(void)
 {
-	unsigned char clk[STORE_CLOCK_EXT_SIZE];
+	char clk[STORE_CLOCK_EXT_SIZE];
 
 	get_tod_clock_ext(clk);
 	return *((unsigned long long *)&clk[1]);
diff --git a/arch/s390/kernel/kexec_elf.c b/arch/s390/kernel/kexec_elf.c
index 602e7cc..5cf340b 100644
--- a/arch/s390/kernel/kexec_elf.c
+++ b/arch/s390/kernel/kexec_elf.c
@@ -58,7 +58,7 @@
 		if (ret)
 			return ret;
 
-		data->memsz += buf.memsz;
+		data->memsz = ALIGN(data->memsz, phdr->p_align) + buf.memsz;
 	}
 
 	return 0;
diff --git a/arch/s390/kernel/mcount.S b/arch/s390/kernel/mcount.S
index e93fbf0..83afd5b 100644
--- a/arch/s390/kernel/mcount.S
+++ b/arch/s390/kernel/mcount.S
@@ -25,6 +25,12 @@
 #define STACK_PTREGS	  (STACK_FRAME_OVERHEAD)
 #define STACK_PTREGS_GPRS (STACK_PTREGS + __PT_GPRS)
 #define STACK_PTREGS_PSW  (STACK_PTREGS + __PT_PSW)
+#ifdef __PACK_STACK
+/* allocate just enough for r14, r15 and backchain */
+#define TRACED_FUNC_FRAME_SIZE	24
+#else
+#define TRACED_FUNC_FRAME_SIZE	STACK_FRAME_OVERHEAD
+#endif
 
 ENTRY(_mcount)
 	BR_EX	%r14
@@ -38,9 +44,16 @@
 #if !(defined(CC_USING_HOTPATCH) || defined(CC_USING_NOP_MCOUNT))
 	aghi	%r0,MCOUNT_RETURN_FIXUP
 #endif
-	aghi	%r15,-STACK_FRAME_SIZE
+	# allocate stack frame for ftrace_caller to contain traced function
+	aghi	%r15,-TRACED_FUNC_FRAME_SIZE
 	stg	%r1,__SF_BACKCHAIN(%r15)
+	stg	%r0,(__SF_GPRS+8*8)(%r15)
+	stg	%r15,(__SF_GPRS+9*8)(%r15)
+	# allocate pt_regs and stack frame for ftrace_trace_function
+	aghi	%r15,-STACK_FRAME_SIZE
 	stg	%r1,(STACK_PTREGS_GPRS+15*8)(%r15)
+	aghi	%r1,-TRACED_FUNC_FRAME_SIZE
+	stg	%r1,__SF_BACKCHAIN(%r15)
 	stg	%r0,(STACK_PTREGS_PSW+8)(%r15)
 	stmg	%r2,%r14,(STACK_PTREGS_GPRS+2*8)(%r15)
 #ifdef CONFIG_HAVE_MARCH_Z196_FEATURES
diff --git a/arch/s390/kvm/interrupt.c b/arch/s390/kvm/interrupt.c
index 05ea466..3515f2b 100644
--- a/arch/s390/kvm/interrupt.c
+++ b/arch/s390/kvm/interrupt.c
@@ -2109,7 +2109,7 @@
 		return -EINVAL;
 
 	if (!test_kvm_facility(kvm, 72))
-		return -ENOTSUPP;
+		return -EOPNOTSUPP;
 
 	mutex_lock(&fi->ais_lock);
 	ais.simm = fi->simm;
@@ -2412,7 +2412,7 @@
 	int ret = 0;
 
 	if (!test_kvm_facility(kvm, 72))
-		return -ENOTSUPP;
+		return -EOPNOTSUPP;
 
 	if (copy_from_user(&req, (void __user *)attr->addr, sizeof(req)))
 		return -EFAULT;
@@ -2492,7 +2492,7 @@
 	struct kvm_s390_ais_all ais;
 
 	if (!test_kvm_facility(kvm, 72))
-		return -ENOTSUPP;
+		return -EOPNOTSUPP;
 
 	if (copy_from_user(&ais, (void __user *)attr->addr, sizeof(ais)))
 		return -EFAULT;
diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c
index db3196a..11c3cd9 100644
--- a/arch/s390/kvm/kvm-s390.c
+++ b/arch/s390/kvm/kvm-s390.c
@@ -2564,9 +2564,7 @@
 	vcpu->arch.sie_block->gcr[14] = CR14_UNUSED_32 |
 					CR14_UNUSED_33 |
 					CR14_EXTERNAL_DAMAGE_SUBMASK;
-	/* make sure the new fpc will be lazily loaded */
-	save_fpu_regs();
-	current->thread.fpu.fpc = 0;
+	vcpu->run->s.regs.fpc = 0;
 	vcpu->arch.sie_block->gbea = 1;
 	vcpu->arch.sie_block->pp = 0;
 	vcpu->arch.sie_block->fpf &= ~FPF_BPBC;
@@ -3994,7 +3992,7 @@
 	switch (ioctl) {
 	case KVM_S390_STORE_STATUS:
 		idx = srcu_read_lock(&vcpu->kvm->srcu);
-		r = kvm_s390_vcpu_store_status(vcpu, arg);
+		r = kvm_s390_store_status_unloaded(vcpu, arg);
 		srcu_read_unlock(&vcpu->kvm->srcu, idx);
 		break;
 	case KVM_S390_SET_INITIAL_PSW: {
diff --git a/arch/s390/mm/hugetlbpage.c b/arch/s390/mm/hugetlbpage.c
index b0246c7..5674710 100644
--- a/arch/s390/mm/hugetlbpage.c
+++ b/arch/s390/mm/hugetlbpage.c
@@ -2,7 +2,7 @@
 /*
  *  IBM System z Huge TLB Page Support for Kernel.
  *
- *    Copyright IBM Corp. 2007,2016
+ *    Copyright IBM Corp. 2007,2020
  *    Author(s): Gerald Schaefer <gerald.schaefer@de.ibm.com>
  */
 
@@ -11,6 +11,9 @@
 
 #include <linux/mm.h>
 #include <linux/hugetlb.h>
+#include <linux/mman.h>
+#include <linux/sched/mm.h>
+#include <linux/security.h>
 
 /*
  * If the bit selected by single-bit bitmask "a" is set within "x", move
@@ -267,3 +270,98 @@
 	return 1;
 }
 __setup("hugepagesz=", setup_hugepagesz);
+
+static unsigned long hugetlb_get_unmapped_area_bottomup(struct file *file,
+		unsigned long addr, unsigned long len,
+		unsigned long pgoff, unsigned long flags)
+{
+	struct hstate *h = hstate_file(file);
+	struct vm_unmapped_area_info info;
+
+	info.flags = 0;
+	info.length = len;
+	info.low_limit = current->mm->mmap_base;
+	info.high_limit = TASK_SIZE;
+	info.align_mask = PAGE_MASK & ~huge_page_mask(h);
+	info.align_offset = 0;
+	return vm_unmapped_area(&info);
+}
+
+static unsigned long hugetlb_get_unmapped_area_topdown(struct file *file,
+		unsigned long addr0, unsigned long len,
+		unsigned long pgoff, unsigned long flags)
+{
+	struct hstate *h = hstate_file(file);
+	struct vm_unmapped_area_info info;
+	unsigned long addr;
+
+	info.flags = VM_UNMAPPED_AREA_TOPDOWN;
+	info.length = len;
+	info.low_limit = max(PAGE_SIZE, mmap_min_addr);
+	info.high_limit = current->mm->mmap_base;
+	info.align_mask = PAGE_MASK & ~huge_page_mask(h);
+	info.align_offset = 0;
+	addr = vm_unmapped_area(&info);
+
+	/*
+	 * A failed mmap() very likely causes application failure,
+	 * so fall back to the bottom-up function here. This scenario
+	 * can happen with large stack limits and large mmap()
+	 * allocations.
+	 */
+	if (addr & ~PAGE_MASK) {
+		VM_BUG_ON(addr != -ENOMEM);
+		info.flags = 0;
+		info.low_limit = TASK_UNMAPPED_BASE;
+		info.high_limit = TASK_SIZE;
+		addr = vm_unmapped_area(&info);
+	}
+
+	return addr;
+}
+
+unsigned long hugetlb_get_unmapped_area(struct file *file, unsigned long addr,
+		unsigned long len, unsigned long pgoff, unsigned long flags)
+{
+	struct hstate *h = hstate_file(file);
+	struct mm_struct *mm = current->mm;
+	struct vm_area_struct *vma;
+	int rc;
+
+	if (len & ~huge_page_mask(h))
+		return -EINVAL;
+	if (len > TASK_SIZE - mmap_min_addr)
+		return -ENOMEM;
+
+	if (flags & MAP_FIXED) {
+		if (prepare_hugepage_range(file, addr, len))
+			return -EINVAL;
+		goto check_asce_limit;
+	}
+
+	if (addr) {
+		addr = ALIGN(addr, huge_page_size(h));
+		vma = find_vma(mm, addr);
+		if (TASK_SIZE - len >= addr && addr >= mmap_min_addr &&
+		    (!vma || addr + len <= vm_start_gap(vma)))
+			goto check_asce_limit;
+	}
+
+	if (mm->get_unmapped_area == arch_get_unmapped_area)
+		addr = hugetlb_get_unmapped_area_bottomup(file, addr, len,
+				pgoff, flags);
+	else
+		addr = hugetlb_get_unmapped_area_topdown(file, addr, len,
+				pgoff, flags);
+	if (addr & ~PAGE_MASK)
+		return addr;
+
+check_asce_limit:
+	if (addr + len > current->mm->context.asce_limit &&
+	    addr + len <= TASK_SIZE) {
+		rc = crst_table_upgrade(mm, addr + len);
+		if (rc)
+			return (unsigned long) rc;
+	}
+	return addr;
+}
diff --git a/arch/s390/mm/init.c b/arch/s390/mm/init.c
index 3fa3e53..379a925 100644
--- a/arch/s390/mm/init.c
+++ b/arch/s390/mm/init.c
@@ -239,15 +239,13 @@
 	return rc;
 }
 
-#ifdef CONFIG_MEMORY_HOTREMOVE
-int arch_remove_memory(u64 start, u64 size, struct vmem_altmap *altmap)
+void arch_remove_memory(int nid, u64 start, u64 size,
+			struct vmem_altmap *altmap)
 {
-	/*
-	 * There is no hardware or firmware interface which could trigger a
-	 * hot memory remove on s390. So there is nothing that needs to be
-	 * implemented.
-	 */
-	return -EBUSY;
+	unsigned long start_pfn = start >> PAGE_SHIFT;
+	unsigned long nr_pages = size >> PAGE_SHIFT;
+
+	__remove_pages(start_pfn, nr_pages, altmap);
+	vmem_remove_mapping(start, size);
 }
-#endif
 #endif /* CONFIG_MEMORY_HOTPLUG */
diff --git a/arch/s390/pci/pci_sysfs.c b/arch/s390/pci/pci_sysfs.c
index 430c14b..0e11fc0 100644
--- a/arch/s390/pci/pci_sysfs.c
+++ b/arch/s390/pci/pci_sysfs.c
@@ -13,6 +13,8 @@
 #include <linux/stat.h>
 #include <linux/pci.h>
 
+#include "../../../drivers/pci/pci.h"
+
 #include <asm/sclp.h>
 
 #define zpci_attr(name, fmt, member)					\
@@ -40,31 +42,50 @@
 static ssize_t recover_store(struct device *dev, struct device_attribute *attr,
 			     const char *buf, size_t count)
 {
+	struct kernfs_node *kn;
 	struct pci_dev *pdev = to_pci_dev(dev);
 	struct zpci_dev *zdev = to_zpci(pdev);
-	int ret;
+	int ret = 0;
 
-	if (!device_remove_file_self(dev, attr))
-		return count;
+	/* Can't use device_remove_self() here as that would lead us to lock
+	 * the pci_rescan_remove_lock while holding the device' kernfs lock.
+	 * This would create a possible deadlock with disable_slot() which is
+	 * not directly protected by the device' kernfs lock but takes it
+	 * during the device removal which happens under
+	 * pci_rescan_remove_lock.
+	 *
+	 * This is analogous to sdev_store_delete() in
+	 * drivers/scsi/scsi_sysfs.c
+	 */
+	kn = sysfs_break_active_protection(&dev->kobj, &attr->attr);
+	WARN_ON_ONCE(!kn);
+	/* device_remove_file() serializes concurrent calls ignoring all but
+	 * the first
+	 */
+	device_remove_file(dev, attr);
 
+	/* A concurrent call to recover_store() may slip between
+	 * sysfs_break_active_protection() and the sysfs file removal.
+	 * Once it unblocks from pci_lock_rescan_remove() the original pdev
+	 * will already be removed.
+	 */
 	pci_lock_rescan_remove();
-	pci_stop_and_remove_bus_device(pdev);
-	ret = zpci_disable_device(zdev);
-	if (ret)
-		goto error;
+	if (pci_dev_is_added(pdev)) {
+		pci_stop_and_remove_bus_device(pdev);
+		ret = zpci_disable_device(zdev);
+		if (ret)
+			goto out;
 
-	ret = zpci_enable_device(zdev);
-	if (ret)
-		goto error;
-
-	pci_rescan_bus(zdev->bus);
+		ret = zpci_enable_device(zdev);
+		if (ret)
+			goto out;
+		pci_rescan_bus(zdev->bus);
+	}
+out:
 	pci_unlock_rescan_remove();
-
-	return count;
-
-error:
-	pci_unlock_rescan_remove();
-	return ret;
+	if (kn)
+		sysfs_unbreak_active_protection(kn);
+	return ret ? ret : count;
 }
 static DEVICE_ATTR_WO(recover);
 
diff --git a/arch/sh/boards/mach-migor/setup.c b/arch/sh/boards/mach-migor/setup.c
index 254f2c6..6cd3cd4 100644
--- a/arch/sh/boards/mach-migor/setup.c
+++ b/arch/sh/boards/mach-migor/setup.c
@@ -5,6 +5,7 @@
  * Copyright (C) 2008 Magnus Damm
  */
 #include <linux/clkdev.h>
+#include <linux/dma-mapping.h>
 #include <linux/init.h>
 #include <linux/platform_device.h>
 #include <linux/interrupt.h>
diff --git a/arch/sh/include/cpu-sh2a/cpu/sh7269.h b/arch/sh/include/cpu-sh2a/cpu/sh7269.h
index d516e5d..b887cc4 100644
--- a/arch/sh/include/cpu-sh2a/cpu/sh7269.h
+++ b/arch/sh/include/cpu-sh2a/cpu/sh7269.h
@@ -78,8 +78,15 @@
 	GPIO_FN_WDTOVF,
 
 	/* CAN */
-	GPIO_FN_CTX1, GPIO_FN_CRX1, GPIO_FN_CTX0, GPIO_FN_CTX0_CTX1,
-	GPIO_FN_CRX0, GPIO_FN_CRX0_CRX1, GPIO_FN_CRX0_CRX1_CRX2,
+	GPIO_FN_CTX2, GPIO_FN_CRX2,
+	GPIO_FN_CTX1, GPIO_FN_CRX1,
+	GPIO_FN_CTX0, GPIO_FN_CRX0,
+	GPIO_FN_CTX0_CTX1, GPIO_FN_CRX0_CRX1,
+	GPIO_FN_CTX0_CTX1_CTX2, GPIO_FN_CRX0_CRX1_CRX2,
+	GPIO_FN_CTX2_PJ21, GPIO_FN_CRX2_PJ20,
+	GPIO_FN_CTX1_PJ23, GPIO_FN_CRX1_PJ22,
+	GPIO_FN_CTX0_CTX1_PJ23, GPIO_FN_CRX0_CRX1_PJ22,
+	GPIO_FN_CTX0_CTX1_CTX2_PJ21, GPIO_FN_CRX0_CRX1_CRX2_PJ20,
 
 	/* DMAC */
 	GPIO_FN_TEND0, GPIO_FN_DACK0, GPIO_FN_DREQ0,
diff --git a/arch/sh/mm/init.c b/arch/sh/mm/init.c
index 7713c08..47882be 100644
--- a/arch/sh/mm/init.c
+++ b/arch/sh/mm/init.c
@@ -443,21 +443,12 @@
 EXPORT_SYMBOL_GPL(memory_add_physaddr_to_nid);
 #endif
 
-#ifdef CONFIG_MEMORY_HOTREMOVE
-int arch_remove_memory(u64 start, u64 size, struct vmem_altmap *altmap)
+void arch_remove_memory(int nid, u64 start, u64 size,
+			struct vmem_altmap *altmap)
 {
 	unsigned long start_pfn = PFN_DOWN(start);
 	unsigned long nr_pages = size >> PAGE_SHIFT;
-	struct zone *zone;
-	int ret;
 
-	zone = page_zone(pfn_to_page(start_pfn));
-	ret = __remove_pages(zone, start_pfn, nr_pages, altmap);
-	if (unlikely(ret))
-		pr_warn("%s: Failed, __remove_pages() == %d\n", __func__,
-			ret);
-
-	return ret;
+	__remove_pages(start_pfn, nr_pages, altmap);
 }
-#endif
 #endif /* CONFIG_MEMORY_HOTPLUG */
diff --git a/arch/sparc/include/uapi/asm/ipcbuf.h b/arch/sparc/include/uapi/asm/ipcbuf.h
index 9d0d125..084b894 100644
--- a/arch/sparc/include/uapi/asm/ipcbuf.h
+++ b/arch/sparc/include/uapi/asm/ipcbuf.h
@@ -15,19 +15,19 @@
 
 struct ipc64_perm
 {
-	__kernel_key_t	key;
-	__kernel_uid_t	uid;
-	__kernel_gid_t	gid;
-	__kernel_uid_t	cuid;
-	__kernel_gid_t	cgid;
+	__kernel_key_t		key;
+	__kernel_uid32_t	uid;
+	__kernel_gid32_t	gid;
+	__kernel_uid32_t	cuid;
+	__kernel_gid32_t	cgid;
 #ifndef __arch64__
-	unsigned short	__pad0;
+	unsigned short		__pad0;
 #endif
-	__kernel_mode_t	mode;
-	unsigned short	__pad1;
-	unsigned short	seq;
-	unsigned long long __unused1;
-	unsigned long long __unused2;
+	__kernel_mode_t		mode;
+	unsigned short		__pad1;
+	unsigned short		seq;
+	unsigned long long	__unused1;
+	unsigned long long	__unused2;
 };
 
 #endif /* __SPARC_IPCBUF_H */
diff --git a/arch/sparc/kernel/vmlinux.lds.S b/arch/sparc/kernel/vmlinux.lds.S
index 61afd78..59b6df1 100644
--- a/arch/sparc/kernel/vmlinux.lds.S
+++ b/arch/sparc/kernel/vmlinux.lds.S
@@ -172,12 +172,14 @@
 	}
 	PERCPU_SECTION(SMP_CACHE_BYTES)
 
-#ifdef CONFIG_JUMP_LABEL
 	. = ALIGN(PAGE_SIZE);
 	.exit.text : {
 		EXIT_TEXT
 	}
-#endif
+
+	.exit.data : {
+		EXIT_DATA
+	}
 
 	. = ALIGN(PAGE_SIZE);
 	__init_end = .;
diff --git a/arch/um/drivers/chan_kern.c b/arch/um/drivers/chan_kern.c
index 05588f9..13ba195 100644
--- a/arch/um/drivers/chan_kern.c
+++ b/arch/um/drivers/chan_kern.c
@@ -171,19 +171,55 @@
 	return err;
 }
 
+/* Items are added in IRQ context, when free_irq can't be called, and
+ * removed in process context, when it can.
+ * This handles interrupt sources which disappear, and which need to
+ * be permanently disabled.  This is discovered in IRQ context, but
+ * the freeing of the IRQ must be done later.
+ */
+static DEFINE_SPINLOCK(irqs_to_free_lock);
+static LIST_HEAD(irqs_to_free);
+
+void free_irqs(void)
+{
+	struct chan *chan;
+	LIST_HEAD(list);
+	struct list_head *ele;
+	unsigned long flags;
+
+	spin_lock_irqsave(&irqs_to_free_lock, flags);
+	list_splice_init(&irqs_to_free, &list);
+	spin_unlock_irqrestore(&irqs_to_free_lock, flags);
+
+	list_for_each(ele, &list) {
+		chan = list_entry(ele, struct chan, free_list);
+
+		if (chan->input && chan->enabled)
+			um_free_irq(chan->line->driver->read_irq, chan);
+		if (chan->output && chan->enabled)
+			um_free_irq(chan->line->driver->write_irq, chan);
+		chan->enabled = 0;
+	}
+}
+
 static void close_one_chan(struct chan *chan, int delay_free_irq)
 {
+	unsigned long flags;
+
 	if (!chan->opened)
 		return;
 
-    /* we can safely call free now - it will be marked
-     *  as free and freed once the IRQ stopped processing
-     */
-	if (chan->input && chan->enabled)
-		um_free_irq(chan->line->driver->read_irq, chan);
-	if (chan->output && chan->enabled)
-		um_free_irq(chan->line->driver->write_irq, chan);
-	chan->enabled = 0;
+	if (delay_free_irq) {
+		spin_lock_irqsave(&irqs_to_free_lock, flags);
+		list_add(&chan->free_list, &irqs_to_free);
+		spin_unlock_irqrestore(&irqs_to_free_lock, flags);
+	} else {
+		if (chan->input && chan->enabled)
+			um_free_irq(chan->line->driver->read_irq, chan);
+		if (chan->output && chan->enabled)
+			um_free_irq(chan->line->driver->write_irq, chan);
+		chan->enabled = 0;
+	}
 	if (chan->ops->close != NULL)
 		(*chan->ops->close)(chan->fd, chan->data);
 
diff --git a/arch/um/include/asm/irq.h b/arch/um/include/asm/irq.h
index 49ed3e3..ce7a78c 100644
--- a/arch/um/include/asm/irq.h
+++ b/arch/um/include/asm/irq.h
@@ -23,7 +23,7 @@
 #define VECTOR_BASE_IRQ		15
 #define VECTOR_IRQ_SPACE	8
 
-#define LAST_IRQ (VECTOR_IRQ_SPACE + VECTOR_BASE_IRQ)
+#define LAST_IRQ (VECTOR_IRQ_SPACE + VECTOR_BASE_IRQ - 1)
 
 #else
 
diff --git a/arch/um/kernel/irq.c b/arch/um/kernel/irq.c
index 6b7f382..2753718 100644
--- a/arch/um/kernel/irq.c
+++ b/arch/um/kernel/irq.c
@@ -21,6 +21,8 @@
 #include <irq_user.h>
 
 
+extern void free_irqs(void);
+
 /* When epoll triggers we do not know why it did so
  * we can also have different IRQs for read and write.
  * This is why we keep a small irq_fd array for each fd -
@@ -100,6 +102,8 @@
 			}
 		}
 	}
+
+	free_irqs();
 }
 
 static int assign_epoll_events_to_irq(struct irq_entry *irq_entry)
diff --git a/arch/x86/Kconfig.debug b/arch/x86/Kconfig.debug
index 7d68f0c..687cd1a 100644
--- a/arch/x86/Kconfig.debug
+++ b/arch/x86/Kconfig.debug
@@ -181,7 +181,7 @@
 
 config X86_DECODER_SELFTEST
 	bool "x86 instruction decoder selftest"
-	depends on DEBUG_KERNEL && KPROBES
+	depends on DEBUG_KERNEL && INSTRUCTION_DECODER
 	depends on !COMPILE_TEST
 	---help---
 	 Perform x86 instruction decoder selftests at build time.
diff --git a/arch/x86/boot/compressed/head_64.S b/arch/x86/boot/compressed/head_64.S
index f62e3478..4eaa724 100644
--- a/arch/x86/boot/compressed/head_64.S
+++ b/arch/x86/boot/compressed/head_64.S
@@ -244,6 +244,11 @@
 	leal	efi32_config(%ebp), %eax
 	movl	%eax, efi_config(%ebp)
 
+	/* Disable paging */
+	movl	%cr0, %eax
+	btrl	$X86_CR0_PG_BIT, %eax
+	movl	%eax, %cr0
+
 	jmp	startup_32
 ENDPROC(efi32_stub_entry)
 #endif
diff --git a/arch/x86/boot/compressed/kaslr_64.c b/arch/x86/boot/compressed/kaslr_64.c
index 748456c..9557c5a 100644
--- a/arch/x86/boot/compressed/kaslr_64.c
+++ b/arch/x86/boot/compressed/kaslr_64.c
@@ -29,9 +29,6 @@
 #define __PAGE_OFFSET __PAGE_OFFSET_BASE
 #include "../../mm/ident_map.c"
 
-/* Used by pgtable.h asm code to force instruction serialization. */
-unsigned long __force_order;
-
 /* Used to track our page table allocation area. */
 struct alloc_pgt_data {
 	unsigned char *pgt_buf;
diff --git a/arch/x86/configs/gki_defconfig b/arch/x86/configs/gki_defconfig
index f2e9c4a..9e056bd 100644
--- a/arch/x86/configs/gki_defconfig
+++ b/arch/x86/configs/gki_defconfig
@@ -9,14 +9,16 @@
 CONFIG_PSI=y
 CONFIG_IKCONFIG=y
 CONFIG_IKCONFIG_PROC=y
-CONFIG_IKHEADERS=m
+CONFIG_IKHEADERS=y
 CONFIG_MEMCG=y
 CONFIG_MEMCG_SWAP=y
-CONFIG_RT_GROUP_SCHED=y
 CONFIG_CGROUP_FREEZER=y
 CONFIG_CPUSETS=y
 CONFIG_CGROUP_CPUACCT=y
 CONFIG_CGROUP_BPF=y
+CONFIG_NAMESPACES=y
+# CONFIG_UTS_NS is not set
+# CONFIG_PID_NS is not set
 CONFIG_SCHED_AUTOGROUP=y
 CONFIG_SCHED_TUNE=y
 CONFIG_BLK_DEV_INITRD=y
@@ -24,7 +26,6 @@
 # CONFIG_RD_LZMA is not set
 # CONFIG_RD_XZ is not set
 # CONFIG_RD_LZO is not set
-# CONFIG_RD_LZ4 is not set
 # CONFIG_SYSFS_SYSCALL is not set
 # CONFIG_FHANDLE is not set
 CONFIG_KALLSYMS_ALL=y
@@ -32,7 +33,6 @@
 CONFIG_BPF_JIT_ALWAYS_ON=y
 # CONFIG_RSEQ is not set
 CONFIG_EMBEDDED=y
-# CONFIG_VM_EVENT_COUNTERS is not set
 # CONFIG_COMPAT_BRK is not set
 # CONFIG_SLAB_MERGE_DEFAULT is not set
 CONFIG_PROFILING=y
@@ -41,19 +41,25 @@
 CONFIG_PARAVIRT=y
 CONFIG_NR_CPUS=32
 CONFIG_EFI=y
+CONFIG_PM_WAKELOCKS=y
+CONFIG_PM_WAKELOCKS_LIMIT=0
+# CONFIG_PM_WAKELOCKS_GC is not set
 CONFIG_CPU_FREQ_TIMES=y
 CONFIG_CPU_FREQ_GOV_POWERSAVE=y
 CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
-CONFIG_CPUFREQ_DUMMY=m
+CONFIG_PCI_MSI=y
 CONFIG_IA32_EMULATION=y
-CONFIG_KPROBES=y
+CONFIG_LTO_CLANG=y
+CONFIG_CFI_CLANG=y
 CONFIG_MODULES=y
 CONFIG_MODULE_UNLOAD=y
 CONFIG_MODVERSIONS=y
 CONFIG_BLK_INLINE_ENCRYPTION=y
+CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK=y
 CONFIG_GKI_HACKS_TO_FIX=y
 # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-CONFIG_BINFMT_MISC=m
+CONFIG_BINFMT_MISC=y
+CONFIG_CLEANCACHE=y
 CONFIG_ZSMALLOC=y
 CONFIG_NET=y
 CONFIG_PACKET=y
@@ -62,6 +68,7 @@
 CONFIG_XFRM_INTERFACE=y
 CONFIG_XFRM_STATISTICS=y
 CONFIG_NET_KEY=y
+CONFIG_XDP_SOCKETS=y
 CONFIG_INET=y
 CONFIG_IP_MULTICAST=y
 CONFIG_IP_ADVANCED_ROUTER=y
@@ -122,6 +129,7 @@
 CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
 CONFIG_NETFILTER_XT_MATCH_QUOTA=y
 CONFIG_NETFILTER_XT_MATCH_QUOTA2=y
+CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG=y
 CONFIG_NETFILTER_XT_MATCH_SOCKET=y
 CONFIG_NETFILTER_XT_MATCH_STATE=y
 CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
@@ -159,31 +167,21 @@
 CONFIG_NET_EMATCH=y
 CONFIG_NET_EMATCH_U32=y
 CONFIG_NET_CLS_ACT=y
-CONFIG_VSOCKETS=m
-CONFIG_VIRTIO_VSOCKETS=m
 CONFIG_BPF_JIT=y
-CONFIG_CAN=m
-# CONFIG_CAN_BCM is not set
-# CONFIG_CAN_GW is not set
-CONFIG_CAN_VCAN=m
 CONFIG_CFG80211=y
 # CONFIG_CFG80211_DEFAULT_PS is not set
 # CONFIG_CFG80211_CRDA_SUPPORT is not set
 CONFIG_MAC80211=y
-# CONFIG_MAC80211_RC_MINSTREL is not set
 CONFIG_RFKILL=y
 # CONFIG_UEVENT_HELPER is not set
 # CONFIG_FW_CACHE is not set
 # CONFIG_ALLOW_DEV_COREDUMP is not set
-CONFIG_DEBUG_DEVRES=y
 CONFIG_GNSS=y
-CONFIG_GNSS_CMDLINE_SERIAL=m
 CONFIG_OF=y
 CONFIG_ZRAM=y
 CONFIG_BLK_DEV_LOOP=y
 CONFIG_BLK_DEV_RAM=y
 CONFIG_BLK_DEV_RAM_SIZE=8192
-CONFIG_VIRTIO_BLK=m
 CONFIG_UID_SYS_STATS=y
 CONFIG_SCSI=y
 # CONFIG_SCSI_MQ_DEFAULT is not set
@@ -192,6 +190,7 @@
 CONFIG_MD=y
 CONFIG_BLK_DEV_DM=y
 CONFIG_DM_CRYPT=y
+CONFIG_DM_DEFAULT_KEY=y
 CONFIG_DM_SNAPSHOT=y
 CONFIG_DM_UEVENT=y
 CONFIG_DM_VERITY=y
@@ -199,8 +198,8 @@
 CONFIG_DM_VERITY_FEC=y
 CONFIG_DM_BOW=y
 CONFIG_NETDEVICES=y
+CONFIG_DUMMY=y
 CONFIG_TUN=y
-CONFIG_VIRTIO_NET=m
 # CONFIG_ETHERNET is not set
 CONFIG_PHYLIB=y
 CONFIG_PPP=y
@@ -234,11 +233,11 @@
 # CONFIG_WLAN_VENDOR_TI is not set
 # CONFIG_WLAN_VENDOR_ZYDAS is not set
 # CONFIG_WLAN_VENDOR_QUANTENNA is not set
-CONFIG_VIRT_WIFI=m
 CONFIG_INPUT_EVDEV=y
 CONFIG_KEYBOARD_GPIO=y
 # CONFIG_INPUT_MOUSE is not set
 CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_XPAD=y
 CONFIG_INPUT_MISC=y
 CONFIG_INPUT_UINPUT=y
 # CONFIG_VT is not set
@@ -248,11 +247,10 @@
 # CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
 CONFIG_SERIAL_8250_CONSOLE=y
 # CONFIG_SERIAL_8250_EXAR is not set
-CONFIG_SERIAL_OF_PLATFORM=m
+CONFIG_SERIAL_OF_PLATFORM=y
 CONFIG_SERIAL_DEV_BUS=y
-CONFIG_VIRTIO_CONSOLE=m
 CONFIG_HW_RANDOM=y
-CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_HPET=y
 # CONFIG_DEVPORT is not set
 # CONFIG_I2C_COMPAT is not set
 # CONFIG_I2C_HELPER_AUTO is not set
@@ -261,6 +259,9 @@
 # CONFIG_HWMON is not set
 CONFIG_DEVFREQ_THERMAL=y
 # CONFIG_X86_PKG_TEMP_THERMAL is not set
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_CORE=y
+CONFIG_MFD_SYSCON=y
 CONFIG_REGULATOR=y
 CONFIG_REGULATOR_FIXED_VOLTAGE=y
 CONFIG_MEDIA_SUPPORT=y
@@ -268,7 +269,6 @@
 # CONFIG_VGA_ARB is not set
 CONFIG_DRM=y
 # CONFIG_DRM_FBDEV_EMULATION is not set
-CONFIG_DRM_VIRTIO_GPU=m
 CONFIG_BACKLIGHT_LCD_SUPPORT=y
 # CONFIG_LCD_CLASS_DEVICE is not set
 CONFIG_BACKLIGHT_CLASS_DEVICE=y
@@ -279,8 +279,8 @@
 # CONFIG_SND_SUPPORT_OLD_API is not set
 # CONFIG_SND_VERBOSE_PROCFS is not set
 # CONFIG_SND_DRIVERS is not set
-CONFIG_SND_INTEL8X0=m
-# CONFIG_SND_USB is not set
+CONFIG_SND_USB_AUDIO=y
+CONFIG_SND_SOC=y
 CONFIG_HIDRAW=y
 CONFIG_UHID=y
 CONFIG_HID_APPLE=y
@@ -288,42 +288,38 @@
 CONFIG_HID_MAGICMOUSE=y
 CONFIG_HID_MICROSOFT=y
 CONFIG_HID_MULTITOUCH=y
+CONFIG_HID_NINTENDO=y
+CONFIG_HID_SONY=y
+CONFIG_HID_STEAM=y
 CONFIG_USB_HIDDEV=y
-CONFIG_USB=y
 CONFIG_USB_GADGET=y
-CONFIG_USB_DUMMY_HCD=m
 CONFIG_USB_CONFIGFS=y
 CONFIG_USB_CONFIGFS_UEVENT=y
+CONFIG_USB_CONFIGFS_MASS_STORAGE=y
 CONFIG_USB_CONFIGFS_F_FS=y
 CONFIG_USB_CONFIGFS_F_ACC=y
 CONFIG_USB_CONFIGFS_F_AUDIO_SRC=y
 CONFIG_USB_CONFIGFS_F_MIDI=y
-CONFIG_MMC=m
+CONFIG_MMC=y
 # CONFIG_PWRSEQ_EMMC is not set
 # CONFIG_PWRSEQ_SIMPLE is not set
-CONFIG_MMC_SDHCI=m
-CONFIG_MMC_SDHCI_PLTFM=m
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
 CONFIG_NEW_LEDS=y
 CONFIG_LEDS_CLASS=y
 CONFIG_LEDS_TRIGGERS=y
 CONFIG_RTC_CLASS=y
 # CONFIG_RTC_SYSTOHC is not set
-CONFIG_RTC_DRV_TEST=m
 CONFIG_UIO=y
-CONFIG_VIRTIO_PCI=m
-# CONFIG_VIRTIO_PCI_LEGACY is not set
-CONFIG_VIRTIO_BALLOON=m
-CONFIG_VIRTIO_INPUT=m
-CONFIG_VIRTIO_MMIO=m
-CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
 CONFIG_STAGING=y
 CONFIG_ASHMEM=y
-CONFIG_ION=y
-CONFIG_ION_SYSTEM_HEAP=y
 CONFIG_PM_DEVFREQ=y
 CONFIG_IIO=y
 CONFIG_ANDROID=y
 CONFIG_ANDROID_BINDER_IPC=y
+CONFIG_ANDROID_BINDERFS=y
+CONFIG_LIBNVDIMM=y
+# CONFIG_ND_BLK is not set
 CONFIG_EXT4_FS=y
 CONFIG_EXT4_FS_SECURITY=y
 CONFIG_EXT4_ENCRYPTION=y
@@ -338,12 +334,12 @@
 CONFIG_QFMT_V2=y
 CONFIG_FUSE_FS=y
 CONFIG_OVERLAY_FS=y
+CONFIG_INCREMENTAL_FS=y
 CONFIG_MSDOS_FS=y
 CONFIG_VFAT_FS=y
 CONFIG_TMPFS=y
 CONFIG_TMPFS_POSIX_ACL=y
 # CONFIG_EFIVAR_FS is not set
-CONFIG_SDCARD_FS=y
 CONFIG_PSTORE=y
 CONFIG_PSTORE_CONSOLE=y
 CONFIG_PSTORE_RAM=y
@@ -396,11 +392,14 @@
 CONFIG_NLS_MAC_ROMANIAN=y
 CONFIG_NLS_MAC_TURKISH=y
 CONFIG_NLS_UTF8=y
-CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y
+CONFIG_UNICODE=y
 CONFIG_SECURITY=y
+CONFIG_SECURITYFS=y
 CONFIG_SECURITY_NETWORK=y
 CONFIG_HARDENED_USERCOPY=y
 CONFIG_SECURITY_SELINUX=y
+CONFIG_INIT_STACK_ALL=y
+CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y
 CONFIG_CRYPTO_ADIANTUM=y
 CONFIG_CRYPTO_SHA256_SSSE3=y
 CONFIG_CRYPTO_AES_NI_INTEL=y
@@ -420,5 +419,4 @@
 # CONFIG_DETECT_HUNG_TASK is not set
 CONFIG_PANIC_TIMEOUT=5
 CONFIG_SCHEDSTATS=y
-# CONFIG_RUNTIME_TESTING_MENU is not set
 CONFIG_UNWINDER_FRAME_POINTER=y
diff --git a/arch/x86/crypto/sha1_avx2_x86_64_asm.S b/arch/x86/crypto/sha1_avx2_x86_64_asm.S
index 9f712a7..7e578fa 100644
--- a/arch/x86/crypto/sha1_avx2_x86_64_asm.S
+++ b/arch/x86/crypto/sha1_avx2_x86_64_asm.S
@@ -62,11 +62,11 @@
  *Visit http://software.intel.com/en-us/articles/
  *and refer to improving-the-performance-of-the-secure-hash-algorithm-1/
  *
- *Updates 20-byte SHA-1 record in 'hash' for even number of
- *'num_blocks' consecutive 64-byte blocks
+ *Updates 20-byte SHA-1 record at start of 'state', from 'input', for
+ *even number of 'blocks' consecutive 64-byte blocks.
  *
  *extern "C" void sha1_transform_avx2(
- *	int *hash, const char* input, size_t num_blocks );
+ *	struct sha1_state *state, const u8* input, int blocks );
  */
 
 #include <linux/linkage.h>
diff --git a/arch/x86/crypto/sha1_ssse3_asm.S b/arch/x86/crypto/sha1_ssse3_asm.S
index 613d0bfc..5a2f857 100644
--- a/arch/x86/crypto/sha1_ssse3_asm.S
+++ b/arch/x86/crypto/sha1_ssse3_asm.S
@@ -461,9 +461,13 @@
 	movdqu	\a,\b
 .endm
 
-/* SSSE3 optimized implementation:
- *  extern "C" void sha1_transform_ssse3(u32 *digest, const char *data, u32 *ws,
- *                                       unsigned int rounds);
+/*
+ * SSSE3 optimized implementation:
+ *
+ * extern "C" void sha1_transform_ssse3(struct sha1_state *state,
+ *					const u8 *data, int blocks);
+ *
+ * Note that struct sha1_state is assumed to begin with u32 state[5].
  */
 SHA1_VECTOR_ASM     sha1_transform_ssse3
 
@@ -549,8 +553,8 @@
 
 
 /* AVX optimized implementation:
- *  extern "C" void sha1_transform_avx(u32 *digest, const char *data, u32 *ws,
- *                                     unsigned int rounds);
+ *  extern "C" void sha1_transform_avx(struct sha1_state *state,
+ *				       const u8 *data, int blocks);
  */
 SHA1_VECTOR_ASM     sha1_transform_avx
 
diff --git a/arch/x86/crypto/sha1_ssse3_glue.c b/arch/x86/crypto/sha1_ssse3_glue.c
index 7391c7d..cb15a7a 100644
--- a/arch/x86/crypto/sha1_ssse3_glue.c
+++ b/arch/x86/crypto/sha1_ssse3_glue.c
@@ -31,11 +31,8 @@
 #include <crypto/sha1_base.h>
 #include <asm/fpu/api.h>
 
-typedef void (sha1_transform_fn)(u32 *digest, const char *data,
-				unsigned int rounds);
-
 static int sha1_update(struct shash_desc *desc, const u8 *data,
-			     unsigned int len, sha1_transform_fn *sha1_xform)
+			     unsigned int len, sha1_block_fn *sha1_xform)
 {
 	struct sha1_state *sctx = shash_desc_ctx(desc);
 
@@ -43,48 +40,47 @@
 	    (sctx->count % SHA1_BLOCK_SIZE) + len < SHA1_BLOCK_SIZE)
 		return crypto_sha1_update(desc, data, len);
 
-	/* make sure casting to sha1_block_fn() is safe */
+	/*
+	 * Make sure struct sha1_state begins directly with the SHA1
+	 * 160-bit internal state, as this is what the asm functions expect.
+	 */
 	BUILD_BUG_ON(offsetof(struct sha1_state, state) != 0);
 
 	kernel_fpu_begin();
-	sha1_base_do_update(desc, data, len,
-			    (sha1_block_fn *)sha1_xform);
+	sha1_base_do_update(desc, data, len, sha1_xform);
 	kernel_fpu_end();
 
 	return 0;
 }
 
 static int sha1_finup(struct shash_desc *desc, const u8 *data,
-		      unsigned int len, u8 *out, sha1_transform_fn *sha1_xform)
+		      unsigned int len, u8 *out, sha1_block_fn *sha1_xform)
 {
 	if (!irq_fpu_usable())
 		return crypto_sha1_finup(desc, data, len, out);
 
 	kernel_fpu_begin();
 	if (len)
-		sha1_base_do_update(desc, data, len,
-				    (sha1_block_fn *)sha1_xform);
-	sha1_base_do_finalize(desc, (sha1_block_fn *)sha1_xform);
+		sha1_base_do_update(desc, data, len, sha1_xform);
+	sha1_base_do_finalize(desc, sha1_xform);
 	kernel_fpu_end();
 
 	return sha1_base_finish(desc, out);
 }
 
-asmlinkage void sha1_transform_ssse3(u32 *digest, const char *data,
-				     unsigned int rounds);
+asmlinkage void sha1_transform_ssse3(struct sha1_state *state,
+				     const u8 *data, int blocks);
 
 static int sha1_ssse3_update(struct shash_desc *desc, const u8 *data,
 			     unsigned int len)
 {
-	return sha1_update(desc, data, len,
-			(sha1_transform_fn *) sha1_transform_ssse3);
+	return sha1_update(desc, data, len, sha1_transform_ssse3);
 }
 
 static int sha1_ssse3_finup(struct shash_desc *desc, const u8 *data,
 			      unsigned int len, u8 *out)
 {
-	return sha1_finup(desc, data, len, out,
-			(sha1_transform_fn *) sha1_transform_ssse3);
+	return sha1_finup(desc, data, len, out, sha1_transform_ssse3);
 }
 
 /* Add padding and return the message digest. */
@@ -123,21 +119,19 @@
 }
 
 #ifdef CONFIG_AS_AVX
-asmlinkage void sha1_transform_avx(u32 *digest, const char *data,
-				   unsigned int rounds);
+asmlinkage void sha1_transform_avx(struct sha1_state *state,
+				   const u8 *data, int blocks);
 
 static int sha1_avx_update(struct shash_desc *desc, const u8 *data,
 			     unsigned int len)
 {
-	return sha1_update(desc, data, len,
-			(sha1_transform_fn *) sha1_transform_avx);
+	return sha1_update(desc, data, len, sha1_transform_avx);
 }
 
 static int sha1_avx_finup(struct shash_desc *desc, const u8 *data,
 			      unsigned int len, u8 *out)
 {
-	return sha1_finup(desc, data, len, out,
-			(sha1_transform_fn *) sha1_transform_avx);
+	return sha1_finup(desc, data, len, out, sha1_transform_avx);
 }
 
 static int sha1_avx_final(struct shash_desc *desc, u8 *out)
@@ -194,8 +188,8 @@
 #if defined(CONFIG_AS_AVX2) && (CONFIG_AS_AVX)
 #define SHA1_AVX2_BLOCK_OPTSIZE	4	/* optimal 4*64 bytes of SHA1 blocks */
 
-asmlinkage void sha1_transform_avx2(u32 *digest, const char *data,
-				    unsigned int rounds);
+asmlinkage void sha1_transform_avx2(struct sha1_state *state,
+				    const u8 *data, int blocks);
 
 static bool avx2_usable(void)
 {
@@ -207,28 +201,26 @@
 	return false;
 }
 
-static void sha1_apply_transform_avx2(u32 *digest, const char *data,
-				unsigned int rounds)
+static void sha1_apply_transform_avx2(struct sha1_state *state,
+				      const u8 *data, int blocks)
 {
 	/* Select the optimal transform based on data block size */
-	if (rounds >= SHA1_AVX2_BLOCK_OPTSIZE)
-		sha1_transform_avx2(digest, data, rounds);
+	if (blocks >= SHA1_AVX2_BLOCK_OPTSIZE)
+		sha1_transform_avx2(state, data, blocks);
 	else
-		sha1_transform_avx(digest, data, rounds);
+		sha1_transform_avx(state, data, blocks);
 }
 
 static int sha1_avx2_update(struct shash_desc *desc, const u8 *data,
 			     unsigned int len)
 {
-	return sha1_update(desc, data, len,
-		(sha1_transform_fn *) sha1_apply_transform_avx2);
+	return sha1_update(desc, data, len, sha1_apply_transform_avx2);
 }
 
 static int sha1_avx2_finup(struct shash_desc *desc, const u8 *data,
 			      unsigned int len, u8 *out)
 {
-	return sha1_finup(desc, data, len, out,
-		(sha1_transform_fn *) sha1_apply_transform_avx2);
+	return sha1_finup(desc, data, len, out, sha1_apply_transform_avx2);
 }
 
 static int sha1_avx2_final(struct shash_desc *desc, u8 *out)
@@ -271,21 +263,19 @@
 #endif
 
 #ifdef CONFIG_AS_SHA1_NI
-asmlinkage void sha1_ni_transform(u32 *digest, const char *data,
-				   unsigned int rounds);
+asmlinkage void sha1_ni_transform(struct sha1_state *digest, const u8 *data,
+				  int rounds);
 
 static int sha1_ni_update(struct shash_desc *desc, const u8 *data,
 			     unsigned int len)
 {
-	return sha1_update(desc, data, len,
-		(sha1_transform_fn *) sha1_ni_transform);
+	return sha1_update(desc, data, len, sha1_ni_transform);
 }
 
 static int sha1_ni_finup(struct shash_desc *desc, const u8 *data,
 			      unsigned int len, u8 *out)
 {
-	return sha1_finup(desc, data, len, out,
-		(sha1_transform_fn *) sha1_ni_transform);
+	return sha1_finup(desc, data, len, out, sha1_ni_transform);
 }
 
 static int sha1_ni_final(struct shash_desc *desc, u8 *out)
diff --git a/arch/x86/crypto/sha256-avx-asm.S b/arch/x86/crypto/sha256-avx-asm.S
index 001bbcf..b6e037e 100644
--- a/arch/x86/crypto/sha256-avx-asm.S
+++ b/arch/x86/crypto/sha256-avx-asm.S
@@ -341,8 +341,8 @@
 .endm
 
 ########################################################################
-## void sha256_transform_avx(void *input_data, UINT32 digest[8], UINT64 num_blks)
-## arg 1 : pointer to digest
+## void sha256_transform_avx(state sha256_state *state, const u8 *data, int blocks)
+## arg 1 : pointer to state
 ## arg 2 : pointer to input data
 ## arg 3 : Num blocks
 ########################################################################
diff --git a/arch/x86/crypto/sha256-avx2-asm.S b/arch/x86/crypto/sha256-avx2-asm.S
index 1420db1..2e6ebc9 100644
--- a/arch/x86/crypto/sha256-avx2-asm.S
+++ b/arch/x86/crypto/sha256-avx2-asm.S
@@ -520,8 +520,8 @@
 .endm
 
 ########################################################################
-## void sha256_transform_rorx(void *input_data, UINT32 digest[8], UINT64 num_blks)
-## arg 1 : pointer to digest
+## void sha256_transform_rorx(struct sha256_state *state, const u8 *data, int blocks)
+## arg 1 : pointer to state
 ## arg 2 : pointer to input data
 ## arg 3 : Num blocks
 ########################################################################
diff --git a/arch/x86/crypto/sha256-ssse3-asm.S b/arch/x86/crypto/sha256-ssse3-asm.S
index c6c05ed..ab7d9f0 100644
--- a/arch/x86/crypto/sha256-ssse3-asm.S
+++ b/arch/x86/crypto/sha256-ssse3-asm.S
@@ -347,8 +347,10 @@
 .endm
 
 ########################################################################
-## void sha256_transform_ssse3(void *input_data, UINT32 digest[8], UINT64 num_blks)
-## arg 1 : pointer to digest
+## void sha256_transform_ssse3(struct sha256_state *state, const u8 *data,
+##			       int blocks);
+## arg 1 : pointer to state
+##	   (struct sha256_state is assumed to begin with u32 state[8])
 ## arg 2 : pointer to input data
 ## arg 3 : Num blocks
 ########################################################################
diff --git a/arch/x86/crypto/sha256_ssse3_glue.c b/arch/x86/crypto/sha256_ssse3_glue.c
index 773a873..2251b62 100644
--- a/arch/x86/crypto/sha256_ssse3_glue.c
+++ b/arch/x86/crypto/sha256_ssse3_glue.c
@@ -40,12 +40,11 @@
 #include <asm/fpu/api.h>
 #include <linux/string.h>
 
-asmlinkage void sha256_transform_ssse3(u32 *digest, const char *data,
-				       u64 rounds);
-typedef void (sha256_transform_fn)(u32 *digest, const char *data, u64 rounds);
+asmlinkage void sha256_transform_ssse3(struct sha256_state *state,
+				       const u8 *data, int blocks);
 
-static int sha256_update(struct shash_desc *desc, const u8 *data,
-			 unsigned int len, sha256_transform_fn *sha256_xform)
+static int _sha256_update(struct shash_desc *desc, const u8 *data,
+			  unsigned int len, sha256_block_fn *sha256_xform)
 {
 	struct sha256_state *sctx = shash_desc_ctx(desc);
 
@@ -53,28 +52,29 @@
 	    (sctx->count % SHA256_BLOCK_SIZE) + len < SHA256_BLOCK_SIZE)
 		return crypto_sha256_update(desc, data, len);
 
-	/* make sure casting to sha256_block_fn() is safe */
+	/*
+	 * Make sure struct sha256_state begins directly with the SHA256
+	 * 256-bit internal state, as this is what the asm functions expect.
+	 */
 	BUILD_BUG_ON(offsetof(struct sha256_state, state) != 0);
 
 	kernel_fpu_begin();
-	sha256_base_do_update(desc, data, len,
-			      (sha256_block_fn *)sha256_xform);
+	sha256_base_do_update(desc, data, len, sha256_xform);
 	kernel_fpu_end();
 
 	return 0;
 }
 
 static int sha256_finup(struct shash_desc *desc, const u8 *data,
-	      unsigned int len, u8 *out, sha256_transform_fn *sha256_xform)
+	      unsigned int len, u8 *out, sha256_block_fn *sha256_xform)
 {
 	if (!irq_fpu_usable())
 		return crypto_sha256_finup(desc, data, len, out);
 
 	kernel_fpu_begin();
 	if (len)
-		sha256_base_do_update(desc, data, len,
-				      (sha256_block_fn *)sha256_xform);
-	sha256_base_do_finalize(desc, (sha256_block_fn *)sha256_xform);
+		sha256_base_do_update(desc, data, len, sha256_xform);
+	sha256_base_do_finalize(desc, sha256_xform);
 	kernel_fpu_end();
 
 	return sha256_base_finish(desc, out);
@@ -83,7 +83,7 @@
 static int sha256_ssse3_update(struct shash_desc *desc, const u8 *data,
 			 unsigned int len)
 {
-	return sha256_update(desc, data, len, sha256_transform_ssse3);
+	return _sha256_update(desc, data, len, sha256_transform_ssse3);
 }
 
 static int sha256_ssse3_finup(struct shash_desc *desc, const u8 *data,
@@ -144,13 +144,13 @@
 }
 
 #ifdef CONFIG_AS_AVX
-asmlinkage void sha256_transform_avx(u32 *digest, const char *data,
-				     u64 rounds);
+asmlinkage void sha256_transform_avx(struct sha256_state *state,
+				     const u8 *data, int blocks);
 
 static int sha256_avx_update(struct shash_desc *desc, const u8 *data,
 			 unsigned int len)
 {
-	return sha256_update(desc, data, len, sha256_transform_avx);
+	return _sha256_update(desc, data, len, sha256_transform_avx);
 }
 
 static int sha256_avx_finup(struct shash_desc *desc, const u8 *data,
@@ -226,13 +226,13 @@
 #endif
 
 #if defined(CONFIG_AS_AVX2) && defined(CONFIG_AS_AVX)
-asmlinkage void sha256_transform_rorx(u32 *digest, const char *data,
-				      u64 rounds);
+asmlinkage void sha256_transform_rorx(struct sha256_state *state,
+				      const u8 *data, int blocks);
 
 static int sha256_avx2_update(struct shash_desc *desc, const u8 *data,
 			 unsigned int len)
 {
-	return sha256_update(desc, data, len, sha256_transform_rorx);
+	return _sha256_update(desc, data, len, sha256_transform_rorx);
 }
 
 static int sha256_avx2_finup(struct shash_desc *desc, const u8 *data,
@@ -306,13 +306,13 @@
 #endif
 
 #ifdef CONFIG_AS_SHA256_NI
-asmlinkage void sha256_ni_transform(u32 *digest, const char *data,
-				   u64 rounds); /*unsigned int rounds);*/
+asmlinkage void sha256_ni_transform(struct sha256_state *digest,
+				    const u8 *data, int rounds);
 
 static int sha256_ni_update(struct shash_desc *desc, const u8 *data,
 			 unsigned int len)
 {
-	return sha256_update(desc, data, len, sha256_ni_transform);
+	return _sha256_update(desc, data, len, sha256_ni_transform);
 }
 
 static int sha256_ni_finup(struct shash_desc *desc, const u8 *data,
diff --git a/arch/x86/crypto/sha512-avx-asm.S b/arch/x86/crypto/sha512-avx-asm.S
index 39235fe..8f6fe09 100644
--- a/arch/x86/crypto/sha512-avx-asm.S
+++ b/arch/x86/crypto/sha512-avx-asm.S
@@ -271,11 +271,12 @@
 .endm
 
 ########################################################################
-# void sha512_transform_avx(void* D, const void* M, u64 L)
-# Purpose: Updates the SHA512 digest stored at D with the message stored in M.
-# The size of the message pointed to by M must be an integer multiple of SHA512
-# message blocks.
-# L is the message length in SHA512 blocks
+# void sha512_transform_avx(sha512_state *state, const u8 *data, int blocks)
+# Purpose: Updates the SHA512 digest stored at "state" with the message
+# stored in "data".
+# The size of the message pointed to by "data" must be an integer multiple
+# of SHA512 message blocks.
+# "blocks" is the message length in SHA512 blocks
 ########################################################################
 ENTRY(sha512_transform_avx)
 	cmp $0, msglen
diff --git a/arch/x86/crypto/sha512-avx2-asm.S b/arch/x86/crypto/sha512-avx2-asm.S
index b16d560..43d4d64 100644
--- a/arch/x86/crypto/sha512-avx2-asm.S
+++ b/arch/x86/crypto/sha512-avx2-asm.S
@@ -563,11 +563,12 @@
 .endm
 
 ########################################################################
-# void sha512_transform_rorx(void* D, const void* M, uint64_t L)#
-# Purpose: Updates the SHA512 digest stored at D with the message stored in M.
-# The size of the message pointed to by M must be an integer multiple of SHA512
-#   message blocks.
-# L is the message length in SHA512 blocks
+# void sha512_transform_rorx(sha512_state *state, const u8 *data, int blocks)
+# Purpose: Updates the SHA512 digest stored at "state" with the message
+# stored in "data".
+# The size of the message pointed to by "data" must be an integer multiple
+# of SHA512 message blocks.
+# "blocks" is the message length in SHA512 blocks
 ########################################################################
 ENTRY(sha512_transform_rorx)
 	# Allocate Stack Space
diff --git a/arch/x86/crypto/sha512-ssse3-asm.S b/arch/x86/crypto/sha512-ssse3-asm.S
index 66bbd90..46da903 100644
--- a/arch/x86/crypto/sha512-ssse3-asm.S
+++ b/arch/x86/crypto/sha512-ssse3-asm.S
@@ -269,11 +269,14 @@
 .endm
 
 ########################################################################
-# void sha512_transform_ssse3(void* D, const void* M, u64 L)#
-# Purpose: Updates the SHA512 digest stored at D with the message stored in M.
-# The size of the message pointed to by M must be an integer multiple of SHA512
-#   message blocks.
-# L is the message length in SHA512 blocks.
+## void sha512_transform_ssse3(struct sha512_state *state, const u8 *data,
+##			       int blocks);
+# (struct sha512_state is assumed to begin with u64 state[8])
+# Purpose: Updates the SHA512 digest stored at "state" with the message
+# stored in "data".
+# The size of the message pointed to by "data" must be an integer multiple
+# of SHA512 message blocks.
+# "blocks" is the message length in SHA512 blocks.
 ########################################################################
 ENTRY(sha512_transform_ssse3)
 
diff --git a/arch/x86/crypto/sha512_ssse3_glue.c b/arch/x86/crypto/sha512_ssse3_glue.c
index f1b811b..3403816 100644
--- a/arch/x86/crypto/sha512_ssse3_glue.c
+++ b/arch/x86/crypto/sha512_ssse3_glue.c
@@ -39,13 +39,11 @@
 
 #include <linux/string.h>
 
-asmlinkage void sha512_transform_ssse3(u64 *digest, const char *data,
-				       u64 rounds);
-
-typedef void (sha512_transform_fn)(u64 *digest, const char *data, u64 rounds);
+asmlinkage void sha512_transform_ssse3(struct sha512_state *state,
+				       const u8 *data, int blocks);
 
 static int sha512_update(struct shash_desc *desc, const u8 *data,
-		       unsigned int len, sha512_transform_fn *sha512_xform)
+		       unsigned int len, sha512_block_fn *sha512_xform)
 {
 	struct sha512_state *sctx = shash_desc_ctx(desc);
 
@@ -53,28 +51,29 @@
 	    (sctx->count[0] % SHA512_BLOCK_SIZE) + len < SHA512_BLOCK_SIZE)
 		return crypto_sha512_update(desc, data, len);
 
-	/* make sure casting to sha512_block_fn() is safe */
+	/*
+	 * Make sure struct sha512_state begins directly with the SHA512
+	 * 512-bit internal state, as this is what the asm functions expect.
+	 */
 	BUILD_BUG_ON(offsetof(struct sha512_state, state) != 0);
 
 	kernel_fpu_begin();
-	sha512_base_do_update(desc, data, len,
-			      (sha512_block_fn *)sha512_xform);
+	sha512_base_do_update(desc, data, len, sha512_xform);
 	kernel_fpu_end();
 
 	return 0;
 }
 
 static int sha512_finup(struct shash_desc *desc, const u8 *data,
-	      unsigned int len, u8 *out, sha512_transform_fn *sha512_xform)
+	      unsigned int len, u8 *out, sha512_block_fn *sha512_xform)
 {
 	if (!irq_fpu_usable())
 		return crypto_sha512_finup(desc, data, len, out);
 
 	kernel_fpu_begin();
 	if (len)
-		sha512_base_do_update(desc, data, len,
-				      (sha512_block_fn *)sha512_xform);
-	sha512_base_do_finalize(desc, (sha512_block_fn *)sha512_xform);
+		sha512_base_do_update(desc, data, len, sha512_xform);
+	sha512_base_do_finalize(desc, sha512_xform);
 	kernel_fpu_end();
 
 	return sha512_base_finish(desc, out);
@@ -144,8 +143,8 @@
 }
 
 #ifdef CONFIG_AS_AVX
-asmlinkage void sha512_transform_avx(u64 *digest, const char *data,
-				     u64 rounds);
+asmlinkage void sha512_transform_avx(struct sha512_state *state,
+				     const u8 *data, int blocks);
 static bool avx_usable(void)
 {
 	if (!cpu_has_xfeatures(XFEATURE_MASK_SSE | XFEATURE_MASK_YMM, NULL)) {
@@ -225,8 +224,8 @@
 #endif
 
 #if defined(CONFIG_AS_AVX2) && defined(CONFIG_AS_AVX)
-asmlinkage void sha512_transform_rorx(u64 *digest, const char *data,
-				      u64 rounds);
+asmlinkage void sha512_transform_rorx(struct sha512_state *state,
+				      const u8 *data, int blocks);
 
 static int sha512_avx2_update(struct shash_desc *desc, const u8 *data,
 		       unsigned int len)
diff --git a/arch/x86/entry/calling.h b/arch/x86/entry/calling.h
index 578b545..31fbb4a 100644
--- a/arch/x86/entry/calling.h
+++ b/arch/x86/entry/calling.h
@@ -172,21 +172,6 @@
 	.endif
 .endm
 
-/*
- * This is a sneaky trick to help the unwinder find pt_regs on the stack.  The
- * frame pointer is replaced with an encoded pointer to pt_regs.  The encoding
- * is just setting the LSB, which makes it an invalid stack address and is also
- * a signal to the unwinder that it's a pt_regs pointer in disguise.
- *
- * NOTE: This macro must be used *after* PUSH_AND_CLEAR_REGS because it corrupts
- * the original rbp.
- */
-.macro ENCODE_FRAME_POINTER ptregs_offset=0
-#ifdef CONFIG_FRAME_POINTER
-	leaq 1+\ptregs_offset(%rsp), %rbp
-#endif
-.endm
-
 #ifdef CONFIG_PAGE_TABLE_ISOLATION
 
 /*
diff --git a/arch/x86/entry/entry_32.S b/arch/x86/entry/entry_32.S
index 8059d4f..d074320 100644
--- a/arch/x86/entry/entry_32.S
+++ b/arch/x86/entry/entry_32.S
@@ -245,22 +245,6 @@
 .Lend_\@:
 .endm
 
-/*
- * This is a sneaky trick to help the unwinder find pt_regs on the stack.  The
- * frame pointer is replaced with an encoded pointer to pt_regs.  The encoding
- * is just clearing the MSB, which makes it an invalid stack address and is also
- * a signal to the unwinder that it's a pt_regs pointer in disguise.
- *
- * NOTE: This macro must be used *after* SAVE_ALL because it corrupts the
- * original rbp.
- */
-.macro ENCODE_FRAME_POINTER
-#ifdef CONFIG_FRAME_POINTER
-	mov %esp, %ebp
-	andl $0x7fffffff, %ebp
-#endif
-.endm
-
 .macro RESTORE_INT_REGS
 	popl	%ebx
 	popl	%ecx
diff --git a/arch/x86/entry/vdso/vdso32-setup.c b/arch/x86/entry/vdso/vdso32-setup.c
index 42d4c89..ddff0ca 100644
--- a/arch/x86/entry/vdso/vdso32-setup.c
+++ b/arch/x86/entry/vdso/vdso32-setup.c
@@ -11,6 +11,7 @@
 #include <linux/smp.h>
 #include <linux/kernel.h>
 #include <linux/mm_types.h>
+#include <linux/elf.h>
 
 #include <asm/processor.h>
 #include <asm/vdso.h>
diff --git a/arch/x86/events/amd/core.c b/arch/x86/events/amd/core.c
index defb536..c3ec535 100644
--- a/arch/x86/events/amd/core.c
+++ b/arch/x86/events/amd/core.c
@@ -245,6 +245,7 @@
 	[PERF_COUNT_HW_CPU_CYCLES]		= 0x0076,
 	[PERF_COUNT_HW_INSTRUCTIONS]		= 0x00c0,
 	[PERF_COUNT_HW_CACHE_REFERENCES]	= 0xff60,
+	[PERF_COUNT_HW_CACHE_MISSES]		= 0x0964,
 	[PERF_COUNT_HW_BRANCH_INSTRUCTIONS]	= 0x00c2,
 	[PERF_COUNT_HW_BRANCH_MISSES]		= 0x00c3,
 	[PERF_COUNT_HW_STALLED_CYCLES_FRONTEND]	= 0x0287,
diff --git a/arch/x86/events/intel/ds.c b/arch/x86/events/intel/ds.c
index e91814d..79caeba 100644
--- a/arch/x86/events/intel/ds.c
+++ b/arch/x86/events/intel/ds.c
@@ -1402,6 +1402,8 @@
 	old = ((s64)(prev_raw_count << shift) >> shift);
 	local64_add(new - old + count * period, &event->count);
 
+	local64_set(&hwc->period_left, -new);
+
 	perf_event_update_userpage(event);
 
 	return 0;
diff --git a/arch/x86/include/asm/apic.h b/arch/x86/include/asm/apic.h
index 050368d..3c1e51e 100644
--- a/arch/x86/include/asm/apic.h
+++ b/arch/x86/include/asm/apic.h
@@ -448,6 +448,14 @@
 	apic_eoi();
 }
 
+
+static inline bool lapic_vector_set_in_irr(unsigned int vector)
+{
+	u32 irr = apic_read(APIC_IRR + (vector / 32 * 0x10));
+
+	return !!(irr & (1U << (vector % 32)));
+}
+
 static inline unsigned default_get_apic_id(unsigned long x)
 {
 	unsigned int ver = GET_APIC_VERSION(apic_read(APIC_LVR));
diff --git a/arch/x86/include/asm/frame.h b/arch/x86/include/asm/frame.h
index 5cbce6f..296b346 100644
--- a/arch/x86/include/asm/frame.h
+++ b/arch/x86/include/asm/frame.h
@@ -22,6 +22,35 @@
 	pop %_ASM_BP
 .endm
 
+#ifdef CONFIG_X86_64
+/*
+ * This is a sneaky trick to help the unwinder find pt_regs on the stack.  The
+ * frame pointer is replaced with an encoded pointer to pt_regs.  The encoding
+ * is just setting the LSB, which makes it an invalid stack address and is also
+ * a signal to the unwinder that it's a pt_regs pointer in disguise.
+ *
+ * NOTE: This macro must be used *after* PUSH_AND_CLEAR_REGS because it corrupts
+ * the original rbp.
+ */
+.macro ENCODE_FRAME_POINTER ptregs_offset=0
+	leaq 1+\ptregs_offset(%rsp), %rbp
+.endm
+#else /* !CONFIG_X86_64 */
+/*
+ * This is a sneaky trick to help the unwinder find pt_regs on the stack.  The
+ * frame pointer is replaced with an encoded pointer to pt_regs.  The encoding
+ * is just clearing the MSB, which makes it an invalid stack address and is also
+ * a signal to the unwinder that it's a pt_regs pointer in disguise.
+ *
+ * NOTE: This macro must be used *after* SAVE_ALL because it corrupts the
+ * original ebp.
+ */
+.macro ENCODE_FRAME_POINTER
+	mov %esp, %ebp
+	andl $0x7fffffff, %ebp
+.endm
+#endif /* CONFIG_X86_64 */
+
 #else /* !__ASSEMBLY__ */
 
 #define FRAME_BEGIN				\
@@ -30,12 +59,32 @@
 
 #define FRAME_END "pop %" _ASM_BP "\n"
 
+#ifdef CONFIG_X86_64
+#define ENCODE_FRAME_POINTER			\
+	"lea 1(%rsp), %rbp\n\t"
+#else /* !CONFIG_X86_64 */
+#define ENCODE_FRAME_POINTER			\
+	"movl %esp, %ebp\n\t"			\
+	"andl $0x7fffffff, %ebp\n\t"
+#endif /* CONFIG_X86_64 */
+
 #endif /* __ASSEMBLY__ */
 
 #define FRAME_OFFSET __ASM_SEL(4, 8)
 
 #else /* !CONFIG_FRAME_POINTER */
 
+#ifdef __ASSEMBLY__
+
+.macro ENCODE_FRAME_POINTER ptregs_offset=0
+.endm
+
+#else /* !__ASSEMBLY */
+
+#define ENCODE_FRAME_POINTER
+
+#endif
+
 #define FRAME_BEGIN
 #define FRAME_END
 #define FRAME_OFFSET 0
diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
index 155be8a..067288d 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -350,12 +350,12 @@
 	void (*set_cr3)(struct kvm_vcpu *vcpu, unsigned long root);
 	unsigned long (*get_cr3)(struct kvm_vcpu *vcpu);
 	u64 (*get_pdptr)(struct kvm_vcpu *vcpu, int index);
-	int (*page_fault)(struct kvm_vcpu *vcpu, gva_t gva, u32 err,
+	int (*page_fault)(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa, u32 err,
 			  bool prefault);
 	void (*inject_page_fault)(struct kvm_vcpu *vcpu,
 				  struct x86_exception *fault);
-	gpa_t (*gva_to_gpa)(struct kvm_vcpu *vcpu, gva_t gva, u32 access,
-			    struct x86_exception *exception);
+	gpa_t (*gva_to_gpa)(struct kvm_vcpu *vcpu, gpa_t gva_or_gpa,
+			    u32 access, struct x86_exception *exception);
 	gpa_t (*translate_gpa)(struct kvm_vcpu *vcpu, gpa_t gpa, u32 access,
 			       struct x86_exception *exception);
 	int (*sync_page)(struct kvm_vcpu *vcpu,
@@ -1040,7 +1040,7 @@
 	void (*load_eoi_exitmap)(struct kvm_vcpu *vcpu, u64 *eoi_exit_bitmap);
 	void (*set_virtual_apic_mode)(struct kvm_vcpu *vcpu);
 	void (*set_apic_access_page_addr)(struct kvm_vcpu *vcpu, hpa_t hpa);
-	void (*deliver_posted_interrupt)(struct kvm_vcpu *vcpu, int vector);
+	int (*deliver_posted_interrupt)(struct kvm_vcpu *vcpu, int vector);
 	int (*sync_pir_to_irr)(struct kvm_vcpu *vcpu);
 	int (*set_tss_addr)(struct kvm *kvm, unsigned int addr);
 	int (*set_identity_map_addr)(struct kvm *kvm, u64 ident_addr);
@@ -1354,7 +1354,7 @@
 
 int kvm_emulate_hypercall(struct kvm_vcpu *vcpu);
 
-int kvm_mmu_page_fault(struct kvm_vcpu *vcpu, gva_t gva, u64 error_code,
+int kvm_mmu_page_fault(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa, u64 error_code,
 		       void *insn, int insn_len);
 void kvm_mmu_invlpg(struct kvm_vcpu *vcpu, gva_t gva);
 void kvm_mmu_invpcid_gva(struct kvm_vcpu *vcpu, gva_t gva, unsigned long pcid);
diff --git a/arch/x86/include/asm/msr-index.h b/arch/x86/include/asm/msr-index.h
index 0f4feee..d2c25a1 100644
--- a/arch/x86/include/asm/msr-index.h
+++ b/arch/x86/include/asm/msr-index.h
@@ -455,6 +455,8 @@
 #define MSR_K7_HWCR			0xc0010015
 #define MSR_K7_HWCR_SMMLOCK_BIT		0
 #define MSR_K7_HWCR_SMMLOCK		BIT_ULL(MSR_K7_HWCR_SMMLOCK_BIT)
+#define MSR_K7_HWCR_IRPERF_EN_BIT	30
+#define MSR_K7_HWCR_IRPERF_EN		BIT_ULL(MSR_K7_HWCR_IRPERF_EN_BIT)
 #define MSR_K7_FID_VID_CTL		0xc0010041
 #define MSR_K7_FID_VID_STATUS		0xc0010042
 
diff --git a/arch/x86/include/asm/nmi.h b/arch/x86/include/asm/nmi.h
index 75ded1d..9d5d949 100644
--- a/arch/x86/include/asm/nmi.h
+++ b/arch/x86/include/asm/nmi.h
@@ -41,7 +41,6 @@
 	struct list_head	list;
 	nmi_handler_t		handler;
 	u64			max_duration;
-	struct irq_work		irq_work;
 	unsigned long		flags;
 	const char		*name;
 };
diff --git a/arch/x86/include/asm/pgtable_32.h b/arch/x86/include/asm/pgtable_32.h
index b3ec519..71e1df8 100644
--- a/arch/x86/include/asm/pgtable_32.h
+++ b/arch/x86/include/asm/pgtable_32.h
@@ -106,6 +106,6 @@
  * with only a host target support using a 32-bit type for internal
  * representation.
  */
-#define LOWMEM_PAGES ((((2<<31) - __PAGE_OFFSET) >> PAGE_SHIFT))
+#define LOWMEM_PAGES ((((_ULL(2)<<31) - __PAGE_OFFSET) >> PAGE_SHIFT))
 
 #endif /* _ASM_X86_PGTABLE_32_H */
diff --git a/arch/x86/include/asm/sections.h b/arch/x86/include/asm/sections.h
index 4a911a3..dde9f92 100644
--- a/arch/x86/include/asm/sections.h
+++ b/arch/x86/include/asm/sections.h
@@ -6,7 +6,7 @@
 #include <asm/extable.h>
 
 extern char __brk_base[], __brk_limit[];
-extern struct exception_table_entry __stop___ex_table[];
+extern char __cfi_jt_start[], __cfi_jt_end[];
 extern char __end_rodata_aligned[];
 
 #if defined(CONFIG_X86_64)
diff --git a/arch/x86/kernel/apic/msi.c b/arch/x86/kernel/apic/msi.c
index 72a9440..1f5df33 100644
--- a/arch/x86/kernel/apic/msi.c
+++ b/arch/x86/kernel/apic/msi.c
@@ -26,10 +26,8 @@
 
 static struct irq_domain *msi_default_domain;
 
-static void irq_msi_compose_msg(struct irq_data *data, struct msi_msg *msg)
+static void __irq_msi_compose_msg(struct irq_cfg *cfg, struct msi_msg *msg)
 {
-	struct irq_cfg *cfg = irqd_cfg(data);
-
 	msg->address_hi = MSI_ADDR_BASE_HI;
 
 	if (x2apic_enabled())
@@ -50,6 +48,127 @@
 		MSI_DATA_VECTOR(cfg->vector);
 }
 
+static void irq_msi_compose_msg(struct irq_data *data, struct msi_msg *msg)
+{
+	__irq_msi_compose_msg(irqd_cfg(data), msg);
+}
+
+static void irq_msi_update_msg(struct irq_data *irqd, struct irq_cfg *cfg)
+{
+	struct msi_msg msg[2] = { [1] = { }, };
+
+	__irq_msi_compose_msg(cfg, msg);
+	irq_data_get_irq_chip(irqd)->irq_write_msi_msg(irqd, msg);
+}
+
+static int
+msi_set_affinity(struct irq_data *irqd, const struct cpumask *mask, bool force)
+{
+	struct irq_cfg old_cfg, *cfg = irqd_cfg(irqd);
+	struct irq_data *parent = irqd->parent_data;
+	unsigned int cpu;
+	int ret;
+
+	/* Save the current configuration */
+	cpu = cpumask_first(irq_data_get_effective_affinity_mask(irqd));
+	old_cfg = *cfg;
+
+	/* Allocate a new target vector */
+	ret = parent->chip->irq_set_affinity(parent, mask, force);
+	if (ret < 0 || ret == IRQ_SET_MASK_OK_DONE)
+		return ret;
+
+	/*
+	 * For non-maskable and non-remapped MSI interrupts the migration
+	 * to a different destination CPU and a different vector has to be
+	 * done careful to handle the possible stray interrupt which can be
+	 * caused by the non-atomic update of the address/data pair.
+	 *
+	 * Direct update is possible when:
+	 * - The MSI is maskable (remapped MSI does not use this code path)).
+	 *   The quirk bit is not set in this case.
+	 * - The new vector is the same as the old vector
+	 * - The old vector is MANAGED_IRQ_SHUTDOWN_VECTOR (interrupt starts up)
+	 * - The new destination CPU is the same as the old destination CPU
+	 */
+	if (!irqd_msi_nomask_quirk(irqd) ||
+	    cfg->vector == old_cfg.vector ||
+	    old_cfg.vector == MANAGED_IRQ_SHUTDOWN_VECTOR ||
+	    cfg->dest_apicid == old_cfg.dest_apicid) {
+		irq_msi_update_msg(irqd, cfg);
+		return ret;
+	}
+
+	/*
+	 * Paranoia: Validate that the interrupt target is the local
+	 * CPU.
+	 */
+	if (WARN_ON_ONCE(cpu != smp_processor_id())) {
+		irq_msi_update_msg(irqd, cfg);
+		return ret;
+	}
+
+	/*
+	 * Redirect the interrupt to the new vector on the current CPU
+	 * first. This might cause a spurious interrupt on this vector if
+	 * the device raises an interrupt right between this update and the
+	 * update to the final destination CPU.
+	 *
+	 * If the vector is in use then the installed device handler will
+	 * denote it as spurious which is no harm as this is a rare event
+	 * and interrupt handlers have to cope with spurious interrupts
+	 * anyway. If the vector is unused, then it is marked so it won't
+	 * trigger the 'No irq handler for vector' warning in do_IRQ().
+	 *
+	 * This requires to hold vector lock to prevent concurrent updates to
+	 * the affected vector.
+	 */
+	lock_vector_lock();
+
+	/*
+	 * Mark the new target vector on the local CPU if it is currently
+	 * unused. Reuse the VECTOR_RETRIGGERED state which is also used in
+	 * the CPU hotplug path for a similar purpose. This cannot be
+	 * undone here as the current CPU has interrupts disabled and
+	 * cannot handle the interrupt before the whole set_affinity()
+	 * section is done. In the CPU unplug case, the current CPU is
+	 * about to vanish and will not handle any interrupts anymore. The
+	 * vector is cleaned up when the CPU comes online again.
+	 */
+	if (IS_ERR_OR_NULL(this_cpu_read(vector_irq[cfg->vector])))
+		this_cpu_write(vector_irq[cfg->vector], VECTOR_RETRIGGERED);
+
+	/* Redirect it to the new vector on the local CPU temporarily */
+	old_cfg.vector = cfg->vector;
+	irq_msi_update_msg(irqd, &old_cfg);
+
+	/* Now transition it to the target CPU */
+	irq_msi_update_msg(irqd, cfg);
+
+	/*
+	 * All interrupts after this point are now targeted at the new
+	 * vector/CPU.
+	 *
+	 * Drop vector lock before testing whether the temporary assignment
+	 * to the local CPU was hit by an interrupt raised in the device,
+	 * because the retrigger function acquires vector lock again.
+	 */
+	unlock_vector_lock();
+
+	/*
+	 * Check whether the transition raced with a device interrupt and
+	 * is pending in the local APICs IRR. It is safe to do this outside
+	 * of vector lock as the irq_desc::lock of this interrupt is still
+	 * held and interrupts are disabled: The check is not accessing the
+	 * underlying vector store. It's just checking the local APIC's
+	 * IRR.
+	 */
+	if (lapic_vector_set_in_irr(cfg->vector))
+		irq_data_get_irq_chip(irqd)->irq_retrigger(irqd);
+
+	return ret;
+}
+
 /*
  * IRQ Chip for MSI PCI/PCI-X/PCI-Express Devices,
  * which implement the MSI or MSI-X Capability Structure.
@@ -61,6 +180,7 @@
 	.irq_ack		= irq_chip_ack_parent,
 	.irq_retrigger		= irq_chip_retrigger_hierarchy,
 	.irq_compose_msi_msg	= irq_msi_compose_msg,
+	.irq_set_affinity	= msi_set_affinity,
 	.flags			= IRQCHIP_SKIP_SET_WAKE,
 };
 
@@ -149,6 +269,8 @@
 	}
 	if (!msi_default_domain)
 		pr_warn("failed to initialize irqdomain for MSI/MSI-x.\n");
+	else
+		msi_default_domain->flags |= IRQ_DOMAIN_MSI_NOMASK_QUIRK;
 }
 
 #ifdef CONFIG_IRQ_REMAP
diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
index f86f912..1207699 100644
--- a/arch/x86/kernel/cpu/amd.c
+++ b/arch/x86/kernel/cpu/amd.c
@@ -25,6 +25,7 @@
 
 static const int amd_erratum_383[];
 static const int amd_erratum_400[];
+static const int amd_erratum_1054[];
 static bool cpu_has_amd_erratum(struct cpuinfo_x86 *cpu, const int *erratum);
 
 /*
@@ -609,9 +610,9 @@
 		return;
 
 clear_all:
-		clear_cpu_cap(c, X86_FEATURE_SME);
+		setup_clear_cpu_cap(X86_FEATURE_SME);
 clear_sev:
-		clear_cpu_cap(c, X86_FEATURE_SEV);
+		setup_clear_cpu_cap(X86_FEATURE_SEV);
 	}
 }
 
@@ -983,6 +984,15 @@
 	/* AMD CPUs don't reset SS attributes on SYSRET, Xen does. */
 	if (!cpu_has(c, X86_FEATURE_XENPV))
 		set_cpu_bug(c, X86_BUG_SYSRET_SS_ATTRS);
+
+	/*
+	 * Turn on the Instructions Retired free counter on machines not
+	 * susceptible to erratum #1054 "Instructions Retired Performance
+	 * Counter May Be Inaccurate".
+	 */
+	if (cpu_has(c, X86_FEATURE_IRPERF) &&
+	    !cpu_has_amd_erratum(c, amd_erratum_1054))
+		msr_set_bit(MSR_K7_HWCR, MSR_K7_HWCR_IRPERF_EN_BIT);
 }
 
 #ifdef CONFIG_X86_32
@@ -1110,6 +1120,10 @@
 static const int amd_erratum_383[] =
 	AMD_OSVW_ERRATUM(3, AMD_MODEL_RANGE(0x10, 0, 0, 0xff, 0xf));
 
+/* #1054: Instructions Retired Performance Counter May Be Inaccurate */
+static const int amd_erratum_1054[] =
+	AMD_OSVW_ERRATUM(0, AMD_MODEL_RANGE(0x17, 0, 0, 0x2f, 0xf));
+
 
 static bool cpu_has_amd_erratum(struct cpuinfo_x86 *cpu, const int *erratum)
 {
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
index a6458ab..7f43eba 100644
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@ -387,7 +387,7 @@
 	 * cpuid bit to be set.  We need to ensure that we
 	 * update that bit in this CPU's "cpu_info".
 	 */
-	get_cpu_cap(c);
+	set_cpu_cap(c, X86_FEATURE_OSPKE);
 }
 
 #ifdef CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS
diff --git a/arch/x86/kernel/cpu/intel_rdt.c b/arch/x86/kernel/cpu/intel_rdt.c
index b99a04d..1c92cd0 100644
--- a/arch/x86/kernel/cpu/intel_rdt.c
+++ b/arch/x86/kernel/cpu/intel_rdt.c
@@ -595,7 +595,7 @@
 		if (static_branch_unlikely(&rdt_mon_enable_key))
 			rmdir_mondata_subdir_allrdtgrp(r, d->id);
 		list_del(&d->list);
-		if (is_mbm_enabled())
+		if (r->mon_capable && is_mbm_enabled())
 			cancel_delayed_work(&d->mbm_over);
 		if (is_llc_occupancy_enabled() &&  has_busy_rmid(r, d)) {
 			/*
diff --git a/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c b/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c
index a2d7e66..11c5acc 100644
--- a/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c
+++ b/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c
@@ -1749,9 +1749,6 @@
 	struct rdt_domain *d;
 	int cpu;
 
-	if (!zalloc_cpumask_var(&cpu_mask, GFP_KERNEL))
-		return -ENOMEM;
-
 	if (level == RDT_RESOURCE_L3)
 		update = l3_qos_cfg_update;
 	else if (level == RDT_RESOURCE_L2)
@@ -1759,6 +1756,9 @@
 	else
 		return -EINVAL;
 
+	if (!zalloc_cpumask_var(&cpu_mask, GFP_KERNEL))
+		return -ENOMEM;
+
 	r_l = &rdt_resources_all[level];
 	list_for_each_entry(d, &r_l->domains, list) {
 		/* Pick one CPU from each domain instance to update MSR */
@@ -2005,7 +2005,7 @@
 
 	if (rdt_mon_capable) {
 		ret = mongroup_create_dir(rdtgroup_default.kn,
-					  NULL, "mon_groups",
+					  &rdtgroup_default, "mon_groups",
 					  &kn_mongrp);
 		if (ret) {
 			dentry = ERR_PTR(ret);
@@ -2167,7 +2167,11 @@
 	list_for_each_entry_safe(sentry, stmp, head, mon.crdtgrp_list) {
 		free_rmid(sentry->mon.rmid);
 		list_del(&sentry->mon.crdtgrp_list);
-		kfree(sentry);
+
+		if (atomic_read(&sentry->waitcount) != 0)
+			sentry->flags = RDT_DELETED;
+		else
+			kfree(sentry);
 	}
 }
 
@@ -2205,7 +2209,11 @@
 
 		kernfs_remove(rdtgrp->kn);
 		list_del(&rdtgrp->rdtgroup_list);
-		kfree(rdtgrp);
+
+		if (atomic_read(&rdtgrp->waitcount) != 0)
+			rdtgrp->flags = RDT_DELETED;
+		else
+			kfree(rdtgrp);
 	}
 	/* Notify online CPUs to update per cpu storage and PQR_ASSOC MSR */
 	update_closid_rmid(cpu_online_mask, &rdtgroup_default);
@@ -2407,7 +2415,7 @@
 	/*
 	 * Create the mon_data directory first.
 	 */
-	ret = mongroup_create_dir(parent_kn, NULL, "mon_data", &kn);
+	ret = mongroup_create_dir(parent_kn, prgrp, "mon_data", &kn);
 	if (ret)
 		return ret;
 
@@ -2560,7 +2568,7 @@
 	uint files = 0;
 	int ret;
 
-	prdtgrp = rdtgroup_kn_lock_live(prgrp_kn);
+	prdtgrp = rdtgroup_kn_lock_live(parent_kn);
 	rdt_last_cmd_clear();
 	if (!prdtgrp) {
 		ret = -ENODEV;
@@ -2635,7 +2643,7 @@
 	kernfs_activate(kn);
 
 	/*
-	 * The caller unlocks the prgrp_kn upon success.
+	 * The caller unlocks the parent_kn upon success.
 	 */
 	return 0;
 
@@ -2646,7 +2654,7 @@
 out_free_rgrp:
 	kfree(rdtgrp);
 out_unlock:
-	rdtgroup_kn_unlock(prgrp_kn);
+	rdtgroup_kn_unlock(parent_kn);
 	return ret;
 }
 
@@ -2684,7 +2692,7 @@
 	 */
 	list_add_tail(&rdtgrp->mon.crdtgrp_list, &prgrp->mon.crdtgrp_list);
 
-	rdtgroup_kn_unlock(prgrp_kn);
+	rdtgroup_kn_unlock(parent_kn);
 	return ret;
 }
 
@@ -2727,7 +2735,7 @@
 		 * Create an empty mon_groups directory to hold the subset
 		 * of tasks and cpus to monitor.
 		 */
-		ret = mongroup_create_dir(kn, NULL, "mon_groups", NULL);
+		ret = mongroup_create_dir(kn, rdtgrp, "mon_groups", NULL);
 		if (ret) {
 			rdt_last_cmd_puts("kernfs subdir error\n");
 			goto out_del_list;
@@ -2743,7 +2751,7 @@
 out_common_fail:
 	mkdir_rdt_prepare_clean(rdtgrp);
 out_unlock:
-	rdtgroup_kn_unlock(prgrp_kn);
+	rdtgroup_kn_unlock(parent_kn);
 	return ret;
 }
 
@@ -2869,13 +2877,13 @@
 	closid_free(rdtgrp->closid);
 	free_rmid(rdtgrp->mon.rmid);
 
+	rdtgroup_ctrl_remove(kn, rdtgrp);
+
 	/*
 	 * Free all the child monitor group rmids.
 	 */
 	free_all_child_rdtgrp(rdtgrp);
 
-	rdtgroup_ctrl_remove(kn, rdtgrp);
-
 	return 0;
 }
 
diff --git a/arch/x86/kernel/cpu/mcheck/mce_amd.c b/arch/x86/kernel/cpu/mcheck/mce_amd.c
index da0b696..f878d24 100644
--- a/arch/x86/kernel/cpu/mcheck/mce_amd.c
+++ b/arch/x86/kernel/cpu/mcheck/mce_amd.c
@@ -1117,9 +1117,12 @@
 	.store			= store,
 };
 
+static void threshold_block_release(struct kobject *kobj);
+
 static struct kobj_type threshold_ktype = {
 	.sysfs_ops		= &threshold_ops,
 	.default_attrs		= default_attrs,
+	.release		= threshold_block_release,
 };
 
 static const char *get_name(unsigned int bank, struct threshold_block *b)
@@ -1152,8 +1155,9 @@
 	return buf_mcatype;
 }
 
-static int allocate_threshold_blocks(unsigned int cpu, unsigned int bank,
-				     unsigned int block, u32 address)
+static int allocate_threshold_blocks(unsigned int cpu, struct threshold_bank *tb,
+				     unsigned int bank, unsigned int block,
+				     u32 address)
 {
 	struct threshold_block *b = NULL;
 	u32 low, high;
@@ -1197,16 +1201,12 @@
 
 	INIT_LIST_HEAD(&b->miscj);
 
-	if (per_cpu(threshold_banks, cpu)[bank]->blocks) {
-		list_add(&b->miscj,
-			 &per_cpu(threshold_banks, cpu)[bank]->blocks->miscj);
-	} else {
-		per_cpu(threshold_banks, cpu)[bank]->blocks = b;
-	}
+	if (tb->blocks)
+		list_add(&b->miscj, &tb->blocks->miscj);
+	else
+		tb->blocks = b;
 
-	err = kobject_init_and_add(&b->kobj, &threshold_ktype,
-				   per_cpu(threshold_banks, cpu)[bank]->kobj,
-				   get_name(bank, b));
+	err = kobject_init_and_add(&b->kobj, &threshold_ktype, tb->kobj, get_name(bank, b));
 	if (err)
 		goto out_free;
 recurse:
@@ -1214,7 +1214,7 @@
 	if (!address)
 		return 0;
 
-	err = allocate_threshold_blocks(cpu, bank, block, address);
+	err = allocate_threshold_blocks(cpu, tb, bank, block, address);
 	if (err)
 		goto out_free;
 
@@ -1299,8 +1299,6 @@
 		goto out_free;
 	}
 
-	per_cpu(threshold_banks, cpu)[bank] = b;
-
 	if (is_shared_bank(bank)) {
 		refcount_set(&b->cpus, 1);
 
@@ -1311,9 +1309,13 @@
 		}
 	}
 
-	err = allocate_threshold_blocks(cpu, bank, 0, msr_ops.misc(bank));
-	if (!err)
-		goto out;
+	err = allocate_threshold_blocks(cpu, b, bank, 0, msr_ops.misc(bank));
+	if (err)
+		goto out_free;
+
+	per_cpu(threshold_banks, cpu)[bank] = b;
+
+	return 0;
 
  out_free:
 	kfree(b);
@@ -1322,8 +1324,12 @@
 	return err;
 }
 
-static void deallocate_threshold_block(unsigned int cpu,
-						 unsigned int bank)
+static void threshold_block_release(struct kobject *kobj)
+{
+	kfree(to_block(kobj));
+}
+
+static void deallocate_threshold_block(unsigned int cpu, unsigned int bank)
 {
 	struct threshold_block *pos = NULL;
 	struct threshold_block *tmp = NULL;
@@ -1333,13 +1339,11 @@
 		return;
 
 	list_for_each_entry_safe(pos, tmp, &head->blocks->miscj, miscj) {
-		kobject_put(&pos->kobj);
 		list_del(&pos->miscj);
-		kfree(pos);
+		kobject_put(&pos->kobj);
 	}
 
-	kfree(per_cpu(threshold_banks, cpu)[bank]->blocks);
-	per_cpu(threshold_banks, cpu)[bank]->blocks = NULL;
+	kobject_put(&head->blocks->kobj);
 }
 
 static void __threshold_remove_blocks(struct threshold_bank *b)
diff --git a/arch/x86/kernel/cpu/tsx.c b/arch/x86/kernel/cpu/tsx.c
index 3e20d32..032509a 100644
--- a/arch/x86/kernel/cpu/tsx.c
+++ b/arch/x86/kernel/cpu/tsx.c
@@ -115,11 +115,12 @@
 		tsx_disable();
 
 		/*
-		 * tsx_disable() will change the state of the
-		 * RTM CPUID bit.  Clear it here since it is now
-		 * expected to be not set.
+		 * tsx_disable() will change the state of the RTM and HLE CPUID
+		 * bits. Clear them here since they are now expected to be not
+		 * set.
 		 */
 		setup_clear_cpu_cap(X86_FEATURE_RTM);
+		setup_clear_cpu_cap(X86_FEATURE_HLE);
 	} else if (tsx_ctrl_state == TSX_CTRL_ENABLE) {
 
 		/*
@@ -131,10 +132,10 @@
 		tsx_enable();
 
 		/*
-		 * tsx_enable() will change the state of the
-		 * RTM CPUID bit.  Force it here since it is now
-		 * expected to be set.
+		 * tsx_enable() will change the state of the RTM and HLE CPUID
+		 * bits. Force them here since they are now expected to be set.
 		 */
 		setup_force_cpu_cap(X86_FEATURE_RTM);
+		setup_force_cpu_cap(X86_FEATURE_HLE);
 	}
 }
diff --git a/arch/x86/kernel/ftrace_32.S b/arch/x86/kernel/ftrace_32.S
index 4c8440d..83f18e8 100644
--- a/arch/x86/kernel/ftrace_32.S
+++ b/arch/x86/kernel/ftrace_32.S
@@ -9,6 +9,7 @@
 #include <asm/export.h>
 #include <asm/ftrace.h>
 #include <asm/nospec-branch.h>
+#include <asm/frame.h>
 
 #ifdef CC_USING_FENTRY
 # define function_hook	__fentry__
@@ -131,6 +132,8 @@
 	pushl	%ecx
 	pushl	%ebx
 
+	ENCODE_FRAME_POINTER
+
 	movl	12*4(%esp), %eax		/* Load ip (1st parameter) */
 	subl	$MCOUNT_INSN_SIZE, %eax		/* Adjust ip */
 #ifdef CC_USING_FENTRY
diff --git a/arch/x86/kernel/ftrace_64.S b/arch/x86/kernel/ftrace_64.S
index 75f2b36..24b9abf 100644
--- a/arch/x86/kernel/ftrace_64.S
+++ b/arch/x86/kernel/ftrace_64.S
@@ -9,6 +9,7 @@
 #include <asm/export.h>
 #include <asm/nospec-branch.h>
 #include <asm/unwind_hints.h>
+#include <asm/frame.h>
 
 	.code64
 	.section .entry.text, "ax"
@@ -222,6 +223,8 @@
 	leaq MCOUNT_REG_SIZE+8*2(%rsp), %rcx
 	movq %rcx, RSP(%rsp)
 
+	ENCODE_FRAME_POINTER
+
 	/* regs go into 4th parameter */
 	leaq (%rsp), %rcx
 
diff --git a/arch/x86/kernel/kgdb.c b/arch/x86/kernel/kgdb.c
index 8e36f24..904e18b 100644
--- a/arch/x86/kernel/kgdb.c
+++ b/arch/x86/kernel/kgdb.c
@@ -438,7 +438,7 @@
  */
 void kgdb_roundup_cpus(unsigned long flags)
 {
-	apic->send_IPI_allbutself(APIC_DM_NMI);
+	apic->send_IPI_allbutself(NMI_VECTOR);
 }
 #endif
 
diff --git a/arch/x86/kernel/module.c b/arch/x86/kernel/module.c
index 6645f12..6bf351f 100644
--- a/arch/x86/kernel/module.c
+++ b/arch/x86/kernel/module.c
@@ -201,6 +201,10 @@
 				goto overflow;
 #endif
 			break;
+		case R_X86_64_8:
+			if (!strncmp(strtab + sym->st_name, "__typeid__", 10))
+				break;
+			/* fallthrough */
 		default:
 			pr_err("%s: Unknown rela relocation: %llu\n",
 			       me->name, ELF64_R_TYPE(rel[i].r_info));
diff --git a/arch/x86/kernel/nmi.c b/arch/x86/kernel/nmi.c
index 086cf1d..0f8b9b9 100644
--- a/arch/x86/kernel/nmi.c
+++ b/arch/x86/kernel/nmi.c
@@ -102,18 +102,22 @@
 }
 fs_initcall(nmi_warning_debugfs);
 
-static void nmi_max_handler(struct irq_work *w)
+static void nmi_check_duration(struct nmiaction *action, u64 duration)
 {
-	struct nmiaction *a = container_of(w, struct nmiaction, irq_work);
+	u64 whole_msecs = READ_ONCE(action->max_duration);
 	int remainder_ns, decimal_msecs;
-	u64 whole_msecs = READ_ONCE(a->max_duration);
+
+	if (duration < nmi_longest_ns || duration < action->max_duration)
+		return;
+
+	action->max_duration = duration;
 
 	remainder_ns = do_div(whole_msecs, (1000 * 1000));
 	decimal_msecs = remainder_ns / 1000;
 
 	printk_ratelimited(KERN_INFO
 		"INFO: NMI handler (%ps) took too long to run: %lld.%03d msecs\n",
-		a->handler, whole_msecs, decimal_msecs);
+		action->handler, whole_msecs, decimal_msecs);
 }
 
 static int nmi_handle(unsigned int type, struct pt_regs *regs)
@@ -140,11 +144,7 @@
 		delta = sched_clock() - delta;
 		trace_nmi_handler(a->handler, (int)delta, thishandled);
 
-		if (delta < nmi_longest_ns || delta < a->max_duration)
-			continue;
-
-		a->max_duration = delta;
-		irq_work_queue(&a->irq_work);
+		nmi_check_duration(a, delta);
 	}
 
 	rcu_read_unlock();
@@ -162,8 +162,6 @@
 	if (!action->handler)
 		return -EINVAL;
 
-	init_irq_work(&action->irq_work, nmi_max_handler);
-
 	raw_spin_lock_irqsave(&desc->lock, flags);
 
 	/*
diff --git a/arch/x86/kernel/sysfb_simplefb.c b/arch/x86/kernel/sysfb_simplefb.c
index 85195d4..f321534 100644
--- a/arch/x86/kernel/sysfb_simplefb.c
+++ b/arch/x86/kernel/sysfb_simplefb.c
@@ -94,11 +94,11 @@
 	if (si->orig_video_isVGA == VIDEO_TYPE_VLFB)
 		size <<= 16;
 	length = mode->height * mode->stride;
-	length = PAGE_ALIGN(length);
 	if (length > size) {
 		printk(KERN_WARNING "sysfb: VRAM smaller than advertised\n");
 		return -EINVAL;
 	}
+	length = PAGE_ALIGN(length);
 
 	/* setup IORESOURCE_MEM as framebuffer memory */
 	memset(&res, 0, sizeof(res));
diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S
index 85e6d56..8eb0c66 100644
--- a/arch/x86/kernel/vmlinux.lds.S
+++ b/arch/x86/kernel/vmlinux.lds.S
@@ -152,16 +152,22 @@
 		__indirect_thunk_end = .;
 #endif
 
-		/* End of text section */
-		_etext = .;
+#ifdef CONFIG_CFI_CLANG
+		. = ALIGN(PAGE_SIZE);
+		__cfi_jt_start = .;
+		*(.text..L.cfi.jumptable .text..L.cfi.jumptable.*)
+		__cfi_jt_end = .;
+#endif
 	} :text = 0x9090
 
 	NOTES :text :note
 
 	EXCEPTION_TABLE(16) :text = 0x9090
 
-	/* .text should occupy whole number of pages */
+	/* End of text section, which should occupy whole number of pages */
+	_etext = .;
 	. = ALIGN(PAGE_SIZE);
+
 	X86_ALIGN_RODATA_BEGIN
 	RO_DATA(PAGE_SIZE)
 	X86_ALIGN_RODATA_END
@@ -435,3 +441,7 @@
            "kexec control code size is too big");
 #endif
 
+#ifdef CONFIG_CFI_CLANG
+. = ASSERT((__cfi_jt_end - __cfi_jt_start > 0),
+	   "CFI jump table is empty");
+#endif
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index e699f4d..c91431b 100644
--- a/arch/x86/kvm/emulate.c
+++ b/arch/x86/kvm/emulate.c
@@ -5164,16 +5164,28 @@
 				ctxt->ad_bytes = def_ad_bytes ^ 6;
 			break;
 		case 0x26:	/* ES override */
+			has_seg_override = true;
+			ctxt->seg_override = VCPU_SREG_ES;
+			break;
 		case 0x2e:	/* CS override */
+			has_seg_override = true;
+			ctxt->seg_override = VCPU_SREG_CS;
+			break;
 		case 0x36:	/* SS override */
+			has_seg_override = true;
+			ctxt->seg_override = VCPU_SREG_SS;
+			break;
 		case 0x3e:	/* DS override */
 			has_seg_override = true;
-			ctxt->seg_override = (ctxt->b >> 3) & 3;
+			ctxt->seg_override = VCPU_SREG_DS;
 			break;
 		case 0x64:	/* FS override */
+			has_seg_override = true;
+			ctxt->seg_override = VCPU_SREG_FS;
+			break;
 		case 0x65:	/* GS override */
 			has_seg_override = true;
-			ctxt->seg_override = ctxt->b & 7;
+			ctxt->seg_override = VCPU_SREG_GS;
 			break;
 		case 0x40 ... 0x4f: /* REX */
 			if (mode != X86EMUL_MODE_PROT64)
@@ -5257,10 +5269,15 @@
 			}
 			break;
 		case Escape:
-			if (ctxt->modrm > 0xbf)
-				opcode = opcode.u.esc->high[ctxt->modrm - 0xc0];
-			else
+			if (ctxt->modrm > 0xbf) {
+				size_t size = ARRAY_SIZE(opcode.u.esc->high);
+				u32 index = array_index_nospec(
+					ctxt->modrm - 0xc0, size);
+
+				opcode = opcode.u.esc->high[index];
+			} else {
 				opcode = opcode.u.esc->op[(ctxt->modrm >> 3) & 7];
+			}
 			break;
 		case InstrDual:
 			if ((ctxt->modrm >> 6) == 3)
diff --git a/arch/x86/kvm/hyperv.c b/arch/x86/kvm/hyperv.c
index 5842c5f..3fd6c4b 100644
--- a/arch/x86/kvm/hyperv.c
+++ b/arch/x86/kvm/hyperv.c
@@ -792,11 +792,12 @@
 				     u32 index, u64 *pdata)
 {
 	struct kvm_hv *hv = &vcpu->kvm->arch.hyperv;
+	size_t size = ARRAY_SIZE(hv->hv_crash_param);
 
-	if (WARN_ON_ONCE(index >= ARRAY_SIZE(hv->hv_crash_param)))
+	if (WARN_ON_ONCE(index >= size))
 		return -EINVAL;
 
-	*pdata = hv->hv_crash_param[index];
+	*pdata = hv->hv_crash_param[array_index_nospec(index, size)];
 	return 0;
 }
 
@@ -835,11 +836,12 @@
 				     u32 index, u64 data)
 {
 	struct kvm_hv *hv = &vcpu->kvm->arch.hyperv;
+	size_t size = ARRAY_SIZE(hv->hv_crash_param);
 
-	if (WARN_ON_ONCE(index >= ARRAY_SIZE(hv->hv_crash_param)))
+	if (WARN_ON_ONCE(index >= size))
 		return -EINVAL;
 
-	hv->hv_crash_param[index] = data;
+	hv->hv_crash_param[array_index_nospec(index, size)] = data;
 	return 0;
 }
 
diff --git a/arch/x86/kvm/i8259.c b/arch/x86/kvm/i8259.c
index bdcd413..38a36a1 100644
--- a/arch/x86/kvm/i8259.c
+++ b/arch/x86/kvm/i8259.c
@@ -460,10 +460,14 @@
 	switch (addr) {
 	case 0x20:
 	case 0x21:
+		pic_lock(s);
+		pic_ioport_write(&s->pics[0], addr, data);
+		pic_unlock(s);
+		break;
 	case 0xa0:
 	case 0xa1:
 		pic_lock(s);
-		pic_ioport_write(&s->pics[addr >> 7], addr, data);
+		pic_ioport_write(&s->pics[1], addr, data);
 		pic_unlock(s);
 		break;
 	case 0x4d0:
diff --git a/arch/x86/kvm/ioapic.c b/arch/x86/kvm/ioapic.c
index 4e822ad..bac2ec9 100644
--- a/arch/x86/kvm/ioapic.c
+++ b/arch/x86/kvm/ioapic.c
@@ -36,6 +36,7 @@
 #include <linux/io.h>
 #include <linux/slab.h>
 #include <linux/export.h>
+#include <linux/nospec.h>
 #include <asm/processor.h>
 #include <asm/page.h>
 #include <asm/current.h>
@@ -73,13 +74,14 @@
 	default:
 		{
 			u32 redir_index = (ioapic->ioregsel - 0x10) >> 1;
-			u64 redir_content;
+			u64 redir_content = ~0ULL;
 
-			if (redir_index < IOAPIC_NUM_PINS)
-				redir_content =
-					ioapic->redirtbl[redir_index].bits;
-			else
-				redir_content = ~0ULL;
+			if (redir_index < IOAPIC_NUM_PINS) {
+				u32 index = array_index_nospec(
+					redir_index, IOAPIC_NUM_PINS);
+
+				redir_content = ioapic->redirtbl[index].bits;
+			}
 
 			result = (ioapic->ioregsel & 0x1) ?
 			    (redir_content >> 32) & 0xffffffff :
@@ -297,6 +299,7 @@
 		ioapic_debug("change redir index %x val %x\n", index, val);
 		if (index >= IOAPIC_NUM_PINS)
 			return;
+		index = array_index_nospec(index, IOAPIC_NUM_PINS);
 		e = &ioapic->redirtbl[index];
 		mask_before = e->fields.mask;
 		/* Preserve read-only fields */
diff --git a/arch/x86/kvm/irq_comm.c b/arch/x86/kvm/irq_comm.c
index 3cc3b2d..4d000aea 100644
--- a/arch/x86/kvm/irq_comm.c
+++ b/arch/x86/kvm/irq_comm.c
@@ -427,7 +427,7 @@
 
 			kvm_set_msi_irq(vcpu->kvm, entry, &irq);
 
-			if (irq.level && kvm_apic_match_dest(vcpu, NULL, 0,
+			if (irq.trig_mode && kvm_apic_match_dest(vcpu, NULL, 0,
 						irq.dest_id, irq.dest_mode))
 				__set_bit(irq.vector, ioapic_handled_vectors);
 		}
diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c
index 262e493..8c63925 100644
--- a/arch/x86/kvm/lapic.c
+++ b/arch/x86/kvm/lapic.c
@@ -633,9 +633,11 @@
 static bool pv_eoi_get_pending(struct kvm_vcpu *vcpu)
 {
 	u8 val;
-	if (pv_eoi_get_user(vcpu, &val) < 0)
+	if (pv_eoi_get_user(vcpu, &val) < 0) {
 		apic_debug("Can't read EOI MSR value: 0x%llx\n",
 			   (unsigned long long)vcpu->arch.pv_eoi.msr_val);
+		return false;
+	}
 	return val & 0x1;
 }
 
@@ -1060,11 +1062,8 @@
 				apic_clear_vector(vector, apic->regs + APIC_TMR);
 		}
 
-		if (vcpu->arch.apicv_active)
-			kvm_x86_ops->deliver_posted_interrupt(vcpu, vector);
-		else {
+		if (kvm_x86_ops->deliver_posted_interrupt(vcpu, vector)) {
 			kvm_lapic_set_irr(vector, apic);
-
 			kvm_make_request(KVM_REQ_EVENT, vcpu);
 			kvm_vcpu_kick(vcpu);
 		}
@@ -1862,15 +1861,20 @@
 	case APIC_LVTTHMR:
 	case APIC_LVTPC:
 	case APIC_LVT1:
-	case APIC_LVTERR:
+	case APIC_LVTERR: {
 		/* TODO: Check vector */
+		size_t size;
+		u32 index;
+
 		if (!kvm_apic_sw_enabled(apic))
 			val |= APIC_LVT_MASKED;
-
-		val &= apic_lvt_mask[(reg - APIC_LVTT) >> 4];
+		size = ARRAY_SIZE(apic_lvt_mask);
+		index = array_index_nospec(
+				(reg - APIC_LVTT) >> 4, size);
+		val &= apic_lvt_mask[index];
 		kvm_lapic_set_reg(apic, reg, val);
-
 		break;
+	}
 
 	case APIC_LVTT:
 		if (!kvm_apic_sw_enabled(apic))
diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c
index eddf91a..62f1e46 100644
--- a/arch/x86/kvm/mmu.c
+++ b/arch/x86/kvm/mmu.c
@@ -1184,12 +1184,12 @@
 	return __mmu_gfn_lpage_is_disallowed(gfn, level, slot);
 }
 
-static int host_mapping_level(struct kvm *kvm, gfn_t gfn)
+static int host_mapping_level(struct kvm_vcpu *vcpu, gfn_t gfn)
 {
 	unsigned long page_size;
 	int i, ret = 0;
 
-	page_size = kvm_host_page_size(kvm, gfn);
+	page_size = kvm_host_page_size(vcpu, gfn);
 
 	for (i = PT_PAGE_TABLE_LEVEL; i <= PT_MAX_HUGEPAGE_LEVEL; ++i) {
 		if (page_size >= KVM_HPAGE_SIZE(i))
@@ -1239,7 +1239,7 @@
 	if (unlikely(*force_pt_level))
 		return PT_PAGE_TABLE_LEVEL;
 
-	host_level = host_mapping_level(vcpu->kvm, large_gfn);
+	host_level = host_mapping_level(vcpu, large_gfn);
 
 	if (host_level == PT_PAGE_TABLE_LEVEL)
 		return host_level;
@@ -3390,7 +3390,7 @@
  * - true: let the vcpu to access on the same address again.
  * - false: let the real page fault path to fix it.
  */
-static bool fast_page_fault(struct kvm_vcpu *vcpu, gva_t gva, int level,
+static bool fast_page_fault(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa, int level,
 			    u32 error_code)
 {
 	struct kvm_shadow_walk_iterator iterator;
@@ -3410,7 +3410,7 @@
 	do {
 		u64 new_spte;
 
-		for_each_shadow_entry_lockless(vcpu, gva, iterator, spte)
+		for_each_shadow_entry_lockless(vcpu, cr2_or_gpa, iterator, spte)
 			if (!is_shadow_present_pte(spte) ||
 			    iterator.level < level)
 				break;
@@ -3488,7 +3488,7 @@
 
 	} while (true);
 
-	trace_fast_page_fault(vcpu, gva, error_code, iterator.sptep,
+	trace_fast_page_fault(vcpu, cr2_or_gpa, error_code, iterator.sptep,
 			      spte, fault_handled);
 	walk_shadow_page_lockless_end(vcpu);
 
@@ -3496,10 +3496,11 @@
 }
 
 static bool try_async_pf(struct kvm_vcpu *vcpu, bool prefault, gfn_t gfn,
-			 gva_t gva, kvm_pfn_t *pfn, bool write, bool *writable);
+			 gpa_t cr2_or_gpa, kvm_pfn_t *pfn, bool write,
+			 bool *writable);
 static int make_mmu_pages_available(struct kvm_vcpu *vcpu);
 
-static int nonpaging_map(struct kvm_vcpu *vcpu, gva_t v, u32 error_code,
+static int nonpaging_map(struct kvm_vcpu *vcpu, gpa_t gpa, u32 error_code,
 			 gfn_t gfn, bool prefault)
 {
 	int r;
@@ -3525,16 +3526,16 @@
 		gfn &= ~(KVM_PAGES_PER_HPAGE(level) - 1);
 	}
 
-	if (fast_page_fault(vcpu, v, level, error_code))
+	if (fast_page_fault(vcpu, gpa, level, error_code))
 		return RET_PF_RETRY;
 
 	mmu_seq = vcpu->kvm->mmu_notifier_seq;
 	smp_rmb();
 
-	if (try_async_pf(vcpu, prefault, gfn, v, &pfn, write, &map_writable))
+	if (try_async_pf(vcpu, prefault, gfn, gpa, &pfn, write, &map_writable))
 		return RET_PF_RETRY;
 
-	if (handle_abnormal_pfn(vcpu, v, gfn, pfn, ACC_ALL, &r))
+	if (handle_abnormal_pfn(vcpu, gpa, gfn, pfn, ACC_ALL, &r))
 		return r;
 
 	r = RET_PF_RETRY;
@@ -3545,7 +3546,7 @@
 		goto out_unlock;
 	if (likely(!force_pt_level))
 		transparent_hugepage_adjust(vcpu, gfn, &pfn, &level);
-	r = __direct_map(vcpu, v, write, map_writable, level, pfn,
+	r = __direct_map(vcpu, gpa, write, map_writable, level, pfn,
 			 prefault, false);
 out_unlock:
 	spin_unlock(&vcpu->kvm->mmu_lock);
@@ -3838,7 +3839,7 @@
 }
 EXPORT_SYMBOL_GPL(kvm_mmu_sync_roots);
 
-static gpa_t nonpaging_gva_to_gpa(struct kvm_vcpu *vcpu, gva_t vaddr,
+static gpa_t nonpaging_gva_to_gpa(struct kvm_vcpu *vcpu, gpa_t vaddr,
 				  u32 access, struct x86_exception *exception)
 {
 	if (exception)
@@ -3846,7 +3847,7 @@
 	return vaddr;
 }
 
-static gpa_t nonpaging_gva_to_gpa_nested(struct kvm_vcpu *vcpu, gva_t vaddr,
+static gpa_t nonpaging_gva_to_gpa_nested(struct kvm_vcpu *vcpu, gpa_t vaddr,
 					 u32 access,
 					 struct x86_exception *exception)
 {
@@ -4006,13 +4007,14 @@
 	walk_shadow_page_lockless_end(vcpu);
 }
 
-static int nonpaging_page_fault(struct kvm_vcpu *vcpu, gva_t gva,
+static int nonpaging_page_fault(struct kvm_vcpu *vcpu, gpa_t gpa,
 				u32 error_code, bool prefault)
 {
-	gfn_t gfn = gva >> PAGE_SHIFT;
+	gfn_t gfn = gpa >> PAGE_SHIFT;
 	int r;
 
-	pgprintk("%s: gva %lx error %x\n", __func__, gva, error_code);
+	/* Note, paging is disabled, ergo gva == gpa. */
+	pgprintk("%s: gva %lx error %x\n", __func__, gpa, error_code);
 
 	if (page_fault_handle_page_track(vcpu, error_code, gfn))
 		return RET_PF_EMULATE;
@@ -4024,11 +4026,12 @@
 	MMU_WARN_ON(!VALID_PAGE(vcpu->arch.mmu.root_hpa));
 
 
-	return nonpaging_map(vcpu, gva & PAGE_MASK,
+	return nonpaging_map(vcpu, gpa & PAGE_MASK,
 			     error_code, gfn, prefault);
 }
 
-static int kvm_arch_setup_async_pf(struct kvm_vcpu *vcpu, gva_t gva, gfn_t gfn)
+static int kvm_arch_setup_async_pf(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa,
+				   gfn_t gfn)
 {
 	struct kvm_arch_async_pf arch;
 
@@ -4037,7 +4040,8 @@
 	arch.direct_map = vcpu->arch.mmu.direct_map;
 	arch.cr3 = vcpu->arch.mmu.get_cr3(vcpu);
 
-	return kvm_setup_async_pf(vcpu, gva, kvm_vcpu_gfn_to_hva(vcpu, gfn), &arch);
+	return kvm_setup_async_pf(vcpu, cr2_or_gpa,
+				  kvm_vcpu_gfn_to_hva(vcpu, gfn), &arch);
 }
 
 bool kvm_can_do_async_pf(struct kvm_vcpu *vcpu)
@@ -4054,7 +4058,8 @@
 }
 
 static bool try_async_pf(struct kvm_vcpu *vcpu, bool prefault, gfn_t gfn,
-			 gva_t gva, kvm_pfn_t *pfn, bool write, bool *writable)
+			 gpa_t cr2_or_gpa, kvm_pfn_t *pfn, bool write,
+			 bool *writable)
 {
 	struct kvm_memory_slot *slot;
 	bool async;
@@ -4074,12 +4079,12 @@
 		return false; /* *pfn has correct page already */
 
 	if (!prefault && kvm_can_do_async_pf(vcpu)) {
-		trace_kvm_try_async_get_page(gva, gfn);
+		trace_kvm_try_async_get_page(cr2_or_gpa, gfn);
 		if (kvm_find_async_pf_gfn(vcpu, gfn)) {
-			trace_kvm_async_pf_doublefault(gva, gfn);
+			trace_kvm_async_pf_doublefault(cr2_or_gpa, gfn);
 			kvm_make_request(KVM_REQ_APF_HALT, vcpu);
 			return true;
-		} else if (kvm_arch_setup_async_pf(vcpu, gva, gfn))
+		} else if (kvm_arch_setup_async_pf(vcpu, cr2_or_gpa, gfn))
 			return true;
 	}
 
@@ -4092,6 +4097,12 @@
 {
 	int r = 1;
 
+#ifndef CONFIG_X86_64
+	/* A 64-bit CR2 should be impossible on 32-bit KVM. */
+	if (WARN_ON_ONCE(fault_address >> 32))
+		return -EFAULT;
+#endif
+
 	vcpu->arch.l1tf_flush_l1d = true;
 	switch (vcpu->arch.apf.host_apf_reason) {
 	default:
@@ -4129,7 +4140,7 @@
 	return kvm_mtrr_check_gfn_range_consistency(vcpu, gfn, page_num);
 }
 
-static int tdp_page_fault(struct kvm_vcpu *vcpu, gva_t gpa, u32 error_code,
+static int tdp_page_fault(struct kvm_vcpu *vcpu, gpa_t gpa, u32 error_code,
 			  bool prefault)
 {
 	kvm_pfn_t pfn;
@@ -5307,7 +5318,7 @@
 	return 0;
 }
 
-int kvm_mmu_page_fault(struct kvm_vcpu *vcpu, gva_t cr2, u64 error_code,
+int kvm_mmu_page_fault(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa, u64 error_code,
 		       void *insn, int insn_len)
 {
 	int r, emulation_type = 0;
@@ -5317,19 +5328,20 @@
 	/* With shadow page tables, fault_address contains a GVA or nGPA.  */
 	if (vcpu->arch.mmu.direct_map) {
 		vcpu->arch.gpa_available = true;
-		vcpu->arch.gpa_val = cr2;
+		vcpu->arch.gpa_val = cr2_or_gpa;
 	}
 
 	r = RET_PF_INVALID;
 	if (unlikely(error_code & PFERR_RSVD_MASK)) {
-		r = handle_mmio_page_fault(vcpu, cr2, direct);
+		r = handle_mmio_page_fault(vcpu, cr2_or_gpa, direct);
 		if (r == RET_PF_EMULATE)
 			goto emulate;
 	}
 
 	if (r == RET_PF_INVALID) {
-		r = vcpu->arch.mmu.page_fault(vcpu, cr2, lower_32_bits(error_code),
-					      false);
+		r = vcpu->arch.mmu.page_fault(vcpu, cr2_or_gpa,
+					       lower_32_bits(error_code),
+					       false);
 		WARN_ON(r == RET_PF_INVALID);
 	}
 
@@ -5347,7 +5359,7 @@
 	 */
 	if (vcpu->arch.mmu.direct_map &&
 	    (error_code & PFERR_NESTED_GUEST_PAGE) == PFERR_NESTED_GUEST_PAGE) {
-		kvm_mmu_unprotect_page(vcpu->kvm, gpa_to_gfn(cr2));
+		kvm_mmu_unprotect_page(vcpu->kvm, gpa_to_gfn(cr2_or_gpa));
 		return 1;
 	}
 
@@ -5362,7 +5374,7 @@
 	 * explicitly shadowing L1's page tables, i.e. unprotecting something
 	 * for L1 isn't going to magically fix whatever issue cause L2 to fail.
 	 */
-	if (!mmio_info_in_cache(vcpu, cr2, direct) && !is_guest_mode(vcpu))
+	if (!mmio_info_in_cache(vcpu, cr2_or_gpa, direct) && !is_guest_mode(vcpu))
 		emulation_type = EMULTYPE_ALLOW_RETRY;
 emulate:
 	/*
@@ -5375,7 +5387,7 @@
 	if (unlikely(insn && !insn_len))
 		return 1;
 
-	er = x86_emulate_instruction(vcpu, cr2, emulation_type, insn, insn_len);
+	er = x86_emulate_instruction(vcpu, cr2_or_gpa, emulation_type, insn, insn_len);
 
 	switch (er) {
 	case EMULATE_DONE:
diff --git a/arch/x86/kvm/mmutrace.h b/arch/x86/kvm/mmutrace.h
index 918b0d5..cb41b03 100644
--- a/arch/x86/kvm/mmutrace.h
+++ b/arch/x86/kvm/mmutrace.h
@@ -249,13 +249,13 @@
 
 TRACE_EVENT(
 	fast_page_fault,
-	TP_PROTO(struct kvm_vcpu *vcpu, gva_t gva, u32 error_code,
+	TP_PROTO(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa, u32 error_code,
 		 u64 *sptep, u64 old_spte, bool retry),
-	TP_ARGS(vcpu, gva, error_code, sptep, old_spte, retry),
+	TP_ARGS(vcpu, cr2_or_gpa, error_code, sptep, old_spte, retry),
 
 	TP_STRUCT__entry(
 		__field(int, vcpu_id)
-		__field(gva_t, gva)
+		__field(gpa_t, cr2_or_gpa)
 		__field(u32, error_code)
 		__field(u64 *, sptep)
 		__field(u64, old_spte)
@@ -265,7 +265,7 @@
 
 	TP_fast_assign(
 		__entry->vcpu_id = vcpu->vcpu_id;
-		__entry->gva = gva;
+		__entry->cr2_or_gpa = cr2_or_gpa;
 		__entry->error_code = error_code;
 		__entry->sptep = sptep;
 		__entry->old_spte = old_spte;
@@ -273,9 +273,9 @@
 		__entry->retry = retry;
 	),
 
-	TP_printk("vcpu %d gva %lx error_code %s sptep %p old %#llx"
+	TP_printk("vcpu %d gva %llx error_code %s sptep %p old %#llx"
 		  " new %llx spurious %d fixed %d", __entry->vcpu_id,
-		  __entry->gva, __print_flags(__entry->error_code, "|",
+		  __entry->cr2_or_gpa, __print_flags(__entry->error_code, "|",
 		  kvm_mmu_trace_pferr_flags), __entry->sptep,
 		  __entry->old_spte, __entry->new_spte,
 		  __spte_satisfied(old_spte), __spte_satisfied(new_spte)
diff --git a/arch/x86/kvm/mtrr.c b/arch/x86/kvm/mtrr.c
index 9f72cc4..fabce87 100644
--- a/arch/x86/kvm/mtrr.c
+++ b/arch/x86/kvm/mtrr.c
@@ -194,11 +194,15 @@
 		break;
 	case MSR_MTRRfix16K_80000 ... MSR_MTRRfix16K_A0000:
 		*seg = 1;
-		*unit = msr - MSR_MTRRfix16K_80000;
+		*unit = array_index_nospec(
+			msr - MSR_MTRRfix16K_80000,
+			MSR_MTRRfix16K_A0000 - MSR_MTRRfix16K_80000 + 1);
 		break;
 	case MSR_MTRRfix4K_C0000 ... MSR_MTRRfix4K_F8000:
 		*seg = 2;
-		*unit = msr - MSR_MTRRfix4K_C0000;
+		*unit = array_index_nospec(
+			msr - MSR_MTRRfix4K_C0000,
+			MSR_MTRRfix4K_F8000 - MSR_MTRRfix4K_C0000 + 1);
 		break;
 	default:
 		return false;
diff --git a/arch/x86/kvm/paging_tmpl.h b/arch/x86/kvm/paging_tmpl.h
index adf42dc..61f10a4 100644
--- a/arch/x86/kvm/paging_tmpl.h
+++ b/arch/x86/kvm/paging_tmpl.h
@@ -36,7 +36,7 @@
 	#define PT_GUEST_ACCESSED_SHIFT PT_ACCESSED_SHIFT
 	#define PT_HAVE_ACCESSED_DIRTY(mmu) true
 	#ifdef CONFIG_X86_64
-	#define PT_MAX_FULL_LEVELS 4
+	#define PT_MAX_FULL_LEVELS PT64_ROOT_MAX_LEVEL
 	#define CMPXCHG cmpxchg
 	#else
 	#define CMPXCHG cmpxchg64
@@ -273,11 +273,11 @@
 }
 
 /*
- * Fetch a guest pte for a guest virtual address
+ * Fetch a guest pte for a guest virtual address, or for an L2's GPA.
  */
 static int FNAME(walk_addr_generic)(struct guest_walker *walker,
 				    struct kvm_vcpu *vcpu, struct kvm_mmu *mmu,
-				    gva_t addr, u32 access)
+				    gpa_t addr, u32 access)
 {
 	int ret;
 	pt_element_t pte;
@@ -478,7 +478,7 @@
 }
 
 static int FNAME(walk_addr)(struct guest_walker *walker,
-			    struct kvm_vcpu *vcpu, gva_t addr, u32 access)
+			    struct kvm_vcpu *vcpu, gpa_t addr, u32 access)
 {
 	return FNAME(walk_addr_generic)(walker, vcpu, &vcpu->arch.mmu, addr,
 					access);
@@ -593,7 +593,7 @@
  * If the guest tries to write a write-protected page, we need to
  * emulate this operation, return 1 to indicate this case.
  */
-static int FNAME(fetch)(struct kvm_vcpu *vcpu, gva_t addr,
+static int FNAME(fetch)(struct kvm_vcpu *vcpu, gpa_t addr,
 			 struct guest_walker *gw,
 			 int write_fault, int hlevel,
 			 kvm_pfn_t pfn, bool map_writable, bool prefault,
@@ -747,7 +747,7 @@
  *  Returns: 1 if we need to emulate the instruction, 0 otherwise, or
  *           a negative value on error.
  */
-static int FNAME(page_fault)(struct kvm_vcpu *vcpu, gva_t addr, u32 error_code,
+static int FNAME(page_fault)(struct kvm_vcpu *vcpu, gpa_t addr, u32 error_code,
 			     bool prefault)
 {
 	int write_fault = error_code & PFERR_WRITE_MASK;
@@ -926,18 +926,19 @@
 	spin_unlock(&vcpu->kvm->mmu_lock);
 }
 
-static gpa_t FNAME(gva_to_gpa)(struct kvm_vcpu *vcpu, gva_t vaddr, u32 access,
+/* Note, @addr is a GPA when gva_to_gpa() translates an L2 GPA to an L1 GPA. */
+static gpa_t FNAME(gva_to_gpa)(struct kvm_vcpu *vcpu, gpa_t addr, u32 access,
 			       struct x86_exception *exception)
 {
 	struct guest_walker walker;
 	gpa_t gpa = UNMAPPED_GVA;
 	int r;
 
-	r = FNAME(walk_addr)(&walker, vcpu, vaddr, access);
+	r = FNAME(walk_addr)(&walker, vcpu, addr, access);
 
 	if (r) {
 		gpa = gfn_to_gpa(walker.gfn);
-		gpa |= vaddr & ~PAGE_MASK;
+		gpa |= addr & ~PAGE_MASK;
 	} else if (exception)
 		*exception = walker.fault;
 
@@ -945,7 +946,8 @@
 }
 
 #if PTTYPE != PTTYPE_EPT
-static gpa_t FNAME(gva_to_gpa_nested)(struct kvm_vcpu *vcpu, gva_t vaddr,
+/* Note, gva_to_gpa_nested() is only used to translate L2 GVAs. */
+static gpa_t FNAME(gva_to_gpa_nested)(struct kvm_vcpu *vcpu, gpa_t vaddr,
 				      u32 access,
 				      struct x86_exception *exception)
 {
@@ -953,6 +955,11 @@
 	gpa_t gpa = UNMAPPED_GVA;
 	int r;
 
+#ifndef CONFIG_X86_64
+	/* A 64-bit GVA should be impossible on 32-bit KVM. */
+	WARN_ON_ONCE(vaddr >> 32);
+#endif
+
 	r = FNAME(walk_addr_nested)(&walker, vcpu, vaddr, access);
 
 	if (r) {
diff --git a/arch/x86/kvm/pmu.h b/arch/x86/kvm/pmu.h
index 22dff66..7b4828e 100644
--- a/arch/x86/kvm/pmu.h
+++ b/arch/x86/kvm/pmu.h
@@ -2,6 +2,8 @@
 #ifndef __KVM_X86_PMU_H
 #define __KVM_X86_PMU_H
 
+#include <linux/nospec.h>
+
 #define vcpu_to_pmu(vcpu) (&(vcpu)->arch.pmu)
 #define pmu_to_vcpu(pmu)  (container_of((pmu), struct kvm_vcpu, arch.pmu))
 #define pmc_to_pmu(pmc)   (&(pmc)->vcpu->arch.pmu)
@@ -86,8 +88,12 @@
 static inline struct kvm_pmc *get_gp_pmc(struct kvm_pmu *pmu, u32 msr,
 					 u32 base)
 {
-	if (msr >= base && msr < base + pmu->nr_arch_gp_counters)
-		return &pmu->gp_counters[msr - base];
+	if (msr >= base && msr < base + pmu->nr_arch_gp_counters) {
+		u32 index = array_index_nospec(msr - base,
+					       pmu->nr_arch_gp_counters);
+
+		return &pmu->gp_counters[index];
+	}
 
 	return NULL;
 }
@@ -97,8 +103,12 @@
 {
 	int base = MSR_CORE_PERF_FIXED_CTR0;
 
-	if (msr >= base && msr < base + pmu->nr_arch_fixed_counters)
-		return &pmu->fixed_counters[msr - base];
+	if (msr >= base && msr < base + pmu->nr_arch_fixed_counters) {
+		u32 index = array_index_nospec(msr - base,
+					       pmu->nr_arch_fixed_counters);
+
+		return &pmu->fixed_counters[index];
+	}
 
 	return NULL;
 }
diff --git a/arch/x86/kvm/pmu_intel.c b/arch/x86/kvm/pmu_intel.c
index c3f103e..2ab8c20 100644
--- a/arch/x86/kvm/pmu_intel.c
+++ b/arch/x86/kvm/pmu_intel.c
@@ -87,10 +87,14 @@
 
 static unsigned intel_find_fixed_event(int idx)
 {
-	if (idx >= ARRAY_SIZE(fixed_pmc_events))
+	u32 event;
+	size_t size = ARRAY_SIZE(fixed_pmc_events);
+
+	if (idx >= size)
 		return PERF_COUNT_HW_MAX;
 
-	return intel_arch_events[fixed_pmc_events[idx]].event_type;
+	event = fixed_pmc_events[array_index_nospec(idx, size)];
+	return intel_arch_events[event].event_type;
 }
 
 /* check if a PMC is enabled by comparing it with globl_ctrl bits. */
@@ -131,16 +135,20 @@
 	struct kvm_pmu *pmu = vcpu_to_pmu(vcpu);
 	bool fixed = idx & (1u << 30);
 	struct kvm_pmc *counters;
+	unsigned int num_counters;
 
 	idx &= ~(3u << 30);
-	if (!fixed && idx >= pmu->nr_arch_gp_counters)
+	if (fixed) {
+		counters = pmu->fixed_counters;
+		num_counters = pmu->nr_arch_fixed_counters;
+	} else {
+		counters = pmu->gp_counters;
+		num_counters = pmu->nr_arch_gp_counters;
+	}
+	if (idx >= num_counters)
 		return NULL;
-	if (fixed && idx >= pmu->nr_arch_fixed_counters)
-		return NULL;
-	counters = fixed ? pmu->fixed_counters : pmu->gp_counters;
 	*mask &= pmu->counter_bitmask[fixed ? KVM_PMC_FIXED : KVM_PMC_GP];
-
-	return &counters[idx];
+	return &counters[array_index_nospec(idx, num_counters)];
 }
 
 static bool intel_is_valid_msr(struct kvm_vcpu *vcpu, u32 msr)
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
index 7657dcd..cc8f3b4 100644
--- a/arch/x86/kvm/svm.c
+++ b/arch/x86/kvm/svm.c
@@ -1298,6 +1298,47 @@
 				    control->pause_filter_count, old);
 }
 
+/*
+ * The default MMIO mask is a single bit (excluding the present bit),
+ * which could conflict with the memory encryption bit. Check for
+ * memory encryption support and override the default MMIO mask if
+ * memory encryption is enabled.
+ */
+static __init void svm_adjust_mmio_mask(void)
+{
+	unsigned int enc_bit, mask_bit;
+	u64 msr, mask;
+
+	/* If there is no memory encryption support, use existing mask */
+	if (cpuid_eax(0x80000000) < 0x8000001f)
+		return;
+
+	/* If memory encryption is not enabled, use existing mask */
+	rdmsrl(MSR_K8_SYSCFG, msr);
+	if (!(msr & MSR_K8_SYSCFG_MEM_ENCRYPT))
+		return;
+
+	enc_bit = cpuid_ebx(0x8000001f) & 0x3f;
+	mask_bit = boot_cpu_data.x86_phys_bits;
+
+	/* Increment the mask bit if it is the same as the encryption bit */
+	if (enc_bit == mask_bit)
+		mask_bit++;
+
+	/*
+	 * If the mask bit location is below 52, then some bits above the
+	 * physical addressing limit will always be reserved, so use the
+	 * rsvd_bits() function to generate the mask. This mask, along with
+	 * the present bit, will be used to generate a page fault with
+	 * PFER.RSV = 1.
+	 *
+	 * If the mask bit location is 52 (or above), then clear the mask.
+	 */
+	mask = (mask_bit < 52) ? rsvd_bits(mask_bit, 51) | PT_PRESENT_MASK : 0;
+
+	kvm_mmu_set_mmio_spte_mask(mask, mask);
+}
+
 static __init int svm_hardware_setup(void)
 {
 	int cpu;
@@ -1352,6 +1393,8 @@
 		}
 	}
 
+	svm_adjust_mmio_mask();
+
 	for_each_possible_cpu(cpu) {
 		r = svm_cpu_init(cpu);
 		if (r)
@@ -5140,8 +5183,11 @@
 	return;
 }
 
-static void svm_deliver_avic_intr(struct kvm_vcpu *vcpu, int vec)
+static int svm_deliver_avic_intr(struct kvm_vcpu *vcpu, int vec)
 {
+	if (!vcpu->arch.apicv_active)
+		return -1;
+
 	kvm_lapic_set_irr(vec, vcpu->arch.apic);
 	smp_mb__after_atomic();
 
@@ -5150,6 +5196,8 @@
 		       kvm_cpu_get_apicid(vcpu->cpu));
 	else
 		kvm_vcpu_wake_up(vcpu);
+
+	return 0;
 }
 
 static bool svm_dy_apicv_has_pending_interrupt(struct kvm_vcpu *vcpu)
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index fa2abed..a81d7d9 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -5302,6 +5302,9 @@
 
 static int get_ept_level(struct kvm_vcpu *vcpu)
 {
+	/* Nested EPT currently only supports 4-level walks. */
+	if (is_guest_mode(vcpu) && nested_cpu_has_ept(get_vmcs12(vcpu)))
+		return 4;
 	if (cpu_has_vmx_ept_5levels() && (cpuid_maxphyaddr(vcpu) > 48))
 		return 5;
 	return 4;
@@ -5722,6 +5725,26 @@
 		 (ss.selector & SEGMENT_RPL_MASK));
 }
 
+static bool nested_vmx_check_io_bitmaps(struct kvm_vcpu *vcpu,
+					unsigned int port, int size);
+static bool nested_vmx_exit_handled_io(struct kvm_vcpu *vcpu,
+				       struct vmcs12 *vmcs12)
+{
+	unsigned long exit_qualification;
+	unsigned short port;
+	int size;
+
+	if (!nested_cpu_has(vmcs12, CPU_BASED_USE_IO_BITMAPS))
+		return nested_cpu_has(vmcs12, CPU_BASED_UNCOND_IO_EXITING);
+
+	exit_qualification = vmcs_readl(EXIT_QUALIFICATION);
+
+	port = exit_qualification >> 16;
+	size = (exit_qualification & 7) + 1;
+
+	return nested_vmx_check_io_bitmaps(vcpu, port, size);
+}
+
 /*
  * Check if guest state is valid. Returns true if valid, false if
  * not.
@@ -6261,24 +6284,29 @@
  * 2. If target vcpu isn't running(root mode), kick it to pick up the
  * interrupt from PIR in next vmentry.
  */
-static void vmx_deliver_posted_interrupt(struct kvm_vcpu *vcpu, int vector)
+static int vmx_deliver_posted_interrupt(struct kvm_vcpu *vcpu, int vector)
 {
 	struct vcpu_vmx *vmx = to_vmx(vcpu);
 	int r;
 
 	r = vmx_deliver_nested_posted_interrupt(vcpu, vector);
 	if (!r)
-		return;
+		return 0;
+
+	if (!vcpu->arch.apicv_active)
+		return -1;
 
 	if (pi_test_and_set_pir(vector, &vmx->pi_desc))
-		return;
+		return 0;
 
 	/* If a previous notification has sent the IPI, nothing to do.  */
 	if (pi_test_and_set_on(&vmx->pi_desc))
-		return;
+		return 0;
 
 	if (!kvm_vcpu_trigger_posted_interrupt(vcpu, false))
 		kvm_vcpu_kick(vcpu);
+
+	return 0;
 }
 
 /*
@@ -8793,8 +8821,10 @@
 		/* _system ok, nested_vmx_check_permission has verified cpl=0 */
 		if (kvm_write_guest_virt_system(vcpu, gva, &field_value,
 						(is_long_mode(vcpu) ? 8 : 4),
-						&e))
+						&e)) {
 			kvm_inject_page_fault(vcpu, &e);
+			return 1;
+		}
 	}
 
 	nested_vmx_succeed(vcpu);
@@ -9464,23 +9494,17 @@
 static const int kvm_vmx_max_exit_handlers =
 	ARRAY_SIZE(kvm_vmx_exit_handlers);
 
-static bool nested_vmx_exit_handled_io(struct kvm_vcpu *vcpu,
-				       struct vmcs12 *vmcs12)
+/*
+ * Return true if an IO instruction with the specified port and size should cause
+ * a VM-exit into L1.
+ */
+bool nested_vmx_check_io_bitmaps(struct kvm_vcpu *vcpu, unsigned int port,
+				 int size)
 {
-	unsigned long exit_qualification;
+	struct vmcs12 *vmcs12 = get_vmcs12(vcpu);
 	gpa_t bitmap, last_bitmap;
-	unsigned int port;
-	int size;
 	u8 b;
 
-	if (!nested_cpu_has(vmcs12, CPU_BASED_USE_IO_BITMAPS))
-		return nested_cpu_has(vmcs12, CPU_BASED_UNCOND_IO_EXITING);
-
-	exit_qualification = vmcs_readl(EXIT_QUALIFICATION);
-
-	port = exit_qualification >> 16;
-	size = (exit_qualification & 7) + 1;
-
 	last_bitmap = (gpa_t)-1;
 	b = -1;
 
@@ -13670,6 +13694,40 @@
 		to_vmx(vcpu)->nested.sync_shadow_vmcs = true;
 }
 
+static int vmx_check_intercept_io(struct kvm_vcpu *vcpu,
+				  struct x86_instruction_info *info)
+{
+	struct vmcs12 *vmcs12 = get_vmcs12(vcpu);
+	unsigned short port;
+	bool intercept;
+	int size;
+
+	if (info->intercept == x86_intercept_in ||
+	    info->intercept == x86_intercept_ins) {
+		port = info->src_val;
+		size = info->dst_bytes;
+	} else {
+		port = info->dst_val;
+		size = info->src_bytes;
+	}
+
+	/*
+	 * If the 'use IO bitmaps' VM-execution control is 0, IO instruction
+	 * VM-exits depend on the 'unconditional IO exiting' VM-execution
+	 * control.
+	 *
+	 * Otherwise, IO instruction VM-exits are controlled by the IO bitmaps.
+	 */
+	if (!nested_cpu_has(vmcs12, CPU_BASED_USE_IO_BITMAPS))
+		intercept = nested_cpu_has(vmcs12,
+					   CPU_BASED_UNCOND_IO_EXITING);
+	else
+		intercept = nested_vmx_check_io_bitmaps(vcpu, port, size);
+
+	/* FIXME: produce nested vmexit and return X86EMUL_INTERCEPTED.  */
+	return intercept ? X86EMUL_UNHANDLEABLE : X86EMUL_CONTINUE;
+}
+
 static int vmx_check_intercept(struct kvm_vcpu *vcpu,
 			       struct x86_instruction_info *info,
 			       enum x86_intercept_stage stage)
@@ -13677,19 +13735,45 @@
 	struct vmcs12 *vmcs12 = get_vmcs12(vcpu);
 	struct x86_emulate_ctxt *ctxt = &vcpu->arch.emulate_ctxt;
 
+	switch (info->intercept) {
 	/*
 	 * RDPID causes #UD if disabled through secondary execution controls.
 	 * Because it is marked as EmulateOnUD, we need to intercept it here.
 	 */
-	if (info->intercept == x86_intercept_rdtscp &&
-	    !nested_cpu_has2(vmcs12, SECONDARY_EXEC_RDTSCP)) {
-		ctxt->exception.vector = UD_VECTOR;
-		ctxt->exception.error_code_valid = false;
-		return X86EMUL_PROPAGATE_FAULT;
-	}
+	case x86_intercept_rdtscp:
+		if (!nested_cpu_has2(vmcs12, SECONDARY_EXEC_RDTSCP)) {
+			ctxt->exception.vector = UD_VECTOR;
+			ctxt->exception.error_code_valid = false;
+			return X86EMUL_PROPAGATE_FAULT;
+		}
+		break;
+
+	case x86_intercept_in:
+	case x86_intercept_ins:
+	case x86_intercept_out:
+	case x86_intercept_outs:
+		return vmx_check_intercept_io(vcpu, info);
+
+	case x86_intercept_lgdt:
+	case x86_intercept_lidt:
+	case x86_intercept_lldt:
+	case x86_intercept_ltr:
+	case x86_intercept_sgdt:
+	case x86_intercept_sidt:
+	case x86_intercept_sldt:
+	case x86_intercept_str:
+		if (!nested_cpu_has2(vmcs12, SECONDARY_EXEC_DESC))
+			return X86EMUL_CONTINUE;
+
+		/* FIXME: produce nested vmexit and return X86EMUL_INTERCEPTED.  */
+		break;
 
 	/* TODO: check more intercepts... */
-	return X86EMUL_CONTINUE;
+	default:
+		break;
+	}
+
+	return X86EMUL_UNHANDLEABLE;
 }
 
 #ifdef CONFIG_X86_64
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 353f63f..2cb379e 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -92,6 +92,8 @@
 static u64 __read_mostly efer_reserved_bits = ~((u64)EFER_SCE);
 #endif
 
+static u64 __read_mostly cr4_reserved_bits = CR4_RESERVED_BITS;
+
 #define VM_STAT(x, ...) offsetof(struct kvm, stat.x), KVM_STAT_VM, ## __VA_ARGS__
 #define VCPU_STAT(x, ...) offsetof(struct kvm_vcpu, stat.x), KVM_STAT_VCPU, ## __VA_ARGS__
 
@@ -793,9 +795,38 @@
 }
 EXPORT_SYMBOL_GPL(kvm_set_xcr);
 
+static u64 kvm_host_cr4_reserved_bits(struct cpuinfo_x86 *c)
+{
+	u64 reserved_bits = CR4_RESERVED_BITS;
+
+	if (!cpu_has(c, X86_FEATURE_XSAVE))
+		reserved_bits |= X86_CR4_OSXSAVE;
+
+	if (!cpu_has(c, X86_FEATURE_SMEP))
+		reserved_bits |= X86_CR4_SMEP;
+
+	if (!cpu_has(c, X86_FEATURE_SMAP))
+		reserved_bits |= X86_CR4_SMAP;
+
+	if (!cpu_has(c, X86_FEATURE_FSGSBASE))
+		reserved_bits |= X86_CR4_FSGSBASE;
+
+	if (!cpu_has(c, X86_FEATURE_PKU))
+		reserved_bits |= X86_CR4_PKE;
+
+	if (!cpu_has(c, X86_FEATURE_LA57) &&
+	    !(cpuid_ecx(0x7) & bit(X86_FEATURE_LA57)))
+		reserved_bits |= X86_CR4_LA57;
+
+	if (!cpu_has(c, X86_FEATURE_UMIP) && !kvm_x86_ops->umip_emulated())
+		reserved_bits |= X86_CR4_UMIP;
+
+	return reserved_bits;
+}
+
 static int kvm_valid_cr4(struct kvm_vcpu *vcpu, unsigned long cr4)
 {
-	if (cr4 & CR4_RESERVED_BITS)
+	if (cr4 & cr4_reserved_bits)
 		return -EINVAL;
 
 	if (!guest_cpuid_has(vcpu, X86_FEATURE_XSAVE) && (cr4 & X86_CR4_OSXSAVE))
@@ -961,9 +992,11 @@
 
 static int __kvm_set_dr(struct kvm_vcpu *vcpu, int dr, unsigned long val)
 {
+	size_t size = ARRAY_SIZE(vcpu->arch.db);
+
 	switch (dr) {
 	case 0 ... 3:
-		vcpu->arch.db[dr] = val;
+		vcpu->arch.db[array_index_nospec(dr, size)] = val;
 		if (!(vcpu->guest_debug & KVM_GUESTDBG_USE_HW_BP))
 			vcpu->arch.eff_db[dr] = val;
 		break;
@@ -1000,9 +1033,11 @@
 
 int kvm_get_dr(struct kvm_vcpu *vcpu, int dr, unsigned long *val)
 {
+	size_t size = ARRAY_SIZE(vcpu->arch.db);
+
 	switch (dr) {
 	case 0 ... 3:
-		*val = vcpu->arch.db[dr];
+		*val = vcpu->arch.db[array_index_nospec(dr, size)];
 		break;
 	case 4:
 		/* fall through */
@@ -2269,7 +2304,10 @@
 	default:
 		if (msr >= MSR_IA32_MC0_CTL &&
 		    msr < MSR_IA32_MCx_CTL(bank_num)) {
-			u32 offset = msr - MSR_IA32_MC0_CTL;
+			u32 offset = array_index_nospec(
+				msr - MSR_IA32_MC0_CTL,
+				MSR_IA32_MCx_CTL(bank_num) - MSR_IA32_MC0_CTL);
+
 			/* only 0 or all 1s can be written to IA32_MCi_CTL
 			 * some Linux kernels though clear bit 10 in bank 4 to
 			 * workaround a BIOS/GART TBL issue on AMD K8s, ignore
@@ -2681,7 +2719,10 @@
 	default:
 		if (msr >= MSR_IA32_MC0_CTL &&
 		    msr < MSR_IA32_MCx_CTL(bank_num)) {
-			u32 offset = msr - MSR_IA32_MC0_CTL;
+			u32 offset = array_index_nospec(
+				msr - MSR_IA32_MC0_CTL,
+				MSR_IA32_MCx_CTL(bank_num) - MSR_IA32_MC0_CTL);
+
 			data = vcpu->arch.mce_banks[offset];
 			break;
 		}
@@ -3234,6 +3275,9 @@
 	if (!(vcpu->arch.st.msr_val & KVM_MSR_ENABLED))
 		return;
 
+	if (vcpu->arch.st.steal.preempted)
+		return;
+
 	vcpu->arch.st.steal.preempted = KVM_VCPU_PREEMPTED;
 
 	kvm_write_guest_offset_cached(vcpu->kvm, &vcpu->arch.st.stime,
@@ -5977,11 +6021,11 @@
 	return r;
 }
 
-static bool reexecute_instruction(struct kvm_vcpu *vcpu, gva_t cr2,
+static bool reexecute_instruction(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa,
 				  bool write_fault_to_shadow_pgtable,
 				  int emulation_type)
 {
-	gpa_t gpa = cr2;
+	gpa_t gpa = cr2_or_gpa;
 	kvm_pfn_t pfn;
 
 	if (!(emulation_type & EMULTYPE_ALLOW_RETRY))
@@ -5995,7 +6039,7 @@
 		 * Write permission should be allowed since only
 		 * write access need to be emulated.
 		 */
-		gpa = kvm_mmu_gva_to_gpa_write(vcpu, cr2, NULL);
+		gpa = kvm_mmu_gva_to_gpa_write(vcpu, cr2_or_gpa, NULL);
 
 		/*
 		 * If the mapping is invalid in guest, let cpu retry
@@ -6052,10 +6096,10 @@
 }
 
 static bool retry_instruction(struct x86_emulate_ctxt *ctxt,
-			      unsigned long cr2,  int emulation_type)
+			      gpa_t cr2_or_gpa,  int emulation_type)
 {
 	struct kvm_vcpu *vcpu = emul_to_vcpu(ctxt);
-	unsigned long last_retry_eip, last_retry_addr, gpa = cr2;
+	unsigned long last_retry_eip, last_retry_addr, gpa = cr2_or_gpa;
 
 	last_retry_eip = vcpu->arch.last_retry_eip;
 	last_retry_addr = vcpu->arch.last_retry_addr;
@@ -6084,14 +6128,14 @@
 	if (x86_page_table_writing_insn(ctxt))
 		return false;
 
-	if (ctxt->eip == last_retry_eip && last_retry_addr == cr2)
+	if (ctxt->eip == last_retry_eip && last_retry_addr == cr2_or_gpa)
 		return false;
 
 	vcpu->arch.last_retry_eip = ctxt->eip;
-	vcpu->arch.last_retry_addr = cr2;
+	vcpu->arch.last_retry_addr = cr2_or_gpa;
 
 	if (!vcpu->arch.mmu.direct_map)
-		gpa = kvm_mmu_gva_to_gpa_write(vcpu, cr2, NULL);
+		gpa = kvm_mmu_gva_to_gpa_write(vcpu, cr2_or_gpa, NULL);
 
 	kvm_mmu_unprotect_page(vcpu->kvm, gpa_to_gfn(gpa));
 
@@ -6252,11 +6296,8 @@
 	return false;
 }
 
-int x86_emulate_instruction(struct kvm_vcpu *vcpu,
-			    unsigned long cr2,
-			    int emulation_type,
-			    void *insn,
-			    int insn_len)
+int x86_emulate_instruction(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa,
+			    int emulation_type, void *insn, int insn_len)
 {
 	int r;
 	struct x86_emulate_ctxt *ctxt = &vcpu->arch.emulate_ctxt;
@@ -6299,7 +6340,7 @@
 		if (r != EMULATION_OK)  {
 			if (emulation_type & EMULTYPE_TRAP_UD)
 				return EMULATE_FAIL;
-			if (reexecute_instruction(vcpu, cr2, write_fault_to_spt,
+			if (reexecute_instruction(vcpu, cr2_or_gpa, write_fault_to_spt,
 						emulation_type))
 				return EMULATE_DONE;
 			if (ctxt->have_exception) {
@@ -6329,7 +6370,7 @@
 		return EMULATE_DONE;
 	}
 
-	if (retry_instruction(ctxt, cr2, emulation_type))
+	if (retry_instruction(ctxt, cr2_or_gpa, emulation_type))
 		return EMULATE_DONE;
 
 	/* this is needed for vmware backdoor interface to work since it
@@ -6341,7 +6382,7 @@
 
 restart:
 	/* Save the faulting GPA (cr2) in the address field */
-	ctxt->exception.address = cr2;
+	ctxt->exception.address = cr2_or_gpa;
 
 	r = x86_emulate_insn(ctxt);
 
@@ -6349,7 +6390,7 @@
 		return EMULATE_DONE;
 
 	if (r == EMULATION_FAILED) {
-		if (reexecute_instruction(vcpu, cr2, write_fault_to_spt,
+		if (reexecute_instruction(vcpu, cr2_or_gpa, write_fault_to_spt,
 					emulation_type))
 			return EMULATE_DONE;
 
@@ -6753,7 +6794,7 @@
 	 * If reserved bit is not supported, clear the present bit to disable
 	 * mmio page fault.
 	 */
-	if (IS_ENABLED(CONFIG_X86_64) && maxphyaddr == 52)
+	if (maxphyaddr == 52)
 		mask &= ~1ull;
 
 	kvm_mmu_set_mmio_spte_mask(mask, mask);
@@ -8225,6 +8266,8 @@
 				    struct kvm_mp_state *mp_state)
 {
 	vcpu_load(vcpu);
+	if (kvm_mpx_supported())
+		kvm_load_guest_fpu(vcpu);
 
 	kvm_apic_accept_events(vcpu);
 	if (vcpu->arch.mp_state == KVM_MP_STATE_HALTED &&
@@ -8233,6 +8276,8 @@
 	else
 		mp_state->mp_state = vcpu->arch.mp_state;
 
+	if (kvm_mpx_supported())
+		kvm_put_guest_fpu(vcpu);
 	vcpu_put(vcpu);
 	return 0;
 }
@@ -8648,13 +8693,7 @@
 
 void kvm_arch_vcpu_destroy(struct kvm_vcpu *vcpu)
 {
-	vcpu->arch.apf.msr_val = 0;
-
-	vcpu_load(vcpu);
-	kvm_mmu_unload(vcpu);
-	vcpu_put(vcpu);
-
-	kvm_x86_ops->vcpu_free(vcpu);
+	kvm_arch_vcpu_free(vcpu);
 }
 
 void kvm_vcpu_reset(struct kvm_vcpu *vcpu, bool init_event)
@@ -8847,6 +8886,8 @@
 	if (r != 0)
 		return r;
 
+	cr4_reserved_bits = kvm_host_cr4_reserved_bits(&boot_cpu_data);
+
 	if (kvm_has_tsc_control) {
 		/*
 		 * Make sure the user can only configure tsc_khz values that
@@ -9505,7 +9546,7 @@
 	      work->arch.cr3 != vcpu->arch.mmu.get_cr3(vcpu))
 		return;
 
-	vcpu->arch.mmu.page_fault(vcpu, work->gva, 0, true);
+	vcpu->arch.mmu.page_fault(vcpu, work->cr2_or_gpa, 0, true);
 }
 
 static inline u32 kvm_async_pf_hash_fn(gfn_t gfn)
@@ -9588,7 +9629,7 @@
 {
 	struct x86_exception fault;
 
-	trace_kvm_async_pf_not_present(work->arch.token, work->gva);
+	trace_kvm_async_pf_not_present(work->arch.token, work->cr2_or_gpa);
 	kvm_add_async_pf_gfn(vcpu, work->arch.gfn);
 
 	if (!(vcpu->arch.apf.msr_val & KVM_ASYNC_PF_ENABLED) ||
@@ -9616,7 +9657,7 @@
 		work->arch.token = ~0; /* broadcast wakeup */
 	else
 		kvm_del_async_pf_gfn(vcpu, work->arch.gfn);
-	trace_kvm_async_pf_ready(work->arch.token, work->gva);
+	trace_kvm_async_pf_ready(work->arch.token, work->cr2_or_gpa);
 
 	if (vcpu->arch.apf.msr_val & KVM_ASYNC_PF_ENABLED &&
 	    !apf_get_user(vcpu, &val)) {
diff --git a/arch/x86/kvm/x86.h b/arch/x86/kvm/x86.h
index 608e5f8..422331b 100644
--- a/arch/x86/kvm/x86.h
+++ b/arch/x86/kvm/x86.h
@@ -284,7 +284,7 @@
 bool kvm_mtrr_check_gfn_range_consistency(struct kvm_vcpu *vcpu, gfn_t gfn,
 					  int page_num);
 bool kvm_vector_hashing_enabled(void);
-int x86_emulate_instruction(struct kvm_vcpu *vcpu, unsigned long cr2,
+int x86_emulate_instruction(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa,
 			    int emulation_type, void *insn, int insn_len);
 
 #define KVM_SUPPORTED_XCR0     (XFEATURE_MASK_FP | XFEATURE_MASK_SSE \
diff --git a/arch/x86/lib/x86-opcode-map.txt b/arch/x86/lib/x86-opcode-map.txt
index 0a0e911..5cb9f00 100644
--- a/arch/x86/lib/x86-opcode-map.txt
+++ b/arch/x86/lib/x86-opcode-map.txt
@@ -909,7 +909,7 @@
 
 GrpTable: Grp3_2
 0: TEST Ev,Iz
-1:
+1: TEST Ev,Iz
 2: NOT Ev
 3: NEG Ev
 4: MUL rAX,Ev
diff --git a/arch/x86/mm/extable.c b/arch/x86/mm/extable.c
index 45f5d6c..79e9955 100644
--- a/arch/x86/mm/extable.c
+++ b/arch/x86/mm/extable.c
@@ -170,6 +170,7 @@
 	return handler == ex_handler_fault;
 }
 
+__nocfi
 int fixup_exception(struct pt_regs *regs, int trapnr)
 {
 	const struct exception_table_entry *e;
diff --git a/arch/x86/mm/init_32.c b/arch/x86/mm/init_32.c
index 979e0a0..79b95910 100644
--- a/arch/x86/mm/init_32.c
+++ b/arch/x86/mm/init_32.c
@@ -860,18 +860,15 @@
 	return __add_pages(nid, start_pfn, nr_pages, altmap, want_memblock);
 }
 
-#ifdef CONFIG_MEMORY_HOTREMOVE
-int arch_remove_memory(u64 start, u64 size, struct vmem_altmap *altmap)
+void arch_remove_memory(int nid, u64 start, u64 size,
+			struct vmem_altmap *altmap)
 {
 	unsigned long start_pfn = start >> PAGE_SHIFT;
 	unsigned long nr_pages = size >> PAGE_SHIFT;
-	struct zone *zone;
 
-	zone = page_zone(pfn_to_page(start_pfn));
-	return __remove_pages(zone, start_pfn, nr_pages, altmap);
+	__remove_pages(start_pfn, nr_pages, altmap);
 }
 #endif
-#endif
 
 int kernel_set_to_readonly __read_mostly;
 
diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
index a3e9c6e..366a11f 100644
--- a/arch/x86/mm/init_64.c
+++ b/arch/x86/mm/init_64.c
@@ -1132,7 +1132,6 @@
 	remove_pagetable(start, end, false, altmap);
 }
 
-#ifdef CONFIG_MEMORY_HOTREMOVE
 static void __meminit
 kernel_physical_mapping_remove(unsigned long start, unsigned long end)
 {
@@ -1142,25 +1141,15 @@
 	remove_pagetable(start, end, true, NULL);
 }
 
-int __ref arch_remove_memory(u64 start, u64 size, struct vmem_altmap *altmap)
+void __ref arch_remove_memory(int nid, u64 start, u64 size,
+			      struct vmem_altmap *altmap)
 {
 	unsigned long start_pfn = start >> PAGE_SHIFT;
 	unsigned long nr_pages = size >> PAGE_SHIFT;
-	struct page *page = pfn_to_page(start_pfn);
-	struct zone *zone;
-	int ret;
 
-	/* With altmap the first mapped page is offset from @start */
-	if (altmap)
-		page += vmem_altmap_offset(altmap);
-	zone = page_zone(page);
-	ret = __remove_pages(zone, start_pfn, nr_pages, altmap);
-	WARN_ON_ONCE(ret);
+	__remove_pages(start_pfn, nr_pages, altmap);
 	kernel_physical_mapping_remove(start, start + size);
-
-	return ret;
 }
-#endif
 #endif /* CONFIG_MEMORY_HOTPLUG */
 
 static struct kcore_list kcore_vsyscall;
@@ -1206,7 +1195,7 @@
 void set_kernel_text_rw(void)
 {
 	unsigned long start = PFN_ALIGN(_text);
-	unsigned long end = PFN_ALIGN(__stop___ex_table);
+	unsigned long end = PFN_ALIGN(_etext);
 
 	if (!kernel_set_to_readonly)
 		return;
@@ -1225,7 +1214,7 @@
 void set_kernel_text_ro(void)
 {
 	unsigned long start = PFN_ALIGN(_text);
-	unsigned long end = PFN_ALIGN(__stop___ex_table);
+	unsigned long end = PFN_ALIGN(_etext);
 
 	if (!kernel_set_to_readonly)
 		return;
@@ -1244,7 +1233,7 @@
 	unsigned long start = PFN_ALIGN(_text);
 	unsigned long rodata_start = PFN_ALIGN(__start_rodata);
 	unsigned long end = (unsigned long) &__end_rodata_hpage_align;
-	unsigned long text_end = PFN_ALIGN(&__stop___ex_table);
+	unsigned long text_end = PFN_ALIGN(&_etext);
 	unsigned long rodata_end = PFN_ALIGN(&__end_rodata);
 	unsigned long all_end;
 
diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c
index e2d4b25..101f3ad 100644
--- a/arch/x86/mm/pageattr.c
+++ b/arch/x86/mm/pageattr.c
@@ -2126,19 +2126,13 @@
 		.pgd = pgd,
 		.numpages = numpages,
 		.mask_set = __pgprot(0),
-		.mask_clr = __pgprot(0),
+		.mask_clr = __pgprot(~page_flags & (_PAGE_NX|_PAGE_RW)),
 		.flags = 0,
 	};
 
 	if (!(__supported_pte_mask & _PAGE_NX))
 		goto out;
 
-	if (!(page_flags & _PAGE_NX))
-		cpa.mask_clr = __pgprot(_PAGE_NX);
-
-	if (!(page_flags & _PAGE_RW))
-		cpa.mask_clr = __pgprot(_PAGE_RW);
-
 	if (!(page_flags & _PAGE_ENC))
 		cpa.mask_clr = pgprot_encrypted(cpa.mask_clr);
 
diff --git a/arch/x86/mm/pti.c b/arch/x86/mm/pti.c
index 622d596..8316cdb 100644
--- a/arch/x86/mm/pti.c
+++ b/arch/x86/mm/pti.c
@@ -482,6 +482,15 @@
 	pti_clone_pgtable((unsigned long) __entry_text_start,
 			  (unsigned long) __irqentry_text_end,
 			  PTI_CLONE_PMD);
+
+	/*
+	 * If CFI is enabled, also map jump tables, so the entry code can
+	 * make indirect calls.
+	 */
+	if (IS_ENABLED(CONFIG_CFI_CLANG))
+		pti_clone_pgtable((unsigned long) __cfi_jt_start,
+				  (unsigned long) __cfi_jt_end,
+				  PTI_CLONE_PMD);
 }
 
 /*
@@ -551,7 +560,7 @@
 	 */
 	unsigned long start = PFN_ALIGN(_text);
 	unsigned long end_clone  = (unsigned long)__end_rodata_aligned;
-	unsigned long end_global = PFN_ALIGN((unsigned long)__stop___ex_table);
+	unsigned long end_global = PFN_ALIGN((unsigned long)_etext);
 
 	if (!pti_kernel_image_global_ok())
 		return;
diff --git a/arch/x86/mm/tlb.c b/arch/x86/mm/tlb.c
index a6836ab..b72296b 100644
--- a/arch/x86/mm/tlb.c
+++ b/arch/x86/mm/tlb.c
@@ -664,9 +664,6 @@
 		 * that UV should be updated so that smp_call_function_many(),
 		 * etc, are optimal on UV.
 		 */
-		unsigned int cpu;
-
-		cpu = smp_processor_id();
 		cpumask = uv_flush_tlb_others(cpumask, info);
 		if (cpumask)
 			smp_call_function_many(cpumask, flush_tlb_func_remote,
diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c
index 335a62e..e7f19de 100644
--- a/arch/x86/platform/efi/efi.c
+++ b/arch/x86/platform/efi/efi.c
@@ -480,7 +480,6 @@
 	efi_char16_t *c16;
 	char vendor[100] = "unknown";
 	int i = 0;
-	void *tmp;
 
 #ifdef CONFIG_X86_32
 	if (boot_params.efi_info.efi_systab_hi ||
@@ -505,14 +504,16 @@
 	/*
 	 * Show what we know for posterity
 	 */
-	c16 = tmp = early_memremap(efi.systab->fw_vendor, 2);
+	c16 = early_memremap_ro(efi.systab->fw_vendor,
+				sizeof(vendor) * sizeof(efi_char16_t));
 	if (c16) {
-		for (i = 0; i < sizeof(vendor) - 1 && *c16; ++i)
-			vendor[i] = *c16++;
+		for (i = 0; i < sizeof(vendor) - 1 && c16[i]; ++i)
+			vendor[i] = c16[i];
 		vendor[i] = '\0';
-	} else
+		early_memunmap(c16, sizeof(vendor) * sizeof(efi_char16_t));
+	} else {
 		pr_err("Could not map the firmware vendor!\n");
-	early_memunmap(tmp, 2);
+	}
 
 	pr_info("EFI v%u.%.02u by %s\n",
 		efi.systab->hdr.revision >> 16,
@@ -929,16 +930,14 @@
 
 	if (efi_alloc_page_tables()) {
 		pr_err("Failed to allocate EFI page tables\n");
-		clear_bit(EFI_RUNTIME_SERVICES, &efi.flags);
-		return;
+		goto err;
 	}
 
 	efi_merge_regions();
 	new_memmap = efi_map_regions(&count, &pg_shift);
 	if (!new_memmap) {
 		pr_err("Error reallocating memory, EFI runtime non-functional!\n");
-		clear_bit(EFI_RUNTIME_SERVICES, &efi.flags);
-		return;
+		goto err;
 	}
 
 	pa = __pa(new_memmap);
@@ -952,8 +951,7 @@
 
 	if (efi_memmap_init_late(pa, efi.memmap.desc_size * count)) {
 		pr_err("Failed to remap late EFI memory map\n");
-		clear_bit(EFI_RUNTIME_SERVICES, &efi.flags);
-		return;
+		goto err;
 	}
 
 	if (efi_enabled(EFI_DBG)) {
@@ -961,12 +959,11 @@
 		efi_print_memmap();
 	}
 
-	BUG_ON(!efi.systab);
+	if (WARN_ON(!efi.systab))
+		goto err;
 
-	if (efi_setup_page_tables(pa, 1 << pg_shift)) {
-		clear_bit(EFI_RUNTIME_SERVICES, &efi.flags);
-		return;
-	}
+	if (efi_setup_page_tables(pa, 1 << pg_shift))
+		goto err;
 
 	efi_sync_low_kernel_mappings();
 
@@ -986,9 +983,9 @@
 	}
 
 	if (status != EFI_SUCCESS) {
-		pr_alert("Unable to switch EFI into virtual mode (status=%lx)!\n",
-			 status);
-		panic("EFI call to SetVirtualAddressMap() failed!");
+		pr_err("Unable to switch EFI into virtual mode (status=%lx)!\n",
+		       status);
+		goto err;
 	}
 
 	/*
@@ -1015,6 +1012,10 @@
 
 	/* clean DUMMY object */
 	efi_delete_dummy_variable();
+	return;
+
+err:
+	clear_bit(EFI_RUNTIME_SERVICES, &efi.flags);
 }
 
 void __init efi_enter_virtual_mode(void)
diff --git a/arch/x86/platform/efi/efi_64.c b/arch/x86/platform/efi/efi_64.c
index ee5d08f..2a9a703 100644
--- a/arch/x86/platform/efi/efi_64.c
+++ b/arch/x86/platform/efi/efi_64.c
@@ -313,7 +313,7 @@
 static inline phys_addr_t
 virt_to_phys_or_null_size(void *va, unsigned long size)
 {
-	bool bad_size;
+	phys_addr_t pa;
 
 	if (!va)
 		return 0;
@@ -321,16 +321,13 @@
 	if (virt_addr_valid(va))
 		return virt_to_phys(va);
 
-	/*
-	 * A fully aligned variable on the stack is guaranteed not to
-	 * cross a page bounary. Try to catch strings on the stack by
-	 * checking that 'size' is a power of two.
-	 */
-	bad_size = size > PAGE_SIZE || !is_power_of_2(size);
+	pa = slow_virt_to_phys(va);
 
-	WARN_ON(!IS_ALIGNED((unsigned long)va, size) || bad_size);
+	/* check if the object crosses a page boundary */
+	if (WARN_ON((pa ^ (pa + size - 1)) & PAGE_MASK))
+		return 0;
 
-	return slow_virt_to_phys(va);
+	return pa;
 }
 
 #define virt_to_phys_or_null(addr)				\
@@ -389,11 +386,12 @@
 		return 0;
 
 	page = alloc_page(GFP_KERNEL|__GFP_DMA32);
-	if (!page)
-		panic("Unable to allocate EFI runtime stack < 4GB\n");
+	if (!page) {
+		pr_err("Unable to allocate EFI runtime stack < 4GB\n");
+		return 1;
+	}
 
-	efi_scratch.phys_stack = virt_to_phys(page_address(page));
-	efi_scratch.phys_stack += PAGE_SIZE; /* stack grows down */
+	efi_scratch.phys_stack = page_to_phys(page + 1); /* stack grows down */
 
 	npages = (_etext - _text) >> PAGE_SHIFT;
 	text = __pa(_text);
@@ -789,6 +787,8 @@
 efi_thunk_get_variable(efi_char16_t *name, efi_guid_t *vendor,
 		       u32 *attr, unsigned long *data_size, void *data)
 {
+	u8 buf[24] __aligned(8);
+	efi_guid_t *vnd = PTR_ALIGN((efi_guid_t *)buf, sizeof(*vnd));
 	efi_status_t status;
 	u32 phys_name, phys_vendor, phys_attr;
 	u32 phys_data_size, phys_data;
@@ -796,14 +796,19 @@
 
 	spin_lock_irqsave(&efi_runtime_lock, flags);
 
+	*vnd = *vendor;
+
 	phys_data_size = virt_to_phys_or_null(data_size);
-	phys_vendor = virt_to_phys_or_null(vendor);
+	phys_vendor = virt_to_phys_or_null(vnd);
 	phys_name = virt_to_phys_or_null_size(name, efi_name_size(name));
 	phys_attr = virt_to_phys_or_null(attr);
 	phys_data = virt_to_phys_or_null_size(data, *data_size);
 
-	status = efi_thunk(get_variable, phys_name, phys_vendor,
-			   phys_attr, phys_data_size, phys_data);
+	if (!phys_name || (data && !phys_data))
+		status = EFI_INVALID_PARAMETER;
+	else
+		status = efi_thunk(get_variable, phys_name, phys_vendor,
+				   phys_attr, phys_data_size, phys_data);
 
 	spin_unlock_irqrestore(&efi_runtime_lock, flags);
 
@@ -814,19 +819,25 @@
 efi_thunk_set_variable(efi_char16_t *name, efi_guid_t *vendor,
 		       u32 attr, unsigned long data_size, void *data)
 {
+	u8 buf[24] __aligned(8);
+	efi_guid_t *vnd = PTR_ALIGN((efi_guid_t *)buf, sizeof(*vnd));
 	u32 phys_name, phys_vendor, phys_data;
 	efi_status_t status;
 	unsigned long flags;
 
 	spin_lock_irqsave(&efi_runtime_lock, flags);
 
+	*vnd = *vendor;
+
 	phys_name = virt_to_phys_or_null_size(name, efi_name_size(name));
-	phys_vendor = virt_to_phys_or_null(vendor);
+	phys_vendor = virt_to_phys_or_null(vnd);
 	phys_data = virt_to_phys_or_null_size(data, data_size);
 
-	/* If data_size is > sizeof(u32) we've got problems */
-	status = efi_thunk(set_variable, phys_name, phys_vendor,
-			   attr, data_size, phys_data);
+	if (!phys_name || !phys_data)
+		status = EFI_INVALID_PARAMETER;
+	else
+		status = efi_thunk(set_variable, phys_name, phys_vendor,
+				   attr, data_size, phys_data);
 
 	spin_unlock_irqrestore(&efi_runtime_lock, flags);
 
@@ -838,6 +849,8 @@
 				   u32 attr, unsigned long data_size,
 				   void *data)
 {
+	u8 buf[24] __aligned(8);
+	efi_guid_t *vnd = PTR_ALIGN((efi_guid_t *)buf, sizeof(*vnd));
 	u32 phys_name, phys_vendor, phys_data;
 	efi_status_t status;
 	unsigned long flags;
@@ -845,13 +858,17 @@
 	if (!spin_trylock_irqsave(&efi_runtime_lock, flags))
 		return EFI_NOT_READY;
 
+	*vnd = *vendor;
+
 	phys_name = virt_to_phys_or_null_size(name, efi_name_size(name));
-	phys_vendor = virt_to_phys_or_null(vendor);
+	phys_vendor = virt_to_phys_or_null(vnd);
 	phys_data = virt_to_phys_or_null_size(data, data_size);
 
-	/* If data_size is > sizeof(u32) we've got problems */
-	status = efi_thunk(set_variable, phys_name, phys_vendor,
-			   attr, data_size, phys_data);
+	if (!phys_name || !phys_data)
+		status = EFI_INVALID_PARAMETER;
+	else
+		status = efi_thunk(set_variable, phys_name, phys_vendor,
+				   attr, data_size, phys_data);
 
 	spin_unlock_irqrestore(&efi_runtime_lock, flags);
 
@@ -863,21 +880,29 @@
 			    efi_char16_t *name,
 			    efi_guid_t *vendor)
 {
+	u8 buf[24] __aligned(8);
+	efi_guid_t *vnd = PTR_ALIGN((efi_guid_t *)buf, sizeof(*vnd));
 	efi_status_t status;
 	u32 phys_name_size, phys_name, phys_vendor;
 	unsigned long flags;
 
 	spin_lock_irqsave(&efi_runtime_lock, flags);
 
+	*vnd = *vendor;
+
 	phys_name_size = virt_to_phys_or_null(name_size);
-	phys_vendor = virt_to_phys_or_null(vendor);
+	phys_vendor = virt_to_phys_or_null(vnd);
 	phys_name = virt_to_phys_or_null_size(name, *name_size);
 
-	status = efi_thunk(get_next_variable, phys_name_size,
-			   phys_name, phys_vendor);
+	if (!phys_name)
+		status = EFI_INVALID_PARAMETER;
+	else
+		status = efi_thunk(get_next_variable, phys_name_size,
+				   phys_name, phys_vendor);
 
 	spin_unlock_irqrestore(&efi_runtime_lock, flags);
 
+	*vendor = *vnd;
 	return status;
 }
 
diff --git a/arch/x86/tools/relocs.c b/arch/x86/tools/relocs.c
index 3a6c8eb..494a884 100644
--- a/arch/x86/tools/relocs.c
+++ b/arch/x86/tools/relocs.c
@@ -46,6 +46,7 @@
 	"^(xen_irq_disable_direct_reloc$|"
 	"xen_save_fl_direct_reloc$|"
 	"VDSO|"
+	"__typeid__|"
 	"__crc_)",
 
 /*
@@ -782,6 +783,12 @@
 			add_reloc(&relocs32neg, offset);
 		break;
 
+	case R_X86_64_8:
+		if (!shn_abs || !is_reloc(S_ABS, symname))
+			die("Non-whitelisted %s relocation: %s\n",
+				rel_type(r_type), symname);
+		break;
+
 	case R_X86_64_32:
 	case R_X86_64_32S:
 	case R_X86_64_64:
diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c
index 1730a26..76864ea 100644
--- a/arch/x86/xen/enlighten_pv.c
+++ b/arch/x86/xen/enlighten_pv.c
@@ -908,14 +908,15 @@
 static int xen_write_msr_safe(unsigned int msr, unsigned low, unsigned high)
 {
 	int ret;
+#ifdef CONFIG_X86_64
+	unsigned int which;
+	u64 base;
+#endif
 
 	ret = 0;
 
 	switch (msr) {
 #ifdef CONFIG_X86_64
-		unsigned which;
-		u64 base;
-
 	case MSR_FS_BASE:		which = SEGBASE_FS; goto set;
 	case MSR_KERNEL_GS_BASE:	which = SEGBASE_GS_USER; goto set;
 	case MSR_GS_BASE:		which = SEGBASE_GS_KERNEL; goto set;
diff --git a/block/Kconfig b/block/Kconfig
index 1a4929c..d4f96c7 100644
--- a/block/Kconfig
+++ b/block/Kconfig
@@ -236,7 +236,7 @@
 	default y
 
 config BLK_MQ_VIRTIO
-	bool
+	tristate
 	depends on BLOCK && VIRTIO
 	default y
 
diff --git a/block/blk-crypto-fallback.c b/block/blk-crypto-fallback.c
index 945d23d..195b04b 100644
--- a/block/blk-crypto-fallback.c
+++ b/block/blk-crypto-fallback.c
@@ -614,7 +614,7 @@
 		crypto_mode_supported[i] = 0xFFFFFFFF;
 	crypto_mode_supported[BLK_ENCRYPTION_MODE_INVALID] = 0;
 
-	blk_crypto_ksm = keyslot_manager_create(blk_crypto_num_keyslots,
+	blk_crypto_ksm = keyslot_manager_create(NULL, blk_crypto_num_keyslots,
 						&blk_crypto_ksm_ll_ops,
 						crypto_mode_supported, NULL);
 	if (!blk_crypto_ksm)
diff --git a/block/blk-lib.c b/block/blk-lib.c
index 1f196cf..0dbc9e2 100644
--- a/block/blk-lib.c
+++ b/block/blk-lib.c
@@ -52,15 +52,14 @@
 	if ((sector | nr_sects) & bs_mask)
 		return -EINVAL;
 
+	if (!nr_sects)
+		return -EINVAL;
+
 	while (nr_sects) {
-		unsigned int req_sects = nr_sects;
-		sector_t end_sect;
+		sector_t req_sects = min_t(sector_t, nr_sects,
+				bio_allowed_max_sectors(q));
 
-		if (!req_sects)
-			goto fail;
-		req_sects = min(req_sects, bio_allowed_max_sectors(q));
-
-		end_sect = sector + req_sects;
+		WARN_ON_ONCE((req_sects << 9) > UINT_MAX);
 
 		bio = next_bio(bio, 0, gfp_mask);
 		bio->bi_iter.bi_sector = sector;
@@ -68,8 +67,8 @@
 		bio_set_op_attrs(bio, op, 0);
 
 		bio->bi_iter.bi_size = req_sects << 9;
+		sector += req_sects;
 		nr_sects -= req_sects;
-		sector = end_sect;
 
 		/*
 		 * We can loop for a long time in here, if someone does
@@ -82,14 +81,6 @@
 
 	*biop = bio;
 	return 0;
-
-fail:
-	if (bio) {
-		submit_bio_wait(bio);
-		bio_put(bio);
-	}
-	*biop = NULL;
-	return -EOPNOTSUPP;
 }
 EXPORT_SYMBOL(__blkdev_issue_discard);
 
diff --git a/block/blk-merge.c b/block/blk-merge.c
index ac7ff16..c534d44 100644
--- a/block/blk-merge.c
+++ b/block/blk-merge.c
@@ -309,13 +309,7 @@
 
 void blk_recount_segments(struct request_queue *q, struct bio *bio)
 {
-	unsigned short seg_cnt;
-
-	/* estimate segment number by bi_vcnt for non-cloned bio */
-	if (bio_flagged(bio, BIO_CLONED))
-		seg_cnt = bio_segments(bio);
-	else
-		seg_cnt = bio->bi_vcnt;
+	unsigned short seg_cnt = bio_segments(bio);
 
 	if (test_bit(QUEUE_FLAG_NO_SG_MERGE, &q->queue_flags) &&
 			(seg_cnt < queue_max_segments(q)))
diff --git a/block/blk-mq-virtio.c b/block/blk-mq-virtio.c
index c3afbca..a111b06 100644
--- a/block/blk-mq-virtio.c
+++ b/block/blk-mq-virtio.c
@@ -52,3 +52,6 @@
 	return blk_mq_map_queues(set);
 }
 EXPORT_SYMBOL_GPL(blk_mq_virtio_map_queues);
+
+MODULE_DESCRIPTION("Virtio Device Default Queue Mapping");
+MODULE_LICENSE("GPL v2");
diff --git a/block/blk-settings.c b/block/blk-settings.c
index ffd4599..be9b39c 100644
--- a/block/blk-settings.c
+++ b/block/blk-settings.c
@@ -379,7 +379,7 @@
  *   storage device can address.  The default of 512 covers most
  *   hardware.
  **/
-void blk_queue_logical_block_size(struct request_queue *q, unsigned short size)
+void blk_queue_logical_block_size(struct request_queue *q, unsigned int size)
 {
 	q->limits.logical_block_size = size;
 
diff --git a/block/keyslot-manager.c b/block/keyslot-manager.c
index 1436426..6b563c8 100644
--- a/block/keyslot-manager.c
+++ b/block/keyslot-manager.c
@@ -29,6 +29,7 @@
 #include <linux/keyslot-manager.h>
 #include <linux/atomic.h>
 #include <linux/mutex.h>
+#include <linux/pm_runtime.h>
 #include <linux/wait.h>
 #include <linux/blkdev.h>
 
@@ -45,6 +46,11 @@
 	unsigned int crypto_mode_supported[BLK_ENCRYPTION_MODE_MAX];
 	void *ll_priv_data;
 
+#ifdef CONFIG_PM
+	/* Device for runtime power management (NULL if none) */
+	struct device *dev;
+#endif
+
 	/* Protects programming and evicting keys from the device */
 	struct rw_semaphore lock;
 
@@ -71,8 +77,60 @@
 	return ksm->num_slots == 0;
 }
 
+#ifdef CONFIG_PM
+static inline void keyslot_manager_set_dev(struct keyslot_manager *ksm,
+					   struct device *dev)
+{
+	ksm->dev = dev;
+}
+
+/* If there's an underlying device and it's suspended, resume it. */
+static inline void keyslot_manager_pm_get(struct keyslot_manager *ksm)
+{
+	if (ksm->dev)
+		pm_runtime_get_sync(ksm->dev);
+}
+
+static inline void keyslot_manager_pm_put(struct keyslot_manager *ksm)
+{
+	if (ksm->dev)
+		pm_runtime_put_sync(ksm->dev);
+}
+#else /* CONFIG_PM */
+static inline void keyslot_manager_set_dev(struct keyslot_manager *ksm,
+					   struct device *dev)
+{
+}
+
+static inline void keyslot_manager_pm_get(struct keyslot_manager *ksm)
+{
+}
+
+static inline void keyslot_manager_pm_put(struct keyslot_manager *ksm)
+{
+}
+#endif /* !CONFIG_PM */
+
+static inline void keyslot_manager_hw_enter(struct keyslot_manager *ksm)
+{
+	/*
+	 * Calling into the driver requires ksm->lock held and the device
+	 * resumed.  But we must resume the device first, since that can acquire
+	 * and release ksm->lock via keyslot_manager_reprogram_all_keys().
+	 */
+	keyslot_manager_pm_get(ksm);
+	down_write(&ksm->lock);
+}
+
+static inline void keyslot_manager_hw_exit(struct keyslot_manager *ksm)
+{
+	up_write(&ksm->lock);
+	keyslot_manager_pm_put(ksm);
+}
+
 /**
  * keyslot_manager_create() - Create a keyslot manager
+ * @dev: Device for runtime power management (NULL if none)
  * @num_slots: The number of key slots to manage.
  * @ksm_ll_ops: The struct keyslot_mgmt_ll_ops for the device that this keyslot
  *		manager will use to perform operations like programming and
@@ -92,7 +150,9 @@
  * Context: May sleep
  * Return: Pointer to constructed keyslot manager or NULL on error.
  */
-struct keyslot_manager *keyslot_manager_create(unsigned int num_slots,
+struct keyslot_manager *keyslot_manager_create(
+	struct device *dev,
+	unsigned int num_slots,
 	const struct keyslot_mgmt_ll_ops *ksm_ll_ops,
 	const unsigned int crypto_mode_supported[BLK_ENCRYPTION_MODE_MAX],
 	void *ll_priv_data)
@@ -118,6 +178,7 @@
 	memcpy(ksm->crypto_mode_supported, crypto_mode_supported,
 	       sizeof(ksm->crypto_mode_supported));
 	ksm->ll_priv_data = ll_priv_data;
+	keyslot_manager_set_dev(ksm, dev);
 
 	init_rwsem(&ksm->lock);
 
@@ -226,10 +287,10 @@
 		return slot;
 
 	for (;;) {
-		down_write(&ksm->lock);
+		keyslot_manager_hw_enter(ksm);
 		slot = find_and_grab_keyslot(ksm, key);
 		if (slot != -ENOKEY) {
-			up_write(&ksm->lock);
+			keyslot_manager_hw_exit(ksm);
 			return slot;
 		}
 
@@ -240,7 +301,7 @@
 		if (!list_empty(&ksm->idle_slots))
 			break;
 
-		up_write(&ksm->lock);
+		keyslot_manager_hw_exit(ksm);
 		wait_event(ksm->idle_slots_wait_queue,
 			   !list_empty(&ksm->idle_slots));
 	}
@@ -252,7 +313,7 @@
 	err = ksm->ksm_ll_ops.keyslot_program(ksm, key, slot);
 	if (err) {
 		wake_up(&ksm->idle_slots_wait_queue);
-		up_write(&ksm->lock);
+		keyslot_manager_hw_exit(ksm);
 		return err;
 	}
 
@@ -266,7 +327,7 @@
 
 	remove_slot_from_lru_list(ksm, slot);
 
-	up_write(&ksm->lock);
+	keyslot_manager_hw_exit(ksm);
 	return slot;
 }
 
@@ -368,15 +429,16 @@
 
 	if (keyslot_manager_is_passthrough(ksm)) {
 		if (ksm->ksm_ll_ops.keyslot_evict) {
-			down_write(&ksm->lock);
+			keyslot_manager_hw_enter(ksm);
 			err = ksm->ksm_ll_ops.keyslot_evict(ksm, key, -1);
-			up_write(&ksm->lock);
+			keyslot_manager_hw_exit(ksm);
 			return err;
 		}
 		return 0;
 	}
 
-	down_write(&ksm->lock);
+	keyslot_manager_hw_enter(ksm);
+
 	slot = find_keyslot(ksm, key);
 	if (slot < 0) {
 		err = slot;
@@ -396,7 +458,7 @@
 	memzero_explicit(&slotp->key, sizeof(slotp->key));
 	err = 0;
 out_unlock:
-	up_write(&ksm->lock);
+	keyslot_manager_hw_exit(ksm);
 	return err;
 }
 
@@ -416,6 +478,7 @@
 	if (WARN_ON(keyslot_manager_is_passthrough(ksm)))
 		return;
 
+	/* This is for device initialization, so don't resume the device */
 	down_write(&ksm->lock);
 	for (slot = 0; slot < ksm->num_slots; slot++) {
 		const struct keyslot *slotp = &ksm->slots[slot];
@@ -455,6 +518,7 @@
 
 /**
  * keyslot_manager_create_passthrough() - Create a passthrough keyslot manager
+ * @dev: Device for runtime power management (NULL if none)
  * @ksm_ll_ops: The struct keyslot_mgmt_ll_ops
  * @crypto_mode_supported: Bitmasks for supported encryption modes
  * @ll_priv_data: Private data passed as is to the functions in ksm_ll_ops.
@@ -471,6 +535,7 @@
  * Return: Pointer to constructed keyslot manager or NULL on error.
  */
 struct keyslot_manager *keyslot_manager_create_passthrough(
+	struct device *dev,
 	const struct keyslot_mgmt_ll_ops *ksm_ll_ops,
 	const unsigned int crypto_mode_supported[BLK_ENCRYPTION_MODE_MAX],
 	void *ll_priv_data)
@@ -485,6 +550,7 @@
 	memcpy(ksm->crypto_mode_supported, crypto_mode_supported,
 	       sizeof(ksm->crypto_mode_supported));
 	ksm->ll_priv_data = ll_priv_data;
+	keyslot_manager_set_dev(ksm, dev);
 
 	init_rwsem(&ksm->lock);
 
@@ -544,15 +610,15 @@
 {
 	int err;
 
-	down_write(&ksm->lock);
 	if (ksm->ksm_ll_ops.derive_raw_secret) {
+		keyslot_manager_hw_enter(ksm);
 		err = ksm->ksm_ll_ops.derive_raw_secret(ksm, wrapped_key,
 							wrapped_key_size,
 							secret, secret_size);
+		keyslot_manager_hw_exit(ksm);
 	} else {
 		err = -EOPNOTSUPP;
 	}
-	up_write(&ksm->lock);
 
 	return err;
 }
diff --git a/build.config.common b/build.config.common
index d75e565..82a9712 100644
--- a/build.config.common
+++ b/build.config.common
@@ -5,7 +5,7 @@
 LD=ld.lld
 NM=llvm-nm
 OBJCOPY=llvm-objcopy
-CLANG_PREBUILT_BIN=prebuilts-master/clang/host/linux-x86/clang-r370808/bin
+CLANG_PREBUILT_BIN=prebuilts-master/clang/host/linux-x86/clang-r377782b/bin
 
 EXTRA_CMDS=''
 STOP_SHIP_TRACEPRINTK=1
diff --git a/build.config.cuttlefish.aarch64 b/build.config.cuttlefish.aarch64
new file mode 100644
index 0000000..9a68509
--- /dev/null
+++ b/build.config.cuttlefish.aarch64
@@ -0,0 +1,11 @@
+. ${ROOT_DIR}/common/build.config.common
+. ${ROOT_DIR}/common/build.config.aarch64
+. ${ROOT_DIR}/common/build.config.gki
+
+BUILD_INITRAMFS=1
+DEFCONFIG=cf_aarch_64_gki_defconfig
+PRE_DEFCONFIG_CMDS="KCONFIG_CONFIG=${ROOT_DIR}/common/arch/arm64/configs/${DEFCONFIG} ${ROOT_DIR}/common/scripts/kconfig/merge_config.sh -m -r ${ROOT_DIR}/common/arch/arm64/configs/gki_defconfig ${ROOT_DIR}/common/cuttlefish.fragment"
+POST_DEFCONFIG_CMDS="rm ${ROOT_DIR}/common/arch/arm64/configs/${DEFCONFIG}"
+
+# Not saving any kernel images. This build step is meant purely to generate the .kos.
+FILES=""
diff --git a/build.config.cuttlefish.x86_64 b/build.config.cuttlefish.x86_64
new file mode 100644
index 0000000..d6ce5c3
--- /dev/null
+++ b/build.config.cuttlefish.x86_64
@@ -0,0 +1,11 @@
+. ${ROOT_DIR}/common/build.config.common
+. ${ROOT_DIR}/common/build.config.x86_64
+. ${ROOT_DIR}/common/build.config.gki
+
+BUILD_INITRAMFS=1
+DEFCONFIG=cf_x86_64_gki_defconfig
+PRE_DEFCONFIG_CMDS="KCONFIG_CONFIG=${ROOT_DIR}/common/arch/x86/configs/${DEFCONFIG} ${ROOT_DIR}/common/scripts/kconfig/merge_config.sh -m -r ${ROOT_DIR}/common/arch/x86/configs/gki_defconfig ${ROOT_DIR}/common/cuttlefish.fragment"
+POST_DEFCONFIG_CMDS="rm ${ROOT_DIR}/common/arch/x86/configs/${DEFCONFIG}"
+
+# Not saving any kernel images. This build step is meant purely to generate the .kos.
+FILES=""
diff --git a/build.config.gki b/build.config.gki
index 66f6eb8..44d4ed1 100644
--- a/build.config.gki
+++ b/build.config.gki
@@ -1,4 +1,3 @@
 DEFCONFIG=gki_defconfig
 POST_DEFCONFIG_CMDS="check_defconfig"
-BUILD_INITRAMFS=1
 
diff --git a/build.config.gki.aarch64 b/build.config.gki.aarch64
index dade440..03a98c6 100644
--- a/build.config.gki.aarch64
+++ b/build.config.gki.aarch64
@@ -4,3 +4,8 @@
 
 ABI_DEFINITION=abi_gki_aarch64.xml
 KMI_WHITELIST=abi_gki_aarch64_whitelist
+ADDITIONAL_KMI_WHITELISTS="
+abi_gki_aarch64_cuttlefish_whitelist
+abi_gki_aarch64_qcom_whitelist
+"
+TRIM_NONLISTED_KMI=1
diff --git a/crypto/af_alg.c b/crypto/af_alg.c
index ed643ce..4fc8e6a 100644
--- a/crypto/af_alg.c
+++ b/crypto/af_alg.c
@@ -139,11 +139,13 @@
 	sk = ask->parent;
 	ask = alg_sk(sk);
 
-	lock_sock(sk);
+	local_bh_disable();
+	bh_lock_sock(sk);
 	ask->nokey_refcnt -= nokey;
 	if (!last)
 		last = !--ask->refcnt;
-	release_sock(sk);
+	bh_unlock_sock(sk);
+	local_bh_enable();
 
 	if (last)
 		sock_put(sk);
diff --git a/crypto/algapi.c b/crypto/algapi.c
index 496fc51..c95abdc 100644
--- a/crypto/algapi.c
+++ b/crypto/algapi.c
@@ -654,11 +654,9 @@
 
 void crypto_drop_spawn(struct crypto_spawn *spawn)
 {
-	if (!spawn->alg)
-		return;
-
 	down_write(&crypto_alg_sem);
-	list_del(&spawn->list);
+	if (spawn->alg)
+		list_del(&spawn->list);
 	up_write(&crypto_alg_sem);
 }
 EXPORT_SYMBOL_GPL(crypto_drop_spawn);
@@ -666,22 +664,16 @@
 static struct crypto_alg *crypto_spawn_alg(struct crypto_spawn *spawn)
 {
 	struct crypto_alg *alg;
-	struct crypto_alg *alg2;
 
 	down_read(&crypto_alg_sem);
 	alg = spawn->alg;
-	alg2 = alg;
-	if (alg2)
-		alg2 = crypto_mod_get(alg2);
+	if (alg && !crypto_mod_get(alg)) {
+		alg->cra_flags |= CRYPTO_ALG_DYING;
+		alg = NULL;
+	}
 	up_read(&crypto_alg_sem);
 
-	if (!alg2) {
-		if (alg)
-			crypto_shoot_alg(alg);
-		return ERR_PTR(-EAGAIN);
-	}
-
-	return alg;
+	return alg ?: ERR_PTR(-EAGAIN);
 }
 
 struct crypto_tfm *crypto_spawn_tfm(struct crypto_spawn *spawn, u32 type,
diff --git a/crypto/api.c b/crypto/api.c
index 7aca9f8..1909195 100644
--- a/crypto/api.c
+++ b/crypto/api.c
@@ -349,13 +349,12 @@
 	return len;
 }
 
-void crypto_shoot_alg(struct crypto_alg *alg)
+static void crypto_shoot_alg(struct crypto_alg *alg)
 {
 	down_write(&crypto_alg_sem);
 	alg->cra_flags |= CRYPTO_ALG_DYING;
 	up_write(&crypto_alg_sem);
 }
-EXPORT_SYMBOL_GPL(crypto_shoot_alg);
 
 struct crypto_tfm *__crypto_alloc_tfm(struct crypto_alg *alg, u32 type,
 				      u32 mask)
diff --git a/crypto/internal.h b/crypto/internal.h
index 9a3f399..f8d6efa 100644
--- a/crypto/internal.h
+++ b/crypto/internal.h
@@ -79,7 +79,6 @@
 void crypto_remove_spawns(struct crypto_alg *alg, struct list_head *list,
 			  struct crypto_alg *nalg);
 void crypto_remove_final(struct list_head *list);
-void crypto_shoot_alg(struct crypto_alg *alg);
 struct crypto_tfm *__crypto_alloc_tfm(struct crypto_alg *alg, u32 type,
 				      u32 mask);
 void *crypto_create_tfm(struct crypto_alg *alg,
diff --git a/crypto/pcrypt.c b/crypto/pcrypt.c
index f8ec3d4..8508257 100644
--- a/crypto/pcrypt.c
+++ b/crypto/pcrypt.c
@@ -130,7 +130,6 @@
 	struct padata_priv *padata = pcrypt_request_padata(preq);
 
 	padata->info = err;
-	req->base.flags &= ~CRYPTO_TFM_REQ_MAY_SLEEP;
 
 	padata_do_serial(padata);
 }
@@ -394,7 +393,7 @@
 	int ret;
 
 	pinst->kobj.kset = pcrypt_kset;
-	ret = kobject_add(&pinst->kobj, NULL, name);
+	ret = kobject_add(&pinst->kobj, NULL, "%s", name);
 	if (!ret)
 		kobject_uevent(&pinst->kobj, KOBJ_ADD);
 
@@ -505,11 +504,12 @@
 
 static void __exit pcrypt_exit(void)
 {
+	crypto_unregister_template(&pcrypt_tmpl);
+
 	pcrypt_fini_padata(&pencrypt);
 	pcrypt_fini_padata(&pdecrypt);
 
 	kset_unregister(pcrypt_kset);
-	crypto_unregister_template(&pcrypt_tmpl);
 }
 
 module_init(pcrypt_init);
diff --git a/crypto/tgr192.c b/crypto/tgr192.c
index 022d3dd..f8e1d9f 100644
--- a/crypto/tgr192.c
+++ b/crypto/tgr192.c
@@ -25,8 +25,9 @@
 #include <linux/init.h>
 #include <linux/module.h>
 #include <linux/mm.h>
-#include <asm/byteorder.h>
 #include <linux/types.h>
+#include <asm/byteorder.h>
+#include <asm/unaligned.h>
 
 #define TGR192_DIGEST_SIZE 24
 #define TGR160_DIGEST_SIZE 20
@@ -468,10 +469,9 @@
 	u64 a, b, c, aa, bb, cc;
 	u64 x[8];
 	int i;
-	const __le64 *ptr = (const __le64 *)data;
 
 	for (i = 0; i < 8; i++)
-		x[i] = le64_to_cpu(ptr[i]);
+		x[i] = get_unaligned_le64(data + i * sizeof(__le64));
 
 	/* save */
 	a = aa = tctx->a;
diff --git a/cuttlefish.fragment b/cuttlefish.fragment
new file mode 100644
index 0000000..b2b17f5
--- /dev/null
+++ b/cuttlefish.fragment
@@ -0,0 +1,24 @@
+CONFIG_CPUFREQ_DUMMY=m
+CONFIG_VSOCKETS=m
+CONFIG_VIRTIO_VSOCKETS=m
+CONFIG_GNSS_CMDLINE_SERIAL=m
+CONFIG_VIRTIO_BLK=m
+CONFIG_VIRTIO_NET=m
+CONFIG_VIRT_WIFI=m
+CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_DRM_VIRTIO_GPU=m
+CONFIG_SND_INTEL8X0=m
+CONFIG_USB_DUMMY_HCD=m
+CONFIG_RTC_DRV_TEST=m
+CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_PMEM=m
+CONFIG_VIRTIO_INPUT=m
+CONFIG_VIRTIO_MMIO=m
+CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
+CONFIG_ION=m
+CONFIG_ION_SYSTEM_HEAP=y
+CONFIG_TEST_STACKINIT=m
+CONFIG_TEST_MEMINIT=m
+CONFIG_SDCARD_FS=m
+CONFIG_TCG_TPM=m
+CONFIG_TCG_VTPM_PROXY=m
diff --git a/drivers/acpi/acpi_lpss.c b/drivers/acpi/acpi_lpss.c
index 30ccd94..ded6c5c 100644
--- a/drivers/acpi/acpi_lpss.c
+++ b/drivers/acpi/acpi_lpss.c
@@ -1056,6 +1056,13 @@
 	int ret;
 
 	if (pdata->dev_desc->resume_from_noirq) {
+		/*
+		 * The driver's ->suspend_late callback will be invoked by
+		 * acpi_lpss_do_suspend_late(), with the assumption that the
+		 * driver really wanted to run that code in ->suspend_noirq, but
+		 * it could not run after acpi_dev_suspend() and the driver
+		 * expected the latter to be called in the "late" phase.
+		 */
 		ret = acpi_lpss_do_suspend_late(dev);
 		if (ret)
 			return ret;
@@ -1086,16 +1093,99 @@
 	struct lpss_private_data *pdata = acpi_driver_data(ACPI_COMPANION(dev));
 	int ret;
 
-	ret = acpi_subsys_resume_noirq(dev);
+	/* Follow acpi_subsys_resume_noirq(). */
+	if (dev_pm_may_skip_resume(dev))
+		return 0;
+
+	if (dev_pm_smart_suspend_and_suspended(dev))
+		pm_runtime_set_active(dev);
+
+	ret = pm_generic_resume_noirq(dev);
 	if (ret)
 		return ret;
 
-	if (!dev_pm_may_skip_resume(dev) && pdata->dev_desc->resume_from_noirq)
-		ret = acpi_lpss_do_resume_early(dev);
+	if (!pdata->dev_desc->resume_from_noirq)
+		return 0;
 
-	return ret;
+	/*
+	 * The driver's ->resume_early callback will be invoked by
+	 * acpi_lpss_do_resume_early(), with the assumption that the driver
+	 * really wanted to run that code in ->resume_noirq, but it could not
+	 * run before acpi_dev_resume() and the driver expected the latter to be
+	 * called in the "early" phase.
+	 */
+	return acpi_lpss_do_resume_early(dev);
 }
 
+static int acpi_lpss_do_restore_early(struct device *dev)
+{
+	int ret = acpi_lpss_resume(dev);
+
+	return ret ? ret : pm_generic_restore_early(dev);
+}
+
+static int acpi_lpss_restore_early(struct device *dev)
+{
+	struct lpss_private_data *pdata = acpi_driver_data(ACPI_COMPANION(dev));
+
+	if (pdata->dev_desc->resume_from_noirq)
+		return 0;
+
+	return acpi_lpss_do_restore_early(dev);
+}
+
+static int acpi_lpss_restore_noirq(struct device *dev)
+{
+	struct lpss_private_data *pdata = acpi_driver_data(ACPI_COMPANION(dev));
+	int ret;
+
+	ret = pm_generic_restore_noirq(dev);
+	if (ret)
+		return ret;
+
+	if (!pdata->dev_desc->resume_from_noirq)
+		return 0;
+
+	/* This is analogous to what happens in acpi_lpss_resume_noirq(). */
+	return acpi_lpss_do_restore_early(dev);
+}
+
+static int acpi_lpss_do_poweroff_late(struct device *dev)
+{
+	int ret = pm_generic_poweroff_late(dev);
+
+	return ret ? ret : acpi_lpss_suspend(dev, device_may_wakeup(dev));
+}
+
+static int acpi_lpss_poweroff_late(struct device *dev)
+{
+	struct lpss_private_data *pdata = acpi_driver_data(ACPI_COMPANION(dev));
+
+	if (dev_pm_smart_suspend_and_suspended(dev))
+		return 0;
+
+	if (pdata->dev_desc->resume_from_noirq)
+		return 0;
+
+	return acpi_lpss_do_poweroff_late(dev);
+}
+
+static int acpi_lpss_poweroff_noirq(struct device *dev)
+{
+	struct lpss_private_data *pdata = acpi_driver_data(ACPI_COMPANION(dev));
+
+	if (dev_pm_smart_suspend_and_suspended(dev))
+		return 0;
+
+	if (pdata->dev_desc->resume_from_noirq) {
+		/* This is analogous to the acpi_lpss_suspend_noirq() case. */
+		int ret = acpi_lpss_do_poweroff_late(dev);
+		if (ret)
+			return ret;
+	}
+
+	return pm_generic_poweroff_noirq(dev);
+}
 #endif /* CONFIG_PM_SLEEP */
 
 static int acpi_lpss_runtime_suspend(struct device *dev)
@@ -1129,14 +1219,11 @@
 		.resume_noirq = acpi_lpss_resume_noirq,
 		.resume_early = acpi_lpss_resume_early,
 		.freeze = acpi_subsys_freeze,
-		.freeze_late = acpi_subsys_freeze_late,
-		.freeze_noirq = acpi_subsys_freeze_noirq,
-		.thaw_noirq = acpi_subsys_thaw_noirq,
-		.poweroff = acpi_subsys_suspend,
-		.poweroff_late = acpi_lpss_suspend_late,
-		.poweroff_noirq = acpi_lpss_suspend_noirq,
-		.restore_noirq = acpi_lpss_resume_noirq,
-		.restore_early = acpi_lpss_resume_early,
+		.poweroff = acpi_subsys_poweroff,
+		.poweroff_late = acpi_lpss_poweroff_late,
+		.poweroff_noirq = acpi_lpss_poweroff_noirq,
+		.restore_noirq = acpi_lpss_restore_noirq,
+		.restore_early = acpi_lpss_restore_early,
 #endif
 		.runtime_suspend = acpi_lpss_runtime_suspend,
 		.runtime_resume = acpi_lpss_runtime_resume,
diff --git a/drivers/acpi/acpi_memhotplug.c b/drivers/acpi/acpi_memhotplug.c
index 2ccfbb6..8fe0960 100644
--- a/drivers/acpi/acpi_memhotplug.c
+++ b/drivers/acpi/acpi_memhotplug.c
@@ -282,7 +282,7 @@
 			nid = memory_add_physaddr_to_nid(info->start_addr);
 
 		acpi_unbind_memory_blocks(info);
-		remove_memory(nid, info->start_addr, info->length);
+		__remove_memory(nid, info->start_addr, info->length);
 		list_del(&info->list);
 		kfree(info);
 	}
diff --git a/drivers/acpi/acpi_watchdog.c b/drivers/acpi/acpi_watchdog.c
index 9560030..23cde3d 100644
--- a/drivers/acpi/acpi_watchdog.c
+++ b/drivers/acpi/acpi_watchdog.c
@@ -129,12 +129,11 @@
 		gas = &entries[i].register_region;
 
 		res.start = gas->address;
+		res.end = res.start + ACPI_ACCESS_BYTE_WIDTH(gas->access_width) - 1;
 		if (gas->space_id == ACPI_ADR_SPACE_SYSTEM_MEMORY) {
 			res.flags = IORESOURCE_MEM;
-			res.end = res.start + ALIGN(gas->access_width, 4) - 1;
 		} else if (gas->space_id == ACPI_ADR_SPACE_SYSTEM_IO) {
 			res.flags = IORESOURCE_IO;
-			res.end = res.start + gas->access_width - 1;
 		} else {
 			pr_warn("Unsupported address space: %u\n",
 				gas->space_id);
diff --git a/drivers/acpi/acpica/dsfield.c b/drivers/acpi/acpica/dsfield.c
index 30fe895..bcc6a7a 100644
--- a/drivers/acpi/acpica/dsfield.c
+++ b/drivers/acpi/acpica/dsfield.c
@@ -244,7 +244,7 @@
  * FUNCTION:    acpi_ds_get_field_names
  *
  * PARAMETERS:  info            - create_field info structure
- *  `           walk_state      - Current method state
+ *              walk_state      - Current method state
  *              arg             - First parser arg for the field name list
  *
  * RETURN:      Status
diff --git a/drivers/acpi/acpica/dswload.c b/drivers/acpi/acpica/dswload.c
index d06c414..ba53662 100644
--- a/drivers/acpi/acpica/dswload.c
+++ b/drivers/acpi/acpica/dswload.c
@@ -412,6 +412,27 @@
 	ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH, "Op=%p State=%p\n", op,
 			  walk_state));
 
+	/*
+	 * Disassembler: handle create field operators here.
+	 *
+	 * create_buffer_field is a deferred op that is typically processed in load
+	 * pass 2. However, disassembly of control method contents walk the parse
+	 * tree with ACPI_PARSE_LOAD_PASS1 and AML_CREATE operators are processed
+	 * in a later walk. This is a problem when there is a control method that
+	 * has the same name as the AML_CREATE object. In this case, any use of the
+	 * name segment will be detected as a method call rather than a reference
+	 * to a buffer field.
+	 *
+	 * This earlier creation during disassembly solves this issue by inserting
+	 * the named object in the ACPI namespace so that references to this name
+	 * would be a name string rather than a method call.
+	 */
+	if ((walk_state->parse_flags & ACPI_PARSE_DISASSEMBLE) &&
+	    (walk_state->op_info->flags & AML_CREATE)) {
+		status = acpi_ds_create_buffer_field(op, walk_state);
+		return_ACPI_STATUS(status);
+	}
+
 	/* We are only interested in opcodes that have an associated name */
 
 	if (!(walk_state->op_info->flags & (AML_NAMED | AML_FIELD))) {
diff --git a/drivers/acpi/battery.c b/drivers/acpi/battery.c
index cb97b61..674a0e9 100644
--- a/drivers/acpi/battery.c
+++ b/drivers/acpi/battery.c
@@ -51,6 +51,8 @@
 #define PREFIX "ACPI: "
 
 #define ACPI_BATTERY_VALUE_UNKNOWN 0xFFFFFFFF
+#define ACPI_BATTERY_CAPACITY_VALID(capacity) \
+	((capacity) != 0 && (capacity) != ACPI_BATTERY_VALUE_UNKNOWN)
 
 #define ACPI_BATTERY_DEVICE_NAME	"Battery"
 
@@ -205,7 +207,8 @@
 
 static bool acpi_battery_is_degraded(struct acpi_battery *battery)
 {
-	return battery->full_charge_capacity && battery->design_capacity &&
+	return ACPI_BATTERY_CAPACITY_VALID(battery->full_charge_capacity) &&
+		ACPI_BATTERY_CAPACITY_VALID(battery->design_capacity) &&
 		battery->full_charge_capacity < battery->design_capacity;
 }
 
@@ -227,7 +230,7 @@
 				     enum power_supply_property psp,
 				     union power_supply_propval *val)
 {
-	int ret = 0;
+	int full_capacity = ACPI_BATTERY_VALUE_UNKNOWN, ret = 0;
 	struct acpi_battery *battery = to_acpi_battery(psy);
 
 	if (acpi_battery_present(battery)) {
@@ -276,14 +279,14 @@
 		break;
 	case POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN:
 	case POWER_SUPPLY_PROP_ENERGY_FULL_DESIGN:
-		if (battery->design_capacity == ACPI_BATTERY_VALUE_UNKNOWN)
+		if (!ACPI_BATTERY_CAPACITY_VALID(battery->design_capacity))
 			ret = -ENODEV;
 		else
 			val->intval = battery->design_capacity * 1000;
 		break;
 	case POWER_SUPPLY_PROP_CHARGE_FULL:
 	case POWER_SUPPLY_PROP_ENERGY_FULL:
-		if (battery->full_charge_capacity == ACPI_BATTERY_VALUE_UNKNOWN)
+		if (!ACPI_BATTERY_CAPACITY_VALID(battery->full_charge_capacity))
 			ret = -ENODEV;
 		else
 			val->intval = battery->full_charge_capacity * 1000;
@@ -296,11 +299,17 @@
 			val->intval = battery->capacity_now * 1000;
 		break;
 	case POWER_SUPPLY_PROP_CAPACITY:
-		if (battery->capacity_now && battery->full_charge_capacity)
-			val->intval = battery->capacity_now * 100/
-					battery->full_charge_capacity;
+		if (ACPI_BATTERY_CAPACITY_VALID(battery->full_charge_capacity))
+			full_capacity = battery->full_charge_capacity;
+		else if (ACPI_BATTERY_CAPACITY_VALID(battery->design_capacity))
+			full_capacity = battery->design_capacity;
+
+		if (battery->capacity_now == ACPI_BATTERY_VALUE_UNKNOWN ||
+		    full_capacity == ACPI_BATTERY_VALUE_UNKNOWN)
+			ret = -ENODEV;
 		else
-			val->intval = 0;
+			val->intval = battery->capacity_now * 100/
+					full_capacity;
 		break;
 	case POWER_SUPPLY_PROP_CAPACITY_LEVEL:
 		if (battery->state & ACPI_BATTERY_STATE_CRITICAL)
@@ -346,6 +355,20 @@
 	POWER_SUPPLY_PROP_SERIAL_NUMBER,
 };
 
+static enum power_supply_property charge_battery_full_cap_broken_props[] = {
+	POWER_SUPPLY_PROP_STATUS,
+	POWER_SUPPLY_PROP_PRESENT,
+	POWER_SUPPLY_PROP_TECHNOLOGY,
+	POWER_SUPPLY_PROP_CYCLE_COUNT,
+	POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN,
+	POWER_SUPPLY_PROP_VOLTAGE_NOW,
+	POWER_SUPPLY_PROP_CURRENT_NOW,
+	POWER_SUPPLY_PROP_CHARGE_NOW,
+	POWER_SUPPLY_PROP_MODEL_NAME,
+	POWER_SUPPLY_PROP_MANUFACTURER,
+	POWER_SUPPLY_PROP_SERIAL_NUMBER,
+};
+
 static enum power_supply_property energy_battery_props[] = {
 	POWER_SUPPLY_PROP_STATUS,
 	POWER_SUPPLY_PROP_PRESENT,
@@ -807,20 +830,34 @@
 static int sysfs_add_battery(struct acpi_battery *battery)
 {
 	struct power_supply_config psy_cfg = { .drv_data = battery, };
+	bool full_cap_broken = false;
+
+	if (!ACPI_BATTERY_CAPACITY_VALID(battery->full_charge_capacity) &&
+	    !ACPI_BATTERY_CAPACITY_VALID(battery->design_capacity))
+		full_cap_broken = true;
 
 	if (battery->power_unit == ACPI_BATTERY_POWER_UNIT_MA) {
-		battery->bat_desc.properties = charge_battery_props;
-		battery->bat_desc.num_properties =
-			ARRAY_SIZE(charge_battery_props);
-	} else if (battery->full_charge_capacity == 0) {
-		battery->bat_desc.properties =
-			energy_battery_full_cap_broken_props;
-		battery->bat_desc.num_properties =
-			ARRAY_SIZE(energy_battery_full_cap_broken_props);
+		if (full_cap_broken) {
+			battery->bat_desc.properties =
+			    charge_battery_full_cap_broken_props;
+			battery->bat_desc.num_properties =
+			    ARRAY_SIZE(charge_battery_full_cap_broken_props);
+		} else {
+			battery->bat_desc.properties = charge_battery_props;
+			battery->bat_desc.num_properties =
+			    ARRAY_SIZE(charge_battery_props);
+		}
 	} else {
-		battery->bat_desc.properties = energy_battery_props;
-		battery->bat_desc.num_properties =
-			ARRAY_SIZE(energy_battery_props);
+		if (full_cap_broken) {
+			battery->bat_desc.properties =
+			    energy_battery_full_cap_broken_props;
+			battery->bat_desc.num_properties =
+			    ARRAY_SIZE(energy_battery_full_cap_broken_props);
+		} else {
+			battery->bat_desc.properties = energy_battery_props;
+			battery->bat_desc.num_properties =
+			    ARRAY_SIZE(energy_battery_props);
+		}
 	}
 
 	battery->bat_desc.name = acpi_device_bid(battery->device);
diff --git a/drivers/acpi/button.c b/drivers/acpi/button.c
index 870eb5c..d5c19e2 100644
--- a/drivers/acpi/button.c
+++ b/drivers/acpi/button.c
@@ -102,6 +102,17 @@
 		},
 		.driver_data = (void *)(long)ACPI_BUTTON_LID_INIT_OPEN,
 	},
+	{
+		/*
+		 * Razer Blade Stealth 13 late 2019, notification of the LID device
+		 * only happens on close, not on open and _LID always returns closed.
+		 */
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "Razer"),
+			DMI_MATCH(DMI_PRODUCT_NAME, "Razer Blade Stealth 13 Late 2019"),
+		},
+		.driver_data = (void *)(long)ACPI_BUTTON_LID_INIT_OPEN,
+	},
 	{}
 };
 
@@ -467,8 +478,11 @@
 	struct acpi_button *button = acpi_driver_data(device);
 
 	button->suspended = false;
-	if (button->type == ACPI_BUTTON_TYPE_LID && button->input->users)
+	if (button->type == ACPI_BUTTON_TYPE_LID && button->input->users) {
+		button->last_state = !!acpi_lid_evaluate_state(device);
+		button->last_time = ktime_get();
 		acpi_lid_initialize_state(device);
+	}
 	return 0;
 }
 #endif
diff --git a/drivers/acpi/device_pm.c b/drivers/acpi/device_pm.c
index e0927c5..19f5f7c 100644
--- a/drivers/acpi/device_pm.c
+++ b/drivers/acpi/device_pm.c
@@ -455,7 +455,8 @@
 		goto out;
 
 	mutex_lock(&acpi_pm_notifier_lock);
-	adev->wakeup.ws = wakeup_source_register(dev_name(&adev->dev));
+	adev->wakeup.ws = wakeup_source_register(&adev->dev,
+						 dev_name(&adev->dev));
 	adev->wakeup.context.dev = dev;
 	adev->wakeup.context.func = func;
 	adev->wakeup.flags.notifier_present = true;
@@ -1077,7 +1078,7 @@
  * acpi_subsys_resume_noirq - Run the device driver's "noirq" resume callback.
  * @dev: Device to handle.
  */
-int acpi_subsys_resume_noirq(struct device *dev)
+static int acpi_subsys_resume_noirq(struct device *dev)
 {
 	if (dev_pm_may_skip_resume(dev))
 		return 0;
@@ -1092,7 +1093,6 @@
 
 	return pm_generic_resume_noirq(dev);
 }
-EXPORT_SYMBOL_GPL(acpi_subsys_resume_noirq);
 
 /**
  * acpi_subsys_resume_early - Resume device using ACPI.
@@ -1102,12 +1102,11 @@
  * generic early resume procedure for it during system transition into the
  * working state.
  */
-int acpi_subsys_resume_early(struct device *dev)
+static int acpi_subsys_resume_early(struct device *dev)
 {
 	int ret = acpi_dev_resume(dev);
 	return ret ? ret : pm_generic_resume_early(dev);
 }
-EXPORT_SYMBOL_GPL(acpi_subsys_resume_early);
 
 /**
  * acpi_subsys_freeze - Run the device driver's freeze callback.
@@ -1116,65 +1115,81 @@
 int acpi_subsys_freeze(struct device *dev)
 {
 	/*
-	 * This used to be done in acpi_subsys_prepare() for all devices and
-	 * some drivers may depend on it, so do it here.  Ideally, however,
-	 * runtime-suspended devices should not be touched during freeze/thaw
-	 * transitions.
+	 * Resume all runtime-suspended devices before creating a snapshot
+	 * image of system memory, because the restore kernel generally cannot
+	 * be expected to always handle them consistently and they need to be
+	 * put into the runtime-active metastate during system resume anyway,
+	 * so it is better to ensure that the state saved in the image will be
+	 * always consistent with that.
 	 */
-	if (!dev_pm_test_driver_flags(dev, DPM_FLAG_SMART_SUSPEND))
-		pm_runtime_resume(dev);
+	pm_runtime_resume(dev);
 
 	return pm_generic_freeze(dev);
 }
 EXPORT_SYMBOL_GPL(acpi_subsys_freeze);
 
 /**
- * acpi_subsys_freeze_late - Run the device driver's "late" freeze callback.
- * @dev: Device to handle.
+ * acpi_subsys_restore_early - Restore device using ACPI.
+ * @dev: Device to restore.
  */
-int acpi_subsys_freeze_late(struct device *dev)
+int acpi_subsys_restore_early(struct device *dev)
 {
+	int ret = acpi_dev_resume(dev);
+	return ret ? ret : pm_generic_restore_early(dev);
+}
+EXPORT_SYMBOL_GPL(acpi_subsys_restore_early);
+
+/**
+ * acpi_subsys_poweroff - Run the device driver's poweroff callback.
+ * @dev: Device to handle.
+ *
+ * Follow PCI and resume devices from runtime suspend before running their
+ * system poweroff callbacks, unless the driver can cope with runtime-suspended
+ * devices during system suspend and there are no ACPI-specific reasons for
+ * resuming them.
+ */
+int acpi_subsys_poweroff(struct device *dev)
+{
+	if (!dev_pm_test_driver_flags(dev, DPM_FLAG_SMART_SUSPEND) ||
+	    acpi_dev_needs_resume(dev, ACPI_COMPANION(dev)))
+		pm_runtime_resume(dev);
+
+	return pm_generic_poweroff(dev);
+}
+EXPORT_SYMBOL_GPL(acpi_subsys_poweroff);
+
+/**
+ * acpi_subsys_poweroff_late - Run the device driver's poweroff callback.
+ * @dev: Device to handle.
+ *
+ * Carry out the generic late poweroff procedure for @dev and use ACPI to put
+ * it into a low-power state during system transition into a sleep state.
+ */
+static int acpi_subsys_poweroff_late(struct device *dev)
+{
+	int ret;
 
 	if (dev_pm_smart_suspend_and_suspended(dev))
 		return 0;
 
-	return pm_generic_freeze_late(dev);
+	ret = pm_generic_poweroff_late(dev);
+	if (ret)
+		return ret;
+
+	return acpi_dev_suspend(dev, device_may_wakeup(dev));
 }
-EXPORT_SYMBOL_GPL(acpi_subsys_freeze_late);
 
 /**
- * acpi_subsys_freeze_noirq - Run the device driver's "noirq" freeze callback.
- * @dev: Device to handle.
+ * acpi_subsys_poweroff_noirq - Run the driver's "noirq" poweroff callback.
+ * @dev: Device to suspend.
  */
-int acpi_subsys_freeze_noirq(struct device *dev)
+static int acpi_subsys_poweroff_noirq(struct device *dev)
 {
-
 	if (dev_pm_smart_suspend_and_suspended(dev))
 		return 0;
 
-	return pm_generic_freeze_noirq(dev);
+	return pm_generic_poweroff_noirq(dev);
 }
-EXPORT_SYMBOL_GPL(acpi_subsys_freeze_noirq);
-
-/**
- * acpi_subsys_thaw_noirq - Run the device driver's "noirq" thaw callback.
- * @dev: Device to handle.
- */
-int acpi_subsys_thaw_noirq(struct device *dev)
-{
-	/*
-	 * If the device is in runtime suspend, the "thaw" code may not work
-	 * correctly with it, so skip the driver callback and make the PM core
-	 * skip all of the subsequent "thaw" callbacks for the device.
-	 */
-	if (dev_pm_smart_suspend_and_suspended(dev)) {
-		dev_pm_skip_next_resume_phases(dev);
-		return 0;
-	}
-
-	return pm_generic_thaw_noirq(dev);
-}
-EXPORT_SYMBOL_GPL(acpi_subsys_thaw_noirq);
 #endif /* CONFIG_PM_SLEEP */
 
 static struct dev_pm_domain acpi_general_pm_domain = {
@@ -1190,14 +1205,10 @@
 		.resume_noirq = acpi_subsys_resume_noirq,
 		.resume_early = acpi_subsys_resume_early,
 		.freeze = acpi_subsys_freeze,
-		.freeze_late = acpi_subsys_freeze_late,
-		.freeze_noirq = acpi_subsys_freeze_noirq,
-		.thaw_noirq = acpi_subsys_thaw_noirq,
-		.poweroff = acpi_subsys_suspend,
-		.poweroff_late = acpi_subsys_suspend_late,
-		.poweroff_noirq = acpi_subsys_suspend_noirq,
-		.restore_noirq = acpi_subsys_resume_noirq,
-		.restore_early = acpi_subsys_resume_early,
+		.poweroff = acpi_subsys_poweroff,
+		.poweroff_late = acpi_subsys_poweroff_late,
+		.poweroff_noirq = acpi_subsys_poweroff_noirq,
+		.restore_early = acpi_subsys_restore_early,
 #endif
 	},
 };
diff --git a/drivers/acpi/nfit/core.c b/drivers/acpi/nfit/core.c
index 8340c81..ec374db 100644
--- a/drivers/acpi/nfit/core.c
+++ b/drivers/acpi/nfit/core.c
@@ -2282,7 +2282,7 @@
 		offset = to_interleave_offset(offset, mmio);
 
 	writeq(cmd, mmio->addr.base + offset);
-	nvdimm_flush(nfit_blk->nd_region);
+	nvdimm_flush(nfit_blk->nd_region, NULL);
 
 	if (nfit_blk->dimm_flags & NFIT_BLK_DCR_LATCH)
 		readq(mmio->addr.base + offset);
@@ -2331,7 +2331,7 @@
 	}
 
 	if (rw)
-		nvdimm_flush(nfit_blk->nd_region);
+		nvdimm_flush(nfit_blk->nd_region, NULL);
 
 	rc = read_blk_stat(nfit_blk, lane) ? -EIO : 0;
 	return rc;
diff --git a/drivers/acpi/video_detect.c b/drivers/acpi/video_detect.c
index 43587ac..214c4e2 100644
--- a/drivers/acpi/video_detect.c
+++ b/drivers/acpi/video_detect.c
@@ -328,6 +328,11 @@
 		DMI_MATCH(DMI_PRODUCT_NAME, "Precision 7510"),
 		},
 	},
+
+	/*
+	 * Desktops which falsely report a backlight and which our heuristics
+	 * for this do not catch.
+	 */
 	{
 	 .callback = video_detect_force_none,
 	 .ident = "Dell OptiPlex 9020M",
@@ -336,6 +341,14 @@
 		DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 9020M"),
 		},
 	},
+	{
+	 .callback = video_detect_force_none,
+	 .ident = "MSI MS-7721",
+	 .matches = {
+		DMI_MATCH(DMI_SYS_VENDOR, "MSI"),
+		DMI_MATCH(DMI_PRODUCT_NAME, "MS-7721"),
+		},
+	},
 	{ },
 };
 
diff --git a/drivers/android/binder.c b/drivers/android/binder.c
index 4cdbd7b..814120f 100644
--- a/drivers/android/binder.c
+++ b/drivers/android/binder.c
@@ -5215,6 +5215,7 @@
 		binder_dev = container_of(filp->private_data,
 					  struct binder_device, miscdev);
 	}
+	refcount_inc(&binder_dev->ref);
 	proc->context = &binder_dev->context;
 	binder_alloc_init(&proc->alloc);
 
@@ -5392,6 +5393,7 @@
 static void binder_deferred_release(struct binder_proc *proc)
 {
 	struct binder_context *context = proc->context;
+	struct binder_device *device;
 	struct rb_node *n;
 	int threads, nodes, incoming_refs, outgoing_refs, active_transactions;
 
@@ -5410,6 +5412,12 @@
 		context->binder_context_mgr_node = NULL;
 	}
 	mutex_unlock(&context->context_mgr_node_lock);
+	device = container_of(proc->context, struct binder_device, context);
+	if (refcount_dec_and_test(&device->ref)) {
+		kfree(context->name);
+		kfree(device);
+	}
+	proc->context = NULL;
 	binder_inner_proc_lock(proc);
 	/*
 	 * Make sure proc stays alive after we
@@ -6081,6 +6089,7 @@
 	binder_device->miscdev.minor = MISC_DYNAMIC_MINOR;
 	binder_device->miscdev.name = name;
 
+	refcount_set(&binder_device->ref, 1);
 	binder_device->context.binder_context_mgr_uid = INVALID_UID;
 	binder_device->context.name = name;
 	mutex_init(&binder_device->context.context_mgr_node_lock);
diff --git a/drivers/android/binder_internal.h b/drivers/android/binder_internal.h
index bd47f7f..8d0bffc 100644
--- a/drivers/android/binder_internal.h
+++ b/drivers/android/binder_internal.h
@@ -8,6 +8,7 @@
 #include <linux/list.h>
 #include <linux/miscdevice.h>
 #include <linux/mutex.h>
+#include <linux/refcount.h>
 #include <linux/stddef.h>
 #include <linux/types.h>
 #include <linux/uidgid.h>
@@ -33,6 +34,7 @@
 	struct miscdevice miscdev;
 	struct binder_context context;
 	struct inode *binderfs_inode;
+	refcount_t ref;
 };
 
 /**
diff --git a/drivers/android/binderfs.c b/drivers/android/binderfs.c
index e2580e5..110e41f 100644
--- a/drivers/android/binderfs.c
+++ b/drivers/android/binderfs.c
@@ -154,6 +154,7 @@
 	if (!name)
 		goto err;
 
+	refcount_set(&device->ref, 1);
 	device->binderfs_inode = inode;
 	device->context.binder_context_mgr_uid = INVALID_UID;
 	device->context.name = name;
@@ -257,8 +258,10 @@
 	ida_free(&binderfs_minors, device->miscdev.minor);
 	mutex_unlock(&binderfs_minors_mutex);
 
-	kfree(device->context.name);
-	kfree(device);
+	if (refcount_dec_and_test(&device->ref)) {
+		kfree(device->context.name);
+		kfree(device);
+	}
 }
 
 /**
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index fa1c5a4..bbc8710 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -96,6 +96,7 @@
 
 static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent);
 static void ahci_remove_one(struct pci_dev *dev);
+static void ahci_shutdown_one(struct pci_dev *dev);
 static int ahci_vt8251_hardreset(struct ata_link *link, unsigned int *class,
 				 unsigned long deadline);
 static int ahci_avn_hardreset(struct ata_link *link, unsigned int *class,
@@ -609,6 +610,7 @@
 	.id_table		= ahci_pci_tbl,
 	.probe			= ahci_init_one,
 	.remove			= ahci_remove_one,
+	.shutdown		= ahci_shutdown_one,
 	.driver = {
 		.pm		= &ahci_pci_pm_ops,
 	},
@@ -1897,6 +1899,11 @@
 	return 0;
 }
 
+static void ahci_shutdown_one(struct pci_dev *pdev)
+{
+	ata_pci_shutdown_one(pdev);
+}
+
 static void ahci_remove_one(struct pci_dev *pdev)
 {
 	pm_runtime_get_noresume(&pdev->dev);
diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c
index b5f57c6..2bdb250 100644
--- a/drivers/ata/libahci.c
+++ b/drivers/ata/libahci.c
@@ -191,7 +191,6 @@
 EXPORT_SYMBOL_GPL(ahci_pmp_retry_srst_ops);
 
 static bool ahci_em_messages __read_mostly = true;
-EXPORT_SYMBOL_GPL(ahci_em_messages);
 module_param(ahci_em_messages, bool, 0444);
 /* add other LED protocol types when they become supported */
 MODULE_PARM_DESC(ahci_em_messages,
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index b45b6f7..75d582c 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -6780,6 +6780,26 @@
 	ata_host_detach(host);
 }
 
+void ata_pci_shutdown_one(struct pci_dev *pdev)
+{
+	struct ata_host *host = pci_get_drvdata(pdev);
+	int i;
+
+	for (i = 0; i < host->n_ports; i++) {
+		struct ata_port *ap = host->ports[i];
+
+		ap->pflags |= ATA_PFLAG_FROZEN;
+
+		/* Disable port interrupts */
+		if (ap->ops->freeze)
+			ap->ops->freeze(ap);
+
+		/* Stop the port DMA engines */
+		if (ap->ops->port_stop)
+			ap->ops->port_stop(ap);
+	}
+}
+
 /* move to PCI subsystem */
 int pci_test_config_bits(struct pci_dev *pdev, const struct pci_bits *bits)
 {
@@ -7400,6 +7420,7 @@
 
 #ifdef CONFIG_PCI
 EXPORT_SYMBOL_GPL(pci_test_config_bits);
+EXPORT_SYMBOL_GPL(ata_pci_shutdown_one);
 EXPORT_SYMBOL_GPL(ata_pci_remove_one);
 #ifdef CONFIG_PM
 EXPORT_SYMBOL_GPL(ata_pci_device_do_suspend);
diff --git a/drivers/atm/eni.c b/drivers/atm/eni.c
index 6470e3c..7323e92 100644
--- a/drivers/atm/eni.c
+++ b/drivers/atm/eni.c
@@ -372,7 +372,7 @@
 		here = (eni_vcc->descr+skip) & (eni_vcc->words-1);
 		dma[j++] = (here << MID_DMA_COUNT_SHIFT) | (vcc->vci
 		    << MID_DMA_VCI_SHIFT) | MID_DT_JK;
-		j++;
+		dma[j++] = 0;
 	}
 	here = (eni_vcc->descr+size+skip) & (eni_vcc->words-1);
 	if (!eff) size += skip;
@@ -445,7 +445,7 @@
 	if (size != eff) {
 		dma[j++] = (here << MID_DMA_COUNT_SHIFT) |
 		    (vcc->vci << MID_DMA_VCI_SHIFT) | MID_DT_JK;
-		j++;
+		dma[j++] = 0;
 	}
 	if (!j || j > 2*RX_DMA_BUF) {
 		printk(KERN_CRIT DEV_LABEL "!j or j too big!!!\n");
diff --git a/drivers/atm/firestream.c b/drivers/atm/firestream.c
index 4e46dc9..112b100 100644
--- a/drivers/atm/firestream.c
+++ b/drivers/atm/firestream.c
@@ -927,6 +927,7 @@
 			}
 			if (!to) {
 				printk ("No more free channels for FS50..\n");
+				kfree(vcc);
 				return -EBUSY;
 			}
 			vcc->channo = dev->channo;
@@ -937,6 +938,7 @@
 			if (((DO_DIRECTION(rxtp) && dev->atm_vccs[vcc->channo])) ||
 			    ( DO_DIRECTION(txtp) && test_bit (vcc->channo, dev->tx_inuse))) {
 				printk ("Channel is in use for FS155.\n");
+				kfree(vcc);
 				return -EBUSY;
 			}
 		}
@@ -950,6 +952,7 @@
 			    tc, sizeof (struct fs_transmit_config));
 		if (!tc) {
 			fs_dprintk (FS_DEBUG_OPEN, "fs: can't alloc transmit_config.\n");
+			kfree(vcc);
 			return -ENOMEM;
 		}
 
diff --git a/drivers/atm/fore200e.c b/drivers/atm/fore200e.c
index 99a3811..86aab14 100644
--- a/drivers/atm/fore200e.c
+++ b/drivers/atm/fore200e.c
@@ -1504,12 +1504,14 @@
 static void
 fore200e_close(struct atm_vcc* vcc)
 {
-    struct fore200e*        fore200e = FORE200E_DEV(vcc->dev);
     struct fore200e_vcc*    fore200e_vcc;
+    struct fore200e*        fore200e;
     struct fore200e_vc_map* vc_map;
     unsigned long           flags;
 
     ASSERT(vcc);
+    fore200e = FORE200E_DEV(vcc->dev);
+
     ASSERT((vcc->vpi >= 0) && (vcc->vpi < 1<<FORE200E_VPI_BITS));
     ASSERT((vcc->vci >= 0) && (vcc->vci < 1<<FORE200E_VCI_BITS));
 
@@ -1554,10 +1556,10 @@
 static int
 fore200e_send(struct atm_vcc *vcc, struct sk_buff *skb)
 {
-    struct fore200e*        fore200e     = FORE200E_DEV(vcc->dev);
-    struct fore200e_vcc*    fore200e_vcc = FORE200E_VCC(vcc);
+    struct fore200e*        fore200e;
+    struct fore200e_vcc*    fore200e_vcc;
     struct fore200e_vc_map* vc_map;
-    struct host_txq*        txq          = &fore200e->host_txq;
+    struct host_txq*        txq;
     struct host_txq_entry*  entry;
     struct tpd*             tpd;
     struct tpd_haddr        tpd_haddr;
@@ -1570,9 +1572,18 @@
     unsigned char*          data;
     unsigned long           flags;
 
-    ASSERT(vcc);
-    ASSERT(fore200e);
-    ASSERT(fore200e_vcc);
+    if (!vcc)
+        return -EINVAL;
+
+    fore200e = FORE200E_DEV(vcc->dev);
+    fore200e_vcc = FORE200E_VCC(vcc);
+
+    if (!fore200e)
+        return -EINVAL;
+
+    txq = &fore200e->host_txq;
+    if (!fore200e_vcc)
+        return -EINVAL;
 
     if (!test_bit(ATM_VF_READY, &vcc->flags)) {
 	DPRINTK(1, "VC %d.%d.%d not ready for tx\n", vcc->itf, vcc->vpi, vcc->vpi);
diff --git a/drivers/base/component.c b/drivers/base/component.c
index e8d676f..7f7c423 100644
--- a/drivers/base/component.c
+++ b/drivers/base/component.c
@@ -74,11 +74,11 @@
 	seq_printf(s, "%-40s %20s\n", "device name", "status");
 	seq_puts(s, "-------------------------------------------------------------\n");
 	for (i = 0; i < match->num; i++) {
-		struct device *d = (struct device *)match->compare[i].data;
+		struct component *component = match->compare[i].component;
 
-		seq_printf(s, "%-40s %20s\n", dev_name(d),
-			   match->compare[i].component ?
-			   "registered" : "not registered");
+		seq_printf(s, "%-40s %20s\n",
+			   component ? dev_name(component->dev) : "(unknown)",
+			   component ? (component->bound ? "bound" : "not bound") : "not registered");
 	}
 	mutex_unlock(&component_mutex);
 
diff --git a/drivers/base/core.c b/drivers/base/core.c
index 5abecfb..52f639a 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -189,10 +189,14 @@
  * of the link.  If DL_FLAG_PM_RUNTIME is not set, DL_FLAG_RPM_ACTIVE will be
  * ignored.
  *
- * If the DL_FLAG_AUTOREMOVE_CONSUMER is set, the link will be removed
- * automatically when the consumer device driver unbinds from it.
- * The combination of both DL_FLAG_AUTOREMOVE_CONSUMER and DL_FLAG_STATELESS
- * set is invalid and will cause NULL to be returned.
+ * If the DL_FLAG_AUTOREMOVE_CONSUMER flag is set, the link will be removed
+ * automatically when the consumer device driver unbinds from it.  Analogously,
+ * if DL_FLAG_AUTOREMOVE_SUPPLIER is set in @flags, the link will be removed
+ * automatically when the supplier device driver unbinds from it.
+ *
+ * The combination of DL_FLAG_STATELESS and either DL_FLAG_AUTOREMOVE_CONSUMER
+ * or DL_FLAG_AUTOREMOVE_SUPPLIER set in @flags at the same time is invalid and
+ * will cause NULL to be returned upfront.
  *
  * A side effect of the link creation is re-ordering of dpm_list and the
  * devices_kset list by moving the consumer device and all devices depending
@@ -211,10 +215,17 @@
 	if (!consumer || !supplier ||
 	    (flags & DL_FLAG_SYNC_STATE_ONLY &&
 	     flags != DL_FLAG_SYNC_STATE_ONLY) ||
-	    ((flags & DL_FLAG_STATELESS) &&
-	     (flags & DL_FLAG_AUTOREMOVE_CONSUMER)))
+	    (flags & DL_FLAG_STATELESS &&
+	     flags & (DL_FLAG_AUTOREMOVE_CONSUMER | DL_FLAG_AUTOREMOVE_SUPPLIER)))
 		return NULL;
 
+	if (flags & DL_FLAG_PM_RUNTIME && flags & DL_FLAG_RPM_ACTIVE) {
+		if (pm_runtime_get_sync(supplier) < 0) {
+			pm_runtime_put_noidle(supplier);
+			return NULL;
+		}
+	}
+
 	device_links_write_lock();
 	device_pm_lock();
 
@@ -232,40 +243,57 @@
 		goto out;
 	}
 
-	list_for_each_entry(link, &supplier->links.consumers, s_node)
-		if (link->consumer == consumer) {
-			kref_get(&link->kref);
-			if (link->flags & DL_FLAG_SYNC_STATE_ONLY &&
-			    !(flags & DL_FLAG_SYNC_STATE_ONLY)) {
-				link->flags &= ~DL_FLAG_SYNC_STATE_ONLY;
-				goto reorder;
-			}
+	list_for_each_entry(link, &supplier->links.consumers, s_node) {
+		if (link->consumer != consumer)
+			continue;
+
+		/*
+		 * Don't return a stateless link if the caller wants a stateful
+		 * one and vice versa.
+		 */
+		if (WARN_ON((flags & DL_FLAG_STATELESS) != (link->flags & DL_FLAG_STATELESS))) {
+			link = NULL;
 			goto out;
 		}
 
+		if (flags & DL_FLAG_AUTOREMOVE_CONSUMER)
+			link->flags |= DL_FLAG_AUTOREMOVE_CONSUMER;
+
+		if (flags & DL_FLAG_AUTOREMOVE_SUPPLIER)
+			link->flags |= DL_FLAG_AUTOREMOVE_SUPPLIER;
+
+		if (flags & DL_FLAG_PM_RUNTIME) {
+			if (!(link->flags & DL_FLAG_PM_RUNTIME)) {
+				pm_runtime_new_link(consumer);
+				link->flags |= DL_FLAG_PM_RUNTIME;
+			}
+			if (flags & DL_FLAG_RPM_ACTIVE)
+				refcount_inc(&link->rpm_active);
+		}
+
+		kref_get(&link->kref);
+
+		if (link->flags & DL_FLAG_SYNC_STATE_ONLY &&
+		    !(flags & DL_FLAG_SYNC_STATE_ONLY)) {
+			link->flags &= ~DL_FLAG_SYNC_STATE_ONLY;
+			goto reorder;
+		}
+		goto out;
+	}
+
 	link = kzalloc(sizeof(*link), GFP_KERNEL);
 	if (!link)
 		goto out;
 
+	refcount_set(&link->rpm_active, 1);
+
 	if (flags & DL_FLAG_PM_RUNTIME) {
-		if (flags & DL_FLAG_RPM_ACTIVE) {
-			if (pm_runtime_get_sync(supplier) < 0) {
-				pm_runtime_put_noidle(supplier);
-				kfree(link);
-				link = NULL;
-				goto out;
-			}
-			link->rpm_active = true;
-		}
+		if (flags & DL_FLAG_RPM_ACTIVE)
+			refcount_inc(&link->rpm_active);
+
 		pm_runtime_new_link(consumer);
-		/*
-		 * If the link is being added by the consumer driver at probe
-		 * time, balance the decrementation of the supplier's runtime PM
-		 * usage counter after consumer probe in driver_probe_device().
-		 */
-		if (consumer->links.status == DL_DEV_PROBING)
-			pm_runtime_get_noresume(supplier);
 	}
+
 	get_device(supplier);
 	link->supplier = supplier;
 	INIT_LIST_HEAD(&link->s_node);
@@ -330,6 +358,10 @@
  out:
 	device_pm_unlock();
 	device_links_write_unlock();
+
+	if ((flags & DL_FLAG_PM_RUNTIME && flags & DL_FLAG_RPM_ACTIVE) && !link)
+		pm_runtime_put(supplier);
+
 	return link;
 }
 EXPORT_SYMBOL_GPL(device_link_add);
@@ -392,14 +424,21 @@
 
 	mutex_lock(&wfs_lock);
 	list_for_each_entry_safe(dev, tmp, &wait_for_suppliers,
-				 links.needs_suppliers)
-		if (!fwnode_call_int_op(dev->fwnode, add_links, dev))
+				 links.needs_suppliers) {
+		int ret = fwnode_call_int_op(dev->fwnode, add_links, dev);
+		if (!ret)
 			list_del_init(&dev->links.needs_suppliers);
+		else if (ret != -ENODEV)
+			dev->links.need_for_probe = false;
+	}
 	mutex_unlock(&wfs_lock);
 }
 
 static void device_link_free(struct device_link *link)
 {
+	while (refcount_dec_not_one(&link->rpm_active))
+		pm_runtime_put(link->supplier);
+
 	put_device(link->consumer);
 	put_device(link->supplier);
 	kfree(link);
@@ -603,25 +642,31 @@
 /**
  * device_links_flush_sync_list - Call sync_state() on a list of devices
  * @list: List of devices to call sync_state() on
+ * @dont_lock_dev: Device for which lock is already held by the caller
  *
  * Calls sync_state() on all the devices that have been queued for it. This
- * function is used in conjunction with __device_links_queue_sync_state().
+ * function is used in conjunction with __device_links_queue_sync_state(). The
+ * @dont_lock_dev parameter is useful when this function is called from a
+ * context where a device lock is already held.
  */
-static void device_links_flush_sync_list(struct list_head *list)
+static void device_links_flush_sync_list(struct list_head *list,
+					 struct device *dont_lock_dev)
 {
 	struct device *dev, *tmp;
 
 	list_for_each_entry_safe(dev, tmp, list, links.defer_sync) {
 		list_del_init(&dev->links.defer_sync);
 
-		device_lock(dev);
+		if (dev != dont_lock_dev)
+			device_lock(dev);
 
 		if (dev->bus->sync_state)
 			dev->bus->sync_state(dev);
 		else if (dev->driver && dev->driver->sync_state)
 			dev->driver->sync_state(dev);
 
-		device_unlock(dev);
+		if (dev != dont_lock_dev)
+			device_unlock(dev);
 
 		put_device(dev);
 	}
@@ -659,7 +704,7 @@
 out:
 	device_links_write_unlock();
 
-	device_links_flush_sync_list(&sync_list);
+	device_links_flush_sync_list(&sync_list, NULL);
 }
 
 static int sync_state_resume_initcall(void)
@@ -710,6 +755,11 @@
 		WRITE_ONCE(link->status, DL_STATE_AVAILABLE);
 	}
 
+	if (defer_sync_state_count)
+		__device_links_supplier_defer_sync(dev);
+	else
+		__device_links_queue_sync_state(dev, &sync_list);
+
 	list_for_each_entry(link, &dev->links.suppliers, c_node) {
 		if (link->flags & DL_FLAG_STATELESS)
 			continue;
@@ -728,7 +778,7 @@
 
 	device_links_write_unlock();
 
-	device_links_flush_sync_list(&sync_list);
+	device_links_flush_sync_list(&sync_list, dev);
 }
 
 /**
@@ -779,11 +829,11 @@
  */
 void device_links_driver_cleanup(struct device *dev)
 {
-	struct device_link *link;
+	struct device_link *link, *ln;
 
 	device_links_write_lock();
 
-	list_for_each_entry(link, &dev->links.consumers, s_node) {
+	list_for_each_entry_safe(link, ln, &dev->links.consumers, s_node) {
 		if (link->flags & DL_FLAG_STATELESS)
 			continue;
 
diff --git a/drivers/base/dd.c b/drivers/base/dd.c
index b7e156f..e7376fc 100644
--- a/drivers/base/dd.c
+++ b/drivers/base/dd.c
@@ -491,7 +491,10 @@
 	atomic_inc(&probe_count);
 	pr_debug("bus: '%s': %s: probing driver %s with device %s\n",
 		 drv->bus->name, __func__, drv->name, dev_name(dev));
-	WARN_ON(!list_empty(&dev->devres_head));
+	if (!list_empty(&dev->devres_head)) {
+		dev_crit(dev, "Resources present before probing\n");
+		return -EBUSY;
+	}
 
 re_probe:
 	dev->driver = drv;
diff --git a/drivers/base/memory.c b/drivers/base/memory.c
index b964fe1..a755c37 100644
--- a/drivers/base/memory.c
+++ b/drivers/base/memory.c
@@ -39,6 +39,11 @@
 	return section_nr / sections_per_block;
 }
 
+static inline int pfn_to_block_id(unsigned long pfn)
+{
+	return base_memory_block_id(pfn_to_section_nr(pfn));
+}
+
 static int memory_subsys_online(struct device *dev);
 static int memory_subsys_offline(struct device *dev);
 
@@ -230,13 +235,14 @@
  * OK to have direct references to sparsemem variables in here.
  */
 static int
-memory_block_action(unsigned long phys_index, unsigned long action, int online_type)
+memory_block_action(unsigned long start_section_nr, unsigned long action,
+		    int online_type)
 {
 	unsigned long start_pfn;
 	unsigned long nr_pages = PAGES_PER_SECTION * sections_per_block;
 	int ret;
 
-	start_pfn = section_nr_to_pfn(phys_index);
+	start_pfn = section_nr_to_pfn(start_section_nr);
 
 	switch (action) {
 	case MEM_ONLINE:
@@ -250,7 +256,7 @@
 		break;
 	default:
 		WARN(1, KERN_WARNING "%s(%ld, %ld) unknown action: "
-		     "%ld\n", __func__, phys_index, action, action);
+		     "%ld\n", __func__, start_section_nr, action, action);
 		ret = -EINVAL;
 	}
 
@@ -671,10 +677,9 @@
  * A reference for the returned object is held and the reference for the
  * hinted object is released.
  */
-struct memory_block *find_memory_block_hinted(struct mem_section *section,
-					      struct memory_block *hint)
+static struct memory_block *find_memory_block_by_id(int block_id,
+						    struct memory_block *hint)
 {
-	int block_id = base_memory_block_id(__section_nr(section));
 	struct device *hintdev = hint ? &hint->dev : NULL;
 	struct device *dev;
 
@@ -686,6 +691,14 @@
 	return to_memory_block(dev);
 }
 
+struct memory_block *find_memory_block_hinted(struct mem_section *section,
+					      struct memory_block *hint)
+{
+	int block_id = base_memory_block_id(__section_nr(section));
+
+	return find_memory_block_by_id(block_id, hint);
+}
+
 /*
  * For now, we have a linear search to go find the appropriate
  * memory_block corresponding to a particular phys_index. If
@@ -743,25 +756,28 @@
 	return ret;
 }
 
-static int init_memory_block(struct memory_block **memory,
-			     struct mem_section *section, unsigned long state)
+static int init_memory_block(struct memory_block **memory, int block_id,
+			     unsigned long state)
 {
 	struct memory_block *mem;
 	unsigned long start_pfn;
-	int scn_nr;
 	int ret = 0;
 
+	mem = find_memory_block_by_id(block_id, NULL);
+	if (mem) {
+		put_device(&mem->dev);
+		return -EEXIST;
+	}
 	mem = kzalloc(sizeof(*mem), GFP_KERNEL);
 	if (!mem)
 		return -ENOMEM;
 
-	scn_nr = __section_nr(section);
-	mem->start_section_nr =
-			base_memory_block_id(scn_nr) * sections_per_block;
+	mem->start_section_nr = block_id * sections_per_block;
 	mem->end_section_nr = mem->start_section_nr + sections_per_block - 1;
 	mem->state = state;
 	start_pfn = section_nr_to_pfn(mem->start_section_nr);
 	mem->phys_device = arch_get_memory_phys_device(start_pfn);
+	mem->nid = NUMA_NO_NODE;
 
 	ret = register_memory(mem);
 
@@ -772,101 +788,98 @@
 static int add_memory_block(int base_section_nr)
 {
 	struct memory_block *mem;
-	int i, ret, section_count = 0, section_nr;
+	int i, ret, section_count = 0;
 
 	for (i = base_section_nr;
-	     (i < base_section_nr + sections_per_block) && i < NR_MEM_SECTIONS;
-	     i++) {
-		if (!present_section_nr(i))
-			continue;
-		if (section_count == 0)
-			section_nr = i;
-		section_count++;
-	}
+	     i < base_section_nr + sections_per_block;
+	     i++)
+		if (present_section_nr(i))
+			section_count++;
 
 	if (section_count == 0)
 		return 0;
-	ret = init_memory_block(&mem, __nr_to_section(section_nr), MEM_ONLINE);
+	ret = init_memory_block(&mem, base_memory_block_id(base_section_nr),
+				MEM_ONLINE);
 	if (ret)
 		return ret;
 	mem->section_count = section_count;
 	return 0;
 }
 
-/*
- * need an interface for the VM to add new memory regions,
- * but without onlining it.
- */
-int hotplug_memory_register(int nid, struct mem_section *section)
+static void unregister_memory(struct memory_block *memory)
 {
-	int ret = 0;
-	struct memory_block *mem;
+	if (WARN_ON_ONCE(memory->dev.bus != &memory_subsys))
+		return;
 
-	mutex_lock(&mem_sysfs_mutex);
-
-	mem = find_memory_block(section);
-	if (mem) {
-		mem->section_count++;
-		put_device(&mem->dev);
-	} else {
-		ret = init_memory_block(&mem, section, MEM_OFFLINE);
-		if (ret)
-			goto out;
-		mem->section_count++;
-	}
-
-out:
-	mutex_unlock(&mem_sysfs_mutex);
-	return ret;
-}
-
-#ifdef CONFIG_MEMORY_HOTREMOVE
-static void
-unregister_memory(struct memory_block *memory)
-{
-	BUG_ON(memory->dev.bus != &memory_subsys);
-
-	/* drop the ref. we got in remove_memory_block() */
+	/* drop the ref. we got via find_memory_block() */
 	put_device(&memory->dev);
 	device_unregister(&memory->dev);
 }
 
-static int remove_memory_section(unsigned long node_id,
-			       struct mem_section *section, int phys_device)
+/*
+ * Create memory block devices for the given memory area. Start and size
+ * have to be aligned to memory block granularity. Memory block devices
+ * will be initialized as offline.
+ */
+int create_memory_block_devices(unsigned long start, unsigned long size)
 {
+	const int start_block_id = pfn_to_block_id(PFN_DOWN(start));
+	int end_block_id = pfn_to_block_id(PFN_DOWN(start + size));
 	struct memory_block *mem;
+	unsigned long block_id;
+	int ret = 0;
 
-	mutex_lock(&mem_sysfs_mutex);
-
-	/*
-	 * Some users of the memory hotplug do not want/need memblock to
-	 * track all sections. Skip over those.
-	 */
-	mem = find_memory_block(section);
-	if (!mem)
-		goto out_unlock;
-
-	unregister_mem_sect_under_nodes(mem, __section_nr(section));
-
-	mem->section_count--;
-	if (mem->section_count == 0)
-		unregister_memory(mem);
-	else
-		put_device(&mem->dev);
-
-out_unlock:
-	mutex_unlock(&mem_sysfs_mutex);
-	return 0;
-}
-
-int unregister_memory_section(struct mem_section *section)
-{
-	if (!present_section(section))
+	if (WARN_ON_ONCE(!IS_ALIGNED(start, memory_block_size_bytes()) ||
+			 !IS_ALIGNED(size, memory_block_size_bytes())))
 		return -EINVAL;
 
-	return remove_memory_section(0, section, 0);
+	mutex_lock(&mem_sysfs_mutex);
+	for (block_id = start_block_id; block_id != end_block_id; block_id++) {
+		ret = init_memory_block(&mem, block_id, MEM_OFFLINE);
+		if (ret)
+			break;
+		mem->section_count = sections_per_block;
+	}
+	if (ret) {
+		end_block_id = block_id;
+		for (block_id = start_block_id; block_id != end_block_id;
+		     block_id++) {
+			mem = find_memory_block_by_id(block_id, NULL);
+			mem->section_count = 0;
+			unregister_memory(mem);
+		}
+	}
+	mutex_unlock(&mem_sysfs_mutex);
+	return ret;
 }
-#endif /* CONFIG_MEMORY_HOTREMOVE */
+
+/*
+ * Remove memory block devices for the given memory area. Start and size
+ * have to be aligned to memory block granularity. Memory block devices
+ * have to be offline.
+ */
+void remove_memory_block_devices(unsigned long start, unsigned long size)
+{
+	const int start_block_id = pfn_to_block_id(PFN_DOWN(start));
+	const int end_block_id = pfn_to_block_id(PFN_DOWN(start + size));
+	struct memory_block *mem;
+	int block_id;
+
+	if (WARN_ON_ONCE(!IS_ALIGNED(start, memory_block_size_bytes()) ||
+			 !IS_ALIGNED(size, memory_block_size_bytes())))
+		return;
+
+	mutex_lock(&mem_sysfs_mutex);
+	for (block_id = start_block_id; block_id != end_block_id; block_id++) {
+		mem = find_memory_block_by_id(block_id, NULL);
+		if (WARN_ON_ONCE(!mem))
+			continue;
+		mem->section_count = 0;
+		unregister_memory_block_under_nodes(mem);
+		unregister_memory(mem);
+	}
+	mutex_unlock(&mem_sysfs_mutex);
+}
 
 /* return true if the memory block is offlined, otherwise, return false */
 bool is_memblock_offlined(struct memory_block *mem)
@@ -936,3 +949,39 @@
 		printk(KERN_ERR "%s() failed: %d\n", __func__, ret);
 	return ret;
 }
+
+struct for_each_memory_block_cb_data {
+	walk_memory_blocks_func_t func;
+	void *arg;
+};
+
+static int for_each_memory_block_cb(struct device *dev, void *data)
+{
+	struct memory_block *mem = to_memory_block(dev);
+	struct for_each_memory_block_cb_data *cb_data = data;
+
+	return cb_data->func(mem, cb_data->arg);
+}
+
+/**
+ * for_each_memory_block - walk through all present memory blocks
+ *
+ * @arg: argument passed to func
+ * @func: callback for each memory block walked
+ *
+ * This function walks through all present memory blocks, calling func on
+ * each memory block.
+ *
+ * In case func() returns an error, walking is aborted and the error is
+ * returned.
+ */
+int for_each_memory_block(void *arg, walk_memory_blocks_func_t func)
+{
+	struct for_each_memory_block_cb_data cb_data = {
+		.func = func,
+		.arg = arg,
+	};
+
+	return bus_for_each_dev(&memory_subsys, NULL, &cb_data,
+				for_each_memory_block_cb);
+}
diff --git a/drivers/base/node.c b/drivers/base/node.c
index ce27be2..9fe33d3 100644
--- a/drivers/base/node.c
+++ b/drivers/base/node.c
@@ -420,8 +420,6 @@
 	int ret, nid = *(int *)arg;
 	unsigned long pfn, sect_start_pfn, sect_end_pfn;
 
-	mem_blk->nid = nid;
-
 	sect_start_pfn = section_nr_to_pfn(mem_blk->start_section_nr);
 	sect_end_pfn = section_nr_to_pfn(mem_blk->end_section_nr);
 	sect_end_pfn += PAGES_PER_SECTION - 1;
@@ -450,6 +448,13 @@
 			if (page_nid != nid)
 				continue;
 		}
+
+		/*
+		 * If this memory block spans multiple nodes, we only indicate
+		 * the last processed node.
+		 */
+		mem_blk->nid = nid;
+
 		ret = sysfs_create_link_nowarn(&node_devices[nid]->dev.kobj,
 					&mem_blk->dev.kobj,
 					kobject_name(&mem_blk->dev.kobj));
@@ -464,40 +469,19 @@
 	return 0;
 }
 
-/* unregister memory section under all nodes that it spans */
-int unregister_mem_sect_under_nodes(struct memory_block *mem_blk,
-				    unsigned long phys_index)
+/*
+ * Unregister a memory block device under the node it spans. Memory blocks
+ * with multiple nodes cannot be offlined and therefore also never be removed.
+ */
+void unregister_memory_block_under_nodes(struct memory_block *mem_blk)
 {
-	NODEMASK_ALLOC(nodemask_t, unlinked_nodes, GFP_KERNEL);
-	unsigned long pfn, sect_start_pfn, sect_end_pfn;
+	if (mem_blk->nid == NUMA_NO_NODE)
+		return;
 
-	if (!mem_blk) {
-		NODEMASK_FREE(unlinked_nodes);
-		return -EFAULT;
-	}
-	if (!unlinked_nodes)
-		return -ENOMEM;
-	nodes_clear(*unlinked_nodes);
-
-	sect_start_pfn = section_nr_to_pfn(phys_index);
-	sect_end_pfn = sect_start_pfn + PAGES_PER_SECTION - 1;
-	for (pfn = sect_start_pfn; pfn <= sect_end_pfn; pfn++) {
-		int nid;
-
-		nid = get_nid_for_pfn(pfn);
-		if (nid < 0)
-			continue;
-		if (!node_online(nid))
-			continue;
-		if (node_test_and_set(nid, *unlinked_nodes))
-			continue;
-		sysfs_remove_link(&node_devices[nid]->dev.kobj,
-			 kobject_name(&mem_blk->dev.kobj));
-		sysfs_remove_link(&mem_blk->dev.kobj,
-			 kobject_name(&node_devices[nid]->dev.kobj));
-	}
-	NODEMASK_FREE(unlinked_nodes);
-	return 0;
+	sysfs_remove_link(&node_devices[mem_blk->nid]->dev.kobj,
+			  kobject_name(&mem_blk->dev.kobj));
+	sysfs_remove_link(&mem_blk->dev.kobj,
+			  kobject_name(&node_devices[mem_blk->nid]->dev.kobj));
 }
 
 int link_mem_sections(int nid, unsigned long start_pfn, unsigned long end_pfn)
diff --git a/drivers/base/platform.c b/drivers/base/platform.c
index e9be1f5..d1f901b 100644
--- a/drivers/base/platform.c
+++ b/drivers/base/platform.c
@@ -27,6 +27,7 @@
 #include <linux/limits.h>
 #include <linux/property.h>
 #include <linux/kmemleak.h>
+#include <linux/types.h>
 
 #include "base.h"
 #include "power/power.h"
@@ -67,7 +68,7 @@
 struct resource *platform_get_resource(struct platform_device *dev,
 				       unsigned int type, unsigned int num)
 {
-	int i;
+	u32 i;
 
 	for (i = 0; i < dev->num_resources; i++) {
 		struct resource *r = &dev->resource[i];
@@ -162,7 +163,7 @@
 					      unsigned int type,
 					      const char *name)
 {
-	int i;
+	u32 i;
 
 	for (i = 0; i < dev->num_resources; i++) {
 		struct resource *r = &dev->resource[i];
@@ -359,7 +360,8 @@
  */
 int platform_device_add(struct platform_device *pdev)
 {
-	int i, ret;
+	u32 i;
+	int ret;
 
 	if (!pdev)
 		return -EINVAL;
@@ -425,7 +427,7 @@
 		pdev->id = PLATFORM_DEVID_AUTO;
 	}
 
-	while (--i >= 0) {
+	while (i--) {
 		struct resource *r = &pdev->resource[i];
 		if (r->parent)
 			release_resource(r);
@@ -446,7 +448,7 @@
  */
 void platform_device_del(struct platform_device *pdev)
 {
-	int i;
+	u32 i;
 
 	if (pdev) {
 		device_remove_properties(&pdev->dev);
diff --git a/drivers/base/power/Makefile b/drivers/base/power/Makefile
index e1bb691..ec5bb19 100644
--- a/drivers/base/power/Makefile
+++ b/drivers/base/power/Makefile
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: GPL-2.0
 obj-$(CONFIG_PM)	+= sysfs.o generic_ops.o common.o qos.o runtime.o wakeirq.o
-obj-$(CONFIG_PM_SLEEP)	+= main.o wakeup.o
+obj-$(CONFIG_PM_SLEEP)	+= main.o wakeup.o wakeup_stats.o
 obj-$(CONFIG_PM_TRACE_RTC)	+= trace.o
 obj-$(CONFIG_PM_GENERIC_DOMAINS)	+=  domain.o domain_governor.o
 obj-$(CONFIG_HAVE_CLK)	+= clock_ops.o
diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c
index 7663f1a..957cd9a 100644
--- a/drivers/base/power/main.c
+++ b/drivers/base/power/main.c
@@ -273,10 +273,38 @@
 	device_links_read_unlock(idx);
 }
 
-static void dpm_wait_for_superior(struct device *dev, bool async)
+static bool dpm_wait_for_superior(struct device *dev, bool async)
 {
-	dpm_wait(dev->parent, async);
+	struct device *parent;
+
+	/*
+	 * If the device is resumed asynchronously and the parent's callback
+	 * deletes both the device and the parent itself, the parent object may
+	 * be freed while this function is running, so avoid that by reference
+	 * counting the parent once more unless the device has been deleted
+	 * already (in which case return right away).
+	 */
+	mutex_lock(&dpm_list_mtx);
+
+	if (!device_pm_initialized(dev)) {
+		mutex_unlock(&dpm_list_mtx);
+		return false;
+	}
+
+	parent = get_device(dev->parent);
+
+	mutex_unlock(&dpm_list_mtx);
+
+	dpm_wait(parent, async);
+	put_device(parent);
+
 	dpm_wait_for_suppliers(dev, async);
+
+	/*
+	 * If the parent's callback has deleted the device, attempting to resume
+	 * it would be invalid, so avoid doing that then.
+	 */
+	return device_pm_initialized(dev);
 }
 
 static void dpm_wait_for_consumers(struct device *dev, bool async)
@@ -636,7 +664,8 @@
 	if (!dev->power.is_noirq_suspended)
 		goto Out;
 
-	dpm_wait_for_superior(dev, async);
+	if (!dpm_wait_for_superior(dev, async))
+		goto Out;
 
 	skip_resume = dev_pm_may_skip_resume(dev);
 
@@ -837,7 +866,8 @@
 	if (!dev->power.is_late_suspended)
 		goto Out;
 
-	dpm_wait_for_superior(dev, async);
+	if (!dpm_wait_for_superior(dev, async))
+		goto Out;
 
 	callback = dpm_subsys_resume_early_cb(dev, state, &info);
 
@@ -957,7 +987,9 @@
 		goto Complete;
 	}
 
-	dpm_wait_for_superior(dev, async);
+	if (!dpm_wait_for_superior(dev, async))
+		goto Complete;
+
 	dpm_watchdog_set(&wd, dev);
 	device_lock(dev);
 
diff --git a/drivers/base/power/power.h b/drivers/base/power/power.h
index a4d7b61..d5008fe 100644
--- a/drivers/base/power/power.h
+++ b/drivers/base/power/power.h
@@ -154,3 +154,21 @@
 	device_pm_sleep_init(dev);
 	pm_runtime_init(dev);
 }
+
+#ifdef CONFIG_PM_SLEEP
+
+/* drivers/base/power/wakeup_stats.c */
+extern int wakeup_source_sysfs_add(struct device *parent,
+				   struct wakeup_source *ws);
+extern void wakeup_source_sysfs_remove(struct wakeup_source *ws);
+
+extern int pm_wakeup_source_sysfs_add(struct device *parent);
+
+#else /* !CONFIG_PM_SLEEP */
+
+static inline int pm_wakeup_source_sysfs_add(struct device *parent)
+{
+	return 0;
+}
+
+#endif /* CONFIG_PM_SLEEP */
diff --git a/drivers/base/power/runtime.c b/drivers/base/power/runtime.c
index beb85c3..303ce7d 100644
--- a/drivers/base/power/runtime.c
+++ b/drivers/base/power/runtime.c
@@ -268,11 +268,8 @@
 	list_for_each_entry_rcu(link, &dev->links.suppliers, c_node) {
 		int retval;
 
-		if (!(link->flags & DL_FLAG_PM_RUNTIME))
-			continue;
-
-		if (READ_ONCE(link->status) == DL_STATE_SUPPLIER_UNBIND ||
-		    link->rpm_active)
+		if (!(link->flags & DL_FLAG_PM_RUNTIME) ||
+		    READ_ONCE(link->status) == DL_STATE_SUPPLIER_UNBIND)
 			continue;
 
 		retval = pm_runtime_get_sync(link->supplier);
@@ -281,7 +278,7 @@
 			pm_runtime_put_noidle(link->supplier);
 			return retval;
 		}
-		link->rpm_active = true;
+		refcount_inc(&link->rpm_active);
 	}
 	return 0;
 }
@@ -290,12 +287,13 @@
 {
 	struct device_link *link;
 
-	list_for_each_entry_rcu(link, &dev->links.suppliers, c_node)
-		if (link->rpm_active &&
-		    READ_ONCE(link->status) != DL_STATE_SUPPLIER_UNBIND) {
+	list_for_each_entry_rcu(link, &dev->links.suppliers, c_node) {
+		if (READ_ONCE(link->status) == DL_STATE_SUPPLIER_UNBIND)
+			continue;
+
+		while (refcount_dec_not_one(&link->rpm_active))
 			pm_runtime_put(link->supplier);
-			link->rpm_active = false;
-		}
+	}
 }
 
 /**
@@ -1531,7 +1529,7 @@
  *
  * Check links from this device to any consumers and if any of them have active
  * runtime PM references to the device, drop the usage counter of the device
- * (once per link).
+ * (as many times as needed).
  *
  * Links with the DL_FLAG_STATELESS flag set are ignored.
  *
@@ -1553,10 +1551,8 @@
 		if (link->flags & DL_FLAG_STATELESS)
 			continue;
 
-		if (link->rpm_active) {
+		while (refcount_dec_not_one(&link->rpm_active))
 			pm_runtime_put_noidle(dev);
-			link->rpm_active = false;
-		}
 	}
 
 	device_links_read_unlock(idx);
@@ -1574,8 +1570,11 @@
 	idx = device_links_read_lock();
 
 	list_for_each_entry_rcu(link, &dev->links.suppliers, c_node)
-		if (link->flags & DL_FLAG_PM_RUNTIME)
+		if (link->flags & DL_FLAG_PM_RUNTIME) {
+			link->supplier_preactivated = true;
+			refcount_inc(&link->rpm_active);
 			pm_runtime_get_sync(link->supplier);
+		}
 
 	device_links_read_unlock(idx);
 }
@@ -1592,8 +1591,11 @@
 	idx = device_links_read_lock();
 
 	list_for_each_entry_rcu(link, &dev->links.suppliers, c_node)
-		if (link->flags & DL_FLAG_PM_RUNTIME)
-			pm_runtime_put(link->supplier);
+		if (link->supplier_preactivated) {
+			link->supplier_preactivated = false;
+			if (refcount_dec_not_one(&link->rpm_active))
+				pm_runtime_put(link->supplier);
+		}
 
 	device_links_read_unlock(idx);
 }
@@ -1607,8 +1609,6 @@
 
 void pm_runtime_drop_link(struct device *dev)
 {
-	rpm_put_suppliers(dev);
-
 	spin_lock_irq(&dev->power.lock);
 	WARN_ON(dev->power.links_count == 0);
 	dev->power.links_count--;
diff --git a/drivers/base/power/sysfs.c b/drivers/base/power/sysfs.c
index fc03614..48ddeef 100644
--- a/drivers/base/power/sysfs.c
+++ b/drivers/base/power/sysfs.c
@@ -7,6 +7,7 @@
 #include <linux/export.h>
 #include <linux/pm_qos.h>
 #include <linux/pm_runtime.h>
+#include <linux/pm_wakeup.h>
 #include <linux/atomic.h>
 #include <linux/jiffies.h>
 #include "power.h"
@@ -672,8 +673,13 @@
 		if (rc)
 			goto err_wakeup;
 	}
+	rc = pm_wakeup_source_sysfs_add(dev);
+	if (rc)
+		goto err_latency;
 	return 0;
 
+ err_latency:
+	sysfs_unmerge_group(&dev->kobj, &pm_qos_latency_tolerance_attr_group);
  err_wakeup:
 	sysfs_unmerge_group(&dev->kobj, &pm_wakeup_attr_group);
  err_runtime:
diff --git a/drivers/base/power/wakeup.c b/drivers/base/power/wakeup.c
index 292d984..5ad1ebf7 100644
--- a/drivers/base/power/wakeup.c
+++ b/drivers/base/power/wakeup.c
@@ -76,22 +76,7 @@
 	.lock =  __SPIN_LOCK_UNLOCKED(deleted_ws.lock),
 };
 
-/**
- * wakeup_source_prepare - Prepare a new wakeup source for initialization.
- * @ws: Wakeup source to prepare.
- * @name: Pointer to the name of the new wakeup source.
- *
- * Callers must ensure that the @name string won't be freed when @ws is still in
- * use.
- */
-void wakeup_source_prepare(struct wakeup_source *ws, const char *name)
-{
-	if (ws) {
-		memset(ws, 0, sizeof(*ws));
-		ws->name = name;
-	}
-}
-EXPORT_SYMBOL_GPL(wakeup_source_prepare);
+static DEFINE_IDA(wakeup_ida);
 
 /**
  * wakeup_source_create - Create a struct wakeup_source object.
@@ -100,32 +85,34 @@
 struct wakeup_source *wakeup_source_create(const char *name)
 {
 	struct wakeup_source *ws;
+	const char *ws_name;
+	int id;
 
-	ws = kmalloc(sizeof(*ws), GFP_KERNEL);
+	ws = kzalloc(sizeof(*ws), GFP_KERNEL);
 	if (!ws)
-		return NULL;
+		goto err_ws;
 
-	wakeup_source_prepare(ws, name ? kstrdup_const(name, GFP_KERNEL) : NULL);
+	ws_name = kstrdup_const(name, GFP_KERNEL);
+	if (!ws_name)
+		goto err_name;
+	ws->name = ws_name;
+
+	id = ida_alloc(&wakeup_ida, GFP_KERNEL);
+	if (id < 0)
+		goto err_id;
+	ws->id = id;
+
 	return ws;
+
+err_id:
+	kfree_const(ws->name);
+err_name:
+	kfree(ws);
+err_ws:
+	return NULL;
 }
 EXPORT_SYMBOL_GPL(wakeup_source_create);
 
-/**
- * wakeup_source_drop - Prepare a struct wakeup_source object for destruction.
- * @ws: Wakeup source to prepare for destruction.
- *
- * Callers must ensure that __pm_stay_awake() or __pm_wakeup_event() will never
- * be run in parallel with this function for the same wakeup source object.
- */
-void wakeup_source_drop(struct wakeup_source *ws)
-{
-	if (!ws)
-		return;
-
-	__pm_relax(ws);
-}
-EXPORT_SYMBOL_GPL(wakeup_source_drop);
-
 /*
  * Record wakeup_source statistics being deleted into a dummy wakeup_source.
  */
@@ -154,6 +141,13 @@
 	spin_unlock_irqrestore(&deleted_ws.lock, flags);
 }
 
+static void wakeup_source_free(struct wakeup_source *ws)
+{
+	ida_free(&wakeup_ida, ws->id);
+	kfree_const(ws->name);
+	kfree(ws);
+}
+
 /**
  * wakeup_source_destroy - Destroy a struct wakeup_source object.
  * @ws: Wakeup source to destroy.
@@ -165,10 +159,9 @@
 	if (!ws)
 		return;
 
-	wakeup_source_drop(ws);
+	__pm_relax(ws);
 	wakeup_source_record(ws);
-	kfree_const(ws->name);
-	kfree(ws);
+	wakeup_source_free(ws);
 }
 EXPORT_SYMBOL_GPL(wakeup_source_destroy);
 
@@ -220,16 +213,26 @@
 
 /**
  * wakeup_source_register - Create wakeup source and add it to the list.
+ * @dev: Device this wakeup source is associated with (or NULL if virtual).
  * @name: Name of the wakeup source to register.
  */
-struct wakeup_source *wakeup_source_register(const char *name)
+struct wakeup_source *wakeup_source_register(struct device *dev,
+					     const char *name)
 {
 	struct wakeup_source *ws;
+	int ret;
 
 	ws = wakeup_source_create(name);
-	if (ws)
+	if (ws) {
+		if (!dev || device_is_registered(dev)) {
+			ret = wakeup_source_sysfs_add(dev, ws);
+			if (ret) {
+				wakeup_source_free(ws);
+				return NULL;
+			}
+		}
 		wakeup_source_add(ws);
-
+	}
 	return ws;
 }
 EXPORT_SYMBOL_GPL(wakeup_source_register);
@@ -242,6 +245,9 @@
 {
 	if (ws) {
 		wakeup_source_remove(ws);
+		if (ws->dev)
+			wakeup_source_sysfs_remove(ws);
+
 		wakeup_source_destroy(ws);
 	}
 }
@@ -285,7 +291,7 @@
 	if (pm_suspend_target_state != PM_SUSPEND_ON)
 		dev_dbg(dev, "Suspicious %s() during system transition!\n", __func__);
 
-	ws = wakeup_source_register(dev_name(dev));
+	ws = wakeup_source_register(dev, dev_name(dev));
 	if (!ws)
 		return -ENOMEM;
 
@@ -910,7 +916,7 @@
 
 void pm_system_cancel_wakeup(void)
 {
-	atomic_dec(&pm_abort_suspend);
+	atomic_dec_if_positive(&pm_abort_suspend);
 }
 
 void pm_wakeup_clear(bool reset)
diff --git a/drivers/base/power/wakeup_stats.c b/drivers/base/power/wakeup_stats.c
new file mode 100644
index 0000000..c773491
--- /dev/null
+++ b/drivers/base/power/wakeup_stats.c
@@ -0,0 +1,214 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Wakeup statistics in sysfs
+ *
+ * Copyright (c) 2019 Linux Foundation
+ * Copyright (c) 2019 Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+ * Copyright (c) 2019 Google Inc.
+ */
+
+#include <linux/device.h>
+#include <linux/idr.h>
+#include <linux/init.h>
+#include <linux/kdev_t.h>
+#include <linux/kernel.h>
+#include <linux/kobject.h>
+#include <linux/slab.h>
+#include <linux/timekeeping.h>
+
+#include "power.h"
+
+static struct class *wakeup_class;
+
+#define wakeup_attr(_name)						\
+static ssize_t _name##_show(struct device *dev,				\
+			    struct device_attribute *attr, char *buf)	\
+{									\
+	struct wakeup_source *ws = dev_get_drvdata(dev);		\
+									\
+	return sprintf(buf, "%lu\n", ws->_name);			\
+}									\
+static DEVICE_ATTR_RO(_name)
+
+wakeup_attr(active_count);
+wakeup_attr(event_count);
+wakeup_attr(wakeup_count);
+wakeup_attr(expire_count);
+
+static ssize_t active_time_ms_show(struct device *dev,
+				   struct device_attribute *attr, char *buf)
+{
+	struct wakeup_source *ws = dev_get_drvdata(dev);
+	ktime_t active_time =
+		ws->active ? ktime_sub(ktime_get(), ws->last_time) : 0;
+
+	return sprintf(buf, "%lld\n", ktime_to_ms(active_time));
+}
+static DEVICE_ATTR_RO(active_time_ms);
+
+static ssize_t total_time_ms_show(struct device *dev,
+				  struct device_attribute *attr, char *buf)
+{
+	struct wakeup_source *ws = dev_get_drvdata(dev);
+	ktime_t active_time;
+	ktime_t total_time = ws->total_time;
+
+	if (ws->active) {
+		active_time = ktime_sub(ktime_get(), ws->last_time);
+		total_time = ktime_add(total_time, active_time);
+	}
+	return sprintf(buf, "%lld\n", ktime_to_ms(total_time));
+}
+static DEVICE_ATTR_RO(total_time_ms);
+
+static ssize_t max_time_ms_show(struct device *dev,
+				struct device_attribute *attr, char *buf)
+{
+	struct wakeup_source *ws = dev_get_drvdata(dev);
+	ktime_t active_time;
+	ktime_t max_time = ws->max_time;
+
+	if (ws->active) {
+		active_time = ktime_sub(ktime_get(), ws->last_time);
+		if (active_time > max_time)
+			max_time = active_time;
+	}
+	return sprintf(buf, "%lld\n", ktime_to_ms(max_time));
+}
+static DEVICE_ATTR_RO(max_time_ms);
+
+static ssize_t last_change_ms_show(struct device *dev,
+				   struct device_attribute *attr, char *buf)
+{
+	struct wakeup_source *ws = dev_get_drvdata(dev);
+
+	return sprintf(buf, "%lld\n", ktime_to_ms(ws->last_time));
+}
+static DEVICE_ATTR_RO(last_change_ms);
+
+static ssize_t name_show(struct device *dev, struct device_attribute *attr,
+			 char *buf)
+{
+	struct wakeup_source *ws = dev_get_drvdata(dev);
+
+	return sprintf(buf, "%s\n", ws->name);
+}
+static DEVICE_ATTR_RO(name);
+
+static ssize_t prevent_suspend_time_ms_show(struct device *dev,
+					    struct device_attribute *attr,
+					    char *buf)
+{
+	struct wakeup_source *ws = dev_get_drvdata(dev);
+	ktime_t prevent_sleep_time = ws->prevent_sleep_time;
+
+	if (ws->active && ws->autosleep_enabled) {
+		prevent_sleep_time = ktime_add(prevent_sleep_time,
+			ktime_sub(ktime_get(), ws->start_prevent_time));
+	}
+	return sprintf(buf, "%lld\n", ktime_to_ms(prevent_sleep_time));
+}
+static DEVICE_ATTR_RO(prevent_suspend_time_ms);
+
+static struct attribute *wakeup_source_attrs[] = {
+	&dev_attr_name.attr,
+	&dev_attr_active_count.attr,
+	&dev_attr_event_count.attr,
+	&dev_attr_wakeup_count.attr,
+	&dev_attr_expire_count.attr,
+	&dev_attr_active_time_ms.attr,
+	&dev_attr_total_time_ms.attr,
+	&dev_attr_max_time_ms.attr,
+	&dev_attr_last_change_ms.attr,
+	&dev_attr_prevent_suspend_time_ms.attr,
+	NULL,
+};
+ATTRIBUTE_GROUPS(wakeup_source);
+
+static void device_create_release(struct device *dev)
+{
+	kfree(dev);
+}
+
+static struct device *wakeup_source_device_create(struct device *parent,
+						  struct wakeup_source *ws)
+{
+	struct device *dev = NULL;
+	int retval = -ENODEV;
+
+	dev = kzalloc(sizeof(*dev), GFP_KERNEL);
+	if (!dev) {
+		retval = -ENOMEM;
+		goto error;
+	}
+
+	device_initialize(dev);
+	dev->devt = MKDEV(0, 0);
+	dev->class = wakeup_class;
+	dev->parent = parent;
+	dev->groups = wakeup_source_groups;
+	dev->release = device_create_release;
+	dev_set_drvdata(dev, ws);
+	device_set_pm_not_required(dev);
+
+	retval = kobject_set_name(&dev->kobj, "wakeup%d", ws->id);
+	if (retval)
+		goto error;
+
+	retval = device_add(dev);
+	if (retval)
+		goto error;
+
+	return dev;
+
+error:
+	put_device(dev);
+	return ERR_PTR(retval);
+}
+
+/**
+ * wakeup_source_sysfs_add - Add wakeup_source attributes to sysfs.
+ * @parent: Device given wakeup source is associated with (or NULL if virtual).
+ * @ws: Wakeup source to be added in sysfs.
+ */
+int wakeup_source_sysfs_add(struct device *parent, struct wakeup_source *ws)
+{
+	struct device *dev;
+
+	dev = wakeup_source_device_create(parent, ws);
+	if (IS_ERR(dev))
+		return PTR_ERR(dev);
+	ws->dev = dev;
+
+	return 0;
+}
+
+/**
+ * pm_wakeup_source_sysfs_add - Add wakeup_source attributes to sysfs
+ * for a device if they're missing.
+ * @parent: Device given wakeup source is associated with
+ */
+int pm_wakeup_source_sysfs_add(struct device *parent)
+{
+	if (!parent->power.wakeup || parent->power.wakeup->dev)
+		return 0;
+
+	return wakeup_source_sysfs_add(parent, parent->power.wakeup);
+}
+
+/**
+ * wakeup_source_sysfs_remove - Remove wakeup_source attributes from sysfs.
+ * @ws: Wakeup source to be removed from sysfs.
+ */
+void wakeup_source_sysfs_remove(struct wakeup_source *ws)
+{
+	device_unregister(ws->dev);
+}
+
+static int __init wakeup_sources_sysfs_init(void)
+{
+	wakeup_class = class_create(THIS_MODULE, "wakeup");
+
+	return PTR_ERR_OR_ZERO(wakeup_class);
+}
+postcore_initcall(wakeup_sources_sysfs_init);
diff --git a/drivers/bcma/driver_pci.c b/drivers/bcma/driver_pci.c
index f499a46..12b2cc9 100644
--- a/drivers/bcma/driver_pci.c
+++ b/drivers/bcma/driver_pci.c
@@ -78,7 +78,7 @@
 		v |= (address << BCMA_CORE_PCI_MDIODATA_REGADDR_SHF_OLD);
 	}
 
-	v = BCMA_CORE_PCI_MDIODATA_START;
+	v |= BCMA_CORE_PCI_MDIODATA_START;
 	v |= BCMA_CORE_PCI_MDIODATA_READ;
 	v |= BCMA_CORE_PCI_MDIODATA_TA;
 
@@ -121,7 +121,7 @@
 		v |= (address << BCMA_CORE_PCI_MDIODATA_REGADDR_SHF_OLD);
 	}
 
-	v = BCMA_CORE_PCI_MDIODATA_START;
+	v |= BCMA_CORE_PCI_MDIODATA_START;
 	v |= BCMA_CORE_PCI_MDIODATA_WRITE;
 	v |= BCMA_CORE_PCI_MDIODATA_TA;
 	v |= data;
diff --git a/drivers/block/brd.c b/drivers/block/brd.c
index 17defbf..02e8fff 100644
--- a/drivers/block/brd.c
+++ b/drivers/block/brd.c
@@ -463,6 +463,25 @@
 	return kobj;
 }
 
+static inline void brd_check_and_reset_par(void)
+{
+	if (unlikely(!max_part))
+		max_part = 1;
+
+	/*
+	 * make sure 'max_part' can be divided exactly by (1U << MINORBITS),
+	 * otherwise, it is possiable to get same dev_t when adding partitions.
+	 */
+	if ((1U << MINORBITS) % max_part != 0)
+		max_part = 1UL << fls(max_part);
+
+	if (max_part > DISK_MAX_PARTS) {
+		pr_info("brd: max_part can't be larger than %d, reset max_part = %d.\n",
+			DISK_MAX_PARTS, DISK_MAX_PARTS);
+		max_part = DISK_MAX_PARTS;
+	}
+}
+
 static int __init brd_init(void)
 {
 	struct brd_device *brd, *next;
@@ -486,8 +505,7 @@
 	if (register_blkdev(RAMDISK_MAJOR, "ramdisk"))
 		return -EIO;
 
-	if (unlikely(!max_part))
-		max_part = 1;
+	brd_check_and_reset_par();
 
 	for (i = 0; i < rd_nr; i++) {
 		brd = brd_alloc(i);
diff --git a/drivers/block/drbd/drbd_main.c b/drivers/block/drbd/drbd_main.c
index 19d3598..1bf83a1 100644
--- a/drivers/block/drbd/drbd_main.c
+++ b/drivers/block/drbd/drbd_main.c
@@ -334,6 +334,8 @@
 		 thi->name[0],
 		 resource->name);
 
+	allow_kernel_signal(DRBD_SIGKILL);
+	allow_kernel_signal(SIGXCPU);
 restart:
 	retval = thi->function(thi);
 
diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c
index e71589e..bf222c4 100644
--- a/drivers/block/floppy.c
+++ b/drivers/block/floppy.c
@@ -852,14 +852,17 @@
 /* selects the fdc and drive, and enables the fdc's input/dma. */
 static void set_fdc(int drive)
 {
+	unsigned int new_fdc = fdc;
+
 	if (drive >= 0 && drive < N_DRIVE) {
-		fdc = FDC(drive);
+		new_fdc = FDC(drive);
 		current_drive = drive;
 	}
-	if (fdc != 1 && fdc != 0) {
+	if (new_fdc >= N_FDC) {
 		pr_info("bad fdc value\n");
 		return;
 	}
+	fdc = new_fdc;
 	set_dor(fdc, ~0, 8);
 #if N_FDC > 1
 	set_dor(1 - fdc, ~8, 0);
diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c
index b9d321b..226103a 100644
--- a/drivers/block/nbd.c
+++ b/drivers/block/nbd.c
@@ -1216,6 +1216,16 @@
 		args = kzalloc(sizeof(*args), GFP_KERNEL);
 		if (!args) {
 			sock_shutdown(nbd);
+			/*
+			 * If num_connections is m (2 < m),
+			 * and NO.1 ~ NO.n(1 < n < m) kzallocs are successful.
+			 * But NO.(n + 1) failed. We still have n recv threads.
+			 * So, add flush_workqueue here to prevent recv threads
+			 * dropping the last config_refs and trying to destroy
+			 * the workqueue from inside the workqueue.
+			 */
+			if (i)
+				flush_workqueue(nbd->recv_workq);
 			return -ENOMEM;
 		}
 		sk_set_memalloc(config->socks[i]->sock->sk);
diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
index 585378b..d3ad1b8 100644
--- a/drivers/block/rbd.c
+++ b/drivers/block/rbd.c
@@ -2097,7 +2097,7 @@
 			       u64 off, u64 len)
 {
 	struct ceph_file_extent ex = { off, len };
-	union rbd_img_fill_iter dummy;
+	union rbd_img_fill_iter dummy = {};
 	struct rbd_img_fill_ctx fctx = {
 		.pos_type = OBJ_REQUEST_NODATA,
 		.pos = &dummy,
@@ -2506,6 +2506,7 @@
 		ret = rbd_obj_issue_copyup(obj_req, obj_req->xferred);
 		if (ret) {
 			obj_req->result = ret;
+			obj_req->xferred = 0;
 			return true;
 		}
 		return false;
diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
index 5830d94..9a57af7 100644
--- a/drivers/block/xen-blkfront.c
+++ b/drivers/block/xen-blkfront.c
@@ -1113,8 +1113,8 @@
 	if (!VDEV_IS_EXTENDED(info->vdevice)) {
 		err = xen_translate_vdev(info->vdevice, &minor, &offset);
 		if (err)
-			return err;		
- 		nr_parts = PARTS_PER_DISK;
+			return err;
+		nr_parts = PARTS_PER_DISK;
 	} else {
 		minor = BLKIF_MINOR_EXT(info->vdevice);
 		nr_parts = PARTS_PER_EXT_DISK;
diff --git a/drivers/bus/mhi/controllers/mhi_qcom.c b/drivers/bus/mhi/controllers/mhi_qcom.c
index 61de2b1..715fa86 100644
--- a/drivers/bus/mhi/controllers/mhi_qcom.c
+++ b/drivers/bus/mhi/controllers/mhi_qcom.c
@@ -124,6 +124,7 @@
 		MHI_CNTRL_ERR("Error ioremap region\n");
 		goto error_ioremap;
 	}
+	mhi_cntrl->len = len;
 
 	ret = pci_alloc_irq_vectors(pci_dev, mhi_cntrl->msi_required,
 				    mhi_cntrl->msi_required, PCI_IRQ_MSI);
diff --git a/drivers/bus/mhi/core/mhi_pm.c b/drivers/bus/mhi/core/mhi_pm.c
index a4e63bc..d86107b 100644
--- a/drivers/bus/mhi/core/mhi_pm.c
+++ b/drivers/bus/mhi/core/mhi_pm.c
@@ -947,6 +947,12 @@
 		goto error_bhi_offset;
 	}
 
+	if (val >= mhi_cntrl->len) {
+		write_unlock_irq(&mhi_cntrl->pm_lock);
+		MHI_ERR("Invalid bhi offset:%x\n", val);
+		goto error_bhi_offset;
+	}
+
 	mhi_cntrl->bhi = mhi_cntrl->regs + val;
 
 	/* setup bhie offset if not set */
@@ -958,6 +964,12 @@
 			goto error_bhi_offset;
 		}
 
+		if (val >= mhi_cntrl->len) {
+			write_unlock_irq(&mhi_cntrl->pm_lock);
+			MHI_ERR("Invalid bhie offset:%x\n", val);
+			goto error_bhi_offset;
+		}
+
 		mhi_cntrl->bhie = mhi_cntrl->regs + val;
 	}
 
diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c
index b6f63e7..54c8c86 100644
--- a/drivers/bus/ti-sysc.c
+++ b/drivers/bus/ti-sysc.c
@@ -888,10 +888,10 @@
 	SYSC_QUIRK("smartreflex", 0, -1, 0x38, -1, 0x00000000, 0xffffffff,
 		   SYSC_QUIRK_LEGACY_IDLE),
 	SYSC_QUIRK("timer", 0, 0, 0x10, 0x14, 0x00000015, 0xffffffff,
-		   SYSC_QUIRK_LEGACY_IDLE),
+		   0),
 	/* Some timers on omap4 and later */
 	SYSC_QUIRK("timer", 0, 0, 0x10, -1, 0x4fff1301, 0xffffffff,
-		   SYSC_QUIRK_LEGACY_IDLE),
+		   0),
 	SYSC_QUIRK("uart", 0, 0x50, 0x54, 0x58, 0x00000052, 0xffffffff,
 		   SYSC_QUIRK_LEGACY_IDLE),
 	/* Uarts on omap4 and later */
@@ -1400,6 +1400,9 @@
 {
 	int i;
 
+	if (!ddata->clocks)
+		return;
+
 	for (i = 0; i < SYSC_MAX_CLOCKS; i++) {
 		if (!IS_ERR_OR_NULL(ddata->clocks[i]))
 			clk_unprepare(ddata->clocks[i]);
@@ -1593,6 +1596,16 @@
 static const struct sysc_capabilities sysc_omap4_mcasp = {
 	.type = TI_SYSC_OMAP4_MCASP,
 	.regbits = &sysc_regbits_omap4_mcasp,
+	.mod_quirks = SYSC_QUIRK_OPT_CLKS_NEEDED,
+};
+
+/*
+ * McASP found on dra7 and later
+ */
+static const struct sysc_capabilities sysc_dra7_mcasp = {
+	.type = TI_SYSC_OMAP4_SIMPLE,
+	.regbits = &sysc_regbits_omap4_simple,
+	.mod_quirks = SYSC_QUIRK_OPT_CLKS_NEEDED,
 };
 
 /*
@@ -1821,6 +1834,7 @@
 	{ .compatible = "ti,sysc-omap3-sham", .data = &sysc_omap3_sham, },
 	{ .compatible = "ti,sysc-omap-aes", .data = &sysc_omap3_aes, },
 	{ .compatible = "ti,sysc-mcasp", .data = &sysc_omap4_mcasp, },
+	{ .compatible = "ti,sysc-dra7-mcasp", .data = &sysc_dra7_mcasp, },
 	{ .compatible = "ti,sysc-usb-host-fs",
 	  .data = &sysc_omap4_usb_host_fs, },
 	{ .compatible = "ti,sysc-dra7-mcan", .data = &sysc_dra7_mcan, },
diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
index f8c47e9..bd5b84e 100644
--- a/drivers/char/Kconfig
+++ b/drivers/char/Kconfig
@@ -650,3 +650,12 @@
 	help
 	  The maximum number of Virtual Services serial devices to support.
 	  This limit applies to both the client and server.
+
+config RANDOM_TRUST_BOOTLOADER
+	bool "Trust the bootloader to initialize Linux's CRNG"
+	help
+	Some bootloaders can provide entropy to increase the kernel's initial
+	device randomness. Say Y here to assume the entropy provided by the
+	booloader is trustworthy so it will be added to the kernel's entropy
+	pool. Otherwise, say N here so it will be regarded as device input that
+	only mixes the entropy pool.
diff --git a/drivers/char/adsprpc.c b/drivers/char/adsprpc.c
index 883c872..16a704b 100644
--- a/drivers/char/adsprpc.c
+++ b/drivers/char/adsprpc.c
@@ -34,7 +34,6 @@
 #include <linux/iommu.h>
 #include <linux/sort.h>
 #include <linux/msm_dma_iommu_mapping.h>
-#include <asm/dma-iommu.h>
 #include "adsprpc_compat.h"
 #include "adsprpc_shared.h"
 #include <soc/qcom/ramdump.h>
@@ -75,6 +74,9 @@
 #define SENSORS_PDR_SLPI_SERVICE_NAME            SENSORS_PDR_ADSP_SERVICE_NAME
 #define SLPI_SENSORPD_NAME                       "msm/slpi/sensor_pd"
 
+#define FASTRPC_SECURE_WAKE_SOURCE_CLIENT_NAME		"adsprpc-secure"
+#define FASTRPC_NON_SECURE_WAKE_SOURCE_CLIENT_NAME	"adsprpc-non_secure"
+
 #define RPC_TIMEOUT	(5 * HZ)
 #define BALIGN		128
 #define NUM_CHANNELS	4	/* adsp, mdsp, slpi, cdsp*/
@@ -148,10 +150,10 @@
 
 #define PERF(enb, cnt, ff) \
 	{\
-		struct timespec startT = {0};\
+		struct timespec64 startT = {0};\
 		int64_t *counter = cnt;\
 		if (enb && counter) {\
-			getnstimeofday(&startT);\
+			ktime_get_real_ts64(&startT);\
 		} \
 		ff ;\
 		if (enb && counter) {\
@@ -382,6 +384,11 @@
 	bool legacy_remote_heap;
 	/* Unique job id for each message */
 	uint64_t jobid[NUM_CHANNELS];
+	struct device *secure_dev;
+	struct device *non_secure_dev;
+	/* Secure subsystems like ADSP/SLPI will use secure client */
+	struct wakeup_source *wake_source_secure;
+	/* Non-secure subsystem like CDSP will use regular client */
 	struct wakeup_source *wake_source;
 	struct qos_cores silvercores;
 	uint32_t max_size_limit;
@@ -468,7 +475,6 @@
 	char *debug_buf;
 	/* Flag to enable PM wake/relax voting for every remote invoke */
 	int wake_enable;
-	struct wakeup_source *wake_source;
 	uint32_t ws_timeout;
 };
 
@@ -542,16 +548,16 @@
 static int hlosvm[1] = {VMID_HLOS};
 static int hlosvmperm[1] = {PERM_READ | PERM_WRITE | PERM_EXEC};
 
-static void fastrpc_pm_awake(struct fastrpc_file *fl);
+static void fastrpc_pm_awake(struct fastrpc_file *fl, int channel_type);
 
-static inline int64_t getnstimediff(struct timespec *start)
+static inline int64_t getnstimediff(struct timespec64 *start)
 {
 	int64_t ns;
-	struct timespec ts, b;
+	struct timespec64 ts, b;
 
-	getnstimeofday(&ts);
-	b = timespec_sub(ts, *start);
-	ns = timespec_to_ns(&b);
+	ktime_get_real_ts64(&ts);
+	b = timespec64_sub(ts, *start);
+	ns = timespec64_to_ns(&b);
 	return ns;
 }
 
@@ -1480,7 +1486,7 @@
 static void context_notify_user(struct smq_invoke_ctx *ctx,
 		int retval, uint32_t rspFlags, uint32_t earlyWakeTime)
 {
-	fastrpc_pm_awake(ctx->fl);
+	fastrpc_pm_awake(ctx->fl, gcinfo[ctx->fl->cid].secure);
 	ctx->retval = retval;
 	switch (rspFlags) {
 	case NORMAL_RESPONSE:
@@ -1934,10 +1940,7 @@
 					ctx->overps[oix]->mstart,
 					rpra[i].buf.len, map->size);
 				}
-			} else
-				dmac_flush_range(uint64_to_ptr(rpra[i].buf.pv),
-					uint64_to_ptr(rpra[i].buf.pv
-						+ rpra[i].buf.len));
+			}
 		}
 	}
 	PERF_END);
@@ -2094,11 +2097,8 @@
 					offset, ctx->overps[i]->mend,
 					ctx->overps[i]->mstart,
 					rpra[over].buf.len, map->size);
+				}
 			}
-		} else
-			dmac_inv_range((char *)uint64_to_ptr(rpra[over].buf.pv),
-				(char *)uint64_to_ptr(rpra[over].buf.pv
-						 + rpra[over].buf.len));
 		}
 	}
 bail:
@@ -2174,15 +2174,22 @@
 	me->channel[CDSP_DOMAIN_ID].secure = NON_SECURE_CHANNEL;
 }
 
-static inline void fastrpc_pm_awake(struct fastrpc_file *fl)
+static inline void fastrpc_pm_awake(struct fastrpc_file *fl, int channel_type)
 {
-	if (!fl->wake_enable || !fl->wake_source)
-		return;
+	struct fastrpc_apps *me = &gfa;
+	struct wakeup_source *wake_source = NULL;
+
 	/*
 	 * Vote with PM to abort any suspend in progress and
 	 * keep system awake for specified timeout
 	 */
-	pm_wakeup_ws_event(fl->wake_source, fl->ws_timeout, true);
+	if (channel_type == SECURE_CHANNEL)
+		wake_source = me->wake_source_secure;
+	else if (channel_type == NON_SECURE_CHANNEL)
+		wake_source = me->wake_source;
+
+	if (wake_source)
+		pm_wakeup_ws_event(wake_source, fl->ws_timeout, true);
 }
 
 static inline int fastrpc_wait_for_response(struct smq_invoke_ctx *ctx,
@@ -2278,7 +2285,7 @@
 }
 
 static void fastrpc_update_invoke_count(uint32_t handle, int64_t *perf_counter,
-					struct timespec *invoket)
+					struct timespec64 *invoket)
 {
 	/* update invoke count for dynamic handles */
 	if (handle != FASTRPC_STATIC_HANDLE_LISTENER) {
@@ -2302,12 +2309,12 @@
 	struct smq_invoke_ctx *ctx = NULL;
 	struct fastrpc_ioctl_invoke *invoke = &inv->inv;
 	int err = 0, interrupted = 0, cid = fl->cid;
-	struct timespec invoket = {0};
+	struct timespec64 invoket = {0};
 	int64_t *perf_counter = NULL;
 
 	if (fl->profile) {
 		perf_counter = getperfcounter(fl, PERF_COUNT);
-		getnstimeofday(&invoket);
+		ktime_get_real_ts64(&invoket);
 	}
 
 	if (!kernel) {
@@ -3612,8 +3619,6 @@
 	spin_lock(&fl->apps->hlock);
 	hlist_del_init(&fl->hn);
 	spin_unlock(&fl->apps->hlock);
-	if (fl->wake_source)
-		wakeup_source_unregister(fl->wake_source);
 	kfree(fl->debug_buf);
 
 	if (!fl->sctx) {
@@ -3963,6 +3968,21 @@
 	return err;
 }
 
+static inline void fastrpc_register_wakeup_source(struct device *dev,
+	const char *client_name, struct wakeup_source **device_wake_source)
+{
+	struct wakeup_source *wake_source = NULL;
+
+	wake_source = wakeup_source_register(dev, client_name);
+	if (IS_ERR_OR_NULL(wake_source)) {
+		pr_err("adsprpc: Error: %s: %s: wakeup_source_register failed for dev %s, client %s with err %ld\n",
+		       __func__, current->comm, dev_name(dev),
+		       client_name, PTR_ERR(wake_source));
+		return;
+	}
+	*device_wake_source = wake_source;
+}
+
 static int fastrpc_device_open(struct inode *inode, struct file *filp)
 {
 	int err = 0;
@@ -3986,11 +4006,6 @@
 	if (err)
 		return err;
 
-	fl->wake_source = wakeup_source_register(fl->debug_buf);
-	if (IS_ERR_OR_NULL(fl->wake_source)) {
-		pr_err("adsprpc: Error: %s: %s: wakeup_source_register failed with err %ld\n",
-			current->comm, __func__, PTR_ERR(fl->wake_source));
-	}
 	context_list_ctor(&fl->clst);
 	spin_lock_init(&fl->hlock);
 	INIT_HLIST_HEAD(&fl->maps);
@@ -4155,7 +4170,7 @@
 			fl->ws_timeout = MAX_PM_TIMEOUT_MS;
 		else
 			fl->ws_timeout = cp->pm.timeout;
-		fastrpc_pm_awake(fl);
+		fastrpc_pm_awake(fl, gcinfo[fl->cid].secure);
 		break;
 	case FASTRPC_CONTROL_DSPPROCESS_CLEAN:
 		(void)fastrpc_release_current_dsp_process(fl);
@@ -5112,13 +5127,13 @@
 	}
 	me->rpmsg_register = 1;
 
-	me->wake_source = wakeup_source_register("adsprpc");
-	VERIFY(err, !IS_ERR_OR_NULL(me->wake_source));
-	if (err) {
-		pr_err("adsprpc: Error: %s: wakeup_source_register failed with err %d\n",
-					__func__, PTR_ERR(me->wake_source));
-		goto device_create_bail;
-	}
+	fastrpc_register_wakeup_source(me->non_secure_dev,
+				       FASTRPC_NON_SECURE_WAKE_SOURCE_CLIENT_NAME,
+				       &me->wake_source);
+	fastrpc_register_wakeup_source(me->secure_dev,
+				       FASTRPC_SECURE_WAKE_SOURCE_CLIENT_NAME,
+				       &me->wake_source_secure);
+
 	return 0;
 device_create_bail:
 	for (i = 0; i < NUM_CHANNELS; i++) {
@@ -5171,6 +5186,8 @@
 		unregister_rpmsg_driver(&fastrpc_rpmsg_client);
 	if (me->wake_source)
 		wakeup_source_unregister(me->wake_source);
+	if (me->wake_source_secure)
+		wakeup_source_unregister(me->wake_source_secure);
 	debugfs_remove_recursive(debugfs_root);
 }
 
diff --git a/drivers/char/diag/diagchar_core.c b/drivers/char/diag/diagchar_core.c
index d5b56fd..2111a5a 100644
--- a/drivers/char/diag/diagchar_core.c
+++ b/drivers/char/diag/diagchar_core.c
@@ -4379,7 +4379,8 @@
 	if (!driver->diag_dev)
 		return -EIO;
 
-	driver->diag_dev->power.wakeup = wakeup_source_register("DIAG_WS");
+	driver->diag_dev->power.wakeup =
+		wakeup_source_register(driver->diag_dev, "DIAG_WS");
 	return 0;
 
 }
diff --git a/drivers/char/hw_random/bcm2835-rng.c b/drivers/char/hw_random/bcm2835-rng.c
index 6767d96..19bde68 100644
--- a/drivers/char/hw_random/bcm2835-rng.c
+++ b/drivers/char/hw_random/bcm2835-rng.c
@@ -171,14 +171,16 @@
 	priv->rng.read = bcm2835_rng_read;
 	priv->rng.cleanup = bcm2835_rng_cleanup;
 
-	rng_id = of_match_node(bcm2835_rng_of_match, np);
-	if (!rng_id)
-		return -EINVAL;
+	if (dev_of_node(dev)) {
+		rng_id = of_match_node(bcm2835_rng_of_match, np);
+		if (!rng_id)
+			return -EINVAL;
 
-	/* Check for rng init function, execute it */
-	of_data = rng_id->data;
-	if (of_data)
-		priv->mask_interrupts = of_data->mask_interrupts;
+		/* Check for rng init function, execute it */
+		of_data = rng_id->data;
+		if (of_data)
+			priv->mask_interrupts = of_data->mask_interrupts;
+	}
 
 	/* register driver */
 	err = devm_hwrng_register(dev, &priv->rng);
diff --git a/drivers/char/hw_random/omap3-rom-rng.c b/drivers/char/hw_random/omap3-rom-rng.c
index 648e39c..8df3cad 100644
--- a/drivers/char/hw_random/omap3-rom-rng.c
+++ b/drivers/char/hw_random/omap3-rom-rng.c
@@ -20,6 +20,8 @@
 #include <linux/workqueue.h>
 #include <linux/clk.h>
 #include <linux/err.h>
+#include <linux/of.h>
+#include <linux/of_device.h>
 #include <linux/platform_device.h>
 
 #define RNG_RESET			0x01
@@ -86,14 +88,18 @@
 
 static struct hwrng omap3_rom_rng_ops = {
 	.name		= "omap3-rom",
-	.read		= omap3_rom_rng_read,
 };
 
 static int omap3_rom_rng_probe(struct platform_device *pdev)
 {
 	int ret = 0;
 
-	pr_info("initializing\n");
+	omap3_rom_rng_ops.read = of_device_get_match_data(&pdev->dev);
+	if (!omap3_rom_rng_ops.read) {
+		dev_err(&pdev->dev, "missing rom code handler\n");
+
+		return -ENODEV;
+	}
 
 	omap3_rom_rng_call = pdev->dev.platform_data;
 	if (!omap3_rom_rng_call) {
@@ -126,9 +132,16 @@
 	return 0;
 }
 
+static const struct of_device_id omap_rom_rng_match[] = {
+	{ .compatible = "nokia,n900-rom-rng", .data = omap3_rom_rng_read, },
+	{ /* sentinel */ },
+};
+MODULE_DEVICE_TABLE(of, omap_rom_rng_match);
+
 static struct platform_driver omap3_rom_rng_driver = {
 	.driver = {
 		.name		= "omap3-rom-rng",
+		.of_match_table = omap_rom_rng_match,
 	},
 	.probe		= omap3_rom_rng_probe,
 	.remove		= omap3_rom_rng_remove,
diff --git a/drivers/char/ipmi/ipmi_msghandler.c b/drivers/char/ipmi/ipmi_msghandler.c
index 91f2d92..980eb7c 100644
--- a/drivers/char/ipmi/ipmi_msghandler.c
+++ b/drivers/char/ipmi/ipmi_msghandler.c
@@ -2965,8 +2965,11 @@
 		bmc->pdev.name = "ipmi_bmc";
 
 		rv = ida_simple_get(&ipmi_bmc_ida, 0, 0, GFP_KERNEL);
-		if (rv < 0)
+		if (rv < 0) {
+			kfree(bmc);
 			goto out;
+		}
+
 		bmc->pdev.dev.driver = &ipmidriver.driver;
 		bmc->pdev.id = rv;
 		bmc->pdev.dev.release = release_bmc_device;
diff --git a/drivers/char/ipmi/ipmi_ssif.c b/drivers/char/ipmi/ipmi_ssif.c
index af44db2..fec6794 100644
--- a/drivers/char/ipmi/ipmi_ssif.c
+++ b/drivers/char/ipmi/ipmi_ssif.c
@@ -735,10 +735,14 @@
 	flags = ipmi_ssif_lock_cond(ssif_info, &oflags);
 	msg = ssif_info->curr_msg;
 	if (msg) {
+		if (data) {
+			if (len > IPMI_MAX_MSG_LENGTH)
+				len = IPMI_MAX_MSG_LENGTH;
+			memcpy(msg->rsp, data, len);
+		} else {
+			len = 0;
+		}
 		msg->rsp_size = len;
-		if (msg->rsp_size > IPMI_MAX_MSG_LENGTH)
-			msg->rsp_size = IPMI_MAX_MSG_LENGTH;
-		memcpy(msg->rsp, data, msg->rsp_size);
 		ssif_info->curr_msg = NULL;
 	}
 
diff --git a/drivers/char/ipmi/kcs_bmc.c b/drivers/char/ipmi/kcs_bmc.c
index e6124bd..ed4dc3b 100644
--- a/drivers/char/ipmi/kcs_bmc.c
+++ b/drivers/char/ipmi/kcs_bmc.c
@@ -440,12 +440,13 @@
 	kcs_bmc->data_in = devm_kmalloc(dev, KCS_MSG_BUFSIZ, GFP_KERNEL);
 	kcs_bmc->data_out = devm_kmalloc(dev, KCS_MSG_BUFSIZ, GFP_KERNEL);
 	kcs_bmc->kbuffer = devm_kmalloc(dev, KCS_MSG_BUFSIZ, GFP_KERNEL);
-	if (!kcs_bmc->data_in || !kcs_bmc->data_out || !kcs_bmc->kbuffer)
-		return NULL;
 
 	kcs_bmc->miscdev.minor = MISC_DYNAMIC_MINOR;
 	kcs_bmc->miscdev.name = devm_kasprintf(dev, GFP_KERNEL, "%s%u",
 					       DEVICE_NAME, channel);
+	if (!kcs_bmc->data_in || !kcs_bmc->data_out || !kcs_bmc->kbuffer ||
+	    !kcs_bmc->miscdev.name)
+		return NULL;
 	kcs_bmc->miscdev.fops = &kcs_bmc_fops;
 
 	return kcs_bmc;
diff --git a/drivers/char/random.c b/drivers/char/random.c
index af6e240..d0be947 100644
--- a/drivers/char/random.c
+++ b/drivers/char/random.c
@@ -101,15 +101,13 @@
  * Exported interfaces ---- output
  * ===============================
  *
- * There are three exported interfaces; the first is one designed to
- * be used from within the kernel:
+ * There are four exported interfaces; two for use within the kernel,
+ * and two or use from userspace.
  *
- * 	void get_random_bytes(void *buf, int nbytes);
+ * Exported interfaces ---- userspace output
+ * -----------------------------------------
  *
- * This interface will return the requested number of random bytes,
- * and place it in the requested buffer.
- *
- * The two other interfaces are two character devices /dev/random and
+ * The userspace interfaces are two character devices /dev/random and
  * /dev/urandom.  /dev/random is suitable for use when very high
  * quality randomness is desired (for example, for key generation or
  * one-time pads), as it will only return a maximum of the number of
@@ -122,6 +120,77 @@
  * this will result in random numbers that are merely cryptographically
  * strong.  For many applications, however, this is acceptable.
  *
+ * Exported interfaces ---- kernel output
+ * --------------------------------------
+ *
+ * The primary kernel interface is
+ *
+ * 	void get_random_bytes(void *buf, int nbytes);
+ *
+ * This interface will return the requested number of random bytes,
+ * and place it in the requested buffer.  This is equivalent to a
+ * read from /dev/urandom.
+ *
+ * For less critical applications, there are the functions:
+ *
+ * 	u32 get_random_u32()
+ * 	u64 get_random_u64()
+ * 	unsigned int get_random_int()
+ * 	unsigned long get_random_long()
+ *
+ * These are produced by a cryptographic RNG seeded from get_random_bytes,
+ * and so do not deplete the entropy pool as much.  These are recommended
+ * for most in-kernel operations *if the result is going to be stored in
+ * the kernel*.
+ *
+ * Specifically, the get_random_int() family do not attempt to do
+ * "anti-backtracking".  If you capture the state of the kernel (e.g.
+ * by snapshotting the VM), you can figure out previous get_random_int()
+ * return values.  But if the value is stored in the kernel anyway,
+ * this is not a problem.
+ *
+ * It *is* safe to expose get_random_int() output to attackers (e.g. as
+ * network cookies); given outputs 1..n, it's not feasible to predict
+ * outputs 0 or n+1.  The only concern is an attacker who breaks into
+ * the kernel later; the get_random_int() engine is not reseeded as
+ * often as the get_random_bytes() one.
+ *
+ * get_random_bytes() is needed for keys that need to stay secret after
+ * they are erased from the kernel.  For example, any key that will
+ * be wrapped and stored encrypted.  And session encryption keys: we'd
+ * like to know that after the session is closed and the keys erased,
+ * the plaintext is unrecoverable to someone who recorded the ciphertext.
+ *
+ * But for network ports/cookies, stack canaries, PRNG seeds, address
+ * space layout randomization, session *authentication* keys, or other
+ * applications where the sensitive data is stored in the kernel in
+ * plaintext for as long as it's sensitive, the get_random_int() family
+ * is just fine.
+ *
+ * Consider ASLR.  We want to keep the address space secret from an
+ * outside attacker while the process is running, but once the address
+ * space is torn down, it's of no use to an attacker any more.  And it's
+ * stored in kernel data structures as long as it's alive, so worrying
+ * about an attacker's ability to extrapolate it from the get_random_int()
+ * CRNG is silly.
+ *
+ * Even some cryptographic keys are safe to generate with get_random_int().
+ * In particular, keys for SipHash are generally fine.  Here, knowledge
+ * of the key authorizes you to do something to a kernel object (inject
+ * packets to a network connection, or flood a hash table), and the
+ * key is stored with the object being protected.  Once it goes away,
+ * we no longer care if anyone knows the key.
+ *
+ * prandom_u32()
+ * -------------
+ *
+ * For even weaker applications, see the pseudorandom generator
+ * prandom_u32(), prandom_max(), and prandom_bytes().  If the random
+ * numbers aren't security-critical at all, these are *far* cheaper.
+ * Useful for self-tests, random error simulation, randomized backoffs,
+ * and any other application where you trust that nobody is trying to
+ * maliciously mess with you by guessing the "random" numbers.
+ *
  * Exported interfaces ---- input
  * ==============================
  *
@@ -238,6 +307,8 @@
  * Eastlake, Steve Crocker, and Jeff Schiller.
  */
 
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
 #include <linux/utsname.h>
 #include <linux/module.h>
 #include <linux/kernel.h>
@@ -285,7 +356,6 @@
 #define INPUT_POOL_WORDS	(1 << (INPUT_POOL_SHIFT-5))
 #define OUTPUT_POOL_SHIFT	10
 #define OUTPUT_POOL_WORDS	(1 << (OUTPUT_POOL_SHIFT-5))
-#define SEC_XFER_SIZE		512
 #define EXTRACT_SIZE		10
 
 
@@ -295,19 +365,13 @@
  * To allow fractional bits to be tracked, the entropy_count field is
  * denominated in units of 1/8th bits.
  *
- * 2*(ENTROPY_SHIFT + log2(poolbits)) must <= 31, or the multiply in
+ * 2*(ENTROPY_SHIFT + poolbitshift) must <= 31, or the multiply in
  * credit_entropy_bits() needs to be 64 bits wide.
  */
 #define ENTROPY_SHIFT 3
 #define ENTROPY_BITS(r) ((r)->entropy_count >> ENTROPY_SHIFT)
 
 /*
- * The minimum number of bits of entropy before we wake up a read on
- * /dev/random.  Should be enough to do a significant reseed.
- */
-static int random_read_wakeup_bits = 64;
-
-/*
  * If the entropy count falls under this number of bits, then we
  * should wake up processes which are selecting or polling on write
  * access to /dev/random.
@@ -359,50 +423,19 @@
  * polynomial which improves the resulting TGFSR polynomial to be
  * irreducible, which we have made here.
  */
-static struct poolinfo {
-	int poolbitshift, poolwords, poolbytes, poolbits, poolfracbits;
-#define S(x) ilog2(x)+5, (x), (x)*4, (x)*32, (x) << (ENTROPY_SHIFT+5)
+static const struct poolinfo {
+	int poolbitshift, poolwords, poolbytes, poolfracbits;
+#define S(x) ilog2(x)+5, (x), (x)*4, (x) << (ENTROPY_SHIFT+5)
 	int tap1, tap2, tap3, tap4, tap5;
 } poolinfo_table[] = {
 	/* was: x^128 + x^103 + x^76 + x^51 +x^25 + x + 1 */
 	/* x^128 + x^104 + x^76 + x^51 +x^25 + x + 1 */
 	{ S(128),	104,	76,	51,	25,	1 },
-	/* was: x^32 + x^26 + x^20 + x^14 + x^7 + x + 1 */
-	/* x^32 + x^26 + x^19 + x^14 + x^7 + x + 1 */
-	{ S(32),	26,	19,	14,	7,	1 },
-#if 0
-	/* x^2048 + x^1638 + x^1231 + x^819 + x^411 + x + 1  -- 115 */
-	{ S(2048),	1638,	1231,	819,	411,	1 },
-
-	/* x^1024 + x^817 + x^615 + x^412 + x^204 + x + 1 -- 290 */
-	{ S(1024),	817,	615,	412,	204,	1 },
-
-	/* x^1024 + x^819 + x^616 + x^410 + x^207 + x^2 + 1 -- 115 */
-	{ S(1024),	819,	616,	410,	207,	2 },
-
-	/* x^512 + x^411 + x^308 + x^208 + x^104 + x + 1 -- 225 */
-	{ S(512),	411,	308,	208,	104,	1 },
-
-	/* x^512 + x^409 + x^307 + x^206 + x^102 + x^2 + 1 -- 95 */
-	{ S(512),	409,	307,	206,	102,	2 },
-	/* x^512 + x^409 + x^309 + x^205 + x^103 + x^2 + 1 -- 95 */
-	{ S(512),	409,	309,	205,	103,	2 },
-
-	/* x^256 + x^205 + x^155 + x^101 + x^52 + x + 1 -- 125 */
-	{ S(256),	205,	155,	101,	52,	1 },
-
-	/* x^128 + x^103 + x^78 + x^51 + x^27 + x^2 + 1 -- 70 */
-	{ S(128),	103,	78,	51,	27,	2 },
-
-	/* x^64 + x^52 + x^39 + x^26 + x^14 + x + 1 -- 15 */
-	{ S(64),	52,	39,	26,	14,	1 },
-#endif
 };
 
 /*
  * Static global variables
  */
-static DECLARE_WAIT_QUEUE_HEAD(random_read_wait);
 static DECLARE_WAIT_QUEUE_HEAD(random_write_wait);
 static struct fasync_struct *fasync;
 
@@ -415,7 +448,7 @@
 	spinlock_t	lock;
 };
 
-struct crng_state primary_crng = {
+static struct crng_state primary_crng = {
 	.lock = __SPIN_LOCK_UNLOCKED(primary_crng.lock),
 };
 
@@ -461,16 +494,12 @@
 	const struct poolinfo *poolinfo;
 	__u32 *pool;
 	const char *name;
-	struct entropy_store *pull;
-	struct work_struct push_work;
 
 	/* read-write data: */
-	unsigned long last_pulled;
 	spinlock_t lock;
 	unsigned short add_ptr;
 	unsigned short input_rotate;
 	int entropy_count;
-	int entropy_total;
 	unsigned int initialized:1;
 	unsigned int last_data_init:1;
 	__u8 last_data[EXTRACT_SIZE];
@@ -482,9 +511,7 @@
 				size_t nbytes, int fips);
 
 static void crng_reseed(struct crng_state *crng, struct entropy_store *r);
-static void push_to_pool(struct work_struct *work);
 static __u32 input_pool_data[INPUT_POOL_WORDS] __latent_entropy;
-static __u32 blocking_pool_data[OUTPUT_POOL_WORDS] __latent_entropy;
 
 static struct entropy_store input_pool = {
 	.poolinfo = &poolinfo_table[0],
@@ -493,16 +520,6 @@
 	.pool = input_pool_data
 };
 
-static struct entropy_store blocking_pool = {
-	.poolinfo = &poolinfo_table[1],
-	.name = "blocking",
-	.pull = &input_pool,
-	.lock = __SPIN_LOCK_UNLOCKED(blocking_pool.lock),
-	.pool = blocking_pool_data,
-	.push_work = __WORK_INITIALIZER(blocking_pool.push_work,
-					push_to_pool),
-};
-
 static __u32 const twist_table[8] = {
 	0x00000000, 0x3b6e20c8, 0x76dc4190, 0x4db26158,
 	0xedb88320, 0xd6d6a3e8, 0x9b64c2b0, 0xa00ae278 };
@@ -643,7 +660,7 @@
  */
 static void credit_entropy_bits(struct entropy_store *r, int nbits)
 {
-	int entropy_count, orig;
+	int entropy_count, orig, has_initialized = 0;
 	const int pool_size = r->poolinfo->poolfracbits;
 	int nfrac = nbits << ENTROPY_SHIFT;
 
@@ -691,53 +708,31 @@
 		} while (unlikely(entropy_count < pool_size-2 && pnfrac));
 	}
 
-	if (unlikely(entropy_count < 0)) {
-		pr_warn("random: negative entropy/overflow: pool %s count %d\n",
+	if (WARN_ON(entropy_count < 0)) {
+		pr_warn("negative entropy/overflow: pool %s count %d\n",
 			r->name, entropy_count);
-		WARN_ON(1);
 		entropy_count = 0;
 	} else if (entropy_count > pool_size)
 		entropy_count = pool_size;
 	if (cmpxchg(&r->entropy_count, orig, entropy_count) != orig)
 		goto retry;
 
-	r->entropy_total += nbits;
-	if (!r->initialized && r->entropy_total > 128) {
+	if (has_initialized) {
 		r->initialized = 1;
-		r->entropy_total = 0;
+		kill_fasync(&fasync, SIGIO, POLL_IN);
 	}
 
 	trace_credit_entropy_bits(r->name, nbits,
-				  entropy_count >> ENTROPY_SHIFT,
-				  r->entropy_total, _RET_IP_);
+				  entropy_count >> ENTROPY_SHIFT, _RET_IP_);
 
 	if (r == &input_pool) {
 		int entropy_bits = entropy_count >> ENTROPY_SHIFT;
 
-		if (crng_init < 2 && entropy_bits >= 128) {
+		if (crng_init < 2) {
+			if (entropy_bits < 128)
+				return;
 			crng_reseed(&primary_crng, r);
-			entropy_bits = r->entropy_count >> ENTROPY_SHIFT;
-		}
-
-		/* should we wake readers? */
-		if (entropy_bits >= random_read_wakeup_bits &&
-		    wq_has_sleeper(&random_read_wait)) {
-			wake_up_interruptible(&random_read_wait);
-			kill_fasync(&fasync, SIGIO, POLL_IN);
-		}
-		/* If the input pool is getting full, send some
-		 * entropy to the blocking pool until it is 75% full.
-		 */
-		if (entropy_bits > random_write_wakeup_bits &&
-		    r->initialized &&
-		    r->entropy_total >= 2*random_read_wakeup_bits) {
-			struct entropy_store *other = &blocking_pool;
-
-			if (other->entropy_count <=
-			    3 * other->poolinfo->poolfracbits / 4) {
-				schedule_work(&other->push_work);
-				r->entropy_total = 0;
-			}
+			entropy_bits = ENTROPY_BITS(r);
 		}
 	}
 }
@@ -810,7 +805,7 @@
 		invalidate_batched_entropy();
 		numa_crng_init();
 		crng_init = 2;
-		pr_notice("random: crng done (trusting CPU's manufacturer)\n");
+		pr_notice("crng done (trusting CPU's manufacturer)\n");
 	}
 	crng->init_time = jiffies - CRNG_RESEED_INTERVAL - 1;
 }
@@ -872,8 +867,7 @@
 	if (crng_init_cnt >= CRNG_INIT_CNT_THRESH) {
 		invalidate_batched_entropy();
 		crng_init = 1;
-		wake_up_interruptible(&crng_init_wait);
-		pr_notice("random: fast init done\n");
+		pr_notice("fast init done\n");
 	}
 	return 1;
 }
@@ -958,16 +952,15 @@
 		crng_init = 2;
 		process_random_ready_list();
 		wake_up_interruptible(&crng_init_wait);
-		pr_notice("random: crng init done\n");
+		kill_fasync(&fasync, SIGIO, POLL_IN);
+		pr_notice("crng init done\n");
 		if (unseeded_warning.missed) {
-			pr_notice("random: %d get_random_xx warning(s) missed "
-				  "due to ratelimiting\n",
+			pr_notice("%d get_random_xx warning(s) missed due to ratelimiting\n",
 				  unseeded_warning.missed);
 			unseeded_warning.missed = 0;
 		}
 		if (urandom_warning.missed) {
-			pr_notice("random: %d urandom warning(s) missed "
-				  "due to ratelimiting\n",
+			pr_notice("%d urandom warning(s) missed due to ratelimiting\n",
 				  urandom_warning.missed);
 			urandom_warning.missed = 0;
 		}
@@ -1172,7 +1165,7 @@
 	/*
 	 * delta is now minimum absolute delta.
 	 * Round down by 1 bit on general principles,
-	 * and limit entropy entimate to 12 bits.
+	 * and limit entropy estimate to 12 bits.
 	 */
 	credit_entropy_bits(r, min_t(int, fls(delta>>1), 11));
 }
@@ -1316,57 +1309,6 @@
  *********************************************************************/
 
 /*
- * This utility inline function is responsible for transferring entropy
- * from the primary pool to the secondary extraction pool. We make
- * sure we pull enough for a 'catastrophic reseed'.
- */
-static void _xfer_secondary_pool(struct entropy_store *r, size_t nbytes);
-static void xfer_secondary_pool(struct entropy_store *r, size_t nbytes)
-{
-	if (!r->pull ||
-	    r->entropy_count >= (nbytes << (ENTROPY_SHIFT + 3)) ||
-	    r->entropy_count > r->poolinfo->poolfracbits)
-		return;
-
-	_xfer_secondary_pool(r, nbytes);
-}
-
-static void _xfer_secondary_pool(struct entropy_store *r, size_t nbytes)
-{
-	__u32	tmp[OUTPUT_POOL_WORDS];
-
-	int bytes = nbytes;
-
-	/* pull at least as much as a wakeup */
-	bytes = max_t(int, bytes, random_read_wakeup_bits / 8);
-	/* but never more than the buffer size */
-	bytes = min_t(int, bytes, sizeof(tmp));
-
-	trace_xfer_secondary_pool(r->name, bytes * 8, nbytes * 8,
-				  ENTROPY_BITS(r), ENTROPY_BITS(r->pull));
-	bytes = extract_entropy(r->pull, tmp, bytes,
-				random_read_wakeup_bits / 8, 0);
-	mix_pool_bytes(r, tmp, bytes);
-	credit_entropy_bits(r, bytes*8);
-}
-
-/*
- * Used as a workqueue function so that when the input pool is getting
- * full, we can "spill over" some entropy to the output pools.  That
- * way the output pools can store some of the excess entropy instead
- * of letting it go to waste.
- */
-static void push_to_pool(struct work_struct *work)
-{
-	struct entropy_store *r = container_of(work, struct entropy_store,
-					      push_work);
-	BUG_ON(!r);
-	_xfer_secondary_pool(r, random_read_wakeup_bits/8);
-	trace_push_to_pool(r->name, r->entropy_count >> ENTROPY_SHIFT,
-			   r->pull->entropy_count >> ENTROPY_SHIFT);
-}
-
-/*
  * This function decides how many bytes to actually take from the
  * given pool, and also debits the entropy count accordingly.
  */
@@ -1391,10 +1333,9 @@
 	if (ibytes < min)
 		ibytes = 0;
 
-	if (unlikely(entropy_count < 0)) {
-		pr_warn("random: negative entropy count: pool %s count %d\n",
+	if (WARN_ON(entropy_count < 0)) {
+		pr_warn("negative entropy count: pool %s count %d\n",
 			r->name, entropy_count);
-		WARN_ON(1);
 		entropy_count = 0;
 	}
 	nfrac = ibytes << (ENTROPY_SHIFT + 3);
@@ -1407,8 +1348,7 @@
 		goto retry;
 
 	trace_debit_entropy(r->name, 8 * ibytes);
-	if (ibytes &&
-	    (r->entropy_count >> ENTROPY_SHIFT) < random_write_wakeup_bits) {
+	if (ibytes && ENTROPY_BITS(r) < random_write_wakeup_bits) {
 		wake_up_interruptible(&random_write_wait);
 		kill_fasync(&fasync, SIGIO, POLL_OUT);
 	}
@@ -1529,7 +1469,6 @@
 			spin_unlock_irqrestore(&r->lock, flags);
 			trace_extract_entropy(r->name, EXTRACT_SIZE,
 					      ENTROPY_BITS(r), _RET_IP_);
-			xfer_secondary_pool(r, EXTRACT_SIZE);
 			extract_buf(r, tmp);
 			spin_lock_irqsave(&r->lock, flags);
 			memcpy(r->last_data, tmp, EXTRACT_SIZE);
@@ -1538,55 +1477,11 @@
 	}
 
 	trace_extract_entropy(r->name, nbytes, ENTROPY_BITS(r), _RET_IP_);
-	xfer_secondary_pool(r, nbytes);
 	nbytes = account(r, nbytes, min, reserved);
 
 	return _extract_entropy(r, buf, nbytes, fips_enabled);
 }
 
-/*
- * This function extracts randomness from the "entropy pool", and
- * returns it in a userspace buffer.
- */
-static ssize_t extract_entropy_user(struct entropy_store *r, void __user *buf,
-				    size_t nbytes)
-{
-	ssize_t ret = 0, i;
-	__u8 tmp[EXTRACT_SIZE];
-	int large_request = (nbytes > 256);
-
-	trace_extract_entropy_user(r->name, nbytes, ENTROPY_BITS(r), _RET_IP_);
-	xfer_secondary_pool(r, nbytes);
-	nbytes = account(r, nbytes, 0, 0);
-
-	while (nbytes) {
-		if (large_request && need_resched()) {
-			if (signal_pending(current)) {
-				if (ret == 0)
-					ret = -ERESTARTSYS;
-				break;
-			}
-			schedule();
-		}
-
-		extract_buf(r, tmp);
-		i = min_t(int, nbytes, EXTRACT_SIZE);
-		if (copy_to_user(buf, tmp, i)) {
-			ret = -EFAULT;
-			break;
-		}
-
-		nbytes -= i;
-		buf += i;
-		ret += i;
-	}
-
-	/* Wipe data just returned from memory */
-	memzero_explicit(tmp, sizeof(tmp));
-
-	return ret;
-}
-
 #define warn_unseeded_randomness(previous) \
 	_warn_unseeded_randomness(__func__, (void *) _RET_IP_, (previous))
 
@@ -1652,6 +1547,56 @@
 }
 EXPORT_SYMBOL(get_random_bytes);
 
+
+/*
+ * Each time the timer fires, we expect that we got an unpredictable
+ * jump in the cycle counter. Even if the timer is running on another
+ * CPU, the timer activity will be touching the stack of the CPU that is
+ * generating entropy..
+ *
+ * Note that we don't re-arm the timer in the timer itself - we are
+ * happy to be scheduled away, since that just makes the load more
+ * complex, but we do not want the timer to keep ticking unless the
+ * entropy loop is running.
+ *
+ * So the re-arming always happens in the entropy loop itself.
+ */
+static void entropy_timer(struct timer_list *t)
+{
+	credit_entropy_bits(&input_pool, 1);
+}
+
+/*
+ * If we have an actual cycle counter, see if we can
+ * generate enough entropy with timing noise
+ */
+static void try_to_generate_entropy(void)
+{
+	struct {
+		unsigned long now;
+		struct timer_list timer;
+	} stack;
+
+	stack.now = random_get_entropy();
+
+	/* Slow counter - or none. Don't even bother */
+	if (stack.now == random_get_entropy())
+		return;
+
+	timer_setup_on_stack(&stack.timer, entropy_timer, 0);
+	while (!crng_ready()) {
+		if (!timer_pending(&stack.timer))
+			mod_timer(&stack.timer, jiffies+1);
+		mix_pool_bytes(&input_pool, &stack.now, sizeof(stack.now));
+		schedule();
+		stack.now = random_get_entropy();
+	}
+
+	del_timer_sync(&stack.timer);
+	destroy_timer_on_stack(&stack.timer);
+	mix_pool_bytes(&input_pool, &stack.now, sizeof(stack.now));
+}
+
 /*
  * Wait for the urandom pool to be seeded and thus guaranteed to supply
  * cryptographically secure random numbers. This applies to: the /dev/urandom
@@ -1666,7 +1611,17 @@
 {
 	if (likely(crng_ready()))
 		return 0;
-	return wait_event_interruptible(crng_init_wait, crng_ready());
+
+	do {
+		int ret;
+		ret = wait_event_interruptible_timeout(crng_init_wait, crng_ready(), HZ);
+		if (ret)
+			return ret > 0 ? 0 : ret;
+
+		try_to_generate_entropy();
+	} while (!crng_ready());
+
+	return 0;
 }
 EXPORT_SYMBOL(wait_for_random_bytes);
 
@@ -1786,13 +1741,12 @@
  * data into the pool to prepare it for use. The pool is not cleared
  * as that can only decrease the entropy in the pool.
  */
-static void init_std_data(struct entropy_store *r)
+static void __init init_std_data(struct entropy_store *r)
 {
 	int i;
 	ktime_t now = ktime_get_real();
 	unsigned long rv;
 
-	r->last_pulled = jiffies;
 	mix_pool_bytes(r, &now, sizeof(now));
 	for (i = r->poolinfo->poolbytes; i > 0; i -= sizeof(rv)) {
 		if (!arch_get_random_seed_long(&rv) &&
@@ -1813,10 +1767,9 @@
  * take care not to overwrite the precious per platform data
  * we were given.
  */
-static int rand_initialize(void)
+int __init rand_initialize(void)
 {
 	init_std_data(&input_pool);
-	init_std_data(&blocking_pool);
 	crng_initialize(&primary_crng);
 	crng_global_init_time = jiffies;
 	if (ratelimit_disable) {
@@ -1825,7 +1778,6 @@
 	}
 	return 0;
 }
-early_initcall(rand_initialize);
 
 #ifdef CONFIG_BLOCK
 void rand_initialize_disk(struct gendisk *disk)
@@ -1845,40 +1797,15 @@
 #endif
 
 static ssize_t
-_random_read(int nonblock, char __user *buf, size_t nbytes)
+urandom_read_nowarn(struct file *file, char __user *buf, size_t nbytes,
+		    loff_t *ppos)
 {
-	ssize_t n;
+	int ret;
 
-	if (nbytes == 0)
-		return 0;
-
-	nbytes = min_t(size_t, nbytes, SEC_XFER_SIZE);
-	while (1) {
-		n = extract_entropy_user(&blocking_pool, buf, nbytes);
-		if (n < 0)
-			return n;
-		trace_random_read(n*8, (nbytes-n)*8,
-				  ENTROPY_BITS(&blocking_pool),
-				  ENTROPY_BITS(&input_pool));
-		if (n > 0)
-			return n;
-
-		/* Pool is (near) empty.  Maybe wait and retry. */
-		if (nonblock)
-			return -EAGAIN;
-
-		wait_event_interruptible(random_read_wait,
-			ENTROPY_BITS(&input_pool) >=
-			random_read_wakeup_bits);
-		if (signal_pending(current))
-			return -ERESTARTSYS;
-	}
-}
-
-static ssize_t
-random_read(struct file *file, char __user *buf, size_t nbytes, loff_t *ppos)
-{
-	return _random_read(file->f_flags & O_NONBLOCK, buf, nbytes);
+	nbytes = min_t(size_t, nbytes, INT_MAX >> (ENTROPY_SHIFT + 3));
+	ret = extract_crng_user(buf, nbytes);
+	trace_urandom_read(8 * nbytes, 0, ENTROPY_BITS(&input_pool));
+	return ret;
 }
 
 static ssize_t
@@ -1886,22 +1813,29 @@
 {
 	unsigned long flags;
 	static int maxwarn = 10;
-	int ret;
 
 	if (!crng_ready() && maxwarn > 0) {
 		maxwarn--;
 		if (__ratelimit(&urandom_warning))
-			printk(KERN_NOTICE "random: %s: uninitialized "
-			       "urandom read (%zd bytes read)\n",
-			       current->comm, nbytes);
+			pr_notice("%s: uninitialized urandom read (%zd bytes read)\n",
+				  current->comm, nbytes);
 		spin_lock_irqsave(&primary_crng.lock, flags);
 		crng_init_cnt = 0;
 		spin_unlock_irqrestore(&primary_crng.lock, flags);
 	}
-	nbytes = min_t(size_t, nbytes, INT_MAX >> (ENTROPY_SHIFT + 3));
-	ret = extract_crng_user(buf, nbytes);
-	trace_urandom_read(8 * nbytes, 0, ENTROPY_BITS(&input_pool));
-	return ret;
+
+	return urandom_read_nowarn(file, buf, nbytes, ppos);
+}
+
+static ssize_t
+random_read(struct file *file, char __user *buf, size_t nbytes, loff_t *ppos)
+{
+	int ret;
+
+	ret = wait_for_random_bytes();
+	if (ret != 0)
+		return ret;
+	return urandom_read_nowarn(file, buf, nbytes, ppos);
 }
 
 static __poll_t
@@ -1909,10 +1843,10 @@
 {
 	__poll_t mask;
 
-	poll_wait(file, &random_read_wait, wait);
+	poll_wait(file, &crng_init_wait, wait);
 	poll_wait(file, &random_write_wait, wait);
 	mask = 0;
-	if (ENTROPY_BITS(&input_pool) >= random_read_wakeup_bits)
+	if (crng_ready())
 		mask |= EPOLLIN | EPOLLRDNORM;
 	if (ENTROPY_BITS(&input_pool) < random_write_wakeup_bits)
 		mask |= EPOLLOUT | EPOLLWRNORM;
@@ -2003,7 +1937,6 @@
 		if (!capable(CAP_SYS_ADMIN))
 			return -EPERM;
 		input_pool.entropy_count = 0;
-		blocking_pool.entropy_count = 0;
 		return 0;
 	case RNDRESEEDCRNG:
 		if (!capable(CAP_SYS_ADMIN))
@@ -2045,23 +1978,27 @@
 {
 	int ret;
 
-	if (flags & ~(GRND_NONBLOCK|GRND_RANDOM))
+	if (flags & ~(GRND_NONBLOCK|GRND_RANDOM|GRND_INSECURE))
+		return -EINVAL;
+
+	/*
+	 * Requesting insecure and blocking randomness at the same time makes
+	 * no sense.
+	 */
+	if ((flags & (GRND_INSECURE|GRND_RANDOM)) == (GRND_INSECURE|GRND_RANDOM))
 		return -EINVAL;
 
 	if (count > INT_MAX)
 		count = INT_MAX;
 
-	if (flags & GRND_RANDOM)
-		return _random_read(flags & GRND_NONBLOCK, buf, count);
-
-	if (!crng_ready()) {
+	if (!(flags & GRND_INSECURE) && !crng_ready()) {
 		if (flags & GRND_NONBLOCK)
 			return -EAGAIN;
 		ret = wait_for_random_bytes();
 		if (unlikely(ret))
 			return ret;
 	}
-	return urandom_read(NULL, buf, count, NULL);
+	return urandom_read_nowarn(NULL, buf, count, NULL);
 }
 
 /********************************************************************
@@ -2074,8 +2011,7 @@
 
 #include <linux/sysctl.h>
 
-static int min_read_thresh = 8, min_write_thresh;
-static int max_read_thresh = OUTPUT_POOL_WORDS * 32;
+static int min_write_thresh;
 static int max_write_thresh = INPUT_POOL_WORDS * 32;
 static int random_min_urandom_seed = 60;
 static char sysctl_bootid[16];
@@ -2151,15 +2087,6 @@
 		.data		= &input_pool.entropy_count,
 	},
 	{
-		.procname	= "read_wakeup_threshold",
-		.data		= &random_read_wakeup_bits,
-		.maxlen		= sizeof(int),
-		.mode		= 0644,
-		.proc_handler	= proc_dointvec_minmax,
-		.extra1		= &min_read_thresh,
-		.extra2		= &max_read_thresh,
-	},
-	{
 		.procname	= "write_wakeup_threshold",
 		.data		= &random_write_wakeup_bits,
 		.maxlen		= sizeof(int),
@@ -2367,3 +2294,17 @@
 	credit_entropy_bits(poolp, entropy);
 }
 EXPORT_SYMBOL_GPL(add_hwgenerator_randomness);
+
+/* Handle random seed passed by bootloader.
+ * If the seed is trustworthy, it would be regarded as hardware RNGs. Otherwise
+ * it would be regarded as device data.
+ * The decision is controlled by CONFIG_RANDOM_TRUST_BOOTLOADER.
+ */
+void add_bootloader_randomness(const void *buf, unsigned int size)
+{
+	if (IS_ENABLED(CONFIG_RANDOM_TRUST_BOOTLOADER))
+		add_hwgenerator_randomness(buf, size, size * 8);
+	else
+		add_device_randomness(buf, size);
+}
+EXPORT_SYMBOL_GPL(add_bootloader_randomness);
\ No newline at end of file
diff --git a/drivers/char/ttyprintk.c b/drivers/char/ttyprintk.c
index 67549ce..7747484 100644
--- a/drivers/char/ttyprintk.c
+++ b/drivers/char/ttyprintk.c
@@ -18,10 +18,11 @@
 #include <linux/serial.h>
 #include <linux/tty.h>
 #include <linux/module.h>
+#include <linux/spinlock.h>
 
 struct ttyprintk_port {
 	struct tty_port port;
-	struct mutex port_write_mutex;
+	spinlock_t spinlock;
 };
 
 static struct ttyprintk_port tpk_port;
@@ -100,11 +101,12 @@
 static void tpk_close(struct tty_struct *tty, struct file *filp)
 {
 	struct ttyprintk_port *tpkp = tty->driver_data;
+	unsigned long flags;
 
-	mutex_lock(&tpkp->port_write_mutex);
+	spin_lock_irqsave(&tpkp->spinlock, flags);
 	/* flush tpk_printk buffer */
 	tpk_printk(NULL, 0);
-	mutex_unlock(&tpkp->port_write_mutex);
+	spin_unlock_irqrestore(&tpkp->spinlock, flags);
 
 	tty_port_close(&tpkp->port, tty, filp);
 }
@@ -116,13 +118,14 @@
 		const unsigned char *buf, int count)
 {
 	struct ttyprintk_port *tpkp = tty->driver_data;
+	unsigned long flags;
 	int ret;
 
 
 	/* exclusive use of tpk_printk within this tty */
-	mutex_lock(&tpkp->port_write_mutex);
+	spin_lock_irqsave(&tpkp->spinlock, flags);
 	ret = tpk_printk(buf, count);
-	mutex_unlock(&tpkp->port_write_mutex);
+	spin_unlock_irqrestore(&tpkp->spinlock, flags);
 
 	return ret;
 }
@@ -172,7 +175,7 @@
 {
 	int ret = -ENOMEM;
 
-	mutex_init(&tpk_port.port_write_mutex);
+	spin_lock_init(&tpk_port.spinlock);
 
 	ttyprintk_driver = tty_alloc_driver(1,
 			TTY_DRIVER_RESET_TERMIOS |
diff --git a/drivers/clk/actions/owl-factor.c b/drivers/clk/actions/owl-factor.c
index 317d4a9..f15e262 100644
--- a/drivers/clk/actions/owl-factor.c
+++ b/drivers/clk/actions/owl-factor.c
@@ -64,11 +64,10 @@
 	return val;
 }
 
-static int clk_val_best(struct clk_hw *hw, unsigned long rate,
+static int owl_clk_val_best(const struct owl_factor_hw *factor_hw,
+			struct clk_hw *hw, unsigned long rate,
 			unsigned long *best_parent_rate)
 {
-	struct owl_factor *factor = hw_to_owl_factor(hw);
-	struct owl_factor_hw *factor_hw = &factor->factor_hw;
 	const struct clk_factor_table *clkt = factor_hw->table;
 	unsigned long parent_rate, try_parent_rate, best = 0, cur_rate;
 	unsigned long parent_rate_saved = *best_parent_rate;
@@ -126,7 +125,7 @@
 	const struct clk_factor_table *clkt = factor_hw->table;
 	unsigned int val, mul = 0, div = 1;
 
-	val = clk_val_best(&common->hw, rate, parent_rate);
+	val = owl_clk_val_best(factor_hw, &common->hw, rate, parent_rate);
 	_get_table_div_mul(clkt, val, &mul, &div);
 
 	return *parent_rate * mul / div;
diff --git a/drivers/clk/clk-highbank.c b/drivers/clk/clk-highbank.c
index 727ed8e..8e45810 100644
--- a/drivers/clk/clk-highbank.c
+++ b/drivers/clk/clk-highbank.c
@@ -293,6 +293,7 @@
 	/* Map system registers */
 	srnp = of_find_compatible_node(NULL, NULL, "calxeda,hb-sregs");
 	hb_clk->reg = of_iomap(srnp, 0);
+	of_node_put(srnp);
 	BUG_ON(!hb_clk->reg);
 	hb_clk->reg += reg;
 
diff --git a/drivers/clk/clk-qoriq.c b/drivers/clk/clk-qoriq.c
index 8abc5c8..a0713b2 100644
--- a/drivers/clk/clk-qoriq.c
+++ b/drivers/clk/clk-qoriq.c
@@ -1389,6 +1389,7 @@
 				pr_err("%s: Couldn't map %pOF regs\n", __func__,
 				       guts);
 			}
+			of_node_put(guts);
 		}
 
 	}
diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
index c372a24..5b463b4 100644
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
@@ -82,6 +82,7 @@
 	struct clk_core		*new_child;
 	unsigned long		flags;
 	bool			orphan;
+	bool			rpm_enabled;
 	bool			need_sync;
 	bool			boot_enabled;
 	unsigned int		enable_count;
@@ -127,9 +128,9 @@
 /***           runtime pm          ***/
 static int clk_pm_runtime_get(struct clk_core *core)
 {
-	int ret = 0;
+	int ret;
 
-	if (!core->dev)
+	if (!core->rpm_enabled)
 		return 0;
 
 	ret = pm_runtime_get_sync(core->dev);
@@ -138,7 +139,7 @@
 
 static void clk_pm_runtime_put(struct clk_core *core)
 {
-	if (!core->dev)
+	if (!core->rpm_enabled)
 		return;
 
 	pm_runtime_put_sync(core->dev);
@@ -258,7 +259,7 @@
 	 * taking enable spinlock, but the below check is needed if one tries
 	 * to call it from other places.
 	 */
-	if (core->dev) {
+	if (core->rpm_enabled) {
 		pm_runtime_get_noresume(core->dev);
 		if (!pm_runtime_active(core->dev)) {
 			ret = false;
@@ -268,7 +269,7 @@
 
 	ret = core->ops->is_enabled(core->hw);
 done:
-	if (core->dev)
+	if (core->rpm_enabled)
 		pm_runtime_put(core->dev);
 
 	return ret;
@@ -4187,11 +4188,17 @@
 	if (core->flags & CLK_IS_CRITICAL) {
 		unsigned long flags;
 
-		clk_core_prepare(core);
+		ret = clk_core_prepare(core);
+		if (ret)
+			goto out;
 
 		flags = clk_enable_lock();
-		clk_core_enable(core);
+		ret = clk_core_enable(core);
 		clk_enable_unlock(flags);
+		if (ret) {
+			clk_core_unprepare(core);
+			goto out;
+		}
 	}
 
 	clk_core_hold_state(core);
@@ -4354,7 +4361,8 @@
 	core->ops = hw->init->ops;
 
 	if (dev && pm_runtime_enabled(dev))
-		core->dev = dev;
+		core->rpm_enabled = true;
+	core->dev = dev;
 	if (dev && dev->driver)
 		core->owner = dev->driver->owner;
 	core->hw = hw;
diff --git a/drivers/clk/imx/clk-imx6q.c b/drivers/clk/imx/clk-imx6q.c
index c509324..8ddf9b1 100644
--- a/drivers/clk/imx/clk-imx6q.c
+++ b/drivers/clk/imx/clk-imx6q.c
@@ -424,6 +424,7 @@
 	np = of_find_compatible_node(NULL, NULL, "fsl,imx6q-anatop");
 	anatop_base = base = of_iomap(np, 0);
 	WARN_ON(!base);
+	of_node_put(np);
 
 	/* Audio/video PLL post dividers do not work on i.MX6q revision 1.0 */
 	if (clk_on_imx6q() && imx_get_soc_revision() == IMX_CHIP_REVISION_1_0) {
diff --git a/drivers/clk/imx/clk-imx6sx.c b/drivers/clk/imx/clk-imx6sx.c
index d9f2890..57ab96a 100644
--- a/drivers/clk/imx/clk-imx6sx.c
+++ b/drivers/clk/imx/clk-imx6sx.c
@@ -151,6 +151,7 @@
 	np = of_find_compatible_node(NULL, NULL, "fsl,imx6sx-anatop");
 	base = of_iomap(np, 0);
 	WARN_ON(!base);
+	of_node_put(np);
 
 	clks[IMX6SX_PLL1_BYPASS_SRC] = imx_clk_mux("pll1_bypass_src", base + 0x00, 14, 1, pll_bypass_src_sels, ARRAY_SIZE(pll_bypass_src_sels));
 	clks[IMX6SX_PLL2_BYPASS_SRC] = imx_clk_mux("pll2_bypass_src", base + 0x30, 14, 1, pll_bypass_src_sels, ARRAY_SIZE(pll_bypass_src_sels));
diff --git a/drivers/clk/imx/clk-imx7d.c b/drivers/clk/imx/clk-imx7d.c
index 881b772..83412bc 100644
--- a/drivers/clk/imx/clk-imx7d.c
+++ b/drivers/clk/imx/clk-imx7d.c
@@ -413,6 +413,7 @@
 	np = of_find_compatible_node(NULL, NULL, "fsl,imx7d-anatop");
 	base = of_iomap(np, 0);
 	WARN_ON(!base);
+	of_node_put(np);
 
 	clks[IMX7D_PLL_ARM_MAIN_SRC]  = imx_clk_mux("pll_arm_main_src", base + 0x60, 14, 2, pll_bypass_src_sel, ARRAY_SIZE(pll_bypass_src_sel));
 	clks[IMX7D_PLL_DRAM_MAIN_SRC] = imx_clk_mux("pll_dram_main_src", base + 0x70, 14, 2, pll_bypass_src_sel, ARRAY_SIZE(pll_bypass_src_sel));
diff --git a/drivers/clk/imx/clk-vf610.c b/drivers/clk/imx/clk-vf610.c
index 6dae543..a334667 100644
--- a/drivers/clk/imx/clk-vf610.c
+++ b/drivers/clk/imx/clk-vf610.c
@@ -203,6 +203,7 @@
 	np = of_find_compatible_node(NULL, NULL, "fsl,vf610-anatop");
 	anatop_base = of_iomap(np, 0);
 	BUG_ON(!anatop_base);
+	of_node_put(np);
 
 	np = ccm_node;
 	ccm_base = of_iomap(np, 0);
diff --git a/drivers/clk/ingenic/jz4740-cgu.c b/drivers/clk/ingenic/jz4740-cgu.c
index 4479c10..b86edd3 100644
--- a/drivers/clk/ingenic/jz4740-cgu.c
+++ b/drivers/clk/ingenic/jz4740-cgu.c
@@ -165,7 +165,7 @@
 		.parents = { JZ4740_CLK_EXT, JZ4740_CLK_PLL_HALF, -1, -1 },
 		.mux = { CGU_REG_CPCCR, 29, 1 },
 		.div = { CGU_REG_CPCCR, 23, 1, 6, -1, -1, -1 },
-		.gate = { CGU_REG_SCR, 6 },
+		.gate = { CGU_REG_SCR, 6, true },
 	},
 
 	/* Gate-only clocks */
diff --git a/drivers/clk/meson/axg.c b/drivers/clk/meson/axg.c
index 02229d0..4e7dac2 100644
--- a/drivers/clk/meson/axg.c
+++ b/drivers/clk/meson/axg.c
@@ -461,11 +461,6 @@
 			.shift   = 16,
 			.width   = 9,
 		},
-		.ssen = {
-			.reg_off = HHI_MPLL_CNTL,
-			.shift   = 25,
-			.width	 = 1,
-		},
 		.misc = {
 			.reg_off = HHI_PLL_TOP_MISC,
 			.shift   = 0,
@@ -560,6 +555,11 @@
 			.shift   = 16,
 			.width   = 9,
 		},
+		.ssen = {
+			.reg_off = HHI_MPLL_CNTL,
+			.shift   = 25,
+			.width	 = 1,
+		},
 		.misc = {
 			.reg_off = HHI_PLL_TOP_MISC,
 			.shift   = 2,
diff --git a/drivers/clk/meson/gxbb.c b/drivers/clk/meson/gxbb.c
index b039909..38ffa51 100644
--- a/drivers/clk/meson/gxbb.c
+++ b/drivers/clk/meson/gxbb.c
@@ -650,11 +650,6 @@
 			.shift   = 16,
 			.width   = 9,
 		},
-		.ssen = {
-			.reg_off = HHI_MPLL_CNTL,
-			.shift   = 25,
-			.width	 = 1,
-		},
 		.lock = &meson_clk_lock,
 	},
 	.hw.init = &(struct clk_init_data){
diff --git a/drivers/clk/mmp/clk-of-mmp2.c b/drivers/clk/mmp/clk-of-mmp2.c
index d083b86..10689d8 100644
--- a/drivers/clk/mmp/clk-of-mmp2.c
+++ b/drivers/clk/mmp/clk-of-mmp2.c
@@ -134,7 +134,7 @@
 static const char *ssp_parent_names[] = {"vctcxo_4", "vctcxo_2", "vctcxo", "pll1_16"};
 
 static DEFINE_SPINLOCK(timer_lock);
-static const char *timer_parent_names[] = {"clk32", "vctcxo_2", "vctcxo_4", "vctcxo"};
+static const char *timer_parent_names[] = {"clk32", "vctcxo_4", "vctcxo_2", "vctcxo"};
 
 static DEFINE_SPINLOCK(reset_lock);
 
diff --git a/drivers/clk/mvebu/armada-370.c b/drivers/clk/mvebu/armada-370.c
index 2c7c108..8fdfa97 100644
--- a/drivers/clk/mvebu/armada-370.c
+++ b/drivers/clk/mvebu/armada-370.c
@@ -177,8 +177,10 @@
 
 	mvebu_coreclk_setup(np, &a370_coreclks);
 
-	if (cgnp)
+	if (cgnp) {
 		mvebu_clk_gating_setup(cgnp, a370_gating_desc);
+		of_node_put(cgnp);
+	}
 }
 CLK_OF_DECLARE(a370_clk, "marvell,armada-370-core-clock", a370_clk_init);
 
diff --git a/drivers/clk/mvebu/armada-xp.c b/drivers/clk/mvebu/armada-xp.c
index 0ec44ae..df52998 100644
--- a/drivers/clk/mvebu/armada-xp.c
+++ b/drivers/clk/mvebu/armada-xp.c
@@ -228,7 +228,9 @@
 
 	mvebu_coreclk_setup(np, &axp_coreclks);
 
-	if (cgnp)
+	if (cgnp) {
 		mvebu_clk_gating_setup(cgnp, axp_gating_desc);
+		of_node_put(cgnp);
+	}
 }
 CLK_OF_DECLARE(axp_clk, "marvell,armada-xp-core-clock", axp_clk_init);
diff --git a/drivers/clk/mvebu/dove.c b/drivers/clk/mvebu/dove.c
index 59fad95..5f258c9 100644
--- a/drivers/clk/mvebu/dove.c
+++ b/drivers/clk/mvebu/dove.c
@@ -190,10 +190,14 @@
 
 	mvebu_coreclk_setup(np, &dove_coreclks);
 
-	if (ddnp)
+	if (ddnp) {
 		dove_divider_clk_init(ddnp);
+		of_node_put(ddnp);
+	}
 
-	if (cgnp)
+	if (cgnp) {
 		mvebu_clk_gating_setup(cgnp, dove_gating_desc);
+		of_node_put(cgnp);
+	}
 }
 CLK_OF_DECLARE(dove_clk, "marvell,dove-core-clock", dove_clk_init);
diff --git a/drivers/clk/mvebu/kirkwood.c b/drivers/clk/mvebu/kirkwood.c
index a2a8d61..890ebf6 100644
--- a/drivers/clk/mvebu/kirkwood.c
+++ b/drivers/clk/mvebu/kirkwood.c
@@ -333,6 +333,8 @@
 	if (cgnp) {
 		mvebu_clk_gating_setup(cgnp, kirkwood_gating_desc);
 		kirkwood_clk_muxing_setup(cgnp, kirkwood_mux_desc);
+
+		of_node_put(cgnp);
 	}
 }
 CLK_OF_DECLARE(kirkwood_clk, "marvell,kirkwood-core-clock",
diff --git a/drivers/clk/mvebu/mv98dx3236.c b/drivers/clk/mvebu/mv98dx3236.c
index 6e203af..c8a0d03d 100644
--- a/drivers/clk/mvebu/mv98dx3236.c
+++ b/drivers/clk/mvebu/mv98dx3236.c
@@ -174,7 +174,9 @@
 
 	mvebu_coreclk_setup(np, &mv98dx3236_core_clocks);
 
-	if (cgnp)
+	if (cgnp) {
 		mvebu_clk_gating_setup(cgnp, mv98dx3236_gating_desc);
+		of_node_put(cgnp);
+	}
 }
 CLK_OF_DECLARE(mv98dx3236_clk, "marvell,mv98dx3236-core-clock", mv98dx3236_clk_init);
diff --git a/drivers/clk/qcom/clk-rcg2.c b/drivers/clk/qcom/clk-rcg2.c
index c33d2b6..a9244e6 100644
--- a/drivers/clk/qcom/clk-rcg2.c
+++ b/drivers/clk/qcom/clk-rcg2.c
@@ -342,6 +342,7 @@
 	p = clk_hw_get_parent_by_index(hw, index);
 	if (!p)
 		return -EINVAL;
+
 	if (clk_flags & CLK_SET_RATE_PARENT) {
 		rate = f->freq;
 		if (f->pre_div) {
diff --git a/drivers/clk/qcom/gcc-msm8996.c b/drivers/clk/qcom/gcc-msm8996.c
index 9a3290f..bea55c4 100644
--- a/drivers/clk/qcom/gcc-msm8996.c
+++ b/drivers/clk/qcom/gcc-msm8996.c
@@ -138,22 +138,6 @@
 	"gpll0_early_div"
 };
 
-static const struct parent_map gcc_xo_gpll0_gpll2_gpll3_gpll0_early_div_map[] = {
-	{ P_XO, 0 },
-	{ P_GPLL0, 1 },
-	{ P_GPLL2, 2 },
-	{ P_GPLL3, 3 },
-	{ P_GPLL0_EARLY_DIV, 6 }
-};
-
-static const char * const gcc_xo_gpll0_gpll2_gpll3_gpll0_early_div[] = {
-	"xo",
-	"gpll0",
-	"gpll2",
-	"gpll3",
-	"gpll0_early_div"
-};
-
 static const struct parent_map gcc_xo_gpll0_gpll1_early_div_gpll1_gpll4_gpll0_early_div_map[] = {
 	{ P_XO, 0 },
 	{ P_GPLL0, 1 },
@@ -192,26 +176,6 @@
 	"gpll0_early_div"
 };
 
-static const struct parent_map gcc_xo_gpll0_gpll2_gpll3_gpll1_gpll4_gpll0_early_div_map[] = {
-	{ P_XO, 0 },
-	{ P_GPLL0, 1 },
-	{ P_GPLL2, 2 },
-	{ P_GPLL3, 3 },
-	{ P_GPLL1, 4 },
-	{ P_GPLL4, 5 },
-	{ P_GPLL0_EARLY_DIV, 6 }
-};
-
-static const char * const gcc_xo_gpll0_gpll2_gpll3_gpll1_gpll4_gpll0_early_div[] = {
-	"xo",
-	"gpll0",
-	"gpll2",
-	"gpll3",
-	"gpll1",
-	"gpll4",
-	"gpll0_early_div"
-};
-
 static struct clk_fixed_factor xo = {
 	.mult = 1,
 	.div = 1,
diff --git a/drivers/clk/qcom/gcc-msm8998.c b/drivers/clk/qcom/gcc-msm8998.c
index 4e23973..772a081 100644
--- a/drivers/clk/qcom/gcc-msm8998.c
+++ b/drivers/clk/qcom/gcc-msm8998.c
@@ -2144,7 +2144,7 @@
 
 static struct clk_branch gcc_pcie_0_pipe_clk = {
 	.halt_reg = 0x6b018,
-	.halt_check = BRANCH_HALT,
+	.halt_check = BRANCH_HALT_SKIP,
 	.clkr = {
 		.enable_reg = 0x6b018,
 		.enable_mask = BIT(0),
diff --git a/drivers/clk/qcom/gcc-sdm845.c b/drivers/clk/qcom/gcc-sdm845.c
index ada3e4a..6bd96dd 100644
--- a/drivers/clk/qcom/gcc-sdm845.c
+++ b/drivers/clk/qcom/gcc-sdm845.c
@@ -3150,6 +3150,7 @@
 		.name = "hlos1_vote_aggre_noc_mmu_audio_tbu_gdsc",
 	},
 	.pwrsts = PWRSTS_OFF_ON,
+	.flags = VOTABLE,
 };
 
 static struct gdsc hlos1_vote_aggre_noc_mmu_pcie_tbu_gdsc = {
@@ -3158,6 +3159,7 @@
 		.name = "hlos1_vote_aggre_noc_mmu_pcie_tbu_gdsc",
 	},
 	.pwrsts = PWRSTS_OFF_ON,
+	.flags = VOTABLE,
 };
 
 static struct gdsc hlos1_vote_aggre_noc_mmu_tbu1_gdsc = {
@@ -3166,6 +3168,7 @@
 		.name = "hlos1_vote_aggre_noc_mmu_tbu1_gdsc",
 	},
 	.pwrsts = PWRSTS_OFF_ON,
+	.flags = VOTABLE,
 };
 
 static struct gdsc hlos1_vote_aggre_noc_mmu_tbu2_gdsc = {
@@ -3174,6 +3177,7 @@
 		.name = "hlos1_vote_aggre_noc_mmu_tbu2_gdsc",
 	},
 	.pwrsts = PWRSTS_OFF_ON,
+	.flags = VOTABLE,
 };
 
 static struct gdsc hlos1_vote_mmnoc_mmu_tbu_hf0_gdsc = {
@@ -3182,6 +3186,7 @@
 		.name = "hlos1_vote_mmnoc_mmu_tbu_hf0_gdsc",
 	},
 	.pwrsts = PWRSTS_OFF_ON,
+	.flags = VOTABLE,
 };
 
 static struct gdsc hlos1_vote_mmnoc_mmu_tbu_hf1_gdsc = {
@@ -3190,6 +3195,7 @@
 		.name = "hlos1_vote_mmnoc_mmu_tbu_hf1_gdsc",
 	},
 	.pwrsts = PWRSTS_OFF_ON,
+	.flags = VOTABLE,
 };
 
 static struct gdsc hlos1_vote_mmnoc_mmu_tbu_sf_gdsc = {
@@ -3198,6 +3204,7 @@
 		.name = "hlos1_vote_mmnoc_mmu_tbu_sf_gdsc",
 	},
 	.pwrsts = PWRSTS_OFF_ON,
+	.flags = VOTABLE,
 };
 
 static struct clk_regmap *gcc_sdm845_clocks[] = {
diff --git a/drivers/clk/samsung/clk-exynos4.c b/drivers/clk/samsung/clk-exynos4.c
index 0421960..442309b 100644
--- a/drivers/clk/samsung/clk-exynos4.c
+++ b/drivers/clk/samsung/clk-exynos4.c
@@ -1226,6 +1226,7 @@
 			xom = readl(chipid_base + 8);
 
 		iounmap(chipid_base);
+		of_node_put(np);
 	}
 
 	return xom;
diff --git a/drivers/clk/samsung/clk-exynos5420.c b/drivers/clk/samsung/clk-exynos5420.c
index d5af937..6473af8 100644
--- a/drivers/clk/samsung/clk-exynos5420.c
+++ b/drivers/clk/samsung/clk-exynos5420.c
@@ -171,6 +171,8 @@
 	GATE_BUS_CPU,
 	GATE_SCLK_CPU,
 	CLKOUT_CMU_CPU,
+	APLL_CON0,
+	KPLL_CON0,
 	CPLL_CON0,
 	DPLL_CON0,
 	EPLL_CON0,
diff --git a/drivers/clk/socfpga/clk-pll-a10.c b/drivers/clk/socfpga/clk-pll-a10.c
index 35fabe1..269467e 100644
--- a/drivers/clk/socfpga/clk-pll-a10.c
+++ b/drivers/clk/socfpga/clk-pll-a10.c
@@ -95,6 +95,7 @@
 
 	clkmgr_np = of_find_compatible_node(NULL, NULL, "altr,clk-mgr");
 	clk_mgr_a10_base_addr = of_iomap(clkmgr_np, 0);
+	of_node_put(clkmgr_np);
 	BUG_ON(!clk_mgr_a10_base_addr);
 	pll_clk->hw.reg = clk_mgr_a10_base_addr + reg;
 
diff --git a/drivers/clk/socfpga/clk-pll.c b/drivers/clk/socfpga/clk-pll.c
index c7f4631..b4b44e9 100644
--- a/drivers/clk/socfpga/clk-pll.c
+++ b/drivers/clk/socfpga/clk-pll.c
@@ -100,6 +100,7 @@
 
 	clkmgr_np = of_find_compatible_node(NULL, NULL, "altr,clk-mgr");
 	clk_mgr_base_addr = of_iomap(clkmgr_np, 0);
+	of_node_put(clkmgr_np);
 	BUG_ON(!clk_mgr_base_addr);
 	pll_clk->hw.reg = clk_mgr_base_addr + reg;
 
diff --git a/drivers/clk/sprd/common.c b/drivers/clk/sprd/common.c
index 8bdab1c..c9b7775 100644
--- a/drivers/clk/sprd/common.c
+++ b/drivers/clk/sprd/common.c
@@ -45,7 +45,7 @@
 
 	if (of_find_property(node, "sprd,syscon", NULL)) {
 		regmap = syscon_regmap_lookup_by_phandle(node, "sprd,syscon");
-		if (IS_ERR_OR_NULL(regmap)) {
+		if (IS_ERR(regmap)) {
 			pr_err("%s: failed to get syscon regmap\n", __func__);
 			return PTR_ERR(regmap);
 		}
diff --git a/drivers/clk/sunxi-ng/ccu-sun50i-a64.c b/drivers/clk/sunxi-ng/ccu-sun50i-a64.c
index dec4a13..9ac6c29 100644
--- a/drivers/clk/sunxi-ng/ccu-sun50i-a64.c
+++ b/drivers/clk/sunxi-ng/ccu-sun50i-a64.c
@@ -901,11 +901,26 @@
 	.num_resets	= ARRAY_SIZE(sun50i_a64_ccu_resets),
 };
 
+static struct ccu_pll_nb sun50i_a64_pll_cpu_nb = {
+	.common	= &pll_cpux_clk.common,
+	/* copy from pll_cpux_clk */
+	.enable	= BIT(31),
+	.lock	= BIT(28),
+};
+
+static struct ccu_mux_nb sun50i_a64_cpu_nb = {
+	.common		= &cpux_clk.common,
+	.cm		= &cpux_clk.mux,
+	.delay_us	= 1, /* > 8 clock cycles at 24 MHz */
+	.bypass_index	= 1, /* index of 24 MHz oscillator */
+};
+
 static int sun50i_a64_ccu_probe(struct platform_device *pdev)
 {
 	struct resource *res;
 	void __iomem *reg;
 	u32 val;
+	int ret;
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	reg = devm_ioremap_resource(&pdev->dev, res);
@@ -919,7 +934,18 @@
 
 	writel(0x515, reg + SUN50I_A64_PLL_MIPI_REG);
 
-	return sunxi_ccu_probe(pdev->dev.of_node, reg, &sun50i_a64_ccu_desc);
+	ret = sunxi_ccu_probe(pdev->dev.of_node, reg, &sun50i_a64_ccu_desc);
+	if (ret)
+		return ret;
+
+	/* Gate then ungate PLL CPU after any rate changes */
+	ccu_pll_notifier_register(&sun50i_a64_pll_cpu_nb);
+
+	/* Reparent CPU during PLL CPU rate changes */
+	ccu_mux_notifier_register(pll_cpux_clk.common.hw.clk,
+				  &sun50i_a64_cpu_nb);
+
+	return 0;
 }
 
 static const struct of_device_id sun50i_a64_ccu_ids[] = {
diff --git a/drivers/clk/sunxi-ng/ccu-sun50i-h6-r.c b/drivers/clk/sunxi-ng/ccu-sun50i-h6-r.c
index 27554ea..28b84c7 100644
--- a/drivers/clk/sunxi-ng/ccu-sun50i-h6-r.c
+++ b/drivers/clk/sunxi-ng/ccu-sun50i-h6-r.c
@@ -23,9 +23,9 @@
  */
 
 static const char * const ar100_r_apb2_parents[] = { "osc24M", "osc32k",
-					     "pll-periph0", "iosc" };
+						     "iosc", "pll-periph0" };
 static const struct ccu_mux_var_prediv ar100_r_apb2_predivs[] = {
-	{ .index = 2, .shift = 0, .width = 5 },
+	{ .index = 3, .shift = 0, .width = 5 },
 };
 
 static struct ccu_div ar100_clk = {
@@ -104,7 +104,7 @@
 static SUNXI_CCU_GATE(r_apb1_ir_clk,	"r-apb1-ir",	"r-apb1",
 		      0x1cc, BIT(0), 0);
 static SUNXI_CCU_GATE(r_apb1_w1_clk,	"r-apb1-w1",	"r-apb1",
-		      0x1cc, BIT(0), 0);
+		      0x1ec, BIT(0), 0);
 
 /* Information of IR(RX) mod clock is gathered from BSP source code */
 static const char * const r_mod0_default_parents[] = { "osc32k", "osc24M" };
diff --git a/drivers/clk/sunxi-ng/ccu-sun8i-a23.c b/drivers/clk/sunxi-ng/ccu-sun8i-a23.c
index a4fa294..4b5f8f4 100644
--- a/drivers/clk/sunxi-ng/ccu-sun8i-a23.c
+++ b/drivers/clk/sunxi-ng/ccu-sun8i-a23.c
@@ -144,7 +144,7 @@
 				    8, 4,		/* N */
 				    4, 2,		/* K */
 				    0, 4,		/* M */
-				    BIT(31),		/* gate */
+				    BIT(31) | BIT(23) | BIT(22), /* gate */
 				    BIT(28),		/* lock */
 				    CLK_SET_RATE_UNGATE);
 
diff --git a/drivers/clk/sunxi-ng/ccu-sun8i-v3s.c b/drivers/clk/sunxi-ng/ccu-sun8i-v3s.c
index 9e3f408..c7f9d97 100644
--- a/drivers/clk/sunxi-ng/ccu-sun8i-v3s.c
+++ b/drivers/clk/sunxi-ng/ccu-sun8i-v3s.c
@@ -84,7 +84,7 @@
 					BIT(28),	/* lock */
 					0);
 
-static SUNXI_CCU_NKM_WITH_GATE_LOCK(pll_ddr_clk, "pll-ddr",
+static SUNXI_CCU_NKM_WITH_GATE_LOCK(pll_ddr0_clk, "pll-ddr0",
 				    "osc24M", 0x020,
 				    8, 5,	/* N */
 				    4, 2,	/* K */
@@ -123,6 +123,14 @@
 					   2,		/* post-div */
 					   0);
 
+static SUNXI_CCU_NM_WITH_GATE_LOCK(pll_ddr1_clk, "pll-ddr1",
+				   "osc24M", 0x04c,
+				   8, 7,	/* N */
+				   0, 2,	/* M */
+				   BIT(31),	/* gate */
+				   BIT(28),	/* lock */
+				   0);
+
 static const char * const cpu_parents[] = { "osc32k", "osc24M",
 					     "pll-cpu", "pll-cpu" };
 static SUNXI_CCU_MUX(cpu_clk, "cpu", cpu_parents,
@@ -310,7 +318,8 @@
 static SUNXI_CCU_GATE(usb_ohci0_clk,	"usb-ohci0",	"osc24M",
 		      0x0cc, BIT(16), 0);
 
-static const char * const dram_parents[] = { "pll-ddr", "pll-periph0-2x" };
+static const char * const dram_parents[] = { "pll-ddr0", "pll-ddr1",
+					     "pll-periph0-2x" };
 static SUNXI_CCU_M_WITH_MUX(dram_clk, "dram", dram_parents,
 			    0x0f4, 0, 4, 20, 2, CLK_IS_CRITICAL);
 
@@ -369,10 +378,11 @@
 	&pll_audio_base_clk.common,
 	&pll_video_clk.common,
 	&pll_ve_clk.common,
-	&pll_ddr_clk.common,
+	&pll_ddr0_clk.common,
 	&pll_periph0_clk.common,
 	&pll_isp_clk.common,
 	&pll_periph1_clk.common,
+	&pll_ddr1_clk.common,
 	&cpu_clk.common,
 	&axi_clk.common,
 	&ahb1_clk.common,
@@ -457,11 +467,12 @@
 		[CLK_PLL_AUDIO_8X]	= &pll_audio_8x_clk.hw,
 		[CLK_PLL_VIDEO]		= &pll_video_clk.common.hw,
 		[CLK_PLL_VE]		= &pll_ve_clk.common.hw,
-		[CLK_PLL_DDR]		= &pll_ddr_clk.common.hw,
+		[CLK_PLL_DDR0]		= &pll_ddr0_clk.common.hw,
 		[CLK_PLL_PERIPH0]	= &pll_periph0_clk.common.hw,
 		[CLK_PLL_PERIPH0_2X]	= &pll_periph0_2x_clk.hw,
 		[CLK_PLL_ISP]		= &pll_isp_clk.common.hw,
 		[CLK_PLL_PERIPH1]	= &pll_periph1_clk.common.hw,
+		[CLK_PLL_DDR1]		= &pll_ddr1_clk.common.hw,
 		[CLK_CPU]		= &cpu_clk.common.hw,
 		[CLK_AXI]		= &axi_clk.common.hw,
 		[CLK_AHB1]		= &ahb1_clk.common.hw,
diff --git a/drivers/clk/sunxi-ng/ccu-sun8i-v3s.h b/drivers/clk/sunxi-ng/ccu-sun8i-v3s.h
index 4a4d36f..a091b72 100644
--- a/drivers/clk/sunxi-ng/ccu-sun8i-v3s.h
+++ b/drivers/clk/sunxi-ng/ccu-sun8i-v3s.h
@@ -29,7 +29,7 @@
 #define CLK_PLL_AUDIO_8X	5
 #define CLK_PLL_VIDEO		6
 #define CLK_PLL_VE		7
-#define CLK_PLL_DDR		8
+#define CLK_PLL_DDR0		8
 #define CLK_PLL_PERIPH0		9
 #define CLK_PLL_PERIPH0_2X	10
 #define CLK_PLL_ISP		11
@@ -58,6 +58,8 @@
 
 /* And the GPU module clock is exported */
 
-#define CLK_NUMBER		(CLK_MIPI_CSI + 1)
+#define CLK_PLL_DDR1		74
+
+#define CLK_NUMBER		(CLK_PLL_DDR1 + 1)
 
 #endif /* _CCU_SUN8I_H3_H_ */
diff --git a/drivers/clk/tegra/clk-tegra-periph.c b/drivers/clk/tegra/clk-tegra-periph.c
index 38c4eb2..b137c5d 100644
--- a/drivers/clk/tegra/clk-tegra-periph.c
+++ b/drivers/clk/tegra/clk-tegra-periph.c
@@ -799,7 +799,11 @@
 	GATE("ahbdma", "hclk", 33, 0, tegra_clk_ahbdma, 0),
 	GATE("apbdma", "pclk", 34, 0, tegra_clk_apbdma, 0),
 	GATE("kbc", "clk_32k", 36, TEGRA_PERIPH_ON_APB | TEGRA_PERIPH_NO_RESET, tegra_clk_kbc, 0),
-	GATE("fuse", "clk_m", 39, TEGRA_PERIPH_ON_APB, tegra_clk_fuse, 0),
+	/*
+	 * Critical for RAM re-repair operation, which must occur on resume
+	 * from LP1 system suspend and as part of CCPLEX cluster switching.
+	 */
+	GATE("fuse", "clk_m", 39, TEGRA_PERIPH_ON_APB, tegra_clk_fuse, CLK_IS_CRITICAL),
 	GATE("fuse_burn", "clk_m", 39, TEGRA_PERIPH_ON_APB, tegra_clk_fuse_burn, 0),
 	GATE("kfuse", "clk_m", 40, TEGRA_PERIPH_ON_APB, tegra_clk_kfuse, 0),
 	GATE("apbif", "clk_m", 107, TEGRA_PERIPH_ON_APB, tegra_clk_apbif, 0),
diff --git a/drivers/clk/ti/clk.c b/drivers/clk/ti/clk.c
index 27e0979..0cc87c6 100644
--- a/drivers/clk/ti/clk.c
+++ b/drivers/clk/ti/clk.c
@@ -188,9 +188,13 @@
 			clkdev_add(&c->lk);
 		} else {
 			if (num_args && !has_clkctrl_data) {
-				if (of_find_compatible_node(NULL, NULL,
-							    "ti,clkctrl")) {
+				struct device_node *np;
+
+				np = of_find_compatible_node(NULL, NULL,
+							     "ti,clkctrl");
+				if (np) {
 					has_clkctrl_data = true;
+					of_node_put(np);
 				} else {
 					clkctrl_nodes_missing = true;
 
diff --git a/drivers/clk/uniphier/clk-uniphier-peri.c b/drivers/clk/uniphier/clk-uniphier-peri.c
index 89b3ac3..8b75dc1 100644
--- a/drivers/clk/uniphier/clk-uniphier-peri.c
+++ b/drivers/clk/uniphier/clk-uniphier-peri.c
@@ -27,8 +27,8 @@
 #define UNIPHIER_PERI_CLK_FI2C(idx, ch)					\
 	UNIPHIER_CLK_GATE("i2c" #ch, (idx), "i2c", 0x24, 24 + (ch))
 
-#define UNIPHIER_PERI_CLK_SCSSI(idx)					\
-	UNIPHIER_CLK_GATE("scssi", (idx), "spi", 0x20, 17)
+#define UNIPHIER_PERI_CLK_SCSSI(idx, ch)				\
+	UNIPHIER_CLK_GATE("scssi" #ch, (idx), "spi", 0x20, 17 + (ch))
 
 #define UNIPHIER_PERI_CLK_MCSSI(idx)					\
 	UNIPHIER_CLK_GATE("mcssi", (idx), "spi", 0x24, 14)
@@ -44,7 +44,7 @@
 	UNIPHIER_PERI_CLK_I2C(6, 2),
 	UNIPHIER_PERI_CLK_I2C(7, 3),
 	UNIPHIER_PERI_CLK_I2C(8, 4),
-	UNIPHIER_PERI_CLK_SCSSI(11),
+	UNIPHIER_PERI_CLK_SCSSI(11, 0),
 	{ /* sentinel */ }
 };
 
@@ -60,7 +60,10 @@
 	UNIPHIER_PERI_CLK_FI2C(8, 4),
 	UNIPHIER_PERI_CLK_FI2C(9, 5),
 	UNIPHIER_PERI_CLK_FI2C(10, 6),
-	UNIPHIER_PERI_CLK_SCSSI(11),
-	UNIPHIER_PERI_CLK_MCSSI(12),
+	UNIPHIER_PERI_CLK_SCSSI(11, 0),
+	UNIPHIER_PERI_CLK_SCSSI(12, 1),
+	UNIPHIER_PERI_CLK_SCSSI(13, 2),
+	UNIPHIER_PERI_CLK_SCSSI(14, 3),
+	UNIPHIER_PERI_CLK_MCSSI(15),
 	{ /* sentinel */ }
 };
diff --git a/drivers/clocksource/bcm2835_timer.c b/drivers/clocksource/bcm2835_timer.c
index 60da253..1082dce 100644
--- a/drivers/clocksource/bcm2835_timer.c
+++ b/drivers/clocksource/bcm2835_timer.c
@@ -134,7 +134,7 @@
 	ret = setup_irq(irq, &timer->act);
 	if (ret) {
 		pr_err("Can't set up timer IRQ\n");
-		goto err_iounmap;
+		goto err_timer_free;
 	}
 
 	clockevents_config_and_register(&timer->evt, freq, 0xf, 0xffffffff);
@@ -143,6 +143,9 @@
 
 	return 0;
 
+err_timer_free:
+	kfree(timer);
+
 err_iounmap:
 	iounmap(base);
 	return ret;
diff --git a/drivers/clocksource/exynos_mct.c b/drivers/clocksource/exynos_mct.c
index aaf5bfa..e3ae041 100644
--- a/drivers/clocksource/exynos_mct.c
+++ b/drivers/clocksource/exynos_mct.c
@@ -563,7 +563,19 @@
 	return 0;
 
 out_irq:
-	free_percpu_irq(mct_irqs[MCT_L0_IRQ], &percpu_mct_tick);
+	if (mct_int_type == MCT_INT_PPI) {
+		free_percpu_irq(mct_irqs[MCT_L0_IRQ], &percpu_mct_tick);
+	} else {
+		for_each_possible_cpu(cpu) {
+			struct mct_clock_event_device *pcpu_mevt =
+				per_cpu_ptr(&percpu_mct_tick, cpu);
+
+			if (pcpu_mevt->evt.irq != -1) {
+				free_irq(pcpu_mevt->evt.irq, pcpu_mevt);
+				pcpu_mevt->evt.irq = -1;
+			}
+		}
+	}
 	return err;
 }
 
diff --git a/drivers/clocksource/timer-sun5i.c b/drivers/clocksource/timer-sun5i.c
index 3b56ea3..552c525 100644
--- a/drivers/clocksource/timer-sun5i.c
+++ b/drivers/clocksource/timer-sun5i.c
@@ -202,6 +202,11 @@
 	}
 
 	rate = clk_get_rate(clk);
+	if (!rate) {
+		pr_err("Couldn't get parent clock rate\n");
+		ret = -EINVAL;
+		goto err_disable_clk;
+	}
 
 	cs->timer.base = base;
 	cs->timer.clk = clk;
@@ -275,6 +280,11 @@
 	}
 
 	rate = clk_get_rate(clk);
+	if (!rate) {
+		pr_err("Couldn't get parent clock rate\n");
+		ret = -EINVAL;
+		goto err_disable_clk;
+	}
 
 	ce->timer.base = base;
 	ce->timer.ticks_per_jiffy = DIV_ROUND_UP(rate, HZ);
diff --git a/drivers/clocksource/timer-ti-dm.c b/drivers/clocksource/timer-ti-dm.c
index 3ecf847..23414dd 100644
--- a/drivers/clocksource/timer-ti-dm.c
+++ b/drivers/clocksource/timer-ti-dm.c
@@ -868,7 +868,6 @@
 	timer->pdev = pdev;
 
 	pm_runtime_enable(dev);
-	pm_runtime_irq_safe(dev);
 
 	if (!timer->reserved) {
 		ret = pm_runtime_get_sync(dev);
diff --git a/drivers/cpufreq/brcmstb-avs-cpufreq.c b/drivers/cpufreq/brcmstb-avs-cpufreq.c
index e6f9cbe..77b0e5d 100644
--- a/drivers/cpufreq/brcmstb-avs-cpufreq.c
+++ b/drivers/cpufreq/brcmstb-avs-cpufreq.c
@@ -384,12 +384,12 @@
 	return __issue_avs_command(priv, AVS_CMD_SET_PSTATE, true, args);
 }
 
-static unsigned long brcm_avs_get_voltage(void __iomem *base)
+static u32 brcm_avs_get_voltage(void __iomem *base)
 {
 	return readl(base + AVS_MBOX_VOLTAGE1);
 }
 
-static unsigned long brcm_avs_get_frequency(void __iomem *base)
+static u32 brcm_avs_get_frequency(void __iomem *base)
 {
 	return readl(base + AVS_MBOX_FREQUENCY) * 1000;	/* in kHz */
 }
@@ -446,8 +446,8 @@
 	rc = brcm_avs_get_pmap(priv, NULL);
 	magic = readl(priv->base + AVS_MBOX_MAGIC);
 
-	return (magic == AVS_FIRMWARE_MAGIC) && (rc != -ENOTSUPP) &&
-		(rc != -EINVAL);
+	return (magic == AVS_FIRMWARE_MAGIC) && ((rc != -ENOTSUPP) ||
+		(rc != -EINVAL));
 }
 
 static unsigned int brcm_avs_cpufreq_get(unsigned int cpu)
@@ -653,14 +653,14 @@
 {
 	struct private_data *priv = policy->driver_data;
 
-	return sprintf(buf, "0x%08lx\n", brcm_avs_get_voltage(priv->base));
+	return sprintf(buf, "0x%08x\n", brcm_avs_get_voltage(priv->base));
 }
 
 static ssize_t show_brcm_avs_frequency(struct cpufreq_policy *policy, char *buf)
 {
 	struct private_data *priv = policy->driver_data;
 
-	return sprintf(buf, "0x%08lx\n", brcm_avs_get_frequency(priv->base));
+	return sprintf(buf, "0x%08x\n", brcm_avs_get_frequency(priv->base));
 }
 
 cpufreq_freq_attr_ro(brcm_avs_pstate);
diff --git a/drivers/cpufreq/qcom-cpufreq-hw.c b/drivers/cpufreq/qcom-cpufreq-hw.c
index b5481ab..87f6520 100644
--- a/drivers/cpufreq/qcom-cpufreq-hw.c
+++ b/drivers/cpufreq/qcom-cpufreq-hw.c
@@ -24,13 +24,18 @@
 #define LUT_ROW_SIZE			32
 #define CLK_HW_DIV			2
 #define GT_IRQ_STATUS			BIT(2)
-#define MAX_FN_SIZE			12
+#define MAX_FN_SIZE			20
 #define LIMITS_POLLING_DELAY_MS		10
 
 #define CYCLE_CNTR_OFFSET(c, m, acc_count)				\
 			(acc_count ? ((c - cpumask_first(m) + 1) * 4) : 0)
 
 enum {
+	CPUFREQ_HW_LOW_TEMP_LEVEL,
+	CPUFREQ_HW_HIGH_TEMP_LEVEL,
+};
+
+enum {
 	REG_ENABLE,
 	REG_FREQ_LUT_TABLE,
 	REG_VOLT_LUT_TABLE,
@@ -48,17 +53,29 @@
 static unsigned int lut_max_entries = LUT_MAX_ENTRIES;
 static bool accumulative_counter;
 
+struct skipped_freq {
+	bool skip;
+	u32 freq;
+	u32 cc;
+	u32 high_temp_index;
+	u32 low_temp_index;
+	u32 final_index;
+	spinlock_t lock;
+};
+
 struct cpufreq_qcom {
 	struct cpufreq_frequency_table *table;
 	void __iomem *reg_bases[REG_ARRAY_SIZE];
 	cpumask_t related_cpus;
 	unsigned int max_cores;
+	unsigned int lut_max_entries;
 	unsigned long xo_rate;
 	unsigned long cpu_hw_rate;
 	unsigned long dcvsh_freq_limit;
 	struct delayed_work freq_poll_work;
 	struct mutex dcvsh_lock;
 	struct device_attribute freq_limit_attr;
+	struct skipped_freq skip_data;
 	int dcvsh_irq;
 	char dcvsh_irq_name[MAX_FN_SIZE];
 	bool is_irq_enabled;
@@ -71,6 +88,13 @@
 	spinlock_t lock;
 };
 
+struct cpufreq_cooling_cdev {
+	int cpu_id;
+	bool cpu_cooling_state;
+	struct thermal_cooling_device *cdev;
+	struct device_node *np;
+};
+
 static const u16 cpufreq_qcom_std_offsets[REG_ARRAY_SIZE] = {
 	[REG_ENABLE]		= 0x0,
 	[REG_FREQ_LUT_TABLE]	= 0x110,
@@ -228,8 +252,17 @@
 			     unsigned int index)
 {
 	struct cpufreq_qcom *c = policy->driver_data;
+	unsigned long flags;
 
-	writel_relaxed(index, c->reg_bases[REG_PERF_STATE]);
+	if (c->skip_data.skip && index == c->skip_data.high_temp_index) {
+		spin_lock_irqsave(&c->skip_data.lock, flags);
+		writel_relaxed(c->skip_data.final_index,
+				c->reg_bases[REG_PERF_STATE]);
+		spin_unlock_irqrestore(&c->skip_data.lock, flags);
+	} else {
+		writel_relaxed(index, c->reg_bases[REG_PERF_STATE]);
+	}
+
 	arch_set_freq_scale(policy->related_cpus,
 			    policy->freq_table[index].frequency,
 			    policy->cpuinfo.max_freq);
@@ -250,7 +283,7 @@
 	c = policy->driver_data;
 
 	index = readl_relaxed(c->reg_bases[REG_PERF_STATE]);
-	index = min(index, lut_max_entries - 1);
+	index = min(index, c->lut_max_entries - 1);
 
 	return policy->freq_table[index].frequency;
 }
@@ -390,6 +423,7 @@
 	if (!c->table)
 		return -ENOMEM;
 
+	spin_lock_init(&c->skip_data.lock);
 	base_freq = c->reg_bases[REG_FREQ_LUT_TABLE];
 	base_volt = c->reg_bases[REG_VOLT_LUT_TABLE];
 
@@ -414,8 +448,17 @@
 			i, c->table[i].frequency, core_count);
 
 		if (core_count != c->max_cores) {
-			cur_freq = CPUFREQ_ENTRY_INVALID;
-			c->table[i].flags = CPUFREQ_BOOST_FREQ;
+			if (core_count == (c->max_cores - 1)) {
+				c->skip_data.skip = true;
+				c->skip_data.high_temp_index = i;
+				c->skip_data.freq = cur_freq;
+				c->skip_data.cc = core_count;
+				c->skip_data.final_index = i + 1;
+				c->skip_data.low_temp_index = i + 1;
+			} else {
+				cur_freq = CPUFREQ_ENTRY_INVALID;
+				c->table[i].flags = CPUFREQ_BOOST_FREQ;
+			}
 		}
 
 		/*
@@ -423,13 +466,17 @@
 		 * end of table.
 		 */
 		if (i > 0 && c->table[i - 1].frequency ==
-		   c->table[i].frequency && prev_cc == core_count) {
-			struct cpufreq_frequency_table *prev = &c->table[i - 1];
+				c->table[i].frequency) {
+			if (prev_cc == core_count) {
+				struct cpufreq_frequency_table *prev =
+							&c->table[i - 1];
 
-			if (prev_freq == CPUFREQ_ENTRY_INVALID)
-				prev->flags = CPUFREQ_BOOST_FREQ;
+				if (prev_freq == CPUFREQ_ENTRY_INVALID)
+					prev->flags = CPUFREQ_BOOST_FREQ;
+			}
 			break;
 		}
+
 		prev_cc = core_count;
 		prev_freq = cur_freq;
 
@@ -442,8 +489,17 @@
 		}
 	}
 
+	c->lut_max_entries = i;
 	c->table[i].frequency = CPUFREQ_TABLE_END;
 
+	if (c->skip_data.skip) {
+		pr_debug("%s Skip: Index[%u], Frequency[%u], Core Count %u, Final Index %u Actual Index %u\n",
+				__func__, c->skip_data.high_temp_index,
+				c->skip_data.freq, c->skip_data.cc,
+				c->skip_data.final_index,
+				c->skip_data.low_temp_index);
+	}
+
 	return 0;
 }
 
@@ -603,6 +659,128 @@
 	return 0;
 }
 
+static int cpufreq_hw_set_cur_state(struct thermal_cooling_device *cdev,
+					unsigned long state)
+{
+	struct cpufreq_cooling_cdev *cpu_cdev = cdev->devdata;
+	struct cpufreq_policy *policy;
+	struct cpufreq_qcom *c;
+	unsigned long flags;
+
+
+	if (cpu_cdev->cpu_id == -1)
+		return -ENODEV;
+
+	if (state > CPUFREQ_HW_HIGH_TEMP_LEVEL)
+		return -EINVAL;
+
+	if (cpu_cdev->cpu_cooling_state == state)
+		return 0;
+
+	policy = cpufreq_cpu_get_raw(cpu_cdev->cpu_id);
+	if (!policy)
+		return 0;
+
+	c = policy->driver_data;
+	cpu_cdev->cpu_cooling_state = state;
+
+	if (state == CPUFREQ_HW_HIGH_TEMP_LEVEL) {
+		spin_lock_irqsave(&c->skip_data.lock, flags);
+		c->skip_data.final_index = c->skip_data.high_temp_index;
+		spin_unlock_irqrestore(&c->skip_data.lock, flags);
+	} else {
+		spin_lock_irqsave(&c->skip_data.lock, flags);
+		c->skip_data.final_index = c->skip_data.low_temp_index;
+		spin_unlock_irqrestore(&c->skip_data.lock, flags);
+	}
+
+	if (policy->cur != c->skip_data.freq)
+		return 0;
+
+	return qcom_cpufreq_hw_target_index(policy,
+					c->skip_data.high_temp_index);
+}
+
+static int cpufreq_hw_get_cur_state(struct thermal_cooling_device *cdev,
+					unsigned long *state)
+{
+	struct cpufreq_cooling_cdev *cpu_cdev = cdev->devdata;
+
+	*state = (cpu_cdev->cpu_cooling_state) ?
+			CPUFREQ_HW_HIGH_TEMP_LEVEL : CPUFREQ_HW_LOW_TEMP_LEVEL;
+
+	return 0;
+}
+
+static int cpufreq_hw_get_max_state(struct thermal_cooling_device *cdev,
+					unsigned long *state)
+{
+	*state = CPUFREQ_HW_HIGH_TEMP_LEVEL;
+	return 0;
+}
+
+static struct thermal_cooling_device_ops cpufreq_hw_cooling_ops = {
+	.get_max_state = cpufreq_hw_get_max_state,
+	.get_cur_state = cpufreq_hw_get_cur_state,
+	.set_cur_state = cpufreq_hw_set_cur_state,
+};
+
+static int cpufreq_hw_register_cooling_device(struct platform_device *pdev)
+{
+	struct device_node *np = pdev->dev.of_node, *cpu_np, *phandle;
+	struct cpufreq_cooling_cdev *cpu_cdev = NULL;
+	struct device *cpu_dev;
+	struct cpufreq_policy *policy;
+	struct cpufreq_qcom *c;
+	char cdev_name[MAX_FN_SIZE] = "";
+	int cpu;
+
+	for_each_available_child_of_node(np, cpu_np) {
+		cpu_cdev = devm_kzalloc(&pdev->dev, sizeof(*cpu_cdev),
+				GFP_KERNEL);
+		if (!cpu_cdev)
+			return -ENOMEM;
+		cpu_cdev->cpu_id = -1;
+		cpu_cdev->cpu_cooling_state = false;
+		cpu_cdev->cdev = NULL;
+		cpu_cdev->np = cpu_np;
+
+		phandle = of_parse_phandle(cpu_np, "qcom,cooling-cpu", 0);
+		for_each_possible_cpu(cpu) {
+			policy = cpufreq_cpu_get_raw(cpu);
+			if (!policy)
+				continue;
+			c = policy->driver_data;
+			if (!c->skip_data.skip)
+				continue;
+			cpu_dev = get_cpu_device(cpu);
+			if (cpu_dev && cpu_dev->of_node == phandle) {
+				cpu_cdev->cpu_id = cpu;
+				snprintf(cdev_name, sizeof(cdev_name),
+						"cpufreq-hw-%d", cpu);
+				cpu_cdev->cdev =
+					thermal_of_cooling_device_register(
+						cpu_cdev->np, cdev_name,
+						cpu_cdev,
+						&cpufreq_hw_cooling_ops);
+				if (IS_ERR(cpu_cdev->cdev)) {
+					pr_err("Cooling register failed for %s, ret: %d\n",
+						cdev_name,
+						PTR_ERR(cpu_cdev->cdev));
+					c->skip_data.final_index =
+						c->skip_data.high_temp_index;
+					break;
+				}
+				pr_info("CPUFREQ-HW cooling device %d %s\n",
+						cpu, cdev_name);
+				break;
+			}
+		}
+	}
+
+	return 0;
+}
+
 static int qcom_cpufreq_hw_driver_probe(struct platform_device *pdev)
 {
 	struct cpu_cycle_counter_cb cycle_counter_cb = {
@@ -635,6 +813,8 @@
 	dev_dbg(&pdev->dev, "QCOM CPUFreq HW driver initialized\n");
 	of_platform_populate(pdev->dev.of_node, NULL, NULL, &pdev->dev);
 
+	cpufreq_hw_register_cooling_device(pdev);
+
 	return 0;
 }
 
diff --git a/drivers/crypto/Makefile b/drivers/crypto/Makefile
index c23396f..bc0c4cf 100644
--- a/drivers/crypto/Makefile
+++ b/drivers/crypto/Makefile
@@ -33,6 +33,7 @@
 obj-$(CONFIG_CRYPTO_DEV_PPC4XX) += amcc/
 obj-$(CONFIG_CRYPTO_DEV_QAT) += qat/
 obj-$(CONFIG_CRYPTO_DEV_QCE) += qce/
+obj-$(CONFIG_CRYPTO_DEV_QCOM_MSM_QCE) += msm/
 obj-$(CONFIG_CRYPTO_DEV_QCOM_RNG) += qcom-rng.o
 obj-$(CONFIG_CRYPTO_DEV_ROCKCHIP) += rockchip/
 obj-$(CONFIG_CRYPTO_DEV_S5P) += s5p-sss.o
diff --git a/drivers/crypto/amcc/crypto4xx_trng.h b/drivers/crypto/amcc/crypto4xx_trng.h
index 931d225..7bbda51 100644
--- a/drivers/crypto/amcc/crypto4xx_trng.h
+++ b/drivers/crypto/amcc/crypto4xx_trng.h
@@ -26,9 +26,9 @@
 void ppc4xx_trng_remove(struct crypto4xx_core_device *core_dev);
 #else
 static inline void ppc4xx_trng_probe(
-	struct crypto4xx_device *dev __maybe_unused) { }
+	struct crypto4xx_core_device *dev __maybe_unused) { }
 static inline void ppc4xx_trng_remove(
-	struct crypto4xx_device *dev __maybe_unused) { }
+	struct crypto4xx_core_device *dev __maybe_unused) { }
 #endif
 
 #endif
diff --git a/drivers/crypto/atmel-aes.c b/drivers/crypto/atmel-aes.c
index 53a7803..9206086 100644
--- a/drivers/crypto/atmel-aes.c
+++ b/drivers/crypto/atmel-aes.c
@@ -91,7 +91,6 @@
 struct atmel_aes_caps {
 	bool			has_dualbuff;
 	bool			has_cfb64;
-	bool			has_ctr32;
 	bool			has_gcm;
 	bool			has_xts;
 	bool			has_authenc;
@@ -1016,8 +1015,9 @@
 	struct atmel_aes_ctr_ctx *ctx = atmel_aes_ctr_ctx_cast(dd->ctx);
 	struct ablkcipher_request *req = ablkcipher_request_cast(dd->areq);
 	struct scatterlist *src, *dst;
-	u32 ctr, blocks;
 	size_t datalen;
+	u32 ctr;
+	u16 blocks, start, end;
 	bool use_dma, fragmented = false;
 
 	/* Check for transfer completion. */
@@ -1029,27 +1029,17 @@
 	datalen = req->nbytes - ctx->offset;
 	blocks = DIV_ROUND_UP(datalen, AES_BLOCK_SIZE);
 	ctr = be32_to_cpu(ctx->iv[3]);
-	if (dd->caps.has_ctr32) {
-		/* Check 32bit counter overflow. */
-		u32 start = ctr;
-		u32 end = start + blocks - 1;
 
-		if (end < start) {
-			ctr |= 0xffffffff;
-			datalen = AES_BLOCK_SIZE * -start;
-			fragmented = true;
-		}
-	} else {
-		/* Check 16bit counter overflow. */
-		u16 start = ctr & 0xffff;
-		u16 end = start + (u16)blocks - 1;
+	/* Check 16bit counter overflow. */
+	start = ctr & 0xffff;
+	end = start + blocks - 1;
 
-		if (blocks >> 16 || end < start) {
-			ctr |= 0xffff;
-			datalen = AES_BLOCK_SIZE * (0x10000-start);
-			fragmented = true;
-		}
+	if (blocks >> 16 || end < start) {
+		ctr |= 0xffff;
+		datalen = AES_BLOCK_SIZE * (0x10000 - start);
+		fragmented = true;
 	}
+
 	use_dma = (datalen >= ATMEL_AES_DMA_THRESHOLD);
 
 	/* Jump to offset. */
@@ -2553,7 +2543,6 @@
 {
 	dd->caps.has_dualbuff = 0;
 	dd->caps.has_cfb64 = 0;
-	dd->caps.has_ctr32 = 0;
 	dd->caps.has_gcm = 0;
 	dd->caps.has_xts = 0;
 	dd->caps.has_authenc = 0;
@@ -2564,7 +2553,6 @@
 	case 0x500:
 		dd->caps.has_dualbuff = 1;
 		dd->caps.has_cfb64 = 1;
-		dd->caps.has_ctr32 = 1;
 		dd->caps.has_gcm = 1;
 		dd->caps.has_xts = 1;
 		dd->caps.has_authenc = 1;
@@ -2573,7 +2561,6 @@
 	case 0x200:
 		dd->caps.has_dualbuff = 1;
 		dd->caps.has_cfb64 = 1;
-		dd->caps.has_ctr32 = 1;
 		dd->caps.has_gcm = 1;
 		dd->caps.max_burst_size = 4;
 		break;
diff --git a/drivers/crypto/atmel-sha.c b/drivers/crypto/atmel-sha.c
index ef125d4..cb548a0 100644
--- a/drivers/crypto/atmel-sha.c
+++ b/drivers/crypto/atmel-sha.c
@@ -1921,12 +1921,7 @@
 {
 	struct atmel_sha_hmac_ctx *hmac = crypto_ahash_ctx(tfm);
 
-	if (atmel_sha_hmac_key_set(&hmac->hkey, key, keylen)) {
-		crypto_ahash_set_flags(tfm, CRYPTO_TFM_RES_BAD_KEY_LEN);
-		return -EINVAL;
-	}
-
-	return 0;
+	return atmel_sha_hmac_key_set(&hmac->hkey, key, keylen);
 }
 
 static int atmel_sha_hmac_init(struct ahash_request *req)
diff --git a/drivers/crypto/axis/artpec6_crypto.c b/drivers/crypto/axis/artpec6_crypto.c
index fdcdc75..3caf57e 100644
--- a/drivers/crypto/axis/artpec6_crypto.c
+++ b/drivers/crypto/axis/artpec6_crypto.c
@@ -1256,7 +1256,7 @@
 
 	if (len != 16 && len != 24 && len != 32) {
 		crypto_aead_set_flags(tfm, CRYPTO_TFM_RES_BAD_KEY_LEN);
-		return -1;
+		return -EINVAL;
 	}
 
 	ctx->key_length = len;
diff --git a/drivers/crypto/bcm/cipher.c b/drivers/crypto/bcm/cipher.c
index 49c0097..0b1fc56 100644
--- a/drivers/crypto/bcm/cipher.c
+++ b/drivers/crypto/bcm/cipher.c
@@ -717,7 +717,7 @@
 	 */
 	unsigned int new_data_len;
 
-	unsigned int chunk_start = 0;
+	unsigned int __maybe_unused chunk_start = 0;
 	u32 db_size;	 /* Length of data field, incl gcm and hash padding */
 	int pad_len = 0; /* total pad len, including gcm, hash, stat padding */
 	u32 data_pad_len = 0;	/* length of GCM/CCM padding */
@@ -1675,8 +1675,6 @@
 	struct spu_hw *spu = &iproc_priv.spu;
 	struct brcm_message *mssg = msg;
 	struct iproc_reqctx_s *rctx;
-	struct iproc_ctx_s *ctx;
-	struct crypto_async_request *areq;
 	int err = 0;
 
 	rctx = mssg->ctx;
@@ -1686,8 +1684,6 @@
 		err = -EFAULT;
 		goto cb_finish;
 	}
-	areq = rctx->parent;
-	ctx = rctx->ctx;
 
 	/* process the SPU status */
 	err = spu->spu_status_process(rctx->msg_buf.rx_stat);
diff --git a/drivers/crypto/caam/caamrng.c b/drivers/crypto/caam/caamrng.c
index fde07d4..ff6718a 100644
--- a/drivers/crypto/caam/caamrng.c
+++ b/drivers/crypto/caam/caamrng.c
@@ -353,7 +353,10 @@
 		goto free_rng_ctx;
 
 	dev_info(dev, "registering rng-caam\n");
-	return hwrng_register(&caam_rng);
+
+	err = hwrng_register(&caam_rng);
+	if (!err)
+		return err;
 
 free_rng_ctx:
 	kfree(rng_ctx);
diff --git a/drivers/crypto/caam/error.c b/drivers/crypto/caam/error.c
index 8da88be..832ba2a 100644
--- a/drivers/crypto/caam/error.c
+++ b/drivers/crypto/caam/error.c
@@ -22,7 +22,7 @@
 	size_t len;
 	void *buf;
 
-	for (it = sg; it && tlen > 0 ; it = sg_next(sg)) {
+	for (it = sg; it && tlen > 0 ; it = sg_next(it)) {
 		/*
 		 * make sure the scatterlist's page
 		 * has a valid virtual memory mapping
diff --git a/drivers/crypto/ccp/ccp-crypto-aes.c b/drivers/crypto/ccp/ccp-crypto-aes.c
index 89291c1..3f76869 100644
--- a/drivers/crypto/ccp/ccp-crypto-aes.c
+++ b/drivers/crypto/ccp/ccp-crypto-aes.c
@@ -1,7 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * AMD Cryptographic Coprocessor (CCP) AES crypto API support
  *
- * Copyright (C) 2013,2016 Advanced Micro Devices, Inc.
+ * Copyright (C) 2013-2019 Advanced Micro Devices, Inc.
  *
  * Author: Tom Lendacky <thomas.lendacky@amd.com>
  *
@@ -79,8 +80,7 @@
 		return -EINVAL;
 
 	if (((ctx->u.aes.mode == CCP_AES_MODE_ECB) ||
-	     (ctx->u.aes.mode == CCP_AES_MODE_CBC) ||
-	     (ctx->u.aes.mode == CCP_AES_MODE_CFB)) &&
+	     (ctx->u.aes.mode == CCP_AES_MODE_CBC)) &&
 	    (req->nbytes & (AES_BLOCK_SIZE - 1)))
 		return -EINVAL;
 
@@ -291,7 +291,7 @@
 		.version	= CCP_VERSION(3, 0),
 		.name		= "cfb(aes)",
 		.driver_name	= "cfb-aes-ccp",
-		.blocksize	= AES_BLOCK_SIZE,
+		.blocksize	= 1,
 		.ivsize		= AES_BLOCK_SIZE,
 		.alg_defaults	= &ccp_aes_defaults,
 	},
diff --git a/drivers/crypto/ccp/ccp-dev-v3.c b/drivers/crypto/ccp/ccp-dev-v3.c
index 240bebb..ae0cc0a 100644
--- a/drivers/crypto/ccp/ccp-dev-v3.c
+++ b/drivers/crypto/ccp/ccp-dev-v3.c
@@ -590,6 +590,7 @@
 	.setup = NULL,
 	.perform = &ccp3_actions,
 	.offset = 0,
+	.rsamax = CCP_RSA_MAX_WIDTH,
 };
 
 const struct ccp_vdata ccpv3 = {
diff --git a/drivers/crypto/ccp/ccp-ops.c b/drivers/crypto/ccp/ccp-ops.c
index 1e2e421..330853a 100644
--- a/drivers/crypto/ccp/ccp-ops.c
+++ b/drivers/crypto/ccp/ccp-ops.c
@@ -458,8 +458,8 @@
 	return ccp_copy_to_from_sb(cmd_q, wa, jobid, sb, byte_swap, true);
 }
 
-static int ccp_run_aes_cmac_cmd(struct ccp_cmd_queue *cmd_q,
-				struct ccp_cmd *cmd)
+static noinline_for_stack int
+ccp_run_aes_cmac_cmd(struct ccp_cmd_queue *cmd_q, struct ccp_cmd *cmd)
 {
 	struct ccp_aes_engine *aes = &cmd->u.aes;
 	struct ccp_dm_workarea key, ctx;
@@ -614,8 +614,8 @@
 	return ret;
 }
 
-static int ccp_run_aes_gcm_cmd(struct ccp_cmd_queue *cmd_q,
-			       struct ccp_cmd *cmd)
+static noinline_for_stack int
+ccp_run_aes_gcm_cmd(struct ccp_cmd_queue *cmd_q, struct ccp_cmd *cmd)
 {
 	struct ccp_aes_engine *aes = &cmd->u.aes;
 	struct ccp_dm_workarea key, ctx, final_wa, tag;
@@ -897,7 +897,8 @@
 	return ret;
 }
 
-static int ccp_run_aes_cmd(struct ccp_cmd_queue *cmd_q, struct ccp_cmd *cmd)
+static noinline_for_stack int
+ccp_run_aes_cmd(struct ccp_cmd_queue *cmd_q, struct ccp_cmd *cmd)
 {
 	struct ccp_aes_engine *aes = &cmd->u.aes;
 	struct ccp_dm_workarea key, ctx;
@@ -907,12 +908,6 @@
 	bool in_place = false;
 	int ret;
 
-	if (aes->mode == CCP_AES_MODE_CMAC)
-		return ccp_run_aes_cmac_cmd(cmd_q, cmd);
-
-	if (aes->mode == CCP_AES_MODE_GCM)
-		return ccp_run_aes_gcm_cmd(cmd_q, cmd);
-
 	if (!((aes->key_len == AES_KEYSIZE_128) ||
 	      (aes->key_len == AES_KEYSIZE_192) ||
 	      (aes->key_len == AES_KEYSIZE_256)))
@@ -1080,8 +1075,8 @@
 	return ret;
 }
 
-static int ccp_run_xts_aes_cmd(struct ccp_cmd_queue *cmd_q,
-			       struct ccp_cmd *cmd)
+static noinline_for_stack int
+ccp_run_xts_aes_cmd(struct ccp_cmd_queue *cmd_q, struct ccp_cmd *cmd)
 {
 	struct ccp_xts_aes_engine *xts = &cmd->u.xts;
 	struct ccp_dm_workarea key, ctx;
@@ -1280,7 +1275,8 @@
 	return ret;
 }
 
-static int ccp_run_des3_cmd(struct ccp_cmd_queue *cmd_q, struct ccp_cmd *cmd)
+static noinline_for_stack int
+ccp_run_des3_cmd(struct ccp_cmd_queue *cmd_q, struct ccp_cmd *cmd)
 {
 	struct ccp_des3_engine *des3 = &cmd->u.des3;
 
@@ -1293,6 +1289,9 @@
 	int ret;
 
 	/* Error checks */
+	if (cmd_q->ccp->vdata->version < CCP_VERSION(5, 0))
+		return -EINVAL;
+
 	if (!cmd_q->ccp->vdata->perform->des3)
 		return -EINVAL;
 
@@ -1375,8 +1374,6 @@
 	 * passthru option to convert from big endian to little endian.
 	 */
 	if (des3->mode != CCP_DES3_MODE_ECB) {
-		u32 load_mode;
-
 		op.sb_ctx = cmd_q->sb_ctx;
 
 		ret = ccp_init_dm_workarea(&ctx, cmd_q,
@@ -1392,12 +1389,8 @@
 		if (ret)
 			goto e_ctx;
 
-		if (cmd_q->ccp->vdata->version == CCP_VERSION(3, 0))
-			load_mode = CCP_PASSTHRU_BYTESWAP_NOOP;
-		else
-			load_mode = CCP_PASSTHRU_BYTESWAP_256BIT;
 		ret = ccp_copy_to_sb(cmd_q, &ctx, op.jobid, op.sb_ctx,
-				     load_mode);
+				     CCP_PASSTHRU_BYTESWAP_256BIT);
 		if (ret) {
 			cmd->engine_error = cmd_q->cmd_error;
 			goto e_ctx;
@@ -1459,10 +1452,6 @@
 		}
 
 		/* ...but we only need the last DES3_EDE_BLOCK_SIZE bytes */
-		if (cmd_q->ccp->vdata->version == CCP_VERSION(3, 0))
-			dm_offset = CCP_SB_BYTES - des3->iv_len;
-		else
-			dm_offset = 0;
 		ccp_get_dm_area(&ctx, dm_offset, des3->iv, 0,
 				DES3_EDE_BLOCK_SIZE);
 	}
@@ -1483,7 +1472,8 @@
 	return ret;
 }
 
-static int ccp_run_sha_cmd(struct ccp_cmd_queue *cmd_q, struct ccp_cmd *cmd)
+static noinline_for_stack int
+ccp_run_sha_cmd(struct ccp_cmd_queue *cmd_q, struct ccp_cmd *cmd)
 {
 	struct ccp_sha_engine *sha = &cmd->u.sha;
 	struct ccp_dm_workarea ctx;
@@ -1827,7 +1817,8 @@
 	return ret;
 }
 
-static int ccp_run_rsa_cmd(struct ccp_cmd_queue *cmd_q, struct ccp_cmd *cmd)
+static noinline_for_stack int
+ccp_run_rsa_cmd(struct ccp_cmd_queue *cmd_q, struct ccp_cmd *cmd)
 {
 	struct ccp_rsa_engine *rsa = &cmd->u.rsa;
 	struct ccp_dm_workarea exp, src, dst;
@@ -1958,8 +1949,8 @@
 	return ret;
 }
 
-static int ccp_run_passthru_cmd(struct ccp_cmd_queue *cmd_q,
-				struct ccp_cmd *cmd)
+static noinline_for_stack int
+ccp_run_passthru_cmd(struct ccp_cmd_queue *cmd_q, struct ccp_cmd *cmd)
 {
 	struct ccp_passthru_engine *pt = &cmd->u.passthru;
 	struct ccp_dm_workarea mask;
@@ -2090,7 +2081,8 @@
 	return ret;
 }
 
-static int ccp_run_passthru_nomap_cmd(struct ccp_cmd_queue *cmd_q,
+static noinline_for_stack int
+ccp_run_passthru_nomap_cmd(struct ccp_cmd_queue *cmd_q,
 				      struct ccp_cmd *cmd)
 {
 	struct ccp_passthru_nomap_engine *pt = &cmd->u.passthru_nomap;
@@ -2431,7 +2423,8 @@
 	return ret;
 }
 
-static int ccp_run_ecc_cmd(struct ccp_cmd_queue *cmd_q, struct ccp_cmd *cmd)
+static noinline_for_stack int
+ccp_run_ecc_cmd(struct ccp_cmd_queue *cmd_q, struct ccp_cmd *cmd)
 {
 	struct ccp_ecc_engine *ecc = &cmd->u.ecc;
 
@@ -2468,7 +2461,17 @@
 
 	switch (cmd->engine) {
 	case CCP_ENGINE_AES:
-		ret = ccp_run_aes_cmd(cmd_q, cmd);
+		switch (cmd->u.aes.mode) {
+		case CCP_AES_MODE_CMAC:
+			ret = ccp_run_aes_cmac_cmd(cmd_q, cmd);
+			break;
+		case CCP_AES_MODE_GCM:
+			ret = ccp_run_aes_gcm_cmd(cmd_q, cmd);
+			break;
+		default:
+			ret = ccp_run_aes_cmd(cmd_q, cmd);
+			break;
+		}
 		break;
 	case CCP_ENGINE_XTS_AES_128:
 		ret = ccp_run_xts_aes_cmd(cmd_q, cmd);
diff --git a/drivers/crypto/ccree/cc_cipher.c b/drivers/crypto/ccree/cc_cipher.c
index 54a3916..28a5b8b 100644
--- a/drivers/crypto/ccree/cc_cipher.c
+++ b/drivers/crypto/ccree/cc_cipher.c
@@ -306,7 +306,6 @@
 	struct crypto_tfm *tfm = crypto_skcipher_tfm(sktfm);
 	struct cc_cipher_ctx *ctx_p = crypto_tfm_ctx(tfm);
 	struct device *dev = drvdata_to_dev(ctx_p->drvdata);
-	u32 tmp[DES3_EDE_EXPKEY_WORDS];
 	struct cc_crypto_alg *cc_alg =
 			container_of(tfm->__crt_alg, struct cc_crypto_alg,
 				     skcipher_alg.base);
@@ -332,6 +331,7 @@
 	 * HW does the expansion on its own.
 	 */
 	if (ctx_p->flow_mode == S_DIN_to_DES) {
+		u32 tmp[DES3_EDE_EXPKEY_WORDS];
 		if (keylen == DES3_EDE_KEY_SIZE &&
 		    __des3_ede_setkey(tmp, &tfm->crt_flags, key,
 				      DES3_EDE_KEY_SIZE)) {
diff --git a/drivers/crypto/ccree/cc_driver.h b/drivers/crypto/ccree/cc_driver.h
index be7f9bd..d411939 100644
--- a/drivers/crypto/ccree/cc_driver.h
+++ b/drivers/crypto/ccree/cc_driver.h
@@ -131,6 +131,7 @@
 	u32 axim_mon_offset;
 	u32 sig_offset;
 	u32 ver_offset;
+	bool pm_on;
 };
 
 struct cc_crypto_alg {
diff --git a/drivers/crypto/ccree/cc_pm.c b/drivers/crypto/ccree/cc_pm.c
index 638082d..2df2c2c 100644
--- a/drivers/crypto/ccree/cc_pm.c
+++ b/drivers/crypto/ccree/cc_pm.c
@@ -23,14 +23,8 @@
 int cc_pm_suspend(struct device *dev)
 {
 	struct cc_drvdata *drvdata = dev_get_drvdata(dev);
-	int rc;
 
 	dev_dbg(dev, "set HOST_POWER_DOWN_EN\n");
-	rc = cc_suspend_req_queue(drvdata);
-	if (rc) {
-		dev_err(dev, "cc_suspend_req_queue (%x)\n", rc);
-		return rc;
-	}
 	fini_cc_regs(drvdata);
 	cc_iowrite(drvdata, CC_REG(HOST_POWER_DOWN_EN), POWER_DOWN_ENABLE);
 	cc_clk_off(drvdata);
@@ -59,13 +53,6 @@
 	/* check if tee fips error occurred during power down */
 	cc_tee_handle_fips_error(drvdata);
 
-	rc = cc_resume_req_queue(drvdata);
-	if (rc) {
-		dev_err(dev, "cc_resume_req_queue (%x)\n", rc);
-		return rc;
-	}
-
-	/* must be after the queue resuming as it uses the HW queue*/
 	cc_init_hash_sram(drvdata);
 
 	cc_init_iv_sram(drvdata);
@@ -77,12 +64,10 @@
 	int rc = 0;
 	struct cc_drvdata *drvdata = dev_get_drvdata(dev);
 
-	if (cc_req_queue_suspended(drvdata))
+	if (drvdata->pm_on)
 		rc = pm_runtime_get_sync(dev);
-	else
-		pm_runtime_get_noresume(dev);
 
-	return rc;
+	return (rc == 1 ? 0 : rc);
 }
 
 int cc_pm_put_suspend(struct device *dev)
@@ -90,14 +75,11 @@
 	int rc = 0;
 	struct cc_drvdata *drvdata = dev_get_drvdata(dev);
 
-	if (!cc_req_queue_suspended(drvdata)) {
+	if (drvdata->pm_on) {
 		pm_runtime_mark_last_busy(dev);
 		rc = pm_runtime_put_autosuspend(dev);
-	} else {
-		/* Something wrong happens*/
-		dev_err(dev, "request to suspend already suspended queue");
-		rc = -EBUSY;
 	}
+
 	return rc;
 }
 
@@ -108,7 +90,7 @@
 	/* must be before the enabling to avoid resdundent suspending */
 	pm_runtime_set_autosuspend_delay(dev, CC_SUSPEND_TIMEOUT);
 	pm_runtime_use_autosuspend(dev);
-	/* activate the PM module */
+	/* set us as active - note we won't do PM ops until cc_pm_go()! */
 	return pm_runtime_set_active(dev);
 }
 
@@ -116,9 +98,11 @@
 void cc_pm_go(struct cc_drvdata *drvdata)
 {
 	pm_runtime_enable(drvdata_to_dev(drvdata));
+	drvdata->pm_on = true;
 }
 
 void cc_pm_fini(struct cc_drvdata *drvdata)
 {
 	pm_runtime_disable(drvdata_to_dev(drvdata));
+	drvdata->pm_on = false;
 }
diff --git a/drivers/crypto/ccree/cc_request_mgr.c b/drivers/crypto/ccree/cc_request_mgr.c
index 83a8aaae..1d88abc 100644
--- a/drivers/crypto/ccree/cc_request_mgr.c
+++ b/drivers/crypto/ccree/cc_request_mgr.c
@@ -41,7 +41,6 @@
 #else
 	struct tasklet_struct comptask;
 #endif
-	bool is_runtime_suspended;
 };
 
 struct cc_bl_item {
@@ -403,6 +402,7 @@
 		spin_lock(&mgr->bl_lock);
 		list_del(&bli->list);
 		--mgr->bl_len;
+		kfree(bli);
 	}
 
 	spin_unlock(&mgr->bl_lock);
@@ -660,52 +660,3 @@
 
 	cc_proc_backlog(drvdata);
 }
-
-/*
- * resume the queue configuration - no need to take the lock as this happens
- * inside the spin lock protection
- */
-#if defined(CONFIG_PM)
-int cc_resume_req_queue(struct cc_drvdata *drvdata)
-{
-	struct cc_req_mgr_handle *request_mgr_handle =
-		drvdata->request_mgr_handle;
-
-	spin_lock_bh(&request_mgr_handle->hw_lock);
-	request_mgr_handle->is_runtime_suspended = false;
-	spin_unlock_bh(&request_mgr_handle->hw_lock);
-
-	return 0;
-}
-
-/*
- * suspend the queue configuration. Since it is used for the runtime suspend
- * only verify that the queue can be suspended.
- */
-int cc_suspend_req_queue(struct cc_drvdata *drvdata)
-{
-	struct cc_req_mgr_handle *request_mgr_handle =
-						drvdata->request_mgr_handle;
-
-	/* lock the send_request */
-	spin_lock_bh(&request_mgr_handle->hw_lock);
-	if (request_mgr_handle->req_queue_head !=
-	    request_mgr_handle->req_queue_tail) {
-		spin_unlock_bh(&request_mgr_handle->hw_lock);
-		return -EBUSY;
-	}
-	request_mgr_handle->is_runtime_suspended = true;
-	spin_unlock_bh(&request_mgr_handle->hw_lock);
-
-	return 0;
-}
-
-bool cc_req_queue_suspended(struct cc_drvdata *drvdata)
-{
-	struct cc_req_mgr_handle *request_mgr_handle =
-						drvdata->request_mgr_handle;
-
-	return	request_mgr_handle->is_runtime_suspended;
-}
-
-#endif
diff --git a/drivers/crypto/ccree/cc_request_mgr.h b/drivers/crypto/ccree/cc_request_mgr.h
index 573cb97..ae96abc 100644
--- a/drivers/crypto/ccree/cc_request_mgr.h
+++ b/drivers/crypto/ccree/cc_request_mgr.h
@@ -40,12 +40,4 @@
 
 void cc_req_mgr_fini(struct cc_drvdata *drvdata);
 
-#if defined(CONFIG_PM)
-int cc_resume_req_queue(struct cc_drvdata *drvdata);
-
-int cc_suspend_req_queue(struct cc_drvdata *drvdata);
-
-bool cc_req_queue_suspended(struct cc_drvdata *drvdata);
-#endif
-
 #endif /*__REQUEST_MGR_H__*/
diff --git a/drivers/crypto/chelsio/chcr_algo.c b/drivers/crypto/chelsio/chcr_algo.c
index d5e4816..2065aeb 100644
--- a/drivers/crypto/chelsio/chcr_algo.c
+++ b/drivers/crypto/chelsio/chcr_algo.c
@@ -3136,9 +3136,6 @@
 		aeadctx->mayverify = VERIFY_SW;
 		break;
 	default:
-
-		  crypto_tfm_set_flags((struct crypto_tfm *) tfm,
-			CRYPTO_TFM_RES_BAD_KEY_LEN);
 		return -EINVAL;
 	}
 	return crypto_aead_setauthsize(aeadctx->sw_cipher, authsize);
@@ -3163,8 +3160,6 @@
 		aeadctx->mayverify = VERIFY_HW;
 		break;
 	default:
-		crypto_tfm_set_flags((struct crypto_tfm *)tfm,
-				     CRYPTO_TFM_RES_BAD_KEY_LEN);
 		return -EINVAL;
 	}
 	return crypto_aead_setauthsize(aeadctx->sw_cipher, authsize);
@@ -3205,8 +3200,6 @@
 		aeadctx->mayverify = VERIFY_HW;
 		break;
 	default:
-		crypto_tfm_set_flags((struct crypto_tfm *)tfm,
-				     CRYPTO_TFM_RES_BAD_KEY_LEN);
 		return -EINVAL;
 	}
 	return crypto_aead_setauthsize(aeadctx->sw_cipher, authsize);
@@ -3231,8 +3224,7 @@
 		ck_size = CHCR_KEYCTX_CIPHER_KEY_SIZE_256;
 		mk_size = CHCR_KEYCTX_MAC_KEY_SIZE_256;
 	} else {
-		crypto_tfm_set_flags((struct crypto_tfm *)aead,
-				     CRYPTO_TFM_RES_BAD_KEY_LEN);
+		crypto_aead_set_flags(aead, CRYPTO_TFM_RES_BAD_KEY_LEN);
 		aeadctx->enckey_len = 0;
 		return	-EINVAL;
 	}
@@ -3270,8 +3262,7 @@
 	int error;
 
 	if (keylen < 3) {
-		crypto_tfm_set_flags((struct crypto_tfm *)aead,
-				     CRYPTO_TFM_RES_BAD_KEY_LEN);
+		crypto_aead_set_flags(aead, CRYPTO_TFM_RES_BAD_KEY_LEN);
 		aeadctx->enckey_len = 0;
 		return	-EINVAL;
 	}
@@ -3321,8 +3312,7 @@
 	} else if (keylen == AES_KEYSIZE_256) {
 		ck_size = CHCR_KEYCTX_CIPHER_KEY_SIZE_256;
 	} else {
-		crypto_tfm_set_flags((struct crypto_tfm *)aead,
-				     CRYPTO_TFM_RES_BAD_KEY_LEN);
+		crypto_aead_set_flags(aead, CRYPTO_TFM_RES_BAD_KEY_LEN);
 		pr_err("GCM: Invalid key length %d\n", keylen);
 		ret = -EINVAL;
 		goto out;
diff --git a/drivers/crypto/chelsio/chtls/chtls_cm.c b/drivers/crypto/chelsio/chtls/chtls_cm.c
index 8b749c7..28d2411 100644
--- a/drivers/crypto/chelsio/chtls/chtls_cm.c
+++ b/drivers/crypto/chelsio/chtls/chtls_cm.c
@@ -731,6 +731,14 @@
 	return 0;
 }
 
+static void chtls_purge_wr_queue(struct sock *sk)
+{
+	struct sk_buff *skb;
+
+	while ((skb = dequeue_wr(sk)) != NULL)
+		kfree_skb(skb);
+}
+
 static void chtls_release_resources(struct sock *sk)
 {
 	struct chtls_sock *csk = rcu_dereference_sk_user_data(sk);
@@ -745,6 +753,11 @@
 	kfree_skb(csk->txdata_skb_cache);
 	csk->txdata_skb_cache = NULL;
 
+	if (csk->wr_credits != csk->wr_max_credits) {
+		chtls_purge_wr_queue(sk);
+		chtls_reset_wr_list(csk);
+	}
+
 	if (csk->l2t_entry) {
 		cxgb4_l2t_release(csk->l2t_entry);
 		csk->l2t_entry = NULL;
@@ -1714,6 +1727,7 @@
 		else
 			sk_wake_async(sk, SOCK_WAKE_WAITD, POLL_IN);
 	}
+	kfree_skb(skb);
 }
 
 static void chtls_close_con_rpl(struct sock *sk, struct sk_buff *skb)
@@ -2041,19 +2055,6 @@
 	return 0;
 }
 
-static struct sk_buff *dequeue_wr(struct sock *sk)
-{
-	struct chtls_sock *csk = rcu_dereference_sk_user_data(sk);
-	struct sk_buff *skb = csk->wr_skb_head;
-
-	if (likely(skb)) {
-	/* Don't bother clearing the tail */
-		csk->wr_skb_head = WR_SKB_CB(skb)->next_wr;
-		WR_SKB_CB(skb)->next_wr = NULL;
-	}
-	return skb;
-}
-
 static void chtls_rx_ack(struct sock *sk, struct sk_buff *skb)
 {
 	struct cpl_fw4_ack *hdr = cplhdr(skb) + RSS_HDR;
diff --git a/drivers/crypto/chelsio/chtls/chtls_cm.h b/drivers/crypto/chelsio/chtls/chtls_cm.h
index 78eb3af..4282d8a 100644
--- a/drivers/crypto/chelsio/chtls/chtls_cm.h
+++ b/drivers/crypto/chelsio/chtls/chtls_cm.h
@@ -188,6 +188,12 @@
 	kfree_skb(skb);
 }
 
+static inline void chtls_reset_wr_list(struct chtls_sock *csk)
+{
+	csk->wr_skb_head = NULL;
+	csk->wr_skb_tail = NULL;
+}
+
 static inline void enqueue_wr(struct chtls_sock *csk, struct sk_buff *skb)
 {
 	WR_SKB_CB(skb)->next_wr = NULL;
@@ -200,4 +206,19 @@
 		WR_SKB_CB(csk->wr_skb_tail)->next_wr = skb;
 	csk->wr_skb_tail = skb;
 }
+
+static inline struct sk_buff *dequeue_wr(struct sock *sk)
+{
+	struct chtls_sock *csk = rcu_dereference_sk_user_data(sk);
+	struct sk_buff *skb = NULL;
+
+	skb = csk->wr_skb_head;
+
+	if (likely(skb)) {
+	 /* Don't bother clearing the tail */
+		csk->wr_skb_head = WR_SKB_CB(skb)->next_wr;
+		WR_SKB_CB(skb)->next_wr = NULL;
+	}
+	return skb;
+}
 #endif
diff --git a/drivers/crypto/chelsio/chtls/chtls_hw.c b/drivers/crypto/chelsio/chtls/chtls_hw.c
index 4909607..64d2482 100644
--- a/drivers/crypto/chelsio/chtls/chtls_hw.c
+++ b/drivers/crypto/chelsio/chtls/chtls_hw.c
@@ -361,6 +361,7 @@
 	kwr->sc_imm.cmd_more = cpu_to_be32(ULPTX_CMD_V(ULP_TX_SC_IMM));
 	kwr->sc_imm.len = cpu_to_be32(klen);
 
+	lock_sock(sk);
 	/* key info */
 	kctx = (struct _key_ctx *)(kwr + 1);
 	ret = chtls_key_info(csk, kctx, keylen, optname);
@@ -399,8 +400,10 @@
 		csk->tlshws.txkey = keyid;
 	}
 
+	release_sock(sk);
 	return ret;
 out_notcb:
+	release_sock(sk);
 	free_tls_keyid(sk);
 out_nokey:
 	kfree_skb(skb);
diff --git a/drivers/crypto/geode-aes.c b/drivers/crypto/geode-aes.c
index eb2a0a7..0bd99c0 100644
--- a/drivers/crypto/geode-aes.c
+++ b/drivers/crypto/geode-aes.c
@@ -14,6 +14,7 @@
 #include <linux/spinlock.h>
 #include <crypto/algapi.h>
 #include <crypto/aes.h>
+#include <crypto/internal/skcipher.h>
 
 #include <linux/io.h>
 #include <linux/delay.h>
@@ -27,12 +28,12 @@
 
 /* Write a 128 bit field (either a writable key or IV) */
 static inline void
-_writefield(u32 offset, void *value)
+_writefield(u32 offset, const void *value)
 {
 	int i;
 
 	for (i = 0; i < 4; i++)
-		iowrite32(((u32 *) value)[i], _iobase + offset + (i * 4));
+		iowrite32(((const u32 *) value)[i], _iobase + offset + (i * 4));
 }
 
 /* Read a 128 bit field (either a writable key or IV) */
@@ -46,12 +47,12 @@
 }
 
 static int
-do_crypt(void *src, void *dst, int len, u32 flags)
+do_crypt(const void *src, void *dst, u32 len, u32 flags)
 {
 	u32 status;
 	u32 counter = AES_OP_TIMEOUT;
 
-	iowrite32(virt_to_phys(src), _iobase + AES_SOURCEA_REG);
+	iowrite32(virt_to_phys((void *)src), _iobase + AES_SOURCEA_REG);
 	iowrite32(virt_to_phys(dst), _iobase + AES_DSTA_REG);
 	iowrite32(len,  _iobase + AES_LENA_REG);
 
@@ -68,16 +69,14 @@
 	return counter ? 0 : 1;
 }
 
-static unsigned int
-geode_aes_crypt(struct geode_aes_op *op)
+static void
+geode_aes_crypt(const struct geode_aes_tfm_ctx *tctx, const void *src,
+		void *dst, u32 len, u8 *iv, int mode, int dir)
 {
 	u32 flags = 0;
 	unsigned long iflags;
 	int ret;
 
-	if (op->len == 0)
-		return 0;
-
 	/* If the source and destination is the same, then
 	 * we need to turn on the coherent flags, otherwise
 	 * we don't need to worry
@@ -85,32 +84,28 @@
 
 	flags |= (AES_CTRL_DCA | AES_CTRL_SCA);
 
-	if (op->dir == AES_DIR_ENCRYPT)
+	if (dir == AES_DIR_ENCRYPT)
 		flags |= AES_CTRL_ENCRYPT;
 
 	/* Start the critical section */
 
 	spin_lock_irqsave(&lock, iflags);
 
-	if (op->mode == AES_MODE_CBC) {
+	if (mode == AES_MODE_CBC) {
 		flags |= AES_CTRL_CBC;
-		_writefield(AES_WRITEIV0_REG, op->iv);
+		_writefield(AES_WRITEIV0_REG, iv);
 	}
 
-	if (!(op->flags & AES_FLAGS_HIDDENKEY)) {
-		flags |= AES_CTRL_WRKEY;
-		_writefield(AES_WRITEKEY0_REG, op->key);
-	}
+	flags |= AES_CTRL_WRKEY;
+	_writefield(AES_WRITEKEY0_REG, tctx->key);
 
-	ret = do_crypt(op->src, op->dst, op->len, flags);
+	ret = do_crypt(src, dst, len, flags);
 	BUG_ON(ret);
 
-	if (op->mode == AES_MODE_CBC)
-		_readfield(AES_WRITEIV0_REG, op->iv);
+	if (mode == AES_MODE_CBC)
+		_readfield(AES_WRITEIV0_REG, iv);
 
 	spin_unlock_irqrestore(&lock, iflags);
-
-	return op->len;
 }
 
 /* CRYPTO-API Functions */
@@ -118,13 +113,13 @@
 static int geode_setkey_cip(struct crypto_tfm *tfm, const u8 *key,
 		unsigned int len)
 {
-	struct geode_aes_op *op = crypto_tfm_ctx(tfm);
+	struct geode_aes_tfm_ctx *tctx = crypto_tfm_ctx(tfm);
 	unsigned int ret;
 
-	op->keylen = len;
+	tctx->keylen = len;
 
 	if (len == AES_KEYSIZE_128) {
-		memcpy(op->key, key, len);
+		memcpy(tctx->key, key, len);
 		return 0;
 	}
 
@@ -137,135 +132,93 @@
 	/*
 	 * The requested key size is not supported by HW, do a fallback
 	 */
-	op->fallback.cip->base.crt_flags &= ~CRYPTO_TFM_REQ_MASK;
-	op->fallback.cip->base.crt_flags |= (tfm->crt_flags & CRYPTO_TFM_REQ_MASK);
+	tctx->fallback.cip->base.crt_flags &= ~CRYPTO_TFM_REQ_MASK;
+	tctx->fallback.cip->base.crt_flags |=
+		(tfm->crt_flags & CRYPTO_TFM_REQ_MASK);
 
-	ret = crypto_cipher_setkey(op->fallback.cip, key, len);
+	ret = crypto_cipher_setkey(tctx->fallback.cip, key, len);
 	if (ret) {
 		tfm->crt_flags &= ~CRYPTO_TFM_RES_MASK;
-		tfm->crt_flags |= (op->fallback.cip->base.crt_flags & CRYPTO_TFM_RES_MASK);
+		tfm->crt_flags |= (tctx->fallback.cip->base.crt_flags &
+				   CRYPTO_TFM_RES_MASK);
 	}
 	return ret;
 }
 
-static int geode_setkey_blk(struct crypto_tfm *tfm, const u8 *key,
-		unsigned int len)
+static int geode_setkey_skcipher(struct crypto_skcipher *tfm, const u8 *key,
+				 unsigned int len)
 {
-	struct geode_aes_op *op = crypto_tfm_ctx(tfm);
+	struct geode_aes_tfm_ctx *tctx = crypto_skcipher_ctx(tfm);
 	unsigned int ret;
 
-	op->keylen = len;
+	tctx->keylen = len;
 
 	if (len == AES_KEYSIZE_128) {
-		memcpy(op->key, key, len);
+		memcpy(tctx->key, key, len);
 		return 0;
 	}
 
 	if (len != AES_KEYSIZE_192 && len != AES_KEYSIZE_256) {
 		/* not supported at all */
-		tfm->crt_flags |= CRYPTO_TFM_RES_BAD_KEY_LEN;
+		crypto_skcipher_set_flags(tfm, CRYPTO_TFM_RES_BAD_KEY_LEN);
 		return -EINVAL;
 	}
 
 	/*
 	 * The requested key size is not supported by HW, do a fallback
 	 */
-	op->fallback.blk->base.crt_flags &= ~CRYPTO_TFM_REQ_MASK;
-	op->fallback.blk->base.crt_flags |= (tfm->crt_flags & CRYPTO_TFM_REQ_MASK);
-
-	ret = crypto_blkcipher_setkey(op->fallback.blk, key, len);
-	if (ret) {
-		tfm->crt_flags &= ~CRYPTO_TFM_RES_MASK;
-		tfm->crt_flags |= (op->fallback.blk->base.crt_flags & CRYPTO_TFM_RES_MASK);
-	}
-	return ret;
-}
-
-static int fallback_blk_dec(struct blkcipher_desc *desc,
-		struct scatterlist *dst, struct scatterlist *src,
-		unsigned int nbytes)
-{
-	unsigned int ret;
-	struct crypto_blkcipher *tfm;
-	struct geode_aes_op *op = crypto_blkcipher_ctx(desc->tfm);
-
-	tfm = desc->tfm;
-	desc->tfm = op->fallback.blk;
-
-	ret = crypto_blkcipher_decrypt_iv(desc, dst, src, nbytes);
-
-	desc->tfm = tfm;
-	return ret;
-}
-static int fallback_blk_enc(struct blkcipher_desc *desc,
-		struct scatterlist *dst, struct scatterlist *src,
-		unsigned int nbytes)
-{
-	unsigned int ret;
-	struct crypto_blkcipher *tfm;
-	struct geode_aes_op *op = crypto_blkcipher_ctx(desc->tfm);
-
-	tfm = desc->tfm;
-	desc->tfm = op->fallback.blk;
-
-	ret = crypto_blkcipher_encrypt_iv(desc, dst, src, nbytes);
-
-	desc->tfm = tfm;
+	crypto_skcipher_clear_flags(tctx->fallback.skcipher,
+				    CRYPTO_TFM_REQ_MASK);
+	crypto_skcipher_set_flags(tctx->fallback.skcipher,
+				  crypto_skcipher_get_flags(tfm) &
+				  CRYPTO_TFM_REQ_MASK);
+	ret = crypto_skcipher_setkey(tctx->fallback.skcipher, key, len);
+	crypto_skcipher_set_flags(tfm,
+				  crypto_skcipher_get_flags(tctx->fallback.skcipher) &
+				  CRYPTO_TFM_RES_MASK);
 	return ret;
 }
 
 static void
 geode_encrypt(struct crypto_tfm *tfm, u8 *out, const u8 *in)
 {
-	struct geode_aes_op *op = crypto_tfm_ctx(tfm);
+	const struct geode_aes_tfm_ctx *tctx = crypto_tfm_ctx(tfm);
 
-	if (unlikely(op->keylen != AES_KEYSIZE_128)) {
-		crypto_cipher_encrypt_one(op->fallback.cip, out, in);
+	if (unlikely(tctx->keylen != AES_KEYSIZE_128)) {
+		crypto_cipher_encrypt_one(tctx->fallback.cip, out, in);
 		return;
 	}
 
-	op->src = (void *) in;
-	op->dst = (void *) out;
-	op->mode = AES_MODE_ECB;
-	op->flags = 0;
-	op->len = AES_BLOCK_SIZE;
-	op->dir = AES_DIR_ENCRYPT;
-
-	geode_aes_crypt(op);
+	geode_aes_crypt(tctx, in, out, AES_BLOCK_SIZE, NULL,
+			AES_MODE_ECB, AES_DIR_ENCRYPT);
 }
 
 
 static void
 geode_decrypt(struct crypto_tfm *tfm, u8 *out, const u8 *in)
 {
-	struct geode_aes_op *op = crypto_tfm_ctx(tfm);
+	const struct geode_aes_tfm_ctx *tctx = crypto_tfm_ctx(tfm);
 
-	if (unlikely(op->keylen != AES_KEYSIZE_128)) {
-		crypto_cipher_decrypt_one(op->fallback.cip, out, in);
+	if (unlikely(tctx->keylen != AES_KEYSIZE_128)) {
+		crypto_cipher_decrypt_one(tctx->fallback.cip, out, in);
 		return;
 	}
 
-	op->src = (void *) in;
-	op->dst = (void *) out;
-	op->mode = AES_MODE_ECB;
-	op->flags = 0;
-	op->len = AES_BLOCK_SIZE;
-	op->dir = AES_DIR_DECRYPT;
-
-	geode_aes_crypt(op);
+	geode_aes_crypt(tctx, in, out, AES_BLOCK_SIZE, NULL,
+			AES_MODE_ECB, AES_DIR_DECRYPT);
 }
 
 static int fallback_init_cip(struct crypto_tfm *tfm)
 {
 	const char *name = crypto_tfm_alg_name(tfm);
-	struct geode_aes_op *op = crypto_tfm_ctx(tfm);
+	struct geode_aes_tfm_ctx *tctx = crypto_tfm_ctx(tfm);
 
-	op->fallback.cip = crypto_alloc_cipher(name, 0,
-				CRYPTO_ALG_ASYNC | CRYPTO_ALG_NEED_FALLBACK);
+	tctx->fallback.cip = crypto_alloc_cipher(name, 0,
+						 CRYPTO_ALG_NEED_FALLBACK);
 
-	if (IS_ERR(op->fallback.cip)) {
+	if (IS_ERR(tctx->fallback.cip)) {
 		printk(KERN_ERR "Error allocating fallback algo %s\n", name);
-		return PTR_ERR(op->fallback.cip);
+		return PTR_ERR(tctx->fallback.cip);
 	}
 
 	return 0;
@@ -273,10 +226,9 @@
 
 static void fallback_exit_cip(struct crypto_tfm *tfm)
 {
-	struct geode_aes_op *op = crypto_tfm_ctx(tfm);
+	struct geode_aes_tfm_ctx *tctx = crypto_tfm_ctx(tfm);
 
-	crypto_free_cipher(op->fallback.cip);
-	op->fallback.cip = NULL;
+	crypto_free_cipher(tctx->fallback.cip);
 }
 
 static struct crypto_alg geode_alg = {
@@ -289,7 +241,7 @@
 	.cra_init			=	fallback_init_cip,
 	.cra_exit			=	fallback_exit_cip,
 	.cra_blocksize		=	AES_BLOCK_SIZE,
-	.cra_ctxsize		=	sizeof(struct geode_aes_op),
+	.cra_ctxsize		=	sizeof(struct geode_aes_tfm_ctx),
 	.cra_module			=	THIS_MODULE,
 	.cra_u				=	{
 		.cipher	=	{
@@ -302,209 +254,126 @@
 	}
 };
 
-static int
-geode_cbc_decrypt(struct blkcipher_desc *desc,
-		  struct scatterlist *dst, struct scatterlist *src,
-		  unsigned int nbytes)
+static int geode_init_skcipher(struct crypto_skcipher *tfm)
 {
-	struct geode_aes_op *op = crypto_blkcipher_ctx(desc->tfm);
-	struct blkcipher_walk walk;
-	int err, ret;
+	const char *name = crypto_tfm_alg_name(&tfm->base);
+	struct geode_aes_tfm_ctx *tctx = crypto_skcipher_ctx(tfm);
 
-	if (unlikely(op->keylen != AES_KEYSIZE_128))
-		return fallback_blk_dec(desc, dst, src, nbytes);
-
-	blkcipher_walk_init(&walk, dst, src, nbytes);
-	err = blkcipher_walk_virt(desc, &walk);
-	op->iv = walk.iv;
-
-	while ((nbytes = walk.nbytes)) {
-		op->src = walk.src.virt.addr,
-		op->dst = walk.dst.virt.addr;
-		op->mode = AES_MODE_CBC;
-		op->len = nbytes - (nbytes % AES_BLOCK_SIZE);
-		op->dir = AES_DIR_DECRYPT;
-
-		ret = geode_aes_crypt(op);
-
-		nbytes -= ret;
-		err = blkcipher_walk_done(desc, &walk, nbytes);
-	}
-
-	return err;
-}
-
-static int
-geode_cbc_encrypt(struct blkcipher_desc *desc,
-		  struct scatterlist *dst, struct scatterlist *src,
-		  unsigned int nbytes)
-{
-	struct geode_aes_op *op = crypto_blkcipher_ctx(desc->tfm);
-	struct blkcipher_walk walk;
-	int err, ret;
-
-	if (unlikely(op->keylen != AES_KEYSIZE_128))
-		return fallback_blk_enc(desc, dst, src, nbytes);
-
-	blkcipher_walk_init(&walk, dst, src, nbytes);
-	err = blkcipher_walk_virt(desc, &walk);
-	op->iv = walk.iv;
-
-	while ((nbytes = walk.nbytes)) {
-		op->src = walk.src.virt.addr,
-		op->dst = walk.dst.virt.addr;
-		op->mode = AES_MODE_CBC;
-		op->len = nbytes - (nbytes % AES_BLOCK_SIZE);
-		op->dir = AES_DIR_ENCRYPT;
-
-		ret = geode_aes_crypt(op);
-		nbytes -= ret;
-		err = blkcipher_walk_done(desc, &walk, nbytes);
-	}
-
-	return err;
-}
-
-static int fallback_init_blk(struct crypto_tfm *tfm)
-{
-	const char *name = crypto_tfm_alg_name(tfm);
-	struct geode_aes_op *op = crypto_tfm_ctx(tfm);
-
-	op->fallback.blk = crypto_alloc_blkcipher(name, 0,
-			CRYPTO_ALG_ASYNC | CRYPTO_ALG_NEED_FALLBACK);
-
-	if (IS_ERR(op->fallback.blk)) {
+	tctx->fallback.skcipher =
+		crypto_alloc_skcipher(name, 0, CRYPTO_ALG_NEED_FALLBACK |
+				      CRYPTO_ALG_ASYNC);
+	if (IS_ERR(tctx->fallback.skcipher)) {
 		printk(KERN_ERR "Error allocating fallback algo %s\n", name);
-		return PTR_ERR(op->fallback.blk);
+		return PTR_ERR(tctx->fallback.skcipher);
 	}
 
+	crypto_skcipher_set_reqsize(tfm, sizeof(struct skcipher_request) +
+				    crypto_skcipher_reqsize(tctx->fallback.skcipher));
 	return 0;
 }
 
-static void fallback_exit_blk(struct crypto_tfm *tfm)
+static void geode_exit_skcipher(struct crypto_skcipher *tfm)
 {
-	struct geode_aes_op *op = crypto_tfm_ctx(tfm);
+	struct geode_aes_tfm_ctx *tctx = crypto_skcipher_ctx(tfm);
 
-	crypto_free_blkcipher(op->fallback.blk);
-	op->fallback.blk = NULL;
+	crypto_free_skcipher(tctx->fallback.skcipher);
 }
 
-static struct crypto_alg geode_cbc_alg = {
-	.cra_name		=	"cbc(aes)",
-	.cra_driver_name	=	"cbc-aes-geode",
-	.cra_priority		=	400,
-	.cra_flags			=	CRYPTO_ALG_TYPE_BLKCIPHER |
-						CRYPTO_ALG_KERN_DRIVER_ONLY |
-						CRYPTO_ALG_NEED_FALLBACK,
-	.cra_init			=	fallback_init_blk,
-	.cra_exit			=	fallback_exit_blk,
-	.cra_blocksize		=	AES_BLOCK_SIZE,
-	.cra_ctxsize		=	sizeof(struct geode_aes_op),
-	.cra_alignmask		=	15,
-	.cra_type			=	&crypto_blkcipher_type,
-	.cra_module			=	THIS_MODULE,
-	.cra_u				=	{
-		.blkcipher	=	{
-			.min_keysize	=	AES_MIN_KEY_SIZE,
-			.max_keysize	=	AES_MAX_KEY_SIZE,
-			.setkey			=	geode_setkey_blk,
-			.encrypt		=	geode_cbc_encrypt,
-			.decrypt		=	geode_cbc_decrypt,
-			.ivsize			=	AES_BLOCK_SIZE,
-		}
-	}
-};
-
-static int
-geode_ecb_decrypt(struct blkcipher_desc *desc,
-		  struct scatterlist *dst, struct scatterlist *src,
-		  unsigned int nbytes)
+static int geode_skcipher_crypt(struct skcipher_request *req, int mode, int dir)
 {
-	struct geode_aes_op *op = crypto_blkcipher_ctx(desc->tfm);
-	struct blkcipher_walk walk;
-	int err, ret;
+	struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req);
+	const struct geode_aes_tfm_ctx *tctx = crypto_skcipher_ctx(tfm);
+	struct skcipher_walk walk;
+	unsigned int nbytes;
+	int err;
 
-	if (unlikely(op->keylen != AES_KEYSIZE_128))
-		return fallback_blk_dec(desc, dst, src, nbytes);
+	if (unlikely(tctx->keylen != AES_KEYSIZE_128)) {
+		struct skcipher_request *subreq = skcipher_request_ctx(req);
 
-	blkcipher_walk_init(&walk, dst, src, nbytes);
-	err = blkcipher_walk_virt(desc, &walk);
+		*subreq = *req;
+		skcipher_request_set_tfm(subreq, tctx->fallback.skcipher);
+		if (dir == AES_DIR_DECRYPT)
+			return crypto_skcipher_decrypt(subreq);
+		else
+			return crypto_skcipher_encrypt(subreq);
+	}
 
-	while ((nbytes = walk.nbytes)) {
-		op->src = walk.src.virt.addr,
-		op->dst = walk.dst.virt.addr;
-		op->mode = AES_MODE_ECB;
-		op->len = nbytes - (nbytes % AES_BLOCK_SIZE);
-		op->dir = AES_DIR_DECRYPT;
+	err = skcipher_walk_virt(&walk, req, false);
 
-		ret = geode_aes_crypt(op);
-		nbytes -= ret;
-		err = blkcipher_walk_done(desc, &walk, nbytes);
+	while ((nbytes = walk.nbytes) != 0) {
+		geode_aes_crypt(tctx, walk.src.virt.addr, walk.dst.virt.addr,
+				round_down(nbytes, AES_BLOCK_SIZE),
+				walk.iv, mode, dir);
+		err = skcipher_walk_done(&walk, nbytes % AES_BLOCK_SIZE);
 	}
 
 	return err;
 }
 
-static int
-geode_ecb_encrypt(struct blkcipher_desc *desc,
-		  struct scatterlist *dst, struct scatterlist *src,
-		  unsigned int nbytes)
+static int geode_cbc_encrypt(struct skcipher_request *req)
 {
-	struct geode_aes_op *op = crypto_blkcipher_ctx(desc->tfm);
-	struct blkcipher_walk walk;
-	int err, ret;
-
-	if (unlikely(op->keylen != AES_KEYSIZE_128))
-		return fallback_blk_enc(desc, dst, src, nbytes);
-
-	blkcipher_walk_init(&walk, dst, src, nbytes);
-	err = blkcipher_walk_virt(desc, &walk);
-
-	while ((nbytes = walk.nbytes)) {
-		op->src = walk.src.virt.addr,
-		op->dst = walk.dst.virt.addr;
-		op->mode = AES_MODE_ECB;
-		op->len = nbytes - (nbytes % AES_BLOCK_SIZE);
-		op->dir = AES_DIR_ENCRYPT;
-
-		ret = geode_aes_crypt(op);
-		nbytes -= ret;
-		ret =  blkcipher_walk_done(desc, &walk, nbytes);
-	}
-
-	return err;
+	return geode_skcipher_crypt(req, AES_MODE_CBC, AES_DIR_ENCRYPT);
 }
 
-static struct crypto_alg geode_ecb_alg = {
-	.cra_name			=	"ecb(aes)",
-	.cra_driver_name	=	"ecb-aes-geode",
-	.cra_priority		=	400,
-	.cra_flags			=	CRYPTO_ALG_TYPE_BLKCIPHER |
-						CRYPTO_ALG_KERN_DRIVER_ONLY |
-						CRYPTO_ALG_NEED_FALLBACK,
-	.cra_init			=	fallback_init_blk,
-	.cra_exit			=	fallback_exit_blk,
-	.cra_blocksize		=	AES_BLOCK_SIZE,
-	.cra_ctxsize		=	sizeof(struct geode_aes_op),
-	.cra_alignmask		=	15,
-	.cra_type			=	&crypto_blkcipher_type,
-	.cra_module			=	THIS_MODULE,
-	.cra_u				=	{
-		.blkcipher	=	{
-			.min_keysize	=	AES_MIN_KEY_SIZE,
-			.max_keysize	=	AES_MAX_KEY_SIZE,
-			.setkey			=	geode_setkey_blk,
-			.encrypt		=	geode_ecb_encrypt,
-			.decrypt		=	geode_ecb_decrypt,
-		}
-	}
+static int geode_cbc_decrypt(struct skcipher_request *req)
+{
+	return geode_skcipher_crypt(req, AES_MODE_CBC, AES_DIR_DECRYPT);
+}
+
+static int geode_ecb_encrypt(struct skcipher_request *req)
+{
+	return geode_skcipher_crypt(req, AES_MODE_ECB, AES_DIR_ENCRYPT);
+}
+
+static int geode_ecb_decrypt(struct skcipher_request *req)
+{
+	return geode_skcipher_crypt(req, AES_MODE_ECB, AES_DIR_DECRYPT);
+}
+
+static struct skcipher_alg geode_skcipher_algs[] = {
+	{
+		.base.cra_name		= "cbc(aes)",
+		.base.cra_driver_name	= "cbc-aes-geode",
+		.base.cra_priority	= 400,
+		.base.cra_flags		= CRYPTO_ALG_KERN_DRIVER_ONLY |
+					  CRYPTO_ALG_NEED_FALLBACK,
+		.base.cra_blocksize	= AES_BLOCK_SIZE,
+		.base.cra_ctxsize	= sizeof(struct geode_aes_tfm_ctx),
+		.base.cra_alignmask	= 15,
+		.base.cra_module	= THIS_MODULE,
+		.init			= geode_init_skcipher,
+		.exit			= geode_exit_skcipher,
+		.setkey			= geode_setkey_skcipher,
+		.encrypt		= geode_cbc_encrypt,
+		.decrypt		= geode_cbc_decrypt,
+		.min_keysize		= AES_MIN_KEY_SIZE,
+		.max_keysize		= AES_MAX_KEY_SIZE,
+		.ivsize			= AES_BLOCK_SIZE,
+	}, {
+		.base.cra_name		= "ecb(aes)",
+		.base.cra_driver_name	= "ecb-aes-geode",
+		.base.cra_priority	= 400,
+		.base.cra_flags		= CRYPTO_ALG_KERN_DRIVER_ONLY |
+					  CRYPTO_ALG_NEED_FALLBACK,
+		.base.cra_blocksize	= AES_BLOCK_SIZE,
+		.base.cra_ctxsize	= sizeof(struct geode_aes_tfm_ctx),
+		.base.cra_alignmask	= 15,
+		.base.cra_module	= THIS_MODULE,
+		.init			= geode_init_skcipher,
+		.exit			= geode_exit_skcipher,
+		.setkey			= geode_setkey_skcipher,
+		.encrypt		= geode_ecb_encrypt,
+		.decrypt		= geode_ecb_decrypt,
+		.min_keysize		= AES_MIN_KEY_SIZE,
+		.max_keysize		= AES_MAX_KEY_SIZE,
+	},
 };
 
 static void geode_aes_remove(struct pci_dev *dev)
 {
 	crypto_unregister_alg(&geode_alg);
-	crypto_unregister_alg(&geode_ecb_alg);
-	crypto_unregister_alg(&geode_cbc_alg);
+	crypto_unregister_skciphers(geode_skcipher_algs,
+				    ARRAY_SIZE(geode_skcipher_algs));
 
 	pci_iounmap(dev, _iobase);
 	_iobase = NULL;
@@ -542,20 +411,14 @@
 	if (ret)
 		goto eiomap;
 
-	ret = crypto_register_alg(&geode_ecb_alg);
+	ret = crypto_register_skciphers(geode_skcipher_algs,
+					ARRAY_SIZE(geode_skcipher_algs));
 	if (ret)
 		goto ealg;
 
-	ret = crypto_register_alg(&geode_cbc_alg);
-	if (ret)
-		goto eecb;
-
 	dev_notice(&dev->dev, "GEODE AES engine enabled.\n");
 	return 0;
 
- eecb:
-	crypto_unregister_alg(&geode_ecb_alg);
-
  ealg:
 	crypto_unregister_alg(&geode_alg);
 
diff --git a/drivers/crypto/geode-aes.h b/drivers/crypto/geode-aes.h
index f442ca9..157443d 100644
--- a/drivers/crypto/geode-aes.h
+++ b/drivers/crypto/geode-aes.h
@@ -50,21 +50,10 @@
 
 #define AES_OP_TIMEOUT    0x50000
 
-struct geode_aes_op {
-
-	void *src;
-	void *dst;
-
-	u32 mode;
-	u32 dir;
-	u32 flags;
-	int len;
-
+struct geode_aes_tfm_ctx {
 	u8 key[AES_KEYSIZE_128];
-	u8 *iv;
-
 	union {
-		struct crypto_blkcipher *blk;
+		struct crypto_skcipher *skcipher;
 		struct crypto_cipher *cip;
 	} fallback;
 	u32 keylen;
diff --git a/drivers/crypto/hisilicon/sec/sec_algs.c b/drivers/crypto/hisilicon/sec/sec_algs.c
index db2983c..bf96588 100644
--- a/drivers/crypto/hisilicon/sec/sec_algs.c
+++ b/drivers/crypto/hisilicon/sec/sec_algs.c
@@ -153,6 +153,24 @@
 				       ctx->cipher_alg);
 }
 
+static void sec_free_hw_sgl(struct sec_hw_sgl *hw_sgl,
+			    dma_addr_t psec_sgl, struct sec_dev_info *info)
+{
+	struct sec_hw_sgl *sgl_current, *sgl_next;
+	dma_addr_t sgl_next_dma;
+
+	sgl_current = hw_sgl;
+	while (sgl_current) {
+		sgl_next = sgl_current->next;
+		sgl_next_dma = sgl_current->next_sgl;
+
+		dma_pool_free(info->hw_sgl_pool, sgl_current, psec_sgl);
+
+		sgl_current = sgl_next;
+		psec_sgl = sgl_next_dma;
+	}
+}
+
 static int sec_alloc_and_fill_hw_sgl(struct sec_hw_sgl **sec_sgl,
 				     dma_addr_t *psec_sgl,
 				     struct scatterlist *sgl,
@@ -199,36 +217,12 @@
 	return 0;
 
 err_free_hw_sgls:
-	sgl_current = *sec_sgl;
-	while (sgl_current) {
-		sgl_next = sgl_current->next;
-		dma_pool_free(info->hw_sgl_pool, sgl_current,
-			      sgl_current->next_sgl);
-		sgl_current = sgl_next;
-	}
+	sec_free_hw_sgl(*sec_sgl, *psec_sgl, info);
 	*psec_sgl = 0;
 
 	return ret;
 }
 
-static void sec_free_hw_sgl(struct sec_hw_sgl *hw_sgl,
-			    dma_addr_t psec_sgl, struct sec_dev_info *info)
-{
-	struct sec_hw_sgl *sgl_current, *sgl_next;
-	dma_addr_t sgl_next_dma;
-
-	sgl_current = hw_sgl;
-	while (sgl_current) {
-		sgl_next = sgl_current->next;
-		sgl_next_dma = sgl_current->next_sgl;
-
-		dma_pool_free(info->hw_sgl_pool, sgl_current, psec_sgl);
-
-		sgl_current = sgl_next;
-		psec_sgl = sgl_next_dma;
-	}
-}
-
 static int sec_alg_skcipher_setkey(struct crypto_skcipher *tfm,
 				   const u8 *key, unsigned int keylen,
 				   enum sec_cipher_alg alg)
diff --git a/drivers/crypto/inside-secure/safexcel_hash.c b/drivers/crypto/inside-secure/safexcel_hash.c
index ac9282c..f3b02c0 100644
--- a/drivers/crypto/inside-secure/safexcel_hash.c
+++ b/drivers/crypto/inside-secure/safexcel_hash.c
@@ -50,10 +50,12 @@
 
 static inline u64 safexcel_queued_len(struct safexcel_ahash_req *req)
 {
-	if (req->len[1] > req->processed[1])
-		return 0xffffffff - (req->len[0] - req->processed[0]);
+	u64 len, processed;
 
-	return req->len[0] - req->processed[0];
+	len = (0xffffffff * req->len[1]) + req->len[0];
+	processed = (0xffffffff * req->processed[1]) + req->processed[0];
+
+	return len - processed;
 }
 
 static void safexcel_hash_token(struct safexcel_command_desc *cdesc,
@@ -486,7 +488,7 @@
 	struct safexcel_inv_result result = {};
 	int ring = ctx->base.ring;
 
-	memset(req, 0, sizeof(struct ahash_request));
+	memset(req, 0, EIP197_AHASH_REQ_SIZE);
 
 	/* create invalidation request */
 	init_completion(&result.completion);
diff --git a/drivers/crypto/picoxcell_crypto.c b/drivers/crypto/picoxcell_crypto.c
index a28f1d1..1895452 100644
--- a/drivers/crypto/picoxcell_crypto.c
+++ b/drivers/crypto/picoxcell_crypto.c
@@ -1615,6 +1615,11 @@
 MODULE_DEVICE_TABLE(of, spacc_of_id_table);
 #endif /* CONFIG_OF */
 
+static void spacc_tasklet_kill(void *data)
+{
+	tasklet_kill(data);
+}
+
 static int spacc_probe(struct platform_device *pdev)
 {
 	int i, err, ret;
@@ -1658,6 +1663,14 @@
 		return -ENXIO;
 	}
 
+	tasklet_init(&engine->complete, spacc_spacc_complete,
+		     (unsigned long)engine);
+
+	ret = devm_add_action(&pdev->dev, spacc_tasklet_kill,
+			      &engine->complete);
+	if (ret)
+		return ret;
+
 	if (devm_request_irq(&pdev->dev, irq->start, spacc_spacc_irq, 0,
 			     engine->name, engine)) {
 		dev_err(engine->dev, "failed to request IRQ\n");
@@ -1715,8 +1728,6 @@
 	INIT_LIST_HEAD(&engine->completed);
 	INIT_LIST_HEAD(&engine->in_progress);
 	engine->in_flight = 0;
-	tasklet_init(&engine->complete, spacc_spacc_complete,
-		     (unsigned long)engine);
 
 	platform_set_drvdata(pdev, engine);
 
diff --git a/drivers/crypto/sunxi-ss/sun4i-ss-hash.c b/drivers/crypto/sunxi-ss/sun4i-ss-hash.c
index 1a72426..2d178e0 100644
--- a/drivers/crypto/sunxi-ss/sun4i-ss-hash.c
+++ b/drivers/crypto/sunxi-ss/sun4i-ss-hash.c
@@ -179,7 +179,7 @@
 	 */
 	unsigned int i = 0, end, fill, min_fill, nwait, nbw = 0, j = 0, todo;
 	unsigned int in_i = 0;
-	u32 spaces, rx_cnt = SS_RX_DEFAULT, bf[32] = {0}, wb = 0, v, ivmode = 0;
+	u32 spaces, rx_cnt = SS_RX_DEFAULT, bf[32] = {0}, v, ivmode = 0;
 	struct sun4i_req_ctx *op = ahash_request_ctx(areq);
 	struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq);
 	struct sun4i_tfm_ctx *tfmctx = crypto_ahash_ctx(tfm);
@@ -188,6 +188,7 @@
 	struct sg_mapping_iter mi;
 	int in_r, err = 0;
 	size_t copied = 0;
+	__le32 wb = 0;
 
 	dev_dbg(ss->dev, "%s %s bc=%llu len=%u mode=%x wl=%u h0=%0x",
 		__func__, crypto_tfm_alg_name(areq->base.tfm),
@@ -399,7 +400,7 @@
 
 		nbw = op->len - 4 * nwait;
 		if (nbw) {
-			wb = *(u32 *)(op->buf + nwait * 4);
+			wb = cpu_to_le32(*(u32 *)(op->buf + nwait * 4));
 			wb &= GENMASK((nbw * 8) - 1, 0);
 
 			op->byte_count += nbw;
@@ -408,7 +409,7 @@
 
 	/* write the remaining bytes of the nbw buffer */
 	wb |= ((1 << 7) << (nbw * 8));
-	bf[j++] = wb;
+	bf[j++] = le32_to_cpu(wb);
 
 	/*
 	 * number of space to pad to obtain 64o minus 8(size) minus 4 (final 1)
@@ -427,13 +428,13 @@
 
 	/* write the length of data */
 	if (op->mode == SS_OP_SHA1) {
-		__be64 bits = cpu_to_be64(op->byte_count << 3);
-		bf[j++] = lower_32_bits(bits);
-		bf[j++] = upper_32_bits(bits);
+		__be64 *bits = (__be64 *)&bf[j];
+		*bits = cpu_to_be64(op->byte_count << 3);
+		j += 2;
 	} else {
-		__le64 bits = op->byte_count << 3;
-		bf[j++] = lower_32_bits(bits);
-		bf[j++] = upper_32_bits(bits);
+		__le64 *bits = (__le64 *)&bf[j];
+		*bits = cpu_to_le64(op->byte_count << 3);
+		j += 2;
 	}
 	writesl(ss->base + SS_RXFIFO, bf, j);
 
@@ -475,7 +476,7 @@
 		}
 	} else {
 		for (i = 0; i < 4; i++) {
-			v = readl(ss->base + SS_MD0 + i * 4);
+			v = cpu_to_le32(readl(ss->base + SS_MD0 + i * 4));
 			memcpy(areq->result + i * 4, &v, 4);
 		}
 	}
diff --git a/drivers/crypto/talitos.c b/drivers/crypto/talitos.c
index 634ae48..db5f939 100644
--- a/drivers/crypto/talitos.c
+++ b/drivers/crypto/talitos.c
@@ -974,8 +974,8 @@
 					 DMA_FROM_DEVICE);
 	unmap_single_talitos_ptr(dev, civ_ptr, DMA_TO_DEVICE);
 
-	talitos_sg_unmap(dev, edesc, areq->src, areq->dst, cryptlen,
-			 areq->assoclen);
+	talitos_sg_unmap(dev, edesc, areq->src, areq->dst,
+			 cryptlen + authsize, areq->assoclen);
 
 	if (edesc->dma_len)
 		dma_unmap_single(dev, edesc->dma_link_tbl, edesc->dma_len,
@@ -996,30 +996,15 @@
 				   struct talitos_desc *desc, void *context,
 				   int err)
 {
-	struct talitos_private *priv = dev_get_drvdata(dev);
-	bool is_sec1 = has_ftr_sec1(priv);
 	struct aead_request *areq = context;
 	struct crypto_aead *authenc = crypto_aead_reqtfm(areq);
-	unsigned int authsize = crypto_aead_authsize(authenc);
 	unsigned int ivsize = crypto_aead_ivsize(authenc);
 	struct talitos_edesc *edesc;
-	void *icvdata;
 
 	edesc = container_of(desc, struct talitos_edesc, desc);
 
 	ipsec_esp_unmap(dev, edesc, areq, true);
 
-	/* copy the generated ICV to dst */
-	if (edesc->icv_ool) {
-		if (is_sec1)
-			icvdata = edesc->buf + areq->assoclen + areq->cryptlen;
-		else
-			icvdata = &edesc->link_tbl[edesc->src_nents +
-						   edesc->dst_nents + 2];
-		sg_pcopy_from_buffer(areq->dst, edesc->dst_nents ? : 1, icvdata,
-				     authsize, areq->assoclen + areq->cryptlen);
-	}
-
 	dma_unmap_single(dev, edesc->iv_dma, ivsize, DMA_TO_DEVICE);
 
 	kfree(edesc);
@@ -1036,39 +1021,15 @@
 	unsigned int authsize = crypto_aead_authsize(authenc);
 	struct talitos_edesc *edesc;
 	char *oicv, *icv;
-	struct talitos_private *priv = dev_get_drvdata(dev);
-	bool is_sec1 = has_ftr_sec1(priv);
 
 	edesc = container_of(desc, struct talitos_edesc, desc);
 
 	ipsec_esp_unmap(dev, edesc, req, false);
 
 	if (!err) {
-		char icvdata[SHA512_DIGEST_SIZE];
-		int nents = edesc->dst_nents ? : 1;
-		unsigned int len = req->assoclen + req->cryptlen;
-
 		/* auth check */
-		if (nents > 1) {
-			sg_pcopy_to_buffer(req->dst, nents, icvdata, authsize,
-					   len - authsize);
-			icv = icvdata;
-		} else {
-			icv = (char *)sg_virt(req->dst) + len - authsize;
-		}
-
-		if (edesc->dma_len) {
-			if (is_sec1)
-				oicv = (char *)&edesc->dma_link_tbl +
-					       req->assoclen + req->cryptlen;
-			else
-				oicv = (char *)
-				       &edesc->link_tbl[edesc->src_nents +
-							edesc->dst_nents + 2];
-			if (edesc->icv_ool)
-				icv = oicv + authsize;
-		} else
-			oicv = (char *)&edesc->link_tbl[0];
+		oicv = edesc->buf + edesc->dma_len;
+		icv = oicv - authsize;
 
 		err = crypto_memneq(oicv, icv, authsize) ? -EBADMSG : 0;
 	}
@@ -1104,11 +1065,12 @@
  * stop at cryptlen bytes
  */
 static int sg_to_link_tbl_offset(struct scatterlist *sg, int sg_count,
-				 unsigned int offset, int cryptlen,
+				 unsigned int offset, int datalen, int elen,
 				 struct talitos_ptr *link_tbl_ptr)
 {
-	int n_sg = sg_count;
+	int n_sg = elen ? sg_count + 1 : sg_count;
 	int count = 0;
+	int cryptlen = datalen + elen;
 
 	while (cryptlen && sg && n_sg--) {
 		unsigned int len = sg_dma_len(sg);
@@ -1123,11 +1085,20 @@
 		if (len > cryptlen)
 			len = cryptlen;
 
+		if (datalen > 0 && len > datalen) {
+			to_talitos_ptr(link_tbl_ptr + count,
+				       sg_dma_address(sg) + offset, datalen, 0);
+			to_talitos_ptr_ext_set(link_tbl_ptr + count, 0, 0);
+			count++;
+			len -= datalen;
+			offset += datalen;
+		}
 		to_talitos_ptr(link_tbl_ptr + count,
 			       sg_dma_address(sg) + offset, len, 0);
 		to_talitos_ptr_ext_set(link_tbl_ptr + count, 0, 0);
 		count++;
 		cryptlen -= len;
+		datalen -= len;
 		offset = 0;
 
 next:
@@ -1137,7 +1108,7 @@
 	/* tag end of link table */
 	if (count > 0)
 		to_talitos_ptr_ext_set(link_tbl_ptr + count - 1,
-				       DESC_PTR_LNKTBL_RETURN, 0);
+				       DESC_PTR_LNKTBL_RET, 0);
 
 	return count;
 }
@@ -1145,7 +1116,8 @@
 static int talitos_sg_map_ext(struct device *dev, struct scatterlist *src,
 			      unsigned int len, struct talitos_edesc *edesc,
 			      struct talitos_ptr *ptr, int sg_count,
-			      unsigned int offset, int tbl_off, int elen)
+			      unsigned int offset, int tbl_off, int elen,
+			      bool force)
 {
 	struct talitos_private *priv = dev_get_drvdata(dev);
 	bool is_sec1 = has_ftr_sec1(priv);
@@ -1155,7 +1127,7 @@
 		return 1;
 	}
 	to_talitos_ptr_ext_set(ptr, elen, is_sec1);
-	if (sg_count == 1) {
+	if (sg_count == 1 && !force) {
 		to_talitos_ptr(ptr, sg_dma_address(src) + offset, len, is_sec1);
 		return sg_count;
 	}
@@ -1163,9 +1135,9 @@
 		to_talitos_ptr(ptr, edesc->dma_link_tbl + offset, len, is_sec1);
 		return sg_count;
 	}
-	sg_count = sg_to_link_tbl_offset(src, sg_count, offset, len + elen,
+	sg_count = sg_to_link_tbl_offset(src, sg_count, offset, len, elen,
 					 &edesc->link_tbl[tbl_off]);
-	if (sg_count == 1) {
+	if (sg_count == 1 && !force) {
 		/* Only one segment now, so no link tbl needed*/
 		copy_talitos_ptr(ptr, &edesc->link_tbl[tbl_off], is_sec1);
 		return sg_count;
@@ -1183,7 +1155,7 @@
 			  unsigned int offset, int tbl_off)
 {
 	return talitos_sg_map_ext(dev, src, len, edesc, ptr, sg_count, offset,
-				  tbl_off, 0);
+				  tbl_off, 0, false);
 }
 
 /*
@@ -1211,6 +1183,7 @@
 	bool is_ipsec_esp = desc->hdr & DESC_HDR_TYPE_IPSEC_ESP;
 	struct talitos_ptr *civ_ptr = &desc->ptr[is_ipsec_esp ? 2 : 3];
 	struct talitos_ptr *ckey_ptr = &desc->ptr[is_ipsec_esp ? 3 : 2];
+	dma_addr_t dma_icv = edesc->dma_link_tbl + edesc->dma_len - authsize;
 
 	/* hmac key */
 	to_talitos_ptr(&desc->ptr[0], ctx->dma_key, ctx->authkeylen, is_sec1);
@@ -1250,7 +1223,8 @@
 		elen = authsize;
 
 	ret = talitos_sg_map_ext(dev, areq->src, cryptlen, edesc, &desc->ptr[4],
-				 sg_count, areq->assoclen, tbl_off, elen);
+				 sg_count, areq->assoclen, tbl_off, elen,
+				 false);
 
 	if (ret > 1) {
 		tbl_off += ret;
@@ -1264,55 +1238,35 @@
 			dma_map_sg(dev, areq->dst, sg_count, DMA_FROM_DEVICE);
 	}
 
-	ret = talitos_sg_map(dev, areq->dst, cryptlen, edesc, &desc->ptr[5],
-			     sg_count, areq->assoclen, tbl_off);
-
-	if (is_ipsec_esp)
-		to_talitos_ptr_ext_or(&desc->ptr[5], authsize, is_sec1);
+	if (is_ipsec_esp && encrypt)
+		elen = authsize;
+	else
+		elen = 0;
+	ret = talitos_sg_map_ext(dev, areq->dst, cryptlen, edesc, &desc->ptr[5],
+				 sg_count, areq->assoclen, tbl_off, elen,
+				 is_ipsec_esp && !encrypt);
+	tbl_off += ret;
 
 	/* ICV data */
-	if (ret > 1) {
-		tbl_off += ret;
-		edesc->icv_ool = true;
+	edesc->icv_ool = !encrypt;
+
+	if (!encrypt && is_ipsec_esp) {
+		struct talitos_ptr *tbl_ptr = &edesc->link_tbl[tbl_off];
+
+		/* Add an entry to the link table for ICV data */
+		to_talitos_ptr_ext_set(tbl_ptr - 1, 0, is_sec1);
+		to_talitos_ptr_ext_set(tbl_ptr, DESC_PTR_LNKTBL_RET, is_sec1);
+
+		/* icv data follows link tables */
+		to_talitos_ptr(tbl_ptr, dma_icv, authsize, is_sec1);
+		to_talitos_ptr_ext_or(&desc->ptr[5], authsize, is_sec1);
 		sync_needed = true;
-
-		if (is_ipsec_esp) {
-			struct talitos_ptr *tbl_ptr = &edesc->link_tbl[tbl_off];
-			int offset = (edesc->src_nents + edesc->dst_nents + 2) *
-				     sizeof(struct talitos_ptr) + authsize;
-
-			/* Add an entry to the link table for ICV data */
-			to_talitos_ptr_ext_set(tbl_ptr - 1, 0, is_sec1);
-			to_talitos_ptr_ext_set(tbl_ptr, DESC_PTR_LNKTBL_RETURN,
-					       is_sec1);
-
-			/* icv data follows link tables */
-			to_talitos_ptr(tbl_ptr, edesc->dma_link_tbl + offset,
-				       authsize, is_sec1);
-		} else {
-			dma_addr_t addr = edesc->dma_link_tbl;
-
-			if (is_sec1)
-				addr += areq->assoclen + cryptlen;
-			else
-				addr += sizeof(struct talitos_ptr) * tbl_off;
-
-			to_talitos_ptr(&desc->ptr[6], addr, authsize, is_sec1);
-		}
+	} else if (!encrypt) {
+		to_talitos_ptr(&desc->ptr[6], dma_icv, authsize, is_sec1);
+		sync_needed = true;
 	} else if (!is_ipsec_esp) {
-		ret = talitos_sg_map(dev, areq->dst, authsize, edesc,
-				     &desc->ptr[6], sg_count, areq->assoclen +
-							      cryptlen,
-				     tbl_off);
-		if (ret > 1) {
-			tbl_off += ret;
-			edesc->icv_ool = true;
-			sync_needed = true;
-		} else {
-			edesc->icv_ool = false;
-		}
-	} else {
-		edesc->icv_ool = false;
+		talitos_sg_map(dev, areq->dst, authsize, edesc, &desc->ptr[6],
+			       sg_count, areq->assoclen + cryptlen, tbl_off);
 	}
 
 	/* iv out */
@@ -1395,18 +1349,18 @@
 	 * and space for two sets of ICVs (stashed and generated)
 	 */
 	alloc_len = sizeof(struct talitos_edesc);
-	if (src_nents || dst_nents) {
+	if (src_nents || dst_nents || !encrypt) {
 		if (is_sec1)
 			dma_len = (src_nents ? src_len : 0) +
-				  (dst_nents ? dst_len : 0);
+				  (dst_nents ? dst_len : 0) + authsize;
 		else
 			dma_len = (src_nents + dst_nents + 2) *
-				  sizeof(struct talitos_ptr) + authsize * 2;
+				  sizeof(struct talitos_ptr) + authsize;
 		alloc_len += dma_len;
 	} else {
 		dma_len = 0;
-		alloc_len += icv_stashing ? authsize : 0;
 	}
+	alloc_len += icv_stashing ? authsize : 0;
 
 	/* if its a ahash, add space for a second desc next to the first one */
 	if (is_sec1 && !dst)
@@ -1500,11 +1454,7 @@
 	edesc->desc.hdr = ctx->desc_hdr_template | DESC_HDR_DIR_INBOUND;
 
 	/* stash incoming ICV for later cmp with ICV generated by the h/w */
-	if (edesc->dma_len)
-		icvdata = (char *)&edesc->link_tbl[edesc->src_nents +
-						   edesc->dst_nents + 2];
-	else
-		icvdata = &edesc->link_tbl[0];
+	icvdata = edesc->buf + edesc->dma_len;
 
 	sg_pcopy_to_buffer(req->src, edesc->src_nents ? : 1, icvdata, authsize,
 			   req->assoclen + req->cryptlen - authsize);
diff --git a/drivers/crypto/talitos.h b/drivers/crypto/talitos.h
index 979f6a6..cb0137e1 100644
--- a/drivers/crypto/talitos.h
+++ b/drivers/crypto/talitos.h
@@ -442,5 +442,5 @@
 
 /* link table extent field bits */
 #define DESC_PTR_LNKTBL_JUMP			0x80
-#define DESC_PTR_LNKTBL_RETURN			0x02
+#define DESC_PTR_LNKTBL_RET			0x02
 #define DESC_PTR_LNKTBL_NEXT			0x01
diff --git a/drivers/crypto/virtio/Kconfig b/drivers/crypto/virtio/Kconfig
index a4324b1..1df0bfa 100644
--- a/drivers/crypto/virtio/Kconfig
+++ b/drivers/crypto/virtio/Kconfig
@@ -4,7 +4,6 @@
 	select CRYPTO_AEAD
 	select CRYPTO_BLKCIPHER
 	select CRYPTO_ENGINE
-	default m
 	help
 	  This driver provides support for virtio crypto device. If you
 	  choose 'M' here, this module will be called virtio_crypto.
diff --git a/drivers/crypto/virtio/virtio_crypto_algs.c b/drivers/crypto/virtio/virtio_crypto_algs.c
index 523b712..3843272 100644
--- a/drivers/crypto/virtio/virtio_crypto_algs.c
+++ b/drivers/crypto/virtio/virtio_crypto_algs.c
@@ -449,6 +449,11 @@
 		goto free;
 	}
 	memcpy(iv, req->info, ivsize);
+	if (!vc_sym_req->encrypt)
+		scatterwalk_map_and_copy(req->info, req->src,
+					 req->nbytes - AES_BLOCK_SIZE,
+					 AES_BLOCK_SIZE, 0);
+
 	sg_init_one(&iv_sg, iv, ivsize);
 	sgs[num_out++] = &iv_sg;
 	vc_sym_req->iv = iv;
@@ -585,6 +590,10 @@
 	struct ablkcipher_request *req,
 	int err)
 {
+	if (vc_sym_req->encrypt)
+		scatterwalk_map_and_copy(req->info, req->dst,
+					 req->nbytes - AES_BLOCK_SIZE,
+					 AES_BLOCK_SIZE, 0);
 	crypto_finalize_ablkcipher_request(vc_sym_req->base.dataq->engine,
 					   req, err);
 	kzfree(vc_sym_req->iv);
diff --git a/drivers/devfreq/Kconfig b/drivers/devfreq/Kconfig
index bc43003..80ab58f 100644
--- a/drivers/devfreq/Kconfig
+++ b/drivers/devfreq/Kconfig
@@ -177,7 +177,8 @@
 
 config ARM_RK3399_DMC_DEVFREQ
 	tristate "ARM RK3399 DMC DEVFREQ Driver"
-	depends on ARCH_ROCKCHIP
+	depends on (ARCH_ROCKCHIP && HAVE_ARM_SMCCC) || \
+		(COMPILE_TEST && HAVE_ARM_SMCCC)
 	select DEVFREQ_EVENT_ROCKCHIP_DFI
 	select DEVFREQ_GOV_SIMPLE_ONDEMAND
 	select PM_DEVFREQ_EVENT
diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c
index 25ef772..234c14b 100644
--- a/drivers/devfreq/devfreq.c
+++ b/drivers/devfreq/devfreq.c
@@ -1033,6 +1033,14 @@
 }
 EXPORT_SYMBOL(devfreq_remove_governor);
 
+static ssize_t name_show(struct device *dev,
+			struct device_attribute *attr, char *buf)
+{
+	struct devfreq *devfreq = to_devfreq(dev);
+	return sprintf(buf, "%s\n", dev_name(devfreq->dev.parent));
+}
+static DEVICE_ATTR_RO(name);
+
 static ssize_t governor_show(struct device *dev,
 			     struct device_attribute *attr, char *buf)
 {
@@ -1368,6 +1376,7 @@
 static DEVICE_ATTR_RO(trans_stat);
 
 static struct attribute *devfreq_attrs[] = {
+	&dev_attr_name.attr,
 	&dev_attr_governor.attr,
 	&dev_attr_available_governors.attr,
 	&dev_attr_cur_freq.attr,
diff --git a/drivers/devfreq/event/Kconfig b/drivers/devfreq/event/Kconfig
index cd94980..8851bc4 100644
--- a/drivers/devfreq/event/Kconfig
+++ b/drivers/devfreq/event/Kconfig
@@ -33,7 +33,7 @@
 
 config DEVFREQ_EVENT_ROCKCHIP_DFI
 	tristate "ROCKCHIP DFI DEVFREQ event Driver"
-	depends on ARCH_ROCKCHIP
+	depends on ARCH_ROCKCHIP || COMPILE_TEST
 	help
 	  This add the devfreq-event driver for Rockchip SoC. It provides DFI
 	  (DDR Monitor Module) driver to count ddr load.
diff --git a/drivers/dma/coh901318.c b/drivers/dma/coh901318.c
index cee78f9c..935d169 100644
--- a/drivers/dma/coh901318.c
+++ b/drivers/dma/coh901318.c
@@ -1944,8 +1944,6 @@
 		return;
 	}
 
-	spin_lock(&cohc->lock);
-
 	/*
 	 * When we reach this point, at least one queue item
 	 * should have been moved over from cohc->queue to
@@ -1966,8 +1964,6 @@
 	if (coh901318_queue_start(cohc) == NULL)
 		cohc->busy = 0;
 
-	spin_unlock(&cohc->lock);
-
 	/*
 	 * This tasklet will remove items from cohc->active
 	 * and thus terminates them.
diff --git a/drivers/dma/dma-axi-dmac.c b/drivers/dma/dma-axi-dmac.c
index 15b2453..b2c755b 100644
--- a/drivers/dma/dma-axi-dmac.c
+++ b/drivers/dma/dma-axi-dmac.c
@@ -486,7 +486,7 @@
 
 	if (chan->hw_2d) {
 		if (!axi_dmac_check_len(chan, xt->sgl[0].size) ||
-		    !axi_dmac_check_len(chan, xt->numf))
+		    xt->numf == 0)
 			return NULL;
 		if (xt->sgl[0].size + dst_icg > chan->max_length ||
 		    xt->sgl[0].size + src_icg > chan->max_length)
diff --git a/drivers/dma/dmaengine.c b/drivers/dma/dmaengine.c
index f1a441ab..8a52a5e 100644
--- a/drivers/dma/dmaengine.c
+++ b/drivers/dma/dmaengine.c
@@ -190,7 +190,7 @@
 
 static struct module *dma_chan_to_owner(struct dma_chan *chan)
 {
-	return chan->device->dev->driver->owner;
+	return chan->device->owner;
 }
 
 /**
@@ -923,6 +923,8 @@
 		return -EIO;
 	}
 
+	device->owner = device->dev->driver->owner;
+
 	if (dma_has_cap(DMA_MEMCPY, device->cap_mask) && !device->device_prep_dma_memcpy) {
 		dev_err(device->dev,
 			"Device claims capability %s, but op is not defined\n",
diff --git a/drivers/dma/dw/platform.c b/drivers/dma/dw/platform.c
index c299ff1..62218ea 100644
--- a/drivers/dma/dw/platform.c
+++ b/drivers/dma/dw/platform.c
@@ -87,13 +87,20 @@
 	dma_cap_set(DMA_SLAVE, info->dma_cap);
 	info->filter_fn = dw_dma_acpi_filter;
 
-	ret = devm_acpi_dma_controller_register(dev, acpi_dma_simple_xlate,
-						info);
+	ret = acpi_dma_controller_register(dev, acpi_dma_simple_xlate, info);
 	if (ret)
 		dev_err(dev, "could not register acpi_dma_controller\n");
 }
+
+static void dw_dma_acpi_controller_free(struct dw_dma *dw)
+{
+	struct device *dev = dw->dma.dev;
+
+	acpi_dma_controller_free(dev);
+}
 #else /* !CONFIG_ACPI */
 static inline void dw_dma_acpi_controller_register(struct dw_dma *dw) {}
+static inline void dw_dma_acpi_controller_free(struct dw_dma *dw) {}
 #endif /* !CONFIG_ACPI */
 
 #ifdef CONFIG_OF
@@ -249,6 +256,9 @@
 {
 	struct dw_dma_chip *chip = platform_get_drvdata(pdev);
 
+	if (ACPI_HANDLE(&pdev->dev))
+		dw_dma_acpi_controller_free(chip->dw);
+
 	if (pdev->dev.of_node)
 		of_dma_controller_free(pdev->dev.of_node);
 
diff --git a/drivers/dma/hsu/hsu.c b/drivers/dma/hsu/hsu.c
index 202ffa9..18f155a 100644
--- a/drivers/dma/hsu/hsu.c
+++ b/drivers/dma/hsu/hsu.c
@@ -64,10 +64,10 @@
 
 	if (hsuc->direction == DMA_MEM_TO_DEV) {
 		bsr = config->dst_maxburst;
-		mtsr = config->src_addr_width;
+		mtsr = config->dst_addr_width;
 	} else if (hsuc->direction == DMA_DEV_TO_MEM) {
 		bsr = config->src_maxburst;
-		mtsr = config->dst_addr_width;
+		mtsr = config->src_addr_width;
 	}
 
 	hsu_chan_disable(hsuc);
diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c
index 3f5a01cb..eea89c3 100644
--- a/drivers/dma/imx-sdma.c
+++ b/drivers/dma/imx-sdma.c
@@ -335,6 +335,7 @@
  * @sdma:		pointer to the SDMA engine for this channel
  * @channel:		the channel number, matches dmaengine chan_id + 1
  * @direction:		transfer type. Needed for setting SDMA script
+ * @slave_config	Slave configuration
  * @peripheral_type:	Peripheral type. Needed for setting SDMA script
  * @event_id0:		aka dma request line
  * @event_id1:		for channels that use 2 events
@@ -362,6 +363,7 @@
 	struct sdma_engine		*sdma;
 	unsigned int			channel;
 	enum dma_transfer_direction		direction;
+	struct dma_slave_config		slave_config;
 	enum sdma_peripheral_type	peripheral_type;
 	unsigned int			event_id0;
 	unsigned int			event_id1;
@@ -440,6 +442,10 @@
 	struct sdma_buffer_descriptor	*bd0;
 };
 
+static int sdma_config_write(struct dma_chan *chan,
+		       struct dma_slave_config *dmaengine_cfg,
+		       enum dma_transfer_direction direction);
+
 static struct sdma_driver_data sdma_imx31 = {
 	.chnenbl0 = SDMA_CHNENBL0_IMX31,
 	.num_events = 32,
@@ -1122,18 +1128,6 @@
 	sdmac->shp_addr = 0;
 	sdmac->per_addr = 0;
 
-	if (sdmac->event_id0) {
-		if (sdmac->event_id0 >= sdmac->sdma->drvdata->num_events)
-			return -EINVAL;
-		sdma_event_enable(sdmac, sdmac->event_id0);
-	}
-
-	if (sdmac->event_id1) {
-		if (sdmac->event_id1 >= sdmac->sdma->drvdata->num_events)
-			return -EINVAL;
-		sdma_event_enable(sdmac, sdmac->event_id1);
-	}
-
 	switch (sdmac->peripheral_type) {
 	case IMX_DMATYPE_DSP:
 		sdma_config_ownership(sdmac, false, true, true);
@@ -1431,6 +1425,8 @@
 	struct scatterlist *sg;
 	struct sdma_desc *desc;
 
+	sdma_config_write(chan, &sdmac->slave_config, direction);
+
 	desc = sdma_transfer_init(sdmac, direction, sg_len);
 	if (!desc)
 		goto err_out;
@@ -1515,6 +1511,8 @@
 
 	dev_dbg(sdma->dev, "%s channel: %d\n", __func__, channel);
 
+	sdma_config_write(chan, &sdmac->slave_config, direction);
+
 	desc = sdma_transfer_init(sdmac, direction, num_periods);
 	if (!desc)
 		goto err_out;
@@ -1570,17 +1568,18 @@
 	return NULL;
 }
 
-static int sdma_config(struct dma_chan *chan,
-		       struct dma_slave_config *dmaengine_cfg)
+static int sdma_config_write(struct dma_chan *chan,
+		       struct dma_slave_config *dmaengine_cfg,
+		       enum dma_transfer_direction direction)
 {
 	struct sdma_channel *sdmac = to_sdma_chan(chan);
 
-	if (dmaengine_cfg->direction == DMA_DEV_TO_MEM) {
+	if (direction == DMA_DEV_TO_MEM) {
 		sdmac->per_address = dmaengine_cfg->src_addr;
 		sdmac->watermark_level = dmaengine_cfg->src_maxburst *
 			dmaengine_cfg->src_addr_width;
 		sdmac->word_size = dmaengine_cfg->src_addr_width;
-	} else if (dmaengine_cfg->direction == DMA_DEV_TO_DEV) {
+	} else if (direction == DMA_DEV_TO_DEV) {
 		sdmac->per_address2 = dmaengine_cfg->src_addr;
 		sdmac->per_address = dmaengine_cfg->dst_addr;
 		sdmac->watermark_level = dmaengine_cfg->src_maxburst &
@@ -1594,10 +1593,33 @@
 			dmaengine_cfg->dst_addr_width;
 		sdmac->word_size = dmaengine_cfg->dst_addr_width;
 	}
-	sdmac->direction = dmaengine_cfg->direction;
+	sdmac->direction = direction;
 	return sdma_config_channel(chan);
 }
 
+static int sdma_config(struct dma_chan *chan,
+		       struct dma_slave_config *dmaengine_cfg)
+{
+	struct sdma_channel *sdmac = to_sdma_chan(chan);
+
+	memcpy(&sdmac->slave_config, dmaengine_cfg, sizeof(*dmaengine_cfg));
+
+	/* Set ENBLn earlier to make sure dma request triggered after that */
+	if (sdmac->event_id0) {
+		if (sdmac->event_id0 >= sdmac->sdma->drvdata->num_events)
+			return -EINVAL;
+		sdma_event_enable(sdmac, sdmac->event_id0);
+	}
+
+	if (sdmac->event_id1) {
+		if (sdmac->event_id1 >= sdmac->sdma->drvdata->num_events)
+			return -EINVAL;
+		sdma_event_enable(sdmac, sdmac->event_id1);
+	}
+
+	return 0;
+}
+
 static enum dma_status sdma_tx_status(struct dma_chan *chan,
 				      dma_cookie_t cookie,
 				      struct dma_tx_state *txstate)
@@ -1662,6 +1684,14 @@
 	if (!sdma->script_number)
 		sdma->script_number = SDMA_SCRIPT_ADDRS_ARRAY_SIZE_V1;
 
+	if (sdma->script_number > sizeof(struct sdma_script_start_addrs)
+				  / sizeof(s32)) {
+		dev_err(sdma->dev,
+			"SDMA script number %d not match with firmware.\n",
+			sdma->script_number);
+		return;
+	}
+
 	for (i = 0; i < sdma->script_number; i++)
 		if (addr_arr[i] > 0)
 			saddr_arr[i] = addr_arr[i];
diff --git a/drivers/dma/ioat/dma.c b/drivers/dma/ioat/dma.c
index 23fb2fa..b94cece 100644
--- a/drivers/dma/ioat/dma.c
+++ b/drivers/dma/ioat/dma.c
@@ -388,10 +388,11 @@
 
 		descs->virt = dma_alloc_coherent(to_dev(ioat_chan),
 						 SZ_2M, &descs->hw, flags);
-		if (!descs->virt && (i > 0)) {
+		if (!descs->virt) {
 			int idx;
 
 			for (idx = 0; idx < i; idx++) {
+				descs = &ioat_chan->descs[idx];
 				dma_free_coherent(to_dev(ioat_chan), SZ_2M,
 						  descs->virt, descs->hw);
 				descs->virt = NULL;
diff --git a/drivers/dma/k3dma.c b/drivers/dma/k3dma.c
index 6bfa217..ba3c379 100644
--- a/drivers/dma/k3dma.c
+++ b/drivers/dma/k3dma.c
@@ -222,9 +222,11 @@
 			c = p->vchan;
 			if (c && (tc1 & BIT(i))) {
 				spin_lock_irqsave(&c->vc.lock, flags);
-				vchan_cookie_complete(&p->ds_run->vd);
-				p->ds_done = p->ds_run;
-				p->ds_run = NULL;
+				if (p->ds_run != NULL) {
+					vchan_cookie_complete(&p->ds_run->vd);
+					p->ds_done = p->ds_run;
+					p->ds_run = NULL;
+				}
 				spin_unlock_irqrestore(&c->vc.lock, flags);
 			}
 			if (c && (tc2 & BIT(i))) {
@@ -264,6 +266,10 @@
 	if (BIT(c->phy->idx) & k3_dma_get_chan_stat(d))
 		return -EAGAIN;
 
+	/* Avoid losing track of  ds_run if a transaction is in flight */
+	if (c->phy->ds_run)
+		return -EAGAIN;
+
 	if (vd) {
 		struct k3_dma_desc_sw *ds =
 			container_of(vd, struct k3_dma_desc_sw, vd);
diff --git a/drivers/dma/mv_xor.c b/drivers/dma/mv_xor.c
index 969534c..abc8d3e 100644
--- a/drivers/dma/mv_xor.c
+++ b/drivers/dma/mv_xor.c
@@ -1059,6 +1059,7 @@
 		mv_chan->op_in_desc = XOR_MODE_IN_DESC;
 
 	dma_dev = &mv_chan->dmadev;
+	dma_dev->dev = &pdev->dev;
 	mv_chan->xordev = xordev;
 
 	/*
@@ -1091,7 +1092,6 @@
 	dma_dev->device_free_chan_resources = mv_xor_free_chan_resources;
 	dma_dev->device_tx_status = mv_xor_status;
 	dma_dev->device_issue_pending = mv_xor_issue_pending;
-	dma_dev->dev = &pdev->dev;
 
 	/* set prep routines based on capability */
 	if (dma_has_cap(DMA_INTERRUPT, dma_dev->cap_mask))
diff --git a/drivers/dma/tegra20-apb-dma.c b/drivers/dma/tegra20-apb-dma.c
index fb23993..15481ae 100644
--- a/drivers/dma/tegra20-apb-dma.c
+++ b/drivers/dma/tegra20-apb-dma.c
@@ -288,7 +288,7 @@
 
 	/* Do not allocate if desc are waiting for ack */
 	list_for_each_entry(dma_desc, &tdc->free_dma_desc, node) {
-		if (async_tx_test_ack(&dma_desc->txd)) {
+		if (async_tx_test_ack(&dma_desc->txd) && !dma_desc->cb_count) {
 			list_del(&dma_desc->node);
 			spin_unlock_irqrestore(&tdc->lock, flags);
 			dma_desc->txd.flags = 0;
@@ -756,10 +756,6 @@
 	bool was_busy;
 
 	spin_lock_irqsave(&tdc->lock, flags);
-	if (list_empty(&tdc->pending_sg_req)) {
-		spin_unlock_irqrestore(&tdc->lock, flags);
-		return 0;
-	}
 
 	if (!tdc->busy)
 		goto skip_dma_stop;
diff --git a/drivers/dma/tegra210-adma.c b/drivers/dma/tegra210-adma.c
index 09b6756..4f4733d 100644
--- a/drivers/dma/tegra210-adma.c
+++ b/drivers/dma/tegra210-adma.c
@@ -98,6 +98,7 @@
 	unsigned int src_addr;
 	unsigned int trg_addr;
 	unsigned int fifo_ctrl;
+	unsigned int cmd;
 	unsigned int tc;
 };
 
@@ -127,6 +128,7 @@
 	enum dma_transfer_direction	sreq_dir;
 	unsigned int			sreq_index;
 	bool				sreq_reserved;
+	struct tegra_adma_chan_regs	ch_regs;
 
 	/* Transfer count and position info */
 	unsigned int			tx_buf_count;
@@ -635,8 +637,30 @@
 static int tegra_adma_runtime_suspend(struct device *dev)
 {
 	struct tegra_adma *tdma = dev_get_drvdata(dev);
+	struct tegra_adma_chan_regs *ch_reg;
+	struct tegra_adma_chan *tdc;
+	int i;
 
 	tdma->global_cmd = tdma_read(tdma, ADMA_GLOBAL_CMD);
+	if (!tdma->global_cmd)
+		goto clk_disable;
+
+	for (i = 0; i < tdma->nr_channels; i++) {
+		tdc = &tdma->channels[i];
+		ch_reg = &tdc->ch_regs;
+		ch_reg->cmd = tdma_ch_read(tdc, ADMA_CH_CMD);
+		/* skip if channel is not active */
+		if (!ch_reg->cmd)
+			continue;
+		ch_reg->tc = tdma_ch_read(tdc, ADMA_CH_TC);
+		ch_reg->src_addr = tdma_ch_read(tdc, ADMA_CH_LOWER_SRC_ADDR);
+		ch_reg->trg_addr = tdma_ch_read(tdc, ADMA_CH_LOWER_TRG_ADDR);
+		ch_reg->ctrl = tdma_ch_read(tdc, ADMA_CH_CTRL);
+		ch_reg->fifo_ctrl = tdma_ch_read(tdc, ADMA_CH_FIFO_CTRL);
+		ch_reg->config = tdma_ch_read(tdc, ADMA_CH_CONFIG);
+	}
+
+clk_disable:
 	clk_disable_unprepare(tdma->ahub_clk);
 
 	return 0;
@@ -645,7 +669,9 @@
 static int tegra_adma_runtime_resume(struct device *dev)
 {
 	struct tegra_adma *tdma = dev_get_drvdata(dev);
-	int ret;
+	struct tegra_adma_chan_regs *ch_reg;
+	struct tegra_adma_chan *tdc;
+	int ret, i;
 
 	ret = clk_prepare_enable(tdma->ahub_clk);
 	if (ret) {
@@ -654,6 +680,24 @@
 	}
 	tdma_write(tdma, ADMA_GLOBAL_CMD, tdma->global_cmd);
 
+	if (!tdma->global_cmd)
+		return 0;
+
+	for (i = 0; i < tdma->nr_channels; i++) {
+		tdc = &tdma->channels[i];
+		ch_reg = &tdc->ch_regs;
+		/* skip if channel was not active earlier */
+		if (!ch_reg->cmd)
+			continue;
+		tdma_ch_write(tdc, ADMA_CH_TC, ch_reg->tc);
+		tdma_ch_write(tdc, ADMA_CH_LOWER_SRC_ADDR, ch_reg->src_addr);
+		tdma_ch_write(tdc, ADMA_CH_LOWER_TRG_ADDR, ch_reg->trg_addr);
+		tdma_ch_write(tdc, ADMA_CH_CTRL, ch_reg->ctrl);
+		tdma_ch_write(tdc, ADMA_CH_FIFO_CTRL, ch_reg->fifo_ctrl);
+		tdma_ch_write(tdc, ADMA_CH_CONFIG, ch_reg->config);
+		tdma_ch_write(tdc, ADMA_CH_CMD, ch_reg->cmd);
+	}
+
 	return 0;
 }
 
@@ -700,16 +744,6 @@
 		return PTR_ERR(tdma->ahub_clk);
 	}
 
-	pm_runtime_enable(&pdev->dev);
-
-	ret = pm_runtime_get_sync(&pdev->dev);
-	if (ret < 0)
-		goto rpm_disable;
-
-	ret = tegra_adma_init(tdma);
-	if (ret)
-		goto rpm_put;
-
 	INIT_LIST_HEAD(&tdma->dma_dev.channels);
 	for (i = 0; i < tdma->nr_channels; i++) {
 		struct tegra_adma_chan *tdc = &tdma->channels[i];
@@ -727,6 +761,16 @@
 		tdc->tdma = tdma;
 	}
 
+	pm_runtime_enable(&pdev->dev);
+
+	ret = pm_runtime_get_sync(&pdev->dev);
+	if (ret < 0)
+		goto rpm_disable;
+
+	ret = tegra_adma_init(tdma);
+	if (ret)
+		goto rpm_put;
+
 	dma_cap_set(DMA_SLAVE, tdma->dma_dev.cap_mask);
 	dma_cap_set(DMA_PRIVATE, tdma->dma_dev.cap_mask);
 	dma_cap_set(DMA_CYCLIC, tdma->dma_dev.cap_mask);
@@ -768,13 +812,13 @@
 
 dma_remove:
 	dma_async_device_unregister(&tdma->dma_dev);
-irq_dispose:
-	while (--i >= 0)
-		irq_dispose_mapping(tdma->channels[i].irq);
 rpm_put:
 	pm_runtime_put_sync(&pdev->dev);
 rpm_disable:
 	pm_runtime_disable(&pdev->dev);
+irq_dispose:
+	while (--i >= 0)
+		irq_dispose_mapping(tdma->channels[i].irq);
 
 	return ret;
 }
diff --git a/drivers/dma/ti/edma.c b/drivers/dma/ti/edma.c
index 982631d..44158fa 100644
--- a/drivers/dma/ti/edma.c
+++ b/drivers/dma/ti/edma.c
@@ -2345,8 +2345,10 @@
 
 		ecc->tc_list = devm_kcalloc(dev, ecc->num_tc,
 					    sizeof(*ecc->tc_list), GFP_KERNEL);
-		if (!ecc->tc_list)
-			return -ENOMEM;
+		if (!ecc->tc_list) {
+			ret = -ENOMEM;
+			goto err_reg1;
+		}
 
 		for (i = 0;; i++) {
 			ret = of_parse_phandle_with_fixed_args(node, "ti,tptcs",
diff --git a/drivers/edac/amd64_edac.c b/drivers/edac/amd64_edac.c
index 94265e43..05d6f9c 100644
--- a/drivers/edac/amd64_edac.c
+++ b/drivers/edac/amd64_edac.c
@@ -2863,6 +2863,7 @@
 			dimm = csrow->channels[j]->dimm;
 			dimm->mtype = pvt->dram_type;
 			dimm->edac_mode = edac_mode;
+			dimm->grain = 64;
 		}
 	}
 
diff --git a/drivers/edac/edac_mc.c b/drivers/edac/edac_mc.c
index f59511b..fd440b3 100644
--- a/drivers/edac/edac_mc.c
+++ b/drivers/edac/edac_mc.c
@@ -681,22 +681,18 @@
 
 struct mem_ctl_info *edac_mc_find(int idx)
 {
-	struct mem_ctl_info *mci = NULL;
+	struct mem_ctl_info *mci;
 	struct list_head *item;
 
 	mutex_lock(&mem_ctls_mutex);
 
 	list_for_each(item, &mc_devices) {
 		mci = list_entry(item, struct mem_ctl_info, link);
-
-		if (mci->mc_idx >= idx) {
-			if (mci->mc_idx == idx) {
-				goto unlock;
-			}
-			break;
-		}
+		if (mci->mc_idx == idx)
+			goto unlock;
 	}
 
+	mci = NULL;
 unlock:
 	mutex_unlock(&mem_ctls_mutex);
 	return mci;
diff --git a/drivers/extcon/extcon.c b/drivers/extcon/extcon.c
index 9be7cc4..06125b1 100644
--- a/drivers/extcon/extcon.c
+++ b/drivers/extcon/extcon.c
@@ -881,6 +881,17 @@
 }
 EXPORT_SYMBOL_GPL(extcon_set_property_capability);
 
+int extcon_set_mutually_exclusive(struct extcon_dev *edev,
+				const u32 *exclusive)
+{
+	if (!edev)
+		return -EINVAL;
+
+	edev->mutually_exclusive = exclusive;
+	return 0;
+}
+EXPORT_SYMBOL(extcon_set_mutually_exclusive);
+
 /**
  * extcon_get_extcon_dev() - Get the extcon device instance from the name.
  * @extcon_name:	the extcon name provided with extcon_dev_register()
diff --git a/drivers/firmware/arm_scmi/clock.c b/drivers/firmware/arm_scmi/clock.c
index 30fc04e..0a194af 100644
--- a/drivers/firmware/arm_scmi/clock.c
+++ b/drivers/firmware/arm_scmi/clock.c
@@ -185,6 +185,8 @@
 	if (rate_discrete)
 		clk->list.num_rates = tot_rate_cnt;
 
+	clk->rate_discrete = rate_discrete;
+
 err:
 	scmi_xfer_put(handle, t);
 	return ret;
diff --git a/drivers/firmware/arm_scmi/driver.c b/drivers/firmware/arm_scmi/driver.c
index 09119e3..effc4c1 100644
--- a/drivers/firmware/arm_scmi/driver.c
+++ b/drivers/firmware/arm_scmi/driver.c
@@ -662,9 +662,7 @@
 
 static int scmi_mailbox_check(struct device_node *np)
 {
-	struct of_phandle_args arg;
-
-	return of_parse_phandle_with_args(np, "mboxes", "#mbox-cells", 0, &arg);
+	return of_parse_phandle_with_args(np, "mboxes", "#mbox-cells", 0, NULL);
 }
 
 static int scmi_mbox_free_channel(int id, void *p, void *data)
diff --git a/drivers/firmware/arm_scmi/sensors.c b/drivers/firmware/arm_scmi/sensors.c
index b53d5cc..c00287b 100644
--- a/drivers/firmware/arm_scmi/sensors.c
+++ b/drivers/firmware/arm_scmi/sensors.c
@@ -30,10 +30,10 @@
 		__le32 id;
 		__le32 attributes_low;
 #define SUPPORTS_ASYNC_READ(x)	((x) & BIT(31))
-#define NUM_TRIP_POINTS(x)	(((x) >> 4) & 0xff)
+#define NUM_TRIP_POINTS(x)	((x) & 0xff)
 		__le32 attributes_high;
 #define SENSOR_TYPE(x)		((x) & 0xff)
-#define SENSOR_SCALE(x)		(((x) >> 11) & 0x3f)
+#define SENSOR_SCALE(x)		(((x) >> 11) & 0x1f)
 #define SENSOR_UPDATE_SCALE(x)	(((x) >> 22) & 0x1f)
 #define SENSOR_UPDATE_BASE(x)	(((x) >> 27) & 0x1f)
 		    u8 name[SCMI_MAX_STR_SIZE];
diff --git a/drivers/firmware/dmi_scan.c b/drivers/firmware/dmi_scan.c
index f248354..0dc0c78 100644
--- a/drivers/firmware/dmi_scan.c
+++ b/drivers/firmware/dmi_scan.c
@@ -407,7 +407,7 @@
 		bytes = ~0ull;
 	else if (size & 0x8000)
 		bytes = (u64)(size & 0x7fff) << 10;
-	else if (size != 0x7fff)
+	else if (size != 0x7fff || dm->length < 0x20)
 		bytes = (u64)size << 20;
 	else
 		bytes = (u64)get_unaligned((u32 *)&d[0x1C]) << 20;
diff --git a/drivers/firmware/efi/runtime-wrappers.c b/drivers/firmware/efi/runtime-wrappers.c
index 1606abe..b0aeffd 100644
--- a/drivers/firmware/efi/runtime-wrappers.c
+++ b/drivers/firmware/efi/runtime-wrappers.c
@@ -95,7 +95,7 @@
 	efi_rts_work.status = EFI_ABORTED;				\
 									\
 	init_completion(&efi_rts_work.efi_rts_comp);			\
-	INIT_WORK(&efi_rts_work.work, efi_call_rts);			\
+	INIT_WORK_ONSTACK(&efi_rts_work.work, efi_call_rts);		\
 	efi_rts_work.arg1 = _arg1;					\
 	efi_rts_work.arg2 = _arg2;					\
 	efi_rts_work.arg3 = _arg3;					\
diff --git a/drivers/firmware/google/coreboot_table-of.c b/drivers/firmware/google/coreboot_table-of.c
index f15bf40..9b90c0f 100644
--- a/drivers/firmware/google/coreboot_table-of.c
+++ b/drivers/firmware/google/coreboot_table-of.c
@@ -19,7 +19,6 @@
 #include <linux/io.h>
 #include <linux/module.h>
 #include <linux/of_address.h>
-#include <linux/of_platform.h>
 #include <linux/platform_device.h>
 
 #include "coreboot_table.h"
@@ -30,7 +29,6 @@
 	void __iomem *ptr;
 
 	ptr = of_iomap(fw_dn, 0);
-	of_node_put(fw_dn);
 	if (!ptr)
 		return -ENOMEM;
 
@@ -44,8 +42,9 @@
 
 static const struct of_device_id coreboot_of_match[] = {
 	{ .compatible = "coreboot" },
-	{},
+	{}
 };
+MODULE_DEVICE_TABLE(of, coreboot_of_match);
 
 static struct platform_driver coreboot_table_of_driver = {
 	.probe = coreboot_table_of_probe,
@@ -55,28 +54,7 @@
 		.of_match_table = coreboot_of_match,
 	},
 };
-
-static int __init platform_coreboot_table_of_init(void)
-{
-	struct platform_device *pdev;
-	struct device_node *of_node;
-
-	/* Limit device creation to the presence of /firmware/coreboot node */
-	of_node = of_find_node_by_path("/firmware/coreboot");
-	if (!of_node)
-		return -ENODEV;
-
-	if (!of_match_node(coreboot_of_match, of_node))
-		return -ENODEV;
-
-	pdev = of_platform_device_create(of_node, "coreboot_table_of", NULL);
-	if (!pdev)
-		return -ENODEV;
-
-	return platform_driver_register(&coreboot_table_of_driver);
-}
-
-module_init(platform_coreboot_table_of_init);
+module_platform_driver(coreboot_table_of_driver);
 
 MODULE_AUTHOR("Google, Inc.");
 MODULE_LICENSE("GPL");
diff --git a/drivers/fsi/fsi-core.c b/drivers/fsi/fsi-core.c
index c6fa9b3..bd62236 100644
--- a/drivers/fsi/fsi-core.c
+++ b/drivers/fsi/fsi-core.c
@@ -1060,6 +1060,14 @@
 
 	}
 
+	rc = fsi_slave_set_smode(slave);
+	if (rc) {
+		dev_warn(&master->dev,
+				"can't set smode on slave:%02x:%02x %d\n",
+				link, id, rc);
+		goto err_free;
+	}
+
 	/* Allocate a minor in the FSI space */
 	rc = __fsi_get_new_minor(slave, fsi_dev_cfam, &slave->dev.devt,
 				 &slave->cdev_idx);
@@ -1071,17 +1079,14 @@
 	rc = cdev_device_add(&slave->cdev, &slave->dev);
 	if (rc) {
 		dev_err(&slave->dev, "Error %d creating slave device\n", rc);
-		goto err_free;
+		goto err_free_ida;
 	}
 
-	rc = fsi_slave_set_smode(slave);
-	if (rc) {
-		dev_warn(&master->dev,
-				"can't set smode on slave:%02x:%02x %d\n",
-				link, id, rc);
-		kfree(slave);
-		return -ENODEV;
-	}
+	/* Now that we have the cdev registered with the core, any fatal
+	 * failures beyond this point will need to clean up through
+	 * cdev_device_del(). Fortunately though, nothing past here is fatal.
+	 */
+
 	if (master->link_config)
 		master->link_config(master, link,
 				    slave->t_send_delay,
@@ -1098,10 +1103,13 @@
 		dev_dbg(&master->dev, "failed during slave scan with: %d\n",
 				rc);
 
-	return rc;
+	return 0;
 
- err_free:
-	put_device(&slave->dev);
+err_free_ida:
+	fsi_free_minor(slave->dev.devt);
+err_free:
+	of_node_put(slave->dev.of_node);
+	kfree(slave);
 	return rc;
 }
 
diff --git a/drivers/fsi/fsi-sbefifo.c b/drivers/fsi/fsi-sbefifo.c
index ae86134..9fa3959 100644
--- a/drivers/fsi/fsi-sbefifo.c
+++ b/drivers/fsi/fsi-sbefifo.c
@@ -289,11 +289,11 @@
 	switch ((sbm & CFAM_SBM_SBE_STATE_MASK) >> CFAM_SBM_SBE_STATE_SHIFT) {
 	case SBE_STATE_UNKNOWN:
 		return -ESHUTDOWN;
+	case SBE_STATE_DMT:
+		return -EBUSY;
 	case SBE_STATE_IPLING:
 	case SBE_STATE_ISTEP:
 	case SBE_STATE_MPIPL:
-	case SBE_STATE_DMT:
-		return -EBUSY;
 	case SBE_STATE_RUNTIME:
 	case SBE_STATE_DUMP: /* Not sure about that one */
 		break;
diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
index 4877999..20466ee 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -1058,6 +1058,7 @@
 config GPIO_MAX77620
 	tristate "GPIO support for PMIC MAX77620 and MAX20024"
 	depends on MFD_MAX77620
+	select GPIOLIB_IRQCHIP
 	help
 	  GPIO driver for MAX77620 and MAX20024 PMIC from Maxim Semiconductor.
 	  MAX77620 PMIC has 8 pins that can be configured as GPIOs. The
diff --git a/drivers/gpio/gpio-aspeed.c b/drivers/gpio/gpio-aspeed.c
index b696ec3..e627e0e 100644
--- a/drivers/gpio/gpio-aspeed.c
+++ b/drivers/gpio/gpio-aspeed.c
@@ -1199,7 +1199,7 @@
 	gpio->chip.irq.need_valid_mask = true;
 
 	/* Allocate a cache of the output registers */
-	banks = gpio->config->nr_gpios >> 5;
+	banks = DIV_ROUND_UP(gpio->config->nr_gpios, 32);
 	gpio->dcache = devm_kcalloc(&pdev->dev,
 				    banks, sizeof(u32), GFP_KERNEL);
 	if (!gpio->dcache)
diff --git a/drivers/gpio/gpio-grgpio.c b/drivers/gpio/gpio-grgpio.c
index 60a1556..c1be299 100644
--- a/drivers/gpio/gpio-grgpio.c
+++ b/drivers/gpio/gpio-grgpio.c
@@ -258,17 +258,16 @@
 	lirq->irq = irq;
 	uirq = &priv->uirqs[lirq->index];
 	if (uirq->refcnt == 0) {
+		spin_unlock_irqrestore(&priv->gc.bgpio_lock, flags);
 		ret = request_irq(uirq->uirq, grgpio_irq_handler, 0,
 				  dev_name(priv->dev), priv);
 		if (ret) {
 			dev_err(priv->dev,
 				"Could not request underlying irq %d\n",
 				uirq->uirq);
-
-			spin_unlock_irqrestore(&priv->gc.bgpio_lock, flags);
-
 			return ret;
 		}
+		spin_lock_irqsave(&priv->gc.bgpio_lock, flags);
 	}
 	uirq->refcnt++;
 
@@ -314,8 +313,11 @@
 	if (index >= 0) {
 		uirq = &priv->uirqs[lirq->index];
 		uirq->refcnt--;
-		if (uirq->refcnt == 0)
+		if (uirq->refcnt == 0) {
+			spin_unlock_irqrestore(&priv->gc.bgpio_lock, flags);
 			free_irq(uirq->uirq, priv);
+			return;
+		}
 	}
 
 	spin_unlock_irqrestore(&priv->gc.bgpio_lock, flags);
diff --git a/drivers/gpio/gpio-mpc8xxx.c b/drivers/gpio/gpio-mpc8xxx.c
index 3f10f95..1899d17 100644
--- a/drivers/gpio/gpio-mpc8xxx.c
+++ b/drivers/gpio/gpio-mpc8xxx.c
@@ -317,6 +317,7 @@
 		return -ENOMEM;
 
 	gc = &mpc8xxx_gc->gc;
+	gc->parent = &pdev->dev;
 
 	if (of_property_read_bool(np, "little-endian")) {
 		ret = bgpio_init(gc, &pdev->dev, 4,
diff --git a/drivers/gpio/gpio-zynq.c b/drivers/gpio/gpio-zynq.c
index 3f5fcdd..5dec961 100644
--- a/drivers/gpio/gpio-zynq.c
+++ b/drivers/gpio/gpio-zynq.c
@@ -358,6 +358,28 @@
 }
 
 /**
+ * zynq_gpio_get_direction - Read the direction of the specified GPIO pin
+ * @chip:	gpio_chip instance to be worked on
+ * @pin:	gpio pin number within the device
+ *
+ * This function returns the direction of the specified GPIO.
+ *
+ * Return: 0 for output, 1 for input
+ */
+static int zynq_gpio_get_direction(struct gpio_chip *chip, unsigned int pin)
+{
+	u32 reg;
+	unsigned int bank_num, bank_pin_num;
+	struct zynq_gpio *gpio = gpiochip_get_data(chip);
+
+	zynq_gpio_get_bank_pin(pin, &bank_num, &bank_pin_num, gpio);
+
+	reg = readl_relaxed(gpio->base_addr + ZYNQ_GPIO_DIRM_OFFSET(bank_num));
+
+	return !(reg & BIT(bank_pin_num));
+}
+
+/**
  * zynq_gpio_irq_mask - Disable the interrupts for a gpio pin
  * @irq_data:	per irq and chip data passed down to chip functions
  *
@@ -639,6 +661,8 @@
 	unsigned int bank_num;
 
 	for (bank_num = 0; bank_num < gpio->p_data->max_bank; bank_num++) {
+		writel_relaxed(ZYNQ_GPIO_IXR_DISABLE_ALL, gpio->base_addr +
+				ZYNQ_GPIO_INTDIS_OFFSET(bank_num));
 		writel_relaxed(gpio->context.datalsw[bank_num],
 			       gpio->base_addr +
 			       ZYNQ_GPIO_DATA_LSW_OFFSET(bank_num));
@@ -648,9 +672,6 @@
 		writel_relaxed(gpio->context.dirm[bank_num],
 			       gpio->base_addr +
 			       ZYNQ_GPIO_DIRM_OFFSET(bank_num));
-		writel_relaxed(gpio->context.int_en[bank_num],
-			       gpio->base_addr +
-			       ZYNQ_GPIO_INTEN_OFFSET(bank_num));
 		writel_relaxed(gpio->context.int_type[bank_num],
 			       gpio->base_addr +
 			       ZYNQ_GPIO_INTTYPE_OFFSET(bank_num));
@@ -660,6 +681,9 @@
 		writel_relaxed(gpio->context.int_any[bank_num],
 			       gpio->base_addr +
 			       ZYNQ_GPIO_INTANY_OFFSET(bank_num));
+		writel_relaxed(~(gpio->context.int_en[bank_num]),
+			       gpio->base_addr +
+			       ZYNQ_GPIO_INTEN_OFFSET(bank_num));
 	}
 }
 
@@ -827,6 +851,7 @@
 	chip->free = zynq_gpio_free;
 	chip->direction_input = zynq_gpio_dir_in;
 	chip->direction_output = zynq_gpio_dir_out;
+	chip->get_direction = zynq_gpio_get_direction;
 	chip->base = of_alias_get_id(pdev->dev.of_node, "gpio");
 	chip->ngpio = gpio->p_data->ngpio;
 
diff --git a/drivers/gpio/gpiolib-acpi.c b/drivers/gpio/gpiolib-acpi.c
index 8edbb3f..d872dc8 100644
--- a/drivers/gpio/gpiolib-acpi.c
+++ b/drivers/gpio/gpiolib-acpi.c
@@ -24,11 +24,19 @@
 
 #include "gpiolib.h"
 
+#define QUIRK_NO_EDGE_EVENTS_ON_BOOT		0x01l
+#define QUIRK_NO_WAKEUP				0x02l
+
 static int run_edge_events_on_boot = -1;
 module_param(run_edge_events_on_boot, int, 0444);
 MODULE_PARM_DESC(run_edge_events_on_boot,
 		 "Run edge _AEI event-handlers at boot: 0=no, 1=yes, -1=auto");
 
+static int honor_wakeup = -1;
+module_param(honor_wakeup, int, 0444);
+MODULE_PARM_DESC(honor_wakeup,
+		 "Honor the ACPI wake-capable flag: 0=no, 1=yes, -1=auto");
+
 /**
  * struct acpi_gpio_event - ACPI GPIO event handler data
  *
@@ -278,7 +286,7 @@
 	event->handle = evt_handle;
 	event->handler = handler;
 	event->irq = irq;
-	event->irq_is_wake = agpio->wake_capable == ACPI_WAKE_CAPABLE;
+	event->irq_is_wake = honor_wakeup && agpio->wake_capable == ACPI_WAKE_CAPABLE;
 	event->pin = pin;
 	event->desc = desc;
 
@@ -1263,7 +1271,7 @@
 /* We must use _sync so that this runs after the first deferred_probe run */
 late_initcall_sync(acpi_gpio_handle_deferred_request_irqs);
 
-static const struct dmi_system_id run_edge_events_on_boot_blacklist[] = {
+static const struct dmi_system_id gpiolib_acpi_quirks[] = {
 	{
 		/*
 		 * The Minix Neo Z83-4 has a micro-USB-B id-pin handler for
@@ -1273,7 +1281,8 @@
 		.matches = {
 			DMI_MATCH(DMI_SYS_VENDOR, "MINIX"),
 			DMI_MATCH(DMI_PRODUCT_NAME, "Z83-4"),
-		}
+		},
+		.driver_data = (void *)QUIRK_NO_EDGE_EVENTS_ON_BOOT,
 	},
 	{
 		/*
@@ -1285,20 +1294,52 @@
 		.matches = {
 			DMI_MATCH(DMI_SYS_VENDOR, "Wortmann_AG"),
 			DMI_MATCH(DMI_PRODUCT_NAME, "TERRA_PAD_1061"),
-		}
+		},
+		.driver_data = (void *)QUIRK_NO_EDGE_EVENTS_ON_BOOT,
+	},
+	{
+		/*
+		 * Various HP X2 10 Cherry Trail models use an external
+		 * embedded-controller connected via I2C + an ACPI GPIO
+		 * event handler. The embedded controller generates various
+		 * spurious wakeup events when suspended. So disable wakeup
+		 * for its handler (it uses the only ACPI GPIO event handler).
+		 * This breaks wakeup when opening the lid, the user needs
+		 * to press the power-button to wakeup the system. The
+		 * alternative is suspend simply not working, which is worse.
+		 */
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "HP"),
+			DMI_MATCH(DMI_PRODUCT_NAME, "HP x2 Detachable 10-p0XX"),
+		},
+		.driver_data = (void *)QUIRK_NO_WAKEUP,
 	},
 	{} /* Terminating entry */
 };
 
 static int acpi_gpio_setup_params(void)
 {
+	const struct dmi_system_id *id;
+	long quirks = 0;
+
+	id = dmi_first_match(gpiolib_acpi_quirks);
+	if (id)
+		quirks = (long)id->driver_data;
+
 	if (run_edge_events_on_boot < 0) {
-		if (dmi_check_system(run_edge_events_on_boot_blacklist))
+		if (quirks & QUIRK_NO_EDGE_EVENTS_ON_BOOT)
 			run_edge_events_on_boot = 0;
 		else
 			run_edge_events_on_boot = 1;
 	}
 
+	if (honor_wakeup < 0) {
+		if (quirks & QUIRK_NO_WAKEUP)
+			honor_wakeup = 0;
+		else
+			honor_wakeup = 1;
+	}
+
 	return 0;
 }
 
diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
index 113852c..602dce9 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -1909,7 +1909,9 @@
 		type = IRQ_TYPE_NONE;
 	}
 
+#ifdef CONFIG_IRQ_DOMAIN_HIERARCHY
 	if (!gpiochip->to_irq)
+#endif
 		gpiochip->to_irq = gpiochip_to_irq;
 
 	gpiochip->irq.default_type = type;
@@ -1921,11 +1923,13 @@
 	else
 		ops = &gpiochip_domain_ops;
 
+#ifdef CONFIG_IRQ_DOMAIN_HIERARCHY
 	if (gpiochip->irq.parent_domain)
 		gpiochip->irq.domain = irq_domain_add_hierarchy(gpiochip->irq.parent_domain,
 								0, gpiochip->ngpio,
 								np, ops, gpiochip);
 	else
+#endif
 		gpiochip->irq.domain = irq_domain_add_simple(np, gpiochip->ngpio,
 							     gpiochip->irq.first,
 							     ops, gpiochip);
@@ -3764,8 +3768,9 @@
 
 		if (chip->ngpio <= p->chip_hwnum) {
 			dev_err(dev,
-				"requested GPIO %d is out of range [0..%d] for chip %s\n",
-				idx, chip->ngpio, chip->label);
+				"requested GPIO %u (%u) is out of range [0..%u] for chip %s\n",
+				idx, p->chip_hwnum, chip->ngpio - 1,
+				chip->label);
 			return ERR_PTR(-EINVAL);
 		}
 
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
index bf872f6..d1fbaea 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
@@ -337,17 +337,9 @@
 		path_size += le16_to_cpu(path->usSize);
 
 		if (device_support & le16_to_cpu(path->usDeviceTag)) {
-			uint8_t con_obj_id, con_obj_num, con_obj_type;
-
-			con_obj_id =
+			uint8_t con_obj_id =
 			    (le16_to_cpu(path->usConnObjectId) & OBJECT_ID_MASK)
 			    >> OBJECT_ID_SHIFT;
-			con_obj_num =
-			    (le16_to_cpu(path->usConnObjectId) & ENUM_ID_MASK)
-			    >> ENUM_ID_SHIFT;
-			con_obj_type =
-			    (le16_to_cpu(path->usConnObjectId) &
-			     OBJECT_TYPE_MASK) >> OBJECT_TYPE_SHIFT;
 
 			/* Skip TV/CV support */
 			if ((le16_to_cpu(path->usDeviceTag) ==
@@ -372,14 +364,7 @@
 			router.ddc_valid = false;
 			router.cd_valid = false;
 			for (j = 0; j < ((le16_to_cpu(path->usSize) - 8) / 2); j++) {
-				uint8_t grph_obj_id, grph_obj_num, grph_obj_type;
-
-				grph_obj_id =
-				    (le16_to_cpu(path->usGraphicObjIds[j]) &
-				     OBJECT_ID_MASK) >> OBJECT_ID_SHIFT;
-				grph_obj_num =
-				    (le16_to_cpu(path->usGraphicObjIds[j]) &
-				     ENUM_ID_MASK) >> ENUM_ID_SHIFT;
+				uint8_t grph_obj_type=
 				grph_obj_type =
 				    (le16_to_cpu(path->usGraphicObjIds[j]) &
 				     OBJECT_TYPE_MASK) >> OBJECT_TYPE_SHIFT;
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h
index bb5a47a4..5c76a815 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h
@@ -97,6 +97,7 @@
 	uint32_t                srbm_soft_reset;
 	bool			prt_warning;
 	uint64_t		stolen_size;
+	uint32_t		sdpif_register;
 	/* apertures */
 	u64			shared_aperture_start;
 	u64			shared_aperture_end;
diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c
index ede27da..8b25940 100644
--- a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c
@@ -993,6 +993,19 @@
 }
 
 /**
+ * gmc_v9_0_restore_registers - restores regs
+ *
+ * @adev: amdgpu_device pointer
+ *
+ * This restores register values, saved at suspend.
+ */
+static void gmc_v9_0_restore_registers(struct amdgpu_device *adev)
+{
+	if (adev->asic_type == CHIP_RAVEN)
+		WREG32(mmDCHUBBUB_SDPIF_MMIO_CNTRL_0, adev->gmc.sdpif_register);
+}
+
+/**
  * gmc_v9_0_gart_enable - gart enable
  *
  * @adev: amdgpu_device pointer
@@ -1081,6 +1094,20 @@
 }
 
 /**
+ * gmc_v9_0_save_registers - saves regs
+ *
+ * @adev: amdgpu_device pointer
+ *
+ * This saves potential register values that should be
+ * restored upon resume
+ */
+static void gmc_v9_0_save_registers(struct amdgpu_device *adev)
+{
+	if (adev->asic_type == CHIP_RAVEN)
+		adev->gmc.sdpif_register = RREG32(mmDCHUBBUB_SDPIF_MMIO_CNTRL_0);
+}
+
+/**
  * gmc_v9_0_gart_disable - gart disable
  *
  * @adev: amdgpu_device pointer
@@ -1112,9 +1139,16 @@
 
 static int gmc_v9_0_suspend(void *handle)
 {
+	int r;
 	struct amdgpu_device *adev = (struct amdgpu_device *)handle;
 
-	return gmc_v9_0_hw_fini(adev);
+	r = gmc_v9_0_hw_fini(adev);
+	if (r)
+		return r;
+
+	gmc_v9_0_save_registers(adev);
+
+	return 0;
 }
 
 static int gmc_v9_0_resume(void *handle)
@@ -1122,6 +1156,7 @@
 	int r;
 	struct amdgpu_device *adev = (struct amdgpu_device *)handle;
 
+	gmc_v9_0_restore_registers(adev);
 	r = gmc_v9_0_hw_init(adev);
 	if (r)
 		return r;
diff --git a/drivers/gpu/drm/amd/amdgpu/soc15.c b/drivers/gpu/drm/amd/amdgpu/soc15.c
index 83f2717..9e74f43 100644
--- a/drivers/gpu/drm/amd/amdgpu/soc15.c
+++ b/drivers/gpu/drm/amd/amdgpu/soc15.c
@@ -205,7 +205,12 @@
 
 static u32 soc15_get_xclk(struct amdgpu_device *adev)
 {
-	return adev->clock.spll.reference_freq;
+	u32 reference_clock = adev->clock.spll.reference_freq;
+
+	if (adev->asic_type == CHIP_RAVEN)
+		return reference_clock / 4;
+
+	return reference_clock;
 }
 
 
diff --git a/drivers/gpu/drm/amd/amdgpu/soc15_common.h b/drivers/gpu/drm/amd/amdgpu/soc15_common.h
index 0942f49..9d444f7 100644
--- a/drivers/gpu/drm/amd/amdgpu/soc15_common.h
+++ b/drivers/gpu/drm/amd/amdgpu/soc15_common.h
@@ -51,6 +51,7 @@
 	do {							\
 		uint32_t tmp_ = RREG32(adev->reg_offset[ip##_HWIP][inst][reg##_BASE_IDX] + reg); \
 		uint32_t loop = adev->usec_timeout;		\
+		ret = 0;					\
 		while ((tmp_ & (mask)) != (expected_value)) {	\
 			udelay(2);				\
 			tmp_ = RREG32(adev->reg_offset[ip##_HWIP][inst][reg##_BASE_IDX] + reg); \
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
index 8403b6a..d8c53dd 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
@@ -248,7 +248,8 @@
 		drm_dp_mst_reset_vcpi_slots(mst_mgr, mst_port);
 	}
 
-	ret = drm_dp_update_payload_part1(mst_mgr);
+	/* It's OK for this to fail */
+	drm_dp_update_payload_part1(mst_mgr);
 
 	/* mst_mgr->->payloads are VC payload notify MST branch using DPCD or
 	 * AUX message. The sequence is slot 1-63 allocated sequence for each
@@ -257,9 +258,6 @@
 
 	get_payload_table(aconnector, proposed_table);
 
-	if (ret)
-		return false;
-
 	return true;
 }
 
@@ -310,7 +308,6 @@
 	struct amdgpu_dm_connector *aconnector;
 	struct drm_dp_mst_topology_mgr *mst_mgr;
 	struct drm_dp_mst_port *mst_port;
-	int ret;
 
 	aconnector = stream->sink->priv;
 
@@ -324,10 +321,8 @@
 	if (!mst_mgr->mst_state)
 		return false;
 
-	ret = drm_dp_update_payload_part2(mst_mgr);
-
-	if (ret)
-		return false;
+	/* It's OK for this to fail */
+	drm_dp_update_payload_part2(mst_mgr);
 
 	if (!enable)
 		drm_dp_mst_deallocate_vcpi(mst_mgr, mst_port);
diff --git a/drivers/gpu/drm/amd/display/dc/calcs/dcn_calcs.c b/drivers/gpu/drm/amd/display/dc/calcs/dcn_calcs.c
index 6342f64..b0956c3 100644
--- a/drivers/gpu/drm/amd/display/dc/calcs/dcn_calcs.c
+++ b/drivers/gpu/drm/amd/display/dc/calcs/dcn_calcs.c
@@ -1346,6 +1346,7 @@
 	struct dc_context *ctx = dc->ctx;
 	struct dm_pp_clock_levels_with_voltage fclks = {0}, dcfclks = {0};
 	bool res;
+	unsigned vmin0p65_idx, vmid0p72_idx, vnom0p8_idx, vmax0p9_idx;
 
 	/* TODO: This is not the proper way to obtain fabric_and_dram_bandwidth, should be min(fclk, memclk) */
 	res = dm_pp_get_clock_levels_by_type_with_voltage(
@@ -1357,17 +1358,28 @@
 		res = verify_clock_values(&fclks);
 
 	if (res) {
-		ASSERT(fclks.num_levels >= 3);
-		dc->dcn_soc->fabric_and_dram_bandwidth_vmin0p65 = 32 * (fclks.data[0].clocks_in_khz / 1000.0) / 1000.0;
-		dc->dcn_soc->fabric_and_dram_bandwidth_vmid0p72 = dc->dcn_soc->number_of_channels *
-				(fclks.data[fclks.num_levels - (fclks.num_levels > 2 ? 3 : 2)].clocks_in_khz / 1000.0)
-				* ddr4_dram_factor_single_Channel / 1000.0;
-		dc->dcn_soc->fabric_and_dram_bandwidth_vnom0p8 = dc->dcn_soc->number_of_channels *
-				(fclks.data[fclks.num_levels - 2].clocks_in_khz / 1000.0)
-				* ddr4_dram_factor_single_Channel / 1000.0;
-		dc->dcn_soc->fabric_and_dram_bandwidth_vmax0p9 = dc->dcn_soc->number_of_channels *
-				(fclks.data[fclks.num_levels - 1].clocks_in_khz / 1000.0)
-				* ddr4_dram_factor_single_Channel / 1000.0;
+		ASSERT(fclks.num_levels);
+
+		vmin0p65_idx = 0;
+		vmid0p72_idx = fclks.num_levels -
+			(fclks.num_levels > 2 ? 3 : (fclks.num_levels > 1 ? 2 : 1));
+		vnom0p8_idx = fclks.num_levels - (fclks.num_levels > 1 ? 2 : 1);
+		vmax0p9_idx = fclks.num_levels - 1;
+
+		dc->dcn_soc->fabric_and_dram_bandwidth_vmin0p65 =
+			32 * (fclks.data[vmin0p65_idx].clocks_in_khz / 1000.0) / 1000.0;
+		dc->dcn_soc->fabric_and_dram_bandwidth_vmid0p72 =
+			dc->dcn_soc->number_of_channels *
+			(fclks.data[vmid0p72_idx].clocks_in_khz / 1000.0)
+			* ddr4_dram_factor_single_Channel / 1000.0;
+		dc->dcn_soc->fabric_and_dram_bandwidth_vnom0p8 =
+			dc->dcn_soc->number_of_channels *
+			(fclks.data[vnom0p8_idx].clocks_in_khz / 1000.0)
+			* ddr4_dram_factor_single_Channel / 1000.0;
+		dc->dcn_soc->fabric_and_dram_bandwidth_vmax0p9 =
+			dc->dcn_soc->number_of_channels *
+			(fclks.data[vmax0p9_idx].clocks_in_khz / 1000.0)
+			* ddr4_dram_factor_single_Channel / 1000.0;
 	} else
 		BREAK_TO_DEBUGGER();
 
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link.c b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
index 2f42964..3abc029 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
@@ -780,8 +780,7 @@
 			same_edid = is_same_edid(&prev_sink->dc_edid, &sink->dc_edid);
 
 		if (link->connector_signal == SIGNAL_TYPE_DISPLAY_PORT &&
-			sink_caps.transaction_type == DDC_TRANSACTION_TYPE_I2C_OVER_AUX &&
-			reason != DETECT_REASON_HPDRX) {
+			sink_caps.transaction_type == DDC_TRANSACTION_TYPE_I2C_OVER_AUX) {
 			/*
 			 * TODO debug why Dell 2413 doesn't like
 			 *  two link trainings
diff --git a/drivers/gpu/drm/amd/display/dc/dml/dml_common_defs.c b/drivers/gpu/drm/amd/display/dc/dml/dml_common_defs.c
index b953b02..723af0b 100644
--- a/drivers/gpu/drm/amd/display/dc/dml/dml_common_defs.c
+++ b/drivers/gpu/drm/amd/display/dc/dml/dml_common_defs.c
@@ -24,7 +24,7 @@
  */
 
 #include "dml_common_defs.h"
-#include "../calcs/dcn_calc_math.h"
+#include "dcn_calc_math.h"
 
 #include "dml_inline_defs.h"
 
diff --git a/drivers/gpu/drm/amd/display/dc/dml/dml_inline_defs.h b/drivers/gpu/drm/amd/display/dc/dml/dml_inline_defs.h
index e8ce085..e4f595a 100644
--- a/drivers/gpu/drm/amd/display/dc/dml/dml_inline_defs.h
+++ b/drivers/gpu/drm/amd/display/dc/dml/dml_inline_defs.h
@@ -27,7 +27,7 @@
 #define __DML_INLINE_DEFS_H__
 
 #include "dml_common_defs.h"
-#include "../calcs/dcn_calc_math.h"
+#include "dcn_calc_math.h"
 #include "dml_logger.h"
 
 static inline double dml_min(double a, double b)
diff --git a/drivers/gpu/drm/amd/display/dc/calcs/dcn_calc_math.h b/drivers/gpu/drm/amd/display/dc/inc/dcn_calc_math.h
similarity index 100%
rename from drivers/gpu/drm/amd/display/dc/calcs/dcn_calc_math.h
rename to drivers/gpu/drm/amd/display/dc/inc/dcn_calc_math.h
diff --git a/drivers/gpu/drm/amd/include/asic_reg/dce/dce_12_0_offset.h b/drivers/gpu/drm/amd/include/asic_reg/dce/dce_12_0_offset.h
index b6f74bf..27bb8c1 100644
--- a/drivers/gpu/drm/amd/include/asic_reg/dce/dce_12_0_offset.h
+++ b/drivers/gpu/drm/amd/include/asic_reg/dce/dce_12_0_offset.h
@@ -7376,6 +7376,8 @@
 #define mmCRTC4_CRTC_DRR_CONTROL                                                                       0x0f3e
 #define mmCRTC4_CRTC_DRR_CONTROL_BASE_IDX                                                              2
 
+#define mmDCHUBBUB_SDPIF_MMIO_CNTRL_0                                                                  0x395d
+#define mmDCHUBBUB_SDPIF_MMIO_CNTRL_0_BASE_IDX                                                         2
 
 // addressBlock: dce_dc_fmt4_dispdec
 // base address: 0x2000
diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/smu10_hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/smu10_hwmgr.c
index 1546bc4..48e3171 100644
--- a/drivers/gpu/drm/amd/powerplay/hwmgr/smu10_hwmgr.c
+++ b/drivers/gpu/drm/amd/powerplay/hwmgr/smu10_hwmgr.c
@@ -994,12 +994,15 @@
 
 	clocks->num_levels = 0;
 	for (i = 0; i < pclk_vol_table->count; i++) {
-		clocks->data[i].clocks_in_khz = pclk_vol_table->entries[i].clk * 10;
-		clocks->data[i].latency_in_us = latency_required ?
-						smu10_get_mem_latency(hwmgr,
-						pclk_vol_table->entries[i].clk) :
-						0;
-		clocks->num_levels++;
+		if (pclk_vol_table->entries[i].clk) {
+			clocks->data[clocks->num_levels].clocks_in_khz =
+				pclk_vol_table->entries[i].clk * 10;
+			clocks->data[clocks->num_levels].latency_in_us = latency_required ?
+				smu10_get_mem_latency(hwmgr,
+						      pclk_vol_table->entries[i].clk) :
+				0;
+			clocks->num_levels++;
+		}
 	}
 
 	return 0;
@@ -1045,9 +1048,11 @@
 
 	clocks->num_levels = 0;
 	for (i = 0; i < pclk_vol_table->count; i++) {
-		clocks->data[i].clocks_in_khz = pclk_vol_table->entries[i].clk  * 10;
-		clocks->data[i].voltage_in_mv = pclk_vol_table->entries[i].vol;
-		clocks->num_levels++;
+		if (pclk_vol_table->entries[i].clk) {
+			clocks->data[clocks->num_levels].clocks_in_khz = pclk_vol_table->entries[i].clk  * 10;
+			clocks->data[clocks->num_levels].voltage_in_mv = pclk_vol_table->entries[i].vol;
+			clocks->num_levels++;
+		}
 	}
 
 	return 0;
diff --git a/drivers/gpu/drm/arm/malidp_mw.c b/drivers/gpu/drm/arm/malidp_mw.c
index 91472e5..7266d3c 100644
--- a/drivers/gpu/drm/arm/malidp_mw.c
+++ b/drivers/gpu/drm/arm/malidp_mw.c
@@ -55,7 +55,7 @@
 	return MODE_OK;
 }
 
-const struct drm_connector_helper_funcs malidp_mw_connector_helper_funcs = {
+static const struct drm_connector_helper_funcs malidp_mw_connector_helper_funcs = {
 	.get_modes = malidp_mw_connector_get_modes,
 	.mode_valid = malidp_mw_connector_mode_valid,
 };
diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c
index d732810..976109c 100644
--- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c
+++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c
@@ -79,7 +79,11 @@
 	struct videomode vm;
 	unsigned long prate;
 	unsigned int cfg;
-	int div;
+	int div, ret;
+
+	ret = clk_prepare_enable(crtc->dc->hlcdc->sys_clk);
+	if (ret)
+		return;
 
 	vm.vfront_porch = adj->crtc_vsync_start - adj->crtc_vdisplay;
 	vm.vback_porch = adj->crtc_vtotal - adj->crtc_vsync_end;
@@ -138,6 +142,8 @@
 			   ATMEL_HLCDC_VSPSU | ATMEL_HLCDC_VSPHO |
 			   ATMEL_HLCDC_GUARDTIME_MASK | ATMEL_HLCDC_MODE_MASK,
 			   cfg);
+
+	clk_disable_unprepare(crtc->dc->hlcdc->sys_clk);
 }
 
 static enum drm_mode_status
diff --git a/drivers/gpu/drm/bridge/lt9611uxc.c b/drivers/gpu/drm/bridge/lt9611uxc.c
index e37e770..95da862 100644
--- a/drivers/gpu/drm/bridge/lt9611uxc.c
+++ b/drivers/gpu/drm/bridge/lt9611uxc.c
@@ -139,6 +139,7 @@
 };
 
 static struct lt9611_timing_info lt9611_supp_timing_cfg[] = {
+	{3840, 2160, 24, 60, 4, 2}, /* 3840x2160 24bit 60Hz 4Lane 2ports */
 	{3840, 2160, 24, 30, 4, 2}, /* 3840x2160 24bit 30Hz 4Lane 2ports */
 	{1920, 1080, 24, 60, 4, 1}, /* 1080P 24bit 60Hz 4lane 1port */
 	{1920, 1080, 24, 30, 3, 1}, /* 1080P 24bit 30Hz 3lane 1port */
@@ -893,7 +894,7 @@
 		gpio_set_value(pdata->reset_gpio, 0);
 		msleep(20);
 		gpio_set_value(pdata->reset_gpio, 1);
-		msleep(300);
+		msleep(180);
 	} else {
 		gpio_set_value(pdata->reset_gpio, 0);
 	}
diff --git a/drivers/gpu/drm/drm_context.c b/drivers/gpu/drm/drm_context.c
index f973d28..da5abf2 100644
--- a/drivers/gpu/drm/drm_context.c
+++ b/drivers/gpu/drm/drm_context.c
@@ -361,23 +361,26 @@
 {
 	struct drm_ctx_list *ctx_entry;
 	struct drm_ctx *ctx = data;
+	int tmp_handle;
 
 	if (!drm_core_check_feature(dev, DRIVER_KMS_LEGACY_CONTEXT) &&
 	    !drm_core_check_feature(dev, DRIVER_LEGACY))
 		return -EINVAL;
 
-	ctx->handle = drm_legacy_ctxbitmap_next(dev);
-	if (ctx->handle == DRM_KERNEL_CONTEXT) {
+	tmp_handle = drm_legacy_ctxbitmap_next(dev);
+	if (tmp_handle == DRM_KERNEL_CONTEXT) {
 		/* Skip kernel's context and get a new one. */
-		ctx->handle = drm_legacy_ctxbitmap_next(dev);
+		tmp_handle = drm_legacy_ctxbitmap_next(dev);
 	}
-	DRM_DEBUG("%d\n", ctx->handle);
-	if (ctx->handle < 0) {
+	DRM_DEBUG("%d\n", tmp_handle);
+	if (tmp_handle < 0) {
 		DRM_DEBUG("Not enough free contexts.\n");
 		/* Should this return -EBUSY instead? */
-		return -ENOMEM;
+		return tmp_handle;
 	}
 
+	ctx->handle = tmp_handle;
+
 	ctx_entry = kmalloc(sizeof(*ctx_entry), GFP_KERNEL);
 	if (!ctx_entry) {
 		DRM_DEBUG("out of memory\n");
diff --git a/drivers/gpu/drm/drm_debugfs_crc.c b/drivers/gpu/drm/drm_debugfs_crc.c
index c88e5ff..a3c7567 100644
--- a/drivers/gpu/drm/drm_debugfs_crc.c
+++ b/drivers/gpu/drm/drm_debugfs_crc.c
@@ -101,8 +101,8 @@
 	if (IS_ERR(source))
 		return PTR_ERR(source);
 
-	if (source[len] == '\n')
-		source[len] = '\0';
+	if (source[len - 1] == '\n')
+		source[len - 1] = '\0';
 
 	spin_lock_irq(&crc->lock);
 
diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c
index 7632933..b833512 100644
--- a/drivers/gpu/drm/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/drm_dp_mst_topology.c
@@ -270,7 +270,7 @@
 			memcpy(&buf[idx], req->u.i2c_read.transactions[i].bytes, req->u.i2c_read.transactions[i].num_bytes);
 			idx += req->u.i2c_read.transactions[i].num_bytes;
 
-			buf[idx] = (req->u.i2c_read.transactions[i].no_stop_bit & 0x1) << 5;
+			buf[idx] = (req->u.i2c_read.transactions[i].no_stop_bit & 0x1) << 4;
 			buf[idx] |= (req->u.i2c_read.transactions[i].i2c_transaction_delay & 0xf);
 			idx++;
 		}
@@ -1021,9 +1021,20 @@
 static struct drm_dp_mst_port *drm_dp_get_validated_port_ref(struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port)
 {
 	struct drm_dp_mst_port *rport = NULL;
+
 	mutex_lock(&mgr->lock);
-	if (mgr->mst_primary)
-		rport = drm_dp_mst_get_port_ref_locked(mgr->mst_primary, port);
+	/*
+	 * Port may or may not be 'valid' but we don't care about that when
+	 * destroying the port and we are guaranteed that the port pointer
+	 * will be valid until we've finished
+	 */
+	if (current_work() == &mgr->destroy_connector_work) {
+		kref_get(&port->kref);
+		rport = port;
+	} else if (mgr->mst_primary) {
+		rport = drm_dp_mst_get_port_ref_locked(mgr->mst_primary,
+						       port);
+	}
 	mutex_unlock(&mgr->lock);
 	return rport;
 }
@@ -2263,6 +2274,7 @@
 int drm_dp_mst_topology_mgr_set_mst(struct drm_dp_mst_topology_mgr *mgr, bool mst_state)
 {
 	int ret = 0;
+	int i = 0;
 	struct drm_dp_mst_branch *mstb = NULL;
 	u8 buf;
 	u32 offset = DP_DPCD_REV;
@@ -2338,10 +2350,21 @@
 		/* this can fail if the device is gone */
 		drm_dp_dpcd_writeb(mgr->aux, DP_MSTM_CTRL, 0);
 		ret = 0;
+		mutex_lock(&mgr->payload_lock);
 		memset(mgr->payloads, 0, mgr->max_payloads * sizeof(struct drm_dp_payload));
 		mgr->payload_mask = 0;
 		set_bit(0, &mgr->payload_mask);
+		for (i = 0; i < mgr->max_payloads; i++) {
+			struct drm_dp_vcpi *vcpi = mgr->proposed_vcpis[i];
+
+			if (vcpi) {
+				vcpi->vcpi = 0;
+				vcpi->num_slots = 0;
+			}
+			mgr->proposed_vcpis[i] = NULL;
+		}
 		mgr->vcpi_mask = 0;
+		mutex_unlock(&mgr->payload_lock);
 	}
 
 out_unlock:
diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c
index 8b546fd..da9a381 100644
--- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/drivers/gpu/drm/drm_fb_helper.c
@@ -1702,7 +1702,7 @@
 	 * Changes struct fb_var_screeninfo are currently not pushed back
 	 * to KMS, hence fail if different settings are requested.
 	 */
-	if (var->bits_per_pixel != fb->format->cpp[0] * 8 ||
+	if (var->bits_per_pixel > fb->format->cpp[0] * 8 ||
 	    var->xres > fb->width || var->yres > fb->height ||
 	    var->xres_virtual > fb->width || var->yres_virtual > fb->height) {
 		DRM_DEBUG("fb requested width/height/bpp can't fit in current fb "
@@ -1728,6 +1728,11 @@
 	}
 
 	/*
+	 * Likewise, bits_per_pixel should be rounded up to a supported value.
+	 */
+	var->bits_per_pixel = fb->format->cpp[0] * 8;
+
+	/*
 	 * drm fbdev emulation doesn't support changing the pixel format at all,
 	 * so reject all pixel format changing requests.
 	 */
@@ -2974,18 +2979,16 @@
 	return 0;
 }
 
-/*
- * fb_ops.fb_destroy is called by the last put_fb_info() call at the end of
- * unregister_framebuffer() or fb_release().
- */
-static void drm_fbdev_fb_destroy(struct fb_info *info)
+static void drm_fbdev_cleanup(struct drm_fb_helper *fb_helper)
 {
-	struct drm_fb_helper *fb_helper = info->par;
 	struct fb_info *fbi = fb_helper->fbdev;
 	struct fb_ops *fbops = NULL;
 	void *shadow = NULL;
 
-	if (fbi->fbdefio) {
+	if (!fb_helper->dev)
+		return;
+
+	if (fbi && fbi->fbdefio) {
 		fb_deferred_io_cleanup(fbi);
 		shadow = fbi->screen_buffer;
 		fbops = fbi->fbops;
@@ -2999,6 +3002,12 @@
 	}
 
 	drm_client_framebuffer_delete(fb_helper->buffer);
+}
+
+static void drm_fbdev_release(struct drm_fb_helper *fb_helper)
+{
+	drm_fbdev_cleanup(fb_helper);
+
 	/*
 	 * FIXME:
 	 * Remove conditional when all CMA drivers have been moved over to using
@@ -3010,6 +3019,15 @@
 	}
 }
 
+/*
+ * fb_ops.fb_destroy is called by the last put_fb_info() call at the end of
+ * unregister_framebuffer() or fb_release().
+ */
+static void drm_fbdev_fb_destroy(struct fb_info *info)
+{
+	drm_fbdev_release(info->par);
+}
+
 static int drm_fbdev_fb_mmap(struct fb_info *info, struct vm_area_struct *vma)
 {
 	struct drm_fb_helper *fb_helper = info->par;
@@ -3060,7 +3078,6 @@
 	struct drm_framebuffer *fb;
 	struct fb_info *fbi;
 	u32 format;
-	int ret;
 
 	DRM_DEBUG_KMS("surface width(%d), height(%d) and bpp(%d)\n",
 		      sizes->surface_width, sizes->surface_height,
@@ -3077,10 +3094,8 @@
 	fb = buffer->fb;
 
 	fbi = drm_fb_helper_alloc_fbi(fb_helper);
-	if (IS_ERR(fbi)) {
-		ret = PTR_ERR(fbi);
-		goto err_free_buffer;
-	}
+	if (IS_ERR(fbi))
+		return PTR_ERR(fbi);
 
 	fbi->par = fb_helper;
 	fbi->fbops = &drm_fbdev_fb_ops;
@@ -3111,8 +3126,7 @@
 		if (!fbops || !shadow) {
 			kfree(fbops);
 			vfree(shadow);
-			ret = -ENOMEM;
-			goto err_fb_info_destroy;
+			return -ENOMEM;
 		}
 
 		*fbops = *fbi->fbops;
@@ -3124,13 +3138,6 @@
 	}
 
 	return 0;
-
-err_fb_info_destroy:
-	drm_fb_helper_fini(fb_helper);
-err_free_buffer:
-	drm_client_framebuffer_delete(buffer);
-
-	return ret;
 }
 EXPORT_SYMBOL(drm_fb_helper_generic_probe);
 
@@ -3142,18 +3149,11 @@
 {
 	struct drm_fb_helper *fb_helper = drm_fb_helper_from_client(client);
 
-	if (fb_helper->fbdev) {
-		drm_fb_helper_unregister_fbi(fb_helper);
+	if (fb_helper->fbdev)
 		/* drm_fbdev_fb_destroy() takes care of cleanup */
-		return;
-	}
-
-	/* Did drm_fb_helper_fbdev_setup() run? */
-	if (fb_helper->dev)
-		drm_fb_helper_fini(fb_helper);
-
-	drm_client_release(client);
-	kfree(fb_helper);
+		drm_fb_helper_unregister_fbi(fb_helper);
+	else
+		drm_fbdev_release(fb_helper);
 }
 
 static int drm_fbdev_client_restore(struct drm_client_dev *client)
@@ -3169,7 +3169,7 @@
 	struct drm_device *dev = client->dev;
 	int ret;
 
-	/* If drm_fb_helper_fbdev_setup() failed, we only try once */
+	/* Setup is not retried if it has failed */
 	if (!fb_helper->dev && fb_helper->funcs)
 		return 0;
 
@@ -3179,15 +3179,34 @@
 	if (!dev->mode_config.num_connector)
 		return 0;
 
-	ret = drm_fb_helper_fbdev_setup(dev, fb_helper, &drm_fb_helper_generic_funcs,
-					fb_helper->preferred_bpp, 0);
-	if (ret) {
-		fb_helper->dev = NULL;
-		fb_helper->fbdev = NULL;
-		return ret;
-	}
+	drm_fb_helper_prepare(dev, fb_helper, &drm_fb_helper_generic_funcs);
+
+	ret = drm_fb_helper_init(dev, fb_helper, dev->mode_config.num_connector);
+	if (ret)
+		goto err;
+
+	ret = drm_fb_helper_single_add_all_connectors(fb_helper);
+	if (ret)
+		goto err_cleanup;
+
+	if (!drm_drv_uses_atomic_modeset(dev))
+		drm_helper_disable_unused_functions(dev);
+
+	ret = drm_fb_helper_initial_config(fb_helper, fb_helper->preferred_bpp);
+	if (ret)
+		goto err_cleanup;
 
 	return 0;
+
+err_cleanup:
+	drm_fbdev_cleanup(fb_helper);
+err:
+	fb_helper->dev = NULL;
+	fb_helper->fbdev = NULL;
+
+	DRM_DEV_ERROR(dev->dev, "fbdev: Failed to setup generic emulation (ret=%d)\n", ret);
+
+	return ret;
 }
 
 static const struct drm_client_funcs drm_fbdev_client_funcs = {
@@ -3238,12 +3257,16 @@
 		return ret;
 	}
 
-	drm_client_add(&fb_helper->client);
-
+	if (!preferred_bpp)
+		preferred_bpp = dev->mode_config.preferred_depth;
+	if (!preferred_bpp)
+		preferred_bpp = 32;
 	fb_helper->preferred_bpp = preferred_bpp;
 
 	drm_fbdev_client_hotplug(&fb_helper->client);
 
+	drm_client_add(&fb_helper->client);
+
 	return 0;
 }
 EXPORT_SYMBOL(drm_fbdev_generic_setup);
diff --git a/drivers/gpu/drm/drm_rect.c b/drivers/gpu/drm/drm_rect.c
index 8c05782..0f5a0c6 100644
--- a/drivers/gpu/drm/drm_rect.c
+++ b/drivers/gpu/drm/drm_rect.c
@@ -52,7 +52,12 @@
 
 static u32 clip_scaled(u32 src, u32 dst, u32 clip)
 {
-	u64 tmp = mul_u32_u32(src, dst - clip);
+	u64 tmp;
+
+	if (dst == 0)
+		return 0;
+
+	tmp = mul_u32_u32(src, dst - clip);
 
 	/*
 	 * Round toward 1.0 when clipping so that we don't accidentally
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_dump.c b/drivers/gpu/drm/etnaviv/etnaviv_dump.c
index 468dff2..9d839b4 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_dump.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_dump.c
@@ -217,7 +217,7 @@
 		mutex_lock(&obj->lock);
 		pages = etnaviv_gem_get_pages(obj);
 		mutex_unlock(&obj->lock);
-		if (pages) {
+		if (!IS_ERR(pages)) {
 			int j;
 
 			iter.hdr->data[0] = bomap - bomap_start;
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c b/drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c
index 0566171..f21529e 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c
@@ -15,7 +15,7 @@
 	int npages = obj->size >> PAGE_SHIFT;
 
 	if (WARN_ON(!etnaviv_obj->pages))  /* should have already pinned! */
-		return NULL;
+		return ERR_PTR(-EINVAL);
 
 	return drm_prime_pages_to_sg(etnaviv_obj->pages, npages);
 }
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_perfmon.c b/drivers/gpu/drm/etnaviv/etnaviv_perfmon.c
index 9980d81..4227a40 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_perfmon.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_perfmon.c
@@ -113,7 +113,7 @@
 		.name = "PE",
 		.profile_read = VIVS_MC_PROFILE_PE_READ,
 		.profile_config = VIVS_MC_PROFILE_CONFIG0,
-		.nr_signals = 5,
+		.nr_signals = 4,
 		.signal = (const struct etnaviv_pm_signal[]) {
 			{
 				"PIXEL_COUNT_KILLED_BY_COLOR_PIPE",
@@ -435,7 +435,7 @@
 
 	dom = meta->domains + signal->domain;
 
-	if (signal->iter > dom->nr_signals)
+	if (signal->iter >= dom->nr_signals)
 		return -EINVAL;
 
 	sig = &dom->signal[signal->iter];
@@ -461,7 +461,7 @@
 
 	dom = meta->domains + r->domain;
 
-	if (r->signal > dom->nr_signals)
+	if (r->signal >= dom->nr_signals)
 		return -EINVAL;
 
 	return 0;
diff --git a/drivers/gpu/drm/gma500/framebuffer.c b/drivers/gpu/drm/gma500/framebuffer.c
index adefae5..b4035ef 100644
--- a/drivers/gpu/drm/gma500/framebuffer.c
+++ b/drivers/gpu/drm/gma500/framebuffer.c
@@ -480,6 +480,7 @@
 		container_of(helper, struct psb_fbdev, psb_fb_helper);
 	struct drm_device *dev = psb_fbdev->psb_fb_helper.dev;
 	struct drm_psb_private *dev_priv = dev->dev_private;
+	unsigned int fb_size;
 	int bytespp;
 
 	bytespp = sizes->surface_bpp / 8;
@@ -489,8 +490,11 @@
 	/* If the mode will not fit in 32bit then switch to 16bit to get
 	   a console on full resolution. The X mode setting server will
 	   allocate its own 32bit GEM framebuffer */
-	if (ALIGN(sizes->fb_width * bytespp, 64) * sizes->fb_height >
-	                dev_priv->vram_stolen_size) {
+	fb_size = ALIGN(sizes->surface_width * bytespp, 64) *
+		  sizes->surface_height;
+	fb_size = ALIGN(fb_size, PAGE_SIZE);
+
+	if (fb_size > dev_priv->vram_stolen_size) {
                 sizes->surface_bpp = 16;
                 sizes->surface_depth = 16;
         }
diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_fbdev.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_fbdev.c
index 8bd2907..edcca17 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_fbdev.c
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_fbdev.c
@@ -71,7 +71,6 @@
 	DRM_DEBUG_DRIVER("surface width(%d), height(%d) and bpp(%d)\n",
 			 sizes->surface_width, sizes->surface_height,
 			 sizes->surface_bpp);
-	sizes->surface_depth = 32;
 
 	bytes_per_pixel = DIV_ROUND_UP(sizes->surface_bpp, 8);
 
diff --git a/drivers/gpu/drm/i915/gvt/dmabuf.c b/drivers/gpu/drm/i915/gvt/dmabuf.c
index 51ed99a..6053f5a 100644
--- a/drivers/gpu/drm/i915/gvt/dmabuf.c
+++ b/drivers/gpu/drm/i915/gvt/dmabuf.c
@@ -95,12 +95,12 @@
 			dmabuf_obj = container_of(pos,
 					struct intel_vgpu_dmabuf_obj, list);
 			if (dmabuf_obj == obj) {
+				list_del(pos);
 				intel_gvt_hypervisor_put_vfio_device(vgpu);
 				idr_remove(&vgpu->object_idr,
 					   dmabuf_obj->dmabuf_id);
 				kfree(dmabuf_obj->info);
 				kfree(dmabuf_obj);
-				list_del(pos);
 				break;
 			}
 		}
diff --git a/drivers/gpu/drm/i915/gvt/vgpu.c b/drivers/gpu/drm/i915/gvt/vgpu.c
index c628be0..69bba88 100644
--- a/drivers/gpu/drm/i915/gvt/vgpu.c
+++ b/drivers/gpu/drm/i915/gvt/vgpu.c
@@ -556,9 +556,9 @@
 
 		intel_vgpu_reset_mmio(vgpu, dmlr);
 		populate_pvinfo_page(vgpu);
-		intel_vgpu_reset_display(vgpu);
 
 		if (dmlr) {
+			intel_vgpu_reset_display(vgpu);
 			intel_vgpu_reset_cfg_space(vgpu);
 			/* only reset the failsafe mode when dmlr reset */
 			vgpu->failsafe = false;
diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c
index 7a0e6db..ef383fd 100644
--- a/drivers/gpu/drm/i915/i915_gem_context.c
+++ b/drivers/gpu/drm/i915/i915_gem_context.c
@@ -770,18 +770,19 @@
 	if (args->ctx_id == DEFAULT_CONTEXT_HANDLE)
 		return -ENOENT;
 
-	ctx = i915_gem_context_lookup(file_priv, args->ctx_id);
-	if (!ctx)
-		return -ENOENT;
-
-	ret = mutex_lock_interruptible(&dev->struct_mutex);
+	ret = i915_mutex_lock_interruptible(dev);
 	if (ret)
-		goto out;
+		return ret;
+
+	ctx = i915_gem_context_lookup(file_priv, args->ctx_id);
+	if (!ctx) {
+		mutex_unlock(&dev->struct_mutex);
+		return -ENOENT;
+	}
 
 	__destroy_hw_context(ctx, file_priv);
 	mutex_unlock(&dev->struct_mutex);
 
-out:
 	i915_gem_context_put(ctx);
 	return 0;
 }
diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
index 6937ef0b..13e97fa 100644
--- a/drivers/gpu/drm/i915/intel_lrc.c
+++ b/drivers/gpu/drm/i915/intel_lrc.c
@@ -1562,6 +1562,15 @@
 	/* WaFlushCoherentL3CacheLinesAtContextSwitch:skl,bxt,glk */
 	batch = gen8_emit_flush_coherentl3_wa(engine, batch);
 
+	/* WaClearSlmSpaceAtContextSwitch:skl,bxt,kbl,glk,cfl */
+	batch = gen8_emit_pipe_control(batch,
+				       PIPE_CONTROL_FLUSH_L3 |
+				       PIPE_CONTROL_GLOBAL_GTT_IVB |
+				       PIPE_CONTROL_CS_STALL |
+				       PIPE_CONTROL_QW_WRITE,
+				       i915_ggtt_offset(engine->scratch) +
+				       2 * CACHELINE_BYTES);
+
 	batch = emit_lri(batch, lri, ARRAY_SIZE(lri));
 
 	/* WaClearSlmSpaceAtContextSwitch:kbl */
diff --git a/drivers/gpu/drm/i915/selftests/i915_random.h b/drivers/gpu/drm/i915/selftests/i915_random.h
index 7dffedc..faaa350 100644
--- a/drivers/gpu/drm/i915/selftests/i915_random.h
+++ b/drivers/gpu/drm/i915/selftests/i915_random.h
@@ -25,6 +25,7 @@
 #ifndef __I915_SELFTESTS_RANDOM_H__
 #define __I915_SELFTESTS_RANDOM_H__
 
+#include <linux/math64.h>
 #include <linux/random.h>
 
 #include "../i915_selftest.h"
diff --git a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
index 92ecb9b..b86ee7d 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
@@ -308,6 +308,7 @@
 static void mtk_crtc_ddp_hw_fini(struct mtk_drm_crtc *mtk_crtc)
 {
 	struct drm_device *drm = mtk_crtc->base.dev;
+	struct drm_crtc *crtc = &mtk_crtc->base;
 	int i;
 
 	DRM_DEBUG_DRIVER("%s\n", __func__);
@@ -329,6 +330,13 @@
 	mtk_disp_mutex_unprepare(mtk_crtc->mutex);
 
 	pm_runtime_put(drm->dev);
+
+	if (crtc->state->event && !crtc->state->active) {
+		spin_lock_irq(&crtc->dev->event_lock);
+		drm_crtc_send_vblank_event(crtc, crtc->state->event);
+		crtc->state->event = NULL;
+		spin_unlock_irq(&crtc->dev->event_lock);
+	}
 }
 
 static void mtk_crtc_ddp_config(struct drm_crtc *crtc)
diff --git a/drivers/gpu/drm/msm/Kconfig b/drivers/gpu/drm/msm/Kconfig
index 843a9d4..db7a1d5 100644
--- a/drivers/gpu/drm/msm/Kconfig
+++ b/drivers/gpu/drm/msm/Kconfig
@@ -12,11 +12,11 @@
 	select SHMEM
 	select TMPFS
 	select QCOM_SCM
+	select QCOM_COMMAND_DB if ARCH_QCOM
 	select WANT_DEV_COREDUMP
 	select SND_SOC_HDMI_CODEC if SND_SOC
 	select SYNC_FILE
 	select PM_OPP
-	default y
 	help
 	  DRM/KMS driver for MSM/snapdragon.
 
diff --git a/drivers/gpu/drm/msm/adreno/a3xx_gpu.c b/drivers/gpu/drm/msm/adreno/a3xx_gpu.c
index 669c2d4..5c06830 100644
--- a/drivers/gpu/drm/msm/adreno/a3xx_gpu.c
+++ b/drivers/gpu/drm/msm/adreno/a3xx_gpu.c
@@ -395,19 +395,17 @@
 	0x2200, 0x2212, 0x2214, 0x2217, 0x221a, 0x221a, 0x2240, 0x227e,
 	0x2280, 0x228b, 0x22c0, 0x22c0, 0x22c4, 0x22ce, 0x22d0, 0x22d8,
 	0x22df, 0x22e6, 0x22e8, 0x22e9, 0x22ec, 0x22ec, 0x22f0, 0x22f7,
-	0x22ff, 0x22ff, 0x2340, 0x2343, 0x2348, 0x2349, 0x2350, 0x2356,
-	0x2360, 0x2360, 0x2440, 0x2440, 0x2444, 0x2444, 0x2448, 0x244d,
-	0x2468, 0x2469, 0x246c, 0x246d, 0x2470, 0x2470, 0x2472, 0x2472,
-	0x2474, 0x2475, 0x2479, 0x247a, 0x24c0, 0x24d3, 0x24e4, 0x24ef,
-	0x2500, 0x2509, 0x250c, 0x250c, 0x250e, 0x250e, 0x2510, 0x2511,
-	0x2514, 0x2515, 0x25e4, 0x25e4, 0x25ea, 0x25ea, 0x25ec, 0x25ed,
-	0x25f0, 0x25f0, 0x2600, 0x2612, 0x2614, 0x2617, 0x261a, 0x261a,
-	0x2640, 0x267e, 0x2680, 0x268b, 0x26c0, 0x26c0, 0x26c4, 0x26ce,
-	0x26d0, 0x26d8, 0x26df, 0x26e6, 0x26e8, 0x26e9, 0x26ec, 0x26ec,
-	0x26f0, 0x26f7, 0x26ff, 0x26ff, 0x2740, 0x2743, 0x2748, 0x2749,
-	0x2750, 0x2756, 0x2760, 0x2760, 0x300c, 0x300e, 0x301c, 0x301d,
-	0x302a, 0x302a, 0x302c, 0x302d, 0x3030, 0x3031, 0x3034, 0x3036,
-	0x303c, 0x303c, 0x305e, 0x305f,
+	0x22ff, 0x22ff, 0x2340, 0x2343, 0x2440, 0x2440, 0x2444, 0x2444,
+	0x2448, 0x244d, 0x2468, 0x2469, 0x246c, 0x246d, 0x2470, 0x2470,
+	0x2472, 0x2472, 0x2474, 0x2475, 0x2479, 0x247a, 0x24c0, 0x24d3,
+	0x24e4, 0x24ef, 0x2500, 0x2509, 0x250c, 0x250c, 0x250e, 0x250e,
+	0x2510, 0x2511, 0x2514, 0x2515, 0x25e4, 0x25e4, 0x25ea, 0x25ea,
+	0x25ec, 0x25ed, 0x25f0, 0x25f0, 0x2600, 0x2612, 0x2614, 0x2617,
+	0x261a, 0x261a, 0x2640, 0x267e, 0x2680, 0x268b, 0x26c0, 0x26c0,
+	0x26c4, 0x26ce, 0x26d0, 0x26d8, 0x26df, 0x26e6, 0x26e8, 0x26e9,
+	0x26ec, 0x26ec, 0x26f0, 0x26f7, 0x26ff, 0x26ff, 0x2740, 0x2743,
+	0x300c, 0x300e, 0x301c, 0x301d, 0x302a, 0x302a, 0x302c, 0x302d,
+	0x3030, 0x3031, 0x3034, 0x3036, 0x303c, 0x303c, 0x305e, 0x305f,
 	~0   /* sentinel */
 };
 
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.c
index 06be7cf..79bafea 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.c
@@ -310,7 +310,7 @@
 	u32 mixercfg = 0, mixercfg_ext = 0, mix, ext;
 	u32 mixercfg_ext2 = 0, mixercfg_ext3 = 0;
 	int i, j;
-	u8 stages;
+	int stages;
 	int pipes_per_stage;
 
 	stages = _mixer_stages(ctx->mixer_hw_caps, ctx->mixer_count, lm);
diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_dsi_encoder.c b/drivers/gpu/drm/msm/disp/mdp4/mdp4_dsi_encoder.c
index 6a1ebda..6253717 100644
--- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_dsi_encoder.c
+++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_dsi_encoder.c
@@ -139,7 +139,7 @@
 	if (mdp4_dsi_encoder->enabled)
 		return;
 
-	 mdp4_crtc_set_config(encoder->crtc,
+	mdp4_crtc_set_config(encoder->crtc,
 			MDP4_DMA_CONFIG_PACK_ALIGN_MSB |
 			MDP4_DMA_CONFIG_DEFLKR_EN |
 			MDP4_DMA_CONFIG_DITHER_EN |
diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c b/drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c
index 824067d..42f0ecb 100644
--- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c
+++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c
@@ -635,7 +635,7 @@
 	if (cfg_handler)
 		mdp5_cfg_destroy(cfg_handler);
 
-	return NULL;
+	return ERR_PTR(ret);
 }
 
 static struct mdp5_cfg_platform *mdp5_get_config(struct platform_device *dev)
diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c b/drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c
index b1da9ce..aa28a43 100644
--- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c
+++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c
@@ -1118,8 +1118,8 @@
 	ret = wait_for_completion_timeout(&mdp5_crtc->pp_completion,
 						msecs_to_jiffies(50));
 	if (ret == 0)
-		dev_warn(dev->dev, "pp done time out, lm=%d\n",
-			 mdp5_cstate->pipeline.mixer->lm);
+		dev_warn_ratelimited(dev->dev, "pp done time out, lm=%d\n",
+				     mdp5_cstate->pipeline.mixer->lm);
 }
 
 static void mdp5_crtc_wait_for_flush_done(struct drm_crtc *crtc)
diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c b/drivers/gpu/drm/msm/dsi/dsi_host.c
index cc4ea55..3b78bca 100644
--- a/drivers/gpu/drm/msm/dsi/dsi_host.c
+++ b/drivers/gpu/drm/msm/dsi/dsi_host.c
@@ -34,6 +34,8 @@
 #include "dsi_cfg.h"
 #include "msm_kms.h"
 
+#define DSI_RESET_TOGGLE_DELAY_MS 20
+
 static int dsi_get_version(const void __iomem *base, u32 *major, u32 *minor)
 {
 	u32 ver;
@@ -994,7 +996,7 @@
 	wmb(); /* clocks need to be enabled before reset */
 
 	dsi_write(msm_host, REG_DSI_RESET, 1);
-	wmb(); /* make sure reset happen */
+	msleep(DSI_RESET_TOGGLE_DELAY_MS); /* make sure reset happen */
 	dsi_write(msm_host, REG_DSI_RESET, 0);
 }
 
@@ -1402,7 +1404,7 @@
 
 	/* dsi controller can only be reset while clocks are running */
 	dsi_write(msm_host, REG_DSI_RESET, 1);
-	wmb();	/* make sure reset happen */
+	msleep(DSI_RESET_TOGGLE_DELAY_MS); /* make sure reset happen */
 	dsi_write(msm_host, REG_DSI_RESET, 0);
 	wmb();	/* controller out of reset */
 	dsi_write(msm_host, REG_DSI_CTRL, data0);
diff --git a/drivers/gpu/drm/msm/dsi/dsi_manager.c b/drivers/gpu/drm/msm/dsi/dsi_manager.c
index 5224010..b01762a 100644
--- a/drivers/gpu/drm/msm/dsi/dsi_manager.c
+++ b/drivers/gpu/drm/msm/dsi/dsi_manager.c
@@ -328,7 +328,7 @@
 	return num;
 }
 
-static int dsi_mgr_connector_mode_valid(struct drm_connector *connector,
+static enum drm_mode_status dsi_mgr_connector_mode_valid(struct drm_connector *connector,
 				struct drm_display_mode *mode)
 {
 	int id = dsi_mgr_connector_get_id(connector);
@@ -471,6 +471,7 @@
 	struct msm_dsi *msm_dsi1 = dsi_mgr_get_dsi(DSI_1);
 	struct mipi_dsi_host *host = msm_dsi->host;
 	struct drm_panel *panel = msm_dsi->panel;
+	struct msm_dsi_pll *src_pll;
 	bool is_dual_dsi = IS_DUAL_DSI();
 	int ret;
 
@@ -511,6 +512,10 @@
 								id, ret);
 	}
 
+	/* Save PLL status if it is a clock source */
+	src_pll = msm_dsi_phy_get_pll(msm_dsi->phy);
+	msm_dsi_pll_save_state(src_pll);
+
 	ret = msm_dsi_host_power_off(host);
 	if (ret)
 		pr_err("%s: host %d power off failed,%d\n", __func__, id, ret);
diff --git a/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c b/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
index 9a9fa0c..c630871 100644
--- a/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
+++ b/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c
@@ -726,10 +726,6 @@
 	if (!phy || !phy->cfg->ops.disable)
 		return;
 
-	/* Save PLL status if it is a clock source */
-	if (phy->usecase != MSM_DSI_PHY_SLAVE)
-		msm_dsi_pll_save_state(phy->pll);
-
 	phy->cfg->ops.disable(phy);
 
 	dsi_phy_regulator_disable(phy);
diff --git a/drivers/gpu/drm/msm/dsi/pll/dsi_pll_10nm.c b/drivers/gpu/drm/msm/dsi/pll/dsi_pll_10nm.c
index 3120562..21a69b0 100644
--- a/drivers/gpu/drm/msm/dsi/pll/dsi_pll_10nm.c
+++ b/drivers/gpu/drm/msm/dsi/pll/dsi_pll_10nm.c
@@ -406,6 +406,12 @@
 	if (pll_10nm->slave)
 		dsi_pll_enable_pll_bias(pll_10nm->slave);
 
+	rc = dsi_pll_10nm_vco_set_rate(hw,pll_10nm->vco_current_rate, 0);
+	if (rc) {
+		pr_err("vco_set_rate failed, rc=%d\n", rc);
+		return rc;
+	}
+
 	/* Start PLL */
 	pll_write(pll_10nm->phy_cmn_mmio + REG_DSI_10nm_PHY_CMN_PLL_CNTRL,
 		  0x01);
diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c
index 610139b..e4afdb9 100644
--- a/drivers/gpu/drm/msm/msm_drv.c
+++ b/drivers/gpu/drm/msm/msm_drv.c
@@ -494,6 +494,14 @@
 	if (ret)
 		goto err_msm_uninit;
 
+	if (!dev->dma_parms) {
+		dev->dma_parms = devm_kzalloc(dev, sizeof(*dev->dma_parms),
+					      GFP_KERNEL);
+		if (!dev->dma_parms)
+			return -ENOMEM;
+	}
+	dma_set_max_seg_size(dev, DMA_BIT_MASK(32));
+
 	msm_gem_shrinker_init(ddev);
 
 	switch (get_mdp_ver(pdev)) {
diff --git a/drivers/gpu/drm/nouveau/dispnv50/wndw.c b/drivers/gpu/drm/nouveau/dispnv50/wndw.c
index b3db455..d343ae6 100644
--- a/drivers/gpu/drm/nouveau/dispnv50/wndw.c
+++ b/drivers/gpu/drm/nouveau/dispnv50/wndw.c
@@ -405,6 +405,8 @@
 		asyw->clr.ntfy = armw->ntfy.handle != 0;
 		asyw->clr.sema = armw->sema.handle != 0;
 		asyw->clr.xlut = armw->xlut.handle != 0;
+		if (asyw->clr.xlut && asyw->visible)
+			asyw->set.xlut = asyw->xlut.handle != 0;
 		if (wndw->func->image_clr)
 			asyw->clr.image = armw->image.handle[0] != 0;
 	}
diff --git a/drivers/gpu/drm/nouveau/nouveau_abi16.c b/drivers/gpu/drm/nouveau/nouveau_abi16.c
index e67a471..6ec7458 100644
--- a/drivers/gpu/drm/nouveau/nouveau_abi16.c
+++ b/drivers/gpu/drm/nouveau/nouveau_abi16.c
@@ -214,6 +214,7 @@
 			WARN_ON(1);
 			break;
 		}
+		break;
 	case NOUVEAU_GETPARAM_FB_SIZE:
 		getparam->value = drm->gem.vram_available;
 		break;
diff --git a/drivers/gpu/drm/nouveau/nouveau_fence.c b/drivers/gpu/drm/nouveau/nouveau_fence.c
index 412d49b..ba3883a 100644
--- a/drivers/gpu/drm/nouveau/nouveau_fence.c
+++ b/drivers/gpu/drm/nouveau/nouveau_fence.c
@@ -157,7 +157,7 @@
 
 		fence = list_entry(fctx->pending.next, typeof(*fence), head);
 		chan = rcu_dereference_protected(fence->channel, lockdep_is_held(&fctx->lock));
-		if (nouveau_fence_update(fence->channel, fctx))
+		if (nouveau_fence_update(chan, fctx))
 			ret = NVIF_NOTIFY_DROP;
 	}
 	spin_unlock_irqrestore(&fctx->lock, flags);
diff --git a/drivers/gpu/drm/nouveau/nouveau_ttm.c b/drivers/gpu/drm/nouveau/nouveau_ttm.c
index e4b977c..37715a2 100644
--- a/drivers/gpu/drm/nouveau/nouveau_ttm.c
+++ b/drivers/gpu/drm/nouveau/nouveau_ttm.c
@@ -63,14 +63,12 @@
 {
 	struct nouveau_bo *nvbo = nouveau_bo(bo);
 	struct nouveau_drm *drm = nouveau_bdev(bo->bdev);
-	struct nouveau_mem *mem;
 	int ret;
 
 	if (drm->client.device.info.ram_size == 0)
 		return -ENOMEM;
 
 	ret = nouveau_mem_new(&drm->master, nvbo->kind, nvbo->comp, reg);
-	mem = nouveau_mem(reg);
 	if (ret)
 		return ret;
 
@@ -103,11 +101,9 @@
 {
 	struct nouveau_bo *nvbo = nouveau_bo(bo);
 	struct nouveau_drm *drm = nouveau_bdev(bo->bdev);
-	struct nouveau_mem *mem;
 	int ret;
 
 	ret = nouveau_mem_new(&drm->master, nvbo->kind, nvbo->comp, reg);
-	mem = nouveau_mem(reg);
 	if (ret)
 		return ret;
 
diff --git a/drivers/gpu/drm/nouveau/nvkm/core/memory.c b/drivers/gpu/drm/nouveau/nvkm/core/memory.c
index e85a08e..4cc1862 100644
--- a/drivers/gpu/drm/nouveau/nvkm/core/memory.c
+++ b/drivers/gpu/drm/nouveau/nvkm/core/memory.c
@@ -91,8 +91,8 @@
 	}
 
 	refcount_set(&tags->refcount, 1);
+	*ptags = memory->tags = tags;
 	mutex_unlock(&fb->subdev.mutex);
-	*ptags = tags;
 	return 0;
 }
 
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/channv50.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/channv50.c
index bcf32d9..50e3539 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/channv50.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/channv50.c
@@ -74,6 +74,8 @@
 
 	if (debug > subdev->debug)
 		return;
+	if (!mthd)
+		return;
 
 	for (i = 0; (list = mthd->data[i].mthd) != NULL; i++) {
 		u32 base = chan->head * mthd->addr;
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/gr/gk20a.c b/drivers/gpu/drm/nouveau/nvkm/engine/gr/gk20a.c
index 500cb08..b57ab5c 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/gr/gk20a.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/gr/gk20a.c
@@ -143,23 +143,24 @@
 
 	nent = (fuc.size / sizeof(struct gk20a_fw_av));
 
-	pack = vzalloc((sizeof(*pack) * max_classes) +
-		       (sizeof(*init) * (nent + 1)));
+	pack = vzalloc((sizeof(*pack) * (max_classes + 1)) +
+		       (sizeof(*init) * (nent + max_classes + 1)));
 	if (!pack) {
 		ret = -ENOMEM;
 		goto end;
 	}
 
-	init = (void *)(pack + max_classes);
+	init = (void *)(pack + max_classes + 1);
 
-	for (i = 0; i < nent; i++) {
-		struct gf100_gr_init *ent = &init[i];
+	for (i = 0; i < nent; i++, init++) {
 		struct gk20a_fw_av *av = &((struct gk20a_fw_av *)fuc.data)[i];
 		u32 class = av->addr & 0xffff;
 		u32 addr = (av->addr & 0xffff0000) >> 14;
 
 		if (prevclass != class) {
-			pack[classidx].init = ent;
+			if (prevclass) /* Add terminator to the method list. */
+				init++;
+			pack[classidx].init = init;
 			pack[classidx].type = class;
 			prevclass = class;
 			if (++classidx >= max_classes) {
@@ -169,10 +170,10 @@
 			}
 		}
 
-		ent->addr = addr;
-		ent->data = av->data;
-		ent->count = 1;
-		ent->pitch = 1;
+		init->addr = addr;
+		init->data = av->data;
+		init->count = 1;
+		init->pitch = 1;
 	}
 
 	*ppack = pack;
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/bar/gf100.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bar/gf100.c
index a3ba7f5..a3dcb09 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/bar/gf100.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/bar/gf100.c
@@ -94,6 +94,8 @@
 		return ret;
 
 	bar_len = device->func->resource_size(device, bar_nr);
+	if (!bar_len)
+		return -ENOMEM;
 	if (bar_nr == 3 && bar->bar2_halve)
 		bar_len >>= 1;
 
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/bar/nv50.c b/drivers/gpu/drm/nouveau/nvkm/subdev/bar/nv50.c
index 38c9c08..f23a0cc 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/bar/nv50.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/bar/nv50.c
@@ -174,6 +174,8 @@
 
 	ret = nvkm_vmm_new(device, start, limit-- - start, NULL, 0,
 			   &bar1_lock, "bar1", &bar->bar1_vmm);
+	if (ret)
+		return ret;
 
 	atomic_inc(&bar->bar1_vmm->engref[NVKM_SUBDEV_BAR]);
 	bar->bar1_vmm->debug = bar->base.subdev.debug;
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/fault/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fault/base.c
index 16ad91c..f18ce6f 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/fault/base.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/fault/base.c
@@ -150,6 +150,7 @@
 	struct nvkm_fault *fault = nvkm_fault(subdev);
 	int i;
 
+	nvkm_notify_fini(&fault->nrpfb);
 	nvkm_event_fini(&fault->event);
 
 	for (i = 0; i < fault->buffer_nr; i++) {
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/fb/gddr3.c b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/gddr3.c
index 60ece0a..1d2d6ba 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/fb/gddr3.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/fb/gddr3.c
@@ -87,7 +87,7 @@
 		WR  = (ram->next->bios.timing[2] & 0x007f0000) >> 16;
 		/* XXX: Get these values from the VBIOS instead */
 		DLL = !(ram->mr[1] & 0x1);
-		RON = !(ram->mr[1] & 0x300) >> 8;
+		RON = !((ram->mr[1] & 0x300) >> 8);
 		break;
 	default:
 		return -ENOSYS;
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c
index 7459def..5f8b8b3 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c
@@ -1423,7 +1423,7 @@
 void
 nvkm_vmm_part(struct nvkm_vmm *vmm, struct nvkm_memory *inst)
 {
-	if (inst && vmm->func->part) {
+	if (inst && vmm && vmm->func->part) {
 		mutex_lock(&vmm->mutex);
 		vmm->func->part(vmm, inst);
 		mutex_unlock(&vmm->mutex);
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/memx.c b/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/memx.c
index 11b28b0..7b05287 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/memx.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/memx.c
@@ -88,10 +88,10 @@
 	if (exec) {
 		nvkm_pmu_send(pmu, reply, PROC_MEMX, MEMX_MSG_EXEC,
 			      memx->base, finish);
+		nvkm_debug(subdev, "Exec took %uns, PMU_IN %08x\n",
+			   reply[0], reply[1]);
 	}
 
-	nvkm_debug(subdev, "Exec took %uns, PMU_IN %08x\n",
-		   reply[0], reply[1]);
 	kfree(memx);
 	return 0;
 }
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/secboot/gm20b.c b/drivers/gpu/drm/nouveau/nvkm/subdev/secboot/gm20b.c
index df8b919..ace6fef 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/secboot/gm20b.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/secboot/gm20b.c
@@ -108,6 +108,7 @@
 	struct gm200_secboot *gsb;
 	struct nvkm_acr *acr;
 
+	*psb = NULL;
 	acr = acr_r352_new(BIT(NVKM_SECBOOT_FALCON_FECS) |
 			   BIT(NVKM_SECBOOT_FALCON_PMU));
 	if (IS_ERR(acr))
@@ -116,10 +117,8 @@
 	acr->optional_falcons = BIT(NVKM_SECBOOT_FALCON_PMU);
 
 	gsb = kzalloc(sizeof(*gsb), GFP_KERNEL);
-	if (!gsb) {
-		psb = NULL;
+	if (!gsb)
 		return -ENOMEM;
-	}
 	*psb = &gsb->base;
 
 	ret = nvkm_secboot_ctor(&gm20b_secboot, acr, device, index, &gsb->base);
diff --git a/drivers/gpu/drm/panel/panel-lvds.c b/drivers/gpu/drm/panel/panel-lvds.c
index 8a16878..bd704a3 100644
--- a/drivers/gpu/drm/panel/panel-lvds.c
+++ b/drivers/gpu/drm/panel/panel-lvds.c
@@ -199,7 +199,6 @@
 static int panel_lvds_probe(struct platform_device *pdev)
 {
 	struct panel_lvds *lvds;
-	struct device_node *np;
 	int ret;
 
 	lvds = devm_kzalloc(&pdev->dev, sizeof(*lvds), GFP_KERNEL);
@@ -245,14 +244,9 @@
 		return ret;
 	}
 
-	np = of_parse_phandle(lvds->dev->of_node, "backlight", 0);
-	if (np) {
-		lvds->backlight = of_find_backlight_by_node(np);
-		of_node_put(np);
-
-		if (!lvds->backlight)
-			return -EPROBE_DEFER;
-	}
+	lvds->backlight = devm_of_find_backlight(lvds->dev);
+	if (IS_ERR(lvds->backlight))
+		return PTR_ERR(lvds->backlight);
 
 	/*
 	 * TODO: Handle all power supplies specified in the DT node in a generic
@@ -268,14 +262,10 @@
 
 	ret = drm_panel_add(&lvds->panel);
 	if (ret < 0)
-		goto error;
+		return ret;
 
 	dev_set_drvdata(lvds->dev, lvds);
 	return 0;
-
-error:
-	put_device(&lvds->backlight->dev);
-	return ret;
 }
 
 static int panel_lvds_remove(struct platform_device *pdev)
@@ -286,9 +276,6 @@
 
 	panel_lvds_disable(&lvds->panel);
 
-	if (lvds->backlight)
-		put_device(&lvds->backlight->dev);
-
 	return 0;
 }
 
diff --git a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c
index ebce460..827d551 100644
--- a/drivers/gpu/drm/radeon/cik.c
+++ b/drivers/gpu/drm/radeon/cik.c
@@ -6965,8 +6965,8 @@
 	}
 
 	/* setup interrupt control */
-	/* XXX this should actually be a bus address, not an MC address. same on older asics */
-	WREG32(INTERRUPT_CNTL2, rdev->ih.gpu_addr >> 8);
+	/* set dummy read address to dummy page address */
+	WREG32(INTERRUPT_CNTL2, rdev->dummy_page.addr >> 8);
 	interrupt_cntl = RREG32(INTERRUPT_CNTL);
 	/* IH_DUMMY_RD_OVERRIDE=0 - dummy read disabled with msi, enabled without msi
 	 * IH_DUMMY_RD_OVERRIDE=1 - dummy read controlled by IH_DUMMY_RD_EN
diff --git a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c
index e06e2d8..a724bb8 100644
--- a/drivers/gpu/drm/radeon/r600.c
+++ b/drivers/gpu/drm/radeon/r600.c
@@ -3690,8 +3690,8 @@
 	}
 
 	/* setup interrupt control */
-	/* set dummy read address to ring address */
-	WREG32(INTERRUPT_CNTL2, rdev->ih.gpu_addr >> 8);
+	/* set dummy read address to dummy page address */
+	WREG32(INTERRUPT_CNTL2, rdev->dummy_page.addr >> 8);
 	interrupt_cntl = RREG32(INTERRUPT_CNTL);
 	/* IH_DUMMY_RD_OVERRIDE=0 - dummy read disabled with msi, enabled without msi
 	 * IH_DUMMY_RD_OVERRIDE=1 - dummy read controlled by IH_DUMMY_RD_EN
diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c
index d8e2d7b..7d1e14f 100644
--- a/drivers/gpu/drm/radeon/radeon_display.c
+++ b/drivers/gpu/drm/radeon/radeon_display.c
@@ -121,6 +121,8 @@
 
 	DRM_DEBUG_KMS("%d\n", radeon_crtc->crtc_id);
 
+	msleep(10);
+
 	WREG32(NI_INPUT_CSC_CONTROL + radeon_crtc->crtc_offset,
 	       (NI_INPUT_CSC_GRPH_MODE(NI_INPUT_CSC_BYPASS) |
 		NI_INPUT_CSC_OVL_MODE(NI_INPUT_CSC_BYPASS)));
diff --git a/drivers/gpu/drm/radeon/si.c b/drivers/gpu/drm/radeon/si.c
index 85c604d..639f069 100644
--- a/drivers/gpu/drm/radeon/si.c
+++ b/drivers/gpu/drm/radeon/si.c
@@ -5993,8 +5993,8 @@
 	}
 
 	/* setup interrupt control */
-	/* set dummy read address to ring address */
-	WREG32(INTERRUPT_CNTL2, rdev->ih.gpu_addr >> 8);
+	/* set dummy read address to dummy page address */
+	WREG32(INTERRUPT_CNTL2, rdev->dummy_page.addr >> 8);
 	interrupt_cntl = RREG32(INTERRUPT_CNTL);
 	/* IH_DUMMY_RD_OVERRIDE=0 - dummy read disabled with msi, enabled without msi
 	 * IH_DUMMY_RD_OVERRIDE=1 - dummy read controlled by IH_DUMMY_RD_EN
diff --git a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
index 15dc9ca..212e5e1 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
@@ -837,7 +837,7 @@
 	drm_modeset_drop_locks(&ctx);
 	drm_modeset_acquire_fini(&ctx);
 
-	return 0;
+	return ret;
 }
 
 static const struct drm_crtc_funcs crtc_funcs_gen2 = {
diff --git a/drivers/gpu/drm/rcar-du/rcar_du_kms.c b/drivers/gpu/drm/rcar-du/rcar_du_kms.c
index 0386b45..6a95781 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_kms.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_kms.c
@@ -544,7 +544,7 @@
 	 * Initialize vertical blanking interrupts handling. Start with vblank
 	 * disabled for all CRTCs.
 	 */
-	ret = drm_vblank_init(dev, (1 << rcdu->num_crtcs) - 1);
+	ret = drm_vblank_init(dev, rcdu->num_crtcs);
 	if (ret < 0)
 		return ret;
 
diff --git a/drivers/gpu/drm/rcar-du/rcar_lvds.c b/drivers/gpu/drm/rcar-du/rcar_lvds.c
index 4c39de3..b6dc91c 100644
--- a/drivers/gpu/drm/rcar-du/rcar_lvds.c
+++ b/drivers/gpu/drm/rcar-du/rcar_lvds.c
@@ -59,11 +59,11 @@
 	enum rcar_lvds_mode mode;
 };
 
-#define bridge_to_rcar_lvds(bridge) \
-	container_of(bridge, struct rcar_lvds, bridge)
+#define bridge_to_rcar_lvds(b) \
+	container_of(b, struct rcar_lvds, bridge)
 
-#define connector_to_rcar_lvds(connector) \
-	container_of(connector, struct rcar_lvds, connector)
+#define connector_to_rcar_lvds(c) \
+	container_of(c, struct rcar_lvds, connector)
 
 static void rcar_lvds_write(struct rcar_lvds *lvds, u32 reg, u32 data)
 {
diff --git a/drivers/gpu/drm/shmobile/shmob_drm_drv.c b/drivers/gpu/drm/shmobile/shmob_drm_drv.c
index 5925725..58d8a98 100644
--- a/drivers/gpu/drm/shmobile/shmob_drm_drv.c
+++ b/drivers/gpu/drm/shmobile/shmob_drm_drv.c
@@ -233,8 +233,8 @@
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	sdev->mmio = devm_ioremap_resource(&pdev->dev, res);
-	if (sdev->mmio == NULL)
-		return -ENOMEM;
+	if (IS_ERR(sdev->mmio))
+		return PTR_ERR(sdev->mmio);
 
 	ret = shmob_drm_setup_clocks(sdev, pdata->clk_source);
 	if (ret < 0)
diff --git a/drivers/gpu/drm/sti/sti_hda.c b/drivers/gpu/drm/sti/sti_hda.c
index 4943833..19b9b5e 100644
--- a/drivers/gpu/drm/sti/sti_hda.c
+++ b/drivers/gpu/drm/sti/sti_hda.c
@@ -721,7 +721,6 @@
 	return 0;
 
 err_sysfs:
-	drm_bridge_remove(bridge);
 	return -EINVAL;
 }
 
diff --git a/drivers/gpu/drm/sti/sti_hdmi.c b/drivers/gpu/drm/sti/sti_hdmi.c
index 34cdc46..ccf7184 100644
--- a/drivers/gpu/drm/sti/sti_hdmi.c
+++ b/drivers/gpu/drm/sti/sti_hdmi.c
@@ -1315,7 +1315,6 @@
 	return 0;
 
 err_sysfs:
-	drm_bridge_remove(bridge);
 	hdmi->drm_connector = NULL;
 	return -EINVAL;
 }
diff --git a/drivers/gpu/drm/sun4i/sun4i_hdmi_tmds_clk.c b/drivers/gpu/drm/sun4i/sun4i_hdmi_tmds_clk.c
index 3ecffa5..a74adec 100644
--- a/drivers/gpu/drm/sun4i/sun4i_hdmi_tmds_clk.c
+++ b/drivers/gpu/drm/sun4i/sun4i_hdmi_tmds_clk.c
@@ -52,7 +52,7 @@
 			    (rate - tmp_rate) < (rate - best_rate)) {
 				best_rate = tmp_rate;
 				best_m = m;
-				is_double = d;
+				is_double = (d == 2) ? true : false;
 			}
 		}
 	}
diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.c b/drivers/gpu/drm/sun4i/sun4i_tcon.c
index fda1ae1..113c032 100644
--- a/drivers/gpu/drm/sun4i/sun4i_tcon.c
+++ b/drivers/gpu/drm/sun4i/sun4i_tcon.c
@@ -423,7 +423,7 @@
 
 	WARN_ON(!tcon->quirks->has_channel_0);
 
-	tcon->dclk_min_div = 1;
+	tcon->dclk_min_div = tcon->quirks->dclk_min_div;
 	tcon->dclk_max_div = 127;
 	sun4i_tcon0_mode_set_common(tcon, mode);
 
@@ -1249,12 +1249,14 @@
 static const struct sun4i_tcon_quirks sun4i_a10_quirks = {
 	.has_channel_0		= true,
 	.has_channel_1		= true,
+	.dclk_min_div		= 4,
 	.set_mux		= sun4i_a10_tcon_set_mux,
 };
 
 static const struct sun4i_tcon_quirks sun5i_a13_quirks = {
 	.has_channel_0		= true,
 	.has_channel_1		= true,
+	.dclk_min_div		= 4,
 	.set_mux		= sun5i_a13_tcon_set_mux,
 };
 
@@ -1263,6 +1265,7 @@
 	.has_channel_1		= true,
 	.has_lvds_alt		= true,
 	.needs_de_be_mux	= true,
+	.dclk_min_div		= 1,
 	.set_mux		= sun6i_tcon_set_mux,
 };
 
@@ -1270,11 +1273,13 @@
 	.has_channel_0		= true,
 	.has_channel_1		= true,
 	.needs_de_be_mux	= true,
+	.dclk_min_div		= 1,
 };
 
 static const struct sun4i_tcon_quirks sun7i_a20_quirks = {
 	.has_channel_0		= true,
 	.has_channel_1		= true,
+	.dclk_min_div		= 4,
 	/* Same display pipeline structure as A10 */
 	.set_mux		= sun4i_a10_tcon_set_mux,
 };
@@ -1282,11 +1287,13 @@
 static const struct sun4i_tcon_quirks sun8i_a33_quirks = {
 	.has_channel_0		= true,
 	.has_lvds_alt		= true,
+	.dclk_min_div		= 1,
 };
 
 static const struct sun4i_tcon_quirks sun8i_a83t_lcd_quirks = {
 	.supports_lvds		= true,
 	.has_channel_0		= true,
+	.dclk_min_div		= 1,
 };
 
 static const struct sun4i_tcon_quirks sun8i_a83t_tv_quirks = {
@@ -1295,11 +1302,13 @@
 
 static const struct sun4i_tcon_quirks sun8i_v3s_quirks = {
 	.has_channel_0		= true,
+	.dclk_min_div		= 1,
 };
 
 static const struct sun4i_tcon_quirks sun9i_a80_tcon_lcd_quirks = {
-	.has_channel_0	= true,
-	.needs_edp_reset = true,
+	.has_channel_0		= true,
+	.needs_edp_reset	= true,
+	.dclk_min_div		= 1,
 };
 
 static const struct sun4i_tcon_quirks sun9i_a80_tcon_tv_quirks = {
diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.h b/drivers/gpu/drm/sun4i/sun4i_tcon.h
index f6a071c..e05db6b 100644
--- a/drivers/gpu/drm/sun4i/sun4i_tcon.h
+++ b/drivers/gpu/drm/sun4i/sun4i_tcon.h
@@ -224,6 +224,7 @@
 	bool	needs_de_be_mux; /* sun6i needs mux to select backend */
 	bool    needs_edp_reset; /* a80 edp reset needed for tcon0 access */
 	bool	supports_lvds;   /* Does the TCON support an LVDS output? */
+	u8	dclk_min_div;	/* minimum divider for TCON0 DCLK */
 
 	/* callback to handle tcon muxing options */
 	int	(*set_mux)(struct sun4i_tcon *, const struct drm_encoder *);
diff --git a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c
index 97a0573..79eb11c 100644
--- a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c
+++ b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c
@@ -357,8 +357,7 @@
 static u16 sun6i_dsi_get_video_start_delay(struct sun6i_dsi *dsi,
 					   struct drm_display_mode *mode)
 {
-	u16 start = clamp(mode->vtotal - mode->vdisplay - 10, 8, 100);
-	u16 delay = mode->vtotal - (mode->vsync_end - mode->vdisplay) + start;
+	u16 delay = mode->vtotal - (mode->vsync_end - mode->vdisplay) + 1;
 
 	if (delay > mode->vtotal)
 		delay = delay % mode->vtotal;
diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.c b/drivers/gpu/drm/sun4i/sun8i_mixer.c
index cb65b0e..71a798e5 100644
--- a/drivers/gpu/drm/sun4i/sun8i_mixer.c
+++ b/drivers/gpu/drm/sun4i/sun8i_mixer.c
@@ -111,48 +111,104 @@
 		.csc = SUN8I_CSC_MODE_OFF,
 	},
 	{
+		/* for DE2 VI layer which ignores alpha */
+		.drm_fmt = DRM_FORMAT_XRGB4444,
+		.de2_fmt = SUN8I_MIXER_FBFMT_ARGB4444,
+		.rgb = true,
+		.csc = SUN8I_CSC_MODE_OFF,
+	},
+	{
 		.drm_fmt = DRM_FORMAT_ABGR4444,
 		.de2_fmt = SUN8I_MIXER_FBFMT_ABGR4444,
 		.rgb = true,
 		.csc = SUN8I_CSC_MODE_OFF,
 	},
 	{
+		/* for DE2 VI layer which ignores alpha */
+		.drm_fmt = DRM_FORMAT_XBGR4444,
+		.de2_fmt = SUN8I_MIXER_FBFMT_ABGR4444,
+		.rgb = true,
+		.csc = SUN8I_CSC_MODE_OFF,
+	},
+	{
 		.drm_fmt = DRM_FORMAT_RGBA4444,
 		.de2_fmt = SUN8I_MIXER_FBFMT_RGBA4444,
 		.rgb = true,
 		.csc = SUN8I_CSC_MODE_OFF,
 	},
 	{
+		/* for DE2 VI layer which ignores alpha */
+		.drm_fmt = DRM_FORMAT_RGBX4444,
+		.de2_fmt = SUN8I_MIXER_FBFMT_RGBA4444,
+		.rgb = true,
+		.csc = SUN8I_CSC_MODE_OFF,
+	},
+	{
 		.drm_fmt = DRM_FORMAT_BGRA4444,
 		.de2_fmt = SUN8I_MIXER_FBFMT_BGRA4444,
 		.rgb = true,
 		.csc = SUN8I_CSC_MODE_OFF,
 	},
 	{
+		/* for DE2 VI layer which ignores alpha */
+		.drm_fmt = DRM_FORMAT_BGRX4444,
+		.de2_fmt = SUN8I_MIXER_FBFMT_BGRA4444,
+		.rgb = true,
+		.csc = SUN8I_CSC_MODE_OFF,
+	},
+	{
 		.drm_fmt = DRM_FORMAT_ARGB1555,
 		.de2_fmt = SUN8I_MIXER_FBFMT_ARGB1555,
 		.rgb = true,
 		.csc = SUN8I_CSC_MODE_OFF,
 	},
 	{
+		/* for DE2 VI layer which ignores alpha */
+		.drm_fmt = DRM_FORMAT_XRGB1555,
+		.de2_fmt = SUN8I_MIXER_FBFMT_ARGB1555,
+		.rgb = true,
+		.csc = SUN8I_CSC_MODE_OFF,
+	},
+	{
 		.drm_fmt = DRM_FORMAT_ABGR1555,
 		.de2_fmt = SUN8I_MIXER_FBFMT_ABGR1555,
 		.rgb = true,
 		.csc = SUN8I_CSC_MODE_OFF,
 	},
 	{
+		/* for DE2 VI layer which ignores alpha */
+		.drm_fmt = DRM_FORMAT_XBGR1555,
+		.de2_fmt = SUN8I_MIXER_FBFMT_ABGR1555,
+		.rgb = true,
+		.csc = SUN8I_CSC_MODE_OFF,
+	},
+	{
 		.drm_fmt = DRM_FORMAT_RGBA5551,
 		.de2_fmt = SUN8I_MIXER_FBFMT_RGBA5551,
 		.rgb = true,
 		.csc = SUN8I_CSC_MODE_OFF,
 	},
 	{
+		/* for DE2 VI layer which ignores alpha */
+		.drm_fmt = DRM_FORMAT_RGBX5551,
+		.de2_fmt = SUN8I_MIXER_FBFMT_RGBA5551,
+		.rgb = true,
+		.csc = SUN8I_CSC_MODE_OFF,
+	},
+	{
 		.drm_fmt = DRM_FORMAT_BGRA5551,
 		.de2_fmt = SUN8I_MIXER_FBFMT_BGRA5551,
 		.rgb = true,
 		.csc = SUN8I_CSC_MODE_OFF,
 	},
 	{
+		/* for DE2 VI layer which ignores alpha */
+		.drm_fmt = DRM_FORMAT_BGRX5551,
+		.de2_fmt = SUN8I_MIXER_FBFMT_BGRA5551,
+		.rgb = true,
+		.csc = SUN8I_CSC_MODE_OFF,
+	},
+	{
 		.drm_fmt = DRM_FORMAT_UYVY,
 		.de2_fmt = SUN8I_MIXER_FBFMT_UYVY,
 		.rgb = false,
@@ -201,12 +257,6 @@
 		.csc = SUN8I_CSC_MODE_YUV2RGB,
 	},
 	{
-		.drm_fmt = DRM_FORMAT_YUV444,
-		.de2_fmt = SUN8I_MIXER_FBFMT_RGB888,
-		.rgb = true,
-		.csc = SUN8I_CSC_MODE_YUV2RGB,
-	},
-	{
 		.drm_fmt = DRM_FORMAT_YUV422,
 		.de2_fmt = SUN8I_MIXER_FBFMT_YUV422,
 		.rgb = false,
@@ -225,12 +275,6 @@
 		.csc = SUN8I_CSC_MODE_YUV2RGB,
 	},
 	{
-		.drm_fmt = DRM_FORMAT_YVU444,
-		.de2_fmt = SUN8I_MIXER_FBFMT_RGB888,
-		.rgb = true,
-		.csc = SUN8I_CSC_MODE_YVU2RGB,
-	},
-	{
 		.drm_fmt = DRM_FORMAT_YVU422,
 		.de2_fmt = SUN8I_MIXER_FBFMT_YUV422,
 		.rgb = false,
diff --git a/drivers/gpu/drm/sun4i/sun8i_vi_layer.c b/drivers/gpu/drm/sun4i/sun8i_vi_layer.c
index f4fe978..15fc636 100644
--- a/drivers/gpu/drm/sun4i/sun8i_vi_layer.c
+++ b/drivers/gpu/drm/sun4i/sun8i_vi_layer.c
@@ -330,26 +330,26 @@
 };
 
 /*
- * While all RGB formats are supported, VI planes don't support
- * alpha blending, so there is no point having formats with alpha
- * channel if their opaque analog exist.
+ * While DE2 VI layer supports same RGB formats as UI layer, alpha
+ * channel is ignored. This structure lists all unique variants
+ * where alpha channel is replaced with "don't care" (X) channel.
  */
 static const u32 sun8i_vi_layer_formats[] = {
-	DRM_FORMAT_ABGR1555,
-	DRM_FORMAT_ABGR4444,
-	DRM_FORMAT_ARGB1555,
-	DRM_FORMAT_ARGB4444,
 	DRM_FORMAT_BGR565,
 	DRM_FORMAT_BGR888,
-	DRM_FORMAT_BGRA5551,
-	DRM_FORMAT_BGRA4444,
+	DRM_FORMAT_BGRX4444,
+	DRM_FORMAT_BGRX5551,
 	DRM_FORMAT_BGRX8888,
 	DRM_FORMAT_RGB565,
 	DRM_FORMAT_RGB888,
-	DRM_FORMAT_RGBA4444,
-	DRM_FORMAT_RGBA5551,
+	DRM_FORMAT_RGBX4444,
+	DRM_FORMAT_RGBX5551,
 	DRM_FORMAT_RGBX8888,
+	DRM_FORMAT_XBGR1555,
+	DRM_FORMAT_XBGR4444,
 	DRM_FORMAT_XBGR8888,
+	DRM_FORMAT_XRGB1555,
+	DRM_FORMAT_XRGB4444,
 	DRM_FORMAT_XRGB8888,
 
 	DRM_FORMAT_NV16,
@@ -363,11 +363,9 @@
 	DRM_FORMAT_YUV411,
 	DRM_FORMAT_YUV420,
 	DRM_FORMAT_YUV422,
-	DRM_FORMAT_YUV444,
 	DRM_FORMAT_YVU411,
 	DRM_FORMAT_YVU420,
 	DRM_FORMAT_YVU422,
-	DRM_FORMAT_YVU444,
 };
 
 struct sun8i_vi_layer *sun8i_vi_layer_init_one(struct drm_device *drm,
diff --git a/drivers/gpu/drm/ttm/ttm_page_alloc.c b/drivers/gpu/drm/ttm/ttm_page_alloc.c
index f77c81d..627f8dc 100644
--- a/drivers/gpu/drm/ttm/ttm_page_alloc.c
+++ b/drivers/gpu/drm/ttm/ttm_page_alloc.c
@@ -732,8 +732,8 @@
 #ifdef CONFIG_TRANSPARENT_HUGEPAGE
 			if (!(flags & TTM_PAGE_FLAG_DMA32) &&
 			    (npages - i) >= HPAGE_PMD_NR) {
-				for (j = 0; j < HPAGE_PMD_NR; ++j)
-					if (p++ != pages[i + j])
+				for (j = 1; j < HPAGE_PMD_NR; ++j)
+					if (++p != pages[i + j])
 					    break;
 
 				if (j == HPAGE_PMD_NR)
@@ -767,8 +767,8 @@
 			if (!p)
 				break;
 
-			for (j = 0; j < HPAGE_PMD_NR; ++j)
-				if (p++ != pages[i + j])
+			for (j = 1; j < HPAGE_PMD_NR; ++j)
+				if (++p != pages[i + j])
 				    break;
 
 			if (j != HPAGE_PMD_NR)
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_cmdbuf.c b/drivers/gpu/drm/vmwgfx/vmwgfx_cmdbuf.c
index e7e4655..ce1ad7c 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_cmdbuf.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_cmdbuf.c
@@ -511,17 +511,14 @@
 		container_of(work, struct vmw_cmdbuf_man, work);
 	struct vmw_cmdbuf_header *entry, *next;
 	uint32_t dummy;
-	bool restart[SVGA_CB_CONTEXT_MAX];
 	bool send_fence = false;
 	struct list_head restart_head[SVGA_CB_CONTEXT_MAX];
 	int i;
 	struct vmw_cmdbuf_context *ctx;
 	bool global_block = false;
 
-	for_each_cmdbuf_ctx(man, i, ctx) {
+	for_each_cmdbuf_ctx(man, i, ctx)
 		INIT_LIST_HEAD(&restart_head[i]);
-		restart[i] = false;
-	}
 
 	mutex_lock(&man->error_mutex);
 	spin_lock(&man->lock);
@@ -533,7 +530,6 @@
 		const char *cmd_name;
 
 		list_del_init(&entry->list);
-		restart[entry->cb_context] = true;
 		global_block = true;
 
 		if (!vmw_cmd_describe(header, &error_cmd_size, &cmd_name)) {
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_cmdbuf_res.c b/drivers/gpu/drm/vmwgfx/vmwgfx_cmdbuf_res.c
index 3b75af9..f27bd7c 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_cmdbuf_res.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_cmdbuf_res.c
@@ -210,8 +210,10 @@
 
 	cres->hash.key = user_key | (res_type << 24);
 	ret = drm_ht_insert_item(&man->resources, &cres->hash);
-	if (unlikely(ret != 0))
+	if (unlikely(ret != 0)) {
+		kfree(cres);
 		goto out_invalid_key;
+	}
 
 	cres->state = VMW_CMDBUF_RES_ADD;
 	cres->res = vmw_resource_reference(res);
diff --git a/drivers/gpu/drm/xen/xen_drm_front_gem.c b/drivers/gpu/drm/xen/xen_drm_front_gem.c
index c85bfe7..8026628 100644
--- a/drivers/gpu/drm/xen/xen_drm_front_gem.c
+++ b/drivers/gpu/drm/xen/xen_drm_front_gem.c
@@ -236,8 +236,14 @@
 	vma->vm_flags &= ~VM_PFNMAP;
 	vma->vm_flags |= VM_MIXEDMAP;
 	vma->vm_pgoff = 0;
-	vma->vm_page_prot =
-			pgprot_writecombine(vm_get_page_prot(vma->vm_flags));
+	/*
+	 * According to Xen on ARM ABI (xen/include/public/arch-arm.h):
+	 * all memory which is shared with other entities in the system
+	 * (including the hypervisor and other guests) must reside in memory
+	 * which is mapped as Normal Inner Write-Back Outer Write-Back
+	 * Inner-Shareable.
+	 */
+	vma->vm_page_prot = vm_get_page_prot(vma->vm_flags);
 
 	/*
 	 * vm_operations_struct.fault handler will be called if CPU access
@@ -283,8 +289,9 @@
 	if (!xen_obj->pages)
 		return NULL;
 
+	/* Please see comment in gem_mmap_obj on mapping and attributes. */
 	return vmap(xen_obj->pages, xen_obj->num_pages,
-		    VM_MAP, pgprot_writecombine(PAGE_KERNEL));
+		    VM_MAP, PAGE_KERNEL);
 }
 
 void xen_drm_front_gem_prime_vunmap(struct drm_gem_object *gem_obj,
diff --git a/drivers/hid/Kconfig b/drivers/hid/Kconfig
index acb00ae..e1e11d6 100644
--- a/drivers/hid/Kconfig
+++ b/drivers/hid/Kconfig
@@ -652,6 +652,17 @@
 	  To compile this driver as a module, choose M here: the
 	  module will be called hid-multitouch.
 
+config HID_NINTENDO
+	tristate "Nintendo Joy-Con and Pro Controller support"
+	depends on HID
+	help
+	Adds support for the Nintendo Switch Joy-Cons and Pro Controller.
+	All controllers support bluetooth, and the Pro Controller also supports
+	its USB mode.
+
+	To compile this driver as a module, choose M here: the
+	module will be called hid-nintendo.
+
 config HID_NTI
 	tristate "NTI keyboard adapters"
 	---help---
diff --git a/drivers/hid/Makefile b/drivers/hid/Makefile
index 86f9f6c..3fb5a1b 100644
--- a/drivers/hid/Makefile
+++ b/drivers/hid/Makefile
@@ -69,6 +69,7 @@
 obj-$(CONFIG_HID_MICROSOFT)	+= hid-microsoft.o
 obj-$(CONFIG_HID_MONTEREY)	+= hid-monterey.o
 obj-$(CONFIG_HID_MULTITOUCH)	+= hid-multitouch.o
+obj-$(CONFIG_HID_NINTENDO)	+= hid-nintendo.o
 obj-$(CONFIG_HID_NTI)			+= hid-nti.o
 obj-$(CONFIG_HID_NTRIG)		+= hid-ntrig.o
 obj-$(CONFIG_HID_ORTEK)		+= hid-ortek.o
diff --git a/drivers/hid/hid-alps.c b/drivers/hid/hid-alps.c
index 3cd7229..895f49b 100644
--- a/drivers/hid/hid-alps.c
+++ b/drivers/hid/hid-alps.c
@@ -734,7 +734,7 @@
 	if (data->has_sp) {
 		input2 = input_allocate_device();
 		if (!input2) {
-			input_free_device(input2);
+			ret = -ENOMEM;
 			goto exit;
 		}
 
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index 3a35971..2c85d07 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -288,6 +288,12 @@
 	offset = report->size;
 	report->size += parser->global.report_size * parser->global.report_count;
 
+	/* Total size check: Allow for possible report index byte */
+	if (report->size > (HID_MAX_BUFFER_SIZE - 1) << 3) {
+		hid_err(parser->device, "report is too long\n");
+		return -1;
+	}
+
 	if (!parser->local.usage_index) /* Ignore padding fields */
 		return 0;
 
@@ -1560,7 +1566,9 @@
 
 	rsize = ((report->size - 1) >> 3) + 1;
 
-	if (rsize > HID_MAX_BUFFER_SIZE)
+	if (report_enum->numbered && rsize >= HID_MAX_BUFFER_SIZE)
+		rsize = HID_MAX_BUFFER_SIZE - 1;
+	else if (rsize > HID_MAX_BUFFER_SIZE)
 		rsize = HID_MAX_BUFFER_SIZE;
 
 	if (csize < rsize) {
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index 4f41adc..2ee465a 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -620,6 +620,7 @@
 #define USB_VENDOR_ID_ITE               0x048d
 #define USB_DEVICE_ID_ITE_LENOVO_YOGA   0x8386
 #define USB_DEVICE_ID_ITE_LENOVO_YOGA2  0x8350
+#define I2C_DEVICE_ID_ITE_LENOVO_LEGION_Y720	0x837a
 #define USB_DEVICE_ID_ITE_LENOVO_YOGA900	0x8396
 #define USB_DEVICE_ID_ITE8595		0x8595
 
@@ -717,6 +718,7 @@
 #define USB_DEVICE_ID_LG_MULTITOUCH	0x0064
 #define USB_DEVICE_ID_LG_MELFAS_MT	0x6007
 #define I2C_DEVICE_ID_LG_8001		0x8001
+#define I2C_DEVICE_ID_LG_7010		0x7010
 
 #define USB_VENDOR_ID_LOGITECH		0x046d
 #define USB_DEVICE_ID_LOGITECH_AUDIOHUB 0x0a0e
@@ -848,6 +850,9 @@
 #define USB_VENDOR_ID_NINTENDO		0x057e
 #define USB_DEVICE_ID_NINTENDO_WIIMOTE	0x0306
 #define USB_DEVICE_ID_NINTENDO_WIIMOTE2	0x0330
+#define USB_DEVICE_ID_NINTENDO_JOYCONL	0x2006
+#define USB_DEVICE_ID_NINTENDO_JOYCONR	0x2007
+#define USB_DEVICE_ID_NINTENDO_PROCON	0x2009
 
 #define USB_VENDOR_ID_NOVATEK		0x0603
 #define USB_DEVICE_ID_NOVATEK_PCT	0x0600
@@ -1074,6 +1079,7 @@
 #define USB_DEVICE_ID_SYNAPTICS_LTS2	0x1d10
 #define USB_DEVICE_ID_SYNAPTICS_HD	0x0ac3
 #define USB_DEVICE_ID_SYNAPTICS_QUAD_HD	0x1ac3
+#define USB_DEVICE_ID_SYNAPTICS_ACER_SWITCH5_012	0x2968
 #define USB_DEVICE_ID_SYNAPTICS_TP_V103	0x5710
 
 #define USB_VENDOR_ID_TEXAS_INSTRUMENTS	0x2047
diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
index 01bed2f..dbb0cbe6 100644
--- a/drivers/hid/hid-input.c
+++ b/drivers/hid/hid-input.c
@@ -1125,9 +1125,15 @@
 	}
 
 mapped:
-	if (device->driver->input_mapped && device->driver->input_mapped(device,
-				hidinput, field, usage, &bit, &max) < 0)
-		goto ignore;
+	if (device->driver->input_mapped &&
+	    device->driver->input_mapped(device, hidinput, field, usage,
+					 &bit, &max) < 0) {
+		/*
+		 * The driver indicated that no further generic handling
+		 * of the usage is desired.
+		 */
+		return;
+	}
 
 	set_bit(usage->type, input->evbit);
 
@@ -1208,9 +1214,11 @@
 		set_bit(MSC_SCAN, input->mscbit);
 	}
 
-ignore:
 	return;
 
+ignore:
+	usage->type = 0;
+	usage->code = 0;
 }
 
 void hidinput_hid_event(struct hid_device *hid, struct hid_field *field, struct hid_usage *usage, __s32 value)
diff --git a/drivers/hid/hid-ite.c b/drivers/hid/hid-ite.c
index 98b059d..f2e23f8 100644
--- a/drivers/hid/hid-ite.c
+++ b/drivers/hid/hid-ite.c
@@ -43,6 +43,10 @@
 static const struct hid_device_id ite_devices[] = {
 	{ HID_USB_DEVICE(USB_VENDOR_ID_ITE, USB_DEVICE_ID_ITE8595) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_258A, USB_DEVICE_ID_258A_6A88) },
+	/* ITE8595 USB kbd ctlr, with Synaptics touchpad connected to it. */
+	{ HID_DEVICE(BUS_USB, HID_GROUP_GENERIC,
+		     USB_VENDOR_ID_SYNAPTICS,
+		     USB_DEVICE_ID_SYNAPTICS_ACER_SWITCH5_012) },
 	{ }
 };
 MODULE_DEVICE_TABLE(hid, ite_devices);
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index f9167d0..19dfd8a 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -1007,7 +1007,7 @@
 		tool = MT_TOOL_DIAL;
 	else if (unlikely(!confidence_state)) {
 		tool = MT_TOOL_PALM;
-		if (!active &&
+		if (!active && mt &&
 		    input_mt_is_active(&mt->slots[slotnum])) {
 			/*
 			 * The non-confidence was reported for
@@ -1972,6 +1972,9 @@
 	{ .driver_data = MT_CLS_LG,
 		HID_USB_DEVICE(USB_VENDOR_ID_LG,
 			USB_DEVICE_ID_LG_MELFAS_MT) },
+	{ .driver_data = MT_CLS_LG,
+		HID_DEVICE(BUS_I2C, HID_GROUP_GENERIC,
+			USB_VENDOR_ID_LG, I2C_DEVICE_ID_LG_7010) },
 
 	/* MosArt panels */
 	{ .driver_data = MT_CLS_CONFIDENCE_MINUS_ONE,
diff --git a/drivers/hid/hid-nintendo.c b/drivers/hid/hid-nintendo.c
new file mode 100644
index 0000000..3695b96
--- /dev/null
+++ b/drivers/hid/hid-nintendo.c
@@ -0,0 +1,820 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * HID driver for Nintendo Switch Joy-Cons and Pro Controllers
+ *
+ * Copyright (c) 2019 Daniel J. Ogorchock <djogorchock@gmail.com>
+ *
+ * The following resources/projects were referenced for this driver:
+ *   https://github.com/dekuNukem/Nintendo_Switch_Reverse_Engineering
+ *   https://gitlab.com/pjranki/joycon-linux-kernel (Peter Rankin)
+ *   https://github.com/FrotBot/SwitchProConLinuxUSB
+ *   https://github.com/MTCKC/ProconXInput
+ *   hid-wiimote kernel hid driver
+ *   hid-logitech-hidpp driver
+ *
+ * This driver supports the Nintendo Switch Joy-Cons and Pro Controllers. The
+ * Pro Controllers can either be used over USB or Bluetooth.
+ *
+ * The driver will retrieve the factory calibration info from the controllers,
+ * so little to no user calibration should be required.
+ *
+ */
+
+#include "hid-ids.h"
+#include <linux/delay.h>
+#include <linux/device.h>
+#include <linux/hid.h>
+#include <linux/input.h>
+#include <linux/module.h>
+#include <linux/spinlock.h>
+
+/*
+ * Reference the url below for the following HID report defines:
+ * https://github.com/dekuNukem/Nintendo_Switch_Reverse_Engineering
+ */
+
+/* Output Reports */
+static const u8 JC_OUTPUT_RUMBLE_AND_SUBCMD	= 0x01;
+static const u8 JC_OUTPUT_FW_UPDATE_PKT		= 0x03;
+static const u8 JC_OUTPUT_RUMBLE_ONLY		= 0x10;
+static const u8 JC_OUTPUT_MCU_DATA		= 0x11;
+static const u8 JC_OUTPUT_USB_CMD		= 0x80;
+
+/* Subcommand IDs */
+static const u8 JC_SUBCMD_STATE			/*= 0x00*/;
+static const u8 JC_SUBCMD_MANUAL_BT_PAIRING	= 0x01;
+static const u8 JC_SUBCMD_REQ_DEV_INFO		= 0x02;
+static const u8 JC_SUBCMD_SET_REPORT_MODE	= 0x03;
+static const u8 JC_SUBCMD_TRIGGERS_ELAPSED	= 0x04;
+static const u8 JC_SUBCMD_GET_PAGE_LIST_STATE	= 0x05;
+static const u8 JC_SUBCMD_SET_HCI_STATE		= 0x06;
+static const u8 JC_SUBCMD_RESET_PAIRING_INFO	= 0x07;
+static const u8 JC_SUBCMD_LOW_POWER_MODE	= 0x08;
+static const u8 JC_SUBCMD_SPI_FLASH_READ	= 0x10;
+static const u8 JC_SUBCMD_SPI_FLASH_WRITE	= 0x11;
+static const u8 JC_SUBCMD_RESET_MCU		= 0x20;
+static const u8 JC_SUBCMD_SET_MCU_CONFIG	= 0x21;
+static const u8 JC_SUBCMD_SET_MCU_STATE		= 0x22;
+static const u8 JC_SUBCMD_SET_PLAYER_LIGHTS	= 0x30;
+static const u8 JC_SUBCMD_GET_PLAYER_LIGHTS	= 0x31;
+static const u8 JC_SUBCMD_SET_HOME_LIGHT	= 0x38;
+static const u8 JC_SUBCMD_ENABLE_IMU		= 0x40;
+static const u8 JC_SUBCMD_SET_IMU_SENSITIVITY	= 0x41;
+static const u8 JC_SUBCMD_WRITE_IMU_REG		= 0x42;
+static const u8 JC_SUBCMD_READ_IMU_REG		= 0x43;
+static const u8 JC_SUBCMD_ENABLE_VIBRATION	= 0x48;
+static const u8 JC_SUBCMD_GET_REGULATED_VOLTAGE	= 0x50;
+
+/* Input Reports */
+static const u8 JC_INPUT_BUTTON_EVENT		= 0x3F;
+static const u8 JC_INPUT_SUBCMD_REPLY		= 0x21;
+static const u8 JC_INPUT_IMU_DATA		= 0x30;
+static const u8 JC_INPUT_MCU_DATA		= 0x31;
+static const u8 JC_INPUT_USB_RESPONSE		= 0x81;
+
+/* Feature Reports */
+static const u8 JC_FEATURE_LAST_SUBCMD		= 0x02;
+static const u8 JC_FEATURE_OTA_FW_UPGRADE	= 0x70;
+static const u8 JC_FEATURE_SETUP_MEM_READ	= 0x71;
+static const u8 JC_FEATURE_MEM_READ		= 0x72;
+static const u8 JC_FEATURE_ERASE_MEM_SECTOR	= 0x73;
+static const u8 JC_FEATURE_MEM_WRITE		= 0x74;
+static const u8 JC_FEATURE_LAUNCH		= 0x75;
+
+/* USB Commands */
+static const u8 JC_USB_CMD_CONN_STATUS		= 0x01;
+static const u8 JC_USB_CMD_HANDSHAKE		= 0x02;
+static const u8 JC_USB_CMD_BAUDRATE_3M		= 0x03;
+static const u8 JC_USB_CMD_NO_TIMEOUT		= 0x04;
+static const u8 JC_USB_CMD_EN_TIMEOUT		= 0x05;
+static const u8 JC_USB_RESET			= 0x06;
+static const u8 JC_USB_PRE_HANDSHAKE		= 0x91;
+static const u8 JC_USB_SEND_UART		= 0x92;
+
+/* SPI storage addresses of factory calibration data */
+static const u16 JC_CAL_DATA_START		= 0x603d;
+static const u16 JC_CAL_DATA_END		= 0x604e;
+#define JC_CAL_DATA_SIZE	(JC_CAL_DATA_END - JC_CAL_DATA_START + 1)
+
+
+/* The raw analog joystick values will be mapped in terms of this magnitude */
+static const u16 JC_MAX_STICK_MAG		= 32767;
+static const u16 JC_STICK_FUZZ			= 250;
+static const u16 JC_STICK_FLAT			= 500;
+
+/* States for controller state machine */
+enum joycon_ctlr_state {
+	JOYCON_CTLR_STATE_INIT,
+	JOYCON_CTLR_STATE_READ,
+};
+
+struct joycon_stick_cal {
+	s32 max;
+	s32 min;
+	s32 center;
+};
+
+/*
+ * All the controller's button values are stored in a u32.
+ * They can be accessed with bitwise ANDs.
+ */
+static const u32 JC_BTN_Y	= BIT(0);
+static const u32 JC_BTN_X	= BIT(1);
+static const u32 JC_BTN_B	= BIT(2);
+static const u32 JC_BTN_A	= BIT(3);
+static const u32 JC_BTN_SR_R	= BIT(4);
+static const u32 JC_BTN_SL_R	= BIT(5);
+static const u32 JC_BTN_R	= BIT(6);
+static const u32 JC_BTN_ZR	= BIT(7);
+static const u32 JC_BTN_MINUS	= BIT(8);
+static const u32 JC_BTN_PLUS	= BIT(9);
+static const u32 JC_BTN_RSTICK	= BIT(10);
+static const u32 JC_BTN_LSTICK	= BIT(11);
+static const u32 JC_BTN_HOME	= BIT(12);
+static const u32 JC_BTN_CAP	= BIT(13); /* capture button */
+static const u32 JC_BTN_DOWN	= BIT(16);
+static const u32 JC_BTN_UP	= BIT(17);
+static const u32 JC_BTN_RIGHT	= BIT(18);
+static const u32 JC_BTN_LEFT	= BIT(19);
+static const u32 JC_BTN_SR_L	= BIT(20);
+static const u32 JC_BTN_SL_L	= BIT(21);
+static const u32 JC_BTN_L	= BIT(22);
+static const u32 JC_BTN_ZL	= BIT(23);
+
+enum joycon_msg_type {
+	JOYCON_MSG_TYPE_NONE,
+	JOYCON_MSG_TYPE_USB,
+	JOYCON_MSG_TYPE_SUBCMD,
+};
+
+struct joycon_subcmd_request {
+	u8 output_id; /* must be 0x01 for subcommand, 0x10 for rumble only */
+	u8 packet_num; /* incremented every send */
+	u8 rumble_data[8];
+	u8 subcmd_id;
+	u8 data[0]; /* length depends on the subcommand */
+} __packed;
+
+struct joycon_subcmd_reply {
+	u8 ack; /* MSB 1 for ACK, 0 for NACK */
+	u8 id; /* id of requested subcmd */
+	u8 data[0]; /* will be at most 35 bytes */
+} __packed;
+
+struct joycon_input_report {
+	u8 id;
+	u8 timer;
+	u8 bat_con; /* battery and connection info */
+	u8 button_status[3];
+	u8 left_stick[3];
+	u8 right_stick[3];
+	u8 vibrator_report;
+
+	/*
+	 * If support for firmware updates, gyroscope data, and/or NFC/IR
+	 * are added in the future, this can be swapped for a union.
+	 */
+	struct joycon_subcmd_reply reply;
+} __packed;
+
+#define JC_MAX_RESP_SIZE	(sizeof(struct joycon_input_report) + 35)
+
+/* Each physical controller is associated with a joycon_ctlr struct */
+struct joycon_ctlr {
+	struct hid_device *hdev;
+	struct input_dev *input;
+	enum joycon_ctlr_state ctlr_state;
+
+	/* The following members are used for synchronous sends/receives */
+	enum joycon_msg_type msg_type;
+	u8 subcmd_num;
+	struct mutex output_mutex;
+	u8 input_buf[JC_MAX_RESP_SIZE];
+	wait_queue_head_t wait;
+	bool received_resp;
+	u8 usb_ack_match;
+	u8 subcmd_ack_match;
+
+	/* factory calibration data */
+	struct joycon_stick_cal left_stick_cal_x;
+	struct joycon_stick_cal left_stick_cal_y;
+	struct joycon_stick_cal right_stick_cal_x;
+	struct joycon_stick_cal right_stick_cal_y;
+
+};
+
+static int __joycon_hid_send(struct hid_device *hdev, u8 *data, size_t len)
+{
+	u8 *buf;
+	int ret;
+
+	buf = kmemdup(data, len, GFP_KERNEL);
+	if (!buf)
+		return -ENOMEM;
+	ret = hid_hw_output_report(hdev, buf, len);
+	kfree(buf);
+	if (ret < 0)
+		hid_dbg(hdev, "Failed to send output report ret=%d\n", ret);
+	return ret;
+}
+
+static int joycon_hid_send_sync(struct joycon_ctlr *ctlr, u8 *data, size_t len)
+{
+	int ret;
+
+	ret = __joycon_hid_send(ctlr->hdev, data, len);
+	if (ret < 0) {
+		memset(ctlr->input_buf, 0, JC_MAX_RESP_SIZE);
+		return ret;
+	}
+
+	if (!wait_event_timeout(ctlr->wait, ctlr->received_resp, HZ)) {
+		hid_dbg(ctlr->hdev, "synchronous send/receive timed out\n");
+		memset(ctlr->input_buf, 0, JC_MAX_RESP_SIZE);
+		return -ETIMEDOUT;
+	}
+
+	ctlr->received_resp = false;
+	return 0;
+}
+
+static int joycon_send_usb(struct joycon_ctlr *ctlr, u8 cmd)
+{
+	int ret;
+	u8 buf[2] = {JC_OUTPUT_USB_CMD};
+
+	buf[1] = cmd;
+	ctlr->usb_ack_match = cmd;
+	ctlr->msg_type = JOYCON_MSG_TYPE_USB;
+	ret = joycon_hid_send_sync(ctlr, buf, sizeof(buf));
+	if (ret)
+		hid_dbg(ctlr->hdev, "send usb command failed; ret=%d\n", ret);
+	return ret;
+}
+
+static int joycon_send_subcmd(struct joycon_ctlr *ctlr,
+			      struct joycon_subcmd_request *subcmd,
+			      size_t data_len)
+{
+	int ret;
+
+	subcmd->output_id = JC_OUTPUT_RUMBLE_AND_SUBCMD;
+	subcmd->packet_num = ctlr->subcmd_num;
+	if (++ctlr->subcmd_num > 0xF)
+		ctlr->subcmd_num = 0;
+	ctlr->subcmd_ack_match = subcmd->subcmd_id;
+	ctlr->msg_type = JOYCON_MSG_TYPE_SUBCMD;
+
+	ret = joycon_hid_send_sync(ctlr, (u8 *)subcmd,
+				   sizeof(*subcmd) + data_len);
+	if (ret < 0)
+		hid_dbg(ctlr->hdev, "send subcommand failed; ret=%d\n", ret);
+	else
+		ret = 0;
+	return ret;
+}
+
+/* Supply nibbles for flash and on. Ones correspond to active */
+static int joycon_set_player_leds(struct joycon_ctlr *ctlr, u8 flash, u8 on)
+{
+	struct joycon_subcmd_request *req;
+	u8 buffer[sizeof(*req) + 1] = { 0 };
+
+	req = (struct joycon_subcmd_request *)buffer;
+	req->subcmd_id = JC_SUBCMD_SET_PLAYER_LIGHTS;
+	req->data[0] = (flash << 4) | on;
+
+	hid_dbg(ctlr->hdev, "setting player leds\n");
+	return joycon_send_subcmd(ctlr, req, 1);
+}
+
+static const u16 DFLT_STICK_CAL_CEN = 2000;
+static const u16 DFLT_STICK_CAL_MAX = 3500;
+static const u16 DFLT_STICK_CAL_MIN = 500;
+static int joycon_request_calibration(struct joycon_ctlr *ctlr)
+{
+	struct joycon_subcmd_request *req;
+	u8 buffer[sizeof(*req) + 5] = { 0 };
+	struct joycon_input_report *report;
+	struct joycon_stick_cal *cal_x;
+	struct joycon_stick_cal *cal_y;
+	s32 x_max_above;
+	s32 x_min_below;
+	s32 y_max_above;
+	s32 y_min_below;
+	u8 *data;
+	u8 *raw_cal;
+	int ret;
+
+	req = (struct joycon_subcmd_request *)buffer;
+	req->subcmd_id = JC_SUBCMD_SPI_FLASH_READ;
+	data = req->data;
+	data[0] = 0xFF & JC_CAL_DATA_START;
+	data[1] = 0xFF & (JC_CAL_DATA_START >> 8);
+	data[2] = 0xFF & (JC_CAL_DATA_START >> 16);
+	data[3] = 0xFF & (JC_CAL_DATA_START >> 24);
+	data[4] = JC_CAL_DATA_SIZE;
+
+	hid_dbg(ctlr->hdev, "requesting cal data\n");
+	ret = joycon_send_subcmd(ctlr, req, 5);
+	if (ret) {
+		hid_warn(ctlr->hdev,
+			 "Failed to read stick cal, using defaults; ret=%d\n",
+			 ret);
+
+		ctlr->left_stick_cal_x.center = DFLT_STICK_CAL_CEN;
+		ctlr->left_stick_cal_x.max = DFLT_STICK_CAL_MAX;
+		ctlr->left_stick_cal_x.min = DFLT_STICK_CAL_MIN;
+
+		ctlr->left_stick_cal_y.center = DFLT_STICK_CAL_CEN;
+		ctlr->left_stick_cal_y.max = DFLT_STICK_CAL_MAX;
+		ctlr->left_stick_cal_y.min = DFLT_STICK_CAL_MIN;
+
+		ctlr->right_stick_cal_x.center = DFLT_STICK_CAL_CEN;
+		ctlr->right_stick_cal_x.max = DFLT_STICK_CAL_MAX;
+		ctlr->right_stick_cal_x.min = DFLT_STICK_CAL_MIN;
+
+		ctlr->right_stick_cal_y.center = DFLT_STICK_CAL_CEN;
+		ctlr->right_stick_cal_y.max = DFLT_STICK_CAL_MAX;
+		ctlr->right_stick_cal_y.min = DFLT_STICK_CAL_MIN;
+
+		return ret;
+	}
+
+	report = (struct joycon_input_report *)ctlr->input_buf;
+	raw_cal = &report->reply.data[5];
+
+	/* left stick calibration parsing */
+	cal_x = &ctlr->left_stick_cal_x;
+	cal_y = &ctlr->left_stick_cal_y;
+
+	x_max_above = hid_field_extract(ctlr->hdev, (raw_cal + 0), 0, 12);
+	y_max_above = hid_field_extract(ctlr->hdev, (raw_cal + 1), 4, 12);
+	cal_x->center = hid_field_extract(ctlr->hdev, (raw_cal + 3), 0, 12);
+	cal_y->center = hid_field_extract(ctlr->hdev, (raw_cal + 4), 4, 12);
+	x_min_below = hid_field_extract(ctlr->hdev, (raw_cal + 6), 0, 12);
+	y_min_below = hid_field_extract(ctlr->hdev, (raw_cal + 7), 4, 12);
+	cal_x->max = cal_x->center + x_max_above;
+	cal_x->min = cal_x->center - x_min_below;
+	cal_y->max = cal_y->center + y_max_above;
+	cal_y->min = cal_y->center - y_min_below;
+
+	/* right stick calibration parsing */
+	raw_cal += 9;
+	cal_x = &ctlr->right_stick_cal_x;
+	cal_y = &ctlr->right_stick_cal_y;
+
+	cal_x->center = hid_field_extract(ctlr->hdev, (raw_cal + 0), 0, 12);
+	cal_y->center = hid_field_extract(ctlr->hdev, (raw_cal + 1), 4, 12);
+	x_min_below = hid_field_extract(ctlr->hdev, (raw_cal + 3), 0, 12);
+	y_min_below = hid_field_extract(ctlr->hdev, (raw_cal + 4), 4, 12);
+	x_max_above = hid_field_extract(ctlr->hdev, (raw_cal + 6), 0, 12);
+	y_max_above = hid_field_extract(ctlr->hdev, (raw_cal + 7), 4, 12);
+	cal_x->max = cal_x->center + x_max_above;
+	cal_x->min = cal_x->center - x_min_below;
+	cal_y->max = cal_y->center + y_max_above;
+	cal_y->min = cal_y->center - y_min_below;
+
+	hid_dbg(ctlr->hdev, "calibration:\n"
+			    "l_x_c=%d l_x_max=%d l_x_min=%d\n"
+			    "l_y_c=%d l_y_max=%d l_y_min=%d\n"
+			    "r_x_c=%d r_x_max=%d r_x_min=%d\n"
+			    "r_y_c=%d r_y_max=%d r_y_min=%d\n",
+			    ctlr->left_stick_cal_x.center,
+			    ctlr->left_stick_cal_x.max,
+			    ctlr->left_stick_cal_x.min,
+			    ctlr->left_stick_cal_y.center,
+			    ctlr->left_stick_cal_y.max,
+			    ctlr->left_stick_cal_y.min,
+			    ctlr->right_stick_cal_x.center,
+			    ctlr->right_stick_cal_x.max,
+			    ctlr->right_stick_cal_x.min,
+			    ctlr->right_stick_cal_y.center,
+			    ctlr->right_stick_cal_y.max,
+			    ctlr->right_stick_cal_y.min);
+
+	return 0;
+}
+
+static int joycon_set_report_mode(struct joycon_ctlr *ctlr)
+{
+	struct joycon_subcmd_request *req;
+	u8 buffer[sizeof(*req) + 1] = { 0 };
+
+	req = (struct joycon_subcmd_request *)buffer;
+	req->subcmd_id = JC_SUBCMD_SET_REPORT_MODE;
+	req->data[0] = 0x30; /* standard, full report mode */
+
+	hid_dbg(ctlr->hdev, "setting controller report mode\n");
+	return joycon_send_subcmd(ctlr, req, 1);
+}
+
+static s32 joycon_map_stick_val(struct joycon_stick_cal *cal, s32 val)
+{
+	s32 center = cal->center;
+	s32 min = cal->min;
+	s32 max = cal->max;
+	s32 new_val;
+
+	if (val > center) {
+		new_val = (val - center) * JC_MAX_STICK_MAG;
+		new_val /= (max - center);
+	} else {
+		new_val = (center - val) * -JC_MAX_STICK_MAG;
+		new_val /= (center - min);
+	}
+	new_val = clamp(new_val, (s32)-JC_MAX_STICK_MAG, (s32)JC_MAX_STICK_MAG);
+	return new_val;
+}
+
+static void joycon_parse_report(struct joycon_ctlr *ctlr,
+				struct joycon_input_report *rep)
+{
+	struct input_dev *dev = ctlr->input;
+	u32 btns;
+	u32 id = ctlr->hdev->product;
+
+	btns = hid_field_extract(ctlr->hdev, rep->button_status, 0, 24);
+
+	if (id != USB_DEVICE_ID_NINTENDO_JOYCONR) {
+		u16 raw_x;
+		u16 raw_y;
+		s32 x;
+		s32 y;
+
+		/* get raw stick values */
+		raw_x = hid_field_extract(ctlr->hdev, rep->left_stick, 0, 12);
+		raw_y = hid_field_extract(ctlr->hdev,
+					  rep->left_stick + 1, 4, 12);
+		/* map the stick values */
+		x = joycon_map_stick_val(&ctlr->left_stick_cal_x, raw_x);
+		y = -joycon_map_stick_val(&ctlr->left_stick_cal_y, raw_y);
+		/* report sticks */
+		input_report_abs(dev, ABS_X, x);
+		input_report_abs(dev, ABS_Y, y);
+
+		/* report buttons */
+		input_report_key(dev, BTN_TL, btns & JC_BTN_L);
+		input_report_key(dev, BTN_TL2, btns & JC_BTN_ZL);
+		if (id != USB_DEVICE_ID_NINTENDO_PROCON) {
+			/* Report the S buttons as the non-existent triggers */
+			input_report_key(dev, BTN_TR, btns & JC_BTN_SL_L);
+			input_report_key(dev, BTN_TR2, btns & JC_BTN_SR_L);
+		}
+		input_report_key(dev, BTN_SELECT, btns & JC_BTN_MINUS);
+		input_report_key(dev, BTN_THUMBL, btns & JC_BTN_LSTICK);
+		input_report_key(dev, BTN_Z, btns & JC_BTN_CAP);
+		input_report_key(dev, BTN_DPAD_DOWN, btns & JC_BTN_DOWN);
+		input_report_key(dev, BTN_DPAD_UP, btns & JC_BTN_UP);
+		input_report_key(dev, BTN_DPAD_RIGHT, btns & JC_BTN_RIGHT);
+		input_report_key(dev, BTN_DPAD_LEFT, btns & JC_BTN_LEFT);
+	}
+	if (id != USB_DEVICE_ID_NINTENDO_JOYCONL) {
+		u16 raw_x;
+		u16 raw_y;
+		s32 x;
+		s32 y;
+
+		/* get raw stick values */
+		raw_x = hid_field_extract(ctlr->hdev, rep->right_stick, 0, 12);
+		raw_y = hid_field_extract(ctlr->hdev,
+					  rep->right_stick + 1, 4, 12);
+		/* map stick values */
+		x = joycon_map_stick_val(&ctlr->right_stick_cal_x, raw_x);
+		y = -joycon_map_stick_val(&ctlr->right_stick_cal_y, raw_y);
+		/* report sticks */
+		input_report_abs(dev, ABS_RX, x);
+		input_report_abs(dev, ABS_RY, y);
+
+		/* report buttons */
+		input_report_key(dev, BTN_TR, btns & JC_BTN_R);
+		input_report_key(dev, BTN_TR2, btns & JC_BTN_ZR);
+		if (id != USB_DEVICE_ID_NINTENDO_PROCON) {
+			/* Report the S buttons as the non-existent triggers */
+			input_report_key(dev, BTN_TL, btns & JC_BTN_SL_R);
+			input_report_key(dev, BTN_TL2, btns & JC_BTN_SR_R);
+		}
+		input_report_key(dev, BTN_START, btns & JC_BTN_PLUS);
+		input_report_key(dev, BTN_THUMBR, btns & JC_BTN_RSTICK);
+		input_report_key(dev, BTN_MODE, btns & JC_BTN_HOME);
+		input_report_key(dev, BTN_WEST, btns & JC_BTN_Y);
+		input_report_key(dev, BTN_NORTH, btns & JC_BTN_X);
+		input_report_key(dev, BTN_EAST, btns & JC_BTN_A);
+		input_report_key(dev, BTN_SOUTH, btns & JC_BTN_B);
+	}
+
+	input_sync(dev);
+}
+
+
+static const unsigned int joycon_button_inputs_l[] = {
+	BTN_SELECT, BTN_Z, BTN_THUMBL,
+	BTN_DPAD_UP, BTN_DPAD_DOWN, BTN_DPAD_LEFT, BTN_DPAD_RIGHT,
+	BTN_TL, BTN_TL2,
+	0 /* 0 signals end of array */
+};
+
+static const unsigned int joycon_button_inputs_r[] = {
+	BTN_START, BTN_MODE, BTN_THUMBR,
+	BTN_SOUTH, BTN_EAST, BTN_NORTH, BTN_WEST,
+	BTN_TR, BTN_TR2,
+	0 /* 0 signals end of array */
+};
+
+static DEFINE_MUTEX(joycon_input_num_mutex);
+static int joycon_input_create(struct joycon_ctlr *ctlr)
+{
+	struct hid_device *hdev;
+	static int input_num = 1;
+	const char *name;
+	int ret;
+	int i;
+
+	hdev = ctlr->hdev;
+
+	switch (hdev->product) {
+	case USB_DEVICE_ID_NINTENDO_PROCON:
+		name = "Nintendo Switch Pro Controller";
+		break;
+	case USB_DEVICE_ID_NINTENDO_JOYCONL:
+		name = "Nintendo Switch Left Joy-Con";
+		break;
+	case USB_DEVICE_ID_NINTENDO_JOYCONR:
+		name = "Nintendo Switch Right Joy-Con";
+		break;
+	default: /* Should be impossible */
+		hid_err(hdev, "Invalid hid product\n");
+		return -EINVAL;
+	}
+
+	ctlr->input = devm_input_allocate_device(&hdev->dev);
+	if (!ctlr->input)
+		return -ENOMEM;
+	ctlr->input->id.bustype = hdev->bus;
+	ctlr->input->id.vendor = hdev->vendor;
+	ctlr->input->id.product = hdev->product;
+	ctlr->input->id.version = hdev->version;
+	ctlr->input->name = name;
+	input_set_drvdata(ctlr->input, ctlr);
+
+
+	/* set up sticks */
+	if (hdev->product != USB_DEVICE_ID_NINTENDO_JOYCONR) {
+		input_set_abs_params(ctlr->input, ABS_X,
+				     -JC_MAX_STICK_MAG, JC_MAX_STICK_MAG,
+				     JC_STICK_FUZZ, JC_STICK_FLAT);
+		input_set_abs_params(ctlr->input, ABS_Y,
+				     -JC_MAX_STICK_MAG, JC_MAX_STICK_MAG,
+				     JC_STICK_FUZZ, JC_STICK_FLAT);
+	}
+	if (hdev->product != USB_DEVICE_ID_NINTENDO_JOYCONL) {
+		input_set_abs_params(ctlr->input, ABS_RX,
+				     -JC_MAX_STICK_MAG, JC_MAX_STICK_MAG,
+				     JC_STICK_FUZZ, JC_STICK_FLAT);
+		input_set_abs_params(ctlr->input, ABS_RY,
+				     -JC_MAX_STICK_MAG, JC_MAX_STICK_MAG,
+				     JC_STICK_FUZZ, JC_STICK_FLAT);
+	}
+
+	/* set up buttons */
+	if (hdev->product != USB_DEVICE_ID_NINTENDO_JOYCONR) {
+		for (i = 0; joycon_button_inputs_l[i] > 0; i++)
+			input_set_capability(ctlr->input, EV_KEY,
+					     joycon_button_inputs_l[i]);
+	}
+	if (hdev->product != USB_DEVICE_ID_NINTENDO_JOYCONL) {
+		for (i = 0; joycon_button_inputs_r[i] > 0; i++)
+			input_set_capability(ctlr->input, EV_KEY,
+					     joycon_button_inputs_r[i]);
+	}
+
+	ret = input_register_device(ctlr->input);
+	if (ret)
+		return ret;
+
+	/* Set the default controller player leds based on controller number */
+	mutex_lock(&joycon_input_num_mutex);
+	mutex_lock(&ctlr->output_mutex);
+	ret = joycon_set_player_leds(ctlr, 0, 0xF >> (4 - input_num));
+	if (ret)
+		hid_warn(ctlr->hdev, "Failed to set leds; ret=%d\n", ret);
+	mutex_unlock(&ctlr->output_mutex);
+	if (++input_num > 4)
+		input_num = 1;
+	mutex_unlock(&joycon_input_num_mutex);
+
+	return 0;
+}
+
+/* Common handler for parsing inputs */
+static int joycon_ctlr_read_handler(struct joycon_ctlr *ctlr, u8 *data,
+							      int size)
+{
+	int ret = 0;
+
+	if (data[0] == JC_INPUT_SUBCMD_REPLY || data[0] == JC_INPUT_IMU_DATA ||
+	    data[0] == JC_INPUT_MCU_DATA) {
+		if (size >= 12) /* make sure it contains the input report */
+			joycon_parse_report(ctlr,
+					    (struct joycon_input_report *)data);
+	}
+
+	return ret;
+}
+
+static int joycon_ctlr_handle_event(struct joycon_ctlr *ctlr, u8 *data,
+							      int size)
+{
+	int ret = 0;
+	bool match = false;
+	struct joycon_input_report *report;
+
+	if (unlikely(mutex_is_locked(&ctlr->output_mutex)) &&
+	    ctlr->msg_type != JOYCON_MSG_TYPE_NONE) {
+		switch (ctlr->msg_type) {
+		case JOYCON_MSG_TYPE_USB:
+			if (size < 2)
+				break;
+			if (data[0] == JC_INPUT_USB_RESPONSE &&
+			    data[1] == ctlr->usb_ack_match)
+				match = true;
+			break;
+		case JOYCON_MSG_TYPE_SUBCMD:
+			if (size < sizeof(struct joycon_input_report) ||
+			    data[0] != JC_INPUT_SUBCMD_REPLY)
+				break;
+			report = (struct joycon_input_report *)data;
+			if (report->reply.id == ctlr->subcmd_ack_match)
+				match = true;
+			break;
+		default:
+			break;
+		}
+
+		if (match) {
+			memcpy(ctlr->input_buf, data,
+			       min(size, (int)JC_MAX_RESP_SIZE));
+			ctlr->msg_type = JOYCON_MSG_TYPE_NONE;
+			ctlr->received_resp = true;
+			wake_up(&ctlr->wait);
+
+			/* This message has been handled */
+			return 1;
+		}
+	}
+
+	if (ctlr->ctlr_state == JOYCON_CTLR_STATE_READ)
+		ret = joycon_ctlr_read_handler(ctlr, data, size);
+
+	return ret;
+}
+
+static int nintendo_hid_event(struct hid_device *hdev,
+			      struct hid_report *report, u8 *raw_data, int size)
+{
+	struct joycon_ctlr *ctlr = hid_get_drvdata(hdev);
+
+	if (size < 1)
+		return -EINVAL;
+
+	return joycon_ctlr_handle_event(ctlr, raw_data, size);
+}
+
+static int nintendo_hid_probe(struct hid_device *hdev,
+			    const struct hid_device_id *id)
+{
+	int ret;
+	struct joycon_ctlr *ctlr;
+
+	hid_dbg(hdev, "probe - start\n");
+
+	ctlr = devm_kzalloc(&hdev->dev, sizeof(*ctlr), GFP_KERNEL);
+	if (!ctlr) {
+		ret = -ENOMEM;
+		goto err;
+	}
+
+	ctlr->hdev = hdev;
+	ctlr->ctlr_state = JOYCON_CTLR_STATE_INIT;
+	hid_set_drvdata(hdev, ctlr);
+	mutex_init(&ctlr->output_mutex);
+	init_waitqueue_head(&ctlr->wait);
+
+	ret = hid_parse(hdev);
+	if (ret) {
+		hid_err(hdev, "HID parse failed\n");
+		goto err;
+	}
+
+	ret = hid_hw_start(hdev, HID_CONNECT_HIDRAW);
+	if (ret) {
+		hid_err(hdev, "HW start failed\n");
+		goto err;
+	}
+
+	ret = hid_hw_open(hdev);
+	if (ret) {
+		hid_err(hdev, "cannot start hardware I/O\n");
+		goto err_stop;
+	}
+
+	hid_device_io_start(hdev);
+
+	/* Initialize the controller */
+	mutex_lock(&ctlr->output_mutex);
+	/* if handshake command fails, assume ble pro controller */
+	if (hdev->product == USB_DEVICE_ID_NINTENDO_PROCON &&
+	    !joycon_send_usb(ctlr, JC_USB_CMD_HANDSHAKE)) {
+		hid_dbg(hdev, "detected USB controller\n");
+		/* set baudrate for improved latency */
+		ret = joycon_send_usb(ctlr, JC_USB_CMD_BAUDRATE_3M);
+		if (ret) {
+			hid_err(hdev, "Failed to set baudrate; ret=%d\n", ret);
+			goto err_mutex;
+		}
+		/* handshake */
+		ret = joycon_send_usb(ctlr, JC_USB_CMD_HANDSHAKE);
+		if (ret) {
+			hid_err(hdev, "Failed handshake; ret=%d\n", ret);
+			goto err_mutex;
+		}
+		/*
+		 * Set no timeout (to keep controller in USB mode).
+		 * This doesn't send a response, so ignore the timeout.
+		 */
+		joycon_send_usb(ctlr, JC_USB_CMD_NO_TIMEOUT);
+	}
+
+	/* get controller calibration data, and parse it */
+	ret = joycon_request_calibration(ctlr);
+	if (ret) {
+		/*
+		 * We can function with default calibration, but it may be
+		 * inaccurate. Provide a warning, and continue on.
+		 */
+		hid_warn(hdev, "Analog stick positions may be inaccurate\n");
+	}
+
+	/* Set the reporting mode to 0x30, which is the full report mode */
+	ret = joycon_set_report_mode(ctlr);
+	if (ret) {
+		hid_err(hdev, "Failed to set report mode; ret=%d\n", ret);
+		goto err_mutex;
+	}
+
+	mutex_unlock(&ctlr->output_mutex);
+
+	ret = joycon_input_create(ctlr);
+	if (ret) {
+		hid_err(hdev, "Failed to create input device; ret=%d\n", ret);
+		goto err_close;
+	}
+
+	ctlr->ctlr_state = JOYCON_CTLR_STATE_READ;
+
+	hid_dbg(hdev, "probe - success\n");
+	return 0;
+
+err_mutex:
+	mutex_unlock(&ctlr->output_mutex);
+err_close:
+	hid_hw_close(hdev);
+err_stop:
+	hid_hw_stop(hdev);
+err:
+	hid_err(hdev, "probe - fail = %d\n", ret);
+	return ret;
+}
+
+static void nintendo_hid_remove(struct hid_device *hdev)
+{
+	hid_dbg(hdev, "remove\n");
+	hid_hw_close(hdev);
+	hid_hw_stop(hdev);
+}
+
+static const struct hid_device_id nintendo_hid_devices[] = {
+	{ HID_USB_DEVICE(USB_VENDOR_ID_NINTENDO,
+			 USB_DEVICE_ID_NINTENDO_PROCON) },
+	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_NINTENDO,
+			 USB_DEVICE_ID_NINTENDO_PROCON) },
+	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_NINTENDO,
+			 USB_DEVICE_ID_NINTENDO_JOYCONL) },
+	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_NINTENDO,
+			 USB_DEVICE_ID_NINTENDO_JOYCONR) },
+	{ }
+};
+MODULE_DEVICE_TABLE(hid, nintendo_hid_devices);
+
+static struct hid_driver nintendo_hid_driver = {
+	.name		= "nintendo",
+	.id_table	= nintendo_hid_devices,
+	.probe		= nintendo_hid_probe,
+	.remove		= nintendo_hid_remove,
+	.raw_event	= nintendo_hid_event,
+};
+module_hid_driver(nintendo_hid_driver);
+
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Daniel J. Ogorchock <djogorchock@gmail.com>");
+MODULE_DESCRIPTION("Driver for Nintendo Switch Controllers");
diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c
index e5aafda..746a714 100644
--- a/drivers/hid/hid-quirks.c
+++ b/drivers/hid/hid-quirks.c
@@ -178,6 +178,7 @@
 	{ HID_USB_DEVICE(USB_VENDOR_ID_QVR5, USB_DEVICE_ID_QVR5), HID_QUIRK_HIDINPUT_FORCE | HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_QVR32A, USB_DEVICE_ID_QVR32A), HID_QUIRK_HIDINPUT_FORCE | HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_NREAL, USB_DEVICE_ID_NREAL), HID_QUIRK_HIDINPUT_FORCE | HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_XIN_MO, USB_DEVICE_ID_XIN_MO_DUAL_ARCADE), HID_QUIRK_MULTI_INPUT },
 
 	{ 0 }
 };
diff --git a/drivers/hid/hid-steam.c b/drivers/hid/hid-steam.c
index 8dae0f9..6286204 100644
--- a/drivers/hid/hid-steam.c
+++ b/drivers/hid/hid-steam.c
@@ -768,8 +768,12 @@
 
 	if (steam->quirks & STEAM_QUIRK_WIRELESS) {
 		hid_info(hdev, "Steam wireless receiver connected");
+		/* If using a wireless adaptor ask for connection status */
+		steam->connected = false;
 		steam_request_conn_status(steam);
 	} else {
+		/* A wired connection is always present */
+		steam->connected = true;
 		ret = steam_register(steam);
 		if (ret) {
 			hid_err(hdev,
diff --git a/drivers/hid/hidraw.c b/drivers/hid/hidraw.c
index c7cff92..c4ba2d2 100644
--- a/drivers/hid/hidraw.c
+++ b/drivers/hid/hidraw.c
@@ -257,13 +257,14 @@
 static __poll_t hidraw_poll(struct file *file, poll_table *wait)
 {
 	struct hidraw_list *list = file->private_data;
+	__poll_t mask = EPOLLOUT | EPOLLWRNORM; /* hidraw is always writable */
 
 	poll_wait(file, &list->hidraw->wait, wait);
 	if (list->head != list->tail)
-		return EPOLLIN | EPOLLRDNORM;
+		mask |= EPOLLIN | EPOLLRDNORM;
 	if (!list->hidraw->exist)
-		return EPOLLERR | EPOLLHUP;
-	return 0;
+		mask |= EPOLLERR | EPOLLHUP;
+	return mask;
 }
 
 static int hidraw_open(struct inode *inode, struct file *file)
diff --git a/drivers/hid/i2c-hid/i2c-hid-core.c b/drivers/hid/i2c-hid/i2c-hid-core.c
index 0a39e44..f2c8c59 100644
--- a/drivers/hid/i2c-hid/i2c-hid-core.c
+++ b/drivers/hid/i2c-hid/i2c-hid-core.c
@@ -52,6 +52,8 @@
 #define I2C_HID_QUIRK_DELAY_AFTER_SLEEP		BIT(3)
 #define I2C_HID_QUIRK_BOGUS_IRQ			BIT(4)
 #define I2C_HID_QUIRK_RESET_ON_RESUME		BIT(5)
+#define I2C_HID_QUIRK_BAD_INPUT_SIZE		BIT(6)
+
 
 /* flags */
 #define I2C_HID_STARTED		0
@@ -185,6 +187,8 @@
 		 I2C_HID_QUIRK_BOGUS_IRQ },
 	{ USB_VENDOR_ID_ALPS_JP, HID_ANY_ID,
 		 I2C_HID_QUIRK_RESET_ON_RESUME },
+	{ USB_VENDOR_ID_ITE, I2C_DEVICE_ID_ITE_LENOVO_LEGION_Y720,
+		I2C_HID_QUIRK_BAD_INPUT_SIZE },
 	{ 0, 0 }
 };
 
@@ -516,9 +520,15 @@
 	}
 
 	if ((ret_size > size) || (ret_size < 2)) {
-		dev_err(&ihid->client->dev, "%s: incomplete report (%d/%d)\n",
-			__func__, size, ret_size);
-		return;
+		if (ihid->quirks & I2C_HID_QUIRK_BAD_INPUT_SIZE) {
+			ihid->inbuf[0] = size & 0xff;
+			ihid->inbuf[1] = size >> 8;
+			ret_size = size;
+		} else {
+			dev_err(&ihid->client->dev, "%s: incomplete report (%d/%d)\n",
+				__func__, size, ret_size);
+			return;
+		}
 	}
 
 	i2c_hid_dbg(ihid, "input: %*ph\n", ret_size, ihid->inbuf);
diff --git a/drivers/hid/uhid.c b/drivers/hid/uhid.c
index 840634e..29e6333 100644
--- a/drivers/hid/uhid.c
+++ b/drivers/hid/uhid.c
@@ -769,13 +769,14 @@
 static __poll_t uhid_char_poll(struct file *file, poll_table *wait)
 {
 	struct uhid_device *uhid = file->private_data;
+	__poll_t mask = EPOLLOUT | EPOLLWRNORM; /* uhid is always writable */
 
 	poll_wait(file, &uhid->waitq, wait);
 
 	if (uhid->head != uhid->tail)
-		return EPOLLIN | EPOLLRDNORM;
+		mask |= EPOLLIN | EPOLLRDNORM;
 
-	return 0;
+	return mask;
 }
 
 static const struct file_operations uhid_fops = {
diff --git a/drivers/hid/usbhid/hiddev.c b/drivers/hid/usbhid/hiddev.c
index 5a949ca..c34ef95 100644
--- a/drivers/hid/usbhid/hiddev.c
+++ b/drivers/hid/usbhid/hiddev.c
@@ -254,12 +254,51 @@
 	return 0;
 }
 
+static int __hiddev_open(struct hiddev *hiddev, struct file *file)
+{
+	struct hiddev_list *list;
+	int error;
+
+	lockdep_assert_held(&hiddev->existancelock);
+
+	list = vzalloc(sizeof(*list));
+	if (!list)
+		return -ENOMEM;
+
+	mutex_init(&list->thread_lock);
+	list->hiddev = hiddev;
+
+	if (!hiddev->open++) {
+		error = hid_hw_power(hiddev->hid, PM_HINT_FULLON);
+		if (error < 0)
+			goto err_drop_count;
+
+		error = hid_hw_open(hiddev->hid);
+		if (error < 0)
+			goto err_normal_power;
+	}
+
+	spin_lock_irq(&hiddev->list_lock);
+	list_add_tail(&list->node, &hiddev->list);
+	spin_unlock_irq(&hiddev->list_lock);
+
+	file->private_data = list;
+
+	return 0;
+
+err_normal_power:
+	hid_hw_power(hiddev->hid, PM_HINT_NORMAL);
+err_drop_count:
+	hiddev->open--;
+	vfree(list);
+	return error;
+}
+
 /*
  * open file op
  */
 static int hiddev_open(struct inode *inode, struct file *file)
 {
-	struct hiddev_list *list;
 	struct usb_interface *intf;
 	struct hid_device *hid;
 	struct hiddev *hiddev;
@@ -268,66 +307,14 @@
 	intf = usbhid_find_interface(iminor(inode));
 	if (!intf)
 		return -ENODEV;
+
 	hid = usb_get_intfdata(intf);
 	hiddev = hid->hiddev;
 
-	if (!(list = vzalloc(sizeof(struct hiddev_list))))
-		return -ENOMEM;
-	mutex_init(&list->thread_lock);
-	list->hiddev = hiddev;
-	file->private_data = list;
-
-	/*
-	 * no need for locking because the USB major number
-	 * is shared which usbcore guards against disconnect
-	 */
-	if (list->hiddev->exist) {
-		if (!list->hiddev->open++) {
-			res = hid_hw_open(hiddev->hid);
-			if (res < 0)
-				goto bail;
-		}
-	} else {
-		res = -ENODEV;
-		goto bail;
-	}
-
-	spin_lock_irq(&list->hiddev->list_lock);
-	list_add_tail(&list->node, &hiddev->list);
-	spin_unlock_irq(&list->hiddev->list_lock);
-
 	mutex_lock(&hiddev->existancelock);
-	/*
-	 * recheck exist with existance lock held to
-	 * avoid opening a disconnected device
-	 */
-	if (!list->hiddev->exist) {
-		res = -ENODEV;
-		goto bail_unlock;
-	}
-	if (!list->hiddev->open++)
-		if (list->hiddev->exist) {
-			struct hid_device *hid = hiddev->hid;
-			res = hid_hw_power(hid, PM_HINT_FULLON);
-			if (res < 0)
-				goto bail_unlock;
-			res = hid_hw_open(hid);
-			if (res < 0)
-				goto bail_normal_power;
-		}
-	mutex_unlock(&hiddev->existancelock);
-	return 0;
-bail_normal_power:
-	hid_hw_power(hid, PM_HINT_NORMAL);
-bail_unlock:
+	res = hiddev->exist ? __hiddev_open(hiddev, file) : -ENODEV;
 	mutex_unlock(&hiddev->existancelock);
 
-	spin_lock_irq(&list->hiddev->list_lock);
-	list_del(&list->node);
-	spin_unlock_irq(&list->hiddev->list_lock);
-bail:
-	file->private_data = NULL;
-	vfree(list);
 	return res;
 }
 
@@ -967,9 +954,9 @@
 	hiddev->exist = 0;
 
 	if (hiddev->open) {
-		mutex_unlock(&hiddev->existancelock);
 		hid_hw_close(hiddev->hid);
 		wake_up_interruptible(&hiddev->wait);
+		mutex_unlock(&hiddev->existancelock);
 	} else {
 		mutex_unlock(&hiddev->existancelock);
 		kfree(hiddev);
diff --git a/drivers/hv/hv_balloon.c b/drivers/hv/hv_balloon.c
index d2a735ac9..9ca0706 100644
--- a/drivers/hv/hv_balloon.c
+++ b/drivers/hv/hv_balloon.c
@@ -1215,10 +1215,7 @@
 	unsigned int i = 0;
 	struct page *pg;
 
-	if (num_pages < alloc_unit)
-		return 0;
-
-	for (i = 0; (i * alloc_unit) < num_pages; i++) {
+	for (i = 0; i < num_pages / alloc_unit; i++) {
 		if (bl_resp->hdr.size + sizeof(union dm_mem_page_range) >
 			PAGE_SIZE)
 			return i * alloc_unit;
@@ -1252,7 +1249,7 @@
 
 	}
 
-	return num_pages;
+	return i * alloc_unit;
 }
 
 static void balloon_up(struct work_struct *dummy)
@@ -1267,9 +1264,6 @@
 	long avail_pages;
 	unsigned long floor;
 
-	/* The host balloons pages in 2M granularity. */
-	WARN_ON_ONCE(num_pages % PAGES_IN_2M != 0);
-
 	/*
 	 * We will attempt 2M allocations. However, if we fail to
 	 * allocate 2M chunks, we will go back to 4k allocations.
@@ -1279,14 +1273,13 @@
 	avail_pages = si_mem_available();
 	floor = compute_balloon_floor();
 
-	/* Refuse to balloon below the floor, keep the 2M granularity. */
+	/* Refuse to balloon below the floor. */
 	if (avail_pages < num_pages || avail_pages - num_pages < floor) {
 		pr_warn("Balloon request will be partially fulfilled. %s\n",
 			avail_pages < num_pages ? "Not enough memory." :
 			"Balloon floor reached.");
 
 		num_pages = avail_pages > floor ? (avail_pages - floor) : 0;
-		num_pages -= num_pages % PAGES_IN_2M;
 	}
 
 	while (!done) {
diff --git a/drivers/hwmon/adt7462.c b/drivers/hwmon/adt7462.c
index 19f2a6d..bdd7679 100644
--- a/drivers/hwmon/adt7462.c
+++ b/drivers/hwmon/adt7462.c
@@ -426,7 +426,7 @@
 			return 0x95;
 		break;
 	}
-	return -ENODEV;
+	return 0;
 }
 
 /* Provide labels for sysfs */
diff --git a/drivers/hwmon/adt7475.c b/drivers/hwmon/adt7475.c
index f4c7516..0a87c5b 100644
--- a/drivers/hwmon/adt7475.c
+++ b/drivers/hwmon/adt7475.c
@@ -296,9 +296,10 @@
 	long reg;
 
 	if (bypass_attn & (1 << channel))
-		reg = (volt * 1024) / 2250;
+		reg = DIV_ROUND_CLOSEST(volt * 1024, 2250);
 	else
-		reg = (volt * r[1] * 1024) / ((r[0] + r[1]) * 2250);
+		reg = DIV_ROUND_CLOSEST(volt * r[1] * 1024,
+					(r[0] + r[1]) * 2250);
 	return clamp_val(reg, 0, 1023) & (0xff << 2);
 }
 
diff --git a/drivers/hwmon/hwmon.c b/drivers/hwmon/hwmon.c
index 6b3559f..d34de21 100644
--- a/drivers/hwmon/hwmon.c
+++ b/drivers/hwmon/hwmon.c
@@ -51,6 +51,7 @@
 
 #define to_hwmon_attr(d) \
 	container_of(d, struct hwmon_device_attribute, dev_attr)
+#define to_dev_attr(a) container_of(a, struct device_attribute, attr)
 
 /*
  * Thermal zone information
@@ -58,7 +59,7 @@
  * also provides the sensor index.
  */
 struct hwmon_thermal_data {
-	struct hwmon_device *hwdev;	/* Reference to hwmon device */
+	struct device *dev;		/* Reference to hwmon device */
 	int index;			/* sensor index */
 };
 
@@ -95,9 +96,27 @@
 	NULL
 };
 
+static void hwmon_free_attrs(struct attribute **attrs)
+{
+	int i;
+
+	for (i = 0; attrs[i]; i++) {
+		struct device_attribute *dattr = to_dev_attr(attrs[i]);
+		struct hwmon_device_attribute *hattr = to_hwmon_attr(dattr);
+
+		kfree(hattr);
+	}
+	kfree(attrs);
+}
+
 static void hwmon_dev_release(struct device *dev)
 {
-	kfree(to_hwmon_device(dev));
+	struct hwmon_device *hwdev = to_hwmon_device(dev);
+
+	if (hwdev->group.attrs)
+		hwmon_free_attrs(hwdev->group.attrs);
+	kfree(hwdev->groups);
+	kfree(hwdev);
 }
 
 static struct class hwmon_class = {
@@ -121,11 +140,11 @@
 static int hwmon_thermal_get_temp(void *data, int *temp)
 {
 	struct hwmon_thermal_data *tdata = data;
-	struct hwmon_device *hwdev = tdata->hwdev;
+	struct hwmon_device *hwdev = to_hwmon_device(tdata->dev);
 	int ret;
 	long t;
 
-	ret = hwdev->chip->ops->read(&hwdev->dev, hwmon_temp, hwmon_temp_input,
+	ret = hwdev->chip->ops->read(tdata->dev, hwmon_temp, hwmon_temp_input,
 				     tdata->index, &t);
 	if (ret < 0)
 		return ret;
@@ -139,8 +158,7 @@
 	.get_temp = hwmon_thermal_get_temp,
 };
 
-static int hwmon_thermal_add_sensor(struct device *dev,
-				    struct hwmon_device *hwdev, int index)
+static int hwmon_thermal_add_sensor(struct device *dev, int index)
 {
 	struct hwmon_thermal_data *tdata;
 	struct thermal_zone_device *tzd;
@@ -149,10 +167,10 @@
 	if (!tdata)
 		return -ENOMEM;
 
-	tdata->hwdev = hwdev;
+	tdata->dev = dev;
 	tdata->index = index;
 
-	tzd = devm_thermal_zone_of_sensor_register(&hwdev->dev, index, tdata,
+	tzd = devm_thermal_zone_of_sensor_register(dev, index, tdata,
 						   &hwmon_thermal_ops);
 	/*
 	 * If CONFIG_THERMAL_OF is disabled, this returns -ENODEV,
@@ -164,8 +182,7 @@
 	return 0;
 }
 #else
-static int hwmon_thermal_add_sensor(struct device *dev,
-				    struct hwmon_device *hwdev, int index)
+static int hwmon_thermal_add_sensor(struct device *dev, int index)
 {
 	return 0;
 }
@@ -242,8 +259,7 @@
 	       (type == hwmon_fan && attr == hwmon_fan_label);
 }
 
-static struct attribute *hwmon_genattr(struct device *dev,
-				       const void *drvdata,
+static struct attribute *hwmon_genattr(const void *drvdata,
 				       enum hwmon_sensor_types type,
 				       u32 attr,
 				       int index,
@@ -271,7 +287,7 @@
 	if ((mode & S_IWUGO) && !ops->write)
 		return ERR_PTR(-EINVAL);
 
-	hattr = devm_kzalloc(dev, sizeof(*hattr), GFP_KERNEL);
+	hattr = kzalloc(sizeof(*hattr), GFP_KERNEL);
 	if (!hattr)
 		return ERR_PTR(-ENOMEM);
 
@@ -478,8 +494,7 @@
 	return n;
 }
 
-static int hwmon_genattrs(struct device *dev,
-			  const void *drvdata,
+static int hwmon_genattrs(const void *drvdata,
 			  struct attribute **attrs,
 			  const struct hwmon_ops *ops,
 			  const struct hwmon_channel_info *info)
@@ -505,7 +520,7 @@
 			attr_mask &= ~BIT(attr);
 			if (attr >= template_size)
 				return -EINVAL;
-			a = hwmon_genattr(dev, drvdata, info->type, attr, i,
+			a = hwmon_genattr(drvdata, info->type, attr, i,
 					  templates[attr], ops);
 			if (IS_ERR(a)) {
 				if (PTR_ERR(a) != -ENOENT)
@@ -519,8 +534,7 @@
 }
 
 static struct attribute **
-__hwmon_create_attrs(struct device *dev, const void *drvdata,
-		     const struct hwmon_chip_info *chip)
+__hwmon_create_attrs(const void *drvdata, const struct hwmon_chip_info *chip)
 {
 	int ret, i, aindex = 0, nattrs = 0;
 	struct attribute **attrs;
@@ -531,15 +545,17 @@
 	if (nattrs == 0)
 		return ERR_PTR(-EINVAL);
 
-	attrs = devm_kcalloc(dev, nattrs + 1, sizeof(*attrs), GFP_KERNEL);
+	attrs = kcalloc(nattrs + 1, sizeof(*attrs), GFP_KERNEL);
 	if (!attrs)
 		return ERR_PTR(-ENOMEM);
 
 	for (i = 0; chip->info[i]; i++) {
-		ret = hwmon_genattrs(dev, drvdata, &attrs[aindex], chip->ops,
+		ret = hwmon_genattrs(drvdata, &attrs[aindex], chip->ops,
 				     chip->info[i]);
-		if (ret < 0)
+		if (ret < 0) {
+			hwmon_free_attrs(attrs);
 			return ERR_PTR(ret);
+		}
 		aindex += ret;
 	}
 
@@ -581,14 +597,13 @@
 			for (i = 0; groups[i]; i++)
 				ngroups++;
 
-		hwdev->groups = devm_kcalloc(dev, ngroups, sizeof(*groups),
-					     GFP_KERNEL);
+		hwdev->groups = kcalloc(ngroups, sizeof(*groups), GFP_KERNEL);
 		if (!hwdev->groups) {
 			err = -ENOMEM;
 			goto free_hwmon;
 		}
 
-		attrs = __hwmon_create_attrs(dev, drvdata, chip);
+		attrs = __hwmon_create_attrs(drvdata, chip);
 		if (IS_ERR(attrs)) {
 			err = PTR_ERR(attrs);
 			goto free_hwmon;
@@ -633,8 +648,7 @@
 							   hwmon_temp_input, j))
 					continue;
 				if (info[i]->config[j] & HWMON_T_INPUT) {
-					err = hwmon_thermal_add_sensor(dev,
-								hwdev, j);
+					err = hwmon_thermal_add_sensor(hdev, j);
 					if (err) {
 						device_unregister(hdev);
 						goto ida_remove;
@@ -647,7 +661,7 @@
 	return hdev;
 
 free_hwmon:
-	kfree(hwdev);
+	hwmon_dev_release(hdev);
 ida_remove:
 	ida_simple_remove(&hwmon_ida, id);
 	return ERR_PTR(err);
diff --git a/drivers/hwmon/lm75.c b/drivers/hwmon/lm75.c
index 49f4b33..7f28912 100644
--- a/drivers/hwmon/lm75.c
+++ b/drivers/hwmon/lm75.c
@@ -165,7 +165,7 @@
 	temp = DIV_ROUND_CLOSEST(temp  << (resolution - 8),
 				 1000) << (16 - resolution);
 
-	return regmap_write(data->regmap, reg, temp);
+	return regmap_write(data->regmap, reg, (u16)temp);
 }
 
 static umode_t lm75_is_visible(const void *data, enum hwmon_sensor_types type,
diff --git a/drivers/hwmon/nct7802.c b/drivers/hwmon/nct7802.c
index 38ffbdb..779ec8f 100644
--- a/drivers/hwmon/nct7802.c
+++ b/drivers/hwmon/nct7802.c
@@ -32,8 +32,8 @@
 static const u8 REG_VOLTAGE[5] = { 0x09, 0x0a, 0x0c, 0x0d, 0x0e };
 
 static const u8 REG_VOLTAGE_LIMIT_LSB[2][5] = {
-	{ 0x40, 0x00, 0x42, 0x44, 0x46 },
-	{ 0x3f, 0x00, 0x41, 0x43, 0x45 },
+	{ 0x46, 0x00, 0x40, 0x42, 0x44 },
+	{ 0x45, 0x00, 0x3f, 0x41, 0x43 },
 };
 
 static const u8 REG_VOLTAGE_LIMIT_MSB[5] = { 0x48, 0x00, 0x47, 0x47, 0x48 };
diff --git a/drivers/hwmon/pmbus/ibm-cffps.c b/drivers/hwmon/pmbus/ibm-cffps.c
index 93d9a9e..edc70ac 100644
--- a/drivers/hwmon/pmbus/ibm-cffps.c
+++ b/drivers/hwmon/pmbus/ibm-cffps.c
@@ -269,8 +269,8 @@
 	return rc;
 }
 
-static void ibm_cffps_led_brightness_set(struct led_classdev *led_cdev,
-					 enum led_brightness brightness)
+static int ibm_cffps_led_brightness_set(struct led_classdev *led_cdev,
+					enum led_brightness brightness)
 {
 	int rc;
 	struct ibm_cffps *psu = container_of(led_cdev, struct ibm_cffps, led);
@@ -286,9 +286,11 @@
 	rc = i2c_smbus_write_byte_data(psu->client, CFFPS_SYS_CONFIG_CMD,
 				       psu->led_state);
 	if (rc < 0)
-		return;
+		return rc;
 
 	led_cdev->brightness = brightness;
+
+	return 0;
 }
 
 static int ibm_cffps_led_blink_set(struct led_classdev *led_cdev,
@@ -324,7 +326,7 @@
 		 client->addr);
 	psu->led.name = psu->led_name;
 	psu->led.max_brightness = LED_FULL;
-	psu->led.brightness_set = ibm_cffps_led_brightness_set;
+	psu->led.brightness_set_blocking = ibm_cffps_led_brightness_set;
 	psu->led.blink_set = ibm_cffps_led_blink_set;
 
 	rc = devm_led_classdev_register(dev, &psu->led);
diff --git a/drivers/hwmon/pmbus/ltc2978.c b/drivers/hwmon/pmbus/ltc2978.c
index 58b789c..94eea2a 100644
--- a/drivers/hwmon/pmbus/ltc2978.c
+++ b/drivers/hwmon/pmbus/ltc2978.c
@@ -89,8 +89,8 @@
 
 #define LTC_POLL_TIMEOUT		100	/* in milli-seconds */
 
-#define LTC_NOT_BUSY			BIT(5)
-#define LTC_NOT_PENDING			BIT(4)
+#define LTC_NOT_BUSY			BIT(6)
+#define LTC_NOT_PENDING			BIT(5)
 
 /*
  * LTC2978 clears peak data whenever the CLEAR_FAULTS command is executed, which
diff --git a/drivers/hwmon/pmbus/tps53679.c b/drivers/hwmon/pmbus/tps53679.c
index 85b515c..2bc352c 100644
--- a/drivers/hwmon/pmbus/tps53679.c
+++ b/drivers/hwmon/pmbus/tps53679.c
@@ -80,7 +80,14 @@
 static int tps53679_probe(struct i2c_client *client,
 			  const struct i2c_device_id *id)
 {
-	return pmbus_do_probe(client, id, &tps53679_info);
+	struct pmbus_driver_info *info;
+
+	info = devm_kmemdup(&client->dev, &tps53679_info, sizeof(*info),
+			    GFP_KERNEL);
+	if (!info)
+		return -ENOMEM;
+
+	return pmbus_do_probe(client, id, info);
 }
 
 static const struct i2c_device_id tps53679_id[] = {
diff --git a/drivers/hwmon/shtc1.c b/drivers/hwmon/shtc1.c
index decd7df..2a18539 100644
--- a/drivers/hwmon/shtc1.c
+++ b/drivers/hwmon/shtc1.c
@@ -38,7 +38,7 @@
 
 /* constants for reading the ID register */
 #define SHTC1_ID	  0x07
-#define SHTC1_ID_REG_MASK 0x1f
+#define SHTC1_ID_REG_MASK 0x3f
 
 /* delays for non-blocking i2c commands, both in us */
 #define SHTC1_NONBLOCKING_WAIT_TIME_HPM  14400
diff --git a/drivers/hwmon/w83627hf.c b/drivers/hwmon/w83627hf.c
index 8ac89d0..a575e1c 100644
--- a/drivers/hwmon/w83627hf.c
+++ b/drivers/hwmon/w83627hf.c
@@ -130,17 +130,23 @@
 	outb(ld,  sio->sioaddr + 1);
 }
 
-static inline void
+static inline int
 superio_enter(struct w83627hf_sio_data *sio)
 {
+	if (!request_muxed_region(sio->sioaddr, 2, DRVNAME))
+		return -EBUSY;
+
 	outb(0x87, sio->sioaddr);
 	outb(0x87, sio->sioaddr);
+
+	return 0;
 }
 
 static inline void
 superio_exit(struct w83627hf_sio_data *sio)
 {
 	outb(0xAA, sio->sioaddr);
+	release_region(sio->sioaddr, 2);
 }
 
 #define W627_DEVID 0x52
@@ -1278,7 +1284,7 @@
 static int __init w83627hf_find(int sioaddr, unsigned short *addr,
 				struct w83627hf_sio_data *sio_data)
 {
-	int err = -ENODEV;
+	int err;
 	u16 val;
 
 	static __initconst char *const names[] = {
@@ -1290,7 +1296,11 @@
 	};
 
 	sio_data->sioaddr = sioaddr;
-	superio_enter(sio_data);
+	err = superio_enter(sio_data);
+	if (err)
+		return err;
+
+	err = -ENODEV;
 	val = force_id ? force_id : superio_inb(sio_data, DEVID);
 	switch (val) {
 	case W627_DEVID:
@@ -1644,9 +1654,21 @@
 	struct w83627hf_sio_data *sio_data = dev_get_platdata(&pdev->dev);
 	int res = 0xff, sel;
 
-	superio_enter(sio_data);
+	if (superio_enter(sio_data)) {
+		/*
+		 * Some other driver reserved the address space for itself.
+		 * We don't want to fail driver instantiation because of that,
+		 * so display a warning and keep going.
+		 */
+		dev_warn(&pdev->dev,
+			 "Can not read VID data: Failed to enable SuperIO access\n");
+		return res;
+	}
+
 	superio_select(sio_data, W83627HF_LD_GPIO5);
 
+	res = 0xff;
+
 	/* Make sure these GPIO pins are enabled */
 	if (!(superio_inb(sio_data, W83627THF_GPIO5_EN) & (1<<3))) {
 		dev_dbg(&pdev->dev, "GPIO5 disabled, no VID function\n");
@@ -1677,7 +1699,17 @@
 	struct w83627hf_sio_data *sio_data = dev_get_platdata(&pdev->dev);
 	int res = 0xff;
 
-	superio_enter(sio_data);
+	if (superio_enter(sio_data)) {
+		/*
+		 * Some other driver reserved the address space for itself.
+		 * We don't want to fail driver instantiation because of that,
+		 * so display a warning and keep going.
+		 */
+		dev_warn(&pdev->dev,
+			 "Can not read VID data: Failed to enable SuperIO access\n");
+		return res;
+	}
+
 	superio_select(sio_data, W83627HF_LD_HWM);
 
 	/* Make sure these GPIO pins are enabled */
diff --git a/drivers/hwtracing/coresight/coresight-etb10.c b/drivers/hwtracing/coresight/coresight-etb10.c
index 31fcbc3..42ae5ed 100644
--- a/drivers/hwtracing/coresight/coresight-etb10.c
+++ b/drivers/hwtracing/coresight/coresight-etb10.c
@@ -358,9 +358,7 @@
 	int node, cpu = event->cpu;
 	struct cs_buffers *buf;
 
-	if (cpu == -1)
-		cpu = smp_processor_id();
-	node = cpu_to_node(cpu);
+	node = (cpu == -1) ? NUMA_NO_NODE : cpu_to_node(cpu);
 
 	buf = kzalloc_node(sizeof(struct cs_buffers), GFP_KERNEL, node);
 	if (!buf)
diff --git a/drivers/hwtracing/coresight/coresight-tmc-etf.c b/drivers/hwtracing/coresight/coresight-tmc-etf.c
index 1ac9bfd..d1c0b95 100644
--- a/drivers/hwtracing/coresight/coresight-tmc-etf.c
+++ b/drivers/hwtracing/coresight/coresight-tmc-etf.c
@@ -381,9 +381,7 @@
 	int node, cpu = event->cpu;
 	struct cs_buffers *buf;
 
-	if (cpu == -1)
-		cpu = smp_processor_id();
-	node = cpu_to_node(cpu);
+	node = (cpu == -1) ? NUMA_NO_NODE : cpu_to_node(cpu);
 
 	/* Allocate memory structure for interaction with Perf */
 	buf = kzalloc_node(sizeof(struct cs_buffers), GFP_KERNEL, node);
diff --git a/drivers/hwtracing/coresight/coresight.c b/drivers/hwtracing/coresight/coresight.c
index d8e69f8..5e98878 100644
--- a/drivers/hwtracing/coresight/coresight.c
+++ b/drivers/hwtracing/coresight/coresight.c
@@ -1570,6 +1570,8 @@
 		}
 
 		for (i = 0; i < csdev->nr_outport; i++) {
+			if (desc->pdata->child_names[i] == NULL)
+				continue;
 			conns[i].outport = desc->pdata->outports[i];
 			conns[i].child_name = desc->pdata->child_names[i];
 			conns[i].child_port = desc->pdata->child_ports[i];
diff --git a/drivers/hwtracing/coresight/of_coresight.c b/drivers/hwtracing/coresight/of_coresight.c
index 32ac255..36c62dc 100644
--- a/drivers/hwtracing/coresight/of_coresight.c
+++ b/drivers/hwtracing/coresight/of_coresight.c
@@ -50,16 +50,22 @@
 {
 	struct device_node *ep = NULL;
 	int in = 0, out = 0;
+	struct of_endpoint endpoint;
 
 	do {
 		ep = of_graph_get_next_endpoint(node, ep);
 		if (!ep)
 			break;
 
+		if (of_graph_parse_endpoint(ep, &endpoint))
+			continue;
+
 		if (of_property_read_bool(ep, "slave-mode"))
-			in++;
+			in = (endpoint.port + 1 > in) ?
+				endpoint.port + 1 : in;
 		else
-			out++;
+			out = (endpoint.port + 1) > out ?
+				endpoint.port + 1 : out;
 
 	} while (ep);
 
diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
index ee6dd1b..a1c3f0f 100644
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
@@ -1340,6 +1340,17 @@
 	  This driver can also be built as a module. If so, the module will be
 	  called as i2c-opal.
 
+config I2C_MSM_V2
+	tristate "I2C_MSM_V2"
+	depends on ARCH_QCOM
+	help
+	  If you say yes to this option, support will be included for the
+	  built-in I2C interface and its DMA engine on the MSM family
+	  processors.
+
+	  This driver can also be built as a module.  If so, the module
+	  will be called i2c-msm-v2.
+
 config I2C_ZX2967
 	tristate "ZTE ZX2967 I2C support"
 	depends on ARCH_ZX
diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile
index 18b26af..0da8471 100644
--- a/drivers/i2c/busses/Makefile
+++ b/drivers/i2c/busses/Makefile
@@ -115,6 +115,7 @@
 obj-$(CONFIG_I2C_XLR)		+= i2c-xlr.o
 obj-$(CONFIG_I2C_XLP9XX)	+= i2c-xlp9xx.o
 obj-$(CONFIG_I2C_RCAR)		+= i2c-rcar.o
+obj-$(CONFIG_I2C_MSM_V2)        += i2c-msm-v2.o
 obj-$(CONFIG_I2C_ZX2967)	+= i2c-zx2967.o
 
 # External I2C/SMBus adapter drivers
diff --git a/drivers/i2c/busses/i2c-altera.c b/drivers/i2c/busses/i2c-altera.c
index f5e1941..a1cdcfc7 100644
--- a/drivers/i2c/busses/i2c-altera.c
+++ b/drivers/i2c/busses/i2c-altera.c
@@ -182,7 +182,7 @@
 	/* SCL Low Time */
 	writel(t_low, idev->base + ALTR_I2C_SCL_LOW);
 	/* SDA Hold Time, 300ns */
-	writel(div_u64(300 * clk_mhz, 1000), idev->base + ALTR_I2C_SDA_HOLD);
+	writel(3 * clk_mhz / 10, idev->base + ALTR_I2C_SDA_HOLD);
 
 	/* Mask all master interrupt bits */
 	altr_i2c_int_enable(idev, ALTR_I2C_ALL_IRQ, false);
diff --git a/drivers/i2c/busses/i2c-jz4780.c b/drivers/i2c/busses/i2c-jz4780.c
index 30132c3..41ca9ff 100644
--- a/drivers/i2c/busses/i2c-jz4780.c
+++ b/drivers/i2c/busses/i2c-jz4780.c
@@ -82,25 +82,6 @@
 #define JZ4780_I2C_STA_TFNF		BIT(1)
 #define JZ4780_I2C_STA_ACT		BIT(0)
 
-static const char * const jz4780_i2c_abrt_src[] = {
-	"ABRT_7B_ADDR_NOACK",
-	"ABRT_10ADDR1_NOACK",
-	"ABRT_10ADDR2_NOACK",
-	"ABRT_XDATA_NOACK",
-	"ABRT_GCALL_NOACK",
-	"ABRT_GCALL_READ",
-	"ABRT_HS_ACKD",
-	"SBYTE_ACKDET",
-	"ABRT_HS_NORSTRT",
-	"SBYTE_NORSTRT",
-	"ABRT_10B_RD_NORSTRT",
-	"ABRT_MASTER_DIS",
-	"ARB_LOST",
-	"SLVFLUSH_TXFIFO",
-	"SLV_ARBLOST",
-	"SLVRD_INTX",
-};
-
 #define JZ4780_I2C_INTST_IGC		BIT(11)
 #define JZ4780_I2C_INTST_ISTT		BIT(10)
 #define JZ4780_I2C_INTST_ISTP		BIT(9)
@@ -538,21 +519,8 @@
 
 static void jz4780_i2c_txabrt(struct jz4780_i2c *i2c, int src)
 {
-	int i;
-
-	dev_err(&i2c->adap.dev, "txabrt: 0x%08x\n", src);
-	dev_err(&i2c->adap.dev, "device addr=%x\n",
-		jz4780_i2c_readw(i2c, JZ4780_I2C_TAR));
-	dev_err(&i2c->adap.dev, "send cmd count:%d  %d\n",
-		i2c->cmd, i2c->cmd_buf[i2c->cmd]);
-	dev_err(&i2c->adap.dev, "receive data count:%d  %d\n",
-		i2c->cmd, i2c->data_buf[i2c->cmd]);
-
-	for (i = 0; i < 16; i++) {
-		if (src & BIT(i))
-			dev_dbg(&i2c->adap.dev, "I2C TXABRT[%d]=%s\n",
-				i, jz4780_i2c_abrt_src[i]);
-	}
+	dev_dbg(&i2c->adap.dev, "txabrt: 0x%08x, cmd: %d, send: %d, recv: %d\n",
+		src, i2c->cmd, i2c->cmd_buf[i2c->cmd], i2c->data_buf[i2c->cmd]);
 }
 
 static inline int jz4780_i2c_xfer_read(struct jz4780_i2c *i2c,
diff --git a/drivers/i2c/busses/i2c-msm-v2.c b/drivers/i2c/busses/i2c-msm-v2.c
new file mode 100644
index 0000000..d6c0f45
--- /dev/null
+++ b/drivers/i2c/busses/i2c-msm-v2.c
@@ -0,0 +1,3039 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Copyright (c) 2014-2019, 2020, The Linux Foundation. All rights reserved.
+ */
+
+/*
+ * I2C controller driver for Qualcomm Technologies Inc platforms
+ */
+
+#define pr_fmt(fmt) "#%d " fmt "\n", __LINE__
+
+#include <linux/module.h>
+#include <linux/clk.h>
+#include <linux/err.h>
+#include <linux/init.h>
+#include <linux/interrupt.h>
+#include <linux/platform_device.h>
+#include <linux/delay.h>
+#include <linux/io.h>
+#include <linux/mutex.h>
+#include <linux/timer.h>
+#include <linux/time.h>
+#include <linux/slab.h>
+#include <linux/pm_runtime.h>
+#include <linux/dma-mapping.h>
+#include <linux/i2c.h>
+#include <linux/of.h>
+#include <linux/gpio.h>
+#include <linux/of_gpio.h>
+#include <linux/msm-sps.h>
+#include <linux/msm-bus.h>
+#include <linux/msm-bus-board.h>
+#include <linux/i2c-msm-v2.h>
+
+#ifdef DEBUG
+static const enum msm_i2_debug_level DEFAULT_DBG_LVL = MSM_DBG;
+#else
+static const enum msm_i2_debug_level DEFAULT_DBG_LVL = MSM_ERR;
+#endif
+
+/* Forward declarations */
+static bool i2c_msm_xfer_next_buf(struct i2c_msm_ctrl *ctrl);
+static int i2c_msm_xfer_wait_for_completion(struct i2c_msm_ctrl *ctrl,
+						struct completion *complete);
+static int  i2c_msm_pm_resume(struct device *dev);
+static void i2c_msm_pm_suspend(struct device *dev);
+static void i2c_msm_clk_path_init(struct i2c_msm_ctrl *ctrl);
+static struct pinctrl_state *
+	i2c_msm_rsrcs_gpio_get_state(struct i2c_msm_ctrl *ctrl,
+					const char *name);
+static void i2c_msm_pm_pinctrl_state(struct i2c_msm_ctrl *ctrl,
+						bool runtime_active);
+
+/* string table for enum i2c_msm_xfer_mode_id */
+const char * const i2c_msm_mode_str_tbl[] = {
+	"FIFO", "BLOCK", "DMA", "None",
+};
+
+static const u32 i2c_msm_fifo_block_sz_tbl[] = {16, 16, 32, 0};
+
+/* from enum i2c_msm_xfer_mode_id to qup_io_modes register values */
+static const u32 i2c_msm_mode_to_reg_tbl[] = {
+	0x0, /* map I2C_MSM_XFER_MODE_FIFO -> binary 00 */
+	0x1, /* map I2C_MSM_XFER_MODE_BLOCK -> binary 01 */
+	0x3  /* map I2C_MSM_XFER_MODE_DMA -> binary 11 */
+};
+
+const char *i2c_msm_err_str_table[] = {
+	[I2C_MSM_NO_ERR]     = "NONE",
+	[I2C_MSM_ERR_NACK]   = "NACK: slave not responding, ensure its powered",
+	[I2C_MSM_ERR_ARB_LOST] = "ARB_LOST",
+	[I2C_MSM_ERR_BUS_ERR] = "BUS ERROR:noisy bus/unexpected start/stop tag",
+	[I2C_MSM_ERR_TIMEOUT]  = "TIMEOUT_ERROR",
+	[I2C_MSM_ERR_CORE_CLK] = "CLOCK OFF: Check Core Clock",
+	[I2C_MSM_ERR_OVR_UNDR_RUN] = "OVER_UNDER_RUN_ERROR",
+};
+
+static void i2c_msm_dbg_dump_diag(struct i2c_msm_ctrl *ctrl,
+				bool use_param_vals, u32 status, u32 qup_op)
+{
+	struct i2c_msm_xfer *xfer = &ctrl->xfer;
+	const char *str = i2c_msm_err_str_table[xfer->err];
+	char buf[I2C_MSM_REG_2_STR_BUF_SZ];
+
+	if (!use_param_vals) {
+		void __iomem        *base = ctrl->rsrcs.base;
+
+		status = readl_relaxed(base + QUP_I2C_STATUS);
+		qup_op = readl_relaxed(base + QUP_OPERATIONAL);
+	}
+
+	if (xfer->err == I2C_MSM_ERR_TIMEOUT) {
+		/*
+		 * if we are not the bus master or SDA/SCL is low then it may be
+		 * that slave is pulling the lines low. Otherwise it is likely a
+		 * GPIO issue
+		 */
+		if (!(status & QUP_BUS_MASTER))
+			snprintf(buf, I2C_MSM_REG_2_STR_BUF_SZ,
+				"%s(val:%dmsec) misconfigured GPIO or slave pulling bus line(s) low\n",
+				str, jiffies_to_msecs(xfer->timeout));
+		else
+			snprintf(buf, I2C_MSM_REG_2_STR_BUF_SZ,
+			"%s(val:%dmsec)", str, jiffies_to_msecs(xfer->timeout));
+
+		str = buf;
+	}
+
+	/* dump xfer details */
+	dev_err(ctrl->dev,
+		"%s: msgs(n:%d cur:%d %s) bc(rx:%zu tx:%zu) mode:%s slv_addr:0x%0x MSTR_STS:0x%08x OPER:0x%08x\n",
+		str, xfer->msg_cnt, xfer->cur_buf.msg_idx,
+		xfer->cur_buf.is_rx ? "rx" : "tx", xfer->rx_cnt, xfer->tx_cnt,
+		i2c_msm_mode_str_tbl[xfer->mode_id], xfer->msgs->addr,
+		status, qup_op);
+}
+
+static u32 i2c_msm_reg_io_modes_out_blk_sz(u32 qup_io_modes)
+{
+	return i2c_msm_fifo_block_sz_tbl[qup_io_modes & 0x3];
+}
+
+static u32 i2c_msm_reg_io_modes_in_blk_sz(u32 qup_io_modes)
+{
+	return i2c_msm_fifo_block_sz_tbl[BITS_AT(qup_io_modes, 5, 2)];
+}
+
+static const u32 i2c_msm_fifo_sz_table[] = {2, 4, 8, 16};
+
+static void i2c_msm_qup_fifo_calc_size(struct i2c_msm_ctrl *ctrl)
+{
+	u32 reg_data, output_fifo_size, input_fifo_size;
+	struct i2c_msm_xfer_mode_fifo *fifo = &ctrl->xfer.fifo;
+
+	/* Gurad to read fifo size only once. It hard wired and never changes */
+	if (fifo->input_fifo_sz && fifo->output_fifo_sz)
+		return;
+
+	reg_data = readl_relaxed(ctrl->rsrcs.base + QUP_IO_MODES);
+	output_fifo_size  = BITS_AT(reg_data, 2, 2);
+	input_fifo_size   = BITS_AT(reg_data, 7, 2);
+
+	fifo->input_fifo_sz = i2c_msm_reg_io_modes_in_blk_sz(reg_data) *
+					i2c_msm_fifo_sz_table[input_fifo_size];
+	fifo->output_fifo_sz = i2c_msm_reg_io_modes_out_blk_sz(reg_data) *
+					i2c_msm_fifo_sz_table[output_fifo_size];
+
+	i2c_msm_dbg(ctrl, MSM_PROF, "QUP input-sz:%zu, input-sz:%zu\n",
+			fifo->input_fifo_sz, fifo->output_fifo_sz);
+
+}
+
+/*
+ * i2c_msm_tag_byte: accessor for tag as four bytes array
+ */
+static u8 *i2c_msm_tag_byte(struct i2c_msm_tag *tag, int byte_n)
+{
+	return ((u8 *)tag) + byte_n;
+}
+
+/*
+ * i2c_msm_buf_to_ptr: translates a xfer buf to a pointer into the i2c_msg data
+ */
+static u8 *i2c_msm_buf_to_ptr(struct i2c_msm_xfer_buf *buf)
+{
+	struct i2c_msm_xfer *xfer =
+				container_of(buf, struct i2c_msm_xfer, cur_buf);
+	struct i2c_msg *msg = xfer->msgs + buf->msg_idx;
+
+	return msg->buf + buf->byte_idx;
+}
+
+/*
+ * tag_lookup_table[is_new_addr][is_last][is_rx]
+ * @is_new_addr Is start tag required? (which requires two more bytes.)
+ * @is_last     Use the XXXXX_N_STOP tag variant
+ * @is_rx       READ/WRITE
+ */
+static const struct i2c_msm_tag tag_lookup_table[2][2][2] = {
+	{{{QUP_TAG2_DATA_WRITE,					2},
+	   {QUP_TAG2_DATA_READ,					2} },
+	/* last buffer */
+	  {{QUP_TAG2_DATA_WRITE_N_STOP,				2},
+	   {QUP_TAG2_DATA_READ_N_STOP,				2} } },
+	/* new addr */
+	 {{{QUP_TAG2_START | (QUP_TAG2_DATA_WRITE           << 16), 4},
+	   {QUP_TAG2_START | (QUP_TAG2_DATA_READ            << 16), 4} },
+	/* last buffer + new addr */
+	  {{QUP_TAG2_START | (QUP_TAG2_DATA_WRITE_N_STOP    << 16), 4},
+	   {QUP_TAG2_START | (QUP_TAG2_DATA_READ_N_STOP     << 16), 4} } },
+};
+
+/*
+ * i2c_msm_tag_create: format a qup tag ver2
+ */
+static struct i2c_msm_tag i2c_msm_tag_create(bool is_new_addr, bool is_last_buf,
+					bool is_rx, u8 buf_len, u8 slave_addr)
+{
+	struct i2c_msm_tag tag;
+	/* Normalize booleans to 1 or 0 */
+	is_new_addr = is_new_addr ? 1 : 0;
+	is_last_buf = is_last_buf ? 1 : 0;
+	is_rx = is_rx ? 1 : 0;
+
+	tag = tag_lookup_table[is_new_addr][is_last_buf][is_rx];
+	/* fill in the non-const value: the address and the length */
+	if (tag.len == I2C_MSM_TAG2_MAX_LEN) {
+		*i2c_msm_tag_byte(&tag, 1) = slave_addr;
+		*i2c_msm_tag_byte(&tag, 3) = buf_len;
+	} else {
+		*i2c_msm_tag_byte(&tag, 1) = buf_len;
+	}
+
+	return tag;
+}
+
+static int
+i2c_msm_qup_state_wait_valid(struct i2c_msm_ctrl *ctrl,
+			enum i2c_msm_qup_state state, bool only_valid)
+{
+	u32 status;
+	void __iomem  *base     = ctrl->rsrcs.base;
+	int ret      = 0;
+	int read_cnt = 0;
+
+	do {
+		status = readl_relaxed(base + QUP_STATE);
+		++read_cnt;
+
+		/*
+		 * If only valid bit needs to be checked, requested state is
+		 * 'don't care'
+		 */
+		if (status & QUP_STATE_VALID) {
+			if (only_valid)
+				goto poll_valid_end;
+			else if ((state & QUP_I2C_MAST_GEN) &&
+					(status & QUP_I2C_MAST_GEN))
+				goto poll_valid_end;
+			else if ((status & QUP_STATE_MASK) == state)
+				goto poll_valid_end;
+		}
+
+		/*
+		 * Sleeping for 1-1.5 ms for every 100 iterations and break if
+		 * iterations crosses the 1500 marks allows roughly 10-15 msec
+		 * of time to get the core to valid state.
+		 */
+		if (!(read_cnt % 100))
+			usleep_range(1000, 1500);
+	} while (read_cnt <= 1500);
+
+	ret = -ETIMEDOUT;
+	dev_err(ctrl->dev,
+		"error timeout on polling for valid state. check core_clk\n");
+
+poll_valid_end:
+	if (!only_valid)
+		i2c_msm_prof_evnt_add(ctrl, MSM_DBG, I2C_MSM_VALID_END,
+				/* aggregate ret and state */
+				(((-ret) & 0xff) | ((state & 0xf) << 16)),
+				read_cnt, status);
+
+	return ret;
+}
+
+static int i2c_msm_qup_state_set(struct i2c_msm_ctrl *ctrl,
+						enum i2c_msm_qup_state state)
+{
+	if (i2c_msm_qup_state_wait_valid(ctrl, 0, true))
+		return -EIO;
+
+	writel_relaxed(state, ctrl->rsrcs.base + QUP_STATE);
+
+	if (i2c_msm_qup_state_wait_valid(ctrl, state, false))
+		return -EIO;
+
+	return 0;
+}
+
+static int i2c_msm_qup_sw_reset(struct i2c_msm_ctrl *ctrl)
+{
+	int ret;
+
+	writel_relaxed(1, ctrl->rsrcs.base + QUP_SW_RESET);
+	/*
+	 * Ensure that QUP that reset state is written before waiting for a the
+	 * reset state to be valid.
+	 */
+	wmb();
+	ret = i2c_msm_qup_state_wait_valid(ctrl, QUP_STATE_RESET, false);
+	if (ret) {
+		if (atomic_read(&ctrl->xfer.is_active))
+			ctrl->xfer.err = I2C_MSM_ERR_CORE_CLK;
+		dev_err(ctrl->dev, "error on issuing QUP software-reset\n");
+	}
+	return ret;
+}
+
+/*
+ * i2c_msm_qup_xfer_init_reset_state: setup QUP registers for the next run state
+ * @pre QUP must be in reset state.
+ * @pre xfer->mode_id is set to the chosen transfer state
+ * @post update values in QUP_MX_*_COUNT, QUP_CONFIG, QUP_IO_MODES,
+ *       and QUP_OPERATIONAL_MASK registers
+ */
+static void
+i2c_msm_qup_xfer_init_reset_state(struct i2c_msm_ctrl *ctrl)
+{
+	struct i2c_msm_xfer *xfer = &ctrl->xfer;
+	void __iomem * const base = ctrl->rsrcs.base;
+	u32  mx_rd_cnt     = 0;
+	u32  mx_wr_cnt     = 0;
+	u32  mx_in_cnt     = 0;
+	u32  mx_out_cnt    = 0;
+	u32  no_input      = 0;
+	u32  no_output     = 0;
+	u32  input_mode    = i2c_msm_mode_to_reg_tbl[xfer->mode_id] << 12;
+	u32  output_mode   = i2c_msm_mode_to_reg_tbl[xfer->mode_id] << 10;
+	u32  config_reg;
+	u32  io_modes_reg;
+	u32  op_mask;
+	u32  rx_cnt = 0;
+	u32  tx_cnt = 0;
+	/*
+	 * DMA mode:
+	 * 1. QUP_MX_*_COUNT must be zero in all cases.
+	 * 2. both QUP_NO_INPUT and QUP_NO_OUTPUT are unset.
+	 * FIFO mode:
+	 * 1. QUP_MX_INPUT_COUNT and QUP_MX_OUTPUT_COUNT are zero
+	 * 2. QUP_MX_READ_COUNT and QUP_MX_WRITE_COUNT reflect true count
+	 * 3. QUP_NO_INPUT and QUP_NO_OUTPUT are set according to counts
+	 */
+	if (xfer->mode_id != I2C_MSM_XFER_MODE_DMA) {
+		rx_cnt   = xfer->rx_cnt + xfer->rx_ovrhd_cnt;
+		tx_cnt   = xfer->tx_cnt + xfer->tx_ovrhd_cnt;
+		no_input = rx_cnt  ? 0 : QUP_NO_INPUT;
+
+		switch (xfer->mode_id) {
+		case I2C_MSM_XFER_MODE_FIFO:
+			mx_rd_cnt  = rx_cnt;
+			mx_wr_cnt  = tx_cnt;
+			break;
+		case I2C_MSM_XFER_MODE_BLOCK:
+			mx_in_cnt  = rx_cnt;
+			mx_out_cnt = tx_cnt;
+			break;
+		default:
+			break;
+		}
+	}
+
+	/* init DMA/BLOCK modes counter */
+	writel_relaxed(mx_in_cnt,  base + QUP_MX_INPUT_COUNT);
+	writel_relaxed(mx_out_cnt, base + QUP_MX_OUTPUT_COUNT);
+
+	/* int FIFO mode counter */
+	writel_relaxed(mx_rd_cnt, base + QUP_MX_READ_COUNT);
+	writel_relaxed(mx_wr_cnt, base + QUP_MX_WRITE_COUNT);
+
+	/*
+	 * Set QUP mini-core to I2C tags ver-2
+	 * sets NO_INPUT / NO_OUTPUT as needed
+	 */
+	config_reg = readl_relaxed(base + QUP_CONFIG);
+	config_reg &=
+	      ~(QUP_NO_INPUT | QUP_NO_OUTPUT | QUP_N_MASK | QUP_MINI_CORE_MASK);
+	config_reg |= (no_input | no_output | QUP_N_VAL |
+							QUP_MINI_CORE_I2C_VAL);
+	writel_relaxed(config_reg, base + QUP_CONFIG);
+
+	/*
+	 * Turns-on packing/unpacking
+	 * sets NO_INPUT / NO_OUTPUT as needed
+	 */
+	io_modes_reg = readl_relaxed(base + QUP_IO_MODES);
+	io_modes_reg &=
+	   ~(QUP_INPUT_MODE | QUP_OUTPUT_MODE | QUP_PACK_EN | QUP_UNPACK_EN
+	     | QUP_OUTPUT_BIT_SHIFT_EN);
+	io_modes_reg |=
+	   (input_mode | output_mode | QUP_PACK_EN | QUP_UNPACK_EN);
+	writel_relaxed(io_modes_reg, base + QUP_IO_MODES);
+
+	/*
+	 * mask INPUT and OUTPUT service flags in to prevent IRQs on FIFO status
+	 * change on DMA-mode transfers
+	 */
+	op_mask = (xfer->mode_id == I2C_MSM_XFER_MODE_DMA) ?
+		    (QUP_INPUT_SERVICE_MASK | QUP_OUTPUT_SERVICE_MASK) : 0;
+	writel_relaxed(op_mask, base + QUP_OPERATIONAL_MASK);
+	/* Ensure that QUP configuration is written before leaving this func */
+	wmb();
+}
+
+/*
+ * i2c_msm_clk_div_fld:
+ * @clk_freq_out output clock frequency
+ * @fs_div fs divider value
+ * @ht_div high time divider value
+ */
+struct i2c_msm_clk_div_fld {
+	u32                clk_freq_out;
+	u8                 fs_div;
+	u8                 ht_div;
+};
+
+/*
+ * divider values as per HW Designers
+ */
+static struct i2c_msm_clk_div_fld i2c_msm_clk_div_map[] = {
+	{KHz(100), 124, 62},
+	{KHz(400),  28, 14},
+	{KHz(1000),  8,  5},
+};
+
+/*
+ * @return zero on success
+ * @fs_div when zero use value from table above, otherwise use given value
+ * @ht_div when zero use value from table above, otherwise use given value
+ *
+ * Format the value to be configured into the clock divider register. This
+ * register is configured every time core is moved from reset to run state.
+ */
+static int i2c_msm_set_mstr_clk_ctl(struct i2c_msm_ctrl *ctrl, int fs_div,
+			int ht_div, int noise_rjct_scl, int noise_rjct_sda)
+{
+	int ret = 0;
+	int i;
+	u32 reg_val = 0;
+	struct i2c_msm_clk_div_fld *itr = i2c_msm_clk_div_map;
+
+	/* set noise rejection values for scl and sda */
+	reg_val = I2C_MSM_SCL_NOISE_REJECTION(reg_val, noise_rjct_scl);
+	reg_val = I2C_MSM_SDA_NOISE_REJECTION(reg_val, noise_rjct_sda);
+
+	/*
+	 * find matching freq and set divider values unless they are forced
+	 * from parametr list
+	 */
+	for (i = 0; i < ARRAY_SIZE(i2c_msm_clk_div_map); ++i, ++itr) {
+		if (ctrl->rsrcs.clk_freq_out == itr->clk_freq_out) {
+			if (!fs_div)
+				fs_div = itr->fs_div;
+			if (!ht_div)
+				ht_div = itr->ht_div;
+			break;
+		}
+	}
+
+	/* For non-standard clock freq, clk divider value
+	 * fs_div should be supplied by client through device tree
+	 */
+	if (!fs_div) {
+		dev_err(ctrl->dev, "Missing clk divider value in DT for %dKHz\n",
+			(ctrl->rsrcs.clk_freq_out / 1000));
+		return -EINVAL;
+	}
+
+	/* format values in clk-ctl cache */
+	ctrl->mstr_clk_ctl = (reg_val & (~0xff07ff)) | ((ht_div & 0xff) << 16)
+							|(fs_div & 0xff);
+
+	return ret;
+}
+
+/*
+ * i2c_msm_qup_xfer_init_run_state: set qup regs which must be set *after* reset
+ */
+static void i2c_msm_qup_xfer_init_run_state(struct i2c_msm_ctrl *ctrl)
+{
+	void __iomem *base = ctrl->rsrcs.base;
+
+	writel_relaxed(ctrl->mstr_clk_ctl, base + QUP_I2C_MASTER_CLK_CTL);
+
+	/* Ensure that QUP configuration is written before leaving this func */
+	wmb();
+
+	if (ctrl->dbgfs.dbg_lvl == MSM_DBG) {
+		dev_info(ctrl->dev,
+			"QUP state after programming for next transfers\n");
+		i2c_msm_dbg_qup_reg_dump(ctrl);
+	}
+}
+
+static void i2c_msm_fifo_wr_word(struct i2c_msm_ctrl *ctrl, u32 data)
+{
+	writel_relaxed(data, ctrl->rsrcs.base + QUP_OUT_FIFO_BASE);
+	i2c_msm_dbg(ctrl, MSM_DBG, "OUT-FIFO:0x%08x\n", data);
+}
+
+static u32 i2c_msm_fifo_rd_word(struct i2c_msm_ctrl *ctrl, u32 *data)
+{
+	u32 val;
+
+	val = readl_relaxed(ctrl->rsrcs.base + QUP_IN_FIFO_BASE);
+	i2c_msm_dbg(ctrl, MSM_DBG, "IN-FIFO :0x%08x\n", val);
+
+	if (data)
+		*data = val;
+
+	return val;
+}
+
+/*
+ * i2c_msm_fifo_wr_buf_flush:
+ */
+static void i2c_msm_fifo_wr_buf_flush(struct i2c_msm_ctrl *ctrl)
+{
+	struct i2c_msm_xfer_mode_fifo *fifo = &ctrl->xfer.fifo;
+	u32 *word;
+
+	if (!fifo->out_buf_idx)
+		return;
+
+	word = (u32 *) fifo->out_buf;
+	i2c_msm_fifo_wr_word(ctrl, *word);
+	fifo->out_buf_idx = 0;
+	*word = 0;
+}
+
+/*
+ * i2c_msm_fifo_wr_buf:
+ *
+ * @len buf size (in bytes)
+ * @return number of bytes from buf which have been processed (written to
+ *         FIFO or kept in out buffer and will be written later)
+ */
+static size_t
+i2c_msm_fifo_wr_buf(struct i2c_msm_ctrl *ctrl, u8 *buf, size_t len)
+{
+	struct i2c_msm_xfer_mode_fifo *fifo = &ctrl->xfer.fifo;
+	int i;
+
+	for (i = 0 ; i < len; ++i, ++buf) {
+
+		fifo->out_buf[fifo->out_buf_idx] = *buf;
+		++fifo->out_buf_idx;
+
+		if (fifo->out_buf_idx == 4) {
+			u32 *word = (u32 *) fifo->out_buf;
+
+			i2c_msm_fifo_wr_word(ctrl, *word);
+			fifo->out_buf_idx = 0;
+			*word = 0;
+		}
+	}
+	return i;
+}
+
+static size_t i2c_msm_fifo_xfer_wr_tag(struct i2c_msm_ctrl *ctrl)
+{
+	struct i2c_msm_xfer_buf *buf = &ctrl->xfer.cur_buf;
+	size_t len = 0;
+
+	if (ctrl->dbgfs.dbg_lvl >= MSM_DBG) {
+		char str[I2C_MSM_REG_2_STR_BUF_SZ];
+
+		dev_info(ctrl->dev, "tag.val:0x%llx tag.len:%d %s\n",
+			buf->out_tag.val, buf->out_tag.len,
+			i2c_msm_dbg_tag_to_str(&buf->out_tag, str,
+								sizeof(str)));
+	}
+
+	if (buf->out_tag.len) {
+		len = i2c_msm_fifo_wr_buf(ctrl, (u8 *) &buf->out_tag.val,
+							buf->out_tag.len);
+
+		if (len < buf->out_tag.len)
+			goto done;
+
+		buf->out_tag = (struct i2c_msm_tag) {0};
+	}
+done:
+	return len;
+}
+
+/*
+ * i2c_msm_fifo_read: reads up to fifo size into user's buf
+ */
+static void i2c_msm_fifo_read_xfer_buf(struct i2c_msm_ctrl *ctrl)
+{
+	struct i2c_msm_xfer_buf *buf = &ctrl->xfer.cur_buf;
+	struct i2c_msg          *msg = ctrl->xfer.msgs + buf->msg_idx;
+	u8 *p_tag_val   = (u8 *) &buf->in_tag.val;
+	int buf_need_bc = msg->len - buf->byte_idx;
+	u8  word[4];
+	int copy_bc;
+	int word_idx;
+	int word_bc;
+
+	if (!buf->is_rx)
+		return;
+
+	while (buf_need_bc || buf->in_tag.len) {
+		i2c_msm_fifo_rd_word(ctrl, (u32 *) word);
+		word_bc  = sizeof(word);
+		word_idx = 0;
+
+		/*
+		 * copy bytes from fifo word to tag.
+		 * @note buf->in_tag.len (max 2bytes) < word_bc (4bytes)
+		 */
+		if (buf->in_tag.len) {
+			copy_bc = min_t(int, word_bc, buf->in_tag.len);
+
+			memcpy(p_tag_val + buf->in_tag.len, word, copy_bc);
+
+			word_idx        += copy_bc;
+			word_bc         -= copy_bc;
+			buf->in_tag.len -= copy_bc;
+
+			if ((ctrl->dbgfs.dbg_lvl >= MSM_DBG) &&
+							!buf->in_tag.len) {
+				char str[64];
+
+				dev_info(ctrl->dev, "%s\n",
+					i2c_msm_dbg_tag_to_str(&buf->in_tag,
+							str, sizeof(str)));
+			}
+		}
+
+		/* copy bytes from fifo word to user's buffer */
+		copy_bc = min_t(int, word_bc, buf_need_bc);
+		memcpy(msg->buf + buf->byte_idx, word + word_idx, copy_bc);
+
+		buf->byte_idx += copy_bc;
+		buf_need_bc   -= copy_bc;
+	}
+}
+
+/*
+ * i2c_msm_fifo_write_xfer_buf: write xfer.cur_buf (user's-buf + tag) to fifo
+ */
+static void i2c_msm_fifo_write_xfer_buf(struct i2c_msm_ctrl *ctrl)
+{
+	struct i2c_msm_xfer_buf *buf  = &ctrl->xfer.cur_buf;
+	size_t len;
+	size_t tag_len;
+
+	tag_len = buf->out_tag.len;
+	len = i2c_msm_fifo_xfer_wr_tag(ctrl);
+	if (len < tag_len) {
+		dev_err(ctrl->dev, "error on writing tag to out FIFO\n");
+		return;
+	}
+
+	if (!buf->is_rx) {
+		if (ctrl->dbgfs.dbg_lvl >= MSM_DBG) {
+			char str[I2C_MSM_REG_2_STR_BUF_SZ];
+			int  offset = 0;
+			u8  *p      = i2c_msm_buf_to_ptr(buf);
+			int  i;
+
+			for (i = 0 ; i < len; ++i, ++p)
+				offset += scnprintf(str + offset,
+						   sizeof(str) - offset,
+						   "0x%x ", *p);
+			dev_info(ctrl->dev, "data: %s\n", str);
+		}
+
+		len = i2c_msm_fifo_wr_buf(ctrl, i2c_msm_buf_to_ptr(buf),
+						buf->len);
+		if (len < buf->len)
+			dev_err(ctrl->dev, "error on xfering buf with FIFO\n");
+	}
+}
+
+/*
+ * i2c_msm_fifo_xfer_process:
+ *
+ * @pre    transfer size is less then or equal to fifo size.
+ * @pre    QUP in run state/pause
+ * @return zero on success
+ */
+static int i2c_msm_fifo_xfer_process(struct i2c_msm_ctrl *ctrl)
+{
+	struct i2c_msm_xfer_buf first_buf = ctrl->xfer.cur_buf;
+	int ret;
+
+	/* load fifo while in pause state to avoid race conditions */
+	ret = i2c_msm_qup_state_set(ctrl, QUP_STATE_PAUSE);
+	if (ret < 0)
+		return ret;
+
+	/* write all that goes to output fifo */
+	while (i2c_msm_xfer_next_buf(ctrl))
+		i2c_msm_fifo_write_xfer_buf(ctrl);
+
+	i2c_msm_fifo_wr_buf_flush(ctrl);
+
+	ctrl->xfer.cur_buf = first_buf;
+
+	ret = i2c_msm_qup_state_set(ctrl, QUP_STATE_RUN);
+	if (ret < 0)
+		return ret;
+
+	/* wait for input done interrupt */
+	ret = i2c_msm_xfer_wait_for_completion(ctrl, &ctrl->xfer.complete);
+	if (ret < 0)
+		return ret;
+
+	/* read all from input fifo */
+	while (i2c_msm_xfer_next_buf(ctrl))
+		i2c_msm_fifo_read_xfer_buf(ctrl);
+
+	return 0;
+}
+
+/*
+ * i2c_msm_fifo_xfer: process transfer using fifo mode
+ */
+static int i2c_msm_fifo_xfer(struct i2c_msm_ctrl *ctrl)
+{
+	int ret;
+
+	i2c_msm_dbg(ctrl, MSM_DBG, "Starting FIFO transfer\n");
+
+	ret = i2c_msm_qup_state_set(ctrl, QUP_STATE_RESET);
+	if (ret < 0)
+		return ret;
+
+	/* program qup registers */
+	i2c_msm_qup_xfer_init_reset_state(ctrl);
+
+	ret = i2c_msm_qup_state_set(ctrl, QUP_STATE_RUN);
+	if (ret < 0)
+		return ret;
+
+	/* program qup registers which must be set *after* reset */
+	i2c_msm_qup_xfer_init_run_state(ctrl);
+
+	ret = i2c_msm_fifo_xfer_process(ctrl);
+
+	return ret;
+}
+
+/*
+ * i2c_msm_blk_init_struct: Allocate memory and initialize blk structure
+ *
+ * @return 0 on success or error code
+ */
+static int i2c_msm_blk_init_struct(struct i2c_msm_ctrl *ctrl)
+{
+	u32 reg_data = readl_relaxed(ctrl->rsrcs.base + QUP_IO_MODES);
+	int ret;
+	struct i2c_msm_xfer_mode_blk *blk = &ctrl->xfer.blk;
+
+	blk->in_blk_sz  = i2c_msm_reg_io_modes_in_blk_sz(reg_data),
+	blk->out_blk_sz = i2c_msm_reg_io_modes_out_blk_sz(reg_data),
+
+	blk->tx_cache = kmalloc(blk->out_blk_sz, GFP_KERNEL);
+	if (!blk->tx_cache) {
+		ret = -ENOMEM;
+		goto out_buf_err;
+	}
+
+	blk->rx_cache = kmalloc(blk->in_blk_sz, GFP_KERNEL);
+	if (!blk->tx_cache) {
+		ret = -ENOMEM;
+		goto in_buf_err;
+	}
+
+	blk->is_init = true;
+	return 0;
+
+in_buf_err:
+	kfree(blk->tx_cache);
+out_buf_err:
+
+	return ret;
+}
+
+/*
+ * i2c_msm_blk_wr_flush: flushes internal cached block to FIFO
+ *
+ * @return 0 on success or error code
+ */
+static int i2c_msm_blk_wr_flush(struct i2c_msm_ctrl *ctrl)
+{
+	int byte_num;
+	int ret = 0;
+	struct i2c_msm_xfer_mode_blk *blk = &ctrl->xfer.blk;
+	u32 *buf_u32_ptr;
+
+	if (!blk->tx_cache_idx)
+		return 0;
+
+	/* if no blocks available wait for interrupt */
+	ret = i2c_msm_xfer_wait_for_completion(ctrl, &blk->wait_tx_blk);
+	if (ret)
+		return ret;
+
+	/*
+	 * pause the controller until we finish loading the block in order to
+	 * avoid race conditions
+	 */
+	ret = i2c_msm_qup_state_set(ctrl, QUP_STATE_PAUSE);
+	if (ret < 0)
+		return ret;
+	i2c_msm_dbg(ctrl, MSM_DBG, "OUT-BLK:%*phC\n", blk->tx_cache_idx,
+							blk->tx_cache);
+
+	for (byte_num = 0; byte_num < blk->tx_cache_idx;
+						byte_num += sizeof(u32)) {
+		buf_u32_ptr = (u32 *) (blk->tx_cache + byte_num);
+		writel_relaxed(*buf_u32_ptr,
+					ctrl->rsrcs.base + QUP_OUT_FIFO_BASE);
+		*buf_u32_ptr = 0;
+	}
+
+	/* now cache is empty */
+	blk->tx_cache_idx = 0;
+	ret = i2c_msm_qup_state_set(ctrl, QUP_STATE_RUN);
+	if (ret < 0)
+		return ret;
+
+	return ret;
+}
+
+/*
+ * i2c_msm_blk_wr_buf:
+ *
+ * @len buf size (in bytes)
+ * @return number of bytes from buf which have been processed (written to
+ *         FIFO or kept in out buffer and will be written later)
+ */
+static int
+i2c_msm_blk_wr_buf(struct i2c_msm_ctrl *ctrl, const u8 *buf, int len)
+{
+	struct i2c_msm_xfer_mode_blk *blk = &ctrl->xfer.blk;
+	int byte_num;
+	int ret = 0;
+
+	for (byte_num = 0; byte_num < len; ++byte_num, ++buf) {
+		blk->tx_cache[blk->tx_cache_idx] = *buf;
+		++blk->tx_cache_idx;
+
+		/* flush cached buffer to HW FIFO when full */
+		if (blk->tx_cache_idx == blk->out_blk_sz) {
+			ret = i2c_msm_blk_wr_flush(ctrl);
+			if (ret)
+				return ret;
+		}
+	}
+	return byte_num;
+}
+
+/*
+ * i2c_msm_blk_xfer_wr_tag: buffered writing the tag of current buf
+ * @return zero on success
+ */
+static int i2c_msm_blk_xfer_wr_tag(struct i2c_msm_ctrl *ctrl)
+{
+	struct i2c_msm_xfer_buf *buf = &ctrl->xfer.cur_buf;
+	int len = 0;
+
+	if (!buf->out_tag.len)
+		return 0;
+
+	len = i2c_msm_blk_wr_buf(ctrl, (u8 *) &buf->out_tag.val,
+							buf->out_tag.len);
+	if (len != buf->out_tag.len)
+		return -EFAULT;
+
+	buf->out_tag = (struct i2c_msm_tag) {0};
+	return 0;
+}
+
+/*
+ * i2c_msm_blk_wr_xfer_buf: writes ctrl->xfer.cur_buf to HW
+ *
+ * @return zero on success
+ */
+static int i2c_msm_blk_wr_xfer_buf(struct i2c_msm_ctrl *ctrl)
+{
+	struct i2c_msm_xfer_buf *buf  = &ctrl->xfer.cur_buf;
+	int len;
+	int ret;
+
+	ret = i2c_msm_blk_xfer_wr_tag(ctrl);
+	if (ret)
+		return ret;
+
+	len = i2c_msm_blk_wr_buf(ctrl, i2c_msm_buf_to_ptr(buf), buf->len);
+	if (len < buf->len)
+		return -EFAULT;
+
+	buf->byte_idx += len;
+	return 0;
+}
+
+/*
+ * i2c_msm_blk_rd_blk: read a block from HW FIFO to internal cache
+ *
+ * @return number of bytes read or negative error value
+ * @need_bc number of bytes that we need
+ *
+ * uses internal counter to keep track of number of available blocks. When
+ * zero, waits for interrupt.
+ */
+static int i2c_msm_blk_rd_blk(struct i2c_msm_ctrl *ctrl, int need_bc)
+{
+	int byte_num;
+	int ret = 0;
+	struct i2c_msm_xfer_mode_blk *blk = &ctrl->xfer.blk;
+	u32 *cache_ptr = (u32 *) blk->rx_cache;
+	int read_bc    = min_t(int, blk->in_blk_sz, need_bc);
+
+	/* wait for block avialble interrupt */
+	ret = i2c_msm_xfer_wait_for_completion(ctrl, &blk->wait_rx_blk);
+	if (ret)
+		return ret;
+
+	/* Read block from HW to cache */
+	for (byte_num = 0; byte_num < blk->in_blk_sz;
+					byte_num += sizeof(u32)) {
+		if (byte_num < read_bc) {
+			*cache_ptr = readl_relaxed(ctrl->rsrcs.base +
+							QUP_IN_FIFO_BASE);
+			++cache_ptr;
+		}
+	}
+	blk->rx_cache_idx = 0;
+	return read_bc;
+}
+
+/*
+ * i2c_msm_blk_rd_xfer_buf: fill in ctrl->xfer.cur_buf from HW
+ *
+ * @return zero on success
+ */
+static int i2c_msm_blk_rd_xfer_buf(struct i2c_msm_ctrl *ctrl)
+{
+	struct i2c_msm_xfer_mode_blk *blk = &ctrl->xfer.blk;
+	struct i2c_msm_xfer_buf *buf      = &ctrl->xfer.cur_buf;
+	struct i2c_msg *msg               = ctrl->xfer.msgs + buf->msg_idx;
+	int    copy_bc;         /* number of bytes to copy to user's buffer */
+	int    cache_avail_bc;
+	int    ret = 0;
+
+	/* write tag to out FIFO */
+	ret = i2c_msm_blk_xfer_wr_tag(ctrl);
+	if (ret)
+		return ret;
+	i2c_msm_blk_wr_flush(ctrl);
+
+	while (buf->len || buf->in_tag.len) {
+		cache_avail_bc = i2c_msm_blk_rd_blk(ctrl,
+						buf->len + buf->in_tag.len);
+
+		i2c_msm_dbg(ctrl, MSM_DBG, "IN-BLK:%*phC\n", cache_avail_bc,
+					blk->rx_cache + blk->rx_cache_idx);
+
+		if (cache_avail_bc < 0)
+			return cache_avail_bc;
+
+		/* discard tag from input FIFO */
+		if (buf->in_tag.len) {
+			int discard_bc = min_t(int, cache_avail_bc,
+							buf->in_tag.len);
+			blk->rx_cache_idx += discard_bc;
+			buf->in_tag.len   -= discard_bc;
+			cache_avail_bc    -= discard_bc;
+		}
+
+		/* copy bytes from cached block to user's buffer */
+		copy_bc = min_t(int, cache_avail_bc, buf->len);
+		memcpy(msg->buf + buf->byte_idx,
+			blk->rx_cache + blk->rx_cache_idx, copy_bc);
+
+		blk->rx_cache_idx += copy_bc;
+		buf->len          -= copy_bc;
+		buf->byte_idx     += copy_bc;
+	}
+	return ret;
+}
+
+/*
+ * i2c_msm_blk_xfer: process transfer using block mode
+ */
+static int i2c_msm_blk_xfer(struct i2c_msm_ctrl *ctrl)
+{
+	int ret = 0;
+	struct i2c_msm_xfer_buf      *buf = &ctrl->xfer.cur_buf;
+	struct i2c_msm_xfer_mode_blk *blk = &ctrl->xfer.blk;
+
+	if (!blk->is_init) {
+		ret = i2c_msm_blk_init_struct(ctrl);
+		if (!blk->is_init)
+			return ret;
+	}
+
+	init_completion(&blk->wait_rx_blk);
+	init_completion(&blk->wait_tx_blk);
+
+	/* tx_cnt > 0 always */
+	blk->complete_mask = QUP_MAX_OUTPUT_DONE_FLAG;
+	if (ctrl->xfer.rx_cnt)
+		blk->complete_mask |= QUP_MAX_INPUT_DONE_FLAG;
+
+	/* initialize block mode for new transfer */
+	blk->tx_cache_idx = 0;
+	blk->rx_cache_idx = 0;
+
+	ret = i2c_msm_qup_state_set(ctrl, QUP_STATE_RESET);
+	if (ret < 0)
+		return ret;
+
+	/* program qup registers */
+	i2c_msm_qup_xfer_init_reset_state(ctrl);
+
+	ret = i2c_msm_qup_state_set(ctrl, QUP_STATE_RUN);
+	if (ret < 0)
+		return ret;
+
+	/* program qup registers which must be set *after* reset */
+	i2c_msm_qup_xfer_init_run_state(ctrl);
+
+	while (i2c_msm_xfer_next_buf(ctrl)) {
+		if (buf->is_rx) {
+			ret = i2c_msm_blk_rd_xfer_buf(ctrl);
+			if (ret)
+				return ret;
+			/*
+			 * SW workaround to wait for extra interrupt from
+			 * hardware for last block in block mode for read
+			 */
+			if (buf->is_last) {
+				ret = i2c_msm_xfer_wait_for_completion(ctrl,
+							&blk->wait_rx_blk);
+				if (!ret)
+					complete(&ctrl->xfer.complete);
+			}
+		} else {
+			ret = i2c_msm_blk_wr_xfer_buf(ctrl);
+			if (ret)
+				return ret;
+		}
+	}
+	i2c_msm_blk_wr_flush(ctrl);
+	return i2c_msm_xfer_wait_for_completion(ctrl, &ctrl->xfer.complete);
+}
+
+/*
+ * i2c_msm_dma_xfer_prepare: map DMA buffers, and create tags.
+ * @return zero on success or negative error value
+ */
+static int i2c_msm_dma_xfer_prepare(struct i2c_msm_ctrl *ctrl)
+{
+	struct i2c_msm_xfer_mode_dma *dma  = &ctrl->xfer.dma;
+	struct i2c_msm_xfer_buf      *buf  = &ctrl->xfer.cur_buf;
+	struct i2c_msm_dma_chan      *tx = &dma->chan[I2C_MSM_DMA_TX];
+	struct i2c_msm_dma_chan      *rx = &dma->chan[I2C_MSM_DMA_RX];
+	struct i2c_msm_dma_buf *dma_buf;
+	int                     rem_buf_cnt = I2C_MSM_DMA_DESC_ARR_SIZ;
+	struct i2c_msg         *cur_msg;
+	enum dma_data_direction buf_dma_dirctn;
+	struct i2c_msm_dma_mem  data;
+	u8        *tag_arr_itr_vrtl_addr;
+	dma_addr_t tag_arr_itr_phy_addr;
+
+	tx->desc_cnt_cur    = 0;
+	rx->desc_cnt_cur    = 0;
+	dma->buf_arr_cnt      = 0;
+	dma_buf               = dma->buf_arr;
+	tag_arr_itr_vrtl_addr = ((u8 *) dma->tag_arr.vrtl_addr);
+	tag_arr_itr_phy_addr  = dma->tag_arr.phy_addr;
+
+	for (; i2c_msm_xfer_next_buf(ctrl) && rem_buf_cnt;
+		++dma_buf,
+		tag_arr_itr_phy_addr  += sizeof(dma_addr_t),
+		tag_arr_itr_vrtl_addr += sizeof(dma_addr_t)) {
+
+		/* dma-map the client's message */
+		cur_msg        = ctrl->xfer.msgs + buf->msg_idx;
+		data.vrtl_addr = cur_msg->buf + buf->byte_idx;
+		if (buf->is_rx) {
+			buf_dma_dirctn  = DMA_FROM_DEVICE;
+			rx->desc_cnt_cur += 2; /* msg + tag */
+			tx->desc_cnt_cur += 1; /* tag */
+		} else {
+			buf_dma_dirctn  = DMA_TO_DEVICE;
+			tx->desc_cnt_cur += 2; /* msg + tag */
+		}
+
+		/* for last buffer in a transfer msg */
+		if (buf->is_last) {
+			/* add ovrhead byte cnt for tags specific to DMA mode */
+			ctrl->xfer.rx_ovrhd_cnt += 2; /* EOT+FLUSH_STOP tags*/
+			ctrl->xfer.tx_ovrhd_cnt += 2; /* EOT+FLUSH_STOP tags */
+
+			/* increment rx desc cnt to read off tags and
+			 * increment tx desc cnt to queue EOT+FLUSH_STOP tags
+			 */
+			tx->desc_cnt_cur++;
+			rx->desc_cnt_cur++;
+		}
+
+		if ((rx->desc_cnt_cur >= I2C_MSM_DMA_RX_SZ) ||
+		    (tx->desc_cnt_cur >= I2C_MSM_DMA_TX_SZ))
+			return -ENOMEM;
+
+		data.phy_addr = dma_map_single(ctrl->dev, data.vrtl_addr,
+						buf->len, buf_dma_dirctn);
+
+		if (dma_mapping_error(ctrl->dev, data.phy_addr)) {
+			dev_err(ctrl->dev,
+			  "error DMA mapping DMA buffers, err:%lld buf_vrtl:0x%pK data_len:%d dma_dir:%s\n",
+			  (u64) data.phy_addr, data.vrtl_addr, buf->len,
+			  ((buf_dma_dirctn == DMA_FROM_DEVICE)
+				? "DMA_FROM_DEVICE" : "DMA_TO_DEVICE"));
+			return -EFAULT;
+		}
+
+		/* copy 8 bytes. Only tag.len bytes will be used */
+		*((u64 *)tag_arr_itr_vrtl_addr) =  buf->out_tag.val;
+
+		i2c_msm_dbg(ctrl, MSM_DBG,
+			"vrtl:0x%pK phy:0x%llx val:0x%llx sizeof(dma_addr_t):%zu\n",
+			tag_arr_itr_vrtl_addr, (u64) tag_arr_itr_phy_addr,
+			*((u64 *)tag_arr_itr_vrtl_addr), sizeof(dma_addr_t));
+
+		/*
+		 * create dma buf, in the dma buf arr, based on the buf created
+		 * by i2c_msm_xfer_next_buf()
+		 */
+		*dma_buf = (struct i2c_msm_dma_buf) {
+			.ptr      = data,
+			.len      = buf->len,
+			.dma_dir  = buf_dma_dirctn,
+			.is_rx    = buf->is_rx,
+			.is_last  = buf->is_last,
+			.tag      = (struct i2c_msm_dma_tag) {
+				.buf = tag_arr_itr_phy_addr,
+				.len = buf->out_tag.len,
+			},
+		};
+		++dma->buf_arr_cnt;
+		--rem_buf_cnt;
+	}
+	return 0;
+}
+
+/*
+ * i2c_msm_dma_xfer_unprepare: DAM unmap buffers.
+ */
+static void i2c_msm_dma_xfer_unprepare(struct i2c_msm_ctrl *ctrl)
+{
+	int i;
+	struct i2c_msm_dma_buf *buf_itr = ctrl->xfer.dma.buf_arr;
+
+	for (i = 0 ; i < ctrl->xfer.dma.buf_arr_cnt ; ++i, ++buf_itr)
+		dma_unmap_single(ctrl->dev, buf_itr->ptr.phy_addr, buf_itr->len,
+							buf_itr->dma_dir);
+}
+
+static void i2c_msm_dma_callback_tx_complete(void *dma_async_param)
+{
+	struct i2c_msm_ctrl *ctrl = dma_async_param;
+
+	complete(&ctrl->xfer.complete);
+}
+
+static void i2c_msm_dma_callback_rx_complete(void *dma_async_param)
+{
+	struct i2c_msm_ctrl *ctrl = dma_async_param;
+
+	complete(&ctrl->xfer.rx_complete);
+}
+
+/*
+ * i2c_msm_dma_xfer_process: Queue transfers to DMA
+ * @pre 1)QUP is in run state. 2) i2c_msm_dma_xfer_prepare() was called.
+ * @return zero on success or negative error value
+ */
+static int i2c_msm_dma_xfer_process(struct i2c_msm_ctrl *ctrl)
+{
+	struct i2c_msm_xfer_mode_dma *dma = &ctrl->xfer.dma;
+	struct i2c_msm_dma_chan *tx       = &dma->chan[I2C_MSM_DMA_TX];
+	struct i2c_msm_dma_chan *rx       = &dma->chan[I2C_MSM_DMA_RX];
+	struct scatterlist *sg_rx         = NULL;
+	struct scatterlist *sg_rx_itr     = NULL;
+	struct scatterlist *sg_tx         = NULL;
+	struct scatterlist *sg_tx_itr     = NULL;
+	struct dma_async_tx_descriptor     *dma_desc_rx;
+	struct dma_async_tx_descriptor     *dma_desc_tx;
+	struct i2c_msm_dma_buf             *buf_itr;
+	int  i;
+	int  ret = 0;
+
+	i2c_msm_dbg(ctrl, MSM_DBG, "Going to enqueue %zu buffers in DMA\n",
+							dma->buf_arr_cnt);
+
+	/* Set the QUP State to pause while DMA completes the txn */
+	ret = i2c_msm_qup_state_set(ctrl, QUP_STATE_PAUSE);
+	if (ret) {
+		dev_err(ctrl->dev, "transition to pause state failed before DMA transaction :%d\n",
+									ret);
+		return ret;
+	}
+
+	sg_tx = kcalloc(tx->desc_cnt_cur, sizeof(struct scatterlist),
+								GFP_KERNEL);
+	if (!sg_tx) {
+		ret = -ENOMEM;
+		goto dma_xfer_end;
+	}
+	sg_init_table(sg_tx, tx->desc_cnt_cur);
+	sg_tx_itr = sg_tx;
+
+	sg_rx = kcalloc(rx->desc_cnt_cur, sizeof(struct scatterlist),
+								GFP_KERNEL);
+	if (!sg_rx) {
+		ret = -ENOMEM;
+		goto dma_xfer_end;
+	}
+	sg_init_table(sg_rx, rx->desc_cnt_cur);
+	sg_rx_itr = sg_rx;
+
+	buf_itr = dma->buf_arr;
+
+	for (i = 0; i < dma->buf_arr_cnt ; ++i, ++buf_itr) {
+		/* Queue tag */
+		sg_dma_address(sg_tx_itr) = buf_itr->tag.buf;
+		sg_dma_len(sg_tx_itr) = buf_itr->tag.len;
+		++sg_tx_itr;
+
+		/* read off tag + len bytes(don't care) in input FIFO
+		 * on read transfer
+		 */
+		if (buf_itr->is_rx) {
+			/* rid of input tag */
+			sg_dma_address(sg_rx_itr) =
+					ctrl->xfer.dma.input_tag.phy_addr;
+			sg_dma_len(sg_rx_itr)     = QUP_BUF_OVERHD_BC;
+			++sg_rx_itr;
+
+			/* queue data buffer */
+			sg_dma_address(sg_rx_itr) = buf_itr->ptr.phy_addr;
+			sg_dma_len(sg_rx_itr)     = buf_itr->len;
+			++sg_rx_itr;
+		} else {
+			sg_dma_address(sg_tx_itr) = buf_itr->ptr.phy_addr;
+			sg_dma_len(sg_tx_itr)     = buf_itr->len;
+			++sg_tx_itr;
+		}
+	}
+
+	/* this tag will be copied to rx fifo */
+	sg_dma_address(sg_tx_itr) = dma->eot_n_flush_stop_tags.phy_addr;
+	sg_dma_len(sg_tx_itr)     = QUP_BUF_OVERHD_BC;
+	++sg_tx_itr;
+
+	/*
+	 * Reading the tag off the input fifo has side effects and
+	 * it is mandatory for getting the DMA's interrupt.
+	 */
+	sg_dma_address(sg_rx_itr) = ctrl->xfer.dma.input_tag.phy_addr;
+	sg_dma_len(sg_rx_itr)     = QUP_BUF_OVERHD_BC;
+	++sg_rx_itr;
+
+	/*
+	 * We only want a single BAM interrupt per transfer, and we always
+	 * add a flush-stop i2c tag as the last tx sg entry. Since the dma
+	 * driver puts the supplied BAM flags only on the last BAM descriptor,
+	 * the flush stop will always be the one which generate that interrupt
+	 * and invokes the callback.
+	 */
+	dma_desc_tx = dmaengine_prep_slave_sg(tx->dma_chan,
+						sg_tx,
+						sg_tx_itr - sg_tx,
+						tx->dir,
+						(SPS_IOVEC_FLAG_EOT |
+							SPS_IOVEC_FLAG_NWD));
+	if (IS_ERR_OR_NULL(dma_desc_tx)) {
+		dev_err(ctrl->dev, "error dmaengine_prep_slave_sg tx:%ld\n",
+							PTR_ERR(dma_desc_tx));
+		ret = dma_desc_tx ? PTR_ERR(dma_desc_tx) : -ENOMEM;
+		goto dma_xfer_end;
+	}
+
+	/* callback defined for tx dma desc */
+	dma_desc_tx->callback       = i2c_msm_dma_callback_tx_complete;
+	dma_desc_tx->callback_param = ctrl;
+	dmaengine_submit(dma_desc_tx);
+	dma_async_issue_pending(tx->dma_chan);
+
+	/* queue the rx dma desc */
+	dma_desc_rx = dmaengine_prep_slave_sg(rx->dma_chan, sg_rx,
+					sg_rx_itr - sg_rx, rx->dir,
+					(SPS_IOVEC_FLAG_EOT |
+							SPS_IOVEC_FLAG_NWD));
+	if (IS_ERR_OR_NULL(dma_desc_rx)) {
+		dev_err(ctrl->dev,
+			"error dmaengine_prep_slave_sg rx:%ld\n",
+						PTR_ERR(dma_desc_rx));
+		ret = dma_desc_rx ? PTR_ERR(dma_desc_rx) : -ENOMEM;
+		goto dma_xfer_end;
+	}
+
+	dma_desc_rx->callback       = i2c_msm_dma_callback_rx_complete;
+	dma_desc_rx->callback_param = ctrl;
+	dmaengine_submit(dma_desc_rx);
+	dma_async_issue_pending(rx->dma_chan);
+
+	/* Set the QUP State to Run when completes the txn */
+	ret = i2c_msm_qup_state_set(ctrl, QUP_STATE_RUN);
+	if (ret) {
+		dev_err(ctrl->dev, "transition to run state failed before DMA transaction :%d\n",
+									ret);
+		goto dma_xfer_end;
+	}
+
+	ret = i2c_msm_xfer_wait_for_completion(ctrl, &ctrl->xfer.complete);
+	if (!ret && ctrl->xfer.rx_cnt)
+		ret = i2c_msm_xfer_wait_for_completion(ctrl,
+						&ctrl->xfer.rx_complete);
+
+dma_xfer_end:
+	/* free scatter-gather lists */
+	kfree(sg_tx);
+	kfree(sg_rx);
+
+	return ret;
+}
+
+static void i2c_msm_dma_free_channels(struct i2c_msm_ctrl *ctrl)
+{
+	int i;
+
+	for (i = 0; i < I2C_MSM_DMA_CNT; ++i) {
+		struct i2c_msm_dma_chan *chan = &ctrl->xfer.dma.chan[i];
+
+		if (!chan->is_init)
+			continue;
+
+		dma_release_channel(chan->dma_chan);
+		chan->is_init  = false;
+		chan->dma_chan = NULL;
+	}
+	if (ctrl->xfer.dma.state > I2C_MSM_DMA_INIT_CORE)
+		ctrl->xfer.dma.state = I2C_MSM_DMA_INIT_CORE;
+}
+
+static const char * const i2c_msm_dma_chan_name[] = {"tx", "rx"};
+
+static int i2c_msm_dmaengine_dir[] = {
+	DMA_MEM_TO_DEV, DMA_DEV_TO_MEM
+};
+
+static int i2c_msm_dma_init_channels(struct i2c_msm_ctrl *ctrl)
+{
+	int ret = 0;
+	int i;
+
+	/* Iterate over the dma channels to initialize them */
+	for (i = 0; i < I2C_MSM_DMA_CNT; ++i) {
+		struct dma_slave_config cfg = {0};
+		struct i2c_msm_dma_chan *chan = &ctrl->xfer.dma.chan[i];
+
+		if (chan->is_init)
+			continue;
+
+		chan->name     = i2c_msm_dma_chan_name[i];
+		chan->dma_chan = dma_request_slave_channel(ctrl->dev,
+								chan->name);
+		if (!chan->dma_chan) {
+			dev_err(ctrl->dev,
+				"error dma_request_slave_channel(dev:%s chan:%s)\n",
+				dev_name(ctrl->dev), chan->name);
+			/* free the channels if allocated before */
+			i2c_msm_dma_free_channels(ctrl);
+			return -ENODEV;
+		}
+
+		chan->dir = cfg.direction = i2c_msm_dmaengine_dir[i];
+		ret = dmaengine_slave_config(chan->dma_chan, &cfg);
+		if (ret) {
+			dev_err(ctrl->dev,
+			"error:%d dmaengine_slave_config(chan:%s)\n",
+						ret, chan->name);
+			dma_release_channel(chan->dma_chan);
+			chan->dma_chan = NULL;
+			i2c_msm_dma_free_channels(ctrl);
+			return ret;
+		}
+		chan->is_init = true;
+	}
+	ctrl->xfer.dma.state = I2C_MSM_DMA_INIT_CHAN;
+	return 0;
+}
+
+static void i2c_msm_dma_teardown(struct i2c_msm_ctrl *ctrl)
+{
+	struct i2c_msm_xfer_mode_dma *dma = &ctrl->xfer.dma;
+
+	i2c_msm_dma_free_channels(ctrl);
+
+	if (dma->state > I2C_MSM_DMA_INIT_NONE)
+		dma_free_coherent(ctrl->dev, I2C_MSM_DMA_TAG_MEM_SZ,
+				  dma->input_tag.vrtl_addr,
+				  dma->input_tag.phy_addr);
+
+	dma->state = I2C_MSM_DMA_INIT_NONE;
+}
+
+static int i2c_msm_dma_init(struct i2c_msm_ctrl *ctrl)
+{
+	struct i2c_msm_xfer_mode_dma *dma = &ctrl->xfer.dma;
+	u8             *tags_space_virt_addr;
+	dma_addr_t      tags_space_phy_addr;
+
+	/* check if DMA core is initialized */
+	if (dma->state > I2C_MSM_DMA_INIT_NONE)
+		goto dma_core_is_init;
+
+	/*
+	 * allocate dma memory for input_tag + eot_n_flush_stop_tags + tag_arr
+	 * for more see: I2C_MSM_DMA_TAG_MEM_SZ definition
+	 */
+	tags_space_virt_addr = dma_alloc_coherent(
+						ctrl->dev,
+						I2C_MSM_DMA_TAG_MEM_SZ,
+						&tags_space_phy_addr,
+						GFP_KERNEL);
+	if (!tags_space_virt_addr) {
+		dev_err(ctrl->dev,
+		  "error alloc %d bytes of DMAable memory for DMA tags space\n",
+		  I2C_MSM_DMA_TAG_MEM_SZ);
+		return -ENOMEM;
+	}
+
+	/*
+	 * set the dma-tags virtual and physical addresses:
+	 * 1) the first tag space is for the input (throw away) tag
+	 */
+	dma->input_tag.vrtl_addr  = tags_space_virt_addr;
+	dma->input_tag.phy_addr   = tags_space_phy_addr;
+
+	/* 2) second tag space is for eot_flush_stop tag which is const value */
+	tags_space_virt_addr += I2C_MSM_TAG2_MAX_LEN;
+	tags_space_phy_addr  += I2C_MSM_TAG2_MAX_LEN;
+	dma->eot_n_flush_stop_tags.vrtl_addr = tags_space_virt_addr;
+	dma->eot_n_flush_stop_tags.phy_addr  = tags_space_phy_addr;
+
+	/* set eot_n_flush_stop_tags value */
+	*((u16 *) dma->eot_n_flush_stop_tags.vrtl_addr) =
+				QUP_TAG2_INPUT_EOT | (QUP_TAG2_FLUSH_STOP << 8);
+
+	/* 3) all other tag spaces are used for transfer tags */
+	tags_space_virt_addr  += I2C_MSM_TAG2_MAX_LEN;
+	tags_space_phy_addr   += I2C_MSM_TAG2_MAX_LEN;
+	dma->tag_arr.vrtl_addr = tags_space_virt_addr;
+	dma->tag_arr.phy_addr  = tags_space_phy_addr;
+
+	dma->state = I2C_MSM_DMA_INIT_CORE;
+
+dma_core_is_init:
+	return i2c_msm_dma_init_channels(ctrl);
+}
+
+static int i2c_msm_dma_xfer(struct i2c_msm_ctrl *ctrl)
+{
+	int ret;
+
+	ret = i2c_msm_dma_init(ctrl);
+	if (ret) {
+		dev_err(ctrl->dev, "DMA Init Failed: %d\n", ret);
+		return ret;
+	}
+
+	/* dma map user's buffers and create tags */
+	ret = i2c_msm_dma_xfer_prepare(ctrl);
+	if (ret < 0) {
+		dev_err(ctrl->dev, "error on i2c_msm_dma_xfer_prepare():%d\n",
+									ret);
+		goto err_dma_xfer;
+	}
+
+	ret = i2c_msm_qup_state_set(ctrl, QUP_STATE_RESET);
+	if (ret < 0)
+		goto err_dma_xfer;
+
+	/* program qup registers */
+	i2c_msm_qup_xfer_init_reset_state(ctrl);
+
+	ret = i2c_msm_qup_state_set(ctrl, QUP_STATE_RUN);
+	if (ret < 0)
+		goto err_dma_xfer;
+
+	/* program qup registers which must be set *after* reset */
+	i2c_msm_qup_xfer_init_run_state(ctrl);
+
+	/* enqueue transfer buffers */
+	ret = i2c_msm_dma_xfer_process(ctrl);
+	if (ret)
+		dev_err(ctrl->dev,
+			"error i2c_msm_dma_xfer_process(n_bufs:%zu):%d\n",
+			ctrl->xfer.dma.buf_arr_cnt, ret);
+
+err_dma_xfer:
+	i2c_msm_dma_xfer_unprepare(ctrl);
+	return ret;
+}
+
+/*
+ * i2c_msm_qup_slv_holds_bus: true when slave hold the SDA low
+ */
+static bool i2c_msm_qup_slv_holds_bus(struct i2c_msm_ctrl *ctrl)
+{
+	u32 status = readl_relaxed(ctrl->rsrcs.base + QUP_I2C_STATUS);
+
+	bool slv_holds_bus =	!(status & QUP_I2C_SDA) &&
+				(status & QUP_BUS_ACTIVE) &&
+				!(status & QUP_BUS_MASTER);
+	if (slv_holds_bus)
+		dev_info(ctrl->dev,
+			"bus lines held low by a slave detected\n");
+
+	return slv_holds_bus;
+}
+
+/*
+ * i2c_msm_qup_poll_bus_active_unset: poll until QUP_BUS_ACTIVE is unset
+ *
+ * @return zero when bus inactive, or nonzero on timeout.
+ *
+ * Loop and reads QUP_I2C_MASTER_STATUS until bus is inactive or timeout
+ * reached. Used to avoid race condition due to gap between QUP completion
+ * interrupt and QUP issuing stop signal on the bus.
+ */
+static int i2c_msm_qup_poll_bus_active_unset(struct i2c_msm_ctrl *ctrl)
+{
+	void __iomem *base    = ctrl->rsrcs.base;
+	ulong timeout = jiffies + msecs_to_jiffies(I2C_MSM_MAX_POLL_MSEC);
+	int    ret      = 0;
+	size_t read_cnt = 0;
+
+	do {
+		if (!(readl_relaxed(base + QUP_I2C_STATUS) & QUP_BUS_ACTIVE))
+			goto poll_active_end;
+		++read_cnt;
+	} while (time_before_eq(jiffies, timeout));
+
+	ret = -EBUSY;
+
+poll_active_end:
+	/* second logged value is time-left before timeout or zero if expired */
+	i2c_msm_prof_evnt_add(ctrl, MSM_DBG, I2C_MSM_ACTV_END,
+				ret, (ret ? 0 : (timeout - jiffies)), read_cnt);
+
+	return ret;
+}
+
+static void i2c_msm_clk_path_vote(struct i2c_msm_ctrl *ctrl)
+{
+	i2c_msm_clk_path_init(ctrl);
+
+	if (ctrl->rsrcs.clk_path_vote.client_hdl)
+		msm_bus_scale_client_update_request(
+					ctrl->rsrcs.clk_path_vote.client_hdl,
+					I2C_MSM_CLK_PATH_RESUME_VEC);
+}
+
+static void i2c_msm_clk_path_unvote(struct i2c_msm_ctrl *ctrl)
+{
+	if (ctrl->rsrcs.clk_path_vote.client_hdl)
+		msm_bus_scale_client_update_request(
+					ctrl->rsrcs.clk_path_vote.client_hdl,
+					I2C_MSM_CLK_PATH_SUSPEND_VEC);
+}
+
+static void i2c_msm_clk_path_teardown(struct i2c_msm_ctrl *ctrl)
+{
+	if (ctrl->rsrcs.clk_path_vote.client_hdl) {
+		msm_bus_scale_unregister_client(
+					ctrl->rsrcs.clk_path_vote.client_hdl);
+		ctrl->rsrcs.clk_path_vote.client_hdl = 0;
+	}
+}
+
+/*
+ * i2c_msm_clk_path_init_structs: internal impl detail of i2c_msm_clk_path_init
+ *
+ * allocates and initilizes the bus scaling vectors.
+ */
+static int i2c_msm_clk_path_init_structs(struct i2c_msm_ctrl *ctrl)
+{
+	struct msm_bus_vectors *paths    = NULL;
+	struct msm_bus_paths   *usecases = NULL;
+
+	i2c_msm_dbg(ctrl, MSM_PROF, "initializes path clock voting structs\n");
+
+	paths = kzalloc(sizeof(*paths) * 2, GFP_KERNEL);
+	if (!paths)
+		return -ENOMEM;
+
+	usecases = kzalloc(sizeof(*usecases) * 2, GFP_KERNEL);
+	if (!usecases)
+		goto path_init_err;
+
+	ctrl->rsrcs.clk_path_vote.pdata = kzalloc(
+				       sizeof(*ctrl->rsrcs.clk_path_vote.pdata),
+				       GFP_KERNEL);
+	if (!ctrl->rsrcs.clk_path_vote.pdata)
+		goto path_init_err;
+
+	paths[I2C_MSM_CLK_PATH_SUSPEND_VEC] = (struct msm_bus_vectors) {
+		.src = ctrl->rsrcs.clk_path_vote.mstr_id,
+		.dst = MSM_BUS_SLAVE_EBI_CH0,
+		.ab  = 0,
+		.ib  = 0,
+	};
+
+	paths[I2C_MSM_CLK_PATH_RESUME_VEC]  = (struct msm_bus_vectors) {
+		.src = ctrl->rsrcs.clk_path_vote.mstr_id,
+		.dst = MSM_BUS_SLAVE_EBI_CH0,
+		.ab  = I2C_MSM_CLK_PATH_AVRG_BW(ctrl),
+		.ib  = I2C_MSM_CLK_PATH_BRST_BW(ctrl),
+	};
+
+	usecases[I2C_MSM_CLK_PATH_SUSPEND_VEC] = (struct msm_bus_paths) {
+		.num_paths = 1,
+		.vectors   = &paths[I2C_MSM_CLK_PATH_SUSPEND_VEC],
+	};
+
+	usecases[I2C_MSM_CLK_PATH_RESUME_VEC] = (struct msm_bus_paths) {
+		.num_paths = 1,
+		.vectors   = &paths[I2C_MSM_CLK_PATH_RESUME_VEC],
+	};
+
+	*ctrl->rsrcs.clk_path_vote.pdata = (struct msm_bus_scale_pdata) {
+		.usecase      = usecases,
+		.num_usecases = 2,
+		.name         = dev_name(ctrl->dev),
+	};
+
+	return 0;
+
+path_init_err:
+	kfree(paths);
+	kfree(usecases);
+	kfree(ctrl->rsrcs.clk_path_vote.pdata);
+	ctrl->rsrcs.clk_path_vote.pdata = NULL;
+	return -ENOMEM;
+}
+
+/*
+ * i2c_msm_clk_path_postponed_register: reg with bus-scaling after it is probed
+ *
+ * @return zero on success
+ *
+ * Workaround: i2c driver may be probed before the bus scaling driver. Calling
+ * msm_bus_scale_register_client() will fail if the bus scaling driver is not
+ * ready yet. Thus, this function should be called not from probe but from a
+ * later context. Also, this function may be called more then once before
+ * register succeed. At this case only one error message will be logged. At boot
+ * time all clocks are on, so earlier i2c transactions should succeed.
+ */
+static int i2c_msm_clk_path_postponed_register(struct i2c_msm_ctrl *ctrl)
+{
+	ctrl->rsrcs.clk_path_vote.client_hdl =
+		msm_bus_scale_register_client(ctrl->rsrcs.clk_path_vote.pdata);
+
+	if (ctrl->rsrcs.clk_path_vote.client_hdl) {
+		if (ctrl->rsrcs.clk_path_vote.reg_err) {
+			/* log a success message if an error msg was logged */
+			ctrl->rsrcs.clk_path_vote.reg_err = false;
+			dev_err(ctrl->dev,
+				"msm_bus_scale_register_client(mstr-id:%d):0x%x (ok)\n",
+				ctrl->rsrcs.clk_path_vote.mstr_id,
+				ctrl->rsrcs.clk_path_vote.client_hdl);
+		}
+	} else {
+		/* guard to log only one error on multiple failure */
+		if (!ctrl->rsrcs.clk_path_vote.reg_err) {
+			ctrl->rsrcs.clk_path_vote.reg_err = true;
+
+			dev_info(ctrl->dev,
+				"msm_bus_scale_register_client(mstr-id:%d):0 (not a problem)\n",
+				ctrl->rsrcs.clk_path_vote.mstr_id);
+		}
+	}
+
+	return ctrl->rsrcs.clk_path_vote.client_hdl ? 0 : -EAGAIN;
+}
+
+static void i2c_msm_clk_path_init(struct i2c_msm_ctrl *ctrl)
+{
+	/*
+	 * bail out if path voting is diabled (master_id == 0) or if it is
+	 * already registered (client_hdl != 0)
+	 */
+	if (!ctrl->rsrcs.clk_path_vote.mstr_id ||
+		ctrl->rsrcs.clk_path_vote.client_hdl)
+		return;
+
+	/* if fail once then try no more */
+	if (!ctrl->rsrcs.clk_path_vote.pdata &&
+					i2c_msm_clk_path_init_structs(ctrl)) {
+		ctrl->rsrcs.clk_path_vote.mstr_id = 0;
+		return;
+	}
+
+	/* on failure try again later */
+	if (i2c_msm_clk_path_postponed_register(ctrl))
+		return;
+}
+
+/*
+ * i2c_msm_qup_isr: QUP interrupt service routine
+ */
+static irqreturn_t i2c_msm_qup_isr(int irq, void *devid)
+{
+	struct i2c_msm_ctrl *ctrl = devid;
+	void __iomem        *base = ctrl->rsrcs.base;
+	struct i2c_msm_xfer *xfer = &ctrl->xfer;
+	struct i2c_msm_xfer_mode_blk *blk = &ctrl->xfer.blk;
+	u32  err_flags  = 0;
+	u32  clr_flds   = 0;
+	bool log_event       = false;
+	bool signal_complete = false;
+	bool need_wmb        = false;
+
+	i2c_msm_prof_evnt_add(ctrl, MSM_PROF, I2C_MSM_IRQ_BGN, irq, 0, 0);
+
+	if (!atomic_read(&ctrl->xfer.is_active)) {
+		dev_info(ctrl->dev, "irq:%d when no active transfer\n", irq);
+		return IRQ_HANDLED;
+	}
+
+	ctrl->i2c_sts_reg  = readl_relaxed(base + QUP_I2C_STATUS);
+	err_flags	   = readl_relaxed(base + QUP_ERROR_FLAGS);
+	ctrl->qup_op_reg   = readl_relaxed(base + QUP_OPERATIONAL);
+
+	if (ctrl->i2c_sts_reg & QUP_MSTR_STTS_ERR_MASK) {
+		signal_complete = true;
+		log_event       = true;
+		/*
+		 * If there is more than 1 error here, last one sticks.
+		 * The order of the error set here matters.
+		 */
+		if (ctrl->i2c_sts_reg & QUP_ARB_LOST)
+			ctrl->xfer.err = I2C_MSM_ERR_ARB_LOST;
+
+		if (ctrl->i2c_sts_reg & QUP_BUS_ERROR)
+			ctrl->xfer.err = I2C_MSM_ERR_BUS_ERR;
+
+		if (ctrl->i2c_sts_reg & QUP_PACKET_NACKED)
+			ctrl->xfer.err = I2C_MSM_ERR_NACK;
+	}
+
+	/* check for FIFO over/under runs error */
+	if (err_flags & QUP_ERR_FLGS_MASK)
+		ctrl->xfer.err = I2C_MSM_ERR_OVR_UNDR_RUN;
+
+	/* Dump the register values before reset the core */
+	if (ctrl->xfer.err && ctrl->dbgfs.dbg_lvl >= MSM_DBG)
+		i2c_msm_dbg_qup_reg_dump(ctrl);
+
+	/* clear interrupts fields */
+	clr_flds = ctrl->i2c_sts_reg & QUP_MSTR_STTS_ERR_MASK;
+	if (clr_flds) {
+		writel_relaxed(clr_flds, base + QUP_I2C_STATUS);
+		need_wmb = true;
+	}
+
+	clr_flds = err_flags & QUP_ERR_FLGS_MASK;
+	if (clr_flds) {
+		writel_relaxed(clr_flds,  base + QUP_ERROR_FLAGS);
+		need_wmb = true;
+	}
+
+	clr_flds = ctrl->qup_op_reg &
+			(QUP_OUTPUT_SERVICE_FLAG |
+			QUP_INPUT_SERVICE_FLAG);
+	if (clr_flds) {
+		writel_relaxed(clr_flds, base + QUP_OPERATIONAL);
+		need_wmb = true;
+	}
+
+	if (need_wmb)
+		/*
+		 * flush writes that clear the interrupt flags before changing
+		 * state to reset.
+		 */
+		wmb();
+
+	/* Reset and bail out on error */
+	if (ctrl->xfer.err) {
+		/* Flush for the tags in case of an error and DMA Mode*/
+		if (ctrl->xfer.mode_id == I2C_MSM_XFER_MODE_DMA) {
+			writel_relaxed(QUP_I2C_FLUSH, ctrl->rsrcs.base
+								+ QUP_STATE);
+			/*
+			 * Ensure that QUP_I2C_FLUSH is written before
+			 * State reset
+			 */
+			wmb();
+		}
+
+		/* HW workaround: when interrupt is level triggerd, more
+		 * than one interrupt may fire in error cases. Thus we
+		 * change the QUP core state to Reset immediately in the
+		 * ISR to ward off the next interrupt.
+		 */
+		writel_relaxed(QUP_STATE_RESET, ctrl->rsrcs.base + QUP_STATE);
+
+		signal_complete = true;
+		log_event       = true;
+		goto isr_end;
+	}
+
+	/* handle data completion */
+	if (xfer->mode_id == I2C_MSM_XFER_MODE_BLOCK) {
+		/* block ready for writing */
+		if (ctrl->qup_op_reg & QUP_OUTPUT_SERVICE_FLAG) {
+			log_event = true;
+			if (ctrl->qup_op_reg & QUP_OUT_BLOCK_WRITE_REQ)
+				complete(&blk->wait_tx_blk);
+
+			if ((ctrl->qup_op_reg & blk->complete_mask)
+					== blk->complete_mask) {
+				log_event       = true;
+				signal_complete = true;
+			}
+		}
+		/* block ready for reading */
+		if (ctrl->qup_op_reg & QUP_INPUT_SERVICE_FLAG) {
+			log_event = true;
+			complete(&blk->wait_rx_blk);
+		}
+	} else {
+		/* for FIFO/DMA Mode*/
+		if (ctrl->qup_op_reg & QUP_MAX_INPUT_DONE_FLAG) {
+			log_event = true;
+			/*
+			 * If last transaction is an input then the entire
+			 * transfer is done
+			 */
+			if (ctrl->xfer.last_is_rx)
+				signal_complete = true;
+		}
+		/*
+		 * Ideally, would like to check QUP_MAX_OUTPUT_DONE_FLAG.
+		 * However, QUP_MAX_OUTPUT_DONE_FLAG is lagging behind
+		 * QUP_OUTPUT_SERVICE_FLAG. The only reason for
+		 * QUP_OUTPUT_SERVICE_FLAG to be set in FIFO mode is
+		 * QUP_MAX_OUTPUT_DONE_FLAG condition. The code checking
+		 * here QUP_OUTPUT_SERVICE_FLAG and assumes that
+		 * QUP_MAX_OUTPUT_DONE_FLAG.
+		 */
+		if (ctrl->qup_op_reg & (QUP_OUTPUT_SERVICE_FLAG |
+						QUP_MAX_OUTPUT_DONE_FLAG)) {
+			log_event = true;
+			/*
+			 * If last transaction is an output then the
+			 * entire transfer is done
+			 */
+			if (!ctrl->xfer.last_is_rx)
+				signal_complete = true;
+		}
+	}
+
+isr_end:
+	if (log_event || (ctrl->dbgfs.dbg_lvl >= MSM_DBG))
+		i2c_msm_prof_evnt_add(ctrl, MSM_PROF,
+					I2C_MSM_IRQ_END,
+					ctrl->i2c_sts_reg, ctrl->qup_op_reg,
+					err_flags);
+
+	if (signal_complete)
+		complete(&ctrl->xfer.complete);
+
+	return IRQ_HANDLED;
+}
+
+static void i2x_msm_blk_free_cache(struct i2c_msm_ctrl *ctrl)
+{
+	kfree(ctrl->xfer.blk.tx_cache);
+	kfree(ctrl->xfer.blk.rx_cache);
+}
+
+static void i2c_msm_qup_init(struct i2c_msm_ctrl *ctrl)
+{
+	u32 state;
+	void __iomem *base = ctrl->rsrcs.base;
+
+	i2c_msm_prof_evnt_add(ctrl, MSM_PROF, I2C_MSM_PROF_RESET, 0, 0, 0);
+
+	i2c_msm_qup_sw_reset(ctrl);
+	i2c_msm_qup_state_set(ctrl, QUP_STATE_RESET);
+
+	writel_relaxed(QUP_N_VAL | QUP_MINI_CORE_I2C_VAL, base + QUP_CONFIG);
+
+	writel_relaxed(QUP_OUTPUT_OVER_RUN_ERR_EN | QUP_INPUT_UNDER_RUN_ERR_EN
+		     | QUP_OUTPUT_UNDER_RUN_ERR_EN | QUP_INPUT_OVER_RUN_ERR_EN,
+					base + QUP_ERROR_FLAGS_EN);
+
+	writel_relaxed(QUP_INPUT_SERVICE_MASK | QUP_OUTPUT_SERVICE_MASK,
+					base + QUP_OPERATIONAL_MASK);
+
+	writel_relaxed(QUP_EN_VERSION_TWO_TAG, base + QUP_I2C_MASTER_CONFIG);
+
+	i2c_msm_qup_fifo_calc_size(ctrl);
+	/*
+	 * Ensure that QUP configuration is written and that fifo size if read
+	 * before leaving this function
+	 */
+	mb();
+
+	state = readl_relaxed(base + QUP_STATE);
+
+	if (!(state & QUP_I2C_MAST_GEN))
+		dev_err(ctrl->dev,
+			"error on verifying HW support (I2C_MAST_GEN=0)\n");
+}
+
+static void qup_i2c_recover_bit_bang(struct i2c_msm_ctrl *ctrl)
+{
+	int i, ret;
+	int gpio_clk;
+	int gpio_dat;
+	bool gpio_clk_status = false;
+	u32 status = readl_relaxed(ctrl->rsrcs.base + QUP_I2C_STATUS);
+	struct pinctrl_state *bitbang;
+
+	dev_info(ctrl->dev, "Executing bus recovery procedure (9 clk pulse)\n");
+	disable_irq(ctrl->rsrcs.irq);
+	if (!(status & (I2C_STATUS_BUS_ACTIVE)) ||
+		(status & (I2C_STATUS_BUS_MASTER))) {
+		dev_warn(ctrl->dev, "unexpected i2c recovery call:0x%x\n",
+				    status);
+		goto recovery_exit;
+	}
+
+	gpio_clk = of_get_named_gpio(ctrl->adapter.dev.of_node, "qcom,i2c-clk",
+				     0);
+	gpio_dat = of_get_named_gpio(ctrl->adapter.dev.of_node, "qcom,i2c-dat",
+				     0);
+
+	if (gpio_clk < 0 || gpio_dat < 0) {
+		dev_warn(ctrl->dev, "SW bigbang err: i2c gpios not known\n");
+		goto recovery_exit;
+	}
+
+	bitbang = i2c_msm_rsrcs_gpio_get_state(ctrl, "i2c_bitbang");
+	if (bitbang)
+		ret = pinctrl_select_state(ctrl->rsrcs.pinctrl, bitbang);
+	if (!bitbang || ret) {
+		dev_err(ctrl->dev, "GPIO pins have no bitbang setting\n");
+		goto recovery_exit;
+	}
+	for (i = 0; i < 10; i++) {
+		if (gpio_get_value(gpio_dat) && gpio_clk_status)
+			break;
+		gpio_direction_output(gpio_clk, 0);
+		udelay(5);
+		gpio_direction_output(gpio_dat, 0);
+		udelay(5);
+		gpio_direction_input(gpio_clk);
+		udelay(5);
+		if (!gpio_get_value(gpio_clk))
+			udelay(20);
+		if (!gpio_get_value(gpio_clk))
+			usleep_range(10000, 10001);
+		gpio_clk_status = gpio_get_value(gpio_clk);
+		gpio_direction_input(gpio_dat);
+		udelay(5);
+	}
+
+	i2c_msm_pm_pinctrl_state(ctrl, true);
+	udelay(10);
+
+	status = readl_relaxed(ctrl->rsrcs.base + QUP_I2C_STATUS);
+	if (!(status & I2C_STATUS_BUS_ACTIVE)) {
+		dev_info(ctrl->dev,
+			"Bus busy cleared after %d clock cycles, status %x\n",
+			 i, status);
+		goto recovery_exit;
+	}
+
+	dev_warn(ctrl->dev, "Bus still busy, status %x\n", status);
+
+recovery_exit:
+	enable_irq(ctrl->rsrcs.irq);
+}
+
+static int i2c_msm_qup_post_xfer(struct i2c_msm_ctrl *ctrl, int err)
+{
+	/* poll until bus is released */
+	if (i2c_msm_qup_poll_bus_active_unset(ctrl)) {
+		if ((ctrl->xfer.err == I2C_MSM_ERR_ARB_LOST) ||
+		    (ctrl->xfer.err == I2C_MSM_ERR_BUS_ERR)  ||
+		    (ctrl->xfer.err == I2C_MSM_ERR_TIMEOUT)) {
+			if (i2c_msm_qup_slv_holds_bus(ctrl))
+				qup_i2c_recover_bit_bang(ctrl);
+
+			/* do not generalize error to EIO if its already set */
+			if (!err)
+				err = -EIO;
+		}
+	}
+
+	/*
+	 * Disable the IRQ before change to reset state to avoid
+	 * spurious interrupts.
+	 *
+	 */
+	disable_irq(ctrl->rsrcs.irq);
+
+	/* flush dma data and reset the qup core in timeout error.
+	 * for other error case, its handled by the ISR
+	 */
+	if (ctrl->xfer.err & I2C_MSM_ERR_TIMEOUT) {
+		/* Flush for the DMA registers */
+		if (ctrl->xfer.mode_id == I2C_MSM_XFER_MODE_DMA)
+			writel_relaxed(QUP_I2C_FLUSH, ctrl->rsrcs.base
+								+ QUP_STATE);
+
+		/* reset the qup core */
+		i2c_msm_qup_state_set(ctrl, QUP_STATE_RESET);
+		err = -ETIMEDOUT;
+	} else if (ctrl->xfer.err == I2C_MSM_ERR_NACK) {
+		err = -ENOTCONN;
+	}
+
+	return err;
+}
+
+static enum i2c_msm_xfer_mode_id
+i2c_msm_qup_choose_mode(struct i2c_msm_ctrl *ctrl)
+{
+	struct i2c_msm_xfer_mode_fifo *fifo = &ctrl->xfer.fifo;
+	struct i2c_msm_xfer           *xfer = &ctrl->xfer;
+	size_t rx_cnt_sum = xfer->rx_cnt + xfer->rx_ovrhd_cnt;
+	size_t tx_cnt_sum = xfer->tx_cnt + xfer->tx_ovrhd_cnt;
+
+
+	if (ctrl->dbgfs.force_xfer_mode != I2C_MSM_XFER_MODE_NONE)
+		return ctrl->dbgfs.force_xfer_mode;
+
+	if (((rx_cnt_sum < fifo->input_fifo_sz) &&
+		(tx_cnt_sum < fifo->output_fifo_sz)))
+		return I2C_MSM_XFER_MODE_FIFO;
+
+	if (ctrl->rsrcs.disable_dma)
+		return I2C_MSM_XFER_MODE_BLOCK;
+
+	return I2C_MSM_XFER_MODE_DMA;
+}
+
+/*
+ * i2c_msm_xfer_calc_timeout: calc maximum xfer time in jiffies
+ *
+ * Basically timeout = (bit_count / frequency) * safety_coefficient.
+ * The safety-coefficient also accounts for debugging delay (mostly from
+ * printk() calls).
+ */
+static void i2c_msm_xfer_calc_timeout(struct i2c_msm_ctrl *ctrl)
+{
+	size_t byte_cnt = ctrl->xfer.rx_cnt + ctrl->xfer.tx_cnt;
+	size_t bit_cnt  = byte_cnt * 9;
+	size_t bit_usec = (bit_cnt * USEC_PER_SEC) / ctrl->rsrcs.clk_freq_out;
+	size_t loging_ovrhd_coef = ctrl->dbgfs.dbg_lvl + 1;
+	size_t safety_coef   = I2C_MSM_TIMEOUT_SAFETY_COEF * loging_ovrhd_coef;
+	size_t xfer_max_usec = (bit_usec * safety_coef) +
+						I2C_MSM_TIMEOUT_MIN_USEC;
+
+	ctrl->xfer.timeout = usecs_to_jiffies(xfer_max_usec);
+}
+
+static int i2c_msm_xfer_wait_for_completion(struct i2c_msm_ctrl *ctrl,
+						struct completion *complete)
+{
+	struct i2c_msm_xfer *xfer = &ctrl->xfer;
+	long  time_left;
+	int   ret = 0;
+
+	time_left = wait_for_completion_timeout(complete,
+						xfer->timeout);
+	if (!time_left) {
+		xfer->err = I2C_MSM_ERR_TIMEOUT;
+		i2c_msm_dbg_dump_diag(ctrl, false, 0, 0);
+		ret = -EIO;
+		i2c_msm_prof_evnt_add(ctrl, MSM_ERR, I2C_MSM_COMPLT_FL,
+					xfer->timeout, time_left, 0);
+	} else {
+		/* return an error if one detected by ISR */
+		if (ctrl->xfer.err ||
+				(ctrl->dbgfs.dbg_lvl >= MSM_DBG)) {
+			i2c_msm_dbg_dump_diag(ctrl, true,
+					ctrl->i2c_sts_reg, ctrl->qup_op_reg);
+			ret = -(xfer->err);
+		}
+		i2c_msm_prof_evnt_add(ctrl, MSM_DBG, I2C_MSM_COMPLT_OK,
+					xfer->timeout, time_left, 0);
+	}
+
+	return ret;
+}
+
+static u16 i2c_msm_slv_rd_wr_addr(u16 slv_addr, bool is_rx)
+{
+	return (slv_addr << 1) | (is_rx ? 0x1 : 0x0);
+}
+
+/*
+ * @return true when the current transfer's buffer points to the last message
+ *    of the user's request.
+ */
+static bool i2c_msm_xfer_msg_is_last(struct i2c_msm_ctrl *ctrl)
+{
+	return ctrl->xfer.cur_buf.msg_idx >= (ctrl->xfer.msg_cnt - 1);
+}
+
+/*
+ * @return true when the current transfer's buffer points to the last
+ *    transferable buffer (size =< QUP_MAX_BUF_SZ) of the last message of the
+ *    user's request.
+ */
+static bool i2c_msm_xfer_buf_is_last(struct i2c_msm_ctrl *ctrl)
+{
+	struct i2c_msm_xfer_buf *cur_buf = &ctrl->xfer.cur_buf;
+	struct i2c_msg *cur_msg = ctrl->xfer.msgs + cur_buf->msg_idx;
+
+	return i2c_msm_xfer_msg_is_last(ctrl) &&
+		((cur_buf->byte_idx + QUP_MAX_BUF_SZ) >= cur_msg->len);
+}
+
+static void i2c_msm_xfer_create_cur_tag(struct i2c_msm_ctrl *ctrl,
+								bool start_req)
+{
+	struct i2c_msm_xfer_buf *cur_buf = &ctrl->xfer.cur_buf;
+
+	cur_buf->out_tag = i2c_msm_tag_create(start_req, cur_buf->is_last,
+					cur_buf->is_rx, cur_buf->len,
+					cur_buf->slv_addr);
+
+	cur_buf->in_tag.len = cur_buf->is_rx ? QUP_BUF_OVERHD_BC : 0;
+}
+
+/*
+ * i2c_msm_xfer_next_buf: support cases when msg.len > 256 bytes
+ *
+ * @return true when next buffer exist, or false when no such buffer
+ */
+static bool i2c_msm_xfer_next_buf(struct i2c_msm_ctrl *ctrl)
+{
+	struct i2c_msm_xfer_buf *cur_buf = &ctrl->xfer.cur_buf;
+	struct i2c_msg          *cur_msg = ctrl->xfer.msgs + cur_buf->msg_idx;
+	int bc_rem = cur_msg->len - cur_buf->end_idx;
+
+	if (cur_buf->is_init && cur_buf->end_idx && bc_rem) {
+		/* not the first buffer in a message */
+
+		cur_buf->byte_idx  = cur_buf->end_idx;
+		cur_buf->is_last   = i2c_msm_xfer_buf_is_last(ctrl);
+		cur_buf->len       = min_t(int, bc_rem, QUP_MAX_BUF_SZ);
+		cur_buf->end_idx  += cur_buf->len;
+
+		/* No Start is required if it is not a first buffer in msg */
+		i2c_msm_xfer_create_cur_tag(ctrl, false);
+	} else {
+		/* first buffer in a new message */
+		if (cur_buf->is_init) {
+			if (i2c_msm_xfer_msg_is_last(ctrl))
+				return false;
+
+			++cur_buf->msg_idx;
+			++cur_msg;
+		} else {
+			cur_buf->is_init = true;
+		}
+		cur_buf->byte_idx  = 0;
+		cur_buf->is_last   = i2c_msm_xfer_buf_is_last(ctrl);
+		cur_buf->len       = min_t(int, cur_msg->len, QUP_MAX_BUF_SZ);
+		cur_buf->is_rx     = (cur_msg->flags & I2C_M_RD);
+		cur_buf->end_idx   = cur_buf->len;
+		cur_buf->slv_addr  = i2c_msm_slv_rd_wr_addr(cur_msg->addr,
+								cur_buf->is_rx);
+		i2c_msm_xfer_create_cur_tag(ctrl, true);
+	}
+	i2c_msm_prof_evnt_add(ctrl, MSM_DBG, I2C_MSM_NEXT_BUF, cur_buf->msg_idx,
+							cur_buf->byte_idx, 0);
+	return  true;
+}
+
+static void i2c_msm_pm_clk_unprepare(struct i2c_msm_ctrl *ctrl)
+{
+	clk_unprepare(ctrl->rsrcs.core_clk);
+	clk_unprepare(ctrl->rsrcs.iface_clk);
+}
+
+static int i2c_msm_pm_clk_prepare(struct i2c_msm_ctrl *ctrl)
+{
+	int ret;
+
+	ret = clk_prepare(ctrl->rsrcs.iface_clk);
+
+	if (ret) {
+		dev_err(ctrl->dev,
+			"error on clk_prepare(iface_clk):%d\n", ret);
+		return ret;
+	}
+
+	ret = clk_prepare(ctrl->rsrcs.core_clk);
+	if (ret) {
+		clk_unprepare(ctrl->rsrcs.iface_clk);
+		dev_err(ctrl->dev,
+			"error clk_prepare(core_clk):%d\n", ret);
+	}
+	return ret;
+}
+
+static void i2c_msm_pm_clk_disable(struct i2c_msm_ctrl *ctrl)
+{
+	clk_disable(ctrl->rsrcs.core_clk);
+	clk_disable(ctrl->rsrcs.iface_clk);
+}
+
+static int i2c_msm_pm_clk_enable(struct i2c_msm_ctrl *ctrl)
+{
+	int ret;
+
+	ret = clk_enable(ctrl->rsrcs.iface_clk);
+	if (ret) {
+		dev_err(ctrl->dev,
+			"error on clk_enable(iface_clk):%d\n", ret);
+		i2c_msm_pm_clk_unprepare(ctrl);
+		return ret;
+	}
+	ret = clk_enable(ctrl->rsrcs.core_clk);
+	if (ret) {
+		clk_disable(ctrl->rsrcs.iface_clk);
+		i2c_msm_pm_clk_unprepare(ctrl);
+		dev_err(ctrl->dev,
+			"error clk_enable(core_clk):%d\n", ret);
+	}
+	return ret;
+}
+
+static int i2c_msm_pm_xfer_start(struct i2c_msm_ctrl *ctrl)
+{
+	int ret;
+
+	mutex_lock(&ctrl->xfer.mtx);
+
+	i2c_msm_pm_pinctrl_state(ctrl, true);
+	pm_runtime_get_sync(ctrl->dev);
+	/*
+	 * if runtime PM callback was not invoked (when both runtime-pm
+	 * and systme-pm are in transition concurrently)
+	 */
+	if (ctrl->pwr_state != I2C_MSM_PM_RT_ACTIVE) {
+		dev_info(ctrl->dev, "Runtime PM-callback was not invoked\n");
+		i2c_msm_pm_resume(ctrl->dev);
+	}
+
+	ret = i2c_msm_pm_clk_enable(ctrl);
+	if (ret) {
+		mutex_unlock(&ctrl->xfer.mtx);
+		return ret;
+	}
+	i2c_msm_qup_init(ctrl);
+
+	/* Set xfer to active state (efectively enabling our ISR)*/
+	atomic_set(&ctrl->xfer.is_active, 1);
+
+	enable_irq(ctrl->rsrcs.irq);
+	return 0;
+}
+
+static void i2c_msm_pm_xfer_end(struct i2c_msm_ctrl *ctrl)
+{
+
+	atomic_set(&ctrl->xfer.is_active, 0);
+
+	/*
+	 * DMA resources are freed due to multi-EE use case.
+	 * Other EEs can potentially use the DMA
+	 * resources with in the same runtime PM vote.
+	 */
+	if (ctrl->xfer.mode_id == I2C_MSM_XFER_MODE_DMA)
+		i2c_msm_dma_free_channels(ctrl);
+
+	i2c_msm_pm_clk_disable(ctrl);
+
+	if (!pm_runtime_enabled(ctrl->dev))
+		i2c_msm_pm_suspend(ctrl->dev);
+
+	pm_runtime_mark_last_busy(ctrl->dev);
+	pm_runtime_put_autosuspend(ctrl->dev);
+	i2c_msm_pm_pinctrl_state(ctrl, false);
+	mutex_unlock(&ctrl->xfer.mtx);
+}
+
+/*
+ * i2c_msm_xfer_scan: initial input scan
+ */
+static void i2c_msm_xfer_scan(struct i2c_msm_ctrl *ctrl)
+{
+	struct i2c_msm_xfer     *xfer      = &ctrl->xfer;
+	struct i2c_msm_xfer_buf *cur_buf   = &xfer->cur_buf;
+
+	while (i2c_msm_xfer_next_buf(ctrl)) {
+
+		if (cur_buf->is_rx)
+			xfer->rx_cnt += cur_buf->len;
+		else
+			xfer->tx_cnt += cur_buf->len;
+
+		xfer->rx_ovrhd_cnt += cur_buf->in_tag.len;
+		xfer->tx_ovrhd_cnt += cur_buf->out_tag.len;
+
+		if (i2c_msm_xfer_msg_is_last(ctrl))
+			xfer->last_is_rx = cur_buf->is_rx;
+	}
+	xfer->cur_buf = (struct i2c_msm_xfer_buf){0};
+}
+
+static int
+i2c_msm_frmwrk_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num)
+{
+	int ret = 0;
+	struct i2c_msm_ctrl      *ctrl = i2c_get_adapdata(adap);
+	struct i2c_msm_xfer      *xfer = &ctrl->xfer;
+
+	if (IS_ERR_OR_NULL(msgs)) {
+		dev_err(ctrl->dev, " error on msgs Accessing invalid  pointer location\n");
+		return (msgs) ? PTR_ERR(msgs) : -EINVAL;
+	}
+
+	/* if system is suspended just bail out */
+	if (ctrl->pwr_state == I2C_MSM_PM_SYS_SUSPENDED) {
+		dev_err(ctrl->dev,
+				"slave:0x%x is calling xfer when system is suspended\n",
+				msgs->addr);
+		return -EIO;
+	}
+
+	ret = i2c_msm_pm_xfer_start(ctrl);
+	if (ret)
+		return ret;
+
+	/* init xfer */
+	xfer->msgs         = msgs;
+	xfer->msg_cnt      = num;
+	xfer->mode_id      = I2C_MSM_XFER_MODE_NONE;
+	xfer->err          = 0;
+	xfer->rx_cnt       = 0;
+	xfer->tx_cnt       = 0;
+	xfer->rx_ovrhd_cnt = 0;
+	xfer->tx_ovrhd_cnt = 0;
+	atomic_set(&xfer->event_cnt, 0);
+	init_completion(&xfer->complete);
+	init_completion(&xfer->rx_complete);
+
+	xfer->cur_buf.is_init = false;
+	xfer->cur_buf.msg_idx = 0;
+
+	i2c_msm_prof_evnt_add(ctrl, MSM_PROF, I2C_MSM_XFER_BEG, num,
+								msgs->addr, 0);
+
+	i2c_msm_xfer_scan(ctrl);
+	i2c_msm_xfer_calc_timeout(ctrl);
+	xfer->mode_id = i2c_msm_qup_choose_mode(ctrl);
+
+	dev_dbg(ctrl->dev, "xfer() mode:%d msg_cnt:%d rx_cbt:%zu tx_cnt:%zu\n",
+		xfer->mode_id, xfer->msg_cnt, xfer->rx_cnt, xfer->tx_cnt);
+
+	switch (xfer->mode_id) {
+	case I2C_MSM_XFER_MODE_FIFO:
+		ret = i2c_msm_fifo_xfer(ctrl);
+		break;
+	case I2C_MSM_XFER_MODE_BLOCK:
+		ret = i2c_msm_blk_xfer(ctrl);
+		break;
+	case I2C_MSM_XFER_MODE_DMA:
+		ret = i2c_msm_dma_xfer(ctrl);
+		break;
+	default:
+		ret = -EINTR;
+	}
+
+	i2c_msm_prof_evnt_add(ctrl, MSM_PROF, I2C_MSM_SCAN_SUM,
+		((xfer->rx_cnt & 0xff) | ((xfer->rx_ovrhd_cnt & 0xff) << 16)),
+		((xfer->tx_cnt & 0xff) | ((xfer->tx_ovrhd_cnt & 0xff) << 16)),
+		((ctrl->xfer.timeout & 0xfff) | ((xfer->mode_id & 0xf) << 24)));
+
+	ret = i2c_msm_qup_post_xfer(ctrl, ret);
+	/* on success, return number of messages sent (which is index + 1)*/
+	if (!ret)
+		ret = xfer->cur_buf.msg_idx + 1;
+
+	i2c_msm_prof_evnt_add(ctrl, MSM_PROF, I2C_MSM_XFER_END, ret, xfer->err,
+						xfer->cur_buf.msg_idx + 1);
+	/* process and dump profiling data */
+	if (xfer->err || (ctrl->dbgfs.dbg_lvl >= MSM_PROF))
+		i2c_msm_prof_evnt_dump(ctrl);
+
+	i2c_msm_pm_xfer_end(ctrl);
+	return ret;
+}
+
+enum i2c_msm_dt_entry_status {
+	DT_REQ,  /* Required:  fail if missing */
+	DT_SGST, /* Suggested: warn if missing */
+	DT_OPT,  /* Optional:  don't warn if missing */
+};
+
+enum i2c_msm_dt_entry_type {
+	DT_U32,
+	DT_BOOL,
+	DT_ID,   /* of_alias_get_id() */
+};
+
+struct i2c_msm_dt_to_pdata_map {
+	const char                  *dt_name;
+	void                        *ptr_data;
+	enum i2c_msm_dt_entry_status status;
+	enum i2c_msm_dt_entry_type   type;
+	int                          default_val;
+};
+
+static int i2c_msm_dt_to_pdata_populate(struct i2c_msm_ctrl *ctrl,
+					struct platform_device *pdev,
+					struct i2c_msm_dt_to_pdata_map *itr)
+{
+	int  ret, err = 0;
+	struct device_node *node = pdev->dev.of_node;
+
+	for (; itr->dt_name ; ++itr) {
+		switch (itr->type) {
+		case DT_U32:
+			ret = of_property_read_u32(node, itr->dt_name,
+							 (u32 *) itr->ptr_data);
+			break;
+		case DT_BOOL:
+			*((bool *) itr->ptr_data) =
+				of_property_read_bool(node, itr->dt_name);
+			ret = 0;
+			break;
+		case DT_ID:
+			ret = of_alias_get_id(node, itr->dt_name);
+			if (ret >= 0) {
+				*((int *) itr->ptr_data) = ret;
+				ret = 0;
+			}
+			break;
+		default:
+			dev_err(ctrl->dev,
+				"error %d is of unknown DT entry type\n",
+				itr->type);
+			ret = -EBADE;
+		}
+
+		i2c_msm_dbg(ctrl, MSM_PROF, "DT entry ret:%d name:%s val:%d\n",
+				ret, itr->dt_name, *((int *)itr->ptr_data));
+
+		if (ret) {
+			*((int *)itr->ptr_data) = itr->default_val;
+
+			if (itr->status < DT_OPT) {
+				dev_err(ctrl->dev,
+					"error Missing '%s' DT entry\n",
+					itr->dt_name);
+
+				/* cont on err to dump all missing entries */
+				if (itr->status == DT_REQ && !err)
+					err = ret;
+			}
+		}
+	}
+
+	return err;
+}
+
+
+/*
+ * i2c_msm_rsrcs_process_dt: copy data from DT to platform data
+ * @return zero on success or negative error code
+ */
+static int i2c_msm_rsrcs_process_dt(struct i2c_msm_ctrl *ctrl,
+					struct platform_device *pdev)
+{
+	u32 fs_clk_div, ht_clk_div, noise_rjct_scl, noise_rjct_sda;
+	int ret;
+
+	struct i2c_msm_dt_to_pdata_map map[] = {
+	{"i2c",				&pdev->id,	DT_REQ,  DT_ID,  -1},
+	{"qcom,clk-freq-out",		&ctrl->rsrcs.clk_freq_out,
+							DT_REQ,  DT_U32,  0},
+	{"qcom,clk-freq-in",		&ctrl->rsrcs.clk_freq_in,
+							DT_REQ,  DT_U32,  0},
+	{"qcom,disable-dma",		&(ctrl->rsrcs.disable_dma),
+							DT_OPT,  DT_BOOL, 0},
+	{"qcom,master-id",		&(ctrl->rsrcs.clk_path_vote.mstr_id),
+							DT_SGST, DT_U32,  0},
+	{"qcom,noise-rjct-scl",		&noise_rjct_scl,
+							DT_OPT,  DT_U32,  0},
+	{"qcom,noise-rjct-sda",		&noise_rjct_sda,
+							DT_OPT,  DT_U32,  0},
+	{"qcom,high-time-clk-div",	&ht_clk_div,
+							DT_OPT,  DT_U32,  0},
+	{"qcom,fs-clk-div",		&fs_clk_div,
+							DT_OPT,  DT_U32,  0},
+	{NULL,  NULL,					0,       0,       0},
+	};
+
+	ret = i2c_msm_dt_to_pdata_populate(ctrl, pdev, map);
+	if (ret)
+		return ret;
+
+	/* set divider and noise reject values */
+	return i2c_msm_set_mstr_clk_ctl(ctrl, fs_clk_div, ht_clk_div,
+						noise_rjct_scl, noise_rjct_sda);
+}
+
+/*
+ * i2c_msm_rsrcs_mem_init: reads pdata request region and ioremap it
+ * @return zero on success or negative error code
+ */
+static int i2c_msm_rsrcs_mem_init(struct platform_device *pdev,
+						struct i2c_msm_ctrl *ctrl)
+{
+	struct resource *mem_region;
+
+	ctrl->rsrcs.mem = platform_get_resource_byname(pdev, IORESOURCE_MEM,
+							"qup_phys_addr");
+	if (!ctrl->rsrcs.mem) {
+		dev_err(ctrl->dev, "error Missing 'qup_phys_addr' resource\n");
+		return -ENODEV;
+	}
+
+	mem_region = request_mem_region(ctrl->rsrcs.mem->start,
+					resource_size(ctrl->rsrcs.mem),
+					pdev->name);
+	if (!mem_region) {
+		dev_err(ctrl->dev,
+			"QUP physical memory region already claimed\n");
+		return -EBUSY;
+	}
+
+	ctrl->rsrcs.base = devm_ioremap(ctrl->dev, ctrl->rsrcs.mem->start,
+				   resource_size(ctrl->rsrcs.mem));
+	if (!ctrl->rsrcs.base) {
+		dev_err(ctrl->dev,
+			"error failed ioremap(base:0x%llx size:0x%llx\n)\n",
+			(u64) ctrl->rsrcs.mem->start,
+			(u64) resource_size(ctrl->rsrcs.mem));
+		release_mem_region(ctrl->rsrcs.mem->start,
+						resource_size(ctrl->rsrcs.mem));
+		return -ENOMEM;
+	}
+
+	return 0;
+}
+
+static void i2c_msm_rsrcs_mem_teardown(struct i2c_msm_ctrl *ctrl)
+{
+	release_mem_region(ctrl->rsrcs.mem->start,
+						resource_size(ctrl->rsrcs.mem));
+}
+
+/*
+ * i2c_msm_rsrcs_irq_init: finds irq num in pdata and requests it
+ * @return zero on success or negative error code
+ */
+static int i2c_msm_rsrcs_irq_init(struct platform_device *pdev,
+						struct i2c_msm_ctrl *ctrl)
+{
+	int ret, irq;
+
+	irq = platform_get_irq_byname(pdev, "qup_irq");
+	if (irq < 0) {
+		dev_err(ctrl->dev, "error reading irq resource\n");
+		return irq;
+	}
+
+	ret = request_irq(irq, i2c_msm_qup_isr, IRQF_TRIGGER_HIGH,
+						"i2c-msm-v2-irq", ctrl);
+	if (ret) {
+		dev_err(ctrl->dev, "error request_irq(irq_num:%d ) ret:%d\n",
+								irq, ret);
+		return ret;
+	}
+
+	disable_irq(irq);
+	ctrl->rsrcs.irq = irq;
+	return 0;
+}
+
+static void i2c_msm_rsrcs_irq_teardown(struct i2c_msm_ctrl *ctrl)
+{
+	free_irq(ctrl->rsrcs.irq, ctrl);
+}
+
+
+static struct pinctrl_state *
+i2c_msm_rsrcs_gpio_get_state(struct i2c_msm_ctrl *ctrl, const char *name)
+{
+	struct pinctrl_state *pin_state
+			= pinctrl_lookup_state(ctrl->rsrcs.pinctrl, name);
+
+	if (IS_ERR_OR_NULL(pin_state))
+		dev_info(ctrl->dev, "note pinctrl_lookup_state(%s) err:%ld\n",
+						name, PTR_ERR(pin_state));
+	return pin_state;
+}
+
+/*
+ * i2c_msm_rsrcs_gpio_pinctrl_init: initializes the pinctrl for i2c gpios
+ *
+ * @pre platform data must be initialized
+ */
+static int i2c_msm_rsrcs_gpio_pinctrl_init(struct i2c_msm_ctrl *ctrl)
+{
+	ctrl->rsrcs.pinctrl = devm_pinctrl_get(ctrl->dev);
+	if (IS_ERR_OR_NULL(ctrl->rsrcs.pinctrl)) {
+		dev_err(ctrl->dev, "error devm_pinctrl_get() failed err:%ld\n",
+				PTR_ERR(ctrl->rsrcs.pinctrl));
+		return PTR_ERR(ctrl->rsrcs.pinctrl);
+	}
+
+	ctrl->rsrcs.gpio_state_active =
+		i2c_msm_rsrcs_gpio_get_state(ctrl, I2C_MSM_PINCTRL_ACTIVE);
+
+	ctrl->rsrcs.gpio_state_suspend =
+		i2c_msm_rsrcs_gpio_get_state(ctrl, I2C_MSM_PINCTRL_SUSPEND);
+
+	return 0;
+}
+
+static void i2c_msm_pm_pinctrl_state(struct i2c_msm_ctrl *ctrl,
+				bool runtime_active)
+{
+	struct pinctrl_state *pins_state;
+	const char           *pins_state_name;
+
+	if (runtime_active) {
+		pins_state      = ctrl->rsrcs.gpio_state_active;
+		pins_state_name = I2C_MSM_PINCTRL_ACTIVE;
+	} else {
+		pins_state      = ctrl->rsrcs.gpio_state_suspend;
+		pins_state_name = I2C_MSM_PINCTRL_SUSPEND;
+	}
+
+	if (!IS_ERR_OR_NULL(pins_state)) {
+		int ret = pinctrl_select_state(ctrl->rsrcs.pinctrl, pins_state);
+
+		if (ret)
+			dev_err(ctrl->dev,
+			"error pinctrl_select_state(%s) err:%d\n",
+			pins_state_name, ret);
+	} else {
+		dev_err(ctrl->dev,
+			"error pinctrl state-name:'%s' is not configured\n",
+			pins_state_name);
+	}
+}
+
+/*
+ * i2c_msm_rsrcs_clk_init: get clocks and set rate
+ *
+ * @return zero on success or negative error code
+ */
+static int i2c_msm_rsrcs_clk_init(struct i2c_msm_ctrl *ctrl)
+{
+	int ret = 0;
+
+	if ((ctrl->rsrcs.clk_freq_out <= 0) ||
+	    (ctrl->rsrcs.clk_freq_out > I2C_MSM_CLK_FAST_PLUS_FREQ)) {
+		dev_err(ctrl->dev,
+			"error clock frequency %dKHZ is not supported\n",
+			(ctrl->rsrcs.clk_freq_out / 1000));
+		return -EIO;
+	}
+
+	ctrl->rsrcs.core_clk = clk_get(ctrl->dev, "core_clk");
+	if (IS_ERR(ctrl->rsrcs.core_clk)) {
+		ret = PTR_ERR(ctrl->rsrcs.core_clk);
+		dev_err(ctrl->dev, "error on clk_get(core_clk):%d\n", ret);
+		return ret;
+	}
+
+	ret = clk_set_rate(ctrl->rsrcs.core_clk, ctrl->rsrcs.clk_freq_in);
+	if (ret) {
+		dev_err(ctrl->dev, "error on clk_set_rate(core_clk, %dKHz):%d\n",
+					(ctrl->rsrcs.clk_freq_in / 1000), ret);
+		goto err_set_rate;
+	}
+
+	ctrl->rsrcs.iface_clk = clk_get(ctrl->dev, "iface_clk");
+	if (IS_ERR(ctrl->rsrcs.iface_clk)) {
+		ret = PTR_ERR(ctrl->rsrcs.iface_clk);
+		dev_err(ctrl->dev, "error on clk_get(iface_clk):%d\n", ret);
+		goto err_set_rate;
+	}
+
+	return 0;
+
+err_set_rate:
+		clk_put(ctrl->rsrcs.core_clk);
+		ctrl->rsrcs.core_clk = NULL;
+	return ret;
+}
+
+static void i2c_msm_rsrcs_clk_teardown(struct i2c_msm_ctrl *ctrl)
+{
+	clk_put(ctrl->rsrcs.core_clk);
+	clk_put(ctrl->rsrcs.iface_clk);
+	i2c_msm_clk_path_teardown(ctrl);
+}
+
+
+
+static void i2c_msm_pm_suspend(struct device *dev)
+{
+	struct i2c_msm_ctrl *ctrl = dev_get_drvdata(dev);
+
+	if (ctrl->pwr_state == I2C_MSM_PM_RT_SUSPENDED) {
+		dev_err(ctrl->dev, "attempt to suspend when suspended\n");
+		return;
+	}
+	i2c_msm_dbg(ctrl, MSM_DBG, "suspending...\n");
+	i2c_msm_pm_clk_unprepare(ctrl);
+	i2c_msm_clk_path_unvote(ctrl);
+
+	/*
+	 * We implement system and runtime suspend in the same way. However
+	 * it is important for us to distinguish between them in when servicing
+	 * a transfer requests. If we get transfer request while in runtime
+	 * suspend we want to simply wake up and service that request. But if we
+	 * get a transfer request while system is suspending we want to bail
+	 * out on that request. This is why if we marked that we are in system
+	 * suspend, we do not want to override that state with runtime suspend.
+	 */
+	if (ctrl->pwr_state != I2C_MSM_PM_SYS_SUSPENDED)
+		ctrl->pwr_state = I2C_MSM_PM_RT_SUSPENDED;
+}
+
+static int i2c_msm_pm_resume(struct device *dev)
+{
+	struct i2c_msm_ctrl *ctrl = dev_get_drvdata(dev);
+
+	if (ctrl->pwr_state == I2C_MSM_PM_RT_ACTIVE)
+		return 0;
+
+	i2c_msm_dbg(ctrl, MSM_DBG, "resuming...\n");
+
+	i2c_msm_clk_path_vote(ctrl);
+	i2c_msm_pm_clk_prepare(ctrl);
+	ctrl->pwr_state = I2C_MSM_PM_RT_ACTIVE;
+	return 0;
+}
+
+#ifdef CONFIG_PM
+/*
+ * i2c_msm_pm_sys_suspend_noirq: system power management callback
+ */
+static int i2c_msm_pm_sys_suspend_noirq(struct device *dev)
+{
+	struct i2c_msm_ctrl *ctrl = dev_get_drvdata(dev);
+	enum i2c_msm_power_state prev_state = ctrl->pwr_state;
+
+	i2c_msm_dbg(ctrl, MSM_DBG, "pm_sys_noirq: suspending...\n");
+
+	/* Acquire mutex to ensure current transaction is over */
+	mutex_lock(&ctrl->xfer.mtx);
+	ctrl->pwr_state = I2C_MSM_PM_SYS_SUSPENDED;
+	mutex_unlock(&ctrl->xfer.mtx);
+	i2c_msm_dbg(ctrl, MSM_DBG, "pm_sys_noirq: suspending...\n");
+
+	if (prev_state == I2C_MSM_PM_RT_ACTIVE) {
+		i2c_msm_pm_suspend(dev);
+		/*
+		 * Synchronize runtime-pm and system-pm states:
+		 * at this point we are already suspended. However, the
+		 * runtime-PM framework still thinks that we are active.
+		 * The three calls below let the runtime-PM know that we are
+		 * suspended already without re-invoking the suspend callback
+		 */
+		pm_runtime_disable(dev);
+		pm_runtime_set_suspended(dev);
+		pm_runtime_enable(dev);
+	}
+
+	return 0;
+}
+
+/*
+ * i2c_msm_pm_sys_resume: system power management callback
+ * shifts the controller's power state from system suspend to runtime suspend
+ */
+static int i2c_msm_pm_sys_resume_noirq(struct device *dev)
+{
+	struct i2c_msm_ctrl *ctrl = dev_get_drvdata(dev);
+
+	i2c_msm_dbg(ctrl, MSM_DBG, "pm_sys_noirq: resuming...\n");
+	mutex_lock(&ctrl->xfer.mtx);
+	ctrl->pwr_state = I2C_MSM_PM_RT_SUSPENDED;
+	mutex_unlock(&ctrl->xfer.mtx);
+	return  0;
+}
+#endif
+
+#ifdef CONFIG_PM
+static void i2c_msm_pm_rt_init(struct device *dev)
+{
+	pm_runtime_set_suspended(dev);
+	pm_runtime_set_autosuspend_delay(dev, (MSEC_PER_SEC >> 2));
+	pm_runtime_use_autosuspend(dev);
+	pm_runtime_enable(dev);
+}
+
+/*
+ * i2c_msm_pm_rt_suspend: runtime power management callback
+ */
+static int i2c_msm_pm_rt_suspend(struct device *dev)
+{
+	struct i2c_msm_ctrl *ctrl = dev_get_drvdata(dev);
+
+	i2c_msm_dbg(ctrl, MSM_DBG, "pm_runtime: suspending...\n");
+	i2c_msm_pm_suspend(dev);
+	return 0;
+}
+
+/*
+ * i2c_msm_pm_rt_resume: runtime power management callback
+ */
+static int i2c_msm_pm_rt_resume(struct device *dev)
+{
+	struct i2c_msm_ctrl *ctrl = dev_get_drvdata(dev);
+
+	i2c_msm_dbg(ctrl, MSM_DBG, "pm_runtime: resuming...\n");
+	return  i2c_msm_pm_resume(dev);
+}
+
+#else
+static void i2c_msm_pm_rt_init(struct device *dev) {}
+#define i2c_msm_pm_rt_suspend NULL
+#define i2c_msm_pm_rt_resume NULL
+#endif
+
+static const struct dev_pm_ops i2c_msm_pm_ops = {
+#ifdef CONFIG_PM_SLEEP
+	.suspend_noirq		= i2c_msm_pm_sys_suspend_noirq,
+	.resume_noirq		= i2c_msm_pm_sys_resume_noirq,
+#endif
+	SET_RUNTIME_PM_OPS(i2c_msm_pm_rt_suspend,
+			   i2c_msm_pm_rt_resume,
+			   NULL)
+};
+
+static u32 i2c_msm_frmwrk_func(struct i2c_adapter *adap)
+{
+	return I2C_FUNC_I2C | (I2C_FUNC_SMBUS_EMUL & ~I2C_FUNC_SMBUS_QUICK);
+}
+
+static const struct i2c_algorithm i2c_msm_frmwrk_algrtm = {
+	.master_xfer	= i2c_msm_frmwrk_xfer,
+	.functionality	= i2c_msm_frmwrk_func,
+};
+
+static const char * const i2c_msm_adapter_name = "MSM-I2C-v2-adapter";
+
+static int i2c_msm_frmwrk_reg(struct platform_device *pdev,
+						struct i2c_msm_ctrl *ctrl)
+{
+	int ret;
+
+	i2c_set_adapdata(&ctrl->adapter, ctrl);
+	ctrl->adapter.algo = &i2c_msm_frmwrk_algrtm;
+	strlcpy(ctrl->adapter.name, i2c_msm_adapter_name,
+						sizeof(ctrl->adapter.name));
+
+	ctrl->adapter.nr = pdev->id;
+	ctrl->adapter.dev.parent = &pdev->dev;
+	ctrl->adapter.dev.of_node = pdev->dev.of_node;
+	ret = i2c_add_numbered_adapter(&ctrl->adapter);
+	if (ret) {
+		dev_err(ctrl->dev, "error i2c_add_adapter failed\n");
+		return ret;
+	}
+
+	return ret;
+}
+
+static void i2c_msm_frmwrk_unreg(struct i2c_msm_ctrl *ctrl)
+{
+	i2c_del_adapter(&ctrl->adapter);
+}
+
+static int i2c_msm_probe(struct platform_device *pdev)
+{
+	struct i2c_msm_ctrl *ctrl;
+	int ret = 0;
+
+	ctrl = devm_kzalloc(&pdev->dev, sizeof(*ctrl), GFP_KERNEL);
+	if (!ctrl)
+		return -ENOMEM;
+	ctrl->dev = &pdev->dev;
+	platform_set_drvdata(pdev, ctrl);
+	ctrl->dbgfs.dbg_lvl         = DEFAULT_DBG_LVL;
+	ctrl->dbgfs.force_xfer_mode = I2C_MSM_XFER_MODE_NONE;
+	mutex_init(&ctrl->xfer.mtx);
+	ctrl->pwr_state = I2C_MSM_PM_RT_SUSPENDED;
+
+	if (!pdev->dev.of_node) {
+		dev_err(&pdev->dev, "error: null device-tree node\n");
+		return -EBADE;
+	}
+
+	ret = i2c_msm_rsrcs_process_dt(ctrl, pdev);
+	if (ret) {
+		dev_err(ctrl->dev, "error in process device tree node\n");
+		return ret;
+	}
+
+	ret = i2c_msm_rsrcs_mem_init(pdev, ctrl);
+	if (ret)
+		goto mem_err;
+
+	ret = i2c_msm_rsrcs_clk_init(ctrl);
+	if (ret)
+		goto clk_err;
+
+	/* vote for clock to enable reading the version number off the HW */
+	i2c_msm_clk_path_vote(ctrl);
+
+	ret = i2c_msm_pm_clk_prepare(ctrl);
+	if (ret)
+		goto clk_err;
+
+	ret = i2c_msm_pm_clk_enable(ctrl);
+	if (ret) {
+		i2c_msm_pm_clk_unprepare(ctrl);
+		goto clk_err;
+	}
+
+	/*
+	 * reset the core before registering for interrupts. This solves an
+	 * interrupt storm issue when the bootloader leaves a pending interrupt.
+	 */
+	ret = i2c_msm_qup_sw_reset(ctrl);
+	if (ret)
+		dev_err(ctrl->dev, "error error on qup software reset\n");
+
+	i2c_msm_pm_clk_disable(ctrl);
+	i2c_msm_pm_clk_unprepare(ctrl);
+	i2c_msm_clk_path_unvote(ctrl);
+
+	ret = i2c_msm_rsrcs_gpio_pinctrl_init(ctrl);
+	if (ret)
+		goto err_no_pinctrl;
+
+	i2c_msm_pm_rt_init(ctrl->dev);
+
+	ret = i2c_msm_rsrcs_irq_init(pdev, ctrl);
+	if (ret)
+		goto irq_err;
+
+	i2c_msm_dbgfs_init(ctrl);
+
+	ret = i2c_msm_frmwrk_reg(pdev, ctrl);
+	if (ret)
+		goto reg_err;
+
+	i2c_msm_dbg(ctrl, MSM_PROF, "probe() completed with success\n");
+	return 0;
+
+reg_err:
+	i2c_msm_dbgfs_teardown(ctrl);
+	i2c_msm_rsrcs_irq_teardown(ctrl);
+irq_err:
+	i2x_msm_blk_free_cache(ctrl);
+err_no_pinctrl:
+	i2c_msm_rsrcs_clk_teardown(ctrl);
+clk_err:
+	i2c_msm_rsrcs_mem_teardown(ctrl);
+mem_err:
+	dev_err(ctrl->dev, "error probe() failed with err:%d\n", ret);
+	return ret;
+}
+
+static int i2c_msm_remove(struct platform_device *pdev)
+{
+	struct i2c_msm_ctrl *ctrl = platform_get_drvdata(pdev);
+
+	/* Grab mutex to ensure ongoing transaction is over */
+	mutex_lock(&ctrl->xfer.mtx);
+	ctrl->pwr_state = I2C_MSM_PM_SYS_SUSPENDED;
+	pm_runtime_disable(ctrl->dev);
+	/* no one can call a xfer after the next line */
+	i2c_msm_frmwrk_unreg(ctrl);
+	mutex_unlock(&ctrl->xfer.mtx);
+	mutex_destroy(&ctrl->xfer.mtx);
+
+	i2c_msm_dma_teardown(ctrl);
+	i2c_msm_dbgfs_teardown(ctrl);
+	i2c_msm_rsrcs_irq_teardown(ctrl);
+	i2c_msm_rsrcs_clk_teardown(ctrl);
+	i2c_msm_rsrcs_mem_teardown(ctrl);
+	i2x_msm_blk_free_cache(ctrl);
+	return 0;
+}
+
+static const struct of_device_id i2c_msm_dt_match[] = {
+	{
+		.compatible = "qcom,i2c-msm-v2",
+	},
+	{}
+};
+
+static struct platform_driver i2c_msm_driver = {
+	.probe  = i2c_msm_probe,
+	.remove = i2c_msm_remove,
+	.driver = {
+		.name           = "i2c-msm-v2",
+		.pm             = &i2c_msm_pm_ops,
+		.of_match_table = i2c_msm_dt_match,
+	},
+};
+
+static int i2c_msm_init(void)
+{
+	return platform_driver_register(&i2c_msm_driver);
+}
+subsys_initcall(i2c_msm_init);
+
+static void i2c_msm_exit(void)
+{
+	platform_driver_unregister(&i2c_msm_driver);
+}
+module_exit(i2c_msm_exit);
+
+MODULE_LICENSE("GPL v2");
+MODULE_ALIAS("platform:i2c-msm-v2");
diff --git a/drivers/i2c/busses/i2c-stm32.c b/drivers/i2c/busses/i2c-stm32.c
index d75fbcb..667f803 100644
--- a/drivers/i2c/busses/i2c-stm32.c
+++ b/drivers/i2c/busses/i2c-stm32.c
@@ -21,13 +21,13 @@
 
 	dma = devm_kzalloc(dev, sizeof(*dma), GFP_KERNEL);
 	if (!dma)
-		return NULL;
+		return ERR_PTR(-ENOMEM);
 
 	/* Request and configure I2C TX dma channel */
-	dma->chan_tx = dma_request_slave_channel(dev, "tx");
-	if (!dma->chan_tx) {
+	dma->chan_tx = dma_request_chan(dev, "tx");
+	if (IS_ERR(dma->chan_tx)) {
 		dev_dbg(dev, "can't request DMA tx channel\n");
-		ret = -EINVAL;
+		ret = PTR_ERR(dma->chan_tx);
 		goto fail_al;
 	}
 
@@ -43,10 +43,10 @@
 	}
 
 	/* Request and configure I2C RX dma channel */
-	dma->chan_rx = dma_request_slave_channel(dev, "rx");
-	if (!dma->chan_rx) {
+	dma->chan_rx = dma_request_chan(dev, "rx");
+	if (IS_ERR(dma->chan_rx)) {
 		dev_err(dev, "can't request DMA rx channel\n");
-		ret = -EINVAL;
+		ret = PTR_ERR(dma->chan_rx);
 		goto fail_tx;
 	}
 
@@ -76,7 +76,7 @@
 	devm_kfree(dev, dma);
 	dev_info(dev, "can't use DMA\n");
 
-	return NULL;
+	return ERR_PTR(ret);
 }
 
 void stm32_i2c_dma_free(struct stm32_i2c_dma *dma)
diff --git a/drivers/i2c/busses/i2c-stm32f7.c b/drivers/i2c/busses/i2c-stm32f7.c
index f4e3613..eb7e533 100644
--- a/drivers/i2c/busses/i2c-stm32f7.c
+++ b/drivers/i2c/busses/i2c-stm32f7.c
@@ -1252,8 +1252,8 @@
 	 * slave[0] supports 7-bit and 10-bit slave address
 	 * slave[1] supports 7-bit slave address only
 	 */
-	for (i = 0; i < STM32F7_I2C_MAX_SLAVE; i++) {
-		if (i == 1 && (slave->flags & I2C_CLIENT_PEC))
+	for (i = STM32F7_I2C_MAX_SLAVE - 1; i >= 0; i--) {
+		if (i == 1 && (slave->flags & I2C_CLIENT_TEN))
 			continue;
 		if (!i2c_dev->slave[i]) {
 			*id = i;
@@ -1914,6 +1914,15 @@
 	i2c_dev->dma = stm32_i2c_dma_request(i2c_dev->dev, phy_addr,
 					     STM32F7_I2C_TXDR,
 					     STM32F7_I2C_RXDR);
+	if (PTR_ERR(i2c_dev->dma) == -ENODEV)
+		i2c_dev->dma = NULL;
+	else if (IS_ERR(i2c_dev->dma)) {
+		ret = PTR_ERR(i2c_dev->dma);
+		if (ret != -EPROBE_DEFER)
+			dev_err(&pdev->dev,
+				"Failed to request dma error %i\n", ret);
+		goto clk_free;
+	}
 
 	ret = i2c_add_adapter(adap);
 	if (ret)
diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c
index 1de10e5..f225bef 100644
--- a/drivers/i2c/i2c-core-base.c
+++ b/drivers/i2c/i2c-core-base.c
@@ -194,10 +194,11 @@
 	 * If we can set SDA, we will always create a STOP to ensure additional
 	 * pulses will do no harm. This is achieved by letting SDA follow SCL
 	 * half a cycle later. Check the 'incomplete_write_byte' fault injector
-	 * for details.
+	 * for details. Note that we must honour tsu:sto, 4us, but lets use 5us
+	 * here for simplicity.
 	 */
 	bri->set_scl(adap, scl);
-	ndelay(RECOVERY_NDELAY / 2);
+	ndelay(RECOVERY_NDELAY);
 	if (bri->set_sda)
 		bri->set_sda(adap, scl);
 	ndelay(RECOVERY_NDELAY / 2);
@@ -219,7 +220,13 @@
 		scl = !scl;
 		bri->set_scl(adap, scl);
 		/* Creating STOP again, see above */
-		ndelay(RECOVERY_NDELAY / 2);
+		if (scl)  {
+			/* Honour minimum tsu:sto */
+			ndelay(RECOVERY_NDELAY);
+		} else {
+			/* Honour minimum tf and thd:dat */
+			ndelay(RECOVERY_NDELAY / 2);
+		}
 		if (bri->set_sda)
 			bri->set_sda(adap, scl);
 		ndelay(RECOVERY_NDELAY / 2);
diff --git a/drivers/i3c/master/i3c-master-qcom-geni.c b/drivers/i3c/master/i3c-master-qcom-geni.c
index d9f111e..b450323 100644
--- a/drivers/i3c/master/i3c-master-qcom-geni.c
+++ b/drivers/i3c/master/i3c-master-qcom-geni.c
@@ -273,7 +273,8 @@
 	struct geni_ibi ibi;
 	struct workqueue_struct *hj_wq;
 	struct work_struct hj_wd;
-	struct wakeup_source hj_wl;
+	struct wakeup_source *hj_wl;
+	struct pinctrl_state *i3c_gpio_disable;
 };
 
 struct geni_i3c_i2c_dev_data {
@@ -735,7 +736,7 @@
 {
 	dma_addr_t tx_dma = 0;
 	dma_addr_t rx_dma = 0;
-	int ret, time_remaining = 0;
+	int ret = 0, time_remaining = 0;
 	enum i3c_trans_dir rnw = gi3c->cur_rnw;
 	u32 len = gi3c->cur_len;
 
@@ -816,10 +817,12 @@
 		geni_se_tx_dma_unprep(gi3c->se.i3c_rsc.wrapper_dev,
 				tx_dma, len);
 	}
-	ret = gi3c->err;
-	if (gi3c->err)
+
+	if (gi3c->err) {
+		ret = (gi3c->err == -EBUSY) ? I3C_ERROR_M2 : gi3c->err;
 		GENI_SE_DBG(gi3c->ipcl, false, gi3c->se.dev,
 			"I3C transaction error :%d\n", gi3c->err);
+	}
 
 	gi3c->cur_buf = NULL;
 	gi3c->cur_len = gi3c->cur_idx = 0;
@@ -1523,10 +1526,8 @@
 	return -ENOSPC;
 }
 
-static int qcom_deallocate_ibi_table_entry(struct i3c_dev_desc *dev)
+static int qcom_deallocate_ibi_table_entry(struct geni_i3c_dev *gi3c)
 {
-	struct i3c_master_controller *m = i3c_dev_get_master(dev);
-	struct geni_i3c_dev *gi3c = to_geni_i3c_master(m);
 	u32 i, timeout;
 
 	for (i = 0; i < gi3c->ibi.num_slots; i++) {
@@ -1558,16 +1559,14 @@
 	return 0;
 }
 
-static void qcom_geni_i3c_ibi_unconf(struct i3c_dev_desc *dev)
+static void qcom_geni_i3c_ibi_unconf(struct geni_i3c_dev *gi3c)
 {
-	struct i3c_master_controller *m = i3c_dev_get_master(dev);
-	struct geni_i3c_dev *gi3c = to_geni_i3c_master(m);
 	u32 val, timeout;
 	int ret = 0;
 
 	val = geni_read_reg(gi3c->se.ibi_base, IBI_ALLOCATED_ENTRIES_GPII(0));
 	if (val) {
-		ret = qcom_deallocate_ibi_table_entry(dev);
+		ret = qcom_deallocate_ibi_table_entry(gi3c);
 		if (ret)
 			return;
 	}
@@ -1619,7 +1618,7 @@
 	if (!gi3c->ibi.hw_support && !gi3c->ibi.is_init)
 		return;
 
-	qcom_geni_i3c_ibi_unconf(dev);
+	qcom_geni_i3c_ibi_unconf(gi3c);
 
 	spin_lock_irqsave(&gi3c->ibi.lock, flags);
 	gi3c->ibi.slots[data->ibi] = NULL;
@@ -1777,6 +1776,14 @@
 		ret = PTR_ERR(gi3c->se.i3c_rsc.geni_gpio_sleep);
 		return ret;
 	}
+	gi3c->i3c_gpio_disable =
+		pinctrl_lookup_state(gi3c->se.i3c_rsc.geni_pinctrl, "disable");
+	if (IS_ERR(gi3c->i3c_gpio_disable)) {
+		GENI_SE_ERR(gi3c->ipcl, false, gi3c->se.dev,
+			"Error no pinctrl disable config specified\n");
+		ret = PTR_ERR(gi3c->i3c_gpio_disable);
+		return ret;
+	}
 
 	return 0;
 }
@@ -1953,7 +1960,14 @@
 	geni_se_init(gi3c->se.base, gi3c->tx_wm, tx_depth);
 	se_config_packing(gi3c->se.base, BITS_PER_BYTE, PACKING_BYTES_PW, true);
 
-	wakeup_source_init(&gi3c->hj_wl, dev_name(gi3c->se.dev));
+	gi3c->hj_wl = wakeup_source_register(gi3c->se.dev,
+					     dev_name(gi3c->se.dev));
+	if (!gi3c->hj_wl) {
+		GENI_SE_ERR(gi3c->ipcl, false, gi3c->se.dev, "wakeup source registration failed\n");
+		se_geni_resources_off(&gi3c->se.i3c_rsc);
+		return -ENOMEM;
+	}
+
 	INIT_WORK(&gi3c->hj_wd, geni_i3c_hotjoin);
 	gi3c->hj_wq = alloc_workqueue("%s", 0, 0, dev_name(gi3c->se.dev));
 
@@ -1976,23 +1990,38 @@
 	ret = i3c_master_register(&gi3c->ctrlr, &pdev->dev,
 		&geni_i3c_master_ops, false);
 	if (ret)
-		return ret;
+		GENI_SE_ERR(gi3c->ipcl, false, gi3c->se.dev,
+			"i3c_master_register failed:%d\n", ret);
+
 	//enable hot-join IRQ also
 	geni_write_reg(~0u, gi3c->se.ibi_base, IBI_GEN_IRQ_EN);
 
 	GENI_SE_DBG(gi3c->ipcl, false, gi3c->se.dev, "I3C probed\n");
 
-	return ret;
+	return 0;
 }
 
 static int geni_i3c_remove(struct platform_device *pdev)
 {
 	struct geni_i3c_dev *gi3c = platform_get_drvdata(pdev);
-	int ret = 0;
+	int ret = 0, val = 0;
 
+	//Disable hot-join, until next probe happens
+	val = geni_read_reg(gi3c->se.ibi_base, IBI_GEN_IRQ_EN);
+	val &= ~HOT_JOIN_IRQ_EN;
+	geni_write_reg(val, gi3c->se.ibi_base, IBI_GEN_IRQ_EN);
+
+	if (gi3c->ibi.is_init)
+		qcom_geni_i3c_ibi_unconf(gi3c);
 	destroy_workqueue(gi3c->hj_wq);
-	wakeup_source_trash(&gi3c->hj_wl);
-	pm_runtime_disable(gi3c->se.dev);
+	wakeup_source_unregister(gi3c->hj_wl);
+	/*force suspend to avoid the auto suspend caused by driver removal*/
+	pm_runtime_force_suspend(gi3c->se.dev);
+	ret = pinctrl_select_state(gi3c->se.i3c_rsc.geni_pinctrl,
+			gi3c->i3c_gpio_disable);
+	if (ret)
+		GENI_SE_DBG(gi3c->ipcl, false, gi3c->se.dev,
+			" i3c: pinctrl_select_state failed\n");
 	ret = i3c_master_unregister(&gi3c->ctrlr);
 	if (gi3c->ipcl)
 		ipc_log_context_destroy(gi3c->ipcl);
@@ -2004,7 +2033,7 @@
 	return 0;
 }
 
-#ifdef CONFIG_PM
+#if IS_ENABLED(CONFIG_PM)
 static int geni_i3c_runtime_suspend(struct device *dev)
 {
 	struct geni_i3c_dev *gi3c = dev_get_drvdata(dev);
@@ -2080,7 +2109,18 @@
 	},
 };
 
-module_platform_driver(geni_i3c_master);
+static int __init i3c_dev_init(void)
+{
+	return platform_driver_register(&geni_i3c_master);
+}
+
+static void __exit i3c_dev_exit(void)
+{
+	platform_driver_unregister(&geni_i3c_master);
+}
+
+module_init(i3c_dev_init);
+module_exit(i3c_dev_exit);
 
 MODULE_LICENSE("GPL v2");
 MODULE_ALIAS("platform:geni_i3c_master");
diff --git a/drivers/ide/cmd64x.c b/drivers/ide/cmd64x.c
index b127ed6..9dde839 100644
--- a/drivers/ide/cmd64x.c
+++ b/drivers/ide/cmd64x.c
@@ -65,6 +65,9 @@
 	struct ide_timing t;
 	u8 arttim = 0;
 
+	if (drive->dn >= ARRAY_SIZE(drwtim_regs))
+		return;
+
 	ide_timing_compute(drive, mode, &t, T, 0);
 
 	/*
diff --git a/drivers/ide/serverworks.c b/drivers/ide/serverworks.c
index a97affc..0f57d45 100644
--- a/drivers/ide/serverworks.c
+++ b/drivers/ide/serverworks.c
@@ -114,6 +114,9 @@
 	struct pci_dev *dev = to_pci_dev(hwif->dev);
 	const u8 pio = drive->pio_mode - XFER_PIO_0;
 
+	if (drive->dn >= ARRAY_SIZE(drive_pci))
+		return;
+
 	pci_write_config_byte(dev, drive_pci[drive->dn], pio_modes[pio]);
 
 	if (svwks_csb_check(dev)) {
@@ -140,6 +143,9 @@
 
 	u8 ultra_enable	 = 0, ultra_timing = 0, dma_timing = 0;
 
+	if (drive->dn >= ARRAY_SIZE(drive_pci2))
+		return;
+
 	pci_read_config_byte(dev, (0x56|hwif->channel), &ultra_timing);
 	pci_read_config_byte(dev, 0x54, &ultra_enable);
 
diff --git a/drivers/iio/adc/qcom-spmi-adc5.c b/drivers/iio/adc/qcom-spmi-adc5.c
index a71075f..d5f06df 100644
--- a/drivers/iio/adc/qcom-spmi-adc5.c
+++ b/drivers/iio/adc/qcom-spmi-adc5.c
@@ -987,6 +987,8 @@
 					SCALE_HW_CALIB_THERM_100K_PULLUP)
 	[ADC_XO_THERM_PU2]	= ADC_CHAN_TEMP("xo_therm", 1,
 					SCALE_HW_CALIB_THERM_100K_PULLUP)
+	[ANA_IN]		= ADC_CHAN_TEMP("drax_temp", 1,
+					SCALE_HW_CALIB_PMIC_THERM)
 };
 
 static int adc_get_dt_channel_data(struct adc_chip *adc,
diff --git a/drivers/iio/dac/ad5380.c b/drivers/iio/dac/ad5380.c
index 873c2bf..617c9f7 100644
--- a/drivers/iio/dac/ad5380.c
+++ b/drivers/iio/dac/ad5380.c
@@ -221,7 +221,7 @@
 		if (ret)
 			return ret;
 		*val >>= chan->scan_type.shift;
-		val -= (1 << chan->scan_type.realbits) / 2;
+		*val -= (1 << chan->scan_type.realbits) / 2;
 		return IIO_VAL_INT;
 	case IIO_CHAN_INFO_SCALE:
 		*val = 2 * st->vref;
diff --git a/drivers/iio/gyro/st_gyro_core.c b/drivers/iio/gyro/st_gyro_core.c
index b31064b..02f6f26 100644
--- a/drivers/iio/gyro/st_gyro_core.c
+++ b/drivers/iio/gyro/st_gyro_core.c
@@ -141,7 +141,6 @@
 			[2] = LSM330DLC_GYRO_DEV_NAME,
 			[3] = L3G4IS_GYRO_DEV_NAME,
 			[4] = LSM330_GYRO_DEV_NAME,
-			[5] = LSM9DS0_GYRO_DEV_NAME,
 		},
 		.ch = (struct iio_chan_spec *)st_gyro_16bit_channels,
 		.odr = {
@@ -212,6 +211,80 @@
 		.bootime = 2,
 	},
 	{
+		.wai = 0xd4,
+		.wai_addr = ST_SENSORS_DEFAULT_WAI_ADDRESS,
+		.sensors_supported = {
+			[0] = LSM9DS0_GYRO_DEV_NAME,
+		},
+		.ch = (struct iio_chan_spec *)st_gyro_16bit_channels,
+		.odr = {
+			.addr = 0x20,
+			.mask = GENMASK(7, 6),
+			.odr_avl = {
+				{ .hz = 95, .value = 0x00, },
+				{ .hz = 190, .value = 0x01, },
+				{ .hz = 380, .value = 0x02, },
+				{ .hz = 760, .value = 0x03, },
+			},
+		},
+		.pw = {
+			.addr = 0x20,
+			.mask = BIT(3),
+			.value_on = ST_SENSORS_DEFAULT_POWER_ON_VALUE,
+			.value_off = ST_SENSORS_DEFAULT_POWER_OFF_VALUE,
+		},
+		.enable_axis = {
+			.addr = ST_SENSORS_DEFAULT_AXIS_ADDR,
+			.mask = ST_SENSORS_DEFAULT_AXIS_MASK,
+		},
+		.fs = {
+			.addr = 0x23,
+			.mask = GENMASK(5, 4),
+			.fs_avl = {
+				[0] = {
+					.num = ST_GYRO_FS_AVL_245DPS,
+					.value = 0x00,
+					.gain = IIO_DEGREE_TO_RAD(8750),
+				},
+				[1] = {
+					.num = ST_GYRO_FS_AVL_500DPS,
+					.value = 0x01,
+					.gain = IIO_DEGREE_TO_RAD(17500),
+				},
+				[2] = {
+					.num = ST_GYRO_FS_AVL_2000DPS,
+					.value = 0x02,
+					.gain = IIO_DEGREE_TO_RAD(70000),
+				},
+			},
+		},
+		.bdu = {
+			.addr = 0x23,
+			.mask = BIT(7),
+		},
+		.drdy_irq = {
+			.int2 = {
+				.addr = 0x22,
+				.mask = BIT(3),
+			},
+			/*
+			 * The sensor has IHL (active low) and open
+			 * drain settings, but only for INT1 and not
+			 * for the DRDY line on INT2.
+			 */
+			.stat_drdy = {
+				.addr = ST_SENSORS_DEFAULT_STAT_ADDR,
+				.mask = GENMASK(2, 0),
+			},
+		},
+		.sim = {
+			.addr = 0x23,
+			.value = BIT(0),
+		},
+		.multi_read_bit = true,
+		.bootime = 2,
+	},
+	{
 		.wai = 0xd7,
 		.wai_addr = ST_SENSORS_DEFAULT_WAI_ADDRESS,
 		.sensors_supported = {
diff --git a/drivers/iio/imu/adis16480.c b/drivers/iio/imu/adis16480.c
index ea24701..186f719 100644
--- a/drivers/iio/imu/adis16480.c
+++ b/drivers/iio/imu/adis16480.c
@@ -376,12 +376,14 @@
 	case IIO_MAGN:
 	case IIO_PRESSURE:
 		ret = adis_read_reg_16(&st->adis, reg, &val16);
-		*bias = sign_extend32(val16, 15);
+		if (ret == 0)
+			*bias = sign_extend32(val16, 15);
 		break;
 	case IIO_ANGL_VEL:
 	case IIO_ACCEL:
 		ret = adis_read_reg_32(&st->adis, reg, &val32);
-		*bias = sign_extend32(val32, 31);
+		if (ret == 0)
+			*bias = sign_extend32(val32, 31);
 		break;
 	default:
 			ret = -EINVAL;
diff --git a/drivers/iio/industrialio-buffer.c b/drivers/iio/industrialio-buffer.c
index dadd921..a0d089a 100644
--- a/drivers/iio/industrialio-buffer.c
+++ b/drivers/iio/industrialio-buffer.c
@@ -570,7 +570,7 @@
 				const unsigned long *mask, bool timestamp)
 {
 	unsigned bytes = 0;
-	int length, i;
+	int length, i, largest = 0;
 
 	/* How much space will the demuxed element take? */
 	for_each_set_bit(i, mask,
@@ -578,13 +578,17 @@
 		length = iio_storage_bytes_for_si(indio_dev, i);
 		bytes = ALIGN(bytes, length);
 		bytes += length;
+		largest = max(largest, length);
 	}
 
 	if (timestamp) {
 		length = iio_storage_bytes_for_timestamp(indio_dev);
 		bytes = ALIGN(bytes, length);
 		bytes += length;
+		largest = max(largest, length);
 	}
+
+	bytes = ALIGN(bytes, largest);
 	return bytes;
 }
 
diff --git a/drivers/iio/inkern.c b/drivers/iio/inkern.c
index 06ca3f7..053a18c 100644
--- a/drivers/iio/inkern.c
+++ b/drivers/iio/inkern.c
@@ -934,3 +934,21 @@
 			       chan->channel, buf, len);
 }
 EXPORT_SYMBOL_GPL(iio_write_channel_ext_info);
+
+int iio_write_channel_processed(struct iio_channel *chan, int val)
+{
+	int ret;
+
+	mutex_lock(&chan->indio_dev->info_exist_lock);
+	if (chan->indio_dev->info == NULL) {
+		ret = -ENODEV;
+		goto err_unlock;
+	}
+
+	ret = iio_channel_write(chan, val, 0, IIO_CHAN_INFO_PROCESSED);
+err_unlock:
+	mutex_unlock(&chan->indio_dev->info_exist_lock);
+
+	return ret;
+}
+EXPORT_SYMBOL(iio_write_channel_processed);
diff --git a/drivers/iio/light/tsl2772.c b/drivers/iio/light/tsl2772.c
index df5b2a0..f2e308c 100644
--- a/drivers/iio/light/tsl2772.c
+++ b/drivers/iio/light/tsl2772.c
@@ -716,6 +716,13 @@
 	return tsl2772_write_control_reg(chip, 0x00);
 }
 
+static void tsl2772_chip_off_action(void *data)
+{
+	struct iio_dev *indio_dev = data;
+
+	tsl2772_chip_off(indio_dev);
+}
+
 /**
  * tsl2772_invoke_change - power cycle the device to implement the user
  *                         parameters
@@ -1711,9 +1718,14 @@
 	if (ret < 0)
 		return ret;
 
+	ret = devm_add_action_or_reset(&clientp->dev,
+					tsl2772_chip_off_action,
+					indio_dev);
+	if (ret < 0)
+		return ret;
+
 	ret = iio_device_register(indio_dev);
 	if (ret) {
-		tsl2772_chip_off(indio_dev);
 		dev_err(&clientp->dev,
 			"%s: iio registration failed\n", __func__);
 		return ret;
@@ -1740,8 +1752,6 @@
 {
 	struct iio_dev *indio_dev = i2c_get_clientdata(client);
 
-	tsl2772_chip_off(indio_dev);
-
 	iio_device_unregister(indio_dev);
 
 	return 0;
diff --git a/drivers/infiniband/core/addr.c b/drivers/infiniband/core/addr.c
index 9e5f70e..6e96a2f 100644
--- a/drivers/infiniband/core/addr.c
+++ b/drivers/infiniband/core/addr.c
@@ -136,7 +136,7 @@
 	if (ib_nl_is_good_ip_resp(nlh))
 		ib_nl_process_good_ip_rsep(nlh);
 
-	return skb->len;
+	return 0;
 }
 
 static int ib_nl_ip_send_msg(struct rdma_dev_addr *dev_addr,
diff --git a/drivers/infiniband/core/cm.c b/drivers/infiniband/core/cm.c
index 4c53327..64f206e 100644
--- a/drivers/infiniband/core/cm.c
+++ b/drivers/infiniband/core/cm.c
@@ -1231,6 +1231,7 @@
 			/* Sharing an ib_cm_id with different handlers is not
 			 * supported */
 			spin_unlock_irqrestore(&cm.lock, flags);
+			ib_destroy_cm_id(cm_id);
 			return ERR_PTR(-EINVAL);
 		}
 		atomic_inc(&cm_id_priv->refcount);
diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c
index 319bfef..e16872e 100644
--- a/drivers/infiniband/core/cma.c
+++ b/drivers/infiniband/core/cma.c
@@ -2889,7 +2889,7 @@
 		if (status)
 			pr_debug_ratelimited("RDMA CM: ADDR_ERROR: failed to acquire device. status %d\n",
 					     status);
-	} else {
+	} else if (status) {
 		pr_debug_ratelimited("RDMA CM: ADDR_ERROR: failed to resolve IP. status %d\n", status);
 	}
 
diff --git a/drivers/infiniband/core/iwcm.c b/drivers/infiniband/core/iwcm.c
index 5d676cf..99dd845 100644
--- a/drivers/infiniband/core/iwcm.c
+++ b/drivers/infiniband/core/iwcm.c
@@ -158,8 +158,10 @@
 {
 	struct list_head *e, *tmp;
 
-	list_for_each_safe(e, tmp, &cm_id_priv->work_free_list)
+	list_for_each_safe(e, tmp, &cm_id_priv->work_free_list) {
+		list_del(e);
 		kfree(list_entry(e, struct iwcm_work, free_list));
+	}
 }
 
 static int alloc_work_entries(struct iwcm_id_private *cm_id_priv, int count)
diff --git a/drivers/infiniband/core/sa_query.c b/drivers/infiniband/core/sa_query.c
index 8be082e..9881e6f 100644
--- a/drivers/infiniband/core/sa_query.c
+++ b/drivers/infiniband/core/sa_query.c
@@ -1078,7 +1078,7 @@
 	}
 
 settimeout_out:
-	return skb->len;
+	return 0;
 }
 
 static inline int ib_nl_is_good_resolve_resp(const struct nlmsghdr *nlh)
@@ -1149,7 +1149,7 @@
 	}
 
 resp_out:
-	return skb->len;
+	return 0;
 }
 
 static void free_sm_ah(struct kref *kref)
diff --git a/drivers/infiniband/core/security.c b/drivers/infiniband/core/security.c
index b79b61b..f2c2e72 100644
--- a/drivers/infiniband/core/security.c
+++ b/drivers/infiniband/core/security.c
@@ -336,22 +336,20 @@
 	if (!new_pps)
 		return NULL;
 
-	if (qp_attr_mask & (IB_QP_PKEY_INDEX | IB_QP_PORT)) {
-		if (!qp_pps) {
-			new_pps->main.port_num = qp_attr->port_num;
-			new_pps->main.pkey_index = qp_attr->pkey_index;
-		} else {
-			new_pps->main.port_num = (qp_attr_mask & IB_QP_PORT) ?
-						  qp_attr->port_num :
-						  qp_pps->main.port_num;
+	if (qp_attr_mask & IB_QP_PORT)
+		new_pps->main.port_num = qp_attr->port_num;
+	else if (qp_pps)
+		new_pps->main.port_num = qp_pps->main.port_num;
 
-			new_pps->main.pkey_index =
-					(qp_attr_mask & IB_QP_PKEY_INDEX) ?
-					 qp_attr->pkey_index :
-					 qp_pps->main.pkey_index;
-		}
+	if (qp_attr_mask & IB_QP_PKEY_INDEX)
+		new_pps->main.pkey_index = qp_attr->pkey_index;
+	else if (qp_pps)
+		new_pps->main.pkey_index = qp_pps->main.pkey_index;
+
+	if ((qp_attr_mask & IB_QP_PKEY_INDEX) && (qp_attr_mask & IB_QP_PORT))
 		new_pps->main.state = IB_PORT_PKEY_VALID;
-	} else if (qp_pps) {
+
+	if (!(qp_attr_mask & (IB_QP_PKEY_INDEX | IB_QP_PORT)) && qp_pps) {
 		new_pps->main.port_num = qp_pps->main.port_num;
 		new_pps->main.pkey_index = qp_pps->main.pkey_index;
 		if (qp_pps->main.state != IB_PORT_PKEY_NOT_VALID)
diff --git a/drivers/infiniband/core/umem_odp.c b/drivers/infiniband/core/umem_odp.c
index 6ec748e..4bda124 100644
--- a/drivers/infiniband/core/umem_odp.c
+++ b/drivers/infiniband/core/umem_odp.c
@@ -689,7 +689,7 @@
 
 	while (bcnt > 0) {
 		const size_t gup_num_pages = min_t(size_t,
-				(bcnt + BIT(page_shift) - 1) >> page_shift,
+				ALIGN(bcnt, PAGE_SIZE) / PAGE_SIZE,
 				PAGE_SIZE / sizeof(struct page *));
 
 		down_read(&owning_mm->mmap_sem);
diff --git a/drivers/infiniband/core/uverbs_cmd.c b/drivers/infiniband/core/uverbs_cmd.c
index e012ca8..5e10a40 100644
--- a/drivers/infiniband/core/uverbs_cmd.c
+++ b/drivers/infiniband/core/uverbs_cmd.c
@@ -2914,12 +2914,6 @@
 	return 0;
 }
 
-static size_t kern_spec_filter_sz(const struct ib_uverbs_flow_spec_hdr *spec)
-{
-	/* Returns user space filter size, includes padding */
-	return (spec->size - sizeof(struct ib_uverbs_flow_spec_hdr)) / 2;
-}
-
 static ssize_t spec_filter_size(const void *kern_spec_filter, u16 kern_filter_size,
 				u16 ib_real_filter_sz)
 {
@@ -3063,11 +3057,16 @@
 static int kern_spec_to_ib_spec_filter(struct ib_uverbs_flow_spec *kern_spec,
 				       union ib_flow_spec *ib_spec)
 {
-	ssize_t kern_filter_sz;
+	size_t kern_filter_sz;
 	void *kern_spec_mask;
 	void *kern_spec_val;
 
-	kern_filter_sz = kern_spec_filter_sz(&kern_spec->hdr);
+	if (check_sub_overflow((size_t)kern_spec->hdr.size,
+			       sizeof(struct ib_uverbs_flow_spec_hdr),
+			       &kern_filter_sz))
+		return -EINVAL;
+
+	kern_filter_sz /= 2;
 
 	kern_spec_val = (void *)kern_spec +
 		sizeof(struct ib_uverbs_flow_spec_hdr);
diff --git a/drivers/infiniband/core/uverbs_main.c b/drivers/infiniband/core/uverbs_main.c
index 357de3b..5404717 100644
--- a/drivers/infiniband/core/uverbs_main.c
+++ b/drivers/infiniband/core/uverbs_main.c
@@ -273,7 +273,6 @@
 }
 
 static ssize_t ib_uverbs_event_read(struct ib_uverbs_event_queue *ev_queue,
-				    struct ib_uverbs_file *uverbs_file,
 				    struct file *filp, char __user *buf,
 				    size_t count, loff_t *pos,
 				    size_t eventsz)
@@ -291,19 +290,16 @@
 
 		if (wait_event_interruptible(ev_queue->poll_wait,
 					     (!list_empty(&ev_queue->event_list) ||
-			/* The barriers built into wait_event_interruptible()
-			 * and wake_up() guarentee this will see the null set
-			 * without using RCU
-			 */
-					     !uverbs_file->device->ib_dev)))
+					      ev_queue->is_closed)))
 			return -ERESTARTSYS;
 
-		/* If device was disassociated and no event exists set an error */
-		if (list_empty(&ev_queue->event_list) &&
-		    !uverbs_file->device->ib_dev)
-			return -EIO;
-
 		spin_lock_irq(&ev_queue->lock);
+
+		/* If device was disassociated and no event exists set an error */
+		if (list_empty(&ev_queue->event_list) && ev_queue->is_closed) {
+			spin_unlock_irq(&ev_queue->lock);
+			return -EIO;
+		}
 	}
 
 	event = list_entry(ev_queue->event_list.next, struct ib_uverbs_event, list);
@@ -338,8 +334,7 @@
 {
 	struct ib_uverbs_async_event_file *file = filp->private_data;
 
-	return ib_uverbs_event_read(&file->ev_queue, file->uverbs_file, filp,
-				    buf, count, pos,
+	return ib_uverbs_event_read(&file->ev_queue, filp, buf, count, pos,
 				    sizeof(struct ib_uverbs_async_event_desc));
 }
 
@@ -349,9 +344,8 @@
 	struct ib_uverbs_completion_event_file *comp_ev_file =
 		filp->private_data;
 
-	return ib_uverbs_event_read(&comp_ev_file->ev_queue,
-				    comp_ev_file->uobj.ufile, filp,
-				    buf, count, pos,
+	return ib_uverbs_event_read(&comp_ev_file->ev_queue, filp, buf, count,
+				    pos,
 				    sizeof(struct ib_uverbs_comp_event_desc));
 }
 
@@ -374,7 +368,9 @@
 static __poll_t ib_uverbs_async_event_poll(struct file *filp,
 					       struct poll_table_struct *wait)
 {
-	return ib_uverbs_event_poll(filp->private_data, filp, wait);
+	struct ib_uverbs_async_event_file *file = filp->private_data;
+
+	return ib_uverbs_event_poll(&file->ev_queue, filp, wait);
 }
 
 static __poll_t ib_uverbs_comp_event_poll(struct file *filp,
@@ -388,9 +384,9 @@
 
 static int ib_uverbs_async_event_fasync(int fd, struct file *filp, int on)
 {
-	struct ib_uverbs_event_queue *ev_queue = filp->private_data;
+	struct ib_uverbs_async_event_file *file = filp->private_data;
 
-	return fasync_helper(fd, filp, on, &ev_queue->async_queue);
+	return fasync_helper(fd, filp, on, &file->ev_queue.async_queue);
 }
 
 static int ib_uverbs_comp_event_fasync(int fd, struct file *filp, int on)
diff --git a/drivers/infiniband/core/uverbs_uapi.c b/drivers/infiniband/core/uverbs_uapi.c
index be85462..959a341 100644
--- a/drivers/infiniband/core/uverbs_uapi.c
+++ b/drivers/infiniband/core/uverbs_uapi.c
@@ -17,6 +17,8 @@
 		return ERR_PTR(-EOVERFLOW);
 
 	elm = kzalloc(alloc_size, GFP_KERNEL);
+	if (!elm)
+		return ERR_PTR(-ENOMEM);
 	rc = radix_tree_insert(&uapi->radix, key, elm);
 	if (rc) {
 		kfree(elm);
diff --git a/drivers/infiniband/hw/bnxt_re/ib_verbs.c b/drivers/infiniband/hw/bnxt_re/ib_verbs.c
index bc2b9e0..c9af2d1 100644
--- a/drivers/infiniband/hw/bnxt_re/ib_verbs.c
+++ b/drivers/infiniband/hw/bnxt_re/ib_verbs.c
@@ -1446,7 +1446,7 @@
 			dev_err(rdev_to_dev(rdev), "SRQ copy to udata failed!");
 			bnxt_qplib_destroy_srq(&rdev->qplib_res,
 					       &srq->qplib_srq);
-			goto exit;
+			goto fail;
 		}
 	}
 	if (nq)
@@ -2664,6 +2664,7 @@
 	nq->budget++;
 
 	atomic_inc(&rdev->cq_count);
+	spin_lock_init(&cq->cq_lock);
 
 	if (context) {
 		struct bnxt_re_cq_resp resp;
@@ -3368,8 +3369,10 @@
 	int rc;
 
 	rc = bnxt_qplib_free_mrw(&rdev->qplib_res, &mr->qplib_mr);
-	if (rc)
+	if (rc) {
 		dev_err(rdev_to_dev(rdev), "Dereg MR failed: %#x\n", rc);
+		return rc;
+	}
 
 	if (mr->pages) {
 		rc = bnxt_qplib_free_fast_reg_page_list(&rdev->qplib_res,
diff --git a/drivers/infiniband/hw/bnxt_re/qplib_fp.c b/drivers/infiniband/hw/bnxt_re/qplib_fp.c
index 249efa0..60f2fb7 100644
--- a/drivers/infiniband/hw/bnxt_re/qplib_fp.c
+++ b/drivers/infiniband/hw/bnxt_re/qplib_fp.c
@@ -1970,6 +1970,7 @@
 	INIT_LIST_HEAD(&cq->sqf_head);
 	INIT_LIST_HEAD(&cq->rqf_head);
 	spin_lock_init(&cq->compl_lock);
+	spin_lock_init(&cq->flush_lock);
 
 	bnxt_qplib_arm_cq_enable(cq);
 	return 0;
@@ -2273,13 +2274,13 @@
 			/* Add qp to flush list of the CQ */
 			bnxt_qplib_add_flush_qp(qp);
 		} else {
+			/* Before we complete, do WA 9060 */
+			if (do_wa9060(qp, cq, cq_cons, sw_sq_cons,
+				      cqe_sq_cons)) {
+				*lib_qp = qp;
+				goto out;
+			}
 			if (swq->flags & SQ_SEND_FLAGS_SIGNAL_COMP) {
-				/* Before we complete, do WA 9060 */
-				if (do_wa9060(qp, cq, cq_cons, sw_sq_cons,
-					      cqe_sq_cons)) {
-					*lib_qp = qp;
-					goto out;
-				}
 				cqe->status = CQ_REQ_STATUS_OK;
 				cqe++;
 				(*budget)--;
diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c
index 4dcc92d..16145b0 100644
--- a/drivers/infiniband/hw/cxgb4/cm.c
+++ b/drivers/infiniband/hw/cxgb4/cm.c
@@ -2076,7 +2076,7 @@
 	} else {
 		pdev = get_real_dev(n->dev);
 		ep->l2t = cxgb4_l2t_get(cdev->rdev.lldi.l2t,
-					n, pdev, 0);
+					n, pdev, rt_tos2priority(tos));
 		if (!ep->l2t)
 			goto out;
 		ep->mtu = dst_mtu(dst);
@@ -2166,7 +2166,8 @@
 					   laddr6->sin6_addr.s6_addr,
 					   raddr6->sin6_addr.s6_addr,
 					   laddr6->sin6_port,
-					   raddr6->sin6_port, 0,
+					   raddr6->sin6_port,
+					   ep->com.cm_id->tos,
 					   raddr6->sin6_scope_id);
 		iptype = 6;
 		ra = (__u8 *)&raddr6->sin6_addr;
@@ -2947,15 +2948,18 @@
 
 	ep = get_ep_from_tid(dev, tid);
 
-	if (ep && ep->com.qp) {
-		pr_warn("TERM received tid %u qpid %u\n",
-			tid, ep->com.qp->wq.sq.qid);
-		attrs.next_state = C4IW_QP_STATE_TERMINATE;
-		c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp,
-			       C4IW_QP_ATTR_NEXT_STATE, &attrs, 1);
+	if (ep) {
+		if (ep->com.qp) {
+			pr_warn("TERM received tid %u qpid %u\n", tid,
+				ep->com.qp->wq.sq.qid);
+			attrs.next_state = C4IW_QP_STATE_TERMINATE;
+			c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp,
+				       C4IW_QP_ATTR_NEXT_STATE, &attrs, 1);
+		}
+
+		c4iw_put_ep(&ep->com);
 	} else
 		pr_warn("TERM received tid %u no ep/qp\n", tid);
-	c4iw_put_ep(&ep->com);
 
 	return 0;
 }
@@ -3323,7 +3327,7 @@
 					   laddr6->sin6_addr.s6_addr,
 					   raddr6->sin6_addr.s6_addr,
 					   laddr6->sin6_port,
-					   raddr6->sin6_port, 0,
+					   raddr6->sin6_port, cm_id->tos,
 					   raddr6->sin6_scope_id);
 	}
 	if (!ep->dst) {
diff --git a/drivers/infiniband/hw/hfi1/affinity.c b/drivers/infiniband/hw/hfi1/affinity.c
index bedd5fb..01ed0a6 100644
--- a/drivers/infiniband/hw/hfi1/affinity.c
+++ b/drivers/infiniband/hw/hfi1/affinity.c
@@ -478,6 +478,8 @@
 			  rvt_get_ibdev_name(&(dd)->verbs_dev.rdi), i, cpu);
 	}
 
+	free_cpumask_var(available_cpus);
+	free_cpumask_var(non_intr_cpus);
 	return 0;
 
 fail:
diff --git a/drivers/infiniband/hw/hfi1/chip.c b/drivers/infiniband/hw/hfi1/chip.c
index 6b89353..1221fae 100644
--- a/drivers/infiniband/hw/hfi1/chip.c
+++ b/drivers/infiniband/hw/hfi1/chip.c
@@ -1687,6 +1687,14 @@
 	return dd->verbs_dev.n_piodrain;
 }
 
+static u64 access_sw_ctx0_seq_drop(const struct cntr_entry *entry,
+				   void *context, int vl, int mode, u64 data)
+{
+	struct hfi1_devdata *dd = context;
+
+	return dd->ctx0_seq_drop;
+}
+
 static u64 access_sw_vtx_wait(const struct cntr_entry *entry,
 			      void *context, int vl, int mode, u64 data)
 {
@@ -4247,6 +4255,8 @@
 			    access_sw_cpu_intr),
 [C_SW_CPU_RCV_LIM] = CNTR_ELEM("RcvLimit", 0, 0, CNTR_NORMAL,
 			    access_sw_cpu_rcv_limit),
+[C_SW_CTX0_SEQ_DROP] = CNTR_ELEM("SeqDrop0", 0, 0, CNTR_NORMAL,
+			    access_sw_ctx0_seq_drop),
 [C_SW_VTX_WAIT] = CNTR_ELEM("vTxWait", 0, 0, CNTR_NORMAL,
 			    access_sw_vtx_wait),
 [C_SW_PIO_WAIT] = CNTR_ELEM("PioWait", 0, 0, CNTR_NORMAL,
@@ -10580,12 +10590,29 @@
 	}
 }
 
-/*
- * Verify if BCT for data VLs is non-zero.
+/**
+ * data_vls_operational() - Verify if data VL BCT credits and MTU
+ *			    are both set.
+ * @ppd: pointer to hfi1_pportdata structure
+ *
+ * Return: true - Ok, false -otherwise.
  */
 static inline bool data_vls_operational(struct hfi1_pportdata *ppd)
 {
-	return !!ppd->actual_vls_operational;
+	int i;
+	u64 reg;
+
+	if (!ppd->actual_vls_operational)
+		return false;
+
+	for (i = 0; i < ppd->vls_supported; i++) {
+		reg = read_csr(ppd->dd, SEND_CM_CREDIT_VL + (8 * i));
+		if ((reg && !ppd->dd->vld[i].mtu) ||
+		    (!reg && ppd->dd->vld[i].mtu))
+			return false;
+	}
+
+	return true;
 }
 
 /*
@@ -10698,7 +10725,8 @@
 
 		if (!data_vls_operational(ppd)) {
 			dd_dev_err(dd,
-				   "%s: data VLs not operational\n", __func__);
+				   "%s: Invalid data VL credits or mtu\n",
+				   __func__);
 			ret = -EINVAL;
 			break;
 		}
diff --git a/drivers/infiniband/hw/hfi1/chip.h b/drivers/infiniband/hw/hfi1/chip.h
index 36b04d6..c9a352d 100644
--- a/drivers/infiniband/hw/hfi1/chip.h
+++ b/drivers/infiniband/hw/hfi1/chip.h
@@ -909,6 +909,7 @@
 	C_DC_PG_STS_TX_MBE_CNT,
 	C_SW_CPU_INTR,
 	C_SW_CPU_RCV_LIM,
+	C_SW_CTX0_SEQ_DROP,
 	C_SW_VTX_WAIT,
 	C_SW_PIO_WAIT,
 	C_SW_PIO_DRAIN,
diff --git a/drivers/infiniband/hw/hfi1/driver.c b/drivers/infiniband/hw/hfi1/driver.c
index a41f855..769e114 100644
--- a/drivers/infiniband/hw/hfi1/driver.c
+++ b/drivers/infiniband/hw/hfi1/driver.c
@@ -430,40 +430,60 @@
 	[HFI1_PKT_TYPE_16B] = &return_cnp_16B
 };
 
-void hfi1_process_ecn_slowpath(struct rvt_qp *qp, struct hfi1_packet *pkt,
-			       bool do_cnp)
+/**
+ * hfi1_process_ecn_slowpath - Process FECN or BECN bits
+ * @qp: The packet's destination QP
+ * @pkt: The packet itself.
+ * @prescan: Is the caller the RXQ prescan
+ *
+ * Process the packet's FECN or BECN bits. By now, the packet
+ * has already been evaluated whether processing of those bit should
+ * be done.
+ * The significance of the @prescan argument is that if the caller
+ * is the RXQ prescan, a CNP will be send out instead of waiting for the
+ * normal packet processing to send an ACK with BECN set (or a CNP).
+ */
+bool hfi1_process_ecn_slowpath(struct rvt_qp *qp, struct hfi1_packet *pkt,
+			       bool prescan)
 {
 	struct hfi1_ibport *ibp = to_iport(qp->ibqp.device, qp->port_num);
 	struct hfi1_pportdata *ppd = ppd_from_ibp(ibp);
 	struct ib_other_headers *ohdr = pkt->ohdr;
 	struct ib_grh *grh = pkt->grh;
-	u32 rqpn = 0, bth1;
+	u32 rqpn = 0;
 	u16 pkey;
 	u32 rlid, slid, dlid = 0;
-	u8 hdr_type, sc, svc_type;
-	bool is_mcast = false;
+	u8 hdr_type, sc, svc_type, opcode;
+	bool is_mcast = false, ignore_fecn = false, do_cnp = false,
+		fecn, becn;
 
 	/* can be called from prescan */
 	if (pkt->etype == RHF_RCV_TYPE_BYPASS) {
-		is_mcast = hfi1_is_16B_mcast(dlid);
 		pkey = hfi1_16B_get_pkey(pkt->hdr);
 		sc = hfi1_16B_get_sc(pkt->hdr);
 		dlid = hfi1_16B_get_dlid(pkt->hdr);
 		slid = hfi1_16B_get_slid(pkt->hdr);
+		is_mcast = hfi1_is_16B_mcast(dlid);
+		opcode = ib_bth_get_opcode(ohdr);
 		hdr_type = HFI1_PKT_TYPE_16B;
+		fecn = hfi1_16B_get_fecn(pkt->hdr);
+		becn = hfi1_16B_get_becn(pkt->hdr);
 	} else {
-		is_mcast = (dlid > be16_to_cpu(IB_MULTICAST_LID_BASE)) &&
-			   (dlid != be16_to_cpu(IB_LID_PERMISSIVE));
 		pkey = ib_bth_get_pkey(ohdr);
 		sc = hfi1_9B_get_sc5(pkt->hdr, pkt->rhf);
-		dlid = ib_get_dlid(pkt->hdr);
+		dlid = qp->ibqp.qp_type != IB_QPT_UD ? ib_get_dlid(pkt->hdr) :
+			ppd->lid;
 		slid = ib_get_slid(pkt->hdr);
+		is_mcast = (dlid > be16_to_cpu(IB_MULTICAST_LID_BASE)) &&
+			   (dlid != be16_to_cpu(IB_LID_PERMISSIVE));
+		opcode = ib_bth_get_opcode(ohdr);
 		hdr_type = HFI1_PKT_TYPE_9B;
+		fecn = ib_bth_get_fecn(ohdr);
+		becn = ib_bth_get_becn(ohdr);
 	}
 
 	switch (qp->ibqp.qp_type) {
 	case IB_QPT_UD:
-		dlid = ppd->lid;
 		rlid = slid;
 		rqpn = ib_get_sqpn(pkt->ohdr);
 		svc_type = IB_CC_SVCTYPE_UD;
@@ -485,22 +505,31 @@
 		svc_type = IB_CC_SVCTYPE_RC;
 		break;
 	default:
-		return;
+		return false;
 	}
 
-	bth1 = be32_to_cpu(ohdr->bth[1]);
+	ignore_fecn = is_mcast || (opcode == IB_OPCODE_CNP) ||
+		(opcode == IB_OPCODE_RC_ACKNOWLEDGE);
+	/*
+	 * ACKNOWLEDGE packets do not get a CNP but this will be
+	 * guarded by ignore_fecn above.
+	 */
+	do_cnp = prescan ||
+		(opcode >= IB_OPCODE_RC_RDMA_READ_RESPONSE_FIRST &&
+		 opcode <= IB_OPCODE_RC_ATOMIC_ACKNOWLEDGE);
+
 	/* Call appropriate CNP handler */
-	if (do_cnp && (bth1 & IB_FECN_SMASK))
+	if (!ignore_fecn && do_cnp && fecn)
 		hfi1_handle_cnp_tbl[hdr_type](ibp, qp, rqpn, pkey,
 					      dlid, rlid, sc, grh);
 
-	if (!is_mcast && (bth1 & IB_BECN_SMASK)) {
-		u32 lqpn = bth1 & RVT_QPN_MASK;
+	if (becn) {
+		u32 lqpn = be32_to_cpu(ohdr->bth[1]) & RVT_QPN_MASK;
 		u8 sl = ibp->sc_to_sl[sc];
 
 		process_becn(ppd, sl, rlid, lqpn, rqpn, svc_type);
 	}
-
+	return !ignore_fecn && fecn;
 }
 
 struct ps_mdata {
@@ -599,7 +628,6 @@
 		struct rvt_dev_info *rdi = &rcd->dd->verbs_dev.rdi;
 		u64 rhf = rhf_to_cpu(rhf_addr);
 		u32 etype = rhf_rcv_type(rhf), qpn, bth1;
-		int is_ecn = 0;
 		u8 lnh;
 
 		if (ps_done(&mdata, rhf, rcd))
@@ -625,12 +653,10 @@
 			goto next; /* just in case */
 		}
 
-		bth1 = be32_to_cpu(packet->ohdr->bth[1]);
-		is_ecn = !!(bth1 & (IB_FECN_SMASK | IB_BECN_SMASK));
-
-		if (!is_ecn)
+		if (!hfi1_may_ecn(packet))
 			goto next;
 
+		bth1 = be32_to_cpu(packet->ohdr->bth[1]);
 		qpn = bth1 & RVT_QPN_MASK;
 		rcu_read_lock();
 		qp = rvt_lookup_qpn(rdi, &ibp->rvp, qpn);
@@ -640,7 +666,7 @@
 			goto next;
 		}
 
-		process_ecn(qp, packet, true);
+		hfi1_process_ecn_slowpath(qp, packet, true);
 		rcu_read_unlock();
 
 		/* turn off BECN, FECN */
@@ -708,6 +734,7 @@
 {
 	int ret;
 
+	packet->rcd->dd->ctx0_seq_drop++;
 	/* Set up for the next packet */
 	packet->rhqoff += packet->rsize;
 	if (packet->rhqoff >= packet->maxcnt)
diff --git a/drivers/infiniband/hw/hfi1/file_ops.c b/drivers/infiniband/hw/hfi1/file_ops.c
index 34ffca6..adeb2594 100644
--- a/drivers/infiniband/hw/hfi1/file_ops.c
+++ b/drivers/infiniband/hw/hfi1/file_ops.c
@@ -200,23 +200,24 @@
 
 	fd = kzalloc(sizeof(*fd), GFP_KERNEL);
 
-	if (fd) {
-		fd->rec_cpu_num = -1; /* no cpu affinity by default */
-		fd->mm = current->mm;
-		mmgrab(fd->mm);
-		fd->dd = dd;
-		kobject_get(&fd->dd->kobj);
-		fp->private_data = fd;
-	} else {
-		fp->private_data = NULL;
-
-		if (atomic_dec_and_test(&dd->user_refcount))
-			complete(&dd->user_comp);
-
-		return -ENOMEM;
-	}
-
+	if (!fd || init_srcu_struct(&fd->pq_srcu))
+		goto nomem;
+	spin_lock_init(&fd->pq_rcu_lock);
+	spin_lock_init(&fd->tid_lock);
+	spin_lock_init(&fd->invalid_lock);
+	fd->rec_cpu_num = -1; /* no cpu affinity by default */
+	fd->mm = current->mm;
+	mmgrab(fd->mm);
+	fd->dd = dd;
+	kobject_get(&fd->dd->kobj);
+	fp->private_data = fd;
 	return 0;
+nomem:
+	kfree(fd);
+	fp->private_data = NULL;
+	if (atomic_dec_and_test(&dd->user_refcount))
+		complete(&dd->user_comp);
+	return -ENOMEM;
 }
 
 static long hfi1_file_ioctl(struct file *fp, unsigned int cmd,
@@ -301,21 +302,30 @@
 static ssize_t hfi1_write_iter(struct kiocb *kiocb, struct iov_iter *from)
 {
 	struct hfi1_filedata *fd = kiocb->ki_filp->private_data;
-	struct hfi1_user_sdma_pkt_q *pq = fd->pq;
+	struct hfi1_user_sdma_pkt_q *pq;
 	struct hfi1_user_sdma_comp_q *cq = fd->cq;
 	int done = 0, reqs = 0;
 	unsigned long dim = from->nr_segs;
+	int idx;
 
-	if (!cq || !pq)
+	idx = srcu_read_lock(&fd->pq_srcu);
+	pq = srcu_dereference(fd->pq, &fd->pq_srcu);
+	if (!cq || !pq) {
+		srcu_read_unlock(&fd->pq_srcu, idx);
 		return -EIO;
+	}
 
-	if (!iter_is_iovec(from) || !dim)
+	if (!iter_is_iovec(from) || !dim) {
+		srcu_read_unlock(&fd->pq_srcu, idx);
 		return -EINVAL;
+	}
 
 	trace_hfi1_sdma_request(fd->dd, fd->uctxt->ctxt, fd->subctxt, dim);
 
-	if (atomic_read(&pq->n_reqs) == pq->n_max_reqs)
+	if (atomic_read(&pq->n_reqs) == pq->n_max_reqs) {
+		srcu_read_unlock(&fd->pq_srcu, idx);
 		return -ENOSPC;
+	}
 
 	while (dim) {
 		int ret;
@@ -333,6 +343,7 @@
 		reqs++;
 	}
 
+	srcu_read_unlock(&fd->pq_srcu, idx);
 	return reqs;
 }
 
@@ -706,6 +717,7 @@
 	if (atomic_dec_and_test(&dd->user_refcount))
 		complete(&dd->user_comp);
 
+	cleanup_srcu_struct(&fdata->pq_srcu);
 	kfree(fdata);
 	return 0;
 }
diff --git a/drivers/infiniband/hw/hfi1/hfi.h b/drivers/infiniband/hw/hfi1/hfi.h
index 2ea42c0..e38de54 100644
--- a/drivers/infiniband/hw/hfi1/hfi.h
+++ b/drivers/infiniband/hw/hfi1/hfi.h
@@ -1093,6 +1093,8 @@
 
 	char *boardname; /* human readable board info */
 
+	u64 ctx0_seq_drop;
+
 	/* reset value */
 	u64 z_int_counter;
 	u64 z_rcv_limit;
@@ -1376,10 +1378,13 @@
 
 /* Private data for file operations */
 struct hfi1_filedata {
+	struct srcu_struct pq_srcu;
 	struct hfi1_devdata *dd;
 	struct hfi1_ctxtdata *uctxt;
 	struct hfi1_user_sdma_comp_q *cq;
-	struct hfi1_user_sdma_pkt_q *pq;
+	/* update side lock for SRCU */
+	spinlock_t pq_rcu_lock;
+	struct hfi1_user_sdma_pkt_q __rcu *pq;
 	u16 subctxt;
 	/* for cpu affinity; -1 if none */
 	int rec_cpu_num;
@@ -1797,13 +1802,20 @@
 	return &rcd->ppd->ibport_data;
 }
 
-void hfi1_process_ecn_slowpath(struct rvt_qp *qp, struct hfi1_packet *pkt,
-			       bool do_cnp);
-static inline bool process_ecn(struct rvt_qp *qp, struct hfi1_packet *pkt,
-			       bool do_cnp)
+/**
+ * hfi1_may_ecn - Check whether FECN or BECN processing should be done
+ * @pkt: the packet to be evaluated
+ *
+ * Check whether the FECN or BECN bits in the packet's header are
+ * enabled, depending on packet type.
+ *
+ * This function only checks for FECN and BECN bits. Additional checks
+ * are done in the slowpath (hfi1_process_ecn_slowpath()) in order to
+ * ensure correct handling.
+ */
+static inline bool hfi1_may_ecn(struct hfi1_packet *pkt)
 {
-	bool becn;
-	bool fecn;
+	bool fecn, becn;
 
 	if (pkt->etype == RHF_RCV_TYPE_BYPASS) {
 		fecn = hfi1_16B_get_fecn(pkt->hdr);
@@ -1812,10 +1824,18 @@
 		fecn = ib_bth_get_fecn(pkt->ohdr);
 		becn = ib_bth_get_becn(pkt->ohdr);
 	}
-	if (unlikely(fecn || becn)) {
-		hfi1_process_ecn_slowpath(qp, pkt, do_cnp);
-		return fecn;
-	}
+	return fecn || becn;
+}
+
+bool hfi1_process_ecn_slowpath(struct rvt_qp *qp, struct hfi1_packet *pkt,
+			       bool prescan);
+static inline bool process_ecn(struct rvt_qp *qp, struct hfi1_packet *pkt)
+{
+	bool do_work;
+
+	do_work = hfi1_may_ecn(pkt);
+	if (unlikely(do_work))
+		return hfi1_process_ecn_slowpath(qp, pkt, false);
 	return false;
 }
 
diff --git a/drivers/infiniband/hw/hfi1/pio.c b/drivers/infiniband/hw/hfi1/pio.c
index 7520576..3fcbf56 100644
--- a/drivers/infiniband/hw/hfi1/pio.c
+++ b/drivers/infiniband/hw/hfi1/pio.c
@@ -1434,7 +1434,8 @@
  * @cb: optional callback to call when the buffer is finished sending
  * @arg: argument for cb
  *
- * Return a pointer to a PIO buffer if successful, NULL if not enough room.
+ * Return a pointer to a PIO buffer, NULL if not enough room, -ECOMM
+ * when link is down.
  */
 struct pio_buf *sc_buffer_alloc(struct send_context *sc, u32 dw_len,
 				pio_release_cb cb, void *arg)
@@ -1450,7 +1451,7 @@
 	spin_lock_irqsave(&sc->alloc_lock, flags);
 	if (!(sc->flags & SCF_ENABLED)) {
 		spin_unlock_irqrestore(&sc->alloc_lock, flags);
-		goto done;
+		return ERR_PTR(-ECOMM);
 	}
 
 retry:
diff --git a/drivers/infiniband/hw/hfi1/rc.c b/drivers/infiniband/hw/hfi1/rc.c
index 770c78c..7ed6fb4 100644
--- a/drivers/infiniband/hw/hfi1/rc.c
+++ b/drivers/infiniband/hw/hfi1/rc.c
@@ -914,7 +914,7 @@
 	pbc = create_pbc(ppd, pbc_flags, qp->srate_mbps,
 			 sc_to_vlt(ppd->dd, sc5), plen);
 	pbuf = sc_buffer_alloc(rcd->sc, plen, NULL, NULL);
-	if (!pbuf) {
+	if (IS_ERR_OR_NULL(pbuf)) {
 		/*
 		 * We have no room to send at the moment.  Pass
 		 * responsibility for sending the ACK to the send engine
@@ -2049,8 +2049,7 @@
 	struct ib_reth *reth;
 	unsigned long flags;
 	int ret;
-	bool is_fecn = false;
-	bool copy_last = false;
+	bool copy_last = false, fecn;
 	u32 rkey;
 	u8 extra_bytes = pad + packet->extra_byte + (SIZE_OF_CRC << 2);
 
@@ -2059,7 +2058,7 @@
 	if (hfi1_ruc_check_hdr(ibp, packet))
 		return;
 
-	is_fecn = process_ecn(qp, packet, false);
+	fecn = process_ecn(qp, packet);
 
 	/*
 	 * Process responses (ACKs) before anything else.  Note that the
@@ -2070,8 +2069,6 @@
 	if (opcode >= OP(RDMA_READ_RESPONSE_FIRST) &&
 	    opcode <= OP(ATOMIC_ACKNOWLEDGE)) {
 		rc_rcv_resp(packet);
-		if (is_fecn)
-			goto send_ack;
 		return;
 	}
 
@@ -2347,11 +2344,11 @@
 
 		/* Schedule the send engine. */
 		qp->s_flags |= RVT_S_RESP_PENDING;
+		if (fecn)
+			qp->s_flags |= RVT_S_ECN;
 		hfi1_schedule_send(qp);
 
 		spin_unlock_irqrestore(&qp->s_lock, flags);
-		if (is_fecn)
-			goto send_ack;
 		return;
 	}
 
@@ -2413,11 +2410,11 @@
 
 		/* Schedule the send engine. */
 		qp->s_flags |= RVT_S_RESP_PENDING;
+		if (fecn)
+			qp->s_flags |= RVT_S_ECN;
 		hfi1_schedule_send(qp);
 
 		spin_unlock_irqrestore(&qp->s_lock, flags);
-		if (is_fecn)
-			goto send_ack;
 		return;
 	}
 
@@ -2430,16 +2427,9 @@
 	qp->r_ack_psn = psn;
 	qp->r_nak_state = 0;
 	/* Send an ACK if requested or required. */
-	if (psn & IB_BTH_REQ_ACK) {
-		if (packet->numpkt == 0) {
-			rc_cancel_ack(qp);
-			goto send_ack;
-		}
-		if (qp->r_adefered >= HFI1_PSN_CREDIT) {
-			rc_cancel_ack(qp);
-			goto send_ack;
-		}
-		if (unlikely(is_fecn)) {
+	if (psn & IB_BTH_REQ_ACK || fecn) {
+		if (packet->numpkt == 0 || fecn ||
+		    qp->r_adefered >= HFI1_PSN_CREDIT) {
 			rc_cancel_ack(qp);
 			goto send_ack;
 		}
@@ -2480,7 +2470,7 @@
 	qp->r_nak_state = IB_NAK_REMOTE_ACCESS_ERROR;
 	qp->r_ack_psn = qp->r_psn;
 send_ack:
-	hfi1_send_rc_ack(packet, is_fecn);
+	hfi1_send_rc_ack(packet, fecn);
 }
 
 void hfi1_rc_hdrerr(
diff --git a/drivers/infiniband/hw/hfi1/uc.c b/drivers/infiniband/hw/hfi1/uc.c
index e254dce..4121d1a 100644
--- a/drivers/infiniband/hw/hfi1/uc.c
+++ b/drivers/infiniband/hw/hfi1/uc.c
@@ -321,7 +321,7 @@
 	if (hfi1_ruc_check_hdr(ibp, packet))
 		return;
 
-	process_ecn(qp, packet, true);
+	process_ecn(qp, packet);
 
 	psn = ib_bth_get_psn(ohdr);
 	/* Compare the PSN verses the expected PSN. */
diff --git a/drivers/infiniband/hw/hfi1/ud.c b/drivers/infiniband/hw/hfi1/ud.c
index 54eb695..8395936 100644
--- a/drivers/infiniband/hw/hfi1/ud.c
+++ b/drivers/infiniband/hw/hfi1/ud.c
@@ -51,6 +51,7 @@
 #include "hfi.h"
 #include "mad.h"
 #include "verbs_txreq.h"
+#include "trace_ibhdrs.h"
 #include "qp.h"
 
 /* We support only two types - 9B and 16B for now */
@@ -656,18 +657,19 @@
 	u32 bth0, plen, vl, hwords = 7;
 	u16 len;
 	u8 l4;
-	struct hfi1_16b_header hdr;
+	struct hfi1_opa_header hdr;
 	struct ib_other_headers *ohdr;
 	struct pio_buf *pbuf;
 	struct send_context *ctxt = qp_to_send_context(qp, sc5);
 	struct hfi1_pportdata *ppd = ppd_from_ibp(ibp);
 	u32 nwords;
 
+	hdr.hdr_type = HFI1_PKT_TYPE_16B;
 	/* Populate length */
 	nwords = ((hfi1_get_16b_padding(hwords << 2, 0) +
 		   SIZE_OF_LT) >> 2) + SIZE_OF_CRC;
 	if (old_grh) {
-		struct ib_grh *grh = &hdr.u.l.grh;
+		struct ib_grh *grh = &hdr.opah.u.l.grh;
 
 		grh->version_tclass_flow = old_grh->version_tclass_flow;
 		grh->paylen = cpu_to_be16(
@@ -675,11 +677,11 @@
 		grh->hop_limit = 0xff;
 		grh->sgid = old_grh->dgid;
 		grh->dgid = old_grh->sgid;
-		ohdr = &hdr.u.l.oth;
+		ohdr = &hdr.opah.u.l.oth;
 		l4 = OPA_16B_L4_IB_GLOBAL;
 		hwords += sizeof(struct ib_grh) / sizeof(u32);
 	} else {
-		ohdr = &hdr.u.oth;
+		ohdr = &hdr.opah.u.oth;
 		l4 = OPA_16B_L4_IB_LOCAL;
 	}
 
@@ -693,7 +695,7 @@
 
 	/* Convert dwords to flits */
 	len = (hwords + nwords) >> 1;
-	hfi1_make_16b_hdr(&hdr, slid, dlid, len, pkey, 1, 0, l4, sc5);
+	hfi1_make_16b_hdr(&hdr.opah, slid, dlid, len, pkey, 1, 0, l4, sc5);
 
 	plen = 2 /* PBC */ + hwords + nwords;
 	pbc_flags |= PBC_PACKET_BYPASS | PBC_INSERT_BYPASS_ICRC;
@@ -701,9 +703,11 @@
 	pbc = create_pbc(ppd, pbc_flags, qp->srate_mbps, vl, plen);
 	if (ctxt) {
 		pbuf = sc_buffer_alloc(ctxt, plen, NULL, NULL);
-		if (pbuf)
+		if (!IS_ERR_OR_NULL(pbuf)) {
+			trace_pio_output_ibhdr(ppd->dd, &hdr, sc5);
 			ppd->dd->pio_inline_send(ppd->dd, pbuf, pbc,
 						 &hdr, hwords);
+		}
 	}
 }
 
@@ -715,14 +719,15 @@
 	u32 bth0, plen, vl, hwords = 5;
 	u16 lrh0;
 	u8 sl = ibp->sc_to_sl[sc5];
-	struct ib_header hdr;
+	struct hfi1_opa_header hdr;
 	struct ib_other_headers *ohdr;
 	struct pio_buf *pbuf;
 	struct send_context *ctxt = qp_to_send_context(qp, sc5);
 	struct hfi1_pportdata *ppd = ppd_from_ibp(ibp);
 
+	hdr.hdr_type = HFI1_PKT_TYPE_9B;
 	if (old_grh) {
-		struct ib_grh *grh = &hdr.u.l.grh;
+		struct ib_grh *grh = &hdr.ibh.u.l.grh;
 
 		grh->version_tclass_flow = old_grh->version_tclass_flow;
 		grh->paylen = cpu_to_be16(
@@ -730,11 +735,11 @@
 		grh->hop_limit = 0xff;
 		grh->sgid = old_grh->dgid;
 		grh->dgid = old_grh->sgid;
-		ohdr = &hdr.u.l.oth;
+		ohdr = &hdr.ibh.u.l.oth;
 		lrh0 = HFI1_LRH_GRH;
 		hwords += sizeof(struct ib_grh) / sizeof(u32);
 	} else {
-		ohdr = &hdr.u.oth;
+		ohdr = &hdr.ibh.u.oth;
 		lrh0 = HFI1_LRH_BTH;
 	}
 
@@ -746,16 +751,18 @@
 	ohdr->bth[1] = cpu_to_be32(remote_qpn | (1 << IB_BECN_SHIFT));
 	ohdr->bth[2] = 0; /* PSN 0 */
 
-	hfi1_make_ib_hdr(&hdr, lrh0, hwords + SIZE_OF_CRC, dlid, slid);
+	hfi1_make_ib_hdr(&hdr.ibh, lrh0, hwords + SIZE_OF_CRC, dlid, slid);
 	plen = 2 /* PBC */ + hwords;
 	pbc_flags |= (ib_is_sc5(sc5) << PBC_DC_INFO_SHIFT);
 	vl = sc_to_vlt(ppd->dd, sc5);
 	pbc = create_pbc(ppd, pbc_flags, qp->srate_mbps, vl, plen);
 	if (ctxt) {
 		pbuf = sc_buffer_alloc(ctxt, plen, NULL, NULL);
-		if (pbuf)
+		if (!IS_ERR_OR_NULL(pbuf)) {
+			trace_pio_output_ibhdr(ppd->dd, &hdr, sc5);
 			ppd->dd->pio_inline_send(ppd->dd, pbuf, pbc,
 						 &hdr, hwords);
+		}
 	}
 }
 
@@ -912,7 +919,7 @@
 		src_qp = hfi1_16B_get_src_qpn(packet->mgmt);
 	}
 
-	process_ecn(qp, packet, (opcode != IB_OPCODE_CNP));
+	process_ecn(qp, packet);
 	/*
 	 * Get the number of bytes the message was padded by
 	 * and drop incomplete packets.
diff --git a/drivers/infiniband/hw/hfi1/user_exp_rcv.c b/drivers/infiniband/hw/hfi1/user_exp_rcv.c
index 4e986ca..4e417ed 100644
--- a/drivers/infiniband/hw/hfi1/user_exp_rcv.c
+++ b/drivers/infiniband/hw/hfi1/user_exp_rcv.c
@@ -90,9 +90,6 @@
 	struct hfi1_devdata *dd = uctxt->dd;
 	int ret = 0;
 
-	spin_lock_init(&fd->tid_lock);
-	spin_lock_init(&fd->invalid_lock);
-
 	fd->entry_to_rb = kcalloc(uctxt->expected_count,
 				  sizeof(struct rb_node *),
 				  GFP_KERNEL);
@@ -165,10 +162,12 @@
 	if (fd->handler) {
 		hfi1_mmu_rb_unregister(fd->handler);
 	} else {
+		mutex_lock(&uctxt->exp_mutex);
 		if (!EXP_TID_SET_EMPTY(uctxt->tid_full_list))
 			unlock_exp_tids(uctxt, &uctxt->tid_full_list, fd);
 		if (!EXP_TID_SET_EMPTY(uctxt->tid_used_list))
 			unlock_exp_tids(uctxt, &uctxt->tid_used_list, fd);
+		mutex_unlock(&uctxt->exp_mutex);
 	}
 
 	kfree(fd->invalid_tids);
diff --git a/drivers/infiniband/hw/hfi1/user_sdma.c b/drivers/infiniband/hw/hfi1/user_sdma.c
index 684a298..a3b08a9 100644
--- a/drivers/infiniband/hw/hfi1/user_sdma.c
+++ b/drivers/infiniband/hw/hfi1/user_sdma.c
@@ -179,7 +179,6 @@
 	pq = kzalloc(sizeof(*pq), GFP_KERNEL);
 	if (!pq)
 		return -ENOMEM;
-
 	pq->dd = dd;
 	pq->ctxt = uctxt->ctxt;
 	pq->subctxt = fd->subctxt;
@@ -236,7 +235,7 @@
 		goto pq_mmu_fail;
 	}
 
-	fd->pq = pq;
+	rcu_assign_pointer(fd->pq, pq);
 	fd->cq = cq;
 
 	return 0;
@@ -264,8 +263,14 @@
 
 	trace_hfi1_sdma_user_free_queues(uctxt->dd, uctxt->ctxt, fd->subctxt);
 
-	pq = fd->pq;
+	spin_lock(&fd->pq_rcu_lock);
+	pq = srcu_dereference_check(fd->pq, &fd->pq_srcu,
+				    lockdep_is_held(&fd->pq_rcu_lock));
 	if (pq) {
+		rcu_assign_pointer(fd->pq, NULL);
+		spin_unlock(&fd->pq_rcu_lock);
+		synchronize_srcu(&fd->pq_srcu);
+		/* at this point there can be no more new requests */
 		if (pq->handler)
 			hfi1_mmu_rb_unregister(pq->handler);
 		iowait_sdma_drain(&pq->busy);
@@ -277,7 +282,8 @@
 		kfree(pq->req_in_use);
 		kmem_cache_destroy(pq->txreq_cache);
 		kfree(pq);
-		fd->pq = NULL;
+	} else {
+		spin_unlock(&fd->pq_rcu_lock);
 	}
 	if (fd->cq) {
 		vfree(fd->cq->comps);
@@ -321,7 +327,8 @@
 {
 	int ret = 0, i;
 	struct hfi1_ctxtdata *uctxt = fd->uctxt;
-	struct hfi1_user_sdma_pkt_q *pq = fd->pq;
+	struct hfi1_user_sdma_pkt_q *pq =
+		srcu_dereference(fd->pq, &fd->pq_srcu);
 	struct hfi1_user_sdma_comp_q *cq = fd->cq;
 	struct hfi1_devdata *dd = pq->dd;
 	unsigned long idx = 0;
diff --git a/drivers/infiniband/hw/hfi1/verbs.c b/drivers/infiniband/hw/hfi1/verbs.c
index 4e7b3c0..1cf1dfb 100644
--- a/drivers/infiniband/hw/hfi1/verbs.c
+++ b/drivers/infiniband/hw/hfi1/verbs.c
@@ -595,10 +595,11 @@
 				       opa_get_lid(packet->dlid, 9B));
 		if (!mcast)
 			goto drop;
+		rcu_read_lock();
 		list_for_each_entry_rcu(p, &mcast->qp_list, list) {
 			packet->qp = p->qp;
 			if (hfi1_do_pkey_check(packet))
-				goto drop;
+				goto unlock_drop;
 			spin_lock_irqsave(&packet->qp->r_lock, flags);
 			packet_handler = qp_ok(packet);
 			if (likely(packet_handler))
@@ -607,6 +608,7 @@
 				ibp->rvp.n_pkt_drops++;
 			spin_unlock_irqrestore(&packet->qp->r_lock, flags);
 		}
+		rcu_read_unlock();
 		/*
 		 * Notify rvt_multicast_detach() if it is waiting for us
 		 * to finish.
@@ -1096,10 +1098,10 @@
 	if (cb)
 		iowait_pio_inc(&priv->s_iowait);
 	pbuf = sc_buffer_alloc(sc, plen, cb, qp);
-	if (unlikely(!pbuf)) {
+	if (unlikely(IS_ERR_OR_NULL(pbuf))) {
 		if (cb)
 			verbs_pio_complete(qp, 0);
-		if (ppd->host_link_state != HLS_UP_ACTIVE) {
+		if (IS_ERR(pbuf)) {
 			/*
 			 * If we have filled the PIO buffers to capacity and are
 			 * not in an active state this request is not going to
diff --git a/drivers/infiniband/hw/hns/hns_roce_hem.c b/drivers/infiniband/hw/hns/hns_roce_hem.c
index a73d388..31b9b99 100644
--- a/drivers/infiniband/hw/hns/hns_roce_hem.c
+++ b/drivers/infiniband/hw/hns/hns_roce_hem.c
@@ -54,12 +54,13 @@
 EXPORT_SYMBOL_GPL(hns_roce_check_whether_mhop);
 
 static bool hns_roce_check_hem_null(struct hns_roce_hem **hem, u64 start_idx,
-			    u32 bt_chunk_num)
+			    u32 bt_chunk_num, u64 hem_max_num)
 {
-	int i;
+	u64 check_max_num = start_idx + bt_chunk_num;
+	u64 i;
 
-	for (i = 0; i < bt_chunk_num; i++)
-		if (hem[start_idx + i])
+	for (i = start_idx; (i < check_max_num) && (i < hem_max_num); i++)
+		if (hem[i])
 			return false;
 
 	return true;
@@ -413,6 +414,12 @@
 		return -EINVAL;
 	}
 
+	if (unlikely(hem_idx >= table->num_hem)) {
+		dev_err(dev, "Table %d exceed hem limt idx = %llu,max = %lu!\n",
+			     table->type, hem_idx, table->num_hem);
+		return -EINVAL;
+	}
+
 	mutex_lock(&table->mutex);
 
 	if (table->hem[hem_idx]) {
@@ -649,7 +656,7 @@
 	if (check_whether_bt_num_2(table->type, hop_num)) {
 		start_idx = mhop.l0_idx * chunk_ba_num;
 		if (hns_roce_check_hem_null(table->hem, start_idx,
-					    chunk_ba_num)) {
+					    chunk_ba_num, table->num_hem)) {
 			if (table->type < HEM_TYPE_MTT &&
 			    hr_dev->hw->clear_hem(hr_dev, table, obj, 0))
 				dev_warn(dev, "Clear HEM base address failed.\n");
@@ -663,7 +670,7 @@
 		start_idx = mhop.l0_idx * chunk_ba_num * chunk_ba_num +
 			    mhop.l1_idx * chunk_ba_num;
 		if (hns_roce_check_hem_null(table->hem, start_idx,
-					    chunk_ba_num)) {
+					    chunk_ba_num, table->num_hem)) {
 			if (hr_dev->hw->clear_hem(hr_dev, table, obj, 1))
 				dev_warn(dev, "Clear HEM base address failed.\n");
 
diff --git a/drivers/infiniband/hw/hns/hns_roce_hw_v2.c b/drivers/infiniband/hw/hns/hns_roce_hw_v2.c
index 7021444..417de7a 100644
--- a/drivers/infiniband/hw/hns/hns_roce_hw_v2.c
+++ b/drivers/infiniband/hw/hns/hns_roce_hw_v2.c
@@ -4833,7 +4833,8 @@
 				break;
 		}
 		eq->cur_eqe_ba = eq->buf_dma[0];
-		eq->nxt_eqe_ba = eq->buf_dma[1];
+		if (ba_num > 1)
+			eq->nxt_eqe_ba = eq->buf_dma[1];
 
 	} else if (mhop_num == 2) {
 		/* alloc L1 BT and buf */
@@ -4875,7 +4876,8 @@
 				break;
 		}
 		eq->cur_eqe_ba = eq->buf_dma[0];
-		eq->nxt_eqe_ba = eq->buf_dma[1];
+		if (ba_num > 1)
+			eq->nxt_eqe_ba = eq->buf_dma[1];
 	}
 
 	eq->l0_last_num = i + 1;
diff --git a/drivers/infiniband/hw/hns/hns_roce_qp.c b/drivers/infiniband/hw/hns/hns_roce_qp.c
index af24698..3012d7e 100644
--- a/drivers/infiniband/hw/hns/hns_roce_qp.c
+++ b/drivers/infiniband/hw/hns/hns_roce_qp.c
@@ -262,7 +262,6 @@
 			hns_roce_table_put(hr_dev, &qp_table->trrl_table,
 					   hr_qp->qpn);
 		hns_roce_table_put(hr_dev, &qp_table->irrl_table, hr_qp->qpn);
-		hns_roce_table_put(hr_dev, &qp_table->qp_table, hr_qp->qpn);
 	}
 }
 EXPORT_SYMBOL_GPL(hns_roce_qp_free);
diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c
index 9386bb5..a19d3ad 100644
--- a/drivers/infiniband/hw/mlx4/main.c
+++ b/drivers/infiniband/hw/mlx4/main.c
@@ -246,6 +246,13 @@
 	return mlx4_ib_update_gids_v1(gids, ibdev, port_num);
 }
 
+static void free_gid_entry(struct gid_entry *entry)
+{
+	memset(&entry->gid, 0, sizeof(entry->gid));
+	kfree(entry->ctx);
+	entry->ctx = NULL;
+}
+
 static int mlx4_ib_add_gid(const struct ib_gid_attr *attr, void **context)
 {
 	struct mlx4_ib_dev *ibdev = to_mdev(attr->device);
@@ -306,6 +313,8 @@
 				     GFP_ATOMIC);
 		if (!gids) {
 			ret = -ENOMEM;
+			*context = NULL;
+			free_gid_entry(&port_gid_table->gids[free]);
 		} else {
 			for (i = 0; i < MLX4_MAX_PORT_GIDS; i++) {
 				memcpy(&gids[i].gid, &port_gid_table->gids[i].gid, sizeof(union ib_gid));
@@ -317,6 +326,12 @@
 
 	if (!ret && hw_update) {
 		ret = mlx4_ib_update_gids(gids, ibdev, attr->port_num);
+		if (ret) {
+			spin_lock_bh(&iboe->lock);
+			*context = NULL;
+			free_gid_entry(&port_gid_table->gids[free]);
+			spin_unlock_bh(&iboe->lock);
+		}
 		kfree(gids);
 	}
 
@@ -346,10 +361,7 @@
 		if (!ctx->refcount) {
 			unsigned int real_index = ctx->real_index;
 
-			memset(&port_gid_table->gids[real_index].gid, 0,
-			       sizeof(port_gid_table->gids[real_index].gid));
-			kfree(port_gid_table->gids[real_index].ctx);
-			port_gid_table->gids[real_index].ctx = NULL;
+			free_gid_entry(&port_gid_table->gids[real_index]);
 			hw_update = 1;
 		}
 	}
diff --git a/drivers/infiniband/hw/mlx5/gsi.c b/drivers/infiniband/hw/mlx5/gsi.c
index 4950df3..5c73c0a 100644
--- a/drivers/infiniband/hw/mlx5/gsi.c
+++ b/drivers/infiniband/hw/mlx5/gsi.c
@@ -507,8 +507,7 @@
 		ret = ib_post_send(tx_qp, &cur_wr.wr, bad_wr);
 		if (ret) {
 			/* Undo the effect of adding the outstanding wr */
-			gsi->outstanding_pi = (gsi->outstanding_pi - 1) %
-					      gsi->cap.max_send_wr;
+			gsi->outstanding_pi--;
 			goto err;
 		}
 		spin_unlock_irqrestore(&gsi->lock, flags);
diff --git a/drivers/infiniband/hw/mlx5/ib_rep.c b/drivers/infiniband/hw/mlx5/ib_rep.c
index 35a0e04..b841589 100644
--- a/drivers/infiniband/hw/mlx5/ib_rep.c
+++ b/drivers/infiniband/hw/mlx5/ib_rep.c
@@ -69,8 +69,10 @@
 	ibdev->mdev = dev;
 	ibdev->num_ports = max(MLX5_CAP_GEN(dev, num_ports),
 			       MLX5_CAP_GEN(dev, num_vhca_ports));
-	if (!__mlx5_ib_add(ibdev, &rep_profile))
+	if (!__mlx5_ib_add(ibdev, &rep_profile)) {
+		ib_dealloc_device(&ibdev->ib_dev);
 		return -EINVAL;
+	}
 
 	rep->rep_if[REP_IB].priv = ibdev;
 
diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c
index df5be46..2db34f7 100644
--- a/drivers/infiniband/hw/mlx5/main.c
+++ b/drivers/infiniband/hw/mlx5/main.c
@@ -2390,10 +2390,29 @@
 	return match_criteria_enable;
 }
 
-static void set_proto(void *outer_c, void *outer_v, u8 mask, u8 val)
+static int set_proto(void *outer_c, void *outer_v, u8 mask, u8 val)
 {
-	MLX5_SET(fte_match_set_lyr_2_4, outer_c, ip_protocol, mask);
-	MLX5_SET(fte_match_set_lyr_2_4, outer_v, ip_protocol, val);
+	u8 entry_mask;
+	u8 entry_val;
+	int err = 0;
+
+	if (!mask)
+		goto out;
+
+	entry_mask = MLX5_GET(fte_match_set_lyr_2_4, outer_c,
+			      ip_protocol);
+	entry_val = MLX5_GET(fte_match_set_lyr_2_4, outer_v,
+			     ip_protocol);
+	if (!entry_mask) {
+		MLX5_SET(fte_match_set_lyr_2_4, outer_c, ip_protocol, mask);
+		MLX5_SET(fte_match_set_lyr_2_4, outer_v, ip_protocol, val);
+		goto out;
+	}
+	/* Don't override existing ip protocol */
+	if (mask != entry_mask || val != entry_val)
+		err = -EINVAL;
+out:
+	return err;
 }
 
 static void set_flow_label(void *misc_c, void *misc_v, u32 mask, u32 val,
@@ -2597,8 +2616,10 @@
 		set_tos(headers_c, headers_v,
 			ib_spec->ipv4.mask.tos, ib_spec->ipv4.val.tos);
 
-		set_proto(headers_c, headers_v,
-			  ib_spec->ipv4.mask.proto, ib_spec->ipv4.val.proto);
+		if (set_proto(headers_c, headers_v,
+			      ib_spec->ipv4.mask.proto,
+			      ib_spec->ipv4.val.proto))
+			return -EINVAL;
 		break;
 	case IB_FLOW_SPEC_IPV6:
 		if (FIELDS_NOT_SUPPORTED(ib_spec->ipv6.mask, LAST_IPV6_FIELD))
@@ -2637,9 +2658,10 @@
 			ib_spec->ipv6.mask.traffic_class,
 			ib_spec->ipv6.val.traffic_class);
 
-		set_proto(headers_c, headers_v,
-			  ib_spec->ipv6.mask.next_hdr,
-			  ib_spec->ipv6.val.next_hdr);
+		if (set_proto(headers_c, headers_v,
+			      ib_spec->ipv6.mask.next_hdr,
+			      ib_spec->ipv6.val.next_hdr))
+			return -EINVAL;
 
 		set_flow_label(misc_params_c, misc_params_v,
 			       ntohl(ib_spec->ipv6.mask.flow_label),
@@ -2660,10 +2682,8 @@
 					 LAST_TCP_UDP_FIELD))
 			return -EOPNOTSUPP;
 
-		MLX5_SET(fte_match_set_lyr_2_4, headers_c, ip_protocol,
-			 0xff);
-		MLX5_SET(fte_match_set_lyr_2_4, headers_v, ip_protocol,
-			 IPPROTO_TCP);
+		if (set_proto(headers_c, headers_v, 0xff, IPPROTO_TCP))
+			return -EINVAL;
 
 		MLX5_SET(fte_match_set_lyr_2_4, headers_c, tcp_sport,
 			 ntohs(ib_spec->tcp_udp.mask.src_port));
@@ -2680,10 +2700,8 @@
 					 LAST_TCP_UDP_FIELD))
 			return -EOPNOTSUPP;
 
-		MLX5_SET(fte_match_set_lyr_2_4, headers_c, ip_protocol,
-			 0xff);
-		MLX5_SET(fte_match_set_lyr_2_4, headers_v, ip_protocol,
-			 IPPROTO_UDP);
+		if (set_proto(headers_c, headers_v, 0xff, IPPROTO_UDP))
+			return -EINVAL;
 
 		MLX5_SET(fte_match_set_lyr_2_4, headers_c, udp_sport,
 			 ntohs(ib_spec->tcp_udp.mask.src_port));
@@ -2699,6 +2717,9 @@
 		if (ib_spec->gre.mask.c_ks_res0_ver)
 			return -EOPNOTSUPP;
 
+		if (set_proto(headers_c, headers_v, 0xff, IPPROTO_GRE))
+			return -EINVAL;
+
 		MLX5_SET(fte_match_set_lyr_2_4, headers_c, ip_protocol,
 			 0xff);
 		MLX5_SET(fte_match_set_lyr_2_4, headers_v, ip_protocol,
diff --git a/drivers/infiniband/hw/mlx5/mr.c b/drivers/infiniband/hw/mlx5/mr.c
index bd1fdad..18fd9aa 100644
--- a/drivers/infiniband/hw/mlx5/mr.c
+++ b/drivers/infiniband/hw/mlx5/mr.c
@@ -457,7 +457,7 @@
 
 	if (entry < 0 || entry >= MAX_MR_CACHE_ENTRIES) {
 		mlx5_ib_err(dev, "cache entry %d is out of range\n", entry);
-		return NULL;
+		return ERR_PTR(-EINVAL);
 	}
 
 	ent = &cache->ent[entry];
diff --git a/drivers/infiniband/hw/mlx5/qp.c b/drivers/infiniband/hw/mlx5/qp.c
index ef0f710..4c0f0ce 100644
--- a/drivers/infiniband/hw/mlx5/qp.c
+++ b/drivers/infiniband/hw/mlx5/qp.c
@@ -2598,6 +2598,11 @@
 			[MLX5_QP_ST_UD] = MLX5_QP_OPTPAR_PKEY_INDEX	|
 					  MLX5_QP_OPTPAR_Q_KEY		|
 					  MLX5_QP_OPTPAR_PRI_PORT,
+			[MLX5_QP_ST_XRC] = MLX5_QP_OPTPAR_RRE		|
+					  MLX5_QP_OPTPAR_RAE		|
+					  MLX5_QP_OPTPAR_RWE		|
+					  MLX5_QP_OPTPAR_PKEY_INDEX	|
+					  MLX5_QP_OPTPAR_PRI_PORT,
 		},
 		[MLX5_QP_STATE_RTR] = {
 			[MLX5_QP_ST_RC] = MLX5_QP_OPTPAR_ALT_ADDR_PATH  |
@@ -2631,6 +2636,12 @@
 					  MLX5_QP_OPTPAR_RWE		|
 					  MLX5_QP_OPTPAR_PM_STATE,
 			[MLX5_QP_ST_UD] = MLX5_QP_OPTPAR_Q_KEY,
+			[MLX5_QP_ST_XRC] = MLX5_QP_OPTPAR_ALT_ADDR_PATH	|
+					  MLX5_QP_OPTPAR_RRE		|
+					  MLX5_QP_OPTPAR_RAE		|
+					  MLX5_QP_OPTPAR_RWE		|
+					  MLX5_QP_OPTPAR_PM_STATE	|
+					  MLX5_QP_OPTPAR_RNR_TIMEOUT,
 		},
 	},
 	[MLX5_QP_STATE_RTS] = {
@@ -2647,6 +2658,12 @@
 			[MLX5_QP_ST_UD] = MLX5_QP_OPTPAR_Q_KEY		|
 					  MLX5_QP_OPTPAR_SRQN		|
 					  MLX5_QP_OPTPAR_CQN_RCV,
+			[MLX5_QP_ST_XRC] = MLX5_QP_OPTPAR_RRE		|
+					  MLX5_QP_OPTPAR_RAE		|
+					  MLX5_QP_OPTPAR_RWE		|
+					  MLX5_QP_OPTPAR_RNR_TIMEOUT	|
+					  MLX5_QP_OPTPAR_PM_STATE	|
+					  MLX5_QP_OPTPAR_ALT_ADDR_PATH,
 		},
 	},
 	[MLX5_QP_STATE_SQER] = {
@@ -2658,6 +2675,10 @@
 					   MLX5_QP_OPTPAR_RWE		|
 					   MLX5_QP_OPTPAR_RAE		|
 					   MLX5_QP_OPTPAR_RRE,
+			[MLX5_QP_ST_XRC]  = MLX5_QP_OPTPAR_RNR_TIMEOUT	|
+					   MLX5_QP_OPTPAR_RWE		|
+					   MLX5_QP_OPTPAR_RAE		|
+					   MLX5_QP_OPTPAR_RRE,
 		},
 	},
 };
diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
index c158ca9..08271fc 100644
--- a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
+++ b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
@@ -55,7 +55,7 @@
 
 int ocrdma_query_pkey(struct ib_device *ibdev, u8 port, u16 index, u16 *pkey)
 {
-	if (index > 1)
+	if (index > 0)
 		return -EINVAL;
 
 	*pkey = 0xffff;
diff --git a/drivers/infiniband/hw/qedr/verbs.c b/drivers/infiniband/hw/qedr/verbs.c
index 9167a1c..38fe2f7 100644
--- a/drivers/infiniband/hw/qedr/verbs.c
+++ b/drivers/infiniband/hw/qedr/verbs.c
@@ -67,7 +67,7 @@
 
 int qedr_query_pkey(struct ib_device *ibdev, u8 port, u16 index, u16 *pkey)
 {
-	if (index > QEDR_ROCE_PKEY_TABLE_LEN)
+	if (index >= QEDR_ROCE_PKEY_TABLE_LEN)
 		return -EINVAL;
 
 	*pkey = QEDR_ROCE_PKEY_DEFAULT;
@@ -158,54 +158,47 @@
 	return 0;
 }
 
-#define QEDR_SPEED_SDR		(1)
-#define QEDR_SPEED_DDR		(2)
-#define QEDR_SPEED_QDR		(4)
-#define QEDR_SPEED_FDR10	(8)
-#define QEDR_SPEED_FDR		(16)
-#define QEDR_SPEED_EDR		(32)
-
 static inline void get_link_speed_and_width(int speed, u8 *ib_speed,
 					    u8 *ib_width)
 {
 	switch (speed) {
 	case 1000:
-		*ib_speed = QEDR_SPEED_SDR;
+		*ib_speed = IB_SPEED_SDR;
 		*ib_width = IB_WIDTH_1X;
 		break;
 	case 10000:
-		*ib_speed = QEDR_SPEED_QDR;
+		*ib_speed = IB_SPEED_QDR;
 		*ib_width = IB_WIDTH_1X;
 		break;
 
 	case 20000:
-		*ib_speed = QEDR_SPEED_DDR;
+		*ib_speed = IB_SPEED_DDR;
 		*ib_width = IB_WIDTH_4X;
 		break;
 
 	case 25000:
-		*ib_speed = QEDR_SPEED_EDR;
+		*ib_speed = IB_SPEED_EDR;
 		*ib_width = IB_WIDTH_1X;
 		break;
 
 	case 40000:
-		*ib_speed = QEDR_SPEED_QDR;
+		*ib_speed = IB_SPEED_QDR;
 		*ib_width = IB_WIDTH_4X;
 		break;
 
 	case 50000:
-		*ib_speed = QEDR_SPEED_QDR;
-		*ib_width = IB_WIDTH_4X;
+		*ib_speed = IB_SPEED_HDR;
+		*ib_width = IB_WIDTH_1X;
 		break;
 
 	case 100000:
-		*ib_speed = QEDR_SPEED_EDR;
+		*ib_speed = IB_SPEED_EDR;
 		*ib_width = IB_WIDTH_4X;
 		break;
 
 	default:
 		/* Unsupported */
-		*ib_speed = QEDR_SPEED_SDR;
+		*ib_speed = IB_SPEED_SDR;
 		*ib_width = IB_WIDTH_1X;
 	}
 }
diff --git a/drivers/infiniband/hw/qib/qib_verbs.c b/drivers/infiniband/hw/qib/qib_verbs.c
index 803c354..5abbbb6 100644
--- a/drivers/infiniband/hw/qib/qib_verbs.c
+++ b/drivers/infiniband/hw/qib/qib_verbs.c
@@ -360,8 +360,10 @@
 		if (mcast == NULL)
 			goto drop;
 		this_cpu_inc(ibp->pmastats->n_multicast_rcv);
+		rcu_read_lock();
 		list_for_each_entry_rcu(p, &mcast->qp_list, list)
 			qib_qp_rcv(rcd, hdr, 1, data, tlen, p->qp);
+		rcu_read_unlock();
 		/*
 		 * Notify rvt_multicast_detach() if it is waiting for us
 		 * to finish.
diff --git a/drivers/infiniband/hw/usnic/usnic_ib_verbs.c b/drivers/infiniband/hw/usnic/usnic_ib_verbs.c
index 3db2324..e611f13 100644
--- a/drivers/infiniband/hw/usnic/usnic_ib_verbs.c
+++ b/drivers/infiniband/hw/usnic/usnic_ib_verbs.c
@@ -447,7 +447,7 @@
 int usnic_ib_query_pkey(struct ib_device *ibdev, u8 port, u16 index,
 				u16 *pkey)
 {
-	if (index > 1)
+	if (index > 0)
 		return -EINVAL;
 
 	*pkey = 0xffff;
diff --git a/drivers/infiniband/sw/rdmavt/qp.c b/drivers/infiniband/sw/rdmavt/qp.c
index 7d03680..fbc3167 100644
--- a/drivers/infiniband/sw/rdmavt/qp.c
+++ b/drivers/infiniband/sw/rdmavt/qp.c
@@ -58,6 +58,8 @@
 #include "trace.h"
 
 static void rvt_rc_timeout(struct timer_list *t);
+static void rvt_reset_qp(struct rvt_dev_info *rdi, struct rvt_qp *qp,
+			 enum ib_qp_type type);
 
 /*
  * Convert the AETH RNR timeout code into the number of microseconds.
@@ -268,40 +270,41 @@
 }
 
 /**
- * free_all_qps - check for QPs still in use
+ * rvt_free_qp_cb - callback function to reset a qp
+ * @qp: the qp to reset
+ * @v: a 64-bit value
+ *
+ * This function resets the qp and removes it from the
+ * qp hash table.
+ */
+static void rvt_free_qp_cb(struct rvt_qp *qp, u64 v)
+{
+	unsigned int *qp_inuse = (unsigned int *)v;
+	struct rvt_dev_info *rdi = ib_to_rvt(qp->ibqp.device);
+
+	/* Reset the qp and remove it from the qp hash list */
+	rvt_reset_qp(rdi, qp, qp->ibqp.qp_type);
+
+	/* Increment the qp_inuse count */
+	(*qp_inuse)++;
+}
+
+/**
+ * rvt_free_all_qps - check for QPs still in use
  * @rdi: rvt device info structure
  *
  * There should not be any QPs still in use.
  * Free memory for table.
+ * Return the number of QPs still in use.
  */
 static unsigned rvt_free_all_qps(struct rvt_dev_info *rdi)
 {
-	unsigned long flags;
-	struct rvt_qp *qp;
-	unsigned n, qp_inuse = 0;
-	spinlock_t *ql; /* work around too long line below */
-
-	if (rdi->driver_f.free_all_qps)
-		qp_inuse = rdi->driver_f.free_all_qps(rdi);
+	unsigned int qp_inuse = 0;
 
 	qp_inuse += rvt_mcast_tree_empty(rdi);
 
-	if (!rdi->qp_dev)
-		return qp_inuse;
+	rvt_qp_iter(rdi, (u64)&qp_inuse, rvt_free_qp_cb);
 
-	ql = &rdi->qp_dev->qpt_lock;
-	spin_lock_irqsave(ql, flags);
-	for (n = 0; n < rdi->qp_dev->qp_table_size; n++) {
-		qp = rcu_dereference_protected(rdi->qp_dev->qp_table[n],
-					       lockdep_is_held(ql));
-		RCU_INIT_POINTER(rdi->qp_dev->qp_table[n], NULL);
-
-		for (; qp; qp = rcu_dereference_protected(qp->next,
-							  lockdep_is_held(ql)))
-			qp_inuse++;
-	}
-	spin_unlock_irqrestore(ql, flags);
-	synchronize_rcu();
 	return qp_inuse;
 }
 
@@ -684,14 +687,14 @@
 }
 
 /**
- * rvt_reset_qp - initialize the QP state to the reset state
+ * _rvt_reset_qp - initialize the QP state to the reset state
  * @qp: the QP to reset
  * @type: the QP type
  *
  * r_lock, s_hlock, and s_lock are required to be held by the caller
  */
-static void rvt_reset_qp(struct rvt_dev_info *rdi, struct rvt_qp *qp,
-			 enum ib_qp_type type)
+static void _rvt_reset_qp(struct rvt_dev_info *rdi, struct rvt_qp *qp,
+			  enum ib_qp_type type)
 	__must_hold(&qp->s_lock)
 	__must_hold(&qp->s_hlock)
 	__must_hold(&qp->r_lock)
@@ -737,6 +740,27 @@
 	lockdep_assert_held(&qp->s_lock);
 }
 
+/**
+ * rvt_reset_qp - initialize the QP state to the reset state
+ * @rdi: the device info
+ * @qp: the QP to reset
+ * @type: the QP type
+ *
+ * This is the wrapper function to acquire the r_lock, s_hlock, and s_lock
+ * before calling _rvt_reset_qp().
+ */
+static void rvt_reset_qp(struct rvt_dev_info *rdi, struct rvt_qp *qp,
+			 enum ib_qp_type type)
+{
+	spin_lock_irq(&qp->r_lock);
+	spin_lock(&qp->s_hlock);
+	spin_lock(&qp->s_lock);
+	_rvt_reset_qp(rdi, qp, type);
+	spin_unlock(&qp->s_lock);
+	spin_unlock(&qp->s_hlock);
+	spin_unlock_irq(&qp->r_lock);
+}
+
 /** rvt_free_qpn - Free a qpn from the bit map
  * @qpt: QP table
  * @qpn: queue pair number to free
@@ -1285,7 +1309,7 @@
 	switch (new_state) {
 	case IB_QPS_RESET:
 		if (qp->state != IB_QPS_RESET)
-			rvt_reset_qp(rdi, qp, ibqp->qp_type);
+			_rvt_reset_qp(rdi, qp, ibqp->qp_type);
 		break;
 
 	case IB_QPS_RTR:
@@ -1434,13 +1458,7 @@
 	struct rvt_qp *qp = ibqp_to_rvtqp(ibqp);
 	struct rvt_dev_info *rdi = ib_to_rvt(ibqp->device);
 
-	spin_lock_irq(&qp->r_lock);
-	spin_lock(&qp->s_hlock);
-	spin_lock(&qp->s_lock);
 	rvt_reset_qp(rdi, qp, ibqp->qp_type);
-	spin_unlock(&qp->s_lock);
-	spin_unlock(&qp->s_hlock);
-	spin_unlock_irq(&qp->r_lock);
 
 	wait_event(qp->wait, !atomic_read(&qp->refcount));
 	/* qpn is now available for use again */
diff --git a/drivers/infiniband/sw/rxe/rxe_comp.c b/drivers/infiniband/sw/rxe/rxe_comp.c
index ea089cb..dc06e98 100644
--- a/drivers/infiniband/sw/rxe/rxe_comp.c
+++ b/drivers/infiniband/sw/rxe/rxe_comp.c
@@ -329,7 +329,7 @@
 					qp->comp.psn = pkt->psn;
 					if (qp->req.wait_psn) {
 						qp->req.wait_psn = 0;
-						rxe_run_task(&qp->req.task, 1);
+						rxe_run_task(&qp->req.task, 0);
 					}
 				}
 				return COMPST_ERROR_RETRY;
@@ -457,7 +457,7 @@
 	 */
 	if (qp->req.wait_fence) {
 		qp->req.wait_fence = 0;
-		rxe_run_task(&qp->req.task, 1);
+		rxe_run_task(&qp->req.task, 0);
 	}
 }
 
@@ -473,7 +473,7 @@
 		if (qp->req.need_rd_atomic) {
 			qp->comp.timeout_retry = 0;
 			qp->req.need_rd_atomic = 0;
-			rxe_run_task(&qp->req.task, 1);
+			rxe_run_task(&qp->req.task, 0);
 		}
 	}
 
@@ -719,7 +719,7 @@
 							RXE_CNT_COMP_RETRY);
 					qp->req.need_retry = 1;
 					qp->comp.started_retry = 1;
-					rxe_run_task(&qp->req.task, 1);
+					rxe_run_task(&qp->req.task, 0);
 				}
 
 				if (pkt) {
diff --git a/drivers/infiniband/sw/rxe/rxe_cq.c b/drivers/infiniband/sw/rxe/rxe_cq.c
index 2ee4b08..a57276f 100644
--- a/drivers/infiniband/sw/rxe/rxe_cq.c
+++ b/drivers/infiniband/sw/rxe/rxe_cq.c
@@ -30,7 +30,7 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-
+#include <linux/vmalloc.h>
 #include "rxe.h"
 #include "rxe_loc.h"
 #include "rxe_queue.h"
@@ -97,7 +97,7 @@
 	err = do_mmap_info(rxe, uresp ? &uresp->mi : NULL, context,
 			   cq->queue->buf, cq->queue->buf_size, &cq->queue->ip);
 	if (err) {
-		kvfree(cq->queue->buf);
+		vfree(cq->queue->buf);
 		kfree(cq->queue);
 		return err;
 	}
diff --git a/drivers/infiniband/sw/rxe/rxe_net.c b/drivers/infiniband/sw/rxe/rxe_net.c
index 8094cba..54add70 100644
--- a/drivers/infiniband/sw/rxe/rxe_net.c
+++ b/drivers/infiniband/sw/rxe/rxe_net.c
@@ -533,8 +533,9 @@
 	if (unlikely(!skb))
 		goto out;
 
-	skb_reserve(skb, hdr_len + LL_RESERVED_SPACE(rxe->ndev));
+	skb_reserve(skb, hdr_len + LL_RESERVED_SPACE(ndev));
 
+	/* FIXME: hold reference to this netdev until life of this skb. */
 	skb->dev	= ndev;
 	if (av->network_type == RDMA_NETWORK_IPV4)
 		skb->protocol = htons(ETH_P_IP);
diff --git a/drivers/infiniband/sw/rxe/rxe_pool.c b/drivers/infiniband/sw/rxe/rxe_pool.c
index b4a8acc..0e2425f 100644
--- a/drivers/infiniband/sw/rxe/rxe_pool.c
+++ b/drivers/infiniband/sw/rxe/rxe_pool.c
@@ -112,6 +112,18 @@
 	return rxe_type_info[pool->type].cache;
 }
 
+static void rxe_cache_clean(size_t cnt)
+{
+	int i;
+	struct rxe_type_info *type;
+
+	for (i = 0; i < cnt; i++) {
+		type = &rxe_type_info[i];
+		kmem_cache_destroy(type->cache);
+		type->cache = NULL;
+	}
+}
+
 int rxe_cache_init(void)
 {
 	int err;
@@ -136,24 +148,14 @@
 	return 0;
 
 err1:
-	while (--i >= 0) {
-		kmem_cache_destroy(type->cache);
-		type->cache = NULL;
-	}
+	rxe_cache_clean(i);
 
 	return err;
 }
 
 void rxe_cache_exit(void)
 {
-	int i;
-	struct rxe_type_info *type;
-
-	for (i = 0; i < RXE_NUM_TYPES; i++) {
-		type = &rxe_type_info[i];
-		kmem_cache_destroy(type->cache);
-		type->cache = NULL;
-	}
+	rxe_cache_clean(RXE_NUM_TYPES);
 }
 
 static int rxe_pool_init_index(struct rxe_pool *pool, u32 max, u32 min)
diff --git a/drivers/infiniband/sw/rxe/rxe_qp.c b/drivers/infiniband/sw/rxe/rxe_qp.c
index c58452d..230697f 100644
--- a/drivers/infiniband/sw/rxe/rxe_qp.c
+++ b/drivers/infiniband/sw/rxe/rxe_qp.c
@@ -34,6 +34,7 @@
 #include <linux/skbuff.h>
 #include <linux/delay.h>
 #include <linux/sched.h>
+#include <linux/vmalloc.h>
 
 #include "rxe.h"
 #include "rxe_loc.h"
@@ -247,7 +248,7 @@
 			   &qp->sq.queue->ip);
 
 	if (err) {
-		kvfree(qp->sq.queue->buf);
+		vfree(qp->sq.queue->buf);
 		kfree(qp->sq.queue);
 		return err;
 	}
@@ -300,7 +301,7 @@
 				   qp->rq.queue->buf, qp->rq.queue->buf_size,
 				   &qp->rq.queue->ip);
 		if (err) {
-			kvfree(qp->rq.queue->buf);
+			vfree(qp->rq.queue->buf);
 			kfree(qp->rq.queue);
 			return err;
 		}
diff --git a/drivers/infiniband/sw/rxe/rxe_verbs.h b/drivers/infiniband/sw/rxe/rxe_verbs.h
index 6a75f96..b4e2436 100644
--- a/drivers/infiniband/sw/rxe/rxe_verbs.h
+++ b/drivers/infiniband/sw/rxe/rxe_verbs.h
@@ -407,7 +407,7 @@
 	struct list_head	pending_mmaps;
 
 	spinlock_t		mmap_offset_lock; /* guard mmap_offset */
-	int			mmap_offset;
+	u64			mmap_offset;
 
 	atomic64_t		stats_counters[RXE_NUM_OF_COUNTERS];
 
diff --git a/drivers/infiniband/ulp/iser/iscsi_iser.h b/drivers/infiniband/ulp/iser/iscsi_iser.h
index 120b408..a7aeaa0 100644
--- a/drivers/infiniband/ulp/iser/iscsi_iser.h
+++ b/drivers/infiniband/ulp/iser/iscsi_iser.h
@@ -197,7 +197,7 @@
 	struct scatterlist *sg;
 	int                size;
 	unsigned long      data_len;
-	unsigned int       dma_nents;
+	int                dma_nents;
 };
 
 /* fwd declarations */
diff --git a/drivers/infiniband/ulp/iser/iser_memory.c b/drivers/infiniband/ulp/iser/iser_memory.c
index 009be88..379bc0d 100644
--- a/drivers/infiniband/ulp/iser/iser_memory.c
+++ b/drivers/infiniband/ulp/iser/iser_memory.c
@@ -240,8 +240,8 @@
 	page_vec->npages = 0;
 	page_vec->fake_mr.page_size = SIZE_4K;
 	plen = ib_sg_to_pages(&page_vec->fake_mr, mem->sg,
-			      mem->size, NULL, iser_set_page);
-	if (unlikely(plen < mem->size)) {
+			      mem->dma_nents, NULL, iser_set_page);
+	if (unlikely(plen < mem->dma_nents)) {
 		iser_err("page vec too short to hold this SG\n");
 		iser_data_buf_dump(mem, device->ib_device);
 		iser_dump_page_vec(page_vec);
@@ -451,10 +451,10 @@
 
 	ib_update_fast_reg_key(mr, ib_inc_rkey(mr->rkey));
 
-	n = ib_map_mr_sg(mr, mem->sg, mem->size, NULL, SIZE_4K);
-	if (unlikely(n != mem->size)) {
+	n = ib_map_mr_sg(mr, mem->sg, mem->dma_nents, NULL, SIZE_4K);
+	if (unlikely(n != mem->dma_nents)) {
 		iser_err("failed to map sg (%d/%d)\n",
-			 n, mem->size);
+			 n, mem->dma_nents);
 		return n < 0 ? n : -EINVAL;
 	}
 
diff --git a/drivers/infiniband/ulp/srpt/ib_srpt.c b/drivers/infiniband/ulp/srpt/ib_srpt.c
index ea4afde..bc979a8 100644
--- a/drivers/infiniband/ulp/srpt/ib_srpt.c
+++ b/drivers/infiniband/ulp/srpt/ib_srpt.c
@@ -1324,9 +1324,11 @@
 			      struct srpt_send_ioctx *ioctx, u64 tag,
 			      int status)
 {
+	struct se_cmd *cmd = &ioctx->cmd;
 	struct srp_rsp *srp_rsp;
 	const u8 *sense_data;
 	int sense_data_len, max_sense_len;
+	u32 resid = cmd->residual_count;
 
 	/*
 	 * The lowest bit of all SAM-3 status codes is zero (see also
@@ -1348,6 +1350,28 @@
 	srp_rsp->tag = tag;
 	srp_rsp->status = status;
 
+	if (cmd->se_cmd_flags & SCF_UNDERFLOW_BIT) {
+		if (cmd->data_direction == DMA_TO_DEVICE) {
+			/* residual data from an underflow write */
+			srp_rsp->flags = SRP_RSP_FLAG_DOUNDER;
+			srp_rsp->data_out_res_cnt = cpu_to_be32(resid);
+		} else if (cmd->data_direction == DMA_FROM_DEVICE) {
+			/* residual data from an underflow read */
+			srp_rsp->flags = SRP_RSP_FLAG_DIUNDER;
+			srp_rsp->data_in_res_cnt = cpu_to_be32(resid);
+		}
+	} else if (cmd->se_cmd_flags & SCF_OVERFLOW_BIT) {
+		if (cmd->data_direction == DMA_TO_DEVICE) {
+			/* residual data from an overflow write */
+			srp_rsp->flags = SRP_RSP_FLAG_DOOVER;
+			srp_rsp->data_out_res_cnt = cpu_to_be32(resid);
+		} else if (cmd->data_direction == DMA_FROM_DEVICE) {
+			/* residual data from an overflow read */
+			srp_rsp->flags = SRP_RSP_FLAG_DIOVER;
+			srp_rsp->data_in_res_cnt = cpu_to_be32(resid);
+		}
+	}
+
 	if (sense_data_len) {
 		BUILD_BUG_ON(MIN_MAX_RSP_SIZE <= sizeof(*srp_rsp));
 		max_sense_len = ch->max_ti_iu_len - sizeof(*srp_rsp);
diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c
index f48369d..65ca3e5 100644
--- a/drivers/input/evdev.c
+++ b/drivers/input/evdev.c
@@ -28,13 +28,6 @@
 #include <linux/cdev.h>
 #include "input-compat.h"
 
-enum evdev_clock_type {
-	EV_CLK_REAL = 0,
-	EV_CLK_MONO,
-	EV_CLK_BOOT,
-	EV_CLK_MAX
-};
-
 struct evdev {
 	int open;
 	struct input_handle handle;
@@ -56,7 +49,7 @@
 	struct fasync_struct *fasync;
 	struct evdev *evdev;
 	struct list_head node;
-	unsigned int clk_type;
+	enum input_clock_type clk_type;
 	bool revoked;
 	unsigned long *evmasks[EV_CNT];
 	unsigned int bufsize;
@@ -152,17 +145,10 @@
 
 static void __evdev_queue_syn_dropped(struct evdev_client *client)
 {
+	ktime_t *ev_time = input_get_timestamp(client->evdev->handle.dev);
+	struct timespec64 ts = ktime_to_timespec64(ev_time[client->clk_type]);
 	struct input_event ev;
-	ktime_t time;
-	struct timespec64 ts;
 
-	time = client->clk_type == EV_CLK_REAL ?
-			ktime_get_real() :
-			client->clk_type == EV_CLK_MONO ?
-				ktime_get() :
-				ktime_get_boottime();
-
-	ts = ktime_to_timespec64(time);
 	ev.input_event_sec = ts.tv_sec;
 	ev.input_event_usec = ts.tv_nsec / NSEC_PER_USEC;
 	ev.type = EV_SYN;
@@ -191,18 +177,18 @@
 static int evdev_set_clk_type(struct evdev_client *client, unsigned int clkid)
 {
 	unsigned long flags;
-	unsigned int clk_type;
+	enum input_clock_type clk_type;
 
 	switch (clkid) {
 
 	case CLOCK_REALTIME:
-		clk_type = EV_CLK_REAL;
+		clk_type = INPUT_CLK_REAL;
 		break;
 	case CLOCK_MONOTONIC:
-		clk_type = EV_CLK_MONO;
+		clk_type = INPUT_CLK_MONO;
 		break;
 	case CLOCK_BOOTTIME:
-		clk_type = EV_CLK_BOOT;
+		clk_type = INPUT_CLK_BOOT;
 		break;
 	default:
 		return -EINVAL;
@@ -241,13 +227,13 @@
 		 */
 		client->tail = (client->head - 2) & (client->bufsize - 1);
 
-		client->buffer[client->tail].input_event_sec =
-						event->input_event_sec;
-		client->buffer[client->tail].input_event_usec =
-						event->input_event_usec;
-		client->buffer[client->tail].type = EV_SYN;
-		client->buffer[client->tail].code = SYN_DROPPED;
-		client->buffer[client->tail].value = 0;
+		client->buffer[client->tail] = (struct input_event) {
+			.input_event_sec = event->input_event_sec,
+			.input_event_usec = event->input_event_usec,
+			.type = EV_SYN,
+			.code = SYN_DROPPED,
+			.value = 0,
+		};
 
 		client->packet_head = client->tail;
 	}
@@ -310,12 +296,7 @@
 {
 	struct evdev *evdev = handle->private;
 	struct evdev_client *client;
-	ktime_t ev_time[EV_CLK_MAX];
-
-	ev_time[EV_CLK_MONO] = ktime_get();
-	ev_time[EV_CLK_REAL] = ktime_mono_to_real(ev_time[EV_CLK_MONO]);
-	ev_time[EV_CLK_BOOT] = ktime_mono_to_any(ev_time[EV_CLK_MONO],
-						 TK_OFFS_BOOT);
+	ktime_t *ev_time = input_get_timestamp(handle->dev);
 
 	rcu_read_lock();
 
diff --git a/drivers/input/input.c b/drivers/input/input.c
index 3304aaa..57072d5 100644
--- a/drivers/input/input.c
+++ b/drivers/input/input.c
@@ -400,6 +400,13 @@
 		if (dev->num_vals >= 2)
 			input_pass_values(dev, dev->vals, dev->num_vals);
 		dev->num_vals = 0;
+		/*
+		 * Reset the timestamp on flush so we won't end up
+		 * with a stale one. Note we only need to reset the
+		 * monolithic one as we use its presence when deciding
+		 * whether to generate a synthetic timestamp.
+		 */
+		dev->timestamp[INPUT_CLK_MONO] = ktime_set(0, 0);
 	} else if (dev->num_vals >= dev->max_vals - 2) {
 		dev->vals[dev->num_vals++] = input_value_sync;
 		input_pass_values(dev, dev->vals, dev->num_vals);
@@ -858,16 +865,18 @@
 		}
 	}
 
-	__clear_bit(*old_keycode, dev->keybit);
-	__set_bit(ke->keycode, dev->keybit);
-
-	for (i = 0; i < dev->keycodemax; i++) {
-		if (input_fetch_keycode(dev, i) == *old_keycode) {
-			__set_bit(*old_keycode, dev->keybit);
-			break; /* Setting the bit twice is useless, so break */
+	if (*old_keycode <= KEY_MAX) {
+		__clear_bit(*old_keycode, dev->keybit);
+		for (i = 0; i < dev->keycodemax; i++) {
+			if (input_fetch_keycode(dev, i) == *old_keycode) {
+				__set_bit(*old_keycode, dev->keybit);
+				/* Setting the bit twice is useless, so break */
+				break;
+			}
 		}
 	}
 
+	__set_bit(ke->keycode, dev->keybit);
 	return 0;
 }
 
@@ -923,9 +932,13 @@
 	 * Simulate keyup event if keycode is not present
 	 * in the keymap anymore
 	 */
-	if (test_bit(EV_KEY, dev->evbit) &&
-	    !is_event_supported(old_keycode, dev->keybit, KEY_MAX) &&
-	    __test_and_clear_bit(old_keycode, dev->key)) {
+	if (old_keycode > KEY_MAX) {
+		dev_warn(dev->dev.parent ?: &dev->dev,
+			 "%s: got too big old keycode %#x\n",
+			 __func__, old_keycode);
+	} else if (test_bit(EV_KEY, dev->evbit) &&
+		   !is_event_supported(old_keycode, dev->keybit, KEY_MAX) &&
+		   __test_and_clear_bit(old_keycode, dev->key)) {
 		struct input_value vals[] =  {
 			{ EV_KEY, old_keycode, 0 },
 			input_value_sync
@@ -1899,6 +1912,46 @@
 EXPORT_SYMBOL(input_free_device);
 
 /**
+ * input_set_timestamp - set timestamp for input events
+ * @dev: input device to set timestamp for
+ * @timestamp: the time at which the event has occurred
+ *   in CLOCK_MONOTONIC
+ *
+ * This function is intended to provide to the input system a more
+ * accurate time of when an event actually occurred. The driver should
+ * call this function as soon as a timestamp is acquired ensuring
+ * clock conversions in input_set_timestamp are done correctly.
+ *
+ * The system entering suspend state between timestamp acquisition and
+ * calling input_set_timestamp can result in inaccurate conversions.
+ */
+void input_set_timestamp(struct input_dev *dev, ktime_t timestamp)
+{
+	dev->timestamp[INPUT_CLK_MONO] = timestamp;
+	dev->timestamp[INPUT_CLK_REAL] = ktime_mono_to_real(timestamp);
+	dev->timestamp[INPUT_CLK_BOOT] = ktime_mono_to_any(timestamp,
+							   TK_OFFS_BOOT);
+}
+EXPORT_SYMBOL(input_set_timestamp);
+
+/**
+ * input_get_timestamp - get timestamp for input events
+ * @dev: input device to get timestamp from
+ *
+ * A valid timestamp is a timestamp of non-zero value.
+ */
+ktime_t *input_get_timestamp(struct input_dev *dev)
+{
+	const ktime_t invalid_timestamp = ktime_set(0, 0);
+
+	if (!ktime_compare(dev->timestamp[INPUT_CLK_MONO], invalid_timestamp))
+		input_set_timestamp(dev, ktime_get());
+
+	return dev->timestamp;
+}
+EXPORT_SYMBOL(input_get_timestamp);
+
+/**
  * input_set_capability - mark device as capable of a certain event
  * @dev: device that is capable of emitting or accepting event
  * @type: type of the event (EV_KEY, EV_REL, etc...)
diff --git a/drivers/input/keyboard/nomadik-ske-keypad.c b/drivers/input/keyboard/nomadik-ske-keypad.c
index 8567ee4..ae3b045 100644
--- a/drivers/input/keyboard/nomadik-ske-keypad.c
+++ b/drivers/input/keyboard/nomadik-ske-keypad.c
@@ -100,7 +100,7 @@
 	while ((readl(keypad->reg_base + SKE_RIS) != 0x00000000) && timeout--)
 		cpu_relax();
 
-	if (!timeout)
+	if (timeout == -1)
 		return -EINVAL;
 
 	/*
diff --git a/drivers/input/keycombo.c b/drivers/input/keycombo.c
index 2fba451..bda480a 100644
--- a/drivers/input/keycombo.c
+++ b/drivers/input/keycombo.c
@@ -38,8 +38,8 @@
 	void (*key_down_fn)(void *);
 	void *priv;
 	int key_is_down;
-	struct wakeup_source combo_held_wake_source;
-	struct wakeup_source combo_up_wake_source;
+	struct wakeup_source *combo_held_wake_source;
+	struct wakeup_source *combo_up_wake_source;
 };
 
 static void do_key_down(struct work_struct *work)
@@ -58,7 +58,7 @@
 								key_up_work);
 	if (state->key_up_fn)
 		state->key_up_fn(state->priv);
-	__pm_relax(&state->combo_up_wake_source);
+	__pm_relax(state->combo_up_wake_source);
 }
 
 static void keycombo_event(struct input_handle *handle, unsigned int type,
@@ -92,17 +92,17 @@
 			state->key_down--;
 	}
 	if (state->key_down == state->key_down_target && state->key_up == 0) {
-		__pm_stay_awake(&state->combo_held_wake_source);
+		__pm_stay_awake(state->combo_held_wake_source);
 		state->key_is_down = 1;
 		if (queue_delayed_work(state->wq, &state->key_down_work,
 								state->delay))
 			pr_debug("Key down work already queued!");
 	} else if (state->key_is_down) {
 		if (!cancel_delayed_work(&state->key_down_work)) {
-			__pm_stay_awake(&state->combo_up_wake_source);
+			__pm_stay_awake(state->combo_up_wake_source);
 			queue_work(state->wq, &state->key_up_work);
 		}
-		__pm_relax(&state->combo_held_wake_source);
+		__pm_relax(state->combo_held_wake_source);
 		state->key_is_down = 0;
 	}
 done:
@@ -213,8 +213,21 @@
 		state->key_up_fn = pdata->key_up_fn;
 	INIT_WORK(&state->key_up_work, do_key_up);
 
-	wakeup_source_init(&state->combo_held_wake_source, "key combo");
-	wakeup_source_init(&state->combo_up_wake_source, "key combo up");
+	state->combo_held_wake_source =
+		wakeup_source_register(&pdev->dev, "key combo");
+	if (!state->combo_held_wake_source) {
+		kfree(state);
+		return -ENOMEM;
+	}
+
+	state->combo_up_wake_source =
+		wakeup_source_register(&pdev->dev, "key combo up");
+	if (!state->combo_up_wake_source) {
+		kfree(state);
+		wakeup_source_unregister(state->combo_held_wake_source);
+		return -ENOMEM;
+	}
+
 	state->delay = msecs_to_jiffies(pdata->key_down_delay);
 
 	state->input_handler.event = keycombo_event;
@@ -225,6 +238,8 @@
 	ret = input_register_handler(&state->input_handler);
 	if (ret) {
 		kfree(state);
+		wakeup_source_unregister(state->combo_up_wake_source);
+		wakeup_source_unregister(state->combo_held_wake_source);
 		return ret;
 	}
 	platform_set_drvdata(pdev, state);
@@ -235,6 +250,8 @@
 {
 	struct keycombo_state *state = platform_get_drvdata(pdev);
 	input_unregister_handler(&state->input_handler);
+	wakeup_source_unregister(state->combo_up_wake_source);
+	wakeup_source_unregister(state->combo_held_wake_source);
 	destroy_workqueue(state->wq);
 	kfree(state);
 	return 0;
diff --git a/drivers/input/misc/gpio_input.c b/drivers/input/misc/gpio_input.c
index 5875d73..69c0fe7 100644
--- a/drivers/input/misc/gpio_input.c
+++ b/drivers/input/misc/gpio_input.c
@@ -302,7 +302,8 @@
 				   input_devs->dev[0]->name,
 				   (input_devs->count > 1) ? "..." : "");
 
-		ds->ws = wakeup_source_register(wlname);
+		ds->ws = wakeup_source_register(&input_devs->dev[0]->dev,
+						wlname);
 		kfree(wlname);
 		if (!ds->ws) {
 			ret = -ENOMEM;
diff --git a/drivers/input/misc/gpio_matrix.c b/drivers/input/misc/gpio_matrix.c
index 08769dd..e80885d 100644
--- a/drivers/input/misc/gpio_matrix.c
+++ b/drivers/input/misc/gpio_matrix.c
@@ -24,7 +24,7 @@
 	struct gpio_event_input_devs *input_devs;
 	struct gpio_event_matrix_info *keypad_info;
 	struct hrtimer timer;
-	struct wakeup_source wake_src;
+	struct wakeup_source *wake_src;
 	int current_output;
 	unsigned int use_irq:1;
 	unsigned int key_state_changed:1;
@@ -214,7 +214,7 @@
 	}
 	for (in = 0; in < mi->ninputs; in++)
 		enable_irq(gpio_to_irq(mi->input_gpios[in]));
-	__pm_relax(&kp->wake_src);
+	__pm_relax(kp->wake_src);
 	return HRTIMER_NORESTART;
 }
 
@@ -241,7 +241,7 @@
 		else
 			gpio_direction_input(mi->output_gpios[i]);
 	}
-	__pm_stay_awake(&kp->wake_src);
+	__pm_stay_awake(kp->wake_src);
 	hrtimer_start(&kp->timer, ktime_set(0, 0), HRTIMER_MODE_REL);
 	return IRQ_HANDLED;
 }
@@ -395,7 +395,14 @@
 
 		hrtimer_init(&kp->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
 		kp->timer.function = gpio_keypad_timer_func;
-		wakeup_source_init(&kp->wake_src, "gpio_kp");
+
+		kp->wake_src =
+			wakeup_source_register(&input_devs->dev[0]->dev, "gpio_kp");
+		if (!kp->wake_src) {
+			err = -ENOMEM;
+			goto err_wakeup_source_register_failed;
+		}
+
 		err = gpio_keypad_request_irqs(kp);
 		kp->use_irq = err == 0;
 
@@ -405,7 +412,7 @@
 			kp->use_irq ? "interrupt" : "polling");
 
 		if (kp->use_irq)
-			__pm_stay_awake(&kp->wake_src);
+			__pm_stay_awake(kp->wake_src);
 		hrtimer_start(&kp->timer, ktime_set(0, 0), HRTIMER_MODE_REL);
 
 		return 0;
@@ -419,8 +426,9 @@
 			free_irq(gpio_to_irq(mi->input_gpios[i]), kp);
 
 	hrtimer_cancel(&kp->timer);
-	wakeup_source_trash(&kp->wake_src);
-	for (i = mi->noutputs - 1; i >= 0; i--) {
+	wakeup_source_unregister(kp->wake_src);
+err_wakeup_source_register_failed:
+	for (i = mi->ninputs - 1; i >= 0; i--) {
 err_gpio_direction_input_failed:
 		gpio_free(mi->input_gpios[i]);
 err_request_input_gpio_failed:
diff --git a/drivers/input/misc/keyspan_remote.c b/drivers/input/misc/keyspan_remote.c
index a8937ce..af4db13 100644
--- a/drivers/input/misc/keyspan_remote.c
+++ b/drivers/input/misc/keyspan_remote.c
@@ -339,7 +339,8 @@
 	int retval = 0;
 
 	retval = usb_control_msg(dev, usb_sndctrlpipe(dev, 0),
-				 0x11, 0x40, 0x5601, 0x0, NULL, 0, 0);
+				 0x11, 0x40, 0x5601, 0x0, NULL, 0,
+				 USB_CTRL_SET_TIMEOUT);
 	if (retval) {
 		dev_dbg(&dev->dev, "%s - failed to set bit rate due to error: %d\n",
 			__func__, retval);
@@ -347,7 +348,8 @@
 	}
 
 	retval = usb_control_msg(dev, usb_sndctrlpipe(dev, 0),
-				 0x44, 0x40, 0x0, 0x0, NULL, 0, 0);
+				 0x44, 0x40, 0x0, 0x0, NULL, 0,
+				 USB_CTRL_SET_TIMEOUT);
 	if (retval) {
 		dev_dbg(&dev->dev, "%s - failed to set resume sensitivity due to error: %d\n",
 			__func__, retval);
@@ -355,7 +357,8 @@
 	}
 
 	retval = usb_control_msg(dev, usb_sndctrlpipe(dev, 0),
-				 0x22, 0x40, 0x0, 0x0, NULL, 0, 0);
+				 0x22, 0x40, 0x0, 0x0, NULL, 0,
+				 USB_CTRL_SET_TIMEOUT);
 	if (retval) {
 		dev_dbg(&dev->dev, "%s - failed to turn receive on due to error: %d\n",
 			__func__, retval);
diff --git a/drivers/input/misc/pm8xxx-vibrator.c b/drivers/input/misc/pm8xxx-vibrator.c
index 7dd1c1f..27b3db1 100644
--- a/drivers/input/misc/pm8xxx-vibrator.c
+++ b/drivers/input/misc/pm8xxx-vibrator.c
@@ -98,7 +98,7 @@
 
 	if (regs->enable_mask)
 		rc = regmap_update_bits(vib->regmap, regs->enable_addr,
-					on ? regs->enable_mask : 0, val);
+					regs->enable_mask, on ? ~0 : 0);
 
 	return rc;
 }
diff --git a/drivers/input/misc/uinput.c b/drivers/input/misc/uinput.c
index 83d1499..e746920 100644
--- a/drivers/input/misc/uinput.c
+++ b/drivers/input/misc/uinput.c
@@ -87,12 +87,16 @@
 	struct uinput_device	*udev = input_get_drvdata(dev);
 	struct timespec64	ts;
 
-	udev->buff[udev->head].type = type;
-	udev->buff[udev->head].code = code;
-	udev->buff[udev->head].value = value;
 	ktime_get_ts64(&ts);
-	udev->buff[udev->head].input_event_sec = ts.tv_sec;
-	udev->buff[udev->head].input_event_usec = ts.tv_nsec / NSEC_PER_USEC;
+
+	udev->buff[udev->head] = (struct input_event) {
+		.input_event_sec = ts.tv_sec,
+		.input_event_usec = ts.tv_nsec / NSEC_PER_USEC,
+		.type = type,
+		.code = code,
+		.value = value,
+	};
+
 	udev->head = (udev->head + 1) % UINPUT_BUFFER_SIZE;
 
 	wake_up_interruptible(&udev->waitq);
diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
index e8d1134..f47e3fc 100644
--- a/drivers/input/mouse/synaptics.c
+++ b/drivers/input/mouse/synaptics.c
@@ -149,7 +149,6 @@
 	"LEN0042", /* Yoga */
 	"LEN0045",
 	"LEN0047",
-	"LEN0049",
 	"LEN2000", /* S540 */
 	"LEN2001", /* Edge E431 */
 	"LEN2002", /* Edge E531 */
@@ -169,9 +168,11 @@
 	/* all of the topbuttonpad_pnp_ids are valid, we just add some extras */
 	"LEN0048", /* X1 Carbon 3 */
 	"LEN0046", /* X250 */
+	"LEN0049", /* Yoga 11e */
 	"LEN004a", /* W541 */
 	"LEN005b", /* P50 */
 	"LEN005e", /* T560 */
+	"LEN006c", /* T470s */
 	"LEN0071", /* T480 */
 	"LEN0072", /* X1 Carbon Gen 5 (2017) - Elan/ALPS trackpoint */
 	"LEN0073", /* X1 Carbon G5 (Elantech) */
@@ -182,6 +183,7 @@
 	"LEN0097", /* X280 -> ALPS trackpoint */
 	"LEN009b", /* T580 */
 	"LEN200f", /* T450s */
+	"LEN2044", /* L470  */
 	"LEN2054", /* E480 */
 	"LEN2055", /* E580 */
 	"SYN3052", /* HP EliteBook 840 G4 */
diff --git a/drivers/input/rmi4/rmi_smbus.c b/drivers/input/rmi4/rmi_smbus.c
index 4b2466c..b6ccf39 100644
--- a/drivers/input/rmi4/rmi_smbus.c
+++ b/drivers/input/rmi4/rmi_smbus.c
@@ -166,6 +166,7 @@
 		/* prepare to write next block of bytes */
 		cur_len -= SMB_MAX_COUNT;
 		databuff += SMB_MAX_COUNT;
+		rmiaddr += SMB_MAX_COUNT;
 	}
 exit:
 	mutex_unlock(&rmi_smb->page_mutex);
@@ -217,6 +218,7 @@
 		/* prepare to read next block of bytes */
 		cur_len -= SMB_MAX_COUNT;
 		databuff += SMB_MAX_COUNT;
+		rmiaddr += SMB_MAX_COUNT;
 	}
 
 	retval = 0;
diff --git a/drivers/input/tablet/aiptek.c b/drivers/input/tablet/aiptek.c
index c82cd50..dc2ad1c 100644
--- a/drivers/input/tablet/aiptek.c
+++ b/drivers/input/tablet/aiptek.c
@@ -1815,14 +1815,14 @@
 	input_set_abs_params(inputdev, ABS_WHEEL, AIPTEK_WHEEL_MIN, AIPTEK_WHEEL_MAX - 1, 0, 0);
 
 	/* Verify that a device really has an endpoint */
-	if (intf->altsetting[0].desc.bNumEndpoints < 1) {
+	if (intf->cur_altsetting->desc.bNumEndpoints < 1) {
 		dev_err(&intf->dev,
 			"interface has %d endpoints, but must have minimum 1\n",
-			intf->altsetting[0].desc.bNumEndpoints);
+			intf->cur_altsetting->desc.bNumEndpoints);
 		err = -EINVAL;
 		goto fail3;
 	}
-	endpoint = &intf->altsetting[0].endpoint[0].desc;
+	endpoint = &intf->cur_altsetting->endpoint[0].desc;
 
 	/* Go set up our URB, which is called when the tablet receives
 	 * input.
diff --git a/drivers/input/tablet/gtco.c b/drivers/input/tablet/gtco.c
index 3503122..799c94d 100644
--- a/drivers/input/tablet/gtco.c
+++ b/drivers/input/tablet/gtco.c
@@ -875,18 +875,14 @@
 	}
 
 	/* Sanity check that a device has an endpoint */
-	if (usbinterface->altsetting[0].desc.bNumEndpoints < 1) {
+	if (usbinterface->cur_altsetting->desc.bNumEndpoints < 1) {
 		dev_err(&usbinterface->dev,
 			"Invalid number of endpoints\n");
 		error = -EINVAL;
 		goto err_free_urb;
 	}
 
-	/*
-	 * The endpoint is always altsetting 0, we know this since we know
-	 * this device only has one interrupt endpoint
-	 */
-	endpoint = &usbinterface->altsetting[0].endpoint[0].desc;
+	endpoint = &usbinterface->cur_altsetting->endpoint[0].desc;
 
 	/* Some debug */
 	dev_dbg(&usbinterface->dev, "gtco # interfaces: %d\n", usbinterface->num_altsetting);
@@ -973,7 +969,7 @@
 	input_dev->dev.parent = &usbinterface->dev;
 
 	/* Setup the URB, it will be posted later on open of input device */
-	endpoint = &usbinterface->altsetting[0].endpoint[0].desc;
+	endpoint = &usbinterface->cur_altsetting->endpoint[0].desc;
 
 	usb_fill_int_urb(gtco->urbinfo,
 			 udev,
diff --git a/drivers/input/tablet/pegasus_notetaker.c b/drivers/input/tablet/pegasus_notetaker.c
index ffd03cf..570cdae 100644
--- a/drivers/input/tablet/pegasus_notetaker.c
+++ b/drivers/input/tablet/pegasus_notetaker.c
@@ -274,7 +274,7 @@
 		return -ENODEV;
 
 	/* Sanity check that the device has an endpoint */
-	if (intf->altsetting[0].desc.bNumEndpoints < 1) {
+	if (intf->cur_altsetting->desc.bNumEndpoints < 1) {
 		dev_err(&intf->dev, "Invalid number of endpoints\n");
 		return -EINVAL;
 	}
diff --git a/drivers/input/touchscreen/edt-ft5x06.c b/drivers/input/touchscreen/edt-ft5x06.c
index 1e18ca0..3fdaa64 100644
--- a/drivers/input/touchscreen/edt-ft5x06.c
+++ b/drivers/input/touchscreen/edt-ft5x06.c
@@ -968,6 +968,7 @@
 {
 	const struct edt_i2c_chip_data *chip_data;
 	struct edt_ft5x06_ts_data *tsdata;
+	u8 buf[2] = { 0xfc, 0x00 };
 	struct input_dev *input;
 	unsigned long irq_flags;
 	int error;
@@ -1037,6 +1038,12 @@
 		return error;
 	}
 
+	/*
+	 * Dummy read access. EP0700MLP1 returns bogus data on the first
+	 * register read access and ignores writes.
+	 */
+	edt_ft5x06_ts_readwrite(tsdata->client, 2, buf, 2, buf);
+
 	edt_ft5x06_ts_set_regs(tsdata);
 	edt_ft5x06_ts_get_defaults(&client->dev, tsdata);
 	edt_ft5x06_ts_get_parameters(tsdata);
diff --git a/drivers/input/touchscreen/st/fts.c b/drivers/input/touchscreen/st/fts.c
index ea87d1f..e1dd788 100644
--- a/drivers/input/touchscreen/st/fts.c
+++ b/drivers/input/touchscreen/st/fts.c
@@ -1596,7 +1596,7 @@
 	if (mask[0] == 0) {
 		res = ERROR_OP_NOT_ALLOW;
 		logError(1, "%s %s:Call before echo enable/disable xx xx >",
-			tag), __func__;
+			tag, __func__);
 		logError(1, "%s %s: gesture_mask with a correct number of ",
 			tag, __func__);
 		logError(1, "parameters! ERROR %08X\n", res);
@@ -3263,7 +3263,7 @@
 	 * read all the FIFO and parsing events
 	 */
 
-	__pm_wakeup_event(&info->wakeup_source, HZ);
+	__pm_wakeup_event(info->wakeup_source, HZ);
 	regAdd = FIFO_CMD_READONE;
 
 	for (count = 0; count < FIFO_DEPTH; count++) {
@@ -4115,7 +4115,7 @@
 
 	info = container_of(work, struct fts_ts_info, resume_work);
 
-	__pm_wakeup_event(&info->wakeup_source, HZ);
+	__pm_wakeup_event(info->wakeup_source, HZ);
 
 	fts_chip_power_switch(info, true);
 
@@ -4145,7 +4145,7 @@
 
 	info = container_of(work, struct fts_ts_info, suspend_work);
 
-	__pm_wakeup_event(&info->wakeup_source, HZ);
+	__pm_wakeup_event(info->wakeup_source, HZ);
 
 	info->resume_bit = 0;
 
@@ -4238,7 +4238,7 @@
 
 			if (info->aoi_wake_on_suspend) {
 				info->sensor_sleep = true;
-				__pm_stay_awake(&info->wakeup_source);
+				__pm_stay_awake(info->wakeup_source);
 			} else {
 				queue_work(info->event_wq, &info->suspend_work);
 			}
@@ -4246,7 +4246,7 @@
 
 		case DRM_PANEL_BLANK_UNBLANK:
 			if (info->aoi_wake_on_suspend)
-				__pm_relax(&info->wakeup_source);
+				__pm_relax(info->wakeup_source);
 
 			if (!info->sensor_sleep)
 				break;
@@ -4710,7 +4710,8 @@
 	INIT_DELAYED_WORK(&info->fwu_work, fts_fw_update_auto);
 
 	logError(0, "%s SET Event Handler:\n", tag);
-	wakeup_source_init(&info->wakeup_source, "fts_tp");
+	info->wakeup_source = wakeup_source_register(&client->dev,
+						     dev_name(&client->dev));
 	info->event_wq = alloc_workqueue("fts-event-queue",
 				WQ_UNBOUND|WQ_HIGHPRI|WQ_CPU_INTENSIVE, 1);
 	if (!info->event_wq) {
@@ -4963,7 +4964,7 @@
 
 ProbeErrorExit_4:
 	destroy_workqueue(info->fwu_workqueue);
-	wakeup_source_trash(&info->wakeup_source);
+	wakeup_source_unregister(info->wakeup_source);
 
 ProbeErrorExit_3:
 	if (info->ts_pinctrl) {
@@ -5056,7 +5057,7 @@
 	/* Remove the work thread */
 	destroy_workqueue(info->event_wq);
 	/* wake_lock_destroy(&info->wakelock); */
-	wakeup_source_trash(&info->wakeup_source);
+	wakeup_source_unregister(info->wakeup_source);
 	destroy_workqueue(info->fwu_workqueue);
 
 	if (info->ts_pinctrl) {
diff --git a/drivers/input/touchscreen/st/fts.h b/drivers/input/touchscreen/st/fts.h
index 317007b..b5ab382 100644
--- a/drivers/input/touchscreen/st/fts.h
+++ b/drivers/input/touchscreen/st/fts.h
@@ -295,7 +295,7 @@
 
 	struct notifier_block notifier;
 	bool sensor_sleep;
-	struct wakeup_source wakeup_source;
+	struct wakeup_source *wakeup_source;
 
 	/* input lock */
 	struct mutex input_report_mutex;
diff --git a/drivers/input/touchscreen/st/fts_lib/ftsTime.c b/drivers/input/touchscreen/st/fts_lib/ftsTime.c
index c908a19..07d1bf5 100644
--- a/drivers/input/touchscreen/st/fts_lib/ftsTime.c
+++ b/drivers/input/touchscreen/st/fts_lib/ftsTime.c
@@ -57,6 +57,7 @@
 #include <linux/firmware.h>
 #include <linux/regulator/consumer.h>
 #include <linux/of_gpio.h>
+#include <linux/timekeeping.h>
 //#include <linux/sec_sysfs.h>
 
 #include "ftsCrossCompile.h"
@@ -65,12 +66,12 @@
 
 void startStopWatch(struct StopWatch *w)
 {
-	w->start = current_kernel_time();
+	ktime_get_ts(&w->start);
 }
 
 void stopStopWatch(struct StopWatch *w)
 {
-	w->end = current_kernel_time();
+	ktime_get_ts(&w->end);
 }
 
 int elapsedMillisecond(struct StopWatch *w)
diff --git a/drivers/input/touchscreen/sun4i-ts.c b/drivers/input/touchscreen/sun4i-ts.c
index d2e14d9..ab44eb0 100644
--- a/drivers/input/touchscreen/sun4i-ts.c
+++ b/drivers/input/touchscreen/sun4i-ts.c
@@ -246,6 +246,7 @@
 	struct device *dev = &pdev->dev;
 	struct device_node *np = dev->of_node;
 	struct device *hwmon;
+	struct thermal_zone_device *thermal;
 	int error;
 	u32 reg;
 	bool ts_attached;
@@ -365,7 +366,10 @@
 	if (IS_ERR(hwmon))
 		return PTR_ERR(hwmon);
 
-	devm_thermal_zone_of_sensor_register(ts->dev, 0, ts, &sun4i_ts_tz_ops);
+	thermal = devm_thermal_zone_of_sensor_register(ts->dev, 0, ts,
+						       &sun4i_ts_tz_ops);
+	if (IS_ERR(thermal))
+		return PTR_ERR(thermal);
 
 	writel(TEMP_IRQ_EN(1), ts->base + TP_INT_FIFOC);
 
diff --git a/drivers/input/touchscreen/sur40.c b/drivers/input/touchscreen/sur40.c
index 894843a..caa3aca 100644
--- a/drivers/input/touchscreen/sur40.c
+++ b/drivers/input/touchscreen/sur40.c
@@ -657,7 +657,7 @@
 	int error;
 
 	/* Check if we really have the right interface. */
-	iface_desc = &interface->altsetting[0];
+	iface_desc = interface->cur_altsetting;
 	if (iface_desc->desc.bInterfaceClass != 0xFF)
 		return -ENODEV;
 
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
index 9991386..0783f44 100644
--- a/drivers/iommu/amd_iommu.c
+++ b/drivers/iommu/amd_iommu.c
@@ -2153,6 +2153,8 @@
 	 */
 	domain_flush_tlb_pde(domain);
 
+	domain_flush_complete(domain);
+
 	return ret;
 }
 
@@ -3707,7 +3709,20 @@
 	iommu_flush_dte(iommu, devid);
 }
 
-static struct irq_remap_table *alloc_irq_table(u16 devid)
+static int set_remap_table_entry_alias(struct pci_dev *pdev, u16 alias,
+				       void *data)
+{
+	struct irq_remap_table *table = data;
+
+	irq_lookup_table[alias] = table;
+	set_dte_irq_entry(alias, table);
+
+	iommu_flush_dte(amd_iommu_rlookup_table[alias], alias);
+
+	return 0;
+}
+
+static struct irq_remap_table *alloc_irq_table(u16 devid, struct pci_dev *pdev)
 {
 	struct irq_remap_table *table = NULL;
 	struct irq_remap_table *new_table = NULL;
@@ -3753,7 +3768,12 @@
 	table = new_table;
 	new_table = NULL;
 
-	set_remap_table_entry(iommu, devid, table);
+	if (pdev)
+		pci_for_each_dma_alias(pdev, set_remap_table_entry_alias,
+				       table);
+	else
+		set_remap_table_entry(iommu, devid, table);
+
 	if (devid != alias)
 		set_remap_table_entry(iommu, alias, table);
 
@@ -3770,7 +3790,8 @@
 	return table;
 }
 
-static int alloc_irq_index(u16 devid, int count, bool align)
+static int alloc_irq_index(u16 devid, int count, bool align,
+			   struct pci_dev *pdev)
 {
 	struct irq_remap_table *table;
 	int index, c, alignment = 1;
@@ -3780,7 +3801,7 @@
 	if (!iommu)
 		return -ENODEV;
 
-	table = alloc_irq_table(devid);
+	table = alloc_irq_table(devid, pdev);
 	if (!table)
 		return -ENODEV;
 
@@ -4213,7 +4234,7 @@
 		struct irq_remap_table *table;
 		struct amd_iommu *iommu;
 
-		table = alloc_irq_table(devid);
+		table = alloc_irq_table(devid, NULL);
 		if (table) {
 			if (!table->min_index) {
 				/*
@@ -4230,11 +4251,15 @@
 		} else {
 			index = -ENOMEM;
 		}
-	} else {
+	} else if (info->type == X86_IRQ_ALLOC_TYPE_MSI ||
+		   info->type == X86_IRQ_ALLOC_TYPE_MSIX) {
 		bool align = (info->type == X86_IRQ_ALLOC_TYPE_MSI);
 
-		index = alloc_irq_index(devid, nr_irqs, align);
+		index = alloc_irq_index(devid, nr_irqs, align, info->msi_dev);
+	} else {
+		index = alloc_irq_index(devid, nr_irqs, false, NULL);
 	}
+
 	if (index < 0) {
 		pr_warn("Failed to allocate IRTE\n");
 		ret = index;
diff --git a/drivers/iommu/amd_iommu_init.c b/drivers/iommu/amd_iommu_init.c
index 1e9a5da..465f28a 100644
--- a/drivers/iommu/amd_iommu_init.c
+++ b/drivers/iommu/amd_iommu_init.c
@@ -422,6 +422,9 @@
 
 static void iommu_disable(struct amd_iommu *iommu)
 {
+	if (!iommu->mmio_base)
+		return;
+
 	/* Disable command buffer */
 	iommu_feature_disable(iommu, CONTROL_CMDBUF_EN);
 
diff --git a/drivers/iommu/arm-smmu-v3.c b/drivers/iommu/arm-smmu-v3.c
index 14946a4..c866053 100644
--- a/drivers/iommu/arm-smmu-v3.c
+++ b/drivers/iommu/arm-smmu-v3.c
@@ -809,6 +809,7 @@
 		cmd[1] |= FIELD_PREP(CMDQ_CFGI_1_RANGE, 31);
 		break;
 	case CMDQ_OP_TLBI_NH_VA:
+		cmd[0] |= FIELD_PREP(CMDQ_TLBI_0_VMID, ent->tlbi.vmid);
 		cmd[0] |= FIELD_PREP(CMDQ_TLBI_0_ASID, ent->tlbi.asid);
 		cmd[1] |= FIELD_PREP(CMDQ_TLBI_1_LEAF, ent->tlbi.leaf);
 		cmd[1] |= ent->tlbi.addr & CMDQ_TLBI_1_VA_MASK;
@@ -1183,7 +1184,8 @@
 	}
 
 	arm_smmu_sync_ste_for_sid(smmu, sid);
-	dst[0] = cpu_to_le64(val);
+	/* See comment in arm_smmu_write_ctx_desc() */
+	WRITE_ONCE(dst[0], cpu_to_le64(val));
 	arm_smmu_sync_ste_for_sid(smmu, sid);
 
 	/* It's likely that we'll want to use the new STE soon */
diff --git a/drivers/iommu/dmar.c b/drivers/iommu/dmar.c
index 7f9824b..72994d6 100644
--- a/drivers/iommu/dmar.c
+++ b/drivers/iommu/dmar.c
@@ -1345,7 +1345,6 @@
 	struct qi_desc desc;
 
 	if (mask) {
-		WARN_ON_ONCE(addr & ((1ULL << (VTD_PAGE_SHIFT + mask)) - 1));
 		addr |= (1ULL << (VTD_PAGE_SHIFT + mask - 1)) - 1;
 		desc.high = QI_DEV_IOTLB_ADDR(addr) | QI_DEV_IOTLB_SIZE;
 	} else
diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index b9af241..9df3b84 100644
--- a/drivers/iommu/intel-iommu.c
+++ b/drivers/iommu/intel-iommu.c
@@ -387,7 +387,6 @@
 	u64	end_address;		/* reserved end address */
 	struct dmar_dev_scope *devices;	/* target devices */
 	int	devices_cnt;		/* target device count */
-	struct iommu_resv_region *resv; /* reserved region handle */
 };
 
 struct dmar_atsr_unit {
@@ -3387,9 +3386,12 @@
 		iommu_identity_mapping |= IDENTMAP_ALL;
 
 #ifdef CONFIG_INTEL_IOMMU_BROKEN_GFX_WA
-	iommu_identity_mapping |= IDENTMAP_GFX;
+	dmar_map_gfx = 0;
 #endif
 
+	if (!dmar_map_gfx)
+		iommu_identity_mapping |= IDENTMAP_GFX;
+
 	check_tylersburg_isoch();
 
 	if (iommu_identity_mapping) {
@@ -4182,7 +4184,6 @@
 int __init dmar_parse_one_rmrr(struct acpi_dmar_header *header, void *arg)
 {
 	struct acpi_dmar_reserved_memory *rmrr;
-	int prot = DMA_PTE_READ|DMA_PTE_WRITE;
 	struct dmar_rmrr_unit *rmrru;
 	size_t length;
 
@@ -4196,22 +4197,16 @@
 	rmrru->end_address = rmrr->end_address;
 
 	length = rmrr->end_address - rmrr->base_address + 1;
-	rmrru->resv = iommu_alloc_resv_region(rmrr->base_address, length, prot,
-					      IOMMU_RESV_DIRECT);
-	if (!rmrru->resv)
-		goto free_rmrru;
 
 	rmrru->devices = dmar_alloc_dev_scope((void *)(rmrr + 1),
 				((void *)rmrr) + rmrr->header.length,
 				&rmrru->devices_cnt);
 	if (rmrru->devices_cnt && rmrru->devices == NULL)
-		goto free_all;
+		goto free_rmrru;
 
 	list_add(&rmrru->list, &dmar_rmrr_units);
 
 	return 0;
-free_all:
-	kfree(rmrru->resv);
 free_rmrru:
 	kfree(rmrru);
 out:
@@ -4429,7 +4424,6 @@
 	list_for_each_entry_safe(rmrru, rmrr_n, &dmar_rmrr_units, list) {
 		list_del(&rmrru->list);
 		dmar_free_dev_scope(&rmrru->devices, &rmrru->devices_cnt);
-		kfree(rmrru->resv);
 		kfree(rmrru);
 	}
 
@@ -5203,22 +5197,33 @@
 static void intel_iommu_get_resv_regions(struct device *device,
 					 struct list_head *head)
 {
+	int prot = DMA_PTE_READ | DMA_PTE_WRITE;
 	struct iommu_resv_region *reg;
 	struct dmar_rmrr_unit *rmrr;
 	struct device *i_dev;
 	int i;
 
-	rcu_read_lock();
+	down_read(&dmar_global_lock);
 	for_each_rmrr_units(rmrr) {
 		for_each_active_dev_scope(rmrr->devices, rmrr->devices_cnt,
 					  i, i_dev) {
+			struct iommu_resv_region *resv;
+			size_t length;
+
 			if (i_dev != device)
 				continue;
 
-			list_add_tail(&rmrr->resv->list, head);
+			length = rmrr->end_address - rmrr->base_address + 1;
+			resv = iommu_alloc_resv_region(rmrr->base_address,
+						       length, prot,
+						       IOMMU_RESV_DIRECT);
+			if (!resv)
+				break;
+
+			list_add_tail(&resv->list, head);
 		}
 	}
-	rcu_read_unlock();
+	up_read(&dmar_global_lock);
 
 	reg = iommu_alloc_resv_region(IOAPIC_RANGE_START,
 				      IOAPIC_RANGE_END - IOAPIC_RANGE_START + 1,
@@ -5233,10 +5238,8 @@
 {
 	struct iommu_resv_region *entry, *next;
 
-	list_for_each_entry_safe(entry, next, head, list) {
-		if (entry->type == IOMMU_RESV_MSI)
-			kfree(entry);
-	}
+	list_for_each_entry_safe(entry, next, head, list)
+		kfree(entry);
 }
 
 #ifdef CONFIG_INTEL_IOMMU_SVM
diff --git a/drivers/iommu/intel-svm.c b/drivers/iommu/intel-svm.c
index 188f4ea..5944d3b 100644
--- a/drivers/iommu/intel-svm.c
+++ b/drivers/iommu/intel-svm.c
@@ -293,7 +293,7 @@
 	int pasid_max;
 	int ret;
 
-	if (!iommu)
+	if (!iommu || dmar_disabled)
 		return -EINVAL;
 
 	if (dev_is_pci(dev)) {
@@ -377,7 +377,7 @@
 		/* Do not use PASID 0 in caching mode (virtualised IOMMU) */
 		ret = intel_pasid_alloc_id(svm,
 					   !!cap_caching_mode(iommu->cap),
-					   pasid_max - 1, GFP_KERNEL);
+					   pasid_max, GFP_KERNEL);
 		if (ret < 0) {
 			kfree(svm);
 			kfree(sdev);
diff --git a/drivers/iommu/iommu-debugfs.c b/drivers/iommu/iommu-debugfs.c
index ced14f8..41ced5a 100644
--- a/drivers/iommu/iommu-debugfs.c
+++ b/drivers/iommu/iommu-debugfs.c
@@ -12,6 +12,7 @@
 #include <linux/debugfs.h>
 
 struct dentry *iommu_debugfs_dir;
+EXPORT_SYMBOL_GPL(iommu_debugfs_dir);
 
 /**
  * iommu_debugfs_setup - create the top-level iommu directory in debugfs
@@ -23,9 +24,9 @@
  * Emit a strong warning at boot time to indicate that this feature is
  * enabled.
  *
- * This function is called from iommu_init; drivers may then call
- * iommu_debugfs_new_driver_dir() to instantiate a vendor-specific
- * directory to be used to expose internal data.
+ * This function is called from iommu_init; drivers may then use
+ * iommu_debugfs_dir to instantiate a vendor-specific directory to be used
+ * to expose internal data.
  */
 void iommu_debugfs_setup(void)
 {
@@ -49,19 +50,3 @@
 		pr_warn("*************************************************************\n");
 	}
 }
-
-/**
- * iommu_debugfs_new_driver_dir - create a vendor directory under debugfs/iommu
- * @vendor: name of the vendor-specific subdirectory to create
- *
- * This function is called by an IOMMU driver to create the top-level debugfs
- * directory for that driver.
- *
- * Return: upon success, a pointer to the dentry for the new directory.
- *         NULL in case of failure.
- */
-struct dentry *iommu_debugfs_new_driver_dir(const char *vendor)
-{
-	return debugfs_create_dir(vendor, iommu_debugfs_dir);
-}
-EXPORT_SYMBOL_GPL(iommu_debugfs_new_driver_dir);
diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c
index 4b46809..a04ccab 100644
--- a/drivers/iommu/iommu.c
+++ b/drivers/iommu/iommu.c
@@ -341,7 +341,7 @@
 			type = "unmanaged\n";
 			break;
 		case IOMMU_DOMAIN_DMA:
-			type = "DMA";
+			type = "DMA\n";
 			break;
 		}
 	}
@@ -675,6 +675,7 @@
 	mutex_unlock(&group->mutex);
 	dev->iommu_group = NULL;
 	kobject_put(group->devices_kobj);
+	sysfs_remove_link(group->devices_kobj, device->name);
 err_free_name:
 	kfree(device->name);
 err_remove_link:
@@ -1978,9 +1979,9 @@
 	int ret;
 
 	/* Device must already be in a group before calling this function */
-	group = iommu_group_get_for_dev(dev);
-	if (IS_ERR(group))
-		return PTR_ERR(group);
+	group = iommu_group_get(dev);
+	if (!group)
+		return -EINVAL;
 
 	mutex_lock(&group->mutex);
 
diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c
index f9f69f7..8e75f34a 100644
--- a/drivers/iommu/mtk_iommu.c
+++ b/drivers/iommu/mtk_iommu.c
@@ -115,6 +115,30 @@
 
 static struct iommu_ops mtk_iommu_ops;
 
+/*
+ * In M4U 4GB mode, the physical address is remapped as below:
+ *
+ * CPU Physical address:
+ * ====================
+ *
+ * 0      1G       2G     3G       4G     5G
+ * |---A---|---B---|---C---|---D---|---E---|
+ * +--I/O--+------------Memory-------------+
+ *
+ * IOMMU output physical address:
+ *  =============================
+ *
+ *                                 4G      5G     6G      7G      8G
+ *                                 |---E---|---B---|---C---|---D---|
+ *                                 +------------Memory-------------+
+ *
+ * The Region 'A'(I/O) can NOT be mapped by M4U; For Region 'B'/'C'/'D', the
+ * bit32 of the CPU physical address always is needed to set, and for Region
+ * 'E', the CPU physical address keep as is.
+ * Additionally, The iommu consumers always use the CPU phyiscal address.
+ */
+#define MTK_IOMMU_4GB_MODE_REMAP_BASE	 0x40000000
+
 static LIST_HEAD(m4ulist);	/* List all the M4U HWs */
 
 #define for_each_m4u(data)	list_for_each_entry(data, &m4ulist, list)
@@ -394,7 +418,7 @@
 
 static void mtk_iommu_iotlb_sync(struct iommu_domain *domain)
 {
-	mtk_iommu_tlb_sync(mtk_iommu_get_m4u_data());
+	mtk_iommu_tlb_flush_all(mtk_iommu_get_m4u_data());
 }
 
 static phys_addr_t mtk_iommu_iova_to_phys(struct iommu_domain *domain,
@@ -409,7 +433,7 @@
 	pa = dom->iop->iova_to_phys(dom->iop, iova);
 	spin_unlock_irqrestore(&dom->pgtlock, flags);
 
-	if (data->enable_4GB)
+	if (data->enable_4GB && pa < MTK_IOMMU_4GB_MODE_REMAP_BASE)
 		pa |= BIT_ULL(32);
 
 	return pa;
diff --git a/drivers/iommu/qcom_iommu.c b/drivers/iommu/qcom_iommu.c
index 296dbce..9f947ea 100644
--- a/drivers/iommu/qcom_iommu.c
+++ b/drivers/iommu/qcom_iommu.c
@@ -333,21 +333,19 @@
 {
 	struct qcom_iommu_domain *qcom_domain = to_qcom_iommu_domain(domain);
 
-	if (WARN_ON(qcom_domain->iommu))    /* forgot to detach? */
-		return;
-
 	iommu_put_dma_cookie(domain);
 
-	/* NOTE: unmap can be called after client device is powered off,
-	 * for example, with GPUs or anything involving dma-buf.  So we
-	 * cannot rely on the device_link.  Make sure the IOMMU is on to
-	 * avoid unclocked accesses in the TLB inv path:
-	 */
-	pm_runtime_get_sync(qcom_domain->iommu->dev);
-
-	free_io_pgtable_ops(qcom_domain->pgtbl_ops);
-
-	pm_runtime_put_sync(qcom_domain->iommu->dev);
+	if (qcom_domain->iommu) {
+		/*
+		 * NOTE: unmap can be called after client device is powered
+		 * off, for example, with GPUs or anything involving dma-buf.
+		 * So we cannot rely on the device_link.  Make sure the IOMMU
+		 * is on to avoid unclocked accesses in the TLB inv path:
+		 */
+		pm_runtime_get_sync(qcom_domain->iommu->dev);
+		free_io_pgtable_ops(qcom_domain->pgtbl_ops);
+		pm_runtime_put_sync(qcom_domain->iommu->dev);
+	}
 
 	kfree(qcom_domain);
 }
@@ -392,7 +390,7 @@
 	struct qcom_iommu_domain *qcom_domain = to_qcom_iommu_domain(domain);
 	unsigned i;
 
-	if (!qcom_domain->iommu)
+	if (WARN_ON(!qcom_domain->iommu))
 		return;
 
 	pm_runtime_get_sync(qcom_iommu->dev);
@@ -405,8 +403,6 @@
 		ctx->domain = NULL;
 	}
 	pm_runtime_put_sync(qcom_iommu->dev);
-
-	qcom_domain->iommu = NULL;
 }
 
 static int qcom_iommu_map(struct iommu_domain *domain, unsigned long iova,
diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig
index 3fb07b1..6d73f6d 100644
--- a/drivers/irqchip/Kconfig
+++ b/drivers/irqchip/Kconfig
@@ -402,8 +402,6 @@
 	  Say yes here to enable the MSM Power Manager interrupt
 	  controller to use as a wakeup interrupt controller.
 
-endmenu
-
 config SIFIVE_PLIC
 	bool "SiFive Platform-Level Interrupt Controller"
 	depends on RISCV
@@ -415,3 +413,5 @@
 	   interrupt sources are subordinate to the PLIC.
 
 	   If you don't know what to do here, say Y.
+
+endmenu
diff --git a/drivers/irqchip/Makefile b/drivers/irqchip/Makefile
index e3a9948..3a01526 100644
--- a/drivers/irqchip/Makefile
+++ b/drivers/irqchip/Makefile
@@ -88,5 +88,5 @@
 obj-$(CONFIG_GOLDFISH_PIC) 		+= irq-goldfish-pic.o
 obj-$(CONFIG_NDS32)			+= irq-ativic32.o
 obj-$(CONFIG_QCOM_PDC)			+= qcom-pdc.o
-obj-$(CONFIG_QCOM_MPM)			+= qcom-mpm.o qcom-mpm-bengal.o qcom-mpm-scuba.o
+obj-$(CONFIG_QCOM_MPM)			+= qcom-mpm.o qcom-mpm-bengal.o qcom-mpm-scuba.o qcom-mpm-sdm660.o
 obj-$(CONFIG_SIFIVE_PLIC)		+= irq-sifive-plic.o
diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c
index 050d6e0..f9b7333 100644
--- a/drivers/irqchip/irq-gic-v3-its.c
+++ b/drivers/irqchip/irq-gic-v3-its.c
@@ -208,7 +208,7 @@
 
 static struct its_collection *valid_col(struct its_collection *col)
 {
-	if (WARN_ON_ONCE(col->target_address & GENMASK_ULL(0, 15)))
+	if (WARN_ON_ONCE(col->target_address & GENMASK_ULL(15, 0)))
 		return NULL;
 
 	return col;
@@ -578,7 +578,7 @@
 						   struct its_cmd_desc *desc)
 {
 	its_encode_cmd(cmd, GITS_CMD_INVALL);
-	its_encode_collection(cmd, desc->its_mapc_cmd.col->col_id);
+	its_encode_collection(cmd, desc->its_invall_cmd.col->col_id);
 
 	its_fixup_cmd(cmd);
 
diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c
index 1bbf9a0..3d0ae38 100644
--- a/drivers/irqchip/irq-gic-v3.c
+++ b/drivers/irqchip/irq-gic-v3.c
@@ -1417,6 +1417,7 @@
 	struct redist_region *redist_regs;
 	u32 nr_redist_regions;
 	bool single_redist;
+	int enabled_rdists;
 	u32 maint_irq;
 	int maint_irq_mode;
 	phys_addr_t vcpu_base;
@@ -1511,8 +1512,10 @@
 	 * If GICC is enabled and has valid gicr base address, then it means
 	 * GICR base is presented via GICC
 	 */
-	if ((gicc->flags & ACPI_MADT_ENABLED) && gicc->gicr_base_address)
+	if ((gicc->flags & ACPI_MADT_ENABLED) && gicc->gicr_base_address) {
+		acpi_data.enabled_rdists++;
 		return 0;
+	}
 
 	/*
 	 * It's perfectly valid firmware can pass disabled GICC entry, driver
@@ -1542,8 +1545,10 @@
 
 	count = acpi_table_parse_madt(ACPI_MADT_TYPE_GENERIC_INTERRUPT,
 				      gic_acpi_match_gicc, 0);
-	if (count > 0)
+	if (count > 0) {
 		acpi_data.single_redist = true;
+		count = acpi_data.enabled_rdists;
+	}
 
 	return count;
 }
diff --git a/drivers/irqchip/irq-mbigen.c b/drivers/irqchip/irq-mbigen.c
index 98b6e1d..f7fdbf5 100644
--- a/drivers/irqchip/irq-mbigen.c
+++ b/drivers/irqchip/irq-mbigen.c
@@ -381,6 +381,7 @@
 		.name		= "Hisilicon MBIGEN-V2",
 		.of_match_table	= mbigen_of_match,
 		.acpi_match_table = ACPI_PTR(mbigen_acpi_match),
+		.suppress_bind_attrs = true,
 	},
 	.probe			= mbigen_device_probe,
 };
diff --git a/drivers/irqchip/qcom-mpm-sdm660.c b/drivers/irqchip/qcom-mpm-sdm660.c
new file mode 100644
index 0000000..2e482e0
--- /dev/null
+++ b/drivers/irqchip/qcom-mpm-sdm660.c
@@ -0,0 +1,19 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Copyright (c) 2020, The Linux Foundation. All rights reserved.
+ */
+
+#include <soc/qcom/mpm.h>
+
+const struct mpm_pin mpm_sdm660_gic_chip_data[] = {
+	{2, 216}, /* tsens1_tsens_upper_lower_int */
+	{52, 275}, /* qmp_usb3_lfps_rxterm_irq_cx */
+	{61, 209}, /* lpi_dir_conn_irq_apps[1] */
+	{79, 379}, /* qusb2phy_intr for Dm */
+	{80, 380}, /* qusb2phy_intr for Dm for secondary PHY */
+	{81, 379}, /* qusb2phy_intr for Dp */
+	{82, 380}, /* qusb2phy_intr for Dp for secondary PHY */
+	{87, 358}, /* ee0_apps_hlos_spmi_periph_irq */
+	{91, 519}, /* lpass_pmu_tmr_timeout_irq_cx */
+	{-1},
+};
diff --git a/drivers/irqchip/qcom-mpm.c b/drivers/irqchip/qcom-mpm.c
index f7f4864..ab8a3b3 100644
--- a/drivers/irqchip/qcom-mpm.c
+++ b/drivers/irqchip/qcom-mpm.c
@@ -592,6 +592,10 @@
 		.compatible = "qcom,mpm-gic-scuba",
 		.data = mpm_scuba_gic_chip_data,
 	},
+	{
+		.compatible = "qcom,mpm-gic-sdm660",
+		.data = mpm_sdm660_gic_chip_data,
+	},
 	{}
 };
 MODULE_DEVICE_TABLE(of, mpm_gic_chip_data_table);
diff --git a/drivers/leds/led-triggers.c b/drivers/leds/led-triggers.c
index 1391b90..b41c534 100644
--- a/drivers/leds/led-triggers.c
+++ b/drivers/leds/led-triggers.c
@@ -172,11 +172,11 @@
 		trig->deactivate(led_cdev);
 err_activate:
 
-	led_cdev->trigger = NULL;
-	led_cdev->trigger_data = NULL;
 	write_lock_irqsave(&led_cdev->trigger->leddev_list_lock, flags);
 	list_del(&led_cdev->trig_list);
 	write_unlock_irqrestore(&led_cdev->trigger->leddev_list_lock, flags);
+	led_cdev->trigger = NULL;
+	led_cdev->trigger_data = NULL;
 	led_set_brightness(led_cdev, LED_OFF);
 	kfree(event);
 
diff --git a/drivers/leds/leds-pca963x.c b/drivers/leds/leds-pca963x.c
index 5c09081..bbcde13b 100644
--- a/drivers/leds/leds-pca963x.c
+++ b/drivers/leds/leds-pca963x.c
@@ -43,6 +43,8 @@
 #define PCA963X_LED_PWM		0x2	/* Controlled through PWM */
 #define PCA963X_LED_GRP_PWM	0x3	/* Controlled through PWM/GRPPWM */
 
+#define PCA963X_MODE2_OUTDRV	0x04	/* Open-drain or totem pole */
+#define PCA963X_MODE2_INVRT	0x10	/* Normal or inverted direction */
 #define PCA963X_MODE2_DMBLNK	0x20	/* Enable blinking */
 
 #define PCA963X_MODE1		0x00
@@ -462,12 +464,12 @@
 						    PCA963X_MODE2);
 		/* Configure output: open-drain or totem pole (push-pull) */
 		if (pdata->outdrv == PCA963X_OPEN_DRAIN)
-			mode2 |= 0x01;
+			mode2 &= ~PCA963X_MODE2_OUTDRV;
 		else
-			mode2 |= 0x05;
+			mode2 |= PCA963X_MODE2_OUTDRV;
 		/* Configure direction: normal or inverted */
 		if (pdata->dir == PCA963X_INVERTED)
-			mode2 |= 0x10;
+			mode2 |= PCA963X_MODE2_INVRT;
 		i2c_smbus_write_byte_data(pca963x->chip->client, PCA963X_MODE2,
 					  mode2);
 	}
diff --git a/drivers/leds/leds-qti-flash.c b/drivers/leds/leds-qti-flash.c
index 0e02e78..4457cf6 100644
--- a/drivers/leds/leds-qti-flash.c
+++ b/drivers/leds/leds-qti-flash.c
@@ -277,7 +277,7 @@
 
 	for (i = 0; i < 60; i++) {
 		/* wait for the flash vreg_ok to be set */
-		usleep_range(5000, 5500);
+		mdelay(5);
 
 		rc = power_supply_get_property(led->main_psy,
 					POWER_SUPPLY_PROP_FLASH_TRIGGER, &pval);
@@ -859,6 +859,51 @@
 	return scnprintf(buf, PAGE_SIZE, "%d\n", snode->led->max_current);
 }
 
+static int qti_flash_led_regulator_control(struct led_classdev *led_cdev,
+					int options)
+{
+	struct flash_switch_data *snode;
+	union power_supply_propval ret = {0, };
+	int rc = 0;
+
+	snode = container_of(led_cdev, struct flash_switch_data, cdev);
+
+	if (snode->led->data->pmic_type != PM2250)
+		return 0;
+
+	rc = is_main_psy_available(snode->led);
+	if (rc < 0)
+		return rc;
+
+	if (options & ENABLE_REGULATOR) {
+		ret.intval = 1;
+		rc = power_supply_set_property(snode->led->main_psy,
+				POWER_SUPPLY_PROP_FLASH_ACTIVE,
+				&ret);
+		if (rc < 0) {
+			pr_err("Failed to set FLASH_ACTIVE on charger rc=%d\n",
+							rc);
+			return rc;
+		}
+
+		pr_debug("FLASH_ACTIVE = 1\n");
+	} else if (options & DISABLE_REGULATOR) {
+		ret.intval = 0;
+		rc = power_supply_set_property(snode->led->main_psy,
+				POWER_SUPPLY_PROP_FLASH_ACTIVE,
+				&ret);
+		if (rc < 0) {
+			pr_err("Failed to set FLASH_ACTIVE on charger rc=%d\n",
+							rc);
+			return rc;
+		}
+
+		pr_debug("FLASH_ACTIVE = 0\n");
+	}
+
+	return 0;
+}
+
 int qti_flash_led_prepare(struct led_trigger *trig, int options,
 				int *max_current)
 {
@@ -901,18 +946,42 @@
 		return 0;
 	}
 
-	if (options & ENABLE_REGULATOR)
-		return 0;
+	rc = qti_flash_led_regulator_control(led_cdev, options);
+	if (rc < 0)
+		pr_err("Failed to set flash control options\n");
 
-	if (options & DISABLE_REGULATOR)
-		return 0;
-
-	return -EINVAL;
+	return rc;
 }
 EXPORT_SYMBOL(qti_flash_led_prepare);
 
+static ssize_t qti_flash_led_prepare_store(struct device *dev,
+		struct device_attribute *attr, const char *buf, size_t count)
+{
+	int rc, options;
+	u32 val;
+	struct led_classdev *led_cdev = dev_get_drvdata(dev);
+
+	rc = kstrtouint(buf, 0, &val);
+	if (rc < 0)
+		return rc;
+
+	if (val != 0 && val != 1)
+		return count;
+
+	options = val ? ENABLE_REGULATOR : DISABLE_REGULATOR;
+
+	rc = qti_flash_led_regulator_control(led_cdev, options);
+	if (rc < 0) {
+		pr_err("failed to query led regulator\n");
+		return rc;
+	}
+
+	return count;
+}
+
 static struct device_attribute qti_flash_led_attrs[] = {
 	__ATTR(max_current, 0664, qti_flash_led_max_current_show, NULL),
+	__ATTR(enable, 0664, NULL, qti_flash_led_prepare_store),
 };
 
 static int qti_flash_brightness_set_blocking(
diff --git a/drivers/lightnvm/pblk-rb.c b/drivers/lightnvm/pblk-rb.c
index f6eec02..d22c13b 100644
--- a/drivers/lightnvm/pblk-rb.c
+++ b/drivers/lightnvm/pblk-rb.c
@@ -784,8 +784,8 @@
 	}
 
 out:
-	spin_unlock(&rb->w_lock);
 	spin_unlock_irq(&rb->s_lock);
+	spin_unlock(&rb->w_lock);
 
 	return ret;
 }
diff --git a/drivers/macintosh/therm_windtunnel.c b/drivers/macintosh/therm_windtunnel.c
index 8c74457..a0d87ed 100644
--- a/drivers/macintosh/therm_windtunnel.c
+++ b/drivers/macintosh/therm_windtunnel.c
@@ -300,9 +300,11 @@
 /*	i2c probing and setup						*/
 /************************************************************************/
 
-static int
-do_attach( struct i2c_adapter *adapter )
+static void do_attach(struct i2c_adapter *adapter)
 {
+	struct i2c_board_info info = { };
+	struct device_node *np;
+
 	/* scan 0x48-0x4f (DS1775) and 0x2c-2x2f (ADM1030) */
 	static const unsigned short scan_ds1775[] = {
 		0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
@@ -313,25 +315,24 @@
 		I2C_CLIENT_END
 	};
 
-	if( strncmp(adapter->name, "uni-n", 5) )
-		return 0;
+	if (x.running || strncmp(adapter->name, "uni-n", 5))
+		return;
 
-	if( !x.running ) {
-		struct i2c_board_info info;
-
-		memset(&info, 0, sizeof(struct i2c_board_info));
-		strlcpy(info.type, "therm_ds1775", I2C_NAME_SIZE);
+	np = of_find_compatible_node(adapter->dev.of_node, NULL, "MAC,ds1775");
+	if (np) {
+		of_node_put(np);
+	} else {
+		strlcpy(info.type, "MAC,ds1775", I2C_NAME_SIZE);
 		i2c_new_probed_device(adapter, &info, scan_ds1775, NULL);
-
-		strlcpy(info.type, "therm_adm1030", I2C_NAME_SIZE);
-		i2c_new_probed_device(adapter, &info, scan_adm1030, NULL);
-
-		if( x.thermostat && x.fan ) {
-			x.running = 1;
-			x.poll_task = kthread_run(control_loop, NULL, "g4fand");
-		}
 	}
-	return 0;
+
+	np = of_find_compatible_node(adapter->dev.of_node, NULL, "MAC,adm1030");
+	if (np) {
+		of_node_put(np);
+	} else {
+		strlcpy(info.type, "MAC,adm1030", I2C_NAME_SIZE);
+		i2c_new_probed_device(adapter, &info, scan_adm1030, NULL);
+	}
 }
 
 static int
@@ -404,8 +405,8 @@
 enum chip { ds1775, adm1030 };
 
 static const struct i2c_device_id therm_windtunnel_id[] = {
-	{ "therm_ds1775", ds1775 },
-	{ "therm_adm1030", adm1030 },
+	{ "MAC,ds1775", ds1775 },
+	{ "MAC,adm1030", adm1030 },
 	{ }
 };
 MODULE_DEVICE_TABLE(i2c, therm_windtunnel_id);
@@ -414,6 +415,7 @@
 do_probe(struct i2c_client *cl, const struct i2c_device_id *id)
 {
 	struct i2c_adapter *adapter = cl->adapter;
+	int ret = 0;
 
 	if( !i2c_check_functionality(adapter, I2C_FUNC_SMBUS_WORD_DATA
 				     | I2C_FUNC_SMBUS_WRITE_BYTE) )
@@ -421,11 +423,19 @@
 
 	switch (id->driver_data) {
 	case adm1030:
-		return attach_fan( cl );
+		ret = attach_fan(cl);
+		break;
 	case ds1775:
-		return attach_thermostat(cl);
+		ret = attach_thermostat(cl);
+		break;
 	}
-	return 0;
+
+	if (!x.running && x.thermostat && x.fan) {
+		x.running = 1;
+		x.poll_task = kthread_run(control_loop, NULL, "g4fand");
+	}
+
+	return ret;
 }
 
 static struct i2c_driver g4fan_driver = {
diff --git a/drivers/mailbox/mtk-cmdq-mailbox.c b/drivers/mailbox/mtk-cmdq-mailbox.c
index aec46d5..f7cc29c 100644
--- a/drivers/mailbox/mtk-cmdq-mailbox.c
+++ b/drivers/mailbox/mtk-cmdq-mailbox.c
@@ -363,6 +363,9 @@
 	WARN_ON(cmdq->suspended);
 
 	task = kzalloc(sizeof(*task), GFP_ATOMIC);
+	if (!task)
+		return -ENOMEM;
+
 	task->cmdq = cmdq;
 	INIT_LIST_HEAD(&task->list_entry);
 	task->pa_base = pkt->pa_base;
diff --git a/drivers/mailbox/qcom-apcs-ipc-mailbox.c b/drivers/mailbox/qcom-apcs-ipc-mailbox.c
index ab4a6af..f3deddf 100644
--- a/drivers/mailbox/qcom-apcs-ipc-mailbox.c
+++ b/drivers/mailbox/qcom-apcs-ipc-mailbox.c
@@ -36,7 +36,7 @@
 	.reg_bits = 32,
 	.reg_stride = 4,
 	.val_bits = 32,
-	.max_register = 0x1000,
+	.max_register = 0xFFC,
 	.fast_io = true,
 };
 
diff --git a/drivers/mailbox/ti-msgmgr.c b/drivers/mailbox/ti-msgmgr.c
index 5bceafb..01e9e46 100644
--- a/drivers/mailbox/ti-msgmgr.c
+++ b/drivers/mailbox/ti-msgmgr.c
@@ -547,7 +547,7 @@
 	}
 
 	if (d->is_sproxy) {
-		if (req_pid > d->num_valid_queues)
+		if (req_pid >= d->num_valid_queues)
 			goto err;
 		qinst = &inst->qinsts[req_pid];
 		return qinst->chan;
diff --git a/drivers/md/Kconfig b/drivers/md/Kconfig
index 3b0bdde..72c3d66 100644
--- a/drivers/md/Kconfig
+++ b/drivers/md/Kconfig
@@ -298,6 +298,9 @@
 	tristate "Default-key target support"
 	depends on BLK_DEV_DM
 	depends on BLK_INLINE_ENCRYPTION
+	# dm-default-key doesn't require -o inlinecrypt, but it does currently
+	# rely on the inline encryption hooks being built into the kernel.
+	depends on FS_ENCRYPTION_INLINE_CRYPT
 	help
 	  This device-mapper target allows you to create a device that
 	  assigns a default encryption key to bios that aren't for the
diff --git a/drivers/md/bcache/bcache.h b/drivers/md/bcache/bcache.h
index 4677b18..2a2f189 100644
--- a/drivers/md/bcache/bcache.h
+++ b/drivers/md/bcache/bcache.h
@@ -329,6 +329,9 @@
 	 */
 	atomic_t		has_dirty;
 
+#define BCH_CACHE_READA_ALL		0
+#define BCH_CACHE_READA_META_ONLY	1
+	unsigned int		cache_readahead_policy;
 	struct bch_ratelimit	writeback_rate;
 	struct delayed_work	writeback_rate_update;
 
diff --git a/drivers/md/bcache/bset.h b/drivers/md/bcache/bset.h
index c71365e..a50dcfd 100644
--- a/drivers/md/bcache/bset.h
+++ b/drivers/md/bcache/bset.h
@@ -397,7 +397,8 @@
 
 /* Bkey utility code */
 
-#define bset_bkey_last(i)	bkey_idx((struct bkey *) (i)->d, (i)->keys)
+#define bset_bkey_last(i)	bkey_idx((struct bkey *) (i)->d, \
+					 (unsigned int)(i)->keys)
 
 static inline struct bkey *bset_bkey_idx(struct bset *i, unsigned int idx)
 {
diff --git a/drivers/md/bcache/debug.c b/drivers/md/bcache/debug.c
index 8c53d87..f6b60d5 100644
--- a/drivers/md/bcache/debug.c
+++ b/drivers/md/bcache/debug.c
@@ -178,10 +178,9 @@
 	while (size) {
 		struct keybuf_key *w;
 		unsigned int bytes = min(i->bytes, size);
-		int err = copy_to_user(buf, i->buf, bytes);
 
-		if (err)
-			return err;
+		if (copy_to_user(buf, i->buf, bytes))
+			return -EFAULT;
 
 		ret	 += bytes;
 		buf	 += bytes;
diff --git a/drivers/md/bcache/request.c b/drivers/md/bcache/request.c
index 4ca3e3d..c1e487d 100644
--- a/drivers/md/bcache/request.c
+++ b/drivers/md/bcache/request.c
@@ -391,13 +391,20 @@
 		goto skip;
 
 	/*
-	 * Flag for bypass if the IO is for read-ahead or background,
-	 * unless the read-ahead request is for metadata
+	 * If the bio is for read-ahead or background IO, bypass it or
+	 * not depends on the following situations,
+	 * - If the IO is for meta data, always cache it and no bypass
+	 * - If the IO is not meta data, check dc->cache_reada_policy,
+	 *      BCH_CACHE_READA_ALL: cache it and not bypass
+	 *      BCH_CACHE_READA_META_ONLY: not cache it and bypass
+	 * That is, read-ahead request for metadata always get cached
 	 * (eg, for gfs2 or xfs).
 	 */
-	if (bio->bi_opf & (REQ_RAHEAD|REQ_BACKGROUND) &&
-	    !(bio->bi_opf & (REQ_META|REQ_PRIO)))
-		goto skip;
+	if ((bio->bi_opf & (REQ_RAHEAD|REQ_BACKGROUND))) {
+		if (!(bio->bi_opf & (REQ_META|REQ_PRIO)) &&
+		    (dc->cache_readahead_policy != BCH_CACHE_READA_ALL))
+			goto skip;
+	}
 
 	if (bio->bi_iter.bi_sector & (c->sb.block_size - 1) ||
 	    bio_sectors(bio) & (c->sb.block_size - 1)) {
diff --git a/drivers/md/bcache/super.c b/drivers/md/bcache/super.c
index c45d9ad..5b5cbfa 100644
--- a/drivers/md/bcache/super.c
+++ b/drivers/md/bcache/super.c
@@ -1226,6 +1226,9 @@
 
 	mutex_unlock(&bch_register_lock);
 
+	if (dc->sb_bio.bi_inline_vecs[0].bv_page)
+		put_page(bio_first_page_all(&dc->sb_bio));
+
 	if (!IS_ERR_OR_NULL(dc->bdev))
 		blkdev_put(dc->bdev, FMODE_READ|FMODE_WRITE|FMODE_EXCL);
 
diff --git a/drivers/md/bcache/sysfs.c b/drivers/md/bcache/sysfs.c
index 3e8d1f1..591d9c8 100644
--- a/drivers/md/bcache/sysfs.c
+++ b/drivers/md/bcache/sysfs.c
@@ -25,6 +25,12 @@
 	NULL
 };
 
+static const char * const bch_reada_cache_policies[] = {
+	"all",
+	"meta-only",
+	NULL
+};
+
 /* Default is -1; we skip past it for stop_when_cache_set_failed */
 static const char * const bch_stop_on_failure_modes[] = {
 	"auto",
@@ -94,6 +100,7 @@
 rw_attribute(sequential_cutoff);
 rw_attribute(data_csum);
 rw_attribute(cache_mode);
+rw_attribute(readahead_cache_policy);
 rw_attribute(stop_when_cache_set_failed);
 rw_attribute(writeback_metadata);
 rw_attribute(writeback_running);
@@ -160,6 +167,11 @@
 					       bch_cache_modes,
 					       BDEV_CACHE_MODE(&dc->sb));
 
+	if (attr == &sysfs_readahead_cache_policy)
+		return bch_snprint_string_list(buf, PAGE_SIZE,
+					      bch_reada_cache_policies,
+					      dc->cache_readahead_policy);
+
 	if (attr == &sysfs_stop_when_cache_set_failed)
 		return bch_snprint_string_list(buf, PAGE_SIZE,
 					       bch_stop_on_failure_modes,
@@ -324,6 +336,15 @@
 		}
 	}
 
+	if (attr == &sysfs_readahead_cache_policy) {
+		v = __sysfs_match_string(bch_reada_cache_policies, -1, buf);
+		if (v < 0)
+			return v;
+
+		if ((unsigned int) v != dc->cache_readahead_policy)
+			dc->cache_readahead_policy = v;
+	}
+
 	if (attr == &sysfs_stop_when_cache_set_failed) {
 		v = __sysfs_match_string(bch_stop_on_failure_modes, -1, buf);
 		if (v < 0)
@@ -417,6 +438,7 @@
 	&sysfs_data_csum,
 #endif
 	&sysfs_cache_mode,
+	&sysfs_readahead_cache_policy,
 	&sysfs_stop_when_cache_set_failed,
 	&sysfs_writeback_metadata,
 	&sysfs_writeback_running,
diff --git a/drivers/md/dm-cache-target.c b/drivers/md/dm-cache-target.c
index 84ff700..2ddd575 100644
--- a/drivers/md/dm-cache-target.c
+++ b/drivers/md/dm-cache-target.c
@@ -2859,8 +2859,8 @@
 	prevent_background_work(cache);
 	BUG_ON(atomic_read(&cache->nr_io_migrations));
 
-	cancel_delayed_work(&cache->waker);
-	flush_workqueue(cache->wq);
+	cancel_delayed_work_sync(&cache->waker);
+	drain_workqueue(cache->wq);
 	WARN_ON(cache->tracker.in_flight);
 
 	/*
diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c
index 62f7004..62289f2 100644
--- a/drivers/md/dm-crypt.c
+++ b/drivers/md/dm-crypt.c
@@ -482,8 +482,14 @@
 static int crypt_iv_benbi_ctr(struct crypt_config *cc, struct dm_target *ti,
 			      const char *opts)
 {
-	unsigned bs = crypto_skcipher_blocksize(any_tfm(cc));
-	int log = ilog2(bs);
+	unsigned bs;
+	int log;
+
+	if (test_bit(CRYPT_MODE_INTEGRITY_AEAD, &cc->cipher_flags))
+		bs = crypto_aead_blocksize(any_tfm_aead(cc));
+	else
+		bs = crypto_skcipher_blocksize(any_tfm(cc));
+	log = ilog2(bs);
 
 	/* we need to calculate how far we must shift the sector count
 	 * to get the cipher block count, we use this shift in _gen */
diff --git a/drivers/md/dm-integrity.c b/drivers/md/dm-integrity.c
index e71aecc..06a3dc6 100644
--- a/drivers/md/dm-integrity.c
+++ b/drivers/md/dm-integrity.c
@@ -186,17 +186,19 @@
 	__u8 sectors_per_block;
 
 	unsigned char mode;
-	int suspending;
 
 	int failed;
 
 	struct crypto_shash *internal_hash;
 
+	struct dm_target *ti;
+
 	/* these variables are locked with endio_wait.lock */
 	struct rb_root in_progress;
 	struct list_head wait_list;
 	wait_queue_head_t endio_wait;
 	struct workqueue_struct *wait_wq;
+	struct workqueue_struct *offload_wq;
 
 	unsigned char commit_seq;
 	commit_id_t commit_ids[N_COMMIT_IDS];
@@ -1241,7 +1243,7 @@
 			dio->range.logical_sector += dio->range.n_sectors;
 			bio_advance(bio, dio->range.n_sectors << SECTOR_SHIFT);
 			INIT_WORK(&dio->work, integrity_bio_wait);
-			queue_work(ic->wait_wq, &dio->work);
+			queue_work(ic->offload_wq, &dio->work);
 			return;
 		}
 		do_endio_flush(ic, dio);
@@ -1667,7 +1669,7 @@
 
 	if (need_sync_io && from_map) {
 		INIT_WORK(&dio->work, integrity_bio_wait);
-		queue_work(ic->metadata_wq, &dio->work);
+		queue_work(ic->offload_wq, &dio->work);
 		return;
 	}
 
@@ -2091,7 +2093,7 @@
 	unsigned prev_free_sectors;
 
 	/* the following test is not needed, but it tests the replay code */
-	if (READ_ONCE(ic->suspending) && !ic->meta_dev)
+	if (unlikely(dm_suspended(ic->ti)) && !ic->meta_dev)
 		return;
 
 	spin_lock_irq(&ic->endio_wait.lock);
@@ -2150,7 +2152,7 @@
 
 next_chunk:
 
-	if (unlikely(READ_ONCE(ic->suspending)))
+	if (unlikely(dm_suspended(ic->ti)))
 		goto unlock_ret;
 
 	range.logical_sector = le64_to_cpu(ic->sb->recalc_sector);
@@ -2422,8 +2424,6 @@
 
 	del_timer_sync(&ic->autocommit_timer);
 
-	WRITE_ONCE(ic->suspending, 1);
-
 	if (ic->recalc_wq)
 		drain_workqueue(ic->recalc_wq);
 
@@ -2437,8 +2437,6 @@
 		dm_integrity_flush_buffers(ic);
 	}
 
-	WRITE_ONCE(ic->suspending, 0);
-
 	BUG_ON(!RB_EMPTY_ROOT(&ic->in_progress));
 
 	ic->journal_uptodate = true;
@@ -3127,6 +3125,7 @@
 	}
 	ti->private = ic;
 	ti->per_io_data_size = sizeof(struct dm_integrity_io);
+	ic->ti = ti;
 
 	ic->in_progress = RB_ROOT;
 	INIT_LIST_HEAD(&ic->wait_list);
@@ -3321,6 +3320,14 @@
 		goto bad;
 	}
 
+	ic->offload_wq = alloc_workqueue("dm-integrity-offload", WQ_MEM_RECLAIM,
+					  METADATA_WORKQUEUE_MAX_ACTIVE);
+	if (!ic->offload_wq) {
+		ti->error = "Cannot allocate workqueue";
+		r = -ENOMEM;
+		goto bad;
+	}
+
 	ic->commit_wq = alloc_workqueue("dm-integrity-commit", WQ_MEM_RECLAIM, 1);
 	if (!ic->commit_wq) {
 		ti->error = "Cannot allocate workqueue";
@@ -3557,6 +3564,8 @@
 		destroy_workqueue(ic->metadata_wq);
 	if (ic->wait_wq)
 		destroy_workqueue(ic->wait_wq);
+	if (ic->offload_wq)
+		destroy_workqueue(ic->offload_wq);
 	if (ic->commit_wq)
 		destroy_workqueue(ic->commit_wq);
 	if (ic->writer_wq)
diff --git a/drivers/md/dm-snap-persistent.c b/drivers/md/dm-snap-persistent.c
index 3c50c4e..963d377 100644
--- a/drivers/md/dm-snap-persistent.c
+++ b/drivers/md/dm-snap-persistent.c
@@ -17,7 +17,7 @@
 #include <linux/dm-bufio.h>
 
 #define DM_MSG_PREFIX "persistent snapshot"
-#define DM_CHUNK_SIZE_DEFAULT_SECTORS 32	/* 16KB */
+#define DM_CHUNK_SIZE_DEFAULT_SECTORS 32U	/* 16KB */
 
 #define DM_PREFETCH_CHUNKS		12
 
diff --git a/drivers/md/dm-writecache.c b/drivers/md/dm-writecache.c
index 503c426..4e4a090 100644
--- a/drivers/md/dm-writecache.c
+++ b/drivers/md/dm-writecache.c
@@ -447,7 +447,13 @@
 		complete(&endio->c);
 }
 
-static void ssd_commit_flushed(struct dm_writecache *wc)
+static void writecache_wait_for_ios(struct dm_writecache *wc, int direction)
+{
+	wait_event(wc->bio_in_progress_wait[direction],
+		   !atomic_read(&wc->bio_in_progress[direction]));
+}
+
+static void ssd_commit_flushed(struct dm_writecache *wc, bool wait_for_ios)
 {
 	struct dm_io_region region;
 	struct dm_io_request req;
@@ -493,17 +499,20 @@
 	writecache_notify_io(0, &endio);
 	wait_for_completion_io(&endio.c);
 
+	if (wait_for_ios)
+		writecache_wait_for_ios(wc, WRITE);
+
 	writecache_disk_flush(wc, wc->ssd_dev);
 
 	memset(wc->dirty_bitmap, 0, wc->dirty_bitmap_size);
 }
 
-static void writecache_commit_flushed(struct dm_writecache *wc)
+static void writecache_commit_flushed(struct dm_writecache *wc, bool wait_for_ios)
 {
 	if (WC_MODE_PMEM(wc))
 		wmb();
 	else
-		ssd_commit_flushed(wc);
+		ssd_commit_flushed(wc, wait_for_ios);
 }
 
 static void writecache_disk_flush(struct dm_writecache *wc, struct dm_dev *dev)
@@ -527,12 +536,6 @@
 		writecache_error(wc, r, "error flushing metadata: %d", r);
 }
 
-static void writecache_wait_for_ios(struct dm_writecache *wc, int direction)
-{
-	wait_event(wc->bio_in_progress_wait[direction],
-		   !atomic_read(&wc->bio_in_progress[direction]));
-}
-
 #define WFE_RETURN_FOLLOWING	1
 #define WFE_LOWEST_SEQ		2
 
@@ -628,6 +631,12 @@
 	wc->freelist_size++;
 }
 
+static inline void writecache_verify_watermark(struct dm_writecache *wc)
+{
+	if (unlikely(wc->freelist_size + wc->writeback_size <= wc->freelist_high_watermark))
+		queue_work(wc->writeback_wq, &wc->writeback_work);
+}
+
 static struct wc_entry *writecache_pop_from_freelist(struct dm_writecache *wc)
 {
 	struct wc_entry *e;
@@ -649,8 +658,8 @@
 		list_del(&e->lru);
 	}
 	wc->freelist_size--;
-	if (unlikely(wc->freelist_size + wc->writeback_size <= wc->freelist_high_watermark))
-		queue_work(wc->writeback_wq, &wc->writeback_work);
+
+	writecache_verify_watermark(wc);
 
 	return e;
 }
@@ -730,14 +739,12 @@
 		e = e2;
 		cond_resched();
 	}
-	writecache_commit_flushed(wc);
-
-	writecache_wait_for_ios(wc, WRITE);
+	writecache_commit_flushed(wc, true);
 
 	wc->seq_count++;
 	pmem_assign(sb(wc)->seq_count, cpu_to_le64(wc->seq_count));
 	writecache_flush_region(wc, &sb(wc)->seq_count, sizeof sb(wc)->seq_count);
-	writecache_commit_flushed(wc);
+	writecache_commit_flushed(wc, false);
 
 	wc->overwrote_committed = false;
 
@@ -761,7 +768,7 @@
 	}
 
 	if (need_flush_after_free)
-		writecache_commit_flushed(wc);
+		writecache_commit_flushed(wc, false);
 }
 
 static void writecache_flush_work(struct work_struct *work)
@@ -814,7 +821,7 @@
 	}
 
 	if (discarded_something)
-		writecache_commit_flushed(wc);
+		writecache_commit_flushed(wc, false);
 }
 
 static bool writecache_wait_for_writeback(struct dm_writecache *wc)
@@ -843,7 +850,7 @@
 	}
 	wc_unlock(wc);
 
-	flush_workqueue(wc->writeback_wq);
+	drain_workqueue(wc->writeback_wq);
 
 	wc_lock(wc);
 	if (flush_on_suspend)
@@ -963,9 +970,11 @@
 
 	if (need_flush) {
 		writecache_flush_all_metadata(wc);
-		writecache_commit_flushed(wc);
+		writecache_commit_flushed(wc, false);
 	}
 
+	writecache_verify_watermark(wc);
+
 	wc_unlock(wc);
 }
 
@@ -1347,7 +1356,7 @@
 			wc->writeback_size--;
 			n_walked++;
 			if (unlikely(n_walked >= ENDIO_LATENCY)) {
-				writecache_commit_flushed(wc);
+				writecache_commit_flushed(wc, false);
 				wc_unlock(wc);
 				wc_lock(wc);
 				n_walked = 0;
@@ -1428,7 +1437,7 @@
 			writecache_wait_for_ios(wc, READ);
 		}
 
-		writecache_commit_flushed(wc);
+		writecache_commit_flushed(wc, false);
 
 		wc_unlock(wc);
 	}
@@ -1759,10 +1768,10 @@
 		write_original_sector_seq_count(wc, &wc->entries[b], -1, -1);
 
 	writecache_flush_all_metadata(wc);
-	writecache_commit_flushed(wc);
+	writecache_commit_flushed(wc, false);
 	pmem_assign(sb(wc)->magic, cpu_to_le32(MEMORY_SUPERBLOCK_MAGIC));
 	writecache_flush_region(wc, &sb(wc)->magic, sizeof sb(wc)->magic);
-	writecache_commit_flushed(wc);
+	writecache_commit_flushed(wc, false);
 
 	return 0;
 }
diff --git a/drivers/md/dm-zoned-metadata.c b/drivers/md/dm-zoned-metadata.c
index c2c1714..086a870 100644
--- a/drivers/md/dm-zoned-metadata.c
+++ b/drivers/md/dm-zoned-metadata.c
@@ -132,6 +132,7 @@
 
 	sector_t		zone_bitmap_size;
 	unsigned int		zone_nr_bitmap_blocks;
+	unsigned int		zone_bits_per_mblk;
 
 	unsigned int		nr_bitmap_blocks;
 	unsigned int		nr_map_blocks;
@@ -1165,7 +1166,10 @@
 
 	/* Init */
 	zmd->zone_bitmap_size = dev->zone_nr_blocks >> 3;
-	zmd->zone_nr_bitmap_blocks = zmd->zone_bitmap_size >> DMZ_BLOCK_SHIFT;
+	zmd->zone_nr_bitmap_blocks =
+		max_t(sector_t, 1, zmd->zone_bitmap_size >> DMZ_BLOCK_SHIFT);
+	zmd->zone_bits_per_mblk = min_t(sector_t, dev->zone_nr_blocks,
+					DMZ_BLOCK_SIZE_BITS);
 
 	/* Allocate zone array */
 	zmd->zones = kcalloc(dev->nr_zones, sizeof(struct dm_zone), GFP_KERNEL);
@@ -1982,7 +1986,7 @@
 		dmz_release_mblock(zmd, to_mblk);
 		dmz_release_mblock(zmd, from_mblk);
 
-		chunk_block += DMZ_BLOCK_SIZE_BITS;
+		chunk_block += zmd->zone_bits_per_mblk;
 	}
 
 	to_zone->weight = from_zone->weight;
@@ -2043,7 +2047,7 @@
 
 		/* Set bits */
 		bit = chunk_block & DMZ_BLOCK_MASK_BITS;
-		nr_bits = min(nr_blocks, DMZ_BLOCK_SIZE_BITS - bit);
+		nr_bits = min(nr_blocks, zmd->zone_bits_per_mblk - bit);
 
 		count = dmz_set_bits((unsigned long *)mblk->data, bit, nr_bits);
 		if (count) {
@@ -2122,7 +2126,7 @@
 
 		/* Clear bits */
 		bit = chunk_block & DMZ_BLOCK_MASK_BITS;
-		nr_bits = min(nr_blocks, DMZ_BLOCK_SIZE_BITS - bit);
+		nr_bits = min(nr_blocks, zmd->zone_bits_per_mblk - bit);
 
 		count = dmz_clear_bits((unsigned long *)mblk->data,
 				       bit, nr_bits);
@@ -2182,6 +2186,7 @@
 {
 	struct dmz_mblock *mblk;
 	unsigned int bit, set_bit, nr_bits;
+	unsigned int zone_bits = zmd->zone_bits_per_mblk;
 	unsigned long *bitmap;
 	int n = 0;
 
@@ -2196,15 +2201,15 @@
 		/* Get offset */
 		bitmap = (unsigned long *) mblk->data;
 		bit = chunk_block & DMZ_BLOCK_MASK_BITS;
-		nr_bits = min(nr_blocks, DMZ_BLOCK_SIZE_BITS - bit);
+		nr_bits = min(nr_blocks, zone_bits - bit);
 		if (set)
-			set_bit = find_next_bit(bitmap, DMZ_BLOCK_SIZE_BITS, bit);
+			set_bit = find_next_bit(bitmap, zone_bits, bit);
 		else
-			set_bit = find_next_zero_bit(bitmap, DMZ_BLOCK_SIZE_BITS, bit);
+			set_bit = find_next_zero_bit(bitmap, zone_bits, bit);
 		dmz_release_mblock(zmd, mblk);
 
 		n += set_bit - bit;
-		if (set_bit < DMZ_BLOCK_SIZE_BITS)
+		if (set_bit < zone_bits)
 			break;
 
 		nr_blocks -= nr_bits;
@@ -2307,7 +2312,7 @@
 		/* Count bits in this block */
 		bitmap = mblk->data;
 		bit = chunk_block & DMZ_BLOCK_MASK_BITS;
-		nr_bits = min(nr_blocks, DMZ_BLOCK_SIZE_BITS - bit);
+		nr_bits = min(nr_blocks, zmd->zone_bits_per_mblk - bit);
 		n += dmz_count_bits(bitmap, bit, nr_bits);
 
 		dmz_release_mblock(zmd, mblk);
diff --git a/drivers/md/dm.c b/drivers/md/dm.c
index 5df0480..4f8a043 100644
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -1822,6 +1822,7 @@
 	/*
 	 * Initialize aspects of queue that aren't relevant for blk-mq
 	 */
+	md->queue->backing_dev_info->congested_data = md;
 	md->queue->backing_dev_info->congested_fn = dm_any_congested;
 }
 
@@ -1920,7 +1921,12 @@
 	if (!md->queue)
 		goto bad;
 	md->queue->queuedata = md;
-	md->queue->backing_dev_info->congested_data = md;
+	/*
+	 * default to bio-based required ->make_request_fn until DM
+	 * table is loaded and md->type established. If request-based
+	 * table is loaded: blk-mq will override accordingly.
+	 */
+	blk_queue_make_request(md->queue, dm_make_request);
 
 	md->disk = alloc_disk_node(1, md->numa_node_id);
 	if (!md->disk)
@@ -2352,7 +2358,8 @@
 	 */
 	memset(mode_masks, 0xFF, sizeof(mode_masks));
 
-	md->queue->ksm = keyslot_manager_create_passthrough(&dm_ksm_ll_ops,
+	md->queue->ksm = keyslot_manager_create_passthrough(NULL,
+							    &dm_ksm_ll_ops,
 							    mode_masks, md);
 	if (!md->queue->ksm)
 		return -ENOMEM;
@@ -2403,7 +2410,6 @@
 	case DM_TYPE_BIO_BASED:
 	case DM_TYPE_DAX_BIO_BASED:
 		dm_init_normal_md_queue(md);
-		blk_queue_make_request(md->queue, dm_make_request);
 		break;
 	case DM_TYPE_NVME_BIO_BASED:
 		dm_init_normal_md_queue(md);
@@ -2516,6 +2522,7 @@
 	map = dm_get_live_table(md, &srcu_idx);
 	if (!dm_suspended_md(md)) {
 		dm_table_presuspend_targets(map);
+		set_bit(DMF_SUSPENDED, &md->flags);
 		dm_table_postsuspend_targets(map);
 	}
 	/* dm_put_live_table must be before msleep, otherwise deadlock is possible */
diff --git a/drivers/md/persistent-data/dm-space-map-common.c b/drivers/md/persistent-data/dm-space-map-common.c
index 0a3b8ae..17aef55 100644
--- a/drivers/md/persistent-data/dm-space-map-common.c
+++ b/drivers/md/persistent-data/dm-space-map-common.c
@@ -382,6 +382,33 @@
 	return -ENOSPC;
 }
 
+int sm_ll_find_common_free_block(struct ll_disk *old_ll, struct ll_disk *new_ll,
+	                         dm_block_t begin, dm_block_t end, dm_block_t *b)
+{
+	int r;
+	uint32_t count;
+
+	do {
+		r = sm_ll_find_free_block(new_ll, begin, new_ll->nr_blocks, b);
+		if (r)
+			break;
+
+		/* double check this block wasn't used in the old transaction */
+		if (*b >= old_ll->nr_blocks)
+			count = 0;
+		else {
+			r = sm_ll_lookup(old_ll, *b, &count);
+			if (r)
+				break;
+
+			if (count)
+				begin = *b + 1;
+		}
+	} while (count);
+
+	return r;
+}
+
 static int sm_ll_mutate(struct ll_disk *ll, dm_block_t b,
 			int (*mutator)(void *context, uint32_t old, uint32_t *new),
 			void *context, enum allocation_event *ev)
diff --git a/drivers/md/persistent-data/dm-space-map-common.h b/drivers/md/persistent-data/dm-space-map-common.h
index b3078d5..8de63ce 100644
--- a/drivers/md/persistent-data/dm-space-map-common.h
+++ b/drivers/md/persistent-data/dm-space-map-common.h
@@ -109,6 +109,8 @@
 int sm_ll_lookup(struct ll_disk *ll, dm_block_t b, uint32_t *result);
 int sm_ll_find_free_block(struct ll_disk *ll, dm_block_t begin,
 			  dm_block_t end, dm_block_t *result);
+int sm_ll_find_common_free_block(struct ll_disk *old_ll, struct ll_disk *new_ll,
+	                         dm_block_t begin, dm_block_t end, dm_block_t *result);
 int sm_ll_insert(struct ll_disk *ll, dm_block_t b, uint32_t ref_count, enum allocation_event *ev);
 int sm_ll_inc(struct ll_disk *ll, dm_block_t b, enum allocation_event *ev);
 int sm_ll_dec(struct ll_disk *ll, dm_block_t b, enum allocation_event *ev);
diff --git a/drivers/md/persistent-data/dm-space-map-disk.c b/drivers/md/persistent-data/dm-space-map-disk.c
index 32adf6b..bf4c5e2 100644
--- a/drivers/md/persistent-data/dm-space-map-disk.c
+++ b/drivers/md/persistent-data/dm-space-map-disk.c
@@ -167,8 +167,10 @@
 	enum allocation_event ev;
 	struct sm_disk *smd = container_of(sm, struct sm_disk, sm);
 
-	/* FIXME: we should loop round a couple of times */
-	r = sm_ll_find_free_block(&smd->old_ll, smd->begin, smd->old_ll.nr_blocks, b);
+	/*
+	 * Any block we allocate has to be free in both the old and current ll.
+	 */
+	r = sm_ll_find_common_free_block(&smd->old_ll, &smd->ll, smd->begin, smd->ll.nr_blocks, b);
 	if (r)
 		return r;
 
diff --git a/drivers/md/persistent-data/dm-space-map-metadata.c b/drivers/md/persistent-data/dm-space-map-metadata.c
index 2532858..9e3c64e 100644
--- a/drivers/md/persistent-data/dm-space-map-metadata.c
+++ b/drivers/md/persistent-data/dm-space-map-metadata.c
@@ -448,7 +448,10 @@
 	enum allocation_event ev;
 	struct sm_metadata *smm = container_of(sm, struct sm_metadata, sm);
 
-	r = sm_ll_find_free_block(&smm->old_ll, smm->begin, smm->old_ll.nr_blocks, b);
+	/*
+	 * Any block we allocate has to be free in both the old and current ll.
+	 */
+	r = sm_ll_find_common_free_block(&smm->old_ll, &smm->ll, smm->begin, smm->ll.nr_blocks, b);
 	if (r)
 		return r;
 
diff --git a/drivers/md/raid0.c b/drivers/md/raid0.c
index 2e71405..efa9df2 100644
--- a/drivers/md/raid0.c
+++ b/drivers/md/raid0.c
@@ -94,7 +94,7 @@
 	char b[BDEVNAME_SIZE];
 	char b2[BDEVNAME_SIZE];
 	struct r0conf *conf = kzalloc(sizeof(*conf), GFP_KERNEL);
-	unsigned short blksize = 512;
+	unsigned blksize = 512;
 
 	*private_conf = ERR_PTR(-ENOMEM);
 	if (!conf)
diff --git a/drivers/media/i2c/adv748x/adv748x.h b/drivers/media/i2c/adv748x/adv748x.h
index 1cf46c40..9cc5672 100644
--- a/drivers/media/i2c/adv748x/adv748x.h
+++ b/drivers/media/i2c/adv748x/adv748x.h
@@ -361,10 +361,10 @@
 
 #define io_read(s, r) adv748x_read(s, ADV748X_PAGE_IO, r)
 #define io_write(s, r, v) adv748x_write(s, ADV748X_PAGE_IO, r, v)
-#define io_clrset(s, r, m, v) io_write(s, r, (io_read(s, r) & ~m) | v)
+#define io_clrset(s, r, m, v) io_write(s, r, (io_read(s, r) & ~(m)) | (v))
 
 #define hdmi_read(s, r) adv748x_read(s, ADV748X_PAGE_HDMI, r)
-#define hdmi_read16(s, r, m) (((hdmi_read(s, r) << 8) | hdmi_read(s, r+1)) & m)
+#define hdmi_read16(s, r, m) (((hdmi_read(s, r) << 8) | hdmi_read(s, (r)+1)) & (m))
 #define hdmi_write(s, r, v) adv748x_write(s, ADV748X_PAGE_HDMI, r, v)
 
 #define repeater_read(s, r) adv748x_read(s, ADV748X_PAGE_REPEATER, r)
@@ -372,11 +372,11 @@
 
 #define sdp_read(s, r) adv748x_read(s, ADV748X_PAGE_SDP, r)
 #define sdp_write(s, r, v) adv748x_write(s, ADV748X_PAGE_SDP, r, v)
-#define sdp_clrset(s, r, m, v) sdp_write(s, r, (sdp_read(s, r) & ~m) | v)
+#define sdp_clrset(s, r, m, v) sdp_write(s, r, (sdp_read(s, r) & ~(m)) | (v))
 
 #define cp_read(s, r) adv748x_read(s, ADV748X_PAGE_CP, r)
 #define cp_write(s, r, v) adv748x_write(s, ADV748X_PAGE_CP, r, v)
-#define cp_clrset(s, r, m, v) cp_write(s, r, (cp_read(s, r) & ~m) | v)
+#define cp_clrset(s, r, m, v) cp_write(s, r, (cp_read(s, r) & ~(m)) | (v))
 
 #define txa_read(s, r) adv748x_read(s, ADV748X_PAGE_TXA, r)
 #define txb_read(s, r) adv748x_read(s, ADV748X_PAGE_TXB, r)
diff --git a/drivers/media/i2c/mt9v032.c b/drivers/media/i2c/mt9v032.c
index f74730d..0478869 100644
--- a/drivers/media/i2c/mt9v032.c
+++ b/drivers/media/i2c/mt9v032.c
@@ -431,10 +431,12 @@
 				  struct v4l2_subdev_pad_config *cfg,
 				  struct v4l2_subdev_mbus_code_enum *code)
 {
+	struct mt9v032 *mt9v032 = to_mt9v032(subdev);
+
 	if (code->index > 0)
 		return -EINVAL;
 
-	code->code = MEDIA_BUS_FMT_SGRBG10_1X10;
+	code->code = mt9v032->format.code;
 	return 0;
 }
 
@@ -442,7 +444,11 @@
 				   struct v4l2_subdev_pad_config *cfg,
 				   struct v4l2_subdev_frame_size_enum *fse)
 {
-	if (fse->index >= 3 || fse->code != MEDIA_BUS_FMT_SGRBG10_1X10)
+	struct mt9v032 *mt9v032 = to_mt9v032(subdev);
+
+	if (fse->index >= 3)
+		return -EINVAL;
+	if (mt9v032->format.code != fse->code)
 		return -EINVAL;
 
 	fse->min_width = MT9V032_WINDOW_WIDTH_DEF / (1 << fse->index);
diff --git a/drivers/media/i2c/ov2659.c b/drivers/media/i2c/ov2659.c
index 4b6be3b..5cdda9d 100644
--- a/drivers/media/i2c/ov2659.c
+++ b/drivers/media/i2c/ov2659.c
@@ -1136,7 +1136,7 @@
 		mf = v4l2_subdev_get_try_format(sd, cfg, fmt->pad);
 		*mf = fmt->format;
 #else
-		return -ENOTTY;
+		ret = -ENOTTY;
 #endif
 	} else {
 		s64 val;
diff --git a/drivers/media/i2c/ov6650.c b/drivers/media/i2c/ov6650.c
index c5aadd8..33a67a3 100644
--- a/drivers/media/i2c/ov6650.c
+++ b/drivers/media/i2c/ov6650.c
@@ -203,7 +203,6 @@
 	unsigned long		pclk_max;	/* from resolution and format */
 	struct v4l2_fract	tpf;		/* as requested with s_frame_interval */
 	u32 code;
-	enum v4l2_colorspace	colorspace;
 };
 
 
@@ -216,6 +215,17 @@
 	MEDIA_BUS_FMT_Y8_1X8,
 };
 
+static const struct v4l2_mbus_framefmt ov6650_def_fmt = {
+	.width		= W_CIF,
+	.height		= H_CIF,
+	.code		= MEDIA_BUS_FMT_SBGGR8_1X8,
+	.colorspace	= V4L2_COLORSPACE_SRGB,
+	.field		= V4L2_FIELD_NONE,
+	.ycbcr_enc	= V4L2_YCBCR_ENC_DEFAULT,
+	.quantization	= V4L2_QUANTIZATION_DEFAULT,
+	.xfer_func	= V4L2_XFER_FUNC_DEFAULT,
+};
+
 /* read a register */
 static int ov6650_reg_read(struct i2c_client *client, u8 reg, u8 *val)
 {
@@ -517,12 +527,20 @@
 	if (format->pad)
 		return -EINVAL;
 
-	mf->width	= priv->rect.width >> priv->half_scale;
-	mf->height	= priv->rect.height >> priv->half_scale;
-	mf->code	= priv->code;
-	mf->colorspace	= priv->colorspace;
-	mf->field	= V4L2_FIELD_NONE;
+	/* initialize response with default media bus frame format */
+	*mf = ov6650_def_fmt;
 
+	/* update media bus format code and frame size */
+	if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
+		mf->width = cfg->try_fmt.width;
+		mf->height = cfg->try_fmt.height;
+		mf->code = cfg->try_fmt.code;
+
+	} else {
+		mf->width = priv->rect.width >> priv->half_scale;
+		mf->height = priv->rect.height >> priv->half_scale;
+		mf->code = priv->code;
+	}
 	return 0;
 }
 
@@ -627,11 +645,6 @@
 		priv->pclk_max = 8000000;
 	}
 
-	if (code == MEDIA_BUS_FMT_SBGGR8_1X8)
-		priv->colorspace = V4L2_COLORSPACE_SRGB;
-	else if (code != 0)
-		priv->colorspace = V4L2_COLORSPACE_JPEG;
-
 	if (half_scale) {
 		dev_dbg(&client->dev, "max resolution: QCIF\n");
 		coma_set |= COMA_QCIF;
@@ -665,11 +678,6 @@
 	if (!ret)
 		priv->code = code;
 
-	if (!ret) {
-		mf->colorspace	= priv->colorspace;
-		mf->width = priv->rect.width >> half_scale;
-		mf->height = priv->rect.height >> half_scale;
-	}
 	return ret;
 }
 
@@ -688,8 +696,6 @@
 		v4l_bound_align_image(&mf->width, 2, W_CIF, 1,
 				&mf->height, 2, H_CIF, 1, 0);
 
-	mf->field = V4L2_FIELD_NONE;
-
 	switch (mf->code) {
 	case MEDIA_BUS_FMT_Y10_1X10:
 		mf->code = MEDIA_BUS_FMT_Y8_1X8;
@@ -699,20 +705,39 @@
 	case MEDIA_BUS_FMT_YUYV8_2X8:
 	case MEDIA_BUS_FMT_VYUY8_2X8:
 	case MEDIA_BUS_FMT_UYVY8_2X8:
-		mf->colorspace = V4L2_COLORSPACE_JPEG;
 		break;
 	default:
 		mf->code = MEDIA_BUS_FMT_SBGGR8_1X8;
 		/* fall through */
 	case MEDIA_BUS_FMT_SBGGR8_1X8:
-		mf->colorspace = V4L2_COLORSPACE_SRGB;
 		break;
 	}
 
-	if (format->which == V4L2_SUBDEV_FORMAT_ACTIVE)
-		return ov6650_s_fmt(sd, mf);
-	cfg->try_fmt = *mf;
+	if (format->which == V4L2_SUBDEV_FORMAT_TRY) {
+		/* store media bus format code and frame size in pad config */
+		cfg->try_fmt.width = mf->width;
+		cfg->try_fmt.height = mf->height;
+		cfg->try_fmt.code = mf->code;
 
+		/* return default mbus frame format updated with pad config */
+		*mf = ov6650_def_fmt;
+		mf->width = cfg->try_fmt.width;
+		mf->height = cfg->try_fmt.height;
+		mf->code = cfg->try_fmt.code;
+
+	} else {
+		/* apply new media bus format code and frame size */
+		int ret = ov6650_s_fmt(sd, mf);
+
+		if (ret)
+			return ret;
+
+		/* return default format updated with active size and code */
+		*mf = ov6650_def_fmt;
+		mf->width = priv->rect.width >> priv->half_scale;
+		mf->height = priv->rect.height >> priv->half_scale;
+		mf->code = priv->code;
+	}
 	return 0;
 }
 
@@ -1006,7 +1031,6 @@
 	priv->rect.height = H_CIF;
 	priv->half_scale  = false;
 	priv->code	  = MEDIA_BUS_FMT_YUYV8_2X8;
-	priv->colorspace  = V4L2_COLORSPACE_JPEG;
 
 	ret = ov6650_video_probe(client);
 	if (ret)
diff --git a/drivers/media/i2c/tw9910.c b/drivers/media/i2c/tw9910.c
index a54548cc..c7321a7 100644
--- a/drivers/media/i2c/tw9910.c
+++ b/drivers/media/i2c/tw9910.c
@@ -1000,7 +1000,7 @@
 	if (priv->pdn_gpio)
 		gpiod_put(priv->pdn_gpio);
 	clk_put(priv->clk);
-	v4l2_device_unregister_subdev(&priv->subdev);
+	v4l2_async_unregister_subdev(&priv->subdev);
 
 	return 0;
 }
diff --git a/drivers/media/pci/cx18/cx18-fileops.c b/drivers/media/pci/cx18/cx18-fileops.c
index a3f44e3..88c2f3b 100644
--- a/drivers/media/pci/cx18/cx18-fileops.c
+++ b/drivers/media/pci/cx18/cx18-fileops.c
@@ -484,7 +484,7 @@
 
 	CX18_DEBUG_HI_FILE("read %zd from %s, got %zd\n", count, s->name, rc);
 	if (rc > 0)
-		pos += rc;
+		*pos += rc;
 	return rc;
 }
 
diff --git a/drivers/media/pci/cx23885/cx23885-cards.c b/drivers/media/pci/cx23885/cx23885-cards.c
index ed3210d..642aefd 100644
--- a/drivers/media/pci/cx23885/cx23885-cards.c
+++ b/drivers/media/pci/cx23885/cx23885-cards.c
@@ -811,6 +811,25 @@
 		.name		= "Hauppauge WinTV-Starburst2",
 		.portb		= CX23885_MPEG_DVB,
 	},
+	[CX23885_BOARD_AVERMEDIA_CE310B] = {
+		.name		= "AVerMedia CE310B",
+		.porta		= CX23885_ANALOG_VIDEO,
+		.force_bff	= 1,
+		.input          = {{
+			.type   = CX23885_VMUX_COMPOSITE1,
+			.vmux   = CX25840_VIN1_CH1 |
+				  CX25840_NONE_CH2 |
+				  CX25840_NONE0_CH3,
+			.amux   = CX25840_AUDIO7,
+		}, {
+			.type   = CX23885_VMUX_SVIDEO,
+			.vmux   = CX25840_VIN8_CH1 |
+				  CX25840_NONE_CH2 |
+				  CX25840_VIN7_CH3 |
+				  CX25840_SVIDEO_ON,
+			.amux   = CX25840_AUDIO7,
+		} },
+	},
 };
 const unsigned int cx23885_bcount = ARRAY_SIZE(cx23885_boards);
 
@@ -1134,6 +1153,10 @@
 		.subvendor = 0x0070,
 		.subdevice = 0xf02a,
 		.card      = CX23885_BOARD_HAUPPAUGE_STARBURST2,
+	}, {
+		.subvendor = 0x1461,
+		.subdevice = 0x3100,
+		.card      = CX23885_BOARD_AVERMEDIA_CE310B,
 	},
 };
 const unsigned int cx23885_idcount = ARRAY_SIZE(cx23885_subids);
@@ -2358,6 +2381,7 @@
 	case CX23885_BOARD_DVBSKY_T982:
 	case CX23885_BOARD_VIEWCAST_260E:
 	case CX23885_BOARD_VIEWCAST_460E:
+	case CX23885_BOARD_AVERMEDIA_CE310B:
 		dev->sd_cx25840 = v4l2_i2c_new_subdev(&dev->v4l2_dev,
 				&dev->i2c_bus[2].i2c_adap,
 				"cx25840", 0x88 >> 1, NULL);
diff --git a/drivers/media/pci/cx23885/cx23885-dvb.c b/drivers/media/pci/cx23885/cx23885-dvb.c
index 7d52173..bafcb39 100644
--- a/drivers/media/pci/cx23885/cx23885-dvb.c
+++ b/drivers/media/pci/cx23885/cx23885-dvb.c
@@ -1474,8 +1474,9 @@
 		if (fe0->dvb.frontend != NULL) {
 			struct i2c_adapter *tun_i2c;
 
-			fe0->dvb.frontend->sec_priv = kmalloc(sizeof(dib7000p_ops), GFP_KERNEL);
-			memcpy(fe0->dvb.frontend->sec_priv, &dib7000p_ops, sizeof(dib7000p_ops));
+			fe0->dvb.frontend->sec_priv = kmemdup(&dib7000p_ops, sizeof(dib7000p_ops), GFP_KERNEL);
+			if (!fe0->dvb.frontend->sec_priv)
+				return -ENOMEM;
 			tun_i2c = dib7000p_ops.get_i2c_master(fe0->dvb.frontend, DIBX000_I2C_INTERFACE_TUNER, 1);
 			if (!dvb_attach(dib0070_attach, fe0->dvb.frontend, tun_i2c, &dib7070p_dib0070_config))
 				return -ENODEV;
diff --git a/drivers/media/pci/cx23885/cx23885-video.c b/drivers/media/pci/cx23885/cx23885-video.c
index f8a3dea..2a20c71 100644
--- a/drivers/media/pci/cx23885/cx23885-video.c
+++ b/drivers/media/pci/cx23885/cx23885-video.c
@@ -268,7 +268,8 @@
 		(dev->board == CX23885_BOARD_MYGICA_X8507) ||
 		(dev->board == CX23885_BOARD_AVERMEDIA_HC81R) ||
 		(dev->board == CX23885_BOARD_VIEWCAST_260E) ||
-		(dev->board == CX23885_BOARD_VIEWCAST_460E)) {
+		(dev->board == CX23885_BOARD_VIEWCAST_460E) ||
+		(dev->board == CX23885_BOARD_AVERMEDIA_CE310B)) {
 		/* Configure audio routing */
 		v4l2_subdev_call(dev->sd_cx25840, audio, s_routing,
 			INPUT(input)->amux, 0, 0);
diff --git a/drivers/media/pci/cx23885/cx23885.h b/drivers/media/pci/cx23885/cx23885.h
index cf965ef..7bbd62c 100644
--- a/drivers/media/pci/cx23885/cx23885.h
+++ b/drivers/media/pci/cx23885/cx23885.h
@@ -111,6 +111,7 @@
 #define CX23885_BOARD_HAUPPAUGE_STARBURST2     59
 #define CX23885_BOARD_HAUPPAUGE_QUADHD_DVB_885 60
 #define CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC_885 61
+#define CX23885_BOARD_AVERMEDIA_CE310B         62
 
 #define GPIO_0 0x00000001
 #define GPIO_1 0x00000002
diff --git a/drivers/media/pci/ivtv/ivtv-fileops.c b/drivers/media/pci/ivtv/ivtv-fileops.c
index 6196daae..043ac0a 100644
--- a/drivers/media/pci/ivtv/ivtv-fileops.c
+++ b/drivers/media/pci/ivtv/ivtv-fileops.c
@@ -420,7 +420,7 @@
 
 	IVTV_DEBUG_HI_FILE("read %zd from %s, got %zd\n", count, s->name, rc);
 	if (rc > 0)
-		pos += rc;
+		*pos += rc;
 	return rc;
 }
 
diff --git a/drivers/media/pci/pt1/pt1.c b/drivers/media/pci/pt1/pt1.c
index 7f878fc..93fecff 100644
--- a/drivers/media/pci/pt1/pt1.c
+++ b/drivers/media/pci/pt1/pt1.c
@@ -200,16 +200,10 @@
 static int config_demod(struct i2c_client *cl, enum pt1_fe_clk clk)
 {
 	int ret;
-	u8 buf[2] = {0x01, 0x80};
 	bool is_sat;
 	const u8 (*cfg_data)[2];
 	int i, len;
 
-	ret = i2c_master_send(cl, buf, 2);
-	if (ret < 0)
-		return ret;
-	usleep_range(30000, 50000);
-
 	is_sat = !strncmp(cl->name, TC90522_I2C_DEV_SAT,
 			  strlen(TC90522_I2C_DEV_SAT));
 	if (is_sat) {
@@ -260,6 +254,46 @@
 	return 0;
 }
 
+/*
+ * Init registers for (each pair of) terrestrial/satellite block in demod.
+ * Note that resetting terr. block also resets its peer sat. block as well.
+ * This function must be called before configuring any demod block
+ * (before pt1_wakeup(), fe->ops.init()).
+ */
+static int pt1_demod_block_init(struct pt1 *pt1)
+{
+	struct i2c_client *cl;
+	u8 buf[2] = {0x01, 0x80};
+	int ret;
+	int i;
+
+	/* reset all terr. & sat. pairs first */
+	for (i = 0; i < PT1_NR_ADAPS; i++) {
+		cl = pt1->adaps[i]->demod_i2c_client;
+		if (strncmp(cl->name, TC90522_I2C_DEV_TER,
+			    strlen(TC90522_I2C_DEV_TER)))
+			continue;
+
+		ret = i2c_master_send(cl, buf, 2);
+		if (ret < 0)
+			return ret;
+		usleep_range(30000, 50000);
+	}
+
+	for (i = 0; i < PT1_NR_ADAPS; i++) {
+		cl = pt1->adaps[i]->demod_i2c_client;
+		if (strncmp(cl->name, TC90522_I2C_DEV_SAT,
+			    strlen(TC90522_I2C_DEV_SAT)))
+			continue;
+
+		ret = i2c_master_send(cl, buf, 2);
+		if (ret < 0)
+			return ret;
+		usleep_range(30000, 50000);
+	}
+	return 0;
+}
+
 static void pt1_write_reg(struct pt1 *pt1, int reg, u32 data)
 {
 	writel(data, pt1->regs + reg * 4);
@@ -987,6 +1021,10 @@
 			goto tuner_release;
 	}
 
+	ret = pt1_demod_block_init(pt1);
+	if (ret < 0)
+		goto fe_unregister;
+
 	return 0;
 
 tuner_release:
@@ -1245,6 +1283,10 @@
 	pt1_update_power(pt1);
 	usleep_range(1000, 2000);
 
+	ret = pt1_demod_block_init(pt1);
+	if (ret < 0)
+		goto resume_err;
+
 	for (i = 0; i < PT1_NR_ADAPS; i++)
 		dvb_frontend_reinitialise(pt1->adaps[i]->fe);
 
diff --git a/drivers/media/pci/tw5864/tw5864-video.c b/drivers/media/pci/tw5864/tw5864-video.c
index ff2b7da..6c40e60 100644
--- a/drivers/media/pci/tw5864/tw5864-video.c
+++ b/drivers/media/pci/tw5864/tw5864-video.c
@@ -1395,13 +1395,13 @@
 	input->vb = NULL;
 	spin_unlock_irqrestore(&input->slock, flags);
 
-	v4l2_buf = to_vb2_v4l2_buffer(&vb->vb.vb2_buf);
-
 	if (!vb) { /* Gone because of disabling */
 		dev_dbg(&dev->pci->dev, "vb is empty, dropping frame\n");
 		return;
 	}
 
+	v4l2_buf = to_vb2_v4l2_buffer(&vb->vb.vb2_buf);
+
 	/*
 	 * Check for space.
 	 * Mind the overhead of startcode emulation prevention.
diff --git a/drivers/media/platform/atmel/atmel-isi.c b/drivers/media/platform/atmel/atmel-isi.c
index e8db4df..1a0e523 100644
--- a/drivers/media/platform/atmel/atmel-isi.c
+++ b/drivers/media/platform/atmel/atmel-isi.c
@@ -496,7 +496,7 @@
 	spin_unlock_irq(&isi->irqlock);
 
 	if (!isi->enable_preview_path) {
-		timeout = jiffies + FRAME_INTERVAL_MILLI_SEC * HZ;
+		timeout = jiffies + (FRAME_INTERVAL_MILLI_SEC * HZ) / 1000;
 		/* Wait until the end of the current frame. */
 		while ((isi_readl(isi, ISI_STATUS) & ISI_CTRL_CDC) &&
 				time_before(jiffies, timeout))
diff --git a/drivers/media/platform/cadence/cdns-csi2rx.c b/drivers/media/platform/cadence/cdns-csi2rx.c
index 43e43c7..6f64703 100644
--- a/drivers/media/platform/cadence/cdns-csi2rx.c
+++ b/drivers/media/platform/cadence/cdns-csi2rx.c
@@ -129,7 +129,7 @@
 	 */
 	for (i = csi2rx->num_lanes; i < csi2rx->max_lanes; i++) {
 		unsigned int idx = find_first_zero_bit(&lanes_used,
-						       sizeof(lanes_used));
+						       csi2rx->max_lanes);
 		set_bit(idx, &lanes_used);
 		reg |= CSI2RX_STATIC_CFG_DLANE_MAP(i, i + 1);
 	}
diff --git a/drivers/media/platform/davinci/isif.c b/drivers/media/platform/davinci/isif.c
index 340f821..80fa60a 100644
--- a/drivers/media/platform/davinci/isif.c
+++ b/drivers/media/platform/davinci/isif.c
@@ -884,9 +884,7 @@
 static int isif_config_ycbcr(void)
 {
 	struct isif_ycbcr_config *params = &isif_cfg.ycbcr;
-	struct vpss_pg_frame_size frame_size;
 	u32 modeset = 0, ccdcfg = 0;
-	struct vpss_sync_pol sync;
 
 	dev_dbg(isif_cfg.dev, "\nStarting isif_config_ycbcr...");
 
@@ -974,13 +972,6 @@
 		/* two fields are interleaved in memory */
 		regw(0x00000249, SDOFST);
 
-	/* Setup test pattern if enabled */
-	if (isif_cfg.bayer.config_params.test_pat_gen) {
-		sync.ccdpg_hdpol = params->hd_pol;
-		sync.ccdpg_vdpol = params->vd_pol;
-		dm365_vpss_set_sync_pol(sync);
-		dm365_vpss_set_pg_frame_size(frame_size);
-	}
 	return 0;
 }
 
diff --git a/drivers/media/platform/davinci/vpbe.c b/drivers/media/platform/davinci/vpbe.c
index df1ae6b..e45e062 100644
--- a/drivers/media/platform/davinci/vpbe.c
+++ b/drivers/media/platform/davinci/vpbe.c
@@ -126,7 +126,7 @@
 			     struct v4l2_output *output)
 {
 	struct vpbe_config *cfg = vpbe_dev->cfg;
-	int temp_index = output->index;
+	unsigned int temp_index = output->index;
 
 	if (temp_index >= cfg->num_outputs)
 		return -EINVAL;
diff --git a/drivers/media/platform/exynos4-is/fimc-isp-video.c b/drivers/media/platform/exynos4-is/fimc-isp-video.c
index a920164..39340ab 100644
--- a/drivers/media/platform/exynos4-is/fimc-isp-video.c
+++ b/drivers/media/platform/exynos4-is/fimc-isp-video.c
@@ -316,7 +316,7 @@
 		ivc->streaming = 0;
 	}
 
-	vb2_fop_release(file);
+	_vb2_fop_release(file, NULL);
 
 	if (v4l2_fh_is_singular_file(file)) {
 		fimc_pipeline_call(&ivc->ve, close);
diff --git a/drivers/media/platform/msm/npu/npu_host_ipc.c b/drivers/media/platform/msm/npu/npu_host_ipc.c
index 0d2816f..5ea693b 100644
--- a/drivers/media/platform/msm/npu/npu_host_ipc.c
+++ b/drivers/media/platform/msm/npu/npu_host_ipc.c
@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2018-2020, The Linux Foundation. All rights reserved.
  */
 
 /* -------------------------------------------------------------------------
@@ -367,8 +367,6 @@
 	/* Update qhdr_write_idx */
 	queue.qhdr_write_idx = new_write_idx;
 
-	*is_rx_req_set = (queue.qhdr_rx_req == 1) ? 1 : 0;
-
 	/* Update Write pointer -- queue.qhdr_write_idx */
 exit:
 	/* Update TX request -- queue.qhdr_tx_req */
@@ -379,6 +377,13 @@
 		(size_t)&(queue.qhdr_write_idx) - (size_t)&queue))),
 		&queue.qhdr_write_idx, sizeof(queue.qhdr_write_idx));
 
+	/* check if irq is required after write_idx is updated */
+	MEMR(npu_dev, (void *)((size_t)(offset + (uint32_t)(
+		(size_t)&(queue.qhdr_rx_req) - (size_t)&queue))),
+		(uint8_t *)&queue.qhdr_rx_req,
+		sizeof(queue.qhdr_rx_req));
+	*is_rx_req_set = (queue.qhdr_rx_req == 1) ? 1 : 0;
+
 	return status;
 }
 
diff --git a/drivers/media/platform/omap/omap_vout.c b/drivers/media/platform/omap/omap_vout.c
index 5700b78..45511d2 100644
--- a/drivers/media/platform/omap/omap_vout.c
+++ b/drivers/media/platform/omap/omap_vout.c
@@ -1527,23 +1527,20 @@
 	unsigned long size;
 	struct videobuf_buffer *vb;
 
-	vb = q->bufs[b->index];
-
 	if (!vout->streaming)
 		return -EINVAL;
 
-	if (file->f_flags & O_NONBLOCK)
-		/* Call videobuf_dqbuf for non blocking mode */
-		ret = videobuf_dqbuf(q, (struct v4l2_buffer *)b, 1);
-	else
-		/* Call videobuf_dqbuf for  blocking mode */
-		ret = videobuf_dqbuf(q, (struct v4l2_buffer *)b, 0);
+	ret = videobuf_dqbuf(q, b, !!(file->f_flags & O_NONBLOCK));
+	if (ret)
+		return ret;
+
+	vb = q->bufs[b->index];
 
 	addr = (unsigned long) vout->buf_phy_addr[vb->i];
 	size = (unsigned long) vb->size;
 	dma_unmap_single(vout->vid_dev->v4l2_dev.dev,  addr,
 				size, DMA_TO_DEVICE);
-	return ret;
+	return 0;
 }
 
 static int vidioc_streamon(struct file *file, void *fh, enum v4l2_buf_type i)
diff --git a/drivers/media/platform/rcar-vin/rcar-core.c b/drivers/media/platform/rcar-vin/rcar-core.c
index 485fa3f..c389ba9 100644
--- a/drivers/media/platform/rcar-vin/rcar-core.c
+++ b/drivers/media/platform/rcar-vin/rcar-core.c
@@ -631,7 +631,7 @@
 	ret = v4l2_async_notifier_register(&vin->v4l2_dev, &vin->notifier);
 	if (ret < 0) {
 		vin_err(vin, "Notifier registration failed\n");
-		v4l2_async_notifier_cleanup(&vin->group->notifier);
+		v4l2_async_notifier_cleanup(&vin->notifier);
 		return ret;
 	}
 
diff --git a/drivers/media/platform/rcar-vin/rcar-v4l2.c b/drivers/media/platform/rcar-vin/rcar-v4l2.c
index 5a54779..1236e6e 100644
--- a/drivers/media/platform/rcar-vin/rcar-v4l2.c
+++ b/drivers/media/platform/rcar-vin/rcar-v4l2.c
@@ -196,6 +196,7 @@
 	ret = v4l2_subdev_call(sd, pad, set_fmt, pad_cfg, &format);
 	if (ret < 0 && ret != -ENOIOCTLCMD)
 		goto done;
+	ret = 0;
 
 	v4l2_fill_pix_format(pix, &format.format);
 
@@ -230,7 +231,7 @@
 done:
 	v4l2_subdev_free_pad_config(pad_cfg);
 
-	return 0;
+	return ret;
 }
 
 static int rvin_querycap(struct file *file, void *priv,
diff --git a/drivers/media/platform/s5p-jpeg/jpeg-core.c b/drivers/media/platform/s5p-jpeg/jpeg-core.c
index 350afaa..fa7c42c 100644
--- a/drivers/media/platform/s5p-jpeg/jpeg-core.c
+++ b/drivers/media/platform/s5p-jpeg/jpeg-core.c
@@ -2005,7 +2005,7 @@
 
 		v4l2_ctrl_new_std(&ctx->ctrl_handler, &s5p_jpeg_ctrl_ops,
 				  V4L2_CID_JPEG_RESTART_INTERVAL,
-				  0, 3, 0xffff, 0);
+				  0, 0xffff, 1, 0);
 		if (ctx->jpeg->variant->version == SJPEG_S5P)
 			mask = ~0x06; /* 422, 420 */
 	}
diff --git a/drivers/media/platform/sti/bdisp/bdisp-hw.c b/drivers/media/platform/sti/bdisp/bdisp-hw.c
index 26d9fa7..d57f659 100644
--- a/drivers/media/platform/sti/bdisp/bdisp-hw.c
+++ b/drivers/media/platform/sti/bdisp/bdisp-hw.c
@@ -14,8 +14,8 @@
 #define MAX_SRC_WIDTH           2048
 
 /* Reset & boot poll config */
-#define POLL_RST_MAX            50
-#define POLL_RST_DELAY_MS       20
+#define POLL_RST_MAX            500
+#define POLL_RST_DELAY_MS       2
 
 enum bdisp_target_plan {
 	BDISP_RGB,
@@ -382,7 +382,7 @@
 	for (i = 0; i < POLL_RST_MAX; i++) {
 		if (readl(bdisp->regs + BLT_STA1) & BLT_STA1_IDLE)
 			break;
-		msleep(POLL_RST_DELAY_MS);
+		udelay(POLL_RST_DELAY_MS * 1000);
 	}
 	if (i == POLL_RST_MAX)
 		dev_err(bdisp->dev, "Reset timeout\n");
diff --git a/drivers/media/platform/vivid/vivid-osd.c b/drivers/media/platform/vivid/vivid-osd.c
index bbbc1b6..b245966 100644
--- a/drivers/media/platform/vivid/vivid-osd.c
+++ b/drivers/media/platform/vivid/vivid-osd.c
@@ -155,7 +155,7 @@
 	var->nonstd = 0;
 
 	var->vmode &= ~FB_VMODE_MASK;
-	var->vmode = FB_VMODE_NONINTERLACED;
+	var->vmode |= FB_VMODE_NONINTERLACED;
 
 	/* Dummy values */
 	var->hsync_len = 24;
diff --git a/drivers/media/radio/si470x/radio-si470x-i2c.c b/drivers/media/radio/si470x/radio-si470x-i2c.c
index ae7540b..aa12fd2 100644
--- a/drivers/media/radio/si470x/radio-si470x-i2c.c
+++ b/drivers/media/radio/si470x/radio-si470x-i2c.c
@@ -483,10 +483,10 @@
 
 	free_irq(client->irq, radio);
 	video_unregister_device(&radio->videodev);
-	kfree(radio);
 
 	v4l2_ctrl_handler_free(&radio->hdl);
 	v4l2_device_unregister(&radio->v4l2_dev);
+	kfree(radio);
 	return 0;
 }
 
diff --git a/drivers/media/radio/wl128x/fmdrv_common.c b/drivers/media/radio/wl128x/fmdrv_common.c
index 1cf4019..cccf1a7 100644
--- a/drivers/media/radio/wl128x/fmdrv_common.c
+++ b/drivers/media/radio/wl128x/fmdrv_common.c
@@ -1271,8 +1271,9 @@
 
 		switch (action->type) {
 		case ACTION_SEND_COMMAND:	/* Send */
-			if (fmc_send_cmd(fmdev, 0, 0, action->data,
-						action->size, NULL, NULL))
+			ret = fmc_send_cmd(fmdev, 0, 0, action->data,
+					   action->size, NULL, NULL);
+			if (ret)
 				goto rel_fw;
 
 			cmd_cnt++;
diff --git a/drivers/media/rc/iguanair.c b/drivers/media/rc/iguanair.c
index 6f3030b..1df9522 100644
--- a/drivers/media/rc/iguanair.c
+++ b/drivers/media/rc/iguanair.c
@@ -424,7 +424,7 @@
 	int ret, pipein, pipeout;
 	struct usb_host_interface *idesc;
 
-	idesc = intf->altsetting;
+	idesc = intf->cur_altsetting;
 	if (idesc->desc.bNumEndpoints < 2)
 		return -ENODEV;
 
diff --git a/drivers/media/rc/rc-main.c b/drivers/media/rc/rc-main.c
index 0f218af..c30affb 100644
--- a/drivers/media/rc/rc-main.c
+++ b/drivers/media/rc/rc-main.c
@@ -1874,23 +1874,28 @@
 
 	dev->registered = true;
 
-	if (dev->driver_type != RC_DRIVER_IR_RAW_TX) {
-		rc = rc_setup_rx_device(dev);
-		if (rc)
-			goto out_dev;
-	}
-
-	/* Ensure that the lirc kfifo is setup before we start the thread */
+	/*
+	 * once the the input device is registered in rc_setup_rx_device,
+	 * userspace can open the input device and rc_open() will be called
+	 * as a result. This results in driver code being allowed to submit
+	 * keycodes with rc_keydown, so lirc must be registered first.
+	 */
 	if (dev->allowed_protocols != RC_PROTO_BIT_CEC) {
 		rc = ir_lirc_register(dev);
 		if (rc < 0)
-			goto out_rx;
+			goto out_dev;
+	}
+
+	if (dev->driver_type != RC_DRIVER_IR_RAW_TX) {
+		rc = rc_setup_rx_device(dev);
+		if (rc)
+			goto out_lirc;
 	}
 
 	if (dev->driver_type == RC_DRIVER_IR_RAW) {
 		rc = ir_raw_event_register(dev);
 		if (rc < 0)
-			goto out_lirc;
+			goto out_rx;
 	}
 
 	dev_dbg(&dev->dev, "Registered rc%u (driver: %s)\n", dev->minor,
@@ -1898,11 +1903,11 @@
 
 	return 0;
 
+out_rx:
+	rc_free_rx_device(dev);
 out_lirc:
 	if (dev->allowed_protocols != RC_PROTO_BIT_CEC)
 		ir_lirc_unregister(dev);
-out_rx:
-	rc_free_rx_device(dev);
 out_dev:
 	device_del(&dev->dev);
 out_rx_free:
diff --git a/drivers/media/usb/dvb-usb/af9005.c b/drivers/media/usb/dvb-usb/af9005.c
index 2587197..d273746 100644
--- a/drivers/media/usb/dvb-usb/af9005.c
+++ b/drivers/media/usb/dvb-usb/af9005.c
@@ -563,7 +563,7 @@
 			      u8 *buf, int size)
 {
 	u16 checksum;
-	int act_len, i, ret;
+	int act_len = 0, i, ret;
 
 	memset(buf, 0, size);
 	buf[0] = (u8) (FW_BULKOUT_SIZE & 0xff);
diff --git a/drivers/media/usb/dvb-usb/digitv.c b/drivers/media/usb/dvb-usb/digitv.c
index 49b9d63..e66df4f 100644
--- a/drivers/media/usb/dvb-usb/digitv.c
+++ b/drivers/media/usb/dvb-usb/digitv.c
@@ -233,18 +233,22 @@
 
 static int digitv_rc_query(struct dvb_usb_device *d, u32 *event, int *state)
 {
-	int i;
+	int ret, i;
 	u8 key[5];
 	u8 b[4] = { 0 };
 
 	*event = 0;
 	*state = REMOTE_NO_KEY_PRESSED;
 
-	digitv_ctrl_msg(d,USB_READ_REMOTE,0,NULL,0,&key[1],4);
+	ret = digitv_ctrl_msg(d, USB_READ_REMOTE, 0, NULL, 0, &key[1], 4);
+	if (ret)
+		return ret;
 
 	/* Tell the device we've read the remote. Not sure how necessary
 	   this is, but the Nebula SDK does it. */
-	digitv_ctrl_msg(d,USB_WRITE_REMOTE,0,b,4,NULL,0);
+	ret = digitv_ctrl_msg(d, USB_WRITE_REMOTE, 0, b, 4, NULL, 0);
+	if (ret)
+		return ret;
 
 	/* if something is inside the buffer, simulate key press */
 	if (key[1] != 0)
diff --git a/drivers/media/usb/dvb-usb/dvb-usb-urb.c b/drivers/media/usb/dvb-usb/dvb-usb-urb.c
index c1b4e94..2aabf90 100644
--- a/drivers/media/usb/dvb-usb/dvb-usb-urb.c
+++ b/drivers/media/usb/dvb-usb/dvb-usb-urb.c
@@ -12,7 +12,7 @@
 int dvb_usb_generic_rw(struct dvb_usb_device *d, u8 *wbuf, u16 wlen, u8 *rbuf,
 	u16 rlen, int delay_ms)
 {
-	int actlen,ret = -ENOMEM;
+	int actlen = 0, ret = -ENOMEM;
 
 	if (!d || wbuf == NULL || wlen == 0)
 		return -EINVAL;
diff --git a/drivers/media/usb/dvb-usb/vp7045.c b/drivers/media/usb/dvb-usb/vp7045.c
index e2c8a85..445d3e4 100644
--- a/drivers/media/usb/dvb-usb/vp7045.c
+++ b/drivers/media/usb/dvb-usb/vp7045.c
@@ -99,10 +99,14 @@
 
 static int vp7045_rc_query(struct dvb_usb_device *d)
 {
+	int ret;
 	u8 key;
-	vp7045_usb_op(d,RC_VAL_READ,NULL,0,&key,1,20);
 
-	deb_rc("remote query key: %x %d\n",key,key);
+	ret = vp7045_usb_op(d, RC_VAL_READ, NULL, 0, &key, 1, 20);
+	if (ret)
+		return ret;
+
+	deb_rc("remote query key: %x\n", key);
 
 	if (key != 0x44) {
 		/*
@@ -118,15 +122,18 @@
 
 static int vp7045_read_eeprom(struct dvb_usb_device *d,u8 *buf, int len, int offset)
 {
-	int i = 0;
-	u8 v,br[2];
+	int i, ret;
+	u8 v, br[2];
 	for (i=0; i < len; i++) {
 		v = offset + i;
-		vp7045_usb_op(d,GET_EE_VALUE,&v,1,br,2,5);
+		ret = vp7045_usb_op(d, GET_EE_VALUE, &v, 1, br, 2, 5);
+		if (ret)
+			return ret;
+
 		buf[i] = br[1];
 	}
-	deb_info("VP7045 EEPROM read (offs: %d, len: %d) : ",offset, i);
-	debug_dump(buf,i,deb_info);
+	deb_info("VP7045 EEPROM read (offs: %d, len: %d) : ", offset, i);
+	debug_dump(buf, i, deb_info);
 	return 0;
 }
 
diff --git a/drivers/media/usb/em28xx/em28xx-core.c b/drivers/media/usb/em28xx/em28xx-core.c
index 5657f87..69445c8 100644
--- a/drivers/media/usb/em28xx/em28xx-core.c
+++ b/drivers/media/usb/em28xx/em28xx-core.c
@@ -930,7 +930,7 @@
 
 	usb_bufs->buf = kcalloc(num_bufs, sizeof(void *), GFP_KERNEL);
 	if (!usb_bufs->buf) {
-		kfree(usb_bufs->buf);
+		kfree(usb_bufs->urb);
 		return -ENOMEM;
 	}
 
diff --git a/drivers/media/usb/gspca/gspca.c b/drivers/media/usb/gspca/gspca.c
index b12356c..c9a2b29 100644
--- a/drivers/media/usb/gspca/gspca.c
+++ b/drivers/media/usb/gspca/gspca.c
@@ -1473,7 +1473,7 @@
 		pr_err("couldn't kzalloc gspca struct\n");
 		return -ENOMEM;
 	}
-	gspca_dev->usb_buf = kmalloc(USB_BUF_SZ, GFP_KERNEL);
+	gspca_dev->usb_buf = kzalloc(USB_BUF_SZ, GFP_KERNEL);
 	if (!gspca_dev->usb_buf) {
 		pr_err("out of memory\n");
 		ret = -ENOMEM;
diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c
index 063e229..38c73cd 100644
--- a/drivers/media/usb/uvc/uvc_driver.c
+++ b/drivers/media/usb/uvc/uvc_driver.c
@@ -1482,6 +1482,11 @@
 			break;
 		if (forward == prev)
 			continue;
+		if (forward->chain.next || forward->chain.prev) {
+			uvc_trace(UVC_TRACE_DESCR, "Found reference to "
+				"entity %d already in chain.\n", forward->id);
+			return -EINVAL;
+		}
 
 		switch (UVC_ENTITY_TYPE(forward)) {
 		case UVC_VC_EXTENSION_UNIT:
@@ -1563,6 +1568,13 @@
 				return -1;
 			}
 
+			if (term->chain.next || term->chain.prev) {
+				uvc_trace(UVC_TRACE_DESCR, "Found reference to "
+					"entity %d already in chain.\n",
+					term->id);
+				return -EINVAL;
+			}
+
 			if (uvc_trace_param & UVC_TRACE_PROBE)
 				printk(KERN_CONT " %d", term->id);
 
diff --git a/drivers/media/usb/zr364xx/zr364xx.c b/drivers/media/usb/zr364xx/zr364xx.c
index b888610..501030b 100644
--- a/drivers/media/usb/zr364xx/zr364xx.c
+++ b/drivers/media/usb/zr364xx/zr364xx.c
@@ -703,7 +703,8 @@
 	struct zr364xx_camera *cam = video_drvdata(file);
 
 	strlcpy(cap->driver, DRIVER_DESC, sizeof(cap->driver));
-	strlcpy(cap->card, cam->udev->product, sizeof(cap->card));
+	if (cam->udev->product)
+		strlcpy(cap->card, cam->udev->product, sizeof(cap->card));
 	strlcpy(cap->bus_info, dev_name(&cam->udev->dev),
 		sizeof(cap->bus_info));
 	cap->device_caps = V4L2_CAP_VIDEO_CAPTURE |
diff --git a/drivers/media/v4l2-core/v4l2-compat-ioctl32.c b/drivers/media/v4l2-core/v4l2-compat-ioctl32.c
index 988ec01..8914ddb 100644
--- a/drivers/media/v4l2-core/v4l2-compat-ioctl32.c
+++ b/drivers/media/v4l2-core/v4l2-compat-ioctl32.c
@@ -1177,36 +1177,38 @@
 	u32 aux_space;
 	int compatible_arg = 1;
 	long err = 0;
+	unsigned int ncmd;
 
 	/*
 	 * 1. When struct size is different, converts the command.
 	 */
 	switch (cmd) {
-	case VIDIOC_G_FMT32: cmd = VIDIOC_G_FMT; break;
-	case VIDIOC_S_FMT32: cmd = VIDIOC_S_FMT; break;
-	case VIDIOC_QUERYBUF32: cmd = VIDIOC_QUERYBUF; break;
-	case VIDIOC_G_FBUF32: cmd = VIDIOC_G_FBUF; break;
-	case VIDIOC_S_FBUF32: cmd = VIDIOC_S_FBUF; break;
-	case VIDIOC_QBUF32: cmd = VIDIOC_QBUF; break;
-	case VIDIOC_DQBUF32: cmd = VIDIOC_DQBUF; break;
-	case VIDIOC_ENUMSTD32: cmd = VIDIOC_ENUMSTD; break;
-	case VIDIOC_ENUMINPUT32: cmd = VIDIOC_ENUMINPUT; break;
-	case VIDIOC_TRY_FMT32: cmd = VIDIOC_TRY_FMT; break;
-	case VIDIOC_G_EXT_CTRLS32: cmd = VIDIOC_G_EXT_CTRLS; break;
-	case VIDIOC_S_EXT_CTRLS32: cmd = VIDIOC_S_EXT_CTRLS; break;
-	case VIDIOC_TRY_EXT_CTRLS32: cmd = VIDIOC_TRY_EXT_CTRLS; break;
-	case VIDIOC_DQEVENT32: cmd = VIDIOC_DQEVENT; break;
-	case VIDIOC_OVERLAY32: cmd = VIDIOC_OVERLAY; break;
-	case VIDIOC_STREAMON32: cmd = VIDIOC_STREAMON; break;
-	case VIDIOC_STREAMOFF32: cmd = VIDIOC_STREAMOFF; break;
-	case VIDIOC_G_INPUT32: cmd = VIDIOC_G_INPUT; break;
-	case VIDIOC_S_INPUT32: cmd = VIDIOC_S_INPUT; break;
-	case VIDIOC_G_OUTPUT32: cmd = VIDIOC_G_OUTPUT; break;
-	case VIDIOC_S_OUTPUT32: cmd = VIDIOC_S_OUTPUT; break;
-	case VIDIOC_CREATE_BUFS32: cmd = VIDIOC_CREATE_BUFS; break;
-	case VIDIOC_PREPARE_BUF32: cmd = VIDIOC_PREPARE_BUF; break;
-	case VIDIOC_G_EDID32: cmd = VIDIOC_G_EDID; break;
-	case VIDIOC_S_EDID32: cmd = VIDIOC_S_EDID; break;
+	case VIDIOC_G_FMT32: ncmd = VIDIOC_G_FMT; break;
+	case VIDIOC_S_FMT32: ncmd = VIDIOC_S_FMT; break;
+	case VIDIOC_QUERYBUF32: ncmd = VIDIOC_QUERYBUF; break;
+	case VIDIOC_G_FBUF32: ncmd = VIDIOC_G_FBUF; break;
+	case VIDIOC_S_FBUF32: ncmd = VIDIOC_S_FBUF; break;
+	case VIDIOC_QBUF32: ncmd = VIDIOC_QBUF; break;
+	case VIDIOC_DQBUF32: ncmd = VIDIOC_DQBUF; break;
+	case VIDIOC_ENUMSTD32: ncmd = VIDIOC_ENUMSTD; break;
+	case VIDIOC_ENUMINPUT32: ncmd = VIDIOC_ENUMINPUT; break;
+	case VIDIOC_TRY_FMT32: ncmd = VIDIOC_TRY_FMT; break;
+	case VIDIOC_G_EXT_CTRLS32: ncmd = VIDIOC_G_EXT_CTRLS; break;
+	case VIDIOC_S_EXT_CTRLS32: ncmd = VIDIOC_S_EXT_CTRLS; break;
+	case VIDIOC_TRY_EXT_CTRLS32: ncmd = VIDIOC_TRY_EXT_CTRLS; break;
+	case VIDIOC_DQEVENT32: ncmd = VIDIOC_DQEVENT; break;
+	case VIDIOC_OVERLAY32: ncmd = VIDIOC_OVERLAY; break;
+	case VIDIOC_STREAMON32: ncmd = VIDIOC_STREAMON; break;
+	case VIDIOC_STREAMOFF32: ncmd = VIDIOC_STREAMOFF; break;
+	case VIDIOC_G_INPUT32: ncmd = VIDIOC_G_INPUT; break;
+	case VIDIOC_S_INPUT32: ncmd = VIDIOC_S_INPUT; break;
+	case VIDIOC_G_OUTPUT32: ncmd = VIDIOC_G_OUTPUT; break;
+	case VIDIOC_S_OUTPUT32: ncmd = VIDIOC_S_OUTPUT; break;
+	case VIDIOC_CREATE_BUFS32: ncmd = VIDIOC_CREATE_BUFS; break;
+	case VIDIOC_PREPARE_BUF32: ncmd = VIDIOC_PREPARE_BUF; break;
+	case VIDIOC_G_EDID32: ncmd = VIDIOC_G_EDID; break;
+	case VIDIOC_S_EDID32: ncmd = VIDIOC_S_EDID; break;
+	default: ncmd = cmd; break;
 	}
 
 	/*
@@ -1215,11 +1217,11 @@
 	 * argument into it.
 	 */
 	switch (cmd) {
-	case VIDIOC_OVERLAY:
-	case VIDIOC_STREAMON:
-	case VIDIOC_STREAMOFF:
-	case VIDIOC_S_INPUT:
-	case VIDIOC_S_OUTPUT:
+	case VIDIOC_OVERLAY32:
+	case VIDIOC_STREAMON32:
+	case VIDIOC_STREAMOFF32:
+	case VIDIOC_S_INPUT32:
+	case VIDIOC_S_OUTPUT32:
 		err = alloc_userspace(sizeof(unsigned int), 0, &new_p64);
 		if (!err && assign_in_user((unsigned int __user *)new_p64,
 					   (compat_uint_t __user *)p32))
@@ -1227,23 +1229,23 @@
 		compatible_arg = 0;
 		break;
 
-	case VIDIOC_G_INPUT:
-	case VIDIOC_G_OUTPUT:
+	case VIDIOC_G_INPUT32:
+	case VIDIOC_G_OUTPUT32:
 		err = alloc_userspace(sizeof(unsigned int), 0, &new_p64);
 		compatible_arg = 0;
 		break;
 
-	case VIDIOC_G_EDID:
-	case VIDIOC_S_EDID:
+	case VIDIOC_G_EDID32:
+	case VIDIOC_S_EDID32:
 		err = alloc_userspace(sizeof(struct v4l2_edid), 0, &new_p64);
 		if (!err)
 			err = get_v4l2_edid32(new_p64, p32);
 		compatible_arg = 0;
 		break;
 
-	case VIDIOC_G_FMT:
-	case VIDIOC_S_FMT:
-	case VIDIOC_TRY_FMT:
+	case VIDIOC_G_FMT32:
+	case VIDIOC_S_FMT32:
+	case VIDIOC_TRY_FMT32:
 		err = bufsize_v4l2_format(p32, &aux_space);
 		if (!err)
 			err = alloc_userspace(sizeof(struct v4l2_format),
@@ -1256,7 +1258,7 @@
 		compatible_arg = 0;
 		break;
 
-	case VIDIOC_CREATE_BUFS:
+	case VIDIOC_CREATE_BUFS32:
 		err = bufsize_v4l2_create(p32, &aux_space);
 		if (!err)
 			err = alloc_userspace(sizeof(struct v4l2_create_buffers),
@@ -1269,10 +1271,10 @@
 		compatible_arg = 0;
 		break;
 
-	case VIDIOC_PREPARE_BUF:
-	case VIDIOC_QUERYBUF:
-	case VIDIOC_QBUF:
-	case VIDIOC_DQBUF:
+	case VIDIOC_PREPARE_BUF32:
+	case VIDIOC_QUERYBUF32:
+	case VIDIOC_QBUF32:
+	case VIDIOC_DQBUF32:
 		err = bufsize_v4l2_buffer(p32, &aux_space);
 		if (!err)
 			err = alloc_userspace(sizeof(struct v4l2_buffer),
@@ -1285,7 +1287,7 @@
 		compatible_arg = 0;
 		break;
 
-	case VIDIOC_S_FBUF:
+	case VIDIOC_S_FBUF32:
 		err = alloc_userspace(sizeof(struct v4l2_framebuffer), 0,
 				      &new_p64);
 		if (!err)
@@ -1293,13 +1295,13 @@
 		compatible_arg = 0;
 		break;
 
-	case VIDIOC_G_FBUF:
+	case VIDIOC_G_FBUF32:
 		err = alloc_userspace(sizeof(struct v4l2_framebuffer), 0,
 				      &new_p64);
 		compatible_arg = 0;
 		break;
 
-	case VIDIOC_ENUMSTD:
+	case VIDIOC_ENUMSTD32:
 		err = alloc_userspace(sizeof(struct v4l2_standard), 0,
 				      &new_p64);
 		if (!err)
@@ -1307,16 +1309,16 @@
 		compatible_arg = 0;
 		break;
 
-	case VIDIOC_ENUMINPUT:
+	case VIDIOC_ENUMINPUT32:
 		err = alloc_userspace(sizeof(struct v4l2_input), 0, &new_p64);
 		if (!err)
 			err = get_v4l2_input32(new_p64, p32);
 		compatible_arg = 0;
 		break;
 
-	case VIDIOC_G_EXT_CTRLS:
-	case VIDIOC_S_EXT_CTRLS:
-	case VIDIOC_TRY_EXT_CTRLS:
+	case VIDIOC_G_EXT_CTRLS32:
+	case VIDIOC_S_EXT_CTRLS32:
+	case VIDIOC_TRY_EXT_CTRLS32:
 		err = bufsize_v4l2_ext_controls(p32, &aux_space);
 		if (!err)
 			err = alloc_userspace(sizeof(struct v4l2_ext_controls),
@@ -1328,7 +1330,7 @@
 		}
 		compatible_arg = 0;
 		break;
-	case VIDIOC_DQEVENT:
+	case VIDIOC_DQEVENT32:
 		err = alloc_userspace(sizeof(struct v4l2_event), 0, &new_p64);
 		compatible_arg = 0;
 		break;
@@ -1346,9 +1348,9 @@
 	 * Otherwise, it will pass the newly allocated @new_p64 argument.
 	 */
 	if (compatible_arg)
-		err = native_ioctl(file, cmd, (unsigned long)p32);
+		err = native_ioctl(file, ncmd, (unsigned long)p32);
 	else
-		err = native_ioctl(file, cmd, (unsigned long)new_p64);
+		err = native_ioctl(file, ncmd, (unsigned long)new_p64);
 
 	if (err == -ENOTTY)
 		return err;
@@ -1364,13 +1366,13 @@
 	 * the blocks to maximum allowed value.
 	 */
 	switch (cmd) {
-	case VIDIOC_G_EXT_CTRLS:
-	case VIDIOC_S_EXT_CTRLS:
-	case VIDIOC_TRY_EXT_CTRLS:
+	case VIDIOC_G_EXT_CTRLS32:
+	case VIDIOC_S_EXT_CTRLS32:
+	case VIDIOC_TRY_EXT_CTRLS32:
 		if (put_v4l2_ext_controls32(file, new_p64, p32))
 			err = -EFAULT;
 		break;
-	case VIDIOC_S_EDID:
+	case VIDIOC_S_EDID32:
 		if (put_v4l2_edid32(new_p64, p32))
 			err = -EFAULT;
 		break;
@@ -1383,49 +1385,49 @@
 	 * the original 32 bits structure.
 	 */
 	switch (cmd) {
-	case VIDIOC_S_INPUT:
-	case VIDIOC_S_OUTPUT:
-	case VIDIOC_G_INPUT:
-	case VIDIOC_G_OUTPUT:
+	case VIDIOC_S_INPUT32:
+	case VIDIOC_S_OUTPUT32:
+	case VIDIOC_G_INPUT32:
+	case VIDIOC_G_OUTPUT32:
 		if (assign_in_user((compat_uint_t __user *)p32,
 				   ((unsigned int __user *)new_p64)))
 			err = -EFAULT;
 		break;
 
-	case VIDIOC_G_FBUF:
+	case VIDIOC_G_FBUF32:
 		err = put_v4l2_framebuffer32(new_p64, p32);
 		break;
 
-	case VIDIOC_DQEVENT:
+	case VIDIOC_DQEVENT32:
 		err = put_v4l2_event32(new_p64, p32);
 		break;
 
-	case VIDIOC_G_EDID:
+	case VIDIOC_G_EDID32:
 		err = put_v4l2_edid32(new_p64, p32);
 		break;
 
-	case VIDIOC_G_FMT:
-	case VIDIOC_S_FMT:
-	case VIDIOC_TRY_FMT:
+	case VIDIOC_G_FMT32:
+	case VIDIOC_S_FMT32:
+	case VIDIOC_TRY_FMT32:
 		err = put_v4l2_format32(new_p64, p32);
 		break;
 
-	case VIDIOC_CREATE_BUFS:
+	case VIDIOC_CREATE_BUFS32:
 		err = put_v4l2_create32(new_p64, p32);
 		break;
 
-	case VIDIOC_PREPARE_BUF:
-	case VIDIOC_QUERYBUF:
-	case VIDIOC_QBUF:
-	case VIDIOC_DQBUF:
+	case VIDIOC_PREPARE_BUF32:
+	case VIDIOC_QUERYBUF32:
+	case VIDIOC_QBUF32:
+	case VIDIOC_DQBUF32:
 		err = put_v4l2_buffer32(new_p64, p32);
 		break;
 
-	case VIDIOC_ENUMSTD:
+	case VIDIOC_ENUMSTD32:
 		err = put_v4l2_standard32(new_p64, p32);
 		break;
 
-	case VIDIOC_ENUMINPUT:
+	case VIDIOC_ENUMINPUT32:
 		err = put_v4l2_input32(new_p64, p32);
 		break;
 	}
diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c
index b7bf43b..9a8743c 100644
--- a/drivers/media/v4l2-core/v4l2-ioctl.c
+++ b/drivers/media/v4l2-core/v4l2-ioctl.c
@@ -1638,12 +1638,12 @@
 	case V4L2_BUF_TYPE_VBI_CAPTURE:
 		if (unlikely(!ops->vidioc_s_fmt_vbi_cap))
 			break;
-		CLEAR_AFTER_FIELD(p, fmt.vbi);
+		CLEAR_AFTER_FIELD(p, fmt.vbi.flags);
 		return ops->vidioc_s_fmt_vbi_cap(file, fh, arg);
 	case V4L2_BUF_TYPE_SLICED_VBI_CAPTURE:
 		if (unlikely(!ops->vidioc_s_fmt_sliced_vbi_cap))
 			break;
-		CLEAR_AFTER_FIELD(p, fmt.sliced);
+		CLEAR_AFTER_FIELD(p, fmt.sliced.io_size);
 		return ops->vidioc_s_fmt_sliced_vbi_cap(file, fh, arg);
 	case V4L2_BUF_TYPE_VIDEO_OUTPUT:
 		if (unlikely(!ops->vidioc_s_fmt_vid_out))
@@ -1666,22 +1666,22 @@
 	case V4L2_BUF_TYPE_VBI_OUTPUT:
 		if (unlikely(!ops->vidioc_s_fmt_vbi_out))
 			break;
-		CLEAR_AFTER_FIELD(p, fmt.vbi);
+		CLEAR_AFTER_FIELD(p, fmt.vbi.flags);
 		return ops->vidioc_s_fmt_vbi_out(file, fh, arg);
 	case V4L2_BUF_TYPE_SLICED_VBI_OUTPUT:
 		if (unlikely(!ops->vidioc_s_fmt_sliced_vbi_out))
 			break;
-		CLEAR_AFTER_FIELD(p, fmt.sliced);
+		CLEAR_AFTER_FIELD(p, fmt.sliced.io_size);
 		return ops->vidioc_s_fmt_sliced_vbi_out(file, fh, arg);
 	case V4L2_BUF_TYPE_SDR_CAPTURE:
 		if (unlikely(!ops->vidioc_s_fmt_sdr_cap))
 			break;
-		CLEAR_AFTER_FIELD(p, fmt.sdr);
+		CLEAR_AFTER_FIELD(p, fmt.sdr.buffersize);
 		return ops->vidioc_s_fmt_sdr_cap(file, fh, arg);
 	case V4L2_BUF_TYPE_SDR_OUTPUT:
 		if (unlikely(!ops->vidioc_s_fmt_sdr_out))
 			break;
-		CLEAR_AFTER_FIELD(p, fmt.sdr);
+		CLEAR_AFTER_FIELD(p, fmt.sdr.buffersize);
 		return ops->vidioc_s_fmt_sdr_out(file, fh, arg);
 	case V4L2_BUF_TYPE_META_CAPTURE:
 		if (unlikely(!ops->vidioc_s_fmt_meta_cap))
@@ -1725,12 +1725,12 @@
 	case V4L2_BUF_TYPE_VBI_CAPTURE:
 		if (unlikely(!ops->vidioc_try_fmt_vbi_cap))
 			break;
-		CLEAR_AFTER_FIELD(p, fmt.vbi);
+		CLEAR_AFTER_FIELD(p, fmt.vbi.flags);
 		return ops->vidioc_try_fmt_vbi_cap(file, fh, arg);
 	case V4L2_BUF_TYPE_SLICED_VBI_CAPTURE:
 		if (unlikely(!ops->vidioc_try_fmt_sliced_vbi_cap))
 			break;
-		CLEAR_AFTER_FIELD(p, fmt.sliced);
+		CLEAR_AFTER_FIELD(p, fmt.sliced.io_size);
 		return ops->vidioc_try_fmt_sliced_vbi_cap(file, fh, arg);
 	case V4L2_BUF_TYPE_VIDEO_OUTPUT:
 		if (unlikely(!ops->vidioc_try_fmt_vid_out))
@@ -1753,22 +1753,22 @@
 	case V4L2_BUF_TYPE_VBI_OUTPUT:
 		if (unlikely(!ops->vidioc_try_fmt_vbi_out))
 			break;
-		CLEAR_AFTER_FIELD(p, fmt.vbi);
+		CLEAR_AFTER_FIELD(p, fmt.vbi.flags);
 		return ops->vidioc_try_fmt_vbi_out(file, fh, arg);
 	case V4L2_BUF_TYPE_SLICED_VBI_OUTPUT:
 		if (unlikely(!ops->vidioc_try_fmt_sliced_vbi_out))
 			break;
-		CLEAR_AFTER_FIELD(p, fmt.sliced);
+		CLEAR_AFTER_FIELD(p, fmt.sliced.io_size);
 		return ops->vidioc_try_fmt_sliced_vbi_out(file, fh, arg);
 	case V4L2_BUF_TYPE_SDR_CAPTURE:
 		if (unlikely(!ops->vidioc_try_fmt_sdr_cap))
 			break;
-		CLEAR_AFTER_FIELD(p, fmt.sdr);
+		CLEAR_AFTER_FIELD(p, fmt.sdr.buffersize);
 		return ops->vidioc_try_fmt_sdr_cap(file, fh, arg);
 	case V4L2_BUF_TYPE_SDR_OUTPUT:
 		if (unlikely(!ops->vidioc_try_fmt_sdr_out))
 			break;
-		CLEAR_AFTER_FIELD(p, fmt.sdr);
+		CLEAR_AFTER_FIELD(p, fmt.sdr.buffersize);
 		return ops->vidioc_try_fmt_sdr_out(file, fh, arg);
 	case V4L2_BUF_TYPE_META_CAPTURE:
 		if (unlikely(!ops->vidioc_try_fmt_meta_cap))
diff --git a/drivers/media/v4l2-core/v4l2-mem2mem.c b/drivers/media/v4l2-core/v4l2-mem2mem.c
index ce9bd1b..fc237b8 100644
--- a/drivers/media/v4l2-core/v4l2-mem2mem.c
+++ b/drivers/media/v4l2-core/v4l2-mem2mem.c
@@ -787,12 +787,12 @@
 		goto err_rel_entity1;
 
 	/* Connect the three entities */
-	ret = media_create_pad_link(m2m_dev->source, 0, &m2m_dev->proc, 1,
+	ret = media_create_pad_link(m2m_dev->source, 0, &m2m_dev->proc, 0,
 			MEDIA_LNK_FL_IMMUTABLE | MEDIA_LNK_FL_ENABLED);
 	if (ret)
 		goto err_rel_entity2;
 
-	ret = media_create_pad_link(&m2m_dev->proc, 0, &m2m_dev->sink, 0,
+	ret = media_create_pad_link(&m2m_dev->proc, 1, &m2m_dev->sink, 0,
 			MEDIA_LNK_FL_IMMUTABLE | MEDIA_LNK_FL_ENABLED);
 	if (ret)
 		goto err_rm_links0;
diff --git a/drivers/media/v4l2-core/videobuf-dma-sg.c b/drivers/media/v4l2-core/videobuf-dma-sg.c
index 08929c0..4c396e0 100644
--- a/drivers/media/v4l2-core/videobuf-dma-sg.c
+++ b/drivers/media/v4l2-core/videobuf-dma-sg.c
@@ -352,8 +352,11 @@
 	BUG_ON(dma->sglen);
 
 	if (dma->pages) {
-		for (i = 0; i < dma->nr_pages; i++)
+		for (i = 0; i < dma->nr_pages; i++) {
+			if (dma->direction == DMA_FROM_DEVICE)
+				set_page_dirty_lock(dma->pages[i]);
 			put_page(dma->pages[i]);
+		}
 		kfree(dma->pages);
 		dma->pages = NULL;
 	}
diff --git a/drivers/memory/tegra/mc.c b/drivers/memory/tegra/mc.c
index c8f1666..346d8ea 100644
--- a/drivers/memory/tegra/mc.c
+++ b/drivers/memory/tegra/mc.c
@@ -664,12 +664,13 @@
 		}
 
 		isr = tegra_mc_irq;
-	}
 
-	err = tegra_mc_setup_timings(mc);
-	if (err < 0) {
-		dev_err(&pdev->dev, "failed to setup timings: %d\n", err);
-		return err;
+		err = tegra_mc_setup_timings(mc);
+		if (err < 0) {
+			dev_err(&pdev->dev, "failed to setup timings: %d\n",
+				err);
+			return err;
+		}
 	}
 
 	mc->irq = platform_get_irq(pdev, 0);
diff --git a/drivers/message/fusion/mptctl.c b/drivers/message/fusion/mptctl.c
index 8d22d61..a0a42bd 100644
--- a/drivers/message/fusion/mptctl.c
+++ b/drivers/message/fusion/mptctl.c
@@ -100,19 +100,19 @@
  * Function prototypes. Called from OS entry point mptctl_ioctl.
  * arg contents specific to function.
  */
-static int mptctl_fw_download(unsigned long arg);
-static int mptctl_getiocinfo(unsigned long arg, unsigned int cmd);
-static int mptctl_gettargetinfo(unsigned long arg);
-static int mptctl_readtest(unsigned long arg);
-static int mptctl_mpt_command(unsigned long arg);
-static int mptctl_eventquery(unsigned long arg);
-static int mptctl_eventenable(unsigned long arg);
-static int mptctl_eventreport(unsigned long arg);
-static int mptctl_replace_fw(unsigned long arg);
+static int mptctl_fw_download(MPT_ADAPTER *iocp, unsigned long arg);
+static int mptctl_getiocinfo(MPT_ADAPTER *iocp, unsigned long arg, unsigned int cmd);
+static int mptctl_gettargetinfo(MPT_ADAPTER *iocp, unsigned long arg);
+static int mptctl_readtest(MPT_ADAPTER *iocp, unsigned long arg);
+static int mptctl_mpt_command(MPT_ADAPTER *iocp, unsigned long arg);
+static int mptctl_eventquery(MPT_ADAPTER *iocp, unsigned long arg);
+static int mptctl_eventenable(MPT_ADAPTER *iocp, unsigned long arg);
+static int mptctl_eventreport(MPT_ADAPTER *iocp, unsigned long arg);
+static int mptctl_replace_fw(MPT_ADAPTER *iocp, unsigned long arg);
 
-static int mptctl_do_reset(unsigned long arg);
-static int mptctl_hp_hostinfo(unsigned long arg, unsigned int cmd);
-static int mptctl_hp_targetinfo(unsigned long arg);
+static int mptctl_do_reset(MPT_ADAPTER *iocp, unsigned long arg);
+static int mptctl_hp_hostinfo(MPT_ADAPTER *iocp, unsigned long arg, unsigned int cmd);
+static int mptctl_hp_targetinfo(MPT_ADAPTER *iocp, unsigned long arg);
 
 static int  mptctl_probe(struct pci_dev *, const struct pci_device_id *);
 static void mptctl_remove(struct pci_dev *);
@@ -123,8 +123,8 @@
 /*
  * Private function calls.
  */
-static int mptctl_do_mpt_command(struct mpt_ioctl_command karg, void __user *mfPtr);
-static int mptctl_do_fw_download(int ioc, char __user *ufwbuf, size_t fwlen);
+static int mptctl_do_mpt_command(MPT_ADAPTER *iocp, struct mpt_ioctl_command karg, void __user *mfPtr);
+static int mptctl_do_fw_download(MPT_ADAPTER *iocp, char __user *ufwbuf, size_t fwlen);
 static MptSge_t *kbuf_alloc_2_sgl(int bytes, u32 dir, int sge_offset, int *frags,
 		struct buflist **blp, dma_addr_t *sglbuf_dma, MPT_ADAPTER *ioc);
 static void kfree_sgl(MptSge_t *sgl, dma_addr_t sgl_dma,
@@ -656,19 +656,19 @@
 	 * by TM and FW reloads.
 	 */
 	if ((cmd & ~IOCSIZE_MASK) == (MPTIOCINFO & ~IOCSIZE_MASK)) {
-		return mptctl_getiocinfo(arg, _IOC_SIZE(cmd));
+		return mptctl_getiocinfo(iocp, arg, _IOC_SIZE(cmd));
 	} else if (cmd == MPTTARGETINFO) {
-		return mptctl_gettargetinfo(arg);
+		return mptctl_gettargetinfo(iocp, arg);
 	} else if (cmd == MPTTEST) {
-		return mptctl_readtest(arg);
+		return mptctl_readtest(iocp, arg);
 	} else if (cmd == MPTEVENTQUERY) {
-		return mptctl_eventquery(arg);
+		return mptctl_eventquery(iocp, arg);
 	} else if (cmd == MPTEVENTENABLE) {
-		return mptctl_eventenable(arg);
+		return mptctl_eventenable(iocp, arg);
 	} else if (cmd == MPTEVENTREPORT) {
-		return mptctl_eventreport(arg);
+		return mptctl_eventreport(iocp, arg);
 	} else if (cmd == MPTFWREPLACE) {
-		return mptctl_replace_fw(arg);
+		return mptctl_replace_fw(iocp, arg);
 	}
 
 	/* All of these commands require an interrupt or
@@ -678,15 +678,15 @@
 		return ret;
 
 	if (cmd == MPTFWDOWNLOAD)
-		ret = mptctl_fw_download(arg);
+		ret = mptctl_fw_download(iocp, arg);
 	else if (cmd == MPTCOMMAND)
-		ret = mptctl_mpt_command(arg);
+		ret = mptctl_mpt_command(iocp, arg);
 	else if (cmd == MPTHARDRESET)
-		ret = mptctl_do_reset(arg);
+		ret = mptctl_do_reset(iocp, arg);
 	else if ((cmd & ~IOCSIZE_MASK) == (HP_GETHOSTINFO & ~IOCSIZE_MASK))
-		ret = mptctl_hp_hostinfo(arg, _IOC_SIZE(cmd));
+		ret = mptctl_hp_hostinfo(iocp, arg, _IOC_SIZE(cmd));
 	else if (cmd == HP_GETTARGETINFO)
-		ret = mptctl_hp_targetinfo(arg);
+		ret = mptctl_hp_targetinfo(iocp, arg);
 	else
 		ret = -EINVAL;
 
@@ -705,11 +705,10 @@
 	return ret;
 }
 
-static int mptctl_do_reset(unsigned long arg)
+static int mptctl_do_reset(MPT_ADAPTER *iocp, unsigned long arg)
 {
 	struct mpt_ioctl_diag_reset __user *urinfo = (void __user *) arg;
 	struct mpt_ioctl_diag_reset krinfo;
-	MPT_ADAPTER		*iocp;
 
 	if (copy_from_user(&krinfo, urinfo, sizeof(struct mpt_ioctl_diag_reset))) {
 		printk(KERN_ERR MYNAM "%s@%d::mptctl_do_reset - "
@@ -718,12 +717,6 @@
 		return -EFAULT;
 	}
 
-	if (mpt_verify_adapter(krinfo.hdr.iocnum, &iocp) < 0) {
-		printk(KERN_DEBUG MYNAM "%s@%d::mptctl_do_reset - ioc%d not found!\n",
-				__FILE__, __LINE__, krinfo.hdr.iocnum);
-		return -ENODEV; /* (-6) No such device or address */
-	}
-
 	dctlprintk(iocp, printk(MYIOC_s_DEBUG_FMT "mptctl_do_reset called.\n",
 	    iocp->name));
 
@@ -754,7 +747,7 @@
  *		-ENOMSG if FW upload returned bad status
  */
 static int
-mptctl_fw_download(unsigned long arg)
+mptctl_fw_download(MPT_ADAPTER *iocp, unsigned long arg)
 {
 	struct mpt_fw_xfer __user *ufwdl = (void __user *) arg;
 	struct mpt_fw_xfer	 kfwdl;
@@ -766,7 +759,7 @@
 		return -EFAULT;
 	}
 
-	return mptctl_do_fw_download(kfwdl.iocnum, kfwdl.bufp, kfwdl.fwlen);
+	return mptctl_do_fw_download(iocp, kfwdl.bufp, kfwdl.fwlen);
 }
 
 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
@@ -784,11 +777,10 @@
  *		-ENOMSG if FW upload returned bad status
  */
 static int
-mptctl_do_fw_download(int ioc, char __user *ufwbuf, size_t fwlen)
+mptctl_do_fw_download(MPT_ADAPTER *iocp, char __user *ufwbuf, size_t fwlen)
 {
 	FWDownload_t		*dlmsg;
 	MPT_FRAME_HDR		*mf;
-	MPT_ADAPTER		*iocp;
 	FWDownloadTCSGE_t	*ptsge;
 	MptSge_t		*sgl, *sgIn;
 	char			*sgOut;
@@ -808,17 +800,10 @@
 	pFWDownloadReply_t	 ReplyMsg = NULL;
 	unsigned long		 timeleft;
 
-	if (mpt_verify_adapter(ioc, &iocp) < 0) {
-		printk(KERN_DEBUG MYNAM "ioctl_fwdl - ioc%d not found!\n",
-				 ioc);
-		return -ENODEV; /* (-6) No such device or address */
-	} else {
-
-		/*  Valid device. Get a message frame and construct the FW download message.
-	 	*/
-		if ((mf = mpt_get_msg_frame(mptctl_id, iocp)) == NULL)
-			return -EAGAIN;
-	}
+	/*  Valid device. Get a message frame and construct the FW download message.
+	*/
+	if ((mf = mpt_get_msg_frame(mptctl_id, iocp)) == NULL)
+		return -EAGAIN;
 
 	dctlprintk(iocp, printk(MYIOC_s_DEBUG_FMT
 	    "mptctl_do_fwdl called. mptctl_id = %xh.\n", iocp->name, mptctl_id));
@@ -826,8 +811,6 @@
 	    iocp->name, ufwbuf));
 	dctlprintk(iocp, printk(MYIOC_s_DEBUG_FMT "DbG: kfwdl.fwlen = %d\n",
 	    iocp->name, (int)fwlen));
-	dctlprintk(iocp, printk(MYIOC_s_DEBUG_FMT "DbG: kfwdl.ioc   = %04xh\n",
-	    iocp->name, ioc));
 
 	dlmsg = (FWDownload_t*) mf;
 	ptsge = (FWDownloadTCSGE_t *) &dlmsg->SGL;
@@ -1238,13 +1221,11 @@
  *		-ENODEV  if no such device/adapter
  */
 static int
-mptctl_getiocinfo (unsigned long arg, unsigned int data_size)
+mptctl_getiocinfo (MPT_ADAPTER *ioc, unsigned long arg, unsigned int data_size)
 {
 	struct mpt_ioctl_iocinfo __user *uarg = (void __user *) arg;
 	struct mpt_ioctl_iocinfo *karg;
-	MPT_ADAPTER		*ioc;
 	struct pci_dev		*pdev;
-	int			iocnum;
 	unsigned int		port;
 	int			cim_rev;
 	struct scsi_device 	*sdev;
@@ -1272,14 +1253,6 @@
 		return PTR_ERR(karg);
 	}
 
-	if (((iocnum = mpt_verify_adapter(karg->hdr.iocnum, &ioc)) < 0) ||
-	    (ioc == NULL)) {
-		printk(KERN_DEBUG MYNAM "%s::mptctl_getiocinfo() @%d - ioc%d not found!\n",
-				__FILE__, __LINE__, iocnum);
-		kfree(karg);
-		return -ENODEV;
-	}
-
 	/* Verify the data transfer size is correct. */
 	if (karg->hdr.maxDataSize != data_size) {
 		printk(MYIOC_s_ERR_FMT "%s@%d::mptctl_getiocinfo - "
@@ -1385,15 +1358,13 @@
  *		-ENODEV  if no such device/adapter
  */
 static int
-mptctl_gettargetinfo (unsigned long arg)
+mptctl_gettargetinfo (MPT_ADAPTER *ioc, unsigned long arg)
 {
 	struct mpt_ioctl_targetinfo __user *uarg = (void __user *) arg;
 	struct mpt_ioctl_targetinfo karg;
-	MPT_ADAPTER		*ioc;
 	VirtDevice		*vdevice;
 	char			*pmem;
 	int			*pdata;
-	int			iocnum;
 	int			numDevices = 0;
 	int			lun;
 	int			maxWordsLeft;
@@ -1408,13 +1379,6 @@
 		return -EFAULT;
 	}
 
-	if (((iocnum = mpt_verify_adapter(karg.hdr.iocnum, &ioc)) < 0) ||
-	    (ioc == NULL)) {
-		printk(KERN_DEBUG MYNAM "%s::mptctl_gettargetinfo() @%d - ioc%d not found!\n",
-				__FILE__, __LINE__, iocnum);
-		return -ENODEV;
-	}
-
 	dctlprintk(ioc, printk(MYIOC_s_DEBUG_FMT "mptctl_gettargetinfo called.\n",
 	    ioc->name));
 	/* Get the port number and set the maximum number of bytes
@@ -1510,12 +1474,10 @@
  *		-ENODEV  if no such device/adapter
  */
 static int
-mptctl_readtest (unsigned long arg)
+mptctl_readtest (MPT_ADAPTER *ioc, unsigned long arg)
 {
 	struct mpt_ioctl_test __user *uarg = (void __user *) arg;
 	struct mpt_ioctl_test	 karg;
-	MPT_ADAPTER *ioc;
-	int iocnum;
 
 	if (copy_from_user(&karg, uarg, sizeof(struct mpt_ioctl_test))) {
 		printk(KERN_ERR MYNAM "%s@%d::mptctl_readtest - "
@@ -1524,13 +1486,6 @@
 		return -EFAULT;
 	}
 
-	if (((iocnum = mpt_verify_adapter(karg.hdr.iocnum, &ioc)) < 0) ||
-	    (ioc == NULL)) {
-		printk(KERN_DEBUG MYNAM "%s::mptctl_readtest() @%d - ioc%d not found!\n",
-				__FILE__, __LINE__, iocnum);
-		return -ENODEV;
-	}
-
 	dctlprintk(ioc, printk(MYIOC_s_DEBUG_FMT "mptctl_readtest called.\n",
 	    ioc->name));
 	/* Fill in the data and return the structure to the calling
@@ -1571,12 +1526,10 @@
  *		-ENODEV  if no such device/adapter
  */
 static int
-mptctl_eventquery (unsigned long arg)
+mptctl_eventquery (MPT_ADAPTER *ioc, unsigned long arg)
 {
 	struct mpt_ioctl_eventquery __user *uarg = (void __user *) arg;
 	struct mpt_ioctl_eventquery	 karg;
-	MPT_ADAPTER *ioc;
-	int iocnum;
 
 	if (copy_from_user(&karg, uarg, sizeof(struct mpt_ioctl_eventquery))) {
 		printk(KERN_ERR MYNAM "%s@%d::mptctl_eventquery - "
@@ -1585,13 +1538,6 @@
 		return -EFAULT;
 	}
 
-	if (((iocnum = mpt_verify_adapter(karg.hdr.iocnum, &ioc)) < 0) ||
-	    (ioc == NULL)) {
-		printk(KERN_DEBUG MYNAM "%s::mptctl_eventquery() @%d - ioc%d not found!\n",
-				__FILE__, __LINE__, iocnum);
-		return -ENODEV;
-	}
-
 	dctlprintk(ioc, printk(MYIOC_s_DEBUG_FMT "mptctl_eventquery called.\n",
 	    ioc->name));
 	karg.eventEntries = MPTCTL_EVENT_LOG_SIZE;
@@ -1610,12 +1556,10 @@
 
 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
 static int
-mptctl_eventenable (unsigned long arg)
+mptctl_eventenable (MPT_ADAPTER *ioc, unsigned long arg)
 {
 	struct mpt_ioctl_eventenable __user *uarg = (void __user *) arg;
 	struct mpt_ioctl_eventenable	 karg;
-	MPT_ADAPTER *ioc;
-	int iocnum;
 
 	if (copy_from_user(&karg, uarg, sizeof(struct mpt_ioctl_eventenable))) {
 		printk(KERN_ERR MYNAM "%s@%d::mptctl_eventenable - "
@@ -1624,13 +1568,6 @@
 		return -EFAULT;
 	}
 
-	if (((iocnum = mpt_verify_adapter(karg.hdr.iocnum, &ioc)) < 0) ||
-	    (ioc == NULL)) {
-		printk(KERN_DEBUG MYNAM "%s::mptctl_eventenable() @%d - ioc%d not found!\n",
-				__FILE__, __LINE__, iocnum);
-		return -ENODEV;
-	}
-
 	dctlprintk(ioc, printk(MYIOC_s_DEBUG_FMT "mptctl_eventenable called.\n",
 	    ioc->name));
 	if (ioc->events == NULL) {
@@ -1658,12 +1595,10 @@
 
 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
 static int
-mptctl_eventreport (unsigned long arg)
+mptctl_eventreport (MPT_ADAPTER *ioc, unsigned long arg)
 {
 	struct mpt_ioctl_eventreport __user *uarg = (void __user *) arg;
 	struct mpt_ioctl_eventreport	 karg;
-	MPT_ADAPTER		 *ioc;
-	int			 iocnum;
 	int			 numBytes, maxEvents, max;
 
 	if (copy_from_user(&karg, uarg, sizeof(struct mpt_ioctl_eventreport))) {
@@ -1673,12 +1608,6 @@
 		return -EFAULT;
 	}
 
-	if (((iocnum = mpt_verify_adapter(karg.hdr.iocnum, &ioc)) < 0) ||
-	    (ioc == NULL)) {
-		printk(KERN_DEBUG MYNAM "%s::mptctl_eventreport() @%d - ioc%d not found!\n",
-				__FILE__, __LINE__, iocnum);
-		return -ENODEV;
-	}
 	dctlprintk(ioc, printk(MYIOC_s_DEBUG_FMT "mptctl_eventreport called.\n",
 	    ioc->name));
 
@@ -1712,12 +1641,10 @@
 
 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
 static int
-mptctl_replace_fw (unsigned long arg)
+mptctl_replace_fw (MPT_ADAPTER *ioc, unsigned long arg)
 {
 	struct mpt_ioctl_replace_fw __user *uarg = (void __user *) arg;
 	struct mpt_ioctl_replace_fw	 karg;
-	MPT_ADAPTER		 *ioc;
-	int			 iocnum;
 	int			 newFwSize;
 
 	if (copy_from_user(&karg, uarg, sizeof(struct mpt_ioctl_replace_fw))) {
@@ -1727,13 +1654,6 @@
 		return -EFAULT;
 	}
 
-	if (((iocnum = mpt_verify_adapter(karg.hdr.iocnum, &ioc)) < 0) ||
-	    (ioc == NULL)) {
-		printk(KERN_DEBUG MYNAM "%s::mptctl_replace_fw() @%d - ioc%d not found!\n",
-				__FILE__, __LINE__, iocnum);
-		return -ENODEV;
-	}
-
 	dctlprintk(ioc, printk(MYIOC_s_DEBUG_FMT "mptctl_replace_fw called.\n",
 	    ioc->name));
 	/* If caching FW, Free the old FW image
@@ -1780,12 +1700,10 @@
  *		-ENOMEM if memory allocation error
  */
 static int
-mptctl_mpt_command (unsigned long arg)
+mptctl_mpt_command (MPT_ADAPTER *ioc, unsigned long arg)
 {
 	struct mpt_ioctl_command __user *uarg = (void __user *) arg;
 	struct mpt_ioctl_command  karg;
-	MPT_ADAPTER	*ioc;
-	int		iocnum;
 	int		rc;
 
 
@@ -1796,14 +1714,7 @@
 		return -EFAULT;
 	}
 
-	if (((iocnum = mpt_verify_adapter(karg.hdr.iocnum, &ioc)) < 0) ||
-	    (ioc == NULL)) {
-		printk(KERN_DEBUG MYNAM "%s::mptctl_mpt_command() @%d - ioc%d not found!\n",
-				__FILE__, __LINE__, iocnum);
-		return -ENODEV;
-	}
-
-	rc = mptctl_do_mpt_command (karg, &uarg->MF);
+	rc = mptctl_do_mpt_command (ioc, karg, &uarg->MF);
 
 	return rc;
 }
@@ -1821,9 +1732,8 @@
  *		-EPERM if SCSI I/O and target is untagged
  */
 static int
-mptctl_do_mpt_command (struct mpt_ioctl_command karg, void __user *mfPtr)
+mptctl_do_mpt_command (MPT_ADAPTER *ioc, struct mpt_ioctl_command karg, void __user *mfPtr)
 {
-	MPT_ADAPTER	*ioc;
 	MPT_FRAME_HDR	*mf = NULL;
 	MPIHeader_t	*hdr;
 	char		*psge;
@@ -1832,7 +1742,7 @@
 	dma_addr_t	dma_addr_in;
 	dma_addr_t	dma_addr_out;
 	int		sgSize = 0;	/* Num SG elements */
-	int		iocnum, flagsLength;
+	int		flagsLength;
 	int		sz, rc = 0;
 	int		msgContext;
 	u16		req_idx;
@@ -1847,13 +1757,6 @@
 	bufIn.kptr = bufOut.kptr = NULL;
 	bufIn.len = bufOut.len = 0;
 
-	if (((iocnum = mpt_verify_adapter(karg.hdr.iocnum, &ioc)) < 0) ||
-	    (ioc == NULL)) {
-		printk(KERN_DEBUG MYNAM "%s::mptctl_do_mpt_command() @%d - ioc%d not found!\n",
-				__FILE__, __LINE__, iocnum);
-		return -ENODEV;
-	}
-
 	spin_lock_irqsave(&ioc->taskmgmt_lock, flags);
 	if (ioc->ioc_reset_in_progress) {
 		spin_unlock_irqrestore(&ioc->taskmgmt_lock, flags);
@@ -2418,17 +2321,15 @@
  *		-ENOMEM if memory allocation error
  */
 static int
-mptctl_hp_hostinfo(unsigned long arg, unsigned int data_size)
+mptctl_hp_hostinfo(MPT_ADAPTER *ioc, unsigned long arg, unsigned int data_size)
 {
 	hp_host_info_t	__user *uarg = (void __user *) arg;
-	MPT_ADAPTER		*ioc;
 	struct pci_dev		*pdev;
 	char                    *pbuf=NULL;
 	dma_addr_t		buf_dma;
 	hp_host_info_t		karg;
 	CONFIGPARMS		cfg;
 	ConfigPageHeader_t	hdr;
-	int			iocnum;
 	int			rc, cim_rev;
 	ToolboxIstwiReadWriteRequest_t	*IstwiRWRequest;
 	MPT_FRAME_HDR		*mf = NULL;
@@ -2452,12 +2353,6 @@
 		return -EFAULT;
 	}
 
-	if (((iocnum = mpt_verify_adapter(karg.hdr.iocnum, &ioc)) < 0) ||
-	    (ioc == NULL)) {
-		printk(KERN_DEBUG MYNAM "%s::mptctl_hp_hostinfo() @%d - ioc%d not found!\n",
-				__FILE__, __LINE__, iocnum);
-		return -ENODEV;
-	}
 	dctlprintk(ioc, printk(MYIOC_s_DEBUG_FMT ": mptctl_hp_hostinfo called.\n",
 	    ioc->name));
 
@@ -2659,15 +2554,13 @@
  *		-ENOMEM if memory allocation error
  */
 static int
-mptctl_hp_targetinfo(unsigned long arg)
+mptctl_hp_targetinfo(MPT_ADAPTER *ioc, unsigned long arg)
 {
 	hp_target_info_t __user *uarg = (void __user *) arg;
 	SCSIDevicePage0_t	*pg0_alloc;
 	SCSIDevicePage3_t	*pg3_alloc;
-	MPT_ADAPTER		*ioc;
 	MPT_SCSI_HOST 		*hd = NULL;
 	hp_target_info_t	karg;
-	int			iocnum;
 	int			data_sz;
 	dma_addr_t		page_dma;
 	CONFIGPARMS	 	cfg;
@@ -2681,12 +2574,6 @@
 		return -EFAULT;
 	}
 
-	if (((iocnum = mpt_verify_adapter(karg.hdr.iocnum, &ioc)) < 0) ||
-		(ioc == NULL)) {
-		printk(KERN_DEBUG MYNAM "%s::mptctl_hp_targetinfo() @%d - ioc%d not found!\n",
-				__FILE__, __LINE__, iocnum);
-		return -ENODEV;
-	}
 	if (karg.hdr.id >= MPT_MAX_FC_DEVICES)
 		return -EINVAL;
 	dctlprintk(ioc, printk(MYIOC_s_DEBUG_FMT "mptctl_hp_targetinfo called.\n",
@@ -2854,7 +2741,7 @@
 	kfw.fwlen = kfw32.fwlen;
 	kfw.bufp = compat_ptr(kfw32.bufp);
 
-	ret = mptctl_do_fw_download(kfw.iocnum, kfw.bufp, kfw.fwlen);
+	ret = mptctl_do_fw_download(iocp, kfw.bufp, kfw.fwlen);
 
 	mutex_unlock(&iocp->ioctl_cmds.mutex);
 
@@ -2908,7 +2795,7 @@
 
 	/* Pass new structure to do_mpt_command
 	 */
-	ret = mptctl_do_mpt_command (karg, &uarg->MF);
+	ret = mptctl_do_mpt_command (iocp, karg, &uarg->MF);
 
 	mutex_unlock(&iocp->ioctl_cmds.mutex);
 
diff --git a/drivers/mfd/axp20x.c b/drivers/mfd/axp20x.c
index f8e0fa9..aa65931 100644
--- a/drivers/mfd/axp20x.c
+++ b/drivers/mfd/axp20x.c
@@ -128,7 +128,7 @@
 static const struct regmap_range axp288_volatile_ranges[] = {
 	regmap_reg_range(AXP20X_PWR_INPUT_STATUS, AXP288_POWER_REASON),
 	regmap_reg_range(AXP288_BC_GLOBAL, AXP288_BC_GLOBAL),
-	regmap_reg_range(AXP288_BC_DET_STAT, AXP288_BC_DET_STAT),
+	regmap_reg_range(AXP288_BC_DET_STAT, AXP20X_VBUS_IPSOUT_MGMT),
 	regmap_reg_range(AXP20X_CHRG_BAK_CTRL, AXP20X_CHRG_BAK_CTRL),
 	regmap_reg_range(AXP20X_IRQ1_EN, AXP20X_IPSOUT_V_HIGH_L),
 	regmap_reg_range(AXP20X_TIMER_CTRL, AXP20X_TIMER_CTRL),
diff --git a/drivers/mfd/da9062-core.c b/drivers/mfd/da9062-core.c
index 9f61059..83c624f 100644
--- a/drivers/mfd/da9062-core.c
+++ b/drivers/mfd/da9062-core.c
@@ -257,7 +257,7 @@
 		.name		= "da9062-watchdog",
 		.num_resources	= ARRAY_SIZE(da9062_wdt_resources),
 		.resources	= da9062_wdt_resources,
-		.of_compatible  = "dlg,da9062-wdt",
+		.of_compatible  = "dlg,da9062-watchdog",
 	},
 	{
 		.name		= "da9062-thermal",
diff --git a/drivers/mfd/dln2.c b/drivers/mfd/dln2.c
index 90e7899..1476465 100644
--- a/drivers/mfd/dln2.c
+++ b/drivers/mfd/dln2.c
@@ -725,6 +725,8 @@
 		      const struct usb_device_id *usb_id)
 {
 	struct usb_host_interface *hostif = interface->cur_altsetting;
+	struct usb_endpoint_descriptor *epin;
+	struct usb_endpoint_descriptor *epout;
 	struct device *dev = &interface->dev;
 	struct dln2_dev *dln2;
 	int ret;
@@ -734,12 +736,19 @@
 	    hostif->desc.bNumEndpoints < 2)
 		return -ENODEV;
 
+	epin = &hostif->endpoint[0].desc;
+	epout = &hostif->endpoint[1].desc;
+	if (!usb_endpoint_is_bulk_out(epout))
+		return -ENODEV;
+	if (!usb_endpoint_is_bulk_in(epin))
+		return -ENODEV;
+
 	dln2 = kzalloc(sizeof(*dln2), GFP_KERNEL);
 	if (!dln2)
 		return -ENOMEM;
 
-	dln2->ep_out = hostif->endpoint[0].desc.bEndpointAddress;
-	dln2->ep_in = hostif->endpoint[1].desc.bEndpointAddress;
+	dln2->ep_out = epout->bEndpointAddress;
+	dln2->ep_in = epin->bEndpointAddress;
 	dln2->usb_dev = usb_get_dev(interface_to_usbdev(interface));
 	dln2->interface = interface;
 	usb_set_intfdata(interface, dln2);
diff --git a/drivers/mfd/intel-lpss-pci.c b/drivers/mfd/intel-lpss-pci.c
index c37c8bb8..742d6c1 100644
--- a/drivers/mfd/intel-lpss-pci.c
+++ b/drivers/mfd/intel-lpss-pci.c
@@ -126,6 +126,18 @@
 	.properties = apl_i2c_properties,
 };
 
+static struct property_entry glk_i2c_properties[] = {
+	PROPERTY_ENTRY_U32("i2c-sda-hold-time-ns", 313),
+	PROPERTY_ENTRY_U32("i2c-sda-falling-time-ns", 171),
+	PROPERTY_ENTRY_U32("i2c-scl-falling-time-ns", 290),
+	{ },
+};
+
+static const struct intel_lpss_platform_info glk_i2c_info = {
+	.clk_rate = 133000000,
+	.properties = glk_i2c_properties,
+};
+
 static const struct intel_lpss_platform_info cnl_i2c_info = {
 	.clk_rate = 216000000,
 	.properties = spt_i2c_properties,
@@ -165,14 +177,14 @@
 	{ PCI_VDEVICE(INTEL, 0x1ac6), (kernel_ulong_t)&bxt_info },
 	{ PCI_VDEVICE(INTEL, 0x1aee), (kernel_ulong_t)&bxt_uart_info },
 	/* GLK */
-	{ PCI_VDEVICE(INTEL, 0x31ac), (kernel_ulong_t)&bxt_i2c_info },
-	{ PCI_VDEVICE(INTEL, 0x31ae), (kernel_ulong_t)&bxt_i2c_info },
-	{ PCI_VDEVICE(INTEL, 0x31b0), (kernel_ulong_t)&bxt_i2c_info },
-	{ PCI_VDEVICE(INTEL, 0x31b2), (kernel_ulong_t)&bxt_i2c_info },
-	{ PCI_VDEVICE(INTEL, 0x31b4), (kernel_ulong_t)&bxt_i2c_info },
-	{ PCI_VDEVICE(INTEL, 0x31b6), (kernel_ulong_t)&bxt_i2c_info },
-	{ PCI_VDEVICE(INTEL, 0x31b8), (kernel_ulong_t)&bxt_i2c_info },
-	{ PCI_VDEVICE(INTEL, 0x31ba), (kernel_ulong_t)&bxt_i2c_info },
+	{ PCI_VDEVICE(INTEL, 0x31ac), (kernel_ulong_t)&glk_i2c_info },
+	{ PCI_VDEVICE(INTEL, 0x31ae), (kernel_ulong_t)&glk_i2c_info },
+	{ PCI_VDEVICE(INTEL, 0x31b0), (kernel_ulong_t)&glk_i2c_info },
+	{ PCI_VDEVICE(INTEL, 0x31b2), (kernel_ulong_t)&glk_i2c_info },
+	{ PCI_VDEVICE(INTEL, 0x31b4), (kernel_ulong_t)&glk_i2c_info },
+	{ PCI_VDEVICE(INTEL, 0x31b6), (kernel_ulong_t)&glk_i2c_info },
+	{ PCI_VDEVICE(INTEL, 0x31b8), (kernel_ulong_t)&glk_i2c_info },
+	{ PCI_VDEVICE(INTEL, 0x31ba), (kernel_ulong_t)&glk_i2c_info },
 	{ PCI_VDEVICE(INTEL, 0x31bc), (kernel_ulong_t)&bxt_uart_info },
 	{ PCI_VDEVICE(INTEL, 0x31be), (kernel_ulong_t)&bxt_uart_info },
 	{ PCI_VDEVICE(INTEL, 0x31c0), (kernel_ulong_t)&bxt_uart_info },
diff --git a/drivers/mfd/intel-lpss.c b/drivers/mfd/intel-lpss.c
index ff3fba1..95e217e 100644
--- a/drivers/mfd/intel-lpss.c
+++ b/drivers/mfd/intel-lpss.c
@@ -545,6 +545,7 @@
 
 static void __exit intel_lpss_exit(void)
 {
+	ida_destroy(&intel_lpss_devid_ida);
 	debugfs_remove(intel_lpss_debugfs);
 }
 module_exit(intel_lpss_exit);
diff --git a/drivers/mfd/rn5t618.c b/drivers/mfd/rn5t618.c
index f4037d4..dd4251f 100644
--- a/drivers/mfd/rn5t618.c
+++ b/drivers/mfd/rn5t618.c
@@ -32,6 +32,7 @@
 	case RN5T618_WATCHDOGCNT:
 	case RN5T618_DCIRQ:
 	case RN5T618_ILIMDATAH ... RN5T618_AIN0DATAL:
+	case RN5T618_ADCCNT3:
 	case RN5T618_IR_ADC1 ... RN5T618_IR_ADC3:
 	case RN5T618_IR_GPR:
 	case RN5T618_IR_GPF:
diff --git a/drivers/misc/aspeed-lpc-snoop.c b/drivers/misc/aspeed-lpc-snoop.c
index 2feb434..c10be21 100644
--- a/drivers/misc/aspeed-lpc-snoop.c
+++ b/drivers/misc/aspeed-lpc-snoop.c
@@ -101,13 +101,13 @@
 	return ret ? ret : copied;
 }
 
-static unsigned int snoop_file_poll(struct file *file,
+static __poll_t snoop_file_poll(struct file *file,
 				    struct poll_table_struct *pt)
 {
 	struct aspeed_lpc_snoop_channel *chan = snoop_file_to_chan(file);
 
 	poll_wait(file, &chan->wq, pt);
-	return !kfifo_is_empty(&chan->fifo) ? POLLIN : 0;
+	return !kfifo_is_empty(&chan->fifo) ? EPOLLIN : 0;
 }
 
 static const struct file_operations snoop_fops = {
diff --git a/drivers/misc/enclosure.c b/drivers/misc/enclosure.c
index 5a17bfe..471263f 100644
--- a/drivers/misc/enclosure.c
+++ b/drivers/misc/enclosure.c
@@ -419,10 +419,9 @@
 		cdev = &edev->component[i];
 		if (cdev->dev == dev) {
 			enclosure_remove_links(cdev);
-			device_del(&cdev->cdev);
 			put_device(dev);
 			cdev->dev = NULL;
-			return device_add(&cdev->cdev);
+			return 0;
 		}
 	}
 	return -ENODEV;
diff --git a/drivers/misc/fpr_FingerprintCard/fpc1020_platform_tee.c b/drivers/misc/fpr_FingerprintCard/fpc1020_platform_tee.c
index d49d857..0eda552 100644
--- a/drivers/misc/fpr_FingerprintCard/fpc1020_platform_tee.c
+++ b/drivers/misc/fpr_FingerprintCard/fpc1020_platform_tee.c
@@ -78,7 +78,7 @@
 	struct pinctrl *fingerprint_pinctrl;
 	struct pinctrl_state *pinctrl_state[ARRAY_SIZE(pctl_names)];
 	struct regulator *vreg[ARRAY_SIZE(vreg_conf)];
-	struct wakeup_source ttw_wl;
+	struct wakeup_source *ttw_wl;
 	struct mutex lock; /* To set/get exported values in sysfs */
 	int irq_gpio;
 	int rst_gpio;
@@ -384,7 +384,7 @@
 		min(count, strlen(RELEASE_WAKELOCK_W_V)))) {
 		if (fpc1020->nbr_irqs_received_counter_start ==
 				fpc1020->nbr_irqs_received) {
-			__pm_relax(&fpc1020->ttw_wl);
+			__pm_relax(fpc1020->ttw_wl);
 		} else {
 			dev_dbg(dev, "Ignore releasing of wakelock %d != %d",
 			fpc1020->nbr_irqs_received_counter_start,
@@ -392,7 +392,7 @@
 		}
 	} else if (!memcmp(buf, RELEASE_WAKELOCK, min(count,
 				strlen(RELEASE_WAKELOCK)))) {
-		__pm_relax(&fpc1020->ttw_wl);
+		__pm_relax(fpc1020->ttw_wl);
 	} else if (!memcmp(buf, START_IRQS_RECEIVED_CNT,
 			min(count, strlen(START_IRQS_RECEIVED_CNT)))) {
 		fpc1020->nbr_irqs_received_counter_start =
@@ -443,7 +443,7 @@
 	mutex_lock(&fpc1020->lock);
 	if (atomic_read(&fpc1020->wakeup_enabled)) {
 		fpc1020->nbr_irqs_received++;
-		__pm_wakeup_event(&fpc1020->ttw_wl,
+		__pm_wakeup_event(fpc1020->ttw_wl,
 					msecs_to_jiffies(FPC_TTW_HOLD_TIME));
 	}
 	mutex_unlock(&fpc1020->lock);
@@ -546,7 +546,9 @@
 
 	enable_irq_wake(gpio_to_irq(fpc1020->irq_gpio));
 
-	wakeup_source_init(&fpc1020->ttw_wl, "fpc_ttw_wl");
+	fpc1020->ttw_wl = wakeup_source_register(dev, "fpc_ttw_wl");
+	if (!fpc1020->ttw_wl)
+		return -ENOMEM;
 
 	rc = sysfs_create_group(&dev->kobj, &attribute_group);
 	if (rc) {
@@ -570,7 +572,7 @@
 
 	sysfs_remove_group(&pdev->dev.kobj, &attribute_group);
 	mutex_destroy(&fpc1020->lock);
-	wakeup_source_trash(&fpc1020->ttw_wl);
+	wakeup_source_unregister(fpc1020->ttw_wl);
 	vreg_setup(fpc1020, "vdd_ana", false);
 	vreg_setup(fpc1020, "vdd_io", false);
 	vreg_setup(fpc1020, "vcc_spi", false);
diff --git a/drivers/misc/mei/hw-me-regs.h b/drivers/misc/mei/hw-me-regs.h
index 9c40424..d80372d 100644
--- a/drivers/misc/mei/hw-me-regs.h
+++ b/drivers/misc/mei/hw-me-regs.h
@@ -141,8 +141,12 @@
 
 #define MEI_DEV_ID_CMP_LP     0x02e0  /* Comet Point LP */
 #define MEI_DEV_ID_CMP_LP_3   0x02e4  /* Comet Point LP 3 (iTouch) */
+
 #define MEI_DEV_ID_CMP_V      0xA3BA  /* Comet Point Lake V */
 
+#define MEI_DEV_ID_CMP_H      0x06e0  /* Comet Lake H */
+#define MEI_DEV_ID_CMP_H_3    0x06e4  /* Comet Lake H 3 (iTouch) */
+
 #define MEI_DEV_ID_ICP_LP     0x34E0  /* Ice Lake Point LP */
 
 #define MEI_DEV_ID_TGP_LP     0xA0E0  /* Tiger Lake Point LP */
diff --git a/drivers/misc/mei/main.c b/drivers/misc/mei/main.c
index 4d77a6a..87281b3 100644
--- a/drivers/misc/mei/main.c
+++ b/drivers/misc/mei/main.c
@@ -599,10 +599,10 @@
 			mei_cl_read_start(cl, mei_cl_mtu(cl), file);
 	}
 
-	if (req_events & (POLLOUT | POLLWRNORM)) {
+	if (req_events & (EPOLLOUT | EPOLLWRNORM)) {
 		poll_wait(file, &cl->tx_wait, wait);
 		if (cl->tx_cb_queued < dev->tx_queue_limit)
-			mask |= POLLOUT | POLLWRNORM;
+			mask |= EPOLLOUT | EPOLLWRNORM;
 	}
 
 out:
diff --git a/drivers/misc/mei/pci-me.c b/drivers/misc/mei/pci-me.c
index 41a10e3..3498c10b 100644
--- a/drivers/misc/mei/pci-me.c
+++ b/drivers/misc/mei/pci-me.c
@@ -108,6 +108,8 @@
 	{MEI_PCI_DEVICE(MEI_DEV_ID_CMP_LP, MEI_ME_PCH12_CFG)},
 	{MEI_PCI_DEVICE(MEI_DEV_ID_CMP_LP_3, MEI_ME_PCH8_CFG)},
 	{MEI_PCI_DEVICE(MEI_DEV_ID_CMP_V, MEI_ME_PCH12_CFG)},
+	{MEI_PCI_DEVICE(MEI_DEV_ID_CMP_H, MEI_ME_PCH12_CFG)},
+	{MEI_PCI_DEVICE(MEI_DEV_ID_CMP_H_3, MEI_ME_PCH8_CFG)},
 
 	{MEI_PCI_DEVICE(MEI_DEV_ID_ICP_LP, MEI_ME_PCH12_CFG)},
 
diff --git a/drivers/misc/mic/card/mic_x100.c b/drivers/misc/mic/card/mic_x100.c
index b9f0710..4007adc 100644
--- a/drivers/misc/mic/card/mic_x100.c
+++ b/drivers/misc/mic/card/mic_x100.c
@@ -249,6 +249,9 @@
 	mdrv->dev = &pdev->dev;
 	snprintf(mdrv->name, sizeof(mic_driver_name), mic_driver_name);
 
+	/* FIXME: use dma_set_mask_and_coherent() and check result */
+	dma_coerce_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64));
+
 	mdev->mmio.pa = MIC_X100_MMIO_BASE;
 	mdev->mmio.len = MIC_X100_MMIO_LEN;
 	mdev->mmio.va = devm_ioremap(&pdev->dev, MIC_X100_MMIO_BASE,
@@ -294,18 +297,6 @@
 	mic_remove(pdev);
 }
 
-static u64 mic_dma_mask = DMA_BIT_MASK(64);
-
-static struct platform_device mic_platform_dev = {
-	.name = mic_driver_name,
-	.id   = 0,
-	.num_resources = 0,
-	.dev = {
-		.dma_mask = &mic_dma_mask,
-		.coherent_dma_mask = DMA_BIT_MASK(64),
-	},
-};
-
 static struct platform_driver __refdata mic_platform_driver = {
 	.probe = mic_probe,
 	.remove = mic_remove,
@@ -315,6 +306,8 @@
 	},
 };
 
+static struct platform_device *mic_platform_dev;
+
 static int __init mic_init(void)
 {
 	int ret;
@@ -328,9 +321,12 @@
 
 	request_module("mic_x100_dma");
 	mic_init_card_debugfs();
-	ret = platform_device_register(&mic_platform_dev);
+
+	mic_platform_dev = platform_device_register_simple(mic_driver_name,
+							   0, NULL, 0);
+	ret = PTR_ERR_OR_ZERO(mic_platform_dev);
 	if (ret) {
-		pr_err("platform_device_register ret %d\n", ret);
+		pr_err("platform_device_register_full ret %d\n", ret);
 		goto cleanup_debugfs;
 	}
 	ret = platform_driver_register(&mic_platform_driver);
@@ -341,7 +337,7 @@
 	return ret;
 
 device_unregister:
-	platform_device_unregister(&mic_platform_dev);
+	platform_device_unregister(mic_platform_dev);
 cleanup_debugfs:
 	mic_exit_card_debugfs();
 done:
@@ -351,7 +347,7 @@
 static void __exit mic_exit(void)
 {
 	platform_driver_unregister(&mic_platform_driver);
-	platform_device_unregister(&mic_platform_dev);
+	platform_device_unregister(mic_platform_dev);
 	mic_exit_card_debugfs();
 }
 
diff --git a/drivers/misc/sgi-xp/xpc_partition.c b/drivers/misc/sgi-xp/xpc_partition.c
index 0c3ef6f..519826b 100644
--- a/drivers/misc/sgi-xp/xpc_partition.c
+++ b/drivers/misc/sgi-xp/xpc_partition.c
@@ -70,7 +70,7 @@
 	unsigned long rp_pa = nasid;	/* seed with nasid */
 	size_t len = 0;
 	size_t buf_len = 0;
-	void *buf = buf;
+	void *buf = NULL;
 	void *buf_base = NULL;
 	enum xp_retval (*get_partition_rsvd_page_pa)
 		(void *, u64 *, unsigned long *, size_t *) =
diff --git a/drivers/mmc/core/host.c b/drivers/mmc/core/host.c
index c5ab22f..2c47833 100644
--- a/drivers/mmc/core/host.c
+++ b/drivers/mmc/core/host.c
@@ -410,8 +410,6 @@
 
 	if (mmc_gpio_alloc(host)) {
 		put_device(&host->class_dev);
-		ida_simple_remove(&mmc_host_ida, host->index);
-		kfree(host);
 		return NULL;
 	}
 
diff --git a/drivers/mmc/core/queue.c b/drivers/mmc/core/queue.c
index f483926..45c8bd94 100644
--- a/drivers/mmc/core/queue.c
+++ b/drivers/mmc/core/queue.c
@@ -402,7 +402,7 @@
 
 	init_waitqueue_head(&mq->wait);
 
-	if (host->cqe_ops->cqe_crypto_update_queue)
+	if (host->cqe_ops && host->cqe_ops->cqe_crypto_update_queue)
 		host->cqe_ops->cqe_crypto_update_queue(host, mq->queue);
 }
 
diff --git a/drivers/mmc/core/quirks.h b/drivers/mmc/core/quirks.h
index 74b50b1..b920009 100644
--- a/drivers/mmc/core/quirks.h
+++ b/drivers/mmc/core/quirks.h
@@ -145,7 +145,14 @@
 	END_FIXUP
 };
 
+
 static const struct mmc_fixup sdio_fixup_methods[] = {
+	SDIO_FIXUP(SDIO_VENDOR_ID_TI_WL1251, SDIO_DEVICE_ID_TI_WL1251,
+		   add_quirk, MMC_QUIRK_NONSTD_FUNC_IF),
+
+	SDIO_FIXUP(SDIO_VENDOR_ID_TI_WL1251, SDIO_DEVICE_ID_TI_WL1251,
+		   add_quirk, MMC_QUIRK_DISABLE_CD),
+
 	SDIO_FIXUP(SDIO_VENDOR_ID_TI, SDIO_DEVICE_ID_TI_WL1271,
 		   add_quirk, MMC_QUIRK_NONSTD_FUNC_IF),
 
diff --git a/drivers/mmc/host/cqhci-crypto-qti.c b/drivers/mmc/host/cqhci-crypto-qti.c
index 7be5335..7382525 100644
--- a/drivers/mmc/host/cqhci-crypto-qti.c
+++ b/drivers/mmc/host/cqhci-crypto-qti.c
@@ -220,8 +220,10 @@
 				host->crypto_cap_array[cap_idx].sdus_mask * 512;
 	}
 
-	host->ksm = keyslot_manager_create(cqhci_num_keyslots(host), ksm_ops,
-					crypto_modes_supported, host);
+	host->ksm = keyslot_manager_create(host->mmc->parent,
+					   cqhci_num_keyslots(host),
+					   ksm_ops, crypto_modes_supported,
+					   host);
 
 	if (!host->ksm) {
 		err = -ENOMEM;
diff --git a/drivers/mmc/host/cqhci-crypto.c b/drivers/mmc/host/cqhci-crypto.c
index 5b06a6b..e3c9152 100644
--- a/drivers/mmc/host/cqhci-crypto.c
+++ b/drivers/mmc/host/cqhci-crypto.c
@@ -334,8 +334,10 @@
 
 	cqhci_crypto_clear_all_keyslots(host);
 
-	host->ksm = keyslot_manager_create(cqhci_num_keyslots(host), ksm_ops,
-					crypto_modes_supported, host);
+	host->ksm = keyslot_manager_create(host->mmc->parent,
+					   cqhci_num_keyslots(host),
+					   ksm_ops, crypto_modes_supported,
+					   host);
 
 	if (!host->ksm) {
 		err = -ENOMEM;
diff --git a/drivers/mmc/host/mmc_spi.c b/drivers/mmc/host/mmc_spi.c
index ea254d0..2479545 100644
--- a/drivers/mmc/host/mmc_spi.c
+++ b/drivers/mmc/host/mmc_spi.c
@@ -1154,17 +1154,22 @@
 	 * SPI protocol.  Another is that when chipselect is released while
 	 * the card returns BUSY status, the clock must issue several cycles
 	 * with chipselect high before the card will stop driving its output.
+	 *
+	 * SPI_CS_HIGH means "asserted" here. In some cases like when using
+	 * GPIOs for chip select, SPI_CS_HIGH is set but this will be logically
+	 * inverted by gpiolib, so if we want to ascertain to drive it high
+	 * we should toggle the default with an XOR as we do here.
 	 */
-	host->spi->mode |= SPI_CS_HIGH;
+	host->spi->mode ^= SPI_CS_HIGH;
 	if (spi_setup(host->spi) != 0) {
 		/* Just warn; most cards work without it. */
 		dev_warn(&host->spi->dev,
 				"can't change chip-select polarity\n");
-		host->spi->mode &= ~SPI_CS_HIGH;
+		host->spi->mode ^= SPI_CS_HIGH;
 	} else {
 		mmc_spi_readbytes(host, 18);
 
-		host->spi->mode &= ~SPI_CS_HIGH;
+		host->spi->mode ^= SPI_CS_HIGH;
 		if (spi_setup(host->spi) != 0) {
 			/* Wot, we can't get the same setup we had before? */
 			dev_err(&host->spi->dev,
diff --git a/drivers/mmc/host/sdhci-brcmstb.c b/drivers/mmc/host/sdhci-brcmstb.c
index 552bddc..1cd1035 100644
--- a/drivers/mmc/host/sdhci-brcmstb.c
+++ b/drivers/mmc/host/sdhci-brcmstb.c
@@ -55,7 +55,9 @@
 	}
 
 	sdhci_get_of_property(pdev);
-	mmc_of_parse(host->mmc);
+	res = mmc_of_parse(host->mmc);
+	if (res)
+		goto err;
 
 	/*
 	 * Supply the existing CAPS, but clear the UHS modes. This
diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host/sdhci-msm.c
index 9d097b8..18000da 100644
--- a/drivers/mmc/host/sdhci-msm.c
+++ b/drivers/mmc/host/sdhci-msm.c
@@ -1283,6 +1283,20 @@
 	readl_relaxed(host->ioaddr + SDCC_DEBUG_FEATURE_CFG_REG);
 }
 
+/* Dummy func for Mask and Match show */
+static ssize_t show_mask_and_match(struct device *dev,
+				struct device_attribute *attr, char *buf)
+{
+	struct sdhci_host *host = dev_get_drvdata(dev);
+
+	if (!host)
+		return -EINVAL;
+
+	pr_info("%s: M&M show func\n", mmc_hostname(host->mmc));
+
+	return 0;
+}
+
 static ssize_t store_mask_and_match(struct device *dev,
 		struct device_attribute *attr, const char *buf, size_t count)
 {
@@ -5760,6 +5774,7 @@
 
 	if (IPCAT_MINOR_MASK(readl_relaxed(host->ioaddr +
 				SDCC_IP_CATALOG)) >= 2) {
+		msm_host->mask_and_match.show = show_mask_and_match;
 		msm_host->mask_and_match.store = store_mask_and_match;
 		sysfs_attr_init(&msm_host->mask_and_match.attr);
 		msm_host->mask_and_match.attr.name = "mask_and_match";
diff --git a/drivers/mmc/host/sdhci-of-at91.c b/drivers/mmc/host/sdhci-of-at91.c
index 1ebcf0e..04e88d4 100644
--- a/drivers/mmc/host/sdhci-of-at91.c
+++ b/drivers/mmc/host/sdhci-of-at91.c
@@ -332,19 +332,22 @@
 	priv->mainck = devm_clk_get(&pdev->dev, "baseclk");
 	if (IS_ERR(priv->mainck)) {
 		dev_err(&pdev->dev, "failed to get baseclk\n");
-		return PTR_ERR(priv->mainck);
+		ret = PTR_ERR(priv->mainck);
+		goto sdhci_pltfm_free;
 	}
 
 	priv->hclock = devm_clk_get(&pdev->dev, "hclock");
 	if (IS_ERR(priv->hclock)) {
 		dev_err(&pdev->dev, "failed to get hclock\n");
-		return PTR_ERR(priv->hclock);
+		ret = PTR_ERR(priv->hclock);
+		goto sdhci_pltfm_free;
 	}
 
 	priv->gck = devm_clk_get(&pdev->dev, "multclk");
 	if (IS_ERR(priv->gck)) {
 		dev_err(&pdev->dev, "failed to get multclk\n");
-		return PTR_ERR(priv->gck);
+		ret = PTR_ERR(priv->gck);
+		goto sdhci_pltfm_free;
 	}
 
 	ret = sdhci_at91_set_clks_presets(&pdev->dev);
diff --git a/drivers/mmc/host/sdhci-tegra.c b/drivers/mmc/host/sdhci-tegra.c
index 908b23e..14d749a 100644
--- a/drivers/mmc/host/sdhci-tegra.c
+++ b/drivers/mmc/host/sdhci-tegra.c
@@ -177,7 +177,7 @@
 			misc_ctrl |= SDHCI_MISC_CTRL_ENABLE_DDR50;
 		if (soc_data->nvquirks & NVQUIRK_ENABLE_SDR104)
 			misc_ctrl |= SDHCI_MISC_CTRL_ENABLE_SDR104;
-		if (soc_data->nvquirks & SDHCI_MISC_CTRL_ENABLE_SDR50)
+		if (soc_data->nvquirks & NVQUIRK_ENABLE_SDR50)
 			clk_ctrl |= SDHCI_CLOCK_CTRL_SDR50_TUNING_OVERRIDE;
 	}
 
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
index 5e8263f..9459b77 100644
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
@@ -4348,11 +4348,13 @@
 	if (host->ops->get_min_clock)
 		mmc->f_min = host->ops->get_min_clock(host);
 	else if (host->version >= SDHCI_SPEC_300) {
-		if (host->clk_mul) {
-			mmc->f_min = (host->max_clk * host->clk_mul) / 1024;
+		if (host->clk_mul)
 			max_clk = host->max_clk * host->clk_mul;
-		} else
-			mmc->f_min = host->max_clk / SDHCI_MAX_DIV_SPEC_300;
+		/*
+		 * Divided Clock Mode minimum clock rate is always less than
+		 * Programmable Clock Mode minimum clock rate.
+		 */
+		mmc->f_min = host->max_clk / SDHCI_MAX_DIV_SPEC_300;
 	} else
 		mmc->f_min = host->max_clk / SDHCI_MAX_DIV_SPEC_200;
 
diff --git a/drivers/mtd/devices/mchp23k256.c b/drivers/mtd/devices/mchp23k256.c
index 75f71d1..c2f52ae 100644
--- a/drivers/mtd/devices/mchp23k256.c
+++ b/drivers/mtd/devices/mchp23k256.c
@@ -68,15 +68,17 @@
 	struct spi_transfer transfer[2] = {};
 	struct spi_message message;
 	unsigned char command[MAX_CMD_SIZE];
-	int ret;
+	int ret, cmd_len;
 
 	spi_message_init(&message);
 
+	cmd_len = mchp23k256_cmdsz(flash);
+
 	command[0] = MCHP23K256_CMD_WRITE;
 	mchp23k256_addr2cmd(flash, to, command);
 
 	transfer[0].tx_buf = command;
-	transfer[0].len = mchp23k256_cmdsz(flash);
+	transfer[0].len = cmd_len;
 	spi_message_add_tail(&transfer[0], &message);
 
 	transfer[1].tx_buf = buf;
@@ -92,8 +94,8 @@
 	if (ret)
 		return ret;
 
-	if (retlen && message.actual_length > sizeof(command))
-		*retlen += message.actual_length - sizeof(command);
+	if (retlen && message.actual_length > cmd_len)
+		*retlen += message.actual_length - cmd_len;
 
 	return 0;
 }
@@ -105,16 +107,18 @@
 	struct spi_transfer transfer[2] = {};
 	struct spi_message message;
 	unsigned char command[MAX_CMD_SIZE];
-	int ret;
+	int ret, cmd_len;
 
 	spi_message_init(&message);
 
+	cmd_len = mchp23k256_cmdsz(flash);
+
 	memset(&transfer, 0, sizeof(transfer));
 	command[0] = MCHP23K256_CMD_READ;
 	mchp23k256_addr2cmd(flash, from, command);
 
 	transfer[0].tx_buf = command;
-	transfer[0].len = mchp23k256_cmdsz(flash);
+	transfer[0].len = cmd_len;
 	spi_message_add_tail(&transfer[0], &message);
 
 	transfer[1].rx_buf = buf;
@@ -130,8 +134,8 @@
 	if (ret)
 		return ret;
 
-	if (retlen && message.actual_length > sizeof(command))
-		*retlen += message.actual_length - sizeof(command);
+	if (retlen && message.actual_length > cmd_len)
+		*retlen += message.actual_length - cmd_len;
 
 	return 0;
 }
diff --git a/drivers/mtd/nand/onenand/omap2.c b/drivers/mtd/nand/onenand/omap2.c
index 3211371..a1ae05d 100644
--- a/drivers/mtd/nand/onenand/omap2.c
+++ b/drivers/mtd/nand/onenand/omap2.c
@@ -341,7 +341,8 @@
 	struct dma_async_tx_descriptor *tx;
 	dma_cookie_t cookie;
 
-	tx = dmaengine_prep_dma_memcpy(c->dma_chan, dst, src, count, 0);
+	tx = dmaengine_prep_dma_memcpy(c->dma_chan, dst, src, count,
+				       DMA_CTRL_ACK | DMA_PREP_INTERRUPT);
 	if (!tx) {
 		dev_err(&c->pdev->dev, "Failed to prepare DMA memcpy\n");
 		return -EIO;
diff --git a/drivers/mtd/nand/onenand/onenand_base.c b/drivers/mtd/nand/onenand/onenand_base.c
index 4ca4b19..db3587d 100644
--- a/drivers/mtd/nand/onenand/onenand_base.c
+++ b/drivers/mtd/nand/onenand/onenand_base.c
@@ -1251,44 +1251,44 @@
 
 	stats = mtd->ecc_stats;
 
- 	/* Read-while-load method */
+	/* Read-while-load method */
 
- 	/* Do first load to bufferRAM */
- 	if (read < len) {
- 		if (!onenand_check_bufferram(mtd, from)) {
+	/* Do first load to bufferRAM */
+	if (read < len) {
+		if (!onenand_check_bufferram(mtd, from)) {
 			this->command(mtd, ONENAND_CMD_READ, from, writesize);
- 			ret = this->wait(mtd, FL_READING);
- 			onenand_update_bufferram(mtd, from, !ret);
+			ret = this->wait(mtd, FL_READING);
+			onenand_update_bufferram(mtd, from, !ret);
 			if (mtd_is_eccerr(ret))
 				ret = 0;
- 		}
- 	}
+		}
+	}
 
 	thislen = min_t(int, writesize, len - read);
 	column = from & (writesize - 1);
 	if (column + thislen > writesize)
 		thislen = writesize - column;
 
- 	while (!ret) {
- 		/* If there is more to load then start next load */
- 		from += thislen;
- 		if (read + thislen < len) {
+	while (!ret) {
+		/* If there is more to load then start next load */
+		from += thislen;
+		if (read + thislen < len) {
 			this->command(mtd, ONENAND_CMD_READ, from, writesize);
- 			/*
- 			 * Chip boundary handling in DDP
- 			 * Now we issued chip 1 read and pointed chip 1
+			/*
+			 * Chip boundary handling in DDP
+			 * Now we issued chip 1 read and pointed chip 1
 			 * bufferram so we have to point chip 0 bufferram.
- 			 */
- 			if (ONENAND_IS_DDP(this) &&
- 			    unlikely(from == (this->chipsize >> 1))) {
- 				this->write_word(ONENAND_DDP_CHIP0, this->base + ONENAND_REG_START_ADDRESS2);
- 				boundary = 1;
- 			} else
- 				boundary = 0;
- 			ONENAND_SET_PREV_BUFFERRAM(this);
- 		}
- 		/* While load is going, read from last bufferRAM */
- 		this->read_bufferram(mtd, ONENAND_DATARAM, buf, column, thislen);
+			 */
+			if (ONENAND_IS_DDP(this) &&
+			    unlikely(from == (this->chipsize >> 1))) {
+				this->write_word(ONENAND_DDP_CHIP0, this->base + ONENAND_REG_START_ADDRESS2);
+				boundary = 1;
+			} else
+				boundary = 0;
+			ONENAND_SET_PREV_BUFFERRAM(this);
+		}
+		/* While load is going, read from last bufferRAM */
+		this->read_bufferram(mtd, ONENAND_DATARAM, buf, column, thislen);
 
 		/* Read oob area if needed */
 		if (oobbuf) {
@@ -1304,24 +1304,24 @@
 			oobcolumn = 0;
 		}
 
- 		/* See if we are done */
- 		read += thislen;
- 		if (read == len)
- 			break;
- 		/* Set up for next read from bufferRAM */
- 		if (unlikely(boundary))
- 			this->write_word(ONENAND_DDP_CHIP1, this->base + ONENAND_REG_START_ADDRESS2);
- 		ONENAND_SET_NEXT_BUFFERRAM(this);
- 		buf += thislen;
+		/* See if we are done */
+		read += thislen;
+		if (read == len)
+			break;
+		/* Set up for next read from bufferRAM */
+		if (unlikely(boundary))
+			this->write_word(ONENAND_DDP_CHIP1, this->base + ONENAND_REG_START_ADDRESS2);
+		ONENAND_SET_NEXT_BUFFERRAM(this);
+		buf += thislen;
 		thislen = min_t(int, writesize, len - read);
- 		column = 0;
- 		cond_resched();
- 		/* Now wait for load */
- 		ret = this->wait(mtd, FL_READING);
- 		onenand_update_bufferram(mtd, from, !ret);
+		column = 0;
+		cond_resched();
+		/* Now wait for load */
+		ret = this->wait(mtd, FL_READING);
+		onenand_update_bufferram(mtd, from, !ret);
 		if (mtd_is_eccerr(ret))
 			ret = 0;
- 	}
+	}
 
 	/*
 	 * Return success, if no ECC failures, else -EBADMSG
diff --git a/drivers/mtd/parsers/sharpslpart.c b/drivers/mtd/parsers/sharpslpart.c
index e5ea612..671a618 100644
--- a/drivers/mtd/parsers/sharpslpart.c
+++ b/drivers/mtd/parsers/sharpslpart.c
@@ -165,10 +165,10 @@
 
 static int sharpsl_nand_init_ftl(struct mtd_info *mtd, struct sharpsl_ftl *ftl)
 {
-	unsigned int block_num, log_num, phymax;
+	unsigned int block_num, phymax;
+	int i, ret, log_num;
 	loff_t block_adr;
 	u8 *oob;
-	int i, ret;
 
 	oob = kzalloc(mtd->oobsize, GFP_KERNEL);
 	if (!oob)
diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
index 2e18342..ff641c0 100644
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
@@ -1294,7 +1294,7 @@
 			size_t *retlen, u_char *buf)
 {
 	struct spi_nor *nor = mtd_to_spi_nor(mtd);
-	int ret;
+	ssize_t ret;
 
 	dev_dbg(nor->dev, "from 0x%08x, len %zd\n", (u32)from, len);
 
@@ -1523,7 +1523,7 @@
  */
 static int write_sr_cr(struct spi_nor *nor, u8 *sr_cr)
 {
-	int ret;
+	ssize_t ret;
 
 	write_enable(nor);
 
diff --git a/drivers/mtd/ubi/fastmap.c b/drivers/mtd/ubi/fastmap.c
index 462526a..8e29299 100644
--- a/drivers/mtd/ubi/fastmap.c
+++ b/drivers/mtd/ubi/fastmap.c
@@ -73,7 +73,7 @@
 		return 0;
 
 	for (pnum = 0; pnum < ubi->peb_count; pnum++) {
-		if (test_bit(pnum, seen) && ubi->lookuptbl[pnum]) {
+		if (!test_bit(pnum, seen) && ubi->lookuptbl[pnum]) {
 			ubi_err(ubi, "self-check failed for PEB %d, fastmap didn't see it", pnum);
 			ret = -EINVAL;
 		}
@@ -1146,7 +1146,7 @@
 	struct rb_node *tmp_rb;
 	int ret, i, j, free_peb_count, used_peb_count, vol_count;
 	int scrub_peb_count, erase_peb_count;
-	unsigned long *seen_pebs = NULL;
+	unsigned long *seen_pebs;
 
 	fm_raw = ubi->fm_buf;
 	memset(ubi->fm_buf, 0, ubi->fm_size);
@@ -1160,7 +1160,7 @@
 	dvbuf = new_fm_vbuf(ubi, UBI_FM_DATA_VOLUME_ID);
 	if (!dvbuf) {
 		ret = -ENOMEM;
-		goto out_kfree;
+		goto out_free_avbuf;
 	}
 
 	avhdr = ubi_get_vid_hdr(avbuf);
@@ -1169,7 +1169,7 @@
 	seen_pebs = init_seen(ubi);
 	if (IS_ERR(seen_pebs)) {
 		ret = PTR_ERR(seen_pebs);
-		goto out_kfree;
+		goto out_free_dvbuf;
 	}
 
 	spin_lock(&ubi->volumes_lock);
@@ -1337,7 +1337,7 @@
 	ret = ubi_io_write_vid_hdr(ubi, new_fm->e[0]->pnum, avbuf);
 	if (ret) {
 		ubi_err(ubi, "unable to write vid_hdr to fastmap SB!");
-		goto out_kfree;
+		goto out_free_seen;
 	}
 
 	for (i = 0; i < new_fm->used_blocks; i++) {
@@ -1359,7 +1359,7 @@
 		if (ret) {
 			ubi_err(ubi, "unable to write vid_hdr to PEB %i!",
 				new_fm->e[i]->pnum);
-			goto out_kfree;
+			goto out_free_seen;
 		}
 	}
 
@@ -1369,7 +1369,7 @@
 		if (ret) {
 			ubi_err(ubi, "unable to write fastmap to PEB %i!",
 				new_fm->e[i]->pnum);
-			goto out_kfree;
+			goto out_free_seen;
 		}
 	}
 
@@ -1379,10 +1379,13 @@
 	ret = self_check_seen(ubi, seen_pebs);
 	dbg_bld("fastmap written!");
 
-out_kfree:
-	ubi_free_vid_buf(avbuf);
-	ubi_free_vid_buf(dvbuf);
+out_free_seen:
 	free_seen(seen_pebs);
+out_free_dvbuf:
+	ubi_free_vid_buf(dvbuf);
+out_free_avbuf:
+	ubi_free_vid_buf(avbuf);
+
 out:
 	return ret;
 }
diff --git a/drivers/net/bonding/bond_alb.c b/drivers/net/bonding/bond_alb.c
index e82108c..334e3f2 100644
--- a/drivers/net/bonding/bond_alb.c
+++ b/drivers/net/bonding/bond_alb.c
@@ -1399,26 +1399,31 @@
 	bool do_tx_balance = true;
 	u32 hash_index = 0;
 	const u8 *hash_start = NULL;
-	struct ipv6hdr *ip6hdr;
 
 	skb_reset_mac_header(skb);
 	eth_data = eth_hdr(skb);
 
 	switch (ntohs(skb->protocol)) {
 	case ETH_P_IP: {
-		const struct iphdr *iph = ip_hdr(skb);
+		const struct iphdr *iph;
 
 		if (is_broadcast_ether_addr(eth_data->h_dest) ||
-		    iph->daddr == ip_bcast ||
-		    iph->protocol == IPPROTO_IGMP) {
+		    !pskb_network_may_pull(skb, sizeof(*iph))) {
+			do_tx_balance = false;
+			break;
+		}
+		iph = ip_hdr(skb);
+		if (iph->daddr == ip_bcast || iph->protocol == IPPROTO_IGMP) {
 			do_tx_balance = false;
 			break;
 		}
 		hash_start = (char *)&(iph->daddr);
 		hash_size = sizeof(iph->daddr);
-	}
 		break;
-	case ETH_P_IPV6:
+	}
+	case ETH_P_IPV6: {
+		const struct ipv6hdr *ip6hdr;
+
 		/* IPv6 doesn't really use broadcast mac address, but leave
 		 * that here just in case.
 		 */
@@ -1435,7 +1440,11 @@
 			break;
 		}
 
-		/* Additianally, DAD probes should not be tx-balanced as that
+		if (!pskb_network_may_pull(skb, sizeof(*ip6hdr))) {
+			do_tx_balance = false;
+			break;
+		}
+		/* Additionally, DAD probes should not be tx-balanced as that
 		 * will lead to false positives for duplicate addresses and
 		 * prevent address configuration from working.
 		 */
@@ -1445,17 +1454,26 @@
 			break;
 		}
 
-		hash_start = (char *)&(ipv6_hdr(skb)->daddr);
-		hash_size = sizeof(ipv6_hdr(skb)->daddr);
+		hash_start = (char *)&ip6hdr->daddr;
+		hash_size = sizeof(ip6hdr->daddr);
 		break;
-	case ETH_P_IPX:
-		if (ipx_hdr(skb)->ipx_checksum != IPX_NO_CHECKSUM) {
+	}
+	case ETH_P_IPX: {
+		const struct ipxhdr *ipxhdr;
+
+		if (pskb_network_may_pull(skb, sizeof(*ipxhdr))) {
+			do_tx_balance = false;
+			break;
+		}
+		ipxhdr = (struct ipxhdr *)skb_network_header(skb);
+
+		if (ipxhdr->ipx_checksum != IPX_NO_CHECKSUM) {
 			/* something is wrong with this packet */
 			do_tx_balance = false;
 			break;
 		}
 
-		if (ipx_hdr(skb)->ipx_type != IPX_TYPE_NCP) {
+		if (ipxhdr->ipx_type != IPX_TYPE_NCP) {
 			/* The only protocol worth balancing in
 			 * this family since it has an "ARP" like
 			 * mechanism
@@ -1464,9 +1482,11 @@
 			break;
 		}
 
+		eth_data = eth_hdr(skb);
 		hash_start = (char *)eth_data->h_dest;
 		hash_size = ETH_ALEN;
 		break;
+	}
 	case ETH_P_ARP:
 		do_tx_balance = false;
 		if (bond_info->rlb_enabled)
diff --git a/drivers/net/can/mscan/mscan.c b/drivers/net/can/mscan/mscan.c
index acb708f..0a7d818 100644
--- a/drivers/net/can/mscan/mscan.c
+++ b/drivers/net/can/mscan/mscan.c
@@ -392,13 +392,12 @@
 	struct net_device *dev = napi->dev;
 	struct mscan_regs __iomem *regs = priv->reg_base;
 	struct net_device_stats *stats = &dev->stats;
-	int npackets = 0;
-	int ret = 1;
+	int work_done = 0;
 	struct sk_buff *skb;
 	struct can_frame *frame;
 	u8 canrflg;
 
-	while (npackets < quota) {
+	while (work_done < quota) {
 		canrflg = in_8(&regs->canrflg);
 		if (!(canrflg & (MSCAN_RXF | MSCAN_ERR_IF)))
 			break;
@@ -419,18 +418,18 @@
 
 		stats->rx_packets++;
 		stats->rx_bytes += frame->can_dlc;
-		npackets++;
+		work_done++;
 		netif_receive_skb(skb);
 	}
 
-	if (!(in_8(&regs->canrflg) & (MSCAN_RXF | MSCAN_ERR_IF))) {
-		napi_complete(&priv->napi);
-		clear_bit(F_RX_PROGRESS, &priv->flags);
-		if (priv->can.state < CAN_STATE_BUS_OFF)
-			out_8(&regs->canrier, priv->shadow_canrier);
-		ret = 0;
+	if (work_done < quota) {
+		if (likely(napi_complete_done(&priv->napi, work_done))) {
+			clear_bit(F_RX_PROGRESS, &priv->flags);
+			if (priv->can.state < CAN_STATE_BUS_OFF)
+				out_8(&regs->canrier, priv->shadow_canrier);
+		}
 	}
-	return ret;
+	return work_done;
 }
 
 static irqreturn_t mscan_isr(int irq, void *dev_id)
diff --git a/drivers/net/can/slcan.c b/drivers/net/can/slcan.c
index cf0769a..b2e5bca 100644
--- a/drivers/net/can/slcan.c
+++ b/drivers/net/can/slcan.c
@@ -343,9 +343,16 @@
  */
 static void slcan_write_wakeup(struct tty_struct *tty)
 {
-	struct slcan *sl = tty->disc_data;
+	struct slcan *sl;
+
+	rcu_read_lock();
+	sl = rcu_dereference(tty->disc_data);
+	if (!sl)
+		goto out;
 
 	schedule_work(&sl->tx_work);
+out:
+	rcu_read_unlock();
 }
 
 /* Send a can_frame to a TTY queue. */
@@ -640,10 +647,11 @@
 		return;
 
 	spin_lock_bh(&sl->lock);
-	tty->disc_data = NULL;
+	rcu_assign_pointer(tty->disc_data, NULL);
 	sl->tty = NULL;
 	spin_unlock_bh(&sl->lock);
 
+	synchronize_rcu();
 	flush_work(&sl->tx_work);
 
 	/* Flush network side */
diff --git a/drivers/net/can/usb/gs_usb.c b/drivers/net/can/usb/gs_usb.c
index 3a39f51..cc2e224 100644
--- a/drivers/net/can/usb/gs_usb.c
+++ b/drivers/net/can/usb/gs_usb.c
@@ -926,7 +926,7 @@
 			     GS_USB_BREQ_HOST_FORMAT,
 			     USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_INTERFACE,
 			     1,
-			     intf->altsetting[0].desc.bInterfaceNumber,
+			     intf->cur_altsetting->desc.bInterfaceNumber,
 			     hconf,
 			     sizeof(*hconf),
 			     1000);
@@ -949,7 +949,7 @@
 			     GS_USB_BREQ_DEVICE_CONFIG,
 			     USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_INTERFACE,
 			     1,
-			     intf->altsetting[0].desc.bInterfaceNumber,
+			     intf->cur_altsetting->desc.bInterfaceNumber,
 			     dconf,
 			     sizeof(*dconf),
 			     1000);
diff --git a/drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c b/drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c
index 5fc0be5..7ab87a7 100644
--- a/drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c
+++ b/drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c
@@ -1590,7 +1590,7 @@
 	struct usb_endpoint_descriptor *ep;
 	int i;
 
-	iface_desc = &dev->intf->altsetting[0];
+	iface_desc = dev->intf->cur_altsetting;
 
 	for (i = 0; i < iface_desc->desc.bNumEndpoints; ++i) {
 		ep = &iface_desc->endpoint[i].desc;
diff --git a/drivers/net/can/usb/kvaser_usb/kvaser_usb_leaf.c b/drivers/net/can/usb/kvaser_usb/kvaser_usb_leaf.c
index ae4c37e..1b9957f1 100644
--- a/drivers/net/can/usb/kvaser_usb/kvaser_usb_leaf.c
+++ b/drivers/net/can/usb/kvaser_usb/kvaser_usb_leaf.c
@@ -1310,7 +1310,7 @@
 	struct usb_endpoint_descriptor *endpoint;
 	int i;
 
-	iface_desc = &dev->intf->altsetting[0];
+	iface_desc = dev->intf->cur_altsetting;
 
 	for (i = 0; i < iface_desc->desc.bNumEndpoints; ++i) {
 		endpoint = &iface_desc->endpoint[i].desc;
diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_common.c
index 2d3a2cb..ac5d945 100644
--- a/drivers/net/dsa/b53/b53_common.c
+++ b/drivers/net/dsa/b53/b53_common.c
@@ -343,7 +343,8 @@
 	b53_write8(dev, B53_CTRL_PAGE, B53_SWITCH_CTRL, mgmt);
 }
 
-static void b53_enable_vlan(struct b53_device *dev, bool enable)
+static void b53_enable_vlan(struct b53_device *dev, bool enable,
+			    bool enable_filtering)
 {
 	u8 mgmt, vc0, vc1, vc4 = 0, vc5;
 
@@ -368,8 +369,13 @@
 		vc0 |= VC0_VLAN_EN | VC0_VID_CHK_EN | VC0_VID_HASH_VID;
 		vc1 |= VC1_RX_MCST_UNTAG_EN | VC1_RX_MCST_FWD_EN;
 		vc4 &= ~VC4_ING_VID_CHECK_MASK;
-		vc4 |= VC4_ING_VID_VIO_DROP << VC4_ING_VID_CHECK_S;
-		vc5 |= VC5_DROP_VTABLE_MISS;
+		if (enable_filtering) {
+			vc4 |= VC4_ING_VID_VIO_DROP << VC4_ING_VID_CHECK_S;
+			vc5 |= VC5_DROP_VTABLE_MISS;
+		} else {
+			vc4 |= VC4_ING_VID_VIO_FWD << VC4_ING_VID_CHECK_S;
+			vc5 &= ~VC5_DROP_VTABLE_MISS;
+		}
 
 		if (is5325(dev))
 			vc0 &= ~VC0_RESERVED_1;
@@ -419,6 +425,9 @@
 	}
 
 	b53_write8(dev, B53_CTRL_PAGE, B53_SWITCH_MODE, mgmt);
+
+	dev->vlan_enabled = enable;
+	dev->vlan_filtering_enabled = enable_filtering;
 }
 
 static int b53_set_jumbo(struct b53_device *dev, bool enable, bool allow_10_100)
@@ -622,25 +631,35 @@
 	b53_write8(dev, B53_MGMT_PAGE, B53_GLOBAL_CONFIG, gc);
 }
 
+static u16 b53_default_pvid(struct b53_device *dev)
+{
+	if (is5325(dev) || is5365(dev))
+		return 1;
+	else
+		return 0;
+}
+
 int b53_configure_vlan(struct dsa_switch *ds)
 {
 	struct b53_device *dev = ds->priv;
 	struct b53_vlan vl = { 0 };
-	int i;
+	int i, def_vid;
+
+	def_vid = b53_default_pvid(dev);
 
 	/* clear all vlan entries */
 	if (is5325(dev) || is5365(dev)) {
-		for (i = 1; i < dev->num_vlans; i++)
+		for (i = def_vid; i < dev->num_vlans; i++)
 			b53_set_vlan_entry(dev, i, &vl);
 	} else {
 		b53_do_vlan_op(dev, VTA_CMD_CLEAR);
 	}
 
-	b53_enable_vlan(dev, false);
+	b53_enable_vlan(dev, dev->vlan_enabled, dev->vlan_filtering_enabled);
 
 	b53_for_each_port(dev, i)
 		b53_write16(dev, B53_VLAN_PAGE,
-			    B53_VLAN_PORT_DEF_TAG(i), 1);
+			    B53_VLAN_PORT_DEF_TAG(i), def_vid);
 
 	if (!is5325(dev) && !is5365(dev))
 		b53_set_jumbo(dev, dev->enable_jumbo, false);
@@ -1071,6 +1090,46 @@
 
 int b53_vlan_filtering(struct dsa_switch *ds, int port, bool vlan_filtering)
 {
+	struct b53_device *dev = ds->priv;
+	struct net_device *bridge_dev;
+	unsigned int i;
+	u16 pvid, new_pvid;
+
+	/* Handle the case were multiple bridges span the same switch device
+	 * and one of them has a different setting than what is being requested
+	 * which would be breaking filtering semantics for any of the other
+	 * bridge devices.
+	 */
+	b53_for_each_port(dev, i) {
+		bridge_dev = dsa_to_port(ds, i)->bridge_dev;
+		if (bridge_dev &&
+		    bridge_dev != dsa_to_port(ds, port)->bridge_dev &&
+		    br_vlan_enabled(bridge_dev) != vlan_filtering) {
+			netdev_err(bridge_dev,
+				   "VLAN filtering is global to the switch!\n");
+			return -EINVAL;
+		}
+	}
+
+	b53_read16(dev, B53_VLAN_PAGE, B53_VLAN_PORT_DEF_TAG(port), &pvid);
+	new_pvid = pvid;
+	if (dev->vlan_filtering_enabled && !vlan_filtering) {
+		/* Filtering is currently enabled, use the default PVID since
+		 * the bridge does not expect tagging anymore
+		 */
+		dev->ports[port].pvid = pvid;
+		new_pvid = b53_default_pvid(dev);
+	} else if (!dev->vlan_filtering_enabled && vlan_filtering) {
+		/* Filtering is currently disabled, restore the previous PVID */
+		new_pvid = dev->ports[port].pvid;
+	}
+
+	if (pvid != new_pvid)
+		b53_write16(dev, B53_VLAN_PAGE, B53_VLAN_PORT_DEF_TAG(port),
+			    new_pvid);
+
+	b53_enable_vlan(dev, dev->vlan_enabled, vlan_filtering);
+
 	return 0;
 }
 EXPORT_SYMBOL(b53_vlan_filtering);
@@ -1086,7 +1145,7 @@
 	if (vlan->vid_end > dev->num_vlans)
 		return -ERANGE;
 
-	b53_enable_vlan(dev, true);
+	b53_enable_vlan(dev, true, dev->vlan_filtering_enabled);
 
 	return 0;
 }
@@ -1106,6 +1165,9 @@
 
 		b53_get_vlan_entry(dev, vid, vl);
 
+		if (vid == 0 && vid == b53_default_pvid(dev))
+			untagged = true;
+
 		vl->members |= BIT(port);
 		if (untagged && !dsa_is_cpu_port(ds, port))
 			vl->untag |= BIT(port);
@@ -1116,7 +1178,7 @@
 		b53_fast_age_vlan(dev, vid);
 	}
 
-	if (pvid) {
+	if (pvid && !dsa_is_cpu_port(ds, port)) {
 		b53_write16(dev, B53_VLAN_PAGE, B53_VLAN_PORT_DEF_TAG(port),
 			    vlan->vid_end);
 		b53_fast_age_vlan(dev, vid);
@@ -1142,12 +1204,8 @@
 
 		vl->members &= ~BIT(port);
 
-		if (pvid == vid) {
-			if (is5325(dev) || is5365(dev))
-				pvid = 1;
-			else
-				pvid = 0;
-		}
+		if (pvid == vid)
+			pvid = b53_default_pvid(dev);
 
 		if (untagged && !dsa_is_cpu_port(ds, port))
 			vl->untag &= ~(BIT(port));
@@ -1460,10 +1518,7 @@
 	b53_write16(dev, B53_PVLAN_PAGE, B53_PVLAN_PORT_MASK(port), pvlan);
 	dev->ports[port].vlan_ctl_mask = pvlan;
 
-	if (is5325(dev) || is5365(dev))
-		pvid = 1;
-	else
-		pvid = 0;
+	pvid = b53_default_pvid(dev);
 
 	/* Make this port join all VLANs without VLAN entries */
 	if (is58xx(dev)) {
diff --git a/drivers/net/dsa/b53/b53_priv.h b/drivers/net/dsa/b53/b53_priv.h
index df14975..e87af5d 100644
--- a/drivers/net/dsa/b53/b53_priv.h
+++ b/drivers/net/dsa/b53/b53_priv.h
@@ -73,6 +73,7 @@
 struct b53_port {
 	u16		vlan_ctl_mask;
 	struct ethtool_eee eee;
+	u16		pvid;
 };
 
 struct b53_vlan {
@@ -118,6 +119,8 @@
 
 	unsigned int num_vlans;
 	struct b53_vlan *vlans;
+	bool vlan_enabled;
+	bool vlan_filtering_enabled;
 	unsigned int num_ports;
 	struct b53_port *ports;
 };
diff --git a/drivers/net/dsa/bcm_sf2.c b/drivers/net/dsa/bcm_sf2.c
index 02a4187..8c69789 100644
--- a/drivers/net/dsa/bcm_sf2.c
+++ b/drivers/net/dsa/bcm_sf2.c
@@ -73,6 +73,7 @@
 		/* Force link status for IMP port */
 		reg = core_readl(priv, offset);
 		reg |= (MII_SW_OR | LINK_STS);
+		reg &= ~GMII_SPEED_UP_2G;
 		core_writel(priv, reg, offset);
 
 		/* Enable Broadcast, Multicast, Unicast forwarding to IMP port */
diff --git a/drivers/net/dsa/qca8k.c b/drivers/net/dsa/qca8k.c
index 33232cc..6c04f32 100644
--- a/drivers/net/dsa/qca8k.c
+++ b/drivers/net/dsa/qca8k.c
@@ -451,6 +451,18 @@
 		qca8k_write(priv, QCA8K_REG_PORT5_PAD_CTRL,
 			    QCA8K_PORT_PAD_RGMII_RX_DELAY_EN);
 		break;
+	case PHY_INTERFACE_MODE_RGMII_ID:
+		/* RGMII_ID needs internal delay. This is enabled through
+		 * PORT5_PAD_CTRL for all ports, rather than individual port
+		 * registers
+		 */
+		qca8k_write(priv, reg,
+			    QCA8K_PORT_PAD_RGMII_EN |
+			    QCA8K_PORT_PAD_RGMII_TX_DELAY(QCA8K_MAX_DELAY) |
+			    QCA8K_PORT_PAD_RGMII_RX_DELAY(QCA8K_MAX_DELAY));
+		qca8k_write(priv, QCA8K_REG_PORT5_PAD_CTRL,
+			    QCA8K_PORT_PAD_RGMII_RX_DELAY_EN);
+		break;
 	case PHY_INTERFACE_MODE_SGMII:
 		qca8k_write(priv, reg, QCA8K_PORT_PAD_SGMII_EN);
 		break;
diff --git a/drivers/net/dsa/qca8k.h b/drivers/net/dsa/qca8k.h
index 613fe5c5..d146e54 100644
--- a/drivers/net/dsa/qca8k.h
+++ b/drivers/net/dsa/qca8k.h
@@ -40,6 +40,7 @@
 						((0x8 + (x & 0x3)) << 22)
 #define   QCA8K_PORT_PAD_RGMII_RX_DELAY(x)		\
 						((0x10 + (x & 0x3)) << 20)
+#define   QCA8K_MAX_DELAY				3
 #define   QCA8K_PORT_PAD_RGMII_RX_DELAY_EN		BIT(24)
 #define   QCA8K_PORT_PAD_SGMII_EN			BIT(7)
 #define QCA8K_REG_MODULE_EN				0x030
diff --git a/drivers/net/ethernet/amazon/ena/ena_com.c b/drivers/net/ethernet/amazon/ena/ena_com.c
index 7635c38..3afc0e5 100644
--- a/drivers/net/ethernet/amazon/ena/ena_com.c
+++ b/drivers/net/ethernet/amazon/ena/ena_com.c
@@ -201,6 +201,11 @@
 static struct ena_comp_ctx *get_comp_ctxt(struct ena_com_admin_queue *queue,
 					  u16 command_id, bool capture)
 {
+	if (unlikely(!queue->comp_ctx)) {
+		pr_err("Completion context is NULL\n");
+		return NULL;
+	}
+
 	if (unlikely(command_id >= queue->q_depth)) {
 		pr_err("command id is larger than the queue size. cmd_id: %u queue size %d\n",
 		       command_id, queue->q_depth);
@@ -842,6 +847,24 @@
 				      0);
 }
 
+static void ena_com_hash_key_fill_default_key(struct ena_com_dev *ena_dev)
+{
+	struct ena_admin_feature_rss_flow_hash_control *hash_key =
+		(ena_dev->rss).hash_key;
+
+	netdev_rss_key_fill(&hash_key->key, sizeof(hash_key->key));
+	/* The key is stored in the device in u32 array
+	 * as well as the API requires the key to be passed in this
+	 * format. Thus the size of our array should be divided by 4
+	 */
+	hash_key->keys_num = sizeof(hash_key->key) / sizeof(u32);
+}
+
+int ena_com_get_current_hash_function(struct ena_com_dev *ena_dev)
+{
+	return ena_dev->rss.hash_func;
+}
+
 static int ena_com_hash_key_allocate(struct ena_com_dev *ena_dev)
 {
 	struct ena_rss *rss = &ena_dev->rss;
@@ -2008,7 +2031,7 @@
 	if (unlikely(ret))
 		return ret;
 
-	if (get_resp.u.flow_hash_func.supported_func & (1 << rss->hash_func)) {
+	if (!(get_resp.u.flow_hash_func.supported_func & BIT(rss->hash_func))) {
 		pr_err("Func hash %d isn't supported by device, abort\n",
 		       rss->hash_func);
 		return -EOPNOTSUPP;
@@ -2075,15 +2098,16 @@
 
 	switch (func) {
 	case ENA_ADMIN_TOEPLITZ:
-		if (key_len > sizeof(hash_key->key)) {
-			pr_err("key len (%hu) is bigger than the max supported (%zu)\n",
-			       key_len, sizeof(hash_key->key));
-			return -EINVAL;
+		if (key) {
+			if (key_len != sizeof(hash_key->key)) {
+				pr_err("key len (%hu) doesn't equal the supported size (%zu)\n",
+				       key_len, sizeof(hash_key->key));
+				return -EINVAL;
+			}
+			memcpy(hash_key->key, key, key_len);
+			rss->hash_init_val = init_val;
+			hash_key->keys_num = key_len >> 2;
 		}
-
-		memcpy(hash_key->key, key, key_len);
-		rss->hash_init_val = init_val;
-		hash_key->keys_num = key_len >> 2;
 		break;
 	case ENA_ADMIN_CRC32:
 		rss->hash_init_val = init_val;
@@ -2093,6 +2117,7 @@
 		return -EINVAL;
 	}
 
+	rss->hash_func = func;
 	rc = ena_com_set_hash_function(ena_dev);
 
 	/* Restore the old function */
@@ -2119,7 +2144,11 @@
 	if (unlikely(rc))
 		return rc;
 
-	rss->hash_func = get_resp.u.flow_hash_func.selected_func;
+	/* ffs() returns 1 in case the lsb is set */
+	rss->hash_func = ffs(get_resp.u.flow_hash_func.selected_func);
+	if (rss->hash_func)
+		rss->hash_func--;
+
 	if (func)
 		*func = rss->hash_func;
 
@@ -2407,6 +2436,8 @@
 	if (unlikely(rc))
 		goto err_hash_key;
 
+	ena_com_hash_key_fill_default_key(ena_dev);
+
 	rc = ena_com_hash_ctrl_init(ena_dev);
 	if (unlikely(rc))
 		goto err_hash_ctrl;
diff --git a/drivers/net/ethernet/amazon/ena/ena_com.h b/drivers/net/ethernet/amazon/ena/ena_com.h
index 7b784f8..7272fb0 100644
--- a/drivers/net/ethernet/amazon/ena/ena_com.h
+++ b/drivers/net/ethernet/amazon/ena/ena_com.h
@@ -42,6 +42,7 @@
 #include <linux/spinlock.h>
 #include <linux/types.h>
 #include <linux/wait.h>
+#include <linux/netdevice.h>
 
 #include "ena_common_defs.h"
 #include "ena_admin_defs.h"
@@ -631,6 +632,14 @@
  */
 void ena_com_rss_destroy(struct ena_com_dev *ena_dev);
 
+/* ena_com_get_current_hash_function - Get RSS hash function
+ * @ena_dev: ENA communication layer struct
+ *
+ * Return the current hash function.
+ * @return: 0 or one of the ena_admin_hash_functions values.
+ */
+int ena_com_get_current_hash_function(struct ena_com_dev *ena_dev);
+
 /* ena_com_fill_hash_function - Fill RSS hash function
  * @ena_dev: ENA communication layer struct
  * @func: The hash function (Toeplitz or crc)
diff --git a/drivers/net/ethernet/amazon/ena/ena_ethtool.c b/drivers/net/ethernet/amazon/ena/ena_ethtool.c
index 521607b..66f9925 100644
--- a/drivers/net/ethernet/amazon/ena/ena_ethtool.c
+++ b/drivers/net/ethernet/amazon/ena/ena_ethtool.c
@@ -649,6 +649,28 @@
 	return ENA_HASH_KEY_SIZE;
 }
 
+static int ena_indirection_table_get(struct ena_adapter *adapter, u32 *indir)
+{
+	struct ena_com_dev *ena_dev = adapter->ena_dev;
+	int i, rc;
+
+	if (!indir)
+		return 0;
+
+	rc = ena_com_indirect_table_get(ena_dev, indir);
+	if (rc)
+		return rc;
+
+	/* Our internal representation of the indices is: even indices
+	 * for Tx and uneven indices for Rx. We need to convert the Rx
+	 * indices to be consecutive
+	 */
+	for (i = 0; i < ENA_RX_RSS_TABLE_SIZE; i++)
+		indir[i] = ENA_IO_RXQ_IDX_TO_COMBINED_IDX(indir[i]);
+
+	return rc;
+}
+
 static int ena_get_rxfh(struct net_device *netdev, u32 *indir, u8 *key,
 			u8 *hfunc)
 {
@@ -657,11 +679,25 @@
 	u8 func;
 	int rc;
 
-	rc = ena_com_indirect_table_get(adapter->ena_dev, indir);
+	rc = ena_indirection_table_get(adapter, indir);
 	if (rc)
 		return rc;
 
+	/* We call this function in order to check if the device
+	 * supports getting/setting the hash function.
+	 */
 	rc = ena_com_get_hash_function(adapter->ena_dev, &ena_func, key);
+
+	if (rc) {
+		if (rc == -EOPNOTSUPP) {
+			key = NULL;
+			hfunc = NULL;
+			rc = 0;
+		}
+
+		return rc;
+	}
+
 	if (rc)
 		return rc;
 
@@ -670,7 +706,7 @@
 		func = ETH_RSS_HASH_TOP;
 		break;
 	case ENA_ADMIN_CRC32:
-		func = ETH_RSS_HASH_XOR;
+		func = ETH_RSS_HASH_CRC32;
 		break;
 	default:
 		netif_err(adapter, drv, netdev,
@@ -695,8 +731,8 @@
 	if (indir) {
 		for (i = 0; i < ENA_RX_RSS_TABLE_SIZE; i++) {
 			rc = ena_com_indirect_table_fill_entry(ena_dev,
-							       ENA_IO_RXQ_IDX(indir[i]),
-							       i);
+							       i,
+							       ENA_IO_RXQ_IDX(indir[i]));
 			if (unlikely(rc)) {
 				netif_err(adapter, drv, netdev,
 					  "Cannot fill indirect table (index is too large)\n");
@@ -713,10 +749,13 @@
 	}
 
 	switch (hfunc) {
+	case ETH_RSS_HASH_NO_CHANGE:
+		func = ena_com_get_current_hash_function(ena_dev);
+		break;
 	case ETH_RSS_HASH_TOP:
 		func = ENA_ADMIN_TOEPLITZ;
 		break;
-	case ETH_RSS_HASH_XOR:
+	case ETH_RSS_HASH_CRC32:
 		func = ENA_ADMIN_CRC32;
 		break;
 	default:
@@ -817,6 +856,7 @@
 	.get_channels		= ena_get_channels,
 	.get_tunable		= ena_get_tunable,
 	.set_tunable		= ena_set_tunable,
+	.get_ts_info            = ethtool_op_get_ts_info,
 };
 
 void ena_set_ethtool_ops(struct net_device *netdev)
diff --git a/drivers/net/ethernet/amazon/ena/ena_netdev.c b/drivers/net/ethernet/amazon/ena/ena_netdev.c
index e26c195..8736718 100644
--- a/drivers/net/ethernet/amazon/ena/ena_netdev.c
+++ b/drivers/net/ethernet/amazon/ena/ena_netdev.c
@@ -1800,6 +1800,7 @@
 err_setup_tx:
 	ena_free_io_irq(adapter);
 err_req_irq:
+	ena_del_napi(adapter);
 
 	return rc;
 }
@@ -2846,8 +2847,8 @@
 	if (adapter->keep_alive_timeout == ENA_HW_HINTS_NO_TIMEOUT)
 		return;
 
-	keep_alive_expired = round_jiffies(adapter->last_keep_alive_jiffies +
-					   adapter->keep_alive_timeout);
+	keep_alive_expired = adapter->last_keep_alive_jiffies +
+			     adapter->keep_alive_timeout;
 	if (unlikely(time_is_before_jiffies(keep_alive_expired))) {
 		netif_err(adapter, drv, adapter->netdev,
 			  "Keep alive watchdog timeout.\n");
@@ -2949,7 +2950,7 @@
 	}
 
 	/* Reset the timer */
-	mod_timer(&adapter->timer_service, jiffies + HZ);
+	mod_timer(&adapter->timer_service, round_jiffies(jiffies + HZ));
 }
 
 static int ena_calc_io_queue_num(struct pci_dev *pdev,
diff --git a/drivers/net/ethernet/amazon/ena/ena_netdev.h b/drivers/net/ethernet/amazon/ena/ena_netdev.h
index 7c7ae56..f4783ef 100644
--- a/drivers/net/ethernet/amazon/ena/ena_netdev.h
+++ b/drivers/net/ethernet/amazon/ena/ena_netdev.h
@@ -113,6 +113,8 @@
 
 #define ENA_IO_TXQ_IDX(q)	(2 * (q))
 #define ENA_IO_RXQ_IDX(q)	(2 * (q) + 1)
+#define ENA_IO_TXQ_IDX_TO_COMBINED_IDX(q)	((q) / 2)
+#define ENA_IO_RXQ_IDX_TO_COMBINED_IDX(q)	(((q) - 1) / 2)
 
 #define ENA_MGMNT_IRQ_IDX		0
 #define ENA_IO_IRQ_FIRST_IDX		1
diff --git a/drivers/net/ethernet/apm/xgene/xgene_enet_main.c b/drivers/net/ethernet/apm/xgene/xgene_enet_main.c
index 50dd6bf..3a489b2 100644
--- a/drivers/net/ethernet/apm/xgene/xgene_enet_main.c
+++ b/drivers/net/ethernet/apm/xgene/xgene_enet_main.c
@@ -2034,7 +2034,7 @@
 	int ret;
 
 	ndev = alloc_etherdev_mqs(sizeof(struct xgene_enet_pdata),
-				  XGENE_NUM_RX_RING, XGENE_NUM_TX_RING);
+				  XGENE_NUM_TX_RING, XGENE_NUM_RX_RING);
 	if (!ndev)
 		return -ENOMEM;
 
diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c
index 8cc34b0..15dcfb6 100644
--- a/drivers/net/ethernet/aquantia/atlantic/aq_nic.c
+++ b/drivers/net/ethernet/aquantia/atlantic/aq_nic.c
@@ -399,8 +399,10 @@
 				     dx_buff->len,
 				     DMA_TO_DEVICE);
 
-	if (unlikely(dma_mapping_error(aq_nic_get_dev(self), dx_buff->pa)))
+	if (unlikely(dma_mapping_error(aq_nic_get_dev(self), dx_buff->pa))) {
+		ret = 0;
 		goto exit;
+	}
 
 	first = dx_buff;
 	dx_buff->len_pkt = skb->len;
@@ -530,10 +532,6 @@
 	if (likely(frags)) {
 		err = self->aq_hw_ops->hw_ring_tx_xmit(self->aq_hw,
 						       ring, frags);
-		if (err >= 0) {
-			++ring->stats.tx.packets;
-			ring->stats.tx.bytes += skb->len;
-		}
 	} else {
 		err = NETDEV_TX_BUSY;
 	}
diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_ring.c b/drivers/net/ethernet/aquantia/atlantic/aq_ring.c
index b3c7994..b03e5fd 100644
--- a/drivers/net/ethernet/aquantia/atlantic/aq_ring.c
+++ b/drivers/net/ethernet/aquantia/atlantic/aq_ring.c
@@ -162,9 +162,12 @@
 			}
 		}
 
-		if (unlikely(buff->is_eop))
-			dev_kfree_skb_any(buff->skb);
+		if (unlikely(buff->is_eop)) {
+			++self->stats.rx.packets;
+			self->stats.tx.bytes += buff->skb->len;
 
+			dev_kfree_skb_any(buff->skb);
+		}
 		buff->pa = 0U;
 		buff->eop_index = 0xffffU;
 		self->sw_head = aq_ring_next_dx(self, self->sw_head);
diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_vec.c b/drivers/net/ethernet/aquantia/atlantic/aq_vec.c
index 82582fa..72aa2a4 100644
--- a/drivers/net/ethernet/aquantia/atlantic/aq_vec.c
+++ b/drivers/net/ethernet/aquantia/atlantic/aq_vec.c
@@ -309,15 +309,13 @@
 {
 	struct aq_vec_s *self = private;
 	u64 irq_mask = 0U;
-	irqreturn_t err = 0;
+	int err;
 
-	if (!self) {
-		err = -EINVAL;
-		goto err_exit;
-	}
+	if (!self)
+		return IRQ_NONE;
 	err = self->aq_hw_ops->hw_irq_read(self->aq_hw, &irq_mask);
 	if (err < 0)
-		goto err_exit;
+		return IRQ_NONE;
 
 	if (irq_mask) {
 		self->aq_hw_ops->hw_irq_disable(self->aq_hw,
@@ -325,11 +323,10 @@
 		napi_schedule(&self->napi);
 	} else {
 		self->aq_hw_ops->hw_irq_enable(self->aq_hw, 1U);
-		err = IRQ_NONE;
+		return IRQ_NONE;
 	}
 
-err_exit:
-	return err >= 0 ? IRQ_HANDLED : IRQ_NONE;
+	return IRQ_HANDLED;
 }
 
 cpumask_t *aq_vec_get_affinity_mask(struct aq_vec_s *self)
diff --git a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_a0.c b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_a0.c
index 97addfa6..dab5891 100644
--- a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_a0.c
+++ b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_a0.c
@@ -207,8 +207,8 @@
 	u32 i = 0U;
 	u32 num_rss_queues = max(1U, self->aq_nic_cfg->num_rss_queues);
 	int err = 0;
-	u16 bitary[(HW_ATL_A0_RSS_REDIRECTION_MAX *
-					HW_ATL_A0_RSS_REDIRECTION_BITS / 16U)];
+	u16 bitary[1 + (HW_ATL_A0_RSS_REDIRECTION_MAX *
+		   HW_ATL_A0_RSS_REDIRECTION_BITS / 16U)];
 
 	memset(bitary, 0, sizeof(bitary));
 
diff --git a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c
index 51cd1f9..c4f914a 100644
--- a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c
+++ b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c
@@ -192,8 +192,8 @@
 	u32 i = 0U;
 	u32 num_rss_queues = max(1U, self->aq_nic_cfg->num_rss_queues);
 	int err = 0;
-	u16 bitary[(HW_ATL_B0_RSS_REDIRECTION_MAX *
-					HW_ATL_B0_RSS_REDIRECTION_BITS / 16U)];
+	u16 bitary[1 + (HW_ATL_B0_RSS_REDIRECTION_MAX *
+		   HW_ATL_B0_RSS_REDIRECTION_BITS / 16U)];
 
 	memset(bitary, 0, sizeof(bitary));
 
diff --git a/drivers/net/ethernet/broadcom/b44.c b/drivers/net/ethernet/broadcom/b44.c
index e445ab7..88f8d31 100644
--- a/drivers/net/ethernet/broadcom/b44.c
+++ b/drivers/net/ethernet/broadcom/b44.c
@@ -1519,8 +1519,10 @@
 	int ethaddr_bytes = ETH_ALEN;
 
 	memset(ppattern + offset, 0xff, magicsync);
-	for (j = 0; j < magicsync; j++)
-		set_bit(len++, (unsigned long *) pmask);
+	for (j = 0; j < magicsync; j++) {
+		pmask[len >> 3] |= BIT(len & 7);
+		len++;
+	}
 
 	for (j = 0; j < B44_MAX_PATTERNS; j++) {
 		if ((B44_PATTERN_SIZE - len) >= ETH_ALEN)
@@ -1532,7 +1534,8 @@
 		for (k = 0; k< ethaddr_bytes; k++) {
 			ppattern[offset + magicsync +
 				(j * ETH_ALEN) + k] = macaddr[k];
-			set_bit(len++, (unsigned long *) pmask);
+			pmask[len >> 3] |= BIT(len & 7);
+			len++;
 		}
 	}
 	return len - 1;
diff --git a/drivers/net/ethernet/broadcom/bcmsysport.c b/drivers/net/ethernet/broadcom/bcmsysport.c
index 0bdbc72..6f86493 100644
--- a/drivers/net/ethernet/broadcom/bcmsysport.c
+++ b/drivers/net/ethernet/broadcom/bcmsysport.c
@@ -2470,7 +2470,7 @@
 
 	priv->phy_interface = of_get_phy_mode(dn);
 	/* Default to GMII interface mode */
-	if (priv->phy_interface < 0)
+	if ((int)priv->phy_interface < 0)
 		priv->phy_interface = PHY_INTERFACE_MODE_GMII;
 
 	/* In the case of a fixed PHY, the DT node associated
@@ -2716,6 +2716,9 @@
 
 	umac_reset(priv);
 
+	/* Disable the UniMAC RX/TX */
+	umac_enable_set(priv, CMD_RX_EN | CMD_TX_EN, 0);
+
 	/* We may have been suspended and never received a WOL event that
 	 * would turn off MPD detection, take care of that now
 	 */
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
index 2f61175..c19d0ea 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
@@ -5861,7 +5861,7 @@
 	int tcs, i;
 
 	tcs = netdev_get_num_tc(dev);
-	if (tcs > 1) {
+	if (tcs) {
 		int i, off, count;
 
 		for (i = 0; i < tcs; i++) {
@@ -8215,11 +8215,23 @@
 	struct flow_keys *keys1 = &f1->fkeys;
 	struct flow_keys *keys2 = &f2->fkeys;
 
-	if (keys1->addrs.v4addrs.src == keys2->addrs.v4addrs.src &&
-	    keys1->addrs.v4addrs.dst == keys2->addrs.v4addrs.dst &&
-	    keys1->ports.ports == keys2->ports.ports &&
-	    keys1->basic.ip_proto == keys2->basic.ip_proto &&
-	    keys1->basic.n_proto == keys2->basic.n_proto &&
+	if (keys1->basic.n_proto != keys2->basic.n_proto ||
+	    keys1->basic.ip_proto != keys2->basic.ip_proto)
+		return false;
+
+	if (keys1->basic.n_proto == htons(ETH_P_IP)) {
+		if (keys1->addrs.v4addrs.src != keys2->addrs.v4addrs.src ||
+		    keys1->addrs.v4addrs.dst != keys2->addrs.v4addrs.dst)
+			return false;
+	} else {
+		if (memcmp(&keys1->addrs.v6addrs.src, &keys2->addrs.v6addrs.src,
+			   sizeof(keys1->addrs.v6addrs.src)) ||
+		    memcmp(&keys1->addrs.v6addrs.dst, &keys2->addrs.v6addrs.dst,
+			   sizeof(keys1->addrs.v6addrs.dst)))
+			return false;
+	}
+
+	if (keys1->ports.ports == keys2->ports.ports &&
 	    keys1->control.flags == keys2->control.flags &&
 	    ether_addr_equal(f1->src_mac_addr, f2->src_mac_addr) &&
 	    ether_addr_equal(f1->dst_mac_addr, f2->dst_mac_addr))
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.h b/drivers/net/ethernet/broadcom/bnxt/bnxt.h
index f9e253b..585f5ae 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt.h
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.h
@@ -527,6 +527,7 @@
 #define DFLT_HWRM_CMD_TIMEOUT		500
 #define HWRM_CMD_TIMEOUT		(bp->hwrm_cmd_timeout)
 #define HWRM_RESET_TIMEOUT		((HWRM_CMD_TIMEOUT) * 4)
+#define HWRM_COREDUMP_TIMEOUT		((HWRM_CMD_TIMEOUT) * 12)
 #define HWRM_RESP_ERR_CODE_MASK		0xffff
 #define HWRM_RESP_LEN_OFFSET		4
 #define HWRM_RESP_LEN_MASK		0xffff0000
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.c
index a85d2be..0e4e0b4 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.c
@@ -396,7 +396,7 @@
 
 	bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_QUEUE_DSCP_QCAPS, -1, -1);
 	mutex_lock(&bp->hwrm_cmd_lock);
-	rc = _hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
+	rc = _hwrm_send_message_silent(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
 	if (!rc) {
 		bp->max_dscp_value = (1 << resp->num_dscp_bits) - 1;
 		if (bp->max_dscp_value < 0x3f)
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
index 0a409ba..0470247 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
@@ -1778,21 +1778,19 @@
 	mutex_lock(&bp->hwrm_cmd_lock);
 	hwrm_err = _hwrm_send_message(bp, &install, sizeof(install),
 				      INSTALL_PACKAGE_TIMEOUT);
-	if (hwrm_err)
-		goto flash_pkg_exit;
-
-	if (resp->error_code) {
+	if (hwrm_err) {
 		u8 error_code = ((struct hwrm_err_output *)resp)->cmd_err;
 
-		if (error_code == NVM_INSTALL_UPDATE_CMD_ERR_CODE_FRAG_ERR) {
+		if (resp->error_code && error_code ==
+		    NVM_INSTALL_UPDATE_CMD_ERR_CODE_FRAG_ERR) {
 			install.flags |= cpu_to_le16(
 			       NVM_INSTALL_UPDATE_REQ_FLAGS_ALLOWED_TO_DEFRAG);
 			hwrm_err = _hwrm_send_message(bp, &install,
 						      sizeof(install),
 						      INSTALL_PACKAGE_TIMEOUT);
-			if (hwrm_err)
-				goto flash_pkg_exit;
 		}
+		if (hwrm_err)
+			goto flash_pkg_exit;
 	}
 
 	if (resp->result) {
@@ -2600,7 +2598,7 @@
 	bool offline = false;
 	u8 test_results = 0;
 	u8 test_mask = 0;
-	int rc, i;
+	int rc = 0, i;
 
 	if (!bp->num_tests || !BNXT_SINGLE_PF(bp))
 		return;
@@ -2671,9 +2669,9 @@
 		}
 		bnxt_hwrm_phy_loopback(bp, false, false);
 		bnxt_half_close_nic(bp);
-		bnxt_open_nic(bp, false, true);
+		rc = bnxt_open_nic(bp, false, true);
 	}
-	if (bnxt_test_irq(bp)) {
+	if (rc || bnxt_test_irq(bp)) {
 		buf[BNXT_IRQ_TEST_IDX] = 1;
 		etest->flags |= ETH_TEST_FL_FAILED;
 	}
@@ -2835,7 +2833,7 @@
 	req.component_id = cpu_to_le16(component_id);
 	req.segment_id = cpu_to_le16(segment_id);
 
-	return hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
+	return hwrm_send_message(bp, &req, sizeof(req), HWRM_COREDUMP_TIMEOUT);
 }
 
 static int bnxt_hwrm_dbg_coredump_retrieve(struct bnxt *bp, u16 component_id,
diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
index b7d7501..736a6a5 100644
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
@@ -2166,8 +2166,8 @@
 				  DMA_END_ADDR);
 
 	/* Initialize Tx NAPI */
-	netif_napi_add(priv->dev, &ring->napi, bcmgenet_tx_poll,
-		       NAPI_POLL_WEIGHT);
+	netif_tx_napi_add(priv->dev, &ring->napi, bcmgenet_tx_poll,
+			  NAPI_POLL_WEIGHT);
 }
 
 /* Initialize a RDMA ring */
diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c
index c2eb188..d1ff317 100644
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
@@ -66,7 +66,11 @@
 /* Max length of transmit frame must be a multiple of 8 bytes */
 #define MACB_TX_LEN_ALIGN	8
 #define MACB_MAX_TX_LEN		((unsigned int)((1 << MACB_TX_FRMLEN_SIZE) - 1) & ~((unsigned int)(MACB_TX_LEN_ALIGN - 1)))
-#define GEM_MAX_TX_LEN		((unsigned int)((1 << GEM_TX_FRMLEN_SIZE) - 1) & ~((unsigned int)(MACB_TX_LEN_ALIGN - 1)))
+/* Limit maximum TX length as per Cadence TSO errata. This is to avoid a
+ * false amba_error in TX path from the DMA assuming there is not enough
+ * space in the SRAM (16KB) even when there is.
+ */
+#define GEM_MAX_TX_LEN		(unsigned int)(0x3FC0)
 
 #define GEM_MTU_MIN_SIZE	ETH_MIN_MTU
 #define MACB_NETIF_LSO		NETIF_F_TSO
@@ -1654,16 +1658,14 @@
 
 	/* Validate LSO compatibility */
 
-	/* there is only one buffer */
-	if (!skb_is_nonlinear(skb))
+	/* there is only one buffer or protocol is not UDP */
+	if (!skb_is_nonlinear(skb) || (ip_hdr(skb)->protocol != IPPROTO_UDP))
 		return features;
 
 	/* length of header */
 	hdrlen = skb_transport_offset(skb);
-	if (ip_hdr(skb)->protocol == IPPROTO_TCP)
-		hdrlen += tcp_hdrlen(skb);
 
-	/* For LSO:
+	/* For UFO only:
 	 * When software supplies two or more payload buffers all payload buffers
 	 * apart from the last must be a multiple of 8 bytes in size.
 	 */
diff --git a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c b/drivers/net/ethernet/cavium/thunder/thunder_bgx.c
index 8ae28f8..e5fc898 100644
--- a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c
+++ b/drivers/net/ethernet/cavium/thunder/thunder_bgx.c
@@ -413,10 +413,19 @@
 	lmac = &bgx->lmac[lmacid];
 
 	cfg = bgx_reg_read(bgx, lmacid, BGX_CMRX_CFG);
-	if (enable)
+	if (enable) {
 		cfg |= CMR_PKT_RX_EN | CMR_PKT_TX_EN;
-	else
+
+		/* enable TX FIFO Underflow interrupt */
+		bgx_reg_modify(bgx, lmacid, BGX_GMP_GMI_TXX_INT_ENA_W1S,
+			       GMI_TXX_INT_UNDFLW);
+	} else {
 		cfg &= ~(CMR_PKT_RX_EN | CMR_PKT_TX_EN);
+
+		/* Disable TX FIFO Underflow interrupt */
+		bgx_reg_modify(bgx, lmacid, BGX_GMP_GMI_TXX_INT_ENA_W1C,
+			       GMI_TXX_INT_UNDFLW);
+	}
 	bgx_reg_write(bgx, lmacid, BGX_CMRX_CFG, cfg);
 
 	if (bgx->is_rgx)
@@ -1544,6 +1553,48 @@
 	return bgx_init_of_phy(bgx);
 }
 
+static irqreturn_t bgx_intr_handler(int irq, void *data)
+{
+	struct bgx *bgx = (struct bgx *)data;
+	u64 status, val;
+	int lmac;
+
+	for (lmac = 0; lmac < bgx->lmac_count; lmac++) {
+		status = bgx_reg_read(bgx, lmac, BGX_GMP_GMI_TXX_INT);
+		if (status & GMI_TXX_INT_UNDFLW) {
+			pci_err(bgx->pdev, "BGX%d lmac%d UNDFLW\n",
+				bgx->bgx_id, lmac);
+			val = bgx_reg_read(bgx, lmac, BGX_CMRX_CFG);
+			val &= ~CMR_EN;
+			bgx_reg_write(bgx, lmac, BGX_CMRX_CFG, val);
+			val |= CMR_EN;
+			bgx_reg_write(bgx, lmac, BGX_CMRX_CFG, val);
+		}
+		/* clear interrupts */
+		bgx_reg_write(bgx, lmac, BGX_GMP_GMI_TXX_INT, status);
+	}
+
+	return IRQ_HANDLED;
+}
+
+static void bgx_register_intr(struct pci_dev *pdev)
+{
+	struct bgx *bgx = pci_get_drvdata(pdev);
+	int ret;
+
+	ret = pci_alloc_irq_vectors(pdev, BGX_LMAC_VEC_OFFSET,
+				    BGX_LMAC_VEC_OFFSET, PCI_IRQ_ALL_TYPES);
+	if (ret < 0) {
+		pci_err(pdev, "Req for #%d msix vectors failed\n",
+			BGX_LMAC_VEC_OFFSET);
+		return;
+	}
+	ret = pci_request_irq(pdev, GMPX_GMI_TX_INT, bgx_intr_handler, NULL,
+			      bgx, "BGX%d", bgx->bgx_id);
+	if (ret)
+		pci_free_irq(pdev, GMPX_GMI_TX_INT, bgx);
+}
+
 static int bgx_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 {
 	int err;
@@ -1559,7 +1610,7 @@
 
 	pci_set_drvdata(pdev, bgx);
 
-	err = pci_enable_device(pdev);
+	err = pcim_enable_device(pdev);
 	if (err) {
 		dev_err(dev, "Failed to enable PCI device\n");
 		pci_set_drvdata(pdev, NULL);
@@ -1613,6 +1664,8 @@
 
 	bgx_init_hw(bgx);
 
+	bgx_register_intr(pdev);
+
 	/* Enable all LMACs */
 	for (lmac = 0; lmac < bgx->lmac_count; lmac++) {
 		err = bgx_lmac_enable(bgx, lmac);
@@ -1629,6 +1682,7 @@
 
 err_enable:
 	bgx_vnic[bgx->bgx_id] = NULL;
+	pci_free_irq(pdev, GMPX_GMI_TX_INT, bgx);
 err_release_regions:
 	pci_release_regions(pdev);
 err_disable_device:
@@ -1646,6 +1700,8 @@
 	for (lmac = 0; lmac < bgx->lmac_count; lmac++)
 		bgx_lmac_disable(bgx, lmac);
 
+	pci_free_irq(pdev, GMPX_GMI_TX_INT, bgx);
+
 	bgx_vnic[bgx->bgx_id] = NULL;
 	pci_release_regions(pdev);
 	pci_disable_device(pdev);
diff --git a/drivers/net/ethernet/cavium/thunder/thunder_bgx.h b/drivers/net/ethernet/cavium/thunder/thunder_bgx.h
index cbdd20b..ac0c89c 100644
--- a/drivers/net/ethernet/cavium/thunder/thunder_bgx.h
+++ b/drivers/net/ethernet/cavium/thunder/thunder_bgx.h
@@ -183,6 +183,15 @@
 #define BGX_GMP_GMI_TXX_BURST		0x38228
 #define BGX_GMP_GMI_TXX_MIN_PKT		0x38240
 #define BGX_GMP_GMI_TXX_SGMII_CTL	0x38300
+#define BGX_GMP_GMI_TXX_INT		0x38500
+#define BGX_GMP_GMI_TXX_INT_W1S		0x38508
+#define BGX_GMP_GMI_TXX_INT_ENA_W1C	0x38510
+#define BGX_GMP_GMI_TXX_INT_ENA_W1S	0x38518
+#define  GMI_TXX_INT_PTP_LOST			BIT_ULL(4)
+#define  GMI_TXX_INT_LATE_COL			BIT_ULL(3)
+#define  GMI_TXX_INT_XSDEF			BIT_ULL(2)
+#define  GMI_TXX_INT_XSCOL			BIT_ULL(1)
+#define  GMI_TXX_INT_UNDFLW			BIT_ULL(0)
 
 #define BGX_MSIX_VEC_0_29_ADDR		0x400000 /* +(0..29) << 4 */
 #define BGX_MSIX_VEC_0_29_CTL		0x400008
diff --git a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
index 6be6de0..c82469a 100644
--- a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
+++ b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
@@ -2449,6 +2449,8 @@
 
 		if (!is_offload(adapter))
 			return -EOPNOTSUPP;
+		if (!capable(CAP_NET_ADMIN))
+			return -EPERM;
 		if (!(adapter->flags & FULL_INIT_DONE))
 			return -EIO;	/* need the memory controllers */
 		if (copy_from_user(&t, useraddr, sizeof(t)))
diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
index d320e9a..4af6e6f 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c
@@ -70,8 +70,7 @@
 static void *seq_tab_next(struct seq_file *seq, void *v, loff_t *pos)
 {
 	v = seq_tab_get_idx(seq->private, *pos + 1);
-	if (v)
-		++*pos;
+	++(*pos);
 	return v;
 }
 
diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
index bb04c69..c81d6c3 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
@@ -5452,7 +5452,7 @@
 	whoami = t4_read_reg(adapter, PL_WHOAMI_A);
 	pci_read_config_word(pdev, PCI_DEVICE_ID, &device_id);
 	chip = t4_get_chip_type(adapter, CHELSIO_PCI_ID_VER(device_id));
-	if (chip < 0) {
+	if ((int)chip < 0) {
 		dev_err(&pdev->dev, "Device %d is not supported\n", device_id);
 		err = chip;
 		goto out_free_adapter;
diff --git a/drivers/net/ethernet/chelsio/cxgb4/l2t.c b/drivers/net/ethernet/chelsio/cxgb4/l2t.c
index 301c4df..9862777 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/l2t.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/l2t.c
@@ -683,8 +683,7 @@
 static void *l2t_seq_next(struct seq_file *seq, void *v, loff_t *pos)
 {
 	v = l2t_get_idx(seq, *pos);
-	if (v)
-		++*pos;
+	++(*pos);
 	return v;
 }
 
diff --git a/drivers/net/ethernet/chelsio/cxgb4/smt.c b/drivers/net/ethernet/chelsio/cxgb4/smt.c
index 7b2207a..9b3f420 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/smt.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/smt.c
@@ -98,11 +98,9 @@
 
 static void t4_smte_free(struct smt_entry *e)
 {
-	spin_lock_bh(&e->lock);
 	if (atomic_read(&e->refcnt) == 0) {  /* hasn't been recycled */
 		e->state = SMT_STATE_UNUSED;
 	}
-	spin_unlock_bh(&e->lock);
 }
 
 /**
@@ -112,8 +110,10 @@
  */
 void cxgb4_smt_release(struct smt_entry *e)
 {
+	spin_lock_bh(&e->lock);
 	if (atomic_dec_and_test(&e->refcnt))
 		t4_smte_free(e);
+	spin_unlock_bh(&e->lock);
 }
 EXPORT_SYMBOL(cxgb4_smt_release);
 
diff --git a/drivers/net/ethernet/cisco/enic/enic_main.c b/drivers/net/ethernet/cisco/enic/enic_main.c
index 733d917..026a3bd 100644
--- a/drivers/net/ethernet/cisco/enic/enic_main.c
+++ b/drivers/net/ethernet/cisco/enic/enic_main.c
@@ -2013,10 +2013,10 @@
 		napi_disable(&enic->napi[i]);
 
 	netif_carrier_off(netdev);
-	netif_tx_disable(netdev);
 	if (vnic_dev_get_intr_mode(enic->vdev) == VNIC_DEV_INTR_MODE_MSIX)
 		for (i = 0; i < enic->wq_count; i++)
 			napi_disable(&enic->napi[enic_cq_wq(enic, i)]);
+	netif_tx_disable(netdev);
 
 	if (!enic_is_dynamic(enic) && !enic_is_sriov_vf(enic))
 		enic_dev_del_station_addr(enic);
diff --git a/drivers/net/ethernet/dec/tulip/dmfe.c b/drivers/net/ethernet/dec/tulip/dmfe.c
index 17ef7a2..0defd5b 100644
--- a/drivers/net/ethernet/dec/tulip/dmfe.c
+++ b/drivers/net/ethernet/dec/tulip/dmfe.c
@@ -2222,15 +2222,16 @@
 	if (cr6set)
 		dmfe_cr6_user_set = cr6set;
 
- 	switch(mode) {
-   	case DMFE_10MHF:
+	switch (mode) {
+	case DMFE_10MHF:
 	case DMFE_100MHF:
 	case DMFE_10MFD:
 	case DMFE_100MFD:
 	case DMFE_1M_HPNA:
 		dmfe_media_mode = mode;
 		break;
-	default:dmfe_media_mode = DMFE_AUTO;
+	default:
+		dmfe_media_mode = DMFE_AUTO;
 		break;
 	}
 
diff --git a/drivers/net/ethernet/dec/tulip/uli526x.c b/drivers/net/ethernet/dec/tulip/uli526x.c
index 488a744..f4751a8 100644
--- a/drivers/net/ethernet/dec/tulip/uli526x.c
+++ b/drivers/net/ethernet/dec/tulip/uli526x.c
@@ -1817,8 +1817,8 @@
 	if (cr6set)
 		uli526x_cr6_user_set = cr6set;
 
- 	switch (mode) {
-   	case ULI526X_10MHF:
+	switch (mode) {
+	case ULI526X_10MHF:
 	case ULI526X_100MHF:
 	case ULI526X_10MFD:
 	case ULI526X_100MFD:
diff --git a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c b/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
index 462bb8c..d7736c9 100644
--- a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
+++ b/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
@@ -1600,13 +1600,15 @@
  * Skb freeing is not handled here.
  *
  * This function may be called on error paths in the Tx function, so guard
- * against cases when not all fd relevant fields were filled in.
+ * against cases when not all fd relevant fields were filled in. To avoid
+ * reading the invalid transmission timestamp for the error paths set ts to
+ * false.
  *
  * Return the skb backpointer, since for S/G frames the buffer containing it
  * gets freed here.
  */
 static struct sk_buff *dpaa_cleanup_tx_fd(const struct dpaa_priv *priv,
-					  const struct qm_fd *fd)
+					  const struct qm_fd *fd, bool ts)
 {
 	const enum dma_data_direction dma_dir = DMA_TO_DEVICE;
 	struct device *dev = priv->net_dev->dev.parent;
@@ -1620,18 +1622,6 @@
 	skbh = (struct sk_buff **)phys_to_virt(addr);
 	skb = *skbh;
 
-	if (priv->tx_tstamp && skb_shinfo(skb)->tx_flags & SKBTX_HW_TSTAMP) {
-		memset(&shhwtstamps, 0, sizeof(shhwtstamps));
-
-		if (!fman_port_get_tstamp(priv->mac_dev->port[TX], (void *)skbh,
-					  &ns)) {
-			shhwtstamps.hwtstamp = ns_to_ktime(ns);
-			skb_tstamp_tx(skb, &shhwtstamps);
-		} else {
-			dev_warn(dev, "fman_port_get_tstamp failed!\n");
-		}
-	}
-
 	if (unlikely(qm_fd_get_format(fd) == qm_fd_sg)) {
 		nr_frags = skb_shinfo(skb)->nr_frags;
 		dma_unmap_single(dev, addr,
@@ -1654,14 +1644,29 @@
 			dma_unmap_page(dev, qm_sg_addr(&sgt[i]),
 				       qm_sg_entry_get_len(&sgt[i]), dma_dir);
 		}
-
-		/* Free the page frag that we allocated on Tx */
-		skb_free_frag(phys_to_virt(addr));
 	} else {
 		dma_unmap_single(dev, addr,
 				 skb_tail_pointer(skb) - (u8 *)skbh, dma_dir);
 	}
 
+	/* DMA unmapping is required before accessing the HW provided info */
+	if (ts && priv->tx_tstamp &&
+	    skb_shinfo(skb)->tx_flags & SKBTX_HW_TSTAMP) {
+		memset(&shhwtstamps, 0, sizeof(shhwtstamps));
+
+		if (!fman_port_get_tstamp(priv->mac_dev->port[TX], (void *)skbh,
+					  &ns)) {
+			shhwtstamps.hwtstamp = ns_to_ktime(ns);
+			skb_tstamp_tx(skb, &shhwtstamps);
+		} else {
+			dev_warn(dev, "fman_port_get_tstamp failed!\n");
+		}
+	}
+
+	if (qm_fd_get_format(fd) == qm_fd_sg)
+		/* Free the page frag that we allocated on Tx */
+		skb_free_frag(phys_to_virt(addr));
+
 	return skb;
 }
 
@@ -2116,7 +2121,7 @@
 	if (likely(dpaa_xmit(priv, percpu_stats, queue_mapping, &fd) == 0))
 		return NETDEV_TX_OK;
 
-	dpaa_cleanup_tx_fd(priv, &fd);
+	dpaa_cleanup_tx_fd(priv, &fd, false);
 skb_to_fd_failed:
 enomem:
 	percpu_stats->tx_errors++;
@@ -2162,7 +2167,7 @@
 
 	percpu_priv->stats.tx_errors++;
 
-	skb = dpaa_cleanup_tx_fd(priv, fd);
+	skb = dpaa_cleanup_tx_fd(priv, fd, false);
 	dev_kfree_skb(skb);
 }
 
@@ -2203,7 +2208,7 @@
 
 	percpu_priv->tx_confirm++;
 
-	skb = dpaa_cleanup_tx_fd(priv, fd);
+	skb = dpaa_cleanup_tx_fd(priv, fd, true);
 
 	consume_skb(skb);
 }
@@ -2433,7 +2438,7 @@
 	percpu_priv->stats.tx_fifo_errors++;
 	count_ern(percpu_priv, msg);
 
-	skb = dpaa_cleanup_tx_fd(priv, fd);
+	skb = dpaa_cleanup_tx_fd(priv, fd, false);
 	dev_kfree_skb_any(skb);
 }
 
diff --git a/drivers/net/ethernet/freescale/fman/fman_memac.c b/drivers/net/ethernet/freescale/fman/fman_memac.c
index 41c6fa20..e190187 100644
--- a/drivers/net/ethernet/freescale/fman/fman_memac.c
+++ b/drivers/net/ethernet/freescale/fman/fman_memac.c
@@ -110,7 +110,7 @@
 /* Interface Mode Register (IF_MODE) */
 
 #define IF_MODE_MASK		0x00000003 /* 30-31 Mask on i/f mode bits */
-#define IF_MODE_XGMII		0x00000000 /* 30-31 XGMII (10G) interface */
+#define IF_MODE_10G		0x00000000 /* 30-31 10G interface */
 #define IF_MODE_GMII		0x00000002 /* 30-31 GMII (1G) interface */
 #define IF_MODE_RGMII		0x00000004
 #define IF_MODE_RGMII_AUTO	0x00008000
@@ -440,7 +440,7 @@
 	tmp = 0;
 	switch (phy_if) {
 	case PHY_INTERFACE_MODE_XGMII:
-		tmp |= IF_MODE_XGMII;
+		tmp |= IF_MODE_10G;
 		break;
 	default:
 		tmp |= IF_MODE_GMII;
diff --git a/drivers/net/ethernet/freescale/gianfar.c b/drivers/net/ethernet/freescale/gianfar.c
index c97c4ed..cf2d1e8 100644
--- a/drivers/net/ethernet/freescale/gianfar.c
+++ b/drivers/net/ethernet/freescale/gianfar.c
@@ -2685,13 +2685,17 @@
 	skb_dirtytx = tx_queue->skb_dirtytx;
 
 	while ((skb = tx_queue->tx_skbuff[skb_dirtytx])) {
+		bool do_tstamp;
+
+		do_tstamp = (skb_shinfo(skb)->tx_flags & SKBTX_HW_TSTAMP) &&
+			    priv->hwts_tx_en;
 
 		frags = skb_shinfo(skb)->nr_frags;
 
 		/* When time stamping, one additional TxBD must be freed.
 		 * Also, we need to dma_unmap_single() the TxPAL.
 		 */
-		if (unlikely(skb_shinfo(skb)->tx_flags & SKBTX_IN_PROGRESS))
+		if (unlikely(do_tstamp))
 			nr_txbds = frags + 2;
 		else
 			nr_txbds = frags + 1;
@@ -2705,7 +2709,7 @@
 		    (lstatus & BD_LENGTH_MASK))
 			break;
 
-		if (unlikely(skb_shinfo(skb)->tx_flags & SKBTX_IN_PROGRESS)) {
+		if (unlikely(do_tstamp)) {
 			next = next_txbd(bdp, base, tx_ring_size);
 			buflen = be16_to_cpu(next->length) +
 				 GMAC_FCB_LEN + GMAC_TXPAL_LEN;
@@ -2715,7 +2719,7 @@
 		dma_unmap_single(priv->dev, be32_to_cpu(bdp->bufPtr),
 				 buflen, DMA_TO_DEVICE);
 
-		if (unlikely(skb_shinfo(skb)->tx_flags & SKBTX_IN_PROGRESS)) {
+		if (unlikely(do_tstamp)) {
 			struct skb_shared_hwtstamps shhwtstamps;
 			u64 *ns = (u64 *)(((uintptr_t)skb->data + 0x10) &
 					  ~0x7UL);
diff --git a/drivers/net/ethernet/freescale/xgmac_mdio.c b/drivers/net/ethernet/freescale/xgmac_mdio.c
index e03b30c..c82c85e 100644
--- a/drivers/net/ethernet/freescale/xgmac_mdio.c
+++ b/drivers/net/ethernet/freescale/xgmac_mdio.c
@@ -49,6 +49,7 @@
 struct mdio_fsl_priv {
 	struct	tgec_mdio_controller __iomem *mdio_base;
 	bool	is_little_endian;
+	bool	has_a011043;
 };
 
 static u32 xgmac_read32(void __iomem *regs,
@@ -226,7 +227,8 @@
 		return ret;
 
 	/* Return all Fs if nothing was there */
-	if (xgmac_read32(&regs->mdio_stat, endian) & MDIO_STAT_RD_ER) {
+	if ((xgmac_read32(&regs->mdio_stat, endian) & MDIO_STAT_RD_ER) &&
+	    !priv->has_a011043) {
 		dev_err(&bus->dev,
 			"Error while reading PHY%d reg at %d.%hhu\n",
 			phy_id, dev_addr, regnum);
@@ -274,6 +276,9 @@
 	priv->is_little_endian = of_property_read_bool(pdev->dev.of_node,
 						       "little-endian");
 
+	priv->has_a011043 = of_property_read_bool(pdev->dev.of_node,
+						  "fsl,erratum-a011043");
+
 	ret = of_mdiobus_register(bus, np);
 	if (ret) {
 		dev_err(&pdev->dev, "cannot register MDIO bus\n");
diff --git a/drivers/net/ethernet/hisilicon/hix5hd2_gmac.c b/drivers/net/ethernet/hisilicon/hix5hd2_gmac.c
index 471805e..b63871e 100644
--- a/drivers/net/ethernet/hisilicon/hix5hd2_gmac.c
+++ b/drivers/net/ethernet/hisilicon/hix5hd2_gmac.c
@@ -1201,7 +1201,7 @@
 		goto err_free_mdio;
 
 	priv->phy_mode = of_get_phy_mode(node);
-	if (priv->phy_mode < 0) {
+	if ((int)priv->phy_mode < 0) {
 		netdev_err(ndev, "not find phy-mode\n");
 		ret = -EINVAL;
 		goto err_mdiobus;
diff --git a/drivers/net/ethernet/hisilicon/hns/hns_enet.c b/drivers/net/ethernet/hisilicon/hns/hns_enet.c
index 7f8cf80..024b08f 100644
--- a/drivers/net/ethernet/hisilicon/hns/hns_enet.c
+++ b/drivers/net/ethernet/hisilicon/hns/hns_enet.c
@@ -569,7 +569,6 @@
 	skb = *out_skb = napi_alloc_skb(&ring_data->napi,
 					HNS_RX_HEAD_SIZE);
 	if (unlikely(!skb)) {
-		netdev_err(ndev, "alloc rx skb fail\n");
 		ring->stats.sw_err_cnt++;
 		return -ENOMEM;
 	}
@@ -1060,7 +1059,6 @@
 		container_of(napi, struct hns_nic_ring_data, napi);
 	struct hnae_ring *ring = ring_data->ring;
 
-try_again:
 	clean_complete += ring_data->poll_one(
 				ring_data, budget - clean_complete,
 				ring_data->ex_process);
@@ -1070,7 +1068,7 @@
 			napi_complete(napi);
 			ring->q->handle->dev->ops->toggle_ring_irq(ring, 0);
 		} else {
-			goto try_again;
+			return budget;
 		}
 	}
 
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
index 1aaf6e2..3eb8b85 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
@@ -1464,7 +1464,7 @@
 	int i;
 
 	/* Find the stopped queue the same way the stack does */
-	for (i = 0; i < ndev->real_num_tx_queues; i++) {
+	for (i = 0; i < ndev->num_tx_queues; i++) {
 		struct netdev_queue *q;
 		unsigned long trans_start;
 
@@ -2605,9 +2605,10 @@
 	cur_chain = head->next;
 	while (cur_chain) {
 		chain = cur_chain->next;
-		devm_kfree(&pdev->dev, chain);
+		devm_kfree(&pdev->dev, cur_chain);
 		cur_chain = chain;
 	}
+	head->next = NULL;
 
 	return -ENOMEM;
 }
@@ -2642,7 +2643,7 @@
 	struct hnae3_handle *h = priv->ae_handle;
 	struct hns3_enet_tqp_vector *tqp_vector;
 	int ret = 0;
-	u16 i;
+	int i;
 
 	for (i = 0; i < priv->vector_num; i++) {
 		tqp_vector = &priv->tqp_vector[i];
@@ -2679,7 +2680,7 @@
 		ret = hns3_get_vector_ring_chain(tqp_vector,
 						 &vector_ring_chain);
 		if (ret)
-			return ret;
+			goto map_ring_fail;
 
 		ret = h->ae_algo->ops->map_ring_to_vector(h,
 			tqp_vector->vector_irq, &vector_ring_chain);
@@ -2687,13 +2688,19 @@
 		hns3_free_vector_ring_chain(tqp_vector, &vector_ring_chain);
 
 		if (ret)
-			return ret;
+			goto map_ring_fail;
 
 		netif_napi_add(priv->netdev, &tqp_vector->napi,
 			       hns3_nic_common_poll, NAPI_POLL_WEIGHT);
 	}
 
 	return 0;
+
+map_ring_fail:
+	while (i--)
+		netif_napi_del(&priv->tqp_vector[i].napi);
+
+	return ret;
 }
 
 static int hns3_nic_alloc_vector_data(struct hns3_nic_priv *priv)
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
index f8cc8d1..d575dd9 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
@@ -4833,6 +4833,7 @@
 	struct hclge_vport_vtag_tx_cfg_cmd *req;
 	struct hclge_dev *hdev = vport->back;
 	struct hclge_desc desc;
+	u16 bmap_index;
 	int status;
 
 	hclge_cmd_setup_basic_desc(&desc, HCLGE_OPC_VLAN_PORT_TX_CFG, false);
@@ -4855,8 +4856,10 @@
 	hnae3_set_bit(req->vport_vlan_cfg, HCLGE_CFG_NIC_ROCE_SEL_B, 0);
 
 	req->vf_offset = vport->vport_id / HCLGE_VF_NUM_PER_CMD;
-	req->vf_bitmap[req->vf_offset] =
-		1 << (vport->vport_id % HCLGE_VF_NUM_PER_BYTE);
+	bmap_index = vport->vport_id % HCLGE_VF_NUM_PER_CMD /
+			HCLGE_VF_NUM_PER_BYTE;
+	req->vf_bitmap[bmap_index] =
+		1U << (vport->vport_id % HCLGE_VF_NUM_PER_BYTE);
 
 	status = hclge_cmd_send(&hdev->hw, &desc, 1);
 	if (status)
@@ -4873,6 +4876,7 @@
 	struct hclge_vport_vtag_rx_cfg_cmd *req;
 	struct hclge_dev *hdev = vport->back;
 	struct hclge_desc desc;
+	u16 bmap_index;
 	int status;
 
 	hclge_cmd_setup_basic_desc(&desc, HCLGE_OPC_VLAN_PORT_RX_CFG, false);
@@ -4888,8 +4892,10 @@
 		      vcfg->vlan2_vlan_prionly ? 1 : 0);
 
 	req->vf_offset = vport->vport_id / HCLGE_VF_NUM_PER_CMD;
-	req->vf_bitmap[req->vf_offset] =
-		1 << (vport->vport_id % HCLGE_VF_NUM_PER_BYTE);
+	bmap_index = vport->vport_id % HCLGE_VF_NUM_PER_CMD /
+			HCLGE_VF_NUM_PER_BYTE;
+	req->vf_bitmap[bmap_index] =
+		1U << (vport->vport_id % HCLGE_VF_NUM_PER_BYTE);
 
 	status = hclge_cmd_send(&hdev->hw, &desc, 1);
 	if (status)
@@ -5922,18 +5928,17 @@
 	struct hclge_vport *vport = hclge_get_vport(handle);
 	struct hclge_dev *hdev = vport->back;
 
-	return min_t(u32, hdev->rss_size_max * kinfo->num_tc, hdev->num_tqps);
+	return min_t(u32, hdev->rss_size_max,
+		     vport->alloc_tqps / kinfo->num_tc);
 }
 
 static void hclge_get_channels(struct hnae3_handle *handle,
 			       struct ethtool_channels *ch)
 {
-	struct hclge_vport *vport = hclge_get_vport(handle);
-
 	ch->max_combined = hclge_get_max_channels(handle);
 	ch->other_count = 1;
 	ch->max_other = 1;
-	ch->combined_count = vport->alloc_tqps;
+	ch->combined_count = handle->kinfo.rss_size;
 }
 
 static void hclge_get_tqps_and_rss_info(struct hnae3_handle *handle,
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.h b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.h
index 260b1e7..d14b701 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.h
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.h
@@ -600,7 +600,7 @@
 	u16 alloc_rss_size;
 
 	u16 qs_offset;
-	u16 bw_limit;		/* VSI BW Limit (0 = disabled) */
+	u32 bw_limit;		/* VSI BW Limit (0 = disabled) */
 	u8  dwrr;
 
 	struct hclge_tx_vtag_cfg  txvlan_cfg;
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c
index e08e820..997ca79 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c
@@ -181,12 +181,10 @@
 		return ret;
 
 	ret = hclge_bind_ring_with_vector(vport, vector_id, en, &ring_chain);
-	if (ret)
-		return ret;
 
 	hclge_free_vector_ring_chain(&ring_chain);
 
-	return 0;
+	return ret;
 }
 
 static int hclge_set_vf_promisc_mode(struct hclge_vport *vport,
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
index 67db197..fd5375b 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
@@ -1957,7 +1957,8 @@
 	struct hnae3_handle *nic = &hdev->nic;
 	struct hnae3_knic_private_info *kinfo = &nic->kinfo;
 
-	return min_t(u32, hdev->rss_size_max * kinfo->num_tc, hdev->num_tqps);
+	return min_t(u32, hdev->rss_size_max,
+		     hdev->num_tqps / kinfo->num_tc);
 }
 
 /**
@@ -1978,7 +1979,7 @@
 	ch->max_combined = hclgevf_get_max_channels(hdev);
 	ch->other_count = 0;
 	ch->max_other = 0;
-	ch->combined_count = hdev->num_tqps;
+	ch->combined_count = handle->kinfo.rss_size;
 }
 
 static void hclgevf_get_tqps_and_rss_info(struct hnae3_handle *handle,
diff --git a/drivers/net/ethernet/ibm/ehea/ehea_main.c b/drivers/net/ethernet/ibm/ehea/ehea_main.c
index e8ee69d..0f799e8 100644
--- a/drivers/net/ethernet/ibm/ehea/ehea_main.c
+++ b/drivers/net/ethernet/ibm/ehea/ehea_main.c
@@ -1464,7 +1464,7 @@
 
 	memset(pr, 0, sizeof(struct ehea_port_res));
 
-	pr->tx_bytes = rx_bytes;
+	pr->tx_bytes = tx_bytes;
 	pr->tx_packets = tx_packets;
 	pr->rx_bytes = rx_bytes;
 	pr->rx_packets = rx_packets;
diff --git a/drivers/net/ethernet/intel/i40e/i40e_common.c b/drivers/net/ethernet/intel/i40e/i40e_common.c
index 85f75b5..eb0ae6a 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_common.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_common.c
@@ -1668,25 +1668,15 @@
 	return status;
 }
 
-/**
- * i40e_set_fc
- * @hw: pointer to the hw struct
- * @aq_failures: buffer to return AdminQ failure information
- * @atomic_restart: whether to enable atomic link restart
- *
- * Set the requested flow control mode using set_phy_config.
- **/
-enum i40e_status_code i40e_set_fc(struct i40e_hw *hw, u8 *aq_failures,
-				  bool atomic_restart)
+static noinline_for_stack enum i40e_status_code
+i40e_set_fc_status(struct i40e_hw *hw,
+		   struct i40e_aq_get_phy_abilities_resp *abilities,
+		   bool atomic_restart)
 {
-	enum i40e_fc_mode fc_mode = hw->fc.requested_mode;
-	struct i40e_aq_get_phy_abilities_resp abilities;
 	struct i40e_aq_set_phy_config config;
-	enum i40e_status_code status;
+	enum i40e_fc_mode fc_mode = hw->fc.requested_mode;
 	u8 pause_mask = 0x0;
 
-	*aq_failures = 0x0;
-
 	switch (fc_mode) {
 	case I40E_FC_FULL:
 		pause_mask |= I40E_AQ_PHY_FLAG_PAUSE_TX;
@@ -1702,6 +1692,48 @@
 		break;
 	}
 
+	memset(&config, 0, sizeof(struct i40e_aq_set_phy_config));
+	/* clear the old pause settings */
+	config.abilities = abilities->abilities & ~(I40E_AQ_PHY_FLAG_PAUSE_TX) &
+			   ~(I40E_AQ_PHY_FLAG_PAUSE_RX);
+	/* set the new abilities */
+	config.abilities |= pause_mask;
+	/* If the abilities have changed, then set the new config */
+	if (config.abilities == abilities->abilities)
+		return 0;
+
+	/* Auto restart link so settings take effect */
+	if (atomic_restart)
+		config.abilities |= I40E_AQ_PHY_ENABLE_ATOMIC_LINK;
+	/* Copy over all the old settings */
+	config.phy_type = abilities->phy_type;
+	config.phy_type_ext = abilities->phy_type_ext;
+	config.link_speed = abilities->link_speed;
+	config.eee_capability = abilities->eee_capability;
+	config.eeer = abilities->eeer_val;
+	config.low_power_ctrl = abilities->d3_lpan;
+	config.fec_config = abilities->fec_cfg_curr_mod_ext_info &
+			    I40E_AQ_PHY_FEC_CONFIG_MASK;
+
+	return i40e_aq_set_phy_config(hw, &config, NULL);
+}
+
+/**
+ * i40e_set_fc
+ * @hw: pointer to the hw struct
+ * @aq_failures: buffer to return AdminQ failure information
+ * @atomic_restart: whether to enable atomic link restart
+ *
+ * Set the requested flow control mode using set_phy_config.
+ **/
+enum i40e_status_code i40e_set_fc(struct i40e_hw *hw, u8 *aq_failures,
+				  bool atomic_restart)
+{
+	struct i40e_aq_get_phy_abilities_resp abilities;
+	enum i40e_status_code status;
+
+	*aq_failures = 0x0;
+
 	/* Get the current phy config */
 	status = i40e_aq_get_phy_capabilities(hw, false, false, &abilities,
 					      NULL);
@@ -1710,31 +1742,10 @@
 		return status;
 	}
 
-	memset(&config, 0, sizeof(struct i40e_aq_set_phy_config));
-	/* clear the old pause settings */
-	config.abilities = abilities.abilities & ~(I40E_AQ_PHY_FLAG_PAUSE_TX) &
-			   ~(I40E_AQ_PHY_FLAG_PAUSE_RX);
-	/* set the new abilities */
-	config.abilities |= pause_mask;
-	/* If the abilities have changed, then set the new config */
-	if (config.abilities != abilities.abilities) {
-		/* Auto restart link so settings take effect */
-		if (atomic_restart)
-			config.abilities |= I40E_AQ_PHY_ENABLE_ATOMIC_LINK;
-		/* Copy over all the old settings */
-		config.phy_type = abilities.phy_type;
-		config.phy_type_ext = abilities.phy_type_ext;
-		config.link_speed = abilities.link_speed;
-		config.eee_capability = abilities.eee_capability;
-		config.eeer = abilities.eeer_val;
-		config.low_power_ctrl = abilities.d3_lpan;
-		config.fec_config = abilities.fec_cfg_curr_mod_ext_info &
-				    I40E_AQ_PHY_FEC_CONFIG_MASK;
-		status = i40e_aq_set_phy_config(hw, &config, NULL);
+	status = i40e_set_fc_status(hw, &abilities, atomic_restart);
+	if (status)
+		*aq_failures |= I40E_SET_FC_AQ_FAIL_SET;
 
-		if (status)
-			*aq_failures |= I40E_SET_FC_AQ_FAIL_SET;
-	}
 	/* Update the link info */
 	status = i40e_update_link_info(hw);
 	if (status) {
@@ -2563,7 +2574,7 @@
  * i40e_updatelink_status - update status of the HW network link
  * @hw: pointer to the hw struct
  **/
-i40e_status i40e_update_link_info(struct i40e_hw *hw)
+noinline_for_stack i40e_status i40e_update_link_info(struct i40e_hw *hw)
 {
 	struct i40e_aq_get_phy_abilities_resp abilities;
 	i40e_status status = 0;
diff --git a/drivers/net/ethernet/intel/ice/ice_ethtool.c b/drivers/net/ethernet/intel/ice/ice_ethtool.c
index 4c5c87b..627abef 100644
--- a/drivers/net/ethernet/intel/ice/ice_ethtool.c
+++ b/drivers/net/ethernet/intel/ice/ice_ethtool.c
@@ -772,13 +772,6 @@
 	else
 		return -EINVAL;
 
-	/* Tell the OS link is going down, the link will go back up when fw
-	 * says it is ready asynchronously
-	 */
-	ice_print_link_msg(vsi, false);
-	netif_carrier_off(netdev);
-	netif_tx_stop_all_queues(netdev);
-
 	/* Set the FC mode and only restart AN if link is up */
 	status = ice_set_fc(pi, &aq_failures, link_up);
 
diff --git a/drivers/net/ethernet/intel/igb/e1000_82575.c b/drivers/net/ethernet/intel/igb/e1000_82575.c
index bafdcf7..fdab974 100644
--- a/drivers/net/ethernet/intel/igb/e1000_82575.c
+++ b/drivers/net/ethernet/intel/igb/e1000_82575.c
@@ -530,7 +530,7 @@
 		dev_spec->module_plugged = true;
 		if (eth_flags->e1000_base_lx || eth_flags->e1000_base_sx) {
 			hw->phy.media_type = e1000_media_type_internal_serdes;
-		} else if (eth_flags->e100_base_fx) {
+		} else if (eth_flags->e100_base_fx || eth_flags->e100_base_lx) {
 			dev_spec->sgmii_active = true;
 			hw->phy.media_type = e1000_media_type_internal_serdes;
 		} else if (eth_flags->e1000_base_t) {
@@ -657,14 +657,10 @@
 			break;
 		}
 
-		/* do not change link mode for 100BaseFX */
-		if (dev_spec->eth_flags.e100_base_fx)
-			break;
-
 		/* change current link mode setting */
 		ctrl_ext &= ~E1000_CTRL_EXT_LINK_MODE_MASK;
 
-		if (hw->phy.media_type == e1000_media_type_copper)
+		if (dev_spec->sgmii_active)
 			ctrl_ext |= E1000_CTRL_EXT_LINK_MODE_SGMII;
 		else
 			ctrl_ext |= E1000_CTRL_EXT_LINK_MODE_PCIE_SERDES;
diff --git a/drivers/net/ethernet/intel/igb/igb_ethtool.c b/drivers/net/ethernet/intel/igb/igb_ethtool.c
index 5acf3b7..50954e4 100644
--- a/drivers/net/ethernet/intel/igb/igb_ethtool.c
+++ b/drivers/net/ethernet/intel/igb/igb_ethtool.c
@@ -181,7 +181,7 @@
 				advertising &= ~ADVERTISED_1000baseKX_Full;
 			}
 		}
-		if (eth_flags->e100_base_fx) {
+		if (eth_flags->e100_base_fx || eth_flags->e100_base_lx) {
 			supported |= SUPPORTED_100baseT_Full;
 			advertising |= ADVERTISED_100baseT_Full;
 		}
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
index b27f7a9..49e6d66 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
@@ -114,7 +114,6 @@
  **/
 static void ixgbe_ipsec_clear_hw_tables(struct ixgbe_adapter *adapter)
 {
-	struct ixgbe_ipsec *ipsec = adapter->ipsec;
 	struct ixgbe_hw *hw = &adapter->hw;
 	u32 buf[4] = {0, 0, 0, 0};
 	u16 idx;
@@ -133,9 +132,6 @@
 		ixgbe_ipsec_set_tx_sa(hw, idx, buf, 0);
 		ixgbe_ipsec_set_rx_sa(hw, idx, 0, buf, 0, 0, 0);
 	}
-
-	ipsec->num_rx_sa = 0;
-	ipsec->num_tx_sa = 0;
 }
 
 /**
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index de65ca1..8177276 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -1822,13 +1822,7 @@
 static void ixgbe_dma_sync_frag(struct ixgbe_ring *rx_ring,
 				struct sk_buff *skb)
 {
-	/* if the page was released unmap it, else just sync our portion */
-	if (unlikely(IXGBE_CB(skb)->page_released)) {
-		dma_unmap_page_attrs(rx_ring->dev, IXGBE_CB(skb)->dma,
-				     ixgbe_rx_pg_size(rx_ring),
-				     DMA_FROM_DEVICE,
-				     IXGBE_RX_DMA_ATTR);
-	} else if (ring_uses_build_skb(rx_ring)) {
+	if (ring_uses_build_skb(rx_ring)) {
 		unsigned long offset = (unsigned long)(skb->data) & ~PAGE_MASK;
 
 		dma_sync_single_range_for_cpu(rx_ring->dev,
@@ -1845,6 +1839,14 @@
 					      skb_frag_size(frag),
 					      DMA_FROM_DEVICE);
 	}
+
+	/* If the page was released, just unmap it. */
+	if (unlikely(IXGBE_CB(skb)->page_released)) {
+		dma_unmap_page_attrs(rx_ring->dev, IXGBE_CB(skb)->dma,
+				     ixgbe_rx_pg_size(rx_ring),
+				     DMA_FROM_DEVICE,
+				     IXGBE_RX_DMA_ATTR);
+	}
 }
 
 /**
@@ -5187,7 +5189,7 @@
 	struct ixgbe_hw *hw = &adapter->hw;
 	struct hlist_node *node2;
 	struct ixgbe_fdir_filter *filter;
-	u64 action;
+	u8 queue;
 
 	spin_lock(&adapter->fdir_perfect_lock);
 
@@ -5196,17 +5198,34 @@
 
 	hlist_for_each_entry_safe(filter, node2,
 				  &adapter->fdir_filter_list, fdir_node) {
-		action = filter->action;
-		if (action != IXGBE_FDIR_DROP_QUEUE && action != 0)
-			action =
-			(action >> ETHTOOL_RX_FLOW_SPEC_RING_VF_OFF) - 1;
+		if (filter->action == IXGBE_FDIR_DROP_QUEUE) {
+			queue = IXGBE_FDIR_DROP_QUEUE;
+		} else {
+			u32 ring = ethtool_get_flow_spec_ring(filter->action);
+			u8 vf = ethtool_get_flow_spec_ring_vf(filter->action);
+
+			if (!vf && (ring >= adapter->num_rx_queues)) {
+				e_err(drv, "FDIR restore failed without VF, ring: %u\n",
+				      ring);
+				continue;
+			} else if (vf &&
+				   ((vf > adapter->num_vfs) ||
+				     ring >= adapter->num_rx_queues_per_pool)) {
+				e_err(drv, "FDIR restore failed with VF, vf: %hhu, ring: %u\n",
+				      vf, ring);
+				continue;
+			}
+
+			/* Map the ring onto the absolute queue index */
+			if (!vf)
+				queue = adapter->rx_ring[ring]->reg_idx;
+			else
+				queue = ((vf - 1) *
+					adapter->num_rx_queues_per_pool) + ring;
+		}
 
 		ixgbe_fdir_write_perfect_filter_82599(hw,
-				&filter->filter,
-				filter->sw_idx,
-				(action == IXGBE_FDIR_DROP_QUEUE) ?
-				IXGBE_FDIR_DROP_QUEUE :
-				adapter->rx_ring[action]->reg_idx);
+				&filter->filter, filter->sw_idx, queue);
 	}
 
 	spin_unlock(&adapter->fdir_perfect_lock);
diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
index 4093a9c..a10756f 100644
--- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
+++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
@@ -2066,11 +2066,6 @@
 	struct ixgbe_hw *hw = &adapter->hw;
 	int count = 0;
 
-	if ((netdev_uc_count(netdev)) > 10) {
-		pr_err("Too many unicast filters - No Space\n");
-		return -ENOSPC;
-	}
-
 	if (!netdev_uc_empty(netdev)) {
 		struct netdev_hw_addr *ha;
 
diff --git a/drivers/net/ethernet/marvell/mvneta.c b/drivers/net/ethernet/marvell/mvneta.c
index 4313bbb..51885e6 100644
--- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c
@@ -385,6 +385,8 @@
 	struct	u64_stats_sync syncp;
 	u64	rx_packets;
 	u64	rx_bytes;
+	u64	rx_dropped;
+	u64	rx_errors;
 	u64	tx_packets;
 	u64	tx_bytes;
 };
@@ -701,6 +703,8 @@
 		struct mvneta_pcpu_stats *cpu_stats;
 		u64 rx_packets;
 		u64 rx_bytes;
+		u64 rx_dropped;
+		u64 rx_errors;
 		u64 tx_packets;
 		u64 tx_bytes;
 
@@ -709,19 +713,20 @@
 			start = u64_stats_fetch_begin_irq(&cpu_stats->syncp);
 			rx_packets = cpu_stats->rx_packets;
 			rx_bytes   = cpu_stats->rx_bytes;
+			rx_dropped = cpu_stats->rx_dropped;
+			rx_errors  = cpu_stats->rx_errors;
 			tx_packets = cpu_stats->tx_packets;
 			tx_bytes   = cpu_stats->tx_bytes;
 		} while (u64_stats_fetch_retry_irq(&cpu_stats->syncp, start));
 
 		stats->rx_packets += rx_packets;
 		stats->rx_bytes   += rx_bytes;
+		stats->rx_dropped += rx_dropped;
+		stats->rx_errors  += rx_errors;
 		stats->tx_packets += tx_packets;
 		stats->tx_bytes   += tx_bytes;
 	}
 
-	stats->rx_errors	= dev->stats.rx_errors;
-	stats->rx_dropped	= dev->stats.rx_dropped;
-
 	stats->tx_dropped	= dev->stats.tx_dropped;
 }
 
@@ -1698,8 +1703,14 @@
 static void mvneta_rx_error(struct mvneta_port *pp,
 			    struct mvneta_rx_desc *rx_desc)
 {
+	struct mvneta_pcpu_stats *stats = this_cpu_ptr(pp->stats);
 	u32 status = rx_desc->status;
 
+	/* update per-cpu counter */
+	u64_stats_update_begin(&stats->syncp);
+	stats->rx_errors++;
+	u64_stats_update_end(&stats->syncp);
+
 	switch (status & MVNETA_RXD_ERR_CODE_MASK) {
 	case MVNETA_RXD_ERR_CRC:
 		netdev_err(pp->dev, "bad rx status %08x (crc error), size=%d\n",
@@ -1960,7 +1971,6 @@
 			/* Check errors only for FIRST descriptor */
 			if (rx_status & MVNETA_RXD_ERR_SUMMARY) {
 				mvneta_rx_error(pp, rx_desc);
-				dev->stats.rx_errors++;
 				/* leave the descriptor untouched */
 				continue;
 			}
@@ -1971,11 +1981,17 @@
 			skb_size = max(rx_copybreak, rx_header_size);
 			rxq->skb = netdev_alloc_skb_ip_align(dev, skb_size);
 			if (unlikely(!rxq->skb)) {
+				struct mvneta_pcpu_stats *stats = this_cpu_ptr(pp->stats);
+
 				netdev_err(dev,
 					   "Can't allocate skb on queue %d\n",
 					   rxq->id);
-				dev->stats.rx_dropped++;
+
 				rxq->skb_alloc_err++;
+
+				u64_stats_update_begin(&stats->syncp);
+				stats->rx_dropped++;
+				u64_stats_update_end(&stats->syncp);
 				continue;
 			}
 			copy_size = min(skb_size, rx_bytes);
@@ -2135,7 +2151,6 @@
 			mvneta_bm_pool_put_bp(pp->bm_priv, bm_pool,
 					      rx_desc->buf_phys_addr);
 err_drop_frame:
-			dev->stats.rx_errors++;
 			mvneta_rx_error(pp, rx_desc);
 			/* leave the descriptor untouched */
 			continue;
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c b/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
index 9cbc417..044687a 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
@@ -1364,8 +1364,14 @@
 
 	skb->protocol = *((__be16 *)(skb->data));
 
-	skb->ip_summed = CHECKSUM_COMPLETE;
-	skb->csum = csum_unfold((__force __sum16)cqe->check_sum);
+	if (netdev->features & NETIF_F_RXCSUM) {
+		skb->ip_summed = CHECKSUM_COMPLETE;
+		skb->csum = csum_unfold((__force __sum16)cqe->check_sum);
+		stats->csum_complete++;
+	} else {
+		skb->ip_summed = CHECKSUM_NONE;
+		stats->csum_none++;
+	}
 
 	if (unlikely(mlx5e_rx_hw_stamp(tstamp)))
 		skb_hwtstamps(skb)->hwtstamp =
@@ -1384,7 +1390,6 @@
 
 	skb->dev = netdev;
 
-	stats->csum_complete++;
 	stats->packets++;
 	stats->bytes += cqe_bcnt;
 }
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_stats.c b/drivers/net/ethernet/mellanox/mlx5/core/en_stats.c
index 8255d79..9a68dee 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_stats.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_stats.c
@@ -211,6 +211,9 @@
 			s->tx_tls_resync_bytes	+= sq_stats->tls_resync_bytes;
 #endif
 			s->tx_cqes		+= sq_stats->cqes;
+
+			/* https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92657 */
+			barrier();
 		}
 	}
 
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fpga/core.c b/drivers/net/ethernet/mellanox/mlx5/core/fpga/core.c
index 436a813..310f9e7 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/fpga/core.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/fpga/core.c
@@ -289,7 +289,6 @@
 	const char *event_name;
 	bool teardown = false;
 	unsigned long flags;
-	u32 fpga_qpn;
 	u8 syndrome;
 
 	switch (event) {
@@ -300,7 +299,6 @@
 	case MLX5_EVENT_TYPE_FPGA_QP_ERROR:
 		syndrome = MLX5_GET(fpga_qp_error_event, data, syndrome);
 		event_name = mlx5_fpga_qp_syndrome_to_string(syndrome);
-		fpga_qpn = MLX5_GET(fpga_qp_error_event, data, fpga_qpn);
 		break;
 	default:
 		mlx5_fpga_warn_ratelimited(fdev, "Unexpected event %u\n",
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c b/drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c
index b5a8769..715ccaf 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c
@@ -848,6 +848,7 @@
 	mutex_lock(&fpga_xfrm->lock);
 	if (!--fpga_xfrm->num_rules) {
 		mlx5_fpga_ipsec_release_sa_ctx(fpga_xfrm->sa_ctx);
+		kfree(fpga_xfrm->sa_ctx);
 		fpga_xfrm->sa_ctx = NULL;
 	}
 	mutex_unlock(&fpga_xfrm->lock);
@@ -1472,7 +1473,7 @@
 	if (!memcmp(&xfrm->attrs, attrs, sizeof(xfrm->attrs)))
 		return 0;
 
-	if (!mlx5_fpga_esp_validate_xfrm_attrs(mdev, attrs)) {
+	if (mlx5_fpga_esp_validate_xfrm_attrs(mdev, attrs)) {
 		mlx5_core_warn(mdev, "Tried to create an esp with unsupported attrs\n");
 		return -EOPNOTSUPP;
 	}
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c b/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c
index 82a5331..b16e0f4 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c
@@ -469,6 +469,7 @@
 			mlx5_core_warn(dev,
 				       "flow steering can't delete fte in index %d of flow group id %d\n",
 				       fte->index, fg->id);
+		node->active = 0;
 	}
 }
 
@@ -1597,6 +1598,11 @@
 		fte_tmp = NULL;
 		goto out;
 	}
+	if (!fte_tmp->node.active) {
+		tree_put_node(&fte_tmp->node);
+		fte_tmp = NULL;
+		goto out;
+	}
 
 	nested_down_write_ref_node(&fte_tmp->node, FS_LOCK_CHILD);
 out:
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/qp.c b/drivers/net/ethernet/mellanox/mlx5/core/qp.c
index f33707c..479ac21 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/qp.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/qp.c
@@ -44,14 +44,15 @@
 {
 	struct mlx5_qp_table *table = &dev->priv.qp_table;
 	struct mlx5_core_rsc_common *common;
+	unsigned long flags;
 
-	spin_lock(&table->lock);
+	spin_lock_irqsave(&table->lock, flags);
 
 	common = radix_tree_lookup(&table->tree, rsn);
 	if (common)
 		atomic_inc(&common->refcount);
 
-	spin_unlock(&table->lock);
+	spin_unlock_irqrestore(&table->lock, flags);
 
 	if (!common) {
 		mlx5_core_warn(dev, "Async event for bogus resource 0x%x\n",
diff --git a/drivers/net/ethernet/mellanox/mlxsw/reg.h b/drivers/net/ethernet/mellanox/mlxsw/reg.h
index aee58b3..c989587 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/reg.h
+++ b/drivers/net/ethernet/mellanox/mlxsw/reg.h
@@ -3215,7 +3215,7 @@
  * Configures the ETS elements.
  */
 #define MLXSW_REG_QEEC_ID 0x400D
-#define MLXSW_REG_QEEC_LEN 0x1C
+#define MLXSW_REG_QEEC_LEN 0x20
 
 MLXSW_REG_DEFINE(qeec, MLXSW_REG_QEEC_ID, MLXSW_REG_QEEC_LEN);
 
@@ -3257,6 +3257,15 @@
  */
 MLXSW_ITEM32(reg, qeec, next_element_index, 0x08, 0, 8);
 
+/* reg_qeec_mise
+ * Min shaper configuration enable. Enables configuration of the min
+ * shaper on this ETS element
+ * 0 - Disable
+ * 1 - Enable
+ * Access: RW
+ */
+MLXSW_ITEM32(reg, qeec, mise, 0x0C, 31, 1);
+
 enum {
 	MLXSW_REG_QEEC_BYTES_MODE,
 	MLXSW_REG_QEEC_PACKETS_MODE,
@@ -3273,6 +3282,17 @@
  */
 MLXSW_ITEM32(reg, qeec, pb, 0x0C, 28, 1);
 
+/* The smallest permitted min shaper rate. */
+#define MLXSW_REG_QEEC_MIS_MIN	200000		/* Kbps */
+
+/* reg_qeec_min_shaper_rate
+ * Min shaper information rate.
+ * For CPU port, can only be configured for port hierarchy.
+ * When in bytes mode, value is specified in units of 1000bps.
+ * Access: RW
+ */
+MLXSW_ITEM32(reg, qeec, min_shaper_rate, 0x0C, 0, 28);
+
 /* reg_qeec_mase
  * Max shaper configuration enable. Enables configuration of the max
  * shaper on this ETS element.
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum.c
index e498ee9..5df9b25 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum.c
@@ -1061,6 +1061,9 @@
 			     periodic_hw_stats.update_dw.work);
 
 	if (!netif_carrier_ok(mlxsw_sp_port->dev))
+		/* Note: mlxsw_sp_port_down_wipe_counters() clears the cache as
+		 * necessary when port goes down.
+		 */
 		goto out;
 
 	mlxsw_sp_port_get_hw_stats(mlxsw_sp_port->dev,
@@ -2750,6 +2753,21 @@
 	return mlxsw_reg_write(mlxsw_sp->core, MLXSW_REG(qeec), qeec_pl);
 }
 
+static int mlxsw_sp_port_min_bw_set(struct mlxsw_sp_port *mlxsw_sp_port,
+				    enum mlxsw_reg_qeec_hr hr, u8 index,
+				    u8 next_index, u32 minrate)
+{
+	struct mlxsw_sp *mlxsw_sp = mlxsw_sp_port->mlxsw_sp;
+	char qeec_pl[MLXSW_REG_QEEC_LEN];
+
+	mlxsw_reg_qeec_pack(qeec_pl, mlxsw_sp_port->local_port, hr, index,
+			    next_index);
+	mlxsw_reg_qeec_mise_set(qeec_pl, true);
+	mlxsw_reg_qeec_min_shaper_rate_set(qeec_pl, minrate);
+
+	return mlxsw_reg_write(mlxsw_sp->core, MLXSW_REG(qeec), qeec_pl);
+}
+
 int mlxsw_sp_port_prio_tc_set(struct mlxsw_sp_port *mlxsw_sp_port,
 			      u8 switch_prio, u8 tclass)
 {
@@ -2827,6 +2845,16 @@
 			return err;
 	}
 
+	/* Configure the min shaper for multicast TCs. */
+	for (i = 0; i < IEEE_8021QAZ_MAX_TCS; i++) {
+		err = mlxsw_sp_port_min_bw_set(mlxsw_sp_port,
+					       MLXSW_REG_QEEC_HIERARCY_TC,
+					       i + 8, i,
+					       MLXSW_REG_QEEC_MIS_MIN);
+		if (err)
+			return err;
+	}
+
 	/* Map all priorities to traffic class 0. */
 	for (i = 0; i < IEEE_8021QAZ_MAX_TCS; i++) {
 		err = mlxsw_sp_port_prio_tc_set(mlxsw_sp_port, i, 0);
@@ -3309,6 +3337,15 @@
 	return 0;
 }
 
+static void
+mlxsw_sp_port_down_wipe_counters(struct mlxsw_sp_port *mlxsw_sp_port)
+{
+	int i;
+
+	for (i = 0; i < TC_MAX_QUEUE; i++)
+		mlxsw_sp_port->periodic_hw_stats.xstats.backlog[i] = 0;
+}
+
 static void mlxsw_sp_pude_event_func(const struct mlxsw_reg_info *reg,
 				     char *pude_pl, void *priv)
 {
@@ -3329,6 +3366,7 @@
 	} else {
 		netdev_info(mlxsw_sp_port->dev, "link down\n");
 		netif_carrier_off(mlxsw_sp_port->dev);
+		mlxsw_sp_port_down_wipe_counters(mlxsw_sp_port);
 	}
 }
 
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_dpipe.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_dpipe.c
index 41e607a..4fe193c 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_dpipe.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_dpipe.c
@@ -215,7 +215,7 @@
 start_again:
 	err = devlink_dpipe_entry_ctx_prepare(dump_ctx);
 	if (err)
-		return err;
+		goto err_ctx_prepare;
 	j = 0;
 	for (; i < rif_count; i++) {
 		struct mlxsw_sp_rif *rif = mlxsw_sp_rif_by_index(mlxsw_sp, i);
@@ -247,6 +247,7 @@
 	return 0;
 err_entry_append:
 err_entry_get:
+err_ctx_prepare:
 	rtnl_unlock();
 	devlink_dpipe_entry_clear(&entry);
 	return err;
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
index 720514b..dc63583 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c
@@ -195,6 +195,20 @@
 	return -EOPNOTSUPP;
 }
 
+static u64
+mlxsw_sp_xstats_backlog(struct mlxsw_sp_port_xstats *xstats, int tclass_num)
+{
+	return xstats->backlog[tclass_num] +
+	       xstats->backlog[tclass_num + 8];
+}
+
+static u64
+mlxsw_sp_xstats_tail_drop(struct mlxsw_sp_port_xstats *xstats, int tclass_num)
+{
+	return xstats->tail_drop[tclass_num] +
+	       xstats->tail_drop[tclass_num + 8];
+}
+
 static void
 mlxsw_sp_qdisc_bstats_per_priority_get(struct mlxsw_sp_port_xstats *xstats,
 				       u8 prio_bitmap, u64 *tx_packets,
@@ -269,7 +283,7 @@
 					       &stats_base->tx_bytes);
 	red_base->prob_mark = xstats->ecn;
 	red_base->prob_drop = xstats->wred_drop[tclass_num];
-	red_base->pdrop = xstats->tail_drop[tclass_num];
+	red_base->pdrop = mlxsw_sp_xstats_tail_drop(xstats, tclass_num);
 
 	stats_base->overlimits = red_base->prob_drop + red_base->prob_mark;
 	stats_base->drops = red_base->prob_drop + red_base->pdrop;
@@ -369,7 +383,8 @@
 
 	early_drops = xstats->wred_drop[tclass_num] - xstats_base->prob_drop;
 	marks = xstats->ecn - xstats_base->prob_mark;
-	pdrops = xstats->tail_drop[tclass_num] - xstats_base->pdrop;
+	pdrops = mlxsw_sp_xstats_tail_drop(xstats, tclass_num) -
+		 xstats_base->pdrop;
 
 	res->pdrop += pdrops;
 	res->prob_drop += early_drops;
@@ -402,9 +417,10 @@
 
 	overlimits = xstats->wred_drop[tclass_num] + xstats->ecn -
 		     stats_base->overlimits;
-	drops = xstats->wred_drop[tclass_num] + xstats->tail_drop[tclass_num] -
+	drops = xstats->wred_drop[tclass_num] +
+		mlxsw_sp_xstats_tail_drop(xstats, tclass_num) -
 		stats_base->drops;
-	backlog = xstats->backlog[tclass_num];
+	backlog = mlxsw_sp_xstats_backlog(xstats, tclass_num);
 
 	_bstats_update(stats_ptr->bstats, tx_bytes, tx_packets);
 	stats_ptr->qstats->overlimits += overlimits;
@@ -575,9 +591,9 @@
 	tx_packets = stats->tx_packets - stats_base->tx_packets;
 
 	for (i = 0; i < IEEE_8021QAZ_MAX_TCS; i++) {
-		drops += xstats->tail_drop[i];
+		drops += mlxsw_sp_xstats_tail_drop(xstats, i);
 		drops += xstats->wred_drop[i];
-		backlog += xstats->backlog[i];
+		backlog += mlxsw_sp_xstats_backlog(xstats, i);
 	}
 	drops = drops - stats_base->drops;
 
@@ -613,7 +629,7 @@
 
 	stats_base->drops = 0;
 	for (i = 0; i < IEEE_8021QAZ_MAX_TCS; i++) {
-		stats_base->drops += xstats->tail_drop[i];
+		stats_base->drops += mlxsw_sp_xstats_tail_drop(xstats, i);
 		stats_base->drops += xstats->wred_drop[i];
 	}
 
diff --git a/drivers/net/ethernet/micrel/ks8851_mll.c b/drivers/net/ethernet/micrel/ks8851_mll.c
index 35f8c9e..9de59fa 100644
--- a/drivers/net/ethernet/micrel/ks8851_mll.c
+++ b/drivers/net/ethernet/micrel/ks8851_mll.c
@@ -476,24 +476,6 @@
  */
 
 /**
- * ks_rdreg8 - read 8 bit register from device
- * @ks	  : The chip information
- * @offset: The register address
- *
- * Read a 8bit register from the chip, returning the result
- */
-static u8 ks_rdreg8(struct ks_net *ks, int offset)
-{
-	u16 data;
-	u8 shift_bit = offset & 0x03;
-	u8 shift_data = (offset & 1) << 3;
-	ks->cmd_reg_cache = (u16) offset | (u16)(BE0 << shift_bit);
-	iowrite16(ks->cmd_reg_cache, ks->hw_addr_cmd);
-	data  = ioread16(ks->hw_addr);
-	return (u8)(data >> shift_data);
-}
-
-/**
  * ks_rdreg16 - read 16 bit register from device
  * @ks	  : The chip information
  * @offset: The register address
@@ -503,28 +485,12 @@
 
 static u16 ks_rdreg16(struct ks_net *ks, int offset)
 {
-	ks->cmd_reg_cache = (u16)offset | ((BE1 | BE0) << (offset & 0x02));
+	ks->cmd_reg_cache = (u16)offset | ((BE3 | BE2) >> (offset & 0x02));
 	iowrite16(ks->cmd_reg_cache, ks->hw_addr_cmd);
 	return ioread16(ks->hw_addr);
 }
 
 /**
- * ks_wrreg8 - write 8bit register value to chip
- * @ks: The chip information
- * @offset: The register address
- * @value: The value to write
- *
- */
-static void ks_wrreg8(struct ks_net *ks, int offset, u8 value)
-{
-	u8  shift_bit = (offset & 0x03);
-	u16 value_write = (u16)(value << ((offset & 1) << 3));
-	ks->cmd_reg_cache = (u16)offset | (BE0 << shift_bit);
-	iowrite16(ks->cmd_reg_cache, ks->hw_addr_cmd);
-	iowrite16(value_write, ks->hw_addr);
-}
-
-/**
  * ks_wrreg16 - write 16bit register value to chip
  * @ks: The chip information
  * @offset: The register address
@@ -534,7 +500,7 @@
 
 static void ks_wrreg16(struct ks_net *ks, int offset, u16 value)
 {
-	ks->cmd_reg_cache = (u16)offset | ((BE1 | BE0) << (offset & 0x02));
+	ks->cmd_reg_cache = (u16)offset | ((BE3 | BE2) >> (offset & 0x02));
 	iowrite16(ks->cmd_reg_cache, ks->hw_addr_cmd);
 	iowrite16(value, ks->hw_addr);
 }
@@ -550,7 +516,7 @@
 {
 	len >>= 1;
 	while (len--)
-		*wptr++ = (u16)ioread16(ks->hw_addr);
+		*wptr++ = be16_to_cpu(ioread16(ks->hw_addr));
 }
 
 /**
@@ -564,7 +530,7 @@
 {
 	len >>= 1;
 	while (len--)
-		iowrite16(*wptr++, ks->hw_addr);
+		iowrite16(cpu_to_be16(*wptr++), ks->hw_addr);
 }
 
 static void ks_disable_int(struct ks_net *ks)
@@ -643,8 +609,7 @@
 	u16 reg_data = 0;
 
 	/* Regardless of bus width, 8 bit read should always work.*/
-	reg_data = ks_rdreg8(ks, KS_CCR) & 0x00FF;
-	reg_data |= ks_rdreg8(ks, KS_CCR+1) << 8;
+	reg_data = ks_rdreg16(ks, KS_CCR);
 
 	/* addr/data bus are multiplexed */
 	ks->sharedbus = (reg_data & CCR_SHARED) == CCR_SHARED;
@@ -748,7 +713,7 @@
 
 	/* 1. set sudo DMA mode */
 	ks_wrreg16(ks, KS_RXFDPR, RXFDPR_RXFPAI);
-	ks_wrreg8(ks, KS_RXQCR, (ks->rc_rxqcr | RXQCR_SDA) & 0xff);
+	ks_wrreg16(ks, KS_RXQCR, ks->rc_rxqcr | RXQCR_SDA);
 
 	/* 2. read prepend data */
 	/**
@@ -765,7 +730,7 @@
 	ks_inblk(ks, buf, ALIGN(len, 4));
 
 	/* 4. reset sudo DMA Mode */
-	ks_wrreg8(ks, KS_RXQCR, ks->rc_rxqcr);
+	ks_wrreg16(ks, KS_RXQCR, ks->rc_rxqcr);
 }
 
 /**
@@ -998,13 +963,13 @@
 	ks->txh.txw[1] = cpu_to_le16(len);
 
 	/* 1. set sudo-DMA mode */
-	ks_wrreg8(ks, KS_RXQCR, (ks->rc_rxqcr | RXQCR_SDA) & 0xff);
+	ks_wrreg16(ks, KS_RXQCR, ks->rc_rxqcr | RXQCR_SDA);
 	/* 2. write status/lenth info */
 	ks_outblk(ks, ks->txh.txw, 4);
 	/* 3. write pkt data */
 	ks_outblk(ks, (u16 *)pdata, ALIGN(len, 4));
 	/* 4. reset sudo-DMA mode */
-	ks_wrreg8(ks, KS_RXQCR, ks->rc_rxqcr);
+	ks_wrreg16(ks, KS_RXQCR, ks->rc_rxqcr);
 	/* 5. Enqueue Tx(move the pkt from TX buffer into TXQ) */
 	ks_wrreg16(ks, KS_TXQCR, TXQCR_METFE);
 	/* 6. wait until TXQCR_METFE is auto-cleared */
diff --git a/drivers/net/ethernet/mscc/ocelot_board.c b/drivers/net/ethernet/mscc/ocelot_board.c
index 3cdf63e..4054cf9 100644
--- a/drivers/net/ethernet/mscc/ocelot_board.c
+++ b/drivers/net/ethernet/mscc/ocelot_board.c
@@ -105,6 +105,14 @@
 		if (err != 4)
 			break;
 
+		/* At this point the IFH was read correctly, so it is safe to
+		 * presume that there is no error. The err needs to be reset
+		 * otherwise a frame could come in CPU queue between the while
+		 * condition and the check for error later on. And in that case
+		 * the new frame is just removed and not processed.
+		 */
+		err = 0;
+
 		ocelot_parse_ifh(ifh, &info);
 
 		dev = ocelot->ports[info.port]->dev;
diff --git a/drivers/net/ethernet/natsemi/sonic.c b/drivers/net/ethernet/natsemi/sonic.c
index c805dcb..69282f3 100644
--- a/drivers/net/ethernet/natsemi/sonic.c
+++ b/drivers/net/ethernet/natsemi/sonic.c
@@ -63,6 +63,8 @@
 
 	netif_dbg(lp, ifup, dev, "%s: initializing sonic driver\n", __func__);
 
+	spin_lock_init(&lp->lock);
+
 	for (i = 0; i < SONIC_NUM_RRS; i++) {
 		struct sk_buff *skb = netdev_alloc_skb(dev, SONIC_RBSIZE + 2);
 		if (skb == NULL) {
@@ -113,6 +115,24 @@
 	return 0;
 }
 
+/* Wait for the SONIC to become idle. */
+static void sonic_quiesce(struct net_device *dev, u16 mask)
+{
+	struct sonic_local * __maybe_unused lp = netdev_priv(dev);
+	int i;
+	u16 bits;
+
+	for (i = 0; i < 1000; ++i) {
+		bits = SONIC_READ(SONIC_CMD) & mask;
+		if (!bits)
+			return;
+		if (irqs_disabled() || in_interrupt())
+			udelay(20);
+		else
+			usleep_range(100, 200);
+	}
+	WARN_ONCE(1, "command deadline expired! 0x%04x\n", bits);
+}
 
 /*
  * Close the SONIC device
@@ -129,6 +149,9 @@
 	/*
 	 * stop the SONIC, disable interrupts
 	 */
+	SONIC_WRITE(SONIC_CMD, SONIC_CR_RXDIS);
+	sonic_quiesce(dev, SONIC_CR_ALL);
+
 	SONIC_WRITE(SONIC_IMR, 0);
 	SONIC_WRITE(SONIC_ISR, 0x7fff);
 	SONIC_WRITE(SONIC_CMD, SONIC_CR_RST);
@@ -168,6 +191,9 @@
 	 * put the Sonic into software-reset mode and
 	 * disable all interrupts before releasing DMA buffers
 	 */
+	SONIC_WRITE(SONIC_CMD, SONIC_CR_RXDIS);
+	sonic_quiesce(dev, SONIC_CR_ALL);
+
 	SONIC_WRITE(SONIC_IMR, 0);
 	SONIC_WRITE(SONIC_ISR, 0x7fff);
 	SONIC_WRITE(SONIC_CMD, SONIC_CR_RST);
@@ -205,8 +231,6 @@
  *   wake the tx queue
  * Concurrently with all of this, the SONIC is potentially writing to
  * the status flags of the TDs.
- * Until some mutual exclusion is added, this code will not work with SMP. However,
- * MIPS Jazz machines and m68k Macs were all uni-processor machines.
  */
 
 static int sonic_send_packet(struct sk_buff *skb, struct net_device *dev)
@@ -214,7 +238,8 @@
 	struct sonic_local *lp = netdev_priv(dev);
 	dma_addr_t laddr;
 	int length;
-	int entry = lp->next_tx;
+	int entry;
+	unsigned long flags;
 
 	netif_dbg(lp, tx_queued, dev, "%s: skb=%p\n", __func__, skb);
 
@@ -231,11 +256,15 @@
 
 	laddr = dma_map_single(lp->device, skb->data, length, DMA_TO_DEVICE);
 	if (!laddr) {
-		printk(KERN_ERR "%s: failed to map tx DMA buffer.\n", dev->name);
-		dev_kfree_skb(skb);
-		return NETDEV_TX_BUSY;
+		pr_err_ratelimited("%s: failed to map tx DMA buffer.\n", dev->name);
+		dev_kfree_skb_any(skb);
+		return NETDEV_TX_OK;
 	}
 
+	spin_lock_irqsave(&lp->lock, flags);
+
+	entry = lp->next_tx;
+
 	sonic_tda_put(dev, entry, SONIC_TD_STATUS, 0);       /* clear status */
 	sonic_tda_put(dev, entry, SONIC_TD_FRAG_COUNT, 1);   /* single fragment */
 	sonic_tda_put(dev, entry, SONIC_TD_PKTSIZE, length); /* length of packet */
@@ -245,10 +274,6 @@
 	sonic_tda_put(dev, entry, SONIC_TD_LINK,
 		sonic_tda_get(dev, entry, SONIC_TD_LINK) | SONIC_EOL);
 
-	/*
-	 * Must set tx_skb[entry] only after clearing status, and
-	 * before clearing EOL and before stopping queue
-	 */
 	wmb();
 	lp->tx_len[entry] = length;
 	lp->tx_laddr[entry] = laddr;
@@ -271,6 +296,8 @@
 
 	SONIC_WRITE(SONIC_CMD, SONIC_CR_TXP);
 
+	spin_unlock_irqrestore(&lp->lock, flags);
+
 	return NETDEV_TX_OK;
 }
 
@@ -283,15 +310,28 @@
 	struct net_device *dev = dev_id;
 	struct sonic_local *lp = netdev_priv(dev);
 	int status;
+	unsigned long flags;
 
-	if (!(status = SONIC_READ(SONIC_ISR) & SONIC_IMR_DEFAULT))
+	/* The lock has two purposes. Firstly, it synchronizes sonic_interrupt()
+	 * with sonic_send_packet() so that the two functions can share state.
+	 * Secondly, it makes sonic_interrupt() re-entrant, as that is required
+	 * by macsonic which must use two IRQs with different priority levels.
+	 */
+	spin_lock_irqsave(&lp->lock, flags);
+
+	status = SONIC_READ(SONIC_ISR) & SONIC_IMR_DEFAULT;
+	if (!status) {
+		spin_unlock_irqrestore(&lp->lock, flags);
+
 		return IRQ_NONE;
+	}
 
 	do {
+		SONIC_WRITE(SONIC_ISR, status); /* clear the interrupt(s) */
+
 		if (status & SONIC_INT_PKTRX) {
 			netif_dbg(lp, intr, dev, "%s: packet rx\n", __func__);
 			sonic_rx(dev);	/* got packet(s) */
-			SONIC_WRITE(SONIC_ISR, SONIC_INT_PKTRX); /* clear the interrupt */
 		}
 
 		if (status & SONIC_INT_TXDN) {
@@ -299,11 +339,12 @@
 			int td_status;
 			int freed_some = 0;
 
-			/* At this point, cur_tx is the index of a TD that is one of:
-			 *   unallocated/freed                          (status set   & tx_skb[entry] clear)
-			 *   allocated and sent                         (status set   & tx_skb[entry] set  )
-			 *   allocated and not yet sent                 (status clear & tx_skb[entry] set  )
-			 *   still being allocated by sonic_send_packet (status clear & tx_skb[entry] clear)
+			/* The state of a Transmit Descriptor may be inferred
+			 * from { tx_skb[entry], td_status } as follows.
+			 * { clear, clear } => the TD has never been used
+			 * { set,   clear } => the TD was handed to SONIC
+			 * { set,   set   } => the TD was handed back
+			 * { clear, set   } => the TD is available for re-use
 			 */
 
 			netif_dbg(lp, intr, dev, "%s: tx done\n", __func__);
@@ -312,18 +353,19 @@
 				if ((td_status = sonic_tda_get(dev, entry, SONIC_TD_STATUS)) == 0)
 					break;
 
-				if (td_status & 0x0001) {
+				if (td_status & SONIC_TCR_PTX) {
 					lp->stats.tx_packets++;
 					lp->stats.tx_bytes += sonic_tda_get(dev, entry, SONIC_TD_PKTSIZE);
 				} else {
-					lp->stats.tx_errors++;
-					if (td_status & 0x0642)
+					if (td_status & (SONIC_TCR_EXD |
+					    SONIC_TCR_EXC | SONIC_TCR_BCM))
 						lp->stats.tx_aborted_errors++;
-					if (td_status & 0x0180)
+					if (td_status &
+					    (SONIC_TCR_NCRS | SONIC_TCR_CRLS))
 						lp->stats.tx_carrier_errors++;
-					if (td_status & 0x0020)
+					if (td_status & SONIC_TCR_OWC)
 						lp->stats.tx_window_errors++;
-					if (td_status & 0x0004)
+					if (td_status & SONIC_TCR_FU)
 						lp->stats.tx_fifo_errors++;
 				}
 
@@ -345,7 +387,6 @@
 			if (freed_some || lp->tx_skb[entry] == NULL)
 				netif_wake_queue(dev);  /* The ring is no longer full */
 			lp->cur_tx = entry;
-			SONIC_WRITE(SONIC_ISR, SONIC_INT_TXDN); /* clear the interrupt */
 		}
 
 		/*
@@ -354,42 +395,37 @@
 		if (status & SONIC_INT_RFO) {
 			netif_dbg(lp, rx_err, dev, "%s: rx fifo overrun\n",
 				  __func__);
-			lp->stats.rx_fifo_errors++;
-			SONIC_WRITE(SONIC_ISR, SONIC_INT_RFO); /* clear the interrupt */
 		}
 		if (status & SONIC_INT_RDE) {
 			netif_dbg(lp, rx_err, dev, "%s: rx descriptors exhausted\n",
 				  __func__);
-			lp->stats.rx_dropped++;
-			SONIC_WRITE(SONIC_ISR, SONIC_INT_RDE); /* clear the interrupt */
 		}
 		if (status & SONIC_INT_RBAE) {
 			netif_dbg(lp, rx_err, dev, "%s: rx buffer area exceeded\n",
 				  __func__);
-			lp->stats.rx_dropped++;
-			SONIC_WRITE(SONIC_ISR, SONIC_INT_RBAE); /* clear the interrupt */
 		}
 
 		/* counter overruns; all counters are 16bit wide */
-		if (status & SONIC_INT_FAE) {
+		if (status & SONIC_INT_FAE)
 			lp->stats.rx_frame_errors += 65536;
-			SONIC_WRITE(SONIC_ISR, SONIC_INT_FAE); /* clear the interrupt */
-		}
-		if (status & SONIC_INT_CRC) {
+		if (status & SONIC_INT_CRC)
 			lp->stats.rx_crc_errors += 65536;
-			SONIC_WRITE(SONIC_ISR, SONIC_INT_CRC); /* clear the interrupt */
-		}
-		if (status & SONIC_INT_MP) {
+		if (status & SONIC_INT_MP)
 			lp->stats.rx_missed_errors += 65536;
-			SONIC_WRITE(SONIC_ISR, SONIC_INT_MP); /* clear the interrupt */
-		}
 
 		/* transmit error */
 		if (status & SONIC_INT_TXER) {
-			if (SONIC_READ(SONIC_TCR) & SONIC_TCR_FU)
-				netif_dbg(lp, tx_err, dev, "%s: tx fifo underrun\n",
-					  __func__);
-			SONIC_WRITE(SONIC_ISR, SONIC_INT_TXER); /* clear the interrupt */
+			u16 tcr = SONIC_READ(SONIC_TCR);
+
+			netif_dbg(lp, tx_err, dev, "%s: TXER intr, TCR %04x\n",
+				  __func__, tcr);
+
+			if (tcr & (SONIC_TCR_EXD | SONIC_TCR_EXC |
+				   SONIC_TCR_FU | SONIC_TCR_BCM)) {
+				/* Aborted transmission. Try again. */
+				netif_stop_queue(dev);
+				SONIC_WRITE(SONIC_CMD, SONIC_CR_TXP);
+			}
 		}
 
 		/* bus retry */
@@ -399,107 +435,164 @@
 			/* ... to help debug DMA problems causing endless interrupts. */
 			/* Bounce the eth interface to turn on the interrupt again. */
 			SONIC_WRITE(SONIC_IMR, 0);
-			SONIC_WRITE(SONIC_ISR, SONIC_INT_BR); /* clear the interrupt */
 		}
 
-		/* load CAM done */
-		if (status & SONIC_INT_LCD)
-			SONIC_WRITE(SONIC_ISR, SONIC_INT_LCD); /* clear the interrupt */
-	} while((status = SONIC_READ(SONIC_ISR) & SONIC_IMR_DEFAULT));
+		status = SONIC_READ(SONIC_ISR) & SONIC_IMR_DEFAULT;
+	} while (status);
+
+	spin_unlock_irqrestore(&lp->lock, flags);
+
 	return IRQ_HANDLED;
 }
 
+/* Return the array index corresponding to a given Receive Buffer pointer. */
+static int index_from_addr(struct sonic_local *lp, dma_addr_t addr,
+			   unsigned int last)
+{
+	unsigned int i = last;
+
+	do {
+		i = (i + 1) & SONIC_RRS_MASK;
+		if (addr == lp->rx_laddr[i])
+			return i;
+	} while (i != last);
+
+	return -ENOENT;
+}
+
+/* Allocate and map a new skb to be used as a receive buffer. */
+static bool sonic_alloc_rb(struct net_device *dev, struct sonic_local *lp,
+			   struct sk_buff **new_skb, dma_addr_t *new_addr)
+{
+	*new_skb = netdev_alloc_skb(dev, SONIC_RBSIZE + 2);
+	if (!*new_skb)
+		return false;
+
+	if (SONIC_BUS_SCALE(lp->dma_bitmode) == 2)
+		skb_reserve(*new_skb, 2);
+
+	*new_addr = dma_map_single(lp->device, skb_put(*new_skb, SONIC_RBSIZE),
+				   SONIC_RBSIZE, DMA_FROM_DEVICE);
+	if (!*new_addr) {
+		dev_kfree_skb(*new_skb);
+		*new_skb = NULL;
+		return false;
+	}
+
+	return true;
+}
+
+/* Place a new receive resource in the Receive Resource Area and update RWP. */
+static void sonic_update_rra(struct net_device *dev, struct sonic_local *lp,
+			     dma_addr_t old_addr, dma_addr_t new_addr)
+{
+	unsigned int entry = sonic_rr_entry(dev, SONIC_READ(SONIC_RWP));
+	unsigned int end = sonic_rr_entry(dev, SONIC_READ(SONIC_RRP));
+	u32 buf;
+
+	/* The resources in the range [RRP, RWP) belong to the SONIC. This loop
+	 * scans the other resources in the RRA, those in the range [RWP, RRP).
+	 */
+	do {
+		buf = (sonic_rra_get(dev, entry, SONIC_RR_BUFADR_H) << 16) |
+		      sonic_rra_get(dev, entry, SONIC_RR_BUFADR_L);
+
+		if (buf == old_addr)
+			break;
+
+		entry = (entry + 1) & SONIC_RRS_MASK;
+	} while (entry != end);
+
+	WARN_ONCE(buf != old_addr, "failed to find resource!\n");
+
+	sonic_rra_put(dev, entry, SONIC_RR_BUFADR_H, new_addr >> 16);
+	sonic_rra_put(dev, entry, SONIC_RR_BUFADR_L, new_addr & 0xffff);
+
+	entry = (entry + 1) & SONIC_RRS_MASK;
+
+	SONIC_WRITE(SONIC_RWP, sonic_rr_addr(dev, entry));
+}
+
 /*
  * We have a good packet(s), pass it/them up the network stack.
  */
 static void sonic_rx(struct net_device *dev)
 {
 	struct sonic_local *lp = netdev_priv(dev);
-	int status;
 	int entry = lp->cur_rx;
+	int prev_entry = lp->eol_rx;
+	bool rbe = false;
 
 	while (sonic_rda_get(dev, entry, SONIC_RD_IN_USE) == 0) {
-		struct sk_buff *used_skb;
-		struct sk_buff *new_skb;
-		dma_addr_t new_laddr;
-		u16 bufadr_l;
-		u16 bufadr_h;
-		int pkt_len;
+		u16 status = sonic_rda_get(dev, entry, SONIC_RD_STATUS);
 
-		status = sonic_rda_get(dev, entry, SONIC_RD_STATUS);
-		if (status & SONIC_RCR_PRX) {
-			/* Malloc up new buffer. */
-			new_skb = netdev_alloc_skb(dev, SONIC_RBSIZE + 2);
-			if (new_skb == NULL) {
-				lp->stats.rx_dropped++;
-				break;
-			}
-			/* provide 16 byte IP header alignment unless DMA requires otherwise */
-			if(SONIC_BUS_SCALE(lp->dma_bitmode) == 2)
-				skb_reserve(new_skb, 2);
+		/* If the RD has LPKT set, the chip has finished with the RB */
+		if ((status & SONIC_RCR_PRX) && (status & SONIC_RCR_LPKT)) {
+			struct sk_buff *new_skb;
+			dma_addr_t new_laddr;
+			u32 addr = (sonic_rda_get(dev, entry,
+						  SONIC_RD_PKTPTR_H) << 16) |
+				   sonic_rda_get(dev, entry, SONIC_RD_PKTPTR_L);
+			int i = index_from_addr(lp, addr, entry);
 
-			new_laddr = dma_map_single(lp->device, skb_put(new_skb, SONIC_RBSIZE),
-		                               SONIC_RBSIZE, DMA_FROM_DEVICE);
-			if (!new_laddr) {
-				dev_kfree_skb(new_skb);
-				printk(KERN_ERR "%s: Failed to map rx buffer, dropping packet.\n", dev->name);
-				lp->stats.rx_dropped++;
+			if (i < 0) {
+				WARN_ONCE(1, "failed to find buffer!\n");
 				break;
 			}
 
-			/* now we have a new skb to replace it, pass the used one up the stack */
-			dma_unmap_single(lp->device, lp->rx_laddr[entry], SONIC_RBSIZE, DMA_FROM_DEVICE);
-			used_skb = lp->rx_skb[entry];
-			pkt_len = sonic_rda_get(dev, entry, SONIC_RD_PKTLEN);
-			skb_trim(used_skb, pkt_len);
-			used_skb->protocol = eth_type_trans(used_skb, dev);
-			netif_rx(used_skb);
-			lp->stats.rx_packets++;
-			lp->stats.rx_bytes += pkt_len;
+			if (sonic_alloc_rb(dev, lp, &new_skb, &new_laddr)) {
+				struct sk_buff *used_skb = lp->rx_skb[i];
+				int pkt_len;
 
-			/* and insert the new skb */
-			lp->rx_laddr[entry] = new_laddr;
-			lp->rx_skb[entry] = new_skb;
+				/* Pass the used buffer up the stack */
+				dma_unmap_single(lp->device, addr, SONIC_RBSIZE,
+						 DMA_FROM_DEVICE);
 
-			bufadr_l = (unsigned long)new_laddr & 0xffff;
-			bufadr_h = (unsigned long)new_laddr >> 16;
-			sonic_rra_put(dev, entry, SONIC_RR_BUFADR_L, bufadr_l);
-			sonic_rra_put(dev, entry, SONIC_RR_BUFADR_H, bufadr_h);
-		} else {
-			/* This should only happen, if we enable accepting broken packets. */
-			lp->stats.rx_errors++;
-			if (status & SONIC_RCR_FAER)
-				lp->stats.rx_frame_errors++;
-			if (status & SONIC_RCR_CRCR)
-				lp->stats.rx_crc_errors++;
-		}
-		if (status & SONIC_RCR_LPKT) {
-			/*
-			 * this was the last packet out of the current receive buffer
-			 * give the buffer back to the SONIC
+				pkt_len = sonic_rda_get(dev, entry,
+							SONIC_RD_PKTLEN);
+				skb_trim(used_skb, pkt_len);
+				used_skb->protocol = eth_type_trans(used_skb,
+								    dev);
+				netif_rx(used_skb);
+				lp->stats.rx_packets++;
+				lp->stats.rx_bytes += pkt_len;
+
+				lp->rx_skb[i] = new_skb;
+				lp->rx_laddr[i] = new_laddr;
+			} else {
+				/* Failed to obtain a new buffer so re-use it */
+				new_laddr = addr;
+				lp->stats.rx_dropped++;
+			}
+			/* If RBE is already asserted when RWP advances then
+			 * it's safe to clear RBE after processing this packet.
 			 */
-			lp->cur_rwp += SIZEOF_SONIC_RR * SONIC_BUS_SCALE(lp->dma_bitmode);
-			if (lp->cur_rwp >= lp->rra_end) lp->cur_rwp = lp->rra_laddr & 0xffff;
-			SONIC_WRITE(SONIC_RWP, lp->cur_rwp);
-			if (SONIC_READ(SONIC_ISR) & SONIC_INT_RBE) {
-				netif_dbg(lp, rx_err, dev, "%s: rx buffer exhausted\n",
-					  __func__);
-				SONIC_WRITE(SONIC_ISR, SONIC_INT_RBE); /* clear the flag */
-			}
-		} else
-			printk(KERN_ERR "%s: rx desc without RCR_LPKT. Shouldn't happen !?\n",
-			     dev->name);
+			rbe = rbe || SONIC_READ(SONIC_ISR) & SONIC_INT_RBE;
+			sonic_update_rra(dev, lp, addr, new_laddr);
+		}
 		/*
 		 * give back the descriptor
 		 */
-		sonic_rda_put(dev, entry, SONIC_RD_LINK,
-			sonic_rda_get(dev, entry, SONIC_RD_LINK) | SONIC_EOL);
+		sonic_rda_put(dev, entry, SONIC_RD_STATUS, 0);
 		sonic_rda_put(dev, entry, SONIC_RD_IN_USE, 1);
-		sonic_rda_put(dev, lp->eol_rx, SONIC_RD_LINK,
-			sonic_rda_get(dev, lp->eol_rx, SONIC_RD_LINK) & ~SONIC_EOL);
-		lp->eol_rx = entry;
-		lp->cur_rx = entry = (entry + 1) & SONIC_RDS_MASK;
+
+		prev_entry = entry;
+		entry = (entry + 1) & SONIC_RDS_MASK;
 	}
+
+	lp->cur_rx = entry;
+
+	if (prev_entry != lp->eol_rx) {
+		/* Advance the EOL flag to put descriptors back into service */
+		sonic_rda_put(dev, prev_entry, SONIC_RD_LINK, SONIC_EOL |
+			      sonic_rda_get(dev, prev_entry, SONIC_RD_LINK));
+		sonic_rda_put(dev, lp->eol_rx, SONIC_RD_LINK, ~SONIC_EOL &
+			      sonic_rda_get(dev, lp->eol_rx, SONIC_RD_LINK));
+		lp->eol_rx = prev_entry;
+	}
+
+	if (rbe)
+		SONIC_WRITE(SONIC_ISR, SONIC_INT_RBE);
 	/*
 	 * If any worth-while packets have been received, netif_rx()
 	 * has done a mark_bh(NET_BH) for us and will work on them
@@ -549,6 +642,8 @@
 		    (netdev_mc_count(dev) > 15)) {
 			rcr |= SONIC_RCR_AMC;
 		} else {
+			unsigned long flags;
+
 			netif_dbg(lp, ifup, dev, "%s: mc_count %d\n", __func__,
 				  netdev_mc_count(dev));
 			sonic_set_cam_enable(dev, 1);  /* always enable our own address */
@@ -562,9 +657,14 @@
 				i++;
 			}
 			SONIC_WRITE(SONIC_CDC, 16);
-			/* issue Load CAM command */
 			SONIC_WRITE(SONIC_CDP, lp->cda_laddr & 0xffff);
+
+			/* LCAM and TXP commands can't be used simultaneously */
+			spin_lock_irqsave(&lp->lock, flags);
+			sonic_quiesce(dev, SONIC_CR_TXP);
 			SONIC_WRITE(SONIC_CMD, SONIC_CR_LCAM);
+			sonic_quiesce(dev, SONIC_CR_LCAM);
+			spin_unlock_irqrestore(&lp->lock, flags);
 		}
 	}
 
@@ -579,7 +679,6 @@
  */
 static int sonic_init(struct net_device *dev)
 {
-	unsigned int cmd;
 	struct sonic_local *lp = netdev_priv(dev);
 	int i;
 
@@ -591,12 +690,16 @@
 	SONIC_WRITE(SONIC_ISR, 0x7fff);
 	SONIC_WRITE(SONIC_CMD, SONIC_CR_RST);
 
+	/* While in reset mode, clear CAM Enable register */
+	SONIC_WRITE(SONIC_CE, 0);
+
 	/*
 	 * clear software reset flag, disable receiver, clear and
 	 * enable interrupts, then completely initialize the SONIC
 	 */
 	SONIC_WRITE(SONIC_CMD, 0);
-	SONIC_WRITE(SONIC_CMD, SONIC_CR_RXDIS);
+	SONIC_WRITE(SONIC_CMD, SONIC_CR_RXDIS | SONIC_CR_STP);
+	sonic_quiesce(dev, SONIC_CR_ALL);
 
 	/*
 	 * initialize the receive resource area
@@ -614,15 +717,10 @@
 	}
 
 	/* initialize all RRA registers */
-	lp->rra_end = (lp->rra_laddr + SONIC_NUM_RRS * SIZEOF_SONIC_RR *
-					SONIC_BUS_SCALE(lp->dma_bitmode)) & 0xffff;
-	lp->cur_rwp = (lp->rra_laddr + (SONIC_NUM_RRS - 1) * SIZEOF_SONIC_RR *
-					SONIC_BUS_SCALE(lp->dma_bitmode)) & 0xffff;
-
-	SONIC_WRITE(SONIC_RSA, lp->rra_laddr & 0xffff);
-	SONIC_WRITE(SONIC_REA, lp->rra_end);
-	SONIC_WRITE(SONIC_RRP, lp->rra_laddr & 0xffff);
-	SONIC_WRITE(SONIC_RWP, lp->cur_rwp);
+	SONIC_WRITE(SONIC_RSA, sonic_rr_addr(dev, 0));
+	SONIC_WRITE(SONIC_REA, sonic_rr_addr(dev, SONIC_NUM_RRS));
+	SONIC_WRITE(SONIC_RRP, sonic_rr_addr(dev, 0));
+	SONIC_WRITE(SONIC_RWP, sonic_rr_addr(dev, SONIC_NUM_RRS - 1));
 	SONIC_WRITE(SONIC_URRA, lp->rra_laddr >> 16);
 	SONIC_WRITE(SONIC_EOBC, (SONIC_RBSIZE >> 1) - (lp->dma_bitmode ? 2 : 1));
 
@@ -630,14 +728,7 @@
 	netif_dbg(lp, ifup, dev, "%s: issuing RRRA command\n", __func__);
 
 	SONIC_WRITE(SONIC_CMD, SONIC_CR_RRRA);
-	i = 0;
-	while (i++ < 100) {
-		if (SONIC_READ(SONIC_CMD) & SONIC_CR_RRRA)
-			break;
-	}
-
-	netif_dbg(lp, ifup, dev, "%s: status=%x, i=%d\n", __func__,
-		  SONIC_READ(SONIC_CMD), i);
+	sonic_quiesce(dev, SONIC_CR_RRRA);
 
 	/*
 	 * Initialize the receive descriptors so that they
@@ -712,28 +803,17 @@
 	 * load the CAM
 	 */
 	SONIC_WRITE(SONIC_CMD, SONIC_CR_LCAM);
-
-	i = 0;
-	while (i++ < 100) {
-		if (SONIC_READ(SONIC_ISR) & SONIC_INT_LCD)
-			break;
-	}
-	netif_dbg(lp, ifup, dev, "%s: CMD=%x, ISR=%x, i=%d\n", __func__,
-		  SONIC_READ(SONIC_CMD), SONIC_READ(SONIC_ISR), i);
+	sonic_quiesce(dev, SONIC_CR_LCAM);
 
 	/*
 	 * enable receiver, disable loopback
 	 * and enable all interrupts
 	 */
-	SONIC_WRITE(SONIC_CMD, SONIC_CR_RXEN | SONIC_CR_STP);
 	SONIC_WRITE(SONIC_RCR, SONIC_RCR_DEFAULT);
 	SONIC_WRITE(SONIC_TCR, SONIC_TCR_DEFAULT);
 	SONIC_WRITE(SONIC_ISR, 0x7fff);
 	SONIC_WRITE(SONIC_IMR, SONIC_IMR_DEFAULT);
-
-	cmd = SONIC_READ(SONIC_CMD);
-	if ((cmd & SONIC_CR_RXEN) == 0 || (cmd & SONIC_CR_STP) == 0)
-		printk(KERN_ERR "sonic_init: failed, status=%x\n", cmd);
+	SONIC_WRITE(SONIC_CMD, SONIC_CR_RXEN);
 
 	netif_dbg(lp, ifup, dev, "%s: new status=%x\n", __func__,
 		  SONIC_READ(SONIC_CMD));
diff --git a/drivers/net/ethernet/natsemi/sonic.h b/drivers/net/ethernet/natsemi/sonic.h
index 2b27f70..1df6d2f 100644
--- a/drivers/net/ethernet/natsemi/sonic.h
+++ b/drivers/net/ethernet/natsemi/sonic.h
@@ -110,6 +110,9 @@
 #define SONIC_CR_TXP            0x0002
 #define SONIC_CR_HTX            0x0001
 
+#define SONIC_CR_ALL (SONIC_CR_LCAM | SONIC_CR_RRRA | \
+		      SONIC_CR_RXEN | SONIC_CR_TXP)
+
 /*
  * SONIC data configuration bits
  */
@@ -175,6 +178,7 @@
 #define SONIC_TCR_NCRS          0x0100
 #define SONIC_TCR_CRLS          0x0080
 #define SONIC_TCR_EXC           0x0040
+#define SONIC_TCR_OWC           0x0020
 #define SONIC_TCR_PMB           0x0008
 #define SONIC_TCR_FU            0x0004
 #define SONIC_TCR_BCM           0x0002
@@ -274,8 +278,9 @@
 #define SONIC_NUM_RDS   SONIC_NUM_RRS /* number of receive descriptors */
 #define SONIC_NUM_TDS   16            /* number of transmit descriptors */
 
-#define SONIC_RDS_MASK  (SONIC_NUM_RDS-1)
-#define SONIC_TDS_MASK  (SONIC_NUM_TDS-1)
+#define SONIC_RRS_MASK  (SONIC_NUM_RRS - 1)
+#define SONIC_RDS_MASK  (SONIC_NUM_RDS - 1)
+#define SONIC_TDS_MASK  (SONIC_NUM_TDS - 1)
 
 #define SONIC_RBSIZE	1520          /* size of one resource buffer */
 
@@ -312,8 +317,6 @@
 	u32 rda_laddr;              /* logical DMA address of RDA */
 	dma_addr_t rx_laddr[SONIC_NUM_RRS]; /* logical DMA addresses of rx skbuffs */
 	dma_addr_t tx_laddr[SONIC_NUM_TDS]; /* logical DMA addresses of tx skbuffs */
-	unsigned int rra_end;
-	unsigned int cur_rwp;
 	unsigned int cur_rx;
 	unsigned int cur_tx;           /* first unacked transmit packet */
 	unsigned int eol_rx;
@@ -322,6 +325,7 @@
 	int msg_enable;
 	struct device *device;         /* generic device */
 	struct net_device_stats stats;
+	spinlock_t lock;
 };
 
 #define TX_TIMEOUT (3 * HZ)
@@ -344,30 +348,30 @@
    as far as we can tell. */
 /* OpenBSD calls this "SWO".  I'd like to think that sonic_buf_put()
    is a much better name. */
-static inline void sonic_buf_put(void* base, int bitmode,
+static inline void sonic_buf_put(u16 *base, int bitmode,
 				 int offset, __u16 val)
 {
 	if (bitmode)
 #ifdef __BIG_ENDIAN
-		((__u16 *) base + (offset*2))[1] = val;
+		__raw_writew(val, base + (offset * 2) + 1);
 #else
-		((__u16 *) base + (offset*2))[0] = val;
+		__raw_writew(val, base + (offset * 2) + 0);
 #endif
 	else
-	 	((__u16 *) base)[offset] = val;
+		__raw_writew(val, base + (offset * 1) + 0);
 }
 
-static inline __u16 sonic_buf_get(void* base, int bitmode,
+static inline __u16 sonic_buf_get(u16 *base, int bitmode,
 				  int offset)
 {
 	if (bitmode)
 #ifdef __BIG_ENDIAN
-		return ((volatile __u16 *) base + (offset*2))[1];
+		return __raw_readw(base + (offset * 2) + 1);
 #else
-		return ((volatile __u16 *) base + (offset*2))[0];
+		return __raw_readw(base + (offset * 2) + 0);
 #endif
 	else
-		return ((volatile __u16 *) base)[offset];
+		return __raw_readw(base + (offset * 1) + 0);
 }
 
 /* Inlines that you should actually use for reading/writing DMA buffers */
@@ -447,6 +451,22 @@
 			     (entry * SIZEOF_SONIC_RR) + offset);
 }
 
+static inline u16 sonic_rr_addr(struct net_device *dev, int entry)
+{
+	struct sonic_local *lp = netdev_priv(dev);
+
+	return lp->rra_laddr +
+	       entry * SIZEOF_SONIC_RR * SONIC_BUS_SCALE(lp->dma_bitmode);
+}
+
+static inline u16 sonic_rr_entry(struct net_device *dev, u16 addr)
+{
+	struct sonic_local *lp = netdev_priv(dev);
+
+	return (addr - (u16)lp->rra_laddr) / (SIZEOF_SONIC_RR *
+					      SONIC_BUS_SCALE(lp->dma_bitmode));
+}
+
 static const char version[] =
     "sonic.c:v0.92 20.9.98 tsbogend@alpha.franken.de\n";
 
diff --git a/drivers/net/ethernet/netronome/nfp/bpf/jit.c b/drivers/net/ethernet/netronome/nfp/bpf/jit.c
index 4e18d95..c3ce0fb 100644
--- a/drivers/net/ethernet/netronome/nfp/bpf/jit.c
+++ b/drivers/net/ethernet/netronome/nfp/bpf/jit.c
@@ -326,7 +326,18 @@
 		return;
 	}
 
-	if (sc == SHF_SC_L_SHF)
+	/* NFP shift instruction has something special. If shift direction is
+	 * left then shift amount of 1 to 31 is specified as 32 minus the amount
+	 * to shift.
+	 *
+	 * But no need to do this for indirect shift which has shift amount be
+	 * 0. Even after we do this subtraction, shift amount 0 will be turned
+	 * into 32 which will eventually be encoded the same as 0 because only
+	 * low 5 bits are encoded, but shift amount be 32 will fail the
+	 * FIELD_PREP check done later on shift mask (0x1f), due to 32 is out of
+	 * mask range.
+	 */
+	if (sc == SHF_SC_L_SHF && shift)
 		shift = 32 - shift;
 
 	insn = OP_SHF_BASE |
diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_ctrl.h b/drivers/net/ethernet/netronome/nfp/nfp_net_ctrl.h
index 44d3ea7..ab602a7 100644
--- a/drivers/net/ethernet/netronome/nfp/nfp_net_ctrl.h
+++ b/drivers/net/ethernet/netronome/nfp/nfp_net_ctrl.h
@@ -423,7 +423,7 @@
 #define NFP_NET_CFG_MBOX_SIMPLE_CMD	0x0
 #define NFP_NET_CFG_MBOX_SIMPLE_RET	0x4
 #define NFP_NET_CFG_MBOX_SIMPLE_VAL	0x8
-#define NFP_NET_CFG_MBOX_SIMPLE_LEN	0x12
+#define NFP_NET_CFG_MBOX_SIMPLE_LEN	12
 
 #define NFP_NET_CFG_MBOX_CMD_CTAG_FILTER_ADD 1
 #define NFP_NET_CFG_MBOX_CMD_CTAG_FILTER_KILL 2
diff --git a/drivers/net/ethernet/ni/nixge.c b/drivers/net/ethernet/ni/nixge.c
index 76efed0..a791d79 100644
--- a/drivers/net/ethernet/ni/nixge.c
+++ b/drivers/net/ethernet/ni/nixge.c
@@ -1233,7 +1233,7 @@
 	}
 
 	priv->phy_mode = of_get_phy_mode(pdev->dev.of_node);
-	if (priv->phy_mode < 0) {
+	if ((int)priv->phy_mode < 0) {
 		netdev_err(ndev, "not find \"phy-mode\" property\n");
 		err = -EINVAL;
 		goto unregister_mdio;
diff --git a/drivers/net/ethernet/pasemi/pasemi_mac.c b/drivers/net/ethernet/pasemi/pasemi_mac.c
index 8a31a02..65f69e56 100644
--- a/drivers/net/ethernet/pasemi/pasemi_mac.c
+++ b/drivers/net/ethernet/pasemi/pasemi_mac.c
@@ -1053,7 +1053,6 @@
 
 	dn = pci_device_to_OF_node(mac->pdev);
 	phy_dn = of_parse_phandle(dn, "phy-handle", 0);
-	of_node_put(phy_dn);
 
 	mac->link = 0;
 	mac->speed = 0;
@@ -1062,6 +1061,7 @@
 	phydev = of_phy_connect(dev, phy_dn, &pasemi_adjust_link, 0,
 				PHY_INTERFACE_MODE_SGMII);
 
+	of_node_put(phy_dn);
 	if (!phydev) {
 		printk(KERN_ERR "%s: Could not attach to phy\n", dev->name);
 		return -ENODEV;
diff --git a/drivers/net/ethernet/qlogic/qed/qed_iwarp.c b/drivers/net/ethernet/qlogic/qed/qed_iwarp.c
index 7002a66..39787bb 100644
--- a/drivers/net/ethernet/qlogic/qed/qed_iwarp.c
+++ b/drivers/net/ethernet/qlogic/qed/qed_iwarp.c
@@ -532,7 +532,8 @@
 
 	/* Make sure ep is closed before returning and freeing memory. */
 	if (ep) {
-		while (ep->state != QED_IWARP_EP_CLOSED && wait_count++ < 200)
+		while (READ_ONCE(ep->state) != QED_IWARP_EP_CLOSED &&
+		       wait_count++ < 200)
 			msleep(100);
 
 		if (ep->state != QED_IWARP_EP_CLOSED)
@@ -1023,8 +1024,6 @@
 
 	params.ep_context = ep;
 
-	ep->state = QED_IWARP_EP_CLOSED;
-
 	switch (fw_return_code) {
 	case RDMA_RETURN_OK:
 		ep->qp->max_rd_atomic_req = ep->cm_info.ord;
@@ -1084,6 +1083,10 @@
 		break;
 	}
 
+	if (fw_return_code != RDMA_RETURN_OK)
+		/* paired with READ_ONCE in destroy_qp */
+		smp_store_release(&ep->state, QED_IWARP_EP_CLOSED);
+
 	ep->event_cb(ep->cb_context, &params);
 
 	/* on passive side, if there is no associated QP (REJECT) we need to
@@ -2638,6 +2641,7 @@
 	cbs.rx_release_cb = qed_iwarp_ll2_rel_rx_pkt;
 	cbs.tx_comp_cb = qed_iwarp_ll2_comp_tx_pkt;
 	cbs.tx_release_cb = qed_iwarp_ll2_rel_tx_pkt;
+	cbs.slowpath_cb = NULL;
 	cbs.cookie = p_hwfn;
 
 	memset(&data, 0, sizeof(data));
@@ -2828,7 +2832,9 @@
 	params.status = (fw_return_code == IWARP_QP_IN_ERROR_GOOD_CLOSE) ?
 			 0 : -ECONNRESET;
 
-	ep->state = QED_IWARP_EP_CLOSED;
+	/* paired with READ_ONCE in destroy_qp */
+	smp_store_release(&ep->state, QED_IWARP_EP_CLOSED);
+
 	spin_lock_bh(&p_hwfn->p_rdma_info->iwarp.iw_lock);
 	list_del(&ep->list_entry);
 	spin_unlock_bh(&p_hwfn->p_rdma_info->iwarp.iw_lock);
@@ -2917,7 +2923,8 @@
 	params.event = QED_IWARP_EVENT_ACTIVE_COMPLETE;
 	params.ep_context = ep;
 	params.cm_info = &ep->cm_info;
-	ep->state = QED_IWARP_EP_CLOSED;
+	/* paired with READ_ONCE in destroy_qp */
+	smp_store_release(&ep->state, QED_IWARP_EP_CLOSED);
 
 	switch (fw_return_code) {
 	case IWARP_CONN_ERROR_TCP_CONNECT_INVALID_PACKET:
diff --git a/drivers/net/ethernet/qlogic/qed/qed_l2.c b/drivers/net/ethernet/qlogic/qed/qed_l2.c
index 64ac95c..d921b99 100644
--- a/drivers/net/ethernet/qlogic/qed/qed_l2.c
+++ b/drivers/net/ethernet/qlogic/qed/qed_l2.c
@@ -1631,10 +1631,9 @@
 	}
 }
 
-static void __qed_get_vport_pstats(struct qed_hwfn *p_hwfn,
-				   struct qed_ptt *p_ptt,
-				   struct qed_eth_stats *p_stats,
-				   u16 statistics_bin)
+static noinline_for_stack void
+__qed_get_vport_pstats(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt,
+		       struct qed_eth_stats *p_stats, u16 statistics_bin)
 {
 	struct eth_pstorm_per_queue_stat pstats;
 	u32 pstats_addr = 0, pstats_len = 0;
@@ -1661,10 +1660,9 @@
 	    HILO_64_REGPAIR(pstats.error_drop_pkts);
 }
 
-static void __qed_get_vport_tstats(struct qed_hwfn *p_hwfn,
-				   struct qed_ptt *p_ptt,
-				   struct qed_eth_stats *p_stats,
-				   u16 statistics_bin)
+static noinline_for_stack void
+__qed_get_vport_tstats(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt,
+		       struct qed_eth_stats *p_stats, u16 statistics_bin)
 {
 	struct tstorm_per_port_stat tstats;
 	u32 tstats_addr, tstats_len;
@@ -1709,10 +1707,9 @@
 	}
 }
 
-static void __qed_get_vport_ustats(struct qed_hwfn *p_hwfn,
-				   struct qed_ptt *p_ptt,
-				   struct qed_eth_stats *p_stats,
-				   u16 statistics_bin)
+static noinline_for_stack
+void __qed_get_vport_ustats(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt,
+			    struct qed_eth_stats *p_stats, u16 statistics_bin)
 {
 	struct eth_ustorm_per_queue_stat ustats;
 	u32 ustats_addr = 0, ustats_len = 0;
@@ -1751,10 +1748,9 @@
 	}
 }
 
-static void __qed_get_vport_mstats(struct qed_hwfn *p_hwfn,
-				   struct qed_ptt *p_ptt,
-				   struct qed_eth_stats *p_stats,
-				   u16 statistics_bin)
+static noinline_for_stack void
+__qed_get_vport_mstats(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt,
+		       struct qed_eth_stats *p_stats, u16 statistics_bin)
 {
 	struct eth_mstorm_per_queue_stat mstats;
 	u32 mstats_addr = 0, mstats_len = 0;
@@ -1780,9 +1776,9 @@
 	    HILO_64_REGPAIR(mstats.tpa_coalesced_bytes);
 }
 
-static void __qed_get_vport_port_stats(struct qed_hwfn *p_hwfn,
-				       struct qed_ptt *p_ptt,
-				       struct qed_eth_stats *p_stats)
+static noinline_for_stack void
+__qed_get_vport_port_stats(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt,
+			   struct qed_eth_stats *p_stats)
 {
 	struct qed_eth_stats_common *p_common = &p_stats->common;
 	struct port_stats port_stats;
diff --git a/drivers/net/ethernet/qlogic/qede/qede.h b/drivers/net/ethernet/qlogic/qede/qede.h
index d242a57..dc3be8a 100644
--- a/drivers/net/ethernet/qlogic/qede/qede.h
+++ b/drivers/net/ethernet/qlogic/qede/qede.h
@@ -162,6 +162,8 @@
 	struct list_head entry;
 	struct list_head rdma_event_list;
 	struct workqueue_struct *rdma_wq;
+	struct kref refcnt;
+	struct completion event_comp;
 };
 
 struct qede_ptp;
diff --git a/drivers/net/ethernet/qlogic/qede/qede_rdma.c b/drivers/net/ethernet/qlogic/qede/qede_rdma.c
index 1900bf7..cd12fb91 100644
--- a/drivers/net/ethernet/qlogic/qede/qede_rdma.c
+++ b/drivers/net/ethernet/qlogic/qede/qede_rdma.c
@@ -57,6 +57,9 @@
 static int qede_rdma_create_wq(struct qede_dev *edev)
 {
 	INIT_LIST_HEAD(&edev->rdma_info.rdma_event_list);
+	kref_init(&edev->rdma_info.refcnt);
+	init_completion(&edev->rdma_info.event_comp);
+
 	edev->rdma_info.rdma_wq = create_singlethread_workqueue("rdma_wq");
 	if (!edev->rdma_info.rdma_wq) {
 		DP_NOTICE(edev, "qedr: Could not create workqueue\n");
@@ -81,8 +84,23 @@
 	}
 }
 
+static void qede_rdma_complete_event(struct kref *ref)
+{
+	struct qede_rdma_dev *rdma_dev =
+		container_of(ref, struct qede_rdma_dev, refcnt);
+
+	/* no more events will be added after this */
+	complete(&rdma_dev->event_comp);
+}
+
 static void qede_rdma_destroy_wq(struct qede_dev *edev)
 {
+	/* Avoid race with add_event flow, make sure it finishes before
+	 * we start accessing the list and cleaning up the work
+	 */
+	kref_put(&edev->rdma_info.refcnt, qede_rdma_complete_event);
+	wait_for_completion(&edev->rdma_info.event_comp);
+
 	qede_rdma_cleanup_event(edev);
 	destroy_workqueue(edev->rdma_info.rdma_wq);
 }
@@ -287,15 +305,24 @@
 	if (!edev->rdma_info.qedr_dev)
 		return;
 
+	/* We don't want the cleanup flow to start while we're allocating and
+	 * scheduling the work
+	 */
+	if (!kref_get_unless_zero(&edev->rdma_info.refcnt))
+		return; /* already being destroyed */
+
 	event_node = qede_rdma_get_free_event_node(edev);
 	if (!event_node)
-		return;
+		goto out;
 
 	event_node->event = event;
 	event_node->ptr = edev;
 
 	INIT_WORK(&event_node->work, qede_rdma_handle_event);
 	queue_work(edev->rdma_info.rdma_wq, &event_node->work);
+
+out:
+	kref_put(&edev->rdma_info.refcnt, qede_rdma_complete_event);
 }
 
 void qede_rdma_dev_event_open(struct qede_dev *edev)
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
index a496390..07f9067 100644
--- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
+++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
@@ -2043,6 +2043,7 @@
 			break;
 		}
 		entry += p_hdr->size;
+		cond_resched();
 	}
 	p_dev->ahw->reset.seq_index = index;
 }
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
index afa10a1..f34ae8c 100644
--- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
+++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c
@@ -703,6 +703,7 @@
 		addr += 16;
 		reg_read -= 16;
 		ret += 16;
+		cond_resched();
 	}
 out:
 	mutex_unlock(&adapter->ahw->mem_lock);
@@ -1383,6 +1384,7 @@
 		buf_offset += entry->hdr.cap_size;
 		entry_offset += entry->hdr.offset;
 		buffer = fw_dump->data + buf_offset;
+		cond_resched();
 	}
 
 	fw_dump->clr = 1;
diff --git a/drivers/net/ethernet/qualcomm/qca_spi.c b/drivers/net/ethernet/qualcomm/qca_spi.c
index 66b775d..9d18893 100644
--- a/drivers/net/ethernet/qualcomm/qca_spi.c
+++ b/drivers/net/ethernet/qualcomm/qca_spi.c
@@ -475,7 +475,6 @@
 	u16 signature = 0;
 	u16 spi_config;
 	u16 wrbuf_space = 0;
-	static u16 reset_count;
 
 	if (event == QCASPI_EVENT_CPUON) {
 		/* Read signature twice, if not valid
@@ -528,13 +527,13 @@
 
 		qca->sync = QCASPI_SYNC_RESET;
 		qca->stats.trig_reset++;
-		reset_count = 0;
+		qca->reset_count = 0;
 		break;
 	case QCASPI_SYNC_RESET:
-		reset_count++;
+		qca->reset_count++;
 		netdev_dbg(qca->net_dev, "sync: waiting for CPU on, count %u.\n",
-			   reset_count);
-		if (reset_count >= QCASPI_RESET_TIMEOUT) {
+			   qca->reset_count);
+		if (qca->reset_count >= QCASPI_RESET_TIMEOUT) {
 			/* reset did not seem to take place, try again */
 			qca->sync = QCASPI_SYNC_UNKNOWN;
 			qca->stats.reset_timeout++;
diff --git a/drivers/net/ethernet/qualcomm/qca_spi.h b/drivers/net/ethernet/qualcomm/qca_spi.h
index fc0e987..719c412 100644
--- a/drivers/net/ethernet/qualcomm/qca_spi.h
+++ b/drivers/net/ethernet/qualcomm/qca_spi.h
@@ -92,6 +92,7 @@
 
 	unsigned int intr_req;
 	unsigned int intr_svc;
+	u16 reset_count;
 
 #ifdef CONFIG_DEBUG_FS
 	struct dentry *device_root;
diff --git a/drivers/net/ethernet/qualcomm/rmnet/rmnet_genl.c b/drivers/net/ethernet/qualcomm/rmnet/rmnet_genl.c
index df92f4b..560e4ec 100644
--- a/drivers/net/ethernet/qualcomm/rmnet/rmnet_genl.c
+++ b/drivers/net/ethernet/qualcomm/rmnet/rmnet_genl.c
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: GPL-2.0-only
-/* Copyright (c) 2019, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2019-2020, The Linux Foundation. All rights reserved.
  *
  * RMNET Data Generic Netlink
  *
@@ -187,11 +187,8 @@
 			tx_bytes_cur = node_p->tx_bytes;
 			if (tx_bytes_cur <= node_p->tx_bytes_last_query) {
 				/* Dont send inactive pids to userspace */
-				/* TODO: can remove from hash table probably */
-				node_p->tx_bps = 0;
-				node_p->timstamp_last_query =
-					pid_bps_resp_ptr->timestamp;
-				node_p->sched_boost_remaining_ms = 0;
+				hash_del(&node_p->list);
+				kfree(node_p);
 				continue;
 			}
 
diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
index 4ab87fe..6ea43e4 100644
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -7433,6 +7433,15 @@
 	int chipset, region, i;
 	int jumbo_max, rc;
 
+	/* Some tools for creating an initramfs don't consider softdeps, then
+	 * r8169.ko may be in initramfs, but realtek.ko not. Then the generic
+	 * PHY driver is used that doesn't work with most chip versions.
+	 */
+	if (!driver_find("RTL8201CP Ethernet", &mdio_bus_type)) {
+		dev_err(&pdev->dev, "realtek.ko not loaded, maybe it needs to be added to initramfs?\n");
+		return -ENOENT;
+	}
+
 	dev = devm_alloc_etherdev(&pdev->dev, sizeof (*tp));
 	if (!dev)
 		return -ENOMEM;
diff --git a/drivers/net/ethernet/renesas/sh_eth.c b/drivers/net/ethernet/renesas/sh_eth.c
index 5e3e6e2..4416436 100644
--- a/drivers/net/ethernet/renesas/sh_eth.c
+++ b/drivers/net/ethernet/renesas/sh_eth.c
@@ -2184,24 +2184,28 @@
 	if (cd->tsu) {
 		add_tsu_reg(ARSTR);
 		add_tsu_reg(TSU_CTRST);
-		add_tsu_reg(TSU_FWEN0);
-		add_tsu_reg(TSU_FWEN1);
-		add_tsu_reg(TSU_FCM);
-		add_tsu_reg(TSU_BSYSL0);
-		add_tsu_reg(TSU_BSYSL1);
-		add_tsu_reg(TSU_PRISL0);
-		add_tsu_reg(TSU_PRISL1);
-		add_tsu_reg(TSU_FWSL0);
-		add_tsu_reg(TSU_FWSL1);
+		if (cd->dual_port) {
+			add_tsu_reg(TSU_FWEN0);
+			add_tsu_reg(TSU_FWEN1);
+			add_tsu_reg(TSU_FCM);
+			add_tsu_reg(TSU_BSYSL0);
+			add_tsu_reg(TSU_BSYSL1);
+			add_tsu_reg(TSU_PRISL0);
+			add_tsu_reg(TSU_PRISL1);
+			add_tsu_reg(TSU_FWSL0);
+			add_tsu_reg(TSU_FWSL1);
+		}
 		add_tsu_reg(TSU_FWSLC);
-		add_tsu_reg(TSU_QTAGM0);
-		add_tsu_reg(TSU_QTAGM1);
-		add_tsu_reg(TSU_FWSR);
-		add_tsu_reg(TSU_FWINMK);
-		add_tsu_reg(TSU_ADQT0);
-		add_tsu_reg(TSU_ADQT1);
-		add_tsu_reg(TSU_VTAG0);
-		add_tsu_reg(TSU_VTAG1);
+		if (cd->dual_port) {
+			add_tsu_reg(TSU_QTAGM0);
+			add_tsu_reg(TSU_QTAGM1);
+			add_tsu_reg(TSU_FWSR);
+			add_tsu_reg(TSU_FWINMK);
+			add_tsu_reg(TSU_ADQT0);
+			add_tsu_reg(TSU_ADQT1);
+			add_tsu_reg(TSU_VTAG0);
+			add_tsu_reg(TSU_VTAG1);
+		}
 		add_tsu_reg(TSU_ADSBSY);
 		add_tsu_reg(TSU_TEN);
 		add_tsu_reg(TSU_POST1);
@@ -3129,12 +3133,16 @@
 	struct device_node *np = dev->of_node;
 	struct sh_eth_plat_data *pdata;
 	const char *mac_addr;
+	int ret;
 
 	pdata = devm_kzalloc(dev, sizeof(*pdata), GFP_KERNEL);
 	if (!pdata)
 		return NULL;
 
-	pdata->phy_interface = of_get_phy_mode(np);
+	ret = of_get_phy_mode(np);
+	if (ret < 0)
+		return NULL;
+	pdata->phy_interface = ret;
 
 	mac_addr = of_get_mac_address(np);
 	if (mac_addr)
diff --git a/drivers/net/ethernet/smsc/smc911x.c b/drivers/net/ethernet/smsc/smc911x.c
index 8355dfb..f97b354 100644
--- a/drivers/net/ethernet/smsc/smc911x.c
+++ b/drivers/net/ethernet/smsc/smc911x.c
@@ -947,7 +947,7 @@
 	if (lp->ctl_rspeed != 100)
 		my_ad_caps &= ~(ADVERTISE_100BASE4|ADVERTISE_100FULL|ADVERTISE_100HALF);
 
-	 if (!lp->ctl_rfduplx)
+	if (!lp->ctl_rfduplx)
 		my_ad_caps &= ~(ADVERTISE_100FULL|ADVERTISE_10FULL);
 
 	/* Update our Auto-Neg Advertisement Register */
diff --git a/drivers/net/ethernet/socionext/netsec.c b/drivers/net/ethernet/socionext/netsec.c
index 28d582c..027367b9 100644
--- a/drivers/net/ethernet/socionext/netsec.c
+++ b/drivers/net/ethernet/socionext/netsec.c
@@ -432,9 +432,12 @@
 	return 0;
 }
 
+static int netsec_phy_read(struct mii_bus *bus, int phy_addr, int reg_addr);
+
 static int netsec_phy_write(struct mii_bus *bus,
 			    int phy_addr, int reg, u16 val)
 {
+	int status;
 	struct netsec_priv *priv = bus->priv;
 
 	if (netsec_mac_write(priv, GMAC_REG_GDR, val))
@@ -447,8 +450,19 @@
 			      GMAC_REG_SHIFT_CR_GAR)))
 		return -ETIMEDOUT;
 
-	return netsec_mac_wait_while_busy(priv, GMAC_REG_GAR,
-					  NETSEC_GMAC_GAR_REG_GB);
+	status = netsec_mac_wait_while_busy(priv, GMAC_REG_GAR,
+					    NETSEC_GMAC_GAR_REG_GB);
+
+	/* Developerbox implements RTL8211E PHY and there is
+	 * a compatibility problem with F_GMAC4.
+	 * RTL8211E expects MDC clock must be kept toggling for several
+	 * clock cycle with MDIO high before entering the IDLE state.
+	 * To meet this requirement, netsec driver needs to issue dummy
+	 * read(e.g. read PHYID1(offset 0x2) register) right after write.
+	 */
+	netsec_phy_read(bus, phy_addr, MII_PHYSID1);
+
+	return status;
 }
 
 static int netsec_phy_read(struct mii_bus *bus, int phy_addr, int reg_addr)
@@ -1590,7 +1604,7 @@
 			   NETIF_MSG_LINK | NETIF_MSG_PROBE;
 
 	priv->phy_interface = device_get_phy_mode(&pdev->dev);
-	if (priv->phy_interface < 0) {
+	if ((int)priv->phy_interface < 0) {
 		dev_err(&pdev->dev, "missing required property 'phy-mode'\n");
 		ret = -ENODEV;
 		goto free_ndev;
diff --git a/drivers/net/ethernet/socionext/sni_ave.c b/drivers/net/ethernet/socionext/sni_ave.c
index 09d25b8..c309acc 100644
--- a/drivers/net/ethernet/socionext/sni_ave.c
+++ b/drivers/net/ethernet/socionext/sni_ave.c
@@ -1575,7 +1575,7 @@
 
 	np = dev->of_node;
 	phy_mode = of_get_phy_mode(np);
-	if (phy_mode < 0) {
+	if ((int)phy_mode < 0) {
 		dev_err(dev, "phy-mode not found\n");
 		return -EINVAL;
 	}
diff --git a/drivers/net/ethernet/stmicro/stmmac/common.h b/drivers/net/ethernet/stmicro/stmmac/common.h
index b069b3a..c3c0c8c 100644
--- a/drivers/net/ethernet/stmicro/stmmac/common.h
+++ b/drivers/net/ethernet/stmicro/stmmac/common.h
@@ -363,9 +363,8 @@
 	unsigned int frpes;
 };
 
-/* GMAC TX FIFO is 8K, Rx FIFO is 16K */
-#define BUF_SIZE_16KiB 16384
-/* RX Buffer size must be < 8191 and multiple of 4/8/16 bytes */
+/* RX Buffer size must be multiple of 4/8/16 bytes */
+#define BUF_SIZE_16KiB 16368
 #define BUF_SIZE_8KiB 8188
 #define BUF_SIZE_4KiB 4096
 #define BUF_SIZE_2KiB 2048
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-ipq806x.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-ipq806x.c
index 2c6d7c6..0d21082 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-ipq806x.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-ipq806x.c
@@ -191,7 +191,7 @@
 	struct device *dev = &gmac->pdev->dev;
 
 	gmac->phy_mode = of_get_phy_mode(dev->of_node);
-	if (gmac->phy_mode < 0) {
+	if ((int)gmac->phy_mode < 0) {
 		dev_err(dev, "missing phy mode property\n");
 		return -EINVAL;
 	}
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c
index 94b4625..0a17535 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c
@@ -355,7 +355,7 @@
 
 	dwmac->dev = &pdev->dev;
 	dwmac->phy_mode = of_get_phy_mode(pdev->dev.of_node);
-	if (dwmac->phy_mode < 0) {
+	if ((int)dwmac->phy_mode < 0) {
 		dev_err(&pdev->dev, "missing phy-mode property\n");
 		ret = -EINVAL;
 		goto err_remove_config_dt;
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c b/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c
index 48cf5e2..bc8871e 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c
@@ -443,7 +443,7 @@
 	}
 
 	/* Handle multiple unicast addresses */
-	if (netdev_uc_count(dev) > GMAC_MAX_PERFECT_ADDRESSES) {
+	if (netdev_uc_count(dev) > hw->unicast_filter_entries) {
 		/* Switch to promiscuous mode if more than 128 addrs
 		 * are required
 		 */
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac5.c b/drivers/net/ethernet/stmicro/stmmac/dwmac5.c
index 3f4f313..e436fa1 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac5.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac5.c
@@ -515,6 +515,7 @@
 
 	if (!enable) {
 		val |= PPSCMDx(index, 0x5);
+		val |= PPSEN0;
 		writel(val, ioaddr + MAC_PPS_CONTROL);
 		return 0;
 	}
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
index 7ee0e46..9c7b1d8 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -1082,7 +1082,9 @@
 {
 	int ret = bufsize;
 
-	if (mtu >= BUF_SIZE_4KiB)
+	if (mtu >= BUF_SIZE_8KiB)
+		ret = BUF_SIZE_16KiB;
+	else if (mtu >= BUF_SIZE_4KiB)
 		ret = BUF_SIZE_8KiB;
 	else if (mtu >= BUF_SIZE_2KiB)
 		ret = BUF_SIZE_4KiB;
@@ -4511,6 +4513,7 @@
 {
 	struct net_device *ndev = dev_get_drvdata(dev);
 	struct stmmac_priv *priv = netdev_priv(ndev);
+	u32 chan;
 
 	if (!ndev || !netif_running(ndev))
 		return 0;
@@ -4525,6 +4528,9 @@
 
 	stmmac_disable_all_queues(priv);
 
+	for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)
+		del_timer_sync(&priv->tx_queue[chan].txtimer);
+
 	/* Stop TX/RX DMA */
 	stmmac_stop_all_dma(priv);
 
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c
index cc60b3f..8f8b8f3 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c
@@ -174,7 +174,7 @@
 /* structure describing a PTP hardware clock */
 static struct ptp_clock_info stmmac_ptp_clock_ops = {
 	.owner = THIS_MODULE,
-	.name = "stmmac_ptp_clock",
+	.name = "stmmac ptp",
 	.max_adj = 62500000,
 	.n_alarm = 0,
 	.n_ext_ts = 0,
diff --git a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
index 2876426..b093f14 100644
--- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
+++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
@@ -1573,7 +1573,7 @@
 		}
 	} else {
 		lp->phy_mode = of_get_phy_mode(pdev->dev.of_node);
-		if (lp->phy_mode < 0) {
+		if ((int)lp->phy_mode < 0) {
 			ret = -EINVAL;
 			goto free_netdev;
 		}
diff --git a/drivers/net/gtp.c b/drivers/net/gtp.c
index 6571cac..eab9984 100644
--- a/drivers/net/gtp.c
+++ b/drivers/net/gtp.c
@@ -772,12 +772,12 @@
 	int i;
 
 	gtp->addr_hash = kmalloc_array(hsize, sizeof(struct hlist_head),
-				       GFP_KERNEL);
+				       GFP_KERNEL | __GFP_NOWARN);
 	if (gtp->addr_hash == NULL)
 		return -ENOMEM;
 
 	gtp->tid_hash = kmalloc_array(hsize, sizeof(struct hlist_head),
-				      GFP_KERNEL);
+				      GFP_KERNEL | __GFP_NOWARN);
 	if (gtp->tid_hash == NULL)
 		goto err1;
 
@@ -809,19 +809,21 @@
 		return NULL;
 	}
 
-	if (sock->sk->sk_protocol != IPPROTO_UDP) {
+	sk = sock->sk;
+	if (sk->sk_protocol != IPPROTO_UDP ||
+	    sk->sk_type != SOCK_DGRAM ||
+	    (sk->sk_family != AF_INET && sk->sk_family != AF_INET6)) {
 		pr_debug("socket fd=%d not UDP\n", fd);
 		sk = ERR_PTR(-EINVAL);
 		goto out_sock;
 	}
 
-	lock_sock(sock->sk);
-	if (sock->sk->sk_user_data) {
+	lock_sock(sk);
+	if (sk->sk_user_data) {
 		sk = ERR_PTR(-EBUSY);
 		goto out_rel_sock;
 	}
 
-	sk = sock->sk;
 	sock_hold(sk);
 
 	tuncfg.sk_user_data = gtp;
diff --git a/drivers/net/hyperv/hyperv_net.h b/drivers/net/hyperv/hyperv_net.h
index 50709c7..dfa8013 100644
--- a/drivers/net/hyperv/hyperv_net.h
+++ b/drivers/net/hyperv/hyperv_net.h
@@ -616,7 +616,8 @@
 	/* The number of entries in the send indirection table */
 	u32 count;
 
-	/* The offset of the send indirection table from top of this struct.
+	/* The offset of the send indirection table from the beginning of
+	 * struct nvsp_message.
 	 * The send indirection table tells which channel to put the send
 	 * traffic on. Each entry is a channel number.
 	 */
diff --git a/drivers/net/hyperv/netvsc.c b/drivers/net/hyperv/netvsc.c
index 3541304..77a9a75 100644
--- a/drivers/net/hyperv/netvsc.c
+++ b/drivers/net/hyperv/netvsc.c
@@ -110,7 +110,7 @@
 
 	init_waitqueue_head(&net_device->wait_drain);
 	net_device->destroy = false;
-	net_device->tx_disable = false;
+	net_device->tx_disable = true;
 
 	net_device->max_pkt = RNDIS_MAX_PKT_DEFAULT;
 	net_device->pkt_align = RNDIS_PKT_ALIGN_DEFAULT;
@@ -1182,20 +1182,39 @@
 }
 
 static void netvsc_send_table(struct net_device *ndev,
-			      const struct nvsp_message *nvmsg)
+			      struct netvsc_device *nvscdev,
+			      const struct nvsp_message *nvmsg,
+			      u32 msglen)
 {
 	struct net_device_context *net_device_ctx = netdev_priv(ndev);
-	u32 count, *tab;
+	u32 count, offset, *tab;
 	int i;
 
 	count = nvmsg->msg.v5_msg.send_table.count;
+	offset = nvmsg->msg.v5_msg.send_table.offset;
+
 	if (count != VRSS_SEND_TAB_SIZE) {
 		netdev_err(ndev, "Received wrong send-table size:%u\n", count);
 		return;
 	}
 
-	tab = (u32 *)((unsigned long)&nvmsg->msg.v5_msg.send_table +
-		      nvmsg->msg.v5_msg.send_table.offset);
+	/* If negotiated version <= NVSP_PROTOCOL_VERSION_6, the offset may be
+	 * wrong due to a host bug. So fix the offset here.
+	 */
+	if (nvscdev->nvsp_version <= NVSP_PROTOCOL_VERSION_6 &&
+	    msglen >= sizeof(struct nvsp_message_header) +
+	    sizeof(union nvsp_6_message_uber) + count * sizeof(u32))
+		offset = sizeof(struct nvsp_message_header) +
+			 sizeof(union nvsp_6_message_uber);
+
+	/* Boundary check for all versions */
+	if (offset > msglen - count * sizeof(u32)) {
+		netdev_err(ndev, "Received send-table offset too big:%u\n",
+			   offset);
+		return;
+	}
+
+	tab = (void *)nvmsg + offset;
 
 	for (i = 0; i < count; i++)
 		net_device_ctx->tx_table[i] = tab[i];
@@ -1213,12 +1232,14 @@
 		    net_device_ctx->vf_alloc ? "added" : "removed");
 }
 
-static  void netvsc_receive_inband(struct net_device *ndev,
-				   const struct nvsp_message *nvmsg)
+static void netvsc_receive_inband(struct net_device *ndev,
+				  struct netvsc_device *nvscdev,
+				  const struct nvsp_message *nvmsg,
+				  u32 msglen)
 {
 	switch (nvmsg->hdr.msg_type) {
 	case NVSP_MSG5_TYPE_SEND_INDIRECTION_TABLE:
-		netvsc_send_table(ndev, nvmsg);
+		netvsc_send_table(ndev, nvscdev, nvmsg, msglen);
 		break;
 
 	case NVSP_MSG4_TYPE_SEND_VF_ASSOCIATION:
@@ -1235,6 +1256,7 @@
 				  int budget)
 {
 	const struct nvsp_message *nvmsg = hv_pkt_data(desc);
+	u32 msglen = hv_pkt_datalen(desc);
 
 	trace_nvsp_recv(ndev, channel, nvmsg);
 
@@ -1250,7 +1272,7 @@
 		break;
 
 	case VM_PKT_DATA_INBAND:
-		netvsc_receive_inband(ndev, nvmsg);
+		netvsc_receive_inband(ndev, net_device, nvmsg, msglen);
 		break;
 
 	default:
diff --git a/drivers/net/hyperv/netvsc_drv.c b/drivers/net/hyperv/netvsc_drv.c
index 1f9f7fc..bdb55db 100644
--- a/drivers/net/hyperv/netvsc_drv.c
+++ b/drivers/net/hyperv/netvsc_drv.c
@@ -295,9 +295,9 @@
 		else if (flow.basic.n_proto == htons(ETH_P_IPV6))
 			hash = jhash2((u32 *)&flow.addrs.v6addrs, 8, hashrnd);
 		else
-			hash = 0;
+			return 0;
 
-		skb_set_hash(skb, hash, PKT_HASH_TYPE_L3);
+		__skb_set_sw_hash(skb, hash, false);
 	}
 
 	return hash;
@@ -804,8 +804,7 @@
 	    skb->protocol == htons(ETH_P_IP))
 		netvsc_comp_ipcsum(skb);
 
-	/* Do L4 checksum offload if enabled and present.
-	 */
+	/* Do L4 checksum offload if enabled and present. */
 	if (csum_info && (net->features & NETIF_F_RXCSUM)) {
 		if (csum_info->receive.tcp_checksum_succeeded ||
 		    csum_info->receive.udp_checksum_succeeded)
@@ -985,6 +984,7 @@
 	}
 
 	/* In any case device is now ready */
+	nvdev->tx_disable = false;
 	netif_device_attach(ndev);
 
 	/* Note: enable and attach happen when sub-channels setup */
@@ -2004,6 +2004,12 @@
 	struct netvsc_vf_pcpu_stats *pcpu_stats
 		 = this_cpu_ptr(ndev_ctx->vf_stats);
 
+	skb = skb_share_check(skb, GFP_ATOMIC);
+	if (unlikely(!skb))
+		return RX_HANDLER_CONSUMED;
+
+	*pskb = skb;
+
 	skb->dev = ndev;
 
 	u64_stats_update_begin(&pcpu_stats->syncp);
@@ -2331,6 +2337,8 @@
 	else
 		net->max_mtu = ETH_DATA_LEN;
 
+	nvdev->tx_disable = false;
+
 	ret = register_netdevice(net);
 	if (ret != 0) {
 		pr_err("Unable to register netdev.\n");
diff --git a/drivers/net/hyperv/rndis_filter.c b/drivers/net/hyperv/rndis_filter.c
index f47e36a..dd91834 100644
--- a/drivers/net/hyperv/rndis_filter.c
+++ b/drivers/net/hyperv/rndis_filter.c
@@ -1375,8 +1375,6 @@
 	/* Halt and release the rndis device */
 	rndis_filter_halt_device(net_dev, rndis_dev);
 
-	net_dev->extension = NULL;
-
 	netvsc_device_remove(dev);
 }
 
diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c
index 41c0a3b..277bbff 100644
--- a/drivers/net/macvlan.c
+++ b/drivers/net/macvlan.c
@@ -263,7 +263,7 @@
 			      struct net_device *src,
 			      enum macvlan_mode mode)
 {
-	const struct ethhdr *eth = skb_eth_hdr(skb);
+	const struct ethhdr *eth = eth_hdr(skb);
 	const struct macvlan_dev *vlan;
 	struct sk_buff *nskb;
 	unsigned int i;
@@ -517,10 +517,11 @@
 	const struct macvlan_dev *dest;
 
 	if (vlan->mode == MACVLAN_MODE_BRIDGE) {
-		const struct ethhdr *eth = (void *)skb->data;
+		const struct ethhdr *eth = skb_eth_hdr(skb);
 
 		/* send to other bridge ports directly */
 		if (is_multicast_ether_addr(eth->h_dest)) {
+			skb_reset_mac_header(skb);
 			macvlan_broadcast(skb, port, dev, MACVLAN_MODE_BRIDGE);
 			goto xmit_world;
 		}
diff --git a/drivers/net/phy/fixed_phy.c b/drivers/net/phy/fixed_phy.c
index 67b2608..5982016 100644
--- a/drivers/net/phy/fixed_phy.c
+++ b/drivers/net/phy/fixed_phy.c
@@ -67,11 +67,11 @@
 			do {
 				s = read_seqcount_begin(&fp->seqcount);
 				/* Issue callback if user registered it. */
-				if (fp->link_update) {
+				if (fp->link_update)
 					fp->link_update(fp->phydev->attached_dev,
 							&fp->status);
-					fixed_phy_update(fp);
-				}
+				/* Check the GPIO for change in status */
+				fixed_phy_update(fp);
 				state = fp->status;
 			} while (read_seqcount_retry(&fp->seqcount, s));
 
diff --git a/drivers/net/phy/mdio-bcm-iproc.c b/drivers/net/phy/mdio-bcm-iproc.c
index 46fe1ae..51ce3ea 100644
--- a/drivers/net/phy/mdio-bcm-iproc.c
+++ b/drivers/net/phy/mdio-bcm-iproc.c
@@ -188,6 +188,23 @@
 	return 0;
 }
 
+#ifdef CONFIG_PM_SLEEP
+int iproc_mdio_resume(struct device *dev)
+{
+	struct platform_device *pdev = to_platform_device(dev);
+	struct iproc_mdio_priv *priv = platform_get_drvdata(pdev);
+
+	/* restore the mii clock configuration */
+	iproc_mdio_config_clk(priv->base);
+
+	return 0;
+}
+
+static const struct dev_pm_ops iproc_mdio_pm_ops = {
+	.resume = iproc_mdio_resume
+};
+#endif /* CONFIG_PM_SLEEP */
+
 static const struct of_device_id iproc_mdio_of_match[] = {
 	{ .compatible = "brcm,iproc-mdio", },
 	{ /* sentinel */ },
@@ -198,6 +215,9 @@
 	.driver = {
 		.name = "iproc-mdio",
 		.of_match_table = iproc_mdio_of_match,
+#ifdef CONFIG_PM_SLEEP
+		.pm = &iproc_mdio_pm_ops,
+#endif
 	},
 	.probe = iproc_mdio_probe,
 	.remove = iproc_mdio_remove,
diff --git a/drivers/net/phy/mdio_bus.c b/drivers/net/phy/mdio_bus.c
index c5588d4..5c89a31 100644
--- a/drivers/net/phy/mdio_bus.c
+++ b/drivers/net/phy/mdio_bus.c
@@ -56,11 +56,12 @@
 		gpiod = fwnode_get_named_gpiod(&mdiodev->dev.of_node->fwnode,
 					       "reset-gpios", 0, GPIOD_OUT_LOW,
 					       "PHY reset");
-	if (PTR_ERR(gpiod) == -ENOENT ||
-	    PTR_ERR(gpiod) == -ENOSYS)
-		gpiod = NULL;
-	else if (IS_ERR(gpiod))
-		return PTR_ERR(gpiod);
+	if (IS_ERR(gpiod)) {
+		if (PTR_ERR(gpiod) == -ENOENT || PTR_ERR(gpiod) == -ENOSYS)
+			gpiod = NULL;
+		else
+			return PTR_ERR(gpiod);
+	}
 
 	mdiodev->reset = gpiod;
 
diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c
index 05a6ae3..b4c67c3 100644
--- a/drivers/net/phy/micrel.c
+++ b/drivers/net/phy/micrel.c
@@ -977,6 +977,7 @@
 	.driver_data	= &ksz9021_type,
 	.probe		= kszphy_probe,
 	.config_init	= ksz9031_config_init,
+	.soft_reset	= genphy_soft_reset,
 	.read_status	= ksz9031_read_status,
 	.ack_interrupt	= kszphy_ack_interrupt,
 	.config_intr	= kszphy_config_intr,
diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c
index 43c4f35..ae40d81 100644
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
@@ -76,7 +76,7 @@
 static DEFINE_MUTEX(phy_fixup_lock);
 
 #ifdef CONFIG_PM
-static bool mdio_bus_phy_may_suspend(struct phy_device *phydev)
+static bool mdio_bus_phy_may_suspend(struct phy_device *phydev, bool suspend)
 {
 	struct device_driver *drv = phydev->mdio.dev.driver;
 	struct phy_driver *phydrv = to_phy_driver(drv);
@@ -88,10 +88,11 @@
 	/* PHY not attached? May suspend if the PHY has not already been
 	 * suspended as part of a prior call to phy_disconnect() ->
 	 * phy_detach() -> phy_suspend() because the parent netdev might be the
-	 * MDIO bus driver and clock gated at this point.
+	 * MDIO bus driver and clock gated at this point. Also may resume if
+	 * PHY is not attached.
 	 */
 	if (!netdev)
-		return !phydev->suspended;
+		return suspend ? !phydev->suspended : phydev->suspended;
 
 	if (netdev->wol_enabled)
 		return false;
@@ -126,7 +127,7 @@
 	if (phydev->attached_dev && phydev->adjust_link)
 		phy_stop_machine(phydev);
 
-	if (!mdio_bus_phy_may_suspend(phydev))
+	if (!mdio_bus_phy_may_suspend(phydev, true))
 		return 0;
 
 	return phy_suspend(phydev);
@@ -137,7 +138,7 @@
 	struct phy_device *phydev = to_phy_device(dev);
 	int ret;
 
-	if (!mdio_bus_phy_may_suspend(phydev))
+	if (!mdio_bus_phy_may_suspend(phydev, false))
 		goto no_resume;
 
 	ret = phy_resume(phydev);
@@ -1656,7 +1657,7 @@
 {
 	int ret;
 
-	ret = phy_write(phydev, MII_BMCR, BMCR_RESET);
+	ret = phy_set_bits(phydev, MII_BMCR, BMCR_RESET);
 	if (ret < 0)
 		return ret;
 
diff --git a/drivers/net/ppp/ppp_async.c b/drivers/net/ppp/ppp_async.c
index 7eae088..6fd8485 100644
--- a/drivers/net/ppp/ppp_async.c
+++ b/drivers/net/ppp/ppp_async.c
@@ -878,15 +878,15 @@
 				skb = dev_alloc_skb(ap->mru + PPP_HDRLEN + 2);
 				if (!skb)
 					goto nomem;
- 				ap->rpkt = skb;
- 			}
- 			if (skb->len == 0) {
- 				/* Try to get the payload 4-byte aligned.
- 				 * This should match the
- 				 * PPP_ALLSTATIONS/PPP_UI/compressed tests in
- 				 * process_input_packet, but we do not have
- 				 * enough chars here to test buf[1] and buf[2].
- 				 */
+				ap->rpkt = skb;
+			}
+			if (skb->len == 0) {
+				/* Try to get the payload 4-byte aligned.
+				 * This should match the
+				 * PPP_ALLSTATIONS/PPP_UI/compressed tests in
+				 * process_input_packet, but we do not have
+				 * enough chars here to test buf[1] and buf[2].
+				 */
 				if (buf[0] != PPP_ALLSTATIONS)
 					skb_reserve(skb, 2 + (buf[0] & 1));
 			}
diff --git a/drivers/net/slip/slip.c b/drivers/net/slip/slip.c
index 77207f9..93f303e 100644
--- a/drivers/net/slip/slip.c
+++ b/drivers/net/slip/slip.c
@@ -452,9 +452,16 @@
  */
 static void slip_write_wakeup(struct tty_struct *tty)
 {
-	struct slip *sl = tty->disc_data;
+	struct slip *sl;
+
+	rcu_read_lock();
+	sl = rcu_dereference(tty->disc_data);
+	if (!sl)
+		goto out;
 
 	schedule_work(&sl->tx_work);
+out:
+	rcu_read_unlock();
 }
 
 static void sl_tx_timeout(struct net_device *dev)
@@ -882,10 +889,11 @@
 		return;
 
 	spin_lock_bh(&sl->lock);
-	tty->disc_data = NULL;
+	rcu_assign_pointer(tty->disc_data, NULL);
 	sl->tty = NULL;
 	spin_unlock_bh(&sl->lock);
 
+	synchronize_rcu();
 	flush_work(&sl->tx_work);
 
 	/* VSV = very important to remove timers */
diff --git a/drivers/net/tun.c b/drivers/net/tun.c
index dda409c..12a57e4 100644
--- a/drivers/net/tun.c
+++ b/drivers/net/tun.c
@@ -1904,6 +1904,10 @@
 			if (ret != XDP_PASS) {
 				rcu_read_unlock();
 				local_bh_enable();
+				if (frags) {
+					tfile->napi.skb = NULL;
+					mutex_unlock(&tfile->napi_mutex);
+				}
 				return total_len;
 			}
 		}
diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c
index 57236d6..299e1e4 100644
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
@@ -19,6 +19,7 @@
 #include <linux/mdio.h>
 #include <linux/phy.h>
 #include <net/ip6_checksum.h>
+#include <net/vxlan.h>
 #include <linux/interrupt.h>
 #include <linux/irqdomain.h>
 #include <linux/irq.h>
@@ -3671,6 +3672,19 @@
 	tasklet_schedule(&dev->bh);
 }
 
+static netdev_features_t lan78xx_features_check(struct sk_buff *skb,
+						struct net_device *netdev,
+						netdev_features_t features)
+{
+	if (skb->len + TX_OVERHEAD > MAX_SINGLE_PACKET_SIZE)
+		features &= ~NETIF_F_GSO_MASK;
+
+	features = vlan_features_check(skb, features);
+	features = vxlan_features_check(skb, features);
+
+	return features;
+}
+
 static const struct net_device_ops lan78xx_netdev_ops = {
 	.ndo_open		= lan78xx_open,
 	.ndo_stop		= lan78xx_stop,
@@ -3684,6 +3698,7 @@
 	.ndo_set_features	= lan78xx_set_features,
 	.ndo_vlan_rx_add_vid	= lan78xx_vlan_rx_add_vid,
 	.ndo_vlan_rx_kill_vid	= lan78xx_vlan_rx_kill_vid,
+	.ndo_features_check	= lan78xx_features_check,
 };
 
 static void lan78xx_stat_monitor(struct timer_list *t)
@@ -3753,6 +3768,7 @@
 
 	/* MTU range: 68 - 9000 */
 	netdev->max_mtu = MAX_SINGLE_PACKET_SIZE;
+	netif_set_gso_max_size(netdev, MAX_SINGLE_PACKET_SIZE - MAX_HEADER);
 
 	dev->ep_blkin = (intf->cur_altsetting)->endpoint + 0;
 	dev->ep_blkout = (intf->cur_altsetting)->endpoint + 1;
diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
index b55fd76..a04f857 100644
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -63,7 +63,6 @@
 
 enum qmi_wwan_quirks {
 	QMI_WWAN_QUIRK_DTR = 1 << 0,	/* needs "set DTR" request */
-	QMI_WWAN_QUIRK_QUECTEL_DYNCFG = 1 << 1,	/* check num. endpoints */
 };
 
 struct qmimux_hdr {
@@ -853,16 +852,6 @@
 	.data           = QMI_WWAN_QUIRK_DTR,
 };
 
-static const struct driver_info	qmi_wwan_info_quirk_quectel_dyncfg = {
-	.description	= "WWAN/QMI device",
-	.flags		= FLAG_WWAN | FLAG_SEND_ZLP,
-	.bind		= qmi_wwan_bind,
-	.unbind		= qmi_wwan_unbind,
-	.manage_power	= qmi_wwan_manage_power,
-	.rx_fixup       = qmi_wwan_rx_fixup,
-	.data           = QMI_WWAN_QUIRK_DTR | QMI_WWAN_QUIRK_QUECTEL_DYNCFG,
-};
-
 #define HUAWEI_VENDOR_ID	0x12D1
 
 /* map QMI/wwan function by a fixed interface number */
@@ -883,14 +872,18 @@
 #define QMI_GOBI_DEVICE(vend, prod) \
 	QMI_FIXED_INTF(vend, prod, 0)
 
-/* Quectel does not use fixed interface numbers on at least some of their
- * devices. We need to check the number of endpoints to ensure that we bind to
- * the correct interface.
+/* Many devices have QMI and DIAG functions which are distinguishable
+ * from other vendor specific functions by class, subclass and
+ * protocol all being 0xff. The DIAG function has exactly 2 endpoints
+ * and is silently rejected when probed.
+ *
+ * This makes it possible to match dynamically numbered QMI functions
+ * as seen on e.g. many Quectel modems.
  */
-#define QMI_QUIRK_QUECTEL_DYNCFG(vend, prod) \
+#define QMI_MATCH_FF_FF_FF(vend, prod) \
 	USB_DEVICE_AND_INTERFACE_INFO(vend, prod, USB_CLASS_VENDOR_SPEC, \
 				      USB_SUBCLASS_VENDOR_SPEC, 0xff), \
-	.driver_info = (unsigned long)&qmi_wwan_info_quirk_quectel_dyncfg
+	.driver_info = (unsigned long)&qmi_wwan_info_quirk_dtr
 
 static const struct usb_device_id products[] = {
 	/* 1. CDC ECM like devices match on the control interface */
@@ -996,9 +989,10 @@
 		USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0x581d, USB_CLASS_VENDOR_SPEC, 1, 7),
 		.driver_info = (unsigned long)&qmi_wwan_info,
 	},
-	{QMI_QUIRK_QUECTEL_DYNCFG(0x2c7c, 0x0125)},	/* Quectel EC25, EC20 R2.0  Mini PCIe */
-	{QMI_QUIRK_QUECTEL_DYNCFG(0x2c7c, 0x0306)},	/* Quectel EP06/EG06/EM06 */
-	{QMI_QUIRK_QUECTEL_DYNCFG(0x2c7c, 0x0512)},	/* Quectel EG12/EM12 */
+	{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0125)},	/* Quectel EC25, EC20 R2.0  Mini PCIe */
+	{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0306)},	/* Quectel EP06/EG06/EM06 */
+	{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0512)},	/* Quectel EG12/EM12 */
+	{QMI_MATCH_FF_FF_FF(0x2c7c, 0x0800)},	/* Quectel RM500Q-GL */
 
 	/* 3. Combined interface devices matching on interface number */
 	{QMI_FIXED_INTF(0x0408, 0xea42, 4)},	/* Yota / Megafon M100-1 */
@@ -1297,6 +1291,7 @@
 	{QMI_FIXED_INTF(0x413c, 0x81b6, 8)},	/* Dell Wireless 5811e */
 	{QMI_FIXED_INTF(0x413c, 0x81b6, 10)},	/* Dell Wireless 5811e */
 	{QMI_FIXED_INTF(0x413c, 0x81d7, 0)},	/* Dell Wireless 5821e */
+	{QMI_FIXED_INTF(0x413c, 0x81d7, 1)},	/* Dell Wireless 5821e preproduction config */
 	{QMI_FIXED_INTF(0x413c, 0x81e0, 0)},	/* Dell Wireless 5821e with eSIM support*/
 	{QMI_FIXED_INTF(0x03f0, 0x4e1d, 8)},	/* HP lt4111 LTE/EV-DO/HSPA+ Gobi 4G Module */
 	{QMI_FIXED_INTF(0x03f0, 0x9d1d, 1)},	/* HP lt4120 Snapdragon X5 LTE */
@@ -1388,7 +1383,6 @@
 {
 	struct usb_device_id *id = (struct usb_device_id *)prod;
 	struct usb_interface_descriptor *desc = &intf->cur_altsetting->desc;
-	const struct driver_info *info;
 
 	/* Workaround to enable dynamic IDs.  This disables usbnet
 	 * blacklisting functionality.  Which, if required, can be
@@ -1424,12 +1418,8 @@
 	 * different. Ignore the current interface if the number of endpoints
 	 * equals the number for the diag interface (two).
 	 */
-	info = (void *)id->driver_info;
-
-	if (info->data & QMI_WWAN_QUIRK_QUECTEL_DYNCFG) {
-		if (desc->bNumEndpoints == 2)
-			return -ENODEV;
-	}
+	if (desc->bNumEndpoints == 2)
+		return -ENODEV;
 
 	return usbnet_probe(intf, id);
 }
diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c
index 91d47a7..c5c188d 100644
--- a/drivers/net/usb/r8152.c
+++ b/drivers/net/usb/r8152.c
@@ -5167,6 +5167,9 @@
 		return -ENODEV;
 	}
 
+	if (intf->cur_altsetting->desc.bNumEndpoints < 3)
+		return -ENODEV;
+
 	usb_reset_device(udev);
 	netdev = alloc_etherdev(sizeof(struct r8152));
 	if (!netdev) {
@@ -5256,6 +5259,11 @@
 
 	intf->needs_remote_wakeup = 1;
 
+	if (!rtl_can_wakeup(tp))
+		__rtl_set_wol(tp, 0);
+	else
+		tp->saved_wolopts = __rtl_get_wol(tp);
+
 	tp->rtl_ops.init(tp);
 	queue_delayed_work(system_long_wq, &tp->hw_phy_work, 0);
 	set_ethernet_addr(tp);
@@ -5269,10 +5277,6 @@
 		goto out1;
 	}
 
-	if (!rtl_can_wakeup(tp))
-		__rtl_set_wol(tp, 0);
-
-	tp->saved_wolopts = __rtl_get_wol(tp);
 	if (tp->saved_wolopts)
 		device_set_wakeup_enable(&udev->dev, true);
 	else
diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c
index 613f366..df88981 100644
--- a/drivers/net/vxlan.c
+++ b/drivers/net/vxlan.c
@@ -3496,7 +3496,6 @@
 	struct vxlan_rdst *dst = &vxlan->default_dst;
 	struct vxlan_rdst old_dst;
 	struct vxlan_config conf;
-	struct vxlan_fdb *f = NULL;
 	int err;
 
 	err = vxlan_nl2conf(tb, data,
@@ -3522,19 +3521,19 @@
 					   old_dst.remote_ifindex, 0);
 
 		if (!vxlan_addr_any(&dst->remote_ip)) {
-			err = vxlan_fdb_create(vxlan, all_zeros_mac,
+			err = vxlan_fdb_update(vxlan, all_zeros_mac,
 					       &dst->remote_ip,
 					       NUD_REACHABLE | NUD_PERMANENT,
+					       NLM_F_APPEND | NLM_F_CREATE,
 					       vxlan->cfg.dst_port,
 					       dst->remote_vni,
 					       dst->remote_vni,
 					       dst->remote_ifindex,
-					       NTF_SELF, &f);
+					       NTF_SELF);
 			if (err) {
 				spin_unlock_bh(&vxlan->hash_lock);
 				return err;
 			}
-			vxlan_fdb_notify(vxlan, f, first_remote_rtnl(f), RTM_NEWNEIGH);
 		}
 		spin_unlock_bh(&vxlan->hash_lock);
 	}
diff --git a/drivers/net/wan/fsl_ucc_hdlc.c b/drivers/net/wan/fsl_ucc_hdlc.c
index 0212f57..9ab04ef 100644
--- a/drivers/net/wan/fsl_ucc_hdlc.c
+++ b/drivers/net/wan/fsl_ucc_hdlc.c
@@ -76,7 +76,7 @@
 	},
 };
 
-static struct ucc_tdm_info utdm_info[MAX_HDLC_NUM];
+static struct ucc_tdm_info utdm_info[UCC_MAX_NUM];
 
 static int uhdlc_init(struct ucc_hdlc_private *priv)
 {
@@ -242,6 +242,11 @@
 		ret = -ENOMEM;
 		goto free_riptr;
 	}
+	if (riptr != (u16)riptr || tiptr != (u16)tiptr) {
+		dev_err(priv->dev, "MURAM allocation out of addressable range\n");
+		ret = -ENOMEM;
+		goto free_tiptr;
+	}
 
 	/* Set RIPTR, TIPTR */
 	iowrite16be(riptr, &priv->ucc_pram->riptr);
diff --git a/drivers/net/wan/ixp4xx_hss.c b/drivers/net/wan/ixp4xx_hss.c
index 6a505c2..a269ed6 100644
--- a/drivers/net/wan/ixp4xx_hss.c
+++ b/drivers/net/wan/ixp4xx_hss.c
@@ -261,7 +261,7 @@
 	struct hss_plat_info *plat;
 	buffer_t *rx_buff_tab[RX_DESCS], *tx_buff_tab[TX_DESCS];
 	struct desc *desc_tab;	/* coherent */
-	u32 desc_tab_phys;
+	dma_addr_t desc_tab_phys;
 	unsigned int id;
 	unsigned int clock_type, clock_rate, loopback;
 	unsigned int initialized, carrier;
@@ -861,7 +861,7 @@
 		dev->stats.tx_dropped++;
 		return NETDEV_TX_OK;
 	}
-	memcpy_swab32(mem, (u32 *)((int)skb->data & ~3), bytes / 4);
+	memcpy_swab32(mem, (u32 *)((uintptr_t)skb->data & ~3), bytes / 4);
 	dev_kfree_skb(skb);
 #endif
 
diff --git a/drivers/net/wan/sdla.c b/drivers/net/wan/sdla.c
index 57ed259..09fde60 100644
--- a/drivers/net/wan/sdla.c
+++ b/drivers/net/wan/sdla.c
@@ -711,7 +711,7 @@
 
 					spin_lock_irqsave(&sdla_lock, flags);
 					SDLA_WINDOW(dev, addr);
-					pbuf = (void *)(((int) dev->mem_start) + (addr & SDLA_ADDR_MASK));
+					pbuf = (void *)(dev->mem_start + (addr & SDLA_ADDR_MASK));
 					__sdla_write(dev, pbuf->buf_addr, skb->data, skb->len);
 					SDLA_WINDOW(dev, addr);
 					pbuf->opp_flag = 1;
diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
index 448e3a8..a09d7a0 100644
--- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -1,7 +1,7 @@
 /*
  * Copyright (c) 2005-2011 Atheros Communications Inc.
  * Copyright (c) 2011-2017 Qualcomm Atheros, Inc.
- * Copyright (c) 2018, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
  *
  * Permission to use, copy, modify, and/or distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -3853,7 +3853,7 @@
 				ath10k_warn(ar, "failed to transmit management frame by ref via WMI: %d\n",
 					    ret);
 				dma_unmap_single(ar->dev, paddr, skb->len,
-						 DMA_FROM_DEVICE);
+						 DMA_TO_DEVICE);
 				ieee80211_free_txskb(ar->hw, skb);
 			}
 		} else {
diff --git a/drivers/net/wireless/ath/ath10k/pci.c b/drivers/net/wireless/ath/ath10k/pci.c
index 2a503aa..caece83 100644
--- a/drivers/net/wireless/ath/ath10k/pci.c
+++ b/drivers/net/wireless/ath/ath10k/pci.c
@@ -1613,11 +1613,22 @@
 {
 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
 	u32 i;
+	int ret;
+
+	mutex_lock(&ar->conf_mutex);
+	if (ar->state != ATH10K_STATE_ON) {
+		ath10k_warn(ar, "Skipping pci_dump_memory_reg invalid state\n");
+		ret = -EIO;
+		goto done;
+	}
 
 	for (i = 0; i < region->len; i += 4)
 		*(u32 *)(buf + i) = ioread32(ar_pci->mem + region->start + i);
 
-	return region->len;
+	ret = region->len;
+done:
+	mutex_unlock(&ar->conf_mutex);
+	return ret;
 }
 
 /* if an error happened returns < 0, otherwise the length */
@@ -1713,7 +1724,11 @@
 			count = ath10k_pci_dump_memory_sram(ar, current_region, buf);
 			break;
 		case ATH10K_MEM_REGION_TYPE_IOREG:
-			count = ath10k_pci_dump_memory_reg(ar, current_region, buf);
+			ret = ath10k_pci_dump_memory_reg(ar, current_region, buf);
+			if (ret < 0)
+				break;
+
+			count = ret;
 			break;
 		default:
 			ret = ath10k_pci_dump_memory_generic(ar, current_region, buf);
diff --git a/drivers/net/wireless/ath/ath10k/sdio.c b/drivers/net/wireless/ath/ath10k/sdio.c
index 686759b..0ecaba8 100644
--- a/drivers/net/wireless/ath/ath10k/sdio.c
+++ b/drivers/net/wireless/ath/ath10k/sdio.c
@@ -392,16 +392,11 @@
 	struct ath10k_htc_hdr *htc_hdr = (struct ath10k_htc_hdr *)skb->data;
 	bool trailer_present = htc_hdr->flags & ATH10K_HTC_FLAG_TRAILER_PRESENT;
 	enum ath10k_htc_ep_id eid;
-	u16 payload_len;
 	u8 *trailer;
 	int ret;
 
-	payload_len = le16_to_cpu(htc_hdr->len);
-	skb->len = payload_len + sizeof(struct ath10k_htc_hdr);
-
 	if (trailer_present) {
-		trailer = skb->data + sizeof(*htc_hdr) +
-			  payload_len - htc_hdr->trailer_len;
+		trailer = skb->data + skb->len - htc_hdr->trailer_len;
 
 		eid = pipe_id_to_eid(htc_hdr->eid);
 
@@ -638,13 +633,31 @@
 {
 	struct ath10k_sdio *ar_sdio = ath10k_sdio_priv(ar);
 	struct sk_buff *skb = pkt->skb;
+	struct ath10k_htc_hdr *htc_hdr;
 	int ret;
 
 	ret = ath10k_sdio_readsb(ar, ar_sdio->mbox_info.htc_addr,
 				 skb->data, pkt->alloc_len);
+	if (ret)
+		goto out;
+
+	/* Update actual length. The original length may be incorrect,
+	 * as the FW will bundle multiple packets as long as their sizes
+	 * fit within the same aligned length (pkt->alloc_len).
+	 */
+	htc_hdr = (struct ath10k_htc_hdr *)skb->data;
+	pkt->act_len = le16_to_cpu(htc_hdr->len) + sizeof(*htc_hdr);
+	if (pkt->act_len > pkt->alloc_len) {
+		ath10k_warn(ar, "rx packet too large (%zu > %zu)\n",
+			    pkt->act_len, pkt->alloc_len);
+		ret = -EMSGSIZE;
+		goto out;
+	}
+
+	skb_put(skb, pkt->act_len);
+
+out:
 	pkt->status = ret;
-	if (!ret)
-		skb_put(skb, pkt->act_len);
 
 	return ret;
 }
diff --git a/drivers/net/wireless/ath/ath10k/usb.c b/drivers/net/wireless/ath/ath10k/usb.c
index f9c79e2..c64a03f 100644
--- a/drivers/net/wireless/ath/ath10k/usb.c
+++ b/drivers/net/wireless/ath/ath10k/usb.c
@@ -454,6 +454,7 @@
 			ath10k_dbg(ar, ATH10K_DBG_USB_BULK,
 				   "usb bulk transmit failed: %d\n", ret);
 			usb_unanchor_urb(urb);
+			usb_free_urb(urb);
 			ret = -EINVAL;
 			goto err_free_urb_to_pipe;
 		}
diff --git a/drivers/net/wireless/ath/ath10k/wmi-tlv.c b/drivers/net/wireless/ath/ath10k/wmi-tlv.c
index cdc1e64..248decb 100644
--- a/drivers/net/wireless/ath/ath10k/wmi-tlv.c
+++ b/drivers/net/wireless/ath/ath10k/wmi-tlv.c
@@ -2693,7 +2693,7 @@
 	     ieee80211_is_deauth(hdr->frame_control) ||
 	     ieee80211_is_disassoc(hdr->frame_control)) &&
 	     ieee80211_has_protected(hdr->frame_control)) {
-		len += IEEE80211_CCMP_MIC_LEN;
+		skb_put(msdu, IEEE80211_CCMP_MIC_LEN);
 		buf_len += IEEE80211_CCMP_MIC_LEN;
 	}
 
diff --git a/drivers/net/wireless/ath/ath10k/wmi.c b/drivers/net/wireless/ath/ath10k/wmi.c
index aefc92d..3372dfa 100644
--- a/drivers/net/wireless/ath/ath10k/wmi.c
+++ b/drivers/net/wireless/ath/ath10k/wmi.c
@@ -1,7 +1,7 @@
 /*
  * Copyright (c) 2005-2011 Atheros Communications Inc.
  * Copyright (c) 2011-2017 Qualcomm Atheros, Inc.
- * Copyright (c) 2018, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
  *
  * Permission to use, copy, modify, and/or distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -2340,7 +2340,7 @@
 
 	msdu = pkt_addr->vaddr;
 	dma_unmap_single(ar->dev, pkt_addr->paddr,
-			 msdu->len, DMA_FROM_DEVICE);
+			 msdu->len, DMA_TO_DEVICE);
 	info = IEEE80211_SKB_CB(msdu);
 
 	if (status)
@@ -9193,7 +9193,7 @@
 
 	msdu = pkt_addr->vaddr;
 	dma_unmap_single(ar->dev, pkt_addr->paddr,
-			 msdu->len, DMA_FROM_DEVICE);
+			 msdu->len, DMA_TO_DEVICE);
 	ieee80211_free_txskb(ar->hw, msdu);
 
 	return 0;
diff --git a/drivers/net/wireless/ath/ath9k/dynack.c b/drivers/net/wireless/ath/ath9k/dynack.c
index 6e236a4..71b4888 100644
--- a/drivers/net/wireless/ath/ath9k/dynack.c
+++ b/drivers/net/wireless/ath/ath9k/dynack.c
@@ -300,9 +300,9 @@
 
 	an->ackto = ackto;
 
-	spin_lock(&da->qlock);
+	spin_lock_bh(&da->qlock);
 	list_add_tail(&an->list, &da->nodes);
-	spin_unlock(&da->qlock);
+	spin_unlock_bh(&da->qlock);
 }
 EXPORT_SYMBOL(ath_dynack_node_init);
 
@@ -316,9 +316,9 @@
 {
 	struct ath_dynack *da = &ah->dynack;
 
-	spin_lock(&da->qlock);
+	spin_lock_bh(&da->qlock);
 	list_del(&an->list);
-	spin_unlock(&da->qlock);
+	spin_unlock_bh(&da->qlock);
 }
 EXPORT_SYMBOL(ath_dynack_node_deinit);
 
diff --git a/drivers/net/wireless/ath/ath9k/hif_usb.c b/drivers/net/wireless/ath/ath9k/hif_usb.c
index fb649d8..dd0c323 100644
--- a/drivers/net/wireless/ath/ath9k/hif_usb.c
+++ b/drivers/net/wireless/ath/ath9k/hif_usb.c
@@ -1216,7 +1216,7 @@
 static int send_eject_command(struct usb_interface *interface)
 {
 	struct usb_device *udev = interface_to_usbdev(interface);
-	struct usb_host_interface *iface_desc = &interface->altsetting[0];
+	struct usb_host_interface *iface_desc = interface->cur_altsetting;
 	struct usb_endpoint_descriptor *endpoint;
 	unsigned char *cmd;
 	u8 bulk_out_ep;
diff --git a/drivers/net/wireless/ath/wcn36xx/smd.c b/drivers/net/wireless/ath/wcn36xx/smd.c
index 00098f2..6cd113b 100644
--- a/drivers/net/wireless/ath/wcn36xx/smd.c
+++ b/drivers/net/wireless/ath/wcn36xx/smd.c
@@ -641,52 +641,58 @@
 			      struct cfg80211_scan_request *req)
 {
 	struct wcn36xx_vif *vif_priv = wcn36xx_vif_to_priv(vif);
-	struct wcn36xx_hal_start_scan_offload_req_msg msg_body;
+	struct wcn36xx_hal_start_scan_offload_req_msg *msg_body;
 	int ret, i;
 
 	if (req->ie_len > WCN36XX_MAX_SCAN_IE_LEN)
 		return -EINVAL;
 
 	mutex_lock(&wcn->hal_mutex);
-	INIT_HAL_MSG(msg_body, WCN36XX_HAL_START_SCAN_OFFLOAD_REQ);
-
-	msg_body.scan_type = WCN36XX_HAL_SCAN_TYPE_ACTIVE;
-	msg_body.min_ch_time = 30;
-	msg_body.max_ch_time = 100;
-	msg_body.scan_hidden = 1;
-	memcpy(msg_body.mac, vif->addr, ETH_ALEN);
-	msg_body.bss_type = vif_priv->bss_type;
-	msg_body.p2p_search = vif->p2p;
-
-	msg_body.num_ssid = min_t(u8, req->n_ssids, ARRAY_SIZE(msg_body.ssids));
-	for (i = 0; i < msg_body.num_ssid; i++) {
-		msg_body.ssids[i].length = min_t(u8, req->ssids[i].ssid_len,
-						sizeof(msg_body.ssids[i].ssid));
-		memcpy(msg_body.ssids[i].ssid, req->ssids[i].ssid,
-		       msg_body.ssids[i].length);
+	msg_body = kzalloc(sizeof(*msg_body), GFP_KERNEL);
+	if (!msg_body) {
+		ret = -ENOMEM;
+		goto out;
 	}
 
-	msg_body.num_channel = min_t(u8, req->n_channels,
-				     sizeof(msg_body.channels));
-	for (i = 0; i < msg_body.num_channel; i++)
-		msg_body.channels[i] = req->channels[i]->hw_value;
+	INIT_HAL_MSG((*msg_body), WCN36XX_HAL_START_SCAN_OFFLOAD_REQ);
 
-	msg_body.header.len -= WCN36XX_MAX_SCAN_IE_LEN;
+	msg_body->scan_type = WCN36XX_HAL_SCAN_TYPE_ACTIVE;
+	msg_body->min_ch_time = 30;
+	msg_body->max_ch_time = 100;
+	msg_body->scan_hidden = 1;
+	memcpy(msg_body->mac, vif->addr, ETH_ALEN);
+	msg_body->bss_type = vif_priv->bss_type;
+	msg_body->p2p_search = vif->p2p;
+
+	msg_body->num_ssid = min_t(u8, req->n_ssids, ARRAY_SIZE(msg_body->ssids));
+	for (i = 0; i < msg_body->num_ssid; i++) {
+		msg_body->ssids[i].length = min_t(u8, req->ssids[i].ssid_len,
+						sizeof(msg_body->ssids[i].ssid));
+		memcpy(msg_body->ssids[i].ssid, req->ssids[i].ssid,
+		       msg_body->ssids[i].length);
+	}
+
+	msg_body->num_channel = min_t(u8, req->n_channels,
+				     sizeof(msg_body->channels));
+	for (i = 0; i < msg_body->num_channel; i++)
+		msg_body->channels[i] = req->channels[i]->hw_value;
+
+	msg_body->header.len -= WCN36XX_MAX_SCAN_IE_LEN;
 
 	if (req->ie_len > 0) {
-		msg_body.ie_len = req->ie_len;
-		msg_body.header.len += req->ie_len;
-		memcpy(msg_body.ie, req->ie, req->ie_len);
+		msg_body->ie_len = req->ie_len;
+		msg_body->header.len += req->ie_len;
+		memcpy(msg_body->ie, req->ie, req->ie_len);
 	}
 
-	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
+	PREPARE_HAL_BUF(wcn->hal_buf, (*msg_body));
 
 	wcn36xx_dbg(WCN36XX_DBG_HAL,
 		    "hal start hw-scan (channels: %u; ssids: %u; p2p: %s)\n",
-		    msg_body.num_channel, msg_body.num_ssid,
-		    msg_body.p2p_search ? "yes" : "no");
+		    msg_body->num_channel, msg_body->num_ssid,
+		    msg_body->p2p_search ? "yes" : "no");
 
-	ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
+	ret = wcn36xx_smd_send_and_wait(wcn, msg_body->header.len);
 	if (ret) {
 		wcn36xx_err("Sending hal_start_scan_offload failed\n");
 		goto out;
@@ -698,6 +704,7 @@
 		goto out;
 	}
 out:
+	kfree(msg_body);
 	mutex_unlock(&wcn->hal_mutex);
 	return ret;
 }
@@ -1257,96 +1264,104 @@
 static int wcn36xx_smd_config_bss_v1(struct wcn36xx *wcn,
 			const struct wcn36xx_hal_config_bss_req_msg *orig)
 {
-	struct wcn36xx_hal_config_bss_req_msg_v1 msg_body;
-	struct wcn36xx_hal_config_bss_params_v1 *bss = &msg_body.bss_params;
-	struct wcn36xx_hal_config_sta_params_v1 *sta = &bss->sta;
+	struct wcn36xx_hal_config_bss_req_msg_v1 *msg_body;
+	struct wcn36xx_hal_config_bss_params_v1 *bss;
+	struct wcn36xx_hal_config_sta_params_v1 *sta;
+	int ret;
 
-	INIT_HAL_MSG(msg_body, WCN36XX_HAL_CONFIG_BSS_REQ);
+	msg_body = kzalloc(sizeof(*msg_body), GFP_KERNEL);
+	if (!msg_body)
+		return -ENOMEM;
+
+	INIT_HAL_MSG((*msg_body), WCN36XX_HAL_CONFIG_BSS_REQ);
+
+	bss = &msg_body->bss_params;
+	sta = &bss->sta;
 
 	/* convert orig to v1 */
-	memcpy(&msg_body.bss_params.bssid,
+	memcpy(&msg_body->bss_params.bssid,
 	       &orig->bss_params.bssid, ETH_ALEN);
-	memcpy(&msg_body.bss_params.self_mac_addr,
+	memcpy(&msg_body->bss_params.self_mac_addr,
 	       &orig->bss_params.self_mac_addr, ETH_ALEN);
 
-	msg_body.bss_params.bss_type = orig->bss_params.bss_type;
-	msg_body.bss_params.oper_mode = orig->bss_params.oper_mode;
-	msg_body.bss_params.nw_type = orig->bss_params.nw_type;
+	msg_body->bss_params.bss_type = orig->bss_params.bss_type;
+	msg_body->bss_params.oper_mode = orig->bss_params.oper_mode;
+	msg_body->bss_params.nw_type = orig->bss_params.nw_type;
 
-	msg_body.bss_params.short_slot_time_supported =
+	msg_body->bss_params.short_slot_time_supported =
 		orig->bss_params.short_slot_time_supported;
-	msg_body.bss_params.lla_coexist = orig->bss_params.lla_coexist;
-	msg_body.bss_params.llb_coexist = orig->bss_params.llb_coexist;
-	msg_body.bss_params.llg_coexist = orig->bss_params.llg_coexist;
-	msg_body.bss_params.ht20_coexist = orig->bss_params.ht20_coexist;
-	msg_body.bss_params.lln_non_gf_coexist =
+	msg_body->bss_params.lla_coexist = orig->bss_params.lla_coexist;
+	msg_body->bss_params.llb_coexist = orig->bss_params.llb_coexist;
+	msg_body->bss_params.llg_coexist = orig->bss_params.llg_coexist;
+	msg_body->bss_params.ht20_coexist = orig->bss_params.ht20_coexist;
+	msg_body->bss_params.lln_non_gf_coexist =
 		orig->bss_params.lln_non_gf_coexist;
 
-	msg_body.bss_params.lsig_tx_op_protection_full_support =
+	msg_body->bss_params.lsig_tx_op_protection_full_support =
 		orig->bss_params.lsig_tx_op_protection_full_support;
-	msg_body.bss_params.rifs_mode = orig->bss_params.rifs_mode;
-	msg_body.bss_params.beacon_interval = orig->bss_params.beacon_interval;
-	msg_body.bss_params.dtim_period = orig->bss_params.dtim_period;
-	msg_body.bss_params.tx_channel_width_set =
+	msg_body->bss_params.rifs_mode = orig->bss_params.rifs_mode;
+	msg_body->bss_params.beacon_interval = orig->bss_params.beacon_interval;
+	msg_body->bss_params.dtim_period = orig->bss_params.dtim_period;
+	msg_body->bss_params.tx_channel_width_set =
 		orig->bss_params.tx_channel_width_set;
-	msg_body.bss_params.oper_channel = orig->bss_params.oper_channel;
-	msg_body.bss_params.ext_channel = orig->bss_params.ext_channel;
+	msg_body->bss_params.oper_channel = orig->bss_params.oper_channel;
+	msg_body->bss_params.ext_channel = orig->bss_params.ext_channel;
 
-	msg_body.bss_params.reserved = orig->bss_params.reserved;
+	msg_body->bss_params.reserved = orig->bss_params.reserved;
 
-	memcpy(&msg_body.bss_params.ssid,
+	memcpy(&msg_body->bss_params.ssid,
 	       &orig->bss_params.ssid,
 	       sizeof(orig->bss_params.ssid));
 
-	msg_body.bss_params.action = orig->bss_params.action;
-	msg_body.bss_params.rateset = orig->bss_params.rateset;
-	msg_body.bss_params.ht = orig->bss_params.ht;
-	msg_body.bss_params.obss_prot_enabled =
+	msg_body->bss_params.action = orig->bss_params.action;
+	msg_body->bss_params.rateset = orig->bss_params.rateset;
+	msg_body->bss_params.ht = orig->bss_params.ht;
+	msg_body->bss_params.obss_prot_enabled =
 		orig->bss_params.obss_prot_enabled;
-	msg_body.bss_params.rmf = orig->bss_params.rmf;
-	msg_body.bss_params.ht_oper_mode = orig->bss_params.ht_oper_mode;
-	msg_body.bss_params.dual_cts_protection =
+	msg_body->bss_params.rmf = orig->bss_params.rmf;
+	msg_body->bss_params.ht_oper_mode = orig->bss_params.ht_oper_mode;
+	msg_body->bss_params.dual_cts_protection =
 		orig->bss_params.dual_cts_protection;
 
-	msg_body.bss_params.max_probe_resp_retry_limit =
+	msg_body->bss_params.max_probe_resp_retry_limit =
 		orig->bss_params.max_probe_resp_retry_limit;
-	msg_body.bss_params.hidden_ssid = orig->bss_params.hidden_ssid;
-	msg_body.bss_params.proxy_probe_resp =
+	msg_body->bss_params.hidden_ssid = orig->bss_params.hidden_ssid;
+	msg_body->bss_params.proxy_probe_resp =
 		orig->bss_params.proxy_probe_resp;
-	msg_body.bss_params.edca_params_valid =
+	msg_body->bss_params.edca_params_valid =
 		orig->bss_params.edca_params_valid;
 
-	memcpy(&msg_body.bss_params.acbe,
+	memcpy(&msg_body->bss_params.acbe,
 	       &orig->bss_params.acbe,
 	       sizeof(orig->bss_params.acbe));
-	memcpy(&msg_body.bss_params.acbk,
+	memcpy(&msg_body->bss_params.acbk,
 	       &orig->bss_params.acbk,
 	       sizeof(orig->bss_params.acbk));
-	memcpy(&msg_body.bss_params.acvi,
+	memcpy(&msg_body->bss_params.acvi,
 	       &orig->bss_params.acvi,
 	       sizeof(orig->bss_params.acvi));
-	memcpy(&msg_body.bss_params.acvo,
+	memcpy(&msg_body->bss_params.acvo,
 	       &orig->bss_params.acvo,
 	       sizeof(orig->bss_params.acvo));
 
-	msg_body.bss_params.ext_set_sta_key_param_valid =
+	msg_body->bss_params.ext_set_sta_key_param_valid =
 		orig->bss_params.ext_set_sta_key_param_valid;
 
-	memcpy(&msg_body.bss_params.ext_set_sta_key_param,
+	memcpy(&msg_body->bss_params.ext_set_sta_key_param,
 	       &orig->bss_params.ext_set_sta_key_param,
 	       sizeof(orig->bss_params.acvo));
 
-	msg_body.bss_params.wcn36xx_hal_persona =
+	msg_body->bss_params.wcn36xx_hal_persona =
 		orig->bss_params.wcn36xx_hal_persona;
-	msg_body.bss_params.spectrum_mgt_enable =
+	msg_body->bss_params.spectrum_mgt_enable =
 		orig->bss_params.spectrum_mgt_enable;
-	msg_body.bss_params.tx_mgmt_power = orig->bss_params.tx_mgmt_power;
-	msg_body.bss_params.max_tx_power = orig->bss_params.max_tx_power;
+	msg_body->bss_params.tx_mgmt_power = orig->bss_params.tx_mgmt_power;
+	msg_body->bss_params.max_tx_power = orig->bss_params.max_tx_power;
 
 	wcn36xx_smd_convert_sta_to_v1(wcn, &orig->bss_params.sta,
-				      &msg_body.bss_params.sta);
+				      &msg_body->bss_params.sta);
 
-	PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
+	PREPARE_HAL_BUF(wcn->hal_buf, (*msg_body));
 
 	wcn36xx_dbg(WCN36XX_DBG_HAL,
 		    "hal config bss v1 bssid %pM self_mac_addr %pM bss_type %d oper_mode %d nw_type %d\n",
@@ -1358,7 +1373,10 @@
 		    sta->bssid, sta->action, sta->sta_index,
 		    sta->bssid_index, sta->aid, sta->type, sta->mac);
 
-	return wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
+	ret = wcn36xx_smd_send_and_wait(wcn, msg_body->header.len);
+	kfree(msg_body);
+
+	return ret;
 }
 
 
@@ -1410,16 +1428,21 @@
 			   struct ieee80211_sta *sta, const u8 *bssid,
 			   bool update)
 {
-	struct wcn36xx_hal_config_bss_req_msg msg;
+	struct wcn36xx_hal_config_bss_req_msg *msg;
 	struct wcn36xx_hal_config_bss_params *bss;
 	struct wcn36xx_hal_config_sta_params *sta_params;
 	struct wcn36xx_vif *vif_priv = wcn36xx_vif_to_priv(vif);
 	int ret;
 
 	mutex_lock(&wcn->hal_mutex);
-	INIT_HAL_MSG(msg, WCN36XX_HAL_CONFIG_BSS_REQ);
+	msg = kzalloc(sizeof(*msg), GFP_KERNEL);
+	if (!msg) {
+		ret = -ENOMEM;
+		goto out;
+	}
+	INIT_HAL_MSG((*msg), WCN36XX_HAL_CONFIG_BSS_REQ);
 
-	bss = &msg.bss_params;
+	bss = &msg->bss_params;
 	sta_params = &bss->sta;
 
 	WARN_ON(is_zero_ether_addr(bssid));
@@ -1514,11 +1537,11 @@
 		    sta_params->mac);
 
 	if (!wcn36xx_is_fw_version(wcn, 1, 2, 2, 24)) {
-		ret = wcn36xx_smd_config_bss_v1(wcn, &msg);
+		ret = wcn36xx_smd_config_bss_v1(wcn, msg);
 	} else {
-		PREPARE_HAL_BUF(wcn->hal_buf, msg);
+		PREPARE_HAL_BUF(wcn->hal_buf, (*msg));
 
-		ret = wcn36xx_smd_send_and_wait(wcn, msg.header.len);
+		ret = wcn36xx_smd_send_and_wait(wcn, msg->header.len);
 	}
 	if (ret) {
 		wcn36xx_err("Sending hal_config_bss failed\n");
@@ -1534,6 +1557,7 @@
 		goto out;
 	}
 out:
+	kfree(msg);
 	mutex_unlock(&wcn->hal_mutex);
 	return ret;
 }
diff --git a/drivers/net/wireless/broadcom/b43legacy/main.c b/drivers/net/wireless/broadcom/b43legacy/main.c
index 55f4119..770cc21 100644
--- a/drivers/net/wireless/broadcom/b43legacy/main.c
+++ b/drivers/net/wireless/broadcom/b43legacy/main.c
@@ -1304,8 +1304,9 @@
 }
 
 /* Interrupt handler bottom-half */
-static void b43legacy_interrupt_tasklet(struct b43legacy_wldev *dev)
+static void b43legacy_interrupt_tasklet(unsigned long data)
 {
+	struct b43legacy_wldev *dev = (struct b43legacy_wldev *)data;
 	u32 reason;
 	u32 dma_reason[ARRAY_SIZE(dev->dma_reason)];
 	u32 merged_dma_reason = 0;
@@ -3775,7 +3776,7 @@
 	b43legacy_set_status(wldev, B43legacy_STAT_UNINIT);
 	wldev->bad_frames_preempt = modparam_bad_frames_preempt;
 	tasklet_init(&wldev->isr_tasklet,
-		     (void (*)(unsigned long))b43legacy_interrupt_tasklet,
+		     b43legacy_interrupt_tasklet,
 		     (unsigned long)wldev);
 	if (modparam_pio)
 		wldev->__using_pio = true;
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
index d2f788d..710dc59 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
@@ -617,15 +617,13 @@
 
 	err = brcmf_sdiod_set_backplane_window(sdiodev, addr);
 	if (err)
-		return err;
+		goto out;
 
 	addr &= SBSDIO_SB_OFT_ADDR_MASK;
 	addr |= SBSDIO_SB_ACCESS_2_4B_FLAG;
 
-	if (!err)
-		err = brcmf_sdiod_skbuff_write(sdiodev, sdiodev->func2, addr,
-					       mypkt);
-
+	err = brcmf_sdiod_skbuff_write(sdiodev, sdiodev->func2, addr, mypkt);
+out:
 	brcmu_pkt_buf_free_skb(mypkt);
 
 	return err;
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bus.h b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bus.h
index c496518..3d441c5 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bus.h
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bus.h
@@ -90,6 +90,7 @@
 	int (*get_memdump)(struct device *dev, void *data, size_t len);
 	int (*get_fwname)(struct device *dev, const char *ext,
 			  unsigned char *fw_name);
+	void (*debugfs_create)(struct device *dev);
 };
 
 
@@ -235,6 +236,15 @@
 	return bus->ops->get_fwname(bus->dev, ext, fw_name);
 }
 
+static inline
+void brcmf_bus_debugfs_create(struct brcmf_bus *bus)
+{
+	if (!bus->ops->debugfs_create)
+		return;
+
+	return bus->ops->debugfs_create(bus->dev);
+}
+
 /*
  * interface functions from common layer
  */
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
index 584e05f..9d7b883 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
@@ -1105,6 +1105,7 @@
 	brcmf_debugfs_add_entry(drvr, "revinfo", brcmf_revinfo_read);
 	brcmf_feat_debugfs_create(drvr);
 	brcmf_proto_debugfs_create(drvr);
+	brcmf_bus_debugfs_create(bus_if);
 
 	return 0;
 
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
index abaed2f..e0211321 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
@@ -1934,6 +1934,7 @@
 					       BRCMF_SDIO_FT_NORMAL)) {
 				rd->len = 0;
 				brcmu_pkt_buf_free_skb(pkt);
+				continue;
 			}
 			bus->sdcnt.rx_readahead_cnt++;
 			if (rd->len != roundup(rd_new.len, 16)) {
@@ -3131,9 +3132,12 @@
 	return 0;
 }
 
-static void brcmf_sdio_debugfs_create(struct brcmf_sdio *bus)
+static void brcmf_sdio_debugfs_create(struct device *dev)
 {
-	struct brcmf_pub *drvr = bus->sdiodev->bus_if->drvr;
+	struct brcmf_bus *bus_if = dev_get_drvdata(dev);
+	struct brcmf_pub *drvr = bus_if->drvr;
+	struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv.sdio;
+	struct brcmf_sdio *bus = sdiodev->bus;
 	struct dentry *dentry = brcmf_debugfs_get_devdir(drvr);
 
 	if (IS_ERR_OR_NULL(dentry))
@@ -3153,7 +3157,7 @@
 	return 0;
 }
 
-static void brcmf_sdio_debugfs_create(struct brcmf_sdio *bus)
+static void brcmf_sdio_debugfs_create(struct device *dev)
 {
 }
 #endif /* DEBUG */
@@ -3438,8 +3442,6 @@
 	if (bus->rxbuf)
 		bus->rxblen = value;
 
-	brcmf_sdio_debugfs_create(bus);
-
 	/* the commands below use the terms tx and rx from
 	 * a device perspective, ie. bus:txglom affects the
 	 * bus transfers from device to host.
@@ -4050,6 +4052,7 @@
 	.get_ramsize = brcmf_sdio_bus_get_ramsize,
 	.get_memdump = brcmf_sdio_bus_get_memdump,
 	.get_fwname = brcmf_sdio_get_fwname,
+	.debugfs_create = brcmf_sdio_debugfs_create
 };
 
 #define BRCMF_SDIO_FW_CODE	0
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c
index 44ead0f..41254f0 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c
@@ -441,6 +441,7 @@
 			usb_free_urb(req->urb);
 		list_del(q->next);
 	}
+	kfree(reqs);
 	return NULL;
 
 }
@@ -1357,7 +1358,7 @@
 		goto fail;
 	}
 
-	desc = &intf->altsetting[0].desc;
+	desc = &intf->cur_altsetting->desc;
 	if ((desc->bInterfaceClass != USB_CLASS_VENDOR_SPEC) ||
 	    (desc->bInterfaceSubClass != 2) ||
 	    (desc->bInterfaceProtocol != 0xff)) {
@@ -1370,7 +1371,7 @@
 
 	num_of_eps = desc->bNumEndpoints;
 	for (ep = 0; ep < num_of_eps; ep++) {
-		endpoint = &intf->altsetting[0].endpoint[ep].desc;
+		endpoint = &intf->cur_altsetting->endpoint[ep].desc;
 		endpoint_num = usb_endpoint_num(endpoint);
 		if (!usb_endpoint_xfer_bulk(endpoint))
 			continue;
diff --git a/drivers/net/wireless/cisco/airo.c b/drivers/net/wireless/cisco/airo.c
index 5512c7f..c3fe9bf 100644
--- a/drivers/net/wireless/cisco/airo.c
+++ b/drivers/net/wireless/cisco/airo.c
@@ -7786,16 +7786,8 @@
 	case AIROGVLIST:    ridcode = RID_APLIST;       break;
 	case AIROGDRVNAM:   ridcode = RID_DRVNAME;      break;
 	case AIROGEHTENC:   ridcode = RID_ETHERENCAP;   break;
-	case AIROGWEPKTMP:  ridcode = RID_WEP_TEMP;
-		/* Only super-user can read WEP keys */
-		if (!capable(CAP_NET_ADMIN))
-			return -EPERM;
-		break;
-	case AIROGWEPKNV:   ridcode = RID_WEP_PERM;
-		/* Only super-user can read WEP keys */
-		if (!capable(CAP_NET_ADMIN))
-			return -EPERM;
-		break;
+	case AIROGWEPKTMP:  ridcode = RID_WEP_TEMP;	break;
+	case AIROGWEPKNV:   ridcode = RID_WEP_PERM;	break;
 	case AIROGSTAT:     ridcode = RID_STATUS;       break;
 	case AIROGSTATSD32: ridcode = RID_STATSDELTA;   break;
 	case AIROGSTATSC32: ridcode = RID_STATS;        break;
@@ -7809,7 +7801,13 @@
 		return -EINVAL;
 	}
 
-	if ((iobuf = kmalloc(RIDSIZE, GFP_KERNEL)) == NULL)
+	if (ridcode == RID_WEP_TEMP || ridcode == RID_WEP_PERM) {
+		/* Only super-user can read WEP keys */
+		if (!capable(CAP_NET_ADMIN))
+			return -EPERM;
+	}
+
+	if ((iobuf = kzalloc(RIDSIZE, GFP_KERNEL)) == NULL)
 		return -ENOMEM;
 
 	PC4500_readrid(ai,ridcode,iobuf,RIDSIZE, 1);
diff --git a/drivers/net/wireless/cnss2/pci.c b/drivers/net/wireless/cnss2/pci.c
index cc94890..3857dc6 100644
--- a/drivers/net/wireless/cnss2/pci.c
+++ b/drivers/net/wireless/cnss2/pci.c
@@ -1064,16 +1064,20 @@
 		ret = 0;
 		break;
 	case CNSS_MHI_SUSPEND:
+		mutex_lock(&pci_priv->mhi_ctrl->pm_mutex);
 		if (pci_priv->drv_connected_last)
 			ret = mhi_pm_fast_suspend(pci_priv->mhi_ctrl, true);
 		else
 			ret = mhi_pm_suspend(pci_priv->mhi_ctrl);
+		mutex_unlock(&pci_priv->mhi_ctrl->pm_mutex);
 		break;
 	case CNSS_MHI_RESUME:
+		mutex_lock(&pci_priv->mhi_ctrl->pm_mutex);
 		if (pci_priv->drv_connected_last)
 			ret = mhi_pm_fast_resume(pci_priv->mhi_ctrl, true);
 		else
 			ret = mhi_pm_resume(pci_priv->mhi_ctrl);
+		mutex_unlock(&pci_priv->mhi_ctrl->pm_mutex);
 		break;
 	case CNSS_MHI_TRIGGER_RDDM:
 		ret = mhi_force_rddm_mode(pci_priv->mhi_ctrl);
@@ -4261,6 +4265,29 @@
 	return 0;
 }
 
+static int cnss_mhi_bw_scale(struct mhi_controller *mhi_ctrl,
+			     struct mhi_link_info *link_info)
+{
+	struct cnss_pci_data *pci_priv = mhi_ctrl->priv_data;
+	int ret = 0;
+
+	ret = msm_pcie_set_link_bandwidth(pci_priv->pci_dev,
+					  link_info->target_link_speed,
+					  link_info->target_link_width);
+
+	if (ret)
+		return ret;
+
+	pci_priv->def_link_speed = link_info->target_link_speed;
+	pci_priv->def_link_width = link_info->target_link_width;
+
+	cnss_pr_dbg("Setting link speed:0x%x, width:0x%x\n",
+		    link_info->target_link_speed,
+		    link_info->target_link_width);
+
+	return 0;
+}
+
 static int cnss_pci_register_mhi(struct cnss_pci_data *pci_priv)
 {
 	int ret = 0;
@@ -4288,8 +4315,10 @@
 	mhi_ctrl->fw_image_fallback = plat_priv->fw_fallback_name;
 
 	mhi_ctrl->regs = pci_priv->bar;
-	cnss_pr_dbg("BAR starts at %pa\n",
-		    &pci_resource_start(pci_priv->pci_dev, PCI_BAR_NUM));
+	mhi_ctrl->len = pci_resource_len(pci_priv->pci_dev, PCI_BAR_NUM);
+	cnss_pr_dbg("BAR starts at %pa, len-%x\n",
+		    &pci_resource_start(pci_priv->pci_dev, PCI_BAR_NUM),
+		    mhi_ctrl->len);
 
 	ret = cnss_pci_get_mhi_msi(pci_priv);
 	if (ret) {
@@ -4310,6 +4339,7 @@
 	mhi_ctrl->status_cb = cnss_mhi_notify_status;
 	mhi_ctrl->runtime_get = cnss_mhi_pm_runtime_get;
 	mhi_ctrl->runtime_put = cnss_mhi_pm_runtime_put_noidle;
+	mhi_ctrl->bw_scale = cnss_mhi_bw_scale;
 
 	mhi_ctrl->rddm_size = pci_priv->plat_priv->ramdump_info_v2.ramdump_size;
 	mhi_ctrl->sbl_size = SZ_512K;
diff --git a/drivers/net/wireless/intel/ipw2x00/ipw2100.c b/drivers/net/wireless/intel/ipw2x00/ipw2100.c
index 910db46..a3a4709 100644
--- a/drivers/net/wireless/intel/ipw2x00/ipw2100.c
+++ b/drivers/net/wireless/intel/ipw2x00/ipw2100.c
@@ -3220,8 +3220,9 @@
 	}
 }
 
-static void ipw2100_irq_tasklet(struct ipw2100_priv *priv)
+static void ipw2100_irq_tasklet(unsigned long data)
 {
+	struct ipw2100_priv *priv = (struct ipw2100_priv *)data;
 	struct net_device *dev = priv->net_dev;
 	unsigned long flags;
 	u32 inta, tmp;
@@ -6025,7 +6026,7 @@
 	spin_unlock_irqrestore(&priv->low_lock, flags);
 }
 
-static void ipw2100_irq_tasklet(struct ipw2100_priv *priv);
+static void ipw2100_irq_tasklet(unsigned long data);
 
 static const struct net_device_ops ipw2100_netdev_ops = {
 	.ndo_open		= ipw2100_open,
@@ -6155,7 +6156,7 @@
 	INIT_DELAYED_WORK(&priv->rf_kill, ipw2100_rf_kill);
 	INIT_DELAYED_WORK(&priv->scan_event, ipw2100_scan_event);
 
-	tasklet_init(&priv->irq_tasklet, (void (*)(unsigned long))
+	tasklet_init(&priv->irq_tasklet,
 		     ipw2100_irq_tasklet, (unsigned long)priv);
 
 	/* NOTE:  We do not start the deferred work for status checks yet */
diff --git a/drivers/net/wireless/intel/ipw2x00/ipw2200.c b/drivers/net/wireless/intel/ipw2x00/ipw2200.c
index 9644e7b..04aee2f 100644
--- a/drivers/net/wireless/intel/ipw2x00/ipw2200.c
+++ b/drivers/net/wireless/intel/ipw2x00/ipw2200.c
@@ -1959,8 +1959,9 @@
 	wireless_send_event(priv->net_dev, SIOCGIWAP, &wrqu, NULL);
 }
 
-static void ipw_irq_tasklet(struct ipw_priv *priv)
+static void ipw_irq_tasklet(unsigned long data)
 {
+	struct ipw_priv *priv = (struct ipw_priv *)data;
 	u32 inta, inta_mask, handled = 0;
 	unsigned long flags;
 	int rc = 0;
@@ -10694,7 +10695,7 @@
 	INIT_WORK(&priv->qos_activate, ipw_bg_qos_activate);
 #endif				/* CONFIG_IPW2200_QOS */
 
-	tasklet_init(&priv->irq_tasklet, (void (*)(unsigned long))
+	tasklet_init(&priv->irq_tasklet,
 		     ipw_irq_tasklet, (unsigned long)priv);
 
 	return ret;
diff --git a/drivers/net/wireless/intel/iwlegacy/3945-mac.c b/drivers/net/wireless/intel/iwlegacy/3945-mac.c
index 57e3b6c..b536ec2 100644
--- a/drivers/net/wireless/intel/iwlegacy/3945-mac.c
+++ b/drivers/net/wireless/intel/iwlegacy/3945-mac.c
@@ -1392,8 +1392,9 @@
 }
 
 static void
-il3945_irq_tasklet(struct il_priv *il)
+il3945_irq_tasklet(unsigned long data)
 {
+	struct il_priv *il = (struct il_priv *)data;
 	u32 inta, handled = 0;
 	u32 inta_fh;
 	unsigned long flags;
@@ -3419,7 +3420,7 @@
 	timer_setup(&il->watchdog, il_bg_watchdog, 0);
 
 	tasklet_init(&il->irq_tasklet,
-		     (void (*)(unsigned long))il3945_irq_tasklet,
+		     il3945_irq_tasklet,
 		     (unsigned long)il);
 }
 
diff --git a/drivers/net/wireless/intel/iwlegacy/4965-mac.c b/drivers/net/wireless/intel/iwlegacy/4965-mac.c
index 280cd8a..6fc51c7 100644
--- a/drivers/net/wireless/intel/iwlegacy/4965-mac.c
+++ b/drivers/net/wireless/intel/iwlegacy/4965-mac.c
@@ -4360,8 +4360,9 @@
 }
 
 static void
-il4965_irq_tasklet(struct il_priv *il)
+il4965_irq_tasklet(unsigned long data)
 {
+	struct il_priv *il = (struct il_priv *)data;
 	u32 inta, handled = 0;
 	u32 inta_fh;
 	unsigned long flags;
@@ -6257,7 +6258,7 @@
 	timer_setup(&il->watchdog, il_bg_watchdog, 0);
 
 	tasklet_init(&il->irq_tasklet,
-		     (void (*)(unsigned long))il4965_irq_tasklet,
+		     il4965_irq_tasklet,
 		     (unsigned long)il);
 }
 
diff --git a/drivers/net/wireless/intel/iwlegacy/common.c b/drivers/net/wireless/intel/iwlegacy/common.c
index 6514baf..e16f259 100644
--- a/drivers/net/wireless/intel/iwlegacy/common.c
+++ b/drivers/net/wireless/intel/iwlegacy/common.c
@@ -717,7 +717,7 @@
 	u32 gp = _il_rd(il, CSR_EEPROM_GP);
 	int sz;
 	int ret;
-	u16 addr;
+	int addr;
 
 	/* allocate eeprom */
 	sz = il->cfg->eeprom_size;
diff --git a/drivers/net/wireless/intel/iwlwifi/fw/api/nvm-reg.h b/drivers/net/wireless/intel/iwlwifi/fw/api/nvm-reg.h
index 6c53383..d22c1ee 100644
--- a/drivers/net/wireless/intel/iwlwifi/fw/api/nvm-reg.h
+++ b/drivers/net/wireless/intel/iwlwifi/fw/api/nvm-reg.h
@@ -165,7 +165,7 @@
  */
 struct iwl_nvm_get_info {
 	__le32 reserved;
-} __packed; /* GRP_REGULATORY_NVM_GET_INFO_CMD_S_VER_1 */
+} __packed; /* REGULATORY_NVM_GET_INFO_CMD_API_S_VER_1 */
 
 /**
  * enum iwl_nvm_info_general_flags - flags in NVM_GET_INFO resp
@@ -180,14 +180,14 @@
  * @flags: bit 0: 1 - empty, 0 - non-empty
  * @nvm_version: nvm version
  * @board_type: board type
- * @reserved: reserved
+ * @n_hw_addrs: number of reserved MAC addresses
  */
 struct iwl_nvm_get_info_general {
 	__le32 flags;
 	__le16 nvm_version;
 	u8 board_type;
-	u8 reserved;
-} __packed; /* GRP_REGULATORY_NVM_GET_INFO_GENERAL_S_VER_1 */
+	u8 n_hw_addrs;
+} __packed; /* REGULATORY_NVM_GET_INFO_GENERAL_S_VER_2 */
 
 /**
  * enum iwl_nvm_mac_sku_flags - flags in &iwl_nvm_get_info_sku
@@ -231,7 +231,7 @@
 struct iwl_nvm_get_info_phy {
 	__le32 tx_chains;
 	__le32 rx_chains;
-} __packed; /* GRP_REGULATORY_NVM_GET_INFO_PHY_SKU_SECTION_S_VER_1 */
+} __packed; /* REGULATORY_NVM_GET_INFO_PHY_SKU_SECTION_S_VER_1 */
 
 #define IWL_NUM_CHANNELS (51)
 
@@ -245,7 +245,7 @@
 	__le32 lar_enabled;
 	__le16 channel_profile[IWL_NUM_CHANNELS];
 	__le16 reserved;
-} __packed; /* GRP_REGULATORY_NVM_GET_INFO_REGULATORY_S_VER_1 */
+} __packed; /* REGULATORY_NVM_GET_INFO_REGULATORY_S_VER_1 */
 
 /**
  * struct iwl_nvm_get_info_rsp - response to get NVM data
@@ -259,7 +259,7 @@
 	struct iwl_nvm_get_info_sku mac_sku;
 	struct iwl_nvm_get_info_phy phy_sku;
 	struct iwl_nvm_get_info_regulatory regulatory;
-} __packed; /* GRP_REGULATORY_NVM_GET_INFO_CMD_RSP_S_VER_2 */
+} __packed; /* REGULATORY_NVM_GET_INFO_RSP_API_S_VER_3 */
 
 /**
  * struct iwl_nvm_access_complete_cmd - NVM_ACCESS commands are completed
diff --git a/drivers/net/wireless/intel/iwlwifi/fw/dbg.c b/drivers/net/wireless/intel/iwlwifi/fw/dbg.c
index 3443cbd..d6fca00 100644
--- a/drivers/net/wireless/intel/iwlwifi/fw/dbg.c
+++ b/drivers/net/wireless/intel/iwlwifi/fw/dbg.c
@@ -547,6 +547,7 @@
 				if (new_page)
 					__free_page(new_page);
 			}
+			kfree(table);
 			return NULL;
 		}
 		alloc_size = min_t(int, size, PAGE_SIZE);
diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c
index 73969db..a6e6478 100644
--- a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c
+++ b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c
@@ -217,6 +217,34 @@
 	NVM_CHANNEL_DC_HIGH		= BIT(12),
 };
 
+/**
+ * enum iwl_reg_capa_flags - global flags applied for the whole regulatory
+ * domain.
+ * @REG_CAPA_BF_CCD_LOW_BAND: Beam-forming or Cyclic Delay Diversity in the
+ *	2.4Ghz band is allowed.
+ * @REG_CAPA_BF_CCD_HIGH_BAND: Beam-forming or Cyclic Delay Diversity in the
+ *	5Ghz band is allowed.
+ * @REG_CAPA_160MHZ_ALLOWED: 11ac channel with a width of 160Mhz is allowed
+ *	for this regulatory domain (valid only in 5Ghz).
+ * @REG_CAPA_80MHZ_ALLOWED: 11ac channel with a width of 80Mhz is allowed
+ *	for this regulatory domain (valid only in 5Ghz).
+ * @REG_CAPA_MCS_8_ALLOWED: 11ac with MCS 8 is allowed.
+ * @REG_CAPA_MCS_9_ALLOWED: 11ac with MCS 9 is allowed.
+ * @REG_CAPA_40MHZ_FORBIDDEN: 11n channel with a width of 40Mhz is forbidden
+ *	for this regulatory domain (valid only in 5Ghz).
+ * @REG_CAPA_DC_HIGH_ENABLED: DC HIGH allowed.
+ */
+enum iwl_reg_capa_flags {
+	REG_CAPA_BF_CCD_LOW_BAND	= BIT(0),
+	REG_CAPA_BF_CCD_HIGH_BAND	= BIT(1),
+	REG_CAPA_160MHZ_ALLOWED		= BIT(2),
+	REG_CAPA_80MHZ_ALLOWED		= BIT(3),
+	REG_CAPA_MCS_8_ALLOWED		= BIT(4),
+	REG_CAPA_MCS_9_ALLOWED		= BIT(5),
+	REG_CAPA_40MHZ_FORBIDDEN	= BIT(7),
+	REG_CAPA_DC_HIGH_ENABLED	= BIT(9),
+};
+
 static inline void iwl_nvm_print_channel_flags(struct device *dev, u32 level,
 					       int chan, u16 flags)
 {
@@ -923,6 +951,7 @@
 
 static u32 iwl_nvm_get_regdom_bw_flags(const u8 *nvm_chan,
 				       int ch_idx, u16 nvm_flags,
+				       u16 cap_flags,
 				       const struct iwl_cfg *cfg)
 {
 	u32 flags = NL80211_RRF_NO_HT40;
@@ -966,6 +995,20 @@
 	    (flags & NL80211_RRF_NO_IR))
 		flags |= NL80211_RRF_GO_CONCURRENT;
 
+	/*
+	 * cap_flags is per regulatory domain so apply it for every channel
+	 */
+	if (ch_idx >= NUM_2GHZ_CHANNELS) {
+		if (cap_flags & REG_CAPA_40MHZ_FORBIDDEN)
+			flags |= NL80211_RRF_NO_HT40;
+
+		if (!(cap_flags & REG_CAPA_80MHZ_ALLOWED))
+			flags |= NL80211_RRF_NO_80MHZ;
+
+		if (!(cap_flags & REG_CAPA_160MHZ_ALLOWED))
+			flags |= NL80211_RRF_NO_160MHZ;
+	}
+
 	return flags;
 }
 
@@ -977,7 +1020,7 @@
 struct ieee80211_regdomain *
 iwl_parse_nvm_mcc_info(struct device *dev, const struct iwl_cfg *cfg,
 		       int num_of_ch, __le32 *channels, u16 fw_mcc,
-		       u16 geo_info)
+		       u16 geo_info, u16 cap)
 {
 	int ch_idx;
 	u16 ch_flags;
@@ -1038,7 +1081,8 @@
 		}
 
 		reg_rule_flags = iwl_nvm_get_regdom_bw_flags(nvm_chan, ch_idx,
-							     ch_flags, cfg);
+							     ch_flags, cap,
+							     cfg);
 
 		/* we can't continue the same rule */
 		if (ch_idx == 0 || prev_reg_rule_flags != reg_rule_flags ||
@@ -1315,6 +1359,7 @@
 	bool lar_fw_supported = !iwlwifi_mod_params.lar_disable &&
 				fw_has_capa(&fw->ucode_capa,
 					    IWL_UCODE_TLV_CAPA_LAR_SUPPORT);
+	bool empty_otp;
 	u32 mac_flags;
 	u32 sbands_flags = 0;
 
@@ -1330,7 +1375,9 @@
 	}
 
 	rsp = (void *)hcmd.resp_pkt->data;
-	if (le32_to_cpu(rsp->general.flags) & NVM_GENERAL_FLAGS_EMPTY_OTP)
+	empty_otp = !!(le32_to_cpu(rsp->general.flags) &
+		       NVM_GENERAL_FLAGS_EMPTY_OTP);
+	if (empty_otp)
 		IWL_INFO(trans, "OTP is empty\n");
 
 	nvm = kzalloc(sizeof(*nvm) +
@@ -1354,6 +1401,11 @@
 
 	/* Initialize general data */
 	nvm->nvm_version = le16_to_cpu(rsp->general.nvm_version);
+	nvm->n_hw_addrs = rsp->general.n_hw_addrs;
+	if (nvm->n_hw_addrs == 0)
+		IWL_WARN(trans,
+			 "Firmware declares no reserved mac addresses. OTP is empty: %d\n",
+			 empty_otp);
 
 	/* Initialize MAC sku data */
 	mac_flags = le32_to_cpu(rsp->mac_sku.mac_sku_flags);
diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.h b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.h
index 234d100..a9bdd4a 100644
--- a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.h
+++ b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.h
@@ -7,7 +7,7 @@
  *
  * Copyright(c) 2008 - 2015 Intel Corporation. All rights reserved.
  * Copyright(c) 2016 - 2017 Intel Deutschland GmbH
- * Copyright(c) 2018        Intel Corporation
+ * Copyright(c) 2018 - 2019 Intel Corporation
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of version 2 of the GNU General Public License as
@@ -34,7 +34,7 @@
  *
  * Copyright(c) 2005 - 2014 Intel Corporation. All rights reserved.
  * Copyright(c) 2016 - 2017 Intel Deutschland GmbH
- * Copyright(c) 2018        Intel Corporation
+ * Copyright(c) 2018 - 2019 Intel Corporation
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -108,7 +108,7 @@
 struct ieee80211_regdomain *
 iwl_parse_nvm_mcc_info(struct device *dev, const struct iwl_cfg *cfg,
 		       int num_of_ch, __le32 *channels, u16 fw_mcc,
-		       u16 geo_info);
+		       u16 geo_info, u16 cap);
 
 /**
  * struct iwl_nvm_section - describes an NVM section in memory.
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
index 9808d95..c7e2b88 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
@@ -110,12 +110,12 @@
 	int i;
 	struct iwl_rss_config_cmd cmd = {
 		.flags = cpu_to_le32(IWL_RSS_ENABLE),
-		.hash_mask = IWL_RSS_HASH_TYPE_IPV4_TCP |
-			     IWL_RSS_HASH_TYPE_IPV4_UDP |
-			     IWL_RSS_HASH_TYPE_IPV4_PAYLOAD |
-			     IWL_RSS_HASH_TYPE_IPV6_TCP |
-			     IWL_RSS_HASH_TYPE_IPV6_UDP |
-			     IWL_RSS_HASH_TYPE_IPV6_PAYLOAD,
+		.hash_mask = BIT(IWL_RSS_HASH_TYPE_IPV4_TCP) |
+			     BIT(IWL_RSS_HASH_TYPE_IPV4_UDP) |
+			     BIT(IWL_RSS_HASH_TYPE_IPV4_PAYLOAD) |
+			     BIT(IWL_RSS_HASH_TYPE_IPV6_TCP) |
+			     BIT(IWL_RSS_HASH_TYPE_IPV6_UDP) |
+			     BIT(IWL_RSS_HASH_TYPE_IPV6_PAYLOAD),
 	};
 
 	if (mvm->trans->num_rx_queues == 1)
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
index 476c44d..5865359 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
@@ -317,7 +317,8 @@
 				      __le32_to_cpu(resp->n_channels),
 				      resp->channels,
 				      __le16_to_cpu(resp->mcc),
-				      __le16_to_cpu(resp->geo_info));
+				      __le16_to_cpu(resp->geo_info),
+				      __le16_to_cpu(resp->cap));
 	/* Store the return source id */
 	src_id = resp->source_id;
 	kfree(resp);
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/nvm.c b/drivers/net/wireless/intel/iwlwifi/mvm/nvm.c
index f2579c9..3270faa 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/nvm.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/nvm.c
@@ -286,7 +286,7 @@
 	int regulatory_type;
 
 	/* Checking for required sections */
-	if (mvm->trans->cfg->nvm_type != IWL_NVM_EXT) {
+	if (mvm->trans->cfg->nvm_type == IWL_NVM) {
 		if (!mvm->nvm_sections[NVM_SECTION_TYPE_SW].data ||
 		    !mvm->nvm_sections[mvm->cfg->nvm_hw_section_num].data) {
 			IWL_ERR(mvm, "Can't parse empty OTP/NVM sections\n");
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c b/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c
index 036d1d8..77e3694 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c
@@ -1077,7 +1077,6 @@
 			he_phy_data = le64_to_cpu(desc->v1.he_phy_data);
 
 		rx_status->flag |= RX_FLAG_AMPDU_DETAILS;
-		rx_status->ampdu_reference = mvm->ampdu_ref;
 		/* toggle is switched whenever new aggregation starts */
 		if (toggle_bit != mvm->ampdu_toggle) {
 			mvm->ampdu_ref++;
@@ -1092,6 +1091,7 @@
 						RX_FLAG_AMPDU_EOF_BIT;
 			}
 		}
+		rx_status->ampdu_reference = mvm->ampdu_ref;
 	}
 
 	rcu_read_lock();
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/sta.c b/drivers/net/wireless/intel/iwlwifi/mvm/sta.c
index e850aa5..373ace3 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/sta.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/sta.c
@@ -2462,7 +2462,7 @@
 	struct iwl_mvm_sta *mvmsta = iwl_mvm_sta_from_mac80211(sta);
 	struct iwl_mvm_tid_data *tid_data;
 	u16 normalized_ssn;
-	int txq_id;
+	u16 txq_id;
 	int ret;
 
 	if (WARN_ON_ONCE(tid >= IWL_MAX_TID_COUNT))
@@ -2506,17 +2506,24 @@
 	 */
 	txq_id = mvmsta->tid_data[tid].txq_id;
 	if (txq_id == IWL_MVM_INVALID_QUEUE) {
-		txq_id = iwl_mvm_find_free_queue(mvm, mvmsta->sta_id,
-						 IWL_MVM_DQA_MIN_DATA_QUEUE,
-						 IWL_MVM_DQA_MAX_DATA_QUEUE);
-		if (txq_id < 0) {
-			ret = txq_id;
+		ret = iwl_mvm_find_free_queue(mvm, mvmsta->sta_id,
+					      IWL_MVM_DQA_MIN_DATA_QUEUE,
+					      IWL_MVM_DQA_MAX_DATA_QUEUE);
+		if (ret < 0) {
 			IWL_ERR(mvm, "Failed to allocate agg queue\n");
 			goto release_locks;
 		}
 
+		txq_id = ret;
+
 		/* TXQ hasn't yet been enabled, so mark it only as reserved */
 		mvm->queue_info[txq_id].status = IWL_MVM_QUEUE_RESERVED;
+	} else if (WARN_ON(txq_id >= IWL_MAX_HW_QUEUES)) {
+		ret = -ENXIO;
+		IWL_ERR(mvm, "tid_id %d out of range (0, %d)!\n",
+			tid, IWL_MAX_HW_QUEUES - 1);
+		goto out;
+
 	} else if (unlikely(mvm->queue_info[txq_id].status ==
 			    IWL_MVM_QUEUE_SHARED)) {
 		ret = -ENXIO;
@@ -3038,6 +3045,10 @@
 	igtk_cmd.sta_id = cpu_to_le32(sta_id);
 
 	if (remove_key) {
+		/* This is a valid situation for IGTK */
+		if (sta_id == IWL_MVM_INVALID_STA)
+			return 0;
+
 		igtk_cmd.ctrl_flags |= cpu_to_le32(STA_KEY_NOT_VALID);
 	} else {
 		struct ieee80211_key_seq seq;
@@ -3345,9 +3356,9 @@
 	IWL_DEBUG_WEP(mvm, "mvm remove dynamic key: idx=%d sta=%d\n",
 		      keyconf->keyidx, sta_id);
 
-	if (mvm_sta && (keyconf->cipher == WLAN_CIPHER_SUITE_AES_CMAC ||
-			keyconf->cipher == WLAN_CIPHER_SUITE_BIP_GMAC_128 ||
-			keyconf->cipher == WLAN_CIPHER_SUITE_BIP_GMAC_256))
+	if (keyconf->cipher == WLAN_CIPHER_SUITE_AES_CMAC ||
+	    keyconf->cipher == WLAN_CIPHER_SUITE_BIP_GMAC_128 ||
+	    keyconf->cipher == WLAN_CIPHER_SUITE_BIP_GMAC_256)
 		return iwl_mvm_send_sta_igtk(mvm, keyconf, sta_id, true);
 
 	if (!__test_and_clear_bit(keyconf->hw_key_idx, mvm->fw_key_table)) {
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tt.c b/drivers/net/wireless/intel/iwlwifi/mvm/tt.c
index 1232f63..319103f 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/tt.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/tt.c
@@ -739,7 +739,8 @@
 static void iwl_mvm_thermal_zone_register(struct iwl_mvm *mvm)
 {
 	int i;
-	char name[] = "iwlwifi";
+	char name[16];
+	static atomic_t counter = ATOMIC_INIT(0);
 
 	if (!iwl_mvm_is_tt_in_fw(mvm)) {
 		mvm->tz_device.tzone = NULL;
@@ -749,6 +750,7 @@
 
 	BUILD_BUG_ON(ARRAY_SIZE(name) >= THERMAL_NAME_LENGTH);
 
+	sprintf(name, "iwlwifi_%u", atomic_inc_return(&counter) & 0xFF);
 	mvm->tz_device.tzone = thermal_zone_device_register(name,
 							IWL_MAX_DTS_TRIPS,
 							IWL_WRITABLE_TRIPS_MSK,
diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info-gen3.c b/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info-gen3.c
index 64d976d..6783b20 100644
--- a/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info-gen3.c
+++ b/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info-gen3.c
@@ -102,13 +102,9 @@
 
 	/* allocate ucode sections in dram and set addresses */
 	ret = iwl_pcie_init_fw_sec(trans, fw, &prph_scratch->dram);
-	if (ret) {
-		dma_free_coherent(trans->dev,
-				  sizeof(*prph_scratch),
-				  prph_scratch,
-				  trans_pcie->prph_scratch_dma_addr);
-		return ret;
-	}
+	if (ret)
+		goto err_free_prph_scratch;
+
 
 	/* Allocate prph information
 	 * currently we don't assign to the prph info anything, but it would get
@@ -116,16 +112,20 @@
 	prph_info = dma_alloc_coherent(trans->dev, sizeof(*prph_info),
 				       &trans_pcie->prph_info_dma_addr,
 				       GFP_KERNEL);
-	if (!prph_info)
-		return -ENOMEM;
+	if (!prph_info) {
+		ret = -ENOMEM;
+		goto err_free_prph_scratch;
+	}
 
 	/* Allocate context info */
 	ctxt_info_gen3 = dma_alloc_coherent(trans->dev,
 					    sizeof(*ctxt_info_gen3),
 					    &trans_pcie->ctxt_info_dma_addr,
 					    GFP_KERNEL);
-	if (!ctxt_info_gen3)
-		return -ENOMEM;
+	if (!ctxt_info_gen3) {
+		ret = -ENOMEM;
+		goto err_free_prph_info;
+	}
 
 	ctxt_info_gen3->prph_info_base_addr =
 		cpu_to_le64(trans_pcie->prph_info_dma_addr);
@@ -176,6 +176,20 @@
 	iwl_set_bit(trans, CSR_GP_CNTRL, CSR_AUTO_FUNC_INIT);
 
 	return 0;
+
+err_free_prph_info:
+	dma_free_coherent(trans->dev,
+			  sizeof(*prph_info),
+			prph_info,
+			trans_pcie->prph_info_dma_addr);
+
+err_free_prph_scratch:
+	dma_free_coherent(trans->dev,
+			  sizeof(*prph_scratch),
+			prph_scratch,
+			trans_pcie->prph_scratch_dma_addr);
+	return ret;
+
 }
 
 void iwl_pcie_ctxt_info_gen3_free(struct iwl_trans *trans)
diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/trans.c b/drivers/net/wireless/intel/iwlwifi/pcie/trans.c
index 4f55711..24da496 100644
--- a/drivers/net/wireless/intel/iwlwifi/pcie/trans.c
+++ b/drivers/net/wireless/intel/iwlwifi/pcie/trans.c
@@ -3283,6 +3283,15 @@
 	spin_lock_init(&trans_pcie->reg_lock);
 	mutex_init(&trans_pcie->mutex);
 	init_waitqueue_head(&trans_pcie->ucode_write_waitq);
+
+	trans_pcie->rba.alloc_wq = alloc_workqueue("rb_allocator",
+						   WQ_HIGHPRI | WQ_UNBOUND, 1);
+	if (!trans_pcie->rba.alloc_wq) {
+		ret = -ENOMEM;
+		goto out_free_trans;
+	}
+	INIT_WORK(&trans_pcie->rba.rx_alloc, iwl_pcie_rx_allocator_work);
+
 	trans_pcie->tso_hdr_page = alloc_percpu(struct iwl_tso_hdr_page);
 	if (!trans_pcie->tso_hdr_page) {
 		ret = -ENOMEM;
@@ -3485,10 +3494,6 @@
 		trans_pcie->inta_mask = CSR_INI_SET_MASK;
 	 }
 
-	trans_pcie->rba.alloc_wq = alloc_workqueue("rb_allocator",
-						   WQ_HIGHPRI | WQ_UNBOUND, 1);
-	INIT_WORK(&trans_pcie->rba.rx_alloc, iwl_pcie_rx_allocator_work);
-
 #ifdef CONFIG_IWLWIFI_PCIE_RTPM
 	trans->runtime_pm_mode = IWL_PLAT_PM_MODE_D0I3;
 #else
@@ -3501,6 +3506,8 @@
 	iwl_pcie_free_ict(trans);
 out_no_pci:
 	free_percpu(trans_pcie->tso_hdr_page);
+	destroy_workqueue(trans_pcie->rba.alloc_wq);
+out_free_trans:
 	iwl_trans_free(trans);
 	return ERR_PTR(ret);
 }
diff --git a/drivers/net/wireless/intersil/hostap/hostap_ap.c b/drivers/net/wireless/intersil/hostap/hostap_ap.c
index 0094b1d..3ec46f4 100644
--- a/drivers/net/wireless/intersil/hostap/hostap_ap.c
+++ b/drivers/net/wireless/intersil/hostap/hostap_ap.c
@@ -2508,7 +2508,7 @@
 		sta->supported_rates[0] = 2;
 	if (sta->tx_supp_rates & WLAN_RATE_2M)
 		sta->supported_rates[1] = 4;
- 	if (sta->tx_supp_rates & WLAN_RATE_5M5)
+	if (sta->tx_supp_rates & WLAN_RATE_5M5)
 		sta->supported_rates[2] = 11;
 	if (sta->tx_supp_rates & WLAN_RATE_11M)
 		sta->supported_rates[3] = 22;
diff --git a/drivers/net/wireless/intersil/orinoco/orinoco_usb.c b/drivers/net/wireless/intersil/orinoco/orinoco_usb.c
index 94ad6fe..b704e4b 100644
--- a/drivers/net/wireless/intersil/orinoco/orinoco_usb.c
+++ b/drivers/net/wireless/intersil/orinoco/orinoco_usb.c
@@ -1364,7 +1364,8 @@
 	int retval;
 
 	BUG_ON(in_interrupt());
-	BUG_ON(!upriv);
+	if (!upriv)
+		return -EINVAL;
 
 	upriv->reply_count = 0;
 	/* Write the MAGIC number on the simulated registers to keep
@@ -1611,9 +1612,9 @@
 	/* set up the endpoint information */
 	/* check out the endpoints */
 
-	iface_desc = &interface->altsetting[0].desc;
+	iface_desc = &interface->cur_altsetting->desc;
 	for (i = 0; i < iface_desc->bNumEndpoints; ++i) {
-		ep = &interface->altsetting[0].endpoint[i].desc;
+		ep = &interface->cur_altsetting->endpoint[i].desc;
 
 		if (usb_endpoint_is_bulk_in(ep)) {
 			/* we found a bulk in endpoint */
diff --git a/drivers/net/wireless/marvell/libertas/cfg.c b/drivers/net/wireless/marvell/libertas/cfg.c
index 57edfad..4e3de68 100644
--- a/drivers/net/wireless/marvell/libertas/cfg.c
+++ b/drivers/net/wireless/marvell/libertas/cfg.c
@@ -273,6 +273,10 @@
 	int hw, ap, ap_max = ie[1];
 	u8 hw_rate;
 
+	if (ap_max > MAX_RATES) {
+		lbs_deb_assoc("invalid rates\n");
+		return tlv;
+	}
 	/* Advance past IE header */
 	ie += 2;
 
@@ -1717,6 +1721,9 @@
 	struct cmd_ds_802_11_ad_hoc_join cmd;
 	u8 preamble = RADIO_PREAMBLE_SHORT;
 	int ret = 0;
+	int hw, i;
+	u8 rates_max;
+	u8 *rates;
 
 	/* TODO: set preamble based on scan result */
 	ret = lbs_set_radio(priv, preamble, 1);
@@ -1775,9 +1782,14 @@
 	if (!rates_eid) {
 		lbs_add_rates(cmd.bss.rates);
 	} else {
-		int hw, i;
-		u8 rates_max = rates_eid[1];
-		u8 *rates = cmd.bss.rates;
+		rates_max = rates_eid[1];
+		if (rates_max > MAX_RATES) {
+			lbs_deb_join("invalid rates");
+			rcu_read_unlock();
+			ret = -EINVAL;
+			goto out;
+		}
+		rates = cmd.bss.rates;
 		for (hw = 0; hw < ARRAY_SIZE(lbs_rates); hw++) {
 			u8 hw_rate = lbs_rates[hw].bitrate / 5;
 			for (i = 0; i < rates_max; i++) {
diff --git a/drivers/net/wireless/marvell/libertas_tf/cmd.c b/drivers/net/wireless/marvell/libertas_tf/cmd.c
index 909ac36..2b193f1 100644
--- a/drivers/net/wireless/marvell/libertas_tf/cmd.c
+++ b/drivers/net/wireless/marvell/libertas_tf/cmd.c
@@ -69,7 +69,7 @@
 			break;
 		}
 
-	for (ch = priv->range.start; ch < priv->range.end; ch++)
+	for (ch = range->start; ch < range->end; ch++)
 		priv->channels[CHAN_TO_IDX(ch)].flags = 0;
 }
 
diff --git a/drivers/net/wireless/marvell/mwifiex/main.h b/drivers/net/wireless/marvell/mwifiex/main.h
index e39bb5c..7e52601 100644
--- a/drivers/net/wireless/marvell/mwifiex/main.h
+++ b/drivers/net/wireless/marvell/mwifiex/main.h
@@ -1294,19 +1294,6 @@
 	return pos;
 }
 
-/* This function return interface number with the same bss_type.
- */
-static inline u8
-mwifiex_get_intf_num(struct mwifiex_adapter *adapter, u8 bss_type)
-{
-	u8 i, num = 0;
-
-	for (i = 0; i < adapter->priv_num; i++)
-		if (adapter->priv[i] && adapter->priv[i]->bss_type == bss_type)
-			num++;
-	return num;
-}
-
 /*
  * This function returns the correct private structure pointer based
  * upon the BSS type and BSS number.
diff --git a/drivers/net/wireless/marvell/mwifiex/pcie.c b/drivers/net/wireless/marvell/mwifiex/pcie.c
index 918c699..991b9cc 100644
--- a/drivers/net/wireless/marvell/mwifiex/pcie.c
+++ b/drivers/net/wireless/marvell/mwifiex/pcie.c
@@ -1036,8 +1036,10 @@
 	}
 	skb_put(skb, MWIFIEX_UPLD_SIZE);
 	if (mwifiex_map_pci_memory(adapter, skb, MWIFIEX_UPLD_SIZE,
-				   PCI_DMA_FROMDEVICE))
+				   PCI_DMA_FROMDEVICE)) {
+		kfree_skb(skb);
 		return -1;
+	}
 
 	card->cmdrsp_buf = skb;
 
diff --git a/drivers/net/wireless/marvell/mwifiex/scan.c b/drivers/net/wireless/marvell/mwifiex/scan.c
index dd02bbd..85d6d5f 100644
--- a/drivers/net/wireless/marvell/mwifiex/scan.c
+++ b/drivers/net/wireless/marvell/mwifiex/scan.c
@@ -2894,6 +2894,13 @@
 			vs_param_set->header.len =
 				cpu_to_le16((((u16) priv->vs_ie[id].ie[1])
 				& 0x00FF) + 2);
+			if (le16_to_cpu(vs_param_set->header.len) >
+				MWIFIEX_MAX_VSIE_LEN) {
+				mwifiex_dbg(priv->adapter, ERROR,
+					    "Invalid param length!\n");
+				break;
+			}
+
 			memcpy(vs_param_set->ie, priv->vs_ie[id].ie,
 			       le16_to_cpu(vs_param_set->header.len));
 			*buffer += le16_to_cpu(vs_param_set->header.len) +
diff --git a/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c b/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
index 74e5056..fbfa0b1 100644
--- a/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
+++ b/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
@@ -229,6 +229,15 @@
 			    "11D: skip setting domain info in FW\n");
 		return 0;
 	}
+
+	if (country_ie_len >
+	    (IEEE80211_COUNTRY_STRING_LEN + MWIFIEX_MAX_TRIPLET_802_11D)) {
+		rcu_read_unlock();
+		mwifiex_dbg(priv->adapter, ERROR,
+			    "11D: country_ie_len overflow!, deauth AP\n");
+		return -EINVAL;
+	}
+
 	memcpy(priv->adapter->country_code, &country_ie[2], 2);
 
 	domain_info->country_code[0] = country_ie[2];
@@ -272,8 +281,9 @@
 	priv->scan_block = false;
 
 	if (bss) {
-		if (adapter->region_code == 0x00)
-			mwifiex_process_country_ie(priv, bss);
+		if (adapter->region_code == 0x00 &&
+		    mwifiex_process_country_ie(priv, bss))
+			return -EINVAL;
 
 		/* Allocate and fill new bss descriptor */
 		bss_desc = kzalloc(sizeof(struct mwifiex_bssdescriptor),
diff --git a/drivers/net/wireless/marvell/mwifiex/tdls.c b/drivers/net/wireless/marvell/mwifiex/tdls.c
index 6058c48..b6b7bbe 100644
--- a/drivers/net/wireless/marvell/mwifiex/tdls.c
+++ b/drivers/net/wireless/marvell/mwifiex/tdls.c
@@ -897,7 +897,7 @@
 	u8 *peer, *pos, *end;
 	u8 i, action, basic;
 	u16 cap = 0;
-	int ie_len = 0;
+	int ies_len = 0;
 
 	if (len < (sizeof(struct ethhdr) + 3))
 		return;
@@ -919,7 +919,7 @@
 		pos = buf + sizeof(struct ethhdr) + 4;
 		/* payload 1+ category 1 + action 1 + dialog 1 */
 		cap = get_unaligned_le16(pos);
-		ie_len = len - sizeof(struct ethhdr) - TDLS_REQ_FIX_LEN;
+		ies_len = len - sizeof(struct ethhdr) - TDLS_REQ_FIX_LEN;
 		pos += 2;
 		break;
 
@@ -929,7 +929,7 @@
 		/* payload 1+ category 1 + action 1 + dialog 1 + status code 2*/
 		pos = buf + sizeof(struct ethhdr) + 6;
 		cap = get_unaligned_le16(pos);
-		ie_len = len - sizeof(struct ethhdr) - TDLS_RESP_FIX_LEN;
+		ies_len = len - sizeof(struct ethhdr) - TDLS_RESP_FIX_LEN;
 		pos += 2;
 		break;
 
@@ -937,7 +937,7 @@
 		if (len < (sizeof(struct ethhdr) + TDLS_CONFIRM_FIX_LEN))
 			return;
 		pos = buf + sizeof(struct ethhdr) + TDLS_CONFIRM_FIX_LEN;
-		ie_len = len - sizeof(struct ethhdr) - TDLS_CONFIRM_FIX_LEN;
+		ies_len = len - sizeof(struct ethhdr) - TDLS_CONFIRM_FIX_LEN;
 		break;
 	default:
 		mwifiex_dbg(priv->adapter, ERROR, "Unknown TDLS frame type.\n");
@@ -950,33 +950,33 @@
 
 	sta_ptr->tdls_cap.capab = cpu_to_le16(cap);
 
-	for (end = pos + ie_len; pos + 1 < end; pos += 2 + pos[1]) {
-		if (pos + 2 + pos[1] > end)
+	for (end = pos + ies_len; pos + 1 < end; pos += 2 + pos[1]) {
+		u8 ie_len = pos[1];
+
+		if (pos + 2 + ie_len > end)
 			break;
 
 		switch (*pos) {
 		case WLAN_EID_SUPP_RATES:
-			if (pos[1] > 32)
+			if (ie_len > sizeof(sta_ptr->tdls_cap.rates))
 				return;
-			sta_ptr->tdls_cap.rates_len = pos[1];
-			for (i = 0; i < pos[1]; i++)
+			sta_ptr->tdls_cap.rates_len = ie_len;
+			for (i = 0; i < ie_len; i++)
 				sta_ptr->tdls_cap.rates[i] = pos[i + 2];
 			break;
 
 		case WLAN_EID_EXT_SUPP_RATES:
-			if (pos[1] > 32)
+			if (ie_len > sizeof(sta_ptr->tdls_cap.rates))
 				return;
 			basic = sta_ptr->tdls_cap.rates_len;
-			if (pos[1] > 32 - basic)
+			if (ie_len > sizeof(sta_ptr->tdls_cap.rates) - basic)
 				return;
-			for (i = 0; i < pos[1]; i++)
+			for (i = 0; i < ie_len; i++)
 				sta_ptr->tdls_cap.rates[basic + i] = pos[i + 2];
-			sta_ptr->tdls_cap.rates_len += pos[1];
+			sta_ptr->tdls_cap.rates_len += ie_len;
 			break;
 		case WLAN_EID_HT_CAPABILITY:
-			if (pos > end - sizeof(struct ieee80211_ht_cap) - 2)
-				return;
-			if (pos[1] != sizeof(struct ieee80211_ht_cap))
+			if (ie_len != sizeof(struct ieee80211_ht_cap))
 				return;
 			/* copy the ie's value into ht_capb*/
 			memcpy((u8 *)&sta_ptr->tdls_cap.ht_capb, pos + 2,
@@ -984,59 +984,45 @@
 			sta_ptr->is_11n_enabled = 1;
 			break;
 		case WLAN_EID_HT_OPERATION:
-			if (pos > end -
-			    sizeof(struct ieee80211_ht_operation) - 2)
-				return;
-			if (pos[1] != sizeof(struct ieee80211_ht_operation))
+			if (ie_len != sizeof(struct ieee80211_ht_operation))
 				return;
 			/* copy the ie's value into ht_oper*/
 			memcpy(&sta_ptr->tdls_cap.ht_oper, pos + 2,
 			       sizeof(struct ieee80211_ht_operation));
 			break;
 		case WLAN_EID_BSS_COEX_2040:
-			if (pos > end - 3)
-				return;
-			if (pos[1] != 1)
+			if (ie_len != sizeof(pos[2]))
 				return;
 			sta_ptr->tdls_cap.coex_2040 = pos[2];
 			break;
 		case WLAN_EID_EXT_CAPABILITY:
-			if (pos > end - sizeof(struct ieee_types_header))
+			if (ie_len < sizeof(struct ieee_types_header))
 				return;
-			if (pos[1] < sizeof(struct ieee_types_header))
-				return;
-			if (pos[1] > 8)
+			if (ie_len > 8)
 				return;
 			memcpy((u8 *)&sta_ptr->tdls_cap.extcap, pos,
 			       sizeof(struct ieee_types_header) +
-			       min_t(u8, pos[1], 8));
+			       min_t(u8, ie_len, 8));
 			break;
 		case WLAN_EID_RSN:
-			if (pos > end - sizeof(struct ieee_types_header))
+			if (ie_len < sizeof(struct ieee_types_header))
 				return;
-			if (pos[1] < sizeof(struct ieee_types_header))
-				return;
-			if (pos[1] > IEEE_MAX_IE_SIZE -
+			if (ie_len > IEEE_MAX_IE_SIZE -
 			    sizeof(struct ieee_types_header))
 				return;
 			memcpy((u8 *)&sta_ptr->tdls_cap.rsn_ie, pos,
 			       sizeof(struct ieee_types_header) +
-			       min_t(u8, pos[1], IEEE_MAX_IE_SIZE -
+			       min_t(u8, ie_len, IEEE_MAX_IE_SIZE -
 				     sizeof(struct ieee_types_header)));
 			break;
 		case WLAN_EID_QOS_CAPA:
-			if (pos > end - 3)
-				return;
-			if (pos[1] != 1)
+			if (ie_len != sizeof(pos[2]))
 				return;
 			sta_ptr->tdls_cap.qos_info = pos[2];
 			break;
 		case WLAN_EID_VHT_OPERATION:
 			if (priv->adapter->is_hw_11ac_capable) {
-				if (pos > end -
-				    sizeof(struct ieee80211_vht_operation) - 2)
-					return;
-				if (pos[1] !=
+				if (ie_len !=
 				    sizeof(struct ieee80211_vht_operation))
 					return;
 				/* copy the ie's value into vhtoper*/
@@ -1046,10 +1032,7 @@
 			break;
 		case WLAN_EID_VHT_CAPABILITY:
 			if (priv->adapter->is_hw_11ac_capable) {
-				if (pos > end -
-				    sizeof(struct ieee80211_vht_cap) - 2)
-					return;
-				if (pos[1] != sizeof(struct ieee80211_vht_cap))
+				if (ie_len != sizeof(struct ieee80211_vht_cap))
 					return;
 				/* copy the ie's value into vhtcap*/
 				memcpy((u8 *)&sta_ptr->tdls_cap.vhtcap, pos + 2,
@@ -1059,9 +1042,7 @@
 			break;
 		case WLAN_EID_AID:
 			if (priv->adapter->is_hw_11ac_capable) {
-				if (pos > end - 4)
-					return;
-				if (pos[1] != 2)
+				if (ie_len != sizeof(u16))
 					return;
 				sta_ptr->tdls_cap.aid =
 					get_unaligned_le16((pos + 2));
diff --git a/drivers/net/wireless/marvell/mwifiex/wmm.c b/drivers/net/wireless/marvell/mwifiex/wmm.c
index 64916ba..429ea27 100644
--- a/drivers/net/wireless/marvell/mwifiex/wmm.c
+++ b/drivers/net/wireless/marvell/mwifiex/wmm.c
@@ -977,6 +977,10 @@
 				    "WMM Parameter Set Count: %d\n",
 				    wmm_param_ie->qos_info_bitmap & mask);
 
+			if (wmm_param_ie->vend_hdr.len + 2 >
+				sizeof(struct ieee_types_wmm_parameter))
+				break;
+
 			memcpy((u8 *) &priv->curr_bss_params.bss_descriptor.
 			       wmm_ie, wmm_param_ie,
 			       wmm_param_ie->vend_hdr.len + 2);
diff --git a/drivers/net/wireless/mediatek/mt76/usb.c b/drivers/net/wireless/mediatek/mt76/usb.c
index 8d40e92..dcf927d 100644
--- a/drivers/net/wireless/mediatek/mt76/usb.c
+++ b/drivers/net/wireless/mediatek/mt76/usb.c
@@ -273,10 +273,16 @@
 void mt76u_buf_free(struct mt76u_buf *buf)
 {
 	struct urb *urb = buf->urb;
+	struct scatterlist *sg;
 	int i;
 
-	for (i = 0; i < urb->num_sgs; i++)
-		skb_free_frag(sg_virt(&urb->sg[i]));
+	for (i = 0; i < urb->num_sgs; i++) {
+		sg = &urb->sg[i];
+		if (!sg)
+			continue;
+
+		skb_free_frag(sg_virt(sg));
+	}
 	usb_free_urb(buf->urb);
 }
 EXPORT_SYMBOL_GPL(mt76u_buf_free);
@@ -478,7 +484,8 @@
 		nsgs = 1;
 	}
 
-	for (i = 0; i < MT_NUM_RX_ENTRIES; i++) {
+	q->ndesc = MT_NUM_RX_ENTRIES;
+	for (i = 0; i < q->ndesc; i++) {
 		err = mt76u_buf_alloc(dev, &q->entry[i].ubuf,
 				      nsgs, q->buf_size,
 				      SKB_WITH_OVERHEAD(q->buf_size),
@@ -486,7 +493,6 @@
 		if (err < 0)
 			return err;
 	}
-	q->ndesc = MT_NUM_RX_ENTRIES;
 
 	return mt76u_submit_rx_buffers(dev);
 }
diff --git a/drivers/net/wireless/mediatek/mt7601u/phy.c b/drivers/net/wireless/mediatek/mt7601u/phy.c
index b804abd..539f781 100644
--- a/drivers/net/wireless/mediatek/mt7601u/phy.c
+++ b/drivers/net/wireless/mediatek/mt7601u/phy.c
@@ -221,7 +221,7 @@
 
 	do {
 		val = mt7601u_bbp_rr(dev, MT_BBP_REG_VERSION);
-		if (val && ~val)
+		if (val && val != 0xff)
 			break;
 	} while (--i);
 
diff --git a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
index 66c6ee7..070ea0f 100644
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
@@ -5453,6 +5453,7 @@
 	ret = usb_submit_urb(urb, GFP_KERNEL);
 	if (ret) {
 		usb_unanchor_urb(urb);
+		usb_free_urb(urb);
 		goto error;
 	}
 
@@ -5920,7 +5921,7 @@
 	u8 dir, xtype, num;
 	int ret = 0;
 
-	host_interface = &interface->altsetting[0];
+	host_interface = interface->cur_altsetting;
 	interface_desc = &host_interface->desc;
 	endpoints = interface_desc->bNumEndpoints;
 
diff --git a/drivers/net/wireless/realtek/rtlwifi/debug.c b/drivers/net/wireless/realtek/rtlwifi/debug.c
index d70385b..4989940 100644
--- a/drivers/net/wireless/realtek/rtlwifi/debug.c
+++ b/drivers/net/wireless/realtek/rtlwifi/debug.c
@@ -109,7 +109,7 @@
 	.open = dl_debug_open_common,
 	.read = seq_read,
 	.llseek = seq_lseek,
-	.release = seq_release,
+	.release = single_release,
 };
 
 static int rtl_debug_get_mac_page(struct seq_file *m, void *v)
diff --git a/drivers/net/wireless/realtek/rtlwifi/pci.c b/drivers/net/wireless/realtek/rtlwifi/pci.c
index 5d1fda1..8374957 100644
--- a/drivers/net/wireless/realtek/rtlwifi/pci.c
+++ b/drivers/net/wireless/realtek/rtlwifi/pci.c
@@ -1082,13 +1082,15 @@
 	return ret;
 }
 
-static void _rtl_pci_irq_tasklet(struct ieee80211_hw *hw)
+static void _rtl_pci_irq_tasklet(unsigned long data)
 {
+	struct ieee80211_hw *hw = (struct ieee80211_hw *)data;
 	_rtl_pci_tx_chk_waitq(hw);
 }
 
-static void _rtl_pci_prepare_bcn_tasklet(struct ieee80211_hw *hw)
+static void _rtl_pci_prepare_bcn_tasklet(unsigned long data)
 {
+	struct ieee80211_hw *hw = (struct ieee80211_hw *)data;
 	struct rtl_priv *rtlpriv = rtl_priv(hw);
 	struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw));
 	struct rtl_mac *mac = rtl_mac(rtl_priv(hw));
@@ -1214,10 +1216,10 @@
 
 	/*task */
 	tasklet_init(&rtlpriv->works.irq_tasklet,
-		     (void (*)(unsigned long))_rtl_pci_irq_tasklet,
+		     _rtl_pci_irq_tasklet,
 		     (unsigned long)hw);
 	tasklet_init(&rtlpriv->works.irq_prepare_bcn_tasklet,
-		     (void (*)(unsigned long))_rtl_pci_prepare_bcn_tasklet,
+		     _rtl_pci_prepare_bcn_tasklet,
 		     (unsigned long)hw);
 	INIT_WORK(&rtlpriv->works.lps_change_work,
 		  rtl_lps_change_work_callback);
diff --git a/drivers/net/wireless/realtek/rtlwifi/regd.c b/drivers/net/wireless/realtek/rtlwifi/regd.c
index 1bf3eb2..72ca370 100644
--- a/drivers/net/wireless/realtek/rtlwifi/regd.c
+++ b/drivers/net/wireless/realtek/rtlwifi/regd.c
@@ -427,7 +427,7 @@
 	struct wiphy *wiphy = hw->wiphy;
 	struct country_code_to_enum_rd *country = NULL;
 
-	if (wiphy == NULL || &rtlpriv->regd == NULL)
+	if (!wiphy)
 		return -EINVAL;
 
 	/* init country_code from efuse channel plan */
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c
index 317c1b3..ba25831 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c
@@ -3404,75 +3404,6 @@
 		 "%x\n", rtl_read_dword(rtlpriv, REG_ARFR0));
 }
 
-static u8 _rtl8821ae_mrate_idx_to_arfr_id(
-	struct ieee80211_hw *hw, u8 rate_index,
-	enum wireless_mode wirelessmode)
-{
-	struct rtl_priv *rtlpriv = rtl_priv(hw);
-	struct rtl_phy *rtlphy = &rtlpriv->phy;
-	u8 ret = 0;
-	switch (rate_index) {
-	case RATR_INX_WIRELESS_NGB:
-		if (rtlphy->rf_type == RF_1T1R)
-			ret = 1;
-		else
-			ret = 0;
-		; break;
-	case RATR_INX_WIRELESS_N:
-	case RATR_INX_WIRELESS_NG:
-		if (rtlphy->rf_type == RF_1T1R)
-			ret = 5;
-		else
-			ret = 4;
-		; break;
-	case RATR_INX_WIRELESS_NB:
-		if (rtlphy->rf_type == RF_1T1R)
-			ret = 3;
-		else
-			ret = 2;
-		; break;
-	case RATR_INX_WIRELESS_GB:
-		ret = 6;
-		break;
-	case RATR_INX_WIRELESS_G:
-		ret = 7;
-		break;
-	case RATR_INX_WIRELESS_B:
-		ret = 8;
-		break;
-	case RATR_INX_WIRELESS_MC:
-		if ((wirelessmode == WIRELESS_MODE_B)
-			|| (wirelessmode == WIRELESS_MODE_G)
-			|| (wirelessmode == WIRELESS_MODE_N_24G)
-			|| (wirelessmode == WIRELESS_MODE_AC_24G))
-			ret = 6;
-		else
-			ret = 7;
-	case RATR_INX_WIRELESS_AC_5N:
-		if (rtlphy->rf_type == RF_1T1R)
-			ret = 10;
-		else
-			ret = 9;
-		break;
-	case RATR_INX_WIRELESS_AC_24N:
-		if (rtlphy->current_chan_bw == HT_CHANNEL_WIDTH_80) {
-			if (rtlphy->rf_type == RF_1T1R)
-				ret = 10;
-			else
-				ret = 9;
-		} else {
-			if (rtlphy->rf_type == RF_1T1R)
-				ret = 11;
-			else
-				ret = 12;
-		}
-		break;
-	default:
-		ret = 0; break;
-	}
-	return ret;
-}
-
 static u32 _rtl8821ae_rate_to_bitmap_2ssvht(__le16 vht_rate)
 {
 	u8 i, j, tmp_rate;
@@ -3761,7 +3692,7 @@
 		break;
 	}
 
-	ratr_index = _rtl8821ae_mrate_idx_to_arfr_id(hw, ratr_index, wirelessmode);
+	ratr_index = rtl_mrate_idx_to_arfr_id(hw, ratr_index, wirelessmode);
 	sta_entry->ratr_index = ratr_index;
 	ratr_bitmap = _rtl8821ae_set_ra_vht_ratr_bitmap(hw, wirelessmode,
 							ratr_bitmap);
diff --git a/drivers/net/wireless/rsi/rsi_91x_hal.c b/drivers/net/wireless/rsi/rsi_91x_hal.c
index 01edf96..a7b341e 100644
--- a/drivers/net/wireless/rsi/rsi_91x_hal.c
+++ b/drivers/net/wireless/rsi/rsi_91x_hal.c
@@ -616,6 +616,7 @@
 	bl_start_cmd_timer(adapter, timeout);
 	status = bl_write_cmd(adapter, cmd, exp_resp, &regout_val);
 	if (status < 0) {
+		bl_stop_cmd_timer(adapter);
 		rsi_dbg(ERR_ZONE,
 			"%s: Command %s (%0x) writing failed..\n",
 			__func__, str, cmd);
@@ -731,10 +732,9 @@
 	}
 
 	status = bl_cmd(adapter, cmd_req, cmd_resp, str);
-	if (status) {
-		bl_stop_cmd_timer(adapter);
+	if (status)
 		return status;
-	}
+
 	return 0;
 }
 
@@ -822,10 +822,9 @@
 
 	status = bl_cmd(adapter, EOF_REACHED, FW_LOADING_SUCCESSFUL,
 			"EOF_REACHED");
-	if (status) {
-		bl_stop_cmd_timer(adapter);
+	if (status)
 		return status;
-	}
+
 	rsi_dbg(INFO_ZONE, "FW loading is done and FW is running..\n");
 	return 0;
 }
@@ -846,6 +845,7 @@
 		status = hif_ops->master_reg_read(adapter, SWBL_REGOUT,
 					      &regout_val, 2);
 		if (status < 0) {
+			bl_stop_cmd_timer(adapter);
 			rsi_dbg(ERR_ZONE,
 				"%s: REGOUT read failed\n", __func__);
 			return status;
diff --git a/drivers/net/wireless/rsi/rsi_91x_sdio.c b/drivers/net/wireless/rsi/rsi_91x_sdio.c
index 5733e44..81cc104 100644
--- a/drivers/net/wireless/rsi/rsi_91x_sdio.c
+++ b/drivers/net/wireless/rsi/rsi_91x_sdio.c
@@ -1129,6 +1129,12 @@
 	rsi_mac80211_detach(adapter);
 	mdelay(10);
 
+	if (IS_ENABLED(CONFIG_RSI_COEX) && adapter->priv->coex_mode > 1 &&
+	    adapter->priv->bt_adapter) {
+		rsi_bt_ops.detach(adapter->priv->bt_adapter);
+		adapter->priv->bt_adapter = NULL;
+	}
+
 	/* Reset Chip */
 	rsi_reset_chip(adapter);
 
@@ -1305,6 +1311,12 @@
 		rsi_dbg(ERR_ZONE,
 			"##### Device can not wake up through WLAN\n");
 
+	if (IS_ENABLED(CONFIG_RSI_COEX) && common->coex_mode > 1 &&
+	    common->bt_adapter) {
+		rsi_bt_ops.detach(common->bt_adapter);
+		common->bt_adapter = NULL;
+	}
+
 	ret = rsi_sdio_disable_interrupts(pfunction);
 
 	if (sdev->write_fail)
@@ -1352,6 +1364,12 @@
 	if (rsi_config_wowlan(adapter, wowlan))
 		rsi_dbg(ERR_ZONE, "Failed to configure WoWLAN\n");
 
+	if (IS_ENABLED(CONFIG_RSI_COEX) && adapter->priv->coex_mode > 1 &&
+	    adapter->priv->bt_adapter) {
+		rsi_bt_ops.detach(adapter->priv->bt_adapter);
+		adapter->priv->bt_adapter = NULL;
+	}
+
 	rsi_sdio_disable_interrupts(sdev->pfunction);
 
 	if (sdev->write_fail)
diff --git a/drivers/net/wireless/rsi/rsi_91x_usb.c b/drivers/net/wireless/rsi/rsi_91x_usb.c
index 14e56be..5410664 100644
--- a/drivers/net/wireless/rsi/rsi_91x_usb.c
+++ b/drivers/net/wireless/rsi/rsi_91x_usb.c
@@ -16,6 +16,7 @@
  */
 
 #include <linux/module.h>
+#include <linux/types.h>
 #include <net/rsi_91x.h>
 #include "rsi_usb.h"
 #include "rsi_hal.h"
@@ -29,7 +30,7 @@
 		 "9[Wi-Fi STA + BT LE], 13[Wi-Fi STA + BT classic + BT LE]\n"
 		 "6[AP + BT classic], 14[AP + BT classic + BT LE]");
 
-static int rsi_rx_urb_submit(struct rsi_hw *adapter, u8 ep_num);
+static int rsi_rx_urb_submit(struct rsi_hw *adapter, u8 ep_num, gfp_t flags);
 
 /**
  * rsi_usb_card_write() - This function writes to the USB Card.
@@ -117,7 +118,7 @@
 	__le16 buffer_size;
 	int ii, bin_found = 0, bout_found = 0;
 
-	iface_desc = &(interface->altsetting[0]);
+	iface_desc = interface->cur_altsetting;
 
 	for (ii = 0; ii < iface_desc->desc.bNumEndpoints; ++ii) {
 		endpoint = &(iface_desc->endpoint[ii].desc);
@@ -283,20 +284,29 @@
 	status = 0;
 
 out:
-	if (rsi_rx_urb_submit(dev->priv, rx_cb->ep_num))
+	if (rsi_rx_urb_submit(dev->priv, rx_cb->ep_num, GFP_ATOMIC))
 		rsi_dbg(ERR_ZONE, "%s: Failed in urb submission", __func__);
 
 	if (status)
 		dev_kfree_skb(rx_cb->rx_skb);
 }
 
+static void rsi_rx_urb_kill(struct rsi_hw *adapter, u8 ep_num)
+{
+	struct rsi_91x_usbdev *dev = (struct rsi_91x_usbdev *)adapter->rsi_dev;
+	struct rx_usb_ctrl_block *rx_cb = &dev->rx_cb[ep_num - 1];
+	struct urb *urb = rx_cb->rx_urb;
+
+	usb_kill_urb(urb);
+}
+
 /**
  * rsi_rx_urb_submit() - This function submits the given URB to the USB stack.
  * @adapter: Pointer to the adapter structure.
  *
  * Return: 0 on success, a negative error code on failure.
  */
-static int rsi_rx_urb_submit(struct rsi_hw *adapter, u8 ep_num)
+static int rsi_rx_urb_submit(struct rsi_hw *adapter, u8 ep_num, gfp_t mem_flags)
 {
 	struct rsi_91x_usbdev *dev = (struct rsi_91x_usbdev *)adapter->rsi_dev;
 	struct rx_usb_ctrl_block *rx_cb = &dev->rx_cb[ep_num - 1];
@@ -326,9 +336,11 @@
 			  rsi_rx_done_handler,
 			  rx_cb);
 
-	status = usb_submit_urb(urb, GFP_KERNEL);
-	if (status)
+	status = usb_submit_urb(urb, mem_flags);
+	if (status) {
 		rsi_dbg(ERR_ZONE, "%s: Failed in urb submission\n", __func__);
+		dev_kfree_skb(skb);
+	}
 
 	return status;
 }
@@ -781,17 +793,20 @@
 		rsi_dbg(INIT_ZONE, "%s: Device Init Done\n", __func__);
 	}
 
-	status = rsi_rx_urb_submit(adapter, WLAN_EP);
+	status = rsi_rx_urb_submit(adapter, WLAN_EP, GFP_KERNEL);
 	if (status)
 		goto err1;
 
 	if (adapter->priv->coex_mode > 1) {
-		status = rsi_rx_urb_submit(adapter, BT_EP);
+		status = rsi_rx_urb_submit(adapter, BT_EP, GFP_KERNEL);
 		if (status)
-			goto err1;
+			goto err_kill_wlan_urb;
 	}
 
 	return 0;
+
+err_kill_wlan_urb:
+	rsi_rx_urb_kill(adapter, WLAN_EP);
 err1:
 	rsi_deinit_usb_interface(adapter);
 err:
@@ -815,6 +830,17 @@
 		return;
 
 	rsi_mac80211_detach(adapter);
+
+	if (IS_ENABLED(CONFIG_RSI_COEX) && adapter->priv->coex_mode > 1 &&
+	    adapter->priv->bt_adapter) {
+		rsi_bt_ops.detach(adapter->priv->bt_adapter);
+		adapter->priv->bt_adapter = NULL;
+	}
+
+	if (adapter->priv->coex_mode > 1)
+		rsi_rx_urb_kill(adapter, BT_EP);
+	rsi_rx_urb_kill(adapter, WLAN_EP);
+
 	rsi_reset_card(adapter);
 	rsi_deinit_usb_interface(adapter);
 	rsi_91x_deinit(adapter);
diff --git a/drivers/net/wireless/st/cw1200/fwio.c b/drivers/net/wireless/st/cw1200/fwio.c
index 30e7646..16be7fa 100644
--- a/drivers/net/wireless/st/cw1200/fwio.c
+++ b/drivers/net/wireless/st/cw1200/fwio.c
@@ -323,12 +323,12 @@
 		goto out;
 	}
 
-	priv->hw_type = cw1200_get_hw_type(val32, &major_revision);
-	if (priv->hw_type < 0) {
+	ret = cw1200_get_hw_type(val32, &major_revision);
+	if (ret < 0) {
 		pr_err("Can't deduce hardware type.\n");
-		ret = -ENOTSUPP;
 		goto out;
 	}
+	priv->hw_type = ret;
 
 	/* Set DPLL Reg value, and read back to confirm writes work */
 	ret = cw1200_reg_write_32(priv, ST90TDS_TSET_GEN_R_W_REG_ID,
diff --git a/drivers/net/wireless/zydas/zd1211rw/zd_usb.c b/drivers/net/wireless/zydas/zd1211rw/zd_usb.c
index c2cda3a..0fddfb4 100644
--- a/drivers/net/wireless/zydas/zd1211rw/zd_usb.c
+++ b/drivers/net/wireless/zydas/zd1211rw/zd_usb.c
@@ -1275,7 +1275,7 @@
 static int eject_installer(struct usb_interface *intf)
 {
 	struct usb_device *udev = interface_to_usbdev(intf);
-	struct usb_host_interface *iface_desc = &intf->altsetting[0];
+	struct usb_host_interface *iface_desc = intf->cur_altsetting;
 	struct usb_endpoint_descriptor *endpoint;
 	unsigned char *cmd;
 	u8 bulk_out_ep;
diff --git a/drivers/nfc/pn533/usb.c b/drivers/nfc/pn533/usb.c
index fcb57d6..a2c9b3f 100644
--- a/drivers/nfc/pn533/usb.c
+++ b/drivers/nfc/pn533/usb.c
@@ -403,7 +403,7 @@
 		       cmd, sizeof(cmd), false);
 
 	rc = usb_bulk_msg(phy->udev, phy->out_urb->pipe, buffer, sizeof(cmd),
-			  &transferred, 0);
+			  &transferred, 5000);
 	kfree(buffer);
 	if (rc || (transferred != sizeof(cmd))) {
 		nfc_err(&phy->udev->dev,
diff --git a/drivers/nfc/pn544/i2c.c b/drivers/nfc/pn544/i2c.c
index d0207f8..dcef73e 100644
--- a/drivers/nfc/pn544/i2c.c
+++ b/drivers/nfc/pn544/i2c.c
@@ -236,6 +236,7 @@
 
 out:
 	gpiod_set_value_cansleep(phy->gpiod_en, !phy->en_polarity);
+	usleep_range(10000, 15000);
 }
 
 static void pn544_hci_i2c_enable_mode(struct pn544_i2c_phy *phy, int run_mode)
diff --git a/drivers/nfc/pn544/pn544.c b/drivers/nfc/pn544/pn544.c
index 70e898e..f30bdf9 100644
--- a/drivers/nfc/pn544/pn544.c
+++ b/drivers/nfc/pn544/pn544.c
@@ -704,7 +704,7 @@
 		    target->nfcid1_len != 10)
 			return -EOPNOTSUPP;
 
-		 return nfc_hci_send_cmd(hdev, NFC_HCI_RF_READER_A_GATE,
+		return nfc_hci_send_cmd(hdev, NFC_HCI_RF_READER_A_GATE,
 				     PN544_RF_READER_CMD_ACTIVATE_NEXT,
 				     target->nfcid1, target->nfcid1_len, NULL);
 	} else if (target->supported_protocols & (NFC_PROTO_JEWEL_MASK |
diff --git a/drivers/nfc/port100.c b/drivers/nfc/port100.c
index 60ae382..06bb226 100644
--- a/drivers/nfc/port100.c
+++ b/drivers/nfc/port100.c
@@ -574,7 +574,7 @@
 {
 	struct port100_frame *frame = _frame;
 
-	frame->datalen = cpu_to_le16(le16_to_cpu(frame->datalen) + len);
+	le16_add_cpu(&frame->datalen, len);
 }
 
 static bool port100_rx_frame_is_valid(void *_frame)
diff --git a/drivers/ntb/hw/idt/ntb_hw_idt.c b/drivers/ntb/hw/idt/ntb_hw_idt.c
index dbe72f1..a67ef23 100644
--- a/drivers/ntb/hw/idt/ntb_hw_idt.c
+++ b/drivers/ntb/hw/idt/ntb_hw_idt.c
@@ -1105,9 +1105,9 @@
 	}
 
 	/* Allocate memory for memory window descriptors */
-	ret_mws = devm_kcalloc(&ndev->ntb.pdev->dev, *mw_cnt,
-				sizeof(*ret_mws), GFP_KERNEL);
-	if (IS_ERR_OR_NULL(ret_mws))
+	ret_mws = devm_kcalloc(&ndev->ntb.pdev->dev, *mw_cnt, sizeof(*ret_mws),
+			       GFP_KERNEL);
+	if (!ret_mws)
 		return ERR_PTR(-ENOMEM);
 
 	/* Copy the info of detected memory windows */
@@ -2390,7 +2390,7 @@
 
 	/* Allocate memory for the IDT PCIe-device descriptor */
 	ndev = devm_kzalloc(&pdev->dev, sizeof(*ndev), GFP_KERNEL);
-	if (IS_ERR_OR_NULL(ndev)) {
+	if (!ndev) {
 		dev_err(&pdev->dev, "Memory allocation failed for descriptor");
 		return ERR_PTR(-ENOMEM);
 	}
diff --git a/drivers/ntb/hw/mscc/ntb_hw_switchtec.c b/drivers/ntb/hw/mscc/ntb_hw_switchtec.c
index 5ee5f40..313f625 100644
--- a/drivers/ntb/hw/mscc/ntb_hw_switchtec.c
+++ b/drivers/ntb/hw/mscc/ntb_hw_switchtec.c
@@ -899,7 +899,7 @@
 		}
 
 		sndev->peer_partition = ffs(tpart_vec) - 1;
-		if (!(part_map & (1 << sndev->peer_partition))) {
+		if (!(part_map & (1ULL << sndev->peer_partition))) {
 			dev_err(&sndev->stdev->dev,
 				"ntb target partition is not NT partition\n");
 			return -ENODEV;
@@ -1120,7 +1120,7 @@
 
 		dev_dbg(&sndev->stdev->dev,
 			"Crosslink BAR%d addr: %llx\n",
-			i, bar_addr);
+			i*2, bar_addr);
 
 		if (bar_addr != bar_space * i)
 			continue;
diff --git a/drivers/nvdimm/Makefile b/drivers/nvdimm/Makefile
index e884704..5816072 100644
--- a/drivers/nvdimm/Makefile
+++ b/drivers/nvdimm/Makefile
@@ -5,6 +5,7 @@
 obj-$(CONFIG_ND_BLK) += nd_blk.o
 obj-$(CONFIG_X86_PMEM_LEGACY) += nd_e820.o
 obj-$(CONFIG_OF_PMEM) += of_pmem.o
+obj-$(CONFIG_VIRTIO_PMEM) += virtio_pmem.o nd_virtio.o
 
 nd_pmem-y := pmem.o
 
diff --git a/drivers/nvdimm/claim.c b/drivers/nvdimm/claim.c
index fb667bf..13510ba 100644
--- a/drivers/nvdimm/claim.c
+++ b/drivers/nvdimm/claim.c
@@ -263,7 +263,7 @@
 	struct nd_namespace_io *nsio = to_nd_namespace_io(&ndns->dev);
 	unsigned int sz_align = ALIGN(size + (offset & (512 - 1)), 512);
 	sector_t sector = offset >> 9;
-	int rc = 0;
+	int rc = 0, ret = 0;
 
 	if (unlikely(!size))
 		return 0;
@@ -301,7 +301,9 @@
 	}
 
 	memcpy_flushcache(nsio->addr + offset, buf, size);
-	nvdimm_flush(to_nd_region(ndns->dev.parent));
+	ret = nvdimm_flush(to_nd_region(ndns->dev.parent), NULL);
+	if (ret)
+		rc = ret;
 
 	return rc;
 }
diff --git a/drivers/nvdimm/nd.h b/drivers/nvdimm/nd.h
index 01e194a..fbb01a7 100644
--- a/drivers/nvdimm/nd.h
+++ b/drivers/nvdimm/nd.h
@@ -163,6 +163,7 @@
 	struct badblocks bb;
 	struct nd_interleave_set *nd_set;
 	struct nd_percpu_lane __percpu *lane;
+	int (*flush)(struct nd_region *nd_region, struct bio *bio);
 	struct nd_mapping mapping[0];
 };
 
diff --git a/drivers/nvdimm/nd_virtio.c b/drivers/nvdimm/nd_virtio.c
new file mode 100644
index 0000000..8645275
--- /dev/null
+++ b/drivers/nvdimm/nd_virtio.c
@@ -0,0 +1,125 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * virtio_pmem.c: Virtio pmem Driver
+ *
+ * Discovers persistent memory range information
+ * from host and provides a virtio based flushing
+ * interface.
+ */
+#include "virtio_pmem.h"
+#include "nd.h"
+
+ /* The interrupt handler */
+void virtio_pmem_host_ack(struct virtqueue *vq)
+{
+	struct virtio_pmem *vpmem = vq->vdev->priv;
+	struct virtio_pmem_request *req_data, *req_buf;
+	unsigned long flags;
+	unsigned int len;
+
+	spin_lock_irqsave(&vpmem->pmem_lock, flags);
+	while ((req_data = virtqueue_get_buf(vq, &len)) != NULL) {
+		req_data->done = true;
+		wake_up(&req_data->host_acked);
+
+		if (!list_empty(&vpmem->req_list)) {
+			req_buf = list_first_entry(&vpmem->req_list,
+					struct virtio_pmem_request, list);
+			req_buf->wq_buf_avail = true;
+			wake_up(&req_buf->wq_buf);
+			list_del(&req_buf->list);
+		}
+	}
+	spin_unlock_irqrestore(&vpmem->pmem_lock, flags);
+}
+EXPORT_SYMBOL_GPL(virtio_pmem_host_ack);
+
+ /* The request submission function */
+static int virtio_pmem_flush(struct nd_region *nd_region)
+{
+	struct virtio_device *vdev = nd_region->provider_data;
+	struct virtio_pmem *vpmem  = vdev->priv;
+	struct virtio_pmem_request *req_data;
+	struct scatterlist *sgs[2], sg, ret;
+	unsigned long flags;
+	int err, err1;
+
+	might_sleep();
+	req_data = kmalloc(sizeof(*req_data), GFP_KERNEL);
+	if (!req_data)
+		return -ENOMEM;
+
+	req_data->done = false;
+	init_waitqueue_head(&req_data->host_acked);
+	init_waitqueue_head(&req_data->wq_buf);
+	INIT_LIST_HEAD(&req_data->list);
+	req_data->req.type = cpu_to_virtio32(vdev, VIRTIO_PMEM_REQ_TYPE_FLUSH);
+	sg_init_one(&sg, &req_data->req, sizeof(req_data->req));
+	sgs[0] = &sg;
+	sg_init_one(&ret, &req_data->resp.ret, sizeof(req_data->resp));
+	sgs[1] = &ret;
+
+	spin_lock_irqsave(&vpmem->pmem_lock, flags);
+	 /*
+	  * If virtqueue_add_sgs returns -ENOSPC then req_vq virtual
+	  * queue does not have free descriptor. We add the request
+	  * to req_list and wait for host_ack to wake us up when free
+	  * slots are available.
+	  */
+	while ((err = virtqueue_add_sgs(vpmem->req_vq, sgs, 1, 1, req_data,
+					GFP_ATOMIC)) == -ENOSPC) {
+
+		dev_info(&vdev->dev, "failed to send command to virtio pmem device, no free slots in the virtqueue\n");
+		req_data->wq_buf_avail = false;
+		list_add_tail(&req_data->list, &vpmem->req_list);
+		spin_unlock_irqrestore(&vpmem->pmem_lock, flags);
+
+		/* A host response results in "host_ack" getting called */
+		wait_event(req_data->wq_buf, req_data->wq_buf_avail);
+		spin_lock_irqsave(&vpmem->pmem_lock, flags);
+	}
+	err1 = virtqueue_kick(vpmem->req_vq);
+	spin_unlock_irqrestore(&vpmem->pmem_lock, flags);
+	/*
+	 * virtqueue_add_sgs failed with error different than -ENOSPC, we can't
+	 * do anything about that.
+	 */
+	if (err || !err1) {
+		dev_info(&vdev->dev, "failed to send command to virtio pmem device\n");
+		err = -EIO;
+	} else {
+		/* A host repsonse results in "host_ack" getting called */
+		wait_event(req_data->host_acked, req_data->done);
+		err = virtio32_to_cpu(vdev, req_data->resp.ret);
+	}
+
+	kfree(req_data);
+	return err;
+};
+
+/* The asynchronous flush callback function */
+int async_pmem_flush(struct nd_region *nd_region, struct bio *bio)
+{
+	/*
+	 * Create child bio for asynchronous flush and chain with
+	 * parent bio. Otherwise directly call nd_region flush.
+	 */
+	if (bio && bio->bi_iter.bi_sector != -1) {
+		struct bio *child = bio_alloc(GFP_ATOMIC, 0);
+
+		if (!child)
+			return -ENOMEM;
+		bio_copy_dev(child, bio);
+		child->bi_opf = REQ_PREFLUSH;
+		child->bi_iter.bi_sector = -1;
+		bio_chain(child, bio);
+		submit_bio(child);
+		return 0;
+	}
+	if (virtio_pmem_flush(nd_region))
+		return -EIO;
+
+	return 0;
+};
+EXPORT_SYMBOL_GPL(async_pmem_flush);
+MODULE_LICENSE("GPL");
diff --git a/drivers/nvdimm/of_pmem.c b/drivers/nvdimm/of_pmem.c
index 0a70183..6e5cbfd 100644
--- a/drivers/nvdimm/of_pmem.c
+++ b/drivers/nvdimm/of_pmem.c
@@ -42,7 +42,7 @@
 		return -ENOMEM;
 
 	priv->bus_desc.attr_groups = bus_attr_groups;
-	priv->bus_desc.provider_name = "of_pmem";
+	priv->bus_desc.provider_name = kstrdup(pdev->name, GFP_KERNEL);
 	priv->bus_desc.module = THIS_MODULE;
 	priv->bus_desc.of_node = np;
 
@@ -108,7 +108,6 @@
 	.remove = of_pmem_region_remove,
 	.driver = {
 		.name = "of_pmem",
-		.owner = THIS_MODULE,
 		.of_match_table = of_pmem_region_match,
 	},
 };
diff --git a/drivers/nvdimm/pmem.c b/drivers/nvdimm/pmem.c
index a7ce2f1..18e1042 100644
--- a/drivers/nvdimm/pmem.c
+++ b/drivers/nvdimm/pmem.c
@@ -192,6 +192,7 @@
 
 static blk_qc_t pmem_make_request(struct request_queue *q, struct bio *bio)
 {
+	int ret = 0;
 	blk_status_t rc = 0;
 	bool do_acct;
 	unsigned long start;
@@ -201,7 +202,7 @@
 	struct nd_region *nd_region = to_region(pmem);
 
 	if (bio->bi_opf & REQ_PREFLUSH)
-		nvdimm_flush(nd_region);
+		ret = nvdimm_flush(nd_region, bio);
 
 	do_acct = nd_iostat_start(bio, &start);
 	bio_for_each_segment(bvec, bio, iter) {
@@ -216,7 +217,10 @@
 		nd_iostat_end(bio, start);
 
 	if (bio->bi_opf & REQ_FUA)
-		nvdimm_flush(nd_region);
+		ret = nvdimm_flush(nd_region, bio);
+
+	if (ret)
+		bio->bi_status = errno_to_blk_status(ret);
 
 	bio_endio(bio);
 	return BLK_QC_T_NONE;
@@ -475,7 +479,6 @@
 	}
 	dax_write_cache(dax_dev, nvdimm_has_cache(nd_region));
 	pmem->dax_dev = dax_dev;
-
 	gendev = disk_to_dev(disk);
 	gendev->groups = pmem_attribute_groups;
 
@@ -533,14 +536,14 @@
 		sysfs_put(pmem->bb_state);
 		pmem->bb_state = NULL;
 	}
-	nvdimm_flush(to_nd_region(dev->parent));
+	nvdimm_flush(to_nd_region(dev->parent), NULL);
 
 	return 0;
 }
 
 static void nd_pmem_shutdown(struct device *dev)
 {
-	nvdimm_flush(to_nd_region(dev->parent));
+	nvdimm_flush(to_nd_region(dev->parent), NULL);
 }
 
 static void nd_pmem_notify(struct device *dev, enum nvdimm_event event)
diff --git a/drivers/nvdimm/region_devs.c b/drivers/nvdimm/region_devs.c
index 609fc45..71cfdc3 100644
--- a/drivers/nvdimm/region_devs.c
+++ b/drivers/nvdimm/region_devs.c
@@ -290,7 +290,9 @@
 		return rc;
 	if (!flush)
 		return -EINVAL;
-	nvdimm_flush(nd_region);
+	rc = nvdimm_flush(nd_region, NULL);
+	if (rc)
+		return rc;
 
 	return len;
 }
@@ -1076,6 +1078,11 @@
 	dev->of_node = ndr_desc->of_node;
 	nd_region->ndr_size = resource_size(ndr_desc->res);
 	nd_region->ndr_start = ndr_desc->res->start;
+	if (ndr_desc->flush)
+		nd_region->flush = ndr_desc->flush;
+	else
+		nd_region->flush = NULL;
+
 	nd_device_register(dev);
 
 	return nd_region;
@@ -1116,11 +1123,24 @@
 }
 EXPORT_SYMBOL_GPL(nvdimm_volatile_region_create);
 
+int nvdimm_flush(struct nd_region *nd_region, struct bio *bio)
+{
+	int rc = 0;
+
+	if (!nd_region->flush)
+		rc = generic_nvdimm_flush(nd_region);
+	else {
+		if (nd_region->flush(nd_region, bio))
+			rc = -EIO;
+	}
+
+	return rc;
+}
 /**
  * nvdimm_flush - flush any posted write queues between the cpu and pmem media
  * @nd_region: blk or interleaved pmem region
  */
-void nvdimm_flush(struct nd_region *nd_region)
+int generic_nvdimm_flush(struct nd_region *nd_region)
 {
 	struct nd_region_data *ndrd = dev_get_drvdata(&nd_region->dev);
 	int i, idx;
@@ -1144,6 +1164,8 @@
 		if (ndrd_get_flush_wpq(ndrd, i, 0))
 			writeq(1, ndrd_get_flush_wpq(ndrd, i, idx));
 	wmb();
+
+	return 0;
 }
 EXPORT_SYMBOL_GPL(nvdimm_flush);
 
diff --git a/drivers/nvdimm/virtio_pmem.c b/drivers/nvdimm/virtio_pmem.c
new file mode 100644
index 0000000..5e3d07b
--- /dev/null
+++ b/drivers/nvdimm/virtio_pmem.c
@@ -0,0 +1,122 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * virtio_pmem.c: Virtio pmem Driver
+ *
+ * Discovers persistent memory range information
+ * from host and registers the virtual pmem device
+ * with libnvdimm core.
+ */
+#include "virtio_pmem.h"
+#include "nd.h"
+
+static struct virtio_device_id id_table[] = {
+	{ VIRTIO_ID_PMEM, VIRTIO_DEV_ANY_ID },
+	{ 0 },
+};
+
+ /* Initialize virt queue */
+static int init_vq(struct virtio_pmem *vpmem)
+{
+	/* single vq */
+	vpmem->req_vq = virtio_find_single_vq(vpmem->vdev,
+					virtio_pmem_host_ack, "flush_queue");
+	if (IS_ERR(vpmem->req_vq))
+		return PTR_ERR(vpmem->req_vq);
+
+	spin_lock_init(&vpmem->pmem_lock);
+	INIT_LIST_HEAD(&vpmem->req_list);
+
+	return 0;
+};
+
+static int virtio_pmem_probe(struct virtio_device *vdev)
+{
+	struct nd_region_desc ndr_desc = {};
+	int nid = dev_to_node(&vdev->dev);
+	struct nd_region *nd_region;
+	struct virtio_pmem *vpmem;
+	struct resource res;
+	int err = 0;
+
+	if (!vdev->config->get) {
+		dev_err(&vdev->dev, "%s failure: config access disabled\n",
+			__func__);
+		return -EINVAL;
+	}
+
+	vpmem = devm_kzalloc(&vdev->dev, sizeof(*vpmem), GFP_KERNEL);
+	if (!vpmem) {
+		err = -ENOMEM;
+		goto out_err;
+	}
+
+	vpmem->vdev = vdev;
+	vdev->priv = vpmem;
+	err = init_vq(vpmem);
+	if (err) {
+		dev_err(&vdev->dev, "failed to initialize virtio pmem vq's\n");
+		goto out_err;
+	}
+
+	virtio_cread(vpmem->vdev, struct virtio_pmem_config,
+			start, &vpmem->start);
+	virtio_cread(vpmem->vdev, struct virtio_pmem_config,
+			size, &vpmem->size);
+
+	res.start = vpmem->start;
+	res.end   = vpmem->start + vpmem->size - 1;
+	vpmem->nd_desc.provider_name = "virtio-pmem";
+	vpmem->nd_desc.module = THIS_MODULE;
+
+	vpmem->nvdimm_bus = nvdimm_bus_register(&vdev->dev,
+						&vpmem->nd_desc);
+	if (!vpmem->nvdimm_bus) {
+		dev_err(&vdev->dev, "failed to register device with nvdimm_bus\n");
+		err = -ENXIO;
+		goto out_vq;
+	}
+
+	dev_set_drvdata(&vdev->dev, vpmem->nvdimm_bus);
+
+	ndr_desc.res = &res;
+	ndr_desc.numa_node = nid;
+	ndr_desc.flush = async_pmem_flush;
+	set_bit(ND_REGION_PAGEMAP, &ndr_desc.flags);
+	set_bit(ND_REGION_ASYNC, &ndr_desc.flags);
+	nd_region = nvdimm_pmem_region_create(vpmem->nvdimm_bus, &ndr_desc);
+	if (!nd_region) {
+		dev_err(&vdev->dev, "failed to create nvdimm region\n");
+		err = -ENXIO;
+		goto out_nd;
+	}
+	nd_region->provider_data = dev_to_virtio(nd_region->dev.parent->parent);
+	return 0;
+out_nd:
+	nvdimm_bus_unregister(vpmem->nvdimm_bus);
+out_vq:
+	vdev->config->del_vqs(vdev);
+out_err:
+	return err;
+}
+
+static void virtio_pmem_remove(struct virtio_device *vdev)
+{
+	struct nvdimm_bus *nvdimm_bus = dev_get_drvdata(&vdev->dev);
+
+	nvdimm_bus_unregister(nvdimm_bus);
+	vdev->config->del_vqs(vdev);
+	vdev->config->reset(vdev);
+}
+
+static struct virtio_driver virtio_pmem_driver = {
+	.driver.name		= KBUILD_MODNAME,
+	.driver.owner		= THIS_MODULE,
+	.id_table		= id_table,
+	.probe			= virtio_pmem_probe,
+	.remove			= virtio_pmem_remove,
+};
+
+module_virtio_driver(virtio_pmem_driver);
+MODULE_DEVICE_TABLE(virtio, id_table);
+MODULE_DESCRIPTION("Virtio pmem driver");
+MODULE_LICENSE("GPL");
diff --git a/drivers/nvdimm/virtio_pmem.h b/drivers/nvdimm/virtio_pmem.h
new file mode 100644
index 0000000..0dddefe
--- /dev/null
+++ b/drivers/nvdimm/virtio_pmem.h
@@ -0,0 +1,55 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * virtio_pmem.h: virtio pmem Driver
+ *
+ * Discovers persistent memory range information
+ * from host and provides a virtio based flushing
+ * interface.
+ **/
+
+#ifndef _LINUX_VIRTIO_PMEM_H
+#define _LINUX_VIRTIO_PMEM_H
+
+#include <linux/module.h>
+#include <uapi/linux/virtio_pmem.h>
+#include <linux/libnvdimm.h>
+#include <linux/spinlock.h>
+
+struct virtio_pmem_request {
+	struct virtio_pmem_req req;
+	struct virtio_pmem_resp resp;
+
+	/* Wait queue to process deferred work after ack from host */
+	wait_queue_head_t host_acked;
+	bool done;
+
+	/* Wait queue to process deferred work after virt queue buffer avail */
+	wait_queue_head_t wq_buf;
+	bool wq_buf_avail;
+	struct list_head list;
+};
+
+struct virtio_pmem {
+	struct virtio_device *vdev;
+
+	/* Virtio pmem request queue */
+	struct virtqueue *req_vq;
+
+	/* nvdimm bus registers virtio pmem device */
+	struct nvdimm_bus *nvdimm_bus;
+	struct nvdimm_bus_descriptor nd_desc;
+
+	/* List to store deferred work if virtqueue is full */
+	struct list_head req_list;
+
+	/* Synchronize virtqueue data */
+	spinlock_t pmem_lock;
+
+	/* Memory region information */
+	__u64 start;
+	__u64 size;
+};
+
+void virtio_pmem_host_ack(struct virtqueue *vq);
+int async_pmem_flush(struct nd_region *nd_region, struct bio *bio);
+#endif
diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
index b7bd89b..a8132e8 100644
--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -1058,8 +1058,8 @@
 static int nvme_set_features(struct nvme_ctrl *dev, unsigned fid, unsigned dword11,
 		      void *buffer, size_t buflen, u32 *result)
 {
+	union nvme_result res = { 0 };
 	struct nvme_command c;
-	union nvme_result res;
 	int ret;
 
 	memset(&c, 0, sizeof(c));
@@ -3449,7 +3449,7 @@
 	if (!log)
 		return;
 
-	if (nvme_get_log(ctrl, NVME_NSID_ALL, 0, NVME_LOG_FW_SLOT, log,
+	if (nvme_get_log(ctrl, NVME_NSID_ALL, NVME_LOG_FW_SLOT, 0, log,
 			sizeof(*log), 0))
 		dev_warn(ctrl->device, "Get FW SLOT INFO log error\n");
 	kfree(log);
diff --git a/drivers/nvme/host/multipath.c b/drivers/nvme/host/multipath.c
index 838ee58..e8bc25a 100644
--- a/drivers/nvme/host/multipath.c
+++ b/drivers/nvme/host/multipath.c
@@ -569,6 +569,7 @@
 	}
 
 	INIT_WORK(&ctrl->ana_work, nvme_ana_work);
+	kfree(ctrl->ana_log_buf);
 	ctrl->ana_log_buf = kmalloc(ctrl->ana_log_size, GFP_KERNEL);
 	if (!ctrl->ana_log_buf) {
 		error = -ENOMEM;
diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
index 124f411..3c68a5b 100644
--- a/drivers/nvme/host/pci.c
+++ b/drivers/nvme/host/pci.c
@@ -2396,7 +2396,7 @@
 
 static int nvme_pci_reg_read64(struct nvme_ctrl *ctrl, u32 off, u64 *val)
 {
-	*val = readq(to_nvme_dev(ctrl)->bar + off);
+	*val = lo_hi_readq(to_nvme_dev(ctrl)->bar + off);
 	return 0;
 }
 
diff --git a/drivers/nvmem/imx-ocotp.c b/drivers/nvmem/imx-ocotp.c
index 926d9cc..09281ac 100644
--- a/drivers/nvmem/imx-ocotp.c
+++ b/drivers/nvmem/imx-ocotp.c
@@ -50,7 +50,9 @@
 #define IMX_OCOTP_BM_CTRL_ERROR		0x00000200
 #define IMX_OCOTP_BM_CTRL_REL_SHADOWS	0x00000400
 
-#define DEF_RELAX			20	/* > 16.5ns */
+#define TIMING_STROBE_PROG_US		10	/* Min time to blow a fuse */
+#define TIMING_STROBE_READ_NS		37	/* Min time before read */
+#define TIMING_RELAX_NS			17
 #define DEF_FSOURCE			1001	/* > 1000 ns */
 #define DEF_STROBE_PROG			10000	/* IPG clocks */
 #define IMX_OCOTP_WR_UNLOCK		0x3E770000
@@ -182,14 +184,41 @@
 	 * fields with timing values to match the current frequency of the
 	 * ipg_clk. OTP writes will work at maximum bus frequencies as long
 	 * as the HW_OCOTP_TIMING parameters are set correctly.
+	 *
+	 * Note: there are minimum timings required to ensure an OTP fuse burns
+	 * correctly that are independent of the ipg_clk. Those values are not
+	 * formally documented anywhere however, working from the minimum
+	 * timings given in u-boot we can say:
+	 *
+	 * - Minimum STROBE_PROG time is 10 microseconds. Intuitively 10
+	 *   microseconds feels about right as representative of a minimum time
+	 *   to physically burn out a fuse.
+	 *
+	 * - Minimum STROBE_READ i.e. the time to wait post OTP fuse burn before
+	 *   performing another read is 37 nanoseconds
+	 *
+	 * - Minimum RELAX timing is 17 nanoseconds. This final RELAX minimum
+	 *   timing is not entirely clear the documentation says "This
+	 *   count value specifies the time to add to all default timing
+	 *   parameters other than the Tpgm and Trd. It is given in number
+	 *   of ipg_clk periods." where Tpgm and Trd refer to STROBE_PROG
+	 *   and STROBE_READ respectively. What the other timing parameters
+	 *   are though, is not specified. Experience shows a zero RELAX
+	 *   value will mess up a re-load of the shadow registers post OTP
+	 *   burn.
 	 */
 	clk_rate = clk_get_rate(priv->clk);
 
-	relax = clk_rate / (1000000000 / DEF_RELAX) - 1;
-	strobe_prog = clk_rate / (1000000000 / 10000) + 2 * (DEF_RELAX + 1) - 1;
-	strobe_read = clk_rate / (1000000000 / 40) + 2 * (DEF_RELAX + 1) - 1;
+	relax = DIV_ROUND_UP(clk_rate * TIMING_RELAX_NS, 1000000000) - 1;
+	strobe_read = DIV_ROUND_UP(clk_rate * TIMING_STROBE_READ_NS,
+				   1000000000);
+	strobe_read += 2 * (relax + 1) - 1;
+	strobe_prog = DIV_ROUND_CLOSEST(clk_rate * TIMING_STROBE_PROG_US,
+					1000000);
+	strobe_prog += 2 * (relax + 1) - 1;
 
-	timing = strobe_prog & 0x00000FFF;
+	timing = readl(priv->base + IMX_OCOTP_ADDR_TIMING) & 0x0FC00000;
+	timing |= strobe_prog & 0x00000FFF;
 	timing |= (relax       << 12) & 0x0000F000;
 	timing |= (strobe_read << 16) & 0x003F0000;
 
diff --git a/drivers/of/Kconfig b/drivers/of/Kconfig
index bfe6c9f..57409d7 100644
--- a/drivers/of/Kconfig
+++ b/drivers/of/Kconfig
@@ -120,4 +120,8 @@
 	help
 	  OpenFirmware BatteryData accessors
 
+config OF_DMA_DEFAULT_COHERENT
+	# arches should select this if DMA is coherent by default for OF devices
+	bool
+
 endif # OF
diff --git a/drivers/of/address.c b/drivers/of/address.c
index 7ddbf0a..c42aebb 100644
--- a/drivers/of/address.c
+++ b/drivers/of/address.c
@@ -970,12 +970,16 @@
  * @np:	device node
  *
  * It returns true if "dma-coherent" property was found
- * for this device in DT.
+ * for this device in the DT, or if DMA is coherent by
+ * default for OF devices on the current platform.
  */
 bool of_dma_is_coherent(struct device_node *np)
 {
 	struct device_node *node = of_node_get(np);
 
+	if (IS_ENABLED(CONFIG_OF_DMA_DEFAULT_COHERENT))
+		return true;
+
 	while (node) {
 		if (of_property_read_bool(node, "dma-coherent")) {
 			of_node_put(node);
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index 9c73c84..688f122 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -25,6 +25,7 @@
 #include <linux/debugfs.h>
 #include <linux/serial_core.h>
 #include <linux/sysfs.h>
+#include <linux/random.h>
 
 #include <asm/setup.h>  /* for COMMAND_LINE_SIZE */
 #include <asm/page.h>
@@ -167,6 +168,7 @@
 
 	return ret;
 }
+EXPORT_SYMBOL_GPL(of_fdt_get_ddrtype);
 
 /**
  * of_fdt_is_compatible - Return true if given node from the given blob has
@@ -1190,6 +1192,7 @@
 	int l = 0;
 	const char *p = NULL;
 	char *cmdline = data;
+	const void *rng_seed;
 
 	pr_debug("search \"chosen\", depth: %d, uname: %s\n", depth, uname);
 
@@ -1224,6 +1227,14 @@
 
 	pr_debug("Command line is: %s\n", (char*)data);
 
+	rng_seed = of_get_flat_dt_prop(node, "rng-seed", &l);
+	if (rng_seed && l > 0) {
+		add_bootloader_randomness(rng_seed, l);
+
+		/* try to clear seed so it won't be found. */
+		fdt_nop_property(initial_boot_params, node, "rng-seed");
+	}
+
 	/* break now */
 	return 1;
 }
@@ -1326,8 +1337,6 @@
 
 	/* Setup flat device-tree pointer */
 	initial_boot_params = params;
-	of_fdt_crc32 = crc32_be(~0, initial_boot_params,
-				fdt_totalsize(initial_boot_params));
 	return true;
 }
 
@@ -1353,6 +1362,8 @@
 		return false;
 
 	early_init_dt_scan_nodes();
+	of_fdt_crc32 = crc32_be(~0, initial_boot_params,
+				fdt_totalsize(initial_boot_params));
 	return true;
 }
 
diff --git a/drivers/of/of_mdio.c b/drivers/of/of_mdio.c
index 5ad1342..7d2bc22 100644
--- a/drivers/of/of_mdio.c
+++ b/drivers/of/of_mdio.c
@@ -370,7 +370,7 @@
 	int ret;
 
 	iface = of_get_phy_mode(np);
-	if (iface < 0)
+	if ((int)iface < 0)
 		return NULL;
 	if (of_phy_is_fixed_link(np)) {
 		ret = of_phy_register_fixed_link(np);
diff --git a/drivers/of/property.c b/drivers/of/property.c
index bcd1b99..d54d5bd 100644
--- a/drivers/of/property.c
+++ b/drivers/of/property.c
@@ -1162,6 +1162,35 @@
 	return parse_suffix_prop_cells(np, prop_name, index, suffix, cells); \
 }
 
+static struct device_node *parse_msm_bus_name(struct device_node *np,
+					    const char *prop_name, int index)
+{
+	static struct device_node *bus_dev_np;
+
+	if (index || strcmp(prop_name, "qcom,msm-bus,name"))
+		return NULL;
+
+	if (!bus_dev_np)
+		bus_dev_np = of_find_compatible_node(NULL, NULL,
+						     "qcom,msm-bus-device");
+
+	return bus_dev_np;
+}
+
+/* Force ignore of any qcom properties. */
+static struct device_node *parse_qcom_any(struct device_node *np,
+					  const char *prop_name, int index)
+{
+	if (index || strncmp(prop_name, "qcom,", strlen("qcom,")))
+		return NULL;
+
+	/*
+	 * Returning np will cause this property to be matched and then
+	 * ignored.
+	 */
+	return np;
+}
+
 /**
  * struct supplier_bindings - Property parsing functions for suppliers
  *
@@ -1190,6 +1219,12 @@
 DEFINE_SIMPLE_PROP(io_channels, "io-channel", "#io-channel-cells")
 DEFINE_SIMPLE_PROP(interrupt_parent, "interrupt-parent", NULL)
 DEFINE_SIMPLE_PROP(dmas, "dmas", "#dma-cells")
+DEFINE_SIMPLE_PROP(power_domains, "power-domains", "#power-domain-cells")
+DEFINE_SIMPLE_PROP(hwlocks, "hwlocks", "#hwlock-cells")
+DEFINE_SIMPLE_PROP(pinctrl0, "pinctrl-0", NULL)
+DEFINE_SIMPLE_PROP(pinctrl1, "pinctrl-1", NULL)
+DEFINE_SIMPLE_PROP(pinctrl2, "pinctrl-2", NULL)
+DEFINE_SIMPLE_PROP(pinctrl3, "pinctrl-3", NULL)
 DEFINE_SUFFIX_PROP(regulators, "-supply", NULL)
 DEFINE_SUFFIX_PROP(gpio, "-gpio", "#gpio-cells")
 DEFINE_SUFFIX_PROP(gpios, "-gpios", "#gpio-cells")
@@ -1204,6 +1239,8 @@
 }
 
 static const struct supplier_bindings of_supplier_bindings[] = {
+	{ .parse_prop = parse_msm_bus_name, },
+	{ .parse_prop = parse_qcom_any, },
 	{ .parse_prop = parse_clocks, },
 	{ .parse_prop = parse_interconnects, },
 	{ .parse_prop = parse_iommus, },
@@ -1212,6 +1249,12 @@
 	{ .parse_prop = parse_io_channels, },
 	{ .parse_prop = parse_interrupt_parent, },
 	{ .parse_prop = parse_dmas, },
+	{ .parse_prop = parse_power_domains, },
+	{ .parse_prop = parse_hwlocks, },
+	{ .parse_prop = parse_pinctrl0, },
+	{ .parse_prop = parse_pinctrl1, },
+	{ .parse_prop = parse_pinctrl2, },
+	{ .parse_prop = parse_pinctrl3, },
 	{ .parse_prop = parse_regulators, },
 	{ .parse_prop = parse_gpio, },
 	{ .parse_prop = parse_gpios, },
diff --git a/drivers/opp/core.c b/drivers/opp/core.c
index 31eb950..486b6c6 100644
--- a/drivers/opp/core.c
+++ b/drivers/opp/core.c
@@ -793,6 +793,9 @@
 
 	INIT_LIST_HEAD(&opp_table->dev_list);
 
+	/* Mark regulator count uninitialized */
+	opp_table->regulator_count = -1;
+
 	opp_dev = _add_opp_dev(dev, opp_table);
 	if (!opp_dev) {
 		kfree(opp_table);
@@ -1008,7 +1011,7 @@
 	int count, supply_size;
 
 	/* Allocate space for at least one supply */
-	count = table->regulator_count ? table->regulator_count : 1;
+	count = table->regulator_count > 0 ? table->regulator_count : 1;
 	supply_size = sizeof(*opp->supplies) * count;
 
 	/* allocate new OPP node and supplies structures */
@@ -1416,7 +1419,7 @@
 
 	kfree(opp_table->regulators);
 	opp_table->regulators = NULL;
-	opp_table->regulator_count = 0;
+	opp_table->regulator_count = -1;
 err:
 	dev_pm_opp_put_opp_table(opp_table);
 
@@ -1445,7 +1448,7 @@
 
 	kfree(opp_table->regulators);
 	opp_table->regulators = NULL;
-	opp_table->regulator_count = 0;
+	opp_table->regulator_count = -1;
 
 put_opp_table:
 	dev_pm_opp_put_opp_table(opp_table);
@@ -1598,6 +1601,9 @@
 	if (!opp_table)
 		return -ENOMEM;
 
+	/* Fix regulator count for dynamic OPPs */
+	opp_table->regulator_count = 1;
+
 	ret = _opp_add_v1(opp_table, dev, freq, u_volt, true);
 
 	dev_pm_opp_put_opp_table(opp_table);
diff --git a/drivers/opp/of.c b/drivers/opp/of.c
index bce3b76..2923391 100644
--- a/drivers/opp/of.c
+++ b/drivers/opp/of.c
@@ -114,12 +114,10 @@
 			      struct opp_table *opp_table)
 {
 	u32 *microvolt, *microamp = NULL;
-	int supplies, vcount, icount, ret, i, j;
+	int supplies = opp_table->regulator_count, vcount, icount, ret, i, j;
 	struct property *prop = NULL;
 	char name[NAME_MAX];
 
-	supplies = opp_table->regulator_count ? opp_table->regulator_count : 1;
-
 	/* Search for "opp-microvolt-<name>" */
 	if (opp_table->prop_name) {
 		snprintf(name, sizeof(name), "opp-microvolt-%s",
@@ -134,7 +132,13 @@
 
 		/* Missing property isn't a problem, but an invalid entry is */
 		if (!prop) {
-			if (!opp_table->regulator_count)
+			if (unlikely(supplies == -1)) {
+				/* Initialize regulator_count */
+				opp_table->regulator_count = 0;
+				return 0;
+			}
+
+			if (!supplies)
 				return 0;
 
 			dev_err(dev, "%s: opp-microvolt missing although OPP managing regulators\n",
@@ -143,6 +147,14 @@
 		}
 	}
 
+	if (unlikely(supplies == -1)) {
+		/* Initialize regulator_count */
+		supplies = opp_table->regulator_count = 1;
+	} else if (unlikely(!supplies)) {
+		dev_err(dev, "%s: opp-microvolt wasn't expected\n", __func__);
+		return -EINVAL;
+	}
+
 	vcount = of_property_count_u32_elems(opp->np, name);
 	if (vcount < 0) {
 		dev_err(dev, "%s: Invalid %s property (%d)\n",
diff --git a/drivers/opp/opp.h b/drivers/opp/opp.h
index 7c540fd..c9e6596 100644
--- a/drivers/opp/opp.h
+++ b/drivers/opp/opp.h
@@ -136,7 +136,9 @@
  * @prop_name: A name to postfix to many DT properties, while parsing them.
  * @clk: Device's clock handle
  * @regulators: Supply regulators
- * @regulator_count: Number of power supply regulators
+ * @regulator_count: Number of power supply regulators. Its value can be -1
+ * (uninitialized), 0 (no opp-microvolt property) or > 0 (has opp-microvolt
+ * property).
  * @genpd_performance_state: Device's power domain support performance state.
  * @set_opp: Platform specific set_opp callback
  * @set_opp_data: Data to be passed to set_opp callback
@@ -172,7 +174,7 @@
 	const char *prop_name;
 	struct clk *clk;
 	struct regulator **regulators;
-	unsigned int regulator_count;
+	int regulator_count;
 	bool genpd_performance_state;
 
 	int (*set_opp)(struct dev_pm_set_opp_data *data);
diff --git a/drivers/pci/controller/dwc/pci-keystone-dw.c b/drivers/pci/controller/dwc/pci-keystone-dw.c
index 0682213..15c612e 100644
--- a/drivers/pci/controller/dwc/pci-keystone-dw.c
+++ b/drivers/pci/controller/dwc/pci-keystone-dw.c
@@ -425,7 +425,7 @@
 	/* Disable Link training */
 	val = ks_dw_app_readl(ks_pcie, CMD_STATUS);
 	val &= ~LTSSM_EN_VAL;
-	ks_dw_app_writel(ks_pcie, CMD_STATUS, LTSSM_EN_VAL | val);
+	ks_dw_app_writel(ks_pcie, CMD_STATUS, val);
 
 	/* Initiate Link Training */
 	val = ks_dw_app_readl(ks_pcie, CMD_STATUS);
diff --git a/drivers/pci/controller/dwc/pcie-designware-ep.c b/drivers/pci/controller/dwc/pcie-designware-ep.c
index 739d970..a3d07d9 100644
--- a/drivers/pci/controller/dwc/pcie-designware-ep.c
+++ b/drivers/pci/controller/dwc/pcie-designware-ep.c
@@ -46,16 +46,19 @@
 	u8 cap_id, next_cap_ptr;
 	u16 reg;
 
+	if (!cap_ptr)
+		return 0;
+
 	reg = dw_pcie_readw_dbi(pci, cap_ptr);
-	next_cap_ptr = (reg & 0xff00) >> 8;
 	cap_id = (reg & 0x00ff);
 
-	if (!next_cap_ptr || cap_id > PCI_CAP_ID_MAX)
+	if (cap_id > PCI_CAP_ID_MAX)
 		return 0;
 
 	if (cap_id == cap)
 		return cap_ptr;
 
+	next_cap_ptr = (reg & 0xff00) >> 8;
 	return __dw_pcie_ep_find_next_cap(pci, next_cap_ptr, cap);
 }
 
@@ -67,9 +70,6 @@
 	reg = dw_pcie_readw_dbi(pci, PCI_CAPABILITY_LIST);
 	next_cap_ptr = (reg & 0x00ff);
 
-	if (!next_cap_ptr)
-		return 0;
-
 	return __dw_pcie_ep_find_next_cap(pci, next_cap_ptr, cap);
 }
 
diff --git a/drivers/pci/controller/dwc/pcie-designware-host.c b/drivers/pci/controller/dwc/pcie-designware-host.c
index b57ee79..6d4ef01 100644
--- a/drivers/pci/controller/dwc/pcie-designware-host.c
+++ b/drivers/pci/controller/dwc/pcie-designware-host.c
@@ -78,7 +78,8 @@
 irqreturn_t dw_handle_msi_irq(struct pcie_port *pp)
 {
 	int i, pos, irq;
-	u32 val, num_ctrls;
+	unsigned long val;
+	u32 status, num_ctrls;
 	irqreturn_t ret = IRQ_NONE;
 
 	num_ctrls = pp->num_vectors / MAX_MSI_IRQS_PER_CTRL;
@@ -86,14 +87,14 @@
 	for (i = 0; i < num_ctrls; i++) {
 		dw_pcie_rd_own_conf(pp, PCIE_MSI_INTR0_STATUS +
 					(i * MSI_REG_CTRL_BLOCK_SIZE),
-				    4, &val);
-		if (!val)
+				    4, &status);
+		if (!status)
 			continue;
 
 		ret = IRQ_HANDLED;
+		val = status;
 		pos = 0;
-		while ((pos = find_next_bit((unsigned long *) &val,
-					    MAX_MSI_IRQS_PER_CTRL,
+		while ((pos = find_next_bit(&val, MAX_MSI_IRQS_PER_CTRL,
 					    pos)) != MAX_MSI_IRQS_PER_CTRL) {
 			irq = irq_find_mapping(pp->irq_domain,
 					       (i * MAX_MSI_IRQS_PER_CTRL) +
diff --git a/drivers/pci/controller/pci-msm.c b/drivers/pci/controller/pci-msm.c
index b30331f..c0e0722 100644
--- a/drivers/pci/controller/pci-msm.c
+++ b/drivers/pci/controller/pci-msm.c
@@ -682,7 +682,7 @@
 	bool disable_pc;
 	struct pci_saved_state *saved_state;
 
-	struct wakeup_source ws;
+	struct wakeup_source *ws;
 	struct msm_bus_scale_pdata *bus_scale_table;
 	uint32_t bus_client;
 
@@ -4991,8 +4991,8 @@
 		schedule_work(&dev->handle_wake_work);
 	} else {
 		PCIE_DBG2(dev, "Wake up RC%d\n", dev->rc_idx);
-		__pm_stay_awake(&dev->ws);
-		__pm_relax(&dev->ws);
+		__pm_stay_awake(dev->ws);
+		__pm_relax(dev->ws);
 
 		if (dev->num_ep > 1) {
 			for (i = 0; i < MAX_DEVICE_NUM; i++) {
@@ -5129,10 +5129,13 @@
 
 	PCIE_DBG(dev, "RC%d\n", dev->rc_idx);
 
-	if (dev->rc_idx)
-		wakeup_source_init(&dev->ws, "RC1 pcie_wakeup_source");
-	else
-		wakeup_source_init(&dev->ws, "RC0 pcie_wakeup_source");
+	dev->ws = wakeup_source_register(pdev, dev_name(pdev));
+	if (!dev->ws) {
+		PCIE_ERR(dev,
+			 "PCIe: RC%d: failed to register wakeup source\n",
+			 dev->rc_idx);
+		return -ENOMEM;
+	}
 
 	if (dev->irq[MSM_PCIE_INT_GLOBAL_INT].num) {
 		rc = devm_request_irq(pdev,
@@ -5180,7 +5183,7 @@
 {
 	PCIE_DBG(dev, "RC%d\n", dev->rc_idx);
 
-	wakeup_source_trash(&dev->ws);
+	wakeup_source_unregister(dev->ws);
 
 	if (dev->wake_n)
 		disable_irq(dev->wake_n);
diff --git a/drivers/pci/controller/pci-tegra.c b/drivers/pci/controller/pci-tegra.c
index 58e4873..6f86583 100644
--- a/drivers/pci/controller/pci-tegra.c
+++ b/drivers/pci/controller/pci-tegra.c
@@ -2398,7 +2398,7 @@
 
 	pm_runtime_enable(pcie->dev);
 	err = pm_runtime_get_sync(pcie->dev);
-	if (err) {
+	if (err < 0) {
 		dev_err(dev, "fail to enable pcie controller: %d\n", err);
 		goto teardown_msi;
 	}
diff --git a/drivers/pci/controller/pcie-iproc.c b/drivers/pci/controller/pcie-iproc.c
index 3160e93..ec86414 100644
--- a/drivers/pci/controller/pcie-iproc.c
+++ b/drivers/pci/controller/pcie-iproc.c
@@ -630,14 +630,6 @@
 			return (pcie->base + offset);
 	}
 
-	/*
-	 * PAXC is connected to an internally emulated EP within the SoC.  It
-	 * allows only one device.
-	 */
-	if (pcie->ep_is_internal)
-		if (slot > 0)
-			return NULL;
-
 	return iproc_pcie_map_ep_cfg_reg(pcie, busno, slot, fn, where);
 }
 
@@ -1355,7 +1347,6 @@
 		break;
 	case IPROC_PCIE_PAXB:
 		regs = iproc_pcie_reg_paxb;
-		pcie->iproc_cfg_read = true;
 		pcie->has_apb_err_disable = true;
 		if (pcie->need_ob_cfg) {
 			pcie->ob_map = paxb_ob_map;
@@ -1364,6 +1355,7 @@
 		break;
 	case IPROC_PCIE_PAXB_V2:
 		regs = iproc_pcie_reg_paxb_v2;
+		pcie->iproc_cfg_read = true;
 		pcie->has_apb_err_disable = true;
 		if (pcie->need_ob_cfg) {
 			pcie->ob_map = paxb_v2_ob_map;
@@ -1534,6 +1526,30 @@
 DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_BROADCOM, 0xd804,
 			quirk_paxc_disable_msi_parsing);
 
+static void quirk_paxc_bridge(struct pci_dev *pdev)
+{
+	/*
+	 * The PCI config space is shared with the PAXC root port and the first
+	 * Ethernet device.  So, we need to workaround this by telling the PCI
+	 * code that the bridge is not an Ethernet device.
+	 */
+	if (pdev->hdr_type == PCI_HEADER_TYPE_BRIDGE)
+		pdev->class = PCI_CLASS_BRIDGE_PCI << 8;
+
+	/*
+	 * MPSS is not being set properly (as it is currently 0).  This is
+	 * because that area of the PCI config space is hard coded to zero, and
+	 * is not modifiable by firmware.  Set this to 2 (e.g., 512 byte MPS)
+	 * so that the MPS can be set to the real max value.
+	 */
+	pdev->pcie_mpss = 2;
+}
+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_BROADCOM, 0x16cd, quirk_paxc_bridge);
+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_BROADCOM, 0x16f0, quirk_paxc_bridge);
+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_BROADCOM, 0xd750, quirk_paxc_bridge);
+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_BROADCOM, 0xd802, quirk_paxc_bridge);
+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_BROADCOM, 0xd804, quirk_paxc_bridge);
+
 MODULE_AUTHOR("Ray Jui <rjui@broadcom.com>");
 MODULE_DESCRIPTION("Broadcom iPROC PCIe common driver");
 MODULE_LICENSE("GPL v2");
diff --git a/drivers/pci/controller/pcie-mobiveil.c b/drivers/pci/controller/pcie-mobiveil.c
index a2d1e89..14f8165 100644
--- a/drivers/pci/controller/pcie-mobiveil.c
+++ b/drivers/pci/controller/pcie-mobiveil.c
@@ -174,7 +174,7 @@
 	 * Do not read more than one device on the bus directly
 	 * attached to RC
 	 */
-	if ((bus->primary == pcie->root_bus_nr) && (devfn > 0))
+	if ((bus->primary == pcie->root_bus_nr) && (PCI_SLOT(devfn) > 0))
 		return false;
 
 	return true;
@@ -395,7 +395,7 @@
 	int amap_ctrl_dw;
 	u64 size64 = ~(size - 1);
 
-	if ((pcie->ib_wins_configured + 1) > pcie->ppio_wins) {
+	if (win_num >= pcie->ppio_wins) {
 		dev_err(&pcie->pdev->dev,
 			"ERROR: max inbound windows reached !\n");
 		return;
@@ -429,7 +429,7 @@
 	u32 value, type;
 	u64 size64 = ~(size - 1);
 
-	if ((pcie->ob_wins_configured + 1) > pcie->apio_wins) {
+	if (win_num >= pcie->apio_wins) {
 		dev_err(&pcie->pdev->dev,
 			"ERROR: max outbound windows reached !\n");
 		return;
@@ -643,7 +643,7 @@
 
 static struct msi_domain_info mobiveil_msi_domain_info = {
 	.flags	= (MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
-		MSI_FLAG_MULTI_PCI_MSI | MSI_FLAG_PCI_MSIX),
+		   MSI_FLAG_PCI_MSIX),
 	.chip	= &mobiveil_msi_irq_chip,
 };
 
diff --git a/drivers/pci/controller/pcie-rockchip-ep.c b/drivers/pci/controller/pcie-rockchip-ep.c
index b8163c5..caf3466 100644
--- a/drivers/pci/controller/pcie-rockchip-ep.c
+++ b/drivers/pci/controller/pcie-rockchip-ep.c
@@ -350,7 +350,7 @@
 	struct rockchip_pcie *rockchip = &ep->rockchip;
 	u32 r = ep->max_regions - 1;
 	u32 offset;
-	u16 status;
+	u32 status;
 	u8 msg_code;
 
 	if (unlikely(ep->irq_pci_addr != ROCKCHIP_PCIE_EP_PCI_LEGACY_IRQ_ADDR ||
diff --git a/drivers/pci/endpoint/functions/pci-epf-test.c b/drivers/pci/endpoint/functions/pci-epf-test.c
index 3e86fa3..4bbd26e 100644
--- a/drivers/pci/endpoint/functions/pci-epf-test.c
+++ b/drivers/pci/endpoint/functions/pci-epf-test.c
@@ -175,7 +175,7 @@
 		goto err_map_addr;
 	}
 
-	memcpy(buf, src_addr, reg->size);
+	memcpy_fromio(buf, src_addr, reg->size);
 
 	crc32 = crc32_le(~0, buf, reg->size);
 	if (crc32 != reg->checksum)
@@ -230,7 +230,7 @@
 	get_random_bytes(buf, reg->size);
 	reg->checksum = crc32_le(~0, buf, reg->size);
 
-	memcpy(dst_addr, buf, reg->size);
+	memcpy_toio(dst_addr, buf, reg->size);
 
 	/*
 	 * wait 1ms inorder for the write to complete. Without this delay L3
diff --git a/drivers/pci/iov.c b/drivers/pci/iov.c
index c5f3cd4e..c3b0b10 100644
--- a/drivers/pci/iov.c
+++ b/drivers/pci/iov.c
@@ -188,10 +188,10 @@
 	sprintf(buf, "virtfn%u", id);
 	rc = sysfs_create_link(&dev->dev.kobj, &virtfn->dev.kobj, buf);
 	if (rc)
-		goto failed2;
+		goto failed1;
 	rc = sysfs_create_link(&virtfn->dev.kobj, &dev->dev.kobj, "physfn");
 	if (rc)
-		goto failed3;
+		goto failed2;
 
 	kobject_uevent(&virtfn->dev.kobj, KOBJ_CHANGE);
 
@@ -199,11 +199,10 @@
 
 	return 0;
 
-failed3:
-	sysfs_remove_link(&dev->dev.kobj, buf);
 failed2:
-	pci_stop_and_remove_bus_device(virtfn);
+	sysfs_remove_link(&dev->dev.kobj, buf);
 failed1:
+	pci_stop_and_remove_bus_device(virtfn);
 	pci_dev_put(dev);
 failed0:
 	virtfn_remove_bus(dev->bus, bus);
diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c
index de65154..d11e157 100644
--- a/drivers/pci/pci-driver.c
+++ b/drivers/pci/pci-driver.c
@@ -968,15 +968,15 @@
 	}
 
 	/*
-	 * This used to be done in pci_pm_prepare() for all devices and some
-	 * drivers may depend on it, so do it here.  Ideally, runtime-suspended
-	 * devices should not be touched during freeze/thaw transitions,
-	 * however.
+	 * Resume all runtime-suspended devices before creating a snapshot
+	 * image of system memory, because the restore kernel generally cannot
+	 * be expected to always handle them consistently and they need to be
+	 * put into the runtime-active metastate during system resume anyway,
+	 * so it is better to ensure that the state saved in the image will be
+	 * always consistent with that.
 	 */
-	if (!dev_pm_smart_suspend_and_suspended(dev)) {
-		pm_runtime_resume(dev);
-		pci_dev->state_saved = false;
-	}
+	pm_runtime_resume(dev);
+	pci_dev->state_saved = false;
 
 	if (pm->freeze) {
 		int error;
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index c9f51fc..57a87a0 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -5039,39 +5039,42 @@
 	return 0;
 }
 
-/* Save and disable devices from the top of the tree down */
-static void pci_bus_save_and_disable(struct pci_bus *bus)
+/*
+ * Save and disable devices from the top of the tree down while holding
+ * the @dev mutex lock for the entire tree.
+ */
+static void pci_bus_save_and_disable_locked(struct pci_bus *bus)
 {
 	struct pci_dev *dev;
 
 	list_for_each_entry(dev, &bus->devices, bus_list) {
-		pci_dev_lock(dev);
 		pci_dev_save_and_disable(dev);
-		pci_dev_unlock(dev);
 		if (dev->subordinate)
-			pci_bus_save_and_disable(dev->subordinate);
+			pci_bus_save_and_disable_locked(dev->subordinate);
 	}
 }
 
 /*
- * Restore devices from top of the tree down - parent bridges need to be
- * restored before we can get to subordinate devices.
+ * Restore devices from top of the tree down while holding @dev mutex lock
+ * for the entire tree.  Parent bridges need to be restored before we can
+ * get to subordinate devices.
  */
-static void pci_bus_restore(struct pci_bus *bus)
+static void pci_bus_restore_locked(struct pci_bus *bus)
 {
 	struct pci_dev *dev;
 
 	list_for_each_entry(dev, &bus->devices, bus_list) {
-		pci_dev_lock(dev);
 		pci_dev_restore(dev);
-		pci_dev_unlock(dev);
 		if (dev->subordinate)
-			pci_bus_restore(dev->subordinate);
+			pci_bus_restore_locked(dev->subordinate);
 	}
 }
 
-/* Save and disable devices from the top of the tree down */
-static void pci_slot_save_and_disable(struct pci_slot *slot)
+/*
+ * Save and disable devices from the top of the tree down while holding
+ * the @dev mutex lock for the entire tree.
+ */
+static void pci_slot_save_and_disable_locked(struct pci_slot *slot)
 {
 	struct pci_dev *dev;
 
@@ -5080,26 +5083,25 @@
 			continue;
 		pci_dev_save_and_disable(dev);
 		if (dev->subordinate)
-			pci_bus_save_and_disable(dev->subordinate);
+			pci_bus_save_and_disable_locked(dev->subordinate);
 	}
 }
 
 /*
- * Restore devices from top of the tree down - parent bridges need to be
- * restored before we can get to subordinate devices.
+ * Restore devices from top of the tree down while holding @dev mutex lock
+ * for the entire tree.  Parent bridges need to be restored before we can
+ * get to subordinate devices.
  */
-static void pci_slot_restore(struct pci_slot *slot)
+static void pci_slot_restore_locked(struct pci_slot *slot)
 {
 	struct pci_dev *dev;
 
 	list_for_each_entry(dev, &slot->bus->devices, bus_list) {
 		if (!dev->slot || dev->slot != slot)
 			continue;
-		pci_dev_lock(dev);
 		pci_dev_restore(dev);
-		pci_dev_unlock(dev);
 		if (dev->subordinate)
-			pci_bus_restore(dev->subordinate);
+			pci_bus_restore_locked(dev->subordinate);
 	}
 }
 
@@ -5158,17 +5160,15 @@
 	if (rc)
 		return rc;
 
-	pci_slot_save_and_disable(slot);
-
 	if (pci_slot_trylock(slot)) {
+		pci_slot_save_and_disable_locked(slot);
 		might_sleep();
 		rc = pci_reset_hotplug_slot(slot->hotplug, 0);
+		pci_slot_restore_locked(slot);
 		pci_slot_unlock(slot);
 	} else
 		rc = -EAGAIN;
 
-	pci_slot_restore(slot);
-
 	return rc;
 }
 
@@ -5254,17 +5254,15 @@
 	if (rc)
 		return rc;
 
-	pci_bus_save_and_disable(bus);
-
 	if (pci_bus_trylock(bus)) {
+		pci_bus_save_and_disable_locked(bus);
 		might_sleep();
 		rc = pci_bridge_secondary_bus_reset(bus->self);
+		pci_bus_restore_locked(bus);
 		pci_bus_unlock(bus);
 	} else
 		rc = -EAGAIN;
 
-	pci_bus_restore(bus);
-
 	return rc;
 }
 
diff --git a/drivers/pci/pcie/ptm.c b/drivers/pci/pcie/ptm.c
index 98cfa30..9361f3a 100644
--- a/drivers/pci/pcie/ptm.c
+++ b/drivers/pci/pcie/ptm.c
@@ -21,7 +21,7 @@
 		snprintf(clock_desc, sizeof(clock_desc), ">254ns");
 		break;
 	default:
-		snprintf(clock_desc, sizeof(clock_desc), "%udns",
+		snprintf(clock_desc, sizeof(clock_desc), "%uns",
 			 dev->ptm_granularity);
 		break;
 	}
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 20a57a4..419dda6 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -1848,19 +1848,40 @@
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL,	0x260a, quirk_intel_pcie_pm);
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL,	0x260b, quirk_intel_pcie_pm);
 
+static void quirk_d3hot_delay(struct pci_dev *dev, unsigned int delay)
+{
+	if (dev->d3_delay >= delay)
+		return;
+
+	dev->d3_delay = delay;
+	pci_info(dev, "extending delay after power-on from D3hot to %d msec\n",
+		 dev->d3_delay);
+}
+
 static void quirk_radeon_pm(struct pci_dev *dev)
 {
 	if (dev->subsystem_vendor == PCI_VENDOR_ID_APPLE &&
-	    dev->subsystem_device == 0x00e2) {
-		if (dev->d3_delay < 20) {
-			dev->d3_delay = 20;
-			pci_info(dev, "extending delay after power-on from D3 to %d msec\n",
-				 dev->d3_delay);
-		}
-	}
+	    dev->subsystem_device == 0x00e2)
+		quirk_d3hot_delay(dev, 20);
 }
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x6741, quirk_radeon_pm);
 
+/*
+ * Ryzen5/7 XHCI controllers fail upon resume from runtime suspend or s2idle.
+ * https://bugzilla.kernel.org/show_bug.cgi?id=205587
+ *
+ * The kernel attempts to transition these devices to D3cold, but that seems
+ * to be ineffective on the platforms in question; the PCI device appears to
+ * remain on in D3hot state. The D3hot-to-D0 transition then requires an
+ * extended delay in order to succeed.
+ */
+static void quirk_ryzen_xhci_d3hot(struct pci_dev *dev)
+{
+	quirk_d3hot_delay(dev, 20);
+}
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, 0x15e0, quirk_ryzen_xhci_d3hot);
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, 0x15e1, quirk_ryzen_xhci_d3hot);
+
 #ifdef CONFIG_X86_IO_APIC
 static int dmi_disable_ioapicreroute(const struct dmi_system_id *d)
 {
@@ -2358,32 +2379,6 @@
 			 PCI_DEVICE_ID_TIGON3_5719,
 			 quirk_brcm_5719_limit_mrrs);
 
-#ifdef CONFIG_PCIE_IPROC_PLATFORM
-static void quirk_paxc_bridge(struct pci_dev *pdev)
-{
-	/*
-	 * The PCI config space is shared with the PAXC root port and the first
-	 * Ethernet device.  So, we need to workaround this by telling the PCI
-	 * code that the bridge is not an Ethernet device.
-	 */
-	if (pdev->hdr_type == PCI_HEADER_TYPE_BRIDGE)
-		pdev->class = PCI_CLASS_BRIDGE_PCI << 8;
-
-	/*
-	 * MPSS is not being set properly (as it is currently 0).  This is
-	 * because that area of the PCI config space is hard coded to zero, and
-	 * is not modifiable by firmware.  Set this to 2 (e.g., 512 byte MPS)
-	 * so that the MPS can be set to the real max value.
-	 */
-	pdev->pcie_mpss = 2;
-}
-DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_BROADCOM, 0x16cd, quirk_paxc_bridge);
-DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_BROADCOM, 0x16f0, quirk_paxc_bridge);
-DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_BROADCOM, 0xd750, quirk_paxc_bridge);
-DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_BROADCOM, 0xd802, quirk_paxc_bridge);
-DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_BROADCOM, 0xd804, quirk_paxc_bridge);
-#endif
-
 /*
  * Originally in EDAC sources for i82875P: Intel tells BIOS developers to
  * hide device 6 which configures the overflow device access containing the
@@ -3987,6 +3982,40 @@
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2264, quirk_mic_x200_dma_alias);
 
 /*
+ * Intel Visual Compute Accelerator (VCA) is a family of PCIe add-in devices
+ * exposing computational units via Non Transparent Bridges (NTB, PEX 87xx).
+ *
+ * Similarly to MIC x200, we need to add DMA aliases to allow buffer access
+ * when IOMMU is enabled.  These aliases allow computational unit access to
+ * host memory.  These aliases mark the whole VCA device as one IOMMU
+ * group.
+ *
+ * All possible slot numbers (0x20) are used, since we are unable to tell
+ * what slot is used on other side.  This quirk is intended for both host
+ * and computational unit sides.  The VCA devices have up to five functions
+ * (four for DMA channels and one additional).
+ */
+static void quirk_pex_vca_alias(struct pci_dev *pdev)
+{
+	const unsigned int num_pci_slots = 0x20;
+	unsigned int slot;
+
+	for (slot = 0; slot < num_pci_slots; slot++) {
+		pci_add_dma_alias(pdev, PCI_DEVFN(slot, 0x0));
+		pci_add_dma_alias(pdev, PCI_DEVFN(slot, 0x1));
+		pci_add_dma_alias(pdev, PCI_DEVFN(slot, 0x2));
+		pci_add_dma_alias(pdev, PCI_DEVFN(slot, 0x3));
+		pci_add_dma_alias(pdev, PCI_DEVFN(slot, 0x4));
+	}
+}
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2954, quirk_pex_vca_alias);
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2955, quirk_pex_vca_alias);
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2956, quirk_pex_vca_alias);
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2958, quirk_pex_vca_alias);
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2959, quirk_pex_vca_alias);
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x295A, quirk_pex_vca_alias);
+
+/*
  * The IOMMU and interrupt controller on Broadcom Vulcan/Cavium ThunderX2 are
  * associated not at the root bus, but at a bridge below. This quirk avoids
  * generating invalid DMA aliases.
@@ -4891,18 +4920,25 @@
 
 #ifdef CONFIG_PCI_ATS
 /*
- * Some devices have a broken ATS implementation causing IOMMU stalls.
- * Don't use ATS for those devices.
+ * Some devices require additional driver setup to enable ATS.  Don't use
+ * ATS for those devices as ATS will be enabled before the driver has had a
+ * chance to load and configure the device.
  */
-static void quirk_no_ats(struct pci_dev *pdev)
+static void quirk_amd_harvest_no_ats(struct pci_dev *pdev)
 {
-	pci_info(pdev, "disabling ATS (broken on this device)\n");
+	if (pdev->device == 0x7340 && pdev->revision != 0xc5)
+		return;
+
+	pci_info(pdev, "disabling ATS\n");
 	pdev->ats_cap = 0;
 }
 
 /* AMD Stoney platform GPU */
-DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x98e4, quirk_no_ats);
-DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x6900, quirk_no_ats);
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x98e4, quirk_amd_harvest_no_ats);
+/* AMD Iceland dGPU */
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x6900, quirk_amd_harvest_no_ats);
+/* AMD Navi14 dGPU */
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, 0x7340, quirk_amd_harvest_no_ats);
 #endif /* CONFIG_PCI_ATS */
 
 /* Freescale PCIe doesn't support MSI in RC mode */
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index 79b1824..8e5b00a 100644
--- a/drivers/pci/setup-bus.c
+++ b/drivers/pci/setup-bus.c
@@ -1820,12 +1820,18 @@
 	/* restore size and flags */
 	list_for_each_entry(fail_res, &fail_head, list) {
 		struct resource *res = fail_res->res;
+		int idx;
 
 		res->start = fail_res->start;
 		res->end = fail_res->end;
 		res->flags = fail_res->flags;
-		if (fail_res->dev->subordinate)
-			res->flags = 0;
+
+		if (pci_is_bridge(fail_res->dev)) {
+			idx = res - &fail_res->dev->resource[0];
+			if (idx >= PCI_BRIDGE_RESOURCES &&
+			    idx <= PCI_BRIDGE_RESOURCE_END)
+				res->flags = 0;
+		}
 	}
 	free_list(&fail_head);
 
@@ -2066,12 +2072,18 @@
 	/* restore size and flags */
 	list_for_each_entry(fail_res, &fail_head, list) {
 		struct resource *res = fail_res->res;
+		int idx;
 
 		res->start = fail_res->start;
 		res->end = fail_res->end;
 		res->flags = fail_res->flags;
-		if (fail_res->dev->subordinate)
-			res->flags = 0;
+
+		if (pci_is_bridge(fail_res->dev)) {
+			idx = res - &fail_res->dev->resource[0];
+			if (idx >= PCI_BRIDGE_RESOURCES &&
+			    idx <= PCI_BRIDGE_RESOURCE_END)
+				res->flags = 0;
+		}
 	}
 	free_list(&fail_head);
 
diff --git a/drivers/pci/switch/switchtec.c b/drivers/pci/switch/switchtec.c
index 5aaa4ce..4343181 100644
--- a/drivers/pci/switch/switchtec.c
+++ b/drivers/pci/switch/switchtec.c
@@ -134,10 +134,6 @@
 		    stuser->data, stuser->data_len);
 	iowrite32(stuser->cmd, &stdev->mmio_mrpc->cmd);
 
-	stuser->status = ioread32(&stdev->mmio_mrpc->status);
-	if (stuser->status != SWITCHTEC_MRPC_STATUS_INPROGRESS)
-		mrpc_complete_cmd(stdev);
-
 	schedule_delayed_work(&stdev->mrpc_timeout,
 			      msecs_to_jiffies(500));
 }
@@ -1190,7 +1186,7 @@
 	if (nvecs < 0)
 		return nvecs;
 
-	event_irq = ioread32(&stdev->mmio_part_cfg->vep_vector_number);
+	event_irq = ioread16(&stdev->mmio_part_cfg->vep_vector_number);
 	if (event_irq < 0 || event_irq >= nvecs)
 		return -EFAULT;
 
diff --git a/drivers/phy/broadcom/phy-brcm-usb.c b/drivers/phy/broadcom/phy-brcm-usb.c
index d1dab36..e2455ff 100644
--- a/drivers/phy/broadcom/phy-brcm-usb.c
+++ b/drivers/phy/broadcom/phy-brcm-usb.c
@@ -378,6 +378,13 @@
 	return 0;
 }
 
+static int brcm_usb_phy_remove(struct platform_device *pdev)
+{
+	sysfs_remove_group(&pdev->dev.kobj, &brcm_usb_phy_group);
+
+	return 0;
+}
+
 #ifdef CONFIG_PM_SLEEP
 static int brcm_usb_phy_suspend(struct device *dev)
 {
@@ -443,6 +450,7 @@
 
 static struct platform_driver brcm_usb_driver = {
 	.probe		= brcm_usb_phy_probe,
+	.remove		= brcm_usb_phy_remove,
 	.driver		= {
 		.name	= "brcmstb-usb-phy",
 		.owner	= THIS_MODULE,
diff --git a/drivers/phy/motorola/phy-cpcap-usb.c b/drivers/phy/motorola/phy-cpcap-usb.c
index 6601ad0..593c77d 100644
--- a/drivers/phy/motorola/phy-cpcap-usb.c
+++ b/drivers/phy/motorola/phy-cpcap-usb.c
@@ -115,7 +115,7 @@
 enum cpcap_gpio_mode {
 	CPCAP_DM_DP,
 	CPCAP_MDM_RX_TX,
-	CPCAP_UNKNOWN,
+	CPCAP_UNKNOWN_DISABLED,	/* Seems to disable USB lines */
 	CPCAP_OTG_DM_DP,
 };
 
@@ -207,6 +207,19 @@
 static int cpcap_usb_set_uart_mode(struct cpcap_phy_ddata *ddata);
 static int cpcap_usb_set_usb_mode(struct cpcap_phy_ddata *ddata);
 
+static void cpcap_usb_try_musb_mailbox(struct cpcap_phy_ddata *ddata,
+				       enum musb_vbus_id_status status)
+{
+	int error;
+
+	error = musb_mailbox(status);
+	if (!error)
+		return;
+
+	dev_dbg(ddata->dev, "%s: musb_mailbox failed: %i\n",
+		__func__, error);
+}
+
 static void cpcap_usb_detect(struct work_struct *work)
 {
 	struct cpcap_phy_ddata *ddata;
@@ -226,9 +239,7 @@
 		if (error)
 			goto out_err;
 
-		error = musb_mailbox(MUSB_ID_GROUND);
-		if (error)
-			goto out_err;
+		cpcap_usb_try_musb_mailbox(ddata, MUSB_ID_GROUND);
 
 		error = regmap_update_bits(ddata->reg, CPCAP_REG_USBC3,
 					   CPCAP_BIT_VBUSSTBY_EN,
@@ -255,9 +266,7 @@
 			error = cpcap_usb_set_usb_mode(ddata);
 			if (error)
 				goto out_err;
-			error = musb_mailbox(MUSB_ID_GROUND);
-			if (error)
-				goto out_err;
+			cpcap_usb_try_musb_mailbox(ddata, MUSB_ID_GROUND);
 
 			return;
 		}
@@ -267,22 +276,18 @@
 		error = cpcap_usb_set_usb_mode(ddata);
 		if (error)
 			goto out_err;
-		error = musb_mailbox(MUSB_VBUS_VALID);
-		if (error)
-			goto out_err;
+		cpcap_usb_try_musb_mailbox(ddata, MUSB_VBUS_VALID);
 
 		return;
 	}
 
+	cpcap_usb_try_musb_mailbox(ddata, MUSB_VBUS_OFF);
+
 	/* Default to debug UART mode */
 	error = cpcap_usb_set_uart_mode(ddata);
 	if (error)
 		goto out_err;
 
-	error = musb_mailbox(MUSB_VBUS_OFF);
-	if (error)
-		goto out_err;
-
 	dev_dbg(ddata->dev, "set UART mode\n");
 
 	return;
@@ -374,7 +379,8 @@
 {
 	int error;
 
-	error = cpcap_usb_gpio_set_mode(ddata, CPCAP_DM_DP);
+	/* Disable lines to prevent glitches from waking up mdm6600 */
+	error = cpcap_usb_gpio_set_mode(ddata, CPCAP_UNKNOWN_DISABLED);
 	if (error)
 		goto out_err;
 
@@ -401,6 +407,11 @@
 	if (error)
 		goto out_err;
 
+	/* Enable UART mode */
+	error = cpcap_usb_gpio_set_mode(ddata, CPCAP_DM_DP);
+	if (error)
+		goto out_err;
+
 	return 0;
 
 out_err:
@@ -413,7 +424,8 @@
 {
 	int error;
 
-	error = cpcap_usb_gpio_set_mode(ddata, CPCAP_OTG_DM_DP);
+	/* Disable lines to prevent glitches from waking up mdm6600 */
+	error = cpcap_usb_gpio_set_mode(ddata, CPCAP_UNKNOWN_DISABLED);
 	if (error)
 		return error;
 
@@ -453,6 +465,11 @@
 	if (error)
 		goto out_err;
 
+	/* Enable USB mode */
+	error = cpcap_usb_gpio_set_mode(ddata, CPCAP_OTG_DM_DP);
+	if (error)
+		goto out_err;
+
 	return 0;
 
 out_err:
@@ -647,9 +664,7 @@
 	if (error)
 		dev_err(ddata->dev, "could not set UART mode\n");
 
-	error = musb_mailbox(MUSB_VBUS_OFF);
-	if (error)
-		dev_err(ddata->dev, "could not set mailbox\n");
+	cpcap_usb_try_musb_mailbox(ddata, MUSB_VBUS_OFF);
 
 	usb_remove_phy(&ddata->phy);
 	cancel_delayed_work_sync(&ddata->detect_work);
diff --git a/drivers/phy/motorola/phy-mapphone-mdm6600.c b/drivers/phy/motorola/phy-mapphone-mdm6600.c
index 0075fb0..7751801 100644
--- a/drivers/phy/motorola/phy-mapphone-mdm6600.c
+++ b/drivers/phy/motorola/phy-mapphone-mdm6600.c
@@ -19,6 +19,7 @@
 
 #define PHY_MDM6600_PHY_DELAY_MS	4000	/* PHY enable 2.2s to 3.5s */
 #define PHY_MDM6600_ENABLED_DELAY_MS	8000	/* 8s more total for MDM6600 */
+#define PHY_MDM6600_WAKE_KICK_MS	600	/* time on after GPIO toggle */
 #define MDM6600_MODEM_IDLE_DELAY_MS	1000	/* modem after USB suspend */
 #define MDM6600_MODEM_WAKE_DELAY_MS	200	/* modem response after idle */
 
@@ -224,10 +225,24 @@
 {
 	struct phy_mdm6600 *ddata = data;
 	struct gpio_desc *mode_gpio1;
+	int error, wakeup;
 
 	mode_gpio1 = ddata->mode_gpios->desc[PHY_MDM6600_MODE1];
-	dev_dbg(ddata->dev, "OOB wake on mode_gpio1: %i\n",
-		gpiod_get_value(mode_gpio1));
+	wakeup = gpiod_get_value(mode_gpio1);
+	if (!wakeup)
+		return IRQ_NONE;
+
+	dev_dbg(ddata->dev, "OOB wake on mode_gpio1: %i\n", wakeup);
+	error = pm_runtime_get_sync(ddata->dev);
+	if (error < 0) {
+		pm_runtime_put_noidle(ddata->dev);
+
+		return IRQ_NONE;
+	}
+
+	/* Just wake-up and kick the autosuspend timer */
+	pm_runtime_mark_last_busy(ddata->dev);
+	pm_runtime_put_autosuspend(ddata->dev);
 
 	return IRQ_HANDLED;
 }
@@ -477,8 +492,14 @@
 
 	ddata = container_of(work, struct phy_mdm6600, modem_wake_work.work);
 	phy_mdm6600_wake_modem(ddata);
+
+	/*
+	 * The modem does not always stay awake 1.2 seconds after toggling
+	 * the wake GPIO, and sometimes it idles after about some 600 ms
+	 * making writes time out.
+	 */
 	schedule_delayed_work(&ddata->modem_wake_work,
-			      msecs_to_jiffies(MDM6600_MODEM_IDLE_DELAY_MS));
+			      msecs_to_jiffies(PHY_MDM6600_WAKE_KICK_MS));
 }
 
 static int __maybe_unused phy_mdm6600_runtime_suspend(struct device *dev)
diff --git a/drivers/phy/qualcomm/phy-qcom-apq8064-sata.c b/drivers/phy/qualcomm/phy-qcom-apq8064-sata.c
index 69ce2af..c6925e3 100644
--- a/drivers/phy/qualcomm/phy-qcom-apq8064-sata.c
+++ b/drivers/phy/qualcomm/phy-qcom-apq8064-sata.c
@@ -88,7 +88,7 @@
 		if (readl_relaxed(addr) & mask)
 			return 0;
 
-		 usleep_range(DELAY_INTERVAL_US, DELAY_INTERVAL_US + 50);
+		usleep_range(DELAY_INTERVAL_US, DELAY_INTERVAL_US + 50);
 	} while (!time_after(jiffies, timeout));
 
 	return (readl_relaxed(addr) & mask) ? 0 : -ETIMEDOUT;
diff --git a/drivers/phy/qualcomm/phy-qcom-qmp.c b/drivers/phy/qualcomm/phy-qcom-qmp.c
index 4c47010..cf51592 100644
--- a/drivers/phy/qualcomm/phy-qcom-qmp.c
+++ b/drivers/phy/qualcomm/phy-qcom-qmp.c
@@ -66,7 +66,7 @@
 /* QPHY_V3_PCS_MISC_CLAMP_ENABLE register bits */
 #define CLAMP_EN				BIT(0) /* enables i/o clamp_n */
 
-#define PHY_INIT_COMPLETE_TIMEOUT		1000
+#define PHY_INIT_COMPLETE_TIMEOUT		10000
 #define POWER_DOWN_DELAY_US_MIN			10
 #define POWER_DOWN_DELAY_US_MAX			11
 
diff --git a/drivers/phy/qualcomm/phy-qcom-qusb2.c b/drivers/phy/qualcomm/phy-qcom-qusb2.c
index 69c9284..9b7ae93 100644
--- a/drivers/phy/qualcomm/phy-qcom-qusb2.c
+++ b/drivers/phy/qualcomm/phy-qcom-qusb2.c
@@ -526,7 +526,7 @@
 	}
 
 	if (!qphy->has_se_clk_scheme) {
-		clk_prepare_enable(qphy->ref_clk);
+		ret = clk_prepare_enable(qphy->ref_clk);
 		if (ret) {
 			dev_err(dev, "failed to enable ref clk, %d\n", ret);
 			goto disable_ahb_clk;
diff --git a/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c b/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c
index b70058c..20b9864 100644
--- a/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c
+++ b/drivers/pinctrl/bcm/pinctrl-iproc-gpio.c
@@ -54,8 +54,12 @@
 /* drive strength control for ASIU GPIO */
 #define IPROC_GPIO_ASIU_DRV0_CTRL_OFFSET 0x58
 
-/* drive strength control for CCM/CRMU (AON) GPIO */
-#define IPROC_GPIO_DRV0_CTRL_OFFSET  0x00
+/* pinconf for CCM GPIO */
+#define IPROC_GPIO_PULL_DN_OFFSET   0x10
+#define IPROC_GPIO_PULL_UP_OFFSET   0x14
+
+/* pinconf for CRMU(aon) GPIO and CCM GPIO*/
+#define IPROC_GPIO_DRV_CTRL_OFFSET  0x00
 
 #define GPIO_BANK_SIZE 0x200
 #define NGPIOS_PER_BANK 32
@@ -76,6 +80,12 @@
 	IPROC_PINCON_MAX,
 };
 
+enum iproc_pinconf_ctrl_type {
+	IOCTRL_TYPE_AON = 1,
+	IOCTRL_TYPE_CDRU,
+	IOCTRL_TYPE_INVALID,
+};
+
 /*
  * Iproc GPIO core
  *
@@ -100,6 +110,7 @@
 
 	void __iomem *base;
 	void __iomem *io_ctrl;
+	enum iproc_pinconf_ctrl_type io_ctrl_type;
 
 	raw_spinlock_t lock;
 
@@ -461,20 +472,44 @@
 static int iproc_gpio_set_pull(struct iproc_gpio *chip, unsigned gpio,
 				bool disable, bool pull_up)
 {
+	void __iomem *base;
 	unsigned long flags;
+	unsigned int shift;
+	u32 val_1, val_2;
 
 	raw_spin_lock_irqsave(&chip->lock, flags);
+	if (chip->io_ctrl_type == IOCTRL_TYPE_CDRU) {
+		base = chip->io_ctrl;
+		shift = IPROC_GPIO_SHIFT(gpio);
 
-	if (disable) {
-		iproc_set_bit(chip, IPROC_GPIO_RES_EN_OFFSET, gpio, false);
+		val_1 = readl(base + IPROC_GPIO_PULL_UP_OFFSET);
+		val_2 = readl(base + IPROC_GPIO_PULL_DN_OFFSET);
+		if (disable) {
+			/* no pull-up or pull-down */
+			val_1 &= ~BIT(shift);
+			val_2 &= ~BIT(shift);
+		} else if (pull_up) {
+			val_1 |= BIT(shift);
+			val_2 &= ~BIT(shift);
+		} else {
+			val_1 &= ~BIT(shift);
+			val_2 |= BIT(shift);
+		}
+		writel(val_1, base + IPROC_GPIO_PULL_UP_OFFSET);
+		writel(val_2, base + IPROC_GPIO_PULL_DN_OFFSET);
 	} else {
-		iproc_set_bit(chip, IPROC_GPIO_PAD_RES_OFFSET, gpio,
-			       pull_up);
-		iproc_set_bit(chip, IPROC_GPIO_RES_EN_OFFSET, gpio, true);
+		if (disable) {
+			iproc_set_bit(chip, IPROC_GPIO_RES_EN_OFFSET, gpio,
+				      false);
+		} else {
+			iproc_set_bit(chip, IPROC_GPIO_PAD_RES_OFFSET, gpio,
+				      pull_up);
+			iproc_set_bit(chip, IPROC_GPIO_RES_EN_OFFSET, gpio,
+				      true);
+		}
 	}
 
 	raw_spin_unlock_irqrestore(&chip->lock, flags);
-
 	dev_dbg(chip->dev, "gpio:%u set pullup:%d\n", gpio, pull_up);
 
 	return 0;
@@ -483,14 +518,35 @@
 static void iproc_gpio_get_pull(struct iproc_gpio *chip, unsigned gpio,
 				 bool *disable, bool *pull_up)
 {
+	void __iomem *base;
 	unsigned long flags;
+	unsigned int shift;
+	u32 val_1, val_2;
 
 	raw_spin_lock_irqsave(&chip->lock, flags);
-	*disable = !iproc_get_bit(chip, IPROC_GPIO_RES_EN_OFFSET, gpio);
-	*pull_up = iproc_get_bit(chip, IPROC_GPIO_PAD_RES_OFFSET, gpio);
+	if (chip->io_ctrl_type == IOCTRL_TYPE_CDRU) {
+		base = chip->io_ctrl;
+		shift = IPROC_GPIO_SHIFT(gpio);
+
+		val_1 = readl(base + IPROC_GPIO_PULL_UP_OFFSET) & BIT(shift);
+		val_2 = readl(base + IPROC_GPIO_PULL_DN_OFFSET) & BIT(shift);
+
+		*pull_up = val_1 ? true : false;
+		*disable = (val_1 | val_2) ? false : true;
+
+	} else {
+		*disable = !iproc_get_bit(chip, IPROC_GPIO_RES_EN_OFFSET, gpio);
+		*pull_up = iproc_get_bit(chip, IPROC_GPIO_PAD_RES_OFFSET, gpio);
+	}
 	raw_spin_unlock_irqrestore(&chip->lock, flags);
 }
 
+#define DRV_STRENGTH_OFFSET(gpio, bit, type)  ((type) == IOCTRL_TYPE_AON ? \
+	((2 - (bit)) * 4 + IPROC_GPIO_DRV_CTRL_OFFSET) : \
+	((type) == IOCTRL_TYPE_CDRU) ? \
+	((bit) * 4 + IPROC_GPIO_DRV_CTRL_OFFSET) : \
+	((bit) * 4 + IPROC_GPIO_REG(gpio, IPROC_GPIO_ASIU_DRV0_CTRL_OFFSET)))
+
 static int iproc_gpio_set_strength(struct iproc_gpio *chip, unsigned gpio,
 				    unsigned strength)
 {
@@ -505,11 +561,8 @@
 
 	if (chip->io_ctrl) {
 		base = chip->io_ctrl;
-		offset = IPROC_GPIO_DRV0_CTRL_OFFSET;
 	} else {
 		base = chip->base;
-		offset = IPROC_GPIO_REG(gpio,
-					 IPROC_GPIO_ASIU_DRV0_CTRL_OFFSET);
 	}
 
 	shift = IPROC_GPIO_SHIFT(gpio);
@@ -520,11 +573,11 @@
 	raw_spin_lock_irqsave(&chip->lock, flags);
 	strength = (strength / 2) - 1;
 	for (i = 0; i < GPIO_DRV_STRENGTH_BITS; i++) {
+		offset = DRV_STRENGTH_OFFSET(gpio, i, chip->io_ctrl_type);
 		val = readl(base + offset);
 		val &= ~BIT(shift);
 		val |= ((strength >> i) & 0x1) << shift;
 		writel(val, base + offset);
-		offset += 4;
 	}
 	raw_spin_unlock_irqrestore(&chip->lock, flags);
 
@@ -541,11 +594,8 @@
 
 	if (chip->io_ctrl) {
 		base = chip->io_ctrl;
-		offset = IPROC_GPIO_DRV0_CTRL_OFFSET;
 	} else {
 		base = chip->base;
-		offset = IPROC_GPIO_REG(gpio,
-					 IPROC_GPIO_ASIU_DRV0_CTRL_OFFSET);
 	}
 
 	shift = IPROC_GPIO_SHIFT(gpio);
@@ -553,10 +603,10 @@
 	raw_spin_lock_irqsave(&chip->lock, flags);
 	*strength = 0;
 	for (i = 0; i < GPIO_DRV_STRENGTH_BITS; i++) {
+		offset = DRV_STRENGTH_OFFSET(gpio, i, chip->io_ctrl_type);
 		val = readl(base + offset) & BIT(shift);
 		val >>= shift;
 		*strength += (val << i);
-		offset += 4;
 	}
 
 	/* convert to mA */
@@ -734,6 +784,7 @@
 	u32 ngpios, pinconf_disable_mask = 0;
 	int irq, ret;
 	bool no_pinconf = false;
+	enum iproc_pinconf_ctrl_type io_ctrl_type = IOCTRL_TYPE_INVALID;
 
 	/* NSP does not support drive strength config */
 	if (of_device_is_compatible(dev->of_node, "brcm,iproc-nsp-gpio"))
@@ -764,8 +815,15 @@
 			dev_err(dev, "unable to map I/O memory\n");
 			return PTR_ERR(chip->io_ctrl);
 		}
+		if (of_device_is_compatible(dev->of_node,
+					    "brcm,cygnus-ccm-gpio"))
+			io_ctrl_type = IOCTRL_TYPE_CDRU;
+		else
+			io_ctrl_type = IOCTRL_TYPE_AON;
 	}
 
+	chip->io_ctrl_type = io_ctrl_type;
+
 	if (of_property_read_u32(dev->of_node, "ngpios", &ngpios)) {
 		dev_err(&pdev->dev, "missing ngpios DT property\n");
 		return -ENODEV;
diff --git a/drivers/pinctrl/intel/pinctrl-baytrail.c b/drivers/pinctrl/intel/pinctrl-baytrail.c
index 021e28f..a760d8b 100644
--- a/drivers/pinctrl/intel/pinctrl-baytrail.c
+++ b/drivers/pinctrl/intel/pinctrl-baytrail.c
@@ -950,7 +950,13 @@
 
 	raw_spin_lock_irqsave(&byt_lock, flags);
 	value = readl(reg);
-	value &= ~(BYT_TRIG_POS | BYT_TRIG_NEG | BYT_TRIG_LVL);
+
+	/* Do not clear direct-irq enabled IRQs (from gpio_disable_free) */
+	if (value & BYT_DIRECT_IRQ_EN)
+		/* nothing to do */ ;
+	else
+		value &= ~(BYT_TRIG_POS | BYT_TRIG_NEG | BYT_TRIG_LVL);
+
 	writel(value, reg);
 	raw_spin_unlock_irqrestore(&byt_lock, flags);
 }
diff --git a/drivers/pinctrl/intel/pinctrl-lewisburg.c b/drivers/pinctrl/intel/pinctrl-lewisburg.c
index 9989464..dc32c22 100644
--- a/drivers/pinctrl/intel/pinctrl-lewisburg.c
+++ b/drivers/pinctrl/intel/pinctrl-lewisburg.c
@@ -31,6 +31,7 @@
 		.npins = ((e) - (s) + 1),		\
 	}
 
+/* Lewisburg */
 static const struct pinctrl_pin_desc lbg_pins[] = {
 	/* GPP_A */
 	PINCTRL_PIN(0, "RCINB"),
@@ -70,7 +71,7 @@
 	PINCTRL_PIN(33, "SRCCLKREQB_4"),
 	PINCTRL_PIN(34, "SRCCLKREQB_5"),
 	PINCTRL_PIN(35, "GPP_B_11"),
-	PINCTRL_PIN(36, "GLB_RST_WARN_N"),
+	PINCTRL_PIN(36, "SLP_S0B"),
 	PINCTRL_PIN(37, "PLTRSTB"),
 	PINCTRL_PIN(38, "SPKR"),
 	PINCTRL_PIN(39, "GPP_B_15"),
@@ -183,96 +184,96 @@
 	PINCTRL_PIN(141, "GBE_PCI_DIS"),
 	PINCTRL_PIN(142, "GBE_LAN_DIS"),
 	PINCTRL_PIN(143, "GPP_I_10"),
-	PINCTRL_PIN(144, "GPIO_RCOMP_3P3"),
 	/* GPP_J */
-	PINCTRL_PIN(145, "GBE_LED_0_0"),
-	PINCTRL_PIN(146, "GBE_LED_0_1"),
-	PINCTRL_PIN(147, "GBE_LED_1_0"),
-	PINCTRL_PIN(148, "GBE_LED_1_1"),
-	PINCTRL_PIN(149, "GBE_LED_2_0"),
-	PINCTRL_PIN(150, "GBE_LED_2_1"),
-	PINCTRL_PIN(151, "GBE_LED_3_0"),
-	PINCTRL_PIN(152, "GBE_LED_3_1"),
-	PINCTRL_PIN(153, "GBE_SCL_0"),
-	PINCTRL_PIN(154, "GBE_SDA_0"),
-	PINCTRL_PIN(155, "GBE_SCL_1"),
-	PINCTRL_PIN(156, "GBE_SDA_1"),
-	PINCTRL_PIN(157, "GBE_SCL_2"),
-	PINCTRL_PIN(158, "GBE_SDA_2"),
-	PINCTRL_PIN(159, "GBE_SCL_3"),
-	PINCTRL_PIN(160, "GBE_SDA_3"),
-	PINCTRL_PIN(161, "GBE_SDP_0_0"),
-	PINCTRL_PIN(162, "GBE_SDP_0_1"),
-	PINCTRL_PIN(163, "GBE_SDP_1_0"),
-	PINCTRL_PIN(164, "GBE_SDP_1_1"),
-	PINCTRL_PIN(165, "GBE_SDP_2_0"),
-	PINCTRL_PIN(166, "GBE_SDP_2_1"),
-	PINCTRL_PIN(167, "GBE_SDP_3_0"),
-	PINCTRL_PIN(168, "GBE_SDP_3_1"),
+	PINCTRL_PIN(144, "GBE_LED_0_0"),
+	PINCTRL_PIN(145, "GBE_LED_0_1"),
+	PINCTRL_PIN(146, "GBE_LED_1_0"),
+	PINCTRL_PIN(147, "GBE_LED_1_1"),
+	PINCTRL_PIN(148, "GBE_LED_2_0"),
+	PINCTRL_PIN(149, "GBE_LED_2_1"),
+	PINCTRL_PIN(150, "GBE_LED_3_0"),
+	PINCTRL_PIN(151, "GBE_LED_3_1"),
+	PINCTRL_PIN(152, "GBE_SCL_0"),
+	PINCTRL_PIN(153, "GBE_SDA_0"),
+	PINCTRL_PIN(154, "GBE_SCL_1"),
+	PINCTRL_PIN(155, "GBE_SDA_1"),
+	PINCTRL_PIN(156, "GBE_SCL_2"),
+	PINCTRL_PIN(157, "GBE_SDA_2"),
+	PINCTRL_PIN(158, "GBE_SCL_3"),
+	PINCTRL_PIN(159, "GBE_SDA_3"),
+	PINCTRL_PIN(160, "GBE_SDP_0_0"),
+	PINCTRL_PIN(161, "GBE_SDP_0_1"),
+	PINCTRL_PIN(162, "GBE_SDP_1_0"),
+	PINCTRL_PIN(163, "GBE_SDP_1_1"),
+	PINCTRL_PIN(164, "GBE_SDP_2_0"),
+	PINCTRL_PIN(165, "GBE_SDP_2_1"),
+	PINCTRL_PIN(166, "GBE_SDP_3_0"),
+	PINCTRL_PIN(167, "GBE_SDP_3_1"),
 	/* GPP_K */
-	PINCTRL_PIN(169, "GBE_RMIICLK"),
-	PINCTRL_PIN(170, "GBE_RMII_TXD_0"),
-	PINCTRL_PIN(171, "GBE_RMII_TXD_1"),
+	PINCTRL_PIN(168, "GBE_RMIICLK"),
+	PINCTRL_PIN(169, "GBE_RMII_RXD_0"),
+	PINCTRL_PIN(170, "GBE_RMII_RXD_1"),
+	PINCTRL_PIN(171, "GBE_RMII_CRS_DV"),
 	PINCTRL_PIN(172, "GBE_RMII_TX_EN"),
-	PINCTRL_PIN(173, "GBE_RMII_CRS_DV"),
-	PINCTRL_PIN(174, "GBE_RMII_RXD_0"),
-	PINCTRL_PIN(175, "GBE_RMII_RXD_1"),
-	PINCTRL_PIN(176, "GBE_RMII_RX_ER"),
-	PINCTRL_PIN(177, "GBE_RMII_ARBIN"),
-	PINCTRL_PIN(178, "GBE_RMII_ARB_OUT"),
-	PINCTRL_PIN(179, "PE_RST_N"),
-	PINCTRL_PIN(180, "GPIO_RCOMP_1P8_3P3"),
+	PINCTRL_PIN(173, "GBE_RMII_TXD_0"),
+	PINCTRL_PIN(174, "GBE_RMII_TXD_1"),
+	PINCTRL_PIN(175, "GBE_RMII_RX_ER"),
+	PINCTRL_PIN(176, "GBE_RMII_ARBIN"),
+	PINCTRL_PIN(177, "GBE_RMII_ARB_OUT"),
+	PINCTRL_PIN(178, "PE_RST_N"),
 	/* GPP_G */
-	PINCTRL_PIN(181, "FAN_TACH_0"),
-	PINCTRL_PIN(182, "FAN_TACH_1"),
-	PINCTRL_PIN(183, "FAN_TACH_2"),
-	PINCTRL_PIN(184, "FAN_TACH_3"),
-	PINCTRL_PIN(185, "FAN_TACH_4"),
-	PINCTRL_PIN(186, "FAN_TACH_5"),
-	PINCTRL_PIN(187, "FAN_TACH_6"),
-	PINCTRL_PIN(188, "FAN_TACH_7"),
-	PINCTRL_PIN(189, "FAN_PWM_0"),
-	PINCTRL_PIN(190, "FAN_PWM_1"),
-	PINCTRL_PIN(191, "FAN_PWM_2"),
-	PINCTRL_PIN(192, "FAN_PWM_3"),
-	PINCTRL_PIN(193, "GSXDOUT"),
-	PINCTRL_PIN(194, "GSXSLOAD"),
-	PINCTRL_PIN(195, "GSXDIN"),
-	PINCTRL_PIN(196, "GSXSRESETB"),
-	PINCTRL_PIN(197, "GSXCLK"),
-	PINCTRL_PIN(198, "ADR_COMPLETE"),
-	PINCTRL_PIN(199, "NMIB"),
-	PINCTRL_PIN(200, "SMIB"),
-	PINCTRL_PIN(201, "SSATA_DEVSLP_0"),
-	PINCTRL_PIN(202, "SSATA_DEVSLP_1"),
-	PINCTRL_PIN(203, "SSATA_DEVSLP_2"),
-	PINCTRL_PIN(204, "SSATAXPCIE0_SSATAGP0"),
+	PINCTRL_PIN(179, "FAN_TACH_0"),
+	PINCTRL_PIN(180, "FAN_TACH_1"),
+	PINCTRL_PIN(181, "FAN_TACH_2"),
+	PINCTRL_PIN(182, "FAN_TACH_3"),
+	PINCTRL_PIN(183, "FAN_TACH_4"),
+	PINCTRL_PIN(184, "FAN_TACH_5"),
+	PINCTRL_PIN(185, "FAN_TACH_6"),
+	PINCTRL_PIN(186, "FAN_TACH_7"),
+	PINCTRL_PIN(187, "FAN_PWM_0"),
+	PINCTRL_PIN(188, "FAN_PWM_1"),
+	PINCTRL_PIN(189, "FAN_PWM_2"),
+	PINCTRL_PIN(190, "FAN_PWM_3"),
+	PINCTRL_PIN(191, "GSXDOUT"),
+	PINCTRL_PIN(192, "GSXSLOAD"),
+	PINCTRL_PIN(193, "GSXDIN"),
+	PINCTRL_PIN(194, "GSXSRESETB"),
+	PINCTRL_PIN(195, "GSXCLK"),
+	PINCTRL_PIN(196, "ADR_COMPLETE"),
+	PINCTRL_PIN(197, "NMIB"),
+	PINCTRL_PIN(198, "SMIB"),
+	PINCTRL_PIN(199, "SSATA_DEVSLP_0"),
+	PINCTRL_PIN(200, "SSATA_DEVSLP_1"),
+	PINCTRL_PIN(201, "SSATA_DEVSLP_2"),
+	PINCTRL_PIN(202, "SSATAXPCIE0_SSATAGP0"),
 	/* GPP_H */
-	PINCTRL_PIN(205, "SRCCLKREQB_6"),
-	PINCTRL_PIN(206, "SRCCLKREQB_7"),
-	PINCTRL_PIN(207, "SRCCLKREQB_8"),
-	PINCTRL_PIN(208, "SRCCLKREQB_9"),
-	PINCTRL_PIN(209, "SRCCLKREQB_10"),
-	PINCTRL_PIN(210, "SRCCLKREQB_11"),
-	PINCTRL_PIN(211, "SRCCLKREQB_12"),
-	PINCTRL_PIN(212, "SRCCLKREQB_13"),
-	PINCTRL_PIN(213, "SRCCLKREQB_14"),
-	PINCTRL_PIN(214, "SRCCLKREQB_15"),
-	PINCTRL_PIN(215, "SML2CLK"),
-	PINCTRL_PIN(216, "SML2DATA"),
-	PINCTRL_PIN(217, "SML2ALERTB"),
-	PINCTRL_PIN(218, "SML3CLK"),
-	PINCTRL_PIN(219, "SML3DATA"),
-	PINCTRL_PIN(220, "SML3ALERTB"),
-	PINCTRL_PIN(221, "SML4CLK"),
-	PINCTRL_PIN(222, "SML4DATA"),
-	PINCTRL_PIN(223, "SML4ALERTB"),
-	PINCTRL_PIN(224, "SSATAXPCIE1_SSATAGP1"),
-	PINCTRL_PIN(225, "SSATAXPCIE2_SSATAGP2"),
-	PINCTRL_PIN(226, "SSATAXPCIE3_SSATAGP3"),
-	PINCTRL_PIN(227, "SSATAXPCIE4_SSATAGP4"),
-	PINCTRL_PIN(228, "SSATAXPCIE5_SSATAGP5"),
+	PINCTRL_PIN(203, "SRCCLKREQB_6"),
+	PINCTRL_PIN(204, "SRCCLKREQB_7"),
+	PINCTRL_PIN(205, "SRCCLKREQB_8"),
+	PINCTRL_PIN(206, "SRCCLKREQB_9"),
+	PINCTRL_PIN(207, "SRCCLKREQB_10"),
+	PINCTRL_PIN(208, "SRCCLKREQB_11"),
+	PINCTRL_PIN(209, "SRCCLKREQB_12"),
+	PINCTRL_PIN(210, "SRCCLKREQB_13"),
+	PINCTRL_PIN(211, "SRCCLKREQB_14"),
+	PINCTRL_PIN(212, "SRCCLKREQB_15"),
+	PINCTRL_PIN(213, "SML2CLK"),
+	PINCTRL_PIN(214, "SML2DATA"),
+	PINCTRL_PIN(215, "SML2ALERTB"),
+	PINCTRL_PIN(216, "SML3CLK"),
+	PINCTRL_PIN(217, "SML3DATA"),
+	PINCTRL_PIN(218, "SML3ALERTB"),
+	PINCTRL_PIN(219, "SML4CLK"),
+	PINCTRL_PIN(220, "SML4DATA"),
+	PINCTRL_PIN(221, "SML4ALERTB"),
+	PINCTRL_PIN(222, "SSATAXPCIE1_SSATAGP1"),
+	PINCTRL_PIN(223, "SSATAXPCIE2_SSATAGP2"),
+	PINCTRL_PIN(224, "SSATAXPCIE3_SSATAGP3"),
+	PINCTRL_PIN(225, "SSATAXPCIE4_SSATAGP4"),
+	PINCTRL_PIN(226, "SSATAXPCIE5_SSATAGP5"),
 	/* GPP_L */
+	PINCTRL_PIN(227, "GPP_L_0"),
+	PINCTRL_PIN(228, "EC_CSME_INTR_OUT"),
 	PINCTRL_PIN(229, "VISA2CH0_D0"),
 	PINCTRL_PIN(230, "VISA2CH0_D1"),
 	PINCTRL_PIN(231, "VISA2CH0_D2"),
diff --git a/drivers/pinctrl/meson/pinctrl-meson-gxl.c b/drivers/pinctrl/meson/pinctrl-meson-gxl.c
index 158f618..0c0a501 100644
--- a/drivers/pinctrl/meson/pinctrl-meson-gxl.c
+++ b/drivers/pinctrl/meson/pinctrl-meson-gxl.c
@@ -239,13 +239,9 @@
 static const unsigned int eth_act_led_pins[]	= { GPIOZ_15 };
 
 static const unsigned int tsin_a_d0_pins[]	= { GPIODV_0 };
-static const unsigned int tsin_a_d0_x_pins[]	= { GPIOX_10 };
 static const unsigned int tsin_a_clk_pins[]	= { GPIODV_8 };
-static const unsigned int tsin_a_clk_x_pins[]	= { GPIOX_11 };
 static const unsigned int tsin_a_sop_pins[]	= { GPIODV_9 };
-static const unsigned int tsin_a_sop_x_pins[]	= { GPIOX_8 };
 static const unsigned int tsin_a_d_valid_pins[] = { GPIODV_10 };
-static const unsigned int tsin_a_d_valid_x_pins[] = { GPIOX_9 };
 static const unsigned int tsin_a_fail_pins[]	= { GPIODV_11 };
 static const unsigned int tsin_a_dp_pins[] = {
 	GPIODV_1, GPIODV_2, GPIODV_3, GPIODV_4, GPIODV_5, GPIODV_6, GPIODV_7,
@@ -432,10 +428,6 @@
 	GROUP(spi_miso,		5,	2),
 	GROUP(spi_ss0,		5,	1),
 	GROUP(spi_sclk,		5,	0),
-	GROUP(tsin_a_sop_x,	6,	3),
-	GROUP(tsin_a_d_valid_x,	6,	2),
-	GROUP(tsin_a_d0_x,	6,	1),
-	GROUP(tsin_a_clk_x,	6,	0),
 
 	/* Bank Z */
 	GROUP(eth_mdio,		4,	23),
@@ -698,8 +690,8 @@
 };
 
 static const char * const tsin_a_groups[] = {
-	"tsin_a_clk", "tsin_a_clk_x", "tsin_a_sop", "tsin_a_sop_x",
-	"tsin_a_d_valid", "tsin_a_d_valid_x", "tsin_a_d0", "tsin_a_d0_x",
+	"tsin_a_clk", "tsin_a_sop",
+	"tsin_a_d_valid", "tsin_a_d0",
 	"tsin_a_dp", "tsin_a_fail",
 };
 
diff --git a/drivers/pinctrl/sh-pfc/pfc-emev2.c b/drivers/pinctrl/sh-pfc/pfc-emev2.c
index 1cbbe04..eafd8ed 100644
--- a/drivers/pinctrl/sh-pfc/pfc-emev2.c
+++ b/drivers/pinctrl/sh-pfc/pfc-emev2.c
@@ -1263,6 +1263,14 @@
 	"dtv_b",
 };
 
+static const char * const err_rst_reqb_groups[] = {
+	"err_rst_reqb",
+};
+
+static const char * const ext_clki_groups[] = {
+	"ext_clki",
+};
+
 static const char * const iic0_groups[] = {
 	"iic0",
 };
@@ -1285,6 +1293,10 @@
 	"yuv3",
 };
 
+static const char * const lowpwr_groups[] = {
+	"lowpwr",
+};
+
 static const char * const ntsc_groups[] = {
 	"ntsc_clk",
 	"ntsc_data",
@@ -1298,6 +1310,10 @@
 	"pwm1",
 };
 
+static const char * const ref_clko_groups[] = {
+	"ref_clko",
+};
+
 static const char * const sd_groups[] = {
 	"sd_cki",
 };
@@ -1391,13 +1407,17 @@
 	SH_PFC_FUNCTION(cam),
 	SH_PFC_FUNCTION(cf),
 	SH_PFC_FUNCTION(dtv),
+	SH_PFC_FUNCTION(err_rst_reqb),
+	SH_PFC_FUNCTION(ext_clki),
 	SH_PFC_FUNCTION(iic0),
 	SH_PFC_FUNCTION(iic1),
 	SH_PFC_FUNCTION(jtag),
 	SH_PFC_FUNCTION(lcd),
+	SH_PFC_FUNCTION(lowpwr),
 	SH_PFC_FUNCTION(ntsc),
 	SH_PFC_FUNCTION(pwm0),
 	SH_PFC_FUNCTION(pwm1),
+	SH_PFC_FUNCTION(ref_clko),
 	SH_PFC_FUNCTION(sd),
 	SH_PFC_FUNCTION(sdi0),
 	SH_PFC_FUNCTION(sdi1),
diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7740.c b/drivers/pinctrl/sh-pfc/pfc-r8a7740.c
index 35f436b..e9739db 100644
--- a/drivers/pinctrl/sh-pfc/pfc-r8a7740.c
+++ b/drivers/pinctrl/sh-pfc/pfc-r8a7740.c
@@ -1982,7 +1982,7 @@
 	 */
 	185, 186, 187, 188, 189, 190, 191, 192, 174, 161, 204,
 	171, 170, 169, 168, 167, 166, 173, 172, 176, 184, 183, 203,
-	205, 163, 206, 207,
+	205, 163, 206, 207, 158,
 };
 static const unsigned int gether_gmii_mux[] = {
 	ET_ERXD0_MARK, ET_ERXD1_MARK, ET_ERXD2_MARK, ET_ERXD3_MARK,
@@ -2154,6 +2154,7 @@
 	LCD0_D0_MARK, LCD0_D1_MARK, LCD0_D2_MARK, LCD0_D3_MARK,
 	LCD0_D4_MARK, LCD0_D5_MARK, LCD0_D6_MARK, LCD0_D7_MARK,
 	LCD0_D8_MARK, LCD0_D9_MARK, LCD0_D10_MARK, LCD0_D11_MARK,
+	LCD0_D12_MARK, LCD0_D13_MARK, LCD0_D14_MARK, LCD0_D15_MARK,
 	LCD0_D16_MARK, LCD0_D17_MARK, LCD0_D18_PORT163_MARK,
 	LCD0_D19_PORT162_MARK, LCD0_D20_PORT161_MARK, LCD0_D21_PORT158_MARK,
 	LCD0_D22_PORT160_MARK, LCD0_D23_PORT159_MARK,
diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7778.c b/drivers/pinctrl/sh-pfc/pfc-r8a7778.c
index 00d61d1..c60fce1 100644
--- a/drivers/pinctrl/sh-pfc/pfc-r8a7778.c
+++ b/drivers/pinctrl/sh-pfc/pfc-r8a7778.c
@@ -2325,7 +2325,7 @@
 		FN_ATAG0_A,	0,		FN_REMOCON_B,	0,
 		/* IP0_11_8 [4] */
 		FN_SD1_DAT2_A,	FN_MMC_D2,	0,		FN_BS,
-		FN_ATADIR0_A,	0,		FN_SDSELF_B,	0,
+		FN_ATADIR0_A,	0,		FN_SDSELF_A,	0,
 		FN_PWM4_B,	0,		0,		0,
 		0,		0,		0,		0,
 		/* IP0_7_5 [3] */
@@ -2367,7 +2367,7 @@
 		FN_TS_SDAT0_A,	0,		0,		0,
 		0,		0,		0,		0,
 		/* IP1_10_8 [3] */
-		FN_SD1_CLK_B,	FN_MMC_D6,	0,		FN_A24,
+		FN_SD1_CD_A,	FN_MMC_D6,	0,		FN_A24,
 		FN_DREQ1_A,	0,		FN_HRX0_B,	FN_TS_SPSYNC0_A,
 		/* IP1_7_5 [3] */
 		FN_A23,		FN_HTX0_B,	FN_TX2_B,	FN_DACK2_A,
diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7791.c b/drivers/pinctrl/sh-pfc/pfc-r8a7791.c
index 5811784..9eb860c 100644
--- a/drivers/pinctrl/sh-pfc/pfc-r8a7791.c
+++ b/drivers/pinctrl/sh-pfc/pfc-r8a7791.c
@@ -3220,8 +3220,7 @@
 	RCAR_GP_PIN(6, 4),
 };
 static const unsigned int qspi_data4_b_mux[] = {
-	SPCLK_B_MARK, MOSI_IO0_B_MARK, MISO_IO1_B_MARK,
-	IO2_B_MARK, IO3_B_MARK, SSL_B_MARK,
+	MOSI_IO0_B_MARK, MISO_IO1_B_MARK, IO2_B_MARK, IO3_B_MARK,
 };
 /* - SCIF0 ------------------------------------------------------------------ */
 static const unsigned int scif0_data_pins[] = {
@@ -4375,17 +4374,14 @@
 };
 static const unsigned int vin1_b_data18_mux[] = {
 	/* B */
-	VI1_DATA0_B_MARK, VI1_DATA1_B_MARK,
 	VI1_DATA2_B_MARK, VI1_DATA3_B_MARK,
 	VI1_DATA4_B_MARK, VI1_DATA5_B_MARK,
 	VI1_DATA6_B_MARK, VI1_DATA7_B_MARK,
 	/* G */
-	VI1_G0_B_MARK, VI1_G1_B_MARK,
 	VI1_G2_B_MARK, VI1_G3_B_MARK,
 	VI1_G4_B_MARK, VI1_G5_B_MARK,
 	VI1_G6_B_MARK, VI1_G7_B_MARK,
 	/* R */
-	VI1_R0_B_MARK, VI1_R1_B_MARK,
 	VI1_R2_B_MARK, VI1_R3_B_MARK,
 	VI1_R4_B_MARK, VI1_R5_B_MARK,
 	VI1_R6_B_MARK, VI1_R7_B_MARK,
@@ -5243,7 +5239,7 @@
 	"scifb2_data_b",
 	"scifb2_clk_b",
 	"scifb2_ctrl_b",
-	"scifb0_data_c",
+	"scifb2_data_c",
 	"scifb2_clk_c",
 	"scifb2_data_d",
 };
diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7792.c b/drivers/pinctrl/sh-pfc/pfc-r8a7792.c
index cc3597f..46c41ca 100644
--- a/drivers/pinctrl/sh-pfc/pfc-r8a7792.c
+++ b/drivers/pinctrl/sh-pfc/pfc-r8a7792.c
@@ -1916,6 +1916,7 @@
 	"vin1_data8",
 	"vin1_data24_b",
 	"vin1_data20_b",
+	"vin1_data18_b",
 	"vin1_data16_b",
 	"vin1_sync",
 	"vin1_field",
diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7794.c b/drivers/pinctrl/sh-pfc/pfc-r8a7794.c
index 1640024..24b9bb1 100644
--- a/drivers/pinctrl/sh-pfc/pfc-r8a7794.c
+++ b/drivers/pinctrl/sh-pfc/pfc-r8a7794.c
@@ -5215,7 +5215,7 @@
 		FN_AVB_MDC, FN_SSI_SDATA6_B, 0, 0, }
 	},
 	{ PINMUX_CFG_REG_VAR("IPSR9", 0xE6060044, 32,
-			     1, 3, 3, 3, 3, 2, 2, 3, 3, 3, 3, 3, 3) {
+			     1, 3, 3, 3, 3, 2, 2, 3, 3, 3, 3, 3) {
 		/* IP9_31 [1] */
 		0, 0,
 		/* IP9_30_28 [3] */
diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a77970.c b/drivers/pinctrl/sh-pfc/pfc-r8a77970.c
index eeb58b3..53fae9f 100644
--- a/drivers/pinctrl/sh-pfc/pfc-r8a77970.c
+++ b/drivers/pinctrl/sh-pfc/pfc-r8a77970.c
@@ -2354,7 +2354,7 @@
 #define F_(x, y)	x,
 #define FM(x)		FN_##x,
 	{ PINMUX_CFG_REG_VAR("MOD_SEL0", 0xe6060500, 32,
-			     4, 4, 4, 4,
+			     4, 4, 4, 4, 4,
 			     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1) {
 		/* RESERVED 31, 30, 29, 28 */
 		0, 0, 0, 0, 0, 0, 0, 0,	0, 0, 0, 0, 0, 0, 0, 0,
diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a77980.c b/drivers/pinctrl/sh-pfc/pfc-r8a77980.c
index 3f69673..81a710b 100644
--- a/drivers/pinctrl/sh-pfc/pfc-r8a77980.c
+++ b/drivers/pinctrl/sh-pfc/pfc-r8a77980.c
@@ -2751,7 +2751,7 @@
 #define F_(x, y)	x,
 #define FM(x)		FN_##x,
 	{ PINMUX_CFG_REG_VAR("MOD_SEL0", 0xe6060500, 32,
-			     4, 4, 4, 4,
+			     4, 4, 4, 4, 4,
 			     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1) {
 		/* RESERVED 31, 30, 29, 28 */
 		0, 0, 0, 0, 0, 0, 0, 0,	0, 0, 0, 0, 0, 0, 0, 0,
diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a77995.c b/drivers/pinctrl/sh-pfc/pfc-r8a77995.c
index adade5b..337c80b 100644
--- a/drivers/pinctrl/sh-pfc/pfc-r8a77995.c
+++ b/drivers/pinctrl/sh-pfc/pfc-r8a77995.c
@@ -391,10 +391,10 @@
 #define MOD_SEL0_27		FM(SEL_MSIOF3_0)	FM(SEL_MSIOF3_1)
 #define MOD_SEL0_26		FM(SEL_HSCIF3_0)	FM(SEL_HSCIF3_1)
 #define MOD_SEL0_25		FM(SEL_SCIF4_0)		FM(SEL_SCIF4_1)
-#define MOD_SEL0_24_23		FM(SEL_PWM0_0)		FM(SEL_PWM0_1)		FM(SEL_PWM0_2)		FM(SEL_PWM0_3)
-#define MOD_SEL0_22_21		FM(SEL_PWM1_0)		FM(SEL_PWM1_1)		FM(SEL_PWM1_2)		FM(SEL_PWM1_3)
-#define MOD_SEL0_20_19		FM(SEL_PWM2_0)		FM(SEL_PWM2_1)		FM(SEL_PWM2_2)		FM(SEL_PWM2_3)
-#define MOD_SEL0_18_17		FM(SEL_PWM3_0)		FM(SEL_PWM3_1)		FM(SEL_PWM3_2)		FM(SEL_PWM3_3)
+#define MOD_SEL0_24_23		FM(SEL_PWM0_0)		FM(SEL_PWM0_1)		FM(SEL_PWM0_2)		F_(0, 0)
+#define MOD_SEL0_22_21		FM(SEL_PWM1_0)		FM(SEL_PWM1_1)		FM(SEL_PWM1_2)		F_(0, 0)
+#define MOD_SEL0_20_19		FM(SEL_PWM2_0)		FM(SEL_PWM2_1)		FM(SEL_PWM2_2)		F_(0, 0)
+#define MOD_SEL0_18_17		FM(SEL_PWM3_0)		FM(SEL_PWM3_1)		FM(SEL_PWM3_2)		F_(0, 0)
 #define MOD_SEL0_15		FM(SEL_IRQ_0_0)		FM(SEL_IRQ_0_1)
 #define MOD_SEL0_14		FM(SEL_IRQ_1_0)		FM(SEL_IRQ_1_1)
 #define MOD_SEL0_13		FM(SEL_IRQ_2_0)		FM(SEL_IRQ_2_1)
diff --git a/drivers/pinctrl/sh-pfc/pfc-sh7264.c b/drivers/pinctrl/sh-pfc/pfc-sh7264.c
index e1c34e1..3ddb956 100644
--- a/drivers/pinctrl/sh-pfc/pfc-sh7264.c
+++ b/drivers/pinctrl/sh-pfc/pfc-sh7264.c
@@ -500,17 +500,15 @@
 	SD_WP_MARK, SD_CLK_MARK, SD_CMD_MARK,
 	CRX0_MARK, CRX1_MARK,
 	CTX0_MARK, CTX1_MARK,
+	CRX0_CRX1_MARK, CTX0_CTX1_MARK,
 
 	PWM1A_MARK, PWM1B_MARK, PWM1C_MARK, PWM1D_MARK,
 	PWM1E_MARK, PWM1F_MARK, PWM1G_MARK, PWM1H_MARK,
 	PWM2A_MARK, PWM2B_MARK, PWM2C_MARK, PWM2D_MARK,
 	PWM2E_MARK, PWM2F_MARK, PWM2G_MARK, PWM2H_MARK,
 	IERXD_MARK, IETXD_MARK,
-	CRX0_CRX1_MARK,
 	WDTOVF_MARK,
 
-	CRX0X1_MARK,
-
 	/* DMAC */
 	TEND0_MARK, DACK0_MARK, DREQ0_MARK,
 	TEND1_MARK, DACK1_MARK, DREQ1_MARK,
@@ -998,12 +996,12 @@
 
 	PINMUX_DATA(PJ3_DATA, PJ3MD_00),
 	PINMUX_DATA(CRX1_MARK, PJ3MD_01),
-	PINMUX_DATA(CRX0X1_MARK, PJ3MD_10),
+	PINMUX_DATA(CRX0_CRX1_MARK, PJ3MD_10),
 	PINMUX_DATA(IRQ1_PJ_MARK, PJ3MD_11),
 
 	PINMUX_DATA(PJ2_DATA, PJ2MD_000),
 	PINMUX_DATA(CTX1_MARK, PJ2MD_001),
-	PINMUX_DATA(CRX0_CRX1_MARK, PJ2MD_010),
+	PINMUX_DATA(CTX0_CTX1_MARK, PJ2MD_010),
 	PINMUX_DATA(CS2_MARK, PJ2MD_011),
 	PINMUX_DATA(SCK0_MARK, PJ2MD_100),
 	PINMUX_DATA(LCD_M_DISP_MARK, PJ2MD_101),
@@ -1248,6 +1246,7 @@
 	GPIO_FN(CTX1),
 	GPIO_FN(CRX1),
 	GPIO_FN(CTX0),
+	GPIO_FN(CTX0_CTX1),
 	GPIO_FN(CRX0),
 	GPIO_FN(CRX0_CRX1),
 
diff --git a/drivers/pinctrl/sh-pfc/pfc-sh7269.c b/drivers/pinctrl/sh-pfc/pfc-sh7269.c
index a50d22b..3df0c0d 100644
--- a/drivers/pinctrl/sh-pfc/pfc-sh7269.c
+++ b/drivers/pinctrl/sh-pfc/pfc-sh7269.c
@@ -740,13 +740,12 @@
 	CRX0_MARK, CTX0_MARK,
 	CRX1_MARK, CTX1_MARK,
 	CRX2_MARK, CTX2_MARK,
-	CRX0_CRX1_MARK,
-	CRX0_CRX1_CRX2_MARK,
-	CTX0CTX1CTX2_MARK,
+	CRX0_CRX1_MARK, CTX0_CTX1_MARK,
+	CRX0_CRX1_CRX2_MARK, CTX0_CTX1_CTX2_MARK,
 	CRX1_PJ22_MARK, CTX1_PJ23_MARK,
 	CRX2_PJ20_MARK, CTX2_PJ21_MARK,
-	CRX0CRX1_PJ22_MARK,
-	CRX0CRX1CRX2_PJ20_MARK,
+	CRX0_CRX1_PJ22_MARK, CTX0_CTX1_PJ23_MARK,
+	CRX0_CRX1_CRX2_PJ20_MARK, CTX0_CTX1_CTX2_PJ21_MARK,
 
 	/* VDC */
 	DV_CLK_MARK,
@@ -824,6 +823,7 @@
 	PINMUX_DATA(CS3_MARK, PC8MD_001),
 	PINMUX_DATA(TXD7_MARK, PC8MD_010),
 	PINMUX_DATA(CTX1_MARK, PC8MD_011),
+	PINMUX_DATA(CTX0_CTX1_MARK, PC8MD_100),
 
 	PINMUX_DATA(PC7_DATA, PC7MD_000),
 	PINMUX_DATA(CKE_MARK, PC7MD_001),
@@ -836,11 +836,12 @@
 	PINMUX_DATA(CAS_MARK, PC6MD_001),
 	PINMUX_DATA(SCK7_MARK, PC6MD_010),
 	PINMUX_DATA(CTX0_MARK, PC6MD_011),
+	PINMUX_DATA(CTX0_CTX1_CTX2_MARK, PC6MD_100),
 
 	PINMUX_DATA(PC5_DATA, PC5MD_000),
 	PINMUX_DATA(RAS_MARK, PC5MD_001),
 	PINMUX_DATA(CRX0_MARK, PC5MD_011),
-	PINMUX_DATA(CTX0CTX1CTX2_MARK, PC5MD_100),
+	PINMUX_DATA(CTX0_CTX1_CTX2_MARK, PC5MD_100),
 	PINMUX_DATA(IRQ0_PC_MARK, PC5MD_101),
 
 	PINMUX_DATA(PC4_DATA, PC4MD_00),
@@ -1292,30 +1293,32 @@
 	PINMUX_DATA(LCD_DATA23_PJ23_MARK, PJ23MD_010),
 	PINMUX_DATA(LCD_TCON6_MARK, PJ23MD_011),
 	PINMUX_DATA(IRQ3_PJ_MARK, PJ23MD_100),
-	PINMUX_DATA(CTX1_MARK, PJ23MD_101),
+	PINMUX_DATA(CTX1_PJ23_MARK, PJ23MD_101),
+	PINMUX_DATA(CTX0_CTX1_PJ23_MARK, PJ23MD_110),
 
 	PINMUX_DATA(PJ22_DATA, PJ22MD_000),
 	PINMUX_DATA(DV_DATA22_MARK, PJ22MD_001),
 	PINMUX_DATA(LCD_DATA22_PJ22_MARK, PJ22MD_010),
 	PINMUX_DATA(LCD_TCON5_MARK, PJ22MD_011),
 	PINMUX_DATA(IRQ2_PJ_MARK, PJ22MD_100),
-	PINMUX_DATA(CRX1_MARK, PJ22MD_101),
-	PINMUX_DATA(CRX0_CRX1_MARK, PJ22MD_110),
+	PINMUX_DATA(CRX1_PJ22_MARK, PJ22MD_101),
+	PINMUX_DATA(CRX0_CRX1_PJ22_MARK, PJ22MD_110),
 
 	PINMUX_DATA(PJ21_DATA, PJ21MD_000),
 	PINMUX_DATA(DV_DATA21_MARK, PJ21MD_001),
 	PINMUX_DATA(LCD_DATA21_PJ21_MARK, PJ21MD_010),
 	PINMUX_DATA(LCD_TCON4_MARK, PJ21MD_011),
 	PINMUX_DATA(IRQ1_PJ_MARK, PJ21MD_100),
-	PINMUX_DATA(CTX2_MARK, PJ21MD_101),
+	PINMUX_DATA(CTX2_PJ21_MARK, PJ21MD_101),
+	PINMUX_DATA(CTX0_CTX1_CTX2_PJ21_MARK, PJ21MD_110),
 
 	PINMUX_DATA(PJ20_DATA, PJ20MD_000),
 	PINMUX_DATA(DV_DATA20_MARK, PJ20MD_001),
 	PINMUX_DATA(LCD_DATA20_PJ20_MARK, PJ20MD_010),
 	PINMUX_DATA(LCD_TCON3_MARK, PJ20MD_011),
 	PINMUX_DATA(IRQ0_PJ_MARK, PJ20MD_100),
-	PINMUX_DATA(CRX2_MARK, PJ20MD_101),
-	PINMUX_DATA(CRX0CRX1CRX2_PJ20_MARK, PJ20MD_110),
+	PINMUX_DATA(CRX2_PJ20_MARK, PJ20MD_101),
+	PINMUX_DATA(CRX0_CRX1_CRX2_PJ20_MARK, PJ20MD_110),
 
 	PINMUX_DATA(PJ19_DATA, PJ19MD_000),
 	PINMUX_DATA(DV_DATA19_MARK, PJ19MD_001),
@@ -1666,12 +1669,24 @@
 	GPIO_FN(WDTOVF),
 
 	/* CAN */
+	GPIO_FN(CTX2),
+	GPIO_FN(CRX2),
 	GPIO_FN(CTX1),
 	GPIO_FN(CRX1),
 	GPIO_FN(CTX0),
 	GPIO_FN(CRX0),
+	GPIO_FN(CTX0_CTX1),
 	GPIO_FN(CRX0_CRX1),
+	GPIO_FN(CTX0_CTX1_CTX2),
 	GPIO_FN(CRX0_CRX1_CRX2),
+	GPIO_FN(CTX2_PJ21),
+	GPIO_FN(CRX2_PJ20),
+	GPIO_FN(CTX1_PJ23),
+	GPIO_FN(CRX1_PJ22),
+	GPIO_FN(CTX0_CTX1_PJ23),
+	GPIO_FN(CRX0_CRX1_PJ22),
+	GPIO_FN(CTX0_CTX1_CTX2_PJ21),
+	GPIO_FN(CRX0_CRX1_CRX2_PJ20),
 
 	/* DMAC */
 	GPIO_FN(TEND0),
@@ -2119,7 +2134,7 @@
 	},
 
 	{ PINMUX_CFG_REG("PCIOR0", 0xfffe3852, 16, 1) {
-		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 		PC8_IN, PC8_OUT,
 		PC7_IN, PC7_OUT,
 		PC6_IN, PC6_OUT,
diff --git a/drivers/pinctrl/sh-pfc/pfc-sh73a0.c b/drivers/pinctrl/sh-pfc/pfc-sh73a0.c
index d25e6f6..6dca760 100644
--- a/drivers/pinctrl/sh-pfc/pfc-sh73a0.c
+++ b/drivers/pinctrl/sh-pfc/pfc-sh73a0.c
@@ -3086,6 +3086,7 @@
 };
 static const unsigned int tpu4_to3_pins[] = {
 	/* TO */
+	PIN_NUMBER(6, 26),
 };
 static const unsigned int tpu4_to3_mux[] = {
 	TPU4TO3_MARK,
@@ -3366,7 +3367,8 @@
 	"fsic_sclk_out",
 	"fsic_data_in",
 	"fsic_data_out",
-	"fsic_spdif",
+	"fsic_spdif_0",
+	"fsic_spdif_1",
 };
 
 static const char * const fsid_groups[] = {
diff --git a/drivers/pinctrl/sh-pfc/pfc-sh7734.c b/drivers/pinctrl/sh-pfc/pfc-sh7734.c
index 3eccc9b..c691e5e 100644
--- a/drivers/pinctrl/sh-pfc/pfc-sh7734.c
+++ b/drivers/pinctrl/sh-pfc/pfc-sh7734.c
@@ -2231,13 +2231,13 @@
 		FN_LCD_CL1_B, 0, 0,
 	    /* IP10_5_3 [3] */
 		FN_SSI_WS23, FN_VI1_5_B, FN_TX1_D, FN_HSCK0_C, FN_FALE_B,
-		FN_LCD_DON_B, 0, 0, 0,
+		FN_LCD_DON_B, 0, 0,
 	    /* IP10_2_0 [3] */
 		FN_SSI_SCK23, FN_VI1_4_B, FN_RX1_D, FN_FCLE_B,
 		FN_LCD_DATA15_B, 0, 0, 0 }
 	},
 	{ PINMUX_CFG_REG_VAR("IPSR11", 0xFFFC0048, 32,
-			3, 1, 2, 2, 2, 3, 3, 1, 2, 3, 3, 1, 1, 1, 1) {
+			3, 1, 2, 3, 2, 2, 3, 3, 1, 2, 3, 3, 1, 1, 1, 1) {
 	    /* IP11_31_29 [3] */
 	    0, 0, 0, 0, 0, 0, 0, 0,
 	    /* IP11_28 [1] */
diff --git a/drivers/pinctrl/ti/pinctrl-ti-iodelay.c b/drivers/pinctrl/ti/pinctrl-ti-iodelay.c
index 8782c34..4eda888 100644
--- a/drivers/pinctrl/ti/pinctrl-ti-iodelay.c
+++ b/drivers/pinctrl/ti/pinctrl-ti-iodelay.c
@@ -496,7 +496,7 @@
 		return -EINVAL;
 
 	rows = pinctrl_count_index_with_args(np, name);
-	if (rows == -EINVAL)
+	if (rows < 0)
 		return rows;
 
 	*map = devm_kzalloc(iod->dev, sizeof(**map), GFP_KERNEL);
diff --git a/drivers/platform/mips/cpu_hwmon.c b/drivers/platform/mips/cpu_hwmon.c
index f66521c..9812837 100644
--- a/drivers/platform/mips/cpu_hwmon.c
+++ b/drivers/platform/mips/cpu_hwmon.c
@@ -159,7 +159,7 @@
 
 	cpu_hwmon_dev = hwmon_device_register(NULL);
 	if (IS_ERR(cpu_hwmon_dev)) {
-		ret = -ENOMEM;
+		ret = PTR_ERR(cpu_hwmon_dev);
 		pr_err("hwmon_device_register fail!\n");
 		goto fail_hwmon_device_register;
 	}
diff --git a/drivers/platform/msm/gsi/gsi_emulation.h b/drivers/platform/msm/gsi/gsi_emulation.h
index eead5ef..0d10a65 100644
--- a/drivers/platform/msm/gsi/gsi_emulation.h
+++ b/drivers/platform/msm/gsi/gsi_emulation.h
@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0 */
 /*
- * Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2018-2020, The Linux Foundation. All rights reserved.
  */
 
 #if !defined(_GSI_EMULATION_H_)
@@ -10,7 +10,10 @@
 
 # include "gsi.h"
 # include "gsi_reg.h"
+
+#if defined(CONFIG_IPA_EMULATION)
 # include "gsi_emulation_stubs.h"
+#endif
 
 # define gsi_emu_readl(c)     (readl(c))
 # define gsi_emu_writel(v, c) ({ __iowmb(); writel_relaxed((v), (c)); })
diff --git a/drivers/platform/msm/ipa/ipa_clients/ipa_uc_offload.c b/drivers/platform/msm/ipa/ipa_clients/ipa_uc_offload.c
index 4519473..ad15e0d 100644
--- a/drivers/platform/msm/ipa/ipa_clients/ipa_uc_offload.c
+++ b/drivers/platform/msm/ipa/ipa_clients/ipa_uc_offload.c
@@ -483,6 +483,28 @@
 }
 EXPORT_SYMBOL(ipa_uc_offload_conn_pipes);
 
+int ipa_set_perf_profile(struct ipa_perf_profile *profile)
+{
+	if (!profile) {
+		IPA_UC_OFFLOAD_ERR("Invalid input\n");
+		return -EINVAL;
+	}
+
+	if (profile->client != IPA_CLIENT_ETHERNET_PROD &&
+		profile->client != IPA_CLIENT_ETHERNET_CONS) {
+		IPA_UC_OFFLOAD_ERR("not supported\n");
+		return -EINVAL;
+	}
+
+	IPA_UC_OFFLOAD_DBG("setting throughput to %d\n",
+		profile->max_supported_bw_mbps);
+
+	return ipa_pm_set_throughput(
+		ipa_uc_offload_ctx[IPA_UC_NTN]->pm_hdl,
+		profile->max_supported_bw_mbps);
+}
+EXPORT_SYMBOL(ipa_set_perf_profile);
+
 static int ipa_uc_ntn_disconn_pipes(struct ipa_uc_offload_ctx *ntn_ctx)
 {
 	int ipa_ep_idx_ul, ipa_ep_idx_dl;
diff --git a/drivers/platform/msm/ipa/ipa_rm_inactivity_timer.c b/drivers/platform/msm/ipa/ipa_rm_inactivity_timer.c
index 692587a..d6b8b94 100644
--- a/drivers/platform/msm/ipa/ipa_rm_inactivity_timer.c
+++ b/drivers/platform/msm/ipa/ipa_rm_inactivity_timer.c
@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * Copyright (c) 2013-2018, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2013-2018, 2020, The Linux Foundation. All rights reserved.
  */
 
 #include <linux/jiffies.h>
@@ -40,7 +40,7 @@
 	bool reschedule_work;
 	bool work_in_progress;
 	unsigned long jiffies;
-	struct wakeup_source w_lock;
+	struct wakeup_source *w_lock;
 	char w_lock_name[MAX_WS_NAME];
 };
 
@@ -83,7 +83,7 @@
 	} else {
 		IPA_RM_DBG_LOW("calling release_resource on resource %d\n",
 			me->resource_name);
-		__pm_relax(&ipa_rm_it_handles[me->resource_name].w_lock);
+		__pm_relax(ipa_rm_it_handles[me->resource_name].w_lock);
 		ipa_rm_release_resource(me->resource_name);
 		ipa_rm_it_handles[me->resource_name].work_in_progress = false;
 	}
@@ -107,7 +107,6 @@
 int ipa_rm_inactivity_timer_init(enum ipa_rm_resource_name resource_name,
 				 unsigned long msecs)
 {
-	struct wakeup_source *pwlock;
 	char *name;
 
 	IPA_RM_DBG_LOW("resource %d\n", resource_name);
@@ -129,10 +128,16 @@
 	ipa_rm_it_handles[resource_name].resource_requested = false;
 	ipa_rm_it_handles[resource_name].reschedule_work = false;
 	ipa_rm_it_handles[resource_name].work_in_progress = false;
-	pwlock = &(ipa_rm_it_handles[resource_name].w_lock);
 	name = ipa_rm_it_handles[resource_name].w_lock_name;
 	snprintf(name, MAX_WS_NAME, "IPA_RM%d\n", resource_name);
-	wakeup_source_init(pwlock, name);
+	ipa_rm_it_handles[resource_name].w_lock =
+		wakeup_source_register(NULL, name);
+	if (!ipa_rm_it_handles[resource_name].w_lock) {
+		IPA_RM_ERR("IPA wakeup source register failed %s\n",
+			   name);
+		return -ENOMEM;
+	}
+
 	INIT_DELAYED_WORK(&ipa_rm_it_handles[resource_name].work,
 			  ipa_rm_inactivity_timer_func);
 	ipa_rm_it_handles[resource_name].initied = true;
@@ -151,8 +156,6 @@
  */
 int ipa_rm_inactivity_timer_destroy(enum ipa_rm_resource_name resource_name)
 {
-	struct wakeup_source *pwlock;
-
 	IPA_RM_DBG_LOW("resource %d\n", resource_name);
 
 	if (resource_name < 0 ||
@@ -168,8 +171,7 @@
 	}
 
 	cancel_delayed_work_sync(&ipa_rm_it_handles[resource_name].work);
-	pwlock = &(ipa_rm_it_handles[resource_name].w_lock);
-	wakeup_source_trash(pwlock);
+	wakeup_source_unregister(ipa_rm_it_handles[resource_name].w_lock);
 
 	memset(&ipa_rm_it_handles[resource_name], 0,
 	       sizeof(struct ipa_rm_it_private));
@@ -264,7 +266,7 @@
 	}
 	ipa_rm_it_handles[resource_name].work_in_progress = true;
 	ipa_rm_it_handles[resource_name].reschedule_work = false;
-	__pm_stay_awake(&ipa_rm_it_handles[resource_name].w_lock);
+	__pm_stay_awake(ipa_rm_it_handles[resource_name].w_lock);
 	IPA_RM_DBG_LOW("setting delayed work\n");
 	queue_delayed_work(system_unbound_wq,
 			      &ipa_rm_it_handles[resource_name].work,
diff --git a/drivers/platform/msm/ipa/ipa_v3/ipa.c b/drivers/platform/msm/ipa/ipa_v3/ipa.c
index 7044c10..78ec187b 100644
--- a/drivers/platform/msm/ipa/ipa_v3/ipa.c
+++ b/drivers/platform/msm/ipa/ipa_v3/ipa.c
@@ -5209,7 +5209,7 @@
 	spin_lock_irqsave(&ipa3_ctx->wakelock_ref_cnt.spinlock, flags);
 	ipa3_ctx->wakelock_ref_cnt.cnt++;
 	if (ipa3_ctx->wakelock_ref_cnt.cnt == 1)
-		__pm_stay_awake(&ipa3_ctx->w_lock);
+		__pm_stay_awake(ipa3_ctx->w_lock);
 	IPADBG_LOW("active wakelock ref cnt = %d\n",
 		ipa3_ctx->wakelock_ref_cnt.cnt);
 	spin_unlock_irqrestore(&ipa3_ctx->wakelock_ref_cnt.spinlock, flags);
@@ -5232,7 +5232,7 @@
 	IPADBG_LOW("active wakelock ref cnt = %d\n",
 		ipa3_ctx->wakelock_ref_cnt.cnt);
 	if (ipa3_ctx->wakelock_ref_cnt.cnt == 0)
-		__pm_relax(&ipa3_ctx->w_lock);
+		__pm_relax(ipa3_ctx->w_lock);
 	spin_unlock_irqrestore(&ipa3_ctx->wakelock_ref_cnt.spinlock, flags);
 }
 
@@ -6943,8 +6943,14 @@
 		goto fail_device_create;
 	}
 
-	/* Create a wakeup source. */
-	wakeup_source_init(&ipa3_ctx->w_lock, "IPA_WS");
+	/* Register a wakeup source. */
+	ipa3_ctx->w_lock =
+		wakeup_source_register(&ipa_pdev->dev, "IPA_WS");
+	if (!ipa3_ctx->w_lock) {
+		IPAERR("IPA wakeup source register failed\n");
+		result = -ENOMEM;
+		goto fail_w_source_register;
+	}
 	spin_lock_init(&ipa3_ctx->wakelock_ref_cnt.spinlock);
 
 	/* Initialize Power Management framework */
@@ -7037,6 +7043,9 @@
 fail_ipa_dma_setup:
 	ipa_pm_destroy();
 fail_ipa_pm_init:
+	wakeup_source_unregister(ipa3_ctx->w_lock);
+	ipa3_ctx->w_lock = NULL;
+fail_w_source_register:
 	device_destroy(ipa3_ctx->cdev.class, ipa3_ctx->cdev.dev_num);
 fail_device_create:
 	unregister_chrdev_region(ipa3_ctx->cdev.dev_num, 1);
diff --git a/drivers/platform/msm/ipa/ipa_v3/ipa_hw_stats.c b/drivers/platform/msm/ipa/ipa_v3/ipa_hw_stats.c
index 43fb446..1b900a2 100644
--- a/drivers/platform/msm/ipa/ipa_v3/ipa_hw_stats.c
+++ b/drivers/platform/msm/ipa/ipa_v3/ipa_hw_stats.c
@@ -2235,6 +2235,81 @@
 	return simple_read_from_buffer(ubuf, count, ppos, dbg_buff, nbytes);
 }
 
+static ssize_t ipa_debugfs_enable_disable_drop_stats(struct file *file,
+	const char __user *ubuf, size_t count, loff_t *ppos)
+{
+	unsigned long missing;
+	unsigned int pipe_num = 0;
+	bool enable_pipe = true;
+	u32 pipe_bitmask = ipa3_ctx->hw_stats.drop.init.enabled_bitmask;
+	char seprator = ',';
+	int i, j;
+	bool is_pipe = false;
+	ssize_t ret;
+
+	mutex_lock(&ipa3_ctx->lock);
+	if (sizeof(dbg_buff) < count + 1) {
+		ret = -EFAULT;
+		goto bail;
+	}
+
+	missing = copy_from_user(dbg_buff, ubuf, count);
+	if (missing) {
+		ret = -EFAULT;
+		goto bail;
+	}
+	dbg_buff[count] = '\0';
+	IPADBG("data is %s", dbg_buff);
+
+	i = 0;
+	while (dbg_buff[i] != ' ' && i < count)
+		i++;
+	j = i;
+	i++;
+	if (i < count) {
+		if (dbg_buff[i] == '0') {
+			enable_pipe = false;
+			IPADBG("Drop stats will be disabled for pipes:");
+		}
+	}
+
+	for (i = 0; i < j; i++) {
+		if (dbg_buff[i] >= '0' && dbg_buff[i] <= '9') {
+			pipe_num = (pipe_num * 10) + (dbg_buff[i] - '0');
+			is_pipe = true;
+		}
+		if (dbg_buff[i] == seprator) {
+			if (pipe_num >= 0 && pipe_num < ipa3_ctx->ipa_num_pipes
+				&& ipa3_get_client_by_pipe(pipe_num) <
+				IPA_CLIENT_MAX) {
+				IPADBG("pipe number %u\n", pipe_num);
+				if (enable_pipe)
+					pipe_bitmask = pipe_bitmask |
+							(1 << pipe_num);
+				else
+					pipe_bitmask = pipe_bitmask &
+							(~(1 << pipe_num));
+			}
+			pipe_num = 0;
+			is_pipe = false;
+		}
+	}
+	if (is_pipe && pipe_num >= 0 && pipe_num < ipa3_ctx->ipa_num_pipes &&
+		ipa3_get_client_by_pipe(pipe_num) < IPA_CLIENT_MAX) {
+		IPADBG("pipe number %u\n", pipe_num);
+		if (enable_pipe)
+			pipe_bitmask = pipe_bitmask | (1 << pipe_num);
+		else
+			pipe_bitmask = pipe_bitmask & (~(1 << pipe_num));
+	}
+
+	ipa_init_drop_stats(pipe_bitmask);
+	ret = count;
+bail:
+	mutex_unlock(&ipa3_ctx->lock);
+	return ret;
+}
+
 static const struct file_operations ipa3_quota_ops = {
 	.read = ipa_debugfs_print_quota_stats,
 	.write = ipa_debugfs_reset_quota_stats,
@@ -2255,10 +2330,14 @@
 	.write = ipa_debugfs_reset_drop_stats,
 };
 
+static const struct file_operations ipa3_enable_drop_ops = {
+	.write = ipa_debugfs_enable_disable_drop_stats,
+};
 
 int ipa_debugfs_init_stats(struct dentry *parent)
 {
 	const mode_t read_write_mode = 0664;
+	const mode_t write_mode = 0220;
 	struct dentry *file;
 	struct dentry *dent;
 
@@ -2285,6 +2364,13 @@
 		goto fail;
 	}
 
+	file = debugfs_create_file("enable_drop_stats", write_mode, dent, NULL,
+		&ipa3_enable_drop_ops);
+	if (IS_ERR_OR_NULL(file)) {
+		IPAERR("fail to create file %s\n", "enable_drop_stats");
+		goto fail;
+	}
+
 	file = debugfs_create_file("tethering", read_write_mode, dent, NULL,
 		&ipa3_tethering_ops);
 	if (IS_ERR_OR_NULL(file)) {
diff --git a/drivers/platform/msm/ipa/ipa_v3/ipa_i.h b/drivers/platform/msm/ipa/ipa_v3/ipa_i.h
index a270f44..dbb6684 100644
--- a/drivers/platform/msm/ipa/ipa_v3/ipa_i.h
+++ b/drivers/platform/msm/ipa/ipa_v3/ipa_i.h
@@ -1986,7 +1986,7 @@
 	bool gsi_ch20_wa;
 	bool s1_bypass_arr[IPA_SMMU_CB_MAX];
 	u32 wdi_map_cnt;
-	struct wakeup_source w_lock;
+	struct wakeup_source *w_lock;
 	struct ipa3_wakelock_ref_cnt wakelock_ref_cnt;
 	/* RMNET_IOCTL_INGRESS_FORMAT_AGG_DATA */
 	bool ipa_client_apps_wan_cons_agg_gro;
diff --git a/drivers/platform/msm/ipa/ipa_v3/ipa_pm.c b/drivers/platform/msm/ipa/ipa_v3/ipa_pm.c
index f35abd0..c6bfd81 100644
--- a/drivers/platform/msm/ipa/ipa_v3/ipa_pm.c
+++ b/drivers/platform/msm/ipa/ipa_v3/ipa_pm.c
@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
  */
 
 #include <linux/debugfs.h>
@@ -149,7 +149,7 @@
 	struct work_struct activate_work;
 	struct delayed_work deactivate_work;
 	struct completion complete;
-	struct wakeup_source wlock;
+	struct wakeup_source *wlock;
 };
 
 /*
@@ -399,7 +399,7 @@
 	if (!client->skip_clk_vote) {
 		IPA_ACTIVE_CLIENTS_INC_SPECIAL(client->name);
 		if (client->group == IPA_PM_GROUP_APPS)
-			__pm_stay_awake(&client->wlock);
+			__pm_stay_awake(client->wlock);
 	}
 
 	spin_lock_irqsave(&client->state_lock, flags);
@@ -421,7 +421,7 @@
 		if (!client->skip_clk_vote) {
 			IPA_ACTIVE_CLIENTS_DEC_SPECIAL(client->name);
 			if (client->group == IPA_PM_GROUP_APPS)
-				__pm_relax(&client->wlock);
+				__pm_relax(client->wlock);
 		}
 
 		IPA_PM_DBG_STATE(client->hdl, client->name, client->state);
@@ -480,7 +480,7 @@
 		if (!client->skip_clk_vote) {
 			IPA_ACTIVE_CLIENTS_DEC_SPECIAL(client->name);
 			if (client->group == IPA_PM_GROUP_APPS)
-				__pm_relax(&client->wlock);
+				__pm_relax(client->wlock);
 		}
 
 		deactivate_client(client->hdl);
@@ -704,7 +704,6 @@
 int ipa_pm_register(struct ipa_pm_register_params *params, u32 *hdl)
 {
 	struct ipa_pm_client *client;
-	struct wakeup_source *wlock;
 	int elem;
 
 	if (ipa_pm_ctx == NULL) {
@@ -755,9 +754,13 @@
 	client->group = params->group;
 	client->hdl = *hdl;
 	client->skip_clk_vote = params->skip_clk_vote;
-	wlock = &client->wlock;
-	wakeup_source_init(wlock, client->name);
-
+	client->wlock = wakeup_source_register(NULL, client->name);
+	if (!client->wlock) {
+		ipa_pm_deregister(*hdl);
+		IPA_PM_ERR("IPA wakeup source register failed %s\n",
+			   client->name);
+		return -ENOMEM;
+	}
 	init_completion(&client->complete);
 
 	/* add client to exception list */
@@ -822,7 +825,7 @@
 		if (ipa_pm_ctx->clients_by_pipe[i] == ipa_pm_ctx->clients[hdl])
 			ipa_pm_ctx->clients_by_pipe[i] = NULL;
 	}
-	wakeup_source_trash(&client->wlock);
+	wakeup_source_unregister(client->wlock);
 	kfree(client);
 	ipa_pm_ctx->clients[hdl] = NULL;
 
@@ -941,7 +944,7 @@
 	if (result == 0) {
 		client->state = IPA_PM_ACTIVATED;
 		if (client->group == IPA_PM_GROUP_APPS)
-			__pm_stay_awake(&client->wlock);
+			__pm_stay_awake(client->wlock);
 		spin_unlock_irqrestore(&client->state_lock, flags);
 		activate_client(client->hdl);
 		if (sync)
@@ -1121,7 +1124,7 @@
 			if (!client->skip_clk_vote) {
 				IPA_ACTIVE_CLIENTS_DEC_SPECIAL(client->name);
 				if (client->group == IPA_PM_GROUP_APPS)
-					__pm_relax(&client->wlock);
+					__pm_relax(client->wlock);
 			}
 			deactivate_client(client->hdl);
 		} else /* if activated or deactivated, we do nothing */
@@ -1176,7 +1179,7 @@
 	if (!client->skip_clk_vote) {
 		IPA_ACTIVE_CLIENTS_DEC_SPECIAL(client->name);
 		if (client->group == IPA_PM_GROUP_APPS)
-			__pm_relax(&client->wlock);
+			__pm_relax(client->wlock);
 	}
 
 	spin_lock_irqsave(&client->state_lock, flags);
diff --git a/drivers/platform/x86/alienware-wmi.c b/drivers/platform/x86/alienware-wmi.c
index f10af5c..83fd767 100644
--- a/drivers/platform/x86/alienware-wmi.c
+++ b/drivers/platform/x86/alienware-wmi.c
@@ -522,23 +522,22 @@
 
 	input.length = (acpi_size) sizeof(*in_args);
 	input.pointer = in_args;
-	if (out_data != NULL) {
+	if (out_data) {
 		output.length = ACPI_ALLOCATE_BUFFER;
 		output.pointer = NULL;
 		status = wmi_evaluate_method(WMAX_CONTROL_GUID, 0,
 					     command, &input, &output);
-	} else
+		if (ACPI_SUCCESS(status)) {
+			obj = (union acpi_object *)output.pointer;
+			if (obj && obj->type == ACPI_TYPE_INTEGER)
+				*out_data = (u32)obj->integer.value;
+		}
+		kfree(output.pointer);
+	} else {
 		status = wmi_evaluate_method(WMAX_CONTROL_GUID, 0,
 					     command, &input, NULL);
-
-	if (ACPI_SUCCESS(status) && out_data != NULL) {
-		obj = (union acpi_object *)output.pointer;
-		if (obj && obj->type == ACPI_TYPE_INTEGER)
-			*out_data = (u32) obj->integer.value;
 	}
-	kfree(output.pointer);
 	return status;
-
 }
 
 /*
@@ -588,7 +587,7 @@
 			return scnprintf(buf, PAGE_SIZE,
 					 "input [gpu] unknown\n");
 	}
-	pr_err("alienware-wmi: unknown HDMI source status: %d\n", out_data);
+	pr_err("alienware-wmi: unknown HDMI source status: %u\n", status);
 	return scnprintf(buf, PAGE_SIZE, "input gpu [unknown]\n");
 }
 
diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
index 22eac44..339b753 100644
--- a/drivers/platform/x86/asus-wmi.c
+++ b/drivers/platform/x86/asus-wmi.c
@@ -463,13 +463,7 @@
 
 	asus = container_of(work, struct asus_wmi, kbd_led_work);
 
-	/*
-	 * bits 0-2: level
-	 * bit 7: light on/off
-	 */
-	if (asus->kbd_led_wk > 0)
-		ctrl_param = 0x80 | (asus->kbd_led_wk & 0x7F);
-
+	ctrl_param = 0x80 | (asus->kbd_led_wk & 0x7F);
 	asus_wmi_set_devstate(ASUS_WMI_DEVID_KBD_BACKLIGHT, ctrl_param, NULL);
 	led_classdev_notify_brightness_hw_changed(&asus->kbd_led, asus->kbd_led_wk);
 }
diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell-laptop.c
index 3433986..949dbc8 100644
--- a/drivers/platform/x86/dell-laptop.c
+++ b/drivers/platform/x86/dell-laptop.c
@@ -37,6 +37,7 @@
 
 struct quirk_entry {
 	bool touchpad_led;
+	bool kbd_led_not_present;
 	bool kbd_led_levels_off_1;
 	bool kbd_missing_ac_tag;
 
@@ -77,6 +78,10 @@
 	.kbd_led_levels_off_1 = true,
 };
 
+static struct quirk_entry quirk_dell_inspiron_1012 = {
+	.kbd_led_not_present = true,
+};
+
 static struct platform_driver platform_driver = {
 	.driver = {
 		.name = "dell-laptop",
@@ -314,6 +319,24 @@
 		},
 		.driver_data = &quirk_dell_latitude_e6410,
 	},
+	{
+		.callback = dmi_matched,
+		.ident = "Dell Inspiron 1012",
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
+			DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1012"),
+		},
+		.driver_data = &quirk_dell_inspiron_1012,
+	},
+	{
+		.callback = dmi_matched,
+		.ident = "Dell Inspiron 1018",
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
+			DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 1018"),
+		},
+		.driver_data = &quirk_dell_inspiron_1012,
+	},
 	{ }
 };
 
@@ -1497,6 +1520,9 @@
 {
 	int ret;
 
+	if (quirks && quirks->kbd_led_not_present)
+		return;
+
 	ret = kbd_init_info();
 	kbd_init_tokens();
 
diff --git a/drivers/platform/x86/gpd-pocket-fan.c b/drivers/platform/x86/gpd-pocket-fan.c
index be85ed9..b471b86 100644
--- a/drivers/platform/x86/gpd-pocket-fan.c
+++ b/drivers/platform/x86/gpd-pocket-fan.c
@@ -16,17 +16,27 @@
 
 #define MAX_SPEED 3
 
-static int temp_limits[3] = { 55000, 60000, 65000 };
+#define TEMP_LIMIT0_DEFAULT	55000
+#define TEMP_LIMIT1_DEFAULT	60000
+#define TEMP_LIMIT2_DEFAULT	65000
+
+#define HYSTERESIS_DEFAULT	3000
+
+#define SPEED_ON_AC_DEFAULT	2
+
+static int temp_limits[3] = {
+	TEMP_LIMIT0_DEFAULT, TEMP_LIMIT1_DEFAULT, TEMP_LIMIT2_DEFAULT,
+};
 module_param_array(temp_limits, int, NULL, 0444);
 MODULE_PARM_DESC(temp_limits,
 		 "Millicelsius values above which the fan speed increases");
 
-static int hysteresis = 3000;
+static int hysteresis = HYSTERESIS_DEFAULT;
 module_param(hysteresis, int, 0444);
 MODULE_PARM_DESC(hysteresis,
 		 "Hysteresis in millicelsius before lowering the fan speed");
 
-static int speed_on_ac = 2;
+static int speed_on_ac = SPEED_ON_AC_DEFAULT;
 module_param(speed_on_ac, int, 0444);
 MODULE_PARM_DESC(speed_on_ac,
 		 "minimum fan speed to allow when system is powered by AC");
@@ -117,21 +127,24 @@
 	int i;
 
 	for (i = 0; i < ARRAY_SIZE(temp_limits); i++) {
-		if (temp_limits[i] < 40000 || temp_limits[i] > 70000) {
+		if (temp_limits[i] < 20000 || temp_limits[i] > 90000) {
 			dev_err(&pdev->dev, "Invalid temp-limit %d (must be between 40000 and 70000)\n",
 				temp_limits[i]);
-			return -EINVAL;
+			temp_limits[0] = TEMP_LIMIT0_DEFAULT;
+			temp_limits[1] = TEMP_LIMIT1_DEFAULT;
+			temp_limits[2] = TEMP_LIMIT2_DEFAULT;
+			break;
 		}
 	}
 	if (hysteresis < 1000 || hysteresis > 10000) {
 		dev_err(&pdev->dev, "Invalid hysteresis %d (must be between 1000 and 10000)\n",
 			hysteresis);
-		return -EINVAL;
+		hysteresis = HYSTERESIS_DEFAULT;
 	}
 	if (speed_on_ac < 0 || speed_on_ac > MAX_SPEED) {
 		dev_err(&pdev->dev, "Invalid speed_on_ac %d (must be between 0 and 3)\n",
 			speed_on_ac);
-		return -EINVAL;
+		speed_on_ac = SPEED_ON_AC_DEFAULT;
 	}
 
 	fan = devm_kzalloc(&pdev->dev, sizeof(*fan), GFP_KERNEL);
diff --git a/drivers/platform/x86/intel_cht_int33fe.c b/drivers/platform/x86/intel_cht_int33fe.c
index f40b1c19..13eeb10 100644
--- a/drivers/platform/x86/intel_cht_int33fe.c
+++ b/drivers/platform/x86/intel_cht_int33fe.c
@@ -35,7 +35,7 @@
 	struct i2c_client *fusb302;
 	struct i2c_client *pi3usb30532;
 	/* Contain a list-head must be per device */
-	struct device_connection connections[5];
+	struct device_connection connections[4];
 };
 
 /*
@@ -176,17 +176,14 @@
 	}
 
 	data->connections[0].endpoint[0] = "port0";
-	data->connections[0].endpoint[1] = "i2c-pi3usb30532";
-	data->connections[0].id = "typec-switch";
+	data->connections[0].endpoint[1] = "i2c-pi3usb30532-switch";
+	data->connections[0].id = "orientation-switch";
 	data->connections[1].endpoint[0] = "port0";
-	data->connections[1].endpoint[1] = "i2c-pi3usb30532";
-	data->connections[1].id = "typec-mux";
-	data->connections[2].endpoint[0] = "port0";
-	data->connections[2].endpoint[1] = "i2c-pi3usb30532";
-	data->connections[2].id = "idff01m01";
-	data->connections[3].endpoint[0] = "i2c-fusb302";
-	data->connections[3].endpoint[1] = "intel_xhci_usb_sw-role-switch";
-	data->connections[3].id = "usb-role-switch";
+	data->connections[1].endpoint[1] = "i2c-pi3usb30532-mux";
+	data->connections[1].id = "mode-switch";
+	data->connections[2].endpoint[0] = "i2c-fusb302";
+	data->connections[2].endpoint[1] = "intel_xhci_usb_sw-role-switch";
+	data->connections[2].id = "usb-role-switch";
 
 	device_connections_add(data->connections);
 
diff --git a/drivers/platform/x86/intel_mid_powerbtn.c b/drivers/platform/x86/intel_mid_powerbtn.c
index 5ad4420..10dbd6c 100644
--- a/drivers/platform/x86/intel_mid_powerbtn.c
+++ b/drivers/platform/x86/intel_mid_powerbtn.c
@@ -158,9 +158,10 @@
 
 	input_set_capability(input, EV_KEY, KEY_POWER);
 
-	ddata = (struct mid_pb_ddata *)id->driver_data;
+	ddata = devm_kmemdup(&pdev->dev, (void *)id->driver_data,
+			     sizeof(*ddata), GFP_KERNEL);
 	if (!ddata)
-		return -ENODATA;
+		return -ENOMEM;
 
 	ddata->dev = &pdev->dev;
 	ddata->irq = irq;
diff --git a/drivers/platform/x86/intel_scu_ipc.c b/drivers/platform/x86/intel_scu_ipc.c
index 75c8fef..54f131b 100644
--- a/drivers/platform/x86/intel_scu_ipc.c
+++ b/drivers/platform/x86/intel_scu_ipc.c
@@ -69,26 +69,22 @@
 struct intel_scu_ipc_pdata_t {
 	u32 i2c_base;
 	u32 i2c_len;
-	u8 irq_mode;
 };
 
 static const struct intel_scu_ipc_pdata_t intel_scu_ipc_lincroft_pdata = {
 	.i2c_base = 0xff12b000,
 	.i2c_len = 0x10,
-	.irq_mode = 0,
 };
 
 /* Penwell and Cloverview */
 static const struct intel_scu_ipc_pdata_t intel_scu_ipc_penwell_pdata = {
 	.i2c_base = 0xff12b000,
 	.i2c_len = 0x10,
-	.irq_mode = 1,
 };
 
 static const struct intel_scu_ipc_pdata_t intel_scu_ipc_tangier_pdata = {
 	.i2c_base  = 0xff00d000,
 	.i2c_len = 0x10,
-	.irq_mode = 0,
 };
 
 struct intel_scu_ipc_dev {
@@ -101,6 +97,9 @@
 
 static struct intel_scu_ipc_dev  ipcdev; /* Only one for now */
 
+#define IPC_STATUS		0x04
+#define IPC_STATUS_IRQ		BIT(2)
+
 /*
  * IPC Read Buffer (Read Only):
  * 16 byte buffer for receiving data from SCU, if IPC command
@@ -122,11 +121,8 @@
  */
 static inline void ipc_command(struct intel_scu_ipc_dev *scu, u32 cmd)
 {
-	if (scu->irq_mode) {
-		reinit_completion(&scu->cmd_complete);
-		writel(cmd | IPC_IOC, scu->ipc_base);
-	}
-	writel(cmd, scu->ipc_base);
+	reinit_completion(&scu->cmd_complete);
+	writel(cmd | IPC_IOC, scu->ipc_base);
 }
 
 /*
@@ -612,9 +608,10 @@
 static irqreturn_t ioc(int irq, void *dev_id)
 {
 	struct intel_scu_ipc_dev *scu = dev_id;
+	int status = ipc_read_status(scu);
 
-	if (scu->irq_mode)
-		complete(&scu->cmd_complete);
+	writel(status | IPC_STATUS_IRQ, scu->ipc_base + IPC_STATUS);
+	complete(&scu->cmd_complete);
 
 	return IRQ_HANDLED;
 }
@@ -640,8 +637,6 @@
 	if (!pdata)
 		return -ENODEV;
 
-	scu->irq_mode = pdata->irq_mode;
-
 	err = pcim_enable_device(pdev);
 	if (err)
 		return err;
diff --git a/drivers/platform/x86/wmi.c b/drivers/platform/x86/wmi.c
index 04791ea..35cdc39 100644
--- a/drivers/platform/x86/wmi.c
+++ b/drivers/platform/x86/wmi.c
@@ -768,6 +768,9 @@
 	struct wmi_block *wblock = dev_to_wblock(dev);
 	const struct wmi_device_id *id = wmi_driver->id_table;
 
+	if (id == NULL)
+		return 0;
+
 	while (id->guid_string) {
 		uuid_le driver_guid;
 
diff --git a/drivers/power/supply/ltc2941-battery-gauge.c b/drivers/power/supply/ltc2941-battery-gauge.c
index 4f129bb..ff5febe 100644
--- a/drivers/power/supply/ltc2941-battery-gauge.c
+++ b/drivers/power/supply/ltc2941-battery-gauge.c
@@ -448,7 +448,7 @@
 {
 	struct ltc294x_info *info = i2c_get_clientdata(client);
 
-	cancel_delayed_work(&info->work);
+	cancel_delayed_work_sync(&info->work);
 	power_supply_unregister(info->supply);
 	return 0;
 }
diff --git a/drivers/power/supply/qcom/battery.c b/drivers/power/supply/qcom/battery.c
index 8a119ca..0714dad 100644
--- a/drivers/power/supply/qcom/battery.c
+++ b/drivers/power/supply/qcom/battery.c
@@ -1998,7 +1998,7 @@
 	pl_config_init(chip, chg_param->smb_version);
 	chip->restricted_current = DEFAULT_RESTRICTED_CURRENT_UA;
 
-	chip->pl_ws = wakeup_source_register("qcom-battery");
+	chip->pl_ws = wakeup_source_register(NULL, "qcom-battery");
 	if (!chip->pl_ws)
 		goto cleanup;
 
diff --git a/drivers/power/supply/qcom/qg-core.h b/drivers/power/supply/qcom/qg-core.h
index 8704699..b5716c3 100644
--- a/drivers/power/supply/qcom/qg-core.h
+++ b/drivers/power/supply/qcom/qg-core.h
@@ -66,6 +66,7 @@
 	bool			esr_disable;
 	bool			esr_discharge_enable;
 	bool			qg_ext_sense;
+	bool			use_cp_iin_sns;
 	bool			use_s7_ocv;
 	bool			qg_sleep_config;
 	bool			qg_fast_chg_cfg;
@@ -122,6 +123,7 @@
 	struct power_supply	*usb_psy;
 	struct power_supply	*dc_psy;
 	struct power_supply	*parallel_psy;
+	struct power_supply	*cp_psy;
 	struct qg_esr_data	esr_data[QG_MAX_ESR_COUNT];
 
 	/* status variable */
diff --git a/drivers/power/supply/qcom/qg-util.c b/drivers/power/supply/qcom/qg-util.c
index 170ca87..36b5fef 100644
--- a/drivers/power/supply/qcom/qg-util.c
+++ b/drivers/power/supply/qcom/qg-util.c
@@ -307,7 +307,7 @@
 	return is_usb_present(chip) || is_dc_present(chip);
 }
 
-static bool is_parallel_available(struct qpnp_qg *chip)
+bool is_parallel_available(struct qpnp_qg *chip)
 {
 	if (chip->parallel_psy)
 		return true;
@@ -319,6 +319,18 @@
 	return true;
 }
 
+bool is_cp_available(struct qpnp_qg *chip)
+{
+	if (chip->cp_psy)
+		return true;
+
+	chip->cp_psy = power_supply_get_by_name("charge_pump_master");
+	if (!chip->cp_psy)
+		return false;
+
+	return true;
+}
+
 bool is_parallel_enabled(struct qpnp_qg *chip)
 {
 	union power_supply_propval pval = {0, };
@@ -326,6 +338,9 @@
 	if (is_parallel_available(chip)) {
 		power_supply_get_property(chip->parallel_psy,
 			POWER_SUPPLY_PROP_CHARGING_ENABLED, &pval);
+	} else if (is_cp_available(chip)) {
+		power_supply_get_property(chip->cp_psy,
+			POWER_SUPPLY_PROP_CP_ENABLE, &pval);
 	}
 
 	return pval.intval ? true : false;
diff --git a/drivers/power/supply/qcom/qg-util.h b/drivers/power/supply/qcom/qg-util.h
index 7a1892b..ae9ef81 100644
--- a/drivers/power/supply/qcom/qg-util.h
+++ b/drivers/power/supply/qcom/qg-util.h
@@ -19,6 +19,8 @@
 bool is_dc_present(struct qpnp_qg *chip);
 bool is_input_present(struct qpnp_qg *chip);
 bool is_parallel_enabled(struct qpnp_qg *chip);
+bool is_cp_available(struct qpnp_qg *chip);
+bool is_parallel_available(struct qpnp_qg *chip);
 int qg_write_monotonic_soc(struct qpnp_qg *chip, int msoc);
 int qg_get_battery_temp(struct qpnp_qg *chip, int *batt_temp);
 int qg_get_battery_current(struct qpnp_qg *chip, int *ibat_ua);
diff --git a/drivers/power/supply/qcom/qpnp-qg.c b/drivers/power/supply/qcom/qpnp-qg.c
index 0acae67..956f75f 100644
--- a/drivers/power/supply/qcom/qpnp-qg.c
+++ b/drivers/power/supply/qcom/qpnp-qg.c
@@ -2442,13 +2442,15 @@
 		"Parallel status changed Enabled=%d\n", parallel_enabled);
 
 	mutex_lock(&chip->data_lock);
-
 	/*
-	 * Parallel charger uses the same external sense, hence do not
-	 * enable SMB sensing if PMI632 is configured for external sense.
+	 * dt.qg_ext_sense = Uses external rsense, if defined do not
+	 *		     enable SMB sensing (for non-CP parallel charger).
+	 * dt.cp_iin_sns = Uses CP IIN_SNS, enable SMB sensing (for CP charger).
 	 */
-	if (!chip->dt.qg_ext_sense)
-		update_smb = true;
+	if (is_cp_available(chip))
+		update_smb = chip->dt.use_cp_iin_sns ? true : false;
+	else if (is_parallel_available(chip))
+		update_smb = chip->dt.qg_ext_sense ? false : true;
 
 	rc = process_rt_fifo_data(chip, update_smb);
 	if (rc < 0)
@@ -2699,7 +2701,8 @@
 	if ((strcmp(psy->desc->name, "battery") == 0)
 		|| (strcmp(psy->desc->name, "parallel") == 0)
 		|| (strcmp(psy->desc->name, "usb") == 0)
-		|| (strcmp(psy->desc->name, "dc") == 0)) {
+		|| (strcmp(psy->desc->name, "dc") == 0)
+		|| (strcmp(psy->desc->name, "charge_pump_master") == 0)) {
 		/*
 		 * We cannot vote for awake votable here as that takes
 		 * a mutex lock and this is executed in an atomic context.
@@ -4340,6 +4343,9 @@
 
 	chip->dt.qg_ext_sense = of_property_read_bool(node, "qcom,qg-ext-sns");
 
+	chip->dt.use_cp_iin_sns = of_property_read_bool(node,
+							"qcom,use-cp-iin-sns");
+
 	chip->dt.use_s7_ocv = of_property_read_bool(node, "qcom,qg-use-s7-ocv");
 
 	rc = of_property_read_u32(node, "qcom,min-sleep-time-secs", &temp);
@@ -4427,6 +4433,7 @@
 		return rc;
 	}
 	sleep_fifo_length &= SLEEP_IBAT_QUALIFIED_LENGTH_MASK;
+	sleep_fifo_length++;
 
 	if (chip->dt.qg_sleep_config) {
 		qg_dbg(chip, QG_DEBUG_STATUS, "Suspend: Forcing S2_SLEEP\n");
diff --git a/drivers/power/supply/qcom/qpnp-smblite.c b/drivers/power/supply/qcom/qpnp-smblite.c
index 5f8c714..f0d5ece 100644
--- a/drivers/power/supply/qcom/qpnp-smblite.c
+++ b/drivers/power/supply/qcom/qpnp-smblite.c
@@ -433,9 +433,6 @@
 	case POWER_SUPPLY_PROP_SCOPE:
 		rc = smblite_lib_get_prop_scope(chg, val);
 		break;
-	case POWER_SUPPLY_PROP_FLASH_TRIGGER:
-		rc = schgm_flashlite_get_vreg_ok(chg, &val->intval);
-		break;
 	default:
 		pr_err("get prop %d is not supported in usb\n", psp);
 		rc = -EINVAL;
@@ -530,6 +527,7 @@
 	POWER_SUPPLY_PROP_FCC_DELTA,
 	POWER_SUPPLY_PROP_CURRENT_MAX,
 	POWER_SUPPLY_PROP_FLASH_TRIGGER,
+	POWER_SUPPLY_PROP_FLASH_ACTIVE,
 };
 
 static int smblite_usb_main_get_prop(struct power_supply *psy,
@@ -564,6 +562,12 @@
 	case POWER_SUPPLY_PROP_CURRENT_MAX:
 		rc = smblite_lib_get_icl_current(chg, &val->intval);
 		break;
+	case POWER_SUPPLY_PROP_FLASH_TRIGGER:
+		rc = schgm_flashlite_get_vreg_ok(chg, &val->intval);
+		break;
+	case POWER_SUPPLY_PROP_FLASH_ACTIVE:
+		val->intval = chg->flash_active;
+		break;
 	default:
 		pr_debug("get prop %d is not supported in usb-main\n", psp);
 		rc = -EINVAL;
@@ -582,6 +586,7 @@
 	struct smblite *chip = power_supply_get_drvdata(psy);
 	struct smb_charger *chg = &chip->chg;
 	int rc = 0;
+	union power_supply_propval pval = {0, };
 
 	switch (psp) {
 	case POWER_SUPPLY_PROP_VOLTAGE_MAX:
@@ -595,6 +600,21 @@
 	case POWER_SUPPLY_PROP_CURRENT_MAX:
 		rc = smblite_lib_set_icl_current(chg, val->intval);
 		break;
+	case POWER_SUPPLY_PROP_FLASH_ACTIVE:
+		if (chg->flash_active != val->intval) {
+			chg->flash_active = val->intval;
+
+			rc = smblite_lib_get_prop_usb_present(chg, &pval);
+			if (rc < 0)
+				pr_err("Failed to get USB present status rc=%d\n",
+						rc);
+			if (!pval.intval) {
+				/* vote 100ma when usb is not present*/
+				vote(chg->usb_icl_votable, SW_ICL_MAX_VOTER,
+							true, USBIN_100UA);
+			}
+		}
+		break;
 	default:
 		pr_err("set prop %d is not supported\n", psp);
 		rc = -EINVAL;
diff --git a/drivers/power/supply/qcom/smb1390-charger-psy.c b/drivers/power/supply/qcom/smb1390-charger-psy.c
index 833c8b6..797f0c5 100644
--- a/drivers/power/supply/qcom/smb1390-charger-psy.c
+++ b/drivers/power/supply/qcom/smb1390-charger-psy.c
@@ -1885,7 +1885,7 @@
 		return rc;
 	}
 
-	chip->cp_ws = wakeup_source_register("qcom-chargepump");
+	chip->cp_ws = wakeup_source_register(NULL, "qcom-chargepump");
 	if (!chip->cp_ws)
 		return -ENOMEM;
 
diff --git a/drivers/power/supply/qcom/step-chg-jeita.c b/drivers/power/supply/qcom/step-chg-jeita.c
index 5a81e53..a2e9bf9 100644
--- a/drivers/power/supply/qcom/step-chg-jeita.c
+++ b/drivers/power/supply/qcom/step-chg-jeita.c
@@ -843,7 +843,7 @@
 	if (!chip)
 		return -ENOMEM;
 
-	chip->step_chg_ws = wakeup_source_register("qcom-step-chg");
+	chip->step_chg_ws = wakeup_source_register(dev, "qcom-step-chg");
 	if (!chip->step_chg_ws)
 		return -EINVAL;
 
diff --git a/drivers/ptp/ptp_clock.c b/drivers/ptp/ptp_clock.c
index b818f65..e232233 100644
--- a/drivers/ptp/ptp_clock.c
+++ b/drivers/ptp/ptp_clock.c
@@ -179,6 +179,7 @@
 {
 	struct ptp_clock *ptp = container_of(dev, struct ptp_clock, dev);
 
+	ptp_cleanup_pin_groups(ptp);
 	mutex_destroy(&ptp->tsevq_mux);
 	mutex_destroy(&ptp->pincfg_mux);
 	ida_simple_remove(&ptp_clocks_map, ptp->index);
@@ -315,9 +316,8 @@
 	if (ptp->pps_source)
 		pps_unregister_source(ptp->pps_source);
 
-	ptp_cleanup_pin_groups(ptp);
-
 	posix_clock_unregister(&ptp->clock);
+
 	return 0;
 }
 EXPORT_SYMBOL(ptp_clock_unregister);
diff --git a/drivers/pwm/pwm-lpss.c b/drivers/pwm/pwm-lpss.c
index 1e69c1c..7a4a640 100644
--- a/drivers/pwm/pwm-lpss.c
+++ b/drivers/pwm/pwm-lpss.c
@@ -216,6 +216,12 @@
 
 int pwm_lpss_remove(struct pwm_lpss_chip *lpwm)
 {
+	int i;
+
+	for (i = 0; i < lpwm->info->npwm; i++) {
+		if (pwm_is_enabled(&lpwm->chip.pwms[i]))
+			pm_runtime_put(lpwm->chip.dev);
+	}
 	return pwmchip_remove(&lpwm->chip);
 }
 EXPORT_SYMBOL_GPL(pwm_lpss_remove);
diff --git a/drivers/pwm/pwm-meson.c b/drivers/pwm/pwm-meson.c
index f6e738a..e247ab6 100644
--- a/drivers/pwm/pwm-meson.c
+++ b/drivers/pwm/pwm-meson.c
@@ -188,7 +188,7 @@
 	do_div(fin_ps, fin_freq);
 
 	/* Calc pre_div with the period */
-	for (pre_div = 0; pre_div < MISC_CLK_DIV_MASK; pre_div++) {
+	for (pre_div = 0; pre_div <= MISC_CLK_DIV_MASK; pre_div++) {
 		cnt = DIV_ROUND_CLOSEST_ULL((u64)period * 1000,
 					    fin_ps * (pre_div + 1));
 		dev_dbg(meson->chip.dev, "fin_ps=%llu pre_div=%u cnt=%u\n",
@@ -197,7 +197,7 @@
 			break;
 	}
 
-	if (pre_div == MISC_CLK_DIV_MASK) {
+	if (pre_div > MISC_CLK_DIV_MASK) {
 		dev_err(meson->chip.dev, "unable to get period pre_div\n");
 		return -EINVAL;
 	}
@@ -325,11 +325,6 @@
 	if (state->period != channel->state.period ||
 	    state->duty_cycle != channel->state.duty_cycle ||
 	    state->polarity != channel->state.polarity) {
-		if (channel->state.enabled) {
-			meson_pwm_disable(meson, pwm->hwpwm);
-			channel->state.enabled = false;
-		}
-
 		if (state->polarity != channel->state.polarity) {
 			if (state->polarity == PWM_POLARITY_NORMAL)
 				meson->inverter_mask |= BIT(pwm->hwpwm);
diff --git a/drivers/pwm/pwm-omap-dmtimer.c b/drivers/pwm/pwm-omap-dmtimer.c
index f457986..527b879 100644
--- a/drivers/pwm/pwm-omap-dmtimer.c
+++ b/drivers/pwm/pwm-omap-dmtimer.c
@@ -259,7 +259,7 @@
 	if (!timer_pdev) {
 		dev_err(&pdev->dev, "Unable to find Timer pdev\n");
 		ret = -ENODEV;
-		goto put;
+		goto err_find_timer_pdev;
 	}
 
 	timer_pdata = dev_get_platdata(&timer_pdev->dev);
@@ -267,7 +267,7 @@
 		dev_dbg(&pdev->dev,
 			 "dmtimer pdata structure NULL, deferring probe\n");
 		ret = -EPROBE_DEFER;
-		goto put;
+		goto err_platdata;
 	}
 
 	pdata = timer_pdata->timer_ops;
@@ -286,30 +286,25 @@
 	    !pdata->write_counter) {
 		dev_err(&pdev->dev, "Incomplete dmtimer pdata structure\n");
 		ret = -EINVAL;
-		goto put;
+		goto err_platdata;
 	}
 
 	if (!of_get_property(timer, "ti,timer-pwm", NULL)) {
 		dev_err(&pdev->dev, "Missing ti,timer-pwm capability\n");
 		ret = -ENODEV;
-		goto put;
+		goto err_timer_property;
 	}
 
 	dm_timer = pdata->request_by_node(timer);
 	if (!dm_timer) {
 		ret = -EPROBE_DEFER;
-		goto put;
+		goto err_request_timer;
 	}
 
-put:
-	of_node_put(timer);
-	if (ret < 0)
-		return ret;
-
 	omap = devm_kzalloc(&pdev->dev, sizeof(*omap), GFP_KERNEL);
 	if (!omap) {
-		pdata->free(dm_timer);
-		return -ENOMEM;
+		ret = -ENOMEM;
+		goto err_alloc_omap;
 	}
 
 	omap->pdata = pdata;
@@ -342,27 +337,56 @@
 	ret = pwmchip_add(&omap->chip);
 	if (ret < 0) {
 		dev_err(&pdev->dev, "failed to register PWM\n");
-		omap->pdata->free(omap->dm_timer);
-		return ret;
+		goto err_pwmchip_add;
 	}
 
+	of_node_put(timer);
+
 	platform_set_drvdata(pdev, omap);
 
 	return 0;
+
+err_pwmchip_add:
+
+	/*
+	 * *omap is allocated using devm_kzalloc,
+	 * so no free necessary here
+	 */
+err_alloc_omap:
+
+	pdata->free(dm_timer);
+err_request_timer:
+
+err_timer_property:
+err_platdata:
+
+	put_device(&timer_pdev->dev);
+err_find_timer_pdev:
+
+	of_node_put(timer);
+
+	return ret;
 }
 
 static int pwm_omap_dmtimer_remove(struct platform_device *pdev)
 {
 	struct pwm_omap_dmtimer_chip *omap = platform_get_drvdata(pdev);
+	int ret;
+
+	ret = pwmchip_remove(&omap->chip);
+	if (ret)
+		return ret;
 
 	if (pm_runtime_active(&omap->dm_timer_pdev->dev))
 		omap->pdata->stop(omap->dm_timer);
 
 	omap->pdata->free(omap->dm_timer);
 
+	put_device(&omap->dm_timer_pdev->dev);
+
 	mutex_destroy(&omap->mutex);
 
-	return pwmchip_remove(&omap->chip);
+	return 0;
 }
 
 static const struct of_device_id pwm_omap_dmtimer_of_match[] = {
diff --git a/drivers/pwm/pwm-pca9685.c b/drivers/pwm/pwm-pca9685.c
index 567f5e2..e1e5dfc 100644
--- a/drivers/pwm/pwm-pca9685.c
+++ b/drivers/pwm/pwm-pca9685.c
@@ -170,13 +170,9 @@
 static void pca9685_pwm_gpio_free(struct gpio_chip *gpio, unsigned int offset)
 {
 	struct pca9685 *pca = gpiochip_get_data(gpio);
-	struct pwm_device *pwm;
 
 	pca9685_pwm_gpio_set(gpio, offset, 0);
 	pm_runtime_put(pca->chip.dev);
-	mutex_lock(&pca->lock);
-	pwm = &pca->chip.pwms[offset];
-	mutex_unlock(&pca->lock);
 }
 
 static int pca9685_pwm_gpio_get_direction(struct gpio_chip *chip,
diff --git a/drivers/rapidio/rio_cm.c b/drivers/rapidio/rio_cm.c
index ef989a1..b29fc25 100644
--- a/drivers/rapidio/rio_cm.c
+++ b/drivers/rapidio/rio_cm.c
@@ -1215,7 +1215,9 @@
 	riocm_debug(CHOP, "(ch_%d)", ch_id);
 
 	ch = riocm_get_channel(ch_id);
-	if (!ch || !riocm_cmp_exch(ch, RIO_CM_CHAN_BOUND, RIO_CM_LISTEN))
+	if (!ch)
+		return -EINVAL;
+	if (!riocm_cmp_exch(ch, RIO_CM_CHAN_BOUND, RIO_CM_LISTEN))
 		ret = -EINVAL;
 	riocm_put_channel(ch);
 	return ret;
diff --git a/drivers/regulator/Kconfig b/drivers/regulator/Kconfig
index 4e4bdcf..7e7dd02 100644
--- a/drivers/regulator/Kconfig
+++ b/drivers/regulator/Kconfig
@@ -1094,6 +1094,16 @@
 	  be used on systems which contain an RPM which communicates with the
 	  application processor over SMD.
 
+config REGULATOR_SPM
+	bool "SPM regulator driver"
+	depends on SPMI
+	help
+	  Enable support for the SPM regulator driver which is used for
+	  setting voltages of processor supply regulators via the SPM module
+	  found inside chips of Qualcomm Technologies Inc. The SPM regulator
+	  driver can be used on QTI SoCs where the APSS processor cores are
+	  supplied by their own PMIC regulator.
+
 config REGULATOR_STUB
 	tristate "Stub Regulator"
 	help
diff --git a/drivers/regulator/Makefile b/drivers/regulator/Makefile
index 9aff7d8..2f8b0ba 100644
--- a/drivers/regulator/Makefile
+++ b/drivers/regulator/Makefile
@@ -137,6 +137,7 @@
 obj-$(CONFIG_REGULATOR_WM8994) += wm8994-regulator.o
 obj-$(CONFIG_REGULATOR_MEM_ACC) += mem-acc-regulator.o
 obj-$(CONFIG_REGULATOR_REFGEN) += refgen.o
+obj-$(CONFIG_REGULATOR_SPM) += spm-regulator.o
 obj-$(CONFIG_REGULATOR_RPMH) += rpmh-regulator.o
 obj-$(CONFIG_REGULATOR_STUB) += stub-regulator.o
 
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
index f2360fa..b9cae33 100644
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
@@ -231,6 +231,37 @@
 }
 
 /**
+ * of_get_child_regulator - get a child regulator device node
+ * based on supply name
+ * @parent: Parent device node
+ * @prop_name: Combination regulator supply name and "-supply"
+ *
+ * Traverse all child nodes.
+ * Extract the child regulator device node corresponding to the supply name.
+ * returns the device node corresponding to the regulator if found, else
+ * returns NULL.
+ */
+static struct device_node *of_get_child_regulator(struct device_node *parent,
+						  const char *prop_name)
+{
+	struct device_node *regnode = NULL;
+	struct device_node *child = NULL;
+
+	for_each_child_of_node(parent, child) {
+		regnode = of_parse_phandle(child, prop_name, 0);
+
+		if (!regnode) {
+			regnode = of_get_child_regulator(child, prop_name);
+			if (regnode)
+				return regnode;
+		} else {
+			return regnode;
+		}
+	}
+	return NULL;
+}
+
+/**
  * of_get_regulator - get a regulator device node based on supply name
  * @dev: Device pointer for the consumer (of regulator) device
  * @supply: regulator supply name
@@ -250,6 +281,10 @@
 	regnode = of_parse_phandle(dev->of_node, prop_name, 0);
 
 	if (!regnode) {
+		regnode = of_get_child_regulator(dev->of_node, prop_name);
+		if (regnode)
+			return regnode;
+
 		dev_dbg(dev, "Looking up %s property in node %pOF failed\n",
 				prop_name, dev->of_node);
 		return NULL;
@@ -2734,6 +2769,40 @@
 EXPORT_SYMBOL_GPL(regulator_list_hardware_vsel);
 
 /**
+ * regulator_list_corner_voltage - return the maximum voltage in microvolts that
+ *	can be physically configured for the regulator when operating at the
+ *	specified voltage corner
+ * @regulator: regulator source
+ * @corner: voltage corner value
+ * Context: can sleep
+ *
+ * This function can be used for regulators which allow scaling between
+ * different voltage corners as opposed to be different absolute voltages.  The
+ * absolute voltage for a given corner may vary part-to-part or for a given part
+ * at runtime based upon various factors.
+ *
+ * Returns a voltage corresponding to the specified voltage corner or a negative
+ * errno if the corner value can't be used on this system.
+ */
+int regulator_list_corner_voltage(struct regulator *regulator, int corner)
+{
+	struct regulator_dev *rdev = regulator->rdev;
+	int ret;
+
+	if (corner < rdev->constraints->min_uV ||
+	    corner > rdev->constraints->max_uV ||
+	    !rdev->desc->ops->list_corner_voltage)
+		return -EINVAL;
+
+	mutex_lock(&rdev->mutex);
+	ret = rdev->desc->ops->list_corner_voltage(rdev, corner);
+	mutex_unlock(&rdev->mutex);
+
+	return ret;
+}
+EXPORT_SYMBOL(regulator_list_corner_voltage);
+
+/**
  * regulator_get_linear_step - return the voltage step size between VSEL values
  * @regulator: regulator source
  *
diff --git a/drivers/regulator/lp87565-regulator.c b/drivers/regulator/lp87565-regulator.c
index c192357..7cd6862 100644
--- a/drivers/regulator/lp87565-regulator.c
+++ b/drivers/regulator/lp87565-regulator.c
@@ -193,7 +193,7 @@
 	struct lp87565 *lp87565 = dev_get_drvdata(pdev->dev.parent);
 	struct regulator_config config = { };
 	struct regulator_dev *rdev;
-	int i, min_idx = LP87565_BUCK_1, max_idx = LP87565_BUCK_3;
+	int i, min_idx = LP87565_BUCK_0, max_idx = LP87565_BUCK_3;
 
 	platform_set_drvdata(pdev, lp87565);
 
diff --git a/drivers/regulator/pv88060-regulator.c b/drivers/regulator/pv88060-regulator.c
index a944605..1f2d818 100644
--- a/drivers/regulator/pv88060-regulator.c
+++ b/drivers/regulator/pv88060-regulator.c
@@ -135,7 +135,7 @@
 	int i;
 
 	/* search for closest to maximum */
-	for (i = info->n_current_limits; i >= 0; i--) {
+	for (i = info->n_current_limits - 1; i >= 0; i--) {
 		if (min <= info->current_limits[i]
 			&& max >= info->current_limits[i]) {
 			return regmap_update_bits(rdev->regmap,
diff --git a/drivers/regulator/pv88080-regulator.c b/drivers/regulator/pv88080-regulator.c
index 9a08cb2..6770e4d 100644
--- a/drivers/regulator/pv88080-regulator.c
+++ b/drivers/regulator/pv88080-regulator.c
@@ -279,7 +279,7 @@
 	int i;
 
 	/* search for closest to maximum */
-	for (i = info->n_current_limits; i >= 0; i--) {
+	for (i = info->n_current_limits - 1; i >= 0; i--) {
 		if (min <= info->current_limits[i]
 			&& max >= info->current_limits[i]) {
 				return regmap_update_bits(rdev->regmap,
diff --git a/drivers/regulator/pv88090-regulator.c b/drivers/regulator/pv88090-regulator.c
index 7a0c159..2302b0d 100644
--- a/drivers/regulator/pv88090-regulator.c
+++ b/drivers/regulator/pv88090-regulator.c
@@ -157,7 +157,7 @@
 	int i;
 
 	/* search for closest to maximum */
-	for (i = info->n_current_limits; i >= 0; i--) {
+	for (i = info->n_current_limits - 1; i >= 0; i--) {
 		if (min <= info->current_limits[i]
 			&& max >= info->current_limits[i]) {
 			return regmap_update_bits(rdev->regmap,
diff --git a/drivers/regulator/rk808-regulator.c b/drivers/regulator/rk808-regulator.c
index 213b687..92498ac 100644
--- a/drivers/regulator/rk808-regulator.c
+++ b/drivers/regulator/rk808-regulator.c
@@ -714,7 +714,7 @@
 		}
 
 		if (!pdata->dvs_gpio[i]) {
-			dev_warn(dev, "there is no dvs%d gpio\n", i);
+			dev_info(dev, "there is no dvs%d gpio\n", i);
 			continue;
 		}
 
diff --git a/drivers/regulator/spm-regulator.c b/drivers/regulator/spm-regulator.c
new file mode 100644
index 0000000..313dcee
--- /dev/null
+++ b/drivers/regulator/spm-regulator.c
@@ -0,0 +1,1351 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/* Copyright (c) 2013-2017, 2020, The Linux Foundation. All rights reserved.
+ */
+
+#define pr_fmt(fmt) "%s: " fmt, __func__
+
+#include <linux/arm-smccc.h>
+#include <linux/delay.h>
+#include <linux/err.h>
+#include <linux/init.h>
+#include <linux/kernel.h>
+#include <linux/regmap.h>
+#include <linux/module.h>
+#include <linux/of.h>
+#include <linux/of_device.h>
+#include <linux/slab.h>
+#include <linux/spmi.h>
+#include <linux/platform_device.h>
+#include <linux/string.h>
+#include <linux/regulator/driver.h>
+#include <linux/regulator/machine.h>
+#include <linux/regulator/of_regulator.h>
+#include <linux/regulator/spm-regulator.h>
+#include <soc/qcom/spm.h>
+#include <linux/arm-smccc.h>
+
+#if defined(CONFIG_ARM64) || (defined(CONFIG_ARM) && defined(CONFIG_ARM_PSCI))
+#else
+	#define __invoke_psci_fn_smc(a, b, c, d) 0
+#endif
+
+#define SPM_REGULATOR_DRIVER_NAME "qcom,spm-regulator"
+
+struct voltage_range {
+	int min_uV;
+	int set_point_min_uV;
+	int max_uV;
+	int step_uV;
+};
+
+enum qpnp_regulator_uniq_type {
+	QPNP_TYPE_HF,
+	QPNP_TYPE_FTS2,
+	QPNP_TYPE_FTS2p5,
+	QPNP_TYPE_FTS426,
+	QPNP_TYPE_ULT_HF,
+	QPNP_TYPE_HFS430,
+};
+
+enum qpnp_regulator_type {
+	QPNP_HF_TYPE		= 0x03,
+	QPNP_FTS2_TYPE		= 0x1C,
+	QPNP_FTS2p5_TYPE	= 0x1C,
+	QPNP_FTS426_TYPE	= 0x1C,
+	QPNP_ULT_HF_TYPE	= 0x22,
+};
+
+enum qpnp_regulator_subtype {
+	QPNP_FTS2_SUBTYPE	= 0x08,
+	QPNP_HF_SUBTYPE		= 0x08,
+	QPNP_FTS2p5_SUBTYPE	= 0x09,
+	QPNP_FTS426_SUBTYPE	= 0x0A,
+	QPNP_ULT_HF_SUBTYPE	= 0x0D,
+	QPNP_HFS430_SUBTYPE	= 0x0A,
+};
+
+enum qpnp_logical_mode {
+	QPNP_LOGICAL_MODE_AUTO,
+	QPNP_LOGICAL_MODE_PWM,
+};
+
+static const struct voltage_range fts2_range0 = {0, 350000, 1275000,  5000};
+static const struct voltage_range fts2_range1 = {0, 700000, 2040000, 10000};
+static const struct voltage_range fts2p5_range0
+					 = { 80000, 350000, 1355000,  5000};
+static const struct voltage_range fts2p5_range1
+					 = {160000, 700000, 2200000, 10000};
+static const struct voltage_range fts426_range = {0, 320000, 1352000, 4000};
+static const struct voltage_range hfs430_range = {0, 320000, 2040000, 8000};
+static const struct voltage_range ult_hf_range0 = {375000, 375000, 1562500,
+								12500};
+static const struct voltage_range ult_hf_range1 = {750000, 750000, 1525000,
+								25000};
+static const struct voltage_range hf_range0 = {375000, 375000, 1562500, 12500};
+static const struct voltage_range hf_range1 = {1550000, 1550000, 3125000,
+								25000};
+
+#define QPNP_SMPS_REG_TYPE		0x04
+#define QPNP_SMPS_REG_SUBTYPE		0x05
+#define QPNP_SMPS_REG_VOLTAGE_RANGE	0x40
+#define QPNP_SMPS_REG_VOLTAGE_SETPOINT	0x41
+#define QPNP_SMPS_REG_MODE		0x45
+#define QPNP_SMPS_REG_STEP_CTRL		0x61
+#define QPNP_SMPS_REG_UL_LL_CTRL	0x68
+
+/* FTS426/HFS430 voltage control registers */
+#define QPNP_FTS426_HFS430_REG_VOLTAGE_LB	0x40
+#define QPNP_FTS426_HFS430_REG_VOLTAGE_UB	0x41
+#define QPNP_FTS426_HFS430_REG_VOLTAGE_VALID_LB	0x42
+#define QPNP_FTS426_HFS430_REG_VOLTAGE_VALID_UB	0x43
+
+/* HF voltage limit registers */
+#define QPNP_HF_REG_VOLTAGE_ULS		0x69
+#define QPNP_HF_REG_VOLTAGE_LLS		0x6B
+
+/* FTS voltage limit registers */
+#define QPNP_FTS_REG_VOLTAGE_ULS_VALID	0x6A
+#define QPNP_FTS_REG_VOLTAGE_LLS_VALID	0x6C
+
+/* FTS426/HFS430 voltage limit registers */
+#define QPNP_FTS426_HFS430_REG_VOLTAGE_ULS_LB	0x68
+#define QPNP_FTS426_HFS430_REG_VOLTAGE_ULS_UB	0x69
+
+/* Common regulator UL & LL limits control register layout */
+#define QPNP_COMMON_UL_EN_MASK		0x80
+#define QPNP_COMMON_LL_EN_MASK		0x40
+
+#define QPNP_SMPS_MODE_PWM		0x80
+#define QPNP_SMPS_MODE_AUTO		0x40
+#define QPNP_FTS426_HFS430_MODE_PWM	0x07
+#define QPNP_FTS426_HFS430_MODE_AUTO	0x06
+
+#define QPNP_SMPS_STEP_CTRL_STEP_MASK	0x18
+#define QPNP_SMPS_STEP_CTRL_STEP_SHIFT	3
+#define QPNP_SMPS_STEP_CTRL_DELAY_MASK	0x07
+#define QPNP_SMPS_STEP_CTRL_DELAY_SHIFT	0
+#define QPNP_FTS426_HFS430_STEP_CTRL_DELAY_MASK		0x03
+#define QPNP_FTS426_HFS430_STEP_CTRL_DELAY_SHIFT	0
+
+/* Clock rate in kHz of the FTS2 regulator reference clock. */
+#define QPNP_SMPS_CLOCK_RATE		19200
+#define QPNP_FTS426_CLOCK_RATE		4800
+#define QPNP_HFS430_CLOCK_RATE		1600
+
+/* Time to delay in us to ensure that a mode change has completed. */
+#define QPNP_FTS2_MODE_CHANGE_DELAY	50
+
+/* Minimum time in us that it takes to complete a single SPMI write. */
+#define QPNP_SPMI_WRITE_MIN_DELAY	8
+
+/* Minimum voltage stepper delay for each step. */
+#define QPNP_FTS2_STEP_DELAY		8
+#define QPNP_HF_STEP_DELAY		20
+#define QPNP_FTS426_HFS430_STEP_DELAY	2
+
+/* Arbitrarily large max step size used to avoid possible numerical overflow */
+#define SPM_REGULATOR_MAX_STEP_UV	10000000
+
+/*
+ * The ratio QPNP_FTS2_STEP_MARGIN_NUM/QPNP_FTS2_STEP_MARGIN_DEN is use to
+ * adjust the step rate in order to account for oscillator variance.
+ */
+#define QPNP_FTS2_STEP_MARGIN_NUM	4
+#define QPNP_FTS2_STEP_MARGIN_DEN	5
+#define QPNP_FTS426_HFS430_STEP_MARGIN_NUM	10
+#define QPNP_FTS426_HFS430_STEP_MARGIN_DEN	11
+
+/*
+ * Settling delay for FTS2.5
+ * Warm-up=20uS, 0-10% & 90-100% non-linear V-ramp delay = 50uS
+ */
+#define FTS2P5_SETTLING_DELAY_US	70
+
+/* VSET value to decide the range of ULT SMPS */
+#define ULT_SMPS_RANGE_SPLIT 0x60
+
+struct spm_vreg {
+	struct regulator_desc		rdesc;
+	struct regulator_dev		*rdev;
+	struct platform_device		*pdev;
+	struct regmap			*regmap;
+	const struct voltage_range	*range;
+	int				uV;
+	int				last_set_uV;
+	unsigned int			vlevel;
+	unsigned int			last_set_vlevel;
+	u32				max_step_uV;
+	bool				online;
+	u16				spmi_base_addr;
+	enum qpnp_logical_mode		init_mode;
+	enum qpnp_logical_mode		mode;
+	int				step_rate;
+	enum qpnp_regulator_uniq_type	regulator_type;
+	u32				cpu_num;
+	bool				bypass_spm;
+	struct regulator_desc		avs_rdesc;
+	struct regulator_dev		*avs_rdev;
+	int				avs_min_uV;
+	int				avs_max_uV;
+	bool				avs_enabled;
+	u32				recal_cluster_mask;
+};
+
+static inline bool spm_regulator_using_avs(struct spm_vreg *vreg)
+{
+	return vreg->avs_rdev && !vreg->bypass_spm;
+}
+
+static int spm_regulator_uv_to_vlevel(struct spm_vreg *vreg, int uV)
+{
+	int vlevel;
+
+	if (vreg->regulator_type == QPNP_TYPE_FTS426
+		|| vreg->regulator_type == QPNP_TYPE_HFS430)
+		return roundup(uV, vreg->range->step_uV) / 1000;
+
+	vlevel = DIV_ROUND_UP(uV - vreg->range->min_uV, vreg->range->step_uV);
+
+	/* Fix VSET for ULT HF Buck */
+	if (vreg->regulator_type == QPNP_TYPE_ULT_HF
+	    && vreg->range == &ult_hf_range1) {
+		vlevel &= 0x1F;
+		vlevel |= ULT_SMPS_RANGE_SPLIT;
+	}
+
+	return vlevel;
+}
+
+static int spm_regulator_vlevel_to_uv(struct spm_vreg *vreg, int vlevel)
+{
+	if (vreg->regulator_type == QPNP_TYPE_FTS426
+		|| vreg->regulator_type == QPNP_TYPE_HFS430)
+		return vlevel * 1000;
+	/*
+	 * Calculate ULT HF buck VSET based on range:
+	 * In case of range 0: VSET is a 7 bit value.
+	 * In case of range 1: VSET is a 5 bit value.
+	 */
+	if (vreg->regulator_type == QPNP_TYPE_ULT_HF
+	    && vreg->range == &ult_hf_range1)
+		vlevel &= ~ULT_SMPS_RANGE_SPLIT;
+
+	return vlevel * vreg->range->step_uV + vreg->range->min_uV;
+}
+
+static unsigned int spm_regulator_vlevel_to_selector(struct spm_vreg *vreg,
+						 unsigned int vlevel)
+{
+	/* Fix VSET for ULT HF Buck */
+	if (vreg->regulator_type == QPNP_TYPE_ULT_HF
+	    && vreg->range == &ult_hf_range1)
+		vlevel &= ~ULT_SMPS_RANGE_SPLIT;
+
+	if (vreg->regulator_type == QPNP_TYPE_HFS430)
+		vlevel = spm_regulator_vlevel_to_uv(vreg, vlevel)
+				/ vreg->range->step_uV;
+
+	return vlevel - (vreg->range->set_point_min_uV - vreg->range->min_uV)
+				/ vreg->range->step_uV;
+}
+
+static int qpnp_smps_read_voltage(struct spm_vreg *vreg)
+{
+	int rc;
+	u8 val[2] = {0};
+
+	if (vreg->regulator_type == QPNP_TYPE_FTS426
+		|| vreg->regulator_type == QPNP_TYPE_HFS430) {
+		rc = regmap_bulk_read(vreg->regmap,
+				vreg->spmi_base_addr
+				+ QPNP_FTS426_HFS430_REG_VOLTAGE_VALID_LB,
+				val, 2);
+		if (rc) {
+			dev_err(&vreg->pdev->dev, "%s: could not read voltage setpoint registers, rc=%d\n",
+				__func__, rc);
+			return rc;
+		}
+
+		vreg->last_set_vlevel = ((unsigned int)val[1] << 8) | val[0];
+	} else {
+		rc = regmap_bulk_read(vreg->regmap,
+			vreg->spmi_base_addr + QPNP_SMPS_REG_VOLTAGE_SETPOINT,
+				val, 1);
+		if (rc) {
+			dev_err(&vreg->pdev->dev, "%s: could not read voltage setpoint register, rc=%d\n",
+				__func__, rc);
+			return rc;
+		}
+		vreg->last_set_vlevel = val[0];
+	}
+
+	vreg->last_set_uV = spm_regulator_vlevel_to_uv(vreg,
+						vreg->last_set_vlevel);
+	return rc;
+}
+
+static int qpnp_smps_write_voltage(struct spm_vreg *vreg, unsigned int vlevel)
+{
+	int rc = 0;
+	u8 reg[2];
+
+	/* Set voltage control registers via SPMI. */
+	reg[0] = vlevel & 0xFF;
+	reg[1] = (vlevel >> 8) & 0xFF;
+
+	if (vreg->regulator_type == QPNP_TYPE_FTS426
+		|| vreg->regulator_type == QPNP_TYPE_HFS430) {
+		rc = regmap_bulk_write(vreg->regmap,
+			  vreg->spmi_base_addr
+			  + QPNP_FTS426_HFS430_REG_VOLTAGE_LB,
+			  reg, 2);
+	} else {
+		rc = regmap_write(vreg->regmap,
+			  vreg->spmi_base_addr + QPNP_SMPS_REG_VOLTAGE_SETPOINT,
+			  reg[0]);
+	}
+
+	if (rc)
+		pr_err("%s: regmap_write failed, rc=%d\n",
+			vreg->rdesc.name, rc);
+
+	return rc;
+}
+
+static inline enum qpnp_logical_mode qpnp_regval_to_mode(struct spm_vreg *vreg,
+							u8 regval)
+{
+	if (vreg->regulator_type == QPNP_TYPE_FTS426
+		|| vreg->regulator_type == QPNP_TYPE_HFS430)
+		return (regval == QPNP_FTS426_HFS430_MODE_PWM)
+			? QPNP_LOGICAL_MODE_PWM : QPNP_LOGICAL_MODE_AUTO;
+	else
+		return (regval & QPNP_SMPS_MODE_PWM)
+			? QPNP_LOGICAL_MODE_PWM : QPNP_LOGICAL_MODE_AUTO;
+}
+
+static inline u8 qpnp_mode_to_regval(struct spm_vreg *vreg,
+					enum qpnp_logical_mode mode)
+{
+	if (vreg->regulator_type == QPNP_TYPE_FTS426
+		|| vreg->regulator_type == QPNP_TYPE_HFS430)
+		return (mode == QPNP_LOGICAL_MODE_PWM)
+			? QPNP_FTS426_HFS430_MODE_PWM
+			: QPNP_FTS426_HFS430_MODE_AUTO;
+	else
+		return (mode == QPNP_LOGICAL_MODE_PWM)
+			? QPNP_SMPS_MODE_PWM : QPNP_SMPS_MODE_AUTO;
+}
+
+static int qpnp_smps_set_mode(struct spm_vreg *vreg, u8 mode)
+{
+	int rc;
+
+	rc = regmap_write(vreg->regmap,
+			  vreg->spmi_base_addr + QPNP_SMPS_REG_MODE,
+			  qpnp_mode_to_regval(vreg, mode));
+	if (rc)
+		dev_err(&vreg->pdev->dev,
+			"%s: could not write to mode register, rc=%d\n",
+			__func__, rc);
+
+	return rc;
+}
+
+static int spm_regulator_get_voltage(struct regulator_dev *rdev)
+{
+	struct spm_vreg *vreg = rdev_get_drvdata(rdev);
+	int vlevel, rc;
+
+	if (spm_regulator_using_avs(vreg)) {
+		vlevel = msm_spm_get_vdd(vreg->cpu_num);
+
+		if (vlevel < 0) {
+			pr_debug("%s: msm_spm_get_vdd failed, rc=%d; falling back on SPMI read\n",
+				vreg->rdesc.name, vlevel);
+
+			rc = qpnp_smps_read_voltage(vreg);
+			if (rc) {
+				pr_err("%s: voltage read failed, rc=%d\n",
+				       vreg->rdesc.name, rc);
+				return rc;
+			}
+
+			return vreg->last_set_uV;
+		}
+
+		vreg->last_set_vlevel = vlevel;
+		vreg->last_set_uV = spm_regulator_vlevel_to_uv(vreg, vlevel);
+
+		return vreg->last_set_uV;
+	} else {
+		return vreg->uV;
+	}
+};
+
+static int spm_regulator_write_voltage(struct spm_vreg *vreg, int uV)
+{
+	unsigned int vlevel = spm_regulator_uv_to_vlevel(vreg, uV);
+	bool spm_failed = false;
+	int rc = 0;
+	u32 slew_delay;
+
+	if (likely(!vreg->bypass_spm)) {
+		/* Set voltage control register via SPM. */
+		rc = msm_spm_set_vdd(vreg->cpu_num, vlevel);
+		if (rc) {
+			pr_debug("%s: msm_spm_set_vdd failed, rc=%d; falling back on SPMI write\n",
+				vreg->rdesc.name, rc);
+			spm_failed = true;
+		}
+	}
+
+	if (unlikely(vreg->bypass_spm || spm_failed)) {
+		rc = qpnp_smps_write_voltage(vreg, vlevel);
+		if (rc) {
+			pr_err("%s: voltage write failed, rc=%d\n",
+				vreg->rdesc.name, rc);
+			return rc;
+		}
+	}
+
+	if (uV > vreg->last_set_uV) {
+		/* Wait for voltage stepping to complete. */
+		slew_delay = DIV_ROUND_UP(uV - vreg->last_set_uV,
+					vreg->step_rate);
+		if (vreg->regulator_type == QPNP_TYPE_FTS2p5)
+			slew_delay += FTS2P5_SETTLING_DELAY_US;
+		udelay(slew_delay);
+	} else if (vreg->regulator_type == QPNP_TYPE_FTS2p5) {
+		/* add the ramp-down delay */
+		slew_delay = DIV_ROUND_UP(vreg->last_set_uV - uV,
+				vreg->step_rate) + FTS2P5_SETTLING_DELAY_US;
+		udelay(slew_delay);
+	}
+
+	vreg->last_set_uV = uV;
+	vreg->last_set_vlevel = vlevel;
+
+	return rc;
+}
+
+static int spm_regulator_recalibrate(struct spm_vreg *vreg)
+{
+	struct arm_smccc_res res;
+
+	if (!vreg->recal_cluster_mask)
+		return 0;
+
+	arm_smccc_smc(0xC4000020, vreg->recal_cluster_mask,
+		2, 0, 0, 0, 0, 0, &res);
+	if (res.a0)
+		pr_err("%s: recalibration failed, rc=%ld\n", vreg->rdesc.name,
+			res.a0);
+
+	return res.a0;
+}
+
+static int _spm_regulator_set_voltage(struct regulator_dev *rdev)
+{
+	struct spm_vreg *vreg = rdev_get_drvdata(rdev);
+	bool pwm_required;
+	int rc = 0;
+	int uV;
+
+	rc = spm_regulator_get_voltage(rdev);
+	if (rc < 0)
+		return rc;
+
+	if (vreg->vlevel == vreg->last_set_vlevel)
+		return 0;
+
+	pwm_required = (vreg->regulator_type == QPNP_TYPE_FTS2)
+			&& (vreg->init_mode != QPNP_LOGICAL_MODE_PWM)
+			&& vreg->uV > vreg->last_set_uV;
+
+	if (pwm_required) {
+		/* Switch to PWM mode so that voltage ramping is fast. */
+		rc = qpnp_smps_set_mode(vreg, QPNP_LOGICAL_MODE_PWM);
+		if (rc)
+			return rc;
+	}
+
+	do {
+		uV = vreg->uV > vreg->last_set_uV
+		    ? min(vreg->uV, vreg->last_set_uV + (int)vreg->max_step_uV)
+		    : max(vreg->uV, vreg->last_set_uV - (int)vreg->max_step_uV);
+
+		rc = spm_regulator_write_voltage(vreg, uV);
+		if (rc)
+			return rc;
+	} while (vreg->last_set_uV != vreg->uV);
+
+	if (pwm_required) {
+		/* Wait for mode transition to complete. */
+		udelay(QPNP_FTS2_MODE_CHANGE_DELAY - QPNP_SPMI_WRITE_MIN_DELAY);
+		/* Switch to AUTO mode so that power consumption is lowered. */
+		rc = qpnp_smps_set_mode(vreg, QPNP_LOGICAL_MODE_AUTO);
+		if (rc)
+			return rc;
+	}
+
+	rc = spm_regulator_recalibrate(vreg);
+
+	return rc;
+}
+
+static int spm_regulator_set_voltage(struct regulator_dev *rdev, int min_uV,
+					int max_uV, unsigned int *selector)
+{
+	struct spm_vreg *vreg = rdev_get_drvdata(rdev);
+	const struct voltage_range *range = vreg->range;
+	int uV = min_uV;
+	unsigned int vlevel;
+
+	if (uV < range->set_point_min_uV && max_uV >= range->set_point_min_uV)
+		uV = range->set_point_min_uV;
+
+	if (uV < range->set_point_min_uV || uV > range->max_uV) {
+		pr_err("%s: request v=[%d, %d] is outside possible v=[%d, %d]\n",
+			vreg->rdesc.name, min_uV, max_uV,
+			range->set_point_min_uV, range->max_uV);
+		return -EINVAL;
+	}
+
+	vlevel = spm_regulator_uv_to_vlevel(vreg, uV);
+	uV = spm_regulator_vlevel_to_uv(vreg, vlevel);
+
+	if (uV > max_uV) {
+		pr_err("%s: request v=[%d, %d] cannot be met by any set point\n",
+			vreg->rdesc.name, min_uV, max_uV);
+		return -EINVAL;
+	}
+
+	*selector = spm_regulator_vlevel_to_selector(vreg, vlevel);
+	vreg->vlevel = vlevel;
+	vreg->uV = uV;
+
+	if (!vreg->online)
+		return 0;
+
+	return _spm_regulator_set_voltage(rdev);
+}
+
+static int spm_regulator_list_voltage(struct regulator_dev *rdev,
+					unsigned int selector)
+{
+	struct spm_vreg *vreg = rdev_get_drvdata(rdev);
+
+	if (selector >= vreg->rdesc.n_voltages)
+		return 0;
+
+	return selector * vreg->range->step_uV + vreg->range->set_point_min_uV;
+}
+
+static int spm_regulator_enable(struct regulator_dev *rdev)
+{
+	struct spm_vreg *vreg = rdev_get_drvdata(rdev);
+	int rc;
+
+	rc = _spm_regulator_set_voltage(rdev);
+
+	if (!rc)
+		vreg->online = true;
+
+	return rc;
+}
+
+static int spm_regulator_disable(struct regulator_dev *rdev)
+{
+	struct spm_vreg *vreg = rdev_get_drvdata(rdev);
+
+	vreg->online = false;
+
+	return 0;
+}
+
+static int spm_regulator_is_enabled(struct regulator_dev *rdev)
+{
+	struct spm_vreg *vreg = rdev_get_drvdata(rdev);
+
+	return vreg->online;
+}
+
+static unsigned int spm_regulator_get_mode(struct regulator_dev *rdev)
+{
+	struct spm_vreg *vreg = rdev_get_drvdata(rdev);
+
+	return vreg->mode == QPNP_LOGICAL_MODE_PWM
+			? REGULATOR_MODE_NORMAL : REGULATOR_MODE_IDLE;
+}
+
+static int spm_regulator_set_mode(struct regulator_dev *rdev, unsigned int mode)
+{
+	struct spm_vreg *vreg = rdev_get_drvdata(rdev);
+
+	/*
+	 * Map REGULATOR_MODE_NORMAL to PWM mode and REGULATOR_MODE_IDLE to
+	 * init_mode.  This ensures that the regulator always stays in PWM mode
+	 * in the case that qcom,mode has been specified as "pwm" in device
+	 * tree.
+	 */
+	vreg->mode = (mode == REGULATOR_MODE_NORMAL) ? QPNP_LOGICAL_MODE_PWM
+						     : vreg->init_mode;
+
+	return qpnp_smps_set_mode(vreg, vreg->mode);
+}
+
+static struct regulator_ops spm_regulator_ops = {
+	.get_voltage	= spm_regulator_get_voltage,
+	.set_voltage	= spm_regulator_set_voltage,
+	.list_voltage	= spm_regulator_list_voltage,
+	.get_mode	= spm_regulator_get_mode,
+	.set_mode	= spm_regulator_set_mode,
+	.enable		= spm_regulator_enable,
+	.disable	= spm_regulator_disable,
+	.is_enabled	= spm_regulator_is_enabled,
+};
+
+static int spm_regulator_avs_set_voltage(struct regulator_dev *rdev, int min_uV,
+					int max_uV, unsigned int *selector)
+{
+	struct spm_vreg *vreg = rdev_get_drvdata(rdev);
+	const struct voltage_range *range = vreg->range;
+	unsigned int vlevel_min, vlevel_max;
+	int uV, avs_min_uV, avs_max_uV, rc;
+
+	uV = min_uV;
+
+	if (uV < range->set_point_min_uV && max_uV >= range->set_point_min_uV)
+		uV = range->set_point_min_uV;
+
+	if (uV < range->set_point_min_uV || uV > range->max_uV) {
+		pr_err("%s: request v=[%d, %d] is outside possible v=[%d, %d]\n",
+			vreg->avs_rdesc.name, min_uV, max_uV,
+			range->set_point_min_uV, range->max_uV);
+		return -EINVAL;
+	}
+
+	vlevel_min = spm_regulator_uv_to_vlevel(vreg, uV);
+	avs_min_uV = spm_regulator_vlevel_to_uv(vreg, vlevel_min);
+
+	if (avs_min_uV > max_uV) {
+		pr_err("%s: request v=[%d, %d] cannot be met by any set point\n",
+			vreg->avs_rdesc.name, min_uV, max_uV);
+		return -EINVAL;
+	}
+
+	uV = max_uV;
+
+	if (uV > range->max_uV && min_uV <= range->max_uV)
+		uV = range->max_uV;
+
+	if (uV < range->set_point_min_uV || uV > range->max_uV) {
+		pr_err("%s: request v=[%d, %d] is outside possible v=[%d, %d]\n",
+			vreg->avs_rdesc.name, min_uV, max_uV,
+			range->set_point_min_uV, range->max_uV);
+		return -EINVAL;
+	}
+
+	vlevel_max = spm_regulator_uv_to_vlevel(vreg, uV);
+	avs_max_uV = spm_regulator_vlevel_to_uv(vreg, vlevel_max);
+
+	if (avs_max_uV < min_uV) {
+		pr_err("%s: request v=[%d, %d] cannot be met by any set point\n",
+			vreg->avs_rdesc.name, min_uV, max_uV);
+		return -EINVAL;
+	}
+
+	if (likely(!vreg->bypass_spm)) {
+		rc = msm_spm_avs_set_limit(vreg->cpu_num, vlevel_min,
+						vlevel_max);
+		if (rc) {
+			pr_err("%s: AVS limit setting failed, rc=%d\n",
+				vreg->avs_rdesc.name, rc);
+			return rc;
+		}
+	}
+
+	*selector = spm_regulator_vlevel_to_selector(vreg, vlevel_min);
+	vreg->avs_min_uV = avs_min_uV;
+	vreg->avs_max_uV = avs_max_uV;
+
+	return 0;
+}
+
+static int spm_regulator_avs_get_voltage(struct regulator_dev *rdev)
+{
+	struct spm_vreg *vreg = rdev_get_drvdata(rdev);
+
+	return vreg->avs_min_uV;
+}
+
+static int spm_regulator_avs_enable(struct regulator_dev *rdev)
+{
+	struct spm_vreg *vreg = rdev_get_drvdata(rdev);
+	int rc;
+
+	if (likely(!vreg->bypass_spm)) {
+		rc = msm_spm_avs_enable(vreg->cpu_num);
+		if (rc) {
+			pr_err("%s: AVS enable failed, rc=%d\n",
+				vreg->avs_rdesc.name, rc);
+			return rc;
+		}
+	}
+
+	vreg->avs_enabled = true;
+
+	return 0;
+}
+
+static int spm_regulator_avs_disable(struct regulator_dev *rdev)
+{
+	struct spm_vreg *vreg = rdev_get_drvdata(rdev);
+	int rc;
+
+	if (likely(!vreg->bypass_spm)) {
+		rc = msm_spm_avs_disable(vreg->cpu_num);
+		if (rc) {
+			pr_err("%s: AVS disable failed, rc=%d\n",
+				vreg->avs_rdesc.name, rc);
+			return rc;
+		}
+	}
+
+	vreg->avs_enabled = false;
+
+	return 0;
+}
+
+static int spm_regulator_avs_is_enabled(struct regulator_dev *rdev)
+{
+	struct spm_vreg *vreg = rdev_get_drvdata(rdev);
+
+	return vreg->avs_enabled;
+}
+
+static struct regulator_ops spm_regulator_avs_ops = {
+	.get_voltage	= spm_regulator_avs_get_voltage,
+	.set_voltage	= spm_regulator_avs_set_voltage,
+	.list_voltage	= spm_regulator_list_voltage,
+	.enable		= spm_regulator_avs_enable,
+	.disable	= spm_regulator_avs_disable,
+	.is_enabled	= spm_regulator_avs_is_enabled,
+};
+
+static int qpnp_smps_check_type(struct spm_vreg *vreg)
+{
+	int rc;
+	u8 type[2];
+
+	rc = regmap_bulk_read(vreg->regmap,
+			      vreg->spmi_base_addr + QPNP_SMPS_REG_TYPE,
+			      type,
+			      2);
+	if (rc) {
+		dev_err(&vreg->pdev->dev,
+			"%s: could not read type register, rc=%d\n",
+			__func__, rc);
+		return rc;
+	}
+
+	if (type[0] == QPNP_FTS2_TYPE && type[1] == QPNP_FTS2_SUBTYPE) {
+		vreg->regulator_type = QPNP_TYPE_FTS2;
+	} else if (type[0] == QPNP_FTS2p5_TYPE
+					&& type[1] == QPNP_FTS2p5_SUBTYPE) {
+		vreg->regulator_type = QPNP_TYPE_FTS2p5;
+	} else if (type[0] == QPNP_FTS426_TYPE
+					&& type[1] == QPNP_FTS426_SUBTYPE) {
+		vreg->regulator_type = QPNP_TYPE_FTS426;
+	} else if (type[0] == QPNP_HF_TYPE
+					&& type[1] == QPNP_HFS430_SUBTYPE) {
+		vreg->regulator_type = QPNP_TYPE_HFS430;
+	} else if (type[0] == QPNP_ULT_HF_TYPE
+					&& type[1] == QPNP_ULT_HF_SUBTYPE) {
+		vreg->regulator_type = QPNP_TYPE_ULT_HF;
+	} else if (type[0] == QPNP_HF_TYPE
+					&& type[1] == QPNP_HF_SUBTYPE) {
+		vreg->regulator_type = QPNP_TYPE_HF;
+	} else {
+		dev_err(&vreg->pdev->dev,
+			"%s: invalid type=0x%02X, subtype=0x%02X register pair\n",
+			 __func__, type[0], type[1]);
+		return -ENODEV;
+	}
+
+	return rc;
+}
+
+static int qpnp_smps_init_range(struct spm_vreg *vreg,
+	const struct voltage_range *range0, const struct voltage_range *range1)
+{
+	int rc;
+	u8 reg = 0;
+	uint val;
+
+	rc = regmap_read(vreg->regmap,
+			 vreg->spmi_base_addr + QPNP_SMPS_REG_VOLTAGE_RANGE,
+			 &val);
+	if (rc) {
+		dev_err(&vreg->pdev->dev,
+			"%s: could not read voltage range register, rc=%d\n",
+			__func__, rc);
+		return rc;
+	}
+	reg = (u8)val;
+
+	if (reg == 0x00) {
+		vreg->range = range0;
+	} else if (reg == 0x01) {
+		vreg->range = range1;
+	} else {
+		dev_err(&vreg->pdev->dev, "%s: voltage range=%d is invalid\n",
+			__func__, reg);
+		rc = -EINVAL;
+	}
+
+	return rc;
+}
+
+static int qpnp_ult_hf_init_range(struct spm_vreg *vreg)
+{
+	int rc;
+	u8 reg = 0;
+	uint val;
+
+	rc = regmap_read(vreg->regmap,
+			 vreg->spmi_base_addr + QPNP_SMPS_REG_VOLTAGE_SETPOINT,
+			 &val);
+	if (rc) {
+		dev_err(&vreg->pdev->dev,
+			"%s: could not read voltage range register, rc=%d\n",
+			__func__, rc);
+		return rc;
+	}
+	reg = (u8)val;
+
+	vreg->range = (reg < ULT_SMPS_RANGE_SPLIT) ? &ult_hf_range0 :
+							&ult_hf_range1;
+	return rc;
+}
+
+static int qpnp_smps_init_voltage(struct spm_vreg *vreg)
+{
+	int rc;
+
+	rc = qpnp_smps_read_voltage(vreg);
+	if (rc) {
+		pr_err("%s: voltage read failed, rc=%d\n", vreg->rdesc.name,
+			rc);
+		return rc;
+	}
+
+	vreg->vlevel = vreg->last_set_vlevel;
+	vreg->uV = vreg->last_set_uV;
+
+	/* Initialize SAW voltage control register */
+	if (!vreg->bypass_spm) {
+		rc = msm_spm_set_vdd(vreg->cpu_num, vreg->vlevel);
+		if (rc)
+			pr_err("%s: msm_spm_set_vdd failed, rc=%d\n",
+			       vreg->rdesc.name, rc);
+	}
+
+	return 0;
+}
+
+static int qpnp_smps_init_mode(struct spm_vreg *vreg)
+{
+	const char *mode_name;
+	int rc;
+	uint val;
+
+	rc = of_property_read_string(vreg->pdev->dev.of_node, "qcom,mode",
+					&mode_name);
+	if (!rc) {
+		if (strcmp("pwm", mode_name) == 0) {
+			vreg->init_mode = QPNP_LOGICAL_MODE_PWM;
+		} else if ((strcmp("auto", mode_name) == 0) &&
+				(vreg->regulator_type != QPNP_TYPE_ULT_HF)) {
+			vreg->init_mode = QPNP_LOGICAL_MODE_AUTO;
+		} else {
+			dev_err(&vreg->pdev->dev,
+				"%s: unknown regulator mode: %s\n",
+				__func__, mode_name);
+			return -EINVAL;
+		}
+
+		rc = qpnp_smps_set_mode(vreg, vreg->init_mode);
+		if (rc)
+			return rc;
+	} else {
+		rc = regmap_read(vreg->regmap,
+				 vreg->spmi_base_addr + QPNP_SMPS_REG_MODE,
+				 &val);
+		if (rc)
+			dev_err(&vreg->pdev->dev,
+				"%s: could not read mode register, rc=%d\n",
+				__func__, rc);
+			 vreg->init_mode = qpnp_regval_to_mode(vreg, val);
+	}
+
+	vreg->mode = vreg->init_mode;
+
+	return rc;
+}
+
+static int qpnp_smps_init_step_rate(struct spm_vreg *vreg)
+{
+	int rc;
+	u8 reg = 0;
+	int step = 0, delay;
+	uint val;
+
+	rc = regmap_read(vreg->regmap,
+			 vreg->spmi_base_addr + QPNP_SMPS_REG_STEP_CTRL, &val);
+	if (rc) {
+		dev_err(&vreg->pdev->dev,
+			"%s: could not read stepping control register, rc=%d\n",
+			__func__, rc);
+		return rc;
+	}
+	reg = (u8)val;
+
+	/* ULT and FTS426 bucks do not support steps */
+	if (vreg->regulator_type != QPNP_TYPE_ULT_HF && vreg->regulator_type !=
+		QPNP_TYPE_FTS426  && vreg->regulator_type != QPNP_TYPE_HFS430)
+		step = (reg & QPNP_SMPS_STEP_CTRL_STEP_MASK)
+			>> QPNP_SMPS_STEP_CTRL_STEP_SHIFT;
+
+	if (vreg->regulator_type == QPNP_TYPE_FTS426
+		|| vreg->regulator_type == QPNP_TYPE_HFS430) {
+		delay = (reg & QPNP_FTS426_HFS430_STEP_CTRL_DELAY_MASK)
+			>> QPNP_FTS426_HFS430_STEP_CTRL_DELAY_SHIFT;
+
+		/* step_rate has units of uV/us. */
+		vreg->step_rate = ((vreg->regulator_type == QPNP_TYPE_FTS426)
+					? QPNP_FTS426_CLOCK_RATE
+					: QPNP_HFS430_CLOCK_RATE)
+					* vreg->range->step_uV;
+	} else {
+		delay = (reg & QPNP_SMPS_STEP_CTRL_DELAY_MASK)
+			>> QPNP_SMPS_STEP_CTRL_DELAY_SHIFT;
+
+		/* step_rate has units of uV/us. */
+		vreg->step_rate = QPNP_SMPS_CLOCK_RATE * vreg->range->step_uV
+					* (1 << step);
+	}
+
+	if ((vreg->regulator_type == QPNP_TYPE_ULT_HF)
+			|| (vreg->regulator_type == QPNP_TYPE_HF))
+		vreg->step_rate /= 1000 * (QPNP_HF_STEP_DELAY << delay);
+	else if (vreg->regulator_type == QPNP_TYPE_FTS426
+			|| vreg->regulator_type == QPNP_TYPE_HFS430)
+		vreg->step_rate /= 1000 * (QPNP_FTS426_HFS430_STEP_DELAY
+						<< delay);
+	else
+		vreg->step_rate /= 1000 * (QPNP_FTS2_STEP_DELAY << delay);
+
+	if (vreg->regulator_type == QPNP_TYPE_FTS426
+			|| vreg->regulator_type == QPNP_TYPE_HFS430)
+		vreg->step_rate = vreg->step_rate
+					* QPNP_FTS426_HFS430_STEP_MARGIN_NUM
+					/ QPNP_FTS426_HFS430_STEP_MARGIN_DEN;
+	else
+		vreg->step_rate = vreg->step_rate * QPNP_FTS2_STEP_MARGIN_NUM
+					/ QPNP_FTS2_STEP_MARGIN_DEN;
+
+	/* Ensure that the stepping rate is greater than 0. */
+	vreg->step_rate = max(vreg->step_rate, 1);
+
+	return rc;
+}
+
+static int qpnp_smps_check_constraints(struct spm_vreg *vreg,
+					struct regulator_init_data *init_data)
+{
+	int rc = 0, limit_min_uV, limit_max_uV;
+	u16 ul_reg, ll_reg;
+	u8 reg[2];
+
+	limit_min_uV = 0;
+	limit_max_uV = INT_MAX;
+
+	ul_reg = QPNP_FTS_REG_VOLTAGE_ULS_VALID;
+	ll_reg = QPNP_FTS_REG_VOLTAGE_LLS_VALID;
+
+	switch (vreg->regulator_type) {
+	case QPNP_TYPE_HF:
+		ul_reg = QPNP_HF_REG_VOLTAGE_ULS;
+		ll_reg = QPNP_HF_REG_VOLTAGE_LLS;
+	case QPNP_TYPE_FTS2:
+	case QPNP_TYPE_FTS2p5:
+		rc = regmap_bulk_read(vreg->regmap, vreg->spmi_base_addr
+					+ QPNP_SMPS_REG_UL_LL_CTRL, reg, 1);
+		if (rc) {
+			dev_err(&vreg->pdev->dev, "%s: UL_LL register read failed, rc=%d\n",
+				__func__, rc);
+			return rc;
+		}
+
+		if (reg[0] & QPNP_COMMON_UL_EN_MASK) {
+			rc = regmap_bulk_read(vreg->regmap, vreg->spmi_base_addr
+						+ ul_reg, &reg[1], 1);
+			if (rc) {
+				dev_err(&vreg->pdev->dev, "%s: ULS register read failed, rc=%d\n",
+					__func__, rc);
+				return rc;
+			}
+
+			limit_max_uV = spm_regulator_vlevel_to_uv(vreg, reg[1]);
+		}
+
+		if (reg[0] & QPNP_COMMON_LL_EN_MASK) {
+			rc = regmap_bulk_read(vreg->regmap, vreg->spmi_base_addr
+						+ ll_reg, &reg[1], 1);
+			if (rc) {
+				dev_err(&vreg->pdev->dev, "%s: LLS register read failed, rc=%d\n",
+					__func__, rc);
+				return rc;
+			}
+
+			limit_min_uV = spm_regulator_vlevel_to_uv(vreg, reg[1]);
+		}
+
+		break;
+	case QPNP_TYPE_FTS426:
+	case QPNP_TYPE_HFS430:
+		rc = regmap_bulk_read(vreg->regmap, vreg->spmi_base_addr
+					+ QPNP_FTS426_HFS430_REG_VOLTAGE_ULS_LB,
+					reg, 2);
+		if (rc) {
+			dev_err(&vreg->pdev->dev, "%s: could not read voltage limit registers, rc=%d\n",
+				__func__, rc);
+			return rc;
+		}
+
+		limit_max_uV = spm_regulator_vlevel_to_uv(vreg,
+					((unsigned int)reg[1] << 8) | reg[0]);
+		break;
+	case QPNP_TYPE_ULT_HF:
+		/* no HW voltage limit configuration */
+		break;
+	}
+
+	if (init_data->constraints.min_uV < limit_min_uV
+	    || init_data->constraints.max_uV >  limit_max_uV) {
+		dev_err(&vreg->pdev->dev, "regulator min/max(%d/%d) constraints do not fit within HW configured min/max(%d/%d) constraints\n",
+			init_data->constraints.min_uV,
+			init_data->constraints.max_uV, limit_min_uV,
+			limit_max_uV);
+		return -EINVAL;
+	}
+
+	return rc;
+}
+
+static bool spm_regulator_using_range0(struct spm_vreg *vreg)
+{
+	return vreg->range == &fts2_range0 || vreg->range == &fts2p5_range0
+		|| vreg->range == &ult_hf_range0 || vreg->range == &hf_range0
+		|| vreg->range == &fts426_range;
+}
+
+/* Register a regulator to enable/disable AVS and set AVS min/max limits. */
+static int spm_regulator_avs_register(struct spm_vreg *vreg,
+				struct device *dev, struct device_node *node)
+{
+	struct regulator_config reg_config = {};
+	struct device_node *avs_node = NULL;
+	struct device_node *child_node;
+	struct regulator_init_data *init_data;
+	int rc;
+
+	/*
+	 * Find the first available child node (if any).  It corresponds to an
+	 * AVS limits regulator.
+	 */
+	for_each_available_child_of_node(node, child_node) {
+		avs_node = child_node;
+		break;
+	}
+
+	if (!avs_node)
+		return 0;
+
+	init_data = of_get_regulator_init_data(dev, avs_node, &vreg->avs_rdesc);
+	if (!init_data) {
+		dev_err(dev, "%s: unable to allocate memory\n", __func__);
+		return -ENOMEM;
+	}
+	init_data->constraints.input_uV = init_data->constraints.max_uV;
+	init_data->constraints.valid_ops_mask |= REGULATOR_CHANGE_STATUS
+						| REGULATOR_CHANGE_VOLTAGE;
+
+	if (!init_data->constraints.name) {
+		dev_err(dev, "%s: AVS node is missing regulator name\n",
+			__func__);
+		return -EINVAL;
+	}
+
+	vreg->avs_rdesc.name	= init_data->constraints.name;
+	vreg->avs_rdesc.type	= REGULATOR_VOLTAGE;
+	vreg->avs_rdesc.owner	= THIS_MODULE;
+	vreg->avs_rdesc.ops	= &spm_regulator_avs_ops;
+	vreg->avs_rdesc.n_voltages
+		= (vreg->range->max_uV - vreg->range->set_point_min_uV)
+			/ vreg->range->step_uV + 1;
+
+	reg_config.dev = dev;
+	reg_config.init_data = init_data;
+	reg_config.driver_data = vreg;
+	reg_config.of_node = avs_node;
+
+	vreg->avs_rdev = regulator_register(&vreg->avs_rdesc, &reg_config);
+	if (IS_ERR(vreg->avs_rdev)) {
+		rc = PTR_ERR(vreg->avs_rdev);
+		dev_err(dev, "%s: AVS regulator_register failed, rc=%d\n",
+			__func__, rc);
+		return rc;
+	}
+
+	if (vreg->bypass_spm)
+		pr_debug("%s: SPM bypassed so AVS regulator calls are no-ops\n",
+			vreg->avs_rdesc.name);
+
+	return 0;
+}
+
+static int spm_regulator_probe(struct platform_device *pdev)
+{
+	struct regulator_config reg_config = {};
+	struct device_node *node = pdev->dev.of_node;
+	struct regulator_init_data *init_data;
+	struct spm_vreg *vreg;
+	unsigned int base;
+	bool bypass_spm;
+	int rc;
+
+	if (!node) {
+		dev_err(&pdev->dev, "%s: device node missing\n", __func__);
+		return -ENODEV;
+	}
+
+	bypass_spm = of_property_read_bool(node, "qcom,bypass-spm");
+	if (!bypass_spm) {
+		rc = msm_spm_probe_done();
+		if (rc) {
+			if (rc != -EPROBE_DEFER)
+				dev_err(&pdev->dev,
+					"%s: spm unavailable, rc=%d\n",
+					__func__, rc);
+			return rc;
+		}
+	}
+
+	vreg = devm_kzalloc(&pdev->dev, sizeof(*vreg), GFP_KERNEL);
+	if (!vreg)
+		return -ENOMEM;
+
+	vreg->regmap = dev_get_regmap(pdev->dev.parent, NULL);
+	if (!vreg->regmap) {
+		dev_err(&pdev->dev, "Couldn't get parent's regmap\n");
+		return -EINVAL;
+	}
+	vreg->pdev = pdev;
+	vreg->bypass_spm = bypass_spm;
+
+	rc = of_property_read_u32(pdev->dev.of_node, "reg", &base);
+	if (rc < 0) {
+		dev_err(&pdev->dev,
+			"Couldn't find reg in node = %s rc = %d\n",
+			pdev->dev.of_node->full_name, rc);
+		return rc;
+	}
+	vreg->spmi_base_addr = base;
+
+	rc = qpnp_smps_check_type(vreg);
+	if (rc)
+		return rc;
+
+	/* Specify CPU 0 as default in order to handle shared regulator case. */
+	vreg->cpu_num = 0;
+	of_property_read_u32(vreg->pdev->dev.of_node, "qcom,cpu-num",
+						&vreg->cpu_num);
+
+	of_property_read_u32(vreg->pdev->dev.of_node, "qcom,recal-mask",
+						&vreg->recal_cluster_mask);
+
+	/*
+	 * The regulator must be initialized to range 0 or range 1 during
+	 * PMIC power on sequence.  Once it is set, it cannot be changed
+	 * dynamically.
+	 */
+	if (vreg->regulator_type == QPNP_TYPE_FTS2)
+		rc = qpnp_smps_init_range(vreg, &fts2_range0, &fts2_range1);
+	else if (vreg->regulator_type == QPNP_TYPE_FTS2p5)
+		rc = qpnp_smps_init_range(vreg, &fts2p5_range0, &fts2p5_range1);
+	else if (vreg->regulator_type == QPNP_TYPE_FTS426)
+		vreg->range = &fts426_range;
+	else if (vreg->regulator_type == QPNP_TYPE_HFS430)
+		vreg->range = &hfs430_range;
+	else if (vreg->regulator_type == QPNP_TYPE_HF)
+		rc = qpnp_smps_init_range(vreg, &hf_range0, &hf_range1);
+	else if (vreg->regulator_type == QPNP_TYPE_ULT_HF)
+		rc = qpnp_ult_hf_init_range(vreg);
+	if (rc)
+		return rc;
+
+	rc = qpnp_smps_init_voltage(vreg);
+	if (rc)
+		return rc;
+
+	rc = qpnp_smps_init_mode(vreg);
+	if (rc)
+		return rc;
+
+	rc = qpnp_smps_init_step_rate(vreg);
+	if (rc)
+		return rc;
+
+	init_data = of_get_regulator_init_data(&pdev->dev, node, &vreg->rdesc);
+	if (!init_data) {
+		dev_err(&pdev->dev, "%s: unable to allocate memory\n",
+				__func__);
+		return -ENOMEM;
+	}
+	init_data->constraints.input_uV = init_data->constraints.max_uV;
+	init_data->constraints.valid_ops_mask |= REGULATOR_CHANGE_STATUS
+			| REGULATOR_CHANGE_VOLTAGE | REGULATOR_CHANGE_MODE;
+	init_data->constraints.valid_modes_mask
+				= REGULATOR_MODE_NORMAL | REGULATOR_MODE_IDLE;
+
+	if (!init_data->constraints.name) {
+		dev_err(&pdev->dev, "%s: node is missing regulator name\n",
+			__func__);
+		return -EINVAL;
+	}
+
+	rc = qpnp_smps_check_constraints(vreg, init_data);
+	if (rc) {
+		dev_err(&pdev->dev, "%s: regulator constraints check failed, rc=%d\n",
+			__func__, rc);
+		return rc;
+	}
+
+	vreg->rdesc.name	= init_data->constraints.name;
+	vreg->rdesc.type	= REGULATOR_VOLTAGE;
+	vreg->rdesc.owner	= THIS_MODULE;
+	vreg->rdesc.ops		= &spm_regulator_ops;
+	vreg->rdesc.n_voltages
+		= (vreg->range->max_uV - vreg->range->set_point_min_uV)
+			/ vreg->range->step_uV + 1;
+
+	vreg->max_step_uV = SPM_REGULATOR_MAX_STEP_UV;
+	of_property_read_u32(vreg->pdev->dev.of_node,
+				"qcom,max-voltage-step", &vreg->max_step_uV);
+
+	if (vreg->max_step_uV > SPM_REGULATOR_MAX_STEP_UV)
+		vreg->max_step_uV = SPM_REGULATOR_MAX_STEP_UV;
+
+	vreg->max_step_uV = rounddown(vreg->max_step_uV, vreg->range->step_uV);
+	pr_debug("%s: max single voltage step size=%u uV\n",
+		vreg->rdesc.name, vreg->max_step_uV);
+
+	reg_config.dev = &pdev->dev;
+	reg_config.init_data = init_data;
+	reg_config.driver_data = vreg;
+	reg_config.of_node = node;
+	vreg->rdev = regulator_register(&vreg->rdesc, &reg_config);
+
+	if (IS_ERR(vreg->rdev)) {
+		rc = PTR_ERR(vreg->rdev);
+		dev_err(&pdev->dev, "%s: regulator_register failed, rc=%d\n",
+			__func__, rc);
+		return rc;
+	}
+
+	rc = spm_regulator_avs_register(vreg, &pdev->dev, node);
+	if (rc) {
+		regulator_unregister(vreg->rdev);
+		return rc;
+	}
+
+	dev_set_drvdata(&pdev->dev, vreg);
+
+	pr_info("name=%s, range=%s, voltage=%d uV, mode=%s, step rate=%d uV/us\n",
+		vreg->rdesc.name,
+		spm_regulator_using_range0(vreg) ? "LV" : "MV",
+		vreg->uV,
+		vreg->init_mode == QPNP_LOGICAL_MODE_PWM ? "PWM" :
+		   (vreg->init_mode == QPNP_LOGICAL_MODE_AUTO ? "AUTO" : "PFM"),
+		vreg->step_rate);
+
+	return rc;
+}
+
+static int spm_regulator_remove(struct platform_device *pdev)
+{
+	struct spm_vreg *vreg = dev_get_drvdata(&pdev->dev);
+
+	if (vreg->avs_rdev)
+		regulator_unregister(vreg->avs_rdev);
+	regulator_unregister(vreg->rdev);
+
+	return 0;
+}
+
+static const struct of_device_id spm_regulator_match_table[] = {
+	{ .compatible = SPM_REGULATOR_DRIVER_NAME, },
+	{}
+};
+
+static const struct platform_device_id spm_regulator_id[] = {
+	{ SPM_REGULATOR_DRIVER_NAME, 0 },
+	{}
+};
+MODULE_DEVICE_TABLE(spmi, spm_regulator_id);
+
+static struct platform_driver spm_regulator_driver = {
+	.driver = {
+		.name		= SPM_REGULATOR_DRIVER_NAME,
+		.of_match_table = spm_regulator_match_table,
+	},
+	.probe		= spm_regulator_probe,
+	.remove		= spm_regulator_remove,
+	.id_table	= spm_regulator_id,
+};
+
+/**
+ * spm_regulator_init() - register spmi driver for spm-regulator
+ *
+ * This initialization function should be called in systems in which driver
+ * registration ordering must be controlled precisely.
+ *
+ * Returns 0 on success or errno on failure.
+ */
+int __init spm_regulator_init(void)
+{
+	static bool has_registered;
+
+	if (has_registered)
+		return 0;
+
+	has_registered = true;
+
+	return platform_driver_register(&spm_regulator_driver);
+}
+EXPORT_SYMBOL(spm_regulator_init);
+
+static void __exit spm_regulator_exit(void)
+{
+	platform_driver_unregister(&spm_regulator_driver);
+}
+
+arch_initcall(spm_regulator_init);
+module_exit(spm_regulator_exit);
+
+MODULE_LICENSE("GPL v2");
+MODULE_DESCRIPTION("SPM regulator driver");
+MODULE_ALIAS("platform:spm-regulator");
diff --git a/drivers/regulator/tps65086-regulator.c b/drivers/regulator/tps65086-regulator.c
index 45e96e1..5a5e9b5 100644
--- a/drivers/regulator/tps65086-regulator.c
+++ b/drivers/regulator/tps65086-regulator.c
@@ -90,8 +90,8 @@
 static const struct regulator_linear_range tps65086_ldoa1_ranges[] = {
 	REGULATOR_LINEAR_RANGE(1350000, 0x0, 0x0, 0),
 	REGULATOR_LINEAR_RANGE(1500000, 0x1, 0x7, 100000),
-	REGULATOR_LINEAR_RANGE(2300000, 0x8, 0xA, 100000),
-	REGULATOR_LINEAR_RANGE(2700000, 0xB, 0xD, 150000),
+	REGULATOR_LINEAR_RANGE(2300000, 0x8, 0xB, 100000),
+	REGULATOR_LINEAR_RANGE(2850000, 0xC, 0xD, 150000),
 	REGULATOR_LINEAR_RANGE(3300000, 0xE, 0xE, 0),
 };
 
diff --git a/drivers/regulator/wm831x-dcdc.c b/drivers/regulator/wm831x-dcdc.c
index 5a5bc4b..df59143 100644
--- a/drivers/regulator/wm831x-dcdc.c
+++ b/drivers/regulator/wm831x-dcdc.c
@@ -327,8 +327,8 @@
 }
 
 /* Current limit options */
-static u16 wm831x_dcdc_ilim[] = {
-	125, 250, 375, 500, 625, 750, 875, 1000
+static const unsigned int wm831x_dcdc_ilim[] = {
+	125000, 250000, 375000, 500000, 625000, 750000, 875000, 1000000
 };
 
 static int wm831x_buckv_set_current_limit(struct regulator_dev *rdev,
diff --git a/drivers/remoteproc/qcom_q6v5_pil.c b/drivers/remoteproc/qcom_q6v5_pil.c
index 6a84b63..cc475dc 100644
--- a/drivers/remoteproc/qcom_q6v5_pil.c
+++ b/drivers/remoteproc/qcom_q6v5_pil.c
@@ -1268,16 +1268,26 @@
 
 static const struct rproc_hexagon_res msm8996_mss = {
 	.hexagon_mba_image = "mba.mbn",
+	.proxy_supply = (struct qcom_mss_reg_res[]) {
+		{
+			.supply = "pll",
+			.uA = 100000,
+		},
+		{}
+	},
 	.proxy_clk_names = (char*[]){
 			"xo",
 			"pnoc",
+			"qdss",
 			NULL
 	},
 	.active_clk_names = (char*[]){
 			"iface",
 			"bus",
 			"mem",
-			"gpll0_mss_clk",
+			"gpll0_mss",
+			"snoc_axi",
+			"mnoc_axi",
 			NULL
 	},
 	.need_mem_protection = true,
diff --git a/drivers/remoteproc/remoteproc_core.c b/drivers/remoteproc/remoteproc_core.c
index aa62067..abbef17 100644
--- a/drivers/remoteproc/remoteproc_core.c
+++ b/drivers/remoteproc/remoteproc_core.c
@@ -1786,7 +1786,7 @@
 
 	return 0;
 }
-module_init(remoteproc_init);
+subsys_initcall(remoteproc_init);
 
 static void __exit remoteproc_exit(void)
 {
diff --git a/drivers/reset/reset-uniphier.c b/drivers/reset/reset-uniphier.c
index 5605745..adbecb2 100644
--- a/drivers/reset/reset-uniphier.c
+++ b/drivers/reset/reset-uniphier.c
@@ -202,8 +202,8 @@
 #define UNIPHIER_PERI_RESET_FI2C(id, ch)		\
 	UNIPHIER_RESETX((id), 0x114, 24 + (ch))
 
-#define UNIPHIER_PERI_RESET_SCSSI(id)			\
-	UNIPHIER_RESETX((id), 0x110, 17)
+#define UNIPHIER_PERI_RESET_SCSSI(id, ch)		\
+	UNIPHIER_RESETX((id), 0x110, 17 + (ch))
 
 #define UNIPHIER_PERI_RESET_MCSSI(id)			\
 	UNIPHIER_RESETX((id), 0x114, 14)
@@ -218,7 +218,7 @@
 	UNIPHIER_PERI_RESET_I2C(6, 2),
 	UNIPHIER_PERI_RESET_I2C(7, 3),
 	UNIPHIER_PERI_RESET_I2C(8, 4),
-	UNIPHIER_PERI_RESET_SCSSI(11),
+	UNIPHIER_PERI_RESET_SCSSI(11, 0),
 	UNIPHIER_RESET_END,
 };
 
@@ -234,8 +234,11 @@
 	UNIPHIER_PERI_RESET_FI2C(8, 4),
 	UNIPHIER_PERI_RESET_FI2C(9, 5),
 	UNIPHIER_PERI_RESET_FI2C(10, 6),
-	UNIPHIER_PERI_RESET_SCSSI(11),
-	UNIPHIER_PERI_RESET_MCSSI(12),
+	UNIPHIER_PERI_RESET_SCSSI(11, 0),
+	UNIPHIER_PERI_RESET_SCSSI(12, 1),
+	UNIPHIER_PERI_RESET_SCSSI(13, 2),
+	UNIPHIER_PERI_RESET_SCSSI(14, 3),
+	UNIPHIER_PERI_RESET_MCSSI(15),
 	UNIPHIER_RESET_END,
 };
 
diff --git a/drivers/rtc/class.c b/drivers/rtc/class.c
index 0fca4d7..8c0e76e 100644
--- a/drivers/rtc/class.c
+++ b/drivers/rtc/class.c
@@ -341,6 +341,11 @@
 	dev_info(dev, "rtc core: registered %s as %s\n",
 			name, dev_name(&rtc->dev));
 
+#ifdef CONFIG_RTC_HCTOSYS_DEVICE
+	if (!strcmp(dev_name(&rtc->dev), CONFIG_RTC_HCTOSYS_DEVICE))
+		rtc_hctosys();
+#endif
+
 	return rtc;
 
 exit_ida:
@@ -527,6 +532,11 @@
 	dev_info(rtc->dev.parent, "registered as %s\n",
 		 dev_name(&rtc->dev));
 
+#ifdef CONFIG_RTC_HCTOSYS_DEVICE
+	if (!strcmp(dev_name(&rtc->dev), CONFIG_RTC_HCTOSYS_DEVICE))
+		rtc_hctosys();
+#endif
+
 	return 0;
 }
 EXPORT_SYMBOL_GPL(__rtc_register_device);
diff --git a/drivers/rtc/hctosys.c b/drivers/rtc/hctosys.c
index b9ec4a1..02b71af 100644
--- a/drivers/rtc/hctosys.c
+++ b/drivers/rtc/hctosys.c
@@ -24,7 +24,7 @@
  * the best guess is to add 0.5s.
  */
 
-static int __init rtc_hctosys(void)
+int rtc_hctosys(void)
 {
 	int err = -ENODEV;
 	struct rtc_time tm;
@@ -73,5 +73,3 @@
 
 	return err;
 }
-
-late_initcall(rtc_hctosys);
diff --git a/drivers/rtc/rtc-88pm80x.c b/drivers/rtc/rtc-88pm80x.c
index cab293c..1fc48eb 100644
--- a/drivers/rtc/rtc-88pm80x.c
+++ b/drivers/rtc/rtc-88pm80x.c
@@ -114,12 +114,14 @@
 	unsigned char buf[4];
 	unsigned long ticks, base, data;
 	regmap_raw_read(info->map, PM800_RTC_EXPIRE2_1, buf, 4);
-	base = (buf[3] << 24) | (buf[2] << 16) | (buf[1] << 8) | buf[0];
+	base = ((unsigned long)buf[3] << 24) | (buf[2] << 16) |
+		(buf[1] << 8) | buf[0];
 	dev_dbg(info->dev, "%x-%x-%x-%x\n", buf[0], buf[1], buf[2], buf[3]);
 
 	/* load 32-bit read-only counter */
 	regmap_raw_read(info->map, PM800_RTC_COUNTER1, buf, 4);
-	data = (buf[3] << 24) | (buf[2] << 16) | (buf[1] << 8) | buf[0];
+	data = ((unsigned long)buf[3] << 24) | (buf[2] << 16) |
+		(buf[1] << 8) | buf[0];
 	ticks = base + data;
 	dev_dbg(info->dev, "get base:0x%lx, RO count:0x%lx, ticks:0x%lx\n",
 		base, data, ticks);
@@ -137,7 +139,8 @@
 
 	/* load 32-bit read-only counter */
 	regmap_raw_read(info->map, PM800_RTC_COUNTER1, buf, 4);
-	data = (buf[3] << 24) | (buf[2] << 16) | (buf[1] << 8) | buf[0];
+	data = ((unsigned long)buf[3] << 24) | (buf[2] << 16) |
+		(buf[1] << 8) | buf[0];
 	base = ticks - data;
 	dev_dbg(info->dev, "set base:0x%lx, RO count:0x%lx, ticks:0x%lx\n",
 		base, data, ticks);
@@ -158,11 +161,13 @@
 	int ret;
 
 	regmap_raw_read(info->map, PM800_RTC_EXPIRE2_1, buf, 4);
-	base = (buf[3] << 24) | (buf[2] << 16) | (buf[1] << 8) | buf[0];
+	base = ((unsigned long)buf[3] << 24) | (buf[2] << 16) |
+		(buf[1] << 8) | buf[0];
 	dev_dbg(info->dev, "%x-%x-%x-%x\n", buf[0], buf[1], buf[2], buf[3]);
 
 	regmap_raw_read(info->map, PM800_RTC_EXPIRE1_1, buf, 4);
-	data = (buf[3] << 24) | (buf[2] << 16) | (buf[1] << 8) | buf[0];
+	data = ((unsigned long)buf[3] << 24) | (buf[2] << 16) |
+		(buf[1] << 8) | buf[0];
 	ticks = base + data;
 	dev_dbg(info->dev, "get base:0x%lx, RO count:0x%lx, ticks:0x%lx\n",
 		base, data, ticks);
@@ -185,12 +190,14 @@
 	regmap_update_bits(info->map, PM800_RTC_CONTROL, PM800_ALARM1_EN, 0);
 
 	regmap_raw_read(info->map, PM800_RTC_EXPIRE2_1, buf, 4);
-	base = (buf[3] << 24) | (buf[2] << 16) | (buf[1] << 8) | buf[0];
+	base = ((unsigned long)buf[3] << 24) | (buf[2] << 16) |
+		(buf[1] << 8) | buf[0];
 	dev_dbg(info->dev, "%x-%x-%x-%x\n", buf[0], buf[1], buf[2], buf[3]);
 
 	/* load 32-bit read-only counter */
 	regmap_raw_read(info->map, PM800_RTC_COUNTER1, buf, 4);
-	data = (buf[3] << 24) | (buf[2] << 16) | (buf[1] << 8) | buf[0];
+	data = ((unsigned long)buf[3] << 24) | (buf[2] << 16) |
+		(buf[1] << 8) | buf[0];
 	ticks = base + data;
 	dev_dbg(info->dev, "get base:0x%lx, RO count:0x%lx, ticks:0x%lx\n",
 		base, data, ticks);
diff --git a/drivers/rtc/rtc-88pm860x.c b/drivers/rtc/rtc-88pm860x.c
index fbcf13b..73697e4 100644
--- a/drivers/rtc/rtc-88pm860x.c
+++ b/drivers/rtc/rtc-88pm860x.c
@@ -115,11 +115,13 @@
 	pm860x_page_bulk_read(info->i2c, REG0_ADDR, 8, buf);
 	dev_dbg(info->dev, "%x-%x-%x-%x-%x-%x-%x-%x\n", buf[0], buf[1],
 		buf[2], buf[3], buf[4], buf[5], buf[6], buf[7]);
-	base = (buf[1] << 24) | (buf[3] << 16) | (buf[5] << 8) | buf[7];
+	base = ((unsigned long)buf[1] << 24) | (buf[3] << 16) |
+		(buf[5] << 8) | buf[7];
 
 	/* load 32-bit read-only counter */
 	pm860x_bulk_read(info->i2c, PM8607_RTC_COUNTER1, 4, buf);
-	data = (buf[3] << 24) | (buf[2] << 16) | (buf[1] << 8) | buf[0];
+	data = ((unsigned long)buf[3] << 24) | (buf[2] << 16) |
+		(buf[1] << 8) | buf[0];
 	ticks = base + data;
 	dev_dbg(info->dev, "get base:0x%lx, RO count:0x%lx, ticks:0x%lx\n",
 		base, data, ticks);
@@ -145,7 +147,8 @@
 
 	/* load 32-bit read-only counter */
 	pm860x_bulk_read(info->i2c, PM8607_RTC_COUNTER1, 4, buf);
-	data = (buf[3] << 24) | (buf[2] << 16) | (buf[1] << 8) | buf[0];
+	data = ((unsigned long)buf[3] << 24) | (buf[2] << 16) |
+		(buf[1] << 8) | buf[0];
 	base = ticks - data;
 	dev_dbg(info->dev, "set base:0x%lx, RO count:0x%lx, ticks:0x%lx\n",
 		base, data, ticks);
@@ -170,10 +173,12 @@
 	pm860x_page_bulk_read(info->i2c, REG0_ADDR, 8, buf);
 	dev_dbg(info->dev, "%x-%x-%x-%x-%x-%x-%x-%x\n", buf[0], buf[1],
 		buf[2], buf[3], buf[4], buf[5], buf[6], buf[7]);
-	base = (buf[1] << 24) | (buf[3] << 16) | (buf[5] << 8) | buf[7];
+	base = ((unsigned long)buf[1] << 24) | (buf[3] << 16) |
+		(buf[5] << 8) | buf[7];
 
 	pm860x_bulk_read(info->i2c, PM8607_RTC_EXPIRE1, 4, buf);
-	data = (buf[3] << 24) | (buf[2] << 16) | (buf[1] << 8) | buf[0];
+	data = ((unsigned long)buf[3] << 24) | (buf[2] << 16) |
+		(buf[1] << 8) | buf[0];
 	ticks = base + data;
 	dev_dbg(info->dev, "get base:0x%lx, RO count:0x%lx, ticks:0x%lx\n",
 		base, data, ticks);
@@ -198,11 +203,13 @@
 	pm860x_page_bulk_read(info->i2c, REG0_ADDR, 8, buf);
 	dev_dbg(info->dev, "%x-%x-%x-%x-%x-%x-%x-%x\n", buf[0], buf[1],
 		buf[2], buf[3], buf[4], buf[5], buf[6], buf[7]);
-	base = (buf[1] << 24) | (buf[3] << 16) | (buf[5] << 8) | buf[7];
+	base = ((unsigned long)buf[1] << 24) | (buf[3] << 16) |
+		(buf[5] << 8) | buf[7];
 
 	/* load 32-bit read-only counter */
 	pm860x_bulk_read(info->i2c, PM8607_RTC_COUNTER1, 4, buf);
-	data = (buf[3] << 24) | (buf[2] << 16) | (buf[1] << 8) | buf[0];
+	data = ((unsigned long)buf[3] << 24) | (buf[2] << 16) |
+		(buf[1] << 8) | buf[0];
 	ticks = base + data;
 	dev_dbg(info->dev, "get base:0x%lx, RO count:0x%lx, ticks:0x%lx\n",
 		base, data, ticks);
diff --git a/drivers/rtc/rtc-brcmstb-waketimer.c b/drivers/rtc/rtc-brcmstb-waketimer.c
index f4010a7..1abc839 100644
--- a/drivers/rtc/rtc-brcmstb-waketimer.c
+++ b/drivers/rtc/rtc-brcmstb-waketimer.c
@@ -287,6 +287,7 @@
 	struct brcmstb_waketmr *timer = dev_get_drvdata(&pdev->dev);
 
 	unregister_reboot_notifier(&timer->reboot_notifier);
+	clk_disable_unprepare(timer->clk);
 
 	return 0;
 }
diff --git a/drivers/rtc/rtc-cmos.c b/drivers/rtc/rtc-cmos.c
index a5a19ff..0fa94d9 100644
--- a/drivers/rtc/rtc-cmos.c
+++ b/drivers/rtc/rtc-cmos.c
@@ -854,7 +854,7 @@
 			rtc_cmos_int_handler = cmos_interrupt;
 
 		retval = request_irq(rtc_irq, rtc_cmos_int_handler,
-				IRQF_SHARED, dev_name(&cmos_rtc.rtc->dev),
+				0, dev_name(&cmos_rtc.rtc->dev),
 				cmos_rtc.rtc);
 		if (retval < 0) {
 			dev_dbg(dev, "IRQ %d is already in use\n", rtc_irq);
diff --git a/drivers/rtc/rtc-core.h b/drivers/rtc/rtc-core.h
index ccc17a2..57a8a18 100644
--- a/drivers/rtc/rtc-core.h
+++ b/drivers/rtc/rtc-core.h
@@ -60,3 +60,7 @@
 	return 0;
 }
 #endif
+
+#ifdef CONFIG_RTC_HCTOSYS
+extern int rtc_hctosys(void);
+#endif
diff --git a/drivers/rtc/rtc-ds1307.c b/drivers/rtc/rtc-ds1307.c
index 71396b6..ebd59e8 100644
--- a/drivers/rtc/rtc-ds1307.c
+++ b/drivers/rtc/rtc-ds1307.c
@@ -749,8 +749,8 @@
 	if (ret < 0)
 		return ret;
 
-	ctl[0] &= ~RX8130_REG_EXTENSION_WADA;
-	ctl[1] |= RX8130_REG_FLAG_AF;
+	ctl[0] &= RX8130_REG_EXTENSION_WADA;
+	ctl[1] &= ~RX8130_REG_FLAG_AF;
 	ctl[2] &= ~RX8130_REG_CONTROL0_AIE;
 
 	ret = regmap_bulk_write(ds1307->regmap, RX8130_REG_EXTENSION, ctl,
@@ -773,8 +773,7 @@
 
 	ctl[2] |= RX8130_REG_CONTROL0_AIE;
 
-	return regmap_bulk_write(ds1307->regmap, RX8130_REG_EXTENSION, ctl,
-				 sizeof(ctl));
+	return regmap_write(ds1307->regmap, RX8130_REG_CONTROL0, ctl[2]);
 }
 
 static int rx8130_alarm_irq_enable(struct device *dev, unsigned int enabled)
diff --git a/drivers/rtc/rtc-ds1672.c b/drivers/rtc/rtc-ds1672.c
index 9caaccc..b1ebca0 100644
--- a/drivers/rtc/rtc-ds1672.c
+++ b/drivers/rtc/rtc-ds1672.c
@@ -58,7 +58,8 @@
 		"%s: raw read data - counters=%02x,%02x,%02x,%02x\n",
 		__func__, buf[0], buf[1], buf[2], buf[3]);
 
-	time = (buf[3] << 24) | (buf[2] << 16) | (buf[1] << 8) | buf[0];
+	time = ((unsigned long)buf[3] << 24) | (buf[2] << 16) |
+	       (buf[1] << 8) | buf[0];
 
 	rtc_time_to_tm(time, tm);
 
diff --git a/drivers/rtc/rtc-hym8563.c b/drivers/rtc/rtc-hym8563.c
index e5ad527..a8c2d38 100644
--- a/drivers/rtc/rtc-hym8563.c
+++ b/drivers/rtc/rtc-hym8563.c
@@ -105,7 +105,7 @@
 
 	if (!hym8563->valid) {
 		dev_warn(&client->dev, "no valid clock/calendar values available\n");
-		return -EPERM;
+		return -EINVAL;
 	}
 
 	ret = i2c_smbus_read_i2c_block_data(client, HYM8563_SEC, 7, buf);
diff --git a/drivers/rtc/rtc-mc146818-lib.c b/drivers/rtc/rtc-mc146818-lib.c
index 2f1772a..18a6f15 100644
--- a/drivers/rtc/rtc-mc146818-lib.c
+++ b/drivers/rtc/rtc-mc146818-lib.c
@@ -82,7 +82,7 @@
 	time->tm_year += real_year - 72;
 #endif
 
-	if (century)
+	if (century > 20)
 		time->tm_year += (century - 19) * 100;
 
 	/*
diff --git a/drivers/rtc/rtc-msm6242.c b/drivers/rtc/rtc-msm6242.c
index 0c72a2e..6aace93 100644
--- a/drivers/rtc/rtc-msm6242.c
+++ b/drivers/rtc/rtc-msm6242.c
@@ -132,7 +132,8 @@
 		      msm6242_read(priv, MSM6242_SECOND1);
 	tm->tm_min  = msm6242_read(priv, MSM6242_MINUTE10) * 10 +
 		      msm6242_read(priv, MSM6242_MINUTE1);
-	tm->tm_hour = (msm6242_read(priv, MSM6242_HOUR10 & 3)) * 10 +
+	tm->tm_hour = (msm6242_read(priv, MSM6242_HOUR10) &
+		       MSM6242_HOUR10_HR_MASK) * 10 +
 		      msm6242_read(priv, MSM6242_HOUR1);
 	tm->tm_mday = msm6242_read(priv, MSM6242_DAY10) * 10 +
 		      msm6242_read(priv, MSM6242_DAY1);
diff --git a/drivers/rtc/rtc-mt6397.c b/drivers/rtc/rtc-mt6397.c
index e9a25ec..964ed91 100644
--- a/drivers/rtc/rtc-mt6397.c
+++ b/drivers/rtc/rtc-mt6397.c
@@ -55,6 +55,14 @@
 
 #define RTC_AL_SEC		0x0018
 
+#define RTC_AL_SEC_MASK		0x003f
+#define RTC_AL_MIN_MASK		0x003f
+#define RTC_AL_HOU_MASK		0x001f
+#define RTC_AL_DOM_MASK		0x001f
+#define RTC_AL_DOW_MASK		0x0007
+#define RTC_AL_MTH_MASK		0x000f
+#define RTC_AL_YEA_MASK		0x007f
+
 #define RTC_PDN2		0x002e
 #define RTC_PDN2_PWRON_ALARM	BIT(4)
 
@@ -111,7 +119,7 @@
 		irqen = irqsta & ~RTC_IRQ_EN_AL;
 		mutex_lock(&rtc->lock);
 		if (regmap_write(rtc->regmap, rtc->addr_base + RTC_IRQ_EN,
-				 irqen) < 0)
+				 irqen) == 0)
 			mtk_rtc_write_trigger(rtc);
 		mutex_unlock(&rtc->lock);
 
@@ -233,12 +241,12 @@
 	alm->pending = !!(pdn2 & RTC_PDN2_PWRON_ALARM);
 	mutex_unlock(&rtc->lock);
 
-	tm->tm_sec = data[RTC_OFFSET_SEC];
-	tm->tm_min = data[RTC_OFFSET_MIN];
-	tm->tm_hour = data[RTC_OFFSET_HOUR];
-	tm->tm_mday = data[RTC_OFFSET_DOM];
-	tm->tm_mon = data[RTC_OFFSET_MTH];
-	tm->tm_year = data[RTC_OFFSET_YEAR];
+	tm->tm_sec = data[RTC_OFFSET_SEC] & RTC_AL_SEC_MASK;
+	tm->tm_min = data[RTC_OFFSET_MIN] & RTC_AL_MIN_MASK;
+	tm->tm_hour = data[RTC_OFFSET_HOUR] & RTC_AL_HOU_MASK;
+	tm->tm_mday = data[RTC_OFFSET_DOM] & RTC_AL_DOM_MASK;
+	tm->tm_mon = data[RTC_OFFSET_MTH] & RTC_AL_MTH_MASK;
+	tm->tm_year = data[RTC_OFFSET_YEAR] & RTC_AL_YEA_MASK;
 
 	tm->tm_year += RTC_MIN_YEAR_OFFSET;
 	tm->tm_mon--;
@@ -259,14 +267,25 @@
 	tm->tm_year -= RTC_MIN_YEAR_OFFSET;
 	tm->tm_mon++;
 
-	data[RTC_OFFSET_SEC] = tm->tm_sec;
-	data[RTC_OFFSET_MIN] = tm->tm_min;
-	data[RTC_OFFSET_HOUR] = tm->tm_hour;
-	data[RTC_OFFSET_DOM] = tm->tm_mday;
-	data[RTC_OFFSET_MTH] = tm->tm_mon;
-	data[RTC_OFFSET_YEAR] = tm->tm_year;
-
 	mutex_lock(&rtc->lock);
+	ret = regmap_bulk_read(rtc->regmap, rtc->addr_base + RTC_AL_SEC,
+			       data, RTC_OFFSET_COUNT);
+	if (ret < 0)
+		goto exit;
+
+	data[RTC_OFFSET_SEC] = ((data[RTC_OFFSET_SEC] & ~(RTC_AL_SEC_MASK)) |
+				(tm->tm_sec & RTC_AL_SEC_MASK));
+	data[RTC_OFFSET_MIN] = ((data[RTC_OFFSET_MIN] & ~(RTC_AL_MIN_MASK)) |
+				(tm->tm_min & RTC_AL_MIN_MASK));
+	data[RTC_OFFSET_HOUR] = ((data[RTC_OFFSET_HOUR] & ~(RTC_AL_HOU_MASK)) |
+				(tm->tm_hour & RTC_AL_HOU_MASK));
+	data[RTC_OFFSET_DOM] = ((data[RTC_OFFSET_DOM] & ~(RTC_AL_DOM_MASK)) |
+				(tm->tm_mday & RTC_AL_DOM_MASK));
+	data[RTC_OFFSET_MTH] = ((data[RTC_OFFSET_MTH] & ~(RTC_AL_MTH_MASK)) |
+				(tm->tm_mon & RTC_AL_MTH_MASK));
+	data[RTC_OFFSET_YEAR] = ((data[RTC_OFFSET_YEAR] & ~(RTC_AL_YEA_MASK)) |
+				(tm->tm_year & RTC_AL_YEA_MASK));
+
 	if (alm->enabled) {
 		ret = regmap_bulk_write(rtc->regmap,
 					rtc->addr_base + RTC_AL_SEC,
@@ -343,7 +362,7 @@
 	if (ret) {
 		dev_err(&pdev->dev, "Failed to request alarm IRQ: %d: %d\n",
 			rtc->irq, ret);
-		goto out_dispose_irq;
+		return ret;
 	}
 
 	device_init_wakeup(&pdev->dev, 1);
@@ -359,9 +378,7 @@
 	return 0;
 
 out_free_irq:
-	free_irq(rtc->irq, rtc->rtc_dev);
-out_dispose_irq:
-	irq_dispose_mapping(rtc->irq);
+	free_irq(rtc->irq, rtc);
 	return ret;
 }
 
@@ -369,8 +386,7 @@
 {
 	struct mt6397_rtc *rtc = platform_get_drvdata(pdev);
 
-	free_irq(rtc->irq, rtc->rtc_dev);
-	irq_dispose_mapping(rtc->irq);
+	free_irq(rtc->irq, rtc);
 
 	return 0;
 }
diff --git a/drivers/rtc/rtc-pcf2127.c b/drivers/rtc/rtc-pcf2127.c
index 7cb786d..8c62406 100644
--- a/drivers/rtc/rtc-pcf2127.c
+++ b/drivers/rtc/rtc-pcf2127.c
@@ -57,20 +57,14 @@
 	struct pcf2127 *pcf2127 = dev_get_drvdata(dev);
 	unsigned char buf[10];
 	int ret;
-	int i;
 
-	for (i = 0; i <= PCF2127_REG_CTRL3; i++) {
-		ret = regmap_read(pcf2127->regmap, PCF2127_REG_CTRL1 + i,
-				  (unsigned int *)(buf + i));
-		if (ret) {
-			dev_err(dev, "%s: read error\n", __func__);
-			return ret;
-		}
-	}
-
-	ret = regmap_bulk_read(pcf2127->regmap, PCF2127_REG_SC,
-			       (buf + PCF2127_REG_SC),
-			       ARRAY_SIZE(buf) - PCF2127_REG_SC);
+	/*
+	 * Avoid reading CTRL2 register as it causes WD_VAL register
+	 * value to reset to 0 which means watchdog is stopped.
+	 */
+	ret = regmap_bulk_read(pcf2127->regmap, PCF2127_REG_CTRL3,
+			       (buf + PCF2127_REG_CTRL3),
+			       ARRAY_SIZE(buf) - PCF2127_REG_CTRL3);
 	if (ret) {
 		dev_err(dev, "%s: read error\n", __func__);
 		return ret;
@@ -91,14 +85,12 @@
 	}
 
 	dev_dbg(dev,
-		"%s: raw data is cr1=%02x, cr2=%02x, cr3=%02x, "
-		"sec=%02x, min=%02x, hr=%02x, "
+		"%s: raw data is cr3=%02x, sec=%02x, min=%02x, hr=%02x, "
 		"mday=%02x, wday=%02x, mon=%02x, year=%02x\n",
-		__func__,
-		buf[0], buf[1], buf[2],
-		buf[3], buf[4], buf[5],
-		buf[6], buf[7], buf[8], buf[9]);
-
+		__func__, buf[PCF2127_REG_CTRL3], buf[PCF2127_REG_SC],
+		buf[PCF2127_REG_MN], buf[PCF2127_REG_HR],
+		buf[PCF2127_REG_DM], buf[PCF2127_REG_DW],
+		buf[PCF2127_REG_MO], buf[PCF2127_REG_YR]);
 
 	tm->tm_sec = bcd2bin(buf[PCF2127_REG_SC] & 0x7F);
 	tm->tm_min = bcd2bin(buf[PCF2127_REG_MN] & 0x7F);
diff --git a/drivers/rtc/rtc-pcf8563.c b/drivers/rtc/rtc-pcf8563.c
index 3efc86c..d8adf69 100644
--- a/drivers/rtc/rtc-pcf8563.c
+++ b/drivers/rtc/rtc-pcf8563.c
@@ -563,7 +563,6 @@
 	struct pcf8563 *pcf8563;
 	int err;
 	unsigned char buf;
-	unsigned char alm_pending;
 
 	dev_dbg(&client->dev, "%s\n", __func__);
 
@@ -587,13 +586,13 @@
 		return err;
 	}
 
-	err = pcf8563_get_alarm_mode(client, NULL, &alm_pending);
-	if (err) {
-		dev_err(&client->dev, "%s: read error\n", __func__);
+	/* Clear flags and disable interrupts */
+	buf = 0;
+	err = pcf8563_write_block_data(client, PCF8563_REG_ST2, 1, &buf);
+	if (err < 0) {
+		dev_err(&client->dev, "%s: write error\n", __func__);
 		return err;
 	}
-	if (alm_pending)
-		pcf8563_set_alarm_mode(client, 0);
 
 	pcf8563->rtc = devm_rtc_device_register(&client->dev,
 				pcf8563_driver.driver.name,
@@ -605,7 +604,7 @@
 	if (client->irq > 0) {
 		err = devm_request_threaded_irq(&client->dev, client->irq,
 				NULL, pcf8563_irq,
-				IRQF_SHARED|IRQF_ONESHOT|IRQF_TRIGGER_FALLING,
+				IRQF_SHARED | IRQF_ONESHOT | IRQF_TRIGGER_LOW,
 				pcf8563_driver.driver.name, client);
 		if (err) {
 			dev_err(&client->dev, "unable to request IRQ %d\n",
diff --git a/drivers/rtc/rtc-pm8xxx.c b/drivers/rtc/rtc-pm8xxx.c
index d38f38d..40fefd9 100644
--- a/drivers/rtc/rtc-pm8xxx.c
+++ b/drivers/rtc/rtc-pm8xxx.c
@@ -208,7 +208,8 @@
 		}
 	}
 
-	secs = value[0] | (value[1] << 8) | (value[2] << 16) | (value[3] << 24);
+	secs = value[0] | (value[1] << 8) | (value[2] << 16) |
+	       ((unsigned long)value[3] << 24);
 
 	rtc_time_to_tm(secs, tm);
 
@@ -283,7 +284,8 @@
 		return rc;
 	}
 
-	secs = value[0] | (value[1] << 8) | (value[2] << 16) | (value[3] << 24);
+	secs = value[0] | (value[1] << 8) | (value[2] << 16) |
+	       ((unsigned long)value[3] << 24);
 
 	rtc_time_to_tm(secs, &alarm->time);
 
diff --git a/drivers/rtc/rtc-rv3029c2.c b/drivers/rtc/rtc-rv3029c2.c
index 3d6174e..cfe3aec 100644
--- a/drivers/rtc/rtc-rv3029c2.c
+++ b/drivers/rtc/rtc-rv3029c2.c
@@ -282,13 +282,13 @@
 static int rv3029_eeprom_write(struct device *dev, u8 reg,
 			       u8 const buf[], size_t len)
 {
-	int ret;
+	int ret, err;
 	size_t i;
 	u8 tmp;
 
-	ret = rv3029_eeprom_enter(dev);
-	if (ret < 0)
-		return ret;
+	err = rv3029_eeprom_enter(dev);
+	if (err < 0)
+		return err;
 
 	for (i = 0; i < len; i++, reg++) {
 		ret = rv3029_read_regs(dev, reg, &tmp, 1);
@@ -304,11 +304,11 @@
 			break;
 	}
 
-	ret = rv3029_eeprom_exit(dev);
-	if (ret < 0)
-		return ret;
+	err = rv3029_eeprom_exit(dev);
+	if (err < 0)
+		return err;
 
-	return 0;
+	return ret;
 }
 
 static int rv3029_eeprom_update_bits(struct device *dev,
diff --git a/drivers/s390/cio/blacklist.c b/drivers/s390/cio/blacklist.c
index 2a3f874..9cebff8 100644
--- a/drivers/s390/cio/blacklist.c
+++ b/drivers/s390/cio/blacklist.c
@@ -303,8 +303,10 @@
 cio_ignore_proc_seq_next(struct seq_file *s, void *it, loff_t *offset)
 {
 	struct ccwdev_iter *iter;
+	loff_t p = *offset;
 
-	if (*offset >= (__MAX_SUBCHANNEL + 1) * (__MAX_SSID + 1))
+	(*offset)++;
+	if (p >= (__MAX_SUBCHANNEL + 1) * (__MAX_SSID + 1))
 		return NULL;
 	iter = it;
 	if (iter->devno == __MAX_SUBCHANNEL) {
@@ -314,7 +316,6 @@
 			return NULL;
 	} else
 		iter->devno++;
-	(*offset)++;
 	return iter;
 }
 
diff --git a/drivers/s390/cio/qdio_setup.c b/drivers/s390/cio/qdio_setup.c
index 034528a..d040c49 100644
--- a/drivers/s390/cio/qdio_setup.c
+++ b/drivers/s390/cio/qdio_setup.c
@@ -8,6 +8,7 @@
 #include <linux/kernel.h>
 #include <linux/slab.h>
 #include <linux/export.h>
+#include <linux/io.h>
 #include <asm/qdio.h>
 
 #include "cio.h"
@@ -208,7 +209,7 @@
 
 	/* fill in sl */
 	for (j = 0; j < QDIO_MAX_BUFFERS_PER_Q; j++)
-		q->sl->element[j].sbal = (unsigned long)q->sbal[j];
+		q->sl->element[j].sbal = virt_to_phys(q->sbal[j]);
 }
 
 static void setup_queues(struct qdio_irq *irq_ptr,
diff --git a/drivers/s390/crypto/ap_bus.h b/drivers/s390/crypto/ap_bus.h
index 7e85d23..1c799dd 100644
--- a/drivers/s390/crypto/ap_bus.h
+++ b/drivers/s390/crypto/ap_bus.h
@@ -158,7 +158,7 @@
 	unsigned int functions;		/* AP device function bitfield. */
 	int queue_depth;		/* AP queue depth.*/
 	int id;				/* AP card number. */
-	atomic_t total_request_count;	/* # requests ever for this AP device.*/
+	atomic64_t total_request_count;	/* # requests ever for this AP device.*/
 };
 
 #define to_ap_card(x) container_of((x), struct ap_card, ap_dev.device)
@@ -175,7 +175,7 @@
 	enum ap_state state;		/* State of the AP device. */
 	int pendingq_count;		/* # requests on pendingq list. */
 	int requestq_count;		/* # requests on requestq list. */
-	int total_request_count;	/* # requests ever for this AP device.*/
+	u64 total_request_count;	/* # requests ever for this AP device.*/
 	int request_timeout;		/* Request timeout in jiffies. */
 	struct timer_list timeout;	/* Timer for request timeouts. */
 	struct list_head pendingq;	/* List of message sent to AP queue. */
diff --git a/drivers/s390/crypto/ap_card.c b/drivers/s390/crypto/ap_card.c
index 63b4cc6..e85bfca 100644
--- a/drivers/s390/crypto/ap_card.c
+++ b/drivers/s390/crypto/ap_card.c
@@ -63,13 +63,13 @@
 				  char *buf)
 {
 	struct ap_card *ac = to_ap_card(dev);
-	unsigned int req_cnt;
+	u64 req_cnt;
 
 	req_cnt = 0;
 	spin_lock_bh(&ap_list_lock);
-	req_cnt = atomic_read(&ac->total_request_count);
+	req_cnt = atomic64_read(&ac->total_request_count);
 	spin_unlock_bh(&ap_list_lock);
-	return snprintf(buf, PAGE_SIZE, "%d\n", req_cnt);
+	return snprintf(buf, PAGE_SIZE, "%llu\n", req_cnt);
 }
 
 static ssize_t request_count_store(struct device *dev,
@@ -83,7 +83,7 @@
 	for_each_ap_queue(aq, ac)
 		aq->total_request_count = 0;
 	spin_unlock_bh(&ap_list_lock);
-	atomic_set(&ac->total_request_count, 0);
+	atomic64_set(&ac->total_request_count, 0);
 
 	return count;
 }
diff --git a/drivers/s390/crypto/ap_queue.c b/drivers/s390/crypto/ap_queue.c
index 576ac08..e1647da 100644
--- a/drivers/s390/crypto/ap_queue.c
+++ b/drivers/s390/crypto/ap_queue.c
@@ -470,12 +470,12 @@
 				  char *buf)
 {
 	struct ap_queue *aq = to_ap_queue(dev);
-	unsigned int req_cnt;
+	u64 req_cnt;
 
 	spin_lock_bh(&aq->lock);
 	req_cnt = aq->total_request_count;
 	spin_unlock_bh(&aq->lock);
-	return snprintf(buf, PAGE_SIZE, "%d\n", req_cnt);
+	return snprintf(buf, PAGE_SIZE, "%llu\n", req_cnt);
 }
 
 static ssize_t request_count_store(struct device *dev,
@@ -667,7 +667,7 @@
 	list_add_tail(&ap_msg->list, &aq->requestq);
 	aq->requestq_count++;
 	aq->total_request_count++;
-	atomic_inc(&aq->card->total_request_count);
+	atomic64_inc(&aq->card->total_request_count);
 	/* Send/receive as many request from the queue as possible. */
 	ap_wait(ap_sm_event_loop(aq, AP_EVENT_POLL));
 	spin_unlock_bh(&aq->lock);
diff --git a/drivers/s390/crypto/zcrypt_api.c b/drivers/s390/crypto/zcrypt_api.c
index b2737bf..23c24a6 100644
--- a/drivers/s390/crypto/zcrypt_api.c
+++ b/drivers/s390/crypto/zcrypt_api.c
@@ -190,8 +190,8 @@
 	weight += atomic_read(&zc->load);
 	pref_weight += atomic_read(&pref_zc->load);
 	if (weight == pref_weight)
-		return atomic_read(&zc->card->total_request_count) >
-			atomic_read(&pref_zc->card->total_request_count);
+		return atomic64_read(&zc->card->total_request_count) >
+			atomic64_read(&pref_zc->card->total_request_count);
 	return weight > pref_weight;
 }
 
@@ -719,11 +719,12 @@
 	spin_unlock(&zcrypt_list_lock);
 }
 
-static void zcrypt_perdev_reqcnt(int reqcnt[], size_t max_adapters)
+static void zcrypt_perdev_reqcnt(u32 reqcnt[], size_t max_adapters)
 {
 	struct zcrypt_card *zc;
 	struct zcrypt_queue *zq;
 	int card;
+	u64 cnt;
 
 	memset(reqcnt, 0, sizeof(int) * max_adapters);
 	spin_lock(&zcrypt_list_lock);
@@ -735,8 +736,9 @@
 			    || card >= max_adapters)
 				continue;
 			spin_lock(&zq->queue->lock);
-			reqcnt[card] = zq->queue->total_request_count;
+			cnt = zq->queue->total_request_count;
 			spin_unlock(&zq->queue->lock);
+			reqcnt[card] = (cnt < UINT_MAX) ? (u32) cnt : UINT_MAX;
 		}
 	}
 	local_bh_enable();
@@ -907,9 +909,9 @@
 		return 0;
 	}
 	case ZCRYPT_PERDEV_REQCNT: {
-		int *reqcnt;
+		u32 *reqcnt;
 
-		reqcnt = kcalloc(AP_DEVICES, sizeof(int), GFP_KERNEL);
+		reqcnt = kcalloc(AP_DEVICES, sizeof(u32), GFP_KERNEL);
 		if (!reqcnt)
 			return -ENOMEM;
 		zcrypt_perdev_reqcnt(reqcnt, AP_DEVICES);
@@ -966,7 +968,7 @@
 	}
 	case Z90STAT_PERDEV_REQCNT: {
 		/* the old ioctl supports only 64 adapters */
-		int reqcnt[MAX_ZDEV_CARDIDS];
+		u32 reqcnt[MAX_ZDEV_CARDIDS];
 
 		zcrypt_perdev_reqcnt(reqcnt, MAX_ZDEV_CARDIDS);
 		if (copy_to_user((int __user *) arg, reqcnt, sizeof(reqcnt)))
diff --git a/drivers/s390/net/qeth_core_main.c b/drivers/s390/net/qeth_core_main.c
index 81e2c59..d99bfbf 100644
--- a/drivers/s390/net/qeth_core_main.c
+++ b/drivers/s390/net/qeth_core_main.c
@@ -4929,10 +4929,10 @@
 	if (card->options.cq == QETH_CQ_ENABLED) {
 		int offset = QDIO_MAX_BUFFERS_PER_Q *
 			     (card->qdio.no_in_queues - 1);
-		for (i = 0; i < QDIO_MAX_BUFFERS_PER_Q; ++i) {
-			in_sbal_ptrs[offset + i] = (struct qdio_buffer *)
-				virt_to_phys(card->qdio.c_q->bufs[i].buffer);
-		}
+
+		for (i = 0; i < QDIO_MAX_BUFFERS_PER_Q; i++)
+			in_sbal_ptrs[offset + i] =
+				card->qdio.c_q->bufs[i].buffer;
 
 		queue_start_poll[card->qdio.no_in_queues - 1] = NULL;
 	}
@@ -4967,10 +4967,9 @@
 		rc = -ENOMEM;
 		goto out_free_qib_param;
 	}
-	for (i = 0; i < QDIO_MAX_BUFFERS_PER_Q; ++i) {
-		in_sbal_ptrs[i] = (struct qdio_buffer *)
-			virt_to_phys(card->qdio.in_q->bufs[i].buffer);
-	}
+
+	for (i = 0; i < QDIO_MAX_BUFFERS_PER_Q; i++)
+		in_sbal_ptrs[i] = card->qdio.in_q->bufs[i].buffer;
 
 	queue_start_poll = kcalloc(card->qdio.no_in_queues, sizeof(void *),
 				   GFP_KERNEL);
@@ -4991,11 +4990,11 @@
 		rc = -ENOMEM;
 		goto out_free_queue_start_poll;
 	}
+
 	for (i = 0, k = 0; i < card->qdio.no_out_queues; ++i)
-		for (j = 0; j < QDIO_MAX_BUFFERS_PER_Q; ++j, ++k) {
-			out_sbal_ptrs[k] = (struct qdio_buffer *)virt_to_phys(
-				card->qdio.out_qs[i]->bufs[j]->buffer);
-		}
+		for (j = 0; j < QDIO_MAX_BUFFERS_PER_Q; j++, k++)
+			out_sbal_ptrs[k] =
+				card->qdio.out_qs[i]->bufs[j]->buffer;
 
 	memset(&init_data, 0, sizeof(struct qdio_initialize));
 	init_data.cdev                   = CARD_DDEV(card);
diff --git a/drivers/s390/net/qeth_l2_main.c b/drivers/s390/net/qeth_l2_main.c
index 95669d4..eb917e9 100644
--- a/drivers/s390/net/qeth_l2_main.c
+++ b/drivers/s390/net/qeth_l2_main.c
@@ -2148,15 +2148,14 @@
 
 	QETH_CARD_TEXT(card, 2, "vniccsch");
 
-	/* do not change anything if BridgePort is enabled */
-	if (qeth_bridgeport_is_in_use(card))
-		return -EBUSY;
-
 	/* check if characteristic and enable/disable are supported */
 	if (!(card->options.vnicc.sup_chars & vnicc) ||
 	    !(card->options.vnicc.set_char_sup & vnicc))
 		return -EOPNOTSUPP;
 
+	if (qeth_bridgeport_is_in_use(card))
+		return -EBUSY;
+
 	/* set enable/disable command and store wanted characteristic */
 	if (state) {
 		cmd = IPA_VNICC_ENABLE;
@@ -2202,14 +2201,13 @@
 
 	QETH_CARD_TEXT(card, 2, "vniccgch");
 
-	/* do not get anything if BridgePort is enabled */
-	if (qeth_bridgeport_is_in_use(card))
-		return -EBUSY;
-
 	/* check if characteristic is supported */
 	if (!(card->options.vnicc.sup_chars & vnicc))
 		return -EOPNOTSUPP;
 
+	if (qeth_bridgeport_is_in_use(card))
+		return -EBUSY;
+
 	/* if card is ready, query current VNICC state */
 	if (qeth_card_hw_is_reachable(card))
 		rc = qeth_l2_vnicc_query_chars(card);
@@ -2227,15 +2225,14 @@
 
 	QETH_CARD_TEXT(card, 2, "vniccsto");
 
-	/* do not change anything if BridgePort is enabled */
-	if (qeth_bridgeport_is_in_use(card))
-		return -EBUSY;
-
 	/* check if characteristic and set_timeout are supported */
 	if (!(card->options.vnicc.sup_chars & QETH_VNICC_LEARNING) ||
 	    !(card->options.vnicc.getset_timeout_sup & QETH_VNICC_LEARNING))
 		return -EOPNOTSUPP;
 
+	if (qeth_bridgeport_is_in_use(card))
+		return -EBUSY;
+
 	/* do we need to do anything? */
 	if (card->options.vnicc.learning_timeout == timeout)
 		return rc;
@@ -2264,14 +2261,14 @@
 
 	QETH_CARD_TEXT(card, 2, "vniccgto");
 
-	/* do not get anything if BridgePort is enabled */
-	if (qeth_bridgeport_is_in_use(card))
-		return -EBUSY;
-
 	/* check if characteristic and get_timeout are supported */
 	if (!(card->options.vnicc.sup_chars & QETH_VNICC_LEARNING) ||
 	    !(card->options.vnicc.getset_timeout_sup & QETH_VNICC_LEARNING))
 		return -EOPNOTSUPP;
+
+	if (qeth_bridgeport_is_in_use(card))
+		return -EBUSY;
+
 	/* if card is ready, get timeout. Otherwise, just return stored value */
 	*timeout = card->options.vnicc.learning_timeout;
 	if (qeth_card_hw_is_reachable(card))
@@ -2285,8 +2282,7 @@
 /* check if VNICC is currently enabled */
 bool qeth_l2_vnicc_is_in_use(struct qeth_card *card)
 {
-	/* if everything is turned off, VNICC is not active */
-	if (!card->options.vnicc.cur_chars)
+	if (!card->options.vnicc.sup_chars)
 		return false;
 	/* default values are only OK if rx_bcast was not enabled by user
 	 * or the card is offline.
@@ -2331,10 +2327,10 @@
 static void qeth_l2_vnicc_init(struct qeth_card *card)
 {
 	u32 *timeout = &card->options.vnicc.learning_timeout;
+	bool enable, error = false;
 	unsigned int chars_len, i;
 	unsigned long chars_tmp;
 	u32 sup_cmds, vnicc;
-	bool enable, error;
 
 	QETH_CARD_TEXT(card, 2, "vniccini");
 	/* reset rx_bcast */
@@ -2355,19 +2351,25 @@
 	chars_len = sizeof(card->options.vnicc.sup_chars) * BITS_PER_BYTE;
 	for_each_set_bit(i, &chars_tmp, chars_len) {
 		vnicc = BIT(i);
-		qeth_l2_vnicc_query_cmds(card, vnicc, &sup_cmds);
-		if (!(sup_cmds & IPA_VNICC_SET_TIMEOUT) ||
-		    !(sup_cmds & IPA_VNICC_GET_TIMEOUT))
+		if (qeth_l2_vnicc_query_cmds(card, vnicc, &sup_cmds)) {
+			sup_cmds = 0;
+			error = true;
+		}
+		if ((sup_cmds & IPA_VNICC_SET_TIMEOUT) &&
+		    (sup_cmds & IPA_VNICC_GET_TIMEOUT))
+			card->options.vnicc.getset_timeout_sup |= vnicc;
+		else
 			card->options.vnicc.getset_timeout_sup &= ~vnicc;
-		if (!(sup_cmds & IPA_VNICC_ENABLE) ||
-		    !(sup_cmds & IPA_VNICC_DISABLE))
+		if ((sup_cmds & IPA_VNICC_ENABLE) &&
+		    (sup_cmds & IPA_VNICC_DISABLE))
+			card->options.vnicc.set_char_sup |= vnicc;
+		else
 			card->options.vnicc.set_char_sup &= ~vnicc;
 	}
 	/* enforce assumed default values and recover settings, if changed  */
-	error = qeth_l2_vnicc_recover_timeout(card, QETH_VNICC_LEARNING,
-					      timeout);
+	error |= qeth_l2_vnicc_recover_timeout(card, QETH_VNICC_LEARNING,
+					       timeout);
 	chars_tmp = card->options.vnicc.wanted_chars ^ QETH_VNICC_DEFAULT;
-	chars_tmp |= QETH_VNICC_BRIDGE_INVISIBLE;
 	chars_len = sizeof(card->options.vnicc.wanted_chars) * BITS_PER_BYTE;
 	for_each_set_bit(i, &chars_tmp, chars_len) {
 		vnicc = BIT(i);
diff --git a/drivers/scsi/aic7xxx/aic7xxx_core.c b/drivers/scsi/aic7xxx/aic7xxx_core.c
index 915a34f..49e02e8 100644
--- a/drivers/scsi/aic7xxx/aic7xxx_core.c
+++ b/drivers/scsi/aic7xxx/aic7xxx_core.c
@@ -2321,7 +2321,7 @@
 			 * At some speeds, we only support
 			 * ST transfers.
 			 */
-		 	if ((syncrate->sxfr_u2 & ST_SXFR) != 0)
+			if ((syncrate->sxfr_u2 & ST_SXFR) != 0)
 				*ppr_options &= ~MSG_EXT_PPR_DT_REQ;
 			break;
 		}
diff --git a/drivers/scsi/bfa/bfad_attr.c b/drivers/scsi/bfa/bfad_attr.c
index 26b0fa4..3b84290 100644
--- a/drivers/scsi/bfa/bfad_attr.c
+++ b/drivers/scsi/bfa/bfad_attr.c
@@ -283,8 +283,10 @@
 	rc = bfa_port_get_stats(BFA_FCPORT(&bfad->bfa),
 				fcstats, bfad_hcb_comp, &fcomp);
 	spin_unlock_irqrestore(&bfad->bfad_lock, flags);
-	if (rc != BFA_STATUS_OK)
+	if (rc != BFA_STATUS_OK) {
+		kfree(fcstats);
 		return NULL;
+	}
 
 	wait_for_completion(&fcomp.comp);
 
diff --git a/drivers/scsi/bnx2i/bnx2i_iscsi.c b/drivers/scsi/bnx2i/bnx2i_iscsi.c
index de0a507..718a033 100644
--- a/drivers/scsi/bnx2i/bnx2i_iscsi.c
+++ b/drivers/scsi/bnx2i/bnx2i_iscsi.c
@@ -915,12 +915,12 @@
 	INIT_LIST_HEAD(&hba->ep_ofld_list);
 	INIT_LIST_HEAD(&hba->ep_active_list);
 	INIT_LIST_HEAD(&hba->ep_destroy_list);
-	pci_dev_put(hba->pcidev);
 
 	if (hba->regview) {
 		pci_iounmap(hba->pcidev, hba->regview);
 		hba->regview = NULL;
 	}
+	pci_dev_put(hba->pcidev);
 	bnx2i_free_mp_bdt(hba);
 	bnx2i_release_free_cid_que(hba);
 	iscsi_host_free(shost);
diff --git a/drivers/scsi/csiostor/csio_scsi.c b/drivers/scsi/csiostor/csio_scsi.c
index e09c7f3..0cb5857 100644
--- a/drivers/scsi/csiostor/csio_scsi.c
+++ b/drivers/scsi/csiostor/csio_scsi.c
@@ -1383,7 +1383,7 @@
 		return -EINVAL;
 
 	/* Delete NPIV lnodes */
-	 csio_lnodes_exit(hw, 1);
+	csio_lnodes_exit(hw, 1);
 
 	/* Block upper IOs */
 	csio_lnodes_block_request(hw);
diff --git a/drivers/scsi/cxgbi/libcxgbi.c b/drivers/scsi/cxgbi/libcxgbi.c
index cd2c247..559d8bd 100644
--- a/drivers/scsi/cxgbi/libcxgbi.c
+++ b/drivers/scsi/cxgbi/libcxgbi.c
@@ -121,7 +121,8 @@
 		"cdev 0x%p, p# %u.\n", cdev, cdev->nports);
 	cxgbi_hbas_remove(cdev);
 	cxgbi_device_portmap_cleanup(cdev);
-	cxgbi_ppm_release(cdev->cdev2ppm(cdev));
+	if (cdev->cdev2ppm)
+		cxgbi_ppm_release(cdev->cdev2ppm(cdev));
 	if (cdev->pmap.max_connect)
 		cxgbi_free_big_mem(cdev->pmap.port_csk);
 	kfree(cdev);
diff --git a/drivers/scsi/esas2r/esas2r_flash.c b/drivers/scsi/esas2r/esas2r_flash.c
index 7bd376d..b02ac38 100644
--- a/drivers/scsi/esas2r/esas2r_flash.c
+++ b/drivers/scsi/esas2r/esas2r_flash.c
@@ -1197,6 +1197,7 @@
 	if (!esas2r_read_flash_block(a, a->nvram, FLS_OFFSET_NVR,
 				     sizeof(struct esas2r_sas_nvram))) {
 		esas2r_hdebug("NVRAM read failed, using defaults");
+		up(&a->nvram_semaphore);
 		return false;
 	}
 
diff --git a/drivers/scsi/fnic/fnic_isr.c b/drivers/scsi/fnic/fnic_isr.c
index 4e3a502..d280882 100644
--- a/drivers/scsi/fnic/fnic_isr.c
+++ b/drivers/scsi/fnic/fnic_isr.c
@@ -254,7 +254,7 @@
 		int vecs = n + m + o + 1;
 
 		if (pci_alloc_irq_vectors(fnic->pdev, vecs, vecs,
-				PCI_IRQ_MSIX) < 0) {
+				PCI_IRQ_MSIX) == vecs) {
 			fnic->rq_count = n;
 			fnic->raw_wq_count = m;
 			fnic->wq_copy_count = o;
@@ -280,7 +280,7 @@
 	    fnic->wq_copy_count >= 1 &&
 	    fnic->cq_count >= 3 &&
 	    fnic->intr_count >= 1 &&
-	    pci_alloc_irq_vectors(fnic->pdev, 1, 1, PCI_IRQ_MSI) < 0) {
+	    pci_alloc_irq_vectors(fnic->pdev, 1, 1, PCI_IRQ_MSI) == 1) {
 		fnic->rq_count = 1;
 		fnic->raw_wq_count = 1;
 		fnic->wq_copy_count = 1;
diff --git a/drivers/scsi/fnic/fnic_scsi.c b/drivers/scsi/fnic/fnic_scsi.c
index 8cbd3c9..73ffc16 100644
--- a/drivers/scsi/fnic/fnic_scsi.c
+++ b/drivers/scsi/fnic/fnic_scsi.c
@@ -446,6 +446,9 @@
 	if (unlikely(fnic_chk_state_flags_locked(fnic, FNIC_FLAGS_IO_BLOCKED)))
 		return SCSI_MLQUEUE_HOST_BUSY;
 
+	if (unlikely(fnic_chk_state_flags_locked(fnic, FNIC_FLAGS_FWRESET)))
+		return SCSI_MLQUEUE_HOST_BUSY;
+
 	rport = starget_to_rport(scsi_target(sc->device));
 	if (!rport) {
 		FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host,
diff --git a/drivers/scsi/fnic/vnic_dev.c b/drivers/scsi/fnic/vnic_dev.c
index ba69d61..c5b89a0 100644
--- a/drivers/scsi/fnic/vnic_dev.c
+++ b/drivers/scsi/fnic/vnic_dev.c
@@ -445,26 +445,26 @@
 
 int vnic_dev_hang_notify(struct vnic_dev *vdev)
 {
-	u64 a0, a1;
+	u64 a0 = 0, a1 = 0;
 	int wait = 1000;
 	return vnic_dev_cmd(vdev, CMD_HANG_NOTIFY, &a0, &a1, wait);
 }
 
 int vnic_dev_mac_addr(struct vnic_dev *vdev, u8 *mac_addr)
 {
-	u64 a0, a1;
+	u64 a[2] = {};
 	int wait = 1000;
 	int err, i;
 
 	for (i = 0; i < ETH_ALEN; i++)
 		mac_addr[i] = 0;
 
-	err = vnic_dev_cmd(vdev, CMD_MAC_ADDR, &a0, &a1, wait);
+	err = vnic_dev_cmd(vdev, CMD_MAC_ADDR, &a[0], &a[1], wait);
 	if (err)
 		return err;
 
 	for (i = 0; i < ETH_ALEN; i++)
-		mac_addr[i] = ((u8 *)&a0)[i];
+		mac_addr[i] = ((u8 *)&a)[i];
 
 	return 0;
 }
@@ -489,30 +489,30 @@
 
 void vnic_dev_add_addr(struct vnic_dev *vdev, u8 *addr)
 {
-	u64 a0 = 0, a1 = 0;
+	u64 a[2] = {};
 	int wait = 1000;
 	int err;
 	int i;
 
 	for (i = 0; i < ETH_ALEN; i++)
-		((u8 *)&a0)[i] = addr[i];
+		((u8 *)&a)[i] = addr[i];
 
-	err = vnic_dev_cmd(vdev, CMD_ADDR_ADD, &a0, &a1, wait);
+	err = vnic_dev_cmd(vdev, CMD_ADDR_ADD, &a[0], &a[1], wait);
 	if (err)
 		pr_err("Can't add addr [%pM], %d\n", addr, err);
 }
 
 void vnic_dev_del_addr(struct vnic_dev *vdev, u8 *addr)
 {
-	u64 a0 = 0, a1 = 0;
+	u64 a[2] = {};
 	int wait = 1000;
 	int err;
 	int i;
 
 	for (i = 0; i < ETH_ALEN; i++)
-		((u8 *)&a0)[i] = addr[i];
+		((u8 *)&a)[i] = addr[i];
 
-	err = vnic_dev_cmd(vdev, CMD_ADDR_DEL, &a0, &a1, wait);
+	err = vnic_dev_cmd(vdev, CMD_ADDR_DEL, &a[0], &a[1], wait);
 	if (err)
 		pr_err("Can't del addr [%pM], %d\n", addr, err);
 }
diff --git a/drivers/scsi/iscsi_tcp.c b/drivers/scsi/iscsi_tcp.c
index 55181d2..7212e3a 100644
--- a/drivers/scsi/iscsi_tcp.c
+++ b/drivers/scsi/iscsi_tcp.c
@@ -892,6 +892,10 @@
 static void iscsi_sw_tcp_session_destroy(struct iscsi_cls_session *cls_session)
 {
 	struct Scsi_Host *shost = iscsi_session_to_shost(cls_session);
+	struct iscsi_session *session = cls_session->dd_data;
+
+	if (WARN_ON_ONCE(session->leadconn))
+		return;
 
 	iscsi_tcp_r2tpool_free(cls_session->dd_data);
 	iscsi_session_teardown(cls_session);
diff --git a/drivers/scsi/libfc/fc_exch.c b/drivers/scsi/libfc/fc_exch.c
index 42bcf7f..6ba257c 100644
--- a/drivers/scsi/libfc/fc_exch.c
+++ b/drivers/scsi/libfc/fc_exch.c
@@ -2603,7 +2603,7 @@
 
 	/* lport lock ? */
 	if (!lport || lport->state == LPORT_ST_DISABLED) {
-		FC_LPORT_DBG(lport, "Receiving frames for an lport that "
+		FC_LIBFC_DBG("Receiving frames for an lport that "
 			     "has not been initialized correctly\n");
 		fc_frame_free(fp);
 		return;
diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c b/drivers/scsi/megaraid/megaraid_sas_base.c
index 2f31d26..21f9714 100644
--- a/drivers/scsi/megaraid/megaraid_sas_base.c
+++ b/drivers/scsi/megaraid/megaraid_sas_base.c
@@ -3894,12 +3894,12 @@
 		/*
 		 * The cur_state should not last for more than max_wait secs
 		 */
-		for (i = 0; i < max_wait; i++) {
+		for (i = 0; i < max_wait * 50; i++) {
 			curr_abs_state = instance->instancet->
 				read_fw_status_reg(instance->reg_set);
 
 			if (abs_state == curr_abs_state) {
-				msleep(1000);
+				msleep(20);
 			} else
 				break;
 		}
@@ -4177,7 +4177,8 @@
 	if (instance->adapter_type == MFI_SERIES)
 		return KILL_ADAPTER;
 	else if (instance->unload ||
-			test_bit(MEGASAS_FUSION_IN_RESET, &instance->reset_flags))
+			test_bit(MEGASAS_FUSION_OCR_NOT_POSSIBLE,
+				 &instance->reset_flags))
 		return IGNORE_TIMEOUT;
 	else
 		return INITIATE_OCR;
diff --git a/drivers/scsi/megaraid/megaraid_sas_fusion.c b/drivers/scsi/megaraid/megaraid_sas_fusion.c
index f45c54f..81bd824 100644
--- a/drivers/scsi/megaraid/megaraid_sas_fusion.c
+++ b/drivers/scsi/megaraid/megaraid_sas_fusion.c
@@ -530,7 +530,8 @@
 
 	fusion->io_request_frames =
 			dma_pool_alloc(fusion->io_request_frames_pool,
-				GFP_KERNEL, &fusion->io_request_frames_phys);
+				GFP_KERNEL | __GFP_NOWARN,
+				&fusion->io_request_frames_phys);
 	if (!fusion->io_request_frames) {
 		if (instance->max_fw_cmds >= (MEGASAS_REDUCE_QD_COUNT * 2)) {
 			instance->max_fw_cmds -= MEGASAS_REDUCE_QD_COUNT;
@@ -568,7 +569,7 @@
 
 		fusion->io_request_frames =
 			dma_pool_alloc(fusion->io_request_frames_pool,
-				       GFP_KERNEL,
+				       GFP_KERNEL | __GFP_NOWARN,
 				       &fusion->io_request_frames_phys);
 
 		if (!fusion->io_request_frames) {
@@ -4558,6 +4559,7 @@
 	if (instance->requestorId && !instance->skip_heartbeat_timer_del)
 		del_timer_sync(&instance->sriov_heartbeat_timer);
 	set_bit(MEGASAS_FUSION_IN_RESET, &instance->reset_flags);
+	set_bit(MEGASAS_FUSION_OCR_NOT_POSSIBLE, &instance->reset_flags);
 	atomic_set(&instance->adprecovery, MEGASAS_ADPRESET_SM_POLLING);
 	instance->instancet->disable_intr(instance);
 	megasas_sync_irqs((unsigned long)instance);
@@ -4747,7 +4749,7 @@
 		atomic_set(&instance->adprecovery, MEGASAS_HBA_OPERATIONAL);
 	}
 out:
-	clear_bit(MEGASAS_FUSION_IN_RESET, &instance->reset_flags);
+	clear_bit(MEGASAS_FUSION_OCR_NOT_POSSIBLE, &instance->reset_flags);
 	mutex_unlock(&instance->reset_mutex);
 	return retval;
 }
diff --git a/drivers/scsi/megaraid/megaraid_sas_fusion.h b/drivers/scsi/megaraid/megaraid_sas_fusion.h
index 8e5ebee..df7bbd0 100644
--- a/drivers/scsi/megaraid/megaraid_sas_fusion.h
+++ b/drivers/scsi/megaraid/megaraid_sas_fusion.h
@@ -102,6 +102,7 @@
 
 #define MEGASAS_FP_CMD_LEN	16
 #define MEGASAS_FUSION_IN_RESET 0
+#define MEGASAS_FUSION_OCR_NOT_POSSIBLE 1
 #define THRESHOLD_REPLY_COUNT 50
 #define RAID_1_PEER_CMDS 2
 #define JBOD_MAPS_COUNT	2
diff --git a/drivers/scsi/pm8001/pm8001_sas.c b/drivers/scsi/pm8001/pm8001_sas.c
index 59feda2..5be4212 100644
--- a/drivers/scsi/pm8001/pm8001_sas.c
+++ b/drivers/scsi/pm8001/pm8001_sas.c
@@ -866,6 +866,8 @@
 			spin_unlock_irqrestore(&pm8001_ha->lock, flags);
 			pm8001_exec_internal_task_abort(pm8001_ha, pm8001_dev ,
 				dev, 1, 0);
+			while (pm8001_dev->running_req)
+				msleep(20);
 			spin_lock_irqsave(&pm8001_ha->lock, flags);
 		}
 		PM8001_CHIP_DISP->dereg_dev_req(pm8001_ha, device_id);
@@ -1238,8 +1240,10 @@
 			PM8001_MSG_DBG(pm8001_ha,
 				pm8001_printk("Waiting for Port reset\n"));
 			wait_for_completion(&completion_reset);
-			if (phy->port_reset_status)
+			if (phy->port_reset_status) {
+				pm8001_dev_gone_notify(dev);
 				goto out;
+			}
 
 			/*
 			 * 4. SATA Abort ALL
diff --git a/drivers/scsi/pm8001/pm80xx_hwi.c b/drivers/scsi/pm8001/pm80xx_hwi.c
index 8627feb..c63b5db 100644
--- a/drivers/scsi/pm8001/pm80xx_hwi.c
+++ b/drivers/scsi/pm8001/pm80xx_hwi.c
@@ -604,7 +604,7 @@
 		pm8001_ha->main_cfg_tbl.pm80xx_tbl.port_recovery_timer &=
 					0x0000ffff;
 		pm8001_ha->main_cfg_tbl.pm80xx_tbl.port_recovery_timer |=
-					0x140000;
+					CHIP_8006_PORT_RECOVERY_TIMEOUT;
 	}
 	pm8001_mw32(address, MAIN_PORT_RECOVERY_TIMER,
 			pm8001_ha->main_cfg_tbl.pm80xx_tbl.port_recovery_timer);
diff --git a/drivers/scsi/pm8001/pm80xx_hwi.h b/drivers/scsi/pm8001/pm80xx_hwi.h
index 7dd2699..bbe1747 100644
--- a/drivers/scsi/pm8001/pm80xx_hwi.h
+++ b/drivers/scsi/pm8001/pm80xx_hwi.h
@@ -228,6 +228,8 @@
 #define SAS_MAX_AIP                     0x200000
 #define IT_NEXUS_TIMEOUT       0x7D0
 #define PORT_RECOVERY_TIMEOUT  ((IT_NEXUS_TIMEOUT/100) + 30)
+/* Port recovery timeout, 10000 ms for PM8006 controller */
+#define CHIP_8006_PORT_RECOVERY_TIMEOUT 0x640000
 
 #ifdef __LITTLE_ENDIAN_BITFIELD
 struct sas_identify_frame_local {
diff --git a/drivers/scsi/qla2xxx/qla_dbg.c b/drivers/scsi/qla2xxx/qla_dbg.c
index c7533fa..3687176 100644
--- a/drivers/scsi/qla2xxx/qla_dbg.c
+++ b/drivers/scsi/qla2xxx/qla_dbg.c
@@ -2520,12 +2520,6 @@
 /*                         Driver Debug Functions.                          */
 /****************************************************************************/
 
-static inline int
-ql_mask_match(uint32_t level)
-{
-	return (level & ql2xextended_error_logging) == level;
-}
-
 /*
  * This function is for formatting and logging debug information.
  * It is to be used when vha is available. It formats the message
diff --git a/drivers/scsi/qla2xxx/qla_dbg.h b/drivers/scsi/qla2xxx/qla_dbg.h
index 8877aa9..ceca6dd 100644
--- a/drivers/scsi/qla2xxx/qla_dbg.h
+++ b/drivers/scsi/qla2xxx/qla_dbg.h
@@ -374,3 +374,9 @@
 extern void qla24xx_pause_risc(struct device_reg_24xx __iomem *,
 	struct qla_hw_data *);
 extern int qla24xx_soft_reset(struct qla_hw_data *);
+
+static inline int
+ql_mask_match(uint level)
+{
+	return (level & ql2xextended_error_logging) == level;
+}
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
index 851f75b..f45759b 100644
--- a/drivers/scsi/qla2xxx/qla_init.c
+++ b/drivers/scsi/qla2xxx/qla_init.c
@@ -5710,8 +5710,7 @@
 		if (test_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags))
 			break;
 
-		if ((fcport->flags & FCF_FABRIC_DEVICE) == 0 ||
-		    (fcport->flags & FCF_LOGIN_NEEDED) == 0)
+		if ((fcport->flags & FCF_FABRIC_DEVICE) == 0)
 			continue;
 
 		if (fcport->scan_state == QLA_FCPORT_SCAN) {
@@ -5734,7 +5733,8 @@
 			}
 		}
 
-		if (fcport->scan_state == QLA_FCPORT_FOUND)
+		if (fcport->scan_state == QLA_FCPORT_FOUND &&
+		    (fcport->flags & FCF_LOGIN_NEEDED) != 0)
 			qla24xx_fcport_handle_login(vha, fcport);
 	}
 	return (rval);
diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c
index e6d1629..f9b3151 100644
--- a/drivers/scsi/qla2xxx/qla_isr.c
+++ b/drivers/scsi/qla2xxx/qla_isr.c
@@ -1876,6 +1876,18 @@
 		inbuf = (uint32_t *)&sts->nvme_ersp_data;
 		outbuf = (uint32_t *)fd->rspaddr;
 		iocb->u.nvme.rsp_pyld_len = le16_to_cpu(sts->nvme_rsp_pyld_len);
+		if (unlikely(iocb->u.nvme.rsp_pyld_len >
+		    sizeof(struct nvme_fc_ersp_iu))) {
+			if (ql_mask_match(ql_dbg_io)) {
+				WARN_ONCE(1, "Unexpected response payload length %u.\n",
+				    iocb->u.nvme.rsp_pyld_len);
+				ql_log(ql_log_warn, fcport->vha, 0x5100,
+				    "Unexpected response payload length %u.\n",
+				    iocb->u.nvme.rsp_pyld_len);
+			}
+			iocb->u.nvme.rsp_pyld_len =
+			    sizeof(struct nvme_fc_ersp_iu);
+		}
 		iter = iocb->u.nvme.rsp_pyld_len >> 2;
 		for (; iter; iter--)
 			*outbuf++ = swab32(*inbuf++);
@@ -3573,7 +3585,7 @@
 skip_msix:
 
 	ql_log(ql_log_info, vha, 0x0037,
-	    "Falling back-to MSI mode -%d.\n", ret);
+	    "Falling back-to MSI mode -- ret=%d.\n", ret);
 
 	if (!IS_QLA24XX(ha) && !IS_QLA2532(ha) && !IS_QLA8432(ha) &&
 	    !IS_QLA8001(ha) && !IS_P3P_TYPE(ha) && !IS_QLAFX00(ha) &&
@@ -3581,13 +3593,13 @@
 		goto skip_msi;
 
 	ret = pci_alloc_irq_vectors(ha->pdev, 1, 1, PCI_IRQ_MSI);
-	if (!ret) {
+	if (ret > 0) {
 		ql_dbg(ql_dbg_init, vha, 0x0038,
 		    "MSI: Enabled.\n");
 		ha->flags.msi_enabled = 1;
 	} else
 		ql_log(ql_log_warn, vha, 0x0039,
-		    "Falling back-to INTa mode -- %d.\n", ret);
+		    "Falling back-to INTa mode -- ret=%d.\n", ret);
 skip_msi:
 
 	/* Skip INTx on ISP82xx. */
diff --git a/drivers/scsi/qla2xxx/qla_mbx.c b/drivers/scsi/qla2xxx/qla_mbx.c
index abef3b2..bef9fae 100644
--- a/drivers/scsi/qla2xxx/qla_mbx.c
+++ b/drivers/scsi/qla2xxx/qla_mbx.c
@@ -5994,9 +5994,8 @@
 	mcp->mb[7] = LSW(MSD(req_dma));
 	mcp->mb[8] = MSW(addr);
 	/* Setting RAM ID to valid */
-	mcp->mb[10] |= BIT_7;
 	/* For MCTP RAM ID is 0x40 */
-	mcp->mb[10] |= 0x40;
+	mcp->mb[10] = BIT_7 | 0x40;
 
 	mcp->out_mb |= MBX_10|MBX_8|MBX_7|MBX_6|MBX_5|MBX_4|MBX_3|MBX_2|MBX_1|
 	    MBX_0;
diff --git a/drivers/scsi/qla2xxx/qla_nx.c b/drivers/scsi/qla2xxx/qla_nx.c
index de2bc78..3007eecf 100644
--- a/drivers/scsi/qla2xxx/qla_nx.c
+++ b/drivers/scsi/qla2xxx/qla_nx.c
@@ -1605,8 +1605,7 @@
 	return (u8 *)&ha->hablob->fw->data[offset];
 }
 
-static __le32
-qla82xx_get_fw_size(struct qla_hw_data *ha)
+static u32 qla82xx_get_fw_size(struct qla_hw_data *ha)
 {
 	struct qla82xx_uri_data_desc *uri_desc = NULL;
 
@@ -1617,7 +1616,7 @@
 			return cpu_to_le32(uri_desc->size);
 	}
 
-	return cpu_to_le32(*(u32 *)&ha->hablob->fw->data[FW_SIZE_OFFSET]);
+	return get_unaligned_le32(&ha->hablob->fw->data[FW_SIZE_OFFSET]);
 }
 
 static u8 *
@@ -1808,7 +1807,7 @@
 	}
 
 	flashaddr = FLASH_ADDR_START;
-	size = (__force u32)qla82xx_get_fw_size(ha) / 8;
+	size = qla82xx_get_fw_size(ha) / 8;
 	ptr64 = (u64 *)qla82xx_get_fw_offs(ha);
 
 	for (i = 0; i < size; i++) {
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
index bb20a4a..fff20a3 100644
--- a/drivers/scsi/qla2xxx/qla_os.c
+++ b/drivers/scsi/qla2xxx/qla_os.c
@@ -6967,8 +6967,7 @@
 	/* Initialize target kmem_cache and mem_pools */
 	ret = qlt_init();
 	if (ret < 0) {
-		kmem_cache_destroy(srb_cachep);
-		return ret;
+		goto destroy_cache;
 	} else if (ret > 0) {
 		/*
 		 * If initiator mode is explictly disabled by qlt_init(),
@@ -6989,11 +6988,10 @@
 	qla2xxx_transport_template =
 	    fc_attach_transport(&qla2xxx_transport_functions);
 	if (!qla2xxx_transport_template) {
-		kmem_cache_destroy(srb_cachep);
 		ql_log(ql_log_fatal, NULL, 0x0002,
 		    "fc_attach_transport failed...Failing load!.\n");
-		qlt_exit();
-		return -ENODEV;
+		ret = -ENODEV;
+		goto qlt_exit;
 	}
 
 	apidev_major = register_chrdev(0, QLA2XXX_APIDEV, &apidev_fops);
@@ -7005,27 +7003,37 @@
 	qla2xxx_transport_vport_template =
 	    fc_attach_transport(&qla2xxx_transport_vport_functions);
 	if (!qla2xxx_transport_vport_template) {
-		kmem_cache_destroy(srb_cachep);
-		qlt_exit();
-		fc_release_transport(qla2xxx_transport_template);
 		ql_log(ql_log_fatal, NULL, 0x0004,
 		    "fc_attach_transport vport failed...Failing load!.\n");
-		return -ENODEV;
+		ret = -ENODEV;
+		goto unreg_chrdev;
 	}
 	ql_log(ql_log_info, NULL, 0x0005,
 	    "QLogic Fibre Channel HBA Driver: %s.\n",
 	    qla2x00_version_str);
 	ret = pci_register_driver(&qla2xxx_pci_driver);
 	if (ret) {
-		kmem_cache_destroy(srb_cachep);
-		qlt_exit();
-		fc_release_transport(qla2xxx_transport_template);
-		fc_release_transport(qla2xxx_transport_vport_template);
 		ql_log(ql_log_fatal, NULL, 0x0006,
 		    "pci_register_driver failed...ret=%d Failing load!.\n",
 		    ret);
+		goto release_vport_transport;
 	}
 	return ret;
+
+release_vport_transport:
+	fc_release_transport(qla2xxx_transport_vport_template);
+
+unreg_chrdev:
+	if (apidev_major >= 0)
+		unregister_chrdev(apidev_major, QLA2XXX_APIDEV);
+	fc_release_transport(qla2xxx_transport_template);
+
+qlt_exit:
+	qlt_exit();
+
+destroy_cache:
+	kmem_cache_destroy(srb_cachep);
+	return ret;
 }
 
 /**
diff --git a/drivers/scsi/qla2xxx/qla_target.c b/drivers/scsi/qla2xxx/qla_target.c
index e954541..95206e2 100644
--- a/drivers/scsi/qla2xxx/qla_target.c
+++ b/drivers/scsi/qla2xxx/qla_target.c
@@ -2233,14 +2233,14 @@
 		ctio->u.status1.scsi_status |=
 		    cpu_to_le16(SS_RESIDUAL_UNDER);
 
-	/* Response code and sense key */
-	put_unaligned_le32(((0x70 << 24) | (sense_key << 8)),
-	    (&ctio->u.status1.sense_data)[0]);
+	/* Fixed format sense data. */
+	ctio->u.status1.sense_data[0] = 0x70;
+	ctio->u.status1.sense_data[2] = sense_key;
 	/* Additional sense length */
-	put_unaligned_le32(0x0a, (&ctio->u.status1.sense_data)[1]);
+	ctio->u.status1.sense_data[7] = 0xa;
 	/* ASC and ASCQ */
-	put_unaligned_le32(((asc << 24) | (ascq << 16)),
-	    (&ctio->u.status1.sense_data)[3]);
+	ctio->u.status1.sense_data[12] = asc;
+	ctio->u.status1.sense_data[13] = ascq;
 
 	/* Memory Barrier */
 	wmb();
@@ -2290,7 +2290,7 @@
 		    mcmd->orig_iocb.imm_ntfy.u.isp24.status_subcode ==
 		    ELS_TPRLO) {
 			ql_dbg(ql_dbg_disc, vha, 0x2106,
-			    "TM response logo %phC status %#x state %#x",
+			    "TM response logo %8phC status %#x state %#x",
 			    mcmd->sess->port_name, mcmd->fc_tm_rsp,
 			    mcmd->flags);
 			qlt_schedule_sess_for_deletion(mcmd->sess);
@@ -5334,11 +5334,7 @@
 	se_sess = sess->se_sess;
 
 	tag = sbitmap_queue_get(&se_sess->sess_tag_pool, &cpu);
-	if (tag < 0)
-		return;
-
-	cmd = &((struct qla_tgt_cmd *)se_sess->sess_cmd_map)[tag];
-	if (!cmd) {
+	if (tag < 0) {
 		ql_dbg(ql_dbg_io, vha, 0x3009,
 			"qla_target(%d): %s: Allocation of cmd failed\n",
 			vha->vp_idx, __func__);
@@ -5353,6 +5349,7 @@
 		return;
 	}
 
+	cmd = &((struct qla_tgt_cmd *)se_sess->sess_cmd_map)[tag];
 	memset(cmd, 0, sizeof(struct qla_tgt_cmd));
 
 	qlt_incr_num_pend_cmds(vha);
diff --git a/drivers/scsi/qla4xxx/ql4_mbx.c b/drivers/scsi/qla4xxx/ql4_mbx.c
index 5d56904..c81de77 100644
--- a/drivers/scsi/qla4xxx/ql4_mbx.c
+++ b/drivers/scsi/qla4xxx/ql4_mbx.c
@@ -640,9 +640,6 @@
 
 	if (qla4xxx_get_ifcb(ha, &mbox_cmd[0], &mbox_sts[0], init_fw_cb_dma) !=
 	    QLA_SUCCESS) {
-		dma_free_coherent(&ha->pdev->dev,
-				  sizeof(struct addr_ctrl_blk),
-				  init_fw_cb, init_fw_cb_dma);
 		goto exit_init_fw_cb;
 	}
 
diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c
index f8acf10..f59b898 100644
--- a/drivers/scsi/qla4xxx/ql4_os.c
+++ b/drivers/scsi/qla4xxx/ql4_os.c
@@ -4146,7 +4146,7 @@
 		dma_free_coherent(&ha->pdev->dev, ha->queues_len, ha->queues,
 				  ha->queues_dma);
 
-	 if (ha->fw_dump)
+	if (ha->fw_dump)
 		vfree(ha->fw_dump);
 
 	ha->queues_len = 0;
diff --git a/drivers/scsi/scsi_trace.c b/drivers/scsi/scsi_trace.c
index 617a607..22472d1 100644
--- a/drivers/scsi/scsi_trace.c
+++ b/drivers/scsi/scsi_trace.c
@@ -21,7 +21,7 @@
 #include <trace/events/scsi.h>
 
 #define SERVICE_ACTION16(cdb) (cdb[1] & 0x1f)
-#define SERVICE_ACTION32(cdb) ((cdb[8] << 8) | cdb[9])
+#define SERVICE_ACTION32(cdb) (get_unaligned_be16(&cdb[8]))
 
 static const char *
 scsi_trace_misc(struct trace_seq *, unsigned char *, int);
@@ -51,17 +51,12 @@
 scsi_trace_rw10(struct trace_seq *p, unsigned char *cdb, int len)
 {
 	const char *ret = trace_seq_buffer_ptr(p);
-	sector_t lba = 0, txlen = 0;
+	u32 lba, txlen;
 
-	lba |= (cdb[2] << 24);
-	lba |= (cdb[3] << 16);
-	lba |= (cdb[4] << 8);
-	lba |=  cdb[5];
-	txlen |= (cdb[7] << 8);
-	txlen |=  cdb[8];
+	lba = get_unaligned_be32(&cdb[2]);
+	txlen = get_unaligned_be16(&cdb[7]);
 
-	trace_seq_printf(p, "lba=%llu txlen=%llu protect=%u",
-			 (unsigned long long)lba, (unsigned long long)txlen,
+	trace_seq_printf(p, "lba=%u txlen=%u protect=%u", lba, txlen,
 			 cdb[1] >> 5);
 
 	if (cdb[0] == WRITE_SAME)
@@ -76,19 +71,12 @@
 scsi_trace_rw12(struct trace_seq *p, unsigned char *cdb, int len)
 {
 	const char *ret = trace_seq_buffer_ptr(p);
-	sector_t lba = 0, txlen = 0;
+	u32 lba, txlen;
 
-	lba |= (cdb[2] << 24);
-	lba |= (cdb[3] << 16);
-	lba |= (cdb[4] << 8);
-	lba |=  cdb[5];
-	txlen |= (cdb[6] << 24);
-	txlen |= (cdb[7] << 16);
-	txlen |= (cdb[8] << 8);
-	txlen |=  cdb[9];
+	lba = get_unaligned_be32(&cdb[2]);
+	txlen = get_unaligned_be32(&cdb[6]);
 
-	trace_seq_printf(p, "lba=%llu txlen=%llu protect=%u",
-			 (unsigned long long)lba, (unsigned long long)txlen,
+	trace_seq_printf(p, "lba=%u txlen=%u protect=%u", lba, txlen,
 			 cdb[1] >> 5);
 	trace_seq_putc(p, 0);
 
@@ -99,23 +87,13 @@
 scsi_trace_rw16(struct trace_seq *p, unsigned char *cdb, int len)
 {
 	const char *ret = trace_seq_buffer_ptr(p);
-	sector_t lba = 0, txlen = 0;
+	u64 lba;
+	u32 txlen;
 
-	lba |= ((u64)cdb[2] << 56);
-	lba |= ((u64)cdb[3] << 48);
-	lba |= ((u64)cdb[4] << 40);
-	lba |= ((u64)cdb[5] << 32);
-	lba |= (cdb[6] << 24);
-	lba |= (cdb[7] << 16);
-	lba |= (cdb[8] << 8);
-	lba |=  cdb[9];
-	txlen |= (cdb[10] << 24);
-	txlen |= (cdb[11] << 16);
-	txlen |= (cdb[12] << 8);
-	txlen |=  cdb[13];
+	lba = get_unaligned_be64(&cdb[2]);
+	txlen = get_unaligned_be32(&cdb[10]);
 
-	trace_seq_printf(p, "lba=%llu txlen=%llu protect=%u",
-			 (unsigned long long)lba, (unsigned long long)txlen,
+	trace_seq_printf(p, "lba=%llu txlen=%u protect=%u", lba, txlen,
 			 cdb[1] >> 5);
 
 	if (cdb[0] == WRITE_SAME_16)
@@ -130,8 +108,8 @@
 scsi_trace_rw32(struct trace_seq *p, unsigned char *cdb, int len)
 {
 	const char *ret = trace_seq_buffer_ptr(p), *cmd;
-	sector_t lba = 0, txlen = 0;
-	u32 ei_lbrt = 0;
+	u64 lba;
+	u32 ei_lbrt, txlen;
 
 	switch (SERVICE_ACTION32(cdb)) {
 	case READ_32:
@@ -151,26 +129,12 @@
 		goto out;
 	}
 
-	lba |= ((u64)cdb[12] << 56);
-	lba |= ((u64)cdb[13] << 48);
-	lba |= ((u64)cdb[14] << 40);
-	lba |= ((u64)cdb[15] << 32);
-	lba |= (cdb[16] << 24);
-	lba |= (cdb[17] << 16);
-	lba |= (cdb[18] << 8);
-	lba |=  cdb[19];
-	ei_lbrt |= (cdb[20] << 24);
-	ei_lbrt |= (cdb[21] << 16);
-	ei_lbrt |= (cdb[22] << 8);
-	ei_lbrt |=  cdb[23];
-	txlen |= (cdb[28] << 24);
-	txlen |= (cdb[29] << 16);
-	txlen |= (cdb[30] << 8);
-	txlen |=  cdb[31];
+	lba = get_unaligned_be64(&cdb[12]);
+	ei_lbrt = get_unaligned_be32(&cdb[20]);
+	txlen = get_unaligned_be32(&cdb[28]);
 
-	trace_seq_printf(p, "%s_32 lba=%llu txlen=%llu protect=%u ei_lbrt=%u",
-			 cmd, (unsigned long long)lba,
-			 (unsigned long long)txlen, cdb[10] >> 5, ei_lbrt);
+	trace_seq_printf(p, "%s_32 lba=%llu txlen=%u protect=%u ei_lbrt=%u",
+			 cmd, lba, txlen, cdb[10] >> 5, ei_lbrt);
 
 	if (SERVICE_ACTION32(cdb) == WRITE_SAME_32)
 		trace_seq_printf(p, " unmap=%u", cdb[10] >> 3 & 1);
@@ -185,7 +149,7 @@
 scsi_trace_unmap(struct trace_seq *p, unsigned char *cdb, int len)
 {
 	const char *ret = trace_seq_buffer_ptr(p);
-	unsigned int regions = cdb[7] << 8 | cdb[8];
+	unsigned int regions = get_unaligned_be16(&cdb[7]);
 
 	trace_seq_printf(p, "regions=%u", (regions - 8) / 16);
 	trace_seq_putc(p, 0);
@@ -197,8 +161,8 @@
 scsi_trace_service_action_in(struct trace_seq *p, unsigned char *cdb, int len)
 {
 	const char *ret = trace_seq_buffer_ptr(p), *cmd;
-	sector_t lba = 0;
-	u32 alloc_len = 0;
+	u64 lba;
+	u32 alloc_len;
 
 	switch (SERVICE_ACTION16(cdb)) {
 	case SAI_READ_CAPACITY_16:
@@ -212,21 +176,10 @@
 		goto out;
 	}
 
-	lba |= ((u64)cdb[2] << 56);
-	lba |= ((u64)cdb[3] << 48);
-	lba |= ((u64)cdb[4] << 40);
-	lba |= ((u64)cdb[5] << 32);
-	lba |= (cdb[6] << 24);
-	lba |= (cdb[7] << 16);
-	lba |= (cdb[8] << 8);
-	lba |=  cdb[9];
-	alloc_len |= (cdb[10] << 24);
-	alloc_len |= (cdb[11] << 16);
-	alloc_len |= (cdb[12] << 8);
-	alloc_len |=  cdb[13];
+	lba = get_unaligned_be64(&cdb[2]);
+	alloc_len = get_unaligned_be32(&cdb[10]);
 
-	trace_seq_printf(p, "%s lba=%llu alloc_len=%u", cmd,
-			 (unsigned long long)lba, alloc_len);
+	trace_seq_printf(p, "%s lba=%llu alloc_len=%u", cmd, lba, alloc_len);
 
 out:
 	trace_seq_putc(p, 0);
diff --git a/drivers/scsi/scsi_transport_iscsi.c b/drivers/scsi/scsi_transport_iscsi.c
index 4d0fc6b..c0fb9e7 100644
--- a/drivers/scsi/scsi_transport_iscsi.c
+++ b/drivers/scsi/scsi_transport_iscsi.c
@@ -37,6 +37,8 @@
 
 #define ISCSI_TRANSPORT_VERSION "2.0-870"
 
+#define ISCSI_SEND_MAX_ALLOWED  10
+
 static int dbg_session;
 module_param_named(debug_session, dbg_session, int,
 		   S_IRUGO | S_IWUSR);
@@ -2943,6 +2945,24 @@
 	return err;
 }
 
+static int iscsi_session_has_conns(int sid)
+{
+	struct iscsi_cls_conn *conn;
+	unsigned long flags;
+	int found = 0;
+
+	spin_lock_irqsave(&connlock, flags);
+	list_for_each_entry(conn, &connlist, conn_list) {
+		if (iscsi_conn_get_sid(conn) == sid) {
+			found = 1;
+			break;
+		}
+	}
+	spin_unlock_irqrestore(&connlock, flags);
+
+	return found;
+}
+
 static int
 iscsi_set_iface_params(struct iscsi_transport *transport,
 		       struct iscsi_uevent *ev, uint32_t len)
@@ -3520,10 +3540,12 @@
 		break;
 	case ISCSI_UEVENT_DESTROY_SESSION:
 		session = iscsi_session_lookup(ev->u.d_session.sid);
-		if (session)
-			transport->destroy_session(session);
-		else
+		if (!session)
 			err = -EINVAL;
+		else if (iscsi_session_has_conns(ev->u.d_session.sid))
+			err = -EBUSY;
+		else
+			transport->destroy_session(session);
 		break;
 	case ISCSI_UEVENT_UNBIND_SESSION:
 		session = iscsi_session_lookup(ev->u.d_session.sid);
@@ -3680,6 +3702,7 @@
 		struct nlmsghdr	*nlh;
 		struct iscsi_uevent *ev;
 		uint32_t group;
+		int retries = ISCSI_SEND_MAX_ALLOWED;
 
 		nlh = nlmsg_hdr(skb);
 		if (nlh->nlmsg_len < sizeof(*nlh) + sizeof(*ev) ||
@@ -3710,6 +3733,10 @@
 				break;
 			err = iscsi_if_send_reply(portid, nlh->nlmsg_type,
 						  ev, sizeof(*ev));
+			if (err == -EAGAIN && --retries < 0) {
+				printk(KERN_WARNING "Send reply failed, error %d\n", err);
+				break;
+			}
 		} while (err < 0 && err != -ECONNREFUSED && err != -ESRCH);
 		skb_pull(skb, rlen);
 	}
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
index 745ebb0..5e1d13c 100644
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@ -1611,20 +1611,30 @@
 static int sd_compat_ioctl(struct block_device *bdev, fmode_t mode,
 			   unsigned int cmd, unsigned long arg)
 {
-	struct scsi_device *sdev = scsi_disk(bdev->bd_disk)->device;
+	struct gendisk *disk = bdev->bd_disk;
+	struct scsi_disk *sdkp = scsi_disk(disk);
+	struct scsi_device *sdev = sdkp->device;
+	void __user *p = compat_ptr(arg);
 	int error;
 
+	error = scsi_verify_blk_ioctl(bdev, cmd);
+	if (error < 0)
+		return error;
+
 	error = scsi_ioctl_block_when_processing_errors(sdev, cmd,
 			(mode & FMODE_NDELAY) != 0);
 	if (error)
 		return error;
+
+	if (is_sed_ioctl(cmd))
+		return sed_ioctl(sdkp->opal_dev, cmd, p);
 	       
 	/* 
 	 * Let the static ioctl translation table take care of it.
 	 */
 	if (!sdev->host->hostt->compat_ioctl)
 		return -ENOIOCTLCMD; 
-	return sdev->host->hostt->compat_ioctl(sdev, cmd, (void __user *)arg);
+	return sdev->host->hostt->compat_ioctl(sdev, cmd, p);
 }
 #endif
 
@@ -1884,9 +1894,13 @@
 		}
 		break;
 	case REQ_OP_ZONE_REPORT:
+		/* To avoid that the block layer performs an incorrect
+		 * bio_advance() call and restart of the remainder of
+		 * incomplete report zone BIOs, always indicate a full
+		 * completion of REQ_OP_ZONE_REPORT.
+		 */
 		if (!result) {
-			good_bytes = scsi_bufflen(SCpnt)
-				- scsi_get_resid(SCpnt);
+			good_bytes = scsi_bufflen(SCpnt);
 			scsi_set_resid(SCpnt, 0);
 		} else {
 			good_bytes = 0;
@@ -2120,8 +2134,10 @@
 	u8 type;
 	int ret = 0;
 
-	if (scsi_device_protection(sdp) == 0 || (buffer[12] & 1) == 0)
+	if (scsi_device_protection(sdp) == 0 || (buffer[12] & 1) == 0) {
+		sdkp->protection_type = 0;
 		return ret;
+	}
 
 	type = ((buffer[12] >> 1) & 7) + 1; /* P_TYPE 0 = Type 1 */
 
diff --git a/drivers/scsi/ufs/ufshcd-crypto-qti.c b/drivers/scsi/ufs/ufshcd-crypto-qti.c
index f3351d0..9e64ec5 100644
--- a/drivers/scsi/ufs/ufshcd-crypto-qti.c
+++ b/drivers/scsi/ufs/ufshcd-crypto-qti.c
@@ -236,8 +236,8 @@
 			hba->crypto_cap_array[cap_idx].sdus_mask * 512;
 	}
 
-	hba->ksm = keyslot_manager_create(ufshcd_num_keyslots(hba), ksm_ops,
-					crypto_modes_supported, hba);
+	hba->ksm = keyslot_manager_create(hba->dev, ufshcd_num_keyslots(hba),
+					  ksm_ops, crypto_modes_supported, hba);
 
 	if (!hba->ksm) {
 		err = -ENOMEM;
diff --git a/drivers/scsi/ufs/ufshcd-crypto.c b/drivers/scsi/ufs/ufshcd-crypto.c
index a72b1ca..3c7bee8 100644
--- a/drivers/scsi/ufs/ufshcd-crypto.c
+++ b/drivers/scsi/ufs/ufshcd-crypto.c
@@ -125,7 +125,6 @@
 	u32 slot_offset = hba->crypto_cfg_register + slot * sizeof(*cfg);
 	int err;
 
-	pm_runtime_get_sync(hba->dev);
 	ufshcd_hold(hba, false);
 
 	if (hba->var->vops->program_key) {
@@ -155,7 +154,6 @@
 	err = 0;
 out:
 	ufshcd_release(hba, false);
-	pm_runtime_put_sync(hba->dev);
 	return err;
 }
 
@@ -337,8 +335,8 @@
 
 	ufshcd_clear_all_keyslots(hba);
 
-	hba->ksm = keyslot_manager_create(ufshcd_num_keyslots(hba), ksm_ops,
-					  crypto_modes_supported, hba);
+	hba->ksm = keyslot_manager_create(hba->dev, ufshcd_num_keyslots(hba),
+					  ksm_ops, crypto_modes_supported, hba);
 
 	if (!hba->ksm) {
 		err = -ENOMEM;
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index b8a11a1..9504ec1 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -942,16 +942,19 @@
 		ufshcd_hex_dump(hba, "UPIU RSP", lrbp->ucd_rsp_ptr,
 				sizeof(struct utp_upiu_rsp));
 
-		prdt_length = le16_to_cpu(
-			lrbp->utr_descriptor_ptr->prd_table_length);
+		prdt_length =
+			le16_to_cpu(lrbp->utr_descriptor_ptr->prd_table_length);
+		if (hba->quirks & UFSHCD_QUIRK_PRDT_BYTE_GRAN)
+			prdt_length /= hba->sg_entry_size;
+
 		dev_err(hba->dev,
 			"UPIU[%d] - PRDT - %d entries  phys@0x%llx\n",
 			tag, prdt_length,
 			(u64)lrbp->ucd_prdt_dma_addr);
 
 		if (pr_prdt)
-			ufshcd_hex_dump(hba, "UPIU PRDT", lrbp->ucd_prdt_ptr,
-				sizeof(struct ufshcd_sg_entry) * prdt_length);
+			ufshcd_hex_dump(hba, "UPIU PRDT: ", lrbp->ucd_prdt_ptr,
+					hba->sg_entry_size * prdt_length);
 	}
 }
 
@@ -3292,7 +3295,7 @@
  */
 static int ufshcd_map_sg(struct ufs_hba *hba, struct ufshcd_lrb *lrbp)
 {
-	struct ufshcd_sg_entry *prd_table;
+	struct ufshcd_sg_entry *prd;
 	struct scatterlist *sg;
 	struct scsi_cmnd *cmd;
 	int sg_segments;
@@ -3307,21 +3310,22 @@
 		if (hba->quirks & UFSHCD_QUIRK_PRDT_BYTE_GRAN)
 			lrbp->utr_descriptor_ptr->prd_table_length =
 				cpu_to_le16((u16)(sg_segments *
-					sizeof(struct ufshcd_sg_entry)));
+						  hba->sg_entry_size));
 		else
 			lrbp->utr_descriptor_ptr->prd_table_length =
 				cpu_to_le16((u16) (sg_segments));
 
-		prd_table = (struct ufshcd_sg_entry *)lrbp->ucd_prdt_ptr;
+		prd = (struct ufshcd_sg_entry *)lrbp->ucd_prdt_ptr;
 
 		scsi_for_each_sg(cmd, sg, sg_segments, i) {
-			prd_table[i].size  =
+			prd->size =
 				cpu_to_le32(((u32) sg_dma_len(sg))-1);
-			prd_table[i].base_addr =
+			prd->base_addr =
 				cpu_to_le32(lower_32_bits(sg->dma_address));
-			prd_table[i].upper_addr =
+			prd->upper_addr =
 				cpu_to_le32(upper_32_bits(sg->dma_address));
-			prd_table[i].reserved = 0;
+			prd->reserved = 0;
+			prd = (void *)prd + hba->sg_entry_size;
 		}
 	} else {
 		lrbp->utr_descriptor_ptr->prd_table_length = 0;
@@ -4720,7 +4724,7 @@
 	size_t utmrdl_size, utrdl_size, ucdl_size;
 
 	/* Allocate memory for UTP command descriptors */
-	ucdl_size = (sizeof(struct utp_transfer_cmd_desc) * hba->nutrs);
+	ucdl_size = (sizeof_utp_transfer_cmd_desc(hba) * hba->nutrs);
 	hba->ucdl_base_addr = dmam_alloc_coherent(hba->dev,
 						  ucdl_size,
 						  &hba->ucdl_dma_addr,
@@ -4816,7 +4820,7 @@
 	prdt_offset =
 		offsetof(struct utp_transfer_cmd_desc, prd_table);
 
-	cmd_desc_size = sizeof(struct utp_transfer_cmd_desc);
+	cmd_desc_size = sizeof_utp_transfer_cmd_desc(hba);
 	cmd_desc_dma_addr = hba->ucdl_dma_addr;
 
 	for (i = 0; i < hba->nutrs; i++) {
@@ -4848,17 +4852,17 @@
 		hba->lrb[i].utr_descriptor_ptr = (utrdlp + i);
 		hba->lrb[i].utrd_dma_addr = hba->utrdl_dma_addr +
 				(i * sizeof(struct utp_transfer_req_desc));
-		hba->lrb[i].ucd_req_ptr =
-			(struct utp_upiu_req *)(cmd_descp + i);
+		hba->lrb[i].ucd_req_ptr = (struct utp_upiu_req *)cmd_descp;
 		hba->lrb[i].ucd_req_dma_addr = cmd_desc_element_addr;
 		hba->lrb[i].ucd_rsp_ptr =
-			(struct utp_upiu_rsp *)cmd_descp[i].response_upiu;
+			(struct utp_upiu_rsp *)cmd_descp->response_upiu;
 		hba->lrb[i].ucd_rsp_dma_addr = cmd_desc_element_addr +
 				response_offset;
 		hba->lrb[i].ucd_prdt_ptr =
-			(struct ufshcd_sg_entry *)cmd_descp[i].prd_table;
+			(struct ufshcd_sg_entry *)cmd_descp->prd_table;
 		hba->lrb[i].ucd_prdt_dma_addr = cmd_desc_element_addr +
 				prdt_offset;
+		cmd_descp = (void *)cmd_descp + cmd_desc_size;
 	}
 }
 
@@ -6767,6 +6771,7 @@
 
 	hba->auto_bkops_enabled = false;
 	trace_ufshcd_auto_bkops_state(dev_name(hba->dev), 0);
+	hba->is_urgent_bkops_lvl_checked = false;
 out:
 	return err;
 }
@@ -6791,6 +6796,7 @@
 		hba->ee_ctrl_mask &= ~MASK_EE_URGENT_BKOPS;
 		ufshcd_disable_auto_bkops(hba);
 	}
+	hba->is_urgent_bkops_lvl_checked = false;
 }
 
 static inline int ufshcd_get_bkops_status(struct ufs_hba *hba, u32 *status)
@@ -6837,6 +6843,7 @@
 		err = ufshcd_enable_auto_bkops(hba);
 	else
 		err = ufshcd_disable_auto_bkops(hba);
+	hba->urgent_bkops_lvl = curr_status;
 out:
 	return err;
 }
@@ -8160,7 +8167,6 @@
 static int ufshcd_reset_and_restore(struct ufs_hba *hba)
 {
 	int err = 0;
-	unsigned long flags;
 	int retries = MAX_HOST_RESET_RETRIES;
 
 	ufshcd_enable_irq(hba);
@@ -8175,15 +8181,6 @@
 	 */
 	BUG_ON(err && ufshcd_is_embedded_dev(hba));
 
-	/*
-	 * After reset the door-bell might be cleared, complete
-	 * outstanding requests in s/w here.
-	 */
-	spin_lock_irqsave(hba->host->host_lock, flags);
-	ufshcd_transfer_req_compl(hba);
-	ufshcd_tmc_handler(hba);
-	spin_unlock_irqrestore(hba->host->host_lock, flags);
-
 	return err;
 }
 
@@ -9134,7 +9131,8 @@
 			hba->dev_info.f_power_on_wp_en = flag;
 
 		/* Add required well known logical units to scsi mid layer */
-		if (ufshcd_scsi_add_wlus(hba))
+		ret = ufshcd_scsi_add_wlus(hba);
+		if (ret)
 			goto out;
 
 		/* lower VCC voltage level */
@@ -10929,6 +10927,7 @@
 	hba->host = host;
 	hba->dev = dev;
 	*hba_handle = hba;
+	hba->sg_entry_size = sizeof(struct ufshcd_sg_entry);
 
 	INIT_LIST_HEAD(&hba->clk_list_head);
 
diff --git a/drivers/scsi/ufs/ufshcd.h b/drivers/scsi/ufs/ufshcd.h
index 8d88011..4d6e66a 100644
--- a/drivers/scsi/ufs/ufshcd.h
+++ b/drivers/scsi/ufs/ufshcd.h
@@ -756,6 +756,7 @@
  * @ufs_version: UFS Version to which controller complies
  * @var: pointer to variant specific data
  * @priv: pointer to variant specific private data
+ * @sg_entry_size: size of struct ufshcd_sg_entry (may include variant fields)
  * @irq: Irq number of the controller
  * @active_uic_cmd: handle of active UIC command
  * @uic_cmd_mutex: mutex for uic command
@@ -776,6 +777,7 @@
  * @uic_error: UFS interconnect layer error status
  * @saved_err: sticky error mask
  * @saved_uic_err: sticky UIC error mask
+ * @silence_err_logs: flag to silence error logs
  * @dev_cmd: ufs device management command information
  * @last_dme_cmd_tstamp: time stamp of the last completed DME command
  * @auto_bkops_enabled: to track whether bkops is enabled in device
@@ -845,6 +847,7 @@
 	struct ufs_hba_variant *var;
 	void *priv;
 	const struct ufs_hba_crypto_variant_ops *crypto_vops;
+	size_t sg_entry_size;
 	unsigned int irq;
 	bool is_irq_enabled;
 	bool crash_on_err;
@@ -988,10 +991,10 @@
 	u32 saved_err;
 	u32 saved_uic_err;
 	u32 saved_ce_err;
-	bool silence_err_logs;
 	bool force_host_reset;
 	bool auto_h8_err;
 	struct ufs_stats ufs_stats;
+	bool silence_err_logs;
 
 	/* Device management request data */
 	struct ufs_dev_cmd dev_cmd;
diff --git a/drivers/scsi/ufs/ufshci.h b/drivers/scsi/ufs/ufshci.h
index 3bf11f7..96408c3 100644
--- a/drivers/scsi/ufs/ufshci.h
+++ b/drivers/scsi/ufs/ufshci.h
@@ -483,21 +483,27 @@
 	__le32    upper_addr;
 	__le32    reserved;
 	__le32    size;
+	/*
+	 * followed by variant-specific fields if
+	 * hba->sg_entry_size != sizeof(struct ufshcd_sg_entry)
+	 */
 };
 
 /**
  * struct utp_transfer_cmd_desc - UFS Command Descriptor structure
  * @command_upiu: Command UPIU Frame address
  * @response_upiu: Response UPIU Frame address
- * @prd_table: Physical Region Descriptor
+ * @prd_table: Physical Region Descriptor: an array of SG_ALL struct
+ *	ufshcd_sg_entry's.  Variant-specific fields may be present after each.
  */
 struct utp_transfer_cmd_desc {
 	u8 command_upiu[ALIGNED_UPIU_SIZE];
 	u8 response_upiu[ALIGNED_UPIU_SIZE];
-	struct ufshcd_sg_entry    prd_table[SG_ALL];
+	u8 prd_table[];
 };
 
-#define UTRD_CRYPTO_ENABLE	UFS_BIT(23)
+#define sizeof_utp_transfer_cmd_desc(hba)	\
+	(sizeof(struct utp_transfer_cmd_desc) + SG_ALL * (hba)->sg_entry_size)
 
 /**
  * struct request_desc_header - Descriptor Header common to both UTRD and UTMRD
diff --git a/drivers/soc/amlogic/meson-gx-pwrc-vpu.c b/drivers/soc/amlogic/meson-gx-pwrc-vpu.c
index 6289965..05421d0 100644
--- a/drivers/soc/amlogic/meson-gx-pwrc-vpu.c
+++ b/drivers/soc/amlogic/meson-gx-pwrc-vpu.c
@@ -54,12 +54,12 @@
 	/* Power Down Memories */
 	for (i = 0; i < 32; i += 2) {
 		regmap_update_bits(pd->regmap_hhi, HHI_VPU_MEM_PD_REG0,
-				   0x2 << i, 0x3 << i);
+				   0x3 << i, 0x3 << i);
 		udelay(5);
 	}
 	for (i = 0; i < 32; i += 2) {
 		regmap_update_bits(pd->regmap_hhi, HHI_VPU_MEM_PD_REG1,
-				   0x2 << i, 0x3 << i);
+				   0x3 << i, 0x3 << i);
 		udelay(5);
 	}
 	for (i = 8; i < 16; i++) {
@@ -108,13 +108,13 @@
 	/* Power Up Memories */
 	for (i = 0; i < 32; i += 2) {
 		regmap_update_bits(pd->regmap_hhi, HHI_VPU_MEM_PD_REG0,
-				   0x2 << i, 0);
+				   0x3 << i, 0);
 		udelay(5);
 	}
 
 	for (i = 0; i < 32; i += 2) {
 		regmap_update_bits(pd->regmap_hhi, HHI_VPU_MEM_PD_REG1,
-				   0x2 << i, 0);
+				   0x3 << i, 0);
 		udelay(5);
 	}
 
diff --git a/drivers/soc/amlogic/meson-gx-socinfo.c b/drivers/soc/amlogic/meson-gx-socinfo.c
index 37ea0a1..1ae339f 100644
--- a/drivers/soc/amlogic/meson-gx-socinfo.c
+++ b/drivers/soc/amlogic/meson-gx-socinfo.c
@@ -43,20 +43,21 @@
 	const char *name;
 	unsigned int major_id;
 	unsigned int pack_id;
+	unsigned int pack_mask;
 } soc_packages[] = {
-	{ "S905", 0x1f, 0 },
-	{ "S905H", 0x1f, 0x13 },
-	{ "S905M", 0x1f, 0x20 },
-	{ "S905D", 0x21, 0 },
-	{ "S905X", 0x21, 0x80 },
-	{ "S905W", 0x21, 0xa0 },
-	{ "S905L", 0x21, 0xc0 },
-	{ "S905M2", 0x21, 0xe0 },
-	{ "S912", 0x22, 0 },
-	{ "962X", 0x24, 0x10 },
-	{ "962E", 0x24, 0x20 },
-	{ "A113X", 0x25, 0x37 },
-	{ "A113D", 0x25, 0x22 },
+	{ "S905", 0x1f, 0, 0x20 }, /* pack_id != 0x20 */
+	{ "S905H", 0x1f, 0x3, 0xf }, /* pack_id & 0xf == 0x3 */
+	{ "S905M", 0x1f, 0x20, 0xf0 }, /* pack_id == 0x20 */
+	{ "S905D", 0x21, 0, 0xf0 },
+	{ "S905X", 0x21, 0x80, 0xf0 },
+	{ "S905W", 0x21, 0xa0, 0xf0 },
+	{ "S905L", 0x21, 0xc0, 0xf0 },
+	{ "S905M2", 0x21, 0xe0, 0xf0 },
+	{ "S912", 0x22, 0, 0x0 }, /* Only S912 is known for GXM */
+	{ "962X", 0x24, 0x10, 0xf0 },
+	{ "962E", 0x24, 0x20, 0xf0 },
+	{ "A113X", 0x25, 0x37, 0xff },
+	{ "A113D", 0x25, 0x22, 0xff },
 };
 
 static inline unsigned int socinfo_to_major(u32 socinfo)
@@ -81,13 +82,14 @@
 
 static const char *socinfo_to_package_id(u32 socinfo)
 {
-	unsigned int pack = socinfo_to_pack(socinfo) & 0xf0;
+	unsigned int pack = socinfo_to_pack(socinfo);
 	unsigned int major = socinfo_to_major(socinfo);
 	int i;
 
 	for (i = 0 ; i < ARRAY_SIZE(soc_packages) ; ++i) {
 		if (soc_packages[i].major_id == major &&
-		    soc_packages[i].pack_id == pack)
+		    soc_packages[i].pack_id ==
+				(pack & soc_packages[i].pack_mask))
 			return soc_packages[i].name;
 	}
 
diff --git a/drivers/soc/fsl/qe/gpio.c b/drivers/soc/fsl/qe/gpio.c
index 819bed0..51b3a47 100644
--- a/drivers/soc/fsl/qe/gpio.c
+++ b/drivers/soc/fsl/qe/gpio.c
@@ -179,8 +179,10 @@
 	if (err < 0)
 		goto err0;
 	gc = gpio_to_chip(err);
-	if (WARN_ON(!gc))
+	if (WARN_ON(!gc)) {
+		err = -ENODEV;
 		goto err0;
+	}
 
 	if (!of_device_is_compatible(gc->of_node, "fsl,mpc8323-qe-pario-bank")) {
 		pr_debug("%s: tried to get a non-qe pin\n", __func__);
diff --git a/drivers/soc/qcom/Kconfig b/drivers/soc/qcom/Kconfig
index 0d74602e..68bcdd7 100644
--- a/drivers/soc/qcom/Kconfig
+++ b/drivers/soc/qcom/Kconfig
@@ -4,7 +4,7 @@
 #
 menu "Qualcomm SoC drivers"
 config QCOM_COMMAND_DB
-	bool "Qualcomm Command DB"
+	tristate "Qualcomm Command DB"
 	depends on ARCH_QCOM || COMPILE_TEST
 	depends on OF_RESERVED_MEM
 	help
@@ -241,7 +241,7 @@
 	  Say y here if you intend to boot the modem remoteproc.
 
 config QCOM_RPMH
-	bool "Qualcomm RPM-Hardened (RPMH) Communication"
+	tristate "Qualcomm RPM-Hardened (RPMH) Communication"
 	depends on ARCH_QCOM && ARM64 && OF || COMPILE_TEST
 	help
 	  Support for communication with the hardened-RPM blocks in
@@ -343,6 +343,15 @@
 	  Client driver for the WCNSS_CTRL SMD channel, used to download nv
 	  firmware to a newly booted WCNSS chip.
 
+config MSM_PIL_MSS_QDSP6V5
+	tristate "MSS QDSP6v5 (Hexagon) Boot Support"
+	depends on MSM_PIL && MSM_SUBSYSTEM_RESTART
+	help
+	 Support for booting and shutting down QDSP6v5 (Hexagon) processors
+	 in modem subsystems. If you would like to make or receive phone
+	 calls then say Y here.
+	 If unsure, say N.
+
 config SETUP_SSR_NOTIF_TIMEOUTS
 	bool "Set timeouts on SSR sysmon notifications and notifier callbacks"
 	help
diff --git a/drivers/soc/qcom/Makefile b/drivers/soc/qcom/Makefile
index f5b2b90..62a34a5 100644
--- a/drivers/soc/qcom/Makefile
+++ b/drivers/soc/qcom/Makefile
@@ -46,6 +46,7 @@
 obj-$(CONFIG_MSM_SERVICE_LOCATOR) += service-locator.o
 obj-$(CONFIG_MSM_SYSMON_GLINK_COMM) += sysmon-glink.o
 obj-$(CONFIG_MSM_SYSMON_QMI_COMM) += sysmon-qmi.o
+obj-$(CONFIG_MSM_PIL_MSS_QDSP6V5) += pil-q6v5.o pil-msa.o pil-q6v5-mss.o
 obj-$(CONFIG_MSM_PIL_SSR_GENERIC) += subsys-pil-tz.o
 obj-$(CONFIG_MEM_SHARE_QMI_SERVICE)		+= memshare/
 obj-$(CONFIG_MSM_PIL)   +=      peripheral-loader.o
diff --git a/drivers/soc/qcom/cmd-db.c b/drivers/soc/qcom/cmd-db.c
index a6532a7..1515e83 100644
--- a/drivers/soc/qcom/cmd-db.c
+++ b/drivers/soc/qcom/cmd-db.c
@@ -2,6 +2,7 @@
 /* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved. */
 
 #include <linux/kernel.h>
+#include <linux/module.h>
 #include <linux/of.h>
 #include <linux/of_address.h>
 #include <linux/of_platform.h>
@@ -399,8 +400,8 @@
 	}
 
 	cmd_db_header = memremap(rmem->base, rmem->size, MEMREMAP_WB);
-	if (IS_ERR_OR_NULL(cmd_db_header)) {
-		ret = PTR_ERR(cmd_db_header);
+	if (!cmd_db_header) {
+		ret = -ENOMEM;
 		cmd_db_header = NULL;
 		return ret;
 	}
@@ -437,3 +438,5 @@
 	return platform_driver_register(&cmd_db_dev_driver);
 }
 arch_initcall(cmd_db_device_init);
+MODULE_DESCRIPTION("Qualcomm Command DB");
+MODULE_LICENSE("GPL v2");
diff --git a/drivers/soc/qcom/cx_ipeak.c b/drivers/soc/qcom/cx_ipeak.c
index 543885b..6693f31 100644
--- a/drivers/soc/qcom/cx_ipeak.c
+++ b/drivers/soc/qcom/cx_ipeak.c
@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2018-2020, The Linux Foundation. All rights reserved.
  */
 
 #include <linux/module.h>
@@ -12,6 +12,7 @@
 #include <linux/of_device.h>
 #include <linux/slab.h>
 #include <linux/err.h>
+#include <linux/interrupt.h>
 
 #include <soc/qcom/cx_ipeak.h>
 
@@ -29,9 +30,13 @@
 
 #define CXIP_CLIENT_OFFSET				0x1000
 #define CXIP_CLIENT10_OFFSET				0x3000
+#define CXIP_VICTIM_OFFSET				0xB000
 
 #define CXIP_POLL_TIMEOUT_US (50 * 1000)
 
+#define CXIP_VICTIMS    3
+#define VICTIM_ENTRIES    3
+
 struct cx_ipeak_client;
 
 struct cx_ipeak_core_ops {
@@ -43,14 +48,27 @@
 	spinlock_t vote_lock;
 	void __iomem *tcsr_vptr;
 	struct cx_ipeak_core_ops *core_ops;
+	u32 victims_count;
+	u32 victims_reg_count;
+	u32 danger_intr_num;
+	u32 safe_intr_num;
 } device_ipeak;
 
 struct cx_ipeak_client {
 	int vote_count;
 	unsigned int offset;
+	int client_id;
 	struct cx_ipeak_device *dev;
 };
 
+static struct cx_ipeak_victims {
+	int client_id;
+	int victim_id;
+	u32 freq_limit;
+	void *data;
+	cx_ipeak_victim_fn victim_cb;
+} victims_ipeak[CXIP_VICTIMS];
+
 /**
  * cx_ipeak_register() - allocate client structure and fill device private and
  *			offset details.
@@ -84,6 +102,9 @@
 	if (device_ipeak.core_ops)
 		client =  device_ipeak.core_ops->register_client
 						(cx_spec.args[0]);
+
+	client->client_id = cx_spec.args[0];
+
 	return client;
 }
 EXPORT_SYMBOL(cx_ipeak_register);
@@ -145,7 +166,57 @@
 	return client;
 }
 
-/*
+/**
+ * cx_ipeak_victim_register - victim registration API to handle
+ * the cx ipeak hw interrupts (danger/safe) to throttle freq.
+ * @client: cx ipeak client
+ * @victim_cb: callback function of victim
+ * @data: data to be passed to victim while handling irq
+ */
+int cx_ipeak_victim_register(struct cx_ipeak_client *client,
+		cx_ipeak_victim_fn victim_cb, void *data)
+{
+	int i = 0;
+
+	if (!victim_cb)
+		return -EINVAL;
+
+	while (i < device_ipeak.victims_count) {
+		if (client->client_id == victims_ipeak[i].client_id) {
+			victims_ipeak[i].victim_cb = victim_cb;
+			victims_ipeak[i].data = data;
+			device_ipeak.victims_reg_count++;
+			break;
+		}
+		i++;
+	}
+	return 0;
+}
+EXPORT_SYMBOL(cx_ipeak_victim_register);
+
+/**
+ * cx_ipeak_victim_unregister - unregister victim client from
+ * cx_ipeak driver.
+ * @client: cx ipeak client
+ */
+
+void cx_ipeak_victim_unregister(struct cx_ipeak_client *client)
+{
+	int i = 0;
+
+	while (i < device_ipeak.victims_count) {
+		if (client->client_id == victims_ipeak[i].client_id) {
+			victims_ipeak[i].victim_cb = NULL;
+			victims_ipeak[i].data = NULL;
+			device_ipeak.victims_reg_count--;
+			break;
+		}
+		i++;
+	}
+}
+EXPORT_SYMBOL(cx_ipeak_victim_unregister);
+
+/**
  * cx_ipeak_update() - Set/Clear client vote for Cx iPeak limit
  * manager to throttle cDSP.
  * @client: client handle.
@@ -258,6 +329,61 @@
 	return ret;
 }
 
+static irqreturn_t cx_ipeak_irq_handler(int irq, void *data)
+{
+	int i;
+	irqreturn_t ret = IRQ_NONE;
+
+	for (i = 0; i < device_ipeak.victims_reg_count; i++) {
+		cx_ipeak_victim_fn victim_cb = victims_ipeak[i].victim_cb;
+
+		if (irq == device_ipeak.danger_intr_num) {
+		/*
+		 * To set frequency limit at victim client
+		 * side in danger interrupt case
+		 */
+			victim_cb(victims_ipeak[i].data,
+				victims_ipeak[i].freq_limit);
+			writel_relaxed(1, (device_ipeak.tcsr_vptr +
+						CXIP_VICTIM_OFFSET +
+						((victims_ipeak[i].victim_id)*
+							 CXIP_CLIENT_OFFSET)));
+			ret = IRQ_HANDLED;
+		} else if (irq == device_ipeak.safe_intr_num) {
+		/*
+		 * To remove frequency limit at victim client
+		 * side in safe interrupt case
+		 */
+			victim_cb(victims_ipeak[i].data, 0);
+			writel_relaxed(0, (device_ipeak.tcsr_vptr +
+						CXIP_VICTIM_OFFSET +
+						((victims_ipeak[i].victim_id)*
+						 CXIP_CLIENT_OFFSET)));
+			ret = IRQ_HANDLED;
+		}
+	}
+
+	return ret;
+}
+
+int cx_ipeak_request_irq(struct platform_device *pdev, const  char *name,
+		irq_handler_t handler, void *data)
+{
+	int ret, num = platform_get_irq_byname(pdev, name);
+
+	if (num < 0)
+		return num;
+
+	ret = devm_request_irq(&pdev->dev, num, handler, IRQF_TRIGGER_RISING,
+				name, data);
+
+	if (ret)
+		dev_err(&pdev->dev, "Unable to get interrupt %s: %d\n",
+				name, ret);
+
+	return ret ? ret : num;
+}
+
 /**
  * cx_ipeak_unregister() - unregister client
  * @client: client address to free
@@ -283,6 +409,9 @@
 static int cx_ipeak_probe(struct platform_device *pdev)
 {
 	struct resource *res;
+	int status = -EINVAL;
+	int i, ret, count;
+	u32 victim_en;
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	device_ipeak.tcsr_vptr = devm_ioremap_resource(&pdev->dev, res);
@@ -297,6 +426,59 @@
 	else
 		device_ipeak.core_ops = NULL;
 
+	victim_en = of_property_read_bool(pdev->dev.of_node,
+			"victims_table");
+
+	if (victim_en) {
+		count = of_property_count_u32_elems(pdev->dev.of_node,
+						"victims_table");
+
+		if (((count%VICTIM_ENTRIES) != 0) ||
+				((count/VICTIM_ENTRIES) > CXIP_VICTIMS))
+			return -EINVAL;
+
+		for (i = 0; i < (count/VICTIM_ENTRIES); i++) {
+			ret = of_property_read_u32_index(pdev->dev.of_node,
+					"victims_table", i*VICTIM_ENTRIES,
+					&victims_ipeak[i].client_id);
+
+			if (ret)
+				return ret;
+
+			ret = of_property_read_u32_index(pdev->dev.of_node,
+					"victims_table", (i*VICTIM_ENTRIES) + 1,
+					&victims_ipeak[i].victim_id);
+
+			if (ret)
+				return ret;
+
+			ret = of_property_read_u32_index(pdev->dev.of_node,
+					"victims_table", (i*VICTIM_ENTRIES) + 2,
+					&victims_ipeak[i].freq_limit);
+
+			if (ret)
+				return ret;
+
+			device_ipeak.victims_count++;
+		}
+
+		status = cx_ipeak_request_irq(pdev, "cx_ipeak_danger",
+				cx_ipeak_irq_handler, NULL);
+
+		if (status < 0)
+			return status;
+
+		device_ipeak.danger_intr_num = status;
+
+		status = cx_ipeak_request_irq(pdev, "cx_ipeak_safe",
+				cx_ipeak_irq_handler, NULL);
+
+		if (status < 0)
+			return status;
+
+		device_ipeak.safe_intr_num = status;
+	}
+
 	spin_lock_init(&device_ipeak.vote_lock);
 	return 0;
 }
diff --git a/drivers/soc/qcom/eud.c b/drivers/soc/qcom/eud.c
index 864bd65..0ee43a8 100644
--- a/drivers/soc/qcom/eud.c
+++ b/drivers/soc/qcom/eud.c
@@ -92,14 +92,6 @@
 static bool eud_ready;
 static struct platform_device *eud_private;
 
-static int check_eud_mode_mgr2(struct eud_chip *chip)
-{
-	u32 val;
-
-	val = scm_io_read(chip->eud_mode_mgr2_phys_base);
-	return val & BIT(0);
-}
-
 static void enable_eud(struct platform_device *pdev)
 {
 	struct eud_chip *priv = platform_get_drvdata(pdev);
@@ -113,7 +105,7 @@
 			priv->eud_reg_base + EUD_REG_INT1_EN_MASK);
 
 	/* Enable secure eud if supported */
-	if (priv->secure_eud_en && !check_eud_mode_mgr2(priv)) {
+	if (priv->secure_eud_en) {
 		ret = scm_io_write(priv->eud_mode_mgr2_phys_base +
 				   EUD_REG_EUD_EN2, EUD_ENABLE_CMD);
 		if (ret)
@@ -572,9 +564,6 @@
 		}
 
 		chip->eud_mode_mgr2_phys_base = res->start;
-
-		if (check_eud_mode_mgr2(chip))
-			enable = 1;
 	}
 
 	chip->need_phy_clk_vote = of_property_read_bool(pdev->dev.of_node,
diff --git a/drivers/soc/qcom/icnss2/main.c b/drivers/soc/qcom/icnss2/main.c
index b869497..d32c795 100644
--- a/drivers/soc/qcom/icnss2/main.c
+++ b/drivers/soc/qcom/icnss2/main.c
@@ -177,6 +177,20 @@
 	return "UNKNOWN";
 };
 
+char *icnss_soc_wake_event_to_str(enum icnss_soc_wake_event_type type)
+{
+	switch (type) {
+	case ICNSS_SOC_WAKE_REQUEST_EVENT:
+		return "SOC_WAKE_REQUEST";
+	case ICNSS_SOC_WAKE_RELEASE_EVENT:
+		return "SOC_WAKE_RELEASE";
+	case ICNSS_SOC_WAKE_EVENT_MAX:
+		return "SOC_EVENT_MAX";
+	}
+
+	return "UNKNOWN";
+};
+
 int icnss_driver_event_post(struct icnss_priv *priv,
 			    enum icnss_driver_event_type type,
 			    u32 flags, void *data)
@@ -249,6 +263,78 @@
 	return ret;
 }
 
+int icnss_soc_wake_event_post(struct icnss_priv *priv,
+			      enum icnss_soc_wake_event_type type,
+			      u32 flags, void *data)
+{
+	struct icnss_soc_wake_event *event;
+	unsigned long irq_flags;
+	int gfp = GFP_KERNEL;
+	int ret = 0;
+
+	if (!priv)
+		return -ENODEV;
+
+	icnss_pr_dbg("Posting event: %s(%d), %s, flags: 0x%x, state: 0x%lx\n",
+		     icnss_soc_wake_event_to_str(type), type, current->comm,
+		     flags, priv->state);
+
+	if (type >= ICNSS_SOC_WAKE_EVENT_MAX) {
+		icnss_pr_err("Invalid Event type: %d, can't post", type);
+		return -EINVAL;
+	}
+
+	if (in_interrupt() || irqs_disabled())
+		gfp = GFP_ATOMIC;
+
+	event = kzalloc(sizeof(*event), gfp);
+	if (!event)
+		return -ENOMEM;
+
+	icnss_pm_stay_awake(priv);
+
+	event->type = type;
+	event->data = data;
+	init_completion(&event->complete);
+	event->ret = ICNSS_EVENT_PENDING;
+	event->sync = !!(flags & ICNSS_EVENT_SYNC);
+
+	spin_lock_irqsave(&priv->soc_wake_msg_lock, irq_flags);
+	list_add_tail(&event->list, &priv->soc_wake_msg_list);
+	spin_unlock_irqrestore(&priv->soc_wake_msg_lock, irq_flags);
+
+	priv->stats.soc_wake_events[type].posted++;
+	queue_work(priv->soc_wake_wq, &priv->soc_wake_msg_work);
+
+	if (!(flags & ICNSS_EVENT_SYNC))
+		goto out;
+
+	if (flags & ICNSS_EVENT_UNINTERRUPTIBLE)
+		wait_for_completion(&event->complete);
+	else
+		ret = wait_for_completion_interruptible(&event->complete);
+
+	icnss_pr_dbg("Completed event: %s(%d), state: 0x%lx, ret: %d/%d\n",
+		     icnss_soc_wake_event_to_str(type), type, priv->state, ret,
+		     event->ret);
+
+	spin_lock_irqsave(&priv->soc_wake_msg_lock, irq_flags);
+	if (ret == -ERESTARTSYS && event->ret == ICNSS_EVENT_PENDING) {
+		event->sync = false;
+		spin_unlock_irqrestore(&priv->soc_wake_msg_lock, irq_flags);
+		ret = -EINTR;
+		goto out;
+	}
+	spin_unlock_irqrestore(&priv->soc_wake_msg_lock, irq_flags);
+
+	ret = event->ret;
+	kfree(event);
+
+out:
+	icnss_pm_relax(priv);
+	return ret;
+}
+
 bool icnss_is_fw_ready(void)
 {
 	if (!penv)
@@ -448,6 +534,8 @@
 
 	set_bit(ICNSS_WLFW_EXISTS, &priv->state);
 	clear_bit(ICNSS_FW_DOWN, &priv->state);
+	clear_bit(ICNSS_FW_READY, &priv->state);
+
 	icnss_ignore_fw_timeout(false);
 
 	if (test_bit(ICNSS_WLFW_CONNECTED, &penv->state)) {
@@ -888,6 +976,41 @@
 	return ret;
 }
 
+static int icnss_event_soc_wake_request(struct icnss_priv *priv, void *data)
+{
+	int ret = 0;
+
+	if (!priv)
+		return -ENODEV;
+
+	ret = wlfw_send_soc_wake_msg(priv, QMI_WLFW_WAKE_REQUEST_V01);
+	if (!ret)
+		atomic_inc(&priv->soc_wake_ref_count);
+
+	return ret;
+}
+
+static int icnss_event_soc_wake_release(struct icnss_priv *priv, void *data)
+{
+	int ret = 0;
+	int count = 0;
+
+	if (!priv)
+		return -ENODEV;
+
+	count = atomic_dec_return(&priv->soc_wake_ref_count);
+
+	if (count) {
+		icnss_pr_dbg("Wake release not called. Ref count: %d",
+			     count);
+		return 0;
+	}
+
+	ret = wlfw_send_soc_wake_msg(priv, QMI_WLFW_WAKE_RELEASE_V01);
+
+	return ret;
+}
+
 static int icnss_driver_event_register_driver(struct icnss_priv *priv,
 							 void *data)
 {
@@ -1225,6 +1348,68 @@
 	icnss_pm_relax(priv);
 }
 
+static void icnss_soc_wake_msg_work(struct work_struct *work)
+{
+	struct icnss_priv *priv =
+		container_of(work, struct icnss_priv, soc_wake_msg_work);
+	struct icnss_soc_wake_event *event;
+	unsigned long flags;
+	int ret;
+
+	icnss_pm_stay_awake(priv);
+
+	spin_lock_irqsave(&priv->soc_wake_msg_lock, flags);
+
+	while (!list_empty(&priv->soc_wake_msg_list)) {
+		event = list_first_entry(&priv->soc_wake_msg_list,
+					 struct icnss_soc_wake_event, list);
+		list_del(&event->list);
+		spin_unlock_irqrestore(&priv->soc_wake_msg_lock, flags);
+
+		icnss_pr_dbg("Processing event: %s%s(%d), state: 0x%lx\n",
+			     icnss_soc_wake_event_to_str(event->type),
+			     event->sync ? "-sync" : "", event->type,
+			     priv->state);
+
+		switch (event->type) {
+		case ICNSS_SOC_WAKE_REQUEST_EVENT:
+			ret = icnss_event_soc_wake_request(priv,
+							   event->data);
+			break;
+		case ICNSS_SOC_WAKE_RELEASE_EVENT:
+			ret = icnss_event_soc_wake_release(priv,
+							   event->data);
+			break;
+		default:
+			icnss_pr_err("Invalid Event type: %d", event->type);
+			kfree(event);
+			continue;
+		}
+
+		priv->stats.soc_wake_events[event->type].processed++;
+
+		icnss_pr_dbg("Event Processed: %s%s(%d), ret: %d, state: 0x%lx\n",
+			     icnss_soc_wake_event_to_str(event->type),
+			     event->sync ? "-sync" : "", event->type, ret,
+			     priv->state);
+
+		spin_lock_irqsave(&priv->soc_wake_msg_lock, flags);
+		if (event->sync) {
+			event->ret = ret;
+			complete(&event->complete);
+			continue;
+		}
+		spin_unlock_irqrestore(&priv->soc_wake_msg_lock, flags);
+
+		kfree(event);
+
+		spin_lock_irqsave(&priv->soc_wake_msg_lock, flags);
+	}
+	spin_unlock_irqrestore(&priv->soc_wake_msg_lock, flags);
+
+	icnss_pm_relax(priv);
+}
+
 static int icnss_msa0_ramdump(struct icnss_priv *priv)
 {
 	struct ramdump_segment segment;
@@ -1963,6 +2148,71 @@
 }
 EXPORT_SYMBOL(icnss_set_fw_log_mode);
 
+int icnss_force_wake_request(struct device *dev)
+{
+	struct icnss_priv *priv = dev_get_drvdata(dev);
+	int count = 0;
+
+	if (!dev)
+		return -ENODEV;
+
+	if (!priv) {
+		icnss_pr_err("Platform driver not initialized\n");
+		return -EINVAL;
+	}
+
+	icnss_pr_dbg("Calling SOC Wake request");
+
+	if (atomic_read(&priv->soc_wake_ref_count)) {
+		count = atomic_inc_return(&priv->soc_wake_ref_count);
+		icnss_pr_dbg("SOC already awake, Ref count: %d", count);
+		return 0;
+	}
+
+	icnss_soc_wake_event_post(priv, ICNSS_SOC_WAKE_REQUEST_EVENT,
+				  0, NULL);
+
+	return 0;
+}
+EXPORT_SYMBOL(icnss_force_wake_request);
+
+int icnss_force_wake_release(struct device *dev)
+{
+	struct icnss_priv *priv = dev_get_drvdata(dev);
+
+	if (!dev)
+		return -ENODEV;
+
+	if (!priv) {
+		icnss_pr_err("Platform driver not initialized\n");
+		return -EINVAL;
+	}
+
+	icnss_pr_dbg("Calling SOC Wake response");
+
+	icnss_soc_wake_event_post(priv, ICNSS_SOC_WAKE_RELEASE_EVENT,
+				  0, NULL);
+
+	return 0;
+}
+EXPORT_SYMBOL(icnss_force_wake_release);
+
+int icnss_is_device_awake(struct device *dev)
+{
+	struct icnss_priv *priv = dev_get_drvdata(dev);
+
+	if (!dev)
+		return -ENODEV;
+
+	if (!priv) {
+		icnss_pr_err("Platform driver not initialized\n");
+		return -EINVAL;
+	}
+
+	return atomic_read(&priv->soc_wake_ref_count);
+}
+EXPORT_SYMBOL(icnss_is_device_awake);
+
 int icnss_athdiag_read(struct device *dev, uint32_t offset,
 		       uint32_t mem_type, uint32_t data_len,
 		       uint8_t *output)
@@ -2656,6 +2906,7 @@
 
 	spin_lock_init(&priv->event_lock);
 	spin_lock_init(&priv->on_off_lock);
+	spin_lock_init(&priv->soc_wake_msg_lock);
 	mutex_init(&priv->dev_lock);
 
 	priv->event_wq = alloc_workqueue("icnss_driver_event", WQ_UNBOUND, 1);
@@ -2668,10 +2919,21 @@
 	INIT_WORK(&priv->event_work, icnss_driver_event_work);
 	INIT_LIST_HEAD(&priv->event_list);
 
+	priv->soc_wake_wq = alloc_workqueue("icnss_soc_wake_event",
+					    WQ_UNBOUND, 1);
+	if (!priv->soc_wake_wq) {
+		icnss_pr_err("Soc wake Workqueue creation failed\n");
+		ret = -EFAULT;
+		goto out_destroy_wq;
+	}
+
+	INIT_WORK(&priv->soc_wake_msg_work, icnss_soc_wake_msg_work);
+	INIT_LIST_HEAD(&priv->soc_wake_msg_list);
+
 	ret = icnss_register_fw_service(priv);
 	if (ret < 0) {
 		icnss_pr_err("fw service registration failed: %d\n", ret);
-		goto out_destroy_wq;
+		goto out_destroy_soc_wq;
 	}
 
 	icnss_enable_recovery(priv);
@@ -2697,6 +2959,8 @@
 
 	return 0;
 
+out_destroy_soc_wq:
+	destroy_workqueue(priv->soc_wake_wq);
 out_destroy_wq:
 	destroy_workqueue(priv->event_wq);
 smmu_cleanup:
@@ -2733,6 +2997,9 @@
 	if (priv->event_wq)
 		destroy_workqueue(priv->event_wq);
 
+	if (priv->soc_wake_wq)
+		destroy_workqueue(priv->soc_wake_wq);
+
 	priv->iommu_domain = NULL;
 
 	icnss_hw_power_off(priv);
diff --git a/drivers/soc/qcom/icnss2/main.h b/drivers/soc/qcom/icnss2/main.h
index cd5d6dd..44efede 100644
--- a/drivers/soc/qcom/icnss2/main.h
+++ b/drivers/soc/qcom/icnss2/main.h
@@ -55,6 +55,12 @@
 	ICNSS_DRIVER_EVENT_MAX,
 };
 
+enum icnss_soc_wake_event_type {
+	ICNSS_SOC_WAKE_REQUEST_EVENT,
+	ICNSS_SOC_WAKE_RELEASE_EVENT,
+	ICNSS_SOC_WAKE_EVENT_MAX,
+};
+
 struct icnss_event_server_arrive_data {
 	unsigned int node;
 	unsigned int port;
@@ -74,6 +80,15 @@
 	void *data;
 };
 
+struct icnss_soc_wake_event {
+	struct list_head list;
+	enum icnss_soc_wake_event_type type;
+	bool sync;
+	struct completion complete;
+	int ret;
+	void *data;
+};
+
 enum icnss_driver_state {
 	ICNSS_WLFW_CONNECTED,
 	ICNSS_POWER_ON,
@@ -150,6 +165,11 @@
 	} events[ICNSS_DRIVER_EVENT_MAX];
 
 	struct {
+		u32 posted;
+		u32 processed;
+	} soc_wake_events[ICNSS_SOC_WAKE_EVENT_MAX];
+
+	struct {
 		uint32_t request;
 		uint32_t free;
 		uint32_t enable;
@@ -210,6 +230,9 @@
 	u32 exit_power_save_req;
 	u32 exit_power_save_resp;
 	u32 exit_power_save_err;
+	u32 soc_wake_req;
+	u32 soc_wake_resp;
+	u32 soc_wake_err;
 };
 
 #define WLFW_MAX_TIMESTAMP_LEN 32
@@ -282,10 +305,14 @@
 	size_t smmu_iova_ipa_len;
 	struct qmi_handle qmi;
 	struct list_head event_list;
+	struct list_head soc_wake_msg_list;
 	spinlock_t event_lock;
+	spinlock_t soc_wake_msg_lock;
 	struct work_struct event_work;
 	struct work_struct fw_recv_msg_work;
+	struct work_struct soc_wake_msg_work;
 	struct workqueue_struct *event_wq;
+	struct workqueue_struct *soc_wake_wq;
 	phys_addr_t msa_pa;
 	phys_addr_t msi_addr_pa;
 	dma_addr_t msi_addr_iova;
@@ -342,6 +369,7 @@
 	struct icnss_fw_mem qdss_mem[QMI_WLFW_MAX_NUM_MEM_SEG];
 	void *get_info_cb_ctx;
 	int (*get_info_cb)(void *ctx, void *event, int event_len);
+	atomic_t soc_wake_ref_count;
 };
 
 struct icnss_reg_info {
@@ -358,5 +386,9 @@
 			    u32 flags, void *data);
 void icnss_allow_recursive_recovery(struct device *dev);
 void icnss_disallow_recursive_recovery(struct device *dev);
+char *icnss_soc_wake_event_to_str(enum icnss_soc_wake_event_type type);
+int icnss_soc_wake_event_post(struct icnss_priv *priv,
+			      enum icnss_soc_wake_event_type type,
+			      u32 flags, void *data);
 #endif
 
diff --git a/drivers/soc/qcom/icnss2/qmi.c b/drivers/soc/qcom/icnss2/qmi.c
index 3a96131..6c8d8f1 100644
--- a/drivers/soc/qcom/icnss2/qmi.c
+++ b/drivers/soc/qcom/icnss2/qmi.c
@@ -413,6 +413,82 @@
 	return ret;
 }
 
+int wlfw_send_soc_wake_msg(struct icnss_priv *priv,
+			   enum wlfw_soc_wake_enum_v01 type)
+{
+	int ret;
+	struct wlfw_soc_wake_req_msg_v01 *req;
+	struct wlfw_soc_wake_resp_msg_v01 *resp;
+	struct qmi_txn txn;
+
+	if (!priv)
+		return -ENODEV;
+
+	if (test_bit(ICNSS_FW_DOWN, &priv->state))
+		return -EINVAL;
+
+	icnss_pr_dbg("Sending soc wake msg, type: 0x%x\n",
+		     type);
+
+	req = kzalloc(sizeof(*req), GFP_KERNEL);
+	if (!req)
+		return -ENOMEM;
+
+	resp = kzalloc(sizeof(*resp), GFP_KERNEL);
+	if (!resp) {
+		kfree(req);
+		return -ENOMEM;
+	}
+	req->wake_valid = 1;
+	req->wake = type;
+
+	priv->stats.soc_wake_req++;
+
+	ret = qmi_txn_init(&priv->qmi, &txn,
+			   wlfw_soc_wake_resp_msg_v01_ei, resp);
+
+	if (ret < 0) {
+		icnss_pr_err("Fail to init txn for wake msg resp %d\n",
+			     ret);
+		goto out;
+	}
+
+	ret = qmi_send_request(&priv->qmi, NULL, &txn,
+			       QMI_WLFW_SOC_WAKE_REQ_V01,
+			       WLFW_SOC_WAKE_REQ_MSG_V01_MAX_MSG_LEN,
+			       wlfw_soc_wake_req_msg_v01_ei, req);
+	if (ret < 0) {
+		qmi_txn_cancel(&txn);
+		icnss_pr_err("Fail to send soc wake msg %d\n", ret);
+		goto out;
+	}
+
+	ret = qmi_txn_wait(&txn, priv->ctrl_params.qmi_timeout);
+	if (ret < 0) {
+		icnss_qmi_fatal_err("SOC wake timed out with ret %d\n",
+				    ret);
+		goto out;
+	} else if (resp->resp.result != QMI_RESULT_SUCCESS_V01) {
+		icnss_qmi_fatal_err(
+			"SOC wake request rejected,result:%d error:%d\n",
+			resp->resp.result, resp->resp.error);
+		ret = -resp->resp.result;
+		goto out;
+	}
+
+	priv->stats.soc_wake_resp++;
+
+	kfree(resp);
+	kfree(req);
+	return 0;
+
+out:
+	kfree(req);
+	kfree(resp);
+	priv->stats.soc_wake_err++;
+	return ret;
+}
+
 int wlfw_ind_register_send_sync_msg(struct icnss_priv *priv)
 {
 	int ret;
@@ -1857,12 +1933,22 @@
 
 int icnss_clear_server(struct icnss_priv *priv)
 {
+	int ret;
+
 	if (!priv)
 		return -ENODEV;
 
 	icnss_pr_info("QMI Service Disconnected: 0x%lx\n", priv->state);
 	clear_bit(ICNSS_WLFW_CONNECTED, &priv->state);
 
+	icnss_unregister_fw_service(priv);
+
+	ret =  icnss_register_fw_service(priv);
+	if (ret < 0) {
+		icnss_pr_err("WLFW server registration failed\n");
+		ICNSS_ASSERT(0);
+	}
+
 	return 0;
 }
 
@@ -2196,7 +2282,7 @@
 	if (cmd_len > QMI_WLFW_MAX_DATA_SIZE_V01)
 		return -EINVAL;
 
-	if (test_bit(ICNSS_FW_DOWN, &priv->state))
+	if (test_bit(ICNSS_FW_DOWN, &plat_priv->state))
 		return -EINVAL;
 
 	req = kzalloc(sizeof(*req), GFP_KERNEL);
diff --git a/drivers/soc/qcom/icnss2/qmi.h b/drivers/soc/qcom/icnss2/qmi.h
index c4c42ce..f4c1d2b 100644
--- a/drivers/soc/qcom/icnss2/qmi.h
+++ b/drivers/soc/qcom/icnss2/qmi.h
@@ -139,6 +139,12 @@
 {
 	return 0;
 }
+
+int wlfw_send_soc_wake_msg(struct icnss_priv *priv,
+			   enum wlfw_soc_wake_enum_v01 type)
+{
+	return 0;
+}
 #else
 int wlfw_ind_register_send_sync_msg(struct icnss_priv *priv);
 int icnss_connect_to_fw_server(struct icnss_priv *priv, void *data);
@@ -177,6 +183,8 @@
 int wlfw_exit_power_save_send_msg(struct icnss_priv *priv);
 int icnss_wlfw_get_info_send_sync(struct icnss_priv *priv, int type,
 				  void *cmd, int cmd_len);
+int wlfw_send_soc_wake_msg(struct icnss_priv *priv,
+			   enum wlfw_soc_wake_enum_v01 type);
 #endif
 
 #endif /* __ICNSS_QMI_H__*/
diff --git a/drivers/soc/qcom/peripheral-loader.c b/drivers/soc/qcom/peripheral-loader.c
index 6fa278f..c56cc90 100644
--- a/drivers/soc/qcom/peripheral-loader.c
+++ b/drivers/soc/qcom/peripheral-loader.c
@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * Copyright (c) 2010-2019, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2010-2020, The Linux Foundation. All rights reserved.
  */
 
 #include <linux/module.h>
@@ -134,7 +134,7 @@
  */
 struct pil_priv {
 	struct delayed_work proxy;
-	struct wakeup_source ws;
+	struct wakeup_source *ws;
 	char wname[32];
 	struct pil_desc *desc;
 	int num_segs;
@@ -581,7 +581,7 @@
 
 	desc->ops->proxy_unvote(desc);
 	notify_proxy_unvote(desc->dev);
-	__pm_relax(&priv->ws);
+	__pm_relax(priv->ws);
 	module_put(desc->owner);
 
 }
@@ -600,10 +600,10 @@
 	struct pil_priv *priv = desc->priv;
 
 	if (desc->ops->proxy_vote) {
-		__pm_stay_awake(&priv->ws);
+		__pm_stay_awake(priv->ws);
 		ret = desc->ops->proxy_vote(desc);
 		if (ret)
-			__pm_relax(&priv->ws);
+			__pm_relax(priv->ws);
 	}
 
 	if (desc->proxy_unvote_irq)
@@ -1305,7 +1305,7 @@
 	 * Fallback to serial loading of blobs if the
 	 * workqueue creatation failed during module init.
 	 */
-	if (pil_wq) {
+	if (pil_wq && !(desc->sequential_loading)) {
 		ret = pil_load_segs(desc);
 		if (ret)
 			goto err_deinit_image;
@@ -1561,7 +1561,13 @@
 	}
 
 	snprintf(priv->wname, sizeof(priv->wname), "pil-%s", desc->name);
-	wakeup_source_init(&priv->ws, priv->wname);
+
+	priv->ws = wakeup_source_register(desc->dev, priv->wname);
+	if (!priv->ws) {
+		ret = -ENOMEM;
+		goto err;
+	}
+
 	INIT_DELAYED_WORK(&priv->proxy, pil_proxy_unvote_work);
 	INIT_LIST_HEAD(&priv->segs);
 
@@ -1597,7 +1603,7 @@
 	if (priv) {
 		ida_simple_remove(&pil_ida, priv->id);
 		flush_delayed_work(&priv->proxy);
-		wakeup_source_trash(&priv->ws);
+		wakeup_source_unregister(priv->ws);
 	}
 	desc->priv = NULL;
 	kfree(priv);
diff --git a/drivers/soc/qcom/peripheral-loader.h b/drivers/soc/qcom/peripheral-loader.h
index c83b038..29fa4b6 100644
--- a/drivers/soc/qcom/peripheral-loader.h
+++ b/drivers/soc/qcom/peripheral-loader.h
@@ -63,6 +63,7 @@
 	bool shutdown_fail;
 	bool modem_ssr;
 	bool clear_fw_region;
+	bool sequential_loading;
 	u32 subsys_vmid;
 	bool signal_aop;
 	struct mbox_client cl;
diff --git a/drivers/soc/qcom/pil-msa.c b/drivers/soc/qcom/pil-msa.c
new file mode 100644
index 0000000..9cff905
--- /dev/null
+++ b/drivers/soc/qcom/pil-msa.c
@@ -0,0 +1,1051 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/* Copyright (c) 2012-2020, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#include <linux/module.h>
+#include <linux/device.h>
+#include <linux/firmware.h>
+#include <linux/io.h>
+#include <linux/iopoll.h>
+#include <linux/ioport.h>
+#include <linux/delay.h>
+#include <linux/sched.h>
+#include <linux/clk.h>
+#include <linux/err.h>
+#include <linux/of.h>
+#include <linux/regulator/consumer.h>
+#include <linux/dma-mapping.h>
+#include <linux/highmem.h>
+#include <soc/qcom/scm.h>
+#include <soc/qcom/secure_buffer.h>
+#include <trace/events/trace_msm_pil_event.h>
+
+#include "peripheral-loader.h"
+#include "pil-q6v5.h"
+#include "pil-msa.h"
+
+/* Q6 Register Offsets */
+#define QDSP6SS_RST_EVB			0x010
+#define QDSP6SS_DBG_CFG			0x018
+#define QDSP6SS_NMI_CFG			0x40
+
+/* AXI Halting Registers */
+#define MSS_Q6_HALT_BASE		0x180
+#define MSS_MODEM_HALT_BASE		0x200
+#define MSS_NC_HALT_BASE		0x280
+
+/* RMB Status Register Values */
+#define STATUS_PBL_SUCCESS		0x1
+#define STATUS_XPU_UNLOCKED		0x1
+#define STATUS_XPU_UNLOCKED_SCRIBBLED	0x2
+
+/* PBL/MBA interface registers */
+#define RMB_MBA_IMAGE			0x00
+#define RMB_PBL_STATUS			0x04
+#define RMB_MBA_COMMAND			0x08
+#define RMB_MBA_STATUS			0x0C
+#define RMB_PMI_META_DATA		0x10
+#define RMB_PMI_CODE_START		0x14
+#define RMB_PMI_CODE_LENGTH		0x18
+#define RMB_PROTOCOL_VERSION		0x1C
+#define RMB_MBA_DEBUG_INFORMATION	0x20
+
+#define POLL_INTERVAL_US		50
+
+#define CMD_META_DATA_READY		0x1
+#define CMD_LOAD_READY			0x2
+#define CMD_PILFAIL_NFY_MBA		0xffffdead
+
+#define STATUS_META_DATA_AUTH_SUCCESS	0x3
+#define STATUS_AUTH_COMPLETE		0x4
+#define STATUS_MBA_UNLOCKED		0x6
+
+/* External BHS */
+#define EXTERNAL_BHS_ON			BIT(0)
+#define EXTERNAL_BHS_STATUS		BIT(4)
+#define BHS_TIMEOUT_US			50
+
+#define MSS_RESTART_PARAM_ID		0x2
+#define MSS_RESTART_ID			0xA
+
+#define MSS_MAGIC			0XAABADEAD
+
+/* Timeout value for MBA boot when minidump is enabled */
+#define MBA_ENCRYPTION_TIMEOUT	3000
+enum scm_cmd {
+	PAS_MEM_SETUP_CMD = 2,
+};
+
+static int pbl_mba_boot_timeout_ms = 1000;
+module_param(pbl_mba_boot_timeout_ms, int, 0644);
+
+static int modem_auth_timeout_ms = 10000;
+module_param(modem_auth_timeout_ms, int, 0644);
+
+/* If set to 0xAABADEAD, MBA failures trigger a kernel panic */
+static uint modem_trigger_panic;
+module_param(modem_trigger_panic, uint, 0644);
+
+/* To set the modem debug cookie in DBG_CFG register for debugging */
+static uint modem_dbg_cfg;
+module_param(modem_dbg_cfg, uint, 0644);
+
+static void modem_log_rmb_regs(void __iomem *base)
+{
+	pr_err("RMB_MBA_IMAGE: %08x\n", readl_relaxed(base + RMB_MBA_IMAGE));
+	pr_err("RMB_PBL_STATUS: %08x\n", readl_relaxed(base + RMB_PBL_STATUS));
+	pr_err("RMB_MBA_COMMAND: %08x\n",
+				readl_relaxed(base + RMB_MBA_COMMAND));
+	pr_err("RMB_MBA_STATUS: %08x\n", readl_relaxed(base + RMB_MBA_STATUS));
+	pr_err("RMB_PMI_META_DATA: %08x\n",
+				readl_relaxed(base + RMB_PMI_META_DATA));
+	pr_err("RMB_PMI_CODE_START: %08x\n",
+				readl_relaxed(base + RMB_PMI_CODE_START));
+	pr_err("RMB_PMI_CODE_LENGTH: %08x\n",
+				readl_relaxed(base + RMB_PMI_CODE_LENGTH));
+	pr_err("RMB_PROTOCOL_VERSION: %08x\n",
+				readl_relaxed(base + RMB_PROTOCOL_VERSION));
+	pr_err("RMB_MBA_DEBUG_INFORMATION: %08x\n",
+			readl_relaxed(base + RMB_MBA_DEBUG_INFORMATION));
+
+	if (modem_trigger_panic == MSS_MAGIC)
+		panic("%s: System ramdump is needed!!!\n", __func__);
+}
+
+static int pil_mss_power_up(struct q6v5_data *drv)
+{
+	int ret = 0;
+	u32 regval;
+
+	if (drv->cxrail_bhs) {
+		regval = readl_relaxed(drv->cxrail_bhs);
+		regval |= EXTERNAL_BHS_ON;
+		writel_relaxed(regval, drv->cxrail_bhs);
+
+		ret = readl_poll_timeout(drv->cxrail_bhs, regval,
+			regval & EXTERNAL_BHS_STATUS, 1, BHS_TIMEOUT_US);
+	}
+
+	return ret;
+}
+
+static int pil_mss_power_down(struct q6v5_data *drv)
+{
+	u32 regval;
+
+	if (drv->cxrail_bhs) {
+		regval = readl_relaxed(drv->cxrail_bhs);
+		regval &= ~EXTERNAL_BHS_ON;
+		writel_relaxed(regval, drv->cxrail_bhs);
+	}
+
+	return 0;
+}
+
+static int pil_mss_enable_clks(struct q6v5_data *drv)
+{
+	int ret;
+
+	ret = clk_prepare_enable(drv->ahb_clk);
+	if (ret)
+		goto err_ahb_clk;
+	ret = clk_prepare_enable(drv->axi_clk);
+	if (ret)
+		goto err_axi_clk;
+	ret = clk_prepare_enable(drv->rom_clk);
+	if (ret)
+		goto err_rom_clk;
+	ret = clk_prepare_enable(drv->gpll0_mss_clk);
+	if (ret)
+		goto err_gpll0_mss_clk;
+	ret = clk_prepare_enable(drv->snoc_axi_clk);
+	if (ret)
+		goto err_snoc_axi_clk;
+	ret = clk_prepare_enable(drv->mnoc_axi_clk);
+	if (ret)
+		goto err_mnoc_axi_clk;
+	return 0;
+err_mnoc_axi_clk:
+	clk_disable_unprepare(drv->mnoc_axi_clk);
+err_snoc_axi_clk:
+	clk_disable_unprepare(drv->snoc_axi_clk);
+err_gpll0_mss_clk:
+	clk_disable_unprepare(drv->gpll0_mss_clk);
+err_rom_clk:
+	clk_disable_unprepare(drv->rom_clk);
+err_axi_clk:
+	clk_disable_unprepare(drv->axi_clk);
+err_ahb_clk:
+	clk_disable_unprepare(drv->ahb_clk);
+	return ret;
+}
+
+static void pil_mss_disable_clks(struct q6v5_data *drv)
+{
+	clk_disable_unprepare(drv->mnoc_axi_clk);
+	clk_disable_unprepare(drv->snoc_axi_clk);
+	clk_disable_unprepare(drv->gpll0_mss_clk);
+	clk_disable_unprepare(drv->rom_clk);
+	clk_disable_unprepare(drv->axi_clk);
+	if (!drv->ahb_clk_vote)
+		clk_disable_unprepare(drv->ahb_clk);
+}
+
+static void pil_mss_pdc_sync(struct q6v5_data *drv, bool pdc_sync)
+{
+	u32 val = 0;
+	u32 mss_pdc_mask = BIT(drv->mss_pdc_offset);
+
+	if (drv->pdc_sync) {
+		val = readl_relaxed(drv->pdc_sync);
+		if (pdc_sync)
+			val |= mss_pdc_mask;
+		else
+			val &= ~mss_pdc_mask;
+		writel_relaxed(val, drv->pdc_sync);
+		/* Ensure PDC is written before next write */
+		wmb();
+		udelay(2);
+	}
+}
+
+static void pil_mss_alt_reset(struct q6v5_data *drv, u32 val)
+{
+	if (drv->alt_reset) {
+		writel_relaxed(val, drv->alt_reset);
+		/* Ensure alt reset is written before restart reg */
+		wmb();
+		udelay(2);
+	}
+}
+
+static int pil_mss_restart_reg(struct q6v5_data *drv, u32 mss_restart)
+{
+	int ret = 0;
+	int scm_ret = 0;
+	struct scm_desc desc = {0};
+
+	desc.args[0] = mss_restart;
+	desc.args[1] = 0;
+	desc.arginfo = SCM_ARGS(2);
+
+	if (drv->restart_reg && !drv->restart_reg_sec) {
+		writel_relaxed(mss_restart, drv->restart_reg);
+		/* Ensure physical address access is done before returning.*/
+		mb();
+		udelay(2);
+	} else if (drv->restart_reg_sec) {
+		ret = scm_call2(SCM_SIP_FNID(SCM_SVC_PIL,
+					MSS_RESTART_ID), &desc);
+		scm_ret = desc.ret[0];
+		if (ret || scm_ret)
+			pr_err("Secure MSS restart failed\n");
+	}
+
+	return ret;
+}
+
+int pil_mss_assert_resets(struct q6v5_data *drv)
+{
+	int ret = 0;
+
+	pil_mss_pdc_sync(drv, 1);
+	pil_mss_alt_reset(drv, 1);
+	if (drv->reset_clk) {
+		pil_mss_disable_clks(drv);
+		if (drv->ahb_clk_vote)
+			clk_disable_unprepare(drv->ahb_clk);
+	}
+
+	ret = pil_mss_restart_reg(drv, true);
+
+	return ret;
+}
+
+int pil_mss_deassert_resets(struct q6v5_data *drv)
+{
+	int ret = 0;
+
+	ret = pil_mss_restart_reg(drv, 0);
+	if (ret)
+		return ret;
+	/* Wait 6 32kHz sleep cycles for reset */
+	udelay(200);
+
+	if (drv->reset_clk)
+		pil_mss_enable_clks(drv);
+	pil_mss_alt_reset(drv, 0);
+	pil_mss_pdc_sync(drv, false);
+
+	return ret;
+}
+
+static int pil_msa_wait_for_mba_ready(struct q6v5_data *drv)
+{
+	struct device *dev = drv->desc.dev;
+	int ret;
+	u32 status;
+	u64 val;
+
+	if (of_property_read_bool(dev->of_node, "qcom,minidump-id"))
+		pbl_mba_boot_timeout_ms = MBA_ENCRYPTION_TIMEOUT;
+
+	val = is_timeout_disabled() ? 0 : pbl_mba_boot_timeout_ms * 1000;
+
+	/* Wait for PBL completion. */
+	ret = readl_poll_timeout(drv->rmb_base + RMB_PBL_STATUS, status,
+				 status != 0, POLL_INTERVAL_US, val);
+	if (ret) {
+		dev_err(dev, "PBL boot timed out (rc:%d)\n", ret);
+		return ret;
+	}
+	if (status != STATUS_PBL_SUCCESS) {
+		dev_err(dev, "PBL returned unexpected status %d\n", status);
+		return -EINVAL;
+	}
+
+	/* Wait for MBA completion. */
+	ret = readl_poll_timeout(drv->rmb_base + RMB_MBA_STATUS, status,
+				status != 0, POLL_INTERVAL_US, val);
+	if (ret) {
+		dev_err(dev, "MBA boot timed out (rc:%d)\n", ret);
+		return ret;
+	}
+	if (status != STATUS_XPU_UNLOCKED &&
+	    status != STATUS_XPU_UNLOCKED_SCRIBBLED) {
+		dev_err(dev, "MBA returned unexpected status %d\n", status);
+		return -EINVAL;
+	}
+
+	return 0;
+}
+
+int pil_mss_shutdown(struct pil_desc *pil)
+{
+	struct q6v5_data *drv = container_of(pil, struct q6v5_data, desc);
+	int ret = 0;
+
+	if (drv->axi_halt_base) {
+		pil_q6v5_halt_axi_port(pil,
+			drv->axi_halt_base + MSS_Q6_HALT_BASE);
+		pil_q6v5_halt_axi_port(pil,
+			drv->axi_halt_base + MSS_MODEM_HALT_BASE);
+		pil_q6v5_halt_axi_port(pil,
+			drv->axi_halt_base + MSS_NC_HALT_BASE);
+	}
+
+	if (drv->axi_halt_q6)
+		pil_q6v5_halt_axi_port(pil, drv->axi_halt_q6);
+	if (drv->axi_halt_mss)
+		pil_q6v5_halt_axi_port(pil, drv->axi_halt_mss);
+	if (drv->axi_halt_nc)
+		pil_q6v5_halt_axi_port(pil, drv->axi_halt_nc);
+
+	/*
+	 * Software workaround to avoid high MX current during LPASS/MSS
+	 * restart.
+	 */
+	if (drv->mx_spike_wa && drv->ahb_clk_vote) {
+		ret = clk_prepare_enable(drv->ahb_clk);
+		if (!ret)
+			assert_clamps(pil);
+		else
+			dev_err(pil->dev, "error turning ON AHB clock(rc:%d)\n",
+									ret);
+	}
+
+	pil_mss_pdc_sync(drv, true);
+	/* Wait 6 32kHz sleep cycles for PDC SYNC true */
+	udelay(200);
+	pil_mss_restart_reg(drv, 1);
+	/* Wait 6 32kHz sleep cycles for reset */
+	udelay(200);
+	ret =  pil_mss_restart_reg(drv, 0);
+	/* Wait 6 32kHz sleep cycles for reset false */
+	udelay(200);
+	pil_mss_pdc_sync(drv, false);
+
+	if (drv->is_booted) {
+		pil_mss_disable_clks(drv);
+		pil_mss_power_down(drv);
+		drv->is_booted = false;
+	}
+
+	return ret;
+}
+
+int __pil_mss_deinit_image(struct pil_desc *pil, bool err_path)
+{
+	struct modem_data *drv = dev_get_drvdata(pil->dev);
+	struct q6v5_data *q6_drv = container_of(pil, struct q6v5_data, desc);
+	int ret = 0;
+	struct device *dma_dev = drv->mba_mem_dev_fixed ?: &drv->mba_mem_dev;
+	s32 status;
+	u64 val = is_timeout_disabled() ? 0 : pbl_mba_boot_timeout_ms * 1000;
+
+	if (err_path) {
+		writel_relaxed(CMD_PILFAIL_NFY_MBA,
+				drv->rmb_base + RMB_MBA_COMMAND);
+		ret = readl_poll_timeout(drv->rmb_base + RMB_MBA_STATUS, status,
+				status == STATUS_MBA_UNLOCKED || status < 0,
+				POLL_INTERVAL_US, val);
+		if (ret)
+			dev_err(pil->dev, "MBA region unlock timed out(rc:%d)\n",
+									ret);
+		else if (status < 0)
+			dev_err(pil->dev, "MBA unlock returned err status: %d\n",
+						status);
+	}
+
+	ret = pil_mss_shutdown(pil);
+
+	if (q6_drv->ahb_clk_vote)
+		clk_disable_unprepare(q6_drv->ahb_clk);
+
+	/* In case of any failure where reclaiming MBA and DP memory
+	 * could not happen, free the memory here
+	 */
+	if (drv->q6->mba_dp_virt && !drv->mba_mem_dev_fixed) {
+		if (pil->subsys_vmid > 0)
+			pil_assign_mem_to_linux(pil, drv->q6->mba_dp_phys,
+						drv->q6->mba_dp_size);
+		dma_free_attrs(dma_dev, drv->q6->mba_dp_size,
+				drv->q6->mba_dp_virt, drv->q6->mba_dp_phys,
+				drv->attrs_dma);
+		drv->q6->mba_dp_virt = NULL;
+	}
+
+	return ret;
+}
+
+int pil_mss_deinit_image(struct pil_desc *pil)
+{
+	return __pil_mss_deinit_image(pil, true);
+}
+
+int pil_mss_make_proxy_votes(struct pil_desc *pil)
+{
+	int ret;
+	struct q6v5_data *drv = container_of(pil, struct q6v5_data, desc);
+	int uv = 0;
+
+	ret = of_property_read_u32(pil->dev->of_node, "vdd_mx-uV", &uv);
+	if (ret) {
+		dev_err(pil->dev, "missing vdd_mx-uV property(rc:%d)\n", ret);
+		return ret;
+	}
+
+	ret = regulator_set_voltage(drv->vreg_mx, uv, INT_MAX);
+	if (ret) {
+		dev_err(pil->dev, "Failed to request vreg_mx voltage(rc:%d)\n",
+									ret);
+		return ret;
+	}
+
+	ret = regulator_enable(drv->vreg_mx);
+	if (ret) {
+		dev_err(pil->dev, "Failed to enable vreg_mx(rc:%d)\n", ret);
+		regulator_set_voltage(drv->vreg_mx, 0, INT_MAX);
+		return ret;
+	}
+
+	if (drv->vreg) {
+		ret = of_property_read_u32(pil->dev->of_node, "vdd_mss-uV",
+								&uv);
+		if (ret) {
+			dev_err(pil->dev,
+				"missing vdd_mss-uV property(rc:%d)\n", ret);
+			goto out;
+		}
+
+		ret = regulator_set_voltage(drv->vreg, uv,
+						INT_MAX);
+		if (ret) {
+			dev_err(pil->dev, "Failed to set vreg voltage(rc:%d)\n",
+									ret);
+			goto out;
+		}
+
+		ret = regulator_set_load(drv->vreg, 100000);
+		if (ret < 0) {
+			dev_err(pil->dev, "Failed to set vreg mode(rc:%d)\n",
+									ret);
+			goto out;
+		}
+		ret = regulator_enable(drv->vreg);
+		if (ret) {
+			dev_err(pil->dev, "Failed to enable vreg(rc:%d)\n",
+				ret);
+			regulator_set_voltage(drv->vreg, 0, INT_MAX);
+			goto out;
+		}
+	}
+
+	ret = pil_q6v5_make_proxy_votes(pil);
+	if (ret && drv->vreg) {
+		regulator_disable(drv->vreg);
+		regulator_set_voltage(drv->vreg, 0, INT_MAX);
+	}
+out:
+	if (ret) {
+		regulator_disable(drv->vreg_mx);
+		regulator_set_voltage(drv->vreg_mx, 0, INT_MAX);
+	}
+
+	return ret;
+}
+
+void pil_mss_remove_proxy_votes(struct pil_desc *pil)
+{
+	struct q6v5_data *drv = container_of(pil, struct q6v5_data, desc);
+
+	pil_q6v5_remove_proxy_votes(pil);
+	regulator_disable(drv->vreg_mx);
+	regulator_set_voltage(drv->vreg_mx, 0, INT_MAX);
+	if (drv->vreg) {
+		regulator_disable(drv->vreg);
+		regulator_set_voltage(drv->vreg, 0, INT_MAX);
+	}
+}
+
+static int pil_mss_mem_setup(struct pil_desc *pil,
+					phys_addr_t addr, size_t size)
+{
+	struct modem_data *md = dev_get_drvdata(pil->dev);
+
+	struct pas_init_image_req {
+		u32	proc;
+		u32	start_addr;
+		u32	len;
+	} request;
+	u32 scm_ret = 0;
+	int ret;
+	struct scm_desc desc = {0};
+
+	if (!md->subsys_desc.pil_mss_memsetup)
+		return 0;
+
+	request.proc = md->pas_id;
+	request.start_addr = addr;
+	request.len = size;
+
+	desc.args[0] = md->pas_id;
+	desc.args[1] = addr;
+	desc.args[2] = size;
+	desc.arginfo = SCM_ARGS(3);
+	ret = scm_call2(SCM_SIP_FNID(SCM_SVC_PIL, PAS_MEM_SETUP_CMD),
+			&desc);
+	scm_ret = desc.ret[0];
+
+	if (ret)
+		return ret;
+	return scm_ret;
+}
+
+static int pil_mss_reset(struct pil_desc *pil)
+{
+	struct q6v5_data *drv = container_of(pil, struct q6v5_data, desc);
+	phys_addr_t start_addr = pil_get_entry_addr(pil);
+	u32 debug_val = 0;
+	int ret;
+
+	trace_pil_func(__func__);
+	if (drv->mba_dp_phys)
+		start_addr = drv->mba_dp_phys;
+
+	/*
+	 * Bring subsystem out of reset and enable required
+	 * regulators and clocks.
+	 */
+	ret = pil_mss_power_up(drv);
+	if (ret)
+		goto err_power;
+
+	ret = pil_mss_enable_clks(drv);
+	if (ret)
+		goto err_clks;
+
+	if (!pil->minidump_ss || !pil->modem_ssr) {
+		/* Save state of modem debug register before full reset */
+		debug_val = readl_relaxed(drv->reg_base + QDSP6SS_DBG_CFG);
+	}
+
+	/* Assert reset to subsystem */
+	pil_mss_assert_resets(drv);
+	/* Wait 6 32kHz sleep cycles for reset */
+	udelay(200);
+	ret = pil_mss_deassert_resets(drv);
+	if (ret)
+		goto err_restart;
+
+	if (!pil->minidump_ss || !pil->modem_ssr) {
+		writel_relaxed(debug_val, drv->reg_base + QDSP6SS_DBG_CFG);
+		if (modem_dbg_cfg)
+			writel_relaxed(modem_dbg_cfg,
+				drv->reg_base + QDSP6SS_DBG_CFG);
+	}
+
+	/* Program Image Address */
+	if (drv->self_auth) {
+		writel_relaxed(start_addr, drv->rmb_base + RMB_MBA_IMAGE);
+		/*
+		 * Ensure write to RMB base occurs before reset
+		 * is released.
+		 */
+		mb();
+	} else {
+		writel_relaxed((start_addr >> 4) & 0x0FFFFFF0,
+				drv->reg_base + QDSP6SS_RST_EVB);
+	}
+
+	/* Program DP Address */
+	if (drv->dp_size) {
+		writel_relaxed(start_addr + SZ_1M, drv->rmb_base +
+			       RMB_PMI_CODE_START);
+		writel_relaxed(drv->dp_size, drv->rmb_base +
+			       RMB_PMI_CODE_LENGTH);
+	} else {
+		writel_relaxed(0, drv->rmb_base + RMB_PMI_CODE_START);
+		writel_relaxed(0, drv->rmb_base + RMB_PMI_CODE_LENGTH);
+	}
+	/* Make sure RMB regs are written before bringing modem out of reset */
+	mb();
+
+	ret = pil_q6v5_reset(pil);
+	if (ret)
+		goto err_q6v5_reset;
+
+	/* Wait for MBA to start. Check for PBL and MBA errors while waiting. */
+	if (drv->self_auth) {
+		ret = pil_msa_wait_for_mba_ready(drv);
+		if (ret)
+			goto err_q6v5_reset;
+	}
+
+	dev_info(pil->dev, "MBA boot done\n");
+	drv->is_booted = true;
+
+	return 0;
+
+err_q6v5_reset:
+	modem_log_rmb_regs(drv->rmb_base);
+err_restart:
+	pil_mss_disable_clks(drv);
+	if (drv->ahb_clk_vote)
+		clk_disable_unprepare(drv->ahb_clk);
+err_clks:
+	pil_mss_power_down(drv);
+err_power:
+	return ret;
+}
+
+int pil_mss_reset_load_mba(struct pil_desc *pil)
+{
+	struct q6v5_data *drv = container_of(pil, struct q6v5_data, desc);
+	struct modem_data *md = dev_get_drvdata(pil->dev);
+	const struct firmware *fw = NULL, *dp_fw = NULL;
+	char fw_name_legacy[10] = "mba.b00";
+	char fw_name[10] = "mba.mbn";
+	char *dp_name = "msadp";
+	char *fw_name_p;
+	void *mba_dp_virt;
+	dma_addr_t mba_dp_phys, mba_dp_phys_end;
+	int ret;
+	const u8 *data;
+	struct device *dma_dev = md->mba_mem_dev_fixed ?: &md->mba_mem_dev;
+
+	trace_pil_func(__func__);
+	if (drv->mba_dp_virt && md->mba_mem_dev_fixed)
+		goto mss_reset;
+	fw_name_p = drv->non_elf_image ? fw_name_legacy : fw_name;
+	ret = request_firmware(&fw, fw_name_p, pil->dev);
+	if (ret) {
+		dev_err(pil->dev, "Failed to locate %s (rc:%d)\n",
+						fw_name_p, ret);
+		return ret;
+	}
+
+	data = fw ? fw->data : NULL;
+	if (!data) {
+		dev_err(pil->dev, "MBA data is NULL\n");
+		ret = -ENOMEM;
+		goto err_invalid_fw;
+	}
+
+	drv->mba_dp_size = SZ_1M;
+
+	arch_setup_dma_ops(dma_dev, 0, 0, NULL, 0);
+
+	dma_dev->coherent_dma_mask = DMA_BIT_MASK(sizeof(dma_addr_t) * 8);
+
+	md->attrs_dma = 0;
+	md->attrs_dma |= DMA_ATTR_SKIP_ZEROING;
+	md->attrs_dma |= DMA_ATTR_STRONGLY_ORDERED;
+
+	ret = request_firmware(&dp_fw, dp_name, pil->dev);
+	if (ret) {
+		dev_warn(pil->dev, "Debug policy not present - %s. Continue.\n",
+						dp_name);
+	} else {
+		if (!dp_fw || !dp_fw->data) {
+			dev_err(pil->dev, "Invalid DP firmware\n");
+			ret = -ENOMEM;
+			goto err_invalid_fw;
+		}
+		drv->dp_size = dp_fw->size;
+		drv->mba_dp_size += drv->dp_size;
+		drv->mba_dp_size = ALIGN(drv->mba_dp_size, SZ_4K);
+	}
+
+	mba_dp_virt = dma_alloc_attrs(dma_dev, drv->mba_dp_size, &mba_dp_phys,
+				   GFP_KERNEL, md->attrs_dma);
+	if (!mba_dp_virt) {
+		dev_err(pil->dev, "%s MBA/DP buffer allocation %zx bytes failed\n",
+				 __func__, drv->mba_dp_size);
+		ret = -ENOMEM;
+		goto err_invalid_fw;
+	}
+
+	/* Make sure there are no mappings in PKMAP and fixmap */
+	kmap_flush_unused();
+	kmap_atomic_flush_unused();
+
+	drv->mba_dp_phys = mba_dp_phys;
+	drv->mba_dp_virt = mba_dp_virt;
+	mba_dp_phys_end = mba_dp_phys + drv->mba_dp_size;
+
+	dev_info(pil->dev, "Loading MBA and DP (if present) from %pa to %pa\n",
+					&mba_dp_phys, &mba_dp_phys_end);
+
+	/* Load the MBA image into memory */
+	if (fw->size <= SZ_1M) {
+		/* Ensures memcpy is done for max 1MB fw size */
+		memcpy(mba_dp_virt, data, fw->size);
+	} else {
+		dev_err(pil->dev, "%s fw image loading into memory is failed due to fw size overflow\n",
+			__func__);
+		ret = -EINVAL;
+		goto err_mba_data;
+	}
+	/* Ensure memcpy of the MBA memory is done before loading the DP */
+	wmb();
+
+	/* Load the DP image into memory */
+	if (drv->mba_dp_size > SZ_1M) {
+		memcpy(mba_dp_virt + SZ_1M, dp_fw->data, dp_fw->size);
+		/* Ensure memcpy is done before powering up modem */
+		wmb();
+	}
+
+	if (pil->subsys_vmid > 0) {
+		ret = pil_assign_mem_to_subsys(pil, drv->mba_dp_phys,
+							drv->mba_dp_size);
+		if (ret) {
+			pr_err("scm_call to unprotect MBA and DP mem failed(rc:%d)\n",
+									ret);
+			goto err_mba_data;
+		}
+	}
+	if (dp_fw)
+		release_firmware(dp_fw);
+	release_firmware(fw);
+	dp_fw = NULL;
+	fw = NULL;
+
+mss_reset:
+	ret = pil_mss_reset(pil);
+	if (ret) {
+		dev_err(pil->dev, "MBA boot failed(rc:%d)\n", ret);
+		goto err_mss_reset;
+	}
+
+	return 0;
+
+err_mss_reset:
+	if (pil->subsys_vmid > 0)
+		pil_assign_mem_to_linux(pil, drv->mba_dp_phys,
+							drv->mba_dp_size);
+err_mba_data:
+	dma_free_attrs(dma_dev, drv->mba_dp_size, drv->mba_dp_virt,
+				drv->mba_dp_phys, md->attrs_dma);
+err_invalid_fw:
+	if (dp_fw)
+		release_firmware(dp_fw);
+	if (fw)
+		release_firmware(fw);
+	drv->mba_dp_virt = NULL;
+	return ret;
+}
+
+int pil_mss_debug_reset(struct pil_desc *pil)
+{
+	struct q6v5_data *drv = container_of(pil, struct q6v5_data, desc);
+	u32 encryption_status;
+	int ret;
+
+
+	if (!pil->minidump_ss)
+		return 0;
+
+	encryption_status = pil->minidump_ss->encryption_status;
+
+	if ((pil->minidump_ss->md_ss_enable_status != MD_SS_ENABLED) ||
+		encryption_status == MD_SS_ENCR_NOTREQ)
+		return 0;
+
+	/*
+	 * Bring subsystem out of reset and enable required
+	 * regulators and clocks.
+	 */
+	ret = pil_mss_enable_clks(drv);
+	if (ret)
+		return ret;
+
+	if (pil->minidump_ss) {
+		writel_relaxed(0x1, drv->reg_base + QDSP6SS_NMI_CFG);
+		/* Let write complete before proceeding */
+		mb();
+		udelay(2);
+	}
+	/* Assert reset to subsystem */
+	pil_mss_restart_reg(drv, true);
+	/* Wait 6 32kHz sleep cycles for reset */
+	udelay(200);
+	ret =  pil_mss_restart_reg(drv, false);
+	if (ret)
+		goto err_restart;
+	/* Let write complete before proceeding */
+	mb();
+	udelay(200);
+	ret = pil_q6v5_reset(pil);
+	/*
+	 * Need to Wait for timeout for debug reset sequence to
+	 * complete before returning
+	 */
+	pr_info("Minidump: waiting encryption to complete\n");
+	msleep(13000);
+	if (pil->minidump_ss) {
+		writel_relaxed(0x2, drv->reg_base + QDSP6SS_NMI_CFG);
+		/* Let write complete before proceeding */
+		mb();
+		udelay(200);
+	}
+	if (ret)
+		goto err_restart;
+	return 0;
+err_restart:
+	pil_mss_disable_clks(drv);
+	if (drv->ahb_clk_vote)
+		clk_disable_unprepare(drv->ahb_clk);
+	return ret;
+}
+
+static int pil_msa_auth_modem_mdt(struct pil_desc *pil, const u8 *metadata,
+				  size_t size)
+{
+	struct modem_data *drv = dev_get_drvdata(pil->dev);
+	void *mdata_virt;
+	dma_addr_t mdata_phys;
+	s32 status;
+	int ret;
+	u64 val = is_timeout_disabled() ? 0 : modem_auth_timeout_ms * 1000;
+	struct device *dma_dev = drv->mba_mem_dev_fixed ?: &drv->mba_mem_dev;
+	unsigned long attrs = 0;
+
+	trace_pil_func(__func__);
+	dma_dev->coherent_dma_mask = DMA_BIT_MASK(sizeof(dma_addr_t) * 8);
+	attrs |= DMA_ATTR_SKIP_ZEROING;
+	attrs |= DMA_ATTR_STRONGLY_ORDERED;
+	/* Make metadata physically contiguous and 4K aligned. */
+	mdata_virt = dma_alloc_attrs(dma_dev, size, &mdata_phys,
+					GFP_KERNEL, attrs);
+	if (!mdata_virt) {
+		dev_err(pil->dev, "MBA metadata buffer allocation failed\n");
+		ret = -ENOMEM;
+		goto fail;
+	}
+	memcpy(mdata_virt, metadata, size);
+	/* wmb() ensures copy completes prior to starting authentication. */
+	wmb();
+
+	if (pil->subsys_vmid > 0) {
+		ret = pil_assign_mem_to_subsys(pil, mdata_phys,
+							ALIGN(size, SZ_4K));
+		if (ret) {
+			pr_err("scm_call to unprotect modem metadata mem failed(rc:%d)\n",
+									ret);
+			dma_free_attrs(dma_dev, size, mdata_virt, mdata_phys,
+									attrs);
+			goto fail;
+		}
+	}
+
+	/* Initialize length counter to 0 */
+	writel_relaxed(0, drv->rmb_base + RMB_PMI_CODE_LENGTH);
+
+	/* Pass address of meta-data to the MBA and perform authentication */
+	writel_relaxed(mdata_phys, drv->rmb_base + RMB_PMI_META_DATA);
+	writel_relaxed(CMD_META_DATA_READY, drv->rmb_base + RMB_MBA_COMMAND);
+	ret = readl_poll_timeout(drv->rmb_base + RMB_MBA_STATUS, status,
+			status == STATUS_META_DATA_AUTH_SUCCESS || status < 0,
+			POLL_INTERVAL_US, val);
+	if (ret) {
+		dev_err(pil->dev, "MBA authentication of headers timed out(rc:%d)\n",
+								ret);
+	} else if (status < 0) {
+		dev_err(pil->dev, "MBA returned error %d for headers\n",
+				status);
+		ret = -EINVAL;
+	}
+
+	if (pil->subsys_vmid > 0)
+		pil_assign_mem_to_linux(pil, mdata_phys, ALIGN(size, SZ_4K));
+
+	dma_free_attrs(dma_dev, size, mdata_virt, mdata_phys, attrs);
+
+	if (!ret)
+		return ret;
+
+fail:
+	modem_log_rmb_regs(drv->rmb_base);
+	if (drv->q6) {
+		pil_mss_shutdown(pil);
+		if (pil->subsys_vmid > 0)
+			pil_assign_mem_to_linux(pil, drv->q6->mba_dp_phys,
+						drv->q6->mba_dp_size);
+		if (drv->q6->mba_dp_virt && !drv->mba_mem_dev_fixed) {
+			dma_free_attrs(dma_dev, drv->q6->mba_dp_size,
+				drv->q6->mba_dp_virt, drv->q6->mba_dp_phys,
+				drv->attrs_dma);
+			drv->q6->mba_dp_virt = NULL;
+		}
+
+	}
+	return ret;
+}
+
+static int pil_msa_mss_reset_mba_load_auth_mdt(struct pil_desc *pil,
+				const u8 *metadata, size_t size)
+{
+	int ret;
+
+	ret = pil_mss_reset_load_mba(pil);
+	if (ret)
+		return ret;
+
+	return pil_msa_auth_modem_mdt(pil, metadata, size);
+}
+
+static int pil_msa_mba_verify_blob(struct pil_desc *pil, phys_addr_t phy_addr,
+				   size_t size)
+{
+	struct modem_data *drv = dev_get_drvdata(pil->dev);
+	s32 status;
+	u32 img_length = readl_relaxed(drv->rmb_base + RMB_PMI_CODE_LENGTH);
+
+	/* Begin image authentication */
+	if (img_length == 0) {
+		writel_relaxed(phy_addr, drv->rmb_base + RMB_PMI_CODE_START);
+		writel_relaxed(CMD_LOAD_READY, drv->rmb_base + RMB_MBA_COMMAND);
+	}
+	/* Increment length counter */
+	img_length += size;
+	writel_relaxed(img_length, drv->rmb_base + RMB_PMI_CODE_LENGTH);
+
+	status = readl_relaxed(drv->rmb_base + RMB_MBA_STATUS);
+	if (status < 0) {
+		dev_err(pil->dev, "MBA returned error %d\n", status);
+		modem_log_rmb_regs(drv->rmb_base);
+		return -EINVAL;
+	}
+
+	return 0;
+}
+
+static int pil_msa_mba_auth(struct pil_desc *pil)
+{
+	struct modem_data *drv = dev_get_drvdata(pil->dev);
+	struct q6v5_data *q6_drv = container_of(pil, struct q6v5_data, desc);
+	int ret;
+	struct device *dma_dev = drv->mba_mem_dev_fixed ?: &drv->mba_mem_dev;
+	s32 status;
+	u64 val = is_timeout_disabled() ? 0 : modem_auth_timeout_ms * 1000;
+
+	/* Wait for all segments to be authenticated or an error to occur */
+	ret = readl_poll_timeout(drv->rmb_base + RMB_MBA_STATUS, status,
+		status == STATUS_AUTH_COMPLETE || status < 0, 50, val);
+	if (ret) {
+		dev_err(pil->dev, "MBA authentication of image timed out(rc:%d)\n",
+									ret);
+	} else if (status < 0) {
+		dev_err(pil->dev, "MBA returned error %d for image\n", status);
+		ret = -EINVAL;
+	}
+
+	if (drv->q6) {
+		if (drv->q6->mba_dp_virt && !drv->mba_mem_dev_fixed) {
+			/* Reclaim MBA and DP (if allocated) memory. */
+			if (pil->subsys_vmid > 0)
+				pil_assign_mem_to_linux(pil,
+					drv->q6->mba_dp_phys,
+					drv->q6->mba_dp_size);
+			dma_free_attrs(dma_dev, drv->q6->mba_dp_size,
+				drv->q6->mba_dp_virt, drv->q6->mba_dp_phys,
+				drv->attrs_dma);
+
+			drv->q6->mba_dp_virt = NULL;
+		}
+	}
+	if (ret)
+		modem_log_rmb_regs(drv->rmb_base);
+	if (q6_drv->ahb_clk_vote)
+		clk_disable_unprepare(q6_drv->ahb_clk);
+
+	return ret;
+}
+
+/*
+ * To be used only if self-auth is disabled, or if the
+ * MBA image is loaded as segments and not in init_image.
+ */
+struct pil_reset_ops pil_msa_mss_ops = {
+	.proxy_vote = pil_mss_make_proxy_votes,
+	.proxy_unvote = pil_mss_remove_proxy_votes,
+	.auth_and_reset = pil_mss_reset,
+	.shutdown = pil_mss_shutdown,
+};
+
+/*
+ * To be used if self-auth is enabled and the MBA is to be loaded
+ * in init_image and the modem headers are also to be authenticated
+ * in init_image. Modem segments authenticated in auth_and_reset.
+ */
+struct pil_reset_ops pil_msa_mss_ops_selfauth = {
+	.init_image = pil_msa_mss_reset_mba_load_auth_mdt,
+	.proxy_vote = pil_mss_make_proxy_votes,
+	.proxy_unvote = pil_mss_remove_proxy_votes,
+	.mem_setup = pil_mss_mem_setup,
+	.verify_blob = pil_msa_mba_verify_blob,
+	.auth_and_reset = pil_msa_mba_auth,
+	.deinit_image = pil_mss_deinit_image,
+	.shutdown = pil_mss_shutdown,
+};
+
+/*
+ * To be used if the modem headers are to be authenticated
+ * in init_image, and the modem segments in auth_and_reset.
+ */
+struct pil_reset_ops pil_msa_femto_mba_ops = {
+	.init_image = pil_msa_auth_modem_mdt,
+	.verify_blob = pil_msa_mba_verify_blob,
+	.auth_and_reset = pil_msa_mba_auth,
+};
diff --git a/drivers/soc/qcom/pil-msa.h b/drivers/soc/qcom/pil-msa.h
new file mode 100644
index 0000000..0310234
--- /dev/null
+++ b/drivers/soc/qcom/pil-msa.h
@@ -0,0 +1,52 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/* Copyright (c) 2012-2020, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef __MSM_PIL_MSA_H
+#define __MSM_PIL_MSA_H
+
+#include <soc/qcom/subsystem_restart.h>
+
+#include "peripheral-loader.h"
+
+struct modem_data {
+	struct q6v5_data *q6;
+	struct subsys_device *subsys;
+	struct subsys_desc subsys_desc;
+	void *ramdump_dev;
+	void *minidump_dev;
+	bool crash_shutdown;
+	u32 pas_id;
+	bool ignore_errors;
+	struct completion stop_ack;
+	void __iomem *rmb_base;
+	struct clk *xo;
+	struct pil_desc desc;
+	struct device mba_mem_dev;
+	struct device *mba_mem_dev_fixed;
+	unsigned long attrs_dma;
+};
+
+extern struct pil_reset_ops pil_msa_mss_ops;
+extern struct pil_reset_ops pil_msa_mss_ops_selfauth;
+extern struct pil_reset_ops pil_msa_femto_mba_ops;
+
+int pil_mss_reset_load_mba(struct pil_desc *pil);
+int pil_mss_make_proxy_votes(struct pil_desc *pil);
+void pil_mss_remove_proxy_votes(struct pil_desc *pil);
+int pil_mss_shutdown(struct pil_desc *pil);
+int pil_mss_deinit_image(struct pil_desc *pil);
+int __pil_mss_deinit_image(struct pil_desc *pil, bool err_path);
+int pil_mss_assert_resets(struct q6v5_data *drv);
+int pil_mss_deassert_resets(struct q6v5_data *drv);
+int pil_mss_debug_reset(struct pil_desc *pil);
+#endif
diff --git a/drivers/soc/qcom/pil-q6v5-mss.c b/drivers/soc/qcom/pil-q6v5-mss.c
new file mode 100644
index 0000000..db48b1a
--- /dev/null
+++ b/drivers/soc/qcom/pil-q6v5-mss.c
@@ -0,0 +1,554 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Copyright (c) 2012-2020, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#include <linux/init.h>
+#include <linux/module.h>
+#include <linux/platform_device.h>
+#include <linux/of_platform.h>
+#include <linux/io.h>
+#include <linux/iopoll.h>
+#include <linux/ioport.h>
+#include <linux/delay.h>
+#include <linux/sched.h>
+#include <linux/clk.h>
+#include <linux/err.h>
+#include <linux/of.h>
+#include <linux/regulator/consumer.h>
+#include <linux/interrupt.h>
+#include <linux/dma-mapping.h>
+#include <soc/qcom/subsystem_restart.h>
+#include <soc/qcom/ramdump.h>
+#include <linux/soc/qcom/smem.h>
+#include <linux/soc/qcom/smem_state.h>
+
+#include "peripheral-loader.h"
+#include "pil-q6v5.h"
+#include "pil-msa.h"
+
+#define PROXY_TIMEOUT_MS	10000
+#define MAX_SSR_REASON_LEN	256U
+#define STOP_ACK_TIMEOUT_MS	1000
+
+#define subsys_to_drv(d) container_of(d, struct modem_data, subsys_desc)
+
+static void log_modem_sfr(struct modem_data *drv)
+{
+	size_t size;
+	char *smem_reason, reason[MAX_SSR_REASON_LEN];
+
+	if (drv->q6->smem_id == -1)
+		return;
+
+	smem_reason = qcom_smem_get(QCOM_SMEM_HOST_ANY, drv->q6->smem_id,
+								&size);
+	if (IS_ERR(smem_reason) || !size) {
+		pr_err("modem SFR: (unknown, qcom_smem_get failed).\n");
+		return;
+	}
+	if (!smem_reason[0]) {
+		pr_err("modem SFR: (unknown, empty string found).\n");
+		return;
+	}
+
+	strlcpy(reason, smem_reason, min(size, (size_t)MAX_SSR_REASON_LEN));
+	pr_err("modem subsystem failure reason: %s.\n", reason);
+}
+
+static void restart_modem(struct modem_data *drv)
+{
+	log_modem_sfr(drv);
+	drv->ignore_errors = true;
+	subsystem_restart_dev(drv->subsys);
+}
+
+static irqreturn_t modem_err_fatal_intr_handler(int irq, void *dev_id)
+{
+	struct modem_data *drv = subsys_to_drv(dev_id);
+
+	/* Ignore if we're the one that set the force stop BIT */
+	if (drv->crash_shutdown)
+		return IRQ_HANDLED;
+
+	pr_err("Fatal error on the modem.\n");
+	subsys_set_crash_status(drv->subsys, CRASH_STATUS_ERR_FATAL);
+	restart_modem(drv);
+	return IRQ_HANDLED;
+}
+
+static irqreturn_t modem_stop_ack_intr_handler(int irq, void *dev_id)
+{
+	struct modem_data *drv = subsys_to_drv(dev_id);
+
+	pr_info("Received stop ack interrupt from modem\n");
+	complete(&drv->stop_ack);
+	return IRQ_HANDLED;
+}
+
+static irqreturn_t modem_shutdown_ack_intr_handler(int irq, void *dev_id)
+{
+	struct modem_data *drv = subsys_to_drv(dev_id);
+
+	pr_info("Received stop shutdown interrupt from modem\n");
+	complete_shutdown_ack(drv->subsys);
+	return IRQ_HANDLED;
+}
+
+static irqreturn_t modem_ramdump_disable_intr_handler(int irq, void *dev_id)
+{
+	struct modem_data *drv = subsys_to_drv(dev_id);
+
+	pr_info("Received ramdump disable interrupt from modem\n");
+	drv->subsys_desc.ramdump_disable = 1;
+	return IRQ_HANDLED;
+}
+
+static int modem_shutdown(const struct subsys_desc *subsys, bool force_stop)
+{
+	struct modem_data *drv = subsys_to_drv(subsys);
+	unsigned long ret;
+
+	if (subsys->is_not_loadable)
+		return 0;
+
+	if (!subsys_get_crash_status(drv->subsys) && force_stop &&
+	    subsys->force_stop_bit) {
+		qcom_smem_state_update_bits(subsys->state,
+				BIT(subsys->force_stop_bit), 1);
+		ret = wait_for_completion_timeout(&drv->stop_ack,
+				msecs_to_jiffies(STOP_ACK_TIMEOUT_MS));
+		if (!ret)
+			pr_warn("Timed out on stop ack from modem.\n");
+		qcom_smem_state_update_bits(subsys->state,
+				BIT(subsys->force_stop_bit), 0);
+	}
+
+	if (drv->subsys_desc.ramdump_disable_irq) {
+		pr_warn("Ramdump disable value is %d\n",
+			drv->subsys_desc.ramdump_disable);
+	}
+
+	pil_shutdown(&drv->q6->desc);
+
+	return 0;
+}
+
+static int modem_powerup(const struct subsys_desc *subsys)
+{
+	struct modem_data *drv = subsys_to_drv(subsys);
+
+	if (subsys->is_not_loadable)
+		return 0;
+	/*
+	 * At this time, the modem is shutdown. Therefore this function cannot
+	 * run concurrently with the watchdog bite error handler, making it safe
+	 * to unset the flag below.
+	 */
+	reinit_completion(&drv->stop_ack);
+	drv->subsys_desc.ramdump_disable = 0;
+	drv->ignore_errors = false;
+	drv->q6->desc.fw_name = subsys->fw_name;
+	return pil_boot(&drv->q6->desc);
+}
+
+static void modem_crash_shutdown(const struct subsys_desc *subsys)
+{
+	struct modem_data *drv = subsys_to_drv(subsys);
+
+	drv->crash_shutdown = true;
+	if (!subsys_get_crash_status(drv->subsys) &&
+		subsys->force_stop_bit) {
+		qcom_smem_state_update_bits(subsys->state,
+				BIT(subsys->force_stop_bit), 1);
+		msleep(STOP_ACK_TIMEOUT_MS);
+	}
+}
+
+static int modem_ramdump(int enable, const struct subsys_desc *subsys)
+{
+	struct modem_data *drv = subsys_to_drv(subsys);
+	int ret;
+
+	if (!enable)
+		return 0;
+
+	ret = pil_mss_make_proxy_votes(&drv->q6->desc);
+	if (ret)
+		return ret;
+
+	ret = pil_mss_debug_reset(&drv->q6->desc);
+	if (ret)
+		return ret;
+
+	pil_mss_remove_proxy_votes(&drv->q6->desc);
+	ret = pil_mss_make_proxy_votes(&drv->q6->desc);
+	if (ret)
+		return ret;
+
+	ret = pil_mss_reset_load_mba(&drv->q6->desc);
+	if (ret)
+		return ret;
+
+	ret = pil_do_ramdump(&drv->q6->desc,
+			drv->ramdump_dev, drv->minidump_dev);
+	if (ret < 0)
+		pr_err("Unable to dump modem fw memory (rc = %d).\n", ret);
+
+	ret = __pil_mss_deinit_image(&drv->q6->desc, false);
+	if (ret < 0)
+		pr_err("Unable to free up resources (rc = %d).\n", ret);
+
+	pil_mss_remove_proxy_votes(&drv->q6->desc);
+	return ret;
+}
+
+static irqreturn_t modem_wdog_bite_intr_handler(int irq, void *dev_id)
+{
+	struct modem_data *drv = subsys_to_drv(dev_id);
+
+	if (drv->ignore_errors)
+		return IRQ_HANDLED;
+
+	pr_err("Watchdog bite received from modem software!\n");
+	if (drv->subsys_desc.system_debug)
+		panic("%s: System ramdump requested. Triggering device restart!\n",
+							__func__);
+	subsys_set_crash_status(drv->subsys, CRASH_STATUS_WDOG_BITE);
+	restart_modem(drv);
+	return IRQ_HANDLED;
+}
+
+static int pil_subsys_init(struct modem_data *drv,
+					struct platform_device *pdev)
+{
+	int ret = -EINVAL;
+
+	drv->subsys_desc.name = "modem";
+	drv->subsys_desc.dev = &pdev->dev;
+	drv->subsys_desc.owner = THIS_MODULE;
+	drv->subsys_desc.shutdown = modem_shutdown;
+	drv->subsys_desc.powerup = modem_powerup;
+	drv->subsys_desc.ramdump = modem_ramdump;
+	drv->subsys_desc.crash_shutdown = modem_crash_shutdown;
+	drv->subsys_desc.err_fatal_handler = modem_err_fatal_intr_handler;
+	drv->subsys_desc.stop_ack_handler = modem_stop_ack_intr_handler;
+	drv->subsys_desc.wdog_bite_handler = modem_wdog_bite_intr_handler;
+	drv->subsys_desc.ramdump_disable_handler =
+					modem_ramdump_disable_intr_handler;
+	drv->subsys_desc.shutdown_ack_handler = modem_shutdown_ack_intr_handler;
+
+	if (IS_ERR_OR_NULL(drv->q6)) {
+		ret = PTR_ERR(drv->q6);
+		dev_err(&pdev->dev, "Pil q6 data is err %pK %d!!!\n",
+			drv->q6, ret);
+		goto err_subsys;
+	}
+
+	drv->q6->desc.modem_ssr = false;
+	drv->q6->desc.signal_aop = of_property_read_bool(pdev->dev.of_node,
+						"qcom,signal-aop");
+	if (drv->q6->desc.signal_aop) {
+		drv->q6->desc.cl.dev = &pdev->dev;
+		drv->q6->desc.cl.tx_block = true;
+		drv->q6->desc.cl.tx_tout = 1000;
+		drv->q6->desc.cl.knows_txdone = false;
+		drv->q6->desc.mbox = mbox_request_channel(&drv->q6->desc.cl, 0);
+		if (IS_ERR(drv->q6->desc.mbox)) {
+			ret = PTR_ERR(drv->q6->desc.mbox);
+			dev_err(&pdev->dev, "Failed to get mailbox channel %pK %d\n",
+				drv->q6->desc.mbox, ret);
+			goto err_subsys;
+		}
+	}
+
+	drv->subsys = subsys_register(&drv->subsys_desc);
+	if (IS_ERR(drv->subsys)) {
+		ret = PTR_ERR(drv->subsys);
+		goto err_subsys;
+	}
+
+	drv->ramdump_dev = create_ramdump_device("modem", &pdev->dev);
+	if (!drv->ramdump_dev) {
+		pr_err("%s: Unable to create a modem ramdump device.\n",
+			__func__);
+		ret = -ENOMEM;
+		goto err_ramdump;
+	}
+	drv->minidump_dev = create_ramdump_device("md_modem", &pdev->dev);
+	if (!drv->minidump_dev) {
+		pr_err("%s: Unable to create a modem minidump device.\n",
+			__func__);
+		ret = -ENOMEM;
+		goto err_minidump;
+	}
+
+	return 0;
+
+err_minidump:
+	destroy_ramdump_device(drv->ramdump_dev);
+err_ramdump:
+	subsys_unregister(drv->subsys);
+err_subsys:
+	return ret;
+}
+
+static int pil_mss_loadable_init(struct modem_data *drv,
+					struct platform_device *pdev)
+{
+	struct q6v5_data *q6;
+	struct pil_desc *q6_desc;
+	struct resource *res;
+	struct property *prop;
+	int ret;
+
+	q6 = pil_q6v5_init(pdev);
+	if (IS_ERR_OR_NULL(q6))
+		return PTR_ERR(q6);
+	drv->q6 = q6;
+	drv->xo = q6->xo;
+
+	q6_desc = &q6->desc;
+	q6_desc->owner = THIS_MODULE;
+	q6_desc->proxy_timeout = PROXY_TIMEOUT_MS;
+
+	q6_desc->ops = &pil_msa_mss_ops;
+
+	q6_desc->sequential_loading = of_property_read_bool(pdev->dev.of_node,
+						"qcom,sequential-fw-load");
+	q6->reset_clk = of_property_read_bool(pdev->dev.of_node,
+							"qcom,reset-clk");
+	q6->self_auth = of_property_read_bool(pdev->dev.of_node,
+							"qcom,pil-self-auth");
+	if (q6->self_auth) {
+		res = platform_get_resource_byname(pdev, IORESOURCE_MEM,
+						    "rmb_base");
+		q6->rmb_base = devm_ioremap_resource(&pdev->dev, res);
+		if (IS_ERR(q6->rmb_base))
+			return PTR_ERR(q6->rmb_base);
+		drv->rmb_base = q6->rmb_base;
+		q6_desc->ops = &pil_msa_mss_ops_selfauth;
+	}
+
+	res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "restart_reg");
+	if (!res) {
+		res = platform_get_resource_byname(pdev, IORESOURCE_MEM,
+							"restart_reg_sec");
+		if (!res) {
+			dev_err(&pdev->dev, "No restart register defined\n");
+			return -ENOMEM;
+		}
+		q6->restart_reg_sec = true;
+	}
+
+	q6->restart_reg = devm_ioremap(&pdev->dev,
+						res->start, resource_size(res));
+	if (!q6->restart_reg)
+		return -ENOMEM;
+
+	q6->pdc_sync = NULL;
+	res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "pdc_sync");
+	if (res) {
+		q6->pdc_sync = devm_ioremap(&pdev->dev,
+						res->start, resource_size(res));
+		if (of_property_read_u32(pdev->dev.of_node,
+			"qcom,mss_pdc_offset", &q6->mss_pdc_offset)) {
+			dev_err(&pdev->dev,
+				"Offset for MSS PDC not specified\n");
+			return -EINVAL;
+		}
+
+	}
+
+	q6->alt_reset = NULL;
+	res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "alt_reset");
+	if (res) {
+		q6->alt_reset = devm_ioremap(&pdev->dev,
+						res->start, resource_size(res));
+	}
+
+	q6->vreg = NULL;
+
+	prop = of_find_property(pdev->dev.of_node, "vdd_mss-supply", NULL);
+	if (prop) {
+		q6->vreg = devm_regulator_get(&pdev->dev, "vdd_mss");
+		if (IS_ERR(q6->vreg))
+			return PTR_ERR(q6->vreg);
+	}
+
+	q6->vreg_mx = devm_regulator_get(&pdev->dev, "vdd_mx");
+	if (IS_ERR(q6->vreg_mx))
+		return PTR_ERR(q6->vreg_mx);
+	prop = of_find_property(pdev->dev.of_node, "vdd_mx-uV", NULL);
+	if (!prop) {
+		dev_err(&pdev->dev, "Missing vdd_mx-uV property\n");
+		return -EINVAL;
+	}
+
+	res = platform_get_resource_byname(pdev, IORESOURCE_MEM,
+		"cxrail_bhs_reg");
+	if (res)
+		q6->cxrail_bhs = devm_ioremap(&pdev->dev, res->start,
+					  resource_size(res));
+
+	q6->ahb_clk = devm_clk_get(&pdev->dev, "iface_clk");
+	if (IS_ERR(q6->ahb_clk))
+		return PTR_ERR(q6->ahb_clk);
+
+	q6->axi_clk = devm_clk_get(&pdev->dev, "bus_clk");
+	if (IS_ERR(q6->axi_clk))
+		return PTR_ERR(q6->axi_clk);
+
+	q6->rom_clk = devm_clk_get(&pdev->dev, "mem_clk");
+	if (IS_ERR(q6->rom_clk))
+		return PTR_ERR(q6->rom_clk);
+
+	ret = of_property_read_u32(pdev->dev.of_node,
+					"qcom,pas-id", &drv->pas_id);
+	if (ret)
+		dev_info(&pdev->dev, "No pas_id found.\n");
+
+	drv->subsys_desc.pil_mss_memsetup =
+	of_property_read_bool(pdev->dev.of_node, "qcom,pil-mss-memsetup");
+
+	/* Optional. */
+	if (of_property_match_string(pdev->dev.of_node,
+			"qcom,active-clock-names", "gpll0_mss_clk") >= 0)
+		q6->gpll0_mss_clk = devm_clk_get(&pdev->dev, "gpll0_mss_clk");
+
+	if (of_property_match_string(pdev->dev.of_node,
+			"qcom,active-clock-names", "snoc_axi_clk") >= 0)
+		q6->snoc_axi_clk = devm_clk_get(&pdev->dev, "snoc_axi_clk");
+
+	if (of_property_match_string(pdev->dev.of_node,
+			"qcom,active-clock-names", "mnoc_axi_clk") >= 0)
+		q6->mnoc_axi_clk = devm_clk_get(&pdev->dev, "mnoc_axi_clk");
+
+	/* Defaulting smem_id to be not present */
+	q6->smem_id = -1;
+
+	if (of_find_property(pdev->dev.of_node, "qcom,smem-id", NULL)) {
+		ret = of_property_read_u32(pdev->dev.of_node, "qcom,smem-id",
+					   &q6->smem_id);
+		if (ret) {
+			dev_err(&pdev->dev, "Failed to get the smem_id(ret:%d)\n",
+				ret);
+			return ret;
+		}
+	}
+
+	ret = pil_desc_init(q6_desc);
+
+	return ret;
+}
+
+static int pil_mss_driver_probe(struct platform_device *pdev)
+{
+	struct modem_data *drv;
+	int ret, is_not_loadable;
+
+	drv = devm_kzalloc(&pdev->dev, sizeof(*drv), GFP_KERNEL);
+	if (!drv)
+		return -ENOMEM;
+	platform_set_drvdata(pdev, drv);
+
+	is_not_loadable = of_property_read_bool(pdev->dev.of_node,
+							"qcom,is-not-loadable");
+	if (is_not_loadable) {
+		drv->subsys_desc.is_not_loadable = 1;
+	} else {
+		ret = pil_mss_loadable_init(drv, pdev);
+		if (ret)
+			return ret;
+	}
+	init_completion(&drv->stop_ack);
+
+	/* Probe the MBA mem device if present */
+	ret = of_platform_populate(pdev->dev.of_node, NULL, NULL, &pdev->dev);
+	if (ret)
+		return ret;
+
+	return pil_subsys_init(drv, pdev);
+}
+
+static int pil_mss_driver_exit(struct platform_device *pdev)
+{
+	struct modem_data *drv = platform_get_drvdata(pdev);
+
+	subsys_unregister(drv->subsys);
+	destroy_ramdump_device(drv->ramdump_dev);
+	destroy_ramdump_device(drv->minidump_dev);
+	pil_desc_release(&drv->q6->desc);
+	return 0;
+}
+
+static int pil_mba_mem_driver_probe(struct platform_device *pdev)
+{
+	struct modem_data *drv;
+
+	if (!pdev->dev.parent) {
+		pr_err("No parent found.\n");
+		return -EINVAL;
+	}
+	drv = dev_get_drvdata(pdev->dev.parent);
+	drv->mba_mem_dev_fixed = &pdev->dev;
+	return 0;
+}
+
+static const struct of_device_id mba_mem_match_table[] = {
+	{ .compatible = "qcom,pil-mba-mem" },
+	{}
+};
+
+static struct platform_driver pil_mba_mem_driver = {
+	.probe = pil_mba_mem_driver_probe,
+	.driver = {
+		.name = "pil-mba-mem",
+		.of_match_table = mba_mem_match_table,
+	},
+};
+
+static const struct of_device_id mss_match_table[] = {
+	{ .compatible = "qcom,pil-q6v5-mss" },
+	{ .compatible = "qcom,pil-q6v55-mss" },
+	{ .compatible = "qcom,pil-q6v56-mss" },
+	{}
+};
+
+static struct platform_driver pil_mss_driver = {
+	.probe = pil_mss_driver_probe,
+	.remove = pil_mss_driver_exit,
+	.driver = {
+		.name = "pil-q6v5-mss",
+		.of_match_table = mss_match_table,
+	},
+};
+
+static int __init pil_mss_init(void)
+{
+	int ret;
+
+	ret = platform_driver_register(&pil_mba_mem_driver);
+	if (!ret)
+		ret = platform_driver_register(&pil_mss_driver);
+	return ret;
+}
+module_init(pil_mss_init);
+
+static void __exit pil_mss_exit(void)
+{
+	platform_driver_unregister(&pil_mss_driver);
+}
+module_exit(pil_mss_exit);
+
+MODULE_DESCRIPTION("Support for booting modem subsystems with QDSP6v5 Hexagon processors");
+MODULE_LICENSE("GPL v2");
diff --git a/drivers/soc/qcom/pil-q6v5.c b/drivers/soc/qcom/pil-q6v5.c
new file mode 100644
index 0000000..208e327
--- /dev/null
+++ b/drivers/soc/qcom/pil-q6v5.c
@@ -0,0 +1,848 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Copyright (c) 2012-2020, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#include <linux/init.h>
+#include <linux/module.h>
+#include <linux/platform_device.h>
+#include <linux/io.h>
+#include <linux/iopoll.h>
+#include <linux/err.h>
+#include <linux/of.h>
+#include <linux/clk.h>
+#include <linux/regulator/consumer.h>
+#include <trace/events/trace_msm_pil_event.h>
+
+#include "peripheral-loader.h"
+#include "pil-msa.h"
+#include "pil-q6v5.h"
+
+/* QDSP6SS Register Offsets */
+#define QDSP6SS_RESET			0x014
+#define QDSP6SS_GFMUX_CTL		0x020
+#define QDSP6SS_PWR_CTL			0x030
+#define QDSP6V6SS_MEM_PWR_CTL		0x034
+#define QDSP6SS_BHS_STATUS		0x078
+#define QDSP6SS_MEM_PWR_CTL		0x0B0
+#define QDSP6SS_STRAP_ACC		0x110
+#define QDSP6V62SS_BHS_STATUS		0x0C4
+
+/* AXI Halt Register Offsets */
+#define AXI_HALTREQ			0x0
+#define AXI_HALTACK			0x4
+#define AXI_IDLE			0x8
+
+#define HALT_ACK_TIMEOUT_US		100000
+
+/* QDSP6SS_RESET */
+#define Q6SS_STOP_CORE			BIT(0)
+#define Q6SS_CORE_ARES			BIT(1)
+#define Q6SS_BUS_ARES_ENA		BIT(2)
+
+/* QDSP6SS_GFMUX_CTL */
+#define Q6SS_CLK_ENA			BIT(1)
+#define Q6SS_CLK_SRC_SEL_C		BIT(3)
+#define Q6SS_CLK_SRC_SEL_FIELD		0xC
+#define Q6SS_CLK_SRC_SWITCH_CLK_OVR	BIT(8)
+
+/* QDSP6SS_PWR_CTL */
+#define Q6SS_L2DATA_SLP_NRET_N_0	BIT(0)
+#define Q6SS_L2DATA_SLP_NRET_N_1	BIT(1)
+#define Q6SS_L2DATA_SLP_NRET_N_2	BIT(2)
+#define Q6SS_L2TAG_SLP_NRET_N		BIT(16)
+#define Q6SS_ETB_SLP_NRET_N		BIT(17)
+#define Q6SS_L2DATA_STBY_N		BIT(18)
+#define Q6SS_SLP_RET_N			BIT(19)
+#define Q6SS_CLAMP_IO			BIT(20)
+#define QDSS_BHS_ON			BIT(21)
+#define QDSS_LDO_BYP			BIT(22)
+
+/* QDSP6v55 parameters */
+#define QDSP6v55_LDO_ON                 BIT(26)
+#define QDSP6v55_LDO_BYP                BIT(25)
+#define QDSP6v55_BHS_ON                 BIT(24)
+#define QDSP6v55_CLAMP_WL               BIT(21)
+#define QDSP6v55_CLAMP_QMC_MEM          BIT(22)
+#define L1IU_SLP_NRET_N                 BIT(15)
+#define L1DU_SLP_NRET_N                 BIT(14)
+#define L2PLRU_SLP_NRET_N               BIT(13)
+#define QDSP6v55_BHS_EN_REST_ACK        BIT(0)
+
+#define HALT_CHECK_MAX_LOOPS            (200)
+#define BHS_CHECK_MAX_LOOPS             (200)
+#define QDSP6SS_XO_CBCR                 (0x0038)
+
+/* QDSP6v65 parameters */
+#define QDSP6SS_BOOT_CORE_START		(0x400)
+#define QDSP6SS_BOOT_CMD		(0x404)
+#define MSS_STATUS			(0x40)
+#define QDSP6SS_SLEEP			(0x3C)
+#define SLEEP_CHECK_MAX_LOOPS		(200)
+#define BOOT_FSM_TIMEOUT		(10000)
+
+#define QDSP6SS_ACC_OVERRIDE_VAL	0x20
+
+int pil_q6v5_make_proxy_votes(struct pil_desc *pil)
+{
+	int ret;
+	struct q6v5_data *drv = container_of(pil, struct q6v5_data, desc);
+	int uv;
+
+	ret = of_property_read_u32(pil->dev->of_node, "vdd_cx-voltage", &uv);
+	if (ret) {
+		dev_err(pil->dev, "missing vdd_cx-voltage property(rc:%d)\n",
+								ret);
+		return ret;
+	}
+
+	ret = clk_prepare_enable(drv->xo);
+	if (ret) {
+		dev_err(pil->dev, "Failed to vote for XO(rc:%d)\n", ret);
+		goto out;
+	}
+
+	ret = clk_prepare_enable(drv->pnoc_clk);
+	if (ret) {
+		dev_err(pil->dev, "Failed to vote for pnoc(rc:%d)\n", ret);
+		goto err_pnoc_vote;
+	}
+
+	ret = clk_prepare_enable(drv->qdss_clk);
+	if (ret) {
+		dev_err(pil->dev, "Failed to vote for qdss(rc:%d)\n", ret);
+		goto err_qdss_vote;
+	}
+
+	ret = clk_prepare_enable(drv->prng_clk);
+	if (ret) {
+		dev_err(pil->dev, "Failed to vote for prng(rc:%d)\n", ret);
+		goto err_prng_vote;
+	}
+
+	ret = clk_prepare_enable(drv->axis2_clk);
+	if (ret) {
+		dev_err(pil->dev, "Failed to vote for axis2(rc:%d)\n", ret);
+		goto err_axis2_vote;
+	}
+
+	ret = regulator_set_voltage(drv->vreg_cx, uv, INT_MAX);
+	if (ret) {
+		dev_err(pil->dev, "Failed to request vdd_cx voltage(rc:%d)\n",
+								ret);
+		goto err_cx_voltage;
+	}
+
+	ret = regulator_set_load(drv->vreg_cx, 100000);
+	if (ret < 0) {
+		dev_err(pil->dev, "Failed to set vdd_cx mode(rc:%d)\n", ret);
+		goto err_cx_mode;
+	}
+
+	ret = regulator_enable(drv->vreg_cx);
+	if (ret) {
+		dev_err(pil->dev, "Failed to vote for vdd_cx(rc:%d)\n", ret);
+		goto err_cx_enable;
+	}
+
+	if (drv->vreg_pll) {
+		ret = regulator_enable(drv->vreg_pll);
+		if (ret) {
+			dev_err(pil->dev, "Failed to vote for vdd_pll(rc:%d)\n",
+									ret);
+			goto err_vreg_pll;
+		}
+	}
+
+	return 0;
+
+err_vreg_pll:
+	regulator_disable(drv->vreg_cx);
+err_cx_enable:
+	regulator_set_load(drv->vreg_cx, 0);
+err_cx_mode:
+	regulator_set_voltage(drv->vreg_cx, 0, INT_MAX);
+err_cx_voltage:
+	clk_disable_unprepare(drv->axis2_clk);
+err_axis2_vote:
+	clk_disable_unprepare(drv->prng_clk);
+err_prng_vote:
+	clk_disable_unprepare(drv->qdss_clk);
+err_qdss_vote:
+	clk_disable_unprepare(drv->pnoc_clk);
+err_pnoc_vote:
+	clk_disable_unprepare(drv->xo);
+out:
+	return ret;
+}
+EXPORT_SYMBOL(pil_q6v5_make_proxy_votes);
+
+void pil_q6v5_remove_proxy_votes(struct pil_desc *pil)
+{
+	struct q6v5_data *drv = container_of(pil, struct q6v5_data, desc);
+	int uv, ret = 0;
+
+	ret = of_property_read_u32(pil->dev->of_node, "vdd_cx-voltage", &uv);
+	if (ret) {
+		dev_err(pil->dev, "missing vdd_cx-voltage property(rc:%d)\n",
+									ret);
+		return;
+	}
+
+	if (drv->vreg_pll) {
+		regulator_disable(drv->vreg_pll);
+		regulator_set_load(drv->vreg_pll, 0);
+	}
+	regulator_disable(drv->vreg_cx);
+	regulator_set_load(drv->vreg_cx, 0);
+	regulator_set_voltage(drv->vreg_cx, 0, INT_MAX);
+	clk_disable_unprepare(drv->xo);
+	clk_disable_unprepare(drv->pnoc_clk);
+	clk_disable_unprepare(drv->qdss_clk);
+	clk_disable_unprepare(drv->prng_clk);
+	clk_disable_unprepare(drv->axis2_clk);
+}
+EXPORT_SYMBOL(pil_q6v5_remove_proxy_votes);
+
+void pil_q6v5_halt_axi_port(struct pil_desc *pil, void __iomem *halt_base)
+{
+	int ret;
+	u32 status;
+
+	/* Assert halt request */
+	writel_relaxed(1, halt_base + AXI_HALTREQ);
+
+	/* Wait for halt */
+	ret = readl_poll_timeout(halt_base + AXI_HALTACK,
+		status, status != 0, 50, HALT_ACK_TIMEOUT_US);
+	if (ret)
+		dev_warn(pil->dev, "Port %pK halt timeout\n", halt_base);
+	else if (!readl_relaxed(halt_base + AXI_IDLE))
+		dev_warn(pil->dev, "Port %pK halt failed\n", halt_base);
+
+	/* Clear halt request (port will remain halted until reset) */
+	writel_relaxed(0, halt_base + AXI_HALTREQ);
+}
+EXPORT_SYMBOL(pil_q6v5_halt_axi_port);
+
+void assert_clamps(struct pil_desc *pil)
+{
+	u32 val;
+	struct q6v5_data *drv = container_of(pil, struct q6v5_data, desc);
+
+	/*
+	 * Assert QDSP6 I/O clamp, memory wordline clamp, and compiler memory
+	 * clamp as a software workaround to avoid high MX current during
+	 * LPASS/MSS restart.
+	 */
+	val = readl_relaxed(drv->reg_base + QDSP6SS_PWR_CTL);
+	val |= (Q6SS_CLAMP_IO | QDSP6v55_CLAMP_WL |
+			QDSP6v55_CLAMP_QMC_MEM);
+	writel_relaxed(val, drv->reg_base + QDSP6SS_PWR_CTL);
+	/* To make sure asserting clamps is done before MSS restart*/
+	mb();
+}
+
+static void __pil_q6v5_shutdown(struct pil_desc *pil)
+{
+	u32 val;
+	struct q6v5_data *drv = container_of(pil, struct q6v5_data, desc);
+
+	/* Turn off core clock */
+	val = readl_relaxed(drv->reg_base + QDSP6SS_GFMUX_CTL);
+	val &= ~Q6SS_CLK_ENA;
+	writel_relaxed(val, drv->reg_base + QDSP6SS_GFMUX_CTL);
+
+	/* Clamp IO */
+	val = readl_relaxed(drv->reg_base + QDSP6SS_PWR_CTL);
+	val |= Q6SS_CLAMP_IO;
+	writel_relaxed(val, drv->reg_base + QDSP6SS_PWR_CTL);
+
+	/* Turn off Q6 memories */
+	val &= ~(Q6SS_L2DATA_SLP_NRET_N_0 | Q6SS_L2DATA_SLP_NRET_N_1 |
+		 Q6SS_L2DATA_SLP_NRET_N_2 | Q6SS_SLP_RET_N |
+		 Q6SS_L2TAG_SLP_NRET_N | Q6SS_ETB_SLP_NRET_N |
+		 Q6SS_L2DATA_STBY_N);
+	writel_relaxed(val, drv->reg_base + QDSP6SS_PWR_CTL);
+
+	/* Assert Q6 resets */
+	val = readl_relaxed(drv->reg_base + QDSP6SS_RESET);
+	val |= (Q6SS_CORE_ARES | Q6SS_BUS_ARES_ENA);
+	writel_relaxed(val, drv->reg_base + QDSP6SS_RESET);
+
+	/* Kill power at block headswitch */
+	val = readl_relaxed(drv->reg_base + QDSP6SS_PWR_CTL);
+	val &= ~QDSS_BHS_ON;
+	writel_relaxed(val, drv->reg_base + QDSP6SS_PWR_CTL);
+}
+
+void pil_q6v5_shutdown(struct pil_desc *pil)
+{
+	struct q6v5_data *drv = container_of(pil, struct q6v5_data, desc);
+
+	if (drv->qdsp6v55) {
+		/* Subsystem driver expected to halt bus and assert reset */
+		return;
+	}
+	__pil_q6v5_shutdown(pil);
+}
+EXPORT_SYMBOL(pil_q6v5_shutdown);
+
+static int __pil_q6v5_reset(struct pil_desc *pil)
+{
+	struct q6v5_data *drv = container_of(pil, struct q6v5_data, desc);
+	u32 val;
+
+	/* Assert resets, stop core */
+	val = readl_relaxed(drv->reg_base + QDSP6SS_RESET);
+	val |= (Q6SS_CORE_ARES | Q6SS_BUS_ARES_ENA | Q6SS_STOP_CORE);
+	writel_relaxed(val, drv->reg_base + QDSP6SS_RESET);
+
+	/* Enable power block headswitch, and wait for it to stabilize */
+	val = readl_relaxed(drv->reg_base + QDSP6SS_PWR_CTL);
+	val |= QDSS_BHS_ON | QDSS_LDO_BYP;
+	writel_relaxed(val, drv->reg_base + QDSP6SS_PWR_CTL);
+
+	/* Ensure physical memory access is done*/
+	mb();
+	udelay(1);
+
+	/*
+	 * Turn on memories. L2 banks should be done individually
+	 * to minimize inrush current.
+	 */
+	val = readl_relaxed(drv->reg_base + QDSP6SS_PWR_CTL);
+	val |= Q6SS_SLP_RET_N | Q6SS_L2TAG_SLP_NRET_N |
+	       Q6SS_ETB_SLP_NRET_N | Q6SS_L2DATA_STBY_N;
+	writel_relaxed(val, drv->reg_base + QDSP6SS_PWR_CTL);
+	val |= Q6SS_L2DATA_SLP_NRET_N_2;
+	writel_relaxed(val, drv->reg_base + QDSP6SS_PWR_CTL);
+	val |= Q6SS_L2DATA_SLP_NRET_N_1;
+	writel_relaxed(val, drv->reg_base + QDSP6SS_PWR_CTL);
+	val |= Q6SS_L2DATA_SLP_NRET_N_0;
+	writel_relaxed(val, drv->reg_base + QDSP6SS_PWR_CTL);
+
+	/* Remove IO clamp */
+	val &= ~Q6SS_CLAMP_IO;
+	writel_relaxed(val, drv->reg_base + QDSP6SS_PWR_CTL);
+
+	/* Bring core out of reset */
+	val = readl_relaxed(drv->reg_base + QDSP6SS_RESET);
+	val &= ~Q6SS_CORE_ARES;
+	writel_relaxed(val, drv->reg_base + QDSP6SS_RESET);
+
+	/* Turn on core clock */
+	val = readl_relaxed(drv->reg_base + QDSP6SS_GFMUX_CTL);
+	val |= Q6SS_CLK_ENA;
+
+	/* Need a different clock source for v5.2.0 */
+	if (drv->qdsp6v5_2_0) {
+		val &= ~Q6SS_CLK_SRC_SEL_FIELD;
+		val |= Q6SS_CLK_SRC_SEL_C;
+	}
+
+	/* force clock on during source switch */
+	if (drv->qdsp6v56)
+		val |= Q6SS_CLK_SRC_SWITCH_CLK_OVR;
+
+	writel_relaxed(val, drv->reg_base + QDSP6SS_GFMUX_CTL);
+
+	/* Start core execution */
+	val = readl_relaxed(drv->reg_base + QDSP6SS_RESET);
+	val &= ~Q6SS_STOP_CORE;
+	writel_relaxed(val, drv->reg_base + QDSP6SS_RESET);
+
+	return 0;
+}
+
+static int q6v55_branch_clk_enable(struct q6v5_data *drv)
+{
+	u32 val, count;
+	void __iomem *cbcr_reg = drv->reg_base + QDSP6SS_XO_CBCR;
+
+	val = readl_relaxed(cbcr_reg);
+	val |= 0x1;
+	writel_relaxed(val, cbcr_reg);
+
+	for (count = HALT_CHECK_MAX_LOOPS; count > 0; count--) {
+		val = readl_relaxed(cbcr_reg);
+		if (!(val & BIT(31)))
+			return 0;
+		udelay(1);
+	}
+
+	dev_err(drv->desc.dev, "Failed to enable xo branch clock.\n");
+	return -EINVAL;
+}
+
+static int __pil_q6v65_reset(struct pil_desc *pil)
+{
+	struct q6v5_data *drv = container_of(pil, struct q6v5_data, desc);
+	u32 val, count;
+	int ret;
+
+	val = readl_relaxed(drv->reg_base + QDSP6SS_SLEEP);
+	val |= 0x1;
+	writel_relaxed(val, drv->reg_base + QDSP6SS_SLEEP);
+	for (count = SLEEP_CHECK_MAX_LOOPS; count > 0; count--) {
+		val = readl_relaxed(drv->reg_base + QDSP6SS_SLEEP);
+		if (!(val & BIT(31)))
+			break;
+		udelay(1);
+	}
+
+	if (!count) {
+		dev_err(drv->desc.dev, "Sleep clock did not come on in time\n");
+		return -ETIMEDOUT;
+	}
+
+	/* De-assert QDSP6 stop core */
+	writel_relaxed(1, drv->reg_base + QDSP6SS_BOOT_CORE_START);
+	/* De-assert stop core before starting boot FSM */
+	mb();
+	/* Trigger boot FSM */
+	writel_relaxed(1, drv->reg_base + QDSP6SS_BOOT_CMD);
+
+	/* Wait for boot FSM to complete */
+	ret = readl_poll_timeout(drv->rmb_base + MSS_STATUS, val,
+			(val & BIT(0)) != 0, 10, BOOT_FSM_TIMEOUT);
+
+	if (ret) {
+		dev_err(drv->desc.dev, "Boot FSM failed to complete.\n");
+		/* Reset the modem so that boot FSM is in reset state */
+		pil_mss_assert_resets(drv);
+		/* Wait 6 32kHz sleep cycles for reset */
+		udelay(200);
+		pil_mss_deassert_resets(drv);
+	}
+
+	return ret;
+}
+
+static int __pil_q6v55_reset(struct pil_desc *pil)
+{
+	struct q6v5_data *drv = container_of(pil, struct q6v5_data, desc);
+	u32 val;
+	int i;
+
+	trace_pil_func(__func__);
+	/* Override the ACC value if required */
+	if (drv->override_acc)
+		writel_relaxed(QDSP6SS_ACC_OVERRIDE_VAL,
+				drv->reg_base + QDSP6SS_STRAP_ACC);
+
+	/* Override the ACC value with input value */
+	if (!of_property_read_u32(pil->dev->of_node, "qcom,override-acc-1",
+				&drv->override_acc_1))
+		writel_relaxed(drv->override_acc_1,
+				drv->reg_base + QDSP6SS_STRAP_ACC);
+
+	/* Assert resets, stop core */
+	val = readl_relaxed(drv->reg_base + QDSP6SS_RESET);
+	val |= (Q6SS_CORE_ARES | Q6SS_BUS_ARES_ENA | Q6SS_STOP_CORE);
+	writel_relaxed(val, drv->reg_base + QDSP6SS_RESET);
+
+	/* BHS require xo cbcr to be enabled */
+	i = q6v55_branch_clk_enable(drv);
+	if (i)
+		return i;
+
+	/* Enable power block headswitch, and wait for it to stabilize */
+	val = readl_relaxed(drv->reg_base + QDSP6SS_PWR_CTL);
+	val |= QDSP6v55_BHS_ON;
+	writel_relaxed(val, drv->reg_base + QDSP6SS_PWR_CTL);
+
+	/* Ensure physical memory access is done*/
+	mb();
+	udelay(1);
+
+	if (drv->qdsp6v62_1_2 || drv->qdsp6v62_1_5 || drv->qdsp6v62_1_4) {
+		for (i = BHS_CHECK_MAX_LOOPS; i > 0; i--) {
+			if (readl_relaxed(drv->reg_base + QDSP6V62SS_BHS_STATUS)
+			    & QDSP6v55_BHS_EN_REST_ACK)
+				break;
+			udelay(1);
+		}
+		if (!i) {
+			pr_err("%s: BHS_EN_REST_ACK not set!\n", __func__);
+			return -ETIMEDOUT;
+		}
+	}
+
+	if (drv->qdsp6v61_1_1) {
+		for (i = BHS_CHECK_MAX_LOOPS; i > 0; i--) {
+			if (readl_relaxed(drv->reg_base + QDSP6SS_BHS_STATUS)
+			    & QDSP6v55_BHS_EN_REST_ACK)
+				break;
+			udelay(1);
+		}
+		if (!i) {
+			pr_err("%s: BHS_EN_REST_ACK not set!\n", __func__);
+			return -ETIMEDOUT;
+		}
+	}
+
+	/* Put LDO in bypass mode */
+	val |= QDSP6v55_LDO_BYP;
+	writel_relaxed(val, drv->reg_base + QDSP6SS_PWR_CTL);
+
+	if (drv->qdsp6v56_1_3) {
+		/* Deassert memory peripheral sleep and L2 memory standby */
+		val = readl_relaxed(drv->reg_base + QDSP6SS_PWR_CTL);
+		val |= (Q6SS_L2DATA_STBY_N | Q6SS_SLP_RET_N);
+		writel_relaxed(val, drv->reg_base + QDSP6SS_PWR_CTL);
+
+		/* Turn on L1, L2 and ETB memories 1 at a time */
+		for (i = 17; i >= 0; i--) {
+			val |= BIT(i);
+			writel_relaxed(val, drv->reg_base + QDSP6SS_PWR_CTL);
+			udelay(1);
+		}
+	} else if (drv->qdsp6v56_1_5 || drv->qdsp6v56_1_8
+					|| drv->qdsp6v56_1_10) {
+		/* Deassert QDSP6 compiler memory clamp */
+		val = readl_relaxed(drv->reg_base + QDSP6SS_PWR_CTL);
+		val &= ~QDSP6v55_CLAMP_QMC_MEM;
+		writel_relaxed(val, drv->reg_base + QDSP6SS_PWR_CTL);
+
+		/* Deassert memory peripheral sleep and L2 memory standby */
+		val |= (Q6SS_L2DATA_STBY_N | Q6SS_SLP_RET_N);
+		writel_relaxed(val, drv->reg_base + QDSP6SS_PWR_CTL);
+
+		/* Turn on L1, L2, ETB and JU memories 1 at a time */
+		val = readl_relaxed(drv->reg_base + QDSP6SS_MEM_PWR_CTL);
+		for (i = 19; i >= 0; i--) {
+			val |= BIT(i);
+			writel_relaxed(val, drv->reg_base +
+						QDSP6SS_MEM_PWR_CTL);
+			val |= readl_relaxed(drv->reg_base +
+						QDSP6SS_MEM_PWR_CTL);
+			/*
+			 * Wait for 1us for both memory peripheral and
+			 * data array to turn on.
+			 */
+			udelay(1);
+		}
+	} else if (drv->qdsp6v56_1_8_inrush_current) {
+		/* Deassert QDSP6 compiler memory clamp */
+		val = readl_relaxed(drv->reg_base + QDSP6SS_PWR_CTL);
+		val &= ~QDSP6v55_CLAMP_QMC_MEM;
+		writel_relaxed(val, drv->reg_base + QDSP6SS_PWR_CTL);
+
+		/* Deassert memory peripheral sleep and L2 memory standby */
+		val |= (Q6SS_L2DATA_STBY_N | Q6SS_SLP_RET_N);
+		writel_relaxed(val, drv->reg_base + QDSP6SS_PWR_CTL);
+
+		/* Turn on L1, L2, ETB and JU memories 1 at a time */
+		val = readl_relaxed(drv->reg_base + QDSP6SS_MEM_PWR_CTL);
+		for (i = 19; i >= 6; i--) {
+			val |= BIT(i);
+			writel_relaxed(val, drv->reg_base +
+						QDSP6SS_MEM_PWR_CTL);
+			/*
+			 * Wait for 1us for both memory peripheral and
+			 * data array to turn on.
+			 */
+			udelay(1);
+		}
+
+		for (i = 0 ; i <= 5 ; i++) {
+			val |= BIT(i);
+			writel_relaxed(val, drv->reg_base +
+						QDSP6SS_MEM_PWR_CTL);
+			/*
+			 * Wait for 1us for both memory peripheral and
+			 * data array to turn on.
+			 */
+			udelay(1);
+		}
+	} else if (drv->qdsp6v61_1_1 || drv->qdsp6v62_1_2 ||
+			drv->qdsp6v62_1_4 || drv->qdsp6v62_1_5) {
+		/* Deassert QDSP6 compiler memory clamp */
+		val = readl_relaxed(drv->reg_base + QDSP6SS_PWR_CTL);
+		val &= ~QDSP6v55_CLAMP_QMC_MEM;
+		writel_relaxed(val, drv->reg_base + QDSP6SS_PWR_CTL);
+
+		/* Deassert memory peripheral sleep and L2 memory standby */
+		val |= (Q6SS_L2DATA_STBY_N | Q6SS_SLP_RET_N);
+		writel_relaxed(val, drv->reg_base + QDSP6SS_PWR_CTL);
+
+		/* Turn on L1, L2, ETB and JU memories 1 at a time */
+		val = readl_relaxed(drv->reg_base +
+				QDSP6V6SS_MEM_PWR_CTL);
+
+		if (drv->qdsp6v62_1_4 || drv->qdsp6v62_1_5)
+			i = 29;
+		else
+			i = 28;
+
+		for ( ; i >= 0; i--) {
+			val |= BIT(i);
+			writel_relaxed(val, drv->reg_base +
+					QDSP6V6SS_MEM_PWR_CTL);
+			/*
+			 * Wait for 1us for both memory peripheral and
+			 * data array to turn on.
+			 */
+			udelay(1);
+		}
+	} else {
+		/* Turn on memories. */
+		val = readl_relaxed(drv->reg_base + QDSP6SS_PWR_CTL);
+		val |= 0xFFF00;
+		writel_relaxed(val, drv->reg_base + QDSP6SS_PWR_CTL);
+
+		/* Turn on L2 banks 1 at a time */
+		for (i = 0; i <= 7; i++) {
+			val |= BIT(i);
+			writel_relaxed(val, drv->reg_base + QDSP6SS_PWR_CTL);
+		}
+	}
+
+	/* Remove word line clamp */
+	val = readl_relaxed(drv->reg_base + QDSP6SS_PWR_CTL);
+	val &= ~QDSP6v55_CLAMP_WL;
+	writel_relaxed(val, drv->reg_base + QDSP6SS_PWR_CTL);
+
+	/* Remove IO clamp */
+	val &= ~Q6SS_CLAMP_IO;
+	writel_relaxed(val, drv->reg_base + QDSP6SS_PWR_CTL);
+
+	/* Bring core out of reset */
+	val = readl_relaxed(drv->reg_base + QDSP6SS_RESET);
+	val &= ~(Q6SS_CORE_ARES | Q6SS_STOP_CORE);
+	writel_relaxed(val, drv->reg_base + QDSP6SS_RESET);
+
+	/* Turn on core clock */
+	val = readl_relaxed(drv->reg_base + QDSP6SS_GFMUX_CTL);
+	val |= Q6SS_CLK_ENA;
+	writel_relaxed(val, drv->reg_base + QDSP6SS_GFMUX_CTL);
+
+	return 0;
+}
+
+int pil_q6v5_reset(struct pil_desc *pil)
+{
+	struct q6v5_data *drv = container_of(pil, struct q6v5_data, desc);
+
+
+	if (drv->qdsp6v65_1_0)
+		return __pil_q6v65_reset(pil);
+	else if (drv->qdsp6v55)
+		return __pil_q6v55_reset(pil);
+	else
+		return __pil_q6v5_reset(pil);
+}
+EXPORT_SYMBOL(pil_q6v5_reset);
+
+struct q6v5_data *pil_q6v5_init(struct platform_device *pdev)
+{
+	struct q6v5_data *drv;
+	struct resource *res;
+	struct pil_desc *desc;
+	struct property *prop;
+	int ret, vdd_pll;
+
+	drv = devm_kzalloc(&pdev->dev, sizeof(*drv), GFP_KERNEL);
+	if (!drv)
+		return ERR_PTR(-ENOMEM);
+
+	res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "qdsp6_base");
+	drv->reg_base = devm_ioremap_resource(&pdev->dev, res);
+	if (IS_ERR(drv->reg_base))
+		return drv->reg_base;
+
+	desc = &drv->desc;
+	ret = of_property_read_string(pdev->dev.of_node, "qcom,firmware-name",
+				      &desc->name);
+	if (ret)
+		return ERR_PTR(ret);
+
+	desc->clear_fw_region = false;
+	desc->dev = &pdev->dev;
+
+	drv->qdsp6v5_2_0 = of_device_is_compatible(pdev->dev.of_node,
+						   "qcom,pil-femto-modem");
+
+	if (drv->qdsp6v5_2_0)
+		return drv;
+
+	res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "halt_base");
+	if (res) {
+		drv->axi_halt_base = devm_ioremap(&pdev->dev, res->start,
+							resource_size(res));
+		if (!drv->axi_halt_base) {
+			dev_err(&pdev->dev, "Failed to map axi_halt_base.\n");
+			return ERR_PTR(-ENOMEM);
+		}
+	}
+
+	if (!drv->axi_halt_base) {
+		res = platform_get_resource_byname(pdev, IORESOURCE_MEM,
+								"halt_q6");
+		if (res) {
+			drv->axi_halt_q6 = devm_ioremap(&pdev->dev,
+					res->start, resource_size(res));
+			if (!drv->axi_halt_q6) {
+				dev_err(&pdev->dev, "Failed to map axi_halt_q6.\n");
+				return ERR_PTR(-ENOMEM);
+			}
+		}
+
+		res = platform_get_resource_byname(pdev, IORESOURCE_MEM,
+								"halt_modem");
+		if (res) {
+			drv->axi_halt_mss = devm_ioremap(&pdev->dev,
+					res->start, resource_size(res));
+			if (!drv->axi_halt_mss) {
+				dev_err(&pdev->dev, "Failed to map axi_halt_mss.\n");
+				return ERR_PTR(-ENOMEM);
+			}
+		}
+
+		res = platform_get_resource_byname(pdev, IORESOURCE_MEM,
+								"halt_nc");
+		if (res) {
+			drv->axi_halt_nc = devm_ioremap(&pdev->dev,
+					res->start, resource_size(res));
+			if (!drv->axi_halt_nc) {
+				dev_err(&pdev->dev, "Failed to map axi_halt_nc.\n");
+				return ERR_PTR(-ENOMEM);
+			}
+		}
+	}
+
+	if (!(drv->axi_halt_base || (drv->axi_halt_q6 && drv->axi_halt_mss
+					&& drv->axi_halt_nc))) {
+		dev_err(&pdev->dev, "halt bases for Q6 are not defined.\n");
+		return ERR_PTR(-EINVAL);
+	}
+
+	drv->qdsp6v55 = of_device_is_compatible(pdev->dev.of_node,
+						"qcom,pil-q6v55-mss");
+	drv->qdsp6v56 = of_device_is_compatible(pdev->dev.of_node,
+						"qcom,pil-q6v56-mss");
+
+	drv->qdsp6v56_1_3 = of_property_read_bool(pdev->dev.of_node,
+						"qcom,qdsp6v56-1-3");
+	drv->qdsp6v56_1_5 = of_property_read_bool(pdev->dev.of_node,
+						"qcom,qdsp6v56-1-5");
+
+	drv->qdsp6v56_1_8 = of_property_read_bool(pdev->dev.of_node,
+						"qcom,qdsp6v56-1-8");
+	drv->qdsp6v56_1_10 = of_property_read_bool(pdev->dev.of_node,
+						"qcom,qdsp6v56-1-10");
+
+	drv->qdsp6v56_1_8_inrush_current = of_property_read_bool(
+						pdev->dev.of_node,
+						"qcom,qdsp6v56-1-8-inrush-current");
+
+	drv->qdsp6v61_1_1 = of_property_read_bool(pdev->dev.of_node,
+						"qcom,qdsp6v61-1-1");
+
+	drv->qdsp6v62_1_2 = of_property_read_bool(pdev->dev.of_node,
+						"qcom,qdsp6v62-1-2");
+
+	drv->qdsp6v62_1_4 = of_property_read_bool(pdev->dev.of_node,
+						"qcom,qdsp6v62-1-4");
+
+	drv->qdsp6v62_1_5 = of_property_read_bool(pdev->dev.of_node,
+						"qcom,qdsp6v62-1-5");
+
+	drv->qdsp6v65_1_0 = of_property_read_bool(pdev->dev.of_node,
+						"qcom,qdsp6v65-1-0");
+
+	drv->non_elf_image = of_property_read_bool(pdev->dev.of_node,
+						"qcom,mba-image-is-not-elf");
+
+	drv->override_acc = of_property_read_bool(pdev->dev.of_node,
+						"qcom,override-acc");
+
+	drv->ahb_clk_vote = of_property_read_bool(pdev->dev.of_node,
+						"qcom,ahb-clk-vote");
+	drv->mx_spike_wa = of_property_read_bool(pdev->dev.of_node,
+						"qcom,mx-spike-wa");
+
+	drv->xo = devm_clk_get(&pdev->dev, "xo");
+	if (IS_ERR(drv->xo))
+		return ERR_CAST(drv->xo);
+
+	if (of_property_read_bool(pdev->dev.of_node, "qcom,pnoc-clk-vote")) {
+		drv->pnoc_clk = devm_clk_get(&pdev->dev, "pnoc_clk");
+		if (IS_ERR(drv->pnoc_clk))
+			return ERR_CAST(drv->pnoc_clk);
+	} else {
+		drv->pnoc_clk = NULL;
+	}
+
+	if (of_property_match_string(pdev->dev.of_node,
+			"qcom,proxy-clock-names", "qdss_clk") >= 0) {
+		drv->qdss_clk = devm_clk_get(&pdev->dev, "qdss_clk");
+		if (IS_ERR(drv->qdss_clk))
+			return ERR_CAST(drv->qdss_clk);
+	} else {
+		drv->qdss_clk = NULL;
+	}
+
+	if (of_property_match_string(pdev->dev.of_node,
+			"qcom,proxy-clock-names", "prng_clk") >= 0) {
+		drv->prng_clk = devm_clk_get(&pdev->dev, "prng_clk");
+		if (IS_ERR(drv->prng_clk))
+			return ERR_CAST(drv->prng_clk);
+	} else {
+		drv->prng_clk = NULL;
+	}
+
+	if (of_property_match_string(pdev->dev.of_node,
+			"qcom,proxy-clock-names", "axis2_clk") >= 0) {
+		drv->axis2_clk = devm_clk_get(&pdev->dev, "axis2_clk");
+		if (IS_ERR(drv->axis2_clk))
+			return ERR_CAST(drv->axis2_clk);
+	} else {
+		drv->axis2_clk = NULL;
+	}
+
+	drv->vreg_cx = devm_regulator_get(&pdev->dev, "vdd_cx");
+	if (IS_ERR(drv->vreg_cx))
+		return ERR_CAST(drv->vreg_cx);
+	prop = of_find_property(pdev->dev.of_node, "vdd_cx-voltage", NULL);
+	if (!prop) {
+		dev_err(&pdev->dev, "Missing vdd_cx-voltage property\n");
+		return ERR_CAST(prop);
+	}
+
+	ret = of_property_read_u32(pdev->dev.of_node, "qcom,vdd_pll",
+		&vdd_pll);
+	if (!ret) {
+		drv->vreg_pll = devm_regulator_get(&pdev->dev, "vdd_pll");
+		if (!IS_ERR_OR_NULL(drv->vreg_pll)) {
+			ret = regulator_set_voltage(drv->vreg_pll, vdd_pll,
+							vdd_pll);
+			if (ret) {
+				dev_err(&pdev->dev, "Failed to set vdd_pll voltage(rc:%d)\n",
+									ret);
+				return ERR_PTR(ret);
+			}
+
+			ret = regulator_set_load(drv->vreg_pll, 10000);
+			if (ret < 0) {
+				dev_err(&pdev->dev, "Failed to set vdd_pll mode(rc:%d)\n",
+									ret);
+				return ERR_PTR(ret);
+			}
+		} else
+			drv->vreg_pll = NULL;
+	}
+
+	return drv;
+}
+EXPORT_SYMBOL(pil_q6v5_init);
diff --git a/drivers/soc/qcom/pil-q6v5.h b/drivers/soc/qcom/pil-q6v5.h
new file mode 100644
index 0000000..01b1cef
--- /dev/null
+++ b/drivers/soc/qcom/pil-q6v5.h
@@ -0,0 +1,93 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Copyright (c) 2012-2020, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+#ifndef __MSM_PIL_Q6V5_H
+#define __MSM_PIL_Q6V5_H
+
+#include "peripheral-loader.h"
+
+struct regulator;
+struct clk;
+struct pil_device;
+struct platform_device;
+
+struct q6v5_data {
+	void __iomem *reg_base;
+	void __iomem *rmb_base;
+	void __iomem *cxrail_bhs;  /* External BHS register */
+	struct clk *xo;		   /* XO clock source */
+	struct clk *pnoc_clk;	   /* PNOC bus clock source */
+	struct clk *ahb_clk;	   /* PIL access to registers */
+	struct clk *axi_clk;	   /* CPU access to memory */
+	struct clk *core_clk;	   /* CPU core */
+	struct clk *reg_clk;	   /* CPU access registers */
+	struct clk *gpll0_mss_clk; /* GPLL0 to MSS connection */
+	struct clk *rom_clk;	   /* Boot ROM */
+	struct clk *snoc_axi_clk;
+	struct clk *mnoc_axi_clk;
+	struct clk *qdss_clk;
+	struct clk *prng_clk;
+	struct clk *axis2_clk;
+	void __iomem *axi_halt_base; /* Halt base of q6, mss,
+				      * nc are in same 4K page
+				      */
+	void __iomem *axi_halt_q6;
+	void __iomem *axi_halt_mss;
+	void __iomem *axi_halt_nc;
+	void __iomem *restart_reg;
+	void __iomem *pdc_sync;
+	void __iomem *alt_reset;
+	struct regulator *vreg;
+	struct regulator *vreg_cx;
+	struct regulator *vreg_mx;
+	struct regulator *vreg_pll;
+	bool is_booted;
+	struct pil_desc desc;
+	bool self_auth;
+	phys_addr_t mba_dp_phys;
+	void *mba_dp_virt;
+	size_t mba_dp_size;
+	size_t dp_size;
+	bool qdsp6v55;
+	bool qdsp6v5_2_0;
+	bool qdsp6v56;
+	bool qdsp6v56_1_3;
+	bool qdsp6v56_1_5;
+	bool qdsp6v56_1_8;
+	bool qdsp6v56_1_8_inrush_current;
+	bool qdsp6v56_1_10;
+	bool qdsp6v61_1_1;
+	bool qdsp6v62_1_2;
+	bool qdsp6v62_1_4;
+	bool qdsp6v62_1_5;
+	bool qdsp6v65_1_0;
+	bool non_elf_image;
+	bool restart_reg_sec;
+	bool override_acc;
+	int override_acc_1;
+	int mss_pdc_offset;
+	int smem_id;
+	bool ahb_clk_vote;
+	bool mx_spike_wa;
+	bool reset_clk;
+};
+
+int pil_q6v5_make_proxy_votes(struct pil_desc *pil);
+void pil_q6v5_remove_proxy_votes(struct pil_desc *pil);
+void pil_q6v5_halt_axi_port(struct pil_desc *pil, void __iomem *halt_base);
+void pil_q6v5_shutdown(struct pil_desc *pil);
+int pil_q6v5_reset(struct pil_desc *pil);
+void assert_clamps(struct pil_desc *pil);
+struct q6v5_data *pil_q6v5_init(struct platform_device *pdev);
+
+#endif
diff --git a/drivers/soc/qcom/rpmh-rsc.c b/drivers/soc/qcom/rpmh-rsc.c
index ceedbff..e7e882e 100644
--- a/drivers/soc/qcom/rpmh-rsc.c
+++ b/drivers/soc/qcom/rpmh-rsc.c
@@ -920,3 +920,6 @@
 	return platform_driver_register(&rpmh_driver);
 }
 arch_initcall(rpmh_driver_init);
+
+MODULE_LICENSE("GPL v2");
+MODULE_DESCRIPTION("Qualcomm RPM-Hardened (RPMH) Communication driver");
diff --git a/drivers/soc/qcom/smp2p.c b/drivers/soc/qcom/smp2p.c
index b8585d1..09e549d 100644
--- a/drivers/soc/qcom/smp2p.c
+++ b/drivers/soc/qcom/smp2p.c
@@ -1,6 +1,6 @@
 /*
  * Copyright (c) 2015, Sony Mobile Communications AB.
- * Copyright (c) 2012-2013, 2018-2019 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2012-2013, 2018-2020 The Linux Foundation. All rights reserved.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 and
@@ -161,7 +161,7 @@
 	struct regmap *ipc_regmap;
 	int ipc_offset;
 	int ipc_bit;
-	struct wakeup_source ws;
+	struct wakeup_source *ws;
 
 	struct mbox_client mbox_client;
 	struct mbox_chan *mbox_chan;
@@ -303,7 +303,7 @@
 {
 	struct qcom_smp2p *smp2p = data;
 
-	__pm_stay_awake(&smp2p->ws);
+	__pm_stay_awake(smp2p->ws);
 	return IRQ_WAKE_THREAD;
 }
 
@@ -351,7 +351,7 @@
 	}
 
 out:
-	__pm_relax(&smp2p->ws);
+	__pm_relax(smp2p->ws);
 	return IRQ_HANDLED;
 }
 
@@ -648,7 +648,12 @@
 			list_add(&entry->node, &smp2p->outbound);
 		}
 	}
-	wakeup_source_init(&smp2p->ws, "smp2p");
+
+	smp2p->ws = wakeup_source_register(&pdev->dev, "smp2p");
+	if (!smp2p->ws) {
+		ret = -ENOMEM;
+		goto unwind_interfaces;
+	}
 
 	/* Kick the outgoing edge after allocating entries */
 	qcom_smp2p_kick(smp2p);
@@ -659,12 +664,15 @@
 					"smp2p", (void *)smp2p);
 	if (ret) {
 		dev_err(&pdev->dev, "failed to request interrupt\n");
-		goto unwind_interfaces;
+		goto unreg_ws;
 	}
 	enable_irq_wake(smp2p->irq);
 
 	return 0;
 
+unreg_ws:
+	wakeup_source_unregister(smp2p->ws);
+
 unwind_interfaces:
 	list_for_each_entry(entry, &smp2p->inbound, node)
 		irq_domain_remove(entry->domain);
@@ -689,6 +697,8 @@
 	struct qcom_smp2p *smp2p = platform_get_drvdata(pdev);
 	struct smp2p_entry *entry;
 
+	wakeup_source_unregister(smp2p->ws);
+
 	list_for_each_entry(entry, &smp2p->inbound, node)
 		irq_domain_remove(entry->domain);
 
diff --git a/drivers/soc/qcom/smp2p_sleepstate.c b/drivers/soc/qcom/smp2p_sleepstate.c
index f090415..eeae932 100644
--- a/drivers/soc/qcom/smp2p_sleepstate.c
+++ b/drivers/soc/qcom/smp2p_sleepstate.c
@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * Copyright (c) 2014-2019, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2014-2020, The Linux Foundation. All rights reserved.
  */
 #include <linux/module.h>
 #include <linux/suspend.h>
@@ -15,7 +15,7 @@
 #define PROC_AWAKE_ID 12 /* 12th bit */
 #define AWAKE_BIT BIT(PROC_AWAKE_ID)
 static struct qcom_smem_state *state;
-static struct wakeup_source notify_ws;
+static struct wakeup_source *notify_ws;
 
 /**
  * sleepstate_pm_notifier() - PM notifier callback function.
@@ -49,7 +49,7 @@
 
 static irqreturn_t smp2p_sleepstate_handler(int irq, void *ctxt)
 {
-	__pm_wakeup_event(&notify_ws, 200);
+	__pm_wakeup_event(notify_ws, 200);
 	return IRQ_HANDLED;
 }
 
@@ -70,7 +70,12 @@
 		dev_err(dev, "%s: power state notif error %d\n", __func__, ret);
 		return ret;
 	}
-	wakeup_source_init(&notify_ws, "smp2p-sleepstate");
+
+	notify_ws = wakeup_source_register(&pdev->dev, "smp2p-sleepstate");
+	if (!notify_ws) {
+		return -ENOMEM;
+		goto err_ws;
+	}
 
 	irq = of_irq_get_byname(node, "smp2p-sleepstate-in");
 	if (irq <= 0) {
@@ -89,7 +94,8 @@
 	}
 	return 0;
 err:
-	wakeup_source_trash(&notify_ws);
+	wakeup_source_unregister(notify_ws);
+err_ws:
 	unregister_pm_notifier(&sleepstate_pm_nb);
 	return ret;
 }
diff --git a/drivers/soc/qcom/subsystem_restart.c b/drivers/soc/qcom/subsystem_restart.c
index f8fb034..69f7aa5 100644
--- a/drivers/soc/qcom/subsystem_restart.c
+++ b/drivers/soc/qcom/subsystem_restart.c
@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * Copyright (c) 2011-2019, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2011-2020, The Linux Foundation. All rights reserved.
  */
 
 #define pr_fmt(fmt) "subsys-restart: %s(): " fmt, __func__
@@ -181,7 +181,7 @@
 struct subsys_device {
 	struct subsys_desc *desc;
 	struct work_struct work;
-	struct wakeup_source ssr_wlock;
+	struct wakeup_source *ssr_wlock;
 	char wlname[64];
 	struct work_struct device_restart_work;
 	struct subsys_tracking track;
@@ -1159,7 +1159,7 @@
 
 	spin_lock_irqsave(&track->s_lock, flags);
 	track->p_state = SUBSYS_NORMAL;
-	__pm_relax(&dev->ssr_wlock);
+	__pm_relax(dev->ssr_wlock);
 	spin_unlock_irqrestore(&track->s_lock, flags);
 }
 
@@ -1183,7 +1183,7 @@
 					dev->track.state == SUBSYS_ONLINE) {
 		if (track->p_state != SUBSYS_RESTARTING) {
 			track->p_state = SUBSYS_CRASHED;
-			__pm_stay_awake(&dev->ssr_wlock);
+			__pm_stay_awake(dev->ssr_wlock);
 			queue_work(ssr_wq, &dev->work);
 		} else {
 			panic("Subsystem %s crashed during SSR!", name);
@@ -1251,7 +1251,7 @@
 		__subsystem_restart_dev(dev);
 		break;
 	case RESET_SOC:
-		__pm_stay_awake(&dev->ssr_wlock);
+		__pm_stay_awake(dev->ssr_wlock);
 		schedule_work(&dev->device_restart_work);
 		return 0;
 	default:
@@ -1415,7 +1415,7 @@
 {
 	struct subsys_device *subsys = to_subsys(dev);
 
-	wakeup_source_trash(&subsys->ssr_wlock);
+	wakeup_source_unregister(subsys->ssr_wlock);
 	mutex_destroy(&subsys->track.lock);
 	ida_simple_remove(&subsys_ida, subsys->id);
 	kfree(subsys);
@@ -1830,7 +1830,14 @@
 	subsys->early_notify = subsys_get_early_notif_info(desc->name);
 
 	snprintf(subsys->wlname, sizeof(subsys->wlname), "ssr(%s)", desc->name);
-	wakeup_source_init(&subsys->ssr_wlock, subsys->wlname);
+
+	subsys->ssr_wlock =
+		wakeup_source_register(&subsys->dev, subsys->wlname);
+	if (!subsys->ssr_wlock) {
+		kfree(subsys);
+		return ERR_PTR(-ENOMEM);
+	}
+
 	INIT_WORK(&subsys->work, subsystem_restart_wq_func);
 	INIT_WORK(&subsys->device_restart_work, device_restart_work_hdlr);
 	spin_lock_init(&subsys->track.s_lock);
@@ -1838,7 +1845,7 @@
 
 	subsys->id = ida_simple_get(&subsys_ida, 0, 0, GFP_KERNEL);
 	if (subsys->id < 0) {
-		wakeup_source_trash(&subsys->ssr_wlock);
+		wakeup_source_unregister(subsys->ssr_wlock);
 		ret = subsys->id;
 		kfree(subsys);
 		return ERR_PTR(ret);
diff --git a/drivers/soc/tegra/fuse/fuse-tegra30.c b/drivers/soc/tegra/fuse/fuse-tegra30.c
index 257e254..0ec6385 100644
--- a/drivers/soc/tegra/fuse/fuse-tegra30.c
+++ b/drivers/soc/tegra/fuse/fuse-tegra30.c
@@ -47,7 +47,8 @@
     defined(CONFIG_ARCH_TEGRA_124_SOC) || \
     defined(CONFIG_ARCH_TEGRA_132_SOC) || \
     defined(CONFIG_ARCH_TEGRA_210_SOC) || \
-    defined(CONFIG_ARCH_TEGRA_186_SOC)
+    defined(CONFIG_ARCH_TEGRA_186_SOC) || \
+    defined(CONFIG_ARCH_TEGRA_194_SOC)
 static u32 tegra30_fuse_read_early(struct tegra_fuse *fuse, unsigned int offset)
 {
 	if (WARN_ON(!fuse->base))
diff --git a/drivers/soc/tegra/fuse/tegra-apbmisc.c b/drivers/soc/tegra/fuse/tegra-apbmisc.c
index e5a4d8f..d1cbb0f 100644
--- a/drivers/soc/tegra/fuse/tegra-apbmisc.c
+++ b/drivers/soc/tegra/fuse/tegra-apbmisc.c
@@ -135,7 +135,7 @@
 			apbmisc.flags = IORESOURCE_MEM;
 
 			/* strapping options */
-			if (tegra_get_chip_id() == TEGRA124) {
+			if (of_machine_is_compatible("nvidia,tegra124")) {
 				straps.start = 0x7000e864;
 				straps.end = 0x7000e867;
 			} else {
diff --git a/drivers/soc/ti/wkup_m3_ipc.c b/drivers/soc/ti/wkup_m3_ipc.c
index f5cb8c0..c1fda6a 100644
--- a/drivers/soc/ti/wkup_m3_ipc.c
+++ b/drivers/soc/ti/wkup_m3_ipc.c
@@ -426,6 +426,8 @@
 	ret = rproc_boot(m3_ipc->rproc);
 	if (ret)
 		dev_err(dev, "rproc_boot failed\n");
+	else
+		m3_ipc_state = m3_ipc;
 
 	do_exit(0);
 }
@@ -512,8 +514,6 @@
 		goto err_put_rproc;
 	}
 
-	m3_ipc_state = m3_ipc;
-
 	return 0;
 
 err_put_rproc:
diff --git a/drivers/spi/spi-atmel.c b/drivers/spi/spi-atmel.c
index 2fb43c5..5a9d7e2 100644
--- a/drivers/spi/spi-atmel.c
+++ b/drivers/spi/spi-atmel.c
@@ -305,7 +305,6 @@
 	bool			use_cs_gpios;
 
 	bool			keep_cs;
-	bool			cs_active;
 
 	u32			fifo_size;
 };
@@ -1381,11 +1380,9 @@
 				 &msg->transfers)) {
 			as->keep_cs = true;
 		} else {
-			as->cs_active = !as->cs_active;
-			if (as->cs_active)
-				cs_activate(as, msg->spi);
-			else
-				cs_deactivate(as, msg->spi);
+			cs_deactivate(as, msg->spi);
+			udelay(10);
+			cs_activate(as, msg->spi);
 		}
 	}
 
@@ -1408,7 +1405,6 @@
 	atmel_spi_lock(as);
 	cs_activate(as, spi);
 
-	as->cs_active = true;
 	as->keep_cs = false;
 
 	msg->status = 0;
diff --git a/drivers/spi/spi-bcm-qspi.c b/drivers/spi/spi-bcm-qspi.c
index 584bcb0..285a6f4 100644
--- a/drivers/spi/spi-bcm-qspi.c
+++ b/drivers/spi/spi-bcm-qspi.c
@@ -354,7 +354,7 @@
 {
 	int bpc = 0, bpp = 0;
 	u8 command = op->cmd.opcode;
-	int width  = op->cmd.buswidth ? op->cmd.buswidth : SPI_NBITS_SINGLE;
+	int width = op->data.buswidth ? op->data.buswidth : SPI_NBITS_SINGLE;
 	int addrlen = op->addr.nbytes;
 	int flex_mode = 1;
 
@@ -992,7 +992,7 @@
 	if (mspi_read)
 		return bcm_qspi_mspi_exec_mem_op(spi, op);
 
-	ret = bcm_qspi_bspi_set_mode(qspi, op, -1);
+	ret = bcm_qspi_bspi_set_mode(qspi, op, 0);
 
 	if (!ret)
 		ret = bcm_qspi_bspi_exec_mem_op(spi, op);
diff --git a/drivers/spi/spi-bcm2835aux.c b/drivers/spi/spi-bcm2835aux.c
index 12c1fa5..c63ed40 100644
--- a/drivers/spi/spi-bcm2835aux.c
+++ b/drivers/spi/spi-bcm2835aux.c
@@ -416,7 +416,18 @@
 	platform_set_drvdata(pdev, master);
 	master->mode_bits = (SPI_CPOL | SPI_CS_HIGH | SPI_NO_CS);
 	master->bits_per_word_mask = SPI_BPW_MASK(8);
-	master->num_chipselect = -1;
+	/* even though the driver never officially supported native CS
+	 * allow a single native CS for legacy DT support purposes when
+	 * no cs-gpio is configured.
+	 * Known limitations for native cs are:
+	 * * multiple chip-selects: cs0-cs2 are all simultaniously asserted
+	 *     whenever there is a transfer -  this even includes SPI_NO_CS
+	 * * SPI_CS_HIGH: is ignores - cs are always asserted low
+	 * * cs_change: cs is deasserted after each spi_transfer
+	 * * cs_delay_usec: cs is always deasserted one SCK cycle after
+	 *     a spi_transfer
+	 */
+	master->num_chipselect = 1;
 	master->transfer_one = bcm2835aux_spi_transfer_one;
 	master->handle_err = bcm2835aux_spi_handle_err;
 	master->prepare_message = bcm2835aux_spi_prepare_message;
diff --git a/drivers/spi/spi-bcm63xx-hsspi.c b/drivers/spi/spi-bcm63xx-hsspi.c
index 9a06ffd..1669c55 100644
--- a/drivers/spi/spi-bcm63xx-hsspi.c
+++ b/drivers/spi/spi-bcm63xx-hsspi.c
@@ -371,7 +371,6 @@
 			goto out_disable_clk;
 
 		rate = clk_get_rate(pll_clk);
-		clk_disable_unprepare(pll_clk);
 		if (!rate) {
 			ret = -EINVAL;
 			goto out_disable_pll_clk;
diff --git a/drivers/spi/spi-cadence.c b/drivers/spi/spi-cadence.c
index 7c88f74..94cc0a1 100644
--- a/drivers/spi/spi-cadence.c
+++ b/drivers/spi/spi-cadence.c
@@ -584,11 +584,6 @@
 		goto clk_dis_apb;
 	}
 
-	pm_runtime_use_autosuspend(&pdev->dev);
-	pm_runtime_set_autosuspend_delay(&pdev->dev, SPI_AUTOSUSPEND_TIMEOUT);
-	pm_runtime_set_active(&pdev->dev);
-	pm_runtime_enable(&pdev->dev);
-
 	ret = of_property_read_u32(pdev->dev.of_node, "num-cs", &num_cs);
 	if (ret < 0)
 		master->num_chipselect = CDNS_SPI_DEFAULT_NUM_CS;
@@ -603,8 +598,10 @@
 	/* SPI controller initializations */
 	cdns_spi_init_hw(xspi);
 
-	pm_runtime_mark_last_busy(&pdev->dev);
-	pm_runtime_put_autosuspend(&pdev->dev);
+	pm_runtime_set_active(&pdev->dev);
+	pm_runtime_enable(&pdev->dev);
+	pm_runtime_use_autosuspend(&pdev->dev);
+	pm_runtime_set_autosuspend_delay(&pdev->dev, SPI_AUTOSUSPEND_TIMEOUT);
 
 	irq = platform_get_irq(pdev, 0);
 	if (irq <= 0) {
diff --git a/drivers/spi/spi-dw.c b/drivers/spi/spi-dw.c
index ac2eb89..5a47e28 100644
--- a/drivers/spi/spi-dw.c
+++ b/drivers/spi/spi-dw.c
@@ -179,9 +179,11 @@
 
 static void dw_writer(struct dw_spi *dws)
 {
-	u32 max = tx_max(dws);
+	u32 max;
 	u16 txw = 0;
 
+	spin_lock(&dws->buf_lock);
+	max = tx_max(dws);
 	while (max--) {
 		/* Set the tx word if the transfer's original "tx" is not null */
 		if (dws->tx_end - dws->len) {
@@ -193,13 +195,16 @@
 		dw_write_io_reg(dws, DW_SPI_DR, txw);
 		dws->tx += dws->n_bytes;
 	}
+	spin_unlock(&dws->buf_lock);
 }
 
 static void dw_reader(struct dw_spi *dws)
 {
-	u32 max = rx_max(dws);
+	u32 max;
 	u16 rxw;
 
+	spin_lock(&dws->buf_lock);
+	max = rx_max(dws);
 	while (max--) {
 		rxw = dw_read_io_reg(dws, DW_SPI_DR);
 		/* Care rx only if the transfer's original "rx" is not null */
@@ -211,6 +216,7 @@
 		}
 		dws->rx += dws->n_bytes;
 	}
+	spin_unlock(&dws->buf_lock);
 }
 
 static void int_error_stop(struct dw_spi *dws, const char *msg)
@@ -283,18 +289,20 @@
 {
 	struct dw_spi *dws = spi_controller_get_devdata(master);
 	struct chip_data *chip = spi_get_ctldata(spi);
+	unsigned long flags;
 	u8 imask = 0;
 	u16 txlevel = 0;
 	u32 cr0;
 	int ret;
 
 	dws->dma_mapped = 0;
-
+	spin_lock_irqsave(&dws->buf_lock, flags);
 	dws->tx = (void *)transfer->tx_buf;
 	dws->tx_end = dws->tx + transfer->len;
 	dws->rx = transfer->rx_buf;
 	dws->rx_end = dws->rx + transfer->len;
 	dws->len = transfer->len;
+	spin_unlock_irqrestore(&dws->buf_lock, flags);
 
 	spi_enable_chip(dws, 0);
 
@@ -485,6 +493,7 @@
 	dws->type = SSI_MOTO_SPI;
 	dws->dma_inited = 0;
 	dws->dma_addr = (dma_addr_t)(dws->paddr + DW_SPI_DR);
+	spin_lock_init(&dws->buf_lock);
 
 	spi_controller_set_devdata(master, dws);
 
diff --git a/drivers/spi/spi-dw.h b/drivers/spi/spi-dw.h
index 0168b08..20a09fe 100644
--- a/drivers/spi/spi-dw.h
+++ b/drivers/spi/spi-dw.h
@@ -118,6 +118,7 @@
 	size_t			len;
 	void			*tx;
 	void			*tx_end;
+	spinlock_t		buf_lock;
 	void			*rx;
 	void			*rx_end;
 	int			dma_mapped;
diff --git a/drivers/spi/spi-fsl-spi.c b/drivers/spi/spi-fsl-spi.c
index 8b79e36..cd78455 100644
--- a/drivers/spi/spi-fsl-spi.c
+++ b/drivers/spi/spi-fsl-spi.c
@@ -407,7 +407,6 @@
 	}
 
 	m->status = status;
-	spi_finalize_current_message(master);
 
 	if (status || !cs_change) {
 		ndelay(nsecs);
@@ -415,6 +414,7 @@
 	}
 
 	fsl_spi_setup_transfer(spi, NULL);
+	spi_finalize_current_message(master);
 	return 0;
 }
 
diff --git a/drivers/spi/spi-geni-qcom.c b/drivers/spi/spi-geni-qcom.c
index 00bfed4..63556d1 100644
--- a/drivers/spi/spi-geni-qcom.c
+++ b/drivers/spi/spi-geni-qcom.c
@@ -1108,12 +1108,30 @@
 				"Failed to cancel/abort m_cmd\n");
 	}
 	if (mas->cur_xfer_mode == SE_DMA) {
-		if (xfer->tx_buf)
+		if (xfer->tx_buf) {
+			reinit_completion(&mas->xfer_done);
+			writel_relaxed(1, mas->base +
+				SE_DMA_TX_FSM_RST);
+			timeout =
+			wait_for_completion_timeout(&mas->xfer_done, HZ);
+			if (!timeout)
+				dev_err(mas->dev,
+					"DMA TX RESET failed\n");
 			geni_se_tx_dma_unprep(mas->wrapper_dev,
-					xfer->tx_dma, xfer->len);
-		if (xfer->rx_buf)
+				xfer->tx_dma, xfer->len);
+		}
+		if (xfer->rx_buf) {
+			reinit_completion(&mas->xfer_done);
+			writel_relaxed(1, mas->base +
+				SE_DMA_RX_FSM_RST);
+			timeout =
+			wait_for_completion_timeout(&mas->xfer_done, HZ);
+			if (!timeout)
+				dev_err(mas->dev,
+					"DMA RX RESET failed\n");
 			geni_se_rx_dma_unprep(mas->wrapper_dev,
-					xfer->rx_dma, xfer->len);
+				xfer->rx_dma, xfer->len);
+		}
 	}
 
 }
diff --git a/drivers/spi/spi-mem.c b/drivers/spi/spi-mem.c
index eb72dba..62a7b80 100644
--- a/drivers/spi/spi-mem.c
+++ b/drivers/spi/spi-mem.c
@@ -12,6 +12,8 @@
 
 #include "internals.h"
 
+#define SPI_MEM_MAX_BUSWIDTH		4
+
 /**
  * spi_controller_dma_map_mem_op_data() - DMA-map the buffer attached to a
  *					  memory operation
@@ -149,6 +151,44 @@
 }
 EXPORT_SYMBOL_GPL(spi_mem_default_supports_op);
 
+static bool spi_mem_buswidth_is_valid(u8 buswidth)
+{
+	if (hweight8(buswidth) > 1 || buswidth > SPI_MEM_MAX_BUSWIDTH)
+		return false;
+
+	return true;
+}
+
+static int spi_mem_check_op(const struct spi_mem_op *op)
+{
+	if (!op->cmd.buswidth)
+		return -EINVAL;
+
+	if ((op->addr.nbytes && !op->addr.buswidth) ||
+	    (op->dummy.nbytes && !op->dummy.buswidth) ||
+	    (op->data.nbytes && !op->data.buswidth))
+		return -EINVAL;
+
+	if (!spi_mem_buswidth_is_valid(op->cmd.buswidth) ||
+	    !spi_mem_buswidth_is_valid(op->addr.buswidth) ||
+	    !spi_mem_buswidth_is_valid(op->dummy.buswidth) ||
+	    !spi_mem_buswidth_is_valid(op->data.buswidth))
+		return -EINVAL;
+
+	return 0;
+}
+
+static bool spi_mem_internal_supports_op(struct spi_mem *mem,
+					 const struct spi_mem_op *op)
+{
+	struct spi_controller *ctlr = mem->spi->controller;
+
+	if (ctlr->mem_ops && ctlr->mem_ops->supports_op)
+		return ctlr->mem_ops->supports_op(mem, op);
+
+	return spi_mem_default_supports_op(mem, op);
+}
+
 /**
  * spi_mem_supports_op() - Check if a memory device and the controller it is
  *			   connected to support a specific memory operation
@@ -166,12 +206,10 @@
  */
 bool spi_mem_supports_op(struct spi_mem *mem, const struct spi_mem_op *op)
 {
-	struct spi_controller *ctlr = mem->spi->controller;
+	if (spi_mem_check_op(op))
+		return false;
 
-	if (ctlr->mem_ops && ctlr->mem_ops->supports_op)
-		return ctlr->mem_ops->supports_op(mem, op);
-
-	return spi_mem_default_supports_op(mem, op);
+	return spi_mem_internal_supports_op(mem, op);
 }
 EXPORT_SYMBOL_GPL(spi_mem_supports_op);
 
@@ -196,7 +234,11 @@
 	u8 *tmpbuf;
 	int ret;
 
-	if (!spi_mem_supports_op(mem, op))
+	ret = spi_mem_check_op(op);
+	if (ret)
+		return ret;
+
+	if (!spi_mem_internal_supports_op(mem, op))
 		return -ENOTSUPP;
 
 	if (ctlr->mem_ops) {
diff --git a/drivers/spi/spi-tegra114.c b/drivers/spi/spi-tegra114.c
index a1888dc..09cfae3 100644
--- a/drivers/spi/spi-tegra114.c
+++ b/drivers/spi/spi-tegra114.c
@@ -307,10 +307,16 @@
 				x |= (u32)(*tx_buf++) << (i * 8);
 			tegra_spi_writel(tspi, x, SPI_TX_FIFO);
 		}
+
+		tspi->cur_tx_pos += written_words * tspi->bytes_per_word;
 	} else {
+		unsigned int write_bytes;
 		max_n_32bit = min(tspi->curr_dma_words,  tx_empty_count);
 		written_words = max_n_32bit;
 		nbytes = written_words * tspi->bytes_per_word;
+		if (nbytes > t->len - tspi->cur_pos)
+			nbytes = t->len - tspi->cur_pos;
+		write_bytes = nbytes;
 		for (count = 0; count < max_n_32bit; count++) {
 			u32 x = 0;
 
@@ -319,8 +325,10 @@
 				x |= (u32)(*tx_buf++) << (i * 8);
 			tegra_spi_writel(tspi, x, SPI_TX_FIFO);
 		}
+
+		tspi->cur_tx_pos += write_bytes;
 	}
-	tspi->cur_tx_pos += written_words * tspi->bytes_per_word;
+
 	return written_words;
 }
 
@@ -344,20 +352,27 @@
 			for (i = 0; len && (i < 4); i++, len--)
 				*rx_buf++ = (x >> i*8) & 0xFF;
 		}
-		tspi->cur_rx_pos += tspi->curr_dma_words * tspi->bytes_per_word;
 		read_words += tspi->curr_dma_words;
+		tspi->cur_rx_pos += tspi->curr_dma_words * tspi->bytes_per_word;
 	} else {
 		u32 rx_mask = ((u32)1 << t->bits_per_word) - 1;
+		u8 bytes_per_word = tspi->bytes_per_word;
+		unsigned int read_bytes;
 
+		len = rx_full_count * bytes_per_word;
+		if (len > t->len - tspi->cur_pos)
+			len = t->len - tspi->cur_pos;
+		read_bytes = len;
 		for (count = 0; count < rx_full_count; count++) {
 			u32 x = tegra_spi_readl(tspi, SPI_RX_FIFO) & rx_mask;
 
-			for (i = 0; (i < tspi->bytes_per_word); i++)
+			for (i = 0; len && (i < bytes_per_word); i++, len--)
 				*rx_buf++ = (x >> (i*8)) & 0xFF;
 		}
-		tspi->cur_rx_pos += rx_full_count * tspi->bytes_per_word;
 		read_words += rx_full_count;
+		tspi->cur_rx_pos += read_bytes;
 	}
+
 	return read_words;
 }
 
@@ -372,12 +387,17 @@
 		unsigned len = tspi->curr_dma_words * tspi->bytes_per_word;
 
 		memcpy(tspi->tx_dma_buf, t->tx_buf + tspi->cur_pos, len);
+		tspi->cur_tx_pos += tspi->curr_dma_words * tspi->bytes_per_word;
 	} else {
 		unsigned int i;
 		unsigned int count;
 		u8 *tx_buf = (u8 *)t->tx_buf + tspi->cur_tx_pos;
 		unsigned consume = tspi->curr_dma_words * tspi->bytes_per_word;
+		unsigned int write_bytes;
 
+		if (consume > t->len - tspi->cur_pos)
+			consume = t->len - tspi->cur_pos;
+		write_bytes = consume;
 		for (count = 0; count < tspi->curr_dma_words; count++) {
 			u32 x = 0;
 
@@ -386,8 +406,9 @@
 				x |= (u32)(*tx_buf++) << (i * 8);
 			tspi->tx_dma_buf[count] = x;
 		}
+
+		tspi->cur_tx_pos += write_bytes;
 	}
-	tspi->cur_tx_pos += tspi->curr_dma_words * tspi->bytes_per_word;
 
 	/* Make the dma buffer to read by dma */
 	dma_sync_single_for_device(tspi->dev, tspi->tx_dma_phys,
@@ -405,20 +426,28 @@
 		unsigned len = tspi->curr_dma_words * tspi->bytes_per_word;
 
 		memcpy(t->rx_buf + tspi->cur_rx_pos, tspi->rx_dma_buf, len);
+		tspi->cur_rx_pos += tspi->curr_dma_words * tspi->bytes_per_word;
 	} else {
 		unsigned int i;
 		unsigned int count;
 		unsigned char *rx_buf = t->rx_buf + tspi->cur_rx_pos;
 		u32 rx_mask = ((u32)1 << t->bits_per_word) - 1;
+		unsigned consume = tspi->curr_dma_words * tspi->bytes_per_word;
+		unsigned int read_bytes;
 
+		if (consume > t->len - tspi->cur_pos)
+			consume = t->len - tspi->cur_pos;
+		read_bytes = consume;
 		for (count = 0; count < tspi->curr_dma_words; count++) {
 			u32 x = tspi->rx_dma_buf[count] & rx_mask;
 
-			for (i = 0; (i < tspi->bytes_per_word); i++)
+			for (i = 0; consume && (i < tspi->bytes_per_word);
+							i++, consume--)
 				*rx_buf++ = (x >> (i*8)) & 0xFF;
 		}
+
+		tspi->cur_rx_pos += read_bytes;
 	}
-	tspi->cur_rx_pos += tspi->curr_dma_words * tspi->bytes_per_word;
 
 	/* Make the dma buffer to read by dma */
 	dma_sync_single_for_device(tspi->dev, tspi->rx_dma_phys,
@@ -470,21 +499,38 @@
 	return 0;
 }
 
+static int tegra_spi_flush_fifos(struct tegra_spi_data *tspi)
+{
+	unsigned long timeout = jiffies + HZ;
+	u32 status;
+
+	status = tegra_spi_readl(tspi, SPI_FIFO_STATUS);
+	if ((status & SPI_FIFO_EMPTY) != SPI_FIFO_EMPTY) {
+		status |= SPI_RX_FIFO_FLUSH | SPI_TX_FIFO_FLUSH;
+		tegra_spi_writel(tspi, status, SPI_FIFO_STATUS);
+		while ((status & SPI_FIFO_EMPTY) != SPI_FIFO_EMPTY) {
+			status = tegra_spi_readl(tspi, SPI_FIFO_STATUS);
+			if (time_after(jiffies, timeout)) {
+				dev_err(tspi->dev,
+					"timeout waiting for fifo flush\n");
+				return -EIO;
+			}
+
+			udelay(1);
+		}
+	}
+
+	return 0;
+}
+
 static int tegra_spi_start_dma_based_transfer(
 		struct tegra_spi_data *tspi, struct spi_transfer *t)
 {
 	u32 val;
 	unsigned int len;
 	int ret = 0;
-	u32 status;
-
-	/* Make sure that Rx and Tx fifo are empty */
-	status = tegra_spi_readl(tspi, SPI_FIFO_STATUS);
-	if ((status & SPI_FIFO_EMPTY) != SPI_FIFO_EMPTY) {
-		dev_err(tspi->dev, "Rx/Tx fifo are not empty status 0x%08x\n",
-			(unsigned)status);
-		return -EIO;
-	}
+	u8 dma_burst;
+	struct dma_slave_config dma_sconfig = {0};
 
 	val = SPI_DMA_BLK_SET(tspi->curr_dma_words - 1);
 	tegra_spi_writel(tspi, val, SPI_DMA_BLK);
@@ -496,12 +542,16 @@
 		len = tspi->curr_dma_words * 4;
 
 	/* Set attention level based on length of transfer */
-	if (len & 0xF)
+	if (len & 0xF) {
 		val |= SPI_TX_TRIG_1 | SPI_RX_TRIG_1;
-	else if (((len) >> 4) & 0x1)
+		dma_burst = 1;
+	} else if (((len) >> 4) & 0x1) {
 		val |= SPI_TX_TRIG_4 | SPI_RX_TRIG_4;
-	else
+		dma_burst = 4;
+	} else {
 		val |= SPI_TX_TRIG_8 | SPI_RX_TRIG_8;
+		dma_burst = 8;
+	}
 
 	if (tspi->cur_direction & DATA_DIR_TX)
 		val |= SPI_IE_TX;
@@ -512,7 +562,18 @@
 	tegra_spi_writel(tspi, val, SPI_DMA_CTL);
 	tspi->dma_control_reg = val;
 
+	dma_sconfig.device_fc = true;
 	if (tspi->cur_direction & DATA_DIR_TX) {
+		dma_sconfig.dst_addr = tspi->phys + SPI_TX_FIFO;
+		dma_sconfig.dst_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
+		dma_sconfig.dst_maxburst = dma_burst;
+		ret = dmaengine_slave_config(tspi->tx_dma_chan, &dma_sconfig);
+		if (ret < 0) {
+			dev_err(tspi->dev,
+				"DMA slave config failed: %d\n", ret);
+			return ret;
+		}
+
 		tegra_spi_copy_client_txbuf_to_spi_txbuf(tspi, t);
 		ret = tegra_spi_start_tx_dma(tspi, len);
 		if (ret < 0) {
@@ -523,6 +584,16 @@
 	}
 
 	if (tspi->cur_direction & DATA_DIR_RX) {
+		dma_sconfig.src_addr = tspi->phys + SPI_RX_FIFO;
+		dma_sconfig.src_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
+		dma_sconfig.src_maxburst = dma_burst;
+		ret = dmaengine_slave_config(tspi->rx_dma_chan, &dma_sconfig);
+		if (ret < 0) {
+			dev_err(tspi->dev,
+				"DMA slave config failed: %d\n", ret);
+			return ret;
+		}
+
 		/* Make the dma buffer to read by dma */
 		dma_sync_single_for_device(tspi->dev, tspi->rx_dma_phys,
 				tspi->dma_buf_size, DMA_FROM_DEVICE);
@@ -582,7 +653,6 @@
 	u32 *dma_buf;
 	dma_addr_t dma_phys;
 	int ret;
-	struct dma_slave_config dma_sconfig;
 
 	dma_chan = dma_request_slave_channel_reason(tspi->dev,
 					dma_to_memory ? "rx" : "tx");
@@ -603,19 +673,6 @@
 	}
 
 	if (dma_to_memory) {
-		dma_sconfig.src_addr = tspi->phys + SPI_RX_FIFO;
-		dma_sconfig.src_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
-		dma_sconfig.src_maxburst = 0;
-	} else {
-		dma_sconfig.dst_addr = tspi->phys + SPI_TX_FIFO;
-		dma_sconfig.dst_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
-		dma_sconfig.dst_maxburst = 0;
-	}
-
-	ret = dmaengine_slave_config(dma_chan, &dma_sconfig);
-	if (ret)
-		goto scrub;
-	if (dma_to_memory) {
 		tspi->rx_dma_chan = dma_chan;
 		tspi->rx_dma_buf = dma_buf;
 		tspi->rx_dma_phys = dma_phys;
@@ -625,11 +682,6 @@
 		tspi->tx_dma_phys = dma_phys;
 	}
 	return 0;
-
-scrub:
-	dma_free_coherent(tspi->dev, tspi->dma_buf_size, dma_buf, dma_phys);
-	dma_release_channel(dma_chan);
-	return ret;
 }
 
 static void tegra_spi_deinit_dma_param(struct tegra_spi_data *tspi,
@@ -730,6 +782,8 @@
 
 	if (tspi->is_packed)
 		command1 |= SPI_PACKED;
+	else
+		command1 &= ~SPI_PACKED;
 
 	command1 &= ~(SPI_CS_SEL_MASK | SPI_TX_EN | SPI_RX_EN);
 	tspi->cur_direction = 0;
@@ -748,6 +802,9 @@
 	dev_dbg(tspi->dev, "The def 0x%x and written 0x%x\n",
 		tspi->def_command1_reg, (unsigned)command1);
 
+	ret = tegra_spi_flush_fifos(tspi);
+	if (ret < 0)
+		return ret;
 	if (total_fifo_words > SPI_FIFO_DEPTH)
 		ret = tegra_spi_start_dma_based_transfer(tspi, t);
 	else
@@ -838,7 +895,17 @@
 		if (WARN_ON(ret == 0)) {
 			dev_err(tspi->dev,
 				"spi transfer timeout, err %d\n", ret);
+			if (tspi->is_curr_dma_xfer &&
+			    (tspi->cur_direction & DATA_DIR_TX))
+				dmaengine_terminate_all(tspi->tx_dma_chan);
+			if (tspi->is_curr_dma_xfer &&
+			    (tspi->cur_direction & DATA_DIR_RX))
+				dmaengine_terminate_all(tspi->rx_dma_chan);
 			ret = -EIO;
+			tegra_spi_flush_fifos(tspi);
+			reset_control_assert(tspi->rst);
+			udelay(2);
+			reset_control_deassert(tspi->rst);
 			goto complete_xfer;
 		}
 
@@ -889,6 +956,7 @@
 			tspi->status_reg);
 		dev_err(tspi->dev, "CpuXfer 0x%08x:0x%08x\n",
 			tspi->command1_reg, tspi->dma_control_reg);
+		tegra_spi_flush_fifos(tspi);
 		reset_control_assert(tspi->rst);
 		udelay(2);
 		reset_control_deassert(tspi->rst);
@@ -961,6 +1029,7 @@
 			tspi->status_reg);
 		dev_err(tspi->dev, "DmaXfer 0x%08x:0x%08x\n",
 			tspi->command1_reg, tspi->dma_control_reg);
+		tegra_spi_flush_fifos(tspi);
 		reset_control_assert(tspi->rst);
 		udelay(2);
 		reset_control_deassert(tspi->rst);
diff --git a/drivers/spi/spi-topcliff-pch.c b/drivers/spi/spi-topcliff-pch.c
index 4389ab8..fa730a8 100644
--- a/drivers/spi/spi-topcliff-pch.c
+++ b/drivers/spi/spi-topcliff-pch.c
@@ -1008,6 +1008,9 @@
 
 	/* RX */
 	dma->sg_rx_p = kcalloc(num, sizeof(*dma->sg_rx_p), GFP_ATOMIC);
+	if (!dma->sg_rx_p)
+		return;
+
 	sg_init_table(dma->sg_rx_p, num); /* Initialize SG table */
 	/* offset, length setting */
 	sg = dma->sg_rx_p;
@@ -1068,6 +1071,9 @@
 	}
 
 	dma->sg_tx_p = kcalloc(num, sizeof(*dma->sg_tx_p), GFP_ATOMIC);
+	if (!dma->sg_tx_p)
+		return;
+
 	sg_init_table(dma->sg_tx_p, num); /* Initialize SG table */
 	/* offset, length setting */
 	sg = dma->sg_tx_p;
diff --git a/drivers/staging/android/ion/ion_system_heap.c b/drivers/staging/android/ion/ion_system_heap.c
index 4e52520..6754d13 100644
--- a/drivers/staging/android/ion/ion_system_heap.c
+++ b/drivers/staging/android/ion/ion_system_heap.c
@@ -695,8 +695,8 @@
 	attr.sched_nice = ION_KTHREAD_NICE_VAL;
 	buf = cached ? "cached" : "uncached";
 
-	thread = kthread_create(ion_sys_heap_worker, pools,
-				"ion-pool-%s-worker", buf);
+	thread = kthread_run(ion_sys_heap_worker, pools,
+			     "ion-pool-%s-worker", buf);
 	if (IS_ERR(thread)) {
 		pr_err("%s: failed to create %s worker thread: %ld\n",
 		       __func__, buf, PTR_ERR(thread));
diff --git a/drivers/staging/android/vsoc.c b/drivers/staging/android/vsoc.c
index 22571ab..034d868 100644
--- a/drivers/staging/android/vsoc.c
+++ b/drivers/staging/android/vsoc.c
@@ -260,7 +260,8 @@
 	atomic_t *owner_ptr = NULL;
 	struct vsoc_device_region *managed_region_p;
 
-	if (copy_from_user(&np->permission, &arg->perm, sizeof(*np)) ||
+	if (copy_from_user(&np->permission,
+			   &arg->perm, sizeof(np->permission)) ||
 	    copy_from_user(&managed_fd,
 			   &arg->managed_region_fd, sizeof(managed_fd))) {
 		return -EFAULT;
diff --git a/drivers/staging/comedi/drivers/adv_pci1710.c b/drivers/staging/comedi/drivers/adv_pci1710.c
index 6a93b04f..c1c3b18 100644
--- a/drivers/staging/comedi/drivers/adv_pci1710.c
+++ b/drivers/staging/comedi/drivers/adv_pci1710.c
@@ -46,8 +46,8 @@
 #define PCI171X_RANGE_UNI	BIT(4)
 #define PCI171X_RANGE_GAIN(x)	(((x) & 0x7) << 0)
 #define PCI171X_MUX_REG		0x04	/* W:   A/D multiplexor control */
-#define PCI171X_MUX_CHANH(x)	(((x) & 0xf) << 8)
-#define PCI171X_MUX_CHANL(x)	(((x) & 0xf) << 0)
+#define PCI171X_MUX_CHANH(x)	(((x) & 0xff) << 8)
+#define PCI171X_MUX_CHANL(x)	(((x) & 0xff) << 0)
 #define PCI171X_MUX_CHAN(x)	(PCI171X_MUX_CHANH(x) | PCI171X_MUX_CHANL(x))
 #define PCI171X_STATUS_REG	0x06	/* R:   status register */
 #define PCI171X_STATUS_IRQ	BIT(11)	/* 1=IRQ occurred */
diff --git a/drivers/staging/comedi/drivers/ni_mio_common.c b/drivers/staging/comedi/drivers/ni_mio_common.c
index d799b1b..747518c 100644
--- a/drivers/staging/comedi/drivers/ni_mio_common.c
+++ b/drivers/staging/comedi/drivers/ni_mio_common.c
@@ -4984,7 +4984,10 @@
 	case NI_RTSI_OUTPUT_G_SRC0:
 	case NI_RTSI_OUTPUT_G_GATE0:
 	case NI_RTSI_OUTPUT_RGOUT0:
-	case NI_RTSI_OUTPUT_RTSI_BRD_0:
+	case NI_RTSI_OUTPUT_RTSI_BRD(0):
+	case NI_RTSI_OUTPUT_RTSI_BRD(1):
+	case NI_RTSI_OUTPUT_RTSI_BRD(2):
+	case NI_RTSI_OUTPUT_RTSI_BRD(3):
 		return 1;
 	case NI_RTSI_OUTPUT_RTSI_OSC:
 		return (devpriv->is_m_series) ? 1 : 0;
@@ -5005,11 +5008,18 @@
 		devpriv->rtsi_trig_a_output_reg |= NISTC_RTSI_TRIG(chan, src);
 		ni_stc_writew(dev, devpriv->rtsi_trig_a_output_reg,
 			      NISTC_RTSI_TRIGA_OUT_REG);
-	} else if (chan < 8) {
+	} else if (chan < NISTC_RTSI_TRIG_NUM_CHAN(devpriv->is_m_series)) {
 		devpriv->rtsi_trig_b_output_reg &= ~NISTC_RTSI_TRIG_MASK(chan);
 		devpriv->rtsi_trig_b_output_reg |= NISTC_RTSI_TRIG(chan, src);
 		ni_stc_writew(dev, devpriv->rtsi_trig_b_output_reg,
 			      NISTC_RTSI_TRIGB_OUT_REG);
+	} else if (chan != NISTC_RTSI_TRIG_OLD_CLK_CHAN) {
+		/* probably should never reach this, since the
+		 * ni_valid_rtsi_output_source above errors out if chan is too
+		 * high
+		 */
+		dev_err(dev->class_dev, "%s: unknown rtsi channel\n", __func__);
+		return -EINVAL;
 	}
 	return 2;
 }
@@ -5025,12 +5035,12 @@
 	} else if (chan < NISTC_RTSI_TRIG_NUM_CHAN(devpriv->is_m_series)) {
 		return NISTC_RTSI_TRIG_TO_SRC(chan,
 					      devpriv->rtsi_trig_b_output_reg);
-	} else {
-		if (chan == NISTC_RTSI_TRIG_OLD_CLK_CHAN)
-			return NI_RTSI_OUTPUT_RTSI_OSC;
-		dev_err(dev->class_dev, "bug! should never get here?\n");
-		return 0;
+	} else if (chan == NISTC_RTSI_TRIG_OLD_CLK_CHAN) {
+		return NI_RTSI_OUTPUT_RTSI_OSC;
 	}
+
+	dev_err(dev->class_dev, "%s: unknown rtsi channel\n", __func__);
+	return -EINVAL;
 }
 
 static int ni_rtsi_insn_config(struct comedi_device *dev,
diff --git a/drivers/staging/greybus/audio_manager.c b/drivers/staging/greybus/audio_manager.c
index d44b070..0f5c68e 100644
--- a/drivers/staging/greybus/audio_manager.c
+++ b/drivers/staging/greybus/audio_manager.c
@@ -89,8 +89,8 @@
 
 	list_for_each_entry_safe(module, next, &modules_list, list) {
 		list_del(&module->list);
-		kobject_put(&module->kobj);
 		ida_simple_remove(&module_id, module->id);
+		kobject_put(&module->kobj);
 	}
 
 	is_empty = list_empty(&modules_list);
diff --git a/drivers/staging/greybus/light.c b/drivers/staging/greybus/light.c
index 010ae1e..40680ea 100644
--- a/drivers/staging/greybus/light.c
+++ b/drivers/staging/greybus/light.c
@@ -1098,21 +1098,21 @@
 static void gb_lights_light_release(struct gb_light *light)
 {
 	int i;
-	int count;
 
 	light->ready = false;
 
-	count = light->channels_count;
-
 	if (light->has_flash)
 		gb_lights_light_v4l2_unregister(light);
+	light->has_flash = false;
 
-	for (i = 0; i < count; i++) {
+	for (i = 0; i < light->channels_count; i++)
 		gb_lights_channel_release(&light->channels[i]);
-		light->channels_count--;
-	}
+	light->channels_count = 0;
+
 	kfree(light->channels);
+	light->channels = NULL;
 	kfree(light->name);
+	light->name = NULL;
 }
 
 static void gb_lights_release(struct gb_lights *glights)
diff --git a/drivers/staging/most/cdev/cdev.c b/drivers/staging/most/cdev/cdev.c
index 0b48677..27d58b5 100644
--- a/drivers/staging/most/cdev/cdev.c
+++ b/drivers/staging/most/cdev/cdev.c
@@ -453,7 +453,9 @@
 	c->devno = MKDEV(comp.major, current_minor);
 	cdev_init(&c->cdev, &channel_fops);
 	c->cdev.owner = THIS_MODULE;
-	cdev_add(&c->cdev, c->devno, 1);
+	retval = cdev_add(&c->cdev, c->devno, 1);
+	if (retval < 0)
+		goto err_free_c;
 	c->iface = iface;
 	c->cfg = cfg;
 	c->channel_id = channel_id;
@@ -485,6 +487,7 @@
 	list_del(&c->list);
 error_alloc_kfifo:
 	cdev_del(&c->cdev);
+err_free_c:
 	kfree(c);
 error_alloc_channel:
 	ida_simple_remove(&comp.minor_id, current_minor);
diff --git a/drivers/staging/most/net/net.c b/drivers/staging/most/net/net.c
index 30d816b..ff80834 100644
--- a/drivers/staging/most/net/net.c
+++ b/drivers/staging/most/net/net.c
@@ -81,6 +81,11 @@
 	unsigned int payload_len = skb->len - ETH_HLEN;
 	unsigned int mdp_len = payload_len + MDP_HDR_LEN;
 
+	if (mdp_len < skb->len) {
+		pr_err("drop: too large packet! (%u)\n", skb->len);
+		return -EINVAL;
+	}
+
 	if (mbo->buffer_length < mdp_len) {
 		pr_err("drop: too small buffer! (%d for %d)\n",
 		       mbo->buffer_length, mdp_len);
@@ -128,6 +133,11 @@
 	u8 *buff = mbo->virt_address;
 	unsigned int mep_len = skb->len + MEP_HDR_LEN;
 
+	if (mep_len < skb->len) {
+		pr_err("drop: too large packet! (%u)\n", skb->len);
+		return -EINVAL;
+	}
+
 	if (mbo->buffer_length < mep_len) {
 		pr_err("drop: too small buffer! (%d for %d)\n",
 		       mbo->buffer_length, mep_len);
diff --git a/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c b/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c
index bee3c3a..0003f0c 100644
--- a/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c
+++ b/drivers/staging/rtl8188eu/os_dep/ioctl_linux.c
@@ -229,18 +229,21 @@
 
 	/* parsing WPA/WPA2 IE */
 	{
-		u8 buf[MAX_WPA_IE_LEN];
+		u8 *buf;
 		u8 wpa_ie[255], rsn_ie[255];
 		u16 wpa_len = 0, rsn_len = 0;
 		u8 *p;
 
+		buf = kzalloc(MAX_WPA_IE_LEN, GFP_ATOMIC);
+		if (!buf)
+			return start;
+
 		rtw_get_sec_ie(pnetwork->network.ies, pnetwork->network.ie_length, rsn_ie, &rsn_len, wpa_ie, &wpa_len);
 		RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("rtw_wx_get_scan: ssid =%s\n", pnetwork->network.Ssid.Ssid));
 		RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("rtw_wx_get_scan: wpa_len =%d rsn_len =%d\n", wpa_len, rsn_len));
 
 		if (wpa_len > 0) {
 			p = buf;
-			memset(buf, 0, MAX_WPA_IE_LEN);
 			p += sprintf(p, "wpa_ie=");
 			for (i = 0; i < wpa_len; i++)
 				p += sprintf(p, "%02x", wpa_ie[i]);
@@ -257,7 +260,6 @@
 		}
 		if (rsn_len > 0) {
 			p = buf;
-			memset(buf, 0, MAX_WPA_IE_LEN);
 			p += sprintf(p, "rsn_ie=");
 			for (i = 0; i < rsn_len; i++)
 				p += sprintf(p, "%02x", rsn_ie[i]);
@@ -271,6 +273,7 @@
 			iwe.u.data.length = rsn_len;
 			start = iwe_stream_add_point(info, start, stop, &iwe, rsn_ie);
 		}
+		kfree(buf);
 	}
 
 	{/* parsing WPS IE */
@@ -2023,7 +2026,7 @@
 	struct ieee_param *param;
 	uint ret = 0;
 
-	if (p->length < sizeof(struct ieee_param) || !p->pointer) {
+	if (!p->pointer || p->length != sizeof(struct ieee_param)) {
 		ret = -EINVAL;
 		goto out;
 	}
@@ -2816,7 +2819,7 @@
 		goto out;
 	}
 
-	if (!p->pointer) {
+	if (!p->pointer || p->length != sizeof(struct ieee_param)) {
 		ret = -EINVAL;
 		goto out;
 	}
diff --git a/drivers/staging/rtl8188eu/os_dep/usb_intf.c b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
index 55952dd..4b36311 100644
--- a/drivers/staging/rtl8188eu/os_dep/usb_intf.c
+++ b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
@@ -37,6 +37,7 @@
 	{USB_DEVICE(0x2001, 0x3311)}, /* DLink GO-USB-N150 REV B1 */
 	{USB_DEVICE(0x2001, 0x331B)}, /* D-Link DWA-121 rev B1 */
 	{USB_DEVICE(0x2357, 0x010c)}, /* TP-Link TL-WN722N v2 */
+	{USB_DEVICE(0x2357, 0x0111)}, /* TP-Link TL-WN727N v5.21 */
 	{USB_DEVICE(0x0df6, 0x0076)}, /* Sitecom N150 v2 */
 	{USB_DEVICE(USB_VENDER_ID_REALTEK, 0xffef)}, /* Rosewill RNX-N150NUB */
 	{}	/* Terminating entry */
diff --git a/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c b/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c
index 10b3f97..4a27c39 100644
--- a/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c
+++ b/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c
@@ -478,14 +478,13 @@
 	s32 ret;
 	struct adapter *padapter;
 	struct xmit_priv *pxmitpriv;
-	u8 thread_name[20] = "RTWHALXT";
-
+	u8 thread_name[20];
 
 	ret = _SUCCESS;
 	padapter = context;
 	pxmitpriv = &padapter->xmitpriv;
 
-	rtw_sprintf(thread_name, 20, "%s-"ADPT_FMT, thread_name, ADPT_ARG(padapter));
+	rtw_sprintf(thread_name, 20, "RTWHALXT-" ADPT_FMT, ADPT_ARG(padapter));
 	thread_enter(thread_name);
 
 	DBG_871X("start "FUNC_ADPT_FMT"\n", FUNC_ADPT_ARG(padapter));
diff --git a/drivers/staging/rtl8723bs/os_dep/ioctl_linux.c b/drivers/staging/rtl8723bs/os_dep/ioctl_linux.c
index 4f120e7..466d25c 100644
--- a/drivers/staging/rtl8723bs/os_dep/ioctl_linux.c
+++ b/drivers/staging/rtl8723bs/os_dep/ioctl_linux.c
@@ -3400,7 +3400,7 @@
 
 	/* down(&ieee->wx_sem); */
 
-	if (p->length < sizeof(struct ieee_param) || !p->pointer) {
+	if (!p->pointer || p->length != sizeof(struct ieee_param)) {
 		ret = -EINVAL;
 		goto out;
 	}
@@ -4236,7 +4236,7 @@
 
 
 	/* if (p->length < sizeof(struct ieee_param) || !p->pointer) { */
-	if (!p->pointer) {
+	if (!p->pointer || p->length != sizeof(*param)) {
 		ret = -EINVAL;
 		goto out;
 	}
diff --git a/drivers/staging/rtlwifi/halmac/halmac_88xx/halmac_func_88xx.c b/drivers/staging/rtlwifi/halmac/halmac_88xx/halmac_func_88xx.c
index 53f55f12..ddbeff8 100644
--- a/drivers/staging/rtlwifi/halmac/halmac_88xx/halmac_func_88xx.c
+++ b/drivers/staging/rtlwifi/halmac/halmac_88xx/halmac_func_88xx.c
@@ -2466,8 +2466,11 @@
 	segment_size = (u8)PSD_DATA_GET_SEGMENT_SIZE(c2h_buf);
 	psd_set->data_size = total_size;
 
-	if (!psd_set->data)
+	if (!psd_set->data) {
 		psd_set->data = kzalloc(psd_set->data_size, GFP_KERNEL);
+		if (!psd_set->data)
+			return HALMAC_RET_MALLOC_FAIL;
+	}
 
 	if (segment_id == 0)
 		psd_set->segment_size = segment_size;
diff --git a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c
index 4550828..edf2592 100644
--- a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c
+++ b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c
@@ -47,6 +47,7 @@
 MODULE_AUTHOR("Vincent Sanders");
 MODULE_LICENSE("GPL");
 MODULE_VERSION(BM2835_MMAL_VERSION);
+MODULE_ALIAS("platform:bcm2835-camera");
 
 int bcm2835_v4l2_debug;
 module_param_named(debug, bcm2835_v4l2_debug, int, 0644);
@@ -1854,6 +1855,12 @@
 	num_cameras = get_num_cameras(instance,
 				      resolutions,
 				      MAX_BCM2835_CAMERAS);
+
+	if (num_cameras < 1) {
+		ret = -ENODEV;
+		goto cleanup_mmal;
+	}
+
 	if (num_cameras > MAX_BCM2835_CAMERAS)
 		num_cameras = MAX_BCM2835_CAMERAS;
 
@@ -1953,6 +1960,9 @@
 	pr_info("%s: error %d while loading driver\n",
 		BM2835_MMAL_MODULE_NAME, ret);
 
+cleanup_mmal:
+	vchiq_mmal_finalise(instance);
+
 	return ret;
 }
 
diff --git a/drivers/staging/vt6656/device.h b/drivers/staging/vt6656/device.h
index a2feeb9..77e59a9 100644
--- a/drivers/staging/vt6656/device.h
+++ b/drivers/staging/vt6656/device.h
@@ -52,6 +52,8 @@
 #define RATE_AUTO	12
 
 #define MAX_RATE			12
+#define VNT_B_RATES	(BIT(RATE_1M) | BIT(RATE_2M) |\
+			BIT(RATE_5M) | BIT(RATE_11M))
 
 /*
  * device specific
@@ -259,6 +261,7 @@
 	u8 mac_hw;
 	/* netdev */
 	struct usb_device *usb;
+	struct usb_interface *intf;
 
 	u64 tsf_time;
 	u8 rx_rate;
diff --git a/drivers/staging/vt6656/dpc.c b/drivers/staging/vt6656/dpc.c
index 3b94e80..879ceef 100644
--- a/drivers/staging/vt6656/dpc.c
+++ b/drivers/staging/vt6656/dpc.c
@@ -130,7 +130,7 @@
 
 	vnt_rf_rssi_to_dbm(priv, *rssi, &rx_dbm);
 
-	priv->bb_pre_ed_rssi = (u8)rx_dbm + 1;
+	priv->bb_pre_ed_rssi = (u8)-rx_dbm + 1;
 	priv->current_rssi = priv->bb_pre_ed_rssi;
 
 	skb_pull(skb, 8);
diff --git a/drivers/staging/vt6656/int.c b/drivers/staging/vt6656/int.c
index 504424b..af0060c 100644
--- a/drivers/staging/vt6656/int.c
+++ b/drivers/staging/vt6656/int.c
@@ -97,9 +97,11 @@
 
 	info->status.rates[0].count = tx_retry;
 
-	if (!(tsr & (TSR_TMO | TSR_RETRYTMO))) {
+	if (!(tsr & TSR_TMO)) {
 		info->status.rates[0].idx = idx;
-		info->flags |= IEEE80211_TX_STAT_ACK;
+
+		if (!(info->flags & IEEE80211_TX_CTL_NO_ACK))
+			info->flags |= IEEE80211_TX_STAT_ACK;
 	}
 
 	ieee80211_tx_status_irqsafe(priv->hw, context->skb);
diff --git a/drivers/staging/vt6656/main_usb.c b/drivers/staging/vt6656/main_usb.c
index 70433f7..36562ac 100644
--- a/drivers/staging/vt6656/main_usb.c
+++ b/drivers/staging/vt6656/main_usb.c
@@ -955,6 +955,7 @@
 	priv = hw->priv;
 	priv->hw = hw;
 	priv->usb = udev;
+	priv->intf = intf;
 
 	vnt_set_options(priv);
 
@@ -977,6 +978,7 @@
 	ieee80211_hw_set(priv->hw, RX_INCLUDES_FCS);
 	ieee80211_hw_set(priv->hw, REPORTS_TX_ACK_STATUS);
 	ieee80211_hw_set(priv->hw, SUPPORTS_PS);
+	ieee80211_hw_set(priv->hw, PS_NULLFUNC_STACK);
 
 	priv->hw->max_signal = 100;
 
diff --git a/drivers/staging/vt6656/rxtx.c b/drivers/staging/vt6656/rxtx.c
index 9def074..4b4f07f 100644
--- a/drivers/staging/vt6656/rxtx.c
+++ b/drivers/staging/vt6656/rxtx.c
@@ -278,11 +278,9 @@
 			  PK_TYPE_11B, &buf->b);
 
 	/* Get Duration and TimeStamp */
-	if (ieee80211_is_pspoll(hdr->frame_control)) {
-		__le16 dur = cpu_to_le16(priv->current_aid | BIT(14) | BIT(15));
-
-		buf->duration_a = dur;
-		buf->duration_b = dur;
+	if (ieee80211_is_nullfunc(hdr->frame_control)) {
+		buf->duration_a = hdr->duration_id;
+		buf->duration_b = hdr->duration_id;
 	} else {
 		buf->duration_a = vnt_get_duration_le(priv,
 						tx_context->pkt_type, need_ack);
@@ -371,10 +369,8 @@
 			  tx_context->pkt_type, &buf->ab);
 
 	/* Get Duration and TimeStampOff */
-	if (ieee80211_is_pspoll(hdr->frame_control)) {
-		__le16 dur = cpu_to_le16(priv->current_aid | BIT(14) | BIT(15));
-
-		buf->duration = dur;
+	if (ieee80211_is_nullfunc(hdr->frame_control)) {
+		buf->duration = hdr->duration_id;
 	} else {
 		buf->duration = vnt_get_duration_le(priv, tx_context->pkt_type,
 						    need_ack);
@@ -815,10 +811,14 @@
 		if (info->band == NL80211_BAND_5GHZ) {
 			pkt_type = PK_TYPE_11A;
 		} else {
-			if (tx_rate->flags & IEEE80211_TX_RC_USE_CTS_PROTECT)
-				pkt_type = PK_TYPE_11GB;
-			else
-				pkt_type = PK_TYPE_11GA;
+			if (tx_rate->flags & IEEE80211_TX_RC_USE_CTS_PROTECT) {
+				if (priv->basic_rates & VNT_B_RATES)
+					pkt_type = PK_TYPE_11GB;
+				else
+					pkt_type = PK_TYPE_11GA;
+			} else {
+				pkt_type = PK_TYPE_11A;
+			}
 		}
 	} else {
 		pkt_type = PK_TYPE_11B;
diff --git a/drivers/staging/vt6656/wcmd.c b/drivers/staging/vt6656/wcmd.c
index 3eb2f11..2c5250c 100644
--- a/drivers/staging/vt6656/wcmd.c
+++ b/drivers/staging/vt6656/wcmd.c
@@ -99,6 +99,7 @@
 		if (vnt_init(priv)) {
 			/* If fail all ends TODO retry */
 			dev_err(&priv->usb->dev, "failed to start\n");
+			usb_set_intfdata(priv->intf, NULL);
 			ieee80211_free_hw(priv->hw);
 			return;
 		}
diff --git a/drivers/staging/wlan-ng/prism2mgmt.c b/drivers/staging/wlan-ng/prism2mgmt.c
index 7350fe5..a8860d2 100644
--- a/drivers/staging/wlan-ng/prism2mgmt.c
+++ b/drivers/staging/wlan-ng/prism2mgmt.c
@@ -959,7 +959,7 @@
 		}
 	}
 
-	return 0;
+	return result;
 }
 
 /*----------------------------------------------------------------
diff --git a/drivers/target/iscsi/iscsi_target.c b/drivers/target/iscsi/iscsi_target.c
index 317d0f3..03e9cb1 100644
--- a/drivers/target/iscsi/iscsi_target.c
+++ b/drivers/target/iscsi/iscsi_target.c
@@ -1157,9 +1157,7 @@
 		hdr->cmdsn, be32_to_cpu(hdr->data_length), payload_length,
 		conn->cid);
 
-	if (target_get_sess_cmd(&cmd->se_cmd, true) < 0)
-		return iscsit_add_reject_cmd(cmd,
-				ISCSI_REASON_WAITING_FOR_LOGOUT, buf);
+	target_get_sess_cmd(&cmd->se_cmd, true);
 
 	cmd->sense_reason = transport_lookup_cmd_lun(&cmd->se_cmd,
 						     scsilun_to_int(&hdr->lun));
@@ -2000,9 +1998,7 @@
 			      conn->sess->se_sess, 0, DMA_NONE,
 			      TCM_SIMPLE_TAG, cmd->sense_buffer + 2);
 
-	if (target_get_sess_cmd(&cmd->se_cmd, true) < 0)
-		return iscsit_add_reject_cmd(cmd,
-				ISCSI_REASON_WAITING_FOR_LOGOUT, buf);
+	target_get_sess_cmd(&cmd->se_cmd, true);
 
 	/*
 	 * TASK_REASSIGN for ERL=2 / connection stays inside of
@@ -4208,8 +4204,6 @@
 	 * must wait until they have completed.
 	 */
 	iscsit_check_conn_usage_count(conn);
-	target_sess_cmd_list_set_waiting(sess->se_sess);
-	target_wait_for_sess_cmds(sess->se_sess);
 
 	ahash_request_free(conn->conn_tx_hash);
 	if (conn->conn_rx_hash) {
diff --git a/drivers/target/target_core_device.c b/drivers/target/target_core_device.c
index e9ff2a7..22e97a9 100644
--- a/drivers/target/target_core_device.c
+++ b/drivers/target/target_core_device.c
@@ -85,7 +85,7 @@
 			goto out_unlock;
 		}
 
-		se_cmd->se_lun = rcu_dereference(deve->se_lun);
+		se_cmd->se_lun = se_lun;
 		se_cmd->pr_res_key = deve->pr_res_key;
 		se_cmd->orig_fe_lun = unpacked_lun;
 		se_cmd->se_cmd_flags |= SCF_SE_LUN_CMD;
@@ -176,7 +176,7 @@
 			goto out_unlock;
 		}
 
-		se_cmd->se_lun = rcu_dereference(deve->se_lun);
+		se_cmd->se_lun = se_lun;
 		se_cmd->pr_res_key = deve->pr_res_key;
 		se_cmd->orig_fe_lun = unpacked_lun;
 		se_cmd->se_cmd_flags |= SCF_SE_LUN_CMD;
diff --git a/drivers/target/target_core_fabric_lib.c b/drivers/target/target_core_fabric_lib.c
index 71a8025..10fae26 100644
--- a/drivers/target/target_core_fabric_lib.c
+++ b/drivers/target/target_core_fabric_lib.c
@@ -131,7 +131,7 @@
 	memset(buf + 8, 0, leading_zero_bytes);
 	rc = hex2bin(buf + 8 + leading_zero_bytes, p, count);
 	if (rc < 0) {
-		pr_debug("hex2bin failed for %s: %d\n", __func__, rc);
+		pr_debug("hex2bin failed for %s: %d\n", p, rc);
 		return rc;
 	}
 
diff --git a/drivers/tee/optee/Kconfig b/drivers/tee/optee/Kconfig
index 3c59e19..3c1ec4e 100644
--- a/drivers/tee/optee/Kconfig
+++ b/drivers/tee/optee/Kconfig
@@ -2,6 +2,7 @@
 config OPTEE
 	tristate "OP-TEE"
 	depends on HAVE_ARM_SMCCC
+	depends on MMU
 	help
 	  This implements the OP-TEE Trusted Execution Environment (TEE)
 	  driver.
diff --git a/drivers/thermal/broadcom/brcmstb_thermal.c b/drivers/thermal/broadcom/brcmstb_thermal.c
index 1919f91..8d16a41 100644
--- a/drivers/thermal/broadcom/brcmstb_thermal.c
+++ b/drivers/thermal/broadcom/brcmstb_thermal.c
@@ -58,7 +58,7 @@
 #define AVS_TMON_TP_TEST_ENABLE		0x20
 
 /* Default coefficients */
-#define AVS_TMON_TEMP_SLOPE		-487
+#define AVS_TMON_TEMP_SLOPE		487
 #define AVS_TMON_TEMP_OFFSET		410040
 
 /* HW related temperature constants */
@@ -117,23 +117,12 @@
 	struct thermal_zone_device *thermal;
 };
 
-static void avs_tmon_get_coeffs(struct thermal_zone_device *tz, int *slope,
-				int *offset)
-{
-	*slope = thermal_zone_get_slope(tz);
-	*offset = thermal_zone_get_offset(tz);
-}
-
 /* Convert a HW code to a temperature reading (millidegree celsius) */
 static inline int avs_tmon_code_to_temp(struct thermal_zone_device *tz,
 					u32 code)
 {
-	const int val = code & AVS_TMON_TEMP_MASK;
-	int slope, offset;
-
-	avs_tmon_get_coeffs(tz, &slope, &offset);
-
-	return slope * val + offset;
+	return (AVS_TMON_TEMP_OFFSET -
+		(int)((code & AVS_TMON_TEMP_MAX) * AVS_TMON_TEMP_SLOPE));
 }
 
 /*
@@ -145,20 +134,18 @@
 static inline u32 avs_tmon_temp_to_code(struct thermal_zone_device *tz,
 					int temp, bool low)
 {
-	int slope, offset;
-
 	if (temp < AVS_TMON_TEMP_MIN)
-		return AVS_TMON_TEMP_MAX; /* Maximum code value */
+		return AVS_TMON_TEMP_MAX;	/* Maximum code value */
 
-	avs_tmon_get_coeffs(tz, &slope, &offset);
-
-	if (temp >= offset)
+	if (temp >= AVS_TMON_TEMP_OFFSET)
 		return 0;	/* Minimum code value */
 
 	if (low)
-		return (u32)(DIV_ROUND_UP(offset - temp, abs(slope)));
+		return (u32)(DIV_ROUND_UP(AVS_TMON_TEMP_OFFSET - temp,
+					  AVS_TMON_TEMP_SLOPE));
 	else
-		return (u32)((offset - temp) / abs(slope));
+		return (u32)((AVS_TMON_TEMP_OFFSET - temp) /
+			      AVS_TMON_TEMP_SLOPE);
 }
 
 static int brcmstb_get_temp(void *data, int *temp)
diff --git a/drivers/thermal/cpu_cooling.c b/drivers/thermal/cpu_cooling.c
index 02f623b..17177f9 100644
--- a/drivers/thermal/cpu_cooling.c
+++ b/drivers/thermal/cpu_cooling.c
@@ -481,7 +481,7 @@
 			load = 0;
 
 		total_load += load;
-		if (trace_thermal_power_cpu_limit_enabled() && load_cpu)
+		if (load_cpu)
 			load_cpu[i] = load;
 
 		i++;
diff --git a/drivers/thermal/msm-tsens.c b/drivers/thermal/msm-tsens.c
index c409961..d79e32f 100644
--- a/drivers/thermal/msm-tsens.c
+++ b/drivers/thermal/msm-tsens.c
@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
  */
 
 #include <linux/err.h>
@@ -273,7 +273,7 @@
 			}
 			TSENS_DBG(tmdev, "Calling trip_temp for sensor %d\n",
 					i);
-			of_thermal_handle_trip_temp(tmdev->sensor[i].tzd, temp);
+			of_thermal_handle_trip(tmdev->sensor[i].tzd);
 		}
 	}
 	if (tmdev->min_temp_sensor_id != MIN_TEMP_DEF_OFFSET) {
@@ -284,7 +284,7 @@
 			return;
 		}
 		TSENS_DBG(tmdev, "Calling trip_temp for sensor %d\n", i);
-		of_thermal_handle_trip_temp(tmdev->min_temp.tzd, temp);
+		of_thermal_handle_trip(tmdev->min_temp.tzd);
 	}
 }
 
diff --git a/drivers/thermal/mtk_thermal.c b/drivers/thermal/mtk_thermal.c
index 0691f26..f646436 100644
--- a/drivers/thermal/mtk_thermal.c
+++ b/drivers/thermal/mtk_thermal.c
@@ -431,7 +431,8 @@
 	u32 raw;
 
 	for (i = 0; i < conf->bank_data[bank->id].num_sensors; i++) {
-		raw = readl(mt->thermal_base + conf->msr[i]);
+		raw = readl(mt->thermal_base +
+			    conf->msr[conf->bank_data[bank->id].sensors[i]]);
 
 		temp = raw_to_mcelsius(mt,
 				       conf->bank_data[bank->id].sensors[i],
@@ -568,7 +569,8 @@
 
 	for (i = 0; i < conf->bank_data[num].num_sensors; i++)
 		writel(conf->sensor_mux_values[conf->bank_data[num].sensors[i]],
-		       mt->thermal_base + conf->adcpnp[i]);
+		       mt->thermal_base +
+		       conf->adcpnp[conf->bank_data[num].sensors[i]]);
 
 	writel((1 << conf->bank_data[num].num_sensors) - 1,
 	       mt->thermal_base + TEMP_MONCTL0);
diff --git a/drivers/thermal/qcom/adc-tm5.c b/drivers/thermal/qcom/adc-tm5.c
index 3371802..654689e 100644
--- a/drivers/thermal/qcom/adc-tm5.c
+++ b/drivers/thermal/qcom/adc-tm5.c
@@ -28,6 +28,9 @@
 #define ADC_TM_MEAS_INTERVAL_CTL		0x44
 #define ADC_TM_MEAS_INTERVAL_CTL2		0x45
 
+#define ADC_TM_MEAS_INTERVAL_CTL_660		0x50
+#define ADC_TM_MEAS_INTERVAL_CTL2_660		0x51
+
 #define ADC_TM_MEAS_INTERVAL_CTL2_SHIFT		0x4
 #define ADC_TM_MEAS_INTERVAL_CTL2_MASK		0xf0
 #define ADC_TM_MEAS_INTERVAL_CTL3_MASK		0xf
@@ -1035,22 +1038,31 @@
 {
 	u8 buf[4], channels_available, meas_int_timer_2_3 = 0;
 	int ret;
+	int dig_param_len = 4;
+	bool pmic_subtype_660 = false;
 	unsigned int offset_btm_idx = 0, i;
 
-	ret = adc_tm5_read_reg(chip, ADC_TM_NUM_BTM, &channels_available, 1);
-	if (ret < 0) {
-		pr_err("read failed for BTM channels\n");
-		return ret;
-	}
+	if ((chip->pmic_rev_id) &&
+		(chip->pmic_rev_id->pmic_subtype == PM660_SUBTYPE)) {
+		dig_param_len = 2;
+		pmic_subtype_660 = true;
+	} else {
+		ret = adc_tm5_read_reg(chip, ADC_TM_NUM_BTM,
+					&channels_available, 1);
+		if (ret < 0) {
+			pr_err("read failed for BTM channels\n");
+			return ret;
+		}
 
-	if (dt_chans > channels_available) {
-		pr_err("Number of nodes greater than channels supported:%d\n",
-							channels_available);
-		return -EINVAL;
+		if (dt_chans > channels_available) {
+			pr_err("More nodes than channels supported:%d\n",
+						channels_available);
+			return -EINVAL;
+		}
 	}
 
 	ret = adc_tm5_read_reg(chip,
-			ADC_TM_ADC_DIG_PARAM, buf, 4);
+			ADC_TM_ADC_DIG_PARAM, buf, dig_param_len);
 	if (ret < 0) {
 		pr_err("adc-tm block read failed with %d\n", ret);
 		return ret;
@@ -1072,10 +1084,18 @@
 	buf[3] = meas_int_timer_2_3;
 
 	ret = adc_tm5_write_reg(chip,
-			ADC_TM_ADC_DIG_PARAM, buf, 4);
+			ADC_TM_ADC_DIG_PARAM, buf, dig_param_len);
 	if (ret < 0)
 		pr_err("adc-tm block write failed with %d\n", ret);
 
+	if (pmic_subtype_660) {
+		ret = adc_tm5_write_reg(chip,
+				ADC_TM_MEAS_INTERVAL_CTL_660, &buf[2], 2);
+
+		if (ret < 0)
+			pr_err("adc-tm block write failed with %d\n", ret);
+	}
+
 	spin_lock_init(&chip->adc_tm_lock);
 	mutex_init(&chip->adc_mutex_lock);
 
diff --git a/drivers/thermal/rcar_gen3_thermal.c b/drivers/thermal/rcar_gen3_thermal.c
index 704c8ad..8f55345 100644
--- a/drivers/thermal/rcar_gen3_thermal.c
+++ b/drivers/thermal/rcar_gen3_thermal.c
@@ -14,7 +14,6 @@
 #include <linux/of_device.h>
 #include <linux/platform_device.h>
 #include <linux/pm_runtime.h>
-#include <linux/spinlock.h>
 #include <linux/sys_soc.h>
 #include <linux/thermal.h>
 
@@ -81,7 +80,6 @@
 struct rcar_gen3_thermal_priv {
 	struct rcar_gen3_thermal_tsc *tscs[TSC_MAX_NUM];
 	unsigned int num_tscs;
-	spinlock_t lock; /* Protect interrupts on and off */
 	void (*thermal_init)(struct rcar_gen3_thermal_tsc *tsc);
 };
 
@@ -231,38 +229,16 @@
 {
 	struct rcar_gen3_thermal_priv *priv = data;
 	u32 status;
-	int i, ret = IRQ_HANDLED;
+	int i;
 
-	spin_lock(&priv->lock);
 	for (i = 0; i < priv->num_tscs; i++) {
 		status = rcar_gen3_thermal_read(priv->tscs[i], REG_GEN3_IRQSTR);
 		rcar_gen3_thermal_write(priv->tscs[i], REG_GEN3_IRQSTR, 0);
 		if (status)
-			ret = IRQ_WAKE_THREAD;
+			thermal_zone_device_update(priv->tscs[i]->zone,
+						   THERMAL_EVENT_UNSPECIFIED);
 	}
 
-	if (ret == IRQ_WAKE_THREAD)
-		rcar_thermal_irq_set(priv, false);
-
-	spin_unlock(&priv->lock);
-
-	return ret;
-}
-
-static irqreturn_t rcar_gen3_thermal_irq_thread(int irq, void *data)
-{
-	struct rcar_gen3_thermal_priv *priv = data;
-	unsigned long flags;
-	int i;
-
-	for (i = 0; i < priv->num_tscs; i++)
-		thermal_zone_device_update(priv->tscs[i]->zone,
-					   THERMAL_EVENT_UNSPECIFIED);
-
-	spin_lock_irqsave(&priv->lock, flags);
-	rcar_thermal_irq_set(priv, true);
-	spin_unlock_irqrestore(&priv->lock, flags);
-
 	return IRQ_HANDLED;
 }
 
@@ -364,8 +340,6 @@
 	if (soc_device_match(r8a7795es1))
 		priv->thermal_init = rcar_gen3_thermal_init_r8a7795es1;
 
-	spin_lock_init(&priv->lock);
-
 	platform_set_drvdata(pdev, priv);
 
 	/*
@@ -383,9 +357,9 @@
 		if (!irqname)
 			return -ENOMEM;
 
-		ret = devm_request_threaded_irq(dev, irq, rcar_gen3_thermal_irq,
-						rcar_gen3_thermal_irq_thread,
-						IRQF_SHARED, irqname, priv);
+		ret = devm_request_threaded_irq(dev, irq, NULL,
+						rcar_gen3_thermal_irq,
+						IRQF_ONESHOT, irqname, priv);
 		if (ret)
 			return ret;
 	}
diff --git a/drivers/thermal/tsens2xxx.c b/drivers/thermal/tsens2xxx.c
index 941f7f4..d04ea03 100644
--- a/drivers/thermal/tsens2xxx.c
+++ b/drivers/thermal/tsens2xxx.c
@@ -83,12 +83,70 @@
 	*temp = last_temp * TSENS_TM_SCALE_DECI_MILLIDEG;
 }
 
+static int __tsens2xxx_hw_init(struct tsens_device *tmdev)
+{
+	void __iomem *srot_addr;
+	void __iomem *sensor_int_mask_addr;
+	unsigned int srot_val, crit_mask, crit_val;
+	void __iomem *int_mask_addr;
+
+	srot_addr = TSENS_CTRL_ADDR(tmdev->tsens_srot_addr + 0x4);
+	srot_val = readl_relaxed(srot_addr);
+	if (!(srot_val & TSENS_EN)) {
+		pr_err("TSENS device is not enabled\n");
+		return -ENODEV;
+	}
+
+	if (tmdev->ctrl_data->cycle_monitor) {
+		sensor_int_mask_addr =
+			TSENS_TM_CRITICAL_INT_MASK(tmdev->tsens_tm_addr);
+		crit_mask = readl_relaxed(sensor_int_mask_addr);
+		crit_val = TSENS_TM_CRITICAL_CYCLE_MONITOR;
+		if (tmdev->ctrl_data->cycle_compltn_monitor_mask)
+			writel_relaxed((crit_mask | crit_val),
+				(TSENS_TM_CRITICAL_INT_MASK
+				(tmdev->tsens_tm_addr)));
+		else
+			writel_relaxed((crit_mask & ~crit_val),
+				(TSENS_TM_CRITICAL_INT_MASK
+				(tmdev->tsens_tm_addr)));
+		/*Update critical cycle monitoring*/
+		mb();
+	}
+
+	if (tmdev->ctrl_data->wd_bark) {
+		sensor_int_mask_addr =
+			TSENS_TM_CRITICAL_INT_MASK(tmdev->tsens_tm_addr);
+		crit_mask = readl_relaxed(sensor_int_mask_addr);
+		crit_val = TSENS_TM_CRITICAL_WD_BARK;
+		if (tmdev->ctrl_data->wd_bark_mask)
+			writel_relaxed((crit_mask | crit_val),
+			(TSENS_TM_CRITICAL_INT_MASK
+			(tmdev->tsens_tm_addr)));
+		else
+			writel_relaxed((crit_mask & ~crit_val),
+			(TSENS_TM_CRITICAL_INT_MASK
+			(tmdev->tsens_tm_addr)));
+		/*Update watchdog monitoring*/
+		mb();
+	}
+
+	int_mask_addr = TSENS_TM_UPPER_LOWER_INT_MASK(tmdev->tsens_tm_addr);
+	writel_relaxed(TSENS_TM_UPPER_LOWER_INT_DISABLE, int_mask_addr);
+
+	writel_relaxed(TSENS_TM_CRITICAL_INT_EN |
+		TSENS_TM_UPPER_INT_EN | TSENS_TM_LOWER_INT_EN,
+		TSENS_TM_INT_EN(tmdev->tsens_tm_addr));
+
+	return 0;
+}
+
 static int tsens2xxx_get_temp(struct tsens_sensor *sensor, int *temp)
 {
 	struct tsens_device *tmdev = NULL, *tmdev_itr;
 	unsigned int code, ret, tsens_ret;
 	void __iomem *sensor_addr, *trdy;
-	int last_temp = 0, last_temp2 = 0, last_temp3 = 0, count = 0;
+	int rc = 0, last_temp = 0, last_temp2 = 0, last_temp3 = 0, count = 0;
 	static atomic_t in_tsens_reinit;
 
 	if (!sensor)
@@ -172,6 +230,13 @@
 			/* Notify thermal fwk */
 			list_for_each_entry(tmdev_itr,
 						&tsens_device_list, list) {
+				rc = __tsens2xxx_hw_init(tmdev_itr);
+				if (rc) {
+					pr_err(
+					"%s: Failed to re-initialize TSENS controller\n",
+						__func__);
+					BUG();
+				}
 				queue_work(tmdev_itr->tsens_reinit_work,
 					&tmdev_itr->therm_fwk_notify);
 			}
@@ -713,58 +778,11 @@
 
 static int tsens2xxx_hw_init(struct tsens_device *tmdev)
 {
-	void __iomem *srot_addr;
-	void __iomem *sensor_int_mask_addr;
-	unsigned int srot_val, crit_mask, crit_val;
-	void __iomem *int_mask_addr;
+	int rc = 0;
 
-	srot_addr = TSENS_CTRL_ADDR(tmdev->tsens_srot_addr + 0x4);
-	srot_val = readl_relaxed(srot_addr);
-	if (!(srot_val & TSENS_EN)) {
-		pr_err("TSENS device is not enabled\n");
-		return -ENODEV;
-	}
-
-	if (tmdev->ctrl_data->cycle_monitor) {
-		sensor_int_mask_addr =
-			TSENS_TM_CRITICAL_INT_MASK(tmdev->tsens_tm_addr);
-		crit_mask = readl_relaxed(sensor_int_mask_addr);
-		crit_val = TSENS_TM_CRITICAL_CYCLE_MONITOR;
-		if (tmdev->ctrl_data->cycle_compltn_monitor_mask)
-			writel_relaxed((crit_mask | crit_val),
-				(TSENS_TM_CRITICAL_INT_MASK
-				(tmdev->tsens_tm_addr)));
-		else
-			writel_relaxed((crit_mask & ~crit_val),
-				(TSENS_TM_CRITICAL_INT_MASK
-				(tmdev->tsens_tm_addr)));
-		/*Update critical cycle monitoring*/
-		mb();
-	}
-
-	if (tmdev->ctrl_data->wd_bark) {
-		sensor_int_mask_addr =
-			TSENS_TM_CRITICAL_INT_MASK(tmdev->tsens_tm_addr);
-		crit_mask = readl_relaxed(sensor_int_mask_addr);
-		crit_val = TSENS_TM_CRITICAL_WD_BARK;
-		if (tmdev->ctrl_data->wd_bark_mask)
-			writel_relaxed((crit_mask | crit_val),
-			(TSENS_TM_CRITICAL_INT_MASK
-			(tmdev->tsens_tm_addr)));
-		else
-			writel_relaxed((crit_mask & ~crit_val),
-			(TSENS_TM_CRITICAL_INT_MASK
-			(tmdev->tsens_tm_addr)));
-		/*Update watchdog monitoring*/
-		mb();
-	}
-
-	int_mask_addr = TSENS_TM_UPPER_LOWER_INT_MASK(tmdev->tsens_tm_addr);
-	writel_relaxed(TSENS_TM_UPPER_LOWER_INT_DISABLE, int_mask_addr);
-
-	writel_relaxed(TSENS_TM_CRITICAL_INT_EN |
-		TSENS_TM_UPPER_INT_EN | TSENS_TM_LOWER_INT_EN,
-		TSENS_TM_INT_EN(tmdev->tsens_tm_addr));
+	rc = __tsens2xxx_hw_init(tmdev);
+	if (rc)
+		return rc;
 
 	spin_lock_init(&tmdev->tsens_crit_lock);
 	spin_lock_init(&tmdev->tsens_upp_low_lock);
diff --git a/drivers/thunderbolt/switch.c b/drivers/thunderbolt/switch.c
index 678bf33..42d90ce 100644
--- a/drivers/thunderbolt/switch.c
+++ b/drivers/thunderbolt/switch.c
@@ -264,6 +264,12 @@
 	return ret;
 }
 
+static int tb_switch_nvm_no_read(void *priv, unsigned int offset, void *val,
+				 size_t bytes)
+{
+	return -EPERM;
+}
+
 static int tb_switch_nvm_write(void *priv, unsigned int offset, void *val,
 			       size_t bytes)
 {
@@ -309,6 +315,7 @@
 		config.read_only = true;
 	} else {
 		config.name = "nvm_non_active";
+		config.reg_read = tb_switch_nvm_no_read;
 		config.reg_write = tb_switch_nvm_write;
 		config.root_only = true;
 	}
diff --git a/drivers/tty/ipwireless/hardware.c b/drivers/tty/ipwireless/hardware.c
index b0baa4c..6bbf356 100644
--- a/drivers/tty/ipwireless/hardware.c
+++ b/drivers/tty/ipwireless/hardware.c
@@ -1516,6 +1516,8 @@
 			sizeof(struct ipw_setup_get_version_query_packet),
 			ADDR_SETUP_PROT, TL_PROTOCOLID_SETUP,
 			TL_SETUP_SIGNO_GET_VERSION_QRY);
+	if (!ver_packet)
+		return;
 	ver_packet->header.length = sizeof(struct tl_setup_get_version_qry);
 
 	/*
diff --git a/drivers/tty/serdev/core.c b/drivers/tty/serdev/core.c
index 2a59f33..191f91c 100644
--- a/drivers/tty/serdev/core.c
+++ b/drivers/tty/serdev/core.c
@@ -548,6 +548,12 @@
 	return AE_OK;
 }
 
+static const struct acpi_device_id serdev_acpi_devices_blacklist[] = {
+	{ "INT3511", 0 },
+	{ "INT3512", 0 },
+	{ },
+};
+
 static acpi_status acpi_serdev_add_device(acpi_handle handle, u32 level,
 				       void *data, void **return_value)
 {
@@ -557,6 +563,10 @@
 	if (acpi_bus_get_device(handle, &adev))
 		return AE_OK;
 
+	/* Skip if black listed */
+	if (!acpi_match_device_ids(adev, serdev_acpi_devices_blacklist))
+		return AE_OK;
+
 	return acpi_serdev_register_device(ctrl, adev);
 }
 
@@ -613,16 +623,18 @@
 	return err;
 }
 
+
 /**
- * serdev_controller_add() - Add an serdev controller
+ * serdev_controller_add_platform() - Add an serdev controller
  * @ctrl:	controller to be registered.
+ * @platform:	whether to permit fallthrough to platform device probe
  *
  * Register a controller previously allocated via serdev_controller_alloc() with
- * the serdev core.
+ * the serdev core. Optionally permit probing via a platform device fallback.
  */
-int serdev_controller_add(struct serdev_controller *ctrl)
+int serdev_controller_add_platform(struct serdev_controller *ctrl, bool platform)
 {
-	int ret_of, ret_acpi, ret_platform, ret;
+	int ret, ret_of, ret_acpi, ret_platform = -ENODEV;
 
 	/* Can't register until after driver model init */
 	if (WARN_ON(!is_registered))
@@ -636,7 +648,8 @@
 
 	ret_of = of_serdev_register_devices(ctrl);
 	ret_acpi = acpi_serdev_register_devices(ctrl);
-	ret_platform = platform_serdev_register_devices(ctrl);
+	if (platform)
+		ret_platform = platform_serdev_register_devices(ctrl);
 	if (ret_of && ret_acpi && ret_platform) {
 		dev_dbg(&ctrl->dev, "no devices registered: of:%d acpi:%d "
 				    "platform:%d\n",
@@ -654,7 +667,7 @@
 	device_del(&ctrl->dev);
 	return ret;
 };
-EXPORT_SYMBOL_GPL(serdev_controller_add);
+EXPORT_SYMBOL_GPL(serdev_controller_add_platform);
 
 /* Remove a device associated with a controller */
 static int serdev_remove_device(struct device *dev, void *data)
diff --git a/drivers/tty/serdev/serdev-ttyport.c b/drivers/tty/serdev/serdev-ttyport.c
index 1b04b4b..b6b7ea6 100644
--- a/drivers/tty/serdev/serdev-ttyport.c
+++ b/drivers/tty/serdev/serdev-ttyport.c
@@ -7,9 +7,15 @@
 #include <linux/tty.h>
 #include <linux/tty_driver.h>
 #include <linux/poll.h>
+#include <linux/platform_device.h>
+#include <linux/module.h>
 
 #define SERPORT_ACTIVE		1
 
+static char *pdev_tty_port;
+module_param(pdev_tty_port, charp, 0644);
+MODULE_PARM_DESC(pdev_tty_port, "platform device tty port to claim");
+
 struct serport {
 	struct tty_port *port;
 	struct tty_struct *tty;
@@ -265,19 +271,14 @@
 					struct device *parent,
 					struct tty_driver *drv, int idx)
 {
-	const struct tty_port_client_operations *old_ops;
 	struct serdev_controller *ctrl;
 	struct serport *serport;
+	bool platform = false;
 	int ret;
 
 	if (!port || !drv || !parent)
 		return ERR_PTR(-ENODEV);
 
-	if (port->console) {
-		/* can't convert tty's that are already in use */
-		return ERR_PTR(-ENODEV);
-	}
-
 	ctrl = serdev_controller_alloc(parent, sizeof(struct serport));
 	if (!ctrl)
 		return ERR_PTR(-ENOMEM);
@@ -289,11 +290,27 @@
 
 	ctrl->ops = &ctrl_ops;
 
-	old_ops = port->client_ops;
 	port->client_ops = &client_ops;
 	port->client_data = ctrl;
 
-	ret = serdev_controller_add(ctrl);
+	/* There is not always a way to bind specific platform devices because
+	 * they may be defined on platforms without DT or ACPI. When dealing
+	 * with a platform devices, do not allow direct binding unless it is
+	 * whitelisted by module parameter. If a platform device is otherwise
+	 * described by DT or ACPI it will still be bound and this check will
+	 * be ignored.
+	 */
+	if (parent->bus == &platform_bus_type) {
+		char tty_port_name[7];
+
+		sprintf(tty_port_name, "%s%d", drv->name, idx);
+		if (pdev_tty_port &&
+		    !strcmp(pdev_tty_port, tty_port_name)) {
+			platform = true;
+		}
+	}
+
+	ret = serdev_controller_add_platform(ctrl, platform);
 	if (ret)
 		goto err_reset_data;
 
@@ -302,7 +319,7 @@
 
 err_reset_data:
 	port->client_data = NULL;
-	port->client_ops = old_ops;
+	port->client_ops = &tty_port_default_client_ops;
 	serdev_controller_put(ctrl);
 
 	return ERR_PTR(ret);
@@ -317,8 +334,8 @@
 		return -ENODEV;
 
 	serdev_controller_remove(ctrl);
-	port->client_ops = NULL;
 	port->client_data = NULL;
+	port->client_ops = &tty_port_default_client_ops;
 	serdev_controller_put(ctrl);
 
 	return 0;
diff --git a/drivers/tty/serial/8250/8250_aspeed_vuart.c b/drivers/tty/serial/8250/8250_aspeed_vuart.c
index 435bec4..2d5c364 100644
--- a/drivers/tty/serial/8250/8250_aspeed_vuart.c
+++ b/drivers/tty/serial/8250/8250_aspeed_vuart.c
@@ -375,7 +375,6 @@
 		port.port.line = rc;
 
 	port.port.irq = irq_of_parse_and_map(np, 0);
-	port.port.irqflags = IRQF_SHARED;
 	port.port.handle_irq = aspeed_vuart_handle_irq;
 	port.port.iotype = UPIO_MEM;
 	port.port.type = PORT_16550A;
diff --git a/drivers/tty/serial/8250/8250_bcm2835aux.c b/drivers/tty/serial/8250/8250_bcm2835aux.c
index bd53661..3173d98 100644
--- a/drivers/tty/serial/8250/8250_bcm2835aux.c
+++ b/drivers/tty/serial/8250/8250_bcm2835aux.c
@@ -115,7 +115,7 @@
 {
 	struct bcm2835aux_data *data = platform_get_drvdata(pdev);
 
-	serial8250_unregister_port(data->uart.port.line);
+	serial8250_unregister_port(data->line);
 	clk_disable_unprepare(data->clk);
 
 	return 0;
diff --git a/drivers/tty/serial/8250/8250_core.c b/drivers/tty/serial/8250/8250_core.c
index 69aaee5..b9567ef 100644
--- a/drivers/tty/serial/8250/8250_core.c
+++ b/drivers/tty/serial/8250/8250_core.c
@@ -177,7 +177,7 @@
 	struct hlist_head *h;
 	struct hlist_node *n;
 	struct irq_info *i;
-	int ret, irq_flags = up->port.flags & UPF_SHARE_IRQ ? IRQF_SHARED : 0;
+	int ret;
 
 	mutex_lock(&hash_mutex);
 
@@ -212,9 +212,8 @@
 		INIT_LIST_HEAD(&up->list);
 		i->head = &up->list;
 		spin_unlock_irq(&i->lock);
-		irq_flags |= up->port.irqflags;
 		ret = request_irq(up->port.irq, serial8250_interrupt,
-				  irq_flags, up->port.name, i);
+				  up->port.irqflags, up->port.name, i);
 		if (ret < 0)
 			serial_do_unlink(i, up);
 	}
diff --git a/drivers/tty/serial/8250/8250_exar.c b/drivers/tty/serial/8250/8250_exar.c
index 0089aa3..8707357 100644
--- a/drivers/tty/serial/8250/8250_exar.c
+++ b/drivers/tty/serial/8250/8250_exar.c
@@ -24,6 +24,14 @@
 
 #include "8250.h"
 
+#define PCI_DEVICE_ID_ACCES_COM_2S		0x1052
+#define PCI_DEVICE_ID_ACCES_COM_4S		0x105d
+#define PCI_DEVICE_ID_ACCES_COM_8S		0x106c
+#define PCI_DEVICE_ID_ACCES_COM232_8		0x10a8
+#define PCI_DEVICE_ID_ACCES_COM_2SM		0x10d2
+#define PCI_DEVICE_ID_ACCES_COM_4SM		0x10db
+#define PCI_DEVICE_ID_ACCES_COM_8SM		0x10ea
+
 #define PCI_DEVICE_ID_COMMTECH_4224PCI335	0x0002
 #define PCI_DEVICE_ID_COMMTECH_4222PCI335	0x0004
 #define PCI_DEVICE_ID_COMMTECH_2324PCI335	0x000a
@@ -571,6 +579,22 @@
 
 static SIMPLE_DEV_PM_OPS(exar_pci_pm, exar_suspend, exar_resume);
 
+static const struct exar8250_board acces_com_2x = {
+	.num_ports	= 2,
+	.setup		= pci_xr17c154_setup,
+};
+
+static const struct exar8250_board acces_com_4x = {
+	.num_ports	= 4,
+	.setup		= pci_xr17c154_setup,
+};
+
+static const struct exar8250_board acces_com_8x = {
+	.num_ports	= 8,
+	.setup		= pci_xr17c154_setup,
+};
+
+
 static const struct exar8250_board pbn_fastcom335_2 = {
 	.num_ports	= 2,
 	.setup		= pci_fastcom335_setup,
@@ -639,6 +663,15 @@
 	}
 
 static const struct pci_device_id exar_pci_tbl[] = {
+	EXAR_DEVICE(ACCESSIO, ACCES_COM_2S, acces_com_2x),
+	EXAR_DEVICE(ACCESSIO, ACCES_COM_4S, acces_com_4x),
+	EXAR_DEVICE(ACCESSIO, ACCES_COM_8S, acces_com_8x),
+	EXAR_DEVICE(ACCESSIO, ACCES_COM232_8, acces_com_8x),
+	EXAR_DEVICE(ACCESSIO, ACCES_COM_2SM, acces_com_2x),
+	EXAR_DEVICE(ACCESSIO, ACCES_COM_4SM, acces_com_4x),
+	EXAR_DEVICE(ACCESSIO, ACCES_COM_8SM, acces_com_8x),
+
+
 	CONNECT_DEVICE(XR17C152, UART_2_232, pbn_connect),
 	CONNECT_DEVICE(XR17C154, UART_4_232, pbn_connect),
 	CONNECT_DEVICE(XR17C158, UART_8_232, pbn_connect),
diff --git a/drivers/tty/serial/8250/8250_of.c b/drivers/tty/serial/8250/8250_of.c
index 2488de1..8fedc07 100644
--- a/drivers/tty/serial/8250/8250_of.c
+++ b/drivers/tty/serial/8250/8250_of.c
@@ -171,7 +171,6 @@
 
 	port->type = type;
 	port->uartclk = clk;
-	port->irqflags |= IRQF_SHARED;
 
 	if (of_property_read_bool(np, "no-loopback-test"))
 		port->flags |= UPF_SKIP_TEST;
diff --git a/drivers/tty/serial/8250/8250_port.c b/drivers/tty/serial/8250/8250_port.c
index aa4de69..5a04d4d 100644
--- a/drivers/tty/serial/8250/8250_port.c
+++ b/drivers/tty/serial/8250/8250_port.c
@@ -2253,6 +2253,10 @@
 		}
 	}
 
+	/* Check if we need to have shared IRQs */
+	if (port->irq && (up->port.flags & UPF_SHARE_IRQ))
+		up->port.irqflags |= IRQF_SHARED;
+
 	if (port->irq && !(up->port.flags & UPF_NO_THRE_TEST)) {
 		unsigned char iir1;
 		/*
diff --git a/drivers/tty/serial/ar933x_uart.c b/drivers/tty/serial/ar933x_uart.c
index 3bdd56a..ea12f10 100644
--- a/drivers/tty/serial/ar933x_uart.c
+++ b/drivers/tty/serial/ar933x_uart.c
@@ -286,6 +286,10 @@
 	ar933x_uart_rmw_set(up, AR933X_UART_CS_REG,
 			    AR933X_UART_CS_HOST_INT_EN);
 
+	/* enable RX and TX ready overide */
+	ar933x_uart_rmw_set(up, AR933X_UART_CS_REG,
+		AR933X_UART_CS_TX_READY_ORIDE | AR933X_UART_CS_RX_READY_ORIDE);
+
 	/* reenable the UART */
 	ar933x_uart_rmw(up, AR933X_UART_CS_REG,
 			AR933X_UART_CS_IF_MODE_M << AR933X_UART_CS_IF_MODE_S,
@@ -418,6 +422,10 @@
 	ar933x_uart_rmw_set(up, AR933X_UART_CS_REG,
 			    AR933X_UART_CS_HOST_INT_EN);
 
+	/* enable RX and TX ready overide */
+	ar933x_uart_rmw_set(up, AR933X_UART_CS_REG,
+		AR933X_UART_CS_TX_READY_ORIDE | AR933X_UART_CS_RX_READY_ORIDE);
+
 	/* Enable RX interrupts */
 	up->ier = AR933X_UART_INT_RX_VALID;
 	ar933x_uart_write(up, AR933X_UART_INT_EN_REG, up->ier);
diff --git a/drivers/tty/serial/atmel_serial.c b/drivers/tty/serial/atmel_serial.c
index f34520e..936d401 100644
--- a/drivers/tty/serial/atmel_serial.c
+++ b/drivers/tty/serial/atmel_serial.c
@@ -490,7 +490,8 @@
 	atmel_uart_writel(port, ATMEL_US_IDR, atmel_port->tx_done_mask);
 
 	if (atmel_uart_is_half_duplex(port))
-		atmel_start_rx(port);
+		if (!atomic_read(&atmel_port->tasklet_shutdown))
+			atmel_start_rx(port);
 
 }
 
diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuart.c
index ee8a5cb..2daccb1 100644
--- a/drivers/tty/serial/fsl_lpuart.c
+++ b/drivers/tty/serial/fsl_lpuart.c
@@ -528,26 +528,26 @@
 	spin_lock_irqsave(&sport->port.lock, flags);
 
 	/* Disable Rx & Tx */
-	writel(0, sport->port.membase + UARTCTRL);
+	lpuart32_write(&sport->port, UARTCTRL, 0);
 
-	temp = readl(sport->port.membase + UARTFIFO);
+	temp = lpuart32_read(&sport->port, UARTFIFO);
 
 	/* Enable Rx and Tx FIFO */
-	writel(temp | UARTFIFO_RXFE | UARTFIFO_TXFE,
-		   sport->port.membase + UARTFIFO);
+	lpuart32_write(&sport->port, UARTFIFO,
+		       temp | UARTFIFO_RXFE | UARTFIFO_TXFE);
 
 	/* flush Tx and Rx FIFO */
-	writel(UARTFIFO_TXFLUSH | UARTFIFO_RXFLUSH,
-			sport->port.membase + UARTFIFO);
+	lpuart32_write(&sport->port, UARTFIFO,
+		       UARTFIFO_TXFLUSH | UARTFIFO_RXFLUSH);
 
 	/* explicitly clear RDRF */
-	if (readl(sport->port.membase + UARTSTAT) & UARTSTAT_RDRF) {
-		readl(sport->port.membase + UARTDATA);
-		writel(UARTFIFO_RXUF, sport->port.membase + UARTFIFO);
+	if (lpuart32_read(&sport->port, UARTSTAT) & UARTSTAT_RDRF) {
+		lpuart32_read(&sport->port, UARTDATA);
+		lpuart32_write(&sport->port, UARTFIFO, UARTFIFO_RXUF);
 	}
 
 	/* Enable Rx and Tx */
-	writel(UARTCTRL_RE | UARTCTRL_TE, sport->port.membase + UARTCTRL);
+	lpuart32_write(&sport->port, UARTCTRL, UARTCTRL_RE | UARTCTRL_TE);
 	spin_unlock_irqrestore(&sport->port.lock, flags);
 
 	return 0;
@@ -555,18 +555,18 @@
 
 static void lpuart32_poll_put_char(struct uart_port *port, unsigned char c)
 {
-	while (!(readl(port->membase + UARTSTAT) & UARTSTAT_TDRE))
+	while (!(lpuart32_read(port, UARTSTAT) & UARTSTAT_TDRE))
 		barrier();
 
-	writel(c, port->membase + UARTDATA);
+	lpuart32_write(port, UARTDATA, c);
 }
 
 static int lpuart32_poll_get_char(struct uart_port *port)
 {
-	if (!(readl(port->membase + UARTSTAT) & UARTSTAT_RDRF))
+	if (!(lpuart32_read(port, UARTSTAT) & UARTSTAT_RDRF))
 		return NO_POLL_CHAR;
 
-	return readl(port->membase + UARTDATA);
+	return lpuart32_read(port, UARTDATA);
 }
 #endif
 
diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c
index 989ca7d..4066cb2 100644
--- a/drivers/tty/serial/imx.c
+++ b/drivers/tty/serial/imx.c
@@ -608,7 +608,7 @@
 
 	sport->tx_bytes = uart_circ_chars_pending(xmit);
 
-	if (xmit->tail < xmit->head) {
+	if (xmit->tail < xmit->head || xmit->head == 0) {
 		sport->dma_tx_nents = 1;
 		sg_init_one(sgl, xmit->buf + xmit->tail, sport->tx_bytes);
 	} else {
@@ -624,7 +624,7 @@
 		dev_err(dev, "DMA mapping error for TX.\n");
 		return;
 	}
-	desc = dmaengine_prep_slave_sg(chan, sgl, sport->dma_tx_nents,
+	desc = dmaengine_prep_slave_sg(chan, sgl, ret,
 					DMA_MEM_TO_DEV, DMA_PREP_INTERRUPT);
 	if (!desc) {
 		dma_unmap_sg(dev, sgl, sport->dma_tx_nents,
diff --git a/drivers/tty/serial/msm_geni_serial.c b/drivers/tty/serial/msm_geni_serial.c
index 462ab9a..eb06819 100644
--- a/drivers/tty/serial/msm_geni_serial.c
+++ b/drivers/tty/serial/msm_geni_serial.c
@@ -172,7 +172,8 @@
 			unsigned int rx_fifo_wc,
 			unsigned int rx_last_byte_valid,
 			unsigned int rx_last,
-			bool drop_rx);
+			bool drop_rx,
+			unsigned long *flags);
 	struct device *wrapper_dev;
 	struct se_geni_rsc serial_rsc;
 	dma_addr_t tx_dma;
@@ -182,7 +183,7 @@
 	int loopback;
 	int wakeup_irq;
 	unsigned char wakeup_byte;
-	struct wakeup_source geni_wake;
+	struct wakeup_source *geni_wake;
 	void *ipc_log_tx;
 	void *ipc_log_rx;
 	void *ipc_log_pwr;
@@ -212,12 +213,12 @@
 			unsigned int rx_fifo_wc,
 			unsigned int rx_last_byte_valid,
 			unsigned int rx_last,
-			bool drop_rx);
+			bool drop_rx, unsigned long *flags);
 static int handle_rx_hs(struct uart_port *uport,
 			unsigned int rx_fifo_wc,
 			unsigned int rx_last_byte_valid,
 			unsigned int rx_last,
-			bool drop_rx);
+			bool drop_rx, unsigned long *flags);
 static unsigned int msm_geni_serial_tx_empty(struct uart_port *port);
 static int msm_geni_serial_power_on(struct uart_port *uport);
 static void msm_geni_serial_power_off(struct uart_port *uport);
@@ -236,7 +237,8 @@
 
 static struct msm_geni_serial_port msm_geni_console_port;
 static struct msm_geni_serial_port msm_geni_serial_ports[GENI_UART_NR_PORTS];
-static void msm_geni_serial_handle_isr(struct uart_port *uport);
+static void msm_geni_serial_handle_isr(struct uart_port *uport,
+				unsigned long *flags);
 
 /*
  * The below API is required to check if uport->lock (spinlock)
@@ -297,8 +299,8 @@
 	}
 }
 
-/* Disable the interrupts in order to do polling in an atomic contexts. */
-static void msm_geni_serial_disable_interrupts(struct uart_port *uport)
+/* Try disabling interrupts in order to do polling in an atomic contexts. */
+static bool msm_serial_try_disable_interrupts(struct uart_port *uport)
 {
 	unsigned int geni_m_irq_en, geni_s_irq_en;
 	unsigned int dma_m_irq_en, dma_s_irq_en;
@@ -309,7 +311,7 @@
 	 * by framework as we can rely on ISR.
 	 */
 	if (!msm_geni_serial_spinlocked(uport))
-		return;
+		return false;
 
 	geni_m_irq_en = geni_read_reg_nolog(uport->membase, SE_GENI_M_IRQ_EN);
 	geni_s_irq_en = geni_read_reg_nolog(uport->membase, SE_GENI_S_IRQ_EN);
@@ -335,6 +337,8 @@
 		geni_write_reg_nolog(dma_s_irq_en, uport->membase,
 							SE_DMA_RX_IRQ_EN);
 	}
+
+	return true;
 }
 
 /*
@@ -343,17 +347,18 @@
  * in a non-atomic context. This API decides wheather to poll for
  * interrupt or depend on the isr based on in_atomic() call.
  */
-bool geni_wait_for_cmd_done(struct uart_port *uport)
+bool geni_wait_for_cmd_done(struct uart_port *uport, bool is_irq_masked)
 {
 	struct msm_geni_serial_port *msm_port = GET_DEV_PORT(uport);
 	unsigned long timeout = POLL_ITERATIONS;
 	unsigned long ret;
+	unsigned long flags = 0;
 
 	/*
 	 * We need to do polling if spinlock is taken
 	 * by framework as we cannot rely on ISR.
 	 */
-	if (msm_geni_serial_spinlocked(uport)) {
+	if (is_irq_masked) {
 		/*
 		 * Polling is done for 1000 iterrations with
 		 * 10 usecs interval which in total accumulates
@@ -361,13 +366,13 @@
 		 */
 		if (msm_port->m_cmd) {
 			while (!msm_port->m_cmd_done && timeout > 0) {
-				msm_geni_serial_handle_isr(uport);
+				msm_geni_serial_handle_isr(uport, &flags);
 				timeout--;
 				udelay(100);
 			}
 		} else if (msm_port->s_cmd) {
 			while (!msm_port->s_cmd_done && timeout > 0) {
-				msm_geni_serial_handle_isr(uport);
+				msm_geni_serial_handle_isr(uport, &flags);
 				timeout--;
 				udelay(100);
 			}
@@ -870,7 +875,7 @@
 	 * Ensure FIFO write goes through before polling for status but.
 	 */
 	mb();
-	msm_geni_serial_disable_interrupts(uport);
+	msm_serial_try_disable_interrupts(uport);
 	msm_geni_serial_poll_tx_done(uport);
 	msm_geni_serial_enable_interrupts(uport);
 }
@@ -933,7 +938,7 @@
 		mb();
 		i += chars_to_write;
 	}
-	msm_geni_serial_disable_interrupts(uport);
+	msm_serial_try_disable_interrupts(uport);
 	msm_geni_serial_poll_tx_done(uport);
 	msm_geni_serial_enable_interrupts(uport);
 }
@@ -947,6 +952,7 @@
 	unsigned long flags;
 	unsigned int geni_status;
 	bool timeout;
+	bool is_irq_masked;
 	int irq_en;
 
 	/* Max 1 port supported as of now */
@@ -965,14 +971,19 @@
 	geni_status = readl_relaxed(uport->membase + SE_GENI_STATUS);
 
 	/* Cancel the current write to log the fault */
-	if (!locked) {
+	if ((geni_status & M_GENI_CMD_ACTIVE) && !locked) {
 		port->m_cmd_done = false;
 		port->m_cmd = true;
 		reinit_completion(&port->m_cmd_timeout);
-		msm_geni_serial_disable_interrupts(uport);
+		is_irq_masked = msm_serial_try_disable_interrupts(uport);
 		geni_cancel_m_cmd(uport->membase);
 
-		timeout = geni_wait_for_cmd_done(uport);
+		/*
+		 * console should be in polling mode. Hence directly pass true
+		 * as argument for wait_for_cmd_done here to handle cancel tx
+		 * in polling mode.
+		 */
+		timeout = geni_wait_for_cmd_done(uport, true);
 		if (timeout) {
 			IPC_LOG_MSG(port->console_log,
 				"%s: tx_cancel failed 0x%x\n",
@@ -981,7 +992,7 @@
 
 			reinit_completion(&port->m_cmd_timeout);
 			geni_abort_m_cmd(uport->membase);
-			timeout = geni_wait_for_cmd_done(uport);
+			timeout = geni_wait_for_cmd_done(uport, true);
 			if (timeout)
 				IPC_LOG_MSG(port->console_log,
 				"%s: tx abort failed 0x%x\n", __func__,
@@ -996,7 +1007,7 @@
 		/* It seems we can interrupt existing transfers unless all data
 		 * has been sent, in which case we need to look for done first.
 		 */
-		msm_geni_serial_disable_interrupts(uport);
+		msm_serial_try_disable_interrupts(uport);
 		msm_geni_serial_poll_tx_done(uport);
 		msm_geni_serial_enable_interrupts(uport);
 
@@ -1022,13 +1033,13 @@
 			unsigned int rx_fifo_wc,
 			unsigned int rx_last_byte_valid,
 			unsigned int rx_last,
-			bool drop_rx)
+			bool drop_rx, unsigned long *flags)
 {
 	int i, c;
 	unsigned char *rx_char;
-	unsigned long flags;
 	struct tty_port *tport;
 	struct msm_geni_serial_port *msm_port = GET_DEV_PORT(uport);
+	bool locked;
 
 	tport = &uport->state->port;
 	for (i = 0; i < rx_fifo_wc; i++) {
@@ -1062,9 +1073,14 @@
 		 * release the port lock before calling tty_flip_buffer_push()
 		 * to avoid deadlock scenarios.
 		 */
-		spin_unlock_irqrestore(&uport->lock, flags);
-		tty_flip_buffer_push(tport);
-		spin_lock_irqsave(&uport->lock, flags);
+		locked = msm_geni_serial_spinlocked(uport);
+		if (locked) {
+			spin_unlock_irqrestore(&uport->lock, *flags);
+			tty_flip_buffer_push(tport);
+			spin_lock_irqsave(&uport->lock, *flags);
+		} else {
+			tty_flip_buffer_push(tport);
+		}
 	}
 	return 0;
 }
@@ -1073,7 +1089,7 @@
 			unsigned int rx_fifo_wc,
 			unsigned int rx_last_byte_valid,
 			unsigned int rx_last,
-			bool drop_rx)
+			bool drop_rx, unsigned long *flags)
 {
 	return -EPERM;
 }
@@ -1086,7 +1102,7 @@
 	struct circ_buf *xmit = &uport->state->xmit;
 	unsigned int xmit_size;
 	unsigned int dma_dbg;
-	bool timeout;
+	bool timeout, is_irq_masked;
 	int ret = 0;
 
 	xmit_size = uart_circ_chars_pending(xmit);
@@ -1117,13 +1133,13 @@
 		reinit_completion(&msm_port->m_cmd_timeout);
 
 		/*
-		 * Disabling the interrupts before giving the
+		 * Try disabling interrupts before giving the
 		 * cancel command as this might be in an atomic context.
 		 */
-		msm_geni_serial_disable_interrupts(uport);
+		is_irq_masked = msm_serial_try_disable_interrupts(uport);
 		geni_cancel_m_cmd(uport->membase);
 
-		timeout = geni_wait_for_cmd_done(uport);
+		timeout = geni_wait_for_cmd_done(uport, is_irq_masked);
 		if (timeout) {
 			IPC_LOG_MSG(msm_port->console_log,
 			"%s: tx_cancel fail 0x%x\n", __func__,
@@ -1138,7 +1154,8 @@
 			/* Give abort command as cancel command failed */
 			geni_abort_m_cmd(uport->membase);
 
-			timeout = geni_wait_for_cmd_done(uport);
+			timeout = geni_wait_for_cmd_done(uport,
+							 is_irq_masked);
 			if (timeout) {
 				IPC_LOG_MSG(msm_port->console_log,
 				"%s: tx abort failed 0x%x\n", __func__,
@@ -1160,7 +1177,8 @@
 				geni_write_reg_nolog(1, uport->membase,
 						SE_DMA_TX_FSM_RST);
 
-				timeout = geni_wait_for_cmd_done(uport);
+				timeout = geni_wait_for_cmd_done(uport,
+							is_irq_masked);
 				if (timeout)
 					IPC_LOG_MSG(msm_port->ipc_log_misc,
 					"%s: tx fsm reset failed\n", __func__);
@@ -1243,7 +1261,7 @@
 static void stop_tx_sequencer(struct uart_port *uport)
 {
 	unsigned int geni_status;
-	bool timeout;
+	bool timeout, is_irq_masked;
 	unsigned int dma_dbg;
 	struct msm_geni_serial_port *port = GET_DEV_PORT(uport);
 
@@ -1258,9 +1276,15 @@
 	port->m_cmd_done = false;
 	port->m_cmd = true;
 	reinit_completion(&port->m_cmd_timeout);
+	/*
+	 * Try to mask the interrupts before giving the
+	 * cancel command as this might be in an atomic context
+	 * from framework driver.
+	 */
+	is_irq_masked = msm_serial_try_disable_interrupts(uport);
 	geni_cancel_m_cmd(uport->membase);
 
-	timeout = geni_wait_for_cmd_done(uport);
+	timeout = geni_wait_for_cmd_done(uport, is_irq_masked);
 	if (timeout) {
 		IPC_LOG_MSG(port->console_log, "%s: tx_cancel failed 0x%x\n",
 		__func__, geni_read_reg_nolog(uport->membase, SE_GENI_STATUS));
@@ -1271,7 +1295,7 @@
 		reinit_completion(&port->m_cmd_timeout);
 		geni_abort_m_cmd(uport->membase);
 
-		timeout = geni_wait_for_cmd_done(uport);
+		timeout = geni_wait_for_cmd_done(uport, is_irq_masked);
 		if (timeout) {
 			IPC_LOG_MSG(port->console_log,
 				"%s: tx abort failed 0x%x\n", __func__,
@@ -1290,7 +1314,8 @@
 			geni_write_reg_nolog(1, uport->membase,
 						SE_DMA_TX_FSM_RST);
 
-			timeout = geni_wait_for_cmd_done(uport);
+			timeout = geni_wait_for_cmd_done(uport,
+							 is_irq_masked);
 			if (timeout)
 				IPC_LOG_MSG(port->ipc_log_misc,
 				"%s: tx fsm reset failed\n", __func__);
@@ -1302,6 +1327,8 @@
 			port->tx_dma = (dma_addr_t)NULL;
 		}
 	}
+	/* Unmask the interrupts once the cancel operation is done. */
+	msm_geni_serial_enable_interrupts(uport);
 	port->m_cmd = false;
 	port->xmit_size = 0;
 
@@ -1441,8 +1468,9 @@
 static void stop_rx_sequencer(struct uart_port *uport)
 {
 	unsigned int geni_status;
-	bool timeout;
+	bool timeout, is_irq_masked;
 	struct msm_geni_serial_port *port = GET_DEV_PORT(uport);
+	unsigned long flags = 0;
 
 	IPC_LOG_MSG(port->ipc_log_misc, "%s\n", __func__);
 
@@ -1462,10 +1490,10 @@
 	IPC_LOG_MSG(port->ipc_log_misc, "%s: Start 0x%x\n",
 		    __func__, geni_status);
 	/*
-	 * Disabling the interrupts before giving the
+	 * Try disabling interrupts before giving the
 	 * cancel command as this might be in an atomic context.
 	 */
-	msm_geni_serial_disable_interrupts(uport);
+	is_irq_masked = msm_serial_try_disable_interrupts(uport);
 	geni_cancel_s_cmd(uport->membase);
 
 	/*
@@ -1473,21 +1501,35 @@
 	 * cancel control bit.
 	 */
 	mb();
-	timeout = geni_wait_for_cmd_done(uport);
+	timeout = geni_wait_for_cmd_done(uport, is_irq_masked);
 	if (timeout) {
+		bool is_rx_active;
 		geni_status = geni_read_reg_nolog(uport->membase,
 							SE_GENI_STATUS);
+		/*
+		 * Possible that stop_rx is called from system resume context
+		 * for console usecase. In early resume, irq remains disabled
+		 * in the system. call msm_geni_serial_handle_isr to clear
+		 * the interrupts.
+		 */
+		is_rx_active = geni_status & S_GENI_CMD_ACTIVE;
 		IPC_LOG_MSG(port->ipc_log_misc,
-			"%s cancel failed 0x%x\n",  __func__, geni_status);
+			    "%s cancel failed is_rx_active:%d 0x%x\n",
+			    __func__, is_rx_active, geni_status);
 		IPC_LOG_MSG(port->console_log,
-			"%s cancel failed 0x%x\n",  __func__, geni_status);
+			    "%s cancel failed is_rx_active:%d 0x%x\n",
+			    __func__, is_rx_active, geni_status);
+		if (uart_console(uport) && !is_rx_active) {
+			msm_geni_serial_handle_isr(uport, &flags);
+			goto exit_rx_seq;
+		}
 		port->s_cmd_done = false;
 		reinit_completion(&port->s_cmd_timeout);
 		geni_abort_s_cmd(uport->membase);
 		/* Ensure this goes through before polling. */
 		mb();
 
-		timeout = geni_wait_for_cmd_done(uport);
+		timeout = geni_wait_for_cmd_done(uport, is_irq_masked);
 		if (timeout) {
 			geni_status = geni_read_reg_nolog(uport->membase,
 							SE_GENI_STATUS);
@@ -1526,7 +1568,7 @@
 			unsigned int rx_fifo_wc,
 			unsigned int rx_last_byte_valid,
 			unsigned int rx_last,
-			bool drop_rx)
+			bool drop_rx, unsigned long *flags)
 {
 	unsigned char *rx_char;
 	struct tty_port *tport;
@@ -1558,7 +1600,8 @@
 	return ret;
 }
 
-static int msm_geni_serial_handle_rx(struct uart_port *uport, bool drop_rx)
+static int msm_geni_serial_handle_rx(struct uart_port *uport, bool drop_rx,
+				     unsigned long *flags)
 {
 	int ret = 0;
 	unsigned int rx_fifo_status;
@@ -1577,7 +1620,7 @@
 	rx_last = rx_fifo_status & RX_LAST;
 	if (rx_fifo_wc)
 		ret = port->handle_rx(uport, rx_fifo_wc, rx_last_byte_valid,
-							rx_last, drop_rx);
+						rx_last, drop_rx, flags);
 	return ret;
 }
 
@@ -1759,7 +1802,8 @@
 	return 0;
 }
 
-static void msm_geni_serial_handle_isr(struct uart_port *uport)
+static void msm_geni_serial_handle_isr(struct uart_port *uport,
+				       unsigned long *flags)
 {
 	unsigned int m_irq_status;
 	unsigned int s_irq_status;
@@ -1833,13 +1877,20 @@
 				"%s.sirq 0x%x break:%d\n",
 				__func__, s_irq_status, uport->icount.brk);
 		}
-
-		if (s_irq_status & (S_CMD_CANCEL_EN | S_CMD_ABORT_EN))
+		/*
+		 * In case of stop_rx handling there is a chance
+		 * for RX data can come in parallel. set drop_rx to
+		 * avoid data push to framework from handle_rx_console()
+		 * API for stop_rx case.
+		 */
+		if (s_irq_status & (S_CMD_CANCEL_EN | S_CMD_ABORT_EN)) {
 			s_cmd_done = true;
+			drop_rx = true;
+		}
 
 		if (s_irq_status & (S_RX_FIFO_WATERMARK_EN |
 							S_RX_FIFO_LAST_EN))
-			msm_geni_serial_handle_rx(uport, drop_rx);
+			msm_geni_serial_handle_rx(uport, drop_rx, flags);
 	} else {
 		dma_tx_status = geni_read_reg_nolog(uport->membase,
 							SE_DMA_TX_IRQ_STAT);
@@ -1933,7 +1984,7 @@
 	unsigned long flags;
 
 	spin_lock_irqsave(&uport->lock, flags);
-	msm_geni_serial_handle_isr(uport);
+	msm_geni_serial_handle_isr(uport, &flags);
 	spin_unlock_irqrestore(&uport->lock, flags);
 	return IRQ_HANDLED;
 }
@@ -1955,7 +2006,7 @@
 					__func__, port->wakeup_byte);
 		port->edge_count = 0;
 		tty_flip_buffer_push(tty->port);
-		__pm_wakeup_event(&port->geni_wake, WAKEBYTE_TIMEOUT_MSEC);
+		__pm_wakeup_event(port->geni_wake, WAKEBYTE_TIMEOUT_MSEC);
 	} else if (port->edge_count < 2) {
 		port->edge_count++;
 	}
@@ -2102,7 +2153,7 @@
 		 * it else we could end up in data loss scenarios.
 		 */
 		msm_port->xfer_mode = FIFO_MODE;
-		msm_geni_serial_disable_interrupts(uport);
+		msm_serial_try_disable_interrupts(uport);
 		msm_geni_serial_poll_tx_done(uport);
 		msm_geni_serial_enable_interrupts(uport);
 		se_get_packing_config(8, 1, false, &cfg0, &cfg1);
@@ -3145,7 +3196,17 @@
 		}
 	}
 
-	wakeup_source_init(&dev_port->geni_wake, dev_name(&pdev->dev));
+	if (!is_console) {
+		dev_port->geni_wake = wakeup_source_register(uport->dev,
+						dev_name(&pdev->dev));
+		if (!dev_port->geni_wake) {
+			dev_err(&pdev->dev,
+				"Failed to register wakeup_source\n");
+			ret = -ENOMEM;
+			goto exit_geni_serial_probe;
+		}
+	}
+
 	dev_port->tx_fifo_depth = DEF_FIFO_DEPTH_WORDS;
 	dev_port->rx_fifo_depth = DEF_FIFO_DEPTH_WORDS;
 	dev_port->tx_fifo_width = DEF_FIFO_WIDTH_BITS;
@@ -3159,7 +3220,7 @@
 	if (uport->irq < 0) {
 		ret = uport->irq;
 		dev_err(&pdev->dev, "Failed to get IRQ %d\n", ret);
-		goto exit_geni_serial_probe;
+		goto exit_wakeup_unregister;
 	}
 
 	dev_port->name = devm_kasprintf(uport->dev, GFP_KERNEL,
@@ -3170,7 +3231,7 @@
 	if (ret) {
 		dev_err(uport->dev, "%s: Failed to get IRQ ret %d\n",
 							__func__, ret);
-		goto exit_geni_serial_probe;
+		goto exit_wakeup_unregister;
 	}
 
 	uport->private_data = (void *)drv;
@@ -3203,10 +3264,20 @@
 	dev_port->port_setup = false;
 	ret = msm_geni_serial_get_ver_info(uport);
 	if (ret)
-		goto exit_geni_serial_probe;
+		goto exit_wakeup_unregister;
 
 	ret = uart_add_one_port(drv, uport);
+	if (ret)
+		goto exit_wakeup_unregister;
 
+	IPC_LOG_MSG(dev_port->ipc_log_misc, "%s: port:%s irq:%d\n", __func__,
+		    uport->name, uport->irq);
+
+	return 0;
+
+exit_wakeup_unregister:
+	if (!is_console)
+		wakeup_source_unregister(dev_port->geni_wake);
 exit_geni_serial_probe:
 	IPC_LOG_MSG(dev_port->ipc_log_misc, "%s: ret:%d\n", __func__, ret);
 	return ret;
@@ -3218,7 +3289,8 @@
 	struct uart_driver *drv =
 			(struct uart_driver *)port->uport.private_data;
 
-	wakeup_source_trash(&port->geni_wake);
+	if (!uart_console(&port->uport))
+		wakeup_source_unregister(port->geni_wake);
 	uart_remove_one_port(drv, &port->uport);
 	if (port->rx_dma) {
 		geni_se_iommu_free_buf(port->wrapper_dev, &port->rx_dma,
@@ -3263,7 +3335,7 @@
 		enable_irq(port->wakeup_irq);
 	}
 	IPC_LOG_MSG(port->ipc_log_pwr, "%s:\n", __func__);
-	__pm_relax(&port->geni_wake);
+	__pm_relax(port->geni_wake);
 exit_runtime_suspend:
 	return ret;
 }
@@ -3278,8 +3350,8 @@
 	 * Do an unconditional relax followed by a stay awake in case the
 	 * wake source is activated by the wakeup isr.
 	 */
-	__pm_relax(&port->geni_wake);
-	__pm_stay_awake(&port->geni_wake);
+	__pm_relax(port->geni_wake);
+	__pm_stay_awake(port->geni_wake);
 	if (port->wakeup_irq > 0)
 		disable_irq(port->wakeup_irq);
 	/*
@@ -3291,7 +3363,7 @@
 	ret = se_geni_resources_on(&port->serial_rsc);
 	if (ret) {
 		dev_err(dev, "%s: Error ret %d\n", __func__, ret);
-		__pm_relax(&port->geni_wake);
+		__pm_relax(port->geni_wake);
 		goto exit_runtime_resume;
 	}
 	start_rx_sequencer(&port->uport);
diff --git a/drivers/tty/serial/mvebu-uart.c b/drivers/tty/serial/mvebu-uart.c
index 7d26c9b..fb9d369 100644
--- a/drivers/tty/serial/mvebu-uart.c
+++ b/drivers/tty/serial/mvebu-uart.c
@@ -840,7 +840,7 @@
 
 	port->membase = devm_ioremap_resource(&pdev->dev, reg);
 	if (IS_ERR(port->membase))
-		return -PTR_ERR(port->membase);
+		return PTR_ERR(port->membase);
 
 	mvuart = devm_kzalloc(&pdev->dev, sizeof(struct mvebu_uart),
 			      GFP_KERNEL);
diff --git a/drivers/tty/serial/pch_uart.c b/drivers/tty/serial/pch_uart.c
index cb85002..3245cdb 100644
--- a/drivers/tty/serial/pch_uart.c
+++ b/drivers/tty/serial/pch_uart.c
@@ -235,6 +235,7 @@
 	struct dma_chan			*chan_rx;
 	struct scatterlist		*sg_tx_p;
 	int				nent;
+	int				orig_nent;
 	struct scatterlist		sg_rx;
 	int				tx_dma_use;
 	void				*rx_buf_virt;
@@ -789,9 +790,10 @@
 	}
 	xmit->tail &= UART_XMIT_SIZE - 1;
 	async_tx_ack(priv->desc_tx);
-	dma_unmap_sg(port->dev, sg, priv->nent, DMA_TO_DEVICE);
+	dma_unmap_sg(port->dev, sg, priv->orig_nent, DMA_TO_DEVICE);
 	priv->tx_dma_use = 0;
 	priv->nent = 0;
+	priv->orig_nent = 0;
 	kfree(priv->sg_tx_p);
 	pch_uart_hal_enable_interrupt(priv, PCH_UART_HAL_TX_INT);
 }
@@ -1015,6 +1017,7 @@
 		dev_err(priv->port.dev, "%s:dma_map_sg Failed\n", __func__);
 		return 0;
 	}
+	priv->orig_nent = num;
 	priv->nent = nent;
 
 	for (i = 0; i < nent; i++, sg++) {
diff --git a/drivers/tty/serial/qcom_geni_serial.c b/drivers/tty/serial/qcom_geni_serial.c
index b3f7d1a..4458419 100644
--- a/drivers/tty/serial/qcom_geni_serial.c
+++ b/drivers/tty/serial/qcom_geni_serial.c
@@ -85,7 +85,7 @@
 #define DEF_FIFO_DEPTH_WORDS	16
 #define DEF_TX_WM		2
 #define DEF_FIFO_WIDTH_BITS	32
-#define UART_CONSOLE_RX_WM	2
+#define UART_RX_WM		2
 #define MAX_LOOPBACK_CFG	3
 
 #ifdef CONFIG_CONSOLE_POLL
@@ -101,10 +101,6 @@
 	u32 tx_fifo_depth;
 	u32 tx_fifo_width;
 	u32 rx_fifo_depth;
-	u32 tx_wm;
-	u32 rx_wm;
-	u32 rx_rfr;
-	enum geni_se_xfer_mode xfer_mode;
 	bool setup;
 	int (*handle_rx)(struct uart_port *uport, u32 bytes, bool drop);
 	unsigned int baud;
@@ -125,6 +121,7 @@
 static int handle_rx_uart(struct uart_port *uport, u32 bytes, bool drop);
 static unsigned int qcom_geni_serial_tx_empty(struct uart_port *port);
 static void qcom_geni_serial_stop_rx(struct uart_port *uport);
+static void qcom_geni_serial_handle_rx(struct uart_port *uport, bool drop);
 
 static const unsigned long root_freq[] = {7372800, 14745600, 19200000, 29491200,
 					32000000, 48000000, 64000000, 80000000,
@@ -226,7 +223,7 @@
 	if (uart_console(uport)) {
 		mctrl |= TIOCM_CTS;
 	} else {
-		geni_ios = readl_relaxed(uport->membase + SE_GENI_IOS);
+		geni_ios = readl(uport->membase + SE_GENI_IOS);
 		if (!(geni_ios & IO2_DATA_IN))
 			mctrl |= TIOCM_CTS;
 	}
@@ -244,7 +241,7 @@
 
 	if (!(mctrl & TIOCM_RTS))
 		uart_manual_rfr = UART_MANUAL_RFR_EN | UART_RFR_NOT_READY;
-	writel_relaxed(uart_manual_rfr, uport->membase + SE_UART_MANUAL_RFR);
+	writel(uart_manual_rfr, uport->membase + SE_UART_MANUAL_RFR);
 }
 
 static const char *qcom_geni_serial_get_type(struct uart_port *uport)
@@ -273,9 +270,6 @@
 	unsigned int fifo_bits;
 	unsigned long timeout_us = 20000;
 
-	/* Ensure polling is not re-ordered before the prior writes/reads */
-	mb();
-
 	if (uport->private_data) {
 		port = to_dev_port(uport, uport);
 		baud = port->baud;
@@ -295,7 +289,7 @@
 	 */
 	timeout_us = DIV_ROUND_UP(timeout_us, 10) * 10;
 	while (timeout_us) {
-		reg = readl_relaxed(uport->membase + offset);
+		reg = readl(uport->membase + offset);
 		if ((bool)(reg & field) == set)
 			return true;
 		udelay(10);
@@ -308,7 +302,7 @@
 {
 	u32 m_cmd;
 
-	writel_relaxed(xmit_size, uport->membase + SE_UART_TX_TRANS_LEN);
+	writel(xmit_size, uport->membase + SE_UART_TX_TRANS_LEN);
 	m_cmd = UART_START_TX << M_OPCODE_SHFT;
 	writel(m_cmd, uport->membase + SE_GENI_M_CMD0);
 }
@@ -321,13 +315,13 @@
 	done = qcom_geni_serial_poll_bit(uport, SE_GENI_M_IRQ_STATUS,
 						M_CMD_DONE_EN, true);
 	if (!done) {
-		writel_relaxed(M_GENI_CMD_ABORT, uport->membase +
+		writel(M_GENI_CMD_ABORT, uport->membase +
 						SE_GENI_M_CMD_CTRL_REG);
 		irq_clear |= M_CMD_ABORT_EN;
 		qcom_geni_serial_poll_bit(uport, SE_GENI_M_IRQ_STATUS,
 							M_CMD_ABORT_EN, true);
 	}
-	writel_relaxed(irq_clear, uport->membase + SE_GENI_M_IRQ_CLEAR);
+	writel(irq_clear, uport->membase + SE_GENI_M_IRQ_CLEAR);
 }
 
 static void qcom_geni_serial_abort_rx(struct uart_port *uport)
@@ -337,8 +331,8 @@
 	writel(S_GENI_CMD_ABORT, uport->membase + SE_GENI_S_CMD_CTRL_REG);
 	qcom_geni_serial_poll_bit(uport, SE_GENI_S_CMD_CTRL_REG,
 					S_GENI_CMD_ABORT, false);
-	writel_relaxed(irq_clear, uport->membase + SE_GENI_S_IRQ_CLEAR);
-	writel_relaxed(FORCE_DEFAULT, uport->membase + GENI_FORCE_DEFAULT_REG);
+	writel(irq_clear, uport->membase + SE_GENI_S_IRQ_CLEAR);
+	writel(FORCE_DEFAULT, uport->membase + GENI_FORCE_DEFAULT_REG);
 }
 
 #ifdef CONFIG_CONSOLE_POLL
@@ -347,19 +341,13 @@
 	u32 rx_fifo;
 	u32 status;
 
-	status = readl_relaxed(uport->membase + SE_GENI_M_IRQ_STATUS);
-	writel_relaxed(status, uport->membase + SE_GENI_M_IRQ_CLEAR);
+	status = readl(uport->membase + SE_GENI_M_IRQ_STATUS);
+	writel(status, uport->membase + SE_GENI_M_IRQ_CLEAR);
 
-	status = readl_relaxed(uport->membase + SE_GENI_S_IRQ_STATUS);
-	writel_relaxed(status, uport->membase + SE_GENI_S_IRQ_CLEAR);
+	status = readl(uport->membase + SE_GENI_S_IRQ_STATUS);
+	writel(status, uport->membase + SE_GENI_S_IRQ_CLEAR);
 
-	/*
-	 * Ensure the writes to clear interrupts is not re-ordered after
-	 * reading the data.
-	 */
-	mb();
-
-	status = readl_relaxed(uport->membase + SE_GENI_RX_FIFO_STATUS);
+	status = readl(uport->membase + SE_GENI_RX_FIFO_STATUS);
 	if (!(status & RX_FIFO_WC_MSK))
 		return NO_POLL_CHAR;
 
@@ -370,15 +358,12 @@
 static void qcom_geni_serial_poll_put_char(struct uart_port *uport,
 							unsigned char c)
 {
-	struct qcom_geni_serial_port *port = to_dev_port(uport, uport);
-
-	writel_relaxed(port->tx_wm, uport->membase + SE_GENI_TX_WATERMARK_REG);
+	writel(DEF_TX_WM, uport->membase + SE_GENI_TX_WATERMARK_REG);
 	qcom_geni_serial_setup_tx(uport, 1);
 	WARN_ON(!qcom_geni_serial_poll_bit(uport, SE_GENI_M_IRQ_STATUS,
 						M_TX_FIFO_WATERMARK_EN, true));
-	writel_relaxed(c, uport->membase + SE_GENI_TX_FIFOn);
-	writel_relaxed(M_TX_FIFO_WATERMARK_EN, uport->membase +
-							SE_GENI_M_IRQ_CLEAR);
+	writel(c, uport->membase + SE_GENI_TX_FIFOn);
+	writel(M_TX_FIFO_WATERMARK_EN, uport->membase + SE_GENI_M_IRQ_CLEAR);
 	qcom_geni_serial_poll_tx_done(uport);
 }
 #endif
@@ -386,7 +371,7 @@
 #ifdef CONFIG_SERIAL_QCOM_GENI_CONSOLE
 static void qcom_geni_serial_wr_char(struct uart_port *uport, int ch)
 {
-	writel_relaxed(ch, uport->membase + SE_GENI_TX_FIFOn);
+	writel(ch, uport->membase + SE_GENI_TX_FIFOn);
 }
 
 static void
@@ -405,7 +390,7 @@
 			bytes_to_send++;
 	}
 
-	writel_relaxed(DEF_TX_WM, uport->membase + SE_GENI_TX_WATERMARK_REG);
+	writel(DEF_TX_WM, uport->membase + SE_GENI_TX_WATERMARK_REG);
 	qcom_geni_serial_setup_tx(uport, bytes_to_send);
 	for (i = 0; i < count; ) {
 		size_t chars_to_write = 0;
@@ -423,7 +408,7 @@
 		chars_to_write = min_t(size_t, count - i, avail / 2);
 		uart_console_write(uport, s + i, chars_to_write,
 						qcom_geni_serial_wr_char);
-		writel_relaxed(M_TX_FIFO_WATERMARK_EN, uport->membase +
+		writel(M_TX_FIFO_WATERMARK_EN, uport->membase +
 							SE_GENI_M_IRQ_CLEAR);
 		i += chars_to_write;
 	}
@@ -438,6 +423,7 @@
 	bool locked = true;
 	unsigned long flags;
 	u32 geni_status;
+	u32 irq_en;
 
 	WARN_ON(co->index < 0 || co->index >= GENI_UART_CONS_PORTS);
 
@@ -451,7 +437,7 @@
 	else
 		spin_lock_irqsave(&uport->lock, flags);
 
-	geni_status = readl_relaxed(uport->membase + SE_GENI_STATUS);
+	geni_status = readl(uport->membase + SE_GENI_STATUS);
 
 	/* Cancel the current write to log the fault */
 	if (!locked) {
@@ -461,17 +447,22 @@
 			geni_se_abort_m_cmd(&port->se);
 			qcom_geni_serial_poll_bit(uport, SE_GENI_M_IRQ_STATUS,
 							M_CMD_ABORT_EN, true);
-			writel_relaxed(M_CMD_ABORT_EN, uport->membase +
+			writel(M_CMD_ABORT_EN, uport->membase +
 							SE_GENI_M_IRQ_CLEAR);
 		}
-		writel_relaxed(M_CMD_CANCEL_EN, uport->membase +
-							SE_GENI_M_IRQ_CLEAR);
+		writel(M_CMD_CANCEL_EN, uport->membase + SE_GENI_M_IRQ_CLEAR);
 	} else if ((geni_status & M_GENI_CMD_ACTIVE) && !port->tx_remaining) {
 		/*
 		 * It seems we can't interrupt existing transfers if all data
 		 * has been sent, in which case we need to look for done first.
 		 */
 		qcom_geni_serial_poll_tx_done(uport);
+
+		if (uart_circ_chars_pending(&uport->state->xmit)) {
+			irq_en = readl(uport->membase + SE_GENI_M_IRQ_EN);
+			writel(irq_en | M_TX_FIFO_WATERMARK_EN,
+					uport->membase + SE_GENI_M_IRQ_EN);
+		}
 	}
 
 	__qcom_geni_serial_console_write(uport, s, count);
@@ -556,29 +547,20 @@
 static void qcom_geni_serial_start_tx(struct uart_port *uport)
 {
 	u32 irq_en;
-	struct qcom_geni_serial_port *port = to_dev_port(uport, uport);
 	u32 status;
 
-	if (port->xfer_mode == GENI_SE_FIFO) {
-		/*
-		 * readl ensures reading & writing of IRQ_EN register
-		 * is not re-ordered before checking the status of the
-		 * Serial Engine.
-		 */
-		status = readl(uport->membase + SE_GENI_STATUS);
-		if (status & M_GENI_CMD_ACTIVE)
-			return;
+	status = readl(uport->membase + SE_GENI_STATUS);
+	if (status & M_GENI_CMD_ACTIVE)
+		return;
 
-		if (!qcom_geni_serial_tx_empty(uport))
-			return;
+	if (!qcom_geni_serial_tx_empty(uport))
+		return;
 
-		irq_en = readl_relaxed(uport->membase +	SE_GENI_M_IRQ_EN);
-		irq_en |= M_TX_FIFO_WATERMARK_EN | M_CMD_DONE_EN;
+	irq_en = readl(uport->membase +	SE_GENI_M_IRQ_EN);
+	irq_en |= M_TX_FIFO_WATERMARK_EN | M_CMD_DONE_EN;
 
-		writel_relaxed(port->tx_wm, uport->membase +
-						SE_GENI_TX_WATERMARK_REG);
-		writel_relaxed(irq_en, uport->membase +	SE_GENI_M_IRQ_EN);
-	}
+	writel(DEF_TX_WM, uport->membase + SE_GENI_TX_WATERMARK_REG);
+	writel(irq_en, uport->membase +	SE_GENI_M_IRQ_EN);
 }
 
 static void qcom_geni_serial_stop_tx(struct uart_port *uport)
@@ -587,35 +569,24 @@
 	u32 status;
 	struct qcom_geni_serial_port *port = to_dev_port(uport, uport);
 
-	irq_en = readl_relaxed(uport->membase + SE_GENI_M_IRQ_EN);
-	irq_en &= ~M_CMD_DONE_EN;
-	if (port->xfer_mode == GENI_SE_FIFO) {
-		irq_en &= ~M_TX_FIFO_WATERMARK_EN;
-		writel_relaxed(0, uport->membase +
-				     SE_GENI_TX_WATERMARK_REG);
-	}
-	writel_relaxed(irq_en, uport->membase + SE_GENI_M_IRQ_EN);
-	status = readl_relaxed(uport->membase + SE_GENI_STATUS);
+	irq_en = readl(uport->membase + SE_GENI_M_IRQ_EN);
+	irq_en &= ~(M_CMD_DONE_EN | M_TX_FIFO_WATERMARK_EN);
+	writel(0, uport->membase + SE_GENI_TX_WATERMARK_REG);
+	writel(irq_en, uport->membase + SE_GENI_M_IRQ_EN);
+	status = readl(uport->membase + SE_GENI_STATUS);
 	/* Possible stop tx is called multiple times. */
 	if (!(status & M_GENI_CMD_ACTIVE))
 		return;
 
-	/*
-	 * Ensure cancel command write is not re-ordered before checking
-	 * the status of the Primary Sequencer.
-	 */
-	mb();
-
 	geni_se_cancel_m_cmd(&port->se);
 	if (!qcom_geni_serial_poll_bit(uport, SE_GENI_M_IRQ_STATUS,
 						M_CMD_CANCEL_EN, true)) {
 		geni_se_abort_m_cmd(&port->se);
 		qcom_geni_serial_poll_bit(uport, SE_GENI_M_IRQ_STATUS,
 						M_CMD_ABORT_EN, true);
-		writel_relaxed(M_CMD_ABORT_EN, uport->membase +
-							SE_GENI_M_IRQ_CLEAR);
+		writel(M_CMD_ABORT_EN, uport->membase + SE_GENI_M_IRQ_CLEAR);
 	}
-	writel_relaxed(M_CMD_CANCEL_EN, uport->membase + SE_GENI_M_IRQ_CLEAR);
+	writel(M_CMD_CANCEL_EN, uport->membase + SE_GENI_M_IRQ_CLEAR);
 }
 
 static void qcom_geni_serial_start_rx(struct uart_port *uport)
@@ -624,27 +595,19 @@
 	u32 status;
 	struct qcom_geni_serial_port *port = to_dev_port(uport, uport);
 
-	status = readl_relaxed(uport->membase + SE_GENI_STATUS);
+	status = readl(uport->membase + SE_GENI_STATUS);
 	if (status & S_GENI_CMD_ACTIVE)
 		qcom_geni_serial_stop_rx(uport);
 
-	/*
-	 * Ensure setup command write is not re-ordered before checking
-	 * the status of the Secondary Sequencer.
-	 */
-	mb();
-
 	geni_se_setup_s_cmd(&port->se, UART_START_READ, 0);
 
-	if (port->xfer_mode == GENI_SE_FIFO) {
-		irq_en = readl_relaxed(uport->membase + SE_GENI_S_IRQ_EN);
-		irq_en |= S_RX_FIFO_WATERMARK_EN | S_RX_FIFO_LAST_EN;
-		writel_relaxed(irq_en, uport->membase + SE_GENI_S_IRQ_EN);
+	irq_en = readl(uport->membase + SE_GENI_S_IRQ_EN);
+	irq_en |= S_RX_FIFO_WATERMARK_EN | S_RX_FIFO_LAST_EN;
+	writel(irq_en, uport->membase + SE_GENI_S_IRQ_EN);
 
-		irq_en = readl_relaxed(uport->membase + SE_GENI_M_IRQ_EN);
-		irq_en |= M_RX_FIFO_WATERMARK_EN | M_RX_FIFO_LAST_EN;
-		writel_relaxed(irq_en, uport->membase + SE_GENI_M_IRQ_EN);
-	}
+	irq_en = readl(uport->membase + SE_GENI_M_IRQ_EN);
+	irq_en |= M_RX_FIFO_WATERMARK_EN | M_RX_FIFO_LAST_EN;
+	writel(irq_en, uport->membase + SE_GENI_M_IRQ_EN);
 }
 
 static void qcom_geni_serial_stop_rx(struct uart_port *uport)
@@ -652,34 +615,35 @@
 	u32 irq_en;
 	u32 status;
 	struct qcom_geni_serial_port *port = to_dev_port(uport, uport);
-	u32 irq_clear = S_CMD_DONE_EN;
+	u32 s_irq_status;
 
-	if (port->xfer_mode == GENI_SE_FIFO) {
-		irq_en = readl_relaxed(uport->membase + SE_GENI_S_IRQ_EN);
-		irq_en &= ~(S_RX_FIFO_WATERMARK_EN | S_RX_FIFO_LAST_EN);
-		writel_relaxed(irq_en, uport->membase + SE_GENI_S_IRQ_EN);
+	irq_en = readl(uport->membase + SE_GENI_S_IRQ_EN);
+	irq_en &= ~(S_RX_FIFO_WATERMARK_EN | S_RX_FIFO_LAST_EN);
+	writel(irq_en, uport->membase + SE_GENI_S_IRQ_EN);
 
-		irq_en = readl_relaxed(uport->membase + SE_GENI_M_IRQ_EN);
-		irq_en &= ~(M_RX_FIFO_WATERMARK_EN | M_RX_FIFO_LAST_EN);
-		writel_relaxed(irq_en, uport->membase + SE_GENI_M_IRQ_EN);
-	}
+	irq_en = readl(uport->membase + SE_GENI_M_IRQ_EN);
+	irq_en &= ~(M_RX_FIFO_WATERMARK_EN | M_RX_FIFO_LAST_EN);
+	writel(irq_en, uport->membase + SE_GENI_M_IRQ_EN);
 
-	status = readl_relaxed(uport->membase + SE_GENI_STATUS);
+	status = readl(uport->membase + SE_GENI_STATUS);
 	/* Possible stop rx is called multiple times. */
 	if (!(status & S_GENI_CMD_ACTIVE))
 		return;
 
-	/*
-	 * Ensure cancel command write is not re-ordered before checking
-	 * the status of the Secondary Sequencer.
-	 */
-	mb();
-
 	geni_se_cancel_s_cmd(&port->se);
-	qcom_geni_serial_poll_bit(uport, SE_GENI_S_CMD_CTRL_REG,
-					S_GENI_CMD_CANCEL, false);
-	status = readl_relaxed(uport->membase + SE_GENI_STATUS);
-	writel_relaxed(irq_clear, uport->membase + SE_GENI_S_IRQ_CLEAR);
+	qcom_geni_serial_poll_bit(uport, SE_GENI_S_IRQ_STATUS,
+					S_CMD_CANCEL_EN, true);
+	/*
+	 * If timeout occurs secondary engine remains active
+	 * and Abort sequence is executed.
+	 */
+	s_irq_status = readl(uport->membase + SE_GENI_S_IRQ_STATUS);
+	/* Flush the Rx buffer */
+	if (s_irq_status & S_RX_FIFO_LAST_EN)
+		qcom_geni_serial_handle_rx(uport, true);
+	writel(s_irq_status, uport->membase + SE_GENI_S_IRQ_CLEAR);
+
+	status = readl(uport->membase + SE_GENI_STATUS);
 	if (status & S_GENI_CMD_ACTIVE)
 		qcom_geni_serial_abort_rx(uport);
 }
@@ -693,7 +657,7 @@
 	u32 total_bytes;
 	struct qcom_geni_serial_port *port = to_dev_port(uport, uport);
 
-	status = readl_relaxed(uport->membase +	SE_GENI_RX_FIFO_STATUS);
+	status = readl(uport->membase +	SE_GENI_RX_FIFO_STATUS);
 	word_cnt = status & RX_FIFO_WC_MSK;
 	last_word_partial = status & RX_LAST;
 	last_word_byte_cnt = (status & RX_LAST_BYTE_VALID_MSK) >>
@@ -719,10 +683,11 @@
 	size_t pending;
 	int i;
 	u32 status;
+	u32 irq_en;
 	unsigned int chunk;
 	int tail;
 
-	status = readl_relaxed(uport->membase + SE_GENI_TX_FIFO_STATUS);
+	status = readl(uport->membase + SE_GENI_TX_FIFO_STATUS);
 
 	/* Complete the current tx command before taking newly added data */
 	if (active)
@@ -747,6 +712,11 @@
 	if (!port->tx_remaining) {
 		qcom_geni_serial_setup_tx(uport, pending);
 		port->tx_remaining = pending;
+
+		irq_en = readl(uport->membase + SE_GENI_M_IRQ_EN);
+		if (!(irq_en & M_TX_FIFO_WATERMARK_EN))
+			writel(irq_en | M_TX_FIFO_WATERMARK_EN,
+					uport->membase + SE_GENI_M_IRQ_EN);
 	}
 
 	remaining = chunk;
@@ -770,7 +740,23 @@
 	}
 
 	xmit->tail = tail & (UART_XMIT_SIZE - 1);
+
+	/*
+	 * The tx fifo watermark is level triggered and latched. Though we had
+	 * cleared it in qcom_geni_serial_isr it will have already reasserted
+	 * so we must clear it again here after our writes.
+	 */
+	writel(M_TX_FIFO_WATERMARK_EN,
+			uport->membase + SE_GENI_M_IRQ_CLEAR);
+
 out_write_wakeup:
+	if (!port->tx_remaining) {
+		irq_en = readl(uport->membase + SE_GENI_M_IRQ_EN);
+		if (irq_en & M_TX_FIFO_WATERMARK_EN)
+			writel(irq_en & ~M_TX_FIFO_WATERMARK_EN,
+					uport->membase + SE_GENI_M_IRQ_EN);
+	}
+
 	if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS)
 		uart_write_wakeup(uport);
 }
@@ -791,12 +777,12 @@
 		return IRQ_NONE;
 
 	spin_lock_irqsave(&uport->lock, flags);
-	m_irq_status = readl_relaxed(uport->membase + SE_GENI_M_IRQ_STATUS);
-	s_irq_status = readl_relaxed(uport->membase + SE_GENI_S_IRQ_STATUS);
-	geni_status = readl_relaxed(uport->membase + SE_GENI_STATUS);
-	m_irq_en = readl_relaxed(uport->membase + SE_GENI_M_IRQ_EN);
-	writel_relaxed(m_irq_status, uport->membase + SE_GENI_M_IRQ_CLEAR);
-	writel_relaxed(s_irq_status, uport->membase + SE_GENI_S_IRQ_CLEAR);
+	m_irq_status = readl(uport->membase + SE_GENI_M_IRQ_STATUS);
+	s_irq_status = readl(uport->membase + SE_GENI_S_IRQ_STATUS);
+	geni_status = readl(uport->membase + SE_GENI_STATUS);
+	m_irq_en = readl(uport->membase + SE_GENI_M_IRQ_EN);
+	writel(m_irq_status, uport->membase + SE_GENI_M_IRQ_CLEAR);
+	writel(s_irq_status, uport->membase + SE_GENI_S_IRQ_CLEAR);
 
 	if (WARN_ON(m_irq_status & M_ILLEGAL_CMD_EN))
 		goto out_unlock;
@@ -806,8 +792,7 @@
 		tty_insert_flip_char(tport, 0, TTY_OVERRUN);
 	}
 
-	if (m_irq_status & (M_TX_FIFO_WATERMARK_EN | M_CMD_DONE_EN) &&
-	    m_irq_en & (M_TX_FIFO_WATERMARK_EN | M_CMD_DONE_EN))
+	if (m_irq_status & m_irq_en & (M_TX_FIFO_WATERMARK_EN | M_CMD_DONE_EN))
 		qcom_geni_serial_handle_tx(uport, m_irq_status & M_CMD_DONE_EN,
 					geni_status & M_GENI_CMD_ACTIVE);
 
@@ -842,17 +827,6 @@
 		(port->tx_fifo_depth * port->tx_fifo_width) / BITS_PER_BYTE;
 }
 
-static void set_rfr_wm(struct qcom_geni_serial_port *port)
-{
-	/*
-	 * Set RFR (Flow off) to FIFO_DEPTH - 2.
-	 * RX WM level at 10% RX_FIFO_DEPTH.
-	 * TX WM level at 10% TX_FIFO_DEPTH.
-	 */
-	port->rx_rfr = port->rx_fifo_depth - 2;
-	port->rx_wm = UART_CONSOLE_RX_WM;
-	port->tx_wm = DEF_TX_WM;
-}
 
 static void qcom_geni_serial_shutdown(struct uart_port *uport)
 {
@@ -891,21 +865,19 @@
 
 	get_tx_fifo_size(port);
 
-	set_rfr_wm(port);
-	writel_relaxed(rxstale, uport->membase + SE_UART_RX_STALE_CNT);
+	writel(rxstale, uport->membase + SE_UART_RX_STALE_CNT);
 	/*
 	 * Make an unconditional cancel on the main sequencer to reset
 	 * it else we could end up in data loss scenarios.
 	 */
-	port->xfer_mode = GENI_SE_FIFO;
 	if (uart_console(uport))
 		qcom_geni_serial_poll_tx_done(uport);
 	geni_se_config_packing(&port->se, BITS_PER_BYTE, port->tx_bytes_pw,
 						false, true, false);
 	geni_se_config_packing(&port->se, BITS_PER_BYTE, port->rx_bytes_pw,
 						false, false, true);
-	geni_se_init(&port->se, port->rx_wm, port->rx_rfr);
-	geni_se_select_mode(&port->se, port->xfer_mode);
+	geni_se_init(&port->se, UART_RX_WM, port->rx_fifo_depth - 2);
+	geni_se_select_mode(&port->se, GENI_SE_FIFO);
 	if (!uart_console(uport)) {
 		port->rx_fifo = devm_kcalloc(uport->dev,
 			port->rx_fifo_depth, sizeof(u32), GFP_KERNEL);
@@ -996,10 +968,10 @@
 	ser_clk_cfg |= clk_div << CLK_DIV_SHFT;
 
 	/* parity */
-	tx_trans_cfg = readl_relaxed(uport->membase + SE_UART_TX_TRANS_CFG);
-	tx_parity_cfg = readl_relaxed(uport->membase + SE_UART_TX_PARITY_CFG);
-	rx_trans_cfg = readl_relaxed(uport->membase + SE_UART_RX_TRANS_CFG);
-	rx_parity_cfg = readl_relaxed(uport->membase + SE_UART_RX_PARITY_CFG);
+	tx_trans_cfg = readl(uport->membase + SE_UART_TX_TRANS_CFG);
+	tx_parity_cfg = readl(uport->membase + SE_UART_TX_PARITY_CFG);
+	rx_trans_cfg = readl(uport->membase + SE_UART_RX_TRANS_CFG);
+	rx_parity_cfg = readl(uport->membase + SE_UART_RX_PARITY_CFG);
 	if (termios->c_cflag & PARENB) {
 		tx_trans_cfg |= UART_TX_PAR_EN;
 		rx_trans_cfg |= UART_RX_PAR_EN;
@@ -1055,17 +1027,17 @@
 		uart_update_timeout(uport, termios->c_cflag, baud);
 
 	if (!uart_console(uport))
-		writel_relaxed(port->loopback,
+		writel(port->loopback,
 				uport->membase + SE_UART_LOOPBACK_CFG);
-	writel_relaxed(tx_trans_cfg, uport->membase + SE_UART_TX_TRANS_CFG);
-	writel_relaxed(tx_parity_cfg, uport->membase + SE_UART_TX_PARITY_CFG);
-	writel_relaxed(rx_trans_cfg, uport->membase + SE_UART_RX_TRANS_CFG);
-	writel_relaxed(rx_parity_cfg, uport->membase + SE_UART_RX_PARITY_CFG);
-	writel_relaxed(bits_per_char, uport->membase + SE_UART_TX_WORD_LEN);
-	writel_relaxed(bits_per_char, uport->membase + SE_UART_RX_WORD_LEN);
-	writel_relaxed(stop_bit_len, uport->membase + SE_UART_TX_STOP_BIT_LEN);
-	writel_relaxed(ser_clk_cfg, uport->membase + GENI_SER_M_CLK_CFG);
-	writel_relaxed(ser_clk_cfg, uport->membase + GENI_SER_S_CLK_CFG);
+	writel(tx_trans_cfg, uport->membase + SE_UART_TX_TRANS_CFG);
+	writel(tx_parity_cfg, uport->membase + SE_UART_TX_PARITY_CFG);
+	writel(rx_trans_cfg, uport->membase + SE_UART_RX_TRANS_CFG);
+	writel(rx_parity_cfg, uport->membase + SE_UART_RX_PARITY_CFG);
+	writel(bits_per_char, uport->membase + SE_UART_TX_WORD_LEN);
+	writel(bits_per_char, uport->membase + SE_UART_RX_WORD_LEN);
+	writel(stop_bit_len, uport->membase + SE_UART_TX_STOP_BIT_LEN);
+	writel(ser_clk_cfg, uport->membase + GENI_SER_M_CLK_CFG);
+	writel(ser_clk_cfg, uport->membase + GENI_SER_S_CLK_CFG);
 out_restart_rx:
 	qcom_geni_serial_start_rx(uport);
 }
@@ -1156,13 +1128,13 @@
 	geni_se_init(&se, DEF_FIFO_DEPTH_WORDS / 2, DEF_FIFO_DEPTH_WORDS - 2);
 	geni_se_select_mode(&se, GENI_SE_FIFO);
 
-	writel_relaxed(tx_trans_cfg, uport->membase + SE_UART_TX_TRANS_CFG);
-	writel_relaxed(tx_parity_cfg, uport->membase + SE_UART_TX_PARITY_CFG);
-	writel_relaxed(rx_trans_cfg, uport->membase + SE_UART_RX_TRANS_CFG);
-	writel_relaxed(rx_parity_cfg, uport->membase + SE_UART_RX_PARITY_CFG);
-	writel_relaxed(bits_per_char, uport->membase + SE_UART_TX_WORD_LEN);
-	writel_relaxed(bits_per_char, uport->membase + SE_UART_RX_WORD_LEN);
-	writel_relaxed(stop_bit_len, uport->membase + SE_UART_TX_STOP_BIT_LEN);
+	writel(tx_trans_cfg, uport->membase + SE_UART_TX_TRANS_CFG);
+	writel(tx_parity_cfg, uport->membase + SE_UART_TX_PARITY_CFG);
+	writel(rx_trans_cfg, uport->membase + SE_UART_RX_TRANS_CFG);
+	writel(rx_parity_cfg, uport->membase + SE_UART_RX_PARITY_CFG);
+	writel(bits_per_char, uport->membase + SE_UART_TX_WORD_LEN);
+	writel(bits_per_char, uport->membase + SE_UART_RX_WORD_LEN);
+	writel(stop_bit_len, uport->membase + SE_UART_TX_STOP_BIT_LEN);
 
 	dev->con->write = qcom_geni_serial_earlycon_write;
 	dev->con->setup = NULL;
diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
index dc56cdd..2a5bf4c 100644
--- a/drivers/tty/serial/serial_core.c
+++ b/drivers/tty/serial/serial_core.c
@@ -2786,6 +2786,7 @@
 	if (uport->cons && uport->dev)
 		of_console_check(uport->dev->of_node, uport->cons->name, uport->line);
 
+	tty_port_link_device(port, drv->tty_driver, uport->line);
 	uart_configure_port(drv, state, uport);
 
 	port->console = uart_console(uport);
diff --git a/drivers/tty/serial/stm32-usart.c b/drivers/tty/serial/stm32-usart.c
index e8d7a7b..bce4ac1 100644
--- a/drivers/tty/serial/stm32-usart.c
+++ b/drivers/tty/serial/stm32-usart.c
@@ -105,9 +105,7 @@
 	struct stm32_usart_config *cfg = &stm32_port->info->cfg;
 	u32 usartdiv, baud, cr1, cr3;
 	bool over8;
-	unsigned long flags;
 
-	spin_lock_irqsave(&port->lock, flags);
 	stm32_clr_bits(port, ofs->cr1, BIT(cfg->uart_enable_bit));
 
 	port->rs485 = *rs485conf;
@@ -147,7 +145,6 @@
 	}
 
 	stm32_set_bits(port, ofs->cr1, BIT(cfg->uart_enable_bit));
-	spin_unlock_irqrestore(&port->lock, flags);
 
 	return 0;
 }
@@ -194,8 +191,8 @@
 	return 0;
 }
 
-static unsigned long
-stm32_get_char(struct uart_port *port, u32 *sr, int *last_res)
+static unsigned long stm32_get_char(struct uart_port *port, u32 *sr,
+				    int *last_res)
 {
 	struct stm32_port *stm32_port = to_stm32_port(port);
 	struct stm32_usart_offsets *ofs = &stm32_port->info->ofs;
@@ -205,10 +202,13 @@
 		c = stm32_port->rx_buf[RX_BUF_L - (*last_res)--];
 		if ((*last_res) == 0)
 			*last_res = RX_BUF_L;
-		return c;
 	} else {
-		return readl_relaxed(port->membase + ofs->rdr);
+		c = readl_relaxed(port->membase + ofs->rdr);
+		/* apply RDR data mask */
+		c &= stm32_port->rdr_mask;
 	}
+
+	return c;
 }
 
 static void stm32_receive_chars(struct uart_port *port, bool threaded)
@@ -225,35 +225,51 @@
 
 	while (stm32_pending_rx(port, &sr, &stm32_port->last_res, threaded)) {
 		sr |= USART_SR_DUMMY_RX;
-		c = stm32_get_char(port, &sr, &stm32_port->last_res);
 		flag = TTY_NORMAL;
-		port->icount.rx++;
 
+		/*
+		 * Status bits has to be cleared before reading the RDR:
+		 * In FIFO mode, reading the RDR will pop the next data
+		 * (if any) along with its status bits into the SR.
+		 * Not doing so leads to misalignement between RDR and SR,
+		 * and clear status bits of the next rx data.
+		 *
+		 * Clear errors flags for stm32f7 and stm32h7 compatible
+		 * devices. On stm32f4 compatible devices, the error bit is
+		 * cleared by the sequence [read SR - read DR].
+		 */
+		if ((sr & USART_SR_ERR_MASK) && ofs->icr != UNDEF_REG)
+			writel_relaxed(sr & USART_SR_ERR_MASK,
+				       port->membase + ofs->icr);
+
+		c = stm32_get_char(port, &sr, &stm32_port->last_res);
+		port->icount.rx++;
 		if (sr & USART_SR_ERR_MASK) {
-			if (sr & USART_SR_LBD) {
-				port->icount.brk++;
-				if (uart_handle_break(port))
-					continue;
-			} else if (sr & USART_SR_ORE) {
-				if (ofs->icr != UNDEF_REG)
-					writel_relaxed(USART_ICR_ORECF,
-						       port->membase +
-						       ofs->icr);
+			if (sr & USART_SR_ORE) {
 				port->icount.overrun++;
 			} else if (sr & USART_SR_PE) {
 				port->icount.parity++;
 			} else if (sr & USART_SR_FE) {
-				port->icount.frame++;
+				/* Break detection if character is null */
+				if (!c) {
+					port->icount.brk++;
+					if (uart_handle_break(port))
+						continue;
+				} else {
+					port->icount.frame++;
+				}
 			}
 
 			sr &= port->read_status_mask;
 
-			if (sr & USART_SR_LBD)
-				flag = TTY_BREAK;
-			else if (sr & USART_SR_PE)
+			if (sr & USART_SR_PE) {
 				flag = TTY_PARITY;
-			else if (sr & USART_SR_FE)
-				flag = TTY_FRAME;
+			} else if (sr & USART_SR_FE) {
+				if (!c)
+					flag = TTY_BREAK;
+				else
+					flag = TTY_FRAME;
+			}
 		}
 
 		if (uart_handle_sysrq_char(port, c))
@@ -271,21 +287,6 @@
 	struct uart_port *port = arg;
 	struct stm32_port *stm32port = to_stm32_port(port);
 	struct stm32_usart_offsets *ofs = &stm32port->info->ofs;
-	unsigned int isr;
-	int ret;
-
-	ret = readl_relaxed_poll_timeout_atomic(port->membase + ofs->isr,
-						isr,
-						(isr & USART_SR_TC),
-						10, 100000);
-
-	if (ret)
-		dev_err(port->dev, "terminal count not set\n");
-
-	if (ofs->icr == UNDEF_REG)
-		stm32_clr_bits(port, ofs->isr, USART_SR_TC);
-	else
-		stm32_set_bits(port, ofs->icr, USART_CR_TC);
 
 	stm32_clr_bits(port, ofs->cr3, USART_CR3_DMAT);
 	stm32port->tx_dma_busy = false;
@@ -377,7 +378,6 @@
 	/* Issue pending DMA TX requests */
 	dma_async_issue_pending(stm32port->tx_ch);
 
-	stm32_clr_bits(port, ofs->isr, USART_SR_TC);
 	stm32_set_bits(port, ofs->cr3, USART_CR3_DMAT);
 
 	xmit->tail = (xmit->tail + count) & (UART_XMIT_SIZE - 1);
@@ -401,15 +401,15 @@
 		return;
 	}
 
-	if (uart_tx_stopped(port)) {
-		stm32_stop_tx(port);
+	if (uart_circ_empty(xmit) || uart_tx_stopped(port)) {
+		stm32_clr_bits(port, ofs->cr1, USART_CR1_TXEIE);
 		return;
 	}
 
-	if (uart_circ_empty(xmit)) {
-		stm32_stop_tx(port);
-		return;
-	}
+	if (ofs->icr == UNDEF_REG)
+		stm32_clr_bits(port, ofs->isr, USART_SR_TC);
+	else
+		writel_relaxed(USART_ICR_TCCF, port->membase + ofs->icr);
 
 	if (stm32_port->tx_ch)
 		stm32_transmit_chars_dma(port);
@@ -420,7 +420,7 @@
 		uart_write_wakeup(port);
 
 	if (uart_circ_empty(xmit))
-		stm32_stop_tx(port);
+		stm32_clr_bits(port, ofs->cr1, USART_CR1_TXEIE);
 }
 
 static irqreturn_t stm32_interrupt(int irq, void *ptr)
@@ -554,7 +554,6 @@
 {
 	struct stm32_port *stm32_port = to_stm32_port(port);
 	struct stm32_usart_offsets *ofs = &stm32_port->info->ofs;
-	struct stm32_usart_config *cfg = &stm32_port->info->cfg;
 	const char *name = to_platform_device(port->dev)->name;
 	u32 val;
 	int ret;
@@ -565,15 +564,6 @@
 	if (ret)
 		return ret;
 
-	if (cfg->has_wakeup && stm32_port->wakeirq >= 0) {
-		ret = dev_pm_set_dedicated_wake_irq(port->dev,
-						    stm32_port->wakeirq);
-		if (ret) {
-			free_irq(port->irq, port);
-			return ret;
-		}
-	}
-
 	val = USART_CR1_RXNEIE | USART_CR1_TE | USART_CR1_RE;
 	if (stm32_port->fifoen)
 		val |= USART_CR1_FIFOEN;
@@ -587,18 +577,56 @@
 	struct stm32_port *stm32_port = to_stm32_port(port);
 	struct stm32_usart_offsets *ofs = &stm32_port->info->ofs;
 	struct stm32_usart_config *cfg = &stm32_port->info->cfg;
-	u32 val;
+	u32 val, isr;
+	int ret;
 
 	val = USART_CR1_TXEIE | USART_CR1_RXNEIE | USART_CR1_TE | USART_CR1_RE;
 	val |= BIT(cfg->uart_enable_bit);
 	if (stm32_port->fifoen)
 		val |= USART_CR1_FIFOEN;
+
+	ret = readl_relaxed_poll_timeout(port->membase + ofs->isr,
+					 isr, (isr & USART_SR_TC),
+					 10, 100000);
+
+	if (ret)
+		dev_err(port->dev, "transmission complete not set\n");
+
 	stm32_clr_bits(port, ofs->cr1, val);
 
-	dev_pm_clear_wake_irq(port->dev);
 	free_irq(port->irq, port);
 }
 
+unsigned int stm32_get_databits(struct ktermios *termios)
+{
+	unsigned int bits;
+
+	tcflag_t cflag = termios->c_cflag;
+
+	switch (cflag & CSIZE) {
+	/*
+	 * CSIZE settings are not necessarily supported in hardware.
+	 * CSIZE unsupported configurations are handled here to set word length
+	 * to 8 bits word as default configuration and to print debug message.
+	 */
+	case CS5:
+		bits = 5;
+		break;
+	case CS6:
+		bits = 6;
+		break;
+	case CS7:
+		bits = 7;
+		break;
+	/* default including CS8 */
+	default:
+		bits = 8;
+		break;
+	}
+
+	return bits;
+}
+
 static void stm32_set_termios(struct uart_port *port, struct ktermios *termios,
 			    struct ktermios *old)
 {
@@ -606,7 +634,7 @@
 	struct stm32_usart_offsets *ofs = &stm32_port->info->ofs;
 	struct stm32_usart_config *cfg = &stm32_port->info->cfg;
 	struct serial_rs485 *rs485conf = &port->rs485;
-	unsigned int baud;
+	unsigned int baud, bits;
 	u32 usartdiv, mantissa, fraction, oversampling;
 	tcflag_t cflag = termios->c_cflag;
 	u32 cr1, cr2, cr3;
@@ -632,16 +660,29 @@
 	if (cflag & CSTOPB)
 		cr2 |= USART_CR2_STOP_2B;
 
+	bits = stm32_get_databits(termios);
+	stm32_port->rdr_mask = (BIT(bits) - 1);
+
 	if (cflag & PARENB) {
+		bits++;
 		cr1 |= USART_CR1_PCE;
-		if ((cflag & CSIZE) == CS8) {
-			if (cfg->has_7bits_data)
-				cr1 |= USART_CR1_M0;
-			else
-				cr1 |= USART_CR1_M;
-		}
 	}
 
+	/*
+	 * Word length configuration:
+	 * CS8 + parity, 9 bits word aka [M1:M0] = 0b01
+	 * CS7 or (CS6 + parity), 7 bits word aka [M1:M0] = 0b10
+	 * CS8 or (CS7 + parity), 8 bits word aka [M1:M0] = 0b00
+	 * M0 and M1 already cleared by cr1 initialization.
+	 */
+	if (bits == 9)
+		cr1 |= USART_CR1_M0;
+	else if ((bits == 7) && cfg->has_7bits_data)
+		cr1 |= USART_CR1_M1;
+	else if (bits != 8)
+		dev_dbg(port->dev, "Unsupported data bits config: %u bits\n"
+			, bits);
+
 	if (cflag & PARODD)
 		cr1 |= USART_CR1_PS;
 
@@ -679,14 +720,14 @@
 	if (termios->c_iflag & INPCK)
 		port->read_status_mask |= USART_SR_PE | USART_SR_FE;
 	if (termios->c_iflag & (IGNBRK | BRKINT | PARMRK))
-		port->read_status_mask |= USART_SR_LBD;
+		port->read_status_mask |= USART_SR_FE;
 
 	/* Characters to ignore */
 	port->ignore_status_mask = 0;
 	if (termios->c_iflag & IGNPAR)
 		port->ignore_status_mask = USART_SR_PE | USART_SR_FE;
 	if (termios->c_iflag & IGNBRK) {
-		port->ignore_status_mask |= USART_SR_LBD;
+		port->ignore_status_mask |= USART_SR_FE;
 		/*
 		 * If we're ignoring parity and break indicators,
 		 * ignore overruns too (for real raw support).
@@ -1024,11 +1065,18 @@
 		ret = device_init_wakeup(&pdev->dev, true);
 		if (ret)
 			goto err_uninit;
+
+		ret = dev_pm_set_dedicated_wake_irq(&pdev->dev,
+						    stm32port->wakeirq);
+		if (ret)
+			goto err_nowup;
+
+		device_set_wakeup_enable(&pdev->dev, false);
 	}
 
 	ret = uart_add_one_port(&stm32_usart_driver, &stm32port->port);
 	if (ret)
-		goto err_nowup;
+		goto err_wirq;
 
 	ret = stm32_of_dma_rx_probe(stm32port, pdev);
 	if (ret)
@@ -1042,6 +1090,10 @@
 
 	return 0;
 
+err_wirq:
+	if (stm32port->info->cfg.has_wakeup && stm32port->wakeirq >= 0)
+		dev_pm_clear_wake_irq(&pdev->dev);
+
 err_nowup:
 	if (stm32port->info->cfg.has_wakeup && stm32port->wakeirq >= 0)
 		device_init_wakeup(&pdev->dev, false);
@@ -1079,8 +1131,10 @@
 				  TX_BUF_L, stm32_port->tx_buf,
 				  stm32_port->tx_dma_buf);
 
-	if (cfg->has_wakeup && stm32_port->wakeirq >= 0)
+	if (cfg->has_wakeup && stm32_port->wakeirq >= 0) {
+		dev_pm_clear_wake_irq(&pdev->dev);
 		device_init_wakeup(&pdev->dev, false);
+	}
 
 	clk_disable_unprepare(stm32_port->clk);
 
diff --git a/drivers/tty/serial/stm32-usart.h b/drivers/tty/serial/stm32-usart.h
index 6f294e2..30d2433 100644
--- a/drivers/tty/serial/stm32-usart.h
+++ b/drivers/tty/serial/stm32-usart.h
@@ -108,7 +108,6 @@
 #define USART_SR_RXNE		BIT(5)
 #define USART_SR_TC		BIT(6)
 #define USART_SR_TXE		BIT(7)
-#define USART_SR_LBD		BIT(8)
 #define USART_SR_CTSIF		BIT(9)
 #define USART_SR_CTS		BIT(10)		/* F7 */
 #define USART_SR_RTOF		BIT(11)		/* F7 */
@@ -120,8 +119,7 @@
 #define USART_SR_SBKF		BIT(18)		/* F7 */
 #define USART_SR_WUF		BIT(20)		/* H7 */
 #define USART_SR_TEACK		BIT(21)		/* F7 */
-#define USART_SR_ERR_MASK	(USART_SR_LBD | USART_SR_ORE | \
-				 USART_SR_FE | USART_SR_PE)
+#define USART_SR_ERR_MASK	(USART_SR_ORE | USART_SR_FE | USART_SR_PE)
 /* Dummy bits */
 #define USART_SR_DUMMY_RX	BIT(16)
 
@@ -151,8 +149,7 @@
 #define USART_CR1_PS		BIT(9)
 #define USART_CR1_PCE		BIT(10)
 #define USART_CR1_WAKE		BIT(11)
-#define USART_CR1_M		BIT(12)
-#define USART_CR1_M0		BIT(12)		/* F7 */
+#define USART_CR1_M0		BIT(12)		/* F7 (CR1_M for F4) */
 #define USART_CR1_MME		BIT(13)		/* F7 */
 #define USART_CR1_CMIE		BIT(14)		/* F7 */
 #define USART_CR1_OVER8		BIT(15)
@@ -169,8 +166,6 @@
 /* USART_CR2 */
 #define USART_CR2_ADD_MASK	GENMASK(3, 0)	/* F4 */
 #define USART_CR2_ADDM7		BIT(4)		/* F7 */
-#define USART_CR2_LBDL		BIT(5)
-#define USART_CR2_LBDIE		BIT(6)
 #define USART_CR2_LBCL		BIT(8)
 #define USART_CR2_CPHA		BIT(9)
 #define USART_CR2_CPOL		BIT(10)
@@ -227,12 +222,10 @@
 
 /* USART_ICR */
 #define USART_ICR_PECF		BIT(0)		/* F7 */
-#define USART_ICR_FFECF		BIT(1)		/* F7 */
-#define USART_ICR_NCF		BIT(2)		/* F7 */
+#define USART_ICR_FECF		BIT(1)		/* F7 */
 #define USART_ICR_ORECF		BIT(3)		/* F7 */
 #define USART_ICR_IDLECF	BIT(4)		/* F7 */
 #define USART_ICR_TCCF		BIT(6)		/* F7 */
-#define USART_ICR_LBDCF		BIT(8)		/* F7 */
 #define USART_ICR_CTSCF		BIT(9)		/* F7 */
 #define USART_ICR_RTOCF		BIT(11)		/* F7 */
 #define USART_ICR_EOBCF		BIT(12)		/* F7 */
@@ -261,6 +254,7 @@
 	bool hw_flow_control;
 	bool fifoen;
 	int wakeirq;
+	int rdr_mask;		/* receive data register mask */
 };
 
 static struct stm32_port stm32_ports[STM32_MAX_PORTS];
diff --git a/drivers/tty/serial/xilinx_uartps.c b/drivers/tty/serial/xilinx_uartps.c
index 66d49d5..31950a3 100644
--- a/drivers/tty/serial/xilinx_uartps.c
+++ b/drivers/tty/serial/xilinx_uartps.c
@@ -26,6 +26,7 @@
 #include <linux/of.h>
 #include <linux/module.h>
 #include <linux/pm_runtime.h>
+#include <linux/iopoll.h>
 
 #define CDNS_UART_TTY_NAME	"ttyPS"
 #define CDNS_UART_NAME		"xuartps"
@@ -34,6 +35,7 @@
 #define CDNS_UART_NR_PORTS	2
 #define CDNS_UART_FIFO_SIZE	64	/* FIFO size */
 #define CDNS_UART_REGISTER_SPACE	0x1000
+#define TX_TIMEOUT		500000
 
 /* Rx Trigger level */
 static int rx_trigger_level = 56;
@@ -681,18 +683,21 @@
 	unsigned int cval = 0;
 	unsigned int baud, minbaud, maxbaud;
 	unsigned long flags;
-	unsigned int ctrl_reg, mode_reg;
-
-	spin_lock_irqsave(&port->lock, flags);
+	unsigned int ctrl_reg, mode_reg, val;
+	int err;
 
 	/* Wait for the transmit FIFO to empty before making changes */
 	if (!(readl(port->membase + CDNS_UART_CR) &
 				CDNS_UART_CR_TX_DIS)) {
-		while (!(readl(port->membase + CDNS_UART_SR) &
-				CDNS_UART_SR_TXEMPTY)) {
-			cpu_relax();
+		err = readl_poll_timeout(port->membase + CDNS_UART_SR,
+					 val, (val & CDNS_UART_SR_TXEMPTY),
+					 1000, TX_TIMEOUT);
+		if (err) {
+			dev_err(port->dev, "timed out waiting for tx empty");
+			return;
 		}
 	}
+	spin_lock_irqsave(&port->lock, flags);
 
 	/* Disable the TX and RX to set baud rate */
 	ctrl_reg = readl(port->membase + CDNS_UART_CR);
diff --git a/drivers/tty/synclink_gt.c b/drivers/tty/synclink_gt.c
index b88ecf1..e9779b0 100644
--- a/drivers/tty/synclink_gt.c
+++ b/drivers/tty/synclink_gt.c
@@ -1335,10 +1335,10 @@
 	DBGINFO(("%s throttle\n", info->device_name));
 	if (I_IXOFF(tty))
 		send_xchar(tty, STOP_CHAR(tty));
- 	if (C_CRTSCTS(tty)) {
+	if (C_CRTSCTS(tty)) {
 		spin_lock_irqsave(&info->lock,flags);
 		info->signals &= ~SerialSignal_RTS;
-	 	set_signals(info);
+		set_signals(info);
 		spin_unlock_irqrestore(&info->lock,flags);
 	}
 }
@@ -1360,10 +1360,10 @@
 		else
 			send_xchar(tty, START_CHAR(tty));
 	}
- 	if (C_CRTSCTS(tty)) {
+	if (C_CRTSCTS(tty)) {
 		spin_lock_irqsave(&info->lock,flags);
 		info->signals |= SerialSignal_RTS;
-	 	set_signals(info);
+		set_signals(info);
 		spin_unlock_irqrestore(&info->lock,flags);
 	}
 }
@@ -2561,8 +2561,8 @@
 	info->read_status_mask = IRQ_RXOVER;
 	if (I_INPCK(info->port.tty))
 		info->read_status_mask |= MASK_PARITY | MASK_FRAMING;
- 	if (I_BRKINT(info->port.tty) || I_PARMRK(info->port.tty))
- 		info->read_status_mask |= MASK_BREAK;
+	if (I_BRKINT(info->port.tty) || I_PARMRK(info->port.tty))
+		info->read_status_mask |= MASK_BREAK;
 	if (I_IGNPAR(info->port.tty))
 		info->ignore_status_mask |= MASK_PARITY | MASK_FRAMING;
 	if (I_IGNBRK(info->port.tty)) {
@@ -3193,7 +3193,7 @@
 		info->signals &= ~SerialSignal_DTR;
 
 	spin_lock_irqsave(&info->lock,flags);
- 	set_signals(info);
+	set_signals(info);
 	spin_unlock_irqrestore(&info->lock,flags);
 	return 0;
 }
@@ -3204,7 +3204,7 @@
 	struct slgt_info *info = container_of(port, struct slgt_info, port);
 
 	spin_lock_irqsave(&info->lock,flags);
- 	get_signals(info);
+	get_signals(info);
 	spin_unlock_irqrestore(&info->lock,flags);
 	return (info->signals & SerialSignal_DCD) ? 1 : 0;
 }
@@ -3219,7 +3219,7 @@
 		info->signals |= SerialSignal_RTS | SerialSignal_DTR;
 	else
 		info->signals &= ~(SerialSignal_RTS | SerialSignal_DTR);
- 	set_signals(info);
+	set_signals(info);
 	spin_unlock_irqrestore(&info->lock,flags);
 }
 
diff --git a/drivers/tty/synclinkmp.c b/drivers/tty/synclinkmp.c
index 1e4d5b9..57c2c64 100644
--- a/drivers/tty/synclinkmp.c
+++ b/drivers/tty/synclinkmp.c
@@ -1454,10 +1454,10 @@
 	if (I_IXOFF(tty))
 		send_xchar(tty, STOP_CHAR(tty));
 
- 	if (C_CRTSCTS(tty)) {
+	if (C_CRTSCTS(tty)) {
 		spin_lock_irqsave(&info->lock,flags);
 		info->serial_signals &= ~SerialSignal_RTS;
-	 	set_signals(info);
+		set_signals(info);
 		spin_unlock_irqrestore(&info->lock,flags);
 	}
 }
@@ -1483,10 +1483,10 @@
 			send_xchar(tty, START_CHAR(tty));
 	}
 
- 	if (C_CRTSCTS(tty)) {
+	if (C_CRTSCTS(tty)) {
 		spin_lock_irqsave(&info->lock,flags);
 		info->serial_signals |= SerialSignal_RTS;
-	 	set_signals(info);
+		set_signals(info);
 		spin_unlock_irqrestore(&info->lock,flags);
 	}
 }
@@ -2471,7 +2471,7 @@
 					if (status & SerialSignal_CTS) {
 						if ( debug_level >= DEBUG_LEVEL_ISR )
 							printk("CTS tx start...");
-			 			info->port.tty->hw_stopped = 0;
+						info->port.tty->hw_stopped = 0;
 						tx_start(info);
 						info->pending_bh |= BH_TRANSMIT;
 						return;
@@ -2480,7 +2480,7 @@
 					if (!(status & SerialSignal_CTS)) {
 						if ( debug_level >= DEBUG_LEVEL_ISR )
 							printk("CTS tx stop...");
-			 			info->port.tty->hw_stopped = 1;
+						info->port.tty->hw_stopped = 1;
 						tx_stop(info);
 					}
 				}
@@ -2807,8 +2807,8 @@
 	info->read_status_mask2 = OVRN;
 	if (I_INPCK(info->port.tty))
 		info->read_status_mask2 |= PE | FRME;
- 	if (I_BRKINT(info->port.tty) || I_PARMRK(info->port.tty))
- 		info->read_status_mask1 |= BRKD;
+	if (I_BRKINT(info->port.tty) || I_PARMRK(info->port.tty))
+		info->read_status_mask1 |= BRKD;
 	if (I_IGNPAR(info->port.tty))
 		info->ignore_status_mask2 |= PE | FRME;
 	if (I_IGNBRK(info->port.tty)) {
@@ -3178,7 +3178,7 @@
  	unsigned long flags;
 
 	spin_lock_irqsave(&info->lock,flags);
- 	get_signals(info);
+	get_signals(info);
 	spin_unlock_irqrestore(&info->lock,flags);
 
 	result = ((info->serial_signals & SerialSignal_RTS) ? TIOCM_RTS : 0) |
@@ -3216,7 +3216,7 @@
 		info->serial_signals &= ~SerialSignal_DTR;
 
 	spin_lock_irqsave(&info->lock,flags);
- 	set_signals(info);
+	set_signals(info);
 	spin_unlock_irqrestore(&info->lock,flags);
 
 	return 0;
@@ -3228,7 +3228,7 @@
 	unsigned long flags;
 
 	spin_lock_irqsave(&info->lock,flags);
- 	get_signals(info);
+	get_signals(info);
 	spin_unlock_irqrestore(&info->lock,flags);
 
 	return (info->serial_signals & SerialSignal_DCD) ? 1 : 0;
@@ -3244,7 +3244,7 @@
 		info->serial_signals |= SerialSignal_RTS | SerialSignal_DTR;
 	else
 		info->serial_signals &= ~(SerialSignal_RTS | SerialSignal_DTR);
- 	set_signals(info);
+	set_signals(info);
 	spin_unlock_irqrestore(&info->lock,flags);
 }
 
diff --git a/drivers/tty/sysrq.c b/drivers/tty/sysrq.c
index 06ed20d..cee0274 100644
--- a/drivers/tty/sysrq.c
+++ b/drivers/tty/sysrq.c
@@ -546,7 +546,6 @@
 	 */
 	orig_log_level = console_loglevel;
 	console_loglevel = CONSOLE_LOGLEVEL_DEFAULT;
-	pr_info("SysRq : ");
 
         op_p = __sysrq_get_key_op(key);
         if (op_p) {
@@ -555,14 +554,15 @@
 		 * should not) and is the invoked operation enabled?
 		 */
 		if (!check_mask || sysrq_on_mask(op_p->enable_mask)) {
-			pr_cont("%s\n", op_p->action_msg);
+			pr_info("%s\n", op_p->action_msg);
 			console_loglevel = orig_log_level;
 			op_p->handler(key);
 		} else {
-			pr_cont("This sysrq operation is disabled.\n");
+			pr_info("This sysrq operation is disabled.\n");
+			console_loglevel = orig_log_level;
 		}
 	} else {
-		pr_cont("HELP : ");
+		pr_info("HELP : ");
 		/* Only print the help msg once per handler */
 		for (i = 0; i < ARRAY_SIZE(sysrq_key_table); i++) {
 			if (sysrq_key_table[i]) {
diff --git a/drivers/tty/tty_port.c b/drivers/tty/tty_port.c
index c699d41..fbacb00 100644
--- a/drivers/tty/tty_port.c
+++ b/drivers/tty/tty_port.c
@@ -52,10 +52,11 @@
 	}
 }
 
-static const struct tty_port_client_operations default_client_ops = {
+const struct tty_port_client_operations tty_port_default_client_ops = {
 	.receive_buf = tty_port_default_receive_buf,
 	.write_wakeup = tty_port_default_wakeup,
 };
+EXPORT_SYMBOL_GPL(tty_port_default_client_ops);
 
 void tty_port_init(struct tty_port *port)
 {
@@ -68,7 +69,7 @@
 	spin_lock_init(&port->lock);
 	port->close_delay = (50 * HZ) / 100;
 	port->closing_wait = (3000 * HZ) / 100;
-	port->client_ops = &default_client_ops;
+	port->client_ops = &tty_port_default_client_ops;
 	kref_init(&port->kref);
 }
 EXPORT_SYMBOL(tty_port_init);
diff --git a/drivers/tty/vt/selection.c b/drivers/tty/vt/selection.c
index 07496c7..8a16717 100644
--- a/drivers/tty/vt/selection.c
+++ b/drivers/tty/vt/selection.c
@@ -14,6 +14,7 @@
 #include <linux/tty.h>
 #include <linux/sched.h>
 #include <linux/mm.h>
+#include <linux/mutex.h>
 #include <linux/slab.h>
 #include <linux/types.h>
 
@@ -27,6 +28,8 @@
 #include <linux/console.h>
 #include <linux/tty_flip.h>
 
+#include <linux/sched/signal.h>
+
 /* Don't take this from <ctype.h>: 011-015 on the screen aren't spaces */
 #define isspace(c)	((c) == ' ')
 
@@ -41,6 +44,7 @@
 static int sel_end;
 static int sel_buffer_lth;
 static char *sel_buffer;
+static DEFINE_MUTEX(sel_lock);
 
 /* clear_selection, highlight and highlight_pointer can be called
    from interrupt (via scrollback/front) */
@@ -163,7 +167,7 @@
  *	The entire selection process is managed under the console_lock. It's
  *	 a lot under the lock but its hardly a performance path
  */
-int set_selection(const struct tiocl_selection __user *sel, struct tty_struct *tty)
+static int __set_selection(const struct tiocl_selection __user *sel, struct tty_struct *tty)
 {
 	struct vc_data *vc = vc_cons[fg_console].d;
 	int new_sel_start, new_sel_end, spc;
@@ -171,7 +175,7 @@
 	char *bp, *obp;
 	int i, ps, pe, multiplier;
 	u32 c;
-	int mode;
+	int mode, ret = 0;
 
 	poke_blanked_console();
 	if (copy_from_user(&v, sel, sizeof(*sel)))
@@ -320,7 +324,21 @@
 		}
 	}
 	sel_buffer_lth = bp - sel_buffer;
-	return 0;
+
+	return ret;
+}
+
+int set_selection(const struct tiocl_selection __user *v, struct tty_struct *tty)
+{
+	int ret;
+
+	mutex_lock(&sel_lock);
+	console_lock();
+	ret = __set_selection(v, tty);
+	console_unlock();
+	mutex_unlock(&sel_lock);
+
+	return ret;
 }
 
 /* Insert the contents of the selection buffer into the
@@ -337,6 +355,7 @@
 	unsigned int count;
 	struct  tty_ldisc *ld;
 	DECLARE_WAITQUEUE(wait, current);
+	int ret = 0;
 
 	console_lock();
 	poke_blanked_console();
@@ -348,10 +367,17 @@
 	tty_buffer_lock_exclusive(&vc->port);
 
 	add_wait_queue(&vc->paste_wait, &wait);
+	mutex_lock(&sel_lock);
 	while (sel_buffer && sel_buffer_lth > pasted) {
 		set_current_state(TASK_INTERRUPTIBLE);
+		if (signal_pending(current)) {
+			ret = -EINTR;
+			break;
+		}
 		if (tty_throttled(tty)) {
+			mutex_unlock(&sel_lock);
 			schedule();
+			mutex_lock(&sel_lock);
 			continue;
 		}
 		__set_current_state(TASK_RUNNING);
@@ -360,10 +386,11 @@
 					      count);
 		pasted += count;
 	}
+	mutex_unlock(&sel_lock);
 	remove_wait_queue(&vc->paste_wait, &wait);
 	__set_current_state(TASK_RUNNING);
 
 	tty_buffer_unlock_exclusive(&vc->port);
 	tty_ldisc_deref(ld);
-	return 0;
+	return ret;
 }
diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c
index d673e35..5cecf52 100644
--- a/drivers/tty/vt/vt.c
+++ b/drivers/tty/vt/vt.c
@@ -936,10 +936,21 @@
 	WARN_CONSOLE_UNLOCKED();
 
 	set_origin(vc);
-	if (vc->vc_sw->con_flush_scrollback)
+	if (vc->vc_sw->con_flush_scrollback) {
 		vc->vc_sw->con_flush_scrollback(vc);
-	else
+	} else if (con_is_visible(vc)) {
+		/*
+		 * When no con_flush_scrollback method is provided then the
+		 * legacy way for flushing the scrollback buffer is to use
+		 * a side effect of the con_switch method. We do it only on
+		 * the foreground console as background consoles have no
+		 * scrollback buffers in that case and we obviously don't
+		 * want to switch to them.
+		 */
+		hide_cursor(vc);
 		vc->vc_sw->con_switch(vc);
+		set_cursor(vc);
+	}
 }
 
 /*
@@ -3011,9 +3022,7 @@
 	switch (type)
 	{
 		case TIOCL_SETSEL:
-			console_lock();
 			ret = set_selection((struct tiocl_selection __user *)(p+1), tty);
-			console_unlock();
 			break;
 		case TIOCL_PASTESEL:
 			ret = paste_selection(tty);
diff --git a/drivers/tty/vt/vt_ioctl.c b/drivers/tty/vt/vt_ioctl.c
index 73cdc0d..2bb6de8 100644
--- a/drivers/tty/vt/vt_ioctl.c
+++ b/drivers/tty/vt/vt_ioctl.c
@@ -876,15 +876,20 @@
 			return -EINVAL;
 
 		for (i = 0; i < MAX_NR_CONSOLES; i++) {
+			struct vc_data *vcp;
+
 			if (!vc_cons[i].d)
 				continue;
 			console_lock();
-			if (v.v_vlin)
-				vc_cons[i].d->vc_scan_lines = v.v_vlin;
-			if (v.v_clin)
-				vc_cons[i].d->vc_font.height = v.v_clin;
-			vc_cons[i].d->vc_resize_user = 1;
-			vc_resize(vc_cons[i].d, v.v_cols, v.v_rows);
+			vcp = vc_cons[i].d;
+			if (vcp) {
+				if (v.v_vlin)
+					vcp->vc_scan_lines = v.v_vlin;
+				if (v.v_clin)
+					vcp->vc_font.height = v.v_clin;
+				vcp->vc_resize_user = 1;
+				vc_resize(vcp, v.v_cols, v.v_rows);
+			}
 			console_unlock();
 		}
 		break;
diff --git a/drivers/uio/uio.c b/drivers/uio/uio.c
index 2762148..9c78874 100644
--- a/drivers/uio/uio.c
+++ b/drivers/uio/uio.c
@@ -938,9 +938,12 @@
 	atomic_set(&idev->event, 0);
 
 	ret = uio_get_minor(idev);
-	if (ret)
+	if (ret) {
+		kfree(idev);
 		return ret;
+	}
 
+	device_initialize(&idev->dev);
 	idev->dev.devt = MKDEV(uio_major, idev->minor);
 	idev->dev.class = &uio_class;
 	idev->dev.parent = parent;
@@ -951,7 +954,7 @@
 	if (ret)
 		goto err_device_create;
 
-	ret = device_register(&idev->dev);
+	ret = device_add(&idev->dev);
 	if (ret)
 		goto err_device_create;
 
@@ -983,9 +986,10 @@
 err_request_irq:
 	uio_dev_del_attributes(idev);
 err_uio_dev_add_attributes:
-	device_unregister(&idev->dev);
+	device_del(&idev->dev);
 err_device_create:
 	uio_free_minor(idev);
+	put_device(&idev->dev);
 	return ret;
 }
 EXPORT_SYMBOL_GPL(__uio_register_device);
diff --git a/drivers/uio/uio_dmem_genirq.c b/drivers/uio/uio_dmem_genirq.c
index e1134a4..a00b4ae 100644
--- a/drivers/uio/uio_dmem_genirq.c
+++ b/drivers/uio/uio_dmem_genirq.c
@@ -135,11 +135,13 @@
 	if (irq_on) {
 		if (test_and_clear_bit(0, &priv->flags))
 			enable_irq(dev_info->irq);
+		spin_unlock_irqrestore(&priv->lock, flags);
 	} else {
-		if (!test_and_set_bit(0, &priv->flags))
+		if (!test_and_set_bit(0, &priv->flags)) {
+			spin_unlock_irqrestore(&priv->lock, flags);
 			disable_irq(dev_info->irq);
+		}
 	}
-	spin_unlock_irqrestore(&priv->lock, flags);
 
 	return 0;
 }
diff --git a/drivers/usb/chipidea/host.c b/drivers/usb/chipidea/host.c
index 4638d9b..71b26d0 100644
--- a/drivers/usb/chipidea/host.c
+++ b/drivers/usb/chipidea/host.c
@@ -25,6 +25,7 @@
 
 struct ehci_ci_priv {
 	struct regulator *reg_vbus;
+	bool enabled;
 };
 
 static int ehci_ci_portpower(struct usb_hcd *hcd, int portnum, bool enable)
@@ -36,7 +37,7 @@
 	int ret = 0;
 	int port = HCS_N_PORTS(ehci->hcs_params);
 
-	if (priv->reg_vbus) {
+	if (priv->reg_vbus && enable != priv->enabled) {
 		if (port > 1) {
 			dev_warn(dev,
 				"Not support multi-port regulator control\n");
@@ -52,6 +53,7 @@
 				enable ? "enable" : "disable", ret);
 			return ret;
 		}
+		priv->enabled = enable;
 	}
 
 	if (enable && (ci->platdata->phy_mode == USBPHY_INTERFACE_MODE_HSIC)) {
diff --git a/drivers/usb/class/cdc-wdm.c b/drivers/usb/class/cdc-wdm.c
index b8a1fde..4929c58 100644
--- a/drivers/usb/class/cdc-wdm.c
+++ b/drivers/usb/class/cdc-wdm.c
@@ -1107,7 +1107,7 @@
 	rv = recover_from_urb_loss(desc);
 	mutex_unlock(&desc->wlock);
 	mutex_unlock(&desc->rlock);
-	return 0;
+	return rv;
 }
 
 static struct usb_driver wdm_driver = {
diff --git a/drivers/usb/core/config.c b/drivers/usb/core/config.c
index 3d2eb45..4ed767e 100644
--- a/drivers/usb/core/config.c
+++ b/drivers/usb/core/config.c
@@ -256,6 +256,7 @@
 		struct usb_host_interface *ifp, int num_ep,
 		unsigned char *buffer, int size)
 {
+	struct usb_device *udev = to_usb_device(ddev);
 	unsigned char *buffer0 = buffer;
 	struct usb_endpoint_descriptor *d;
 	struct usb_host_endpoint *endpoint;
@@ -297,6 +298,16 @@
 		goto skip_to_next_endpoint_or_interface_descriptor;
 	}
 
+	/* Ignore blacklisted endpoints */
+	if (udev->quirks & USB_QUIRK_ENDPOINT_BLACKLIST) {
+		if (usb_endpoint_is_blacklisted(udev, ifp, d)) {
+			dev_warn(ddev, "config %d interface %d altsetting %d has a blacklisted endpoint with address 0x%X, skipping\n",
+					cfgno, inum, asnum,
+					d->bEndpointAddress);
+			goto skip_to_next_endpoint_or_interface_descriptor;
+		}
+	}
+
 	endpoint = &ifp->endpoint[ifp->desc.bNumEndpoints];
 	++ifp->desc.bNumEndpoints;
 
@@ -392,12 +403,16 @@
 			endpoint->desc.wMaxPacketSize = cpu_to_le16(8);
 	}
 
-	/* Validate the wMaxPacketSize field */
+	/*
+	 * Validate the wMaxPacketSize field.
+	 * Some devices have isochronous endpoints in altsetting 0;
+	 * the USB-2 spec requires such endpoints to have wMaxPacketSize = 0
+	 * (see the end of section 5.6.3), so don't warn about them.
+	 */
 	maxp = usb_endpoint_maxp(&endpoint->desc);
-	if (maxp == 0) {
-		dev_warn(ddev, "config %d interface %d altsetting %d endpoint 0x%X has wMaxPacketSize 0, skipping\n",
+	if (maxp == 0 && !(usb_endpoint_xfer_isoc(d) && asnum == 0)) {
+		dev_warn(ddev, "config %d interface %d altsetting %d endpoint 0x%X has invalid wMaxPacketSize 0\n",
 		    cfgno, inum, asnum, d->bEndpointAddress);
-		goto skip_to_next_endpoint_or_interface_descriptor;
 	}
 
 	/* Find the highest legal maxpacket size for this endpoint */
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
index 5c6f1c4..ed408f4 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -18,6 +18,7 @@
 #include <linux/sched/mm.h>
 #include <linux/list.h>
 #include <linux/slab.h>
+#include <linux/kcov.h>
 #include <linux/ioctl.h>
 #include <linux/usb.h>
 #include <linux/usbdevice_fs.h>
@@ -36,7 +37,9 @@
 #include "otg_whitelist.h"
 
 #define USB_VENDOR_GENESYS_LOGIC		0x05e3
+#define USB_VENDOR_SMSC				0x0424
 #define HUB_QUIRK_CHECK_PORT_AUTOSUSPEND	0x01
+#define HUB_QUIRK_DISABLE_AUTOSUSPEND		0x02
 
 #define USB_TP_TRANSMISSION_DELAY	40	/* ns */
 #define USB_TP_TRANSMISSION_DELAY_MAX	65535	/* ns */
@@ -970,13 +973,17 @@
 {
 	struct usb_hub *hub;
 	struct usb_interface *intf;
+	int ret;
 
 	if (!udev->parent)	/* Can't remove a root hub */
 		return -EINVAL;
 	hub = usb_hub_to_struct_hub(udev->parent);
 	intf = to_usb_interface(hub->intfdev);
 
-	usb_autopm_get_interface(intf);
+	ret = usb_autopm_get_interface(intf);
+	if (ret < 0)
+		return ret;
+
 	set_bit(udev->portnum, hub->removed_bits);
 	hub_port_logical_disconnect(hub, udev->portnum);
 	usb_autopm_put_interface(intf);
@@ -1176,6 +1183,7 @@
 			 * PORT_OVER_CURRENT is not. So check for any of them.
 			 */
 			if (udev || (portstatus & USB_PORT_STAT_CONNECTION) ||
+			    (portchange & USB_PORT_STAT_C_CONNECTION) ||
 			    (portstatus & USB_PORT_STAT_OVERCURRENT) ||
 			    (portchange & USB_PORT_STAT_C_OVERCURRENT))
 				set_bit(port1, hub->change_bits);
@@ -1200,11 +1208,6 @@
 #ifdef CONFIG_PM
 			udev->reset_resume = 1;
 #endif
-			/* Don't set the change_bits when the device
-			 * was powered off.
-			 */
-			if (test_bit(port1, hub->power_bits))
-				set_bit(port1, hub->change_bits);
 
 		} else {
 			/* The power session is gone; tell hub_wq */
@@ -1710,6 +1713,10 @@
 	kfree(hub->buffer);
 
 	pm_suspend_ignore_children(&intf->dev, false);
+
+	if (hub->quirk_disable_autosuspend)
+		usb_autopm_put_interface(intf);
+
 	kref_put(&hub->kref, hub_release);
 }
 
@@ -1840,6 +1847,11 @@
 	if (id->driver_info & HUB_QUIRK_CHECK_PORT_AUTOSUSPEND)
 		hub->quirk_check_port_auto_suspend = 1;
 
+	if (id->driver_info & HUB_QUIRK_DISABLE_AUTOSUSPEND) {
+		hub->quirk_disable_autosuspend = 1;
+		usb_autopm_get_interface_no_resume(intf);
+	}
+
 	if (hub_configure(hub, &desc->endpoint[0].desc) >= 0)
 		return 0;
 
@@ -5314,6 +5326,8 @@
 	hub_dev = hub->intfdev;
 	intf = to_usb_interface(hub_dev);
 
+	kcov_remote_start_usb((u64)hdev->bus->busnum);
+
 	dev_dbg(hub_dev, "state %d ports %d chg %04x evt %04x\n",
 			hdev->state, hdev->maxchild,
 			/* NOTE: expects max 15 ports... */
@@ -5420,9 +5434,15 @@
 	/* Balance the stuff in kick_hub_wq() and allow autosuspend */
 	usb_autopm_put_interface(intf);
 	kref_put(&hub->kref, hub_release);
+
+	kcov_remote_stop();
 }
 
 static const struct usb_device_id hub_id_table[] = {
+    { .match_flags = USB_DEVICE_ID_MATCH_VENDOR | USB_DEVICE_ID_MATCH_INT_CLASS,
+      .idVendor = USB_VENDOR_SMSC,
+      .bInterfaceClass = USB_CLASS_HUB,
+      .driver_info = HUB_QUIRK_DISABLE_AUTOSUSPEND},
     { .match_flags = USB_DEVICE_ID_MATCH_VENDOR
 			| USB_DEVICE_ID_MATCH_INT_CLASS,
       .idVendor = USB_VENDOR_GENESYS_LOGIC,
diff --git a/drivers/usb/core/hub.h b/drivers/usb/core/hub.h
index 4accfb6..d0bbbd7 100644
--- a/drivers/usb/core/hub.h
+++ b/drivers/usb/core/hub.h
@@ -61,6 +61,7 @@
 	unsigned		quiescing:1;
 	unsigned		disconnected:1;
 	unsigned		in_reset:1;
+	unsigned		quirk_disable_autosuspend:1;
 
 	unsigned		quirk_check_port_auto_suspend:1;
 
diff --git a/drivers/usb/core/port.c b/drivers/usb/core/port.c
index 4a21431..1fe83b5 100644
--- a/drivers/usb/core/port.c
+++ b/drivers/usb/core/port.c
@@ -203,7 +203,10 @@
 	if (!port_dev->is_superspeed && peer)
 		pm_runtime_get_sync(&peer->dev);
 
-	usb_autopm_get_interface(intf);
+	retval = usb_autopm_get_interface(intf);
+	if (retval < 0)
+		return retval;
+
 	retval = usb_hub_set_port_power(hdev, hub, port1, true);
 	msleep(hub_power_on_good_delay(hub));
 	if (udev && !retval) {
@@ -256,7 +259,10 @@
 	if (usb_port_block_power_off)
 		return -EBUSY;
 
-	usb_autopm_get_interface(intf);
+	retval = usb_autopm_get_interface(intf);
+	if (retval < 0)
+		return retval;
+
 	retval = usb_hub_set_port_power(hdev, hub, port1, false);
 	usb_clear_port_feature(hdev, port1, USB_PORT_FEAT_C_CONNECTION);
 	if (!port_dev->is_superspeed)
diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
index 6b64130..2dac3e7 100644
--- a/drivers/usb/core/quirks.c
+++ b/drivers/usb/core/quirks.c
@@ -231,6 +231,9 @@
 	/* Logitech PTZ Pro Camera */
 	{ USB_DEVICE(0x046d, 0x0853), .driver_info = USB_QUIRK_DELAY_INIT },
 
+	/* Logitech Screen Share */
+	{ USB_DEVICE(0x046d, 0x086c), .driver_info = USB_QUIRK_NO_LPM },
+
 	/* Logitech Quickcam Fusion */
 	{ USB_DEVICE(0x046d, 0x08c1), .driver_info = USB_QUIRK_RESET_RESUME },
 
@@ -354,6 +357,10 @@
 	{ USB_DEVICE(0x0904, 0x6103), .driver_info =
 			USB_QUIRK_LINEAR_FRAME_INTR_BINTERVAL },
 
+	/* Sound Devices USBPre2 */
+	{ USB_DEVICE(0x0926, 0x0202), .driver_info =
+			USB_QUIRK_ENDPOINT_BLACKLIST },
+
 	/* Keytouch QWERTY Panel keyboard */
 	{ USB_DEVICE(0x0926, 0x3333), .driver_info =
 			USB_QUIRK_CONFIG_INTF_STRINGS },
@@ -445,6 +452,9 @@
 	/* INTEL VALUE SSD */
 	{ USB_DEVICE(0x8086, 0xf1a5), .driver_info = USB_QUIRK_RESET_RESUME },
 
+	/* novation SoundControl XL */
+	{ USB_DEVICE(0x1235, 0x0061), .driver_info = USB_QUIRK_RESET_RESUME },
+
 	{ }  /* terminating entry must be last */
 };
 
@@ -472,6 +482,39 @@
 	{ }  /* terminating entry must be last */
 };
 
+/*
+ * Entries for blacklisted endpoints that should be ignored when parsing
+ * configuration descriptors.
+ *
+ * Matched for devices with USB_QUIRK_ENDPOINT_BLACKLIST.
+ */
+static const struct usb_device_id usb_endpoint_blacklist[] = {
+	{ USB_DEVICE_INTERFACE_NUMBER(0x0926, 0x0202, 1), .driver_info = 0x85 },
+	{ }
+};
+
+bool usb_endpoint_is_blacklisted(struct usb_device *udev,
+		struct usb_host_interface *intf,
+		struct usb_endpoint_descriptor *epd)
+{
+	const struct usb_device_id *id;
+	unsigned int address;
+
+	for (id = usb_endpoint_blacklist; id->match_flags; ++id) {
+		if (!usb_match_device(udev, id))
+			continue;
+
+		if (!usb_match_one_id_intf(udev, intf, id))
+			continue;
+
+		address = id->driver_info;
+		if (address == epd->bEndpointAddress)
+			return true;
+	}
+
+	return false;
+}
+
 static bool usb_match_any_interface(struct usb_device *udev,
 				    const struct usb_device_id *id)
 {
diff --git a/drivers/usb/core/usb.h b/drivers/usb/core/usb.h
index 8788c42..dff5b36 100644
--- a/drivers/usb/core/usb.h
+++ b/drivers/usb/core/usb.h
@@ -37,6 +37,9 @@
 extern void usb_detect_quirks(struct usb_device *udev);
 extern void usb_detect_interface_quirks(struct usb_device *udev);
 extern void usb_release_quirk_list(void);
+extern bool usb_endpoint_is_blacklisted(struct usb_device *udev,
+		struct usb_host_interface *intf,
+		struct usb_endpoint_descriptor *epd);
 extern int usb_remove_device(struct usb_device *udev);
 
 extern int usb_get_device_descriptor(struct usb_device *dev,
diff --git a/drivers/usb/dwc2/gadget.c b/drivers/usb/dwc2/gadget.c
index 3f68edd..d842483 100644
--- a/drivers/usb/dwc2/gadget.c
+++ b/drivers/usb/dwc2/gadget.c
@@ -1004,11 +1004,6 @@
 	else
 		packets = 1;	/* send one packet if length is zero. */
 
-	if (hs_ep->isochronous && length > (hs_ep->mc * hs_ep->ep.maxpacket)) {
-		dev_err(hsotg->dev, "req length > maxpacket*mc\n");
-		return;
-	}
-
 	if (dir_in && index != 0)
 		if (hs_ep->isochronous)
 			epsize = DXEPTSIZ_MC(packets);
@@ -1312,6 +1307,13 @@
 	req->actual = 0;
 	req->status = -EINPROGRESS;
 
+	/* Don't queue ISOC request if length greater than mps*mc */
+	if (hs_ep->isochronous &&
+	    req->length > (hs_ep->mc * hs_ep->ep.maxpacket)) {
+		dev_err(hs->dev, "req length > maxpacket*mc\n");
+		return -EINVAL;
+	}
+
 	/* In DDMA mode for ISOC's don't queue request if length greater
 	 * than descriptor limits.
 	 */
@@ -1542,6 +1544,7 @@
 	struct dwc2_hsotg_ep *ep0 = hsotg->eps_out[0];
 	struct dwc2_hsotg_ep *ep;
 	__le16 reply;
+	u16 status;
 	int ret;
 
 	dev_dbg(hsotg->dev, "%s: USB_REQ_GET_STATUS\n", __func__);
@@ -1553,11 +1556,10 @@
 
 	switch (ctrl->bRequestType & USB_RECIP_MASK) {
 	case USB_RECIP_DEVICE:
-		/*
-		 * bit 0 => self powered
-		 * bit 1 => remote wakeup
-		 */
-		reply = cpu_to_le16(0);
+		status = 1 << USB_DEVICE_SELF_POWERED;
+		status |= hsotg->remote_wakeup_allowed <<
+			  USB_DEVICE_REMOTE_WAKEUP;
+		reply = cpu_to_le16(status);
 		break;
 
 	case USB_RECIP_INTERFACE:
@@ -1668,7 +1670,10 @@
 	case USB_RECIP_DEVICE:
 		switch (wValue) {
 		case USB_DEVICE_REMOTE_WAKEUP:
-			hsotg->remote_wakeup_allowed = 1;
+			if (set)
+				hsotg->remote_wakeup_allowed = 1;
+			else
+				hsotg->remote_wakeup_allowed = 0;
 			break;
 
 		case USB_DEVICE_TEST_MODE:
@@ -1678,16 +1683,17 @@
 				return -EINVAL;
 
 			hsotg->test_mode = wIndex >> 8;
-			ret = dwc2_hsotg_send_reply(hsotg, ep0, NULL, 0);
-			if (ret) {
-				dev_err(hsotg->dev,
-					"%s: failed to send reply\n", __func__);
-				return ret;
-			}
 			break;
 		default:
 			return -ENOENT;
 		}
+
+		ret = dwc2_hsotg_send_reply(hsotg, ep0, NULL, 0);
+		if (ret) {
+			dev_err(hsotg->dev,
+				"%s: failed to send reply\n", __func__);
+			return ret;
+		}
 		break;
 
 	case USB_RECIP_ENDPOINT:
@@ -2230,6 +2236,7 @@
 		if (status & DEV_DMA_STS_MASK)
 			dev_err(hsotg->dev, "descriptor %d closed with %x\n",
 				i, status & DEV_DMA_STS_MASK);
+		desc++;
 	}
 
 	return bytes_rem;
@@ -3917,11 +3924,12 @@
 	 * a unique tx-fifo even if it is non-periodic.
 	 */
 	if (dir_in && hsotg->dedicated_fifos) {
+		unsigned fifo_count = dwc2_hsotg_tx_fifo_count(hsotg);
 		u32 fifo_index = 0;
 		u32 fifo_size = UINT_MAX;
 
 		size = hs_ep->ep.maxpacket * hs_ep->mc;
-		for (i = 1; i < hsotg->num_of_eps; ++i) {
+		for (i = 1; i <= fifo_count; ++i) {
 			if (hsotg->fifo_map & (1 << i))
 				continue;
 			val = dwc2_readl(hsotg, DPTXFSIZN(i));
diff --git a/drivers/usb/dwc3/Kconfig b/drivers/usb/dwc3/Kconfig
index 8097f29..4ddec10 100644
--- a/drivers/usb/dwc3/Kconfig
+++ b/drivers/usb/dwc3/Kconfig
@@ -52,7 +52,8 @@
 
 config USB_DWC3_OMAP
 	tristate "Texas Instruments OMAP5 and similar Platforms"
-	depends on EXTCON && (ARCH_OMAP2PLUS || COMPILE_TEST)
+	depends on ARCH_OMAP2PLUS || COMPILE_TEST
+	depends on EXTCON || !EXTCON
 	depends on OF
 	default USB_DWC3
 	help
@@ -114,6 +115,7 @@
 config USB_DWC3_QCOM
 	tristate "Qualcomm Platform"
 	depends on ARCH_QCOM || COMPILE_TEST
+	depends on EXTCON || !EXTCON
 	depends on OF
 	default USB_DWC3
 	help
diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
index 818a358..d36e44a 100644
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
@@ -1197,6 +1197,9 @@
 		/* do nothing */
 		break;
 	}
+
+	/* de-assert DRVVBUS for HOST and OTG mode */
+	dwc3_set_prtcap(dwc, DWC3_GCTL_PRTCAP_DEVICE);
 }
 
 static void (*notify_event)(struct dwc3 *, unsigned int, unsigned int);
diff --git a/drivers/usb/dwc3/dwc3-pci.c b/drivers/usb/dwc3/dwc3-pci.c
index 8fa39e6..edf7984 100644
--- a/drivers/usb/dwc3/dwc3-pci.c
+++ b/drivers/usb/dwc3/dwc3-pci.c
@@ -34,6 +34,7 @@
 #define PCI_DEVICE_ID_INTEL_GLK			0x31aa
 #define PCI_DEVICE_ID_INTEL_CNPLP		0x9dee
 #define PCI_DEVICE_ID_INTEL_CNPH		0xa36e
+#define PCI_DEVICE_ID_INTEL_CNPV		0xa3b0
 #define PCI_DEVICE_ID_INTEL_ICLLP		0x34ee
 
 #define PCI_INTEL_BXT_DSM_GUID		"732b85d5-b7a7-4a1b-9ba0-4bbd00ffd511"
@@ -340,6 +341,9 @@
 	{ PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_CNPH),
 	  (kernel_ulong_t) &dwc3_pci_intel_properties, },
 
+	{ PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_CNPV),
+	  (kernel_ulong_t) &dwc3_pci_intel_properties, },
+
 	{ PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_ICLLP),
 	  (kernel_ulong_t) &dwc3_pci_intel_properties, },
 
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index 51625d6..32a7bd8 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -1289,13 +1289,13 @@
 		unsigned chain = true;
 
 		/*
-		 * IOMMU driver is clubbing the list of sgs which shares a page
-		 * boundary into one and giving it to USB driver. With this the
-		 * number of sgs mapped it not equal to the the number of sgs
-		 * passed. Mark the chain bit to false if it is the last mapped
-		 * sg.
+		 * IOMMU driver is coalescing the list of sgs which shares a
+		 * page boundary into one and giving it to USB driver. With
+		 * this the number of sgs mapped is not equal to the number of
+		 * sgs passed. So mark the chain bit to false if it isthe last
+		 * mapped sg.
 		 */
-		if (sg_is_last(s) || (i == remaining - 1))
+		if (i == remaining - 1)
 			chain = false;
 
 		if (rem && usb_endpoint_dir_out(dep->endpoint.desc) && !chain) {
@@ -2331,8 +2331,14 @@
 			DWC3_DEVTEN_USBRSTEN |
 			DWC3_DEVTEN_DISCONNEVTEN);
 
+	/*
+	 * Enable SUSPENDEVENT(BIT:6) for version 230A and above
+	 * else enable USB Link change event (BIT:3) for older version
+	 */
 	if (dwc->revision < DWC3_REVISION_230A)
 		reg |= DWC3_DEVTEN_ULSTCNGEN;
+	else
+		reg |= DWC3_DEVTEN_EOPFEN;
 
 	dwc3_writel(dwc->regs, DWC3_DEVTEN, reg);
 }
@@ -2866,7 +2872,8 @@
 	if (event->status & DEPEVT_STATUS_SHORT && !chain)
 		return 1;
 
-	if (event->status & DEPEVT_STATUS_IOC)
+	if ((trb->ctrl & DWC3_TRB_CTRL_IOC) ||
+	    (trb->ctrl & DWC3_TRB_CTRL_LST))
 		return 1;
 
 	return 0;
@@ -3399,13 +3406,6 @@
 	speed = reg & DWC3_DSTS_CONNECTSPD;
 	dwc->speed = speed;
 
-	/* Enable SUSPENDEVENT(BIT:6) for version 230A and above */
-	if (dwc->revision >= DWC3_REVISION_230A) {
-		reg = dwc3_readl(dwc->regs, DWC3_DEVTEN);
-		reg |= DWC3_DEVTEN_EOPFEN;
-		dwc3_writel(dwc->regs, DWC3_DEVTEN, reg);
-	}
-
 	/* Reset the retry on erratic error event count */
 	dwc->retries_on_error = 0;
 
diff --git a/drivers/usb/gadget/composite.c b/drivers/usb/gadget/composite.c
index 9086b64..a316b9a 100644
--- a/drivers/usb/gadget/composite.c
+++ b/drivers/usb/gadget/composite.c
@@ -548,14 +548,14 @@
 		val = CONFIG_USB_GADGET_VBUS_DRAW;
 	if (!val)
 		return 0;
-	switch (speed) {
-	case USB_SPEED_SUPER:
-	case USB_SPEED_SUPER_PLUS:
-		return (u8)(val / 8);
-	default:
-		/* only SuperSpeed and faster support > 500mA */
-		return DIV_ROUND_UP(min(val, 500U), 2);
-	}
+	if (speed < USB_SPEED_SUPER)
+		return min(val, 500U) / 2;
+	else
+		/*
+		 * USB 3.x supports up to 900mA, but since 900 isn't divisible
+		 * by 8 the integral division will effectively cap to 896mA.
+		 */
+		return min(val, 900U) / 8;
 }
 
 static int config_buf(struct usb_configuration *config,
@@ -964,7 +964,8 @@
 	power = c->MaxPower ? c->MaxPower : CONFIG_USB_GADGET_VBUS_DRAW;
 	if (gadget->speed < USB_SPEED_SUPER)
 		power = min(power, 500U);
-
+	else
+		power = min(power, 900U);
 done:
 	usb_gadget_vbus_draw(gadget, power);
 	if (result >= 0 && cdev->delayed_status)
@@ -2457,10 +2458,13 @@
 				f->resume(f);
 		}
 
-		maxpower = cdev->config->MaxPower;
-		maxpower = maxpower ? maxpower : CONFIG_USB_GADGET_VBUS_DRAW;
+		maxpower = cdev->config->MaxPower ?
+			cdev->config->MaxPower : CONFIG_USB_GADGET_VBUS_DRAW;
 		if (gadget->speed < USB_SPEED_SUPER)
 			maxpower = min(maxpower, 500U);
+		else
+			maxpower = min(maxpower, 900U);
+
 		usb_gadget_vbus_draw(gadget, maxpower);
 	}
 
diff --git a/drivers/usb/gadget/function/f_ecm.c b/drivers/usb/gadget/function/f_ecm.c
index 460d5d7..7f5cf48 100644
--- a/drivers/usb/gadget/function/f_ecm.c
+++ b/drivers/usb/gadget/function/f_ecm.c
@@ -52,6 +52,7 @@
 	struct usb_ep			*notify;
 	struct usb_request		*notify_req;
 	u8				notify_state;
+	atomic_t			notify_count;
 	bool				is_open;
 
 	/* FIXME is_open needs some irq-ish locking
@@ -380,7 +381,7 @@
 	int				status;
 
 	/* notification already in flight? */
-	if (!req)
+	if (atomic_read(&ecm->notify_count))
 		return;
 
 	event = req->buf;
@@ -420,10 +421,10 @@
 	event->bmRequestType = 0xA1;
 	event->wIndex = cpu_to_le16(ecm->ctrl_id);
 
-	ecm->notify_req = NULL;
+	atomic_inc(&ecm->notify_count);
 	status = usb_ep_queue(ecm->notify, req, GFP_ATOMIC);
 	if (status < 0) {
-		ecm->notify_req = req;
+		atomic_dec(&ecm->notify_count);
 		DBG(cdev, "notify --> %d\n", status);
 	}
 }
@@ -448,17 +449,19 @@
 	switch (req->status) {
 	case 0:
 		/* no fault */
+		atomic_dec(&ecm->notify_count);
 		break;
 	case -ECONNRESET:
 	case -ESHUTDOWN:
+		atomic_set(&ecm->notify_count, 0);
 		ecm->notify_state = ECM_NOTIFY_NONE;
 		break;
 	default:
 		DBG(cdev, "event %02x --> %d\n",
 			event->bNotificationType, req->status);
+		atomic_dec(&ecm->notify_count);
 		break;
 	}
-	ecm->notify_req = req;
 	ecm_do_notify(ecm);
 }
 
@@ -907,6 +910,11 @@
 
 	usb_free_all_descriptors(f);
 
+	if (atomic_read(&ecm->notify_count)) {
+		usb_ep_dequeue(ecm->notify, ecm->notify_req);
+		atomic_set(&ecm->notify_count, 0);
+	}
+
 	kfree(ecm->notify_req->buf);
 	usb_ep_free_request(ecm->notify, ecm->notify_req);
 }
diff --git a/drivers/usb/gadget/function/f_fs.c b/drivers/usb/gadget/function/f_fs.c
index 4024d3d..7ed9cf7 100644
--- a/drivers/usb/gadget/function/f_fs.c
+++ b/drivers/usb/gadget/function/f_fs.c
@@ -139,6 +139,7 @@
 
 	struct ffs_data			*ffs;
 	struct ffs_ep			*ep;	/* P: ffs->eps_lock */
+	atomic_t			opened;
 
 	struct dentry			*dentry;
 
@@ -205,7 +206,7 @@
 	unsigned char			in;	/* P: ffs->eps_lock */
 	unsigned char			isoc;	/* P: ffs->eps_lock */
 
-	unsigned char			_pad;
+	bool				invalid;
 };
 
 struct ffs_buffer {
@@ -956,6 +957,16 @@
 		if (file->f_flags & O_NONBLOCK)
 			return -EAGAIN;
 
+		/*
+		 * epfile->invalid is set when EPs are disabled. Userspace
+		 * might have stale threads continuing to do I/O and may be
+		 * unaware of that especially if we block here. Instead return
+		 * an error immediately here and don't allow any more I/O
+		 * until the epfile is reopened.
+		 */
+		if (epfile->invalid)
+			return -ENODEV;
+
 		ret = wait_event_interruptible(
 				epfile->ffs->wait, (ep = epfile->ep));
 		if (ret)
@@ -1152,15 +1163,16 @@
 
 	ENTER();
 
-	ffs_log("%s: state %d setup_state %d flag %lu", epfile->name,
-		epfile->ffs->state, epfile->ffs->setup_state,
-		epfile->ffs->flags);
+	ffs_log("%s: state %d setup_state %d flag %lu opened %u",
+		epfile->name, epfile->ffs->state, epfile->ffs->setup_state,
+		epfile->ffs->flags, atomic_read(&epfile->opened));
 
 	if (WARN_ON(epfile->ffs->state != FFS_ACTIVE))
 		return -ENODEV;
 
 	file->private_data = epfile;
 	ffs_data_opened(epfile->ffs);
+	atomic_inc(&epfile->opened);
 
 	return 0;
 }
@@ -1170,6 +1182,7 @@
 	struct ffs_io_data *io_data = kiocb->private;
 	struct ffs_epfile *epfile = kiocb->ki_filp->private_data;
 	struct ffs_data *ffs = epfile->ffs;
+	unsigned long flags;
 	int value;
 
 	ENTER();
@@ -1177,14 +1190,14 @@
 	ffs_log("enter:state %d setup_state %d flag %lu", epfile->ffs->state,
 		epfile->ffs->setup_state, epfile->ffs->flags);
 
-	spin_lock_irq(&epfile->ffs->eps_lock);
+	spin_lock_irqsave(&epfile->ffs->eps_lock, flags);
 
 	if (likely(io_data && io_data->ep && io_data->req))
 		value = usb_ep_dequeue(io_data->ep, io_data->req);
 	else
 		value = -EINVAL;
 
-	spin_unlock_irq(&epfile->ffs->eps_lock);
+	spin_unlock_irqrestore(&epfile->ffs->eps_lock, flags);
 
 	ffs_log("exit: value %d", value);
 
@@ -1300,9 +1313,12 @@
 	ENTER();
 
 	__ffs_epfile_read_buffer_free(epfile);
-	ffs_log("%s: state %d setup_state %d flag %lu", epfile->name,
-			epfile->ffs->state, epfile->ffs->setup_state,
-			epfile->ffs->flags);
+	ffs_log("%s: state %d setup_state %d flag %lu opened %u",
+		epfile->name, epfile->ffs->state, epfile->ffs->setup_state,
+		epfile->ffs->flags, atomic_read(&epfile->opened));
+
+	if (atomic_dec_and_test(&epfile->opened))
+		epfile->invalid = false;
 
 	ffs_data_closed(epfile->ffs);
 
@@ -1332,6 +1348,10 @@
 		if (file->f_flags & O_NONBLOCK)
 			return -EAGAIN;
 
+		/* don't allow any I/O until file is reopened */
+		if (epfile->invalid)
+			return -ENODEV;
+
 		ret = wait_event_interruptible(
 				epfile->ffs->wait, (ep = epfile->ep));
 		if (ret)
@@ -1997,6 +2017,8 @@
 			ffs_epfiles_destroy(epfiles, i - 1);
 			return -ENOMEM;
 		}
+
+		atomic_set(&epfile->opened, 0);
 	}
 
 	ffs->epfiles = epfiles;
@@ -2044,6 +2066,7 @@
 		++ep;
 
 		if (epfile) {
+			epfile->invalid = true; /* until file is reopened */
 			epfile->ep = NULL;
 			__ffs_epfile_read_buffer_free(epfile);
 			++epfile;
diff --git a/drivers/usb/gadget/function/f_ncm.c b/drivers/usb/gadget/function/f_ncm.c
index 97cce3b..2200c8f 100644
--- a/drivers/usb/gadget/function/f_ncm.c
+++ b/drivers/usb/gadget/function/f_ncm.c
@@ -54,6 +54,7 @@
 	struct usb_ep			*notify;
 	struct usb_request		*notify_req;
 	u8				notify_state;
+	atomic_t			notify_count;
 	bool				is_open;
 
 	const struct ndp_parser_opts	*parser_opts;
@@ -547,7 +548,7 @@
 	int				status;
 
 	/* notification already in flight? */
-	if (!req)
+	if (atomic_read(&ncm->notify_count))
 		return;
 
 	event = req->buf;
@@ -587,7 +588,8 @@
 	event->bmRequestType = 0xA1;
 	event->wIndex = cpu_to_le16(ncm->ctrl_id);
 
-	ncm->notify_req = NULL;
+	atomic_inc(&ncm->notify_count);
+
 	/*
 	 * In double buffering if there is a space in FIFO,
 	 * completion callback can be called right after the call,
@@ -597,7 +599,7 @@
 	status = usb_ep_queue(ncm->notify, req, GFP_ATOMIC);
 	spin_lock(&ncm->lock);
 	if (status < 0) {
-		ncm->notify_req = req;
+		atomic_dec(&ncm->notify_count);
 		DBG(cdev, "notify --> %d\n", status);
 	}
 }
@@ -632,17 +634,19 @@
 	case 0:
 		VDBG(cdev, "Notification %02x sent\n",
 		     event->bNotificationType);
+		atomic_dec(&ncm->notify_count);
 		break;
 	case -ECONNRESET:
 	case -ESHUTDOWN:
+		atomic_set(&ncm->notify_count, 0);
 		ncm->notify_state = NCM_NOTIFY_NONE;
 		break;
 	default:
 		DBG(cdev, "event %02x --> %d\n",
 			event->bNotificationType, req->status);
+		atomic_dec(&ncm->notify_count);
 		break;
 	}
-	ncm->notify_req = req;
 	ncm_do_notify(ncm);
 	spin_unlock(&ncm->lock);
 }
@@ -1689,6 +1693,11 @@
 	ncm_string_defs[0].id = 0;
 	usb_free_all_descriptors(f);
 
+	if (atomic_read(&ncm->notify_count)) {
+		usb_ep_dequeue(ncm->notify, ncm->notify_req);
+		atomic_set(&ncm->notify_count, 0);
+	}
+
 	kfree(ncm->notify_req->buf);
 	usb_ep_free_request(ncm->notify, ncm->notify_req);
 
diff --git a/drivers/usb/gadget/function/u_serial.c b/drivers/usb/gadget/function/u_serial.c
index d4d317d..38afe96 100644
--- a/drivers/usb/gadget/function/u_serial.c
+++ b/drivers/usb/gadget/function/u_serial.c
@@ -567,8 +567,10 @@
 	port->n_read = 0;
 	started = gs_start_rx(port);
 
-	/* unblock any pending writes into our circular buffer */
 	if (started) {
+		gs_start_tx(port);
+		/* Unblock any pending writes into our circular buffer, in case
+		 * we didn't in gs_start_tx() */
 		tty_wakeup(port->port.tty);
 	} else {
 		gs_free_requests(ep, head, &port->read_allocated);
diff --git a/drivers/usb/gadget/legacy/cdc2.c b/drivers/usb/gadget/legacy/cdc2.c
index da1c379..8d7a556 100644
--- a/drivers/usb/gadget/legacy/cdc2.c
+++ b/drivers/usb/gadget/legacy/cdc2.c
@@ -225,7 +225,7 @@
 	.name		= "g_cdc",
 	.dev		= &device_desc,
 	.strings	= dev_strings,
-	.max_speed	= USB_SPEED_HIGH,
+	.max_speed	= USB_SPEED_SUPER,
 	.bind		= cdc_bind,
 	.unbind		= cdc_unbind,
 };
diff --git a/drivers/usb/gadget/legacy/g_ffs.c b/drivers/usb/gadget/legacy/g_ffs.c
index b640ed3..ae6d8f7 100644
--- a/drivers/usb/gadget/legacy/g_ffs.c
+++ b/drivers/usb/gadget/legacy/g_ffs.c
@@ -149,7 +149,7 @@
 	.name		= DRIVER_NAME,
 	.dev		= &gfs_dev_desc,
 	.strings	= gfs_dev_strings,
-	.max_speed	= USB_SPEED_HIGH,
+	.max_speed	= USB_SPEED_SUPER,
 	.bind		= gfs_bind,
 	.unbind		= gfs_unbind,
 };
diff --git a/drivers/usb/gadget/legacy/multi.c b/drivers/usb/gadget/legacy/multi.c
index 50515f9..ec97498 100644
--- a/drivers/usb/gadget/legacy/multi.c
+++ b/drivers/usb/gadget/legacy/multi.c
@@ -482,7 +482,7 @@
 	.name		= "g_multi",
 	.dev		= &device_desc,
 	.strings	= dev_strings,
-	.max_speed	= USB_SPEED_HIGH,
+	.max_speed	= USB_SPEED_SUPER,
 	.bind		= multi_bind,
 	.unbind		= multi_unbind,
 	.needs_serial	= 1,
diff --git a/drivers/usb/gadget/legacy/ncm.c b/drivers/usb/gadget/legacy/ncm.c
index 8465f08..c61e71b 100644
--- a/drivers/usb/gadget/legacy/ncm.c
+++ b/drivers/usb/gadget/legacy/ncm.c
@@ -197,7 +197,7 @@
 	.name		= "g_ncm",
 	.dev		= &device_desc,
 	.strings	= dev_strings,
-	.max_speed	= USB_SPEED_HIGH,
+	.max_speed	= USB_SPEED_SUPER,
 	.bind		= gncm_bind,
 	.unbind		= gncm_unbind,
 };
diff --git a/drivers/usb/gadget/udc/fsl_udc_core.c b/drivers/usb/gadget/udc/fsl_udc_core.c
index d44b26d..3676971 100644
--- a/drivers/usb/gadget/udc/fsl_udc_core.c
+++ b/drivers/usb/gadget/udc/fsl_udc_core.c
@@ -2247,8 +2247,10 @@
 	udc->phy_mode = pdata->phy_mode;
 
 	udc->eps = kcalloc(udc->max_ep, sizeof(struct fsl_ep), GFP_KERNEL);
-	if (!udc->eps)
-		return -1;
+	if (!udc->eps) {
+		ERR("kmalloc udc endpoint status failed\n");
+		goto eps_alloc_failed;
+	}
 
 	/* initialized QHs, take care of alignment */
 	size = udc->max_ep * sizeof(struct ep_queue_head);
@@ -2262,8 +2264,7 @@
 					&udc->ep_qh_dma, GFP_KERNEL);
 	if (!udc->ep_qh) {
 		ERR("malloc QHs for udc failed\n");
-		kfree(udc->eps);
-		return -1;
+		goto ep_queue_alloc_failed;
 	}
 
 	udc->ep_qh_size = size;
@@ -2272,8 +2273,17 @@
 	/* FIXME: fsl_alloc_request() ignores ep argument */
 	udc->status_req = container_of(fsl_alloc_request(NULL, GFP_KERNEL),
 			struct fsl_req, req);
+	if (!udc->status_req) {
+		ERR("kzalloc for udc status request failed\n");
+		goto udc_status_alloc_failed;
+	}
+
 	/* allocate a small amount of memory to get valid address */
 	udc->status_req->req.buf = kmalloc(8, GFP_KERNEL);
+	if (!udc->status_req->req.buf) {
+		ERR("kzalloc for udc request buffer failed\n");
+		goto udc_req_buf_alloc_failed;
+	}
 
 	udc->resume_state = USB_STATE_NOTATTACHED;
 	udc->usb_state = USB_STATE_POWERED;
@@ -2281,6 +2291,18 @@
 	udc->remote_wakeup = 0;	/* default to 0 on reset */
 
 	return 0;
+
+udc_req_buf_alloc_failed:
+	kfree(udc->status_req);
+udc_status_alloc_failed:
+	kfree(udc->ep_qh);
+	udc->ep_qh_size = 0;
+ep_queue_alloc_failed:
+	kfree(udc->eps);
+eps_alloc_failed:
+	udc->phy_mode = 0;
+	return -1;
+
 }
 
 /*----------------------------------------------------------------
diff --git a/drivers/usb/gadget/udc/gr_udc.c b/drivers/usb/gadget/udc/gr_udc.c
index 729e60e..e50108f 100644
--- a/drivers/usb/gadget/udc/gr_udc.c
+++ b/drivers/usb/gadget/udc/gr_udc.c
@@ -2180,8 +2180,6 @@
 		return -ENOMEM;
 	}
 
-	spin_lock(&dev->lock);
-
 	/* Inside lock so that no gadget can use this udc until probe is done */
 	retval = usb_add_gadget_udc(dev->dev, &dev->gadget);
 	if (retval) {
@@ -2190,15 +2188,21 @@
 	}
 	dev->added = 1;
 
-	retval = gr_udc_init(dev);
-	if (retval)
-		goto out;
+	spin_lock(&dev->lock);
 
-	gr_dfs_create(dev);
+	retval = gr_udc_init(dev);
+	if (retval) {
+		spin_unlock(&dev->lock);
+		goto out;
+	}
 
 	/* Clear all interrupt enables that might be left on since last boot */
 	gr_disable_interrupts_and_pullup(dev);
 
+	spin_unlock(&dev->lock);
+
+	gr_dfs_create(dev);
+
 	retval = gr_request_irq(dev, dev->irq);
 	if (retval) {
 		dev_err(dev->dev, "Failed to request irq %d\n", dev->irq);
@@ -2227,8 +2231,6 @@
 		dev_info(dev->dev, "regs: %p, irq %d\n", dev->regs, dev->irq);
 
 out:
-	spin_unlock(&dev->lock);
-
 	if (retval)
 		gr_remove(pdev);
 
diff --git a/drivers/usb/host/xhci-hub.c b/drivers/usb/host/xhci-hub.c
index e4c3772..d32d7da 100644
--- a/drivers/usb/host/xhci-hub.c
+++ b/drivers/usb/host/xhci-hub.c
@@ -55,6 +55,7 @@
 static int xhci_create_usb3_bos_desc(struct xhci_hcd *xhci, char *buf,
 				     u16 wLength)
 {
+	struct xhci_port_cap *port_cap = NULL;
 	int i, ssa_count;
 	u32 temp;
 	u16 desc_size, ssp_cap_size, ssa_size = 0;
@@ -64,16 +65,24 @@
 	ssp_cap_size = sizeof(usb_bos_descriptor) - desc_size;
 
 	/* does xhci support USB 3.1 Enhanced SuperSpeed */
-	if (xhci->usb3_rhub.min_rev >= 0x01) {
+	for (i = 0; i < xhci->num_port_caps; i++) {
+		if (xhci->port_caps[i].maj_rev == 0x03 &&
+		    xhci->port_caps[i].min_rev >= 0x01) {
+			usb3_1 = true;
+			port_cap = &xhci->port_caps[i];
+			break;
+		}
+	}
+
+	if (usb3_1) {
 		/* does xhci provide a PSI table for SSA speed attributes? */
-		if (xhci->usb3_rhub.psi_count) {
+		if (port_cap->psi_count) {
 			/* two SSA entries for each unique PSI ID, RX and TX */
-			ssa_count = xhci->usb3_rhub.psi_uid_count * 2;
+			ssa_count = port_cap->psi_uid_count * 2;
 			ssa_size = ssa_count * sizeof(u32);
 			ssp_cap_size -= 16; /* skip copying the default SSA */
 		}
 		desc_size += ssp_cap_size;
-		usb3_1 = true;
 	}
 	memcpy(buf, &usb_bos_descriptor, min(desc_size, wLength));
 
@@ -99,7 +108,7 @@
 	}
 
 	/* If PSI table exists, add the custom speed attributes from it */
-	if (usb3_1 && xhci->usb3_rhub.psi_count) {
+	if (usb3_1 && port_cap->psi_count) {
 		u32 ssp_cap_base, bm_attrib, psi, psi_mant, psi_exp;
 		int offset;
 
@@ -111,7 +120,7 @@
 
 		/* attribute count SSAC bits 4:0 and ID count SSIC bits 8:5 */
 		bm_attrib = (ssa_count - 1) & 0x1f;
-		bm_attrib |= (xhci->usb3_rhub.psi_uid_count - 1) << 5;
+		bm_attrib |= (port_cap->psi_uid_count - 1) << 5;
 		put_unaligned_le32(bm_attrib, &buf[ssp_cap_base + 4]);
 
 		if (wLength < desc_size + ssa_size)
@@ -124,8 +133,8 @@
 		 * USB 3.1 requires two SSA entries (RX and TX) for every link
 		 */
 		offset = desc_size;
-		for (i = 0; i < xhci->usb3_rhub.psi_count; i++) {
-			psi = xhci->usb3_rhub.psi[i];
+		for (i = 0; i < port_cap->psi_count; i++) {
+			psi = port_cap->psi[i];
 			psi &= ~USB_SSP_SUBLINK_SPEED_RSVD;
 			psi_exp = XHCI_EXT_PORT_PSIE(psi);
 			psi_mant = XHCI_EXT_PORT_PSIM(psi);
@@ -1249,7 +1258,7 @@
 			}
 			port_li = readl(ports[wIndex]->addr + PORTLI);
 			status = xhci_get_ext_port_status(temp, port_li);
-			put_unaligned_le32(cpu_to_le32(status), &buf[4]);
+			put_unaligned_le32(status, &buf[4]);
 		}
 		break;
 	case SetPortFeature:
diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c
index ecf73f6..5a27091 100644
--- a/drivers/usb/host/xhci-mem.c
+++ b/drivers/usb/host/xhci-mem.c
@@ -1475,9 +1475,15 @@
 	/* Allow 3 retries for everything but isoc, set CErr = 3 */
 	if (!usb_endpoint_xfer_isoc(&ep->desc))
 		err_count = 3;
-	/* Some devices get this wrong */
-	if (usb_endpoint_xfer_bulk(&ep->desc) && udev->speed == USB_SPEED_HIGH)
-		max_packet = 512;
+	/* HS bulk max packet should be 512, FS bulk supports 8, 16, 32 or 64 */
+	if (usb_endpoint_xfer_bulk(&ep->desc)) {
+		if (udev->speed == USB_SPEED_HIGH)
+			max_packet = 512;
+		if (udev->speed == USB_SPEED_FULL) {
+			max_packet = rounddown_pow_of_two(max_packet);
+			max_packet = clamp_val(max_packet, 8, 64);
+		}
+	}
 	/* xHCI 1.0 and 1.1 indicates that ctrl ep avg TRB Length should be 8 */
 	if (usb_endpoint_xfer_control(&ep->desc) && xhci->hci_version >= 0x100)
 		avg_trb_len = 8;
@@ -2035,17 +2041,17 @@
 	xhci->usb3_rhub.num_ports = 0;
 	xhci->num_active_eps = 0;
 	kfree(xhci->usb2_rhub.ports);
-	kfree(xhci->usb2_rhub.psi);
 	kfree(xhci->usb3_rhub.ports);
-	kfree(xhci->usb3_rhub.psi);
 	kfree(xhci->hw_ports);
 	kfree(xhci->rh_bw);
 	kfree(xhci->ext_caps);
+	for (i = 0; i < xhci->num_port_caps; i++)
+		kfree(xhci->port_caps[i].psi);
+	kfree(xhci->port_caps);
+	xhci->num_port_caps = 0;
 
 	xhci->usb2_rhub.ports = NULL;
-	xhci->usb2_rhub.psi = NULL;
 	xhci->usb3_rhub.ports = NULL;
-	xhci->usb3_rhub.psi = NULL;
 	xhci->hw_ports = NULL;
 	xhci->rh_bw = NULL;
 	xhci->ext_caps = NULL;
@@ -2222,6 +2228,7 @@
 	u8 major_revision, minor_revision;
 	struct xhci_hub *rhub;
 	struct device *dev = xhci_to_hcd(xhci)->self.sysdev;
+	struct xhci_port_cap *port_cap;
 
 	temp = readl(addr);
 	major_revision = XHCI_EXT_PORT_MAJOR(temp);
@@ -2256,31 +2263,39 @@
 		/* WTF? "Valid values are ‘1’ to MaxPorts" */
 		return;
 
-	rhub->psi_count = XHCI_EXT_PORT_PSIC(temp);
-	if (rhub->psi_count) {
-		rhub->psi = kcalloc_node(rhub->psi_count, sizeof(*rhub->psi),
-				    GFP_KERNEL, dev_to_node(dev));
-		if (!rhub->psi)
-			rhub->psi_count = 0;
+	port_cap = &xhci->port_caps[xhci->num_port_caps++];
+	if (xhci->num_port_caps > max_caps)
+		return;
 
-		rhub->psi_uid_count++;
-		for (i = 0; i < rhub->psi_count; i++) {
-			rhub->psi[i] = readl(addr + 4 + i);
+	port_cap->maj_rev = major_revision;
+	port_cap->min_rev = minor_revision;
+	port_cap->psi_count = XHCI_EXT_PORT_PSIC(temp);
+
+	if (port_cap->psi_count) {
+		port_cap->psi = kcalloc_node(port_cap->psi_count,
+					     sizeof(*port_cap->psi),
+					     GFP_KERNEL, dev_to_node(dev));
+		if (!port_cap->psi)
+			port_cap->psi_count = 0;
+
+		port_cap->psi_uid_count++;
+		for (i = 0; i < port_cap->psi_count; i++) {
+			port_cap->psi[i] = readl(addr + 4 + i);
 
 			/* count unique ID values, two consecutive entries can
 			 * have the same ID if link is assymetric
 			 */
-			if (i && (XHCI_EXT_PORT_PSIV(rhub->psi[i]) !=
-				  XHCI_EXT_PORT_PSIV(rhub->psi[i - 1])))
-				rhub->psi_uid_count++;
+			if (i && (XHCI_EXT_PORT_PSIV(port_cap->psi[i]) !=
+				  XHCI_EXT_PORT_PSIV(port_cap->psi[i - 1])))
+				port_cap->psi_uid_count++;
 
 			xhci_dbg(xhci, "PSIV:%d PSIE:%d PLT:%d PFD:%d LP:%d PSIM:%d\n",
-				  XHCI_EXT_PORT_PSIV(rhub->psi[i]),
-				  XHCI_EXT_PORT_PSIE(rhub->psi[i]),
-				  XHCI_EXT_PORT_PLT(rhub->psi[i]),
-				  XHCI_EXT_PORT_PFD(rhub->psi[i]),
-				  XHCI_EXT_PORT_LP(rhub->psi[i]),
-				  XHCI_EXT_PORT_PSIM(rhub->psi[i]));
+				  XHCI_EXT_PORT_PSIV(port_cap->psi[i]),
+				  XHCI_EXT_PORT_PSIE(port_cap->psi[i]),
+				  XHCI_EXT_PORT_PLT(port_cap->psi[i]),
+				  XHCI_EXT_PORT_PFD(port_cap->psi[i]),
+				  XHCI_EXT_PORT_LP(port_cap->psi[i]),
+				  XHCI_EXT_PORT_PSIM(port_cap->psi[i]));
 		}
 	}
 	/* cache usb2 port capabilities */
@@ -2327,6 +2342,7 @@
 			continue;
 		}
 		hw_port->rhub = rhub;
+		hw_port->port_cap = port_cap;
 		rhub->num_ports++;
 	}
 	/* FIXME: Should we disable ports not in the Extended Capabilities? */
@@ -2417,6 +2433,11 @@
 	if (!xhci->ext_caps)
 		return -ENOMEM;
 
+	xhci->port_caps = kcalloc_node(cap_count, sizeof(*xhci->port_caps),
+				flags, dev_to_node(dev));
+	if (!xhci->port_caps)
+		return -ENOMEM;
+
 	offset = cap_start;
 
 	while (offset) {
diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
index 075c49c..58cf551 100644
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
@@ -41,6 +41,7 @@
 #define PCI_DEVICE_ID_INTEL_BROXTON_B_XHCI		0x1aa8
 #define PCI_DEVICE_ID_INTEL_APL_XHCI			0x5aa8
 #define PCI_DEVICE_ID_INTEL_DNV_XHCI			0x19d0
+#define PCI_DEVICE_ID_INTEL_CML_XHCI			0xa3af
 
 #define PCI_DEVICE_ID_AMD_PROMONTORYA_4			0x43b9
 #define PCI_DEVICE_ID_AMD_PROMONTORYA_3			0x43ba
@@ -179,7 +180,8 @@
 		 pdev->device == PCI_DEVICE_ID_INTEL_BROXTON_M_XHCI ||
 		 pdev->device == PCI_DEVICE_ID_INTEL_BROXTON_B_XHCI ||
 		 pdev->device == PCI_DEVICE_ID_INTEL_APL_XHCI ||
-		 pdev->device == PCI_DEVICE_ID_INTEL_DNV_XHCI)) {
+		 pdev->device == PCI_DEVICE_ID_INTEL_DNV_XHCI ||
+		 pdev->device == PCI_DEVICE_ID_INTEL_CML_XHCI)) {
 		xhci->quirks |= XHCI_PME_STUCK_QUIRK;
 	}
 	if (pdev->vendor == PCI_VENDOR_ID_INTEL &&
@@ -283,6 +285,9 @@
 	if (!usb_hcd_is_primary_hcd(hcd))
 		return 0;
 
+	if (xhci->quirks & XHCI_PME_STUCK_QUIRK)
+		xhci_pme_acpi_rtd3_enable(pdev);
+
 	xhci_dbg(xhci, "Got SBRN %u\n", (unsigned int) xhci->sbrn);
 
 	/* Find any debug ports */
@@ -340,9 +345,6 @@
 			HCC_MAX_PSA(xhci->hcc_params) >= 4)
 		xhci->shared_hcd->can_do_streams = 1;
 
-	if (xhci->quirks & XHCI_PME_STUCK_QUIRK)
-		xhci_pme_acpi_rtd3_enable(dev);
-
 	/* USB-2 and USB-3 roothubs initialized, allow runtime pm suspend */
 	pm_runtime_put_noidle(&dev->dev);
 
diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index 0568861..20ea7f5 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -2693,6 +2693,42 @@
 }
 
 /*
+ * Update Event Ring Dequeue Pointer:
+ * - When all events have finished
+ * - To avoid "Event Ring Full Error" condition
+ */
+static void xhci_update_erst_dequeue(struct xhci_hcd *xhci,
+		union xhci_trb *event_ring_deq)
+{
+	u64 temp_64;
+	dma_addr_t deq;
+
+	temp_64 = xhci_read_64(xhci, &xhci->ir_set->erst_dequeue);
+	/* If necessary, update the HW's version of the event ring deq ptr. */
+	if (event_ring_deq != xhci->event_ring->dequeue) {
+		deq = xhci_trb_virt_to_dma(xhci->event_ring->deq_seg,
+				xhci->event_ring->dequeue);
+		if (deq == 0)
+			xhci_warn(xhci, "WARN something wrong with SW event ring dequeue ptr\n");
+		/*
+		 * Per 4.9.4, Software writes to the ERDP register shall
+		 * always advance the Event Ring Dequeue Pointer value.
+		 */
+		if ((temp_64 & (u64) ~ERST_PTR_MASK) ==
+				((u64) deq & (u64) ~ERST_PTR_MASK))
+			return;
+
+		/* Update HC event ring dequeue pointer */
+		temp_64 &= ERST_PTR_MASK;
+		temp_64 |= ((u64) deq & (u64) ~ERST_PTR_MASK);
+	}
+
+	/* Clear the event handler busy flag (RW1C) */
+	temp_64 |= ERST_EHB;
+	xhci_write_64(xhci, temp_64, &xhci->ir_set->erst_dequeue);
+}
+
+/*
  * xHCI spec says we can get an interrupt, and if the HC has an error condition,
  * we might get bad data out of the event ring.  Section 4.10.2.7 has a list of
  * indicators of an event TRB error, but we check the status *first* to be safe.
@@ -2703,9 +2739,9 @@
 	union xhci_trb *event_ring_deq;
 	irqreturn_t ret = IRQ_NONE;
 	unsigned long flags;
-	dma_addr_t deq;
 	u64 temp_64;
 	u32 status;
+	int event_loop = 0;
 
 	spin_lock_irqsave(&xhci->lock, flags);
 	/* Check if the xHC generated the interrupt, or the irq is shared */
@@ -2759,24 +2795,14 @@
 	/* FIXME this should be a delayed service routine
 	 * that clears the EHB.
 	 */
-	while (xhci_handle_event(xhci) > 0) {}
-
-	temp_64 = xhci_read_64(xhci, &xhci->ir_set->erst_dequeue);
-	/* If necessary, update the HW's version of the event ring deq ptr. */
-	if (event_ring_deq != xhci->event_ring->dequeue) {
-		deq = xhci_trb_virt_to_dma(xhci->event_ring->deq_seg,
-				xhci->event_ring->dequeue);
-		if (deq == 0)
-			xhci_warn(xhci, "WARN something wrong with SW event "
-					"ring dequeue ptr.\n");
-		/* Update HC event ring dequeue pointer */
-		temp_64 &= ERST_PTR_MASK;
-		temp_64 |= ((u64) deq & (u64) ~ERST_PTR_MASK);
+	while (xhci_handle_event(xhci) > 0) {
+		if (event_loop++ < TRBS_PER_SEGMENT / 2)
+			continue;
+		xhci_update_erst_dequeue(xhci, event_ring_deq);
+		event_loop = 0;
 	}
 
-	/* Clear the event handler busy flag (RW1C); event ring is empty. */
-	temp_64 |= ERST_EHB;
-	xhci_write_64(xhci, temp_64, &xhci->ir_set->erst_dequeue);
+	xhci_update_erst_dequeue(xhci, event_ring_deq);
 	ret = IRQ_HANDLED;
 
 out:
diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
index 076fdd5..4aca59a 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -1704,11 +1704,21 @@
 	else
 		return 1;
 }
+
+struct xhci_port_cap {
+	u32			*psi;	/* array of protocol speed ID entries */
+	u8			psi_count;
+	u8			psi_uid_count;
+	u8			maj_rev;
+	u8			min_rev;
+};
+
 struct xhci_port {
 	__le32 __iomem		*addr;
 	int			hw_portnum;
 	int			hcd_portnum;
 	struct xhci_hub		*rhub;
+	struct xhci_port_cap	*port_cap;
 };
 
 struct xhci_hub {
@@ -1718,9 +1728,6 @@
 	/* supported prococol extended capabiliy values */
 	u8			maj_rev;
 	u8			min_rev;
-	u32			*psi;	/* array of protocol speed ID entries */
-	u8			psi_count;
-	u8			psi_uid_count;
 };
 
 /* There is one xhci_hcd structure per controller */
@@ -1891,6 +1898,9 @@
 	/* cached usb2 extened protocol capabilites */
 	u32                     *ext_caps;
 	unsigned int            num_ext_caps;
+	/* cached extended protocol port capabilities */
+	struct xhci_port_cap	*port_caps;
+	unsigned int		num_port_caps;
 	/* Compliance Mode Recovery Data */
 	struct timer_list	comp_mode_recovery_timer;
 	u32			port_status_u0;
diff --git a/drivers/usb/misc/iowarrior.c b/drivers/usb/misc/iowarrior.c
index 2d9d949..92875a2 100644
--- a/drivers/usb/misc/iowarrior.c
+++ b/drivers/usb/misc/iowarrior.c
@@ -33,6 +33,14 @@
 #define USB_DEVICE_ID_CODEMERCS_IOWPV2	0x1512
 /* full speed iowarrior */
 #define USB_DEVICE_ID_CODEMERCS_IOW56	0x1503
+/* fuller speed iowarrior */
+#define USB_DEVICE_ID_CODEMERCS_IOW28	0x1504
+#define USB_DEVICE_ID_CODEMERCS_IOW28L	0x1505
+#define USB_DEVICE_ID_CODEMERCS_IOW100	0x1506
+
+/* OEMed devices */
+#define USB_DEVICE_ID_CODEMERCS_IOW24SAG	0x158a
+#define USB_DEVICE_ID_CODEMERCS_IOW56AM		0x158b
 
 /* Get a minor range for your devices from the usb maintainer */
 #ifdef CONFIG_USB_DYNAMIC_MINORS
@@ -137,6 +145,11 @@
 	{USB_DEVICE(USB_VENDOR_ID_CODEMERCS, USB_DEVICE_ID_CODEMERCS_IOWPV1)},
 	{USB_DEVICE(USB_VENDOR_ID_CODEMERCS, USB_DEVICE_ID_CODEMERCS_IOWPV2)},
 	{USB_DEVICE(USB_VENDOR_ID_CODEMERCS, USB_DEVICE_ID_CODEMERCS_IOW56)},
+	{USB_DEVICE(USB_VENDOR_ID_CODEMERCS, USB_DEVICE_ID_CODEMERCS_IOW24SAG)},
+	{USB_DEVICE(USB_VENDOR_ID_CODEMERCS, USB_DEVICE_ID_CODEMERCS_IOW56AM)},
+	{USB_DEVICE(USB_VENDOR_ID_CODEMERCS, USB_DEVICE_ID_CODEMERCS_IOW28)},
+	{USB_DEVICE(USB_VENDOR_ID_CODEMERCS, USB_DEVICE_ID_CODEMERCS_IOW28L)},
+	{USB_DEVICE(USB_VENDOR_ID_CODEMERCS, USB_DEVICE_ID_CODEMERCS_IOW100)},
 	{}			/* Terminating entry */
 };
 MODULE_DEVICE_TABLE(usb, iowarrior_ids);
@@ -361,6 +374,7 @@
 	}
 	switch (dev->product_id) {
 	case USB_DEVICE_ID_CODEMERCS_IOW24:
+	case USB_DEVICE_ID_CODEMERCS_IOW24SAG:
 	case USB_DEVICE_ID_CODEMERCS_IOWPV1:
 	case USB_DEVICE_ID_CODEMERCS_IOWPV2:
 	case USB_DEVICE_ID_CODEMERCS_IOW40:
@@ -375,6 +389,10 @@
 		goto exit;
 		break;
 	case USB_DEVICE_ID_CODEMERCS_IOW56:
+	case USB_DEVICE_ID_CODEMERCS_IOW56AM:
+	case USB_DEVICE_ID_CODEMERCS_IOW28:
+	case USB_DEVICE_ID_CODEMERCS_IOW28L:
+	case USB_DEVICE_ID_CODEMERCS_IOW100:
 		/* The IOW56 uses asynchronous IO and more urbs */
 		if (atomic_read(&dev->write_busy) == MAX_WRITES_IN_FLIGHT) {
 			/* Wait until we are below the limit for submitted urbs */
@@ -499,6 +517,7 @@
 	switch (cmd) {
 	case IOW_WRITE:
 		if (dev->product_id == USB_DEVICE_ID_CODEMERCS_IOW24 ||
+		    dev->product_id == USB_DEVICE_ID_CODEMERCS_IOW24SAG ||
 		    dev->product_id == USB_DEVICE_ID_CODEMERCS_IOWPV1 ||
 		    dev->product_id == USB_DEVICE_ID_CODEMERCS_IOWPV2 ||
 		    dev->product_id == USB_DEVICE_ID_CODEMERCS_IOW40) {
@@ -782,7 +801,11 @@
 		goto error;
 	}
 
-	if (dev->product_id == USB_DEVICE_ID_CODEMERCS_IOW56) {
+	if ((dev->product_id == USB_DEVICE_ID_CODEMERCS_IOW56) ||
+	    (dev->product_id == USB_DEVICE_ID_CODEMERCS_IOW56AM) ||
+	    (dev->product_id == USB_DEVICE_ID_CODEMERCS_IOW28) ||
+	    (dev->product_id == USB_DEVICE_ID_CODEMERCS_IOW28L) ||
+	    (dev->product_id == USB_DEVICE_ID_CODEMERCS_IOW100)) {
 		res = usb_find_last_int_out_endpoint(iface_desc,
 				&dev->int_out_endpoint);
 		if (res) {
@@ -795,7 +818,11 @@
 	/* we have to check the report_size often, so remember it in the endianness suitable for our machine */
 	dev->report_size = usb_endpoint_maxp(dev->int_in_endpoint);
 	if ((dev->interface->cur_altsetting->desc.bInterfaceNumber == 0) &&
-	    (dev->product_id == USB_DEVICE_ID_CODEMERCS_IOW56))
+	    ((dev->product_id == USB_DEVICE_ID_CODEMERCS_IOW56) ||
+	     (dev->product_id == USB_DEVICE_ID_CODEMERCS_IOW56AM) ||
+	     (dev->product_id == USB_DEVICE_ID_CODEMERCS_IOW28) ||
+	     (dev->product_id == USB_DEVICE_ID_CODEMERCS_IOW28L) ||
+	     (dev->product_id == USB_DEVICE_ID_CODEMERCS_IOW100)))
 		/* IOWarrior56 has wMaxPacketSize different from report size */
 		dev->report_size = 7;
 
diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c
index b7d5627..b6b4f99 100644
--- a/drivers/usb/musb/musb_core.c
+++ b/drivers/usb/musb/musb_core.c
@@ -1842,6 +1842,9 @@
 #define MUSB_QUIRK_B_INVALID_VBUS_91	(MUSB_DEVCTL_BDEVICE | \
 					 (2 << MUSB_DEVCTL_VBUS_SHIFT) | \
 					 MUSB_DEVCTL_SESSION)
+#define MUSB_QUIRK_B_DISCONNECT_99	(MUSB_DEVCTL_BDEVICE | \
+					 (3 << MUSB_DEVCTL_VBUS_SHIFT) | \
+					 MUSB_DEVCTL_SESSION)
 #define MUSB_QUIRK_A_DISCONNECT_19	((3 << MUSB_DEVCTL_VBUS_SHIFT) | \
 					 MUSB_DEVCTL_SESSION)
 
@@ -1864,6 +1867,11 @@
 	s = MUSB_DEVCTL_FSDEV | MUSB_DEVCTL_LSDEV |
 		MUSB_DEVCTL_HR;
 	switch (devctl & ~s) {
+	case MUSB_QUIRK_B_DISCONNECT_99:
+		musb_dbg(musb, "Poll devctl in case of suspend after disconnect\n");
+		schedule_delayed_work(&musb->irq_work,
+				      msecs_to_jiffies(1000));
+		break;
 	case MUSB_QUIRK_B_INVALID_VBUS_91:
 		if (musb->quirk_retries && !musb->flush_irq_work) {
 			musb_dbg(musb,
@@ -2316,6 +2324,9 @@
 	musb_disable_interrupts(musb);
 	musb_writeb(musb->mregs, MUSB_DEVCTL, 0);
 
+	/* MUSB_POWER_SOFTCONN might be already set, JZ4740 does this. */
+	musb_writeb(musb->mregs, MUSB_POWER, 0);
+
 	/* Init IRQ workqueue before request_irq */
 	INIT_DELAYED_WORK(&musb->irq_work, musb_irq_work);
 	INIT_DELAYED_WORK(&musb->deassert_reset_work, musb_deassert_reset);
diff --git a/drivers/usb/musb/musbhsdma.c b/drivers/usb/musb/musbhsdma.c
index 5fc6825..2d3751d 100644
--- a/drivers/usb/musb/musbhsdma.c
+++ b/drivers/usb/musb/musbhsdma.c
@@ -425,7 +425,7 @@
 	controller->controller.channel_abort = dma_channel_abort;
 
 	if (request_irq(irq, dma_controller_irq, 0,
-			dev_name(musb->controller), &controller->controller)) {
+			dev_name(musb->controller), controller)) {
 		dev_err(dev, "request_irq %d failed!\n", irq);
 		musb_dma_controller_destroy(&controller->controller);
 
diff --git a/drivers/usb/musb/omap2430.c b/drivers/usb/musb/omap2430.c
index b1dd81f..24e622c 100644
--- a/drivers/usb/musb/omap2430.c
+++ b/drivers/usb/musb/omap2430.c
@@ -361,8 +361,6 @@
 	.init		= omap2430_musb_init,
 	.exit		= omap2430_musb_exit,
 
-	.set_vbus	= omap2430_musb_set_vbus,
-
 	.enable		= omap2430_musb_enable,
 	.disable	= omap2430_musb_disable,
 
diff --git a/drivers/usb/phy/Kconfig b/drivers/usb/phy/Kconfig
index f87c991..13d3300 100644
--- a/drivers/usb/phy/Kconfig
+++ b/drivers/usb/phy/Kconfig
@@ -20,7 +20,7 @@
 	  in host mode, low speed.
 
 config FSL_USB2_OTG
-	bool "Freescale USB OTG Transceiver Driver"
+	tristate "Freescale USB OTG Transceiver Driver"
 	depends on USB_EHCI_FSL && USB_FSL_USB2 && USB_OTG_FSM=y && PM
 	depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y'
 	select USB_PHY
diff --git a/drivers/usb/phy/phy-twl6030-usb.c b/drivers/usb/phy/phy-twl6030-usb.c
index 183550b..dade34d 100644
--- a/drivers/usb/phy/phy-twl6030-usb.c
+++ b/drivers/usb/phy/phy-twl6030-usb.c
@@ -400,7 +400,7 @@
 {
 	struct twl6030_usb *twl = platform_get_drvdata(pdev);
 
-	cancel_delayed_work(&twl->get_status_work);
+	cancel_delayed_work_sync(&twl->get_status_work);
 	twl6030_interrupt_mask(TWL6030_USBOTG_INT_MASK,
 		REG_INT_MSK_LINE_C);
 	twl6030_interrupt_mask(TWL6030_USBOTG_INT_MASK,
diff --git a/drivers/usb/serial/ch341.c b/drivers/usb/serial/ch341.c
index 3bb1fff..955ab97 100644
--- a/drivers/usb/serial/ch341.c
+++ b/drivers/usb/serial/ch341.c
@@ -589,9 +589,13 @@
 static int ch341_reset_resume(struct usb_serial *serial)
 {
 	struct usb_serial_port *port = serial->port[0];
-	struct ch341_private *priv = usb_get_serial_port_data(port);
+	struct ch341_private *priv;
 	int ret;
 
+	priv = usb_get_serial_port_data(port);
+	if (!priv)
+		return 0;
+
 	/* reconfigure ch341 serial port after bus-reset */
 	ch341_configure(serial->dev, priv);
 
diff --git a/drivers/usb/serial/io_edgeport.c b/drivers/usb/serial/io_edgeport.c
index 97eb738..5d101b0 100644
--- a/drivers/usb/serial/io_edgeport.c
+++ b/drivers/usb/serial/io_edgeport.c
@@ -716,7 +716,7 @@
 			if (txCredits) {
 				port = edge_serial->serial->port[portNumber];
 				edge_port = usb_get_serial_port_data(port);
-				if (edge_port->open) {
+				if (edge_port && edge_port->open) {
 					spin_lock_irqsave(&edge_port->ep_lock,
 							  flags);
 					edge_port->txCredits += txCredits;
@@ -1734,7 +1734,8 @@
 static void process_rcvd_data(struct edgeport_serial *edge_serial,
 				unsigned char *buffer, __u16 bufferLength)
 {
-	struct device *dev = &edge_serial->serial->dev->dev;
+	struct usb_serial *serial = edge_serial->serial;
+	struct device *dev = &serial->dev->dev;
 	struct usb_serial_port *port;
 	struct edgeport_port *edge_port;
 	__u16 lastBufferLength;
@@ -1839,11 +1840,10 @@
 
 			/* spit this data back into the tty driver if this
 			   port is open */
-			if (rxLen) {
-				port = edge_serial->serial->port[
-							edge_serial->rxPort];
+			if (rxLen && edge_serial->rxPort < serial->num_ports) {
+				port = serial->port[edge_serial->rxPort];
 				edge_port = usb_get_serial_port_data(port);
-				if (edge_port->open) {
+				if (edge_port && edge_port->open) {
 					dev_dbg(dev, "%s - Sending %d bytes to TTY for port %d\n",
 						__func__, rxLen,
 						edge_serial->rxPort);
@@ -1851,8 +1851,8 @@
 							rxLen);
 					edge_port->port->icount.rx += rxLen;
 				}
-				buffer += rxLen;
 			}
+			buffer += rxLen;
 			break;
 
 		case EXPECT_HDR3:	/* Expect 3rd byte of status header */
@@ -1887,6 +1887,8 @@
 	__u8 code = edge_serial->rxStatusCode;
 
 	/* switch the port pointer to the one being currently talked about */
+	if (edge_serial->rxPort >= edge_serial->serial->num_ports)
+		return;
 	port = edge_serial->serial->port[edge_serial->rxPort];
 	edge_port = usb_get_serial_port_data(port);
 	if (edge_port == NULL) {
diff --git a/drivers/usb/serial/ir-usb.c b/drivers/usb/serial/ir-usb.c
index 7643716..badd385 100644
--- a/drivers/usb/serial/ir-usb.c
+++ b/drivers/usb/serial/ir-usb.c
@@ -45,9 +45,10 @@
 static int xbof = -1;
 
 static int  ir_startup (struct usb_serial *serial);
-static int  ir_open(struct tty_struct *tty, struct usb_serial_port *port);
-static int ir_prepare_write_buffer(struct usb_serial_port *port,
-						void *dest, size_t size);
+static int ir_write(struct tty_struct *tty, struct usb_serial_port *port,
+		const unsigned char *buf, int count);
+static int ir_write_room(struct tty_struct *tty);
+static void ir_write_bulk_callback(struct urb *urb);
 static void ir_process_read_urb(struct urb *urb);
 static void ir_set_termios(struct tty_struct *tty,
 		struct usb_serial_port *port, struct ktermios *old_termios);
@@ -77,8 +78,9 @@
 	.num_ports		= 1,
 	.set_termios		= ir_set_termios,
 	.attach			= ir_startup,
-	.open			= ir_open,
-	.prepare_write_buffer	= ir_prepare_write_buffer,
+	.write			= ir_write,
+	.write_room		= ir_write_room,
+	.write_bulk_callback	= ir_write_bulk_callback,
 	.process_read_urb	= ir_process_read_urb,
 };
 
@@ -195,6 +197,9 @@
 	struct usb_irda_cs_descriptor *irda_desc;
 	int rates;
 
+	if (serial->num_bulk_in < 1 || serial->num_bulk_out < 1)
+		return -ENODEV;
+
 	irda_desc = irda_usb_find_class_desc(serial, 0);
 	if (!irda_desc) {
 		dev_err(&serial->dev->dev,
@@ -251,35 +256,102 @@
 	return 0;
 }
 
-static int ir_open(struct tty_struct *tty, struct usb_serial_port *port)
+static int ir_write(struct tty_struct *tty, struct usb_serial_port *port,
+		const unsigned char *buf, int count)
 {
-	int i;
+	struct urb *urb = NULL;
+	unsigned long flags;
+	int ret;
 
-	for (i = 0; i < ARRAY_SIZE(port->write_urbs); ++i)
-		port->write_urbs[i]->transfer_flags = URB_ZERO_PACKET;
+	if (port->bulk_out_size == 0)
+		return -EINVAL;
 
-	/* Start reading from the device */
-	return usb_serial_generic_open(tty, port);
-}
+	if (count == 0)
+		return 0;
 
-static int ir_prepare_write_buffer(struct usb_serial_port *port,
-						void *dest, size_t size)
-{
-	unsigned char *buf = dest;
-	int count;
+	count = min(count, port->bulk_out_size - 1);
+
+	spin_lock_irqsave(&port->lock, flags);
+	if (__test_and_clear_bit(0, &port->write_urbs_free)) {
+		urb = port->write_urbs[0];
+		port->tx_bytes += count;
+	}
+	spin_unlock_irqrestore(&port->lock, flags);
+
+	if (!urb)
+		return 0;
 
 	/*
 	 * The first byte of the packet we send to the device contains an
-	 * inbound header which indicates an additional number of BOFs and
+	 * outbound header which indicates an additional number of BOFs and
 	 * a baud rate change.
 	 *
 	 * See section 5.4.2.2 of the USB IrDA spec.
 	 */
-	*buf = ir_xbof | ir_baud;
+	*(u8 *)urb->transfer_buffer = ir_xbof | ir_baud;
 
-	count = kfifo_out_locked(&port->write_fifo, buf + 1, size - 1,
-								&port->lock);
-	return count + 1;
+	memcpy(urb->transfer_buffer + 1, buf, count);
+
+	urb->transfer_buffer_length = count + 1;
+	urb->transfer_flags = URB_ZERO_PACKET;
+
+	ret = usb_submit_urb(urb, GFP_ATOMIC);
+	if (ret) {
+		dev_err(&port->dev, "failed to submit write urb: %d\n", ret);
+
+		spin_lock_irqsave(&port->lock, flags);
+		__set_bit(0, &port->write_urbs_free);
+		port->tx_bytes -= count;
+		spin_unlock_irqrestore(&port->lock, flags);
+
+		return ret;
+	}
+
+	return count;
+}
+
+static void ir_write_bulk_callback(struct urb *urb)
+{
+	struct usb_serial_port *port = urb->context;
+	int status = urb->status;
+	unsigned long flags;
+
+	spin_lock_irqsave(&port->lock, flags);
+	__set_bit(0, &port->write_urbs_free);
+	port->tx_bytes -= urb->transfer_buffer_length - 1;
+	spin_unlock_irqrestore(&port->lock, flags);
+
+	switch (status) {
+	case 0:
+		break;
+	case -ENOENT:
+	case -ECONNRESET:
+	case -ESHUTDOWN:
+		dev_dbg(&port->dev, "write urb stopped: %d\n", status);
+		return;
+	case -EPIPE:
+		dev_err(&port->dev, "write urb stopped: %d\n", status);
+		return;
+	default:
+		dev_err(&port->dev, "nonzero write-urb status: %d\n", status);
+		break;
+	}
+
+	usb_serial_port_softint(port);
+}
+
+static int ir_write_room(struct tty_struct *tty)
+{
+	struct usb_serial_port *port = tty->driver_data;
+	int count = 0;
+
+	if (port->bulk_out_size == 0)
+		return 0;
+
+	if (test_bit(0, &port->write_urbs_free))
+		count = port->bulk_out_size - 1;
+
+	return count;
 }
 
 static void ir_process_read_urb(struct urb *urb)
@@ -332,34 +404,34 @@
 
 	switch (baud) {
 	case 2400:
-		ir_baud = USB_IRDA_BR_2400;
+		ir_baud = USB_IRDA_LS_2400;
 		break;
 	case 9600:
-		ir_baud = USB_IRDA_BR_9600;
+		ir_baud = USB_IRDA_LS_9600;
 		break;
 	case 19200:
-		ir_baud = USB_IRDA_BR_19200;
+		ir_baud = USB_IRDA_LS_19200;
 		break;
 	case 38400:
-		ir_baud = USB_IRDA_BR_38400;
+		ir_baud = USB_IRDA_LS_38400;
 		break;
 	case 57600:
-		ir_baud = USB_IRDA_BR_57600;
+		ir_baud = USB_IRDA_LS_57600;
 		break;
 	case 115200:
-		ir_baud = USB_IRDA_BR_115200;
+		ir_baud = USB_IRDA_LS_115200;
 		break;
 	case 576000:
-		ir_baud = USB_IRDA_BR_576000;
+		ir_baud = USB_IRDA_LS_576000;
 		break;
 	case 1152000:
-		ir_baud = USB_IRDA_BR_1152000;
+		ir_baud = USB_IRDA_LS_1152000;
 		break;
 	case 4000000:
-		ir_baud = USB_IRDA_BR_4000000;
+		ir_baud = USB_IRDA_LS_4000000;
 		break;
 	default:
-		ir_baud = USB_IRDA_BR_9600;
+		ir_baud = USB_IRDA_LS_9600;
 		baud = 9600;
 	}
 
diff --git a/drivers/usb/serial/keyspan.c b/drivers/usb/serial/keyspan.c
index e66a59e..aa3dbce 100644
--- a/drivers/usb/serial/keyspan.c
+++ b/drivers/usb/serial/keyspan.c
@@ -1058,6 +1058,8 @@
 	for (i = 0; i < serial->num_ports; ++i) {
 		port = serial->port[i];
 		p_priv = usb_get_serial_port_data(port);
+		if (!p_priv)
+			continue;
 
 		if (p_priv->resend_cont) {
 			dev_dbg(&port->dev, "%s - sending setup\n", __func__);
@@ -1459,6 +1461,8 @@
 	for (i = 0; i < serial->num_ports; ++i) {
 		port = serial->port[i];
 		p_priv = usb_get_serial_port_data(port);
+		if (!p_priv)
+			continue;
 
 		if (p_priv->resend_cont) {
 			dev_dbg(&port->dev, "%s - sending setup\n", __func__);
diff --git a/drivers/usb/serial/opticon.c b/drivers/usb/serial/opticon.c
index caa0746..5abe46d 100644
--- a/drivers/usb/serial/opticon.c
+++ b/drivers/usb/serial/opticon.c
@@ -113,7 +113,7 @@
 	retval = usb_control_msg(serial->dev, usb_sndctrlpipe(serial->dev, 0),
 				requesttype,
 				USB_DIR_OUT|USB_TYPE_VENDOR|USB_RECIP_INTERFACE,
-				0, 0, buffer, 1, 0);
+				0, 0, buffer, 1, USB_CTRL_SET_TIMEOUT);
 	kfree(buffer);
 
 	if (retval < 0)
diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
index 553adab..5b2e246 100644
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -248,6 +248,7 @@
 #define QUECTEL_PRODUCT_BG96			0x0296
 #define QUECTEL_PRODUCT_EP06			0x0306
 #define QUECTEL_PRODUCT_EM12			0x0512
+#define QUECTEL_PRODUCT_RM500Q			0x0800
 
 #define CMOTECH_VENDOR_ID			0x16d8
 #define CMOTECH_PRODUCT_6001			0x6001
@@ -567,6 +568,9 @@
 /* Interface must have two endpoints */
 #define NUMEP2		BIT(16)
 
+/* Device needs ZLP */
+#define ZLP		BIT(17)
+
 
 static const struct usb_device_id option_ids[] = {
 	{ USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) },
@@ -1101,6 +1105,11 @@
 	{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM12, 0xff, 0xff, 0xff),
 	  .driver_info = RSVD(1) | RSVD(2) | RSVD(3) | RSVD(4) | NUMEP2 },
 	{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM12, 0xff, 0, 0) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM500Q, 0xff, 0xff, 0x30) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM500Q, 0xff, 0, 0) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM500Q, 0xff, 0xff, 0x10),
+	  .driver_info = ZLP },
+
 	{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_6001) },
 	{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CMU_300) },
 	{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_6003),
@@ -1198,6 +1207,8 @@
 	  .driver_info = NCTRL(0) | RSVD(1) },
 	{ USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1901, 0xff),	/* Telit LN940 (MBIM) */
 	  .driver_info = NCTRL(0) },
+	{ USB_DEVICE(TELIT_VENDOR_ID, 0x9010),				/* Telit SBL FN980 flashing device */
+	  .driver_info = NCTRL(0) | ZLP },
 	{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_MF622, 0xff, 0xff, 0xff) }, /* ZTE WCDMA products */
 	{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0002, 0xff, 0xff, 0xff),
 	  .driver_info = RSVD(1) },
@@ -2098,6 +2109,9 @@
 	if (!(device_flags & NCTRL(iface_desc->bInterfaceNumber)))
 		data->use_send_setup = 1;
 
+	if (device_flags & ZLP)
+		data->use_zlp = 1;
+
 	spin_lock_init(&data->susp_lock);
 
 	usb_set_serial_data(serial, data);
diff --git a/drivers/usb/serial/quatech2.c b/drivers/usb/serial/quatech2.c
index b61c2a9..9ae57a9 100644
--- a/drivers/usb/serial/quatech2.c
+++ b/drivers/usb/serial/quatech2.c
@@ -864,7 +864,10 @@
 	u8 newMSR = (u8) *ch;
 	unsigned long flags;
 
+	/* May be called from qt2_process_read_urb() for an unbound port. */
 	port_priv = usb_get_serial_port_data(port);
+	if (!port_priv)
+		return;
 
 	spin_lock_irqsave(&port_priv->lock, flags);
 	port_priv->shadowMSR = newMSR;
@@ -892,7 +895,10 @@
 	unsigned long flags;
 	u8 newLSR = (u8) *ch;
 
+	/* May be called from qt2_process_read_urb() for an unbound port. */
 	port_priv = usb_get_serial_port_data(port);
+	if (!port_priv)
+		return;
 
 	if (newLSR & UART_LSR_BI)
 		newLSR &= (u8) (UART_LSR_OE | UART_LSR_BI);
diff --git a/drivers/usb/serial/usb-serial-simple.c b/drivers/usb/serial/usb-serial-simple.c
index edbbb13..bd23a7c 100644
--- a/drivers/usb/serial/usb-serial-simple.c
+++ b/drivers/usb/serial/usb-serial-simple.c
@@ -86,6 +86,8 @@
 #define MOTOROLA_TETRA_IDS()			\
 	{ USB_DEVICE(0x0cad, 0x9011) },	/* Motorola Solutions TETRA PEI */ \
 	{ USB_DEVICE(0x0cad, 0x9012) },	/* MTP6550 */ \
+	{ USB_DEVICE(0x0cad, 0x9013) },	/* MTP3xxx */ \
+	{ USB_DEVICE(0x0cad, 0x9015) },	/* MTP85xx */ \
 	{ USB_DEVICE(0x0cad, 0x9016) }	/* TPG2200 */
 DEVICE(motorola_tetra, MOTOROLA_TETRA_IDS);
 
diff --git a/drivers/usb/serial/usb-serial.c b/drivers/usb/serial/usb-serial.c
index 4341537..b1f0aa1 100644
--- a/drivers/usb/serial/usb-serial.c
+++ b/drivers/usb/serial/usb-serial.c
@@ -1294,6 +1294,9 @@
 		return -EINVAL;
 	}
 
+	/* Prevent individual ports from being unbound. */
+	driver->driver.suppress_bind_attrs = true;
+
 	usb_serial_operations_init(driver);
 
 	/* Add this device to our list of devices */
diff --git a/drivers/usb/serial/usb-wwan.h b/drivers/usb/serial/usb-wwan.h
index d28dab4..9879773 100644
--- a/drivers/usb/serial/usb-wwan.h
+++ b/drivers/usb/serial/usb-wwan.h
@@ -36,6 +36,7 @@
 	spinlock_t susp_lock;
 	unsigned int suspended:1;
 	unsigned int use_send_setup:1;
+	unsigned int use_zlp:1;
 	int in_flight;
 	unsigned int open_ports;
 	void *private;
diff --git a/drivers/usb/serial/usb_wwan.c b/drivers/usb/serial/usb_wwan.c
index 912472f..35406cb 100644
--- a/drivers/usb/serial/usb_wwan.c
+++ b/drivers/usb/serial/usb_wwan.c
@@ -490,6 +490,7 @@
 				      void (*callback) (struct urb *))
 {
 	struct usb_serial *serial = port->serial;
+	struct usb_wwan_intf_private *intfdata = usb_get_serial_data(serial);
 	struct urb *urb;
 
 	urb = usb_alloc_urb(0, GFP_KERNEL);	/* No ISO */
@@ -500,6 +501,9 @@
 			  usb_sndbulkpipe(serial->dev, endpoint) | dir,
 			  buf, len, callback, ctx);
 
+	if (intfdata->use_zlp && dir == USB_DIR_OUT)
+		urb->transfer_flags |= URB_ZERO_PACKET;
+
 	return urb;
 }
 
diff --git a/drivers/usb/storage/uas.c b/drivers/usb/storage/uas.c
index 1c6eb3a..62ca8e2 100644
--- a/drivers/usb/storage/uas.c
+++ b/drivers/usb/storage/uas.c
@@ -45,6 +45,7 @@
 	struct scsi_cmnd *cmnd[MAX_CMNDS];
 	spinlock_t lock;
 	struct work_struct work;
+	struct work_struct scan_work;      /* for async scanning */
 };
 
 enum {
@@ -114,6 +115,17 @@
 	spin_unlock_irqrestore(&devinfo->lock, flags);
 }
 
+static void uas_scan_work(struct work_struct *work)
+{
+	struct uas_dev_info *devinfo =
+		container_of(work, struct uas_dev_info, scan_work);
+	struct Scsi_Host *shost = usb_get_intfdata(devinfo->intf);
+
+	dev_dbg(&devinfo->intf->dev, "starting scan\n");
+	scsi_scan_host(shost);
+	dev_dbg(&devinfo->intf->dev, "scan complete\n");
+}
+
 static void uas_add_work(struct uas_cmd_info *cmdinfo)
 {
 	struct scsi_pointer *scp = (void *)cmdinfo;
@@ -989,6 +1001,7 @@
 	init_usb_anchor(&devinfo->data_urbs);
 	spin_lock_init(&devinfo->lock);
 	INIT_WORK(&devinfo->work, uas_do_work);
+	INIT_WORK(&devinfo->scan_work, uas_scan_work);
 
 	result = uas_configure_endpoints(devinfo);
 	if (result)
@@ -1005,7 +1018,9 @@
 	if (result)
 		goto free_streams;
 
-	scsi_scan_host(shost);
+	/* Submit the delayed_work for SCSI-device scanning */
+	schedule_work(&devinfo->scan_work);
+
 	return result;
 
 free_streams:
@@ -1173,6 +1188,12 @@
 	usb_kill_anchored_urbs(&devinfo->data_urbs);
 	uas_zap_pending(devinfo, DID_NO_CONNECT);
 
+	/*
+	 * Prevent SCSI scanning (if it hasn't started yet)
+	 * or wait for the SCSI-scanning routine to stop.
+	 */
+	cancel_work_sync(&devinfo->scan_work);
+
 	scsi_remove_host(shost);
 	uas_free_streams(devinfo);
 	scsi_host_put(shost);
diff --git a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h
index 1cd9b63..1880f3e 100644
--- a/drivers/usb/storage/unusual_devs.h
+++ b/drivers/usb/storage/unusual_devs.h
@@ -1258,6 +1258,12 @@
 		USB_SC_RBC, USB_PR_BULK, NULL,
 		0 ),
 
+UNUSUAL_DEV(0x090c, 0x1000, 0x1100, 0x1100,
+		"Samsung",
+		"Flash Drive FIT",
+		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
+		US_FL_MAX_SECTORS_64),
+
 /* aeb */
 UNUSUAL_DEV( 0x090c, 0x1132, 0x0000, 0xffff,
 		"Feiya",
diff --git a/drivers/usb/storage/unusual_uas.h b/drivers/usb/storage/unusual_uas.h
index d0bdebd..1b23741 100644
--- a/drivers/usb/storage/unusual_uas.h
+++ b/drivers/usb/storage/unusual_uas.h
@@ -87,12 +87,15 @@
 		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
 		US_FL_IGNORE_UAS),
 
-/* Reported-by: Takeo Nakayama <javhera@gmx.com> */
+/*
+ * Initially Reported-by: Takeo Nakayama <javhera@gmx.com>
+ * UAS Ignore Reported by Steven Ellis <sellis@redhat.com>
+ */
 UNUSUAL_DEV(0x357d, 0x7788, 0x0000, 0x9999,
 		"JMicron",
 		"JMS566",
 		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
-		US_FL_NO_REPORT_OPCODES),
+		US_FL_NO_REPORT_OPCODES | US_FL_IGNORE_UAS),
 
 /* Reported-by: Hans de Goede <hdegoede@redhat.com> */
 UNUSUAL_DEV(0x4971, 0x1012, 0x0000, 0x9999,
diff --git a/drivers/usb/typec/Kconfig b/drivers/usb/typec/Kconfig
index 00878c3..8445890 100644
--- a/drivers/usb/typec/Kconfig
+++ b/drivers/usb/typec/Kconfig
@@ -95,6 +95,7 @@
 config TYPEC_TPS6598X
 	tristate "TI TPS6598x USB Power Delivery controller driver"
 	depends on I2C
+	select REGMAP_I2C
 	help
 	  Say Y or M here if your system has TI TPS65982 or TPS65983 USB Power
 	  Delivery controller.
diff --git a/drivers/usb/typec/bus.c b/drivers/usb/typec/bus.c
index 76299b6..74cb3c2 100644
--- a/drivers/usb/typec/bus.c
+++ b/drivers/usb/typec/bus.c
@@ -192,7 +192,7 @@
 const struct typec_altmode *
 typec_altmode_get_partner(struct typec_altmode *adev)
 {
-	return &to_altmode(adev)->partner->adev;
+	return adev ? &to_altmode(adev)->partner->adev : NULL;
 }
 EXPORT_SYMBOL_GPL(typec_altmode_get_partner);
 
diff --git a/drivers/usb/typec/bus.h b/drivers/usb/typec/bus.h
index db40e61..0c9661c 100644
--- a/drivers/usb/typec/bus.h
+++ b/drivers/usb/typec/bus.h
@@ -35,4 +35,19 @@
 #define is_typec_altmode(_dev_) (_dev_->type == &typec_altmode_dev_type)
 #define is_typec_port(_dev_) (_dev_->type == &typec_port_dev_type)
 
+extern struct class typec_mux_class;
+
+struct typec_switch {
+	struct device dev;
+	typec_switch_set_fn_t set;
+};
+
+struct typec_mux {
+	struct device dev;
+	typec_mux_set_fn_t set;
+};
+
+#define to_typec_switch(_dev_) container_of(_dev_, struct typec_switch, dev)
+#define to_typec_mux(_dev_) container_of(_dev_, struct typec_mux, dev)
+
 #endif /* __USB_TYPEC_ALTMODE_H__ */
diff --git a/drivers/usb/typec/class.c b/drivers/usb/typec/class.c
index 1916ee1..6fc8d44 100644
--- a/drivers/usb/typec/class.c
+++ b/drivers/usb/typec/class.c
@@ -9,6 +9,7 @@
 #include <linux/device.h>
 #include <linux/module.h>
 #include <linux/mutex.h>
+#include <linux/property.h>
 #include <linux/slab.h>
 
 #include "bus.h"
@@ -204,15 +205,32 @@
 	put_device(&adev->dev);
 }
 
-static int __typec_port_match(struct device *dev, const void *name)
+static int typec_port_fwnode_match(struct device *dev, const void *fwnode)
+{
+	return dev_fwnode(dev) == fwnode;
+}
+
+static int typec_port_name_match(struct device *dev, const void *name)
 {
 	return !strcmp((const char *)name, dev_name(dev));
 }
 
 static void *typec_port_match(struct device_connection *con, int ep, void *data)
 {
-	return class_find_device(typec_class, NULL, con->endpoint[ep],
-				 __typec_port_match);
+	struct device *dev;
+
+	/*
+	 * FIXME: Check does the fwnode supports the requested SVID. If it does
+	 * we need to return ERR_PTR(-PROBE_DEFER) when there is no device.
+	 */
+	if (con->fwnode)
+		return class_find_device(typec_class, NULL, con->fwnode,
+					 typec_port_fwnode_match);
+
+	dev = class_find_device(typec_class, NULL, con->endpoint[ep],
+				typec_port_name_match);
+
+	return dev ? dev : ERR_PTR(-EPROBE_DEFER);
 }
 
 struct typec_altmode *
@@ -277,7 +295,7 @@
 	if (adev->active == active)
 		return;
 
-	if (!is_typec_port(adev->dev.parent)) {
+	if (!is_typec_port(adev->dev.parent) && adev->dev.driver) {
 		if (!active)
 			module_put(adev->dev.driver->owner);
 		else
@@ -1496,11 +1514,8 @@
 {
 	struct typec_altmode *adev;
 	struct typec_mux *mux;
-	char id[10];
 
-	sprintf(id, "id%04xm%02x", desc->svid, desc->mode);
-
-	mux = typec_mux_get(&port->dev, id);
+	mux = typec_mux_get(&port->dev, desc);
 	if (IS_ERR(mux))
 		return ERR_CAST(mux);
 
@@ -1594,7 +1609,7 @@
 		return ERR_PTR(ret);
 	}
 
-	port->mux = typec_mux_get(&port->dev, "typec-mux");
+	port->mux = typec_mux_get(&port->dev, NULL);
 	if (IS_ERR(port->mux)) {
 		ret = PTR_ERR(port->mux);
 		put_device(&port->dev);
@@ -1633,13 +1648,25 @@
 	if (ret)
 		return ret;
 
+	ret = class_register(&typec_mux_class);
+	if (ret)
+		goto err_unregister_bus;
+
 	typec_class = class_create(THIS_MODULE, "typec");
 	if (IS_ERR(typec_class)) {
-		bus_unregister(&typec_bus);
-		return PTR_ERR(typec_class);
+		ret = PTR_ERR(typec_class);
+		goto err_unregister_mux_class;
 	}
 
 	return 0;
+
+err_unregister_mux_class:
+	class_unregister(&typec_mux_class);
+
+err_unregister_bus:
+	bus_unregister(&typec_bus);
+
+	return ret;
 }
 subsys_initcall(typec_init);
 
@@ -1648,6 +1675,7 @@
 	class_destroy(typec_class);
 	ida_destroy(&typec_index_ida);
 	bus_unregister(&typec_bus);
+	class_unregister(&typec_mux_class);
 }
 module_exit(typec_exit);
 
diff --git a/drivers/usb/typec/fusb302/fusb302.c b/drivers/usb/typec/fusb302/fusb302.c
index 62a0060..c749ce4 100644
--- a/drivers/usb/typec/fusb302/fusb302.c
+++ b/drivers/usb/typec/fusb302/fusb302.c
@@ -990,13 +990,17 @@
 	return ret;
 }
 
-static int tcpm_start_drp_toggling(struct tcpc_dev *dev,
-				   enum typec_cc_status cc)
+static int tcpm_start_toggling(struct tcpc_dev *dev,
+			       enum typec_port_type port_type,
+			       enum typec_cc_status cc)
 {
 	struct fusb302_chip *chip = container_of(dev, struct fusb302_chip,
 						 tcpc_dev);
 	int ret = 0;
 
+	if (port_type != TYPEC_PORT_DRP)
+		return -EOPNOTSUPP;
+
 	mutex_lock(&chip->lock);
 	ret = fusb302_set_src_current(chip, cc_src_current[cc]);
 	if (ret < 0) {
@@ -1206,7 +1210,7 @@
 	fusb302_tcpc_dev->set_vbus = tcpm_set_vbus;
 	fusb302_tcpc_dev->set_pd_rx = tcpm_set_pd_rx;
 	fusb302_tcpc_dev->set_roles = tcpm_set_roles;
-	fusb302_tcpc_dev->start_drp_toggling = tcpm_start_drp_toggling;
+	fusb302_tcpc_dev->start_toggling = tcpm_start_toggling;
 	fusb302_tcpc_dev->pd_transmit = tcpm_pd_transmit;
 }
 
diff --git a/drivers/usb/typec/mux.c b/drivers/usb/typec/mux.c
index d990aa5..57907f2 100644
--- a/drivers/usb/typec/mux.c
+++ b/drivers/usb/typec/mux.c
@@ -11,27 +11,51 @@
 #include <linux/list.h>
 #include <linux/module.h>
 #include <linux/mutex.h>
+#include <linux/property.h>
+#include <linux/slab.h>
 #include <linux/usb/typec_mux.h>
 
-static DEFINE_MUTEX(switch_lock);
-static DEFINE_MUTEX(mux_lock);
-static LIST_HEAD(switch_list);
-static LIST_HEAD(mux_list);
+#include "bus.h"
+
+static int name_match(struct device *dev, const void *name)
+{
+	return !strcmp((const char *)name, dev_name(dev));
+}
+
+static bool dev_name_ends_with(struct device *dev, const char *suffix)
+{
+	const char *name = dev_name(dev);
+	const int name_len = strlen(name);
+	const int suffix_len = strlen(suffix);
+
+	if (suffix_len > name_len)
+		return false;
+
+	return strcmp(name + (name_len - suffix_len), suffix) == 0;
+}
+
+static int switch_fwnode_match(struct device *dev, const void *fwnode)
+{
+	return dev_fwnode(dev) == fwnode && dev_name_ends_with(dev, "-switch");
+}
 
 static void *typec_switch_match(struct device_connection *con, int ep,
 				void *data)
 {
-	struct typec_switch *sw;
+	struct device *dev;
 
-	list_for_each_entry(sw, &switch_list, entry)
-		if (!strcmp(con->endpoint[ep], dev_name(sw->dev)))
-			return sw;
+	if (con->fwnode) {
+		if (con->id && !fwnode_property_present(con->fwnode, con->id))
+			return NULL;
 
-	/*
-	 * We only get called if a connection was found, tell the caller to
-	 * wait for the switch to show up.
-	 */
-	return ERR_PTR(-EPROBE_DEFER);
+		dev = class_find_device(&typec_mux_class, NULL, con->fwnode,
+					switch_fwnode_match);
+	} else {
+		dev = class_find_device(&typec_mux_class, NULL,
+					con->endpoint[ep], name_match);
+	}
+
+	return dev ? to_typec_switch(dev) : ERR_PTR(-EPROBE_DEFER);
 }
 
 /**
@@ -47,14 +71,10 @@
 {
 	struct typec_switch *sw;
 
-	mutex_lock(&switch_lock);
-	sw = device_connection_find_match(dev, "typec-switch", NULL,
+	sw = device_connection_find_match(dev, "orientation-switch", NULL,
 					  typec_switch_match);
-	if (!IS_ERR_OR_NULL(sw)) {
-		WARN_ON(!try_module_get(sw->dev->driver->owner));
-		get_device(sw->dev);
-	}
-	mutex_unlock(&switch_lock);
+	if (!IS_ERR_OR_NULL(sw))
+		WARN_ON(!try_module_get(sw->dev.parent->driver->owner));
 
 	return sw;
 }
@@ -69,28 +89,64 @@
 void typec_switch_put(struct typec_switch *sw)
 {
 	if (!IS_ERR_OR_NULL(sw)) {
-		module_put(sw->dev->driver->owner);
-		put_device(sw->dev);
+		module_put(sw->dev.parent->driver->owner);
+		put_device(&sw->dev);
 	}
 }
 EXPORT_SYMBOL_GPL(typec_switch_put);
 
+static void typec_switch_release(struct device *dev)
+{
+	kfree(to_typec_switch(dev));
+}
+
+static const struct device_type typec_switch_dev_type = {
+	.name = "orientation_switch",
+	.release = typec_switch_release,
+};
+
 /**
  * typec_switch_register - Register USB Type-C orientation switch
- * @sw: USB Type-C orientation switch
+ * @parent: Parent device
+ * @desc: Orientation switch description
  *
  * This function registers a switch that can be used for routing the correct
  * data pairs depending on the cable plug orientation from the USB Type-C
  * connector to the USB controllers. USB Type-C plugs can be inserted
  * right-side-up or upside-down.
  */
-int typec_switch_register(struct typec_switch *sw)
+struct typec_switch *
+typec_switch_register(struct device *parent,
+		      const struct typec_switch_desc *desc)
 {
-	mutex_lock(&switch_lock);
-	list_add_tail(&sw->entry, &switch_list);
-	mutex_unlock(&switch_lock);
+	struct typec_switch *sw;
+	int ret;
 
-	return 0;
+	if (!desc || !desc->set)
+		return ERR_PTR(-EINVAL);
+
+	sw = kzalloc(sizeof(*sw), GFP_KERNEL);
+	if (!sw)
+		return ERR_PTR(-ENOMEM);
+
+	sw->set = desc->set;
+
+	device_initialize(&sw->dev);
+	sw->dev.parent = parent;
+	sw->dev.fwnode = desc->fwnode;
+	sw->dev.class = &typec_mux_class;
+	sw->dev.type = &typec_switch_dev_type;
+	sw->dev.driver_data = desc->drvdata;
+	dev_set_name(&sw->dev, "%s-switch", dev_name(parent));
+
+	ret = device_add(&sw->dev);
+	if (ret) {
+		dev_err(parent, "failed to register switch (%d)\n", ret);
+		put_device(&sw->dev);
+		return ERR_PTR(ret);
+	}
+
+	return sw;
 }
 EXPORT_SYMBOL_GPL(typec_switch_register);
 
@@ -102,50 +158,113 @@
  */
 void typec_switch_unregister(struct typec_switch *sw)
 {
-	mutex_lock(&switch_lock);
-	list_del(&sw->entry);
-	mutex_unlock(&switch_lock);
+	if (!IS_ERR_OR_NULL(sw))
+		device_unregister(&sw->dev);
 }
 EXPORT_SYMBOL_GPL(typec_switch_unregister);
 
+void typec_switch_set_drvdata(struct typec_switch *sw, void *data)
+{
+	dev_set_drvdata(&sw->dev, data);
+}
+EXPORT_SYMBOL_GPL(typec_switch_set_drvdata);
+
+void *typec_switch_get_drvdata(struct typec_switch *sw)
+{
+	return dev_get_drvdata(&sw->dev);
+}
+EXPORT_SYMBOL_GPL(typec_switch_get_drvdata);
+
 /* ------------------------------------------------------------------------- */
 
+static int mux_fwnode_match(struct device *dev, const void *fwnode)
+{
+	return dev_fwnode(dev) == fwnode && dev_name_ends_with(dev, "-mux");
+}
+
 static void *typec_mux_match(struct device_connection *con, int ep, void *data)
 {
-	struct typec_mux *mux;
+	const struct typec_altmode_desc *desc = data;
+	struct device *dev;
+	bool match;
+	int nval;
+	u16 *val;
+	int i;
 
-	list_for_each_entry(mux, &mux_list, entry)
-		if (!strcmp(con->endpoint[ep], dev_name(mux->dev)))
-			return mux;
+	if (!con->fwnode) {
+		dev = class_find_device(&typec_mux_class, NULL,
+					con->endpoint[ep], name_match);
+
+		return dev ? to_typec_switch(dev) : ERR_PTR(-EPROBE_DEFER);
+	}
 
 	/*
-	 * We only get called if a connection was found, tell the caller to
-	 * wait for the switch to show up.
+	 * Check has the identifier already been "consumed". If it
+	 * has, no need to do any extra connection identification.
 	 */
-	return ERR_PTR(-EPROBE_DEFER);
+	match = !con->id;
+	if (match)
+		goto find_mux;
+
+	/* Accessory Mode muxes */
+	if (!desc) {
+		match = fwnode_property_present(con->fwnode, "accessory");
+		if (match)
+			goto find_mux;
+		return NULL;
+	}
+
+	/* Alternate Mode muxes */
+	nval = fwnode_property_count_u16(con->fwnode, "svid");
+	if (nval <= 0)
+		return NULL;
+
+	val = kcalloc(nval, sizeof(*val), GFP_KERNEL);
+	if (!val)
+		return ERR_PTR(-ENOMEM);
+
+	nval = fwnode_property_read_u16_array(con->fwnode, "svid", val, nval);
+	if (nval < 0) {
+		kfree(val);
+		return ERR_PTR(nval);
+	}
+
+	for (i = 0; i < nval; i++) {
+		match = val[i] == desc->svid;
+		if (match) {
+			kfree(val);
+			goto find_mux;
+		}
+	}
+	kfree(val);
+	return NULL;
+
+find_mux:
+	dev = class_find_device(&typec_mux_class, NULL, con->fwnode,
+				mux_fwnode_match);
+
+	return dev ? to_typec_switch(dev) : ERR_PTR(-EPROBE_DEFER);
 }
 
 /**
  * typec_mux_get - Find USB Type-C Multiplexer
  * @dev: The caller device
- * @name: Mux identifier
+ * @desc: Alt Mode description
  *
  * Finds a mux linked to the caller. This function is primarily meant for the
  * Type-C drivers. Returns a reference to the mux on success, NULL if no
  * matching connection was found, or ERR_PTR(-EPROBE_DEFER) when a connection
  * was found but the mux has not been enumerated yet.
  */
-struct typec_mux *typec_mux_get(struct device *dev, const char *name)
+struct typec_mux *typec_mux_get(struct device *dev,
+				const struct typec_altmode_desc *desc)
 {
 	struct typec_mux *mux;
 
-	mutex_lock(&mux_lock);
-	mux = device_connection_find_match(dev, name, NULL, typec_mux_match);
-	if (!IS_ERR_OR_NULL(mux)) {
-		WARN_ON(!try_module_get(mux->dev->driver->owner));
-		get_device(mux->dev);
-	}
-	mutex_unlock(&mux_lock);
+	mux = device_connection_find_match(dev, "mode-switch", (void *)desc,
+					   typec_mux_match);
+	if (!IS_ERR_OR_NULL(mux))
+		WARN_ON(!try_module_get(mux->dev.parent->driver->owner));
 
 	return mux;
 }
@@ -160,28 +279,63 @@
 void typec_mux_put(struct typec_mux *mux)
 {
 	if (!IS_ERR_OR_NULL(mux)) {
-		module_put(mux->dev->driver->owner);
-		put_device(mux->dev);
+		module_put(mux->dev.parent->driver->owner);
+		put_device(&mux->dev);
 	}
 }
 EXPORT_SYMBOL_GPL(typec_mux_put);
 
+static void typec_mux_release(struct device *dev)
+{
+	kfree(to_typec_mux(dev));
+}
+
+static const struct device_type typec_mux_dev_type = {
+	.name = "mode_switch",
+	.release = typec_mux_release,
+};
+
 /**
  * typec_mux_register - Register Multiplexer routing USB Type-C pins
- * @mux: USB Type-C Connector Multiplexer/DeMultiplexer
+ * @parent: Parent device
+ * @desc: Multiplexer description
  *
  * USB Type-C connectors can be used for alternate modes of operation besides
  * USB when Accessory/Alternate Modes are supported. With some of those modes,
  * the pins on the connector need to be reconfigured. This function registers
  * multiplexer switches routing the pins on the connector.
  */
-int typec_mux_register(struct typec_mux *mux)
+struct typec_mux *
+typec_mux_register(struct device *parent, const struct typec_mux_desc *desc)
 {
-	mutex_lock(&mux_lock);
-	list_add_tail(&mux->entry, &mux_list);
-	mutex_unlock(&mux_lock);
+	struct typec_mux *mux;
+	int ret;
 
-	return 0;
+	if (!desc || !desc->set)
+		return ERR_PTR(-EINVAL);
+
+	mux = kzalloc(sizeof(*mux), GFP_KERNEL);
+	if (!mux)
+		return ERR_PTR(-ENOMEM);
+
+	mux->set = desc->set;
+
+	device_initialize(&mux->dev);
+	mux->dev.parent = parent;
+	mux->dev.fwnode = desc->fwnode;
+	mux->dev.class = &typec_mux_class;
+	mux->dev.type = &typec_mux_dev_type;
+	mux->dev.driver_data = desc->drvdata;
+	dev_set_name(&mux->dev, "%s-mux", dev_name(parent));
+
+	ret = device_add(&mux->dev);
+	if (ret) {
+		dev_err(parent, "failed to register mux (%d)\n", ret);
+		put_device(&mux->dev);
+		return ERR_PTR(ret);
+	}
+
+	return mux;
 }
 EXPORT_SYMBOL_GPL(typec_mux_register);
 
@@ -193,8 +347,24 @@
  */
 void typec_mux_unregister(struct typec_mux *mux)
 {
-	mutex_lock(&mux_lock);
-	list_del(&mux->entry);
-	mutex_unlock(&mux_lock);
+	if (!IS_ERR_OR_NULL(mux))
+		device_unregister(&mux->dev);
 }
 EXPORT_SYMBOL_GPL(typec_mux_unregister);
+
+void typec_mux_set_drvdata(struct typec_mux *mux, void *data)
+{
+	dev_set_drvdata(&mux->dev, data);
+}
+EXPORT_SYMBOL_GPL(typec_mux_set_drvdata);
+
+void *typec_mux_get_drvdata(struct typec_mux *mux)
+{
+	return dev_get_drvdata(&mux->dev);
+}
+EXPORT_SYMBOL_GPL(typec_mux_get_drvdata);
+
+struct class typec_mux_class = {
+	.name = "typec_mux",
+	.owner = THIS_MODULE,
+};
diff --git a/drivers/usb/typec/mux/pi3usb30532.c b/drivers/usb/typec/mux/pi3usb30532.c
index 64eb598..5319611 100644
--- a/drivers/usb/typec/mux/pi3usb30532.c
+++ b/drivers/usb/typec/mux/pi3usb30532.c
@@ -23,8 +23,8 @@
 struct pi3usb30532 {
 	struct i2c_client *client;
 	struct mutex lock; /* protects the cached conf register */
-	struct typec_switch sw;
-	struct typec_mux mux;
+	struct typec_switch *sw;
+	struct typec_mux *mux;
 	u8 conf;
 };
 
@@ -48,7 +48,7 @@
 static int pi3usb30532_sw_set(struct typec_switch *sw,
 			      enum typec_orientation orientation)
 {
-	struct pi3usb30532 *pi = container_of(sw, struct pi3usb30532, sw);
+	struct pi3usb30532 *pi = typec_switch_get_drvdata(sw);
 	u8 new_conf;
 	int ret;
 
@@ -75,7 +75,7 @@
 
 static int pi3usb30532_mux_set(struct typec_mux *mux, int state)
 {
-	struct pi3usb30532 *pi = container_of(mux, struct pi3usb30532, mux);
+	struct pi3usb30532 *pi = typec_mux_get_drvdata(mux);
 	u8 new_conf;
 	int ret;
 
@@ -112,6 +112,8 @@
 static int pi3usb30532_probe(struct i2c_client *client)
 {
 	struct device *dev = &client->dev;
+	struct typec_switch_desc sw_desc;
+	struct typec_mux_desc mux_desc;
 	struct pi3usb30532 *pi;
 	int ret;
 
@@ -120,10 +122,6 @@
 		return -ENOMEM;
 
 	pi->client = client;
-	pi->sw.dev = dev;
-	pi->sw.set = pi3usb30532_sw_set;
-	pi->mux.dev = dev;
-	pi->mux.set = pi3usb30532_mux_set;
 	mutex_init(&pi->lock);
 
 	ret = i2c_smbus_read_byte_data(client, PI3USB30532_CONF);
@@ -133,17 +131,27 @@
 	}
 	pi->conf = ret;
 
-	ret = typec_switch_register(&pi->sw);
-	if (ret) {
-		dev_err(dev, "Error registering typec switch: %d\n", ret);
-		return ret;
+	sw_desc.drvdata = pi;
+	sw_desc.fwnode = dev->fwnode;
+	sw_desc.set = pi3usb30532_sw_set;
+
+	pi->sw = typec_switch_register(dev, &sw_desc);
+	if (IS_ERR(pi->sw)) {
+		dev_err(dev, "Error registering typec switch: %ld\n",
+			PTR_ERR(pi->sw));
+		return PTR_ERR(pi->sw);
 	}
 
-	ret = typec_mux_register(&pi->mux);
-	if (ret) {
-		typec_switch_unregister(&pi->sw);
-		dev_err(dev, "Error registering typec mux: %d\n", ret);
-		return ret;
+	mux_desc.drvdata = pi;
+	mux_desc.fwnode = dev->fwnode;
+	mux_desc.set = pi3usb30532_mux_set;
+
+	pi->mux = typec_mux_register(dev, &mux_desc);
+	if (IS_ERR(pi->mux)) {
+		typec_switch_unregister(pi->sw);
+		dev_err(dev, "Error registering typec mux: %ld\n",
+			PTR_ERR(pi->mux));
+		return PTR_ERR(pi->mux);
 	}
 
 	i2c_set_clientdata(client, pi);
@@ -154,8 +162,8 @@
 {
 	struct pi3usb30532 *pi = i2c_get_clientdata(client);
 
-	typec_mux_unregister(&pi->mux);
-	typec_switch_unregister(&pi->sw);
+	typec_mux_unregister(pi->mux);
+	typec_switch_unregister(pi->sw);
 	return 0;
 }
 
diff --git a/drivers/usb/typec/tcpci.c b/drivers/usb/typec/tcpci.c
index ac6b418..dfae41f 100644
--- a/drivers/usb/typec/tcpci.c
+++ b/drivers/usb/typec/tcpci.c
@@ -100,13 +100,17 @@
 	return 0;
 }
 
-static int tcpci_start_drp_toggling(struct tcpc_dev *tcpc,
-				    enum typec_cc_status cc)
+static int tcpci_start_toggling(struct tcpc_dev *tcpc,
+				enum typec_port_type port_type,
+				enum typec_cc_status cc)
 {
 	int ret;
 	struct tcpci *tcpci = tcpc_to_tcpci(tcpc);
 	unsigned int reg = TCPC_ROLE_CTRL_DRP;
 
+	if (port_type != TYPEC_PORT_DRP)
+		return -EOPNOTSUPP;
+
 	/* Handle vendor drp toggling */
 	if (tcpci->data->start_drp_toggling) {
 		ret = tcpci->data->start_drp_toggling(tcpci, tcpci->data, cc);
@@ -511,7 +515,7 @@
 	tcpci->tcpc.get_cc = tcpci_get_cc;
 	tcpci->tcpc.set_polarity = tcpci_set_polarity;
 	tcpci->tcpc.set_vconn = tcpci_set_vconn;
-	tcpci->tcpc.start_drp_toggling = tcpci_start_drp_toggling;
+	tcpci->tcpc.start_toggling = tcpci_start_toggling;
 
 	tcpci->tcpc.set_pd_rx = tcpci_set_pd_rx;
 	tcpci->tcpc.set_roles = tcpci_set_roles;
@@ -577,6 +581,12 @@
 static int tcpci_remove(struct i2c_client *client)
 {
 	struct tcpci_chip *chip = i2c_get_clientdata(client);
+	int err;
+
+	/* Disable chip interrupts before unregistering port */
+	err = tcpci_write16(chip->tcpci, TCPC_ALERT_MASK, 0);
+	if (err < 0)
+		return err;
 
 	tcpci_unregister_port(chip->tcpci);
 
diff --git a/drivers/usb/typec/tcpm.c b/drivers/usb/typec/tcpm.c
index 39cf190..29d72e9 100644
--- a/drivers/usb/typec/tcpm.c
+++ b/drivers/usb/typec/tcpm.c
@@ -31,7 +31,7 @@
 
 #define FOREACH_STATE(S)			\
 	S(INVALID_STATE),			\
-	S(DRP_TOGGLING),			\
+	S(TOGGLING),			\
 	S(SRC_UNATTACHED),			\
 	S(SRC_ATTACH_WAIT),			\
 	S(SRC_ATTACHED),			\
@@ -473,7 +473,7 @@
 	/* Do not log while disconnected and unattached */
 	if (tcpm_port_is_disconnected(port) &&
 	    (port->state == SRC_UNATTACHED || port->state == SNK_UNATTACHED ||
-	     port->state == DRP_TOGGLING))
+	     port->state == TOGGLING))
 		return;
 
 	va_start(args, fmt);
@@ -2561,20 +2561,16 @@
 	return 0;
 }
 
-static bool tcpm_start_drp_toggling(struct tcpm_port *port,
-				    enum typec_cc_status cc)
+static bool tcpm_start_toggling(struct tcpm_port *port, enum typec_cc_status cc)
 {
 	int ret;
 
-	if (port->tcpc->start_drp_toggling &&
-	    port->port_type == TYPEC_PORT_DRP) {
-		tcpm_log_force(port, "Start DRP toggling");
-		ret = port->tcpc->start_drp_toggling(port->tcpc, cc);
-		if (!ret)
-			return true;
-	}
+	if (!port->tcpc->start_toggling)
+		return false;
 
-	return false;
+	tcpm_log_force(port, "Start toggling");
+	ret = port->tcpc->start_toggling(port->tcpc, port->port_type, cc);
+	return ret == 0;
 }
 
 static void tcpm_set_cc(struct tcpm_port *port, enum typec_cc_status cc)
@@ -2868,15 +2864,15 @@
 
 	port->enter_state = port->state;
 	switch (port->state) {
-	case DRP_TOGGLING:
+	case TOGGLING:
 		break;
 	/* SRC states */
 	case SRC_UNATTACHED:
 		if (!port->non_pd_role_swap)
 			tcpm_swap_complete(port, -ENOTCONN);
 		tcpm_src_detach(port);
-		if (tcpm_start_drp_toggling(port, tcpm_rp_cc(port))) {
-			tcpm_set_state(port, DRP_TOGGLING, 0);
+		if (tcpm_start_toggling(port, tcpm_rp_cc(port))) {
+			tcpm_set_state(port, TOGGLING, 0);
 			break;
 		}
 		tcpm_set_cc(port, tcpm_rp_cc(port));
@@ -3074,8 +3070,8 @@
 			tcpm_swap_complete(port, -ENOTCONN);
 		tcpm_pps_complete(port, -ENOTCONN);
 		tcpm_snk_detach(port);
-		if (tcpm_start_drp_toggling(port, TYPEC_CC_RD)) {
-			tcpm_set_state(port, DRP_TOGGLING, 0);
+		if (tcpm_start_toggling(port, TYPEC_CC_RD)) {
+			tcpm_set_state(port, TOGGLING, 0);
 			break;
 		}
 		tcpm_set_cc(port, TYPEC_CC_RD);
@@ -3642,7 +3638,7 @@
 						       : "connected");
 
 	switch (port->state) {
-	case DRP_TOGGLING:
+	case TOGGLING:
 		if (tcpm_port_is_debug(port) || tcpm_port_is_audio(port) ||
 		    tcpm_port_is_source(port))
 			tcpm_set_state(port, SRC_ATTACH_WAIT, 0);
diff --git a/drivers/usb/typec/typec_wcove.c b/drivers/usb/typec/typec_wcove.c
index 6770afd..f1f8f45 100644
--- a/drivers/usb/typec/typec_wcove.c
+++ b/drivers/usb/typec/typec_wcove.c
@@ -416,12 +416,16 @@
 	return regmap_write(wcove->regmap, USBC_TXCMD, cmd | USBC_TXCMD_START);
 }
 
-static int wcove_start_drp_toggling(struct tcpc_dev *tcpc,
-				    enum typec_cc_status cc)
+static int wcove_start_toggling(struct tcpc_dev *tcpc,
+				enum typec_port_type port_type,
+				enum typec_cc_status cc)
 {
 	struct wcove_typec *wcove = tcpc_to_wcove(tcpc);
 	unsigned int usbc_ctrl;
 
+	if (port_type != TYPEC_PORT_DRP)
+		return -EOPNOTSUPP;
+
 	usbc_ctrl = USBC_CONTROL1_MODE_DRP | USBC_CONTROL1_DRPTOGGLE_RANDOM;
 
 	switch (cc) {
@@ -642,7 +646,7 @@
 	wcove->tcpc.set_polarity = wcove_set_polarity;
 	wcove->tcpc.set_vconn = wcove_set_vconn;
 	wcove->tcpc.set_current_limit = wcove_set_current_limit;
-	wcove->tcpc.start_drp_toggling = wcove_start_drp_toggling;
+	wcove->tcpc.start_toggling = wcove_start_toggling;
 
 	wcove->tcpc.set_pd_rx = wcove_set_pd_rx;
 	wcove->tcpc.set_roles = wcove_set_roles;
diff --git a/drivers/vfio/mdev/mdev_core.c b/drivers/vfio/mdev/mdev_core.c
index 0212f0e..e052f62 100644
--- a/drivers/vfio/mdev/mdev_core.c
+++ b/drivers/vfio/mdev/mdev_core.c
@@ -150,10 +150,10 @@
 
 static int mdev_device_remove_cb(struct device *dev, void *data)
 {
-	if (!dev_is_mdev(dev))
-		return 0;
+	if (dev_is_mdev(dev))
+		mdev_device_remove(dev, true);
 
-	return mdev_device_remove(dev, data ? *(bool *)data : true);
+	return 0;
 }
 
 /*
@@ -182,6 +182,7 @@
 	/* Check for duplicate */
 	parent = __find_parent_device(dev);
 	if (parent) {
+		parent = NULL;
 		ret = -EEXIST;
 		goto add_dev_err;
 	}
@@ -240,7 +241,6 @@
 void mdev_unregister_device(struct device *dev)
 {
 	struct mdev_parent *parent;
-	bool force_remove = true;
 
 	mutex_lock(&parent_list_lock);
 	parent = __find_parent_device(dev);
@@ -254,8 +254,7 @@
 	list_del(&parent->next);
 	class_compat_remove_link(mdev_bus_compat_class, dev, NULL);
 
-	device_for_each_child(dev, (void *)&force_remove,
-			      mdev_device_remove_cb);
+	device_for_each_child(dev, NULL, mdev_device_remove_cb);
 
 	parent_remove_sysfs_files(parent);
 
diff --git a/drivers/vfio/mdev/mdev_sysfs.c b/drivers/vfio/mdev/mdev_sysfs.c
index 249472f..e7770b5 100644
--- a/drivers/vfio/mdev/mdev_sysfs.c
+++ b/drivers/vfio/mdev/mdev_sysfs.c
@@ -280,7 +280,7 @@
 
 void mdev_remove_sysfs_files(struct device *dev, struct mdev_type *type)
 {
+	sysfs_remove_files(&dev->kobj, mdev_device_attrs);
 	sysfs_remove_link(&dev->kobj, "mdev_type");
 	sysfs_remove_link(type->devices_kobj, dev_name(dev));
-	sysfs_remove_files(&dev->kobj, mdev_device_attrs);
 }
diff --git a/drivers/vfio/pci/vfio_pci.c b/drivers/vfio/pci/vfio_pci.c
index 0a6eb53..66783a3 100644
--- a/drivers/vfio/pci/vfio_pci.c
+++ b/drivers/vfio/pci/vfio_pci.c
@@ -696,6 +696,7 @@
 		{
 			void __iomem *io;
 			size_t size;
+			u16 orig_cmd;
 
 			info.offset = VFIO_PCI_INDEX_TO_OFFSET(info.index);
 			info.flags = 0;
@@ -711,15 +712,23 @@
 					break;
 			}
 
-			/* Is it really there? */
-			io = pci_map_rom(pdev, &size);
-			if (!io || !size) {
-				info.size = 0;
-				break;
-			}
-			pci_unmap_rom(pdev, io);
+			/*
+			 * Is it really there?  Enable memory decode for
+			 * implicit access in pci_map_rom().
+			 */
+			pci_read_config_word(pdev, PCI_COMMAND, &orig_cmd);
+			pci_write_config_word(pdev, PCI_COMMAND,
+					      orig_cmd | PCI_COMMAND_MEMORY);
 
-			info.flags = VFIO_REGION_INFO_FLAG_READ;
+			io = pci_map_rom(pdev, &size);
+			if (io) {
+				info.flags = VFIO_REGION_INFO_FLAG_READ;
+				pci_unmap_rom(pdev, io);
+			} else {
+				info.size = 0;
+			}
+
+			pci_write_config_word(pdev, PCI_COMMAND, orig_cmd);
 			break;
 		}
 		case VFIO_PCI_VGA_REGION_INDEX:
diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c
index 124356d..88c8c15 100644
--- a/drivers/vhost/net.c
+++ b/drivers/vhost/net.c
@@ -1187,10 +1187,6 @@
 
 static struct socket *get_raw_socket(int fd)
 {
-	struct {
-		struct sockaddr_ll sa;
-		char  buf[MAX_ADDR_LEN];
-	} uaddr;
 	int r;
 	struct socket *sock = sockfd_lookup(fd, &r);
 
@@ -1203,11 +1199,7 @@
 		goto err;
 	}
 
-	r = sock->ops->getname(sock, (struct sockaddr *)&uaddr.sa, 0);
-	if (r < 0)
-		goto err;
-
-	if (uaddr.sa.sll_family != AF_PACKET) {
+	if (sock->sk->sk_family != AF_PACKET) {
 		r = -EPFNOSUPPORT;
 		goto err;
 	}
diff --git a/drivers/vhost/test.c b/drivers/vhost/test.c
index a9be2d8..55090d9 100644
--- a/drivers/vhost/test.c
+++ b/drivers/vhost/test.c
@@ -162,6 +162,7 @@
 
 	vhost_test_stop(n, &private);
 	vhost_test_flush(n);
+	vhost_dev_stop(&n->dev);
 	vhost_dev_cleanup(&n->dev);
 	/* We do an extra flush before freeing memory,
 	 * since jobs can re-queue themselves. */
@@ -238,6 +239,7 @@
 	}
 	vhost_test_stop(n, &priv);
 	vhost_test_flush(n);
+	vhost_dev_stop(&n->dev);
 	vhost_dev_reset_owner(&n->dev, umem);
 done:
 	mutex_unlock(&n->dev.mutex);
diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c
index 98b6eb9..5cf3d19 100644
--- a/drivers/vhost/vhost.c
+++ b/drivers/vhost/vhost.c
@@ -31,6 +31,7 @@
 #include <linux/sched/signal.h>
 #include <linux/interval_tree_generic.h>
 #include <linux/nospec.h>
+#include <linux/kcov.h>
 
 #include "vhost.h"
 
@@ -359,7 +360,9 @@
 		llist_for_each_entry_safe(work, work_next, node, node) {
 			clear_bit(VHOST_WORK_QUEUED, &work->flags);
 			__set_current_state(TASK_RUNNING);
+			kcov_remote_start_common(dev->kcov_handle);
 			work->fn(work);
+			kcov_remote_stop();
 			if (need_resched())
 				schedule();
 		}
@@ -522,6 +525,7 @@
 
 	/* No owner, become one */
 	dev->mm = get_task_mm(current);
+	dev->kcov_handle = kcov_common_handle();
 	worker = kthread_create(vhost_worker, dev, "vhost-%d", current->pid);
 	if (IS_ERR(worker)) {
 		err = PTR_ERR(worker);
@@ -547,6 +551,7 @@
 	if (dev->mm)
 		mmput(dev->mm);
 	dev->mm = NULL;
+	dev->kcov_handle = 0;
 err_mm:
 	return err;
 }
@@ -658,6 +663,7 @@
 	if (dev->worker) {
 		kthread_stop(dev->worker);
 		dev->worker = NULL;
+		dev->kcov_handle = 0;
 	}
 	if (dev->mm)
 		mmput(dev->mm);
diff --git a/drivers/vhost/vhost.h b/drivers/vhost/vhost.h
index 27a78a9..7c04ca3 100644
--- a/drivers/vhost/vhost.h
+++ b/drivers/vhost/vhost.h
@@ -173,6 +173,7 @@
 	int iov_limit;
 	int weight;
 	int byte_weight;
+	u64 kcov_handle;
 };
 
 bool vhost_exceeds_weight(struct vhost_virtqueue *vq, int pkts, int total_len);
diff --git a/drivers/video/backlight/lm3630a_bl.c b/drivers/video/backlight/lm3630a_bl.c
index 2030a6b..ef2553f 100644
--- a/drivers/video/backlight/lm3630a_bl.c
+++ b/drivers/video/backlight/lm3630a_bl.c
@@ -201,7 +201,7 @@
 				      LM3630A_LEDA_ENABLE, LM3630A_LEDA_ENABLE);
 	if (ret < 0)
 		goto out_i2c_err;
-	return bl->props.brightness;
+	return 0;
 
 out_i2c_err:
 	dev_err(pchip->dev, "i2c failed to access\n");
@@ -278,7 +278,7 @@
 				      LM3630A_LEDB_ENABLE, LM3630A_LEDB_ENABLE);
 	if (ret < 0)
 		goto out_i2c_err;
-	return bl->props.brightness;
+	return 0;
 
 out_i2c_err:
 	dev_err(pchip->dev, "i2c failed to access REG_CTRL\n");
diff --git a/drivers/video/backlight/pwm_bl.c b/drivers/video/backlight/pwm_bl.c
index 7ddc093..3a3098d 100644
--- a/drivers/video/backlight/pwm_bl.c
+++ b/drivers/video/backlight/pwm_bl.c
@@ -199,29 +199,17 @@
 				     struct platform_pwm_backlight_data *data,
 				     unsigned int period)
 {
-	unsigned int counter = 0;
-	unsigned int i, n;
+	unsigned int i;
 	u64 retval;
 
 	/*
-	 * Count the number of bits needed to represent the period number. The
-	 * number of bits is used to calculate the number of levels used for the
-	 * brightness-levels table, the purpose of this calculation is have a
-	 * pre-computed table with enough levels to get linear brightness
-	 * perception. The period is divided by the number of bits so for a
-	 * 8-bit PWM we have 255 / 8 = 32 brightness levels or for a 16-bit PWM
-	 * we have 65535 / 16 = 4096 brightness levels.
-	 *
-	 * Note that this method is based on empirical testing on different
-	 * devices with PWM of 8 and 16 bits of resolution.
+	 * Once we have 4096 levels there's little point going much higher...
+	 * neither interactive sliders nor animation benefits from having
+	 * more values in the table.
 	 */
-	n = period;
-	while (n) {
-		counter += n % 2;
-		n >>= 1;
-	}
+	data->max_brightness =
+		min((int)DIV_ROUND_UP(period, fls(period)), 4096);
 
-	data->max_brightness = DIV_ROUND_UP(period, counter);
 	data->levels = devm_kcalloc(dev, data->max_brightness,
 				    sizeof(*data->levels), GFP_KERNEL);
 	if (!data->levels)
diff --git a/drivers/video/console/vgacon.c b/drivers/video/console/vgacon.c
index c6b3bdb..bfaa9ec 100644
--- a/drivers/video/console/vgacon.c
+++ b/drivers/video/console/vgacon.c
@@ -1316,6 +1316,9 @@
 static int vgacon_resize(struct vc_data *c, unsigned int width,
 			 unsigned int height, unsigned int user)
 {
+	if ((width << 1) * height > vga_vram_size)
+		return -EINVAL;
+
 	if (width % 2 || width > screen_info.orig_video_cols ||
 	    height > (screen_info.orig_video_lines * vga_default_font_height)/
 	    c->vc_font.height)
diff --git a/drivers/video/fbdev/chipsfb.c b/drivers/video/fbdev/chipsfb.c
index f103665..f9b366d 100644
--- a/drivers/video/fbdev/chipsfb.c
+++ b/drivers/video/fbdev/chipsfb.c
@@ -350,7 +350,7 @@
 static int chipsfb_pci_init(struct pci_dev *dp, const struct pci_device_id *ent)
 {
 	struct fb_info *p;
-	unsigned long addr, size;
+	unsigned long addr;
 	unsigned short cmd;
 	int rc = -ENODEV;
 
@@ -362,7 +362,6 @@
 	if ((dp->resource[0].flags & IORESOURCE_MEM) == 0)
 		goto err_disable;
 	addr = pci_resource_start(dp, 0);
-	size = pci_resource_len(dp, 0);
 	if (addr == 0)
 		goto err_disable;
 
diff --git a/drivers/video/fbdev/pxa168fb.c b/drivers/video/fbdev/pxa168fb.c
index d059d04..20195d3 100644
--- a/drivers/video/fbdev/pxa168fb.c
+++ b/drivers/video/fbdev/pxa168fb.c
@@ -769,8 +769,8 @@
 failed_free_clk:
 	clk_disable_unprepare(fbi->clk);
 failed_free_fbmem:
-	dma_free_coherent(fbi->dev, info->fix.smem_len,
-			info->screen_base, fbi->fb_start_dma);
+	dma_free_wc(fbi->dev, info->fix.smem_len,
+		    info->screen_base, fbi->fb_start_dma);
 failed_free_info:
 	kfree(info);
 
@@ -804,7 +804,7 @@
 
 	irq = platform_get_irq(pdev, 0);
 
-	dma_free_wc(fbi->dev, PAGE_ALIGN(info->fix.smem_len),
+	dma_free_wc(fbi->dev, info->fix.smem_len,
 		    info->screen_base, info->fix.smem_start);
 
 	clk_disable_unprepare(fbi->clk);
diff --git a/drivers/virtio/Kconfig b/drivers/virtio/Kconfig
index 3589764..009278b 100644
--- a/drivers/virtio/Kconfig
+++ b/drivers/virtio/Kconfig
@@ -42,6 +42,17 @@
 
 	  If unsure, say Y.
 
+config VIRTIO_PMEM
+	tristate "Support for virtio pmem driver"
+	depends on VIRTIO
+	depends on LIBNVDIMM
+	help
+	  This driver provides access to virtio-pmem devices, storage devices
+	  that are mapped into the physical address space - similar to NVDIMMs
+	   - with a virtio-based flushing interface.
+
+	  If unsure, say Y.
+
 config VIRTIO_BALLOON
 	tristate "Virtio balloon driver"
 	depends on VIRTIO
diff --git a/drivers/virtio/virtio_balloon.c b/drivers/virtio/virtio_balloon.c
index 14ac36c..1afcbef 100644
--- a/drivers/virtio/virtio_balloon.c
+++ b/drivers/virtio/virtio_balloon.c
@@ -126,6 +126,8 @@
 {
 	unsigned int i;
 
+	BUILD_BUG_ON(VIRTIO_BALLOON_PAGES_PER_PAGE > VIRTIO_BALLOON_ARRAY_PFNS_MAX);
+
 	/*
 	 * Set balloon pfns pointing at this page.
 	 * Note that the first pfn points at start of the page.
diff --git a/drivers/virtio/virtio_input.c b/drivers/virtio/virtio_input.c
index 89e14b0..0073d07 100644
--- a/drivers/virtio/virtio_input.c
+++ b/drivers/virtio/virtio_input.c
@@ -164,12 +164,15 @@
 	virtio_cread(vi->vdev, struct virtio_input_config, u.abs.flat, &fl);
 	input_set_abs_params(vi->idev, abs, mi, ma, fu, fl);
 	input_abs_set_res(vi->idev, abs, re);
-	if (abs == ABS_MT_TRACKING_ID)
+	if (abs == ABS_MT_TRACKING_ID) {
+		unsigned int slot_flags =
+			test_bit(INPUT_PROP_DIRECT, vi->idev->propbit) ?
+				INPUT_MT_DIRECT : 0;
+
 		input_mt_init_slots(vi->idev,
 				    ma, /* input max finger */
-				    INPUT_MT_DIRECT
-					| INPUT_MT_DROP_UNUSED
-					| INPUT_MT_TRACK);
+				    slot_flags);
+	}
 }
 
 static int virtinput_init_vqs(struct virtio_input *vi)
diff --git a/drivers/visorbus/visorchipset.c b/drivers/visorbus/visorchipset.c
index ca752b8..cb1eb7e 100644
--- a/drivers/visorbus/visorchipset.c
+++ b/drivers/visorbus/visorchipset.c
@@ -1210,14 +1210,17 @@
 {
 	struct controlvm_message local_crash_bus_msg;
 	struct controlvm_message local_crash_dev_msg;
-	struct controlvm_message msg;
+	struct controlvm_message msg = {
+		.hdr.id = CONTROLVM_CHIPSET_INIT,
+		.cmd.init_chipset = {
+			.bus_count = 23,
+			.switch_count = 0,
+		},
+	};
 	u32 local_crash_msg_offset;
 	u16 local_crash_msg_count;
 
 	/* send init chipset msg */
-	msg.hdr.id = CONTROLVM_CHIPSET_INIT;
-	msg.cmd.init_chipset.bus_count = 23;
-	msg.cmd.init_chipset.switch_count = 0;
 	chipset_init(&msg);
 	/* get saved message count */
 	if (visorchannel_read(chipset_dev->controlvm_channel,
diff --git a/drivers/vme/bridges/vme_fake.c b/drivers/vme/bridges/vme_fake.c
index 7d83691..685a43b 100644
--- a/drivers/vme/bridges/vme_fake.c
+++ b/drivers/vme/bridges/vme_fake.c
@@ -418,8 +418,9 @@
 	}
 }
 
-static u8 fake_vmeread8(struct fake_driver *bridge, unsigned long long addr,
-		u32 aspace, u32 cycle)
+static noinline_for_stack u8 fake_vmeread8(struct fake_driver *bridge,
+					   unsigned long long addr,
+					   u32 aspace, u32 cycle)
 {
 	u8 retval = 0xff;
 	int i;
@@ -450,8 +451,9 @@
 	return retval;
 }
 
-static u16 fake_vmeread16(struct fake_driver *bridge, unsigned long long addr,
-		u32 aspace, u32 cycle)
+static noinline_for_stack u16 fake_vmeread16(struct fake_driver *bridge,
+					     unsigned long long addr,
+					     u32 aspace, u32 cycle)
 {
 	u16 retval = 0xffff;
 	int i;
@@ -482,8 +484,9 @@
 	return retval;
 }
 
-static u32 fake_vmeread32(struct fake_driver *bridge, unsigned long long addr,
-		u32 aspace, u32 cycle)
+static noinline_for_stack u32 fake_vmeread32(struct fake_driver *bridge,
+					     unsigned long long addr,
+					     u32 aspace, u32 cycle)
 {
 	u32 retval = 0xffffffff;
 	int i;
@@ -613,8 +616,9 @@
 	return retval;
 }
 
-static void fake_vmewrite8(struct fake_driver *bridge, u8 *buf,
-			   unsigned long long addr, u32 aspace, u32 cycle)
+static noinline_for_stack void fake_vmewrite8(struct fake_driver *bridge,
+					      u8 *buf, unsigned long long addr,
+					      u32 aspace, u32 cycle)
 {
 	int i;
 	unsigned long long start, end, offset;
@@ -643,8 +647,9 @@
 
 }
 
-static void fake_vmewrite16(struct fake_driver *bridge, u16 *buf,
-			    unsigned long long addr, u32 aspace, u32 cycle)
+static noinline_for_stack void fake_vmewrite16(struct fake_driver *bridge,
+					       u16 *buf, unsigned long long addr,
+					       u32 aspace, u32 cycle)
 {
 	int i;
 	unsigned long long start, end, offset;
@@ -673,8 +678,9 @@
 
 }
 
-static void fake_vmewrite32(struct fake_driver *bridge, u32 *buf,
-			    unsigned long long addr, u32 aspace, u32 cycle)
+static noinline_for_stack void fake_vmewrite32(struct fake_driver *bridge,
+					       u32 *buf, unsigned long long addr,
+					       u32 aspace, u32 cycle)
 {
 	int i;
 	unsigned long long start, end, offset;
diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
index b165c46..709d4de 100644
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -594,6 +594,7 @@
 config MAX77620_WATCHDOG
 	tristate "Maxim Max77620 Watchdog Timer"
 	depends on MFD_MAX77620 || COMPILE_TEST
+	select WATCHDOG_CORE
 	help
 	 This is the driver for the Max77620 watchdog timer.
 	 Say 'Y' here to enable the watchdog timer support for
diff --git a/drivers/watchdog/da9062_wdt.c b/drivers/watchdog/da9062_wdt.c
index fe169d8..7f0a8e6 100644
--- a/drivers/watchdog/da9062_wdt.c
+++ b/drivers/watchdog/da9062_wdt.c
@@ -99,13 +99,6 @@
 	struct da9062_watchdog *wdt = watchdog_get_drvdata(wdd);
 	int ret;
 
-	ret = da9062_reset_watchdog_timer(wdt);
-	if (ret) {
-		dev_err(wdt->hw->dev, "Failed to ping the watchdog (err = %d)\n",
-			ret);
-		return ret;
-	}
-
 	ret = regmap_update_bits(wdt->hw->regmap,
 				 DA9062AA_CONTROL_D,
 				 DA9062AA_TWDSCALE_MASK,
diff --git a/drivers/watchdog/rn5t618_wdt.c b/drivers/watchdog/rn5t618_wdt.c
index e60f557..d2e79cf 100644
--- a/drivers/watchdog/rn5t618_wdt.c
+++ b/drivers/watchdog/rn5t618_wdt.c
@@ -193,6 +193,7 @@
 
 module_platform_driver(rn5t618_wdt_driver);
 
+MODULE_ALIAS("platform:rn5t618-wdt");
 MODULE_AUTHOR("Beniamino Galvani <b.galvani@gmail.com>");
 MODULE_DESCRIPTION("RN5T618 watchdog driver");
 MODULE_LICENSE("GPL v2");
diff --git a/drivers/watchdog/rtd119x_wdt.c b/drivers/watchdog/rtd119x_wdt.c
index d001c17..99caec6 100644
--- a/drivers/watchdog/rtd119x_wdt.c
+++ b/drivers/watchdog/rtd119x_wdt.c
@@ -135,7 +135,7 @@
 	rtd119x_wdt_set_timeout(&data->wdt_dev, data->wdt_dev.timeout);
 	rtd119x_wdt_stop(&data->wdt_dev);
 
-	ret = devm_watchdog_register_device(&pdev->dev, &data->wdt_dev);
+	ret = watchdog_register_device(&data->wdt_dev);
 	if (ret) {
 		clk_disable_unprepare(data->clk);
 		clk_put(data->clk);
diff --git a/drivers/watchdog/sprd_wdt.c b/drivers/watchdog/sprd_wdt.c
index ff9397d..b6c65af 100644
--- a/drivers/watchdog/sprd_wdt.c
+++ b/drivers/watchdog/sprd_wdt.c
@@ -342,10 +342,9 @@
 
 static int __maybe_unused sprd_wdt_pm_suspend(struct device *dev)
 {
-	struct watchdog_device *wdd = dev_get_drvdata(dev);
 	struct sprd_wdt *wdt = dev_get_drvdata(dev);
 
-	if (watchdog_active(wdd))
+	if (watchdog_active(&wdt->wdd))
 		sprd_wdt_stop(&wdt->wdd);
 	sprd_wdt_disable(wdt);
 
@@ -354,7 +353,6 @@
 
 static int __maybe_unused sprd_wdt_pm_resume(struct device *dev)
 {
-	struct watchdog_device *wdd = dev_get_drvdata(dev);
 	struct sprd_wdt *wdt = dev_get_drvdata(dev);
 	int ret;
 
@@ -362,7 +360,7 @@
 	if (ret)
 		return ret;
 
-	if (watchdog_active(wdd)) {
+	if (watchdog_active(&wdt->wdd)) {
 		ret = sprd_wdt_start(&wdt->wdd);
 		if (ret) {
 			sprd_wdt_disable(wdt);
diff --git a/drivers/watchdog/watchdog_core.c b/drivers/watchdog/watchdog_core.c
index eb8fa25..8b1f37f 100644
--- a/drivers/watchdog/watchdog_core.c
+++ b/drivers/watchdog/watchdog_core.c
@@ -138,6 +138,25 @@
 }
 EXPORT_SYMBOL_GPL(watchdog_init_timeout);
 
+static int watchdog_reboot_notifier(struct notifier_block *nb,
+				    unsigned long code, void *data)
+{
+	struct watchdog_device *wdd;
+
+	wdd = container_of(nb, struct watchdog_device, reboot_nb);
+	if (code == SYS_DOWN || code == SYS_HALT) {
+		if (watchdog_active(wdd)) {
+			int ret;
+
+			ret = wdd->ops->stop(wdd);
+			if (ret)
+				return NOTIFY_BAD;
+		}
+	}
+
+	return NOTIFY_DONE;
+}
+
 static int watchdog_restart_notifier(struct notifier_block *nb,
 				     unsigned long action, void *data)
 {
@@ -226,6 +245,19 @@
 		}
 	}
 
+	if (test_bit(WDOG_STOP_ON_REBOOT, &wdd->status)) {
+		wdd->reboot_nb.notifier_call = watchdog_reboot_notifier;
+
+		ret = register_reboot_notifier(&wdd->reboot_nb);
+		if (ret) {
+			pr_err("watchdog%d: Cannot register reboot notifier (%d)\n",
+			       wdd->id, ret);
+			watchdog_dev_unregister(wdd);
+			ida_simple_remove(&watchdog_ida, id);
+			return ret;
+		}
+	}
+
 	if (wdd->ops->restart) {
 		wdd->restart_nb.notifier_call = watchdog_restart_notifier;
 
@@ -271,6 +303,9 @@
 	if (wdd->ops->restart)
 		unregister_restart_handler(&wdd->restart_nb);
 
+	if (test_bit(WDOG_STOP_ON_REBOOT, &wdd->status))
+		unregister_reboot_notifier(&wdd->reboot_nb);
+
 	watchdog_dev_unregister(wdd);
 	ida_simple_remove(&watchdog_ida, wdd->id);
 }
diff --git a/drivers/watchdog/watchdog_dev.c b/drivers/watchdog/watchdog_dev.c
index 4b89333..e64aa88 100644
--- a/drivers/watchdog/watchdog_dev.c
+++ b/drivers/watchdog/watchdog_dev.c
@@ -42,7 +42,6 @@
 #include <linux/miscdevice.h>	/* For handling misc devices */
 #include <linux/module.h>	/* For module stuff/... */
 #include <linux/mutex.h>	/* For mutexes */
-#include <linux/reboot.h>	/* For reboot notifier */
 #include <linux/slab.h>		/* For memory functions */
 #include <linux/types.h>	/* For standard types (like size_t) */
 #include <linux/watchdog.h>	/* For watchdog specific items */
@@ -1048,25 +1047,6 @@
 	put_device(&wd_data->dev);
 }
 
-static int watchdog_reboot_notifier(struct notifier_block *nb,
-				    unsigned long code, void *data)
-{
-	struct watchdog_device *wdd;
-
-	wdd = container_of(nb, struct watchdog_device, reboot_nb);
-	if (code == SYS_DOWN || code == SYS_HALT) {
-		if (watchdog_active(wdd)) {
-			int ret;
-
-			ret = wdd->ops->stop(wdd);
-			if (ret)
-				return NOTIFY_BAD;
-		}
-	}
-
-	return NOTIFY_DONE;
-}
-
 /*
  *	watchdog_dev_register: register a watchdog device
  *	@wdd: watchdog device
@@ -1085,22 +1065,8 @@
 		return ret;
 
 	ret = watchdog_register_pretimeout(wdd);
-	if (ret) {
+	if (ret)
 		watchdog_cdev_unregister(wdd);
-		return ret;
-	}
-
-	if (test_bit(WDOG_STOP_ON_REBOOT, &wdd->status)) {
-		wdd->reboot_nb.notifier_call = watchdog_reboot_notifier;
-
-		ret = devm_register_reboot_notifier(&wdd->wd_data->dev,
-						    &wdd->reboot_nb);
-		if (ret) {
-			pr_err("watchdog%d: Cannot register reboot notifier (%d)\n",
-			       wdd->id, ret);
-			watchdog_dev_unregister(wdd);
-		}
-	}
 
 	return ret;
 }
diff --git a/drivers/watchdog/wdat_wdt.c b/drivers/watchdog/wdat_wdt.c
index 56ad196..9d91ed5 100644
--- a/drivers/watchdog/wdat_wdt.c
+++ b/drivers/watchdog/wdat_wdt.c
@@ -392,7 +392,7 @@
 
 		memset(&r, 0, sizeof(r));
 		r.start = gas->address;
-		r.end = r.start + gas->access_width - 1;
+		r.end = r.start + ACPI_ACCESS_BYTE_WIDTH(gas->access_width) - 1;
 		if (gas->space_id == ACPI_ADR_SPACE_SYSTEM_MEMORY) {
 			r.flags = IORESOURCE_MEM;
 		} else if (gas->space_id == ACPI_ADR_SPACE_SYSTEM_IO) {
diff --git a/drivers/xen/cpu_hotplug.c b/drivers/xen/cpu_hotplug.c
index b1357aa..f192b6f 100644
--- a/drivers/xen/cpu_hotplug.c
+++ b/drivers/xen/cpu_hotplug.c
@@ -54,7 +54,7 @@
 }
 static void vcpu_hotplug(unsigned int cpu)
 {
-	if (!cpu_possible(cpu))
+	if (cpu >= nr_cpu_ids || !cpu_possible(cpu))
 		return;
 
 	switch (vcpu_online(cpu)) {
diff --git a/drivers/xen/preempt.c b/drivers/xen/preempt.c
index 08cb419..5f6b77e 100644
--- a/drivers/xen/preempt.c
+++ b/drivers/xen/preempt.c
@@ -37,7 +37,9 @@
 		 * cpu.
 		 */
 		__this_cpu_write(xen_in_preemptible_hcall, false);
-		_cond_resched();
+		local_irq_enable();
+		cond_resched();
+		local_irq_disable();
 		__this_cpu_write(xen_in_preemptible_hcall, true);
 	}
 }
diff --git a/drivers/xen/pvcalls-back.c b/drivers/xen/pvcalls-back.c
index d4ea335..b3fbfed 100644
--- a/drivers/xen/pvcalls-back.c
+++ b/drivers/xen/pvcalls-back.c
@@ -784,7 +784,7 @@
 	mappass->reqcopy = *req;
 	icsk = inet_csk(mappass->sock->sk);
 	queue = &icsk->icsk_accept_queue;
-	data = queue->rskq_accept_head != NULL;
+	data = READ_ONCE(queue->rskq_accept_head) != NULL;
 	if (data) {
 		mappass->reqcopy.cmd = 0;
 		ret = 0;
diff --git a/drivers/xen/xen-balloon.c b/drivers/xen/xen-balloon.c
index 2acbfe1..3aab779 100644
--- a/drivers/xen/xen-balloon.c
+++ b/drivers/xen/xen-balloon.c
@@ -83,7 +83,7 @@
 				  "%llu", &static_max) == 1))
 			static_max >>= PAGE_SHIFT - 10;
 		else
-			static_max = new_target;
+			static_max = balloon_stats.current_pages;
 
 		target_diff = (xen_pv_domain() || xen_initial_domain()) ? 0
 				: static_max - balloon_stats.target_pages;
diff --git a/firmware/Makefile b/firmware/Makefile
index 2964138..d3d7578 100644
--- a/firmware/Makefile
+++ b/firmware/Makefile
@@ -19,7 +19,7 @@
 		  PROGBITS=$(if $(CONFIG_ARM),%,@)progbits;		     \
 		  echo "/* Generated by firmware/Makefile */"		> $@;\
 		  echo "    .section .rodata"				>>$@;\
-		  echo "    .p2align $${ASM_ALIGN}"			>>$@;\
+		  echo "    .p2align 4"					>>$@;\
 		  echo "_fw_$${FWSTR}_bin:"				>>$@;\
 		  echo "    .incbin \"$(2)\""				>>$@;\
 		  echo "_fw_end:"					>>$@;\
diff --git a/fs/Kconfig b/fs/Kconfig
index f0dde0d..b8d003f 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -114,6 +114,7 @@
 source "fs/autofs/Kconfig"
 source "fs/fuse/Kconfig"
 source "fs/overlayfs/Kconfig"
+source "fs/incfs/Kconfig"
 
 menu "Caches"
 
diff --git a/fs/Makefile b/fs/Makefile
index af76f22..9d1caea 100644
--- a/fs/Makefile
+++ b/fs/Makefile
@@ -110,6 +110,7 @@
 obj-$(CONFIG_FUSE_FS)		+= fuse/
 obj-$(CONFIG_OVERLAY_FS)	+= overlayfs/
 obj-$(CONFIG_ORANGEFS_FS)       += orangefs/
+obj-$(CONFIG_INCREMENTAL_FS)	+= incfs/
 obj-$(CONFIG_UDF_FS)		+= udf/
 obj-$(CONFIG_SUN_OPENPROMFS)	+= openpromfs/
 obj-$(CONFIG_OMFS_FS)		+= omfs/
diff --git a/fs/affs/super.c b/fs/affs/super.c
index d1ad11a..b6ce0c3 100644
--- a/fs/affs/super.c
+++ b/fs/affs/super.c
@@ -561,14 +561,9 @@
 	int			 root_block;
 	unsigned long		 mount_flags;
 	int			 res = 0;
-	char			*new_opts;
 	char			 volume[32];
 	char			*prefix = NULL;
 
-	new_opts = kstrdup(data, GFP_KERNEL);
-	if (data && !new_opts)
-		return -ENOMEM;
-
 	pr_debug("%s(flags=0x%x,opts=\"%s\")\n", __func__, *flags, data);
 
 	sync_filesystem(sb);
@@ -579,7 +574,6 @@
 			   &blocksize, &prefix, volume,
 			   &mount_flags)) {
 		kfree(prefix);
-		kfree(new_opts);
 		return -EINVAL;
 	}
 
diff --git a/fs/afs/callback.c b/fs/afs/callback.c
index 4ad7012..97283b0 100644
--- a/fs/afs/callback.c
+++ b/fs/afs/callback.c
@@ -221,14 +221,8 @@
 		vnode->cb_break++;
 		afs_clear_permits(vnode);
 
-		spin_lock(&vnode->lock);
-
-		_debug("break callback");
-
-		if (list_empty(&vnode->granted_locks) &&
-		    !list_empty(&vnode->pending_locks))
+		if (vnode->lock_state == AFS_VNODE_LOCK_WAITING_FOR_CB)
 			afs_lock_may_be_available(vnode);
-		spin_unlock(&vnode->lock);
 	}
 
 	write_sequnlock(&vnode->cb_lock);
diff --git a/fs/afs/cell.c b/fs/afs/cell.c
index ee07162..cce0e23 100644
--- a/fs/afs/cell.c
+++ b/fs/afs/cell.c
@@ -135,8 +135,17 @@
 		_leave(" = -ENAMETOOLONG");
 		return ERR_PTR(-ENAMETOOLONG);
 	}
-	if (namelen == 5 && memcmp(name, "@cell", 5) == 0)
+
+	/* Prohibit cell names that contain unprintable chars, '/' and '@' or
+	 * that begin with a dot.  This also precludes "@cell".
+	 */
+	if (name[0] == '.')
 		return ERR_PTR(-EINVAL);
+	for (i = 0; i < namelen; i++) {
+		char ch = name[i];
+		if (!isprint(ch) || ch == '/' || ch == '@')
+			return ERR_PTR(-EINVAL);
+	}
 
 	_enter("%*.*s,%s", namelen, namelen, name, vllist);
 
diff --git a/fs/afs/dir_edit.c b/fs/afs/dir_edit.c
index 8b400f5..0e71625 100644
--- a/fs/afs/dir_edit.c
+++ b/fs/afs/dir_edit.c
@@ -72,13 +72,11 @@
 static void afs_set_contig_bits(union afs_xdr_dir_block *block,
 				int bit, unsigned int nr_slots)
 {
-	u64 mask, before, after;
+	u64 mask;
 
 	mask = (1 << nr_slots) - 1;
 	mask <<= bit;
 
-	before = *(u64 *)block->hdr.bitmap;
-
 	block->hdr.bitmap[0] |= (u8)(mask >> 0 * 8);
 	block->hdr.bitmap[1] |= (u8)(mask >> 1 * 8);
 	block->hdr.bitmap[2] |= (u8)(mask >> 2 * 8);
@@ -87,8 +85,6 @@
 	block->hdr.bitmap[5] |= (u8)(mask >> 5 * 8);
 	block->hdr.bitmap[6] |= (u8)(mask >> 6 * 8);
 	block->hdr.bitmap[7] |= (u8)(mask >> 7 * 8);
-
-	after = *(u64 *)block->hdr.bitmap;
 }
 
 /*
@@ -97,13 +93,11 @@
 static void afs_clear_contig_bits(union afs_xdr_dir_block *block,
 				  int bit, unsigned int nr_slots)
 {
-	u64 mask, before, after;
+	u64 mask;
 
 	mask = (1 << nr_slots) - 1;
 	mask <<= bit;
 
-	before = *(u64 *)block->hdr.bitmap;
-
 	block->hdr.bitmap[0] &= ~(u8)(mask >> 0 * 8);
 	block->hdr.bitmap[1] &= ~(u8)(mask >> 1 * 8);
 	block->hdr.bitmap[2] &= ~(u8)(mask >> 2 * 8);
@@ -112,8 +106,6 @@
 	block->hdr.bitmap[5] &= ~(u8)(mask >> 5 * 8);
 	block->hdr.bitmap[6] &= ~(u8)(mask >> 6 * 8);
 	block->hdr.bitmap[7] &= ~(u8)(mask >> 7 * 8);
-
-	after = *(u64 *)block->hdr.bitmap;
 }
 
 /*
diff --git a/fs/afs/file.c b/fs/afs/file.c
index 3b628b0..e9e779c 100644
--- a/fs/afs/file.c
+++ b/fs/afs/file.c
@@ -169,11 +169,12 @@
 {
 	struct afs_vnode *vnode = AFS_FS_I(inode);
 	struct afs_file *af = file->private_data;
+	int ret = 0;
 
 	_enter("{%x:%u},", vnode->fid.vid, vnode->fid.vnode);
 
 	if ((file->f_mode & FMODE_WRITE))
-		return vfs_fsync(file, 0);
+		ret = vfs_fsync(file, 0);
 
 	file->private_data = NULL;
 	if (af->wb)
@@ -181,8 +182,8 @@
 	key_put(af->key);
 	kfree(af);
 	afs_prune_wb_keys(vnode);
-	_leave(" = 0");
-	return 0;
+	_leave(" = %d", ret);
+	return ret;
 }
 
 /*
diff --git a/fs/afs/flock.c b/fs/afs/flock.c
index 1bb300e..fbf4986 100644
--- a/fs/afs/flock.c
+++ b/fs/afs/flock.c
@@ -13,9 +13,11 @@
 
 #define AFS_LOCK_GRANTED	0
 #define AFS_LOCK_PENDING	1
+#define AFS_LOCK_YOUR_TRY	2
 
 struct workqueue_struct *afs_lock_manager;
 
+static void afs_next_locker(struct afs_vnode *vnode, int error);
 static void afs_fl_copy_lock(struct file_lock *new, struct file_lock *fl);
 static void afs_fl_release_private(struct file_lock *fl);
 
@@ -24,6 +26,12 @@
 	.fl_release_private	= afs_fl_release_private,
 };
 
+static inline void afs_set_lock_state(struct afs_vnode *vnode, enum afs_lock_state state)
+{
+	_debug("STATE %u -> %u", vnode->lock_state, state);
+	vnode->lock_state = state;
+}
+
 /*
  * if the callback is broken on this vnode, then the lock may now be available
  */
@@ -31,14 +39,17 @@
 {
 	_enter("{%x:%u}", vnode->fid.vid, vnode->fid.vnode);
 
-	queue_delayed_work(afs_lock_manager, &vnode->lock_work, 0);
+	spin_lock(&vnode->lock);
+	if (vnode->lock_state == AFS_VNODE_LOCK_WAITING_FOR_CB)
+		afs_next_locker(vnode, 0);
+	spin_unlock(&vnode->lock);
 }
 
 /*
  * the lock will time out in 5 minutes unless we extend it, so schedule
  * extension in a bit less than that time
  */
-static void afs_schedule_lock_extension(struct afs_vnode *vnode)
+static void __maybe_unused afs_schedule_lock_extension(struct afs_vnode *vnode)
 {
 	queue_delayed_work(afs_lock_manager, &vnode->lock_work,
 			   AFS_LOCKWAIT * HZ / 2);
@@ -49,25 +60,68 @@
  * first lock in the queue is itself a readlock)
  * - the caller must hold the vnode lock
  */
-static void afs_grant_locks(struct afs_vnode *vnode, struct file_lock *fl)
+static void afs_grant_locks(struct afs_vnode *vnode)
 {
 	struct file_lock *p, *_p;
+	bool exclusive = (vnode->lock_type == AFS_LOCK_WRITE);
 
-	list_move_tail(&fl->fl_u.afs.link, &vnode->granted_locks);
-	if (fl->fl_type == F_RDLCK) {
-		list_for_each_entry_safe(p, _p, &vnode->pending_locks,
-					 fl_u.afs.link) {
-			if (p->fl_type == F_RDLCK) {
-				p->fl_u.afs.state = AFS_LOCK_GRANTED;
-				list_move_tail(&p->fl_u.afs.link,
-					       &vnode->granted_locks);
-				wake_up(&p->fl_wait);
-			}
-		}
+	list_for_each_entry_safe(p, _p, &vnode->pending_locks, fl_u.afs.link) {
+		if (!exclusive && p->fl_type == F_WRLCK)
+			continue;
+
+		list_move_tail(&p->fl_u.afs.link, &vnode->granted_locks);
+		p->fl_u.afs.state = AFS_LOCK_GRANTED;
+		wake_up(&p->fl_wait);
 	}
 }
 
 /*
+ * If an error is specified, reject every pending lock that matches the
+ * authentication and type of the lock we failed to get.  If there are any
+ * remaining lockers, try to wake up one of them to have a go.
+ */
+static void afs_next_locker(struct afs_vnode *vnode, int error)
+{
+	struct file_lock *p, *_p, *next = NULL;
+	struct key *key = vnode->lock_key;
+	unsigned int fl_type = F_RDLCK;
+
+	_enter("");
+
+	if (vnode->lock_type == AFS_LOCK_WRITE)
+		fl_type = F_WRLCK;
+
+	list_for_each_entry_safe(p, _p, &vnode->pending_locks, fl_u.afs.link) {
+		if (error &&
+		    p->fl_type == fl_type &&
+		    afs_file_key(p->fl_file) == key) {
+			list_del_init(&p->fl_u.afs.link);
+			p->fl_u.afs.state = error;
+			wake_up(&p->fl_wait);
+		}
+
+		/* Select the next locker to hand off to. */
+		if (next &&
+		    (next->fl_type == F_WRLCK || p->fl_type == F_RDLCK))
+			continue;
+		next = p;
+	}
+
+	vnode->lock_key = NULL;
+	key_put(key);
+
+	if (next) {
+		afs_set_lock_state(vnode, AFS_VNODE_LOCK_SETTING);
+		next->fl_u.afs.state = AFS_LOCK_YOUR_TRY;
+		wake_up(&next->fl_wait);
+	} else {
+		afs_set_lock_state(vnode, AFS_VNODE_LOCK_NONE);
+	}
+
+	_leave("");
+}
+
+/*
  * Get a lock on a file
  */
 static int afs_set_lock(struct afs_vnode *vnode, struct key *key,
@@ -170,8 +224,6 @@
 {
 	struct afs_vnode *vnode =
 		container_of(work, struct afs_vnode, lock_work.work);
-	struct file_lock *fl, *next;
-	afs_lock_type_t type;
 	struct key *key;
 	int ret;
 
@@ -184,7 +236,7 @@
 	switch (vnode->lock_state) {
 	case AFS_VNODE_LOCK_NEED_UNLOCK:
 		_debug("unlock");
-		vnode->lock_state = AFS_VNODE_LOCK_UNLOCKING;
+		afs_set_lock_state(vnode, AFS_VNODE_LOCK_UNLOCKING);
 		spin_unlock(&vnode->lock);
 
 		/* attempt to release the server lock; if it fails, we just
@@ -196,22 +248,9 @@
 			       vnode->fid.vid, vnode->fid.vnode, ret);
 
 		spin_lock(&vnode->lock);
-		key_put(vnode->lock_key);
-		vnode->lock_key = NULL;
-		vnode->lock_state = AFS_VNODE_LOCK_NONE;
-
-		if (list_empty(&vnode->pending_locks)) {
-			spin_unlock(&vnode->lock);
-			return;
-		}
-
-		/* The new front of the queue now owns the state variables. */
-		next = list_entry(vnode->pending_locks.next,
-				  struct file_lock, fl_u.afs.link);
-		vnode->lock_key = key_get(afs_file_key(next->fl_file));
-		vnode->lock_type = (next->fl_type == F_RDLCK) ? AFS_LOCK_READ : AFS_LOCK_WRITE;
-		vnode->lock_state = AFS_VNODE_LOCK_WAITING_FOR_CB;
-		goto again;
+		afs_next_locker(vnode, 0);
+		spin_unlock(&vnode->lock);
+		return;
 
 	/* If we've already got a lock, then it must be time to extend that
 	 * lock as AFS locks time out after 5 minutes.
@@ -222,7 +261,7 @@
 		ASSERT(!list_empty(&vnode->granted_locks));
 
 		key = key_get(vnode->lock_key);
-		vnode->lock_state = AFS_VNODE_LOCK_EXTENDING;
+		afs_set_lock_state(vnode, AFS_VNODE_LOCK_EXTENDING);
 		spin_unlock(&vnode->lock);
 
 		ret = afs_extend_lock(vnode, key); /* RPC */
@@ -236,72 +275,26 @@
 
 		if (vnode->lock_state != AFS_VNODE_LOCK_EXTENDING)
 			goto again;
-		vnode->lock_state = AFS_VNODE_LOCK_GRANTED;
+		afs_set_lock_state(vnode, AFS_VNODE_LOCK_GRANTED);
 
-		if (ret == 0)
-			afs_schedule_lock_extension(vnode);
-		else
+		if (ret != 0)
 			queue_delayed_work(afs_lock_manager, &vnode->lock_work,
 					   HZ * 10);
 		spin_unlock(&vnode->lock);
 		_leave(" [ext]");
 		return;
 
-		/* If we don't have a granted lock, then we must've been called
-		 * back by the server, and so if might be possible to get a
-		 * lock we're currently waiting for.
-		 */
+	/* If we're waiting for a callback to indicate lock release, we can't
+	 * actually rely on this, so need to recheck at regular intervals.  The
+	 * problem is that the server might not notify us if the lock just
+	 * expires (say because a client died) rather than being explicitly
+	 * released.
+	 */
 	case AFS_VNODE_LOCK_WAITING_FOR_CB:
-		_debug("get");
-
-		key = key_get(vnode->lock_key);
-		type = vnode->lock_type;
-		vnode->lock_state = AFS_VNODE_LOCK_SETTING;
+		_debug("retry");
+		afs_next_locker(vnode, 0);
 		spin_unlock(&vnode->lock);
-
-		ret = afs_set_lock(vnode, key, type); /* RPC */
-		key_put(key);
-
-		spin_lock(&vnode->lock);
-		switch (ret) {
-		case -EWOULDBLOCK:
-			_debug("blocked");
-			break;
-		case 0:
-			_debug("acquired");
-			vnode->lock_state = AFS_VNODE_LOCK_GRANTED;
-			/* Fall through */
-		default:
-			/* Pass the lock or the error onto the first locker in
-			 * the list - if they're looking for this type of lock.
-			 * If they're not, we assume that whoever asked for it
-			 * took a signal.
-			 */
-			if (list_empty(&vnode->pending_locks)) {
-				_debug("withdrawn");
-				vnode->lock_state = AFS_VNODE_LOCK_NEED_UNLOCK;
-				goto again;
-			}
-
-			fl = list_entry(vnode->pending_locks.next,
-					struct file_lock, fl_u.afs.link);
-			type = (fl->fl_type == F_RDLCK) ? AFS_LOCK_READ : AFS_LOCK_WRITE;
-			if (vnode->lock_type != type) {
-				_debug("changed");
-				vnode->lock_state = AFS_VNODE_LOCK_NEED_UNLOCK;
-				goto again;
-			}
-
-			fl->fl_u.afs.state = ret;
-			if (ret == 0)
-				afs_grant_locks(vnode, fl);
-			else
-				list_del_init(&fl->fl_u.afs.link);
-			wake_up(&fl->fl_wait);
-			spin_unlock(&vnode->lock);
-			_leave(" [granted]");
-			return;
-		}
+		return;
 
 	default:
 		/* Looks like a lock request was withdrawn. */
@@ -319,14 +312,15 @@
  */
 static void afs_defer_unlock(struct afs_vnode *vnode)
 {
-	_enter("");
+	_enter("%u", vnode->lock_state);
 
-	if (vnode->lock_state == AFS_VNODE_LOCK_GRANTED ||
-	    vnode->lock_state == AFS_VNODE_LOCK_EXTENDING) {
+	if (list_empty(&vnode->granted_locks) &&
+	    (vnode->lock_state == AFS_VNODE_LOCK_GRANTED ||
+	     vnode->lock_state == AFS_VNODE_LOCK_EXTENDING)) {
 		cancel_delayed_work(&vnode->lock_work);
 
-		vnode->lock_state = AFS_VNODE_LOCK_NEED_UNLOCK;
-		afs_lock_may_be_available(vnode);
+		afs_set_lock_state(vnode, AFS_VNODE_LOCK_NEED_UNLOCK);
+		queue_delayed_work(afs_lock_manager, &vnode->lock_work, 0);
 	}
 }
 
@@ -376,50 +370,6 @@
 }
 
 /*
- * Remove the front runner from the pending queue.
- * - The caller must hold vnode->lock.
- */
-static void afs_dequeue_lock(struct afs_vnode *vnode, struct file_lock *fl)
-{
-	struct file_lock *next;
-
-	_enter("");
-
-	/* ->lock_type, ->lock_key and ->lock_state only belong to this
-	 * file_lock if we're at the front of the pending queue or if we have
-	 * the lock granted or if the lock_state is NEED_UNLOCK or UNLOCKING.
-	 */
-	if (vnode->granted_locks.next == &fl->fl_u.afs.link &&
-	    vnode->granted_locks.prev == &fl->fl_u.afs.link) {
-		list_del_init(&fl->fl_u.afs.link);
-		afs_defer_unlock(vnode);
-		return;
-	}
-
-	if (!list_empty(&vnode->granted_locks) ||
-	    vnode->pending_locks.next != &fl->fl_u.afs.link) {
-		list_del_init(&fl->fl_u.afs.link);
-		return;
-	}
-
-	list_del_init(&fl->fl_u.afs.link);
-	key_put(vnode->lock_key);
-	vnode->lock_key = NULL;
-	vnode->lock_state = AFS_VNODE_LOCK_NONE;
-
-	if (list_empty(&vnode->pending_locks))
-		return;
-
-	/* The new front of the queue now owns the state variables. */
-	next = list_entry(vnode->pending_locks.next,
-			  struct file_lock, fl_u.afs.link);
-	vnode->lock_key = key_get(afs_file_key(next->fl_file));
-	vnode->lock_type = (next->fl_type == F_RDLCK) ? AFS_LOCK_READ : AFS_LOCK_WRITE;
-	vnode->lock_state = AFS_VNODE_LOCK_WAITING_FOR_CB;
-	afs_lock_may_be_available(vnode);
-}
-
-/*
  * request a lock on a file on the server
  */
 static int afs_do_setlk(struct file *file, struct file_lock *fl)
@@ -432,10 +382,6 @@
 
 	_enter("{%x:%u},%u", vnode->fid.vid, vnode->fid.vnode, fl->fl_type);
 
-	/* only whole-file locks are supported */
-	if (fl->fl_start != 0 || fl->fl_end != OFFSET_MAX)
-		return -EINVAL;
-
 	fl->fl_ops = &afs_lock_ops;
 	INIT_LIST_HEAD(&fl->fl_u.afs.link);
 	fl->fl_u.afs.state = AFS_LOCK_PENDING;
@@ -447,44 +393,66 @@
 		return ret;
 
 	spin_lock(&vnode->lock);
-
-	/* If we've already got a readlock on the server then we instantly
-	 * grant another readlock, irrespective of whether there are any
-	 * pending writelocks.
-	 */
-	if (type == AFS_LOCK_READ &&
-	    vnode->lock_state == AFS_VNODE_LOCK_GRANTED &&
-	    vnode->lock_type == AFS_LOCK_READ) {
-		_debug("instant readlock");
-		ASSERT(!list_empty(&vnode->granted_locks));
-		goto share_existing_lock;
-	}
-
 	list_add_tail(&fl->fl_u.afs.link, &vnode->pending_locks);
 
+	/* If we've already got a lock on the server then try to move to having
+	 * the VFS grant the requested lock.  Note that this means that other
+	 * clients may get starved out.
+	 */
+	_debug("try %u", vnode->lock_state);
+	if (vnode->lock_state == AFS_VNODE_LOCK_GRANTED) {
+		if (type == AFS_LOCK_READ) {
+			_debug("instant readlock");
+			list_move_tail(&fl->fl_u.afs.link, &vnode->granted_locks);
+			fl->fl_u.afs.state = AFS_LOCK_GRANTED;
+			goto vnode_is_locked_u;
+		}
+
+		if (vnode->lock_type == AFS_LOCK_WRITE) {
+			_debug("instant writelock");
+			list_move_tail(&fl->fl_u.afs.link, &vnode->granted_locks);
+			fl->fl_u.afs.state = AFS_LOCK_GRANTED;
+			goto vnode_is_locked_u;
+		}
+	}
+
 	if (vnode->lock_state != AFS_VNODE_LOCK_NONE)
 		goto need_to_wait;
 
+try_to_lock:
 	/* We don't have a lock on this vnode and we aren't currently waiting
 	 * for one either, so ask the server for a lock.
 	 *
 	 * Note that we need to be careful if we get interrupted by a signal
 	 * after dispatching the request as we may still get the lock, even
 	 * though we don't wait for the reply (it's not too bad a problem - the
-	 * lock will expire in 10 mins anyway).
+	 * lock will expire in 5 mins anyway).
 	 */
 	_debug("not locked");
 	vnode->lock_key = key_get(key);
 	vnode->lock_type = type;
-	vnode->lock_state = AFS_VNODE_LOCK_SETTING;
+	afs_set_lock_state(vnode, AFS_VNODE_LOCK_SETTING);
 	spin_unlock(&vnode->lock);
 
 	ret = afs_set_lock(vnode, key, type); /* RPC */
 
 	spin_lock(&vnode->lock);
 	switch (ret) {
+	case -EKEYREJECTED:
+	case -EKEYEXPIRED:
+	case -EKEYREVOKED:
+	case -EPERM:
+	case -EACCES:
+		fl->fl_u.afs.state = ret;
+		list_del_init(&fl->fl_u.afs.link);
+		afs_next_locker(vnode, ret);
+		goto error_unlock;
+
 	default:
-		goto abort_attempt;
+		fl->fl_u.afs.state = ret;
+		list_del_init(&fl->fl_u.afs.link);
+		afs_next_locker(vnode, 0);
+		goto error_unlock;
 
 	case -EWOULDBLOCK:
 		/* The server doesn't have a lock-waiting queue, so the client
@@ -494,29 +462,23 @@
 		_debug("would block");
 		ASSERT(list_empty(&vnode->granted_locks));
 		ASSERTCMP(vnode->pending_locks.next, ==, &fl->fl_u.afs.link);
-		vnode->lock_state = AFS_VNODE_LOCK_WAITING_FOR_CB;
-		goto need_to_wait;
+		goto lock_is_contended;
 
 	case 0:
 		_debug("acquired");
-		break;
+		afs_set_lock_state(vnode, AFS_VNODE_LOCK_GRANTED);
+		afs_grant_locks(vnode);
+		goto vnode_is_locked_u;
 	}
 
-	/* we've acquired a server lock, but it needs to be renewed after 5
-	 * mins */
-	vnode->lock_state = AFS_VNODE_LOCK_GRANTED;
-	afs_schedule_lock_extension(vnode);
-
-share_existing_lock:
-	/* the lock has been granted as far as we're concerned... */
-	fl->fl_u.afs.state = AFS_LOCK_GRANTED;
-	list_move_tail(&fl->fl_u.afs.link, &vnode->granted_locks);
-
-given_lock:
-	/* ... but we do still need to get the VFS's blessing */
+vnode_is_locked_u:
 	spin_unlock(&vnode->lock);
+vnode_is_locked:
+	/* the lock has been granted by the server... */
+	ASSERTCMP(fl->fl_u.afs.state, ==, AFS_LOCK_GRANTED);
 
-	ret = posix_lock_file(file, fl, NULL);
+	/* ... but the VFS still needs to distribute access on this client. */
+	ret = locks_lock_file_wait(file, fl);
 	if (ret < 0)
 		goto vfs_rejected_lock;
 
@@ -528,38 +490,61 @@
 	_leave(" = 0");
 	return 0;
 
+lock_is_contended:
+	if (!(fl->fl_flags & FL_SLEEP)) {
+		list_del_init(&fl->fl_u.afs.link);
+		afs_next_locker(vnode, 0);
+		ret = -EAGAIN;
+		goto error_unlock;
+	}
+
+	afs_set_lock_state(vnode, AFS_VNODE_LOCK_WAITING_FOR_CB);
+	queue_delayed_work(afs_lock_manager, &vnode->lock_work, HZ * 5);
+
 need_to_wait:
 	/* We're going to have to wait.  Either this client doesn't have a lock
 	 * on the server yet and we need to wait for a callback to occur, or
-	 * the client does have a lock on the server, but it belongs to some
-	 * other process(es) and is incompatible with the lock we want.
+	 * the client does have a lock on the server, but it's shared and we
+	 * need an exclusive lock.
 	 */
-	ret = -EAGAIN;
-	if (fl->fl_flags & FL_SLEEP) {
-		spin_unlock(&vnode->lock);
+	spin_unlock(&vnode->lock);
 
-		_debug("sleep");
-		ret = wait_event_interruptible(fl->fl_wait,
-					       fl->fl_u.afs.state != AFS_LOCK_PENDING);
+	_debug("sleep");
+	ret = wait_event_interruptible(fl->fl_wait,
+				       fl->fl_u.afs.state != AFS_LOCK_PENDING);
+	_debug("wait = %d", ret);
 
+	if (fl->fl_u.afs.state >= 0 && fl->fl_u.afs.state != AFS_LOCK_GRANTED) {
 		spin_lock(&vnode->lock);
+
+		switch (fl->fl_u.afs.state) {
+		case AFS_LOCK_YOUR_TRY:
+			fl->fl_u.afs.state = AFS_LOCK_PENDING;
+			goto try_to_lock;
+		case AFS_LOCK_PENDING:
+			if (ret > 0) {
+				/* We need to retry the lock.  We may not be
+				 * notified by the server if it just expired
+				 * rather than being released.
+				 */
+				ASSERTCMP(vnode->lock_state, ==, AFS_VNODE_LOCK_WAITING_FOR_CB);
+				afs_set_lock_state(vnode, AFS_VNODE_LOCK_SETTING);
+				fl->fl_u.afs.state = AFS_LOCK_PENDING;
+				goto try_to_lock;
+			}
+			goto error_unlock;
+		case AFS_LOCK_GRANTED:
+		default:
+			break;
+		}
+
+		spin_unlock(&vnode->lock);
 	}
 
 	if (fl->fl_u.afs.state == AFS_LOCK_GRANTED)
-		goto given_lock;
-	if (fl->fl_u.afs.state < 0)
-		ret = fl->fl_u.afs.state;
-
-abort_attempt:
-	/* we aren't going to get the lock, either because we're unwilling to
-	 * wait, or because some signal happened */
-	_debug("abort");
-	afs_dequeue_lock(vnode, fl);
-
-error_unlock:
-	spin_unlock(&vnode->lock);
-	_leave(" = %d", ret);
-	return ret;
+		goto vnode_is_locked;
+	ret = fl->fl_u.afs.state;
+	goto error;
 
 vfs_rejected_lock:
 	/* The VFS rejected the lock we just obtained, so we have to discard
@@ -569,9 +554,13 @@
 	_debug("vfs refused %d", ret);
 	spin_lock(&vnode->lock);
 	list_del_init(&fl->fl_u.afs.link);
-	if (list_empty(&vnode->granted_locks))
-		afs_defer_unlock(vnode);
-	goto error_unlock;
+	afs_defer_unlock(vnode);
+
+error_unlock:
+	spin_unlock(&vnode->lock);
+error:
+	_leave(" = %d", ret);
+	return ret;
 }
 
 /*
@@ -587,11 +576,7 @@
 	/* Flush all pending writes before doing anything with locks. */
 	vfs_fsync(file, 0);
 
-	/* only whole-file unlocks are supported */
-	if (fl->fl_start != 0 || fl->fl_end != OFFSET_MAX)
-		return -EINVAL;
-
-	ret = posix_lock_file(file, fl, NULL);
+	ret = locks_lock_file_wait(file, fl);
 	_leave(" = %d [%u]", ret, vnode->lock_state);
 	return ret;
 }
@@ -618,12 +603,15 @@
 			goto error;
 
 		lock_count = READ_ONCE(vnode->status.lock_count);
-		if (lock_count > 0)
-			fl->fl_type = F_RDLCK;
-		else
-			fl->fl_type = F_WRLCK;
-		fl->fl_start = 0;
-		fl->fl_end = OFFSET_MAX;
+		if (lock_count != 0) {
+			if (lock_count > 0)
+				fl->fl_type = F_RDLCK;
+			else
+				fl->fl_type = F_WRLCK;
+			fl->fl_start = 0;
+			fl->fl_end = OFFSET_MAX;
+			fl->fl_pid = 0;
+		}
 	}
 
 	ret = 0;
@@ -710,7 +698,11 @@
 	_enter("");
 
 	spin_lock(&vnode->lock);
-	afs_dequeue_lock(vnode, fl);
+
+	list_del_init(&fl->fl_u.afs.link);
+	if (list_empty(&vnode->granted_locks))
+		afs_defer_unlock(vnode);
+
 	_debug("state %u for %p", vnode->lock_state, vnode);
 	spin_unlock(&vnode->lock);
 }
diff --git a/fs/afs/inode.c b/fs/afs/inode.c
index 0726e40..e6f11da 100644
--- a/fs/afs/inode.c
+++ b/fs/afs/inode.c
@@ -398,12 +398,9 @@
 			vnode->cb_s_break = vnode->cb_interest->server->cb_s_break;
 			vnode->cb_v_break = vnode->volume->cb_v_break;
 			valid = false;
-		} else if (vnode->status.type == AFS_FTYPE_DIR &&
-			   (!test_bit(AFS_VNODE_DIR_VALID, &vnode->flags) ||
-			    vnode->cb_expires_at - 10 <= now)) {
+		} else if (test_bit(AFS_VNODE_ZAP_DATA, &vnode->flags)) {
 			valid = false;
-		} else if (test_bit(AFS_VNODE_ZAP_DATA, &vnode->flags) ||
-			   vnode->cb_expires_at - 10 <= now) {
+		} else if (vnode->cb_expires_at - 10 <= now) {
 			valid = false;
 		} else {
 			valid = true;
@@ -541,6 +538,7 @@
 	}
 #endif
 
+	afs_prune_wb_keys(vnode);
 	afs_put_permits(rcu_access_pointer(vnode->permit_cache));
 	key_put(vnode->lock_key);
 	vnode->lock_key = NULL;
diff --git a/fs/afs/rxrpc.c b/fs/afs/rxrpc.c
index 2543f24..560dd5f 100644
--- a/fs/afs/rxrpc.c
+++ b/fs/afs/rxrpc.c
@@ -573,6 +573,7 @@
 			call->need_attention = false;
 			__set_current_state(TASK_RUNNING);
 			afs_deliver_to_call(call);
+			timeout = rtt2;
 			continue;
 		}
 
diff --git a/fs/afs/security.c b/fs/afs/security.c
index 81dfedb..66042b4 100644
--- a/fs/afs/security.c
+++ b/fs/afs/security.c
@@ -87,11 +87,9 @@
 	permits = rcu_dereference_protected(vnode->permit_cache,
 					    lockdep_is_held(&vnode->lock));
 	RCU_INIT_POINTER(vnode->permit_cache, NULL);
-	vnode->cb_break++;
 	spin_unlock(&vnode->lock);
 
-	if (permits)
-		afs_put_permits(permits);
+	afs_put_permits(permits);
 }
 
 /*
diff --git a/fs/afs/super.c b/fs/afs/super.c
index bd26082..4961d32 100644
--- a/fs/afs/super.c
+++ b/fs/afs/super.c
@@ -356,6 +356,7 @@
 	return (as->net_ns == as1->net_ns &&
 		as->volume &&
 		as->volume->vid == as1->volume->vid &&
+		as->cell == as1->cell &&
 		!as->dyn_root);
 }
 
@@ -392,6 +393,7 @@
 	/* fill in the superblock */
 	sb->s_blocksize		= PAGE_SIZE;
 	sb->s_blocksize_bits	= PAGE_SHIFT;
+	sb->s_maxbytes		= MAX_LFS_FILESIZE;
 	sb->s_magic		= AFS_FS_MAGIC;
 	sb->s_op		= &afs_super_ops;
 	if (!as->dyn_root)
diff --git a/fs/afs/xattr.c b/fs/afs/xattr.c
index cfcc674..411f67c 100644
--- a/fs/afs/xattr.c
+++ b/fs/afs/xattr.c
@@ -50,7 +50,7 @@
 		return namelen;
 	if (namelen > size)
 		return -ERANGE;
-	memcpy(buffer, cell->name, size);
+	memcpy(buffer, cell->name, namelen);
 	return namelen;
 }
 
@@ -104,7 +104,7 @@
 		return namelen;
 	if (namelen > size)
 		return -ERANGE;
-	memcpy(buffer, volname, size);
+	memcpy(buffer, volname, namelen);
 	return namelen;
 }
 
diff --git a/fs/aio.c b/fs/aio.c
index 911e230..b5fbf20 100644
--- a/fs/aio.c
+++ b/fs/aio.c
@@ -1600,6 +1600,14 @@
 	return 0;
 }
 
+static void aio_poll_put_work(struct work_struct *work)
+{
+	struct poll_iocb *req = container_of(work, struct poll_iocb, work);
+	struct aio_kiocb *iocb = container_of(req, struct aio_kiocb, poll);
+
+	iocb_put(iocb);
+}
+
 static void aio_poll_complete_work(struct work_struct *work)
 {
 	struct poll_iocb *req = container_of(work, struct poll_iocb, work);
@@ -1664,6 +1672,8 @@
 	list_del_init(&req->wait.entry);
 
 	if (mask && spin_trylock_irqsave(&iocb->ki_ctx->ctx_lock, flags)) {
+		struct kioctx *ctx = iocb->ki_ctx;
+
 		/*
 		 * Try to complete the iocb inline if we can. Use
 		 * irqsave/irqrestore because not all filesystems (e.g. fuse)
@@ -1673,8 +1683,14 @@
 		list_del(&iocb->ki_list);
 		iocb->ki_res.res = mangle_poll(mask);
 		req->done = true;
-		spin_unlock_irqrestore(&iocb->ki_ctx->ctx_lock, flags);
-		iocb_put(iocb);
+		if (iocb->ki_eventfd && eventfd_signal_count()) {
+			iocb = NULL;
+			INIT_WORK(&req->work, aio_poll_put_work);
+			schedule_work(&req->work);
+		}
+		spin_unlock_irqrestore(&ctx->ctx_lock, flags);
+		if (iocb)
+			iocb_put(iocb);
 	} else {
 		schedule_work(&req->work);
 	}
diff --git a/fs/btrfs/check-integrity.c b/fs/btrfs/check-integrity.c
index 833cf3c..3b77c8a 100644
--- a/fs/btrfs/check-integrity.c
+++ b/fs/btrfs/check-integrity.c
@@ -629,7 +629,6 @@
 static int btrfsic_process_superblock(struct btrfsic_state *state,
 				      struct btrfs_fs_devices *fs_devices)
 {
-	struct btrfs_fs_info *fs_info = state->fs_info;
 	struct btrfs_super_block *selected_super;
 	struct list_head *dev_head = &fs_devices->devices;
 	struct btrfs_device *device;
@@ -700,7 +699,7 @@
 			break;
 		}
 
-		num_copies = btrfs_num_copies(fs_info, next_bytenr,
+		num_copies = btrfs_num_copies(state->fs_info, next_bytenr,
 					      state->metablock_size);
 		if (state->print_mask & BTRFSIC_PRINT_MASK_NUM_COPIES)
 			pr_info("num_copies(log_bytenr=%llu) = %d\n",
diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c
index 84ff398..c9943d7 100644
--- a/fs/btrfs/ctree.c
+++ b/fs/btrfs/ctree.c
@@ -337,12 +337,10 @@
 			   struct seq_list *elem)
 {
 	write_lock(&fs_info->tree_mod_log_lock);
-	spin_lock(&fs_info->tree_mod_seq_lock);
 	if (!elem->seq) {
 		elem->seq = btrfs_inc_tree_mod_seq(fs_info);
 		list_add_tail(&elem->list, &fs_info->tree_mod_seq_list);
 	}
-	spin_unlock(&fs_info->tree_mod_seq_lock);
 	write_unlock(&fs_info->tree_mod_log_lock);
 
 	return elem->seq;
@@ -362,7 +360,7 @@
 	if (!seq_putting)
 		return;
 
-	spin_lock(&fs_info->tree_mod_seq_lock);
+	write_lock(&fs_info->tree_mod_log_lock);
 	list_del(&elem->list);
 	elem->seq = 0;
 
@@ -373,19 +371,17 @@
 				 * blocker with lower sequence number exists, we
 				 * cannot remove anything from the log
 				 */
-				spin_unlock(&fs_info->tree_mod_seq_lock);
+				write_unlock(&fs_info->tree_mod_log_lock);
 				return;
 			}
 			min_seq = cur_elem->seq;
 		}
 	}
-	spin_unlock(&fs_info->tree_mod_seq_lock);
 
 	/*
 	 * anything that's lower than the lowest existing (read: blocked)
 	 * sequence number can be removed from the tree.
 	 */
-	write_lock(&fs_info->tree_mod_log_lock);
 	tm_root = &fs_info->tree_mod_log;
 	for (node = rb_first(tm_root); node; node = next) {
 		next = rb_next(node);
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index d24ecbf..15cb96a 100644
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -893,14 +893,12 @@
 	struct list_head delayed_iputs;
 	struct mutex cleaner_delayed_iput_mutex;
 
-	/* this protects tree_mod_seq_list */
-	spinlock_t tree_mod_seq_lock;
 	atomic64_t tree_mod_seq;
-	struct list_head tree_mod_seq_list;
 
-	/* this protects tree_mod_log */
+	/* this protects tree_mod_log and tree_mod_seq_list */
 	rwlock_t tree_mod_log_lock;
 	struct rb_root tree_mod_log;
+	struct list_head tree_mod_seq_list;
 
 	atomic_t async_delalloc_pages;
 
diff --git a/fs/btrfs/delayed-ref.c b/fs/btrfs/delayed-ref.c
index 7e5c81e..09a1211 100644
--- a/fs/btrfs/delayed-ref.c
+++ b/fs/btrfs/delayed-ref.c
@@ -301,7 +301,7 @@
 	if (head->is_data)
 		return;
 
-	spin_lock(&fs_info->tree_mod_seq_lock);
+	read_lock(&fs_info->tree_mod_log_lock);
 	if (!list_empty(&fs_info->tree_mod_seq_list)) {
 		struct seq_list *elem;
 
@@ -309,7 +309,7 @@
 					struct seq_list, list);
 		seq = elem->seq;
 	}
-	spin_unlock(&fs_info->tree_mod_seq_lock);
+	read_unlock(&fs_info->tree_mod_log_lock);
 
 again:
 	for (node = rb_first(&head->ref_tree); node; node = rb_next(node)) {
@@ -326,7 +326,7 @@
 	struct seq_list *elem;
 	int ret = 0;
 
-	spin_lock(&fs_info->tree_mod_seq_lock);
+	read_lock(&fs_info->tree_mod_log_lock);
 	if (!list_empty(&fs_info->tree_mod_seq_list)) {
 		elem = list_first_entry(&fs_info->tree_mod_seq_list,
 					struct seq_list, list);
@@ -339,7 +339,7 @@
 		}
 	}
 
-	spin_unlock(&fs_info->tree_mod_seq_lock);
+	read_unlock(&fs_info->tree_mod_log_lock);
 	return ret;
 }
 
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index e12c37f..b5039b1 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -2031,7 +2031,7 @@
 }
 
 /* helper to cleanup tree roots */
-static void free_root_pointers(struct btrfs_fs_info *info, int chunk_root)
+static void free_root_pointers(struct btrfs_fs_info *info, bool free_chunk_root)
 {
 	free_root_extent_buffers(info->tree_root);
 
@@ -2040,7 +2040,7 @@
 	free_root_extent_buffers(info->csum_root);
 	free_root_extent_buffers(info->quota_root);
 	free_root_extent_buffers(info->uuid_root);
-	if (chunk_root)
+	if (free_chunk_root)
 		free_root_extent_buffers(info->chunk_root);
 	free_root_extent_buffers(info->free_space_root);
 }
@@ -2645,7 +2645,6 @@
 	spin_lock_init(&fs_info->fs_roots_radix_lock);
 	spin_lock_init(&fs_info->delayed_iput_lock);
 	spin_lock_init(&fs_info->defrag_inodes_lock);
-	spin_lock_init(&fs_info->tree_mod_seq_lock);
 	spin_lock_init(&fs_info->super_lock);
 	spin_lock_init(&fs_info->qgroup_op_lock);
 	spin_lock_init(&fs_info->buffer_lock);
@@ -3118,6 +3117,7 @@
 	/* do not make disk changes in broken FS or nologreplay is given */
 	if (btrfs_super_log_root(disk_super) != 0 &&
 	    !btrfs_test_opt(fs_info, NOLOGREPLAY)) {
+		btrfs_info(fs_info, "start tree-log replay");
 		ret = btrfs_replay_log(fs_info, fs_devices);
 		if (ret) {
 			err = ret;
@@ -3153,6 +3153,7 @@
 	if (IS_ERR(fs_info->fs_root)) {
 		err = PTR_ERR(fs_info->fs_root);
 		btrfs_warn(fs_info, "failed to read fs tree: %d", err);
+		fs_info->fs_root = NULL;
 		goto fail_qgroup;
 	}
 
@@ -3274,7 +3275,7 @@
 	btrfs_put_block_group_cache(fs_info);
 
 fail_tree_roots:
-	free_root_pointers(fs_info, 1);
+	free_root_pointers(fs_info, true);
 	invalidate_inode_pages2(fs_info->btree_inode->i_mapping);
 
 fail_sb_buffer:
@@ -3302,7 +3303,7 @@
 	if (!btrfs_test_opt(fs_info, USEBACKUPROOT))
 		goto fail_tree_roots;
 
-	free_root_pointers(fs_info, 0);
+	free_root_pointers(fs_info, false);
 
 	/* don't use the log in recovery mode, it won't be valid */
 	btrfs_set_super_log_root(disk_super, 0);
@@ -3984,10 +3985,17 @@
 	invalidate_inode_pages2(fs_info->btree_inode->i_mapping);
 	btrfs_stop_all_workers(fs_info);
 
-	btrfs_free_block_groups(fs_info);
-
 	clear_bit(BTRFS_FS_OPEN, &fs_info->flags);
-	free_root_pointers(fs_info, 1);
+	free_root_pointers(fs_info, true);
+
+	/*
+	 * We must free the block groups after dropping the fs_roots as we could
+	 * have had an IO error and have left over tree log blocks that aren't
+	 * cleaned up until the fs roots are freed.  This makes the block group
+	 * accounting appear to be wrong because there's pending reserved bytes,
+	 * so make sure we do the block group cleanup afterwards.
+	 */
+	btrfs_free_block_groups(fs_info);
 
 	iput(fs_info->btree_inode);
 
@@ -4461,7 +4469,6 @@
 	wake_up(&fs_info->transaction_wait);
 
 	btrfs_destroy_delayed_inodes(fs_info);
-	btrfs_assert_delayed_root_empty(fs_info);
 
 	btrfs_destroy_marked_extents(fs_info, &cur_trans->dirty_pages,
 				     EXTENT_DIRTY);
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
index fed4439..11efb4f 100644
--- a/fs/btrfs/extent_io.c
+++ b/fs/btrfs/extent_io.c
@@ -4014,6 +4014,14 @@
 		 */
 		scanned = 1;
 		index = 0;
+
+		/*
+		 * If we're looping we could run into a page that is locked by a
+		 * writer and that writer could be waiting on writeback for a
+		 * page in our current bio, and thus deadlock, so flush the
+		 * write bio here.
+		 */
+		flush_write_bio(epd);
 		goto retry;
 	}
 
diff --git a/fs/btrfs/extent_map.c b/fs/btrfs/extent_map.c
index 6648d55..813425d 100644
--- a/fs/btrfs/extent_map.c
+++ b/fs/btrfs/extent_map.c
@@ -228,6 +228,17 @@
 	struct extent_map *merge = NULL;
 	struct rb_node *rb;
 
+	/*
+	 * We can't modify an extent map that is in the tree and that is being
+	 * used by another task, as it can cause that other task to see it in
+	 * inconsistent state during the merging. We always have 1 reference for
+	 * the tree and 1 for this task (which is unpinning the extent map or
+	 * clearing the logging flag), so anything > 2 means it's being used by
+	 * other tasks too.
+	 */
+	if (refcount_read(&em->refs) > 2)
+		return;
+
 	if (em->start != 0) {
 		rb = rb_prev(&em->rb_node);
 		if (rb)
diff --git a/fs/btrfs/file-item.c b/fs/btrfs/file-item.c
index 4cf2817..f9e280d 100644
--- a/fs/btrfs/file-item.c
+++ b/fs/btrfs/file-item.c
@@ -275,7 +275,8 @@
 		csum += count * csum_size;
 		nblocks -= count;
 next:
-		while (count--) {
+		while (count > 0) {
+			count--;
 			disk_bytenr += fs_info->sectorsize;
 			offset += fs_info->sectorsize;
 			page_bytes_left -= fs_info->sectorsize;
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c
index d9d90f0..c2c93fe 100644
--- a/fs/btrfs/file.c
+++ b/fs/btrfs/file.c
@@ -1895,7 +1895,7 @@
 	bool sync = (file->f_flags & O_DSYNC) || IS_SYNC(file->f_mapping->host);
 	ssize_t err;
 	loff_t pos;
-	size_t count = iov_iter_count(from);
+	size_t count;
 	loff_t oldsize;
 	int clean_page = 0;
 
@@ -1903,9 +1903,10 @@
 	    (iocb->ki_flags & IOCB_NOWAIT))
 		return -EOPNOTSUPP;
 
-	if (!inode_trylock(inode)) {
-		if (iocb->ki_flags & IOCB_NOWAIT)
+	if (iocb->ki_flags & IOCB_NOWAIT) {
+		if (!inode_trylock(inode))
 			return -EAGAIN;
+	} else {
 		inode_lock(inode);
 	}
 
@@ -1916,6 +1917,7 @@
 	}
 
 	pos = iocb->ki_pos;
+	count = iov_iter_count(from);
 	if (iocb->ki_flags & IOCB_NOWAIT) {
 		/*
 		 * We will allocate space in case nodatacow is not set,
diff --git a/fs/btrfs/inode-map.c b/fs/btrfs/inode-map.c
index e1b50c6..c7dcb7c 100644
--- a/fs/btrfs/inode-map.c
+++ b/fs/btrfs/inode-map.c
@@ -12,6 +12,19 @@
 #include "inode-map.h"
 #include "transaction.h"
 
+static void fail_caching_thread(struct btrfs_root *root)
+{
+	struct btrfs_fs_info *fs_info = root->fs_info;
+
+	btrfs_warn(fs_info, "failed to start inode caching task");
+	btrfs_clear_pending_and_info(fs_info, INODE_MAP_CACHE,
+				     "disabling inode map caching");
+	spin_lock(&root->ino_cache_lock);
+	root->ino_cache_state = BTRFS_CACHE_ERROR;
+	spin_unlock(&root->ino_cache_lock);
+	wake_up(&root->ino_cache_wait);
+}
+
 static int caching_kthread(void *data)
 {
 	struct btrfs_root *root = data;
@@ -28,8 +41,10 @@
 		return 0;
 
 	path = btrfs_alloc_path();
-	if (!path)
+	if (!path) {
+		fail_caching_thread(root);
 		return -ENOMEM;
+	}
 
 	/* Since the commit root is read-only, we can safely skip locking. */
 	path->skip_locking = 1;
@@ -145,6 +160,7 @@
 		spin_lock(&root->ino_cache_lock);
 		root->ino_cache_state = BTRFS_CACHE_FINISHED;
 		spin_unlock(&root->ino_cache_lock);
+		wake_up(&root->ino_cache_wait);
 		return;
 	}
 
@@ -163,11 +179,8 @@
 
 	tsk = kthread_run(caching_kthread, root, "btrfs-ino-cache-%llu",
 			  root->root_key.objectid);
-	if (IS_ERR(tsk)) {
-		btrfs_warn(fs_info, "failed to start inode caching task");
-		btrfs_clear_pending_and_info(fs_info, INODE_MAP_CACHE,
-					     "disabling inode map caching");
-	}
+	if (IS_ERR(tsk))
+		fail_caching_thread(root);
 }
 
 int btrfs_find_free_ino(struct btrfs_root *root, u64 *objectid)
@@ -185,11 +198,14 @@
 
 	wait_event(root->ino_cache_wait,
 		   root->ino_cache_state == BTRFS_CACHE_FINISHED ||
+		   root->ino_cache_state == BTRFS_CACHE_ERROR ||
 		   root->free_ino_ctl->free_space > 0);
 
 	if (root->ino_cache_state == BTRFS_CACHE_FINISHED &&
 	    root->free_ino_ctl->free_space == 0)
 		return -ENOSPC;
+	else if (root->ino_cache_state == BTRFS_CACHE_ERROR)
+		return btrfs_find_free_objectid(root, objectid);
 	else
 		goto again;
 }
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 70085e9..dec508a 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -4120,18 +4120,30 @@
 }
 
 static int btrfs_unlink_subvol(struct btrfs_trans_handle *trans,
-			       struct inode *dir, u64 objectid,
-			       const char *name, int name_len)
+			       struct inode *dir, struct dentry *dentry)
 {
 	struct btrfs_root *root = BTRFS_I(dir)->root;
+	struct btrfs_inode *inode = BTRFS_I(d_inode(dentry));
 	struct btrfs_path *path;
 	struct extent_buffer *leaf;
 	struct btrfs_dir_item *di;
 	struct btrfs_key key;
+	const char *name = dentry->d_name.name;
+	int name_len = dentry->d_name.len;
 	u64 index;
 	int ret;
+	u64 objectid;
 	u64 dir_ino = btrfs_ino(BTRFS_I(dir));
 
+	if (btrfs_ino(inode) == BTRFS_FIRST_FREE_OBJECTID) {
+		objectid = inode->root->root_key.objectid;
+	} else if (btrfs_ino(inode) == BTRFS_EMPTY_SUBVOL_DIR_OBJECTID) {
+		objectid = inode->location.objectid;
+	} else {
+		WARN_ON(1);
+		return -EINVAL;
+	}
+
 	path = btrfs_alloc_path();
 	if (!path)
 		return -ENOMEM;
@@ -4156,13 +4168,16 @@
 	}
 	btrfs_release_path(path);
 
-	ret = btrfs_del_root_ref(trans, objectid, root->root_key.objectid,
-				 dir_ino, &index, name, name_len);
-	if (ret < 0) {
-		if (ret != -ENOENT) {
-			btrfs_abort_transaction(trans, ret);
-			goto out;
-		}
+	/*
+	 * This is a placeholder inode for a subvolume we didn't have a
+	 * reference to at the time of the snapshot creation.  In the meantime
+	 * we could have renamed the real subvol link into our snapshot, so
+	 * depending on btrfs_del_root_ref to return -ENOENT here is incorret.
+	 * Instead simply lookup the dir_index_item for this entry so we can
+	 * remove it.  Otherwise we know we have a ref to the root and we can
+	 * call btrfs_del_root_ref, and it _shouldn't_ fail.
+	 */
+	if (btrfs_ino(inode) == BTRFS_EMPTY_SUBVOL_DIR_OBJECTID) {
 		di = btrfs_search_dir_index_item(root, path, dir_ino,
 						 name, name_len);
 		if (IS_ERR_OR_NULL(di)) {
@@ -4177,8 +4192,16 @@
 		leaf = path->nodes[0];
 		btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
 		index = key.offset;
+		btrfs_release_path(path);
+	} else {
+		ret = btrfs_del_root_ref(trans, objectid,
+					 root->root_key.objectid, dir_ino,
+					 &index, name, name_len);
+		if (ret) {
+			btrfs_abort_transaction(trans, ret);
+			goto out;
+		}
 	}
-	btrfs_release_path(path);
 
 	ret = btrfs_delete_delayed_dir_index(trans, BTRFS_I(dir), index);
 	if (ret) {
@@ -4373,8 +4396,7 @@
 
 	btrfs_record_snapshot_destroy(trans, BTRFS_I(dir));
 
-	ret = btrfs_unlink_subvol(trans, dir, dest->root_key.objectid,
-				  dentry->d_name.name, dentry->d_name.len);
+	ret = btrfs_unlink_subvol(trans, dir, dentry);
 	if (ret) {
 		err = ret;
 		btrfs_abort_transaction(trans, ret);
@@ -4469,10 +4491,7 @@
 		return PTR_ERR(trans);
 
 	if (unlikely(btrfs_ino(BTRFS_I(inode)) == BTRFS_EMPTY_SUBVOL_DIR_OBJECTID)) {
-		err = btrfs_unlink_subvol(trans, dir,
-					  BTRFS_I(inode)->location.objectid,
-					  dentry->d_name.name,
-					  dentry->d_name.len);
+		err = btrfs_unlink_subvol(trans, dir, dentry);
 		goto out;
 	}
 
@@ -9471,7 +9490,6 @@
 	u64 new_ino = btrfs_ino(BTRFS_I(new_inode));
 	u64 old_idx = 0;
 	u64 new_idx = 0;
-	u64 root_objectid;
 	int ret;
 	bool root_log_pinned = false;
 	bool dest_log_pinned = false;
@@ -9577,10 +9595,7 @@
 
 	/* src is a subvolume */
 	if (old_ino == BTRFS_FIRST_FREE_OBJECTID) {
-		root_objectid = BTRFS_I(old_inode)->root->root_key.objectid;
-		ret = btrfs_unlink_subvol(trans, old_dir, root_objectid,
-					  old_dentry->d_name.name,
-					  old_dentry->d_name.len);
+		ret = btrfs_unlink_subvol(trans, old_dir, old_dentry);
 	} else { /* src is an inode */
 		ret = __btrfs_unlink_inode(trans, root, BTRFS_I(old_dir),
 					   BTRFS_I(old_dentry->d_inode),
@@ -9596,10 +9611,7 @@
 
 	/* dest is a subvolume */
 	if (new_ino == BTRFS_FIRST_FREE_OBJECTID) {
-		root_objectid = BTRFS_I(new_inode)->root->root_key.objectid;
-		ret = btrfs_unlink_subvol(trans, new_dir, root_objectid,
-					  new_dentry->d_name.name,
-					  new_dentry->d_name.len);
+		ret = btrfs_unlink_subvol(trans, new_dir, new_dentry);
 	} else { /* dest is an inode */
 		ret = __btrfs_unlink_inode(trans, dest, BTRFS_I(new_dir),
 					   BTRFS_I(new_dentry->d_inode),
@@ -9797,7 +9809,6 @@
 	struct inode *new_inode = d_inode(new_dentry);
 	struct inode *old_inode = d_inode(old_dentry);
 	u64 index = 0;
-	u64 root_objectid;
 	int ret;
 	u64 old_ino = btrfs_ino(BTRFS_I(old_inode));
 	bool log_pinned = false;
@@ -9905,10 +9916,7 @@
 				BTRFS_I(old_inode), 1);
 
 	if (unlikely(old_ino == BTRFS_FIRST_FREE_OBJECTID)) {
-		root_objectid = BTRFS_I(old_inode)->root->root_key.objectid;
-		ret = btrfs_unlink_subvol(trans, old_dir, root_objectid,
-					old_dentry->d_name.name,
-					old_dentry->d_name.len);
+		ret = btrfs_unlink_subvol(trans, old_dir, old_dentry);
 	} else {
 		ret = __btrfs_unlink_inode(trans, root, BTRFS_I(old_dir),
 					BTRFS_I(d_inode(old_dentry)),
@@ -9927,10 +9935,7 @@
 		new_inode->i_ctime = current_time(new_inode);
 		if (unlikely(btrfs_ino(BTRFS_I(new_inode)) ==
 			     BTRFS_EMPTY_SUBVOL_DIR_OBJECTID)) {
-			root_objectid = BTRFS_I(new_inode)->location.objectid;
-			ret = btrfs_unlink_subvol(trans, new_dir, root_objectid,
-						new_dentry->d_name.name,
-						new_dentry->d_name.len);
+			ret = btrfs_unlink_subvol(trans, new_dir, new_dentry);
 			BUG_ON(new_inode->i_nlink == 0);
 		} else {
 			ret = btrfs_unlink_inode(trans, dest, BTRFS_I(new_dir),
@@ -10343,6 +10348,7 @@
 	struct btrfs_root *root = BTRFS_I(inode)->root;
 	struct btrfs_key ins;
 	u64 cur_offset = start;
+	u64 clear_offset = start;
 	u64 i_size;
 	u64 cur_bytes;
 	u64 last_alloc = (u64)-1;
@@ -10377,6 +10383,15 @@
 				btrfs_end_transaction(trans);
 			break;
 		}
+
+		/*
+		 * We've reserved this space, and thus converted it from
+		 * ->bytes_may_use to ->bytes_reserved.  Any error that happens
+		 * from here on out we will only need to clear our reservation
+		 * for the remaining unreserved area, so advance our
+		 * clear_offset by our extent size.
+		 */
+		clear_offset += ins.offset;
 		btrfs_dec_block_group_reservations(fs_info, ins.objectid);
 
 		last_alloc = ins.offset;
@@ -10457,9 +10472,9 @@
 		if (own_trans)
 			btrfs_end_transaction(trans);
 	}
-	if (cur_offset < end)
-		btrfs_free_reserved_data_space(inode, NULL, cur_offset,
-			end - cur_offset + 1);
+	if (clear_offset < end)
+		btrfs_free_reserved_data_space(inode, NULL, clear_offset,
+			end - clear_offset + 1);
 	return ret;
 }
 
diff --git a/fs/btrfs/ordered-data.c b/fs/btrfs/ordered-data.c
index 0c4ef20..0f6d53e 100644
--- a/fs/btrfs/ordered-data.c
+++ b/fs/btrfs/ordered-data.c
@@ -712,10 +712,15 @@
 		}
 		btrfs_start_ordered_extent(inode, ordered, 1);
 		end = ordered->file_offset;
+		/*
+		 * If the ordered extent had an error save the error but don't
+		 * exit without waiting first for all other ordered extents in
+		 * the range to complete.
+		 */
 		if (test_bit(BTRFS_ORDERED_IOERR, &ordered->flags))
 			ret = -EIO;
 		btrfs_put_ordered_extent(ordered);
-		if (ret || end == 0 || end == start)
+		if (end == 0 || end == start)
 			break;
 		end--;
 	}
diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
index 7916f71..0cd043f 100644
--- a/fs/btrfs/qgroup.c
+++ b/fs/btrfs/qgroup.c
@@ -2055,8 +2055,12 @@
 	u64 nr_old_roots = 0;
 	int ret = 0;
 
+	/*
+	 * If quotas get disabled meanwhile, the resouces need to be freed and
+	 * we can't just exit here.
+	 */
 	if (!test_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags))
-		return 0;
+		goto out_free;
 
 	if (new_roots) {
 		if (!maybe_fs_roots(new_roots))
diff --git a/fs/btrfs/ref-verify.c b/fs/btrfs/ref-verify.c
index cd2a586..dbc685c 100644
--- a/fs/btrfs/ref-verify.c
+++ b/fs/btrfs/ref-verify.c
@@ -747,6 +747,7 @@
 		 */
 		be = add_block_entry(root->fs_info, bytenr, num_bytes, ref_root);
 		if (IS_ERR(be)) {
+			kfree(ref);
 			kfree(ra);
 			ret = PTR_ERR(be);
 			goto out;
@@ -760,6 +761,8 @@
 			"re-allocated a block that still has references to it!");
 			dump_block_entry(fs_info, be);
 			dump_ref_action(fs_info, ra);
+			kfree(ref);
+			kfree(ra);
 			goto out_unlock;
 		}
 
@@ -822,6 +825,7 @@
 "dropping a ref for a existing root that doesn't have a ref on the block");
 				dump_block_entry(fs_info, be);
 				dump_ref_action(fs_info, ra);
+				kfree(ref);
 				kfree(ra);
 				goto out_unlock;
 			}
@@ -837,6 +841,7 @@
 "attempting to add another ref for an existing ref on a tree block");
 			dump_block_entry(fs_info, be);
 			dump_ref_action(fs_info, ra);
+			kfree(ref);
 			kfree(ra);
 			goto out_unlock;
 		}
diff --git a/fs/btrfs/root-tree.c b/fs/btrfs/root-tree.c
index 3228d3b..b309f29 100644
--- a/fs/btrfs/root-tree.c
+++ b/fs/btrfs/root-tree.c
@@ -370,11 +370,13 @@
 		leaf = path->nodes[0];
 		ref = btrfs_item_ptr(leaf, path->slots[0],
 				     struct btrfs_root_ref);
-
-		WARN_ON(btrfs_root_ref_dirid(leaf, ref) != dirid);
-		WARN_ON(btrfs_root_ref_name_len(leaf, ref) != name_len);
 		ptr = (unsigned long)(ref + 1);
-		WARN_ON(memcmp_extent_buffer(leaf, name, ptr, name_len));
+		if ((btrfs_root_ref_dirid(leaf, ref) != dirid) ||
+		    (btrfs_root_ref_name_len(leaf, ref) != name_len) ||
+		    memcmp_extent_buffer(leaf, name, ptr, name_len)) {
+			err = -ENOENT;
+			goto out;
+		}
 		*sequence = btrfs_root_ref_sequence(leaf, ref);
 
 		ret = btrfs_del_item(trans, tree_root, path);
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c
index ddbad8d..6a5b16a 100644
--- a/fs/btrfs/super.c
+++ b/fs/btrfs/super.c
@@ -1857,6 +1857,8 @@
 		}
 
 		if (btrfs_super_log_root(fs_info->super_copy) != 0) {
+			btrfs_warn(fs_info,
+		"mount required to replay tree-log, cannot remount read-write");
 			ret = -EINVAL;
 			goto restore;
 		}
@@ -2167,7 +2169,15 @@
 	 */
 	thresh = SZ_4M;
 
-	if (!mixed && total_free_meta - thresh < block_rsv->size)
+	/*
+	 * We only want to claim there's no available space if we can no longer
+	 * allocate chunks for our metadata profile and our global reserve will
+	 * not fit in the free metadata space.  If we aren't ->full then we
+	 * still can allocate chunks and thus are fine using the currently
+	 * calculated f_bavail.
+	 */
+	if (!mixed && block_rsv->space_info->full &&
+	    total_free_meta - thresh < block_rsv->size)
 		buf->f_bavail = 0;
 
 	buf->f_type = BTRFS_SUPER_MAGIC;
diff --git a/fs/btrfs/tests/btrfs-tests.c b/fs/btrfs/tests/btrfs-tests.c
index db72b3b..2eec1dd 100644
--- a/fs/btrfs/tests/btrfs-tests.c
+++ b/fs/btrfs/tests/btrfs-tests.c
@@ -102,7 +102,6 @@
 	spin_lock_init(&fs_info->qgroup_op_lock);
 	spin_lock_init(&fs_info->super_lock);
 	spin_lock_init(&fs_info->fs_roots_radix_lock);
-	spin_lock_init(&fs_info->tree_mod_seq_lock);
 	mutex_init(&fs_info->qgroup_ioctl_lock);
 	mutex_init(&fs_info->qgroup_rescan_lock);
 	rwlock_init(&fs_info->tree_mod_log_lock);
diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c
index 26317bc..4b1491e 100644
--- a/fs/btrfs/transaction.c
+++ b/fs/btrfs/transaction.c
@@ -1936,6 +1936,14 @@
 	struct btrfs_transaction *prev_trans = NULL;
 	int ret;
 
+	/*
+	 * Some places just start a transaction to commit it.  We need to make
+	 * sure that if this commit fails that the abort code actually marks the
+	 * transaction as failed, so set trans->dirty to make the abort code do
+	 * the right thing.
+	 */
+	trans->dirty = true;
+
 	/* Stop the commit early if ->aborted is set */
 	if (unlikely(READ_ONCE(cur_trans->aborted))) {
 		ret = cur_trans->aborted;
diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c
index fe7165c..d4c86c6 100644
--- a/fs/btrfs/tree-log.c
+++ b/fs/btrfs/tree-log.c
@@ -3892,7 +3892,7 @@
 static noinline int copy_items(struct btrfs_trans_handle *trans,
 			       struct btrfs_inode *inode,
 			       struct btrfs_path *dst_path,
-			       struct btrfs_path *src_path, u64 *last_extent,
+			       struct btrfs_path *src_path,
 			       int start_slot, int nr, int inode_only,
 			       u64 logged_isize)
 {
@@ -3903,7 +3903,6 @@
 	struct btrfs_file_extent_item *extent;
 	struct btrfs_inode_item *inode_item;
 	struct extent_buffer *src = src_path->nodes[0];
-	struct btrfs_key first_key, last_key, key;
 	int ret;
 	struct btrfs_key *ins_keys;
 	u32 *ins_sizes;
@@ -3911,9 +3910,6 @@
 	int i;
 	struct list_head ordered_sums;
 	int skip_csum = inode->flags & BTRFS_INODE_NODATASUM;
-	bool has_extents = false;
-	bool need_find_last_extent = true;
-	bool done = false;
 
 	INIT_LIST_HEAD(&ordered_sums);
 
@@ -3922,8 +3918,6 @@
 	if (!ins_data)
 		return -ENOMEM;
 
-	first_key.objectid = (u64)-1;
-
 	ins_sizes = (u32 *)ins_data;
 	ins_keys = (struct btrfs_key *)(ins_data + nr * sizeof(u32));
 
@@ -3944,9 +3938,6 @@
 
 		src_offset = btrfs_item_ptr_offset(src, start_slot + i);
 
-		if (i == nr - 1)
-			last_key = ins_keys[i];
-
 		if (ins_keys[i].type == BTRFS_INODE_ITEM_KEY) {
 			inode_item = btrfs_item_ptr(dst_path->nodes[0],
 						    dst_path->slots[0],
@@ -3960,20 +3951,6 @@
 					   src_offset, ins_sizes[i]);
 		}
 
-		/*
-		 * We set need_find_last_extent here in case we know we were
-		 * processing other items and then walk into the first extent in
-		 * the inode.  If we don't hit an extent then nothing changes,
-		 * we'll do the last search the next time around.
-		 */
-		if (ins_keys[i].type == BTRFS_EXTENT_DATA_KEY) {
-			has_extents = true;
-			if (first_key.objectid == (u64)-1)
-				first_key = ins_keys[i];
-		} else {
-			need_find_last_extent = false;
-		}
-
 		/* take a reference on file data extents so that truncates
 		 * or deletes of this inode don't have to relog the inode
 		 * again
@@ -4039,167 +4016,6 @@
 		kfree(sums);
 	}
 
-	if (!has_extents)
-		return ret;
-
-	if (need_find_last_extent && *last_extent == first_key.offset) {
-		/*
-		 * We don't have any leafs between our current one and the one
-		 * we processed before that can have file extent items for our
-		 * inode (and have a generation number smaller than our current
-		 * transaction id).
-		 */
-		need_find_last_extent = false;
-	}
-
-	/*
-	 * Because we use btrfs_search_forward we could skip leaves that were
-	 * not modified and then assume *last_extent is valid when it really
-	 * isn't.  So back up to the previous leaf and read the end of the last
-	 * extent before we go and fill in holes.
-	 */
-	if (need_find_last_extent) {
-		u64 len;
-
-		ret = btrfs_prev_leaf(inode->root, src_path);
-		if (ret < 0)
-			return ret;
-		if (ret)
-			goto fill_holes;
-		if (src_path->slots[0])
-			src_path->slots[0]--;
-		src = src_path->nodes[0];
-		btrfs_item_key_to_cpu(src, &key, src_path->slots[0]);
-		if (key.objectid != btrfs_ino(inode) ||
-		    key.type != BTRFS_EXTENT_DATA_KEY)
-			goto fill_holes;
-		extent = btrfs_item_ptr(src, src_path->slots[0],
-					struct btrfs_file_extent_item);
-		if (btrfs_file_extent_type(src, extent) ==
-		    BTRFS_FILE_EXTENT_INLINE) {
-			len = btrfs_file_extent_ram_bytes(src, extent);
-			*last_extent = ALIGN(key.offset + len,
-					     fs_info->sectorsize);
-		} else {
-			len = btrfs_file_extent_num_bytes(src, extent);
-			*last_extent = key.offset + len;
-		}
-	}
-fill_holes:
-	/* So we did prev_leaf, now we need to move to the next leaf, but a few
-	 * things could have happened
-	 *
-	 * 1) A merge could have happened, so we could currently be on a leaf
-	 * that holds what we were copying in the first place.
-	 * 2) A split could have happened, and now not all of the items we want
-	 * are on the same leaf.
-	 *
-	 * So we need to adjust how we search for holes, we need to drop the
-	 * path and re-search for the first extent key we found, and then walk
-	 * forward until we hit the last one we copied.
-	 */
-	if (need_find_last_extent) {
-		/* btrfs_prev_leaf could return 1 without releasing the path */
-		btrfs_release_path(src_path);
-		ret = btrfs_search_slot(NULL, inode->root, &first_key,
-				src_path, 0, 0);
-		if (ret < 0)
-			return ret;
-		ASSERT(ret == 0);
-		src = src_path->nodes[0];
-		i = src_path->slots[0];
-	} else {
-		i = start_slot;
-	}
-
-	/*
-	 * Ok so here we need to go through and fill in any holes we may have
-	 * to make sure that holes are punched for those areas in case they had
-	 * extents previously.
-	 */
-	while (!done) {
-		u64 offset, len;
-		u64 extent_end;
-
-		if (i >= btrfs_header_nritems(src_path->nodes[0])) {
-			ret = btrfs_next_leaf(inode->root, src_path);
-			if (ret < 0)
-				return ret;
-			ASSERT(ret == 0);
-			src = src_path->nodes[0];
-			i = 0;
-			need_find_last_extent = true;
-		}
-
-		btrfs_item_key_to_cpu(src, &key, i);
-		if (!btrfs_comp_cpu_keys(&key, &last_key))
-			done = true;
-		if (key.objectid != btrfs_ino(inode) ||
-		    key.type != BTRFS_EXTENT_DATA_KEY) {
-			i++;
-			continue;
-		}
-		extent = btrfs_item_ptr(src, i, struct btrfs_file_extent_item);
-		if (btrfs_file_extent_type(src, extent) ==
-		    BTRFS_FILE_EXTENT_INLINE) {
-			len = btrfs_file_extent_ram_bytes(src, extent);
-			extent_end = ALIGN(key.offset + len,
-					   fs_info->sectorsize);
-		} else {
-			len = btrfs_file_extent_num_bytes(src, extent);
-			extent_end = key.offset + len;
-		}
-		i++;
-
-		if (*last_extent == key.offset) {
-			*last_extent = extent_end;
-			continue;
-		}
-		offset = *last_extent;
-		len = key.offset - *last_extent;
-		ret = btrfs_insert_file_extent(trans, log, btrfs_ino(inode),
-				offset, 0, 0, len, 0, len, 0, 0, 0);
-		if (ret)
-			break;
-		*last_extent = extent_end;
-	}
-
-	/*
-	 * Check if there is a hole between the last extent found in our leaf
-	 * and the first extent in the next leaf. If there is one, we need to
-	 * log an explicit hole so that at replay time we can punch the hole.
-	 */
-	if (ret == 0 &&
-	    key.objectid == btrfs_ino(inode) &&
-	    key.type == BTRFS_EXTENT_DATA_KEY &&
-	    i == btrfs_header_nritems(src_path->nodes[0])) {
-		ret = btrfs_next_leaf(inode->root, src_path);
-		need_find_last_extent = true;
-		if (ret > 0) {
-			ret = 0;
-		} else if (ret == 0) {
-			btrfs_item_key_to_cpu(src_path->nodes[0], &key,
-					      src_path->slots[0]);
-			if (key.objectid == btrfs_ino(inode) &&
-			    key.type == BTRFS_EXTENT_DATA_KEY &&
-			    *last_extent < key.offset) {
-				const u64 len = key.offset - *last_extent;
-
-				ret = btrfs_insert_file_extent(trans, log,
-							       btrfs_ino(inode),
-							       *last_extent, 0,
-							       0, len, 0, len,
-							       0, 0, 0);
-				*last_extent += len;
-			}
-		}
-	}
-	/*
-	 * Need to let the callers know we dropped the path so they should
-	 * re-search.
-	 */
-	if (!ret && need_find_last_extent)
-		ret = 1;
 	return ret;
 }
 
@@ -4365,7 +4181,7 @@
 	const u64 i_size = i_size_read(&inode->vfs_inode);
 	const u64 ino = btrfs_ino(inode);
 	struct btrfs_path *dst_path = NULL;
-	u64 last_extent = (u64)-1;
+	bool dropped_extents = false;
 	int ins_nr = 0;
 	int start_slot;
 	int ret;
@@ -4387,8 +4203,7 @@
 		if (slot >= btrfs_header_nritems(leaf)) {
 			if (ins_nr > 0) {
 				ret = copy_items(trans, inode, dst_path, path,
-						 &last_extent, start_slot,
-						 ins_nr, 1, 0);
+						 start_slot, ins_nr, 1, 0);
 				if (ret < 0)
 					goto out;
 				ins_nr = 0;
@@ -4412,8 +4227,7 @@
 			path->slots[0]++;
 			continue;
 		}
-		if (last_extent == (u64)-1) {
-			last_extent = key.offset;
+		if (!dropped_extents) {
 			/*
 			 * Avoid logging extent items logged in past fsync calls
 			 * and leading to duplicate keys in the log tree.
@@ -4427,6 +4241,7 @@
 			} while (ret == -EAGAIN);
 			if (ret)
 				goto out;
+			dropped_extents = true;
 		}
 		if (ins_nr == 0)
 			start_slot = slot;
@@ -4441,7 +4256,7 @@
 		}
 	}
 	if (ins_nr > 0) {
-		ret = copy_items(trans, inode, dst_path, path, &last_extent,
+		ret = copy_items(trans, inode, dst_path, path,
 				 start_slot, ins_nr, 1, 0);
 		if (ret > 0)
 			ret = 0;
@@ -4636,13 +4451,8 @@
 
 		if (slot >= nritems) {
 			if (ins_nr > 0) {
-				u64 last_extent = 0;
-
 				ret = copy_items(trans, inode, dst_path, path,
-						 &last_extent, start_slot,
-						 ins_nr, 1, 0);
-				/* can't be 1, extent items aren't processed */
-				ASSERT(ret <= 0);
+						 start_slot, ins_nr, 1, 0);
 				if (ret < 0)
 					return ret;
 				ins_nr = 0;
@@ -4666,13 +4476,8 @@
 		cond_resched();
 	}
 	if (ins_nr > 0) {
-		u64 last_extent = 0;
-
 		ret = copy_items(trans, inode, dst_path, path,
-				 &last_extent, start_slot,
-				 ins_nr, 1, 0);
-		/* can't be 1, extent items aren't processed */
-		ASSERT(ret <= 0);
+				 start_slot, ins_nr, 1, 0);
 		if (ret < 0)
 			return ret;
 	}
@@ -4681,100 +4486,119 @@
 }
 
 /*
- * If the no holes feature is enabled we need to make sure any hole between the
- * last extent and the i_size of our inode is explicitly marked in the log. This
- * is to make sure that doing something like:
- *
- *      1) create file with 128Kb of data
- *      2) truncate file to 64Kb
- *      3) truncate file to 256Kb
- *      4) fsync file
- *      5) <crash/power failure>
- *      6) mount fs and trigger log replay
- *
- * Will give us a file with a size of 256Kb, the first 64Kb of data match what
- * the file had in its first 64Kb of data at step 1 and the last 192Kb of the
- * file correspond to a hole. The presence of explicit holes in a log tree is
- * what guarantees that log replay will remove/adjust file extent items in the
- * fs/subvol tree.
- *
- * Here we do not need to care about holes between extents, that is already done
- * by copy_items(). We also only need to do this in the full sync path, where we
- * lookup for extents from the fs/subvol tree only. In the fast path case, we
- * lookup the list of modified extent maps and if any represents a hole, we
- * insert a corresponding extent representing a hole in the log tree.
+ * When using the NO_HOLES feature if we punched a hole that causes the
+ * deletion of entire leafs or all the extent items of the first leaf (the one
+ * that contains the inode item and references) we may end up not processing
+ * any extents, because there are no leafs with a generation matching the
+ * current transaction that have extent items for our inode. So we need to find
+ * if any holes exist and then log them. We also need to log holes after any
+ * truncate operation that changes the inode's size.
  */
-static int btrfs_log_trailing_hole(struct btrfs_trans_handle *trans,
-				   struct btrfs_root *root,
-				   struct btrfs_inode *inode,
-				   struct btrfs_path *path)
+static int btrfs_log_holes(struct btrfs_trans_handle *trans,
+			   struct btrfs_root *root,
+			   struct btrfs_inode *inode,
+			   struct btrfs_path *path)
 {
 	struct btrfs_fs_info *fs_info = root->fs_info;
-	int ret;
 	struct btrfs_key key;
-	u64 hole_start;
-	u64 hole_size;
-	struct extent_buffer *leaf;
-	struct btrfs_root *log = root->log_root;
 	const u64 ino = btrfs_ino(inode);
 	const u64 i_size = i_size_read(&inode->vfs_inode);
+	u64 prev_extent_end = 0;
+	int ret;
 
-	if (!btrfs_fs_incompat(fs_info, NO_HOLES))
+	if (!btrfs_fs_incompat(fs_info, NO_HOLES) || i_size == 0)
 		return 0;
 
 	key.objectid = ino;
 	key.type = BTRFS_EXTENT_DATA_KEY;
-	key.offset = (u64)-1;
+	key.offset = 0;
 
 	ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
-	ASSERT(ret != 0);
 	if (ret < 0)
 		return ret;
 
-	ASSERT(path->slots[0] > 0);
-	path->slots[0]--;
-	leaf = path->nodes[0];
-	btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
-
-	if (key.objectid != ino || key.type != BTRFS_EXTENT_DATA_KEY) {
-		/* inode does not have any extents */
-		hole_start = 0;
-		hole_size = i_size;
-	} else {
+	while (true) {
 		struct btrfs_file_extent_item *extent;
+		struct extent_buffer *leaf = path->nodes[0];
 		u64 len;
 
-		/*
-		 * If there's an extent beyond i_size, an explicit hole was
-		 * already inserted by copy_items().
-		 */
-		if (key.offset >= i_size)
-			return 0;
+		if (path->slots[0] >= btrfs_header_nritems(path->nodes[0])) {
+			ret = btrfs_next_leaf(root, path);
+			if (ret < 0)
+				return ret;
+			if (ret > 0) {
+				ret = 0;
+				break;
+			}
+			leaf = path->nodes[0];
+		}
+
+		btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
+		if (key.objectid != ino || key.type != BTRFS_EXTENT_DATA_KEY)
+			break;
+
+		/* We have a hole, log it. */
+		if (prev_extent_end < key.offset) {
+			const u64 hole_len = key.offset - prev_extent_end;
+
+			/*
+			 * Release the path to avoid deadlocks with other code
+			 * paths that search the root while holding locks on
+			 * leafs from the log root.
+			 */
+			btrfs_release_path(path);
+			ret = btrfs_insert_file_extent(trans, root->log_root,
+						       ino, prev_extent_end, 0,
+						       0, hole_len, 0, hole_len,
+						       0, 0, 0);
+			if (ret < 0)
+				return ret;
+
+			/*
+			 * Search for the same key again in the root. Since it's
+			 * an extent item and we are holding the inode lock, the
+			 * key must still exist. If it doesn't just emit warning
+			 * and return an error to fall back to a transaction
+			 * commit.
+			 */
+			ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
+			if (ret < 0)
+				return ret;
+			if (WARN_ON(ret > 0))
+				return -ENOENT;
+			leaf = path->nodes[0];
+		}
 
 		extent = btrfs_item_ptr(leaf, path->slots[0],
 					struct btrfs_file_extent_item);
-
 		if (btrfs_file_extent_type(leaf, extent) ==
-		    BTRFS_FILE_EXTENT_INLINE)
-			return 0;
+		    BTRFS_FILE_EXTENT_INLINE) {
+			len = btrfs_file_extent_ram_bytes(leaf, extent);
+			prev_extent_end = ALIGN(key.offset + len,
+						fs_info->sectorsize);
+		} else {
+			len = btrfs_file_extent_num_bytes(leaf, extent);
+			prev_extent_end = key.offset + len;
+		}
 
-		len = btrfs_file_extent_num_bytes(leaf, extent);
-		/* Last extent goes beyond i_size, no need to log a hole. */
-		if (key.offset + len > i_size)
-			return 0;
-		hole_start = key.offset + len;
-		hole_size = i_size - hole_start;
+		path->slots[0]++;
+		cond_resched();
 	}
-	btrfs_release_path(path);
 
-	/* Last extent ends at i_size. */
-	if (hole_size == 0)
-		return 0;
+	if (prev_extent_end < i_size) {
+		u64 hole_len;
 
-	hole_size = ALIGN(hole_size, fs_info->sectorsize);
-	ret = btrfs_insert_file_extent(trans, log, ino, hole_start, 0, 0,
-				       hole_size, 0, hole_size, 0, 0, 0);
-	return ret;
+		btrfs_release_path(path);
+		hole_len = ALIGN(i_size - prev_extent_end, fs_info->sectorsize);
+		ret = btrfs_insert_file_extent(trans, root->log_root,
+					       ino, prev_extent_end, 0, 0,
+					       hole_len, 0, hole_len,
+					       0, 0, 0);
+		if (ret < 0)
+			return ret;
+	}
+
+	return 0;
 }
 
 /*
@@ -4934,7 +4758,6 @@
 	struct btrfs_key min_key;
 	struct btrfs_key max_key;
 	struct btrfs_root *log = root->log_root;
-	u64 last_extent = 0;
 	int err = 0;
 	int ret;
 	int nritems;
@@ -5108,7 +4931,7 @@
 					ins_start_slot = path->slots[0];
 				}
 				ret = copy_items(trans, inode, dst_path, path,
-						 &last_extent, ins_start_slot,
+						 ins_start_slot,
 						 ins_nr, inode_only,
 						 logged_isize);
 				if (ret < 0) {
@@ -5161,17 +4984,13 @@
 			if (ins_nr == 0)
 				goto next_slot;
 			ret = copy_items(trans, inode, dst_path, path,
-					 &last_extent, ins_start_slot,
+					 ins_start_slot,
 					 ins_nr, inode_only, logged_isize);
 			if (ret < 0) {
 				err = ret;
 				goto out_unlock;
 			}
 			ins_nr = 0;
-			if (ret) {
-				btrfs_release_path(path);
-				continue;
-			}
 			goto next_slot;
 		}
 
@@ -5184,18 +5003,13 @@
 			goto next_slot;
 		}
 
-		ret = copy_items(trans, inode, dst_path, path, &last_extent,
+		ret = copy_items(trans, inode, dst_path, path,
 				 ins_start_slot, ins_nr, inode_only,
 				 logged_isize);
 		if (ret < 0) {
 			err = ret;
 			goto out_unlock;
 		}
-		if (ret) {
-			ins_nr = 0;
-			btrfs_release_path(path);
-			continue;
-		}
 		ins_nr = 1;
 		ins_start_slot = path->slots[0];
 next_slot:
@@ -5209,13 +5023,12 @@
 		}
 		if (ins_nr) {
 			ret = copy_items(trans, inode, dst_path, path,
-					 &last_extent, ins_start_slot,
+					 ins_start_slot,
 					 ins_nr, inode_only, logged_isize);
 			if (ret < 0) {
 				err = ret;
 				goto out_unlock;
 			}
-			ret = 0;
 			ins_nr = 0;
 		}
 		btrfs_release_path(path);
@@ -5230,14 +5043,13 @@
 		}
 	}
 	if (ins_nr) {
-		ret = copy_items(trans, inode, dst_path, path, &last_extent,
+		ret = copy_items(trans, inode, dst_path, path,
 				 ins_start_slot, ins_nr, inode_only,
 				 logged_isize);
 		if (ret < 0) {
 			err = ret;
 			goto out_unlock;
 		}
-		ret = 0;
 		ins_nr = 0;
 	}
 
@@ -5250,7 +5062,7 @@
 	if (max_key.type >= BTRFS_EXTENT_DATA_KEY && !fast_search) {
 		btrfs_release_path(path);
 		btrfs_release_path(dst_path);
-		err = btrfs_log_trailing_hole(trans, root, inode, path);
+		err = btrfs_log_holes(trans, root, inode, path);
 		if (err)
 			goto out_unlock;
 	}
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index 5bbcdcf..9c3b394 100644
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -7260,6 +7260,8 @@
 			else
 				btrfs_dev_stat_reset(dev, i);
 		}
+		btrfs_info(fs_info, "device stats zeroed by %s (%d)",
+			   current->comm, task_pid_nr(current));
 	} else {
 		for (i = 0; i < BTRFS_DEV_STAT_VALUES_MAX; i++)
 			if (stats->nr_items > i)
diff --git a/fs/ceph/mds_client.c b/fs/ceph/mds_client.c
index 09db6d0..a2e9032 100644
--- a/fs/ceph/mds_client.c
+++ b/fs/ceph/mds_client.c
@@ -2343,8 +2343,7 @@
 		if (!(mdsc->fsc->mount_options->flags &
 		      CEPH_MOUNT_OPT_MOUNTWAIT) &&
 		    !ceph_mdsmap_is_cluster_available(mdsc->mdsmap)) {
-			err = -ENOENT;
-			pr_info("probably no mds server is up\n");
+			err = -EHOSTUNREACH;
 			goto finish;
 		}
 	}
diff --git a/fs/ceph/super.c b/fs/ceph/super.c
index 2bd0b1e..c4314f4 100644
--- a/fs/ceph/super.c
+++ b/fs/ceph/super.c
@@ -1106,6 +1106,11 @@
 	return res;
 
 out_splat:
+	if (!ceph_mdsmap_is_cluster_available(fsc->mdsc->mdsmap)) {
+		pr_info("No mds server is up or the cluster is laggy\n");
+		err = -EHOSTUNREACH;
+	}
+
 	ceph_mdsc_close_sessions(fsc->mdsc);
 	deactivate_locked_super(sb);
 	goto out_final;
diff --git a/fs/ceph/xattr.c b/fs/ceph/xattr.c
index 5e4f3f8..a09ce27 100644
--- a/fs/ceph/xattr.c
+++ b/fs/ceph/xattr.c
@@ -221,7 +221,7 @@
 static size_t ceph_vxattrcb_dir_rctime(struct ceph_inode_info *ci, char *val,
 				       size_t size)
 {
-	return snprintf(val, size, "%lld.09%ld", ci->i_rctime.tv_sec,
+	return snprintf(val, size, "%lld.%09ld", ci->i_rctime.tv_sec,
 			ci->i_rctime.tv_nsec);
 }
 
diff --git a/fs/cifs/cifsacl.c b/fs/cifs/cifsacl.c
index 1d377b7..130bdca 100644
--- a/fs/cifs/cifsacl.c
+++ b/fs/cifs/cifsacl.c
@@ -603,7 +603,7 @@
 			((flags & FILE_EXEC_RIGHTS) == FILE_EXEC_RIGHTS))
 		*pmode |= (S_IXUGO & (*pbits_to_set));
 
-	cifs_dbg(NOISY, "access flags 0x%x mode now 0x%x\n", flags, *pmode);
+	cifs_dbg(NOISY, "access flags 0x%x mode now %04o\n", flags, *pmode);
 	return;
 }
 
@@ -632,7 +632,7 @@
 	if (mode & S_IXUGO)
 		*pace_flags |= SET_FILE_EXEC_RIGHTS;
 
-	cifs_dbg(NOISY, "mode: 0x%x, access flags now 0x%x\n",
+	cifs_dbg(NOISY, "mode: %04o, access flags now 0x%x\n",
 		 mode, *pace_flags);
 	return;
 }
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
index 7e85070..975f800 100644
--- a/fs/cifs/connect.c
+++ b/fs/cifs/connect.c
@@ -970,6 +970,7 @@
 		mempool_resize(cifs_req_poolp, length + cifs_min_rcv);
 
 	set_freezable();
+	allow_kernel_signal(SIGKILL);
 	while (server->tcpStatus != CifsExiting) {
 		if (try_to_freeze())
 			continue;
@@ -2454,7 +2455,7 @@
 
 	task = xchg(&server->tsk, NULL);
 	if (task)
-		force_sig(SIGKILL, task);
+		send_sig(SIGKILL, task, 1);
 }
 
 static struct TCP_Server_Info *
@@ -3341,8 +3342,10 @@
 {
 	struct cifs_sb_info *old = CIFS_SB(sb);
 	struct cifs_sb_info *new = mnt_data->cifs_sb;
-	bool old_set = old->mnt_cifs_flags & CIFS_MOUNT_USE_PREFIX_PATH;
-	bool new_set = new->mnt_cifs_flags & CIFS_MOUNT_USE_PREFIX_PATH;
+	bool old_set = (old->mnt_cifs_flags & CIFS_MOUNT_USE_PREFIX_PATH) &&
+		old->prepath;
+	bool new_set = (new->mnt_cifs_flags & CIFS_MOUNT_USE_PREFIX_PATH) &&
+		new->prepath;
 
 	if (old_set && new_set && !strcmp(new->prepath, old->prepath))
 		return 1;
@@ -3791,7 +3794,7 @@
 	cifs_sb->mnt_gid = pvolume_info->linux_gid;
 	cifs_sb->mnt_file_mode = pvolume_info->file_mode;
 	cifs_sb->mnt_dir_mode = pvolume_info->dir_mode;
-	cifs_dbg(FYI, "file mode: 0x%hx  dir mode: 0x%hx\n",
+	cifs_dbg(FYI, "file mode: %04ho  dir mode: %04ho\n",
 		 cifs_sb->mnt_file_mode, cifs_sb->mnt_dir_mode);
 
 	cifs_sb->actimeo = pvolume_info->actimeo;
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c
index 26154db..51d410c 100644
--- a/fs/cifs/inode.c
+++ b/fs/cifs/inode.c
@@ -1579,7 +1579,7 @@
 	struct TCP_Server_Info *server;
 	char *full_path;
 
-	cifs_dbg(FYI, "In cifs_mkdir, mode = 0x%hx inode = 0x%p\n",
+	cifs_dbg(FYI, "In cifs_mkdir, mode = %04ho inode = 0x%p\n",
 		 mode, inode);
 
 	cifs_sb = CIFS_SB(inode->i_sb);
@@ -2003,6 +2003,7 @@
 	struct inode *inode = d_inode(dentry);
 	struct super_block *sb = dentry->d_sb;
 	char *full_path = NULL;
+	int count = 0;
 
 	if (inode == NULL)
 		return -ENOENT;
@@ -2024,15 +2025,18 @@
 		 full_path, inode, inode->i_count.counter,
 		 dentry, cifs_get_time(dentry), jiffies);
 
+again:
 	if (cifs_sb_master_tcon(CIFS_SB(sb))->unix_ext)
 		rc = cifs_get_inode_info_unix(&inode, full_path, sb, xid);
 	else
 		rc = cifs_get_inode_info(&inode, full_path, NULL, sb,
 					 xid, NULL);
-
+	if (rc == -EAGAIN && count++ < 10)
+		goto again;
 out:
 	kfree(full_path);
 	free_xid(xid);
+
 	return rc;
 }
 
diff --git a/fs/cifs/smb2file.c b/fs/cifs/smb2file.c
index 9168b22..9e2e120 100644
--- a/fs/cifs/smb2file.c
+++ b/fs/cifs/smb2file.c
@@ -67,7 +67,7 @@
 		goto out;
 
 
-	 if (oparms->tcon->use_resilient) {
+	if (oparms->tcon->use_resilient) {
 		nr_ioctl_req.Timeout = 0; /* use server default (120 seconds) */
 		nr_ioctl_req.Reserved = 0;
 		rc = SMB2_ioctl(xid, oparms->tcon, fid->persistent_fid,
diff --git a/fs/cifs/smb2misc.c b/fs/cifs/smb2misc.c
index 766974f..14265b4 100644
--- a/fs/cifs/smb2misc.c
+++ b/fs/cifs/smb2misc.c
@@ -750,7 +750,7 @@
 {
 	struct close_cancelled_open *cancelled;
 
-	cancelled = kzalloc(sizeof(*cancelled), GFP_KERNEL);
+	cancelled = kzalloc(sizeof(*cancelled), GFP_ATOMIC);
 	if (!cancelled)
 		return -ENOMEM;
 
diff --git a/fs/cifs/smb2pdu.c b/fs/cifs/smb2pdu.c
index 43f2962..e2d2b74 100644
--- a/fs/cifs/smb2pdu.c
+++ b/fs/cifs/smb2pdu.c
@@ -259,9 +259,14 @@
 	}
 
 	rc = cifs_negotiate_protocol(0, tcon->ses);
-	if (!rc && tcon->ses->need_reconnect)
+	if (!rc && tcon->ses->need_reconnect) {
 		rc = cifs_setup_session(0, tcon->ses, nls_codepage);
-
+		if ((rc == -EACCES) && !tcon->retry) {
+			rc = -EHOSTDOWN;
+			mutex_unlock(&tcon->ses->session_mutex);
+			goto failed;
+		}
+	}
 	if (rc || !tcon->need_reconnect) {
 		mutex_unlock(&tcon->ses->session_mutex);
 		goto out;
@@ -306,6 +311,7 @@
 	case SMB2_SET_INFO:
 		rc = -EAGAIN;
 	}
+failed:
 	unload_nls(nls_codepage);
 	return rc;
 }
@@ -3130,8 +3136,8 @@
 	struct smb2_sync_hdr *shdr =
 				(struct smb2_sync_hdr *)rdata->iov[0].iov_base;
 	unsigned int credits_received = 0;
-	struct smb_rqst rqst = { .rq_iov = rdata->iov,
-				 .rq_nvec = 2,
+	struct smb_rqst rqst = { .rq_iov = &rdata->iov[1],
+				 .rq_nvec = 1,
 				 .rq_pages = rdata->pages,
 				 .rq_offset = rdata->page_offset,
 				 .rq_npages = rdata->nr_pages,
@@ -3419,6 +3425,9 @@
 				     wdata->cfile->fid.persistent_fid,
 				     tcon->tid, tcon->ses->Suid, wdata->offset,
 				     wdata->bytes, wdata->result);
+		if (wdata->result == -ENOSPC)
+			printk_once(KERN_WARNING "Out of space writing to %s\n",
+				    tcon->treeName);
 	} else
 		trace_smb3_write_done(0 /* no xid */,
 				      wdata->cfile->fid.persistent_fid,
diff --git a/fs/crypto/Kconfig b/fs/crypto/Kconfig
index 0701bb9..97c0a11 100644
--- a/fs/crypto/Kconfig
+++ b/fs/crypto/Kconfig
@@ -1,13 +1,8 @@
 config FS_ENCRYPTION
 	bool "FS Encryption (Per-file encryption)"
 	select CRYPTO
-	select CRYPTO_AES
-	select CRYPTO_CBC
-	select CRYPTO_ECB
-	select CRYPTO_XTS
-	select CRYPTO_CTS
-	select CRYPTO_SHA512
-	select CRYPTO_HMAC
+	select CRYPTO_HASH
+	select CRYPTO_BLKCIPHER
 	select KEYS
 	help
 	  Enable encryption of files and directories.  This
@@ -16,6 +11,19 @@
 	  decrypted pages in the page cache.  Currently Ext4,
 	  F2FS and UBIFS make use of this feature.
 
+# Filesystems supporting encryption must select this if FS_ENCRYPTION.  This
+# allows the algorithms to be built as modules when all the filesystems are.
+config FS_ENCRYPTION_ALGS
+	tristate
+	select CRYPTO_AES
+	select CRYPTO_CBC
+	select CRYPTO_CTS
+	select CRYPTO_ECB
+	select CRYPTO_HMAC
+	select CRYPTO_SHA256
+	select CRYPTO_SHA512
+	select CRYPTO_XTS
+
 config FS_ENCRYPTION_INLINE_CRYPT
 	bool "Enable fscrypt to use inline crypto"
 	depends on FS_ENCRYPTION && BLK_INLINE_ENCRYPTION
diff --git a/fs/crypto/bio.c b/fs/crypto/bio.c
index 6927578..649658e 100644
--- a/fs/crypto/bio.c
+++ b/fs/crypto/bio.c
@@ -42,63 +42,154 @@
 }
 EXPORT_SYMBOL(fscrypt_decrypt_bio);
 
-int fscrypt_zeroout_range(const struct inode *inode, pgoff_t lblk,
-				sector_t pblk, unsigned int len)
+static int fscrypt_zeroout_range_inlinecrypt(const struct inode *inode,
+					     pgoff_t lblk,
+					     sector_t pblk, unsigned int len)
 {
 	const unsigned int blockbits = inode->i_blkbits;
-	const unsigned int blocksize = 1 << blockbits;
-	const bool inlinecrypt = fscrypt_inode_uses_inline_crypto(inode);
-	struct page *ciphertext_page;
+	const unsigned int blocks_per_page_bits = PAGE_SHIFT - blockbits;
+	const unsigned int blocks_per_page = 1 << blocks_per_page_bits;
+	unsigned int i;
 	struct bio *bio;
-	int ret, err = 0;
+	int ret, err;
 
-	if (inlinecrypt) {
-		ciphertext_page = ZERO_PAGE(0);
-	} else {
-		ciphertext_page = fscrypt_alloc_bounce_page(GFP_NOWAIT);
-		if (!ciphertext_page)
-			return -ENOMEM;
-	}
+	/* This always succeeds since __GFP_DIRECT_RECLAIM is set. */
+	bio = bio_alloc(GFP_NOFS, BIO_MAX_PAGES);
 
-	while (len--) {
-		if (!inlinecrypt) {
-			err = fscrypt_crypt_block(inode, FS_ENCRYPT, lblk,
-						  ZERO_PAGE(0), ciphertext_page,
-						  blocksize, 0, GFP_NOFS);
-			if (err)
-				goto errout;
-		}
-
-		bio = bio_alloc(GFP_NOWAIT, 1);
-		if (!bio) {
-			err = -ENOMEM;
-			goto errout;
-		}
-		fscrypt_set_bio_crypt_ctx(bio, inode, lblk, GFP_NOIO);
-
+	do {
 		bio_set_dev(bio, inode->i_sb->s_bdev);
 		bio->bi_iter.bi_sector = pblk << (blockbits - 9);
 		bio_set_op_attrs(bio, REQ_OP_WRITE, 0);
-		ret = bio_add_page(bio, ciphertext_page, blocksize, 0);
-		if (WARN_ON(ret != blocksize)) {
-			/* should never happen! */
-			bio_put(bio);
-			err = -EIO;
-			goto errout;
-		}
+		fscrypt_set_bio_crypt_ctx(bio, inode, lblk, GFP_NOFS);
+
+		i = 0;
+		do {
+			unsigned int blocks_this_page =
+				min(len, blocks_per_page);
+			unsigned int bytes_this_page =
+				blocks_this_page << blockbits;
+
+			ret = bio_add_page(bio, ZERO_PAGE(0),
+					   bytes_this_page, 0);
+			if (WARN_ON(ret != bytes_this_page)) {
+				err = -EIO;
+				goto out;
+			}
+			lblk += blocks_this_page;
+			pblk += blocks_this_page;
+			len -= blocks_this_page;
+		} while (++i != BIO_MAX_PAGES && len != 0);
+
 		err = submit_bio_wait(bio);
-		if (err == 0 && bio->bi_status)
-			err = -EIO;
-		bio_put(bio);
 		if (err)
-			goto errout;
-		lblk++;
-		pblk++;
-	}
+			goto out;
+		bio_reset(bio);
+	} while (len != 0);
 	err = 0;
-errout:
-	if (!inlinecrypt)
-		fscrypt_free_bounce_page(ciphertext_page);
+out:
+	bio_put(bio);
+	return err;
+}
+
+/**
+ * fscrypt_zeroout_range() - zero out a range of blocks in an encrypted file
+ * @inode: the file's inode
+ * @lblk: the first file logical block to zero out
+ * @pblk: the first filesystem physical block to zero out
+ * @len: number of blocks to zero out
+ *
+ * Zero out filesystem blocks in an encrypted regular file on-disk, i.e. write
+ * ciphertext blocks which decrypt to the all-zeroes block.  The blocks must be
+ * both logically and physically contiguous.  It's also assumed that the
+ * filesystem only uses a single block device, ->s_bdev.
+ *
+ * Note that since each block uses a different IV, this involves writing a
+ * different ciphertext to each block; we can't simply reuse the same one.
+ *
+ * Return: 0 on success; -errno on failure.
+ */
+int fscrypt_zeroout_range(const struct inode *inode, pgoff_t lblk,
+			  sector_t pblk, unsigned int len)
+{
+	const unsigned int blockbits = inode->i_blkbits;
+	const unsigned int blocksize = 1 << blockbits;
+	const unsigned int blocks_per_page_bits = PAGE_SHIFT - blockbits;
+	const unsigned int blocks_per_page = 1 << blocks_per_page_bits;
+	struct page *pages[16]; /* write up to 16 pages at a time */
+	unsigned int nr_pages;
+	unsigned int i;
+	unsigned int offset;
+	struct bio *bio;
+	int ret, err;
+
+	if (len == 0)
+		return 0;
+
+	if (fscrypt_inode_uses_inline_crypto(inode))
+		return fscrypt_zeroout_range_inlinecrypt(inode, lblk, pblk,
+							 len);
+
+	BUILD_BUG_ON(ARRAY_SIZE(pages) > BIO_MAX_PAGES);
+	nr_pages = min_t(unsigned int, ARRAY_SIZE(pages),
+			 (len + blocks_per_page - 1) >> blocks_per_page_bits);
+
+	/*
+	 * We need at least one page for ciphertext.  Allocate the first one
+	 * from a mempool, with __GFP_DIRECT_RECLAIM set so that it can't fail.
+	 *
+	 * Any additional page allocations are allowed to fail, as they only
+	 * help performance, and waiting on the mempool for them could deadlock.
+	 */
+	for (i = 0; i < nr_pages; i++) {
+		pages[i] = fscrypt_alloc_bounce_page(i == 0 ? GFP_NOFS :
+						     GFP_NOWAIT | __GFP_NOWARN);
+		if (!pages[i])
+			break;
+	}
+	nr_pages = i;
+	if (WARN_ON(nr_pages <= 0))
+		return -EINVAL;
+
+	/* This always succeeds since __GFP_DIRECT_RECLAIM is set. */
+	bio = bio_alloc(GFP_NOFS, nr_pages);
+
+	do {
+		bio_set_dev(bio, inode->i_sb->s_bdev);
+		bio->bi_iter.bi_sector = pblk << (blockbits - 9);
+		bio_set_op_attrs(bio, REQ_OP_WRITE, 0);
+
+		i = 0;
+		offset = 0;
+		do {
+			err = fscrypt_crypt_block(inode, FS_ENCRYPT, lblk,
+						  ZERO_PAGE(0), pages[i],
+						  blocksize, offset, GFP_NOFS);
+			if (err)
+				goto out;
+			lblk++;
+			pblk++;
+			len--;
+			offset += blocksize;
+			if (offset == PAGE_SIZE || len == 0) {
+				ret = bio_add_page(bio, pages[i++], offset, 0);
+				if (WARN_ON(ret != offset)) {
+					err = -EIO;
+					goto out;
+				}
+				offset = 0;
+			}
+		} while (i != nr_pages && len != 0);
+
+		err = submit_bio_wait(bio);
+		if (err)
+			goto out;
+		bio_reset(bio);
+	} while (len != 0);
+	err = 0;
+out:
+	bio_put(bio);
+	for (i = 0; i < nr_pages; i++)
+		fscrypt_free_bounce_page(pages[i]);
 	return err;
 }
 EXPORT_SYMBOL(fscrypt_zeroout_range);
diff --git a/fs/crypto/crypto.c b/fs/crypto/crypto.c
index 05ba4ff..cc8e334 100644
--- a/fs/crypto/crypto.c
+++ b/fs/crypto/crypto.c
@@ -24,8 +24,6 @@
 #include <linux/module.h>
 #include <linux/scatterlist.h>
 #include <linux/ratelimit.h>
-#include <linux/dcache.h>
-#include <linux/namei.h>
 #include <crypto/skcipher.h>
 #include "fscrypt_private.h"
 
@@ -146,7 +144,7 @@
  *		multiple of the filesystem's block size.
  * @offs:      Byte offset within @page of the first block to encrypt.  Must be
  *		a multiple of the filesystem's block size.
- * @gfp_flags: Memory allocation flags
+ * @gfp_flags: Memory allocation flags.  See details below.
  *
  * A new bounce page is allocated, and the specified block(s) are encrypted into
  * it.  In the bounce page, the ciphertext block(s) will be located at the same
@@ -156,6 +154,11 @@
  *
  * This is for use by the filesystem's ->writepages() method.
  *
+ * The bounce page allocation is mempool-backed, so it will always succeed when
+ * @gfp_flags includes __GFP_DIRECT_RECLAIM, e.g. when it's GFP_NOFS.  However,
+ * only the first page of each bio can be allocated this way.  To prevent
+ * deadlocks, for any additional pages a mask like GFP_NOWAIT must be used.
+ *
  * Return: the new encrypted bounce page on success; an ERR_PTR() on failure
  */
 struct page *fscrypt_encrypt_pagecache_blocks(struct page *page,
@@ -292,54 +295,6 @@
 }
 EXPORT_SYMBOL(fscrypt_decrypt_block_inplace);
 
-/*
- * Validate dentries in encrypted directories to make sure we aren't potentially
- * caching stale dentries after a key has been added.
- */
-static int fscrypt_d_revalidate(struct dentry *dentry, unsigned int flags)
-{
-	struct dentry *dir;
-	int err;
-	int valid;
-
-	/*
-	 * Plaintext names are always valid, since fscrypt doesn't support
-	 * reverting to ciphertext names without evicting the directory's inode
-	 * -- which implies eviction of the dentries in the directory.
-	 */
-	if (!(dentry->d_flags & DCACHE_ENCRYPTED_NAME))
-		return 1;
-
-	/*
-	 * Ciphertext name; valid if the directory's key is still unavailable.
-	 *
-	 * Although fscrypt forbids rename() on ciphertext names, we still must
-	 * use dget_parent() here rather than use ->d_parent directly.  That's
-	 * because a corrupted fs image may contain directory hard links, which
-	 * the VFS handles by moving the directory's dentry tree in the dcache
-	 * each time ->lookup() finds the directory and it already has a dentry
-	 * elsewhere.  Thus ->d_parent can be changing, and we must safely grab
-	 * a reference to some ->d_parent to prevent it from being freed.
-	 */
-
-	if (flags & LOOKUP_RCU)
-		return -ECHILD;
-
-	dir = dget_parent(dentry);
-	err = fscrypt_get_encryption_info(d_inode(dir));
-	valid = !fscrypt_has_encryption_key(d_inode(dir));
-	dput(dir);
-
-	if (err < 0)
-		return err;
-
-	return valid;
-}
-
-const struct dentry_operations fscrypt_d_ops = {
-	.d_revalidate = fscrypt_d_revalidate,
-};
-
 /**
  * fscrypt_initialize() - allocate major buffers for fs encryption.
  * @cop_flags:  fscrypt operations flags
diff --git a/fs/crypto/fname.c b/fs/crypto/fname.c
index 3aafdda..63bfe5e 100644
--- a/fs/crypto/fname.c
+++ b/fs/crypto/fname.c
@@ -11,10 +11,88 @@
  * This has not yet undergone a rigorous security audit.
  */
 
+#include <linux/namei.h>
 #include <linux/scatterlist.h>
+#include <crypto/hash.h>
+#include <crypto/sha.h>
 #include <crypto/skcipher.h>
 #include "fscrypt_private.h"
 
+/**
+ * struct fscrypt_nokey_name - identifier for directory entry when key is absent
+ *
+ * When userspace lists an encrypted directory without access to the key, the
+ * filesystem must present a unique "no-key name" for each filename that allows
+ * it to find the directory entry again if requested.  Naively, that would just
+ * mean using the ciphertext filenames.  However, since the ciphertext filenames
+ * can contain illegal characters ('\0' and '/'), they must be encoded in some
+ * way.  We use base64.  But that can cause names to exceed NAME_MAX (255
+ * bytes), so we also need to use a strong hash to abbreviate long names.
+ *
+ * The filesystem may also need another kind of hash, the "dirhash", to quickly
+ * find the directory entry.  Since filesystems normally compute the dirhash
+ * over the on-disk filename (i.e. the ciphertext), it's not computable from
+ * no-key names that abbreviate the ciphertext using the strong hash to fit in
+ * NAME_MAX.  It's also not computable if it's a keyed hash taken over the
+ * plaintext (but it may still be available in the on-disk directory entry);
+ * casefolded directories use this type of dirhash.  At least in these cases,
+ * each no-key name must include the name's dirhash too.
+ *
+ * To meet all these requirements, we base64-encode the following
+ * variable-length structure.  It contains the dirhash, or 0's if the filesystem
+ * didn't provide one; up to 149 bytes of the ciphertext name; and for
+ * ciphertexts longer than 149 bytes, also the SHA-256 of the remaining bytes.
+ *
+ * This ensures that each no-key name contains everything needed to find the
+ * directory entry again, contains only legal characters, doesn't exceed
+ * NAME_MAX, is unambiguous unless there's a SHA-256 collision, and that we only
+ * take the performance hit of SHA-256 on very long filenames (which are rare).
+ */
+struct fscrypt_nokey_name {
+	u32 dirhash[2];
+	u8 bytes[149];
+	u8 sha256[SHA256_DIGEST_SIZE];
+}; /* 189 bytes => 252 bytes base64-encoded, which is <= NAME_MAX (255) */
+
+/*
+ * Decoded size of max-size nokey name, i.e. a name that was abbreviated using
+ * the strong hash and thus includes the 'sha256' field.  This isn't simply
+ * sizeof(struct fscrypt_nokey_name), as the padding at the end isn't included.
+ */
+#define FSCRYPT_NOKEY_NAME_MAX	offsetofend(struct fscrypt_nokey_name, sha256)
+
+static struct crypto_shash *sha256_hash_tfm;
+
+static int fscrypt_do_sha256(const u8 *data, unsigned int data_len, u8 *result)
+{
+	struct crypto_shash *tfm = READ_ONCE(sha256_hash_tfm);
+
+	if (unlikely(!tfm)) {
+		struct crypto_shash *prev_tfm;
+
+		tfm = crypto_alloc_shash("sha256", 0, 0);
+		if (IS_ERR(tfm)) {
+			fscrypt_err(NULL,
+				    "Error allocating SHA-256 transform: %ld",
+				    PTR_ERR(tfm));
+			return PTR_ERR(tfm);
+		}
+		prev_tfm = cmpxchg(&sha256_hash_tfm, NULL, tfm);
+		if (prev_tfm) {
+			crypto_free_shash(tfm);
+			tfm = prev_tfm;
+		}
+	}
+	{
+		SHASH_DESC_ON_STACK(desc, tfm);
+
+		desc->tfm = tfm;
+		desc->flags = 0;
+
+		return crypto_shash_digest(desc, data, data_len, result);
+	}
+}
+
 static inline bool fscrypt_is_dot_dotdot(const struct qstr *str)
 {
 	if (str->len == 1 && str->name[0] == '.')
@@ -27,19 +105,19 @@
 }
 
 /**
- * fname_encrypt() - encrypt a filename
+ * fscrypt_fname_encrypt() - encrypt a filename
  *
  * The output buffer must be at least as large as the input buffer.
  * Any extra space is filled with NUL padding before encryption.
  *
  * Return: 0 on success, -errno on failure
  */
-int fname_encrypt(struct inode *inode, const struct qstr *iname,
-		  u8 *out, unsigned int olen)
+int fscrypt_fname_encrypt(const struct inode *inode, const struct qstr *iname,
+			  u8 *out, unsigned int olen)
 {
 	struct skcipher_request *req = NULL;
 	DECLARE_CRYPTO_WAIT(wait);
-	struct fscrypt_info *ci = inode->i_crypt_info;
+	const struct fscrypt_info *ci = inode->i_crypt_info;
 	struct crypto_skcipher *tfm = ci->ci_key.tfm;
 	union fscrypt_iv iv;
 	struct scatterlist sg;
@@ -85,14 +163,14 @@
  *
  * Return: 0 on success, -errno on failure
  */
-static int fname_decrypt(struct inode *inode,
-				const struct fscrypt_str *iname,
-				struct fscrypt_str *oname)
+static int fname_decrypt(const struct inode *inode,
+			 const struct fscrypt_str *iname,
+			 struct fscrypt_str *oname)
 {
 	struct skcipher_request *req = NULL;
 	DECLARE_CRYPTO_WAIT(wait);
 	struct scatterlist src_sg, dst_sg;
-	struct fscrypt_info *ci = inode->i_crypt_info;
+	const struct fscrypt_info *ci = inode->i_crypt_info;
 	struct crypto_skcipher *tfm = ci->ci_key.tfm;
 	union fscrypt_iv iv;
 	int res;
@@ -206,9 +284,7 @@
 			       u32 max_encrypted_len,
 			       struct fscrypt_str *crypto_str)
 {
-	const u32 max_encoded_len =
-		max_t(u32, BASE64_CHARS(FSCRYPT_FNAME_MAX_UNDIGESTED_SIZE),
-		      1 + BASE64_CHARS(sizeof(struct fscrypt_digested_name)));
+	const u32 max_encoded_len = BASE64_CHARS(FSCRYPT_NOKEY_NAME_MAX);
 	u32 max_presented_len;
 
 	max_presented_len = max(max_encoded_len, max_encrypted_len);
@@ -241,19 +317,21 @@
  *
  * The caller must have allocated sufficient memory for the @oname string.
  *
- * If the key is available, we'll decrypt the disk name; otherwise, we'll encode
- * it for presentation.  Short names are directly base64-encoded, while long
- * names are encoded in fscrypt_digested_name format.
+ * If the key is available, we'll decrypt the disk name.  Otherwise, we'll
+ * encode it for presentation in fscrypt_nokey_name format.
+ * See struct fscrypt_nokey_name for details.
  *
  * Return: 0 on success, -errno on failure
  */
-int fscrypt_fname_disk_to_usr(struct inode *inode,
-			u32 hash, u32 minor_hash,
-			const struct fscrypt_str *iname,
-			struct fscrypt_str *oname)
+int fscrypt_fname_disk_to_usr(const struct inode *inode,
+			      u32 hash, u32 minor_hash,
+			      const struct fscrypt_str *iname,
+			      struct fscrypt_str *oname)
 {
 	const struct qstr qname = FSTR_TO_QSTR(iname);
-	struct fscrypt_digested_name digested_name;
+	struct fscrypt_nokey_name nokey_name;
+	u32 size; /* size of the unencoded no-key name */
+	int err;
 
 	if (fscrypt_is_dot_dotdot(&qname)) {
 		oname->name[0] = '.';
@@ -268,24 +346,37 @@
 	if (fscrypt_has_encryption_key(inode))
 		return fname_decrypt(inode, iname, oname);
 
-	if (iname->len <= FSCRYPT_FNAME_MAX_UNDIGESTED_SIZE) {
-		oname->len = base64_encode(iname->name, iname->len,
-					   oname->name);
-		return 0;
-	}
+	/*
+	 * Sanity check that struct fscrypt_nokey_name doesn't have padding
+	 * between fields and that its encoded size never exceeds NAME_MAX.
+	 */
+	BUILD_BUG_ON(offsetofend(struct fscrypt_nokey_name, dirhash) !=
+		     offsetof(struct fscrypt_nokey_name, bytes));
+	BUILD_BUG_ON(offsetofend(struct fscrypt_nokey_name, bytes) !=
+		     offsetof(struct fscrypt_nokey_name, sha256));
+	BUILD_BUG_ON(BASE64_CHARS(FSCRYPT_NOKEY_NAME_MAX) > NAME_MAX);
+
 	if (hash) {
-		digested_name.hash = hash;
-		digested_name.minor_hash = minor_hash;
+		nokey_name.dirhash[0] = hash;
+		nokey_name.dirhash[1] = minor_hash;
 	} else {
-		digested_name.hash = 0;
-		digested_name.minor_hash = 0;
+		nokey_name.dirhash[0] = 0;
+		nokey_name.dirhash[1] = 0;
 	}
-	memcpy(digested_name.digest,
-	       FSCRYPT_FNAME_DIGEST(iname->name, iname->len),
-	       FSCRYPT_FNAME_DIGEST_SIZE);
-	oname->name[0] = '_';
-	oname->len = 1 + base64_encode((const u8 *)&digested_name,
-				       sizeof(digested_name), oname->name + 1);
+	if (iname->len <= sizeof(nokey_name.bytes)) {
+		memcpy(nokey_name.bytes, iname->name, iname->len);
+		size = offsetof(struct fscrypt_nokey_name, bytes[iname->len]);
+	} else {
+		memcpy(nokey_name.bytes, iname->name, sizeof(nokey_name.bytes));
+		/* Compute strong hash of remaining part of name. */
+		err = fscrypt_do_sha256(&iname->name[sizeof(nokey_name.bytes)],
+					iname->len - sizeof(nokey_name.bytes),
+					nokey_name.sha256);
+		if (err)
+			return err;
+		size = FSCRYPT_NOKEY_NAME_MAX;
+	}
+	oname->len = base64_encode((const u8 *)&nokey_name, size, oname->name);
 	return 0;
 }
 EXPORT_SYMBOL(fscrypt_fname_disk_to_usr);
@@ -306,8 +397,7 @@
  * get the disk_name.
  *
  * Else, for keyless @lookup operations, @iname is the presented ciphertext, so
- * we decode it to get either the ciphertext disk_name (for short names) or the
- * fscrypt_digested_name (for long names).  Non-@lookup operations will be
+ * we decode it to get the fscrypt_nokey_name.  Non-@lookup operations will be
  * impossible in this case, so we fail them with ENOKEY.
  *
  * If successful, fscrypt_free_filename() must be called later to clean up.
@@ -317,8 +407,8 @@
 int fscrypt_setup_filename(struct inode *dir, const struct qstr *iname,
 			      int lookup, struct fscrypt_name *fname)
 {
+	struct fscrypt_nokey_name *nokey_name;
 	int ret;
-	int digested;
 
 	memset(fname, 0, sizeof(struct fscrypt_name));
 	fname->usr_fname = iname;
@@ -342,8 +432,8 @@
 		if (!fname->crypto_buf.name)
 			return -ENOMEM;
 
-		ret = fname_encrypt(dir, iname, fname->crypto_buf.name,
-				    fname->crypto_buf.len);
+		ret = fscrypt_fname_encrypt(dir, iname, fname->crypto_buf.name,
+					    fname->crypto_buf.len);
 		if (ret)
 			goto errout;
 		fname->disk_name.name = fname->crypto_buf.name;
@@ -358,40 +448,31 @@
 	 * We don't have the key and we are doing a lookup; decode the
 	 * user-supplied name
 	 */
-	if (iname->name[0] == '_') {
-		if (iname->len !=
-		    1 + BASE64_CHARS(sizeof(struct fscrypt_digested_name)))
-			return -ENOENT;
-		digested = 1;
-	} else {
-		if (iname->len >
-		    BASE64_CHARS(FSCRYPT_FNAME_MAX_UNDIGESTED_SIZE))
-			return -ENOENT;
-		digested = 0;
-	}
 
-	fname->crypto_buf.name =
-		kmalloc(max_t(size_t, FSCRYPT_FNAME_MAX_UNDIGESTED_SIZE,
-			      sizeof(struct fscrypt_digested_name)),
-			GFP_KERNEL);
+	if (iname->len > BASE64_CHARS(FSCRYPT_NOKEY_NAME_MAX))
+		return -ENOENT;
+
+	fname->crypto_buf.name = kmalloc(FSCRYPT_NOKEY_NAME_MAX, GFP_KERNEL);
 	if (fname->crypto_buf.name == NULL)
 		return -ENOMEM;
 
-	ret = base64_decode(iname->name + digested, iname->len - digested,
-			    fname->crypto_buf.name);
-	if (ret < 0) {
+	ret = base64_decode(iname->name, iname->len, fname->crypto_buf.name);
+	if (ret < (int)offsetof(struct fscrypt_nokey_name, bytes[1]) ||
+	    (ret > offsetof(struct fscrypt_nokey_name, sha256) &&
+	     ret != FSCRYPT_NOKEY_NAME_MAX)) {
 		ret = -ENOENT;
 		goto errout;
 	}
 	fname->crypto_buf.len = ret;
-	if (digested) {
-		const struct fscrypt_digested_name *n =
-			(const void *)fname->crypto_buf.name;
-		fname->hash = n->hash;
-		fname->minor_hash = n->minor_hash;
-	} else {
-		fname->disk_name.name = fname->crypto_buf.name;
-		fname->disk_name.len = fname->crypto_buf.len;
+
+	nokey_name = (void *)fname->crypto_buf.name;
+	fname->hash = nokey_name->dirhash[0];
+	fname->minor_hash = nokey_name->dirhash[1];
+	if (ret != FSCRYPT_NOKEY_NAME_MAX) {
+		/* The full ciphertext filename is available. */
+		fname->disk_name.name = nokey_name->bytes;
+		fname->disk_name.len =
+			ret - offsetof(struct fscrypt_nokey_name, bytes);
 	}
 	return 0;
 
@@ -400,3 +481,106 @@
 	return ret;
 }
 EXPORT_SYMBOL(fscrypt_setup_filename);
+
+/**
+ * fscrypt_match_name() - test whether the given name matches a directory entry
+ * @fname: the name being searched for
+ * @de_name: the name from the directory entry
+ * @de_name_len: the length of @de_name in bytes
+ *
+ * Normally @fname->disk_name will be set, and in that case we simply compare
+ * that to the name stored in the directory entry.  The only exception is that
+ * if we don't have the key for an encrypted directory and the name we're
+ * looking for is very long, then we won't have the full disk_name and instead
+ * we'll need to match against a fscrypt_nokey_name that includes a strong hash.
+ *
+ * Return: %true if the name matches, otherwise %false.
+ */
+bool fscrypt_match_name(const struct fscrypt_name *fname,
+			const u8 *de_name, u32 de_name_len)
+{
+	const struct fscrypt_nokey_name *nokey_name =
+		(const void *)fname->crypto_buf.name;
+	u8 sha256[SHA256_DIGEST_SIZE];
+
+	if (likely(fname->disk_name.name)) {
+		if (de_name_len != fname->disk_name.len)
+			return false;
+		return !memcmp(de_name, fname->disk_name.name, de_name_len);
+	}
+	if (de_name_len <= sizeof(nokey_name->bytes))
+		return false;
+	if (memcmp(de_name, nokey_name->bytes, sizeof(nokey_name->bytes)))
+		return false;
+	if (fscrypt_do_sha256(&de_name[sizeof(nokey_name->bytes)],
+			      de_name_len - sizeof(nokey_name->bytes), sha256))
+		return false;
+	return !memcmp(sha256, nokey_name->sha256, sizeof(sha256));
+}
+EXPORT_SYMBOL_GPL(fscrypt_match_name);
+
+/**
+ * fscrypt_fname_siphash() - calculate the SipHash of a filename
+ * @dir: the parent directory
+ * @name: the filename to calculate the SipHash of
+ *
+ * Given a plaintext filename @name and a directory @dir which uses SipHash as
+ * its dirhash method and has had its fscrypt key set up, this function
+ * calculates the SipHash of that name using the directory's secret dirhash key.
+ *
+ * Return: the SipHash of @name using the hash key of @dir
+ */
+u64 fscrypt_fname_siphash(const struct inode *dir, const struct qstr *name)
+{
+	const struct fscrypt_info *ci = dir->i_crypt_info;
+
+	WARN_ON(!ci->ci_dirhash_key_initialized);
+
+	return siphash(name->name, name->len, &ci->ci_dirhash_key);
+}
+EXPORT_SYMBOL_GPL(fscrypt_fname_siphash);
+
+/*
+ * Validate dentries in encrypted directories to make sure we aren't potentially
+ * caching stale dentries after a key has been added.
+ */
+int fscrypt_d_revalidate(struct dentry *dentry, unsigned int flags)
+{
+	struct dentry *dir;
+	int err;
+	int valid;
+
+	/*
+	 * Plaintext names are always valid, since fscrypt doesn't support
+	 * reverting to ciphertext names without evicting the directory's inode
+	 * -- which implies eviction of the dentries in the directory.
+	 */
+	if (!(dentry->d_flags & DCACHE_ENCRYPTED_NAME))
+		return 1;
+
+	/*
+	 * Ciphertext name; valid if the directory's key is still unavailable.
+	 *
+	 * Although fscrypt forbids rename() on ciphertext names, we still must
+	 * use dget_parent() here rather than use ->d_parent directly.  That's
+	 * because a corrupted fs image may contain directory hard links, which
+	 * the VFS handles by moving the directory's dentry tree in the dcache
+	 * each time ->lookup() finds the directory and it already has a dentry
+	 * elsewhere.  Thus ->d_parent can be changing, and we must safely grab
+	 * a reference to some ->d_parent to prevent it from being freed.
+	 */
+
+	if (flags & LOOKUP_RCU)
+		return -ECHILD;
+
+	dir = dget_parent(dentry);
+	err = fscrypt_get_encryption_info(d_inode(dir));
+	valid = !fscrypt_has_encryption_key(d_inode(dir));
+	dput(dir);
+
+	if (err < 0)
+		return err;
+
+	return valid;
+}
+EXPORT_SYMBOL(fscrypt_d_revalidate);
diff --git a/fs/crypto/fscrypt_private.h b/fs/crypto/fscrypt_private.h
index af6300c..f78cc4d 100644
--- a/fs/crypto/fscrypt_private.h
+++ b/fs/crypto/fscrypt_private.h
@@ -12,6 +12,7 @@
 #define _FSCRYPT_PRIVATE_H
 
 #include <linux/fscrypt.h>
+#include <linux/siphash.h>
 #include <crypto/hash.h>
 #include <linux/bio-crypt-ctx.h>
 
@@ -138,12 +139,6 @@
 	BUG();
 }
 
-static inline bool
-fscrypt_is_direct_key_policy(const union fscrypt_policy *policy)
-{
-	return fscrypt_policy_flags(policy) & FSCRYPT_POLICY_FLAG_DIRECT_KEY;
-}
-
 /**
  * For encrypted symlinks, the ciphertext length is stored at the beginning
  * of the string in little-endian format.
@@ -218,6 +213,14 @@
 	 */
 	struct fscrypt_direct_key *ci_direct_key;
 
+	/*
+	 * This inode's hash key for filenames.  This is a 128-bit SipHash-2-4
+	 * key.  This is only set for directories that use a keyed dirhash over
+	 * the plaintext filenames -- currently just casefolded directories.
+	 */
+	siphash_key_t ci_dirhash_key;
+	bool ci_dirhash_key_initialized;
+
 	/* The encryption policy used by this inode */
 	union fscrypt_policy ci_policy;
 
@@ -230,28 +233,6 @@
 	FS_ENCRYPT,
 } fscrypt_direction_t;
 
-static inline bool fscrypt_valid_enc_modes(u32 contents_mode,
-					   u32 filenames_mode)
-{
-	if (contents_mode == FSCRYPT_MODE_AES_128_CBC &&
-	    filenames_mode == FSCRYPT_MODE_AES_128_CTS)
-		return true;
-
-	if (contents_mode == FSCRYPT_MODE_AES_256_XTS &&
-	    filenames_mode == FSCRYPT_MODE_AES_256_CTS)
-		return true;
-
-	if (contents_mode == FSCRYPT_MODE_ADIANTUM &&
-	    filenames_mode == FSCRYPT_MODE_ADIANTUM)
-		return true;
-
-	if (contents_mode == FSCRYPT_MODE_PRIVATE &&
-		filenames_mode == FSCRYPT_MODE_AES_256_CTS)
-		return true;
-
-	return false;
-}
-
 /* crypto.c */
 extern struct kmem_cache *fscrypt_info_cachep;
 extern int fscrypt_initialize(unsigned int cop_flags);
@@ -261,7 +242,6 @@
 			       unsigned int len, unsigned int offs,
 			       gfp_t gfp_flags);
 extern struct page *fscrypt_alloc_bounce_page(gfp_t gfp_flags);
-extern const struct dentry_operations fscrypt_d_ops;
 
 extern void __printf(3, 4) __cold
 fscrypt_msg(const struct inode *inode, const char *level, const char *fmt, ...);
@@ -289,8 +269,9 @@
 			 const struct fscrypt_info *ci);
 
 /* fname.c */
-extern int fname_encrypt(struct inode *inode, const struct qstr *iname,
-			 u8 *out, unsigned int olen);
+extern int fscrypt_fname_encrypt(const struct inode *inode,
+				 const struct qstr *iname,
+				 u8 *out, unsigned int olen);
 extern bool fscrypt_fname_encrypted_size(const struct inode *inode,
 					 u32 orig_len, u32 max_len,
 					 u32 *encrypted_len_ret);
@@ -312,11 +293,12 @@
  * output doesn't reveal another.
  */
 #define HKDF_CONTEXT_KEY_IDENTIFIER	1
-#define HKDF_CONTEXT_PER_FILE_KEY	2
+#define HKDF_CONTEXT_PER_FILE_ENC_KEY	2
 #define HKDF_CONTEXT_DIRECT_KEY		3
 #define HKDF_CONTEXT_IV_INO_LBLK_64_KEY	4
+#define HKDF_CONTEXT_DIRHASH_KEY	5
 
-extern int fscrypt_hkdf_expand(struct fscrypt_hkdf *hkdf, u8 context,
+extern int fscrypt_hkdf_expand(const struct fscrypt_hkdf *hkdf, u8 context,
 			       const u8 *info, unsigned int infolen,
 			       u8 *okm, unsigned int okmlen);
 
@@ -568,18 +550,12 @@
 	const char *cipher_str;
 	int keysize;
 	int ivsize;
-	bool logged_impl_name;
+	int logged_impl_name;
 	enum blk_crypto_mode_num blk_crypto_mode;
 };
 
 extern struct fscrypt_mode fscrypt_modes[];
 
-static inline bool
-fscrypt_mode_supports_direct_key(const struct fscrypt_mode *mode)
-{
-	return mode->ivsize >= offsetofend(union fscrypt_iv, nonce);
-}
-
 extern int fscrypt_prepare_key(struct fscrypt_prepared_key *prep_key,
 			       const u8 *raw_key, unsigned int raw_key_size,
 			       bool is_hw_wrapped,
@@ -587,8 +563,11 @@
 
 extern void fscrypt_destroy_prepared_key(struct fscrypt_prepared_key *prep_key);
 
-extern int fscrypt_set_derived_key(struct fscrypt_info *ci,
-				   const u8 *derived_key);
+extern int fscrypt_set_per_file_enc_key(struct fscrypt_info *ci,
+					const u8 *raw_key);
+
+extern int fscrypt_derive_dirhash_key(struct fscrypt_info *ci,
+				      const struct fscrypt_master_key *mk);
 
 /* keysetup_v1.c */
 
diff --git a/fs/crypto/hkdf.c b/fs/crypto/hkdf.c
index 2c02600..fd7f676 100644
--- a/fs/crypto/hkdf.c
+++ b/fs/crypto/hkdf.c
@@ -113,7 +113,7 @@
  * adds to its application-specific info strings to guarantee that it doesn't
  * accidentally repeat an info string when using HKDF for different purposes.)
  */
-int fscrypt_hkdf_expand(struct fscrypt_hkdf *hkdf, u8 context,
+int fscrypt_hkdf_expand(const struct fscrypt_hkdf *hkdf, u8 context,
 			const u8 *info, unsigned int infolen,
 			u8 *okm, unsigned int okmlen)
 {
diff --git a/fs/crypto/hooks.c b/fs/crypto/hooks.c
index 30b1ca6..a6396bf 100644
--- a/fs/crypto/hooks.c
+++ b/fs/crypto/hooks.c
@@ -4,6 +4,8 @@
  * Encryption hooks for higher-level filesystem operations.
  */
 
+#include <linux/key.h>
+
 #include "fscrypt_private.h"
 
 /**
@@ -115,12 +117,53 @@
 		spin_lock(&dentry->d_lock);
 		dentry->d_flags |= DCACHE_ENCRYPTED_NAME;
 		spin_unlock(&dentry->d_lock);
-		d_set_d_op(dentry, &fscrypt_d_ops);
 	}
 	return err;
 }
 EXPORT_SYMBOL_GPL(__fscrypt_prepare_lookup);
 
+/**
+ * fscrypt_prepare_setflags() - prepare to change flags with FS_IOC_SETFLAGS
+ * @inode: the inode on which flags are being changed
+ * @oldflags: the old flags
+ * @flags: the new flags
+ *
+ * The caller should be holding i_rwsem for write.
+ *
+ * Return: 0 on success; -errno if the flags change isn't allowed or if
+ *	   another error occurs.
+ */
+int fscrypt_prepare_setflags(struct inode *inode,
+			     unsigned int oldflags, unsigned int flags)
+{
+	struct fscrypt_info *ci;
+	struct fscrypt_master_key *mk;
+	int err;
+
+	/*
+	 * When the CASEFOLD flag is set on an encrypted directory, we must
+	 * derive the secret key needed for the dirhash.  This is only possible
+	 * if the directory uses a v2 encryption policy.
+	 */
+	if (IS_ENCRYPTED(inode) && (flags & ~oldflags & FS_CASEFOLD_FL)) {
+		err = fscrypt_require_key(inode);
+		if (err)
+			return err;
+		ci = inode->i_crypt_info;
+		if (ci->ci_policy.version != FSCRYPT_POLICY_V2)
+			return -EINVAL;
+		mk = ci->ci_master_key->payload.data[0];
+		down_read(&mk->mk_secret_sem);
+		if (is_master_key_secret_present(&mk->mk_secret))
+			err = fscrypt_derive_dirhash_key(ci, mk);
+		else
+			err = -ENOKEY;
+		up_read(&mk->mk_secret_sem);
+		return err;
+	}
+	return 0;
+}
+
 int __fscrypt_prepare_symlink(struct inode *dir, unsigned int len,
 			      unsigned int max_len,
 			      struct fscrypt_str *disk_link)
@@ -187,7 +230,8 @@
 	ciphertext_len = disk_link->len - sizeof(*sd);
 	sd->len = cpu_to_le16(ciphertext_len);
 
-	err = fname_encrypt(inode, &iname, sd->encrypted_path, ciphertext_len);
+	err = fscrypt_fname_encrypt(inode, &iname, sd->encrypted_path,
+				    ciphertext_len);
 	if (err)
 		goto err_free_sd;
 
diff --git a/fs/crypto/keyring.c b/fs/crypto/keyring.c
index d524b43..9257ea1 100644
--- a/fs/crypto/keyring.c
+++ b/fs/crypto/keyring.c
@@ -632,7 +632,7 @@
 		if (arg.raw_size < FSCRYPT_MIN_KEY_SIZE ||
 		    arg.raw_size >
 		    ((arg.__flags & __FSCRYPT_ADD_KEY_FLAG_HW_WRAPPED) ?
-		    FSCRYPT_MAX_HW_WRAPPED_KEY_SIZE : FSCRYPT_MAX_KEY_SIZE))
+		     FSCRYPT_MAX_HW_WRAPPED_KEY_SIZE : FSCRYPT_MAX_KEY_SIZE))
 			return -EINVAL;
 		secret.size = arg.raw_size;
 		err = -EFAULT;
@@ -809,9 +809,6 @@
 	struct list_head *pos;
 	size_t busy_count = 0;
 	unsigned long ino;
-	struct dentry *dentry;
-	char _path[256];
-	char *path = NULL;
 
 	spin_lock(&mk->mk_decrypted_inodes_lock);
 
@@ -830,22 +827,14 @@
 					 struct fscrypt_info,
 					 ci_master_key_link)->ci_inode;
 		ino = inode->i_ino;
-		dentry = d_find_alias(inode);
 	}
 	spin_unlock(&mk->mk_decrypted_inodes_lock);
 
-	if (dentry) {
-		path = dentry_path(dentry, _path, sizeof(_path));
-		dput(dentry);
-	}
-	if (IS_ERR_OR_NULL(path))
-		path = "(unknown)";
-
 	fscrypt_warn(NULL,
-		     "%s: %zu inode(s) still busy after removing key with %s %*phN, including ino %lu (%s)",
+		     "%s: %zu inode(s) still busy after removing key with %s %*phN, including ino %lu",
 		     sb->s_id, busy_count, master_key_spec_type(&mk->mk_spec),
 		     master_key_spec_len(&mk->mk_spec), (u8 *)&mk->mk_spec.u,
-		     ino, path);
+		     ino);
 	return -EBUSY;
 }
 
diff --git a/fs/crypto/keysetup.c b/fs/crypto/keysetup.c
index 5414e27..e6fd5fc 100644
--- a/fs/crypto/keysetup.c
+++ b/fs/crypto/keysetup.c
@@ -91,18 +91,19 @@
 			    mode->cipher_str, PTR_ERR(tfm));
 		return tfm;
 	}
-	if (unlikely(!mode->logged_impl_name)) {
+	if (!xchg(&mode->logged_impl_name, 1)) {
 		/*
 		 * fscrypt performance can vary greatly depending on which
 		 * crypto algorithm implementation is used.  Help people debug
 		 * performance problems by logging the ->cra_driver_name the
-		 * first time a mode is used.  Note that multiple threads can
-		 * race here, but it doesn't really matter.
+		 * first time a mode is used.
 		 */
-		mode->logged_impl_name = true;
 		pr_info("fscrypt: %s using implementation \"%s\"\n",
-			mode->friendly_name,
-			crypto_skcipher_alg(tfm)->base.cra_driver_name);
+			mode->friendly_name, crypto_skcipher_driver_name(tfm));
+	}
+	if (WARN_ON(crypto_skcipher_ivsize(tfm) != mode->ivsize)) {
+		err = -EINVAL;
+		goto err_free_tfm;
 	}
 	crypto_skcipher_set_flags(tfm, CRYPTO_TFM_REQ_WEAK_KEY);
 	err = crypto_skcipher_setkey(tfm, raw_key, mode->keysize);
@@ -152,18 +153,18 @@
 	fscrypt_destroy_inline_crypt_key(prep_key);
 }
 
-/* Given the per-file key, set up the file's crypto transform object */
-int fscrypt_set_derived_key(struct fscrypt_info *ci, const u8 *derived_key)
+/* Given a per-file encryption key, set up the file's crypto transform object */
+int fscrypt_set_per_file_enc_key(struct fscrypt_info *ci, const u8 *raw_key)
 {
 	ci->ci_owns_key = true;
-	return fscrypt_prepare_key(&ci->ci_key, derived_key,
-				   ci->ci_mode->keysize, false, ci);
+	return fscrypt_prepare_key(&ci->ci_key, raw_key, ci->ci_mode->keysize,
+				   false /*is_hw_wrapped*/, ci);
 }
 
-static int setup_per_mode_key(struct fscrypt_info *ci,
-			      struct fscrypt_master_key *mk,
-			      struct fscrypt_prepared_key *keys,
-			      u8 hkdf_context, bool include_fs_uuid)
+static int setup_per_mode_enc_key(struct fscrypt_info *ci,
+				  struct fscrypt_master_key *mk,
+				  struct fscrypt_prepared_key *keys,
+				  u8 hkdf_context, bool include_fs_uuid)
 {
 	static DEFINE_MUTEX(mode_key_setup_mutex);
 	const struct inode *inode = ci->ci_inode;
@@ -240,10 +241,24 @@
 	return err;
 }
 
+int fscrypt_derive_dirhash_key(struct fscrypt_info *ci,
+			       const struct fscrypt_master_key *mk)
+{
+	int err;
+
+	err = fscrypt_hkdf_expand(&mk->mk_secret.hkdf, HKDF_CONTEXT_DIRHASH_KEY,
+				  ci->ci_nonce, FS_KEY_DERIVATION_NONCE_SIZE,
+				  (u8 *)&ci->ci_dirhash_key,
+				  sizeof(ci->ci_dirhash_key));
+	if (err)
+		return err;
+	ci->ci_dirhash_key_initialized = true;
+	return 0;
+}
+
 static int fscrypt_setup_v2_file_key(struct fscrypt_info *ci,
 				     struct fscrypt_master_key *mk)
 {
-	u8 derived_key[FSCRYPT_MAX_KEY_SIZE];
 	int err;
 
 	if (mk->mk_secret.is_hw_wrapped &&
@@ -255,21 +270,15 @@
 
 	if (ci->ci_policy.v2.flags & FSCRYPT_POLICY_FLAG_DIRECT_KEY) {
 		/*
-		 * DIRECT_KEY: instead of deriving per-file keys, the per-file
-		 * nonce will be included in all the IVs.  But unlike v1
-		 * policies, for v2 policies in this case we don't encrypt with
-		 * the master key directly but rather derive a per-mode key.
-		 * This ensures that the master key is consistently used only
-		 * for HKDF, avoiding key reuse issues.
+		 * DIRECT_KEY: instead of deriving per-file encryption keys, the
+		 * per-file nonce will be included in all the IVs.  But unlike
+		 * v1 policies, for v2 policies in this case we don't encrypt
+		 * with the master key directly but rather derive a per-mode
+		 * encryption key.  This ensures that the master key is
+		 * consistently used only for HKDF, avoiding key reuse issues.
 		 */
-		if (!fscrypt_mode_supports_direct_key(ci->ci_mode)) {
-			fscrypt_warn(ci->ci_inode,
-				     "Direct key flag not allowed with %s",
-				     ci->ci_mode->friendly_name);
-			return -EINVAL;
-		}
-		return setup_per_mode_key(ci, mk, mk->mk_direct_keys,
-					  HKDF_CONTEXT_DIRECT_KEY, false);
+		err = setup_per_mode_enc_key(ci, mk, mk->mk_direct_keys,
+					     HKDF_CONTEXT_DIRECT_KEY, false);
 	} else if (ci->ci_policy.v2.flags &
 		   FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64) {
 		/*
@@ -278,21 +287,34 @@
 		 * the IVs.  This format is optimized for use with inline
 		 * encryption hardware compliant with the UFS or eMMC standards.
 		 */
-		return setup_per_mode_key(ci, mk, mk->mk_iv_ino_lblk_64_keys,
-					  HKDF_CONTEXT_IV_INO_LBLK_64_KEY,
-					  true);
-	}
+		err = setup_per_mode_enc_key(ci, mk, mk->mk_iv_ino_lblk_64_keys,
+					     HKDF_CONTEXT_IV_INO_LBLK_64_KEY,
+					     true);
+	} else {
+		u8 derived_key[FSCRYPT_MAX_KEY_SIZE];
 
-	err = fscrypt_hkdf_expand(&mk->mk_secret.hkdf,
-				  HKDF_CONTEXT_PER_FILE_KEY,
-				  ci->ci_nonce, FS_KEY_DERIVATION_NONCE_SIZE,
-				  derived_key, ci->ci_mode->keysize);
+		err = fscrypt_hkdf_expand(&mk->mk_secret.hkdf,
+					  HKDF_CONTEXT_PER_FILE_ENC_KEY,
+					  ci->ci_nonce,
+					  FS_KEY_DERIVATION_NONCE_SIZE,
+					  derived_key, ci->ci_mode->keysize);
+		if (err)
+			return err;
+
+		err = fscrypt_set_per_file_enc_key(ci, derived_key);
+		memzero_explicit(derived_key, ci->ci_mode->keysize);
+	}
 	if (err)
 		return err;
 
-	err = fscrypt_set_derived_key(ci, derived_key);
-	memzero_explicit(derived_key, ci->ci_mode->keysize);
-	return err;
+	/* Derive a secret dirhash key for directories that need it. */
+	if (S_ISDIR(ci->ci_inode->i_mode) && IS_CASEFOLDED(ci->ci_inode)) {
+		err = fscrypt_derive_dirhash_key(ci, mk);
+		if (err)
+			return err;
+	}
+
+	return 0;
 }
 
 /*
@@ -593,6 +615,15 @@
 	mk = ci->ci_master_key->payload.data[0];
 
 	/*
+	 * With proper, non-racy use of FS_IOC_REMOVE_ENCRYPTION_KEY, all inodes
+	 * protected by the key were cleaned by sync_filesystem().  But if
+	 * userspace is still using the files, inodes can be dirtied between
+	 * then and now.  We mustn't lose any writes, so skip dirty inodes here.
+	 */
+	if (inode->i_state & I_DIRTY_ALL)
+		return 0;
+
+	/*
 	 * Note: since we aren't holding ->mk_secret_sem, the result here can
 	 * immediately become outdated.  But there's no correctness problem with
 	 * unnecessarily evicting.  Nor is there a correctness problem with not
diff --git a/fs/crypto/keysetup_v1.c b/fs/crypto/keysetup_v1.c
index 1f0c19d..38e5431 100644
--- a/fs/crypto/keysetup_v1.c
+++ b/fs/crypto/keysetup_v1.c
@@ -9,7 +9,7 @@
  * This file implements compatibility functions for the original encryption
  * policy version ("v1"), including:
  *
- * - Deriving per-file keys using the AES-128-ECB based KDF
+ * - Deriving per-file encryption keys using the AES-128-ECB based KDF
  *   (rather than the new method of using HKDF-SHA512)
  *
  * - Retrieving fscrypt master keys from process-subscribed keyrings
@@ -253,23 +253,8 @@
 static int setup_v1_file_key_direct(struct fscrypt_info *ci,
 				    const u8 *raw_master_key)
 {
-	const struct fscrypt_mode *mode = ci->ci_mode;
 	struct fscrypt_direct_key *dk;
 
-	if (!fscrypt_mode_supports_direct_key(mode)) {
-		fscrypt_warn(ci->ci_inode,
-			     "Direct key mode not allowed with %s",
-			     mode->friendly_name);
-		return -EINVAL;
-	}
-
-	if (ci->ci_policy.v1.contents_encryption_mode !=
-	    ci->ci_policy.v1.filenames_encryption_mode) {
-		fscrypt_warn(ci->ci_inode,
-			     "Direct key mode not allowed with different contents and filenames modes");
-		return -EINVAL;
-	}
-
 	dk = fscrypt_get_direct_key(ci, raw_master_key);
 	if (IS_ERR(dk))
 		return PTR_ERR(dk);
@@ -319,7 +304,7 @@
 	if (err)
 		goto out;
 
-	err = fscrypt_set_derived_key(ci, derived_key);
+	err = fscrypt_set_per_file_enc_key(ci, derived_key);
 out:
 	kzfree(derived_key);
 	return err;
diff --git a/fs/crypto/policy.c b/fs/crypto/policy.c
index 96f5280..4bed63a 100644
--- a/fs/crypto/policy.c
+++ b/fs/crypto/policy.c
@@ -29,6 +29,47 @@
 	return !memcmp(policy1, policy2, fscrypt_policy_size(policy1));
 }
 
+static bool fscrypt_valid_enc_modes(u32 contents_mode, u32 filenames_mode)
+{
+	if (contents_mode == FSCRYPT_MODE_AES_256_XTS &&
+	    filenames_mode == FSCRYPT_MODE_AES_256_CTS)
+		return true;
+
+	if (contents_mode == FSCRYPT_MODE_AES_128_CBC &&
+	    filenames_mode == FSCRYPT_MODE_AES_128_CTS)
+		return true;
+
+	if (contents_mode == FSCRYPT_MODE_ADIANTUM &&
+	    filenames_mode == FSCRYPT_MODE_ADIANTUM)
+		return true;
+
+	if (contents_mode == FSCRYPT_MODE_PRIVATE &&
+	    filenames_mode == FSCRYPT_MODE_AES_256_CTS)
+		return true;
+
+	return false;
+}
+
+static bool supported_direct_key_modes(const struct inode *inode,
+				       u32 contents_mode, u32 filenames_mode)
+{
+	const struct fscrypt_mode *mode;
+
+	if (contents_mode != filenames_mode) {
+		fscrypt_warn(inode,
+			     "Direct key flag not allowed with different contents and filenames modes");
+		return false;
+	}
+	mode = &fscrypt_modes[contents_mode];
+
+	if (mode->ivsize < offsetofend(union fscrypt_iv, nonce)) {
+		fscrypt_warn(inode, "Direct key flag not allowed with %s",
+			     mode->friendly_name);
+		return false;
+	}
+	return true;
+}
+
 static bool supported_iv_ino_lblk_64_policy(
 					const struct fscrypt_policy_v2 *policy,
 					const struct inode *inode)
@@ -63,13 +104,82 @@
 	return true;
 }
 
+static bool fscrypt_supported_v1_policy(const struct fscrypt_policy_v1 *policy,
+					const struct inode *inode)
+{
+	if (!fscrypt_valid_enc_modes(policy->contents_encryption_mode,
+				     policy->filenames_encryption_mode)) {
+		fscrypt_warn(inode,
+			     "Unsupported encryption modes (contents %d, filenames %d)",
+			     policy->contents_encryption_mode,
+			     policy->filenames_encryption_mode);
+		return false;
+	}
+
+	if (policy->flags & ~(FSCRYPT_POLICY_FLAGS_PAD_MASK |
+			      FSCRYPT_POLICY_FLAG_DIRECT_KEY)) {
+		fscrypt_warn(inode, "Unsupported encryption flags (0x%02x)",
+			     policy->flags);
+		return false;
+	}
+
+	if ((policy->flags & FSCRYPT_POLICY_FLAG_DIRECT_KEY) &&
+	    !supported_direct_key_modes(inode, policy->contents_encryption_mode,
+					policy->filenames_encryption_mode))
+		return false;
+
+	if (IS_CASEFOLDED(inode)) {
+		/* With v1, there's no way to derive dirhash keys. */
+		fscrypt_warn(inode,
+			     "v1 policies can't be used on casefolded directories");
+		return false;
+	}
+
+	return true;
+}
+
+static bool fscrypt_supported_v2_policy(const struct fscrypt_policy_v2 *policy,
+					const struct inode *inode)
+{
+	if (!fscrypt_valid_enc_modes(policy->contents_encryption_mode,
+				     policy->filenames_encryption_mode)) {
+		fscrypt_warn(inode,
+			     "Unsupported encryption modes (contents %d, filenames %d)",
+			     policy->contents_encryption_mode,
+			     policy->filenames_encryption_mode);
+		return false;
+	}
+
+	if (policy->flags & ~FSCRYPT_POLICY_FLAGS_VALID) {
+		fscrypt_warn(inode, "Unsupported encryption flags (0x%02x)",
+			     policy->flags);
+		return false;
+	}
+
+	if ((policy->flags & FSCRYPT_POLICY_FLAG_DIRECT_KEY) &&
+	    !supported_direct_key_modes(inode, policy->contents_encryption_mode,
+					policy->filenames_encryption_mode))
+		return false;
+
+	if ((policy->flags & FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64) &&
+	    !supported_iv_ino_lblk_64_policy(policy, inode))
+		return false;
+
+	if (memchr_inv(policy->__reserved, 0, sizeof(policy->__reserved))) {
+		fscrypt_warn(inode, "Reserved bits set in encryption policy");
+		return false;
+	}
+
+	return true;
+}
+
 /**
  * fscrypt_supported_policy - check whether an encryption policy is supported
  *
  * Given an encryption policy, check whether all its encryption modes and other
- * settings are supported by this kernel.  (But we don't currently don't check
- * for crypto API support here, so attempting to use an algorithm not configured
- * into the crypto API will still fail later.)
+ * settings are supported by this kernel on the given inode.  (But we don't
+ * currently don't check for crypto API support here, so attempting to use an
+ * algorithm not configured into the crypto API will still fail later.)
  *
  * Return: %true if supported, else %false
  */
@@ -77,60 +187,10 @@
 			      const struct inode *inode)
 {
 	switch (policy_u->version) {
-	case FSCRYPT_POLICY_V1: {
-		const struct fscrypt_policy_v1 *policy = &policy_u->v1;
-
-		if (!fscrypt_valid_enc_modes(policy->contents_encryption_mode,
-					     policy->filenames_encryption_mode)) {
-			fscrypt_warn(inode,
-				     "Unsupported encryption modes (contents %d, filenames %d)",
-				     policy->contents_encryption_mode,
-				     policy->filenames_encryption_mode);
-			return false;
-		}
-
-		if (policy->flags & ~(FSCRYPT_POLICY_FLAGS_PAD_MASK |
-				      FSCRYPT_POLICY_FLAG_DIRECT_KEY)) {
-			fscrypt_warn(inode,
-				     "Unsupported encryption flags (0x%02x)",
-				     policy->flags);
-			return false;
-		}
-
-		return true;
-	}
-	case FSCRYPT_POLICY_V2: {
-		const struct fscrypt_policy_v2 *policy = &policy_u->v2;
-
-		if (!fscrypt_valid_enc_modes(policy->contents_encryption_mode,
-					     policy->filenames_encryption_mode)) {
-			fscrypt_warn(inode,
-				     "Unsupported encryption modes (contents %d, filenames %d)",
-				     policy->contents_encryption_mode,
-				     policy->filenames_encryption_mode);
-			return false;
-		}
-
-		if (policy->flags & ~FSCRYPT_POLICY_FLAGS_VALID) {
-			fscrypt_warn(inode,
-				     "Unsupported encryption flags (0x%02x)",
-				     policy->flags);
-			return false;
-		}
-
-		if ((policy->flags & FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64) &&
-		    !supported_iv_ino_lblk_64_policy(policy, inode))
-			return false;
-
-		if (memchr_inv(policy->__reserved, 0,
-			       sizeof(policy->__reserved))) {
-			fscrypt_warn(inode,
-				     "Reserved bits set in encryption policy");
-			return false;
-		}
-
-		return true;
-	}
+	case FSCRYPT_POLICY_V1:
+		return fscrypt_supported_v1_policy(&policy_u->v1, inode);
+	case FSCRYPT_POLICY_V2:
+		return fscrypt_supported_v2_policy(&policy_u->v2, inode);
 	}
 	return false;
 }
diff --git a/fs/dax.c b/fs/dax.c
index f0d932f..d09701a 100644
--- a/fs/dax.c
+++ b/fs/dax.c
@@ -1301,6 +1301,9 @@
 		lockdep_assert_held(&inode->i_rwsem);
 	}
 
+	if (iocb->ki_flags & IOCB_NOWAIT)
+		flags |= IOMAP_NOWAIT;
+
 	while (iov_iter_count(iter)) {
 		ret = iomap_apply(inode, pos, iov_iter_count(iter), flags, ops,
 				iter, dax_iomap_actor);
diff --git a/fs/ecryptfs/crypto.c b/fs/ecryptfs/crypto.c
index 708f931..8e5353b 100644
--- a/fs/ecryptfs/crypto.c
+++ b/fs/ecryptfs/crypto.c
@@ -325,8 +325,10 @@
 	struct extent_crypt_result ecr;
 	int rc = 0;
 
-	BUG_ON(!crypt_stat || !crypt_stat->tfm
-	       || !(crypt_stat->flags & ECRYPTFS_STRUCT_INITIALIZED));
+	if (!crypt_stat || !crypt_stat->tfm
+	       || !(crypt_stat->flags & ECRYPTFS_STRUCT_INITIALIZED))
+		return -EINVAL;
+
 	if (unlikely(ecryptfs_verbosity > 0)) {
 		ecryptfs_printk(KERN_DEBUG, "Key size [%zd]; key:\n",
 				crypt_stat->key_size);
diff --git a/fs/ecryptfs/keystore.c b/fs/ecryptfs/keystore.c
index e74fe84..250cb23 100644
--- a/fs/ecryptfs/keystore.c
+++ b/fs/ecryptfs/keystore.c
@@ -1318,7 +1318,7 @@
 		printk(KERN_WARNING "Tag 1 packet contains key larger "
 		       "than ECRYPTFS_MAX_ENCRYPTED_KEY_BYTES\n");
 		rc = -EINVAL;
-		goto out;
+		goto out_free;
 	}
 	memcpy((*new_auth_tok)->session_key.encrypted_key,
 	       &data[(*packet_size)], (body_size - (ECRYPTFS_SIG_SIZE + 2)));
diff --git a/fs/ecryptfs/messaging.c b/fs/ecryptfs/messaging.c
index 9fdd5bc..aa3ddb48 100644
--- a/fs/ecryptfs/messaging.c
+++ b/fs/ecryptfs/messaging.c
@@ -392,6 +392,7 @@
 					* ecryptfs_message_buf_len),
 				       GFP_KERNEL);
 	if (!ecryptfs_msg_ctx_arr) {
+		kfree(ecryptfs_daemon_hash);
 		rc = -ENOMEM;
 		goto out;
 	}
diff --git a/fs/eventfd.c b/fs/eventfd.c
index 08d3bd6..ce1d171 100644
--- a/fs/eventfd.c
+++ b/fs/eventfd.c
@@ -22,6 +22,8 @@
 #include <linux/proc_fs.h>
 #include <linux/seq_file.h>
 
+DEFINE_PER_CPU(int, eventfd_wake_count);
+
 struct eventfd_ctx {
 	struct kref kref;
 	wait_queue_head_t wqh;
@@ -55,12 +57,25 @@
 {
 	unsigned long flags;
 
+	/*
+	 * Deadlock or stack overflow issues can happen if we recurse here
+	 * through waitqueue wakeup handlers. If the caller users potentially
+	 * nested waitqueues with custom wakeup handlers, then it should
+	 * check eventfd_signal_count() before calling this function. If
+	 * it returns true, the eventfd_signal() call should be deferred to a
+	 * safe context.
+	 */
+	if (WARN_ON_ONCE(this_cpu_read(eventfd_wake_count)))
+		return 0;
+
 	spin_lock_irqsave(&ctx->wqh.lock, flags);
+	this_cpu_inc(eventfd_wake_count);
 	if (ULLONG_MAX - ctx->count < n)
 		n = ULLONG_MAX - ctx->count;
 	ctx->count += n;
 	if (waitqueue_active(&ctx->wqh))
 		wake_up_locked_poll(&ctx->wqh, EPOLLIN);
+	this_cpu_dec(eventfd_wake_count);
 	spin_unlock_irqrestore(&ctx->wqh.lock, flags);
 
 	return n;
diff --git a/fs/eventpoll.c b/fs/eventpoll.c
index 8b4ded9..4760c2b 100644
--- a/fs/eventpoll.c
+++ b/fs/eventpoll.c
@@ -1383,13 +1383,13 @@
 	struct wakeup_source *ws;
 
 	if (!epi->ep->ws) {
-		epi->ep->ws = wakeup_source_register("eventpoll");
+		epi->ep->ws = wakeup_source_register(NULL, "eventpoll");
 		if (!epi->ep->ws)
 			return -ENOMEM;
 	}
 
 	name = epi->ffd.file->f_path.dentry->d_name.name;
-	ws = wakeup_source_register(name);
+	ws = wakeup_source_register(NULL, name);
 
 	if (!ws)
 		return -ENOMEM;
diff --git a/fs/exportfs/expfs.c b/fs/exportfs/expfs.c
index 808cae6..ae32483 100644
--- a/fs/exportfs/expfs.c
+++ b/fs/exportfs/expfs.c
@@ -147,6 +147,7 @@
 	tmp = lookup_one_len_unlocked(nbuf, parent, strlen(nbuf));
 	if (IS_ERR(tmp)) {
 		dprintk("%s: lookup failed: %d\n", __func__, PTR_ERR(tmp));
+		err = PTR_ERR(tmp);
 		goto out_err;
 	}
 	if (tmp != dentry) {
diff --git a/fs/ext2/super.c b/fs/ext2/super.c
index 364e647..80a3038 100644
--- a/fs/ext2/super.c
+++ b/fs/ext2/super.c
@@ -1093,9 +1093,9 @@
 
 	if (EXT2_BLOCKS_PER_GROUP(sb) == 0)
 		goto cantfind_ext2;
- 	sbi->s_groups_count = ((le32_to_cpu(es->s_blocks_count) -
- 				le32_to_cpu(es->s_first_data_block) - 1)
- 					/ EXT2_BLOCKS_PER_GROUP(sb)) + 1;
+	sbi->s_groups_count = ((le32_to_cpu(es->s_blocks_count) -
+				le32_to_cpu(es->s_first_data_block) - 1)
+					/ EXT2_BLOCKS_PER_GROUP(sb)) + 1;
 	db_count = (sbi->s_groups_count + EXT2_DESC_PER_BLOCK(sb) - 1) /
 		   EXT2_DESC_PER_BLOCK(sb);
 	sbi->s_group_desc = kmalloc_array (db_count,
diff --git a/fs/ext4/Kconfig b/fs/ext4/Kconfig
index 037358b..8d8c031 100644
--- a/fs/ext4/Kconfig
+++ b/fs/ext4/Kconfig
@@ -38,6 +38,7 @@
 	select CRYPTO
 	select CRYPTO_CRC32C
 	select FS_IOMAP
+	select FS_ENCRYPTION_ALGS if FS_ENCRYPTION
 	help
 	  This is the next generation of the ext3 filesystem.
 
diff --git a/fs/ext4/balloc.c b/fs/ext4/balloc.c
index e5d6ee6..f9645de 100644
--- a/fs/ext4/balloc.c
+++ b/fs/ext4/balloc.c
@@ -270,6 +270,7 @@
 	ext4_group_t ngroups = ext4_get_groups_count(sb);
 	struct ext4_group_desc *desc;
 	struct ext4_sb_info *sbi = EXT4_SB(sb);
+	struct buffer_head *bh_p;
 
 	if (block_group >= ngroups) {
 		ext4_error(sb, "block_group >= groups_count - block_group = %u,"
@@ -280,7 +281,14 @@
 
 	group_desc = block_group >> EXT4_DESC_PER_BLOCK_BITS(sb);
 	offset = block_group & (EXT4_DESC_PER_BLOCK(sb) - 1);
-	if (!sbi->s_group_desc[group_desc]) {
+	bh_p = sbi_array_rcu_deref(sbi, s_group_desc, group_desc);
+	/*
+	 * sbi_array_rcu_deref returns with rcu unlocked, this is ok since
+	 * the pointer being dereferenced won't be dereferenced again. By
+	 * looking at the usage in add_new_gdb() the value isn't modified,
+	 * just the pointer, and so it remains valid.
+	 */
+	if (!bh_p) {
 		ext4_error(sb, "Group descriptor not loaded - "
 			   "block_group = %u, group_desc = %u, desc = %u",
 			   block_group, group_desc, offset);
@@ -288,10 +296,10 @@
 	}
 
 	desc = (struct ext4_group_desc *)(
-		(__u8 *)sbi->s_group_desc[group_desc]->b_data +
+		(__u8 *)bh_p->b_data +
 		offset * EXT4_DESC_SIZE(sb));
 	if (bh)
-		*bh = sbi->s_group_desc[group_desc];
+		*bh = bh_p;
 	return desc;
 }
 
diff --git a/fs/ext4/block_validity.c b/fs/ext4/block_validity.c
index 7edc817..d203cc9 100644
--- a/fs/ext4/block_validity.c
+++ b/fs/ext4/block_validity.c
@@ -203,6 +203,7 @@
 		return PTR_ERR(inode);
 	num = (inode->i_size + sb->s_blocksize - 1) >> sb->s_blocksize_bits;
 	while (i < num) {
+		cond_resched();
 		map.m_lblk = i;
 		map.m_len = num - i;
 		n = ext4_map_blocks(NULL, inode, &map, 0);
diff --git a/fs/ext4/dir.c b/fs/ext4/dir.c
index 2770af6..1c904c4 100644
--- a/fs/ext4/dir.c
+++ b/fs/ext4/dir.c
@@ -118,7 +118,7 @@
 
 	if (IS_ENCRYPTED(inode)) {
 		err = fscrypt_get_encryption_info(inode);
-		if (err && err != -ENOKEY)
+		if (err)
 			return err;
 	}
 
@@ -127,12 +127,14 @@
 		if (err != ERR_BAD_DX_DIR) {
 			return err;
 		}
-		/*
-		 * We don't set the inode dirty flag since it's not
-		 * critical that it get flushed back to the disk.
-		 */
-		ext4_clear_inode_flag(file_inode(file),
-				      EXT4_INODE_INDEX);
+		/* Can we just clear INDEX flag to ignore htree information? */
+		if (!ext4_has_metadata_csum(sb)) {
+			/*
+			 * We don't set the inode dirty flag since it's not
+			 * critical that it gets flushed back to the disk.
+			 */
+			ext4_clear_inode_flag(inode, EXT4_INODE_INDEX);
+		}
 	}
 
 	if (ext4_has_inline_data(inode)) {
@@ -665,51 +667,3 @@
 	.open		= ext4_dir_open,
 	.release	= ext4_release_dir,
 };
-
-#ifdef CONFIG_UNICODE
-static int ext4_d_compare(const struct dentry *dentry, unsigned int len,
-			  const char *str, const struct qstr *name)
-{
-	struct qstr qstr = {.name = str, .len = len };
-	struct inode *inode = dentry->d_parent->d_inode;
-
-	if (!IS_CASEFOLDED(inode) || !EXT4_SB(inode->i_sb)->s_encoding) {
-		if (len != name->len)
-			return -1;
-		return memcmp(str, name->name, len);
-	}
-
-	return ext4_ci_compare(inode, name, &qstr, false);
-}
-
-static int ext4_d_hash(const struct dentry *dentry, struct qstr *str)
-{
-	const struct ext4_sb_info *sbi = EXT4_SB(dentry->d_sb);
-	const struct unicode_map *um = sbi->s_encoding;
-	unsigned char *norm;
-	int len, ret = 0;
-
-	if (!IS_CASEFOLDED(dentry->d_inode) || !um)
-		return 0;
-
-	norm = kmalloc(PATH_MAX, GFP_ATOMIC);
-	if (!norm)
-		return -ENOMEM;
-
-	len = utf8_casefold(um, str, norm, PATH_MAX);
-	if (len < 0) {
-		if (ext4_has_strict_mode(sbi))
-			ret = -EINVAL;
-		goto out;
-	}
-	str->hash = full_name_hash(dentry, norm, len);
-out:
-	kfree(norm);
-	return ret;
-}
-
-const struct dentry_operations ext4_dentry_ops = {
-	.d_hash = ext4_d_hash,
-	.d_compare = ext4_d_compare,
-};
-#endif
diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
index 56f9de2..66fa445 100644
--- a/fs/ext4/ext4.h
+++ b/fs/ext4/ext4.h
@@ -1362,14 +1362,6 @@
 #define EXT4_ENC_UTF8_12_1	1
 
 /*
- * Flags for ext4_sb_info.s_encoding_flags.
- */
-#define EXT4_ENC_STRICT_MODE_FL	(1 << 0)
-
-#define ext4_has_strict_mode(sbi) \
-	(sbi->s_encoding_flags & EXT4_ENC_STRICT_MODE_FL)
-
-/*
  * fourth extended-fs super-block data in memory
  */
 struct ext4_sb_info {
@@ -1389,7 +1381,7 @@
 	loff_t s_bitmap_maxbytes;	/* max bytes for bitmap files */
 	struct buffer_head * s_sbh;	/* Buffer containing the super block */
 	struct ext4_super_block *s_es;	/* Pointer to the super block in the buffer */
-	struct buffer_head **s_group_desc;
+	struct buffer_head * __rcu *s_group_desc;
 	unsigned int s_mount_opt;
 	unsigned int s_mount_opt2;
 	unsigned int s_mount_flags;
@@ -1418,10 +1410,6 @@
 	struct kobject s_kobj;
 	struct completion s_kobj_unregister;
 	struct super_block *s_sb;
-#ifdef CONFIG_UNICODE
-	struct unicode_map *s_encoding;
-	__u16 s_encoding_flags;
-#endif
 
 	/* Journaling */
 	struct journal_s *s_journal;
@@ -1451,7 +1439,7 @@
 #endif
 
 	/* for buddy allocator */
-	struct ext4_group_info ***s_group_info;
+	struct ext4_group_info ** __rcu *s_group_info;
 	struct inode *s_buddy_cache;
 	spinlock_t s_md_lock;
 	unsigned short *s_mb_offsets;
@@ -1501,7 +1489,7 @@
 	unsigned int s_extent_max_zeroout_kb;
 
 	unsigned int s_log_groups_per_flex;
-	struct flex_groups *s_flex_groups;
+	struct flex_groups * __rcu *s_flex_groups;
 	ext4_group_t s_flex_groups_allocated;
 
 	/* workqueue for reserved extent conversions (buffered io) */
@@ -1541,8 +1529,11 @@
 	struct ratelimit_state s_warning_ratelimit_state;
 	struct ratelimit_state s_msg_ratelimit_state;
 
-	/* Barrier between changing inodes' journal flags and writepages ops. */
-	struct percpu_rw_semaphore s_journal_flag_rwsem;
+	/*
+	 * Barrier between writepages ops and changing any inode's JOURNAL_DATA
+	 * or EXTENTS flag.
+	 */
+	struct percpu_rw_semaphore s_writepages_rwsem;
 	struct dax_device *s_daxdev;
 };
 
@@ -1563,6 +1554,23 @@
 }
 
 /*
+ * Returns: sbi->field[index]
+ * Used to access an array element from the following sbi fields which require
+ * rcu protection to avoid dereferencing an invalid pointer due to reassignment
+ * - s_group_desc
+ * - s_group_info
+ * - s_flex_group
+ */
+#define sbi_array_rcu_deref(sbi, field, index)				   \
+({									   \
+	typeof(*((sbi)->field)) _v;					   \
+	rcu_read_lock();						   \
+	_v = ((typeof(_v)*)rcu_dereference((sbi)->field))[index];	   \
+	rcu_read_unlock();						   \
+	_v;								   \
+})
+
+/*
  * Inode dynamic state flags
  */
 enum {
@@ -2468,8 +2476,11 @@
 			struct ext4_filename *fname);
 static inline void ext4_update_dx_flag(struct inode *inode)
 {
-	if (!ext4_has_feature_dir_index(inode->i_sb))
+	if (!ext4_has_feature_dir_index(inode->i_sb)) {
+		/* ext4_iget() should have caught this... */
+		WARN_ON_ONCE(ext4_has_feature_metadata_csum(inode->i_sb));
 		ext4_clear_inode_flag(inode, EXT4_INODE_INDEX);
+	}
 }
 static const unsigned char ext4_filetype_table[] = {
 	DT_UNKNOWN, DT_REG, DT_DIR, DT_CHR, DT_BLK, DT_FIFO, DT_SOCK, DT_LNK
@@ -2654,6 +2665,7 @@
 extern bool ext4_empty_dir(struct inode *inode);
 
 /* resize.c */
+extern void ext4_kvfree_array_rcu(void *to_free);
 extern int ext4_group_add(struct super_block *sb,
 				struct ext4_new_group_data *input);
 extern int ext4_group_extend(struct super_block *sb,
@@ -2901,13 +2913,13 @@
 struct ext4_group_info *ext4_get_group_info(struct super_block *sb,
 					    ext4_group_t group)
 {
-	 struct ext4_group_info ***grp_info;
+	 struct ext4_group_info **grp_info;
 	 long indexv, indexh;
 	 BUG_ON(group >= EXT4_SB(sb)->s_groups_count);
-	 grp_info = EXT4_SB(sb)->s_group_info;
 	 indexv = group >> (EXT4_DESC_PER_BLOCK_BITS(sb));
 	 indexh = group & ((EXT4_DESC_PER_BLOCK(sb)) - 1);
-	 return grp_info[indexv][indexh];
+	 grp_info = sbi_array_rcu_deref(EXT4_SB(sb), s_group_info, indexv);
+	 return grp_info[indexh];
 }
 
 /*
@@ -2957,7 +2969,7 @@
 		     !inode_is_locked(inode));
 	down_write(&EXT4_I(inode)->i_data_sem);
 	if (newsize > EXT4_I(inode)->i_disksize)
-		EXT4_I(inode)->i_disksize = newsize;
+		WRITE_ONCE(EXT4_I(inode)->i_disksize, newsize);
 	up_write(&EXT4_I(inode)->i_data_sem);
 }
 
diff --git a/fs/ext4/file.c b/fs/ext4/file.c
index 7ad36a9..26d5627 100644
--- a/fs/ext4/file.c
+++ b/fs/ext4/file.c
@@ -40,9 +40,10 @@
 	struct inode *inode = file_inode(iocb->ki_filp);
 	ssize_t ret;
 
-	if (!inode_trylock_shared(inode)) {
-		if (iocb->ki_flags & IOCB_NOWAIT)
+	if (iocb->ki_flags & IOCB_NOWAIT) {
+		if (!inode_trylock_shared(inode))
 			return -EAGAIN;
+	} else {
 		inode_lock_shared(inode);
 	}
 	/*
@@ -190,9 +191,10 @@
 	struct inode *inode = file_inode(iocb->ki_filp);
 	ssize_t ret;
 
-	if (!inode_trylock(inode)) {
-		if (iocb->ki_flags & IOCB_NOWAIT)
+	if (iocb->ki_flags & IOCB_NOWAIT) {
+		if (!inode_trylock(inode))
 			return -EAGAIN;
+	} else {
 		inode_lock(inode);
 	}
 	ret = ext4_write_checks(iocb, from);
diff --git a/fs/ext4/hash.c b/fs/ext4/hash.c
index b934206..3674b80 100644
--- a/fs/ext4/hash.c
+++ b/fs/ext4/hash.c
@@ -273,7 +273,7 @@
 		   struct dx_hash_info *hinfo)
 {
 #ifdef CONFIG_UNICODE
-	const struct unicode_map *um = EXT4_SB(dir->i_sb)->s_encoding;
+	const struct unicode_map *um = dir->i_sb->s_encoding;
 	int r, dlen;
 	unsigned char *buff;
 	struct qstr qstr = {.name = name, .len = len };
diff --git a/fs/ext4/ialloc.c b/fs/ext4/ialloc.c
index 47cea9c..cbb65e6 100644
--- a/fs/ext4/ialloc.c
+++ b/fs/ext4/ialloc.c
@@ -330,11 +330,13 @@
 
 	percpu_counter_inc(&sbi->s_freeinodes_counter);
 	if (sbi->s_log_groups_per_flex) {
-		ext4_group_t f = ext4_flex_group(sbi, block_group);
+		struct flex_groups *fg;
 
-		atomic_inc(&sbi->s_flex_groups[f].free_inodes);
+		fg = sbi_array_rcu_deref(sbi, s_flex_groups,
+					 ext4_flex_group(sbi, block_group));
+		atomic_inc(&fg->free_inodes);
 		if (is_directory)
-			atomic_dec(&sbi->s_flex_groups[f].used_dirs);
+			atomic_dec(&fg->used_dirs);
 	}
 	BUFFER_TRACE(bh2, "call ext4_handle_dirty_metadata");
 	fatal = ext4_handle_dirty_metadata(handle, NULL, bh2);
@@ -370,12 +372,13 @@
 			    int flex_size, struct orlov_stats *stats)
 {
 	struct ext4_group_desc *desc;
-	struct flex_groups *flex_group = EXT4_SB(sb)->s_flex_groups;
 
 	if (flex_size > 1) {
-		stats->free_inodes = atomic_read(&flex_group[g].free_inodes);
-		stats->free_clusters = atomic64_read(&flex_group[g].free_clusters);
-		stats->used_dirs = atomic_read(&flex_group[g].used_dirs);
+		struct flex_groups *fg = sbi_array_rcu_deref(EXT4_SB(sb),
+							     s_flex_groups, g);
+		stats->free_inodes = atomic_read(&fg->free_inodes);
+		stats->free_clusters = atomic64_read(&fg->free_clusters);
+		stats->used_dirs = atomic_read(&fg->used_dirs);
 		return;
 	}
 
@@ -1056,7 +1059,8 @@
 		if (sbi->s_log_groups_per_flex) {
 			ext4_group_t f = ext4_flex_group(sbi, group);
 
-			atomic_inc(&sbi->s_flex_groups[f].used_dirs);
+			atomic_inc(&sbi_array_rcu_deref(sbi, s_flex_groups,
+							f)->used_dirs);
 		}
 	}
 	if (ext4_has_group_desc_csum(sb)) {
@@ -1079,7 +1083,8 @@
 
 	if (sbi->s_log_groups_per_flex) {
 		flex_group = ext4_flex_group(sbi, group);
-		atomic_dec(&sbi->s_flex_groups[flex_group].free_inodes);
+		atomic_dec(&sbi_array_rcu_deref(sbi, s_flex_groups,
+						flex_group)->free_inodes);
 	}
 
 	inode->i_ino = ino + group * EXT4_INODES_PER_GROUP(sb);
diff --git a/fs/ext4/inline.c b/fs/ext4/inline.c
index d065634..c6f7d7f 100644
--- a/fs/ext4/inline.c
+++ b/fs/ext4/inline.c
@@ -1433,7 +1433,7 @@
 		err = ext4_htree_store_dirent(dir_file, hinfo->hash,
 					      hinfo->minor_hash, de, &tmp_str);
 		if (err) {
-			count = err;
+			ret = err;
 			goto out;
 		}
 		count++;
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index e8d1c11..75442de 100644
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -2595,7 +2595,7 @@
 	 * truncate are avoided by checking i_size under i_data_sem.
 	 */
 	disksize = ((loff_t)mpd->first_page) << PAGE_SHIFT;
-	if (disksize > EXT4_I(inode)->i_disksize) {
+	if (disksize > READ_ONCE(EXT4_I(inode)->i_disksize)) {
 		int err2;
 		loff_t i_size;
 
@@ -2756,7 +2756,7 @@
 	if (unlikely(ext4_forced_shutdown(EXT4_SB(inode->i_sb))))
 		return -EIO;
 
-	percpu_down_read(&sbi->s_journal_flag_rwsem);
+	percpu_down_read(&sbi->s_writepages_rwsem);
 	trace_ext4_writepages(inode, wbc);
 
 	/*
@@ -2976,7 +2976,7 @@
 out_writepages:
 	trace_ext4_writepages_result(inode, wbc, ret,
 				     nr_to_write - wbc->nr_to_write);
-	percpu_up_read(&sbi->s_journal_flag_rwsem);
+	percpu_up_read(&sbi->s_writepages_rwsem);
 	return ret;
 }
 
@@ -2991,13 +2991,13 @@
 	if (unlikely(ext4_forced_shutdown(EXT4_SB(inode->i_sb))))
 		return -EIO;
 
-	percpu_down_read(&sbi->s_journal_flag_rwsem);
+	percpu_down_read(&sbi->s_writepages_rwsem);
 	trace_ext4_writepages(inode, wbc);
 
 	ret = dax_writeback_mapping_range(mapping, inode->i_sb->s_bdev, wbc);
 	trace_ext4_writepages_result(inode, wbc, ret,
 				     nr_to_write - wbc->nr_to_write);
-	percpu_up_read(&sbi->s_journal_flag_rwsem);
+	percpu_up_read(&sbi->s_writepages_rwsem);
 	return ret;
 }
 
@@ -5060,6 +5060,18 @@
 		ret = -EFSCORRUPTED;
 		goto bad_inode;
 	}
+	/*
+	 * If dir_index is not enabled but there's dir with INDEX flag set,
+	 * we'd normally treat htree data as empty space. But with metadata
+	 * checksumming that corrupts checksums so forbid that.
+	 */
+	if (!ext4_has_feature_dir_index(sb) && ext4_has_metadata_csum(sb) &&
+	    ext4_test_inode_flag(inode, EXT4_INODE_INDEX)) {
+		ext4_error_inode(inode, function, line, 0,
+			 "iget: Dir with htree data on filesystem without dir_index feature.");
+		ret = -EFSCORRUPTED;
+		goto bad_inode;
+	}
 	ei->i_disksize = inode->i_size;
 #ifdef CONFIG_QUOTA
 	ei->i_reserved_quota = 0;
@@ -5826,12 +5838,15 @@
 		stat->attributes |= STATX_ATTR_IMMUTABLE;
 	if (flags & EXT4_NODUMP_FL)
 		stat->attributes |= STATX_ATTR_NODUMP;
+	if (flags & EXT4_VERITY_FL)
+		stat->attributes |= STATX_ATTR_VERITY;
 
 	stat->attributes_mask |= (STATX_ATTR_APPEND |
 				  STATX_ATTR_COMPRESSED |
 				  STATX_ATTR_ENCRYPTED |
 				  STATX_ATTR_IMMUTABLE |
-				  STATX_ATTR_NODUMP);
+				  STATX_ATTR_NODUMP |
+				  STATX_ATTR_VERITY);
 
 	generic_fillattr(inode, stat);
 	return 0;
@@ -6287,7 +6302,7 @@
 		}
 	}
 
-	percpu_down_write(&sbi->s_journal_flag_rwsem);
+	percpu_down_write(&sbi->s_writepages_rwsem);
 	jbd2_journal_lock_updates(journal);
 
 	/*
@@ -6304,7 +6319,7 @@
 		err = jbd2_journal_flush(journal);
 		if (err < 0) {
 			jbd2_journal_unlock_updates(journal);
-			percpu_up_write(&sbi->s_journal_flag_rwsem);
+			percpu_up_write(&sbi->s_writepages_rwsem);
 			return err;
 		}
 		ext4_clear_inode_flag(inode, EXT4_INODE_JOURNAL_DATA);
@@ -6312,7 +6327,7 @@
 	ext4_set_aops(inode);
 
 	jbd2_journal_unlock_updates(journal);
-	percpu_up_write(&sbi->s_journal_flag_rwsem);
+	percpu_up_write(&sbi->s_writepages_rwsem);
 
 	if (val)
 		up_write(&EXT4_I(inode)->i_mmap_sem);
diff --git a/fs/ext4/ioctl.c b/fs/ext4/ioctl.c
index 96f8329..1b39fbd 100644
--- a/fs/ext4/ioctl.c
+++ b/fs/ext4/ioctl.c
@@ -1301,6 +1301,8 @@
 	case FS_IOC_GETFSMAP:
 	case FS_IOC_ENABLE_VERITY:
 	case FS_IOC_MEASURE_VERITY:
+	case EXT4_IOC_FSGETXATTR:
+	case EXT4_IOC_FSSETXATTR:
 		break;
 	default:
 		return -ENOIOCTLCMD;
diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
index cc229f3..71121fc 100644
--- a/fs/ext4/mballoc.c
+++ b/fs/ext4/mballoc.c
@@ -2356,7 +2356,7 @@
 {
 	struct ext4_sb_info *sbi = EXT4_SB(sb);
 	unsigned size;
-	struct ext4_group_info ***new_groupinfo;
+	struct ext4_group_info ***old_groupinfo, ***new_groupinfo;
 
 	size = (ngroups + EXT4_DESC_PER_BLOCK(sb) - 1) >>
 		EXT4_DESC_PER_BLOCK_BITS(sb);
@@ -2369,13 +2369,16 @@
 		ext4_msg(sb, KERN_ERR, "can't allocate buddy meta group");
 		return -ENOMEM;
 	}
-	if (sbi->s_group_info) {
-		memcpy(new_groupinfo, sbi->s_group_info,
+	rcu_read_lock();
+	old_groupinfo = rcu_dereference(sbi->s_group_info);
+	if (old_groupinfo)
+		memcpy(new_groupinfo, old_groupinfo,
 		       sbi->s_group_info_size * sizeof(*sbi->s_group_info));
-		kvfree(sbi->s_group_info);
-	}
-	sbi->s_group_info = new_groupinfo;
+	rcu_read_unlock();
+	rcu_assign_pointer(sbi->s_group_info, new_groupinfo);
 	sbi->s_group_info_size = size / sizeof(*sbi->s_group_info);
+	if (old_groupinfo)
+		ext4_kvfree_array_rcu(old_groupinfo);
 	ext4_debug("allocated s_groupinfo array for %d meta_bg's\n", 
 		   sbi->s_group_info_size);
 	return 0;
@@ -2387,6 +2390,7 @@
 {
 	int i;
 	int metalen = 0;
+	int idx = group >> EXT4_DESC_PER_BLOCK_BITS(sb);
 	struct ext4_sb_info *sbi = EXT4_SB(sb);
 	struct ext4_group_info **meta_group_info;
 	struct kmem_cache *cachep = get_groupinfo_cache(sb->s_blocksize_bits);
@@ -2405,12 +2409,12 @@
 				 "for a buddy group");
 			goto exit_meta_group_info;
 		}
-		sbi->s_group_info[group >> EXT4_DESC_PER_BLOCK_BITS(sb)] =
-			meta_group_info;
+		rcu_read_lock();
+		rcu_dereference(sbi->s_group_info)[idx] = meta_group_info;
+		rcu_read_unlock();
 	}
 
-	meta_group_info =
-		sbi->s_group_info[group >> EXT4_DESC_PER_BLOCK_BITS(sb)];
+	meta_group_info = sbi_array_rcu_deref(sbi, s_group_info, idx);
 	i = group & (EXT4_DESC_PER_BLOCK(sb) - 1);
 
 	meta_group_info[i] = kmem_cache_zalloc(cachep, GFP_NOFS);
@@ -2458,8 +2462,13 @@
 exit_group_info:
 	/* If a meta_group_info table has been allocated, release it now */
 	if (group % EXT4_DESC_PER_BLOCK(sb) == 0) {
-		kfree(sbi->s_group_info[group >> EXT4_DESC_PER_BLOCK_BITS(sb)]);
-		sbi->s_group_info[group >> EXT4_DESC_PER_BLOCK_BITS(sb)] = NULL;
+		struct ext4_group_info ***group_info;
+
+		rcu_read_lock();
+		group_info = rcu_dereference(sbi->s_group_info);
+		kfree(group_info[idx]);
+		group_info[idx] = NULL;
+		rcu_read_unlock();
 	}
 exit_meta_group_info:
 	return -ENOMEM;
@@ -2472,6 +2481,7 @@
 	struct ext4_sb_info *sbi = EXT4_SB(sb);
 	int err;
 	struct ext4_group_desc *desc;
+	struct ext4_group_info ***group_info;
 	struct kmem_cache *cachep;
 
 	err = ext4_mb_alloc_groupinfo(sb, ngroups);
@@ -2506,11 +2516,16 @@
 	while (i-- > 0)
 		kmem_cache_free(cachep, ext4_get_group_info(sb, i));
 	i = sbi->s_group_info_size;
+	rcu_read_lock();
+	group_info = rcu_dereference(sbi->s_group_info);
 	while (i-- > 0)
-		kfree(sbi->s_group_info[i]);
+		kfree(group_info[i]);
+	rcu_read_unlock();
 	iput(sbi->s_buddy_cache);
 err_freesgi:
-	kvfree(sbi->s_group_info);
+	rcu_read_lock();
+	kvfree(rcu_dereference(sbi->s_group_info));
+	rcu_read_unlock();
 	return -ENOMEM;
 }
 
@@ -2699,7 +2714,7 @@
 	ext4_group_t ngroups = ext4_get_groups_count(sb);
 	ext4_group_t i;
 	int num_meta_group_infos;
-	struct ext4_group_info *grinfo;
+	struct ext4_group_info *grinfo, ***group_info;
 	struct ext4_sb_info *sbi = EXT4_SB(sb);
 	struct kmem_cache *cachep = get_groupinfo_cache(sb->s_blocksize_bits);
 
@@ -2717,9 +2732,12 @@
 		num_meta_group_infos = (ngroups +
 				EXT4_DESC_PER_BLOCK(sb) - 1) >>
 			EXT4_DESC_PER_BLOCK_BITS(sb);
+		rcu_read_lock();
+		group_info = rcu_dereference(sbi->s_group_info);
 		for (i = 0; i < num_meta_group_infos; i++)
-			kfree(sbi->s_group_info[i]);
-		kvfree(sbi->s_group_info);
+			kfree(group_info[i]);
+		kvfree(group_info);
+		rcu_read_unlock();
 	}
 	kfree(sbi->s_mb_offsets);
 	kfree(sbi->s_mb_maxs);
@@ -3018,7 +3036,8 @@
 		ext4_group_t flex_group = ext4_flex_group(sbi,
 							  ac->ac_b_ex.fe_group);
 		atomic64_sub(ac->ac_b_ex.fe_len,
-			     &sbi->s_flex_groups[flex_group].free_clusters);
+			     &sbi_array_rcu_deref(sbi, s_flex_groups,
+						  flex_group)->free_clusters);
 	}
 
 	err = ext4_handle_dirty_metadata(handle, NULL, bitmap_bh);
@@ -4912,7 +4931,8 @@
 	if (sbi->s_log_groups_per_flex) {
 		ext4_group_t flex_group = ext4_flex_group(sbi, block_group);
 		atomic64_add(count_clusters,
-			     &sbi->s_flex_groups[flex_group].free_clusters);
+			     &sbi_array_rcu_deref(sbi, s_flex_groups,
+						  flex_group)->free_clusters);
 	}
 
 	if (!(flags & EXT4_FREE_BLOCKS_NO_QUOT_UPDATE))
@@ -5061,7 +5081,8 @@
 	if (sbi->s_log_groups_per_flex) {
 		ext4_group_t flex_group = ext4_flex_group(sbi, block_group);
 		atomic64_add(clusters_freed,
-			     &sbi->s_flex_groups[flex_group].free_clusters);
+			     &sbi_array_rcu_deref(sbi, s_flex_groups,
+						  flex_group)->free_clusters);
 	}
 
 	ext4_mb_unload_buddy(&e4b);
diff --git a/fs/ext4/migrate.c b/fs/ext4/migrate.c
index a98bfca..bec4ad7 100644
--- a/fs/ext4/migrate.c
+++ b/fs/ext4/migrate.c
@@ -427,6 +427,7 @@
 
 int ext4_ext_migrate(struct inode *inode)
 {
+	struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb);
 	handle_t *handle;
 	int retval = 0, i;
 	__le32 *i_data;
@@ -451,6 +452,8 @@
 		 */
 		return retval;
 
+	percpu_down_write(&sbi->s_writepages_rwsem);
+
 	/*
 	 * Worst case we can touch the allocation bitmaps, a bgd
 	 * block, and a block to link in the orphan list.  We do need
@@ -461,7 +464,7 @@
 
 	if (IS_ERR(handle)) {
 		retval = PTR_ERR(handle);
-		return retval;
+		goto out_unlock;
 	}
 	goal = (((inode->i_ino - 1) / EXT4_INODES_PER_GROUP(inode->i_sb)) *
 		EXT4_INODES_PER_GROUP(inode->i_sb)) + 1;
@@ -472,7 +475,7 @@
 	if (IS_ERR(tmp_inode)) {
 		retval = PTR_ERR(tmp_inode);
 		ext4_journal_stop(handle);
-		return retval;
+		goto out_unlock;
 	}
 	i_size_write(tmp_inode, i_size_read(inode));
 	/*
@@ -514,7 +517,7 @@
 		 */
 		ext4_orphan_del(NULL, tmp_inode);
 		retval = PTR_ERR(handle);
-		goto out;
+		goto out_tmp_inode;
 	}
 
 	ei = EXT4_I(inode);
@@ -595,10 +598,11 @@
 	/* Reset the extent details */
 	ext4_ext_tree_init(handle, tmp_inode);
 	ext4_journal_stop(handle);
-out:
+out_tmp_inode:
 	unlock_new_inode(tmp_inode);
 	iput(tmp_inode);
-
+out_unlock:
+	percpu_up_write(&sbi->s_writepages_rwsem);
 	return retval;
 }
 
@@ -608,7 +612,8 @@
 int ext4_ind_migrate(struct inode *inode)
 {
 	struct ext4_extent_header	*eh;
-	struct ext4_super_block		*es = EXT4_SB(inode->i_sb)->s_es;
+	struct ext4_sb_info		*sbi = EXT4_SB(inode->i_sb);
+	struct ext4_super_block		*es = sbi->s_es;
 	struct ext4_inode_info		*ei = EXT4_I(inode);
 	struct ext4_extent		*ex;
 	unsigned int			i, len;
@@ -632,9 +637,13 @@
 	if (test_opt(inode->i_sb, DELALLOC))
 		ext4_alloc_da_blocks(inode);
 
+	percpu_down_write(&sbi->s_writepages_rwsem);
+
 	handle = ext4_journal_start(inode, EXT4_HT_MIGRATE, 1);
-	if (IS_ERR(handle))
-		return PTR_ERR(handle);
+	if (IS_ERR(handle)) {
+		ret = PTR_ERR(handle);
+		goto out_unlock;
+	}
 
 	down_write(&EXT4_I(inode)->i_data_sem);
 	ret = ext4_ext_check_inode(inode);
@@ -669,5 +678,7 @@
 errout:
 	ext4_journal_stop(handle);
 	up_write(&EXT4_I(inode)->i_data_sem);
+out_unlock:
+	percpu_up_write(&sbi->s_writepages_rwsem);
 	return ret;
 }
diff --git a/fs/ext4/mmp.c b/fs/ext4/mmp.c
index 2305b43..9d00e0d 100644
--- a/fs/ext4/mmp.c
+++ b/fs/ext4/mmp.c
@@ -120,10 +120,10 @@
 {
 	__ext4_warning(sb, function, line, "%s", msg);
 	__ext4_warning(sb, function, line,
-		       "MMP failure info: last update time: %llu, last update "
-		       "node: %s, last update device: %s",
-		       (long long unsigned int) le64_to_cpu(mmp->mmp_time),
-		       mmp->mmp_nodename, mmp->mmp_bdevname);
+		       "MMP failure info: last update time: %llu, last update node: %.*s, last update device: %.*s",
+		       (unsigned long long)le64_to_cpu(mmp->mmp_time),
+		       (int)sizeof(mmp->mmp_nodename), mmp->mmp_nodename,
+		       (int)sizeof(mmp->mmp_bdevname), mmp->mmp_bdevname);
 }
 
 /*
@@ -154,6 +154,7 @@
 	mmp_check_interval = max(EXT4_MMP_CHECK_MULT * mmp_update_interval,
 				 EXT4_MMP_MIN_CHECK_INTERVAL);
 	mmp->mmp_check_interval = cpu_to_le16(mmp_check_interval);
+	BUILD_BUG_ON(sizeof(mmp->mmp_bdevname) < BDEVNAME_SIZE);
 	bdevname(bh->b_bdev, mmp->mmp_bdevname);
 
 	memcpy(mmp->mmp_nodename, init_utsname()->nodename,
@@ -375,7 +376,8 @@
 	/*
 	 * Start a kernel thread to update the MMP block periodically.
 	 */
-	EXT4_SB(sb)->s_mmp_tsk = kthread_run(kmmpd, mmpd_data, "kmmpd-%s",
+	EXT4_SB(sb)->s_mmp_tsk = kthread_run(kmmpd, mmpd_data, "kmmpd-%.*s",
+					     (int)sizeof(mmp->mmp_bdevname),
 					     bdevname(bh->b_bdev,
 						      mmp->mmp_bdevname));
 	if (IS_ERR(EXT4_SB(sb)->s_mmp_tsk)) {
diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c
index 37cc47a..d61018c 100644
--- a/fs/ext4/namei.c
+++ b/fs/ext4/namei.c
@@ -1281,8 +1281,8 @@
 int ext4_ci_compare(const struct inode *parent, const struct qstr *name,
 		    const struct qstr *entry, bool quick)
 {
-	const struct ext4_sb_info *sbi = EXT4_SB(parent->i_sb);
-	const struct unicode_map *um = sbi->s_encoding;
+	const struct super_block *sb = parent->i_sb;
+	const struct unicode_map *um = sb->s_encoding;
 	int ret;
 
 	if (quick)
@@ -1294,7 +1294,7 @@
 		/* Handle invalid character sequence as either an error
 		 * or as an opaque byte sequence.
 		 */
-		if (ext4_has_strict_mode(sbi))
+		if (sb_has_enc_strict_mode(sb))
 			return -EINVAL;
 
 		if (name->len != entry->len)
@@ -1311,7 +1311,7 @@
 {
 	int len;
 
-	if (!IS_CASEFOLDED(dir) || !EXT4_SB(dir->i_sb)->s_encoding) {
+	if (!needs_casefold(dir)) {
 		cf_name->name = NULL;
 		return;
 	}
@@ -1320,7 +1320,7 @@
 	if (!cf_name->name)
 		return;
 
-	len = utf8_casefold(EXT4_SB(dir->i_sb)->s_encoding,
+	len = utf8_casefold(dir->i_sb->s_encoding,
 			    iname, cf_name->name,
 			    EXT4_NAME_LEN);
 	if (len <= 0) {
@@ -1357,7 +1357,7 @@
 #endif
 
 #ifdef CONFIG_UNICODE
-	if (EXT4_SB(parent->i_sb)->s_encoding && IS_CASEFOLDED(parent)) {
+	if (needs_casefold(parent)) {
 		if (fname->cf_name.name) {
 			struct qstr cf = {.name = fname->cf_name.name,
 					  .len = fname->cf_name.len};
@@ -1506,6 +1506,7 @@
 		/*
 		 * We deal with the read-ahead logic here.
 		 */
+		cond_resched();
 		if (ra_ptr >= ra_max) {
 			/* Refill the readahead buffer */
 			ra_ptr = 0;
@@ -1608,6 +1609,7 @@
 	struct buffer_head *bh;
 
 	err = ext4_fname_prepare_lookup(dir, dentry, &fname);
+	generic_set_encrypted_ci_d_ops(dir, dentry);
 	if (err == -ENOENT)
 		return NULL;
 	if (err)
@@ -2173,7 +2175,6 @@
 	struct ext4_dir_entry_2 *de;
 	struct ext4_dir_entry_tail *t;
 	struct super_block *sb;
-	struct ext4_sb_info *sbi;
 	struct ext4_filename fname;
 	int	retval;
 	int	dx_fallback=0;
@@ -2185,14 +2186,13 @@
 		csum_size = sizeof(struct ext4_dir_entry_tail);
 
 	sb = dir->i_sb;
-	sbi = EXT4_SB(sb);
 	blocksize = sb->s_blocksize;
 	if (!dentry->d_name.len)
 		return -EINVAL;
 
 #ifdef CONFIG_UNICODE
-	if (ext4_has_strict_mode(sbi) && IS_CASEFOLDED(dir) &&
-	    sbi->s_encoding && utf8_validate(sbi->s_encoding, &dentry->d_name))
+	if (sb_has_enc_strict_mode(sb) && IS_CASEFOLDED(dir) &&
+	    sb->s_encoding && utf8_validate(sb->s_encoding, &dentry->d_name))
 		return -EINVAL;
 #endif
 
@@ -2214,6 +2214,13 @@
 		retval = ext4_dx_add_entry(handle, &fname, dir, inode);
 		if (!retval || (retval != ERR_BAD_DX_DIR))
 			goto out;
+		/* Can we just ignore htree data? */
+		if (ext4_has_metadata_csum(sb)) {
+			EXT4_ERROR_INODE(dir,
+				"Directory has corrupted htree index.");
+			retval = -EFSCORRUPTED;
+			goto out;
+		}
 		ext4_clear_inode_flag(dir, EXT4_INODE_INDEX);
 		dx_fallback++;
 		ext4_mark_inode_dirty(handle, dir);
diff --git a/fs/ext4/page-io.c b/fs/ext4/page-io.c
index 8518086..e470740 100644
--- a/fs/ext4/page-io.c
+++ b/fs/ext4/page-io.c
@@ -474,17 +474,26 @@
 	if (fscrypt_inode_uses_fs_layer_crypto(inode) && nr_to_submit) {
 		gfp_t gfp_flags = GFP_NOFS;
 
+		/*
+		 * Since bounce page allocation uses a mempool, we can only use
+		 * a waiting mask (i.e. request guaranteed allocation) on the
+		 * first page of the bio.  Otherwise it can deadlock.
+		 */
+		if (io->io_bio)
+			gfp_flags = GFP_NOWAIT | __GFP_NOWARN;
 	retry_encrypt:
 		bounce_page = fscrypt_encrypt_pagecache_blocks(page,
 					PAGE_SIZE,0, gfp_flags);
 		if (IS_ERR(bounce_page)) {
 			ret = PTR_ERR(bounce_page);
-			if (ret == -ENOMEM && wbc->sync_mode == WB_SYNC_ALL) {
-				if (io->io_bio) {
+			if (ret == -ENOMEM &&
+			    (io->io_bio || wbc->sync_mode == WB_SYNC_ALL)) {
+				gfp_flags = GFP_NOFS;
+				if (io->io_bio)
 					ext4_io_submit(io);
-					congestion_wait(BLK_RW_ASYNC, HZ/50);
-				}
-				gfp_flags |= __GFP_NOFAIL;
+				else
+					gfp_flags |= __GFP_NOFAIL;
+				congestion_wait(BLK_RW_ASYNC, HZ/50);
 				goto retry_encrypt;
 			}
 			bounce_page = NULL;
diff --git a/fs/ext4/resize.c b/fs/ext4/resize.c
index 4d5c0fc..ef552d9 100644
--- a/fs/ext4/resize.c
+++ b/fs/ext4/resize.c
@@ -17,6 +17,33 @@
 
 #include "ext4_jbd2.h"
 
+struct ext4_rcu_ptr {
+	struct rcu_head rcu;
+	void *ptr;
+};
+
+static void ext4_rcu_ptr_callback(struct rcu_head *head)
+{
+	struct ext4_rcu_ptr *ptr;
+
+	ptr = container_of(head, struct ext4_rcu_ptr, rcu);
+	kvfree(ptr->ptr);
+	kfree(ptr);
+}
+
+void ext4_kvfree_array_rcu(void *to_free)
+{
+	struct ext4_rcu_ptr *ptr = kzalloc(sizeof(*ptr), GFP_KERNEL);
+
+	if (ptr) {
+		ptr->ptr = to_free;
+		call_rcu(&ptr->rcu, ext4_rcu_ptr_callback);
+		return;
+	}
+	synchronize_rcu();
+	kvfree(to_free);
+}
+
 int ext4_resize_begin(struct super_block *sb)
 {
 	struct ext4_sb_info *sbi = EXT4_SB(sb);
@@ -560,8 +587,8 @@
 				brelse(gdb);
 				goto out;
 			}
-			memcpy(gdb->b_data, sbi->s_group_desc[j]->b_data,
-			       gdb->b_size);
+			memcpy(gdb->b_data, sbi_array_rcu_deref(sbi,
+				s_group_desc, j)->b_data, gdb->b_size);
 			set_buffer_uptodate(gdb);
 
 			err = ext4_handle_dirty_metadata(handle, NULL, gdb);
@@ -879,13 +906,15 @@
 	}
 	brelse(dind);
 
-	o_group_desc = EXT4_SB(sb)->s_group_desc;
+	rcu_read_lock();
+	o_group_desc = rcu_dereference(EXT4_SB(sb)->s_group_desc);
 	memcpy(n_group_desc, o_group_desc,
 	       EXT4_SB(sb)->s_gdb_count * sizeof(struct buffer_head *));
+	rcu_read_unlock();
 	n_group_desc[gdb_num] = gdb_bh;
-	EXT4_SB(sb)->s_group_desc = n_group_desc;
+	rcu_assign_pointer(EXT4_SB(sb)->s_group_desc, n_group_desc);
 	EXT4_SB(sb)->s_gdb_count++;
-	kvfree(o_group_desc);
+	ext4_kvfree_array_rcu(o_group_desc);
 
 	le16_add_cpu(&es->s_reserved_gdt_blocks, -1);
 	err = ext4_handle_dirty_super(handle, sb);
@@ -929,9 +958,11 @@
 		return err;
 	}
 
-	o_group_desc = EXT4_SB(sb)->s_group_desc;
+	rcu_read_lock();
+	o_group_desc = rcu_dereference(EXT4_SB(sb)->s_group_desc);
 	memcpy(n_group_desc, o_group_desc,
 	       EXT4_SB(sb)->s_gdb_count * sizeof(struct buffer_head *));
+	rcu_read_unlock();
 	n_group_desc[gdb_num] = gdb_bh;
 
 	BUFFER_TRACE(gdb_bh, "get_write_access");
@@ -942,9 +973,9 @@
 		return err;
 	}
 
-	EXT4_SB(sb)->s_group_desc = n_group_desc;
+	rcu_assign_pointer(EXT4_SB(sb)->s_group_desc, n_group_desc);
 	EXT4_SB(sb)->s_gdb_count++;
-	kvfree(o_group_desc);
+	ext4_kvfree_array_rcu(o_group_desc);
 	return err;
 }
 
@@ -1210,7 +1241,8 @@
 		 * use non-sparse filesystems anymore.  This is already checked above.
 		 */
 		if (gdb_off) {
-			gdb_bh = sbi->s_group_desc[gdb_num];
+			gdb_bh = sbi_array_rcu_deref(sbi, s_group_desc,
+						     gdb_num);
 			BUFFER_TRACE(gdb_bh, "get_write_access");
 			err = ext4_journal_get_write_access(handle, gdb_bh);
 
@@ -1292,7 +1324,7 @@
 		/*
 		 * get_write_access() has been called on gdb_bh by ext4_add_new_desc().
 		 */
-		gdb_bh = sbi->s_group_desc[gdb_num];
+		gdb_bh = sbi_array_rcu_deref(sbi, s_group_desc, gdb_num);
 		/* Update group descriptor block for new group */
 		gdp = (struct ext4_group_desc *)(gdb_bh->b_data +
 						 gdb_off * EXT4_DESC_SIZE(sb));
@@ -1420,11 +1452,14 @@
 		   percpu_counter_read(&sbi->s_freeclusters_counter));
 	if (ext4_has_feature_flex_bg(sb) && sbi->s_log_groups_per_flex) {
 		ext4_group_t flex_group;
+		struct flex_groups *fg;
+
 		flex_group = ext4_flex_group(sbi, group_data[0].group);
+		fg = sbi_array_rcu_deref(sbi, s_flex_groups, flex_group);
 		atomic64_add(EXT4_NUM_B2C(sbi, free_blocks),
-			     &sbi->s_flex_groups[flex_group].free_clusters);
+			     &fg->free_clusters);
 		atomic_add(EXT4_INODES_PER_GROUP(sb) * flex_gd->count,
-			   &sbi->s_flex_groups[flex_group].free_inodes);
+			   &fg->free_inodes);
 	}
 
 	/*
@@ -1519,7 +1554,8 @@
 		for (; gdb_num <= gdb_num_end; gdb_num++) {
 			struct buffer_head *gdb_bh;
 
-			gdb_bh = sbi->s_group_desc[gdb_num];
+			gdb_bh = sbi_array_rcu_deref(sbi, s_group_desc,
+						     gdb_num);
 			if (old_gdb == gdb_bh->b_blocknr)
 				continue;
 			update_backups(sb, gdb_bh->b_blocknr, gdb_bh->b_data,
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index efcb091..21e3f28 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -970,6 +970,8 @@
 {
 	struct ext4_sb_info *sbi = EXT4_SB(sb);
 	struct ext4_super_block *es = sbi->s_es;
+	struct buffer_head **group_desc;
+	struct flex_groups **flex_groups;
 	int aborted = 0;
 	int i, err;
 
@@ -1000,15 +1002,23 @@
 	if (!sb_rdonly(sb))
 		ext4_commit_super(sb, 1);
 
+	rcu_read_lock();
+	group_desc = rcu_dereference(sbi->s_group_desc);
 	for (i = 0; i < sbi->s_gdb_count; i++)
-		brelse(sbi->s_group_desc[i]);
-	kvfree(sbi->s_group_desc);
-	kvfree(sbi->s_flex_groups);
+		brelse(group_desc[i]);
+	kvfree(group_desc);
+	flex_groups = rcu_dereference(sbi->s_flex_groups);
+	if (flex_groups) {
+		for (i = 0; i < sbi->s_flex_groups_allocated; i++)
+			kvfree(flex_groups[i]);
+		kvfree(flex_groups);
+	}
+	rcu_read_unlock();
 	percpu_counter_destroy(&sbi->s_freeclusters_counter);
 	percpu_counter_destroy(&sbi->s_freeinodes_counter);
 	percpu_counter_destroy(&sbi->s_dirs_counter);
 	percpu_counter_destroy(&sbi->s_dirtyclusters_counter);
-	percpu_free_rwsem(&sbi->s_journal_flag_rwsem);
+	percpu_free_rwsem(&sbi->s_writepages_rwsem);
 #ifdef CONFIG_QUOTA
 	for (i = 0; i < EXT4_MAXQUOTAS; i++)
 		kfree(get_qf_name(sb, sbi, i));
@@ -1057,7 +1067,7 @@
 	kfree(sbi->s_blockgroup_lock);
 	fs_put_dax(sbi->s_daxdev);
 #ifdef CONFIG_UNICODE
-	utf8_unload(sbi->s_encoding);
+	utf8_unload(sb->s_encoding);
 #endif
 	kfree(sbi);
 }
@@ -1910,6 +1920,13 @@
 			arg = JBD2_DEFAULT_MAX_COMMIT_AGE;
 		sbi->s_commit_interval = HZ * arg;
 	} else if (token == Opt_debug_want_extra_isize) {
+		if ((arg & 1) ||
+		    (arg < 4) ||
+		    (arg > (sbi->s_inode_size - EXT4_GOOD_OLD_INODE_SIZE))) {
+			ext4_msg(sb, KERN_ERR,
+				 "Invalid want_extra_isize %d", arg);
+			return -1;
+		}
 		sbi->s_want_extra_isize = arg;
 	} else if (token == Opt_max_batch_time) {
 		sbi->s_max_batch_time = arg;
@@ -2348,8 +2365,8 @@
 int ext4_alloc_flex_bg_array(struct super_block *sb, ext4_group_t ngroup)
 {
 	struct ext4_sb_info *sbi = EXT4_SB(sb);
-	struct flex_groups *new_groups;
-	int size;
+	struct flex_groups **old_groups, **new_groups;
+	int size, i, j;
 
 	if (!sbi->s_log_groups_per_flex)
 		return 0;
@@ -2358,22 +2375,37 @@
 	if (size <= sbi->s_flex_groups_allocated)
 		return 0;
 
-	size = roundup_pow_of_two(size * sizeof(struct flex_groups));
-	new_groups = kvzalloc(size, GFP_KERNEL);
+	new_groups = kvzalloc(roundup_pow_of_two(size *
+			      sizeof(*sbi->s_flex_groups)), GFP_KERNEL);
 	if (!new_groups) {
-		ext4_msg(sb, KERN_ERR, "not enough memory for %d flex groups",
-			 size / (int) sizeof(struct flex_groups));
+		ext4_msg(sb, KERN_ERR,
+			 "not enough memory for %d flex group pointers", size);
 		return -ENOMEM;
 	}
-
-	if (sbi->s_flex_groups) {
-		memcpy(new_groups, sbi->s_flex_groups,
-		       (sbi->s_flex_groups_allocated *
-			sizeof(struct flex_groups)));
-		kvfree(sbi->s_flex_groups);
+	for (i = sbi->s_flex_groups_allocated; i < size; i++) {
+		new_groups[i] = kvzalloc(roundup_pow_of_two(
+					 sizeof(struct flex_groups)),
+					 GFP_KERNEL);
+		if (!new_groups[i]) {
+			for (j = sbi->s_flex_groups_allocated; j < i; j++)
+				kvfree(new_groups[j]);
+			kvfree(new_groups);
+			ext4_msg(sb, KERN_ERR,
+				 "not enough memory for %d flex groups", size);
+			return -ENOMEM;
+		}
 	}
-	sbi->s_flex_groups = new_groups;
-	sbi->s_flex_groups_allocated = size / sizeof(struct flex_groups);
+	rcu_read_lock();
+	old_groups = rcu_dereference(sbi->s_flex_groups);
+	if (old_groups)
+		memcpy(new_groups, old_groups,
+		       (sbi->s_flex_groups_allocated *
+			sizeof(struct flex_groups *)));
+	rcu_read_unlock();
+	rcu_assign_pointer(sbi->s_flex_groups, new_groups);
+	sbi->s_flex_groups_allocated = size;
+	if (old_groups)
+		ext4_kvfree_array_rcu(old_groups);
 	return 0;
 }
 
@@ -2381,6 +2413,7 @@
 {
 	struct ext4_sb_info *sbi = EXT4_SB(sb);
 	struct ext4_group_desc *gdp = NULL;
+	struct flex_groups *fg;
 	ext4_group_t flex_group;
 	int i, err;
 
@@ -2398,12 +2431,11 @@
 		gdp = ext4_get_group_desc(sb, i, NULL);
 
 		flex_group = ext4_flex_group(sbi, i);
-		atomic_add(ext4_free_inodes_count(sb, gdp),
-			   &sbi->s_flex_groups[flex_group].free_inodes);
+		fg = sbi_array_rcu_deref(sbi, s_flex_groups, flex_group);
+		atomic_add(ext4_free_inodes_count(sb, gdp), &fg->free_inodes);
 		atomic64_add(ext4_free_group_clusters(sb, gdp),
-			     &sbi->s_flex_groups[flex_group].free_clusters);
-		atomic_add(ext4_used_dirs_count(sb, gdp),
-			   &sbi->s_flex_groups[flex_group].used_dirs);
+			     &fg->free_clusters);
+		atomic_add(ext4_used_dirs_count(sb, gdp), &fg->used_dirs);
 	}
 
 	return 1;
@@ -2993,17 +3025,11 @@
 		return 0;
 	}
 
-#ifndef CONFIG_QUOTA
-	if (ext4_has_feature_quota(sb) && !readonly) {
+#if !IS_ENABLED(CONFIG_QUOTA) || !IS_ENABLED(CONFIG_QFMT_V2)
+	if (!readonly && (ext4_has_feature_quota(sb) ||
+			  ext4_has_feature_project(sb))) {
 		ext4_msg(sb, KERN_ERR,
-			 "Filesystem with quota feature cannot be mounted RDWR "
-			 "without CONFIG_QUOTA");
-		return 0;
-	}
-	if (ext4_has_feature_project(sb) && !readonly) {
-		ext4_msg(sb, KERN_ERR,
-			 "Filesystem with project quota feature cannot be mounted RDWR "
-			 "without CONFIG_QUOTA");
+			 "The kernel was not built with CONFIG_QUOTA and CONFIG_QFMT_V2");
 		return 0;
 	}
 #endif  /* CONFIG_QUOTA */
@@ -3590,40 +3616,6 @@
 	return 0;
 }
 
-static void ext4_clamp_want_extra_isize(struct super_block *sb)
-{
-	struct ext4_sb_info *sbi = EXT4_SB(sb);
-	struct ext4_super_block *es = sbi->s_es;
-	unsigned def_extra_isize = sizeof(struct ext4_inode) -
-						EXT4_GOOD_OLD_INODE_SIZE;
-
-	if (sbi->s_inode_size == EXT4_GOOD_OLD_INODE_SIZE) {
-		sbi->s_want_extra_isize = 0;
-		return;
-	}
-	if (sbi->s_want_extra_isize < 4) {
-		sbi->s_want_extra_isize = def_extra_isize;
-		if (ext4_has_feature_extra_isize(sb)) {
-			if (sbi->s_want_extra_isize <
-			    le16_to_cpu(es->s_want_extra_isize))
-				sbi->s_want_extra_isize =
-					le16_to_cpu(es->s_want_extra_isize);
-			if (sbi->s_want_extra_isize <
-			    le16_to_cpu(es->s_min_extra_isize))
-				sbi->s_want_extra_isize =
-					le16_to_cpu(es->s_min_extra_isize);
-		}
-	}
-	/* Check if enough inode space is available */
-	if ((sbi->s_want_extra_isize > sbi->s_inode_size) ||
-	    (EXT4_GOOD_OLD_INODE_SIZE + sbi->s_want_extra_isize >
-							sbi->s_inode_size)) {
-		sbi->s_want_extra_isize = def_extra_isize;
-		ext4_msg(sb, KERN_INFO,
-			 "required extra inode space not available");
-	}
-}
-
 static void ext4_set_resv_clusters(struct super_block *sb)
 {
 	ext4_fsblk_t resv_clusters;
@@ -3658,9 +3650,10 @@
 {
 	struct dax_device *dax_dev = fs_dax_get_by_bdev(sb->s_bdev);
 	char *orig_data = kstrdup(data, GFP_KERNEL);
-	struct buffer_head *bh;
+	struct buffer_head *bh, **group_desc;
 	struct ext4_super_block *es = NULL;
 	struct ext4_sb_info *sbi = kzalloc(sizeof(*sbi), GFP_KERNEL);
+	struct flex_groups **flex_groups;
 	ext4_fsblk_t block;
 	ext4_fsblk_t sb_block = get_sb_block(&data);
 	ext4_fsblk_t logical_sb_block;
@@ -3831,6 +3824,75 @@
 	 */
 	sbi->s_li_wait_mult = EXT4_DEF_LI_WAIT_MULT;
 
+	blocksize = BLOCK_SIZE << le32_to_cpu(es->s_log_block_size);
+	if (blocksize < EXT4_MIN_BLOCK_SIZE ||
+	    blocksize > EXT4_MAX_BLOCK_SIZE) {
+		ext4_msg(sb, KERN_ERR,
+		       "Unsupported filesystem blocksize %d (%d log_block_size)",
+			 blocksize, le32_to_cpu(es->s_log_block_size));
+		goto failed_mount;
+	}
+
+	if (le32_to_cpu(es->s_rev_level) == EXT4_GOOD_OLD_REV) {
+		sbi->s_inode_size = EXT4_GOOD_OLD_INODE_SIZE;
+		sbi->s_first_ino = EXT4_GOOD_OLD_FIRST_INO;
+	} else {
+		sbi->s_inode_size = le16_to_cpu(es->s_inode_size);
+		sbi->s_first_ino = le32_to_cpu(es->s_first_ino);
+		if (sbi->s_first_ino < EXT4_GOOD_OLD_FIRST_INO) {
+			ext4_msg(sb, KERN_ERR, "invalid first ino: %u",
+				 sbi->s_first_ino);
+			goto failed_mount;
+		}
+		if ((sbi->s_inode_size < EXT4_GOOD_OLD_INODE_SIZE) ||
+		    (!is_power_of_2(sbi->s_inode_size)) ||
+		    (sbi->s_inode_size > blocksize)) {
+			ext4_msg(sb, KERN_ERR,
+			       "unsupported inode size: %d",
+			       sbi->s_inode_size);
+			ext4_msg(sb, KERN_ERR, "blocksize: %d", blocksize);
+			goto failed_mount;
+		}
+		/*
+		 * i_atime_extra is the last extra field available for
+		 * [acm]times in struct ext4_inode. Checking for that
+		 * field should suffice to ensure we have extra space
+		 * for all three.
+		 */
+		if (sbi->s_inode_size >= offsetof(struct ext4_inode, i_atime_extra) +
+			sizeof(((struct ext4_inode *)0)->i_atime_extra)) {
+			sb->s_time_gran = 1;
+		} else {
+			sb->s_time_gran = NSEC_PER_SEC;
+		}
+	}
+	if (sbi->s_inode_size > EXT4_GOOD_OLD_INODE_SIZE) {
+		sbi->s_want_extra_isize = sizeof(struct ext4_inode) -
+			EXT4_GOOD_OLD_INODE_SIZE;
+		if (ext4_has_feature_extra_isize(sb)) {
+			unsigned v, max = (sbi->s_inode_size -
+					   EXT4_GOOD_OLD_INODE_SIZE);
+
+			v = le16_to_cpu(es->s_want_extra_isize);
+			if (v > max) {
+				ext4_msg(sb, KERN_ERR,
+					 "bad s_want_extra_isize: %d", v);
+				goto failed_mount;
+			}
+			if (sbi->s_want_extra_isize < v)
+				sbi->s_want_extra_isize = v;
+
+			v = le16_to_cpu(es->s_min_extra_isize);
+			if (v > max) {
+				ext4_msg(sb, KERN_ERR,
+					 "bad s_min_extra_isize: %d", v);
+				goto failed_mount;
+			}
+			if (sbi->s_want_extra_isize < v)
+				sbi->s_want_extra_isize = v;
+		}
+	}
+
 	if (sbi->s_es->s_mount_opts[0]) {
 		char *s_mount_opts = kstrndup(sbi->s_es->s_mount_opts,
 					      sizeof(sbi->s_es->s_mount_opts),
@@ -3851,7 +3913,7 @@
 		goto failed_mount;
 
 #ifdef CONFIG_UNICODE
-	if (ext4_has_feature_casefold(sb) && !sbi->s_encoding) {
+	if (ext4_has_feature_casefold(sb) && !sb->s_encoding) {
 		const struct ext4_sb_encodings *encoding_info;
 		struct unicode_map *encoding;
 		__u16 encoding_flags;
@@ -3882,8 +3944,8 @@
 			 "%s-%s with flags 0x%hx", encoding_info->name,
 			 encoding_info->version?:"\b", encoding_flags);
 
-		sbi->s_encoding = encoding;
-		sbi->s_encoding_flags = encoding_flags;
+		sb->s_encoding = encoding;
+		sb->s_encoding_flags = encoding_flags;
 	}
 #endif
 
@@ -3989,14 +4051,6 @@
 	if (!ext4_feature_set_ok(sb, (sb_rdonly(sb))))
 		goto failed_mount;
 
-	blocksize = BLOCK_SIZE << le32_to_cpu(es->s_log_block_size);
-	if (blocksize < EXT4_MIN_BLOCK_SIZE ||
-	    blocksize > EXT4_MAX_BLOCK_SIZE) {
-		ext4_msg(sb, KERN_ERR,
-		       "Unsupported filesystem blocksize %d (%d log_block_size)",
-			 blocksize, le32_to_cpu(es->s_log_block_size));
-		goto failed_mount;
-	}
 	if (le32_to_cpu(es->s_log_block_size) >
 	    (EXT4_MAX_BLOCK_LOG_SIZE - EXT4_MIN_BLOCK_LOG_SIZE)) {
 		ext4_msg(sb, KERN_ERR,
@@ -4069,29 +4123,6 @@
 						      has_huge_files);
 	sb->s_maxbytes = ext4_max_size(sb->s_blocksize_bits, has_huge_files);
 
-	if (le32_to_cpu(es->s_rev_level) == EXT4_GOOD_OLD_REV) {
-		sbi->s_inode_size = EXT4_GOOD_OLD_INODE_SIZE;
-		sbi->s_first_ino = EXT4_GOOD_OLD_FIRST_INO;
-	} else {
-		sbi->s_inode_size = le16_to_cpu(es->s_inode_size);
-		sbi->s_first_ino = le32_to_cpu(es->s_first_ino);
-		if (sbi->s_first_ino < EXT4_GOOD_OLD_FIRST_INO) {
-			ext4_msg(sb, KERN_ERR, "invalid first ino: %u",
-				 sbi->s_first_ino);
-			goto failed_mount;
-		}
-		if ((sbi->s_inode_size < EXT4_GOOD_OLD_INODE_SIZE) ||
-		    (!is_power_of_2(sbi->s_inode_size)) ||
-		    (sbi->s_inode_size > blocksize)) {
-			ext4_msg(sb, KERN_ERR,
-			       "unsupported inode size: %d",
-			       sbi->s_inode_size);
-			goto failed_mount;
-		}
-		if (sbi->s_inode_size > EXT4_GOOD_OLD_INODE_SIZE)
-			sb->s_time_gran = 1 << (EXT4_EPOCH_BITS - 2);
-	}
-
 	sbi->s_desc_size = le16_to_cpu(es->s_desc_size);
 	if (ext4_has_feature_64bit(sb)) {
 		if (sbi->s_desc_size < EXT4_MIN_DESC_SIZE_64BIT ||
@@ -4275,9 +4306,10 @@
 			goto failed_mount;
 		}
 	}
-	sbi->s_group_desc = kvmalloc_array(db_count,
-					   sizeof(struct buffer_head *),
-					   GFP_KERNEL);
+	rcu_assign_pointer(sbi->s_group_desc,
+			   kvmalloc_array(db_count,
+					  sizeof(struct buffer_head *),
+					  GFP_KERNEL));
 	if (sbi->s_group_desc == NULL) {
 		ext4_msg(sb, KERN_ERR, "not enough memory");
 		ret = -ENOMEM;
@@ -4293,14 +4325,19 @@
 	}
 
 	for (i = 0; i < db_count; i++) {
+		struct buffer_head *bh;
+
 		block = descriptor_loc(sb, logical_sb_block, i);
-		sbi->s_group_desc[i] = sb_bread_unmovable(sb, block);
-		if (!sbi->s_group_desc[i]) {
+		bh = sb_bread_unmovable(sb, block);
+		if (!bh) {
 			ext4_msg(sb, KERN_ERR,
 			       "can't read group descriptor %d", i);
 			db_count = i;
 			goto failed_mount2;
 		}
+		rcu_read_lock();
+		rcu_dereference(sbi->s_group_desc)[i] = bh;
+		rcu_read_unlock();
 	}
 	sbi->s_gdb_count = db_count;
 	if (!ext4_check_descriptors(sb, logical_sb_block, &first_not_zeroed)) {
@@ -4530,11 +4567,6 @@
 		goto failed_mount4;
 	}
 
-#ifdef CONFIG_UNICODE
-	if (sbi->s_encoding)
-		sb->s_d_op = &ext4_dentry_ops;
-#endif
-
 	sb->s_root = d_make_root(root);
 	if (!sb->s_root) {
 		ext4_msg(sb, KERN_ERR, "get root dentry failed");
@@ -4549,8 +4581,6 @@
 	} else if (ret)
 		goto failed_mount4a;
 
-	ext4_clamp_want_extra_isize(sb);
-
 	ext4_set_resv_clusters(sb);
 
 	err = ext4_setup_system_zone(sb);
@@ -4588,7 +4618,7 @@
 		err = percpu_counter_init(&sbi->s_dirtyclusters_counter, 0,
 					  GFP_KERNEL);
 	if (!err)
-		err = percpu_init_rwsem(&sbi->s_journal_flag_rwsem);
+		err = percpu_init_rwsem(&sbi->s_writepages_rwsem);
 
 	if (err) {
 		ext4_msg(sb, KERN_ERR, "insufficient memory");
@@ -4676,13 +4706,19 @@
 	ext4_unregister_li_request(sb);
 failed_mount6:
 	ext4_mb_release(sb);
-	if (sbi->s_flex_groups)
-		kvfree(sbi->s_flex_groups);
+	rcu_read_lock();
+	flex_groups = rcu_dereference(sbi->s_flex_groups);
+	if (flex_groups) {
+		for (i = 0; i < sbi->s_flex_groups_allocated; i++)
+			kvfree(flex_groups[i]);
+		kvfree(flex_groups);
+	}
+	rcu_read_unlock();
 	percpu_counter_destroy(&sbi->s_freeclusters_counter);
 	percpu_counter_destroy(&sbi->s_freeinodes_counter);
 	percpu_counter_destroy(&sbi->s_dirs_counter);
 	percpu_counter_destroy(&sbi->s_dirtyclusters_counter);
-	percpu_free_rwsem(&sbi->s_journal_flag_rwsem);
+	percpu_free_rwsem(&sbi->s_writepages_rwsem);
 failed_mount5:
 	ext4_ext_release(sb);
 	ext4_release_system_zone(sb);
@@ -4713,15 +4749,18 @@
 	if (sbi->s_mmp_tsk)
 		kthread_stop(sbi->s_mmp_tsk);
 failed_mount2:
+	rcu_read_lock();
+	group_desc = rcu_dereference(sbi->s_group_desc);
 	for (i = 0; i < db_count; i++)
-		brelse(sbi->s_group_desc[i]);
-	kvfree(sbi->s_group_desc);
+		brelse(group_desc[i]);
+	kvfree(group_desc);
+	rcu_read_unlock();
 failed_mount:
 	if (sbi->s_chksum_driver)
 		crypto_free_shash(sbi->s_chksum_driver);
 
 #ifdef CONFIG_UNICODE
-	utf8_unload(sbi->s_encoding);
+	utf8_unload(sb->s_encoding);
 #endif
 
 #ifdef CONFIG_QUOTA
@@ -5340,8 +5379,6 @@
 		goto restore_opts;
 	}
 
-	ext4_clamp_want_extra_isize(sb);
-
 	if ((old_opts.s_mount_opt & EXT4_MOUNT_JOURNAL_CHECKSUM) ^
 	    test_opt(sb, JOURNAL_CHECKSUM)) {
 		ext4_msg(sb, KERN_ERR, "changing journal_checksum "
diff --git a/fs/ext4/verity.c b/fs/ext4/verity.c
index d0d8a97..0650056 100644
--- a/fs/ext4/verity.c
+++ b/fs/ext4/verity.c
@@ -342,12 +342,57 @@
 	return desc_size;
 }
 
-static struct page *ext4_read_merkle_tree_page(struct inode *inode,
-					       pgoff_t index)
+/*
+ * Prefetch some pages from the file's Merkle tree.
+ *
+ * This is basically a stripped-down version of __do_page_cache_readahead()
+ * which works on pages past i_size.
+ */
+static void ext4_merkle_tree_readahead(struct address_space *mapping,
+				       pgoff_t start_index, unsigned long count)
 {
+	LIST_HEAD(pages);
+	unsigned int nr_pages = 0;
+	struct page *page;
+	pgoff_t index;
+	struct blk_plug plug;
+
+	for (index = start_index; index < start_index + count; index++) {
+		rcu_read_lock();
+		page = radix_tree_lookup(&mapping->i_pages, index);
+		rcu_read_unlock();
+		if (!page || radix_tree_exceptional_entry(page)) {
+			page = __page_cache_alloc(readahead_gfp_mask(mapping));
+			if (!page)
+				break;
+			page->index = index;
+			list_add(&page->lru, &pages);
+			nr_pages++;
+		}
+	}
+	blk_start_plug(&plug);
+	ext4_mpage_readpages(mapping, &pages, NULL, nr_pages, true);
+	blk_finish_plug(&plug);
+}
+
+static struct page *ext4_read_merkle_tree_page(struct inode *inode,
+					       pgoff_t index,
+					       unsigned long num_ra_pages)
+{
+	struct page *page;
+
 	index += ext4_verity_metadata_pos(inode) >> PAGE_SHIFT;
 
-	return read_mapping_page(inode->i_mapping, index, NULL);
+	page = find_get_page_flags(inode->i_mapping, index, FGP_ACCESSED);
+	if (!page || !PageUptodate(page)) {
+		if (page)
+			put_page(page);
+		else if (num_ra_pages > 1)
+			ext4_merkle_tree_readahead(inode->i_mapping, index,
+						   num_ra_pages);
+		page = read_mapping_page(inode->i_mapping, index, NULL);
+	}
+	return page;
 }
 
 static int ext4_write_merkle_tree_block(struct inode *inode, const void *buf,
diff --git a/fs/f2fs/Kconfig b/fs/f2fs/Kconfig
index f3414f2..2dd1bbc 100644
--- a/fs/f2fs/Kconfig
+++ b/fs/f2fs/Kconfig
@@ -5,6 +5,7 @@
 	select CRYPTO
 	select CRYPTO_CRC32
 	select F2FS_FS_XATTR if FS_ENCRYPTION
+	select FS_ENCRYPTION_ALGS if FS_ENCRYPTION
 	help
 	  F2FS is based on Log-structured File System (LFS), which supports
 	  versatile "flash-friendly" features. The design has been focused on
@@ -20,7 +21,7 @@
 
 config F2FS_STAT_FS
 	bool "F2FS Status Information"
-	depends on F2FS_FS && DEBUG_FS
+	depends on F2FS_FS
 	default y
 	help
 	  /sys/kernel/debug/f2fs/ contains information about all the partitions
@@ -100,3 +101,28 @@
 	  Test F2FS to inject faults such as ENOMEM, ENOSPC, and so on.
 
 	  If unsure, say N.
+
+config F2FS_FS_COMPRESSION
+	bool "F2FS compression feature"
+	depends on F2FS_FS
+	help
+	  Enable filesystem-level compression on f2fs regular files,
+	  multiple back-end compression algorithms are supported.
+
+config F2FS_FS_LZO
+	bool "LZO compression support"
+	depends on F2FS_FS_COMPRESSION
+	select LZO_COMPRESS
+	select LZO_DECOMPRESS
+	default y
+	help
+	  Support LZO compress algorithm, if unsure, say Y.
+
+config F2FS_FS_LZ4
+	bool "LZ4 compression support"
+	depends on F2FS_FS_COMPRESSION
+	select LZ4_COMPRESS
+	select LZ4_DECOMPRESS
+	default y
+	help
+	  Support LZ4 compress algorithm, if unsure, say Y.
diff --git a/fs/f2fs/Makefile b/fs/f2fs/Makefile
index 2aaecc6..ee7316b 100644
--- a/fs/f2fs/Makefile
+++ b/fs/f2fs/Makefile
@@ -9,3 +9,4 @@
 f2fs-$(CONFIG_F2FS_FS_POSIX_ACL) += acl.o
 f2fs-$(CONFIG_F2FS_IO_TRACE) += trace.o
 f2fs-$(CONFIG_FS_VERITY) += verity.o
+f2fs-$(CONFIG_F2FS_FS_COMPRESSION) += compress.o
diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c
index 3a02d79..2330ea0 100644
--- a/fs/f2fs/checkpoint.c
+++ b/fs/f2fs/checkpoint.c
@@ -1511,10 +1511,10 @@
 	f2fs_wait_on_all_pages_writeback(sbi);
 
 	/*
-	 * invalidate intermediate page cache borrowed from meta inode
-	 * which are used for migration of encrypted inode's blocks.
+	 * invalidate intermediate page cache borrowed from meta inode which are
+	 * used for migration of encrypted or verity inode's blocks.
 	 */
-	if (f2fs_sb_has_encrypt(sbi))
+	if (f2fs_sb_has_encrypt(sbi) || f2fs_sb_has_verity(sbi))
 		invalidate_mapping_pages(META_MAPPING(sbi),
 				MAIN_BLKADDR(sbi), MAX_BLKADDR(sbi) - 1);
 
diff --git a/fs/f2fs/compress.c b/fs/f2fs/compress.c
new file mode 100644
index 0000000..3fe617d
--- /dev/null
+++ b/fs/f2fs/compress.c
@@ -0,0 +1,1177 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * f2fs compress support
+ *
+ * Copyright (c) 2019 Chao Yu <chao@kernel.org>
+ */
+
+#include <linux/fs.h>
+#include <linux/f2fs_fs.h>
+#include <linux/writeback.h>
+#include <linux/backing-dev.h>
+#include <linux/lzo.h>
+#include <linux/lz4.h>
+
+#include "f2fs.h"
+#include "node.h"
+#include <trace/events/f2fs.h>
+
+struct f2fs_compress_ops {
+	int (*init_compress_ctx)(struct compress_ctx *cc);
+	void (*destroy_compress_ctx)(struct compress_ctx *cc);
+	int (*compress_pages)(struct compress_ctx *cc);
+	int (*decompress_pages)(struct decompress_io_ctx *dic);
+};
+
+static unsigned int offset_in_cluster(struct compress_ctx *cc, pgoff_t index)
+{
+	return index & (cc->cluster_size - 1);
+}
+
+static pgoff_t cluster_idx(struct compress_ctx *cc, pgoff_t index)
+{
+	return index >> cc->log_cluster_size;
+}
+
+static pgoff_t start_idx_of_cluster(struct compress_ctx *cc)
+{
+	return cc->cluster_idx << cc->log_cluster_size;
+}
+
+bool f2fs_is_compressed_page(struct page *page)
+{
+	if (!PagePrivate(page))
+		return false;
+	if (!page_private(page))
+		return false;
+	if (IS_ATOMIC_WRITTEN_PAGE(page) || IS_DUMMY_WRITTEN_PAGE(page))
+		return false;
+	f2fs_bug_on(F2FS_M_SB(page->mapping),
+		*((u32 *)page_private(page)) != F2FS_COMPRESSED_PAGE_MAGIC);
+	return true;
+}
+
+static void f2fs_set_compressed_page(struct page *page,
+		struct inode *inode, pgoff_t index, void *data, refcount_t *r)
+{
+	SetPagePrivate(page);
+	set_page_private(page, (unsigned long)data);
+
+	/* i_crypto_info and iv index */
+	page->index = index;
+	page->mapping = inode->i_mapping;
+	if (r)
+		refcount_inc(r);
+}
+
+static void f2fs_put_compressed_page(struct page *page)
+{
+	set_page_private(page, (unsigned long)NULL);
+	ClearPagePrivate(page);
+	page->mapping = NULL;
+	unlock_page(page);
+	put_page(page);
+}
+
+static void f2fs_drop_rpages(struct compress_ctx *cc, int len, bool unlock)
+{
+	int i;
+
+	for (i = 0; i < len; i++) {
+		if (!cc->rpages[i])
+			continue;
+		if (unlock)
+			unlock_page(cc->rpages[i]);
+		else
+			put_page(cc->rpages[i]);
+	}
+}
+
+static void f2fs_put_rpages(struct compress_ctx *cc)
+{
+	f2fs_drop_rpages(cc, cc->cluster_size, false);
+}
+
+static void f2fs_unlock_rpages(struct compress_ctx *cc, int len)
+{
+	f2fs_drop_rpages(cc, len, true);
+}
+
+static void f2fs_put_rpages_mapping(struct compress_ctx *cc,
+				struct address_space *mapping,
+				pgoff_t start, int len)
+{
+	int i;
+
+	for (i = 0; i < len; i++) {
+		struct page *page = find_get_page(mapping, start + i);
+
+		put_page(page);
+		put_page(page);
+	}
+}
+
+static void f2fs_put_rpages_wbc(struct compress_ctx *cc,
+		struct writeback_control *wbc, bool redirty, int unlock)
+{
+	unsigned int i;
+
+	for (i = 0; i < cc->cluster_size; i++) {
+		if (!cc->rpages[i])
+			continue;
+		if (redirty)
+			redirty_page_for_writepage(wbc, cc->rpages[i]);
+		f2fs_put_page(cc->rpages[i], unlock);
+	}
+}
+
+struct page *f2fs_compress_control_page(struct page *page)
+{
+	return ((struct compress_io_ctx *)page_private(page))->rpages[0];
+}
+
+int f2fs_init_compress_ctx(struct compress_ctx *cc)
+{
+	struct f2fs_sb_info *sbi = F2FS_I_SB(cc->inode);
+
+	if (cc->nr_rpages)
+		return 0;
+
+	cc->rpages = f2fs_kzalloc(sbi, sizeof(struct page *) <<
+					cc->log_cluster_size, GFP_NOFS);
+	return cc->rpages ? 0 : -ENOMEM;
+}
+
+void f2fs_destroy_compress_ctx(struct compress_ctx *cc)
+{
+	kfree(cc->rpages);
+	cc->rpages = NULL;
+	cc->nr_rpages = 0;
+	cc->nr_cpages = 0;
+	cc->cluster_idx = NULL_CLUSTER;
+}
+
+void f2fs_compress_ctx_add_page(struct compress_ctx *cc, struct page *page)
+{
+	unsigned int cluster_ofs;
+
+	if (!f2fs_cluster_can_merge_page(cc, page->index))
+		f2fs_bug_on(F2FS_I_SB(cc->inode), 1);
+
+	cluster_ofs = offset_in_cluster(cc, page->index);
+	cc->rpages[cluster_ofs] = page;
+	cc->nr_rpages++;
+	cc->cluster_idx = cluster_idx(cc, page->index);
+}
+
+#ifdef CONFIG_F2FS_FS_LZO
+static int lzo_init_compress_ctx(struct compress_ctx *cc)
+{
+	cc->private = f2fs_kvmalloc(F2FS_I_SB(cc->inode),
+				LZO1X_MEM_COMPRESS, GFP_NOFS);
+	if (!cc->private)
+		return -ENOMEM;
+
+	cc->clen = lzo1x_worst_compress(PAGE_SIZE << cc->log_cluster_size);
+	return 0;
+}
+
+static void lzo_destroy_compress_ctx(struct compress_ctx *cc)
+{
+	kvfree(cc->private);
+	cc->private = NULL;
+}
+
+static int lzo_compress_pages(struct compress_ctx *cc)
+{
+	int ret;
+
+	ret = lzo1x_1_compress(cc->rbuf, cc->rlen, cc->cbuf->cdata,
+					&cc->clen, cc->private);
+	if (ret != LZO_E_OK) {
+		printk_ratelimited("%sF2FS-fs (%s): lzo compress failed, ret:%d\n",
+				KERN_ERR, F2FS_I_SB(cc->inode)->sb->s_id, ret);
+		return -EIO;
+	}
+	return 0;
+}
+
+static int lzo_decompress_pages(struct decompress_io_ctx *dic)
+{
+	int ret;
+
+	ret = lzo1x_decompress_safe(dic->cbuf->cdata, dic->clen,
+						dic->rbuf, &dic->rlen);
+	if (ret != LZO_E_OK) {
+		printk_ratelimited("%sF2FS-fs (%s): lzo decompress failed, ret:%d\n",
+				KERN_ERR, F2FS_I_SB(dic->inode)->sb->s_id, ret);
+		return -EIO;
+	}
+
+	if (dic->rlen != PAGE_SIZE << dic->log_cluster_size) {
+		printk_ratelimited("%sF2FS-fs (%s): lzo invalid rlen:%zu, "
+					"expected:%lu\n", KERN_ERR,
+					F2FS_I_SB(dic->inode)->sb->s_id,
+					dic->rlen,
+					PAGE_SIZE << dic->log_cluster_size);
+		return -EIO;
+	}
+	return 0;
+}
+
+static const struct f2fs_compress_ops f2fs_lzo_ops = {
+	.init_compress_ctx	= lzo_init_compress_ctx,
+	.destroy_compress_ctx	= lzo_destroy_compress_ctx,
+	.compress_pages		= lzo_compress_pages,
+	.decompress_pages	= lzo_decompress_pages,
+};
+#endif
+
+#ifdef CONFIG_F2FS_FS_LZ4
+static int lz4_init_compress_ctx(struct compress_ctx *cc)
+{
+	cc->private = f2fs_kvmalloc(F2FS_I_SB(cc->inode),
+				LZ4_MEM_COMPRESS, GFP_NOFS);
+	if (!cc->private)
+		return -ENOMEM;
+
+	cc->clen = LZ4_compressBound(PAGE_SIZE << cc->log_cluster_size);
+	return 0;
+}
+
+static void lz4_destroy_compress_ctx(struct compress_ctx *cc)
+{
+	kvfree(cc->private);
+	cc->private = NULL;
+}
+
+static int lz4_compress_pages(struct compress_ctx *cc)
+{
+	int len;
+
+	len = LZ4_compress_default(cc->rbuf, cc->cbuf->cdata, cc->rlen,
+						cc->clen, cc->private);
+	if (!len) {
+		printk_ratelimited("%sF2FS-fs (%s): lz4 compress failed\n",
+				KERN_ERR, F2FS_I_SB(cc->inode)->sb->s_id);
+		return -EIO;
+	}
+	cc->clen = len;
+	return 0;
+}
+
+static int lz4_decompress_pages(struct decompress_io_ctx *dic)
+{
+	int ret;
+
+	ret = LZ4_decompress_safe(dic->cbuf->cdata, dic->rbuf,
+						dic->clen, dic->rlen);
+	if (ret < 0) {
+		printk_ratelimited("%sF2FS-fs (%s): lz4 decompress failed, ret:%d\n",
+				KERN_ERR, F2FS_I_SB(dic->inode)->sb->s_id, ret);
+		return -EIO;
+	}
+
+	if (ret != PAGE_SIZE << dic->log_cluster_size) {
+		printk_ratelimited("%sF2FS-fs (%s): lz4 invalid rlen:%zu, "
+					"expected:%lu\n", KERN_ERR,
+					F2FS_I_SB(dic->inode)->sb->s_id,
+					dic->rlen,
+					PAGE_SIZE << dic->log_cluster_size);
+		return -EIO;
+	}
+	return 0;
+}
+
+static const struct f2fs_compress_ops f2fs_lz4_ops = {
+	.init_compress_ctx	= lz4_init_compress_ctx,
+	.destroy_compress_ctx	= lz4_destroy_compress_ctx,
+	.compress_pages		= lz4_compress_pages,
+	.decompress_pages	= lz4_decompress_pages,
+};
+#endif
+
+static const struct f2fs_compress_ops *f2fs_cops[COMPRESS_MAX] = {
+#ifdef CONFIG_F2FS_FS_LZO
+	&f2fs_lzo_ops,
+#else
+	NULL,
+#endif
+#ifdef CONFIG_F2FS_FS_LZ4
+	&f2fs_lz4_ops,
+#else
+	NULL,
+#endif
+};
+
+bool f2fs_is_compress_backend_ready(struct inode *inode)
+{
+	if (!f2fs_compressed_file(inode))
+		return true;
+	return f2fs_cops[F2FS_I(inode)->i_compress_algorithm];
+}
+
+static struct page *f2fs_grab_page(void)
+{
+	struct page *page;
+
+	page = alloc_page(GFP_NOFS);
+	if (!page)
+		return NULL;
+	lock_page(page);
+	return page;
+}
+
+static int f2fs_compress_pages(struct compress_ctx *cc)
+{
+	struct f2fs_sb_info *sbi = F2FS_I_SB(cc->inode);
+	struct f2fs_inode_info *fi = F2FS_I(cc->inode);
+	const struct f2fs_compress_ops *cops =
+				f2fs_cops[fi->i_compress_algorithm];
+	unsigned int max_len, nr_cpages;
+	int i, ret;
+
+	trace_f2fs_compress_pages_start(cc->inode, cc->cluster_idx,
+				cc->cluster_size, fi->i_compress_algorithm);
+
+	ret = cops->init_compress_ctx(cc);
+	if (ret)
+		goto out;
+
+	max_len = COMPRESS_HEADER_SIZE + cc->clen;
+	cc->nr_cpages = DIV_ROUND_UP(max_len, PAGE_SIZE);
+
+	cc->cpages = f2fs_kzalloc(sbi, sizeof(struct page *) *
+					cc->nr_cpages, GFP_NOFS);
+	if (!cc->cpages) {
+		ret = -ENOMEM;
+		goto destroy_compress_ctx;
+	}
+
+	for (i = 0; i < cc->nr_cpages; i++) {
+		cc->cpages[i] = f2fs_grab_page();
+		if (!cc->cpages[i]) {
+			ret = -ENOMEM;
+			goto out_free_cpages;
+		}
+	}
+
+	cc->rbuf = vmap(cc->rpages, cc->cluster_size, VM_MAP, PAGE_KERNEL_RO);
+	if (!cc->rbuf) {
+		ret = -ENOMEM;
+		goto out_free_cpages;
+	}
+
+	cc->cbuf = vmap(cc->cpages, cc->nr_cpages, VM_MAP, PAGE_KERNEL);
+	if (!cc->cbuf) {
+		ret = -ENOMEM;
+		goto out_vunmap_rbuf;
+	}
+
+	ret = cops->compress_pages(cc);
+	if (ret)
+		goto out_vunmap_cbuf;
+
+	max_len = PAGE_SIZE * (cc->cluster_size - 1) - COMPRESS_HEADER_SIZE;
+
+	if (cc->clen > max_len) {
+		ret = -EAGAIN;
+		goto out_vunmap_cbuf;
+	}
+
+	cc->cbuf->clen = cpu_to_le32(cc->clen);
+	cc->cbuf->chksum = cpu_to_le32(0);
+
+	for (i = 0; i < COMPRESS_DATA_RESERVED_SIZE; i++)
+		cc->cbuf->reserved[i] = cpu_to_le32(0);
+
+	vunmap(cc->cbuf);
+	vunmap(cc->rbuf);
+
+	nr_cpages = DIV_ROUND_UP(cc->clen + COMPRESS_HEADER_SIZE, PAGE_SIZE);
+
+	for (i = nr_cpages; i < cc->nr_cpages; i++) {
+		f2fs_put_compressed_page(cc->cpages[i]);
+		cc->cpages[i] = NULL;
+	}
+
+	cc->nr_cpages = nr_cpages;
+
+	trace_f2fs_compress_pages_end(cc->inode, cc->cluster_idx,
+							cc->clen, ret);
+	return 0;
+
+out_vunmap_cbuf:
+	vunmap(cc->cbuf);
+out_vunmap_rbuf:
+	vunmap(cc->rbuf);
+out_free_cpages:
+	for (i = 0; i < cc->nr_cpages; i++) {
+		if (cc->cpages[i])
+			f2fs_put_compressed_page(cc->cpages[i]);
+	}
+	kfree(cc->cpages);
+	cc->cpages = NULL;
+destroy_compress_ctx:
+	cops->destroy_compress_ctx(cc);
+out:
+	trace_f2fs_compress_pages_end(cc->inode, cc->cluster_idx,
+							cc->clen, ret);
+	return ret;
+}
+
+void f2fs_decompress_pages(struct bio *bio, struct page *page, bool verity)
+{
+	struct decompress_io_ctx *dic =
+			(struct decompress_io_ctx *)page_private(page);
+	struct f2fs_sb_info *sbi = F2FS_I_SB(dic->inode);
+	struct f2fs_inode_info *fi= F2FS_I(dic->inode);
+	const struct f2fs_compress_ops *cops =
+			f2fs_cops[fi->i_compress_algorithm];
+	int ret;
+
+	dec_page_count(sbi, F2FS_RD_DATA);
+
+	if (bio->bi_status || PageError(page))
+		dic->failed = true;
+
+	if (refcount_dec_not_one(&dic->ref))
+		return;
+
+	trace_f2fs_decompress_pages_start(dic->inode, dic->cluster_idx,
+				dic->cluster_size, fi->i_compress_algorithm);
+
+	/* submit partial compressed pages */
+	if (dic->failed) {
+		ret = -EIO;
+		goto out_free_dic;
+	}
+
+	dic->rbuf = vmap(dic->tpages, dic->cluster_size, VM_MAP, PAGE_KERNEL);
+	if (!dic->rbuf) {
+		ret = -ENOMEM;
+		goto out_free_dic;
+	}
+
+	dic->cbuf = vmap(dic->cpages, dic->nr_cpages, VM_MAP, PAGE_KERNEL_RO);
+	if (!dic->cbuf) {
+		ret = -ENOMEM;
+		goto out_vunmap_rbuf;
+	}
+
+	dic->clen = le32_to_cpu(dic->cbuf->clen);
+	dic->rlen = PAGE_SIZE << dic->log_cluster_size;
+
+	if (dic->clen > PAGE_SIZE * dic->nr_cpages - COMPRESS_HEADER_SIZE) {
+		ret = -EFSCORRUPTED;
+		goto out_vunmap_cbuf;
+	}
+
+	ret = cops->decompress_pages(dic);
+
+out_vunmap_cbuf:
+	vunmap(dic->cbuf);
+out_vunmap_rbuf:
+	vunmap(dic->rbuf);
+out_free_dic:
+	if (!verity)
+		f2fs_decompress_end_io(dic->rpages, dic->cluster_size,
+								ret, false);
+
+	trace_f2fs_decompress_pages_end(dic->inode, dic->cluster_idx,
+							dic->clen, ret);
+	if (!verity)
+		f2fs_free_dic(dic);
+}
+
+static bool is_page_in_cluster(struct compress_ctx *cc, pgoff_t index)
+{
+	if (cc->cluster_idx == NULL_CLUSTER)
+		return true;
+	return cc->cluster_idx == cluster_idx(cc, index);
+}
+
+bool f2fs_cluster_is_empty(struct compress_ctx *cc)
+{
+	return cc->nr_rpages == 0;
+}
+
+static bool f2fs_cluster_is_full(struct compress_ctx *cc)
+{
+	return cc->cluster_size == cc->nr_rpages;
+}
+
+bool f2fs_cluster_can_merge_page(struct compress_ctx *cc, pgoff_t index)
+{
+	if (f2fs_cluster_is_empty(cc))
+		return true;
+	return is_page_in_cluster(cc, index);
+}
+
+static bool __cluster_may_compress(struct compress_ctx *cc)
+{
+	struct f2fs_sb_info *sbi = F2FS_I_SB(cc->inode);
+	loff_t i_size = i_size_read(cc->inode);
+	unsigned nr_pages = DIV_ROUND_UP(i_size, PAGE_SIZE);
+	int i;
+
+	for (i = 0; i < cc->cluster_size; i++) {
+		struct page *page = cc->rpages[i];
+
+		f2fs_bug_on(sbi, !page);
+
+		if (unlikely(f2fs_cp_error(sbi)))
+			return false;
+		if (unlikely(is_sbi_flag_set(sbi, SBI_POR_DOING)))
+			return false;
+
+		/* beyond EOF */
+		if (page->index >= nr_pages)
+			return false;
+	}
+	return true;
+}
+
+/* return # of compressed block addresses */
+static int f2fs_compressed_blocks(struct compress_ctx *cc)
+{
+	struct dnode_of_data dn;
+	int ret;
+
+	set_new_dnode(&dn, cc->inode, NULL, NULL, 0);
+	ret = f2fs_get_dnode_of_data(&dn, start_idx_of_cluster(cc),
+							LOOKUP_NODE);
+	if (ret) {
+		if (ret == -ENOENT)
+			ret = 0;
+		goto fail;
+	}
+
+	if (dn.data_blkaddr == COMPRESS_ADDR) {
+		int i;
+
+		ret = 1;
+		for (i = 1; i < cc->cluster_size; i++) {
+			block_t blkaddr;
+
+			blkaddr = datablock_addr(dn.inode,
+					dn.node_page, dn.ofs_in_node + i);
+			if (blkaddr != NULL_ADDR)
+				ret++;
+		}
+	}
+fail:
+	f2fs_put_dnode(&dn);
+	return ret;
+}
+
+int f2fs_is_compressed_cluster(struct inode *inode, pgoff_t index)
+{
+	struct compress_ctx cc = {
+		.inode = inode,
+		.log_cluster_size = F2FS_I(inode)->i_log_cluster_size,
+		.cluster_size = F2FS_I(inode)->i_cluster_size,
+		.cluster_idx = index >> F2FS_I(inode)->i_log_cluster_size,
+	};
+
+	return f2fs_compressed_blocks(&cc);
+}
+
+static bool cluster_may_compress(struct compress_ctx *cc)
+{
+	if (!f2fs_compressed_file(cc->inode))
+		return false;
+	if (f2fs_is_atomic_file(cc->inode))
+		return false;
+	if (f2fs_is_mmap_file(cc->inode))
+		return false;
+	if (!f2fs_cluster_is_full(cc))
+		return false;
+	return __cluster_may_compress(cc);
+}
+
+static void set_cluster_writeback(struct compress_ctx *cc)
+{
+	int i;
+
+	for (i = 0; i < cc->cluster_size; i++) {
+		if (cc->rpages[i])
+			set_page_writeback(cc->rpages[i]);
+	}
+}
+
+static void set_cluster_dirty(struct compress_ctx *cc)
+{
+	int i;
+
+	for (i = 0; i < cc->cluster_size; i++)
+		if (cc->rpages[i])
+			set_page_dirty(cc->rpages[i]);
+}
+
+static int prepare_compress_overwrite(struct compress_ctx *cc,
+		struct page **pagep, pgoff_t index, void **fsdata)
+{
+	struct f2fs_sb_info *sbi = F2FS_I_SB(cc->inode);
+	struct address_space *mapping = cc->inode->i_mapping;
+	struct page *page;
+	struct dnode_of_data dn;
+	sector_t last_block_in_bio;
+	unsigned fgp_flag = FGP_LOCK | FGP_WRITE | FGP_CREAT;
+	pgoff_t start_idx = start_idx_of_cluster(cc);
+	int i, ret;
+	bool prealloc;
+
+retry:
+	ret = f2fs_compressed_blocks(cc);
+	if (ret <= 0)
+		return ret;
+
+	/* compressed case */
+	prealloc = (ret < cc->cluster_size);
+
+	ret = f2fs_init_compress_ctx(cc);
+	if (ret)
+		return ret;
+
+	/* keep page reference to avoid page reclaim */
+	for (i = 0; i < cc->cluster_size; i++) {
+		page = f2fs_pagecache_get_page(mapping, start_idx + i,
+							fgp_flag, GFP_NOFS);
+		if (!page) {
+			ret = -ENOMEM;
+			goto unlock_pages;
+		}
+
+		if (PageUptodate(page))
+			unlock_page(page);
+		else
+			f2fs_compress_ctx_add_page(cc, page);
+	}
+
+	if (!f2fs_cluster_is_empty(cc)) {
+		struct bio *bio = NULL;
+
+		ret = f2fs_read_multi_pages(cc, &bio, cc->cluster_size,
+						&last_block_in_bio, false);
+		f2fs_destroy_compress_ctx(cc);
+		if (ret)
+			goto release_pages;
+		if (bio)
+			f2fs_submit_bio(sbi, bio, DATA);
+
+		ret = f2fs_init_compress_ctx(cc);
+		if (ret)
+			goto release_pages;
+	}
+
+	for (i = 0; i < cc->cluster_size; i++) {
+		f2fs_bug_on(sbi, cc->rpages[i]);
+
+		page = find_lock_page(mapping, start_idx + i);
+		f2fs_bug_on(sbi, !page);
+
+		f2fs_wait_on_page_writeback(page, DATA, true, true);
+
+		f2fs_compress_ctx_add_page(cc, page);
+		f2fs_put_page(page, 0);
+
+		if (!PageUptodate(page)) {
+			f2fs_unlock_rpages(cc, i + 1);
+			f2fs_put_rpages_mapping(cc, mapping, start_idx,
+					cc->cluster_size);
+			f2fs_destroy_compress_ctx(cc);
+			goto retry;
+		}
+	}
+
+	if (prealloc) {
+		__do_map_lock(sbi, F2FS_GET_BLOCK_PRE_AIO, true);
+
+		set_new_dnode(&dn, cc->inode, NULL, NULL, 0);
+
+		for (i = cc->cluster_size - 1; i > 0; i--) {
+			ret = f2fs_get_block(&dn, start_idx + i);
+			if (ret) {
+				i = cc->cluster_size;
+				break;
+			}
+
+			if (dn.data_blkaddr != NEW_ADDR)
+				break;
+		}
+
+		__do_map_lock(sbi, F2FS_GET_BLOCK_PRE_AIO, false);
+	}
+
+	if (likely(!ret)) {
+		*fsdata = cc->rpages;
+		*pagep = cc->rpages[offset_in_cluster(cc, index)];
+		return cc->cluster_size;
+	}
+
+unlock_pages:
+	f2fs_unlock_rpages(cc, i);
+release_pages:
+	f2fs_put_rpages_mapping(cc, mapping, start_idx, i);
+	f2fs_destroy_compress_ctx(cc);
+	return ret;
+}
+
+int f2fs_prepare_compress_overwrite(struct inode *inode,
+		struct page **pagep, pgoff_t index, void **fsdata)
+{
+	struct compress_ctx cc = {
+		.inode = inode,
+		.log_cluster_size = F2FS_I(inode)->i_log_cluster_size,
+		.cluster_size = F2FS_I(inode)->i_cluster_size,
+		.cluster_idx = index >> F2FS_I(inode)->i_log_cluster_size,
+		.rpages = NULL,
+		.nr_rpages = 0,
+	};
+
+	return prepare_compress_overwrite(&cc, pagep, index, fsdata);
+}
+
+bool f2fs_compress_write_end(struct inode *inode, void *fsdata,
+					pgoff_t index, unsigned copied)
+
+{
+	struct compress_ctx cc = {
+		.log_cluster_size = F2FS_I(inode)->i_log_cluster_size,
+		.cluster_size = F2FS_I(inode)->i_cluster_size,
+		.rpages = fsdata,
+	};
+	bool first_index = (index == cc.rpages[0]->index);
+
+	if (copied)
+		set_cluster_dirty(&cc);
+
+	f2fs_put_rpages_wbc(&cc, NULL, false, 1);
+	f2fs_destroy_compress_ctx(&cc);
+
+	return first_index;
+}
+
+static int f2fs_write_compressed_pages(struct compress_ctx *cc,
+					int *submitted,
+					struct writeback_control *wbc,
+					enum iostat_type io_type)
+{
+	struct inode *inode = cc->inode;
+	struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
+	struct f2fs_inode_info *fi = F2FS_I(inode);
+	struct f2fs_io_info fio = {
+		.sbi = sbi,
+		.ino = cc->inode->i_ino,
+		.type = DATA,
+		.op = REQ_OP_WRITE,
+		.op_flags = wbc_to_write_flags(wbc),
+		.old_blkaddr = NEW_ADDR,
+		.page = NULL,
+		.encrypted_page = NULL,
+		.compressed_page = NULL,
+		.submitted = false,
+		.need_lock = LOCK_RETRY,
+		.io_type = io_type,
+		.io_wbc = wbc,
+		.encrypted = f2fs_encrypted_file(cc->inode),
+	};
+	struct dnode_of_data dn;
+	struct node_info ni;
+	struct compress_io_ctx *cic;
+	pgoff_t start_idx = start_idx_of_cluster(cc);
+	unsigned int last_index = cc->cluster_size - 1;
+	loff_t psize;
+	int i, err;
+
+	set_new_dnode(&dn, cc->inode, NULL, NULL, 0);
+
+	f2fs_lock_op(sbi);
+
+	err = f2fs_get_dnode_of_data(&dn, start_idx, LOOKUP_NODE);
+	if (err)
+		goto out_unlock_op;
+
+	for (i = 0; i < cc->cluster_size; i++) {
+		if (datablock_addr(dn.inode, dn.node_page,
+					dn.ofs_in_node + i) == NULL_ADDR)
+			goto out_put_dnode;
+	}
+
+	psize = (loff_t)(cc->rpages[last_index]->index + 1) << PAGE_SHIFT;
+
+	err = f2fs_get_node_info(fio.sbi, dn.nid, &ni);
+	if (err)
+		goto out_put_dnode;
+
+	fio.version = ni.version;
+
+	cic = f2fs_kzalloc(sbi, sizeof(struct compress_io_ctx), GFP_NOFS);
+	if (!cic)
+		goto out_put_dnode;
+
+	cic->magic = F2FS_COMPRESSED_PAGE_MAGIC;
+	cic->inode = inode;
+	refcount_set(&cic->ref, 1);
+	cic->rpages = f2fs_kzalloc(sbi, sizeof(struct page *) <<
+			cc->log_cluster_size, GFP_NOFS);
+	if (!cic->rpages)
+		goto out_put_cic;
+
+	cic->nr_rpages = cc->cluster_size;
+
+	for (i = 0; i < cc->nr_cpages; i++) {
+		f2fs_set_compressed_page(cc->cpages[i], inode,
+					cc->rpages[i + 1]->index,
+					cic, i ? &cic->ref : NULL);
+		fio.compressed_page = cc->cpages[i];
+		if (fio.encrypted) {
+			fio.page = cc->rpages[i + 1];
+			err = f2fs_encrypt_one_page(&fio);
+			if (err)
+				goto out_destroy_crypt;
+			if (fscrypt_inode_uses_fs_layer_crypto(inode))
+				cc->cpages[i] = fio.encrypted_page;
+		}
+	}
+
+	set_cluster_writeback(cc);
+
+	for (i = 0; i < cc->cluster_size; i++)
+		cic->rpages[i] = cc->rpages[i];
+
+	for (i = 0; i < cc->cluster_size; i++, dn.ofs_in_node++) {
+		block_t blkaddr;
+
+		blkaddr = datablock_addr(dn.inode, dn.node_page,
+							dn.ofs_in_node);
+		fio.page = cic->rpages[i];
+		fio.old_blkaddr = blkaddr;
+
+		/* cluster header */
+		if (i == 0) {
+			if (blkaddr == COMPRESS_ADDR)
+				fio.compr_blocks++;
+			if (__is_valid_data_blkaddr(blkaddr))
+				f2fs_invalidate_blocks(sbi, blkaddr);
+			f2fs_update_data_blkaddr(&dn, COMPRESS_ADDR);
+			goto unlock_continue;
+		}
+
+		if (fio.compr_blocks && __is_valid_data_blkaddr(blkaddr))
+			fio.compr_blocks++;
+
+		if (i > cc->nr_cpages) {
+			if (__is_valid_data_blkaddr(blkaddr)) {
+				f2fs_invalidate_blocks(sbi, blkaddr);
+				f2fs_update_data_blkaddr(&dn, NEW_ADDR);
+			}
+			goto unlock_continue;
+		}
+
+		f2fs_bug_on(fio.sbi, blkaddr == NULL_ADDR);
+
+		if (fio.encrypted && fscrypt_inode_uses_fs_layer_crypto(inode))
+			fio.encrypted_page = cc->cpages[i - 1];
+		else
+			fio.compressed_page = cc->cpages[i - 1];
+
+		cc->cpages[i - 1] = NULL;
+		f2fs_outplace_write_data(&dn, &fio);
+		(*submitted)++;
+unlock_continue:
+		inode_dec_dirty_pages(cc->inode);
+		unlock_page(fio.page);
+	}
+
+	if (fio.compr_blocks)
+		f2fs_i_compr_blocks_update(inode, fio.compr_blocks - 1, false);
+	f2fs_i_compr_blocks_update(inode, cc->nr_cpages, true);
+
+	set_inode_flag(cc->inode, FI_APPEND_WRITE);
+	if (cc->cluster_idx == 0)
+		set_inode_flag(inode, FI_FIRST_BLOCK_WRITTEN);
+
+	f2fs_put_dnode(&dn);
+	f2fs_unlock_op(sbi);
+
+	down_write(&fi->i_sem);
+	if (fi->last_disk_size < psize)
+		fi->last_disk_size = psize;
+	up_write(&fi->i_sem);
+
+	f2fs_put_rpages(cc);
+	f2fs_destroy_compress_ctx(cc);
+	return 0;
+
+out_destroy_crypt:
+	kfree(cic->rpages);
+
+	for (--i; i >= 0; i--)
+		fscrypt_finalize_bounce_page(&cc->cpages[i]);
+	for (i = 0; i < cc->nr_cpages; i++) {
+		if (!cc->cpages[i])
+			continue;
+		f2fs_put_page(cc->cpages[i], 1);
+	}
+out_put_cic:
+	kfree(cic);
+out_put_dnode:
+	f2fs_put_dnode(&dn);
+out_unlock_op:
+	f2fs_unlock_op(sbi);
+	return -EAGAIN;
+}
+
+void f2fs_compress_write_end_io(struct bio *bio, struct page *page)
+{
+	struct f2fs_sb_info *sbi = bio->bi_private;
+	struct compress_io_ctx *cic =
+			(struct compress_io_ctx *)page_private(page);
+	int i;
+
+	if (unlikely(bio->bi_status))
+		mapping_set_error(cic->inode->i_mapping, -EIO);
+
+	f2fs_put_compressed_page(page);
+
+	dec_page_count(sbi, F2FS_WB_DATA);
+
+	if (refcount_dec_not_one(&cic->ref))
+		return;
+
+	for (i = 0; i < cic->nr_rpages; i++) {
+		WARN_ON(!cic->rpages[i]);
+		clear_cold_data(cic->rpages[i]);
+		end_page_writeback(cic->rpages[i]);
+	}
+
+	kfree(cic->rpages);
+	kfree(cic);
+}
+
+static int f2fs_write_raw_pages(struct compress_ctx *cc,
+					int *submitted,
+					struct writeback_control *wbc,
+					enum iostat_type io_type)
+{
+	struct address_space *mapping = cc->inode->i_mapping;
+	int _submitted, compr_blocks, ret;
+	int i = -1, err = 0;
+
+	compr_blocks = f2fs_compressed_blocks(cc);
+	if (compr_blocks < 0) {
+		err = compr_blocks;
+		goto out_err;
+	}
+
+	for (i = 0; i < cc->cluster_size; i++) {
+		if (!cc->rpages[i])
+			continue;
+retry_write:
+		if (cc->rpages[i]->mapping != mapping) {
+			unlock_page(cc->rpages[i]);
+			continue;
+		}
+
+		BUG_ON(!PageLocked(cc->rpages[i]));
+
+		ret = f2fs_write_single_data_page(cc->rpages[i], &_submitted,
+						NULL, NULL, wbc, io_type,
+						compr_blocks);
+		if (ret) {
+			if (ret == AOP_WRITEPAGE_ACTIVATE) {
+				unlock_page(cc->rpages[i]);
+				ret = 0;
+			} else if (ret == -EAGAIN) {
+				ret = 0;
+				cond_resched();
+				congestion_wait(BLK_RW_ASYNC, HZ/50);
+				lock_page(cc->rpages[i]);
+				clear_page_dirty_for_io(cc->rpages[i]);
+				goto retry_write;
+			}
+			err = ret;
+			goto out_fail;
+		}
+
+		*submitted += _submitted;
+	}
+	return 0;
+
+out_fail:
+	/* TODO: revoke partially updated block addresses */
+	BUG_ON(compr_blocks);
+out_err:
+	for (++i; i < cc->cluster_size; i++) {
+		if (!cc->rpages[i])
+			continue;
+		redirty_page_for_writepage(wbc, cc->rpages[i]);
+		unlock_page(cc->rpages[i]);
+	}
+	return err;
+}
+
+int f2fs_write_multi_pages(struct compress_ctx *cc,
+					int *submitted,
+					struct writeback_control *wbc,
+					enum iostat_type io_type)
+{
+	struct f2fs_inode_info *fi = F2FS_I(cc->inode);
+	const struct f2fs_compress_ops *cops =
+			f2fs_cops[fi->i_compress_algorithm];
+	int err;
+
+	*submitted = 0;
+	if (cluster_may_compress(cc)) {
+		err = f2fs_compress_pages(cc);
+		if (err == -EAGAIN) {
+			goto write;
+		} else if (err) {
+			f2fs_put_rpages_wbc(cc, wbc, true, 1);
+			goto destroy_out;
+		}
+
+		err = f2fs_write_compressed_pages(cc, submitted,
+							wbc, io_type);
+		cops->destroy_compress_ctx(cc);
+		if (!err)
+			return 0;
+		f2fs_bug_on(F2FS_I_SB(cc->inode), err != -EAGAIN);
+	}
+write:
+	f2fs_bug_on(F2FS_I_SB(cc->inode), *submitted);
+
+	err = f2fs_write_raw_pages(cc, submitted, wbc, io_type);
+	f2fs_put_rpages_wbc(cc, wbc, false, 0);
+destroy_out:
+	f2fs_destroy_compress_ctx(cc);
+	return err;
+}
+
+struct decompress_io_ctx *f2fs_alloc_dic(struct compress_ctx *cc)
+{
+	struct f2fs_sb_info *sbi = F2FS_I_SB(cc->inode);
+	struct decompress_io_ctx *dic;
+	pgoff_t start_idx = start_idx_of_cluster(cc);
+	int i;
+
+	dic = f2fs_kzalloc(sbi, sizeof(struct decompress_io_ctx), GFP_NOFS);
+	if (!dic)
+		return ERR_PTR(-ENOMEM);
+
+	dic->rpages = f2fs_kzalloc(sbi, sizeof(struct page *) <<
+			cc->log_cluster_size, GFP_NOFS);
+	if (!dic->rpages) {
+		kfree(dic);
+		return ERR_PTR(-ENOMEM);
+	}
+
+	dic->magic = F2FS_COMPRESSED_PAGE_MAGIC;
+	dic->inode = cc->inode;
+	refcount_set(&dic->ref, 1);
+	dic->cluster_idx = cc->cluster_idx;
+	dic->cluster_size = cc->cluster_size;
+	dic->log_cluster_size = cc->log_cluster_size;
+	dic->nr_cpages = cc->nr_cpages;
+	dic->failed = false;
+
+	for (i = 0; i < dic->cluster_size; i++)
+		dic->rpages[i] = cc->rpages[i];
+	dic->nr_rpages = cc->cluster_size;
+
+	dic->cpages = f2fs_kzalloc(sbi, sizeof(struct page *) *
+					dic->nr_cpages, GFP_NOFS);
+	if (!dic->cpages)
+		goto out_free;
+
+	for (i = 0; i < dic->nr_cpages; i++) {
+		struct page *page;
+
+		page = f2fs_grab_page();
+		if (!page)
+			goto out_free;
+
+		f2fs_set_compressed_page(page, cc->inode,
+					start_idx + i + 1,
+					dic, i ? &dic->ref : NULL);
+		dic->cpages[i] = page;
+	}
+
+	dic->tpages = f2fs_kzalloc(sbi, sizeof(struct page *) *
+					dic->cluster_size, GFP_NOFS);
+	if (!dic->tpages)
+		goto out_free;
+
+	for (i = 0; i < dic->cluster_size; i++) {
+		if (cc->rpages[i])
+			continue;
+
+		dic->tpages[i] = f2fs_grab_page();
+		if (!dic->tpages[i])
+			goto out_free;
+	}
+
+	for (i = 0; i < dic->cluster_size; i++) {
+		if (dic->tpages[i])
+			continue;
+		dic->tpages[i] = cc->rpages[i];
+	}
+
+	return dic;
+
+out_free:
+	f2fs_free_dic(dic);
+	return ERR_PTR(-ENOMEM);
+}
+
+void f2fs_free_dic(struct decompress_io_ctx *dic)
+{
+	int i;
+
+	if (dic->tpages) {
+		for (i = 0; i < dic->cluster_size; i++) {
+			if (dic->rpages[i])
+				continue;
+			f2fs_put_page(dic->tpages[i], 1);
+		}
+		kfree(dic->tpages);
+	}
+
+	if (dic->cpages) {
+		for (i = 0; i < dic->nr_cpages; i++) {
+			if (!dic->cpages[i])
+				continue;
+			f2fs_put_compressed_page(dic->cpages[i]);
+		}
+		kfree(dic->cpages);
+	}
+
+	kfree(dic->rpages);
+	kfree(dic);
+}
+
+void f2fs_decompress_end_io(struct page **rpages,
+			unsigned int cluster_size, bool err, bool verity)
+{
+	int i;
+
+	for (i = 0; i < cluster_size; i++) {
+		struct page *rpage = rpages[i];
+
+		if (!rpage)
+			continue;
+
+		if (err || PageError(rpage)) {
+			ClearPageUptodate(rpage);
+			ClearPageError(rpage);
+		} else {
+			if (!verity || fsverity_verify_page(rpage))
+				SetPageUptodate(rpage);
+			else
+				SetPageError(rpage);
+		}
+		unlock_page(rpage);
+	}
+}
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index 8ebefd7..e14ff5e 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -32,6 +32,47 @@
 static struct kmem_cache *bio_post_read_ctx_cache;
 static struct kmem_cache *bio_entry_slab;
 static mempool_t *bio_post_read_ctx_pool;
+static struct bio_set f2fs_bioset;
+
+#define	F2FS_BIO_POOL_SIZE	NR_CURSEG_TYPE
+
+int __init f2fs_init_bioset(void)
+{
+	if (bioset_init(&f2fs_bioset, F2FS_BIO_POOL_SIZE,
+					0, BIOSET_NEED_BVECS))
+		return -ENOMEM;
+	return 0;
+}
+
+void f2fs_destroy_bioset(void)
+{
+	bioset_exit(&f2fs_bioset);
+}
+
+static inline struct bio *__f2fs_bio_alloc(gfp_t gfp_mask,
+						unsigned int nr_iovecs)
+{
+	return bio_alloc_bioset(gfp_mask, nr_iovecs, &f2fs_bioset);
+}
+
+struct bio *f2fs_bio_alloc(struct f2fs_sb_info *sbi, int npages, bool no_fail)
+{
+	struct bio *bio;
+
+	if (no_fail) {
+		/* No failure on bio allocation */
+		bio = __f2fs_bio_alloc(GFP_NOIO, npages);
+		if (!bio)
+			bio = __f2fs_bio_alloc(GFP_NOIO | __GFP_NOFAIL, npages);
+		return bio;
+	}
+	if (time_to_inject(sbi, FAULT_ALLOC_BIO)) {
+		f2fs_show_injection_info(sbi, FAULT_ALLOC_BIO);
+		return NULL;
+	}
+
+	return __f2fs_bio_alloc(GFP_KERNEL, npages);
+}
 
 static bool __is_cp_guaranteed(struct page *page)
 {
@@ -42,6 +83,9 @@
 	if (!mapping)
 		return false;
 
+	if (f2fs_is_compressed_page(page))
+		return false;
+
 	inode = mapping->host;
 	sbi = F2FS_I_SB(inode);
 
@@ -74,19 +118,19 @@
 
 /* postprocessing steps for read bios */
 enum bio_post_read_step {
-	STEP_INITIAL = 0,
 	STEP_DECRYPT,
+	STEP_DECOMPRESS,
 	STEP_VERITY,
 };
 
 struct bio_post_read_ctx {
 	struct bio *bio;
+	struct f2fs_sb_info *sbi;
 	struct work_struct work;
-	unsigned int cur_step;
 	unsigned int enabled_steps;
 };
 
-static void __read_end_io(struct bio *bio)
+static void __read_end_io(struct bio *bio, bool compr, bool verity)
 {
 	struct page *page;
 	struct bio_vec *bv;
@@ -95,6 +139,13 @@
 	bio_for_each_segment_all(bv, bio, i) {
 		page = bv->bv_page;
 
+#ifdef CONFIG_F2FS_FS_COMPRESSION
+		if (compr && f2fs_is_compressed_page(page)) {
+			f2fs_decompress_pages(bio, page, verity);
+			continue;
+		}
+#endif
+
 		/* PG_error was set if any post_read step failed */
 		if (bio->bi_status || PageError(page)) {
 			ClearPageUptodate(page);
@@ -106,31 +157,107 @@
 		dec_page_count(F2FS_P_SB(page), __read_io_type(page));
 		unlock_page(page);
 	}
-	if (bio->bi_private)
-		mempool_free(bio->bi_private, bio_post_read_ctx_pool);
-	bio_put(bio);
+}
+
+static void f2fs_release_read_bio(struct bio *bio);
+static void __f2fs_read_end_io(struct bio *bio, bool compr, bool verity)
+{
+	if (!compr)
+		__read_end_io(bio, false, verity);
+	f2fs_release_read_bio(bio);
+}
+
+static void f2fs_decompress_bio(struct bio *bio, bool verity)
+{
+	__read_end_io(bio, true, verity);
 }
 
 static void bio_post_read_processing(struct bio_post_read_ctx *ctx);
 
-static void decrypt_work(struct work_struct *work)
+static void f2fs_decrypt_work(struct bio_post_read_ctx *ctx)
 {
-	struct bio_post_read_ctx *ctx =
-		container_of(work, struct bio_post_read_ctx, work);
-
 	fscrypt_decrypt_bio(ctx->bio);
-
-	bio_post_read_processing(ctx);
 }
 
-static void verity_work(struct work_struct *work)
+static void f2fs_decompress_work(struct bio_post_read_ctx *ctx)
+{
+	f2fs_decompress_bio(ctx->bio, ctx->enabled_steps & (1 << STEP_VERITY));
+}
+
+#ifdef CONFIG_F2FS_FS_COMPRESSION
+static void f2fs_verify_pages(struct page **rpages, unsigned int cluster_size)
+{
+	f2fs_decompress_end_io(rpages, cluster_size, false, true);
+}
+
+static void f2fs_verify_bio(struct bio *bio)
+{
+	struct page *page = bio_first_page_all(bio);
+	struct decompress_io_ctx *dic =
+			(struct decompress_io_ctx *)page_private(page);
+
+	f2fs_verify_pages(dic->rpages, dic->cluster_size);
+	f2fs_free_dic(dic);
+}
+#endif
+
+static void f2fs_verity_work(struct work_struct *work)
+{
+	struct bio_post_read_ctx *ctx =
+		container_of(work, struct bio_post_read_ctx, work);
+	struct bio *bio = ctx->bio;
+#ifdef CONFIG_F2FS_FS_COMPRESSION
+	unsigned int enabled_steps = ctx->enabled_steps;
+#endif
+
+	/*
+	 * fsverity_verify_bio() may call readpages() again, and while verity
+	 * will be disabled for this, decryption may still be needed, resulting
+	 * in another bio_post_read_ctx being allocated.  So to prevent
+	 * deadlocks we need to release the current ctx to the mempool first.
+	 * This assumes that verity is the last post-read step.
+	 */
+	mempool_free(ctx, bio_post_read_ctx_pool);
+	bio->bi_private = NULL;
+
+#ifdef CONFIG_F2FS_FS_COMPRESSION
+	/* previous step is decompression */
+	if (enabled_steps & (1 << STEP_DECOMPRESS)) {
+		f2fs_verify_bio(bio);
+		f2fs_release_read_bio(bio);
+		return;
+	}
+#endif
+
+	fsverity_verify_bio(bio);
+	__f2fs_read_end_io(bio, false, false);
+}
+
+static void f2fs_post_read_work(struct work_struct *work)
 {
 	struct bio_post_read_ctx *ctx =
 		container_of(work, struct bio_post_read_ctx, work);
 
-	fsverity_verify_bio(ctx->bio);
+	if (ctx->enabled_steps & (1 << STEP_DECRYPT))
+		f2fs_decrypt_work(ctx);
 
-	bio_post_read_processing(ctx);
+	if (ctx->enabled_steps & (1 << STEP_DECOMPRESS))
+		f2fs_decompress_work(ctx);
+
+	if (ctx->enabled_steps & (1 << STEP_VERITY)) {
+		INIT_WORK(&ctx->work, f2fs_verity_work);
+		fsverity_enqueue_verify_work(&ctx->work);
+		return;
+	}
+
+	__f2fs_read_end_io(ctx->bio,
+		ctx->enabled_steps & (1 << STEP_DECOMPRESS), false);
+}
+
+static void f2fs_enqueue_post_read_work(struct f2fs_sb_info *sbi,
+						struct work_struct *work)
+{
+	queue_work(sbi->post_read_wq, work);
 }
 
 static void bio_post_read_processing(struct bio_post_read_ctx *ctx)
@@ -140,31 +267,26 @@
 	 * verity may require reading metadata pages that need decryption, and
 	 * we shouldn't recurse to the same workqueue.
 	 */
-	switch (++ctx->cur_step) {
-	case STEP_DECRYPT:
-		if (ctx->enabled_steps & (1 << STEP_DECRYPT)) {
-			INIT_WORK(&ctx->work, decrypt_work);
-			fscrypt_enqueue_decrypt_work(&ctx->work);
-			return;
-		}
-		ctx->cur_step++;
-		/* fall-through */
-	case STEP_VERITY:
-		if (ctx->enabled_steps & (1 << STEP_VERITY)) {
-			INIT_WORK(&ctx->work, verity_work);
-			fsverity_enqueue_verify_work(&ctx->work);
-			return;
-		}
-		ctx->cur_step++;
-		/* fall-through */
-	default:
-		__read_end_io(ctx->bio);
+
+	if (ctx->enabled_steps & (1 << STEP_DECRYPT) ||
+		ctx->enabled_steps & (1 << STEP_DECOMPRESS)) {
+		INIT_WORK(&ctx->work, f2fs_post_read_work);
+		f2fs_enqueue_post_read_work(ctx->sbi, &ctx->work);
+		return;
 	}
+
+	if (ctx->enabled_steps & (1 << STEP_VERITY)) {
+		INIT_WORK(&ctx->work, f2fs_verity_work);
+		fsverity_enqueue_verify_work(&ctx->work);
+		return;
+	}
+
+	__f2fs_read_end_io(ctx->bio, false, false);
 }
 
 static bool f2fs_bio_post_read_required(struct bio *bio)
 {
-	return bio->bi_private && !bio->bi_status;
+	return bio->bi_private;
 }
 
 static void f2fs_read_end_io(struct bio *bio)
@@ -180,7 +302,6 @@
 	if (f2fs_bio_post_read_required(bio)) {
 		struct bio_post_read_ctx *ctx = bio->bi_private;
 
-		ctx->cur_step = STEP_INITIAL;
 		bio_post_read_processing(ctx);
 		return;
 	}
@@ -192,7 +313,7 @@
 						bio->bi_iter.bi_size);
 	}
 
-	__read_end_io(bio);
+	__f2fs_read_end_io(bio, false, false);
 }
 
 static void f2fs_write_end_io(struct bio *bio)
@@ -223,6 +344,13 @@
 
 		fscrypt_finalize_bounce_page(&page);
 
+#ifdef CONFIG_F2FS_FS_COMPRESSION
+		if (f2fs_is_compressed_page(page)) {
+			f2fs_compress_write_end_io(bio, page);
+			continue;
+		}
+#endif
+
 		if (unlikely(bio->bi_status)) {
 			mapping_set_error(page->mapping, -EIO);
 			if (type == F2FS_WB_CP_DATA)
@@ -424,6 +552,12 @@
 	__submit_bio(sbi, bio, type);
 }
 
+void f2fs_submit_bio(struct f2fs_sb_info *sbi,
+				struct bio *bio, enum page_type type)
+{
+	__submit_bio(sbi, bio, type);
+}
+
 static void __submit_merged_bio(struct f2fs_bio_info *io)
 {
 	struct f2fs_io_info *fio = &io->fio;
@@ -446,7 +580,6 @@
 						struct page *page, nid_t ino)
 {
 	struct bio_vec *bvec;
-	struct page *target;
 	int i;
 
 	if (!bio)
@@ -456,10 +589,18 @@
 		return true;
 
 	bio_for_each_segment_all(bvec, bio, i) {
+		struct page *target = bvec->bv_page;
 
-		target = bvec->bv_page;
-		if (fscrypt_is_bounce_page(target))
+		if (fscrypt_is_bounce_page(target)) {
 			target = fscrypt_pagecache_page(target);
+			if (IS_ERR(target))
+				continue;
+		}
+		if (f2fs_is_compressed_page(target)) {
+			target = f2fs_compress_control_page(target);
+			if (IS_ERR(target))
+				continue;
+		}
 
 		if (inode && inode == target->mapping->host)
 			return true;
@@ -660,7 +801,8 @@
 
 			found = true;
 
-			if (bio_add_page(*bio, page, PAGE_SIZE, 0) == PAGE_SIZE) {
+			if (bio_add_page(*bio, page, PAGE_SIZE, 0) ==
+							PAGE_SIZE) {
 				ret = 0;
 				break;
 			}
@@ -806,7 +948,12 @@
 
 	verify_fio_blkaddr(fio);
 
-	bio_page = fio->encrypted_page ? fio->encrypted_page : fio->page;
+	if (fio->encrypted_page)
+		bio_page = fio->encrypted_page;
+	else if (fio->compressed_page)
+		bio_page = fio->compressed_page;
+	else
+		bio_page = fio->page;
 
 	/* set submitted = true as a return value */
 	fio->submitted = true;
@@ -884,17 +1031,16 @@
 
 	if (fscrypt_inode_uses_fs_layer_crypto(inode))
 		post_read_steps |= 1 << STEP_DECRYPT;
-
+	if (f2fs_compressed_file(inode))
+		post_read_steps |= 1 << STEP_DECOMPRESS;
 	if (f2fs_need_verity(inode, first_idx))
 		post_read_steps |= 1 << STEP_VERITY;
 
 	if (post_read_steps) {
+		/* Due to the mempool, this never fails. */
 		ctx = mempool_alloc(bio_post_read_ctx_pool, GFP_NOFS);
-		if (!ctx) {
-			bio_put(bio);
-			return ERR_PTR(-ENOMEM);
-		}
 		ctx->bio = bio;
+		ctx->sbi = sbi;
 		ctx->enabled_steps = post_read_steps;
 		bio->bi_private = ctx;
 	}
@@ -902,6 +1048,13 @@
 	return bio;
 }
 
+static void f2fs_release_read_bio(struct bio *bio)
+{
+	if (bio->bi_private)
+		mempool_free(bio->bi_private, bio_post_read_ctx_pool);
+	bio_put(bio);
+}
+
 /* This can handle encryption stuffs */
 static int f2fs_submit_page_read(struct inode *inode, struct page *page,
 							block_t blkaddr)
@@ -1267,19 +1420,6 @@
 	int err = 0;
 	bool direct_io = iocb->ki_flags & IOCB_DIRECT;
 
-	/* convert inline data for Direct I/O*/
-	if (direct_io) {
-		err = f2fs_convert_inline_inode(inode);
-		if (err)
-			return err;
-	}
-
-	if (direct_io && allow_outplace_dio(inode, iocb, from))
-		return 0;
-
-	if (is_inode_flag_set(inode, FI_NO_PREALLOC))
-		return 0;
-
 	map.m_lblk = F2FS_BLK_ALIGN(iocb->ki_pos);
 	map.m_len = F2FS_BYTES_TO_BLK(iocb->ki_pos + iov_iter_count(from));
 	if (map.m_len > map.m_lblk)
@@ -1959,6 +2099,145 @@
 	return ret;
 }
 
+#ifdef CONFIG_F2FS_FS_COMPRESSION
+int f2fs_read_multi_pages(struct compress_ctx *cc, struct bio **bio_ret,
+				unsigned nr_pages, sector_t *last_block_in_bio,
+				bool is_readahead)
+{
+	struct dnode_of_data dn;
+	struct inode *inode = cc->inode;
+	struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
+	struct bio *bio = *bio_ret;
+	unsigned int start_idx = cc->cluster_idx << cc->log_cluster_size;
+	sector_t last_block_in_file;
+	const unsigned blkbits = inode->i_blkbits;
+	const unsigned blocksize = 1 << blkbits;
+	struct decompress_io_ctx *dic = NULL;
+	int i;
+	int ret = 0;
+
+	f2fs_bug_on(sbi, f2fs_cluster_is_empty(cc));
+
+	last_block_in_file = (i_size_read(inode) + blocksize - 1) >> blkbits;
+
+	/* get rid of pages beyond EOF */
+	for (i = 0; i < cc->cluster_size; i++) {
+		struct page *page = cc->rpages[i];
+
+		if (!page)
+			continue;
+		if ((sector_t)page->index >= last_block_in_file) {
+			zero_user_segment(page, 0, PAGE_SIZE);
+			if (!PageUptodate(page))
+				SetPageUptodate(page);
+		} else if (!PageUptodate(page)) {
+			continue;
+		}
+		unlock_page(page);
+		cc->rpages[i] = NULL;
+		cc->nr_rpages--;
+	}
+
+	/* we are done since all pages are beyond EOF */
+	if (f2fs_cluster_is_empty(cc))
+		goto out;
+
+	set_new_dnode(&dn, inode, NULL, NULL, 0);
+	ret = f2fs_get_dnode_of_data(&dn, start_idx, LOOKUP_NODE);
+	if (ret)
+		goto out;
+
+	/* cluster was overwritten as normal cluster */
+	if (dn.data_blkaddr != COMPRESS_ADDR)
+		goto out;
+
+	for (i = 1; i < cc->cluster_size; i++) {
+		block_t blkaddr;
+
+		blkaddr = datablock_addr(dn.inode, dn.node_page,
+						dn.ofs_in_node + i);
+
+		if (!__is_valid_data_blkaddr(blkaddr))
+			break;
+
+		if (!f2fs_is_valid_blkaddr(sbi, blkaddr, DATA_GENERIC)) {
+			ret = -EFAULT;
+			goto out_put_dnode;
+		}
+		cc->nr_cpages++;
+	}
+
+	/* nothing to decompress */
+	if (cc->nr_cpages == 0) {
+		ret = 0;
+		goto out_put_dnode;
+	}
+
+	dic = f2fs_alloc_dic(cc);
+	if (IS_ERR(dic)) {
+		ret = PTR_ERR(dic);
+		goto out_put_dnode;
+	}
+
+	for (i = 0; i < dic->nr_cpages; i++) {
+		struct page *page = dic->cpages[i];
+		block_t blkaddr;
+
+		blkaddr = datablock_addr(dn.inode, dn.node_page,
+						dn.ofs_in_node + i + 1);
+
+		if (bio && (!page_is_mergeable(sbi, bio,
+					*last_block_in_bio, blkaddr) ||
+		    !f2fs_crypt_mergeable_bio(bio, inode, page->index, NULL))) {
+submit_and_realloc:
+			__submit_bio(sbi, bio, DATA);
+			bio = NULL;
+		}
+
+		if (!bio) {
+			bio = f2fs_grab_read_bio(inode, blkaddr, nr_pages,
+					is_readahead ? REQ_RAHEAD : 0,
+					page->index);
+			if (IS_ERR(bio)) {
+				ret = PTR_ERR(bio);
+				bio = NULL;
+				dic->failed = true;
+				if (refcount_sub_and_test(dic->nr_cpages - i,
+							&dic->ref))
+					f2fs_decompress_end_io(dic->rpages,
+							cc->cluster_size, true,
+							false);
+				f2fs_free_dic(dic);
+				f2fs_put_dnode(&dn);
+				*bio_ret = bio;
+				return ret;
+			}
+		}
+
+		f2fs_wait_on_block_writeback(inode, blkaddr);
+
+		if (bio_add_page(bio, page, blocksize, 0) < blocksize)
+			goto submit_and_realloc;
+
+		inc_page_count(sbi, F2FS_RD_DATA);
+		ClearPageError(page);
+		*last_block_in_bio = blkaddr;
+	}
+
+	f2fs_put_dnode(&dn);
+
+	*bio_ret = bio;
+	return 0;
+
+out_put_dnode:
+	f2fs_put_dnode(&dn);
+out:
+	f2fs_decompress_end_io(cc->rpages, cc->cluster_size, true, false);
+	*bio_ret = bio;
+	return ret;
+}
+#endif
+
 /*
  * This function was originally taken from fs/mpage.c, and customized for f2fs.
  * Major change was from block_size == page_size in f2fs by default.
@@ -1968,7 +2247,7 @@
  * use ->readpage() or do the necessary surgery to decouple ->readpages()
  * from read-ahead.
  */
-static int f2fs_mpage_readpages(struct address_space *mapping,
+int f2fs_mpage_readpages(struct address_space *mapping,
 			struct list_head *pages, struct page *page,
 			unsigned nr_pages, bool is_readahead)
 {
@@ -1976,6 +2255,19 @@
 	sector_t last_block_in_bio = 0;
 	struct inode *inode = mapping->host;
 	struct f2fs_map_blocks map;
+#ifdef CONFIG_F2FS_FS_COMPRESSION
+	struct compress_ctx cc = {
+		.inode = inode,
+		.log_cluster_size = F2FS_I(inode)->i_log_cluster_size,
+		.cluster_size = F2FS_I(inode)->i_cluster_size,
+		.cluster_idx = NULL_CLUSTER,
+		.rpages = NULL,
+		.cpages = NULL,
+		.nr_rpages = 0,
+		.nr_cpages = 0,
+	};
+#endif
+	unsigned max_nr_pages = nr_pages;
 	int ret = 0;
 
 	map.m_pblk = 0;
@@ -1999,9 +2291,41 @@
 				goto next_page;
 		}
 
-		ret = f2fs_read_single_page(inode, page, nr_pages, &map, &bio,
-					&last_block_in_bio, is_readahead);
+#ifdef CONFIG_F2FS_FS_COMPRESSION
+		if (f2fs_compressed_file(inode)) {
+			/* there are remained comressed pages, submit them */
+			if (!f2fs_cluster_can_merge_page(&cc, page->index)) {
+				ret = f2fs_read_multi_pages(&cc, &bio,
+							max_nr_pages,
+							&last_block_in_bio,
+							is_readahead);
+				f2fs_destroy_compress_ctx(&cc);
+				if (ret)
+					goto set_error_page;
+			}
+			ret = f2fs_is_compressed_cluster(inode, page->index);
+			if (ret < 0)
+				goto set_error_page;
+			else if (!ret)
+				goto read_single_page;
+
+			ret = f2fs_init_compress_ctx(&cc);
+			if (ret)
+				goto set_error_page;
+
+			f2fs_compress_ctx_add_page(&cc, page);
+
+			goto next_page;
+		}
+read_single_page:
+#endif
+
+		ret = f2fs_read_single_page(inode, page, max_nr_pages, &map,
+					&bio, &last_block_in_bio, is_readahead);
 		if (ret) {
+#ifdef CONFIG_F2FS_FS_COMPRESSION
+set_error_page:
+#endif
 			SetPageError(page);
 			zero_user_segment(page, 0, PAGE_SIZE);
 			unlock_page(page);
@@ -2010,6 +2334,19 @@
 next_page:
 		if (pages)
 			put_page(page);
+
+#ifdef CONFIG_F2FS_FS_COMPRESSION
+		if (f2fs_compressed_file(inode)) {
+			/* last page */
+			if (nr_pages == 1 && !f2fs_cluster_is_empty(&cc)) {
+				ret = f2fs_read_multi_pages(&cc, &bio,
+							max_nr_pages,
+							&last_block_in_bio,
+							is_readahead);
+				f2fs_destroy_compress_ctx(&cc);
+			}
+		}
+#endif
 	}
 	BUG_ON(pages && !list_empty(pages));
 	if (bio)
@@ -2024,6 +2361,11 @@
 
 	trace_f2fs_readpage(page, DATA);
 
+	if (!f2fs_is_compress_backend_ready(inode)) {
+		unlock_page(page);
+		return -EOPNOTSUPP;
+	}
+
 	/* If the file has inline data, try to read it directly */
 	if (f2fs_has_inline_data(inode))
 		ret = f2fs_read_inline_data(inode, page);
@@ -2042,6 +2384,9 @@
 
 	trace_f2fs_readpages(inode, page, nr_pages);
 
+	if (!f2fs_is_compress_backend_ready(inode))
+		return 0;
+
 	/* If the file has inline data, skip readpages */
 	if (f2fs_has_inline_data(inode))
 		return 0;
@@ -2049,15 +2394,17 @@
 	return f2fs_mpage_readpages(mapping, pages, NULL, nr_pages, true);
 }
 
-static int encrypt_one_page(struct f2fs_io_info *fio)
+int f2fs_encrypt_one_page(struct f2fs_io_info *fio)
 {
 	struct inode *inode = fio->page->mapping->host;
-	struct page *mpage;
+	struct page *mpage, *page;
 	gfp_t gfp_flags = GFP_NOFS;
 
 	if (!f2fs_encrypted_file(inode))
 		return 0;
 
+	page = fio->compressed_page ? fio->compressed_page : fio->page;
+
 	/* wait for GCed page writeback via META_MAPPING */
 	f2fs_wait_on_block_writeback(inode, fio->old_blkaddr);
 
@@ -2065,10 +2412,8 @@
 		return 0;
 
 retry_encrypt:
-
-	fio->encrypted_page = fscrypt_encrypt_pagecache_blocks(fio->page,
-							       PAGE_SIZE, 0,
-							       gfp_flags);
+	fio->encrypted_page = fscrypt_encrypt_pagecache_blocks(page,
+					PAGE_SIZE, 0, gfp_flags);
 	if (IS_ERR(fio->encrypted_page)) {
 		/* flush pending IOs and wait for a while in the ENOMEM case */
 		if (PTR_ERR(fio->encrypted_page) == -ENOMEM) {
@@ -2228,7 +2573,7 @@
 	if (ipu_force ||
 		(__is_valid_data_blkaddr(fio->old_blkaddr) &&
 					need_inplace_update(fio))) {
-		err = encrypt_one_page(fio);
+		err = f2fs_encrypt_one_page(fio);
 		if (err)
 			goto out_writepage;
 
@@ -2264,13 +2609,16 @@
 
 	fio->version = ni.version;
 
-	err = encrypt_one_page(fio);
+	err = f2fs_encrypt_one_page(fio);
 	if (err)
 		goto out_writepage;
 
 	set_page_writeback(page);
 	ClearPageError(page);
 
+	if (fio->compr_blocks && fio->old_blkaddr == COMPRESS_ADDR)
+		f2fs_i_compr_blocks_update(inode, fio->compr_blocks - 1, false);
+
 	/* LFS mode write path */
 	f2fs_outplace_write_data(&dn, fio);
 	trace_f2fs_do_write_data_page(page, OPU);
@@ -2285,16 +2633,17 @@
 	return err;
 }
 
-static int __write_data_page(struct page *page, bool *submitted,
+int f2fs_write_single_data_page(struct page *page, int *submitted,
 				struct bio **bio,
 				sector_t *last_block,
 				struct writeback_control *wbc,
-				enum iostat_type io_type)
+				enum iostat_type io_type,
+				int compr_blocks)
 {
 	struct inode *inode = page->mapping->host;
 	struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
 	loff_t i_size = i_size_read(inode);
-	const pgoff_t end_index = ((unsigned long long) i_size)
+	const pgoff_t end_index = ((unsigned long long)i_size)
 							>> PAGE_SHIFT;
 	loff_t psize = (loff_t)(page->index + 1) << PAGE_SHIFT;
 	unsigned offset = 0;
@@ -2310,6 +2659,7 @@
 		.page = page,
 		.encrypted_page = NULL,
 		.submitted = false,
+		.compr_blocks = compr_blocks,
 		.need_lock = LOCK_RETRY,
 		.io_type = io_type,
 		.io_wbc = wbc,
@@ -2334,7 +2684,9 @@
 	if (unlikely(is_sbi_flag_set(sbi, SBI_POR_DOING)))
 		goto redirty_out;
 
-	if (page->index < end_index || f2fs_verity_in_progress(inode))
+	if (page->index < end_index ||
+			f2fs_verity_in_progress(inode) ||
+			compr_blocks)
 		goto write;
 
 	/*
@@ -2410,7 +2762,6 @@
 		f2fs_remove_dirty_inode(inode);
 		submitted = NULL;
 	}
-
 	unlock_page(page);
 	if (!S_ISDIR(inode->i_mode) && !IS_NOQUOTA(inode) &&
 					!F2FS_I(inode)->cp_task)
@@ -2423,7 +2774,7 @@
 	}
 
 	if (submitted)
-		*submitted = fio.submitted;
+		*submitted = fio.submitted ? 1 : 0;
 
 	return 0;
 
@@ -2444,7 +2795,23 @@
 static int f2fs_write_data_page(struct page *page,
 					struct writeback_control *wbc)
 {
-	return __write_data_page(page, NULL, NULL, NULL, wbc, FS_DATA_IO);
+#ifdef CONFIG_F2FS_FS_COMPRESSION
+	struct inode *inode = page->mapping->host;
+
+	if (unlikely(f2fs_cp_error(F2FS_I_SB(inode))))
+		goto out;
+
+	if (f2fs_compressed_file(inode)) {
+		if (f2fs_is_compressed_cluster(inode, page->index)) {
+			redirty_page_for_writepage(wbc, page);
+			return AOP_WRITEPAGE_ACTIVATE;
+		}
+	}
+out:
+#endif
+
+	return f2fs_write_single_data_page(page, NULL, NULL, NULL,
+						wbc, FS_DATA_IO, 0);
 }
 
 /*
@@ -2457,11 +2824,27 @@
 					enum iostat_type io_type)
 {
 	int ret = 0;
-	int done = 0;
+	int done = 0, retry = 0;
 	struct pagevec pvec;
 	struct f2fs_sb_info *sbi = F2FS_M_SB(mapping);
 	struct bio *bio = NULL;
 	sector_t last_block;
+#ifdef CONFIG_F2FS_FS_COMPRESSION
+	struct inode *inode = mapping->host;
+	struct compress_ctx cc = {
+		.inode = inode,
+		.log_cluster_size = F2FS_I(inode)->i_log_cluster_size,
+		.cluster_size = F2FS_I(inode)->i_cluster_size,
+		.cluster_idx = NULL_CLUSTER,
+		.rpages = NULL,
+		.nr_rpages = 0,
+		.cpages = NULL,
+		.rbuf = NULL,
+		.cbuf = NULL,
+		.rlen = PAGE_SIZE * F2FS_I(inode)->i_cluster_size,
+		.private = NULL,
+	};
+#endif
 	int nr_pages;
 	pgoff_t uninitialized_var(writeback_index);
 	pgoff_t index;
@@ -2471,6 +2854,8 @@
 	int range_whole = 0;
 	int tag;
 	int nwritten = 0;
+	int submitted = 0;
+	int i;
 
 	pagevec_init(&pvec);
 
@@ -2500,12 +2885,11 @@
 	else
 		tag = PAGECACHE_TAG_DIRTY;
 retry:
+	retry = 0;
 	if (wbc->sync_mode == WB_SYNC_ALL || wbc->tagged_writepages)
 		tag_pages_for_writeback(mapping, index, end);
 	done_index = index;
-	while (!done && (index <= end)) {
-		int i;
-
+	while (!done && !retry && (index <= end)) {
 		nr_pages = pagevec_lookup_range_tag(&pvec, mapping, &index, end,
 				tag);
 		if (nr_pages == 0)
@@ -2513,15 +2897,62 @@
 
 		for (i = 0; i < nr_pages; i++) {
 			struct page *page = pvec.pages[i];
-			bool submitted = false;
+			bool need_readd;
+readd:
+			need_readd = false;
+#ifdef CONFIG_F2FS_FS_COMPRESSION
+			if (f2fs_compressed_file(inode)) {
+				ret = f2fs_init_compress_ctx(&cc);
+				if (ret) {
+					done = 1;
+					break;
+				}
 
+				if (!f2fs_cluster_can_merge_page(&cc,
+								page->index)) {
+					ret = f2fs_write_multi_pages(&cc,
+						&submitted, wbc, io_type);
+					if (!ret)
+						need_readd = true;
+					goto result;
+				}
+
+				if (unlikely(f2fs_cp_error(sbi)))
+					goto lock_page;
+
+				if (f2fs_cluster_is_empty(&cc)) {
+					void *fsdata = NULL;
+					struct page *pagep;
+					int ret2;
+
+					ret2 = f2fs_prepare_compress_overwrite(
+							inode, &pagep,
+							page->index, &fsdata);
+					if (ret2 < 0) {
+						ret = ret2;
+						done = 1;
+						break;
+					} else if (ret2 &&
+						!f2fs_compress_write_end(inode,
+								fsdata, page->index,
+								1)) {
+						retry = 1;
+						break;
+					}
+				} else {
+					goto lock_page;
+				}
+			}
+#endif
 			/* give a priority to WB_SYNC threads */
 			if (atomic_read(&sbi->wb_sync_req[DATA]) &&
 					wbc->sync_mode == WB_SYNC_NONE) {
 				done = 1;
 				break;
 			}
-
+#ifdef CONFIG_F2FS_FS_COMPRESSION
+lock_page:
+#endif
 			done_index = page->index;
 retry_write:
 			lock_page(page);
@@ -2548,45 +2979,71 @@
 			if (!clear_page_dirty_for_io(page))
 				goto continue_unlock;
 
-			ret = __write_data_page(page, &submitted, &bio,
-					&last_block, wbc, io_type);
+#ifdef CONFIG_F2FS_FS_COMPRESSION
+			if (f2fs_compressed_file(inode)) {
+				get_page(page);
+				f2fs_compress_ctx_add_page(&cc, page);
+				continue;
+			}
+#endif
+			ret = f2fs_write_single_data_page(page, &submitted,
+					&bio, &last_block, wbc, io_type, 0);
+			if (ret == AOP_WRITEPAGE_ACTIVATE)
+				unlock_page(page);
+#ifdef CONFIG_F2FS_FS_COMPRESSION
+result:
+#endif
+			nwritten += submitted;
+			wbc->nr_to_write -= submitted;
+
 			if (unlikely(ret)) {
 				/*
 				 * keep nr_to_write, since vfs uses this to
 				 * get # of written pages.
 				 */
 				if (ret == AOP_WRITEPAGE_ACTIVATE) {
-					unlock_page(page);
 					ret = 0;
-					continue;
+					goto next;
 				} else if (ret == -EAGAIN) {
 					ret = 0;
 					if (wbc->sync_mode == WB_SYNC_ALL) {
 						cond_resched();
 						congestion_wait(BLK_RW_ASYNC,
-									HZ/50);
+								HZ/50);
 						goto retry_write;
 					}
-					continue;
+					goto next;
 				}
 				done_index = page->index + 1;
 				done = 1;
 				break;
-			} else if (submitted) {
-				nwritten++;
 			}
 
-			if (--wbc->nr_to_write <= 0 &&
+			if (wbc->nr_to_write <= 0 &&
 					wbc->sync_mode == WB_SYNC_NONE) {
 				done = 1;
 				break;
 			}
+next:
+			if (need_readd)
+				goto readd;
 		}
 		pagevec_release(&pvec);
 		cond_resched();
 	}
-
-	if (!cycled && !done) {
+#ifdef CONFIG_F2FS_FS_COMPRESSION
+	/* flush remained pages in compress cluster */
+	if (f2fs_compressed_file(inode) && !f2fs_cluster_is_empty(&cc)) {
+		ret = f2fs_write_multi_pages(&cc, &submitted, wbc, io_type);
+		nwritten += submitted;
+		wbc->nr_to_write -= submitted;
+		if (ret) {
+			done = 1;
+			retry = 0;
+		}
+	}
+#endif
+	if ((!cycled && !done) || retry) {
 		cycled = 1;
 		index = 0;
 		end = writeback_index - 1;
@@ -2610,6 +3067,8 @@
 {
 	if (!S_ISREG(inode->i_mode))
 		return false;
+	if (f2fs_compressed_file(inode))
+		return true;
 	if (IS_NOQUOTA(inode))
 		return false;
 	/* to avoid deadlock in path of data flush */
@@ -2705,14 +3164,16 @@
 	struct inode *inode = mapping->host;
 	loff_t i_size = i_size_read(inode);
 
+	if (IS_NOQUOTA(inode))
+		return;
+
 	/* In the fs-verity case, f2fs_end_enable_verity() does the truncate */
 	if (to > i_size && !f2fs_verity_in_progress(inode)) {
 		down_write(&F2FS_I(inode)->i_gc_rwsem[WRITE]);
 		down_write(&F2FS_I(inode)->i_mmap_sem);
 
 		truncate_pagecache(inode, i_size);
-		if (!IS_NOQUOTA(inode))
-			f2fs_truncate_blocks(inode, i_size, true);
+		f2fs_truncate_blocks(inode, i_size, true);
 
 		up_write(&F2FS_I(inode)->i_mmap_sem);
 		up_write(&F2FS_I(inode)->i_gc_rwsem[WRITE]);
@@ -2752,6 +3213,7 @@
 		__do_map_lock(sbi, flag, true);
 		locked = true;
 	}
+
 restart:
 	/* check inline_data */
 	ipage = f2fs_get_node_page(sbi, inode->i_ino);
@@ -2852,6 +3314,24 @@
 		if (err)
 			goto fail;
 	}
+
+#ifdef CONFIG_F2FS_FS_COMPRESSION
+	if (f2fs_compressed_file(inode)) {
+		int ret;
+
+		*fsdata = NULL;
+
+		ret = f2fs_prepare_compress_overwrite(inode, pagep,
+							index, fsdata);
+		if (ret < 0) {
+			err = ret;
+			goto fail;
+		} else if (ret) {
+			return 0;
+		}
+	}
+#endif
+
 repeat:
 	/*
 	 * Do not use grab_cache_page_write_begin() to avoid deadlock due to
@@ -2864,6 +3344,8 @@
 		goto fail;
 	}
 
+	/* TODO: cluster can be compressed due to race with .writepage */
+
 	*pagep = page;
 
 	err = prepare_write_begin(sbi, page, pos, len,
@@ -2948,6 +3430,16 @@
 		else
 			SetPageUptodate(page);
 	}
+
+#ifdef CONFIG_F2FS_FS_COMPRESSION
+	/* overwrite compressed file */
+	if (f2fs_compressed_file(inode) && fsdata) {
+		f2fs_compress_write_end(inode, fsdata, page->index, copied);
+		f2fs_update_time(F2FS_I_SB(inode), REQ_TIME);
+		return copied;
+	}
+#endif
+
 	if (!copied)
 		goto unlock_out;
 
@@ -3278,7 +3770,8 @@
 
 #ifdef CONFIG_SWAP
 /* Copied from generic_swapfile_activate() to check any holes */
-static int check_swap_activate(struct file *swap_file, unsigned int max)
+static int check_swap_activate(struct swap_info_struct *sis,
+				struct file *swap_file, sector_t *span)
 {
 	struct address_space *mapping = swap_file->f_mapping;
 	struct inode *inode = mapping->host;
@@ -3289,6 +3782,8 @@
 	sector_t last_block;
 	sector_t lowest_block = -1;
 	sector_t highest_block = 0;
+	int nr_extents = 0;
+	int ret;
 
 	blkbits = inode->i_blkbits;
 	blocks_per_page = PAGE_SIZE >> blkbits;
@@ -3300,7 +3795,8 @@
 	probe_block = 0;
 	page_no = 0;
 	last_block = i_size_read(inode) >> blkbits;
-	while ((probe_block + blocks_per_page) <= last_block && page_no < max) {
+	while ((probe_block + blocks_per_page) <= last_block &&
+			page_no < sis->max) {
 		unsigned block_in_page;
 		sector_t first_block;
 
@@ -3340,13 +3836,27 @@
 				highest_block = first_block;
 		}
 
+		/*
+		 * We found a PAGE_SIZE-length, PAGE_SIZE-aligned run of blocks
+		 */
+		ret = add_swap_extent(sis, page_no, 1, first_block);
+		if (ret < 0)
+			goto out;
+		nr_extents += ret;
 		page_no++;
 		probe_block += blocks_per_page;
 reprobe:
 		continue;
 	}
-	return 0;
-
+	ret = nr_extents;
+	*span = 1 + highest_block - lowest_block;
+	if (page_no == 0)
+		page_no = 1;	/* force Empty message */
+	sis->max = page_no;
+	sis->pages = page_no - 1;
+	sis->highest_bit = page_no - 1;
+out:
+	return ret;
 bad_bmap:
 	pr_err("swapon: swapfile has holes\n");
 	return -EINVAL;
@@ -3368,14 +3878,17 @@
 	if (ret)
 		return ret;
 
-	ret = check_swap_activate(file, sis->max);
-	if (ret)
+	if (f2fs_disable_compressed_file(inode))
+		return -EINVAL;
+
+	ret = check_swap_activate(sis, file, span);
+	if (ret < 0)
 		return ret;
 
 	set_inode_flag(inode, FI_PIN_FILE);
 	f2fs_precache_extents(inode);
 	f2fs_update_time(F2FS_I_SB(inode), REQ_TIME);
-	return 0;
+	return ret;
 }
 
 static void f2fs_swap_deactivate(struct file *file)
@@ -3452,6 +3965,27 @@
 	kmem_cache_destroy(bio_post_read_ctx_cache);
 }
 
+int f2fs_init_post_read_wq(struct f2fs_sb_info *sbi)
+{
+	if (!f2fs_sb_has_encrypt(sbi) &&
+		!f2fs_sb_has_verity(sbi) &&
+		!f2fs_sb_has_compression(sbi))
+		return 0;
+
+	sbi->post_read_wq = alloc_workqueue("f2fs_post_read_wq",
+						 WQ_UNBOUND | WQ_HIGHPRI,
+						 num_online_cpus());
+	if (!sbi->post_read_wq)
+		return -ENOMEM;
+	return 0;
+}
+
+void f2fs_destroy_post_read_wq(struct f2fs_sb_info *sbi)
+{
+	if (sbi->post_read_wq)
+		destroy_workqueue(sbi->post_read_wq);
+}
+
 int __init f2fs_init_bio_entry_cache(void)
 {
 	bio_entry_slab = f2fs_kmem_cache_create("bio_entry_slab",
@@ -3461,7 +3995,7 @@
 	return 0;
 }
 
-void __exit f2fs_destroy_bio_entry_cache(void)
+void f2fs_destroy_bio_entry_cache(void)
 {
 	kmem_cache_destroy(bio_entry_slab);
 }
diff --git a/fs/f2fs/debug.c b/fs/f2fs/debug.c
index 9b0bedd..6b89eae 100644
--- a/fs/f2fs/debug.c
+++ b/fs/f2fs/debug.c
@@ -21,9 +21,45 @@
 #include "gc.h"
 
 static LIST_HEAD(f2fs_stat_list);
-static struct dentry *f2fs_debugfs_root;
 static DEFINE_MUTEX(f2fs_stat_mutex);
+#ifdef CONFIG_DEBUG_FS
+static struct dentry *f2fs_debugfs_root;
+#endif
 
+/*
+ * This function calculates BDF of every segments
+ */
+void f2fs_update_sit_info(struct f2fs_sb_info *sbi)
+{
+	struct f2fs_stat_info *si = F2FS_STAT(sbi);
+	unsigned long long blks_per_sec, hblks_per_sec, total_vblocks;
+	unsigned long long bimodal, dist;
+	unsigned int segno, vblocks;
+	int ndirty = 0;
+
+	bimodal = 0;
+	total_vblocks = 0;
+	blks_per_sec = BLKS_PER_SEC(sbi);
+	hblks_per_sec = blks_per_sec / 2;
+	for (segno = 0; segno < MAIN_SEGS(sbi); segno += sbi->segs_per_sec) {
+		vblocks = get_valid_blocks(sbi, segno, true);
+		dist = abs(vblocks - hblks_per_sec);
+		bimodal += dist * dist;
+
+		if (vblocks > 0 && vblocks < blks_per_sec) {
+			total_vblocks += vblocks;
+			ndirty++;
+		}
+	}
+	dist = div_u64(MAIN_SECS(sbi) * hblks_per_sec * hblks_per_sec, 100);
+	si->bimodal = div64_u64(bimodal, dist);
+	if (si->dirty_count)
+		si->avg_vblocks = div_u64(total_vblocks, ndirty);
+	else
+		si->avg_vblocks = 0;
+}
+
+#ifdef CONFIG_DEBUG_FS
 static void update_general_status(struct f2fs_sb_info *sbi)
 {
 	struct f2fs_stat_info *si = F2FS_STAT(sbi);
@@ -56,7 +92,7 @@
 	si->nquota_files = sbi->nquota_files;
 	si->ndirty_all = sbi->ndirty_inode[DIRTY_META];
 	si->inmem_pages = get_pages(sbi, F2FS_INMEM_PAGES);
-	si->aw_cnt = atomic_read(&sbi->aw_cnt);
+	si->aw_cnt = sbi->atomic_files;
 	si->vw_cnt = atomic_read(&sbi->vw_cnt);
 	si->max_aw_cnt = atomic_read(&sbi->max_aw_cnt);
 	si->max_vw_cnt = atomic_read(&sbi->max_vw_cnt);
@@ -94,6 +130,8 @@
 	si->inline_xattr = atomic_read(&sbi->inline_xattr);
 	si->inline_inode = atomic_read(&sbi->inline_inode);
 	si->inline_dir = atomic_read(&sbi->inline_dir);
+	si->compr_inode = atomic_read(&sbi->compr_inode);
+	si->compr_blocks = atomic_read(&sbi->compr_blocks);
 	si->append = sbi->im[APPEND_INO].ino_num;
 	si->update = sbi->im[UPDATE_INO].ino_num;
 	si->orphans = sbi->im[ORPHAN_INO].ino_num;
@@ -114,7 +152,6 @@
 	si->free_nids = NM_I(sbi)->nid_cnt[FREE_NID];
 	si->avail_nids = NM_I(sbi)->available_nids;
 	si->alloc_nids = NM_I(sbi)->nid_cnt[PREALLOC_NID];
-	si->bg_gc = sbi->bg_gc;
 	si->io_skip_bggc = sbi->io_skip_bggc;
 	si->other_skip_bggc = sbi->other_skip_bggc;
 	si->skipped_atomic_files[BG_GC] = sbi->skipped_atomic_files[BG_GC];
@@ -146,39 +183,6 @@
 }
 
 /*
- * This function calculates BDF of every segments
- */
-static void update_sit_info(struct f2fs_sb_info *sbi)
-{
-	struct f2fs_stat_info *si = F2FS_STAT(sbi);
-	unsigned long long blks_per_sec, hblks_per_sec, total_vblocks;
-	unsigned long long bimodal, dist;
-	unsigned int segno, vblocks;
-	int ndirty = 0;
-
-	bimodal = 0;
-	total_vblocks = 0;
-	blks_per_sec = BLKS_PER_SEC(sbi);
-	hblks_per_sec = blks_per_sec / 2;
-	for (segno = 0; segno < MAIN_SEGS(sbi); segno += sbi->segs_per_sec) {
-		vblocks = get_valid_blocks(sbi, segno, true);
-		dist = abs(vblocks - hblks_per_sec);
-		bimodal += dist * dist;
-
-		if (vblocks > 0 && vblocks < blks_per_sec) {
-			total_vblocks += vblocks;
-			ndirty++;
-		}
-	}
-	dist = div_u64(MAIN_SECS(sbi) * hblks_per_sec * hblks_per_sec, 100);
-	si->bimodal = div64_u64(bimodal, dist);
-	if (si->dirty_count)
-		si->avg_vblocks = div_u64(total_vblocks, ndirty);
-	else
-		si->avg_vblocks = 0;
-}
-
-/*
  * This function calculates memory footprint.
  */
 static void update_mem_info(struct f2fs_sb_info *sbi)
@@ -315,6 +319,8 @@
 			   si->inline_inode);
 		seq_printf(s, "  - Inline_dentry Inode: %u\n",
 			   si->inline_dir);
+		seq_printf(s, "  - Compressed Inode: %u, Blocks: %u\n",
+			   si->compr_inode, si->compr_blocks);
 		seq_printf(s, "  - Orphan/Append/Update Inode: %u, %u, %u\n",
 			   si->orphans, si->append, si->update);
 		seq_printf(s, "\nMain area: %d segs, %d secs %d zones\n",
@@ -441,7 +447,7 @@
 			   si->block_count[LFS], si->segment_count[LFS]);
 
 		/* segment usage info */
-		update_sit_info(si->sbi);
+		f2fs_update_sit_info(si->sbi);
 		seq_printf(s, "\nBDF: %u, avg. vblocks: %u\n",
 			   si->bimodal, si->avg_vblocks);
 
@@ -461,6 +467,7 @@
 }
 
 DEFINE_SHOW_ATTRIBUTE(stat);
+#endif
 
 int f2fs_build_stats(struct f2fs_sb_info *sbi)
 {
@@ -491,11 +498,12 @@
 	atomic_set(&sbi->inline_xattr, 0);
 	atomic_set(&sbi->inline_inode, 0);
 	atomic_set(&sbi->inline_dir, 0);
+	atomic_set(&sbi->compr_inode, 0);
+	atomic_set(&sbi->compr_blocks, 0);
 	atomic_set(&sbi->inplace_count, 0);
 	for (i = META_CP; i < META_MAX; i++)
 		atomic_set(&sbi->meta_count[i], 0);
 
-	atomic_set(&sbi->aw_cnt, 0);
 	atomic_set(&sbi->vw_cnt, 0);
 	atomic_set(&sbi->max_aw_cnt, 0);
 	atomic_set(&sbi->max_vw_cnt, 0);
@@ -520,14 +528,18 @@
 
 void __init f2fs_create_root_stats(void)
 {
+#ifdef CONFIG_DEBUG_FS
 	f2fs_debugfs_root = debugfs_create_dir("f2fs", NULL);
 
 	debugfs_create_file("status", S_IRUGO, f2fs_debugfs_root, NULL,
 			    &stat_fops);
+#endif
 }
 
 void f2fs_destroy_root_stats(void)
 {
+#ifdef CONFIG_DEBUG_FS
 	debugfs_remove_recursive(f2fs_debugfs_root);
 	f2fs_debugfs_root = NULL;
+#endif
 }
diff --git a/fs/f2fs/dir.c b/fs/f2fs/dir.c
index dbb9f5a..8f83bfa 100644
--- a/fs/f2fs/dir.c
+++ b/fs/f2fs/dir.c
@@ -108,34 +108,52 @@
  * Test whether a case-insensitive directory entry matches the filename
  * being searched for.
  *
+ * Only called for encrypted names if the key is available.
+ *
  * Returns: 0 if the directory entry matches, more than 0 if it
  * doesn't match or less than zero on error.
  */
-int f2fs_ci_compare(const struct inode *parent, const struct qstr *name,
-				const struct qstr *entry, bool quick)
+static int f2fs_ci_compare(const struct inode *parent, const struct qstr *name,
+			   u8 *de_name, size_t de_name_len, bool quick)
 {
-	const struct f2fs_sb_info *sbi = F2FS_SB(parent->i_sb);
-	const struct unicode_map *um = sbi->s_encoding;
+	const struct super_block *sb = parent->i_sb;
+	const struct unicode_map *um = sb->s_encoding;
+	struct fscrypt_str decrypted_name = FSTR_INIT(NULL, de_name_len);
+	struct qstr entry = QSTR_INIT(de_name, de_name_len);
 	int ret;
 
-	if (quick)
-		ret = utf8_strncasecmp_folded(um, name, entry);
-	else
-		ret = utf8_strncasecmp(um, name, entry);
+	if (IS_ENCRYPTED(parent)) {
+		const struct fscrypt_str encrypted_name =
+				FSTR_INIT(de_name, de_name_len);
 
+		decrypted_name.name = kmalloc(de_name_len, GFP_KERNEL);
+		if (!decrypted_name.name)
+			return -ENOMEM;
+		ret = fscrypt_fname_disk_to_usr(parent, 0, 0, &encrypted_name,
+						&decrypted_name);
+		if (ret < 0)
+			goto out;
+		entry.name = decrypted_name.name;
+		entry.len = decrypted_name.len;
+	}
+
+	if (quick)
+		ret = utf8_strncasecmp_folded(um, name, &entry);
+	else
+		ret = utf8_strncasecmp(um, name, &entry);
 	if (ret < 0) {
 		/* Handle invalid character sequence as either an error
 		 * or as an opaque byte sequence.
 		 */
-		if (f2fs_has_strict_mode(sbi))
-			return -EINVAL;
-
-		if (name->len != entry->len)
-			return 1;
-
-		return !!memcmp(name->name, entry->name, name->len);
+		if (sb_has_enc_strict_mode(sb))
+			ret = -EINVAL;
+		else if (name->len != entry.len)
+			ret = 1;
+		else
+			ret = !!memcmp(name->name, entry.name, entry.len);
 	}
-
+out:
+	kfree(decrypted_name.name);
 	return ret;
 }
 
@@ -154,7 +172,7 @@
 	if (!cf_name->name)
 		return;
 
-	cf_name->len = utf8_casefold(sbi->s_encoding,
+	cf_name->len = utf8_casefold(dir->i_sb->s_encoding,
 					iname, cf_name->name,
 					F2FS_NAME_LEN);
 	if ((int)cf_name->len <= 0) {
@@ -173,24 +191,24 @@
 {
 #ifdef CONFIG_UNICODE
 	struct inode *parent = d->inode;
-	struct f2fs_sb_info *sbi = F2FS_I_SB(parent);
-	struct qstr entry;
+	u8 *name;
+	int len;
 #endif
 
 	if (de->hash_code != namehash)
 		return false;
 
 #ifdef CONFIG_UNICODE
-	entry.name = d->filename[bit_pos];
-	entry.len = de->name_len;
+	name = d->filename[bit_pos];
+	len = le16_to_cpu(de->name_len);
 
-	if (sbi->s_encoding && IS_CASEFOLDED(parent)) {
+	if (needs_casefold(parent)) {
 		if (cf_str->name) {
 			struct qstr cf = {.name = cf_str->name,
 					  .len = cf_str->len};
-			return !f2fs_ci_compare(parent, &cf, &entry, true);
+			return !f2fs_ci_compare(parent, &cf, name, len, true);
 		}
-		return !f2fs_ci_compare(parent, fname->usr_fname, &entry,
+		return !f2fs_ci_compare(parent, fname->usr_fname, name, len,
 					false);
 	}
 #endif
@@ -357,8 +375,8 @@
 	int err;
 
 #ifdef CONFIG_UNICODE
-	if (f2fs_has_strict_mode(F2FS_I_SB(dir)) && IS_CASEFOLDED(dir) &&
-			utf8_validate(F2FS_I_SB(dir)->s_encoding, child)) {
+	if (sb_has_enc_strict_mode(dir->i_sb) && IS_CASEFOLDED(dir) &&
+			utf8_validate(dir->i_sb->s_encoding, child)) {
 		*res_page = ERR_PTR(-EINVAL);
 		return NULL;
 	}
@@ -578,6 +596,20 @@
 	goto next;
 }
 
+bool f2fs_has_enough_room(struct inode *dir, struct page *ipage,
+					struct fscrypt_name *fname)
+{
+	struct f2fs_dentry_ptr d;
+	unsigned int bit_pos;
+	int slots = GET_DENTRY_SLOTS(fname_len(fname));
+
+	make_dentry_ptr_inline(dir, &d, inline_data_addr(dir, ipage));
+
+	bit_pos = f2fs_room_for_filename(d.bitmap, slots, d.max);
+
+	return bit_pos < d.max;
+}
+
 void f2fs_update_dentry(nid_t ino, umode_t mode, struct f2fs_dentry_ptr *d,
 				const struct qstr *name, f2fs_hash_t name_hash,
 				unsigned int bit_pos)
@@ -602,13 +634,13 @@
 
 int f2fs_add_regular_entry(struct inode *dir, const struct qstr *new_name,
 				const struct qstr *orig_name,
+				f2fs_hash_t dentry_hash,
 				struct inode *inode, nid_t ino, umode_t mode)
 {
 	unsigned int bit_pos;
 	unsigned int level;
 	unsigned int current_depth;
 	unsigned long bidx, block;
-	f2fs_hash_t dentry_hash;
 	unsigned int nbucket, nblock;
 	struct page *dentry_page = NULL;
 	struct f2fs_dentry_block *dentry_blk = NULL;
@@ -618,7 +650,6 @@
 
 	level = 0;
 	slots = GET_DENTRY_SLOTS(new_name->len);
-	dentry_hash = f2fs_dentry_hash(dir, new_name, NULL);
 
 	current_depth = F2FS_I(dir)->i_current_depth;
 	if (F2FS_I(dir)->chash == dentry_hash) {
@@ -704,17 +735,19 @@
 				struct inode *inode, nid_t ino, umode_t mode)
 {
 	struct qstr new_name;
+	f2fs_hash_t dentry_hash;
 	int err = -EAGAIN;
 
 	new_name.name = fname_name(fname);
 	new_name.len = fname_len(fname);
 
 	if (f2fs_has_inline_dentry(dir))
-		err = f2fs_add_inline_entry(dir, &new_name, fname->usr_fname,
+		err = f2fs_add_inline_entry(dir, &new_name, fname,
 							inode, ino, mode);
+	dentry_hash = f2fs_dentry_hash(dir, &new_name, fname);
 	if (err == -EAGAIN)
 		err = f2fs_add_regular_entry(dir, &new_name, fname->usr_fname,
-							inode, ino, mode);
+						dentry_hash, inode, ino, mode);
 
 	f2fs_update_time(F2FS_I_SB(dir), REQ_TIME);
 	return err;
@@ -987,7 +1020,7 @@
 
 	if (IS_ENCRYPTED(inode)) {
 		err = fscrypt_get_encryption_info(inode);
-		if (err && err != -ENOKEY)
+		if (err)
 			goto out;
 
 		err = fscrypt_fname_alloc_buffer(inode, F2FS_NAME_LEN, &fstr);
@@ -1063,50 +1096,3 @@
 	.compat_ioctl   = f2fs_compat_ioctl,
 #endif
 };
-
-#ifdef CONFIG_UNICODE
-static int f2fs_d_compare(const struct dentry *dentry, unsigned int len,
-			  const char *str, const struct qstr *name)
-{
-	struct qstr qstr = {.name = str, .len = len };
-
-	if (!IS_CASEFOLDED(dentry->d_parent->d_inode)) {
-		if (len != name->len)
-			return -1;
-		return memcmp(str, name, len);
-	}
-
-	return f2fs_ci_compare(dentry->d_parent->d_inode, name, &qstr, false);
-}
-
-static int f2fs_d_hash(const struct dentry *dentry, struct qstr *str)
-{
-	struct f2fs_sb_info *sbi = F2FS_SB(dentry->d_sb);
-	const struct unicode_map *um = sbi->s_encoding;
-	unsigned char *norm;
-	int len, ret = 0;
-
-	if (!IS_CASEFOLDED(dentry->d_inode))
-		return 0;
-
-	norm = f2fs_kmalloc(sbi, PATH_MAX, GFP_ATOMIC);
-	if (!norm)
-		return -ENOMEM;
-
-	len = utf8_casefold(um, str, norm, PATH_MAX);
-	if (len < 0) {
-		if (f2fs_has_strict_mode(sbi))
-			ret = -EINVAL;
-		goto out;
-	}
-	str->hash = full_name_hash(dentry, norm, len);
-out:
-	kvfree(norm);
-	return ret;
-}
-
-const struct dentry_operations f2fs_dentry_ops = {
-	.d_hash = f2fs_d_hash,
-	.d_compare = f2fs_d_compare,
-};
-#endif
diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
index 2297267..f8b4ae8 100644
--- a/fs/f2fs/f2fs.h
+++ b/fs/f2fs/f2fs.h
@@ -116,6 +116,8 @@
 			 */
 typedef u32 nid_t;
 
+#define COMPRESS_EXT_NUM		16
+
 struct f2fs_mount_info {
 	unsigned int opt;
 	int write_io_size_bits;		/* Write IO size bits */
@@ -143,6 +145,12 @@
 	block_t unusable_cap;		/* Amount of space allowed to be
 					 * unusable when disabling checkpoint
 					 */
+
+	/* For compression */
+	unsigned char compress_algorithm;	/* algorithm type */
+	unsigned compress_log_size;		/* cluster log size */
+	unsigned char compress_ext_cnt;		/* extension count */
+	unsigned char extensions[COMPRESS_EXT_NUM][F2FS_EXTENSION_LEN];	/* extensions */
 };
 
 #define F2FS_FEATURE_ENCRYPT		0x0001
@@ -158,6 +166,7 @@
 #define F2FS_FEATURE_VERITY		0x0400
 #define F2FS_FEATURE_SB_CHKSUM		0x0800
 #define F2FS_FEATURE_CASEFOLD		0x1000
+#define F2FS_FEATURE_COMPRESSION	0x2000
 
 #define __F2FS_HAS_FEATURE(raw_super, mask)				\
 	((raw_super->feature & cpu_to_le32(mask)) != 0)
@@ -715,6 +724,12 @@
 	int i_inline_xattr_size;	/* inline xattr size */
 	struct timespec64 i_crtime;	/* inode creation time */
 	struct timespec64 i_disk_time[4];/* inode disk times */
+
+	/* for file compress */
+	u64 i_compr_blocks;			/* # of compressed blocks */
+	unsigned char i_compress_algorithm;	/* algorithm type */
+	unsigned char i_log_cluster_size;	/* log of cluster size */
+	unsigned int i_cluster_size;		/* cluster size */
 };
 
 static inline void get_extent_info(struct extent_info *ext,
@@ -1021,6 +1036,7 @@
 enum cp_reason_type {
 	CP_NO_NEEDED,
 	CP_NON_REGULAR,
+	CP_COMPRESSED,
 	CP_HARDLINK,
 	CP_SB_NEED_CP,
 	CP_WRONG_PINO,
@@ -1059,12 +1075,15 @@
 	block_t old_blkaddr;	/* old block address before Cow */
 	struct page *page;	/* page to be written */
 	struct page *encrypted_page;	/* encrypted page */
+	struct page *compressed_page;	/* compressed page */
 	struct list_head list;		/* serialize IOs */
 	bool submitted;		/* indicate IO submission */
 	int need_lock;		/* indicate we need to lock cp_rwsem */
 	bool in_list;		/* indicate fio is in io_list */
 	bool is_por;		/* indicate IO is from recovery or not */
 	bool retry;		/* need to reallocate block address */
+	int compr_blocks;	/* # of compressed block addresses */
+	bool encrypted;		/* indicate file is encrypted */
 	enum iostat_type io_type;	/* io type */
 	struct writeback_control *io_wbc; /* writeback control */
 	struct bio **bio;		/* bio for ipu */
@@ -1172,6 +1191,18 @@
 	FSYNC_MODE_NOBARRIER,	/* fsync behaves nobarrier based on posix */
 };
 
+/*
+ * this value is set in page as a private data which indicate that
+ * the page is atomically written, and it is in inmem_pages list.
+ */
+#define ATOMIC_WRITTEN_PAGE		((unsigned long)-1)
+#define DUMMY_WRITTEN_PAGE		((unsigned long)-2)
+
+#define IS_ATOMIC_WRITTEN_PAGE(page)			\
+		(page_private(page) == (unsigned long)ATOMIC_WRITTEN_PAGE)
+#define IS_DUMMY_WRITTEN_PAGE(page)			\
+		(page_private(page) == (unsigned long)DUMMY_WRITTEN_PAGE)
+
 #ifdef CONFIG_FS_ENCRYPTION
 #define DUMMY_ENCRYPTION_ENABLED(sbi) \
 			(unlikely(F2FS_OPTION(sbi).test_dummy_encryption))
@@ -1179,6 +1210,75 @@
 #define DUMMY_ENCRYPTION_ENABLED(sbi) (0)
 #endif
 
+/* For compression */
+enum compress_algorithm_type {
+	COMPRESS_LZO,
+	COMPRESS_LZ4,
+	COMPRESS_MAX,
+};
+
+#define COMPRESS_DATA_RESERVED_SIZE		4
+struct compress_data {
+	__le32 clen;			/* compressed data size */
+	__le32 chksum;			/* checksum of compressed data */
+	__le32 reserved[COMPRESS_DATA_RESERVED_SIZE];	/* reserved */
+	u8 cdata[];			/* compressed data */
+};
+
+#define COMPRESS_HEADER_SIZE	(sizeof(struct compress_data))
+
+#define F2FS_COMPRESSED_PAGE_MAGIC	0xF5F2C000
+
+/* compress context */
+struct compress_ctx {
+	struct inode *inode;		/* inode the context belong to */
+	pgoff_t cluster_idx;		/* cluster index number */
+	unsigned int cluster_size;	/* page count in cluster */
+	unsigned int log_cluster_size;	/* log of cluster size */
+	struct page **rpages;		/* pages store raw data in cluster */
+	unsigned int nr_rpages;		/* total page number in rpages */
+	struct page **cpages;		/* pages store compressed data in cluster */
+	unsigned int nr_cpages;		/* total page number in cpages */
+	void *rbuf;			/* virtual mapped address on rpages */
+	struct compress_data *cbuf;	/* virtual mapped address on cpages */
+	size_t rlen;			/* valid data length in rbuf */
+	size_t clen;			/* valid data length in cbuf */
+	void *private;			/* payload buffer for specified compression algorithm */
+};
+
+/* compress context for write IO path */
+struct compress_io_ctx {
+	u32 magic;			/* magic number to indicate page is compressed */
+	struct inode *inode;		/* inode the context belong to */
+	struct page **rpages;		/* pages store raw data in cluster */
+	unsigned int nr_rpages;		/* total page number in rpages */
+	refcount_t ref;			/* referrence count of raw page */
+};
+
+/* decompress io context for read IO path */
+struct decompress_io_ctx {
+	u32 magic;			/* magic number to indicate page is compressed */
+	struct inode *inode;		/* inode the context belong to */
+	pgoff_t cluster_idx;		/* cluster index number */
+	unsigned int cluster_size;	/* page count in cluster */
+	unsigned int log_cluster_size;	/* log of cluster size */
+	struct page **rpages;		/* pages store raw data in cluster */
+	unsigned int nr_rpages;		/* total page number in rpages */
+	struct page **cpages;		/* pages store compressed data in cluster */
+	unsigned int nr_cpages;		/* total page number in cpages */
+	struct page **tpages;		/* temp pages to pad holes in cluster */
+	void *rbuf;			/* virtual mapped address on rpages */
+	struct compress_data *cbuf;	/* virtual mapped address on cpages */
+	size_t rlen;			/* valid data length in rbuf */
+	size_t clen;			/* valid data length in cbuf */
+	refcount_t ref;			/* referrence count of compressed page */
+	bool failed;			/* indicate IO error during decompression */
+};
+
+#define NULL_CLUSTER			((unsigned int)(~0))
+#define MIN_COMPRESS_LOG_SIZE		2
+#define MAX_COMPRESS_LOG_SIZE		8
+
 struct f2fs_sb_info {
 	struct super_block *sb;			/* pointer to VFS super block */
 	struct proc_dir_entry *s_proc;		/* proc entry */
@@ -1187,10 +1287,6 @@
 	int valid_super_block;			/* valid super block no */
 	unsigned long s_flag;				/* flags for sbi */
 	struct mutex writepages;		/* mutex for writepages() */
-#ifdef CONFIG_UNICODE
-	struct unicode_map *s_encoding;
-	__u16 s_encoding_flags;
-#endif
 
 #ifdef CONFIG_BLK_DEV_ZONED
 	unsigned int blocks_per_blkz;		/* F2FS blocks per zone */
@@ -1294,7 +1390,10 @@
 	struct f2fs_mount_info mount_opt;	/* mount options */
 
 	/* for cleaning operations */
-	struct mutex gc_mutex;			/* mutex for GC */
+	struct rw_semaphore gc_lock;		/*
+						 * semaphore for GC, avoid
+						 * race between GC and GC or CP
+						 */
 	struct f2fs_gc_kthread	*gc_thread;	/* GC thread */
 	unsigned int cur_victim_sec;		/* current victim section num */
 	unsigned int gc_mode;			/* current GC state */
@@ -1330,11 +1429,11 @@
 	atomic_t inline_xattr;			/* # of inline_xattr inodes */
 	atomic_t inline_inode;			/* # of inline_data inodes */
 	atomic_t inline_dir;			/* # of inline_dentry inodes */
-	atomic_t aw_cnt;			/* # of atomic writes */
+	atomic_t compr_inode;			/* # of compressed inodes */
+	atomic_t compr_blocks;			/* # of compressed blocks */
 	atomic_t vw_cnt;			/* # of volatile writes */
 	atomic_t max_aw_cnt;			/* max # of atomic writes */
 	atomic_t max_vw_cnt;			/* max # of volatile writes */
-	int bg_gc;				/* background gc calls */
 	unsigned int io_skip_bggc;		/* skip background gc for in-flight IO */
 	unsigned int other_skip_bggc;		/* skip background gc for other reasons */
 	unsigned int ndirty_inode[NR_INODE_TYPE];	/* # of dirty inodes */
@@ -1368,6 +1467,8 @@
 
 	/* Precomputed FS UUID checksum for seeding other checksums */
 	__u32 s_chksum_seed;
+
+	struct workqueue_struct *post_read_wq;	/* post read workqueue */
 };
 
 struct f2fs_private_dio {
@@ -2226,26 +2327,6 @@
 	return entry;
 }
 
-static inline struct bio *f2fs_bio_alloc(struct f2fs_sb_info *sbi,
-						int npages, bool no_fail)
-{
-	struct bio *bio;
-
-	if (no_fail) {
-		/* No failure on bio allocation */
-		bio = bio_alloc(GFP_NOIO, npages);
-		if (!bio)
-			bio = bio_alloc(GFP_NOIO | __GFP_NOFAIL, npages);
-		return bio;
-	}
-	if (time_to_inject(sbi, FAULT_ALLOC_BIO)) {
-		f2fs_show_injection_info(sbi, FAULT_ALLOC_BIO);
-		return NULL;
-	}
-
-	return bio_alloc(GFP_KERNEL, npages);
-}
-
 static inline bool is_idle(struct f2fs_sb_info *sbi, int type)
 {
 	if (sbi->gc_mode == GC_URGENT)
@@ -2382,11 +2463,13 @@
 /*
  * On-disk inode flags (f2fs_inode::i_flags)
  */
+#define F2FS_COMPR_FL			0x00000004 /* Compress file */
 #define F2FS_SYNC_FL			0x00000008 /* Synchronous updates */
 #define F2FS_IMMUTABLE_FL		0x00000010 /* Immutable file */
 #define F2FS_APPEND_FL			0x00000020 /* writes to file may only append */
 #define F2FS_NODUMP_FL			0x00000040 /* do not dump file */
 #define F2FS_NOATIME_FL			0x00000080 /* do not update atime */
+#define F2FS_NOCOMP_FL			0x00000400 /* Don't compress */
 #define F2FS_INDEX_FL			0x00001000 /* hash-indexed directory */
 #define F2FS_DIRSYNC_FL			0x00010000 /* dirsync behaviour (directories only) */
 #define F2FS_PROJINHERIT_FL		0x20000000 /* Create with parents projid */
@@ -2395,7 +2478,7 @@
 /* Flags that should be inherited by new inodes from their parent. */
 #define F2FS_FL_INHERITED (F2FS_SYNC_FL | F2FS_NODUMP_FL | F2FS_NOATIME_FL | \
 			   F2FS_DIRSYNC_FL | F2FS_PROJINHERIT_FL | \
-			   F2FS_CASEFOLD_FL)
+			   F2FS_CASEFOLD_FL | F2FS_COMPR_FL | F2FS_NOCOMP_FL)
 
 /* Flags that are appropriate for regular files (all but dir-specific ones). */
 #define F2FS_REG_FLMASK		(~(F2FS_DIRSYNC_FL | F2FS_PROJINHERIT_FL | \
@@ -2447,6 +2530,8 @@
 	FI_PIN_FILE,		/* indicate file should not be gced */
 	FI_ATOMIC_REVOKE_REQUEST, /* request to drop atomic data */
 	FI_VERITY_IN_PROGRESS,	/* building fs-verity Merkle tree */
+	FI_COMPRESSED_FILE,	/* indicate file's data can be compressed */
+	FI_MMAP_FILE,		/* indicate file was mmapped */
 };
 
 static inline void __mark_inode_dirty_flag(struct inode *inode,
@@ -2463,6 +2548,7 @@
 	case FI_DATA_EXIST:
 	case FI_INLINE_DOTS:
 	case FI_PIN_FILE:
+	case FI_COMPRESSED_FILE:
 		f2fs_mark_inode_dirty_sync(inode, true);
 	}
 }
@@ -2618,16 +2704,27 @@
 	return is_inode_flag_set(inode, FI_INLINE_XATTR);
 }
 
+static inline int f2fs_compressed_file(struct inode *inode)
+{
+	return S_ISREG(inode->i_mode) &&
+		is_inode_flag_set(inode, FI_COMPRESSED_FILE);
+}
+
 static inline unsigned int addrs_per_inode(struct inode *inode)
 {
 	unsigned int addrs = CUR_ADDRS_PER_INODE(inode) -
 				get_inline_xattr_addrs(inode);
-	return ALIGN_DOWN(addrs, 1);
+
+	if (!f2fs_compressed_file(inode))
+		return addrs;
+	return ALIGN_DOWN(addrs, F2FS_I(inode)->i_cluster_size);
 }
 
 static inline unsigned int addrs_per_block(struct inode *inode)
 {
-	return ALIGN_DOWN(DEF_ADDRS_PER_BLOCK, 1);
+	if (!f2fs_compressed_file(inode))
+		return DEF_ADDRS_PER_BLOCK;
+	return ALIGN_DOWN(DEF_ADDRS_PER_BLOCK, F2FS_I(inode)->i_cluster_size);
 }
 
 static inline void *inline_xattr_addr(struct inode *inode, struct page *page)
@@ -2660,6 +2757,11 @@
 	return is_inode_flag_set(inode, FI_INLINE_DOTS);
 }
 
+static inline int f2fs_is_mmap_file(struct inode *inode)
+{
+	return is_inode_flag_set(inode, FI_MMAP_FILE);
+}
+
 static inline bool f2fs_is_pinned_file(struct inode *inode)
 {
 	return is_inode_flag_set(inode, FI_PIN_FILE);
@@ -2787,7 +2889,8 @@
 	struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
 
 	if (!test_opt(sbi, EXTENT_CACHE) ||
-			is_inode_flag_set(inode, FI_NO_EXTENT))
+			is_inode_flag_set(inode, FI_NO_EXTENT) ||
+			is_inode_flag_set(inode, FI_COMPRESSED_FILE))
 		return false;
 
 	/*
@@ -2907,7 +3010,8 @@
 
 static inline bool __is_valid_data_blkaddr(block_t blkaddr)
 {
-	if (blkaddr == NEW_ADDR || blkaddr == NULL_ADDR)
+	if (blkaddr == NEW_ADDR || blkaddr == NULL_ADDR ||
+			blkaddr == COMPRESS_ADDR)
 		return false;
 	return true;
 }
@@ -2973,11 +3077,6 @@
 							bool hot, bool set);
 struct dentry *f2fs_get_parent(struct dentry *child);
 
-extern int f2fs_ci_compare(const struct inode *parent,
-			   const struct qstr *name,
-			   const struct qstr *entry,
-			   bool quick);
-
 /*
  * dir.c
  */
@@ -3005,11 +3104,13 @@
 			struct page **page);
 void f2fs_set_link(struct inode *dir, struct f2fs_dir_entry *de,
 			struct page *page, struct inode *inode);
+bool f2fs_has_enough_room(struct inode *dir, struct page *ipage,
+			struct fscrypt_name *fname);
 void f2fs_update_dentry(nid_t ino, umode_t mode, struct f2fs_dentry_ptr *d,
 			const struct qstr *name, f2fs_hash_t name_hash,
 			unsigned int bit_pos);
 int f2fs_add_regular_entry(struct inode *dir, const struct qstr *new_name,
-			const struct qstr *orig_name,
+			const struct qstr *orig_name, f2fs_hash_t dentry_hash,
 			struct inode *inode, nid_t ino, umode_t mode);
 int f2fs_add_dentry(struct inode *dir, struct fscrypt_name *fname,
 			struct inode *inode, nid_t ino, umode_t mode);
@@ -3042,7 +3143,7 @@
  * hash.c
  */
 f2fs_hash_t f2fs_dentry_hash(const struct inode *dir,
-		const struct qstr *name_info, struct fscrypt_name *fname);
+		const struct qstr *name_info, const struct fscrypt_name *fname);
 
 /*
  * node.c
@@ -3209,10 +3310,13 @@
 /*
  * data.c
  */
-int f2fs_init_post_read_processing(void);
-void f2fs_destroy_post_read_processing(void);
+int __init f2fs_init_bioset(void);
+void f2fs_destroy_bioset(void);
+struct bio *f2fs_bio_alloc(struct f2fs_sb_info *sbi, int npages, bool no_fail);
 int f2fs_init_bio_entry_cache(void);
 void f2fs_destroy_bio_entry_cache(void);
+void f2fs_submit_bio(struct f2fs_sb_info *sbi,
+				struct bio *bio, enum page_type type);
 void f2fs_submit_merged_write(struct f2fs_sb_info *sbi, enum page_type type);
 void f2fs_submit_merged_write_cond(struct f2fs_sb_info *sbi,
 				struct inode *inode, struct page *page,
@@ -3233,6 +3337,9 @@
 int f2fs_get_block(struct dnode_of_data *dn, pgoff_t index);
 int f2fs_preallocate_blocks(struct kiocb *iocb, struct iov_iter *from);
 int f2fs_reserve_block(struct dnode_of_data *dn, pgoff_t index);
+int f2fs_mpage_readpages(struct address_space *mapping,
+			struct list_head *pages, struct page *page,
+			unsigned nr_pages, bool is_readahead);
 struct page *f2fs_get_read_data_page(struct inode *inode, pgoff_t index,
 			int op_flags, bool for_write);
 struct page *f2fs_find_data_page(struct inode *inode, pgoff_t index);
@@ -3246,8 +3353,14 @@
 			int create, int flag);
 int f2fs_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo,
 			u64 start, u64 len);
+int f2fs_encrypt_one_page(struct f2fs_io_info *fio);
 bool f2fs_should_update_inplace(struct inode *inode, struct f2fs_io_info *fio);
 bool f2fs_should_update_outplace(struct inode *inode, struct f2fs_io_info *fio);
+int f2fs_write_single_data_page(struct page *page, int *submitted,
+				struct bio **bio, sector_t *last_block,
+				struct writeback_control *wbc,
+				enum iostat_type io_type,
+				int compr_blocks);
 void f2fs_invalidate_page(struct page *page, unsigned int offset,
 			unsigned int length);
 int f2fs_release_page(struct page *page, gfp_t wait);
@@ -3257,6 +3370,10 @@
 #endif
 bool f2fs_overwrite_io(struct inode *inode, loff_t pos, size_t len);
 void f2fs_clear_radix_tree_dirty_tag(struct page *page);
+int f2fs_init_post_read_processing(void);
+void f2fs_destroy_post_read_processing(void);
+int f2fs_init_post_read_wq(struct f2fs_sb_info *sbi);
+void f2fs_destroy_post_read_wq(struct f2fs_sb_info *sbi);
 
 /*
  * gc.c
@@ -3303,6 +3420,7 @@
 	int nr_discard_cmd;
 	unsigned int undiscard_blks;
 	int inline_xattr, inline_inode, inline_dir, append, update, orphans;
+	int compr_inode, compr_blocks;
 	int aw_cnt, max_aw_cnt, vw_cnt, max_vw_cnt;
 	unsigned int valid_count, valid_node_count, valid_inode_count, discard_blks;
 	unsigned int bimodal, avg_vblocks;
@@ -3334,7 +3452,7 @@
 #define stat_inc_cp_count(si)		((si)->cp_count++)
 #define stat_inc_bg_cp_count(si)	((si)->bg_cp_count++)
 #define stat_inc_call_count(si)		((si)->call_count++)
-#define stat_inc_bggc_count(sbi)	((sbi)->bg_gc++)
+#define stat_inc_bggc_count(si)		((si)->bg_gc++)
 #define stat_io_skip_bggc_count(sbi)	((sbi)->io_skip_bggc++)
 #define stat_other_skip_bggc_count(sbi)	((sbi)->other_skip_bggc++)
 #define stat_inc_dirty_inode(sbi, type)	((sbi)->ndirty_inode[type]++)
@@ -3373,6 +3491,20 @@
 		if (f2fs_has_inline_dentry(inode))			\
 			(atomic_dec(&F2FS_I_SB(inode)->inline_dir));	\
 	} while (0)
+#define stat_inc_compr_inode(inode)					\
+	do {								\
+		if (f2fs_compressed_file(inode))			\
+			(atomic_inc(&F2FS_I_SB(inode)->compr_inode));	\
+	} while (0)
+#define stat_dec_compr_inode(inode)					\
+	do {								\
+		if (f2fs_compressed_file(inode))			\
+			(atomic_dec(&F2FS_I_SB(inode)->compr_inode));	\
+	} while (0)
+#define stat_add_compr_blocks(inode, blocks)				\
+		(atomic_add(blocks, &F2FS_I_SB(inode)->compr_blocks))
+#define stat_sub_compr_blocks(inode, blocks)				\
+		(atomic_sub(blocks, &F2FS_I_SB(inode)->compr_blocks))
 #define stat_inc_meta_count(sbi, blkaddr)				\
 	do {								\
 		if (blkaddr < SIT_I(sbi)->sit_base_addr)		\
@@ -3390,13 +3522,9 @@
 		((sbi)->block_count[(curseg)->alloc_type]++)
 #define stat_inc_inplace_blocks(sbi)					\
 		(atomic_inc(&(sbi)->inplace_count))
-#define stat_inc_atomic_write(inode)					\
-		(atomic_inc(&F2FS_I_SB(inode)->aw_cnt))
-#define stat_dec_atomic_write(inode)					\
-		(atomic_dec(&F2FS_I_SB(inode)->aw_cnt))
 #define stat_update_max_atomic_write(inode)				\
 	do {								\
-		int cur = atomic_read(&F2FS_I_SB(inode)->aw_cnt);	\
+		int cur = F2FS_I_SB(inode)->atomic_files;	\
 		int max = atomic_read(&F2FS_I_SB(inode)->max_aw_cnt);	\
 		if (cur > max)						\
 			atomic_set(&F2FS_I_SB(inode)->max_aw_cnt, cur);	\
@@ -3448,6 +3576,7 @@
 void f2fs_destroy_stats(struct f2fs_sb_info *sbi);
 void __init f2fs_create_root_stats(void);
 void f2fs_destroy_root_stats(void);
+void f2fs_update_sit_info(struct f2fs_sb_info *sbi);
 #else
 #define stat_inc_cp_count(si)				do { } while (0)
 #define stat_inc_bg_cp_count(si)			do { } while (0)
@@ -3457,8 +3586,8 @@
 #define stat_other_skip_bggc_count(sbi)			do { } while (0)
 #define stat_inc_dirty_inode(sbi, type)			do { } while (0)
 #define stat_dec_dirty_inode(sbi, type)			do { } while (0)
-#define stat_inc_total_hit(sb)				do { } while (0)
-#define stat_inc_rbtree_node_hit(sb)			do { } while (0)
+#define stat_inc_total_hit(sbi)				do { } while (0)
+#define stat_inc_rbtree_node_hit(sbi)			do { } while (0)
 #define stat_inc_largest_node_hit(sbi)			do { } while (0)
 #define stat_inc_cached_node_hit(sbi)			do { } while (0)
 #define stat_inc_inline_xattr(inode)			do { } while (0)
@@ -3467,6 +3596,10 @@
 #define stat_dec_inline_inode(inode)			do { } while (0)
 #define stat_inc_inline_dir(inode)			do { } while (0)
 #define stat_dec_inline_dir(inode)			do { } while (0)
+#define stat_inc_compr_inode(inode)			do { } while (0)
+#define stat_dec_compr_inode(inode)			do { } while (0)
+#define stat_add_compr_blocks(inode, blocks)		do { } while (0)
+#define stat_sub_compr_blocks(inode, blocks)		do { } while (0)
 #define stat_inc_atomic_write(inode)			do { } while (0)
 #define stat_dec_atomic_write(inode)			do { } while (0)
 #define stat_update_max_atomic_write(inode)		do { } while (0)
@@ -3486,12 +3619,10 @@
 static inline void f2fs_destroy_stats(struct f2fs_sb_info *sbi) { }
 static inline void __init f2fs_create_root_stats(void) { }
 static inline void f2fs_destroy_root_stats(void) { }
+static inline void update_sit_info(struct f2fs_sb_info *sbi) {}
 #endif
 
 extern const struct file_operations f2fs_dir_operations;
-#ifdef CONFIG_UNICODE
-extern const struct dentry_operations f2fs_dentry_ops;
-#endif
 extern const struct file_operations f2fs_file_operations;
 extern const struct inode_operations f2fs_file_inode_operations;
 extern const struct address_space_operations f2fs_dblock_aops;
@@ -3514,6 +3645,7 @@
 int f2fs_read_inline_data(struct inode *inode, struct page *page);
 int f2fs_convert_inline_page(struct dnode_of_data *dn, struct page *page);
 int f2fs_convert_inline_inode(struct inode *inode);
+int f2fs_try_convert_inline_dir(struct inode *dir, struct dentry *dentry);
 int f2fs_write_inline_data(struct inode *inode, struct page *page);
 bool f2fs_recover_inline_data(struct inode *inode, struct page *npage);
 struct f2fs_dir_entry *f2fs_find_in_inline_dir(struct inode *dir,
@@ -3521,7 +3653,7 @@
 int f2fs_make_empty_inline_dir(struct inode *inode, struct inode *parent,
 			struct page *ipage);
 int f2fs_add_inline_entry(struct inode *dir, const struct qstr *new_name,
-			const struct qstr *orig_name,
+			const struct fscrypt_name *fname,
 			struct inode *inode, nid_t ino, umode_t mode);
 void f2fs_delete_inline_entry(struct f2fs_dir_entry *dentry,
 				struct page *page, struct inode *dir,
@@ -3606,7 +3738,85 @@
  */
 static inline bool f2fs_post_read_required(struct inode *inode)
 {
-	return f2fs_encrypted_file(inode) || fsverity_active(inode);
+	return f2fs_encrypted_file(inode) || fsverity_active(inode) ||
+		f2fs_compressed_file(inode);
+}
+
+/*
+ * compress.c
+ */
+#ifdef CONFIG_F2FS_FS_COMPRESSION
+bool f2fs_is_compressed_page(struct page *page);
+struct page *f2fs_compress_control_page(struct page *page);
+int f2fs_prepare_compress_overwrite(struct inode *inode,
+			struct page **pagep, pgoff_t index, void **fsdata);
+bool f2fs_compress_write_end(struct inode *inode, void *fsdata,
+					pgoff_t index, unsigned copied);
+void f2fs_compress_write_end_io(struct bio *bio, struct page *page);
+bool f2fs_is_compress_backend_ready(struct inode *inode);
+void f2fs_decompress_pages(struct bio *bio, struct page *page, bool verity);
+bool f2fs_cluster_is_empty(struct compress_ctx *cc);
+bool f2fs_cluster_can_merge_page(struct compress_ctx *cc, pgoff_t index);
+void f2fs_compress_ctx_add_page(struct compress_ctx *cc, struct page *page);
+int f2fs_write_multi_pages(struct compress_ctx *cc,
+						int *submitted,
+						struct writeback_control *wbc,
+						enum iostat_type io_type);
+int f2fs_is_compressed_cluster(struct inode *inode, pgoff_t index);
+int f2fs_read_multi_pages(struct compress_ctx *cc, struct bio **bio_ret,
+				unsigned nr_pages, sector_t *last_block_in_bio,
+				bool is_readahead);
+struct decompress_io_ctx *f2fs_alloc_dic(struct compress_ctx *cc);
+void f2fs_free_dic(struct decompress_io_ctx *dic);
+void f2fs_decompress_end_io(struct page **rpages,
+			unsigned int cluster_size, bool err, bool verity);
+int f2fs_init_compress_ctx(struct compress_ctx *cc);
+void f2fs_destroy_compress_ctx(struct compress_ctx *cc);
+void f2fs_init_compress_info(struct f2fs_sb_info *sbi);
+#else
+static inline bool f2fs_is_compressed_page(struct page *page) { return false; }
+static inline bool f2fs_is_compress_backend_ready(struct inode *inode)
+{
+	if (!f2fs_compressed_file(inode))
+		return true;
+	/* not support compression */
+	return false;
+}
+static inline struct page *f2fs_compress_control_page(struct page *page)
+{
+	WARN_ON_ONCE(1);
+	return ERR_PTR(-EINVAL);
+}
+#endif
+
+static inline void set_compress_context(struct inode *inode)
+{
+	struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
+
+	F2FS_I(inode)->i_compress_algorithm =
+			F2FS_OPTION(sbi).compress_algorithm;
+	F2FS_I(inode)->i_log_cluster_size =
+			F2FS_OPTION(sbi).compress_log_size;
+	F2FS_I(inode)->i_cluster_size =
+			1 << F2FS_I(inode)->i_log_cluster_size;
+	F2FS_I(inode)->i_flags |= F2FS_COMPR_FL;
+	set_inode_flag(inode, FI_COMPRESSED_FILE);
+	stat_inc_compr_inode(inode);
+}
+
+static inline u64 f2fs_disable_compressed_file(struct inode *inode)
+{
+	struct f2fs_inode_info *fi = F2FS_I(inode);
+
+	if (!f2fs_compressed_file(inode))
+		return 0;
+	if (fi->i_compr_blocks)
+		return fi->i_compr_blocks;
+
+	fi->i_flags &= ~F2FS_COMPR_FL;
+	clear_inode_flag(inode, FI_COMPRESSED_FILE);
+	stat_dec_compr_inode(inode);
+	return 0;
 }
 
 #define F2FS_FEATURE_FUNCS(name, flagname) \
@@ -3627,6 +3837,7 @@
 F2FS_FEATURE_FUNCS(verity, VERITY);
 F2FS_FEATURE_FUNCS(sb_chksum, SB_CHKSUM);
 F2FS_FEATURE_FUNCS(casefold, CASEFOLD);
+F2FS_FEATURE_FUNCS(compression, COMPRESSION);
 
 #ifdef CONFIG_BLK_DEV_ZONED
 static inline bool f2fs_blkz_is_seq(struct f2fs_sb_info *sbi, int devi,
@@ -3708,6 +3919,30 @@
 #endif
 }
 
+static inline bool f2fs_may_compress(struct inode *inode)
+{
+	if (IS_SWAPFILE(inode) || f2fs_is_pinned_file(inode) ||
+				f2fs_is_atomic_file(inode) ||
+				f2fs_is_volatile_file(inode))
+		return false;
+	return S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode);
+}
+
+static inline void f2fs_i_compr_blocks_update(struct inode *inode,
+						u64 blocks, bool add)
+{
+	int diff = F2FS_I(inode)->i_cluster_size - blocks;
+
+	if (add) {
+		F2FS_I(inode)->i_compr_blocks += diff;
+		stat_add_compr_blocks(inode, diff);
+	} else {
+		F2FS_I(inode)->i_compr_blocks -= diff;
+		stat_sub_compr_blocks(inode, diff);
+	}
+	f2fs_mark_inode_dirty_sync(inode, true);
+}
+
 static inline int block_unaligned_IO(struct inode *inode,
 				struct kiocb *iocb, struct iov_iter *iter)
 {
@@ -3745,6 +3980,8 @@
 		return true;
 	if (f2fs_is_multi_device(sbi))
 		return true;
+	if (f2fs_compressed_file(inode))
+		return true;
 	/*
 	 * for blkzoned device, fallback direct IO to buffered IO, so
 	 * all IOs can be serialized by log-structured write.
diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
index ec22279..996e795 100644
--- a/fs/f2fs/file.c
+++ b/fs/f2fs/file.c
@@ -52,7 +52,8 @@
 	struct inode *inode = file_inode(vmf->vma->vm_file);
 	struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
 	struct dnode_of_data dn;
-	int err;
+	bool need_alloc = true;
+	int err = 0;
 
 	if (unlikely(f2fs_cp_error(sbi))) {
 		err = -EIO;
@@ -67,6 +68,26 @@
 		goto err;
 	}
 
+#ifdef CONFIG_F2FS_FS_COMPRESSION
+	if (f2fs_compressed_file(inode)) {
+		int ret = f2fs_is_compressed_cluster(inode, page->index);
+
+		if (ret < 0) {
+			err = ret;
+			goto err;
+		} else if (ret) {
+			if (ret < F2FS_I(inode)->i_cluster_size) {
+				err = -EAGAIN;
+				goto err;
+			}
+			need_alloc = false;
+		}
+	}
+#endif
+	/* should do out of any locked page */
+	if (need_alloc)
+		f2fs_balance_fs(sbi, true);
+
 	sb_start_pagefault(inode->i_sb);
 
 	f2fs_bug_on(sbi, f2fs_has_inline_data(inode));
@@ -82,15 +103,17 @@
 		goto out_sem;
 	}
 
-	/* block allocation */
-	__do_map_lock(sbi, F2FS_GET_BLOCK_PRE_AIO, true);
-	set_new_dnode(&dn, inode, NULL, NULL, 0);
-	err = f2fs_get_block(&dn, page->index);
-	f2fs_put_dnode(&dn);
-	__do_map_lock(sbi, F2FS_GET_BLOCK_PRE_AIO, false);
-	if (err) {
-		unlock_page(page);
-		goto out_sem;
+	if (need_alloc) {
+		/* block allocation */
+		__do_map_lock(sbi, F2FS_GET_BLOCK_PRE_AIO, true);
+		set_new_dnode(&dn, inode, NULL, NULL, 0);
+		err = f2fs_get_block(&dn, page->index);
+		f2fs_put_dnode(&dn);
+		__do_map_lock(sbi, F2FS_GET_BLOCK_PRE_AIO, false);
+		if (err) {
+			unlock_page(page);
+			goto out_sem;
+		}
 	}
 
 	/* fill the page */
@@ -157,6 +180,8 @@
 
 	if (!S_ISREG(inode->i_mode))
 		cp_reason = CP_NON_REGULAR;
+	else if (f2fs_compressed_file(inode))
+		cp_reason = CP_COMPRESSED;
 	else if (inode->i_nlink != 1)
 		cp_reason = CP_HARDLINK;
 	else if (is_sbi_flag_set(sbi, SBI_NEED_CP))
@@ -498,6 +523,9 @@
 	if (unlikely(f2fs_cp_error(F2FS_I_SB(inode))))
 		return -EIO;
 
+	if (!f2fs_is_compress_backend_ready(inode))
+		return -EOPNOTSUPP;
+
 	/* we don't need to use inline_data strictly */
 	err = f2fs_convert_inline_inode(inode);
 	if (err)
@@ -505,6 +533,7 @@
 
 	file_accessed(file);
 	vma->vm_ops = &f2fs_file_vm_ops;
+	set_inode_flag(inode, FI_MMAP_FILE);
 	return 0;
 }
 
@@ -515,6 +544,9 @@
 	if (err)
 		return err;
 
+	if (!f2fs_is_compress_backend_ready(inode))
+		return -EOPNOTSUPP;
+
 	err = fsverity_file_open(inode, filp);
 	if (err)
 		return err;
@@ -531,6 +563,9 @@
 	int nr_free = 0, ofs = dn->ofs_in_node, len = count;
 	__le32 *addr;
 	int base = 0;
+	bool compressed_cluster = false;
+	int cluster_index = 0, valid_blocks = 0;
+	int cluster_size = F2FS_I(dn->inode)->i_cluster_size;
 
 	if (IS_INODE(dn->node_page) && f2fs_has_extra_attr(dn->inode))
 		base = get_extra_isize(dn->inode);
@@ -538,26 +573,43 @@
 	raw_node = F2FS_NODE(dn->node_page);
 	addr = blkaddr_in_node(raw_node) + base + ofs;
 
-	for (; count > 0; count--, addr++, dn->ofs_in_node++) {
+	/* Assumption: truncateion starts with cluster */
+	for (; count > 0; count--, addr++, dn->ofs_in_node++, cluster_index++) {
 		block_t blkaddr = le32_to_cpu(*addr);
 
+		if (f2fs_compressed_file(dn->inode) &&
+					!(cluster_index & (cluster_size - 1))) {
+			if (compressed_cluster)
+				f2fs_i_compr_blocks_update(dn->inode,
+							valid_blocks, false);
+			compressed_cluster = (blkaddr == COMPRESS_ADDR);
+			valid_blocks = 0;
+		}
+
 		if (blkaddr == NULL_ADDR)
 			continue;
 
 		dn->data_blkaddr = NULL_ADDR;
 		f2fs_set_data_blkaddr(dn);
 
-		if (__is_valid_data_blkaddr(blkaddr) &&
-			!f2fs_is_valid_blkaddr(sbi, blkaddr,
+		if (__is_valid_data_blkaddr(blkaddr)) {
+			if (!f2fs_is_valid_blkaddr(sbi, blkaddr,
 					DATA_GENERIC_ENHANCE))
-			continue;
+				continue;
+			if (compressed_cluster)
+				valid_blocks++;
+		}
 
-		f2fs_invalidate_blocks(sbi, blkaddr);
 		if (dn->ofs_in_node == 0 && IS_INODE(dn->node_page))
 			clear_inode_flag(dn->inode, FI_FIRST_BLOCK_WRITTEN);
+
+		f2fs_invalidate_blocks(sbi, blkaddr);
 		nr_free++;
 	}
 
+	if (compressed_cluster)
+		f2fs_i_compr_blocks_update(dn->inode, valid_blocks, false);
+
 	if (nr_free) {
 		pgoff_t fofs;
 		/*
@@ -600,6 +652,9 @@
 		return 0;
 	}
 
+	if (f2fs_compressed_file(inode))
+		return 0;
+
 	page = f2fs_get_lock_data_page(inode, index, true);
 	if (IS_ERR(page))
 		return PTR_ERR(page) == -ENOENT ? 0 : PTR_ERR(page);
@@ -615,7 +670,7 @@
 	return 0;
 }
 
-int f2fs_truncate_blocks(struct inode *inode, u64 from, bool lock)
+static int do_truncate_blocks(struct inode *inode, u64 from, bool lock)
 {
 	struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
 	struct dnode_of_data dn;
@@ -680,6 +735,28 @@
 	return err;
 }
 
+int f2fs_truncate_blocks(struct inode *inode, u64 from, bool lock)
+{
+	u64 free_from = from;
+
+	/*
+	 * for compressed file, only support cluster size
+	 * aligned truncation.
+	 */
+	if (f2fs_compressed_file(inode)) {
+		size_t cluster_shift = PAGE_SHIFT +
+					F2FS_I(inode)->i_log_cluster_size;
+		size_t cluster_mask = (1 << cluster_shift) - 1;
+
+		free_from = from >> cluster_shift;
+		if (from & cluster_mask)
+			free_from++;
+		free_from <<= cluster_shift;
+	}
+
+	return do_truncate_blocks(inode, free_from, lock);
+}
+
 int f2fs_truncate(struct inode *inode)
 {
 	int err;
@@ -739,11 +816,14 @@
 		stat->attributes |= STATX_ATTR_IMMUTABLE;
 	if (flags & F2FS_NODUMP_FL)
 		stat->attributes |= STATX_ATTR_NODUMP;
+	if (IS_VERITY(inode))
+		stat->attributes |= STATX_ATTR_VERITY;
 
 	stat->attributes_mask |= (STATX_ATTR_APPEND |
 				  STATX_ATTR_ENCRYPTED |
 				  STATX_ATTR_IMMUTABLE |
-				  STATX_ATTR_NODUMP);
+				  STATX_ATTR_NODUMP |
+				  STATX_ATTR_VERITY);
 
 	generic_fillattr(inode, stat);
 
@@ -793,6 +873,10 @@
 	if (unlikely(f2fs_cp_error(F2FS_I_SB(inode))))
 		return -EIO;
 
+	if ((attr->ia_valid & ATTR_SIZE) &&
+		!f2fs_is_compress_backend_ready(inode))
+		return -EOPNOTSUPP;
+
 	err = setattr_prepare(dentry, attr);
 	if (err)
 		return err;
@@ -1033,8 +1117,8 @@
 	} else if (ret == -ENOENT) {
 		if (dn.max_level == 0)
 			return -ENOENT;
-		done = min((pgoff_t)ADDRS_PER_BLOCK(inode) - dn.ofs_in_node,
-									len);
+		done = min((pgoff_t)ADDRS_PER_BLOCK(inode) -
+						dn.ofs_in_node, len);
 		blkaddr += done;
 		do_replace += done;
 		goto next;
@@ -1197,13 +1281,13 @@
 
 		src_blkaddr = f2fs_kvzalloc(F2FS_I_SB(src_inode),
 					array_size(olen, sizeof(block_t)),
-					GFP_KERNEL);
+					GFP_NOFS);
 		if (!src_blkaddr)
 			return -ENOMEM;
 
 		do_replace = f2fs_kvzalloc(F2FS_I_SB(src_inode),
 					array_size(olen, sizeof(int)),
-					GFP_KERNEL);
+					GFP_NOFS);
 		if (!do_replace) {
 			kvfree(src_blkaddr);
 			return -ENOMEM;
@@ -1570,7 +1654,7 @@
 next_alloc:
 		if (has_not_enough_free_secs(sbi, 0,
 			GET_SEC_FROM_SEG(sbi, overprovision_segments(sbi)))) {
-			mutex_lock(&sbi->gc_mutex);
+			down_write(&sbi->gc_lock);
 			err = f2fs_gc(sbi, true, false, NULL_SEGNO);
 			if (err && err != -ENODATA && err != -EAGAIN)
 				goto out_err;
@@ -1628,6 +1712,8 @@
 		return -EIO;
 	if (!f2fs_is_checkpoint_ready(F2FS_I_SB(inode)))
 		return -ENOSPC;
+	if (!f2fs_is_compress_backend_ready(inode))
+		return -EOPNOTSUPP;
 
 	/* f2fs only support ->fallocate for regular file */
 	if (!S_ISREG(inode->i_mode))
@@ -1637,6 +1723,11 @@
 		(mode & (FALLOC_FL_COLLAPSE_RANGE | FALLOC_FL_INSERT_RANGE)))
 		return -EOPNOTSUPP;
 
+	if (f2fs_compressed_file(inode) &&
+		(mode & (FALLOC_FL_PUNCH_HOLE | FALLOC_FL_COLLAPSE_RANGE |
+			FALLOC_FL_ZERO_RANGE | FALLOC_FL_INSERT_RANGE)))
+		return -EOPNOTSUPP;
+
 	if (mode & ~(FALLOC_FL_KEEP_SIZE | FALLOC_FL_PUNCH_HOLE |
 			FALLOC_FL_COLLAPSE_RANGE | FALLOC_FL_ZERO_RANGE |
 			FALLOC_FL_INSERT_RANGE))
@@ -1714,19 +1805,55 @@
 static int f2fs_setflags_common(struct inode *inode, u32 iflags, u32 mask)
 {
 	struct f2fs_inode_info *fi = F2FS_I(inode);
+	u32 masked_flags = fi->i_flags & mask;
+
+	f2fs_bug_on(F2FS_I_SB(inode), (iflags & ~mask));
 
 	/* Is it quota file? Do not allow user to mess with it */
 	if (IS_NOQUOTA(inode))
 		return -EPERM;
 
-	if ((iflags ^ fi->i_flags) & F2FS_CASEFOLD_FL) {
+	if ((iflags ^ masked_flags) & F2FS_CASEFOLD_FL) {
 		if (!f2fs_sb_has_casefold(F2FS_I_SB(inode)))
 			return -EOPNOTSUPP;
 		if (!f2fs_empty_dir(inode))
 			return -ENOTEMPTY;
 	}
 
+	if (iflags & (F2FS_COMPR_FL | F2FS_NOCOMP_FL)) {
+		if (!f2fs_sb_has_compression(F2FS_I_SB(inode)))
+			return -EOPNOTSUPP;
+		if ((iflags & F2FS_COMPR_FL) && (iflags & F2FS_NOCOMP_FL))
+			return -EINVAL;
+	}
+
+	if ((iflags ^ masked_flags) & F2FS_COMPR_FL) {
+		if (S_ISREG(inode->i_mode) &&
+			(masked_flags & F2FS_COMPR_FL || i_size_read(inode) ||
+						F2FS_HAS_BLOCKS(inode)))
+			return -EINVAL;
+		if (iflags & F2FS_NOCOMP_FL)
+			return -EINVAL;
+		if (iflags & F2FS_COMPR_FL) {
+			int err = f2fs_convert_inline_inode(inode);
+
+			if (err)
+				return err;
+
+			if (!f2fs_may_compress(inode))
+				return -EINVAL;
+
+			set_compress_context(inode);
+		}
+	}
+	if ((iflags ^ masked_flags) & F2FS_NOCOMP_FL) {
+		if (masked_flags & F2FS_COMPR_FL)
+			return -EINVAL;
+	}
+
 	fi->i_flags = iflags | (fi->i_flags & ~mask);
+	f2fs_bug_on(F2FS_I_SB(inode), (fi->i_flags & F2FS_COMPR_FL) &&
+					(fi->i_flags & F2FS_NOCOMP_FL));
 
 	if (fi->i_flags & F2FS_PROJINHERIT_FL)
 		set_inode_flag(inode, FI_PROJ_INHERIT);
@@ -1752,11 +1879,13 @@
 	u32 iflag;
 	u32 fsflag;
 } f2fs_fsflags_map[] = {
+	{ F2FS_COMPR_FL,	FS_COMPR_FL },
 	{ F2FS_SYNC_FL,		FS_SYNC_FL },
 	{ F2FS_IMMUTABLE_FL,	FS_IMMUTABLE_FL },
 	{ F2FS_APPEND_FL,	FS_APPEND_FL },
 	{ F2FS_NODUMP_FL,	FS_NODUMP_FL },
 	{ F2FS_NOATIME_FL,	FS_NOATIME_FL },
+	{ F2FS_NOCOMP_FL,	FS_NOCOMP_FL },
 	{ F2FS_INDEX_FL,	FS_INDEX_FL },
 	{ F2FS_DIRSYNC_FL,	FS_DIRSYNC_FL },
 	{ F2FS_PROJINHERIT_FL,	FS_PROJINHERIT_FL },
@@ -1764,11 +1893,13 @@
 };
 
 #define F2FS_GETTABLE_FS_FL (		\
+		FS_COMPR_FL |		\
 		FS_SYNC_FL |		\
 		FS_IMMUTABLE_FL |	\
 		FS_APPEND_FL |		\
 		FS_NODUMP_FL |		\
 		FS_NOATIME_FL |		\
+		FS_NOCOMP_FL |		\
 		FS_INDEX_FL |		\
 		FS_DIRSYNC_FL |		\
 		FS_PROJINHERIT_FL |	\
@@ -1779,11 +1910,13 @@
 		FS_CASEFOLD_FL)
 
 #define F2FS_SETTABLE_FS_FL (		\
+		FS_COMPR_FL |		\
 		FS_SYNC_FL |		\
 		FS_IMMUTABLE_FL |	\
 		FS_APPEND_FL |		\
 		FS_NODUMP_FL |		\
 		FS_NOATIME_FL |		\
+		FS_NOCOMP_FL |		\
 		FS_DIRSYNC_FL |		\
 		FS_PROJINHERIT_FL |	\
 		FS_CASEFOLD_FL)
@@ -1904,6 +2037,8 @@
 
 	inode_lock(inode);
 
+	f2fs_disable_compressed_file(inode);
+
 	if (f2fs_is_atomic_file(inode)) {
 		if (is_inode_flag_set(inode, FI_ATOMIC_REVOKE_REQUEST))
 			ret = -EINVAL;
@@ -1942,7 +2077,6 @@
 
 	f2fs_update_time(F2FS_I_SB(inode), REQ_TIME);
 	F2FS_I(inode)->inmem_task = current;
-	stat_inc_atomic_write(inode);
 	stat_update_max_atomic_write(inode);
 out:
 	inode_unlock(inode);
@@ -2331,12 +2465,12 @@
 		return ret;
 
 	if (!sync) {
-		if (!mutex_trylock(&sbi->gc_mutex)) {
+		if (!down_write_trylock(&sbi->gc_lock)) {
 			ret = -EBUSY;
 			goto out;
 		}
 	} else {
-		mutex_lock(&sbi->gc_mutex);
+		down_write(&sbi->gc_lock);
 	}
 
 	ret = f2fs_gc(sbi, sync, true, NULL_SEGNO);
@@ -2374,12 +2508,12 @@
 
 do_more:
 	if (!range.sync) {
-		if (!mutex_trylock(&sbi->gc_mutex)) {
+		if (!down_write_trylock(&sbi->gc_lock)) {
 			ret = -EBUSY;
 			goto out;
 		}
 	} else {
-		mutex_lock(&sbi->gc_mutex);
+		down_write(&sbi->gc_lock);
 	}
 
 	ret = f2fs_gc(sbi, range.sync, true, GET_SEGNO(sbi, range.start));
@@ -2810,7 +2944,7 @@
 	end_segno = min(start_segno + range.segments, dev_end_segno);
 
 	while (start_segno < end_segno) {
-		if (!mutex_trylock(&sbi->gc_mutex)) {
+		if (!down_write_trylock(&sbi->gc_lock)) {
 			ret = -EBUSY;
 			goto out;
 		}
@@ -3105,10 +3239,16 @@
 		ret = -EAGAIN;
 		goto out;
 	}
+
 	ret = f2fs_convert_inline_inode(inode);
 	if (ret)
 		goto out;
 
+	if (f2fs_disable_compressed_file(inode)) {
+		ret = -EOPNOTSUPP;
+		goto out;
+	}
+
 	set_inode_flag(inode, FI_PIN_FILE);
 	ret = F2FS_I(inode)->i_gc_failures[GC_FAILURE_PIN];
 done:
@@ -3357,6 +3497,17 @@
 	}
 }
 
+static ssize_t f2fs_file_read_iter(struct kiocb *iocb, struct iov_iter *iter)
+{
+	struct file *file = iocb->ki_filp;
+	struct inode *inode = file_inode(file);
+
+	if (!f2fs_is_compress_backend_ready(inode))
+		return -EOPNOTSUPP;
+
+	return generic_file_read_iter(iocb, iter);
+}
+
 static ssize_t f2fs_file_write_iter(struct kiocb *iocb, struct iov_iter *from)
 {
 	struct file *file = iocb->ki_filp;
@@ -3368,6 +3519,9 @@
 		goto out;
 	}
 
+	if (!f2fs_is_compress_backend_ready(inode))
+		return -EOPNOTSUPP;
+
 	if (iocb->ki_flags & IOCB_NOWAIT) {
 		if (!inode_trylock(inode)) {
 			ret = -EAGAIN;
@@ -3396,18 +3550,41 @@
 				ret = -EAGAIN;
 				goto out;
 			}
-		} else {
-			preallocated = true;
-			target_size = iocb->ki_pos + iov_iter_count(from);
-
-			err = f2fs_preallocate_blocks(iocb, from);
-			if (err) {
-				clear_inode_flag(inode, FI_NO_PREALLOC);
-				inode_unlock(inode);
-				ret = err;
-				goto out;
-			}
+			goto write;
 		}
+
+		if (is_inode_flag_set(inode, FI_NO_PREALLOC))
+			goto write;
+
+		if (iocb->ki_flags & IOCB_DIRECT) {
+			/*
+			 * Convert inline data for Direct I/O before entering
+			 * f2fs_direct_IO().
+			 */
+			err = f2fs_convert_inline_inode(inode);
+			if (err)
+				goto out_err;
+			/*
+			 * If force_buffere_io() is true, we have to allocate
+			 * blocks all the time, since f2fs_direct_IO will fall
+			 * back to buffered IO.
+			 */
+			if (!f2fs_force_buffered_io(inode, iocb, from) &&
+					allow_outplace_dio(inode, iocb, from))
+				goto write;
+		}
+		preallocated = true;
+		target_size = iocb->ki_pos + iov_iter_count(from);
+
+		err = f2fs_preallocate_blocks(iocb, from);
+		if (err) {
+out_err:
+			clear_inode_flag(inode, FI_NO_PREALLOC);
+			inode_unlock(inode);
+			ret = err;
+			goto out;
+		}
+write:
 		ret = __generic_file_write_iter(iocb, from);
 		clear_inode_flag(inode, FI_NO_PREALLOC);
 
@@ -3481,7 +3658,7 @@
 
 const struct file_operations f2fs_file_operations = {
 	.llseek		= f2fs_llseek,
-	.read_iter	= generic_file_read_iter,
+	.read_iter	= f2fs_file_read_iter,
 	.write_iter	= f2fs_file_write_iter,
 	.open		= f2fs_file_open,
 	.release	= f2fs_release_file,
diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c
index b3d3996..db8725d 100644
--- a/fs/f2fs/gc.c
+++ b/fs/f2fs/gc.c
@@ -78,18 +78,18 @@
 		 */
 		if (sbi->gc_mode == GC_URGENT) {
 			wait_ms = gc_th->urgent_sleep_time;
-			mutex_lock(&sbi->gc_mutex);
+			down_write(&sbi->gc_lock);
 			goto do_gc;
 		}
 
-		if (!mutex_trylock(&sbi->gc_mutex)) {
+		if (!down_write_trylock(&sbi->gc_lock)) {
 			stat_other_skip_bggc_count(sbi);
 			goto next;
 		}
 
 		if (!is_idle(sbi, GC_TIME)) {
 			increase_sleep_time(gc_th, &wait_ms);
-			mutex_unlock(&sbi->gc_mutex);
+			up_write(&sbi->gc_lock);
 			stat_io_skip_bggc_count(sbi);
 			goto next;
 		}
@@ -99,7 +99,7 @@
 		else
 			increase_sleep_time(gc_th, &wait_ms);
 do_gc:
-		stat_inc_bggc_count(sbi);
+		stat_inc_bggc_count(sbi->stat_info);
 
 		/* if return value is not zero, no victim was selected */
 		if (f2fs_gc(sbi, test_opt(sbi, FORCE_FG_GC), true, NULL_SEGNO))
@@ -1049,8 +1049,10 @@
 
 		if (phase == 3) {
 			inode = f2fs_iget(sb, dni.ino);
-			if (IS_ERR(inode) || is_bad_inode(inode))
+			if (IS_ERR(inode) || is_bad_inode(inode)) {
+				set_sbi_flag(sbi, SBI_NEED_FSCK);
 				continue;
+			}
 
 			if (!down_write_trylock(
 				&F2FS_I(inode)->i_gc_rwsem[WRITE])) {
@@ -1368,7 +1370,7 @@
 				reserved_segments(sbi),
 				prefree_segments(sbi));
 
-	mutex_unlock(&sbi->gc_mutex);
+	up_write(&sbi->gc_lock);
 
 	put_gc_inode(&gc_list);
 
@@ -1407,9 +1409,9 @@
 			.iroot = RADIX_TREE_INIT(gc_list.iroot, GFP_NOFS),
 		};
 
-		mutex_lock(&sbi->gc_mutex);
+		down_write(&sbi->gc_lock);
 		do_garbage_collect(sbi, segno, &gc_list, FG_GC);
-		mutex_unlock(&sbi->gc_mutex);
+		up_write(&sbi->gc_lock);
 		put_gc_inode(&gc_list);
 
 		if (get_valid_blocks(sbi, segno, true))
diff --git a/fs/f2fs/hash.c b/fs/f2fs/hash.c
index 5bc4dcd..8f7ee43 100644
--- a/fs/f2fs/hash.c
+++ b/fs/f2fs/hash.c
@@ -68,8 +68,9 @@
 		*buf++ = pad;
 }
 
-static f2fs_hash_t __f2fs_dentry_hash(const struct qstr *name_info,
-				struct fscrypt_name *fname)
+static f2fs_hash_t __f2fs_dentry_hash(const struct inode *dir,
+				const struct qstr *name_info,
+				const struct fscrypt_name *fname)
 {
 	__u32 hash;
 	f2fs_hash_t f2fs_hash;
@@ -79,12 +80,17 @@
 	size_t len = name_info->len;
 
 	/* encrypted bigname case */
-	if (fname && !fname->disk_name.name)
+	if (fname && fname->is_ciphertext_name)
 		return cpu_to_le32(fname->hash);
 
 	if (is_dot_dotdot(name_info))
 		return 0;
 
+	if (IS_CASEFOLDED(dir) && IS_ENCRYPTED(dir)) {
+		f2fs_hash = cpu_to_le32(fscrypt_fname_siphash(dir, name_info));
+		return f2fs_hash;
+	}
+
 	/* Initialize the default seed for the hash checksum functions */
 	buf[0] = 0x67452301;
 	buf[1] = 0xefcdab89;
@@ -106,35 +112,38 @@
 }
 
 f2fs_hash_t f2fs_dentry_hash(const struct inode *dir,
-		const struct qstr *name_info, struct fscrypt_name *fname)
+		const struct qstr *name_info, const struct fscrypt_name *fname)
 {
 #ifdef CONFIG_UNICODE
 	struct f2fs_sb_info *sbi = F2FS_SB(dir->i_sb);
-	const struct unicode_map *um = sbi->s_encoding;
+	const struct unicode_map *um = dir->i_sb->s_encoding;
 	int r, dlen;
 	unsigned char *buff;
 	struct qstr folded;
+	const struct qstr *name = fname ? fname->usr_fname : name_info;
 
 	if (!name_info->len || !IS_CASEFOLDED(dir))
 		goto opaque_seq;
 
+	if (IS_ENCRYPTED(dir) && !fscrypt_has_encryption_key(dir))
+		goto opaque_seq;
+
 	buff = f2fs_kzalloc(sbi, sizeof(char) * PATH_MAX, GFP_KERNEL);
 	if (!buff)
 		return -ENOMEM;
-
-	dlen = utf8_casefold(um, name_info, buff, PATH_MAX);
+	dlen = utf8_casefold(um, name, buff, PATH_MAX);
 	if (dlen < 0) {
 		kvfree(buff);
 		goto opaque_seq;
 	}
 	folded.name = buff;
 	folded.len = dlen;
-	r = __f2fs_dentry_hash(&folded, fname);
+	r = __f2fs_dentry_hash(dir, &folded, fname);
 
 	kvfree(buff);
 	return r;
 
 opaque_seq:
 #endif
-	return __f2fs_dentry_hash(name_info, fname);
+	return __f2fs_dentry_hash(dir, name_info, fname);
 }
diff --git a/fs/f2fs/inline.c b/fs/f2fs/inline.c
index e98d53d..c68a323 100644
--- a/fs/f2fs/inline.c
+++ b/fs/f2fs/inline.c
@@ -386,7 +386,7 @@
 	struct f2fs_dentry_ptr src, dst;
 	int err;
 
-	page = f2fs_grab_cache_page(dir->i_mapping, 0, false);
+	page = f2fs_grab_cache_page(dir->i_mapping, 0, true);
 	if (!page) {
 		f2fs_put_page(ipage, 1);
 		return -ENOMEM;
@@ -483,8 +483,8 @@
 		ino = le32_to_cpu(de->ino);
 		fake_mode = f2fs_get_de_type(de) << S_SHIFT;
 
-		err = f2fs_add_regular_entry(dir, &new_name, NULL, NULL,
-							ino, fake_mode);
+		err = f2fs_add_regular_entry(dir, &new_name, NULL,
+					de->hash_code, NULL, ino, fake_mode);
 		if (err)
 			goto punch_dentry_pages;
 
@@ -548,7 +548,7 @@
 	return err;
 }
 
-static int f2fs_convert_inline_dir(struct inode *dir, struct page *ipage,
+static int do_convert_inline_dir(struct inode *dir, struct page *ipage,
 							void *inline_dentry)
 {
 	if (!F2FS_I(dir)->i_dir_level)
@@ -557,8 +557,46 @@
 		return f2fs_move_rehashed_dirents(dir, ipage, inline_dentry);
 }
 
+int f2fs_try_convert_inline_dir(struct inode *dir, struct dentry *dentry)
+{
+	struct f2fs_sb_info *sbi = F2FS_I_SB(dir);
+	struct page *ipage;
+	struct fscrypt_name fname;
+	void *inline_dentry = NULL;
+	int err = 0;
+
+	if (!f2fs_has_inline_dentry(dir))
+		return 0;
+
+	f2fs_lock_op(sbi);
+
+	err = fscrypt_setup_filename(dir, &dentry->d_name, 0, &fname);
+	if (err)
+		goto out;
+
+	ipage = f2fs_get_node_page(sbi, dir->i_ino);
+	if (IS_ERR(ipage)) {
+		err = PTR_ERR(ipage);
+		goto out;
+	}
+
+	if (f2fs_has_enough_room(dir, ipage, &fname)) {
+		f2fs_put_page(ipage, 1);
+		goto out;
+	}
+
+	inline_dentry = inline_data_addr(dir, ipage);
+
+	err = do_convert_inline_dir(dir, ipage, inline_dentry);
+	if (!err)
+		f2fs_put_page(ipage, 1);
+out:
+	f2fs_unlock_op(sbi);
+	return err;
+}
+
 int f2fs_add_inline_entry(struct inode *dir, const struct qstr *new_name,
-				const struct qstr *orig_name,
+				const struct fscrypt_name *fname,
 				struct inode *inode, nid_t ino, umode_t mode)
 {
 	struct f2fs_sb_info *sbi = F2FS_I_SB(dir);
@@ -569,6 +607,7 @@
 	struct f2fs_dentry_ptr d;
 	int slots = GET_DENTRY_SLOTS(new_name->len);
 	struct page *page = NULL;
+	const struct qstr *orig_name = fname->usr_fname;
 	int err = 0;
 
 	ipage = f2fs_get_node_page(sbi, dir->i_ino);
@@ -580,7 +619,7 @@
 
 	bit_pos = f2fs_room_for_filename(d.bitmap, slots, d.max);
 	if (bit_pos >= d.max) {
-		err = f2fs_convert_inline_dir(dir, ipage, inline_dentry);
+		err = do_convert_inline_dir(dir, ipage, inline_dentry);
 		if (err)
 			return err;
 		err = -EAGAIN;
@@ -599,7 +638,7 @@
 
 	f2fs_wait_on_page_writeback(ipage, NODE, true, true);
 
-	name_hash = f2fs_dentry_hash(dir, new_name, NULL);
+	name_hash = f2fs_dentry_hash(dir, new_name, fname);
 	f2fs_update_dentry(ino, mode, &d, new_name, name_hash, bit_pos);
 
 	set_page_dirty(ipage);
diff --git a/fs/f2fs/inode.c b/fs/f2fs/inode.c
index 502bd49..78c3f1d 100644
--- a/fs/f2fs/inode.c
+++ b/fs/f2fs/inode.c
@@ -200,6 +200,7 @@
 {
 	struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
 	struct f2fs_inode_info *fi = F2FS_I(inode);
+	struct f2fs_inode *ri = F2FS_INODE(node_page);
 	unsigned long long iblocks;
 
 	iblocks = le64_to_cpu(F2FS_INODE(node_page)->i_blocks);
@@ -286,6 +287,19 @@
 		return false;
 	}
 
+	if (f2fs_has_extra_attr(inode) && f2fs_sb_has_compression(sbi) &&
+			fi->i_flags & F2FS_COMPR_FL &&
+			F2FS_FITS_IN_INODE(ri, fi->i_extra_isize,
+						i_log_cluster_size)) {
+		if (ri->i_compress_algorithm >= COMPRESS_MAX)
+			return false;
+		if (le64_to_cpu(ri->i_compr_blocks) > inode->i_blocks)
+			return false;
+		if (ri->i_log_cluster_size < MIN_COMPRESS_LOG_SIZE ||
+			ri->i_log_cluster_size > MAX_COMPRESS_LOG_SIZE)
+			return false;
+	}
+
 	return true;
 }
 
@@ -407,6 +421,18 @@
 		fi->i_crtime.tv_nsec = le32_to_cpu(ri->i_crtime_nsec);
 	}
 
+	if (f2fs_has_extra_attr(inode) && f2fs_sb_has_compression(sbi) &&
+					(fi->i_flags & F2FS_COMPR_FL)) {
+		if (F2FS_FITS_IN_INODE(ri, fi->i_extra_isize,
+					i_log_cluster_size)) {
+			fi->i_compr_blocks = le64_to_cpu(ri->i_compr_blocks);
+			fi->i_compress_algorithm = ri->i_compress_algorithm;
+			fi->i_log_cluster_size = ri->i_log_cluster_size;
+			fi->i_cluster_size = 1 << fi->i_log_cluster_size;
+			set_inode_flag(inode, FI_COMPRESSED_FILE);
+		}
+	}
+
 	F2FS_I(inode)->i_disk_time[0] = inode->i_atime;
 	F2FS_I(inode)->i_disk_time[1] = inode->i_ctime;
 	F2FS_I(inode)->i_disk_time[2] = inode->i_mtime;
@@ -416,6 +442,8 @@
 	stat_inc_inline_xattr(inode);
 	stat_inc_inline_inode(inode);
 	stat_inc_inline_dir(inode);
+	stat_inc_compr_inode(inode);
+	stat_add_compr_blocks(inode, F2FS_I(inode)->i_compr_blocks);
 
 	return 0;
 }
@@ -569,6 +597,17 @@
 			ri->i_crtime_nsec =
 				cpu_to_le32(F2FS_I(inode)->i_crtime.tv_nsec);
 		}
+
+		if (f2fs_sb_has_compression(F2FS_I_SB(inode)) &&
+			F2FS_FITS_IN_INODE(ri, F2FS_I(inode)->i_extra_isize,
+							i_log_cluster_size)) {
+			ri->i_compr_blocks =
+				cpu_to_le64(F2FS_I(inode)->i_compr_blocks);
+			ri->i_compress_algorithm =
+				F2FS_I(inode)->i_compress_algorithm;
+			ri->i_log_cluster_size =
+				F2FS_I(inode)->i_log_cluster_size;
+		}
 	}
 
 	__set_inode_rdev(inode, ri);
@@ -711,6 +750,8 @@
 	stat_dec_inline_xattr(inode);
 	stat_dec_inline_dir(inode);
 	stat_dec_inline_inode(inode);
+	stat_dec_compr_inode(inode);
+	stat_sub_compr_blocks(inode, F2FS_I(inode)->i_compr_blocks);
 
 	if (likely(!f2fs_cp_error(sbi) &&
 				!is_sbi_flag_set(sbi, SBI_CP_DISABLED)))
diff --git a/fs/f2fs/namei.c b/fs/f2fs/namei.c
index a1c507b..24d68ea 100644
--- a/fs/f2fs/namei.c
+++ b/fs/f2fs/namei.c
@@ -119,6 +119,13 @@
 	if (F2FS_I(inode)->i_flags & F2FS_PROJINHERIT_FL)
 		set_inode_flag(inode, FI_PROJ_INHERIT);
 
+	if (f2fs_sb_has_compression(sbi)) {
+		/* Inherit the compression flag in directory */
+		if ((F2FS_I(dir)->i_flags & F2FS_COMPR_FL) &&
+					f2fs_may_compress(inode))
+			set_compress_context(inode);
+	}
+
 	f2fs_set_inode_flags(inode);
 
 	trace_f2fs_new_inode(inode, 0);
@@ -149,6 +156,9 @@
 	size_t sublen = strlen(sub);
 	int i;
 
+	if (sublen == 1 && *sub == '*')
+		return 1;
+
 	/*
 	 * filename format of multimedia file should be defined as:
 	 * "filename + '.' + extension + (optional: '.' + temp extension)".
@@ -262,6 +272,45 @@
 	return 0;
 }
 
+static void set_compress_inode(struct f2fs_sb_info *sbi, struct inode *inode,
+						const unsigned char *name)
+{
+	__u8 (*extlist)[F2FS_EXTENSION_LEN] = sbi->raw_super->extension_list;
+	unsigned char (*ext)[F2FS_EXTENSION_LEN];
+	unsigned int ext_cnt = F2FS_OPTION(sbi).compress_ext_cnt;
+	int i, cold_count, hot_count;
+
+	if (!f2fs_sb_has_compression(sbi) ||
+			is_inode_flag_set(inode, FI_COMPRESSED_FILE) ||
+			F2FS_I(inode)->i_flags & F2FS_NOCOMP_FL ||
+			!f2fs_may_compress(inode))
+		return;
+
+	down_read(&sbi->sb_lock);
+
+	cold_count = le32_to_cpu(sbi->raw_super->extension_count);
+	hot_count = sbi->raw_super->hot_ext_count;
+
+	for (i = cold_count; i < cold_count + hot_count; i++) {
+		if (is_extension_exist(name, extlist[i])) {
+			up_read(&sbi->sb_lock);
+			return;
+		}
+	}
+
+	up_read(&sbi->sb_lock);
+
+	ext = F2FS_OPTION(sbi).extensions;
+
+	for (i = 0; i < ext_cnt; i++) {
+		if (!is_extension_exist(name, ext[i]))
+			continue;
+
+		set_compress_context(inode);
+		return;
+	}
+}
+
 static int f2fs_create(struct inode *dir, struct dentry *dentry, umode_t mode,
 						bool excl)
 {
@@ -286,6 +335,8 @@
 	if (!test_opt(sbi, DISABLE_EXT_IDENTIFY))
 		set_file_temperature(sbi, inode, dentry->d_name.name);
 
+	set_compress_inode(sbi, inode, dentry->d_name.name);
+
 	inode->i_op = &f2fs_file_inode_operations;
 	inode->i_fop = &f2fs_file_operations;
 	inode->i_mapping->a_ops = &f2fs_dblock_aops;
@@ -443,6 +494,7 @@
 	}
 
 	err = fscrypt_prepare_lookup(dir, dentry, &fname);
+	generic_set_encrypted_ci_d_ops(dir, dentry);
 	if (err == -ENOENT)
 		goto out_splice;
 	if (err)
@@ -797,6 +849,7 @@
 
 	if (whiteout) {
 		f2fs_i_links_write(inode, false);
+		inode->i_state |= I_LINKABLE;
 		*whiteout = inode;
 	} else {
 		d_tmpfile(dentry, inode);
@@ -849,12 +902,11 @@
 	struct inode *old_inode = d_inode(old_dentry);
 	struct inode *new_inode = d_inode(new_dentry);
 	struct inode *whiteout = NULL;
-	struct page *old_dir_page;
+	struct page *old_dir_page = NULL;
 	struct page *old_page, *new_page = NULL;
 	struct f2fs_dir_entry *old_dir_entry = NULL;
 	struct f2fs_dir_entry *old_entry;
 	struct f2fs_dir_entry *new_entry;
-	bool is_old_inline = f2fs_has_inline_dentry(old_dir);
 	int err;
 
 	if (unlikely(f2fs_cp_error(sbi)))
@@ -867,6 +919,26 @@
 			F2FS_I(old_dentry->d_inode)->i_projid)))
 		return -EXDEV;
 
+	/*
+	 * If new_inode is null, the below renaming flow will
+	 * add a link in old_dir which can conver inline_dir.
+	 * After then, if we failed to get the entry due to other
+	 * reasons like ENOMEM, we had to remove the new entry.
+	 * Instead of adding such the error handling routine, let's
+	 * simply convert first here.
+	 */
+	if (old_dir == new_dir && !new_inode) {
+		err = f2fs_try_convert_inline_dir(old_dir, new_dentry);
+		if (err)
+			return err;
+	}
+
+	if (flags & RENAME_WHITEOUT) {
+		err = f2fs_create_whiteout(old_dir, &whiteout);
+		if (err)
+			return err;
+	}
+
 	err = dquot_initialize(old_dir);
 	if (err)
 		goto out;
@@ -898,17 +970,11 @@
 		}
 	}
 
-	if (flags & RENAME_WHITEOUT) {
-		err = f2fs_create_whiteout(old_dir, &whiteout);
-		if (err)
-			goto out_dir;
-	}
-
 	if (new_inode) {
 
 		err = -ENOTEMPTY;
 		if (old_dir_entry && !f2fs_empty_dir(new_inode))
-			goto out_whiteout;
+			goto out_dir;
 
 		err = -ENOENT;
 		new_entry = f2fs_find_entry(new_dir, &new_dentry->d_name,
@@ -916,7 +982,7 @@
 		if (!new_entry) {
 			if (IS_ERR(new_page))
 				err = PTR_ERR(new_page);
-			goto out_whiteout;
+			goto out_dir;
 		}
 
 		f2fs_balance_fs(sbi, true);
@@ -928,6 +994,7 @@
 			goto put_out_dir;
 
 		f2fs_set_link(new_dir, new_entry, new_page, old_inode);
+		new_page = NULL;
 
 		new_inode->i_ctime = current_time(new_inode);
 		down_write(&F2FS_I(new_inode)->i_sem);
@@ -948,33 +1015,11 @@
 		err = f2fs_add_link(new_dentry, old_inode);
 		if (err) {
 			f2fs_unlock_op(sbi);
-			goto out_whiteout;
+			goto out_dir;
 		}
 
 		if (old_dir_entry)
 			f2fs_i_links_write(new_dir, true);
-
-		/*
-		 * old entry and new entry can locate in the same inline
-		 * dentry in inode, when attaching new entry in inline dentry,
-		 * it could force inline dentry conversion, after that,
-		 * old_entry and old_page will point to wrong address, in
-		 * order to avoid this, let's do the check and update here.
-		 */
-		if (is_old_inline && !f2fs_has_inline_dentry(old_dir)) {
-			f2fs_put_page(old_page, 0);
-			old_page = NULL;
-
-			old_entry = f2fs_find_entry(old_dir,
-						&old_dentry->d_name, &old_page);
-			if (!old_entry) {
-				err = -ENOENT;
-				if (IS_ERR(old_page))
-					err = PTR_ERR(old_page);
-				f2fs_unlock_op(sbi);
-				goto out_whiteout;
-			}
-		}
 	}
 
 	down_write(&F2FS_I(old_inode)->i_sem);
@@ -989,9 +1034,9 @@
 	f2fs_mark_inode_dirty_sync(old_inode, false);
 
 	f2fs_delete_entry(old_entry, old_page, old_dir, NULL);
+	old_page = NULL;
 
 	if (whiteout) {
-		whiteout->i_state |= I_LINKABLE;
 		set_inode_flag(whiteout, FI_INC_LINK);
 		err = f2fs_add_link(old_dentry, whiteout);
 		if (err)
@@ -1025,17 +1070,15 @@
 
 put_out_dir:
 	f2fs_unlock_op(sbi);
-	if (new_page)
-		f2fs_put_page(new_page, 0);
-out_whiteout:
-	if (whiteout)
-		iput(whiteout);
+	f2fs_put_page(new_page, 0);
 out_dir:
 	if (old_dir_entry)
 		f2fs_put_page(old_dir_page, 0);
 out_old:
 	f2fs_put_page(old_page, 0);
 out:
+	if (whiteout)
+		iput(whiteout);
 	return err;
 }
 
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index 110f380..469990a 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -334,7 +334,6 @@
 	}
 
 	fi->i_gc_failures[GC_FAILURE_ATOMIC] = 0;
-	stat_dec_atomic_write(inode);
 
 	spin_lock(&sbi->inode_lock[ATOMIC_FILE]);
 	if (!list_empty(&fi->inmem_ilist))
@@ -505,7 +504,7 @@
 	 * dir/node pages without enough free segments.
 	 */
 	if (has_not_enough_free_secs(sbi, 0, 0)) {
-		mutex_lock(&sbi->gc_mutex);
+		down_write(&sbi->gc_lock);
 		f2fs_gc(sbi, false, false, NULL_SEGNO);
 	}
 }
@@ -2232,7 +2231,7 @@
 	struct sit_info *sit_i = SIT_I(sbi);
 
 	f2fs_bug_on(sbi, addr == NULL_ADDR);
-	if (addr == NEW_ADDR)
+	if (addr == NEW_ADDR || addr == COMPRESS_ADDR)
 		return;
 
 	invalidate_mapping_pages(META_MAPPING(sbi), addr, addr);
@@ -2868,9 +2867,9 @@
 	if (sbi->discard_blks == 0)
 		goto out;
 
-	mutex_lock(&sbi->gc_mutex);
+	down_write(&sbi->gc_lock);
 	err = f2fs_write_checkpoint(sbi, &cpc);
-	mutex_unlock(&sbi->gc_mutex);
+	up_write(&sbi->gc_lock);
 	if (err)
 		goto out;
 
@@ -3043,7 +3042,8 @@
 	if (fio->type == DATA) {
 		struct inode *inode = fio->page->mapping->host;
 
-		if (is_cold_data(fio->page) || file_is_cold(inode))
+		if (is_cold_data(fio->page) || file_is_cold(inode) ||
+				f2fs_compressed_file(inode))
 			return CURSEG_COLD_DATA;
 		if (file_is_hot(inode) ||
 				is_inode_flag_set(inode, FI_HOT_DATA) ||
@@ -3296,7 +3296,7 @@
 
 	stat_inc_inplace_blocks(fio->sbi);
 
-	if (fio->bio)
+	if (fio->bio && !(SM_I(sbi)->ipu_policy & (1 << F2FS_IPU_NOCACHE)))
 		err = f2fs_merge_page_bio(fio);
 	else
 		err = f2fs_submit_page_bio(fio);
diff --git a/fs/f2fs/segment.h b/fs/f2fs/segment.h
index a95467b..459dc39 100644
--- a/fs/f2fs/segment.h
+++ b/fs/f2fs/segment.h
@@ -200,18 +200,6 @@
 	void (*allocate_segment)(struct f2fs_sb_info *, int, bool);
 };
 
-/*
- * this value is set in page as a private data which indicate that
- * the page is atomically written, and it is in inmem_pages list.
- */
-#define ATOMIC_WRITTEN_PAGE		((unsigned long)-1)
-#define DUMMY_WRITTEN_PAGE		((unsigned long)-2)
-
-#define IS_ATOMIC_WRITTEN_PAGE(page)			\
-		(page_private(page) == (unsigned long)ATOMIC_WRITTEN_PAGE)
-#define IS_DUMMY_WRITTEN_PAGE(page)			\
-		(page_private(page) == (unsigned long)DUMMY_WRITTEN_PAGE)
-
 #define MAX_SKIP_GC_COUNT			16
 
 struct inmem_pages {
@@ -619,8 +607,10 @@
  *                     threashold,
  * F2FS_IPU_FSYNC - activated in fsync path only for high performance flash
  *                     storages. IPU will be triggered only if the # of dirty
- *                     pages over min_fsync_blocks.
- * F2FS_IPUT_DISABLE - disable IPU. (=default option)
+ *                     pages over min_fsync_blocks. (=default option)
+ * F2FS_IPU_ASYNC - do IPU given by asynchronous write requests.
+ * F2FS_IPU_NOCACHE - disable IPU bio cache.
+ * F2FS_IPUT_DISABLE - disable IPU. (=default option in LFS mode)
  */
 #define DEF_MIN_IPU_UTIL	70
 #define DEF_MIN_FSYNC_BLOCKS	8
@@ -635,6 +625,7 @@
 	F2FS_IPU_SSR_UTIL,
 	F2FS_IPU_FSYNC,
 	F2FS_IPU_ASYNC,
+	F2FS_IPU_NOCACHE,
 };
 
 static inline unsigned int curseg_segno(struct f2fs_sb_info *sbi,
diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index 9be6d2c..ff8f156 100644
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -142,6 +142,9 @@
 	Opt_checkpoint_disable_cap,
 	Opt_checkpoint_disable_cap_perc,
 	Opt_checkpoint_enable,
+	Opt_compress_algorithm,
+	Opt_compress_log_size,
+	Opt_compress_extension,
 	Opt_err,
 };
 
@@ -205,6 +208,9 @@
 	{Opt_checkpoint_disable_cap, "checkpoint=disable:%u"},
 	{Opt_checkpoint_disable_cap_perc, "checkpoint=disable:%u%%"},
 	{Opt_checkpoint_enable, "checkpoint=enable"},
+	{Opt_compress_algorithm, "compress_algorithm=%s"},
+	{Opt_compress_log_size, "compress_log_size=%u"},
+	{Opt_compress_extension, "compress_extension=%s"},
 	{Opt_err, NULL},
 };
 
@@ -393,8 +399,9 @@
 {
 	struct f2fs_sb_info *sbi = F2FS_SB(sb);
 	substring_t args[MAX_OPT_ARGS];
+	unsigned char (*ext)[F2FS_EXTENSION_LEN];
 	char *p, *name;
-	int arg = 0;
+	int arg = 0, ext_cnt;
 	kuid_t uid;
 	kgid_t gid;
 #ifdef CONFIG_QUOTA
@@ -819,6 +826,66 @@
 		case Opt_checkpoint_enable:
 			clear_opt(sbi, DISABLE_CHECKPOINT);
 			break;
+		case Opt_compress_algorithm:
+			if (!f2fs_sb_has_compression(sbi)) {
+				f2fs_err(sbi, "Compression feature if off");
+				return -EINVAL;
+			}
+			name = match_strdup(&args[0]);
+			if (!name)
+				return -ENOMEM;
+			if (strlen(name) == 3 && !strcmp(name, "lzo")) {
+				F2FS_OPTION(sbi).compress_algorithm =
+								COMPRESS_LZO;
+			} else if (strlen(name) == 3 &&
+					!strcmp(name, "lz4")) {
+				F2FS_OPTION(sbi).compress_algorithm =
+								COMPRESS_LZ4;
+			} else {
+				kfree(name);
+				return -EINVAL;
+			}
+			kfree(name);
+			break;
+		case Opt_compress_log_size:
+			if (!f2fs_sb_has_compression(sbi)) {
+				f2fs_err(sbi, "Compression feature is off");
+				return -EINVAL;
+			}
+			if (args->from && match_int(args, &arg))
+				return -EINVAL;
+			if (arg < MIN_COMPRESS_LOG_SIZE ||
+				arg > MAX_COMPRESS_LOG_SIZE) {
+				f2fs_err(sbi,
+					"Compress cluster log size is out of range");
+				return -EINVAL;
+			}
+			F2FS_OPTION(sbi).compress_log_size = arg;
+			break;
+		case Opt_compress_extension:
+			if (!f2fs_sb_has_compression(sbi)) {
+				f2fs_err(sbi, "Compression feature is off");
+				return -EINVAL;
+			}
+			name = match_strdup(&args[0]);
+			if (!name)
+				return -ENOMEM;
+
+			ext = F2FS_OPTION(sbi).extensions;
+			ext_cnt = F2FS_OPTION(sbi).compress_ext_cnt;
+
+			if (strlen(name) >= F2FS_EXTENSION_LEN ||
+				ext_cnt >= COMPRESS_EXT_NUM) {
+				f2fs_err(sbi,
+					"invalid extension length/number");
+				kfree(name);
+				return -EINVAL;
+			}
+
+			strcpy(ext[ext_cnt], name);
+			F2FS_OPTION(sbi).compress_ext_cnt++;
+			kfree(name);
+			break;
 		default:
 			f2fs_err(sbi, "Unrecognized mount option \"%s\" or missing value",
 				 p);
@@ -1142,6 +1209,8 @@
 	f2fs_destroy_node_manager(sbi);
 	f2fs_destroy_segment_manager(sbi);
 
+	f2fs_destroy_post_read_wq(sbi);
+
 	kvfree(sbi->ckpt);
 
 	f2fs_unregister_sysfs(sbi);
@@ -1161,7 +1230,7 @@
 	for (i = 0; i < NR_PAGE_TYPE; i++)
 		kvfree(sbi->write_io[i]);
 #ifdef CONFIG_UNICODE
-	utf8_unload(sbi->s_encoding);
+	utf8_unload(sb->s_encoding);
 #endif
 	kvfree(sbi);
 }
@@ -1186,9 +1255,9 @@
 
 		cpc.reason = __get_cp_reason(sbi);
 
-		mutex_lock(&sbi->gc_mutex);
+		down_write(&sbi->gc_lock);
 		err = f2fs_write_checkpoint(sbi, &cpc);
-		mutex_unlock(&sbi->gc_mutex);
+		up_write(&sbi->gc_lock);
 	}
 	f2fs_trace_ios(NULL, 1);
 
@@ -1230,12 +1299,10 @@
 		return PTR_ERR(dquot);
 	spin_lock(&dquot->dq_dqb_lock);
 
-	limit = 0;
-	if (dquot->dq_dqb.dqb_bsoftlimit)
-		limit = dquot->dq_dqb.dqb_bsoftlimit;
-	if (dquot->dq_dqb.dqb_bhardlimit &&
-			(!limit || dquot->dq_dqb.dqb_bhardlimit < limit))
-		limit = dquot->dq_dqb.dqb_bhardlimit;
+	limit = min_not_zero(dquot->dq_dqb.dqb_bsoftlimit,
+					dquot->dq_dqb.dqb_bhardlimit);
+	if (limit)
+		limit >>= sb->s_blocksize_bits;
 
 	if (limit && buf->f_blocks > limit) {
 		curblock = dquot->dq_dqb.dqb_curspace >> sb->s_blocksize_bits;
@@ -1245,12 +1312,8 @@
 			 (buf->f_blocks - curblock) : 0;
 	}
 
-	limit = 0;
-	if (dquot->dq_dqb.dqb_isoftlimit)
-		limit = dquot->dq_dqb.dqb_isoftlimit;
-	if (dquot->dq_dqb.dqb_ihardlimit &&
-			(!limit || dquot->dq_dqb.dqb_ihardlimit < limit))
-		limit = dquot->dq_dqb.dqb_ihardlimit;
+	limit = min_not_zero(dquot->dq_dqb.dqb_isoftlimit,
+					dquot->dq_dqb.dqb_ihardlimit);
 
 	if (limit && buf->f_files > limit) {
 		buf->f_files = limit;
@@ -1357,6 +1420,35 @@
 #endif
 }
 
+static inline void f2fs_show_compress_options(struct seq_file *seq,
+							struct super_block *sb)
+{
+	struct f2fs_sb_info *sbi = F2FS_SB(sb);
+	char *algtype = "";
+	int i;
+
+	if (!f2fs_sb_has_compression(sbi))
+		return;
+
+	switch (F2FS_OPTION(sbi).compress_algorithm) {
+	case COMPRESS_LZO:
+		algtype = "lzo";
+		break;
+	case COMPRESS_LZ4:
+		algtype = "lz4";
+		break;
+	}
+	seq_printf(seq, ",compress_algorithm=%s", algtype);
+
+	seq_printf(seq, ",compress_log_size=%u",
+			F2FS_OPTION(sbi).compress_log_size);
+
+	for (i = 0; i < F2FS_OPTION(sbi).compress_ext_cnt; i++) {
+		seq_printf(seq, ",compress_extension=%s",
+			F2FS_OPTION(sbi).extensions[i]);
+	}
+}
+
 static int f2fs_show_options(struct seq_file *seq, struct dentry *root)
 {
 	struct f2fs_sb_info *sbi = F2FS_SB(root->d_sb);
@@ -1481,6 +1573,8 @@
 		seq_printf(seq, ",fsync_mode=%s", "strict");
 	else if (F2FS_OPTION(sbi).fsync_mode == FSYNC_MODE_NOBARRIER)
 		seq_printf(seq, ",fsync_mode=%s", "nobarrier");
+
+	f2fs_show_compress_options(seq, sbi->sb);
 	return 0;
 }
 
@@ -1498,6 +1592,9 @@
 #endif
 	F2FS_OPTION(sbi).s_resuid = make_kuid(&init_user_ns, F2FS_DEF_RESUID);
 	F2FS_OPTION(sbi).s_resgid = make_kgid(&init_user_ns, F2FS_DEF_RESGID);
+	F2FS_OPTION(sbi).compress_algorithm = COMPRESS_LZO;
+	F2FS_OPTION(sbi).compress_log_size = MIN_COMPRESS_LOG_SIZE;
+	F2FS_OPTION(sbi).compress_ext_cnt = 0;
 
 	set_opt(sbi, BG_GC);
 	set_opt(sbi, INLINE_XATTR);
@@ -1546,7 +1643,7 @@
 	f2fs_update_time(sbi, DISABLE_TIME);
 
 	while (!f2fs_time_over(sbi, DISABLE_TIME)) {
-		mutex_lock(&sbi->gc_mutex);
+		down_write(&sbi->gc_lock);
 		err = f2fs_gc(sbi, true, false, NULL_SEGNO);
 		if (err == -ENODATA) {
 			err = 0;
@@ -1568,7 +1665,7 @@
 		goto restore_flag;
 	}
 
-	mutex_lock(&sbi->gc_mutex);
+	down_write(&sbi->gc_lock);
 	cpc.reason = CP_PAUSE;
 	set_sbi_flag(sbi, SBI_CP_DISABLED);
 	err = f2fs_write_checkpoint(sbi, &cpc);
@@ -1580,7 +1677,7 @@
 	spin_unlock(&sbi->stat_lock);
 
 out_unlock:
-	mutex_unlock(&sbi->gc_mutex);
+	up_write(&sbi->gc_lock);
 restore_flag:
 	sbi->sb->s_flags = s_flags;	/* Restore MS_RDONLY status */
 	return err;
@@ -1588,12 +1685,12 @@
 
 static void f2fs_enable_checkpoint(struct f2fs_sb_info *sbi)
 {
-	mutex_lock(&sbi->gc_mutex);
+	down_write(&sbi->gc_lock);
 	f2fs_dirty_to_prefree(sbi);
 
 	clear_sbi_flag(sbi, SBI_CP_DISABLED);
 	set_sbi_flag(sbi, SBI_IS_DIRTY);
-	mutex_unlock(&sbi->gc_mutex);
+	up_write(&sbi->gc_lock);
 
 	f2fs_sync_fs(sbi->sb, 1);
 }
@@ -2180,7 +2277,7 @@
 	struct f2fs_sb_info *sbi = F2FS_SB(dquot->dq_sb);
 	int ret;
 
-	down_read(&sbi->quota_sem);
+	down_read_nested(&sbi->quota_sem, SINGLE_DEPTH_NESTING);
 	ret = dquot_commit(dquot);
 	if (ret < 0)
 		set_sbi_flag(sbi, SBI_QUOTA_NEED_REPAIR);
@@ -2204,13 +2301,10 @@
 static int f2fs_dquot_release(struct dquot *dquot)
 {
 	struct f2fs_sb_info *sbi = F2FS_SB(dquot->dq_sb);
-	int ret;
+	int ret = dquot_release(dquot);
 
-	down_read(&sbi->quota_sem);
-	ret = dquot_release(dquot);
 	if (ret < 0)
 		set_sbi_flag(sbi, SBI_QUOTA_NEED_REPAIR);
-	up_read(&sbi->quota_sem);
 	return ret;
 }
 
@@ -2218,29 +2312,22 @@
 {
 	struct super_block *sb = dquot->dq_sb;
 	struct f2fs_sb_info *sbi = F2FS_SB(sb);
-	int ret;
-
-	down_read(&sbi->quota_sem);
-	ret = dquot_mark_dquot_dirty(dquot);
+	int ret = dquot_mark_dquot_dirty(dquot);
 
 	/* if we are using journalled quota */
 	if (is_journalled_quota(sbi))
 		set_sbi_flag(sbi, SBI_QUOTA_NEED_FLUSH);
 
-	up_read(&sbi->quota_sem);
 	return ret;
 }
 
 static int f2fs_dquot_commit_info(struct super_block *sb, int type)
 {
 	struct f2fs_sb_info *sbi = F2FS_SB(sb);
-	int ret;
+	int ret = dquot_commit_info(sb, type);
 
-	down_read(&sbi->quota_sem);
-	ret = dquot_commit_info(sb, type);
 	if (ret < 0)
 		set_sbi_flag(sbi, SBI_QUOTA_NEED_REPAIR);
-	up_read(&sbi->quota_sem);
 	return ret;
 }
 
@@ -3212,17 +3299,11 @@
 static int f2fs_setup_casefold(struct f2fs_sb_info *sbi)
 {
 #ifdef CONFIG_UNICODE
-	if (f2fs_sb_has_casefold(sbi) && !sbi->s_encoding) {
+	if (f2fs_sb_has_casefold(sbi) && !sbi->sb->s_encoding) {
 		const struct f2fs_sb_encodings *encoding_info;
 		struct unicode_map *encoding;
 		__u16 encoding_flags;
 
-		if (f2fs_sb_has_encrypt(sbi)) {
-			f2fs_err(sbi,
-				"Can't mount with encoding and encryption");
-			return -EINVAL;
-		}
-
 		if (f2fs_sb_read_encoding(sbi->raw_super, &encoding_info,
 					  &encoding_flags)) {
 			f2fs_err(sbi,
@@ -3243,9 +3324,8 @@
 			 "%s-%s with flags 0x%hx", encoding_info->name,
 			 encoding_info->version?:"\b", encoding_flags);
 
-		sbi->s_encoding = encoding;
-		sbi->s_encoding_flags = encoding_flags;
-		sbi->sb->s_d_op = &f2fs_dentry_ops;
+		sbi->sb->s_encoding = encoding;
+		sbi->sb->s_encoding_flags = encoding_flags;
 	}
 #else
 	if (f2fs_sb_has_casefold(sbi)) {
@@ -3387,7 +3467,7 @@
 
 	/* init f2fs-specific super block info */
 	sbi->valid_super_block = valid_super_block;
-	mutex_init(&sbi->gc_mutex);
+	init_rwsem(&sbi->gc_lock);
 	mutex_init(&sbi->writepages);
 	mutex_init(&sbi->cp_mutex);
 	mutex_init(&sbi->resize_mutex);
@@ -3476,6 +3556,12 @@
 		goto free_devices;
 	}
 
+	err = f2fs_init_post_read_wq(sbi);
+	if (err) {
+		f2fs_err(sbi, "Failed to initialize post read workqueue");
+		goto free_devices;
+	}
+
 	sbi->total_valid_node_count =
 				le32_to_cpu(sbi->ckpt->valid_node_count);
 	percpu_counter_set(&sbi->total_valid_inode_count,
@@ -3697,6 +3783,7 @@
 	f2fs_destroy_node_manager(sbi);
 free_sm:
 	f2fs_destroy_segment_manager(sbi);
+	f2fs_destroy_post_read_wq(sbi);
 free_devices:
 	destroy_device_list(sbi);
 	kvfree(sbi->ckpt);
@@ -3713,7 +3800,7 @@
 		kvfree(sbi->write_io[i]);
 
 #ifdef CONFIG_UNICODE
-	utf8_unload(sbi->s_encoding);
+	utf8_unload(sb->s_encoding);
 #endif
 free_options:
 #ifdef CONFIG_QUOTA
@@ -3838,8 +3925,12 @@
 	err = f2fs_init_bio_entry_cache();
 	if (err)
 		goto free_post_read;
+	err = f2fs_init_bioset();
+	if (err)
+		goto free_bio_enrty_cache;
 	return 0;
-
+free_bio_enrty_cache:
+	f2fs_destroy_bio_entry_cache();
 free_post_read:
 	f2fs_destroy_post_read_processing();
 free_root_stats:
@@ -3865,6 +3956,7 @@
 
 static void __exit exit_f2fs_fs(void)
 {
+	f2fs_destroy_bioset();
 	f2fs_destroy_bio_entry_cache();
 	f2fs_destroy_post_read_processing();
 	f2fs_destroy_root_stats();
diff --git a/fs/f2fs/sysfs.c b/fs/f2fs/sysfs.c
index 62fab5f..a97b37c 100644
--- a/fs/f2fs/sysfs.c
+++ b/fs/f2fs/sysfs.c
@@ -25,6 +25,9 @@
 	DCC_INFO,	/* struct discard_cmd_control */
 	NM_INFO,	/* struct f2fs_nm_info */
 	F2FS_SBI,	/* struct f2fs_sb_info */
+#ifdef CONFIG_F2FS_STAT_FS
+	STAT_INFO,      /* struct f2fs_stat_info */
+#endif
 #ifdef CONFIG_F2FS_FAULT_INJECTION
 	FAULT_INFO_RATE,	/* struct f2fs_fault_info */
 	FAULT_INFO_TYPE,	/* struct f2fs_fault_info */
@@ -42,6 +45,9 @@
 	int id;
 };
 
+static ssize_t f2fs_sbi_show(struct f2fs_attr *a,
+			     struct f2fs_sb_info *sbi, char *buf);
+
 static unsigned char *__struct_ptr(struct f2fs_sb_info *sbi, int struct_type)
 {
 	if (struct_type == GC_THREAD)
@@ -59,41 +65,25 @@
 					struct_type == FAULT_INFO_TYPE)
 		return (unsigned char *)&F2FS_OPTION(sbi).fault_info;
 #endif
+#ifdef CONFIG_F2FS_STAT_FS
+	else if (struct_type == STAT_INFO)
+		return (unsigned char *)F2FS_STAT(sbi);
+#endif
 	return NULL;
 }
 
 static ssize_t dirty_segments_show(struct f2fs_attr *a,
 		struct f2fs_sb_info *sbi, char *buf)
 {
-	return snprintf(buf, PAGE_SIZE, "%llu\n",
-		(unsigned long long)(dirty_segments(sbi)));
+	return sprintf(buf, "%llu\n",
+			(unsigned long long)(dirty_segments(sbi)));
 }
 
-static ssize_t unusable_show(struct f2fs_attr *a,
+static ssize_t free_segments_show(struct f2fs_attr *a,
 		struct f2fs_sb_info *sbi, char *buf)
 {
-	block_t unusable;
-
-	if (test_opt(sbi, DISABLE_CHECKPOINT))
-		unusable = sbi->unusable_block_count;
-	else
-		unusable = f2fs_get_unusable_blocks(sbi);
-	return snprintf(buf, PAGE_SIZE, "%llu\n",
-		(unsigned long long)unusable);
-}
-
-static ssize_t encoding_show(struct f2fs_attr *a,
-		struct f2fs_sb_info *sbi, char *buf)
-{
-#ifdef CONFIG_UNICODE
-	if (f2fs_sb_has_casefold(sbi))
-		return snprintf(buf, PAGE_SIZE, "%s (%d.%d.%d)\n",
-			sbi->s_encoding->charset,
-			(sbi->s_encoding->version >> 16) & 0xff,
-			(sbi->s_encoding->version >> 8) & 0xff,
-			sbi->s_encoding->version & 0xff);
-#endif
-	return snprintf(buf, PAGE_SIZE, "(none)");
+	return sprintf(buf, "%llu\n",
+			(unsigned long long)(free_segments(sbi)));
 }
 
 static ssize_t lifetime_write_kbytes_show(struct f2fs_attr *a,
@@ -102,10 +92,10 @@
 	struct super_block *sb = sbi->sb;
 
 	if (!sb->s_bdev->bd_part)
-		return snprintf(buf, PAGE_SIZE, "0\n");
+		return sprintf(buf, "0\n");
 
-	return snprintf(buf, PAGE_SIZE, "%llu\n",
-		(unsigned long long)(sbi->kbytes_written +
+	return sprintf(buf, "%llu\n",
+			(unsigned long long)(sbi->kbytes_written +
 			BD_PART_WRITTEN(sbi)));
 }
 
@@ -116,7 +106,7 @@
 	int len = 0;
 
 	if (!sb->s_bdev->bd_part)
-		return snprintf(buf, PAGE_SIZE, "0\n");
+		return sprintf(buf, "0\n");
 
 	if (f2fs_sb_has_encrypt(sbi))
 		len += snprintf(buf, PAGE_SIZE - len, "%s",
@@ -154,6 +144,9 @@
 	if (f2fs_sb_has_casefold(sbi))
 		len += snprintf(buf + len, PAGE_SIZE - len, "%s%s",
 				len ? ", " : "", "casefold");
+	if (f2fs_sb_has_compression(sbi))
+		len += snprintf(buf + len, PAGE_SIZE - len, "%s%s",
+				len ? ", " : "", "compression");
 	len += snprintf(buf + len, PAGE_SIZE - len, "%s%s",
 				len ? ", " : "", "pin_file");
 	len += snprintf(buf + len, PAGE_SIZE - len, "\n");
@@ -163,9 +156,68 @@
 static ssize_t current_reserved_blocks_show(struct f2fs_attr *a,
 					struct f2fs_sb_info *sbi, char *buf)
 {
-	return snprintf(buf, PAGE_SIZE, "%u\n", sbi->current_reserved_blocks);
+	return sprintf(buf, "%u\n", sbi->current_reserved_blocks);
 }
 
+static ssize_t unusable_show(struct f2fs_attr *a,
+		struct f2fs_sb_info *sbi, char *buf)
+{
+	block_t unusable;
+
+	if (test_opt(sbi, DISABLE_CHECKPOINT))
+		unusable = sbi->unusable_block_count;
+	else
+		unusable = f2fs_get_unusable_blocks(sbi);
+	return sprintf(buf, "%llu\n", (unsigned long long)unusable);
+}
+
+static ssize_t encoding_show(struct f2fs_attr *a,
+		struct f2fs_sb_info *sbi, char *buf)
+{
+#ifdef CONFIG_UNICODE
+	struct super_block *sb = sbi->sb;
+
+	if (f2fs_sb_has_casefold(sbi))
+		return snprintf(buf, PAGE_SIZE, "%s (%d.%d.%d)\n",
+			sb->s_encoding->charset,
+			(sb->s_encoding->version >> 16) & 0xff,
+			(sb->s_encoding->version >> 8) & 0xff,
+			sb->s_encoding->version & 0xff);
+#endif
+	return sprintf(buf, "(none)");
+}
+
+#ifdef CONFIG_F2FS_STAT_FS
+static ssize_t moved_blocks_foreground_show(struct f2fs_attr *a,
+				struct f2fs_sb_info *sbi, char *buf)
+{
+	struct f2fs_stat_info *si = F2FS_STAT(sbi);
+
+	return sprintf(buf, "%llu\n",
+		(unsigned long long)(si->tot_blks -
+			(si->bg_data_blks + si->bg_node_blks)));
+}
+
+static ssize_t moved_blocks_background_show(struct f2fs_attr *a,
+				struct f2fs_sb_info *sbi, char *buf)
+{
+	struct f2fs_stat_info *si = F2FS_STAT(sbi);
+
+	return sprintf(buf, "%llu\n",
+		(unsigned long long)(si->bg_data_blks + si->bg_node_blks));
+}
+
+static ssize_t avg_vblocks_show(struct f2fs_attr *a,
+		struct f2fs_sb_info *sbi, char *buf)
+{
+	struct f2fs_stat_info *si = F2FS_STAT(sbi);
+
+	si->dirty_count = dirty_segments(sbi);
+	f2fs_update_sit_info(sbi);
+	return sprintf(buf, "%llu\n", (unsigned long long)(si->avg_vblocks));
+}
+#endif
+
 static ssize_t f2fs_sbi_show(struct f2fs_attr *a,
 			struct f2fs_sb_info *sbi, char *buf)
 {
@@ -199,7 +251,7 @@
 
 	ui = (unsigned int *)(ptr + a->offset);
 
-	return snprintf(buf, PAGE_SIZE, "%u\n", *ui);
+	return sprintf(buf, "%u\n", *ui);
 }
 
 static ssize_t __sbi_store(struct f2fs_attr *a,
@@ -389,6 +441,7 @@
 	FEAT_VERITY,
 	FEAT_SB_CHECKSUM,
 	FEAT_CASEFOLD,
+	FEAT_COMPRESSION,
 };
 
 static ssize_t f2fs_feature_show(struct f2fs_attr *a,
@@ -408,7 +461,8 @@
 	case FEAT_VERITY:
 	case FEAT_SB_CHECKSUM:
 	case FEAT_CASEFOLD:
-		return snprintf(buf, PAGE_SIZE, "supported\n");
+	case FEAT_COMPRESSION:
+		return sprintf(buf, "supported\n");
 	}
 	return 0;
 }
@@ -437,6 +491,14 @@
 	.id	= _id,						\
 }
 
+#define F2FS_STAT_ATTR(_struct_type, _struct_name, _name, _elname)	\
+static struct f2fs_attr f2fs_attr_##_name = {			\
+	.attr = {.name = __stringify(_name), .mode = 0444 },	\
+	.show = f2fs_sbi_show,					\
+	.struct_type = _struct_type,				\
+	.offset = offsetof(struct _struct_name, _elname),       \
+}
+
 F2FS_RW_ATTR(GC_THREAD, f2fs_gc_kthread, gc_urgent_sleep_time,
 							urgent_sleep_time);
 F2FS_RW_ATTR(GC_THREAD, f2fs_gc_kthread, gc_min_sleep_time, min_sleep_time);
@@ -478,11 +540,21 @@
 F2FS_RW_ATTR(FAULT_INFO_TYPE, f2fs_fault_info, inject_type, inject_type);
 #endif
 F2FS_GENERAL_RO_ATTR(dirty_segments);
+F2FS_GENERAL_RO_ATTR(free_segments);
 F2FS_GENERAL_RO_ATTR(lifetime_write_kbytes);
 F2FS_GENERAL_RO_ATTR(features);
 F2FS_GENERAL_RO_ATTR(current_reserved_blocks);
 F2FS_GENERAL_RO_ATTR(unusable);
 F2FS_GENERAL_RO_ATTR(encoding);
+#ifdef CONFIG_F2FS_STAT_FS
+F2FS_STAT_ATTR(STAT_INFO, f2fs_stat_info, cp_foreground_calls, cp_count);
+F2FS_STAT_ATTR(STAT_INFO, f2fs_stat_info, cp_background_calls, bg_cp_count);
+F2FS_STAT_ATTR(STAT_INFO, f2fs_stat_info, gc_foreground_calls, call_count);
+F2FS_STAT_ATTR(STAT_INFO, f2fs_stat_info, gc_background_calls, bg_gc);
+F2FS_GENERAL_RO_ATTR(moved_blocks_background);
+F2FS_GENERAL_RO_ATTR(moved_blocks_foreground);
+F2FS_GENERAL_RO_ATTR(avg_vblocks);
+#endif
 
 #ifdef CONFIG_FS_ENCRYPTION
 F2FS_FEATURE_RO_ATTR(encryption, FEAT_CRYPTO);
@@ -503,6 +575,7 @@
 #endif
 F2FS_FEATURE_RO_ATTR(sb_checksum, FEAT_SB_CHECKSUM);
 F2FS_FEATURE_RO_ATTR(casefold, FEAT_CASEFOLD);
+F2FS_FEATURE_RO_ATTR(compression, FEAT_COMPRESSION);
 
 #define ATTR_LIST(name) (&f2fs_attr_##name.attr)
 static struct attribute *f2fs_attrs[] = {
@@ -543,12 +616,22 @@
 	ATTR_LIST(inject_type),
 #endif
 	ATTR_LIST(dirty_segments),
+	ATTR_LIST(free_segments),
 	ATTR_LIST(unusable),
 	ATTR_LIST(lifetime_write_kbytes),
 	ATTR_LIST(features),
 	ATTR_LIST(reserved_blocks),
 	ATTR_LIST(current_reserved_blocks),
 	ATTR_LIST(encoding),
+#ifdef CONFIG_F2FS_STAT_FS
+	ATTR_LIST(cp_foreground_calls),
+	ATTR_LIST(cp_background_calls),
+	ATTR_LIST(gc_foreground_calls),
+	ATTR_LIST(gc_background_calls),
+	ATTR_LIST(moved_blocks_foreground),
+	ATTR_LIST(moved_blocks_background),
+	ATTR_LIST(avg_vblocks),
+#endif
 	NULL,
 };
 
@@ -572,6 +655,7 @@
 #endif
 	ATTR_LIST(sb_checksum),
 	ATTR_LIST(casefold),
+	ATTR_LIST(compression),
 	NULL,
 };
 
@@ -731,10 +815,12 @@
 
 	ret = kobject_init_and_add(&f2fs_feat, &f2fs_feat_ktype,
 				   NULL, "features");
-	if (ret)
+	if (ret) {
+		kobject_put(&f2fs_feat);
 		kset_unregister(&f2fs_kset);
-	else
+	} else {
 		f2fs_proc_root = proc_mkdir("fs/f2fs", NULL);
+	}
 	return ret;
 }
 
@@ -755,8 +841,11 @@
 	init_completion(&sbi->s_kobj_unregister);
 	err = kobject_init_and_add(&sbi->s_kobj, &f2fs_sb_ktype, NULL,
 				"%s", sb->s_id);
-	if (err)
+	if (err) {
+		kobject_put(&sbi->s_kobj);
+		wait_for_completion(&sbi->s_kobj_unregister);
 		return err;
+	}
 
 	if (f2fs_proc_root)
 		sbi->s_proc = proc_mkdir(sb->s_id, f2fs_proc_root);
@@ -784,4 +873,5 @@
 		remove_proc_entry(sbi->sb->s_id, f2fs_proc_root);
 	}
 	kobject_del(&sbi->s_kobj);
+	kobject_put(&sbi->s_kobj);
 }
diff --git a/fs/f2fs/verity.c b/fs/f2fs/verity.c
index a401ef7..077ac83 100644
--- a/fs/f2fs/verity.c
+++ b/fs/f2fs/verity.c
@@ -222,12 +222,57 @@
 	return size;
 }
 
-static struct page *f2fs_read_merkle_tree_page(struct inode *inode,
-					       pgoff_t index)
+/*
+ * Prefetch some pages from the file's Merkle tree.
+ *
+ * This is basically a stripped-down version of __do_page_cache_readahead()
+ * which works on pages past i_size.
+ */
+static void f2fs_merkle_tree_readahead(struct address_space *mapping,
+				       pgoff_t start_index, unsigned long count)
 {
+	LIST_HEAD(pages);
+	unsigned int nr_pages = 0;
+	struct page *page;
+	pgoff_t index;
+	struct blk_plug plug;
+
+	for (index = start_index; index < start_index + count; index++) {
+		rcu_read_lock();
+		page = radix_tree_lookup(&mapping->i_pages, index);
+		rcu_read_unlock();
+		if (!page || radix_tree_exceptional_entry(page)) {
+			page = __page_cache_alloc(readahead_gfp_mask(mapping));
+			if (!page)
+				break;
+			page->index = index;
+			list_add(&page->lru, &pages);
+			nr_pages++;
+		}
+	}
+	blk_start_plug(&plug);
+	f2fs_mpage_readpages(mapping, &pages, NULL, nr_pages, true);
+	blk_finish_plug(&plug);
+}
+
+static struct page *f2fs_read_merkle_tree_page(struct inode *inode,
+					       pgoff_t index,
+					       unsigned long num_ra_pages)
+{
+	struct page *page;
+
 	index += f2fs_verity_metadata_pos(inode) >> PAGE_SHIFT;
 
-	return read_mapping_page(inode->i_mapping, index, NULL);
+	page = find_get_page_flags(inode->i_mapping, index, FGP_ACCESSED);
+	if (!page || !PageUptodate(page)) {
+		if (page)
+			put_page(page);
+		else if (num_ra_pages > 1)
+			f2fs_merkle_tree_readahead(inode->i_mapping, index,
+						   num_ra_pages);
+		page = read_mapping_page(inode->i_mapping, index, NULL);
+	}
+	return page;
 }
 
 static int f2fs_write_merkle_tree_block(struct inode *inode, const void *buf,
diff --git a/fs/fat/inode.c b/fs/fat/inode.c
index d6b81e3..70d37a5 100644
--- a/fs/fat/inode.c
+++ b/fs/fat/inode.c
@@ -743,6 +743,13 @@
 		return NULL;
 
 	init_rwsem(&ei->truncate_lock);
+	/* Zeroing to allow iput() even if partial initialized inode. */
+	ei->mmu_private = 0;
+	ei->i_start = 0;
+	ei->i_logstart = 0;
+	ei->i_attrs = 0;
+	ei->i_pos = 0;
+
 	return &ei->vfs_inode;
 }
 
@@ -1373,16 +1380,6 @@
 	return 0;
 }
 
-static void fat_dummy_inode_init(struct inode *inode)
-{
-	/* Initialize this dummy inode to work as no-op. */
-	MSDOS_I(inode)->mmu_private = 0;
-	MSDOS_I(inode)->i_start = 0;
-	MSDOS_I(inode)->i_logstart = 0;
-	MSDOS_I(inode)->i_attrs = 0;
-	MSDOS_I(inode)->i_pos = 0;
-}
-
 static int fat_read_root(struct inode *inode)
 {
 	struct msdos_sb_info *sbi = MSDOS_SB(inode->i_sb);
@@ -1827,13 +1824,11 @@
 	fat_inode = new_inode(sb);
 	if (!fat_inode)
 		goto out_fail;
-	fat_dummy_inode_init(fat_inode);
 	sbi->fat_inode = fat_inode;
 
 	fsinfo_inode = new_inode(sb);
 	if (!fsinfo_inode)
 		goto out_fail;
-	fat_dummy_inode_init(fsinfo_inode);
 	fsinfo_inode->i_ino = MSDOS_FSINFO_INO;
 	sbi->fsinfo_inode = fsinfo_inode;
 	insert_inode_hash(fsinfo_inode);
diff --git a/fs/gfs2/file.c b/fs/gfs2/file.c
index 08369c6..143e7d5 100644
--- a/fs/gfs2/file.c
+++ b/fs/gfs2/file.c
@@ -780,7 +780,7 @@
 	struct file *file = iocb->ki_filp;
 	struct inode *inode = file_inode(file);
 	struct gfs2_inode *ip = GFS2_I(inode);
-	ssize_t written = 0, ret;
+	ssize_t ret;
 
 	ret = gfs2_rsqa_alloc(ip);
 	if (ret)
@@ -800,68 +800,58 @@
 	inode_lock(inode);
 	ret = generic_write_checks(iocb, from);
 	if (ret <= 0)
-		goto out;
-
-	/* We can write back this queue in page reclaim */
-	current->backing_dev_info = inode_to_bdi(inode);
+		goto out_unlock;
 
 	ret = file_remove_privs(file);
 	if (ret)
-		goto out2;
+		goto out_unlock;
 
 	ret = file_update_time(file);
 	if (ret)
-		goto out2;
+		goto out_unlock;
 
 	if (iocb->ki_flags & IOCB_DIRECT) {
 		struct address_space *mapping = file->f_mapping;
-		loff_t pos, endbyte;
-		ssize_t buffered;
+		ssize_t buffered, ret2;
 
-		written = gfs2_file_direct_write(iocb, from);
-		if (written < 0 || !iov_iter_count(from))
-			goto out2;
+		ret = gfs2_file_direct_write(iocb, from);
+		if (ret < 0 || !iov_iter_count(from))
+			goto out_unlock;
 
-		ret = iomap_file_buffered_write(iocb, from, &gfs2_iomap_ops);
-		if (unlikely(ret < 0))
-			goto out2;
-		buffered = ret;
+		iocb->ki_flags |= IOCB_DSYNC;
+		current->backing_dev_info = inode_to_bdi(inode);
+		buffered = iomap_file_buffered_write(iocb, from, &gfs2_iomap_ops);
+		current->backing_dev_info = NULL;
+		if (unlikely(buffered <= 0))
+			goto out_unlock;
 
 		/*
 		 * We need to ensure that the page cache pages are written to
 		 * disk and invalidated to preserve the expected O_DIRECT
-		 * semantics.
+		 * semantics.  If the writeback or invalidate fails, only report
+		 * the direct I/O range as we don't know if the buffered pages
+		 * made it to disk.
 		 */
-		pos = iocb->ki_pos;
-		endbyte = pos + buffered - 1;
-		ret = filemap_write_and_wait_range(mapping, pos, endbyte);
-		if (!ret) {
-			iocb->ki_pos += buffered;
-			written += buffered;
-			invalidate_mapping_pages(mapping,
-						 pos >> PAGE_SHIFT,
-						 endbyte >> PAGE_SHIFT);
-		} else {
-			/*
-			 * We don't know how much we wrote, so just return
-			 * the number of bytes which were direct-written
-			 */
-		}
+		iocb->ki_pos += buffered;
+		ret2 = generic_write_sync(iocb, buffered);
+		invalidate_mapping_pages(mapping,
+				(iocb->ki_pos - buffered) >> PAGE_SHIFT,
+				(iocb->ki_pos - 1) >> PAGE_SHIFT);
+		if (!ret || ret2 > 0)
+			ret += ret2;
 	} else {
+		current->backing_dev_info = inode_to_bdi(inode);
 		ret = iomap_file_buffered_write(iocb, from, &gfs2_iomap_ops);
-		if (likely(ret > 0))
+		current->backing_dev_info = NULL;
+		if (likely(ret > 0)) {
 			iocb->ki_pos += ret;
+			ret = generic_write_sync(iocb, ret);
+		}
 	}
 
-out2:
-	current->backing_dev_info = NULL;
-out:
+out_unlock:
 	inode_unlock(inode);
-	if (likely(ret > 0)) {
-		/* Handle various SYNC-type writes */
-		ret = generic_write_sync(iocb, ret);
-	}
-	return written ? written : ret;
+	return ret;
 }
 
 static int fallocate_chunk(struct inode *inode, loff_t offset, loff_t len,
diff --git a/fs/incfs/Kconfig b/fs/incfs/Kconfig
new file mode 100644
index 0000000..a655d59
--- /dev/null
+++ b/fs/incfs/Kconfig
@@ -0,0 +1,19 @@
+config INCREMENTAL_FS
+	tristate "Incremental file system support"
+	depends on BLOCK
+	select DECOMPRESS_LZ4
+	select CRC32
+	select CRYPTO
+	select CRYPTO_RSA
+	select CRYPTO_SHA256
+	select X509_CERTIFICATE_PARSER
+	select ASYMMETRIC_KEY_TYPE
+	select ASYMMETRIC_PUBLIC_KEY_SUBTYPE
+	select PKCS7_MESSAGE_PARSER
+	help
+	  Incremental FS is a read-only virtual file system that facilitates execution
+	  of programs while their binaries are still being lazily downloaded over the
+	  network, USB or pigeon post.
+
+	  To compile this file system support as a module, choose M here: the
+	  module will be called incrementalfs.
diff --git a/fs/incfs/Makefile b/fs/incfs/Makefile
new file mode 100644
index 0000000..8d734bf
--- /dev/null
+++ b/fs/incfs/Makefile
@@ -0,0 +1,9 @@
+# SPDX-License-Identifier: GPL-2.0
+obj-$(CONFIG_INCREMENTAL_FS)	+= incrementalfs.o
+
+incrementalfs-y := \
+	data_mgmt.o \
+	format.o \
+	integrity.o \
+	main.o \
+	vfs.o
diff --git a/fs/incfs/data_mgmt.c b/fs/incfs/data_mgmt.c
new file mode 100644
index 0000000..91a81a5
--- /dev/null
+++ b/fs/incfs/data_mgmt.c
@@ -0,0 +1,1138 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright 2019 Google LLC
+ */
+#include <linux/gfp.h>
+#include <linux/types.h>
+#include <linux/slab.h>
+#include <linux/file.h>
+#include <linux/ktime.h>
+#include <linux/mm.h>
+#include <linux/lz4.h>
+#include <linux/crc32.h>
+
+#include "data_mgmt.h"
+#include "format.h"
+#include "integrity.h"
+
+struct mount_info *incfs_alloc_mount_info(struct super_block *sb,
+					  struct mount_options *options,
+					  struct path *backing_dir_path)
+{
+	struct mount_info *mi = NULL;
+	int error = 0;
+
+	mi = kzalloc(sizeof(*mi), GFP_NOFS);
+	if (!mi)
+		return ERR_PTR(-ENOMEM);
+
+	mi->mi_sb = sb;
+	mi->mi_options = *options;
+	mi->mi_backing_dir_path = *backing_dir_path;
+	mi->mi_owner = get_current_cred();
+	path_get(&mi->mi_backing_dir_path);
+	mutex_init(&mi->mi_dir_struct_mutex);
+	mutex_init(&mi->mi_pending_reads_mutex);
+	init_waitqueue_head(&mi->mi_pending_reads_notif_wq);
+	INIT_LIST_HEAD(&mi->mi_reads_list_head);
+
+	if (options->read_log_pages != 0) {
+		size_t buf_size = PAGE_SIZE * options->read_log_pages;
+
+		spin_lock_init(&mi->mi_log.rl_writer_lock);
+		init_waitqueue_head(&mi->mi_log.ml_notif_wq);
+
+		mi->mi_log.rl_size = buf_size / sizeof(*mi->mi_log.rl_ring_buf);
+		mi->mi_log.rl_ring_buf = kzalloc(buf_size, GFP_NOFS);
+		if (!mi->mi_log.rl_ring_buf) {
+			error = -ENOMEM;
+			goto err;
+		}
+	}
+
+	return mi;
+
+err:
+	incfs_free_mount_info(mi);
+	return ERR_PTR(error);
+}
+
+void incfs_free_mount_info(struct mount_info *mi)
+{
+	if (!mi)
+		return;
+
+	dput(mi->mi_index_dir);
+	path_put(&mi->mi_backing_dir_path);
+	mutex_destroy(&mi->mi_dir_struct_mutex);
+	mutex_destroy(&mi->mi_pending_reads_mutex);
+	put_cred(mi->mi_owner);
+	kfree(mi->mi_log.rl_ring_buf);
+	kfree(mi->log_xattr);
+	kfree(mi->pending_read_xattr);
+	kfree(mi);
+}
+
+static void data_file_segment_init(struct data_file_segment *segment)
+{
+	init_waitqueue_head(&segment->new_data_arrival_wq);
+	mutex_init(&segment->blockmap_mutex);
+	INIT_LIST_HEAD(&segment->reads_list_head);
+}
+
+static void data_file_segment_destroy(struct data_file_segment *segment)
+{
+	mutex_destroy(&segment->blockmap_mutex);
+}
+
+struct data_file *incfs_open_data_file(struct mount_info *mi, struct file *bf)
+{
+	struct data_file *df = NULL;
+	struct backing_file_context *bfc = NULL;
+	int md_records;
+	u64 size;
+	int error = 0;
+	int i;
+
+	if (!bf || !mi)
+		return ERR_PTR(-EFAULT);
+
+	if (!S_ISREG(bf->f_inode->i_mode))
+		return ERR_PTR(-EBADF);
+
+	bfc = incfs_alloc_bfc(bf);
+	if (IS_ERR(bfc))
+		return ERR_CAST(bfc);
+
+	df = kzalloc(sizeof(*df), GFP_NOFS);
+	if (!df) {
+		error = -ENOMEM;
+		goto out;
+	}
+
+	df->df_backing_file_context = bfc;
+	df->df_mount_info = mi;
+	for (i = 0; i < ARRAY_SIZE(df->df_segments); i++)
+		data_file_segment_init(&df->df_segments[i]);
+
+	error = mutex_lock_interruptible(&bfc->bc_mutex);
+	if (error)
+		goto out;
+	error = incfs_read_file_header(bfc, &df->df_metadata_off,
+					&df->df_id, &size);
+	mutex_unlock(&bfc->bc_mutex);
+
+	if (error)
+		goto out;
+
+	df->df_size = size;
+	if (size > 0)
+		df->df_block_count = get_blocks_count_for_size(size);
+
+	md_records = incfs_scan_metadata_chain(df);
+	if (md_records < 0)
+		error = md_records;
+
+out:
+	if (error) {
+		incfs_free_bfc(bfc);
+		df->df_backing_file_context = NULL;
+		incfs_free_data_file(df);
+		return ERR_PTR(error);
+	}
+	return df;
+}
+
+void incfs_free_data_file(struct data_file *df)
+{
+	int i;
+
+	if (!df)
+		return;
+
+	incfs_free_mtree(df->df_hash_tree);
+	for (i = 0; i < ARRAY_SIZE(df->df_segments); i++)
+		data_file_segment_destroy(&df->df_segments[i]);
+	incfs_free_bfc(df->df_backing_file_context);
+	kfree(df);
+}
+
+int make_inode_ready_for_data_ops(struct mount_info *mi,
+				struct inode *inode,
+				struct file *backing_file)
+{
+	struct inode_info *node = get_incfs_node(inode);
+	struct data_file *df = NULL;
+	int err = 0;
+
+	inode_lock(inode);
+	if (S_ISREG(inode->i_mode)) {
+		if (!node->n_file) {
+			df = incfs_open_data_file(mi, backing_file);
+
+			if (IS_ERR(df))
+				err = PTR_ERR(df);
+			else
+				node->n_file = df;
+		}
+	} else
+		err = -EBADF;
+	inode_unlock(inode);
+	return err;
+}
+
+struct dir_file *incfs_open_dir_file(struct mount_info *mi, struct file *bf)
+{
+	struct dir_file *dir = NULL;
+
+	if (!S_ISDIR(bf->f_inode->i_mode))
+		return ERR_PTR(-EBADF);
+
+	dir = kzalloc(sizeof(*dir), GFP_NOFS);
+	if (!dir)
+		return ERR_PTR(-ENOMEM);
+
+	dir->backing_dir = get_file(bf);
+	dir->mount_info = mi;
+	return dir;
+}
+
+void incfs_free_dir_file(struct dir_file *dir)
+{
+	if (!dir)
+		return;
+	if (dir->backing_dir)
+		fput(dir->backing_dir);
+	kfree(dir);
+}
+
+static ssize_t decompress(struct mem_range src, struct mem_range dst)
+{
+	int result = LZ4_decompress_safe(src.data, dst.data, src.len, dst.len);
+
+	if (result < 0)
+		return -EBADMSG;
+
+	return result;
+}
+
+static void log_block_read(struct mount_info *mi, incfs_uuid_t *id,
+			int block_index, bool timed_out)
+{
+	struct read_log *log = &mi->mi_log;
+	struct read_log_state state;
+	s64 now_us = ktime_to_us(ktime_get());
+	struct read_log_record record = {
+		.file_id = *id,
+		.block_index = block_index,
+		.timed_out = timed_out,
+		.timestamp_us = now_us
+	};
+
+	if (log->rl_size == 0)
+		return;
+
+	spin_lock(&log->rl_writer_lock);
+	state = READ_ONCE(log->rl_state);
+	log->rl_ring_buf[state.next_index] = record;
+	if (++state.next_index == log->rl_size) {
+		state.next_index = 0;
+		++state.current_pass_no;
+	}
+	WRITE_ONCE(log->rl_state, state);
+	spin_unlock(&log->rl_writer_lock);
+
+	wake_up_all(&log->ml_notif_wq);
+}
+
+static int validate_hash_tree(struct file *bf, struct data_file *df,
+			      int block_index, struct mem_range data, u8 *buf)
+{
+	u8 digest[INCFS_MAX_HASH_SIZE] = {};
+	struct mtree *tree = NULL;
+	struct ondisk_signature *sig = NULL;
+	struct mem_range calc_digest_rng;
+	struct mem_range saved_digest_rng;
+	struct mem_range root_hash_rng;
+	int digest_size;
+	int hash_block_index = block_index;
+	int hash_per_block;
+	int lvl = 0;
+	int res;
+
+	tree = df->df_hash_tree;
+	sig = df->df_signature;
+	if (!tree || !sig)
+		return 0;
+
+	digest_size = tree->alg->digest_size;
+	hash_per_block = INCFS_DATA_FILE_BLOCK_SIZE / digest_size;
+	calc_digest_rng = range(digest, digest_size);
+	res = incfs_calc_digest(tree->alg, data, calc_digest_rng);
+	if (res)
+		return res;
+
+	for (lvl = 0; lvl < tree->depth; lvl++) {
+		loff_t lvl_off = tree->hash_level_suboffset[lvl] +
+					sig->mtree_offset;
+		loff_t hash_block_off = lvl_off +
+			round_down(hash_block_index * digest_size,
+				INCFS_DATA_FILE_BLOCK_SIZE);
+		size_t hash_off_in_block = hash_block_index * digest_size
+			% INCFS_DATA_FILE_BLOCK_SIZE;
+		struct mem_range buf_range = range(buf,
+					INCFS_DATA_FILE_BLOCK_SIZE);
+		ssize_t read_res = incfs_kread(bf, buf,
+				INCFS_DATA_FILE_BLOCK_SIZE, hash_block_off);
+
+		if (read_res < 0)
+			return read_res;
+		if (read_res != INCFS_DATA_FILE_BLOCK_SIZE)
+			return -EIO;
+
+		saved_digest_rng = range(buf + hash_off_in_block, digest_size);
+		if (!incfs_equal_ranges(calc_digest_rng, saved_digest_rng)) {
+			int i;
+			bool zero = true;
+
+			pr_debug("incfs: Hash mismatch lvl:%d blk:%d\n",
+				lvl, block_index);
+			for (i = 0; i < saved_digest_rng.len; ++i)
+				if (saved_digest_rng.data[i]) {
+					zero = false;
+					break;
+				}
+
+			if (zero)
+				pr_debug("incfs: Note saved_digest all zero - did you forget to load the hashes?\n");
+			return -EBADMSG;
+		}
+
+		res = incfs_calc_digest(tree->alg, buf_range, calc_digest_rng);
+		if (res)
+			return res;
+		hash_block_index /= hash_per_block;
+	}
+
+	root_hash_rng = range(tree->root_hash, digest_size);
+	if (!incfs_equal_ranges(calc_digest_rng, root_hash_rng)) {
+		pr_debug("incfs: Root hash mismatch blk:%d\n", block_index);
+		return -EBADMSG;
+	}
+	return 0;
+}
+
+static int revalidate_signature(struct file *bf, struct data_file *df)
+{
+	struct ondisk_signature *sig = df->df_signature;
+	struct mem_range root_hash = {};
+	int result = 0;
+	u8 *sig_buf = NULL;
+	u8 *add_data_buf = NULL;
+	ssize_t read_res;
+
+	/* File has no signature. */
+	if (!sig || !df->df_hash_tree || sig->sig_size == 0)
+		return 0;
+
+	/* Signature has already been validated. */
+	if (df->df_signature_validated)
+		return 0;
+
+	add_data_buf = kzalloc(sig->add_data_size, GFP_NOFS);
+	if (!add_data_buf) {
+		result = -ENOMEM;
+		goto out;
+	}
+
+	read_res = incfs_kread(bf, add_data_buf, sig->add_data_size,
+				sig->add_data_offset);
+	if (read_res < 0) {
+		result = read_res;
+		goto out;
+	}
+	if (read_res != sig->add_data_size) {
+		result = -EIO;
+		goto out;
+	}
+
+	sig_buf = kzalloc(sig->sig_size, GFP_NOFS);
+	if (!sig_buf) {
+		result = -ENOMEM;
+		goto out;
+	}
+
+	read_res = incfs_kread(bf, sig_buf, sig->sig_size, sig->sig_offset);
+	if (read_res < 0) {
+		result = read_res;
+		goto out;
+	}
+	if (read_res != sig->sig_size) {
+		result = -EIO;
+		goto out;
+	}
+
+	root_hash = range(df->df_hash_tree->root_hash,
+		df->df_hash_tree->alg->digest_size);
+
+	result = incfs_validate_pkcs7_signature(
+		range(sig_buf, sig->sig_size),
+		root_hash,
+		range(add_data_buf, sig->add_data_size));
+
+	if (result == 0)
+		df->df_signature_validated = true;
+out:
+	kfree(sig_buf);
+	kfree(add_data_buf);
+	return result;
+}
+
+static struct data_file_segment *get_file_segment(struct data_file *df,
+						  int block_index)
+{
+	int seg_idx = block_index % ARRAY_SIZE(df->df_segments);
+
+	return &df->df_segments[seg_idx];
+}
+
+static bool is_data_block_present(struct data_file_block *block)
+{
+	return (block->db_backing_file_data_offset != 0) &&
+	       (block->db_stored_size != 0);
+}
+
+static int get_data_file_block(struct data_file *df, int index,
+			       struct data_file_block *res_block)
+{
+	struct incfs_blockmap_entry bme = {};
+	struct backing_file_context *bfc = NULL;
+	loff_t blockmap_off = 0;
+	u16 flags = 0;
+	int error = 0;
+
+	if (!df || !res_block)
+		return -EFAULT;
+
+	blockmap_off = df->df_blockmap_off;
+	bfc = df->df_backing_file_context;
+
+	if (index < 0 || index >= df->df_block_count || blockmap_off == 0)
+		return -EINVAL;
+
+	error = incfs_read_blockmap_entry(bfc, index, blockmap_off, &bme);
+	if (error)
+		return error;
+
+	flags = le16_to_cpu(bme.me_flags);
+	res_block->db_backing_file_data_offset =
+		le16_to_cpu(bme.me_data_offset_hi);
+	res_block->db_backing_file_data_offset <<= 32;
+	res_block->db_backing_file_data_offset |=
+		le32_to_cpu(bme.me_data_offset_lo);
+	res_block->db_stored_size = le16_to_cpu(bme.me_data_size);
+	res_block->db_comp_alg = (flags & INCFS_BLOCK_COMPRESSED_LZ4) ?
+					 COMPRESSION_LZ4 :
+					 COMPRESSION_NONE;
+	return 0;
+}
+
+static bool is_read_done(struct pending_read *read)
+{
+	return atomic_read_acquire(&read->done) != 0;
+}
+
+static void set_read_done(struct pending_read *read)
+{
+	atomic_set_release(&read->done, 1);
+}
+
+/*
+ * Notifies a given data file about pending read from a given block.
+ * Returns a new pending read entry.
+ */
+static struct pending_read *add_pending_read(struct data_file *df,
+					     int block_index)
+{
+	struct pending_read *result = NULL;
+	struct data_file_segment *segment = NULL;
+	struct mount_info *mi = NULL;
+
+	segment = get_file_segment(df, block_index);
+	mi = df->df_mount_info;
+
+	result = kzalloc(sizeof(*result), GFP_NOFS);
+	if (!result)
+		return NULL;
+
+	result->file_id = df->df_id;
+	result->block_index = block_index;
+	result->timestamp_us = ktime_to_us(ktime_get());
+
+	mutex_lock(&mi->mi_pending_reads_mutex);
+
+	result->serial_number = ++mi->mi_last_pending_read_number;
+	mi->mi_pending_reads_count++;
+
+	list_add(&result->mi_reads_list, &mi->mi_reads_list_head);
+	list_add(&result->segment_reads_list, &segment->reads_list_head);
+	mutex_unlock(&mi->mi_pending_reads_mutex);
+
+	wake_up_all(&mi->mi_pending_reads_notif_wq);
+	return result;
+}
+
+/* Notifies a given data file that pending read is completed. */
+static void remove_pending_read(struct data_file *df, struct pending_read *read)
+{
+	struct mount_info *mi = NULL;
+
+	if (!df || !read) {
+		WARN_ON(!df);
+		WARN_ON(!read);
+		return;
+	}
+
+	mi = df->df_mount_info;
+
+	mutex_lock(&mi->mi_pending_reads_mutex);
+	list_del(&read->mi_reads_list);
+	list_del(&read->segment_reads_list);
+
+	mi->mi_pending_reads_count--;
+	mutex_unlock(&mi->mi_pending_reads_mutex);
+
+	kfree(read);
+}
+
+static void notify_pending_reads(struct mount_info *mi,
+		struct data_file_segment *segment,
+		int index)
+{
+	struct pending_read *entry = NULL;
+
+	/* Notify pending reads waiting for this block. */
+	mutex_lock(&mi->mi_pending_reads_mutex);
+	list_for_each_entry(entry, &segment->reads_list_head,
+						segment_reads_list) {
+		if (entry->block_index == index)
+			set_read_done(entry);
+	}
+	mutex_unlock(&mi->mi_pending_reads_mutex);
+	wake_up_all(&segment->new_data_arrival_wq);
+}
+
+static int wait_for_data_block(struct data_file *df, int block_index,
+			       int timeout_ms,
+			       struct data_file_block *res_block)
+{
+	struct data_file_block block = {};
+	struct data_file_segment *segment = NULL;
+	struct pending_read *read = NULL;
+	struct mount_info *mi = NULL;
+	int error = 0;
+	int wait_res = 0;
+
+	if (!df || !res_block)
+		return -EFAULT;
+
+	if (block_index < 0 || block_index >= df->df_block_count)
+		return -EINVAL;
+
+	if (df->df_blockmap_off <= 0)
+		return -ENODATA;
+
+	segment = get_file_segment(df, block_index);
+	error = mutex_lock_interruptible(&segment->blockmap_mutex);
+	if (error)
+		return error;
+
+	/* Look up the given block */
+	error = get_data_file_block(df, block_index, &block);
+
+	/* If it's not found, create a pending read */
+	if (!error && !is_data_block_present(&block) && timeout_ms != 0)
+		read = add_pending_read(df, block_index);
+
+	mutex_unlock(&segment->blockmap_mutex);
+	if (error)
+		return error;
+
+	/* If the block was found, just return it. No need to wait. */
+	if (is_data_block_present(&block)) {
+		*res_block = block;
+		return 0;
+	}
+
+	mi = df->df_mount_info;
+
+	if (timeout_ms == 0) {
+		log_block_read(mi, &df->df_id, block_index,
+			       true /*timed out*/);
+		return -ETIME;
+	}
+
+	if (!read)
+		return -ENOMEM;
+
+	/* Wait for notifications about block's arrival */
+	wait_res =
+		wait_event_interruptible_timeout(segment->new_data_arrival_wq,
+						 (is_read_done(read)),
+						 msecs_to_jiffies(timeout_ms));
+
+	/* Woke up, the pending read is no longer needed. */
+	remove_pending_read(df, read);
+	read = NULL;
+
+	if (wait_res == 0) {
+		/* Wait has timed out */
+		log_block_read(mi, &df->df_id, block_index,
+			       true /*timed out*/);
+		return -ETIME;
+	}
+	if (wait_res < 0) {
+		/*
+		 * Only ERESTARTSYS is really expected here when a signal
+		 * comes while we wait.
+		 */
+		return wait_res;
+	}
+
+	error = mutex_lock_interruptible(&segment->blockmap_mutex);
+	if (error)
+		return error;
+
+	/*
+	 * Re-read block's info now, it has just arrived and
+	 * should be available.
+	 */
+	error = get_data_file_block(df, block_index, &block);
+	if (!error) {
+		if (is_data_block_present(&block))
+			*res_block = block;
+		else {
+			/*
+			 * Somehow wait finished successfully bug block still
+			 * can't be found. It's not normal.
+			 */
+			pr_warn("incfs:Wait succeeded, but block not found.\n");
+			error = -ENODATA;
+		}
+	}
+
+	mutex_unlock(&segment->blockmap_mutex);
+	return error;
+}
+
+ssize_t incfs_read_data_file_block(struct mem_range dst, struct data_file *df,
+				   int index, int timeout_ms,
+				   struct mem_range tmp)
+{
+	loff_t pos;
+	ssize_t result;
+	size_t bytes_to_read;
+	struct mount_info *mi = NULL;
+	struct file *bf = NULL;
+	struct data_file_block block = {};
+
+	if (!dst.data || !df)
+		return -EFAULT;
+
+	if (tmp.len < 2 * INCFS_DATA_FILE_BLOCK_SIZE)
+		return -ERANGE;
+
+	mi = df->df_mount_info;
+	bf = df->df_backing_file_context->bc_file;
+
+	result = wait_for_data_block(df, index, timeout_ms, &block);
+	if (result < 0)
+		goto out;
+
+	pos = block.db_backing_file_data_offset;
+	if (block.db_comp_alg == COMPRESSION_NONE) {
+		bytes_to_read = min(dst.len, block.db_stored_size);
+		result = incfs_kread(bf, dst.data, bytes_to_read, pos);
+
+		/* Some data was read, but not enough */
+		if (result >= 0 && result != bytes_to_read)
+			result = -EIO;
+	} else {
+		bytes_to_read = min(tmp.len, block.db_stored_size);
+		result = incfs_kread(bf, tmp.data, bytes_to_read, pos);
+		if (result == bytes_to_read) {
+			result =
+				decompress(range(tmp.data, bytes_to_read), dst);
+			if (result < 0) {
+				const char *name =
+					bf->f_path.dentry->d_name.name;
+
+				pr_warn_once("incfs: Decompression error. %s",
+					     name);
+			}
+		} else if (result >= 0) {
+			/* Some data was read, but not enough */
+			result = -EIO;
+		}
+	}
+
+	if (result > 0) {
+		int err = validate_hash_tree(bf, df, index, dst, tmp.data);
+
+		if (err < 0)
+			result = err;
+	}
+
+	if (result > 0) {
+		int err = revalidate_signature(bf, df);
+
+		if (err < 0)
+			result = err;
+	}
+
+	if (result >= 0)
+		log_block_read(mi, &df->df_id, index, false /*timed out*/);
+
+out:
+	return result;
+}
+
+int incfs_process_new_data_block(struct data_file *df,
+				 struct incfs_new_data_block *block, u8 *data)
+{
+	struct mount_info *mi = NULL;
+	struct backing_file_context *bfc = NULL;
+	struct data_file_segment *segment = NULL;
+	struct data_file_block existing_block = {};
+	u16 flags = 0;
+	int error = 0;
+
+	if (!df || !block)
+		return -EFAULT;
+
+	bfc = df->df_backing_file_context;
+	mi = df->df_mount_info;
+
+	if (block->block_index >= df->df_block_count)
+		return -ERANGE;
+
+	segment = get_file_segment(df, block->block_index);
+	if (!segment)
+		return -EFAULT;
+	if (block->compression == COMPRESSION_LZ4)
+		flags |= INCFS_BLOCK_COMPRESSED_LZ4;
+
+	error = mutex_lock_interruptible(&segment->blockmap_mutex);
+	if (error)
+		return error;
+
+	error = get_data_file_block(df, block->block_index, &existing_block);
+	if (error)
+		goto unlock;
+	if (is_data_block_present(&existing_block)) {
+		/* Block is already present, nothing to do here */
+		goto unlock;
+	}
+
+	error = mutex_lock_interruptible(&bfc->bc_mutex);
+	if (!error) {
+		error = incfs_write_data_block_to_backing_file(
+			bfc, range(data, block->data_len), block->block_index,
+			df->df_blockmap_off, flags);
+		mutex_unlock(&bfc->bc_mutex);
+	}
+	if (!error)
+		notify_pending_reads(mi, segment, block->block_index);
+
+unlock:
+	mutex_unlock(&segment->blockmap_mutex);
+	if (error)
+		pr_debug("incfs: %s %d error: %d\n", __func__,
+				block->block_index, error);
+	return error;
+}
+
+int incfs_read_file_signature(struct data_file *df, struct mem_range dst)
+{
+	struct file *bf = df->df_backing_file_context->bc_file;
+	struct ondisk_signature *sig;
+	int read_res = 0;
+
+	if (!dst.data)
+		return -EFAULT;
+
+	sig = df->df_signature;
+	if (!sig)
+		return 0;
+
+	if (dst.len < sig->sig_size)
+		return -E2BIG;
+
+	read_res = incfs_kread(bf, dst.data, sig->sig_size, sig->sig_offset);
+
+	if (read_res < 0)
+		return read_res;
+
+	if (read_res != sig->sig_size)
+		return -EIO;
+
+	return read_res;
+}
+
+int incfs_process_new_hash_block(struct data_file *df,
+				 struct incfs_new_data_block *block, u8 *data)
+{
+	struct backing_file_context *bfc = NULL;
+	struct mount_info *mi = NULL;
+	struct mtree *hash_tree = NULL;
+	struct ondisk_signature *sig = NULL;
+	loff_t hash_area_base = 0;
+	loff_t hash_area_size = 0;
+	int error = 0;
+
+	if (!df || !block)
+		return -EFAULT;
+
+	if (!(block->flags & INCFS_BLOCK_FLAGS_HASH))
+		return -EINVAL;
+
+	bfc = df->df_backing_file_context;
+	mi = df->df_mount_info;
+
+	if (!df)
+		return -ENOENT;
+
+	hash_tree = df->df_hash_tree;
+	sig = df->df_signature;
+	if (!hash_tree || !sig || sig->mtree_offset == 0)
+		return -ENOTSUPP;
+
+	hash_area_base = sig->mtree_offset;
+	hash_area_size = sig->mtree_size;
+	if (hash_area_size < block->block_index * INCFS_DATA_FILE_BLOCK_SIZE
+				+ block->data_len) {
+		/* Hash block goes beyond dedicated hash area of this file. */
+		return -ERANGE;
+	}
+
+	error = mutex_lock_interruptible(&bfc->bc_mutex);
+	if (!error)
+		error = incfs_write_hash_block_to_backing_file(
+			bfc, range(data, block->data_len), block->block_index,
+			hash_area_base);
+	mutex_unlock(&bfc->bc_mutex);
+	return error;
+}
+
+static int process_blockmap_md(struct incfs_blockmap *bm,
+			       struct metadata_handler *handler)
+{
+	struct data_file *df = handler->context;
+	int error = 0;
+	loff_t base_off = le64_to_cpu(bm->m_base_offset);
+	u32 block_count = le32_to_cpu(bm->m_block_count);
+
+	if (!df)
+		return -EFAULT;
+
+	if (df->df_block_count != block_count)
+		return -EBADMSG;
+
+	df->df_blockmap_off = base_off;
+	return error;
+}
+
+static int process_file_attr_md(struct incfs_file_attr *fa,
+				struct metadata_handler *handler)
+{
+	struct data_file *df = handler->context;
+	u16 attr_size = le16_to_cpu(fa->fa_size);
+
+	if (!df)
+		return -EFAULT;
+
+	if (attr_size > INCFS_MAX_FILE_ATTR_SIZE)
+		return -E2BIG;
+
+	df->n_attr.fa_value_offset = le64_to_cpu(fa->fa_offset);
+	df->n_attr.fa_value_size = attr_size;
+	df->n_attr.fa_crc = le32_to_cpu(fa->fa_crc);
+
+	return 0;
+}
+
+static int process_file_signature_md(struct incfs_file_signature *sg,
+				struct metadata_handler *handler)
+{
+	struct data_file *df = handler->context;
+	struct mtree *hash_tree = NULL;
+	struct ondisk_signature *signature = NULL;
+	int error = 0;
+	loff_t base_tree_off = le64_to_cpu(sg->sg_hash_tree_offset);
+	u32 tree_size = le32_to_cpu(sg->sg_hash_tree_size);
+	loff_t sig_off = le64_to_cpu(sg->sg_sig_offset);
+	u32 sig_size = le32_to_cpu(sg->sg_sig_size);
+	loff_t add_data_off = le64_to_cpu(sg->sg_add_data_offset);
+	u32 add_data_size = le32_to_cpu(sg->sg_add_data_size);
+
+	if (!df)
+		return -ENOENT;
+
+	signature = kzalloc(sizeof(*signature), GFP_NOFS);
+	if (!signature) {
+		error = -ENOMEM;
+		goto out;
+	}
+
+	signature->add_data_offset = add_data_off;
+	signature->add_data_size = add_data_size;
+	signature->sig_offset = sig_off;
+	signature->sig_size = sig_size;
+	signature->mtree_offset = base_tree_off;
+	signature->mtree_size = tree_size;
+
+	hash_tree = incfs_alloc_mtree(sg->sg_hash_alg, df->df_block_count,
+			range(sg->sg_root_hash, sizeof(sg->sg_root_hash)));
+	if (IS_ERR(hash_tree)) {
+		error = PTR_ERR(hash_tree);
+		hash_tree = NULL;
+		goto out;
+	}
+	if (hash_tree->hash_tree_area_size != tree_size) {
+		error = -EINVAL;
+		goto out;
+	}
+	if (tree_size > 0 && handler->md_record_offset <= base_tree_off) {
+		error = -EINVAL;
+		goto out;
+	}
+	if (handler->md_record_offset <= signature->add_data_offset ||
+	    handler->md_record_offset <= signature->sig_offset) {
+		error = -EINVAL;
+		goto out;
+	}
+	df->df_hash_tree = hash_tree;
+	df->df_signature = signature;
+out:
+	if (error) {
+		incfs_free_mtree(hash_tree);
+		kfree(signature);
+	}
+
+	return error;
+}
+
+int incfs_scan_metadata_chain(struct data_file *df)
+{
+	struct metadata_handler *handler = NULL;
+	int result = 0;
+	int records_count = 0;
+	int error = 0;
+	struct backing_file_context *bfc = NULL;
+
+	if (!df || !df->df_backing_file_context)
+		return -EFAULT;
+
+	bfc = df->df_backing_file_context;
+
+	handler = kzalloc(sizeof(*handler), GFP_NOFS);
+	if (!handler)
+		return -ENOMEM;
+
+	/* No writing to the backing file while it's being scanned. */
+	error = mutex_lock_interruptible(&bfc->bc_mutex);
+	if (error)
+		goto out;
+
+	/* Reading superblock */
+	handler->md_record_offset = df->df_metadata_off;
+	handler->context = df;
+	handler->handle_blockmap = process_blockmap_md;
+	handler->handle_file_attr = process_file_attr_md;
+	handler->handle_signature = process_file_signature_md;
+
+	pr_debug("incfs: Starting reading incfs-metadata records at offset %lld\n",
+		 handler->md_record_offset);
+	while (handler->md_record_offset > 0) {
+		error = incfs_read_next_metadata_record(bfc, handler);
+		if (error) {
+			pr_warn("incfs: Error during reading incfs-metadata record. Offset: %lld Record #%d Error code: %d\n",
+				handler->md_record_offset, records_count + 1,
+				-error);
+			break;
+		}
+		records_count++;
+	}
+	if (error) {
+		pr_debug("incfs: Error %d after reading %d incfs-metadata records.\n",
+			 -error, records_count);
+		result = error;
+	} else {
+		pr_debug("incfs: Finished reading %d incfs-metadata records.\n",
+			 records_count);
+		result = records_count;
+	}
+	mutex_unlock(&bfc->bc_mutex);
+out:
+	kfree(handler);
+	return result;
+}
+
+/*
+ * Quickly checks if there are pending reads with a serial number larger
+ * than a given one.
+ */
+bool incfs_fresh_pending_reads_exist(struct mount_info *mi, int last_number)
+{
+	bool result = false;
+
+	mutex_lock(&mi->mi_pending_reads_mutex);
+	result = (mi->mi_last_pending_read_number > last_number) &&
+		 (mi->mi_pending_reads_count > 0);
+	mutex_unlock(&mi->mi_pending_reads_mutex);
+	return result;
+}
+
+int incfs_collect_pending_reads(struct mount_info *mi, int sn_lowerbound,
+				struct incfs_pending_read_info *reads,
+				int reads_size)
+{
+	int reported_reads = 0;
+	struct pending_read *entry = NULL;
+
+	if (!mi)
+		return -EFAULT;
+
+	if (reads_size <= 0)
+		return 0;
+
+	mutex_lock(&mi->mi_pending_reads_mutex);
+
+	if (mi->mi_last_pending_read_number <= sn_lowerbound
+	    || mi->mi_pending_reads_count == 0)
+		goto unlock;
+
+	list_for_each_entry(entry, &mi->mi_reads_list_head, mi_reads_list) {
+		if (entry->serial_number <= sn_lowerbound)
+			continue;
+
+		reads[reported_reads].file_id = entry->file_id;
+		reads[reported_reads].block_index = entry->block_index;
+		reads[reported_reads].serial_number = entry->serial_number;
+		reads[reported_reads].timestamp_us = entry->timestamp_us;
+		/* reads[reported_reads].kind = INCFS_READ_KIND_PENDING; */
+
+		reported_reads++;
+		if (reported_reads >= reads_size)
+			break;
+	}
+
+unlock:
+	mutex_unlock(&mi->mi_pending_reads_mutex);
+
+	return reported_reads;
+}
+
+struct read_log_state incfs_get_log_state(struct mount_info *mi)
+{
+	struct read_log *log = &mi->mi_log;
+	struct read_log_state result;
+
+	spin_lock(&log->rl_writer_lock);
+	result = READ_ONCE(log->rl_state);
+	spin_unlock(&log->rl_writer_lock);
+	return result;
+}
+
+static u64 calc_record_count(const struct read_log_state *state, int rl_size)
+{
+	return state->current_pass_no * (u64)rl_size + state->next_index;
+}
+
+int incfs_get_uncollected_logs_count(struct mount_info *mi,
+				     struct read_log_state state)
+{
+	struct read_log *log = &mi->mi_log;
+
+	u64 count = calc_record_count(&log->rl_state, log->rl_size) -
+		    calc_record_count(&state, log->rl_size);
+	return min_t(int, count, log->rl_size);
+}
+
+static void fill_pending_read_from_log_record(
+	struct incfs_pending_read_info *dest, const struct read_log_record *src,
+	struct read_log_state *state, u64 log_size)
+{
+	dest->file_id = src->file_id;
+	dest->block_index = src->block_index;
+	dest->serial_number =
+		state->current_pass_no * log_size + state->next_index;
+	dest->timestamp_us = src->timestamp_us;
+}
+
+int incfs_collect_logged_reads(struct mount_info *mi,
+			       struct read_log_state *reader_state,
+			       struct incfs_pending_read_info *reads,
+			       int reads_size)
+{
+	struct read_log *log = &mi->mi_log;
+	struct read_log_state live_state = incfs_get_log_state(mi);
+	u64 read_count = calc_record_count(reader_state, log->rl_size);
+	u64 written_count = calc_record_count(&live_state, log->rl_size);
+	int dst_idx;
+
+	if (reader_state->next_index >= log->rl_size ||
+	    read_count > written_count)
+		return -ERANGE;
+
+	if (read_count == written_count)
+		return 0;
+
+	if (read_count > written_count) {
+		/* This reader is somehow ahead of the writer. */
+		pr_debug("incfs: Log reader is ahead of writer\n");
+		*reader_state = live_state;
+	}
+
+	if (written_count - read_count > log->rl_size) {
+		/*
+		 * Reading pointer is too far behind,
+		 * start from the record following the write pointer.
+		 */
+		pr_debug("incfs: read pointer is behind, moving: %u/%u -> %u/%u / %u\n",
+			(u32)reader_state->next_index,
+			(u32)reader_state->current_pass_no,
+			(u32)live_state.next_index,
+			(u32)live_state.current_pass_no - 1, (u32)log->rl_size);
+
+		*reader_state = (struct read_log_state){
+			.next_index = live_state.next_index,
+			.current_pass_no = live_state.current_pass_no - 1,
+		};
+	}
+
+	for (dst_idx = 0; dst_idx < reads_size; dst_idx++) {
+		if (reader_state->next_index == live_state.next_index &&
+		    reader_state->current_pass_no == live_state.current_pass_no)
+			break;
+
+		fill_pending_read_from_log_record(
+			&reads[dst_idx],
+			&log->rl_ring_buf[reader_state->next_index],
+			reader_state, log->rl_size);
+
+		reader_state->next_index++;
+		if (reader_state->next_index == log->rl_size) {
+			reader_state->next_index = 0;
+			reader_state->current_pass_no++;
+		}
+	}
+	return dst_idx;
+}
+
+bool incfs_equal_ranges(struct mem_range lhs, struct mem_range rhs)
+{
+	if (lhs.len != rhs.len)
+		return false;
+	return memcmp(lhs.data, rhs.data, lhs.len) == 0;
+}
diff --git a/fs/incfs/data_mgmt.h b/fs/incfs/data_mgmt.h
new file mode 100644
index 0000000..e86951c
--- /dev/null
+++ b/fs/incfs/data_mgmt.h
@@ -0,0 +1,345 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright 2019 Google LLC
+ */
+#ifndef _INCFS_DATA_MGMT_H
+#define _INCFS_DATA_MGMT_H
+
+#include <linux/cred.h>
+#include <linux/fs.h>
+#include <linux/types.h>
+#include <linux/mutex.h>
+#include <linux/spinlock.h>
+#include <linux/completion.h>
+#include <linux/wait.h>
+#include <crypto/hash.h>
+
+#include <uapi/linux/incrementalfs.h>
+
+#include "internal.h"
+
+#define SEGMENTS_PER_FILE 3
+
+struct read_log_record {
+	u32 block_index : 31;
+
+	u32 timed_out : 1;
+
+	u64 timestamp_us;
+
+	incfs_uuid_t file_id;
+} __packed;
+
+struct read_log_state {
+	/* Next slot in rl_ring_buf to write to. */
+	u32 next_index;
+
+	/* Current number of writer pass over rl_ring_buf */
+	u32 current_pass_no;
+};
+
+/* A ring buffer to save records about data blocks which were recently read. */
+struct read_log {
+	struct read_log_record *rl_ring_buf;
+
+	struct read_log_state rl_state;
+
+	spinlock_t rl_writer_lock;
+
+	int rl_size;
+
+	/*
+	 * A queue of waiters who want to be notified about reads.
+	 */
+	wait_queue_head_t ml_notif_wq;
+};
+
+struct mount_options {
+	unsigned int read_timeout_ms;
+	unsigned int readahead_pages;
+	unsigned int read_log_pages;
+	unsigned int read_log_wakeup_count;
+	bool no_backing_file_cache;
+	bool no_backing_file_readahead;
+};
+
+struct mount_info {
+	struct super_block *mi_sb;
+
+	struct path mi_backing_dir_path;
+
+	struct dentry *mi_index_dir;
+
+	const struct cred *mi_owner;
+
+	struct mount_options mi_options;
+
+	/* This mutex is to be taken before create, rename, delete */
+	struct mutex mi_dir_struct_mutex;
+
+	/*
+	 * A queue of waiters who want to be notified about new pending reads.
+	 */
+	wait_queue_head_t mi_pending_reads_notif_wq;
+
+	/*
+	 * Protects:
+	 *  - reads_list_head
+	 *  - mi_pending_reads_count
+	 *  - mi_last_pending_read_number
+	 *  - data_file_segment.reads_list_head
+	 */
+	struct mutex mi_pending_reads_mutex;
+
+	/* List of active pending_read objects */
+	struct list_head mi_reads_list_head;
+
+	/* Total number of items in reads_list_head */
+	int mi_pending_reads_count;
+
+	/*
+	 * Last serial number that was assigned to a pending read.
+	 * 0 means no pending reads have been seen yet.
+	 */
+	int mi_last_pending_read_number;
+
+	/* Temporary buffer for read logger. */
+	struct read_log mi_log;
+
+	void *log_xattr;
+	size_t log_xattr_size;
+
+	void *pending_read_xattr;
+	size_t pending_read_xattr_size;
+};
+
+struct data_file_block {
+	loff_t db_backing_file_data_offset;
+
+	size_t db_stored_size;
+
+	enum incfs_compression_alg db_comp_alg;
+};
+
+struct pending_read {
+	incfs_uuid_t file_id;
+
+	s64 timestamp_us;
+
+	atomic_t done;
+
+	int block_index;
+
+	int serial_number;
+
+	struct list_head mi_reads_list;
+
+	struct list_head segment_reads_list;
+};
+
+struct data_file_segment {
+	wait_queue_head_t new_data_arrival_wq;
+
+	/* Protects reads and writes from the blockmap */
+	/* Good candidate for read/write mutex */
+	struct mutex blockmap_mutex;
+
+	/* List of active pending_read objects belonging to this segment */
+	/* Protected by mount_info.pending_reads_mutex */
+	struct list_head reads_list_head;
+};
+
+/*
+ * Extra info associated with a file. Just a few bytes set by a user.
+ */
+struct file_attr {
+	loff_t fa_value_offset;
+
+	size_t fa_value_size;
+
+	u32 fa_crc;
+};
+
+
+struct data_file {
+	struct backing_file_context *df_backing_file_context;
+
+	struct mount_info *df_mount_info;
+
+	incfs_uuid_t df_id;
+
+	/*
+	 * Array of segments used to reduce lock contention for the file.
+	 * Segment is chosen for a block depends on the block's index.
+	 */
+	struct data_file_segment df_segments[SEGMENTS_PER_FILE];
+
+	/* Base offset of the first metadata record. */
+	loff_t df_metadata_off;
+
+	/* Base offset of the block map. */
+	loff_t df_blockmap_off;
+
+	/* File size in bytes */
+	loff_t df_size;
+
+	int df_block_count; /* File size in DATA_FILE_BLOCK_SIZE blocks */
+
+	struct file_attr n_attr;
+
+	struct mtree *df_hash_tree;
+
+	struct ondisk_signature *df_signature;
+
+	/* True, if file signature has already been validated. */
+	bool df_signature_validated;
+};
+
+struct dir_file {
+	struct mount_info *mount_info;
+
+	struct file *backing_dir;
+};
+
+struct inode_info {
+	struct mount_info *n_mount_info; /* A mount, this file belongs to */
+
+	struct inode *n_backing_inode;
+
+	struct data_file *n_file;
+
+	struct inode n_vfs_inode;
+};
+
+struct dentry_info {
+	struct path backing_path;
+};
+
+struct mount_info *incfs_alloc_mount_info(struct super_block *sb,
+					  struct mount_options *options,
+					  struct path *backing_dir_path);
+
+void incfs_free_mount_info(struct mount_info *mi);
+
+struct data_file *incfs_open_data_file(struct mount_info *mi, struct file *bf);
+void incfs_free_data_file(struct data_file *df);
+
+int incfs_scan_metadata_chain(struct data_file *df);
+
+struct dir_file *incfs_open_dir_file(struct mount_info *mi, struct file *bf);
+void incfs_free_dir_file(struct dir_file *dir);
+
+ssize_t incfs_read_data_file_block(struct mem_range dst, struct data_file *df,
+				   int index, int timeout_ms,
+				   struct mem_range tmp);
+
+int incfs_read_file_signature(struct data_file *df, struct mem_range dst);
+
+int incfs_process_new_data_block(struct data_file *df,
+				 struct incfs_new_data_block *block, u8 *data);
+
+int incfs_process_new_hash_block(struct data_file *df,
+				 struct incfs_new_data_block *block, u8 *data);
+
+
+bool incfs_fresh_pending_reads_exist(struct mount_info *mi, int last_number);
+
+/*
+ * Collects pending reads and saves them into the array (reads/reads_size).
+ * Only reads with serial_number > sn_lowerbound are reported.
+ * Returns how many reads were saved into the array.
+ */
+int incfs_collect_pending_reads(struct mount_info *mi, int sn_lowerbound,
+				struct incfs_pending_read_info *reads,
+				int reads_size);
+
+int incfs_collect_logged_reads(struct mount_info *mi,
+			       struct read_log_state *start_state,
+			       struct incfs_pending_read_info *reads,
+			       int reads_size);
+struct read_log_state incfs_get_log_state(struct mount_info *mi);
+int incfs_get_uncollected_logs_count(struct mount_info *mi,
+				     struct read_log_state state);
+
+static inline struct inode_info *get_incfs_node(struct inode *inode)
+{
+	if (!inode)
+		return NULL;
+
+	if (inode->i_sb->s_magic != INCFS_MAGIC_NUMBER) {
+		/* This inode doesn't belong to us. */
+		pr_warn_once("incfs: %s on an alien inode.", __func__);
+		return NULL;
+	}
+
+	return container_of(inode, struct inode_info, n_vfs_inode);
+}
+
+static inline struct data_file *get_incfs_data_file(struct file *f)
+{
+	struct inode_info *node = NULL;
+
+	if (!f)
+		return NULL;
+
+	if (!S_ISREG(f->f_inode->i_mode))
+		return NULL;
+
+	node = get_incfs_node(f->f_inode);
+	if (!node)
+		return NULL;
+
+	return node->n_file;
+}
+
+static inline struct dir_file *get_incfs_dir_file(struct file *f)
+{
+	if (!f)
+		return NULL;
+
+	if (!S_ISDIR(f->f_inode->i_mode))
+		return NULL;
+
+	return (struct dir_file *)f->private_data;
+}
+
+/*
+ * Make sure that inode_info.n_file is initialized and inode can be used
+ * for reading and writing data from/to the backing file.
+ */
+int make_inode_ready_for_data_ops(struct mount_info *mi,
+				struct inode *inode,
+				struct file *backing_file);
+
+static inline struct dentry_info *get_incfs_dentry(const struct dentry *d)
+{
+	if (!d)
+		return NULL;
+
+	return (struct dentry_info *)d->d_fsdata;
+}
+
+static inline void get_incfs_backing_path(const struct dentry *d,
+					  struct path *path)
+{
+	struct dentry_info *di = get_incfs_dentry(d);
+
+	if (!di) {
+		*path = (struct path) {};
+		return;
+	}
+
+	*path = di->backing_path;
+	path_get(path);
+}
+
+static inline int get_blocks_count_for_size(u64 size)
+{
+	if (size == 0)
+		return 0;
+	return 1 + (size - 1) / INCFS_DATA_FILE_BLOCK_SIZE;
+}
+
+bool incfs_equal_ranges(struct mem_range lhs, struct mem_range rhs);
+
+#endif /* _INCFS_DATA_MGMT_H */
diff --git a/fs/incfs/format.c b/fs/incfs/format.c
new file mode 100644
index 0000000..db71f52
--- /dev/null
+++ b/fs/incfs/format.c
@@ -0,0 +1,687 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright 2018 Google LLC
+ */
+#include <linux/fs.h>
+#include <linux/file.h>
+#include <linux/types.h>
+#include <linux/mutex.h>
+#include <linux/mm.h>
+#include <linux/falloc.h>
+#include <linux/slab.h>
+#include <linux/crc32.h>
+#include <linux/kernel.h>
+
+#include "format.h"
+
+struct backing_file_context *incfs_alloc_bfc(struct file *backing_file)
+{
+	struct backing_file_context *result = NULL;
+
+	result = kzalloc(sizeof(*result), GFP_NOFS);
+	if (!result)
+		return ERR_PTR(-ENOMEM);
+
+	result->bc_file = get_file(backing_file);
+	mutex_init(&result->bc_mutex);
+	return result;
+}
+
+void incfs_free_bfc(struct backing_file_context *bfc)
+{
+	if (!bfc)
+		return;
+
+	if (bfc->bc_file)
+		fput(bfc->bc_file);
+
+	mutex_destroy(&bfc->bc_mutex);
+	kfree(bfc);
+}
+
+loff_t incfs_get_end_offset(struct file *f)
+{
+	/*
+	 * This function assumes that file size and the end-offset
+	 * are the same. This is not always true.
+	 */
+	return i_size_read(file_inode(f));
+}
+
+/*
+ * Truncate the tail of the file to the given length.
+ * Used to rollback partially successful multistep writes.
+ */
+static int truncate_backing_file(struct backing_file_context *bfc,
+				loff_t new_end)
+{
+	struct inode *inode = NULL;
+	struct dentry *dentry = NULL;
+	loff_t old_end = 0;
+	struct iattr attr;
+	int result = 0;
+
+	if (!bfc)
+		return -EFAULT;
+
+	LOCK_REQUIRED(bfc->bc_mutex);
+
+	if (!bfc->bc_file)
+		return -EFAULT;
+
+	old_end = incfs_get_end_offset(bfc->bc_file);
+	if (old_end == new_end)
+		return 0;
+	if (old_end < new_end)
+		return -EINVAL;
+
+	inode = bfc->bc_file->f_inode;
+	dentry = bfc->bc_file->f_path.dentry;
+
+	attr.ia_size = new_end;
+	attr.ia_valid = ATTR_SIZE;
+
+	inode_lock(inode);
+	result = notify_change(dentry, &attr, NULL);
+	inode_unlock(inode);
+
+	return result;
+}
+
+/* Append a given number of zero bytes to the end of the backing file. */
+static int append_zeros(struct backing_file_context *bfc, size_t len)
+{
+	loff_t file_size = 0;
+	loff_t new_last_byte_offset = 0;
+	int res = 0;
+
+	if (!bfc)
+		return -EFAULT;
+
+	if (len == 0)
+		return 0;
+
+	LOCK_REQUIRED(bfc->bc_mutex);
+
+	/*
+	 * Allocate only one byte at the new desired end of the file.
+	 * It will increase file size and create a zeroed area of
+	 * a given size.
+	 */
+	file_size = incfs_get_end_offset(bfc->bc_file);
+	new_last_byte_offset = file_size + len - 1;
+	res = vfs_fallocate(bfc->bc_file, 0, new_last_byte_offset, 1);
+	if (res)
+		return res;
+
+	res = vfs_fsync_range(bfc->bc_file, file_size, file_size + len, 1);
+	return res;
+}
+
+static int write_to_bf(struct backing_file_context *bfc, const void *buf,
+			size_t count, loff_t pos, bool sync)
+{
+	ssize_t res = 0;
+
+	res = incfs_kwrite(bfc->bc_file, buf, count, pos);
+	if (res < 0)
+		return res;
+	if (res != count)
+		return -EIO;
+
+	if (sync)
+		return vfs_fsync_range(bfc->bc_file, pos, pos + count, 1);
+
+	return 0;
+}
+
+static u32 calc_md_crc(struct incfs_md_header *record)
+{
+	u32 result = 0;
+	__le32 saved_crc = record->h_record_crc;
+	__le64 saved_md_offset = record->h_next_md_offset;
+	size_t record_size = min_t(size_t, le16_to_cpu(record->h_record_size),
+				INCFS_MAX_METADATA_RECORD_SIZE);
+
+	/* Zero fields which needs to be excluded from CRC calculation. */
+	record->h_record_crc = 0;
+	record->h_next_md_offset = 0;
+	result = crc32(0, record, record_size);
+
+	/* Restore excluded fields. */
+	record->h_record_crc = saved_crc;
+	record->h_next_md_offset = saved_md_offset;
+
+	return result;
+}
+
+/*
+ * Append a given metadata record to the backing file and update a previous
+ * record to add the new record the the metadata list.
+ */
+static int append_md_to_backing_file(struct backing_file_context *bfc,
+			      struct incfs_md_header *record)
+{
+	int result = 0;
+	loff_t record_offset;
+	loff_t file_pos;
+	__le64 new_md_offset;
+	size_t record_size;
+
+	if (!bfc || !record)
+		return -EFAULT;
+
+	if (bfc->bc_last_md_record_offset < 0)
+		return -EINVAL;
+
+	LOCK_REQUIRED(bfc->bc_mutex);
+
+	record_size = le16_to_cpu(record->h_record_size);
+	file_pos = incfs_get_end_offset(bfc->bc_file);
+	record->h_prev_md_offset = cpu_to_le64(bfc->bc_last_md_record_offset);
+	record->h_next_md_offset = 0;
+	record->h_record_crc = cpu_to_le32(calc_md_crc(record));
+
+	/* Write the metadata record to the end of the backing file */
+	record_offset = file_pos;
+	new_md_offset = cpu_to_le64(record_offset);
+	result = write_to_bf(bfc, record, record_size, file_pos, true);
+	if (result)
+		return result;
+
+	/* Update next metadata offset in a previous record or a superblock. */
+	if (bfc->bc_last_md_record_offset) {
+		/*
+		 * Find a place in the previous md record where new record's
+		 * offset needs to be saved.
+		 */
+		file_pos = bfc->bc_last_md_record_offset +
+			offsetof(struct incfs_md_header, h_next_md_offset);
+	} else {
+		/*
+		 * No metadata yet, file a place to update in the
+		 * file_header.
+		 */
+		file_pos = offsetof(struct incfs_file_header,
+				    fh_first_md_offset);
+	}
+	result = write_to_bf(bfc, &new_md_offset, sizeof(new_md_offset),
+				file_pos, true);
+	if (result)
+		return result;
+
+	bfc->bc_last_md_record_offset = record_offset;
+	return result;
+}
+
+/*
+ * Reserve 0-filled space for the blockmap body, and append
+ * incfs_blockmap metadata record pointing to it.
+ */
+int incfs_write_blockmap_to_backing_file(struct backing_file_context *bfc,
+				u32 block_count, loff_t *map_base_off)
+{
+	struct incfs_blockmap blockmap = {};
+	int result = 0;
+	loff_t file_end = 0;
+	size_t map_size = block_count * sizeof(struct incfs_blockmap_entry);
+
+	if (!bfc)
+		return -EFAULT;
+
+	blockmap.m_header.h_md_entry_type = INCFS_MD_BLOCK_MAP;
+	blockmap.m_header.h_record_size = cpu_to_le16(sizeof(blockmap));
+	blockmap.m_header.h_next_md_offset = cpu_to_le64(0);
+	blockmap.m_block_count = cpu_to_le32(block_count);
+
+	LOCK_REQUIRED(bfc->bc_mutex);
+
+	/* Reserve 0-filled space for the blockmap body in the backing file. */
+	file_end = incfs_get_end_offset(bfc->bc_file);
+	result = append_zeros(bfc, map_size);
+	if (result)
+		return result;
+
+	/* Write blockmap metadata record pointing to the body written above. */
+	blockmap.m_base_offset = cpu_to_le64(file_end);
+	result = append_md_to_backing_file(bfc, &blockmap.m_header);
+	if (result) {
+		/* Error, rollback file changes */
+		truncate_backing_file(bfc, file_end);
+	} else if (map_base_off) {
+		*map_base_off = file_end;
+	}
+
+	return result;
+}
+
+/*
+ * Write file attribute data and metadata record to the backing file.
+ */
+int incfs_write_file_attr_to_backing_file(struct backing_file_context *bfc,
+		struct mem_range value, struct incfs_file_attr *attr)
+{
+	struct incfs_file_attr file_attr = {};
+	int result = 0;
+	u32 crc = 0;
+	loff_t value_offset = 0;
+
+	if (!bfc)
+		return -EFAULT;
+
+	if (value.len > INCFS_MAX_FILE_ATTR_SIZE)
+		return -ENOSPC;
+
+	LOCK_REQUIRED(bfc->bc_mutex);
+
+	crc = crc32(0, value.data, value.len);
+	value_offset = incfs_get_end_offset(bfc->bc_file);
+	file_attr.fa_header.h_md_entry_type = INCFS_MD_FILE_ATTR;
+	file_attr.fa_header.h_record_size = cpu_to_le16(sizeof(file_attr));
+	file_attr.fa_header.h_next_md_offset = cpu_to_le64(0);
+	file_attr.fa_size = cpu_to_le16((u16)value.len);
+	file_attr.fa_offset = cpu_to_le64(value_offset);
+	file_attr.fa_crc = cpu_to_le32(crc);
+
+	result = write_to_bf(bfc, value.data, value.len, value_offset, true);
+	if (result)
+		return result;
+
+	result = append_md_to_backing_file(bfc, &file_attr.fa_header);
+	if (result) {
+		/* Error, rollback file changes */
+		truncate_backing_file(bfc, value_offset);
+	} else if (attr) {
+		*attr = file_attr;
+	}
+
+	return result;
+}
+
+int incfs_write_signature_to_backing_file(struct backing_file_context *bfc,
+		u8 hash_alg, u32 tree_size,
+		struct mem_range root_hash, struct mem_range add_data,
+		struct mem_range sig)
+{
+	struct incfs_file_signature sg = {};
+	int result = 0;
+	loff_t rollback_pos = 0;
+	loff_t tree_area_pos = 0;
+	size_t alignment = 0;
+
+	if (!bfc)
+		return -EFAULT;
+	if (root_hash.len > sizeof(sg.sg_root_hash))
+		return -E2BIG;
+
+	LOCK_REQUIRED(bfc->bc_mutex);
+
+	rollback_pos = incfs_get_end_offset(bfc->bc_file);
+
+	sg.sg_header.h_md_entry_type = INCFS_MD_SIGNATURE;
+	sg.sg_header.h_record_size = cpu_to_le16(sizeof(sg));
+	sg.sg_header.h_next_md_offset = cpu_to_le64(0);
+	sg.sg_hash_alg = hash_alg;
+	if (sig.data != NULL && sig.len > 0) {
+		loff_t pos = incfs_get_end_offset(bfc->bc_file);
+
+		sg.sg_sig_size = cpu_to_le32(sig.len);
+		sg.sg_sig_offset = cpu_to_le64(pos);
+
+		result = write_to_bf(bfc, sig.data, sig.len, pos, false);
+		if (result)
+			goto err;
+	}
+
+	if (add_data.len > 0) {
+		loff_t pos = incfs_get_end_offset(bfc->bc_file);
+
+		sg.sg_add_data_size = cpu_to_le32(add_data.len);
+		sg.sg_add_data_offset = cpu_to_le64(pos);
+
+		result = write_to_bf(bfc, add_data.data,
+			add_data.len, pos, false);
+		if (result)
+			goto err;
+	}
+
+	tree_area_pos = incfs_get_end_offset(bfc->bc_file);
+	if (hash_alg && tree_size > 0) {
+		if (tree_size > 5 * INCFS_DATA_FILE_BLOCK_SIZE) {
+			/*
+			 * If hash tree is big enough, it makes sense to
+			 * align in the backing file for faster access.
+			 */
+			loff_t offset = round_up(tree_area_pos, PAGE_SIZE);
+
+			alignment = offset - tree_area_pos;
+			tree_area_pos = offset;
+		}
+
+		/*
+		 * If root hash is not the only hash in the tree.
+		 * reserve 0-filled space for the tree.
+		 */
+		result = append_zeros(bfc, tree_size + alignment);
+		if (result)
+			goto err;
+
+		sg.sg_hash_tree_size = cpu_to_le32(tree_size);
+		sg.sg_hash_tree_offset = cpu_to_le64(tree_area_pos);
+	}
+	memcpy(sg.sg_root_hash, root_hash.data, root_hash.len);
+
+	/* Write a hash tree metadata record pointing to the hash tree above. */
+	result = append_md_to_backing_file(bfc, &sg.sg_header);
+err:
+	if (result) {
+		/* Error, rollback file changes */
+		truncate_backing_file(bfc, rollback_pos);
+	}
+	return result;
+}
+
+/*
+ * Write a backing file header
+ * It should always be called only on empty file.
+ * incfs_super_block.s_first_md_offset is 0 for now, but will be updated
+ * once first metadata record is added.
+ */
+int incfs_write_fh_to_backing_file(struct backing_file_context *bfc,
+				   incfs_uuid_t *uuid, u64 file_size)
+{
+	struct incfs_file_header fh = {};
+	loff_t file_pos = 0;
+
+	if (!bfc)
+		return -EFAULT;
+
+	fh.fh_magic = cpu_to_le64(INCFS_MAGIC_NUMBER);
+	fh.fh_version = cpu_to_le64(INCFS_FORMAT_CURRENT_VER);
+	fh.fh_header_size = cpu_to_le16(sizeof(fh));
+	fh.fh_first_md_offset = cpu_to_le64(0);
+	fh.fh_data_block_size = cpu_to_le16(INCFS_DATA_FILE_BLOCK_SIZE);
+
+	fh.fh_file_size = cpu_to_le64(file_size);
+	fh.fh_uuid = *uuid;
+
+	LOCK_REQUIRED(bfc->bc_mutex);
+
+	file_pos = incfs_get_end_offset(bfc->bc_file);
+	if (file_pos != 0)
+		return -EEXIST;
+
+	return write_to_bf(bfc, &fh, sizeof(fh), file_pos, true);
+}
+
+/* Write a given data block and update file's blockmap to point it. */
+int incfs_write_data_block_to_backing_file(struct backing_file_context *bfc,
+				     struct mem_range block, int block_index,
+				     loff_t bm_base_off, u16 flags)
+{
+	struct incfs_blockmap_entry bm_entry = {};
+	int result = 0;
+	loff_t data_offset = 0;
+	loff_t bm_entry_off =
+		bm_base_off + sizeof(struct incfs_blockmap_entry) * block_index;
+
+	if (!bfc)
+		return -EFAULT;
+
+	if (block.len >= (1 << 16) || block_index < 0)
+		return -EINVAL;
+
+	LOCK_REQUIRED(bfc->bc_mutex);
+
+	data_offset = incfs_get_end_offset(bfc->bc_file);
+	if (data_offset <= bm_entry_off) {
+		/* Blockmap entry is beyond the file's end. It is not normal. */
+		return -EINVAL;
+	}
+
+	/* Write the block data at the end of the backing file. */
+	result = write_to_bf(bfc, block.data, block.len, data_offset, false);
+	if (result)
+		return result;
+
+	/* Update the blockmap to point to the newly written data. */
+	bm_entry.me_data_offset_lo = cpu_to_le32((u32)data_offset);
+	bm_entry.me_data_offset_hi = cpu_to_le16((u16)(data_offset >> 32));
+	bm_entry.me_data_size = cpu_to_le16((u16)block.len);
+	bm_entry.me_flags = cpu_to_le16(flags);
+
+	result = write_to_bf(bfc, &bm_entry, sizeof(bm_entry),
+				bm_entry_off, false);
+	return result;
+}
+
+int incfs_write_hash_block_to_backing_file(struct backing_file_context *bfc,
+					struct mem_range block,
+					int block_index, loff_t hash_area_off)
+{
+	loff_t data_offset = 0;
+	loff_t file_end = 0;
+
+
+	if (!bfc)
+		return -EFAULT;
+
+	LOCK_REQUIRED(bfc->bc_mutex);
+
+	data_offset = hash_area_off + block_index * INCFS_DATA_FILE_BLOCK_SIZE;
+	file_end = incfs_get_end_offset(bfc->bc_file);
+	if (data_offset + block.len > file_end) {
+		/* Block is located beyond the file's end. It is not normal. */
+		return -EINVAL;
+	}
+
+	return write_to_bf(bfc, block.data, block.len, data_offset, false);
+}
+
+/* Initialize a new image in a given backing file. */
+int incfs_make_empty_backing_file(struct backing_file_context *bfc,
+				  incfs_uuid_t *uuid, u64 file_size)
+{
+	int result = 0;
+
+	if (!bfc || !bfc->bc_file)
+		return -EFAULT;
+
+	result = mutex_lock_interruptible(&bfc->bc_mutex);
+	if (result)
+		goto out;
+
+	result = truncate_backing_file(bfc, 0);
+	if (result)
+		goto out;
+
+	result = incfs_write_fh_to_backing_file(bfc, uuid, file_size);
+out:
+	mutex_unlock(&bfc->bc_mutex);
+	return result;
+}
+
+int incfs_read_blockmap_entry(struct backing_file_context *bfc, int block_index,
+			loff_t bm_base_off,
+			struct incfs_blockmap_entry *bm_entry)
+{
+	return incfs_read_blockmap_entries(bfc, bm_entry, block_index, 1,
+		bm_base_off);
+}
+
+int incfs_read_blockmap_entries(struct backing_file_context *bfc,
+		struct incfs_blockmap_entry *entries,
+		int start_index, int blocks_number,
+		loff_t bm_base_off)
+{
+	loff_t bm_entry_off =
+		bm_base_off + sizeof(struct incfs_blockmap_entry) * start_index;
+	const size_t bytes_to_read = sizeof(struct incfs_blockmap_entry)
+					* blocks_number;
+	int result = 0;
+
+	if (!bfc || !entries)
+		return -EFAULT;
+
+	if (start_index < 0 || bm_base_off <= 0)
+		return -ENODATA;
+
+	result = incfs_kread(bfc->bc_file, entries, bytes_to_read,
+			     bm_entry_off);
+	if (result < 0)
+		return result;
+	if (result < bytes_to_read)
+		return -EIO;
+	return 0;
+}
+
+
+int incfs_read_file_header(struct backing_file_context *bfc,
+			   loff_t *first_md_off, incfs_uuid_t *uuid,
+			   u64 *file_size)
+{
+	ssize_t bytes_read = 0;
+	struct incfs_file_header fh = {};
+
+	if (!bfc || !first_md_off)
+		return -EFAULT;
+
+	LOCK_REQUIRED(bfc->bc_mutex);
+	bytes_read = incfs_kread(bfc->bc_file, &fh, sizeof(fh), 0);
+	if (bytes_read < 0)
+		return bytes_read;
+
+	if (bytes_read < sizeof(fh))
+		return -EBADMSG;
+
+	if (le64_to_cpu(fh.fh_magic) != INCFS_MAGIC_NUMBER)
+		return -EILSEQ;
+
+	if (le64_to_cpu(fh.fh_version) > INCFS_FORMAT_CURRENT_VER)
+		return -EILSEQ;
+
+	if (le16_to_cpu(fh.fh_data_block_size) != INCFS_DATA_FILE_BLOCK_SIZE)
+		return -EILSEQ;
+
+	if (le16_to_cpu(fh.fh_header_size) != sizeof(fh))
+		return -EILSEQ;
+
+	if (first_md_off)
+		*first_md_off = le64_to_cpu(fh.fh_first_md_offset);
+	if (uuid)
+		*uuid = fh.fh_uuid;
+	if (file_size)
+		*file_size = le64_to_cpu(fh.fh_file_size);
+	return 0;
+}
+
+/*
+ * Read through metadata records from the backing file one by one
+ * and call provided metadata handlers.
+ */
+int incfs_read_next_metadata_record(struct backing_file_context *bfc,
+			      struct metadata_handler *handler)
+{
+	const ssize_t max_md_size = INCFS_MAX_METADATA_RECORD_SIZE;
+	ssize_t bytes_read = 0;
+	size_t md_record_size = 0;
+	loff_t next_record = 0;
+	loff_t prev_record = 0;
+	int res = 0;
+	struct incfs_md_header *md_hdr = NULL;
+
+	if (!bfc || !handler)
+		return -EFAULT;
+
+	LOCK_REQUIRED(bfc->bc_mutex);
+
+	if (handler->md_record_offset == 0)
+		return -EPERM;
+
+	memset(&handler->md_buffer, 0, max_md_size);
+	bytes_read = incfs_kread(bfc->bc_file, &handler->md_buffer,
+				 max_md_size, handler->md_record_offset);
+	if (bytes_read < 0)
+		return bytes_read;
+	if (bytes_read < sizeof(*md_hdr))
+		return -EBADMSG;
+
+	md_hdr = &handler->md_buffer.md_header;
+	next_record = le64_to_cpu(md_hdr->h_next_md_offset);
+	prev_record = le64_to_cpu(md_hdr->h_prev_md_offset);
+	md_record_size = le16_to_cpu(md_hdr->h_record_size);
+
+	if (md_record_size > max_md_size) {
+		pr_warn("incfs: The record is too large. Size: %ld",
+				md_record_size);
+		return -EBADMSG;
+	}
+
+	if (bytes_read < md_record_size) {
+		pr_warn("incfs: The record hasn't been fully read.");
+		return -EBADMSG;
+	}
+
+	if (next_record <= handler->md_record_offset && next_record != 0) {
+		pr_warn("incfs: Next record (%lld) points back in file.",
+			next_record);
+		return -EBADMSG;
+	}
+
+	if (prev_record != handler->md_prev_record_offset) {
+		pr_warn("incfs: Metadata chain has been corrupted.");
+		return -EBADMSG;
+	}
+
+	if (le32_to_cpu(md_hdr->h_record_crc) != calc_md_crc(md_hdr)) {
+		pr_warn("incfs: Metadata CRC mismatch.");
+		return -EBADMSG;
+	}
+
+	switch (md_hdr->h_md_entry_type) {
+	case INCFS_MD_NONE:
+		break;
+	case INCFS_MD_BLOCK_MAP:
+		if (handler->handle_blockmap)
+			res = handler->handle_blockmap(
+				&handler->md_buffer.blockmap, handler);
+		break;
+	case INCFS_MD_FILE_ATTR:
+		if (handler->handle_file_attr)
+			res = handler->handle_file_attr(
+				&handler->md_buffer.file_attr, handler);
+		break;
+	case INCFS_MD_SIGNATURE:
+		if (handler->handle_signature)
+			res = handler->handle_signature(
+				&handler->md_buffer.signature, handler);
+		break;
+	default:
+		res = -ENOTSUPP;
+		break;
+	}
+
+	if (!res) {
+		if (next_record == 0) {
+			/*
+			 * Zero offset for the next record means that the last
+			 * metadata record has just been processed.
+			 */
+			bfc->bc_last_md_record_offset =
+				handler->md_record_offset;
+		}
+		handler->md_prev_record_offset = handler->md_record_offset;
+		handler->md_record_offset = next_record;
+	}
+	return res;
+}
+
+ssize_t incfs_kread(struct file *f, void *buf, size_t size, loff_t pos)
+{
+	return kernel_read(f, buf, size, &pos);
+}
+
+ssize_t incfs_kwrite(struct file *f, const void *buf, size_t size, loff_t pos)
+{
+	return kernel_write(f, buf, size, &pos);
+}
diff --git a/fs/incfs/format.h b/fs/incfs/format.h
new file mode 100644
index 0000000..a868814
--- /dev/null
+++ b/fs/incfs/format.h
@@ -0,0 +1,349 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright 2018 Google LLC
+ */
+
+/*
+ * Overview
+ * --------
+ * The backbone of the incremental-fs ondisk format is an append only linked
+ * list of metadata blocks. Each metadata block contains an offset of the next
+ * one. These blocks describe files and directories on the
+ * file system. They also represent actions of adding and removing file names
+ * (hard links).
+ *
+ * Every time incremental-fs instance is mounted, it reads through this list
+ * to recreate filesystem's state in memory. An offset of the first record in
+ * the metadata list is stored in the superblock at the beginning of the backing
+ * file.
+ *
+ * Most of the backing file is taken by data areas and blockmaps.
+ * Since data blocks can be compressed and have different sizes,
+ * single per-file data area can't be pre-allocated. That's why blockmaps are
+ * needed in order to find a location and size of each data block in
+ * the backing file. Each time a file is created, a corresponding block map is
+ * allocated to store future offsets of data blocks.
+ *
+ * Whenever a data block is given by data loader to incremental-fs:
+ *   - A data area with the given block is appended to the end of
+ *     the backing file.
+ *   - A record in the blockmap for the given block index is updated to reflect
+ *     its location, size, and compression algorithm.
+
+ * Metadata records
+ * ----------------
+ * incfs_blockmap - metadata record that specifies size and location
+ *                           of a blockmap area for a given file. This area
+ *                           contains an array of incfs_blockmap_entry-s.
+ * incfs_file_signature - metadata record that specifies where file signature
+ *                           and its hash tree can be found in the backing file.
+ *
+ * incfs_file_attr - metadata record that specifies where additional file
+ *		        attributes blob can be found.
+ *
+ * Metadata header
+ * ---------------
+ * incfs_md_header - header of a metadata record. It's always a part
+ *                   of other structures and served purpose of metadata
+ *                   bookkeeping.
+ *
+ *              +-----------------------------------------------+       ^
+ *              |            incfs_md_header                    |       |
+ *              | 1. type of body(BLOCKMAP, FILE_ATTR..)        |       |
+ *              | 2. size of the whole record header + body     |       |
+ *              | 3. CRC the whole record header + body         |       |
+ *              | 4. offset of the previous md record           |]------+
+ *              | 5. offset of the next md record (md link)     |]---+
+ *              +-----------------------------------------------+    |
+ *              |  Metadata record body with useful data        |    |
+ *              +-----------------------------------------------+    |
+ *                                                                   +--->
+ *
+ * Other ondisk structures
+ * -----------------------
+ * incfs_super_block - backing file header
+ * incfs_blockmap_entry - a record in a blockmap area that describes size
+ *                       and location of a data block.
+ * Data blocks dont have any particular structure, they are written to the
+ * backing file in a raw form as they come from a data loader.
+ *
+ * Backing file layout
+ * -------------------
+ *
+ *
+ *              +-------------------------------------------+
+ *              |            incfs_super_block              |]---+
+ *              +-------------------------------------------+    |
+ *              |                 metadata                  |<---+
+ *              |           incfs_file_signature            |]---+
+ *              +-------------------------------------------+    |
+ *                        .........................              |
+ *              +-------------------------------------------+    |   metadata
+ *     +------->|               blockmap area               |    |  list links
+ *     |        |          [incfs_blockmap_entry]           |    |
+ *     |        |          [incfs_blockmap_entry]           |    |
+ *     |        |          [incfs_blockmap_entry]           |    |
+ *     |    +--[|          [incfs_blockmap_entry]           |    |
+ *     |    |   |          [incfs_blockmap_entry]           |    |
+ *     |    |   |          [incfs_blockmap_entry]           |    |
+ *     |    |   +-------------------------------------------+    |
+ *     |    |             .........................              |
+ *     |    |   +-------------------------------------------+    |
+ *     |    |   |                 metadata                  |<---+
+ *     +----|--[|               incfs_blockmap              |]---+
+ *          |   +-------------------------------------------+    |
+ *          |             .........................              |
+ *          |   +-------------------------------------------+    |
+ *          +-->|                 data block                |    |
+ *              +-------------------------------------------+    |
+ *                        .........................              |
+ *              +-------------------------------------------+    |
+ *              |                 metadata                  |<---+
+ *              |              incfs_file_attr              |
+ *              +-------------------------------------------+
+ */
+#ifndef _INCFS_FORMAT_H
+#define _INCFS_FORMAT_H
+#include <linux/types.h>
+#include <linux/kernel.h>
+#include <uapi/linux/incrementalfs.h>
+
+#include "internal.h"
+
+#define INCFS_MAX_NAME_LEN 255
+#define INCFS_FORMAT_V1 1
+#define INCFS_FORMAT_CURRENT_VER INCFS_FORMAT_V1
+
+enum incfs_metadata_type {
+	INCFS_MD_NONE = 0,
+	INCFS_MD_BLOCK_MAP = 1,
+	INCFS_MD_FILE_ATTR = 2,
+	INCFS_MD_SIGNATURE = 3
+};
+
+/* Header included at the beginning of all metadata records on the disk. */
+struct incfs_md_header {
+	__u8 h_md_entry_type;
+
+	/*
+	 * Size of the metadata record.
+	 * (e.g. inode, dir entry etc) not just this struct.
+	 */
+	__le16 h_record_size;
+
+	/*
+	 * CRC32 of the metadata record.
+	 * (e.g. inode, dir entry etc) not just this struct.
+	 */
+	__le32 h_record_crc;
+
+	/* Offset of the next metadata entry if any */
+	__le64 h_next_md_offset;
+
+	/* Offset of the previous metadata entry if any */
+	__le64 h_prev_md_offset;
+
+} __packed;
+
+/* Backing file header */
+struct incfs_file_header {
+	/* Magic number: INCFS_MAGIC_NUMBER */
+	__le64 fh_magic;
+
+	/* Format version: INCFS_FORMAT_CURRENT_VER */
+	__le64 fh_version;
+
+	/* sizeof(incfs_file_header) */
+	__le16 fh_header_size;
+
+	/* INCFS_DATA_FILE_BLOCK_SIZE */
+	__le16 fh_data_block_size;
+
+	/* Padding, also reserved for future use. */
+	__le32 fh_dummy;
+
+	/* Offset of the first metadata record */
+	__le64 fh_first_md_offset;
+
+	/*
+	 * Put file specific information after this point
+	 */
+
+	/* Full size of the file's content */
+	__le64 fh_file_size;
+
+	/* File uuid */
+	incfs_uuid_t fh_uuid;
+} __packed;
+
+enum incfs_block_map_entry_flags {
+	INCFS_BLOCK_COMPRESSED_LZ4 = (1 << 0),
+};
+
+/* Block map entry pointing to an actual location of the data block. */
+struct incfs_blockmap_entry {
+	/* Offset of the actual data block. Lower 32 bits */
+	__le32 me_data_offset_lo;
+
+	/* Offset of the actual data block. Higher 16 bits */
+	__le16 me_data_offset_hi;
+
+	/* How many bytes the data actually occupies in the backing file */
+	__le16 me_data_size;
+
+	/* Block flags from incfs_block_map_entry_flags */
+	__le16 me_flags;
+} __packed;
+
+/* Metadata record for locations of file blocks. Type = INCFS_MD_BLOCK_MAP */
+struct incfs_blockmap {
+	struct incfs_md_header m_header;
+
+	/* Base offset of the array of incfs_blockmap_entry */
+	__le64 m_base_offset;
+
+	/* Size of the map entry array in blocks */
+	__le32 m_block_count;
+} __packed;
+
+/* Metadata record for file attribute. Type = INCFS_MD_FILE_ATTR */
+struct incfs_file_attr {
+	struct incfs_md_header fa_header;
+
+	__le64 fa_offset;
+
+	__le16 fa_size;
+
+	__le32 fa_crc;
+} __packed;
+
+/* Metadata record for file attribute. Type = INCFS_MD_SIGNATURE */
+struct incfs_file_signature {
+	struct incfs_md_header sg_header;
+
+	__u8 sg_hash_alg; /* Value from incfs_hash_tree_algorithm */
+
+	__le32 sg_hash_tree_size; /* The size of the hash tree. */
+
+	__le64 sg_hash_tree_offset; /* Hash tree offset in the backing file */
+
+	__u8 sg_root_hash[INCFS_MAX_HASH_SIZE];
+
+	__le32 sg_sig_size; /* The size of the pkcs7 signature. */
+
+	__le64 sg_sig_offset; /* pkcs7 signature's offset in the backing file */
+
+	__le32 sg_add_data_size; /* The size of the additional data. */
+
+	__le64 sg_add_data_offset; /* Additional data's offset */
+} __packed;
+
+/* State of the backing file. */
+struct backing_file_context {
+	/* Protects writes to bc_file */
+	struct mutex bc_mutex;
+
+	/* File object to read data from */
+	struct file *bc_file;
+
+	/*
+	 * Offset of the last known metadata record in the backing file.
+	 * 0 means there are no metadata records.
+	 */
+	loff_t bc_last_md_record_offset;
+};
+
+
+/* Backing file locations of things required for signature validation. */
+struct ondisk_signature {
+
+	loff_t add_data_offset; /* Additional data's offset */
+
+	loff_t sig_offset; /* pkcs7 signature's offset in the backing file */
+
+	loff_t mtree_offset; /* Backing file offset of the hash tree. */
+
+	u32 add_data_size; /* The size of the additional data. */
+
+	u32 sig_size; /* The size of the pkcs7 signature. */
+
+	u32 mtree_size; /* The size of the hash tree. */
+};
+
+struct metadata_handler {
+	loff_t md_record_offset;
+	loff_t md_prev_record_offset;
+	void *context;
+
+	union {
+		struct incfs_md_header md_header;
+		struct incfs_blockmap blockmap;
+		struct incfs_file_attr file_attr;
+		struct incfs_file_signature signature;
+	} md_buffer;
+
+	int (*handle_blockmap)(struct incfs_blockmap *bm,
+			       struct metadata_handler *handler);
+	int (*handle_file_attr)(struct incfs_file_attr *fa,
+				 struct metadata_handler *handler);
+	int (*handle_signature)(struct incfs_file_signature *sig,
+				 struct metadata_handler *handler);
+};
+#define INCFS_MAX_METADATA_RECORD_SIZE \
+	FIELD_SIZEOF(struct metadata_handler, md_buffer)
+
+loff_t incfs_get_end_offset(struct file *f);
+
+/* Backing file context management */
+struct backing_file_context *incfs_alloc_bfc(struct file *backing_file);
+
+void incfs_free_bfc(struct backing_file_context *bfc);
+
+/* Writing stuff */
+int incfs_write_blockmap_to_backing_file(struct backing_file_context *bfc,
+					 u32 block_count, loff_t *map_base_off);
+
+int incfs_write_fh_to_backing_file(struct backing_file_context *bfc,
+				   incfs_uuid_t *uuid, u64 file_size);
+
+int incfs_write_data_block_to_backing_file(struct backing_file_context *bfc,
+					   struct mem_range block,
+					   int block_index, loff_t bm_base_off,
+					   u16 flags);
+
+int incfs_write_hash_block_to_backing_file(struct backing_file_context *bfc,
+					struct mem_range block,
+					int block_index, loff_t hash_area_off);
+
+int incfs_write_file_attr_to_backing_file(struct backing_file_context *bfc,
+		struct mem_range value, struct incfs_file_attr *attr);
+
+int incfs_write_signature_to_backing_file(struct backing_file_context *bfc,
+		u8 hash_alg, u32 tree_size,
+		struct mem_range root_hash, struct mem_range add_data,
+		struct mem_range sig);
+
+int incfs_make_empty_backing_file(struct backing_file_context *bfc,
+				  incfs_uuid_t *uuid, u64 file_size);
+
+/* Reading stuff */
+int incfs_read_file_header(struct backing_file_context *bfc,
+			   loff_t *first_md_off, incfs_uuid_t *uuid,
+			   u64 *file_size);
+
+int incfs_read_blockmap_entry(struct backing_file_context *bfc, int block_index,
+			      loff_t bm_base_off,
+			      struct incfs_blockmap_entry *bm_entry);
+
+int incfs_read_blockmap_entries(struct backing_file_context *bfc,
+		struct incfs_blockmap_entry *entries,
+		int start_index, int blocks_number,
+		loff_t bm_base_off);
+
+int incfs_read_next_metadata_record(struct backing_file_context *bfc,
+				    struct metadata_handler *handler);
+
+ssize_t incfs_kread(struct file *f, void *buf, size_t size, loff_t pos);
+ssize_t incfs_kwrite(struct file *f, const void *buf, size_t size, loff_t pos);
+
+#endif /* _INCFS_FORMAT_H */
diff --git a/fs/incfs/integrity.c b/fs/incfs/integrity.c
new file mode 100644
index 0000000..feb212c
--- /dev/null
+++ b/fs/incfs/integrity.c
@@ -0,0 +1,213 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright 2019 Google LLC
+ */
+#include <crypto/sha.h>
+#include <crypto/hash.h>
+#include <linux/err.h>
+#include <linux/version.h>
+#include <crypto/pkcs7.h>
+
+#include "integrity.h"
+
+int incfs_validate_pkcs7_signature(struct mem_range pkcs7_blob,
+	struct mem_range root_hash, struct mem_range add_data)
+{
+	struct pkcs7_message *pkcs7 = NULL;
+	const void *data = NULL;
+	size_t data_len = 0;
+	const char *p;
+	int err;
+
+	pkcs7 = pkcs7_parse_message(pkcs7_blob.data, pkcs7_blob.len);
+	if (IS_ERR(pkcs7)) {
+		pr_debug("PKCS#7 parsing error. ptr=%p size=%ld err=%ld\n",
+			pkcs7_blob.data, pkcs7_blob.len, -PTR_ERR(pkcs7));
+		return PTR_ERR(pkcs7);
+	}
+
+	err = pkcs7_get_content_data(pkcs7, &data, &data_len, NULL);
+	if (err || data_len == 0 || data == NULL) {
+		pr_debug("PKCS#7 message does not contain data\n");
+		err = -EBADMSG;
+		goto out;
+	}
+
+	if (root_hash.len == 0) {
+		pr_debug("Root hash is empty.\n");
+		err = -EBADMSG;
+		goto out;
+	}
+
+	if (data_len != root_hash.len + add_data.len) {
+		pr_debug("PKCS#7 data size doesn't match arguments.\n");
+		err = -EKEYREJECTED;
+		goto out;
+	}
+
+	p = data;
+	if (memcmp(p, root_hash.data, root_hash.len) != 0) {
+		pr_debug("Root hash mismatch.\n");
+		err = -EKEYREJECTED;
+		goto out;
+	}
+	p += root_hash.len;
+	if (memcmp(p, add_data.data, add_data.len) != 0) {
+		pr_debug("Additional data mismatch.\n");
+		err = -EKEYREJECTED;
+		goto out;
+	}
+
+	err = pkcs7_verify(pkcs7, VERIFYING_UNSPECIFIED_SIGNATURE);
+	if (err)
+		pr_debug("PKCS#7 signature verification error: %d\n", -err);
+
+	/*
+	 * RSA signature verification sometimes returns unexpected error codes
+	 * when signature doesn't match.
+	 */
+	if (err == -ERANGE || err == -EINVAL)
+		err = -EBADMSG;
+
+out:
+	pkcs7_free_message(pkcs7);
+	return err;
+}
+
+struct incfs_hash_alg *incfs_get_hash_alg(enum incfs_hash_tree_algorithm id)
+{
+	static struct incfs_hash_alg sha256 = {
+		.name = "sha256",
+		.digest_size = SHA256_DIGEST_SIZE,
+		.id = INCFS_HASH_TREE_SHA256
+	};
+	struct incfs_hash_alg *result = NULL;
+	struct crypto_shash *shash;
+
+	if (id == INCFS_HASH_TREE_SHA256) {
+		BUILD_BUG_ON(INCFS_MAX_HASH_SIZE < SHA256_DIGEST_SIZE);
+		result = &sha256;
+	}
+
+	if (result == NULL)
+		return ERR_PTR(-ENOENT);
+
+	/* pairs with cmpxchg_release() below */
+	shash = smp_load_acquire(&result->shash);
+	if (shash)
+		return result;
+
+	shash = crypto_alloc_shash(result->name, 0, 0);
+	if (IS_ERR(shash)) {
+		int err = PTR_ERR(shash);
+
+		pr_err("Can't allocate hash alg %s, error code:%d",
+			result->name, err);
+		return ERR_PTR(err);
+	}
+
+	/* pairs with smp_load_acquire() above */
+	if (cmpxchg_release(&result->shash, NULL, shash) != NULL)
+		crypto_free_shash(shash);
+
+	return result;
+}
+
+
+struct mtree *incfs_alloc_mtree(enum incfs_hash_tree_algorithm id,
+				int data_block_count,
+				struct mem_range root_hash)
+{
+	struct mtree *result = NULL;
+	struct incfs_hash_alg *hash_alg = NULL;
+	int hash_per_block;
+	int lvl;
+	int total_blocks = 0;
+	int blocks_in_level[INCFS_MAX_MTREE_LEVELS];
+	int blocks = data_block_count;
+
+	if (data_block_count <= 0)
+		return ERR_PTR(-EINVAL);
+
+	hash_alg = incfs_get_hash_alg(id);
+	if (IS_ERR(hash_alg))
+		return ERR_PTR(PTR_ERR(hash_alg));
+
+	if (root_hash.len < hash_alg->digest_size)
+		return ERR_PTR(-EINVAL);
+
+	result = kzalloc(sizeof(*result), GFP_NOFS);
+	if (!result)
+		return ERR_PTR(-ENOMEM);
+
+	result->alg = hash_alg;
+	hash_per_block = INCFS_DATA_FILE_BLOCK_SIZE / result->alg->digest_size;
+
+	/* Calculating tree geometry. */
+	/* First pass: calculate how many blocks in each tree level. */
+	for (lvl = 0; blocks > 1; lvl++) {
+		if (lvl >= INCFS_MAX_MTREE_LEVELS) {
+			pr_err("incfs: too much data in mtree");
+			goto err;
+		}
+
+		blocks = (blocks + hash_per_block - 1) / hash_per_block;
+		blocks_in_level[lvl] = blocks;
+		total_blocks += blocks;
+	}
+	result->depth = lvl;
+	result->hash_tree_area_size = total_blocks * INCFS_DATA_FILE_BLOCK_SIZE;
+	if (result->hash_tree_area_size > INCFS_MAX_HASH_AREA_SIZE)
+		goto err;
+
+	blocks = 0;
+	/* Second pass: calculate offset of each level. 0th level goes last. */
+	for (lvl = 0; lvl < result->depth; lvl++) {
+		u32 suboffset;
+
+		blocks += blocks_in_level[lvl];
+		suboffset = (total_blocks - blocks)
+					* INCFS_DATA_FILE_BLOCK_SIZE;
+
+		result->hash_level_suboffset[lvl] = suboffset;
+	}
+
+	/* Root hash is stored separately from the rest of the tree. */
+	memcpy(result->root_hash, root_hash.data, hash_alg->digest_size);
+	return result;
+
+err:
+	kfree(result);
+	return ERR_PTR(-E2BIG);
+}
+
+void incfs_free_mtree(struct mtree *tree)
+{
+	kfree(tree);
+}
+
+int incfs_calc_digest(struct incfs_hash_alg *alg, struct mem_range data,
+			struct mem_range digest)
+{
+	SHASH_DESC_ON_STACK(desc, alg->shash);
+
+	if (!alg || !alg->shash || !data.data || !digest.data)
+		return -EFAULT;
+
+	if (alg->digest_size > digest.len)
+		return -EINVAL;
+
+	desc->tfm = alg->shash;
+	return crypto_shash_digest(desc, data.data, data.len, digest.data);
+}
+
+void incfs_free_signature_info(struct signature_info *si)
+{
+	if (!si)
+		return;
+	kfree(si->root_hash.data);
+	kfree(si->additional_data.data);
+	kfree(si->signature.data);
+	kfree(si);
+}
+
diff --git a/fs/incfs/integrity.h b/fs/incfs/integrity.h
new file mode 100644
index 0000000..da1c384
--- /dev/null
+++ b/fs/incfs/integrity.h
@@ -0,0 +1,72 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright 2019 Google LLC
+ */
+#ifndef _INCFS_INTEGRITY_H
+#define _INCFS_INTEGRITY_H
+#include <linux/types.h>
+#include <linux/kernel.h>
+#include <crypto/hash.h>
+
+#include <uapi/linux/incrementalfs.h>
+
+#include "internal.h"
+
+#define INCFS_MAX_MTREE_LEVELS 8
+#define INCFS_MAX_HASH_AREA_SIZE (1280 * 1024 * 1024)
+
+struct incfs_hash_alg {
+	const char *name;
+	int digest_size;
+	enum incfs_hash_tree_algorithm id;
+
+	struct crypto_shash *shash;
+};
+
+/* Merkle tree structure. */
+struct mtree {
+	struct incfs_hash_alg *alg;
+
+	u8 root_hash[INCFS_MAX_HASH_SIZE];
+
+	/* Offset of each hash level in the hash area. */
+	u32 hash_level_suboffset[INCFS_MAX_MTREE_LEVELS];
+
+	u32 hash_tree_area_size;
+
+	/* Number of levels in hash_level_suboffset */
+	int depth;
+};
+
+struct signature_info {
+	struct mem_range root_hash;
+
+	struct mem_range additional_data;
+
+	struct mem_range signature;
+
+	enum incfs_hash_tree_algorithm hash_alg;
+};
+
+struct incfs_hash_alg *incfs_get_hash_alg(enum incfs_hash_tree_algorithm id);
+
+struct mtree *incfs_alloc_mtree(enum incfs_hash_tree_algorithm id,
+				int data_block_count,
+				struct mem_range root_hash);
+
+void incfs_free_mtree(struct mtree *tree);
+
+size_t incfs_get_mtree_depth(enum incfs_hash_tree_algorithm alg, loff_t size);
+
+size_t incfs_get_mtree_hash_count(enum incfs_hash_tree_algorithm alg,
+					loff_t size);
+
+int incfs_calc_digest(struct incfs_hash_alg *alg, struct mem_range data,
+			struct mem_range digest);
+
+int incfs_validate_pkcs7_signature(struct mem_range pkcs7_blob,
+	struct mem_range root_hash, struct mem_range add_data);
+
+void incfs_free_signature_info(struct signature_info *si);
+
+#endif /* _INCFS_INTEGRITY_H */
diff --git a/fs/incfs/internal.h b/fs/incfs/internal.h
new file mode 100644
index 0000000..0a85eae
--- /dev/null
+++ b/fs/incfs/internal.h
@@ -0,0 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright 2018 Google LLC
+ */
+#ifndef _INCFS_INTERNAL_H
+#define _INCFS_INTERNAL_H
+#include <linux/types.h>
+
+struct mem_range {
+	u8 *data;
+	size_t len;
+};
+
+static inline struct mem_range range(u8 *data, size_t len)
+{
+	return (struct mem_range){ .data = data, .len = len };
+}
+
+#define LOCK_REQUIRED(lock)  WARN_ON_ONCE(!mutex_is_locked(&lock))
+
+#endif /* _INCFS_INTERNAL_H */
diff --git a/fs/incfs/main.c b/fs/incfs/main.c
new file mode 100644
index 0000000..e65d0d8
--- /dev/null
+++ b/fs/incfs/main.c
@@ -0,0 +1,103 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright 2018 Google LLC
+ */
+#include <linux/fs.h>
+#include <linux/init.h>
+#include <linux/module.h>
+
+#include <uapi/linux/incrementalfs.h>
+
+#include "vfs.h"
+
+#define INCFS_NODE_FEATURES "features"
+
+static struct file_system_type incfs_fs_type = {
+	.owner = THIS_MODULE,
+	.name = INCFS_NAME,
+	.mount = incfs_mount_fs,
+	.kill_sb = incfs_kill_sb,
+	.fs_flags = 0
+};
+
+static struct kobject *sysfs_root, *featurefs_root;
+
+static ssize_t corefs_show(struct kobject *kobj,
+			  struct kobj_attribute *attr, char *buff)
+{
+	return snprintf(buff, PAGE_SIZE, "supported\n");
+}
+
+static struct kobj_attribute corefs_attr = __ATTR_RO(corefs);
+
+static struct attribute *attributes[] = {
+	&corefs_attr.attr,
+	NULL,
+};
+
+static const struct attribute_group attr_group = {
+	.attrs = attributes,
+};
+
+static int __init init_sysfs(void)
+{
+	int res = 0;
+
+	sysfs_root = kobject_create_and_add(INCFS_NAME, fs_kobj);
+	if (!sysfs_root)
+		return -ENOMEM;
+
+	featurefs_root = kobject_create_and_add(INCFS_NODE_FEATURES,
+						sysfs_root);
+	if (!featurefs_root)
+		return -ENOMEM;
+
+	res = sysfs_create_group(featurefs_root, &attr_group);
+	if (res) {
+		kobject_put(sysfs_root);
+		sysfs_root = NULL;
+	}
+	return res;
+}
+
+static void cleanup_sysfs(void)
+{
+	if (featurefs_root) {
+		sysfs_remove_group(featurefs_root, &attr_group);
+		kobject_put(featurefs_root);
+		featurefs_root = NULL;
+	}
+
+	if (sysfs_root) {
+		kobject_put(sysfs_root);
+		sysfs_root = NULL;
+	}
+}
+
+static int __init init_incfs_module(void)
+{
+	int err = 0;
+
+	err = init_sysfs();
+	if (err)
+		return err;
+
+	err = register_filesystem(&incfs_fs_type);
+	if (err)
+		cleanup_sysfs();
+
+	return err;
+}
+
+static void __exit cleanup_incfs_module(void)
+{
+	cleanup_sysfs();
+	unregister_filesystem(&incfs_fs_type);
+}
+
+module_init(init_incfs_module);
+module_exit(cleanup_incfs_module);
+
+MODULE_LICENSE("GPL v2");
+MODULE_AUTHOR("Eugene Zemtsov <ezemtsov@google.com>");
+MODULE_DESCRIPTION("Incremental File System");
diff --git a/fs/incfs/vfs.c b/fs/incfs/vfs.c
new file mode 100644
index 0000000..29bfda4
--- /dev/null
+++ b/fs/incfs/vfs.c
@@ -0,0 +1,2281 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright 2018 Google LLC
+ */
+
+#include <linux/blkdev.h>
+#include <linux/cred.h>
+#include <linux/eventpoll.h>
+#include <linux/file.h>
+#include <linux/fs.h>
+#include <linux/fs_stack.h>
+#include <linux/namei.h>
+#include <linux/parser.h>
+#include <linux/poll.h>
+#include <linux/seq_file.h>
+#include <linux/syscalls.h>
+#include <linux/xattr.h>
+
+#include <uapi/linux/incrementalfs.h>
+
+#include "vfs.h"
+#include "data_mgmt.h"
+#include "format.h"
+#include "integrity.h"
+#include "internal.h"
+
+#define INCFS_PENDING_READS_INODE 2
+#define INCFS_LOG_INODE 3
+#define INCFS_START_INO_RANGE 10
+#define READ_FILE_MODE 0444
+#define READ_EXEC_FILE_MODE 0555
+#define READ_WRITE_FILE_MODE 0666
+
+static int incfs_remount_fs(struct super_block *sb, int *flags, char *data);
+
+static int dentry_revalidate(struct dentry *dentry, unsigned int flags);
+static void dentry_release(struct dentry *d);
+
+static int iterate_incfs_dir(struct file *file, struct dir_context *ctx);
+static struct dentry *dir_lookup(struct inode *dir_inode,
+		struct dentry *dentry, unsigned int flags);
+static int dir_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode);
+static int dir_unlink(struct inode *dir, struct dentry *dentry);
+static int dir_link(struct dentry *old_dentry, struct inode *dir,
+			 struct dentry *new_dentry);
+static int dir_rmdir(struct inode *dir, struct dentry *dentry);
+static int dir_rename(struct inode *old_dir, struct dentry *old_dentry,
+		struct inode *new_dir, struct dentry *new_dentry);
+
+static int file_open(struct inode *inode, struct file *file);
+static int file_release(struct inode *inode, struct file *file);
+static ssize_t file_write(struct file *f, const char __user *buf,
+			     size_t size, loff_t *offset);
+static int read_single_page(struct file *f, struct page *page);
+static long dispatch_ioctl(struct file *f, unsigned int req, unsigned long arg);
+
+static ssize_t pending_reads_read(struct file *f, char __user *buf, size_t len,
+			    loff_t *ppos);
+static __poll_t pending_reads_poll(struct file *file, poll_table *wait);
+static int pending_reads_open(struct inode *inode, struct file *file);
+static int pending_reads_release(struct inode *, struct file *);
+
+static ssize_t log_read(struct file *f, char __user *buf, size_t len,
+			    loff_t *ppos);
+static __poll_t log_poll(struct file *file, poll_table *wait);
+static int log_open(struct inode *inode, struct file *file);
+static int log_release(struct inode *, struct file *);
+
+static struct inode *alloc_inode(struct super_block *sb);
+static void free_inode(struct inode *inode);
+static void evict_inode(struct inode *inode);
+
+static ssize_t incfs_getxattr(struct dentry *d, const char *name,
+			void *value, size_t size);
+static ssize_t incfs_setxattr(struct dentry *d, const char *name,
+			const void *value, size_t size, int flags);
+static ssize_t incfs_listxattr(struct dentry *d, char *list, size_t size);
+
+static int show_options(struct seq_file *, struct dentry *);
+
+static const struct super_operations incfs_super_ops = {
+	.statfs = simple_statfs,
+	.remount_fs = incfs_remount_fs,
+	.alloc_inode	= alloc_inode,
+	.destroy_inode	= free_inode,
+	.evict_inode = evict_inode,
+	.show_options = show_options
+};
+
+static int dir_rename_wrap(struct inode *old_dir, struct dentry *old_dentry,
+		struct inode *new_dir, struct dentry *new_dentry,
+		unsigned int flags)
+{
+	return dir_rename(old_dir, old_dentry, new_dir, new_dentry);
+}
+
+static const struct inode_operations incfs_dir_inode_ops = {
+	.lookup = dir_lookup,
+	.mkdir = dir_mkdir,
+	.rename = dir_rename_wrap,
+	.unlink = dir_unlink,
+	.link = dir_link,
+	.rmdir = dir_rmdir
+};
+
+static const struct file_operations incfs_dir_fops = {
+	.llseek = generic_file_llseek,
+	.read = generic_read_dir,
+	.iterate = iterate_incfs_dir,
+	.open = file_open,
+	.release = file_release,
+	.unlocked_ioctl = dispatch_ioctl,
+	.compat_ioctl = dispatch_ioctl
+};
+
+static const struct dentry_operations incfs_dentry_ops = {
+	.d_revalidate = dentry_revalidate,
+	.d_release = dentry_release
+};
+
+static const struct address_space_operations incfs_address_space_ops = {
+	.readpage = read_single_page,
+	/* .readpages = readpages */
+};
+
+static const struct file_operations incfs_file_ops = {
+	.open = file_open,
+	.release = file_release,
+	.write = file_write,
+	.read_iter = generic_file_read_iter,
+	.mmap = generic_file_mmap,
+	.splice_read = generic_file_splice_read,
+	.llseek = generic_file_llseek,
+	.unlocked_ioctl = dispatch_ioctl,
+	.compat_ioctl = dispatch_ioctl
+};
+
+static const struct file_operations incfs_pending_read_file_ops = {
+	.read = pending_reads_read,
+	.poll = pending_reads_poll,
+	.open = pending_reads_open,
+	.release = pending_reads_release,
+	.llseek = noop_llseek,
+	.unlocked_ioctl = dispatch_ioctl,
+	.compat_ioctl = dispatch_ioctl
+};
+
+static const struct file_operations incfs_log_file_ops = {
+	.read = log_read,
+	.poll = log_poll,
+	.open = log_open,
+	.release = log_release,
+	.llseek = noop_llseek,
+	.unlocked_ioctl = dispatch_ioctl,
+	.compat_ioctl = dispatch_ioctl
+};
+
+static const struct inode_operations incfs_file_inode_ops = {
+	.setattr = simple_setattr,
+	.getattr = simple_getattr,
+	.listxattr = incfs_listxattr
+};
+
+static int incfs_handler_getxattr(const struct xattr_handler *xh,
+				  struct dentry *d, struct inode *inode,
+				  const char *name, void *buffer, size_t size)
+{
+	return incfs_getxattr(d, name, buffer, size);
+}
+
+static int incfs_handler_setxattr(const struct xattr_handler *xh,
+				  struct dentry *d, struct inode *inode,
+				  const char *name, const void *buffer,
+				  size_t size, int flags)
+{
+	return incfs_setxattr(d, name, buffer, size, flags);
+}
+
+static const struct xattr_handler incfs_xattr_handler = {
+	.prefix = "",	/* AKA all attributes */
+	.get = incfs_handler_getxattr,
+	.set = incfs_handler_setxattr,
+};
+
+static const struct xattr_handler *incfs_xattr_ops[] = {
+	&incfs_xattr_handler,
+	NULL,
+};
+
+/* State of an open .pending_reads file, unique for each file descriptor. */
+struct pending_reads_state {
+	/* A serial number of the last pending read obtained from this file. */
+	int last_pending_read_sn;
+};
+
+/* State of an open .log file, unique for each file descriptor. */
+struct log_file_state {
+	struct read_log_state state;
+};
+
+struct inode_search {
+	unsigned long ino;
+
+	struct dentry *backing_dentry;
+};
+
+enum parse_parameter {
+	Opt_read_timeout,
+	Opt_readahead_pages,
+	Opt_no_backing_file_cache,
+	Opt_no_backing_file_readahead,
+	Opt_rlog_pages,
+	Opt_rlog_wakeup_cnt,
+	Opt_err
+};
+
+static const char pending_reads_file_name[] = INCFS_PENDING_READS_FILENAME;
+static struct mem_range pending_reads_file_name_range = {
+	.data = (u8 *)pending_reads_file_name,
+	.len = ARRAY_SIZE(pending_reads_file_name) - 1
+};
+
+static const char log_file_name[] = INCFS_LOG_FILENAME;
+static struct mem_range log_file_name_range = {
+	.data = (u8 *)log_file_name,
+	.len = ARRAY_SIZE(log_file_name) - 1
+};
+
+static const match_table_t option_tokens = {
+	{ Opt_read_timeout, "read_timeout_ms=%u" },
+	{ Opt_readahead_pages, "readahead=%u" },
+	{ Opt_no_backing_file_cache, "no_bf_cache=%u" },
+	{ Opt_no_backing_file_readahead, "no_bf_readahead=%u" },
+	{ Opt_rlog_pages, "rlog_pages=%u" },
+	{ Opt_rlog_wakeup_cnt, "rlog_wakeup_cnt=%u" },
+	{ Opt_err, NULL }
+};
+
+static int parse_options(struct mount_options *opts, char *str)
+{
+	substring_t args[MAX_OPT_ARGS];
+	int value;
+	char *position;
+
+	if (opts == NULL)
+		return -EFAULT;
+
+	opts->read_timeout_ms = 1000; /* Default: 1s */
+	opts->readahead_pages = 10;
+	opts->read_log_pages = 2;
+	opts->read_log_wakeup_count = 10;
+	opts->no_backing_file_cache = false;
+	opts->no_backing_file_readahead = false;
+	if (str == NULL || *str == 0)
+		return 0;
+
+	while ((position = strsep(&str, ",")) != NULL) {
+		int token;
+
+		if (!*position)
+			continue;
+
+		token = match_token(position, option_tokens, args);
+
+		switch (token) {
+		case Opt_read_timeout:
+			if (match_int(&args[0], &value))
+				return -EINVAL;
+			opts->read_timeout_ms = value;
+			break;
+		case Opt_readahead_pages:
+			if (match_int(&args[0], &value))
+				return -EINVAL;
+			opts->readahead_pages = value;
+			break;
+		case Opt_no_backing_file_cache:
+			if (match_int(&args[0], &value))
+				return -EINVAL;
+			opts->no_backing_file_cache = (value != 0);
+			break;
+		case Opt_no_backing_file_readahead:
+			if (match_int(&args[0], &value))
+				return -EINVAL;
+			opts->no_backing_file_readahead = (value != 0);
+			break;
+		case Opt_rlog_pages:
+			if (match_int(&args[0], &value))
+				return -EINVAL;
+			opts->read_log_pages = value;
+			break;
+		case Opt_rlog_wakeup_cnt:
+			if (match_int(&args[0], &value))
+				return -EINVAL;
+			opts->read_log_wakeup_count = value;
+			break;
+		default:
+			return -EINVAL;
+		}
+	}
+
+	return 0;
+}
+
+static struct super_block *file_superblock(struct file *f)
+{
+	struct inode *inode = file_inode(f);
+
+	return inode->i_sb;
+}
+
+static struct mount_info *get_mount_info(struct super_block *sb)
+{
+	struct mount_info *result = sb->s_fs_info;
+
+	WARN_ON(!result);
+	return result;
+}
+
+/* Read file size from the attribute. Quicker than reading the header */
+static u64 read_size_attr(struct dentry *backing_dentry)
+{
+	__le64 attr_value;
+	ssize_t bytes_read;
+
+	bytes_read = vfs_getxattr(backing_dentry, INCFS_XATTR_SIZE_NAME,
+			(char *)&attr_value, sizeof(attr_value));
+
+	if (bytes_read != sizeof(attr_value))
+		return 0;
+
+	return le64_to_cpu(attr_value);
+}
+
+static int inode_test(struct inode *inode, void *opaque)
+{
+	struct inode_search *search = opaque;
+	struct inode_info *node = get_incfs_node(inode);
+
+	if (!node)
+		return 0;
+
+	if (search->backing_dentry) {
+		struct inode *backing_inode = d_inode(search->backing_dentry);
+
+		return (node->n_backing_inode == backing_inode) &&
+			inode->i_ino == search->ino;
+	}
+	return 1;
+}
+
+static int inode_set(struct inode *inode, void *opaque)
+{
+	struct inode_search *search = opaque;
+	struct inode_info *node = get_incfs_node(inode);
+
+	if (search->backing_dentry) {
+		/* It's a regular inode that has corresponding backing inode */
+		struct dentry *backing_dentry = search->backing_dentry;
+		struct inode *backing_inode = d_inode(backing_dentry);
+
+		fsstack_copy_attr_all(inode, backing_inode);
+		if (S_ISREG(inode->i_mode)) {
+			u64 size = read_size_attr(backing_dentry);
+
+			inode->i_size = size;
+			inode->i_blocks = get_blocks_count_for_size(size);
+			inode->i_mapping->a_ops = &incfs_address_space_ops;
+			inode->i_op = &incfs_file_inode_ops;
+			inode->i_fop = &incfs_file_ops;
+		} else if (S_ISDIR(inode->i_mode)) {
+			inode->i_size = 0;
+			inode->i_blocks = 1;
+			inode->i_mapping->a_ops = &incfs_address_space_ops;
+			inode->i_op = &incfs_dir_inode_ops;
+			inode->i_fop = &incfs_dir_fops;
+		} else {
+			pr_warn_once("incfs: Unexpected inode type\n");
+			return -EBADF;
+		}
+
+		ihold(backing_inode);
+		node->n_backing_inode = backing_inode;
+		node->n_mount_info = get_mount_info(inode->i_sb);
+		inode->i_ctime = backing_inode->i_ctime;
+		inode->i_mtime = backing_inode->i_mtime;
+		inode->i_atime = backing_inode->i_atime;
+		inode->i_ino = backing_inode->i_ino;
+		if (backing_inode->i_ino < INCFS_START_INO_RANGE) {
+			pr_warn("incfs: ino conflict with backing FS %ld\n",
+				backing_inode->i_ino);
+		}
+
+		return 0;
+	} else if (search->ino == INCFS_PENDING_READS_INODE) {
+		/* It's an inode for .pending_reads pseudo file. */
+
+		inode->i_ctime = (struct timespec64){};
+		inode->i_mtime = inode->i_ctime;
+		inode->i_atime = inode->i_ctime;
+		inode->i_size = 0;
+		inode->i_ino = INCFS_PENDING_READS_INODE;
+		inode->i_private = NULL;
+
+		inode_init_owner(inode, NULL, S_IFREG | READ_WRITE_FILE_MODE);
+
+		inode->i_op = &incfs_file_inode_ops;
+		inode->i_fop = &incfs_pending_read_file_ops;
+
+	} else if (search->ino == INCFS_LOG_INODE) {
+		/* It's an inode for .log pseudo file. */
+
+		inode->i_ctime = (struct timespec64){};
+		inode->i_mtime = inode->i_ctime;
+		inode->i_atime = inode->i_ctime;
+		inode->i_size = 0;
+		inode->i_ino = INCFS_LOG_INODE;
+		inode->i_private = NULL;
+
+		inode_init_owner(inode, NULL, S_IFREG | READ_WRITE_FILE_MODE);
+
+		inode->i_op = &incfs_file_inode_ops;
+		inode->i_fop = &incfs_log_file_ops;
+
+	} else {
+		/* Unknown inode requested. */
+		return -EINVAL;
+	}
+
+	return 0;
+}
+
+static struct inode *fetch_regular_inode(struct super_block *sb,
+					struct dentry *backing_dentry)
+{
+	struct inode *backing_inode = d_inode(backing_dentry);
+	struct inode_search search = {
+		.ino = backing_inode->i_ino,
+		.backing_dentry = backing_dentry
+	};
+	struct inode *inode = iget5_locked(sb, search.ino, inode_test,
+				inode_set, &search);
+
+	if (!inode)
+		return ERR_PTR(-ENOMEM);
+
+	if (inode->i_state & I_NEW)
+		unlock_new_inode(inode);
+
+	return inode;
+}
+
+static ssize_t pending_reads_read(struct file *f, char __user *buf, size_t len,
+			    loff_t *ppos)
+{
+	struct pending_reads_state *pr_state = f->private_data;
+	struct mount_info *mi = get_mount_info(file_superblock(f));
+	struct incfs_pending_read_info *reads_buf = NULL;
+	size_t reads_to_collect = len / sizeof(*reads_buf);
+	int last_known_read_sn = READ_ONCE(pr_state->last_pending_read_sn);
+	int new_max_sn = last_known_read_sn;
+	int reads_collected = 0;
+	ssize_t result = 0;
+	int i = 0;
+
+	if (!access_ok(VERIFY_WRITE, buf, len))
+		return -EFAULT;
+
+	if (!incfs_fresh_pending_reads_exist(mi, last_known_read_sn))
+		return 0;
+
+	reads_buf = (struct incfs_pending_read_info *)get_zeroed_page(GFP_NOFS);
+	if (!reads_buf)
+		return -ENOMEM;
+
+	reads_to_collect =
+		min_t(size_t, PAGE_SIZE / sizeof(*reads_buf), reads_to_collect);
+
+	reads_collected = incfs_collect_pending_reads(
+		mi, last_known_read_sn, reads_buf, reads_to_collect);
+	if (reads_collected < 0) {
+		result = reads_collected;
+		goto out;
+	}
+
+	for (i = 0; i < reads_collected; i++)
+		if (reads_buf[i].serial_number > new_max_sn)
+			new_max_sn = reads_buf[i].serial_number;
+
+	/*
+	 * Just to make sure that we don't accidentally copy more data
+	 * to reads buffer than userspace can handle.
+	 */
+	reads_collected = min_t(size_t, reads_collected, reads_to_collect);
+	result = reads_collected * sizeof(*reads_buf);
+
+	/* Copy reads info to the userspace buffer */
+	if (copy_to_user(buf, reads_buf, result)) {
+		result = -EFAULT;
+		goto out;
+	}
+
+	WRITE_ONCE(pr_state->last_pending_read_sn, new_max_sn);
+	*ppos = 0;
+out:
+	if (reads_buf)
+		free_page((unsigned long)reads_buf);
+	return result;
+}
+
+
+static __poll_t pending_reads_poll(struct file *file, poll_table *wait)
+{
+	struct pending_reads_state *state = file->private_data;
+	struct mount_info *mi = get_mount_info(file_superblock(file));
+	__poll_t ret = 0;
+
+	poll_wait(file, &mi->mi_pending_reads_notif_wq, wait);
+	if (incfs_fresh_pending_reads_exist(mi,
+					    state->last_pending_read_sn))
+		ret = EPOLLIN | EPOLLRDNORM;
+
+	return ret;
+}
+
+static int pending_reads_open(struct inode *inode, struct file *file)
+{
+	struct pending_reads_state *state = NULL;
+
+	state = kzalloc(sizeof(*state), GFP_NOFS);
+	if (!state)
+		return -ENOMEM;
+
+	file->private_data = state;
+	return 0;
+}
+
+static int pending_reads_release(struct inode *inode, struct file *file)
+{
+	kfree(file->private_data);
+	return 0;
+}
+
+static struct inode *fetch_pending_reads_inode(struct super_block *sb)
+{
+	struct inode_search search = {
+		.ino = INCFS_PENDING_READS_INODE
+	};
+	struct inode *inode = iget5_locked(sb, search.ino, inode_test,
+				inode_set, &search);
+
+	if (!inode)
+		return ERR_PTR(-ENOMEM);
+
+	if (inode->i_state & I_NEW)
+		unlock_new_inode(inode);
+
+	return inode;
+}
+
+static int log_open(struct inode *inode, struct file *file)
+{
+	struct log_file_state *log_state = NULL;
+	struct mount_info *mi = get_mount_info(file_superblock(file));
+
+	log_state = kzalloc(sizeof(*log_state), GFP_NOFS);
+	if (!log_state)
+		return -ENOMEM;
+
+	log_state->state = incfs_get_log_state(mi);
+	file->private_data = log_state;
+	return 0;
+}
+
+static int log_release(struct inode *inode, struct file *file)
+{
+	kfree(file->private_data);
+	return 0;
+}
+
+static ssize_t log_read(struct file *f, char __user *buf, size_t len,
+			loff_t *ppos)
+{
+	struct log_file_state *log_state = f->private_data;
+	struct mount_info *mi = get_mount_info(file_superblock(f));
+	struct incfs_pending_read_info *reads_buf =
+		(struct incfs_pending_read_info *)__get_free_page(GFP_NOFS);
+	size_t reads_to_collect = len / sizeof(*reads_buf);
+	size_t reads_per_page = PAGE_SIZE / sizeof(*reads_buf);
+	int total_reads_collected = 0;
+	ssize_t result = 0;
+
+	if (!reads_buf)
+		return -ENOMEM;
+
+	reads_to_collect = min_t(size_t, mi->mi_log.rl_size, reads_to_collect);
+	while (reads_to_collect > 0) {
+		struct read_log_state next_state = READ_ONCE(log_state->state);
+		int reads_collected = incfs_collect_logged_reads(
+			mi, &next_state, reads_buf,
+			min_t(size_t, reads_to_collect, reads_per_page));
+		if (reads_collected <= 0) {
+			result = total_reads_collected ?
+					 total_reads_collected *
+						 sizeof(*reads_buf) :
+					 reads_collected;
+			goto out;
+		}
+		if (copy_to_user(buf, reads_buf,
+				 reads_collected * sizeof(*reads_buf))) {
+			result = total_reads_collected ?
+					 total_reads_collected *
+						 sizeof(*reads_buf) :
+					 -EFAULT;
+			goto out;
+		}
+
+		WRITE_ONCE(log_state->state, next_state);
+		total_reads_collected += reads_collected;
+		buf += reads_collected * sizeof(*reads_buf);
+		reads_to_collect -= reads_collected;
+	}
+
+	result = total_reads_collected * sizeof(*reads_buf);
+	*ppos = 0;
+out:
+	if (reads_buf)
+		free_page((unsigned long)reads_buf);
+	return result;
+}
+
+static __poll_t log_poll(struct file *file, poll_table *wait)
+{
+	struct log_file_state *log_state = file->private_data;
+	struct mount_info *mi = get_mount_info(file_superblock(file));
+	int count;
+	__poll_t ret = 0;
+
+	poll_wait(file, &mi->mi_log.ml_notif_wq, wait);
+	count = incfs_get_uncollected_logs_count(mi, log_state->state);
+	if (count >= mi->mi_options.read_log_wakeup_count)
+		ret = EPOLLIN | EPOLLRDNORM;
+
+	return ret;
+}
+
+static struct inode *fetch_log_inode(struct super_block *sb)
+{
+	struct inode_search search = {
+		.ino = INCFS_LOG_INODE
+	};
+	struct inode *inode = iget5_locked(sb, search.ino, inode_test,
+				inode_set, &search);
+
+	if (!inode)
+		return ERR_PTR(-ENOMEM);
+
+	if (inode->i_state & I_NEW)
+		unlock_new_inode(inode);
+
+	return inode;
+}
+
+static int iterate_incfs_dir(struct file *file, struct dir_context *ctx)
+{
+	struct dir_file *dir = get_incfs_dir_file(file);
+	int error = 0;
+	struct mount_info *mi = get_mount_info(file_superblock(file));
+	bool root;
+
+	if (!dir) {
+		error = -EBADF;
+		goto out;
+	}
+
+	root = dir->backing_dir->f_inode
+			== d_inode(mi->mi_backing_dir_path.dentry);
+
+	if (root && ctx->pos == 0) {
+		if (!dir_emit(ctx, pending_reads_file_name,
+			      ARRAY_SIZE(pending_reads_file_name) - 1,
+			      INCFS_PENDING_READS_INODE, DT_REG)) {
+			error = -EINVAL;
+			goto out;
+		}
+		ctx->pos++;
+	}
+
+	if (root && ctx->pos == 1) {
+		if (!dir_emit(ctx, log_file_name,
+			      ARRAY_SIZE(log_file_name) - 1,
+			      INCFS_LOG_INODE, DT_REG)) {
+			error = -EINVAL;
+			goto out;
+		}
+		ctx->pos++;
+	}
+
+	ctx->pos -= 2;
+	error = iterate_dir(dir->backing_dir, ctx);
+	ctx->pos += 2;
+	file->f_pos = dir->backing_dir->f_pos;
+out:
+	if (error)
+		pr_warn("incfs: %s %s %d\n", __func__,
+			file->f_path.dentry->d_name.name, error);
+	return error;
+}
+
+static int incfs_init_dentry(struct dentry *dentry, struct path *path)
+{
+	struct dentry_info *d_info = NULL;
+
+	if (!dentry || !path)
+		return -EFAULT;
+
+	d_info = kzalloc(sizeof(*d_info), GFP_NOFS);
+	if (!d_info)
+		return -ENOMEM;
+
+	d_info->backing_path = *path;
+	path_get(path);
+
+	dentry->d_fsdata = d_info;
+	return 0;
+}
+
+static struct dentry *incfs_lookup_dentry(struct dentry *parent,
+						const char *name)
+{
+	struct inode *inode;
+	struct dentry *result = NULL;
+
+	if (!parent)
+		return ERR_PTR(-EFAULT);
+
+	inode = d_inode(parent);
+	inode_lock_nested(inode, I_MUTEX_PARENT);
+	result = lookup_one_len(name, parent, strlen(name));
+	inode_unlock(inode);
+
+	if (IS_ERR(result))
+		pr_warn("%s err:%ld\n", __func__, PTR_ERR(result));
+
+	return result;
+}
+
+static struct dentry *open_or_create_index_dir(struct dentry *backing_dir)
+{
+	static const char name[] = ".index";
+	struct dentry *index_dentry;
+	struct inode *backing_inode = d_inode(backing_dir);
+	int err = 0;
+
+	index_dentry = incfs_lookup_dentry(backing_dir, name);
+	if (!index_dentry) {
+		return ERR_PTR(-EINVAL);
+	} else if (IS_ERR(index_dentry)) {
+		return index_dentry;
+	} else if (d_really_is_positive(index_dentry)) {
+		/* Index already exists. */
+		return index_dentry;
+	}
+
+	/* Index needs to be created. */
+	inode_lock_nested(backing_inode, I_MUTEX_PARENT);
+	err = vfs_mkdir(backing_inode, index_dentry, 0777);
+	inode_unlock(backing_inode);
+
+	if (err)
+		return ERR_PTR(err);
+
+	if (!d_really_is_positive(index_dentry)) {
+		dput(index_dentry);
+		return ERR_PTR(-EINVAL);
+	}
+
+	return index_dentry;
+}
+
+static int read_single_page(struct file *f, struct page *page)
+{
+	loff_t offset = 0;
+	loff_t size = 0;
+	ssize_t bytes_to_read = 0;
+	ssize_t read_result = 0;
+	struct data_file *df = get_incfs_data_file(f);
+	int result = 0;
+	void *page_start = kmap(page);
+	int block_index;
+	int timeout_ms;
+
+	if (!df)
+		return -EBADF;
+
+	offset = page_offset(page);
+	block_index = offset / INCFS_DATA_FILE_BLOCK_SIZE;
+	size = df->df_size;
+	timeout_ms = df->df_mount_info->mi_options.read_timeout_ms;
+
+	pr_debug("incfs: %s %s %lld\n", __func__,
+		f->f_path.dentry->d_name.name, offset);
+
+	if (offset < size) {
+		struct mem_range tmp = {
+			.len = 2 * INCFS_DATA_FILE_BLOCK_SIZE
+		};
+
+		tmp.data = (u8 *)__get_free_pages(GFP_NOFS, get_order(tmp.len));
+		bytes_to_read = min_t(loff_t, size - offset, PAGE_SIZE);
+		read_result = incfs_read_data_file_block(
+			range(page_start, bytes_to_read), df, block_index,
+			timeout_ms, tmp);
+
+		free_pages((unsigned long)tmp.data, get_order(tmp.len));
+	} else {
+		bytes_to_read = 0;
+		read_result = 0;
+	}
+
+	if (read_result < 0)
+		result = read_result;
+	else if (read_result < PAGE_SIZE)
+		zero_user(page, read_result, PAGE_SIZE - read_result);
+
+	if (result == 0)
+		SetPageUptodate(page);
+	else
+		SetPageError(page);
+
+	flush_dcache_page(page);
+	kunmap(page);
+	unlock_page(page);
+	return result;
+}
+
+static char *file_id_to_str(incfs_uuid_t id)
+{
+	char *result = kmalloc(1 + sizeof(id.bytes) * 2, GFP_NOFS);
+	char *end;
+
+	if (!result)
+		return NULL;
+
+	end = bin2hex(result, id.bytes, sizeof(id.bytes));
+	*end = 0;
+	return result;
+}
+
+static struct signature_info *incfs_copy_signature_info_from_user(
+		struct incfs_file_signature_info __user *original)
+{
+	struct incfs_file_signature_info usr_si;
+	struct signature_info *result;
+	int error;
+
+	if (!original)
+		return NULL;
+
+	if (!access_ok(VERIFY_READ, original, sizeof(usr_si)))
+		return ERR_PTR(-EFAULT);
+
+	if (copy_from_user(&usr_si, original, sizeof(usr_si)) > 0)
+		return ERR_PTR(-EFAULT);
+
+	result = kzalloc(sizeof(*result), GFP_NOFS);
+	if (!result)
+		return ERR_PTR(-ENOMEM);
+
+	result->hash_alg = usr_si.hash_tree_alg;
+
+	if (result->hash_alg) {
+		void *p = kzalloc(INCFS_MAX_HASH_SIZE, GFP_NOFS);
+
+		if (!p) {
+			error = -ENOMEM;
+			goto err;
+		}
+
+		/* TODO this sets the root_hash length to MAX_HASH_SIZE not
+		 * the actual size. Fix, then set INCFS_MAX_HASH_SIZE back
+		 * to 64
+		 */
+		result->root_hash = range(p, INCFS_MAX_HASH_SIZE);
+		if (copy_from_user(p, u64_to_user_ptr(usr_si.root_hash),
+				result->root_hash.len) > 0) {
+			error = -EFAULT;
+			goto err;
+		}
+	}
+
+	if (usr_si.additional_data_size > INCFS_MAX_FILE_ATTR_SIZE) {
+		error = -E2BIG;
+		goto err;
+	}
+
+	if (usr_si.additional_data && usr_si.additional_data_size) {
+		void *p = kzalloc(usr_si.additional_data_size, GFP_NOFS);
+
+		if (!p) {
+			error = -ENOMEM;
+			goto err;
+		}
+		result->additional_data = range(p,
+					usr_si.additional_data_size);
+		if (copy_from_user(p, u64_to_user_ptr(usr_si.additional_data),
+				result->additional_data.len) > 0) {
+			error = -EFAULT;
+			goto err;
+		}
+	}
+
+	if (usr_si.signature_size > INCFS_MAX_SIGNATURE_SIZE) {
+		error = -E2BIG;
+		goto err;
+	}
+
+	if (usr_si.signature && usr_si.signature_size) {
+		void *p = kzalloc(usr_si.signature_size, GFP_NOFS);
+
+		if (!p) {
+			error = -ENOMEM;
+			goto err;
+		}
+		result->signature = range(p, usr_si.signature_size);
+		if (copy_from_user(p, u64_to_user_ptr(usr_si.signature),
+				result->signature.len) > 0) {
+			error = -EFAULT;
+			goto err;
+		}
+	}
+
+	return result;
+
+err:
+	incfs_free_signature_info(result);
+	return ERR_PTR(-error);
+}
+
+static int init_new_file(struct mount_info *mi, struct dentry *dentry,
+		incfs_uuid_t *uuid, u64 size, struct mem_range attr,
+		struct incfs_file_signature_info __user *fsi)
+{
+	struct path path = {};
+	struct file *new_file;
+	int error = 0;
+	struct backing_file_context *bfc = NULL;
+	u32 block_count;
+	struct mem_range mem_range = {NULL};
+	struct signature_info *si = NULL;
+	struct mtree *hash_tree = NULL;
+
+	if (!mi || !dentry || !uuid)
+		return -EFAULT;
+
+	/* Resize newly created file to its true size. */
+	path = (struct path) {
+		.mnt = mi->mi_backing_dir_path.mnt,
+		.dentry = dentry
+	};
+	new_file = dentry_open(&path, O_RDWR | O_NOATIME, mi->mi_owner);
+
+	if (IS_ERR(new_file)) {
+		error = PTR_ERR(new_file);
+		goto out;
+	}
+
+	bfc = incfs_alloc_bfc(new_file);
+	if (IS_ERR(bfc)) {
+		error = PTR_ERR(bfc);
+		bfc = NULL;
+		goto out;
+	}
+
+	mutex_lock(&bfc->bc_mutex);
+	error = incfs_write_fh_to_backing_file(bfc, uuid, size);
+	if (error)
+		goto out;
+
+	block_count = (u32)get_blocks_count_for_size(size);
+	error = incfs_write_blockmap_to_backing_file(bfc, block_count, NULL);
+	if (error)
+		goto out;
+
+	/* This fill has data, reserve space for the block map. */
+	if (block_count > 0) {
+		error = incfs_write_blockmap_to_backing_file(
+			bfc, block_count, NULL);
+		if (error)
+			goto out;
+	}
+
+	if (attr.data && attr.len) {
+		error = incfs_write_file_attr_to_backing_file(bfc,
+							attr, NULL);
+		if (error)
+			goto out;
+	}
+
+	if (fsi) {
+		si = incfs_copy_signature_info_from_user(fsi);
+
+		if (IS_ERR(si)) {
+			error = PTR_ERR(si);
+			si = NULL;
+			goto out;
+		}
+
+		if (si->hash_alg) {
+			hash_tree = incfs_alloc_mtree(si->hash_alg, block_count,
+						      si->root_hash);
+			if (IS_ERR(hash_tree)) {
+				error = PTR_ERR(hash_tree);
+				hash_tree = NULL;
+				goto out;
+			}
+
+			/* TODO This code seems wrong when len is zero - we
+			 * should error out??
+			 */
+			if (si->signature.len > 0)
+				error = incfs_validate_pkcs7_signature(
+						si->signature,
+						si->root_hash,
+						si->additional_data);
+			if (error)
+				goto out;
+
+			error = incfs_write_signature_to_backing_file(bfc,
+					si->hash_alg,
+					hash_tree->hash_tree_area_size,
+					si->root_hash, si->additional_data,
+					si->signature);
+
+			if (error)
+				goto out;
+		}
+	}
+
+out:
+	if (bfc) {
+		mutex_unlock(&bfc->bc_mutex);
+		incfs_free_bfc(bfc);
+	}
+	incfs_free_mtree(hash_tree);
+	incfs_free_signature_info(si);
+	kfree(mem_range.data);
+
+	if (error)
+		pr_debug("incfs: %s error: %d\n", __func__, error);
+	return error;
+}
+
+static int incfs_link(struct dentry *what, struct dentry *where)
+{
+	struct dentry *parent_dentry = dget_parent(where);
+	struct inode *pinode = d_inode(parent_dentry);
+	int error = 0;
+
+	inode_lock_nested(pinode, I_MUTEX_PARENT);
+	error = vfs_link(what, pinode, where, NULL);
+	inode_unlock(pinode);
+
+	dput(parent_dentry);
+	return error;
+}
+
+static int incfs_unlink(struct dentry *dentry)
+{
+	struct dentry *parent_dentry = dget_parent(dentry);
+	struct inode *pinode = d_inode(parent_dentry);
+	int error = 0;
+
+	inode_lock_nested(pinode, I_MUTEX_PARENT);
+	error = vfs_unlink(pinode, dentry, NULL);
+	inode_unlock(pinode);
+
+	dput(parent_dentry);
+	return error;
+}
+
+static int incfs_rmdir(struct dentry *dentry)
+{
+	struct dentry *parent_dentry = dget_parent(dentry);
+	struct inode *pinode = d_inode(parent_dentry);
+	int error = 0;
+
+	inode_lock_nested(pinode, I_MUTEX_PARENT);
+	error = vfs_rmdir(pinode, dentry);
+	inode_unlock(pinode);
+
+	dput(parent_dentry);
+	return error;
+}
+
+static int dir_relative_path_resolve(
+			struct mount_info *mi,
+			const char __user *relative_path,
+			struct path *result_path)
+{
+	struct path *base_path = &mi->mi_backing_dir_path;
+	int dir_fd = get_unused_fd_flags(0);
+	struct file *dir_f = NULL;
+	int error = 0;
+
+	if (dir_fd < 0)
+		return dir_fd;
+
+	dir_f = dentry_open(base_path, O_RDONLY | O_NOATIME, mi->mi_owner);
+
+	if (IS_ERR(dir_f)) {
+		error = PTR_ERR(dir_f);
+		goto out;
+	}
+	fd_install(dir_fd, dir_f);
+
+	if (!relative_path) {
+		/* No relative path given, just return the base dir. */
+		*result_path = *base_path;
+		path_get(result_path);
+		goto out;
+	}
+
+	error = user_path_at_empty(dir_fd, relative_path,
+		LOOKUP_FOLLOW | LOOKUP_DIRECTORY, result_path, NULL);
+
+out:
+	ksys_close(dir_fd);
+	if (error)
+		pr_debug("incfs: %s %d\n", __func__, error);
+	return error;
+}
+
+static int validate_name(char *file_name)
+{
+	struct mem_range name = range(file_name, strlen(file_name));
+	int i = 0;
+
+	if (name.len > INCFS_MAX_NAME_LEN)
+		return -ENAMETOOLONG;
+
+	if (incfs_equal_ranges(pending_reads_file_name_range, name))
+		return -EINVAL;
+
+	for (i = 0; i < name.len; i++)
+		if (name.data[i] == '/')
+			return -EINVAL;
+
+	return 0;
+}
+
+static int chmod(struct dentry *dentry, umode_t mode)
+{
+	struct inode *inode = dentry->d_inode;
+	struct inode *delegated_inode = NULL;
+	struct iattr newattrs;
+	int error;
+
+retry_deleg:
+	inode_lock(inode);
+	newattrs.ia_mode = (mode & S_IALLUGO) | (inode->i_mode & ~S_IALLUGO);
+	newattrs.ia_valid = ATTR_MODE | ATTR_CTIME;
+	error = notify_change(dentry, &newattrs, &delegated_inode);
+	inode_unlock(inode);
+	if (delegated_inode) {
+		error = break_deleg_wait(&delegated_inode);
+		if (!error)
+			goto retry_deleg;
+	}
+	return error;
+}
+
+static long ioctl_create_file(struct mount_info *mi,
+			struct incfs_new_file_args __user *usr_args)
+{
+	struct incfs_new_file_args args;
+	char *file_id_str = NULL;
+	struct dentry *index_file_dentry = NULL;
+	struct dentry *named_file_dentry = NULL;
+	struct path parent_dir_path = {};
+	struct inode *index_dir_inode = NULL;
+	__le64 size_attr_value = 0;
+	char *file_name = NULL;
+	char *attr_value = NULL;
+	int error = 0;
+	bool locked = false;
+
+	if (!mi || !mi->mi_index_dir) {
+		error = -EFAULT;
+		goto out;
+	}
+	if (!access_ok(VERIFY_READ, usr_args, sizeof(args))) {
+		error = -EFAULT;
+		goto out;
+	}
+	if (copy_from_user(&args, usr_args, sizeof(args)) > 0) {
+		error = -EFAULT;
+		goto out;
+	}
+
+	file_name = strndup_user(u64_to_user_ptr(args.file_name), PATH_MAX);
+	if (IS_ERR(file_name)) {
+		error = PTR_ERR(file_name);
+		file_name = NULL;
+		goto out;
+	}
+
+	error = validate_name(file_name);
+	if (error)
+		goto out;
+
+	file_id_str = file_id_to_str(args.file_id);
+	if (!file_id_str) {
+		error = -ENOMEM;
+		goto out;
+	}
+
+	error = mutex_lock_interruptible(&mi->mi_dir_struct_mutex);
+	if (error)
+		goto out;
+	locked = true;
+
+	/* Find a directory to put the file into. */
+	error = dir_relative_path_resolve(mi,
+			u64_to_user_ptr(args.directory_path),
+			&parent_dir_path);
+	if (error)
+		goto out;
+
+	if (parent_dir_path.dentry == mi->mi_index_dir) {
+		/* Can't create a file directly inside .index */
+		error = -EBUSY;
+		goto out;
+	}
+
+	/* Look up a dentry in the parent dir. It should be negative. */
+	named_file_dentry = incfs_lookup_dentry(parent_dir_path.dentry,
+					file_name);
+	if (!named_file_dentry) {
+		error = -EFAULT;
+		goto out;
+	}
+	if (IS_ERR(named_file_dentry)) {
+		error = PTR_ERR(named_file_dentry);
+		named_file_dentry = NULL;
+		goto out;
+	}
+	if (d_really_is_positive(named_file_dentry)) {
+		/* File with this path already exists. */
+		error = -EEXIST;
+		goto out;
+	}
+	/* Look up a dentry in the .index dir. It should be negative. */
+	index_file_dentry = incfs_lookup_dentry(mi->mi_index_dir, file_id_str);
+	if (!index_file_dentry) {
+		error = -EFAULT;
+		goto out;
+	}
+	if (IS_ERR(index_file_dentry)) {
+		error = PTR_ERR(index_file_dentry);
+		index_file_dentry = NULL;
+		goto out;
+	}
+	if (d_really_is_positive(index_file_dentry)) {
+		/* File with this ID already exists in index. */
+		error = -EEXIST;
+		goto out;
+	}
+
+	/* Creating a file in the .index dir. */
+	index_dir_inode = d_inode(mi->mi_index_dir);
+	inode_lock_nested(index_dir_inode, I_MUTEX_PARENT);
+	error = vfs_create(index_dir_inode, index_file_dentry, args.mode | 0222,
+			   true);
+	inode_unlock(index_dir_inode);
+
+	if (error)
+		goto out;
+	if (!d_really_is_positive(index_file_dentry)) {
+		error = -EINVAL;
+		goto out;
+	}
+
+	error = chmod(index_file_dentry, args.mode | 0222);
+	if (error) {
+		pr_debug("incfs: chmod err: %d\n", error);
+		goto delete_index_file;
+	}
+
+	/* Save the file's ID as an xattr for easy fetching in future. */
+	error = vfs_setxattr(index_file_dentry, INCFS_XATTR_ID_NAME,
+		file_id_str, strlen(file_id_str), XATTR_CREATE);
+	if (error) {
+		pr_debug("incfs: vfs_setxattr err:%d\n", error);
+		goto delete_index_file;
+	}
+
+	/* Save the file's size as an xattr for easy fetching in future. */
+	size_attr_value = cpu_to_le64(args.size);
+	error = vfs_setxattr(index_file_dentry, INCFS_XATTR_SIZE_NAME,
+		(char *)&size_attr_value, sizeof(size_attr_value),
+		XATTR_CREATE);
+	if (error) {
+		pr_debug("incfs: vfs_setxattr err:%d\n", error);
+		goto delete_index_file;
+	}
+
+	/* Save the file's attrubute as an xattr */
+	if (args.file_attr_len && args.file_attr) {
+		if (args.file_attr_len > INCFS_MAX_FILE_ATTR_SIZE) {
+			error = -E2BIG;
+			goto delete_index_file;
+		}
+
+		attr_value = kmalloc(args.file_attr_len, GFP_NOFS);
+		if (!attr_value) {
+			error = -ENOMEM;
+			goto delete_index_file;
+		}
+
+		if (!access_ok(VERIFY_READ, u64_to_user_ptr(args.file_attr),
+			       args.file_attr_len)) {
+			error = -EFAULT;
+			goto delete_index_file;
+		}
+
+		if (copy_from_user(attr_value,
+				u64_to_user_ptr(args.file_attr),
+				args.file_attr_len) > 0) {
+			error = -EFAULT;
+			goto delete_index_file;
+		}
+
+		error = vfs_setxattr(index_file_dentry,
+				INCFS_XATTR_METADATA_NAME,
+				attr_value, args.file_attr_len,
+				XATTR_CREATE);
+
+		if (error)
+			goto delete_index_file;
+	}
+
+	/* Initializing a newly created file. */
+	error = init_new_file(mi, index_file_dentry, &args.file_id, args.size,
+			range(attr_value, args.file_attr_len),
+			(struct incfs_file_signature_info __user *)
+				args.signature_info);
+	if (error)
+		goto delete_index_file;
+
+	/* Linking a file with it's real name from the requested dir. */
+	error = incfs_link(index_file_dentry, named_file_dentry);
+
+	if (!error)
+		goto out;
+
+delete_index_file:
+	incfs_unlink(index_file_dentry);
+
+out:
+	if (error)
+		pr_debug("incfs: %s err:%d\n", __func__, error);
+
+	kfree(file_id_str);
+	kfree(file_name);
+	kfree(attr_value);
+	dput(named_file_dentry);
+	dput(index_file_dentry);
+	path_put(&parent_dir_path);
+	if (locked)
+		mutex_unlock(&mi->mi_dir_struct_mutex);
+	return error;
+}
+
+static long ioctl_read_file_signature(struct file *f, void __user *arg)
+{
+	struct incfs_get_file_sig_args __user *args_usr_ptr = arg;
+	struct incfs_get_file_sig_args args = {};
+	u8 *sig_buffer = NULL;
+	size_t sig_buf_size = 0;
+	int error = 0;
+	int read_result = 0;
+	struct data_file *df = get_incfs_data_file(f);
+
+	if (!df)
+		return -EINVAL;
+
+	if (!access_ok(VERIFY_READ, args_usr_ptr, sizeof(args)))
+		return -EFAULT;
+	if (copy_from_user(&args, args_usr_ptr, sizeof(args)) > 0)
+		return -EINVAL;
+
+	if (!access_ok(VERIFY_WRITE, u64_to_user_ptr(args.file_signature),
+			args.file_signature_buf_size))
+		return -EFAULT;
+
+	sig_buf_size = args.file_signature_buf_size;
+	if (sig_buf_size > INCFS_MAX_SIGNATURE_SIZE)
+		return -E2BIG;
+
+	sig_buffer = kzalloc(sig_buf_size, GFP_NOFS);
+	if (!sig_buffer)
+		return -ENOMEM;
+
+	read_result = incfs_read_file_signature(df,
+			range(sig_buffer, sig_buf_size));
+
+	if (read_result < 0) {
+		error = read_result;
+		goto out;
+	}
+
+	if (copy_to_user(u64_to_user_ptr(args.file_signature), sig_buffer,
+			read_result)) {
+		error = -EFAULT;
+		goto out;
+	}
+
+	args.file_signature_len_out = read_result;
+	if (copy_to_user(args_usr_ptr, &args, sizeof(args)))
+		error = -EFAULT;
+
+out:
+	kfree(sig_buffer);
+
+	return error;
+}
+
+static long dispatch_ioctl(struct file *f, unsigned int req, unsigned long arg)
+{
+	struct mount_info *mi = get_mount_info(file_superblock(f));
+
+	switch (req) {
+	case INCFS_IOC_CREATE_FILE:
+		return ioctl_create_file(mi, (void __user *)arg);
+	case INCFS_IOC_READ_FILE_SIGNATURE:
+		return ioctl_read_file_signature(f, (void __user *)arg);
+	default:
+		return -EINVAL;
+	}
+}
+
+static struct dentry *dir_lookup(struct inode *dir_inode, struct dentry *dentry,
+				 unsigned int flags)
+{
+	struct mount_info *mi = get_mount_info(dir_inode->i_sb);
+	struct dentry *dir_dentry = NULL;
+	struct dentry *backing_dentry = NULL;
+	struct path dir_backing_path = {};
+	struct inode_info *dir_info = get_incfs_node(dir_inode);
+	struct mem_range name_range =
+			range((u8 *)dentry->d_name.name, dentry->d_name.len);
+	int err = 0;
+
+	if (d_inode(mi->mi_backing_dir_path.dentry) ==
+		dir_info->n_backing_inode) {
+		/* We do lookup in the FS root. Show pseudo files. */
+
+		if (incfs_equal_ranges(pending_reads_file_name_range,
+								name_range)) {
+			struct inode *inode = fetch_pending_reads_inode(
+				dir_inode->i_sb);
+
+			if (IS_ERR(inode)) {
+				err = PTR_ERR(inode);
+				goto out;
+			}
+
+			d_add(dentry, inode);
+			goto out;
+		}
+
+		if (incfs_equal_ranges(log_file_name_range, name_range)) {
+			struct inode *inode = fetch_log_inode(
+				dir_inode->i_sb);
+
+			if (IS_ERR(inode)) {
+				err = PTR_ERR(inode);
+				goto out;
+			}
+
+			d_add(dentry, inode);
+			goto out;
+		}
+	}
+
+	dir_dentry = dget_parent(dentry);
+	get_incfs_backing_path(dir_dentry, &dir_backing_path);
+	backing_dentry = incfs_lookup_dentry(dir_backing_path.dentry,
+						dentry->d_name.name);
+
+	if (!backing_dentry || IS_ERR(backing_dentry)) {
+		err = IS_ERR(backing_dentry)
+			? PTR_ERR(backing_dentry)
+			: -EFAULT;
+		backing_dentry = NULL;
+		goto out;
+	} else {
+		struct inode *inode = NULL;
+		struct path backing_path = {
+			.mnt = dir_backing_path.mnt,
+			.dentry = backing_dentry
+		};
+
+		err = incfs_init_dentry(dentry, &backing_path);
+		if (err)
+			goto out;
+
+		if (!d_really_is_positive(backing_dentry)) {
+			/*
+			 * No such entry found in the backing dir.
+			 * Create a negative entry.
+			 */
+			d_add(dentry, NULL);
+			err = 0;
+			goto out;
+		}
+
+		if (d_inode(backing_dentry)->i_sb !=
+				dir_info->n_backing_inode->i_sb) {
+			/*
+			 * Somehow after the path lookup we ended up in a
+			 * different fs mount. If we keep going it's going
+			 * to end badly.
+			 */
+			err = -EXDEV;
+			goto out;
+		}
+
+		inode = fetch_regular_inode(dir_inode->i_sb, backing_dentry);
+		if (IS_ERR(inode)) {
+			err = PTR_ERR(inode);
+			goto out;
+		}
+
+		d_add(dentry, inode);
+	}
+
+out:
+	dput(dir_dentry);
+	dput(backing_dentry);
+	path_put(&dir_backing_path);
+	if (err)
+		pr_debug("incfs: %s %s %d\n", __func__,
+			 dentry->d_name.name, err);
+	return ERR_PTR(err);
+}
+
+static int dir_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode)
+{
+	struct mount_info *mi = get_mount_info(dir->i_sb);
+	struct inode_info *dir_node = get_incfs_node(dir);
+	struct dentry *backing_dentry = NULL;
+	struct path backing_path = {};
+	int err = 0;
+
+
+	if (!mi || !dir_node || !dir_node->n_backing_inode)
+		return -EBADF;
+
+	err = mutex_lock_interruptible(&mi->mi_dir_struct_mutex);
+	if (err)
+		return err;
+
+	get_incfs_backing_path(dentry, &backing_path);
+	backing_dentry = backing_path.dentry;
+
+	if (!backing_dentry) {
+		err = -EBADF;
+		goto out;
+	}
+
+	if (backing_dentry->d_parent == mi->mi_index_dir) {
+		/* Can't create a subdir inside .index */
+		err = -EBUSY;
+		goto out;
+	}
+
+	inode_lock_nested(dir_node->n_backing_inode, I_MUTEX_PARENT);
+	err = vfs_mkdir(dir_node->n_backing_inode, backing_dentry, mode | 0222);
+	inode_unlock(dir_node->n_backing_inode);
+	if (!err) {
+		struct inode *inode = NULL;
+
+		if (d_really_is_negative(backing_dentry)) {
+			err = -EINVAL;
+			goto out;
+		}
+
+		inode = fetch_regular_inode(dir->i_sb, backing_dentry);
+		if (IS_ERR(inode)) {
+			err = PTR_ERR(inode);
+			goto out;
+		}
+		d_instantiate(dentry, inode);
+	}
+
+out:
+	if (d_really_is_negative(dentry))
+		d_drop(dentry);
+	path_put(&backing_path);
+	mutex_unlock(&mi->mi_dir_struct_mutex);
+	if (err)
+		pr_debug("incfs: %s err:%d\n", __func__, err);
+	return err;
+}
+
+/* Delete file referenced by backing_dentry and also its hardlink from .index */
+static int final_file_delete(struct mount_info *mi,
+			struct dentry *backing_dentry)
+{
+	struct dentry *index_file_dentry = NULL;
+	/* 2 chars per byte of file ID + 1 char for \0 */
+	char file_id_str[2 * sizeof(incfs_uuid_t) + 1] = {0};
+	ssize_t uuid_size = 0;
+	int error = 0;
+
+	WARN_ON(!mutex_is_locked(&mi->mi_dir_struct_mutex));
+	uuid_size = vfs_getxattr(backing_dentry, INCFS_XATTR_ID_NAME,
+			file_id_str, 2 * sizeof(incfs_uuid_t));
+	if (uuid_size < 0) {
+		error = uuid_size;
+		goto out;
+	}
+
+	if (uuid_size != 2 * sizeof(incfs_uuid_t)) {
+		error = -EBADMSG;
+		goto out;
+	}
+
+	index_file_dentry = incfs_lookup_dentry(mi->mi_index_dir, file_id_str);
+	if (IS_ERR(index_file_dentry)) {
+		error = PTR_ERR(index_file_dentry);
+		goto out;
+	}
+
+	error = incfs_unlink(backing_dentry);
+	if (error)
+		goto out;
+
+	if (d_really_is_positive(index_file_dentry))
+		error = incfs_unlink(index_file_dentry);
+out:
+	if (error)
+		pr_debug("incfs: delete_file_from_index err:%d\n", error);
+	return error;
+}
+
+static int dir_unlink(struct inode *dir, struct dentry *dentry)
+{
+	struct mount_info *mi = get_mount_info(dir->i_sb);
+	struct path backing_path = {};
+	struct kstat stat;
+	int err = 0;
+
+	err = mutex_lock_interruptible(&mi->mi_dir_struct_mutex);
+	if (err)
+		return err;
+
+	get_incfs_backing_path(dentry, &backing_path);
+	if (!backing_path.dentry) {
+		err = -EBADF;
+		goto out;
+	}
+
+	if (backing_path.dentry->d_parent == mi->mi_index_dir) {
+		/* Direct unlink from .index are not allowed. */
+		err = -EBUSY;
+		goto out;
+	}
+
+	err = vfs_getattr(&backing_path, &stat, STATX_NLINK,
+			  AT_STATX_SYNC_AS_STAT);
+	if (err)
+		goto out;
+
+	if (stat.nlink == 2) {
+		/*
+		 * This is the last named link to this file. The only one left
+		 * is in .index. Remove them both now.
+		 */
+		err = final_file_delete(mi, backing_path.dentry);
+	} else {
+		/* There are other links to this file. Remove just this one. */
+		err = incfs_unlink(backing_path.dentry);
+	}
+
+	d_drop(dentry);
+out:
+	path_put(&backing_path);
+	if (err)
+		pr_debug("incfs: %s err:%d\n", __func__, err);
+	mutex_unlock(&mi->mi_dir_struct_mutex);
+	return err;
+}
+
+static int dir_link(struct dentry *old_dentry, struct inode *dir,
+			 struct dentry *new_dentry)
+{
+	struct mount_info *mi = get_mount_info(dir->i_sb);
+	struct path backing_old_path = {};
+	struct path backing_new_path = {};
+	int error = 0;
+
+	error = mutex_lock_interruptible(&mi->mi_dir_struct_mutex);
+	if (error)
+		return error;
+
+	get_incfs_backing_path(old_dentry, &backing_old_path);
+	get_incfs_backing_path(new_dentry, &backing_new_path);
+
+	if (backing_new_path.dentry->d_parent == mi->mi_index_dir) {
+		/* Can't link to .index */
+		error = -EBUSY;
+		goto out;
+	}
+
+	error = incfs_link(backing_old_path.dentry, backing_new_path.dentry);
+	if (!error) {
+		struct inode *inode = NULL;
+		struct dentry *bdentry = backing_new_path.dentry;
+
+		if (d_really_is_negative(bdentry)) {
+			error = -EINVAL;
+			goto out;
+		}
+
+		inode = fetch_regular_inode(dir->i_sb, bdentry);
+		if (IS_ERR(inode)) {
+			error = PTR_ERR(inode);
+			goto out;
+		}
+		d_instantiate(new_dentry, inode);
+	}
+
+out:
+	path_put(&backing_old_path);
+	path_put(&backing_new_path);
+	if (error)
+		pr_debug("incfs: %s err:%d\n", __func__, error);
+	mutex_unlock(&mi->mi_dir_struct_mutex);
+	return error;
+}
+
+static int dir_rmdir(struct inode *dir, struct dentry *dentry)
+{
+	struct mount_info *mi = get_mount_info(dir->i_sb);
+	struct path backing_path = {};
+	int err = 0;
+
+	err = mutex_lock_interruptible(&mi->mi_dir_struct_mutex);
+	if (err)
+		return err;
+
+	get_incfs_backing_path(dentry, &backing_path);
+	if (!backing_path.dentry) {
+		err = -EBADF;
+		goto out;
+	}
+
+	if (backing_path.dentry == mi->mi_index_dir) {
+		/* Can't delete .index */
+		err = -EBUSY;
+		goto out;
+	}
+
+	err = incfs_rmdir(backing_path.dentry);
+	if (!err)
+		d_drop(dentry);
+out:
+	path_put(&backing_path);
+	if (err)
+		pr_debug("incfs: %s err:%d\n", __func__, err);
+	mutex_unlock(&mi->mi_dir_struct_mutex);
+	return err;
+}
+
+static int dir_rename(struct inode *old_dir, struct dentry *old_dentry,
+		struct inode *new_dir, struct dentry *new_dentry)
+{
+	struct mount_info *mi = get_mount_info(old_dir->i_sb);
+	struct dentry *backing_old_dentry;
+	struct dentry *backing_new_dentry;
+	struct dentry *backing_old_dir_dentry;
+	struct dentry *backing_new_dir_dentry;
+	struct inode *target_inode;
+	struct dentry *trap;
+	int error = 0;
+
+	error = mutex_lock_interruptible(&mi->mi_dir_struct_mutex);
+	if (error)
+		return error;
+
+	backing_old_dentry = get_incfs_dentry(old_dentry)->backing_path.dentry;
+	backing_new_dentry = get_incfs_dentry(new_dentry)->backing_path.dentry;
+	dget(backing_old_dentry);
+	dget(backing_new_dentry);
+
+	backing_old_dir_dentry = dget_parent(backing_old_dentry);
+	backing_new_dir_dentry = dget_parent(backing_new_dentry);
+	target_inode = d_inode(new_dentry);
+
+	if (backing_old_dir_dentry == mi->mi_index_dir) {
+		/* Direct moves from .index are not allowed. */
+		error = -EBUSY;
+		goto out;
+	}
+
+	trap = lock_rename(backing_old_dir_dentry, backing_new_dir_dentry);
+
+	if (trap == backing_old_dentry) {
+		error = -EINVAL;
+		goto unlock_out;
+	}
+	if (trap == backing_new_dentry) {
+		error = -ENOTEMPTY;
+		goto unlock_out;
+	}
+
+	error = vfs_rename(d_inode(backing_old_dir_dentry), backing_old_dentry,
+			d_inode(backing_new_dir_dentry), backing_new_dentry,
+			NULL, 0);
+	if (error)
+		goto unlock_out;
+	if (target_inode)
+		fsstack_copy_attr_all(target_inode,
+			get_incfs_node(target_inode)->n_backing_inode);
+	fsstack_copy_attr_all(new_dir, d_inode(backing_new_dir_dentry));
+	if (new_dir != old_dir)
+		fsstack_copy_attr_all(old_dir, d_inode(backing_old_dir_dentry));
+
+unlock_out:
+	unlock_rename(backing_old_dir_dentry, backing_new_dir_dentry);
+
+out:
+	dput(backing_new_dir_dentry);
+	dput(backing_old_dir_dentry);
+	dput(backing_new_dentry);
+	dput(backing_old_dentry);
+
+	mutex_unlock(&mi->mi_dir_struct_mutex);
+	if (error)
+		pr_debug("incfs: %s err:%d\n", __func__, error);
+	return error;
+}
+
+
+static int file_open(struct inode *inode, struct file *file)
+{
+	struct mount_info *mi = get_mount_info(inode->i_sb);
+	struct file *backing_file = NULL;
+	struct path backing_path = {};
+	int err = 0;
+
+	get_incfs_backing_path(file->f_path.dentry, &backing_path);
+	backing_file = dentry_open(&backing_path, O_RDWR | O_NOATIME,
+				mi->mi_owner);
+	path_put(&backing_path);
+
+	if (IS_ERR(backing_file)) {
+		err = PTR_ERR(backing_file);
+		backing_file = NULL;
+		goto out;
+	}
+
+	if (S_ISREG(inode->i_mode))
+		err = make_inode_ready_for_data_ops(mi, inode, backing_file);
+	else if (S_ISDIR(inode->i_mode)) {
+		struct dir_file *dir = NULL;
+
+		dir = incfs_open_dir_file(mi, backing_file);
+		if (IS_ERR(dir))
+			err = PTR_ERR(dir);
+		else
+			file->private_data = dir;
+	} else
+		err = -EBADF;
+
+out:
+	if (err)
+		pr_debug("incfs: %s name:%s err: %d\n", __func__,
+			file->f_path.dentry->d_name.name, err);
+	if (backing_file)
+		fput(backing_file);
+	return err;
+}
+
+static int file_release(struct inode *inode, struct file *file)
+{
+	if (S_ISREG(inode->i_mode)) {
+		/* Do nothing.
+		 * data_file is released only by inode eviction.
+		 */
+	} else if (S_ISDIR(inode->i_mode)) {
+		struct dir_file *dir = get_incfs_dir_file(file);
+
+		incfs_free_dir_file(dir);
+	}
+
+	return 0;
+}
+
+static ssize_t file_write(struct file *f, const char __user *buf,
+			     size_t size, loff_t *offset)
+{
+	struct data_file *df = get_incfs_data_file(f);
+	const ssize_t data_buf_size = 2 * INCFS_DATA_FILE_BLOCK_SIZE;
+	size_t block_count = size / sizeof(struct incfs_new_data_block);
+	struct incfs_new_data_block __user *usr_blocks =
+		(struct incfs_new_data_block __user *)buf;
+	u8 *data_buf = NULL;
+	ssize_t error = 0;
+	int i = 0;
+
+	if (!df)
+		return -EBADF;
+
+	if (!access_ok(VERIFY_READ, usr_blocks, size))
+		return -EFAULT;
+
+	data_buf = (u8 *)__get_free_pages(GFP_NOFS, get_order(data_buf_size));
+	if (!data_buf)
+		return -ENOMEM;
+
+	for (i = 0; i < block_count; i++) {
+		struct incfs_new_data_block block = {};
+
+		if (copy_from_user(&block, &usr_blocks[i], sizeof(block)) > 0) {
+			error = -EFAULT;
+			break;
+		}
+
+		if (block.data_len > data_buf_size) {
+			error = -E2BIG;
+			break;
+		}
+		if (!access_ok(VERIFY_READ, u64_to_user_ptr(block.data),
+			       block.data_len)) {
+			error = -EFAULT;
+			break;
+		}
+		if (copy_from_user(data_buf, u64_to_user_ptr(block.data),
+				   block.data_len) > 0) {
+			error = -EFAULT;
+			break;
+		}
+		block.data = 0; /* To make sure nobody uses it. */
+		if (block.flags & INCFS_BLOCK_FLAGS_HASH) {
+			error = incfs_process_new_hash_block(df, &block,
+							     data_buf);
+		} else {
+			error = incfs_process_new_data_block(df, &block,
+							     data_buf);
+		}
+		if (error)
+			break;
+	}
+
+	if (data_buf)
+		free_pages((unsigned long)data_buf, get_order(data_buf_size));
+	*offset = 0;
+
+	/*
+	 * Only report the error if no records were processed, otherwise
+	 * just return how many were processed successfully.
+	 */
+	if (i == 0)
+		return error;
+
+	return i * sizeof(struct incfs_new_data_block);
+}
+
+
+static int dentry_revalidate(struct dentry *d, unsigned int flags)
+{
+	struct path backing_path = {};
+	struct inode_info *info = get_incfs_node(d_inode(d));
+	struct inode *binode = (info == NULL) ? NULL : info->n_backing_inode;
+	struct dentry *backing_dentry = NULL;
+	int result = 0;
+
+	if (flags & LOOKUP_RCU)
+		return -ECHILD;
+
+	get_incfs_backing_path(d, &backing_path);
+	backing_dentry = backing_path.dentry;
+	if (!backing_dentry)
+		goto out;
+
+	if (d_inode(backing_dentry) != binode) {
+		/*
+		 * Backing inodes obtained via dentry and inode don't match.
+		 * It indicates that most likely backing dir has changed
+		 * directly bypassing Incremental FS interface.
+		 */
+		goto out;
+	}
+
+	if (backing_dentry->d_flags & DCACHE_OP_REVALIDATE) {
+		result = backing_dentry->d_op->d_revalidate(backing_dentry,
+				flags);
+	} else
+		result = 1;
+
+out:
+	path_put(&backing_path);
+	return result;
+}
+
+static void dentry_release(struct dentry *d)
+{
+	struct dentry_info *di = get_incfs_dentry(d);
+
+	if (di)
+		path_put(&di->backing_path);
+	d->d_fsdata = NULL;
+}
+
+static struct inode *alloc_inode(struct super_block *sb)
+{
+	struct inode_info *node = kzalloc(sizeof(*node), GFP_NOFS);
+
+	/* TODO: add a slab-based cache here. */
+	if (!node)
+		return NULL;
+	inode_init_once(&node->n_vfs_inode);
+	return &node->n_vfs_inode;
+}
+
+static void free_inode(struct inode *inode)
+{
+	struct inode_info *node = get_incfs_node(inode);
+
+	kfree(node);
+}
+
+static void evict_inode(struct inode *inode)
+{
+	struct inode_info *node = get_incfs_node(inode);
+
+	if (node) {
+		if (node->n_backing_inode) {
+			iput(node->n_backing_inode);
+			node->n_backing_inode = NULL;
+		}
+		if (node->n_file) {
+			incfs_free_data_file(node->n_file);
+			node->n_file = NULL;
+		}
+	}
+
+	truncate_inode_pages(&inode->i_data, 0);
+	clear_inode(inode);
+}
+
+static ssize_t incfs_getxattr(struct dentry *d, const char *name,
+			void *value, size_t size)
+{
+	struct dentry_info *di = get_incfs_dentry(d);
+	struct mount_info *mi = get_mount_info(d->d_sb);
+	char *stored_value;
+	size_t stored_size;
+
+	if (di && di->backing_path.dentry)
+		return vfs_getxattr(di->backing_path.dentry, name, value, size);
+
+	if (strcmp(name, "security.selinux"))
+		return -ENODATA;
+
+	if (!strcmp(d->d_iname, INCFS_PENDING_READS_FILENAME)) {
+		stored_value = mi->pending_read_xattr;
+		stored_size = mi->pending_read_xattr_size;
+	} else if (!strcmp(d->d_iname, INCFS_LOG_FILENAME)) {
+		stored_value = mi->log_xattr;
+		stored_size = mi->log_xattr_size;
+	} else {
+		return -ENODATA;
+	}
+
+	if (!stored_value)
+		return -ENODATA;
+
+	if (stored_size > size)
+		return -E2BIG;
+
+	memcpy(value, stored_value, stored_size);
+	return stored_size;
+
+}
+
+
+static ssize_t incfs_setxattr(struct dentry *d, const char *name,
+			const void *value, size_t size, int flags)
+{
+	struct dentry_info *di = get_incfs_dentry(d);
+	struct mount_info *mi = get_mount_info(d->d_sb);
+	void **stored_value;
+	size_t *stored_size;
+
+	if (di && di->backing_path.dentry)
+		return vfs_setxattr(di->backing_path.dentry, name, value, size,
+				    flags);
+
+	if (strcmp(name, "security.selinux"))
+		return -ENODATA;
+
+	if (size > INCFS_MAX_FILE_ATTR_SIZE)
+		return -E2BIG;
+
+	if (!strcmp(d->d_iname, INCFS_PENDING_READS_FILENAME)) {
+		stored_value = &mi->pending_read_xattr;
+		stored_size = &mi->pending_read_xattr_size;
+	} else if (!strcmp(d->d_iname, INCFS_LOG_FILENAME)) {
+		stored_value = &mi->log_xattr;
+		stored_size = &mi->log_xattr_size;
+	} else {
+		return -ENODATA;
+	}
+
+	kfree (*stored_value);
+	*stored_value = kzalloc(size, GFP_NOFS);
+	if (!*stored_value)
+		return -ENOMEM;
+
+	memcpy(*stored_value, value, size);
+	*stored_size = size;
+	return 0;
+}
+
+static ssize_t incfs_listxattr(struct dentry *d, char *list, size_t size)
+{
+	struct dentry_info *di = get_incfs_dentry(d);
+
+	if (!di || !di->backing_path.dentry)
+		return -ENODATA;
+
+	return vfs_listxattr(di->backing_path.dentry, list, size);
+}
+
+struct dentry *incfs_mount_fs(struct file_system_type *type, int flags,
+			      const char *dev_name, void *data)
+{
+	struct mount_options options = {};
+	struct mount_info *mi = NULL;
+	struct path backing_dir_path = {};
+	struct dentry *index_dir;
+	struct super_block *src_fs_sb = NULL;
+	struct inode *root_inode = NULL;
+	struct super_block *sb = sget(type, NULL, set_anon_super, flags, NULL);
+	int error = 0;
+
+	if (IS_ERR(sb))
+		return ERR_CAST(sb);
+
+	sb->s_op = &incfs_super_ops;
+	sb->s_d_op = &incfs_dentry_ops;
+	sb->s_flags |= S_NOATIME;
+	sb->s_magic = INCFS_MAGIC_NUMBER;
+	sb->s_time_gran = 1;
+	sb->s_blocksize = INCFS_DATA_FILE_BLOCK_SIZE;
+	sb->s_blocksize_bits = blksize_bits(sb->s_blocksize);
+	sb->s_xattr = incfs_xattr_ops;
+
+	BUILD_BUG_ON(PAGE_SIZE != INCFS_DATA_FILE_BLOCK_SIZE);
+
+	error = parse_options(&options, (char *)data);
+	if (error != 0) {
+		pr_err("incfs: Options parsing error. %d\n", error);
+		goto err;
+	}
+
+	sb->s_bdi->ra_pages = options.readahead_pages;
+	if (!dev_name) {
+		pr_err("incfs: Backing dir is not set, filesystem can't be mounted.\n");
+		error = -ENOENT;
+		goto err;
+	}
+
+	error = kern_path(dev_name, LOOKUP_FOLLOW | LOOKUP_DIRECTORY,
+			&backing_dir_path);
+	if (error || backing_dir_path.dentry == NULL ||
+		!d_really_is_positive(backing_dir_path.dentry)) {
+		pr_err("incfs: Error accessing: %s.\n",
+			dev_name);
+		goto err;
+	}
+	src_fs_sb = backing_dir_path.dentry->d_sb;
+	sb->s_maxbytes = src_fs_sb->s_maxbytes;
+
+	mi = incfs_alloc_mount_info(sb, &options, &backing_dir_path);
+
+	if (IS_ERR_OR_NULL(mi)) {
+		error = PTR_ERR(mi);
+		pr_err("incfs: Error allocating mount info. %d\n", error);
+		mi = NULL;
+		goto err;
+	}
+
+	index_dir = open_or_create_index_dir(backing_dir_path.dentry);
+	if (IS_ERR_OR_NULL(index_dir)) {
+		error = PTR_ERR(index_dir);
+		pr_err("incfs: Can't find or create .index dir in %s\n",
+			dev_name);
+		goto err;
+	}
+	mi->mi_index_dir = index_dir;
+
+	sb->s_fs_info = mi;
+	root_inode = fetch_regular_inode(sb, backing_dir_path.dentry);
+	if (IS_ERR(root_inode)) {
+		error = PTR_ERR(root_inode);
+		goto err;
+	}
+
+	sb->s_root = d_make_root(root_inode);
+	if (!sb->s_root) {
+		error = -ENOMEM;
+		goto err;
+	}
+	error = incfs_init_dentry(sb->s_root, &backing_dir_path);
+	if (error)
+		goto err;
+
+	path_put(&backing_dir_path);
+	sb->s_flags |= SB_ACTIVE;
+
+	pr_debug("infs: mount\n");
+	return dget(sb->s_root);
+err:
+	sb->s_fs_info = NULL;
+	path_put(&backing_dir_path);
+	incfs_free_mount_info(mi);
+	deactivate_locked_super(sb);
+	return ERR_PTR(error);
+}
+
+static int incfs_remount_fs(struct super_block *sb, int *flags, char *data)
+{
+	struct mount_options options;
+	struct mount_info *mi = get_mount_info(sb);
+	int err = 0;
+
+	sync_filesystem(sb);
+	err = parse_options(&options, (char *)data);
+	if (err)
+		return err;
+
+	if (mi->mi_options.read_timeout_ms != options.read_timeout_ms) {
+		mi->mi_options.read_timeout_ms = options.read_timeout_ms;
+		pr_debug("incfs: new timeout_ms=%d", options.read_timeout_ms);
+	}
+
+	pr_debug("infs: remount\n");
+	return 0;
+}
+
+void incfs_kill_sb(struct super_block *sb)
+{
+	struct mount_info *mi = sb->s_fs_info;
+
+	pr_debug("infs: unmount\n");
+	incfs_free_mount_info(mi);
+	generic_shutdown_super(sb);
+}
+
+static int show_options(struct seq_file *m, struct dentry *root)
+{
+	struct mount_info *mi = get_mount_info(root->d_sb);
+
+	seq_printf(m, ",read_timeout_ms=%u", mi->mi_options.read_timeout_ms);
+	seq_printf(m, ",readahead=%u", mi->mi_options.readahead_pages);
+	if (mi->mi_options.read_log_pages != 0) {
+		seq_printf(m, ",rlog_pages=%u", mi->mi_options.read_log_pages);
+		seq_printf(m, ",rlog_wakeup_cnt=%u",
+			   mi->mi_options.read_log_wakeup_count);
+	}
+	if (mi->mi_options.no_backing_file_cache)
+		seq_puts(m, ",no_bf_cache");
+	if (mi->mi_options.no_backing_file_readahead)
+		seq_puts(m, ",no_bf_readahead");
+	return 0;
+}
diff --git a/fs/incfs/vfs.h b/fs/incfs/vfs.h
new file mode 100644
index 0000000..eaa490e
--- /dev/null
+++ b/fs/incfs/vfs.h
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright 2018 Google LLC
+ */
+
+#ifndef _INCFS_VFS_H
+#define _INCFS_VFS_H
+
+void incfs_kill_sb(struct super_block *sb);
+struct dentry *incfs_mount_fs(struct file_system_type *type, int flags,
+			      const char *dev_name, void *data);
+
+#endif
diff --git a/fs/inode.c b/fs/inode.c
index befe45f..453b054 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -11,6 +11,7 @@
 #include <linux/security.h>
 #include <linux/cdev.h>
 #include <linux/bootmem.h>
+#include <linux/fscrypt.h>
 #include <linux/fsnotify.h>
 #include <linux/mount.h>
 #include <linux/posix_acl.h>
@@ -2189,7 +2190,7 @@
 	    !capable(CAP_LINUX_IMMUTABLE))
 		return -EPERM;
 
-	return 0;
+	return fscrypt_prepare_setflags(inode, oldflags, flags);
 }
 EXPORT_SYMBOL(vfs_ioc_setflags_prepare);
 
diff --git a/fs/jbd2/checkpoint.c b/fs/jbd2/checkpoint.c
index 26f8d7e..66409cb 100644
--- a/fs/jbd2/checkpoint.c
+++ b/fs/jbd2/checkpoint.c
@@ -165,7 +165,7 @@
 				       "journal space in %s\n", __func__,
 				       journal->j_devname);
 				WARN_ON(1);
-				jbd2_journal_abort(journal, 0);
+				jbd2_journal_abort(journal, -EIO);
 			}
 			write_lock(&journal->j_state_lock);
 		} else {
diff --git a/fs/jbd2/commit.c b/fs/jbd2/commit.c
index 020bd7a..4200a6f 100644
--- a/fs/jbd2/commit.c
+++ b/fs/jbd2/commit.c
@@ -781,7 +781,7 @@
 		err = journal_submit_commit_record(journal, commit_transaction,
 						 &cbh, crc32_sum);
 		if (err)
-			__jbd2_journal_abort_hard(journal);
+			jbd2_journal_abort(journal, err);
 	}
 
 	blk_finish_plug(&plug);
@@ -874,7 +874,7 @@
 		err = journal_submit_commit_record(journal, commit_transaction,
 						&cbh, crc32_sum);
 		if (err)
-			__jbd2_journal_abort_hard(journal);
+			jbd2_journal_abort(journal, err);
 	}
 	if (cbh)
 		err = journal_wait_on_commit_record(journal, cbh);
@@ -971,29 +971,33 @@
 		 * it. */
 
 		/*
-		* A buffer which has been freed while still being journaled by
-		* a previous transaction.
-		*/
-		if (buffer_freed(bh)) {
+		 * A buffer which has been freed while still being journaled
+		 * by a previous transaction, refile the buffer to BJ_Forget of
+		 * the running transaction. If the just committed transaction
+		 * contains "add to orphan" operation, we can completely
+		 * invalidate the buffer now. We are rather through in that
+		 * since the buffer may be still accessible when blocksize <
+		 * pagesize and it is attached to the last partial page.
+		 */
+		if (buffer_freed(bh) && !jh->b_next_transaction) {
+			struct address_space *mapping;
+
+			clear_buffer_freed(bh);
+			clear_buffer_jbddirty(bh);
+
 			/*
-			 * If the running transaction is the one containing
-			 * "add to orphan" operation (b_next_transaction !=
-			 * NULL), we have to wait for that transaction to
-			 * commit before we can really get rid of the buffer.
-			 * So just clear b_modified to not confuse transaction
-			 * credit accounting and refile the buffer to
-			 * BJ_Forget of the running transaction. If the just
-			 * committed transaction contains "add to orphan"
-			 * operation, we can completely invalidate the buffer
-			 * now. We are rather through in that since the
-			 * buffer may be still accessible when blocksize <
-			 * pagesize and it is attached to the last partial
-			 * page.
+			 * Block device buffers need to stay mapped all the
+			 * time, so it is enough to clear buffer_jbddirty and
+			 * buffer_freed bits. For the file mapping buffers (i.e.
+			 * journalled data) we need to unmap buffer and clear
+			 * more bits. We also need to be careful about the check
+			 * because the data page mapping can get cleared under
+			 * out hands, which alse need not to clear more bits
+			 * because the page and buffers will be freed and can
+			 * never be reused once we are done with them.
 			 */
-			jh->b_modified = 0;
-			if (!jh->b_next_transaction) {
-				clear_buffer_freed(bh);
-				clear_buffer_jbddirty(bh);
+			mapping = READ_ONCE(bh->b_page->mapping);
+			if (mapping && !sb_is_blkdev_sb(mapping->host->i_sb)) {
 				clear_buffer_mapped(bh);
 				clear_buffer_new(bh);
 				clear_buffer_req(bh);
diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c
index df390a6..a15a22d 100644
--- a/fs/jbd2/journal.c
+++ b/fs/jbd2/journal.c
@@ -1002,6 +1002,7 @@
 
 static void *jbd2_seq_info_next(struct seq_file *seq, void *v, loff_t *pos)
 {
+	(*pos)++;
 	return NULL;
 }
 
@@ -1700,6 +1701,11 @@
 		       journal->j_devname);
 		return -EFSCORRUPTED;
 	}
+	/*
+	 * clear JBD2_ABORT flag initialized in journal_init_common
+	 * here to update log tail information with the newest seq.
+	 */
+	journal->j_flags &= ~JBD2_ABORT;
 
 	/* OK, we've finished with the dynamic journal bits:
 	 * reinitialise the dynamic contents of the superblock in memory
@@ -1707,7 +1713,6 @@
 	if (journal_reset(journal))
 		goto recovery_error;
 
-	journal->j_flags &= ~JBD2_ABORT;
 	journal->j_flags |= JBD2_LOADED;
 	return 0;
 
@@ -2128,8 +2133,7 @@
 
 	if (journal->j_flags & JBD2_ABORT) {
 		write_unlock(&journal->j_state_lock);
-		if (!old_errno && old_errno != -ESHUTDOWN &&
-		    errno == -ESHUTDOWN)
+		if (old_errno != -ESHUTDOWN && errno == -ESHUTDOWN)
 			jbd2_journal_update_sb_errno(journal);
 		return;
 	}
@@ -2137,12 +2141,10 @@
 
 	__jbd2_journal_abort_hard(journal);
 
-	if (errno) {
-		jbd2_journal_update_sb_errno(journal);
-		write_lock(&journal->j_state_lock);
-		journal->j_flags |= JBD2_REC_ERR;
-		write_unlock(&journal->j_state_lock);
-	}
+	jbd2_journal_update_sb_errno(journal);
+	write_lock(&journal->j_state_lock);
+	journal->j_flags |= JBD2_REC_ERR;
+	write_unlock(&journal->j_state_lock);
 }
 
 /**
@@ -2184,11 +2186,6 @@
  * failure to disk.  ext3_error, for example, now uses this
  * functionality.
  *
- * Errors which originate from within the journaling layer will NOT
- * supply an errno; a null errno implies that absolutely no further
- * writes are done to the journal (unless there are any already in
- * progress).
- *
  */
 
 void jbd2_journal_abort(journal_t *journal, int errno)
diff --git a/fs/jbd2/transaction.c b/fs/jbd2/transaction.c
index 911ff18..04ffef9 100644
--- a/fs/jbd2/transaction.c
+++ b/fs/jbd2/transaction.c
@@ -831,8 +831,6 @@
 	char *frozen_buffer = NULL;
 	unsigned long start_lock, time_lock;
 
-	if (is_handle_aborted(handle))
-		return -EROFS;
 	journal = transaction->t_journal;
 
 	jbd_debug(5, "journal_head %p, force_copy %d\n", jh, force_copy);
@@ -1084,6 +1082,9 @@
 	struct journal_head *jh;
 	int rc;
 
+	if (is_handle_aborted(handle))
+		return -EROFS;
+
 	if (jbd2_write_access_granted(handle, bh, false))
 		return 0;
 
@@ -1221,6 +1222,9 @@
 	struct journal_head *jh;
 	char *committed_data = NULL;
 
+	if (is_handle_aborted(handle))
+		return -EROFS;
+
 	if (jbd2_write_access_granted(handle, bh, true))
 		return 0;
 
@@ -2228,14 +2232,16 @@
 			return -EBUSY;
 		}
 		/*
-		 * OK, buffer won't be reachable after truncate. We just set
-		 * j_next_transaction to the running transaction (if there is
-		 * one) and mark buffer as freed so that commit code knows it
-		 * should clear dirty bits when it is done with the buffer.
+		 * OK, buffer won't be reachable after truncate. We just clear
+		 * b_modified to not confuse transaction credit accounting, and
+		 * set j_next_transaction to the running transaction (if there
+		 * is one) and mark buffer as freed so that commit code knows
+		 * it should clear dirty bits when it is done with the buffer.
 		 */
 		set_buffer_freed(bh);
 		if (journal->j_running_transaction && buffer_jbddirty(bh))
 			jh->b_next_transaction = journal->j_running_transaction;
+		jh->b_modified = 0;
 		jbd2_journal_put_journal_head(jh);
 		spin_unlock(&journal->j_list_lock);
 		jbd_unlock_bh_state(bh);
diff --git a/fs/jfs/jfs_txnmgr.c b/fs/jfs/jfs_txnmgr.c
index a5663cb..78789c5 100644
--- a/fs/jfs/jfs_txnmgr.c
+++ b/fs/jfs/jfs_txnmgr.c
@@ -1928,8 +1928,7 @@
 	 * header ?
 	 */
 	if (tlck->type & tlckTRUNCATE) {
-		/* This odd declaration suppresses a bogus gcc warning */
-		pxd_t pxd = pxd;	/* truncated extent of xad */
+		pxd_t pxd;	/* truncated extent of xad */
 		int twm;
 
 		/*
diff --git a/fs/libfs.c b/fs/libfs.c
index bd2d193..e8835eb 100644
--- a/fs/libfs.c
+++ b/fs/libfs.c
@@ -16,6 +16,8 @@
 #include <linux/exportfs.h>
 #include <linux/writeback.h>
 #include <linux/buffer_head.h> /* sync_mapping_buffers */
+#include <linux/unicode.h>
+#include <linux/fscrypt.h>
 
 #include <linux/uaccess.h>
 
@@ -1258,3 +1260,112 @@
 	return (inode->i_fop == &empty_dir_operations) &&
 		(inode->i_op == &empty_dir_inode_operations);
 }
+
+#ifdef CONFIG_UNICODE
+bool needs_casefold(const struct inode *dir)
+{
+	return IS_CASEFOLDED(dir) && dir->i_sb->s_encoding &&
+			(!IS_ENCRYPTED(dir) || fscrypt_has_encryption_key(dir));
+}
+EXPORT_SYMBOL(needs_casefold);
+
+int generic_ci_d_compare(const struct dentry *dentry, unsigned int len,
+			  const char *str, const struct qstr *name)
+{
+	const struct dentry *parent = READ_ONCE(dentry->d_parent);
+	const struct inode *inode = READ_ONCE(parent->d_inode);
+	const struct super_block *sb = dentry->d_sb;
+	const struct unicode_map *um = sb->s_encoding;
+	struct qstr entry = QSTR_INIT(str, len);
+	int ret;
+
+	if (!inode || !needs_casefold(inode))
+		goto fallback;
+
+	ret = utf8_strncasecmp(um, name, &entry);
+	if (ret >= 0)
+		return ret;
+
+	if (sb_has_enc_strict_mode(sb))
+		return -EINVAL;
+fallback:
+	if (len != name->len)
+		return 1;
+	return !!memcmp(str, name->name, len);
+}
+EXPORT_SYMBOL(generic_ci_d_compare);
+
+int generic_ci_d_hash(const struct dentry *dentry, struct qstr *str)
+{
+	const struct inode *inode = READ_ONCE(dentry->d_inode);
+	struct super_block *sb = dentry->d_sb;
+	const struct unicode_map *um = sb->s_encoding;
+	int ret = 0;
+
+	if (!inode || !needs_casefold(inode))
+		return 0;
+
+	ret = utf8_casefold_hash(um, dentry, str);
+	if (ret < 0)
+		goto err;
+
+	return 0;
+err:
+	if (sb_has_enc_strict_mode(sb))
+		ret = -EINVAL;
+	else
+		ret = 0;
+	return ret;
+}
+EXPORT_SYMBOL(generic_ci_d_hash);
+
+static const struct dentry_operations generic_ci_dentry_ops = {
+	.d_hash = generic_ci_d_hash,
+	.d_compare = generic_ci_d_compare,
+};
+#endif
+
+#ifdef CONFIG_FS_ENCRYPTION
+static const struct dentry_operations generic_encrypted_dentry_ops = {
+	.d_revalidate = fscrypt_d_revalidate,
+};
+#endif
+
+#if IS_ENABLED(CONFIG_UNICODE) && IS_ENABLED(CONFIG_FS_ENCRYPTION)
+static const struct dentry_operations generic_encrypted_ci_dentry_ops = {
+	.d_hash = generic_ci_d_hash,
+	.d_compare = generic_ci_d_compare,
+	.d_revalidate = fscrypt_d_revalidate,
+};
+#endif
+
+/**
+ * generic_set_encrypted_ci_d_ops - helper for setting d_ops for given dentry
+ * @dir:	parent of dentry whose ops to set
+ * @dentry:	detnry to set ops on
+ *
+ * This function sets the dentry ops for the given dentry to handle both
+ * casefolding and encryption of the dentry name.
+ */
+void generic_set_encrypted_ci_d_ops(struct inode *dir, struct dentry *dentry)
+{
+#ifdef CONFIG_FS_ENCRYPTION
+	if (dentry->d_flags & DCACHE_ENCRYPTED_NAME) {
+#ifdef CONFIG_UNICODE
+		if (dir->i_sb->s_encoding) {
+			d_set_d_op(dentry, &generic_encrypted_ci_dentry_ops);
+			return;
+		}
+#endif
+		d_set_d_op(dentry, &generic_encrypted_dentry_ops);
+		return;
+	}
+#endif
+#ifdef CONFIG_UNICODE
+	if (dir->i_sb->s_encoding) {
+		d_set_d_op(dentry, &generic_ci_dentry_ops);
+		return;
+	}
+#endif
+}
+EXPORT_SYMBOL(generic_set_encrypted_ci_d_ops);
diff --git a/fs/namei.c b/fs/namei.c
index c99cb21..8492dc6 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -1103,7 +1103,8 @@
  * may_create_in_sticky - Check whether an O_CREAT open in a sticky directory
  *			  should be allowed, or not, on files that already
  *			  exist.
- * @dir: the sticky parent directory
+ * @dir_mode: mode bits of directory
+ * @dir_uid: owner of directory
  * @inode: the inode of the file to open
  *
  * Block an O_CREAT open of a FIFO (or a regular file) when:
@@ -1119,18 +1120,18 @@
  *
  * Returns 0 if the open is allowed, -ve on error.
  */
-static int may_create_in_sticky(struct dentry * const dir,
+static int may_create_in_sticky(umode_t dir_mode, kuid_t dir_uid,
 				struct inode * const inode)
 {
 	if ((!sysctl_protected_fifos && S_ISFIFO(inode->i_mode)) ||
 	    (!sysctl_protected_regular && S_ISREG(inode->i_mode)) ||
-	    likely(!(dir->d_inode->i_mode & S_ISVTX)) ||
-	    uid_eq(inode->i_uid, dir->d_inode->i_uid) ||
+	    likely(!(dir_mode & S_ISVTX)) ||
+	    uid_eq(inode->i_uid, dir_uid) ||
 	    uid_eq(current_fsuid(), inode->i_uid))
 		return 0;
 
-	if (likely(dir->d_inode->i_mode & 0002) ||
-	    (dir->d_inode->i_mode & 0020 &&
+	if (likely(dir_mode & 0002) ||
+	    (dir_mode & 0020 &&
 	     ((sysctl_protected_fifos >= 2 && S_ISFIFO(inode->i_mode)) ||
 	      (sysctl_protected_regular >= 2 && S_ISREG(inode->i_mode))))) {
 		return -EACCES;
@@ -1461,7 +1462,7 @@
 			nd->path.dentry = parent;
 			nd->seq = seq;
 			if (unlikely(!path_connected(&nd->path)))
-				return -ENOENT;
+				return -ECHILD;
 			break;
 		} else {
 			struct mount *mnt = real_mount(nd->path.mnt);
@@ -3375,6 +3376,8 @@
 		   struct file *file, const struct open_flags *op)
 {
 	struct dentry *dir = nd->path.dentry;
+	kuid_t dir_uid = nd->inode->i_uid;
+	umode_t dir_mode = nd->inode->i_mode;
 	int open_flag = op->open_flag;
 	bool will_truncate = (open_flag & O_TRUNC) != 0;
 	bool got_write = false;
@@ -3510,7 +3513,7 @@
 		error = -EISDIR;
 		if (d_is_dir(nd->path.dentry))
 			goto out;
-		error = may_create_in_sticky(dir,
+		error = may_create_in_sticky(dir_mode, dir_uid,
 					     d_backing_inode(nd->path.dentry));
 		if (unlikely(error))
 			goto out;
diff --git a/fs/nfs/Kconfig b/fs/nfs/Kconfig
index 5f93cfa..ac3e063 100644
--- a/fs/nfs/Kconfig
+++ b/fs/nfs/Kconfig
@@ -89,7 +89,7 @@
 config NFS_SWAP
 	bool "Provide swap over NFS support"
 	default n
-	depends on NFS_FS
+	depends on NFS_FS && SWAP
 	select SUNRPC_SWAP
 	help
 	  This option enables swapon to work on files located on NFS mounts.
diff --git a/fs/nfs/delegation.c b/fs/nfs/delegation.c
index 74ff459..b0c0c2f 100644
--- a/fs/nfs/delegation.c
+++ b/fs/nfs/delegation.c
@@ -240,6 +240,8 @@
 	spin_lock(&delegation->lock);
 	if (delegation->inode != NULL)
 		inode = igrab(delegation->inode);
+	if (!inode)
+		set_bit(NFS_DELEGATION_INODE_FREEING, &delegation->flags);
 	spin_unlock(&delegation->lock);
 	return inode;
 }
@@ -955,10 +957,11 @@
 	list_for_each_entry_rcu(server, &clp->cl_superblocks, client_link) {
 		list_for_each_entry_rcu(delegation, &server->delegations,
 								super_list) {
-			if (test_bit(NFS_DELEGATION_RETURNING,
-						&delegation->flags))
-				continue;
-			if (test_bit(NFS_DELEGATION_NEED_RECLAIM,
+			if (test_bit(NFS_DELEGATION_INODE_FREEING,
+						&delegation->flags) ||
+			    test_bit(NFS_DELEGATION_RETURNING,
+						&delegation->flags) ||
+			    test_bit(NFS_DELEGATION_NEED_RECLAIM,
 						&delegation->flags) == 0)
 				continue;
 			if (!nfs_sb_active(server->super))
@@ -1064,10 +1067,11 @@
 	list_for_each_entry_rcu(server, &clp->cl_superblocks, client_link) {
 		list_for_each_entry_rcu(delegation, &server->delegations,
 								super_list) {
-			if (test_bit(NFS_DELEGATION_RETURNING,
-						&delegation->flags))
-				continue;
-			if (test_bit(NFS_DELEGATION_TEST_EXPIRED,
+			if (test_bit(NFS_DELEGATION_INODE_FREEING,
+						&delegation->flags) ||
+			    test_bit(NFS_DELEGATION_RETURNING,
+						&delegation->flags) ||
+			    test_bit(NFS_DELEGATION_TEST_EXPIRED,
 						&delegation->flags) == 0)
 				continue;
 			if (!nfs_sb_active(server->super))
diff --git a/fs/nfs/delegation.h b/fs/nfs/delegation.h
index dd0f3ee..f09b153 100644
--- a/fs/nfs/delegation.h
+++ b/fs/nfs/delegation.h
@@ -34,6 +34,7 @@
 	NFS_DELEGATION_RETURNING,
 	NFS_DELEGATION_REVOKED,
 	NFS_DELEGATION_TEST_EXPIRED,
+	NFS_DELEGATION_INODE_FREEING,
 };
 
 int nfs_inode_set_delegation(struct inode *inode, struct rpc_cred *cred,
diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c
index afdf55a..4a5d9ab 100644
--- a/fs/nfs/dir.c
+++ b/fs/nfs/dir.c
@@ -162,6 +162,17 @@
 	bool eof;
 } nfs_readdir_descriptor_t;
 
+static
+void nfs_readdir_init_array(struct page *page)
+{
+	struct nfs_cache_array *array;
+
+	array = kmap_atomic(page);
+	memset(array, 0, sizeof(struct nfs_cache_array));
+	array->eof_index = -1;
+	kunmap_atomic(array);
+}
+
 /*
  * we are freeing strings created by nfs_add_to_readdir_array()
  */
@@ -174,6 +185,7 @@
 	array = kmap_atomic(page);
 	for (i = 0; i < array->size; i++)
 		kfree(array->array[i].string.name);
+	array->size = 0;
 	kunmap_atomic(array);
 }
 
@@ -610,6 +622,8 @@
 	int status = -ENOMEM;
 	unsigned int array_size = ARRAY_SIZE(pages);
 
+	nfs_readdir_init_array(page);
+
 	entry.prev_cookie = 0;
 	entry.cookie = desc->last_cookie;
 	entry.eof = 0;
@@ -626,8 +640,6 @@
 	}
 
 	array = kmap(page);
-	memset(array, 0, sizeof(struct nfs_cache_array));
-	array->eof_index = -1;
 
 	status = nfs_readdir_alloc_pages(pages, array_size);
 	if (status < 0)
@@ -682,6 +694,7 @@
 	unlock_page(page);
 	return 0;
  error:
+	nfs_readdir_clear_array(page);
 	unlock_page(page);
 	return ret;
 }
@@ -689,8 +702,6 @@
 static
 void cache_page_release(nfs_readdir_descriptor_t *desc)
 {
-	if (!desc->page->mapping)
-		nfs_readdir_clear_array(desc->page);
 	put_page(desc->page);
 	desc->page = NULL;
 }
@@ -704,19 +715,28 @@
 
 /*
  * Returns 0 if desc->dir_cookie was found on page desc->page_index
+ * and locks the page to prevent removal from the page cache.
  */
 static
-int find_cache_page(nfs_readdir_descriptor_t *desc)
+int find_and_lock_cache_page(nfs_readdir_descriptor_t *desc)
 {
 	int res;
 
 	desc->page = get_cache_page(desc);
 	if (IS_ERR(desc->page))
 		return PTR_ERR(desc->page);
-
-	res = nfs_readdir_search_array(desc);
+	res = lock_page_killable(desc->page);
 	if (res != 0)
-		cache_page_release(desc);
+		goto error;
+	res = -EAGAIN;
+	if (desc->page->mapping != NULL) {
+		res = nfs_readdir_search_array(desc);
+		if (res == 0)
+			return 0;
+	}
+	unlock_page(desc->page);
+error:
+	cache_page_release(desc);
 	return res;
 }
 
@@ -731,7 +751,7 @@
 		desc->last_cookie = 0;
 	}
 	do {
-		res = find_cache_page(desc);
+		res = find_and_lock_cache_page(desc);
 	} while (res == -EAGAIN);
 	return res;
 }
@@ -770,7 +790,6 @@
 		desc->eof = true;
 
 	kunmap(desc->page);
-	cache_page_release(desc);
 	dfprintk(DIRCACHE, "NFS: nfs_do_filldir() filling ended @ cookie %Lu; returning = %d\n",
 			(unsigned long long)*desc->dir_cookie, res);
 	return res;
@@ -816,13 +835,13 @@
 
 	status = nfs_do_filldir(desc);
 
+ out_release:
+	nfs_readdir_clear_array(desc->page);
+	cache_page_release(desc);
  out:
 	dfprintk(DIRCACHE, "NFS: %s: returns %d\n",
 			__func__, status);
 	return status;
- out_release:
-	cache_page_release(desc);
-	goto out;
 }
 
 /* The file offset position represents the dirent entry number.  A
@@ -887,6 +906,8 @@
 			break;
 
 		res = nfs_do_filldir(desc);
+		unlock_page(desc->page);
+		cache_page_release(desc);
 		if (res < 0)
 			break;
 	} while (!desc->eof);
diff --git a/fs/nfs/direct.c b/fs/nfs/direct.c
index 29b7033..c61bd3f 100644
--- a/fs/nfs/direct.c
+++ b/fs/nfs/direct.c
@@ -261,10 +261,10 @@
 					 data->ds_commit_index);
 
 	/* verifier not set so always fail */
-	if (verfp->committed < 0)
+	if (verfp->committed < 0 || data->res.verf->committed <= NFS_UNSTABLE)
 		return 1;
 
-	return nfs_direct_cmp_verf(verfp, &data->verf);
+	return nfs_direct_cmp_verf(verfp, data->res.verf);
 }
 
 /**
diff --git a/fs/nfs/flexfilelayout/flexfilelayout.h b/fs/nfs/flexfilelayout/flexfilelayout.h
index de50a34..2ac9912 100644
--- a/fs/nfs/flexfilelayout/flexfilelayout.h
+++ b/fs/nfs/flexfilelayout/flexfilelayout.h
@@ -132,16 +132,6 @@
 			    generic_hdr);
 }
 
-static inline struct nfs4_deviceid_node *
-FF_LAYOUT_DEVID_NODE(struct pnfs_layout_segment *lseg, u32 idx)
-{
-	if (idx >= FF_LAYOUT_LSEG(lseg)->mirror_array_cnt ||
-	    FF_LAYOUT_LSEG(lseg)->mirror_array[idx] == NULL ||
-	    FF_LAYOUT_LSEG(lseg)->mirror_array[idx]->mirror_ds == NULL)
-		return NULL;
-	return &FF_LAYOUT_LSEG(lseg)->mirror_array[idx]->mirror_ds->id_node;
-}
-
 static inline struct nfs4_ff_layout_ds *
 FF_LAYOUT_MIRROR_DS(struct nfs4_deviceid_node *node)
 {
@@ -151,9 +141,25 @@
 static inline struct nfs4_ff_layout_mirror *
 FF_LAYOUT_COMP(struct pnfs_layout_segment *lseg, u32 idx)
 {
-	if (idx >= FF_LAYOUT_LSEG(lseg)->mirror_array_cnt)
-		return NULL;
-	return FF_LAYOUT_LSEG(lseg)->mirror_array[idx];
+	struct nfs4_ff_layout_segment *fls = FF_LAYOUT_LSEG(lseg);
+
+	if (idx < fls->mirror_array_cnt)
+		return fls->mirror_array[idx];
+	return NULL;
+}
+
+static inline struct nfs4_deviceid_node *
+FF_LAYOUT_DEVID_NODE(struct pnfs_layout_segment *lseg, u32 idx)
+{
+	struct nfs4_ff_layout_mirror *mirror = FF_LAYOUT_COMP(lseg, idx);
+
+	if (mirror != NULL) {
+		struct nfs4_ff_layout_ds *mirror_ds = mirror->mirror_ds;
+
+		if (!IS_ERR_OR_NULL(mirror_ds))
+			return &mirror_ds->id_node;
+	}
+	return NULL;
 }
 
 static inline u32
diff --git a/fs/nfs/nfs2xdr.c b/fs/nfs/nfs2xdr.c
index 350675e..040a05f 100644
--- a/fs/nfs/nfs2xdr.c
+++ b/fs/nfs/nfs2xdr.c
@@ -385,7 +385,7 @@
 	} else
 		p = xdr_time_not_set(p);
 	if (attr->ia_valid & ATTR_MTIME_SET) {
-		ts = timespec64_to_timespec(attr->ia_atime);
+		ts = timespec64_to_timespec(attr->ia_mtime);
 		xdr_encode_time(p, &ts);
 	} else if (attr->ia_valid & ATTR_MTIME) {
 		ts = timespec64_to_timespec(attr->ia_mtime);
diff --git a/fs/nfs/nfs3xdr.c b/fs/nfs/nfs3xdr.c
index 64e4fa3..9956453 100644
--- a/fs/nfs/nfs3xdr.c
+++ b/fs/nfs/nfs3xdr.c
@@ -2380,6 +2380,7 @@
 				   void *data)
 {
 	struct nfs_commitres *result = data;
+	struct nfs_writeverf *verf = result->verf;
 	enum nfs_stat status;
 	int error;
 
@@ -2392,7 +2393,9 @@
 	result->op_status = status;
 	if (status != NFS3_OK)
 		goto out_status;
-	error = decode_writeverf3(xdr, &result->verf->verifier);
+	error = decode_writeverf3(xdr, &verf->verifier);
+	if (!error)
+		verf->committed = NFS_FILE_SYNC;
 out:
 	return error;
 out_status:
diff --git a/fs/nfs/nfs42proc.c b/fs/nfs/nfs42proc.c
index 94f98e1..526441d 100644
--- a/fs/nfs/nfs42proc.c
+++ b/fs/nfs/nfs42proc.c
@@ -283,14 +283,14 @@
 		status = handle_async_copy(res, server, src, dst,
 				&args->src_stateid);
 		if (status)
-			return status;
+			goto out;
 	}
 
 	if ((!res->synchronous || !args->sync) &&
 			res->write_res.verifier.committed != NFS_FILE_SYNC) {
 		status = process_copy_commit(dst, pos_dst, res);
 		if (status)
-			return status;
+			goto out;
 	}
 
 	truncate_pagecache_range(dst_inode, pos_dst,
diff --git a/fs/nfs/nfs42xdr.c b/fs/nfs/nfs42xdr.c
index 69f72ed..ec98030 100644
--- a/fs/nfs/nfs42xdr.c
+++ b/fs/nfs/nfs42xdr.c
@@ -59,43 +59,53 @@
 #define decode_clone_maxsz		(op_decode_hdr_maxsz)
 
 #define NFS4_enc_allocate_sz		(compound_encode_hdr_maxsz + \
+					 encode_sequence_maxsz + \
 					 encode_putfh_maxsz + \
 					 encode_allocate_maxsz + \
 					 encode_getattr_maxsz)
 #define NFS4_dec_allocate_sz		(compound_decode_hdr_maxsz + \
+					 decode_sequence_maxsz + \
 					 decode_putfh_maxsz + \
 					 decode_allocate_maxsz + \
 					 decode_getattr_maxsz)
 #define NFS4_enc_copy_sz		(compound_encode_hdr_maxsz + \
+					 encode_sequence_maxsz + \
 					 encode_putfh_maxsz + \
 					 encode_savefh_maxsz + \
 					 encode_putfh_maxsz + \
 					 encode_copy_maxsz + \
 					 encode_commit_maxsz)
 #define NFS4_dec_copy_sz		(compound_decode_hdr_maxsz + \
+					 decode_sequence_maxsz + \
 					 decode_putfh_maxsz + \
 					 decode_savefh_maxsz + \
 					 decode_putfh_maxsz + \
 					 decode_copy_maxsz + \
 					 decode_commit_maxsz)
 #define NFS4_enc_offload_cancel_sz	(compound_encode_hdr_maxsz + \
+					 encode_sequence_maxsz + \
 					 encode_putfh_maxsz + \
 					 encode_offload_cancel_maxsz)
 #define NFS4_dec_offload_cancel_sz	(compound_decode_hdr_maxsz + \
+					 decode_sequence_maxsz + \
 					 decode_putfh_maxsz + \
 					 decode_offload_cancel_maxsz)
 #define NFS4_enc_deallocate_sz		(compound_encode_hdr_maxsz + \
+					 encode_sequence_maxsz + \
 					 encode_putfh_maxsz + \
 					 encode_deallocate_maxsz + \
 					 encode_getattr_maxsz)
 #define NFS4_dec_deallocate_sz		(compound_decode_hdr_maxsz + \
+					 decode_sequence_maxsz + \
 					 decode_putfh_maxsz + \
 					 decode_deallocate_maxsz + \
 					 decode_getattr_maxsz)
 #define NFS4_enc_seek_sz		(compound_encode_hdr_maxsz + \
+					 encode_sequence_maxsz + \
 					 encode_putfh_maxsz + \
 					 encode_seek_maxsz)
 #define NFS4_dec_seek_sz		(compound_decode_hdr_maxsz + \
+					 decode_sequence_maxsz + \
 					 decode_putfh_maxsz + \
 					 decode_seek_maxsz)
 #define NFS4_enc_layoutstats_sz		(compound_encode_hdr_maxsz + \
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index 792f882..668b648 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -3089,6 +3089,11 @@
 			exception.retry = 1;
 			continue;
 		}
+		if (status == -NFS4ERR_EXPIRED) {
+			nfs4_schedule_lease_recovery(server->nfs_client);
+			exception.retry = 1;
+			continue;
+		}
 		if (status == -EAGAIN) {
 			/* We must have found a delegation */
 			exception.retry = 1;
@@ -5112,7 +5117,7 @@
 	hdr->timestamp   = jiffies;
 
 	msg->rpc_proc = &nfs4_procedures[NFSPROC4_CLNT_WRITE];
-	nfs4_init_sequence(&hdr->args.seq_args, &hdr->res.seq_res, 1, 0);
+	nfs4_init_sequence(&hdr->args.seq_args, &hdr->res.seq_res, 0, 0);
 	nfs4_state_protect_write(server->nfs_client, clnt, msg, hdr);
 }
 
@@ -6103,8 +6108,10 @@
 
 	d_data = (struct nfs4_delegreturndata *)data;
 
-	if (!d_data->lr.roc && nfs4_wait_on_layoutreturn(d_data->inode, task))
+	if (!d_data->lr.roc && nfs4_wait_on_layoutreturn(d_data->inode, task)) {
+		nfs4_sequence_done(task, &d_data->res.seq_res);
 		return;
+	}
 
 	lo = d_data->args.lr_args ? d_data->args.lr_args->layout : NULL;
 	if (lo && !pnfs_layout_is_valid(lo)) {
diff --git a/fs/nfs/nfs4xdr.c b/fs/nfs/nfs4xdr.c
index 1c0227c..c4cf019 100644
--- a/fs/nfs/nfs4xdr.c
+++ b/fs/nfs/nfs4xdr.c
@@ -4439,11 +4439,14 @@
 
 static int decode_commit(struct xdr_stream *xdr, struct nfs_commitres *res)
 {
+	struct nfs_writeverf *verf = res->verf;
 	int status;
 
 	status = decode_op_hdr(xdr, OP_COMMIT);
 	if (!status)
-		status = decode_write_verifier(xdr, &res->verf->verifier);
+		status = decode_write_verifier(xdr, &verf->verifier);
+	if (!status)
+		verf->committed = NFS_FILE_SYNC;
 	return status;
 }
 
diff --git a/fs/nfs/pnfs.c b/fs/nfs/pnfs.c
index c818f98..66f699e 100644
--- a/fs/nfs/pnfs.c
+++ b/fs/nfs/pnfs.c
@@ -758,22 +758,35 @@
 pnfs_layout_bulk_destroy_byserver_locked(struct nfs_client *clp,
 		struct nfs_server *server,
 		struct list_head *layout_list)
+	__must_hold(&clp->cl_lock)
+	__must_hold(RCU)
 {
 	struct pnfs_layout_hdr *lo, *next;
 	struct inode *inode;
 
 	list_for_each_entry_safe(lo, next, &server->layouts, plh_layouts) {
-		if (test_bit(NFS_LAYOUT_INVALID_STID, &lo->plh_flags))
+		if (test_bit(NFS_LAYOUT_INVALID_STID, &lo->plh_flags) ||
+		    test_bit(NFS_LAYOUT_INODE_FREEING, &lo->plh_flags) ||
+		    !list_empty(&lo->plh_bulk_destroy))
 			continue;
+		/* If the sb is being destroyed, just bail */
+		if (!nfs_sb_active(server->super))
+			break;
 		inode = igrab(lo->plh_inode);
-		if (inode == NULL)
-			continue;
-		list_del_init(&lo->plh_layouts);
-		if (pnfs_layout_add_bulk_destroy_list(inode, layout_list))
-			continue;
-		rcu_read_unlock();
-		spin_unlock(&clp->cl_lock);
-		iput(inode);
+		if (inode != NULL) {
+			list_del_init(&lo->plh_layouts);
+			if (pnfs_layout_add_bulk_destroy_list(inode,
+						layout_list))
+				continue;
+			rcu_read_unlock();
+			spin_unlock(&clp->cl_lock);
+			iput(inode);
+		} else {
+			rcu_read_unlock();
+			spin_unlock(&clp->cl_lock);
+			set_bit(NFS_LAYOUT_INODE_FREEING, &lo->plh_flags);
+		}
+		nfs_sb_deactive(server->super);
 		spin_lock(&clp->cl_lock);
 		rcu_read_lock();
 		return -EAGAIN;
@@ -811,7 +824,7 @@
 		/* Free all lsegs that are attached to commit buckets */
 		nfs_commit_inode(inode, 0);
 		pnfs_put_layout_hdr(lo);
-		iput(inode);
+		nfs_iput_and_deactive(inode);
 	}
 	return ret;
 }
diff --git a/fs/nfs/pnfs.h b/fs/nfs/pnfs.h
index ece367e..3ba4481 100644
--- a/fs/nfs/pnfs.h
+++ b/fs/nfs/pnfs.h
@@ -104,6 +104,7 @@
 	NFS_LAYOUT_RETURN_REQUESTED,	/* Return this layout ASAP */
 	NFS_LAYOUT_INVALID_STID,	/* layout stateid id is invalid */
 	NFS_LAYOUT_FIRST_LAYOUTGET,	/* Serialize first layoutget */
+	NFS_LAYOUT_INODE_FREEING,	/* The inode is being freed */
 };
 
 enum layoutdriver_policy_flags {
diff --git a/fs/nfs/pnfs_nfs.c b/fs/nfs/pnfs_nfs.c
index d5e4d3c..acfb52b 100644
--- a/fs/nfs/pnfs_nfs.c
+++ b/fs/nfs/pnfs_nfs.c
@@ -30,12 +30,11 @@
 /* Fake up some data that will cause nfs_commit_release to retry the writes. */
 void pnfs_generic_prepare_to_resend_writes(struct nfs_commit_data *data)
 {
-	struct nfs_page *first = nfs_list_entry(data->pages.next);
+	struct nfs_writeverf *verf = data->res.verf;
 
 	data->task.tk_status = 0;
-	memcpy(&data->verf.verifier, &first->wb_verf,
-	       sizeof(data->verf.verifier));
-	data->verf.verifier.data[0]++; /* ensure verifier mismatch */
+	memset(&verf->verifier, 0, sizeof(verf->verifier));
+	verf->committed = NFS_UNSTABLE;
 }
 EXPORT_SYMBOL_GPL(pnfs_generic_prepare_to_resend_writes);
 
diff --git a/fs/nfs/super.c b/fs/nfs/super.c
index d90efde..5db7ace 100644
--- a/fs/nfs/super.c
+++ b/fs/nfs/super.c
@@ -1930,7 +1930,7 @@
 		/* kill possible hostname list: not supported */
 		comma = strchr(dev_name, ',');
 		if (comma != NULL && comma < end)
-			*comma = 0;
+			len = comma - dev_name;
 	}
 
 	if (len > maxnamlen)
diff --git a/fs/nfs/write.c b/fs/nfs/write.c
index 117ffd90..ce1da8c 100644
--- a/fs/nfs/write.c
+++ b/fs/nfs/write.c
@@ -240,7 +240,15 @@
 /* A writeback failed: mark the page as bad, and invalidate the page cache */
 static void nfs_set_pageerror(struct address_space *mapping)
 {
+	struct inode *inode = mapping->host;
+
 	nfs_zap_mapping(mapping->host, mapping);
+	/* Force file size revalidation */
+	spin_lock(&inode->i_lock);
+	NFS_I(inode)->cache_validity |= NFS_INO_REVAL_FORCED |
+					NFS_INO_REVAL_PAGECACHE |
+					NFS_INO_INVALID_SIZE;
+	spin_unlock(&inode->i_lock);
 }
 
 /*
@@ -646,7 +654,7 @@
 	return ret;
 out_launder:
 	nfs_write_error_remove_page(req);
-	return ret;
+	return 0;
 }
 
 static int nfs_do_writepage(struct page *page, struct writeback_control *wbc,
@@ -1806,6 +1814,7 @@
 
 static void nfs_commit_release_pages(struct nfs_commit_data *data)
 {
+	const struct nfs_writeverf *verf = data->res.verf;
 	struct nfs_page	*req;
 	int status = data->task.tk_status;
 	struct nfs_commit_info cinfo;
@@ -1832,7 +1841,8 @@
 
 		/* Okay, COMMIT succeeded, apparently. Check the verifier
 		 * returned by the server against all stored verfs. */
-		if (!nfs_write_verifier_cmp(&req->wb_verf, &data->verf.verifier)) {
+		if (verf->committed > NFS_UNSTABLE &&
+		    !nfs_write_verifier_cmp(&req->wb_verf, &verf->verifier)) {
 			/* We have a match */
 			if (req->wb_page)
 				nfs_inode_remove_request(req);
diff --git a/fs/nfsd/nfs4layouts.c b/fs/nfsd/nfs4layouts.c
index 2b36aa0..f4cf1c0 100644
--- a/fs/nfsd/nfs4layouts.c
+++ b/fs/nfsd/nfs4layouts.c
@@ -676,7 +676,7 @@
 
 		/* Client gets 2 lease periods to return it */
 		cutoff = ktime_add_ns(task->tk_start,
-					 nn->nfsd4_lease * NSEC_PER_SEC * 2);
+					 (u64)nn->nfsd4_lease * NSEC_PER_SEC * 2);
 
 		if (ktime_before(now, cutoff)) {
 			rpc_delay(task, HZ/100); /* 10 mili-seconds */
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index c8ce128..ed73e86 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -6075,7 +6075,7 @@
 	}
 
 	if (fl_flags & FL_SLEEP) {
-		nbl->nbl_time = jiffies;
+		nbl->nbl_time = get_seconds();
 		spin_lock(&nn->blocked_locks_lock);
 		list_add_tail(&nbl->nbl_list, &lock_sop->lo_blocked);
 		list_add_tail(&nbl->nbl_lru, &nn->blocked_locks_lru);
diff --git a/fs/nfsd/state.h b/fs/nfsd/state.h
index 0f07ad6..594fc1a 100644
--- a/fs/nfsd/state.h
+++ b/fs/nfsd/state.h
@@ -592,7 +592,7 @@
 struct nfsd4_blocked_lock {
 	struct list_head	nbl_list;
 	struct list_head	nbl_lru;
-	unsigned long		nbl_time;
+	time_t			nbl_time;
 	struct file_lock	nbl_lock;
 	struct knfsd_fh		nbl_fh;
 	struct nfsd4_callback	nbl_cb;
diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c
index 4fe8db3..80ceded 100644
--- a/fs/nfsd/vfs.c
+++ b/fs/nfsd/vfs.c
@@ -1016,6 +1016,7 @@
 	host_err = vfs_iter_write(file, &iter, &pos, flags);
 	if (host_err < 0)
 		goto out_nfserr;
+	*cnt = host_err;
 	nfsdstats.io_write += *cnt;
 	fsnotify_modify(file);
 
diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c
index a3e077f..fbd7011 100644
--- a/fs/ocfs2/file.c
+++ b/fs/ocfs2/file.c
@@ -2109,17 +2109,15 @@
 static int ocfs2_inode_lock_for_extent_tree(struct inode *inode,
 					    struct buffer_head **di_bh,
 					    int meta_level,
-					    int overwrite_io,
 					    int write_sem,
 					    int wait)
 {
 	int ret = 0;
 
 	if (wait)
-		ret = ocfs2_inode_lock(inode, NULL, meta_level);
+		ret = ocfs2_inode_lock(inode, di_bh, meta_level);
 	else
-		ret = ocfs2_try_inode_lock(inode,
-			overwrite_io ? NULL : di_bh, meta_level);
+		ret = ocfs2_try_inode_lock(inode, di_bh, meta_level);
 	if (ret < 0)
 		goto out;
 
@@ -2144,6 +2142,7 @@
 
 out_unlock:
 	brelse(*di_bh);
+	*di_bh = NULL;
 	ocfs2_inode_unlock(inode, meta_level);
 out:
 	return ret;
@@ -2186,7 +2185,6 @@
 		ret = ocfs2_inode_lock_for_extent_tree(inode,
 						       &di_bh,
 						       meta_level,
-						       overwrite_io,
 						       write_sem,
 						       wait);
 		if (ret < 0) {
@@ -2244,13 +2242,13 @@
 							   &di_bh,
 							   meta_level,
 							   write_sem);
+			meta_level = 1;
+			write_sem = 1;
 			ret = ocfs2_inode_lock_for_extent_tree(inode,
 							       &di_bh,
 							       meta_level,
-							       overwrite_io,
-							       1,
+							       write_sem,
 							       wait);
-			write_sem = 1;
 			if (ret < 0) {
 				if (ret != -EAGAIN)
 					mlog_errno(ret);
diff --git a/fs/ocfs2/journal.c b/fs/ocfs2/journal.c
index fc1f209e..c27d8ef 100644
--- a/fs/ocfs2/journal.c
+++ b/fs/ocfs2/journal.c
@@ -1080,6 +1080,14 @@
 
 	ocfs2_clear_journal_error(osb->sb, journal->j_journal, osb->slot_num);
 
+	if (replayed) {
+		jbd2_journal_lock_updates(journal->j_journal);
+		status = jbd2_journal_flush(journal->j_journal);
+		jbd2_journal_unlock_updates(journal->j_journal);
+		if (status < 0)
+			mlog_errno(status);
+	}
+
 	status = ocfs2_journal_toggle_dirty(osb, 1, replayed);
 	if (status < 0) {
 		mlog_errno(status);
diff --git a/fs/ocfs2/journal.h b/fs/ocfs2/journal.h
index 497a4171..bfb50fc 100644
--- a/fs/ocfs2/journal.h
+++ b/fs/ocfs2/journal.h
@@ -637,9 +637,11 @@
 {
 	struct ocfs2_inode_info *oi = OCFS2_I(inode);
 
-	oi->i_sync_tid = handle->h_transaction->t_tid;
-	if (datasync)
-		oi->i_datasync_tid = handle->h_transaction->t_tid;
+	if (!is_handle_aborted(handle)) {
+		oi->i_sync_tid = handle->h_transaction->t_tid;
+		if (datasync)
+			oi->i_datasync_tid = handle->h_transaction->t_tid;
+	}
 }
 
 #endif /* OCFS2_JOURNAL_H */
diff --git a/fs/orangefs/orangefs-debugfs.c b/fs/orangefs/orangefs-debugfs.c
index 0732cb0..e24738c 100644
--- a/fs/orangefs/orangefs-debugfs.c
+++ b/fs/orangefs/orangefs-debugfs.c
@@ -305,6 +305,7 @@
 
 static void *help_next(struct seq_file *m, void *v, loff_t *pos)
 {
+	(*pos)++;
 	gossip_debug(GOSSIP_DEBUGFS_DEBUG, "help_next: start\n");
 
 	return NULL;
diff --git a/fs/overlayfs/file.c b/fs/overlayfs/file.c
index 8cc2413..1b5ad58 100644
--- a/fs/overlayfs/file.c
+++ b/fs/overlayfs/file.c
@@ -149,7 +149,7 @@
 	struct inode *inode = file_inode(file);
 	struct fd real;
 	const struct cred *old_cred;
-	ssize_t ret;
+	loff_t ret;
 
 	/*
 	 * The two special cases below do not need to involve real fs,
diff --git a/fs/overlayfs/readdir.c b/fs/overlayfs/readdir.c
index ec591b4..47710c1 100644
--- a/fs/overlayfs/readdir.c
+++ b/fs/overlayfs/readdir.c
@@ -507,7 +507,13 @@
 		if (err)
 			goto fail;
 
-		WARN_ON_ONCE(dir->d_sb->s_dev != stat.dev);
+		/*
+		 * Directory inode is always on overlay st_dev.
+		 * Non-dir with ovl_same_dev() could be on pseudo st_dev in case
+		 * of xino bits overflow.
+		 */
+		WARN_ON_ONCE(S_ISDIR(stat.mode) &&
+			     dir->d_sb->s_dev != stat.dev);
 		ino = stat.ino;
 	} else if (xinobits && !OVL_TYPE_UPPER(type)) {
 		ino = ovl_remap_lower_ino(ino, xinobits,
diff --git a/fs/reiserfs/stree.c b/fs/reiserfs/stree.c
index 0037aea..2946713 100644
--- a/fs/reiserfs/stree.c
+++ b/fs/reiserfs/stree.c
@@ -2250,7 +2250,8 @@
 	/* also releases the path */
 	unfix_nodes(&s_ins_balance);
 #ifdef REISERQUOTA_DEBUG
-	reiserfs_debug(th->t_super, REISERFS_DEBUG_CODE,
+	if (inode)
+		reiserfs_debug(th->t_super, REISERFS_DEBUG_CODE,
 		       "reiserquota insert_item(): freeing %u id=%u type=%c",
 		       quota_bytes, inode->i_uid, head2type(ih));
 #endif
diff --git a/fs/reiserfs/super.c b/fs/reiserfs/super.c
index a350749..de5eda3 100644
--- a/fs/reiserfs/super.c
+++ b/fs/reiserfs/super.c
@@ -629,6 +629,7 @@
 	reiserfs_write_unlock(s);
 	mutex_destroy(&REISERFS_SB(s)->lock);
 	destroy_workqueue(REISERFS_SB(s)->commit_wq);
+	kfree(REISERFS_SB(s)->s_jdev);
 	kfree(s->s_fs_info);
 	s->s_fs_info = NULL;
 }
@@ -1953,7 +1954,7 @@
 		if (!sbi->s_jdev) {
 			SWARN(silent, s, "", "Cannot allocate memory for "
 				"journal device name");
-			goto error;
+			goto error_unlocked;
 		}
 	}
 #ifdef CONFIG_QUOTA
@@ -2243,6 +2244,7 @@
 			kfree(qf_names[j]);
 	}
 #endif
+	kfree(sbi->s_jdev);
 	kfree(sbi);
 
 	s->s_fs_info = NULL;
diff --git a/fs/reiserfs/xattr.c b/fs/reiserfs/xattr.c
index 2c5c459..ee21692 100644
--- a/fs/reiserfs/xattr.c
+++ b/fs/reiserfs/xattr.c
@@ -319,8 +319,12 @@
 out_dir:
 	dput(dir);
 out:
-	/* -ENODATA isn't an error */
-	if (err == -ENODATA)
+	/*
+	 * -ENODATA: this object doesn't have any xattrs
+	 * -EOPNOTSUPP: this file system doesn't have xattrs enabled on disk.
+	 * Neither are errors
+	 */
+	if (err == -ENODATA || err == -EOPNOTSUPP)
 		err = 0;
 	return err;
 }
diff --git a/fs/sdcardfs/inode.c b/fs/sdcardfs/inode.c
index 4dd681e..edeca11 100644
--- a/fs/sdcardfs/inode.c
+++ b/fs/sdcardfs/inode.c
@@ -87,6 +87,9 @@
 	lower_dentry_mnt = lower_path.mnt;
 	lower_parent_dentry = lock_parent(lower_dentry);
 
+	if (d_is_positive(lower_dentry))
+		return -EEXIST;
+
 	/* set last 16bytes of mode field to 0664 */
 	mode = (mode & S_IFMT) | 00664;
 
diff --git a/fs/sdcardfs/lookup.c b/fs/sdcardfs/lookup.c
index a5c9686..d2dfdf1 100644
--- a/fs/sdcardfs/lookup.c
+++ b/fs/sdcardfs/lookup.c
@@ -257,7 +257,6 @@
 	struct dentry *lower_dentry;
 	const struct qstr *name;
 	struct path lower_path;
-	struct qstr dname;
 	struct dentry *ret_dentry = NULL;
 	struct sdcardfs_sb_info *sbi;
 
@@ -316,6 +315,7 @@
 
 	/* no error: handle positive dentries */
 	if (!err) {
+found:
 		/* check if the dentry is an obb dentry
 		 * if true, the lower_inode must be replaced with
 		 * the inode of the graft path
@@ -362,28 +362,26 @@
 	if (err && err != -ENOENT)
 		goto out;
 
-	/* instatiate a new negative dentry */
-	dname.name = name->name;
-	dname.len = name->len;
-
-	/* See if the low-level filesystem might want
-	 * to use its own hash
-	 */
-	lower_dentry = d_hash_and_lookup(lower_dir_dentry, &dname);
-	if (IS_ERR(lower_dentry))
-		return lower_dentry;
-
-	if (!lower_dentry) {
-		/* We called vfs_path_lookup earlier, and did not get a negative
-		 * dentry then. Don't confuse the lower filesystem by forcing
-		 * one on it now...
-		 */
-		err = -ENOENT;
+	/* get a (very likely) new negative dentry */
+	lower_dentry = lookup_one_len_unlocked(name->name,
+					       lower_dir_dentry, name->len);
+	if (IS_ERR(lower_dentry)) {
+		err = PTR_ERR(lower_dentry);
 		goto out;
 	}
 
 	lower_path.dentry = lower_dentry;
 	lower_path.mnt = mntget(lower_dir_mnt);
+
+	/*
+	 * Check if someone sneakily filled in the dentry when
+	 * we weren't looking. We'll check again in create.
+	 */
+	if (unlikely(d_inode_rcu(lower_dentry))) {
+		err = 0;
+		goto found;
+	}
+
 	sdcardfs_set_lower_path(dentry, &lower_path);
 
 	/*
diff --git a/fs/ubifs/Kconfig b/fs/ubifs/Kconfig
index b9bc6e4..1b68e40 100644
--- a/fs/ubifs/Kconfig
+++ b/fs/ubifs/Kconfig
@@ -8,6 +8,7 @@
 	select CRYPTO_LZO if UBIFS_FS_LZO
 	select CRYPTO_DEFLATE if UBIFS_FS_ZLIB
 	select UBIFS_FS_XATTR if FS_ENCRYPTION
+	select FS_ENCRYPTION_ALGS if FS_ENCRYPTION
 	depends on MTD_UBI
 	help
 	  UBIFS is a file system for flash devices which works on top of UBI.
diff --git a/fs/ubifs/dir.c b/fs/ubifs/dir.c
index b73de6d..1a7c5c0 100644
--- a/fs/ubifs/dir.c
+++ b/fs/ubifs/dir.c
@@ -208,6 +208,7 @@
 	return 0;
 }
 
+static void ubifs_set_d_ops(struct inode *dir, struct dentry *dentry);
 static struct dentry *ubifs_lookup(struct inode *dir, struct dentry *dentry,
 				   unsigned int flags)
 {
@@ -221,6 +222,7 @@
 	dbg_gen("'%pd' in dir ino %lu", dentry, dir->i_ino);
 
 	err = fscrypt_prepare_lookup(dir, dentry, &nm);
+	ubifs_set_d_ops(dir, dentry);
 	if (err == -ENOENT)
 		return d_splice_alias(NULL, dentry);
 	if (err)
@@ -237,9 +239,9 @@
 		goto done;
 	}
 
-	if (nm.hash) {
-		ubifs_assert(c, fname_len(&nm) == 0);
-		ubifs_assert(c, fname_name(&nm) == NULL);
+	if (fname_name(&nm) == NULL) {
+		if (nm.hash & ~UBIFS_S_KEY_HASH_MASK)
+			goto done; /* ENOENT */
 		dent_key_init_hash(c, &key, dir->i_ino, nm.hash);
 		err = ubifs_tnc_lookup_dh(c, &key, dent, nm.minor_hash);
 	} else {
@@ -524,7 +526,7 @@
 
 	if (encrypted) {
 		err = fscrypt_get_encryption_info(dir);
-		if (err && err != -ENOKEY)
+		if (err)
 			return err;
 
 		err = fscrypt_fname_alloc_buffer(dir, UBIFS_MAX_NLEN, &fstr);
@@ -1668,3 +1670,19 @@
 	.compat_ioctl   = ubifs_compat_ioctl,
 #endif
 };
+
+#ifdef CONFIG_FS_ENCRYPTION
+static const struct dentry_operations ubifs_encrypted_dentry_ops = {
+	.d_revalidate = fscrypt_d_revalidate,
+};
+#endif
+
+static void ubifs_set_d_ops(struct inode *dir, struct dentry *dentry)
+{
+#ifdef CONFIG_FS_ENCRYPTION
+	if (dentry->d_flags & DCACHE_ENCRYPTED_NAME) {
+		d_set_d_op(dentry, &ubifs_encrypted_dentry_ops);
+		return;
+	}
+#endif
+}
diff --git a/fs/ubifs/file.c b/fs/ubifs/file.c
index 1b78f2e..65b4f63 100644
--- a/fs/ubifs/file.c
+++ b/fs/ubifs/file.c
@@ -798,7 +798,9 @@
 
 		if (page_offset > end_index)
 			break;
-		page = find_or_create_page(mapping, page_offset, ra_gfp_mask);
+		page = pagecache_get_page(mapping, page_offset,
+				 FGP_LOCK|FGP_ACCESSED|FGP_CREAT|FGP_NOWAIT,
+				 ra_gfp_mask);
 		if (!page)
 			break;
 		if (!PageUptodate(page))
diff --git a/fs/ubifs/ioctl.c b/fs/ubifs/ioctl.c
index 71c3440..203067d 100644
--- a/fs/ubifs/ioctl.c
+++ b/fs/ubifs/ioctl.c
@@ -28,6 +28,11 @@
 #include <linux/mount.h>
 #include "ubifs.h"
 
+/* Need to be kept consistent with checked flags in ioctl2ubifs() */
+#define UBIFS_SUPPORTED_IOCTL_FLAGS \
+	(FS_COMPR_FL | FS_SYNC_FL | FS_APPEND_FL | \
+	 FS_IMMUTABLE_FL | FS_DIRSYNC_FL)
+
 /**
  * ubifs_set_inode_flags - set VFS inode flags.
  * @inode: VFS inode to set flags for
@@ -127,7 +132,8 @@
 		}
 	}
 
-	ui->flags = ioctl2ubifs(flags);
+	ui->flags &= ~ioctl2ubifs(UBIFS_SUPPORTED_IOCTL_FLAGS);
+	ui->flags |= ioctl2ubifs(flags);
 	ubifs_set_inode_flags(inode);
 	inode->i_ctime = current_time(inode);
 	release = ui->dirty;
@@ -169,6 +175,9 @@
 		if (get_user(flags, (int __user *) arg))
 			return -EFAULT;
 
+		if (flags & ~UBIFS_SUPPORTED_IOCTL_FLAGS)
+			return -EOPNOTSUPP;
+
 		if (!S_ISDIR(inode->i_mode))
 			flags &= ~FS_DIRSYNC_FL;
 
diff --git a/fs/ubifs/journal.c b/fs/ubifs/journal.c
index 802565a..81e53978 100644
--- a/fs/ubifs/journal.c
+++ b/fs/ubifs/journal.c
@@ -583,7 +583,7 @@
 
 	if (!xent) {
 		dent->ch.node_type = UBIFS_DENT_NODE;
-		if (nm->hash)
+		if (fname_name(nm) == NULL)
 			dent_key_init_hash(c, &dent_key, dir->i_ino, nm->hash);
 		else
 			dent_key_init(c, &dent_key, dir->i_ino, nm);
@@ -630,7 +630,7 @@
 	kfree(dent);
 
 	if (deletion) {
-		if (nm->hash)
+		if (fname_name(nm) == NULL)
 			err = ubifs_tnc_remove_dh(c, &dent_key, nm->minor_hash);
 		else
 			err = ubifs_tnc_remove_nm(c, &dent_key, nm);
diff --git a/fs/ubifs/key.h b/fs/ubifs/key.h
index 2feff6c..fa6f290 100644
--- a/fs/ubifs/key.h
+++ b/fs/ubifs/key.h
@@ -162,7 +162,6 @@
 	uint32_t hash = c->key_hash(fname_name(nm), fname_len(nm));
 
 	ubifs_assert(c, !(hash & ~UBIFS_S_KEY_HASH_MASK));
-	ubifs_assert(c, !nm->hash && !nm->minor_hash);
 	key->u32[0] = inum;
 	key->u32[1] = hash | (UBIFS_DENT_KEY << UBIFS_S_KEY_HASH_BITS);
 }
diff --git a/fs/udf/super.c b/fs/udf/super.c
index 7af011d..1676a17 100644
--- a/fs/udf/super.c
+++ b/fs/udf/super.c
@@ -999,7 +999,6 @@
 	switch (le32_to_cpu(p->accessType)) {
 	case PD_ACCESS_TYPE_READ_ONLY:
 	case PD_ACCESS_TYPE_WRITE_ONCE:
-	case PD_ACCESS_TYPE_REWRITABLE:
 	case PD_ACCESS_TYPE_NONE:
 		goto force_ro;
 	}
@@ -2470,17 +2469,29 @@
 static unsigned int udf_count_free(struct super_block *sb)
 {
 	unsigned int accum = 0;
-	struct udf_sb_info *sbi;
+	struct udf_sb_info *sbi = UDF_SB(sb);
 	struct udf_part_map *map;
+	unsigned int part = sbi->s_partition;
+	int ptype = sbi->s_partmaps[part].s_partition_type;
 
-	sbi = UDF_SB(sb);
+	if (ptype == UDF_METADATA_MAP25) {
+		part = sbi->s_partmaps[part].s_type_specific.s_metadata.
+							s_phys_partition_ref;
+	} else if (ptype == UDF_VIRTUAL_MAP15 || ptype == UDF_VIRTUAL_MAP20) {
+		/*
+		 * Filesystems with VAT are append-only and we cannot write to
+ 		 * them. Let's just report 0 here.
+		 */
+		return 0;
+	}
+
 	if (sbi->s_lvid_bh) {
 		struct logicalVolIntegrityDesc *lvid =
 			(struct logicalVolIntegrityDesc *)
 			sbi->s_lvid_bh->b_data;
-		if (le32_to_cpu(lvid->numOfPartitions) > sbi->s_partition) {
+		if (le32_to_cpu(lvid->numOfPartitions) > part) {
 			accum = le32_to_cpu(
-					lvid->freeSpaceTable[sbi->s_partition]);
+					lvid->freeSpaceTable[part]);
 			if (accum == 0xFFFFFFFF)
 				accum = 0;
 		}
@@ -2489,7 +2500,7 @@
 	if (accum)
 		return accum;
 
-	map = &sbi->s_partmaps[sbi->s_partition];
+	map = &sbi->s_partmaps[part];
 	if (map->s_partition_flags & UDF_PART_FLAG_UNALLOC_BITMAP) {
 		accum += udf_count_free_bitmap(sb,
 					       map->s_uspace.s_bitmap);
diff --git a/fs/unicode/utf8-core.c b/fs/unicode/utf8-core.c
index 71ca4d0..d18789f 100644
--- a/fs/unicode/utf8-core.c
+++ b/fs/unicode/utf8-core.c
@@ -6,6 +6,7 @@
 #include <linux/parser.h>
 #include <linux/errno.h>
 #include <linux/unicode.h>
+#include <linux/stringhash.h>
 
 #include "utf8n.h"
 
@@ -122,9 +123,29 @@
 	}
 	return -EINVAL;
 }
-
 EXPORT_SYMBOL(utf8_casefold);
 
+int utf8_casefold_hash(const struct unicode_map *um, const void *salt,
+		       struct qstr *str)
+{
+	const struct utf8data *data = utf8nfdicf(um->version);
+	struct utf8cursor cur;
+	int c;
+	unsigned long hash = init_name_hash(salt);
+
+	if (utf8ncursor(&cur, data, str->name, str->len) < 0)
+		return -EINVAL;
+
+	while ((c = utf8byte(&cur))) {
+		if (c < 0)
+			return c;
+		hash = partial_name_hash((unsigned char)c, hash);
+	}
+	str->hash = end_name_hash(hash);
+	return 0;
+}
+EXPORT_SYMBOL(utf8_casefold_hash);
+
 int utf8_normalize(const struct unicode_map *um, const struct qstr *str,
 		   unsigned char *dest, size_t dlen)
 {
diff --git a/fs/verity/enable.c b/fs/verity/enable.c
index eabc6ac..15e7d14 100644
--- a/fs/verity/enable.c
+++ b/fs/verity/enable.c
@@ -8,18 +8,48 @@
 #include "fsverity_private.h"
 
 #include <crypto/hash.h>
+#include <linux/backing-dev.h>
 #include <linux/mount.h>
 #include <linux/pagemap.h>
 #include <linux/sched/signal.h>
 #include <linux/uaccess.h>
 
-static int build_merkle_tree_level(struct inode *inode, unsigned int level,
+/*
+ * Read a file data page for Merkle tree construction.  Do aggressive readahead,
+ * since we're sequentially reading the entire file.
+ */
+static struct page *read_file_data_page(struct file *filp, pgoff_t index,
+					struct file_ra_state *ra,
+					unsigned long remaining_pages)
+{
+	struct page *page;
+
+	page = find_get_page_flags(filp->f_mapping, index, FGP_ACCESSED);
+	if (!page || !PageUptodate(page)) {
+		if (page)
+			put_page(page);
+		else
+			page_cache_sync_readahead(filp->f_mapping, ra, filp,
+						  index, remaining_pages);
+		page = read_mapping_page(filp->f_mapping, index, NULL);
+		if (IS_ERR(page))
+			return page;
+	}
+	if (PageReadahead(page))
+		page_cache_async_readahead(filp->f_mapping, ra, filp, page,
+					   index, remaining_pages);
+	return page;
+}
+
+static int build_merkle_tree_level(struct file *filp, unsigned int level,
 				   u64 num_blocks_to_hash,
 				   const struct merkle_tree_params *params,
 				   u8 *pending_hashes,
 				   struct ahash_request *req)
 {
+	struct inode *inode = file_inode(filp);
 	const struct fsverity_operations *vops = inode->i_sb->s_vop;
+	struct file_ra_state ra = { 0 };
 	unsigned int pending_size = 0;
 	u64 dst_block_num;
 	u64 i;
@@ -36,6 +66,8 @@
 		dst_block_num = 0; /* unused */
 	}
 
+	file_ra_state_init(&ra, filp->f_mapping);
+
 	for (i = 0; i < num_blocks_to_hash; i++) {
 		struct page *src_page;
 
@@ -45,7 +77,8 @@
 
 		if (level == 0) {
 			/* Leaf: hashing a data block */
-			src_page = read_mapping_page(inode->i_mapping, i, NULL);
+			src_page = read_file_data_page(filp, i, &ra,
+						       num_blocks_to_hash - i);
 			if (IS_ERR(src_page)) {
 				err = PTR_ERR(src_page);
 				fsverity_err(inode,
@@ -54,9 +87,14 @@
 				return err;
 			}
 		} else {
+			unsigned long num_ra_pages =
+				min_t(unsigned long, num_blocks_to_hash - i,
+				      inode->i_sb->s_bdi->io_pages);
+
 			/* Non-leaf: hashing hash block from level below */
 			src_page = vops->read_merkle_tree_page(inode,
-					params->level_start[level - 1] + i);
+					params->level_start[level - 1] + i,
+					num_ra_pages);
 			if (IS_ERR(src_page)) {
 				err = PTR_ERR(src_page);
 				fsverity_err(inode,
@@ -103,17 +141,18 @@
 }
 
 /*
- * Build the Merkle tree for the given inode using the given parameters, and
+ * Build the Merkle tree for the given file using the given parameters, and
  * return the root hash in @root_hash.
  *
  * The tree is written to a filesystem-specific location as determined by the
  * ->write_merkle_tree_block() method.  However, the blocks that comprise the
  * tree are the same for all filesystems.
  */
-static int build_merkle_tree(struct inode *inode,
+static int build_merkle_tree(struct file *filp,
 			     const struct merkle_tree_params *params,
 			     u8 *root_hash)
 {
+	struct inode *inode = file_inode(filp);
 	u8 *pending_hashes;
 	struct ahash_request *req;
 	u64 blocks;
@@ -126,9 +165,11 @@
 		return 0;
 	}
 
+	/* This allocation never fails, since it's mempool-backed. */
+	req = fsverity_alloc_hash_request(params->hash_alg, GFP_KERNEL);
+
 	pending_hashes = kmalloc(params->block_size, GFP_KERNEL);
-	req = ahash_request_alloc(params->hash_alg->tfm, GFP_KERNEL);
-	if (!pending_hashes || !req)
+	if (!pending_hashes)
 		goto out;
 
 	/*
@@ -139,7 +180,7 @@
 	blocks = (inode->i_size + params->block_size - 1) >>
 		 params->log_blocksize;
 	for (level = 0; level <= params->num_levels; level++) {
-		err = build_merkle_tree_level(inode, level, blocks, params,
+		err = build_merkle_tree_level(filp, level, blocks, params,
 					      pending_hashes, req);
 		if (err)
 			goto out;
@@ -150,7 +191,7 @@
 	err = 0;
 out:
 	kfree(pending_hashes);
-	ahash_request_free(req);
+	fsverity_free_hash_request(params->hash_alg, req);
 	return err;
 }
 
@@ -175,8 +216,7 @@
 
 	/* Get the salt if the user provided one */
 	if (arg->salt_size &&
-	    copy_from_user(desc->salt,
-			   (const u8 __user *)(uintptr_t)arg->salt_ptr,
+	    copy_from_user(desc->salt, u64_to_user_ptr(arg->salt_ptr),
 			   arg->salt_size)) {
 		err = -EFAULT;
 		goto out;
@@ -185,8 +225,7 @@
 
 	/* Get the signature if the user provided one */
 	if (arg->sig_size &&
-	    copy_from_user(desc->signature,
-			   (const u8 __user *)(uintptr_t)arg->sig_ptr,
+	    copy_from_user(desc->signature, u64_to_user_ptr(arg->sig_ptr),
 			   arg->sig_size)) {
 		err = -EFAULT;
 		goto out;
@@ -227,7 +266,7 @@
 	 */
 	pr_debug("Building Merkle tree...\n");
 	BUILD_BUG_ON(sizeof(desc->root_hash) < FS_VERITY_MAX_DIGEST_SIZE);
-	err = build_merkle_tree(inode, &params, desc->root_hash);
+	err = build_merkle_tree(filp, &params, desc->root_hash);
 	if (err) {
 		fsverity_err(inode, "Error %d building Merkle tree", err);
 		goto rollback;
diff --git a/fs/verity/fsverity_private.h b/fs/verity/fsverity_private.h
index e74c79b..74768cf 100644
--- a/fs/verity/fsverity_private.h
+++ b/fs/verity/fsverity_private.h
@@ -16,6 +16,7 @@
 
 #include <crypto/sha.h>
 #include <linux/fsverity.h>
+#include <linux/mempool.h>
 
 struct ahash_request;
 
@@ -37,11 +38,12 @@
 	const char *name;	  /* crypto API name, e.g. sha256 */
 	unsigned int digest_size; /* digest size in bytes, e.g. 32 for SHA-256 */
 	unsigned int block_size;  /* block size in bytes, e.g. 64 for SHA-256 */
+	mempool_t req_pool;	  /* mempool with a preallocated hash request */
 };
 
 /* Merkle tree parameters: hash algorithm, initial hash state, and topology */
 struct merkle_tree_params {
-	const struct fsverity_hash_alg *hash_alg; /* the hash algorithm */
+	struct fsverity_hash_alg *hash_alg; /* the hash algorithm */
 	const u8 *hashstate;		/* initial hash state or NULL */
 	unsigned int digest_size;	/* same as hash_alg->digest_size */
 	unsigned int block_size;	/* size of data and tree blocks */
@@ -50,6 +52,7 @@
 	unsigned int log_arity;		/* log2(hashes_per_block) */
 	unsigned int num_levels;	/* number of levels in Merkle tree */
 	u64 tree_size;			/* Merkle tree size in bytes */
+	unsigned long level0_blocks;	/* number of blocks in tree level 0 */
 
 	/*
 	 * Starting block index for each tree level, ordered from leaf level (0)
@@ -114,14 +117,18 @@
 
 extern struct fsverity_hash_alg fsverity_hash_algs[];
 
-const struct fsverity_hash_alg *fsverity_get_hash_alg(const struct inode *inode,
-						      unsigned int num);
-const u8 *fsverity_prepare_hash_state(const struct fsverity_hash_alg *alg,
+struct fsverity_hash_alg *fsverity_get_hash_alg(const struct inode *inode,
+						unsigned int num);
+struct ahash_request *fsverity_alloc_hash_request(struct fsverity_hash_alg *alg,
+						  gfp_t gfp_flags);
+void fsverity_free_hash_request(struct fsverity_hash_alg *alg,
+				struct ahash_request *req);
+const u8 *fsverity_prepare_hash_state(struct fsverity_hash_alg *alg,
 				      const u8 *salt, size_t salt_size);
 int fsverity_hash_page(const struct merkle_tree_params *params,
 		       const struct inode *inode,
 		       struct ahash_request *req, struct page *page, u8 *out);
-int fsverity_hash_buffer(const struct fsverity_hash_alg *alg,
+int fsverity_hash_buffer(struct fsverity_hash_alg *alg,
 			 const void *data, size_t size, u8 *out);
 void __init fsverity_check_hash_algs(void);
 
diff --git a/fs/verity/hash_algs.c b/fs/verity/hash_algs.c
index 31e6d7d..c37e186 100644
--- a/fs/verity/hash_algs.c
+++ b/fs/verity/hash_algs.c
@@ -24,6 +24,8 @@
 	},
 };
 
+static DEFINE_MUTEX(fsverity_hash_alg_init_mutex);
+
 /**
  * fsverity_get_hash_alg() - validate and prepare a hash algorithm
  * @inode: optional inode for logging purposes
@@ -36,8 +38,8 @@
  *
  * Return: pointer to the hash alg on success, else an ERR_PTR()
  */
-const struct fsverity_hash_alg *fsverity_get_hash_alg(const struct inode *inode,
-						      unsigned int num)
+struct fsverity_hash_alg *fsverity_get_hash_alg(const struct inode *inode,
+						unsigned int num)
 {
 	struct fsverity_hash_alg *alg;
 	struct crypto_ahash *tfm;
@@ -50,10 +52,15 @@
 	}
 	alg = &fsverity_hash_algs[num];
 
-	/* pairs with cmpxchg() below */
-	tfm = READ_ONCE(alg->tfm);
-	if (likely(tfm != NULL))
+	/* pairs with smp_store_release() below */
+	if (likely(smp_load_acquire(&alg->tfm) != NULL))
 		return alg;
+
+	mutex_lock(&fsverity_hash_alg_init_mutex);
+
+	if (alg->tfm != NULL)
+		goto out_unlock;
+
 	/*
 	 * Using the shash API would make things a bit simpler, but the ahash
 	 * API is preferable as it allows the use of crypto accelerators.
@@ -64,12 +71,14 @@
 			fsverity_warn(inode,
 				      "Missing crypto API support for hash algorithm \"%s\"",
 				      alg->name);
-			return ERR_PTR(-ENOPKG);
+			alg = ERR_PTR(-ENOPKG);
+			goto out_unlock;
 		}
 		fsverity_err(inode,
 			     "Error allocating hash algorithm \"%s\": %ld",
 			     alg->name, PTR_ERR(tfm));
-		return ERR_CAST(tfm);
+		alg = ERR_CAST(tfm);
+		goto out_unlock;
 	}
 
 	err = -EINVAL;
@@ -78,18 +87,61 @@
 	if (WARN_ON(alg->block_size != crypto_ahash_blocksize(tfm)))
 		goto err_free_tfm;
 
+	err = mempool_init_kmalloc_pool(&alg->req_pool, 1,
+					sizeof(struct ahash_request) +
+					crypto_ahash_reqsize(tfm));
+	if (err)
+		goto err_free_tfm;
+
 	pr_info("%s using implementation \"%s\"\n",
 		alg->name, crypto_ahash_driver_name(tfm));
 
-	/* pairs with READ_ONCE() above */
-	if (cmpxchg(&alg->tfm, NULL, tfm) != NULL)
-		crypto_free_ahash(tfm);
-
-	return alg;
+	/* pairs with smp_load_acquire() above */
+	smp_store_release(&alg->tfm, tfm);
+	goto out_unlock;
 
 err_free_tfm:
 	crypto_free_ahash(tfm);
-	return ERR_PTR(err);
+	alg = ERR_PTR(err);
+out_unlock:
+	mutex_unlock(&fsverity_hash_alg_init_mutex);
+	return alg;
+}
+
+/**
+ * fsverity_alloc_hash_request() - allocate a hash request object
+ * @alg: the hash algorithm for which to allocate the request
+ * @gfp_flags: memory allocation flags
+ *
+ * This is mempool-backed, so this never fails if __GFP_DIRECT_RECLAIM is set in
+ * @gfp_flags.  However, in that case this might need to wait for all
+ * previously-allocated requests to be freed.  So to avoid deadlocks, callers
+ * must never need multiple requests at a time to make forward progress.
+ *
+ * Return: the request object on success; NULL on failure (but see above)
+ */
+struct ahash_request *fsverity_alloc_hash_request(struct fsverity_hash_alg *alg,
+						  gfp_t gfp_flags)
+{
+	struct ahash_request *req = mempool_alloc(&alg->req_pool, gfp_flags);
+
+	if (req)
+		ahash_request_set_tfm(req, alg->tfm);
+	return req;
+}
+
+/**
+ * fsverity_free_hash_request() - free a hash request object
+ * @alg: the hash algorithm
+ * @req: the hash request object to free
+ */
+void fsverity_free_hash_request(struct fsverity_hash_alg *alg,
+				struct ahash_request *req)
+{
+	if (req) {
+		ahash_request_zero(req);
+		mempool_free(req, &alg->req_pool);
+	}
 }
 
 /**
@@ -101,7 +153,7 @@
  * Return: NULL if the salt is empty, otherwise the kmalloc()'ed precomputed
  *	   initial hash state on success or an ERR_PTR() on failure.
  */
-const u8 *fsverity_prepare_hash_state(const struct fsverity_hash_alg *alg,
+const u8 *fsverity_prepare_hash_state(struct fsverity_hash_alg *alg,
 				      const u8 *salt, size_t salt_size)
 {
 	u8 *hashstate = NULL;
@@ -119,11 +171,8 @@
 	if (!hashstate)
 		return ERR_PTR(-ENOMEM);
 
-	req = ahash_request_alloc(alg->tfm, GFP_KERNEL);
-	if (!req) {
-		err = -ENOMEM;
-		goto err_free;
-	}
+	/* This allocation never fails, since it's mempool-backed. */
+	req = fsverity_alloc_hash_request(alg, GFP_KERNEL);
 
 	/*
 	 * Zero-pad the salt to the next multiple of the input size of the hash
@@ -158,7 +207,7 @@
 	if (err)
 		goto err_free;
 out:
-	ahash_request_free(req);
+	fsverity_free_hash_request(alg, req);
 	kfree(padded_salt);
 	return hashstate;
 
@@ -229,7 +278,7 @@
  *
  * Return: 0 on success, -errno on failure
  */
-int fsverity_hash_buffer(const struct fsverity_hash_alg *alg,
+int fsverity_hash_buffer(struct fsverity_hash_alg *alg,
 			 const void *data, size_t size, u8 *out)
 {
 	struct ahash_request *req;
@@ -237,9 +286,8 @@
 	DECLARE_CRYPTO_WAIT(wait);
 	int err;
 
-	req = ahash_request_alloc(alg->tfm, GFP_KERNEL);
-	if (!req)
-		return -ENOMEM;
+	/* This allocation never fails, since it's mempool-backed. */
+	req = fsverity_alloc_hash_request(alg, GFP_KERNEL);
 
 	sg_init_one(&sg, data, size);
 	ahash_request_set_callback(req, CRYPTO_TFM_REQ_MAY_SLEEP |
@@ -249,7 +297,7 @@
 
 	err = crypto_wait_req(crypto_ahash_digest(req), &wait);
 
-	ahash_request_free(req);
+	fsverity_free_hash_request(alg, req);
 	return err;
 }
 
diff --git a/fs/verity/open.c b/fs/verity/open.c
index 63d1004..c5fe694 100644
--- a/fs/verity/open.c
+++ b/fs/verity/open.c
@@ -31,7 +31,7 @@
 				     unsigned int log_blocksize,
 				     const u8 *salt, size_t salt_size)
 {
-	const struct fsverity_hash_alg *hash_alg;
+	struct fsverity_hash_alg *hash_alg;
 	int err;
 	u64 blocks;
 	u64 offset;
@@ -102,6 +102,7 @@
 		/* temporarily using level_start[] to store blocks in level */
 		params->level_start[params->num_levels++] = blocks;
 	}
+	params->level0_blocks = params->level_start[0];
 
 	/* Compute the starting block of each level */
 	offset = 0;
@@ -126,7 +127,7 @@
  * Compute the file measurement by hashing the fsverity_descriptor excluding the
  * signature and with the sig_size field set to 0.
  */
-static int compute_file_measurement(const struct fsverity_hash_alg *hash_alg,
+static int compute_file_measurement(struct fsverity_hash_alg *hash_alg,
 				    struct fsverity_descriptor *desc,
 				    u8 *measurement)
 {
diff --git a/fs/verity/verify.c b/fs/verity/verify.c
index 1818050..8a83331 100644
--- a/fs/verity/verify.c
+++ b/fs/verity/verify.c
@@ -84,7 +84,8 @@
  * Return: true if the page is valid, else false.
  */
 static bool verify_page(struct inode *inode, const struct fsverity_info *vi,
-			struct ahash_request *req, struct page *data_page)
+			struct ahash_request *req, struct page *data_page,
+			unsigned long level0_ra_pages)
 {
 	const struct merkle_tree_params *params = &vi->tree_params;
 	const unsigned int hsize = params->digest_size;
@@ -117,8 +118,8 @@
 		pr_debug_ratelimited("Level %d: hindex=%lu, hoffset=%u\n",
 				     level, hindex, hoffset);
 
-		hpage = inode->i_sb->s_vop->read_merkle_tree_page(inode,
-								  hindex);
+		hpage = inode->i_sb->s_vop->read_merkle_tree_page(inode, hindex,
+				level == 0 ? level0_ra_pages : 0);
 		if (IS_ERR(hpage)) {
 			err = PTR_ERR(hpage);
 			fsverity_err(inode,
@@ -191,13 +192,12 @@
 	struct ahash_request *req;
 	bool valid;
 
-	req = ahash_request_alloc(vi->tree_params.hash_alg->tfm, GFP_NOFS);
-	if (unlikely(!req))
-		return false;
+	/* This allocation never fails, since it's mempool-backed. */
+	req = fsverity_alloc_hash_request(vi->tree_params.hash_alg, GFP_NOFS);
 
-	valid = verify_page(inode, vi, req, page);
+	valid = verify_page(inode, vi, req, page, 0);
 
-	ahash_request_free(req);
+	fsverity_free_hash_request(vi->tree_params.hash_alg, req);
 
 	return valid;
 }
@@ -222,25 +222,42 @@
 {
 	struct inode *inode = bio_first_page_all(bio)->mapping->host;
 	const struct fsverity_info *vi = inode->i_verity_info;
+	const struct merkle_tree_params *params = &vi->tree_params;
 	struct ahash_request *req;
 	struct bio_vec *bv;
 	int i;
+	unsigned long max_ra_pages = 0;
 
-	req = ahash_request_alloc(vi->tree_params.hash_alg->tfm, GFP_NOFS);
-	if (unlikely(!req)) {
+	/* This allocation never fails, since it's mempool-backed. */
+	req = fsverity_alloc_hash_request(params->hash_alg, GFP_NOFS);
+
+	if (bio->bi_opf & REQ_RAHEAD) {
+		/*
+		 * If this bio is for data readahead, then we also do readahead
+		 * of the first (largest) level of the Merkle tree.  Namely,
+		 * when a Merkle tree page is read, we also try to piggy-back on
+		 * some additional pages -- up to 1/4 the number of data pages.
+		 *
+		 * This improves sequential read performance, as it greatly
+		 * reduces the number of I/O requests made to the Merkle tree.
+		 */
 		bio_for_each_segment_all(bv, bio, i)
-			SetPageError(bv->bv_page);
-		return;
+			max_ra_pages++;
+		max_ra_pages /= 4;
 	}
 
 	bio_for_each_segment_all(bv, bio, i) {
 		struct page *page = bv->bv_page;
+		unsigned long level0_index = page->index >> params->log_arity;
+		unsigned long level0_ra_pages =
+			min(max_ra_pages, params->level0_blocks - level0_index);
 
-		if (!PageError(page) && !verify_page(inode, vi, req, page))
+		if (!PageError(page) &&
+		    !verify_page(inode, vi, req, page, level0_ra_pages))
 			SetPageError(page);
 	}
 
-	ahash_request_free(req);
+	fsverity_free_hash_request(params->hash_alg, req);
 }
 EXPORT_SYMBOL_GPL(fsverity_verify_bio);
 #endif /* CONFIG_BLOCK */
diff --git a/fs/xfs/xfs_quotaops.c b/fs/xfs/xfs_quotaops.c
index a7c0c65..13ca7c1 100644
--- a/fs/xfs/xfs_quotaops.c
+++ b/fs/xfs/xfs_quotaops.c
@@ -202,6 +202,9 @@
 	if (XFS_IS_QUOTA_ON(mp))
 		return -EINVAL;
 
+	if (uflags & ~(FS_USER_QUOTA | FS_GROUP_QUOTA | FS_PROJ_QUOTA))
+		return -EINVAL;
+
 	if (uflags & FS_USER_QUOTA)
 		flags |= XFS_DQ_USER;
 	if (uflags & FS_GROUP_QUOTA)
diff --git a/gen_headers_arm.bp b/gen_headers_arm.bp
index 65319b0..31da7a3 100644
--- a/gen_headers_arm.bp
+++ b/gen_headers_arm.bp
@@ -301,6 +301,7 @@
     "linux/in.h",
     "linux/in6.h",
     "linux/in_route.h",
+    "linux/incrementalfs.h",
     "linux/inet_diag.h",
     "linux/inotify.h",
     "linux/input-event-codes.h",
@@ -614,6 +615,7 @@
     "linux/virtio_mmio.h",
     "linux/virtio_net.h",
     "linux/virtio_pci.h",
+    "linux/virtio_pmem.h",
     "linux/virtio_ring.h",
     "linux/virtio_rng.h",
     "linux/virtio_scsi.h",
@@ -965,15 +967,15 @@
     "media/cam_icp.h",
     "media/cam_isp.h",
     "media/cam_isp_ife.h",
+    "media/cam_isp_tfe.h",
     "media/cam_isp_vfe.h",
     "media/cam_jpeg.h",
     "media/cam_lrme.h",
+    "media/cam_ope.h",
     "media/cam_req_mgr.h",
     "media/cam_sensor.h",
     "media/cam_sync.h",
     "media/cam_tfe.h",
-    "media/cam_ope.h",
-    "media/cam_isp_tfe.h",
 ]
 
 genrule {
diff --git a/gen_headers_arm64.bp b/gen_headers_arm64.bp
index 3e1627b..b6bcb98 100644
--- a/gen_headers_arm64.bp
+++ b/gen_headers_arm64.bp
@@ -296,6 +296,7 @@
     "linux/in.h",
     "linux/in6.h",
     "linux/in_route.h",
+    "linux/incrementalfs.h",
     "linux/inet_diag.h",
     "linux/inotify.h",
     "linux/input-event-codes.h",
@@ -608,6 +609,7 @@
     "linux/virtio_mmio.h",
     "linux/virtio_net.h",
     "linux/virtio_pci.h",
+    "linux/virtio_pmem.h",
     "linux/virtio_ring.h",
     "linux/virtio_rng.h",
     "linux/virtio_scsi.h",
@@ -959,15 +961,15 @@
     "media/cam_icp.h",
     "media/cam_isp.h",
     "media/cam_isp_ife.h",
+    "media/cam_isp_tfe.h",
     "media/cam_isp_vfe.h",
     "media/cam_jpeg.h",
     "media/cam_lrme.h",
+    "media/cam_ope.h",
     "media/cam_req_mgr.h",
     "media/cam_sensor.h",
     "media/cam_sync.h",
     "media/cam_tfe.h",
-    "media/cam_ope.h",
-    "media/cam_isp_tfe.h",
 ]
 
 genrule {
diff --git a/include/acpi/actypes.h b/include/acpi/actypes.h
index 66ceb12..2939a6c 100644
--- a/include/acpi/actypes.h
+++ b/include/acpi/actypes.h
@@ -528,11 +528,12 @@
 #define ACPI_MAKE_RSDP_SIG(dest)        (memcpy (ACPI_CAST_PTR (char, (dest)), ACPI_SIG_RSDP, 8))
 
 /*
- * Algorithm to obtain access bit width.
+ * Algorithm to obtain access bit or byte width.
  * Can be used with access_width of struct acpi_generic_address and access_size of
  * struct acpi_resource_generic_register.
  */
 #define ACPI_ACCESS_BIT_WIDTH(size)     (1 << ((size) + 2))
+#define ACPI_ACCESS_BYTE_WIDTH(size)    (1 << ((size) - 1))
 
 /*******************************************************************************
  *
diff --git a/include/drm/drm_panel.h b/include/drm/drm_panel.h
index d980d32..efe246c 100644
--- a/include/drm/drm_panel.h
+++ b/include/drm/drm_panel.h
@@ -24,6 +24,7 @@
 #ifndef __DRM_PANEL_H__
 #define __DRM_PANEL_H__
 
+#include <linux/err.h>
 #include <linux/errno.h>
 #include <linux/list.h>
 #include <linux/notifier.h>
diff --git a/include/dt-bindings/clock/mdss-7nm-pll-clk.h b/include/dt-bindings/clock/mdss-7nm-pll-clk.h
index bb146d7..d414a8a 100644
--- a/include/dt-bindings/clock/mdss-7nm-pll-clk.h
+++ b/include/dt-bindings/clock/mdss-7nm-pll-clk.h
@@ -30,30 +30,38 @@
 #define POST_VCO_DIV3_5_0_CLK	19
 #define CPHY_PCLK_SRC_MUX_0_CLK	20
 #define CPHY_PCLK_SRC_0_CLK	21
+#define SHADOW_CPHY_BYTECLK_SRC_0_CLK   22
+#define SHADOW_POST_VCO_DIV3_5_0_CLK    23
+#define SHADOW_CPHY_PCLK_SRC_MUX_0_CLK  24
+#define SHADOW_CPHY_PCLK_SRC_0_CLK      25
 
-#define VCO_CLK_1		22
-#define PLL_OUT_DIV_1_CLK	23
-#define BITCLK_SRC_1_CLK	24
-#define BYTECLK_SRC_1_CLK	25
-#define POST_BIT_DIV_1_CLK	26
-#define POST_VCO_DIV_1_CLK	27
-#define BYTECLK_MUX_1_CLK	28
-#define PCLK_SRC_MUX_1_CLK	29
-#define PCLK_SRC_1_CLK		30
-#define PCLK_MUX_1_CLK		31
-#define SHADOW_VCO_CLK_1		32
-#define SHADOW_PLL_OUT_DIV_1_CLK	33
-#define SHADOW_BITCLK_SRC_1_CLK		34
-#define SHADOW_BYTECLK_SRC_1_CLK	35
-#define SHADOW_POST_BIT_DIV_1_CLK	36
-#define SHADOW_POST_VCO_DIV_1_CLK	37
-#define SHADOW_PCLK_SRC_MUX_1_CLK	38
-#define SHADOW_PCLK_SRC_1_CLK		39
+#define VCO_CLK_1		26
+#define PLL_OUT_DIV_1_CLK	27
+#define BITCLK_SRC_1_CLK	28
+#define BYTECLK_SRC_1_CLK	29
+#define POST_BIT_DIV_1_CLK	30
+#define POST_VCO_DIV_1_CLK	31
+#define BYTECLK_MUX_1_CLK	32
+#define PCLK_SRC_MUX_1_CLK	33
+#define PCLK_SRC_1_CLK		34
+#define PCLK_MUX_1_CLK		35
+#define SHADOW_VCO_CLK_1		36
+#define SHADOW_PLL_OUT_DIV_1_CLK	37
+#define SHADOW_BITCLK_SRC_1_CLK		38
+#define SHADOW_BYTECLK_SRC_1_CLK	39
+#define SHADOW_POST_BIT_DIV_1_CLK	40
+#define SHADOW_POST_VCO_DIV_1_CLK	41
+#define SHADOW_PCLK_SRC_MUX_1_CLK	42
+#define SHADOW_PCLK_SRC_1_CLK		43
 /* CPHY clocks for DSI-1 PLL */
-#define CPHY_BYTECLK_SRC_1_CLK	40
-#define POST_VCO_DIV3_5_1_CLK	41
-#define CPHY_PCLK_SRC_MUX_1_CLK	42
-#define CPHY_PCLK_SRC_1_CLK	43
+#define CPHY_BYTECLK_SRC_1_CLK	44
+#define POST_VCO_DIV3_5_1_CLK	45
+#define CPHY_PCLK_SRC_MUX_1_CLK	46
+#define CPHY_PCLK_SRC_1_CLK	47
+#define SHADOW_CPHY_BYTECLK_SRC_1_CLK   48
+#define SHADOW_POST_VCO_DIV3_5_1_CLK    49
+#define SHADOW_CPHY_PCLK_SRC_MUX_1_CLK  50
+#define SHADOW_CPHY_PCLK_SRC_1_CLK      51
 
 
 /* DP PLL clocks */
diff --git a/include/dt-bindings/iio/qcom,spmi-vadc.h b/include/dt-bindings/iio/qcom,spmi-vadc.h
index 0bb1f16..5cd49dd 100644
--- a/include/dt-bindings/iio/qcom,spmi-vadc.h
+++ b/include/dt-bindings/iio/qcom,spmi-vadc.h
@@ -139,6 +139,7 @@
 #define ADC_GPIO7				0x18
 #define ADC_SBUx				0x99
 #define ADC_MID_CHG_DIV6			0x1e
+#define ANA_IN					0x1d
 #define ADC_OFF					0xff
 
 /* 30k pull-up1 */
diff --git a/include/dt-bindings/reset/amlogic,meson8b-reset.h b/include/dt-bindings/reset/amlogic,meson8b-reset.h
index 614aff2..a03e86f 100644
--- a/include/dt-bindings/reset/amlogic,meson8b-reset.h
+++ b/include/dt-bindings/reset/amlogic,meson8b-reset.h
@@ -95,9 +95,9 @@
 #define RESET_VD_RMEM			64
 #define RESET_AUDIN			65
 #define RESET_DBLK			66
-#define RESET_PIC_DC			66
-#define RESET_PSC			66
-#define RESET_NAND			66
+#define RESET_PIC_DC			67
+#define RESET_PSC			68
+#define RESET_NAND			69
 #define RESET_GE2D			70
 #define RESET_PARSER_REG		71
 #define RESET_PARSER_FETCH		72
diff --git a/include/linux/acpi.h b/include/linux/acpi.h
index df1252e..cd41281 100644
--- a/include/linux/acpi.h
+++ b/include/linux/acpi.h
@@ -917,26 +917,18 @@
 void acpi_subsys_complete(struct device *dev);
 int acpi_subsys_suspend_late(struct device *dev);
 int acpi_subsys_suspend_noirq(struct device *dev);
-int acpi_subsys_resume_noirq(struct device *dev);
-int acpi_subsys_resume_early(struct device *dev);
 int acpi_subsys_suspend(struct device *dev);
 int acpi_subsys_freeze(struct device *dev);
-int acpi_subsys_freeze_late(struct device *dev);
-int acpi_subsys_freeze_noirq(struct device *dev);
-int acpi_subsys_thaw_noirq(struct device *dev);
+int acpi_subsys_poweroff(struct device *dev);
 #else
 static inline int acpi_dev_resume_early(struct device *dev) { return 0; }
 static inline int acpi_subsys_prepare(struct device *dev) { return 0; }
 static inline void acpi_subsys_complete(struct device *dev) {}
 static inline int acpi_subsys_suspend_late(struct device *dev) { return 0; }
 static inline int acpi_subsys_suspend_noirq(struct device *dev) { return 0; }
-static inline int acpi_subsys_resume_noirq(struct device *dev) { return 0; }
-static inline int acpi_subsys_resume_early(struct device *dev) { return 0; }
 static inline int acpi_subsys_suspend(struct device *dev) { return 0; }
 static inline int acpi_subsys_freeze(struct device *dev) { return 0; }
-static inline int acpi_subsys_freeze_late(struct device *dev) { return 0; }
-static inline int acpi_subsys_freeze_noirq(struct device *dev) { return 0; }
-static inline int acpi_subsys_thaw_noirq(struct device *dev) { return 0; }
+static inline int acpi_subsys_poweroff(struct device *dev) { return 0; }
 #endif
 
 #ifdef CONFIG_ACPI
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index d01246c..46e3503d 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -373,6 +373,7 @@
 	unsigned int		max_sectors;
 	unsigned int		max_segment_size;
 	unsigned int		physical_block_size;
+	unsigned int		logical_block_size;
 	unsigned int		alignment_offset;
 	unsigned int		io_min;
 	unsigned int		io_opt;
@@ -383,7 +384,6 @@
 	unsigned int		discard_granularity;
 	unsigned int		discard_alignment;
 
-	unsigned short		logical_block_size;
 	unsigned short		max_segments;
 	unsigned short		max_integrity_segments;
 	unsigned short		max_discard_segments;
@@ -1217,7 +1217,7 @@
 		unsigned int max_write_same_sectors);
 extern void blk_queue_max_write_zeroes_sectors(struct request_queue *q,
 		unsigned int max_write_same_sectors);
-extern void blk_queue_logical_block_size(struct request_queue *, unsigned short);
+extern void blk_queue_logical_block_size(struct request_queue *, unsigned int);
 extern void blk_queue_physical_block_size(struct request_queue *, unsigned int);
 extern void blk_queue_alignment_offset(struct request_queue *q,
 				       unsigned int alignment);
@@ -1478,7 +1478,7 @@
 	return q->limits.max_segment_size;
 }
 
-static inline unsigned short queue_logical_block_size(struct request_queue *q)
+static inline unsigned queue_logical_block_size(struct request_queue *q)
 {
 	int retval = 512;
 
@@ -1488,7 +1488,7 @@
 	return retval;
 }
 
-static inline unsigned short bdev_logical_block_size(struct block_device *bdev)
+static inline unsigned int bdev_logical_block_size(struct block_device *bdev)
 {
 	return queue_logical_block_size(bdev_get_queue(bdev));
 }
diff --git a/include/linux/can/dev.h b/include/linux/can/dev.h
index f01623a..73199fa 100644
--- a/include/linux/can/dev.h
+++ b/include/linux/can/dev.h
@@ -18,6 +18,7 @@
 #include <linux/can/error.h>
 #include <linux/can/led.h>
 #include <linux/can/netlink.h>
+#include <linux/can/skb.h>
 #include <linux/netdevice.h>
 
 /*
@@ -91,6 +92,36 @@
 #define get_can_dlc(i)		(min_t(__u8, (i), CAN_MAX_DLC))
 #define get_canfd_dlc(i)	(min_t(__u8, (i), CANFD_MAX_DLC))
 
+/* Check for outgoing skbs that have not been created by the CAN subsystem */
+static inline bool can_skb_headroom_valid(struct net_device *dev,
+					  struct sk_buff *skb)
+{
+	/* af_packet creates a headroom of HH_DATA_MOD bytes which is fine */
+	if (WARN_ON_ONCE(skb_headroom(skb) < sizeof(struct can_skb_priv)))
+		return false;
+
+	/* af_packet does not apply CAN skb specific settings */
+	if (skb->ip_summed == CHECKSUM_NONE) {
+		/* init headroom */
+		can_skb_prv(skb)->ifindex = dev->ifindex;
+		can_skb_prv(skb)->skbcnt = 0;
+
+		skb->ip_summed = CHECKSUM_UNNECESSARY;
+
+		/* preform proper loopback on capable devices */
+		if (dev->flags & IFF_ECHO)
+			skb->pkt_type = PACKET_LOOPBACK;
+		else
+			skb->pkt_type = PACKET_HOST;
+
+		skb_reset_mac_header(skb);
+		skb_reset_network_header(skb);
+		skb_reset_transport_header(skb);
+	}
+
+	return true;
+}
+
 /* Drop a given socketbuffer if it does not contain a valid CAN frame. */
 static inline bool can_dropped_invalid_skb(struct net_device *dev,
 					  struct sk_buff *skb)
@@ -108,6 +139,9 @@
 	} else
 		goto inval_skb;
 
+	if (!can_skb_headroom_valid(dev, skb))
+		goto inval_skb;
+
 	return false;
 
 inval_skb:
diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h
index 42f0b78..b764132 100644
--- a/include/linux/cgroup.h
+++ b/include/linux/cgroup.h
@@ -130,6 +130,8 @@
 int cgroup_init_early(void);
 int cgroup_init(void);
 
+int cgroup_parse_float(const char *input, unsigned dec_shift, s64 *v);
+
 /*
  * Iteration helpers and macros.
  */
diff --git a/include/linux/device.h b/include/linux/device.h
index 2c64731..5a02401 100644
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -719,7 +719,8 @@
 					 gfp_t gfp_mask, unsigned int order);
 extern void devm_free_pages(struct device *dev, unsigned long addr);
 
-void __iomem *devm_ioremap_resource(struct device *dev, struct resource *res);
+void __iomem *devm_ioremap_resource(struct device *dev,
+				    const struct resource *res);
 
 void __iomem *devm_of_iomap(struct device *dev,
 			    struct device_node *node, int index,
@@ -771,11 +772,17 @@
 
 /**
  * struct device_connection - Device Connection Descriptor
+ * @fwnode: The device node of the connected device
  * @endpoint: The names of the two devices connected together
  * @id: Unique identifier for the connection
  * @list: List head, private, for internal use only
+ *
+ * NOTE: @fwnode is not used together with @endpoint. @fwnode is used when
+ * platform firmware defines the connection. When the connection is registered
+ * with device_connection_add() @endpoint is used instead.
  */
 struct device_connection {
+	struct fwnode_handle	*fwnode;
 	const char		*endpoint[2];
 	const char		*id;
 	struct list_head	list;
@@ -869,11 +876,12 @@
 	struct list_head c_node;
 	enum device_link_state status;
 	u32 flags;
-	bool rpm_active;
+	refcount_t rpm_active;
 	struct kref kref;
 #ifdef CONFIG_SRCU
 	struct rcu_head rcu_head;
 #endif
+	bool supplier_preactivated; /* Owned by consumer probe. */
 };
 
 /**
diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h
index 0647f43..50128c3 100644
--- a/include/linux/dmaengine.h
+++ b/include/linux/dmaengine.h
@@ -686,6 +686,7 @@
  * @fill_align: alignment shift for memset operations
  * @dev_id: unique device ID
  * @dev: struct device reference for dma mapping api
+ * @owner: owner module (automatically set based on the provided dev)
  * @src_addr_widths: bit mask of src addr widths the device supports
  *	Width is specified in bytes, e.g. for a device supporting
  *	a width of 4 the mask should have BIT(4) set.
@@ -749,6 +750,7 @@
 
 	int dev_id;
 	struct device *dev;
+	struct module *owner;
 
 	u32 src_addr_widths;
 	u32 dst_addr_widths;
diff --git a/include/linux/eventfd.h b/include/linux/eventfd.h
index ffcc772..dc4fd8a 100644
--- a/include/linux/eventfd.h
+++ b/include/linux/eventfd.h
@@ -12,6 +12,8 @@
 #include <linux/fcntl.h>
 #include <linux/wait.h>
 #include <linux/err.h>
+#include <linux/percpu-defs.h>
+#include <linux/percpu.h>
 
 /*
  * CAREFUL: Check include/uapi/asm-generic/fcntl.h when defining
@@ -40,6 +42,13 @@
 int eventfd_ctx_remove_wait_queue(struct eventfd_ctx *ctx, wait_queue_entry_t *wait,
 				  __u64 *cnt);
 
+DECLARE_PER_CPU(int, eventfd_wake_count);
+
+static inline bool eventfd_signal_count(void)
+{
+	return this_cpu_read(eventfd_wake_count);
+}
+
 #else /* CONFIG_EVENTFD */
 
 /*
@@ -68,6 +77,11 @@
 	return -ENOSYS;
 }
 
+static inline bool eventfd_signal_count(void)
+{
+	return false;
+}
+
 #endif
 
 #endif /* _LINUX_EVENTFD_H */
diff --git a/include/linux/extcon.h b/include/linux/extcon.h
index c65aa57..3aef2d1 100644
--- a/include/linux/extcon.h
+++ b/include/linux/extcon.h
@@ -201,6 +201,14 @@
 				unsigned int id, unsigned int prop);
 
 /*
+ * Following APIs set array of mutually exclusive.
+ * The 'exclusive' argument indicates the array of mutually exclusive set
+ * of cables that cannot be attached simultaneously.
+ */
+extern int extcon_set_mutually_exclusive(struct extcon_dev *edev,
+				const u32 *exclusive);
+
+/*
  * Following APIs register the notifier block in order to detect
  * the change of both state and property value for each external connector.
  *
diff --git a/include/linux/f2fs_fs.h b/include/linux/f2fs_fs.h
index 2847389..e8763a9 100644
--- a/include/linux/f2fs_fs.h
+++ b/include/linux/f2fs_fs.h
@@ -23,6 +23,7 @@
 
 #define NULL_ADDR		((block_t)0)	/* used as block_t addresses */
 #define NEW_ADDR		((block_t)-1)	/* used as block_t addresses */
+#define COMPRESS_ADDR		((block_t)-2)	/* used as compressed data flag */
 
 #define F2FS_BYTES_TO_BLK(bytes)	((bytes) >> F2FS_BLKSIZE_BITS)
 #define F2FS_BLK_TO_BYTES(blk)		((blk) << F2FS_BLKSIZE_BITS)
@@ -37,9 +38,6 @@
 #define F2FS_MAX_QUOTAS		3
 
 #define F2FS_ENC_UTF8_12_1	1
-#define F2FS_ENC_STRICT_MODE_FL	(1 << 0)
-#define f2fs_has_strict_mode(sbi) \
-	(sbi->s_encoding_flags & F2FS_ENC_STRICT_MODE_FL)
 
 #define F2FS_IO_SIZE(sbi)	(1 << F2FS_OPTION(sbi).write_io_size_bits) /* Blocks */
 #define F2FS_IO_SIZE_KB(sbi)	(1 << (F2FS_OPTION(sbi).write_io_size_bits + 2)) /* KB */
@@ -271,6 +269,10 @@
 			__le32 i_inode_checksum;/* inode meta checksum */
 			__le64 i_crtime;	/* creation time */
 			__le32 i_crtime_nsec;	/* creation time in nano scale */
+			__le64 i_compr_blocks;	/* # of compressed blocks */
+			__u8 i_compress_algorithm;	/* compress algorithm */
+			__u8 i_log_cluster_size;	/* log of cluster size */
+			__le16 i_padding;		/* padding */
 			__le32 i_extra_end[0];	/* for attribute size calculation */
 		} __packed;
 		__le32 i_addr[DEF_ADDRS_PER_INODE];	/* Pointers to data blocks */
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 66963a1..3a2945c 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1333,6 +1333,12 @@
 #define SB_ACTIVE	(1<<30)
 #define SB_NOUSER	(1<<31)
 
+/* These flags relate to encoding and casefolding */
+#define SB_ENC_STRICT_MODE_FL	(1 << 0)
+
+#define sb_has_enc_strict_mode(sb) \
+	(sb->s_encoding_flags & SB_ENC_STRICT_MODE_FL)
+
 /*
  *	Umount options
  */
@@ -1401,6 +1407,10 @@
 #ifdef CONFIG_FS_VERITY
 	const struct fsverity_operations *s_vop;
 #endif
+#ifdef CONFIG_UNICODE
+	struct unicode_map *s_encoding;
+	__u16 s_encoding_flags;
+#endif
 	struct hlist_bl_head	s_roots;	/* alternate root dentries for NFS */
 	struct list_head	s_mounts;	/* list of mounts; _not_ for fs use */
 	struct block_device	*s_bdev;
@@ -3261,6 +3271,20 @@
 
 extern int generic_check_addressable(unsigned, u64);
 
+#ifdef CONFIG_UNICODE
+extern int generic_ci_d_hash(const struct dentry *dentry, struct qstr *str);
+extern int generic_ci_d_compare(const struct dentry *dentry, unsigned int len,
+				const char *str, const struct qstr *name);
+extern bool needs_casefold(const struct inode *dir);
+#else
+static inline bool needs_casefold(const struct inode *dir)
+{
+	return 0;
+}
+#endif
+extern void generic_set_encrypted_ci_d_ops(struct inode *dir,
+					   struct dentry *dentry);
+
 #ifdef CONFIG_MIGRATION
 extern int buffer_migrate_page(struct address_space *,
 				struct page *, struct page *,
diff --git a/include/linux/fscrypt.h b/include/linux/fscrypt.h
index a298256..989b76e 100644
--- a/include/linux/fscrypt.h
+++ b/include/linux/fscrypt.h
@@ -76,6 +76,21 @@
 	return READ_ONCE(inode->i_crypt_info) != NULL;
 }
 
+/**
+ * fscrypt_needs_contents_encryption() - check whether an inode needs
+ *					 contents encryption
+ *
+ * Return: %true iff the inode is an encrypted regular file and the kernel was
+ * built with fscrypt support.
+ *
+ * If you need to know whether the encrypt bit is set even when the kernel was
+ * built without fscrypt support, you must use IS_ENCRYPTED() directly instead.
+ */
+static inline bool fscrypt_needs_contents_encryption(const struct inode *inode)
+{
+	return IS_ENCRYPTED(inode) && S_ISREG(inode->i_mode);
+}
+
 static inline bool fscrypt_dummy_context_enabled(struct inode *inode)
 {
 	return inode->i_sb->s_cop->dummy_context &&
@@ -123,6 +138,7 @@
 }
 
 extern void fscrypt_free_bounce_page(struct page *bounce_page);
+extern int fscrypt_d_revalidate(struct dentry *dentry, unsigned int flags);
 
 /* policy.c */
 extern int fscrypt_ioctl_set_policy(struct file *, const void __user *);
@@ -159,82 +175,14 @@
 extern int fscrypt_fname_alloc_buffer(const struct inode *, u32,
 				struct fscrypt_str *);
 extern void fscrypt_fname_free_buffer(struct fscrypt_str *);
-extern int fscrypt_fname_disk_to_usr(struct inode *, u32, u32,
-			const struct fscrypt_str *, struct fscrypt_str *);
-
-#define FSCRYPT_FNAME_MAX_UNDIGESTED_SIZE	32
-
-/* Extracts the second-to-last ciphertext block; see explanation below */
-#define FSCRYPT_FNAME_DIGEST(name, len)	\
-	((name) + round_down((len) - FS_CRYPTO_BLOCK_SIZE - 1, \
-			     FS_CRYPTO_BLOCK_SIZE))
-
-#define FSCRYPT_FNAME_DIGEST_SIZE	FS_CRYPTO_BLOCK_SIZE
-
-/**
- * fscrypt_digested_name - alternate identifier for an on-disk filename
- *
- * When userspace lists an encrypted directory without access to the key,
- * filenames whose ciphertext is longer than FSCRYPT_FNAME_MAX_UNDIGESTED_SIZE
- * bytes are shown in this abbreviated form (base64-encoded) rather than as the
- * full ciphertext (base64-encoded).  This is necessary to allow supporting
- * filenames up to NAME_MAX bytes, since base64 encoding expands the length.
- *
- * To make it possible for filesystems to still find the correct directory entry
- * despite not knowing the full on-disk name, we encode any filesystem-specific
- * 'hash' and/or 'minor_hash' which the filesystem may need for its lookups,
- * followed by the second-to-last ciphertext block of the filename.  Due to the
- * use of the CBC-CTS encryption mode, the second-to-last ciphertext block
- * depends on the full plaintext.  (Note that ciphertext stealing causes the
- * last two blocks to appear "flipped".)  This makes accidental collisions very
- * unlikely: just a 1 in 2^128 chance for two filenames to collide even if they
- * share the same filesystem-specific hashes.
- *
- * However, this scheme isn't immune to intentional collisions, which can be
- * created by anyone able to create arbitrary plaintext filenames and view them
- * without the key.  Making the "digest" be a real cryptographic hash like
- * SHA-256 over the full ciphertext would prevent this, although it would be
- * less efficient and harder to implement, especially since the filesystem would
- * need to calculate it for each directory entry examined during a search.
- */
-struct fscrypt_digested_name {
-	u32 hash;
-	u32 minor_hash;
-	u8 digest[FSCRYPT_FNAME_DIGEST_SIZE];
-};
-
-/**
- * fscrypt_match_name() - test whether the given name matches a directory entry
- * @fname: the name being searched for
- * @de_name: the name from the directory entry
- * @de_name_len: the length of @de_name in bytes
- *
- * Normally @fname->disk_name will be set, and in that case we simply compare
- * that to the name stored in the directory entry.  The only exception is that
- * if we don't have the key for an encrypted directory and a filename in it is
- * very long, then we won't have the full disk_name and we'll instead need to
- * match against the fscrypt_digested_name.
- *
- * Return: %true if the name matches, otherwise %false.
- */
-static inline bool fscrypt_match_name(const struct fscrypt_name *fname,
-				      const u8 *de_name, u32 de_name_len)
-{
-	if (unlikely(!fname->disk_name.name)) {
-		const struct fscrypt_digested_name *n =
-			(const void *)fname->crypto_buf.name;
-		if (WARN_ON_ONCE(fname->usr_fname->name[0] != '_'))
-			return false;
-		if (de_name_len <= FSCRYPT_FNAME_MAX_UNDIGESTED_SIZE)
-			return false;
-		return !memcmp(FSCRYPT_FNAME_DIGEST(de_name, de_name_len),
-			       n->digest, FSCRYPT_FNAME_DIGEST_SIZE);
-	}
-
-	if (de_name_len != fname->disk_name.len)
-		return false;
-	return !memcmp(de_name, fname->disk_name.name, fname->disk_name.len);
-}
+extern int fscrypt_fname_disk_to_usr(const struct inode *inode,
+				     u32 hash, u32 minor_hash,
+				     const struct fscrypt_str *iname,
+				     struct fscrypt_str *oname);
+extern bool fscrypt_match_name(const struct fscrypt_name *fname,
+			       const u8 *de_name, u32 de_name_len);
+extern u64 fscrypt_fname_siphash(const struct inode *dir,
+				 const struct qstr *name);
 
 /* bio.c */
 extern void fscrypt_decrypt_bio(struct bio *);
@@ -252,6 +200,8 @@
 				    unsigned int flags);
 extern int __fscrypt_prepare_lookup(struct inode *dir, struct dentry *dentry,
 				    struct fscrypt_name *fname);
+extern int fscrypt_prepare_setflags(struct inode *inode,
+				    unsigned int oldflags, unsigned int flags);
 extern int __fscrypt_prepare_symlink(struct inode *dir, unsigned int len,
 				     unsigned int max_len,
 				     struct fscrypt_str *disk_link);
@@ -268,6 +218,11 @@
 	return false;
 }
 
+static inline bool fscrypt_needs_contents_encryption(const struct inode *inode)
+{
+	return false;
+}
+
 static inline bool fscrypt_dummy_context_enabled(struct inode *inode)
 {
 	return false;
@@ -451,7 +406,7 @@
 	return;
 }
 
-static inline int fscrypt_fname_disk_to_usr(struct inode *inode,
+static inline int fscrypt_fname_disk_to_usr(const struct inode *inode,
 					    u32 hash, u32 minor_hash,
 					    const struct fscrypt_str *iname,
 					    struct fscrypt_str *oname)
@@ -468,6 +423,13 @@
 	return !memcmp(de_name, fname->disk_name.name, fname->disk_name.len);
 }
 
+static inline u64 fscrypt_fname_siphash(const struct inode *dir,
+					const struct qstr *name)
+{
+	WARN_ON_ONCE(1);
+	return 0;
+}
+
 /* bio.c */
 static inline void fscrypt_decrypt_bio(struct bio *bio)
 {
@@ -510,6 +472,13 @@
 	return -EOPNOTSUPP;
 }
 
+static inline int fscrypt_prepare_setflags(struct inode *inode,
+					   unsigned int oldflags,
+					   unsigned int flags)
+{
+	return 0;
+}
+
 static inline int __fscrypt_prepare_symlink(struct inode *dir,
 					    unsigned int len,
 					    unsigned int max_len,
@@ -702,8 +671,9 @@
  * filenames are presented in encrypted form.  Therefore, we'll try to set up
  * the directory's encryption key, but even without it the lookup can continue.
  *
- * This also installs a custom ->d_revalidate() method which will invalidate the
- * dentry if it was created without the key and the key is later added.
+ * After calling this function, a filesystem should ensure that it's dentry
+ * operations contain fscrypt_d_revalidate if DCACHE_ENCRYPTED_NAME was set,
+ * so that the dentry can be invalidated if the key is later added.
  *
  * Return: 0 on success; -ENOENT if key is unavailable but the filename isn't a
  * correctly formed encoded ciphertext name, so a negative dentry should be
diff --git a/include/linux/fsverity.h b/include/linux/fsverity.h
index 3b6b8cc..ecc604e 100644
--- a/include/linux/fsverity.h
+++ b/include/linux/fsverity.h
@@ -77,6 +77,10 @@
 	 *
 	 * @inode: the inode
 	 * @index: 0-based index of the page within the Merkle tree
+	 * @num_ra_pages: The number of Merkle tree pages that should be
+	 *		  prefetched starting at @index if the page at @index
+	 *		  isn't already cached.  Implementations may ignore this
+	 *		  argument; it's only a performance optimization.
 	 *
 	 * This can be called at any time on an open verity file, as well as
 	 * between ->begin_enable_verity() and ->end_enable_verity().  It may be
@@ -87,7 +91,8 @@
 	 * Return: the page on success, ERR_PTR() on failure
 	 */
 	struct page *(*read_merkle_tree_page)(struct inode *inode,
-					      pgoff_t index);
+					      pgoff_t index,
+					      unsigned long num_ra_pages);
 
 	/**
 	 * Write a Merkle tree block to the given inode.
diff --git a/include/linux/gfp.h b/include/linux/gfp.h
index 730b56e..a7ca2fa 100644
--- a/include/linux/gfp.h
+++ b/include/linux/gfp.h
@@ -219,8 +219,13 @@
 #define __GFP_NOLOCKDEP ((__force gfp_t)___GFP_NOLOCKDEP)
 
 /* Room for N __GFP_FOO bits */
-#define __GFP_BITS_SHIFT (24 + IS_ENABLED(CONFIG_LOCKDEP))
+#define __GFP_BITS_SHIFT (25)
+#ifdef CONFIG_LOCKDEP
 #define __GFP_BITS_MASK ((__force gfp_t)((1 << __GFP_BITS_SHIFT) - 1))
+#else
+#define __GFP_BITS_MASK (((__force gfp_t)((1 << __GFP_BITS_SHIFT) - 1)) & \
+				~0x800000u)
+#endif
 
 /**
  * DOC: Useful GFP flag combinations
diff --git a/include/linux/gpio/driver.h b/include/linux/gpio/driver.h
index 01106d1..6e0774d 100644
--- a/include/linux/gpio/driver.h
+++ b/include/linux/gpio/driver.h
@@ -47,11 +47,13 @@
 	 */
 	const struct irq_domain_ops *domain_ops;
 
+#ifdef CONFIG_IRQ_DOMAIN_HIERARCHY
 	/**
 	 * @parent_domain:
 	 *
 	 */
 	struct irq_domain *parent_domain;
+#endif
 
 	/**
 	 * @handler:
diff --git a/include/linux/hid.h b/include/linux/hid.h
index 8b3e5e8..8506637 100644
--- a/include/linux/hid.h
+++ b/include/linux/hid.h
@@ -495,7 +495,7 @@
 };
 
 #define HID_MIN_BUFFER_SIZE	64		/* make sure there is at least a packet size of space */
-#define HID_MAX_BUFFER_SIZE	4096		/* 4kb */
+#define HID_MAX_BUFFER_SIZE	8192		/* 8kb */
 #define HID_CONTROL_FIFO_SIZE	256		/* to init devices with >100 reports */
 #define HID_OUTPUT_FIFO_SIZE	64
 
diff --git a/include/linux/i2c-msm-v2.h b/include/linux/i2c-msm-v2.h
new file mode 100644
index 0000000..6aac342
--- /dev/null
+++ b/include/linux/i2c-msm-v2.h
@@ -0,0 +1,664 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Copyright (c) 2014-2015,2017-2020, The Linux Foundation. All rights reserved.
+ */
+
+/*
+ * I2C controller driver for Qualcomm Technologies Inc platforms
+ */
+
+#ifndef _I2C_MSM_V2_H
+#define _I2C_MSM_V2_H
+
+#include <linux/bitops.h>
+#include <linux/dmaengine.h>
+
+enum msm_i2_debug_level {
+	MSM_ERR,	/* Error messages only. Always on */
+	MSM_PROF,	/* High level events. Use for profiling */
+	MSM_DBG,	/* Low level details. Use for debugging */
+};
+
+#define i2c_msm_dbg(ctrl, dbg_level, fmt, ...) do {\
+		if (ctrl->dbgfs.dbg_lvl >= dbg_level)\
+			dev_info(ctrl->dev, fmt, ##__VA_ARGS__);\
+	} while (0)
+
+#define BIT_IS_SET(val, idx)        ((val >> idx) & 0x1)
+#define BITS_AT(val, idx, n_bits)(((val) & (((1 << n_bits) - 1) << idx)) >> idx)
+#define MASK_IS_SET(val, mask)      ((val & mask) == mask)
+#define MASK_IS_SET_BOOL(val, mask) (MASK_IS_SET(val, mask) ? 1 : 0)
+#define KHz(freq) (1000 * freq)
+#define I2C_MSM_CLK_FAST_PLUS_FREQ  (1000000)
+
+/* QUP Registers */
+enum {
+	QUP_CONFIG              = 0x0,
+	QUP_STATE               = 0x4,
+	QUP_IO_MODES            = 0x8,
+	QUP_SW_RESET            = 0xC,
+	QUP_OPERATIONAL         = 0x18,
+	QUP_ERROR_FLAGS         = 0x1C,
+	QUP_ERROR_FLAGS_EN      = 0x20,
+	QUP_TEST_CTRL           = 0x24,
+	QUP_OPERATIONAL_MASK    = 0x28,
+	QUP_HW_VERSION          = 0x30,
+	QUP_MX_READ_COUNT       = 0x208,
+	QUP_MX_WRITE_COUNT      = 0x150,
+	QUP_MX_OUTPUT_COUNT     = 0x100,
+	QUP_MX_INPUT_COUNT      = 0x200,
+	QUP_MX_WR_CNT           = 0x100,
+	QUP_OUT_DEBUG           = 0x108,
+	QUP_OUT_FIFO_CNT        = 0x10C,
+	QUP_OUT_FIFO_BASE       = 0x110,
+	QUP_IN_READ_CUR         = 0x20C,
+	QUP_IN_DEBUG            = 0x210,
+	QUP_IN_FIFO_CNT         = 0x214,
+	QUP_IN_FIFO_BASE        = 0x218,
+	QUP_I2C_MASTER_CLK_CTL  = 0x400,
+	QUP_I2C_STATUS          = 0x404,
+	QUP_I2C_MASTER_CONFIG   = 0x408,
+	QUP_I2C_MASTER_BUS_CLR  = 0x40C,
+};
+
+/* Register:QUP_STATE state field values */
+enum i2c_msm_qup_state {
+	QUP_STATE_RESET         = 0,
+	QUP_STATE_RUN           = 1U,
+	QUP_STATE_PAUSE         = 3U,
+};
+
+/* Register:QUP_STATE fields */
+enum {
+	QUP_STATE_MASK          = 3U,
+	QUP_STATE_VALID         = BIT(2),
+	QUP_I2C_MAST_GEN        = BIT(4),
+	QUP_I2C_FLUSH           = BIT(6),
+	QUP_I2C_STATUS_RESET    = 0x42,
+};
+
+
+/* Register:QUP_CONFIG fields */
+enum {
+	QUP_MINI_CORE_MASK      = 0xF00,
+	QUP_MINI_CORE_I2C_VAL   = 0x200,
+	QUP_N_MASK              = 0x1F,
+	QUP_N_VAL               = 0x7, /* 0xF for A family */
+	QUP_NO_OUTPUT           = BIT(6),
+	QUP_NO_INPUT            = BIT(7),
+	QUP_APP_CLK_ON_EN       = BIT(12),
+	QUP_CORE_CLK_ON_EN      = BIT(13),
+	QUP_FIFO_CLK_GATE_EN    = BIT(14),
+};
+
+/* Register:QUP_OPERATIONAL fields */
+enum {
+	QUP_INPUT_FIFO_NOT_EMPTY = BIT(5),
+	QUP_OUTPUT_SERVICE_FLAG  = BIT(8),
+	QUP_INPUT_SERVICE_FLAG   = BIT(9),
+	QUP_MAX_OUTPUT_DONE_FLAG = BIT(10),
+	QUP_MAX_INPUT_DONE_FLAG  = BIT(11),
+	QUP_OUT_BLOCK_WRITE_REQ  = BIT(12),
+	QUP_IN_BLOCK_READ_REQ    = BIT(13),
+};
+
+/* Register:QUP_OPERATIONAL_MASK fields */
+enum {
+	QUP_INPUT_SERVICE_MASK  = BIT(9),
+	QUP_OUTPUT_SERVICE_MASK = BIT(8),
+};
+
+/* Register:QUP_IO_MODES fields */
+enum {
+	QUP_OUTPUT_MODE         = BIT(10) | BIT(11),
+	QUP_INPUT_MODE          = BIT(12) | BIT(13),
+	QUP_UNPACK_EN           = BIT(14),
+	QUP_PACK_EN             = BIT(15),
+	QUP_OUTPUT_BIT_SHIFT_EN = BIT(16),
+};
+
+/* Register:QUP_I2C_STATUS (a.k.a I2C_MASTER_STATUS) fields */
+enum {
+	QUP_BUS_ERROR           = BIT(2),
+	QUP_PACKET_NACKED       = BIT(3),
+	QUP_ARB_LOST            = BIT(4),
+	QUP_INVALID_WRITE       = BIT(5),
+	QUP_FAILED              = BIT(6),
+	QUP_BUS_ACTIVE          = BIT(8),
+	QUP_BUS_MASTER          = BIT(9),
+	QUP_INVALID_TAG         = BIT(23),
+	QUP_INVALID_READ_ADDR   = BIT(24),
+	QUP_INVALID_READ_SEQ    = BIT(25),
+	QUP_I2C_SDA             = BIT(26),
+	QUP_I2C_SCL             = BIT(27),
+	QUP_MSTR_STTS_ERR_MASK  = 0x380003C,
+};
+
+/* Register:QUP_I2C_MASTER_CONFIG fields */
+enum {
+	QUP_EN_VERSION_TWO_TAG  = 1U,
+};
+
+/* Register:QUP_I2C_MASTER_CLK_CTL field setters */
+#define I2C_MSM_SCL_NOISE_REJECTION(reg_val, noise_rej_val) \
+		(((reg_val) & ~(0x3 << 24)) | (((noise_rej_val) & 0x3) << 24))
+#define I2C_MSM_SDA_NOISE_REJECTION(reg_val, noise_rej_val) \
+		(((reg_val) & ~(0x3 << 26)) | (((noise_rej_val) & 0x3) << 26))
+
+/* Register:QUP_ERROR_FLAGS_EN flags */
+enum {
+	QUP_OUTPUT_OVER_RUN_ERR_EN  = BIT(5),
+	QUP_INPUT_UNDER_RUN_ERR_EN  = BIT(4),
+	QUP_OUTPUT_UNDER_RUN_ERR_EN = BIT(3),
+	QUP_INPUT_OVER_RUN_ERR_EN   = BIT(2),
+};
+
+/* Status, Error flags */
+enum {
+	I2C_STATUS_WR_BUFFER_FULL  = BIT(0),
+	I2C_STATUS_BUS_ACTIVE      = BIT(8),
+	I2C_STATUS_BUS_MASTER      = BIT(9),
+	I2C_STATUS_ERROR_MASK      = 0x38000FC,
+	QUP_I2C_NACK_FLAG          = BIT(3),
+	QUP_IN_NOT_EMPTY           = BIT(5),
+	QUP_ERR_FLGS_MASK           = 0x3C,
+};
+
+/* Master status clock states */
+enum {
+	I2C_CLK_RESET_BUSIDLE_STATE = 0,
+	I2C_CLK_FORCED_LOW_STATE    = 5,
+};
+
+/* Controller's power state */
+enum i2c_msm_power_state {
+	I2C_MSM_PM_RT_ACTIVE,
+	I2C_MSM_PM_RT_SUSPENDED,
+	I2C_MSM_PM_SYS_SUSPENDED
+};
+
+/*
+ * The max buffer size required for tags is for holding the following sequence:
+ * [start] + [start | slv-addr] + [ rd/wr | len]
+ * which sum up to 6 bytes. However, we use u64 to hold the value, thus we say
+ * that max length is 8 bytes.
+ */
+#define I2C_MSM_TAG2_MAX_LEN            (4)
+#define I2C_MSM_DMA_TX_SZ             (64) /* tx chan n entries */
+#define I2C_MSM_DMA_RX_SZ             (32) /* rx chan n entries */
+#define I2C_MSM_DMA_DESC_ARR_SIZ  (I2C_MSM_DMA_TX_SZ + I2C_MSM_DMA_RX_SZ)
+#define I2C_MSM_REG_2_STR_BUF_SZ        (128)
+/* Optimal value to hold the error strings */
+#define I2C_MSM_MAX_ERR_BUF_SZ		(256)
+#define I2C_MSM_BUF_DUMP_MAX_BC         (20)
+#define I2C_MSM_MAX_POLL_MSEC           (100)
+#define I2C_MSM_TIMEOUT_SAFETY_COEF     (10)
+#define I2C_MSM_TIMEOUT_MIN_USEC        (500000)
+
+/* QUP v2 tags */
+#define QUP_TAG2_DATA_WRITE        (0x82ULL)
+#define QUP_TAG2_DATA_WRITE_N_STOP (0x83ULL)
+#define QUP_TAG2_DATA_READ         (0x85ULL)
+#define QUP_TAG2_DATA_READ_N_STOP  (0x87ULL)
+#define QUP_TAG2_START             (0x81ULL)
+#define QUP_TAG2_DATA_READ_N_NACK  (0x86ULL)
+#define QUP_TAG2_START_STOP        (0x8AULL)
+#define QUP_TAG2_INPUT_EOT         (0x93ULL)
+#define QUP_TAG2_FLUSH_STOP        (0x96ULL)
+#define QUP_BUF_OVERHD_BC          (2)
+#define QUP_MAX_BUF_SZ             (256)
+
+enum i2c_msm_clk_path_vec_idx {
+	I2C_MSM_CLK_PATH_SUSPEND_VEC,
+	I2C_MSM_CLK_PATH_RESUME_VEC,
+};
+#define I2C_MSM_CLK_PATH_AVRG_BW(ctrl) (0)
+/*
+ * Reducing the frequency by 1 to make sure it is less than 19.2MHz
+ * so that we don't need RPM ack to unvote which will work only if vote
+ * is less than or equal to 19.2MHz. To be on the safe side we are decreasing
+ * frequency by 1.
+ */
+#define I2C_MSM_CLK_PATH_BRST_BW(ctrl) ((ctrl->rsrcs.clk_freq_in - 1) * 4)
+
+enum i2c_msm_gpio_name_idx {
+	I2C_MSM_GPIO_SCL,
+	I2C_MSM_GPIO_SDA,
+};
+
+extern const char * const i2c_msm_mode_str_tbl[];
+
+struct i2c_msm_ctrl;
+
+/*
+ *  i2c_msm_dma_mem: utility struct which holds both physical and virtual addr
+ */
+struct i2c_msm_dma_mem {
+	dma_addr_t               phy_addr;
+	void                    *vrtl_addr;
+};
+
+/*
+ * i2c_msm_tag: tag's data and its length.
+ *
+ * @len tag len can be two, four or six bytes.
+ */
+struct i2c_msm_tag {
+	u64                    val;
+	int                    len;
+};
+
+/*
+ * i2c_msm_dma_tag: similar to struct i2c_msm_tag but holds physical address.
+ *
+ * @buf physical address of entry in the tag_arr of
+ *          struct i2c_msm_xfer_mode_dma
+ * @len tag len.
+ *
+ * Hold the information from i2c_msm_dma_xfer_prepare() which is used by
+ * i2c_msm_dma_xfer_process() and freed by i2c_msm_dma_xfer_unprepare()
+ */
+struct i2c_msm_dma_tag {
+	dma_addr_t             buf;
+	size_t                 len;
+};
+
+/*
+ * i2c_msm_dma_buf: dma mapped pointer to i2c_msg data buffer and related tag
+ * @vir_addr ptr to i2c_msg buf beginning or with offset (when buf len > 256)
+ */
+struct i2c_msm_dma_buf {
+	struct i2c_msm_dma_mem   ptr;
+	enum dma_data_direction  dma_dir;
+	size_t                   len;
+	bool                     is_rx;
+	bool                     is_last;
+	struct i2c_msm_dma_tag   tag;
+	/* DMA API */
+	struct scatterlist	sg_list[2];
+};
+
+/*
+ * i2c_msm_dma_chan: per channel info
+ *
+ * @is_init true when the channel is initialized and requires eventual teardown.
+ * @name channel name (tx/rx) for debugging.
+ * @desc_cnt_cur number of occupied descriptors
+ */
+struct i2c_msm_dma_chan {
+	bool                     is_init;
+	const char              *name;
+	size_t                   desc_cnt_cur;
+	struct dma_chan         *dma_chan;
+	enum dma_transfer_direction dir;
+};
+
+enum i2c_msm_dma_chan_dir {
+	I2C_MSM_DMA_TX,
+	I2C_MSM_DMA_RX,
+	I2C_MSM_DMA_CNT,
+};
+
+enum i2c_msm_dma_state {
+	I2C_MSM_DMA_INIT_NONE, /* Uninitialized  DMA */
+	I2C_MSM_DMA_INIT_CORE, /* Core init not channels, memory Allocated */
+	I2C_MSM_DMA_INIT_CHAN, /* Both Core and channels are init */
+};
+
+/*
+ * struct i2c_msm_xfer_mode_dma: DMA mode configuration and work space
+ *
+ * @state   specifies the DMA core and channel initialization states.
+ * @buf_arr_cnt current number of valid buffers in buf_arr. The valid buffers
+ *          are at index 0..buf_arr_cnt excluding buf_arr_cnt.
+ * @buf_arr array of descriptors which point to the user's buffer
+ *     virtual and physical address, and hold meta data about the buffer
+ *     and respective tag.
+ * @tag_arr array of tags in DMAable memory. Holds a tag per buffer of the same
+ *          index, that is tag_arr[i] is related to buf_arr[i]. Also, tag_arr[i]
+ *          is queued in the tx channel just before buf_arr[i] is queued in
+ *          the tx (output buf) or rx channel (input buffer).
+ * @eot_n_flush_stop_tags EOT and flush-stop tags to be queued to the tx
+ *          DMA channel after the last transfer when it is a read.
+ * @input_tag hw is placing input tags in the rx channel on read operations.
+ *          The value of these tags is "don't care" from DMA transfer
+ *          perspective. Thus, this single buffer is used for all the input
+ *          tags. The field is used as write only.
+ */
+struct i2c_msm_xfer_mode_dma {
+	enum i2c_msm_dma_state   state;
+	size_t                   buf_arr_cnt;
+	struct i2c_msm_dma_buf   buf_arr[I2C_MSM_DMA_DESC_ARR_SIZ];
+	struct i2c_msm_dma_mem   tag_arr;
+	struct i2c_msm_dma_mem   eot_n_flush_stop_tags;
+	struct i2c_msm_dma_mem   input_tag;
+	struct i2c_msm_dma_chan  chan[I2C_MSM_DMA_CNT];
+};
+
+/*
+ * I2C_MSM_DMA_TAG_MEM_SZ includes the following fields of
+ * struct i2c_msm_xfer_mode_dma (in order):
+ *
+ * Buffer of DMA memory:
+ * +-----------+---------+-----------+-----------+----+-----------+
+ * | input_tag | eot_... | tag_arr 0 | tag_arr 1 | .. | tag_arr n |
+ * +-----------+---------+-----------+-----------+----+-----------+
+ *
+ * Why +2?
+ * One tag buffer for the input tags. This is a write only buffer for DMA, it is
+ *    used to read the tags of the input fifo. We let them overwrite each other,
+ *    since it is a throw-away from the driver's perspective.
+ * Second tag buffer for the EOT and flush-stop tags. This is a read only
+ *    buffer (from DMA perspective). It is used to put EOT and flush-stop at the
+ *    end of every transaction.
+ */
+#define I2C_MSM_DMA_TAG_MEM_SZ  \
+	((I2C_MSM_DMA_DESC_ARR_SIZ + 2) * I2C_MSM_TAG2_MAX_LEN)
+
+/*
+ * i2c_msm_xfer_mode_fifo: operations and state of FIFO mode
+ *
+ * @ops     "base class" of i2c_msm_xfer_mode_dma. Contains the operations while
+ *          the rest of the fields contain the data.
+ * @input_fifo_sz input fifo size in bytes
+ * @output_fifo_sz output fifo size in bytes
+ * @in_rem  remaining u32 entries in input FIFO before empty
+ * @out_rem remaining u32 entries in output FIFO before full
+ * @out_buf buffer for collecting bytes to four bytes groups (u32) before
+ *          writing them to the output fifo.
+ * @out_buf_idx next free index in out_buf. 0..3
+ */
+struct i2c_msm_xfer_mode_fifo {
+	size_t                   input_fifo_sz;
+	size_t                   output_fifo_sz;
+	size_t                   in_rem;
+	size_t                   out_rem;
+	u8                       out_buf[4];
+	int                      out_buf_idx;
+};
+
+/* i2c_msm_xfer_mode_blk: operations and state of Block mode
+ *
+ * @is_init when true, struct is initialized and requires mem free on exit
+ * @in_blk_sz size of input/rx block
+ * @out_blk_sz size of output/tx block
+ * @tx_cache internal buffer to store tx data
+ * @rx_cache internal buffer to store rx data
+ * @rx_cache_idx points to the next unread index in rx cache
+ * @tx_cache_idx points to the next unwritten index in tx cache
+ * @wait_rx_blk completion object to wait on for end of blk rx transfer.
+ * @wait_tx_blk completion object to wait on for end of blk tx transfer.
+ * @complete_mask applied to QUP_OPERATIONAL to determine when blk
+ *  xfer is complete.
+ */
+struct i2c_msm_xfer_mode_blk {
+	bool                     is_init;
+	size_t                   in_blk_sz;
+	size_t                   out_blk_sz;
+	u8                       *tx_cache;
+	u8                       *rx_cache;
+	int                      rx_cache_idx;
+	int                      tx_cache_idx;
+	struct completion        wait_rx_blk;
+	struct completion        wait_tx_blk;
+	u32                      complete_mask;
+};
+
+/* INPUT_MODE and OUTPUT_MODE filds of QUP_IO_MODES register */
+enum i2c_msm_xfer_mode_id {
+	I2C_MSM_XFER_MODE_FIFO,
+	I2C_MSM_XFER_MODE_BLOCK,
+	I2C_MSM_XFER_MODE_DMA,
+	I2C_MSM_XFER_MODE_NONE, /* keep last as a counter */
+};
+
+
+struct i2c_msm_dbgfs {
+	struct dentry             *root;
+	enum msm_i2_debug_level    dbg_lvl;
+	enum i2c_msm_xfer_mode_id  force_xfer_mode;
+};
+
+/*
+ * qup_i2c_clk_path_vote: data to use bus scaling driver for clock path vote
+ *
+ * @mstr_id master id number of the i2c core or its wrapper (BLSP/GSBI).
+ *       When zero, clock path voting is disabled.
+ * @client_hdl when zero, client is not registered with the bus scaling driver,
+ *      and bus scaling functionality should not be used. When non zero, it
+ *      is a bus scaling client id and may be used to vote for clock path.
+ * @reg_err when true, registration error was detected and an error message was
+ *      logged. i2c will attempt to re-register but will log error only once.
+ *      once registration succeed, the flag is set to false.
+ * @actv_only when set, votes when system active and removes the vote when
+ *       system goes idle (optimises for performance). When unset, voting using
+ *       runtime pm (optimizes for power).
+ */
+struct qup_i2c_clk_path_vote {
+	u32                         mstr_id;
+	u32                         client_hdl;
+	struct msm_bus_scale_pdata *pdata;
+	bool                        reg_err;
+	bool                        actv_only;
+};
+
+/*
+ * i2c_msm_resources: OS resources
+ *
+ * @mem  I2C controller memory resource from platform data.
+ * @base I2C controller virtual base address
+ * @clk_freq_in core clock frequency in Hz
+ * @clk_freq_out bus clock frequency in Hz
+ */
+struct i2c_msm_resources {
+	struct resource             *mem;
+	void __iomem                *base; /* virtual */
+	struct clk                  *core_clk;
+	struct clk                  *iface_clk;
+	int                          clk_freq_in;
+	int                          clk_freq_out;
+	struct qup_i2c_clk_path_vote clk_path_vote;
+	int                          irq;
+	bool                         disable_dma;
+	struct pinctrl              *pinctrl;
+	struct pinctrl_state        *gpio_state_active;
+	struct pinctrl_state        *gpio_state_suspend;
+};
+
+#define I2C_MSM_PINCTRL_ACTIVE       "i2c_active"
+#define I2C_MSM_PINCTRL_SUSPEND      "i2c_sleep"
+
+/*
+ * i2c_msm_xfer_buf: current xfer position and preprocessed tags
+ *
+ * @is_init the buf is marked initialized by the first call to
+ *          i2c_msm_xfer_next_buf()
+ * @msg_idx   index of the message that the buffer is pointing to
+ * @byte_idx  index of first byte in the current buffer
+ * @end_idx   count of bytes processed from the current message. This value
+ *            is compared against len to find out if buffer is done processing.
+ * @len       number of bytes in current buffer.
+ * @is_rx when true, current buffer is pointing to a i2c read operation.
+ * @slv_addr 8 bit address. This is the i2c_msg->addr + rd/wr bit.
+ *
+ * Keep track of current position in the client's transfer request and
+ * pre-process a transfer's buffer and tags.
+ */
+struct i2c_msm_xfer_buf {
+	bool                       is_init;
+	int                        msg_idx;
+	int                        byte_idx;
+	int                        end_idx;
+	int                        len;
+	bool                       is_rx;
+	bool                       is_last;
+	u16                        slv_addr;
+	struct i2c_msm_tag         in_tag;
+	struct i2c_msm_tag         out_tag;
+};
+
+#ifdef DEBUG
+#define I2C_MSM_PROF_MAX_EVNTS   (64)
+#else
+#define I2C_MSM_PROF_MAX_EVNTS   (16)
+#endif
+
+/*
+ * i2c_msm_prof_event: profiling event
+ *
+ * @data Additional data about the event. The interpretation of the data is
+ *       dependent on the type field.
+ * @type event type (see enum i2c_msm_prof_event_type)
+ */
+struct i2c_msm_prof_event {
+	struct timespec time;
+	u64             data0;
+	u32             data1;
+	u32             data2;
+	u8              type;
+	u8              dump_func_id;
+};
+
+enum i2c_msm_err {
+	I2C_MSM_NO_ERR = 0,
+	I2C_MSM_ERR_NACK,
+	I2C_MSM_ERR_ARB_LOST,
+	I2C_MSM_ERR_BUS_ERR,
+	I2C_MSM_ERR_TIMEOUT,
+	I2C_MSM_ERR_CORE_CLK,
+	I2C_MSM_ERR_OVR_UNDR_RUN,
+};
+
+/*
+ * i2c_msm_xfer: A client transfer request. A list of one or more i2c messages
+ *
+ * @msgs         NULL when no active xfer. Points to array of i2c_msgs
+ *               given by the client.
+ * @msg_cnt      number of messages in msgs array.
+ * @complete     completion object to wait on for end of transfer.
+ * @rx_cnt       number of input  bytes in the client's request.
+ * @tx_cnt       number of output bytes in the client's request.
+ * @rx_ovrhd_cnt number of input  bytes due to tags.
+ * @tx_ovrhd_cnt number of output bytes due to tags.
+ * @event        profiling data. An array of timestamps of transfer events
+ * @event_cnt    number of items in event array.
+ * @is_active    true during xfer process and false after xfer end
+ * @mtx          mutex to solve multithreaded problem in xfer
+ */
+struct i2c_msm_xfer {
+	struct i2c_msg            *msgs;
+	int                        msg_cnt;
+	enum i2c_msm_xfer_mode_id  mode_id;
+	struct completion          complete;
+	struct completion          rx_complete;
+	size_t                     rx_cnt;
+	size_t                     tx_cnt;
+	size_t                     rx_ovrhd_cnt;
+	size_t                     tx_ovrhd_cnt;
+	struct i2c_msm_xfer_buf    cur_buf;
+	u32                        timeout;
+	bool                       last_is_rx;
+	enum i2c_msm_err           err;
+	struct i2c_msm_prof_event  event[I2C_MSM_PROF_MAX_EVNTS];
+	atomic_t                   event_cnt;
+	atomic_t                   is_active;
+	struct mutex               mtx;
+	struct i2c_msm_xfer_mode_fifo	fifo;
+	struct i2c_msm_xfer_mode_blk	blk;
+	struct i2c_msm_xfer_mode_dma	dma;
+};
+
+/*
+ * i2c_msm_ctrl: the driver's main struct
+ *
+ * @is_init true when
+ * @ver info that is different between i2c controller versions
+ * @ver_num  ha
+ * @xfer     state of the currently processed transfer.
+ * @dbgfs    debug-fs root and values that may be set via debug-fs.
+ * @rsrcs    resources from platform data including clocks, gpios, irqs, and
+ *           memory regions.
+ * @mstr_clk_ctl cached value for programming to mstr_clk_ctl register
+ * @i2c_sts_reg	 status of QUP_I2C_MASTER_STATUS register.
+ * @qup_op_reg	 status of QUP_OPERATIONAL register.
+ */
+struct i2c_msm_ctrl {
+	struct device             *dev;
+	struct i2c_adapter         adapter;
+	struct i2c_msm_xfer        xfer;
+	struct i2c_msm_dbgfs       dbgfs;
+	struct i2c_msm_resources   rsrcs;
+	u32                        mstr_clk_ctl;
+	u32			   i2c_sts_reg;
+	u32			   qup_op_reg;
+	enum i2c_msm_power_state   pwr_state;
+};
+
+/* Enum for the profiling event types */
+enum i2c_msm_prof_evnt_type {
+	I2C_MSM_VALID_END,
+	I2C_MSM_PIP_DSCN,
+	I2C_MSM_PIP_CNCT,
+	I2C_MSM_ACTV_END,
+	I2C_MSM_IRQ_BGN,
+	I2C_MSM_IRQ_END,
+	I2C_MSM_XFER_BEG,
+	I2C_MSM_XFER_END,
+	I2C_MSM_SCAN_SUM,
+	I2C_MSM_NEXT_BUF,
+	I2C_MSM_COMPLT_OK,
+	I2C_MSM_COMPLT_FL,
+	I2C_MSM_PROF_RESET,
+};
+
+#ifdef CONFIG_I2C_MSM_PROF_DBG
+void i2c_msm_dbgfs_init(struct i2c_msm_ctrl *ctrl);
+
+void i2c_msm_dbgfs_teardown(struct i2c_msm_ctrl *ctrl);
+
+/* diagonisis the i2c registers and dump the errors accordingly */
+const char *i2c_msm_dbg_tag_to_str(const struct i2c_msm_tag *tag,
+						char *buf, size_t buf_len);
+
+void i2c_msm_prof_evnt_dump(struct i2c_msm_ctrl *ctrl);
+
+/* function definitions to be used from the i2c-msm-v2-debug file */
+void i2c_msm_prof_evnt_add(struct i2c_msm_ctrl *ctrl,
+				enum msm_i2_debug_level dbg_level,
+				enum i2c_msm_prof_evnt_type event,
+				u64 data0, u32 data1, u32 data2);
+
+int i2c_msm_dbg_qup_reg_dump(struct i2c_msm_ctrl *ctrl);
+
+const char *
+i2c_msm_dbg_dma_tag_to_str(const struct i2c_msm_dma_tag *dma_tag, char *buf,
+								size_t buf_len);
+#else
+/* use dummy functions */
+static inline void i2c_msm_dbgfs_init(struct i2c_msm_ctrl *ctrl) {}
+static inline void i2c_msm_dbgfs_teardown(struct i2c_msm_ctrl *ctrl) {}
+
+static inline const char *i2c_msm_dbg_tag_to_str(const struct i2c_msm_tag *tag,
+						char *buf, size_t buf_len)
+{
+	return NULL;
+}
+static inline void i2c_msm_prof_evnt_dump(struct i2c_msm_ctrl *ctrl) {}
+
+/* function definitions to be used from the i2c-msm-v2-debug file */
+static inline void i2c_msm_prof_evnt_add(struct i2c_msm_ctrl *ctrl,
+				enum msm_i2_debug_level dbg_level,
+				enum i2c_msm_prof_evnt_type event,
+				u64 data0, u32 data1, u32 data2) {}
+
+static inline int i2c_msm_dbg_qup_reg_dump(struct i2c_msm_ctrl *ctrl)
+{
+	return true;
+}
+static inline const char *i2c_msm_dbg_dma_tag_to_str(const struct
+			i2c_msm_dma_tag * dma_tag, char *buf, size_t buf_len)
+{
+	return NULL;
+}
+#endif /* I2C_MSM_V2_PROF_DBG */
+#endif /* _I2C_MSM_V2_H */
diff --git a/include/linux/iio/consumer.h b/include/linux/iio/consumer.h
index 9887f4f..11e95d9 100644
--- a/include/linux/iio/consumer.h
+++ b/include/linux/iio/consumer.h
@@ -289,6 +289,15 @@
  */
 int iio_read_avail_channel_raw(struct iio_channel *chan,
 			       const int **vals, int *length);
+/**
+ * iio_write_channel_processed() - write to a given channel
+ * @chan:		The channel being queried.
+ * @val:		Value being written.
+ *
+ * Note processed writes to iio channels are converted to raw
+ * values before being written.
+ */
+int iio_write_channel_processed(struct iio_channel *chan, int val);
 
 /**
  * iio_get_channel_type() - get the type of a channel
diff --git a/include/linux/input.h b/include/linux/input.h
index 7c7516e..dcf02073 100644
--- a/include/linux/input.h
+++ b/include/linux/input.h
@@ -36,6 +36,13 @@
 	__s32 value;
 };
 
+enum input_clock_type {
+	INPUT_CLK_REAL = 0,
+	INPUT_CLK_MONO,
+	INPUT_CLK_BOOT,
+	INPUT_CLK_MAX
+};
+
 /**
  * struct input_dev - represents an input device
  * @name: name of the device
@@ -117,6 +124,8 @@
  * @vals: array of values queued in the current frame
  * @devres_managed: indicates that devices is managed with devres framework
  *	and needs not be explicitly unregistered or freed.
+ * @timestamp: storage for a timestamp set by input_set_timestamp called
+ *  by a driver
  */
 struct input_dev {
 	const char *name;
@@ -187,6 +196,8 @@
 	struct input_value *vals;
 
 	bool devres_managed;
+
+	ktime_t timestamp[INPUT_CLK_MAX];
 };
 #define to_input_dev(d) container_of(d, struct input_dev, dev)
 
@@ -385,6 +396,9 @@
 
 int input_flush_device(struct input_handle *handle, struct file *file);
 
+void input_set_timestamp(struct input_dev *dev, ktime_t timestamp);
+ktime_t *input_get_timestamp(struct input_dev *dev);
+
 void input_event(struct input_dev *dev, unsigned int type, unsigned int code, int value);
 void input_inject_event(struct input_handle *handle, unsigned int type, unsigned int code, int value);
 
diff --git a/include/linux/intel-svm.h b/include/linux/intel-svm.h
index 99bc5b3..733eaf9 100644
--- a/include/linux/intel-svm.h
+++ b/include/linux/intel-svm.h
@@ -130,7 +130,7 @@
 	BUG();
 }
 
-static int intel_svm_is_pasid_valid(struct device *dev, int pasid)
+static inline int intel_svm_is_pasid_valid(struct device *dev, int pasid)
 {
 	return -EINVAL;
 }
diff --git a/include/linux/irq.h b/include/linux/irq.h
index 60b5bc9..2e9da0e 100644
--- a/include/linux/irq.h
+++ b/include/linux/irq.h
@@ -208,6 +208,8 @@
  * IRQD_SINGLE_TARGET		- IRQ allows only a single affinity target
  * IRQD_DEFAULT_TRIGGER_SET	- Expected trigger already been set
  * IRQD_CAN_RESERVE		- Can use reservation mode
+ * IRQD_MSI_NOMASK_QUIRK	- Non-maskable MSI quirk for affinity change
+ *				  required
  */
 enum {
 	IRQD_TRIGGER_MASK		= 0xf,
@@ -230,6 +232,7 @@
 	IRQD_SINGLE_TARGET		= (1 << 24),
 	IRQD_DEFAULT_TRIGGER_SET	= (1 << 25),
 	IRQD_CAN_RESERVE		= (1 << 26),
+	IRQD_MSI_NOMASK_QUIRK		= (1 << 27),
 };
 
 #define __irqd_to_state(d) ACCESS_PRIVATE((d)->common, state_use_accessors)
@@ -389,6 +392,21 @@
 	return __irqd_to_state(d) & IRQD_CAN_RESERVE;
 }
 
+static inline void irqd_set_msi_nomask_quirk(struct irq_data *d)
+{
+	__irqd_to_state(d) |= IRQD_MSI_NOMASK_QUIRK;
+}
+
+static inline void irqd_clr_msi_nomask_quirk(struct irq_data *d)
+{
+	__irqd_to_state(d) &= ~IRQD_MSI_NOMASK_QUIRK;
+}
+
+static inline bool irqd_msi_nomask_quirk(struct irq_data *d)
+{
+	return __irqd_to_state(d) & IRQD_MSI_NOMASK_QUIRK;
+}
+
 #undef __irqd_to_state
 
 static inline irq_hw_number_t irqd_to_hwirq(struct irq_data *d)
diff --git a/include/linux/irqchip/arm-gic-v3.h b/include/linux/irqchip/arm-gic-v3.h
index 3188c0b..1d21e98 100644
--- a/include/linux/irqchip/arm-gic-v3.h
+++ b/include/linux/irqchip/arm-gic-v3.h
@@ -165,7 +165,7 @@
 #define GICR_PROPBASER_nCnB	GIC_BASER_CACHEABILITY(GICR_PROPBASER, INNER, nCnB)
 #define GICR_PROPBASER_nC 	GIC_BASER_CACHEABILITY(GICR_PROPBASER, INNER, nC)
 #define GICR_PROPBASER_RaWt	GIC_BASER_CACHEABILITY(GICR_PROPBASER, INNER, RaWt)
-#define GICR_PROPBASER_RaWb	GIC_BASER_CACHEABILITY(GICR_PROPBASER, INNER, RaWt)
+#define GICR_PROPBASER_RaWb	GIC_BASER_CACHEABILITY(GICR_PROPBASER, INNER, RaWb)
 #define GICR_PROPBASER_WaWt	GIC_BASER_CACHEABILITY(GICR_PROPBASER, INNER, WaWt)
 #define GICR_PROPBASER_WaWb	GIC_BASER_CACHEABILITY(GICR_PROPBASER, INNER, WaWb)
 #define GICR_PROPBASER_RaWaWt	GIC_BASER_CACHEABILITY(GICR_PROPBASER, INNER, RaWaWt)
@@ -192,7 +192,7 @@
 #define GICR_PENDBASER_nCnB	GIC_BASER_CACHEABILITY(GICR_PENDBASER, INNER, nCnB)
 #define GICR_PENDBASER_nC 	GIC_BASER_CACHEABILITY(GICR_PENDBASER, INNER, nC)
 #define GICR_PENDBASER_RaWt	GIC_BASER_CACHEABILITY(GICR_PENDBASER, INNER, RaWt)
-#define GICR_PENDBASER_RaWb	GIC_BASER_CACHEABILITY(GICR_PENDBASER, INNER, RaWt)
+#define GICR_PENDBASER_RaWb	GIC_BASER_CACHEABILITY(GICR_PENDBASER, INNER, RaWb)
 #define GICR_PENDBASER_WaWt	GIC_BASER_CACHEABILITY(GICR_PENDBASER, INNER, WaWt)
 #define GICR_PENDBASER_WaWb	GIC_BASER_CACHEABILITY(GICR_PENDBASER, INNER, WaWb)
 #define GICR_PENDBASER_RaWaWt	GIC_BASER_CACHEABILITY(GICR_PENDBASER, INNER, RaWaWt)
@@ -251,7 +251,7 @@
 #define GICR_VPROPBASER_nCnB	GIC_BASER_CACHEABILITY(GICR_VPROPBASER, INNER, nCnB)
 #define GICR_VPROPBASER_nC 	GIC_BASER_CACHEABILITY(GICR_VPROPBASER, INNER, nC)
 #define GICR_VPROPBASER_RaWt	GIC_BASER_CACHEABILITY(GICR_VPROPBASER, INNER, RaWt)
-#define GICR_VPROPBASER_RaWb	GIC_BASER_CACHEABILITY(GICR_VPROPBASER, INNER, RaWt)
+#define GICR_VPROPBASER_RaWb	GIC_BASER_CACHEABILITY(GICR_VPROPBASER, INNER, RaWb)
 #define GICR_VPROPBASER_WaWt	GIC_BASER_CACHEABILITY(GICR_VPROPBASER, INNER, WaWt)
 #define GICR_VPROPBASER_WaWb	GIC_BASER_CACHEABILITY(GICR_VPROPBASER, INNER, WaWb)
 #define GICR_VPROPBASER_RaWaWt	GIC_BASER_CACHEABILITY(GICR_VPROPBASER, INNER, RaWaWt)
@@ -277,7 +277,7 @@
 #define GICR_VPENDBASER_nCnB	GIC_BASER_CACHEABILITY(GICR_VPENDBASER, INNER, nCnB)
 #define GICR_VPENDBASER_nC 	GIC_BASER_CACHEABILITY(GICR_VPENDBASER, INNER, nC)
 #define GICR_VPENDBASER_RaWt	GIC_BASER_CACHEABILITY(GICR_VPENDBASER, INNER, RaWt)
-#define GICR_VPENDBASER_RaWb	GIC_BASER_CACHEABILITY(GICR_VPENDBASER, INNER, RaWt)
+#define GICR_VPENDBASER_RaWb	GIC_BASER_CACHEABILITY(GICR_VPENDBASER, INNER, RaWb)
 #define GICR_VPENDBASER_WaWt	GIC_BASER_CACHEABILITY(GICR_VPENDBASER, INNER, WaWt)
 #define GICR_VPENDBASER_WaWb	GIC_BASER_CACHEABILITY(GICR_VPENDBASER, INNER, WaWb)
 #define GICR_VPENDBASER_RaWaWt	GIC_BASER_CACHEABILITY(GICR_VPENDBASER, INNER, RaWaWt)
@@ -351,7 +351,7 @@
 #define GITS_CBASER_nCnB	GIC_BASER_CACHEABILITY(GITS_CBASER, INNER, nCnB)
 #define GITS_CBASER_nC		GIC_BASER_CACHEABILITY(GITS_CBASER, INNER, nC)
 #define GITS_CBASER_RaWt	GIC_BASER_CACHEABILITY(GITS_CBASER, INNER, RaWt)
-#define GITS_CBASER_RaWb	GIC_BASER_CACHEABILITY(GITS_CBASER, INNER, RaWt)
+#define GITS_CBASER_RaWb	GIC_BASER_CACHEABILITY(GITS_CBASER, INNER, RaWb)
 #define GITS_CBASER_WaWt	GIC_BASER_CACHEABILITY(GITS_CBASER, INNER, WaWt)
 #define GITS_CBASER_WaWb	GIC_BASER_CACHEABILITY(GITS_CBASER, INNER, WaWb)
 #define GITS_CBASER_RaWaWt	GIC_BASER_CACHEABILITY(GITS_CBASER, INNER, RaWaWt)
@@ -375,7 +375,7 @@
 #define GITS_BASER_nCnB		GIC_BASER_CACHEABILITY(GITS_BASER, INNER, nCnB)
 #define GITS_BASER_nC		GIC_BASER_CACHEABILITY(GITS_BASER, INNER, nC)
 #define GITS_BASER_RaWt		GIC_BASER_CACHEABILITY(GITS_BASER, INNER, RaWt)
-#define GITS_BASER_RaWb		GIC_BASER_CACHEABILITY(GITS_BASER, INNER, RaWt)
+#define GITS_BASER_RaWb		GIC_BASER_CACHEABILITY(GITS_BASER, INNER, RaWb)
 #define GITS_BASER_WaWt		GIC_BASER_CACHEABILITY(GITS_BASER, INNER, WaWt)
 #define GITS_BASER_WaWb		GIC_BASER_CACHEABILITY(GITS_BASER, INNER, WaWb)
 #define GITS_BASER_RaWaWt	GIC_BASER_CACHEABILITY(GITS_BASER, INNER, RaWaWt)
diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h
index b845420..a78afdf 100644
--- a/include/linux/irqdomain.h
+++ b/include/linux/irqdomain.h
@@ -189,7 +189,7 @@
 	IRQ_DOMAIN_FLAG_HIERARCHY	= (1 << 0),
 
 	/* Irq domain name was allocated in __irq_domain_add() */
-	IRQ_DOMAIN_NAME_ALLOCATED	= (1 << 6),
+	IRQ_DOMAIN_NAME_ALLOCATED	= (1 << 1),
 
 	/* Irq domain is an IPI domain with virq per cpu */
 	IRQ_DOMAIN_FLAG_IPI_PER_CPU	= (1 << 2),
@@ -204,6 +204,13 @@
 	IRQ_DOMAIN_FLAG_MSI_REMAP	= (1 << 5),
 
 	/*
+	 * Quirk to handle MSI implementations which do not provide
+	 * masking. Currently known to affect x86, but partially
+	 * handled in core code.
+	 */
+	IRQ_DOMAIN_MSI_NOMASK_QUIRK	= (1 << 6),
+
+	/*
 	 * Flags starting from IRQ_DOMAIN_FLAG_NONCORE are reserved
 	 * for implementation specific purposes and ignored by the
 	 * core code.
diff --git a/include/linux/kcov.h b/include/linux/kcov.h
index b76a180..a10e847 100644
--- a/include/linux/kcov.h
+++ b/include/linux/kcov.h
@@ -37,12 +37,35 @@
 	(t)->kcov_mode &= ~KCOV_IN_CTXSW;	\
 } while (0)
 
+/* See Documentation/dev-tools/kcov.rst for usage details. */
+void kcov_remote_start(u64 handle);
+void kcov_remote_stop(void);
+u64 kcov_common_handle(void);
+
+static inline void kcov_remote_start_common(u64 id)
+{
+	kcov_remote_start(kcov_remote_handle(KCOV_SUBSYSTEM_COMMON, id));
+}
+
+static inline void kcov_remote_start_usb(u64 id)
+{
+	kcov_remote_start(kcov_remote_handle(KCOV_SUBSYSTEM_USB, id));
+}
+
 #else
 
 static inline void kcov_task_init(struct task_struct *t) {}
 static inline void kcov_task_exit(struct task_struct *t) {}
 static inline void kcov_prepare_switch(struct task_struct *t) {}
 static inline void kcov_finish_switch(struct task_struct *t) {}
+static inline void kcov_remote_start(u64 handle) {}
+static inline void kcov_remote_stop(void) {}
+static inline u64 kcov_common_handle(void)
+{
+	return 0;
+}
+static inline void kcov_remote_start_common(u64 id) {}
+static inline void kcov_remote_start_usb(u64 id) {}
 
 #endif /* CONFIG_KCOV */
 #endif /* _LINUX_KCOV_H */
diff --git a/include/linux/key.h b/include/linux/key.h
index 86cbff8..804e3af 100644
--- a/include/linux/key.h
+++ b/include/linux/key.h
@@ -349,6 +349,9 @@
 
 extern void key_set_timeout(struct key *, unsigned);
 
+extern key_ref_t lookup_user_key(key_serial_t id, unsigned long flags,
+				 key_perm_t perm);
+
 /*
  * The permissions required on a key that we're looking up.
  */
diff --git a/include/linux/keyslot-manager.h b/include/linux/keyslot-manager.h
index 6d32a03..2f4aac2 100644
--- a/include/linux/keyslot-manager.h
+++ b/include/linux/keyslot-manager.h
@@ -41,7 +41,9 @@
 				 u8 *secret, unsigned int secret_size);
 };
 
-struct keyslot_manager *keyslot_manager_create(unsigned int num_slots,
+struct keyslot_manager *keyslot_manager_create(
+	struct device *dev,
+	unsigned int num_slots,
 	const struct keyslot_mgmt_ll_ops *ksm_ops,
 	const unsigned int crypto_mode_supported[BLK_ENCRYPTION_MODE_MAX],
 	void *ll_priv_data);
@@ -67,6 +69,7 @@
 void keyslot_manager_destroy(struct keyslot_manager *ksm);
 
 struct keyslot_manager *keyslot_manager_create_passthrough(
+	struct device *dev,
 	const struct keyslot_mgmt_ll_ops *ksm_ops,
 	const unsigned int crypto_mode_supported[BLK_ENCRYPTION_MODE_MAX],
 	void *ll_priv_data);
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index 748016a..0f99ecc 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -186,7 +186,7 @@
 	struct list_head queue;
 	struct kvm_vcpu *vcpu;
 	struct mm_struct *mm;
-	gva_t gva;
+	gpa_t cr2_or_gpa;
 	unsigned long addr;
 	struct kvm_arch_async_pf arch;
 	bool   wakeup_all;
@@ -194,8 +194,8 @@
 
 void kvm_clear_async_pf_completion_queue(struct kvm_vcpu *vcpu);
 void kvm_check_async_pf_completion(struct kvm_vcpu *vcpu);
-int kvm_setup_async_pf(struct kvm_vcpu *vcpu, gva_t gva, unsigned long hva,
-		       struct kvm_arch_async_pf *arch);
+int kvm_setup_async_pf(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa,
+		       unsigned long hva, struct kvm_arch_async_pf *arch);
 int kvm_async_pf_wakeup_all(struct kvm_vcpu *vcpu);
 #endif
 
@@ -704,7 +704,7 @@
 int kvm_clear_guest(struct kvm *kvm, gpa_t gpa, unsigned long len);
 struct kvm_memory_slot *gfn_to_memslot(struct kvm *kvm, gfn_t gfn);
 bool kvm_is_visible_gfn(struct kvm *kvm, gfn_t gfn);
-unsigned long kvm_host_page_size(struct kvm *kvm, gfn_t gfn);
+unsigned long kvm_host_page_size(struct kvm_vcpu *vcpu, gfn_t gfn);
 void mark_page_dirty(struct kvm *kvm, gfn_t gfn);
 
 struct kvm_memslots *kvm_vcpu_memslots(struct kvm_vcpu *vcpu);
diff --git a/include/linux/libata.h b/include/linux/libata.h
index aff09d0..75a916d 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -1236,6 +1236,7 @@
 };
 
 extern int pci_test_config_bits(struct pci_dev *pdev, const struct pci_bits *bits);
+extern void ata_pci_shutdown_one(struct pci_dev *pdev);
 extern void ata_pci_remove_one(struct pci_dev *pdev);
 
 #ifdef CONFIG_PM
diff --git a/include/linux/libnvdimm.h b/include/linux/libnvdimm.h
index 097072c..b0d16e3 100644
--- a/include/linux/libnvdimm.h
+++ b/include/linux/libnvdimm.h
@@ -19,6 +19,7 @@
 #include <linux/types.h>
 #include <linux/uuid.h>
 #include <linux/spinlock.h>
+#include <linux/bio.h>
 
 struct badrange_entry {
 	u64 start;
@@ -59,6 +60,9 @@
 	 */
 	ND_REGION_PERSIST_MEMCTRL = 2,
 
+	/* Platform provides asynchronous flush mechanism */
+	ND_REGION_ASYNC = 3,
+
 	/* mark newly adjusted resources as requiring a label update */
 	DPA_RESOURCE_ADJUSTED = 1 << 0,
 };
@@ -115,6 +119,7 @@
 	int position;
 };
 
+struct nd_region;
 struct nd_region_desc {
 	struct resource *res;
 	struct nd_mapping_desc *mapping;
@@ -126,6 +131,7 @@
 	int numa_node;
 	unsigned long flags;
 	struct device_node *of_node;
+	int (*flush)(struct nd_region *nd_region, struct bio *bio);
 };
 
 struct device;
@@ -201,7 +207,8 @@
 unsigned int nd_region_acquire_lane(struct nd_region *nd_region);
 void nd_region_release_lane(struct nd_region *nd_region, unsigned int lane);
 u64 nd_fletcher64(void *addr, size_t len, bool le);
-void nvdimm_flush(struct nd_region *nd_region);
+int nvdimm_flush(struct nd_region *nd_region, struct bio *bio);
+int generic_nvdimm_flush(struct nd_region *nd_region);
 int nvdimm_has_flush(struct nd_region *nd_region);
 int nvdimm_has_cache(struct nd_region *nd_region);
 
diff --git a/include/linux/list_nulls.h b/include/linux/list_nulls.h
index 3ef9674..1ecd356 100644
--- a/include/linux/list_nulls.h
+++ b/include/linux/list_nulls.h
@@ -72,10 +72,10 @@
 	struct hlist_nulls_node *first = h->first;
 
 	n->next = first;
-	n->pprev = &h->first;
+	WRITE_ONCE(n->pprev, &h->first);
 	h->first = n;
 	if (!is_a_nulls(first))
-		first->pprev = &n->next;
+		WRITE_ONCE(first->pprev, &n->next);
 }
 
 static inline void __hlist_nulls_del(struct hlist_nulls_node *n)
@@ -85,13 +85,13 @@
 
 	WRITE_ONCE(*pprev, next);
 	if (!is_a_nulls(next))
-		next->pprev = pprev;
+		WRITE_ONCE(next->pprev, pprev);
 }
 
 static inline void hlist_nulls_del(struct hlist_nulls_node *n)
 {
 	__hlist_nulls_del(n);
-	n->pprev = LIST_POISON2;
+	WRITE_ONCE(n->pprev, LIST_POISON2);
 }
 
 /**
diff --git a/include/linux/log2.h b/include/linux/log2.h
index 2af7f778..01d6ba6 100644
--- a/include/linux/log2.h
+++ b/include/linux/log2.h
@@ -224,4 +224,38 @@
 		ilog2((n) - 1) + 1) :		\
 	__order_base_2(n)			\
 )
+
+static inline __attribute__((const))
+int __bits_per(unsigned long n)
+{
+	if (n < 2)
+		return 1;
+	if (is_power_of_2(n))
+		return order_base_2(n) + 1;
+	return order_base_2(n);
+}
+
+/**
+ * bits_per - calculate the number of bits required for the argument
+ * @n: parameter
+ *
+ * This is constant-capable and can be used for compile time
+ * initializations, e.g bitfields.
+ *
+ * The first few values calculated by this routine:
+ * bf(0) = 1
+ * bf(1) = 1
+ * bf(2) = 2
+ * bf(3) = 2
+ * bf(4) = 3
+ * ... and so on.
+ */
+#define bits_per(n)				\
+(						\
+	__builtin_constant_p(n) ? (		\
+		((n) == 0 || (n) == 1)		\
+			? 1 : ilog2(n) + 1	\
+	) :					\
+	__bits_per(n)				\
+)
 #endif /* _LINUX_LOG2_H */
diff --git a/include/linux/lsm_hooks.h b/include/linux/lsm_hooks.h
index 0605f86..1a922bd 100644
--- a/include/linux/lsm_hooks.h
+++ b/include/linux/lsm_hooks.h
@@ -1270,7 +1270,7 @@
  *	@cred contains the credentials to use.
  *	@ns contains the user namespace we want the capability in
  *	@cap contains the capability <include/linux/capability.h>.
- *	@audit contains whether to write an audit message or not
+ *	@opts contains options for the capable check <include/linux/security.h>
  *	Return 0 if the capability is granted for @tsk.
  * @syslog:
  *	Check permission before accessing the kernel message ring or changing
@@ -1446,8 +1446,10 @@
 			const kernel_cap_t *effective,
 			const kernel_cap_t *inheritable,
 			const kernel_cap_t *permitted);
-	int (*capable)(const struct cred *cred, struct user_namespace *ns,
-			int cap, int audit);
+	int (*capable)(const struct cred *cred,
+			struct user_namespace *ns,
+			int cap,
+			unsigned int opts);
 	int (*quotactl)(int cmds, int type, int id, struct super_block *sb);
 	int (*quota_on)(struct dentry *dentry);
 	int (*syslog)(int type);
diff --git a/include/linux/memblock.h b/include/linux/memblock.h
index 0fa57e9..7f7f79c 100644
--- a/include/linux/memblock.h
+++ b/include/linux/memblock.h
@@ -265,21 +265,6 @@
 	for_each_mem_range_rev(i, &memblock.memory, &memblock.reserved,	\
 			       nid, flags, p_start, p_end, p_nid)
 
-/**
- * for_each_resv_unavail_range - iterate through reserved and unavailable memory
- * @i: u64 used as loop variable
- * @p_start: ptr to phys_addr_t for start address of the range, can be %NULL
- * @p_end: ptr to phys_addr_t for end address of the range, can be %NULL
- *
- * Walks over unavailable but reserved (reserved && !memory) areas of memblock.
- * Available as soon as memblock is initialized.
- * Note: because this memory does not belong to any physical node, flags and
- * nid arguments do not make sense and thus not exported as arguments.
- */
-#define for_each_resv_unavail_range(i, p_start, p_end)			\
-	for_each_mem_range(i, &memblock.reserved, &memblock.memory,	\
-			   NUMA_NO_NODE, MEMBLOCK_NONE, p_start, p_end, NULL)
-
 static inline void memblock_set_region_flags(struct memblock_region *r,
 					     enum memblock_flags flags)
 {
diff --git a/include/linux/memory.h b/include/linux/memory.h
index a6ddefc..5c41136 100644
--- a/include/linux/memory.h
+++ b/include/linux/memory.h
@@ -111,16 +111,16 @@
 extern void unregister_memory_notifier(struct notifier_block *nb);
 extern int register_memory_isolate_notifier(struct notifier_block *nb);
 extern void unregister_memory_isolate_notifier(struct notifier_block *nb);
-int hotplug_memory_register(int nid, struct mem_section *section);
-#ifdef CONFIG_MEMORY_HOTREMOVE
-extern int unregister_memory_section(struct mem_section *);
-#endif
+int create_memory_block_devices(unsigned long start, unsigned long size);
+void remove_memory_block_devices(unsigned long start, unsigned long size);
 extern int memory_dev_init(void);
 extern int memory_notify(unsigned long val, void *v);
 extern int memory_isolate_notify(unsigned long val, void *v);
 extern struct memory_block *find_memory_block_hinted(struct mem_section *,
 							struct memory_block *);
 extern struct memory_block *find_memory_block(struct mem_section *);
+typedef int (*walk_memory_blocks_func_t)(struct memory_block *, void *);
+extern int for_each_memory_block(void *arg, walk_memory_blocks_func_t func);
 #define CONFIG_MEM_BLOCK_SIZE	(PAGES_PER_SECTION<<PAGE_SHIFT)
 #endif /* CONFIG_MEMORY_HOTPLUG_SPARSE */
 
diff --git a/include/linux/memory_hotplug.h b/include/linux/memory_hotplug.h
index 2aa71ce..c6f7275 100644
--- a/include/linux/memory_hotplug.h
+++ b/include/linux/memory_hotplug.h
@@ -109,12 +109,10 @@
 	return movable_node_enabled;
 }
 
-#ifdef CONFIG_MEMORY_HOTREMOVE
-extern int arch_remove_memory(u64 start, u64 size,
-		struct vmem_altmap *altmap);
-extern int __remove_pages(struct zone *zone, unsigned long start_pfn,
-	unsigned long nr_pages, struct vmem_altmap *altmap);
-#endif /* CONFIG_MEMORY_HOTREMOVE */
+extern void arch_remove_memory(int nid, u64 start, u64 size,
+			       struct vmem_altmap *altmap);
+extern void __remove_pages(unsigned long start_pfn, unsigned long nr_pages,
+			   struct vmem_altmap *altmap);
 
 /* reasonably generic interface to expand the physical pages */
 extern int __add_pages(int nid, unsigned long start_pfn, unsigned long nr_pages,
@@ -309,6 +307,7 @@
 extern void try_offline_node(int nid);
 extern int offline_pages(unsigned long start_pfn, unsigned long nr_pages);
 extern void remove_memory(int nid, u64 start, u64 size);
+extern void __remove_memory(int nid, u64 start, u64 size);
 
 #else
 static inline bool is_mem_section_removable(unsigned long pfn,
@@ -325,6 +324,7 @@
 }
 
 static inline void remove_memory(int nid, u64 start, u64 size) {}
+static inline void __remove_memory(int nid, u64 start, u64 size) {}
 #endif /* CONFIG_MEMORY_HOTREMOVE */
 
 extern void __ref free_area_init_core_hotplug(int nid);
@@ -337,12 +337,14 @@
 		struct vmem_altmap *altmap, bool want_memblock);
 extern void move_pfn_range_to_zone(struct zone *zone, unsigned long start_pfn,
 		unsigned long nr_pages, struct vmem_altmap *altmap);
+extern void remove_pfn_range_from_zone(struct zone *zone,
+				       unsigned long start_pfn,
+				       unsigned long nr_pages);
 extern int offline_pages(unsigned long start_pfn, unsigned long nr_pages);
 extern bool is_memblock_offlined(struct memory_block *mem);
-extern void remove_memory(int nid, u64 start, u64 size);
-extern int sparse_add_one_section(struct pglist_data *pgdat,
-		unsigned long start_pfn, struct vmem_altmap *altmap);
-extern void sparse_remove_one_section(struct zone *zone, struct mem_section *ms,
+extern int sparse_add_one_section(int nid, unsigned long start_pfn,
+				  struct vmem_altmap *altmap);
+extern void sparse_remove_one_section(struct mem_section *ms,
 		unsigned long map_offset, struct vmem_altmap *altmap);
 extern struct page *sparse_decode_mem_map(unsigned long coded_mem_map,
 					  unsigned long pnum);
diff --git a/include/linux/mhi.h b/include/linux/mhi.h
index 547beaf..51a5ec4 100644
--- a/include/linux/mhi.h
+++ b/include/linux/mhi.h
@@ -260,6 +260,7 @@
 
 	/* mmio base */
 	phys_addr_t base_addr;
+	unsigned int len;
 	void __iomem *regs;
 	void __iomem *bhi;
 	void __iomem *bhie;
diff --git a/include/linux/mlx5/mlx5_ifc.h b/include/linux/mlx5/mlx5_ifc.h
index 177f11c..76b76b6 100644
--- a/include/linux/mlx5/mlx5_ifc.h
+++ b/include/linux/mlx5/mlx5_ifc.h
@@ -9053,8 +9053,6 @@
 
 	u8         syndrome[0x20];
 
-	u8         reserved_at_40[0x40];
-
 	struct mlx5_ifc_lagc_bits ctx;
 };
 
diff --git a/include/linux/mmc/sdio_ids.h b/include/linux/mmc/sdio_ids.h
index 4224902..358d6be 100644
--- a/include/linux/mmc/sdio_ids.h
+++ b/include/linux/mmc/sdio_ids.h
@@ -68,6 +68,8 @@
 
 #define SDIO_VENDOR_ID_TI			0x0097
 #define SDIO_DEVICE_ID_TI_WL1271		0x4076
+#define SDIO_VENDOR_ID_TI_WL1251		0x104c
+#define SDIO_DEVICE_ID_TI_WL1251		0x9066
 
 #define SDIO_VENDOR_ID_STE			0x0020
 #define SDIO_DEVICE_ID_STE_CW1200		0x2280
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
index 664e49e..ad85521 100644
--- a/include/linux/mmzone.h
+++ b/include/linux/mmzone.h
@@ -660,8 +660,7 @@
 #if defined(CONFIG_MEMORY_HOTPLUG) || defined(CONFIG_DEFERRED_STRUCT_PAGE_INIT)
 	/*
 	 * Must be held any time you expect node_start_pfn, node_present_pages
-	 * or node_spanned_pages stay constant.  Holding this will also
-	 * guarantee that any pfn_valid() stays that way.
+	 * or node_spanned_pages stay constant.
 	 *
 	 * pgdat_resize_lock() and pgdat_resize_unlock() are provided to
 	 * manipulate node_size_lock without checking for CONFIG_MEMORY_HOTPLUG
diff --git a/include/linux/ndctl.h b/include/linux/ndctl.h
new file mode 100644
index 0000000..cd5a293
--- /dev/null
+++ b/include/linux/ndctl.h
@@ -0,0 +1,22 @@
+/*
+ * Copyright (c) 2014-2016, Intel Corporation.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU Lesser General Public License,
+ * version 2.1, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for
+ * more details.
+ */
+#ifndef _LINUX_NDCTL_H
+#define _LINUX_NDCTL_H
+
+#include <uapi/linux/ndctl.h>
+
+enum {
+	ND_MIN_NAMESPACE_SIZE = PAGE_SIZE,
+};
+
+#endif /* _LINUX_NDCTL_H */
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 58b64a1..922fa89 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -3580,6 +3580,8 @@
 int dev_get_alias(const struct net_device *, char *, size_t);
 int dev_change_net_namespace(struct net_device *, struct net *, const char *);
 int __dev_set_mtu(struct net_device *, int);
+int dev_validate_mtu(struct net_device *dev, int mtu,
+		     struct netlink_ext_ack *extack);
 int dev_set_mtu_ext(struct net_device *dev, int mtu,
 		    struct netlink_ext_ack *extack);
 int dev_set_mtu(struct net_device *, int);
diff --git a/include/linux/netfilter/ipset/ip_set.h b/include/linux/netfilter/ipset/ip_set.h
index 1d100ef..7e39049 100644
--- a/include/linux/netfilter/ipset/ip_set.h
+++ b/include/linux/netfilter/ipset/ip_set.h
@@ -451,13 +451,6 @@
 	       sizeof(*addr));
 }
 
-/* Calculate the bytes required to store the inclusive range of a-b */
-static inline int
-bitmap_bytes(u32 a, u32 b)
-{
-	return 4 * ((((b - a + 8) / 8) + 3) / 4);
-}
-
 #include <linux/netfilter/ipset/ip_set_timeout.h>
 #include <linux/netfilter/ipset/ip_set_comment.h>
 #include <linux/netfilter/ipset/ip_set_counter.h>
diff --git a/include/linux/node.h b/include/linux/node.h
index 257bb3d..708939b 100644
--- a/include/linux/node.h
+++ b/include/linux/node.h
@@ -72,8 +72,7 @@
 extern int unregister_cpu_under_node(unsigned int cpu, unsigned int nid);
 extern int register_mem_sect_under_node(struct memory_block *mem_blk,
 						void *arg);
-extern int unregister_mem_sect_under_nodes(struct memory_block *mem_blk,
-					   unsigned long phys_index);
+extern void unregister_memory_block_under_nodes(struct memory_block *mem_blk);
 
 #ifdef CONFIG_HUGETLBFS
 extern void register_hugetlbfs_with_node(node_registration_func_t doregister,
@@ -105,10 +104,8 @@
 {
 	return 0;
 }
-static inline int unregister_mem_sect_under_nodes(struct memory_block *mem_blk,
-						  unsigned long phys_index)
+static inline void unregister_memory_block_under_nodes(struct memory_block *mem_blk)
 {
-	return 0;
 }
 
 static inline void register_hugetlbfs_with_node(node_registration_func_t reg,
diff --git a/include/linux/of.h b/include/linux/of.h
index d5a863c..d4f14b0 100644
--- a/include/linux/of.h
+++ b/include/linux/of.h
@@ -1001,7 +1001,7 @@
 
 static inline const char *of_node_get_device_type(const struct device_node *np)
 {
-	return of_get_property(np, "type", NULL);
+	return of_get_property(np, "device_type", NULL);
 }
 
 static inline bool of_node_is_type(const struct device_node *np, const char *type)
@@ -1425,7 +1425,8 @@
 
 #else
 
-static inline int of_overlay_fdt_apply(void *overlay_fdt, int *ovcs_id)
+static inline int of_overlay_fdt_apply(void *overlay_fdt, u32 overlay_fdt_size,
+				       int *ovcs_id)
 {
 	return -ENOTSUPP;
 }
diff --git a/include/linux/percpu-defs.h b/include/linux/percpu-defs.h
index 2d2096b..90b8ce8 100644
--- a/include/linux/percpu-defs.h
+++ b/include/linux/percpu-defs.h
@@ -176,8 +176,7 @@
  * Declaration/definition used for per-CPU variables that should be accessed
  * as decrypted when memory encryption is enabled in the guest.
  */
-#if defined(CONFIG_VIRTUALIZATION) && defined(CONFIG_AMD_MEM_ENCRYPT)
-
+#ifdef CONFIG_AMD_MEM_ENCRYPT
 #define DECLARE_PER_CPU_DECRYPTED(type, name)				\
 	DECLARE_PER_CPU_SECTION(type, name, "..decrypted")
 
diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index 58952fa..83b667f 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -1225,11 +1225,6 @@
 #define PERF_SECURITY_KERNEL		2
 #define PERF_SECURITY_TRACEPOINT	3
 
-static inline bool perf_paranoid_any(void)
-{
-	return sysctl_perf_event_paranoid > 2;
-}
-
 static inline int perf_is_paranoid(void)
 {
 	return sysctl_perf_event_paranoid > -1;
diff --git a/include/linux/platform_data/dma-imx-sdma.h b/include/linux/platform_data/dma-imx-sdma.h
index 6eaa53c..30e676b 100644
--- a/include/linux/platform_data/dma-imx-sdma.h
+++ b/include/linux/platform_data/dma-imx-sdma.h
@@ -51,7 +51,10 @@
 	/* End of v2 array */
 	s32 zcanfd_2_mcu_addr;
 	s32 zqspi_2_mcu_addr;
+	s32 mcu_2_ecspi_addr;
 	/* End of v3 array */
+	s32 mcu_2_zqspi_addr;
+	/* End of v4 array */
 };
 
 /**
diff --git a/include/linux/pm_wakeup.h b/include/linux/pm_wakeup.h
index 4238dde..6e6a252 100644
--- a/include/linux/pm_wakeup.h
+++ b/include/linux/pm_wakeup.h
@@ -34,6 +34,7 @@
  * struct wakeup_source - Representation of wakeup sources
  *
  * @name: Name of the wakeup source
+ * @id: Wakeup source id
  * @entry: Wakeup source list entry
  * @lock: Wakeup source lock
  * @wakeirq: Optional device specific wakeirq
@@ -48,11 +49,13 @@
  * @relax_count: Number of times the wakeup source was deactivated.
  * @expire_count: Number of times the wakeup source's timeout has expired.
  * @wakeup_count: Number of times the wakeup source might abort suspend.
+ * @dev: Struct device for sysfs statistics about the wakeup source.
  * @active: Status of the wakeup source.
  * @has_timeout: The wakeup source has been activated with a timeout.
  */
 struct wakeup_source {
 	const char 		*name;
+	int			id;
 	struct list_head	entry;
 	spinlock_t		lock;
 	struct wake_irq		*wakeirq;
@@ -68,10 +71,13 @@
 	unsigned long		relax_count;
 	unsigned long		expire_count;
 	unsigned long		wakeup_count;
+	struct device		*dev;
 	bool			active:1;
 	bool			autosleep_enabled:1;
 };
 
+#define WAKEUP_SOURCE_DEV
+
 #ifdef CONFIG_PM_SLEEP
 
 /*
@@ -94,13 +100,12 @@
 }
 
 /* drivers/base/power/wakeup.c */
-extern void wakeup_source_prepare(struct wakeup_source *ws, const char *name);
 extern struct wakeup_source *wakeup_source_create(const char *name);
-extern void wakeup_source_drop(struct wakeup_source *ws);
 extern void wakeup_source_destroy(struct wakeup_source *ws);
 extern void wakeup_source_add(struct wakeup_source *ws);
 extern void wakeup_source_remove(struct wakeup_source *ws);
-extern struct wakeup_source *wakeup_source_register(const char *name);
+extern struct wakeup_source *wakeup_source_register(struct device *dev,
+						    const char *name);
 extern void wakeup_source_unregister(struct wakeup_source *ws);
 extern int device_wakeup_enable(struct device *dev);
 extern int device_wakeup_disable(struct device *dev);
@@ -126,23 +131,19 @@
 	return dev->power.can_wakeup;
 }
 
-static inline void wakeup_source_prepare(struct wakeup_source *ws,
-					 const char *name) {}
-
 static inline struct wakeup_source *wakeup_source_create(const char *name)
 {
 	return NULL;
 }
 
-static inline void wakeup_source_drop(struct wakeup_source *ws) {}
-
 static inline void wakeup_source_destroy(struct wakeup_source *ws) {}
 
 static inline void wakeup_source_add(struct wakeup_source *ws) {}
 
 static inline void wakeup_source_remove(struct wakeup_source *ws) {}
 
-static inline struct wakeup_source *wakeup_source_register(const char *name)
+static inline struct wakeup_source *wakeup_source_register(struct device *dev,
+							   const char *name)
 {
 	return NULL;
 }
@@ -197,19 +198,6 @@
 
 #endif /* !CONFIG_PM_SLEEP */
 
-static inline void wakeup_source_init(struct wakeup_source *ws,
-				      const char *name)
-{
-	wakeup_source_prepare(ws, name);
-	wakeup_source_add(ws);
-}
-
-static inline void wakeup_source_trash(struct wakeup_source *ws)
-{
-	wakeup_source_remove(ws);
-	wakeup_source_drop(ws);
-}
-
 static inline void __pm_wakeup_event(struct wakeup_source *ws, unsigned int msec)
 {
 	return pm_wakeup_ws_event(ws, msec, false);
diff --git a/include/linux/poll.h b/include/linux/poll.h
index 7e0fdcf..1cdc32b 100644
--- a/include/linux/poll.h
+++ b/include/linux/poll.h
@@ -16,7 +16,11 @@
 extern struct ctl_table epoll_table[]; /* for sysctl */
 /* ~832 bytes of stack space used max in sys_select/sys_poll before allocating
    additional memory. */
+#ifdef __clang__
+#define MAX_STACK_ALLOC 768
+#else
 #define MAX_STACK_ALLOC 832
+#endif
 #define FRONTEND_STACK_ALLOC	256
 #define SELECT_STACK_ALLOC	FRONTEND_STACK_ALLOC
 #define POLL_STACK_ALLOC	FRONTEND_STACK_ALLOC
diff --git a/include/linux/power/smartreflex.h b/include/linux/power/smartreflex.h
index 7b81dad..37d9b70 100644
--- a/include/linux/power/smartreflex.h
+++ b/include/linux/power/smartreflex.h
@@ -296,6 +296,9 @@
 	struct voltagedomain		*voltdm;
 };
 
+
+extern struct omap_sr_data omap_sr_pdata[OMAP_SR_NR];
+
 #ifdef CONFIG_POWER_AVS_OMAP
 
 /* Smartreflex module enable/disable interface */
diff --git a/include/linux/property.h b/include/linux/property.h
index 1a12364..df388be 100644
--- a/include/linux/property.h
+++ b/include/linux/property.h
@@ -143,6 +143,26 @@
 	return device_property_read_u64_array(dev, propname, val, 1);
 }
 
+static inline int device_property_count_u8(struct device *dev, const char *propname)
+{
+	return device_property_read_u8_array(dev, propname, NULL, 0);
+}
+
+static inline int device_property_count_u16(struct device *dev, const char *propname)
+{
+	return device_property_read_u16_array(dev, propname, NULL, 0);
+}
+
+static inline int device_property_count_u32(struct device *dev, const char *propname)
+{
+	return device_property_read_u32_array(dev, propname, NULL, 0);
+}
+
+static inline int device_property_count_u64(struct device *dev, const char *propname)
+{
+	return device_property_read_u64_array(dev, propname, NULL, 0);
+}
+
 static inline bool fwnode_property_read_bool(const struct fwnode_handle *fwnode,
 					     const char *propname)
 {
@@ -173,6 +193,30 @@
 	return fwnode_property_read_u64_array(fwnode, propname, val, 1);
 }
 
+static inline int fwnode_property_count_u8(const struct fwnode_handle *fwnode,
+					   const char *propname)
+{
+	return fwnode_property_read_u8_array(fwnode, propname, NULL, 0);
+}
+
+static inline int fwnode_property_count_u16(const struct fwnode_handle *fwnode,
+					    const char *propname)
+{
+	return fwnode_property_read_u16_array(fwnode, propname, NULL, 0);
+}
+
+static inline int fwnode_property_count_u32(const struct fwnode_handle *fwnode,
+					    const char *propname)
+{
+	return fwnode_property_read_u32_array(fwnode, propname, NULL, 0);
+}
+
+static inline int fwnode_property_count_u64(const struct fwnode_handle *fwnode,
+					    const char *propname)
+{
+	return fwnode_property_read_u64_array(fwnode, propname, NULL, 0);
+}
+
 /**
  * struct property_entry - "Built-in" device property representation.
  * @name: Name of the property.
diff --git a/include/linux/random.h b/include/linux/random.h
index 445a0ea..012cfee 100644
--- a/include/linux/random.h
+++ b/include/linux/random.h
@@ -19,6 +19,7 @@
 };
 
 extern void add_device_randomness(const void *, unsigned int);
+extern void add_bootloader_randomness(const void *, unsigned int);
 
 #if defined(CONFIG_GCC_PLUGIN_LATENT_ENTROPY) && !defined(__CHECKER__)
 static inline void add_latent_entropy(void)
@@ -36,6 +37,7 @@
 
 extern void get_random_bytes(void *buf, int nbytes);
 extern int wait_for_random_bytes(void);
+extern int __init rand_initialize(void);
 extern bool rng_is_initialized(void);
 extern int add_random_ready_callback(struct random_ready_callback *rdy);
 extern void del_random_ready_callback(struct random_ready_callback *rdy);
@@ -165,29 +167,21 @@
 #ifdef CONFIG_ARCH_RANDOM
 # include <asm/archrandom.h>
 #else
-static inline bool arch_get_random_long(unsigned long *v)
+static inline bool __must_check arch_get_random_long(unsigned long *v)
 {
-	return 0;
+	return false;
 }
-static inline bool arch_get_random_int(unsigned int *v)
+static inline bool __must_check arch_get_random_int(unsigned int *v)
 {
-	return 0;
+	return false;
 }
-static inline bool arch_has_random(void)
+static inline bool __must_check arch_get_random_seed_long(unsigned long *v)
 {
-	return 0;
+	return false;
 }
-static inline bool arch_get_random_seed_long(unsigned long *v)
+static inline bool __must_check arch_get_random_seed_int(unsigned int *v)
 {
-	return 0;
-}
-static inline bool arch_get_random_seed_int(unsigned int *v)
-{
-	return 0;
-}
-static inline bool arch_has_random_seed(void)
-{
-	return 0;
+	return false;
 }
 #endif
 
diff --git a/include/linux/rculist_nulls.h b/include/linux/rculist_nulls.h
index 61974c4..90f2e22 100644
--- a/include/linux/rculist_nulls.h
+++ b/include/linux/rculist_nulls.h
@@ -34,7 +34,7 @@
 {
 	if (!hlist_nulls_unhashed(n)) {
 		__hlist_nulls_del(n);
-		n->pprev = NULL;
+		WRITE_ONCE(n->pprev, NULL);
 	}
 }
 
@@ -66,7 +66,7 @@
 static inline void hlist_nulls_del_rcu(struct hlist_nulls_node *n)
 {
 	__hlist_nulls_del(n);
-	n->pprev = LIST_POISON2;
+	WRITE_ONCE(n->pprev, LIST_POISON2);
 }
 
 /**
@@ -94,10 +94,10 @@
 	struct hlist_nulls_node *first = h->first;
 
 	n->next = first;
-	n->pprev = &h->first;
+	WRITE_ONCE(n->pprev, &h->first);
 	rcu_assign_pointer(hlist_nulls_first_rcu(h), n);
 	if (!is_a_nulls(first))
-		first->pprev = &n->next;
+		WRITE_ONCE(first->pprev, &n->next);
 }
 
 /**
diff --git a/include/linux/regulator/ab8500.h b/include/linux/regulator/ab8500.h
index 06978ce..d48ab3e 100644
--- a/include/linux/regulator/ab8500.h
+++ b/include/linux/regulator/ab8500.h
@@ -43,8 +43,6 @@
 	AB8505_LDO_ANAMIC2,
 	AB8505_LDO_AUX8,
 	AB8505_LDO_ANA,
-	AB8505_SYSCLKREQ_2,
-	AB8505_SYSCLKREQ_4,
 	AB8505_NUM_REGULATORS,
 };
 
diff --git a/include/linux/regulator/consumer.h b/include/linux/regulator/consumer.h
index f3f7605..775e63e 100644
--- a/include/linux/regulator/consumer.h
+++ b/include/linux/regulator/consumer.h
@@ -244,6 +244,7 @@
 
 int regulator_count_voltages(struct regulator *regulator);
 int regulator_list_voltage(struct regulator *regulator, unsigned selector);
+int regulator_list_corner_voltage(struct regulator *regulator, int corner);
 int regulator_is_supported_voltage(struct regulator *regulator,
 				   int min_uV, int max_uV);
 unsigned int regulator_get_linear_step(struct regulator *regulator);
@@ -579,6 +580,11 @@
 	return -EINVAL;
 }
 
+static inline int regulator_list_corner_voltage(struct regulator *regulator,
+	int corner)
+{
+	return -EINVAL;
+}
 #endif
 
 static inline int regulator_set_voltage_triplet(struct regulator *regulator,
diff --git a/include/linux/regulator/driver.h b/include/linux/regulator/driver.h
index 71756e6..7ae7dc3 100644
--- a/include/linux/regulator/driver.h
+++ b/include/linux/regulator/driver.h
@@ -94,6 +94,10 @@
  *	if the selector indicates a voltage that is unusable on this system;
  *	or negative errno.  Selectors range from zero to one less than
  *	regulator_desc.n_voltages.  Voltages may be reported in any order.
+ * @list_corner_voltage: Return the maximum voltage in microvolts that
+ *	that can be physically configured for the regulator when operating at
+ *	the specified voltage corner or a negative errno if the corner value
+ *	can't be used on this system.
  *
  * @set_current_limit: Configure a limit for a current-limited regulator.
  *                     The driver should select the current closest to max_uA.
@@ -150,6 +154,7 @@
 
 	/* enumerate supported voltages */
 	int (*list_voltage) (struct regulator_dev *, unsigned selector);
+	int (*list_corner_voltage)(struct regulator_dev *list_reg, int corner);
 
 	/* get/set regulator voltage */
 	int (*set_voltage) (struct regulator_dev *, int min_uV, int max_uV,
diff --git a/include/linux/regulator/spm-regulator.h b/include/linux/regulator/spm-regulator.h
new file mode 100644
index 0000000..c1eaee6
--- /dev/null
+++ b/include/linux/regulator/spm-regulator.h
@@ -0,0 +1,17 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/* Copyright (c) 2013-2014, 2020, The Linux Foundation. All rights reserved.
+ */
+
+#ifndef _LINUX_REGULATOR_SPM_H
+#define _LINUX_REGULATOR_SPM_H
+
+#include <linux/err.h>
+#include <linux/init.h>
+
+#ifdef CONFIG_REGULATOR_SPM
+int __init spm_regulator_init(void);
+#else
+static inline int __init spm_regulator_init(void) { return -ENODEV; }
+#endif
+
+#endif
diff --git a/include/linux/rtc.h b/include/linux/rtc.h
index 6aedc30..5a34f59 100644
--- a/include/linux/rtc.h
+++ b/include/linux/rtc.h
@@ -163,7 +163,7 @@
 #define to_rtc_device(d) container_of(d, struct rtc_device, dev)
 
 /* useful timestamps */
-#define RTC_TIMESTAMP_BEGIN_1900	-2208989361LL /* 1900-01-01 00:00:00 */
+#define RTC_TIMESTAMP_BEGIN_1900	-2208988800LL /* 1900-01-01 00:00:00 */
 #define RTC_TIMESTAMP_BEGIN_2000	946684800LL /* 2000-01-01 00:00:00 */
 #define RTC_TIMESTAMP_END_2099		4102444799LL /* 2099-12-31 23:59:59 */
 
diff --git a/include/linux/sched.h b/include/linux/sched.h
index b736707..8de5bf6 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -351,6 +351,18 @@
 	u64			gtime;
 };
 
+/*
+ * Utilization clamp constraints.
+ * @UCLAMP_MIN:	Minimum utilization
+ * @UCLAMP_MAX:	Maximum utilization
+ * @UCLAMP_CNT:	Utilization clamp constraints count
+ */
+enum uclamp_id {
+	UCLAMP_MIN = 0,
+	UCLAMP_MAX,
+	UCLAMP_CNT
+};
+
 struct sched_info {
 #ifdef CONFIG_SCHED_INFO
 	/* Cumulative counters: */
@@ -382,6 +394,10 @@
 # define SCHED_FIXEDPOINT_SHIFT		10
 # define SCHED_FIXEDPOINT_SCALE		(1L << SCHED_FIXEDPOINT_SHIFT)
 
+/* Increase resolution of cpu_capacity calculations */
+# define SCHED_CAPACITY_SHIFT		SCHED_FIXEDPOINT_SHIFT
+# define SCHED_CAPACITY_SCALE		(1L << SCHED_CAPACITY_SHIFT)
+
 struct load_weight {
 	unsigned long			weight;
 	u32				inv_weight;
@@ -730,6 +746,41 @@
 	struct hrtimer inactive_timer;
 };
 
+#ifdef CONFIG_UCLAMP_TASK
+/* Number of utilization clamp buckets (shorter alias) */
+#define UCLAMP_BUCKETS CONFIG_UCLAMP_BUCKETS_COUNT
+
+/*
+ * Utilization clamp for a scheduling entity
+ * @value:		clamp value "assigned" to a se
+ * @bucket_id:		bucket index corresponding to the "assigned" value
+ * @active:		the se is currently refcounted in a rq's bucket
+ * @user_defined:	the requested clamp value comes from user-space
+ *
+ * The bucket_id is the index of the clamp bucket matching the clamp value
+ * which is pre-computed and stored to avoid expensive integer divisions from
+ * the fast path.
+ *
+ * The active bit is set whenever a task has got an "effective" value assigned,
+ * which can be different from the clamp value "requested" from user-space.
+ * This allows to know a task is refcounted in the rq's bucket corresponding
+ * to the "effective" bucket_id.
+ *
+ * The user_defined bit is set whenever a task has got a task-specific clamp
+ * value requested from userspace, i.e. the system defaults apply to this task
+ * just as a restriction. This allows to relax default clamps when a less
+ * restrictive task-specific value has been requested, thus allowing to
+ * implement a "nice" semantic. For example, a task running with a 20%
+ * default boost can still drop its own boosting to 0%.
+ */
+struct uclamp_se {
+	unsigned int value		: bits_per(SCHED_CAPACITY_SCALE);
+	unsigned int bucket_id		: bits_per(UCLAMP_BUCKETS);
+	unsigned int active		: 1;
+	unsigned int user_defined	: 1;
+};
+#endif /* CONFIG_UCLAMP_TASK */
+
 union rcu_special {
 	struct {
 		u8			blocked;
@@ -833,6 +884,13 @@
 #endif
 	struct sched_dl_entity		dl;
 
+#ifdef CONFIG_UCLAMP_TASK
+	/* Clamp values requested for a scheduling entity */
+	struct uclamp_se		uclamp_req[UCLAMP_CNT];
+	/* Effective clamp values used for a scheduling entity */
+	struct uclamp_se		uclamp[UCLAMP_CNT];
+#endif
+
 #ifdef CONFIG_PREEMPT_NOTIFIERS
 	/* List of struct preempt_notifier: */
 	struct hlist_head		preempt_notifiers;
@@ -1345,6 +1403,8 @@
 #endif /* CONFIG_TRACING */
 
 #ifdef CONFIG_KCOV
+	/* See kernel/kcov.c for more details. */
+
 	/* Coverage collection mode enabled for this task (0 if disabled): */
 	unsigned int			kcov_mode;
 
@@ -1356,6 +1416,12 @@
 
 	/* KCOV descriptor wired with this task or NULL: */
 	struct kcov			*kcov;
+
+	/* KCOV common handle for remote coverage collection: */
+	u64				kcov_handle;
+
+	/* KCOV sequence number: */
+	int				kcov_sequence;
 #endif
 
 #ifdef CONFIG_MEMCG
@@ -2052,11 +2118,11 @@
 
 /*
  * If parent process has a registered restartable sequences area, the
- * child inherits. Only applies when forking a process, not a thread.
+ * child inherits. Unregister rseq for a clone with CLONE_VM set.
  */
 static inline void rseq_fork(struct task_struct *t, unsigned long clone_flags)
 {
-	if (clone_flags & CLONE_THREAD) {
+	if (clone_flags & CLONE_VM) {
 		t->rseq = NULL;
 		t->rseq_len = 0;
 		t->rseq_sig = 0;
diff --git a/include/linux/sched/sysctl.h b/include/linux/sched/sysctl.h
index 1c4c5b6..f77efc1 100644
--- a/include/linux/sched/sysctl.h
+++ b/include/linux/sched/sysctl.h
@@ -117,6 +117,11 @@
 extern unsigned int sysctl_sched_rt_period;
 extern int sysctl_sched_rt_runtime;
 
+#ifdef CONFIG_UCLAMP_TASK
+extern unsigned int sysctl_sched_uclamp_util_min;
+extern unsigned int sysctl_sched_uclamp_util_max;
+#endif
+
 #ifdef CONFIG_CFS_BANDWIDTH
 extern unsigned int sysctl_sched_cfs_bandwidth_slice;
 #endif
@@ -136,6 +141,12 @@
 		void __user *buffer, size_t *lenp,
 		loff_t *ppos);
 
+#ifdef CONFIG_UCLAMP_TASK
+extern int sysctl_sched_uclamp_handler(struct ctl_table *table, int write,
+				       void __user *buffer, size_t *lenp,
+				       loff_t *ppos);
+#endif
+
 extern int sysctl_numa_balancing(struct ctl_table *table, int write,
 				 void __user *buffer, size_t *lenp,
 				 loff_t *ppos);
@@ -148,4 +159,11 @@
 extern unsigned int sched_lib_mask_force;
 extern bool is_sched_lib_based_app(pid_t pid);
 
+#if defined(CONFIG_ENERGY_MODEL) && defined(CONFIG_CPU_FREQ_GOV_SCHEDUTIL)
+extern unsigned int sysctl_sched_energy_aware;
+extern int sched_energy_aware_handler(struct ctl_table *table, int write,
+				 void __user *buffer, size_t *lenp,
+				 loff_t *ppos);
+#endif
+
 #endif /* _LINUX_SCHED_SYSCTL_H */
diff --git a/include/linux/sched/topology.h b/include/linux/sched/topology.h
index 6119139..ca3bec7 100644
--- a/include/linux/sched/topology.h
+++ b/include/linux/sched/topology.h
@@ -7,12 +7,6 @@
 #include <linux/sched/idle.h>
 
 /*
- * Increase resolution of cpu_capacity calculations
- */
-#define SCHED_CAPACITY_SHIFT	SCHED_FIXEDPOINT_SHIFT
-#define SCHED_CAPACITY_SCALE	(1L << SCHED_CAPACITY_SHIFT)
-
-/*
  * sched-domains (multiprocessor balancing) declarations:
  */
 #ifdef CONFIG_SMP
diff --git a/include/linux/security.h b/include/linux/security.h
index 9fa7661..71ad184 100644
--- a/include/linux/security.h
+++ b/include/linux/security.h
@@ -54,9 +54,12 @@
 struct xfrm_sec_ctx;
 struct mm_struct;
 
+/* Default (no) options for the capable function */
+#define CAP_OPT_NONE 0x0
 /* If capable should audit the security request */
-#define SECURITY_CAP_NOAUDIT 0
-#define SECURITY_CAP_AUDIT 1
+#define CAP_OPT_NOAUDIT BIT(1)
+/* If capable is being called by a setid function */
+#define CAP_OPT_INSETID BIT(2)
 
 /* LSM Agnostic defines for sb_set_mnt_opts */
 #define SECURITY_LSM_NATIVE_LABELS	1
@@ -72,7 +75,7 @@
 
 /* These functions are in security/commoncap.c */
 extern int cap_capable(const struct cred *cred, struct user_namespace *ns,
-		       int cap, int audit);
+		       int cap, unsigned int opts);
 extern int cap_settime(const struct timespec64 *ts, const struct timezone *tz);
 extern int cap_ptrace_access_check(struct task_struct *child, unsigned int mode);
 extern int cap_ptrace_traceme(struct task_struct *parent);
@@ -233,10 +236,10 @@
 		    const kernel_cap_t *effective,
 		    const kernel_cap_t *inheritable,
 		    const kernel_cap_t *permitted);
-int security_capable(const struct cred *cred, struct user_namespace *ns,
-			int cap);
-int security_capable_noaudit(const struct cred *cred, struct user_namespace *ns,
-			     int cap);
+int security_capable(const struct cred *cred,
+		       struct user_namespace *ns,
+		       int cap,
+		       unsigned int opts);
 int security_quotactl(int cmds, int type, int id, struct super_block *sb);
 int security_quota_on(struct dentry *dentry);
 int security_syslog(int type);
@@ -492,14 +495,11 @@
 }
 
 static inline int security_capable(const struct cred *cred,
-				   struct user_namespace *ns, int cap)
+				   struct user_namespace *ns,
+				   int cap,
+				   unsigned int opts)
 {
-	return cap_capable(cred, ns, cap, SECURITY_CAP_AUDIT);
-}
-
-static inline int security_capable_noaudit(const struct cred *cred,
-					   struct user_namespace *ns, int cap) {
-	return cap_capable(cred, ns, cap, SECURITY_CAP_NOAUDIT);
+	return cap_capable(cred, ns, cap, opts);
 }
 
 static inline int security_quotactl(int cmds, int type, int id,
diff --git a/include/linux/serdev.h b/include/linux/serdev.h
index f153b2c..df6a853 100644
--- a/include/linux/serdev.h
+++ b/include/linux/serdev.h
@@ -173,9 +173,21 @@
 void serdev_device_remove(struct serdev_device *);
 
 struct serdev_controller *serdev_controller_alloc(struct device *, size_t);
-int serdev_controller_add(struct serdev_controller *);
+int serdev_controller_add_platform(struct serdev_controller *, bool);
 void serdev_controller_remove(struct serdev_controller *);
 
+/**
+ * serdev_controller_add() - Add an serdev controller
+ * @ctrl:	controller to be registered.
+ *
+ * Register a controller previously allocated via serdev_controller_alloc() with
+ * the serdev core.
+ */
+static inline int serdev_controller_add(struct serdev_controller *ctrl)
+{
+	return serdev_controller_add_platform(ctrl, false);
+}
+
 static inline void serdev_controller_write_wakeup(struct serdev_controller *ctrl)
 {
 	struct serdev_device *serdev = ctrl->serdev;
diff --git a/include/linux/signal.h b/include/linux/signal.h
index e4d0146..0be5ce2 100644
--- a/include/linux/signal.h
+++ b/include/linux/signal.h
@@ -272,6 +272,9 @@
 extern void exit_signals(struct task_struct *tsk);
 extern void kernel_sigaction(int, __sighandler_t);
 
+#define SIG_KTHREAD ((__force __sighandler_t)2)
+#define SIG_KTHREAD_KERNEL ((__force __sighandler_t)3)
+
 static inline void allow_signal(int sig)
 {
 	/*
@@ -279,7 +282,17 @@
 	 * know it'll be handled, so that they don't get converted to
 	 * SIGKILL or just silently dropped.
 	 */
-	kernel_sigaction(sig, (__force __sighandler_t)2);
+	kernel_sigaction(sig, SIG_KTHREAD);
+}
+
+static inline void allow_kernel_signal(int sig)
+{
+	/*
+	 * Kernel threads handle their own signals. Let the signal code
+	 * know signals sent by the kernel will be handled, so that they
+	 * don't get silently dropped.
+	 */
+	kernel_sigaction(sig, SIG_KTHREAD_KERNEL);
 }
 
 static inline void disallow_signal(int sig)
diff --git a/include/linux/stat.h b/include/linux/stat.h
index 765573d..528c4ba 100644
--- a/include/linux/stat.h
+++ b/include/linux/stat.h
@@ -33,7 +33,8 @@
 	 STATX_ATTR_IMMUTABLE |				\
 	 STATX_ATTR_APPEND |				\
 	 STATX_ATTR_NODUMP |				\
-	 STATX_ATTR_ENCRYPTED				\
+	 STATX_ATTR_ENCRYPTED |				\
+	 STATX_ATTR_VERITY				\
 	 )/* Attrs corresponding to FS_*_FL flags */
 	u64		ino;
 	dev_t		dev;
diff --git a/include/linux/switchtec.h b/include/linux/switchtec.h
index ab400af..623719c9 100644
--- a/include/linux/switchtec.h
+++ b/include/linux/switchtec.h
@@ -244,8 +244,8 @@
 		u64 xlate_addr;
 	} bar_entry[6];
 	u32 reserved2[216];
-	u32 req_id_table[256];
-	u32 reserved3[512];
+	u32 req_id_table[512];
+	u32 reserved3[256];
 	u64 lut_entry[512];
 } __packed;
 
diff --git a/include/linux/tnum.h b/include/linux/tnum.h
index c7dc2b5..06b9c20 100644
--- a/include/linux/tnum.h
+++ b/include/linux/tnum.h
@@ -26,7 +26,7 @@
 /* Shift (rsh) a tnum right (by a fixed shift) */
 struct tnum tnum_rshift(struct tnum a, u8 shift);
 /* Shift (arsh) a tnum right (by a fixed min_shift) */
-struct tnum tnum_arshift(struct tnum a, u8 min_shift);
+struct tnum tnum_arshift(struct tnum a, u8 min_shift, u8 insn_bitness);
 /* Add two tnums, return @a + @b */
 struct tnum tnum_add(struct tnum a, struct tnum b);
 /* Subtract two tnums, return @a - @b */
diff --git a/include/linux/tty.h b/include/linux/tty.h
index 761982e..4f6a57b 100644
--- a/include/linux/tty.h
+++ b/include/linux/tty.h
@@ -225,6 +225,8 @@
 	void (*write_wakeup)(struct tty_port *port);
 };
 
+extern const struct tty_port_client_operations tty_port_default_client_ops;
+
 struct tty_port {
 	struct tty_bufhead	buf;		/* Locked internally */
 	struct tty_struct	*tty;		/* Back pointer */
diff --git a/include/linux/unicode.h b/include/linux/unicode.h
index 990aa97..74484d4 100644
--- a/include/linux/unicode.h
+++ b/include/linux/unicode.h
@@ -27,6 +27,9 @@
 int utf8_casefold(const struct unicode_map *um, const struct qstr *str,
 		  unsigned char *dest, size_t dlen);
 
+int utf8_casefold_hash(const struct unicode_map *um, const void *salt,
+		       struct qstr *str);
+
 struct unicode_map *utf8_load(const char *version);
 void utf8_unload(struct unicode_map *um);
 
diff --git a/include/linux/usb/irda.h b/include/linux/usb/irda.h
index 396d2b0..556a801e 100644
--- a/include/linux/usb/irda.h
+++ b/include/linux/usb/irda.h
@@ -119,11 +119,22 @@
  * 6 - 115200 bps
  * 7 - 576000 bps
  * 8 - 1.152 Mbps
- * 9 - 5 mbps
+ * 9 - 4 Mbps
  * 10..15 - Reserved
  */
 #define USB_IRDA_STATUS_LINK_SPEED	0x0f
 
+#define USB_IRDA_LS_NO_CHANGE		0
+#define USB_IRDA_LS_2400		1
+#define USB_IRDA_LS_9600		2
+#define USB_IRDA_LS_19200		3
+#define USB_IRDA_LS_38400		4
+#define USB_IRDA_LS_57600		5
+#define USB_IRDA_LS_115200		6
+#define USB_IRDA_LS_576000		7
+#define USB_IRDA_LS_1152000		8
+#define USB_IRDA_LS_4000000		9
+
 /* The following is a 4-bit value used only for
  * outbound header:
  *
diff --git a/include/linux/usb/quirks.h b/include/linux/usb/quirks.h
index a1be64c..22c1f57 100644
--- a/include/linux/usb/quirks.h
+++ b/include/linux/usb/quirks.h
@@ -69,4 +69,7 @@
 /* Hub needs extra delay after resetting its port. */
 #define USB_QUIRK_HUB_SLOW_RESET		BIT(14)
 
+/* device has blacklisted endpoints */
+#define USB_QUIRK_ENDPOINT_BLACKLIST		BIT(15)
+
 #endif /* __LINUX_USB_QUIRKS_H */
diff --git a/include/linux/usb/tcpm.h b/include/linux/usb/tcpm.h
index 50c74a7..8cb93af 100644
--- a/include/linux/usb/tcpm.h
+++ b/include/linux/usb/tcpm.h
@@ -121,10 +121,10 @@
  *		with partner.
  * @set_pd_rx:	Called to enable or disable reception of PD messages
  * @set_roles:	Called to set power and data roles
- * @start_drp_toggling:
- *		Optional; if supported by hardware, called to start DRP
- *		toggling. DRP toggling is stopped automatically if
- *		a connection is established.
+ * @start_toggling:
+ *		Optional; if supported by hardware, called to start dual-role
+ *		toggling or single-role connection detection. Toggling stops
+ *		automatically if a connection is established.
  * @try_role:	Optional; called to set a preferred role
  * @pd_transmit:Called to transmit PD message
  * @mux:	Pointer to multiplexer data
@@ -147,8 +147,9 @@
 	int (*set_pd_rx)(struct tcpc_dev *dev, bool on);
 	int (*set_roles)(struct tcpc_dev *dev, bool attached,
 			 enum typec_role role, enum typec_data_role data);
-	int (*start_drp_toggling)(struct tcpc_dev *dev,
-				  enum typec_cc_status cc);
+	int (*start_toggling)(struct tcpc_dev *dev,
+			      enum typec_port_type port_type,
+			      enum typec_cc_status cc);
 	int (*try_role)(struct tcpc_dev *dev, int role);
 	int (*pd_transmit)(struct tcpc_dev *dev, enum tcpm_transmit_type type,
 			   const struct pd_message *msg);
diff --git a/include/linux/usb/typec.h b/include/linux/usb/typec.h
index 7df4eca..27a6fc7 100644
--- a/include/linux/usb/typec.h
+++ b/include/linux/usb/typec.h
@@ -74,6 +74,7 @@
  * @id_header: ID Header VDO
  * @cert_stat: Cert Stat VDO
  * @product: Product VDO
+ * @product_type: Product type VDO
  *
  * USB power delivery Discover Identity command response data.
  *
@@ -84,6 +85,7 @@
 	u32			id_header;
 	u32			cert_stat;
 	u32			product;
+	u32			product_type;
 };
 
 int typec_partner_set_identity(struct typec_partner *partner);
diff --git a/include/linux/usb/typec_mux.h b/include/linux/usb/typec_mux.h
index 79293f6..873ace5 100644
--- a/include/linux/usb/typec_mux.h
+++ b/include/linux/usb/typec_mux.h
@@ -3,53 +3,48 @@
 #ifndef __USB_TYPEC_MUX
 #define __USB_TYPEC_MUX
 
-#include <linux/list.h>
 #include <linux/usb/typec.h>
 
 struct device;
+struct typec_mux;
+struct typec_switch;
+struct fwnode_handle;
 
-/**
- * struct typec_switch - USB Type-C cable orientation switch
- * @dev: Switch device
- * @entry: List entry
- * @set: Callback to the driver for setting the orientation
- *
- * USB Type-C pin flipper switch routing the correct data pairs from the
- * connector to the USB controller depending on the orientation of the cable
- * plug.
- */
-struct typec_switch {
-	struct device *dev;
-	struct list_head entry;
+typedef int (*typec_switch_set_fn_t)(struct typec_switch *sw,
+				     enum typec_orientation orientation);
 
-	int (*set)(struct typec_switch *sw, enum typec_orientation orientation);
-};
-
-/**
- * struct typec_switch - USB Type-C connector pin mux
- * @dev: Mux device
- * @entry: List entry
- * @set: Callback to the driver for setting the state of the mux
- *
- * Pin Multiplexer/DeMultiplexer switch routing the USB Type-C connector pins to
- * different components depending on the requested mode of operation. Used with
- * Accessory/Alternate modes.
- */
-struct typec_mux {
-	struct device *dev;
-	struct list_head entry;
-
-	int (*set)(struct typec_mux *mux, int state);
+struct typec_switch_desc {
+	struct fwnode_handle *fwnode;
+	typec_switch_set_fn_t set;
+	void *drvdata;
 };
 
 struct typec_switch *typec_switch_get(struct device *dev);
 void typec_switch_put(struct typec_switch *sw);
-int typec_switch_register(struct typec_switch *sw);
+struct typec_switch *
+typec_switch_register(struct device *parent,
+		      const struct typec_switch_desc *desc);
 void typec_switch_unregister(struct typec_switch *sw);
 
-struct typec_mux *typec_mux_get(struct device *dev, const char *name);
+void typec_switch_set_drvdata(struct typec_switch *sw, void *data);
+void *typec_switch_get_drvdata(struct typec_switch *sw);
+
+typedef int (*typec_mux_set_fn_t)(struct typec_mux *mux, int state);
+
+struct typec_mux_desc {
+	struct fwnode_handle *fwnode;
+	typec_mux_set_fn_t set;
+	void *drvdata;
+};
+
+struct typec_mux *
+typec_mux_get(struct device *dev, const struct typec_altmode_desc *desc);
 void typec_mux_put(struct typec_mux *mux);
-int typec_mux_register(struct typec_mux *mux);
+struct typec_mux *
+typec_mux_register(struct device *parent, const struct typec_mux_desc *desc);
 void typec_mux_unregister(struct typec_mux *mux);
 
+void typec_mux_set_drvdata(struct typec_mux *mux, void *data);
+void *typec_mux_get_drvdata(struct typec_mux *mux);
+
 #endif /* __USB_TYPEC_MUX */
diff --git a/include/media/davinci/vpbe.h b/include/media/davinci/vpbe.h
index 79a566d..180a05e 100644
--- a/include/media/davinci/vpbe.h
+++ b/include/media/davinci/vpbe.h
@@ -92,7 +92,7 @@
 	struct encoder_config_info *ext_encoders;
 	/* amplifier information goes here */
 	struct amp_config_info *amp;
-	int num_outputs;
+	unsigned int num_outputs;
 	/* Order is venc outputs followed by LCD and then external encoders */
 	struct vpbe_output *outputs;
 };
diff --git a/include/media/v4l2-device.h b/include/media/v4l2-device.h
index b330e4a..40840fe 100644
--- a/include/media/v4l2-device.h
+++ b/include/media/v4l2-device.h
@@ -372,7 +372,7 @@
 		struct v4l2_subdev *__sd;				\
 									\
 		__v4l2_device_call_subdevs_p(v4l2_dev, __sd,		\
-			!(grpid) || __sd->grp_id == (grpid), o, f ,	\
+			(grpid) == 0 || __sd->grp_id == (grpid), o, f ,	\
 			##args);					\
 	} while (0)
 
@@ -404,7 +404,7 @@
 ({									\
 	struct v4l2_subdev *__sd;					\
 	__v4l2_device_call_subdevs_until_err_p(v4l2_dev, __sd,		\
-			!(grpid) || __sd->grp_id == (grpid), o, f ,	\
+			(grpid) == 0 || __sd->grp_id == (grpid), o, f ,	\
 			##args);					\
 })
 
@@ -432,8 +432,8 @@
 		struct v4l2_subdev *__sd;				\
 									\
 		__v4l2_device_call_subdevs_p(v4l2_dev, __sd,		\
-			!(grpmsk) || (__sd->grp_id & (grpmsk)), o, f ,	\
-			##args);					\
+			(grpmsk) == 0 || (__sd->grp_id & (grpmsk)), o,	\
+			f , ##args);					\
 	} while (0)
 
 /**
@@ -463,8 +463,8 @@
 ({									\
 	struct v4l2_subdev *__sd;					\
 	__v4l2_device_call_subdevs_until_err_p(v4l2_dev, __sd,		\
-			!(grpmsk) || (__sd->grp_id & (grpmsk)), o, f ,	\
-			##args);					\
+			(grpmsk) == 0 || (__sd->grp_id & (grpmsk)), o,	\
+			f , ##args);					\
 })
 
 
diff --git a/include/media/v4l2-rect.h b/include/media/v4l2-rect.h
index 595c3ba..59745e5 100644
--- a/include/media/v4l2-rect.h
+++ b/include/media/v4l2-rect.h
@@ -63,10 +63,10 @@
 		r->left = boundary->left;
 	if (r->top < boundary->top)
 		r->top = boundary->top;
-	if (r->left + r->width > boundary->width)
-		r->left = boundary->width - r->width;
-	if (r->top + r->height > boundary->height)
-		r->top = boundary->height - r->height;
+	if (r->left + r->width > boundary->left + boundary->width)
+		r->left = boundary->left + boundary->width - r->width;
+	if (r->top + r->height > boundary->top + boundary->height)
+		r->top = boundary->top + boundary->height - r->height;
 }
 
 /**
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 32b5612..97e3af5 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -3232,6 +3232,9 @@
  *
  * @start_radar_detection: Start radar detection in the driver.
  *
+ * @end_cac: End running CAC, probably because a related CAC
+ *	was finished on another phy.
+ *
  * @update_ft_ies: Provide updated Fast BSS Transition information to the
  *	driver. If the SME is in the driver/firmware, this information can be
  *	used in building Authentication and Reassociation Request frames.
@@ -3553,6 +3556,8 @@
 					 struct net_device *dev,
 					 struct cfg80211_chan_def *chandef,
 					 u32 cac_time_ms);
+	void	(*end_cac)(struct wiphy *wiphy,
+				struct net_device *dev);
 	int	(*update_ft_ies)(struct wiphy *wiphy, struct net_device *dev,
 				 struct cfg80211_update_ft_ies_params *ftie);
 	int	(*crit_proto_start)(struct wiphy *wiphy,
@@ -5065,6 +5070,17 @@
 }
 
 /**
+ * cfg80211_send_layer2_update - send layer 2 update frame
+ *
+ * @dev: network device
+ * @addr: STA MAC address
+ *
+ * Wireless drivers can use this function to update forwarding tables in bridge
+ * devices upon STA association.
+ */
+void cfg80211_send_layer2_update(struct net_device *dev, const u8 *addr);
+
+/**
  * DOC: Regulatory enforcement infrastructure
  *
  * TODO
diff --git a/include/net/flow_dissector.h b/include/net/flow_dissector.h
index 4618cbb..99f8580 100644
--- a/include/net/flow_dissector.h
+++ b/include/net/flow_dissector.h
@@ -5,6 +5,7 @@
 #include <linux/types.h>
 #include <linux/in6.h>
 #include <linux/siphash.h>
+#include <linux/string.h>
 #include <uapi/linux/if_ether.h>
 
 /**
@@ -306,4 +307,12 @@
 	return ((char *)target_container) + flow_dissector->offset[key_id];
 }
 
+static inline void
+flow_dissector_init_keys(struct flow_dissector_key_control *key_control,
+			 struct flow_dissector_key_basic *key_basic)
+{
+	memset(key_control, 0, sizeof(*key_control));
+	memset(key_basic, 0, sizeof(*key_basic));
+}
+
 #endif
diff --git a/include/net/ipx.h b/include/net/ipx.h
index baf0903..9d13428 100644
--- a/include/net/ipx.h
+++ b/include/net/ipx.h
@@ -47,11 +47,6 @@
 /* From af_ipx.c */
 extern int sysctl_ipx_pprop_broadcasting;
 
-static __inline__ struct ipxhdr *ipx_hdr(struct sk_buff *skb)
-{
-	return (struct ipxhdr *)skb_transport_header(skb);
-}
-
 struct ipx_interface {
 	/* IPX address */
 	__be32			if_netnum;
diff --git a/include/net/pkt_cls.h b/include/net/pkt_cls.h
index 75a3f3f..c1162f2 100644
--- a/include/net/pkt_cls.h
+++ b/include/net/pkt_cls.h
@@ -206,31 +206,38 @@
 	return xchg(clp, cl);
 }
 
-static inline unsigned long
-cls_set_class(struct Qdisc *q, unsigned long *clp, unsigned long cl)
+static inline void
+__tcf_bind_filter(struct Qdisc *q, struct tcf_result *r, unsigned long base)
 {
-	unsigned long old_cl;
+	unsigned long cl;
 
-	sch_tree_lock(q);
-	old_cl = __cls_set_class(clp, cl);
-	sch_tree_unlock(q);
-	return old_cl;
+	cl = q->ops->cl_ops->bind_tcf(q, base, r->classid);
+	cl = __cls_set_class(&r->class, cl);
+	if (cl)
+		q->ops->cl_ops->unbind_tcf(q, cl);
 }
 
 static inline void
 tcf_bind_filter(struct tcf_proto *tp, struct tcf_result *r, unsigned long base)
 {
 	struct Qdisc *q = tp->chain->block->q;
-	unsigned long cl;
 
 	/* Check q as it is not set for shared blocks. In that case,
 	 * setting class is not supported.
 	 */
 	if (!q)
 		return;
-	cl = q->ops->cl_ops->bind_tcf(q, base, r->classid);
-	cl = cls_set_class(q, &r->class, cl);
-	if (cl)
+	sch_tree_lock(q);
+	__tcf_bind_filter(q, r, base);
+	sch_tree_unlock(q);
+}
+
+static inline void
+__tcf_unbind_filter(struct Qdisc *q, struct tcf_result *r)
+{
+	unsigned long cl;
+
+	if ((cl = __cls_set_class(&r->class, 0)) != 0)
 		q->ops->cl_ops->unbind_tcf(q, cl);
 }
 
@@ -238,12 +245,10 @@
 tcf_unbind_filter(struct tcf_proto *tp, struct tcf_result *r)
 {
 	struct Qdisc *q = tp->chain->block->q;
-	unsigned long cl;
 
 	if (!q)
 		return;
-	if ((cl = __cls_set_class(&r->class, 0)) != 0)
-		q->ops->cl_ops->unbind_tcf(q, cl);
+	__tcf_unbind_filter(q, r);
 }
 
 struct tcf_exts {
diff --git a/include/net/request_sock.h b/include/net/request_sock.h
index 3470155..1653435 100644
--- a/include/net/request_sock.h
+++ b/include/net/request_sock.h
@@ -183,7 +183,7 @@
 
 static inline bool reqsk_queue_empty(const struct request_sock_queue *queue)
 {
-	return queue->rskq_accept_head == NULL;
+	return READ_ONCE(queue->rskq_accept_head) == NULL;
 }
 
 static inline struct request_sock *reqsk_queue_remove(struct request_sock_queue *queue,
@@ -195,7 +195,7 @@
 	req = queue->rskq_accept_head;
 	if (req) {
 		sk_acceptq_removed(parent);
-		queue->rskq_accept_head = req->dl_next;
+		WRITE_ONCE(queue->rskq_accept_head, req->dl_next);
 		if (queue->rskq_accept_head == NULL)
 			queue->rskq_accept_tail = NULL;
 	}
diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h
index c9cd508..d737a6a 100644
--- a/include/net/sch_generic.h
+++ b/include/net/sch_generic.h
@@ -273,7 +273,8 @@
 	int			(*reoffload)(struct tcf_proto *tp, bool add,
 					     tc_setup_cb_t *cb, void *cb_priv,
 					     struct netlink_ext_ack *extack);
-	void			(*bind_class)(void *, u32, unsigned long);
+	void			(*bind_class)(void *, u32, unsigned long,
+					      void *, unsigned long);
 	void *			(*tmplt_create)(struct net *net,
 						struct tcf_chain *chain,
 						struct nlattr **tca,
diff --git a/include/net/sctp/sctp.h b/include/net/sctp/sctp.h
index 2abbc15..2c6570e 100644
--- a/include/net/sctp/sctp.h
+++ b/include/net/sctp/sctp.h
@@ -625,4 +625,9 @@
 	return sctp_mtu_payload(sp, SCTP_DEFAULT_MINSEGMENT, datasize);
 }
 
+static inline bool sctp_newsk_ready(const struct sock *sk)
+{
+	return sock_flag(sk, SOCK_DEAD) || sk->sk_socket;
+}
+
 #endif /* __net_sctp_h__ */
diff --git a/include/net/tcp.h b/include/net/tcp.h
index 743412e..b6531f0 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -269,7 +269,7 @@
 	    mem_cgroup_under_socket_pressure(sk->sk_memcg))
 		return true;
 
-	return tcp_memory_pressure;
+	return READ_ONCE(tcp_memory_pressure);
 }
 /*
  * The next routines deal with comparing 32 bit unsigned ints
diff --git a/include/net/xfrm.h b/include/net/xfrm.h
index fb9b19a..48dc1ce 100644
--- a/include/net/xfrm.h
+++ b/include/net/xfrm.h
@@ -1054,7 +1054,6 @@
 void xfrm_dst_ifdown(struct dst_entry *dst, struct net_device *dev);
 
 struct xfrm_if_parms {
-	char name[IFNAMSIZ];	/* name of XFRM device */
 	int link;		/* ifindex of underlying L2 interface */
 	u32 if_id;		/* interface identifyer */
 };
diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
index 54e4d1f..874cd6e 100644
--- a/include/rdma/ib_verbs.h
+++ b/include/rdma/ib_verbs.h
@@ -3864,6 +3864,9 @@
 	    !(flags & IB_ACCESS_LOCAL_WRITE))
 		return -EINVAL;
 
+	if (flags & ~IB_ACCESS_SUPPORTED)
+		return -EINVAL;
+
 	return 0;
 }
 
diff --git a/include/scsi/iscsi_proto.h b/include/scsi/iscsi_proto.h
index f0a01a5..df156f1 100644
--- a/include/scsi/iscsi_proto.h
+++ b/include/scsi/iscsi_proto.h
@@ -638,7 +638,6 @@
 #define ISCSI_REASON_BOOKMARK_INVALID	9
 #define ISCSI_REASON_BOOKMARK_NO_RESOURCES	10
 #define ISCSI_REASON_NEGOTIATION_RESET	11
-#define ISCSI_REASON_WAITING_FOR_LOGOUT	12
 
 /* Max. number of Key=Value pairs in a text message */
 #define MAX_KEY_VALUE_PAIRS	8192
diff --git a/include/soc/qcom/cx_ipeak.h b/include/soc/qcom/cx_ipeak.h
index 53d7e9c..eed850a 100644
--- a/include/soc/qcom/cx_ipeak.h
+++ b/include/soc/qcom/cx_ipeak.h
@@ -1,11 +1,13 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
- * Copyright (c) 2018, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2018, 2020 The Linux Foundation. All rights reserved.
  */
 
 #ifndef __SOC_COM_CX_IPEAK_H
 #define __SOC_COM_CX_IPEAK_H
 
+typedef void (*cx_ipeak_victim_fn)(void *data, u32 freq_limit);
+
 struct device_node;
 struct cx_ipeak_client;
 
@@ -27,12 +29,25 @@
 {
 	return 0;
 }
+
+static inline int cx_ipeak_victim_register(struct cx_ipeak_client *client,
+		cx_ipeak_victim_fn victim_cb, void *data)
+{
+	return 0;
+}
+
+static inline void cx_ipeak_victim_unregister(struct cx_ipeak_client *client)
+{
+}
 #else
 
 struct cx_ipeak_client *cx_ipeak_register(struct device_node *dev_node,
 		const char *client_name);
 void cx_ipeak_unregister(struct cx_ipeak_client *client);
 int cx_ipeak_update(struct cx_ipeak_client *ipeak_client, bool vote);
+int cx_ipeak_victim_register(struct cx_ipeak_client *client,
+		cx_ipeak_victim_fn victim_cb, void *data);
+void cx_ipeak_victim_unregister(struct cx_ipeak_client *client);
 
 #endif
 
diff --git a/include/soc/qcom/icnss2.h b/include/soc/qcom/icnss2.h
index 64128de..bb75490 100644
--- a/include/soc/qcom/icnss2.h
+++ b/include/soc/qcom/icnss2.h
@@ -167,4 +167,7 @@
 extern int icnss_qmi_send(struct device *dev, int type, void *cmd,
 			  int cmd_len, void *cb_ctx,
 			  int (*cb)(void *ctx, void *event, int event_len));
+extern int icnss_force_wake_request(struct device *dev);
+extern int icnss_force_wake_release(struct device *dev);
+extern int icnss_is_device_awake(struct device *dev);
 #endif /* _ICNSS_WLAN_H_ */
diff --git a/include/soc/qcom/mpm.h b/include/soc/qcom/mpm.h
index 43bed05..2360335 100644
--- a/include/soc/qcom/mpm.h
+++ b/include/soc/qcom/mpm.h
@@ -16,4 +16,5 @@
 
 extern const struct mpm_pin mpm_bengal_gic_chip_data[];
 extern const struct mpm_pin mpm_scuba_gic_chip_data[];
+extern const struct mpm_pin mpm_sdm660_gic_chip_data[];
 #endif /* __QCOM_MPM_H__ */
diff --git a/include/sound/rawmidi.h b/include/sound/rawmidi.h
index 6665cb2..c2a71fd 100644
--- a/include/sound/rawmidi.h
+++ b/include/sound/rawmidi.h
@@ -92,9 +92,9 @@
 	struct list_head list;		/* list of all substream for given stream */
 	int stream;			/* direction */
 	int number;			/* substream number */
-	unsigned int opened: 1,		/* open flag */
-		     append: 1,		/* append flag (merge more streams) */
-		     active_sensing: 1; /* send active sensing when close */
+	bool opened;			/* open flag */
+	bool append;			/* append flag (merge more streams) */
+	bool active_sensing;		/* send active sensing when close */
 	int use_count;			/* use counter (for output) */
 	size_t bytes;
 	struct snd_rawmidi *rmidi;
diff --git a/include/sound/soc.h b/include/sound/soc.h
index c2c05c9..110404f 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -563,12 +563,12 @@
 
 void snd_soc_card_change_online_state(struct snd_soc_card *soc_card,
 				      int online);
-#ifdef CONFIG_SND_SOC_AC97_BUS
 struct snd_ac97 *snd_soc_alloc_ac97_component(struct snd_soc_component *component);
 struct snd_ac97 *snd_soc_new_ac97_component(struct snd_soc_component *component,
 	unsigned int id, unsigned int id_mask);
 void snd_soc_free_ac97_component(struct snd_ac97 *ac97);
 
+#ifdef CONFIG_SND_SOC_AC97_BUS
 int snd_soc_set_ac97_ops(struct snd_ac97_bus_ops *ops);
 int snd_soc_set_ac97_ops_of_reset(struct snd_ac97_bus_ops *ops,
 		struct platform_device *pdev);
diff --git a/include/trace/events/f2fs.h b/include/trace/events/f2fs.h
index bcd512b..ad989c7 100644
--- a/include/trace/events/f2fs.h
+++ b/include/trace/events/f2fs.h
@@ -49,6 +49,7 @@
 TRACE_DEFINE_ENUM(CP_RECOVERY);
 TRACE_DEFINE_ENUM(CP_DISCARD);
 TRACE_DEFINE_ENUM(CP_TRIMMED);
+TRACE_DEFINE_ENUM(CP_PAUSE);
 
 #define show_block_type(type)						\
 	__print_symbolic(type,						\
@@ -134,13 +135,14 @@
 		{ CP_SYNC,	"Sync" },				\
 		{ CP_RECOVERY,	"Recovery" },				\
 		{ CP_DISCARD,	"Discard" },				\
-		{ CP_UMOUNT,	"Umount" },				\
+		{ CP_PAUSE,	"Pause" },				\
 		{ CP_TRIMMED,	"Trimmed" })
 
 #define show_fsync_cpreason(type)					\
 	__print_symbolic(type,						\
 		{ CP_NO_NEEDED,		"no needed" },			\
 		{ CP_NON_REGULAR,	"non regular" },		\
+		{ CP_COMPRESSED,	"compressed" },			\
 		{ CP_HARDLINK,		"hardlink" },			\
 		{ CP_SB_NEED_CP,	"sb needs cp" },		\
 		{ CP_WRONG_PINO,	"wrong pino" },			\
@@ -158,6 +160,11 @@
 		{ F2FS_GOING_DOWN_METAFLUSH,	"meta flush" },		\
 		{ F2FS_GOING_DOWN_NEED_FSCK,	"need fsck" })
 
+#define show_compress_algorithm(type)					\
+	__print_symbolic(type,						\
+		{ COMPRESS_LZO,		"LZO" },			\
+		{ COMPRESS_LZ4,		"LZ4" })
+
 struct f2fs_sb_info;
 struct f2fs_io_info;
 struct extent_info;
@@ -1720,6 +1727,100 @@
 		__entry->ret)
 );
 
+DECLARE_EVENT_CLASS(f2fs_zip_start,
+
+	TP_PROTO(struct inode *inode, pgoff_t cluster_idx,
+			unsigned int cluster_size, unsigned char algtype),
+
+	TP_ARGS(inode, cluster_idx, cluster_size, algtype),
+
+	TP_STRUCT__entry(
+		__field(dev_t,	dev)
+		__field(ino_t,	ino)
+		__field(pgoff_t, idx)
+		__field(unsigned int, size)
+		__field(unsigned int, algtype)
+	),
+
+	TP_fast_assign(
+		__entry->dev = inode->i_sb->s_dev;
+		__entry->ino = inode->i_ino;
+		__entry->idx = cluster_idx;
+		__entry->size = cluster_size;
+		__entry->algtype = algtype;
+	),
+
+	TP_printk("dev = (%d,%d), ino = %lu, cluster_idx:%lu, "
+		"cluster_size = %u, algorithm = %s",
+		show_dev_ino(__entry),
+		__entry->idx,
+		__entry->size,
+		show_compress_algorithm(__entry->algtype))
+);
+
+DECLARE_EVENT_CLASS(f2fs_zip_end,
+
+	TP_PROTO(struct inode *inode, pgoff_t cluster_idx,
+			unsigned int compressed_size, int ret),
+
+	TP_ARGS(inode, cluster_idx, compressed_size, ret),
+
+	TP_STRUCT__entry(
+		__field(dev_t,	dev)
+		__field(ino_t,	ino)
+		__field(pgoff_t, idx)
+		__field(unsigned int, size)
+		__field(unsigned int, ret)
+	),
+
+	TP_fast_assign(
+		__entry->dev = inode->i_sb->s_dev;
+		__entry->ino = inode->i_ino;
+		__entry->idx = cluster_idx;
+		__entry->size = compressed_size;
+		__entry->ret = ret;
+	),
+
+	TP_printk("dev = (%d,%d), ino = %lu, cluster_idx:%lu, "
+		"compressed_size = %u, ret = %d",
+		show_dev_ino(__entry),
+		__entry->idx,
+		__entry->size,
+		__entry->ret)
+);
+
+DEFINE_EVENT(f2fs_zip_start, f2fs_compress_pages_start,
+
+	TP_PROTO(struct inode *inode, pgoff_t cluster_idx,
+		unsigned int cluster_size, unsigned char algtype),
+
+	TP_ARGS(inode, cluster_idx, cluster_size, algtype)
+);
+
+DEFINE_EVENT(f2fs_zip_start, f2fs_decompress_pages_start,
+
+	TP_PROTO(struct inode *inode, pgoff_t cluster_idx,
+		unsigned int cluster_size, unsigned char algtype),
+
+	TP_ARGS(inode, cluster_idx, cluster_size, algtype)
+);
+
+DEFINE_EVENT(f2fs_zip_end, f2fs_compress_pages_end,
+
+	TP_PROTO(struct inode *inode, pgoff_t cluster_idx,
+			unsigned int compressed_size, int ret),
+
+	TP_ARGS(inode, cluster_idx, compressed_size, ret)
+);
+
+DEFINE_EVENT(f2fs_zip_end, f2fs_decompress_pages_end,
+
+	TP_PROTO(struct inode *inode, pgoff_t cluster_idx,
+			unsigned int compressed_size, int ret),
+
+	TP_ARGS(inode, cluster_idx, compressed_size, ret)
+);
+
 #endif /* _TRACE_F2FS_H */
 
  /* This part must be outside protection */
diff --git a/include/trace/events/preemptirq.h b/include/trace/events/preemptirq.h
index 3369655..752da32 100644
--- a/include/trace/events/preemptirq.h
+++ b/include/trace/events/preemptirq.h
@@ -18,13 +18,13 @@
 	TP_ARGS(ip, parent_ip),
 
 	TP_STRUCT__entry(
-		__field(u32, caller_offs)
-		__field(u32, parent_offs)
+		__field(s32, caller_offs)
+		__field(s32, parent_offs)
 	),
 
 	TP_fast_assign(
-		__entry->caller_offs = (u32)(ip - (unsigned long)_stext);
-		__entry->parent_offs = (u32)(parent_ip - (unsigned long)_stext);
+		__entry->caller_offs = (s32)(ip - (unsigned long)_stext);
+		__entry->parent_offs = (s32)(parent_ip - (unsigned long)_stext);
 	),
 
 	TP_printk("caller=%pF parent=%pF",
diff --git a/include/trace/events/random.h b/include/trace/events/random.h
index 0560dfc3..32c10a5 100644
--- a/include/trace/events/random.h
+++ b/include/trace/events/random.h
@@ -62,15 +62,14 @@
 
 TRACE_EVENT(credit_entropy_bits,
 	TP_PROTO(const char *pool_name, int bits, int entropy_count,
-		 int entropy_total, unsigned long IP),
+		 unsigned long IP),
 
-	TP_ARGS(pool_name, bits, entropy_count, entropy_total, IP),
+	TP_ARGS(pool_name, bits, entropy_count, IP),
 
 	TP_STRUCT__entry(
 		__field( const char *,	pool_name		)
 		__field(	  int,	bits			)
 		__field(	  int,	entropy_count		)
-		__field(	  int,	entropy_total		)
 		__field(unsigned long,	IP			)
 	),
 
@@ -78,14 +77,12 @@
 		__entry->pool_name	= pool_name;
 		__entry->bits		= bits;
 		__entry->entropy_count	= entropy_count;
-		__entry->entropy_total	= entropy_total;
 		__entry->IP		= IP;
 	),
 
-	TP_printk("%s pool: bits %d entropy_count %d entropy_total %d "
-		  "caller %pS", __entry->pool_name, __entry->bits,
-		  __entry->entropy_count, __entry->entropy_total,
-		  (void *)__entry->IP)
+	TP_printk("%s pool: bits %d entropy_count %d caller %pS",
+		  __entry->pool_name, __entry->bits,
+		  __entry->entropy_count, (void *)__entry->IP)
 );
 
 TRACE_EVENT(push_to_pool,
diff --git a/include/trace/events/rxrpc.h b/include/trace/events/rxrpc.h
index a08916e..0924119 100644
--- a/include/trace/events/rxrpc.h
+++ b/include/trace/events/rxrpc.h
@@ -554,10 +554,10 @@
 	    );
 
 TRACE_EVENT(rxrpc_conn,
-	    TP_PROTO(struct rxrpc_connection *conn, enum rxrpc_conn_trace op,
+	    TP_PROTO(unsigned int conn_debug_id, enum rxrpc_conn_trace op,
 		     int usage, const void *where),
 
-	    TP_ARGS(conn, op, usage, where),
+	    TP_ARGS(conn_debug_id, op, usage, where),
 
 	    TP_STRUCT__entry(
 		    __field(unsigned int,	conn		)
@@ -567,7 +567,7 @@
 			     ),
 
 	    TP_fast_assign(
-		    __entry->conn = conn->debug_id;
+		    __entry->conn = conn_debug_id;
 		    __entry->op = op;
 		    __entry->usage = usage;
 		    __entry->where = where;
diff --git a/include/trace/events/xen.h b/include/trace/events/xen.h
index fdcf88b..bb76c03 100644
--- a/include/trace/events/xen.h
+++ b/include/trace/events/xen.h
@@ -66,7 +66,11 @@
 	    TP_PROTO(xen_mc_callback_fn_t fn, void *data),
 	    TP_ARGS(fn, data),
 	    TP_STRUCT__entry(
-		    __field(xen_mc_callback_fn_t, fn)
+		    /*
+		     * Use field_struct to avoid is_signed_type()
+		     * comparison of a function pointer.
+		     */
+		    __field_struct(xen_mc_callback_fn_t, fn)
 		    __field(void *, data)
 		    ),
 	    TP_fast_assign(
diff --git a/include/uapi/linux/btf.h b/include/uapi/linux/btf.h
index 972265f..1e2662f 100644
--- a/include/uapi/linux/btf.h
+++ b/include/uapi/linux/btf.h
@@ -22,9 +22,9 @@
 };
 
 /* Max # of type identifier */
-#define BTF_MAX_TYPE	0x0000ffff
+#define BTF_MAX_TYPE	0x000fffff
 /* Max offset into the string section */
-#define BTF_MAX_NAME_OFFSET	0x0000ffff
+#define BTF_MAX_NAME_OFFSET	0x00ffffff
 /* Max # of struct/union/enum members or func args */
 #define BTF_MAX_VLEN	0xffff
 
diff --git a/include/uapi/linux/fscrypt.h b/include/uapi/linux/fscrypt.h
index 12ac8cc..8b3e3da 100644
--- a/include/uapi/linux/fscrypt.h
+++ b/include/uapi/linux/fscrypt.h
@@ -8,6 +8,7 @@
 #ifndef _UAPI_LINUX_FSCRYPT_H
 #define _UAPI_LINUX_FSCRYPT_H
 
+#include <linux/ioctl.h>
 #include <linux/types.h>
 
 /* Encryption policy flags */
diff --git a/include/uapi/linux/incrementalfs.h b/include/uapi/linux/incrementalfs.h
new file mode 100644
index 0000000..b257b9f
--- /dev/null
+++ b/include/uapi/linux/incrementalfs.h
@@ -0,0 +1,245 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Userspace interface for Incremental FS.
+ *
+ * Incremental FS is special-purpose Linux virtual file system that allows
+ * execution of a program while its binary and resource files are still being
+ * lazily downloaded over the network, USB etc.
+ *
+ * Copyright 2019 Google LLC
+ */
+#ifndef _UAPI_LINUX_INCREMENTALFS_H
+#define _UAPI_LINUX_INCREMENTALFS_H
+
+#include <linux/limits.h>
+#include <linux/ioctl.h>
+#include <linux/types.h>
+#include <linux/xattr.h>
+
+/* ===== constants ===== */
+#define INCFS_NAME "incremental-fs"
+#define INCFS_MAGIC_NUMBER (0x5346434e49ul)
+#define INCFS_DATA_FILE_BLOCK_SIZE 4096
+#define INCFS_HEADER_VER 1
+
+/* TODO: This value is assumed in incfs_copy_signature_info_from_user to be the
+ * actual signature length. Set back to 64 when fixed.
+ */
+#define INCFS_MAX_HASH_SIZE 32
+#define INCFS_MAX_FILE_ATTR_SIZE 512
+
+#define INCFS_PENDING_READS_FILENAME ".pending_reads"
+#define INCFS_LOG_FILENAME ".log"
+#define INCFS_XATTR_ID_NAME (XATTR_USER_PREFIX "incfs.id")
+#define INCFS_XATTR_SIZE_NAME (XATTR_USER_PREFIX "incfs.size")
+#define INCFS_XATTR_METADATA_NAME (XATTR_USER_PREFIX "incfs.metadata")
+
+#define INCFS_MAX_SIGNATURE_SIZE 8096
+
+#define INCFS_IOCTL_BASE_CODE 'g'
+
+/* ===== ioctl requests on the command dir ===== */
+
+/* Create a new file */
+#define INCFS_IOC_CREATE_FILE \
+	_IOWR(INCFS_IOCTL_BASE_CODE, 30, struct incfs_new_file_args)
+
+/* Read file signature */
+#define INCFS_IOC_READ_FILE_SIGNATURE                                          \
+	_IOWR(INCFS_IOCTL_BASE_CODE, 31, struct incfs_get_file_sig_args)
+
+enum incfs_compression_alg {
+	COMPRESSION_NONE = 0,
+	COMPRESSION_LZ4 = 1
+};
+
+enum incfs_block_flags {
+	INCFS_BLOCK_FLAGS_NONE = 0,
+	INCFS_BLOCK_FLAGS_HASH = 1,
+};
+
+typedef struct {
+	__u8 bytes[16];
+} incfs_uuid_t __attribute__((aligned (8)));
+
+/*
+ * Description of a pending read. A pending read - a read call by
+ * a userspace program for which the filesystem currently doesn't have data.
+ */
+struct incfs_pending_read_info {
+	/* Id of a file that is being read from. */
+	incfs_uuid_t file_id;
+
+	/* A number of microseconds since system boot to the read. */
+	__aligned_u64 timestamp_us;
+
+	/* Index of a file block that is being read. */
+	__u32 block_index;
+
+	/* A serial number of this pending read. */
+	__u32 serial_number;
+};
+
+/*
+ * A struct to be written into a control file to load a data or hash
+ * block to a data file.
+ */
+struct incfs_new_data_block {
+	/* Index of a data block. */
+	__u32 block_index;
+
+	/* Length of data */
+	__u32 data_len;
+
+	/*
+	 * A pointer to an actual data for the block.
+	 *
+	 * Equivalent to: __u8 *data;
+	 */
+	__aligned_u64 data;
+
+	/*
+	 * Compression algorithm used to compress the data block.
+	 * Values from enum incfs_compression_alg.
+	 */
+	__u8 compression;
+
+	/* Values from enum incfs_block_flags */
+	__u8 flags;
+
+	__u16 reserved1;
+
+	__u32 reserved2;
+
+	__aligned_u64 reserved3;
+};
+
+enum incfs_hash_tree_algorithm {
+	INCFS_HASH_TREE_NONE = 0,
+	INCFS_HASH_TREE_SHA256 = 1
+};
+
+struct incfs_file_signature_info {
+	/*
+	 * A pointer to file's root hash (if determined != 0)
+	 * Actual hash size determined by hash_tree_alg.
+	 * Size of the buffer should be at least INCFS_MAX_HASH_SIZE
+	 *
+	 * Equivalent to: u8 *root_hash;
+	 */
+	__aligned_u64 root_hash;
+
+	/*
+	 * A pointer to additional data that was attached to the root hash
+	 * before signing.
+	 *
+	 * Equivalent to: u8 *additional_data;
+	 */
+	__aligned_u64 additional_data;
+
+	/* Size of additional data. */
+	__u32 additional_data_size;
+
+	__u32 reserved1;
+
+	/*
+	 * A pointer to pkcs7 signature DER blob.
+	 *
+	 * Equivalent to: u8 *signature;
+	 */
+	__aligned_u64 signature;
+
+
+	/* Size of pkcs7 signature DER blob */
+	__u32 signature_size;
+
+	__u32 reserved2;
+
+	/* Value from incfs_hash_tree_algorithm */
+	__u8 hash_tree_alg;
+};
+
+/*
+ * Create a new file or directory.
+ */
+struct incfs_new_file_args {
+	/* Id of a file to create. */
+	incfs_uuid_t file_id;
+
+	/*
+	 * Total size of the new file. Ignored if S_ISDIR(mode).
+	 */
+	__aligned_u64 size;
+
+	/*
+	 * File mode. Permissions and dir flag.
+	 */
+	__u16 mode;
+
+	__u16 reserved1;
+
+	__u32 reserved2;
+
+	/*
+	 * A pointer to a null-terminated relative path to the file's parent
+	 * dir.
+	 * Max length: PATH_MAX
+	 *
+	 * Equivalent to: char *directory_path;
+	 */
+	__aligned_u64 directory_path;
+
+	/*
+	 * A pointer to a null-terminated file's name.
+	 * Max length: PATH_MAX
+	 *
+	 * Equivalent to: char *file_name;
+	 */
+	__aligned_u64 file_name;
+
+	/*
+	 * A pointer to a file attribute to be set on creation.
+	 *
+	 * Equivalent to: u8 *file_attr;
+	 */
+	__aligned_u64 file_attr;
+
+	/*
+	 * Length of the data buffer specfied by file_attr.
+	 * Max value: INCFS_MAX_FILE_ATTR_SIZE
+	 */
+	__u32 file_attr_len;
+
+	__u32 reserved4;
+
+	/* struct incfs_file_signature_info *signature_info; */
+	__aligned_u64 signature_info;
+
+	__aligned_u64 reserved5;
+
+	__aligned_u64 reserved6;
+};
+
+/*
+ * Request a digital signature blob for a given file.
+ * Argument for INCFS_IOC_READ_FILE_SIGNATURE ioctl
+ */
+struct incfs_get_file_sig_args {
+	/*
+	 * A pointer to the data buffer to save an signature blob to.
+	 *
+	 * Equivalent to: u8 *file_signature;
+	 */
+	__aligned_u64 file_signature;
+
+	/* Size of the buffer at file_signature. */
+	__u32 file_signature_buf_size;
+
+	/*
+	 * Number of bytes save file_signature buffer.
+	 * It is set after ioctl done.
+	 */
+	__u32 file_signature_len_out;
+};
+
+#endif /* _UAPI_LINUX_INCREMENTALFS_H */
diff --git a/include/uapi/linux/input.h b/include/uapi/linux/input.h
index f056b2a..9a61c28 100644
--- a/include/uapi/linux/input.h
+++ b/include/uapi/linux/input.h
@@ -34,6 +34,7 @@
 	__kernel_ulong_t __sec;
 #if defined(__sparc__) && defined(__arch64__)
 	unsigned int __usec;
+	unsigned int __pad;
 #else
 	__kernel_ulong_t __usec;
 #endif
diff --git a/include/uapi/linux/kcov.h b/include/uapi/linux/kcov.h
index 9529867..1d0350e 100644
--- a/include/uapi/linux/kcov.h
+++ b/include/uapi/linux/kcov.h
@@ -4,9 +4,24 @@
 
 #include <linux/types.h>
 
+/*
+ * Argument for KCOV_REMOTE_ENABLE ioctl, see Documentation/dev-tools/kcov.rst
+ * and the comment before kcov_remote_start() for usage details.
+ */
+struct kcov_remote_arg {
+	__u32		trace_mode;	/* KCOV_TRACE_PC or KCOV_TRACE_CMP */
+	__u32		area_size;	/* Length of coverage buffer in words */
+	__u32		num_handles;	/* Size of handles array */
+	__aligned_u64	common_handle;
+	__aligned_u64	handles[0];
+};
+
+#define KCOV_REMOTE_MAX_HANDLES		0x100
+
 #define KCOV_INIT_TRACE			_IOR('c', 1, unsigned long)
 #define KCOV_ENABLE			_IO('c', 100)
 #define KCOV_DISABLE			_IO('c', 101)
+#define KCOV_REMOTE_ENABLE		_IOW('c', 102, struct kcov_remote_arg)
 
 enum {
 	/*
@@ -32,4 +47,17 @@
 #define KCOV_CMP_SIZE(n)        ((n) << 1)
 #define KCOV_CMP_MASK           KCOV_CMP_SIZE(3)
 
+#define KCOV_SUBSYSTEM_COMMON	(0x00ull << 56)
+#define KCOV_SUBSYSTEM_USB	(0x01ull << 56)
+
+#define KCOV_SUBSYSTEM_MASK	(0xffull << 56)
+#define KCOV_INSTANCE_MASK	(0xffffffffull)
+
+static inline __u64 kcov_remote_handle(__u64 subsys, __u64 inst)
+{
+	if (subsys & ~KCOV_SUBSYSTEM_MASK || inst & ~KCOV_INSTANCE_MASK)
+		return 0;
+	return subsys | inst;
+}
+
 #endif /* _LINUX_KCOV_IOCTLS_H */
diff --git a/include/uapi/linux/ndctl.h b/include/uapi/linux/ndctl.h
index 2f2c43d..f57c9e4 100644
--- a/include/uapi/linux/ndctl.h
+++ b/include/uapi/linux/ndctl.h
@@ -202,10 +202,6 @@
 	ND_DRIVER_DAX_PMEM	  = 1 << ND_DEVICE_DAX_PMEM,
 };
 
-enum {
-	ND_MIN_NAMESPACE_SIZE = PAGE_SIZE,
-};
-
 enum ars_masks {
 	ARS_STATUS_MASK = 0x0000FFFF,
 	ARS_EXT_STATUS_SHIFT = 16,
diff --git a/include/uapi/linux/netfilter/nf_tables.h b/include/uapi/linux/netfilter/nf_tables.h
index 325ec6e..5eac62e 100644
--- a/include/uapi/linux/netfilter/nf_tables.h
+++ b/include/uapi/linux/netfilter/nf_tables.h
@@ -1128,7 +1128,7 @@
 	NFT_LOGLEVEL_AUDIT,
 	__NFT_LOGLEVEL_MAX
 };
-#define NFT_LOGLEVEL_MAX	(__NFT_LOGLEVEL_MAX + 1)
+#define NFT_LOGLEVEL_MAX	(__NFT_LOGLEVEL_MAX - 1)
 
 /**
  * enum nft_queue_attributes - nf_tables queue expression netlink attributes
diff --git a/include/uapi/linux/random.h b/include/uapi/linux/random.h
index 26ee913..dcc1b3e 100644
--- a/include/uapi/linux/random.h
+++ b/include/uapi/linux/random.h
@@ -48,9 +48,11 @@
  * Flags for getrandom(2)
  *
  * GRND_NONBLOCK	Don't block and return EAGAIN instead
- * GRND_RANDOM		Use the /dev/random pool instead of /dev/urandom
+ * GRND_RANDOM		No effect
+ * GRND_INSECURE	Return non-cryptographic random bytes
  */
 #define GRND_NONBLOCK	0x0001
 #define GRND_RANDOM	0x0002
+#define GRND_INSECURE	0x0004
 
 #endif /* _UAPI_LINUX_RANDOM_H */
diff --git a/include/uapi/linux/sched.h b/include/uapi/linux/sched.h
index ed4ee17..617bb59 100644
--- a/include/uapi/linux/sched.h
+++ b/include/uapi/linux/sched.h
@@ -51,9 +51,21 @@
 #define SCHED_FLAG_RESET_ON_FORK	0x01
 #define SCHED_FLAG_RECLAIM		0x02
 #define SCHED_FLAG_DL_OVERRUN		0x04
+#define SCHED_FLAG_KEEP_POLICY		0x08
+#define SCHED_FLAG_KEEP_PARAMS		0x10
+#define SCHED_FLAG_UTIL_CLAMP_MIN	0x20
+#define SCHED_FLAG_UTIL_CLAMP_MAX	0x40
+
+#define SCHED_FLAG_KEEP_ALL	(SCHED_FLAG_KEEP_POLICY | \
+				 SCHED_FLAG_KEEP_PARAMS)
+
+#define SCHED_FLAG_UTIL_CLAMP	(SCHED_FLAG_UTIL_CLAMP_MIN | \
+				 SCHED_FLAG_UTIL_CLAMP_MAX)
 
 #define SCHED_FLAG_ALL	(SCHED_FLAG_RESET_ON_FORK	| \
 			 SCHED_FLAG_RECLAIM		| \
-			 SCHED_FLAG_DL_OVERRUN)
+			 SCHED_FLAG_DL_OVERRUN		| \
+			 SCHED_FLAG_KEEP_ALL		| \
+			 SCHED_FLAG_UTIL_CLAMP)
 
 #endif /* _UAPI_LINUX_SCHED_H */
diff --git a/include/uapi/linux/sched/types.h b/include/uapi/linux/sched/types.h
index 10fbb80..c852153 100644
--- a/include/uapi/linux/sched/types.h
+++ b/include/uapi/linux/sched/types.h
@@ -9,6 +9,7 @@
 };
 
 #define SCHED_ATTR_SIZE_VER0	48	/* sizeof first published struct */
+#define SCHED_ATTR_SIZE_VER1	56	/* add: util_{min,max} */
 
 /*
  * Extended scheduling parameters data structure.
@@ -21,8 +22,33 @@
  * the tasks may be useful for a wide variety of application fields, e.g.,
  * multimedia, streaming, automation and control, and many others.
  *
- * This variant (sched_attr) is meant at describing a so-called
- * sporadic time-constrained task. In such model a task is specified by:
+ * This variant (sched_attr) allows to define additional attributes to
+ * improve the scheduler knowledge about task requirements.
+ *
+ * Scheduling Class Attributes
+ * ===========================
+ *
+ * A subset of sched_attr attributes specifies the
+ * scheduling policy and relative POSIX attributes:
+ *
+ *  @size		size of the structure, for fwd/bwd compat.
+ *
+ *  @sched_policy	task's scheduling policy
+ *  @sched_nice		task's nice value      (SCHED_NORMAL/BATCH)
+ *  @sched_priority	task's static priority (SCHED_FIFO/RR)
+ *
+ * Certain more advanced scheduling features can be controlled by a
+ * predefined set of flags via the attribute:
+ *
+ *  @sched_flags	for customizing the scheduler behaviour
+ *
+ * Sporadic Time-Constrained Task Attributes
+ * =========================================
+ *
+ * A subset of sched_attr attributes allows to describe a so-called
+ * sporadic time-constrained task.
+ *
+ * In such a model a task is specified by:
  *  - the activation period or minimum instance inter-arrival time;
  *  - the maximum (or average, depending on the actual scheduling
  *    discipline) computation time of all instances, a.k.a. runtime;
@@ -34,14 +60,8 @@
  * than the runtime and must be completed by time instant t equal to
  * the instance activation time + the deadline.
  *
- * This is reflected by the actual fields of the sched_attr structure:
+ * This is reflected by the following fields of the sched_attr structure:
  *
- *  @size		size of the structure, for fwd/bwd compat.
- *
- *  @sched_policy	task's scheduling policy
- *  @sched_flags	for customizing the scheduler behaviour
- *  @sched_nice		task's nice value      (SCHED_NORMAL/BATCH)
- *  @sched_priority	task's static priority (SCHED_FIFO/RR)
  *  @sched_deadline	representative of the task's deadline
  *  @sched_runtime	representative of the task's runtime
  *  @sched_period	representative of the task's period
@@ -53,6 +73,29 @@
  * As of now, the SCHED_DEADLINE policy (sched_dl scheduling class) is the
  * only user of this new interface. More information about the algorithm
  * available in the scheduling class file or in Documentation/.
+ *
+ * Task Utilization Attributes
+ * ===========================
+ *
+ * A subset of sched_attr attributes allows to specify the utilization
+ * expected for a task. These attributes allow to inform the scheduler about
+ * the utilization boundaries within which it should schedule the task. These
+ * boundaries are valuable hints to support scheduler decisions on both task
+ * placement and frequency selection.
+ *
+ *  @sched_util_min	represents the minimum utilization
+ *  @sched_util_max	represents the maximum utilization
+ *
+ * Utilization is a value in the range [0..SCHED_CAPACITY_SCALE]. It
+ * represents the percentage of CPU time used by a task when running at the
+ * maximum frequency on the highest capacity CPU of the system. For example, a
+ * 20% utilization task is a task running for 2ms every 10ms at maximum
+ * frequency.
+ *
+ * A task with a min utilization value bigger than 0 is more likely scheduled
+ * on a CPU with a capacity big enough to fit the specified value.
+ * A task with a max utilization value smaller than 1024 is more likely
+ * scheduled on a CPU with no more capacity than the specified value.
  */
 struct sched_attr {
 	__u32 size;
@@ -70,6 +113,11 @@
 	__u64 sched_runtime;
 	__u64 sched_deadline;
 	__u64 sched_period;
+
+	/* Utilization hints */
+	__u32 sched_util_min;
+	__u32 sched_util_max;
+
 };
 
 #endif /* _UAPI_LINUX_SCHED_TYPES_H */
diff --git a/include/uapi/linux/stat.h b/include/uapi/linux/stat.h
index 7b35e98..ad80a5c 100644
--- a/include/uapi/linux/stat.h
+++ b/include/uapi/linux/stat.h
@@ -167,8 +167,8 @@
 #define STATX_ATTR_APPEND		0x00000020 /* [I] File is append-only */
 #define STATX_ATTR_NODUMP		0x00000040 /* [I] File is not to be dumped */
 #define STATX_ATTR_ENCRYPTED		0x00000800 /* [I] File requires key to decrypt in fs */
-
 #define STATX_ATTR_AUTOMOUNT		0x00001000 /* Dir: Automount trigger */
+#define STATX_ATTR_VERITY		0x00100000 /* [I] Verity protected file */
 
 
 #endif /* _UAPI_LINUX_STAT_H */
diff --git a/include/uapi/linux/usb/charger.h b/include/uapi/linux/usb/charger.h
index 5f72af3..ad22079 100644
--- a/include/uapi/linux/usb/charger.h
+++ b/include/uapi/linux/usb/charger.h
@@ -14,18 +14,18 @@
  * ACA (Accessory Charger Adapters)
  */
 enum usb_charger_type {
-	UNKNOWN_TYPE,
-	SDP_TYPE,
-	DCP_TYPE,
-	CDP_TYPE,
-	ACA_TYPE,
+	UNKNOWN_TYPE = 0,
+	SDP_TYPE = 1,
+	DCP_TYPE = 2,
+	CDP_TYPE = 3,
+	ACA_TYPE = 4,
 };
 
 /* USB charger state */
 enum usb_charger_state {
-	USB_CHARGER_DEFAULT,
-	USB_CHARGER_PRESENT,
-	USB_CHARGER_ABSENT,
+	USB_CHARGER_DEFAULT = 0,
+	USB_CHARGER_PRESENT = 1,
+	USB_CHARGER_ABSENT = 2,
 };
 
 #endif /* _UAPI__LINUX_USB_CHARGER_H */
diff --git a/include/uapi/linux/virtio_ids.h b/include/uapi/linux/virtio_ids.h
index 6d5c3b2..32b2f94 100644
--- a/include/uapi/linux/virtio_ids.h
+++ b/include/uapi/linux/virtio_ids.h
@@ -43,5 +43,6 @@
 #define VIRTIO_ID_INPUT        18 /* virtio input */
 #define VIRTIO_ID_VSOCK        19 /* virtio vsock transport */
 #define VIRTIO_ID_CRYPTO       20 /* virtio crypto */
+#define VIRTIO_ID_PMEM         27 /* virtio pmem */
 
 #endif /* _LINUX_VIRTIO_IDS_H */
diff --git a/include/uapi/linux/virtio_pmem.h b/include/uapi/linux/virtio_pmem.h
new file mode 100644
index 0000000..efcd72f
--- /dev/null
+++ b/include/uapi/linux/virtio_pmem.h
@@ -0,0 +1,34 @@
+/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
+/*
+ * Definitions for virtio-pmem devices.
+ *
+ * Copyright (C) 2019 Red Hat, Inc.
+ *
+ * Author(s): Pankaj Gupta <pagupta@redhat.com>
+ */
+
+#ifndef _UAPI_LINUX_VIRTIO_PMEM_H
+#define _UAPI_LINUX_VIRTIO_PMEM_H
+
+#include <linux/types.h>
+#include <linux/virtio_ids.h>
+#include <linux/virtio_config.h>
+
+struct virtio_pmem_config {
+	__u64 start;
+	__u64 size;
+};
+
+#define VIRTIO_PMEM_REQ_TYPE_FLUSH      0
+
+struct virtio_pmem_resp {
+	/* Host return status corresponding to flush request */
+	__u32 ret;
+};
+
+struct virtio_pmem_req {
+	/* command type */
+	__u32 type;
+};
+
+#endif
diff --git a/init/Kconfig b/init/Kconfig
index 5fe5082..ff9c4c6 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -709,6 +709,59 @@
 config GENERIC_SCHED_CLOCK
 	bool
 
+menu "Scheduler features"
+
+config UCLAMP_TASK
+	bool "Enable utilization clamping for RT/FAIR tasks"
+	depends on CPU_FREQ_GOV_SCHEDUTIL
+	help
+	  This feature enables the scheduler to track the clamped utilization
+	  of each CPU based on RUNNABLE tasks scheduled on that CPU.
+
+	  With this option, the user can specify the min and max CPU
+	  utilization allowed for RUNNABLE tasks. The max utilization defines
+	  the maximum frequency a task should use while the min utilization
+	  defines the minimum frequency it should use.
+
+	  Both min and max utilization clamp values are hints to the scheduler,
+	  aiming at improving its frequency selection policy, but they do not
+	  enforce or grant any specific bandwidth for tasks.
+
+	  If in doubt, say N.
+
+config UCLAMP_BUCKETS_COUNT
+	int "Number of supported utilization clamp buckets"
+	range 5 20
+	default 5
+	depends on UCLAMP_TASK
+	help
+	  Defines the number of clamp buckets to use. The range of each bucket
+	  will be SCHED_CAPACITY_SCALE/UCLAMP_BUCKETS_COUNT. The higher the
+	  number of clamp buckets the finer their granularity and the higher
+	  the precision of clamping aggregation and tracking at run-time.
+
+	  For example, with the minimum configuration value we will have 5
+	  clamp buckets tracking 20% utilization each. A 25% boosted tasks will
+	  be refcounted in the [20..39]% bucket and will set the bucket clamp
+	  effective value to 25%.
+	  If a second 30% boosted task should be co-scheduled on the same CPU,
+	  that task will be refcounted in the same bucket of the first task and
+	  it will boost the bucket clamp effective value to 30%.
+	  The clamp effective value of a bucket is reset to its nominal value
+	  (20% in the example above) when there are no more tasks refcounted in
+	  that bucket.
+
+	  An additional boost/capping margin can be added to some tasks. In the
+	  example above the 25% task will be boosted to 30% until it exits the
+	  CPU. If that should be considered not acceptable on certain systems,
+	  it's always possible to reduce the margin by increasing the number of
+	  clamp buckets to trade off used memory for run-time tracking
+	  precision.
+
+	  If in doubt, use the default value.
+
+endmenu
+
 #
 # For architectures that want to enable the support for NUMA-affine scheduler
 # balancing logic:
@@ -882,6 +935,28 @@
 
 endif #CGROUP_SCHED
 
+config UCLAMP_TASK_GROUP
+	bool "Utilization clamping per group of tasks"
+	depends on CGROUP_SCHED
+	depends on UCLAMP_TASK
+	default n
+	help
+	  This feature enables the scheduler to track the clamped utilization
+	  of each CPU based on RUNNABLE tasks currently scheduled on that CPU.
+
+	  When this option is enabled, the user can specify a min and max
+	  CPU bandwidth which is allowed for each single task in a group.
+	  The max bandwidth allows to clamp the maximum frequency a task
+	  can use, while the min bandwidth allows to define a minimum
+	  frequency a task will always use.
+
+	  When task group based utilization clamping is enabled, an eventually
+	  specified task-specific clamp value is constrained by the cgroup
+	  specified clamp value. Both minimum and maximum task clamping cannot
+	  be bigger than the corresponding clamping defined at task group level.
+
+	  If in doubt, say N.
+
 config CGROUP_PIDS
 	bool "PIDs controller"
 	help
@@ -1099,6 +1174,7 @@
 
 config SCHED_TUNE
 	bool "Boosting for CFS tasks (EXPERIMENTAL)"
+	depends on !UCLAMP_TASK
 	depends on SMP
 	help
 	  This option enables support for task classification using a new
@@ -2098,6 +2174,19 @@
 
 	  If unsure, or if you need to build out-of-tree modules, say N.
 
+config UNUSED_KSYMS_WHITELIST
+	string "Whitelist of symbols to keep in ksymtab"
+	depends on TRIM_UNUSED_KSYMS
+	help
+	  By default, all unused exported symbols will be un-exported from the
+	  build when TRIM_UNUSED_KSYMS is selected.
+
+	  UNUSED_KSYMS_WHITELIST allows to whitelist symbols that must be kept
+	  exported at all times, even in absence of in-tree users. The value to
+	  set here is the path to a text file containing the list of symbols,
+	  one per line. The path can be absolute, or relative to the kernel
+	  source tree.
+
 endif # MODULES
 
 config MODULES_TREE_LOOKUP
diff --git a/init/Kconfig.gki b/init/Kconfig.gki
index 7bd91be..e4e6de1 100644
--- a/init/Kconfig.gki
+++ b/init/Kconfig.gki
@@ -7,7 +7,7 @@
 	select VIDEOMODE_HELPERS
 	help
 	  Dummy config option used to enable hidden DRM configs.
-	  These are normally selected implicitely when including a
+	  These are normally selected implicitly when including a
 	  DRM module, but for GKI, the modules are built out-of-tree.
 
 config GKI_HIDDEN_REGMAP_CONFIGS
@@ -15,7 +15,26 @@
 	select REGMAP_IRQ
 	help
 	  Dummy config option used to enable hidden regmap configs.
-	  These are normally selected implicitely when a module
+	  These are normally selected implicitly when a module
+	  that relies on it is configured.
+
+config GKI_HIDDEN_CRYPTO_CONFIGS
+	bool "Hidden CRYPTO configs needed for GKI"
+	select CRYPTO_ENGINE
+	help
+	  Dummy config option used to enable hidden CRYPTO configs.
+	  These are normally selected implicitly when a module
+	  that relies on it is configured.
+
+config GKI_HIDDEN_SND_CONFIGS
+	bool "Hidden SND configs needed for GKI"
+	select SND_VMASTER
+	select SND_PCM_ELD
+	select SND_JACK
+	select SND_JACK_INPUT_DEV
+	help
+	  Dummy config option used to enable hidden SND configs.
+	  These are normally selected implicitly when a module
 	  that relies on it is configured.
 
 config GKI_HIDDEN_SND_SOC_CONFIGS
@@ -23,7 +42,7 @@
 	select SND_SOC_GENERIC_DMAENGINE_PCM if (SND_SOC && SND)
 	help
 	  Dummy config option used to enable hidden SND_SOC configs.
-	  These are normally selected implicitely when a module
+	  These are normally selected implicitly when a module
 	  that relies on it is configured.
 
 config GKI_HIDDEN_GPIO_CONFIGS
@@ -32,7 +51,15 @@
 	select GPIO_PL061 if (HAS_IOMEM && ARM_AMBA && GPIOLIB)
 	help
 	  Dummy config option used to enable hidden GPIO configs.
-	  These are normally selected implicitely when a module
+	  These are normally selected implicitly when a module
+	  that relies on it is configured.
+
+config GKI_HIDDEN_VIRTUAL_CONFIGS
+	bool "Hidden Virtual configs needed for GKI"
+	select HVC_DRIVER
+	help
+	  Dummy config option used to enable hidden virtual device configs.
+	  These are normally selected implicitly when a module
 	  that relies on it is configured.
 
 # LEGACY_WEXT_ALLCONFIG Discussed upstream, soundly rejected as a unique
@@ -54,6 +81,13 @@
 	  If you are not building a kernel to be used for a variety of
 	  out-of-kernel built wireless modules, say N here.
 
+config GKI_HIDDEN_SOC_PM_CONFIGS
+	bool "Hidden SOC Power Management configs for GKI"
+	select PM_GENERIC_DOMAINS if PM
+	help
+	  Dummy config option used to enable all the hidden SOC specific power
+	  management add-in modules.
+
 # Atrocities needed for
 # a) building GKI modules in separate tree, or
 # b) building drivers that are not modularizable
@@ -63,11 +97,15 @@
 #
 config GKI_HACKS_TO_FIX
 	bool "GKI Dummy config options"
+	select GKI_HIDDEN_CRYPTO_CONFIGS
 	select GKI_HIDDEN_DRM_CONFIGS
 	select GKI_HIDDEN_REGMAP_CONFIGS
+	select GKI_HIDDEN_SND_CONFIGS
 	select GKI_HIDDEN_SND_SOC_CONFIGS
 	select GKI_HIDDEN_GPIO_CONFIGS
 	select GKI_LEGACY_WEXT_ALLCONFIG
+	select GKI_HIDDEN_VIRTUAL_CONFIGS
+	select GKI_HIDDEN_SOC_PM_CONFIGS
 	help
 	  Dummy config option used to enable core functionality used by
 	  modules that may not be selectable in this config.
diff --git a/init/main.c b/init/main.c
index bc440bb..7942ad3 100644
--- a/init/main.c
+++ b/init/main.c
@@ -573,13 +573,6 @@
 	page_address_init();
 	pr_notice("%s", linux_banner);
 	setup_arch(&command_line);
-	/*
-	 * Set up the the initial canary and entropy after arch
-	 * and after adding latent and command line entropy.
-	 */
-	add_latent_entropy();
-	add_device_randomness(command_line, strlen(command_line));
-	boot_init_stack_canary();
 	mm_init_cpumask(&init_mm);
 	setup_command_line(command_line);
 	setup_nr_cpu_ids();
@@ -664,6 +657,20 @@
 	hrtimers_init();
 	softirq_init();
 	timekeeping_init();
+
+	/*
+	 * For best initial stack canary entropy, prepare it after:
+	 * - setup_arch() for any UEFI RNG entropy and boot cmdline access
+	 * - timekeeping_init() for ktime entropy used in rand_initialize()
+	 * - rand_initialize() to get any arch-specific entropy like RDRAND
+	 * - add_latent_entropy() to get any latent entropy
+	 * - adding command line entropy
+	 */
+	rand_initialize();
+	add_latent_entropy();
+	add_device_randomness(command_line, strlen(command_line));
+	boot_init_stack_canary();
+
 	time_init();
 	printk_safe_init();
 	perf_event_init();
diff --git a/ipc/msg.c b/ipc/msg.c
index 883642c..ac4de3f 100644
--- a/ipc/msg.c
+++ b/ipc/msg.c
@@ -377,7 +377,7 @@
  * NOTE: no locks must be held, the rwsem is taken inside this function.
  */
 static int msgctl_down(struct ipc_namespace *ns, int msqid, int cmd,
-			struct msqid64_ds *msqid64)
+			struct ipc64_perm *perm, int msg_qbytes)
 {
 	struct kern_ipc_perm *ipcp;
 	struct msg_queue *msq;
@@ -387,7 +387,7 @@
 	rcu_read_lock();
 
 	ipcp = ipcctl_obtain_check(ns, &msg_ids(ns), msqid, cmd,
-				      &msqid64->msg_perm, msqid64->msg_qbytes);
+				      perm, msg_qbytes);
 	if (IS_ERR(ipcp)) {
 		err = PTR_ERR(ipcp);
 		goto out_unlock1;
@@ -409,18 +409,18 @@
 	{
 		DEFINE_WAKE_Q(wake_q);
 
-		if (msqid64->msg_qbytes > ns->msg_ctlmnb &&
+		if (msg_qbytes > ns->msg_ctlmnb &&
 		    !capable(CAP_SYS_RESOURCE)) {
 			err = -EPERM;
 			goto out_unlock1;
 		}
 
 		ipc_lock_object(&msq->q_perm);
-		err = ipc_update_perm(&msqid64->msg_perm, ipcp);
+		err = ipc_update_perm(perm, ipcp);
 		if (err)
 			goto out_unlock0;
 
-		msq->q_qbytes = msqid64->msg_qbytes;
+		msq->q_qbytes = msg_qbytes;
 
 		msq->q_ctime = ktime_get_real_seconds();
 		/*
@@ -603,9 +603,10 @@
 	case IPC_SET:
 		if (copy_msqid_from_user(&msqid64, buf, version))
 			return -EFAULT;
-		/* fallthru */
+		return msgctl_down(ns, msqid, cmd, &msqid64.msg_perm,
+				   msqid64.msg_qbytes);
 	case IPC_RMID:
-		return msgctl_down(ns, msqid, cmd, &msqid64);
+		return msgctl_down(ns, msqid, cmd, NULL, 0);
 	default:
 		return  -EINVAL;
 	}
@@ -724,9 +725,9 @@
 	case IPC_SET:
 		if (copy_compat_msqid_from_user(&msqid64, uptr, version))
 			return -EFAULT;
-		/* fallthru */
+		return msgctl_down(ns, msqid, cmd, &msqid64.msg_perm, msqid64.msg_qbytes);
 	case IPC_RMID:
-		return msgctl_down(ns, msqid, cmd, &msqid64);
+		return msgctl_down(ns, msqid, cmd, NULL, 0);
 	default:
 		return -EINVAL;
 	}
diff --git a/ipc/sem.c b/ipc/sem.c
index 26f8e37..2bf535d 100644
--- a/ipc/sem.c
+++ b/ipc/sem.c
@@ -2345,11 +2345,9 @@
 		ipc_assert_locked_object(&sma->sem_perm);
 		list_del(&un->list_id);
 
-		/* we are the last process using this ulp, acquiring ulp->lock
-		 * isn't required. Besides that, we are also protected against
-		 * IPC_RMID as we hold sma->sem_perm lock now
-		 */
+		spin_lock(&ulp->lock);
 		list_del_rcu(&un->list_proc);
+		spin_unlock(&ulp->lock);
 
 		/* perform adjustments registered in un */
 		for (i = 0; i < sma->sem_nsems; i++) {
diff --git a/kernel/audit.c b/kernel/audit.c
index 2a80587..1f08c38 100644
--- a/kernel/audit.c
+++ b/kernel/audit.c
@@ -1106,13 +1106,11 @@
 	audit_log_end(ab);
 }
 
-static int audit_set_feature(struct sk_buff *skb)
+static int audit_set_feature(struct audit_features *uaf)
 {
-	struct audit_features *uaf;
 	int i;
 
 	BUILD_BUG_ON(AUDIT_LAST_FEATURE + 1 > ARRAY_SIZE(audit_feature_names));
-	uaf = nlmsg_data(nlmsg_hdr(skb));
 
 	/* if there is ever a version 2 we should handle that here */
 
@@ -1180,6 +1178,7 @@
 {
 	u32			seq;
 	void			*data;
+	int			data_len;
 	int			err;
 	struct audit_buffer	*ab;
 	u16			msg_type = nlh->nlmsg_type;
@@ -1193,6 +1192,7 @@
 
 	seq  = nlh->nlmsg_seq;
 	data = nlmsg_data(nlh);
+	data_len = nlmsg_len(nlh);
 
 	switch (msg_type) {
 	case AUDIT_GET: {
@@ -1216,7 +1216,7 @@
 		struct audit_status	s;
 		memset(&s, 0, sizeof(s));
 		/* guard against past and future API changes */
-		memcpy(&s, data, min_t(size_t, sizeof(s), nlmsg_len(nlh)));
+		memcpy(&s, data, min_t(size_t, sizeof(s), data_len));
 		if (s.mask & AUDIT_STATUS_ENABLED) {
 			err = audit_set_enabled(s.enabled);
 			if (err < 0)
@@ -1320,7 +1320,9 @@
 			return err;
 		break;
 	case AUDIT_SET_FEATURE:
-		err = audit_set_feature(skb);
+		if (data_len < sizeof(struct audit_features))
+			return -EINVAL;
+		err = audit_set_feature(data);
 		if (err)
 			return err;
 		break;
@@ -1332,6 +1334,8 @@
 
 		err = audit_filter(msg_type, AUDIT_FILTER_USER);
 		if (err == 1) { /* match or error */
+			char *str = data;
+
 			err = 0;
 			if (msg_type == AUDIT_USER_TTY) {
 				err = tty_audit_push();
@@ -1339,26 +1343,24 @@
 					break;
 			}
 			audit_log_common_recv_msg(&ab, msg_type);
-			if (msg_type != AUDIT_USER_TTY)
+			if (msg_type != AUDIT_USER_TTY) {
+				/* ensure NULL termination */
+				str[data_len - 1] = '\0';
 				audit_log_format(ab, " msg='%.*s'",
 						 AUDIT_MESSAGE_TEXT_MAX,
-						 (char *)data);
-			else {
-				int size;
-
+						 str);
+			} else {
 				audit_log_format(ab, " data=");
-				size = nlmsg_len(nlh);
-				if (size > 0 &&
-				    ((unsigned char *)data)[size - 1] == '\0')
-					size--;
-				audit_log_n_untrustedstring(ab, data, size);
+				if (data_len > 0 && str[data_len - 1] == '\0')
+					data_len--;
+				audit_log_n_untrustedstring(ab, str, data_len);
 			}
 			audit_log_end(ab);
 		}
 		break;
 	case AUDIT_ADD_RULE:
 	case AUDIT_DEL_RULE:
-		if (nlmsg_len(nlh) < sizeof(struct audit_rule_data))
+		if (data_len < sizeof(struct audit_rule_data))
 			return -EINVAL;
 		if (audit_enabled == AUDIT_LOCKED) {
 			audit_log_common_recv_msg(&ab, AUDIT_CONFIG_CHANGE);
@@ -1366,7 +1368,7 @@
 			audit_log_end(ab);
 			return -EPERM;
 		}
-		err = audit_rule_change(msg_type, seq, data, nlmsg_len(nlh));
+		err = audit_rule_change(msg_type, seq, data, data_len);
 		break;
 	case AUDIT_LIST_RULES:
 		err = audit_list_rules_send(skb, seq);
@@ -1380,7 +1382,7 @@
 	case AUDIT_MAKE_EQUIV: {
 		void *bufp = data;
 		u32 sizes[2];
-		size_t msglen = nlmsg_len(nlh);
+		size_t msglen = data_len;
 		char *old, *new;
 
 		err = -EINVAL;
@@ -1456,7 +1458,7 @@
 
 		memset(&s, 0, sizeof(s));
 		/* guard against past and future API changes */
-		memcpy(&s, data, min_t(size_t, sizeof(s), nlmsg_len(nlh)));
+		memcpy(&s, data, min_t(size_t, sizeof(s), data_len));
 		/* check if new data is valid */
 		if ((s.enabled != 0 && s.enabled != 1) ||
 		    (s.log_passwd != 0 && s.log_passwd != 1))
diff --git a/kernel/auditfilter.c b/kernel/auditfilter.c
index 425c67e..1c8a48a 100644
--- a/kernel/auditfilter.c
+++ b/kernel/auditfilter.c
@@ -452,6 +452,7 @@
 	bufp = data->buf;
 	for (i = 0; i < data->field_count; i++) {
 		struct audit_field *f = &entry->rule.fields[i];
+		u32 f_val;
 
 		err = -EINVAL;
 
@@ -460,12 +461,12 @@
 			goto exit_free;
 
 		f->type = data->fields[i];
-		f->val = data->values[i];
+		f_val = data->values[i];
 
 		/* Support legacy tests for a valid loginuid */
-		if ((f->type == AUDIT_LOGINUID) && (f->val == AUDIT_UID_UNSET)) {
+		if ((f->type == AUDIT_LOGINUID) && (f_val == AUDIT_UID_UNSET)) {
 			f->type = AUDIT_LOGINUID_SET;
-			f->val = 0;
+			f_val = 0;
 			entry->rule.pflags |= AUDIT_LOGINUID_LEGACY;
 		}
 
@@ -481,7 +482,7 @@
 		case AUDIT_SUID:
 		case AUDIT_FSUID:
 		case AUDIT_OBJ_UID:
-			f->uid = make_kuid(current_user_ns(), f->val);
+			f->uid = make_kuid(current_user_ns(), f_val);
 			if (!uid_valid(f->uid))
 				goto exit_free;
 			break;
@@ -490,11 +491,12 @@
 		case AUDIT_SGID:
 		case AUDIT_FSGID:
 		case AUDIT_OBJ_GID:
-			f->gid = make_kgid(current_user_ns(), f->val);
+			f->gid = make_kgid(current_user_ns(), f_val);
 			if (!gid_valid(f->gid))
 				goto exit_free;
 			break;
 		case AUDIT_ARCH:
+			f->val = f_val;
 			entry->rule.arch_f = f;
 			break;
 		case AUDIT_SUBJ_USER:
@@ -507,11 +509,13 @@
 		case AUDIT_OBJ_TYPE:
 		case AUDIT_OBJ_LEV_LOW:
 		case AUDIT_OBJ_LEV_HIGH:
-			str = audit_unpack_string(&bufp, &remain, f->val);
-			if (IS_ERR(str))
+			str = audit_unpack_string(&bufp, &remain, f_val);
+			if (IS_ERR(str)) {
+				err = PTR_ERR(str);
 				goto exit_free;
-			entry->rule.buflen += f->val;
-
+			}
+			entry->rule.buflen += f_val;
+			f->lsm_str = str;
 			err = security_audit_rule_init(f->type, f->op, str,
 						       (void **)&f->lsm_rule);
 			/* Keep currently invalid fields around in case they
@@ -520,68 +524,71 @@
 				pr_warn("audit rule for LSM \'%s\' is invalid\n",
 					str);
 				err = 0;
-			}
-			if (err) {
-				kfree(str);
+			} else if (err)
 				goto exit_free;
-			} else
-				f->lsm_str = str;
 			break;
 		case AUDIT_WATCH:
-			str = audit_unpack_string(&bufp, &remain, f->val);
-			if (IS_ERR(str))
+			str = audit_unpack_string(&bufp, &remain, f_val);
+			if (IS_ERR(str)) {
+				err = PTR_ERR(str);
 				goto exit_free;
-			entry->rule.buflen += f->val;
-
-			err = audit_to_watch(&entry->rule, str, f->val, f->op);
+			}
+			err = audit_to_watch(&entry->rule, str, f_val, f->op);
 			if (err) {
 				kfree(str);
 				goto exit_free;
 			}
+			entry->rule.buflen += f_val;
 			break;
 		case AUDIT_DIR:
-			str = audit_unpack_string(&bufp, &remain, f->val);
-			if (IS_ERR(str))
+			str = audit_unpack_string(&bufp, &remain, f_val);
+			if (IS_ERR(str)) {
+				err = PTR_ERR(str);
 				goto exit_free;
-			entry->rule.buflen += f->val;
-
+			}
 			err = audit_make_tree(&entry->rule, str, f->op);
 			kfree(str);
 			if (err)
 				goto exit_free;
+			entry->rule.buflen += f_val;
 			break;
 		case AUDIT_INODE:
+			f->val = f_val;
 			err = audit_to_inode(&entry->rule, f);
 			if (err)
 				goto exit_free;
 			break;
 		case AUDIT_FILTERKEY:
-			if (entry->rule.filterkey || f->val > AUDIT_MAX_KEY_LEN)
+			if (entry->rule.filterkey || f_val > AUDIT_MAX_KEY_LEN)
 				goto exit_free;
-			str = audit_unpack_string(&bufp, &remain, f->val);
-			if (IS_ERR(str))
-				goto exit_free;
-			entry->rule.buflen += f->val;
-			entry->rule.filterkey = str;
-			break;
-		case AUDIT_EXE:
-			if (entry->rule.exe || f->val > PATH_MAX)
-				goto exit_free;
-			str = audit_unpack_string(&bufp, &remain, f->val);
+			str = audit_unpack_string(&bufp, &remain, f_val);
 			if (IS_ERR(str)) {
 				err = PTR_ERR(str);
 				goto exit_free;
 			}
-			entry->rule.buflen += f->val;
-
-			audit_mark = audit_alloc_mark(&entry->rule, str, f->val);
+			entry->rule.buflen += f_val;
+			entry->rule.filterkey = str;
+			break;
+		case AUDIT_EXE:
+			if (entry->rule.exe || f_val > PATH_MAX)
+				goto exit_free;
+			str = audit_unpack_string(&bufp, &remain, f_val);
+			if (IS_ERR(str)) {
+				err = PTR_ERR(str);
+				goto exit_free;
+			}
+			audit_mark = audit_alloc_mark(&entry->rule, str, f_val);
 			if (IS_ERR(audit_mark)) {
 				kfree(str);
 				err = PTR_ERR(audit_mark);
 				goto exit_free;
 			}
+			entry->rule.buflen += f_val;
 			entry->rule.exe = audit_mark;
 			break;
+		default:
+			f->val = f_val;
+			break;
 		}
 	}
 
diff --git a/kernel/bpf/inode.c b/kernel/bpf/inode.c
index dc9d7ac..c04815b 100644
--- a/kernel/bpf/inode.c
+++ b/kernel/bpf/inode.c
@@ -198,6 +198,7 @@
 	void *key = map_iter(m)->key;
 	void *prev_key;
 
+	(*pos)++;
 	if (map_iter(m)->done)
 		return NULL;
 
@@ -210,8 +211,6 @@
 		map_iter(m)->done = true;
 		return NULL;
 	}
-
-	++(*pos);
 	return key;
 }
 
diff --git a/kernel/bpf/offload.c b/kernel/bpf/offload.c
index 177a524..66e13aa 100644
--- a/kernel/bpf/offload.c
+++ b/kernel/bpf/offload.c
@@ -289,7 +289,7 @@
 
 	ulen = info->jited_prog_len;
 	info->jited_prog_len = aux->offload->jited_len;
-	if (info->jited_prog_len & ulen) {
+	if (info->jited_prog_len && ulen) {
 		uinsns = u64_to_user_ptr(info->jited_prog_insns);
 		ulen = min_t(u32, info->jited_prog_len, ulen);
 		if (copy_to_user(uinsns, aux->offload->jited_image, ulen)) {
@@ -645,8 +645,10 @@
 	down_write(&bpf_devs_lock);
 	if (!offdevs_inited) {
 		err = rhashtable_init(&offdevs, &offdevs_params);
-		if (err)
+		if (err) {
+			up_write(&bpf_devs_lock);
 			return ERR_PTR(err);
+		}
 		offdevs_inited = true;
 	}
 	up_write(&bpf_devs_lock);
diff --git a/kernel/bpf/tnum.c b/kernel/bpf/tnum.c
index 938d412..84984c0 100644
--- a/kernel/bpf/tnum.c
+++ b/kernel/bpf/tnum.c
@@ -43,14 +43,19 @@
 	return TNUM(a.value >> shift, a.mask >> shift);
 }
 
-struct tnum tnum_arshift(struct tnum a, u8 min_shift)
+struct tnum tnum_arshift(struct tnum a, u8 min_shift, u8 insn_bitness)
 {
 	/* if a.value is negative, arithmetic shifting by minimum shift
 	 * will have larger negative offset compared to more shifting.
 	 * If a.value is nonnegative, arithmetic shifting by minimum shift
 	 * will have larger positive offset compare to more shifting.
 	 */
-	return TNUM((s64)a.value >> min_shift, (s64)a.mask >> min_shift);
+	if (insn_bitness == 32)
+		return TNUM((u32)(((s32)a.value) >> min_shift),
+			    (u32)(((s32)a.mask)  >> min_shift));
+	else
+		return TNUM((s64)a.value >> min_shift,
+			    (s64)a.mask  >> min_shift);
 }
 
 struct tnum tnum_add(struct tnum a, struct tnum b)
diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c
index 9e72b2f..e85636f 100644
--- a/kernel/bpf/verifier.c
+++ b/kernel/bpf/verifier.c
@@ -1253,7 +1253,7 @@
 		char tn_buf[48];
 
 		tnum_strn(tn_buf, sizeof(tn_buf), reg->var_off);
-		verbose(env, "variable stack access var_off=%s off=%d size=%d",
+		verbose(env, "variable stack access var_off=%s off=%d size=%d\n",
 			tn_buf, off, size);
 		return -EACCES;
 	}
@@ -3309,9 +3309,16 @@
 		/* Upon reaching here, src_known is true and
 		 * umax_val is equal to umin_val.
 		 */
-		dst_reg->smin_value >>= umin_val;
-		dst_reg->smax_value >>= umin_val;
-		dst_reg->var_off = tnum_arshift(dst_reg->var_off, umin_val);
+		if (insn_bitness == 32) {
+			dst_reg->smin_value = (u32)(((s32)dst_reg->smin_value) >> umin_val);
+			dst_reg->smax_value = (u32)(((s32)dst_reg->smax_value) >> umin_val);
+		} else {
+			dst_reg->smin_value >>= umin_val;
+			dst_reg->smax_value >>= umin_val;
+		}
+
+		dst_reg->var_off = tnum_arshift(dst_reg->var_off, umin_val,
+						insn_bitness);
 
 		/* blow away the dst_reg umin_value/umax_value and rely on
 		 * dst_reg var_off to refine the result.
diff --git a/kernel/capability.c b/kernel/capability.c
index 1e1c023..7718d7d 100644
--- a/kernel/capability.c
+++ b/kernel/capability.c
@@ -299,7 +299,7 @@
 	int ret;
 
 	rcu_read_lock();
-	ret = security_capable(__task_cred(t), ns, cap);
+	ret = security_capable(__task_cred(t), ns, cap, CAP_OPT_NONE);
 	rcu_read_unlock();
 
 	return (ret == 0);
@@ -340,7 +340,7 @@
 	int ret;
 
 	rcu_read_lock();
-	ret = security_capable_noaudit(__task_cred(t), ns, cap);
+	ret = security_capable(__task_cred(t), ns, cap, CAP_OPT_NOAUDIT);
 	rcu_read_unlock();
 
 	return (ret == 0);
@@ -363,7 +363,9 @@
 	return has_ns_capability_noaudit(t, &init_user_ns, cap);
 }
 
-static bool ns_capable_common(struct user_namespace *ns, int cap, bool audit)
+static bool ns_capable_common(struct user_namespace *ns,
+			      int cap,
+			      unsigned int opts)
 {
 	int capable;
 
@@ -372,8 +374,7 @@
 		BUG();
 	}
 
-	capable = audit ? security_capable(current_cred(), ns, cap) :
-			  security_capable_noaudit(current_cred(), ns, cap);
+	capable = security_capable(current_cred(), ns, cap, opts);
 	if (capable == 0) {
 		current->flags |= PF_SUPERPRIV;
 		return true;
@@ -394,7 +395,7 @@
  */
 bool ns_capable(struct user_namespace *ns, int cap)
 {
-	return ns_capable_common(ns, cap, true);
+	return ns_capable_common(ns, cap, CAP_OPT_NONE);
 }
 EXPORT_SYMBOL(ns_capable);
 
@@ -412,7 +413,7 @@
  */
 bool ns_capable_noaudit(struct user_namespace *ns, int cap)
 {
-	return ns_capable_common(ns, cap, false);
+	return ns_capable_common(ns, cap, CAP_OPT_NOAUDIT);
 }
 EXPORT_SYMBOL(ns_capable_noaudit);
 
@@ -448,10 +449,11 @@
 bool file_ns_capable(const struct file *file, struct user_namespace *ns,
 		     int cap)
 {
+
 	if (WARN_ON_ONCE(!cap_valid(cap)))
 		return false;
 
-	if (security_capable(file->f_cred, ns, cap) == 0)
+	if (security_capable(file->f_cred, ns, cap, CAP_OPT_NONE) == 0)
 		return true;
 
 	return false;
@@ -500,10 +502,12 @@
 {
 	int ret = 0;  /* An absent tracer adds no restrictions */
 	const struct cred *cred;
+
 	rcu_read_lock();
 	cred = rcu_dereference(tsk->ptracer_cred);
 	if (cred)
-		ret = security_capable_noaudit(cred, ns, CAP_SYS_PTRACE);
+		ret = security_capable(cred, ns, CAP_SYS_PTRACE,
+				       CAP_OPT_NOAUDIT);
 	rcu_read_unlock();
 	return (ret == 0);
 }
diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c
index eb8fdf9..0045bc1 100644
--- a/kernel/cgroup/cgroup.c
+++ b/kernel/cgroup/cgroup.c
@@ -2941,8 +2941,6 @@
 		for_each_subsys(ss, ssid) {
 			struct cgroup_subsys_state *css = cgroup_css(dsct, ss);
 
-			WARN_ON_ONCE(css && percpu_ref_is_dying(&css->refcnt));
-
 			if (!(cgroup_ss_mask(dsct) & (1 << ss->id)))
 				continue;
 
@@ -2952,6 +2950,8 @@
 					return PTR_ERR(css);
 			}
 
+			WARN_ON_ONCE(percpu_ref_is_dying(&css->refcnt));
+
 			if (css_visible(css)) {
 				ret = css_populate_dir(css);
 				if (ret)
@@ -2987,11 +2987,11 @@
 		for_each_subsys(ss, ssid) {
 			struct cgroup_subsys_state *css = cgroup_css(dsct, ss);
 
-			WARN_ON_ONCE(css && percpu_ref_is_dying(&css->refcnt));
-
 			if (!css)
 				continue;
 
+			WARN_ON_ONCE(percpu_ref_is_dying(&css->refcnt));
+
 			if (css->parent &&
 			    !(cgroup_ss_mask(dsct) & (1 << ss->id))) {
 				kill_css(css);
@@ -3278,7 +3278,8 @@
 	if (strcmp(strstrip(buf), "threaded"))
 		return -EINVAL;
 
-	cgrp = cgroup_kn_lock_live(of->kn, false);
+	/* drain dying csses before we re-apply (threaded) subtree control */
+	cgrp = cgroup_kn_lock_live(of->kn, true);
 	if (!cgrp)
 		return -ENOENT;
 
@@ -6180,4 +6181,47 @@
 	return sysfs_create_group(kernel_kobj, &cgroup_sysfs_attr_group);
 }
 subsys_initcall(cgroup_sysfs_init);
+
+static u64 power_of_ten(int power)
+{
+	u64 v = 1;
+	while (power--)
+		v *= 10;
+	return v;
+}
+
+/**
+ * cgroup_parse_float - parse a floating number
+ * @input: input string
+ * @dec_shift: number of decimal digits to shift
+ * @v: output
+ *
+ * Parse a decimal floating point number in @input and store the result in
+ * @v with decimal point right shifted @dec_shift times.  For example, if
+ * @input is "12.3456" and @dec_shift is 3, *@v will be set to 12345.
+ * Returns 0 on success, -errno otherwise.
+ *
+ * There's nothing cgroup specific about this function except that it's
+ * currently the only user.
+ */
+int cgroup_parse_float(const char *input, unsigned dec_shift, s64 *v)
+{
+	s64 whole, frac = 0;
+	int fstart = 0, fend = 0, flen;
+
+	if (!sscanf(input, "%lld.%n%lld%n", &whole, &fstart, &frac, &fend))
+		return -EINVAL;
+	if (frac < 0)
+		return -EINVAL;
+
+	flen = fend > fstart ? fend - fstart : 0;
+	if (flen < dec_shift)
+		frac *= power_of_ten(dec_shift - flen);
+	else
+		frac = DIV_ROUND_CLOSEST_ULL(frac, power_of_ten(flen - dec_shift));
+
+	*v = whole * power_of_ten(dec_shift) + frac;
+	return 0;
+}
+
 #endif /* CONFIG_SYSFS */
diff --git a/kernel/cpu.c b/kernel/cpu.c
index 4307574..75324bc 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -496,8 +496,7 @@
 	if (WARN_ON_ONCE((!cpu_online(cpu))))
 		return -ECANCELED;
 
-	/* Unpark the stopper thread and the hotplug thread of the target cpu */
-	stop_machine_unpark(cpu);
+	/* Unpark the hotplug thread of the target cpu */
 	kthread_unpark(st->thread);
 
 	/*
@@ -1071,8 +1070,8 @@
 
 /*
  * Called from the idle task. Wake up the controlling task which brings the
- * stopper and the hotplug thread of the upcoming CPU up and then delegates
- * the rest of the online bringup to the hotplug thread.
+ * hotplug thread of the upcoming CPU up and then delegates the rest of the
+ * online bringup to the hotplug thread.
  */
 void cpuhp_online_idle(enum cpuhp_state state)
 {
@@ -1082,6 +1081,12 @@
 	if (state != CPUHP_AP_ONLINE_IDLE)
 		return;
 
+	/*
+	 * Unpart the stopper thread before we start the idle loop (and start
+	 * scheduling); this ensures the stopper task is always available.
+	 */
+	stop_machine_unpark(smp_processor_id());
+
 	st->state = CPUHP_AP_ONLINE_IDLE;
 	complete_ap_thread(st, true);
 }
diff --git a/kernel/debug/kdb/kdb_main.c b/kernel/debug/kdb/kdb_main.c
index 9592420..cdde394 100644
--- a/kernel/debug/kdb/kdb_main.c
+++ b/kernel/debug/kdb/kdb_main.c
@@ -2599,7 +2599,7 @@
 		diag = kdbgetularg(argv[3], &whichcpu);
 		if (diag)
 			return diag;
-		if (!cpu_online(whichcpu)) {
+		if (whichcpu >= nr_cpu_ids || !cpu_online(whichcpu)) {
 			kdb_printf("cpu %ld is not online\n", whichcpu);
 			return KDB_BADCPUNUM;
 		}
diff --git a/kernel/events/core.c b/kernel/events/core.c
index 6b09899..238ad0f 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -425,13 +425,8 @@
  *   0 - disallow raw tracepoint access for unpriv
  *   1 - disallow cpu events for unpriv
  *   2 - disallow kernel profiling for unpriv
- *   3 - disallow all unpriv perf event use
  */
-#ifdef CONFIG_SECURITY_PERF_EVENTS_RESTRICT
-int sysctl_perf_event_paranoid __read_mostly = 3;
-#else
 int sysctl_perf_event_paranoid __read_mostly = 2;
-#endif
 
 /* Minimum for 512 kiB + 1 user control page */
 int sysctl_perf_event_mlock __read_mostly = 512 + (PAGE_SIZE / 1024); /* 'free' kiB per user */
@@ -5191,6 +5186,9 @@
 	if (perf_event_check_period(event, value))
 		return -EINVAL;
 
+	if (!event->attr.freq && (value & (1ULL << 63)))
+		return -EINVAL;
+
 	event_function_call(event, __perf_event_period, &value);
 
 	return 0;
@@ -5894,7 +5892,15 @@
 	 */
 	user_lock_limit *= num_online_cpus();
 
-	user_locked = atomic_long_read(&user->locked_vm) + user_extra;
+	user_locked = atomic_long_read(&user->locked_vm);
+
+	/*
+	 * sysctl_perf_event_mlock may have changed, so that
+	 *     user->locked_vm > user_lock_limit
+	 */
+	if (user_locked > user_lock_limit)
+		user_locked = user_lock_limit;
+	user_locked += user_extra;
 
 	if (user_locked > user_lock_limit)
 		extra = user_locked - user_lock_limit;
@@ -10864,9 +10870,6 @@
 	if (flags & ~PERF_FLAG_ALL)
 		return -EINVAL;
 
-	if (perf_paranoid_any() && !capable(CAP_SYS_ADMIN))
-		return -EACCES;
-
 	/* Do we allow access to perf_event_open(2) ? */
 	err = security_perf_event_open(&attr, PERF_SECURITY_OPEN);
 	if (err)
diff --git a/kernel/fork.c b/kernel/fork.c
index a3a4e77..68b80fc 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -220,6 +220,7 @@
 		memset(s->addr, 0, THREAD_SIZE);
 
 		tsk->stack_vm_area = s;
+		tsk->stack = s->addr;
 		return s->addr;
 	}
 
@@ -234,14 +235,20 @@
 	 * free_thread_stack() can be called in interrupt context,
 	 * so cache the vm_struct.
 	 */
-	if (stack)
+	if (stack) {
 		tsk->stack_vm_area = find_vm_area(stack);
+		tsk->stack = stack;
+	}
 	return stack;
 #else
 	struct page *page = alloc_pages_node(node, THREADINFO_GFP,
 					     THREAD_SIZE_ORDER);
 
-	return page ? page_address(page) : NULL;
+	if (likely(page)) {
+		tsk->stack = page_address(page);
+		return tsk->stack;
+	}
+	return NULL;
 #endif
 }
 
@@ -272,7 +279,10 @@
 static unsigned long *alloc_thread_stack_node(struct task_struct *tsk,
 						  int node)
 {
-	return kmem_cache_alloc_node(thread_stack_cache, THREADINFO_GFP, node);
+	unsigned long *stack;
+	stack = kmem_cache_alloc_node(thread_stack_cache, THREADINFO_GFP, node);
+	tsk->stack = stack;
+	return stack;
 }
 
 static void free_thread_stack(struct task_struct *tsk)
diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c
index 068fc01..600c9be 100644
--- a/kernel/irq/chip.c
+++ b/kernel/irq/chip.c
@@ -1409,6 +1409,7 @@
 
 	return 0;
 }
+EXPORT_SYMBOL_GPL(irq_chip_retrigger_hierarchy);
 
 /**
  * irq_chip_set_vcpu_affinity_parent - Set vcpu affinity on the parent interrupt
@@ -1423,6 +1424,7 @@
 
 	return -ENOSYS;
 }
+EXPORT_SYMBOL_GPL(irq_chip_set_vcpu_affinity_parent);
 
 /**
  * irq_chip_set_wake_parent - Set/reset wake-up on the parent interrupt
@@ -1443,6 +1445,7 @@
 
 	return -ENOSYS;
 }
+EXPORT_SYMBOL_GPL(irq_chip_set_wake_parent);
 #endif
 
 /**
diff --git a/kernel/irq/debugfs.c b/kernel/irq/debugfs.c
index 6f63613..b3f55dd 100644
--- a/kernel/irq/debugfs.c
+++ b/kernel/irq/debugfs.c
@@ -113,6 +113,7 @@
 	BIT_MASK_DESCR(IRQD_AFFINITY_MANAGED),
 	BIT_MASK_DESCR(IRQD_MANAGED_SHUTDOWN),
 	BIT_MASK_DESCR(IRQD_CAN_RESERVE),
+	BIT_MASK_DESCR(IRQD_MSI_NOMASK_QUIRK),
 
 	BIT_MASK_DESCR(IRQD_FORWARDED_TO_VCPU),
 
diff --git a/kernel/irq/internals.h b/kernel/irq/internals.h
index ea57f3d..3f46185 100644
--- a/kernel/irq/internals.h
+++ b/kernel/irq/internals.h
@@ -126,8 +126,6 @@
 
 extern bool irq_can_set_affinity_usr(unsigned int irq);
 
-extern int irq_select_affinity_usr(unsigned int irq);
-
 extern void irq_set_thread_affinity(struct irq_desc *desc);
 
 extern int irq_do_set_affinity(struct irq_data *data,
diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c
index 5d9fc01b..065b1ec 100644
--- a/kernel/irq/irqdomain.c
+++ b/kernel/irq/irqdomain.c
@@ -148,6 +148,7 @@
 		switch (fwid->type) {
 		case IRQCHIP_FWNODE_NAMED:
 		case IRQCHIP_FWNODE_NAMED_ID:
+			domain->fwnode = fwnode;
 			domain->name = kstrdup(fwid->name, GFP_KERNEL);
 			if (!domain->name) {
 				kfree(domain);
@@ -183,7 +184,7 @@
 		 * unhappy about. Replace them with ':', which does
 		 * the trick and is not as offensive as '\'...
 		 */
-		name = kstrdup(of_node_full_name(of_node), GFP_KERNEL);
+		name = kasprintf(GFP_KERNEL, "%pOF", of_node);
 		if (!name) {
 			kfree(domain);
 			return NULL;
@@ -294,6 +295,7 @@
 
 	mutex_unlock(&irq_domain_mutex);
 }
+EXPORT_SYMBOL_GPL(irq_domain_update_bus_token);
 
 /**
  * irq_domain_add_simple() - Register an irq_domain and optionally map a range of irqs
@@ -1241,6 +1243,7 @@
 	}
 	irq_domain_free_irqs_common(domain, virq, nr_irqs);
 }
+EXPORT_SYMBOL_GPL(irq_domain_free_irqs_top);
 
 static void irq_domain_free_irqs_hierarchy(struct irq_domain *domain,
 					   unsigned int irq_base,
@@ -1420,6 +1423,7 @@
 	if (rv) {
 		/* Restore the original irq_data. */
 		*root_irq_data = *child_irq_data;
+		kfree(child_irq_data);
 		goto error;
 	}
 
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index 23bcfa7..eb69b80 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -441,23 +441,9 @@
 {
 	return irq_select_affinity(irq_desc_get_irq(desc));
 }
-#endif
+#endif /* CONFIG_AUTO_IRQ_AFFINITY */
+#endif /* CONFIG_SMP */
 
-/*
- * Called when a bogus affinity is set via /proc/irq
- */
-int irq_select_affinity_usr(unsigned int irq)
-{
-	struct irq_desc *desc = irq_to_desc(irq);
-	unsigned long flags;
-	int ret;
-
-	raw_spin_lock_irqsave(&desc->lock, flags);
-	ret = irq_setup_affinity(desc);
-	raw_spin_unlock_irqrestore(&desc->lock, flags);
-	return ret;
-}
-#endif
 
 /**
  *	irq_set_vcpu_affinity - Set vcpu affinity for the interrupt
diff --git a/kernel/irq/msi.c b/kernel/irq/msi.c
index 4ca2fd4..dc1186c 100644
--- a/kernel/irq/msi.c
+++ b/kernel/irq/msi.c
@@ -453,8 +453,11 @@
 			continue;
 
 		irq_data = irq_domain_get_irq_data(domain, desc->irq);
-		if (!can_reserve)
+		if (!can_reserve) {
 			irqd_clr_can_reserve(irq_data);
+			if (domain->flags & IRQ_DOMAIN_MSI_NOMASK_QUIRK)
+				irqd_set_msi_nomask_quirk(irq_data);
+		}
 		ret = irq_domain_activate_irq(irq_data, can_reserve);
 		if (ret)
 			goto cleanup;
diff --git a/kernel/irq/proc.c b/kernel/irq/proc.c
index 2f30037..49dc6f3 100644
--- a/kernel/irq/proc.c
+++ b/kernel/irq/proc.c
@@ -115,6 +115,28 @@
 	return show_irq_affinity(AFFINITY_LIST, m);
 }
 
+#ifndef CONFIG_AUTO_IRQ_AFFINITY
+static inline int irq_select_affinity_usr(unsigned int irq)
+{
+	/*
+	 * If the interrupt is started up already then this fails. The
+	 * interrupt is assigned to an online CPU already. There is no
+	 * point to move it around randomly. Tell user space that the
+	 * selected mask is bogus.
+	 *
+	 * If not then any change to the affinity is pointless because the
+	 * startup code invokes irq_setup_affinity() which will select
+	 * a online CPU anyway.
+	 */
+	return -EINVAL;
+}
+#else
+/* ALPHA magic affinity auto selector. Keep it for historical reasons. */
+static inline int irq_select_affinity_usr(unsigned int irq)
+{
+	return irq_select_affinity(irq);
+}
+#endif
 
 static ssize_t write_irq_affinity(int type, struct file *file,
 		const char __user *buffer, size_t count, loff_t *pos)
diff --git a/kernel/kallsyms.c b/kernel/kallsyms.c
index 181db01..9fa5626 100644
--- a/kernel/kallsyms.c
+++ b/kernel/kallsyms.c
@@ -173,7 +173,6 @@
 	}
 	return module_kallsyms_lookup_name(name);
 }
-EXPORT_SYMBOL_GPL(kallsyms_lookup_name);
 
 int kallsyms_on_each_symbol(int (*fn)(void *, const char *, struct module *,
 				      unsigned long),
@@ -192,7 +191,6 @@
 	}
 	return module_kallsyms_on_each_symbol(fn, data);
 }
-EXPORT_SYMBOL_GPL(kallsyms_on_each_symbol);
 
 static unsigned long get_symbol_pos(unsigned long addr,
 				    unsigned long *symbolsize,
@@ -280,6 +278,12 @@
 {
 	char *res;
 
+#ifdef CONFIG_THINLTO
+	/* Filter out hashes from static functions */
+	res = strrchr(s, '$');
+	if (res)
+		*res = '\0';
+#endif
 	res = strrchr(s, '.');
 	if (res && !strcmp(res, ".cfi"))
 		*res = '\0';
diff --git a/kernel/kcov.c b/kernel/kcov.c
index c2277db..f503542 100644
--- a/kernel/kcov.c
+++ b/kernel/kcov.c
@@ -9,6 +9,7 @@
 #include <linux/types.h>
 #include <linux/file.h>
 #include <linux/fs.h>
+#include <linux/hashtable.h>
 #include <linux/init.h>
 #include <linux/mm.h>
 #include <linux/preempt.h>
@@ -20,8 +21,12 @@
 #include <linux/debugfs.h>
 #include <linux/uaccess.h>
 #include <linux/kcov.h>
+#include <linux/refcount.h>
+#include <linux/log2.h>
 #include <asm/setup.h>
 
+#define kcov_debug(fmt, ...) pr_debug("%s: " fmt, __func__, ##__VA_ARGS__)
+
 /* Number of 64-bit words written per one comparison: */
 #define KCOV_WORDS_PER_CMP 4
 
@@ -43,19 +48,100 @@
 	 * Reference counter. We keep one for:
 	 *  - opened file descriptor
 	 *  - task with enabled coverage (we can't unwire it from another task)
+	 *  - each code section for remote coverage collection
 	 */
-	atomic_t		refcount;
+	refcount_t		refcount;
 	/* The lock protects mode, size, area and t. */
 	spinlock_t		lock;
 	enum kcov_mode		mode;
-	/* Size of arena (in long's for KCOV_MODE_TRACE). */
-	unsigned		size;
+	/* Size of arena (in long's). */
+	unsigned int		size;
 	/* Coverage buffer shared with user space. */
 	void			*area;
 	/* Task for which we collect coverage, or NULL. */
 	struct task_struct	*t;
+	/* Collecting coverage from remote (background) threads. */
+	bool			remote;
+	/* Size of remote area (in long's). */
+	unsigned int		remote_size;
+	/*
+	 * Sequence is incremented each time kcov is reenabled, used by
+	 * kcov_remote_stop(), see the comment there.
+	 */
+	int			sequence;
 };
 
+struct kcov_remote_area {
+	struct list_head	list;
+	unsigned int		size;
+};
+
+struct kcov_remote {
+	u64			handle;
+	struct kcov		*kcov;
+	struct hlist_node	hnode;
+};
+
+static DEFINE_SPINLOCK(kcov_remote_lock);
+static DEFINE_HASHTABLE(kcov_remote_map, 4);
+static struct list_head kcov_remote_areas = LIST_HEAD_INIT(kcov_remote_areas);
+
+/* Must be called with kcov_remote_lock locked. */
+static struct kcov_remote *kcov_remote_find(u64 handle)
+{
+	struct kcov_remote *remote;
+
+	hash_for_each_possible(kcov_remote_map, remote, hnode, handle) {
+		if (remote->handle == handle)
+			return remote;
+	}
+	return NULL;
+}
+
+static struct kcov_remote *kcov_remote_add(struct kcov *kcov, u64 handle)
+{
+	struct kcov_remote *remote;
+
+	if (kcov_remote_find(handle))
+		return ERR_PTR(-EEXIST);
+	remote = kmalloc(sizeof(*remote), GFP_ATOMIC);
+	if (!remote)
+		return ERR_PTR(-ENOMEM);
+	remote->handle = handle;
+	remote->kcov = kcov;
+	hash_add(kcov_remote_map, &remote->hnode, handle);
+	return remote;
+}
+
+/* Must be called with kcov_remote_lock locked. */
+static struct kcov_remote_area *kcov_remote_area_get(unsigned int size)
+{
+	struct kcov_remote_area *area;
+	struct list_head *pos;
+
+	kcov_debug("size = %u\n", size);
+	list_for_each(pos, &kcov_remote_areas) {
+		area = list_entry(pos, struct kcov_remote_area, list);
+		if (area->size == size) {
+			list_del(&area->list);
+			kcov_debug("rv = %px\n", area);
+			return area;
+		}
+	}
+	kcov_debug("rv = NULL\n");
+	return NULL;
+}
+
+/* Must be called with kcov_remote_lock locked. */
+static void kcov_remote_area_put(struct kcov_remote_area *area,
+					unsigned int size)
+{
+	kcov_debug("area = %px, size = %u\n", area, size);
+	INIT_LIST_HEAD(&area->list);
+	area->size = size;
+	list_add(&area->list, &kcov_remote_areas);
+}
+
 static notrace bool check_kcov_mode(enum kcov_mode needed_mode, struct task_struct *t)
 {
 	unsigned int mode;
@@ -72,7 +158,7 @@
 	 * in_interrupt() returns false (e.g. preempt_schedule_irq()).
 	 * READ_ONCE()/barrier() effectively provides load-acquire wrt
 	 * interrupts, there are paired barrier()/WRITE_ONCE() in
-	 * kcov_ioctl_locked().
+	 * kcov_start().
 	 */
 	barrier();
 	return mode == needed_mode;
@@ -226,26 +312,90 @@
 EXPORT_SYMBOL(__sanitizer_cov_trace_switch);
 #endif /* ifdef CONFIG_KCOV_ENABLE_COMPARISONS */
 
-static void kcov_get(struct kcov *kcov)
+static void kcov_start(struct task_struct *t, unsigned int size,
+			void *area, enum kcov_mode mode, int sequence)
 {
-	atomic_inc(&kcov->refcount);
+	kcov_debug("t = %px, size = %u, area = %px\n", t, size, area);
+	/* Cache in task struct for performance. */
+	t->kcov_size = size;
+	t->kcov_area = area;
+	/* See comment in check_kcov_mode(). */
+	barrier();
+	WRITE_ONCE(t->kcov_mode, mode);
+	t->kcov_sequence = sequence;
 }
 
-static void kcov_put(struct kcov *kcov)
-{
-	if (atomic_dec_and_test(&kcov->refcount)) {
-		vfree(kcov->area);
-		kfree(kcov);
-	}
-}
-
-void kcov_task_init(struct task_struct *t)
+static void kcov_stop(struct task_struct *t)
 {
 	WRITE_ONCE(t->kcov_mode, KCOV_MODE_DISABLED);
 	barrier();
 	t->kcov_size = 0;
 	t->kcov_area = NULL;
+}
+
+static void kcov_task_reset(struct task_struct *t)
+{
+	kcov_stop(t);
 	t->kcov = NULL;
+	t->kcov_sequence = 0;
+	t->kcov_handle = 0;
+}
+
+void kcov_task_init(struct task_struct *t)
+{
+	kcov_task_reset(t);
+	t->kcov_handle = current->kcov_handle;
+}
+
+static void kcov_reset(struct kcov *kcov)
+{
+	kcov->t = NULL;
+	kcov->mode = KCOV_MODE_INIT;
+	kcov->remote = false;
+	kcov->remote_size = 0;
+	kcov->sequence++;
+}
+
+static void kcov_remote_reset(struct kcov *kcov)
+{
+	int bkt;
+	struct kcov_remote *remote;
+	struct hlist_node *tmp;
+
+	spin_lock(&kcov_remote_lock);
+	hash_for_each_safe(kcov_remote_map, bkt, tmp, remote, hnode) {
+		if (remote->kcov != kcov)
+			continue;
+		kcov_debug("removing handle %llx\n", remote->handle);
+		hash_del(&remote->hnode);
+		kfree(remote);
+	}
+	/* Do reset before unlock to prevent races with kcov_remote_start(). */
+	kcov_reset(kcov);
+	spin_unlock(&kcov_remote_lock);
+}
+
+static void kcov_disable(struct task_struct *t, struct kcov *kcov)
+{
+	kcov_task_reset(t);
+	if (kcov->remote)
+		kcov_remote_reset(kcov);
+	else
+		kcov_reset(kcov);
+}
+
+static void kcov_get(struct kcov *kcov)
+{
+	refcount_inc(&kcov->refcount);
+}
+
+static void kcov_put(struct kcov *kcov)
+{
+	if (refcount_dec_and_test(&kcov->refcount)) {
+		kcov_remote_reset(kcov);
+		vfree(kcov->area);
+		kfree(kcov);
+	}
 }
 
 void kcov_task_exit(struct task_struct *t)
@@ -255,15 +405,36 @@
 	kcov = t->kcov;
 	if (kcov == NULL)
 		return;
+
 	spin_lock(&kcov->lock);
+	kcov_debug("t = %px, kcov->t = %px\n", t, kcov->t);
+	/*
+	 * For KCOV_ENABLE devices we want to make sure that t->kcov->t == t,
+	 * which comes down to:
+	 *        WARN_ON(!kcov->remote && kcov->t != t);
+	 *
+	 * For KCOV_REMOTE_ENABLE devices, the exiting task is either:
+	 * 2. A remote task between kcov_remote_start() and kcov_remote_stop().
+	 *    In this case we should print a warning right away, since a task
+	 *    shouldn't be exiting when it's in a kcov coverage collection
+	 *    section. Here t points to the task that is collecting remote
+	 *    coverage, and t->kcov->t points to the thread that created the
+	 *    kcov device. Which means that to detect this case we need to
+	 *    check that t != t->kcov->t, and this gives us the following:
+	 *        WARN_ON(kcov->remote && kcov->t != t);
+	 *
+	 * 2. The task that created kcov exiting without calling KCOV_DISABLE,
+	 *    and then again we can make sure that t->kcov->t == t:
+	 *        WARN_ON(kcov->remote && kcov->t != t);
+	 *
+	 * By combining all three checks into one we get:
+	 */
 	if (WARN_ON(kcov->t != t)) {
 		spin_unlock(&kcov->lock);
 		return;
 	}
 	/* Just to not leave dangling references behind. */
-	kcov_task_init(t);
-	kcov->t = NULL;
-	kcov->mode = KCOV_MODE_INIT;
+	kcov_disable(t, kcov);
 	spin_unlock(&kcov->lock);
 	kcov_put(kcov);
 }
@@ -312,7 +483,8 @@
 	if (!kcov)
 		return -ENOMEM;
 	kcov->mode = KCOV_MODE_DISABLED;
-	atomic_set(&kcov->refcount, 1);
+	kcov->sequence = 1;
+	refcount_set(&kcov->refcount, 1);
 	spin_lock_init(&kcov->lock);
 	filep->private_data = kcov;
 	return nonseekable_open(inode, filep);
@@ -324,6 +496,20 @@
 	return 0;
 }
 
+static int kcov_get_mode(unsigned long arg)
+{
+	if (arg == KCOV_TRACE_PC)
+		return KCOV_MODE_TRACE_PC;
+	else if (arg == KCOV_TRACE_CMP)
+#ifdef CONFIG_KCOV_ENABLE_COMPARISONS
+		return KCOV_MODE_TRACE_CMP;
+#else
+		return -ENOTSUPP;
+#endif
+	else
+		return -EINVAL;
+}
+
 /*
  * Fault in a lazily-faulted vmalloc area before it can be used by
  * __santizer_cov_trace_pc(), to avoid recursion issues if any code on the
@@ -339,14 +525,35 @@
 		READ_ONCE(area[offset]);
 }
 
+static inline bool kcov_check_handle(u64 handle, bool common_valid,
+				bool uncommon_valid, bool zero_valid)
+{
+	if (handle & ~(KCOV_SUBSYSTEM_MASK | KCOV_INSTANCE_MASK))
+		return false;
+	switch (handle & KCOV_SUBSYSTEM_MASK) {
+	case KCOV_SUBSYSTEM_COMMON:
+		return (handle & KCOV_INSTANCE_MASK) ?
+			common_valid : zero_valid;
+	case KCOV_SUBSYSTEM_USB:
+		return uncommon_valid;
+	default:
+		return false;
+	}
+	return false;
+}
+
 static int kcov_ioctl_locked(struct kcov *kcov, unsigned int cmd,
 			     unsigned long arg)
 {
 	struct task_struct *t;
 	unsigned long size, unused;
+	int mode, i;
+	struct kcov_remote_arg *remote_arg;
+	struct kcov_remote *remote;
 
 	switch (cmd) {
 	case KCOV_INIT_TRACE:
+		kcov_debug("KCOV_INIT_TRACE\n");
 		/*
 		 * Enable kcov in trace mode and setup buffer size.
 		 * Must happen before anything else.
@@ -365,6 +572,7 @@
 		kcov->mode = KCOV_MODE_INIT;
 		return 0;
 	case KCOV_ENABLE:
+		kcov_debug("KCOV_ENABLE\n");
 		/*
 		 * Enable coverage for the current task.
 		 * At this point user must have been enabled trace mode,
@@ -377,29 +585,20 @@
 		t = current;
 		if (kcov->t != NULL || t->kcov != NULL)
 			return -EBUSY;
-		if (arg == KCOV_TRACE_PC)
-			kcov->mode = KCOV_MODE_TRACE_PC;
-		else if (arg == KCOV_TRACE_CMP)
-#ifdef CONFIG_KCOV_ENABLE_COMPARISONS
-			kcov->mode = KCOV_MODE_TRACE_CMP;
-#else
-		return -ENOTSUPP;
-#endif
-		else
-			return -EINVAL;
+		mode = kcov_get_mode(arg);
+		if (mode < 0)
+			return mode;
 		kcov_fault_in_area(kcov);
-		/* Cache in task struct for performance. */
-		t->kcov_size = kcov->size;
-		t->kcov_area = kcov->area;
-		/* See comment in check_kcov_mode(). */
-		barrier();
-		WRITE_ONCE(t->kcov_mode, kcov->mode);
+		kcov->mode = mode;
+		kcov_start(t, kcov->size, kcov->area, kcov->mode,
+				kcov->sequence);
 		t->kcov = kcov;
 		kcov->t = t;
-		/* This is put either in kcov_task_exit() or in KCOV_DISABLE. */
+		/* Put either in kcov_task_exit() or in KCOV_DISABLE. */
 		kcov_get(kcov);
 		return 0;
 	case KCOV_DISABLE:
+		kcov_debug("KCOV_DISABLE\n");
 		/* Disable coverage for the current task. */
 		unused = arg;
 		if (unused != 0 || current->kcov != kcov)
@@ -407,11 +606,65 @@
 		t = current;
 		if (WARN_ON(kcov->t != t))
 			return -EINVAL;
-		kcov_task_init(t);
-		kcov->t = NULL;
-		kcov->mode = KCOV_MODE_INIT;
+		kcov_disable(t, kcov);
 		kcov_put(kcov);
 		return 0;
+	case KCOV_REMOTE_ENABLE:
+		kcov_debug("KCOV_REMOTE_ENABLE\n");
+		if (kcov->mode != KCOV_MODE_INIT || !kcov->area)
+			return -EINVAL;
+		t = current;
+		if (kcov->t != NULL || t->kcov != NULL)
+			return -EBUSY;
+		remote_arg = (struct kcov_remote_arg *)arg;
+		mode = kcov_get_mode(remote_arg->trace_mode);
+		if (mode < 0)
+			return mode;
+		if (remote_arg->area_size > LONG_MAX / sizeof(unsigned long))
+			return -EINVAL;
+		kcov->mode = mode;
+		t->kcov = kcov;
+		kcov->t = t;
+		kcov->remote = true;
+		kcov->remote_size = remote_arg->area_size;
+		spin_lock(&kcov_remote_lock);
+		for (i = 0; i < remote_arg->num_handles; i++) {
+			kcov_debug("handle %llx\n", remote_arg->handles[i]);
+			if (!kcov_check_handle(remote_arg->handles[i],
+						false, true, false)) {
+				spin_unlock(&kcov_remote_lock);
+				kcov_disable(t, kcov);
+				return -EINVAL;
+			}
+			remote = kcov_remote_add(kcov, remote_arg->handles[i]);
+			if (IS_ERR(remote)) {
+				spin_unlock(&kcov_remote_lock);
+				kcov_disable(t, kcov);
+				return PTR_ERR(remote);
+			}
+		}
+		if (remote_arg->common_handle) {
+			kcov_debug("common handle %llx\n",
+					remote_arg->common_handle);
+			if (!kcov_check_handle(remote_arg->common_handle,
+						true, false, false)) {
+				spin_unlock(&kcov_remote_lock);
+				kcov_disable(t, kcov);
+				return -EINVAL;
+			}
+			remote = kcov_remote_add(kcov,
+					remote_arg->common_handle);
+			if (IS_ERR(remote)) {
+				spin_unlock(&kcov_remote_lock);
+				kcov_disable(t, kcov);
+				return PTR_ERR(remote);
+			}
+			t->kcov_handle = remote_arg->common_handle;
+		}
+		spin_unlock(&kcov_remote_lock);
+		/* Put either in kcov_task_exit() or in KCOV_DISABLE. */
+		kcov_get(kcov);
+		return 0;
 	default:
 		return -ENOTTY;
 	}
@@ -421,11 +674,35 @@
 {
 	struct kcov *kcov;
 	int res;
+	struct kcov_remote_arg *remote_arg = NULL;
+	unsigned int remote_num_handles;
+	unsigned long remote_arg_size;
+
+	if (cmd == KCOV_REMOTE_ENABLE) {
+		if (get_user(remote_num_handles, (unsigned __user *)(arg +
+				offsetof(struct kcov_remote_arg, num_handles))))
+			return -EFAULT;
+		if (remote_num_handles > KCOV_REMOTE_MAX_HANDLES)
+			return -EINVAL;
+		remote_arg_size = struct_size(remote_arg, handles,
+					remote_num_handles);
+		remote_arg = memdup_user((void __user *)arg, remote_arg_size);
+		if (IS_ERR(remote_arg))
+			return PTR_ERR(remote_arg);
+		if (remote_arg->num_handles != remote_num_handles) {
+			kfree(remote_arg);
+			return -EINVAL;
+		}
+		arg = (unsigned long)remote_arg;
+	}
 
 	kcov = filep->private_data;
 	spin_lock(&kcov->lock);
 	res = kcov_ioctl_locked(kcov, cmd, arg);
 	spin_unlock(&kcov->lock);
+
+	kfree(remote_arg);
+
 	return res;
 }
 
@@ -437,6 +714,207 @@
 	.release        = kcov_close,
 };
 
+/*
+ * kcov_remote_start() and kcov_remote_stop() can be used to annotate a section
+ * of code in a kernel background thread to allow kcov to be used to collect
+ * coverage from that part of code.
+ *
+ * The handle argument of kcov_remote_start() identifies a code section that is
+ * used for coverage collection. A userspace process passes this handle to
+ * KCOV_REMOTE_ENABLE ioctl to make the used kcov device start collecting
+ * coverage for the code section identified by this handle.
+ *
+ * The usage of these annotations in the kernel code is different depending on
+ * the type of the kernel thread whose code is being annotated.
+ *
+ * For global kernel threads that are spawned in a limited number of instances
+ * (e.g. one USB hub_event() worker thread is spawned per USB HCD), each
+ * instance must be assigned a unique 4-byte instance id. The instance id is
+ * then combined with a 1-byte subsystem id to get a handle via
+ * kcov_remote_handle(subsystem_id, instance_id).
+ *
+ * For local kernel threads that are spawned from system calls handler when a
+ * user interacts with some kernel interface (e.g. vhost workers), a handle is
+ * passed from a userspace process as the common_handle field of the
+ * kcov_remote_arg struct (note, that the user must generate a handle by using
+ * kcov_remote_handle() with KCOV_SUBSYSTEM_COMMON as the subsystem id and an
+ * arbitrary 4-byte non-zero number as the instance id). This common handle
+ * then gets saved into the task_struct of the process that issued the
+ * KCOV_REMOTE_ENABLE ioctl. When this proccess issues system calls that spawn
+ * kernel threads, the common handle must be retrived via kcov_common_handle()
+ * and passed to the spawned threads via custom annotations. Those kernel
+ * threads must in turn be annotated with kcov_remote_start(common_handle) and
+ * kcov_remote_stop(). All of the threads that are spawned by the same process
+ * obtain the same handle, hence the name "common".
+ *
+ * See Documentation/dev-tools/kcov.rst for more details.
+ *
+ * Internally, this function looks up the kcov device associated with the
+ * provided handle, allocates an area for coverage collection, and saves the
+ * pointers to kcov and area into the current task_struct to allow coverage to
+ * be collected via __sanitizer_cov_trace_pc()
+ * In turns kcov_remote_stop() clears those pointers from task_struct to stop
+ * collecting coverage and copies all collected coverage into the kcov area.
+ */
+void kcov_remote_start(u64 handle)
+{
+	struct kcov_remote *remote;
+	void *area;
+	struct task_struct *t;
+	unsigned int size;
+	enum kcov_mode mode;
+	int sequence;
+
+	if (WARN_ON(!kcov_check_handle(handle, true, true, true)))
+		return;
+	if (WARN_ON(!in_task()))
+		return;
+	t = current;
+	/*
+	 * Check that kcov_remote_start is not called twice
+	 * nor called by user tasks (with enabled kcov).
+	 */
+	if (WARN_ON(t->kcov))
+		return;
+
+	kcov_debug("handle = %llx\n", handle);
+
+	spin_lock(&kcov_remote_lock);
+	remote = kcov_remote_find(handle);
+	if (!remote) {
+		kcov_debug("no remote found");
+		spin_unlock(&kcov_remote_lock);
+		return;
+	}
+	/* Put in kcov_remote_stop(). */
+	kcov_get(remote->kcov);
+	t->kcov = remote->kcov;
+	/*
+	 * Read kcov fields before unlock to prevent races with
+	 * KCOV_DISABLE / kcov_remote_reset().
+	 */
+	size = remote->kcov->remote_size;
+	mode = remote->kcov->mode;
+	sequence = remote->kcov->sequence;
+	area = kcov_remote_area_get(size);
+	spin_unlock(&kcov_remote_lock);
+
+	if (!area) {
+		area = vmalloc(size * sizeof(unsigned long));
+		if (!area) {
+			t->kcov = NULL;
+			kcov_put(remote->kcov);
+			return;
+		}
+	}
+	/* Reset coverage size. */
+	*(u64 *)area = 0;
+
+	kcov_debug("area = %px, size = %u", area, size);
+
+	kcov_start(t, size, area, mode, sequence);
+
+}
+EXPORT_SYMBOL(kcov_remote_start);
+
+static void kcov_move_area(enum kcov_mode mode, void *dst_area,
+				unsigned int dst_area_size, void *src_area)
+{
+	u64 word_size = sizeof(unsigned long);
+	u64 count_size, entry_size_log;
+	u64 dst_len, src_len;
+	void *dst_entries, *src_entries;
+	u64 dst_occupied, dst_free, bytes_to_move, entries_moved;
+
+	kcov_debug("%px %u <= %px %lu\n",
+		dst_area, dst_area_size, src_area, *(unsigned long *)src_area);
+
+	switch (mode) {
+	case KCOV_MODE_TRACE_PC:
+		dst_len = READ_ONCE(*(unsigned long *)dst_area);
+		src_len = *(unsigned long *)src_area;
+		count_size = sizeof(unsigned long);
+		entry_size_log = __ilog2_u64(sizeof(unsigned long));
+		break;
+	case KCOV_MODE_TRACE_CMP:
+		dst_len = READ_ONCE(*(u64 *)dst_area);
+		src_len = *(u64 *)src_area;
+		count_size = sizeof(u64);
+		BUILD_BUG_ON(!is_power_of_2(KCOV_WORDS_PER_CMP));
+		entry_size_log = __ilog2_u64(sizeof(u64) * KCOV_WORDS_PER_CMP);
+		break;
+	default:
+		WARN_ON(1);
+		return;
+	}
+
+	/* As arm can't divide u64 integers use log of entry size. */
+	if (dst_len > ((dst_area_size * word_size - count_size) >>
+				entry_size_log))
+		return;
+	dst_occupied = count_size + (dst_len << entry_size_log);
+	dst_free = dst_area_size * word_size - dst_occupied;
+	bytes_to_move = min(dst_free, src_len << entry_size_log);
+	dst_entries = dst_area + dst_occupied;
+	src_entries = src_area + count_size;
+	memcpy(dst_entries, src_entries, bytes_to_move);
+	entries_moved = bytes_to_move >> entry_size_log;
+
+	switch (mode) {
+	case KCOV_MODE_TRACE_PC:
+		WRITE_ONCE(*(unsigned long *)dst_area, dst_len + entries_moved);
+		break;
+	case KCOV_MODE_TRACE_CMP:
+		WRITE_ONCE(*(u64 *)dst_area, dst_len + entries_moved);
+		break;
+	default:
+		break;
+	}
+}
+
+/* See the comment before kcov_remote_start() for usage details. */
+void kcov_remote_stop(void)
+{
+	struct task_struct *t = current;
+	struct kcov *kcov = t->kcov;
+	void *area = t->kcov_area;
+	unsigned int size = t->kcov_size;
+	int sequence = t->kcov_sequence;
+
+	if (!kcov) {
+		kcov_debug("no kcov found\n");
+		return;
+	}
+
+	kcov_stop(t);
+	t->kcov = NULL;
+
+	spin_lock(&kcov->lock);
+	/*
+	 * KCOV_DISABLE could have been called between kcov_remote_start()
+	 * and kcov_remote_stop(), hence the check.
+	 */
+	kcov_debug("move if: %d == %d && %d\n",
+		sequence, kcov->sequence, (int)kcov->remote);
+	if (sequence == kcov->sequence && kcov->remote)
+		kcov_move_area(kcov->mode, kcov->area, kcov->size, area);
+	spin_unlock(&kcov->lock);
+
+	spin_lock(&kcov_remote_lock);
+	kcov_remote_area_put(area, size);
+	spin_unlock(&kcov_remote_lock);
+
+	kcov_put(kcov);
+}
+EXPORT_SYMBOL(kcov_remote_stop);
+
+/* See the comment before kcov_remote_start() for usage details. */
+u64 kcov_common_handle(void)
+{
+	return current->kcov_handle;
+}
+EXPORT_SYMBOL(kcov_common_handle);
+
 static int __init kcov_init(void)
 {
 	/*
@@ -444,10 +922,8 @@
 	 * there is no need to protect it against removal races. The
 	 * use of debugfs_create_file_unsafe() is actually safe here.
 	 */
-	if (!debugfs_create_file_unsafe("kcov", 0600, NULL, NULL, &kcov_fops)) {
-		pr_err("failed to create kcov in debugfs\n");
-		return -ENOMEM;
-	}
+	debugfs_create_file_unsafe("kcov", 0600, NULL, NULL, &kcov_fops);
+
 	return 0;
 }
 
diff --git a/kernel/kprobes.c b/kernel/kprobes.c
index f4e4095e..92aad49 100644
--- a/kernel/kprobes.c
+++ b/kernel/kprobes.c
@@ -523,6 +523,8 @@
 	arch_unoptimize_kprobes(&unoptimizing_list, &freeing_list);
 	/* Loop free_list for disarming */
 	list_for_each_entry_safe(op, tmp, &freeing_list, list) {
+		/* Switching from detour code to origin */
+		op->kp.flags &= ~KPROBE_FLAG_OPTIMIZED;
 		/* Disarm probes if marked disabled */
 		if (kprobe_disabled(&op->kp))
 			arch_disarm_kprobe(&op->kp);
@@ -623,6 +625,18 @@
 	mutex_unlock(&kprobe_mutex);
 }
 
+static bool optprobe_queued_unopt(struct optimized_kprobe *op)
+{
+	struct optimized_kprobe *_op;
+
+	list_for_each_entry(_op, &unoptimizing_list, list) {
+		if (op == _op)
+			return true;
+	}
+
+	return false;
+}
+
 /* Optimize kprobe if p is ready to be optimized */
 static void optimize_kprobe(struct kprobe *p)
 {
@@ -644,17 +658,21 @@
 		return;
 
 	/* Check if it is already optimized. */
-	if (op->kp.flags & KPROBE_FLAG_OPTIMIZED)
+	if (op->kp.flags & KPROBE_FLAG_OPTIMIZED) {
+		if (optprobe_queued_unopt(op)) {
+			/* This is under unoptimizing. Just dequeue the probe */
+			list_del_init(&op->list);
+		}
 		return;
+	}
 	op->kp.flags |= KPROBE_FLAG_OPTIMIZED;
 
-	if (!list_empty(&op->list))
-		/* This is under unoptimizing. Just dequeue the probe */
-		list_del_init(&op->list);
-	else {
-		list_add(&op->list, &optimizing_list);
-		kick_kprobe_optimizer();
-	}
+	/* On unoptimizing/optimizing_list, op must have OPTIMIZED flag */
+	if (WARN_ON_ONCE(!list_empty(&op->list)))
+		return;
+
+	list_add(&op->list, &optimizing_list);
+	kick_kprobe_optimizer();
 }
 
 /* Short cut to direct unoptimizing */
@@ -662,6 +680,7 @@
 {
 	lockdep_assert_cpus_held();
 	arch_unoptimize_kprobe(op);
+	op->kp.flags &= ~KPROBE_FLAG_OPTIMIZED;
 	if (kprobe_disabled(&op->kp))
 		arch_disarm_kprobe(&op->kp);
 }
@@ -675,31 +694,33 @@
 		return; /* This is not an optprobe nor optimized */
 
 	op = container_of(p, struct optimized_kprobe, kp);
-	if (!kprobe_optimized(p)) {
-		/* Unoptimized or unoptimizing case */
-		if (force && !list_empty(&op->list)) {
-			/*
-			 * Only if this is unoptimizing kprobe and forced,
-			 * forcibly unoptimize it. (No need to unoptimize
-			 * unoptimized kprobe again :)
-			 */
+	if (!kprobe_optimized(p))
+		return;
+
+	if (!list_empty(&op->list)) {
+		if (optprobe_queued_unopt(op)) {
+			/* Queued in unoptimizing queue */
+			if (force) {
+				/*
+				 * Forcibly unoptimize the kprobe here, and queue it
+				 * in the freeing list for release afterwards.
+				 */
+				force_unoptimize_kprobe(op);
+				list_move(&op->list, &freeing_list);
+			}
+		} else {
+			/* Dequeue from the optimizing queue */
 			list_del_init(&op->list);
-			force_unoptimize_kprobe(op);
+			op->kp.flags &= ~KPROBE_FLAG_OPTIMIZED;
 		}
 		return;
 	}
 
-	op->kp.flags &= ~KPROBE_FLAG_OPTIMIZED;
-	if (!list_empty(&op->list)) {
-		/* Dequeue from the optimization queue */
-		list_del_init(&op->list);
-		return;
-	}
 	/* Optimized kprobe case */
-	if (force)
+	if (force) {
 		/* Forcibly update the code: this is a special case */
 		force_unoptimize_kprobe(op);
-	else {
+	} else {
 		list_add(&op->list, &unoptimizing_list);
 		kick_kprobe_optimizer();
 	}
diff --git a/kernel/memremap.c b/kernel/memremap.c
index 7c5fb8a..331baad 100644
--- a/kernel/memremap.c
+++ b/kernel/memremap.c
@@ -120,7 +120,9 @@
 	struct device *dev = pgmap->dev;
 	struct resource *res = &pgmap->res;
 	resource_size_t align_start, align_size;
+	struct page *first_page;
 	unsigned long pfn;
+	int nid;
 
 	pgmap->kill(pgmap->ref);
 	for_each_device_pfn(pfn, pgmap)
@@ -131,13 +133,17 @@
 	align_size = ALIGN(res->start + resource_size(res), SECTION_SIZE)
 		- align_start;
 
+	/* make sure to access a memmap that was actually initialized */
+	first_page = pfn_to_page(pfn_first(pgmap));
+
+	nid = page_to_nid(first_page);
+
 	mem_hotplug_begin();
 	if (pgmap->type == MEMORY_DEVICE_PRIVATE) {
 		pfn = align_start >> PAGE_SHIFT;
-		__remove_pages(page_zone(pfn_to_page(pfn)), pfn,
-				align_size >> PAGE_SHIFT, NULL);
+		__remove_pages(pfn, align_size >> PAGE_SHIFT, NULL);
 	} else {
-		arch_remove_memory(align_start, align_size,
+		arch_remove_memory(nid, align_start, align_size,
 				pgmap->altmap_valid ? &pgmap->altmap : NULL);
 		kasan_remove_zero_shadow(__va(align_start), align_size);
 	}
diff --git a/kernel/module.c b/kernel/module.c
index fbc2729..c0a952e 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -1729,6 +1729,8 @@
 error_out:
 	if (i > 0)
 		module_remove_modinfo_attrs(mod, --i);
+	else
+		kfree(mod->modinfo_attrs);
 	return error;
 }
 
@@ -2988,9 +2990,7 @@
 
 	/* Try to find a name early so we can log errors with a module name */
 	info->index.info = find_sec(info, ".modinfo");
-	if (!info->index.info)
-		info->name = "(missing .modinfo section)";
-	else
+	if (info->index.info)
 		info->name = get_modinfo(info, "name");
 
 	/* Find internal symbols and strings. */
@@ -3005,14 +3005,15 @@
 	}
 
 	if (info->index.sym == 0) {
-		pr_warn("%s: module has no symbols (stripped?)\n", info->name);
+		pr_warn("%s: module has no symbols (stripped?)\n",
+			info->name ?: "(missing .modinfo section or name field)");
 		return -ENOEXEC;
 	}
 
 	info->index.mod = find_sec(info, ".gnu.linkonce.this_module");
 	if (!info->index.mod) {
 		pr_warn("%s: No module found in object\n",
-			info->name ?: "(missing .modinfo name field)");
+			info->name ?: "(missing .modinfo section or name field)");
 		return -ENOEXEC;
 	}
 	/* This is temporary: point mod into copy of data. */
diff --git a/kernel/padata.c b/kernel/padata.c
index 6c06b30..cfab629 100644
--- a/kernel/padata.c
+++ b/kernel/padata.c
@@ -35,6 +35,8 @@
 
 #define MAX_OBJ_NUM 1000
 
+static void padata_free_pd(struct parallel_data *pd);
+
 static int padata_index_to_cpu(struct parallel_data *pd, int cpu_index)
 {
 	int cpu, target_cpu;
@@ -334,6 +336,7 @@
 	struct padata_serial_queue *squeue;
 	struct parallel_data *pd;
 	LIST_HEAD(local_list);
+	int cnt;
 
 	local_bh_disable();
 	squeue = container_of(serial_work, struct padata_serial_queue, work);
@@ -343,6 +346,8 @@
 	list_replace_init(&squeue->serial.list, &local_list);
 	spin_unlock(&squeue->serial.lock);
 
+	cnt = 0;
+
 	while (!list_empty(&local_list)) {
 		struct padata_priv *padata;
 
@@ -352,9 +357,12 @@
 		list_del_init(&padata->list);
 
 		padata->serial(padata);
-		atomic_dec(&pd->refcnt);
+		cnt++;
 	}
 	local_bh_enable();
+
+	if (atomic_sub_and_test(cnt, &pd->refcnt))
+		padata_free_pd(pd);
 }
 
 /**
@@ -501,7 +509,7 @@
 	timer_setup(&pd->timer, padata_reorder_timer, 0);
 	atomic_set(&pd->seq_nr, -1);
 	atomic_set(&pd->reorder_objects, 0);
-	atomic_set(&pd->refcnt, 0);
+	atomic_set(&pd->refcnt, 1);
 	pd->pinst = pinst;
 	spin_lock_init(&pd->lock);
 
@@ -526,31 +534,6 @@
 	kfree(pd);
 }
 
-/* Flush all objects out of the padata queues. */
-static void padata_flush_queues(struct parallel_data *pd)
-{
-	int cpu;
-	struct padata_parallel_queue *pqueue;
-	struct padata_serial_queue *squeue;
-
-	for_each_cpu(cpu, pd->cpumask.pcpu) {
-		pqueue = per_cpu_ptr(pd->pqueue, cpu);
-		flush_work(&pqueue->work);
-	}
-
-	del_timer_sync(&pd->timer);
-
-	if (atomic_read(&pd->reorder_objects))
-		padata_reorder(pd);
-
-	for_each_cpu(cpu, pd->cpumask.cbcpu) {
-		squeue = per_cpu_ptr(pd->squeue, cpu);
-		flush_work(&squeue->work);
-	}
-
-	BUG_ON(atomic_read(&pd->refcnt) != 0);
-}
-
 static void __padata_start(struct padata_instance *pinst)
 {
 	pinst->flags |= PADATA_INIT;
@@ -564,10 +547,6 @@
 	pinst->flags &= ~PADATA_INIT;
 
 	synchronize_rcu();
-
-	get_online_cpus();
-	padata_flush_queues(pinst->pd);
-	put_online_cpus();
 }
 
 /* Replace the internal control structure with a new one. */
@@ -588,8 +567,8 @@
 	if (!cpumask_equal(pd_old->cpumask.cbcpu, pd_new->cpumask.cbcpu))
 		notification_mask |= PADATA_CPU_SERIAL;
 
-	padata_flush_queues(pd_old);
-	padata_free_pd(pd_old);
+	if (atomic_dec_and_test(&pd_old->refcnt))
+		padata_free_pd(pd_old);
 
 	if (notification_mask)
 		blocking_notifier_call_chain(&pinst->cpumask_change_notifier,
diff --git a/kernel/power/autosleep.c b/kernel/power/autosleep.c
index 41e83a7..9af5a50 100644
--- a/kernel/power/autosleep.c
+++ b/kernel/power/autosleep.c
@@ -116,7 +116,7 @@
 
 int __init pm_autosleep_init(void)
 {
-	autosleep_ws = wakeup_source_register("autosleep");
+	autosleep_ws = wakeup_source_register(NULL, "autosleep");
 	if (!autosleep_ws)
 		return -ENOMEM;
 
diff --git a/kernel/power/wakelock.c b/kernel/power/wakelock.c
index 4210152..105df4d 100644
--- a/kernel/power/wakelock.c
+++ b/kernel/power/wakelock.c
@@ -27,7 +27,7 @@
 struct wakelock {
 	char			*name;
 	struct rb_node		node;
-	struct wakeup_source	ws;
+	struct wakeup_source	*ws;
 #ifdef CONFIG_PM_WAKELOCKS_GC
 	struct list_head	lru;
 #endif
@@ -46,7 +46,7 @@
 
 	for (node = rb_first(&wakelocks_tree); node; node = rb_next(node)) {
 		wl = rb_entry(node, struct wakelock, node);
-		if (wl->ws.active == show_active)
+		if (wl->ws->active == show_active)
 			str += scnprintf(str, end - str, "%s ", wl->name);
 	}
 	if (str > buf)
@@ -112,16 +112,16 @@
 		u64 idle_time_ns;
 		bool active;
 
-		spin_lock_irq(&wl->ws.lock);
-		idle_time_ns = ktime_to_ns(ktime_sub(now, wl->ws.last_time));
-		active = wl->ws.active;
-		spin_unlock_irq(&wl->ws.lock);
+		spin_lock_irq(&wl->ws->lock);
+		idle_time_ns = ktime_to_ns(ktime_sub(now, wl->ws->last_time));
+		active = wl->ws->active;
+		spin_unlock_irq(&wl->ws->lock);
 
 		if (idle_time_ns < ((u64)WL_GC_TIME_SEC * NSEC_PER_SEC))
 			break;
 
 		if (!active) {
-			wakeup_source_remove(&wl->ws);
+			wakeup_source_unregister(wl->ws);
 			rb_erase(&wl->node, &wakelocks_tree);
 			list_del(&wl->lru);
 			kfree(wl->name);
@@ -187,9 +187,15 @@
 		kfree(wl);
 		return ERR_PTR(-ENOMEM);
 	}
-	wl->ws.name = wl->name;
-	wl->ws.last_time = ktime_get();
-	wakeup_source_add(&wl->ws);
+
+	wl->ws = wakeup_source_register(NULL, wl->name);
+	if (!wl->ws) {
+		kfree(wl->name);
+		kfree(wl);
+		return ERR_PTR(-ENOMEM);
+	}
+	wl->ws->last_time = ktime_get();
+
 	rb_link_node(&wl->node, parent, node);
 	rb_insert_color(&wl->node, &wakelocks_tree);
 	wakelocks_lru_add(wl);
@@ -233,9 +239,9 @@
 		u64 timeout_ms = timeout_ns + NSEC_PER_MSEC - 1;
 
 		do_div(timeout_ms, NSEC_PER_MSEC);
-		__pm_wakeup_event(&wl->ws, timeout_ms);
+		__pm_wakeup_event(wl->ws, timeout_ms);
 	} else {
-		__pm_stay_awake(&wl->ws);
+		__pm_stay_awake(wl->ws);
 	}
 
 	wakelocks_lru_most_recent(wl);
@@ -271,7 +277,7 @@
 		ret = PTR_ERR(wl);
 		goto out;
 	}
-	__pm_relax(&wl->ws);
+	__pm_relax(wl->ws);
 
 	wakelocks_lru_most_recent(wl);
 	wakelocks_gc();
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
index 8487e27..a9e567a 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -2721,8 +2721,6 @@
 		 * for us.
 		 */
 		logbuf_lock_irqsave(flags);
-		console_seq = syslog_seq;
-		console_idx = syslog_idx;
 		/*
 		 * We're about to replay the log buffer.  Only do this to the
 		 * just-registered console to avoid excessive message spam to
@@ -2734,6 +2732,8 @@
 		 */
 		exclusive_console = newcon;
 		exclusive_console_stop_seq = console_seq;
+		console_seq = syslog_seq;
+		console_idx = syslog_idx;
 		logbuf_unlock_irqrestore(flags);
 	}
 	console_unlock();
diff --git a/kernel/ptrace.c b/kernel/ptrace.c
index fed682a..b93eb4e 100644
--- a/kernel/ptrace.c
+++ b/kernel/ptrace.c
@@ -258,12 +258,17 @@
 	return ret;
 }
 
-static int ptrace_has_cap(struct user_namespace *ns, unsigned int mode)
+static bool ptrace_has_cap(const struct cred *cred, struct user_namespace *ns,
+			   unsigned int mode)
 {
+	int ret;
+
 	if (mode & PTRACE_MODE_NOAUDIT)
-		return has_ns_capability_noaudit(current, ns, CAP_SYS_PTRACE);
+		ret = security_capable(cred, ns, CAP_SYS_PTRACE, CAP_OPT_NOAUDIT);
 	else
-		return has_ns_capability(current, ns, CAP_SYS_PTRACE);
+		ret = security_capable(cred, ns, CAP_SYS_PTRACE, CAP_OPT_NONE);
+
+	return ret == 0;
 }
 
 /* Returns 0 on success, -errno on denial. */
@@ -315,7 +320,7 @@
 	    gid_eq(caller_gid, tcred->sgid) &&
 	    gid_eq(caller_gid, tcred->gid))
 		goto ok;
-	if (ptrace_has_cap(tcred->user_ns, mode))
+	if (ptrace_has_cap(cred, tcred->user_ns, mode))
 		goto ok;
 	rcu_read_unlock();
 	return -EPERM;
@@ -334,7 +339,7 @@
 	mm = task->mm;
 	if (mm &&
 	    ((get_dumpable(mm) != SUID_DUMP_USER) &&
-	     !ptrace_has_cap(mm->user_ns, mode)))
+	     !ptrace_has_cap(cred, mm->user_ns, mode)))
 	    return -EPERM;
 
 	return security_ptrace_access_check(task, mode);
diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h
index a97c20e..5f6de49 100644
--- a/kernel/rcu/tree_plugin.h
+++ b/kernel/rcu/tree_plugin.h
@@ -267,7 +267,7 @@
 	 * blocked tasks.
 	 */
 	if (!rnp->gp_tasks && (blkd_state & RCU_GP_BLKD)) {
-		rnp->gp_tasks = &t->rcu_node_entry;
+		WRITE_ONCE(rnp->gp_tasks, &t->rcu_node_entry);
 		WARN_ON_ONCE(rnp->completedqs == rnp->gp_seq);
 	}
 	if (!rnp->exp_tasks && (blkd_state & RCU_EXP_BLKD))
@@ -392,7 +392,7 @@
  */
 static int rcu_preempt_blocked_readers_cgp(struct rcu_node *rnp)
 {
-	return rnp->gp_tasks != NULL;
+	return READ_ONCE(rnp->gp_tasks) != NULL;
 }
 
 /*
@@ -557,7 +557,7 @@
 		trace_rcu_unlock_preempted_task(TPS("rcu_preempt"),
 						rnp->gp_seq, t->pid);
 		if (&t->rcu_node_entry == rnp->gp_tasks)
-			rnp->gp_tasks = np;
+			WRITE_ONCE(rnp->gp_tasks, np);
 		if (&t->rcu_node_entry == rnp->exp_tasks)
 			rnp->exp_tasks = np;
 		if (IS_ENABLED(CONFIG_RCU_BOOST)) {
@@ -716,7 +716,7 @@
 		dump_blkd_tasks(rsp, rnp, 10);
 	if (rcu_preempt_has_tasks(rnp) &&
 	    (rnp->qsmaskinit || rnp->wait_blkd_tasks)) {
-		rnp->gp_tasks = rnp->blkd_tasks.next;
+		WRITE_ONCE(rnp->gp_tasks, rnp->blkd_tasks.next);
 		t = container_of(rnp->gp_tasks, struct task_struct,
 				 rcu_node_entry);
 		trace_rcu_unlock_preempted_task(TPS("rcu_preempt-GPS"),
@@ -883,7 +883,8 @@
 		pr_info("%s: %d:%d ->qsmask %#lx ->qsmaskinit %#lx ->qsmaskinitnext %#lx\n",
 			__func__, rnp1->grplo, rnp1->grphi, rnp1->qsmask, rnp1->qsmaskinit, rnp1->qsmaskinitnext);
 	pr_info("%s: ->gp_tasks %p ->boost_tasks %p ->exp_tasks %p\n",
-		__func__, rnp->gp_tasks, rnp->boost_tasks, rnp->exp_tasks);
+		__func__, READ_ONCE(rnp->gp_tasks), rnp->boost_tasks,
+		rnp->exp_tasks);
 	pr_info("%s: ->blkd_tasks", __func__);
 	i = 0;
 	list_for_each(lhp, &rnp->blkd_tasks) {
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 08c4eb0..e688b32 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -730,6 +730,598 @@
 	}
 }
 
+#ifdef CONFIG_UCLAMP_TASK
+/*
+ * Serializes updates of utilization clamp values
+ *
+ * The (slow-path) user-space triggers utilization clamp value updates which
+ * can require updates on (fast-path) scheduler's data structures used to
+ * support enqueue/dequeue operations.
+ * While the per-CPU rq lock protects fast-path update operations, user-space
+ * requests are serialized using a mutex to reduce the risk of conflicting
+ * updates or API abuses.
+ */
+static DEFINE_MUTEX(uclamp_mutex);
+
+/* Max allowed minimum utilization */
+unsigned int sysctl_sched_uclamp_util_min = SCHED_CAPACITY_SCALE;
+
+/* Max allowed maximum utilization */
+unsigned int sysctl_sched_uclamp_util_max = SCHED_CAPACITY_SCALE;
+
+/* All clamps are required to be less or equal than these values */
+static struct uclamp_se uclamp_default[UCLAMP_CNT];
+
+/* Integer rounded range for each bucket */
+#define UCLAMP_BUCKET_DELTA DIV_ROUND_CLOSEST(SCHED_CAPACITY_SCALE, UCLAMP_BUCKETS)
+
+#define for_each_clamp_id(clamp_id) \
+	for ((clamp_id) = 0; (clamp_id) < UCLAMP_CNT; (clamp_id)++)
+
+static inline unsigned int uclamp_bucket_id(unsigned int clamp_value)
+{
+	return clamp_value / UCLAMP_BUCKET_DELTA;
+}
+
+static inline unsigned int uclamp_bucket_base_value(unsigned int clamp_value)
+{
+	return UCLAMP_BUCKET_DELTA * uclamp_bucket_id(clamp_value);
+}
+
+static inline unsigned int uclamp_none(enum uclamp_id clamp_id)
+{
+	if (clamp_id == UCLAMP_MIN)
+		return 0;
+	return SCHED_CAPACITY_SCALE;
+}
+
+static inline void uclamp_se_set(struct uclamp_se *uc_se,
+				 unsigned int value, bool user_defined)
+{
+	uc_se->value = value;
+	uc_se->bucket_id = uclamp_bucket_id(value);
+	uc_se->user_defined = user_defined;
+}
+
+static inline unsigned int
+uclamp_idle_value(struct rq *rq, enum uclamp_id clamp_id,
+		  unsigned int clamp_value)
+{
+	/*
+	 * Avoid blocked utilization pushing up the frequency when we go
+	 * idle (which drops the max-clamp) by retaining the last known
+	 * max-clamp.
+	 */
+	if (clamp_id == UCLAMP_MAX) {
+		rq->uclamp_flags |= UCLAMP_FLAG_IDLE;
+		return clamp_value;
+	}
+
+	return uclamp_none(UCLAMP_MIN);
+}
+
+static inline void uclamp_idle_reset(struct rq *rq, enum uclamp_id clamp_id,
+				     unsigned int clamp_value)
+{
+	/* Reset max-clamp retention only on idle exit */
+	if (!(rq->uclamp_flags & UCLAMP_FLAG_IDLE))
+		return;
+
+	WRITE_ONCE(rq->uclamp[clamp_id].value, clamp_value);
+}
+
+static inline
+unsigned int uclamp_rq_max_value(struct rq *rq, enum uclamp_id clamp_id,
+				   unsigned int clamp_value)
+{
+	struct uclamp_bucket *bucket = rq->uclamp[clamp_id].bucket;
+	int bucket_id = UCLAMP_BUCKETS - 1;
+
+	/*
+	 * Since both min and max clamps are max aggregated, find the
+	 * top most bucket with tasks in.
+	 */
+	for ( ; bucket_id >= 0; bucket_id--) {
+		if (!bucket[bucket_id].tasks)
+			continue;
+		return bucket[bucket_id].value;
+	}
+
+	/* No tasks -- default clamp values */
+	return uclamp_idle_value(rq, clamp_id, clamp_value);
+}
+
+static inline struct uclamp_se
+uclamp_tg_restrict(struct task_struct *p, enum uclamp_id clamp_id)
+{
+	struct uclamp_se uc_req = p->uclamp_req[clamp_id];
+#ifdef CONFIG_UCLAMP_TASK_GROUP
+	struct uclamp_se uc_max;
+
+	/*
+	 * Tasks in autogroups or root task group will be
+	 * restricted by system defaults.
+	 */
+	if (task_group_is_autogroup(task_group(p)))
+		return uc_req;
+	if (task_group(p) == &root_task_group)
+		return uc_req;
+
+	uc_max = task_group(p)->uclamp[clamp_id];
+	if (uc_req.value > uc_max.value || !uc_req.user_defined)
+		return uc_max;
+#endif
+
+	return uc_req;
+}
+
+/*
+ * The effective clamp bucket index of a task depends on, by increasing
+ * priority:
+ * - the task specific clamp value, when explicitly requested from userspace
+ * - the task group effective clamp value, for tasks not either in the root
+ *   group or in an autogroup
+ * - the system default clamp value, defined by the sysadmin
+ */
+static inline struct uclamp_se
+uclamp_eff_get(struct task_struct *p, enum uclamp_id clamp_id)
+{
+	struct uclamp_se uc_req = uclamp_tg_restrict(p, clamp_id);
+	struct uclamp_se uc_max = uclamp_default[clamp_id];
+
+	/* System default restrictions always apply */
+	if (unlikely(uc_req.value > uc_max.value))
+		return uc_max;
+
+	return uc_req;
+}
+
+unsigned long uclamp_eff_value(struct task_struct *p, enum uclamp_id clamp_id)
+{
+	struct uclamp_se uc_eff;
+
+	/* Task currently refcounted: use back-annotated (effective) value */
+	if (p->uclamp[clamp_id].active)
+		return (unsigned long)p->uclamp[clamp_id].value;
+
+	uc_eff = uclamp_eff_get(p, clamp_id);
+
+	return (unsigned long)uc_eff.value;
+}
+
+/*
+ * When a task is enqueued on a rq, the clamp bucket currently defined by the
+ * task's uclamp::bucket_id is refcounted on that rq. This also immediately
+ * updates the rq's clamp value if required.
+ *
+ * Tasks can have a task-specific value requested from user-space, track
+ * within each bucket the maximum value for tasks refcounted in it.
+ * This "local max aggregation" allows to track the exact "requested" value
+ * for each bucket when all its RUNNABLE tasks require the same clamp.
+ */
+static inline void uclamp_rq_inc_id(struct rq *rq, struct task_struct *p,
+				    enum uclamp_id clamp_id)
+{
+	struct uclamp_rq *uc_rq = &rq->uclamp[clamp_id];
+	struct uclamp_se *uc_se = &p->uclamp[clamp_id];
+	struct uclamp_bucket *bucket;
+
+	lockdep_assert_held(&rq->lock);
+
+	/* Update task effective clamp */
+	p->uclamp[clamp_id] = uclamp_eff_get(p, clamp_id);
+
+	bucket = &uc_rq->bucket[uc_se->bucket_id];
+	bucket->tasks++;
+	uc_se->active = true;
+
+	uclamp_idle_reset(rq, clamp_id, uc_se->value);
+
+	/*
+	 * Local max aggregation: rq buckets always track the max
+	 * "requested" clamp value of its RUNNABLE tasks.
+	 */
+	if (bucket->tasks == 1 || uc_se->value > bucket->value)
+		bucket->value = uc_se->value;
+
+	if (uc_se->value > READ_ONCE(uc_rq->value))
+		WRITE_ONCE(uc_rq->value, uc_se->value);
+}
+
+/*
+ * When a task is dequeued from a rq, the clamp bucket refcounted by the task
+ * is released. If this is the last task reference counting the rq's max
+ * active clamp value, then the rq's clamp value is updated.
+ *
+ * Both refcounted tasks and rq's cached clamp values are expected to be
+ * always valid. If it's detected they are not, as defensive programming,
+ * enforce the expected state and warn.
+ */
+static inline void uclamp_rq_dec_id(struct rq *rq, struct task_struct *p,
+				    enum uclamp_id clamp_id)
+{
+	struct uclamp_rq *uc_rq = &rq->uclamp[clamp_id];
+	struct uclamp_se *uc_se = &p->uclamp[clamp_id];
+	struct uclamp_bucket *bucket;
+	unsigned int bkt_clamp;
+	unsigned int rq_clamp;
+
+	lockdep_assert_held(&rq->lock);
+
+	bucket = &uc_rq->bucket[uc_se->bucket_id];
+	SCHED_WARN_ON(!bucket->tasks);
+	if (likely(bucket->tasks))
+		bucket->tasks--;
+	uc_se->active = false;
+
+	/*
+	 * Keep "local max aggregation" simple and accept to (possibly)
+	 * overboost some RUNNABLE tasks in the same bucket.
+	 * The rq clamp bucket value is reset to its base value whenever
+	 * there are no more RUNNABLE tasks refcounting it.
+	 */
+	if (likely(bucket->tasks))
+		return;
+
+	rq_clamp = READ_ONCE(uc_rq->value);
+	/*
+	 * Defensive programming: this should never happen. If it happens,
+	 * e.g. due to future modification, warn and fixup the expected value.
+	 */
+	SCHED_WARN_ON(bucket->value > rq_clamp);
+	if (bucket->value >= rq_clamp) {
+		bkt_clamp = uclamp_rq_max_value(rq, clamp_id, uc_se->value);
+		WRITE_ONCE(uc_rq->value, bkt_clamp);
+	}
+}
+
+static inline void uclamp_rq_inc(struct rq *rq, struct task_struct *p)
+{
+	enum uclamp_id clamp_id;
+
+	if (unlikely(!p->sched_class->uclamp_enabled))
+		return;
+
+	for_each_clamp_id(clamp_id)
+		uclamp_rq_inc_id(rq, p, clamp_id);
+
+	/* Reset clamp idle holding when there is one RUNNABLE task */
+	if (rq->uclamp_flags & UCLAMP_FLAG_IDLE)
+		rq->uclamp_flags &= ~UCLAMP_FLAG_IDLE;
+}
+
+static inline void uclamp_rq_dec(struct rq *rq, struct task_struct *p)
+{
+	enum uclamp_id clamp_id;
+
+	if (unlikely(!p->sched_class->uclamp_enabled))
+		return;
+
+	for_each_clamp_id(clamp_id)
+		uclamp_rq_dec_id(rq, p, clamp_id);
+}
+
+static inline void
+uclamp_update_active(struct task_struct *p, enum uclamp_id clamp_id)
+{
+	struct rq_flags rf;
+	struct rq *rq;
+
+	/*
+	 * Lock the task and the rq where the task is (or was) queued.
+	 *
+	 * We might lock the (previous) rq of a !RUNNABLE task, but that's the
+	 * price to pay to safely serialize util_{min,max} updates with
+	 * enqueues, dequeues and migration operations.
+	 * This is the same locking schema used by __set_cpus_allowed_ptr().
+	 */
+	rq = task_rq_lock(p, &rf);
+
+	/*
+	 * Setting the clamp bucket is serialized by task_rq_lock().
+	 * If the task is not yet RUNNABLE and its task_struct is not
+	 * affecting a valid clamp bucket, the next time it's enqueued,
+	 * it will already see the updated clamp bucket value.
+	 */
+	if (p->uclamp[clamp_id].active) {
+		uclamp_rq_dec_id(rq, p, clamp_id);
+		uclamp_rq_inc_id(rq, p, clamp_id);
+	}
+
+	task_rq_unlock(rq, p, &rf);
+}
+
+#ifdef CONFIG_UCLAMP_TASK_GROUP
+static inline void
+uclamp_update_active_tasks(struct cgroup_subsys_state *css,
+			   unsigned int clamps)
+{
+	enum uclamp_id clamp_id;
+	struct css_task_iter it;
+	struct task_struct *p;
+
+	css_task_iter_start(css, 0, &it);
+	while ((p = css_task_iter_next(&it))) {
+		for_each_clamp_id(clamp_id) {
+			if ((0x1 << clamp_id) & clamps)
+				uclamp_update_active(p, clamp_id);
+		}
+	}
+	css_task_iter_end(&it);
+}
+
+static void cpu_util_update_eff(struct cgroup_subsys_state *css);
+static void uclamp_update_root_tg(void)
+{
+	struct task_group *tg = &root_task_group;
+
+	uclamp_se_set(&tg->uclamp_req[UCLAMP_MIN],
+		      sysctl_sched_uclamp_util_min, false);
+	uclamp_se_set(&tg->uclamp_req[UCLAMP_MAX],
+		      sysctl_sched_uclamp_util_max, false);
+
+	rcu_read_lock();
+	cpu_util_update_eff(&root_task_group.css);
+	rcu_read_unlock();
+}
+#else
+static void uclamp_update_root_tg(void) { }
+#endif
+
+int sysctl_sched_uclamp_handler(struct ctl_table *table, int write,
+				void __user *buffer, size_t *lenp,
+				loff_t *ppos)
+{
+	bool update_root_tg = false;
+	int old_min, old_max;
+	int result;
+
+	mutex_lock(&uclamp_mutex);
+	old_min = sysctl_sched_uclamp_util_min;
+	old_max = sysctl_sched_uclamp_util_max;
+
+	result = proc_dointvec(table, write, buffer, lenp, ppos);
+	if (result)
+		goto undo;
+	if (!write)
+		goto done;
+
+	if (sysctl_sched_uclamp_util_min > sysctl_sched_uclamp_util_max ||
+	    sysctl_sched_uclamp_util_max > SCHED_CAPACITY_SCALE) {
+		result = -EINVAL;
+		goto undo;
+	}
+
+	if (old_min != sysctl_sched_uclamp_util_min) {
+		uclamp_se_set(&uclamp_default[UCLAMP_MIN],
+			      sysctl_sched_uclamp_util_min, false);
+		update_root_tg = true;
+	}
+	if (old_max != sysctl_sched_uclamp_util_max) {
+		uclamp_se_set(&uclamp_default[UCLAMP_MAX],
+			      sysctl_sched_uclamp_util_max, false);
+		update_root_tg = true;
+	}
+
+	if (update_root_tg)
+		uclamp_update_root_tg();
+
+	/*
+	 * We update all RUNNABLE tasks only when task groups are in use.
+	 * Otherwise, keep it simple and do just a lazy update at each next
+	 * task enqueue time.
+	 */
+
+	goto done;
+
+undo:
+	sysctl_sched_uclamp_util_min = old_min;
+	sysctl_sched_uclamp_util_max = old_max;
+done:
+	mutex_unlock(&uclamp_mutex);
+
+	return result;
+}
+
+static int uclamp_validate(struct task_struct *p,
+			   const struct sched_attr *attr)
+{
+	unsigned int lower_bound = p->uclamp_req[UCLAMP_MIN].value;
+	unsigned int upper_bound = p->uclamp_req[UCLAMP_MAX].value;
+
+	if (attr->sched_flags & SCHED_FLAG_UTIL_CLAMP_MIN)
+		lower_bound = attr->sched_util_min;
+	if (attr->sched_flags & SCHED_FLAG_UTIL_CLAMP_MAX)
+		upper_bound = attr->sched_util_max;
+
+	if (lower_bound > upper_bound)
+		return -EINVAL;
+	if (upper_bound > SCHED_CAPACITY_SCALE)
+		return -EINVAL;
+
+	return 0;
+}
+
+static void __setscheduler_uclamp(struct task_struct *p,
+				  const struct sched_attr *attr)
+{
+	enum uclamp_id clamp_id;
+
+	/*
+	 * On scheduling class change, reset to default clamps for tasks
+	 * without a task-specific value.
+	 */
+	for_each_clamp_id(clamp_id) {
+		struct uclamp_se *uc_se = &p->uclamp_req[clamp_id];
+		unsigned int clamp_value = uclamp_none(clamp_id);
+
+		/* Keep using defined clamps across class changes */
+		if (uc_se->user_defined)
+			continue;
+
+		/* By default, RT tasks always get 100% boost */
+		if (sched_feat(SUGOV_RT_MAX_FREQ) &&
+			       unlikely(rt_task(p) &&
+			       clamp_id == UCLAMP_MIN)) {
+
+			clamp_value = uclamp_none(UCLAMP_MAX);
+		}
+
+		uclamp_se_set(uc_se, clamp_value, false);
+	}
+
+	if (likely(!(attr->sched_flags & SCHED_FLAG_UTIL_CLAMP)))
+		return;
+
+	if (attr->sched_flags & SCHED_FLAG_UTIL_CLAMP_MIN) {
+		uclamp_se_set(&p->uclamp_req[UCLAMP_MIN],
+			      attr->sched_util_min, true);
+	}
+
+	if (attr->sched_flags & SCHED_FLAG_UTIL_CLAMP_MAX) {
+		uclamp_se_set(&p->uclamp_req[UCLAMP_MAX],
+			      attr->sched_util_max, true);
+	}
+}
+
+static void uclamp_fork(struct task_struct *p)
+{
+	enum uclamp_id clamp_id;
+
+	for_each_clamp_id(clamp_id)
+		p->uclamp[clamp_id].active = false;
+
+	if (likely(!p->sched_reset_on_fork))
+		return;
+
+	for_each_clamp_id(clamp_id) {
+		unsigned int clamp_value = uclamp_none(clamp_id);
+
+		/* By default, RT tasks always get 100% boost */
+		if (sched_feat(SUGOV_RT_MAX_FREQ) &&
+			       unlikely(rt_task(p) &&
+			       clamp_id == UCLAMP_MIN)) {
+
+			clamp_value = uclamp_none(UCLAMP_MAX);
+		}
+
+		uclamp_se_set(&p->uclamp_req[clamp_id], clamp_value, false);
+	}
+}
+
+#ifdef CONFIG_SMP
+unsigned int uclamp_task(struct task_struct *p)
+{
+	unsigned long util;
+
+	util = task_util_est(p);
+	util = max(util, uclamp_eff_value(p, UCLAMP_MIN));
+	util = min(util, uclamp_eff_value(p, UCLAMP_MAX));
+
+	return util;
+}
+
+bool uclamp_boosted(struct task_struct *p)
+{
+	return uclamp_eff_value(p, UCLAMP_MIN) > 0;
+}
+
+bool uclamp_latency_sensitive(struct task_struct *p)
+{
+#ifdef CONFIG_UCLAMP_TASK_GROUP
+	struct cgroup_subsys_state *css = task_css(p, cpu_cgrp_id);
+	struct task_group *tg;
+
+	if (!css)
+		return false;
+	tg = container_of(css, struct task_group, css);
+
+	return tg->latency_sensitive;
+#else
+	return false;
+#endif
+}
+#endif /* CONFIG_SMP */
+
+static void __init init_uclamp(void)
+{
+	struct uclamp_se uc_max = {};
+	enum uclamp_id clamp_id;
+	int cpu;
+
+	mutex_init(&uclamp_mutex);
+
+	for_each_possible_cpu(cpu) {
+		memset(&cpu_rq(cpu)->uclamp, 0,
+				sizeof(struct uclamp_rq)*UCLAMP_CNT);
+		cpu_rq(cpu)->uclamp_flags = 0;
+	}
+
+	for_each_clamp_id(clamp_id) {
+		uclamp_se_set(&init_task.uclamp_req[clamp_id],
+			      uclamp_none(clamp_id), false);
+	}
+
+	/* System defaults allow max clamp values for both indexes */
+	uclamp_se_set(&uc_max, uclamp_none(UCLAMP_MAX), false);
+	for_each_clamp_id(clamp_id) {
+		uclamp_default[clamp_id] = uc_max;
+#ifdef CONFIG_UCLAMP_TASK_GROUP
+		root_task_group.uclamp_req[clamp_id] = uc_max;
+		root_task_group.uclamp[clamp_id] = uc_max;
+#endif
+	}
+}
+
+#else /* CONFIG_UCLAMP_TASK */
+static inline void uclamp_rq_inc(struct rq *rq, struct task_struct *p) { }
+static inline void uclamp_rq_dec(struct rq *rq, struct task_struct *p) { }
+static inline int uclamp_validate(struct task_struct *p,
+				  const struct sched_attr *attr)
+{
+	return -EOPNOTSUPP;
+}
+static void __setscheduler_uclamp(struct task_struct *p,
+				  const struct sched_attr *attr) { }
+static inline void uclamp_fork(struct task_struct *p) { }
+
+long schedtune_task_margin(struct task_struct *task);
+
+#ifdef CONFIG_SMP
+unsigned int uclamp_task(struct task_struct *p)
+{
+	unsigned long util = task_util_est(p);
+#ifdef CONFIG_SCHED_TUNE
+	long margin = schedtune_task_margin(p);
+
+	trace_sched_boost_task(p, util, margin);
+
+	util += margin;
+#endif
+
+	return util;
+}
+
+bool uclamp_boosted(struct task_struct *p)
+{
+#ifdef CONFIG_SCHED_TUNE
+	return schedtune_task_boost(p) > 0;
+#endif
+	return false;
+}
+
+bool uclamp_latency_sensitive(struct task_struct *p)
+{
+#ifdef CONFIG_SCHED_TUNE
+	return schedtune_prefer_idle(p) != 0;
+#endif
+	return false;
+}
+#endif /* CONFIG_SMP */
+
+static inline void init_uclamp(void) { }
+#endif /* CONFIG_UCLAMP_TASK */
+
 static inline void enqueue_task(struct rq *rq, struct task_struct *p, int flags)
 {
 	if (!(flags & ENQUEUE_NOCLOCK))
@@ -740,6 +1332,7 @@
 		psi_enqueue(p, flags & ENQUEUE_WAKEUP);
 	}
 
+	uclamp_rq_inc(rq, p);
 	p->sched_class->enqueue_task(rq, p, flags);
 	walt_update_last_enqueue(p);
 	trace_sched_enq_deq_task(p, 1, cpumask_bits(&p->cpus_allowed)[0]);
@@ -755,6 +1348,7 @@
 		psi_dequeue(p, flags & DEQUEUE_SLEEP);
 	}
 
+	uclamp_rq_dec(rq, p);
 	p->sched_class->dequeue_task(rq, p, flags);
 #ifdef CONFIG_SCHED_WALT
 	if (p == rq->ed_task)
@@ -2427,6 +3021,8 @@
 	 */
 	p->prio = current->normal_prio;
 
+	uclamp_fork(p);
+
 	/*
 	 * Revert to default priority/policy on fork if requested.
 	 */
@@ -4282,6 +4878,13 @@
 static void __setscheduler(struct rq *rq, struct task_struct *p,
 			   const struct sched_attr *attr, bool keep_boost)
 {
+	/*
+	 * If params can't change scheduling class changes aren't allowed
+	 * either.
+	 */
+	if (attr->sched_flags & SCHED_FLAG_KEEP_PARAMS)
+		return;
+
 	__setscheduler_params(p, attr);
 
 	/*
@@ -4419,6 +5022,13 @@
 			return retval;
 	}
 
+	/* Update task specific "requested" clamps */
+	if (attr->sched_flags & SCHED_FLAG_UTIL_CLAMP) {
+		retval = uclamp_validate(p, attr);
+		if (retval)
+			return retval;
+	}
+
 	/*
 	 * Make sure no PI-waiters arrive (or leave) while we are
 	 * changing the priority of the task:
@@ -4448,6 +5058,8 @@
 			goto change;
 		if (dl_policy(policy) && dl_param_changed(p, attr))
 			goto change;
+		if (attr->sched_flags & SCHED_FLAG_UTIL_CLAMP)
+			goto change;
 
 		p->sched_reset_on_fork = reset_on_fork;
 		task_rq_unlock(rq, p, &rf);
@@ -4528,7 +5140,9 @@
 		put_prev_task(rq, p);
 
 	prev_class = p->sched_class;
+
 	__setscheduler(rq, p, attr, pi);
+	__setscheduler_uclamp(p, attr);
 
 	if (queued) {
 		/*
@@ -4704,6 +5318,10 @@
 	if (ret)
 		return -EFAULT;
 
+	if ((attr->sched_flags & SCHED_FLAG_UTIL_CLAMP) &&
+	    size < SCHED_ATTR_SIZE_VER1)
+		return -EINVAL;
+
 	/*
 	 * XXX: Do we want to be lenient like existing syscalls; or do we want
 	 * to be strict and return an error on out-of-bounds values?
@@ -4767,14 +5385,21 @@
 
 	if ((int)attr.sched_policy < 0)
 		return -EINVAL;
+	if (attr.sched_flags & SCHED_FLAG_KEEP_POLICY)
+		attr.sched_policy = SETPARAM_POLICY;
 
 	rcu_read_lock();
 	retval = -ESRCH;
 	p = find_process_by_pid(pid);
-	if (p != NULL)
-		retval = sched_setattr(p, &attr);
+	if (likely(p))
+		get_task_struct(p);
 	rcu_read_unlock();
 
+	if (likely(p)) {
+		retval = sched_setattr(p, &attr);
+		put_task_struct(p);
+	}
+
 	return retval;
 }
 
@@ -4849,37 +5474,40 @@
 	return retval;
 }
 
-static int sched_read_attr(struct sched_attr __user *uattr,
-			   struct sched_attr *attr,
-			   unsigned int usize)
+/*
+ * Copy the kernel size attribute structure (which might be larger
+ * than what user-space knows about) to user-space.
+ *
+ * Note that all cases are valid: user-space buffer can be larger or
+ * smaller than the kernel-space buffer. The usual case is that both
+ * have the same size.
+ */
+static int
+sched_attr_copy_to_user(struct sched_attr __user *uattr,
+			struct sched_attr *kattr,
+			unsigned int usize)
 {
-	int ret;
+	unsigned int ksize = sizeof(*kattr);
 
 	if (!access_ok(VERIFY_WRITE, uattr, usize))
 		return -EFAULT;
 
 	/*
-	 * If we're handed a smaller struct than we know of,
-	 * ensure all the unknown bits are 0 - i.e. old
-	 * user-space does not get uncomplete information.
+	 * sched_getattr() ABI forwards and backwards compatibility:
+	 *
+	 * If usize == ksize then we just copy everything to user-space and all is good.
+	 *
+	 * If usize < ksize then we only copy as much as user-space has space for,
+	 * this keeps ABI compatibility as well. We skip the rest.
+	 *
+	 * If usize > ksize then user-space is using a newer version of the ABI,
+	 * which part the kernel doesn't know about. Just ignore it - tooling can
+	 * detect the kernel's knowledge of attributes from the attr->size value
+	 * which is set to ksize in this case.
 	 */
-	if (usize < sizeof(*attr)) {
-		unsigned char *addr;
-		unsigned char *end;
+	kattr->size = min(usize, ksize);
 
-		addr = (void *)attr + usize;
-		end  = (void *)attr + sizeof(*attr);
-
-		for (; addr < end; addr++) {
-			if (*addr)
-				return -EFBIG;
-		}
-
-		attr->size = usize;
-	}
-
-	ret = copy_to_user(uattr, attr, attr->size);
-	if (ret)
+	if (copy_to_user(uattr, kattr, kattr->size))
 		return -EFAULT;
 
 	return 0;
@@ -4889,20 +5517,18 @@
  * sys_sched_getattr - similar to sched_getparam, but with sched_attr
  * @pid: the pid in question.
  * @uattr: structure containing the extended parameters.
- * @size: sizeof(attr) for fwd/bwd comp.
+ * @usize: sizeof(attr) that user-space knows about, for forwards and backwards compatibility.
  * @flags: for future extension.
  */
 SYSCALL_DEFINE4(sched_getattr, pid_t, pid, struct sched_attr __user *, uattr,
-		unsigned int, size, unsigned int, flags)
+		unsigned int, usize, unsigned int, flags)
 {
-	struct sched_attr attr = {
-		.size = sizeof(struct sched_attr),
-	};
+	struct sched_attr kattr = { };
 	struct task_struct *p;
 	int retval;
 
-	if (!uattr || pid < 0 || size > PAGE_SIZE ||
-	    size < SCHED_ATTR_SIZE_VER0 || flags)
+	if (!uattr || pid < 0 || usize > PAGE_SIZE ||
+	    usize < SCHED_ATTR_SIZE_VER0 || flags)
 		return -EINVAL;
 
 	rcu_read_lock();
@@ -4915,20 +5541,24 @@
 	if (retval)
 		goto out_unlock;
 
-	attr.sched_policy = p->policy;
+	kattr.sched_policy = p->policy;
 	if (p->sched_reset_on_fork)
-		attr.sched_flags |= SCHED_FLAG_RESET_ON_FORK;
+		kattr.sched_flags |= SCHED_FLAG_RESET_ON_FORK;
 	if (task_has_dl_policy(p))
-		__getparam_dl(p, &attr);
+		__getparam_dl(p, &kattr);
 	else if (task_has_rt_policy(p))
-		attr.sched_priority = p->rt_priority;
+		kattr.sched_priority = p->rt_priority;
 	else
-		attr.sched_nice = task_nice(p);
+		kattr.sched_nice = task_nice(p);
+
+#ifdef CONFIG_UCLAMP_TASK
+	kattr.sched_util_min = p->uclamp_req[UCLAMP_MIN].value;
+	kattr.sched_util_max = p->uclamp_req[UCLAMP_MAX].value;
+#endif
 
 	rcu_read_unlock();
 
-	retval = sched_read_attr(uattr, &attr, size);
-	return retval;
+	return sched_attr_copy_to_user(uattr, &kattr, usize);
 
 out_unlock:
 	rcu_read_unlock();
@@ -6673,6 +7303,8 @@
 
 	psi_init();
 
+	init_uclamp();
+
 	scheduler_running = 1;
 }
 
@@ -6844,6 +7476,20 @@
 /* task_group_lock serializes the addition/removal of task groups */
 static DEFINE_SPINLOCK(task_group_lock);
 
+static inline void alloc_uclamp_sched_group(struct task_group *tg,
+					    struct task_group *parent)
+{
+#ifdef CONFIG_UCLAMP_TASK_GROUP
+	enum uclamp_id clamp_id;
+
+	for_each_clamp_id(clamp_id) {
+		uclamp_se_set(&tg->uclamp_req[clamp_id],
+			      uclamp_none(clamp_id), false);
+		tg->uclamp[clamp_id] = parent->uclamp[clamp_id];
+	}
+#endif
+}
+
 static void sched_free_group(struct task_group *tg)
 {
 	free_fair_sched_group(tg);
@@ -6867,6 +7513,8 @@
 	if (!alloc_rt_sched_group(tg, parent))
 		goto err;
 
+	alloc_uclamp_sched_group(tg, parent);
+
 	return tg;
 
 err:
@@ -7006,6 +7654,12 @@
 
 	if (parent)
 		sched_online_group(tg, parent);
+
+#ifdef CONFIG_UCLAMP_TASK_GROUP
+	/* Propagate the effective uclamp value for the new group */
+	cpu_util_update_eff(css);
+#endif
+
 	return 0;
 }
 
@@ -7083,6 +7737,199 @@
 		sched_move_task(task);
 }
 
+#ifdef CONFIG_UCLAMP_TASK_GROUP
+static void cpu_util_update_eff(struct cgroup_subsys_state *css)
+{
+	struct cgroup_subsys_state *top_css = css;
+	struct uclamp_se *uc_parent = NULL;
+	struct uclamp_se *uc_se = NULL;
+	unsigned int eff[UCLAMP_CNT];
+	enum uclamp_id clamp_id;
+	unsigned int clamps;
+
+	css_for_each_descendant_pre(css, top_css) {
+		uc_parent = css_tg(css)->parent
+			? css_tg(css)->parent->uclamp : NULL;
+
+		for_each_clamp_id(clamp_id) {
+			/* Assume effective clamps matches requested clamps */
+			eff[clamp_id] = css_tg(css)->uclamp_req[clamp_id].value;
+			/* Cap effective clamps with parent's effective clamps */
+			if (uc_parent &&
+			    eff[clamp_id] > uc_parent[clamp_id].value) {
+				eff[clamp_id] = uc_parent[clamp_id].value;
+			}
+		}
+		/* Ensure protection is always capped by limit */
+		eff[UCLAMP_MIN] = min(eff[UCLAMP_MIN], eff[UCLAMP_MAX]);
+
+		/* Propagate most restrictive effective clamps */
+		clamps = 0x0;
+		uc_se = css_tg(css)->uclamp;
+		for_each_clamp_id(clamp_id) {
+			if (eff[clamp_id] == uc_se[clamp_id].value)
+				continue;
+			uc_se[clamp_id].value = eff[clamp_id];
+			uc_se[clamp_id].bucket_id = uclamp_bucket_id(eff[clamp_id]);
+			clamps |= (0x1 << clamp_id);
+		}
+		if (!clamps) {
+			css = css_rightmost_descendant(css);
+			continue;
+		}
+
+		/* Immediately update descendants RUNNABLE tasks */
+		uclamp_update_active_tasks(css, clamps);
+	}
+}
+
+/*
+ * Integer 10^N with a given N exponent by casting to integer the literal "1eN"
+ * C expression. Since there is no way to convert a macro argument (N) into a
+ * character constant, use two levels of macros.
+ */
+#define _POW10(exp) ((unsigned int)1e##exp)
+#define POW10(exp) _POW10(exp)
+
+struct uclamp_request {
+#define UCLAMP_PERCENT_SHIFT	2
+#define UCLAMP_PERCENT_SCALE	(100 * POW10(UCLAMP_PERCENT_SHIFT))
+	s64 percent;
+	u64 util;
+	int ret;
+};
+
+static inline struct uclamp_request
+capacity_from_percent(char *buf)
+{
+	struct uclamp_request req = {
+		.percent = UCLAMP_PERCENT_SCALE,
+		.util = SCHED_CAPACITY_SCALE,
+		.ret = 0,
+	};
+
+	buf = strim(buf);
+	if (strcmp(buf, "max")) {
+		req.ret = cgroup_parse_float(buf, UCLAMP_PERCENT_SHIFT,
+					     &req.percent);
+		if (req.ret)
+			return req;
+		if ((u64)req.percent > UCLAMP_PERCENT_SCALE) {
+			req.ret = -ERANGE;
+			return req;
+		}
+
+		req.util = req.percent << SCHED_CAPACITY_SHIFT;
+		req.util = DIV_ROUND_CLOSEST_ULL(req.util, UCLAMP_PERCENT_SCALE);
+	}
+
+	return req;
+}
+
+static ssize_t cpu_uclamp_write(struct kernfs_open_file *of, char *buf,
+				size_t nbytes, loff_t off,
+				enum uclamp_id clamp_id)
+{
+	struct uclamp_request req;
+	struct task_group *tg;
+
+	req = capacity_from_percent(buf);
+	if (req.ret)
+		return req.ret;
+
+	mutex_lock(&uclamp_mutex);
+	rcu_read_lock();
+
+	tg = css_tg(of_css(of));
+	if (tg->uclamp_req[clamp_id].value != req.util)
+		uclamp_se_set(&tg->uclamp_req[clamp_id], req.util, false);
+
+	/*
+	 * Because of not recoverable conversion rounding we keep track of the
+	 * exact requested value
+	 */
+	tg->uclamp_pct[clamp_id] = req.percent;
+
+	/* Update effective clamps to track the most restrictive value */
+	cpu_util_update_eff(of_css(of));
+
+	rcu_read_unlock();
+	mutex_unlock(&uclamp_mutex);
+
+	return nbytes;
+}
+
+static ssize_t cpu_uclamp_min_write(struct kernfs_open_file *of,
+				    char *buf, size_t nbytes,
+				    loff_t off)
+{
+	return cpu_uclamp_write(of, buf, nbytes, off, UCLAMP_MIN);
+}
+
+static ssize_t cpu_uclamp_max_write(struct kernfs_open_file *of,
+				    char *buf, size_t nbytes,
+				    loff_t off)
+{
+	return cpu_uclamp_write(of, buf, nbytes, off, UCLAMP_MAX);
+}
+
+static inline void cpu_uclamp_print(struct seq_file *sf,
+				    enum uclamp_id clamp_id)
+{
+	struct task_group *tg;
+	u64 util_clamp;
+	u64 percent;
+	u32 rem;
+
+	rcu_read_lock();
+	tg = css_tg(seq_css(sf));
+	util_clamp = tg->uclamp_req[clamp_id].value;
+	rcu_read_unlock();
+
+	if (util_clamp == SCHED_CAPACITY_SCALE) {
+		seq_puts(sf, "max\n");
+		return;
+	}
+
+	percent = tg->uclamp_pct[clamp_id];
+	percent = div_u64_rem(percent, POW10(UCLAMP_PERCENT_SHIFT), &rem);
+	seq_printf(sf, "%llu.%0*u\n", percent, UCLAMP_PERCENT_SHIFT, rem);
+}
+
+static int cpu_uclamp_min_show(struct seq_file *sf, void *v)
+{
+	cpu_uclamp_print(sf, UCLAMP_MIN);
+	return 0;
+}
+
+static int cpu_uclamp_max_show(struct seq_file *sf, void *v)
+{
+	cpu_uclamp_print(sf, UCLAMP_MAX);
+	return 0;
+}
+
+static int cpu_uclamp_ls_write_u64(struct cgroup_subsys_state *css,
+				   struct cftype *cftype, u64 ls)
+{
+	struct task_group *tg;
+
+	if (ls > 1)
+		return -EINVAL;
+	tg = css_tg(css);
+	tg->latency_sensitive = (unsigned int) ls;
+
+	return 0;
+}
+
+static u64 cpu_uclamp_ls_read_u64(struct cgroup_subsys_state *css,
+				  struct cftype *cft)
+{
+	struct task_group *tg = css_tg(css);
+
+	return (u64) tg->latency_sensitive;
+}
+#endif /* CONFIG_UCLAMP_TASK_GROUP */
+
 #ifdef CONFIG_FAIR_GROUP_SCHED
 static int cpu_shares_write_u64(struct cgroup_subsys_state *css,
 				struct cftype *cftype, u64 shareval)
@@ -7428,6 +8275,26 @@
 		.write_u64 = cpu_rt_period_write_uint,
 	},
 #endif
+#ifdef CONFIG_UCLAMP_TASK_GROUP
+	{
+		.name = "uclamp.min",
+		.flags = CFTYPE_NOT_ON_ROOT,
+		.seq_show = cpu_uclamp_min_show,
+		.write = cpu_uclamp_min_write,
+	},
+	{
+		.name = "uclamp.max",
+		.flags = CFTYPE_NOT_ON_ROOT,
+		.seq_show = cpu_uclamp_max_show,
+		.write = cpu_uclamp_max_write,
+	},
+	{
+		.name = "uclamp.latency_sensitive",
+		.flags = CFTYPE_NOT_ON_ROOT,
+		.read_u64 = cpu_uclamp_ls_read_u64,
+		.write_u64 = cpu_uclamp_ls_write_u64,
+	},
+#endif
 	{ }	/* Terminate */
 };
 
@@ -7595,6 +8462,26 @@
 		.write = cpu_max_write,
 	},
 #endif
+#ifdef CONFIG_UCLAMP_TASK_GROUP
+	{
+		.name = "uclamp.min",
+		.flags = CFTYPE_NOT_ON_ROOT,
+		.seq_show = cpu_uclamp_min_show,
+		.write = cpu_uclamp_min_write,
+	},
+	{
+		.name = "uclamp.max",
+		.flags = CFTYPE_NOT_ON_ROOT,
+		.seq_show = cpu_uclamp_max_show,
+		.write = cpu_uclamp_max_write,
+	},
+	{
+		.name = "uclamp.latency_sensitive",
+		.flags = CFTYPE_NOT_ON_ROOT,
+		.read_u64 = cpu_uclamp_ls_read_u64,
+		.write_u64 = cpu_uclamp_ls_write_u64,
+	},
+#endif
 	{ }	/* terminate */
 };
 
diff --git a/kernel/sched/cpufreq_schedutil.c b/kernel/sched/cpufreq_schedutil.c
index 6d84301..af3f3c0 100644
--- a/kernel/sched/cpufreq_schedutil.c
+++ b/kernel/sched/cpufreq_schedutil.c
@@ -332,15 +332,17 @@
  * based on the task model parameters and gives the minimal utilization
  * required to meet deadlines.
  */
-unsigned long schedutil_freq_util(int cpu, unsigned long util,
-				  unsigned long max, enum schedutil_type type)
+unsigned long schedutil_cpu_util(int cpu, unsigned long util_cfs,
+				 unsigned long max, enum schedutil_type type,
+				 struct task_struct *p)
 {
-	unsigned long dl_util, irq;
+	unsigned long dl_util, util, irq;
 	struct rq *rq = cpu_rq(cpu);
 
-	if (sched_feat(SUGOV_RT_MAX_FREQ) && type == FREQUENCY_UTIL &&
-						rt_rq_is_runnable(&rq->rt))
+	if (sched_feat(SUGOV_RT_MAX_FREQ) && !IS_BUILTIN(CONFIG_UCLAMP_TASK) &&
+	    type == FREQUENCY_UTIL && rt_rq_is_runnable(&rq->rt)) {
 		return max;
+	}
 
 	/*
 	 * Early check to see if IRQ/steal time saturates the CPU, can be
@@ -352,11 +354,21 @@
 		return max;
 
 	/*
-	 * The function is called with @util defined as the aggregation (the
-	 * sum) of RT and CFS signals, hence leaving the special case of DL
-	 * to be delt with. The exact way of doing things depend on the calling
-	 * context.
+	 * Because the time spend on RT/DL tasks is visible as 'lost' time to
+	 * CFS tasks and we use the same metric to track the effective
+	 * utilization (PELT windows are synchronized) we can directly add them
+	 * to obtain the CPU's actual utilization.
+	 *
+	 * CFS and RT utilization can be boosted or capped, depending on
+	 * utilization clamp constraints requested by currently RUNNABLE
+	 * tasks.
+	 * When there are no CFS RUNNABLE tasks, clamps are released and
+	 * frequency will be gracefully reduced with the utilization decay.
 	 */
+	util = util_cfs + cpu_util_rt(rq);
+	if (type == FREQUENCY_UTIL)
+		util = uclamp_rq_util_with(rq, util, p);
+
 	dl_util = cpu_util_dl(rq);
 
 	/*
@@ -415,20 +427,26 @@
 	sg_cpu->max = max;
 	sg_cpu->bw_dl = cpu_bw_dl(rq);
 
-	return boosted_cpu_util(sg_cpu->cpu, 0, &sg_cpu->walt_load);
+	return stune_util(sg_cpu->cpu, 0, &sg_cpu->walt_load);
 }
 #else
 static unsigned long sugov_get_util(struct sugov_cpu *sg_cpu)
 {
 	struct rq *rq = cpu_rq(sg_cpu->cpu);
-	unsigned long util = boosted_cpu_util(sg_cpu->cpu, cpu_util_rt(rq),
-									NULL);
+
+#ifdef CONFIG_SCHED_TUNE
+	unsigned long util = stune_util(sg_cpu->cpu, cpu_util_rt(rq), NULL);
+#else
+	unsigned long util = cpu_util_freq(sg_cpu->cpu, NULL);
+#endif
+	unsigned long util_cfs = util - cpu_util_rt(rq);
 	unsigned long max = arch_scale_cpu_capacity(NULL, sg_cpu->cpu);
 
 	sg_cpu->max = max;
 	sg_cpu->bw_dl = cpu_bw_dl(rq);
 
-	return schedutil_freq_util(sg_cpu->cpu, util, max, FREQUENCY_UTIL);
+	return schedutil_cpu_util(sg_cpu->cpu, util_cfs, max,
+				  FREQUENCY_UTIL, NULL);
 }
 #endif
 
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index f832fab..fe4c420 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -336,79 +336,103 @@
 	return grp->my_q;
 }
 
-static inline void list_add_leaf_cfs_rq(struct cfs_rq *cfs_rq)
+static inline bool list_add_leaf_cfs_rq(struct cfs_rq *cfs_rq)
 {
-	if (!cfs_rq->on_list) {
-		struct rq *rq = rq_of(cfs_rq);
-		int cpu = cpu_of(rq);
-		/*
-		 * Ensure we either appear before our parent (if already
-		 * enqueued) or force our parent to appear after us when it is
-		 * enqueued. The fact that we always enqueue bottom-up
-		 * reduces this to two cases and a special case for the root
-		 * cfs_rq. Furthermore, it also means that we will always reset
-		 * tmp_alone_branch either when the branch is connected
-		 * to a tree or when we reach the beg of the tree
-		 */
-		if (cfs_rq->tg->parent &&
-		    cfs_rq->tg->parent->cfs_rq[cpu]->on_list) {
-			/*
-			 * If parent is already on the list, we add the child
-			 * just before. Thanks to circular linked property of
-			 * the list, this means to put the child at the tail
-			 * of the list that starts by parent.
-			 */
-			list_add_tail_rcu(&cfs_rq->leaf_cfs_rq_list,
-				&(cfs_rq->tg->parent->cfs_rq[cpu]->leaf_cfs_rq_list));
-			/*
-			 * The branch is now connected to its tree so we can
-			 * reset tmp_alone_branch to the beginning of the
-			 * list.
-			 */
-			rq->tmp_alone_branch = &rq->leaf_cfs_rq_list;
-		} else if (!cfs_rq->tg->parent) {
-			/*
-			 * cfs rq without parent should be put
-			 * at the tail of the list.
-			 */
-			list_add_tail_rcu(&cfs_rq->leaf_cfs_rq_list,
-				&rq->leaf_cfs_rq_list);
-			/*
-			 * We have reach the beg of a tree so we can reset
-			 * tmp_alone_branch to the beginning of the list.
-			 */
-			rq->tmp_alone_branch = &rq->leaf_cfs_rq_list;
-		} else {
-			/*
-			 * The parent has not already been added so we want to
-			 * make sure that it will be put after us.
-			 * tmp_alone_branch points to the beg of the branch
-			 * where we will add parent.
-			 */
-			list_add_rcu(&cfs_rq->leaf_cfs_rq_list,
-				rq->tmp_alone_branch);
-			/*
-			 * update tmp_alone_branch to points to the new beg
-			 * of the branch
-			 */
-			rq->tmp_alone_branch = &cfs_rq->leaf_cfs_rq_list;
-		}
+	struct rq *rq = rq_of(cfs_rq);
+	int cpu = cpu_of(rq);
 
-		cfs_rq->on_list = 1;
+	if (cfs_rq->on_list)
+		return rq->tmp_alone_branch == &rq->leaf_cfs_rq_list;
+
+	cfs_rq->on_list = 1;
+
+	/*
+	 * Ensure we either appear before our parent (if already
+	 * enqueued) or force our parent to appear after us when it is
+	 * enqueued. The fact that we always enqueue bottom-up
+	 * reduces this to two cases and a special case for the root
+	 * cfs_rq. Furthermore, it also means that we will always reset
+	 * tmp_alone_branch either when the branch is connected
+	 * to a tree or when we reach the top of the tree
+	 */
+	if (cfs_rq->tg->parent &&
+	    cfs_rq->tg->parent->cfs_rq[cpu]->on_list) {
+		/*
+		 * If parent is already on the list, we add the child
+		 * just before. Thanks to circular linked property of
+		 * the list, this means to put the child at the tail
+		 * of the list that starts by parent.
+		 */
+		list_add_tail_rcu(&cfs_rq->leaf_cfs_rq_list,
+			&(cfs_rq->tg->parent->cfs_rq[cpu]->leaf_cfs_rq_list));
+		/*
+		 * The branch is now connected to its tree so we can
+		 * reset tmp_alone_branch to the beginning of the
+		 * list.
+		 */
+		rq->tmp_alone_branch = &rq->leaf_cfs_rq_list;
+		return true;
 	}
+
+	if (!cfs_rq->tg->parent) {
+		/*
+		 * cfs rq without parent should be put
+		 * at the tail of the list.
+		 */
+		list_add_tail_rcu(&cfs_rq->leaf_cfs_rq_list,
+			&rq->leaf_cfs_rq_list);
+		/*
+		 * We have reach the top of a tree so we can reset
+		 * tmp_alone_branch to the beginning of the list.
+		 */
+		rq->tmp_alone_branch = &rq->leaf_cfs_rq_list;
+		return true;
+	}
+
+	/*
+	 * The parent has not already been added so we want to
+	 * make sure that it will be put after us.
+	 * tmp_alone_branch points to the begin of the branch
+	 * where we will add parent.
+	 */
+	list_add_rcu(&cfs_rq->leaf_cfs_rq_list, rq->tmp_alone_branch);
+	/*
+	 * update tmp_alone_branch to points to the new begin
+	 * of the branch
+	 */
+	rq->tmp_alone_branch = &cfs_rq->leaf_cfs_rq_list;
+	return false;
 }
 
 static inline void list_del_leaf_cfs_rq(struct cfs_rq *cfs_rq)
 {
 	if (cfs_rq->on_list) {
+		struct rq *rq = rq_of(cfs_rq);
+
+		/*
+		 * With cfs_rq being unthrottled/throttled during an enqueue,
+		 * it can happen the tmp_alone_branch points the a leaf that
+		 * we finally want to del. In this case, tmp_alone_branch moves
+		 * to the prev element but it will point to rq->leaf_cfs_rq_list
+		 * at the end of the enqueue.
+		 */
+		if (rq->tmp_alone_branch == &cfs_rq->leaf_cfs_rq_list)
+			rq->tmp_alone_branch = cfs_rq->leaf_cfs_rq_list.prev;
+
 		list_del_rcu(&cfs_rq->leaf_cfs_rq_list);
 		cfs_rq->on_list = 0;
 	}
 }
 
-/* Iterate through all leaf cfs_rq's on a runqueue: */
-#define for_each_leaf_cfs_rq(rq, cfs_rq) \
-	list_for_each_entry_rcu(cfs_rq, &rq->leaf_cfs_rq_list, leaf_cfs_rq_list)
+static inline void assert_list_leaf_cfs_rq(struct rq *rq)
+{
+	SCHED_WARN_ON(rq->tmp_alone_branch != &rq->leaf_cfs_rq_list);
+}
+
+/* Iterate thr' all leaf cfs_rq's on a runqueue */
+#define for_each_leaf_cfs_rq_safe(rq, cfs_rq, pos)			\
+	list_for_each_entry_safe(cfs_rq, pos, &rq->leaf_cfs_rq_list,	\
+				 leaf_cfs_rq_list)
 
 /* Do the two (enqueued) entities belong to the same group ? */
 static inline struct cfs_rq *
@@ -486,16 +510,21 @@
 	return NULL;
 }
 
-static inline void list_add_leaf_cfs_rq(struct cfs_rq *cfs_rq)
+static inline bool list_add_leaf_cfs_rq(struct cfs_rq *cfs_rq)
 {
+	return true;
 }
 
 static inline void list_del_leaf_cfs_rq(struct cfs_rq *cfs_rq)
 {
 }
 
-#define for_each_leaf_cfs_rq(rq, cfs_rq)	\
-		for (cfs_rq = &rq->cfs; cfs_rq; cfs_rq = NULL)
+static inline void assert_list_leaf_cfs_rq(struct rq *rq)
+{
+}
+
+#define for_each_leaf_cfs_rq_safe(rq, cfs_rq, pos)	\
+		for (cfs_rq = &rq->cfs, pos = NULL; cfs_rq; cfs_rq = pos)
 
 static inline struct sched_entity *parent_entity(struct sched_entity *se)
 {
@@ -3748,7 +3777,7 @@
 	return max(ue.ewma, ue.enqueued);
 }
 
-static inline unsigned long task_util_est(struct task_struct *p)
+unsigned long task_util_est(struct task_struct *p)
 {
 #ifdef CONFIG_SCHED_WALT
 	return p->ravg.demand_scaled;
@@ -3756,6 +3785,20 @@
 	return max(task_util(p), _task_util_est(p));
 }
 
+#ifdef CONFIG_UCLAMP_TASK
+static inline unsigned long uclamp_task_util(struct task_struct *p)
+{
+	return clamp(task_util_est(p),
+		     uclamp_eff_value(p, UCLAMP_MIN),
+		     uclamp_eff_value(p, UCLAMP_MAX));
+}
+#else
+static inline unsigned long uclamp_task_util(struct task_struct *p)
+{
+	return task_util_est(p);
+}
+#endif
+
 static inline void util_est_enqueue(struct cfs_rq *cfs_rq,
 				    struct task_struct *p)
 {
@@ -3822,10 +3865,21 @@
 		return;
 
 	/*
+	 * Reset EWMA on utilization increases, the moving average is used only
+	 * to smooth utilization decreases.
+	 */
+	ue.enqueued = (task_util(p) | UTIL_AVG_UNCHANGED);
+	if (sched_feat(UTIL_EST_FASTUP)) {
+		if (ue.ewma < ue.enqueued) {
+			ue.ewma = ue.enqueued;
+			goto done;
+		}
+	}
+
+	/*
 	 * Skip update of task's estimated utilization when its EWMA is
 	 * already ~1% close to its last activation value.
 	 */
-	ue.enqueued = (task_util(p) | UTIL_AVG_UNCHANGED);
 	last_ewma_diff = ue.enqueued - ue.ewma;
 	if (within_margin(last_ewma_diff, (SCHED_CAPACITY_SCALE / 100)))
 		return;
@@ -3858,6 +3912,7 @@
 	ue.ewma <<= UTIL_EST_WEIGHT_SHIFT;
 	ue.ewma  += last_ewma_diff;
 	ue.ewma >>= UTIL_EST_WEIGHT_SHIFT;
+done:
 	WRITE_ONCE(p->se.avg.util_est, ue);
 
 	/* Update plots for Task's estimated utilization */
@@ -3890,7 +3945,7 @@
 	else
 		margin = sched_capacity_margin_up[task_cpu(p)];
 
-	return capacity * 1024 > task_util_est(p) * margin;
+	return capacity * 1024 > uclamp_task_util(p) * margin;
 }
 
 static inline bool task_fits_max(struct task_struct *p, int cpu)
@@ -4647,6 +4702,10 @@
 		/* adjust cfs_rq_clock_task() */
 		cfs_rq->throttled_clock_task_time += rq_clock_task(rq) -
 					     cfs_rq->throttled_clock_task;
+
+		/* Add cfs_rq with already running entity in the list */
+		if (cfs_rq->nr_running >= 1)
+			list_add_leaf_cfs_rq(cfs_rq);
 	}
 
 	return 0;
@@ -4658,8 +4717,10 @@
 	struct cfs_rq *cfs_rq = tg->cfs_rq[cpu_of(rq)];
 
 	/* group is entering throttled state, stop time */
-	if (!cfs_rq->throttle_count)
+	if (!cfs_rq->throttle_count) {
 		cfs_rq->throttled_clock_task = rq_clock_task(rq);
+		list_del_leaf_cfs_rq(cfs_rq);
+	}
 	cfs_rq->throttle_count++;
 
 	return 0;
@@ -4767,6 +4828,8 @@
 			break;
 	}
 
+	assert_list_leaf_cfs_rq(rq);
+
 	if (!se) {
 		add_nr_running(rq, task_delta);
 		walt_inc_throttled_cfs_rq_stats(&rq->walt_stats, tcfs_rq);
@@ -5235,6 +5298,12 @@
 }
 
 #else /* CONFIG_CFS_BANDWIDTH */
+
+static inline bool cfs_bandwidth_used(void)
+{
+	return false;
+}
+
 static inline u64 cfs_rq_clock_task(struct cfs_rq *cfs_rq)
 {
 	return rq_clock_task(rq_of(cfs_rq));
@@ -5477,6 +5546,23 @@
 			update_overutilized_status(rq);
 	}
 
+	if (cfs_bandwidth_used()) {
+		/*
+		 * When bandwidth control is enabled; the cfs_rq_throttled()
+		 * breaks in the above iteration can result in incomplete
+		 * leaf list maintenance, resulting in triggering the assertion
+		 * below.
+		 */
+		for_each_sched_entity(se) {
+			cfs_rq = cfs_rq_of(se);
+
+			if (list_add_leaf_cfs_rq(cfs_rq))
+				break;
+		}
+	}
+
+	assert_list_leaf_cfs_rq(rq);
+
 	hrtick_update(rq);
 }
 
@@ -6064,8 +6150,7 @@
 	return schedtune_margin(util, boost);
 }
 
-static inline long
-schedtune_task_margin(struct task_struct *task)
+long schedtune_task_margin(struct task_struct *task)
 {
 	int boost = schedtune_task_boost(task);
 	unsigned long util;
@@ -6081,7 +6166,7 @@
 }
 
 unsigned long
-boosted_cpu_util(int cpu, unsigned long other_util,
+stune_util(int cpu, unsigned long other_util,
 		 struct sched_walt_cpu_load *walt_load)
 {
 	unsigned long util = min_t(unsigned long, SCHED_CAPACITY_SCALE,
@@ -6101,25 +6186,8 @@
 	return 0;
 }
 
-static inline int
-schedtune_task_margin(struct task_struct *task)
-{
-	return 0;
-}
-
 #endif /* CONFIG_SCHED_TUNE */
 
-static inline unsigned long
-boosted_task_util(struct task_struct *task)
-{
-	unsigned long util = task_util_est(task);
-	long margin = schedtune_task_margin(task);
-
-	trace_sched_boost_task(task, util, margin);
-
-	return util + margin;
-}
-
 static unsigned long cpu_util_without(int cpu, struct task_struct *p);
 
 static unsigned long capacity_spare_without(int cpu, struct task_struct *p)
@@ -6829,7 +6897,7 @@
 					struct task_struct *p,
 					struct find_best_target_env *fbt_env)
 {
-	unsigned long min_util = boosted_task_util(p);
+	unsigned long min_util = uclamp_task(p);
 	unsigned long target_capacity = ULONG_MAX;
 	unsigned long min_wake_util = ULONG_MAX;
 	unsigned long target_max_spare_cap = 0;
@@ -6862,6 +6930,8 @@
 	 * performance CPU, thus requiring to maximise target_capacity. In this
 	 * case we initialise target_capacity to 0.
 	 */
+	prefer_idle = uclamp_latency_sensitive(p);
+	boosted = uclamp_boosted(p);
 	if (prefer_idle && boosted)
 		target_capacity = 0;
 
@@ -7384,11 +7454,20 @@
 static long
 compute_energy(struct task_struct *p, int dst_cpu, struct perf_domain *pd)
 {
-	long util, max_util, sum_util, energy = 0;
+	unsigned int max_util, cpu_util, cpu_cap;
+	unsigned long sum_util, energy = 0;
 	int cpu;
 
 	for (; pd; pd = pd->next) {
+		struct cpumask *pd_mask = perf_domain_span(pd);
+
+		/*
+		 * The energy model mandates all the CPUs of a performance
+		 * domain have the same capacity.
+		 */
+		cpu_cap = arch_scale_cpu_capacity(NULL, cpumask_first(pd_mask));
 		max_util = sum_util = 0;
+
 		/*
 		 * The capacity state of CPUs of the current rd can be driven by
 		 * CPUs of another rd if they belong to the same performance
@@ -7399,16 +7478,37 @@
 		 * it will not appear in its pd list and will not be accounted
 		 * by compute_energy().
 		 */
-		for_each_cpu_and(cpu, perf_domain_span(pd), cpu_online_mask) {
+		for_each_cpu_and(cpu, pd_mask, cpu_online_mask) {
 #ifdef CONFIG_SCHED_WALT
-			util = cpu_util_next_walt(cpu, p, dst_cpu);
+			cpu_util = cpu_util_next_walt(cpu, p, dst_cpu);
+			sum_util += cpu_util;
 #else
-			util = cpu_util_next(cpu, p, dst_cpu);
-			util += cpu_util_rt(cpu_rq(cpu));
-			util = schedutil_energy_util(cpu, util);
+			unsigned int util_cfs;
+			struct task_struct *tsk;
+
+			util_cfs = cpu_util_next(cpu, p, dst_cpu);
+
+			/*
+			 * Busy time computation: utilization clamping is not
+			 * required since the ratio (sum_util / cpu_capacity)
+			 * is already enough to scale the EM reported power
+			 * consumption at the (eventually clamped) cpu_capacity.
+			 */
+			sum_util += schedutil_cpu_util(cpu, util_cfs, cpu_cap,
+						       ENERGY_UTIL, NULL);
+
+			/*
+			 * Performance domain frequency: utilization clamping
+			 * must be considered since it affects the selection
+			 * of the performance domain frequency.
+			 * NOTE: in case RT tasks are running, by default the
+			 * FREQUENCY_UTIL's utilization can be max OPP.
+			 */
+			tsk = cpu == dst_cpu ? p : NULL;
+			cpu_util = schedutil_cpu_util(cpu, util_cfs, cpu_cap,
+						      FREQUENCY_UTIL, tsk);
 #endif
-			max_util = max(util, max_util);
-			sum_util += util;
+			max_util = max(max_util, cpu_util);
 		}
 
 		energy += em_pd_energy(pd->em_pd, max_util, sum_util);
@@ -7422,8 +7522,8 @@
 {
 	int highest_spare_cap_cpu = prev_cpu, best_idle_cpu = -1;
 	unsigned long spare_cap, max_spare_cap, util, cpu_cap;
-	bool prefer_idle = schedtune_prefer_idle(p);
-	bool boosted = schedtune_task_boost(p) > 0;
+	bool prefer_idle = uclamp_latency_sensitive(p);
+	bool boosted = uclamp_boosted(p);
 	unsigned long target_cap = boosted ? 0 : ULONG_MAX;
 	unsigned long highest_spare_cap = 0;
 	unsigned int min_exit_lat = UINT_MAX;
@@ -7438,9 +7538,19 @@
 			if (!cpumask_test_cpu(cpu, &p->cpus_allowed))
 				continue;
 
-			/* Skip CPUs that will be overutilized. */
 			util = cpu_util_next(cpu, p, cpu);
 			cpu_cap = capacity_of(cpu);
+			spare_cap = cpu_cap - util;
+
+			/*
+			 * Skip CPUs that cannot satisfy the capacity request.
+			 * IOW, placing the task there would make the CPU
+			 * overutilized. Take uclamp into account to see how
+			 * much capacity we can get out of the CPU; this is
+			 * aligned with schedutil_cpu_util().
+			 */
+			util = uclamp_rq_util_with(cpu_rq(cpu), util, p);
+
 			if (cpu_cap * 1024 <
 					util * sched_capacity_margin_up[cpu])
 				continue;
@@ -7449,7 +7559,6 @@
 			 * Find the CPU with the maximum spare capacity in
 			 * the performance domain
 			 */
-			spare_cap = cpu_cap - util;
 			if (spare_cap > max_spare_cap) {
 				max_spare_cap = spare_cap;
 				max_spare_cap_cpu = cpu;
@@ -7653,7 +7762,7 @@
 
 	/* If there is only one sensible candidate, select it now. */
 	cpu = cpumask_first(candidates);
-	if (weight == 1 && ((schedtune_prefer_idle(p) && idle_cpu(cpu)) ||
+	if (weight == 1 && ((uclamp_latency_sensitive(p) && idle_cpu(cpu)) ||
 			    (cpu == prev_cpu))) {
 		best_energy_cpu = cpu;
 		goto unlock;
@@ -7755,7 +7864,7 @@
 		record_wakee(p);
 
 		if (static_branch_unlikely(&sched_energy_present)) {
-			if (schedtune_prefer_idle(p) && !sched_feat(EAS_PREFER_IDLE) && !sync)
+			if (uclamp_latency_sensitive(p) && !sched_feat(EAS_PREFER_IDLE) && !sync)
 				goto sd_loop;
 
 			new_cpu = find_energy_efficient_cpu(p, prev_cpu, sync,
@@ -8910,10 +9019,27 @@
 
 #ifdef CONFIG_FAIR_GROUP_SCHED
 
+static inline bool cfs_rq_is_decayed(struct cfs_rq *cfs_rq)
+{
+	if (cfs_rq->load.weight)
+		return false;
+
+	if (cfs_rq->avg.load_sum)
+		return false;
+
+	if (cfs_rq->avg.util_sum)
+		return false;
+
+	if (cfs_rq->avg.runnable_load_sum)
+		return false;
+
+	return true;
+}
+
 static void update_blocked_averages(int cpu)
 {
 	struct rq *rq = cpu_rq(cpu);
-	struct cfs_rq *cfs_rq;
+	struct cfs_rq *cfs_rq, *pos;
 	const struct sched_class *curr_class;
 	struct rq_flags rf;
 	bool done = true;
@@ -8925,13 +9051,9 @@
 	 * Iterates the task_group tree in a bottom up fashion, see
 	 * list_add_leaf_cfs_rq() for details.
 	 */
-	for_each_leaf_cfs_rq(rq, cfs_rq) {
+	for_each_leaf_cfs_rq_safe(rq, cfs_rq, pos) {
 		struct sched_entity *se;
 
-		/* throttled entities do not contribute to load */
-		if (throttled_hierarchy(cfs_rq))
-			continue;
-
 		if (update_cfs_rq_load_avg(cfs_rq_clock_pelt(cfs_rq), cfs_rq))
 			update_tg_load_avg(cfs_rq, 0);
 
@@ -8940,6 +9062,13 @@
 		if (se && !skip_blocked_update(se))
 			update_load_avg(cfs_rq_of(se), se, 0);
 
+		/*
+		 * There can be a lot of idle CPU cgroups.  Don't let fully
+		 * decayed cfs_rqs linger on the list.
+		 */
+		if (cfs_rq_is_decayed(cfs_rq))
+			list_del_leaf_cfs_rq(cfs_rq);
+
 		/* Don't need periodic decay once load/util_avg are null */
 		if (cfs_rq_has_blocked(cfs_rq))
 			done = false;
@@ -12350,15 +12479,19 @@
 #ifdef CONFIG_SCHED_WALT
 	.fixup_walt_sched_stats	= walt_fixup_sched_stats_fair,
 #endif
+
+#ifdef CONFIG_UCLAMP_TASK
+	.uclamp_enabled		= 1,
+#endif
 };
 
 #ifdef CONFIG_SCHED_DEBUG
 void print_cfs_stats(struct seq_file *m, int cpu)
 {
-	struct cfs_rq *cfs_rq;
+	struct cfs_rq *cfs_rq, *pos;
 
 	rcu_read_lock();
-	for_each_leaf_cfs_rq(cpu_rq(cpu), cfs_rq)
+	for_each_leaf_cfs_rq_safe(cpu_rq(cpu), cfs_rq, pos)
 		print_cfs_rq(m, cpu, cfs_rq);
 	rcu_read_unlock();
 }
diff --git a/kernel/sched/features.h b/kernel/sched/features.h
index e91c0c8..842c262 100644
--- a/kernel/sched/features.h
+++ b/kernel/sched/features.h
@@ -90,6 +90,7 @@
  * UtilEstimation. Use estimated CPU utilization.
  */
 SCHED_FEAT(UTIL_EST, true)
+SCHED_FEAT(UTIL_EST_FASTUP, true)
 
 /*
  * Fast pre-selection of CPU candidates for EAS.
diff --git a/kernel/sched/psi.c b/kernel/sched/psi.c
index 101bb08..7370d31 100644
--- a/kernel/sched/psi.c
+++ b/kernel/sched/psi.c
@@ -189,7 +189,8 @@
 
 	for_each_possible_cpu(cpu)
 		seqcount_init(&per_cpu_ptr(group->pcpu, cpu)->seq);
-	group->avg_next_update = sched_clock() + psi_period;
+	group->avg_last_update = sched_clock();
+	group->avg_next_update = group->avg_last_update + psi_period;
 	INIT_DEFERRABLE_WORK(&group->avgs_work, psi_avgs_work);
 	mutex_init(&group->avgs_lock);
 	/* Init trigger-related members */
@@ -520,7 +521,7 @@
 		u32 remaining;
 
 		remaining = win->size - elapsed;
-		growth += div_u64(win->prev_growth * remaining, win->size);
+		growth += div64_u64(win->prev_growth * remaining, win->size);
 	}
 
 	return growth;
@@ -1318,7 +1319,10 @@
 	if (static_branch_likely(&psi_disabled))
 		return -EOPNOTSUPP;
 
-	buf_size = min(nbytes, (sizeof(buf) - 1));
+	if (!nbytes)
+		return -EINVAL;
+
+	buf_size = min(nbytes, sizeof(buf));
 	if (copy_from_user(buf, user_buf, buf_size))
 		return -EFAULT;
 
diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c
index 60786da..0b2bc6c 100644
--- a/kernel/sched/rt.c
+++ b/kernel/sched/rt.c
@@ -2635,6 +2635,10 @@
 #ifdef CONFIG_SCHED_WALT
 	.fixup_walt_sched_stats	= fixup_walt_sched_stats_common,
 #endif
+
+#ifdef CONFIG_UCLAMP_TASK
+	.uclamp_enabled		= 1,
+#endif
 };
 
 #ifdef CONFIG_RT_GROUP_SCHED
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index f800274..b156320 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -456,6 +456,18 @@
 #endif
 
 	struct cfs_bandwidth	cfs_bandwidth;
+
+#ifdef CONFIG_UCLAMP_TASK_GROUP
+	/* The two decimal precision [%] value requested from user-space */
+	unsigned int		uclamp_pct[UCLAMP_CNT];
+	/* Clamp values requested for a task group */
+	struct uclamp_se	uclamp_req[UCLAMP_CNT];
+	/* Effective clamp values used for a task group */
+	struct uclamp_se	uclamp[UCLAMP_CNT];
+	/* Latency-sensitive flag used for a task group */
+	unsigned int		latency_sensitive;
+#endif
+
 };
 
 #ifdef CONFIG_FAIR_GROUP_SCHED
@@ -866,6 +878,48 @@
 #endif
 #endif /* CONFIG_SMP */
 
+#ifdef CONFIG_UCLAMP_TASK
+/*
+ * struct uclamp_bucket - Utilization clamp bucket
+ * @value: utilization clamp value for tasks on this clamp bucket
+ * @tasks: number of RUNNABLE tasks on this clamp bucket
+ *
+ * Keep track of how many tasks are RUNNABLE for a given utilization
+ * clamp value.
+ */
+struct uclamp_bucket {
+	unsigned long value : bits_per(SCHED_CAPACITY_SCALE);
+	unsigned long tasks : BITS_PER_LONG - bits_per(SCHED_CAPACITY_SCALE);
+};
+
+/*
+ * struct uclamp_rq - rq's utilization clamp
+ * @value: currently active clamp values for a rq
+ * @bucket: utilization clamp buckets affecting a rq
+ *
+ * Keep track of RUNNABLE tasks on a rq to aggregate their clamp values.
+ * A clamp value is affecting a rq when there is at least one task RUNNABLE
+ * (or actually running) with that value.
+ *
+ * There are up to UCLAMP_CNT possible different clamp values, currently there
+ * are only two: minimum utilization and maximum utilization.
+ *
+ * All utilization clamping values are MAX aggregated, since:
+ * - for util_min: we want to run the CPU at least at the max of the minimum
+ *   utilization required by its currently RUNNABLE tasks.
+ * - for util_max: we want to allow the CPU to run up to the max of the
+ *   maximum utilization allowed by its currently RUNNABLE tasks.
+ *
+ * Since on each system we expect only a limited number of different
+ * utilization clamp values (UCLAMP_BUCKETS), use a simple array to track
+ * the metrics required to compute all the per-rq utilization clamp values.
+ */
+struct uclamp_rq {
+	unsigned int value;
+	struct uclamp_bucket bucket[UCLAMP_BUCKETS];
+};
+#endif /* CONFIG_UCLAMP_TASK */
+
 /*
  * This is the main, per-CPU runqueue data structure.
  *
@@ -904,6 +958,13 @@
 	unsigned long		nr_load_updates;
 	u64			nr_switches;
 
+#ifdef CONFIG_UCLAMP_TASK
+	/* Utilization clamp values based on CPU's RUNNABLE tasks */
+	struct uclamp_rq	uclamp[UCLAMP_CNT] ____cacheline_aligned;
+	unsigned int		uclamp_flags;
+#define UCLAMP_FLAG_IDLE 0x01
+#endif
+
 	struct cfs_rq		cfs;
 	struct rt_rq		rt;
 	struct dl_rq		dl;
@@ -1755,6 +1816,10 @@
 struct sched_class {
 	const struct sched_class *next;
 
+#ifdef CONFIG_UCLAMP_TASK
+	int uclamp_enabled;
+#endif
+
 	void (*enqueue_task) (struct rq *rq, struct task_struct *p, int flags);
 	void (*dequeue_task) (struct rq *rq, struct task_struct *p, int flags);
 	void (*yield_task)   (struct rq *rq);
@@ -2157,8 +2222,8 @@
 }
 
 #ifdef CONFIG_SCHED_TUNE
-extern unsigned long boosted_cpu_util(int cpu, unsigned long other_util,
-				      struct sched_walt_cpu_load *walt_load);
+extern unsigned long stune_util(int cpu, unsigned long other_util,
+				struct sched_walt_cpu_load *walt_load);
 #endif
 
 static inline unsigned long
@@ -2523,6 +2588,45 @@
 static inline void cpufreq_update_util(struct rq *rq, unsigned int flags) {}
 #endif /* CONFIG_CPU_FREQ */
 
+#ifdef CONFIG_UCLAMP_TASK
+unsigned long uclamp_eff_value(struct task_struct *p, enum uclamp_id clamp_id);
+
+static __always_inline
+unsigned long uclamp_rq_util_with(struct rq *rq, unsigned long util,
+				  struct task_struct *p)
+{
+	unsigned long min_util = READ_ONCE(rq->uclamp[UCLAMP_MIN].value);
+	unsigned long max_util = READ_ONCE(rq->uclamp[UCLAMP_MAX].value);
+
+	if (p) {
+		min_util = max(min_util, uclamp_eff_value(p, UCLAMP_MIN));
+		max_util = max(max_util, uclamp_eff_value(p, UCLAMP_MAX));
+	}
+
+	/*
+	 * Since CPU's {min,max}_util clamps are MAX aggregated considering
+	 * RUNNABLE tasks with _different_ clamps, we can end up with an
+	 * inversion. Fix it now when the clamps are applied.
+	 */
+	if (unlikely(min_util >= max_util))
+		return min_util;
+
+	return clamp(util, min_util, max_util);
+}
+#else /* CONFIG_UCLAMP_TASK */
+static inline
+unsigned long uclamp_rq_util_with(struct rq *rq, unsigned long util,
+				  struct task_struct *p)
+{
+	return util;
+}
+#endif /* CONFIG_UCLAMP_TASK */
+
+unsigned long task_util_est(struct task_struct *p);
+unsigned int uclamp_task(struct task_struct *p);
+bool uclamp_latency_sensitive(struct task_struct *p);
+bool uclamp_boosted(struct task_struct *p);
+
 #ifdef arch_scale_freq_capacity
 # ifndef arch_scale_freq_invariant
 #  define arch_scale_freq_invariant()	true
@@ -2531,7 +2635,6 @@
 # define arch_scale_freq_invariant()	false
 #endif
 
-#ifdef CONFIG_CPU_FREQ_GOV_SCHEDUTIL
 /**
  * enum schedutil_type - CPU utilization type
  * @FREQUENCY_UTIL:	Utilization used to select frequency
@@ -2547,33 +2650,7 @@
 	ENERGY_UTIL,
 };
 
-unsigned long schedutil_freq_util(int cpu, unsigned long util,
-			          unsigned long max, enum schedutil_type type);
-
-static inline unsigned long schedutil_energy_util(int cpu, unsigned long util)
-{
-	unsigned long max = arch_scale_cpu_capacity(NULL, cpu);
-
-	return schedutil_freq_util(cpu, util, max, ENERGY_UTIL);
-}
-#else /* CONFIG_CPU_FREQ_GOV_SCHEDUTIL */
-static inline unsigned long schedutil_energy_util(int cpu, unsigned long util)
-{
-	return util;
-}
-#endif
-
 #ifdef CONFIG_SMP
-static inline unsigned long cpu_bw_dl(struct rq *rq)
-{
-	return (rq->dl.running_bw * SCHED_CAPACITY_SCALE) >> BW_SHIFT;
-}
-
-static inline unsigned long cpu_util_dl(struct rq *rq)
-{
-	return READ_ONCE(rq->avg_dl.util_avg);
-}
-
 static inline unsigned long cpu_util_cfs(struct rq *rq)
 {
 	unsigned long util = READ_ONCE(rq->cfs.avg.util_avg);
@@ -2585,12 +2662,37 @@
 
 	return util;
 }
+#endif
+
+#ifdef CONFIG_CPU_FREQ_GOV_SCHEDUTIL
+
+unsigned long schedutil_cpu_util(int cpu, unsigned long util_cfs,
+				 unsigned long max, enum schedutil_type type,
+				 struct task_struct *p);
+
+static inline unsigned long cpu_bw_dl(struct rq *rq)
+{
+	return (rq->dl.running_bw * SCHED_CAPACITY_SCALE) >> BW_SHIFT;
+}
+
+static inline unsigned long cpu_util_dl(struct rq *rq)
+{
+	return READ_ONCE(rq->avg_dl.util_avg);
+}
 
 static inline unsigned long cpu_util_rt(struct rq *rq)
 {
 	return READ_ONCE(rq->avg_rt.util_avg);
 }
-#endif
+
+#else /* CONFIG_CPU_FREQ_GOV_SCHEDUTIL */
+static inline unsigned long schedutil_cpu_util(int cpu, unsigned long util_cfs,
+				 unsigned long max, enum schedutil_type type,
+				 struct task_struct *p)
+{
+	return 0;
+}
+#endif /* CONFIG_CPU_FREQ_GOV_SCHEDUTIL */
 
 #ifdef CONFIG_HAVE_SCHED_AVG_IRQ
 static inline unsigned long cpu_util_irq(struct rq *rq)
diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c
index d956d86..d756a10 100644
--- a/kernel/sched/topology.c
+++ b/kernel/sched/topology.c
@@ -203,6 +203,34 @@
 
 DEFINE_STATIC_KEY_FALSE(sched_energy_present);
 #ifdef CONFIG_ENERGY_MODEL
+unsigned int sysctl_sched_energy_aware = 1;
+DEFINE_MUTEX(sched_energy_mutex);
+bool sched_energy_update;
+
+#ifdef CONFIG_PROC_SYSCTL
+int sched_energy_aware_handler(struct ctl_table *table, int write,
+			 void __user *buffer, size_t *lenp, loff_t *ppos)
+{
+	int ret, state;
+
+	if (write && !capable(CAP_SYS_ADMIN))
+		return -EPERM;
+
+	ret = proc_dointvec_minmax(table, write, buffer, lenp, ppos);
+	if (!ret && write) {
+		state = static_branch_unlikely(&sched_energy_present);
+		if (state != sysctl_sched_energy_aware) {
+			mutex_lock(&sched_energy_mutex);
+			sched_energy_update = 1;
+			rebuild_sched_domains();
+			sched_energy_update = 0;
+			mutex_unlock(&sched_energy_mutex);
+		}
+	}
+
+	return ret;
+}
+#endif
 
 static void free_pd(struct perf_domain *pd)
 {
@@ -316,6 +344,9 @@
 	int cpu = cpumask_first(cpu_map);
 	struct root_domain *rd = cpu_rq(cpu)->rd;
 
+	if (!sysctl_sched_energy_aware)
+		goto free;
+
 	/* EAS is enabled for asymmetric CPU capacity topologies. */
 	if (!per_cpu(sd_asym_cpucapacity, cpu)) {
 		if (sched_debug()) {
diff --git a/kernel/sched/tune.h b/kernel/sched/tune.h
index ab44614..5ba191b 100644
--- a/kernel/sched/tune.h
+++ b/kernel/sched/tune.h
@@ -30,6 +30,5 @@
 #define schedtune_enqueue_task(task, cpu) do { } while (0)
 #define schedtune_dequeue_task(task, cpu) do { } while (0)
 
-#define boosted_cpu_util(cpu, other_util, walt_load) cpu_util_cfs(cpu_rq(cpu))
-
+#define stune_util(cpu, other_util, walt_load) cpu_util_cfs(cpu_rq(cpu))
 #endif /* CONFIG_SCHED_TUNE */
diff --git a/kernel/seccomp.c b/kernel/seccomp.c
index fd023ac..56e6920 100644
--- a/kernel/seccomp.c
+++ b/kernel/seccomp.c
@@ -383,8 +383,8 @@
 	 * behavior of privileged children.
 	 */
 	if (!task_no_new_privs(current) &&
-	    security_capable_noaudit(current_cred(), current_user_ns(),
-				     CAP_SYS_ADMIN) != 0)
+	    security_capable(current_cred(), current_user_ns(),
+				     CAP_SYS_ADMIN, CAP_OPT_NOAUDIT) != 0)
 		return ERR_PTR(-EACCES);
 
 	/* Allocate a new seccomp_filter */
diff --git a/kernel/signal.c b/kernel/signal.c
index 12057b2..efeedcff 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -90,6 +90,11 @@
 	    handler == SIG_DFL && !(force && sig_kernel_only(sig)))
 		return true;
 
+	/* Only allow kernel generated signals to this kthread */
+	if (unlikely((t->flags & PF_KTHREAD) &&
+		     (handler == SIG_KTHREAD_KERNEL) && !force))
+		return true;
+
 	return sig_handler_ignored(handler, sig);
 }
 
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index 8f828de..bfa5b08 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -702,6 +702,22 @@
 		.mode		= 0644,
 		.proc_handler	= sched_rr_handler,
 	},
+#ifdef CONFIG_UCLAMP_TASK
+	{
+		.procname	= "sched_util_clamp_min",
+		.data		= &sysctl_sched_uclamp_util_min,
+		.maxlen		= sizeof(unsigned int),
+		.mode		= 0644,
+		.proc_handler	= sysctl_sched_uclamp_handler,
+	},
+	{
+		.procname	= "sched_util_clamp_max",
+		.data		= &sysctl_sched_uclamp_util_max,
+		.maxlen		= sizeof(unsigned int),
+		.mode		= 0644,
+		.proc_handler	= sysctl_sched_uclamp_handler,
+	},
+#endif
 #ifdef CONFIG_SCHED_AUTOGROUP
 	{
 		.procname	= "sched_autogroup_enabled",
@@ -739,6 +755,17 @@
 		.extra1		= &zero,
 		.extra2		= &two_hundred_fifty_five,
 	},
+#if defined(CONFIG_ENERGY_MODEL) && defined(CONFIG_CPU_FREQ_GOV_SCHEDUTIL)
+	{
+		.procname	= "sched_energy_aware",
+		.data		= &sysctl_sched_energy_aware,
+		.maxlen		= sizeof(unsigned int),
+		.mode		= 0644,
+		.proc_handler	= sched_energy_aware_handler,
+		.extra1		= &zero,
+		.extra2		= &one,
+	},
+#endif
 #ifdef CONFIG_PROVE_LOCKING
 	{
 		.procname	= "prove_locking",
diff --git a/kernel/time/alarmtimer.c b/kernel/time/alarmtimer.c
index f4255a6..4bb1587 100644
--- a/kernel/time/alarmtimer.c
+++ b/kernel/time/alarmtimer.c
@@ -91,6 +91,7 @@
 	unsigned long flags;
 	struct rtc_device *rtc = to_rtc_device(dev);
 	struct wakeup_source *__ws;
+	int ret = 0;
 
 	if (rtcdev)
 		return -EBUSY;
@@ -100,13 +101,13 @@
 	if (!device_may_wakeup(rtc->dev.parent))
 		return -1;
 
-	__ws = wakeup_source_register("alarmtimer");
+	__ws = wakeup_source_register(dev, "alarmtimer");
 
 	spin_lock_irqsave(&rtcdev_lock, flags);
 	if (!rtcdev) {
 		if (!try_module_get(rtc->owner)) {
-			spin_unlock_irqrestore(&rtcdev_lock, flags);
-			return -1;
+			ret = -1;
+			goto unlock;
 		}
 
 		rtcdev = rtc;
@@ -115,11 +116,12 @@
 		ws = __ws;
 		__ws = NULL;
 	}
+unlock:
 	spin_unlock_irqrestore(&rtcdev_lock, flags);
 
 	wakeup_source_unregister(__ws);
 
-	return 0;
+	return ret;
 }
 
 static inline void alarmtimer_rtc_timer_init(void)
diff --git a/kernel/time/clocksource.c b/kernel/time/clocksource.c
index e206743..1f4bffb 100644
--- a/kernel/time/clocksource.c
+++ b/kernel/time/clocksource.c
@@ -311,8 +311,15 @@
 	next_cpu = cpumask_next(raw_smp_processor_id(), cpu_online_mask);
 	if (next_cpu >= nr_cpu_ids)
 		next_cpu = cpumask_first(cpu_online_mask);
-	watchdog_timer.expires += WATCHDOG_INTERVAL;
-	add_timer_on(&watchdog_timer, next_cpu);
+
+	/*
+	 * Arm timer if not already pending: could race with concurrent
+	 * pair clocksource_stop_watchdog() clocksource_start_watchdog().
+	 */
+	if (!timer_pending(&watchdog_timer)) {
+		watchdog_timer.expires += WATCHDOG_INTERVAL;
+		add_timer_on(&watchdog_timer, next_cpu);
+	}
 out:
 	spin_unlock(&watchdog_lock);
 }
diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c
index 778ce93..0008021 100644
--- a/kernel/time/tick-sched.c
+++ b/kernel/time/tick-sched.c
@@ -67,8 +67,9 @@
 
 	/*
 	 * Do a quick check without holding jiffies_lock:
+	 * The READ_ONCE() pairs with two updates done later in this function.
 	 */
-	delta = ktime_sub(now, last_jiffies_update);
+	delta = ktime_sub(now, READ_ONCE(last_jiffies_update));
 	if (delta < tick_period)
 		return;
 
@@ -79,8 +80,9 @@
 	if (delta >= tick_period) {
 
 		delta = ktime_sub(delta, tick_period);
-		last_jiffies_update = ktime_add(last_jiffies_update,
-						tick_period);
+		/* Pairs with the lockless read in this function. */
+		WRITE_ONCE(last_jiffies_update,
+			   ktime_add(last_jiffies_update, tick_period));
 
 		/* Slow path for long timeouts */
 		if (unlikely(delta >= tick_period)) {
@@ -88,8 +90,10 @@
 
 			ticks = ktime_divns(delta, incr);
 
-			last_jiffies_update = ktime_add_ns(last_jiffies_update,
-							   incr * ticks);
+			/* Pairs with the lockless read in this function. */
+			WRITE_ONCE(last_jiffies_update,
+				   ktime_add_ns(last_jiffies_update,
+						incr * ticks));
 		}
 		do_timer(++ticks);
 
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index 0000166..0441265 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -5073,8 +5073,8 @@
 
 static DEFINE_MUTEX(graph_lock);
 
-struct ftrace_hash *ftrace_graph_hash = EMPTY_HASH;
-struct ftrace_hash *ftrace_graph_notrace_hash = EMPTY_HASH;
+struct ftrace_hash __rcu *ftrace_graph_hash = EMPTY_HASH;
+struct ftrace_hash __rcu *ftrace_graph_notrace_hash = EMPTY_HASH;
 
 enum graph_filter_type {
 	GRAPH_FILTER_NOTRACE	= 0,
@@ -5345,8 +5345,15 @@
 
 		mutex_unlock(&graph_lock);
 
-		/* Wait till all users are no longer using the old hash */
-		synchronize_sched();
+		/*
+		 * We need to do a hard force of sched synchronization.
+		 * This is because we use preempt_disable() to do RCU, but
+		 * the function tracers can be called where RCU is not watching
+		 * (like before user_exit()). We can not rely on the RCU
+		 * infrastructure to do the synchronization, thus we must do it
+		 * ourselves.
+		 */
+		schedule_on_each_cpu(ftrace_sync);
 
 		free_ftrace_hash(old_hash);
 	}
@@ -6520,9 +6527,10 @@
 	struct trace_array *tr = m->private;
 	struct trace_pid_list *pid_list = rcu_dereference_sched(tr->function_pids);
 
-	if (v == FTRACE_NO_PIDS)
+	if (v == FTRACE_NO_PIDS) {
+		(*pos)++;
 		return NULL;
-
+	}
 	return trace_pid_next(pid_list, v, pos);
 }
 
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 6bd66b6..d2b6467 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -1550,6 +1550,7 @@
 
 	pr_info("Running postponed tracer tests:\n");
 
+	tracing_selftest_running = true;
 	list_for_each_entry_safe(p, n, &postponed_selftests, list) {
 		ret = run_tracer_selftest(p->type);
 		/* If the test fails, then warn and remove from available_tracers */
@@ -1568,6 +1569,7 @@
 		list_del(&p->list);
 		kfree(p);
 	}
+	tracing_selftest_running = false;
 
  out:
 	mutex_unlock(&trace_types_lock);
diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h
index 9c96cfb..8d3378f 100644
--- a/kernel/trace/trace.h
+++ b/kernel/trace/trace.h
@@ -872,22 +872,31 @@
 				 unsigned long flags, int pc);
 
 #ifdef CONFIG_DYNAMIC_FTRACE
-extern struct ftrace_hash *ftrace_graph_hash;
-extern struct ftrace_hash *ftrace_graph_notrace_hash;
+extern struct ftrace_hash __rcu *ftrace_graph_hash;
+extern struct ftrace_hash __rcu *ftrace_graph_notrace_hash;
 
 static inline int ftrace_graph_addr(struct ftrace_graph_ent *trace)
 {
 	unsigned long addr = trace->func;
 	int ret = 0;
+	struct ftrace_hash *hash;
 
 	preempt_disable_notrace();
 
-	if (ftrace_hash_empty(ftrace_graph_hash)) {
+	/*
+	 * Have to open code "rcu_dereference_sched()" because the
+	 * function graph tracer can be called when RCU is not
+	 * "watching".
+	 * Protected with schedule_on_each_cpu(ftrace_sync)
+	 */
+	hash = rcu_dereference_protected(ftrace_graph_hash, !preemptible());
+
+	if (ftrace_hash_empty(hash)) {
 		ret = 1;
 		goto out;
 	}
 
-	if (ftrace_lookup_ip(ftrace_graph_hash, addr)) {
+	if (ftrace_lookup_ip(hash, addr)) {
 
 		/*
 		 * This needs to be cleared on the return functions
@@ -923,10 +932,20 @@
 static inline int ftrace_graph_notrace_addr(unsigned long addr)
 {
 	int ret = 0;
+	struct ftrace_hash *notrace_hash;
 
 	preempt_disable_notrace();
 
-	if (ftrace_lookup_ip(ftrace_graph_notrace_hash, addr))
+	/*
+	 * Have to open code "rcu_dereference_sched()" because the
+	 * function graph tracer can be called when RCU is not
+	 * "watching".
+	 * Protected with schedule_on_each_cpu(ftrace_sync)
+	 */
+	notrace_hash = rcu_dereference_protected(ftrace_graph_notrace_hash,
+						 !preemptible());
+
+	if (ftrace_lookup_ip(notrace_hash, addr))
 		ret = 1;
 
 	preempt_enable_notrace();
diff --git a/kernel/trace/trace_events_hist.c b/kernel/trace/trace_events_hist.c
index 45c9ed1..0d98c77 100644
--- a/kernel/trace/trace_events_hist.c
+++ b/kernel/trace/trace_events_hist.c
@@ -49,6 +49,7 @@
 	struct ftrace_event_field	*field;
 	unsigned long			flags;
 	hist_field_fn_t			fn;
+	unsigned int			ref;
 	unsigned int			size;
 	unsigned int			offset;
 	unsigned int                    is_signed;
@@ -1274,6 +1275,17 @@
 	return cpu;
 }
 
+/**
+ * check_field_for_var_ref - Check if a VAR_REF field references a variable
+ * @hist_field: The VAR_REF field to check
+ * @var_data: The hist trigger that owns the variable
+ * @var_idx: The trigger variable identifier
+ *
+ * Check the given VAR_REF field to see whether or not it references
+ * the given variable associated with the given trigger.
+ *
+ * Return: The VAR_REF field if it does reference the variable, NULL if not
+ */
 static struct hist_field *
 check_field_for_var_ref(struct hist_field *hist_field,
 			struct hist_trigger_data *var_data,
@@ -1324,6 +1336,18 @@
 	return found;
 }
 
+/**
+ * find_var_ref - Check if a trigger has a reference to a trigger variable
+ * @hist_data: The hist trigger that might have a reference to the variable
+ * @var_data: The hist trigger that owns the variable
+ * @var_idx: The trigger variable identifier
+ *
+ * Check the list of var_refs[] on the first hist trigger to see
+ * whether any of them are references to the variable on the second
+ * trigger.
+ *
+ * Return: The VAR_REF field referencing the variable if so, NULL if not
+ */
 static struct hist_field *find_var_ref(struct hist_trigger_data *hist_data,
 				       struct hist_trigger_data *var_data,
 				       unsigned int var_idx)
@@ -1350,6 +1374,20 @@
 	return found;
 }
 
+/**
+ * find_any_var_ref - Check if there is a reference to a given trigger variable
+ * @hist_data: The hist trigger
+ * @var_idx: The trigger variable identifier
+ *
+ * Check to see whether the given variable is currently referenced by
+ * any other trigger.
+ *
+ * The trigger the variable is defined on is explicitly excluded - the
+ * assumption being that a self-reference doesn't prevent a trigger
+ * from being removed.
+ *
+ * Return: The VAR_REF field referencing the variable if so, NULL if not
+ */
 static struct hist_field *find_any_var_ref(struct hist_trigger_data *hist_data,
 					   unsigned int var_idx)
 {
@@ -1368,6 +1406,19 @@
 	return found;
 }
 
+/**
+ * check_var_refs - Check if there is a reference to any of trigger's variables
+ * @hist_data: The hist trigger
+ *
+ * A trigger can define one or more variables.  If any one of them is
+ * currently referenced by any other trigger, this function will
+ * determine that.
+
+ * Typically used to determine whether or not a trigger can be removed
+ * - if there are any references to a trigger's variables, it cannot.
+ *
+ * Return: True if there is a reference to any of trigger's variables
+ */
 static bool check_var_refs(struct hist_trigger_data *hist_data)
 {
 	struct hist_field *field;
@@ -1511,11 +1562,13 @@
 	struct event_trigger_data *test;
 	struct hist_field *hist_field;
 
+	lockdep_assert_held(&event_mutex);
+
 	hist_field = find_var_field(hist_data, var_name);
 	if (hist_field)
 		return hist_field;
 
-	list_for_each_entry_rcu(test, &file->triggers, list) {
+	list_for_each_entry(test, &file->triggers, list) {
 		if (test->cmd_ops->trigger_type == ETT_EVENT_HIST) {
 			test_data = test->private_data;
 			hist_field = find_var_field(test_data, var_name);
@@ -1565,7 +1618,9 @@
 	struct event_trigger_data *test;
 	struct hist_field *hist_field;
 
-	list_for_each_entry_rcu(test, &file->triggers, list) {
+	lockdep_assert_held(&event_mutex);
+
+	list_for_each_entry(test, &file->triggers, list) {
 		if (test->cmd_ops->trigger_type == ETT_EVENT_HIST) {
 			test_data = test->private_data;
 			hist_field = find_var_field(test_data, var_name);
@@ -2171,6 +2226,23 @@
 	return field_op;
 }
 
+static void get_hist_field(struct hist_field *hist_field)
+{
+	hist_field->ref++;
+}
+
+static void __destroy_hist_field(struct hist_field *hist_field)
+{
+	if (--hist_field->ref > 1)
+		return;
+
+	kfree(hist_field->var.name);
+	kfree(hist_field->name);
+	kfree(hist_field->type);
+
+	kfree(hist_field);
+}
+
 static void destroy_hist_field(struct hist_field *hist_field,
 			       unsigned int level)
 {
@@ -2182,14 +2254,13 @@
 	if (!hist_field)
 		return;
 
+	if (hist_field->flags & HIST_FIELD_FL_VAR_REF)
+		return; /* var refs will be destroyed separately */
+
 	for (i = 0; i < HIST_FIELD_OPERANDS_MAX; i++)
 		destroy_hist_field(hist_field->operands[i], level + 1);
 
-	kfree(hist_field->var.name);
-	kfree(hist_field->name);
-	kfree(hist_field->type);
-
-	kfree(hist_field);
+	__destroy_hist_field(hist_field);
 }
 
 static struct hist_field *create_hist_field(struct hist_trigger_data *hist_data,
@@ -2206,6 +2277,8 @@
 	if (!hist_field)
 		return NULL;
 
+	hist_field->ref = 1;
+
 	hist_field->hist_data = hist_data;
 
 	if (flags & HIST_FIELD_FL_EXPR || flags & HIST_FIELD_FL_ALIAS)
@@ -2316,6 +2389,12 @@
 			hist_data->fields[i] = NULL;
 		}
 	}
+
+	for (i = 0; i < hist_data->n_var_refs; i++) {
+		WARN_ON(!(hist_data->var_refs[i]->flags & HIST_FIELD_FL_VAR_REF));
+		__destroy_hist_field(hist_data->var_refs[i]);
+		hist_data->var_refs[i] = NULL;
+	}
 }
 
 static int init_var_ref(struct hist_field *ref_field,
@@ -2374,11 +2453,38 @@
 	goto out;
 }
 
-static struct hist_field *create_var_ref(struct hist_field *var_field,
+/**
+ * create_var_ref - Create a variable reference and attach it to trigger
+ * @hist_data: The trigger that will be referencing the variable
+ * @var_field: The VAR field to create a reference to
+ * @system: The optional system string
+ * @event_name: The optional event_name string
+ *
+ * Given a variable hist_field, create a VAR_REF hist_field that
+ * represents a reference to it.
+ *
+ * This function also adds the reference to the trigger that
+ * now references the variable.
+ *
+ * Return: The VAR_REF field if successful, NULL if not
+ */
+static struct hist_field *create_var_ref(struct hist_trigger_data *hist_data,
+					 struct hist_field *var_field,
 					 char *system, char *event_name)
 {
 	unsigned long flags = HIST_FIELD_FL_VAR_REF;
 	struct hist_field *ref_field;
+	int i;
+
+	/* Check if the variable already exists */
+	for (i = 0; i < hist_data->n_var_refs; i++) {
+		ref_field = hist_data->var_refs[i];
+		if (ref_field->var.idx == var_field->var.idx &&
+		    ref_field->var.hist_data == var_field->hist_data) {
+			get_hist_field(ref_field);
+			return ref_field;
+		}
+	}
 
 	ref_field = create_hist_field(var_field->hist_data, NULL, flags, NULL);
 	if (ref_field) {
@@ -2386,6 +2492,9 @@
 			destroy_hist_field(ref_field, 0);
 			return NULL;
 		}
+
+		hist_data->var_refs[hist_data->n_var_refs] = ref_field;
+		ref_field->var_ref_idx = hist_data->n_var_refs++;
 	}
 
 	return ref_field;
@@ -2459,7 +2568,8 @@
 
 	var_field = find_event_var(hist_data, system, event_name, var_name);
 	if (var_field)
-		ref_field = create_var_ref(var_field, system, event_name);
+		ref_field = create_var_ref(hist_data, var_field,
+					   system, event_name);
 
 	if (!ref_field)
 		hist_err_event("Couldn't find variable: $",
@@ -2579,8 +2689,6 @@
 	if (!s) {
 		hist_field = parse_var_ref(hist_data, ref_system, ref_event, ref_var);
 		if (hist_field) {
-			hist_data->var_refs[hist_data->n_var_refs] = hist_field;
-			hist_field->var_ref_idx = hist_data->n_var_refs++;
 			if (var_name) {
 				hist_field = create_alias(hist_data, hist_field, var_name);
 				if (!hist_field) {
@@ -2828,7 +2936,9 @@
 {
 	struct event_trigger_data *test;
 
-	list_for_each_entry_rcu(test, &file->triggers, list) {
+	lockdep_assert_held(&event_mutex);
+
+	list_for_each_entry(test, &file->triggers, list) {
 		if (test->cmd_ops->trigger_type == ETT_EVENT_HIST) {
 			if (test->private_data == hist_data)
 				return test->filter_str;
@@ -2879,9 +2989,11 @@
 	struct event_trigger_data *test;
 	unsigned int n_keys;
 
+	lockdep_assert_held(&event_mutex);
+
 	n_keys = target_hist_data->n_fields - target_hist_data->n_vals;
 
-	list_for_each_entry_rcu(test, &file->triggers, list) {
+	list_for_each_entry(test, &file->triggers, list) {
 		if (test->cmd_ops->trigger_type == ETT_EVENT_HIST) {
 			hist_data = test->private_data;
 
@@ -3354,7 +3466,6 @@
 	unsigned int var_ref_idx = hist_data->n_var_refs;
 	struct field_var *field_var;
 	char *onmax_var_str, *param;
-	unsigned long flags;
 	unsigned int i;
 	int ret = 0;
 
@@ -3371,18 +3482,10 @@
 		return -EINVAL;
 	}
 
-	flags = HIST_FIELD_FL_VAR_REF;
-	ref_field = create_hist_field(hist_data, NULL, flags, NULL);
+	ref_field = create_var_ref(hist_data, var_field, NULL, NULL);
 	if (!ref_field)
 		return -ENOMEM;
 
-	if (init_var_ref(ref_field, var_field, NULL, NULL)) {
-		destroy_hist_field(ref_field, 0);
-		ret = -ENOMEM;
-		goto out;
-	}
-	hist_data->var_refs[hist_data->n_var_refs] = ref_field;
-	ref_field->var_ref_idx = hist_data->n_var_refs++;
 	data->onmax.var = ref_field;
 
 	data->fn = onmax_save;
@@ -3573,9 +3676,6 @@
 			 struct hist_field *var_ref)
 {
 	hist_data->synth_var_refs[hist_data->n_synth_var_refs++] = var_ref;
-
-	hist_data->var_refs[hist_data->n_var_refs] = var_ref;
-	var_ref->var_ref_idx = hist_data->n_var_refs++;
 }
 
 static int check_synth_field(struct synth_event *event,
@@ -3730,7 +3830,8 @@
 		}
 
 		if (check_synth_field(event, hist_field, field_pos) == 0) {
-			var_ref = create_var_ref(hist_field, system, event_name);
+			var_ref = create_var_ref(hist_data, hist_field,
+						 system, event_name);
 			if (!var_ref) {
 				kfree(p);
 				ret = -ENOMEM;
@@ -4905,7 +5006,7 @@
 		goto out_unlock;
 	}
 
-	list_for_each_entry_rcu(data, &event_file->triggers, list) {
+	list_for_each_entry(data, &event_file->triggers, list) {
 		if (data->cmd_ops->trigger_type == ETT_EVENT_HIST)
 			hist_trigger_show(m, data, n++);
 	}
@@ -5296,7 +5397,9 @@
 	if (hist_data->attrs->name && !named_data)
 		goto new;
 
-	list_for_each_entry_rcu(test, &file->triggers, list) {
+	lockdep_assert_held(&event_mutex);
+
+	list_for_each_entry(test, &file->triggers, list) {
 		if (test->cmd_ops->trigger_type == ETT_EVENT_HIST) {
 			if (!hist_trigger_match(data, test, named_data, false))
 				continue;
@@ -5380,10 +5483,12 @@
 	struct event_trigger_data *test, *named_data = NULL;
 	bool match = false;
 
+	lockdep_assert_held(&event_mutex);
+
 	if (hist_data->attrs->name)
 		named_data = find_named_trigger(hist_data->attrs->name);
 
-	list_for_each_entry_rcu(test, &file->triggers, list) {
+	list_for_each_entry(test, &file->triggers, list) {
 		if (test->cmd_ops->trigger_type == ETT_EVENT_HIST) {
 			if (hist_trigger_match(data, test, named_data, false)) {
 				match = true;
@@ -5401,10 +5506,12 @@
 	struct hist_trigger_data *hist_data = data->private_data;
 	struct event_trigger_data *test, *named_data = NULL;
 
+	lockdep_assert_held(&event_mutex);
+
 	if (hist_data->attrs->name)
 		named_data = find_named_trigger(hist_data->attrs->name);
 
-	list_for_each_entry_rcu(test, &file->triggers, list) {
+	list_for_each_entry(test, &file->triggers, list) {
 		if (test->cmd_ops->trigger_type == ETT_EVENT_HIST) {
 			if (!hist_trigger_match(data, test, named_data, false))
 				continue;
@@ -5426,10 +5533,12 @@
 	struct event_trigger_data *test, *named_data = NULL;
 	bool unregistered = false;
 
+	lockdep_assert_held(&event_mutex);
+
 	if (hist_data->attrs->name)
 		named_data = find_named_trigger(hist_data->attrs->name);
 
-	list_for_each_entry_rcu(test, &file->triggers, list) {
+	list_for_each_entry(test, &file->triggers, list) {
 		if (test->cmd_ops->trigger_type == ETT_EVENT_HIST) {
 			if (!hist_trigger_match(data, test, named_data, false))
 				continue;
@@ -5455,7 +5564,9 @@
 	struct hist_trigger_data *hist_data;
 	struct event_trigger_data *test;
 
-	list_for_each_entry_rcu(test, &file->triggers, list) {
+	lockdep_assert_held(&event_mutex);
+
+	list_for_each_entry(test, &file->triggers, list) {
 		if (test->cmd_ops->trigger_type == ETT_EVENT_HIST) {
 			hist_data = test->private_data;
 			if (check_var_refs(hist_data))
diff --git a/kernel/trace/trace_events_trigger.c b/kernel/trace/trace_events_trigger.c
index cd12ecb..9300e8b 100644
--- a/kernel/trace/trace_events_trigger.c
+++ b/kernel/trace/trace_events_trigger.c
@@ -115,9 +115,10 @@
 {
 	struct trace_event_file *event_file = event_file_data(m->private);
 
-	if (t == SHOW_AVAILABLE_TRIGGERS)
+	if (t == SHOW_AVAILABLE_TRIGGERS) {
+		(*pos)++;
 		return NULL;
-
+	}
 	return seq_list_next(t, &event_file->triggers, pos);
 }
 
@@ -495,7 +496,9 @@
 	struct event_trigger_data *data;
 	bool set_cond = false;
 
-	list_for_each_entry_rcu(data, &file->triggers, list) {
+	lockdep_assert_held(&event_mutex);
+
+	list_for_each_entry(data, &file->triggers, list) {
 		if (data->filter || event_command_post_trigger(data->cmd_ops) ||
 		    event_command_needs_rec(data->cmd_ops)) {
 			set_cond = true;
@@ -530,7 +533,9 @@
 	struct event_trigger_data *test;
 	int ret = 0;
 
-	list_for_each_entry_rcu(test, &file->triggers, list) {
+	lockdep_assert_held(&event_mutex);
+
+	list_for_each_entry(test, &file->triggers, list) {
 		if (test->cmd_ops->trigger_type == data->cmd_ops->trigger_type) {
 			ret = -EEXIST;
 			goto out;
@@ -575,7 +580,9 @@
 	struct event_trigger_data *data;
 	bool unregistered = false;
 
-	list_for_each_entry_rcu(data, &file->triggers, list) {
+	lockdep_assert_held(&event_mutex);
+
+	list_for_each_entry(data, &file->triggers, list) {
 		if (data->cmd_ops->trigger_type == test->cmd_ops->trigger_type) {
 			unregistered = true;
 			list_del_rcu(&data->list);
@@ -1490,7 +1497,9 @@
 	struct event_trigger_data *test;
 	int ret = 0;
 
-	list_for_each_entry_rcu(test, &file->triggers, list) {
+	lockdep_assert_held(&event_mutex);
+
+	list_for_each_entry(test, &file->triggers, list) {
 		test_enable_data = test->private_data;
 		if (test_enable_data &&
 		    (test->cmd_ops->trigger_type ==
@@ -1530,7 +1539,9 @@
 	struct event_trigger_data *data;
 	bool unregistered = false;
 
-	list_for_each_entry_rcu(data, &file->triggers, list) {
+	lockdep_assert_held(&event_mutex);
+
+	list_for_each_entry(data, &file->triggers, list) {
 		enable_data = data->private_data;
 		if (enable_data &&
 		    (data->cmd_ops->trigger_type ==
diff --git a/kernel/trace/trace_sched_switch.c b/kernel/trace/trace_sched_switch.c
index e288168..e304196 100644
--- a/kernel/trace/trace_sched_switch.c
+++ b/kernel/trace/trace_sched_switch.c
@@ -89,8 +89,10 @@
 
 static void tracing_start_sched_switch(int ops)
 {
-	bool sched_register = (!sched_cmdline_ref && !sched_tgid_ref);
+	bool sched_register;
+
 	mutex_lock(&sched_register_mutex);
+	sched_register = (!sched_cmdline_ref && !sched_tgid_ref);
 
 	switch (ops) {
 	case RECORD_CMDLINE:
diff --git a/kernel/trace/trace_sched_wakeup.c b/kernel/trace/trace_sched_wakeup.c
index 7d04b98..11f4dbd 100644
--- a/kernel/trace/trace_sched_wakeup.c
+++ b/kernel/trace/trace_sched_wakeup.c
@@ -640,7 +640,7 @@
 	if (ret) {
 		pr_info("wakeup trace: Couldn't activate tracepoint"
 			" probe to kernel_sched_migrate_task\n");
-		return;
+		goto fail_deprobe_sched_switch;
 	}
 
 	wakeup_reset(tr);
@@ -658,6 +658,8 @@
 		printk(KERN_ERR "failed to start wakeup tracer\n");
 
 	return;
+fail_deprobe_sched_switch:
+	unregister_trace_sched_switch(probe_wakeup_sched_switch, NULL);
 fail_deprobe_wake_new:
 	unregister_trace_sched_wakeup_new(probe_wakeup, NULL);
 fail_deprobe:
diff --git a/kernel/trace/trace_stack.c b/kernel/trace/trace_stack.c
index 4237eba..4033709 100644
--- a/kernel/trace/trace_stack.c
+++ b/kernel/trace/trace_stack.c
@@ -196,6 +196,11 @@
 	local_irq_restore(flags);
 }
 
+/* Some archs may not define MCOUNT_INSN_SIZE */
+#ifndef MCOUNT_INSN_SIZE
+# define MCOUNT_INSN_SIZE 0
+#endif
+
 static void
 stack_trace_call(unsigned long ip, unsigned long parent_ip,
 		 struct ftrace_ops *op, struct pt_regs *pt_regs)
diff --git a/kernel/trace/trace_stat.c b/kernel/trace/trace_stat.c
index 75bf1bc..92b76f9e 100644
--- a/kernel/trace/trace_stat.c
+++ b/kernel/trace/trace_stat.c
@@ -278,18 +278,22 @@
 
 	d_tracing = tracing_init_dentry();
 	if (IS_ERR(d_tracing))
-		return 0;
+		return -ENODEV;
 
 	stat_dir = tracefs_create_dir("trace_stat", d_tracing);
-	if (!stat_dir)
+	if (!stat_dir) {
 		pr_warn("Could not create tracefs 'trace_stat' entry\n");
+		return -ENOMEM;
+	}
 	return 0;
 }
 
 static int init_stat_file(struct stat_session *session)
 {
-	if (!stat_dir && tracing_stat_init())
-		return -ENODEV;
+	int ret;
+
+	if (!stat_dir && (ret = tracing_stat_init()))
+		return ret;
 
 	session->file = tracefs_create_file(session->ts->name, 0644,
 					    stat_dir,
@@ -302,7 +306,7 @@
 int register_stat_tracer(struct tracer_stat *trace)
 {
 	struct stat_session *session, *node;
-	int ret;
+	int ret = -EINVAL;
 
 	if (!trace)
 		return -EINVAL;
@@ -313,17 +317,15 @@
 	/* Already registered? */
 	mutex_lock(&all_stat_sessions_mutex);
 	list_for_each_entry(node, &all_stat_sessions, session_list) {
-		if (node->ts == trace) {
-			mutex_unlock(&all_stat_sessions_mutex);
-			return -EINVAL;
-		}
+		if (node->ts == trace)
+			goto out;
 	}
-	mutex_unlock(&all_stat_sessions_mutex);
 
+	ret = -ENOMEM;
 	/* Init the session */
 	session = kzalloc(sizeof(*session), GFP_KERNEL);
 	if (!session)
-		return -ENOMEM;
+		goto out;
 
 	session->ts = trace;
 	INIT_LIST_HEAD(&session->session_list);
@@ -332,15 +334,16 @@
 	ret = init_stat_file(session);
 	if (ret) {
 		destroy_session(session);
-		return ret;
+		goto out;
 	}
 
+	ret = 0;
 	/* Register */
-	mutex_lock(&all_stat_sessions_mutex);
 	list_add_tail(&session->session_list, &all_stat_sessions);
+ out:
 	mutex_unlock(&all_stat_sessions_mutex);
 
-	return 0;
+	return ret;
 }
 
 void unregister_stat_tracer(struct tracer_stat *trace)
diff --git a/kernel/watchdog.c b/kernel/watchdog.c
index b9214ab..cb8ccbd 100644
--- a/kernel/watchdog.c
+++ b/kernel/watchdog.c
@@ -162,6 +162,8 @@
 
 #ifdef CONFIG_SOFTLOCKUP_DETECTOR
 
+#define SOFTLOCKUP_RESET	ULONG_MAX
+
 /* Global variables, exported for sysctl */
 unsigned int __read_mostly softlockup_panic =
 			CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE;
@@ -269,7 +271,7 @@
 	 * Preemption can be enabled.  It doesn't matter which CPU's timestamp
 	 * gets zeroed here, so use the raw_ operation.
 	 */
-	raw_cpu_write(watchdog_touch_ts, 0);
+	raw_cpu_write(watchdog_touch_ts, SOFTLOCKUP_RESET);
 }
 
 notrace void touch_softlockup_watchdog(void)
@@ -293,14 +295,14 @@
 	 * the softlockup check.
 	 */
 	for_each_cpu(cpu, &watchdog_allowed_mask)
-		per_cpu(watchdog_touch_ts, cpu) = 0;
+		per_cpu(watchdog_touch_ts, cpu) = SOFTLOCKUP_RESET;
 	wq_watchdog_touch(-1);
 }
 
 void touch_softlockup_watchdog_sync(void)
 {
 	__this_cpu_write(softlockup_touch_sync, true);
-	__this_cpu_write(watchdog_touch_ts, 0);
+	__this_cpu_write(watchdog_touch_ts, SOFTLOCKUP_RESET);
 }
 
 static int is_softlockup(unsigned long touch_ts)
@@ -378,7 +380,7 @@
 	/* .. and repeat */
 	hrtimer_forward_now(hrtimer, ns_to_ktime(sample_period));
 
-	if (touch_ts == 0) {
+	if (touch_ts == SOFTLOCKUP_RESET) {
 		if (unlikely(__this_cpu_read(softlockup_touch_sync))) {
 			/*
 			 * If the time stamp was touched atomically
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index 9d22430..11d5eee 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -1546,7 +1546,9 @@
 	struct work_struct *work = &dwork->work;
 
 	WARN_ON_ONCE(!wq);
+#ifndef CONFIG_CFI
 	WARN_ON_ONCE(timer->function != delayed_work_timer_fn);
+#endif
 	WARN_ON_ONCE(timer_pending(timer));
 	WARN_ON_ONCE(!list_empty(&work->entry));
 
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index adf7fb3..c46ecc5 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -80,7 +80,7 @@
 	bool "Enable dynamic printk() support"
 	default n
 	depends on PRINTK
-	depends on DEBUG_FS
+	depends on (DEBUG_FS || PROC_FS)
 	help
 
 	  Compiles debug level messages into the kernel, which would not
@@ -98,8 +98,9 @@
 	  Usage:
 
 	  Dynamic debugging is controlled via the 'dynamic_debug/control' file,
-	  which is contained in the 'debugfs' filesystem. Thus, the debugfs
-	  filesystem must first be mounted before making use of this feature.
+	  which is contained in the 'debugfs' filesystem or procfs.
+	  Thus, the debugfs or procfs filesystem must first be mounted before
+	  making use of this feature.
 	  We refer the control file as: <debugfs>/dynamic_debug/control. This
 	  file contains a list of the debug statements that can be enabled. The
 	  format for each line of the file is:
@@ -768,9 +769,9 @@
 config ARCH_HAS_KCOV
 	bool
 	help
-	  KCOV does not have any arch-specific code, but currently it is enabled
-	  only for x86_64. KCOV requires testing on other archs, and most likely
-	  disabling of instrumentation for some early boot code.
+	  An architecture should select this when it can successfully
+	  build and run with CONFIG_KCOV. This typically requires
+	  disabling instrumentation for some early boot code.
 
 config CC_HAS_SANCOV_TRACE_PC
 	def_bool $(cc-option,-fsanitize-coverage=trace-pc)
@@ -2070,6 +2071,16 @@
 
 	  If unsure, say N.
 
+config TEST_STACKINIT
+	tristate "Test level of stack variable initialization"
+	help
+	  Test if the kernel is zero-initializing stack variables and
+	  padding. Coverage is controlled by compiler flags,
+	  CONFIG_GCC_PLUGIN_STRUCTLEAK, CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF,
+	  or CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL.
+
+	  If unsure, say N.
+
 endif # RUNTIME_TESTING_MENU
 
 config MEMTEST
diff --git a/lib/Makefile b/lib/Makefile
index 27a495a..2aeab86 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -83,6 +83,10 @@
 obj-$(CONFIG_TEST_PARMAN) += test_parman.o
 obj-$(CONFIG_TEST_KMOD) += test_kmod.o
 obj-$(CONFIG_TEST_DEBUG_VIRTUAL) += test_debug_virtual.o
+obj-$(CONFIG_TEST_MEMCAT_P) += test_memcat_p.o
+obj-$(CONFIG_TEST_OBJAGG) += test_objagg.o
+CFLAGS_test_stackinit.o += $(call cc-disable-warning, switch-unreachable)
+obj-$(CONFIG_TEST_STACKINIT) += test_stackinit.o
 obj-$(CONFIG_TEST_MEMINIT) += test_meminit.o
 
 ifeq ($(CONFIG_DEBUG_KOBJECT),y)
diff --git a/lib/devres.c b/lib/devres.c
index faccf1a..aa0f530 100644
--- a/lib/devres.c
+++ b/lib/devres.c
@@ -131,7 +131,8 @@
  *	if (IS_ERR(base))
  *		return PTR_ERR(base);
  */
-void __iomem *devm_ioremap_resource(struct device *dev, struct resource *res)
+void __iomem *devm_ioremap_resource(struct device *dev,
+				    const struct resource *res)
 {
 	resource_size_t size;
 	const char *name;
diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c
index dbf2b45..d27e1d5 100644
--- a/lib/dynamic_debug.c
+++ b/lib/dynamic_debug.c
@@ -954,22 +954,26 @@
 
 static __initdata int ddebug_init_success;
 
-static int __init dynamic_debug_init_debugfs(void)
+static int __init dynamic_debug_init_control(void)
 {
-	struct dentry *dir, *file;
+	struct proc_dir_entry *procfs_dir;
+	struct dentry *debugfs_dir;
 
 	if (!ddebug_init_success)
 		return -ENODEV;
 
-	dir = debugfs_create_dir("dynamic_debug", NULL);
-	if (!dir)
-		return -ENOMEM;
-	file = debugfs_create_file("control", 0644, dir, NULL,
-					&ddebug_proc_fops);
-	if (!file) {
-		debugfs_remove(dir);
-		return -ENOMEM;
+	/* Create the control file in debugfs if it is enabled */
+	if (debugfs_initialized()) {
+		debugfs_dir = debugfs_create_dir("dynamic_debug", NULL);
+		debugfs_create_file("control", 0644, debugfs_dir, NULL,
+				    &ddebug_proc_fops);
 	}
+
+	/* Also create the control file in procfs */
+	procfs_dir = proc_mkdir("dynamic_debug", NULL);
+	if (procfs_dir)
+		proc_create("control", 0644, procfs_dir, &ddebug_proc_fops);
+
 	return 0;
 }
 
@@ -1046,4 +1050,4 @@
 early_initcall(dynamic_debug_init);
 
 /* Debugfs setup must be done later */
-fs_initcall(dynamic_debug_init_debugfs);
+fs_initcall(dynamic_debug_init_control);
diff --git a/lib/kfifo.c b/lib/kfifo.c
index 015656a..6320ab9 100644
--- a/lib/kfifo.c
+++ b/lib/kfifo.c
@@ -82,7 +82,8 @@
 {
 	size /= esize;
 
-	size = roundup_pow_of_two(size);
+	if (!is_power_of_2(size))
+		size = rounddown_pow_of_two(size);
 
 	fifo->in = 0;
 	fifo->out = 0;
diff --git a/lib/plist.c b/lib/plist.c
index 199408f..30162b4 100644
--- a/lib/plist.c
+++ b/lib/plist.c
@@ -103,6 +103,7 @@
 
 	plist_check_head(head);
 }
+EXPORT_SYMBOL_GPL(plist_add);
 
 /**
  * plist_del - Remove a @node from plist.
diff --git a/lib/scatterlist.c b/lib/scatterlist.c
index 8c3036c..60e7eca 100644
--- a/lib/scatterlist.c
+++ b/lib/scatterlist.c
@@ -305,7 +305,7 @@
 			if (prv)
 				table->nents = ++table->orig_nents;
 
- 			return -ENOMEM;
+			return -ENOMEM;
 		}
 
 		sg_init_table(sg, alloc_size);
diff --git a/lib/stackdepot.c b/lib/stackdepot.c
index 241f963..c3ca0c8 100644
--- a/lib/stackdepot.c
+++ b/lib/stackdepot.c
@@ -92,15 +92,19 @@
 		return true;
 	if (stack_slabs[depot_index] == NULL) {
 		stack_slabs[depot_index] = *prealloc;
+		*prealloc = NULL;
 	} else {
-		stack_slabs[depot_index + 1] = *prealloc;
+		/* If this is the last depot slab, do not touch the next one. */
+		if (depot_index + 1 < STACK_ALLOC_MAX_SLABS) {
+			stack_slabs[depot_index + 1] = *prealloc;
+			*prealloc = NULL;
+		}
 		/*
 		 * This smp_store_release pairs with smp_load_acquire() from
 		 * |next_slab_inited| above and in depot_save_stack().
 		 */
 		smp_store_release(&next_slab_inited, 1);
 	}
-	*prealloc = NULL;
 	return true;
 }
 
diff --git a/lib/test_kasan.c b/lib/test_kasan.c
index 7de2702..d86d3b1 100644
--- a/lib/test_kasan.c
+++ b/lib/test_kasan.c
@@ -157,6 +157,7 @@
 	if (!ptr1 || !ptr2) {
 		pr_err("Allocation failed\n");
 		kfree(ptr1);
+		kfree(ptr2);
 		return;
 	}
 
diff --git a/lib/test_meminit.c b/lib/test_meminit.c
index 9729f27..e4f706a 100644
--- a/lib/test_meminit.c
+++ b/lib/test_meminit.c
@@ -183,6 +183,9 @@
 	return fail;
 }
 
+#define BULK_SIZE 100
+static void *bulk_array[BULK_SIZE];
+
 /*
  * Test kmem_cache with given parameters:
  *  want_ctor - use a constructor;
@@ -203,9 +206,24 @@
 			      want_rcu ? SLAB_TYPESAFE_BY_RCU : 0,
 			      want_ctor ? test_ctor : NULL);
 	for (iter = 0; iter < 10; iter++) {
+		/* Do a test of bulk allocations */
+		if (!want_rcu && !want_ctor) {
+			int ret;
+
+			ret = kmem_cache_alloc_bulk(c, alloc_mask, BULK_SIZE, bulk_array);
+			if (!ret) {
+				fail = true;
+			} else {
+				int i;
+				for (i = 0; i < ret; i++)
+					fail |= check_buf(bulk_array[i], size, want_ctor, want_rcu, want_zero);
+				kmem_cache_free_bulk(c, ret, bulk_array);
+			}
+		}
+
 		buf = kmem_cache_alloc(c, alloc_mask);
 		/* Check that buf is zeroed, if it must be. */
-		fail = check_buf(buf, size, want_ctor, want_rcu, want_zero);
+		fail |= check_buf(buf, size, want_ctor, want_rcu, want_zero);
 		fill_with_garbage_skip(buf, size, want_ctor ? CTOR_BYTES : 0);
 
 		if (!want_rcu) {
@@ -297,6 +315,32 @@
 	return 1;
 }
 
+static int __init do_kmem_cache_size_bulk(int size, int *total_failures)
+{
+	struct kmem_cache *c;
+	int i, iter, maxiter = 1024;
+	int num, bytes;
+	bool fail = false;
+	void *objects[10];
+
+	c = kmem_cache_create("test_cache", size, size, 0, NULL);
+	for (iter = 0; (iter < maxiter) && !fail; iter++) {
+		num = kmem_cache_alloc_bulk(c, GFP_KERNEL, ARRAY_SIZE(objects),
+					    objects);
+		for (i = 0; i < num; i++) {
+			bytes = count_nonzero_bytes(objects[i], size);
+			if (bytes)
+				fail = true;
+			fill_with_garbage(objects[i], size);
+		}
+
+		if (num)
+			kmem_cache_free_bulk(c, num, objects);
+	}
+	*total_failures += fail;
+	return 1;
+}
+
 /*
  * Test kmem_cache allocation by creating caches of different sizes, with and
  * without constructors, with and without SLAB_TYPESAFE_BY_RCU.
@@ -318,6 +362,7 @@
 			num_tests += do_kmem_cache_size(size, ctor, rcu, zero,
 							&failures);
 		}
+		num_tests += do_kmem_cache_size_bulk(size, &failures);
 	}
 	REPORT_FAILURES_IN_FN();
 	*total_failures += failures;
diff --git a/lib/test_stackinit.c b/lib/test_stackinit.c
new file mode 100644
index 0000000..c355575
--- /dev/null
+++ b/lib/test_stackinit.c
@@ -0,0 +1,395 @@
+// SPDX-Licenses: GPLv2
+/*
+ * Test cases for compiler-based stack variable zeroing via future
+ * compiler flags or CONFIG_GCC_PLUGIN_STRUCTLEAK*.
+ */
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
+#include <linux/init.h>
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/string.h>
+
+/* Exfiltration buffer. */
+#define MAX_VAR_SIZE	128
+static u8 check_buf[MAX_VAR_SIZE];
+
+/* Character array to trigger stack protector in all functions. */
+#define VAR_BUFFER	 32
+
+/* Volatile mask to convince compiler to copy memory with 0xff. */
+static volatile u8 forced_mask = 0xff;
+
+/* Location and size tracking to validate fill and test are colocated. */
+static void *fill_start, *target_start;
+static size_t fill_size, target_size;
+
+static bool range_contains(char *haystack_start, size_t haystack_size,
+			   char *needle_start, size_t needle_size)
+{
+	if (needle_start >= haystack_start &&
+	    needle_start + needle_size <= haystack_start + haystack_size)
+		return true;
+	return false;
+}
+
+#define DO_NOTHING_TYPE_SCALAR(var_type)	var_type
+#define DO_NOTHING_TYPE_STRING(var_type)	void
+#define DO_NOTHING_TYPE_STRUCT(var_type)	void
+
+#define DO_NOTHING_RETURN_SCALAR(ptr)		*(ptr)
+#define DO_NOTHING_RETURN_STRING(ptr)		/**/
+#define DO_NOTHING_RETURN_STRUCT(ptr)		/**/
+
+#define DO_NOTHING_CALL_SCALAR(var, name)			\
+		(var) = do_nothing_ ## name(&(var))
+#define DO_NOTHING_CALL_STRING(var, name)			\
+		do_nothing_ ## name(var)
+#define DO_NOTHING_CALL_STRUCT(var, name)			\
+		do_nothing_ ## name(&(var))
+
+#define FETCH_ARG_SCALAR(var)		&var
+#define FETCH_ARG_STRING(var)		var
+#define FETCH_ARG_STRUCT(var)		&var
+
+#define FILL_SIZE_STRING		16
+
+#define INIT_CLONE_SCALAR		/**/
+#define INIT_CLONE_STRING		[FILL_SIZE_STRING]
+#define INIT_CLONE_STRUCT		/**/
+
+#define INIT_SCALAR_none		/**/
+#define INIT_SCALAR_zero		= 0
+
+#define INIT_STRING_none		[FILL_SIZE_STRING] /**/
+#define INIT_STRING_zero		[FILL_SIZE_STRING] = { }
+
+#define INIT_STRUCT_none		/**/
+#define INIT_STRUCT_zero		= { }
+#define INIT_STRUCT_static_partial	= { .two = 0, }
+#define INIT_STRUCT_static_all		= { .one = arg->one,		\
+					    .two = arg->two,		\
+					    .three = arg->three,	\
+					    .four = arg->four,		\
+					}
+#define INIT_STRUCT_dynamic_partial	= { .two = arg->two, }
+#define INIT_STRUCT_dynamic_all		= { .one = arg->one,		\
+					    .two = arg->two,		\
+					    .three = arg->three,	\
+					    .four = arg->four,		\
+					}
+#define INIT_STRUCT_runtime_partial	;				\
+					var.two = 0
+#define INIT_STRUCT_runtime_all		;				\
+					var.one = 0;			\
+					var.two = 0;			\
+					var.three = 0;			\
+					memset(&var.four, 0,		\
+					       sizeof(var.four))
+
+/*
+ * @name: unique string name for the test
+ * @var_type: type to be tested for zeroing initialization
+ * @which: is this a SCALAR, STRING, or STRUCT type?
+ * @init_level: what kind of initialization is performed
+ * @xfail: is this test expected to fail?
+ */
+#define DEFINE_TEST_DRIVER(name, var_type, which, xfail)	\
+/* Returns 0 on success, 1 on failure. */			\
+static noinline __init int test_ ## name (void)			\
+{								\
+	var_type zero INIT_CLONE_ ## which;			\
+	int ignored;						\
+	u8 sum = 0, i;						\
+								\
+	/* Notice when a new test is larger than expected. */	\
+	BUILD_BUG_ON(sizeof(zero) > MAX_VAR_SIZE);		\
+								\
+	/* Fill clone type with zero for per-field init. */	\
+	memset(&zero, 0x00, sizeof(zero));			\
+	/* Clear entire check buffer for 0xFF overlap test. */	\
+	memset(check_buf, 0x00, sizeof(check_buf));		\
+	/* Fill stack with 0xFF. */				\
+	ignored = leaf_ ##name((unsigned long)&ignored, 1,	\
+				FETCH_ARG_ ## which(zero));	\
+	/* Verify all bytes overwritten with 0xFF. */		\
+	for (sum = 0, i = 0; i < target_size; i++)		\
+		sum += (check_buf[i] != 0xFF);			\
+	if (sum) {						\
+		pr_err(#name ": leaf fill was not 0xFF!?\n");	\
+		return 1;					\
+	}							\
+	/* Clear entire check buffer for later bit tests. */	\
+	memset(check_buf, 0x00, sizeof(check_buf));		\
+	/* Extract stack-defined variable contents. */		\
+	ignored = leaf_ ##name((unsigned long)&ignored, 0,	\
+				FETCH_ARG_ ## which(zero));	\
+								\
+	/* Validate that compiler lined up fill and target. */	\
+	if (!range_contains(fill_start, fill_size,		\
+			    target_start, target_size)) {	\
+		pr_err(#name ": stack fill missed target!?\n");	\
+		pr_err(#name ": fill %zu wide\n", fill_size);	\
+		pr_err(#name ": target offset by %d\n",	\
+			(int)((ssize_t)(uintptr_t)fill_start -	\
+			(ssize_t)(uintptr_t)target_start));	\
+		return 1;					\
+	}							\
+								\
+	/* Look for any bytes still 0xFF in check region. */	\
+	for (sum = 0, i = 0; i < target_size; i++)		\
+		sum += (check_buf[i] == 0xFF);			\
+								\
+	if (sum == 0) {						\
+		pr_info(#name " ok\n");				\
+		return 0;					\
+	} else {						\
+		pr_warn(#name " %sFAIL (uninit bytes: %d)\n",	\
+			(xfail) ? "X" : "", sum);		\
+		return (xfail) ? 0 : 1;				\
+	}							\
+}
+#define DEFINE_TEST(name, var_type, which, init_level)		\
+/* no-op to force compiler into ignoring "uninitialized" vars */\
+static noinline __init DO_NOTHING_TYPE_ ## which(var_type)	\
+do_nothing_ ## name(var_type *ptr)				\
+{								\
+	/* Will always be true, but compiler doesn't know. */	\
+	if ((unsigned long)ptr > 0x2)				\
+		return DO_NOTHING_RETURN_ ## which(ptr);	\
+	else							\
+		return DO_NOTHING_RETURN_ ## which(ptr + 1);	\
+}								\
+static noinline __init int leaf_ ## name(unsigned long sp,	\
+					 bool fill,		\
+					 var_type *arg)		\
+{								\
+	char buf[VAR_BUFFER];					\
+	var_type var INIT_ ## which ## _ ## init_level;		\
+								\
+	target_start = &var;					\
+	target_size = sizeof(var);				\
+	/*							\
+	 * Keep this buffer around to make sure we've got a	\
+	 * stack frame of SOME kind...				\
+	 */							\
+	memset(buf, (char)(sp & 0xff), sizeof(buf));		\
+	/* Fill variable with 0xFF. */				\
+	if (fill) {						\
+		fill_start = &var;				\
+		fill_size = sizeof(var);			\
+		memset(fill_start,				\
+		       (char)((sp & 0xff) | forced_mask),	\
+		       fill_size);				\
+	}							\
+								\
+	/* Silence "never initialized" warnings. */		\
+	DO_NOTHING_CALL_ ## which(var, name);			\
+								\
+	/* Exfiltrate "var". */					\
+	memcpy(check_buf, target_start, target_size);		\
+								\
+	return (int)buf[0] | (int)buf[sizeof(buf) - 1];		\
+}								\
+DEFINE_TEST_DRIVER(name, var_type, which, 0)
+
+/* Structure with no padding. */
+struct test_packed {
+	unsigned long one;
+	unsigned long two;
+	unsigned long three;
+	unsigned long four;
+};
+
+/* Simple structure with padding likely to be covered by compiler. */
+struct test_small_hole {
+	size_t one;
+	char two;
+	/* 3 byte padding hole here. */
+	int three;
+	unsigned long four;
+};
+
+/* Try to trigger unhandled padding in a structure. */
+struct test_aligned {
+	u32 internal1;
+	u64 internal2;
+} __aligned(64);
+
+struct test_big_hole {
+	u8 one;
+	u8 two;
+	u8 three;
+	/* 61 byte padding hole here. */
+	struct test_aligned four;
+} __aligned(64);
+
+struct test_trailing_hole {
+	char *one;
+	char *two;
+	char *three;
+	char four;
+	/* "sizeof(unsigned long) - 1" byte padding hole here. */
+};
+
+/* Test if STRUCTLEAK is clearing structs with __user fields. */
+struct test_user {
+	u8 one;
+	unsigned long two;
+	char __user *three;
+	unsigned long four;
+};
+
+#define DEFINE_SCALAR_TEST(name, init)				\
+		DEFINE_TEST(name ## _ ## init, name, SCALAR, init)
+
+#define DEFINE_SCALAR_TESTS(init)				\
+		DEFINE_SCALAR_TEST(u8, init);			\
+		DEFINE_SCALAR_TEST(u16, init);			\
+		DEFINE_SCALAR_TEST(u32, init);			\
+		DEFINE_SCALAR_TEST(u64, init);			\
+		DEFINE_TEST(char_array_ ## init, unsigned char, STRING, init)
+
+#define DEFINE_STRUCT_TEST(name, init)				\
+		DEFINE_TEST(name ## _ ## init,			\
+			    struct test_ ## name, STRUCT, init)
+
+#define DEFINE_STRUCT_TESTS(init)				\
+		DEFINE_STRUCT_TEST(small_hole, init);		\
+		DEFINE_STRUCT_TEST(big_hole, init);		\
+		DEFINE_STRUCT_TEST(trailing_hole, init);	\
+		DEFINE_STRUCT_TEST(packed, init)
+
+/* These should be fully initialized all the time! */
+DEFINE_SCALAR_TESTS(zero);
+DEFINE_STRUCT_TESTS(zero);
+/* Static initialization: padding may be left uninitialized. */
+DEFINE_STRUCT_TESTS(static_partial);
+DEFINE_STRUCT_TESTS(static_all);
+/* Dynamic initialization: padding may be left uninitialized. */
+DEFINE_STRUCT_TESTS(dynamic_partial);
+DEFINE_STRUCT_TESTS(dynamic_all);
+/* Runtime initialization: padding may be left uninitialized. */
+DEFINE_STRUCT_TESTS(runtime_partial);
+DEFINE_STRUCT_TESTS(runtime_all);
+/* No initialization without compiler instrumentation. */
+DEFINE_SCALAR_TESTS(none);
+DEFINE_STRUCT_TESTS(none);
+DEFINE_TEST(user, struct test_user, STRUCT, none);
+
+/*
+ * Check two uses through a variable declaration outside either path,
+ * which was noticed as a special case in porting earlier stack init
+ * compiler logic.
+ */
+static int noinline __leaf_switch_none(int path, bool fill)
+{
+	switch (path) {
+		uint64_t var;
+
+	case 1:
+		target_start = &var;
+		target_size = sizeof(var);
+		if (fill) {
+			fill_start = &var;
+			fill_size = sizeof(var);
+
+			memset(fill_start, forced_mask | 0x55, fill_size);
+		}
+		memcpy(check_buf, target_start, target_size);
+		break;
+	case 2:
+		target_start = &var;
+		target_size = sizeof(var);
+		if (fill) {
+			fill_start = &var;
+			fill_size = sizeof(var);
+
+			memset(fill_start, forced_mask | 0xaa, fill_size);
+		}
+		memcpy(check_buf, target_start, target_size);
+		break;
+	default:
+		var = 5;
+		return var & forced_mask;
+	}
+	return 0;
+}
+
+static noinline __init int leaf_switch_1_none(unsigned long sp, bool fill,
+					      uint64_t *arg)
+{
+	return __leaf_switch_none(1, fill);
+}
+
+static noinline __init int leaf_switch_2_none(unsigned long sp, bool fill,
+					      uint64_t *arg)
+{
+	return __leaf_switch_none(2, fill);
+}
+
+/*
+ * These are expected to fail for most configurations because neither
+ * GCC nor Clang have a way to perform initialization of variables in
+ * non-code areas (i.e. in a switch statement before the first "case").
+ * https://bugs.llvm.org/show_bug.cgi?id=44916
+ */
+DEFINE_TEST_DRIVER(switch_1_none, uint64_t, SCALAR, 1);
+DEFINE_TEST_DRIVER(switch_2_none, uint64_t, SCALAR, 1);
+
+static int __init test_stackinit_init(void)
+{
+	unsigned int failures = 0;
+
+#define test_scalars(init)	do {				\
+		failures += test_u8_ ## init ();		\
+		failures += test_u16_ ## init ();		\
+		failures += test_u32_ ## init ();		\
+		failures += test_u64_ ## init ();		\
+		failures += test_char_array_ ## init ();	\
+	} while (0)
+
+#define test_structs(init)	do {				\
+		failures += test_small_hole_ ## init ();	\
+		failures += test_big_hole_ ## init ();		\
+		failures += test_trailing_hole_ ## init ();	\
+		failures += test_packed_ ## init ();		\
+	} while (0)
+
+	/* These are explicitly initialized and should always pass. */
+	test_scalars(zero);
+	test_structs(zero);
+	/* Padding here appears to be accidentally always initialized? */
+	test_structs(dynamic_partial);
+	/* Padding initialization depends on compiler behaviors. */
+	test_structs(static_partial);
+	test_structs(static_all);
+	test_structs(dynamic_all);
+	test_structs(runtime_partial);
+	test_structs(runtime_all);
+
+	/* STRUCTLEAK_BYREF_ALL should cover everything from here down. */
+	test_scalars(none);
+	failures += test_switch_1_none();
+	failures += test_switch_2_none();
+
+	/* STRUCTLEAK_BYREF should cover from here down. */
+	test_structs(none);
+
+	/* STRUCTLEAK will only cover this. */
+	failures += test_user();
+
+	if (failures == 0)
+		pr_info("all tests passed!\n");
+	else
+		pr_err("failures: %u\n", failures);
+
+	return failures ? -EINVAL : 0;
+}
+module_init(test_stackinit_init);
+
+static void __exit test_stackinit_exit(void)
+{ }
+module_exit(test_stackinit_exit);
+
+MODULE_LICENSE("GPL");
diff --git a/mm/cma.c b/mm/cma.c
index 7af197c..09e8f78 100644
--- a/mm/cma.c
+++ b/mm/cma.c
@@ -55,6 +55,7 @@
 {
 	return cma->name ? cma->name : "(undefined)";
 }
+EXPORT_SYMBOL_GPL(cma_get_name);
 
 static unsigned long cma_bitmap_aligned_mask(const struct cma *cma,
 					     unsigned int align_order)
@@ -565,6 +566,7 @@
 	pr_debug("%s(): returned %p\n", __func__, page);
 	return page;
 }
+EXPORT_SYMBOL_GPL(cma_alloc);
 
 /**
  * cma_release() - release allocated pages
@@ -598,6 +600,7 @@
 
 	return true;
 }
+EXPORT_SYMBOL_GPL(cma_release);
 
 int cma_for_each_area(int (*it)(struct cma *cma, void *data), void *data)
 {
@@ -612,3 +615,4 @@
 
 	return 0;
 }
+EXPORT_SYMBOL_GPL(cma_for_each_area);
diff --git a/mm/hmm.c b/mm/hmm.c
index 57f0d2a..c482c07 100644
--- a/mm/hmm.c
+++ b/mm/hmm.c
@@ -997,21 +997,21 @@
 	struct hmm_devmem *devmem = data;
 	struct resource *resource = devmem->resource;
 	unsigned long start_pfn, npages;
-	struct zone *zone;
 	struct page *page;
+	int nid;
 
 	/* pages are dead and unused, undo the arch mapping */
 	start_pfn = (resource->start & ~(PA_SECTION_SIZE - 1)) >> PAGE_SHIFT;
 	npages = ALIGN(resource_size(resource), PA_SECTION_SIZE) >> PAGE_SHIFT;
 
 	page = pfn_to_page(start_pfn);
-	zone = page_zone(page);
+	nid = page_to_nid(page);
 
 	mem_hotplug_begin();
 	if (resource->desc == IORES_DESC_DEVICE_PRIVATE_MEMORY)
-		__remove_pages(zone, start_pfn, npages, NULL);
+		__remove_pages(start_pfn, npages, NULL);
 	else
-		arch_remove_memory(start_pfn << PAGE_SHIFT,
+		arch_remove_memory(nid, start_pfn << PAGE_SHIFT,
 				   npages << PAGE_SHIFT, NULL);
 	mem_hotplug_done();
 
diff --git a/mm/huge_memory.c b/mm/huge_memory.c
index 479a070..58a28dc 100644
--- a/mm/huge_memory.c
+++ b/mm/huge_memory.c
@@ -173,16 +173,13 @@
 {
 	ssize_t ret = count;
 
-	if (!memcmp("always", buf,
-		    min(sizeof("always")-1, count))) {
+	if (sysfs_streq(buf, "always")) {
 		clear_bit(TRANSPARENT_HUGEPAGE_REQ_MADV_FLAG, &transparent_hugepage_flags);
 		set_bit(TRANSPARENT_HUGEPAGE_FLAG, &transparent_hugepage_flags);
-	} else if (!memcmp("madvise", buf,
-			   min(sizeof("madvise")-1, count))) {
+	} else if (sysfs_streq(buf, "madvise")) {
 		clear_bit(TRANSPARENT_HUGEPAGE_FLAG, &transparent_hugepage_flags);
 		set_bit(TRANSPARENT_HUGEPAGE_REQ_MADV_FLAG, &transparent_hugepage_flags);
-	} else if (!memcmp("never", buf,
-			   min(sizeof("never")-1, count))) {
+	} else if (sysfs_streq(buf, "never")) {
 		clear_bit(TRANSPARENT_HUGEPAGE_FLAG, &transparent_hugepage_flags);
 		clear_bit(TRANSPARENT_HUGEPAGE_REQ_MADV_FLAG, &transparent_hugepage_flags);
 	} else
@@ -246,32 +243,27 @@
 			    struct kobj_attribute *attr,
 			    const char *buf, size_t count)
 {
-	if (!memcmp("always", buf,
-		    min(sizeof("always")-1, count))) {
+	if (sysfs_streq(buf, "always")) {
 		clear_bit(TRANSPARENT_HUGEPAGE_DEFRAG_KSWAPD_FLAG, &transparent_hugepage_flags);
 		clear_bit(TRANSPARENT_HUGEPAGE_DEFRAG_KSWAPD_OR_MADV_FLAG, &transparent_hugepage_flags);
 		clear_bit(TRANSPARENT_HUGEPAGE_DEFRAG_REQ_MADV_FLAG, &transparent_hugepage_flags);
 		set_bit(TRANSPARENT_HUGEPAGE_DEFRAG_DIRECT_FLAG, &transparent_hugepage_flags);
-	} else if (!memcmp("defer+madvise", buf,
-		    min(sizeof("defer+madvise")-1, count))) {
+	} else if (sysfs_streq(buf, "defer+madvise")) {
 		clear_bit(TRANSPARENT_HUGEPAGE_DEFRAG_DIRECT_FLAG, &transparent_hugepage_flags);
 		clear_bit(TRANSPARENT_HUGEPAGE_DEFRAG_KSWAPD_FLAG, &transparent_hugepage_flags);
 		clear_bit(TRANSPARENT_HUGEPAGE_DEFRAG_REQ_MADV_FLAG, &transparent_hugepage_flags);
 		set_bit(TRANSPARENT_HUGEPAGE_DEFRAG_KSWAPD_OR_MADV_FLAG, &transparent_hugepage_flags);
-	} else if (!memcmp("defer", buf,
-		    min(sizeof("defer")-1, count))) {
+	} else if (sysfs_streq(buf, "defer")) {
 		clear_bit(TRANSPARENT_HUGEPAGE_DEFRAG_DIRECT_FLAG, &transparent_hugepage_flags);
 		clear_bit(TRANSPARENT_HUGEPAGE_DEFRAG_KSWAPD_OR_MADV_FLAG, &transparent_hugepage_flags);
 		clear_bit(TRANSPARENT_HUGEPAGE_DEFRAG_REQ_MADV_FLAG, &transparent_hugepage_flags);
 		set_bit(TRANSPARENT_HUGEPAGE_DEFRAG_KSWAPD_FLAG, &transparent_hugepage_flags);
-	} else if (!memcmp("madvise", buf,
-			   min(sizeof("madvise")-1, count))) {
+	} else if (sysfs_streq(buf, "madvise")) {
 		clear_bit(TRANSPARENT_HUGEPAGE_DEFRAG_DIRECT_FLAG, &transparent_hugepage_flags);
 		clear_bit(TRANSPARENT_HUGEPAGE_DEFRAG_KSWAPD_FLAG, &transparent_hugepage_flags);
 		clear_bit(TRANSPARENT_HUGEPAGE_DEFRAG_KSWAPD_OR_MADV_FLAG, &transparent_hugepage_flags);
 		set_bit(TRANSPARENT_HUGEPAGE_DEFRAG_REQ_MADV_FLAG, &transparent_hugepage_flags);
-	} else if (!memcmp("never", buf,
-			   min(sizeof("never")-1, count))) {
+	} else if (sysfs_streq(buf, "never")) {
 		clear_bit(TRANSPARENT_HUGEPAGE_DEFRAG_DIRECT_FLAG, &transparent_hugepage_flags);
 		clear_bit(TRANSPARENT_HUGEPAGE_DEFRAG_KSWAPD_FLAG, &transparent_hugepage_flags);
 		clear_bit(TRANSPARENT_HUGEPAGE_DEFRAG_KSWAPD_OR_MADV_FLAG, &transparent_hugepage_flags);
@@ -509,13 +501,13 @@
 	set_compound_page_dtor(page, TRANSHUGE_PAGE_DTOR);
 }
 
-unsigned long __thp_get_unmapped_area(struct file *filp, unsigned long len,
+static unsigned long __thp_get_unmapped_area(struct file *filp,
+		unsigned long addr, unsigned long len,
 		loff_t off, unsigned long flags, unsigned long size)
 {
-	unsigned long addr;
 	loff_t off_end = off + len;
 	loff_t off_align = round_up(off, size);
-	unsigned long len_pad;
+	unsigned long len_pad, ret;
 
 	if (off_end <= off_align || (off_end - off_align) < size)
 		return 0;
@@ -524,30 +516,40 @@
 	if (len_pad < len || (off + len_pad) < off)
 		return 0;
 
-	addr = current->mm->get_unmapped_area(filp, 0, len_pad,
+	ret = current->mm->get_unmapped_area(filp, addr, len_pad,
 					      off >> PAGE_SHIFT, flags);
-	if (IS_ERR_VALUE(addr))
+
+	/*
+	 * The failure might be due to length padding. The caller will retry
+	 * without the padding.
+	 */
+	if (IS_ERR_VALUE(ret))
 		return 0;
 
-	addr += (off - addr) & (size - 1);
-	return addr;
+	/*
+	 * Do not try to align to THP boundary if allocation at the address
+	 * hint succeeds.
+	 */
+	if (ret == addr)
+		return addr;
+
+	ret += (off - ret) & (size - 1);
+	return ret;
 }
 
 unsigned long thp_get_unmapped_area(struct file *filp, unsigned long addr,
 		unsigned long len, unsigned long pgoff, unsigned long flags)
 {
+	unsigned long ret;
 	loff_t off = (loff_t)pgoff << PAGE_SHIFT;
 
-	if (addr)
-		goto out;
 	if (!IS_DAX(filp->f_mapping->host) || !IS_ENABLED(CONFIG_FS_DAX_PMD))
 		goto out;
 
-	addr = __thp_get_unmapped_area(filp, len, off, flags, PMD_SIZE);
-	if (addr)
-		return addr;
-
- out:
+	ret = __thp_get_unmapped_area(filp, addr, len, off, flags, PMD_SIZE);
+	if (ret)
+		return ret;
+out:
 	return current->mm->get_unmapped_area(filp, addr, len, pgoff, flags);
 }
 EXPORT_SYMBOL_GPL(thp_get_unmapped_area);
@@ -2650,7 +2652,7 @@
 	unsigned long flags;
 	pgoff_t end;
 
-	VM_BUG_ON_PAGE(is_huge_zero_page(page), page);
+	VM_BUG_ON_PAGE(is_huge_zero_page(head), head);
 	VM_BUG_ON_PAGE(!PageLocked(page), page);
 	VM_BUG_ON_PAGE(!PageCompound(page), page);
 
@@ -2946,8 +2948,7 @@
 		return;
 
 	flush_cache_range(vma, address, address + HPAGE_PMD_SIZE);
-	pmdval = *pvmw->pmd;
-	pmdp_invalidate(vma, address, pvmw->pmd);
+	pmdval = pmdp_invalidate(vma, address, pvmw->pmd);
 	if (pmd_dirty(pmdval))
 		set_page_dirty(page);
 	entry = make_migration_entry(page, pmd_write(pmdval));
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 3a3d109..0f7ff20 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -419,8 +419,10 @@
 		if (mem_cgroup_is_root(memcg))
 			continue;
 		ret = memcg_expand_one_shrinker_map(memcg, size, old_size);
-		if (ret)
+		if (ret) {
+			mem_cgroup_iter_break(NULL, memcg);
 			goto unlock;
+		}
 	}
 unlock:
 	if (!ret)
diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
index eb04479..11b18bd 100644
--- a/mm/memory_hotplug.c
+++ b/mm/memory_hotplug.c
@@ -260,14 +260,8 @@
 	if (pfn_valid(phys_start_pfn))
 		return -EEXIST;
 
-	ret = sparse_add_one_section(NODE_DATA(nid), phys_start_pfn, altmap);
-	if (ret < 0)
-		return ret;
-
-	if (!want_memblock)
-		return 0;
-
-	return hotplug_memory_register(nid, __pfn_to_section(phys_start_pfn));
+	ret = sparse_add_one_section(nid, phys_start_pfn, altmap);
+	return ret < 0 ? ret : 0;
 }
 
 /*
@@ -320,7 +314,6 @@
 	return err;
 }
 
-#ifdef CONFIG_MEMORY_HOTREMOVE
 /* find the smallest valid pfn in the range [start_pfn, end_pfn) */
 static unsigned long find_smallest_section_pfn(int nid, struct zone *zone,
 				     unsigned long start_pfn,
@@ -461,10 +454,11 @@
 	pgdat->node_spanned_pages = node_end_pfn - node_start_pfn;
 }
 
-static void __remove_zone(struct zone *zone, unsigned long start_pfn)
+void __ref remove_pfn_range_from_zone(struct zone *zone,
+				      unsigned long start_pfn,
+				      unsigned long nr_pages)
 {
 	struct pglist_data *pgdat = zone->zone_pgdat;
-	int nr_pages = PAGES_PER_SECTION;
 	unsigned long flags;
 
 #ifdef CONFIG_ZONE_DEVICE
@@ -477,37 +471,33 @@
 		return;
 #endif
 
+	clear_zone_contiguous(zone);
+
 	pgdat_resize_lock(zone->zone_pgdat, &flags);
 	shrink_zone_span(zone, start_pfn, start_pfn + nr_pages);
 	update_pgdat_span(pgdat);
 	pgdat_resize_unlock(zone->zone_pgdat, &flags);
+
+	set_zone_contiguous(zone);
 }
 
-static int __remove_section(struct zone *zone, struct mem_section *ms,
-		unsigned long map_offset, struct vmem_altmap *altmap)
+static void __remove_section(struct mem_section *ms, unsigned long map_offset,
+			     struct vmem_altmap *altmap)
 {
 	unsigned long start_pfn;
 	int scn_nr;
-	int ret = -EINVAL;
 
-	if (!valid_section(ms))
-		return ret;
-
-	ret = unregister_memory_section(ms);
-	if (ret)
-		return ret;
+	if (WARN_ON_ONCE(!valid_section(ms)))
+		return;
 
 	scn_nr = __section_nr(ms);
 	start_pfn = section_nr_to_pfn((unsigned long)scn_nr);
-	__remove_zone(zone, start_pfn);
 
-	sparse_remove_one_section(zone, ms, map_offset, altmap);
-	return 0;
+	sparse_remove_one_section(ms, map_offset, altmap);
 }
 
 /**
- * __remove_pages() - remove sections of pages from a zone
- * @zone: zone from which pages need to be removed
+ * __remove_pages() - remove sections of pages
  * @phys_start_pfn: starting pageframe (must be aligned to start of a section)
  * @nr_pages: number of pages to remove (must be multiple of section size)
  * @altmap: alternative device page map or %NULL if default memmap is used
@@ -517,34 +507,15 @@
  * sure that pages are marked reserved and zones are adjust properly by
  * calling offline_pages().
  */
-int __remove_pages(struct zone *zone, unsigned long phys_start_pfn,
-		 unsigned long nr_pages, struct vmem_altmap *altmap)
+void __remove_pages(unsigned long phys_start_pfn, unsigned long nr_pages,
+		    struct vmem_altmap *altmap)
 {
 	unsigned long i;
 	unsigned long map_offset = 0;
-	int sections_to_remove, ret = 0;
+	int sections_to_remove;
 
-	/* In the ZONE_DEVICE case device driver owns the memory region */
-	if (is_dev_zone(zone)) {
-		if (altmap)
-			map_offset = vmem_altmap_offset(altmap);
-	} else {
-		resource_size_t start, size;
-
-		start = phys_start_pfn << PAGE_SHIFT;
-		size = nr_pages * PAGE_SIZE;
-
-		ret = release_mem_region_adjustable(&iomem_resource, start,
-					size);
-		if (ret) {
-			resource_size_t endres = start + size - 1;
-
-			pr_warn("Unable to release resource <%pa-%pa> (%d)\n",
-					&start, &endres, ret);
-		}
-	}
-
-	clear_zone_contiguous(zone);
+	if (altmap)
+		map_offset = vmem_altmap_offset(altmap);
 
 	/*
 	 * We can only remove entire sections
@@ -557,18 +528,10 @@
 		unsigned long pfn = phys_start_pfn + i*PAGES_PER_SECTION;
 
 		cond_resched();
-		ret = __remove_section(zone, __pfn_to_section(pfn), map_offset,
-				altmap);
+		__remove_section(__pfn_to_section(pfn), map_offset, altmap);
 		map_offset = 0;
-		if (ret)
-			break;
 	}
-
-	set_zone_contiguous(zone);
-
-	return ret;
 }
-#endif /* CONFIG_MEMORY_HOTREMOVE */
 
 int set_online_page_callback(online_page_callback_t callback)
 {
@@ -976,6 +939,7 @@
 		 (unsigned long long) pfn << PAGE_SHIFT,
 		 (((unsigned long long) pfn + nr_pages) << PAGE_SHIFT) - 1);
 	memory_notify(MEM_CANCEL_ONLINE, &arg);
+	remove_pfn_range_from_zone(zone, pfn, nr_pages);
 	mem_hotplug_done();
 	return ret;
 }
@@ -1192,6 +1156,13 @@
 	if (ret < 0)
 		goto error;
 
+	/* create memory block devices after memory was added */
+	ret = create_memory_block_devices(start, size);
+	if (ret) {
+		arch_remove_memory(nid, start, size, NULL);
+		goto error;
+	}
+
 	if (new_node) {
 		/* If sysfs file of new node can't be created, cpu on the node
 		 * can't be hot-added. There is no rollback way now.
@@ -1784,6 +1755,7 @@
 	writeback_set_ratelimit();
 
 	memory_notify(MEM_OFFLINE, &arg);
+	remove_pfn_range_from_zone(zone, start_pfn, nr_pages);
 	mem_hotplug_done();
 	return 0;
 
@@ -1914,6 +1886,18 @@
 	return 0;
 }
 
+static int check_no_memblock_for_node_cb(struct memory_block *mem, void *arg)
+{
+	int nid = *(int *)arg;
+
+	/*
+	 * If a memory block belongs to multiple nodes, the stored nid is not
+	 * reliable. However, such blocks are always online (e.g., cannot get
+	 * offlined) and, therefore, are still spanned by the node.
+	 */
+	return mem->nid == nid ? -EEXIST : 0;
+}
+
 /**
  * try_offline_node
  * @nid: the node ID
@@ -1926,25 +1910,24 @@
 void try_offline_node(int nid)
 {
 	pg_data_t *pgdat = NODE_DATA(nid);
-	unsigned long start_pfn = pgdat->node_start_pfn;
-	unsigned long end_pfn = start_pfn + pgdat->node_spanned_pages;
-	unsigned long pfn;
+	int rc;
 
-	for (pfn = start_pfn; pfn < end_pfn; pfn += PAGES_PER_SECTION) {
-		unsigned long section_nr = pfn_to_section_nr(pfn);
-
-		if (!present_section_nr(section_nr))
-			continue;
-
-		if (pfn_to_nid(pfn) != nid)
-			continue;
-
-		/*
-		 * some memory sections of this node are not removed, and we
-		 * can't offline node now.
-		 */
+	/*
+	 * If the node still spans pages (especially ZONE_DEVICE), don't
+	 * offline it. A node spans memory after move_pfn_range_to_zone(),
+	 * e.g., after the memory block was onlined.
+	 */
+	if (pgdat->node_spanned_pages)
 		return;
-	}
+
+	/*
+	 * Especially offline memory blocks might not be spanned by the
+	 * node. They will get spanned by the node once they get onlined.
+	 * However, they link to the node in sysfs and can get onlined later.
+	 */
+	rc = for_each_memory_block(&nid, check_no_memblock_for_node_cb);
+	if (rc)
+		return;
 
 	if (check_and_unmap_cpu_on_node(pgdat))
 		return;
@@ -1958,6 +1941,26 @@
 }
 EXPORT_SYMBOL(try_offline_node);
 
+static void __release_memory_resource(resource_size_t start,
+				      resource_size_t size)
+{
+	int ret;
+
+	/*
+	 * When removing memory in the same granularity as it was added,
+	 * this function never fails. It might only fail if resources
+	 * have to be adjusted or split. We'll ignore the error, as
+	 * removing of memory cannot fail.
+	 */
+	ret = release_mem_region_adjustable(&iomem_resource, start, size);
+	if (ret) {
+		resource_size_t endres = start + size - 1;
+
+		pr_warn("Unable to release resource <%pa-%pa> (%d)\n",
+			&start, &endres, ret);
+	}
+}
+
 /**
  * remove_memory
  * @nid: the node ID
@@ -1968,14 +1971,12 @@
  * and online/offline operations before this call, as required by
  * try_offline_node().
  */
-void __ref remove_memory(int nid, u64 start, u64 size)
+void __ref __remove_memory(int nid, u64 start, u64 size)
 {
 	int ret;
 
 	BUG_ON(check_hotplug_memory_range(start, size));
 
-	mem_hotplug_begin();
-
 	/*
 	 * All memory blocks must be offlined before removing memory.  Check
 	 * whether all memory blocks in question are offline and trigger a BUG()
@@ -1991,11 +1992,27 @@
 	memblock_free(start, size);
 	memblock_remove(start, size);
 
-	arch_remove_memory(start, size, NULL);
+	/*
+	 * Memory block device removal under the device_hotplug_lock is
+	 * a barrier against racing online attempts.
+	 */
+	remove_memory_block_devices(start, size);
+
+	mem_hotplug_begin();
+
+	arch_remove_memory(nid, start, size, NULL);
+	__release_memory_resource(start, size);
 
 	try_offline_node(nid);
 
 	mem_hotplug_done();
 }
+
+void remove_memory(int nid, u64 start, u64 size)
+{
+	lock_device_hotplug();
+	__remove_memory(nid, start, size);
+	unlock_device_hotplug();
+}
 EXPORT_SYMBOL_GPL(remove_memory);
 #endif /* CONFIG_MEMORY_HOTREMOVE */
diff --git a/mm/mempolicy.c b/mm/mempolicy.c
index 4fe31d8..6af7615 100644
--- a/mm/mempolicy.c
+++ b/mm/mempolicy.c
@@ -2829,6 +2829,9 @@
 	char *flags = strchr(str, '=');
 	int err = 1;
 
+	if (flags)
+		*flags++ = '\0';	/* terminate mode string */
+
 	if (nodelist) {
 		/* NUL-terminate mode or flags string */
 		*nodelist++ = '\0';
@@ -2839,9 +2842,6 @@
 	} else
 		nodes_clear(nodes);
 
-	if (flags)
-		*flags++ = '\0';	/* terminate mode string */
-
 	for (mode = 0; mode < MPOL_MAX; mode++) {
 		if (!strcmp(str, policy_modes[mode])) {
 			break;
diff --git a/mm/migrate.c b/mm/migrate.c
index 7c148b7..6f9e92d 100644
--- a/mm/migrate.c
+++ b/mm/migrate.c
@@ -1623,8 +1623,19 @@
 			start = i;
 		} else if (node != current_node) {
 			err = do_move_pages_to_node(mm, &pagelist, current_node);
-			if (err)
+			if (err) {
+				/*
+				 * Positive err means the number of failed
+				 * pages to migrate.  Since we are going to
+				 * abort and return the number of non-migrated
+				 * pages, so need to incude the rest of the
+				 * nr_pages that have not been attempted as
+				 * well.
+				 */
+				if (err > 0)
+					err += nr_pages - i - 1;
 				goto out;
+			}
 			err = store_status(status, start, current_node, i - start);
 			if (err)
 				goto out;
@@ -1655,8 +1666,11 @@
 			goto out_flush;
 
 		err = do_move_pages_to_node(mm, &pagelist, current_node);
-		if (err)
+		if (err) {
+			if (err > 0)
+				err += nr_pages - i - 1;
 			goto out;
+		}
 		if (i > start) {
 			err = store_status(status, start, current_node, i - start);
 			if (err)
@@ -1670,9 +1684,16 @@
 
 	/* Make sure we do not overwrite the existing error */
 	err1 = do_move_pages_to_node(mm, &pagelist, current_node);
+	/*
+	 * Don't have to report non-attempted pages here since:
+	 *     - If the above loop is done gracefully all pages have been
+	 *       attempted.
+	 *     - If the above loop is aborted it means a fatal error
+	 *       happened, should return ret.
+	 */
 	if (!err1)
 		err1 = store_status(status, start, current_node, i - start);
-	if (!err)
+	if (err >= 0)
 		err = err1;
 out:
 	return err;
diff --git a/mm/mmap.c b/mm/mmap.c
index c111771..85f87e8 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -211,8 +211,6 @@
 	bool populate;
 	LIST_HEAD(uf);
 
-	brk = untagged_addr(brk);
-
 	if (down_write_killable(&mm->mmap_sem))
 		return -EINTR;
 
@@ -1633,8 +1631,6 @@
 	struct file *file = NULL;
 	unsigned long retval;
 
-	addr = untagged_addr(addr);
-
 	if (!(flags & MAP_ANONYMOUS)) {
 		audit_mmap_fd(fd, flags);
 		file = fget(fd);
diff --git a/mm/mprotect.c b/mm/mprotect.c
index d65edeb..836a758 100644
--- a/mm/mprotect.c
+++ b/mm/mprotect.c
@@ -162,6 +162,31 @@
 	return pages;
 }
 
+/*
+ * Used when setting automatic NUMA hinting protection where it is
+ * critical that a numa hinting PMD is not confused with a bad PMD.
+ */
+static inline int pmd_none_or_clear_bad_unless_trans_huge(pmd_t *pmd)
+{
+	pmd_t pmdval = pmd_read_atomic(pmd);
+
+	/* See pmd_none_or_trans_huge_or_clear_bad for info on barrier */
+#ifdef CONFIG_TRANSPARENT_HUGEPAGE
+	barrier();
+#endif
+
+	if (pmd_none(pmdval))
+		return 1;
+	if (pmd_trans_huge(pmdval))
+		return 0;
+	if (unlikely(pmd_bad(pmdval))) {
+		pmd_clear_bad(pmd);
+		return 1;
+	}
+
+	return 0;
+}
+
 static inline unsigned long change_pmd_range(struct vm_area_struct *vma,
 		pud_t *pud, unsigned long addr, unsigned long end,
 		pgprot_t newprot, int dirty_accountable, int prot_numa)
@@ -178,8 +203,17 @@
 		unsigned long this_pages;
 
 		next = pmd_addr_end(addr, end);
-		if (!is_swap_pmd(*pmd) && !pmd_trans_huge(*pmd) && !pmd_devmap(*pmd)
-				&& pmd_none_or_clear_bad(pmd))
+
+		/*
+		 * Automatic NUMA balancing walks the tables with mmap_sem
+		 * held for read. It's possible a parallel update to occur
+		 * between pmd_trans_huge() and a pmd_none_or_clear_bad()
+		 * check leading to a false positive and clearing.
+		 * Hence, it's necessary to atomically read the PMD value
+		 * for all the checks.
+		 */
+		if (!is_swap_pmd(*pmd) && !pmd_devmap(*pmd) &&
+		     pmd_none_or_clear_bad_unless_trans_huge(pmd))
 			goto next;
 
 		/* invoke the mmu notifier if the pmd is populated */
diff --git a/mm/mremap.c b/mm/mremap.c
index 65ddb8c..d29b0c3 100644
--- a/mm/mremap.c
+++ b/mm/mremap.c
@@ -539,7 +539,6 @@
 	LIST_HEAD(uf_unmap);
 
 	addr = untagged_addr(addr);
-	new_addr = untagged_addr(new_addr);
 
 	if (flags & ~(MREMAP_FIXED | MREMAP_MAYMOVE))
 		return ret;
diff --git a/mm/page-writeback.c b/mm/page-writeback.c
index 43df0c5..078f146 100644
--- a/mm/page-writeback.c
+++ b/mm/page-writeback.c
@@ -200,11 +200,11 @@
 	if (this_bw < tot_bw) {
 		if (min) {
 			min *= this_bw;
-			do_div(min, tot_bw);
+			min = div64_ul(min, tot_bw);
 		}
 		if (max < 100) {
 			max *= this_bw;
-			do_div(max, tot_bw);
+			max = div64_ul(max, tot_bw);
 		}
 	}
 
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 7de87d2..c9665e0 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -2691,7 +2691,7 @@
 	page = __rmqueue_smallest(zone, order, migratetype);
 
 	if (unlikely(!page) && __rmqueue_fallback(zone, order, migratetype,
-								alloc_flags))
+						  alloc_flags))
 		goto retry;
 
 	trace_mm_page_alloc_zone_locked(page, order, migratetype);
@@ -6912,45 +6912,75 @@
 }
 
 #if defined(CONFIG_HAVE_MEMBLOCK) && !defined(CONFIG_FLAT_NODE_MEM_MAP)
+
+/*
+ * Zero all valid struct pages in range [spfn, epfn), return number of struct
+ * pages zeroed
+ */
+static u64 zero_pfn_range(unsigned long spfn, unsigned long epfn)
+{
+	unsigned long pfn;
+	u64 pgcnt = 0;
+
+	for (pfn = spfn; pfn < epfn; pfn++) {
+		if (!pfn_valid(ALIGN_DOWN(pfn, pageblock_nr_pages))) {
+			pfn = ALIGN_DOWN(pfn, pageblock_nr_pages)
+				+ pageblock_nr_pages - 1;
+			continue;
+		}
+		mm_zero_struct_page(pfn_to_page(pfn));
+		pgcnt++;
+	}
+
+	return pgcnt;
+}
+
 /*
  * Only struct pages that are backed by physical memory are zeroed and
  * initialized by going through __init_single_page(). But, there are some
  * struct pages which are reserved in memblock allocator and their fields
  * may be accessed (for example page_to_pfn() on some configuration accesses
  * flags). We must explicitly zero those struct pages.
+ *
+ * This function also addresses a similar issue where struct pages are left
+ * uninitialized because the physical address range is not covered by
+ * memblock.memory or memblock.reserved. That could happen when memblock
+ * layout is manually configured via memmap=, or when the highest physical
+ * address (max_pfn) does not end on a section boundary.
  */
 void __init zero_resv_unavail(void)
 {
 	phys_addr_t start, end;
-	unsigned long pfn;
 	u64 i, pgcnt;
+	phys_addr_t next = 0;
 
 	/*
-	 * Loop through ranges that are reserved, but do not have reported
-	 * physical memory backing.
+	 * Loop through unavailable ranges not covered by memblock.memory.
 	 */
 	pgcnt = 0;
-	for_each_resv_unavail_range(i, &start, &end) {
-		for (pfn = PFN_DOWN(start); pfn < PFN_UP(end); pfn++) {
-			if (!pfn_valid(ALIGN_DOWN(pfn, pageblock_nr_pages))) {
-				pfn = ALIGN_DOWN(pfn, pageblock_nr_pages)
-					+ pageblock_nr_pages - 1;
-				continue;
-			}
-			mm_zero_struct_page(pfn_to_page(pfn));
-			pgcnt++;
-		}
+	for_each_mem_range(i, &memblock.memory, NULL,
+			NUMA_NO_NODE, MEMBLOCK_NONE, &start, &end, NULL) {
+		if (next < start)
+			pgcnt += zero_pfn_range(PFN_DOWN(next), PFN_UP(start));
+		next = end;
 	}
 
 	/*
+	 * Early sections always have a fully populated memmap for the whole
+	 * section - see pfn_valid(). If the last section has holes at the
+	 * end and that section is marked "online", the memmap will be
+	 * considered initialized. Make sure that memmap has a well defined
+	 * state.
+	 */
+	pgcnt += zero_pfn_range(PFN_DOWN(next),
+				round_up(max_pfn, PAGES_PER_SECTION));
+
+	/*
 	 * Struct pages that do not have backing memory. This could be because
 	 * firmware is using some of this memory, or for some other reasons.
-	 * Once memblock is changed so such behaviour is not allowed: i.e.
-	 * list of "reserved" memory must be a subset of list of "memory", then
-	 * this code can be removed.
 	 */
 	if (pgcnt)
-		pr_info("Reserved but unavailable: %lld pages", pgcnt);
+		pr_info("Zeroed struct page in unavailable ranges: %lld pages", pgcnt);
 }
 #endif /* CONFIG_HAVE_MEMBLOCK && !CONFIG_FLAT_NODE_MEM_MAP */
 
@@ -8412,7 +8442,9 @@
 	if (ret)
 		return ret;
 
+#ifdef CONFIG_CMA
 	cc.zone->cma_alloc = 1;
+#endif
 	/*
 	 * In case of -EBUSY, we'd like to know which page causes problem.
 	 * So, just fall through. test_pages_isolated() has a tracepoint
@@ -8495,7 +8527,9 @@
 done:
 	undo_isolate_page_range(pfn_max_align_down(start),
 				pfn_max_align_up(end), migratetype);
+#ifdef CONFIG_CMA
 	cc.zone->cma_alloc = 0;
+#endif
 	return ret;
 }
 
diff --git a/mm/page_io.c b/mm/page_io.c
index e763047..abf04404 100644
--- a/mm/page_io.c
+++ b/mm/page_io.c
@@ -22,6 +22,7 @@
 #include <linux/writeback.h>
 #include <linux/frontswap.h>
 #include <linux/blkdev.h>
+#include <linux/psi.h>
 #include <linux/uio.h>
 #include <linux/sched/task.h>
 #include <asm/pgtable.h>
@@ -357,10 +358,19 @@
 	struct swap_info_struct *sis = page_swap_info(page);
 	blk_qc_t qc;
 	struct gendisk *disk;
+	unsigned long pflags;
 
 	VM_BUG_ON_PAGE(!PageSwapCache(page) && !synchronous, page);
 	VM_BUG_ON_PAGE(!PageLocked(page), page);
 	VM_BUG_ON_PAGE(PageUptodate(page), page);
+
+	/*
+	 * Count submission time as memory stall. When the device is congested,
+	 * or the submitting cgroup IO-throttled, submission can be a
+	 * significant part of overall IO time.
+	 */
+	psi_memstall_enter(&pflags);
+
 	if (frontswap_load(page) == 0) {
 		SetPageUptodate(page);
 		unlock_page(page);
@@ -374,7 +384,7 @@
 		ret = mapping->a_ops->readpage(swap_file, page);
 		if (!ret)
 			count_vm_event(PSWPIN);
-		return ret;
+		goto out;
 	}
 
 	ret = bdev_read_page(sis->bdev, swap_page_sector(page), page);
@@ -385,7 +395,7 @@
 		}
 
 		count_vm_event(PSWPIN);
-		return 0;
+		goto out;
 	}
 
 	ret = 0;
@@ -418,6 +428,7 @@
 	bio_put(bio);
 
 out:
+	psi_memstall_leave(&pflags);
 	return ret;
 }
 
diff --git a/mm/shmem.c b/mm/shmem.c
index 98c2bf6..44ae079 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -2072,9 +2072,10 @@
 	/*
 	 * Our priority is to support MAP_SHARED mapped hugely;
 	 * and support MAP_PRIVATE mapped hugely too, until it is COWed.
-	 * But if caller specified an address hint, respect that as before.
+	 * But if caller specified an address hint and we allocated area there
+	 * successfully, respect that as before.
 	 */
-	if (uaddr)
+	if (uaddr == addr)
 		return addr;
 
 	if (shmem_huge != SHMEM_HUGE_FORCE) {
@@ -2108,7 +2109,7 @@
 	if (inflated_len < len)
 		return addr;
 
-	inflated_addr = get_area(NULL, 0, inflated_len, 0, flags);
+	inflated_addr = get_area(NULL, uaddr, inflated_len, 0, flags);
 	if (IS_ERR_VALUE(inflated_addr))
 		return addr;
 	if (inflated_addr & ~PAGE_MASK)
diff --git a/mm/slab_common.c b/mm/slab_common.c
index c6dbda5..e9d8b8e 100644
--- a/mm/slab_common.c
+++ b/mm/slab_common.c
@@ -850,7 +850,8 @@
 	 * deactivates the memcg kmem_caches through workqueue. Make sure all
 	 * previous workitems on workqueue are processed.
 	 */
-	flush_workqueue(memcg_kmem_cache_wq);
+	if (likely(memcg_kmem_cache_wq))
+		flush_workqueue(memcg_kmem_cache_wq);
 }
 #else
 static inline int shutdown_memcg_caches(struct kmem_cache *s)
diff --git a/mm/slub.c b/mm/slub.c
index 3285989..512b5ec 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -2677,6 +2677,17 @@
 }
 
 /*
+ * If the object has been wiped upon free, make sure it's fully initialized by
+ * zeroing out freelist pointer.
+ */
+static __always_inline void maybe_wipe_obj_freeptr(struct kmem_cache *s,
+						   void *obj)
+{
+	if (unlikely(slab_want_init_on_free(s)) && obj)
+		memset((void *)((char *)obj + s->offset), 0, sizeof(void *));
+}
+
+/*
  * Inlined fastpath so that allocation functions (kmalloc, kmem_cache_alloc)
  * have the fastpath folded into their functions. So no function call
  * overhead for requests that can be satisfied on the fastpath.
@@ -2764,12 +2775,8 @@
 		prefetch_freepointer(s, next_object);
 		stat(s, ALLOC_FASTPATH);
 	}
-	/*
-	 * If the object has been wiped upon free, make sure it's fully
-	 * initialized by zeroing out freelist pointer.
-	 */
-	if (unlikely(slab_want_init_on_free(s)) && object)
-		memset(object + s->offset, 0, sizeof(void *));
+
+	maybe_wipe_obj_freeptr(s, object);
 
 	if (unlikely(slab_want_init_on_alloc(gfpflags, s)) && object)
 		memset(object, 0, s->object_size);
@@ -3184,10 +3191,13 @@
 				goto error;
 
 			c = this_cpu_ptr(s->cpu_slab);
+			maybe_wipe_obj_freeptr(s, p[i]);
+
 			continue; /* goto for-loop */
 		}
 		c->freelist = get_freepointer(s, object);
 		p[i] = object;
+		maybe_wipe_obj_freeptr(s, p[i]);
 	}
 	c->tid = next_tid(c->tid);
 	local_irq_enable();
diff --git a/mm/sparse.c b/mm/sparse.c
index 45950a0..3b24ba9 100644
--- a/mm/sparse.c
+++ b/mm/sparse.c
@@ -576,7 +576,6 @@
 
 	vmemmap_free(start, end, altmap);
 }
-#ifdef CONFIG_MEMORY_HOTREMOVE
 static void free_map_bootmem(struct page *memmap)
 {
 	unsigned long start = (unsigned long)memmap;
@@ -584,7 +583,6 @@
 
 	vmemmap_free(start, end, NULL);
 }
-#endif /* CONFIG_MEMORY_HOTREMOVE */
 #else
 static struct page *__kmalloc_section_memmap(void)
 {
@@ -623,7 +621,6 @@
 			   get_order(sizeof(struct page) * PAGES_PER_SECTION));
 }
 
-#ifdef CONFIG_MEMORY_HOTREMOVE
 static void free_map_bootmem(struct page *memmap)
 {
 	unsigned long maps_section_nr, removing_section_nr, i;
@@ -653,7 +650,6 @@
 			put_page_bootmem(page);
 	}
 }
-#endif /* CONFIG_MEMORY_HOTREMOVE */
 #endif /* CONFIG_SPARSEMEM_VMEMMAP */
 
 /*
@@ -661,25 +657,24 @@
  * set.  If this is <=0, then that means that the passed-in
  * map was not consumed and must be freed.
  */
-int __meminit sparse_add_one_section(struct pglist_data *pgdat,
-		unsigned long start_pfn, struct vmem_altmap *altmap)
+int __meminit sparse_add_one_section(int nid, unsigned long start_pfn,
+				     struct vmem_altmap *altmap)
 {
 	unsigned long section_nr = pfn_to_section_nr(start_pfn);
 	struct mem_section *ms;
 	struct page *memmap;
 	unsigned long *usemap;
-	unsigned long flags;
 	int ret;
 
 	/*
 	 * no locking for this, because it does its own
 	 * plus, it does a kmalloc
 	 */
-	ret = sparse_index_init(section_nr, pgdat->node_id);
+	ret = sparse_index_init(section_nr, nid);
 	if (ret < 0 && ret != -EEXIST)
 		return ret;
 	ret = 0;
-	memmap = kmalloc_section_memmap(section_nr, pgdat->node_id, altmap);
+	memmap = kmalloc_section_memmap(section_nr, nid, altmap);
 	if (!memmap)
 		return -ENOMEM;
 	usemap = __kmalloc_section_usemap();
@@ -688,8 +683,6 @@
 		return -ENOMEM;
 	}
 
-	pgdat_resize_lock(pgdat, &flags);
-
 	ms = __pfn_to_section(start_pfn);
 	if (ms->section_mem_map & SECTION_MARKED_PRESENT) {
 		ret = -EEXIST;
@@ -708,7 +701,6 @@
 	sparse_init_one_section(ms, section_nr, memmap, usemap);
 
 out:
-	pgdat_resize_unlock(pgdat, &flags);
 	if (ret < 0) {
 		kfree(usemap);
 		__kfree_section_memmap(memmap, altmap);
@@ -716,7 +708,6 @@
 	return ret;
 }
 
-#ifdef CONFIG_MEMORY_HOTREMOVE
 #ifdef CONFIG_MEMORY_FAILURE
 static void clear_hwpoisoned_pages(struct page *memmap, int nr_pages)
 {
@@ -766,14 +757,12 @@
 		free_map_bootmem(memmap);
 }
 
-void sparse_remove_one_section(struct zone *zone, struct mem_section *ms,
-		unsigned long map_offset, struct vmem_altmap *altmap)
+void sparse_remove_one_section(struct mem_section *ms, unsigned long map_offset,
+			       struct vmem_altmap *altmap)
 {
 	struct page *memmap = NULL;
-	unsigned long *usemap = NULL, flags;
-	struct pglist_data *pgdat = zone->zone_pgdat;
+	unsigned long *usemap = NULL;
 
-	pgdat_resize_lock(pgdat, &flags);
 	if (ms->section_mem_map) {
 		usemap = ms->pageblock_flags;
 		memmap = sparse_decode_mem_map(ms->section_mem_map,
@@ -781,11 +770,9 @@
 		ms->section_mem_map = 0;
 		ms->pageblock_flags = NULL;
 	}
-	pgdat_resize_unlock(pgdat, &flags);
 
 	clear_hwpoisoned_pages(memmap + map_offset,
 			PAGES_PER_SECTION - map_offset);
 	free_section_usemap(memmap, usemap, altmap);
 }
-#endif /* CONFIG_MEMORY_HOTREMOVE */
 #endif /* CONFIG_MEMORY_HOTPLUG */
diff --git a/mm/swapfile.c b/mm/swapfile.c
index 03ea500..c69b4fa 100644
--- a/mm/swapfile.c
+++ b/mm/swapfile.c
@@ -2397,6 +2397,7 @@
 	list_add_tail(&new_se->list, &sis->first_swap_extent.list);
 	return 1;
 }
+EXPORT_SYMBOL_GPL(add_swap_extent);
 
 /*
  * A `swap extent' is a simple thing which maps a contiguous range of pages
diff --git a/mm/vmscan.c b/mm/vmscan.c
index 98d6a33..cf077f0 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -87,6 +87,9 @@
 	/* Can pages be swapped as part of reclaim? */
 	unsigned int may_swap:1;
 
+	/* e.g. boosted watermark reclaim leaves slabs alone */
+	unsigned int may_shrinkslab:1;
+
 	/*
 	 * Cgroups are not reclaimed below their configured memory.low,
 	 * unless we threaten to OOM. If any cgroups are skipped due to
@@ -2517,10 +2520,13 @@
 			/*
 			 * Scan types proportional to swappiness and
 			 * their relative recent reclaim efficiency.
-			 * Make sure we don't miss the last page
-			 * because of a round-off error.
+			 * Make sure we don't miss the last page on
+			 * the offlined memory cgroups because of a
+			 * round-off error.
 			 */
-			scan = DIV64_U64_ROUND_UP(scan * fraction[file],
+			scan = mem_cgroup_online(memcg) ?
+			       div64_u64(scan * fraction[file], denominator) :
+			       DIV64_U64_ROUND_UP(scan * fraction[file],
 						  denominator);
 			break;
 		case SCAN_FILE:
@@ -3291,6 +3297,7 @@
 		.may_writepage = !laptop_mode,
 		.may_unmap = 1,
 		.may_swap = 1,
+		.may_shrinkslab = 1,
 	};
 
 	/*
@@ -3335,6 +3342,7 @@
 		.may_unmap = 1,
 		.reclaim_idx = MAX_NR_ZONES - 1,
 		.may_swap = !noswap,
+		.may_shrinkslab = 1,
 	};
 	unsigned long lru_pages;
 
@@ -3381,6 +3389,7 @@
 		.may_writepage = !laptop_mode,
 		.may_unmap = 1,
 		.may_swap = may_swap,
+		.may_shrinkslab = 1,
 	};
 
 	/*
diff --git a/net/6lowpan/nhc.c b/net/6lowpan/nhc.c
index 4fa2fdd..9e56fb9 100644
--- a/net/6lowpan/nhc.c
+++ b/net/6lowpan/nhc.c
@@ -18,7 +18,7 @@
 #include "nhc.h"
 
 static struct rb_root rb_root = RB_ROOT;
-static struct lowpan_nhc *lowpan_nexthdr_nhcs[NEXTHDR_MAX];
+static struct lowpan_nhc *lowpan_nexthdr_nhcs[NEXTHDR_MAX + 1];
 static DEFINE_SPINLOCK(lowpan_nhc_lock);
 
 static int lowpan_nhc_insert(struct lowpan_nhc *nhc)
diff --git a/net/Kconfig b/net/Kconfig
index f1704f5..6870f6c 100644
--- a/net/Kconfig
+++ b/net/Kconfig
@@ -190,7 +190,6 @@
 	depends on NETFILTER && INET
 	depends on NETFILTER_ADVANCED
 	select NETFILTER_FAMILY_BRIDGE
-	default m
 	---help---
 	  Enabling this option will let arptables resp. iptables see bridged
 	  ARP resp. IP traffic. If you want a bridging firewall, you probably
diff --git a/net/batman-adv/distributed-arp-table.c b/net/batman-adv/distributed-arp-table.c
index 2895e3b..f2dc749 100644
--- a/net/batman-adv/distributed-arp-table.c
+++ b/net/batman-adv/distributed-arp-table.c
@@ -251,6 +251,7 @@
 	u32 hash = 0;
 	const struct batadv_dat_entry *dat = data;
 	const unsigned char *key;
+	__be16 vid;
 	u32 i;
 
 	key = (const unsigned char *)&dat->ip;
@@ -260,7 +261,8 @@
 		hash ^= (hash >> 6);
 	}
 
-	key = (const unsigned char *)&dat->vid;
+	vid = htons(dat->vid);
+	key = (__force const unsigned char *)&vid;
 	for (i = 0; i < sizeof(dat->vid); i++) {
 		hash += key[i];
 		hash += (hash << 10);
diff --git a/net/bluetooth/hci_sock.c b/net/bluetooth/hci_sock.c
index d4e2a16..e506c51 100644
--- a/net/bluetooth/hci_sock.c
+++ b/net/bluetooth/hci_sock.c
@@ -831,6 +831,8 @@
 	if (!sk)
 		return 0;
 
+	lock_sock(sk);
+
 	switch (hci_pi(sk)->channel) {
 	case HCI_CHANNEL_MONITOR:
 		atomic_dec(&monitor_promisc);
@@ -878,6 +880,7 @@
 	skb_queue_purge(&sk->sk_receive_queue);
 	skb_queue_purge(&sk->sk_write_queue);
 
+	release_sock(sk);
 	sock_put(sk);
 	return 0;
 }
diff --git a/net/bpfilter/bpfilter_kern.c b/net/bpfilter/bpfilter_kern.c
index 94e88f5..450b257 100644
--- a/net/bpfilter/bpfilter_kern.c
+++ b/net/bpfilter/bpfilter_kern.c
@@ -25,7 +25,7 @@
 		return;
 	tsk = get_pid_task(find_vpid(info->pid), PIDTYPE_PID);
 	if (tsk) {
-		force_sig(SIGKILL, tsk);
+		send_sig(SIGKILL, tsk, 1);
 		put_task_struct(tsk);
 	}
 	fput(info->pipe_to_umh);
diff --git a/net/bridge/Kconfig b/net/bridge/Kconfig
index aa0d3b2..fbfc996 100644
--- a/net/bridge/Kconfig
+++ b/net/bridge/Kconfig
@@ -37,7 +37,6 @@
 	bool "IGMP/MLD snooping"
 	depends on BRIDGE
 	depends on INET
-	default y
 	---help---
 	  If you say Y here, then the Ethernet bridge will be able selectively
 	  forward multicast traffic based on IGMP/MLD traffic received from
diff --git a/net/bridge/br_arp_nd_proxy.c b/net/bridge/br_arp_nd_proxy.c
index 2cf7716..d42e390 100644
--- a/net/bridge/br_arp_nd_proxy.c
+++ b/net/bridge/br_arp_nd_proxy.c
@@ -311,7 +311,7 @@
 	/* Neighbor Advertisement */
 	memset(na, 0, sizeof(*na) + na_olen);
 	na->icmph.icmp6_type = NDISC_NEIGHBOUR_ADVERTISEMENT;
-	na->icmph.icmp6_router = 0; /* XXX: should be 1 ? */
+	na->icmph.icmp6_router = (n->flags & NTF_ROUTER) ? 1 : 0;
 	na->icmph.icmp6_override = 1;
 	na->icmph.icmp6_solicited = 1;
 	na->target = ns->target;
diff --git a/net/bridge/netfilter/ebtables.c b/net/bridge/netfilter/ebtables.c
index 785e19af..f59230e 100644
--- a/net/bridge/netfilter/ebtables.c
+++ b/net/bridge/netfilter/ebtables.c
@@ -2165,7 +2165,9 @@
 	if (ret < 0)
 		return ret;
 
-	WARN_ON(size_remaining);
+	if (size_remaining)
+		return -EINVAL;
+
 	return state->buf_kern_offset;
 }
 
diff --git a/net/core/dev.c b/net/core/dev.c
index 100784c..4d57311 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -4312,14 +4312,14 @@
 	/* Reinjected packets coming from act_mirred or similar should
 	 * not get XDP generic processing.
 	 */
-	if (skb_cloned(skb) || skb_is_tc_redirected(skb))
+	if (skb_is_tc_redirected(skb))
 		return XDP_PASS;
 
 	/* XDP packets must be linear and must have sufficient headroom
 	 * of XDP_PACKET_HEADROOM bytes. This is the guarantee that also
 	 * native XDP provides, thus we need to do it here as well.
 	 */
-	if (skb_is_nonlinear(skb) ||
+	if (skb_cloned(skb) || skb_is_nonlinear(skb) ||
 	    skb_headroom(skb) < XDP_PACKET_HEADROOM) {
 		int hroom = XDP_PACKET_HEADROOM - skb_headroom(skb);
 		int troom = skb->tail + skb->data_len - skb->end;
@@ -4355,12 +4355,17 @@
 
 	act = bpf_prog_run_xdp(xdp_prog, xdp);
 
+	/* check if bpf_xdp_adjust_head was used */
 	off = xdp->data - orig_data;
-	if (off > 0)
-		__skb_pull(skb, off);
-	else if (off < 0)
-		__skb_push(skb, -off);
-	skb->mac_header += off;
+	if (off) {
+		if (off > 0)
+			__skb_pull(skb, off);
+		else if (off < 0)
+			__skb_push(skb, -off);
+
+		skb->mac_header += off;
+		skb_reset_network_header(skb);
+	}
 
 	/* check if bpf_xdp_adjust_tail was used. it can only "shrink"
 	 * pckt.
@@ -4471,23 +4476,6 @@
 
 	trace_netif_rx(skb);
 
-	if (static_branch_unlikely(&generic_xdp_needed_key)) {
-		int ret;
-
-		preempt_disable();
-		rcu_read_lock();
-		ret = do_xdp_generic(rcu_dereference(skb->dev->xdp_prog), skb);
-		rcu_read_unlock();
-		preempt_enable();
-
-		/* Consider XDP consuming the packet a success from
-		 * the netdev point of view we do not want to count
-		 * this as an error.
-		 */
-		if (ret != XDP_PASS)
-			return NET_RX_SUCCESS;
-	}
-
 #ifdef CONFIG_RPS
 	if (static_key_false(&rps_needed)) {
 		struct rps_dev_flow voidflow, *rflow = &voidflow;
@@ -4821,6 +4809,18 @@
 
 	__this_cpu_inc(softnet_data.processed);
 
+	if (static_branch_unlikely(&generic_xdp_needed_key)) {
+		int ret2;
+
+		preempt_disable();
+		ret2 = do_xdp_generic(rcu_dereference(skb->dev->xdp_prog), skb);
+		preempt_enable();
+
+		if (ret2 != XDP_PASS)
+			return NET_RX_DROP;
+		skb_reset_mac_len(skb);
+	}
+
 	if (skb->protocol == cpu_to_be16(ETH_P_8021Q) ||
 	    skb->protocol == cpu_to_be16(ETH_P_8021AD)) {
 		skb = skb_vlan_untag(skb);
@@ -5139,19 +5139,6 @@
 	if (skb_defer_rx_timestamp(skb))
 		return NET_RX_SUCCESS;
 
-	if (static_branch_unlikely(&generic_xdp_needed_key)) {
-		int ret;
-
-		preempt_disable();
-		rcu_read_lock();
-		ret = do_xdp_generic(rcu_dereference(skb->dev->xdp_prog), skb);
-		rcu_read_unlock();
-		preempt_enable();
-
-		if (ret != XDP_PASS)
-			return NET_RX_DROP;
-	}
-
 	rcu_read_lock();
 #ifdef CONFIG_RPS
 	if (static_key_false(&rps_needed)) {
@@ -5172,7 +5159,6 @@
 
 static void netif_receive_skb_list_internal(struct list_head *head)
 {
-	struct bpf_prog *xdp_prog = NULL;
 	struct sk_buff *skb, *next;
 	struct list_head sublist;
 
@@ -5185,21 +5171,6 @@
 	}
 	list_splice_init(&sublist, head);
 
-	if (static_branch_unlikely(&generic_xdp_needed_key)) {
-		preempt_disable();
-		rcu_read_lock();
-		list_for_each_entry_safe(skb, next, head, list) {
-			xdp_prog = rcu_dereference(skb->dev->xdp_prog);
-			skb_list_del_init(skb);
-			if (do_xdp_generic(xdp_prog, skb) == XDP_PASS)
-				list_add_tail(&skb->list, &sublist);
-		}
-		rcu_read_unlock();
-		preempt_enable();
-		/* Put passed packets back on main list */
-		list_splice_init(&sublist, head);
-	}
-
 	rcu_read_lock();
 #ifdef CONFIG_RPS
 	if (static_key_false(&rps_needed)) {
@@ -7811,6 +7782,22 @@
 }
 EXPORT_SYMBOL(__dev_set_mtu);
 
+int dev_validate_mtu(struct net_device *dev, int new_mtu,
+		     struct netlink_ext_ack *extack)
+{
+	/* MTU must be positive, and in range */
+	if (new_mtu < 0 || new_mtu < dev->min_mtu) {
+		NL_SET_ERR_MSG(extack, "mtu less than device minimum");
+		return -EINVAL;
+	}
+
+	if (dev->max_mtu > 0 && new_mtu > dev->max_mtu) {
+		NL_SET_ERR_MSG(extack, "mtu greater than device maximum");
+		return -EINVAL;
+	}
+	return 0;
+}
+
 /**
  *	dev_set_mtu_ext - Change maximum transfer unit
  *	@dev: device
@@ -7827,16 +7814,9 @@
 	if (new_mtu == dev->mtu)
 		return 0;
 
-	/* MTU must be positive, and in range */
-	if (new_mtu < 0 || new_mtu < dev->min_mtu) {
-		NL_SET_ERR_MSG(extack, "mtu less than device minimum");
-		return -EINVAL;
-	}
-
-	if (dev->max_mtu > 0 && new_mtu > dev->max_mtu) {
-		NL_SET_ERR_MSG(extack, "mtu greater than device maximum");
-		return -EINVAL;
-	}
+	err = dev_validate_mtu(dev, new_mtu, extack);
+	if (err)
+		return err;
 
 	if (!netif_device_present(dev))
 		return -ENODEV;
@@ -8755,8 +8735,10 @@
 		goto err_uninit;
 
 	ret = netdev_register_kobject(dev);
-	if (ret)
+	if (ret) {
+		dev->reg_state = NETREG_UNREGISTERED;
 		goto err_uninit;
+	}
 	dev->reg_state = NETREG_REGISTERED;
 
 	__netdev_update_features(dev);
diff --git a/net/core/ethtool.c b/net/core/ethtool.c
index 09d828a..1011625 100644
--- a/net/core/ethtool.c
+++ b/net/core/ethtool.c
@@ -2413,9 +2413,10 @@
 	return ret;
 }
 
-static int ethtool_get_per_queue_coalesce(struct net_device *dev,
-					  void __user *useraddr,
-					  struct ethtool_per_queue_op *per_queue_opt)
+static noinline_for_stack int
+ethtool_get_per_queue_coalesce(struct net_device *dev,
+			       void __user *useraddr,
+			       struct ethtool_per_queue_op *per_queue_opt)
 {
 	u32 bit;
 	int ret;
@@ -2443,9 +2444,10 @@
 	return 0;
 }
 
-static int ethtool_set_per_queue_coalesce(struct net_device *dev,
-					  void __user *useraddr,
-					  struct ethtool_per_queue_op *per_queue_opt)
+static noinline_for_stack int
+ethtool_set_per_queue_coalesce(struct net_device *dev,
+			       void __user *useraddr,
+			       struct ethtool_per_queue_op *per_queue_opt)
 {
 	u32 bit;
 	int i, ret = 0;
@@ -2499,7 +2501,7 @@
 	return ret;
 }
 
-static int ethtool_set_per_queue(struct net_device *dev,
+static int noinline_for_stack ethtool_set_per_queue(struct net_device *dev,
 				 void __user *useraddr, u32 sub_cmd)
 {
 	struct ethtool_per_queue_op per_queue_opt;
diff --git a/net/core/fib_rules.c b/net/core/fib_rules.c
index 0ff3953..8916c5d 100644
--- a/net/core/fib_rules.c
+++ b/net/core/fib_rules.c
@@ -968,7 +968,7 @@
 
 	frh = nlmsg_data(nlh);
 	frh->family = ops->family;
-	frh->table = rule->table;
+	frh->table = rule->table < 256 ? rule->table : RT_TABLE_COMPAT;
 	if (nla_put_u32(skb, FRA_TABLE, rule->table))
 		goto nla_put_failure;
 	if (nla_put_u32(skb, FRA_SUPPRESS_PREFIXLEN, rule->suppress_prefixlen))
diff --git a/net/core/filter.c b/net/core/filter.c
index 91b9502..ad93b76 100644
--- a/net/core/filter.c
+++ b/net/core/filter.c
@@ -3207,7 +3207,7 @@
 		return err;
 	}
 	default:
-		break;
+		return -EBADRQC;
 	}
 	return 0;
 }
@@ -4367,7 +4367,7 @@
 		return -ENODEV;
 
 	idev = __in6_dev_get_safely(dev);
-	if (unlikely(!idev || !net->ipv6.devconf_all->forwarding))
+	if (unlikely(!idev || !idev->cnf.forwarding))
 		return BPF_FIB_LKUP_RET_FWD_DISABLED;
 
 	if (flags & BPF_FIB_LOOKUP_OUTPUT) {
@@ -4956,6 +4956,8 @@
 		return &bpf_skb_adjust_room_proto;
 	case BPF_FUNC_skb_change_tail:
 		return &bpf_skb_change_tail_proto;
+	case BPF_FUNC_skb_change_head:
+		return &bpf_skb_change_head_proto;
 	case BPF_FUNC_skb_get_tunnel_key:
 		return &bpf_skb_get_tunnel_key_proto;
 	case BPF_FUNC_skb_set_tunnel_key:
diff --git a/net/core/neighbour.c b/net/core/neighbour.c
index e6260c8..9a21bc3e 100644
--- a/net/core/neighbour.c
+++ b/net/core/neighbour.c
@@ -1885,8 +1885,8 @@
 		goto nla_put_failure;
 	{
 		unsigned long now = jiffies;
-		unsigned int flush_delta = now - tbl->last_flush;
-		unsigned int rand_delta = now - tbl->last_rand;
+		long flush_delta = now - tbl->last_flush;
+		long rand_delta = now - tbl->last_rand;
 		struct neigh_hash_table *nht;
 		struct ndt_config ndc = {
 			.ndtc_key_len		= tbl->key_len,
diff --git a/net/core/net-sysfs.c b/net/core/net-sysfs.c
index bf9a3b6..7614a4f 100644
--- a/net/core/net-sysfs.c
+++ b/net/core/net-sysfs.c
@@ -928,25 +928,30 @@
 	struct kobject *kobj = &queue->kobj;
 	int error = 0;
 
+	/* Kobject_put later will trigger rx_queue_release call which
+	 * decreases dev refcount: Take that reference here
+	 */
+	dev_hold(queue->dev);
+
 	kobj->kset = dev->queues_kset;
 	error = kobject_init_and_add(kobj, &rx_queue_ktype, NULL,
 				     "rx-%u", index);
 	if (error)
-		return error;
-
-	dev_hold(queue->dev);
+		goto err;
 
 	if (dev->sysfs_rx_queue_group) {
 		error = sysfs_create_group(kobj, dev->sysfs_rx_queue_group);
-		if (error) {
-			kobject_put(kobj);
-			return error;
-		}
+		if (error)
+			goto err;
 	}
 
 	kobject_uevent(kobj, KOBJ_ADD);
 
 	return error;
+
+err:
+	kobject_put(kobj);
+	return error;
 }
 #endif /* CONFIG_SYSFS */
 
@@ -1467,25 +1472,29 @@
 	struct kobject *kobj = &queue->kobj;
 	int error = 0;
 
+	/* Kobject_put later will trigger netdev_queue_release call
+	 * which decreases dev refcount: Take that reference here
+	 */
+	dev_hold(queue->dev);
+
 	kobj->kset = dev->queues_kset;
 	error = kobject_init_and_add(kobj, &netdev_queue_ktype, NULL,
 				     "tx-%u", index);
 	if (error)
-		return error;
-
-	dev_hold(queue->dev);
+		goto err;
 
 #ifdef CONFIG_BQL
 	error = sysfs_create_group(kobj, &dql_group);
-	if (error) {
-		kobject_put(kobj);
-		return error;
-	}
+	if (error)
+		goto err;
 #endif
 
 	kobject_uevent(kobj, KOBJ_ADD);
-
 	return 0;
+
+err:
+	kobject_put(kobj);
+	return error;
 }
 #endif /* CONFIG_SYSFS */
 
diff --git a/net/core/net-traces.c b/net/core/net-traces.c
index 419af6d..0925c7b 100644
--- a/net/core/net-traces.c
+++ b/net/core/net-traces.c
@@ -35,13 +35,11 @@
 #include <trace/events/tcp.h>
 #include <trace/events/fib.h>
 #include <trace/events/qdisc.h>
-#if IS_ENABLED(CONFIG_BRIDGE)
 #include <trace/events/bridge.h>
 EXPORT_TRACEPOINT_SYMBOL_GPL(br_fdb_add);
 EXPORT_TRACEPOINT_SYMBOL_GPL(br_fdb_external_learn_add);
 EXPORT_TRACEPOINT_SYMBOL_GPL(fdb_delete);
 EXPORT_TRACEPOINT_SYMBOL_GPL(br_fdb_update);
-#endif
 
 EXPORT_TRACEPOINT_SYMBOL_GPL(kfree_skb);
 
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
index dbb3c0c..f51973f 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -2875,8 +2875,17 @@
 	dev->rtnl_link_ops = ops;
 	dev->rtnl_link_state = RTNL_LINK_INITIALIZING;
 
-	if (tb[IFLA_MTU])
-		dev->mtu = nla_get_u32(tb[IFLA_MTU]);
+	if (tb[IFLA_MTU]) {
+		u32 mtu = nla_get_u32(tb[IFLA_MTU]);
+		int err;
+
+		err = dev_validate_mtu(dev, mtu, NULL);
+		if (err) {
+			free_netdev(dev);
+			return ERR_PTR(err);
+		}
+		dev->mtu = mtu;
+	}
 	if (tb[IFLA_ADDRESS]) {
 		memcpy(dev->dev_addr, nla_data(tb[IFLA_ADDRESS]),
 				nla_len(tb[IFLA_ADDRESS]));
diff --git a/net/core/sock.c b/net/core/sock.c
index 13ce20f..7744036 100644
--- a/net/core/sock.c
+++ b/net/core/sock.c
@@ -2179,8 +2179,8 @@
 	} else {
 		unsigned long *memory_pressure = sk->sk_prot->memory_pressure;
 
-		if (memory_pressure && *memory_pressure)
-			*memory_pressure = 0;
+		if (memory_pressure && READ_ONCE(*memory_pressure))
+			WRITE_ONCE(*memory_pressure, 0);
 	}
 }
 
diff --git a/net/core/utils.c b/net/core/utils.c
index 2a597ac..60045e9 100644
--- a/net/core/utils.c
+++ b/net/core/utils.c
@@ -442,6 +442,23 @@
 }
 EXPORT_SYMBOL(inet_proto_csum_replace4);
 
+/**
+ * inet_proto_csum_replace16 - update layer 4 header checksum field
+ * @sum: Layer 4 header checksum field
+ * @skb: sk_buff for the packet
+ * @from: old IPv6 address
+ * @to: new IPv6 address
+ * @pseudohdr: True if layer 4 header checksum includes pseudoheader
+ *
+ * Update layer 4 header as per the update in IPv6 src/dst address.
+ *
+ * There is no need to update skb->csum in this function, because update in two
+ * fields a.) IPv6 src/dst address and b.) L4 header checksum cancels each other
+ * for skb->csum calculation. Whereas inet_proto_csum_replace4 function needs to
+ * update skb->csum, because update in 3 fields a.) IPv4 src/dst address,
+ * b.) IPv4 Header checksum and c.) L4 header checksum results in same diff as
+ * L4 Header checksum for skb->csum calculation.
+ */
 void inet_proto_csum_replace16(__sum16 *sum, struct sk_buff *skb,
 			       const __be32 *from, const __be32 *to,
 			       bool pseudohdr)
@@ -453,9 +470,6 @@
 	if (skb->ip_summed != CHECKSUM_PARTIAL) {
 		*sum = csum_fold(csum_partial(diff, sizeof(diff),
 				 ~csum_unfold(*sum)));
-		if (skb->ip_summed == CHECKSUM_COMPLETE && pseudohdr)
-			skb->csum = ~csum_partial(diff, sizeof(diff),
-						  ~skb->csum);
 	} else if (pseudohdr)
 		*sum = ~csum_fold(csum_partial(diff, sizeof(diff),
 				  csum_unfold(*sum)));
diff --git a/net/dccp/feat.c b/net/dccp/feat.c
index f227f00..db87d9f 100644
--- a/net/dccp/feat.c
+++ b/net/dccp/feat.c
@@ -738,7 +738,12 @@
 	if (dccp_feat_clone_sp_val(&fval, sp_val, sp_len))
 		return -ENOMEM;
 
-	return dccp_feat_push_change(fn, feat, is_local, mandatory, &fval);
+	if (dccp_feat_push_change(fn, feat, is_local, mandatory, &fval)) {
+		kfree(fval.sp.vec);
+		return -ENOMEM;
+	}
+
+	return 0;
 }
 
 /**
diff --git a/net/dsa/port.c b/net/dsa/port.c
index ed05954..ea7efc8 100644
--- a/net/dsa/port.c
+++ b/net/dsa/port.c
@@ -69,7 +69,6 @@
 
 int dsa_port_enable(struct dsa_port *dp, struct phy_device *phy)
 {
-	u8 stp_state = dp->bridge_dev ? BR_STATE_BLOCKING : BR_STATE_FORWARDING;
 	struct dsa_switch *ds = dp->ds;
 	int port = dp->index;
 	int err;
@@ -80,7 +79,8 @@
 			return err;
 	}
 
-	dsa_port_set_state_now(dp, stp_state);
+	if (!dp->bridge_dev)
+		dsa_port_set_state_now(dp, BR_STATE_FORWARDING);
 
 	return 0;
 }
@@ -90,7 +90,8 @@
 	struct dsa_switch *ds = dp->ds;
 	int port = dp->index;
 
-	dsa_port_set_state_now(dp, BR_STATE_DISABLED);
+	if (!dp->bridge_dev)
+		dsa_port_set_state_now(dp, BR_STATE_DISABLED);
 
 	if (ds->ops->port_disable)
 		ds->ops->port_disable(ds, port, phy);
diff --git a/net/dsa/slave.c b/net/dsa/slave.c
index b39720d..8ee28b6 100644
--- a/net/dsa/slave.c
+++ b/net/dsa/slave.c
@@ -1219,9 +1219,9 @@
 		phy_flags = ds->ops->get_phy_flags(ds, dp->index);
 
 	ret = phylink_of_phy_connect(dp->pl, port_dn, phy_flags);
-	if (ret == -ENODEV) {
-		/* We could not connect to a designated PHY or SFP, so use the
-		 * switch internal MDIO bus instead
+	if (ret == -ENODEV && ds->slave_mii_bus) {
+		/* We could not connect to a designated PHY or SFP, so try to
+		 * use the switch internal MDIO bus instead
 		 */
 		ret = dsa_slave_phy_connect(slave_dev, dp->index);
 		if (ret) {
@@ -1233,7 +1233,7 @@
 		}
 	}
 
-	return 0;
+	return ret;
 }
 
 static struct lock_class_key dsa_slave_netdev_xmit_lock_key;
diff --git a/net/dsa/tag_qca.c b/net/dsa/tag_qca.c
index 613f4ee..9c0dd31 100644
--- a/net/dsa/tag_qca.c
+++ b/net/dsa/tag_qca.c
@@ -41,10 +41,7 @@
 	struct dsa_port *dp = dsa_slave_to_port(dev);
 	u16 *phdr, hdr;
 
-	dev->stats.tx_packets++;
-	dev->stats.tx_bytes += skb->len;
-
-	if (skb_cow_head(skb, 0) < 0)
+	if (skb_cow_head(skb, QCA_HDR_LEN) < 0)
 		return NULL;
 
 	skb_push(skb, QCA_HDR_LEN);
diff --git a/net/hsr/hsr_device.c b/net/hsr/hsr_device.c
index a97bf32..c27577a 100644
--- a/net/hsr/hsr_device.c
+++ b/net/hsr/hsr_device.c
@@ -281,6 +281,8 @@
 			    skb->dev->dev_addr, skb->len) <= 0)
 		goto out;
 	skb_reset_mac_header(skb);
+	skb_reset_network_header(skb);
+	skb_reset_transport_header(skb);
 
 	if (hsrVer > 0) {
 		hsr_tag = skb_put(skb, sizeof(struct hsr_tag));
diff --git a/net/hsr/hsr_slave.c b/net/hsr/hsr_slave.c
index 56080da..5fee6ec 100644
--- a/net/hsr/hsr_slave.c
+++ b/net/hsr/hsr_slave.c
@@ -32,6 +32,8 @@
 
 	rcu_read_lock(); /* hsr->node_db, hsr->ports */
 	port = hsr_port_get_rcu(skb->dev);
+	if (!port)
+		goto finish_pass;
 
 	if (hsr_addr_is_self(port->hsr, eth_hdr(skb)->h_source)) {
 		/* Directly kill frames sent by ourselves */
diff --git a/net/ieee802154/6lowpan/reassembly.c b/net/ieee802154/6lowpan/reassembly.c
index e7857a8..f307424 100644
--- a/net/ieee802154/6lowpan/reassembly.c
+++ b/net/ieee802154/6lowpan/reassembly.c
@@ -629,7 +629,7 @@
 
 void lowpan_net_frag_exit(void)
 {
-	inet_frags_fini(&lowpan_frags);
 	lowpan_frags_sysctl_unregister();
 	unregister_pernet_subsys(&lowpan_frags_ops);
+	inet_frags_fini(&lowpan_frags);
 }
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
index f6f6dfa..5e818f4 100644
--- a/net/ipv4/af_inet.c
+++ b/net/ipv4/af_inet.c
@@ -446,8 +446,8 @@
 		if (sock_flag(sk, SOCK_LINGER) &&
 		    !(current->flags & PF_EXITING))
 			timeout = sk->sk_lingertime;
-		sock->sk = NULL;
 		sk->sk_prot->close(sk, timeout);
+		sock->sk = NULL;
 	}
 	return 0;
 }
diff --git a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c
index 9ef63de..e10d04b 100644
--- a/net/ipv4/inet_connection_sock.c
+++ b/net/ipv4/inet_connection_sock.c
@@ -944,7 +944,7 @@
 		req->sk = child;
 		req->dl_next = NULL;
 		if (queue->rskq_accept_head == NULL)
-			queue->rskq_accept_head = req;
+			WRITE_ONCE(queue->rskq_accept_head, req);
 		else
 			queue->rskq_accept_tail->dl_next = req;
 		queue->rskq_accept_tail = req;
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c
index d6309181..fbf3012 100644
--- a/net/ipv4/ip_output.c
+++ b/net/ipv4/ip_output.c
@@ -940,7 +940,7 @@
 			unsigned int fraglen;
 			unsigned int fraggap;
 			unsigned int alloclen;
-			unsigned int pagedlen = 0;
+			unsigned int pagedlen;
 			struct sk_buff *skb_prev;
 alloc_new_skb:
 			skb_prev = skb;
@@ -957,6 +957,7 @@
 			if (datalen > mtu - fragheaderlen)
 				datalen = maxfraglen - fragheaderlen;
 			fraglen = datalen + fragheaderlen;
+			pagedlen = 0;
 
 			if ((flags & MSG_MORE) &&
 			    !(rt->dst.dev->features&NETIF_F_SG))
diff --git a/net/ipv4/ip_tunnel.c b/net/ipv4/ip_tunnel.c
index 420e891..14fd8a3 100644
--- a/net/ipv4/ip_tunnel.c
+++ b/net/ipv4/ip_tunnel.c
@@ -574,8 +574,9 @@
 		else if (skb->protocol == htons(ETH_P_IPV6))
 			tos = ipv6_get_dsfield((const struct ipv6hdr *)inner_iph);
 	}
-	ip_tunnel_init_flow(&fl4, proto, key->u.ipv4.dst, key->u.ipv4.src, 0,
-			    RT_TOS(tos), tunnel->parms.link, tunnel->fwmark);
+	ip_tunnel_init_flow(&fl4, proto, key->u.ipv4.dst, key->u.ipv4.src,
+			    tunnel_id_to_key32(key->tun_id), RT_TOS(tos),
+			    0, skb->mark);
 	if (tunnel->encap.type != TUNNEL_ENCAP_NONE)
 		goto tx_error;
 	rt = ip_route_output_key(tunnel->net, &fl4);
@@ -1202,10 +1203,8 @@
 	iph->version		= 4;
 	iph->ihl		= 5;
 
-	if (tunnel->collect_md) {
-		dev->features |= NETIF_F_NETNS_LOCAL;
+	if (tunnel->collect_md)
 		netif_keep_dst(dev);
-	}
 	return 0;
 }
 EXPORT_SYMBOL_GPL(ip_tunnel_init);
diff --git a/net/ipv4/ip_vti.c b/net/ipv4/ip_vti.c
index 960f4fa..f5e5fcd 100644
--- a/net/ipv4/ip_vti.c
+++ b/net/ipv4/ip_vti.c
@@ -208,8 +208,17 @@
 	int mtu;
 
 	if (!dst) {
-		dev->stats.tx_carrier_errors++;
-		goto tx_error_icmp;
+		struct rtable *rt;
+
+		fl->u.ip4.flowi4_oif = dev->ifindex;
+		fl->u.ip4.flowi4_flags |= FLOWI_FLAG_ANYSRC;
+		rt = __ip_route_output_key(dev_net(dev), &fl->u.ip4);
+		if (IS_ERR(rt)) {
+			dev->stats.tx_carrier_errors++;
+			goto tx_error_icmp;
+		}
+		dst = &rt->dst;
+		skb_dst_set(skb, dst);
 	}
 
 	dst_hold(dst);
diff --git a/net/ipv4/netfilter/arp_tables.c b/net/ipv4/netfilter/arp_tables.c
index 0199ee8..51d2f75 100644
--- a/net/ipv4/netfilter/arp_tables.c
+++ b/net/ipv4/netfilter/arp_tables.c
@@ -383,10 +383,11 @@
 	return 1;
 }
 
-static inline int check_target(struct arpt_entry *e, const char *name)
+static int check_target(struct arpt_entry *e, struct net *net, const char *name)
 {
 	struct xt_entry_target *t = arpt_get_target(e);
 	struct xt_tgchk_param par = {
+		.net       = net,
 		.table     = name,
 		.entryinfo = e,
 		.target    = t->u.kernel.target,
@@ -398,8 +399,9 @@
 	return xt_check_target(&par, t->u.target_size - sizeof(*t), 0, false);
 }
 
-static inline int
-find_check_entry(struct arpt_entry *e, const char *name, unsigned int size,
+static int
+find_check_entry(struct arpt_entry *e, struct net *net, const char *name,
+		 unsigned int size,
 		 struct xt_percpu_counter_alloc_state *alloc_state)
 {
 	struct xt_entry_target *t;
@@ -418,7 +420,7 @@
 	}
 	t->u.kernel.target = target;
 
-	ret = check_target(e, name);
+	ret = check_target(e, net, name);
 	if (ret)
 		goto err;
 	return 0;
@@ -493,12 +495,13 @@
 	return 0;
 }
 
-static inline void cleanup_entry(struct arpt_entry *e)
+static void cleanup_entry(struct arpt_entry *e, struct net *net)
 {
 	struct xt_tgdtor_param par;
 	struct xt_entry_target *t;
 
 	t = arpt_get_target(e);
+	par.net      = net;
 	par.target   = t->u.kernel.target;
 	par.targinfo = t->data;
 	par.family   = NFPROTO_ARP;
@@ -511,7 +514,9 @@
 /* Checks and translates the user-supplied table segment (held in
  * newinfo).
  */
-static int translate_table(struct xt_table_info *newinfo, void *entry0,
+static int translate_table(struct net *net,
+			   struct xt_table_info *newinfo,
+			   void *entry0,
 			   const struct arpt_replace *repl)
 {
 	struct xt_percpu_counter_alloc_state alloc_state = { 0 };
@@ -568,7 +573,7 @@
 	/* Finally, each sanity check must pass */
 	i = 0;
 	xt_entry_foreach(iter, entry0, newinfo->size) {
-		ret = find_check_entry(iter, repl->name, repl->size,
+		ret = find_check_entry(iter, net, repl->name, repl->size,
 				       &alloc_state);
 		if (ret != 0)
 			break;
@@ -579,7 +584,7 @@
 		xt_entry_foreach(iter, entry0, newinfo->size) {
 			if (i-- == 0)
 				break;
-			cleanup_entry(iter);
+			cleanup_entry(iter, net);
 		}
 		return ret;
 	}
@@ -920,7 +925,7 @@
 	/* Decrease module usage counts and free resource */
 	loc_cpu_old_entry = oldinfo->entries;
 	xt_entry_foreach(iter, loc_cpu_old_entry, oldinfo->size)
-		cleanup_entry(iter);
+		cleanup_entry(iter, net);
 
 	xt_free_table_info(oldinfo);
 	if (copy_to_user(counters_ptr, counters,
@@ -972,7 +977,7 @@
 		goto free_newinfo;
 	}
 
-	ret = translate_table(newinfo, loc_cpu_entry, &tmp);
+	ret = translate_table(net, newinfo, loc_cpu_entry, &tmp);
 	if (ret != 0)
 		goto free_newinfo;
 
@@ -984,7 +989,7 @@
 
  free_newinfo_untrans:
 	xt_entry_foreach(iter, loc_cpu_entry, newinfo->size)
-		cleanup_entry(iter);
+		cleanup_entry(iter, net);
  free_newinfo:
 	xt_free_table_info(newinfo);
 	return ret;
@@ -1147,7 +1152,8 @@
 	}
 }
 
-static int translate_compat_table(struct xt_table_info **pinfo,
+static int translate_compat_table(struct net *net,
+				  struct xt_table_info **pinfo,
 				  void **pentry0,
 				  const struct compat_arpt_replace *compatr)
 {
@@ -1215,7 +1221,7 @@
 	repl.num_counters = 0;
 	repl.counters = NULL;
 	repl.size = newinfo->size;
-	ret = translate_table(newinfo, entry1, &repl);
+	ret = translate_table(net, newinfo, entry1, &repl);
 	if (ret)
 		goto free_newinfo;
 
@@ -1268,7 +1274,7 @@
 		goto free_newinfo;
 	}
 
-	ret = translate_compat_table(&newinfo, &loc_cpu_entry, &tmp);
+	ret = translate_compat_table(net, &newinfo, &loc_cpu_entry, &tmp);
 	if (ret != 0)
 		goto free_newinfo;
 
@@ -1280,7 +1286,7 @@
 
  free_newinfo_untrans:
 	xt_entry_foreach(iter, loc_cpu_entry, newinfo->size)
-		cleanup_entry(iter);
+		cleanup_entry(iter, net);
  free_newinfo:
 	xt_free_table_info(newinfo);
 	return ret;
@@ -1507,7 +1513,7 @@
 	return ret;
 }
 
-static void __arpt_unregister_table(struct xt_table *table)
+static void __arpt_unregister_table(struct net *net, struct xt_table *table)
 {
 	struct xt_table_info *private;
 	void *loc_cpu_entry;
@@ -1519,7 +1525,7 @@
 	/* Decrease module usage counts and free resources */
 	loc_cpu_entry = private->entries;
 	xt_entry_foreach(iter, loc_cpu_entry, private->size)
-		cleanup_entry(iter);
+		cleanup_entry(iter, net);
 	if (private->number > private->initial_entries)
 		module_put(table_owner);
 	xt_free_table_info(private);
@@ -1544,7 +1550,7 @@
 	loc_cpu_entry = newinfo->entries;
 	memcpy(loc_cpu_entry, repl->entries, repl->size);
 
-	ret = translate_table(newinfo, loc_cpu_entry, repl);
+	ret = translate_table(net, newinfo, loc_cpu_entry, repl);
 	if (ret != 0)
 		goto out_free;
 
@@ -1559,7 +1565,7 @@
 
 	ret = nf_register_net_hooks(net, ops, hweight32(table->valid_hooks));
 	if (ret != 0) {
-		__arpt_unregister_table(new_table);
+		__arpt_unregister_table(net, new_table);
 		*res = NULL;
 	}
 
@@ -1574,7 +1580,7 @@
 			   const struct nf_hook_ops *ops)
 {
 	nf_unregister_net_hooks(net, ops, hweight32(table->valid_hooks));
-	__arpt_unregister_table(table);
+	__arpt_unregister_table(net, table);
 }
 
 /* The built-in targets: standard (NULL) and error. */
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index ddbfa79..5bc66da 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -330,7 +330,7 @@
 {
 	unsigned long val;
 
-	if (tcp_memory_pressure)
+	if (READ_ONCE(tcp_memory_pressure))
 		return;
 	val = jiffies;
 
@@ -345,7 +345,7 @@
 {
 	unsigned long val;
 
-	if (!tcp_memory_pressure)
+	if (!READ_ONCE(tcp_memory_pressure))
 		return;
 	val = xchg(&tcp_memory_pressure, 0);
 	if (val)
@@ -1082,8 +1082,7 @@
 		goto out;
 out_err:
 	/* make sure we wake any epoll edge trigger waiter */
-	if (unlikely(skb_queue_len(&sk->sk_write_queue) == 0 &&
-		     err == -EAGAIN)) {
+	if (unlikely(tcp_rtx_and_write_queues_empty(sk) && err == -EAGAIN)) {
 		sk->sk_write_space(sk);
 		tcp_chrono_stop(sk, TCP_CHRONO_SNDBUF_LIMITED);
 	}
@@ -1442,8 +1441,7 @@
 	sock_zerocopy_put_abort(uarg);
 	err = sk_stream_error(sk, flags, err);
 	/* make sure we wake any epoll edge trigger waiter */
-	if (unlikely(skb_queue_len(&sk->sk_write_queue) == 0 &&
-		     err == -EAGAIN)) {
+	if (unlikely(tcp_rtx_and_write_queues_empty(sk) && err == -EAGAIN)) {
 		sk->sk_write_space(sk);
 		tcp_chrono_stop(sk, TCP_CHRONO_SNDBUF_LIMITED);
 	}
@@ -2517,6 +2515,7 @@
 {
 	struct rb_node *p = rb_first(&sk->tcp_rtx_queue);
 
+	tcp_sk(sk)->highest_sack = NULL;
 	while (p) {
 		struct sk_buff *skb = rb_to_skb(p);
 
@@ -2599,10 +2598,12 @@
 	tp->snd_ssthresh = TCP_INFINITE_SSTHRESH;
 	tp->snd_cwnd_cnt = 0;
 	tp->window_clamp = 0;
+	tp->delivered = 0;
 	tp->delivered_ce = 0;
 	tcp_set_ca_state(sk, TCP_CA_Open);
 	tp->is_sack_reneg = 0;
 	tcp_clear_retrans(tp);
+	tp->total_retrans = 0;
 	inet_csk_delack_init(sk);
 	/* Initialize rcv_mss to TCP_MIN_MSS to avoid division by 0
 	 * issue in __tcp_select_window()
@@ -2614,10 +2615,14 @@
 	sk->sk_rx_dst = NULL;
 	tcp_saved_syn_free(tp);
 	tp->compressed_ack = 0;
+	tp->segs_in = 0;
+	tp->segs_out = 0;
 	tp->bytes_sent = 0;
 	tp->bytes_acked = 0;
 	tp->bytes_received = 0;
 	tp->bytes_retrans = 0;
+	tp->data_segs_in = 0;
+	tp->data_segs_out = 0;
 	tp->dsack_dups = 0;
 	tp->reord_seen = 0;
 
diff --git a/net/ipv4/tcp_bbr.c b/net/ipv4/tcp_bbr.c
index 02ff2dd..b371e66 100644
--- a/net/ipv4/tcp_bbr.c
+++ b/net/ipv4/tcp_bbr.c
@@ -680,8 +680,7 @@
 	 * bandwidth sample. Delivered is in packets and interval_us in uS and
 	 * ratio will be <<1 for most connections. So delivered is first scaled.
 	 */
-	bw = (u64)rs->delivered * BW_UNIT;
-	do_div(bw, rs->interval_us);
+	bw = div64_long((u64)rs->delivered * BW_UNIT, rs->interval_us);
 
 	/* If this sample is application-limited, it is likely to have a very
 	 * low delivered count that represents application behavior rather than
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
index d4cecd4..496a5ac 100644
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -901,9 +901,10 @@
 /* This must be called before lost_out is incremented */
 static void tcp_verify_retransmit_hint(struct tcp_sock *tp, struct sk_buff *skb)
 {
-	if (!tp->retransmit_skb_hint ||
-	    before(TCP_SKB_CB(skb)->seq,
-		   TCP_SKB_CB(tp->retransmit_skb_hint)->seq))
+	if ((!tp->retransmit_skb_hint && tp->retrans_out >= tp->lost_out) ||
+	    (tp->retransmit_skb_hint &&
+	     before(TCP_SKB_CB(skb)->seq,
+		    TCP_SKB_CB(tp->retransmit_skb_hint)->seq)))
 		tp->retransmit_skb_hint = skb;
 }
 
@@ -3148,6 +3149,7 @@
 			tp->retransmit_skb_hint = NULL;
 		if (unlikely(skb == tp->lost_skb_hint))
 			tp->lost_skb_hint = NULL;
+		tcp_highest_sack_replace(sk, skb, next);
 		tcp_rtx_queue_unlink_and_free(skb, sk);
 	}
 
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c
index b0e8970..13213c2 100644
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
@@ -3168,6 +3168,7 @@
 			if (!nskb)
 				return -ENOMEM;
 			INIT_LIST_HEAD(&nskb->tcp_tsorted_anchor);
+			tcp_highest_sack_replace(sk, skb, nskb);
 			tcp_rtx_queue_unlink_and_free(skb, sk);
 			__skb_header_release(nskb);
 			tcp_rbtree_insert(&sk->tcp_rtx_queue, nskb);
diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c
index 6d22933..d60ffab 100644
--- a/net/ipv4/udp.c
+++ b/net/ipv4/udp.c
@@ -1311,7 +1311,8 @@
 	if (likely(partial)) {
 		up->forward_deficit += size;
 		size = up->forward_deficit;
-		if (size < (sk->sk_rcvbuf >> 2))
+		if (size < (sk->sk_rcvbuf >> 2) &&
+		    !skb_queue_empty(&up->reader_queue))
 			return;
 	} else {
 		size += up->forward_deficit;
diff --git a/net/ipv4/udp_offload.c b/net/ipv4/udp_offload.c
index d7e17e8..7e848dd 100644
--- a/net/ipv4/udp_offload.c
+++ b/net/ipv4/udp_offload.c
@@ -227,6 +227,11 @@
 	seg = segs;
 	uh = udp_hdr(seg);
 
+	/* preserve TX timestamp flags and TS key for first segment */
+	skb_shinfo(seg)->tskey = skb_shinfo(gso_skb)->tskey;
+	skb_shinfo(seg)->tx_flags |=
+			(skb_shinfo(gso_skb)->tx_flags & SKBTX_ANY_TSTAMP);
+
 	/* compute checksum adjustment based on old length versus new */
 	newlen = htons(sizeof(*uh) + mss);
 	check = csum16_add(csum16_sub(uh->check, uh->len), newlen);
diff --git a/net/ipv6/ip6_fib.c b/net/ipv6/ip6_fib.c
index bbb5ffb..5e8979c 100644
--- a/net/ipv6/ip6_fib.c
+++ b/net/ipv6/ip6_fib.c
@@ -981,8 +981,7 @@
 					found++;
 					break;
 				}
-				if (rt_can_ecmp)
-					fallback_ins = fallback_ins ?: ins;
+				fallback_ins = fallback_ins ?: ins;
 				goto next_iter;
 			}
 
@@ -1025,7 +1024,9 @@
 	}
 
 	if (fallback_ins && !found) {
-		/* No ECMP-able route found, replace first non-ECMP one */
+		/* No matching route with same ecmp-able-ness found, replace
+		 * first matching route
+		 */
 		ins = fallback_ins;
 		iter = rcu_dereference_protected(*ins,
 				    lockdep_is_held(&rt->fib6_table->tb6_lock));
@@ -1529,7 +1530,8 @@
 		if (plen == fn->fn_bit)
 			return fn;
 
-		prev = fn;
+		if (fn->fn_flags & RTN_RTINFO)
+			prev = fn;
 
 next:
 		/*
diff --git a/net/ipv6/ip6_gre.c b/net/ipv6/ip6_gre.c
index b3515a4..90621d4 100644
--- a/net/ipv6/ip6_gre.c
+++ b/net/ipv6/ip6_gre.c
@@ -1486,7 +1486,6 @@
 		dev->mtu -= 8;
 
 	if (tunnel->parms.collect_md) {
-		dev->features |= NETIF_F_NETNS_LOCAL;
 		netif_keep_dst(dev);
 	}
 	ip6gre_tnl_init_features(dev);
@@ -1914,7 +1913,6 @@
 	dev->needs_free_netdev = true;
 	dev->priv_destructor = ip6gre_dev_free;
 
-	dev->features |= NETIF_F_NETNS_LOCAL;
 	dev->priv_flags &= ~IFF_TX_SKB_SHARING;
 	dev->priv_flags |= IFF_LIVE_ADDR_CHANGE;
 	netif_keep_dst(dev);
@@ -2218,11 +2216,11 @@
 {
 	ether_setup(dev);
 
+	dev->max_mtu = 0;
 	dev->netdev_ops = &ip6erspan_netdev_ops;
 	dev->needs_free_netdev = true;
 	dev->priv_destructor = ip6gre_dev_free;
 
-	dev->features |= NETIF_F_NETNS_LOCAL;
 	dev->priv_flags &= ~IFF_TX_SKB_SHARING;
 	dev->priv_flags |= IFF_LIVE_ADDR_CHANGE;
 	netif_keep_dst(dev);
diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c
index eed9231..9886a84 100644
--- a/net/ipv6/ip6_output.c
+++ b/net/ipv6/ip6_output.c
@@ -1357,7 +1357,7 @@
 			unsigned int fraglen;
 			unsigned int fraggap;
 			unsigned int alloclen;
-			unsigned int pagedlen = 0;
+			unsigned int pagedlen;
 alloc_new_skb:
 			/* There's no room in the current skb */
 			if (skb)
@@ -1381,6 +1381,7 @@
 			if (datalen > (cork->length <= mtu && !(cork->flags & IPCORK_ALLFRAG) ? mtu : maxfraglen) - fragheaderlen)
 				datalen = maxfraglen - fragheaderlen - rt->dst.trailer_len;
 			fraglen = datalen + fragheaderlen;
+			pagedlen = 0;
 
 			if ((flags & MSG_MORE) &&
 			    !(rt->dst.dev->features&NETIF_F_SG))
diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c
index e3b4237..8e70a01 100644
--- a/net/ipv6/ip6_tunnel.c
+++ b/net/ipv6/ip6_tunnel.c
@@ -1882,10 +1882,8 @@
 	if (err)
 		return err;
 	ip6_tnl_link_config(t);
-	if (t->parms.collect_md) {
-		dev->features |= NETIF_F_NETNS_LOCAL;
+	if (t->parms.collect_md)
 		netif_keep_dst(dev);
-	}
 	return 0;
 }
 
diff --git a/net/ipv6/ip6_vti.c b/net/ipv6/ip6_vti.c
index bfd39db3..67ff206 100644
--- a/net/ipv6/ip6_vti.c
+++ b/net/ipv6/ip6_vti.c
@@ -453,8 +453,17 @@
 	int err = -1;
 	int mtu;
 
-	if (!dst)
-		goto tx_err_link_failure;
+	if (!dst) {
+		fl->u.ip6.flowi6_oif = dev->ifindex;
+		fl->u.ip6.flowi6_flags |= FLOWI_FLAG_ANYSRC;
+		dst = ip6_route_output(dev_net(dev), NULL, &fl->u.ip6);
+		if (dst->error) {
+			dst_release(dst);
+			dst = NULL;
+			goto tx_err_link_failure;
+		}
+		skb_dst_set(skb, dst);
+	}
 
 	dst_hold(dst);
 	dst = xfrm_lookup(t->net, dst, fl, NULL, 0);
diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c
index 4856d93..a41156a 100644
--- a/net/ipv6/raw.c
+++ b/net/ipv6/raw.c
@@ -660,6 +660,8 @@
 
 	skb->ip_summed = CHECKSUM_NONE;
 
+	sock_tx_timestamp(sk, sockc->tsflags, &skb_shinfo(skb)->tx_flags);
+
 	if (flags & MSG_CONFIRM)
 		skb_set_dst_pending_confirm(skb, 1);
 
diff --git a/net/ipv6/reassembly.c b/net/ipv6/reassembly.c
index 095825f..c6132e3 100644
--- a/net/ipv6/reassembly.c
+++ b/net/ipv6/reassembly.c
@@ -593,8 +593,8 @@
 
 void ipv6_frag_exit(void)
 {
-	inet_frags_fini(&ip6_frags);
 	ip6_frags_sysctl_unregister();
 	unregister_pernet_subsys(&ip6_frags_ops);
 	inet6_del_protocol(&frag_protocol, IPPROTO_FRAGMENT);
+	inet_frags_fini(&ip6_frags);
 }
diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index 6370f07..7a204db 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -4490,6 +4490,7 @@
 		 */
 		cfg->fc_nlinfo.nlh->nlmsg_flags &= ~(NLM_F_EXCL |
 						     NLM_F_REPLACE);
+		cfg->fc_nlinfo.nlh->nlmsg_flags |= NLM_F_CREATE;
 		nhn++;
 	}
 
diff --git a/net/ipv6/seg6_local.c b/net/ipv6/seg6_local.c
index 60325db..607709a 100644
--- a/net/ipv6/seg6_local.c
+++ b/net/ipv6/seg6_local.c
@@ -28,6 +28,7 @@
 #include <net/addrconf.h>
 #include <net/ip6_route.h>
 #include <net/dst_cache.h>
+#include <net/ip_tunnels.h>
 #ifdef CONFIG_IPV6_SEG6_HMAC
 #include <net/seg6_hmac.h>
 #endif
@@ -135,7 +136,8 @@
 
 	skb_reset_network_header(skb);
 	skb_reset_transport_header(skb);
-	skb->encapsulation = 0;
+	if (iptunnel_pull_offloads(skb))
+		return false;
 
 	return true;
 }
diff --git a/net/iucv/af_iucv.c b/net/iucv/af_iucv.c
index f024914..23a1002 100644
--- a/net/iucv/af_iucv.c
+++ b/net/iucv/af_iucv.c
@@ -13,6 +13,7 @@
 #define pr_fmt(fmt) KMSG_COMPONENT ": " fmt
 
 #include <linux/module.h>
+#include <linux/netdevice.h>
 #include <linux/types.h>
 #include <linux/list.h>
 #include <linux/errno.h>
@@ -355,6 +356,9 @@
 		err = -ENODEV;
 		goto err_free;
 	}
+
+	dev_hard_header(skb, skb->dev, ETH_P_AF_IUCV, NULL, NULL, skb->len);
+
 	if (!(skb->dev->flags & IFF_UP) || !netif_carrier_ok(skb->dev)) {
 		err = -ENETDOWN;
 		goto err_free;
@@ -367,6 +371,8 @@
 		skb_trim(skb, skb->dev->mtu);
 	}
 	skb->protocol = cpu_to_be16(ETH_P_AF_IUCV);
+
+	__skb_header_release(skb);
 	nskb = skb_clone(skb, GFP_ATOMIC);
 	if (!nskb) {
 		err = -ENOMEM;
@@ -466,12 +472,14 @@
 /* Send controlling flags through an IUCV socket for HIPER transport */
 static int iucv_send_ctrl(struct sock *sk, u8 flags)
 {
+	struct iucv_sock *iucv = iucv_sk(sk);
 	int err = 0;
 	int blen;
 	struct sk_buff *skb;
 	u8 shutdown = 0;
 
-	blen = sizeof(struct af_iucv_trans_hdr) + ETH_HLEN;
+	blen = sizeof(struct af_iucv_trans_hdr) +
+	       LL_RESERVED_SPACE(iucv->hs_dev);
 	if (sk->sk_shutdown & SEND_SHUTDOWN) {
 		/* controlling flags should be sent anyway */
 		shutdown = sk->sk_shutdown;
@@ -1131,7 +1139,8 @@
 	 * segmented records using the MSG_EOR flag), but
 	 * for SOCK_STREAM we might want to improve it in future */
 	if (iucv->transport == AF_IUCV_TRANS_HIPER) {
-		headroom = sizeof(struct af_iucv_trans_hdr) + ETH_HLEN;
+		headroom = sizeof(struct af_iucv_trans_hdr) +
+			   LL_RESERVED_SPACE(iucv->hs_dev);
 		linear = len;
 	} else {
 		if (len < PAGE_SIZE) {
@@ -2456,6 +2465,13 @@
 	return err;
 }
 
+static void afiucv_iucv_exit(void)
+{
+	device_unregister(af_iucv_dev);
+	driver_unregister(&af_iucv_driver);
+	pr_iucv->iucv_unregister(&af_iucv_handler, 0);
+}
+
 static int __init afiucv_init(void)
 {
 	int err;
@@ -2489,11 +2505,18 @@
 		err = afiucv_iucv_init();
 		if (err)
 			goto out_sock;
-	} else
-		register_netdevice_notifier(&afiucv_netdev_notifier);
+	}
+
+	err = register_netdevice_notifier(&afiucv_netdev_notifier);
+	if (err)
+		goto out_notifier;
+
 	dev_add_pack(&iucv_packet_type);
 	return 0;
 
+out_notifier:
+	if (pr_iucv)
+		afiucv_iucv_exit();
 out_sock:
 	sock_unregister(PF_IUCV);
 out_proto:
@@ -2507,12 +2530,11 @@
 static void __exit afiucv_exit(void)
 {
 	if (pr_iucv) {
-		device_unregister(af_iucv_dev);
-		driver_unregister(&af_iucv_driver);
-		pr_iucv->iucv_unregister(&af_iucv_handler, 0);
+		afiucv_iucv_exit();
 		symbol_put(iucv_if);
-	} else
-		unregister_netdevice_notifier(&afiucv_netdev_notifier);
+	}
+
+	unregister_netdevice_notifier(&afiucv_netdev_notifier);
 	dev_remove_pack(&iucv_packet_type);
 	sock_unregister(PF_IUCV);
 	proto_unregister(&iucv_proto);
diff --git a/net/l2tp/l2tp_core.c b/net/l2tp/l2tp_core.c
index 52b5a27..d0a295c 100644
--- a/net/l2tp/l2tp_core.c
+++ b/net/l2tp/l2tp_core.c
@@ -325,8 +325,13 @@
 
 		spin_lock_bh(&pn->l2tp_session_hlist_lock);
 
+		/* IP encap expects session IDs to be globally unique, while
+		 * UDP encap doesn't.
+		 */
 		hlist_for_each_entry(session_walk, g_head, global_hlist)
-			if (session_walk->session_id == session->session_id) {
+			if (session_walk->session_id == session->session_id &&
+			    (session_walk->tunnel->encap == L2TP_ENCAPTYPE_IP ||
+			     tunnel->encap == L2TP_ENCAPTYPE_IP)) {
 				err = -EEXIST;
 				goto err_tlock_pnlock;
 			}
@@ -1735,7 +1740,8 @@
 	}
 	rcu_read_unlock_bh();
 
-	flush_workqueue(l2tp_wq);
+	if (l2tp_wq)
+		flush_workqueue(l2tp_wq);
 	rcu_barrier();
 
 	for (hash = 0; hash < L2TP_HASH_SIZE_2; hash++)
diff --git a/net/llc/af_llc.c b/net/llc/af_llc.c
index b99e73a..ce841d5 100644
--- a/net/llc/af_llc.c
+++ b/net/llc/af_llc.c
@@ -113,22 +113,26 @@
  *
  *	Send data via reliable llc2 connection.
  *	Returns 0 upon success, non-zero if action did not succeed.
+ *
+ *	This function always consumes a reference to the skb.
  */
 static int llc_ui_send_data(struct sock* sk, struct sk_buff *skb, int noblock)
 {
 	struct llc_sock* llc = llc_sk(sk);
-	int rc = 0;
 
 	if (unlikely(llc_data_accept_state(llc->state) ||
 		     llc->remote_busy_flag ||
 		     llc->p_flag)) {
 		long timeout = sock_sndtimeo(sk, noblock);
+		int rc;
 
 		rc = llc_ui_wait_for_busy_core(sk, timeout);
+		if (rc) {
+			kfree_skb(skb);
+			return rc;
+		}
 	}
-	if (unlikely(!rc))
-		rc = llc_build_and_send_pkt(sk, skb);
-	return rc;
+	return llc_build_and_send_pkt(sk, skb);
 }
 
 static void llc_ui_sk_init(struct socket *sock, struct sock *sk)
@@ -900,7 +904,7 @@
 	DECLARE_SOCKADDR(struct sockaddr_llc *, addr, msg->msg_name);
 	int flags = msg->msg_flags;
 	int noblock = flags & MSG_DONTWAIT;
-	struct sk_buff *skb;
+	struct sk_buff *skb = NULL;
 	size_t size = 0;
 	int rc = -EINVAL, copied = 0, hdrlen;
 
@@ -909,10 +913,10 @@
 	lock_sock(sk);
 	if (addr) {
 		if (msg->msg_namelen < sizeof(*addr))
-			goto release;
+			goto out;
 	} else {
 		if (llc_ui_addr_null(&llc->addr))
-			goto release;
+			goto out;
 		addr = &llc->addr;
 	}
 	/* must bind connection to sap if user hasn't done it. */
@@ -920,7 +924,7 @@
 		/* bind to sap with null dev, exclusive. */
 		rc = llc_ui_autobind(sock, addr);
 		if (rc)
-			goto release;
+			goto out;
 	}
 	hdrlen = llc->dev->hard_header_len + llc_ui_header_len(sk, addr);
 	size = hdrlen + len;
@@ -929,12 +933,12 @@
 	copied = size - hdrlen;
 	rc = -EINVAL;
 	if (copied < 0)
-		goto release;
+		goto out;
 	release_sock(sk);
 	skb = sock_alloc_send_skb(sk, size, noblock, &rc);
 	lock_sock(sk);
 	if (!skb)
-		goto release;
+		goto out;
 	skb->dev      = llc->dev;
 	skb->protocol = llc_proto_type(addr->sllc_arphrd);
 	skb_reserve(skb, hdrlen);
@@ -944,29 +948,31 @@
 	if (sk->sk_type == SOCK_DGRAM || addr->sllc_ua) {
 		llc_build_and_send_ui_pkt(llc->sap, skb, addr->sllc_mac,
 					  addr->sllc_sap);
+		skb = NULL;
 		goto out;
 	}
 	if (addr->sllc_test) {
 		llc_build_and_send_test_pkt(llc->sap, skb, addr->sllc_mac,
 					    addr->sllc_sap);
+		skb = NULL;
 		goto out;
 	}
 	if (addr->sllc_xid) {
 		llc_build_and_send_xid_pkt(llc->sap, skb, addr->sllc_mac,
 					   addr->sllc_sap);
+		skb = NULL;
 		goto out;
 	}
 	rc = -ENOPROTOOPT;
 	if (!(sk->sk_type == SOCK_STREAM && !addr->sllc_ua))
 		goto out;
 	rc = llc_ui_send_data(sk, skb, noblock);
+	skb = NULL;
 out:
-	if (rc) {
-		kfree_skb(skb);
-release:
+	kfree_skb(skb);
+	if (rc)
 		dprintk("%s: failed sending from %02X to %02X: %d\n",
 			__func__, llc->laddr.lsap, llc->daddr.lsap, rc);
-	}
 	release_sock(sk);
 	return rc ? : copied;
 }
diff --git a/net/llc/llc_conn.c b/net/llc/llc_conn.c
index ed2aca1..a79b739e 100644
--- a/net/llc/llc_conn.c
+++ b/net/llc/llc_conn.c
@@ -55,6 +55,8 @@
  *	(executing it's actions and changing state), upper layer will be
  *	indicated or confirmed, if needed. Returns 0 for success, 1 for
  *	failure. The socket lock has to be held before calling this function.
+ *
+ *	This function always consumes a reference to the skb.
  */
 int llc_conn_state_process(struct sock *sk, struct sk_buff *skb)
 {
@@ -62,12 +64,6 @@
 	struct llc_sock *llc = llc_sk(skb->sk);
 	struct llc_conn_state_ev *ev = llc_conn_ev(skb);
 
-	/*
-	 * We have to hold the skb, because llc_conn_service will kfree it in
-	 * the sending path and we need to look at the skb->cb, where we encode
-	 * llc_conn_state_ev.
-	 */
-	skb_get(skb);
 	ev->ind_prim = ev->cfm_prim = 0;
 	/*
 	 * Send event to state machine
@@ -75,21 +71,12 @@
 	rc = llc_conn_service(skb->sk, skb);
 	if (unlikely(rc != 0)) {
 		printk(KERN_ERR "%s: llc_conn_service failed\n", __func__);
-		goto out_kfree_skb;
-	}
-
-	if (unlikely(!ev->ind_prim && !ev->cfm_prim)) {
-		/* indicate or confirm not required */
-		if (!skb->next)
-			goto out_kfree_skb;
 		goto out_skb_put;
 	}
 
-	if (unlikely(ev->ind_prim && ev->cfm_prim)) /* Paranoia */
-		skb_get(skb);
-
 	switch (ev->ind_prim) {
 	case LLC_DATA_PRIM:
+		skb_get(skb);
 		llc_save_primitive(sk, skb, LLC_DATA_PRIM);
 		if (unlikely(sock_queue_rcv_skb(sk, skb))) {
 			/*
@@ -106,6 +93,7 @@
 		 * skb->sk pointing to the newly created struct sock in
 		 * llc_conn_handler. -acme
 		 */
+		skb_get(skb);
 		skb_queue_tail(&sk->sk_receive_queue, skb);
 		sk->sk_state_change(sk);
 		break;
@@ -121,7 +109,6 @@
 				sk->sk_state_change(sk);
 			}
 		}
-		kfree_skb(skb);
 		sock_put(sk);
 		break;
 	case LLC_RESET_PRIM:
@@ -130,14 +117,11 @@
 		 * RESET is not being notified to upper layers for now
 		 */
 		printk(KERN_INFO "%s: received a reset ind!\n", __func__);
-		kfree_skb(skb);
 		break;
 	default:
-		if (ev->ind_prim) {
+		if (ev->ind_prim)
 			printk(KERN_INFO "%s: received unknown %d prim!\n",
 				__func__, ev->ind_prim);
-			kfree_skb(skb);
-		}
 		/* No indication */
 		break;
 	}
@@ -179,15 +163,12 @@
 		printk(KERN_INFO "%s: received a reset conf!\n", __func__);
 		break;
 	default:
-		if (ev->cfm_prim) {
+		if (ev->cfm_prim)
 			printk(KERN_INFO "%s: received unknown %d prim!\n",
 					__func__, ev->cfm_prim);
-			break;
-		}
-		goto out_skb_put; /* No confirmation */
+		/* No confirmation */
+		break;
 	}
-out_kfree_skb:
-	kfree_skb(skb);
 out_skb_put:
 	kfree_skb(skb);
 	return rc;
diff --git a/net/llc/llc_if.c b/net/llc/llc_if.c
index 8db03c2..ad65477 100644
--- a/net/llc/llc_if.c
+++ b/net/llc/llc_if.c
@@ -38,6 +38,8 @@
  *	closed and -EBUSY when sending data is not permitted in this state or
  *	LLC has send an I pdu with p bit set to 1 and is waiting for it's
  *	response.
+ *
+ *	This function always consumes a reference to the skb.
  */
 int llc_build_and_send_pkt(struct sock *sk, struct sk_buff *skb)
 {
@@ -46,20 +48,22 @@
 	struct llc_sock *llc = llc_sk(sk);
 
 	if (unlikely(llc->state == LLC_CONN_STATE_ADM))
-		goto out;
+		goto out_free;
 	rc = -EBUSY;
 	if (unlikely(llc_data_accept_state(llc->state) || /* data_conn_refuse */
 		     llc->p_flag)) {
 		llc->failed_data_req = 1;
-		goto out;
+		goto out_free;
 	}
 	ev = llc_conn_ev(skb);
 	ev->type      = LLC_CONN_EV_TYPE_PRIM;
 	ev->prim      = LLC_DATA_PRIM;
 	ev->prim_type = LLC_PRIM_TYPE_REQ;
 	skb->dev      = llc->dev;
-	rc = llc_conn_state_process(sk, skb);
-out:
+	return llc_conn_state_process(sk, skb);
+
+out_free:
+	kfree_skb(skb);
 	return rc;
 }
 
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
index a48e83b..cb7076d 100644
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -1096,50 +1096,6 @@
 	return 0;
 }
 
-/* Layer 2 Update frame (802.2 Type 1 LLC XID Update response) */
-struct iapp_layer2_update {
-	u8 da[ETH_ALEN];	/* broadcast */
-	u8 sa[ETH_ALEN];	/* STA addr */
-	__be16 len;		/* 6 */
-	u8 dsap;		/* 0 */
-	u8 ssap;		/* 0 */
-	u8 control;
-	u8 xid_info[3];
-} __packed;
-
-static void ieee80211_send_layer2_update(struct sta_info *sta)
-{
-	struct iapp_layer2_update *msg;
-	struct sk_buff *skb;
-
-	/* Send Level 2 Update Frame to update forwarding tables in layer 2
-	 * bridge devices */
-
-	skb = dev_alloc_skb(sizeof(*msg));
-	if (!skb)
-		return;
-	msg = skb_put(skb, sizeof(*msg));
-
-	/* 802.2 Type 1 Logical Link Control (LLC) Exchange Identifier (XID)
-	 * Update response frame; IEEE Std 802.2-1998, 5.4.1.2.1 */
-
-	eth_broadcast_addr(msg->da);
-	memcpy(msg->sa, sta->sta.addr, ETH_ALEN);
-	msg->len = htons(6);
-	msg->dsap = 0;
-	msg->ssap = 0x01;	/* NULL LSAP, CR Bit: Response */
-	msg->control = 0xaf;	/* XID response lsb.1111F101.
-				 * F=0 (no poll command; unsolicited frame) */
-	msg->xid_info[0] = 0x81;	/* XID format identifier */
-	msg->xid_info[1] = 1;	/* LLC types/classes: Type 1 LLC */
-	msg->xid_info[2] = 0;	/* XID sender's receive window size (RW) */
-
-	skb->dev = sta->sdata->dev;
-	skb->protocol = eth_type_trans(skb, sta->sdata->dev);
-	memset(skb->cb, 0, sizeof(skb->cb));
-	netif_rx_ni(skb);
-}
-
 static int sta_apply_auth_flags(struct ieee80211_local *local,
 				struct sta_info *sta,
 				u32 mask, u32 set)
@@ -1454,7 +1410,6 @@
 	struct sta_info *sta;
 	struct ieee80211_sub_if_data *sdata;
 	int err;
-	int layer2_update;
 
 	if (params->vlan) {
 		sdata = IEEE80211_DEV_TO_SUB_IF(params->vlan);
@@ -1498,18 +1453,12 @@
 	    test_sta_flag(sta, WLAN_STA_ASSOC))
 		rate_control_rate_init(sta);
 
-	layer2_update = sdata->vif.type == NL80211_IFTYPE_AP_VLAN ||
-		sdata->vif.type == NL80211_IFTYPE_AP;
-
 	err = sta_info_insert_rcu(sta);
 	if (err) {
 		rcu_read_unlock();
 		return err;
 	}
 
-	if (layer2_update)
-		ieee80211_send_layer2_update(sta);
-
 	rcu_read_unlock();
 
 	return 0;
@@ -1607,10 +1556,11 @@
 		sta->sdata = vlansdata;
 		ieee80211_check_fast_xmit(sta);
 
-		if (test_sta_flag(sta, WLAN_STA_AUTHORIZED))
+		if (test_sta_flag(sta, WLAN_STA_AUTHORIZED)) {
 			ieee80211_vif_inc_num_mcast(sta->sdata);
-
-		ieee80211_send_layer2_update(sta);
+			cfg80211_send_layer2_update(sta->sdata->dev,
+						    sta->sta.addr);
+		}
 	}
 
 	err = sta_apply_parameters(local, sta, params);
@@ -2875,6 +2825,28 @@
 	return err;
 }
 
+static void ieee80211_end_cac(struct wiphy *wiphy,
+			      struct net_device *dev)
+{
+	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
+	struct ieee80211_local *local = sdata->local;
+
+	mutex_lock(&local->mtx);
+	list_for_each_entry(sdata, &local->interfaces, list) {
+		/* it might be waiting for the local->mtx, but then
+		 * by the time it gets it, sdata->wdev.cac_started
+		 * will no longer be true
+		 */
+		cancel_delayed_work(&sdata->dfs_cac_timer_work);
+
+		if (sdata->wdev.cac_started) {
+			ieee80211_vif_release_channel(sdata);
+			sdata->wdev.cac_started = false;
+		}
+	}
+	mutex_unlock(&local->mtx);
+}
+
 static struct cfg80211_beacon_data *
 cfg80211_beacon_dup(struct cfg80211_beacon_data *beacon)
 {
@@ -3898,6 +3870,7 @@
 #endif
 	.get_channel = ieee80211_cfg_get_channel,
 	.start_radar_detection = ieee80211_start_radar_detection,
+	.end_cac = ieee80211_end_cac,
 	.channel_switch = ieee80211_channel_switch,
 	.set_qos_map = ieee80211_set_qos_map,
 	.set_ap_chanwidth = ieee80211_set_ap_chanwidth,
diff --git a/net/mac80211/mesh_hwmp.c b/net/mac80211/mesh_hwmp.c
index 6950cd0..740dc9f 100644
--- a/net/mac80211/mesh_hwmp.c
+++ b/net/mac80211/mesh_hwmp.c
@@ -326,6 +326,9 @@
 	unsigned long fail_avg =
 		ewma_mesh_fail_avg_read(&sta->mesh->fail_avg);
 
+	if (sta->mesh->plink_state != NL80211_PLINK_ESTAB)
+		return MAX_METRIC;
+
 	/* Try to get rate based on HW/SW RC algorithm.
 	 * Rate is returned in units of Kbps, correct this
 	 * to comply with airtime calculation units
diff --git a/net/mac80211/rc80211_minstrel_ht.c b/net/mac80211/rc80211_minstrel_ht.c
index 3d55207..0b60e33 100644
--- a/net/mac80211/rc80211_minstrel_ht.c
+++ b/net/mac80211/rc80211_minstrel_ht.c
@@ -529,7 +529,7 @@
 
 		/* (re)Initialize group rate indexes */
 		for(j = 0; j < MAX_THR_RATES; j++)
-			tmp_group_tp_rate[j] = group;
+			tmp_group_tp_rate[j] = MCS_GROUP_RATES * group;
 
 		for (i = 0; i < MCS_GROUP_RATES; i++) {
 			if (!(mi->supported[group] & BIT(i)))
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index b12f23c..02d0b22 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -3391,9 +3391,18 @@
 	case cpu_to_le16(IEEE80211_STYPE_PROBE_RESP):
 		/* process for all: mesh, mlme, ibss */
 		break;
+	case cpu_to_le16(IEEE80211_STYPE_DEAUTH):
+		if (is_multicast_ether_addr(mgmt->da) &&
+		    !is_broadcast_ether_addr(mgmt->da))
+			return RX_DROP_MONITOR;
+
+		/* process only for station/IBSS */
+		if (sdata->vif.type != NL80211_IFTYPE_STATION &&
+		    sdata->vif.type != NL80211_IFTYPE_ADHOC)
+			return RX_DROP_MONITOR;
+		break;
 	case cpu_to_le16(IEEE80211_STYPE_ASSOC_RESP):
 	case cpu_to_le16(IEEE80211_STYPE_REASSOC_RESP):
-	case cpu_to_le16(IEEE80211_STYPE_DEAUTH):
 	case cpu_to_le16(IEEE80211_STYPE_DISASSOC):
 		if (is_multicast_ether_addr(mgmt->da) &&
 		    !is_broadcast_ether_addr(mgmt->da))
diff --git a/net/mac80211/sta_info.c b/net/mac80211/sta_info.c
index 507409e..0c80a59 100644
--- a/net/mac80211/sta_info.c
+++ b/net/mac80211/sta_info.c
@@ -1906,6 +1906,10 @@
 			ieee80211_check_fast_xmit(sta);
 			ieee80211_check_fast_rx(sta);
 		}
+		if (sta->sdata->vif.type == NL80211_IFTYPE_AP_VLAN ||
+		    sta->sdata->vif.type == NL80211_IFTYPE_AP)
+			cfg80211_send_layer2_update(sta->sdata->dev,
+						    sta->sta.addr);
 		break;
 	default:
 		break;
diff --git a/net/mac80211/tkip.c b/net/mac80211/tkip.c
index b362282..ebd66e8 100644
--- a/net/mac80211/tkip.c
+++ b/net/mac80211/tkip.c
@@ -266,9 +266,21 @@
 	if ((keyid >> 6) != key->conf.keyidx)
 		return TKIP_DECRYPT_INVALID_KEYIDX;
 
-	if (rx_ctx->ctx.state != TKIP_STATE_NOT_INIT &&
-	    (iv32 < rx_ctx->iv32 ||
-	     (iv32 == rx_ctx->iv32 && iv16 <= rx_ctx->iv16)))
+	/* Reject replays if the received TSC is smaller than or equal to the
+	 * last received value in a valid message, but with an exception for
+	 * the case where a new key has been set and no valid frame using that
+	 * key has yet received and the local RSC was initialized to 0. This
+	 * exception allows the very first frame sent by the transmitter to be
+	 * accepted even if that transmitter were to use TSC 0 (IEEE 802.11
+	 * described TSC to be initialized to 1 whenever a new key is taken into
+	 * use).
+	 */
+	if (iv32 < rx_ctx->iv32 ||
+	    (iv32 == rx_ctx->iv32 &&
+	     (iv16 < rx_ctx->iv16 ||
+	      (iv16 == rx_ctx->iv16 &&
+	       (rx_ctx->iv32 || rx_ctx->iv16 ||
+		rx_ctx->ctx.state != TKIP_STATE_NOT_INIT)))))
 		return TKIP_DECRYPT_REPLAY;
 
 	if (only_iv) {
diff --git a/net/mac80211/util.c b/net/mac80211/util.c
index f101a64..7fa9871 100644
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
@@ -945,16 +945,22 @@
 				elem_parse_failed = true;
 			break;
 		case WLAN_EID_VHT_OPERATION:
-			if (elen >= sizeof(struct ieee80211_vht_operation))
+			if (elen >= sizeof(struct ieee80211_vht_operation)) {
 				elems->vht_operation = (void *)pos;
-			else
-				elem_parse_failed = true;
+				if (calc_crc)
+					crc = crc32_be(crc, pos - 2, elen + 2);
+				break;
+			}
+			elem_parse_failed = true;
 			break;
 		case WLAN_EID_OPMODE_NOTIF:
-			if (elen > 0)
+			if (elen > 0) {
 				elems->opmode_notif = pos;
-			else
-				elem_parse_failed = true;
+				if (calc_crc)
+					crc = crc32_be(crc, pos - 2, elen + 2);
+				break;
+			}
+			elem_parse_failed = true;
 			break;
 		case WLAN_EID_MESH_ID:
 			elems->mesh_id = pos;
diff --git a/net/mpls/mpls_iptunnel.c b/net/mpls/mpls_iptunnel.c
index 94f53a9..faf6ef1 100644
--- a/net/mpls/mpls_iptunnel.c
+++ b/net/mpls/mpls_iptunnel.c
@@ -28,7 +28,7 @@
 #include "internal.h"
 
 static const struct nla_policy mpls_iptunnel_policy[MPLS_IPTUNNEL_MAX + 1] = {
-	[MPLS_IPTUNNEL_DST]	= { .type = NLA_U32 },
+	[MPLS_IPTUNNEL_DST]	= { .len = sizeof(u32) },
 	[MPLS_IPTUNNEL_TTL]	= { .type = NLA_U8 },
 };
 
diff --git a/net/netfilter/ipset/ip_set_bitmap_gen.h b/net/netfilter/ipset/ip_set_bitmap_gen.h
index 257ca39..37f6806 100644
--- a/net/netfilter/ipset/ip_set_bitmap_gen.h
+++ b/net/netfilter/ipset/ip_set_bitmap_gen.h
@@ -64,9 +64,9 @@
 	if (SET_WITH_TIMEOUT(set))
 		del_timer_sync(&map->gc);
 
-	ip_set_free(map->members);
 	if (set->dsize && set->extensions & IPSET_EXT_DESTROY)
 		mtype_ext_cleanup(set);
+	ip_set_free(map->members);
 	ip_set_free(map);
 
 	set->data = NULL;
@@ -79,7 +79,7 @@
 
 	if (set->extensions & IPSET_EXT_DESTROY)
 		mtype_ext_cleanup(set);
-	memset(map->members, 0, map->memsize);
+	bitmap_zero(map->members, map->elements);
 	set->elements = 0;
 	set->ext_size = 0;
 }
diff --git a/net/netfilter/ipset/ip_set_bitmap_ip.c b/net/netfilter/ipset/ip_set_bitmap_ip.c
index 488d6d0..e325707 100644
--- a/net/netfilter/ipset/ip_set_bitmap_ip.c
+++ b/net/netfilter/ipset/ip_set_bitmap_ip.c
@@ -40,7 +40,7 @@
 
 /* Type structure */
 struct bitmap_ip {
-	void *members;		/* the set members */
+	unsigned long *members;	/* the set members */
 	u32 first_ip;		/* host byte order, included in range */
 	u32 last_ip;		/* host byte order, included in range */
 	u32 elements;		/* number of max elements in the set */
@@ -223,7 +223,7 @@
 	    u32 first_ip, u32 last_ip,
 	    u32 elements, u32 hosts, u8 netmask)
 {
-	map->members = ip_set_alloc(map->memsize);
+	map->members = bitmap_zalloc(elements, GFP_KERNEL | __GFP_NOWARN);
 	if (!map->members)
 		return false;
 	map->first_ip = first_ip;
@@ -313,7 +313,7 @@
 	if (!map)
 		return -ENOMEM;
 
-	map->memsize = bitmap_bytes(0, elements - 1);
+	map->memsize = BITS_TO_LONGS(elements) * sizeof(unsigned long);
 	set->variant = &bitmap_ip;
 	if (!init_map_ip(set, map, first_ip, last_ip,
 			 elements, hosts, netmask)) {
diff --git a/net/netfilter/ipset/ip_set_bitmap_ipmac.c b/net/netfilter/ipset/ip_set_bitmap_ipmac.c
index 794e033..9669cac 100644
--- a/net/netfilter/ipset/ip_set_bitmap_ipmac.c
+++ b/net/netfilter/ipset/ip_set_bitmap_ipmac.c
@@ -46,7 +46,7 @@
 
 /* Type structure */
 struct bitmap_ipmac {
-	void *members;		/* the set members */
+	unsigned long *members;	/* the set members */
 	u32 first_ip;		/* host byte order, included in range */
 	u32 last_ip;		/* host byte order, included in range */
 	u32 elements;		/* number of max elements in the set */
@@ -303,7 +303,7 @@
 init_map_ipmac(struct ip_set *set, struct bitmap_ipmac *map,
 	       u32 first_ip, u32 last_ip, u32 elements)
 {
-	map->members = ip_set_alloc(map->memsize);
+	map->members = bitmap_zalloc(elements, GFP_KERNEL | __GFP_NOWARN);
 	if (!map->members)
 		return false;
 	map->first_ip = first_ip;
@@ -364,7 +364,7 @@
 	if (!map)
 		return -ENOMEM;
 
-	map->memsize = bitmap_bytes(0, elements - 1);
+	map->memsize = BITS_TO_LONGS(elements) * sizeof(unsigned long);
 	set->variant = &bitmap_ipmac;
 	if (!init_map_ipmac(set, map, first_ip, last_ip, elements)) {
 		kfree(map);
diff --git a/net/netfilter/ipset/ip_set_bitmap_port.c b/net/netfilter/ipset/ip_set_bitmap_port.c
index b561ca8..ae09f2a 100644
--- a/net/netfilter/ipset/ip_set_bitmap_port.c
+++ b/net/netfilter/ipset/ip_set_bitmap_port.c
@@ -34,7 +34,7 @@
 
 /* Type structure */
 struct bitmap_port {
-	void *members;		/* the set members */
+	unsigned long *members;	/* the set members */
 	u16 first_port;		/* host byte order, included in range */
 	u16 last_port;		/* host byte order, included in range */
 	u32 elements;		/* number of max elements in the set */
@@ -208,7 +208,7 @@
 init_map_port(struct ip_set *set, struct bitmap_port *map,
 	      u16 first_port, u16 last_port)
 {
-	map->members = ip_set_alloc(map->memsize);
+	map->members = bitmap_zalloc(map->elements, GFP_KERNEL | __GFP_NOWARN);
 	if (!map->members)
 		return false;
 	map->first_port = first_port;
@@ -248,7 +248,7 @@
 		return -ENOMEM;
 
 	map->elements = elements;
-	map->memsize = bitmap_bytes(0, map->elements);
+	map->memsize = BITS_TO_LONGS(elements) * sizeof(unsigned long);
 	set->variant = &bitmap_port;
 	if (!init_map_port(set, map, first_port, last_port)) {
 		kfree(map);
diff --git a/net/netfilter/ipset/ip_set_core.c b/net/netfilter/ipset/ip_set_core.c
index 1566261..21eb53f 100644
--- a/net/netfilter/ipset/ip_set_core.c
+++ b/net/netfilter/ipset/ip_set_core.c
@@ -1666,6 +1666,7 @@
 	struct ip_set *set;
 	struct nlattr *tb[IPSET_ATTR_ADT_MAX + 1] = {};
 	int ret = 0;
+	u32 lineno;
 
 	if (unlikely(protocol_failed(attr) ||
 		     !attr[IPSET_ATTR_SETNAME] ||
@@ -1682,7 +1683,7 @@
 		return -IPSET_ERR_PROTOCOL;
 
 	rcu_read_lock_bh();
-	ret = set->variant->uadt(set, tb, IPSET_TEST, NULL, 0, 0);
+	ret = set->variant->uadt(set, tb, IPSET_TEST, &lineno, 0, 0);
 	rcu_read_unlock_bh();
 	/* Userspace can't trigger element to be re-added */
 	if (ret == -EAGAIN)
diff --git a/net/netfilter/nf_conntrack_netlink.c b/net/netfilter/nf_conntrack_netlink.c
index 7ba9ea5..31fa940 100644
--- a/net/netfilter/nf_conntrack_netlink.c
+++ b/net/netfilter/nf_conntrack_netlink.c
@@ -555,10 +555,8 @@
 		goto nla_put_failure;
 
 	if (ctnetlink_dump_status(skb, ct) < 0 ||
-	    ctnetlink_dump_timeout(skb, ct) < 0 ||
 	    ctnetlink_dump_acct(skb, ct, type) < 0 ||
 	    ctnetlink_dump_timestamp(skb, ct) < 0 ||
-	    ctnetlink_dump_protoinfo(skb, ct) < 0 ||
 	    ctnetlink_dump_helpinfo(skb, ct) < 0 ||
 	    ctnetlink_dump_mark(skb, ct) < 0 ||
 	    ctnetlink_dump_secctx(skb, ct) < 0 ||
@@ -570,6 +568,11 @@
 	    ctnetlink_dump_ct_synproxy(skb, ct) < 0)
 		goto nla_put_failure;
 
+	if (!test_bit(IPS_OFFLOAD_BIT, &ct->status) &&
+	    (ctnetlink_dump_timeout(skb, ct) < 0 ||
+	     ctnetlink_dump_protoinfo(skb, ct) < 0))
+		goto nla_put_failure;
+
 	nlmsg_end(skb, nlh);
 	return skb->len;
 
diff --git a/net/netfilter/nf_conntrack_proto_dccp.c b/net/netfilter/nf_conntrack_proto_dccp.c
index f3f91ed..e24c436d 100644
--- a/net/netfilter/nf_conntrack_proto_dccp.c
+++ b/net/netfilter/nf_conntrack_proto_dccp.c
@@ -687,6 +687,9 @@
 	unsigned int *timeouts = data;
 	int i;
 
+	if (!timeouts)
+		 timeouts = dn->dccp_timeout;
+
 	/* set default DCCP timeouts. */
 	for (i=0; i<CT_DCCP_MAX; i++)
 		timeouts[i] = dn->dccp_timeout[i];
diff --git a/net/netfilter/nf_conntrack_proto_sctp.c b/net/netfilter/nf_conntrack_proto_sctp.c
index e4d738d..7d7e30e 100644
--- a/net/netfilter/nf_conntrack_proto_sctp.c
+++ b/net/netfilter/nf_conntrack_proto_sctp.c
@@ -603,6 +603,9 @@
 	struct nf_sctp_net *sn = sctp_pernet(net);
 	int i;
 
+	if (!timeouts)
+		timeouts = sn->timeouts;
+
 	/* set default SCTP timeouts. */
 	for (i=0; i<SCTP_CONNTRACK_MAX; i++)
 		timeouts[i] = sn->timeouts[i];
diff --git a/net/netfilter/nf_flow_table_core.c b/net/netfilter/nf_flow_table_core.c
index 70bd730..890799c 100644
--- a/net/netfilter/nf_flow_table_core.c
+++ b/net/netfilter/nf_flow_table_core.c
@@ -491,14 +491,17 @@
 static void nf_flow_table_do_cleanup(struct flow_offload *flow, void *data)
 {
 	struct net_device *dev = data;
+	struct flow_offload_entry *e;
+
+	e = container_of(flow, struct flow_offload_entry, flow);
 
 	if (!dev) {
 		flow_offload_teardown(flow);
 		return;
 	}
-
-	if (flow->tuplehash[0].tuple.iifidx == dev->ifindex ||
-	    flow->tuplehash[1].tuple.iifidx == dev->ifindex)
+	if (net_eq(nf_ct_net(e->ct), dev_net(dev)) &&
+	    (flow->tuplehash[0].tuple.iifidx == dev->ifindex ||
+	     flow->tuplehash[1].tuple.iifidx == dev->ifindex))
 		flow_offload_dead(flow);
 }
 
diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c
index 4711a8b..5881f66 100644
--- a/net/netfilter/nf_tables_api.c
+++ b/net/netfilter/nf_tables_api.c
@@ -24,6 +24,8 @@
 #include <net/net_namespace.h>
 #include <net/sock.h>
 
+#define NFT_MODULE_AUTOLOAD_LIMIT (MODULE_NAME_LEN - sizeof("nft-expr-255-"))
+
 static LIST_HEAD(nf_tables_expressions);
 static LIST_HEAD(nf_tables_objects);
 static LIST_HEAD(nf_tables_flowtables);
@@ -470,46 +472,60 @@
 static const struct nft_chain_type *chain_type[NFPROTO_NUMPROTO][NFT_CHAIN_T_MAX];
 
 static const struct nft_chain_type *
+__nft_chain_type_get(u8 family, enum nft_chain_types type)
+{
+	if (family >= NFPROTO_NUMPROTO ||
+	    type >= NFT_CHAIN_T_MAX)
+		return NULL;
+
+	return chain_type[family][type];
+}
+
+static const struct nft_chain_type *
 __nf_tables_chain_type_lookup(const struct nlattr *nla, u8 family)
 {
+	const struct nft_chain_type *type;
 	int i;
 
 	for (i = 0; i < NFT_CHAIN_T_MAX; i++) {
-		if (chain_type[family][i] != NULL &&
-		    !nla_strcmp(nla, chain_type[family][i]->name))
-			return chain_type[family][i];
+		type = __nft_chain_type_get(family, i);
+		if (!type)
+			continue;
+		if (!nla_strcmp(nla, type->name))
+			return type;
 	}
 	return NULL;
 }
 
 /*
- * Loading a module requires dropping mutex that guards the
- * transaction.
- * We first need to abort any pending transactions as once
- * mutex is unlocked a different client could start a new
- * transaction.  It must not see any 'future generation'
- * changes * as these changes will never happen.
+ * Loading a module requires dropping mutex that guards the transaction.
+ * A different client might race to start a new transaction meanwhile. Zap the
+ * list of pending transaction and then restore it once the mutex is grabbed
+ * again. Users of this function return EAGAIN which implicitly triggers the
+ * transaction abort path to clean up the list of pending transactions.
  */
 #ifdef CONFIG_MODULES
-static int __nf_tables_abort(struct net *net);
-
 static void nft_request_module(struct net *net, const char *fmt, ...)
 {
 	char module_name[MODULE_NAME_LEN];
+	LIST_HEAD(commit_list);
 	va_list args;
 	int ret;
 
-	__nf_tables_abort(net);
+	list_splice_init(&net->nft.commit_list, &commit_list);
 
 	va_start(args, fmt);
 	ret = vsnprintf(module_name, MODULE_NAME_LEN, fmt, args);
 	va_end(args);
-	if (WARN(ret >= MODULE_NAME_LEN, "truncated: '%s' (len %d)", module_name, ret))
+	if (ret >= MODULE_NAME_LEN)
 		return;
 
 	mutex_unlock(&net->nft.commit_mutex);
 	request_module("%s", module_name);
 	mutex_lock(&net->nft.commit_mutex);
+
+	WARN_ON_ONCE(!list_empty(&net->nft.commit_list));
+	list_splice(&commit_list, &net->nft.commit_list);
 }
 #endif
 
@@ -933,12 +949,18 @@
 	}
 
 	list_for_each_entry_safe(flowtable, nft, &ctx->table->flowtables, list) {
+		if (!nft_is_active_next(ctx->net, flowtable))
+			continue;
+
 		err = nft_delflowtable(ctx, flowtable);
 		if (err < 0)
 			goto out;
 	}
 
 	list_for_each_entry_safe(obj, ne, &ctx->table->objects, list) {
+		if (!nft_is_active_next(ctx->net, obj))
+			continue;
+
 		err = nft_delobj(ctx, obj);
 		if (err < 0)
 			goto out;
@@ -1041,11 +1063,8 @@
 
 void nft_register_chain_type(const struct nft_chain_type *ctype)
 {
-	if (WARN_ON(ctype->family >= NFPROTO_NUMPROTO))
-		return;
-
 	nfnl_lock(NFNL_SUBSYS_NFTABLES);
-	if (WARN_ON(chain_type[ctype->family][ctype->type] != NULL)) {
+	if (WARN_ON(__nft_chain_type_get(ctype->family, ctype->type))) {
 		nfnl_unlock(NFNL_SUBSYS_NFTABLES);
 		return;
 	}
@@ -1129,7 +1148,8 @@
 				    .len = NFT_CHAIN_MAXNAMELEN - 1 },
 	[NFTA_CHAIN_HOOK]	= { .type = NLA_NESTED },
 	[NFTA_CHAIN_POLICY]	= { .type = NLA_U32 },
-	[NFTA_CHAIN_TYPE]	= { .type = NLA_STRING },
+	[NFTA_CHAIN_TYPE]	= { .type = NLA_STRING,
+				    .len = NFT_MODULE_AUTOLOAD_LIMIT },
 	[NFTA_CHAIN_COUNTERS]	= { .type = NLA_NESTED },
 };
 
@@ -1501,7 +1521,10 @@
 	hook->num = ntohl(nla_get_be32(ha[NFTA_HOOK_HOOKNUM]));
 	hook->priority = ntohl(nla_get_be32(ha[NFTA_HOOK_PRIORITY]));
 
-	type = chain_type[family][NFT_CHAIN_T_DEFAULT];
+	type = __nft_chain_type_get(family, NFT_CHAIN_T_DEFAULT);
+	if (!type)
+		return -EOPNOTSUPP;
+
 	if (nla[NFTA_CHAIN_TYPE]) {
 		type = nf_tables_chain_type_lookup(net, nla[NFTA_CHAIN_TYPE],
 						   family, autoload);
@@ -2012,7 +2035,8 @@
 }
 
 static const struct nla_policy nft_expr_policy[NFTA_EXPR_MAX + 1] = {
-	[NFTA_EXPR_NAME]	= { .type = NLA_STRING },
+	[NFTA_EXPR_NAME]	= { .type = NLA_STRING,
+				    .len = NFT_MODULE_AUTOLOAD_LIMIT },
 	[NFTA_EXPR_DATA]	= { .type = NLA_NESTED },
 };
 
@@ -3796,7 +3820,8 @@
 	[NFTA_SET_ELEM_USERDATA]	= { .type = NLA_BINARY,
 					    .len = NFT_USERDATA_MAXLEN },
 	[NFTA_SET_ELEM_EXPR]		= { .type = NLA_NESTED },
-	[NFTA_SET_ELEM_OBJREF]		= { .type = NLA_STRING },
+	[NFTA_SET_ELEM_OBJREF]		= { .type = NLA_STRING,
+					    .len = NFT_OBJ_MAXNAMELEN - 1 },
 };
 
 static const struct nla_policy nft_set_elem_list_policy[NFTA_SET_ELEM_LIST_MAX + 1] = {
diff --git a/net/netfilter/nft_flow_offload.c b/net/netfilter/nft_flow_offload.c
index 1ef8cb7..166edea 100644
--- a/net/netfilter/nft_flow_offload.c
+++ b/net/netfilter/nft_flow_offload.c
@@ -103,8 +103,7 @@
 	    ct->status & IPS_SEQ_ADJUST)
 		goto out;
 
-	if (ctinfo == IP_CT_NEW ||
-	    ctinfo == IP_CT_RELATED)
+	if (!nf_ct_is_confirmed(ct))
 		goto out;
 
 	if (test_and_set_bit(IPS_OFFLOAD_BIT, &ct->status))
diff --git a/net/netfilter/nft_osf.c b/net/netfilter/nft_osf.c
index a35fb59..a003533 100644
--- a/net/netfilter/nft_osf.c
+++ b/net/netfilter/nft_osf.c
@@ -47,6 +47,9 @@
 	struct nft_osf *priv = nft_expr_priv(expr);
 	int err;
 
+	if (!tb[NFTA_OSF_DREG])
+		return -EINVAL;
+
 	priv->dreg = nft_parse_register(tb[NFTA_OSF_DREG]);
 	err = nft_validate_register_store(ctx, priv->dreg, NULL,
 					  NFT_DATA_VALUE, NFT_OSF_MAXGENRELEN);
@@ -69,6 +72,15 @@
 	return -1;
 }
 
+static int nft_osf_validate(const struct nft_ctx *ctx,
+			    const struct nft_expr *expr,
+			    const struct nft_data **data)
+{
+	return nft_chain_validate_hooks(ctx->chain, (1 << NF_INET_LOCAL_IN) |
+						    (1 << NF_INET_PRE_ROUTING) |
+						    (1 << NF_INET_FORWARD));
+}
+
 static struct nft_expr_type nft_osf_type;
 static const struct nft_expr_ops nft_osf_op = {
 	.eval		= nft_osf_eval,
@@ -76,6 +88,7 @@
 	.init		= nft_osf_init,
 	.dump		= nft_osf_dump,
 	.type		= &nft_osf_type,
+	.validate	= nft_osf_validate,
 };
 
 static struct nft_expr_type nft_osf_type __read_mostly = {
diff --git a/net/netfilter/nft_set_hash.c b/net/netfilter/nft_set_hash.c
index 015124e..05118e0 100644
--- a/net/netfilter/nft_set_hash.c
+++ b/net/netfilter/nft_set_hash.c
@@ -488,6 +488,23 @@
 	return false;
 }
 
+static u32 nft_jhash(const struct nft_set *set, const struct nft_hash *priv,
+		     const struct nft_set_ext *ext)
+{
+	const struct nft_data *key = nft_set_ext_key(ext);
+	u32 hash, k1;
+
+	if (set->klen == 4) {
+		k1 = *(u32 *)key;
+		hash = jhash_1word(k1, priv->seed);
+	} else {
+		hash = jhash(key, set->klen, priv->seed);
+	}
+	hash = reciprocal_scale(hash, priv->buckets);
+
+	return hash;
+}
+
 static int nft_hash_insert(const struct net *net, const struct nft_set *set,
 			   const struct nft_set_elem *elem,
 			   struct nft_set_ext **ext)
@@ -497,8 +514,7 @@
 	u8 genmask = nft_genmask_next(net);
 	u32 hash;
 
-	hash = jhash(nft_set_ext_key(&this->ext), set->klen, priv->seed);
-	hash = reciprocal_scale(hash, priv->buckets);
+	hash = nft_jhash(set, priv, &this->ext);
 	hlist_for_each_entry(he, &priv->table[hash], node) {
 		if (!memcmp(nft_set_ext_key(&this->ext),
 			    nft_set_ext_key(&he->ext), set->klen) &&
@@ -537,10 +553,9 @@
 	u8 genmask = nft_genmask_next(net);
 	u32 hash;
 
-	hash = jhash(nft_set_ext_key(&this->ext), set->klen, priv->seed);
-	hash = reciprocal_scale(hash, priv->buckets);
+	hash = nft_jhash(set, priv, &this->ext);
 	hlist_for_each_entry(he, &priv->table[hash], node) {
-		if (!memcmp(nft_set_ext_key(&this->ext), &elem->key.val,
+		if (!memcmp(nft_set_ext_key(&he->ext), &elem->key.val,
 			    set->klen) &&
 		    nft_set_elem_active(&he->ext, genmask)) {
 			nft_set_elem_change_active(net, set, &he->ext);
diff --git a/net/netfilter/nft_tunnel.c b/net/netfilter/nft_tunnel.c
index 3a15f21..1c6d15e 100644
--- a/net/netfilter/nft_tunnel.c
+++ b/net/netfilter/nft_tunnel.c
@@ -56,7 +56,7 @@
 	struct nft_tunnel *priv = nft_expr_priv(expr);
 	u32 len;
 
-	if (!tb[NFTA_TUNNEL_KEY] &&
+	if (!tb[NFTA_TUNNEL_KEY] ||
 	    !tb[NFTA_TUNNEL_DREG])
 		return -EINVAL;
 
@@ -218,8 +218,9 @@
 }
 
 static const struct nla_policy nft_tunnel_opts_erspan_policy[NFTA_TUNNEL_KEY_ERSPAN_MAX + 1] = {
+	[NFTA_TUNNEL_KEY_ERSPAN_VERSION]	= { .type = NLA_U32 },
 	[NFTA_TUNNEL_KEY_ERSPAN_V1_INDEX]	= { .type = NLA_U32 },
-	[NFTA_TUNNEL_KEY_ERSPAN_V2_DIR]	= { .type = NLA_U8 },
+	[NFTA_TUNNEL_KEY_ERSPAN_V2_DIR]		= { .type = NLA_U8 },
 	[NFTA_TUNNEL_KEY_ERSPAN_V2_HWID]	= { .type = NLA_U8 },
 };
 
@@ -235,6 +236,9 @@
 	if (err < 0)
 		return err;
 
+	if (!tb[NFTA_TUNNEL_KEY_ERSPAN_VERSION])
+		 return -EINVAL;
+
 	version = ntohl(nla_get_be32(tb[NFTA_TUNNEL_KEY_ERSPAN_VERSION]));
 	switch (version) {
 	case ERSPAN_VERSION:
@@ -463,8 +467,8 @@
 static int nft_tunnel_ports_dump(struct sk_buff *skb,
 				 struct ip_tunnel_info *info)
 {
-	if (nla_put_be16(skb, NFTA_TUNNEL_KEY_SPORT, htons(info->key.tp_src)) < 0 ||
-	    nla_put_be16(skb, NFTA_TUNNEL_KEY_DPORT, htons(info->key.tp_dst)) < 0)
+	if (nla_put_be16(skb, NFTA_TUNNEL_KEY_SPORT, info->key.tp_src) < 0 ||
+	    nla_put_be16(skb, NFTA_TUNNEL_KEY_DPORT, info->key.tp_dst) < 0)
 		return -1;
 
 	return 0;
diff --git a/net/netfilter/xt_hashlimit.c b/net/netfilter/xt_hashlimit.c
index 1ad4017..0c2dc6d 100644
--- a/net/netfilter/xt_hashlimit.c
+++ b/net/netfilter/xt_hashlimit.c
@@ -845,6 +845,8 @@
 	return hashlimit_mt_common(skb, par, hinfo, &info->cfg, 3);
 }
 
+#define HASHLIMIT_MAX_SIZE 1048576
+
 static int hashlimit_mt_check_common(const struct xt_mtchk_param *par,
 				     struct xt_hashlimit_htable **hinfo,
 				     struct hashlimit_cfg3 *cfg,
@@ -855,6 +857,14 @@
 
 	if (cfg->gc_interval == 0 || cfg->expire == 0)
 		return -EINVAL;
+	if (cfg->size > HASHLIMIT_MAX_SIZE) {
+		cfg->size = HASHLIMIT_MAX_SIZE;
+		pr_info_ratelimited("size too large, truncated to %u\n", cfg->size);
+	}
+	if (cfg->max > HASHLIMIT_MAX_SIZE) {
+		cfg->max = HASHLIMIT_MAX_SIZE;
+		pr_info_ratelimited("max too large, truncated to %u\n", cfg->max);
+	}
 	if (par->family == NFPROTO_IPV4) {
 		if (cfg->srcmask > 32 || cfg->dstmask > 32)
 			return -EINVAL;
diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
index 930d17f..4a1b1bb 100644
--- a/net/netlink/af_netlink.c
+++ b/net/netlink/af_netlink.c
@@ -1029,7 +1029,8 @@
 	if (nlk->netlink_bind && groups) {
 		int group;
 
-		for (group = 0; group < nlk->ngroups; group++) {
+		/* nl_groups is a u32, so cap the maximum groups we can bind */
+		for (group = 0; group < BITS_PER_TYPE(u32); group++) {
 			if (!test_bit(group, &groups))
 				continue;
 			err = nlk->netlink_bind(net, group + 1);
@@ -1048,7 +1049,7 @@
 			netlink_insert(sk, nladdr->nl_pid) :
 			netlink_autobind(sock);
 		if (err) {
-			netlink_undo_bind(nlk->ngroups, groups, sk);
+			netlink_undo_bind(BITS_PER_TYPE(u32), groups, sk);
 			goto unlock;
 		}
 	}
diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
index fa6cc71..6fd71a2 100644
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
@@ -1297,15 +1297,21 @@
 
 static bool fanout_flow_is_huge(struct packet_sock *po, struct sk_buff *skb)
 {
-	u32 rxhash;
+	u32 *history = po->rollover->history;
+	u32 victim, rxhash;
 	int i, count = 0;
 
 	rxhash = skb_get_hash(skb);
 	for (i = 0; i < ROLLOVER_HLEN; i++)
-		if (po->rollover->history[i] == rxhash)
+		if (READ_ONCE(history[i]) == rxhash)
 			count++;
 
-	po->rollover->history[prandom_u32() % ROLLOVER_HLEN] = rxhash;
+	victim = prandom_u32() % ROLLOVER_HLEN;
+
+	/* Avoid dirtying the cache line if possible */
+	if (READ_ONCE(history[victim]) != rxhash)
+		WRITE_ONCE(history[victim], rxhash);
+
 	return count > (ROLLOVER_HLEN >> 1);
 }
 
@@ -3371,20 +3377,29 @@
 	sock_recv_ts_and_drops(msg, sk, skb);
 
 	if (msg->msg_name) {
+		int copy_len;
+
 		/* If the address length field is there to be filled
 		 * in, we fill it in now.
 		 */
 		if (sock->type == SOCK_PACKET) {
 			__sockaddr_check_size(sizeof(struct sockaddr_pkt));
 			msg->msg_namelen = sizeof(struct sockaddr_pkt);
+			copy_len = msg->msg_namelen;
 		} else {
 			struct sockaddr_ll *sll = &PACKET_SKB_CB(skb)->sa.ll;
 
 			msg->msg_namelen = sll->sll_halen +
 				offsetof(struct sockaddr_ll, sll_addr);
+			copy_len = msg->msg_namelen;
+			if (msg->msg_namelen < sizeof(struct sockaddr_ll)) {
+				memset(msg->msg_name +
+				       offsetof(struct sockaddr_ll, sll_addr),
+				       0, sizeof(sll->sll_addr));
+				msg->msg_namelen = sizeof(struct sockaddr_ll);
+			}
 		}
-		memcpy(msg->msg_name, &PACKET_SKB_CB(skb)->sa,
-		       msg->msg_namelen);
+		memcpy(msg->msg_name, &PACKET_SKB_CB(skb)->sa, copy_len);
 	}
 
 	if (pkt_sk(sk)->auxdata) {
diff --git a/net/qrtr/qrtr.c b/net/qrtr/qrtr.c
index 6f1f1d5..5871058 100644
--- a/net/qrtr/qrtr.c
+++ b/net/qrtr/qrtr.c
@@ -649,7 +649,7 @@
 	 * cause APPS suspend problems and power drain issue.
 	 */
 	if (!node->ws && (nid == 0 || nid == 3 || nid == 7))
-		node->ws = wakeup_source_register(name);
+		node->ws = wakeup_source_register(NULL, name);
 }
 
 /**
diff --git a/net/rds/ib_stats.c b/net/rds/ib_stats.c
index 9252ad1..ac46d89 100644
--- a/net/rds/ib_stats.c
+++ b/net/rds/ib_stats.c
@@ -42,7 +42,7 @@
 static const char *const rds_ib_stat_names[] = {
 	"ib_connect_raced",
 	"ib_listen_closed_stale",
-	"s_ib_evt_handler_call",
+	"ib_evt_handler_call",
 	"ib_tasklet_call",
 	"ib_tx_cq_event",
 	"ib_tx_ring_full",
diff --git a/net/rds/stats.c b/net/rds/stats.c
index 73be187..6bbab4d 100644
--- a/net/rds/stats.c
+++ b/net/rds/stats.c
@@ -76,6 +76,8 @@
 	"cong_update_received",
 	"cong_send_error",
 	"cong_send_blocked",
+	"recv_bytes_added_to_sock",
+	"recv_bytes_freed_fromsock",
 };
 
 void rds_stats_info_copy(struct rds_info_iterator *iter,
diff --git a/net/rxrpc/af_rxrpc.c b/net/rxrpc/af_rxrpc.c
index 7319d3c..57f835d 100644
--- a/net/rxrpc/af_rxrpc.c
+++ b/net/rxrpc/af_rxrpc.c
@@ -196,6 +196,7 @@
 service_in_use:
 	write_unlock(&local->services_lock);
 	rxrpc_unuse_local(local);
+	rxrpc_put_local(local);
 	ret = -EADDRINUSE;
 error_unlock:
 	release_sock(&rx->sk);
@@ -869,7 +870,6 @@
 static int rxrpc_release_sock(struct sock *sk)
 {
 	struct rxrpc_sock *rx = rxrpc_sk(sk);
-	struct rxrpc_net *rxnet = rxrpc_net(sock_net(&rx->sk));
 
 	_enter("%p{%d,%d}", sk, sk->sk_state, refcount_read(&sk->sk_refcnt));
 
@@ -905,10 +905,9 @@
 	rxrpc_release_calls_on_socket(rx);
 	flush_workqueue(rxrpc_workqueue);
 	rxrpc_purge_queue(&sk->sk_receive_queue);
-	rxrpc_queue_work(&rxnet->service_conn_reaper);
-	rxrpc_queue_work(&rxnet->client_conn_reaper);
 
 	rxrpc_unuse_local(rx->local);
+	rxrpc_put_local(rx->local);
 	rx->local = NULL;
 	key_put(rx->key);
 	rx->key = NULL;
diff --git a/net/rxrpc/ar-internal.h b/net/rxrpc/ar-internal.h
index 8d72e94..8ef9fb5 100644
--- a/net/rxrpc/ar-internal.h
+++ b/net/rxrpc/ar-internal.h
@@ -484,6 +484,7 @@
 	RXRPC_CALL_BEGAN_RX_TIMER,	/* We began the expect_rx_by timer */
 	RXRPC_CALL_RX_HEARD,		/* The peer responded at least once to this call */
 	RXRPC_CALL_RX_UNDERRUN,		/* Got data underrun */
+	RXRPC_CALL_DISCONNECTED,	/* The call has been disconnected */
 };
 
 /*
@@ -644,6 +645,7 @@
 	u8			ackr_reason;	/* reason to ACK */
 	u16			ackr_skew;	/* skew on packet being ACK'd */
 	rxrpc_serial_t		ackr_serial;	/* serial of packet being ACK'd */
+	rxrpc_serial_t		ackr_first_seq;	/* first sequence number received */
 	rxrpc_seq_t		ackr_prev_seq;	/* previous sequence number received */
 	rxrpc_seq_t		ackr_consumed;	/* Highest packet shown consumed */
 	rxrpc_seq_t		ackr_seen;	/* Highest packet shown seen */
@@ -902,6 +904,7 @@
 void rxrpc_put_client_conn(struct rxrpc_connection *);
 void rxrpc_discard_expired_client_conns(struct work_struct *);
 void rxrpc_destroy_all_client_connections(struct rxrpc_net *);
+void rxrpc_clean_up_local_conns(struct rxrpc_local *);
 
 /*
  * conn_event.c
@@ -1004,6 +1007,16 @@
 void rxrpc_queue_local(struct rxrpc_local *);
 void rxrpc_destroy_all_locals(struct rxrpc_net *);
 
+static inline bool __rxrpc_unuse_local(struct rxrpc_local *local)
+{
+	return atomic_dec_return(&local->active_users) == 0;
+}
+
+static inline bool __rxrpc_use_local(struct rxrpc_local *local)
+{
+	return atomic_fetch_add_unless(&local->active_users, 1, 0) != 0;
+}
+
 /*
  * misc.c
  */
diff --git a/net/rxrpc/call_accept.c b/net/rxrpc/call_accept.c
index 8079aac..c5566bc 100644
--- a/net/rxrpc/call_accept.c
+++ b/net/rxrpc/call_accept.c
@@ -88,7 +88,7 @@
 		smp_store_release(&b->conn_backlog_head,
 				  (head + 1) & (size - 1));
 
-		trace_rxrpc_conn(conn, rxrpc_conn_new_service,
+		trace_rxrpc_conn(conn->debug_id, rxrpc_conn_new_service,
 				 atomic_read(&conn->usage), here);
 	}
 
diff --git a/net/rxrpc/call_object.c b/net/rxrpc/call_object.c
index 215f4d9..964c4e4 100644
--- a/net/rxrpc/call_object.c
+++ b/net/rxrpc/call_object.c
@@ -520,7 +520,7 @@
 
 	_debug("RELEASE CALL %p (%d CONN %p)", call, call->debug_id, conn);
 
-	if (conn)
+	if (conn && !test_bit(RXRPC_CALL_DISCONNECTED, &call->flags))
 		rxrpc_disconnect_call(call);
 
 	for (i = 0; i < RXRPC_RXTX_BUFF_SIZE; i++) {
@@ -647,13 +647,14 @@
 }
 
 /*
- * Final call destruction under RCU.
+ * Final call destruction - but must be done in process context.
  */
-static void rxrpc_rcu_destroy_call(struct rcu_head *rcu)
+static void rxrpc_destroy_call(struct work_struct *work)
 {
-	struct rxrpc_call *call = container_of(rcu, struct rxrpc_call, rcu);
+	struct rxrpc_call *call = container_of(work, struct rxrpc_call, processor);
 	struct rxrpc_net *rxnet = call->rxnet;
 
+	rxrpc_put_connection(call->conn);
 	rxrpc_put_peer(call->peer);
 	kfree(call->rxtx_buffer);
 	kfree(call->rxtx_annotations);
@@ -663,6 +664,22 @@
 }
 
 /*
+ * Final call destruction under RCU.
+ */
+static void rxrpc_rcu_destroy_call(struct rcu_head *rcu)
+{
+	struct rxrpc_call *call = container_of(rcu, struct rxrpc_call, rcu);
+
+	if (in_softirq()) {
+		INIT_WORK(&call->processor, rxrpc_destroy_call);
+		if (!rxrpc_queue_work(&call->processor))
+			BUG();
+	} else {
+		rxrpc_destroy_call(&call->processor);
+	}
+}
+
+/*
  * clean up a call
  */
 void rxrpc_cleanup_call(struct rxrpc_call *call)
@@ -677,7 +694,6 @@
 
 	ASSERTCMP(call->state, ==, RXRPC_CALL_COMPLETE);
 	ASSERT(test_bit(RXRPC_CALL_RELEASED, &call->flags));
-	ASSERTCMP(call->conn, ==, NULL);
 
 	/* Clean up the Rx/Tx buffer */
 	for (i = 0; i < RXRPC_RXTX_BUFF_SIZE; i++)
diff --git a/net/rxrpc/conn_client.c b/net/rxrpc/conn_client.c
index c979a56..4ffc7b8 100644
--- a/net/rxrpc/conn_client.c
+++ b/net/rxrpc/conn_client.c
@@ -217,7 +217,8 @@
 	rxrpc_get_local(conn->params.local);
 	key_get(conn->params.key);
 
-	trace_rxrpc_conn(conn, rxrpc_conn_new_client, atomic_read(&conn->usage),
+	trace_rxrpc_conn(conn->debug_id, rxrpc_conn_new_client,
+			 atomic_read(&conn->usage),
 			 __builtin_return_address(0));
 	trace_rxrpc_client(conn, -1, rxrpc_client_alloc);
 	_leave(" = %p", conn);
@@ -785,6 +786,7 @@
 	u32 cid;
 
 	spin_lock(&conn->channel_lock);
+	set_bit(RXRPC_CALL_DISCONNECTED, &call->flags);
 
 	cid = call->cid;
 	if (cid) {
@@ -792,7 +794,6 @@
 		chan = &conn->channels[channel];
 	}
 	trace_rxrpc_client(conn, channel, rxrpc_client_chan_disconnect);
-	call->conn = NULL;
 
 	/* Calls that have never actually been assigned a channel can simply be
 	 * discarded.  If the conn didn't get used either, it will follow
@@ -908,7 +909,6 @@
 	spin_unlock(&rxnet->client_conn_cache_lock);
 out_2:
 	spin_unlock(&conn->channel_lock);
-	rxrpc_put_connection(conn);
 	_leave("");
 	return;
 
@@ -989,11 +989,12 @@
 void rxrpc_put_client_conn(struct rxrpc_connection *conn)
 {
 	const void *here = __builtin_return_address(0);
+	unsigned int debug_id = conn->debug_id;
 	int n;
 
 	do {
 		n = atomic_dec_return(&conn->usage);
-		trace_rxrpc_conn(conn, rxrpc_conn_put_client, n, here);
+		trace_rxrpc_conn(debug_id, rxrpc_conn_put_client, n, here);
 		if (n > 0)
 			return;
 		ASSERTCMP(n, >=, 0);
@@ -1166,3 +1167,47 @@
 
 	_leave("");
 }
+
+/*
+ * Clean up the client connections on a local endpoint.
+ */
+void rxrpc_clean_up_local_conns(struct rxrpc_local *local)
+{
+	struct rxrpc_connection *conn, *tmp;
+	struct rxrpc_net *rxnet = local->rxnet;
+	unsigned int nr_active;
+	LIST_HEAD(graveyard);
+
+	_enter("");
+
+	spin_lock(&rxnet->client_conn_cache_lock);
+	nr_active = rxnet->nr_active_client_conns;
+
+	list_for_each_entry_safe(conn, tmp, &rxnet->idle_client_conns,
+				 cache_link) {
+		if (conn->params.local == local) {
+			ASSERTCMP(conn->cache_state, ==, RXRPC_CONN_CLIENT_IDLE);
+
+			trace_rxrpc_client(conn, -1, rxrpc_client_discard);
+			if (!test_and_clear_bit(RXRPC_CONN_EXPOSED, &conn->flags))
+				BUG();
+			conn->cache_state = RXRPC_CONN_CLIENT_INACTIVE;
+			list_move(&conn->cache_link, &graveyard);
+			nr_active--;
+		}
+	}
+
+	rxnet->nr_active_client_conns = nr_active;
+	spin_unlock(&rxnet->client_conn_cache_lock);
+	ASSERTCMP(nr_active, >=, 0);
+
+	while (!list_empty(&graveyard)) {
+		conn = list_entry(graveyard.next,
+				  struct rxrpc_connection, cache_link);
+		list_del_init(&conn->cache_link);
+
+		rxrpc_put_connection(conn);
+	}
+
+	_leave(" [culled]");
+}
diff --git a/net/rxrpc/conn_event.c b/net/rxrpc/conn_event.c
index b6fca8e..126154a 100644
--- a/net/rxrpc/conn_event.c
+++ b/net/rxrpc/conn_event.c
@@ -453,16 +453,12 @@
 /*
  * connection-level event processor
  */
-void rxrpc_process_connection(struct work_struct *work)
+static void rxrpc_do_process_connection(struct rxrpc_connection *conn)
 {
-	struct rxrpc_connection *conn =
-		container_of(work, struct rxrpc_connection, processor);
 	struct sk_buff *skb;
 	u32 abort_code = RX_PROTOCOL_ERROR;
 	int ret;
 
-	rxrpc_see_connection(conn);
-
 	if (test_and_clear_bit(RXRPC_CONN_EV_CHALLENGE, &conn->events))
 		rxrpc_secure_connection(conn);
 
@@ -490,18 +486,33 @@
 		}
 	}
 
-out:
-	rxrpc_put_connection(conn);
-	_leave("");
 	return;
 
 requeue_and_leave:
 	skb_queue_head(&conn->rx_queue, skb);
-	goto out;
+	return;
 
 protocol_error:
 	if (rxrpc_abort_connection(conn, ret, abort_code) < 0)
 		goto requeue_and_leave;
 	rxrpc_free_skb(skb, rxrpc_skb_rx_freed);
-	goto out;
+	return;
 }
+
+void rxrpc_process_connection(struct work_struct *work)
+{
+	struct rxrpc_connection *conn =
+		container_of(work, struct rxrpc_connection, processor);
+
+	rxrpc_see_connection(conn);
+
+	if (__rxrpc_use_local(conn->params.local)) {
+		rxrpc_do_process_connection(conn);
+		rxrpc_unuse_local(conn->params.local);
+	}
+
+	rxrpc_put_connection(conn);
+	_leave("");
+	return;
+}
+
diff --git a/net/rxrpc/conn_object.c b/net/rxrpc/conn_object.c
index 885dae8..c4c4450 100644
--- a/net/rxrpc/conn_object.c
+++ b/net/rxrpc/conn_object.c
@@ -226,9 +226,8 @@
 	__rxrpc_disconnect_call(conn, call);
 	spin_unlock(&conn->channel_lock);
 
-	call->conn = NULL;
+	set_bit(RXRPC_CALL_DISCONNECTED, &call->flags);
 	conn->idle_timestamp = jiffies;
-	rxrpc_put_connection(conn);
 }
 
 /*
@@ -272,7 +271,7 @@
 	if (n == 0)
 		return false;
 	if (rxrpc_queue_work(&conn->processor))
-		trace_rxrpc_conn(conn, rxrpc_conn_queued, n + 1, here);
+		trace_rxrpc_conn(conn->debug_id, rxrpc_conn_queued, n + 1, here);
 	else
 		rxrpc_put_connection(conn);
 	return true;
@@ -287,7 +286,7 @@
 	if (conn) {
 		int n = atomic_read(&conn->usage);
 
-		trace_rxrpc_conn(conn, rxrpc_conn_seen, n, here);
+		trace_rxrpc_conn(conn->debug_id, rxrpc_conn_seen, n, here);
 	}
 }
 
@@ -299,7 +298,7 @@
 	const void *here = __builtin_return_address(0);
 	int n = atomic_inc_return(&conn->usage);
 
-	trace_rxrpc_conn(conn, rxrpc_conn_got, n, here);
+	trace_rxrpc_conn(conn->debug_id, rxrpc_conn_got, n, here);
 }
 
 /*
@@ -313,7 +312,7 @@
 	if (conn) {
 		int n = atomic_fetch_add_unless(&conn->usage, 1, 0);
 		if (n > 0)
-			trace_rxrpc_conn(conn, rxrpc_conn_got, n + 1, here);
+			trace_rxrpc_conn(conn->debug_id, rxrpc_conn_got, n + 1, here);
 		else
 			conn = NULL;
 	}
@@ -336,10 +335,11 @@
 void rxrpc_put_service_conn(struct rxrpc_connection *conn)
 {
 	const void *here = __builtin_return_address(0);
+	unsigned int debug_id = conn->debug_id;
 	int n;
 
 	n = atomic_dec_return(&conn->usage);
-	trace_rxrpc_conn(conn, rxrpc_conn_put_service, n, here);
+	trace_rxrpc_conn(debug_id, rxrpc_conn_put_service, n, here);
 	ASSERTCMP(n, >=, 0);
 	if (n == 1)
 		rxrpc_set_service_reap_timer(conn->params.local->rxnet,
@@ -401,7 +401,7 @@
 		if (conn->state == RXRPC_CONN_SERVICE_PREALLOC)
 			continue;
 
-		if (rxnet->live) {
+		if (rxnet->live && !conn->params.local->dead) {
 			idle_timestamp = READ_ONCE(conn->idle_timestamp);
 			expire_at = idle_timestamp + rxrpc_connection_expiry * HZ;
 			if (conn->params.local->service_closed)
@@ -423,7 +423,7 @@
 		 */
 		if (atomic_cmpxchg(&conn->usage, 1, 0) != 1)
 			continue;
-		trace_rxrpc_conn(conn, rxrpc_conn_reap_service, 0, NULL);
+		trace_rxrpc_conn(conn->debug_id, rxrpc_conn_reap_service, 0, NULL);
 
 		if (rxrpc_conn_is_client(conn))
 			BUG();
diff --git a/net/rxrpc/conn_service.c b/net/rxrpc/conn_service.c
index 80773a5..6da7c4b 100644
--- a/net/rxrpc/conn_service.c
+++ b/net/rxrpc/conn_service.c
@@ -138,7 +138,7 @@
 		list_add_tail(&conn->proc_link, &rxnet->conn_proc_list);
 		write_unlock(&rxnet->conn_lock);
 
-		trace_rxrpc_conn(conn, rxrpc_conn_new_service,
+		trace_rxrpc_conn(conn->debug_id, rxrpc_conn_new_service,
 				 atomic_read(&conn->usage),
 				 __builtin_return_address(0));
 	}
diff --git a/net/rxrpc/input.c b/net/rxrpc/input.c
index 7965600..d9beb28f 100644
--- a/net/rxrpc/input.c
+++ b/net/rxrpc/input.c
@@ -612,10 +612,8 @@
 				  false, true,
 				  rxrpc_propose_ack_input_data);
 
-	if (sp->hdr.seq == READ_ONCE(call->rx_hard_ack) + 1) {
-		trace_rxrpc_notify_socket(call->debug_id, serial);
-		rxrpc_notify_socket(call);
-	}
+	trace_rxrpc_notify_socket(call->debug_id, serial);
+	rxrpc_notify_socket(call);
 
 unlock:
 	spin_unlock(&call->input_lock);
@@ -837,7 +835,7 @@
 		u8 acks[RXRPC_MAXACKS];
 	} buf;
 	rxrpc_serial_t acked_serial;
-	rxrpc_seq_t first_soft_ack, hard_ack;
+	rxrpc_seq_t first_soft_ack, hard_ack, prev_pkt;
 	int nr_acks, offset, ioffset;
 
 	_enter("");
@@ -851,13 +849,14 @@
 
 	acked_serial = ntohl(buf.ack.serial);
 	first_soft_ack = ntohl(buf.ack.firstPacket);
+	prev_pkt = ntohl(buf.ack.previousPacket);
 	hard_ack = first_soft_ack - 1;
 	nr_acks = buf.ack.nAcks;
 	summary.ack_reason = (buf.ack.reason < RXRPC_ACK__INVALID ?
 			      buf.ack.reason : RXRPC_ACK__INVALID);
 
 	trace_rxrpc_rx_ack(call, sp->hdr.serial, acked_serial,
-			   first_soft_ack, ntohl(buf.ack.previousPacket),
+			   first_soft_ack, prev_pkt,
 			   summary.ack_reason, nr_acks);
 
 	if (buf.ack.reason == RXRPC_ACK_PING_RESPONSE)
@@ -878,8 +877,9 @@
 				  rxrpc_propose_ack_respond_to_ack);
 	}
 
-	/* Discard any out-of-order or duplicate ACKs. */
-	if (before_eq(sp->hdr.serial, call->acks_latest))
+	/* Discard any out-of-order or duplicate ACKs (outside lock). */
+	if (before(first_soft_ack, call->ackr_first_seq) ||
+	    before(prev_pkt, call->ackr_prev_seq))
 		return;
 
 	buf.info.rxMTU = 0;
@@ -890,12 +890,16 @@
 
 	spin_lock(&call->input_lock);
 
-	/* Discard any out-of-order or duplicate ACKs. */
-	if (before_eq(sp->hdr.serial, call->acks_latest))
+	/* Discard any out-of-order or duplicate ACKs (inside lock). */
+	if (before(first_soft_ack, call->ackr_first_seq) ||
+	    before(prev_pkt, call->ackr_prev_seq))
 		goto out;
 	call->acks_latest_ts = skb->tstamp;
 	call->acks_latest = sp->hdr.serial;
 
+	call->ackr_first_seq = first_soft_ack;
+	call->ackr_prev_seq = prev_pkt;
+
 	/* Parse rwind and mtu sizes if provided. */
 	if (buf.info.rxMTU)
 		rxrpc_input_ackinfo(call, skb, &buf.info);
diff --git a/net/rxrpc/local_object.c b/net/rxrpc/local_object.c
index c752ad4..4c0087a48 100644
--- a/net/rxrpc/local_object.c
+++ b/net/rxrpc/local_object.c
@@ -368,11 +368,14 @@
 void rxrpc_put_local(struct rxrpc_local *local)
 {
 	const void *here = __builtin_return_address(0);
+	unsigned int debug_id;
 	int n;
 
 	if (local) {
+		debug_id = local->debug_id;
+
 		n = atomic_dec_return(&local->usage);
-		trace_rxrpc_local(local->debug_id, rxrpc_local_put, n, here);
+		trace_rxrpc_local(debug_id, rxrpc_local_put, n, here);
 
 		if (n == 0)
 			call_rcu(&local->rcu, rxrpc_local_rcu);
@@ -384,14 +387,11 @@
  */
 struct rxrpc_local *rxrpc_use_local(struct rxrpc_local *local)
 {
-	unsigned int au;
-
 	local = rxrpc_get_local_maybe(local);
 	if (!local)
 		return NULL;
 
-	au = atomic_fetch_add_unless(&local->active_users, 1, 0);
-	if (au == 0) {
+	if (!__rxrpc_use_local(local)) {
 		rxrpc_put_local(local);
 		return NULL;
 	}
@@ -405,14 +405,11 @@
  */
 void rxrpc_unuse_local(struct rxrpc_local *local)
 {
-	unsigned int au;
-
 	if (local) {
-		au = atomic_dec_return(&local->active_users);
-		if (au == 0)
+		if (__rxrpc_unuse_local(local)) {
+			rxrpc_get_local(local);
 			rxrpc_queue_local(local);
-		else
-			rxrpc_put_local(local);
+		}
 	}
 }
 
@@ -430,11 +427,14 @@
 
 	_enter("%d", local->debug_id);
 
+	local->dead = true;
+
 	mutex_lock(&rxnet->local_mutex);
 	list_del_init(&local->link);
 	mutex_unlock(&rxnet->local_mutex);
 
-	ASSERT(RB_EMPTY_ROOT(&local->client_conns));
+	rxrpc_clean_up_local_conns(local);
+	rxrpc_service_connection_reaper(&rxnet->service_conn_reaper);
 	ASSERT(!local->service);
 
 	if (socket) {
@@ -466,7 +466,7 @@
 
 	do {
 		again = false;
-		if (atomic_read(&local->active_users) == 0) {
+		if (!__rxrpc_use_local(local)) {
 			rxrpc_local_destroyer(local);
 			break;
 		}
@@ -480,6 +480,8 @@
 			rxrpc_process_local_events(local);
 			again = true;
 		}
+
+		__rxrpc_unuse_local(local);
 	} while (again);
 
 	rxrpc_put_local(local);
diff --git a/net/rxrpc/output.c b/net/rxrpc/output.c
index 345dc1c..b0aa08e 100644
--- a/net/rxrpc/output.c
+++ b/net/rxrpc/output.c
@@ -133,7 +133,7 @@
 int rxrpc_send_ack_packet(struct rxrpc_call *call, bool ping,
 			  rxrpc_serial_t *_serial)
 {
-	struct rxrpc_connection *conn = NULL;
+	struct rxrpc_connection *conn;
 	struct rxrpc_ack_buffer *pkt;
 	struct msghdr msg;
 	struct kvec iov[2];
@@ -143,18 +143,14 @@
 	int ret;
 	u8 reason;
 
-	spin_lock_bh(&call->lock);
-	if (call->conn)
-		conn = rxrpc_get_connection_maybe(call->conn);
-	spin_unlock_bh(&call->lock);
-	if (!conn)
+	if (test_bit(RXRPC_CALL_DISCONNECTED, &call->flags))
 		return -ECONNRESET;
 
 	pkt = kzalloc(sizeof(*pkt), GFP_KERNEL);
-	if (!pkt) {
-		rxrpc_put_connection(conn);
+	if (!pkt)
 		return -ENOMEM;
-	}
+
+	conn = call->conn;
 
 	msg.msg_name	= &call->peer->srx.transport;
 	msg.msg_namelen	= call->peer->srx.transport_len;
@@ -249,7 +245,6 @@
 	}
 
 out:
-	rxrpc_put_connection(conn);
 	kfree(pkt);
 	return ret;
 }
@@ -259,7 +254,7 @@
  */
 int rxrpc_send_abort_packet(struct rxrpc_call *call)
 {
-	struct rxrpc_connection *conn = NULL;
+	struct rxrpc_connection *conn;
 	struct rxrpc_abort_buffer pkt;
 	struct msghdr msg;
 	struct kvec iov[1];
@@ -276,13 +271,11 @@
 	    test_bit(RXRPC_CALL_TX_LAST, &call->flags))
 		return 0;
 
-	spin_lock_bh(&call->lock);
-	if (call->conn)
-		conn = rxrpc_get_connection_maybe(call->conn);
-	spin_unlock_bh(&call->lock);
-	if (!conn)
+	if (test_bit(RXRPC_CALL_DISCONNECTED, &call->flags))
 		return -ECONNRESET;
 
+	conn = call->conn;
+
 	msg.msg_name	= &call->peer->srx.transport;
 	msg.msg_namelen	= call->peer->srx.transport_len;
 	msg.msg_control	= NULL;
@@ -317,8 +310,6 @@
 		trace_rxrpc_tx_packet(call->debug_id, &pkt.whdr,
 				      rxrpc_tx_point_call_abort);
 	rxrpc_tx_backoff(call, ret);
-
-	rxrpc_put_connection(conn);
 	return ret;
 }
 
@@ -524,6 +515,9 @@
 		}
 		break;
 #endif
+
+	default:
+		BUG();
 	}
 
 	if (ret < 0)
diff --git a/net/rxrpc/peer_event.c b/net/rxrpc/peer_event.c
index 42582a9..85bdc31 100644
--- a/net/rxrpc/peer_event.c
+++ b/net/rxrpc/peer_event.c
@@ -357,27 +357,31 @@
 		if (!rxrpc_get_peer_maybe(peer))
 			continue;
 
-		spin_unlock_bh(&rxnet->peer_hash_lock);
+		if (__rxrpc_use_local(peer->local)) {
+			spin_unlock_bh(&rxnet->peer_hash_lock);
 
-		keepalive_at = peer->last_tx_at + RXRPC_KEEPALIVE_TIME;
-		slot = keepalive_at - base;
-		_debug("%02x peer %u t=%d {%pISp}",
-		       cursor, peer->debug_id, slot, &peer->srx.transport);
+			keepalive_at = peer->last_tx_at + RXRPC_KEEPALIVE_TIME;
+			slot = keepalive_at - base;
+			_debug("%02x peer %u t=%d {%pISp}",
+			       cursor, peer->debug_id, slot, &peer->srx.transport);
 
-		if (keepalive_at <= base ||
-		    keepalive_at > base + RXRPC_KEEPALIVE_TIME) {
-			rxrpc_send_keepalive(peer);
-			slot = RXRPC_KEEPALIVE_TIME;
+			if (keepalive_at <= base ||
+			    keepalive_at > base + RXRPC_KEEPALIVE_TIME) {
+				rxrpc_send_keepalive(peer);
+				slot = RXRPC_KEEPALIVE_TIME;
+			}
+
+			/* A transmission to this peer occurred since last we
+			 * examined it so put it into the appropriate future
+			 * bucket.
+			 */
+			slot += cursor;
+			slot &= mask;
+			spin_lock_bh(&rxnet->peer_hash_lock);
+			list_add_tail(&peer->keepalive_link,
+				      &rxnet->peer_keepalive[slot & mask]);
+			rxrpc_unuse_local(peer->local);
 		}
-
-		/* A transmission to this peer occurred since last we examined
-		 * it so put it into the appropriate future bucket.
-		 */
-		slot += cursor;
-		slot &= mask;
-		spin_lock_bh(&rxnet->peer_hash_lock);
-		list_add_tail(&peer->keepalive_link,
-			      &rxnet->peer_keepalive[slot & mask]);
 		rxrpc_put_peer_locked(peer);
 	}
 
diff --git a/net/sched/act_csum.c b/net/sched/act_csum.c
index 1e26944..9ecbf8e 100644
--- a/net/sched/act_csum.c
+++ b/net/sched/act_csum.c
@@ -560,8 +560,11 @@
 			struct tcf_result *res)
 {
 	struct tcf_csum *p = to_tcf_csum(a);
+	bool orig_vlan_tag_present = false;
+	unsigned int vlan_hdr_count = 0;
 	struct tcf_csum_params *params;
 	u32 update_flags;
+	__be16 protocol;
 	int action;
 
 	params = rcu_dereference_bh(p->params);
@@ -574,7 +577,9 @@
 		goto drop;
 
 	update_flags = params->update_flags;
-	switch (tc_skb_protocol(skb)) {
+	protocol = tc_skb_protocol(skb);
+again:
+	switch (protocol) {
 	case cpu_to_be16(ETH_P_IP):
 		if (!tcf_csum_ipv4(skb, update_flags))
 			goto drop;
@@ -583,13 +588,35 @@
 		if (!tcf_csum_ipv6(skb, update_flags))
 			goto drop;
 		break;
+	case cpu_to_be16(ETH_P_8021AD): /* fall through */
+	case cpu_to_be16(ETH_P_8021Q):
+		if (skb_vlan_tag_present(skb) && !orig_vlan_tag_present) {
+			protocol = skb->protocol;
+			orig_vlan_tag_present = true;
+		} else {
+			struct vlan_hdr *vlan = (struct vlan_hdr *)skb->data;
+
+			protocol = vlan->h_vlan_encapsulated_proto;
+			skb_pull(skb, VLAN_HLEN);
+			skb_reset_network_header(skb);
+			vlan_hdr_count++;
+		}
+		goto again;
+	}
+
+out:
+	/* Restore the skb for the pulled VLAN tags */
+	while (vlan_hdr_count--) {
+		skb_push(skb, VLAN_HLEN);
+		skb_reset_network_header(skb);
 	}
 
 	return action;
 
 drop:
 	qstats_drop_inc(this_cpu_ptr(p->common.cpu_qstats));
-	return TC_ACT_SHOT;
+	action = TC_ACT_SHOT;
+	goto out;
 }
 
 static int tcf_csum_dump(struct sk_buff *skb, struct tc_action *a, int bind,
diff --git a/net/sched/act_mirred.c b/net/sched/act_mirred.c
index 399e3be..a30c17a 100644
--- a/net/sched/act_mirred.c
+++ b/net/sched/act_mirred.c
@@ -445,7 +445,11 @@
 		return err;
 
 	pr_info("Mirror/redirect action on\n");
-	return tcf_register_action(&act_mirred_ops, &mirred_net_ops);
+	err = tcf_register_action(&act_mirred_ops, &mirred_net_ops);
+	if (err)
+		unregister_netdevice_notifier(&mirred_device_notifier);
+
+	return err;
 }
 
 static void __exit mirred_cleanup_module(void)
diff --git a/net/sched/cls_basic.c b/net/sched/cls_basic.c
index 6a5dce8..14098da 100644
--- a/net/sched/cls_basic.c
+++ b/net/sched/cls_basic.c
@@ -254,12 +254,17 @@
 	}
 }
 
-static void basic_bind_class(void *fh, u32 classid, unsigned long cl)
+static void basic_bind_class(void *fh, u32 classid, unsigned long cl, void *q,
+			     unsigned long base)
 {
 	struct basic_filter *f = fh;
 
-	if (f && f->res.classid == classid)
-		f->res.class = cl;
+	if (f && f->res.classid == classid) {
+		if (cl)
+			__tcf_bind_filter(q, &f->res, base);
+		else
+			__tcf_unbind_filter(q, &f->res);
+	}
 }
 
 static int basic_dump(struct net *net, struct tcf_proto *tp, void *fh,
diff --git a/net/sched/cls_bpf.c b/net/sched/cls_bpf.c
index fa6fe2f..5d10012 100644
--- a/net/sched/cls_bpf.c
+++ b/net/sched/cls_bpf.c
@@ -627,12 +627,17 @@
 	return -1;
 }
 
-static void cls_bpf_bind_class(void *fh, u32 classid, unsigned long cl)
+static void cls_bpf_bind_class(void *fh, u32 classid, unsigned long cl,
+			       void *q, unsigned long base)
 {
 	struct cls_bpf_prog *prog = fh;
 
-	if (prog && prog->res.classid == classid)
-		prog->res.class = cl;
+	if (prog && prog->res.classid == classid) {
+		if (cl)
+			__tcf_bind_filter(q, &prog->res, base);
+		else
+			__tcf_unbind_filter(q, &prog->res);
+	}
 }
 
 static void cls_bpf_walk(struct tcf_proto *tp, struct tcf_walker *arg)
diff --git a/net/sched/cls_flower.c b/net/sched/cls_flower.c
index 09b3597..44ca31f 100644
--- a/net/sched/cls_flower.c
+++ b/net/sched/cls_flower.c
@@ -196,6 +196,7 @@
 	struct fl_flow_key skb_mkey;
 
 	list_for_each_entry_rcu(mask, &head->masks, list) {
+		flow_dissector_init_keys(&skb_key.control, &skb_key.basic);
 		fl_clear_masked_range(&skb_key, mask);
 
 		skb_key.indev_ifindex = skb->skb_iif;
@@ -486,6 +487,7 @@
 	[TCA_FLOWER_KEY_ENC_IP_TTL_MASK] = { .type = NLA_U8 },
 	[TCA_FLOWER_KEY_ENC_OPTS]	= { .type = NLA_NESTED },
 	[TCA_FLOWER_KEY_ENC_OPTS_MASK]	= { .type = NLA_NESTED },
+	[TCA_FLOWER_FLAGS]		= { .type = NLA_U32 },
 };
 
 static const struct nla_policy
@@ -1942,12 +1944,17 @@
 	return -EMSGSIZE;
 }
 
-static void fl_bind_class(void *fh, u32 classid, unsigned long cl)
+static void fl_bind_class(void *fh, u32 classid, unsigned long cl, void *q,
+			  unsigned long base)
 {
 	struct cls_fl_filter *f = fh;
 
-	if (f && f->res.classid == classid)
-		f->res.class = cl;
+	if (f && f->res.classid == classid) {
+		if (cl)
+			__tcf_bind_filter(q, &f->res, base);
+		else
+			__tcf_unbind_filter(q, &f->res);
+	}
 }
 
 static struct tcf_proto_ops cls_fl_ops __read_mostly = {
diff --git a/net/sched/cls_fw.c b/net/sched/cls_fw.c
index 29eeeaf..cb2c626 100644
--- a/net/sched/cls_fw.c
+++ b/net/sched/cls_fw.c
@@ -432,12 +432,17 @@
 	return -1;
 }
 
-static void fw_bind_class(void *fh, u32 classid, unsigned long cl)
+static void fw_bind_class(void *fh, u32 classid, unsigned long cl, void *q,
+			  unsigned long base)
 {
 	struct fw_filter *f = fh;
 
-	if (f && f->res.classid == classid)
-		f->res.class = cl;
+	if (f && f->res.classid == classid) {
+		if (cl)
+			__tcf_bind_filter(q, &f->res, base);
+		else
+			__tcf_unbind_filter(q, &f->res);
+	}
 }
 
 static struct tcf_proto_ops cls_fw_ops __read_mostly = {
diff --git a/net/sched/cls_matchall.c b/net/sched/cls_matchall.c
index 621bc1d..74863b0 100644
--- a/net/sched/cls_matchall.c
+++ b/net/sched/cls_matchall.c
@@ -137,6 +137,7 @@
 static const struct nla_policy mall_policy[TCA_MATCHALL_MAX + 1] = {
 	[TCA_MATCHALL_UNSPEC]		= { .type = NLA_UNSPEC },
 	[TCA_MATCHALL_CLASSID]		= { .type = NLA_U32 },
+	[TCA_MATCHALL_FLAGS]		= { .type = NLA_U32 },
 };
 
 static int mall_set_parms(struct net *net, struct tcf_proto *tp,
@@ -310,12 +311,17 @@
 	return -1;
 }
 
-static void mall_bind_class(void *fh, u32 classid, unsigned long cl)
+static void mall_bind_class(void *fh, u32 classid, unsigned long cl, void *q,
+			    unsigned long base)
 {
 	struct cls_mall_head *head = fh;
 
-	if (head && head->res.classid == classid)
-		head->res.class = cl;
+	if (head && head->res.classid == classid) {
+		if (cl)
+			__tcf_bind_filter(q, &head->res, base);
+		else
+			__tcf_unbind_filter(q, &head->res);
+	}
 }
 
 static struct tcf_proto_ops cls_mall_ops __read_mostly = {
diff --git a/net/sched/cls_route.c b/net/sched/cls_route.c
index 0404aa5..37ae23d 100644
--- a/net/sched/cls_route.c
+++ b/net/sched/cls_route.c
@@ -645,12 +645,17 @@
 	return -1;
 }
 
-static void route4_bind_class(void *fh, u32 classid, unsigned long cl)
+static void route4_bind_class(void *fh, u32 classid, unsigned long cl, void *q,
+			      unsigned long base)
 {
 	struct route4_filter *f = fh;
 
-	if (f && f->res.classid == classid)
-		f->res.class = cl;
+	if (f && f->res.classid == classid) {
+		if (cl)
+			__tcf_bind_filter(q, &f->res, base);
+		else
+			__tcf_unbind_filter(q, &f->res);
+	}
 }
 
 static struct tcf_proto_ops cls_route4_ops __read_mostly = {
diff --git a/net/sched/cls_rsvp.h b/net/sched/cls_rsvp.h
index e9ccf7d..eb1dd2a 100644
--- a/net/sched/cls_rsvp.h
+++ b/net/sched/cls_rsvp.h
@@ -466,10 +466,8 @@
 
 static const struct nla_policy rsvp_policy[TCA_RSVP_MAX + 1] = {
 	[TCA_RSVP_CLASSID]	= { .type = NLA_U32 },
-	[TCA_RSVP_DST]		= { .type = NLA_BINARY,
-				    .len = RSVP_DST_LEN * sizeof(u32) },
-	[TCA_RSVP_SRC]		= { .type = NLA_BINARY,
-				    .len = RSVP_DST_LEN * sizeof(u32) },
+	[TCA_RSVP_DST]		= { .len = RSVP_DST_LEN * sizeof(u32) },
+	[TCA_RSVP_SRC]		= { .len = RSVP_DST_LEN * sizeof(u32) },
 	[TCA_RSVP_PINFO]	= { .len = sizeof(struct tc_rsvp_pinfo) },
 };
 
@@ -736,12 +734,17 @@
 	return -1;
 }
 
-static void rsvp_bind_class(void *fh, u32 classid, unsigned long cl)
+static void rsvp_bind_class(void *fh, u32 classid, unsigned long cl, void *q,
+			    unsigned long base)
 {
 	struct rsvp_filter *f = fh;
 
-	if (f && f->res.classid == classid)
-		f->res.class = cl;
+	if (f && f->res.classid == classid) {
+		if (cl)
+			__tcf_bind_filter(q, &f->res, base);
+		else
+			__tcf_unbind_filter(q, &f->res);
+	}
 }
 
 static struct tcf_proto_ops RSVP_OPS __read_mostly = {
diff --git a/net/sched/cls_tcindex.c b/net/sched/cls_tcindex.c
index 38bb882..db4b5d9 100644
--- a/net/sched/cls_tcindex.c
+++ b/net/sched/cls_tcindex.c
@@ -333,23 +333,6 @@
 	cp->fall_through = p->fall_through;
 	cp->tp = tp;
 
-	if (p->perfect) {
-		int i;
-
-		if (tcindex_alloc_perfect_hash(net, cp) < 0)
-			goto errout;
-		for (i = 0; i < cp->hash; i++)
-			cp->perfect[i].res = p->perfect[i].res;
-		balloc = 1;
-	}
-	cp->h = p->h;
-
-	err = tcindex_filter_result_init(&new_filter_result);
-	if (err < 0)
-		goto errout1;
-	if (old_r)
-		cr = r->res;
-
 	if (tb[TCA_TCINDEX_HASH])
 		cp->hash = nla_get_u32(tb[TCA_TCINDEX_HASH]);
 
@@ -359,6 +342,33 @@
 	if (tb[TCA_TCINDEX_SHIFT])
 		cp->shift = nla_get_u32(tb[TCA_TCINDEX_SHIFT]);
 
+	if (!cp->hash) {
+		/* Hash not specified, use perfect hash if the upper limit
+		 * of the hashing index is below the threshold.
+		 */
+		if ((cp->mask >> cp->shift) < PERFECT_HASH_THRESHOLD)
+			cp->hash = (cp->mask >> cp->shift) + 1;
+		else
+			cp->hash = DEFAULT_HASH_SIZE;
+	}
+
+	if (p->perfect) {
+		int i;
+
+		if (tcindex_alloc_perfect_hash(net, cp) < 0)
+			goto errout;
+		for (i = 0; i < min(cp->hash, p->hash); i++)
+			cp->perfect[i].res = p->perfect[i].res;
+		balloc = 1;
+	}
+	cp->h = p->h;
+
+	err = tcindex_filter_result_init(&new_filter_result);
+	if (err < 0)
+		goto errout_alloc;
+	if (old_r)
+		cr = r->res;
+
 	err = -EBUSY;
 
 	/* Hash already allocated, make sure that we still meet the
@@ -376,16 +386,6 @@
 	if (tb[TCA_TCINDEX_FALL_THROUGH])
 		cp->fall_through = nla_get_u32(tb[TCA_TCINDEX_FALL_THROUGH]);
 
-	if (!cp->hash) {
-		/* Hash not specified, use perfect hash if the upper limit
-		 * of the hashing index is below the threshold.
-		 */
-		if ((cp->mask >> cp->shift) < PERFECT_HASH_THRESHOLD)
-			cp->hash = (cp->mask >> cp->shift) + 1;
-		else
-			cp->hash = DEFAULT_HASH_SIZE;
-	}
-
 	if (!cp->perfect && !cp->h)
 		cp->alloc_hash = cp->hash;
 
@@ -484,7 +484,6 @@
 		tcindex_free_perfect_hash(cp);
 	else if (balloc == 2)
 		kfree(cp->h);
-errout1:
 	tcf_exts_destroy(&new_filter_result.exts);
 errout:
 	kfree(cp);
@@ -652,12 +651,17 @@
 	return -1;
 }
 
-static void tcindex_bind_class(void *fh, u32 classid, unsigned long cl)
+static void tcindex_bind_class(void *fh, u32 classid, unsigned long cl,
+			       void *q, unsigned long base)
 {
 	struct tcindex_filter_result *r = fh;
 
-	if (r && r->res.classid == classid)
-		r->res.class = cl;
+	if (r && r->res.classid == classid) {
+		if (cl)
+			__tcf_bind_filter(q, &r->res, base);
+		else
+			__tcf_unbind_filter(q, &r->res);
+	}
 }
 
 static struct tcf_proto_ops cls_tcindex_ops __read_mostly = {
diff --git a/net/sched/cls_u32.c b/net/sched/cls_u32.c
index b2c3406..fe246e0 100644
--- a/net/sched/cls_u32.c
+++ b/net/sched/cls_u32.c
@@ -1315,12 +1315,17 @@
 	return 0;
 }
 
-static void u32_bind_class(void *fh, u32 classid, unsigned long cl)
+static void u32_bind_class(void *fh, u32 classid, unsigned long cl, void *q,
+			   unsigned long base)
 {
 	struct tc_u_knode *n = fh;
 
-	if (n && n->res.classid == classid)
-		n->res.class = cl;
+	if (n && n->res.classid == classid) {
+		if (cl)
+			__tcf_bind_filter(q, &n->res, base);
+		else
+			__tcf_unbind_filter(q, &n->res);
+	}
 }
 
 static int u32_dump(struct net *net, struct tcf_proto *tp, void *fh,
diff --git a/net/sched/ematch.c b/net/sched/ematch.c
index 1331a4c..113a133 100644
--- a/net/sched/ematch.c
+++ b/net/sched/ematch.c
@@ -242,6 +242,9 @@
 			goto errout;
 
 		if (em->ops->change) {
+			err = -EINVAL;
+			if (em_hdr->flags & TCF_EM_SIMPLE)
+				goto errout;
 			err = em->ops->change(net, data, data_len, em);
 			if (err < 0)
 				goto errout;
@@ -267,12 +270,12 @@
 				}
 				em->data = (unsigned long) v;
 			}
+			em->datalen = data_len;
 		}
 	}
 
 	em->matchid = em_hdr->matchid;
 	em->flags = em_hdr->flags;
-	em->datalen = data_len;
 	em->net = net;
 
 	err = 0;
diff --git a/net/sched/sch_api.c b/net/sched/sch_api.c
index 84fdc48..39e319d 100644
--- a/net/sched/sch_api.c
+++ b/net/sched/sch_api.c
@@ -1803,8 +1803,9 @@
 
 struct tcf_bind_args {
 	struct tcf_walker w;
-	u32 classid;
+	unsigned long base;
 	unsigned long cl;
+	u32 classid;
 };
 
 static int tcf_node_bind(struct tcf_proto *tp, void *n, struct tcf_walker *arg)
@@ -1815,7 +1816,7 @@
 		struct Qdisc *q = tcf_block_q(tp->chain->block);
 
 		sch_tree_lock(q);
-		tp->ops->bind_class(n, a->classid, a->cl);
+		tp->ops->bind_class(n, a->classid, a->cl, q, a->base);
 		sch_tree_unlock(q);
 	}
 	return 0;
@@ -1846,6 +1847,7 @@
 
 			arg.w.fn = tcf_node_bind;
 			arg.classid = clid;
+			arg.base = cl;
 			arg.cl = new_cl;
 			tp->ops->walk(tp, &arg.w);
 		}
diff --git a/net/sched/sch_cbs.c b/net/sched/sch_cbs.c
index e26a240..940e72d 100644
--- a/net/sched/sch_cbs.c
+++ b/net/sched/sch_cbs.c
@@ -61,16 +61,20 @@
 #include <linux/string.h>
 #include <linux/errno.h>
 #include <linux/skbuff.h>
+#include <net/netevent.h>
 #include <net/netlink.h>
 #include <net/sch_generic.h>
 #include <net/pkt_sched.h>
 
+static LIST_HEAD(cbs_list);
+static DEFINE_SPINLOCK(cbs_list_lock);
+
 #define BYTES_PER_KBIT (1000LL / 8)
 
 struct cbs_sched_data {
 	bool offload;
 	int queue;
-	s64 port_rate; /* in bytes/s */
+	atomic64_t port_rate; /* in bytes/s */
 	s64 last; /* timestamp in ns */
 	s64 credits; /* in bytes */
 	s32 locredit; /* in bytes */
@@ -82,6 +86,7 @@
 		       struct sk_buff **to_free);
 	struct sk_buff *(*dequeue)(struct Qdisc *sch);
 	struct Qdisc *qdisc;
+	struct list_head cbs_list;
 };
 
 static int cbs_child_enqueue(struct sk_buff *skb, struct Qdisc *sch,
@@ -206,7 +211,8 @@
 	/* As sendslope is a negative number, this will decrease the
 	 * amount of q->credits.
 	 */
-	credits = credits_from_len(len, q->sendslope, q->port_rate);
+	credits = credits_from_len(len, q->sendslope,
+				   atomic64_read(&q->port_rate));
 	credits += q->credits;
 
 	q->credits = max_t(s64, credits, q->locredit);
@@ -293,6 +299,58 @@
 	return 0;
 }
 
+static void cbs_set_port_rate(struct net_device *dev, struct cbs_sched_data *q)
+{
+	struct ethtool_link_ksettings ecmd;
+	int speed = SPEED_10;
+	int port_rate = -1;
+	int err;
+
+	err = __ethtool_get_link_ksettings(dev, &ecmd);
+	if (err < 0)
+		goto skip;
+
+	if (ecmd.base.speed && ecmd.base.speed != SPEED_UNKNOWN)
+		speed = ecmd.base.speed;
+
+skip:
+	port_rate = speed * 1000 * BYTES_PER_KBIT;
+
+	atomic64_set(&q->port_rate, port_rate);
+	netdev_dbg(dev, "cbs: set %s's port_rate to: %lld, linkspeed: %d\n",
+		   dev->name, (long long)atomic64_read(&q->port_rate),
+		   ecmd.base.speed);
+}
+
+static int cbs_dev_notifier(struct notifier_block *nb, unsigned long event,
+			    void *ptr)
+{
+	struct net_device *dev = netdev_notifier_info_to_dev(ptr);
+	struct cbs_sched_data *q;
+	struct net_device *qdev;
+	bool found = false;
+
+	ASSERT_RTNL();
+
+	if (event != NETDEV_UP && event != NETDEV_CHANGE)
+		return NOTIFY_DONE;
+
+	spin_lock(&cbs_list_lock);
+	list_for_each_entry(q, &cbs_list, cbs_list) {
+		qdev = qdisc_dev(q->qdisc);
+		if (qdev == dev) {
+			found = true;
+			break;
+		}
+	}
+	spin_unlock(&cbs_list_lock);
+
+	if (found)
+		cbs_set_port_rate(dev, q);
+
+	return NOTIFY_DONE;
+}
+
 static int cbs_change(struct Qdisc *sch, struct nlattr *opt,
 		      struct netlink_ext_ack *extack)
 {
@@ -314,16 +372,7 @@
 	qopt = nla_data(tb[TCA_CBS_PARMS]);
 
 	if (!qopt->offload) {
-		struct ethtool_link_ksettings ecmd;
-		s64 link_speed;
-
-		if (!__ethtool_get_link_ksettings(dev, &ecmd))
-			link_speed = ecmd.base.speed;
-		else
-			link_speed = SPEED_1000;
-
-		q->port_rate = link_speed * 1000 * BYTES_PER_KBIT;
-
+		cbs_set_port_rate(dev, q);
 		cbs_disable_offload(dev, q);
 	} else {
 		err = cbs_enable_offload(dev, q, qopt, extack);
@@ -346,6 +395,7 @@
 {
 	struct cbs_sched_data *q = qdisc_priv(sch);
 	struct net_device *dev = qdisc_dev(sch);
+	int err;
 
 	if (!opt) {
 		NL_SET_ERR_MSG(extack, "Missing CBS qdisc options  which are mandatory");
@@ -366,7 +416,17 @@
 
 	qdisc_watchdog_init(&q->watchdog, sch);
 
-	return cbs_change(sch, opt, extack);
+	err = cbs_change(sch, opt, extack);
+	if (err)
+		return err;
+
+	if (!q->offload) {
+		spin_lock(&cbs_list_lock);
+		list_add(&q->cbs_list, &cbs_list);
+		spin_unlock(&cbs_list_lock);
+	}
+
+	return 0;
 }
 
 static void cbs_destroy(struct Qdisc *sch)
@@ -374,8 +434,11 @@
 	struct cbs_sched_data *q = qdisc_priv(sch);
 	struct net_device *dev = qdisc_dev(sch);
 
-	qdisc_watchdog_cancel(&q->watchdog);
+	spin_lock(&cbs_list_lock);
+	list_del(&q->cbs_list);
+	spin_unlock(&cbs_list_lock);
 
+	qdisc_watchdog_cancel(&q->watchdog);
 	cbs_disable_offload(dev, q);
 
 	if (q->qdisc)
@@ -486,14 +549,29 @@
 	.owner		=	THIS_MODULE,
 };
 
+static struct notifier_block cbs_device_notifier = {
+	.notifier_call = cbs_dev_notifier,
+};
+
 static int __init cbs_module_init(void)
 {
-	return register_qdisc(&cbs_qdisc_ops);
+	int err;
+
+	err = register_netdevice_notifier(&cbs_device_notifier);
+	if (err)
+		return err;
+
+	err = register_qdisc(&cbs_qdisc_ops);
+	if (err)
+		unregister_netdevice_notifier(&cbs_device_notifier);
+
+	return err;
 }
 
 static void __exit cbs_module_exit(void)
 {
 	unregister_qdisc(&cbs_qdisc_ops);
+	unregister_netdevice_notifier(&cbs_device_notifier);
 }
 module_init(cbs_module_init)
 module_exit(cbs_module_exit)
diff --git a/net/sched/sch_netem.c b/net/sched/sch_netem.c
index 15f8f24..014a28d 100644
--- a/net/sched/sch_netem.c
+++ b/net/sched/sch_netem.c
@@ -436,8 +436,7 @@
 	struct netem_skb_cb *cb;
 	struct sk_buff *skb2;
 	struct sk_buff *segs = NULL;
-	unsigned int len = 0, last_len, prev_len = qdisc_pkt_len(skb);
-	int nb = 0;
+	unsigned int prev_len = qdisc_pkt_len(skb);
 	int count = 1;
 	int rc = NET_XMIT_SUCCESS;
 	int rc_drop = NET_XMIT_DROP;
@@ -494,6 +493,7 @@
 			segs = netem_segment(skb, sch, to_free);
 			if (!segs)
 				return rc_drop;
+			qdisc_skb_cb(segs)->pkt_len = segs->len;
 		} else {
 			segs = skb;
 		}
@@ -509,6 +509,7 @@
 		if (skb->ip_summed == CHECKSUM_PARTIAL &&
 		    skb_checksum_help(skb)) {
 			qdisc_drop(skb, sch, to_free);
+			skb = NULL;
 			goto finish_segs;
 		}
 
@@ -583,6 +584,12 @@
 
 finish_segs:
 	if (segs) {
+		unsigned int len, last_len;
+		int nb;
+
+		len = skb ? skb->len : 0;
+		nb = skb ? 1 : 0;
+
 		while (segs) {
 			skb2 = segs->next;
 			segs->next = NULL;
@@ -598,9 +605,10 @@
 			}
 			segs = skb2;
 		}
-		sch->q.qlen += nb;
-		if (nb > 1)
-			qdisc_tree_reduce_backlog(sch, 1 - nb, prev_len - len);
+		/* Parent qdiscs accounted for 1 skb of size @prev_len */
+		qdisc_tree_reduce_backlog(sch, -(nb - 1), -(len - prev_len));
+	} else if (!skb) {
+		return NET_XMIT_DROP;
 	}
 	return NET_XMIT_SUCCESS;
 }
diff --git a/net/sctp/input.c b/net/sctp/input.c
index bfe2915..f64d882 100644
--- a/net/sctp/input.c
+++ b/net/sctp/input.c
@@ -255,7 +255,7 @@
 		bh_lock_sock(sk);
 	}
 
-	if (sock_owned_by_user(sk)) {
+	if (sock_owned_by_user(sk) || !sctp_newsk_ready(sk)) {
 		if (sctp_add_backlog(sk, skb)) {
 			bh_unlock_sock(sk);
 			sctp_chunk_free(chunk);
@@ -333,7 +333,7 @@
 		local_bh_disable();
 		bh_lock_sock(sk);
 
-		if (sock_owned_by_user(sk)) {
+		if (sock_owned_by_user(sk) || !sctp_newsk_ready(sk)) {
 			if (sk_add_backlog(sk, skb, sk->sk_rcvbuf))
 				sctp_chunk_free(chunk);
 			else
@@ -348,7 +348,13 @@
 		if (backloged)
 			return 0;
 	} else {
-		sctp_inq_push(inqueue, chunk);
+		if (!sctp_newsk_ready(sk)) {
+			if (!sk_add_backlog(sk, skb, sk->sk_rcvbuf))
+				return 0;
+			sctp_chunk_free(chunk);
+		} else {
+			sctp_inq_push(inqueue, chunk);
+		}
 	}
 
 done:
diff --git a/net/sctp/sm_statefuns.c b/net/sctp/sm_statefuns.c
index 559f09a..9f4d325 100644
--- a/net/sctp/sm_statefuns.c
+++ b/net/sctp/sm_statefuns.c
@@ -185,6 +185,16 @@
 	return true;
 }
 
+/* Check for format error in an ABORT chunk */
+static inline bool sctp_err_chunk_valid(struct sctp_chunk *chunk)
+{
+	struct sctp_errhdr *err;
+
+	sctp_walk_errors(err, chunk->chunk_hdr);
+
+	return (void *)err == (void *)chunk->chunk_end;
+}
+
 /**********************************************************
  * These are the state functions for handling chunk events.
  **********************************************************/
@@ -2270,6 +2280,9 @@
 		    sctp_bind_addr_state(&asoc->base.bind_addr, &chunk->dest))
 		return sctp_sf_discard_chunk(net, ep, asoc, type, arg, commands);
 
+	if (!sctp_err_chunk_valid(chunk))
+		return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
+
 	return __sctp_sf_do_9_1_abort(net, ep, asoc, type, arg, commands);
 }
 
@@ -2313,6 +2326,9 @@
 		    sctp_bind_addr_state(&asoc->base.bind_addr, &chunk->dest))
 		return sctp_sf_discard_chunk(net, ep, asoc, type, arg, commands);
 
+	if (!sctp_err_chunk_valid(chunk))
+		return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
+
 	/* Stop the T2-shutdown timer. */
 	sctp_add_cmd_sf(commands, SCTP_CMD_TIMER_STOP,
 			SCTP_TO(SCTP_EVENT_TIMEOUT_T2_SHUTDOWN));
@@ -2580,6 +2596,9 @@
 		    sctp_bind_addr_state(&asoc->base.bind_addr, &chunk->dest))
 		return sctp_sf_discard_chunk(net, ep, asoc, type, arg, commands);
 
+	if (!sctp_err_chunk_valid(chunk))
+		return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
+
 	return __sctp_sf_do_9_1_abort(net, ep, asoc, type, arg, commands);
 }
 
@@ -2597,16 +2616,8 @@
 
 	/* See if we have an error cause code in the chunk.  */
 	len = ntohs(chunk->chunk_hdr->length);
-	if (len >= sizeof(struct sctp_chunkhdr) + sizeof(struct sctp_errhdr)) {
-		struct sctp_errhdr *err;
-
-		sctp_walk_errors(err, chunk->chunk_hdr);
-		if ((void *)err != (void *)chunk->chunk_end)
-			return sctp_sf_pdiscard(net, ep, asoc, type, arg,
-						commands);
-
+	if (len >= sizeof(struct sctp_chunkhdr) + sizeof(struct sctp_errhdr))
 		error = ((struct sctp_errhdr *)chunk->skb->data)->cause;
-	}
 
 	sctp_add_cmd_sf(commands, SCTP_CMD_SET_SK_ERR, SCTP_ERROR(ECONNRESET));
 	/* ASSOC_FAILED will DELETE_TCB. */
diff --git a/net/smc/smc_clc.c b/net/smc/smc_clc.c
index 52241d6..aa9a17a 100644
--- a/net/smc/smc_clc.c
+++ b/net/smc/smc_clc.c
@@ -364,7 +364,9 @@
 	dclc.hdr.length = htons(sizeof(struct smc_clc_msg_decline));
 	dclc.hdr.version = SMC_CLC_V1;
 	dclc.hdr.flag = (peer_diag_info == SMC_CLC_DECL_SYNCERR) ? 1 : 0;
-	memcpy(dclc.id_for_peer, local_systemid, sizeof(local_systemid));
+	if (smc->conn.lgr && !smc->conn.lgr->is_smcd)
+		memcpy(dclc.id_for_peer, local_systemid,
+		       sizeof(local_systemid));
 	dclc.peer_diagnosis = htonl(peer_diag_info);
 	memcpy(dclc.trl.eyecatcher, SMC_EYECATCHER, sizeof(SMC_EYECATCHER));
 
diff --git a/net/smc/smc_diag.c b/net/smc/smc_diag.c
index dbf64a9..2379a02 100644
--- a/net/smc/smc_diag.c
+++ b/net/smc/smc_diag.c
@@ -38,21 +38,19 @@
 {
 	struct smc_sock *smc = smc_sk(sk);
 
+	memset(r, 0, sizeof(*r));
+	r->diag_family = sk->sk_family;
+	sock_diag_save_cookie(sk, r->id.idiag_cookie);
 	if (!smc->clcsock)
 		return;
 	r->id.idiag_sport = htons(smc->clcsock->sk->sk_num);
 	r->id.idiag_dport = smc->clcsock->sk->sk_dport;
 	r->id.idiag_if = smc->clcsock->sk->sk_bound_dev_if;
-	sock_diag_save_cookie(sk, r->id.idiag_cookie);
 	if (sk->sk_protocol == SMCPROTO_SMC) {
-		r->diag_family = PF_INET;
-		memset(&r->id.idiag_src, 0, sizeof(r->id.idiag_src));
-		memset(&r->id.idiag_dst, 0, sizeof(r->id.idiag_dst));
 		r->id.idiag_src[0] = smc->clcsock->sk->sk_rcv_saddr;
 		r->id.idiag_dst[0] = smc->clcsock->sk->sk_daddr;
 #if IS_ENABLED(CONFIG_IPV6)
 	} else if (sk->sk_protocol == SMCPROTO_SMC6) {
-		r->diag_family = PF_INET6;
 		memcpy(&r->id.idiag_src, &smc->clcsock->sk->sk_v6_rcv_saddr,
 		       sizeof(smc->clcsock->sk->sk_v6_rcv_saddr));
 		memcpy(&r->id.idiag_dst, &smc->clcsock->sk->sk_v6_daddr,
diff --git a/net/smc/smc_rx.c b/net/smc/smc_rx.c
index bbcf0fe..3634091 100644
--- a/net/smc/smc_rx.c
+++ b/net/smc/smc_rx.c
@@ -212,8 +212,7 @@
 	rc = sk_wait_event(sk, timeo,
 			   sk->sk_err ||
 			   sk->sk_shutdown & RCV_SHUTDOWN ||
-			   fcrit(conn) ||
-			   smc_cdc_rxed_any_close_or_senddone(conn),
+			   fcrit(conn),
 			   &wait);
 	remove_wait_queue(sk_sleep(sk), &wait);
 	sk_clear_bit(SOCKWQ_ASYNC_WAITDATA, sk);
@@ -263,6 +262,18 @@
 	return -EAGAIN;
 }
 
+static bool smc_rx_recvmsg_data_available(struct smc_sock *smc)
+{
+	struct smc_connection *conn = &smc->conn;
+
+	if (smc_rx_data_available(conn))
+		return true;
+	else if (conn->urg_state == SMC_URG_VALID)
+		/* we received a single urgent Byte - skip */
+		smc_rx_update_cons(smc, 0);
+	return false;
+}
+
 /* smc_rx_recvmsg - receive data from RMBE
  * @msg:	copy data to receive buffer
  * @pipe:	copy data to pipe if set - indicates splice() call
@@ -304,16 +315,18 @@
 		if (read_done >= target || (pipe && read_done))
 			break;
 
-		if (atomic_read(&conn->bytes_to_rcv))
+		if (smc_rx_recvmsg_data_available(smc))
 			goto copy;
-		else if (conn->urg_state == SMC_URG_VALID)
-			/* we received a single urgent Byte - skip */
-			smc_rx_update_cons(smc, 0);
 
 		if (sk->sk_shutdown & RCV_SHUTDOWN ||
-		    smc_cdc_rxed_any_close_or_senddone(conn) ||
-		    conn->local_tx_ctrl.conn_state_flags.peer_conn_abort)
+		    conn->local_tx_ctrl.conn_state_flags.peer_conn_abort) {
+			/* smc_cdc_msg_recv_action() could have run after
+			 * above smc_rx_recvmsg_data_available()
+			 */
+			if (smc_rx_recvmsg_data_available(smc))
+				goto copy;
 			break;
+		}
 
 		if (read_done) {
 			if (sk->sk_err ||
diff --git a/net/socket.c b/net/socket.c
index 4a4c11d..224aa32 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -3261,6 +3261,7 @@
 	case SIOCSARP:
 	case SIOCGARP:
 	case SIOCDARP:
+	case SIOCOUTQNSD:
 	case SIOCATMARK:
 		return sock_do_ioctl(net, sock, cmd, arg);
 	}
diff --git a/net/sunrpc/auth_gss/svcauth_gss.c b/net/sunrpc/auth_gss/svcauth_gss.c
index 1a65f88..68830e8 100644
--- a/net/sunrpc/auth_gss/svcauth_gss.c
+++ b/net/sunrpc/auth_gss/svcauth_gss.c
@@ -1054,24 +1054,32 @@
 	return 0;
 }
 
-/* Ok this is really heavily depending on a set of semantics in
- * how rqstp is set up by svc_recv and pages laid down by the
- * server when reading a request. We are basically guaranteed that
- * the token lays all down linearly across a set of pages, starting
- * at iov_base in rq_arg.head[0] which happens to be the first of a
- * set of pages stored in rq_pages[].
- * rq_arg.head[0].iov_base will provide us the page_base to pass
- * to the upcall.
- */
-static inline int
-gss_read_proxy_verf(struct svc_rqst *rqstp,
-		    struct rpc_gss_wire_cred *gc, __be32 *authp,
-		    struct xdr_netobj *in_handle,
-		    struct gssp_in_token *in_token)
+static void gss_free_in_token_pages(struct gssp_in_token *in_token)
+{
+	u32 inlen;
+	int i;
+
+	i = 0;
+	inlen = in_token->page_len;
+	while (inlen) {
+		if (in_token->pages[i])
+			put_page(in_token->pages[i]);
+		inlen -= inlen > PAGE_SIZE ? PAGE_SIZE : inlen;
+	}
+
+	kfree(in_token->pages);
+	in_token->pages = NULL;
+}
+
+static int gss_read_proxy_verf(struct svc_rqst *rqstp,
+			       struct rpc_gss_wire_cred *gc, __be32 *authp,
+			       struct xdr_netobj *in_handle,
+			       struct gssp_in_token *in_token)
 {
 	struct kvec *argv = &rqstp->rq_arg.head[0];
-	u32 inlen;
-	int res;
+	unsigned int page_base, length;
+	int pages, i, res;
+	size_t inlen;
 
 	res = gss_read_common_verf(gc, argv, authp, in_handle);
 	if (res)
@@ -1081,10 +1089,36 @@
 	if (inlen > (argv->iov_len + rqstp->rq_arg.page_len))
 		return SVC_DENIED;
 
-	in_token->pages = rqstp->rq_pages;
-	in_token->page_base = (ulong)argv->iov_base & ~PAGE_MASK;
+	pages = DIV_ROUND_UP(inlen, PAGE_SIZE);
+	in_token->pages = kcalloc(pages, sizeof(struct page *), GFP_KERNEL);
+	if (!in_token->pages)
+		return SVC_DENIED;
+	in_token->page_base = 0;
 	in_token->page_len = inlen;
+	for (i = 0; i < pages; i++) {
+		in_token->pages[i] = alloc_page(GFP_KERNEL);
+		if (!in_token->pages[i]) {
+			gss_free_in_token_pages(in_token);
+			return SVC_DENIED;
+		}
+	}
 
+	length = min_t(unsigned int, inlen, argv->iov_len);
+	memcpy(page_address(in_token->pages[0]), argv->iov_base, length);
+	inlen -= length;
+
+	i = 1;
+	page_base = rqstp->rq_arg.page_base;
+	while (inlen) {
+		length = min_t(unsigned int, inlen, PAGE_SIZE);
+		memcpy(page_address(in_token->pages[i]),
+		       page_address(rqstp->rq_arg.pages[i]) + page_base,
+		       length);
+
+		inlen -= length;
+		page_base = 0;
+		i++;
+	}
 	return 0;
 }
 
@@ -1190,6 +1224,7 @@
 		dprintk("RPC:       No creds found!\n");
 		goto out;
 	} else {
+		struct timespec64 boot;
 
 		/* steal creds */
 		rsci.cred = ud->creds;
@@ -1210,6 +1245,9 @@
 						&expiry, GFP_KERNEL);
 		if (status)
 			goto out;
+
+		getboottime64(&boot);
+		expiry -= boot.tv_sec;
 	}
 
 	rsci.h.expiry_time = expiry;
@@ -1259,8 +1297,11 @@
 		break;
 	case GSS_S_COMPLETE:
 		status = gss_proxy_save_rsc(sn->rsc_cache, &ud, &handle);
-		if (status)
+		if (status) {
+			pr_info("%s: gss_proxy_save_rsc failed (%d)\n",
+				__func__, status);
 			goto out;
+		}
 		cli_handle.data = (u8 *)&handle;
 		cli_handle.len = sizeof(handle);
 		break;
@@ -1271,15 +1312,20 @@
 
 	/* Got an answer to the upcall; use it: */
 	if (gss_write_init_verf(sn->rsc_cache, rqstp,
-				&cli_handle, &ud.major_status))
+				&cli_handle, &ud.major_status)) {
+		pr_info("%s: gss_write_init_verf failed\n", __func__);
 		goto out;
+	}
 	if (gss_write_resv(resv, PAGE_SIZE,
 			   &cli_handle, &ud.out_token,
-			   ud.major_status, ud.minor_status))
+			   ud.major_status, ud.minor_status)) {
+		pr_info("%s: gss_write_resv failed\n", __func__);
 		goto out;
+	}
 
 	ret = SVC_COMPLETE;
 out:
+	gss_free_in_token_pages(&ud.in_token);
 	gssp_free_upcall_data(&ud);
 	return ret;
 }
diff --git a/net/sunrpc/xprtrdma/verbs.c b/net/sunrpc/xprtrdma/verbs.c
index 5ddbf22..ef1f3d0 100644
--- a/net/sunrpc/xprtrdma/verbs.c
+++ b/net/sunrpc/xprtrdma/verbs.c
@@ -248,6 +248,7 @@
 			ia->ri_device->name,
 			rpcrdma_addrstr(xprt), rpcrdma_portstr(xprt));
 #endif
+		init_completion(&ia->ri_remove_done);
 		set_bit(RPCRDMA_IAF_REMOVING, &ia->ri_flags);
 		ep->rep_connected = -ENODEV;
 		xprt_force_disconnect(&xprt->rx_xprt);
@@ -306,7 +307,6 @@
 	trace_xprtrdma_conn_start(xprt);
 
 	init_completion(&ia->ri_done);
-	init_completion(&ia->ri_remove_done);
 
 	id = rdma_create_id(xprt->rx_xprt.xprt_net, rpcrdma_conn_upcall,
 			    xprt, RDMA_PS_TCP, IB_QPT_RC);
@@ -1558,10 +1558,11 @@
 	rc = ib_post_recv(r_xprt->rx_ia.ri_id->qp, wr,
 			  (const struct ib_recv_wr **)&bad_wr);
 	if (rc) {
-		for (wr = bad_wr; wr; wr = wr->next) {
+		for (wr = bad_wr; wr;) {
 			struct rpcrdma_rep *rep;
 
 			rep = container_of(wr, struct rpcrdma_rep, rr_recv_wr);
+			wr = wr->next;
 			rpcrdma_recv_buffer_put(rep);
 			--count;
 		}
diff --git a/net/tipc/link.c b/net/tipc/link.c
index 0fbf8ea..cc9a048 100644
--- a/net/tipc/link.c
+++ b/net/tipc/link.c
@@ -830,18 +830,31 @@
  */
 static void link_prepare_wakeup(struct tipc_link *l)
 {
+	struct sk_buff_head *wakeupq = &l->wakeupq;
+	struct sk_buff_head *inputq = l->inputq;
 	struct sk_buff *skb, *tmp;
-	int imp, i = 0;
+	struct sk_buff_head tmpq;
+	int avail[5] = {0,};
+	int imp = 0;
 
-	skb_queue_walk_safe(&l->wakeupq, skb, tmp) {
+	__skb_queue_head_init(&tmpq);
+
+	for (; imp <= TIPC_SYSTEM_IMPORTANCE; imp++)
+		avail[imp] = l->backlog[imp].limit - l->backlog[imp].len;
+
+	skb_queue_walk_safe(wakeupq, skb, tmp) {
 		imp = TIPC_SKB_CB(skb)->chain_imp;
-		if (l->backlog[imp].len < l->backlog[imp].limit) {
-			skb_unlink(skb, &l->wakeupq);
-			skb_queue_tail(l->inputq, skb);
-		} else if (i++ > 10) {
-			break;
-		}
+		if (avail[imp] <= 0)
+			continue;
+		avail[imp]--;
+		__skb_unlink(skb, wakeupq);
+		__skb_queue_tail(&tmpq, skb);
 	}
+
+	spin_lock_bh(&inputq->lock);
+	skb_queue_splice_tail(&tmpq, inputq);
+	spin_unlock_bh(&inputq->lock);
+
 }
 
 void tipc_link_reset(struct tipc_link *l)
diff --git a/net/tipc/monitor.c b/net/tipc/monitor.c
index 67f6938..23706ee 100644
--- a/net/tipc/monitor.c
+++ b/net/tipc/monitor.c
@@ -665,6 +665,21 @@
 	kfree(mon);
 }
 
+void tipc_mon_reinit_self(struct net *net)
+{
+	struct tipc_monitor *mon;
+	int bearer_id;
+
+	for (bearer_id = 0; bearer_id < MAX_BEARERS; bearer_id++) {
+		mon = tipc_monitor(net, bearer_id);
+		if (!mon)
+			continue;
+		write_lock_bh(&mon->lock);
+		mon->self->addr = tipc_own_addr(net);
+		write_unlock_bh(&mon->lock);
+	}
+}
+
 int tipc_nl_monitor_set_threshold(struct net *net, u32 cluster_size)
 {
 	struct tipc_net *tn = tipc_net(net);
diff --git a/net/tipc/monitor.h b/net/tipc/monitor.h
index 2a21b93..ed63d2e 100644
--- a/net/tipc/monitor.h
+++ b/net/tipc/monitor.h
@@ -77,6 +77,7 @@
 			  u32 bearer_id);
 int tipc_nl_add_monitor_peer(struct net *net, struct tipc_nl_msg *msg,
 			     u32 bearer_id, u32 *prev_node);
+void tipc_mon_reinit_self(struct net *net);
 
 extern const int tipc_max_domain_size;
 #endif
diff --git a/net/tipc/name_distr.c b/net/tipc/name_distr.c
index e0a3dd4..836e629 100644
--- a/net/tipc/name_distr.c
+++ b/net/tipc/name_distr.c
@@ -94,8 +94,9 @@
 		list_add_tail_rcu(&publ->binding_node, &nt->node_scope);
 		return NULL;
 	}
-	list_add_tail_rcu(&publ->binding_node, &nt->cluster_scope);
-
+	write_lock_bh(&nt->cluster_scope_lock);
+	list_add_tail(&publ->binding_node, &nt->cluster_scope);
+	write_unlock_bh(&nt->cluster_scope_lock);
 	skb = named_prepare_buf(net, PUBLICATION, ITEM_SIZE, 0);
 	if (!skb) {
 		pr_warn("Publication distribution failure\n");
@@ -112,11 +113,13 @@
  */
 struct sk_buff *tipc_named_withdraw(struct net *net, struct publication *publ)
 {
+	struct name_table *nt = tipc_name_table(net);
 	struct sk_buff *buf;
 	struct distr_item *item;
 
-	list_del_rcu(&publ->binding_node);
-
+	write_lock_bh(&nt->cluster_scope_lock);
+	list_del(&publ->binding_node);
+	write_unlock_bh(&nt->cluster_scope_lock);
 	if (publ->scope == TIPC_NODE_SCOPE)
 		return NULL;
 
@@ -147,7 +150,7 @@
 			ITEM_SIZE) * ITEM_SIZE;
 	u32 msg_rem = msg_dsz;
 
-	list_for_each_entry_rcu(publ, pls, binding_node) {
+	list_for_each_entry(publ, pls, binding_node) {
 		/* Prepare next buffer: */
 		if (!skb) {
 			skb = named_prepare_buf(net, PUBLICATION, msg_rem,
@@ -189,11 +192,10 @@
 
 	__skb_queue_head_init(&head);
 
-	rcu_read_lock();
+	read_lock_bh(&nt->cluster_scope_lock);
 	named_distribute(net, &head, dnode, &nt->cluster_scope);
-	rcu_read_unlock();
-
 	tipc_node_xmit(net, &head, dnode, 0);
+	read_unlock_bh(&nt->cluster_scope_lock);
 }
 
 /**
diff --git a/net/tipc/name_table.c b/net/tipc/name_table.c
index d72985c..89993af 100644
--- a/net/tipc/name_table.c
+++ b/net/tipc/name_table.c
@@ -744,6 +744,7 @@
 
 	INIT_LIST_HEAD(&nt->node_scope);
 	INIT_LIST_HEAD(&nt->cluster_scope);
+	rwlock_init(&nt->cluster_scope_lock);
 	tn->nametbl = nt;
 	spin_lock_init(&tn->nametbl_lock);
 	return 0;
diff --git a/net/tipc/name_table.h b/net/tipc/name_table.h
index 892bd75..f790663 100644
--- a/net/tipc/name_table.h
+++ b/net/tipc/name_table.h
@@ -100,6 +100,7 @@
 	struct hlist_head services[TIPC_NAMETBL_SIZE];
 	struct list_head node_scope;
 	struct list_head cluster_scope;
+	rwlock_t cluster_scope_lock;
 	u32 local_publ_count;
 };
 
diff --git a/net/tipc/net.c b/net/tipc/net.c
index 7ce1e86..2e2e938 100644
--- a/net/tipc/net.c
+++ b/net/tipc/net.c
@@ -42,6 +42,7 @@
 #include "node.h"
 #include "bcast.h"
 #include "netlink.h"
+#include "monitor.h"
 
 /*
  * The TIPC locking policy is designed to ensure a very fine locking
@@ -136,6 +137,7 @@
 	tipc_set_node_addr(net, addr);
 	tipc_named_reinit(net);
 	tipc_sk_reinit(net);
+	tipc_mon_reinit_self(net);
 	tipc_nametbl_publish(net, TIPC_CFG_SRV, addr, addr,
 			     TIPC_CLUSTER_SCOPE, 0, addr);
 }
diff --git a/net/tipc/node.c b/net/tipc/node.c
index 32556f4..e67ffd1 100644
--- a/net/tipc/node.c
+++ b/net/tipc/node.c
@@ -810,10 +810,10 @@
 static void tipc_node_link_down(struct tipc_node *n, int bearer_id, bool delete)
 {
 	struct tipc_link_entry *le = &n->links[bearer_id];
+	struct tipc_media_addr *maddr = NULL;
 	struct tipc_link *l = le->link;
-	struct tipc_media_addr *maddr;
-	struct sk_buff_head xmitq;
 	int old_bearer_id = bearer_id;
+	struct sk_buff_head xmitq;
 
 	if (!l)
 		return;
@@ -835,7 +835,8 @@
 	tipc_node_write_unlock(n);
 	if (delete)
 		tipc_mon_remove_peer(n->net, n->addr, old_bearer_id);
-	tipc_bearer_xmit(n->net, bearer_id, &xmitq, maddr);
+	if (!skb_queue_empty(&xmitq))
+		tipc_bearer_xmit(n->net, bearer_id, &xmitq, maddr);
 	tipc_sk_rcv(n->net, &le->inputq);
 }
 
diff --git a/net/tipc/socket.c b/net/tipc/socket.c
index 5841d62..40947ad 100644
--- a/net/tipc/socket.c
+++ b/net/tipc/socket.c
@@ -501,7 +501,7 @@
 	struct sock *sk = sock->sk;
 	struct tipc_sock *tsk = tipc_sk(sk);
 	struct net *net = sock_net(sk);
-	long timeout = CONN_TIMEOUT_DEFAULT;
+	long timeout = msecs_to_jiffies(CONN_TIMEOUT_DEFAULT);
 	u32 dnode = tsk_peer_node(tsk);
 	struct sk_buff *skb;
 
diff --git a/net/tipc/sysctl.c b/net/tipc/sysctl.c
index 1a779b1..40f6d82 100644
--- a/net/tipc/sysctl.c
+++ b/net/tipc/sysctl.c
@@ -37,6 +37,8 @@
 
 #include <linux/sysctl.h>
 
+static int zero;
+static int one = 1;
 static struct ctl_table_header *tipc_ctl_hdr;
 
 static struct ctl_table tipc_table[] = {
@@ -45,14 +47,16 @@
 		.data		= &sysctl_tipc_rmem,
 		.maxlen		= sizeof(sysctl_tipc_rmem),
 		.mode		= 0644,
-		.proc_handler	= proc_dointvec,
+		.proc_handler	= proc_dointvec_minmax,
+		.extra1         = &one,
 	},
 	{
 		.procname	= "named_timeout",
 		.data		= &sysctl_tipc_named_timeout,
 		.maxlen		= sizeof(sysctl_tipc_named_timeout),
 		.mode		= 0644,
-		.proc_handler	= proc_dointvec,
+		.proc_handler	= proc_dointvec_minmax,
+		.extra1         = &zero,
 	},
 	{}
 };
diff --git a/net/tls/tls_device.c b/net/tls/tls_device.c
index 0a613e0..8f40bbf 100644
--- a/net/tls/tls_device.c
+++ b/net/tls/tls_device.c
@@ -506,7 +506,7 @@
 				       u32 seq, u64 *p_record_sn)
 {
 	u64 record_sn = context->hint_record_sn;
-	struct tls_record_info *info;
+	struct tls_record_info *info, *last;
 
 	info = context->retransmit_hint;
 	if (!info ||
@@ -516,6 +516,25 @@
 		 */
 		info = list_first_entry(&context->records_list,
 					struct tls_record_info, list);
+
+		/* send the start_marker record if seq number is before the
+		 * tls offload start marker sequence number. This record is
+		 * required to handle TCP packets which are before TLS offload
+		 * started.
+		 *  And if it's not start marker, look if this seq number
+		 * belongs to the list.
+		 */
+		if (likely(!tls_record_is_start_marker(info))) {
+			/* we have the first record, get the last record to see
+			 * if this seq number belongs to the list.
+			 */
+			last = list_last_entry(&context->records_list,
+					       struct tls_record_info, list);
+
+			if (!between(seq, tls_record_start_seq(info),
+				     last->end_seq))
+				return NULL;
+		}
 		record_sn = context->unacked_record_sn;
 	}
 
diff --git a/net/tls/tls_device_fallback.c b/net/tls/tls_device_fallback.c
index 426dd97..6cf8328 100644
--- a/net/tls/tls_device_fallback.c
+++ b/net/tls/tls_device_fallback.c
@@ -208,6 +208,10 @@
 
 	update_chksum(nskb, headln);
 
+	/* sock_efree means skb must gone through skb_orphan_partial() */
+	if (nskb->destructor == sock_efree)
+		return;
+
 	delta = nskb->truesize - skb->truesize;
 	if (likely(delta < 0))
 		WARN_ON_ONCE(refcount_sub_and_test(-delta, &sk->sk_wmem_alloc));
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
index d2d6ff0..2318e2e 100644
--- a/net/unix/af_unix.c
+++ b/net/unix/af_unix.c
@@ -649,6 +649,9 @@
 static __poll_t unix_dgram_poll(struct file *, struct socket *,
 				    poll_table *);
 static int unix_ioctl(struct socket *, unsigned int, unsigned long);
+#ifdef CONFIG_COMPAT
+static int unix_compat_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg);
+#endif
 static int unix_shutdown(struct socket *, int);
 static int unix_stream_sendmsg(struct socket *, struct msghdr *, size_t);
 static int unix_stream_recvmsg(struct socket *, struct msghdr *, size_t, int);
@@ -690,6 +693,9 @@
 	.getname =	unix_getname,
 	.poll =		unix_poll,
 	.ioctl =	unix_ioctl,
+#ifdef CONFIG_COMPAT
+	.compat_ioctl =	unix_compat_ioctl,
+#endif
 	.listen =	unix_listen,
 	.shutdown =	unix_shutdown,
 	.setsockopt =	sock_no_setsockopt,
@@ -713,6 +719,9 @@
 	.getname =	unix_getname,
 	.poll =		unix_dgram_poll,
 	.ioctl =	unix_ioctl,
+#ifdef CONFIG_COMPAT
+	.compat_ioctl =	unix_compat_ioctl,
+#endif
 	.listen =	sock_no_listen,
 	.shutdown =	unix_shutdown,
 	.setsockopt =	sock_no_setsockopt,
@@ -735,6 +744,9 @@
 	.getname =	unix_getname,
 	.poll =		unix_dgram_poll,
 	.ioctl =	unix_ioctl,
+#ifdef CONFIG_COMPAT
+	.compat_ioctl =	unix_compat_ioctl,
+#endif
 	.listen =	unix_listen,
 	.shutdown =	unix_shutdown,
 	.setsockopt =	sock_no_setsockopt,
@@ -2646,6 +2658,13 @@
 	return err;
 }
 
+#ifdef CONFIG_COMPAT
+static int unix_compat_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
+{
+	return unix_ioctl(sock, cmd, (unsigned long)compat_ptr(arg));
+}
+#endif
+
 static __poll_t unix_poll(struct file *file, struct socket *sock, poll_table *wait)
 {
 	struct sock *sk = sock->sk;
diff --git a/net/vmw_vsock/hyperv_transport.c b/net/vmw_vsock/hyperv_transport.c
index 70350dc..db6ca51 100644
--- a/net/vmw_vsock/hyperv_transport.c
+++ b/net/vmw_vsock/hyperv_transport.c
@@ -144,28 +144,15 @@
  ****************************************************************************
  * The only valid Service GUIDs, from the perspectives of both the host and *
  * Linux VM, that can be connected by the other end, must conform to this   *
- * format: <port>-facb-11e6-bd58-64006a7986d3, and the "port" must be in    *
- * this range [0, 0x7FFFFFFF].                                              *
+ * format: <port>-facb-11e6-bd58-64006a7986d3.                              *
  ****************************************************************************
  *
  * When we write apps on the host to connect(), the GUID ServiceID is used.
  * When we write apps in Linux VM to connect(), we only need to specify the
  * port and the driver will form the GUID and use that to request the host.
  *
- * From the perspective of Linux VM:
- * 1. the local ephemeral port (i.e. the local auto-bound port when we call
- * connect() without explicit bind()) is generated by __vsock_bind_stream(),
- * and the range is [1024, 0xFFFFFFFF).
- * 2. the remote ephemeral port (i.e. the auto-generated remote port for
- * a connect request initiated by the host's connect()) is generated by
- * hvs_remote_addr_init() and the range is [0x80000000, 0xFFFFFFFF).
  */
 
-#define MAX_LISTEN_PORT			((u32)0x7FFFFFFF)
-#define MAX_VM_LISTEN_PORT		MAX_LISTEN_PORT
-#define MAX_HOST_LISTEN_PORT		MAX_LISTEN_PORT
-#define MIN_HOST_EPHEMERAL_PORT		(MAX_HOST_LISTEN_PORT + 1)
-
 /* 00000000-facb-11e6-bd58-64006a7986d3 */
 static const uuid_le srv_id_template =
 	UUID_LE(0x00000000, 0xfacb, 0x11e6, 0xbd, 0x58,
@@ -188,33 +175,6 @@
 	vsock_addr_init(addr, VMADDR_CID_ANY, port);
 }
 
-static void hvs_remote_addr_init(struct sockaddr_vm *remote,
-				 struct sockaddr_vm *local)
-{
-	static u32 host_ephemeral_port = MIN_HOST_EPHEMERAL_PORT;
-	struct sock *sk;
-
-	vsock_addr_init(remote, VMADDR_CID_ANY, VMADDR_PORT_ANY);
-
-	while (1) {
-		/* Wrap around ? */
-		if (host_ephemeral_port < MIN_HOST_EPHEMERAL_PORT ||
-		    host_ephemeral_port == VMADDR_PORT_ANY)
-			host_ephemeral_port = MIN_HOST_EPHEMERAL_PORT;
-
-		remote->svm_port = host_ephemeral_port++;
-
-		sk = vsock_find_connected_socket(remote, local);
-		if (!sk) {
-			/* Found an available ephemeral port */
-			return;
-		}
-
-		/* Release refcnt got in vsock_find_connected_socket */
-		sock_put(sk);
-	}
-}
-
 static void hvs_set_channel_pending_send_size(struct vmbus_channel *chan)
 {
 	set_channel_pending_send_size(chan,
@@ -342,12 +302,7 @@
 	if_type = &chan->offermsg.offer.if_type;
 	if_instance = &chan->offermsg.offer.if_instance;
 	conn_from_host = chan->offermsg.offer.u.pipe.user_def[0];
-
-	/* The host or the VM should only listen on a port in
-	 * [0, MAX_LISTEN_PORT]
-	 */
-	if (!is_valid_srv_id(if_type) ||
-	    get_port_by_srv_id(if_type) > MAX_LISTEN_PORT)
+	if (!is_valid_srv_id(if_type))
 		return;
 
 	hvs_addr_init(&addr, conn_from_host ? if_type : if_instance);
@@ -371,6 +326,13 @@
 
 		new->sk_state = TCP_SYN_SENT;
 		vnew = vsock_sk(new);
+
+		hvs_addr_init(&vnew->local_addr, if_type);
+
+		/* Remote peer is always the host */
+		vsock_addr_init(&vnew->remote_addr,
+				VMADDR_CID_HOST, VMADDR_PORT_ANY);
+		vnew->remote_addr.svm_port = get_port_by_srv_id(if_instance);
 		hvs_new = vnew->trans;
 		hvs_new->chan = chan;
 	} else {
@@ -410,8 +372,6 @@
 		sk->sk_ack_backlog++;
 
 		hvs_addr_init(&vnew->local_addr, if_type);
-		hvs_remote_addr_init(&vnew->remote_addr, &vnew->local_addr);
-
 		hvs_new->vm_srv_id = *if_type;
 		hvs_new->host_srv_id = *if_instance;
 
@@ -716,16 +676,6 @@
 
 static bool hvs_stream_allow(u32 cid, u32 port)
 {
-	/* The host's port range [MIN_HOST_EPHEMERAL_PORT, 0xFFFFFFFF) is
-	 * reserved as ephemeral ports, which are used as the host's ports
-	 * when the host initiates connections.
-	 *
-	 * Perform this check in the guest so an immediate error is produced
-	 * instead of a timeout.
-	 */
-	if (port > MAX_HOST_LISTEN_PORT)
-		return false;
-
 	if (cid == VMADDR_CID_HOST)
 		return true;
 
diff --git a/net/wireless/ethtool.c b/net/wireless/ethtool.c
index a9c0f36..24e1840 100644
--- a/net/wireless/ethtool.c
+++ b/net/wireless/ethtool.c
@@ -7,9 +7,13 @@
 void cfg80211_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *info)
 {
 	struct wireless_dev *wdev = dev->ieee80211_ptr;
+	struct device *pdev = wiphy_dev(wdev->wiphy);
 
-	strlcpy(info->driver, wiphy_dev(wdev->wiphy)->driver->name,
-		sizeof(info->driver));
+	if (pdev->driver)
+		strlcpy(info->driver, pdev->driver->name,
+			sizeof(info->driver));
+	else
+		strlcpy(info->driver, "N/A", sizeof(info->driver));
 
 	strlcpy(info->version, init_utsname()->release, sizeof(info->version));
 
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index b1af67c..f0f8efe 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -325,6 +325,7 @@
 	[NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT] = { .type = NLA_FLAG },
 	[NL80211_ATTR_CONTROL_PORT_OVER_NL80211] = { .type = NLA_FLAG },
 	[NL80211_ATTR_PRIVACY] = { .type = NLA_FLAG },
+	[NL80211_ATTR_STATUS_CODE] = { .type = NLA_U16 },
 	[NL80211_ATTR_CIPHER_SUITE_GROUP] = { .type = NLA_U32 },
 	[NL80211_ATTR_WPA_VERSIONS] = { .type = NLA_U32 },
 	[NL80211_ATTR_PID] = { .type = NLA_U32 },
@@ -10428,6 +10429,7 @@
 		if (err)
 			return err;
 
+		cfg80211_sinfo_release_content(&sinfo);
 		if (sinfo.filled & BIT_ULL(NL80211_STA_INFO_BEACON_SIGNAL_AVG))
 			wdev->cqm_config->last_rssi_event_value =
 				(s8) sinfo.rx_beacon_signal_avg;
diff --git a/net/wireless/rdev-ops.h b/net/wireless/rdev-ops.h
index 6aad763..7cfaab1 100644
--- a/net/wireless/rdev-ops.h
+++ b/net/wireless/rdev-ops.h
@@ -550,6 +550,10 @@
 rdev_set_wiphy_params(struct cfg80211_registered_device *rdev, u32 changed)
 {
 	int ret;
+
+	if (!rdev->ops->set_wiphy_params)
+		return -EOPNOTSUPP;
+
 	trace_rdev_set_wiphy_params(&rdev->wiphy, changed);
 	ret = rdev->ops->set_wiphy_params(&rdev->wiphy, changed);
 	trace_rdev_return_int(&rdev->wiphy, ret);
@@ -1179,6 +1183,16 @@
 	return ret;
 }
 
+static inline void
+rdev_end_cac(struct cfg80211_registered_device *rdev,
+	     struct net_device *dev)
+{
+	trace_rdev_end_cac(&rdev->wiphy, dev);
+	if (rdev->ops->end_cac)
+		rdev->ops->end_cac(&rdev->wiphy, dev);
+	trace_rdev_return_void(&rdev->wiphy);
+}
+
 static inline int
 rdev_set_mcast_rate(struct cfg80211_registered_device *rdev,
 		    struct net_device *dev,
diff --git a/net/wireless/reg.c b/net/wireless/reg.c
index 3f2cde2..925060d 100644
--- a/net/wireless/reg.c
+++ b/net/wireless/reg.c
@@ -2296,14 +2296,15 @@
 
 static void handle_channel_custom(struct wiphy *wiphy,
 				  struct ieee80211_channel *chan,
-				  const struct ieee80211_regdomain *regd)
+				  const struct ieee80211_regdomain *regd,
+				  u32 min_bw)
 {
 	u32 bw_flags = 0;
 	const struct ieee80211_reg_rule *reg_rule = NULL;
 	const struct ieee80211_power_rule *power_rule = NULL;
 	u32 bw;
 
-	for (bw = MHZ_TO_KHZ(20); bw >= MHZ_TO_KHZ(5); bw = bw / 2) {
+	for (bw = MHZ_TO_KHZ(20); bw >= min_bw; bw = bw / 2) {
 		reg_rule = freq_reg_info_regd(MHZ_TO_KHZ(chan->center_freq),
 					      regd, bw);
 		if (!IS_ERR(reg_rule))
@@ -2359,8 +2360,14 @@
 	if (!sband)
 		return;
 
+	/*
+	 * We currently assume that you always want at least 20 MHz,
+	 * otherwise channel 12 might get enabled if this rule is
+	 * compatible to US, which permits 2402 - 2472 MHz.
+	 */
 	for (i = 0; i < sband->n_channels; i++)
-		handle_channel_custom(wiphy, &sband->channels[i], regd);
+		handle_channel_custom(wiphy, &sband->channels[i], regd,
+				      MHZ_TO_KHZ(20));
 }
 
 /* Used by drivers prior to wiphy registration */
@@ -3880,6 +3887,25 @@
 	return pre_cac_allowed;
 }
 
+static void cfg80211_check_and_end_cac(struct cfg80211_registered_device *rdev)
+{
+	struct wireless_dev *wdev;
+	/* If we finished CAC or received radar, we should end any
+	 * CAC running on the same channels.
+	 * the check !cfg80211_chandef_dfs_usable contain 2 options:
+	 * either all channels are available - those the CAC_FINISHED
+	 * event has effected another wdev state, or there is a channel
+	 * in unavailable state in wdev chandef - those the RADAR_DETECTED
+	 * event has effected another wdev state.
+	 * In both cases we should end the CAC on the wdev.
+	 */
+	list_for_each_entry(wdev, &rdev->wiphy.wdev_list, list) {
+		if (wdev->cac_started &&
+		    !cfg80211_chandef_dfs_usable(&rdev->wiphy, &wdev->chandef))
+			rdev_end_cac(rdev, wdev->netdev);
+	}
+}
+
 void regulatory_propagate_dfs_state(struct wiphy *wiphy,
 				    struct cfg80211_chan_def *chandef,
 				    enum nl80211_dfs_state dfs_state,
@@ -3906,8 +3932,10 @@
 		cfg80211_set_dfs_state(&rdev->wiphy, chandef, dfs_state);
 
 		if (event == NL80211_RADAR_DETECTED ||
-		    event == NL80211_RADAR_CAC_FINISHED)
+		    event == NL80211_RADAR_CAC_FINISHED) {
 			cfg80211_sched_dfs_chan_update(rdev);
+			cfg80211_check_and_end_cac(rdev);
+		}
 
 		nl80211_radar_notify(rdev, chandef, event, NULL, GFP_KERNEL);
 	}
@@ -3917,6 +3945,15 @@
 {
 	int err;
 
+	/*
+	 * It's possible that - due to other bugs/issues - cfg80211
+	 * never called regulatory_init() below, or that it failed;
+	 * in that case, don't try to do any further work here as
+	 * it's doomed to lead to crashes.
+	 */
+	if (IS_ERR_OR_NULL(reg_pdev))
+		return -EINVAL;
+
 	err = load_builtin_regdb_keys();
 	if (err)
 		return err;
diff --git a/net/wireless/sme.c b/net/wireless/sme.c
index 3c1b37e..ae52143 100644
--- a/net/wireless/sme.c
+++ b/net/wireless/sme.c
@@ -1288,14 +1288,14 @@
 	if (wdev->conn_owner_nlportid) {
 		switch (wdev->iftype) {
 		case NL80211_IFTYPE_ADHOC:
-			cfg80211_leave_ibss(rdev, wdev->netdev, false);
+			__cfg80211_leave_ibss(rdev, wdev->netdev, false);
 			break;
 		case NL80211_IFTYPE_AP:
 		case NL80211_IFTYPE_P2P_GO:
-			cfg80211_stop_ap(rdev, wdev->netdev, false);
+			__cfg80211_stop_ap(rdev, wdev->netdev, false);
 			break;
 		case NL80211_IFTYPE_MESH_POINT:
-			cfg80211_leave_mesh(rdev, wdev->netdev);
+			__cfg80211_leave_mesh(rdev, wdev->netdev);
 			break;
 		case NL80211_IFTYPE_STATION:
 		case NL80211_IFTYPE_P2P_CLIENT:
diff --git a/net/wireless/trace.h b/net/wireless/trace.h
index f059ef5..713c15d 100644
--- a/net/wireless/trace.h
+++ b/net/wireless/trace.h
@@ -624,6 +624,11 @@
 	TP_ARGS(wiphy, netdev)
 );
 
+DEFINE_EVENT(wiphy_netdev_evt, rdev_end_cac,
+	     TP_PROTO(struct wiphy *wiphy, struct net_device *netdev),
+	     TP_ARGS(wiphy, netdev)
+);
+
 DECLARE_EVENT_CLASS(station_add_change,
 	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev, u8 *mac,
 		 struct station_parameters *params),
diff --git a/net/wireless/util.c b/net/wireless/util.c
index c22373e..ddc6d95 100644
--- a/net/wireless/util.c
+++ b/net/wireless/util.c
@@ -542,7 +542,7 @@
 	struct skb_shared_info *sh = skb_shinfo(skb);
 	int page_offset;
 
-	page_ref_inc(page);
+	get_page(page);
 	page_offset = ptr - page_address(page);
 	skb_add_rx_frag(skb, sh->nr_frags, page, page_offset, len, size);
 }
@@ -1960,3 +1960,48 @@
 	return false;
 }
 EXPORT_SYMBOL(cfg80211_iftype_allowed);
+
+/* Layer 2 Update frame (802.2 Type 1 LLC XID Update response) */
+struct iapp_layer2_update {
+	u8 da[ETH_ALEN];	/* broadcast */
+	u8 sa[ETH_ALEN];	/* STA addr */
+	__be16 len;		/* 6 */
+	u8 dsap;		/* 0 */
+	u8 ssap;		/* 0 */
+	u8 control;
+	u8 xid_info[3];
+} __packed;
+
+void cfg80211_send_layer2_update(struct net_device *dev, const u8 *addr)
+{
+	struct iapp_layer2_update *msg;
+	struct sk_buff *skb;
+
+	/* Send Level 2 Update Frame to update forwarding tables in layer 2
+	 * bridge devices */
+
+	skb = dev_alloc_skb(sizeof(*msg));
+	if (!skb)
+		return;
+	msg = skb_put(skb, sizeof(*msg));
+
+	/* 802.2 Type 1 Logical Link Control (LLC) Exchange Identifier (XID)
+	 * Update response frame; IEEE Std 802.2-1998, 5.4.1.2.1 */
+
+	eth_broadcast_addr(msg->da);
+	ether_addr_copy(msg->sa, addr);
+	msg->len = htons(6);
+	msg->dsap = 0;
+	msg->ssap = 0x01;	/* NULL LSAP, CR Bit: Response */
+	msg->control = 0xaf;	/* XID response lsb.1111F101.
+				 * F=0 (no poll command; unsolicited frame) */
+	msg->xid_info[0] = 0x81;	/* XID format identifier */
+	msg->xid_info[1] = 1;	/* LLC types/classes: Type 1 LLC */
+	msg->xid_info[2] = 0;	/* XID sender's receive window size (RW) */
+
+	skb->dev = dev;
+	skb->protocol = eth_type_trans(skb, dev);
+	memset(skb->cb, 0, sizeof(skb->cb));
+	netif_rx_ni(skb);
+}
+EXPORT_SYMBOL(cfg80211_send_layer2_update);
diff --git a/net/wireless/wext-core.c b/net/wireless/wext-core.c
index 5e677da..69102fd 100644
--- a/net/wireless/wext-core.c
+++ b/net/wireless/wext-core.c
@@ -657,7 +657,8 @@
 	return NULL;
 }
 
-static int iw_handler_get_iwstats(struct net_device *		dev,
+/* noinline to avoid a bogus warning with -O3 */
+static noinline int iw_handler_get_iwstats(struct net_device *	dev,
 				  struct iw_request_info *	info,
 				  union iwreq_data *		wrqu,
 				  char *			extra)
diff --git a/net/x25/af_x25.c b/net/x25/af_x25.c
index 20a5113..bd1cbbf 100644
--- a/net/x25/af_x25.c
+++ b/net/x25/af_x25.c
@@ -765,6 +765,10 @@
 	if (sk->sk_state == TCP_ESTABLISHED)
 		goto out;
 
+	rc = -EALREADY;	/* Do nothing if call is already in progress */
+	if (sk->sk_state == TCP_SYN_SENT)
+		goto out;
+
 	sk->sk_state   = TCP_CLOSE;
 	sock->state = SS_UNCONNECTED;
 
@@ -811,7 +815,7 @@
 	/* Now the loop */
 	rc = -EINPROGRESS;
 	if (sk->sk_state != TCP_ESTABLISHED && (flags & O_NONBLOCK))
-		goto out_put_neigh;
+		goto out;
 
 	rc = x25_wait_for_connection_establishment(sk);
 	if (rc)
diff --git a/net/xdp/xdp_umem.c b/net/xdp/xdp_umem.c
index d9117ab..556a649 100644
--- a/net/xdp/xdp_umem.c
+++ b/net/xdp/xdp_umem.c
@@ -23,6 +23,9 @@
 {
 	unsigned long flags;
 
+	if (!xs->tx)
+		return;
+
 	spin_lock_irqsave(&umem->xsk_list_lock, flags);
 	list_add_rcu(&xs->list, &umem->xsk_list);
 	spin_unlock_irqrestore(&umem->xsk_list_lock, flags);
@@ -32,6 +35,9 @@
 {
 	unsigned long flags;
 
+	if (!xs->tx)
+		return;
+
 	spin_lock_irqsave(&umem->xsk_list_lock, flags);
 	list_del_rcu(&xs->list);
 	spin_unlock_irqrestore(&umem->xsk_list_lock, flags);
diff --git a/net/xdp/xsk.c b/net/xdp/xsk.c
index ff15207..72caa4f 100644
--- a/net/xdp/xsk.c
+++ b/net/xdp/xsk.c
@@ -218,6 +218,9 @@
 
 	mutex_lock(&xs->mutex);
 
+	if (xs->queue_id >= xs->dev->real_num_tx_queues)
+		goto out;
+
 	while (xskq_peek_desc(xs->tx, &desc)) {
 		char *buffer;
 		u64 addr;
@@ -228,12 +231,6 @@
 			goto out;
 		}
 
-		if (xskq_reserve_addr(xs->umem->cq))
-			goto out;
-
-		if (xs->queue_id >= xs->dev->real_num_tx_queues)
-			goto out;
-
 		len = desc.len;
 		skb = sock_alloc_send_skb(sk, len, 1, &err);
 		if (unlikely(!skb)) {
@@ -245,7 +242,7 @@
 		addr = desc.addr;
 		buffer = xdp_umem_get_data(xs->umem, addr);
 		err = skb_store_bits(skb, 0, buffer, len);
-		if (unlikely(err)) {
+		if (unlikely(err) || xskq_reserve_addr(xs->umem->cq)) {
 			kfree_skb(skb);
 			goto out;
 		}
@@ -323,7 +320,7 @@
 
 	/* Make sure queue is ready before it can be seen by others */
 	smp_wmb();
-	*queue = q;
+	WRITE_ONCE(*queue, q);
 	return 0;
 }
 
@@ -457,7 +454,7 @@
 		}
 
 		xdp_get_umem(umem_xs->umem);
-		xs->umem = umem_xs->umem;
+		WRITE_ONCE(xs->umem, umem_xs->umem);
 		sockfd_put(sock);
 	} else if (!xs->umem || !xdp_umem_validate_queues(xs->umem)) {
 		err = -EINVAL;
@@ -537,7 +534,7 @@
 
 		/* Make sure umem is ready before it can be seen by others */
 		smp_wmb();
-		xs->umem = umem;
+		WRITE_ONCE(xs->umem, umem);
 		mutex_unlock(&xs->mutex);
 		return 0;
 	}
@@ -661,6 +658,8 @@
 		if (!umem)
 			return -EINVAL;
 
+		/* Matches the smp_wmb() in XDP_UMEM_REG */
+		smp_rmb();
 		if (offset == XDP_UMEM_PGOFF_FILL_RING)
 			q = READ_ONCE(umem->fq);
 		else if (offset == XDP_UMEM_PGOFF_COMPLETION_RING)
@@ -670,6 +669,8 @@
 	if (!q)
 		return -EINVAL;
 
+	/* Matches the smp_wmb() in xsk_init_queue */
+	smp_rmb();
 	qpg = virt_to_head_page(q->ring);
 	if (size > (PAGE_SIZE << compound_order(qpg)))
 		return -EINVAL;
diff --git a/net/xfrm/xfrm_interface.c b/net/xfrm/xfrm_interface.c
index d6a3cdf..317fe9c 100644
--- a/net/xfrm/xfrm_interface.c
+++ b/net/xfrm/xfrm_interface.c
@@ -145,8 +145,6 @@
 	if (err < 0)
 		goto out;
 
-	strcpy(xi->p.name, dev->name);
-
 	dev_hold(dev);
 	xfrmi_link(xfrmn, xi);
 
@@ -270,9 +268,6 @@
 	int err = -1;
 	int mtu;
 
-	if (!dst)
-		goto tx_err_link_failure;
-
 	dst_hold(dst);
 	dst = xfrm_lookup_with_ifid(xi->net, dst, fl, NULL, 0, xi->p.if_id);
 	if (IS_ERR(dst)) {
@@ -293,13 +288,13 @@
 	if (tdev == dev) {
 		stats->collisions++;
 		net_warn_ratelimited("%s: Local routing loop detected!\n",
-				     xi->p.name);
+				     dev->name);
 		goto tx_err_dst_release;
 	}
 
 	mtu = dst_mtu(dst);
 	if (!skb->ignore_df && skb->len > mtu) {
-		skb_dst_update_pmtu(skb, mtu);
+		skb_dst_update_pmtu_no_confirm(skb, mtu);
 
 		if (skb->protocol == htons(ETH_P_IPV6)) {
 			if (mtu < IPV6_MIN_MTU)
@@ -345,6 +340,7 @@
 {
 	struct xfrm_if *xi = netdev_priv(dev);
 	struct net_device_stats *stats = &xi->dev->stats;
+	struct dst_entry *dst = skb_dst(skb);
 	struct flowi fl;
 	int ret;
 
@@ -354,10 +350,33 @@
 	case htons(ETH_P_IPV6):
 		xfrm_decode_session(skb, &fl, AF_INET6);
 		memset(IP6CB(skb), 0, sizeof(*IP6CB(skb)));
+		if (!dst) {
+			fl.u.ip6.flowi6_oif = dev->ifindex;
+			fl.u.ip6.flowi6_flags |= FLOWI_FLAG_ANYSRC;
+			dst = ip6_route_output(dev_net(dev), NULL, &fl.u.ip6);
+			if (dst->error) {
+				dst_release(dst);
+				stats->tx_carrier_errors++;
+				goto tx_err;
+			}
+			skb_dst_set(skb, dst);
+		}
 		break;
 	case htons(ETH_P_IP):
 		xfrm_decode_session(skb, &fl, AF_INET);
 		memset(IPCB(skb), 0, sizeof(*IPCB(skb)));
+		if (!dst) {
+			struct rtable *rt;
+
+			fl.u.ip4.flowi4_oif = dev->ifindex;
+			fl.u.ip4.flowi4_flags |= FLOWI_FLAG_ANYSRC;
+			rt = __ip_route_output_key(dev_net(dev), &fl.u.ip4);
+			if (IS_ERR(rt)) {
+				stats->tx_carrier_errors++;
+				goto tx_err;
+			}
+			skb_dst_set(skb, &rt->dst);
+		}
 		break;
 	default:
 		goto tx_err;
@@ -568,12 +587,9 @@
 {
 	dev->netdev_ops 	= &xfrmi_netdev_ops;
 	dev->type		= ARPHRD_NONE;
-	dev->hard_header_len 	= ETH_HLEN;
-	dev->min_header_len	= ETH_HLEN;
 	dev->mtu		= ETH_DATA_LEN;
 	dev->min_mtu		= ETH_MIN_MTU;
-	dev->max_mtu		= ETH_DATA_LEN;
-	dev->addr_len		= ETH_ALEN;
+	dev->max_mtu		= IP_MAX_MTU;
 	dev->flags 		= IFF_NOARP;
 	dev->needs_free_netdev	= true;
 	dev->priv_destructor	= xfrmi_dev_free;
@@ -648,12 +664,6 @@
 	int err;
 
 	xfrmi_netlink_parms(data, &p);
-
-	if (!tb[IFLA_IFNAME])
-		return -EINVAL;
-
-	nla_strlcpy(p.name, tb[IFLA_IFNAME], IFNAMSIZ);
-
 	xi = xfrmi_locate(net, &p);
 	if (xi)
 		return -EEXIST;
diff --git a/samples/bpf/Makefile b/samples/bpf/Makefile
index 75d4b48..85a6e8f 100644
--- a/samples/bpf/Makefile
+++ b/samples/bpf/Makefile
@@ -221,7 +221,7 @@
 
 clean:
 	$(MAKE) -C ../../ M=$(CURDIR) clean
-	@rm -f *~
+	@find $(CURDIR) -type f -name '*~' -delete
 
 $(LIBBPF): FORCE
 # Fix up variables inherited from Kbuild that tools/ build system won't like
diff --git a/samples/bpf/xdp_rxq_info_user.c b/samples/bpf/xdp_rxq_info_user.c
index ef26f88..a55c813 100644
--- a/samples/bpf/xdp_rxq_info_user.c
+++ b/samples/bpf/xdp_rxq_info_user.c
@@ -472,9 +472,9 @@
 	if (bpf_prog_load_xattr(&prog_load_attr, &obj, &prog_fd))
 		return EXIT_FAIL;
 
-	map = bpf_map__next(NULL, obj);
-	stats_global_map = bpf_map__next(map, obj);
-	rx_queue_index_map = bpf_map__next(stats_global_map, obj);
+	map =  bpf_object__find_map_by_name(obj, "config_map");
+	stats_global_map = bpf_object__find_map_by_name(obj, "stats_global_map");
+	rx_queue_index_map = bpf_object__find_map_by_name(obj, "rx_queue_index_map");
 	if (!map || !stats_global_map || !rx_queue_index_map) {
 		printf("finding a map in obj file failed\n");
 		return EXIT_FAIL;
diff --git a/samples/hw_breakpoint/data_breakpoint.c b/samples/hw_breakpoint/data_breakpoint.c
index ef7f322..3739481 100644
--- a/samples/hw_breakpoint/data_breakpoint.c
+++ b/samples/hw_breakpoint/data_breakpoint.c
@@ -36,7 +36,7 @@
 
 struct perf_event * __percpu *sample_hbp;
 
-static char ksym_name[KSYM_NAME_LEN] = "pid_max";
+static char ksym_name[KSYM_NAME_LEN] = "jiffies";
 module_param_string(ksym, ksym_name, KSYM_NAME_LEN, S_IRUGO);
 MODULE_PARM_DESC(ksym, "Kernel symbol to monitor; this module will report any"
 			" write operations on the kernel symbol");
@@ -54,11 +54,15 @@
 {
 	int ret;
 	struct perf_event_attr attr;
+	void *addr = __symbol_get(ksym_name);
+
+	if (!addr)
+		return -ENXIO;
 
 	hw_breakpoint_init(&attr);
-	attr.bp_addr = kallsyms_lookup_name(ksym_name);
+	attr.bp_addr = (unsigned long)addr;
 	attr.bp_len = HW_BREAKPOINT_LEN_4;
-	attr.bp_type = HW_BREAKPOINT_W | HW_BREAKPOINT_R;
+	attr.bp_type = HW_BREAKPOINT_W;
 
 	sample_hbp = register_wide_hw_breakpoint(&attr, sample_hbp_handler, NULL);
 	if (IS_ERR((void __force *)sample_hbp)) {
@@ -79,6 +83,7 @@
 static void __exit hw_break_module_exit(void)
 {
 	unregister_wide_hw_breakpoint(sample_hbp);
+	symbol_put(ksym_name);
 	printk(KERN_INFO "HW Breakpoint for %s write uninstalled\n", ksym_name);
 }
 
diff --git a/scripts/Kconfig.include b/scripts/Kconfig.include
index 3b2861f..79455ad 100644
--- a/scripts/Kconfig.include
+++ b/scripts/Kconfig.include
@@ -20,7 +20,7 @@
 
 # $(cc-option,<flag>)
 # Return y if the compiler supports <flag>, n otherwise
-cc-option = $(success,$(CC) -Werror $(CLANG_FLAGS) $(1) -E -x c /dev/null -o /dev/null)
+cc-option = $(success,$(CC) -Werror $(CLANG_FLAGS) $(1) -S -x c /dev/null -o /dev/null)
 
 # $(ld-option,<flag>)
 # Return y if the linker supports <flag>, n otherwise
diff --git a/scripts/adjust_autoksyms.sh b/scripts/adjust_autoksyms.sh
index 6e6d639..4d1adf1 100755
--- a/scripts/adjust_autoksyms.sh
+++ b/scripts/adjust_autoksyms.sh
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-# Script to create/update include/generated/autoksyms.h and dependency files
+# Script to update include/generated/autoksyms.h and dependency files
 #
 # Copyright:	(C) 2016  Linaro Limited
 # Created by:	Nicolas Pitre, January 2016
@@ -9,9 +9,7 @@
 # it under the terms of the GNU General Public License version 2 as
 # published by the Free Software Foundation.
 
-# Create/update the include/generated/autoksyms.h file from the list
-# of all module's needed symbols as recorded on the third line of
-# .tmp_versions/*.mod files.
+# Update the include/generated/autoksyms.h file.
 #
 # For each symbol being added or removed, the corresponding dependency
 # file's timestamp is updated to force a rebuild of the affected source
@@ -39,35 +37,10 @@
 esac
 
 # We need access to CONFIG_ symbols
-case "${KCONFIG_CONFIG}" in
-*/*)
-	. "${KCONFIG_CONFIG}"
-	;;
-*)
-	# Force using a file from the current directory
-	. "./${KCONFIG_CONFIG}"
-esac
+. include/config/auto.conf
 
-# Generate a new ksym list file with symbols needed by the current
-# set of modules.
-cat > "$new_ksyms_file" << EOT
-/*
- * Automatically generated file; DO NOT EDIT.
- */
-
-EOT
-[ "$(ls -A "$MODVERDIR")" ] &&
-for mod in "$MODVERDIR"/*.mod; do
-	sed -n -e '3{s/ /\n/g;/^$/!p;}' "$mod"
-done | sort -u |
-while read sym; do
-	echo "#define __KSYM_${sym} 1"
-done >> "$new_ksyms_file"
-
-# Special case for modversions (see modpost.c)
-if [ -n "$CONFIG_MODVERSIONS" ]; then
-	echo "#define __KSYM_module_layout 1" >> "$new_ksyms_file"
-fi
+# Generate a new symbol list file
+$CONFIG_SHELL $srctree/scripts/gen_autoksyms.sh "$new_ksyms_file"
 
 # Extract changes between old and new list and touch corresponding
 # dependency files.
diff --git a/scripts/find-unused-docs.sh b/scripts/find-unused-docs.sh
index 3f46f89..ee6a50e 100755
--- a/scripts/find-unused-docs.sh
+++ b/scripts/find-unused-docs.sh
@@ -54,7 +54,7 @@
 	if [[ ${FILES_INCLUDED[$file]+_} ]]; then
 	continue;
 	fi
-	str=$(scripts/kernel-doc -text -export "$file" 2>/dev/null)
+	str=$(scripts/kernel-doc -export "$file" 2>/dev/null)
 	if [[ -n "$str" ]]; then
 	echo "$file"
 	fi
diff --git a/scripts/gen_autoksyms.sh b/scripts/gen_autoksyms.sh
new file mode 100755
index 0000000..846dde7
--- /dev/null
+++ b/scripts/gen_autoksyms.sh
@@ -0,0 +1,52 @@
+#!/bin/sh
+# SPDX-License-Identifier: GPL-2.0-only
+
+# Create an autoksyms.h header file from the list of all module's needed symbols
+# as recorded on the third line of *.mod files and the user-provided symbol
+# whitelist.
+
+set -e
+
+output_file="$1"
+
+# Use "make V=1" to debug this script.
+case "$KBUILD_VERBOSE" in
+*1*)
+	set -x
+	;;
+esac
+
+# We need access to CONFIG_ symbols
+. include/config/auto.conf
+
+ksym_wl=/dev/null
+if [ -n "$CONFIG_UNUSED_KSYMS_WHITELIST" ]; then
+	# Use 'eval' to expand the whitelist path and check if it is relative
+	eval ksym_wl="$CONFIG_UNUSED_KSYMS_WHITELIST"
+	[ "${ksym_wl}" != "${ksym_wl#/}" ] || ksym_wl="$abs_srctree/$ksym_wl"
+	if [ ! -f "$ksym_wl" ] || [ ! -r "$ksym_wl" ]; then
+		echo "ERROR: '$ksym_wl' whitelist file not found" >&2
+		exit 1
+	fi
+fi
+
+# Generate a new ksym list file with symbols needed by the current
+# set of modules.
+cat > "$output_file" << EOT
+/*
+ * Automatically generated file; DO NOT EDIT.
+ */
+
+EOT
+
+for mod in "$MODVERDIR"/*.mod; do
+	[ -f "$mod" ] && sed -n -e '3{s/ /\n/g;/^$/!p;}' "$mod"
+done | cat - "$ksym_wl" | sort -u |
+while read sym; do
+	echo "#define __KSYM_${sym} 1"
+done >> "$output_file"
+
+# Special case for modversions (see modpost.c)
+if [ -n "$CONFIG_MODVERSIONS" ]; then
+	echo "#define __KSYM_module_layout 1" >> "$output_file"
+fi
diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c
index 0dde19c..2caf5fa 100644
--- a/scripts/kconfig/confdata.c
+++ b/scripts/kconfig/confdata.c
@@ -1314,7 +1314,7 @@
 
 		sym_calc_value(csym);
 		if (mode == def_random)
-			has_changed = randomize_choice_values(csym);
+			has_changed |= randomize_choice_values(csym);
 		else {
 			set_all_choice_values(csym);
 			has_changed = true;
diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh
index 517c732..559a531 100755
--- a/scripts/link-vmlinux.sh
+++ b/scripts/link-vmlinux.sh
@@ -281,14 +281,7 @@
 fi
 
 # We need access to CONFIG_ symbols
-case "${KCONFIG_CONFIG}" in
-*/*)
-	. "${KCONFIG_CONFIG}"
-	;;
-*)
-	# Force using a file from the current directory
-	. "./${KCONFIG_CONFIG}"
-esac
+. include/config/auto.conf
 
 # Update version
 info GEN .version
diff --git a/scripts/recordmcount.c b/scripts/recordmcount.c
index 7a9ad23..9291960 100644
--- a/scripts/recordmcount.c
+++ b/scripts/recordmcount.c
@@ -39,6 +39,10 @@
 #define R_AARCH64_ABS64	257
 #endif
 
+#define R_ARM_PC24		1
+#define R_ARM_THM_CALL		10
+#define R_ARM_CALL		28
+
 static int fd_map;	/* File descriptor for file being modified. */
 static int mmap_failed; /* Boolean flag. */
 static char gpfx;	/* prefix for global symbol name (sometimes '_') */
@@ -415,6 +419,18 @@
 #define RECORD_MCOUNT_64
 #include "recordmcount.h"
 
+static int arm_is_fake_mcount(Elf32_Rel const *rp)
+{
+	switch (ELF32_R_TYPE(w(rp->r_info))) {
+	case R_ARM_THM_CALL:
+	case R_ARM_CALL:
+	case R_ARM_PC24:
+		return 0;
+	}
+
+	return 1;
+}
+
 /* 64-bit EM_MIPS has weird ELF64_Rela.r_info.
  * http://techpubs.sgi.com/library/manuals/4000/007-4658-001/pdf/007-4658-001.pdf
  * We interpret Table 29 Relocation Operation (Elf64_Rel, Elf64_Rela) [p.40]
@@ -516,6 +532,7 @@
 			 altmcount = "__gnu_mcount_nc";
 			 make_nop = make_nop_arm;
 			 rel_type_nop = R_ARM_NONE;
+			 is_fake_mcount32 = arm_is_fake_mcount;
 			 break;
 	case EM_AARCH64:
 			reltype = R_AARCH64_ABS64;
diff --git a/security/Kconfig b/security/Kconfig
index e483bbc..bfb5302 100644
--- a/security/Kconfig
+++ b/security/Kconfig
@@ -18,15 +18,6 @@
 
 	  If you are unsure how to answer this question, answer N.
 
-config SECURITY_PERF_EVENTS_RESTRICT
-	bool "Restrict unprivileged use of performance events"
-	depends on PERF_EVENTS
-	help
-	  If you say Y here, the kernel.perf_event_paranoid sysctl
-	  will be set to 3 by default, and no unprivileged use of the
-	  perf_event_open syscall will be permitted unless it is
-	  changed.
-
 config SECURITY
 	bool "Enable different security models"
 	depends on SYSFS
diff --git a/security/apparmor/capability.c b/security/apparmor/capability.c
index 253ef6e..752f739 100644
--- a/security/apparmor/capability.c
+++ b/security/apparmor/capability.c
@@ -110,13 +110,13 @@
  * profile_capable - test if profile allows use of capability @cap
  * @profile: profile being enforced    (NOT NULL, NOT unconfined)
  * @cap: capability to test if allowed
- * @audit: whether an audit record should be generated
+ * @opts: CAP_OPT_NOAUDIT bit determines whether audit record is generated
  * @sa: audit data (MAY BE NULL indicating no auditing)
  *
  * Returns: 0 if allowed else -EPERM
  */
-static int profile_capable(struct aa_profile *profile, int cap, int audit,
-			   struct common_audit_data *sa)
+static int profile_capable(struct aa_profile *profile, int cap,
+			   unsigned int opts, struct common_audit_data *sa)
 {
 	int error;
 
@@ -126,7 +126,7 @@
 	else
 		error = -EPERM;
 
-	if (audit == SECURITY_CAP_NOAUDIT) {
+	if (opts & CAP_OPT_NOAUDIT) {
 		if (!COMPLAIN_MODE(profile))
 			return error;
 		/* audit the cap request in complain mode but note that it
@@ -142,13 +142,13 @@
  * aa_capable - test permission to use capability
  * @label: label being tested for capability (NOT NULL)
  * @cap: capability to be tested
- * @audit: whether an audit record should be generated
+ * @opts: CAP_OPT_NOAUDIT bit determines whether audit record is generated
  *
  * Look up capability in profile capability set.
  *
  * Returns: 0 on success, or else an error code.
  */
-int aa_capable(struct aa_label *label, int cap, int audit)
+int aa_capable(struct aa_label *label, int cap, unsigned int opts)
 {
 	struct aa_profile *profile;
 	int error = 0;
@@ -156,7 +156,7 @@
 
 	sa.u.cap = cap;
 	error = fn_for_each_confined(label, profile,
-			profile_capable(profile, cap, audit, &sa));
+			profile_capable(profile, cap, opts, &sa));
 
 	return error;
 }
diff --git a/security/apparmor/include/capability.h b/security/apparmor/include/capability.h
index e0304e2..1b3663b 100644
--- a/security/apparmor/include/capability.h
+++ b/security/apparmor/include/capability.h
@@ -40,7 +40,7 @@
 
 extern struct aa_sfs_entry aa_sfs_entry_caps[];
 
-int aa_capable(struct aa_label *label, int cap, int audit);
+int aa_capable(struct aa_label *label, int cap, unsigned int opts);
 
 static inline void aa_free_cap_rules(struct aa_caps *caps)
 {
diff --git a/security/apparmor/include/cred.h b/security/apparmor/include/cred.h
index e287b7d..265ae66 100644
--- a/security/apparmor/include/cred.h
+++ b/security/apparmor/include/cred.h
@@ -151,6 +151,8 @@
 {
 	struct aa_label *label = aa_current_raw_label();
 
+	might_sleep();
+
 	if (label_is_stale(label)) {
 		label = aa_get_newest_label(label);
 		if (aa_replace_current_label(label) == 0)
diff --git a/security/apparmor/ipc.c b/security/apparmor/ipc.c
index 527ea15..aacd1e9 100644
--- a/security/apparmor/ipc.c
+++ b/security/apparmor/ipc.c
@@ -107,7 +107,8 @@
 	aad(sa)->label = &tracer->label;
 	aad(sa)->peer = tracee;
 	aad(sa)->request = 0;
-	aad(sa)->error = aa_capable(&tracer->label, CAP_SYS_PTRACE, 1);
+	aad(sa)->error = aa_capable(&tracer->label, CAP_SYS_PTRACE,
+				    CAP_OPT_NONE);
 
 	return aa_audit(AUDIT_APPARMOR_AUTO, tracer, sa, audit_ptrace_cb);
 }
diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c
index 8b8b706..730de46 100644
--- a/security/apparmor/lsm.c
+++ b/security/apparmor/lsm.c
@@ -114,13 +114,13 @@
 	struct aa_label *tracer, *tracee;
 	int error;
 
-	tracer = begin_current_label_crit_section();
+	tracer = __begin_current_label_crit_section();
 	tracee = aa_get_task_label(child);
 	error = aa_may_ptrace(tracer, tracee,
 			(mode & PTRACE_MODE_READ) ? AA_PTRACE_READ
 						  : AA_PTRACE_TRACE);
 	aa_put_label(tracee);
-	end_current_label_crit_section(tracer);
+	__end_current_label_crit_section(tracer);
 
 	return error;
 }
@@ -174,14 +174,14 @@
 }
 
 static int apparmor_capable(const struct cred *cred, struct user_namespace *ns,
-			    int cap, int audit)
+			    int cap, unsigned int opts)
 {
 	struct aa_label *label;
 	int error = 0;
 
 	label = aa_get_newest_cred_label(cred);
 	if (!unconfined(label))
-		error = aa_capable(label, cap, audit);
+		error = aa_capable(label, cap, opts);
 	aa_put_label(label);
 
 	return error;
diff --git a/security/apparmor/net.c b/security/apparmor/net.c
index bb24cfa..d5d72dd 100644
--- a/security/apparmor/net.c
+++ b/security/apparmor/net.c
@@ -146,17 +146,20 @@
 static int aa_label_sk_perm(struct aa_label *label, const char *op, u32 request,
 			    struct sock *sk)
 {
-	struct aa_profile *profile;
-	DEFINE_AUDIT_SK(sa, op, sk);
+	int error = 0;
 
 	AA_BUG(!label);
 	AA_BUG(!sk);
 
-	if (unconfined(label))
-		return 0;
+	if (!unconfined(label)) {
+		struct aa_profile *profile;
+		DEFINE_AUDIT_SK(sa, op, sk);
 
-	return fn_for_each_confined(label, profile,
-			aa_profile_af_sk_perm(profile, &sa, request, sk));
+		error = fn_for_each_confined(label, profile,
+			    aa_profile_af_sk_perm(profile, &sa, request, sk));
+	}
+
+	return error;
 }
 
 int aa_sk_perm(const char *op, u32 request, struct sock *sk)
diff --git a/security/apparmor/resource.c b/security/apparmor/resource.c
index 95fd26d..552ed09 100644
--- a/security/apparmor/resource.c
+++ b/security/apparmor/resource.c
@@ -124,7 +124,7 @@
 	 */
 
 	if (label != peer &&
-	    aa_capable(label, CAP_SYS_RESOURCE, SECURITY_CAP_NOAUDIT) != 0)
+	    aa_capable(label, CAP_SYS_RESOURCE, CAP_OPT_NOAUDIT) != 0)
 		error = fn_for_each(label, profile,
 				audit_resource(profile, resource,
 					       new_rlim->rlim_max, peer,
diff --git a/security/commoncap.c b/security/commoncap.c
index ccc9927..d618dfb 100644
--- a/security/commoncap.c
+++ b/security/commoncap.c
@@ -58,7 +58,7 @@
 }
 
 /**
- * __cap_capable - Determine whether a task has a particular effective capability
+ * cap_capable - Determine whether a task has a particular effective capability
  * @cred: The credentials to use
  * @ns:  The user namespace in which we need the capability
  * @cap: The capability to check for
@@ -72,8 +72,8 @@
  * cap_has_capability() returns 0 when a task has a capability, but the
  * kernel's capable() and has_capability() returns 1 for this case.
  */
-int __cap_capable(const struct cred *cred, struct user_namespace *targ_ns,
-		int cap, int audit)
+int cap_capable(const struct cred *cred, struct user_namespace *targ_ns,
+		int cap, unsigned int opts)
 {
 	struct user_namespace *ns = targ_ns;
 
@@ -110,27 +110,6 @@
 	/* We never get here */
 }
 
-int cap_capable(const struct cred *cred, struct user_namespace *targ_ns,
-		int cap, int audit)
-{
-	int ret = __cap_capable(cred, targ_ns, cap, audit);
-
-#ifdef CONFIG_ANDROID_PARANOID_NETWORK
-	if (ret != 0 && cap == CAP_NET_RAW && in_egroup_p(AID_NET_RAW)) {
-		printk("Process %s granted CAP_NET_RAW from Android group net_raw.\n", current->comm);
-		printk("  Please update the .rc file to explictly set 'capabilities NET_RAW'\n");
-		printk("  Implicit grants are deprecated and will be removed in the future.\n");
-		return 0;
-	}
-	if (ret != 0 && cap == CAP_NET_ADMIN && in_egroup_p(AID_NET_ADMIN)) {
-		printk("Process %s granted CAP_NET_ADMIN from Android group net_admin.\n", current->comm);
-		printk("  Please update the .rc file to explictly set 'capabilities NET_ADMIN'\n");
-		printk("  Implicit grants are deprecated and will be removed in the future.\n");
-		return 0;
-	}
-#endif
-	return ret;
-}
 /**
  * cap_settime - Determine whether the current process may set the system clock
  * @ts: The time to set
@@ -248,12 +227,11 @@
  */
 static inline int cap_inh_is_capped(void)
 {
-
 	/* they are so limited unless the current task has the CAP_SETPCAP
 	 * capability
 	 */
 	if (cap_capable(current_cred(), current_cred()->user_ns,
-			CAP_SETPCAP, SECURITY_CAP_AUDIT) == 0)
+			CAP_SETPCAP, CAP_OPT_NONE) == 0)
 		return 0;
 	return 1;
 }
@@ -1237,8 +1215,9 @@
 		    || ((old->securebits & SECURE_ALL_LOCKS & ~arg2))	/*[2]*/
 		    || (arg2 & ~(SECURE_ALL_LOCKS | SECURE_ALL_BITS))	/*[3]*/
 		    || (cap_capable(current_cred(),
-				    current_cred()->user_ns, CAP_SETPCAP,
-				    SECURITY_CAP_AUDIT) != 0)		/*[4]*/
+				    current_cred()->user_ns,
+				    CAP_SETPCAP,
+				    CAP_OPT_NONE) != 0)			/*[4]*/
 			/*
 			 * [1] no changing of bits that are locked
 			 * [2] no unlocking of locks
@@ -1333,9 +1312,10 @@
 {
 	int cap_sys_admin = 0;
 
-	if (cap_capable(current_cred(), &init_user_ns, CAP_SYS_ADMIN,
-			SECURITY_CAP_NOAUDIT) == 0)
+	if (cap_capable(current_cred(), &init_user_ns,
+				CAP_SYS_ADMIN, CAP_OPT_NOAUDIT) == 0)
 		cap_sys_admin = 1;
+
 	return cap_sys_admin;
 }
 
@@ -1354,7 +1334,7 @@
 
 	if (addr < dac_mmap_min_addr) {
 		ret = cap_capable(current_cred(), &init_user_ns, CAP_SYS_RAWIO,
-				  SECURITY_CAP_AUDIT);
+				  CAP_OPT_NONE);
 		/* set PF_SUPERPRIV if it turns out we allow the low mmap */
 		if (ret == 0)
 			current->flags |= PF_SUPERPRIV;
diff --git a/security/keys/internal.h b/security/keys/internal.h
index a027426..d91833e 100644
--- a/security/keys/internal.h
+++ b/security/keys/internal.h
@@ -158,8 +158,6 @@
 
 extern bool lookup_user_key_possessed(const struct key *key,
 				      const struct key_match_data *match_data);
-extern key_ref_t lookup_user_key(key_serial_t id, unsigned long flags,
-				 key_perm_t perm);
 #define KEY_LOOKUP_CREATE	0x01
 #define KEY_LOOKUP_PARTIAL	0x02
 #define KEY_LOOKUP_FOR_UNLINK	0x04
diff --git a/security/keys/key.c b/security/keys/key.c
index 249a6da..749a5cf 100644
--- a/security/keys/key.c
+++ b/security/keys/key.c
@@ -297,6 +297,7 @@
 	key->gid = gid;
 	key->perm = perm;
 	key->restrict_link = restrict_link;
+	key->last_used_at = ktime_get_real_seconds();
 
 	if (!(flags & KEY_ALLOC_NOT_IN_QUOTA))
 		key->flags |= 1 << KEY_FLAG_IN_QUOTA;
diff --git a/security/keys/process_keys.c b/security/keys/process_keys.c
index d776d21..85a24c9 100644
--- a/security/keys/process_keys.c
+++ b/security/keys/process_keys.c
@@ -756,6 +756,7 @@
 	put_cred(ctx.cred);
 	goto try_again;
 }
+EXPORT_SYMBOL(lookup_user_key);
 
 /*
  * Join the named keyring as the session keyring if possible else attempt to
diff --git a/security/security.c b/security/security.c
index 1baf585..4a32448 100644
--- a/security/security.c
+++ b/security/security.c
@@ -283,16 +283,12 @@
 				effective, inheritable, permitted);
 }
 
-int security_capable(const struct cred *cred, struct user_namespace *ns,
-		     int cap)
+int security_capable(const struct cred *cred,
+		     struct user_namespace *ns,
+		     int cap,
+		     unsigned int opts)
 {
-	return call_int_hook(capable, 0, cred, ns, cap, SECURITY_CAP_AUDIT);
-}
-
-int security_capable_noaudit(const struct cred *cred, struct user_namespace *ns,
-			     int cap)
-{
-	return call_int_hook(capable, 0, cred, ns, cap, SECURITY_CAP_NOAUDIT);
+	return call_int_hook(capable, 0, cred, ns, cap, opts);
 }
 
 int security_quotactl(int cmds, int type, int id, struct super_block *sb)
diff --git a/security/selinux/avc.c b/security/selinux/avc.c
index 3d1cff2..6c77020 100644
--- a/security/selinux/avc.c
+++ b/security/selinux/avc.c
@@ -498,7 +498,7 @@
 	if (likely(!audited))
 		return 0;
 	return slow_avc_audit(state, ssid, tsid, tclass, requested,
-			audited, denied, result, ad, 0);
+			audited, denied, result, ad);
 }
 
 static void avc_node_free(struct rcu_head *rhead)
@@ -766,8 +766,7 @@
 noinline int slow_avc_audit(struct selinux_state *state,
 			    u32 ssid, u32 tsid, u16 tclass,
 			    u32 requested, u32 audited, u32 denied, int result,
-			    struct common_audit_data *a,
-			    unsigned int flags)
+			    struct common_audit_data *a)
 {
 	struct common_audit_data stack_data;
 	struct selinux_audit_data sad;
@@ -777,17 +776,6 @@
 		a->type = LSM_AUDIT_DATA_NONE;
 	}
 
-	/*
-	 * When in a RCU walk do the audit on the RCU retry.  This is because
-	 * the collection of the dname in an inode audit message is not RCU
-	 * safe.  Note this may drop some audits when the situation changes
-	 * during retry. However this is logically just as if the operation
-	 * happened a little later.
-	 */
-	if ((a->type == LSM_AUDIT_DATA_INODE) &&
-	    (flags & MAY_NOT_BLOCK))
-		return -ECHILD;
-
 	sad.tclass = tclass;
 	sad.requested = requested;
 	sad.ssid = ssid;
@@ -860,16 +848,14 @@
 	/*
 	 * If we are in a non-blocking code path, e.g. VFS RCU walk,
 	 * then we must not add permissions to a cache entry
-	 * because we cannot safely audit the denial.  Otherwise,
+	 * because we will not audit the denial.  Otherwise,
 	 * during the subsequent blocking retry (e.g. VFS ref walk), we
 	 * will find the permissions already granted in the cache entry
 	 * and won't audit anything at all, leading to silent denials in
 	 * permissive mode that only appear when in enforcing mode.
 	 *
-	 * See the corresponding handling in slow_avc_audit(), and the
-	 * logic in selinux_inode_follow_link and selinux_inode_permission
-	 * for the VFS MAY_NOT_BLOCK flag, which is transliterated into
-	 * AVC_NONBLOCKING for avc_has_perm_noaudit().
+	 * See the corresponding handling of MAY_NOT_BLOCK in avc_audit()
+	 * and selinux_inode_permission().
 	 */
 	if (flags & AVC_NONBLOCKING)
 		return 0;
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
index d36e9c3..b0195a9 100644
--- a/security/selinux/hooks.c
+++ b/security/selinux/hooks.c
@@ -871,6 +871,7 @@
 	    !strcmp(sb->s_type->name, "tracefs") ||
 	    !strcmp(sb->s_type->name, "sysfs") ||
 	    !strcmp(sb->s_type->name, "pstore") ||
+	    !strcmp(sb->s_type->name, "binder") ||
 	    !strcmp(sb->s_type->name, "cgroup") ||
 	    !strcmp(sb->s_type->name, "cgroup2"))
 		sbsec->flags |= SE_SBGENFS;
@@ -1794,7 +1795,7 @@
 
 /* Check whether a task is allowed to use a capability. */
 static int cred_has_capability(const struct cred *cred,
-			       int cap, int audit, bool initns)
+			       int cap, unsigned int opts, bool initns)
 {
 	struct common_audit_data ad;
 	struct av_decision avd;
@@ -1821,7 +1822,7 @@
 
 	rc = avc_has_perm_noaudit(&selinux_state,
 				  sid, sid, sclass, av, 0, &avd);
-	if (audit == SECURITY_CAP_AUDIT) {
+	if (!(opts & CAP_OPT_NOAUDIT)) {
 		int rc2 = avc_audit(&selinux_state,
 				    sid, sid, sclass, av, &avd, rc, &ad, 0);
 		if (rc2)
@@ -2341,9 +2342,9 @@
  */
 
 static int selinux_capable(const struct cred *cred, struct user_namespace *ns,
-			   int cap, int audit)
+			   int cap, unsigned int opts)
 {
-	return cred_has_capability(cred, cap, audit, ns == &init_user_ns);
+	return cred_has_capability(cred, cap, opts, ns == &init_user_ns);
 }
 
 static int selinux_quotactl(int cmds, int type, int id, struct super_block *sb)
@@ -2417,7 +2418,7 @@
 	int rc, cap_sys_admin = 0;
 
 	rc = cred_has_capability(current_cred(), CAP_SYS_ADMIN,
-				 SECURITY_CAP_NOAUDIT, true);
+				 CAP_OPT_NOAUDIT, true);
 	if (rc == 0)
 		cap_sys_admin = 1;
 
@@ -3171,8 +3172,7 @@
 
 static noinline int audit_inode_permission(struct inode *inode,
 					   u32 perms, u32 audited, u32 denied,
-					   int result,
-					   unsigned flags)
+					   int result)
 {
 	struct common_audit_data ad;
 	struct inode_security_struct *isec = inode->i_security;
@@ -3183,7 +3183,7 @@
 
 	rc = slow_avc_audit(&selinux_state,
 			    current_sid(), isec->sid, isec->sclass, perms,
-			    audited, denied, result, &ad, flags);
+			    audited, denied, result, &ad);
 	if (rc)
 		return rc;
 	return 0;
@@ -3230,7 +3230,11 @@
 	if (likely(!audited))
 		return rc;
 
-	rc2 = audit_inode_permission(inode, perms, audited, denied, rc, flags);
+	/* fall back to ref-walk if we have to generate audit */
+	if (flags & MAY_NOT_BLOCK)
+		return -ECHILD;
+
+	rc2 = audit_inode_permission(inode, perms, audited, denied, rc);
 	if (rc2)
 		return rc2;
 	return rc;
@@ -3272,11 +3276,11 @@
 static bool has_cap_mac_admin(bool audit)
 {
 	const struct cred *cred = current_cred();
-	int cap_audit = audit ? SECURITY_CAP_AUDIT : SECURITY_CAP_NOAUDIT;
+	unsigned int opts = audit ? CAP_OPT_NONE : CAP_OPT_NOAUDIT;
 
-	if (cap_capable(cred, &init_user_ns, CAP_MAC_ADMIN, cap_audit))
+	if (cap_capable(cred, &init_user_ns, CAP_MAC_ADMIN, opts))
 		return false;
-	if (cred_has_capability(cred, CAP_MAC_ADMIN, cap_audit, true))
+	if (cred_has_capability(cred, CAP_MAC_ADMIN, opts, true))
 		return false;
 	return true;
 }
@@ -3680,7 +3684,7 @@
 	case KDSKBENT:
 	case KDSKBSENT:
 		error = cred_has_capability(cred, CAP_SYS_TTY_CONFIG,
-					    SECURITY_CAP_AUDIT, true);
+					    CAP_OPT_NONE, true);
 		break;
 
 	/* default case assumes that the command will go
diff --git a/security/selinux/include/avc.h b/security/selinux/include/avc.h
index 74ea509..cf4cc3e 100644
--- a/security/selinux/include/avc.h
+++ b/security/selinux/include/avc.h
@@ -100,8 +100,7 @@
 int slow_avc_audit(struct selinux_state *state,
 		   u32 ssid, u32 tsid, u16 tclass,
 		   u32 requested, u32 audited, u32 denied, int result,
-		   struct common_audit_data *a,
-		   unsigned flags);
+		   struct common_audit_data *a);
 
 /**
  * avc_audit - Audit the granting or denial of permissions.
@@ -135,9 +134,12 @@
 	audited = avc_audit_required(requested, avd, result, 0, &denied);
 	if (likely(!audited))
 		return 0;
+	/* fall back to ref-walk if we have to generate audit */
+	if (flags & MAY_NOT_BLOCK)
+		return -ECHILD;
 	return slow_avc_audit(state, ssid, tsid, tclass,
 			      requested, audited, denied, result,
-			      a, flags);
+			      a);
 }
 
 #define AVC_STRICT 1 /* Ignore permissive mode. */
diff --git a/security/selinux/include/security.h b/security/selinux/include/security.h
index f068ee1..779f940 100644
--- a/security/selinux/include/security.h
+++ b/security/selinux/include/security.h
@@ -398,6 +398,7 @@
 extern void avtab_cache_init(void);
 extern void ebitmap_cache_init(void);
 extern void hashtab_cache_init(void);
+extern void selinux_nlmsg_init(void);
 extern int security_sidtab_hash_stats(struct selinux_state *state, char *page);
 extern void selinux_nlmsg_init(void);
 
diff --git a/security/smack/smack_access.c b/security/smack/smack_access.c
index c071c356..a7855c6 100644
--- a/security/smack/smack_access.c
+++ b/security/smack/smack_access.c
@@ -640,7 +640,7 @@
 	struct smack_known_list_elem *sklep;
 	int rc;
 
-	rc = cap_capable(cred, &init_user_ns, cap, SECURITY_CAP_AUDIT);
+	rc = cap_capable(cred, &init_user_ns, cap, CAP_OPT_NONE);
 	if (rc)
 		return false;
 
diff --git a/security/tomoyo/common.c b/security/tomoyo/common.c
index 03923a1..ca0c982 100644
--- a/security/tomoyo/common.c
+++ b/security/tomoyo/common.c
@@ -2254,9 +2254,9 @@
 	[TOMOYO_MEMORY_QUERY]  = "query message:",
 };
 
-/* Timestamp counter for last updated. */
-static unsigned int tomoyo_stat_updated[TOMOYO_MAX_POLICY_STAT];
 /* Counter for number of updates. */
+static atomic_t tomoyo_stat_updated[TOMOYO_MAX_POLICY_STAT];
+/* Timestamp counter for last updated. */
 static time64_t tomoyo_stat_modified[TOMOYO_MAX_POLICY_STAT];
 
 /**
@@ -2268,10 +2268,7 @@
  */
 void tomoyo_update_stat(const u8 index)
 {
-	/*
-	 * I don't use atomic operations because race condition is not fatal.
-	 */
-	tomoyo_stat_updated[index]++;
+	atomic_inc(&tomoyo_stat_updated[index]);
 	tomoyo_stat_modified[index] = ktime_get_real_seconds();
 }
 
@@ -2291,7 +2288,7 @@
 	for (i = 0; i < TOMOYO_MAX_POLICY_STAT; i++) {
 		tomoyo_io_printf(head, "Policy %-30s %10u",
 				 tomoyo_policy_headers[i],
-				 tomoyo_stat_updated[i]);
+				 atomic_read(&tomoyo_stat_updated[i]));
 		if (tomoyo_stat_modified[i]) {
 			struct tomoyo_time stamp;
 			tomoyo_convert_time(tomoyo_stat_modified[i], &stamp);
diff --git a/sound/aoa/codecs/onyx.c b/sound/aoa/codecs/onyx.c
index d2d96ca..6224fd3 100644
--- a/sound/aoa/codecs/onyx.c
+++ b/sound/aoa/codecs/onyx.c
@@ -74,8 +74,10 @@
 		return 0;
 	}
 	v = i2c_smbus_read_byte_data(onyx->i2c, reg);
-	if (v < 0)
+	if (v < 0) {
+		*value = 0;
 		return -1;
+	}
 	*value = (u8)v;
 	onyx->cache[ONYX_REG_CONTROL-FIRSTREGISTER] = *value;
 	return 0;
diff --git a/sound/core/control.c b/sound/core/control.c
index 649d321..d1312f1 100644
--- a/sound/core/control.c
+++ b/sound/core/control.c
@@ -1468,8 +1468,9 @@
 	if (kctl->tlv.c == NULL)
 		return -ENXIO;
 
-	/* When locked, this is unavailable. */
-	if (vd->owner != NULL && vd->owner != file)
+	/* Write and command operations are not allowed for locked element. */
+	if (op_flag != SNDRV_CTL_TLV_OP_READ &&
+	    vd->owner != NULL && vd->owner != file)
 		return -EPERM;
 
 	return kctl->tlv.c(kctl, op_flag, size, buf);
diff --git a/sound/core/seq/seq_clientmgr.c b/sound/core/seq/seq_clientmgr.c
index bd3d68e..aaf9c41 100644
--- a/sound/core/seq/seq_clientmgr.c
+++ b/sound/core/seq/seq_clientmgr.c
@@ -563,7 +563,7 @@
 	event->queue = queue;
 	event->flags &= ~SNDRV_SEQ_TIME_STAMP_MASK;
 	if (real_time) {
-		event->time.time = snd_seq_timer_get_cur_time(q->timer);
+		event->time.time = snd_seq_timer_get_cur_time(q->timer, true);
 		event->flags |= SNDRV_SEQ_TIME_STAMP_REAL;
 	} else {
 		event->time.tick = snd_seq_timer_get_cur_tick(q->timer);
@@ -1642,7 +1642,7 @@
 	tmr = queue->timer;
 	status->events = queue->tickq->cells + queue->timeq->cells;
 
-	status->time = snd_seq_timer_get_cur_time(tmr);
+	status->time = snd_seq_timer_get_cur_time(tmr, true);
 	status->tick = snd_seq_timer_get_cur_tick(tmr);
 
 	status->running = tmr->running;
diff --git a/sound/core/seq/seq_queue.c b/sound/core/seq/seq_queue.c
index 3b3ac96..28b4dd4 100644
--- a/sound/core/seq/seq_queue.c
+++ b/sound/core/seq/seq_queue.c
@@ -251,6 +251,8 @@
 {
 	unsigned long flags;
 	struct snd_seq_event_cell *cell;
+	snd_seq_tick_time_t cur_tick;
+	snd_seq_real_time_t cur_time;
 
 	if (q == NULL)
 		return;
@@ -267,17 +269,18 @@
 
       __again:
 	/* Process tick queue... */
+	cur_tick = snd_seq_timer_get_cur_tick(q->timer);
 	for (;;) {
-		cell = snd_seq_prioq_cell_out(q->tickq,
-					      &q->timer->tick.cur_tick);
+		cell = snd_seq_prioq_cell_out(q->tickq, &cur_tick);
 		if (!cell)
 			break;
 		snd_seq_dispatch_event(cell, atomic, hop);
 	}
 
 	/* Process time queue... */
+	cur_time = snd_seq_timer_get_cur_time(q->timer, false);
 	for (;;) {
-		cell = snd_seq_prioq_cell_out(q->timeq, &q->timer->cur_time);
+		cell = snd_seq_prioq_cell_out(q->timeq, &cur_time);
 		if (!cell)
 			break;
 		snd_seq_dispatch_event(cell, atomic, hop);
@@ -405,6 +408,7 @@
 int snd_seq_queue_set_owner(int queueid, int client, int locked)
 {
 	struct snd_seq_queue *q = queueptr(queueid);
+	unsigned long flags;
 
 	if (q == NULL)
 		return -EINVAL;
@@ -414,8 +418,10 @@
 		return -EPERM;
 	}
 
+	spin_lock_irqsave(&q->owner_lock, flags);
 	q->locked = locked ? 1 : 0;
 	q->owner = client;
+	spin_unlock_irqrestore(&q->owner_lock, flags);
 	queue_access_unlock(q);
 	queuefree(q);
 
@@ -552,15 +558,17 @@
 	unsigned long flags;
 	int i;
 	struct snd_seq_queue *q;
+	bool matched;
 
 	for (i = 0; i < SNDRV_SEQ_MAX_QUEUES; i++) {
 		if ((q = queueptr(i)) == NULL)
 			continue;
 		spin_lock_irqsave(&q->owner_lock, flags);
-		if (q->owner == client)
+		matched = (q->owner == client);
+		if (matched)
 			q->klocked = 1;
 		spin_unlock_irqrestore(&q->owner_lock, flags);
-		if (q->owner == client) {
+		if (matched) {
 			if (q->timer->running)
 				snd_seq_timer_stop(q->timer);
 			snd_seq_timer_reset(q->timer);
@@ -752,6 +760,8 @@
 	int i, bpm;
 	struct snd_seq_queue *q;
 	struct snd_seq_timer *tmr;
+	bool locked;
+	int owner;
 
 	for (i = 0; i < SNDRV_SEQ_MAX_QUEUES; i++) {
 		if ((q = queueptr(i)) == NULL)
@@ -763,9 +773,14 @@
 		else
 			bpm = 0;
 
+		spin_lock_irq(&q->owner_lock);
+		locked = q->locked;
+		owner = q->owner;
+		spin_unlock_irq(&q->owner_lock);
+
 		snd_iprintf(buffer, "queue %d: [%s]\n", q->queue, q->name);
-		snd_iprintf(buffer, "owned by client    : %d\n", q->owner);
-		snd_iprintf(buffer, "lock status        : %s\n", q->locked ? "Locked" : "Free");
+		snd_iprintf(buffer, "owned by client    : %d\n", owner);
+		snd_iprintf(buffer, "lock status        : %s\n", locked ? "Locked" : "Free");
 		snd_iprintf(buffer, "queued time events : %d\n", snd_seq_prioq_avail(q->timeq));
 		snd_iprintf(buffer, "queued tick events : %d\n", snd_seq_prioq_avail(q->tickq));
 		snd_iprintf(buffer, "timer state        : %s\n", tmr->running ? "Running" : "Stopped");
diff --git a/sound/core/seq/seq_timer.c b/sound/core/seq/seq_timer.c
index f587d0e..3da44a4 100644
--- a/sound/core/seq/seq_timer.c
+++ b/sound/core/seq/seq_timer.c
@@ -437,14 +437,15 @@
 }
 
 /* return current 'real' time. use timeofday() to get better granularity. */
-snd_seq_real_time_t snd_seq_timer_get_cur_time(struct snd_seq_timer *tmr)
+snd_seq_real_time_t snd_seq_timer_get_cur_time(struct snd_seq_timer *tmr,
+					       bool adjust_ktime)
 {
 	snd_seq_real_time_t cur_time;
 	unsigned long flags;
 
 	spin_lock_irqsave(&tmr->lock, flags);
 	cur_time = tmr->cur_time;
-	if (tmr->running) { 
+	if (adjust_ktime && tmr->running) {
 		struct timespec64 tm;
 
 		ktime_get_ts64(&tm);
@@ -461,7 +462,13 @@
  high PPQ values) */
 snd_seq_tick_time_t snd_seq_timer_get_cur_tick(struct snd_seq_timer *tmr)
 {
-	return tmr->tick.cur_tick;
+	snd_seq_tick_time_t cur_tick;
+	unsigned long flags;
+
+	spin_lock_irqsave(&tmr->lock, flags);
+	cur_tick = tmr->tick.cur_tick;
+	spin_unlock_irqrestore(&tmr->lock, flags);
+	return cur_tick;
 }
 
 
@@ -480,15 +487,19 @@
 		q = queueptr(idx);
 		if (q == NULL)
 			continue;
-		if ((tmr = q->timer) == NULL ||
-		    (ti = tmr->timeri) == NULL) {
-			queuefree(q);
-			continue;
-		}
+		mutex_lock(&q->timer_mutex);
+		tmr = q->timer;
+		if (!tmr)
+			goto unlock;
+		ti = tmr->timeri;
+		if (!ti)
+			goto unlock;
 		snd_iprintf(buffer, "Timer for queue %i : %s\n", q->queue, ti->timer->name);
 		resolution = snd_timer_resolution(ti) * tmr->ticks;
 		snd_iprintf(buffer, "  Period time : %lu.%09lu\n", resolution / 1000000000, resolution % 1000000000);
 		snd_iprintf(buffer, "  Skew : %u / %u\n", tmr->skew, tmr->skew_base);
+unlock:
+		mutex_unlock(&q->timer_mutex);
 		queuefree(q);
  	}
 }
diff --git a/sound/core/seq/seq_timer.h b/sound/core/seq/seq_timer.h
index 62f3906..44f52f5 100644
--- a/sound/core/seq/seq_timer.h
+++ b/sound/core/seq/seq_timer.h
@@ -135,7 +135,8 @@
 int snd_seq_timer_set_position_tick(struct snd_seq_timer *tmr, snd_seq_tick_time_t position);
 int snd_seq_timer_set_position_time(struct snd_seq_timer *tmr, snd_seq_real_time_t position);
 int snd_seq_timer_set_skew(struct snd_seq_timer *tmr, unsigned int skew, unsigned int base);
-snd_seq_real_time_t snd_seq_timer_get_cur_time(struct snd_seq_timer *tmr);
+snd_seq_real_time_t snd_seq_timer_get_cur_time(struct snd_seq_timer *tmr,
+					       bool adjust_ktime);
 snd_seq_tick_time_t snd_seq_timer_get_cur_tick(struct snd_seq_timer *tmr);
 
 extern int seq_default_timer_class;
diff --git a/sound/drivers/dummy.c b/sound/drivers/dummy.c
index 9af154d..b78cc8d 100644
--- a/sound/drivers/dummy.c
+++ b/sound/drivers/dummy.c
@@ -929,7 +929,7 @@
 {
 	int i;
 
-	for (i = 0; i < SNDRV_PCM_FORMAT_LAST; i++) {
+	for (i = 0; i <= SNDRV_PCM_FORMAT_LAST; i++) {
 		if (dummy->pcm_hw.formats & (1ULL << i))
 			snd_iprintf(buffer, " %s", snd_pcm_format_name(i));
 	}
diff --git a/sound/firewire/dice/dice-extension.c b/sound/firewire/dice/dice-extension.c
index a63fcbc..02f4a83 100644
--- a/sound/firewire/dice/dice-extension.c
+++ b/sound/firewire/dice/dice-extension.c
@@ -159,8 +159,11 @@
 		int j;
 
 		for (j = i + 1; j < 9; ++j) {
-			if (pointers[i * 2] == pointers[j * 2])
+			if (pointers[i * 2] == pointers[j * 2]) {
+				// Fallback to limited functionality.
+				err = -ENXIO;
 				goto end;
+			}
 		}
 	}
 
diff --git a/sound/hda/ext/hdac_ext_controller.c b/sound/hda/ext/hdac_ext_controller.c
index 60cb00f..84b44cd 100644
--- a/sound/hda/ext/hdac_ext_controller.c
+++ b/sound/hda/ext/hdac_ext_controller.c
@@ -262,6 +262,7 @@
 int snd_hdac_ext_bus_link_get(struct hdac_bus *bus,
 				struct hdac_ext_link *link)
 {
+	unsigned long codec_mask;
 	int ret = 0;
 
 	mutex_lock(&bus->lock);
@@ -283,9 +284,11 @@
 		 *  HDA spec section 4.3 - Codec Discovery
 		 */
 		udelay(521);
-		bus->codec_mask = snd_hdac_chip_readw(bus, STATESTS);
-		dev_dbg(bus->dev, "codec_mask = 0x%lx\n", bus->codec_mask);
-		snd_hdac_chip_writew(bus, STATESTS, bus->codec_mask);
+		codec_mask = snd_hdac_chip_readw(bus, STATESTS);
+		dev_dbg(bus->dev, "codec_mask = 0x%lx\n", codec_mask);
+		snd_hdac_chip_writew(bus, STATESTS, codec_mask);
+		if (!bus->codec_mask)
+			bus->codec_mask = codec_mask;
 	}
 
 	mutex_unlock(&bus->lock);
diff --git a/sound/hda/hdmi_chmap.c b/sound/hda/hdmi_chmap.c
index f21633c..acbe61b 100644
--- a/sound/hda/hdmi_chmap.c
+++ b/sound/hda/hdmi_chmap.c
@@ -249,7 +249,7 @@
 
 	for (i = 0, j = 0; i < ARRAY_SIZE(cea_speaker_allocation_names); i++) {
 		if (spk_alloc & (1 << i))
-			j += snprintf(buf + j, buflen - j,  " %s",
+			j += scnprintf(buf + j, buflen - j,  " %s",
 					cea_speaker_allocation_names[i]);
 	}
 	buf[j] = '\0';	/* necessary when j == 0 */
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index 82b0dc9..f3a6b1d 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -4019,7 +4019,7 @@
 
 	for (i = 0, j = 0; i < ARRAY_SIZE(bits); i++)
 		if (pcm & (AC_SUPPCM_BITS_8 << i))
-			j += snprintf(buf + j, buflen - j,  " %d", bits[i]);
+			j += scnprintf(buf + j, buflen - j,  " %d", bits[i]);
 
 	buf[j] = '\0'; /* necessary when j == 0 */
 }
diff --git a/sound/pci/hda/hda_controller.h b/sound/pci/hda/hda_controller.h
index 8a9dd47..63cc106 100644
--- a/sound/pci/hda/hda_controller.h
+++ b/sound/pci/hda/hda_controller.h
@@ -176,11 +176,10 @@
 #define azx_bus(chip)	(&(chip)->bus.core)
 #define bus_to_azx(_bus)	container_of(_bus, struct azx, bus.core)
 
-#ifdef CONFIG_X86
-#define azx_snoop(chip)		((chip)->snoop)
-#else
-#define azx_snoop(chip)		true
-#endif
+static inline bool azx_snoop(struct azx *chip)
+{
+	return !IS_ENABLED(CONFIG_X86) || chip->snoop;
+}
 
 /*
  * macros for easy use
diff --git a/sound/pci/hda/hda_eld.c b/sound/pci/hda/hda_eld.c
index ba7fe9b..864cc8c 100644
--- a/sound/pci/hda/hda_eld.c
+++ b/sound/pci/hda/hda_eld.c
@@ -373,7 +373,7 @@
 
 	for (i = 0, j = 0; i < ARRAY_SIZE(alsa_rates); i++)
 		if (pcm & (1 << i))
-			j += snprintf(buf + j, buflen - j,  " %d",
+			j += scnprintf(buf + j, buflen - j,  " %d",
 				alsa_rates[i]);
 
 	buf[j] = '\0'; /* necessary when j == 0 */
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index d63fea5..3ee5b7b 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -2324,6 +2324,8 @@
 	/* https://bugzilla.redhat.com/show_bug.cgi?id=1581607 */
 	SND_PCI_QUIRK(0x1558, 0x3501, "Clevo W35xSS_370SS", 0),
 	/* https://bugzilla.redhat.com/show_bug.cgi?id=1525104 */
+	SND_PCI_QUIRK(0x1558, 0x6504, "Clevo W65_67SB", 0),
+	/* https://bugzilla.redhat.com/show_bug.cgi?id=1525104 */
 	SND_PCI_QUIRK(0x1028, 0x0497, "Dell Precision T3600", 0),
 	/* https://bugzilla.redhat.com/show_bug.cgi?id=1525104 */
 	/* Note the P55A-UD3 and Z87-D3HP share the subsys id for the HDA dev */
diff --git a/sound/pci/hda/hda_sysfs.c b/sound/pci/hda/hda_sysfs.c
index 6ec79c5..6535155 100644
--- a/sound/pci/hda/hda_sysfs.c
+++ b/sound/pci/hda/hda_sysfs.c
@@ -221,7 +221,7 @@
 	int i, len = 0;
 	mutex_lock(&codec->user_mutex);
 	snd_array_for_each(&codec->init_verbs, i, v) {
-		len += snprintf(buf + len, PAGE_SIZE - len,
+		len += scnprintf(buf + len, PAGE_SIZE - len,
 				"0x%02x 0x%03x 0x%04x\n",
 				v->nid, v->verb, v->param);
 	}
@@ -271,7 +271,7 @@
 	int i, len = 0;
 	mutex_lock(&codec->user_mutex);
 	snd_array_for_each(&codec->hints, i, hint) {
-		len += snprintf(buf + len, PAGE_SIZE - len,
+		len += scnprintf(buf + len, PAGE_SIZE - len,
 				"%s = %s\n", hint->key, hint->val);
 	}
 	mutex_unlock(&codec->user_mutex);
diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c
index 5500dd43..78bb962 100644
--- a/sound/pci/hda/patch_conexant.c
+++ b/sound/pci/hda/patch_conexant.c
@@ -935,6 +935,7 @@
 	SND_PCI_QUIRK(0x17aa, 0x215f, "Lenovo T510", CXT_PINCFG_LENOVO_TP410),
 	SND_PCI_QUIRK(0x17aa, 0x21ce, "Lenovo T420", CXT_PINCFG_LENOVO_TP410),
 	SND_PCI_QUIRK(0x17aa, 0x21cf, "Lenovo T520", CXT_PINCFG_LENOVO_TP410),
+	SND_PCI_QUIRK(0x17aa, 0x21d2, "Lenovo T420s", CXT_PINCFG_LENOVO_TP410),
 	SND_PCI_QUIRK(0x17aa, 0x21da, "Lenovo X220", CXT_PINCFG_LENOVO_TP410),
 	SND_PCI_QUIRK(0x17aa, 0x21db, "Lenovo X220-tablet", CXT_PINCFG_LENOVO_TP410),
 	SND_PCI_QUIRK(0x17aa, 0x38af, "Lenovo IdeaPad Z560", CXT_FIXUP_MUTE_LED_EAPD),
diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
index c827a2a..c67fadd 100644
--- a/sound/pci/hda/patch_hdmi.c
+++ b/sound/pci/hda/patch_hdmi.c
@@ -2604,9 +2604,12 @@
 /* parse and post-process for Intel codecs */
 static int parse_intel_hdmi(struct hda_codec *codec)
 {
-	int err;
+	int err, retries = 3;
 
-	err = hdmi_parse_codec(codec);
+	do {
+		err = hdmi_parse_codec(codec);
+	} while (err < 0 && retries--);
+
 	if (err < 0) {
 		generic_spec_free(codec);
 		return err;
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 1f6a036..86ab022 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -424,6 +424,7 @@
 	case 0x10ec0672:
 		alc_update_coef_idx(codec, 0xd, 0, 1<<14); /* EAPD Ctrl */
 		break;
+	case 0x10ec0222:
 	case 0x10ec0623:
 		alc_update_coef_idx(codec, 0x19, 1<<13, 0);
 		break;
@@ -442,6 +443,7 @@
 		break;
 	case 0x10ec0899:
 	case 0x10ec0900:
+	case 0x10ec0b00:
 	case 0x10ec1168:
 	case 0x10ec1220:
 		alc_update_coef_idx(codec, 0x7, 1<<1, 0);
@@ -2440,6 +2442,10 @@
 	SND_PCI_QUIRK(0x1071, 0x8258, "Evesham Voyaeger", ALC882_FIXUP_EAPD),
 	SND_PCI_QUIRK(0x1458, 0xa002, "Gigabyte EP45-DS3/Z87X-UD3H", ALC889_FIXUP_FRONT_HP_NO_PRESENCE),
 	SND_PCI_QUIRK(0x1458, 0xa0b8, "Gigabyte AZ370-Gaming", ALC1220_FIXUP_GB_DUAL_CODECS),
+	SND_PCI_QUIRK(0x1458, 0xa0cd, "Gigabyte X570 Aorus Master", ALC1220_FIXUP_CLEVO_P950),
+	SND_PCI_QUIRK(0x1462, 0x1228, "MSI-GP63", ALC1220_FIXUP_CLEVO_P950),
+	SND_PCI_QUIRK(0x1462, 0x1276, "MSI-GL73", ALC1220_FIXUP_CLEVO_P950),
+	SND_PCI_QUIRK(0x1462, 0x1293, "MSI-GP65", ALC1220_FIXUP_CLEVO_P950),
 	SND_PCI_QUIRK(0x1462, 0x7350, "MSI-7350", ALC889_FIXUP_CD),
 	SND_PCI_QUIRK(0x1462, 0xda57, "MSI Z270-Gaming", ALC1220_FIXUP_GB_DUAL_CODECS),
 	SND_PCI_QUIRK_VENDOR(0x1462, "MSI", ALC882_FIXUP_GPIO3),
@@ -2521,6 +2527,7 @@
 	case 0x10ec0882:
 	case 0x10ec0885:
 	case 0x10ec0900:
+	case 0x10ec0b00:
 	case 0x10ec1220:
 		break;
 	default:
@@ -6459,6 +6466,8 @@
 	[ALC285_FIXUP_SPEAKER2_TO_DAC1] = {
 		.type = HDA_FIXUP_FUNC,
 		.v.func = alc285_fixup_speaker2_to_dac1,
+		.chained = true,
+		.chain_id = ALC269_FIXUP_THINKPAD_ACPI
 	},
 	[ALC256_FIXUP_DELL_INSPIRON_7559_SUBWOOFER] = {
 		.type = HDA_FIXUP_PINS,
@@ -6880,6 +6889,8 @@
 	SND_PCI_QUIRK(0x1028, 0x0935, "Dell", ALC274_FIXUP_DELL_AIO_LINEOUT_VERB),
 	SND_PCI_QUIRK(0x1028, 0x097e, "Dell Precision", ALC289_FIXUP_DUAL_SPK),
 	SND_PCI_QUIRK(0x1028, 0x097d, "Dell Precision", ALC289_FIXUP_DUAL_SPK),
+	SND_PCI_QUIRK(0x1028, 0x098d, "Dell Precision", ALC233_FIXUP_ASUS_MIC_NO_PRESENCE),
+	SND_PCI_QUIRK(0x1028, 0x09bf, "Dell Precision", ALC233_FIXUP_ASUS_MIC_NO_PRESENCE),
 	SND_PCI_QUIRK(0x1028, 0x164a, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE),
 	SND_PCI_QUIRK(0x1028, 0x164b, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE),
 	SND_PCI_QUIRK(0x103c, 0x1586, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC2),
@@ -7039,6 +7050,7 @@
 	SND_PCI_QUIRK(0x17aa, 0x224c, "Thinkpad", ALC298_FIXUP_TPT470_DOCK),
 	SND_PCI_QUIRK(0x17aa, 0x224d, "Thinkpad", ALC298_FIXUP_TPT470_DOCK),
 	SND_PCI_QUIRK(0x17aa, 0x225d, "Thinkpad T480", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
+	SND_PCI_QUIRK(0x17aa, 0x2292, "Thinkpad X1 Yoga 7th", ALC285_FIXUP_SPEAKER2_TO_DAC1),
 	SND_PCI_QUIRK(0x17aa, 0x2293, "Thinkpad X1 Carbon 7th", ALC285_FIXUP_SPEAKER2_TO_DAC1),
 	SND_PCI_QUIRK(0x17aa, 0x30bb, "ThinkCentre AIO", ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY),
 	SND_PCI_QUIRK(0x17aa, 0x30e2, "ThinkCentre AIO", ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY),
@@ -8989,6 +9001,7 @@
 	HDA_CODEC_ENTRY(0x10ec0892, "ALC892", patch_alc662),
 	HDA_CODEC_ENTRY(0x10ec0899, "ALC898", patch_alc882),
 	HDA_CODEC_ENTRY(0x10ec0900, "ALC1150", patch_alc882),
+	HDA_CODEC_ENTRY(0x10ec0b00, "ALCS1200A", patch_alc882),
 	HDA_CODEC_ENTRY(0x10ec1168, "ALC1220", patch_alc882),
 	HDA_CODEC_ENTRY(0x10ec1220, "ALC1220", patch_alc882),
 	{} /* terminator */
diff --git a/sound/sh/aica.c b/sound/sh/aica.c
index 2b26311..69ac44b 100644
--- a/sound/sh/aica.c
+++ b/sound/sh/aica.c
@@ -117,10 +117,10 @@
 }
 
 /* spu_memload - write to SPU address space */
-static void spu_memload(u32 toi, void *from, int length)
+static void spu_memload(u32 toi, const void *from, int length)
 {
 	unsigned long flags;
-	u32 *froml = from;
+	const u32 *froml = from;
 	u32 __iomem *to = (u32 __iomem *) (SPU_MEMORY_BASE + toi);
 	int i;
 	u32 val;
@@ -303,7 +303,7 @@
 {
 	struct snd_card_aica *dreamcastcard = from_timer(dreamcastcard,
 							      t, timer);
-	struct snd_pcm_substream *substream = dreamcastcard->timer_substream;
+	struct snd_pcm_substream *substream = dreamcastcard->substream;
 	/*timer function - so cannot sleep */
 	int play_period;
 	struct snd_pcm_runtime *runtime;
@@ -335,13 +335,6 @@
 	dreamcastcard = substream->pcm->private_data;
 	/*get the queue to do the work */
 	schedule_work(&(dreamcastcard->spu_dma_work));
-	/* Timer may already be running */
-	if (unlikely(dreamcastcard->timer_substream)) {
-		mod_timer(&dreamcastcard->timer, jiffies + 4);
-		return;
-	}
-	timer_setup(&dreamcastcard->timer, aica_period_elapsed, 0);
-	dreamcastcard->timer_substream = substream;
 	mod_timer(&dreamcastcard->timer, jiffies + 4);
 }
 
@@ -379,8 +372,8 @@
 {
 	struct snd_card_aica *dreamcastcard = substream->pcm->private_data;
 	flush_work(&(dreamcastcard->spu_dma_work));
-	if (dreamcastcard->timer_substream)
-		del_timer(&dreamcastcard->timer);
+	del_timer(&dreamcastcard->timer);
+	dreamcastcard->substream = NULL;
 	kfree(dreamcastcard->channel);
 	spu_disable();
 	return 0;
@@ -615,6 +608,7 @@
 	       "Yamaha AICA Super Intelligent Sound Processor for SEGA Dreamcast");
 	/* Prepare to use the queue */
 	INIT_WORK(&(dreamcastcard->spu_dma_work), run_spu_dma);
+	timer_setup(&dreamcastcard->timer, aica_period_elapsed, 0);
 	/* Load the PCM 'chip' */
 	err = snd_aicapcmchip(dreamcastcard, 0);
 	if (unlikely(err < 0))
diff --git a/sound/sh/sh_dac_audio.c b/sound/sh/sh_dac_audio.c
index 834b257..6251b5e 100644
--- a/sound/sh/sh_dac_audio.c
+++ b/sound/sh/sh_dac_audio.c
@@ -190,7 +190,6 @@
 {
 	/* channel is not used (interleaved data) */
 	struct snd_sh_dac *chip = snd_pcm_substream_chip(substream);
-	struct snd_pcm_runtime *runtime = substream->runtime;
 
 	if (copy_from_user_toio(chip->data_buffer + pos, src, count))
 		return -EFAULT;
@@ -210,7 +209,6 @@
 {
 	/* channel is not used (interleaved data) */
 	struct snd_sh_dac *chip = snd_pcm_substream_chip(substream);
-	struct snd_pcm_runtime *runtime = substream->runtime;
 
 	memcpy_toio(chip->data_buffer + pos, src, count);
 	chip->buffer_end = chip->data_buffer + pos + count;
@@ -229,7 +227,6 @@
 {
 	/* channel is not used (interleaved data) */
 	struct snd_sh_dac *chip = snd_pcm_substream_chip(substream);
-	struct snd_pcm_runtime *runtime = substream->runtime;
 
 	memset_io(chip->data_buffer + pos, 0, count);
 	chip->buffer_end = chip->data_buffer + pos + count;
diff --git a/sound/soc/atmel/Kconfig b/sound/soc/atmel/Kconfig
index 64b784e..dad778e 100644
--- a/sound/soc/atmel/Kconfig
+++ b/sound/soc/atmel/Kconfig
@@ -25,6 +25,8 @@
 
 config SND_ATMEL_SOC_SSC_DMA
 	tristate
+	select SND_ATMEL_SOC_DMA
+	select SND_ATMEL_SOC_PDC
 
 config SND_ATMEL_SOC_SSC
 	tristate
diff --git a/sound/soc/codecs/cs4349.c b/sound/soc/codecs/cs4349.c
index bee0e34..f08d7a2 100644
--- a/sound/soc/codecs/cs4349.c
+++ b/sound/soc/codecs/cs4349.c
@@ -381,6 +381,7 @@
 	.driver = {
 		.name		= "cs4349",
 		.of_match_table	= cs4349_of_match,
+		.pm = &cs4349_runtime_pm,
 	},
 	.id_table	= cs4349_i2c_id,
 	.probe		= cs4349_i2c_probe,
diff --git a/sound/soc/codecs/es8328.c b/sound/soc/codecs/es8328.c
index e9fc2fd..3afa163 100644
--- a/sound/soc/codecs/es8328.c
+++ b/sound/soc/codecs/es8328.c
@@ -231,7 +231,7 @@
 			      ARRAY_SIZE(es8328_line_texts),
 			      es8328_line_texts);
 static const struct snd_kcontrol_new es8328_right_line_controls =
-	SOC_DAPM_ENUM("Route", es8328_lline_enum);
+	SOC_DAPM_ENUM("Route", es8328_rline_enum);
 
 /* Left Mixer */
 static const struct snd_kcontrol_new es8328_left_mixer_controls[] = {
diff --git a/sound/soc/codecs/msm8916-wcd-analog.c b/sound/soc/codecs/msm8916-wcd-analog.c
index 4f0497a..cbdb6d4 100644
--- a/sound/soc/codecs/msm8916-wcd-analog.c
+++ b/sound/soc/codecs/msm8916-wcd-analog.c
@@ -388,9 +388,6 @@
 
 	switch (event) {
 	case SND_SOC_DAPM_PRE_PMU:
-		snd_soc_component_update_bits(component, CDC_A_MICB_1_INT_RBIAS,
-				    MICB_1_INT_TX2_INT_RBIAS_EN_MASK,
-				    MICB_1_INT_TX2_INT_RBIAS_EN_ENABLE);
 		snd_soc_component_update_bits(component, reg, MICB_1_EN_PULL_DOWN_EN_MASK, 0);
 		snd_soc_component_update_bits(component, CDC_A_MICB_1_EN,
 				    MICB_1_EN_OPA_STG2_TAIL_CURR_MASK,
@@ -440,6 +437,14 @@
 	struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm);
 	struct pm8916_wcd_analog_priv *wcd = snd_soc_component_get_drvdata(component);
 
+	switch (event) {
+	case SND_SOC_DAPM_PRE_PMU:
+		snd_soc_component_update_bits(component, CDC_A_MICB_1_INT_RBIAS,
+				    MICB_1_INT_TX1_INT_RBIAS_EN_MASK,
+				    MICB_1_INT_TX1_INT_RBIAS_EN_ENABLE);
+		break;
+	}
+
 	return pm8916_wcd_analog_enable_micbias_int(component, event, w->reg,
 						     wcd->micbias1_cap_mode);
 }
@@ -550,6 +555,11 @@
 	struct pm8916_wcd_analog_priv *wcd = snd_soc_component_get_drvdata(component);
 
 	switch (event) {
+	case SND_SOC_DAPM_PRE_PMU:
+		snd_soc_component_update_bits(component, CDC_A_MICB_1_INT_RBIAS,
+				    MICB_1_INT_TX2_INT_RBIAS_EN_MASK,
+				    MICB_1_INT_TX2_INT_RBIAS_EN_ENABLE);
+		break;
 	case SND_SOC_DAPM_POST_PMU:
 		pm8916_mbhc_configure_bias(wcd, true);
 		break;
@@ -885,10 +895,10 @@
 
 	SND_SOC_DAPM_SUPPLY("MIC BIAS External1", CDC_A_MICB_1_EN, 7, 0,
 			    pm8916_wcd_analog_enable_micbias_ext1,
-			    SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMD),
+			    SND_SOC_DAPM_POST_PMU),
 	SND_SOC_DAPM_SUPPLY("MIC BIAS External2", CDC_A_MICB_2_EN, 7, 0,
 			    pm8916_wcd_analog_enable_micbias_ext2,
-			    SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_POST_PMD),
+			    SND_SOC_DAPM_POST_PMU),
 
 	SND_SOC_DAPM_ADC_E("ADC1", NULL, CDC_A_TX_1_EN, 7, 0,
 			   pm8916_wcd_analog_enable_adc,
diff --git a/sound/soc/codecs/msm8916-wcd-digital.c b/sound/soc/codecs/msm8916-wcd-digital.c
index 3063ded..6de2ab6 100644
--- a/sound/soc/codecs/msm8916-wcd-digital.c
+++ b/sound/soc/codecs/msm8916-wcd-digital.c
@@ -357,6 +357,12 @@
 		snd_soc_component_write(component, rx_gain_reg[w->shift],
 			      snd_soc_component_read32(component, rx_gain_reg[w->shift]));
 		break;
+	case SND_SOC_DAPM_POST_PMD:
+		snd_soc_component_update_bits(component, LPASS_CDC_CLK_RX_RESET_CTL,
+					      1 << w->shift, 1 << w->shift);
+		snd_soc_component_update_bits(component, LPASS_CDC_CLK_RX_RESET_CTL,
+					      1 << w->shift, 0x0);
+		break;
 	}
 	return 0;
 }
diff --git a/sound/soc/codecs/pcm512x.c b/sound/soc/codecs/pcm512x.c
index f0f2d4f..5272c81 100644
--- a/sound/soc/codecs/pcm512x.c
+++ b/sound/soc/codecs/pcm512x.c
@@ -1437,13 +1437,15 @@
 	}
 
 	pcm512x->sclk = devm_clk_get(dev, NULL);
-	if (PTR_ERR(pcm512x->sclk) == -EPROBE_DEFER)
-		return -EPROBE_DEFER;
+	if (PTR_ERR(pcm512x->sclk) == -EPROBE_DEFER) {
+		ret = -EPROBE_DEFER;
+		goto err;
+	}
 	if (!IS_ERR(pcm512x->sclk)) {
 		ret = clk_prepare_enable(pcm512x->sclk);
 		if (ret != 0) {
 			dev_err(dev, "Failed to enable SCLK: %d\n", ret);
-			return ret;
+			goto err;
 		}
 	}
 
diff --git a/sound/soc/codecs/rt5640.c b/sound/soc/codecs/rt5640.c
index 2777014..974e1a4 100644
--- a/sound/soc/codecs/rt5640.c
+++ b/sound/soc/codecs/rt5640.c
@@ -2435,6 +2435,13 @@
 {
 	struct rt5640_priv *rt5640 = snd_soc_component_get_drvdata(component);
 
+	/*
+	 * soc_remove_component() force-disables jack and thus rt5640->jack
+	 * could be NULL at the time of driver's module unloading.
+	 */
+	if (!rt5640->jack)
+		return;
+
 	disable_irq(rt5640->irq);
 	rt5640_cancel_work(rt5640);
 
diff --git a/sound/soc/codecs/wm8737.c b/sound/soc/codecs/wm8737.c
index e9ae821e..568b776 100644
--- a/sound/soc/codecs/wm8737.c
+++ b/sound/soc/codecs/wm8737.c
@@ -170,7 +170,7 @@
 SOC_SINGLE("3D Switch", WM8737_3D_ENHANCE, 0, 1, 0),
 SOC_SINGLE("3D Depth", WM8737_3D_ENHANCE, 1, 15, 0),
 SOC_ENUM("3D Low Cut-off", low_3d),
-SOC_ENUM("3D High Cut-off", low_3d),
+SOC_ENUM("3D High Cut-off", high_3d),
 SOC_SINGLE_TLV("3D ADC Volume", WM8737_3D_ENHANCE, 7, 1, 1, adc_tlv),
 
 SOC_SINGLE("Noise Gate Switch", WM8737_NOISE_GATE, 0, 1, 0),
diff --git a/sound/soc/codecs/wm9705.c b/sound/soc/codecs/wm9705.c
index ccdf088..54c3067 100644
--- a/sound/soc/codecs/wm9705.c
+++ b/sound/soc/codecs/wm9705.c
@@ -325,8 +325,7 @@
 	if (wm9705->mfd_pdata) {
 		wm9705->ac97 = wm9705->mfd_pdata->ac97;
 		regmap = wm9705->mfd_pdata->regmap;
-	} else {
-#ifdef CONFIG_SND_SOC_AC97_BUS
+	} else if (IS_ENABLED(CONFIG_SND_SOC_AC97_BUS)) {
 		wm9705->ac97 = snd_soc_new_ac97_component(component, WM9705_VENDOR_ID,
 						      WM9705_VENDOR_ID_MASK);
 		if (IS_ERR(wm9705->ac97)) {
@@ -339,7 +338,8 @@
 			snd_soc_free_ac97_component(wm9705->ac97);
 			return PTR_ERR(regmap);
 		}
-#endif
+	} else {
+		return -ENXIO;
 	}
 
 	snd_soc_component_set_drvdata(component, wm9705->ac97);
@@ -350,14 +350,12 @@
 
 static void wm9705_soc_remove(struct snd_soc_component *component)
 {
-#ifdef CONFIG_SND_SOC_AC97_BUS
 	struct wm9705_priv *wm9705 = snd_soc_component_get_drvdata(component);
 
-	if (!wm9705->mfd_pdata) {
+	if (IS_ENABLED(CONFIG_SND_SOC_AC97_BUS) && !wm9705->mfd_pdata) {
 		snd_soc_component_exit_regmap(component);
 		snd_soc_free_ac97_component(wm9705->ac97);
 	}
-#endif
 }
 
 static const struct snd_soc_component_driver soc_component_dev_wm9705 = {
diff --git a/sound/soc/codecs/wm9712.c b/sound/soc/codecs/wm9712.c
index ade34c2..01949ea 100644
--- a/sound/soc/codecs/wm9712.c
+++ b/sound/soc/codecs/wm9712.c
@@ -638,13 +638,13 @@
 {
 	struct wm9712_priv *wm9712 = snd_soc_component_get_drvdata(component);
 	struct regmap *regmap;
-	int ret;
 
 	if (wm9712->mfd_pdata) {
 		wm9712->ac97 = wm9712->mfd_pdata->ac97;
 		regmap = wm9712->mfd_pdata->regmap;
-	} else {
-#ifdef CONFIG_SND_SOC_AC97_BUS
+	} else if (IS_ENABLED(CONFIG_SND_SOC_AC97_BUS)) {
+		int ret;
+
 		wm9712->ac97 = snd_soc_new_ac97_component(component, WM9712_VENDOR_ID,
 						      WM9712_VENDOR_ID_MASK);
 		if (IS_ERR(wm9712->ac97)) {
@@ -659,7 +659,8 @@
 			snd_soc_free_ac97_component(wm9712->ac97);
 			return PTR_ERR(regmap);
 		}
-#endif
+	} else {
+		return -ENXIO;
 	}
 
 	snd_soc_component_init_regmap(component, regmap);
@@ -672,14 +673,12 @@
 
 static void wm9712_soc_remove(struct snd_soc_component *component)
 {
-#ifdef CONFIG_SND_SOC_AC97_BUS
 	struct wm9712_priv *wm9712 = snd_soc_component_get_drvdata(component);
 
-	if (!wm9712->mfd_pdata) {
+	if (IS_ENABLED(CONFIG_SND_SOC_AC97_BUS) && !wm9712->mfd_pdata) {
 		snd_soc_component_exit_regmap(component);
 		snd_soc_free_ac97_component(wm9712->ac97);
 	}
-#endif
 }
 
 static const struct snd_soc_component_driver soc_component_dev_wm9712 = {
diff --git a/sound/soc/codecs/wm9713.c b/sound/soc/codecs/wm9713.c
index 643863b..5a2fdf4 100644
--- a/sound/soc/codecs/wm9713.c
+++ b/sound/soc/codecs/wm9713.c
@@ -1214,8 +1214,7 @@
 	if (wm9713->mfd_pdata) {
 		wm9713->ac97 = wm9713->mfd_pdata->ac97;
 		regmap = wm9713->mfd_pdata->regmap;
-	} else {
-#ifdef CONFIG_SND_SOC_AC97_BUS
+	} else if (IS_ENABLED(CONFIG_SND_SOC_AC97_BUS)) {
 		wm9713->ac97 = snd_soc_new_ac97_component(component, WM9713_VENDOR_ID,
 						      WM9713_VENDOR_ID_MASK);
 		if (IS_ERR(wm9713->ac97))
@@ -1225,7 +1224,8 @@
 			snd_soc_free_ac97_component(wm9713->ac97);
 			return PTR_ERR(regmap);
 		}
-#endif
+	} else {
+		return -ENXIO;
 	}
 
 	snd_soc_component_init_regmap(component, regmap);
@@ -1238,14 +1238,12 @@
 
 static void wm9713_soc_remove(struct snd_soc_component *component)
 {
-#ifdef CONFIG_SND_SOC_AC97_BUS
 	struct wm9713_priv *wm9713 = snd_soc_component_get_drvdata(component);
 
-	if (!wm9713->mfd_pdata) {
+	if (IS_ENABLED(CONFIG_SND_SOC_AC97_BUS) && !wm9713->mfd_pdata) {
 		snd_soc_component_exit_regmap(component);
 		snd_soc_free_ac97_component(wm9713->ac97);
 	}
-#endif
 }
 
 static const struct snd_soc_component_driver soc_component_dev_wm9713 = {
diff --git a/sound/soc/davinci/davinci-mcasp.c b/sound/soc/davinci/davinci-mcasp.c
index 6a8c279..14ab16e 100644
--- a/sound/soc/davinci/davinci-mcasp.c
+++ b/sound/soc/davinci/davinci-mcasp.c
@@ -874,14 +874,13 @@
 		active_slots = hweight32(mcasp->tdm_mask[stream]);
 		active_serializers = (channels + active_slots - 1) /
 			active_slots;
-		if (active_serializers == 1) {
+		if (active_serializers == 1)
 			active_slots = channels;
-			for (i = 0; i < total_slots; i++) {
-				if ((1 << i) & mcasp->tdm_mask[stream]) {
-					mask |= (1 << i);
-					if (--active_slots <= 0)
-						break;
-				}
+		for (i = 0; i < total_slots; i++) {
+			if ((1 << i) & mcasp->tdm_mask[stream]) {
+				mask |= (1 << i);
+				if (--active_slots <= 0)
+					break;
 			}
 		}
 	} else {
diff --git a/sound/soc/fsl/imx-sgtl5000.c b/sound/soc/fsl/imx-sgtl5000.c
index 9b9a7ec..4bd8da3 100644
--- a/sound/soc/fsl/imx-sgtl5000.c
+++ b/sound/soc/fsl/imx-sgtl5000.c
@@ -112,7 +112,8 @@
 	codec_dev = of_find_i2c_device_by_node(codec_np);
 	if (!codec_dev) {
 		dev_err(&pdev->dev, "failed to find codec platform device\n");
-		return -EPROBE_DEFER;
+		ret = -EPROBE_DEFER;
+		goto fail;
 	}
 
 	data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL);
diff --git a/sound/soc/intel/skylake/skl-debug.c b/sound/soc/intel/skylake/skl-debug.c
index faf1cba..a0714c0 100644
--- a/sound/soc/intel/skylake/skl-debug.c
+++ b/sound/soc/intel/skylake/skl-debug.c
@@ -42,8 +42,8 @@
 	int i;
 	ssize_t ret = 0;
 
-	for (i = 0; i < max_pin; i++)
-		ret += snprintf(buf + size, MOD_BUF - size,
+	for (i = 0; i < max_pin; i++) {
+		ret += scnprintf(buf + size, MOD_BUF - size,
 				"%s %d\n\tModule %d\n\tInstance %d\n\t"
 				"In-used %s\n\tType %s\n"
 				"\tState %d\n\tIndex %d\n",
@@ -53,13 +53,15 @@
 				m_pin[i].in_use ? "Used" : "Unused",
 				m_pin[i].is_dynamic ? "Dynamic" : "Static",
 				m_pin[i].pin_state, i);
+		size += ret;
+	}
 	return ret;
 }
 
 static ssize_t skl_print_fmt(struct skl_module_fmt *fmt, char *buf,
 					ssize_t size, bool direction)
 {
-	return snprintf(buf + size, MOD_BUF - size,
+	return scnprintf(buf + size, MOD_BUF - size,
 			"%s\n\tCh %d\n\tFreq %d\n\tBit depth %d\n\t"
 			"Valid bit depth %d\n\tCh config %#x\n\tInterleaving %d\n\t"
 			"Sample Type %d\n\tCh Map %#x\n",
@@ -81,16 +83,16 @@
 	if (!buf)
 		return -ENOMEM;
 
-	ret = snprintf(buf, MOD_BUF, "Module:\n\tUUID %pUL\n\tModule id %d\n"
+	ret = scnprintf(buf, MOD_BUF, "Module:\n\tUUID %pUL\n\tModule id %d\n"
 			"\tInstance id %d\n\tPvt_id %d\n", mconfig->guid,
 			mconfig->id.module_id, mconfig->id.instance_id,
 			mconfig->id.pvt_id);
 
-	ret += snprintf(buf + ret, MOD_BUF - ret,
+	ret += scnprintf(buf + ret, MOD_BUF - ret,
 			"Resources:\n\tMCPS %#x\n\tIBS %#x\n\tOBS %#x\t\n",
 			mconfig->mcps, mconfig->ibs, mconfig->obs);
 
-	ret += snprintf(buf + ret, MOD_BUF - ret,
+	ret += scnprintf(buf + ret, MOD_BUF - ret,
 			"Module data:\n\tCore %d\n\tIn queue %d\n\t"
 			"Out queue %d\n\tType %s\n",
 			mconfig->core_id, mconfig->max_in_queue,
@@ -100,38 +102,38 @@
 	ret += skl_print_fmt(mconfig->in_fmt, buf, ret, true);
 	ret += skl_print_fmt(mconfig->out_fmt, buf, ret, false);
 
-	ret += snprintf(buf + ret, MOD_BUF - ret,
+	ret += scnprintf(buf + ret, MOD_BUF - ret,
 			"Fixup:\n\tParams %#x\n\tConverter %#x\n",
 			mconfig->params_fixup, mconfig->converter);
 
-	ret += snprintf(buf + ret, MOD_BUF - ret,
+	ret += scnprintf(buf + ret, MOD_BUF - ret,
 			"Module Gateway:\n\tType %#x\n\tVbus %#x\n\tHW conn %#x\n\tSlot %#x\n",
 			mconfig->dev_type, mconfig->vbus_id,
 			mconfig->hw_conn_type, mconfig->time_slot);
 
-	ret += snprintf(buf + ret, MOD_BUF - ret,
+	ret += scnprintf(buf + ret, MOD_BUF - ret,
 			"Pipeline:\n\tID %d\n\tPriority %d\n\tConn Type %d\n\t"
 			"Pages %#x\n", mconfig->pipe->ppl_id,
 			mconfig->pipe->pipe_priority, mconfig->pipe->conn_type,
 			mconfig->pipe->memory_pages);
 
-	ret += snprintf(buf + ret, MOD_BUF - ret,
+	ret += scnprintf(buf + ret, MOD_BUF - ret,
 			"\tParams:\n\t\tHost DMA %d\n\t\tLink DMA %d\n",
 			mconfig->pipe->p_params->host_dma_id,
 			mconfig->pipe->p_params->link_dma_id);
 
-	ret += snprintf(buf + ret, MOD_BUF - ret,
+	ret += scnprintf(buf + ret, MOD_BUF - ret,
 			"\tPCM params:\n\t\tCh %d\n\t\tFreq %d\n\t\tFormat %d\n",
 			mconfig->pipe->p_params->ch,
 			mconfig->pipe->p_params->s_freq,
 			mconfig->pipe->p_params->s_fmt);
 
-	ret += snprintf(buf + ret, MOD_BUF - ret,
+	ret += scnprintf(buf + ret, MOD_BUF - ret,
 			"\tLink %#x\n\tStream %#x\n",
 			mconfig->pipe->p_params->linktype,
 			mconfig->pipe->p_params->stream);
 
-	ret += snprintf(buf + ret, MOD_BUF - ret,
+	ret += scnprintf(buf + ret, MOD_BUF - ret,
 			"\tState %d\n\tPassthru %s\n",
 			mconfig->pipe->state,
 			mconfig->pipe->passthru ? "true" : "false");
@@ -141,7 +143,7 @@
 	ret += skl_print_pins(mconfig->m_out_pin, buf,
 			mconfig->max_out_queue, ret, false);
 
-	ret += snprintf(buf + ret, MOD_BUF - ret,
+	ret += scnprintf(buf + ret, MOD_BUF - ret,
 			"Other:\n\tDomain %d\n\tHomogeneous Input %s\n\t"
 			"Homogeneous Output %s\n\tIn Queue Mask %d\n\t"
 			"Out Queue Mask %d\n\tDMA ID %d\n\tMem Pages %d\n\t"
@@ -199,7 +201,7 @@
 		__ioread32_copy(d->fw_read_buff, fw_reg_addr, w0_stat_sz >> 2);
 
 	for (offset = 0; offset < FW_REG_SIZE; offset += 16) {
-		ret += snprintf(tmp + ret, FW_REG_BUF - ret, "%#.4x: ", offset);
+		ret += scnprintf(tmp + ret, FW_REG_BUF - ret, "%#.4x: ", offset);
 		hex_dump_to_buffer(d->fw_read_buff + offset, 16, 16, 4,
 				   tmp + ret, FW_REG_BUF - ret, 0);
 		ret += strlen(tmp + ret);
diff --git a/sound/soc/meson/axg-tdmin.c b/sound/soc/meson/axg-tdmin.c
index bbac44c..37207bb 100644
--- a/sound/soc/meson/axg-tdmin.c
+++ b/sound/soc/meson/axg-tdmin.c
@@ -119,7 +119,6 @@
 		break;
 
 	case SND_SOC_DAIFMT_LEFT_J:
-	case SND_SOC_DAIFMT_RIGHT_J:
 	case SND_SOC_DAIFMT_DSP_B:
 		val = TDMIN_CTRL_IN_BIT_SKEW(2);
 		break;
diff --git a/sound/soc/meson/axg-tdmout.c b/sound/soc/meson/axg-tdmout.c
index f73368e..d11acb3 100644
--- a/sound/soc/meson/axg-tdmout.c
+++ b/sound/soc/meson/axg-tdmout.c
@@ -136,7 +136,6 @@
 		break;
 
 	case SND_SOC_DAIFMT_LEFT_J:
-	case SND_SOC_DAIFMT_RIGHT_J:
 	case SND_SOC_DAIFMT_DSP_B:
 		val |= TDMOUT_CTRL0_INIT_BITNUM(2);
 		break;
diff --git a/sound/soc/qcom/apq8016_sbc.c b/sound/soc/qcom/apq8016_sbc.c
index 1dd23bb..4b55993 100644
--- a/sound/soc/qcom/apq8016_sbc.c
+++ b/sound/soc/qcom/apq8016_sbc.c
@@ -164,41 +164,52 @@
 
 		if (!cpu || !codec) {
 			dev_err(dev, "Can't find cpu/codec DT node\n");
-			return ERR_PTR(-EINVAL);
+			ret = -EINVAL;
+			goto error;
 		}
 
 		link->cpu_of_node = of_parse_phandle(cpu, "sound-dai", 0);
 		if (!link->cpu_of_node) {
 			dev_err(card->dev, "error getting cpu phandle\n");
-			return ERR_PTR(-EINVAL);
+			ret = -EINVAL;
+			goto error;
 		}
 
 		ret = snd_soc_of_get_dai_name(cpu, &link->cpu_dai_name);
 		if (ret) {
 			dev_err(card->dev, "error getting cpu dai name\n");
-			return ERR_PTR(ret);
+			goto error;
 		}
 
 		ret = snd_soc_of_get_dai_link_codecs(dev, codec, link);
 
 		if (ret < 0) {
 			dev_err(card->dev, "error getting codec dai name\n");
-			return ERR_PTR(ret);
+			goto error;
 		}
 
 		link->platform_of_node = link->cpu_of_node;
 		ret = of_property_read_string(np, "link-name", &link->name);
 		if (ret) {
 			dev_err(card->dev, "error getting codec dai_link name\n");
-			return ERR_PTR(ret);
+			goto error;
 		}
 
 		link->stream_name = link->name;
 		link->init = apq8016_sbc_dai_init;
 		link++;
+
+		of_node_put(cpu);
+		of_node_put(codec);
 	}
 
 	return data;
+
+ error:
+	of_node_put(np);
+	of_node_put(cpu);
+	of_node_put(codec);
+	return ERR_PTR(ret);
 }
 
 static const struct snd_soc_dapm_widget apq8016_sbc_dapm_widgets[] = {
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 727a1b4..b8d1a90 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -1938,6 +1938,8 @@
 
 			/* convert non BE into BE */
 			dai_link->no_pcm = 1;
+			dai_link->dpcm_playback = 1;
+			dai_link->dpcm_capture = 1;
 
 			/* override any BE fixups */
 			dai_link->be_hw_params_fixup =
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
index 7cdca89..475605e 100644
--- a/sound/soc/soc-dapm.c
+++ b/sound/soc/soc-dapm.c
@@ -4562,7 +4562,7 @@
 			continue;
 		if (w->power) {
 			dapm_seq_insert(w, &down_list, false);
-			w->power = 0;
+			w->new_power = 0;
 			powerdown = 1;
 		}
 	}
diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c
index 615844f..fe6c529 100644
--- a/sound/soc/soc-pcm.c
+++ b/sound/soc/soc-pcm.c
@@ -67,8 +67,8 @@
 	else
 		codec_stream = &dai->driver->capture;
 
-	/* If the codec specifies any rate at all, it supports the stream. */
-	return codec_stream->rates;
+	/* If the codec specifies any channels at all, it supports the stream */
+	return codec_stream->channels_min;
 }
 
 /**
@@ -2530,42 +2530,81 @@
 }
 EXPORT_SYMBOL_GPL(dpcm_be_dai_trigger);
 
+static int dpcm_dai_trigger_fe_be(struct snd_pcm_substream *substream,
+				  int cmd, bool fe_first)
+{
+	struct snd_soc_pcm_runtime *fe = substream->private_data;
+	int ret;
+
+	/* call trigger on the frontend before the backend. */
+	if (fe_first) {
+		dev_dbg(fe->dev, "ASoC: pre trigger FE %s cmd %d\n",
+			fe->dai_link->name, cmd);
+
+		ret = soc_pcm_trigger(substream, cmd);
+		if (ret < 0)
+			return ret;
+
+		ret = dpcm_be_dai_trigger(fe, substream->stream, cmd);
+		return ret;
+	}
+
+	/* call trigger on the frontend after the backend. */
+	ret = dpcm_be_dai_trigger(fe, substream->stream, cmd);
+	if (ret < 0)
+		return ret;
+
+	dev_dbg(fe->dev, "ASoC: post trigger FE %s cmd %d\n",
+		fe->dai_link->name, cmd);
+
+	ret = soc_pcm_trigger(substream, cmd);
+
+	return ret;
+}
+
 static int dpcm_fe_dai_do_trigger(struct snd_pcm_substream *substream, int cmd)
 {
 	struct snd_soc_pcm_runtime *fe = substream->private_data;
-	int stream = substream->stream, ret;
+	int stream = substream->stream;
+	int ret = 0;
 	enum snd_soc_dpcm_trigger trigger = fe->dai_link->trigger[stream];
 
 	fe->dpcm[stream].runtime_update = SND_SOC_DPCM_UPDATE_FE;
 
 	switch (trigger) {
 	case SND_SOC_DPCM_TRIGGER_PRE:
-		/* call trigger on the frontend before the backend. */
-
-		dev_dbg(fe->dev, "ASoC: pre trigger FE %s cmd %d\n",
-				fe->dai_link->name, cmd);
-
-		ret = soc_pcm_trigger(substream, cmd);
-		if (ret < 0) {
-			dev_err(fe->dev,"ASoC: trigger FE failed %d\n", ret);
-			goto out;
+		switch (cmd) {
+		case SNDRV_PCM_TRIGGER_START:
+		case SNDRV_PCM_TRIGGER_RESUME:
+		case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
+			ret = dpcm_dai_trigger_fe_be(substream, cmd, true);
+			break;
+		case SNDRV_PCM_TRIGGER_STOP:
+		case SNDRV_PCM_TRIGGER_SUSPEND:
+		case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
+			ret = dpcm_dai_trigger_fe_be(substream, cmd, false);
+			break;
+		default:
+			ret = -EINVAL;
+			break;
 		}
-
-		ret = dpcm_be_dai_trigger(fe, substream->stream, cmd);
 		break;
 	case SND_SOC_DPCM_TRIGGER_POST:
-		/* call trigger on the frontend after the backend. */
-
-		ret = dpcm_be_dai_trigger(fe, substream->stream, cmd);
-		if (ret < 0) {
-			dev_err(fe->dev,"ASoC: trigger FE failed %d\n", ret);
-			goto out;
+		switch (cmd) {
+		case SNDRV_PCM_TRIGGER_START:
+		case SNDRV_PCM_TRIGGER_RESUME:
+		case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
+			ret = dpcm_dai_trigger_fe_be(substream, cmd, false);
+			break;
+		case SNDRV_PCM_TRIGGER_STOP:
+		case SNDRV_PCM_TRIGGER_SUSPEND:
+		case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
+			ret = dpcm_dai_trigger_fe_be(substream, cmd, true);
+			break;
+		default:
+			ret = -EINVAL;
+			break;
 		}
-
-		dev_dbg(fe->dev, "ASoC: post trigger FE %s cmd %d\n",
-				fe->dai_link->name, cmd);
-
-		ret = soc_pcm_trigger(substream, cmd);
 		break;
 	case SND_SOC_DPCM_TRIGGER_BESPOKE:
 		/* bespoke trigger() - handles both FE and BEs */
@@ -2574,10 +2613,6 @@
 				fe->dai_link->name, cmd);
 
 		ret = soc_pcm_bespoke_trigger(substream, cmd);
-		if (ret < 0) {
-			dev_err(fe->dev,"ASoC: trigger FE failed %d\n", ret);
-			goto out;
-		}
 		break;
 	default:
 		dev_err(fe->dev, "ASoC: invalid trigger cmd %d for %s\n", cmd,
@@ -2586,6 +2621,12 @@
 		goto out;
 	}
 
+	if (ret < 0) {
+		dev_err(fe->dev, "ASoC: trigger FE cmd: %d failed: %d\n",
+			cmd, ret);
+		goto out;
+	}
+
 	switch (cmd) {
 	case SNDRV_PCM_TRIGGER_START:
 	case SNDRV_PCM_TRIGGER_RESUME:
@@ -3702,16 +3743,16 @@
 	ssize_t offset = 0;
 
 	/* FE state */
-	offset += snprintf(buf + offset, size - offset,
+	offset += scnprintf(buf + offset, size - offset,
 			"[%s - %s]\n", fe->dai_link->name,
 			stream ? "Capture" : "Playback");
 
-	offset += snprintf(buf + offset, size - offset, "State: %s\n",
+	offset += scnprintf(buf + offset, size - offset, "State: %s\n",
 	                dpcm_state_string(fe->dpcm[stream].state));
 
 	if ((fe->dpcm[stream].state >= SND_SOC_DPCM_STATE_HW_PARAMS) &&
 	    (fe->dpcm[stream].state <= SND_SOC_DPCM_STATE_STOP))
-		offset += snprintf(buf + offset, size - offset,
+		offset += scnprintf(buf + offset, size - offset,
 				"Hardware Params: "
 				"Format = %s, Channels = %d, Rate = %d\n",
 				snd_pcm_format_name(params_format(params)),
@@ -3719,10 +3760,10 @@
 				params_rate(params));
 
 	/* BEs state */
-	offset += snprintf(buf + offset, size - offset, "Backends:\n");
+	offset += scnprintf(buf + offset, size - offset, "Backends:\n");
 
 	if (list_empty(&fe->dpcm[stream].be_clients)) {
-		offset += snprintf(buf + offset, size - offset,
+		offset += scnprintf(buf + offset, size - offset,
 				" No active DSP links\n");
 		goto out;
 	}
@@ -3731,16 +3772,16 @@
 		struct snd_soc_pcm_runtime *be = dpcm->be;
 		params = &dpcm->hw_params;
 
-		offset += snprintf(buf + offset, size - offset,
+		offset += scnprintf(buf + offset, size - offset,
 				"- %s\n", be->dai_link->name);
 
-		offset += snprintf(buf + offset, size - offset,
+		offset += scnprintf(buf + offset, size - offset,
 				"   State: %s\n",
 				dpcm_state_string(be->dpcm[stream].state));
 
 		if ((be->dpcm[stream].state >= SND_SOC_DPCM_STATE_HW_PARAMS) &&
 		    (be->dpcm[stream].state <= SND_SOC_DPCM_STATE_STOP))
-			offset += snprintf(buf + offset, size - offset,
+			offset += scnprintf(buf + offset, size - offset,
 				"   Hardware Params: "
 				"Format = %s, Channels = %d, Rate = %d\n",
 				snd_pcm_format_name(params_format(params)),
diff --git a/sound/soc/soc-topology.c b/sound/soc/soc-topology.c
index 069f38f..30fc45a 100644
--- a/sound/soc/soc-topology.c
+++ b/sound/soc/soc-topology.c
@@ -2154,8 +2154,11 @@
 		}
 
 		ret = soc_tplg_link_config(tplg, _link);
-		if (ret < 0)
+		if (ret < 0) {
+			if (!abi_match)
+				kfree(_link);
 			return ret;
+		}
 
 		/* offset by version-specific struct size and
 		 * real priv data size
@@ -2310,7 +2313,7 @@
 {
 	struct snd_soc_tplg_manifest *manifest, *_manifest;
 	bool abi_match;
-	int err;
+	int ret = 0;
 
 	if (tplg->pass != SOC_TPLG_PASS_MANIFEST)
 		return 0;
@@ -2323,19 +2326,19 @@
 		_manifest = manifest;
 	} else {
 		abi_match = false;
-		err = manifest_new_ver(tplg, manifest, &_manifest);
-		if (err < 0)
-			return err;
+		ret = manifest_new_ver(tplg, manifest, &_manifest);
+		if (ret < 0)
+			return ret;
 	}
 
 	/* pass control to component driver for optional further init */
 	if (tplg->comp && tplg->ops && tplg->ops->manifest)
-		return tplg->ops->manifest(tplg->comp, tplg->index, _manifest);
+		ret = tplg->ops->manifest(tplg->comp, tplg->index, _manifest);
 
 	if (!abi_match)	/* free the duplicated one */
 		kfree(_manifest);
 
-	return 0;
+	return ret;
 }
 
 /* validate header magic, size and type */
diff --git a/sound/soc/sti/uniperif_player.c b/sound/soc/sti/uniperif_player.c
index 313dab2..4b0beb3 100644
--- a/sound/soc/sti/uniperif_player.c
+++ b/sound/soc/sti/uniperif_player.c
@@ -226,7 +226,6 @@
 	 * sampling frequency. If no sample rate is already specified, then
 	 * set one.
 	 */
-	mutex_lock(&player->ctrl_lock);
 	if (runtime) {
 		switch (runtime->rate) {
 		case 22050:
@@ -303,7 +302,6 @@
 		player->stream_settings.iec958.status[3 + (n * 4)] << 24;
 		SET_UNIPERIF_CHANNEL_STA_REGN(player, n, status);
 	}
-	mutex_unlock(&player->ctrl_lock);
 
 	/* Update the channel status */
 	if (player->ver < SND_ST_UNIPERIF_VERSION_UNI_PLR_TOP_1_0)
@@ -365,8 +363,10 @@
 
 	SET_UNIPERIF_CTRL_ZERO_STUFF_HW(player);
 
+	mutex_lock(&player->ctrl_lock);
 	/* Update the channel status */
 	uni_player_set_channel_status(player, runtime);
+	mutex_unlock(&player->ctrl_lock);
 
 	/* Clear the user validity user bits */
 	SET_UNIPERIF_USER_VALIDITY_VALIDITY_LR(player, 0);
@@ -598,7 +598,6 @@
 	iec958->status[1] = ucontrol->value.iec958.status[1];
 	iec958->status[2] = ucontrol->value.iec958.status[2];
 	iec958->status[3] = ucontrol->value.iec958.status[3];
-	mutex_unlock(&player->ctrl_lock);
 
 	spin_lock_irqsave(&player->irq_lock, flags);
 	if (player->substream && player->substream->runtime)
@@ -608,6 +607,8 @@
 		uni_player_set_channel_status(player, NULL);
 
 	spin_unlock_irqrestore(&player->irq_lock, flags);
+	mutex_unlock(&player->ctrl_lock);
+
 	return 0;
 }
 
diff --git a/sound/soc/stm/stm32_spdifrx.c b/sound/soc/stm/stm32_spdifrx.c
index 373df4f..07082f7 100644
--- a/sound/soc/stm/stm32_spdifrx.c
+++ b/sound/soc/stm/stm32_spdifrx.c
@@ -213,6 +213,7 @@
  * @slave_config: dma slave channel runtime config pointer
  * @phys_addr: SPDIFRX registers physical base address
  * @lock: synchronization enabling lock
+ * @irq_lock: prevent race condition with IRQ on stream state
  * @cs: channel status buffer
  * @ub: user data buffer
  * @irq: SPDIFRX interrupt line
@@ -233,6 +234,7 @@
 	struct dma_slave_config slave_config;
 	dma_addr_t phys_addr;
 	spinlock_t lock;  /* Sync enabling lock */
+	spinlock_t irq_lock; /* Prevent race condition on stream state */
 	unsigned char cs[SPDIFRX_CS_BYTES_NB];
 	unsigned char ub[SPDIFRX_UB_BYTES_NB];
 	int irq;
@@ -313,6 +315,7 @@
 static int stm32_spdifrx_start_sync(struct stm32_spdifrx_data *spdifrx)
 {
 	int cr, cr_mask, imr, ret;
+	unsigned long flags;
 
 	/* Enable IRQs */
 	imr = SPDIFRX_IMR_IFEIE | SPDIFRX_IMR_SYNCDIE | SPDIFRX_IMR_PERRIE;
@@ -320,7 +323,7 @@
 	if (ret)
 		return ret;
 
-	spin_lock(&spdifrx->lock);
+	spin_lock_irqsave(&spdifrx->lock, flags);
 
 	spdifrx->refcount++;
 
@@ -353,7 +356,7 @@
 				"Failed to start synchronization\n");
 	}
 
-	spin_unlock(&spdifrx->lock);
+	spin_unlock_irqrestore(&spdifrx->lock, flags);
 
 	return ret;
 }
@@ -361,11 +364,12 @@
 static void stm32_spdifrx_stop(struct stm32_spdifrx_data *spdifrx)
 {
 	int cr, cr_mask, reg;
+	unsigned long flags;
 
-	spin_lock(&spdifrx->lock);
+	spin_lock_irqsave(&spdifrx->lock, flags);
 
 	if (--spdifrx->refcount) {
-		spin_unlock(&spdifrx->lock);
+		spin_unlock_irqrestore(&spdifrx->lock, flags);
 		return;
 	}
 
@@ -384,7 +388,7 @@
 	regmap_read(spdifrx->regmap, STM32_SPDIFRX_DR, &reg);
 	regmap_read(spdifrx->regmap, STM32_SPDIFRX_CSR, &reg);
 
-	spin_unlock(&spdifrx->lock);
+	spin_unlock_irqrestore(&spdifrx->lock, flags);
 }
 
 static int stm32_spdifrx_dma_ctrl_register(struct device *dev,
@@ -643,7 +647,6 @@
 static irqreturn_t stm32_spdifrx_isr(int irq, void *devid)
 {
 	struct stm32_spdifrx_data *spdifrx = (struct stm32_spdifrx_data *)devid;
-	struct snd_pcm_substream *substream = spdifrx->substream;
 	struct platform_device *pdev = spdifrx->pdev;
 	unsigned int cr, mask, sr, imr;
 	unsigned int flags;
@@ -711,14 +714,19 @@
 		regmap_update_bits(spdifrx->regmap, STM32_SPDIFRX_CR,
 				   SPDIFRX_CR_SPDIFEN_MASK, cr);
 
-		if (substream)
-			snd_pcm_stop(substream, SNDRV_PCM_STATE_DISCONNECTED);
+		spin_lock(&spdifrx->irq_lock);
+		if (spdifrx->substream)
+			snd_pcm_stop(spdifrx->substream,
+				     SNDRV_PCM_STATE_DISCONNECTED);
+		spin_unlock(&spdifrx->irq_lock);
 
 		return IRQ_HANDLED;
 	}
 
-	if (err_xrun && substream)
-		snd_pcm_stop_xrun(substream);
+	spin_lock(&spdifrx->irq_lock);
+	if (err_xrun && spdifrx->substream)
+		snd_pcm_stop_xrun(spdifrx->substream);
+	spin_unlock(&spdifrx->irq_lock);
 
 	return IRQ_HANDLED;
 }
@@ -727,9 +735,12 @@
 				 struct snd_soc_dai *cpu_dai)
 {
 	struct stm32_spdifrx_data *spdifrx = snd_soc_dai_get_drvdata(cpu_dai);
+	unsigned long flags;
 	int ret;
 
+	spin_lock_irqsave(&spdifrx->irq_lock, flags);
 	spdifrx->substream = substream;
+	spin_unlock_irqrestore(&spdifrx->irq_lock, flags);
 
 	ret = clk_prepare_enable(spdifrx->kclk);
 	if (ret)
@@ -805,8 +816,12 @@
 				   struct snd_soc_dai *cpu_dai)
 {
 	struct stm32_spdifrx_data *spdifrx = snd_soc_dai_get_drvdata(cpu_dai);
+	unsigned long flags;
 
+	spin_lock_irqsave(&spdifrx->irq_lock, flags);
 	spdifrx->substream = NULL;
+	spin_unlock_irqrestore(&spdifrx->irq_lock, flags);
+
 	clk_disable_unprepare(spdifrx->kclk);
 }
 
@@ -910,6 +925,7 @@
 	spdifrx->pdev = pdev;
 	init_completion(&spdifrx->cs_completion);
 	spin_lock_init(&spdifrx->lock);
+	spin_lock_init(&spdifrx->irq_lock);
 
 	platform_set_drvdata(pdev, spdifrx);
 
diff --git a/sound/soc/sunxi/sun4i-i2s.c b/sound/soc/sunxi/sun4i-i2s.c
index 18cf840..f248e56 100644
--- a/sound/soc/sunxi/sun4i-i2s.c
+++ b/sound/soc/sunxi/sun4i-i2s.c
@@ -80,8 +80,8 @@
 #define SUN4I_I2S_CLK_DIV_MCLK_MASK		GENMASK(3, 0)
 #define SUN4I_I2S_CLK_DIV_MCLK(mclk)			((mclk) << 0)
 
-#define SUN4I_I2S_RX_CNT_REG		0x28
-#define SUN4I_I2S_TX_CNT_REG		0x2c
+#define SUN4I_I2S_TX_CNT_REG		0x28
+#define SUN4I_I2S_RX_CNT_REG		0x2c
 
 #define SUN4I_I2S_TX_CHAN_SEL_REG	0x30
 #define SUN4I_I2S_CHAN_SEL(num_chan)		(((num_chan) - 1) << 0)
diff --git a/sound/soc/sunxi/sun8i-codec.c b/sound/soc/sunxi/sun8i-codec.c
index bf615fa..8bcdeb2 100644
--- a/sound/soc/sunxi/sun8i-codec.c
+++ b/sound/soc/sunxi/sun8i-codec.c
@@ -89,6 +89,7 @@
 
 #define SUN8I_SYS_SR_CTRL_AIF1_FS_MASK		GENMASK(15, 12)
 #define SUN8I_SYS_SR_CTRL_AIF2_FS_MASK		GENMASK(11, 8)
+#define SUN8I_AIF1CLK_CTRL_AIF1_DATA_FMT_MASK	GENMASK(3, 2)
 #define SUN8I_AIF1CLK_CTRL_AIF1_WORD_SIZ_MASK	GENMASK(5, 4)
 #define SUN8I_AIF1CLK_CTRL_AIF1_LRCK_DIV_MASK	GENMASK(8, 6)
 #define SUN8I_AIF1CLK_CTRL_AIF1_BCLK_DIV_MASK	GENMASK(12, 9)
@@ -250,7 +251,7 @@
 		return -EINVAL;
 	}
 	regmap_update_bits(scodec->regmap, SUN8I_AIF1CLK_CTRL,
-			   BIT(SUN8I_AIF1CLK_CTRL_AIF1_DATA_FMT),
+			   SUN8I_AIF1CLK_CTRL_AIF1_DATA_FMT_MASK,
 			   value << SUN8I_AIF1CLK_CTRL_AIF1_DATA_FMT);
 
 	return 0;
@@ -465,7 +466,11 @@
 	{ "Right Digital DAC Mixer", "AIF1 Slot 0 Digital DAC Playback Switch",
 	  "AIF1 Slot 0 Right"},
 
-	/* ADC routes */
+	/* ADC Routes */
+	{ "AIF1 Slot 0 Right ADC", NULL, "ADC" },
+	{ "AIF1 Slot 0 Left ADC", NULL, "ADC" },
+
+	/* ADC Mixer Routes */
 	{ "Left Digital ADC Mixer", "AIF1 Data Digital ADC Capture Switch",
 	  "AIF1 Slot 0 Left ADC" },
 	{ "Right Digital ADC Mixer", "AIF1 Data Digital ADC Capture Switch",
diff --git a/sound/usb/clock.c b/sound/usb/clock.c
index e313498..bfe5540 100644
--- a/sound/usb/clock.c
+++ b/sound/usb/clock.c
@@ -165,8 +165,34 @@
 	return ret;
 }
 
+/*
+ * Assume the clock is valid if clock source supports only one single sample
+ * rate, the terminal is connected directly to it (there is no clock selector)
+ * and clock type is internal. This is to deal with some Denon DJ controllers
+ * that always reports that clock is invalid.
+ */
+static bool uac_clock_source_is_valid_quirk(struct snd_usb_audio *chip,
+					    struct audioformat *fmt,
+					    int source_id)
+{
+	if (fmt->protocol == UAC_VERSION_2) {
+		struct uac_clock_source_descriptor *cs_desc =
+			snd_usb_find_clock_source(chip->ctrl_intf, source_id);
+
+		if (!cs_desc)
+			return false;
+
+		return (fmt->nr_rates == 1 &&
+			(fmt->clock & 0xff) == cs_desc->bClockID &&
+			(cs_desc->bmAttributes & 0x3) !=
+				UAC_CLOCK_SOURCE_TYPE_EXT);
+	}
+
+	return false;
+}
+
 static bool uac_clock_source_is_valid(struct snd_usb_audio *chip,
-				      int protocol,
+				      struct audioformat *fmt,
 				      int source_id)
 {
 	int err;
@@ -174,26 +200,26 @@
 	struct usb_device *dev = chip->dev;
 	u32 bmControls;
 
-	if (protocol == UAC_VERSION_3) {
+	if (fmt->protocol == UAC_VERSION_3) {
 		struct uac3_clock_source_descriptor *cs_desc =
 			snd_usb_find_clock_source_v3(chip->ctrl_intf, source_id);
 
 		if (!cs_desc)
-			return 0;
+			return false;
 		bmControls = le32_to_cpu(cs_desc->bmControls);
 	} else { /* UAC_VERSION_1/2 */
 		struct uac_clock_source_descriptor *cs_desc =
 			snd_usb_find_clock_source(chip->ctrl_intf, source_id);
 
 		if (!cs_desc)
-			return 0;
+			return false;
 		bmControls = cs_desc->bmControls;
 	}
 
 	/* If a clock source can't tell us whether it's valid, we assume it is */
 	if (!uac_v2v3_control_is_readable(bmControls,
 				      UAC2_CS_CONTROL_CLOCK_VALID))
-		return 1;
+		return true;
 
 	err = snd_usb_ctl_msg(dev, usb_rcvctrlpipe(dev, 0), UAC2_CS_CUR,
 			      USB_TYPE_CLASS | USB_RECIP_INTERFACE | USB_DIR_IN,
@@ -205,13 +231,17 @@
 		dev_warn(&dev->dev,
 			 "%s(): cannot get clock validity for id %d\n",
 			   __func__, source_id);
-		return 0;
+		return false;
 	}
 
-	return !!data;
+	if (data)
+		return true;
+	else
+		return uac_clock_source_is_valid_quirk(chip, fmt, source_id);
 }
 
-static int __uac_clock_find_source(struct snd_usb_audio *chip, int entity_id,
+static int __uac_clock_find_source(struct snd_usb_audio *chip,
+				   struct audioformat *fmt, int entity_id,
 				   unsigned long *visited, bool validate)
 {
 	struct uac_clock_source_descriptor *source;
@@ -231,7 +261,7 @@
 	source = snd_usb_find_clock_source(chip->ctrl_intf, entity_id);
 	if (source) {
 		entity_id = source->bClockID;
-		if (validate && !uac_clock_source_is_valid(chip, UAC_VERSION_2,
+		if (validate && !uac_clock_source_is_valid(chip, fmt,
 								entity_id)) {
 			usb_audio_err(chip,
 				"clock source %d is not valid, cannot use\n",
@@ -262,8 +292,9 @@
 		}
 
 		cur = ret;
-		ret = __uac_clock_find_source(chip, selector->baCSourceID[ret - 1],
-					       visited, validate);
+		ret = __uac_clock_find_source(chip, fmt,
+					      selector->baCSourceID[ret - 1],
+					      visited, validate);
 		if (!validate || ret > 0 || !chip->autoclock)
 			return ret;
 
@@ -274,8 +305,9 @@
 			if (i == cur)
 				continue;
 
-			ret = __uac_clock_find_source(chip, selector->baCSourceID[i - 1],
-				visited, true);
+			ret = __uac_clock_find_source(chip, fmt,
+						      selector->baCSourceID[i - 1],
+						      visited, true);
 			if (ret < 0)
 				continue;
 
@@ -295,14 +327,16 @@
 	/* FIXME: multipliers only act as pass-thru element for now */
 	multiplier = snd_usb_find_clock_multiplier(chip->ctrl_intf, entity_id);
 	if (multiplier)
-		return __uac_clock_find_source(chip, multiplier->bCSourceID,
-						visited, validate);
+		return __uac_clock_find_source(chip, fmt,
+					       multiplier->bCSourceID,
+					       visited, validate);
 
 	return -EINVAL;
 }
 
-static int __uac3_clock_find_source(struct snd_usb_audio *chip, int entity_id,
-				   unsigned long *visited, bool validate)
+static int __uac3_clock_find_source(struct snd_usb_audio *chip,
+				    struct audioformat *fmt, int entity_id,
+				    unsigned long *visited, bool validate)
 {
 	struct uac3_clock_source_descriptor *source;
 	struct uac3_clock_selector_descriptor *selector;
@@ -321,7 +355,7 @@
 	source = snd_usb_find_clock_source_v3(chip->ctrl_intf, entity_id);
 	if (source) {
 		entity_id = source->bClockID;
-		if (validate && !uac_clock_source_is_valid(chip, UAC_VERSION_3,
+		if (validate && !uac_clock_source_is_valid(chip, fmt,
 								entity_id)) {
 			usb_audio_err(chip,
 				"clock source %d is not valid, cannot use\n",
@@ -352,7 +386,8 @@
 		}
 
 		cur = ret;
-		ret = __uac3_clock_find_source(chip, selector->baCSourceID[ret - 1],
+		ret = __uac3_clock_find_source(chip, fmt,
+					       selector->baCSourceID[ret - 1],
 					       visited, validate);
 		if (!validate || ret > 0 || !chip->autoclock)
 			return ret;
@@ -364,8 +399,9 @@
 			if (i == cur)
 				continue;
 
-			ret = __uac3_clock_find_source(chip, selector->baCSourceID[i - 1],
-				visited, true);
+			ret = __uac3_clock_find_source(chip, fmt,
+						       selector->baCSourceID[i - 1],
+						       visited, true);
 			if (ret < 0)
 				continue;
 
@@ -386,7 +422,8 @@
 	multiplier = snd_usb_find_clock_multiplier_v3(chip->ctrl_intf,
 						      entity_id);
 	if (multiplier)
-		return __uac3_clock_find_source(chip, multiplier->bCSourceID,
+		return __uac3_clock_find_source(chip, fmt,
+						multiplier->bCSourceID,
 						visited, validate);
 
 	return -EINVAL;
@@ -403,18 +440,18 @@
  *
  * Returns the clock source UnitID (>=0) on success, or an error.
  */
-int snd_usb_clock_find_source(struct snd_usb_audio *chip, int protocol,
-			      int entity_id, bool validate)
+int snd_usb_clock_find_source(struct snd_usb_audio *chip,
+			      struct audioformat *fmt, bool validate)
 {
 	DECLARE_BITMAP(visited, 256);
 	memset(visited, 0, sizeof(visited));
 
-	switch (protocol) {
+	switch (fmt->protocol) {
 	case UAC_VERSION_2:
-		return __uac_clock_find_source(chip, entity_id, visited,
+		return __uac_clock_find_source(chip, fmt, fmt->clock, visited,
 					       validate);
 	case UAC_VERSION_3:
-		return __uac3_clock_find_source(chip, entity_id, visited,
+		return __uac3_clock_find_source(chip, fmt, fmt->clock, visited,
 					       validate);
 	default:
 		return -EINVAL;
@@ -515,8 +552,7 @@
 	 * automatic clock selection if the current clock is not
 	 * valid.
 	 */
-	clock = snd_usb_clock_find_source(chip, fmt->protocol,
-					  fmt->clock, true);
+	clock = snd_usb_clock_find_source(chip, fmt, true);
 	if (clock < 0) {
 		/* We did not find a valid clock, but that might be
 		 * because the current sample rate does not match an
@@ -524,8 +560,7 @@
 		 * and we will do another validation after setting the
 		 * rate.
 		 */
-		clock = snd_usb_clock_find_source(chip, fmt->protocol,
-						  fmt->clock, false);
+		clock = snd_usb_clock_find_source(chip, fmt, false);
 		if (clock < 0)
 			return clock;
 	}
@@ -591,7 +626,7 @@
 
 validation:
 	/* validate clock after rate change */
-	if (!uac_clock_source_is_valid(chip, fmt->protocol, clock))
+	if (!uac_clock_source_is_valid(chip, fmt, clock))
 		return -ENXIO;
 	return 0;
 }
diff --git a/sound/usb/clock.h b/sound/usb/clock.h
index 076e31b..68df0fb 100644
--- a/sound/usb/clock.h
+++ b/sound/usb/clock.h
@@ -6,7 +6,7 @@
 			     struct usb_host_interface *alts,
 			     struct audioformat *fmt, int rate);
 
-int snd_usb_clock_find_source(struct snd_usb_audio *chip, int protocol,
-			     int entity_id, bool validate);
+int snd_usb_clock_find_source(struct snd_usb_audio *chip,
+			      struct audioformat *fmt, bool validate);
 
 #endif /* __USBAUDIO_CLOCK_H */
diff --git a/sound/usb/format.c b/sound/usb/format.c
index fd13ac1..9d27429 100644
--- a/sound/usb/format.c
+++ b/sound/usb/format.c
@@ -306,8 +306,7 @@
 	struct usb_device *dev = chip->dev;
 	unsigned char tmp[2], *data;
 	int nr_triplets, data_size, ret = 0;
-	int clock = snd_usb_clock_find_source(chip, fp->protocol,
-					      fp->clock, false);
+	int clock = snd_usb_clock_find_source(chip, fp, false);
 
 	if (clock < 0) {
 		dev_err(&dev->dev,
diff --git a/sound/usb/mixer.c b/sound/usb/mixer.c
index 606e316..680a0c6 100644
--- a/sound/usb/mixer.c
+++ b/sound/usb/mixer.c
@@ -912,6 +912,15 @@
 	return 0;
 }
 
+static int parse_term_effect_unit(struct mixer_build *state,
+				  struct usb_audio_term *term,
+				  void *p1, int id)
+{
+	term->type = UAC3_EFFECT_UNIT << 16; /* virtual type */
+	term->id = id;
+	return 0;
+}
+
 static int parse_term_uac2_clock_source(struct mixer_build *state,
 					struct usb_audio_term *term,
 					void *p1, int id)
@@ -996,8 +1005,7 @@
 						    UAC3_PROCESSING_UNIT);
 		case PTYPE(UAC_VERSION_2, UAC2_EFFECT_UNIT):
 		case PTYPE(UAC_VERSION_3, UAC3_EFFECT_UNIT):
-			return parse_term_proc_unit(state, term, p1, id,
-						    UAC3_EFFECT_UNIT);
+			return parse_term_effect_unit(state, term, p1, id);
 		case PTYPE(UAC_VERSION_1, UAC1_EXTENSION_UNIT):
 		case PTYPE(UAC_VERSION_2, UAC2_EXTENSION_UNIT_V2):
 		case PTYPE(UAC_VERSION_3, UAC3_EXTENSION_UNIT):
@@ -3482,7 +3490,9 @@
 	if (err < 0)
 		goto _error;
 
-	snd_usb_mixer_apply_create_quirk(mixer);
+	err = snd_usb_mixer_apply_create_quirk(mixer);
+	if (err < 0)
+		goto _error;
 
 	err = snd_device_new(chip->card, SNDRV_DEV_CODEC, mixer, &dev_ops);
 	if (err < 0)
diff --git a/sound/usb/pcm.c b/sound/usb/pcm.c
index 1e28280..67f5740 100644
--- a/sound/usb/pcm.c
+++ b/sound/usb/pcm.c
@@ -442,7 +442,7 @@
 add_sync_ep_from_ifnum:
 	iface = usb_ifnum_to_if(dev, ifnum);
 
-	if (!iface || iface->num_altsetting == 0)
+	if (!iface || iface->num_altsetting < 2)
 		return -EINVAL;
 
 	alts = &iface->altsetting[1];
diff --git a/sound/usb/quirks-table.h b/sound/usb/quirks-table.h
index 65f9c4b..90d4f61 100644
--- a/sound/usb/quirks-table.h
+++ b/sound/usb/quirks-table.h
@@ -3349,19 +3349,14 @@
 				.ifnum = 0,
 				.type = QUIRK_AUDIO_STANDARD_MIXER,
 			},
-			/* Capture */
-			{
-				.ifnum = 1,
-				.type = QUIRK_IGNORE_INTERFACE,
-			},
 			/* Playback */
 			{
-				.ifnum = 2,
+				.ifnum = 1,
 				.type = QUIRK_AUDIO_FIXED_ENDPOINT,
 				.data = &(const struct audioformat) {
 					.formats = SNDRV_PCM_FMTBIT_S16_LE,
 					.channels = 2,
-					.iface = 2,
+					.iface = 1,
 					.altsetting = 1,
 					.altset_idx = 1,
 					.attributes = UAC_EP_CS_ATTR_FILL_MAX |
diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
index bc70212..5bbfd75 100644
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -1177,10 +1177,12 @@
 	case USB_ID(0x04D8, 0xFEEA): /* Benchmark DAC1 Pre */
 	case USB_ID(0x0556, 0x0014): /* Phoenix Audio TMX320VC */
 	case USB_ID(0x05A3, 0x9420): /* ELP HD USB Camera */
+	case USB_ID(0x05a7, 0x1020): /* Bose Companion 5 */
 	case USB_ID(0x074D, 0x3553): /* Outlaw RR2150 (Micronas UAC3553B) */
 	case USB_ID(0x1395, 0x740a): /* Sennheiser DECT */
 	case USB_ID(0x1901, 0x0191): /* GE B850V3 CP2114 audio interface */
 	case USB_ID(0x21B4, 0x0081): /* AudioQuest DragonFly */
+	case USB_ID(0x2912, 0x30c8): /* Audioengine D1 */
 		return true;
 	}
 
diff --git a/sound/usb/usb_audio_qmi_svc.c b/sound/usb/usb_audio_qmi_svc.c
index 5b38bca..6297d72 100644
--- a/sound/usb/usb_audio_qmi_svc.c
+++ b/sound/usb/usb_audio_qmi_svc.c
@@ -894,10 +894,13 @@
 		ret = wait_event_interruptible_timeout(dev->disconnect_wq,
 				!atomic_read(&dev->in_use),
 				msecs_to_jiffies(DEV_RELEASE_WAIT_TIMEOUT));
-		if (!ret)
+		if (!ret) {
 			uaudio_err("timeout while waiting for dev_release\n");
-		else if (ret < 0)
+			atomic_set(&dev->in_use, 0);
+		} else if (ret < 0) {
 			uaudio_err("failed with ret %d\n", ret);
+			atomic_set(&dev->in_use, 0);
+		}
 
 		mutex_lock(&chip->dev_lock);
 	}
@@ -1156,22 +1159,20 @@
 	mutex_unlock(&chip->dev_lock);
 
 response:
-	if (!req_msg->enable && ret != -EINVAL) {
-		if (ret != -ENODEV) {
-			if (info_idx >= 0) {
-				mutex_lock(&chip->dev_lock);
-				info = &uadev[pcm_card_num].info[info_idx];
-				uaudio_dev_intf_cleanup(
-						uadev[pcm_card_num].udev,
-						info);
-				uaudio_dbg("release resources: intf# %d card# %d\n",
-						subs->interface, pcm_card_num);
-				mutex_unlock(&chip->dev_lock);
-			}
+	if (!req_msg->enable && (ret != -EINVAL || ret != -ENODEV)) {
+		mutex_lock(&chip->dev_lock);
+		if (info_idx >= 0) {
+			info = &uadev[pcm_card_num].info[info_idx];
+			uaudio_dev_intf_cleanup(
+					uadev[pcm_card_num].udev,
+					info);
+			uaudio_dbg("release resources: intf# %d card# %d\n",
+					subs->interface, pcm_card_num);
 		}
 		if (atomic_read(&uadev[pcm_card_num].in_use))
 			kref_put(&uadev[pcm_card_num].kref,
 					uaudio_dev_release);
+		mutex_unlock(&chip->dev_lock);
 	}
 
 	resp.usb_token = req_msg->usb_token;
diff --git a/sound/usb/usx2y/usX2Yhwdep.c b/sound/usb/usx2y/usX2Yhwdep.c
index c1dd9a7..36b3459 100644
--- a/sound/usb/usx2y/usX2Yhwdep.c
+++ b/sound/usb/usx2y/usX2Yhwdep.c
@@ -131,7 +131,7 @@
 	info->num_dsps = 2;		// 0: Prepad Data, 1: FPGA Code
 	if (us428->chip_status & USX2Y_STAT_CHIP_INIT)
 		info->chip_ready = 1;
- 	info->version = USX2Y_DRIVER_VERSION; 
+	info->version = USX2Y_DRIVER_VERSION;
 	return 0;
 }
 
diff --git a/sound/usb/validate.c b/sound/usb/validate.c
index 389e865..5a3c4f7 100644
--- a/sound/usb/validate.c
+++ b/sound/usb/validate.c
@@ -110,7 +110,7 @@
 	default:
 		if (v->type == UAC1_EXTENSION_UNIT)
 			return true; /* OK */
-		switch (d->wProcessType) {
+		switch (le16_to_cpu(d->wProcessType)) {
 		case UAC_PROCESS_UP_DOWNMIX:
 		case UAC_PROCESS_DOLBY_PROLOGIC:
 			if (d->bLength < len + 1) /* bNrModes */
@@ -125,7 +125,7 @@
 	case UAC_VERSION_2:
 		if (v->type == UAC2_EXTENSION_UNIT_V2)
 			return true; /* OK */
-		switch (d->wProcessType) {
+		switch (le16_to_cpu(d->wProcessType)) {
 		case UAC2_PROCESS_UP_DOWNMIX:
 		case UAC2_PROCESS_DOLBY_PROLOCIC: /* SiC! */
 			if (d->bLength < len + 1) /* bNrModes */
@@ -142,7 +142,7 @@
 			len += 2; /* wClusterDescrID */
 			break;
 		}
-		switch (d->wProcessType) {
+		switch (le16_to_cpu(d->wProcessType)) {
 		case UAC3_PROCESS_UP_DOWNMIX:
 			if (d->bLength < len + 1) /* bNrModes */
 				return false;
diff --git a/tools/bpf/bpftool/btf_dumper.c b/tools/bpf/bpftool/btf_dumper.c
index e4e6e2b..ff0cc3c 100644
--- a/tools/bpf/bpftool/btf_dumper.c
+++ b/tools/bpf/bpftool/btf_dumper.c
@@ -26,9 +26,9 @@
 			   bool is_plain_text)
 {
 	if (is_plain_text)
-		jsonw_printf(jw, "%p", *(unsigned long *)data);
+		jsonw_printf(jw, "%p", data);
 	else
-		jsonw_printf(jw, "%u", *(unsigned long *)data);
+		jsonw_printf(jw, "%lu", *(unsigned long *)data);
 }
 
 static int btf_dumper_modifier(const struct btf_dumper *d, __u32 type_id,
@@ -129,7 +129,7 @@
 	switch (BTF_INT_ENCODING(*int_type)) {
 	case 0:
 		if (BTF_INT_BITS(*int_type) == 64)
-			jsonw_printf(jw, "%lu", *(__u64 *)data);
+			jsonw_printf(jw, "%llu", *(__u64 *)data);
 		else if (BTF_INT_BITS(*int_type) == 32)
 			jsonw_printf(jw, "%u", *(__u32 *)data);
 		else if (BTF_INT_BITS(*int_type) == 16)
@@ -142,7 +142,7 @@
 		break;
 	case BTF_INT_SIGNED:
 		if (BTF_INT_BITS(*int_type) == 64)
-			jsonw_printf(jw, "%ld", *(long long *)data);
+			jsonw_printf(jw, "%lld", *(long long *)data);
 		else if (BTF_INT_BITS(*int_type) == 32)
 			jsonw_printf(jw, "%d", *(int *)data);
 		else if (BTF_INT_BITS(*int_type) == 16)
diff --git a/tools/bpf/bpftool/cgroup.c b/tools/bpf/bpftool/cgroup.c
index ee7a976..adbcd84 100644
--- a/tools/bpf/bpftool/cgroup.c
+++ b/tools/bpf/bpftool/cgroup.c
@@ -164,7 +164,7 @@
 
 	cgroup_fd = open(argv[0], O_RDONLY);
 	if (cgroup_fd < 0) {
-		p_err("can't open cgroup %s", argv[1]);
+		p_err("can't open cgroup %s", argv[0]);
 		goto exit;
 	}
 
@@ -345,7 +345,7 @@
 
 	cgroup_fd = open(argv[0], O_RDONLY);
 	if (cgroup_fd < 0) {
-		p_err("can't open cgroup %s", argv[1]);
+		p_err("can't open cgroup %s", argv[0]);
 		goto exit;
 	}
 
@@ -403,7 +403,7 @@
 
 	cgroup_fd = open(argv[0], O_RDONLY);
 	if (cgroup_fd < 0) {
-		p_err("can't open cgroup %s", argv[1]);
+		p_err("can't open cgroup %s", argv[0]);
 		goto exit;
 	}
 
diff --git a/tools/bpf/bpftool/map_perf_ring.c b/tools/bpf/bpftool/map_perf_ring.c
index 6d41323..8ec0148 100644
--- a/tools/bpf/bpftool/map_perf_ring.c
+++ b/tools/bpf/bpftool/map_perf_ring.c
@@ -205,7 +205,7 @@
 			NEXT_ARG();
 			cpu = strtoul(*argv, &endptr, 0);
 			if (*endptr) {
-				p_err("can't parse %s as CPU ID", **argv);
+				p_err("can't parse %s as CPU ID", *argv);
 				goto err_close_map;
 			}
 
@@ -216,7 +216,7 @@
 			NEXT_ARG();
 			index = strtoul(*argv, &endptr, 0);
 			if (*endptr) {
-				p_err("can't parse %s as index", **argv);
+				p_err("can't parse %s as index", *argv);
 				goto err_close_map;
 			}
 
diff --git a/tools/include/linux/string.h b/tools/include/linux/string.h
index 6c3e2cc2..0ec646f 100644
--- a/tools/include/linux/string.h
+++ b/tools/include/linux/string.h
@@ -14,7 +14,15 @@
  * However uClibc headers also define __GLIBC__ hence the hack below
  */
 #if defined(__GLIBC__) && !defined(__UCLIBC__)
+// pragma diagnostic was introduced in gcc 4.6
+#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wredundant-decls"
+#endif
 extern size_t strlcpy(char *dest, const char *src, size_t size);
+#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
+#pragma GCC diagnostic pop
+#endif
 #endif
 
 char *str_error_r(int errnum, char *buf, size_t buflen);
diff --git a/tools/include/uapi/linux/sched.h b/tools/include/uapi/linux/sched.h
index 22627f8..e5489d7 100644
--- a/tools/include/uapi/linux/sched.h
+++ b/tools/include/uapi/linux/sched.h
@@ -2,6 +2,8 @@
 #ifndef _UAPI_LINUX_SCHED_H
 #define _UAPI_LINUX_SCHED_H
 
+#include <linux/types.h>
+
 /*
  * cloning flags:
  */
@@ -31,6 +33,20 @@
 #define CLONE_IO		0x80000000	/* Clone io context */
 
 /*
+ * Arguments for the clone3 syscall
+ */
+struct clone_args {
+	__aligned_u64 flags;
+	__aligned_u64 pidfd;
+	__aligned_u64 child_tid;
+	__aligned_u64 parent_tid;
+	__aligned_u64 exit_signal;
+	__aligned_u64 stack;
+	__aligned_u64 stack_size;
+	__aligned_u64 tls;
+};
+
+/*
  * Scheduling policies
  */
 #define SCHED_NORMAL		0
@@ -50,9 +66,21 @@
 #define SCHED_FLAG_RESET_ON_FORK	0x01
 #define SCHED_FLAG_RECLAIM		0x02
 #define SCHED_FLAG_DL_OVERRUN		0x04
+#define SCHED_FLAG_KEEP_POLICY		0x08
+#define SCHED_FLAG_KEEP_PARAMS		0x10
+#define SCHED_FLAG_UTIL_CLAMP_MIN	0x20
+#define SCHED_FLAG_UTIL_CLAMP_MAX	0x40
+
+#define SCHED_FLAG_KEEP_ALL	(SCHED_FLAG_KEEP_POLICY | \
+				 SCHED_FLAG_KEEP_PARAMS)
+
+#define SCHED_FLAG_UTIL_CLAMP	(SCHED_FLAG_UTIL_CLAMP_MIN | \
+				 SCHED_FLAG_UTIL_CLAMP_MAX)
 
 #define SCHED_FLAG_ALL	(SCHED_FLAG_RESET_ON_FORK	| \
 			 SCHED_FLAG_RECLAIM		| \
-			 SCHED_FLAG_DL_OVERRUN)
+			 SCHED_FLAG_DL_OVERRUN		| \
+			 SCHED_FLAG_KEEP_ALL		| \
+			 SCHED_FLAG_UTIL_CLAMP)
 
 #endif /* _UAPI_LINUX_SCHED_H */
diff --git a/tools/kvm/kvm_stat/kvm_stat b/tools/kvm/kvm_stat/kvm_stat
index ba7ee74..f6ca0a2 100755
--- a/tools/kvm/kvm_stat/kvm_stat
+++ b/tools/kvm/kvm_stat/kvm_stat
@@ -271,6 +271,7 @@
     def __init__(self, exit_reasons):
         self.sc_perf_evt_open = 298
         self.ioctl_numbers = IOCTL_NUMBERS
+        self.exit_reason_field = 'exit_reason'
         self.exit_reasons = exit_reasons
 
     def debugfs_is_child(self, field):
@@ -290,6 +291,7 @@
         # numbers depend on the wordsize.
         char_ptr_size = ctypes.sizeof(ctypes.c_char_p)
         self.ioctl_numbers['SET_FILTER'] = 0x80002406 | char_ptr_size << 16
+        self.exit_reason_field = 'exit_nr'
         self.exit_reasons = {}
 
     def debugfs_is_child(self, field):
@@ -301,6 +303,7 @@
     def __init__(self):
         self.sc_perf_evt_open = 241
         self.ioctl_numbers = IOCTL_NUMBERS
+        self.exit_reason_field = 'esr_ec'
         self.exit_reasons = AARCH64_EXIT_REASONS
 
     def debugfs_is_child(self, field):
@@ -312,6 +315,7 @@
     def __init__(self):
         self.sc_perf_evt_open = 331
         self.ioctl_numbers = IOCTL_NUMBERS
+        self.exit_reason_field = None
         self.exit_reasons = None
 
     def debugfs_is_child(self, field):
@@ -542,8 +546,8 @@
         """
         filters = {}
         filters['kvm_userspace_exit'] = ('reason', USERSPACE_EXIT_REASONS)
-        if ARCH.exit_reasons:
-            filters['kvm_exit'] = ('exit_reason', ARCH.exit_reasons)
+        if ARCH.exit_reason_field and ARCH.exit_reasons:
+            filters['kvm_exit'] = (ARCH.exit_reason_field, ARCH.exit_reasons)
         return filters
 
     def _get_available_fields(self):
diff --git a/tools/lib/api/fs/fs.c b/tools/lib/api/fs/fs.c
index 7aba824..bd021a0 100644
--- a/tools/lib/api/fs/fs.c
+++ b/tools/lib/api/fs/fs.c
@@ -210,6 +210,7 @@
 	size_t name_len = strlen(fs->name);
 	/* name + "_PATH" + '\0' */
 	char upper_name[name_len + 5 + 1];
+
 	memcpy(upper_name, fs->name, name_len);
 	mem_toupper(upper_name, name_len);
 	strcpy(&upper_name[name_len], "_PATH");
@@ -219,7 +220,8 @@
 		return false;
 
 	fs->found = true;
-	strncpy(fs->path, override_path, sizeof(fs->path));
+	strncpy(fs->path, override_path, sizeof(fs->path) - 1);
+	fs->path[sizeof(fs->path) - 1] = '\0';
 	return true;
 }
 
diff --git a/tools/lib/string.c b/tools/lib/string.c
index 93b3d4b..ee0afcb 100644
--- a/tools/lib/string.c
+++ b/tools/lib/string.c
@@ -95,6 +95,10 @@
  * If libc has strlcpy() then that version will override this
  * implementation:
  */
+#ifdef __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wignored-attributes"
+#endif
 size_t __weak strlcpy(char *dest, const char *src, size_t size)
 {
 	size_t ret = strlen(src);
@@ -106,3 +110,6 @@
 	}
 	return ret;
 }
+#ifdef __clang__
+#pragma clang diagnostic pop
+#endif
diff --git a/tools/lib/traceevent/parse-filter.c b/tools/lib/traceevent/parse-filter.c
index 2700f1f..27248a0 100644
--- a/tools/lib/traceevent/parse-filter.c
+++ b/tools/lib/traceevent/parse-filter.c
@@ -1227,8 +1227,10 @@
 	}
 
 	filter_type = add_filter_type(filter, event->id);
-	if (filter_type == NULL)
+	if (filter_type == NULL) {
+		free_arg(arg);
 		return TEP_ERRNO__MEM_ALLOC_FAILED;
+	}
 
 	if (filter_type->filter)
 		free_arg(filter_type->filter);
diff --git a/tools/objtool/arch/x86/lib/x86-opcode-map.txt b/tools/objtool/arch/x86/lib/x86-opcode-map.txt
index 0a0e911..5cb9f00 100644
--- a/tools/objtool/arch/x86/lib/x86-opcode-map.txt
+++ b/tools/objtool/arch/x86/lib/x86-opcode-map.txt
@@ -909,7 +909,7 @@
 
 GrpTable: Grp3_2
 0: TEST Ev,Iz
-1:
+1: TEST Ev,Iz
 2: NOT Ev
 3: NEG Ev
 4: MUL rAX,Ev
diff --git a/tools/perf/builtin-c2c.c b/tools/perf/builtin-c2c.c
index 1452e51..2bd39fd 100644
--- a/tools/perf/builtin-c2c.c
+++ b/tools/perf/builtin-c2c.c
@@ -586,8 +586,8 @@
 {
 	struct c2c_hist_entry *c2c_left;
 	struct c2c_hist_entry *c2c_right;
-	unsigned int tot_hitm_left;
-	unsigned int tot_hitm_right;
+	uint64_t tot_hitm_left;
+	uint64_t tot_hitm_right;
 
 	c2c_left  = container_of(left, struct c2c_hist_entry, he);
 	c2c_right = container_of(right, struct c2c_hist_entry, he);
@@ -620,7 +620,8 @@
 									\
 	c2c_left  = container_of(left, struct c2c_hist_entry, he);	\
 	c2c_right = container_of(right, struct c2c_hist_entry, he);	\
-	return c2c_left->stats.__f - c2c_right->stats.__f;		\
+	return (uint64_t) c2c_left->stats.__f -				\
+	       (uint64_t) c2c_right->stats.__f;				\
 }
 
 #define STAT_FN(__f)		\
@@ -673,7 +674,8 @@
 	c2c_left  = container_of(left, struct c2c_hist_entry, he);
 	c2c_right = container_of(right, struct c2c_hist_entry, he);
 
-	return llc_miss(&c2c_left->stats) - llc_miss(&c2c_right->stats);
+	return (uint64_t) llc_miss(&c2c_left->stats) -
+	       (uint64_t) llc_miss(&c2c_right->stats);
 }
 
 static uint64_t total_records(struct c2c_stats *stats)
diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
index 2f94f7a..5312c76 100644
--- a/tools/perf/builtin-report.c
+++ b/tools/perf/builtin-report.c
@@ -383,10 +383,10 @@
 				PERF_SAMPLE_BRANCH_ANY))
 		rep->nonany_branch_mode = true;
 
-#ifndef HAVE_LIBUNWIND_SUPPORT
+#if !defined(HAVE_LIBUNWIND_SUPPORT) && !defined(HAVE_DWARF_SUPPORT)
 	if (dwarf_callchain_users) {
-		ui__warning("Please install libunwind development packages "
-			    "during the perf build.\n");
+		ui__warning("Please install libunwind or libdw "
+			    "development packages during the perf build.\n");
 	}
 #endif
 
@@ -961,6 +961,7 @@
 	struct stat st;
 	bool has_br_stack = false;
 	int branch_mode = -1;
+	int last_key = 0;
 	bool branch_call_mode = false;
 #define CALLCHAIN_DEFAULT_OPT  "graph,0.5,caller,function,percent"
 	const char report_callchain_help[] = "Display call graph (stack chain/backtrace):\n\n"
@@ -1292,7 +1293,8 @@
 	else
 		use_browser = 0;
 
-	if (setup_sorting(session->evlist) < 0) {
+	if ((last_key != K_SWITCH_INPUT_DATA) &&
+	    (setup_sorting(session->evlist) < 0)) {
 		if (sort_order)
 			parse_options_usage(report_usage, options, "s", 1);
 		if (field_order)
@@ -1390,6 +1392,7 @@
 	ret = __cmd_report(&report);
 	if (ret == K_SWITCH_INPUT_DATA) {
 		perf_session__delete(session);
+		last_key = K_SWITCH_INPUT_DATA;
 		goto repeat;
 	} else
 		ret = 0;
diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c
index 692d2fa..ed34902 100644
--- a/tools/perf/ui/browsers/hists.c
+++ b/tools/perf/ui/browsers/hists.c
@@ -2931,6 +2931,7 @@
 
 				continue;
 			}
+			actions->ms.map = map;
 			top = pstack__peek(browser->pstack);
 			if (top == &browser->hists->dso_filter) {
 				/*
diff --git a/tools/perf/util/hist.h b/tools/perf/util/hist.h
index 3badd7f..7173e1f 100644
--- a/tools/perf/util/hist.h
+++ b/tools/perf/util/hist.h
@@ -324,10 +324,10 @@
 	list_for_each_entry_safe(format, tmp, &(_list)->sorts, sort_list)
 
 #define hists__for_each_format(hists, format) \
-	perf_hpp_list__for_each_format((hists)->hpp_list, fmt)
+	perf_hpp_list__for_each_format((hists)->hpp_list, format)
 
 #define hists__for_each_sort_list(hists, format) \
-	perf_hpp_list__for_each_sort_list((hists)->hpp_list, fmt)
+	perf_hpp_list__for_each_sort_list((hists)->hpp_list, format)
 
 extern struct perf_hpp_fmt perf_hpp__format[];
 
diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
index 21f867a..ab20840 100644
--- a/tools/perf/util/machine.c
+++ b/tools/perf/util/machine.c
@@ -681,24 +681,6 @@
 	return 0;
 }
 
-static void dso__adjust_kmod_long_name(struct dso *dso, const char *filename)
-{
-	const char *dup_filename;
-
-	if (!filename || !dso || !dso->long_name)
-		return;
-	if (dso->long_name[0] != '[')
-		return;
-	if (!strchr(filename, '/'))
-		return;
-
-	dup_filename = strdup(filename);
-	if (!dup_filename)
-		return;
-
-	dso__set_long_name(dso, dup_filename, true);
-}
-
 struct map *machine__findnew_module_map(struct machine *machine, u64 start,
 					const char *filename)
 {
@@ -710,15 +692,8 @@
 		return NULL;
 
 	map = map_groups__find_by_name(&machine->kmaps, m.name);
-	if (map) {
-		/*
-		 * If the map's dso is an offline module, give dso__load()
-		 * a chance to find the file path of that module by fixing
-		 * long_name.
-		 */
-		dso__adjust_kmod_long_name(map->dso, filename);
+	if (map)
 		goto out;
-	}
 
 	dso = machine__findnew_module_dso(machine, &m, filename);
 	if (dso == NULL)
diff --git a/tools/perf/util/probe-finder.c b/tools/perf/util/probe-finder.c
index 7ccabb8..a6aaac2 100644
--- a/tools/perf/util/probe-finder.c
+++ b/tools/perf/util/probe-finder.c
@@ -612,38 +612,26 @@
 				  const char *function,
 				  struct probe_trace_point *tp)
 {
-	Dwarf_Addr eaddr, highaddr;
+	Dwarf_Addr eaddr;
 	GElf_Sym sym;
 	const char *symbol;
 
 	/* Verify the address is correct */
-	if (dwarf_entrypc(sp_die, &eaddr) != 0) {
-		pr_warning("Failed to get entry address of %s\n",
-			   dwarf_diename(sp_die));
-		return -ENOENT;
-	}
-	if (dwarf_highpc(sp_die, &highaddr) != 0) {
-		pr_warning("Failed to get end address of %s\n",
-			   dwarf_diename(sp_die));
-		return -ENOENT;
-	}
-	if (paddr > highaddr) {
-		pr_warning("Offset specified is greater than size of %s\n",
+	if (!dwarf_haspc(sp_die, paddr)) {
+		pr_warning("Specified offset is out of %s\n",
 			   dwarf_diename(sp_die));
 		return -EINVAL;
 	}
 
-	symbol = dwarf_diename(sp_die);
+	/* Try to get actual symbol name from symtab */
+	symbol = dwfl_module_addrsym(mod, paddr, &sym, NULL);
 	if (!symbol) {
-		/* Try to get the symbol name from symtab */
-		symbol = dwfl_module_addrsym(mod, paddr, &sym, NULL);
-		if (!symbol) {
-			pr_warning("Failed to find symbol at 0x%lx\n",
-				   (unsigned long)paddr);
-			return -ENOENT;
-		}
-		eaddr = sym.st_value;
+		pr_warning("Failed to find symbol at 0x%lx\n",
+			   (unsigned long)paddr);
+		return -ENOENT;
 	}
+	eaddr = sym.st_value;
+
 	tp->offset = (unsigned long)(paddr - eaddr);
 	tp->address = (unsigned long)paddr;
 	tp->symbol = strdup(symbol);
diff --git a/tools/perf/util/stat-shadow.c b/tools/perf/util/stat-shadow.c
index bbb0e04..5947528 100644
--- a/tools/perf/util/stat-shadow.c
+++ b/tools/perf/util/stat-shadow.c
@@ -209,12 +209,12 @@
 				    int cpu, struct runtime_stat *st)
 {
 	int ctx = evsel_context(counter);
+	u64 count_ns = count;
 
 	count *= counter->scale;
 
-	if (perf_evsel__match(counter, SOFTWARE, SW_TASK_CLOCK) ||
-	    perf_evsel__match(counter, SOFTWARE, SW_CPU_CLOCK))
-		update_runtime_stat(st, STAT_NSECS, 0, cpu, count);
+	if (perf_evsel__is_clock(counter))
+		update_runtime_stat(st, STAT_NSECS, 0, cpu, count_ns);
 	else if (perf_evsel__match(counter, HARDWARE, HW_CPU_CYCLES))
 		update_runtime_stat(st, STAT_CYCLES, ctx, cpu, count);
 	else if (perf_stat_evsel__is(counter, CYCLES_IN_TX))
diff --git a/tools/power/acpi/Makefile.config b/tools/power/acpi/Makefile.config
index f304be7..fc116c0 100644
--- a/tools/power/acpi/Makefile.config
+++ b/tools/power/acpi/Makefile.config
@@ -18,7 +18,7 @@
 
 OUTPUT=$(srctree)/
 ifeq ("$(origin O)", "command line")
-	OUTPUT := $(O)/power/acpi/
+	OUTPUT := $(O)/tools/power/acpi/
 endif
 #$(info Determined 'OUTPUT' to be $(OUTPUT))
 
diff --git a/tools/testing/selftests/bpf/test_select_reuseport.c b/tools/testing/selftests/bpf/test_select_reuseport.c
index 75646d9..cdbbdab 100644
--- a/tools/testing/selftests/bpf/test_select_reuseport.c
+++ b/tools/testing/selftests/bpf/test_select_reuseport.c
@@ -30,7 +30,7 @@
 #define REUSEPORT_ARRAY_SIZE 32
 
 static int result_map, tmp_index_ovr_map, linum_map, data_check_map;
-static enum result expected_results[NR_RESULTS];
+static __u32 expected_results[NR_RESULTS];
 static int sk_fds[REUSEPORT_ARRAY_SIZE];
 static int reuseport_array, outer_map;
 static int select_by_skb_data_prog;
@@ -610,7 +610,19 @@
 
 static void cleanup_per_test(void)
 {
-	int i, err;
+	int i, err, zero = 0;
+
+	memset(expected_results, 0, sizeof(expected_results));
+
+	for (i = 0; i < NR_RESULTS; i++) {
+		err = bpf_map_update_elem(result_map, &i, &zero, BPF_ANY);
+		RET_IF(err, "reset elem in result_map",
+		       "i:%u err:%d errno:%d\n", i, err, errno);
+	}
+
+	err = bpf_map_update_elem(linum_map, &zero, &zero, BPF_ANY);
+	RET_IF(err, "reset line number in linum_map", "err:%d errno:%d\n",
+	       err, errno);
 
 	for (i = 0; i < REUSEPORT_ARRAY_SIZE; i++)
 		close(sk_fds[i]);
diff --git a/tools/testing/selftests/filesystems/incfs/.gitignore b/tools/testing/selftests/filesystems/incfs/.gitignore
new file mode 100644
index 0000000..4cba9c21
--- /dev/null
+++ b/tools/testing/selftests/filesystems/incfs/.gitignore
@@ -0,0 +1 @@
+incfs_test
\ No newline at end of file
diff --git a/tools/testing/selftests/filesystems/incfs/Makefile b/tools/testing/selftests/filesystems/incfs/Makefile
new file mode 100644
index 0000000..1f13573
--- /dev/null
+++ b/tools/testing/selftests/filesystems/incfs/Makefile
@@ -0,0 +1,18 @@
+# SPDX-License-Identifier: GPL-2.0
+CFLAGS += -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -Wall -lssl -lcrypto -llz4
+CFLAGS += -I../../../../../usr/include/
+CFLAGS += -I../../../../include/uapi/
+CFLAGS += -I../../../../lib
+
+EXTRA_SOURCES := utils.c
+CFLAGS += $(EXTRA_SOURCES)
+
+TEST_GEN_PROGS := incfs_test
+
+include ../../lib.mk
+
+$(OUTPUT)incfs_test: incfs_test.c $(EXTRA_SOURCES)
+all: $(OUTPUT)incfs_test
+
+clean:
+	rm -rf $(OUTPUT)incfs_test *.o
diff --git a/tools/testing/selftests/filesystems/incfs/config b/tools/testing/selftests/filesystems/incfs/config
new file mode 100644
index 0000000..b674983
--- /dev/null
+++ b/tools/testing/selftests/filesystems/incfs/config
@@ -0,0 +1 @@
+CONFIG_INCREMENTAL_FS=y
\ No newline at end of file
diff --git a/tools/testing/selftests/filesystems/incfs/incfs_test.c b/tools/testing/selftests/filesystems/incfs/incfs_test.c
new file mode 100644
index 0000000..dd70e01
--- /dev/null
+++ b/tools/testing/selftests/filesystems/incfs/incfs_test.c
@@ -0,0 +1,2422 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright 2018 Google LLC
+ */
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <dirent.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <sys/mount.h>
+#include <errno.h>
+#include <sys/wait.h>
+#include <sys/xattr.h>
+#include <alloca.h>
+#include <string.h>
+#include <stdio.h>
+#include <stdbool.h>
+#include <stdint.h>
+#include <linux/random.h>
+#include <linux/unistd.h>
+
+#include "../../kselftest.h"
+
+#include "lz4.h"
+#include "utils.h"
+
+#define __packed __attribute__((__packed__))
+
+#define TEST_FAILURE 1
+#define TEST_SUCCESS 0
+#define INCFS_MAX_MTREE_LEVELS 8
+
+#define INCFS_ROOT_INODE 0
+
+struct hash_block {
+	char data[INCFS_DATA_FILE_BLOCK_SIZE];
+};
+
+struct test_signature {
+	void *data;
+	size_t size;
+
+	char add_data[100];
+	size_t add_data_size;
+};
+
+struct test_file {
+	int index;
+	incfs_uuid_t id;
+	char *name;
+	off_t size;
+	char root_hash[INCFS_MAX_HASH_SIZE];
+	struct hash_block *mtree;
+	int mtree_block_count;
+	struct test_signature sig;
+};
+
+struct test_files_set {
+	struct test_file *files;
+	int files_count;
+};
+
+struct linux_dirent64 {
+	uint64_t       d_ino;
+	int64_t        d_off;
+	unsigned short d_reclen;
+	unsigned char  d_type;
+	char	       d_name[0];
+} __packed;
+
+/*
+ * The certificate below and the private key were created by calling:
+ *	openssl req -x509 -newkey rsa:4096 -keyout private.key -out cert.crt
+ *	-days 1000 -sha256 -nodes -outform PEM -subj
+ *	"/C=US/ST=WA/L=Kirkland/O=Example/OU=Org/CN=www.example.com"
+ */
+char x509_cert[] =
+"-----BEGIN CERTIFICATE-----\n"
+"MIIFvzCCA6egAwIBAgIUXpwqelEljm6BBllRQGHLrls2MYgwDQYJKoZIhvcNAQEL\n"
+"BQAwbzELMAkGA1UEBhMCVVMxEzARBgNVBAgMCldhc2hpbmd0b24xETAPBgNVBAcM\n"
+"CEtpcmtsYW5kMRAwDgYDVQQKDAdFeGFtcGxlMQwwCgYDVQQLDANPcmcxGDAWBgNV\n"
+"BAMMD3d3dy5leGFtcGxlLmNvbTAeFw0xOTA4MDgyMzA3MDZaFw0yMjA1MDQyMzA3\n"
+"MDZaMG8xCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApXYXNoaW5ndG9uMREwDwYDVQQH\n"
+"DAhLaXJrbGFuZDEQMA4GA1UECgwHRXhhbXBsZTEMMAoGA1UECwwDT3JnMRgwFgYD\n"
+"VQQDDA93d3cuZXhhbXBsZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK\n"
+"AoICAQC1LuFW/lDV/GflqFMz7RDvFFgWld982ZuDJRaK55JNj+MI4RZNL61PDw43\n"
+"NeeJtqUoVxSLS9wHURjSjD/CV5GudUOnzGfbwFlLko+jhYRT4HNFS+5ys1FEJLtA\n"
+"uYcY4P9GHQEXYUX+ue82A2kJ91oY6G3vCQYJFiGteb6TRDICmug31x4pBfB8rOdt\n"
+"4/NXS/Dn+S0/mJlxw34IKfqrlFjzUziRZtAWWqDcfxFDUizSggkdXIUq4GY38RAD\n"
+"qGewNNCab3ClJDP7/M32BhSNgsIKhgtSTM2+ocfvBhwup+BjV6UbL21DPAshlolV\n"
+"gSL1HM2jin5bi4bpFMreY0LXwFih87/6AVSfQHY9TZrombVZnMxvB7NG1NCSwDBT\n"
+"qjjFb3oiSMugJzY+MhISM754m46fwUyHZ1ylWCLJEU8kQ5A1q9vvqMcaDa4uTGP3\n"
+"UgC6SyVmZxG2o+AO6m8TRTCtqHN41mPTM9HK4T1UyuzVpykSc2LlYkKE517SyEiV\n"
+"XDmotNb2myXNYHHTjRYNxkq75Lbii2I4Q4z8XtDngaIrhZqACKSqIt2CocGjx61S\n"
+"oxKWi+LGa7B4NaCMjz1LnaOIsXn1rJDRnUWL49T42g4kOi/5QaC2JDygfefw1hAb\n"
+"uxkq9EYUDg+w9broltiBf4rKAnw8JMySARnyPZbj0lhZK3va5wIDAQABo1MwUTAd\n"
+"BgNVHQ4EFgQUo6JN3gY2yGbzOTNj8Al7hNB3rw0wHwYDVR0jBBgwFoAUo6JN3gY2\n"
+"yGbzOTNj8Al7hNB3rw0wDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOC\n"
+"AgEAQb3pJqOzM4whfNVdpEOswd1EApcWNM1ps9iTlEEjDoRv9F7F1PW0uXCIpk3B\n"
+"j5JgCmIxAcPnzj42rduRSx421hHMZhbAIWI/JL4ZSF64qlG0YrmJDXlJgSMoyst5\n"
+"biUqeWgO7Js5udPt3zhkeA62z3hGM6dE5B3k7gHTaKKtK17+UeR9imZKsOK8GBnM\n"
+"rxMPI6XghxxAK2OQ/r09DHDiyf/GxgOE46oknfXfMPx3HaSvDKrZUTZ+UvVbM5c2\n"
+"5eXOgH5UO/e4llLknJK7CoP/R6G7pV44iT4t4t9FMnvCYvavAHwfR+6z5vTF3o8a\n"
+"wd80fC8z1vfLsIPLROdzBl9rGCvv536fPiEA677CM1AZkjfT0a9DVzrE1NDvuCUF\n"
+"0KgEdiNwux+hO6dbTyiS38yPT6TbpoWJptJmFhFkC4hGvUgoX/TI0covSyf74VRH\n"
+"k3BHojOBMYiX1K66xoN7fhlGK8cith3L0XXPB8CgSEUPWURvm8RCaGuX2T3FZomF\n"
+"BCnNpN+WNnN3Yf4OkjtuvtxxktUU7pfVLsUxrdpo/ph4rWm6U83VT/Zlq92aF4vW\n"
+"QJ+7uraQFip7e+Gy9g3UJINm3B7b1C4ch/Z/upCZESOI/23sVGzkfTgOrS+23i6/\n"
+"Vi9YW75zySC2FCa1AWMS1NmS5qfDSycJUgD6YvOUg0C54ZI=\n"
+"-----END CERTIFICATE-----";
+
+char private_key[] =
+"-----BEGIN PRIVATE KEY-----\n"
+"MIIJQwIBADANBgkqhkiG9w0BAQEFAASCCS0wggkpAgEAAoICAQC1LuFW/lDV/Gfl\n"
+"qFMz7RDvFFgWld982ZuDJRaK55JNj+MI4RZNL61PDw43NeeJtqUoVxSLS9wHURjS\n"
+"jD/CV5GudUOnzGfbwFlLko+jhYRT4HNFS+5ys1FEJLtAuYcY4P9GHQEXYUX+ue82\n"
+"A2kJ91oY6G3vCQYJFiGteb6TRDICmug31x4pBfB8rOdt4/NXS/Dn+S0/mJlxw34I\n"
+"KfqrlFjzUziRZtAWWqDcfxFDUizSggkdXIUq4GY38RADqGewNNCab3ClJDP7/M32\n"
+"BhSNgsIKhgtSTM2+ocfvBhwup+BjV6UbL21DPAshlolVgSL1HM2jin5bi4bpFMre\n"
+"Y0LXwFih87/6AVSfQHY9TZrombVZnMxvB7NG1NCSwDBTqjjFb3oiSMugJzY+MhIS\n"
+"M754m46fwUyHZ1ylWCLJEU8kQ5A1q9vvqMcaDa4uTGP3UgC6SyVmZxG2o+AO6m8T\n"
+"RTCtqHN41mPTM9HK4T1UyuzVpykSc2LlYkKE517SyEiVXDmotNb2myXNYHHTjRYN\n"
+"xkq75Lbii2I4Q4z8XtDngaIrhZqACKSqIt2CocGjx61SoxKWi+LGa7B4NaCMjz1L\n"
+"naOIsXn1rJDRnUWL49T42g4kOi/5QaC2JDygfefw1hAbuxkq9EYUDg+w9broltiB\n"
+"f4rKAnw8JMySARnyPZbj0lhZK3va5wIDAQABAoICAQCMKul/0J2e/ncub6t2t4dr\n"
+"PnTrfCT6xKqPqciny4Ee6hr9So1jR2gvink380bd/mQFMmEdZqGhM3cdpAzLf82f\n"
+"hu7BSNxsYIF0er0PB4MZFMJ4sMaXC+zp5/TJnP5MG/zBND0c5k8tQpEyWy8O28Jj\n"
+"FKW/0F5P90Q0ncP20EJUS50tXgniOMsU2Prtw/UE6yZDgD0mPxsurMu66ycXSFwM\n"
+"WqyfqEeBk7lw/AjR6Sft71W31lTbl+DclG0MN2OIKUPcxiwCRmDFKI36MDgERk1x\n"
+"sMPfdrWRLj2ryDFTUuLAWBTOVEGWS0RdRsWWVaJCuHbKd6FLl0TW2xQbOfWDTjYC\n"
+"Ps31ejh163qdbk7OGOZIbd83fP3jsyL+4eNzhUpeXMKhfG58mFIv4yhdZIUOpuL6\n"
+"aqnoU9z9wEsJKj/SrKr3nw6tuTnmbXgNjun9LfTFmqqDRBYd0Okiprw6jHNM1jgA\n"
+"GG0kC/K7r89jKymVDABwGMFCS33ynR1Tb6zG+cqgNMPw19Fy3uQuW21CjqSzCOyP\n"
+"aEVCEUZeP+ofql5+7ZKi6Dj+EdTfeKt2ihgheHZZoaYSINb8tsnKbdJhwBfW9PFT\n"
+"aT/hu3bnO2FPC8H2NGOqxOEeel9ALU4SFu1pOknEhiL3/mNfOQ+KgrSRDtNRlcL0\n"
+"cto05J90u0cmqwWKlshfaQKCAQEA5dcklxs4ezyzt28NcsiyS02oZ+9TkQp6pCXV\n"
+"kx7AwhivAmVTlJ+c6BegA5EPd7A1gknM3+EKzGpoBOqmlF45G57phVIAphAp4oCH\n"
+"UOVtIQgM8p4EU2gtX+uNOopdYlpBQnWimXaHA2sOD9/yTbZ03j/McRH6D15+iCld\n"
+"3880GHdZaYYbQmHoSDg39LRRO1bdS3WC0oKBD2gPi3K0b9RaZSwKzuVrmlvrLURj\n"
+"WMZfmkGl4BsITfuoTxbWFVncG3Kb9eYkYUFZy4M2G/s849PS/HjrN7BvgpanjtVp\n"
+"1/39APQfAYfUuBPbKYnb6F8dE0pb5cVd4uMZklAeTb3bXjOO9QKCAQEAyc4CxWXr\n"
+"bG6Do5dGpWudQ7ucq00MR0T3MHQIu5XTn6BsPHAJ9ZgrQw9C24PXm2VEjjsrMs5T\n"
+"rHNF9oeO39s25Za1iyJ+893icqA3h3ivCUOOoVE54BkuJK6REhkXPD5G1ubmxeBz\n"
+"MKNehlpd/eSbJJArkzKFZ8sBtLt8i9VFhRnXSpDAbiMpCbjW+bem9MWdLmkenSnu\n"
+"OUbnqYcJhFBCvOT7ZCHFCDNUNPfHcaReSY2EYjw0ZqtqAZD0Q+DL+RkLz7l1+/bF\n"
+"eEwNjmjFTcwRyawqf38D4miU0H6ca16FkeSlbmM5p3HdwZK2HVYYz3FSwhox6Ebd\n"
+"n6in42qfL4Ug6wKCAQAh9IDRWhIkErmyNdPUy1WbzmM8x5ye5t9rdLNywq5TfnYM\n"
+"co/AezwhBax8GmgglIWzM9fykzqXLHklkMz/SlRBgl6ZdZ3m6qhlb/uNtfdDU/8l\n"
+"sLaO4+sgKpp4tYxKRW8ytFJLPbmAhcZUDg+r73KgiuhXJAK/VoR29TWLJP9bRfaN\n"
+"omRQkEpSsQuDOUhu7cxPo5KqKuGKNyNkxJNnmgWowLLwEfCtozrBO0M6EER7c4tf\n"
+"6l51tuIMnSEPknD0FSB5WYCyZYcwi7fotlsuhVK8PdjyJzyyHDOw5FJ4uGsyQt55\n"
+"yWlhsH1GS7mTQMn42Zlt/pR6OnbCqNdxQMUxy4gpAoIBAFvMbs5E0pb8nr0n72cI\n"
+"UP2itl3mKpOw95D+94n9WcrfOt0zShSCKAvVQWCB1O5HXqwklj4CRWXI+iZu+7sx\n"
+"CQPfTq3//ygH4x6paxkg+N6J8LPJMz6Rtb/R+QP2je9FlQvk9U1GEKArcLBFI0R/\n"
+"XWOAgZHwBWd1nU0NjFY/qeQmIR02Q5LWQ7C8eG4X8MafriSShO6RSGCdtHwVhWq+\n"
+"59ztfL3L7skQMFn37K3xS0LCMVpOcLfTeeFEgxjthVvG3OydPOJlGubiEbiaSEZf\n"
+"cif/PUXKDYZMdIVzUsw0ryXykJ5qXKuizHFlv5oQtDCJKFBLgjBbLC2YluaIdekz\n"
+"8gkCggEBAJWxS7EuB/qL7fOz0o3HRy0plR3qbwZ0pLoCz0Ii7WxraBS1yQwmxif1\n"
+"Rgv89GyFqg1yQl3CSrMiw7oC9WxxxuiEZDO18c4KO3NTv9K4itN9OPQVBTHmEhod\n"
+"KWcyP4/W/Sfuae77PyclSqUsAARRrKYn2fpLTS5ibaU0QZgHmdPgYDUrPr+6PHKK\n"
+"ZfQKU2uBfuo6zoMbMmFi3UYG49j9rv4d6v+44vS1MPHV9JK/LD8YfBhgx8Pg/u6D\n"
+"nUgipS48pkGjJr2u2Vu7Mx70vqz0Yf2neyyDbdLtkYauC4w7YKPTD0yzDJyGuAeB\n"
+"GyPbW1yZa5vE302a1Cr0Cd7RC4AFAAw=\n"
+"-----END PRIVATE KEY-----";
+
+struct test_files_set get_test_files_set(void)
+{
+	static struct test_file files[] = {
+		{ .index = 0, .name = "file_one_byte", .size = 1 },
+		{ .index = 1,
+		  .name = "file_one_block",
+		  .size = INCFS_DATA_FILE_BLOCK_SIZE },
+		{ .index = 2,
+		  .name = "file_one_and_a_half_blocks",
+		  .size = INCFS_DATA_FILE_BLOCK_SIZE +
+			  INCFS_DATA_FILE_BLOCK_SIZE / 2 },
+		{ .index = 3,
+		  .name = "file_three",
+		  .size = 300 * INCFS_DATA_FILE_BLOCK_SIZE + 3 },
+		{ .index = 4,
+		  .name = "file_four",
+		  .size = 400 * INCFS_DATA_FILE_BLOCK_SIZE + 7 },
+		{ .index = 5,
+		  .name = "file_five",
+		  .size = 500 * INCFS_DATA_FILE_BLOCK_SIZE + 7 },
+		{ .index = 6,
+		  .name = "file_six",
+		  .size = 600 * INCFS_DATA_FILE_BLOCK_SIZE + 7 },
+		{ .index = 7,
+		  .name = "file_seven",
+		  .size = 700 * INCFS_DATA_FILE_BLOCK_SIZE + 7 },
+		{ .index = 8,
+		  .name = "file_eight",
+		  .size = 800 * INCFS_DATA_FILE_BLOCK_SIZE + 7 },
+		{ .index = 9,
+		  .name = "file_nine",
+		  .size = 900 * INCFS_DATA_FILE_BLOCK_SIZE + 7 },
+		{ .index = 10, .name = "file_big", .size = 500 * 1024 * 1024 }
+	};
+	return (struct test_files_set){ .files = files,
+					.files_count = ARRAY_SIZE(files) };
+}
+
+struct test_files_set get_small_test_files_set(void)
+{
+	static struct test_file files[] = {
+		{ .index = 0, .name = "file_one_byte", .size = 1 },
+		{ .index = 1,
+		  .name = "file_one_block",
+		  .size = INCFS_DATA_FILE_BLOCK_SIZE },
+		{ .index = 2,
+		  .name = "file_one_and_a_half_blocks",
+		  .size = INCFS_DATA_FILE_BLOCK_SIZE +
+			  INCFS_DATA_FILE_BLOCK_SIZE / 2 },
+		{ .index = 3,
+		  .name = "file_three",
+		  .size = 300 * INCFS_DATA_FILE_BLOCK_SIZE + 3 },
+		{ .index = 4,
+		  .name = "file_four",
+		  .size = 400 * INCFS_DATA_FILE_BLOCK_SIZE + 7 }
+	};
+	return (struct test_files_set){ .files = files,
+					.files_count = ARRAY_SIZE(files) };
+}
+
+static int get_file_block_seed(int file, int block)
+{
+	return 7919 * file + block;
+}
+
+static loff_t min(loff_t a, loff_t b)
+{
+	return a < b ? a : b;
+}
+
+static pid_t flush_and_fork(void)
+{
+	fflush(stdout);
+	return fork();
+}
+
+static void print_error(char *msg)
+{
+	ksft_print_msg("%s: %s\n", msg, strerror(errno));
+}
+
+static int wait_for_process(pid_t pid)
+{
+	int status;
+	int wait_res;
+
+	wait_res = waitpid(pid, &status, 0);
+	if (wait_res <= 0) {
+		print_error("Can't wait for the child");
+		return -EINVAL;
+	}
+	if (!WIFEXITED(status)) {
+		ksft_print_msg("Unexpected child status pid=%d\n", pid);
+		return -EINVAL;
+	}
+	status = WEXITSTATUS(status);
+	if (status != 0)
+		return status;
+	return 0;
+}
+
+static void rnd_buf(uint8_t *data, size_t len, unsigned int seed)
+{
+	int i;
+
+	for (i = 0; i < len; i++) {
+		seed = 1103515245 * seed + 12345;
+		data[i] = (uint8_t)(seed >> (i % 13));
+	}
+}
+
+char *bin2hex(char *dst, const void *src, size_t count)
+{
+	const unsigned char *_src = src;
+	static const char hex_asc[] = "0123456789abcdef";
+
+	while (count--) {
+		unsigned char x = *_src++;
+
+		*dst++ = hex_asc[(x & 0xf0) >> 4];
+		*dst++ = hex_asc[(x & 0x0f)];
+	}
+	*dst = 0;
+	return dst;
+}
+
+static char *get_index_filename(char *mnt_dir, incfs_uuid_t id)
+{
+	char path[FILENAME_MAX];
+	char str_id[1 + 2 * sizeof(id)];
+
+	bin2hex(str_id, id.bytes, sizeof(id.bytes));
+	snprintf(path, ARRAY_SIZE(path), "%s/.index/%s", mnt_dir, str_id);
+
+	return strdup(path);
+}
+
+int open_file_by_id(char *mnt_dir, incfs_uuid_t id)
+{
+	char *path = get_index_filename(mnt_dir, id);
+	int fd = open(path, O_RDWR);
+
+	free(path);
+	if (fd < 0) {
+		print_error("Can't open file by id.");
+		return -errno;
+	}
+
+	return fd;
+}
+
+int get_file_attr(char *mnt_dir, incfs_uuid_t id, char *value, int size)
+{
+	char *path = get_index_filename(mnt_dir, id);
+	int res;
+
+	res = getxattr(path, INCFS_XATTR_METADATA_NAME, value, size);
+	if (res < 0)
+		res = -errno;
+
+	free(path);
+	return res;
+}
+
+static bool same_id(incfs_uuid_t *id1, incfs_uuid_t *id2)
+{
+	return !memcmp(id1->bytes, id2->bytes, sizeof(id1->bytes));
+}
+
+static int emit_test_blocks(char *mnt_dir, struct test_file *file,
+			int blocks[], int count)
+{
+	uint8_t data[INCFS_DATA_FILE_BLOCK_SIZE];
+	uint8_t comp_data[2 * INCFS_DATA_FILE_BLOCK_SIZE];
+	int block_count = (count > 32) ? 32 : count;
+	int data_buf_size = 2 * INCFS_DATA_FILE_BLOCK_SIZE * block_count;
+	uint8_t *data_buf = malloc(data_buf_size);
+	uint8_t *current_data = data_buf;
+	uint8_t *data_end = data_buf + data_buf_size;
+	struct incfs_new_data_block *block_buf =
+		calloc(block_count, sizeof(*block_buf));
+	ssize_t write_res = 0;
+	int fd;
+	int error = 0;
+	int i = 0;
+	int blocks_written = 0;
+
+	fd = open_file_by_id(mnt_dir, file->id);
+	if (fd <= 0) {
+		error = -errno;
+		goto out;
+	}
+
+	for (i = 0; i < block_count; i++) {
+		int block_index = blocks[i];
+		bool compress = (file->index + block_index) % 2 == 0;
+		int seed = get_file_block_seed(file->index, block_index);
+		off_t block_offset =
+			((off_t)block_index) * INCFS_DATA_FILE_BLOCK_SIZE;
+		size_t block_size = 0;
+
+		if (block_offset > file->size) {
+			error = -EINVAL;
+			break;
+		}
+		if (file->size - block_offset >
+			INCFS_DATA_FILE_BLOCK_SIZE)
+			block_size = INCFS_DATA_FILE_BLOCK_SIZE;
+		else
+			block_size = file->size - block_offset;
+
+		rnd_buf(data, block_size, seed);
+		if (compress) {
+			size_t comp_size = LZ4_compress_default(
+				(char *)data, (char *)comp_data, block_size,
+				ARRAY_SIZE(comp_data));
+
+			if (comp_size <= 0) {
+				error = -EBADMSG;
+				break;
+			}
+			if (current_data + comp_size > data_end) {
+				error = -ENOMEM;
+				break;
+			}
+			memcpy(current_data, comp_data, comp_size);
+			block_size = comp_size;
+			block_buf[i].compression = COMPRESSION_LZ4;
+		} else {
+			if (current_data + block_size > data_end) {
+				error = -ENOMEM;
+				break;
+			}
+			memcpy(current_data, data, block_size);
+			block_buf[i].compression = COMPRESSION_NONE;
+		}
+
+		block_buf[i].block_index = block_index;
+		block_buf[i].data_len = block_size;
+		block_buf[i].data = ptr_to_u64(current_data);
+		block_buf[i].compression =
+			compress ? COMPRESSION_LZ4 : COMPRESSION_NONE;
+		current_data += block_size;
+	}
+
+	if (!error) {
+		write_res = write(fd, block_buf, sizeof(*block_buf) * i);
+		if (write_res < 0)
+			error = -errno;
+		else
+			blocks_written = write_res / sizeof(*block_buf);
+	}
+	if (error) {
+		ksft_print_msg(
+			"Writing data block error. Write returned: %d. Error:%s\n",
+			write_res, strerror(-error));
+	}
+
+out:
+	free(block_buf);
+	free(data_buf);
+	close(fd);
+	return (error < 0) ? error : blocks_written;
+}
+
+static int emit_test_block(char *mnt_dir, struct test_file *file,
+				int block_index)
+{
+	int res = emit_test_blocks(mnt_dir, file, &block_index, 1);
+
+	if (res == 0)
+		return -EINVAL;
+	if (res == 1)
+		return 0;
+	return res;
+}
+
+static void shuffle(int array[], int count, unsigned int seed)
+{
+	int i;
+
+	for (i = 0; i < count - 1; i++) {
+		int items_left = count - i;
+		int shuffle_index;
+		int v;
+
+		seed = 1103515245 * seed + 12345;
+		shuffle_index = i + seed % items_left;
+
+		v = array[shuffle_index];
+		array[shuffle_index] = array[i];
+		array[i] = v;
+	}
+}
+
+static int emit_test_file_data(char *mount_dir, struct test_file *file)
+{
+	int i;
+	int block_cnt = 1 + (file->size - 1) / INCFS_DATA_FILE_BLOCK_SIZE;
+	int *block_indexes = NULL;
+	int result = 0;
+	int blocks_written = 0;
+
+	if (file->size == 0)
+		return 0;
+
+	block_indexes = calloc(block_cnt, sizeof(*block_indexes));
+	for (i = 0; i < block_cnt; i++)
+		block_indexes[i] = i;
+	shuffle(block_indexes, block_cnt, file->index);
+
+	for (i = 0; i < block_cnt; i += blocks_written) {
+		blocks_written = emit_test_blocks(mount_dir, file,
+					block_indexes + i, block_cnt - i);
+		if (blocks_written < 0) {
+			result = blocks_written;
+			goto out;
+		}
+		if (blocks_written == 0) {
+			result = -EIO;
+			goto out;
+		}
+	}
+out:
+	free(block_indexes);
+	return result;
+}
+
+static loff_t read_whole_file(char *filename)
+{
+	int fd = -1;
+	loff_t result;
+	loff_t bytes_read = 0;
+	uint8_t buff[16 * 1024];
+
+	fd = open(filename, O_RDONLY);
+	if (fd <= 0)
+		return fd;
+
+	while (1) {
+		int read_result = read(fd, buff, ARRAY_SIZE(buff));
+
+		if (read_result < 0) {
+			print_error("Error during reading from a file.");
+			result = -errno;
+			goto cleanup;
+		} else if (read_result == 0)
+			break;
+
+		bytes_read += read_result;
+	}
+	result = bytes_read;
+
+cleanup:
+	close(fd);
+	return result;
+}
+
+static int read_test_file(uint8_t *buf, size_t len, char *filename,
+			  int block_idx)
+{
+	int fd = -1;
+	int result;
+	int bytes_read = 0;
+	size_t bytes_to_read = len;
+	off_t offset = ((off_t)block_idx) * INCFS_DATA_FILE_BLOCK_SIZE;
+
+	fd = open(filename, O_RDONLY);
+	if (fd <= 0)
+		return fd;
+
+	if (lseek(fd, offset, SEEK_SET) != offset) {
+		print_error("Seek error");
+		return -errno;
+	}
+
+	while (bytes_read < bytes_to_read) {
+		int read_result =
+			read(fd, buf + bytes_read, bytes_to_read - bytes_read);
+		if (read_result < 0) {
+			result = -errno;
+			goto cleanup;
+		} else if (read_result == 0)
+			break;
+
+		bytes_read += read_result;
+	}
+	result = bytes_read;
+
+cleanup:
+	close(fd);
+	return result;
+}
+
+static char *create_backing_dir(char *mount_dir)
+{
+	struct stat st;
+	char backing_dir_name[255];
+
+	snprintf(backing_dir_name, ARRAY_SIZE(backing_dir_name), "%s-src",
+		 mount_dir);
+
+	if (stat(backing_dir_name, &st) == 0) {
+		if (S_ISDIR(st.st_mode)) {
+			int error = delete_dir_tree(backing_dir_name);
+
+			if (error) {
+				ksft_print_msg(
+				      "Can't delete existing backing dir. %d\n",
+				      error);
+				return NULL;
+			}
+		} else {
+			if (unlink(backing_dir_name)) {
+				print_error("Can't clear backing dir");
+				return NULL;
+			}
+		}
+	}
+
+	if (mkdir(backing_dir_name, 0777)) {
+		if (errno != EEXIST) {
+			print_error("Can't open/create backing dir");
+			return NULL;
+		}
+	}
+
+	return strdup(backing_dir_name);
+}
+
+static int validate_test_file_content_with_seed(char *mount_dir,
+						struct test_file *file,
+						unsigned int shuffle_seed)
+{
+	int error = -1;
+	char *filename = concat_file_name(mount_dir, file->name);
+	off_t size = file->size;
+	loff_t actual_size = get_file_size(filename);
+	int block_cnt = 1 + (size - 1) / INCFS_DATA_FILE_BLOCK_SIZE;
+	int *block_indexes = NULL;
+	int i;
+
+	block_indexes = alloca(sizeof(int) * block_cnt);
+	for (i = 0; i < block_cnt; i++)
+		block_indexes[i] = i;
+
+	if (shuffle_seed != 0)
+		shuffle(block_indexes, block_cnt, shuffle_seed);
+
+	if (actual_size != size) {
+		ksft_print_msg(
+			"File size doesn't match. name: %s expected size:%ld actual size:%ld\n",
+			filename, size, actual_size);
+		error = -1;
+		goto failure;
+	}
+
+	for (i = 0; i < block_cnt; i++) {
+		int block_idx = block_indexes[i];
+		uint8_t expected_block[INCFS_DATA_FILE_BLOCK_SIZE];
+		uint8_t actual_block[INCFS_DATA_FILE_BLOCK_SIZE];
+		int seed = get_file_block_seed(file->index, block_idx);
+		size_t bytes_to_compare = min(
+			(off_t)INCFS_DATA_FILE_BLOCK_SIZE,
+			size - ((off_t)block_idx) * INCFS_DATA_FILE_BLOCK_SIZE);
+		int read_result =
+			read_test_file(actual_block, INCFS_DATA_FILE_BLOCK_SIZE,
+				       filename, block_idx);
+		if (read_result < 0) {
+			ksft_print_msg(
+				"Error reading block %d from file %s. Error: %s\n",
+				block_idx, filename, strerror(-read_result));
+			error = read_result;
+			goto failure;
+		}
+		rnd_buf(expected_block, INCFS_DATA_FILE_BLOCK_SIZE, seed);
+		if (memcmp(expected_block, actual_block, bytes_to_compare)) {
+			ksft_print_msg(
+				"File contents don't match. name: %s block:%d\n",
+				file->name, block_idx);
+			error = -2;
+			goto failure;
+		}
+	}
+	free(filename);
+	return 0;
+
+failure:
+	free(filename);
+	return error;
+}
+
+static int validate_test_file_content(char *mount_dir, struct test_file *file)
+{
+	return validate_test_file_content_with_seed(mount_dir, file, 0);
+}
+
+static int data_producer(char *mount_dir, struct test_files_set *test_set)
+{
+	int ret = 0;
+	int timeout_ms = 1000;
+	struct incfs_pending_read_info prs[100] = {};
+	int prs_size = ARRAY_SIZE(prs);
+	int fd = open_commands_file(mount_dir);
+
+	if (fd < 0)
+		return -errno;
+
+	while ((ret = wait_for_pending_reads(fd, timeout_ms, prs, prs_size)) >
+	       0) {
+		int read_count = ret;
+		int i;
+
+		for (i = 0; i < read_count; i++) {
+			int j = 0;
+			struct test_file *file = NULL;
+
+			for (j = 0; j < test_set->files_count; j++) {
+				bool same = same_id(&(test_set->files[j].id),
+					&(prs[i].file_id));
+
+				if (same) {
+					file = &test_set->files[j];
+					break;
+				}
+			}
+			if (!file) {
+				ksft_print_msg(
+					"Unknown file in pending reads.\n");
+				break;
+			}
+
+			ret = emit_test_block(mount_dir, file,
+				prs[i].block_index);
+			if (ret < 0) {
+				ksft_print_msg("Emitting test data error: %s\n",
+						strerror(-ret));
+				break;
+			}
+		}
+	}
+	close(fd);
+	return ret;
+}
+
+static int build_mtree(struct test_file *file)
+{
+	char data[INCFS_DATA_FILE_BLOCK_SIZE] = {};
+	const int digest_size = SHA256_DIGEST_SIZE;
+	const int hash_per_block = INCFS_DATA_FILE_BLOCK_SIZE / digest_size;
+	int block_count = 0;
+	int hash_block_count = 0;
+	int total_tree_block_count = 0;
+	int tree_lvl_index[INCFS_MAX_MTREE_LEVELS] = {};
+	int tree_lvl_count[INCFS_MAX_MTREE_LEVELS] = {};
+	int levels_count = 0;
+	char data_to_sign[256] = {};
+	int sig_data_size;
+	int i, level;
+
+	if (file->size == 0)
+		return 0;
+
+	block_count = 1 + (file->size - 1) / INCFS_DATA_FILE_BLOCK_SIZE;
+	hash_block_count = block_count;
+	for (i = 0; hash_block_count > 1; i++) {
+		hash_block_count = (hash_block_count + hash_per_block - 1)
+			/ hash_per_block;
+		tree_lvl_count[i] = hash_block_count;
+		total_tree_block_count += hash_block_count;
+	}
+	levels_count = i;
+
+	for (i = 0; i < levels_count; i++) {
+		int prev_lvl_base = (i == 0) ? total_tree_block_count :
+			tree_lvl_index[i - 1];
+
+		tree_lvl_index[i] = prev_lvl_base - tree_lvl_count[i];
+	}
+
+	file->mtree_block_count = total_tree_block_count;
+	if (block_count == 1) {
+		int seed = get_file_block_seed(file->index, 0);
+
+		rnd_buf((uint8_t *)data, file->size, seed);
+		sha256(data, file->size, file->root_hash);
+		return 0;
+	}
+
+	file->mtree = calloc(total_tree_block_count, sizeof(*file->mtree));
+	/* Build level 0 hashes. */
+	for (i = 0; i < block_count; i++) {
+		off_t offset = i * INCFS_DATA_FILE_BLOCK_SIZE;
+		size_t block_size = INCFS_DATA_FILE_BLOCK_SIZE;
+		int block_index = tree_lvl_index[0] +
+					i / hash_per_block;
+		int block_off = (i % hash_per_block) * digest_size;
+		int seed = get_file_block_seed(file->index, i);
+		char *hash_ptr = file->mtree[block_index].data + block_off;
+
+		if (file->size - offset < block_size)
+			block_size = file->size - offset;
+
+		rnd_buf((uint8_t *)data, block_size, seed);
+		sha256(data, block_size, hash_ptr);
+	}
+
+	/* Build higher levels of hash tree. */
+	for (level = 1; level < levels_count; level++) {
+		int prev_lvl_base = tree_lvl_index[level - 1];
+		int prev_lvl_count = tree_lvl_count[level - 1];
+
+		for (i = 0; i < prev_lvl_count; i++) {
+			int block_index =
+				i / hash_per_block + tree_lvl_index[level];
+			int block_off = (i % hash_per_block) * digest_size;
+			char *hash_ptr =
+				file->mtree[block_index].data + block_off;
+
+			sha256(file->mtree[i + prev_lvl_base].data,
+			       INCFS_DATA_FILE_BLOCK_SIZE, hash_ptr);
+		}
+	}
+
+	/* Calculate root hash from the top block */
+	sha256(file->mtree[0].data,
+		INCFS_DATA_FILE_BLOCK_SIZE, file->root_hash);
+
+	/* Calculating digital signature */
+	snprintf(file->sig.add_data, sizeof(file->sig.add_data), "%ld",
+		 file->size);
+	memcpy(data_to_sign, file->root_hash, SHA256_DIGEST_SIZE);
+	memcpy(data_to_sign + SHA256_DIGEST_SIZE, file->sig.add_data,
+		strlen(file->sig.add_data));
+	sig_data_size = SHA256_DIGEST_SIZE + strlen(file->sig.add_data);
+	if (!sign_pkcs7(data_to_sign, sig_data_size, private_key, x509_cert,
+		       &file->sig.data, &file->sig.size)) {
+		ksft_print_msg("Signing failed.\n");
+		return -EINVAL;
+	}
+
+	return 0;
+}
+
+static int load_hash_tree(const char *mount_dir, struct test_file *file)
+{
+	int err;
+	int i;
+	int fd;
+
+	size_t blocks_size =
+		file->mtree_block_count * sizeof(struct incfs_new_data_block);
+	struct incfs_new_data_block *blocks = NULL;
+	char *file_path;
+
+	if (blocks_size == 0)
+		return 0;
+
+	blocks = malloc(blocks_size);
+	if (!blocks)
+		return -ENOMEM;
+
+	for (i = 0; i < file->mtree_block_count; i++) {
+		blocks[i] = (struct incfs_new_data_block){
+			.block_index = i,
+			.data_len = INCFS_DATA_FILE_BLOCK_SIZE,
+			.data = ptr_to_u64(file->mtree[i].data),
+			.flags = INCFS_BLOCK_FLAGS_HASH
+		};
+	}
+
+	file_path  = concat_file_name(mount_dir, file->name);
+	fd = open(file_path, O_RDWR);
+	free(file_path);
+	if (fd < 0) {
+		err = errno;
+		goto failure;
+	}
+
+	err = write(fd, blocks, blocks_size);
+	close(fd);
+
+	if (err < blocks_size)
+		err = errno;
+	else {
+		err = 0;
+		free(file->mtree);
+	}
+
+failure:
+	free(blocks);
+	return err;
+}
+
+static int cant_touch_index_test(char *mount_dir)
+{
+	char *file_name = "test_file";
+	int file_size = 123;
+	incfs_uuid_t file_id;
+	char *index_path = concat_file_name(mount_dir, ".index");
+	char *subdir = concat_file_name(index_path, "subdir");
+	char *dst_name = concat_file_name(mount_dir, "something");
+	char *filename_in_index = NULL;
+	char *file_path = concat_file_name(mount_dir, file_name);
+	char *backing_dir;
+	int cmd_fd = -1;
+	int err;
+
+	backing_dir = create_backing_dir(mount_dir);
+	if (!backing_dir)
+		goto failure;
+
+	/* Mount FS and release the backing file. */
+	if (mount_fs(mount_dir, backing_dir, 50) != 0)
+		goto failure;
+	free(backing_dir);
+
+	cmd_fd = open_commands_file(mount_dir);
+	if (cmd_fd < 0)
+		goto failure;
+
+
+	err = mkdir(subdir, 0777);
+	if (err == 0 || errno != EBUSY) {
+		print_error("Shouldn't be able to crate subdir in index\n");
+		goto failure;
+	}
+
+	err = emit_file(cmd_fd, ".index", file_name, &file_id,
+				file_size, NULL);
+	if (err != -EBUSY) {
+		print_error("Shouldn't be able to crate a file in index\n");
+		goto failure;
+	}
+
+	err = emit_file(cmd_fd, NULL, file_name, &file_id,
+				file_size, NULL);
+	if (err < 0)
+		goto failure;
+	filename_in_index = get_index_filename(mount_dir, file_id);
+
+	err = unlink(filename_in_index);
+	if (err == 0 || errno != EBUSY) {
+		print_error("Shouldn't be delete from index\n");
+		goto failure;
+	}
+
+
+	err = rename(filename_in_index, dst_name);
+	if (err == 0 || errno != EBUSY) {
+		print_error("Shouldn't be able to move from index\n");
+		goto failure;
+	}
+
+	free(filename_in_index);
+	filename_in_index = concat_file_name(index_path, "abc");
+	err = link(file_path, filename_in_index);
+	if (err == 0 || errno != EBUSY) {
+		print_error("Shouldn't be able to link inside index\n");
+		goto failure;
+	}
+
+	close(cmd_fd);
+	free(subdir);
+	free(index_path);
+	free(dst_name);
+	free(filename_in_index);
+	if (umount(mount_dir) != 0) {
+		print_error("Can't unmout FS");
+		goto failure;
+	}
+
+	return TEST_SUCCESS;
+
+failure:
+	free(subdir);
+	free(dst_name);
+	free(index_path);
+	free(filename_in_index);
+	close(cmd_fd);
+	umount(mount_dir);
+	return TEST_FAILURE;
+}
+
+static bool iterate_directory(char *dir_to_iterate, bool root, int file_count)
+{
+	struct expected_name {
+		const char *name;
+		bool root_only;
+		bool found;
+	} names[] = {
+		{INCFS_LOG_FILENAME, true, false},
+		{INCFS_PENDING_READS_FILENAME, true, false},
+		{".index", true, false},
+		{"..", false, false},
+		{".", false, false},
+	};
+
+	bool pass = true, found;
+	int i;
+
+	/* Test directory iteration */
+	int fd = open(dir_to_iterate, O_RDONLY | O_DIRECTORY);
+
+	if (fd < 0) {
+		print_error("Can't open directory\n");
+		return false;
+	}
+
+	for (;;) {
+		/* Enough space for one dirent - no name over 30 */
+		char buf[sizeof(struct linux_dirent64) + NAME_MAX];
+		struct linux_dirent64 *dirent = (struct linux_dirent64 *) buf;
+		int nread;
+		int i;
+
+		for (i = 0; i < NAME_MAX; ++i) {
+			nread = syscall(__NR_getdents64, fd, buf,
+					 sizeof(struct linux_dirent64) + i);
+
+			if (nread >= 0)
+				break;
+			if (errno != EINVAL)
+				break;
+		}
+
+		if (nread == 0)
+			break;
+		if (nread < 0) {
+			print_error("Error iterating directory\n");
+			pass = false;
+			goto failure;
+		}
+
+		/* Expected size is rounded up to 8 byte boundary. Not sure if
+		 * this is universal truth or just happenstance, but useful test
+		 * for the moment
+		 */
+		if (nread != (((sizeof(struct linux_dirent64)
+				+ strlen(dirent->d_name) + 1) + 7) & ~7)) {
+			print_error("Wrong dirent size");
+			pass = false;
+			goto failure;
+		}
+
+		found = false;
+		for (i = 0; i < sizeof(names) / sizeof(*names); ++i)
+			if (!strcmp(dirent->d_name, names[i].name)) {
+				if (names[i].root_only && !root) {
+					print_error("Root file error");
+					pass = false;
+					goto failure;
+				}
+
+				if (names[i].found) {
+					print_error("File appears twice");
+					pass = false;
+					goto failure;
+				}
+
+				names[i].found = true;
+				found = true;
+				break;
+			}
+
+		if (!found)
+			--file_count;
+	}
+
+	for (i = 0; i < sizeof(names) / sizeof(*names); ++i) {
+		if (!names[i].found)
+			if (root || !names[i].root_only) {
+				print_error("Expected file not present");
+				pass = false;
+				goto failure;
+			}
+	}
+
+	if (file_count) {
+		print_error("Wrong number of files\n");
+		pass = false;
+		goto failure;
+	}
+
+failure:
+	close(fd);
+	return pass;
+}
+
+static int basic_file_ops_test(char *mount_dir)
+{
+	struct test_files_set test = get_test_files_set();
+	const int file_num = test.files_count;
+	char *subdir1 = concat_file_name(mount_dir, "subdir1");
+	char *subdir2 = concat_file_name(mount_dir, "subdir2");
+	char *backing_dir;
+	int cmd_fd = -1;
+	int i, err;
+
+	backing_dir = create_backing_dir(mount_dir);
+	if (!backing_dir)
+		goto failure;
+
+	/* Mount FS and release the backing file. */
+	if (mount_fs(mount_dir, backing_dir, 50) != 0)
+		goto failure;
+	free(backing_dir);
+
+	cmd_fd = open_commands_file(mount_dir);
+	if (cmd_fd < 0)
+		goto failure;
+
+	err = mkdir(subdir1, 0777);
+	if (err < 0 && errno != EEXIST) {
+		print_error("Can't create subdir1\n");
+		goto failure;
+	}
+
+	err = mkdir(subdir2, 0777);
+	if (err < 0 && errno != EEXIST) {
+		print_error("Can't create subdir2\n");
+		goto failure;
+	}
+
+	/* Create all test files in subdir1 directory */
+	for (i = 0; i < file_num; i++) {
+		struct test_file *file = &test.files[i];
+		loff_t size;
+		char *file_path = concat_file_name(subdir1, file->name);
+
+		err = emit_file(cmd_fd, "subdir1", file->name, &file->id,
+				     file->size, NULL);
+		if (err < 0)
+			goto failure;
+
+		size = get_file_size(file_path);
+		free(file_path);
+		if (size != file->size) {
+			ksft_print_msg("Wrong size %lld of %s.\n",
+				size, file->name);
+			goto failure;
+		}
+	}
+
+	if (!iterate_directory(subdir1, false, file_num))
+		goto failure;
+
+	/* Link the files to subdir2 */
+	for (i = 0; i < file_num; i++) {
+		struct test_file *file = &test.files[i];
+		char *src_name = concat_file_name(subdir1, file->name);
+		char *dst_name = concat_file_name(subdir2, file->name);
+		loff_t size;
+
+		err = link(src_name, dst_name);
+		if (err < 0) {
+			print_error("Can't move file\n");
+			goto failure;
+		}
+
+		size = get_file_size(dst_name);
+		if (size != file->size) {
+			ksft_print_msg("Wrong size %lld of %s.\n",
+				size, file->name);
+			goto failure;
+		}
+		free(src_name);
+		free(dst_name);
+	}
+
+	/* Move the files from subdir2 to the mount dir */
+	for (i = 0; i < file_num; i++) {
+		struct test_file *file = &test.files[i];
+		char *src_name = concat_file_name(subdir2, file->name);
+		char *dst_name = concat_file_name(mount_dir, file->name);
+		loff_t size;
+
+		err = rename(src_name, dst_name);
+		if (err < 0) {
+			print_error("Can't move file\n");
+			goto failure;
+		}
+
+		size = get_file_size(dst_name);
+		if (size != file->size) {
+			ksft_print_msg("Wrong size %lld of %s.\n",
+				size, file->name);
+			goto failure;
+		}
+		free(src_name);
+		free(dst_name);
+	}
+
+	/* +2 because there are 2 subdirs */
+	if (!iterate_directory(mount_dir, true, file_num + 2))
+		goto failure;
+
+	/* Open and close all files from the mount dir */
+	for (i = 0; i < file_num; i++) {
+		struct test_file *file = &test.files[i];
+		char *path = concat_file_name(mount_dir, file->name);
+		int fd;
+
+		fd = open(path, O_RDWR);
+		free(path);
+		if (fd <= 0) {
+			print_error("Can't open file");
+			goto failure;
+		}
+		if (close(fd)) {
+			print_error("Can't close file");
+			goto failure;
+		}
+	}
+
+	/* Delete all files from the mount dir */
+	for (i = 0; i < file_num; i++) {
+		struct test_file *file = &test.files[i];
+		char *path = concat_file_name(mount_dir, file->name);
+
+		err = unlink(path);
+		free(path);
+		if (err < 0) {
+			print_error("Can't unlink file");
+			goto failure;
+		}
+	}
+
+	err = delete_dir_tree(subdir1);
+	if (err) {
+		ksft_print_msg("Error deleting subdir1 %d", err);
+		goto failure;
+	}
+
+	err = rmdir(subdir2);
+	if (err) {
+		print_error("Error deleting subdir2");
+		goto failure;
+	}
+
+	close(cmd_fd);
+	cmd_fd = -1;
+	if (umount(mount_dir) != 0) {
+		print_error("Can't unmout FS");
+		goto failure;
+	}
+
+	return TEST_SUCCESS;
+
+failure:
+	close(cmd_fd);
+	umount(mount_dir);
+	return TEST_FAILURE;
+}
+
+static int dynamic_files_and_data_test(char *mount_dir)
+{
+	struct test_files_set test = get_test_files_set();
+	const int file_num = test.files_count;
+	const int missing_file_idx = 5;
+	int cmd_fd = -1;
+	char *backing_dir;
+	int i;
+
+	backing_dir = create_backing_dir(mount_dir);
+	if (!backing_dir)
+		goto failure;
+
+	/* Mount FS and release the backing file. */
+	if (mount_fs(mount_dir, backing_dir, 50) != 0)
+		goto failure;
+	free(backing_dir);
+
+	cmd_fd = open_commands_file(mount_dir);
+	if (cmd_fd < 0)
+		goto failure;
+
+	/* Check that test files don't exist in the filesystem. */
+	for (i = 0; i < file_num; i++) {
+		struct test_file *file = &test.files[i];
+		char *filename = concat_file_name(mount_dir, file->name);
+
+		if (access(filename, F_OK) != -1) {
+			ksft_print_msg(
+				"File %s somehow already exists in a clean FS.\n",
+				filename);
+			goto failure;
+		}
+		free(filename);
+	}
+
+	/* Write test data into the command file. */
+	for (i = 0; i < file_num; i++) {
+		struct test_file *file = &test.files[i];
+		int res;
+
+		build_mtree(file);
+		res = emit_file(cmd_fd, NULL, file->name, &file->id,
+				     file->size, NULL);
+		if (res < 0) {
+			ksft_print_msg("Error %s emiting file %s.\n",
+				       strerror(-res), file->name);
+			goto failure;
+		}
+
+		/* Skip writing data to one file so we can check */
+		/* that it's missing later. */
+		if (i == missing_file_idx)
+			continue;
+
+		res = load_hash_tree(mount_dir, file);
+		if (res) {
+			ksft_print_msg("Can't load hashes for %s. error: %s\n",
+				file->name, strerror(-res));
+			goto failure;
+		}
+
+		res = emit_test_file_data(mount_dir, file);
+		if (res) {
+			ksft_print_msg("Error %s emiting data for %s.\n",
+				       strerror(-res), file->name);
+			goto failure;
+		}
+	}
+
+	/* Validate contents of the FS */
+	for (i = 0; i < file_num; i++) {
+		struct test_file *file = &test.files[i];
+
+		if (i == missing_file_idx) {
+			/* No data has been written to this file. */
+			/* Check for read error; */
+			uint8_t buf;
+			char *filename =
+				concat_file_name(mount_dir, file->name);
+			int res = read_test_file(&buf, 1, filename, 0);
+
+			free(filename);
+			if (res > 0) {
+				ksft_print_msg(
+					"Data present, even though never writtern.\n");
+				goto failure;
+			}
+			if (res != -ETIME) {
+				ksft_print_msg("Wrong error code: %d.\n", res);
+				goto failure;
+			}
+		} else {
+			if (validate_test_file_content(mount_dir, file) < 0)
+				goto failure;
+		}
+	}
+
+	close(cmd_fd);
+	cmd_fd = -1;
+	if (umount(mount_dir) != 0) {
+		print_error("Can't unmout FS");
+		goto failure;
+	}
+
+	return TEST_SUCCESS;
+
+failure:
+	close(cmd_fd);
+	umount(mount_dir);
+	return TEST_FAILURE;
+}
+
+static int concurrent_reads_and_writes_test(char *mount_dir)
+{
+	struct test_files_set test = get_test_files_set();
+	const int file_num = test.files_count;
+	/* Validate each file from that many child processes. */
+	const int child_multiplier = 3;
+	int cmd_fd = -1;
+	char *backing_dir;
+	int status;
+	int i;
+	pid_t producer_pid;
+	pid_t *child_pids = alloca(child_multiplier * file_num * sizeof(pid_t));
+
+	backing_dir = create_backing_dir(mount_dir);
+	if (!backing_dir)
+		goto failure;
+
+	/* Mount FS and release the backing file. */
+	if (mount_fs(mount_dir, backing_dir, 50) != 0)
+		goto failure;
+	free(backing_dir);
+
+	cmd_fd = open_commands_file(mount_dir);
+	if (cmd_fd < 0)
+		goto failure;
+
+	/* Tell FS about the files, without actually providing the data. */
+	for (i = 0; i < file_num; i++) {
+		struct test_file *file = &test.files[i];
+		int res;
+
+		res = emit_file(cmd_fd, NULL, file->name, &file->id,
+				     file->size, NULL);
+		if (res)
+			goto failure;
+	}
+
+	/* Start child processes acessing data in the files */
+	for (i = 0; i < file_num * child_multiplier; i++) {
+		struct test_file *file = &test.files[i / child_multiplier];
+		pid_t child_pid = flush_and_fork();
+
+		if (child_pid == 0) {
+			/* This is a child process, do the data validation. */
+			int ret = validate_test_file_content_with_seed(
+				mount_dir, file, i);
+			if (ret >= 0) {
+				/* Zero exit status if data is valid. */
+				exit(0);
+			}
+
+			/* Positive status if validation error found. */
+			exit(-ret);
+		} else if (child_pid > 0) {
+			child_pids[i] = child_pid;
+		} else {
+			print_error("Fork error");
+			goto failure;
+		}
+	}
+
+	producer_pid = flush_and_fork();
+	if (producer_pid == 0) {
+		int ret;
+		/*
+		 * This is a child that should provide data to
+		 * pending reads.
+		 */
+
+		ret = data_producer(mount_dir, &test);
+		exit(-ret);
+	} else {
+		status = wait_for_process(producer_pid);
+		if (status != 0) {
+			ksft_print_msg("Data produces failed. %d(%s) ", status,
+				       strerror(status));
+			goto failure;
+		}
+	}
+
+	/* Check that all children has finished with 0 exit status */
+	for (i = 0; i < file_num * child_multiplier; i++) {
+		struct test_file *file = &test.files[i / child_multiplier];
+
+		status = wait_for_process(child_pids[i]);
+		if (status != 0) {
+			ksft_print_msg(
+				"Validation for the file %s failed with code %d (%s)\n",
+				file->name, status, strerror(status));
+			goto failure;
+		}
+	}
+
+	/* Check that there are no pending reads left */
+	{
+		struct incfs_pending_read_info prs[1] = {};
+		int timeout = 0;
+		int read_count = wait_for_pending_reads(cmd_fd, timeout, prs,
+							ARRAY_SIZE(prs));
+
+		if (read_count) {
+			ksft_print_msg(
+				"Pending reads pending when all data written\n");
+			goto failure;
+		}
+	}
+
+	close(cmd_fd);
+	cmd_fd = -1;
+	if (umount(mount_dir) != 0) {
+		print_error("Can't unmout FS");
+		goto failure;
+	}
+
+	return TEST_SUCCESS;
+
+failure:
+	close(cmd_fd);
+	umount(mount_dir);
+	return TEST_FAILURE;
+}
+
+static int work_after_remount_test(char *mount_dir)
+{
+	struct test_files_set test = get_test_files_set();
+	const int file_num = test.files_count;
+	const int file_num_stage1 = file_num / 2;
+	const int file_num_stage2 = file_num;
+	char *backing_dir = NULL;
+	int i = 0;
+	int cmd_fd = -1;
+
+	backing_dir = create_backing_dir(mount_dir);
+	if (!backing_dir)
+		goto failure;
+
+	/* Mount FS and release the backing file. */
+	if (mount_fs(mount_dir, backing_dir, 50) != 0)
+		goto failure;
+
+	cmd_fd = open_commands_file(mount_dir);
+	if (cmd_fd < 0)
+		goto failure;
+
+	/* Write first half of the data into the command file. (stage 1) */
+	for (i = 0; i < file_num_stage1; i++) {
+		struct test_file *file = &test.files[i];
+		int res;
+
+		build_mtree(file);
+		if (emit_file(cmd_fd, NULL, file->name, &file->id,
+				     file->size, NULL))
+			goto failure;
+
+		if (emit_test_file_data(mount_dir, file))
+			goto failure;
+
+		res = load_hash_tree(mount_dir, file);
+		if (res) {
+			ksft_print_msg("Can't load hashes for %s. error: %s\n",
+				file->name, strerror(-res));
+			goto failure;
+		}
+}
+
+	/* Unmount and mount again, to see that data is persistent. */
+	close(cmd_fd);
+	cmd_fd = -1;
+	if (umount(mount_dir) != 0) {
+		print_error("Can't unmout FS");
+		goto failure;
+	}
+
+	if (mount_fs(mount_dir, backing_dir, 50) != 0)
+		goto failure;
+
+	cmd_fd = open_commands_file(mount_dir);
+	if (cmd_fd < 0)
+		goto failure;
+
+	/* Write the second half of the data into the command file. (stage 2) */
+	for (; i < file_num_stage2; i++) {
+		struct test_file *file = &test.files[i];
+		int res = emit_file(cmd_fd, NULL, file->name, &file->id,
+				     file->size, NULL);
+
+		if (res)
+			goto failure;
+
+		if (emit_test_file_data(mount_dir, file))
+			goto failure;
+	}
+
+	/* Validate contents of the FS */
+	for (i = 0; i < file_num_stage2; i++) {
+		struct test_file *file = &test.files[i];
+
+		if (validate_test_file_content(mount_dir, file) < 0)
+			goto failure;
+	}
+
+	/* Delete all files */
+	for (i = 0; i < file_num; i++) {
+		struct test_file *file = &test.files[i];
+		char *filename = concat_file_name(mount_dir, file->name);
+		char *filename_in_index = get_index_filename(mount_dir,
+							file->id);
+
+		if (access(filename, F_OK) != 0) {
+			ksft_print_msg("File %s is not visible.\n", filename);
+			goto failure;
+		}
+
+		if (access(filename_in_index, F_OK) != 0) {
+			ksft_print_msg("File %s is not visible.\n",
+				filename_in_index);
+			goto failure;
+		}
+
+		unlink(filename);
+
+		if (access(filename, F_OK) != -1) {
+			ksft_print_msg("File %s is still present.\n", filename);
+			goto failure;
+		}
+
+		if (access(filename_in_index, F_OK) != 0) {
+			ksft_print_msg("File %s is still present.\n",
+				filename_in_index);
+			goto failure;
+		}
+		free(filename);
+		free(filename_in_index);
+	}
+
+	/* Unmount and mount again, to see that deleted files stay deleted. */
+	close(cmd_fd);
+	cmd_fd = -1;
+	if (umount(mount_dir) != 0) {
+		print_error("Can't unmout FS");
+		goto failure;
+	}
+
+	if (mount_fs(mount_dir, backing_dir, 50) != 0)
+		goto failure;
+
+	cmd_fd = open_commands_file(mount_dir);
+	if (cmd_fd < 0)
+		goto failure;
+
+	/* Validate all deleted files are still deleted. */
+	for (i = 0; i < file_num; i++) {
+		struct test_file *file = &test.files[i];
+		char *filename = concat_file_name(mount_dir, file->name);
+
+		if (access(filename, F_OK) != -1) {
+			ksft_print_msg("File %s is still visible.\n", filename);
+			goto failure;
+		}
+		free(filename);
+	}
+
+	/* Final unmount */
+	close(cmd_fd);
+	free(backing_dir);
+	cmd_fd = -1;
+	if (umount(mount_dir) != 0) {
+		print_error("Can't unmout FS");
+		goto failure;
+	}
+
+	return TEST_SUCCESS;
+
+failure:
+	close(cmd_fd);
+	free(backing_dir);
+	umount(mount_dir);
+	return TEST_FAILURE;
+}
+
+static int attribute_test(char *mount_dir)
+{
+	char file_attr[] = "metadata123123";
+	char attr_buf[INCFS_MAX_FILE_ATTR_SIZE] = {};
+	int cmd_fd = -1;
+	incfs_uuid_t file_id;
+	int attr_res = 0;
+	char *backing_dir;
+
+
+	backing_dir = create_backing_dir(mount_dir);
+	if (!backing_dir)
+		goto failure;
+
+	/* Mount FS and release the backing file. */
+	if (mount_fs(mount_dir, backing_dir, 50) != 0)
+		goto failure;
+
+
+	cmd_fd = open_commands_file(mount_dir);
+	if (cmd_fd < 0)
+		goto failure;
+
+	if (emit_file(cmd_fd, NULL, "file", &file_id, 12, file_attr))
+		goto failure;
+
+	/* Test attribute values */
+	attr_res = get_file_attr(mount_dir, file_id, attr_buf,
+		ARRAY_SIZE(attr_buf));
+	if (attr_res != strlen(file_attr)) {
+		ksft_print_msg("Get file attr error: %d\n", attr_res);
+		goto failure;
+	}
+	if (strcmp(attr_buf, file_attr) != 0) {
+		ksft_print_msg("Incorrect file attr value: '%s'", attr_buf);
+		goto failure;
+	}
+
+	/* Unmount and mount again, to see that attributes are persistent. */
+	close(cmd_fd);
+	cmd_fd = -1;
+	if (umount(mount_dir) != 0) {
+		print_error("Can't unmout FS");
+		goto failure;
+	}
+
+	if (mount_fs(mount_dir, backing_dir, 50) != 0)
+		goto failure;
+
+	cmd_fd = open_commands_file(mount_dir);
+	if (cmd_fd < 0)
+		goto failure;
+
+	/* Test attribute values again after remount*/
+	attr_res = get_file_attr(mount_dir, file_id, attr_buf,
+		ARRAY_SIZE(attr_buf));
+	if (attr_res != strlen(file_attr)) {
+		ksft_print_msg("Get dir attr error: %d\n", attr_res);
+		goto failure;
+	}
+	if (strcmp(attr_buf, file_attr) != 0) {
+		ksft_print_msg("Incorrect file attr value: '%s'", attr_buf);
+		goto failure;
+	}
+
+	/* Final unmount */
+	close(cmd_fd);
+	free(backing_dir);
+	cmd_fd = -1;
+	if (umount(mount_dir) != 0) {
+		print_error("Can't unmout FS");
+		goto failure;
+	}
+
+	return TEST_SUCCESS;
+
+failure:
+	close(cmd_fd);
+	free(backing_dir);
+	umount(mount_dir);
+	return TEST_FAILURE;
+}
+
+static int child_procs_waiting_for_data_test(char *mount_dir)
+{
+	struct test_files_set test = get_test_files_set();
+	const int file_num = test.files_count;
+	int cmd_fd = -1;
+	int i;
+	pid_t *child_pids = alloca(file_num * sizeof(pid_t));
+	char *backing_dir;
+
+	backing_dir = create_backing_dir(mount_dir);
+	if (!backing_dir)
+		goto failure;
+
+	/* Mount FS and release the backing file.  (10s wait time) */
+	if (mount_fs(mount_dir, backing_dir, 10000) != 0)
+		goto failure;
+
+
+	cmd_fd = open_commands_file(mount_dir);
+	if (cmd_fd < 0)
+		goto failure;
+
+	/* Tell FS about the files, without actually providing the data. */
+	for (i = 0; i < file_num; i++) {
+		struct test_file *file = &test.files[i];
+
+		emit_file(cmd_fd, NULL, file->name, &file->id,
+				     file->size, NULL);
+	}
+
+	/* Start child processes acessing data in the files */
+	for (i = 0; i < file_num; i++) {
+		struct test_file *file = &test.files[i];
+		pid_t child_pid = flush_and_fork();
+
+		if (child_pid == 0) {
+			/* This is a child process, do the data validation. */
+			int ret = validate_test_file_content(mount_dir, file);
+
+			if (ret >= 0) {
+				/* Zero exit status if data is valid. */
+				exit(0);
+			}
+
+			/* Positive status if validation error found. */
+			exit(-ret);
+		} else if (child_pid > 0) {
+			child_pids[i] = child_pid;
+		} else {
+			print_error("Fork error");
+			goto failure;
+		}
+	}
+
+	/* Write test data into the command file. */
+	for (i = 0; i < file_num; i++) {
+		struct test_file *file = &test.files[i];
+
+		if (emit_test_file_data(mount_dir, file))
+			goto failure;
+	}
+
+	/* Check that all children has finished with 0 exit status */
+	for (i = 0; i < file_num; i++) {
+		struct test_file *file = &test.files[i];
+		int status = wait_for_process(child_pids[i]);
+
+		if (status != 0) {
+			ksft_print_msg(
+				"Validation for the file %s failed with code %d (%s)\n",
+				file->name, status, strerror(status));
+			goto failure;
+		}
+	}
+
+	close(cmd_fd);
+	free(backing_dir);
+	cmd_fd = -1;
+	if (umount(mount_dir) != 0) {
+		print_error("Can't unmout FS");
+		goto failure;
+	}
+
+	return TEST_SUCCESS;
+
+failure:
+	close(cmd_fd);
+	free(backing_dir);
+	umount(mount_dir);
+	return TEST_FAILURE;
+}
+
+static int multiple_providers_test(char *mount_dir)
+{
+	struct test_files_set test = get_test_files_set();
+	const int file_num = test.files_count;
+	const int producer_count = 5;
+	int cmd_fd = -1;
+	int status;
+	int i;
+	pid_t *producer_pids = alloca(producer_count * sizeof(pid_t));
+	char *backing_dir;
+
+	backing_dir = create_backing_dir(mount_dir);
+	if (!backing_dir)
+		goto failure;
+
+	/* Mount FS and release the backing file.  (10s wait time) */
+	if (mount_fs(mount_dir, backing_dir, 10000) != 0)
+		goto failure;
+
+	cmd_fd = open_commands_file(mount_dir);
+	if (cmd_fd < 0)
+		goto failure;
+
+	/* Tell FS about the files, without actually providing the data. */
+	for (i = 0; i < file_num; i++) {
+		struct test_file *file = &test.files[i];
+
+		if (emit_file(cmd_fd, NULL, file->name, &file->id,
+				     file->size, NULL) < 0)
+			goto failure;
+	}
+
+	/* Start producer processes */
+	for (i = 0; i < producer_count; i++) {
+		pid_t producer_pid = flush_and_fork();
+
+		if (producer_pid == 0) {
+			int ret;
+			/*
+			 * This is a child that should provide data to
+			 * pending reads.
+			 */
+
+			ret = data_producer(mount_dir, &test);
+			exit(-ret);
+		} else if (producer_pid > 0) {
+			producer_pids[i] = producer_pid;
+		} else {
+			print_error("Fork error");
+			goto failure;
+		}
+	}
+
+	/* Validate FS content */
+	for (i = 0; i < file_num; i++) {
+		struct test_file *file = &test.files[i];
+		char *filename = concat_file_name(mount_dir, file->name);
+		loff_t read_result = read_whole_file(filename);
+
+		free(filename);
+		if (read_result != file->size) {
+			ksft_print_msg(
+				"Error validating file %s. Result: %ld\n",
+				file->name, read_result);
+			goto failure;
+		}
+	}
+
+	/* Check that all producers has finished with 0 exit status */
+	for (i = 0; i < producer_count; i++) {
+		status = wait_for_process(producer_pids[i]);
+		if (status != 0) {
+			ksft_print_msg("Producer %d failed with code (%s)\n", i,
+				       strerror(status));
+			goto failure;
+		}
+	}
+
+	close(cmd_fd);
+	free(backing_dir);
+	cmd_fd = -1;
+	if (umount(mount_dir) != 0) {
+		print_error("Can't unmout FS");
+		goto failure;
+	}
+
+	return TEST_SUCCESS;
+
+failure:
+	close(cmd_fd);
+	free(backing_dir);
+	umount(mount_dir);
+	return TEST_FAILURE;
+}
+
+static int signature_test(char *mount_dir)
+{
+	struct test_files_set test = get_test_files_set();
+	const int file_num = test.files_count;
+	int i = 0;
+	unsigned char sig_buf[INCFS_MAX_SIGNATURE_SIZE];
+	char *backing_dir;
+	int cmd_fd = -1;
+
+	backing_dir = create_backing_dir(mount_dir);
+	if (!backing_dir)
+		goto failure;
+
+	/* Mount FS and release the backing file.  (10s wait time) */
+	if (mount_fs(mount_dir, backing_dir, 10000) != 0)
+		goto failure;
+
+	cmd_fd = open_commands_file(mount_dir);
+	if (cmd_fd < 0)
+		goto failure;
+
+	/* Write hashes and data. */
+	for (i = 0; i < file_num; i++) {
+		struct test_file *file = &test.files[i];
+		int res;
+
+		build_mtree(file);
+
+		res = crypto_emit_file(cmd_fd, NULL, file->name, &file->id,
+			file->size, file->root_hash,
+			file->sig.data, file->sig.size, file->sig.add_data);
+
+		if (res) {
+			ksft_print_msg("Emit failed for %s. error: %s\n",
+				file->name, strerror(-res));
+			goto failure;
+		}
+
+		if (emit_test_file_data(mount_dir, file))
+			goto failure;
+
+		res = load_hash_tree(mount_dir, file);
+		if (res) {
+			ksft_print_msg("Can't load hashes for %s. error: %s\n",
+				file->name, strerror(-res));
+			goto failure;
+		}
+	}
+
+	/* Validate data */
+	for (i = 0; i < file_num; i++) {
+		struct test_file *file = &test.files[i];
+		int sig_len;
+		char *path;
+		int fd;
+
+		if (validate_test_file_content(mount_dir, file) < 0)
+			goto failure;
+
+		path = concat_file_name(mount_dir, file->name);
+		fd = open(path, O_RDWR);
+		free(path);
+		if (fd < 0) {
+			print_error("Can't open file");
+			goto failure;
+		}
+
+		sig_len = get_file_signature(fd, sig_buf, ARRAY_SIZE(sig_buf));
+
+		if (close(fd)) {
+			print_error("Can't close file");
+			goto failure;
+		}
+
+		if (sig_len < 0) {
+			ksft_print_msg("Can't load signature %s. error: %s\n",
+				file->name, strerror(-sig_len));
+			goto failure;
+		}
+
+		if (sig_len != file->sig.size ||
+			memcmp(sig_buf, file->sig.data, sig_len)) {
+			ksft_print_msg("Signature mismatch %s.\n",
+				file->name);
+			goto failure;
+		}
+	}
+
+	/* Unmount and mount again, to make sure the signature is persistent. */
+	close(cmd_fd);
+	cmd_fd = -1;
+	if (umount(mount_dir) != 0) {
+		print_error("Can't unmout FS");
+		goto failure;
+	}
+	if (mount_fs(mount_dir, backing_dir, 50) != 0)
+		goto failure;
+
+	cmd_fd = open_commands_file(mount_dir);
+	if (cmd_fd < 0)
+		goto failure;
+
+	/* Validate data again */
+	for (i = 0; i < file_num; i++) {
+		struct test_file *file = &test.files[i];
+		int sig_len;
+		char *path;
+		int fd;
+
+		if (validate_test_file_content(mount_dir, file) < 0)
+			goto failure;
+
+		path = concat_file_name(mount_dir, file->name);
+		fd = open(path, O_RDWR);
+		free(path);
+		if (fd < 0) {
+			print_error("Can't open file");
+			goto failure;
+		}
+
+		sig_len = get_file_signature(fd, sig_buf, ARRAY_SIZE(sig_buf));
+
+		if (close(fd)) {
+			print_error("Can't close file");
+			goto failure;
+		}
+
+		if (sig_len < 0) {
+			ksft_print_msg("Can't load signature %s. error: %s\n",
+				file->name, strerror(-sig_len));
+			goto failure;
+		}
+		if (sig_len != file->sig.size ||
+			memcmp(sig_buf, file->sig.data, sig_len)) {
+			ksft_print_msg("Signature mismatch %s.\n",
+				file->name);
+			goto failure;
+		}
+	}
+
+	/* Final unmount */
+	close(cmd_fd);
+	cmd_fd = -1;
+	if (umount(mount_dir) != 0) {
+		print_error("Can't unmout FS");
+		goto failure;
+	}
+	return TEST_SUCCESS;
+
+failure:
+	close(cmd_fd);
+	free(backing_dir);
+	umount(mount_dir);
+	return TEST_FAILURE;
+}
+
+static int hash_tree_test(char *mount_dir)
+{
+	char *backing_dir;
+	struct test_files_set test = get_test_files_set();
+	const int file_num = test.files_count;
+	const int corrupted_file_idx = 5;
+	int i = 0;
+	int cmd_fd = -1;
+
+	backing_dir = create_backing_dir(mount_dir);
+	if (!backing_dir)
+		goto failure;
+
+	/* Mount FS and release the backing file. */
+	if (mount_fs(mount_dir, backing_dir, 50) != 0)
+		goto failure;
+
+	cmd_fd = open_commands_file(mount_dir);
+	if (cmd_fd < 0)
+		goto failure;
+
+	/* Write hashes and data. */
+	for (i = 0; i < file_num; i++) {
+		struct test_file *file = &test.files[i];
+		int res;
+
+		build_mtree(file);
+		res = crypto_emit_file(cmd_fd, NULL, file->name, &file->id,
+			file->size, file->root_hash,
+			file->sig.data, file->sig.size, file->sig.add_data);
+
+		if (i == corrupted_file_idx) {
+			/* Corrupt third blocks hash */
+			file->mtree[0].data[2 * SHA256_DIGEST_SIZE] ^= 0xff;
+		}
+		if (emit_test_file_data(mount_dir, file))
+			goto failure;
+
+		res = load_hash_tree(mount_dir, file);
+		if (res) {
+			ksft_print_msg("Can't load hashes for %s. error: %s\n",
+				file->name, strerror(-res));
+			goto failure;
+		}
+	}
+
+	/* Validate data */
+	for (i = 0; i < file_num; i++) {
+		struct test_file *file = &test.files[i];
+
+		if (i == corrupted_file_idx) {
+			uint8_t data[INCFS_DATA_FILE_BLOCK_SIZE];
+			char *filename =
+				concat_file_name(mount_dir, file->name);
+			int res;
+
+			res = read_test_file(data, INCFS_DATA_FILE_BLOCK_SIZE,
+					     filename, 2);
+			free(filename);
+			if (res != -EBADMSG) {
+				ksft_print_msg("Hash violation missed1. %d\n",
+					       res);
+				goto failure;
+			}
+		} else if (validate_test_file_content(mount_dir, file) < 0)
+			goto failure;
+	}
+
+	/* Unmount and mount again, to that hashes are persistent. */
+	close(cmd_fd);
+	cmd_fd = -1;
+	if (umount(mount_dir) != 0) {
+		print_error("Can't unmout FS");
+		goto failure;
+	}
+	if (mount_fs(mount_dir, backing_dir, 50) != 0)
+		goto failure;
+
+	cmd_fd = open_commands_file(mount_dir);
+	if (cmd_fd < 0)
+		goto failure;
+
+	/* Validate data again */
+	for (i = 0; i < file_num; i++) {
+		struct test_file *file = &test.files[i];
+
+		if (i == corrupted_file_idx) {
+			uint8_t data[INCFS_DATA_FILE_BLOCK_SIZE];
+			char *filename =
+				concat_file_name(mount_dir, file->name);
+			int res;
+
+			res = read_test_file(data, INCFS_DATA_FILE_BLOCK_SIZE,
+					     filename, 2);
+			free(filename);
+			if (res != -EBADMSG) {
+				ksft_print_msg("Hash violation missed2. %d\n",
+					       res);
+				goto failure;
+			}
+		} else if (validate_test_file_content(mount_dir, file) < 0)
+			goto failure;
+	}
+
+	/* Final unmount */
+	close(cmd_fd);
+	cmd_fd = -1;
+	if (umount(mount_dir) != 0) {
+		print_error("Can't unmout FS");
+		goto failure;
+	}
+	return TEST_SUCCESS;
+
+failure:
+	close(cmd_fd);
+	free(backing_dir);
+	umount(mount_dir);
+	return TEST_FAILURE;
+}
+
+static int validate_logs(char *mount_dir, int log_fd, struct test_file *file)
+{
+	uint8_t data[INCFS_DATA_FILE_BLOCK_SIZE];
+	struct incfs_pending_read_info prs[100] = {};
+	int prs_size = ARRAY_SIZE(prs);
+	int block_cnt = 1 + (file->size - 1) / INCFS_DATA_FILE_BLOCK_SIZE;
+	int res;
+	int read_count;
+	int i;
+	char *filename = concat_file_name(mount_dir, file->name);
+	int fd;
+
+	fd = open(filename, O_RDONLY);
+	free(filename);
+	if (fd <= 0)
+		return TEST_FAILURE;
+
+	if (block_cnt > prs_size)
+		block_cnt = prs_size;
+
+	for (i = 0; i < block_cnt; i++) {
+		res = pread(fd, data, sizeof(data),
+			    INCFS_DATA_FILE_BLOCK_SIZE * i);
+		if (res <= 0)
+			goto failure;
+	}
+
+	read_count = wait_for_pending_reads(log_fd, 0, prs, prs_size);
+	if (read_count < 0) {
+		ksft_print_msg("Error reading logged reads %s.\n",
+			       strerror(-read_count));
+		goto failure;
+	}
+
+	if (read_count != block_cnt) {
+		ksft_print_msg("Bad log read count %s %d %d.\n", file->name,
+			       read_count, block_cnt);
+		goto failure;
+	}
+
+	for (i = 0; i < read_count; i++) {
+		struct incfs_pending_read_info *read = &prs[i];
+
+		if (!same_id(&read->file_id, &file->id)) {
+			ksft_print_msg("Bad log read ino %s\n", file->name);
+			goto failure;
+		}
+
+		if (read->block_index != i) {
+			ksft_print_msg("Bad log read ino %s %d %d.\n",
+				       file->name, read->block_index, i);
+			goto failure;
+		}
+
+		if (i != 0) {
+			unsigned long psn = prs[i - 1].serial_number;
+
+			if (read->serial_number != psn + 1) {
+				ksft_print_msg("Bad log read sn %s %d %d.\n",
+					       file->name, read->serial_number,
+					       psn);
+				goto failure;
+			}
+		}
+
+		if (read->timestamp_us == 0) {
+			ksft_print_msg("Bad log read timestamp %s.\n",
+				       file->name);
+			goto failure;
+		}
+	}
+	close(fd);
+	return TEST_SUCCESS;
+
+failure:
+	close(fd);
+	return TEST_FAILURE;
+}
+
+static int read_log_test(char *mount_dir)
+{
+	struct test_files_set test = get_test_files_set();
+	const int file_num = test.files_count;
+	int i = 0;
+	int cmd_fd = -1, log_fd = -1;
+	char *backing_dir;
+
+	backing_dir = create_backing_dir(mount_dir);
+	if (!backing_dir)
+		goto failure;
+
+	if (mount_fs_opt(mount_dir, backing_dir, "readahead=0") != 0)
+		goto failure;
+
+	cmd_fd = open_commands_file(mount_dir);
+	if (cmd_fd < 0)
+		goto failure;
+
+	log_fd = open_log_file(mount_dir);
+	if (cmd_fd < 0)
+		ksft_print_msg("Can't open log file.\n");
+
+	/* Write data. */
+	for (i = 0; i < file_num; i++) {
+		struct test_file *file = &test.files[i];
+
+		if (emit_file(cmd_fd, NULL, file->name, &file->id,
+				     file->size, NULL))
+			goto failure;
+
+		if (emit_test_file_data(mount_dir, file))
+			goto failure;
+	}
+
+	/* Validate data */
+	for (i = 0; i < file_num; i++) {
+		struct test_file *file = &test.files[i];
+
+		if (validate_logs(mount_dir, log_fd, file))
+			goto failure;
+	}
+
+	/* Unmount and mount again, to see that logs work after remount. */
+	close(cmd_fd);
+	close(log_fd);
+	cmd_fd = -1;
+	if (umount(mount_dir) != 0) {
+		print_error("Can't unmout FS");
+		goto failure;
+	}
+
+	if (mount_fs_opt(mount_dir, backing_dir, "readahead=0") != 0)
+		goto failure;
+
+	cmd_fd = open_commands_file(mount_dir);
+	if (cmd_fd < 0)
+		goto failure;
+
+	log_fd = open_log_file(mount_dir);
+	if (cmd_fd < 0)
+		ksft_print_msg("Can't open log file.\n");
+
+	/* Validate data again */
+	for (i = 0; i < file_num; i++) {
+		struct test_file *file = &test.files[i];
+
+		if (validate_logs(mount_dir, log_fd, file))
+			goto failure;
+	}
+
+	/* Final unmount */
+	close(cmd_fd);
+	close(log_fd);
+	free(backing_dir);
+	if (umount(mount_dir) != 0) {
+		print_error("Can't unmout FS");
+		goto failure;
+	}
+
+	return TEST_SUCCESS;
+
+failure:
+	close(cmd_fd);
+	close(log_fd);
+	free(backing_dir);
+	umount(mount_dir);
+	return TEST_FAILURE;
+}
+
+static char *setup_mount_dir()
+{
+	struct stat st;
+	char *current_dir = getcwd(NULL, 0);
+	char *mount_dir = concat_file_name(current_dir, "incfs-mount-dir");
+
+	free(current_dir);
+	if (stat(mount_dir, &st) == 0) {
+		if (S_ISDIR(st.st_mode))
+			return mount_dir;
+
+		ksft_print_msg("%s is a file, not a dir.\n", mount_dir);
+		return NULL;
+	}
+
+	if (mkdir(mount_dir, 0777)) {
+		print_error("Can't create mount dir.");
+		return NULL;
+	}
+
+	return mount_dir;
+}
+
+int main(int argc, char *argv[])
+{
+	char *mount_dir = NULL;
+	int fails = 0;
+	int i;
+	int fd, count;
+
+	// Seed randomness pool for testing on QEMU
+	// NOTE - this abuses the concept of randomness - do *not* ever do this
+	// on a machine for production use - the device will think it has good
+	// randomness when it does not.
+	fd = open("/dev/urandom", O_WRONLY);
+	count = 4096;
+	for (int i = 0; i < 128; ++i)
+		ioctl(fd, RNDADDTOENTCNT, &count);
+	close(fd);
+
+	ksft_print_header();
+
+	if (geteuid() != 0)
+		ksft_print_msg("Not a root, might fail to mount.\n");
+
+	mount_dir = setup_mount_dir();
+	if (mount_dir == NULL)
+		ksft_exit_fail_msg("Can't create a mount dir\n");
+
+#define MAKE_TEST(test)                                                        \
+	{                                                                      \
+		test, #test                                                    \
+	}
+	struct {
+		int (*pfunc)(char *dir);
+		const char *name;
+	} cases[] = {
+		MAKE_TEST(basic_file_ops_test),
+		MAKE_TEST(cant_touch_index_test),
+		MAKE_TEST(dynamic_files_and_data_test),
+		MAKE_TEST(concurrent_reads_and_writes_test),
+		MAKE_TEST(attribute_test),
+		MAKE_TEST(work_after_remount_test),
+		MAKE_TEST(child_procs_waiting_for_data_test),
+		MAKE_TEST(multiple_providers_test),
+		MAKE_TEST(signature_test),
+		MAKE_TEST(hash_tree_test),
+		MAKE_TEST(read_log_test),
+	};
+#undef MAKE_TEST
+
+	/* Bring back for kernel 5.x */
+	/* ksft_set_plan(ARRAY_SIZE(cases)); */
+
+	for (i = 0; i < ARRAY_SIZE(cases); ++i) {
+		ksft_print_msg("Running %s\n", cases[i].name);
+		if (cases[i].pfunc(mount_dir) == TEST_SUCCESS)
+			ksft_test_result_pass("%s\n", cases[i].name);
+		else {
+			ksft_test_result_fail("%s\n", cases[i].name);
+			fails++;
+		}
+	}
+
+	umount2(mount_dir, MNT_FORCE);
+	rmdir(mount_dir);
+
+	if (fails > 0)
+		ksft_exit_pass();
+	else
+		ksft_exit_pass();
+	return 0;
+}
diff --git a/tools/testing/selftests/filesystems/incfs/utils.c b/tools/testing/selftests/filesystems/incfs/utils.c
new file mode 100644
index 0000000..08b8452
--- /dev/null
+++ b/tools/testing/selftests/filesystems/incfs/utils.c
@@ -0,0 +1,377 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright 2018 Google LLC
+ */
+#include <stdio.h>
+#include <fcntl.h>
+#include <dirent.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <sys/ioctl.h>
+#include <sys/mount.h>
+#include <errno.h>
+#include <string.h>
+#include <poll.h>
+#include <openssl/bio.h>
+#include <openssl/err.h>
+#include <openssl/pem.h>
+#include <openssl/pkcs7.h>
+#include <openssl/sha.h>
+#include <openssl/md5.h>
+
+#include "utils.h"
+
+int mount_fs(char *mount_dir, char *backing_dir, int read_timeout_ms)
+{
+	static const char fs_name[] = INCFS_NAME;
+	char mount_options[512];
+	int result;
+
+	snprintf(mount_options, ARRAY_SIZE(mount_options),
+		 "read_timeout_ms=%u",
+		  read_timeout_ms);
+
+	result = mount(backing_dir, mount_dir, fs_name, 0, mount_options);
+	if (result != 0)
+		perror("Error mounting fs.");
+	return result;
+}
+
+int mount_fs_opt(char *mount_dir, char *backing_dir, char *opt)
+{
+	static const char fs_name[] = INCFS_NAME;
+	int result;
+
+	result = mount(backing_dir, mount_dir, fs_name, 0, opt);
+	if (result != 0)
+		perror("Error mounting fs.");
+	return result;
+}
+
+int unlink_node(int fd, int parent_ino, char *filename)
+{
+	return 0;
+}
+
+
+static EVP_PKEY *deserialize_private_key(const char *pem_key)
+{
+	BIO *bio = NULL;
+	EVP_PKEY *pkey = NULL;
+	int len = strlen(pem_key);
+
+	bio = BIO_new_mem_buf(pem_key, len);
+	if (!bio)
+		return NULL;
+
+	pkey = PEM_read_bio_PrivateKey(bio, NULL, NULL, NULL);
+	BIO_free(bio);
+	return pkey;
+}
+
+static X509 *deserialize_cert(const char *pem_cert)
+{
+	BIO *bio = NULL;
+	X509 *cert = NULL;
+	int len = strlen(pem_cert);
+
+	bio = BIO_new_mem_buf(pem_cert, len);
+	if (!bio)
+		return NULL;
+
+	cert = PEM_read_bio_X509(bio, NULL, NULL, NULL);
+	BIO_free(bio);
+	return cert;
+}
+
+bool sign_pkcs7(const void *data_to_sign, size_t data_size,
+		       char *pkey_pem, char *cert_pem,
+		       void **sig_ret, size_t *sig_size_ret)
+{
+	/*
+	 * PKCS#7 signing flags:
+	 *
+	 * - PKCS7_BINARY	signing binary data, so skip MIME translation
+	 *
+	 * - PKCS7_NOATTR	omit extra authenticated attributes, such as
+	 *			SMIMECapabilities
+	 *
+	 * - PKCS7_PARTIAL	PKCS7_sign() creates a handle only, then
+	 *			PKCS7_sign_add_signer() can add a signer later.
+	 *			This is necessary to change the message digest
+	 *			algorithm from the default of SHA-1.  Requires
+	 *			OpenSSL 1.0.0 or later.
+	 */
+	int pkcs7_flags = PKCS7_BINARY | PKCS7_NOATTR | PKCS7_PARTIAL;
+	void *sig;
+	size_t sig_size;
+	BIO *bio = NULL;
+	PKCS7 *p7 = NULL;
+	EVP_PKEY *pkey = NULL;
+	X509 *cert = NULL;
+	bool ok = false;
+
+	const EVP_MD *md = EVP_sha256();
+
+	pkey = deserialize_private_key(pkey_pem);
+	if (!pkey) {
+		printf("deserialize_private_key failed\n");
+		goto out;
+	}
+
+	cert = deserialize_cert(cert_pem);
+	if (!cert) {
+		printf("deserialize_cert failed\n");
+		goto out;
+	}
+
+	bio = BIO_new_mem_buf(data_to_sign, data_size);
+	if (!bio)
+		goto out;
+
+	p7 = PKCS7_sign(NULL, NULL, NULL, bio, pkcs7_flags);
+	if (!p7) {
+		printf("failed to initialize PKCS#7 signature object\n");
+		goto out;
+	}
+
+	if (!PKCS7_sign_add_signer(p7, cert, pkey, md, pkcs7_flags)) {
+		printf("failed to add signer to PKCS#7 signature object\n");
+		goto out;
+	}
+
+	if (PKCS7_final(p7, bio, pkcs7_flags) != 1) {
+		printf("failed to finalize PKCS#7 signature\n");
+		goto out;
+	}
+
+	BIO_free(bio);
+	bio = BIO_new(BIO_s_mem());
+	if (!bio) {
+		printf("out of memory\n");
+		goto out;
+	}
+
+	if (i2d_PKCS7_bio(bio, p7) != 1) {
+		printf("failed to DER-encode PKCS#7 signature object\n");
+		goto out;
+	}
+
+	sig_size = BIO_get_mem_data(bio, &sig);
+	*sig_ret = malloc(sig_size);
+	memcpy(*sig_ret, sig, sig_size);
+	*sig_size_ret = sig_size;
+	ok = true;
+out:
+	PKCS7_free(p7);
+	BIO_free(bio);
+	return ok;
+}
+
+int crypto_emit_file(int fd, char *dir, char *filename, incfs_uuid_t *id_out,
+	size_t size, const char *root_hash, char *sig, size_t sig_size,
+	char *add_data)
+{
+	int mode = __S_IFREG | 0555;
+	struct incfs_file_signature_info sig_info = {
+		.hash_tree_alg = root_hash
+					? INCFS_HASH_TREE_SHA256
+					: 0,
+		.root_hash = ptr_to_u64(root_hash),
+		.additional_data = ptr_to_u64(add_data),
+		.additional_data_size = strlen(add_data),
+		.signature =  ptr_to_u64(sig),
+		.signature_size = sig_size,
+	};
+
+	struct incfs_new_file_args args = {
+			.size = size,
+			.mode = mode,
+			.file_name = ptr_to_u64(filename),
+			.directory_path = ptr_to_u64(dir),
+			.signature_info = ptr_to_u64(&sig_info),
+			.file_attr = 0,
+			.file_attr_len = 0
+	};
+
+	md5(filename, strlen(filename), (char *)args.file_id.bytes);
+
+	if (ioctl(fd, INCFS_IOC_CREATE_FILE, &args) != 0)
+		return -errno;
+
+	*id_out = args.file_id;
+	return 0;
+}
+
+
+int emit_file(int fd, char *dir, char *filename, incfs_uuid_t *id_out,
+		size_t size, char *attr)
+{
+	int mode = __S_IFREG | 0555;
+	struct incfs_file_signature_info sig_info = {
+		.hash_tree_alg = 0,
+		.root_hash = ptr_to_u64(NULL)
+	};
+	struct incfs_new_file_args args = {
+			.size = size,
+			.mode = mode,
+			.file_name = ptr_to_u64(filename),
+			.directory_path = ptr_to_u64(dir),
+			.signature_info = ptr_to_u64(&sig_info),
+			.file_attr = ptr_to_u64(attr),
+			.file_attr_len = attr ? strlen(attr) : 0
+	};
+
+	md5(filename, strlen(filename), (char *)args.file_id.bytes);
+
+	if (ioctl(fd, INCFS_IOC_CREATE_FILE, &args) != 0)
+		return -errno;
+
+	*id_out = args.file_id;
+	return 0;
+}
+
+int get_file_bmap(int cmd_fd, int ino, unsigned char *buf, int buf_size)
+{
+	return 0;
+}
+
+int get_file_signature(int fd, unsigned char *buf, int buf_size)
+{
+	struct incfs_get_file_sig_args args = {
+		.file_signature = ptr_to_u64(buf),
+		.file_signature_buf_size = buf_size
+	};
+
+	if (ioctl(fd, INCFS_IOC_READ_FILE_SIGNATURE, &args) == 0)
+		return args.file_signature_len_out;
+	return -errno;
+}
+
+loff_t get_file_size(char *name)
+{
+	struct stat st;
+
+	if (stat(name, &st) == 0)
+		return st.st_size;
+	return -ENOENT;
+}
+
+int open_commands_file(char *mount_dir)
+{
+	char cmd_file[255];
+	int cmd_fd;
+
+	snprintf(cmd_file, ARRAY_SIZE(cmd_file),
+			"%s/%s", mount_dir, INCFS_PENDING_READS_FILENAME);
+	cmd_fd = open(cmd_file, O_RDONLY);
+
+	if (cmd_fd < 0)
+		perror("Can't open commands file");
+	return cmd_fd;
+}
+
+int open_log_file(char *mount_dir)
+{
+	char cmd_file[255];
+	int cmd_fd;
+
+	snprintf(cmd_file, ARRAY_SIZE(cmd_file), "%s/.log", mount_dir);
+	cmd_fd = open(cmd_file, O_RDWR);
+	if (cmd_fd < 0)
+		perror("Can't open log file");
+	return cmd_fd;
+}
+
+int wait_for_pending_reads(int fd, int timeout_ms,
+	struct incfs_pending_read_info *prs, int prs_count)
+{
+	ssize_t read_res = 0;
+
+	if (timeout_ms > 0) {
+		int poll_res = 0;
+		struct pollfd pollfd = {
+			.fd = fd,
+			.events = POLLIN
+		};
+
+		poll_res = poll(&pollfd, 1, timeout_ms);
+		if (poll_res < 0)
+			return -errno;
+		if (poll_res == 0)
+			return 0;
+		if (!(pollfd.revents | POLLIN))
+			return 0;
+	}
+
+	read_res = read(fd, prs, prs_count * sizeof(*prs));
+	if (read_res < 0)
+		return -errno;
+
+	return read_res / sizeof(*prs);
+}
+
+char *concat_file_name(const char *dir, char *file)
+{
+	char full_name[FILENAME_MAX] = "";
+
+	if (snprintf(full_name, ARRAY_SIZE(full_name), "%s/%s", dir, file) < 0)
+		return NULL;
+	return strdup(full_name);
+}
+
+int delete_dir_tree(const char *dir_path)
+{
+	DIR *dir = NULL;
+	struct dirent *dp;
+	int result = 0;
+
+	dir = opendir(dir_path);
+	if (!dir) {
+		result = -errno;
+		goto out;
+	}
+
+	while ((dp = readdir(dir))) {
+		char *full_path;
+
+		if (!strcmp(dp->d_name, ".") || !strcmp(dp->d_name, ".."))
+			continue;
+
+		full_path = concat_file_name(dir_path, dp->d_name);
+		if (dp->d_type == DT_DIR)
+			result = delete_dir_tree(full_path);
+		else
+			result = unlink(full_path);
+		free(full_path);
+		if (result)
+			goto out;
+	}
+
+out:
+	if (dir)
+		closedir(dir);
+	if (!result)
+		rmdir(dir_path);
+	return result;
+}
+
+void sha256(char *data, size_t dsize, char *hash)
+{
+	SHA256_CTX ctx;
+
+	SHA256_Init(&ctx);
+	SHA256_Update(&ctx, data, dsize);
+	SHA256_Final((unsigned char *)hash, &ctx);
+}
+
+void md5(char *data, size_t dsize, char *hash)
+{
+	MD5_CTX ctx;
+
+	MD5_Init(&ctx);
+	MD5_Update(&ctx, data, dsize);
+	MD5_Final((unsigned char *)hash, &ctx);
+}
diff --git a/tools/testing/selftests/filesystems/incfs/utils.h b/tools/testing/selftests/filesystems/incfs/utils.h
new file mode 100644
index 0000000..9c9ba3c
--- /dev/null
+++ b/tools/testing/selftests/filesystems/incfs/utils.h
@@ -0,0 +1,59 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright 2019 Google LLC
+ */
+#include <stdbool.h>
+#include <sys/stat.h>
+
+#include "../../include/uapi/linux/incrementalfs.h"
+
+#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof(arr[0]))
+
+#ifdef __LP64__
+#define ptr_to_u64(p) ((__u64)p)
+#else
+#define ptr_to_u64(p) ((__u64)(__u32)p)
+#endif
+
+#define SHA256_DIGEST_SIZE 32
+
+int mount_fs(char *mount_dir, char *backing_dir, int read_timeout_ms);
+
+int mount_fs_opt(char *mount_dir, char *backing_dir, char *opt);
+
+int get_file_bmap(int cmd_fd, int ino, unsigned char *buf, int buf_size);
+
+int get_file_signature(int fd, unsigned char *buf, int buf_size);
+
+int emit_node(int fd, char *filename, int *ino_out, int parent_ino,
+		size_t size, mode_t mode, char *attr);
+
+int emit_file(int fd, char *dir, char *filename, incfs_uuid_t *id_out,
+		size_t size, char *attr);
+
+int crypto_emit_file(int fd, char *dir, char *filename, incfs_uuid_t *id_out,
+	size_t size, const char *root_hash, char *sig, size_t sig_size,
+	char *add_data);
+
+int unlink_node(int fd, int parent_ino, char *filename);
+
+loff_t get_file_size(char *name);
+
+int open_commands_file(char *mount_dir);
+
+int open_log_file(char *mount_dir);
+
+int wait_for_pending_reads(int fd, int timeout_ms,
+	struct incfs_pending_read_info *prs, int prs_count);
+
+char *concat_file_name(const char *dir, char *file);
+
+void sha256(char *data, size_t dsize, char *hash);
+
+void md5(char *data, size_t dsize, char *hash);
+
+bool sign_pkcs7(const void *data_to_sign, size_t data_size,
+		char *pkey_pem, char *cert_pem,
+		void **sig_ret, size_t *sig_size_ret);
+
+int delete_dir_tree(const char *path);
diff --git a/tools/testing/selftests/firmware/fw_lib.sh b/tools/testing/selftests/firmware/fw_lib.sh
index 1cbb12e..8a853ac 100755
--- a/tools/testing/selftests/firmware/fw_lib.sh
+++ b/tools/testing/selftests/firmware/fw_lib.sh
@@ -28,6 +28,12 @@
 
 check_mods()
 {
+	local uid=$(id -u)
+	if [ $uid -ne 0 ]; then
+		echo "skip all tests: must be run as root" >&2
+		exit $ksft_skip
+	fi
+
 	trap "test_modprobe" EXIT
 	if [ ! -d $DIR ]; then
 		modprobe test_firmware
diff --git a/tools/testing/selftests/ipc/msgque.c b/tools/testing/selftests/ipc/msgque.c
index dac927e..4c156ae 100644
--- a/tools/testing/selftests/ipc/msgque.c
+++ b/tools/testing/selftests/ipc/msgque.c
@@ -1,9 +1,10 @@
 // SPDX-License-Identifier: GPL-2.0
+#define _GNU_SOURCE
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
 #include <errno.h>
-#include <linux/msg.h>
+#include <sys/msg.h>
 #include <fcntl.h>
 
 #include "../kselftest.h"
@@ -73,7 +74,7 @@
 	return 0;
 
 destroy:
-	if (msgctl(id, IPC_RMID, 0))
+	if (msgctl(id, IPC_RMID, NULL))
 		printf("Failed to destroy queue: %d\n", -errno);
 	return ret;
 }
@@ -120,7 +121,7 @@
 
 	ret = 0;
 err:
-	if (msgctl(msgque->msq_id, IPC_RMID, 0)) {
+	if (msgctl(msgque->msq_id, IPC_RMID, NULL)) {
 		printf("Failed to destroy queue: %d\n", -errno);
 		return -errno;
 	}
@@ -129,7 +130,7 @@
 
 int dump_queue(struct msgque_data *msgque)
 {
-	struct msqid64_ds ds;
+	struct msqid_ds ds;
 	int kern_id;
 	int i, ret;
 
@@ -245,7 +246,7 @@
 	return ksft_exit_pass();
 
 err_destroy:
-	if (msgctl(msgque.msq_id, IPC_RMID, 0)) {
+	if (msgctl(msgque.msq_id, IPC_RMID, NULL)) {
 		printf("Failed to destroy queue: %d\n", -errno);
 		return ksft_exit_fail();
 	}
diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk
index 8b0f164..0ef203e 100644
--- a/tools/testing/selftests/lib.mk
+++ b/tools/testing/selftests/lib.mk
@@ -85,17 +85,20 @@
 	$(call RUN_TESTS, $(TEST_GEN_PROGS) $(TEST_CUSTOM_PROGS) $(TEST_PROGS))
 endif
 
+define INSTALL_SINGLE_RULE
+	$(if $(INSTALL_LIST),@mkdir -p $(INSTALL_PATH))
+	$(if $(INSTALL_LIST),@echo rsync -a $(INSTALL_LIST) $(INSTALL_PATH)/)
+	$(if $(INSTALL_LIST),@rsync -a $(INSTALL_LIST) $(INSTALL_PATH)/)
+endef
+
 define INSTALL_RULE
-	@if [ "X$(TEST_PROGS)$(TEST_PROGS_EXTENDED)$(TEST_FILES)" != "X" ]; then					\
-		mkdir -p ${INSTALL_PATH};										\
-		echo "rsync -a $(TEST_PROGS) $(TEST_PROGS_EXTENDED) $(TEST_FILES) $(INSTALL_PATH)/";	\
-		rsync -a $(TEST_PROGS) $(TEST_PROGS_EXTENDED) $(TEST_FILES) $(INSTALL_PATH)/;		\
-	fi
-	@if [ "X$(TEST_GEN_PROGS)$(TEST_CUSTOM_PROGS)$(TEST_GEN_PROGS_EXTENDED)$(TEST_GEN_FILES)" != "X" ]; then					\
-		mkdir -p ${INSTALL_PATH};										\
-		echo "rsync -a $(TEST_GEN_PROGS) $(TEST_CUSTOM_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES) $(INSTALL_PATH)/";	\
-		rsync -a $(TEST_GEN_PROGS) $(TEST_CUSTOM_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES) $(INSTALL_PATH)/;		\
-	fi
+	$(eval INSTALL_LIST = $(TEST_PROGS)) $(INSTALL_SINGLE_RULE)
+	$(eval INSTALL_LIST = $(TEST_PROGS_EXTENDED)) $(INSTALL_SINGLE_RULE)
+	$(eval INSTALL_LIST = $(TEST_FILES)) $(INSTALL_SINGLE_RULE)
+	$(eval INSTALL_LIST = $(TEST_GEN_PROGS)) $(INSTALL_SINGLE_RULE)
+	$(eval INSTALL_LIST = $(TEST_CUSTOM_PROGS)) $(INSTALL_SINGLE_RULE)
+	$(eval INSTALL_LIST = $(TEST_GEN_PROGS_EXTENDED)) $(INSTALL_SINGLE_RULE)
+	$(eval INSTALL_LIST = $(TEST_GEN_FILES)) $(INSTALL_SINGLE_RULE)
 endef
 
 install: all
diff --git a/tools/testing/selftests/net/fib_tests.sh b/tools/testing/selftests/net/fib_tests.sh
index c0885fb..7d1a7c0d 100755
--- a/tools/testing/selftests/net/fib_tests.sh
+++ b/tools/testing/selftests/net/fib_tests.sh
@@ -848,6 +848,12 @@
 	check_route6 "2001:db8:104::/64 via 2001:db8:101::3 dev veth1 metric 1024"
 	log_test $? 0 "Multipath with single path via multipath attribute"
 
+	# multipath with dev-only
+	add_initial_route6 "nexthop via 2001:db8:101::2 nexthop via 2001:db8:103::2"
+	run_cmd "$IP -6 ro replace 2001:db8:104::/64 dev veth1"
+	check_route6 "2001:db8:104::/64 dev veth1 metric 1024"
+	log_test $? 0 "Multipath with dev-only"
+
 	# route replace fails - invalid nexthop 1
 	add_initial_route6 "nexthop via 2001:db8:101::2 nexthop via 2001:db8:103::2"
 	run_cmd "$IP -6 ro replace 2001:db8:104::/64 nexthop via 2001:db8:111::3 nexthop via 2001:db8:103::3"
diff --git a/tools/testing/selftests/net/forwarding/mirror_gre.sh b/tools/testing/selftests/net/forwarding/mirror_gre.sh
index e6fd7a1..0266443 100755
--- a/tools/testing/selftests/net/forwarding/mirror_gre.sh
+++ b/tools/testing/selftests/net/forwarding/mirror_gre.sh
@@ -63,22 +63,23 @@
 {
 	local tundev=$1; shift
 	local direction=$1; shift
-	local prot=$1; shift
 	local what=$1; shift
 
-	local swp3mac=$(mac_get $swp3)
-	local h3mac=$(mac_get $h3)
+	case "$direction" in
+	ingress) local src_mac=$(mac_get $h1); local dst_mac=$(mac_get $h2)
+		;;
+	egress) local src_mac=$(mac_get $h2); local dst_mac=$(mac_get $h1)
+		;;
+	esac
 
 	RET=0
 
 	mirror_install $swp1 $direction $tundev "matchall $tcflags"
-	tc filter add dev $h3 ingress pref 77 prot $prot \
-		flower ip_proto 0x2f src_mac $swp3mac dst_mac $h3mac \
-		action pass
+	icmp_capture_install h3-${tundev} "src_mac $src_mac dst_mac $dst_mac"
 
-	mirror_test v$h1 192.0.2.1 192.0.2.2 $h3 77 10
+	mirror_test v$h1 192.0.2.1 192.0.2.2 h3-${tundev} 100 10
 
-	tc filter del dev $h3 ingress pref 77
+	icmp_capture_uninstall h3-${tundev}
 	mirror_uninstall $swp1 $direction
 
 	log_test "$direction $what: envelope MAC ($tcflags)"
@@ -120,14 +121,14 @@
 
 test_gretap_mac()
 {
-	test_span_gre_mac gt4 ingress ip "mirror to gretap"
-	test_span_gre_mac gt4 egress ip "mirror to gretap"
+	test_span_gre_mac gt4 ingress "mirror to gretap"
+	test_span_gre_mac gt4 egress "mirror to gretap"
 }
 
 test_ip6gretap_mac()
 {
-	test_span_gre_mac gt6 ingress ipv6 "mirror to ip6gretap"
-	test_span_gre_mac gt6 egress ipv6 "mirror to ip6gretap"
+	test_span_gre_mac gt6 ingress "mirror to ip6gretap"
+	test_span_gre_mac gt6 egress "mirror to ip6gretap"
 }
 
 test_all()
diff --git a/tools/testing/selftests/rseq/settings b/tools/testing/selftests/rseq/settings
new file mode 100644
index 0000000..e7b9417
--- /dev/null
+++ b/tools/testing/selftests/rseq/settings
@@ -0,0 +1 @@
+timeout=0
diff --git a/tools/testing/selftests/size/get_size.c b/tools/testing/selftests/size/get_size.c
index d4b59ab..f55943b 100644
--- a/tools/testing/selftests/size/get_size.c
+++ b/tools/testing/selftests/size/get_size.c
@@ -12,23 +12,35 @@
  * own execution.  It also attempts to have as few dependencies
  * on kernel features as possible.
  *
- * It should be statically linked, with startup libs avoided.
- * It uses no library calls, and only the following 3 syscalls:
+ * It should be statically linked, with startup libs avoided.  It uses
+ * no library calls except the syscall() function for the following 3
+ * syscalls:
  *   sysinfo(), write(), and _exit()
  *
  * For output, it avoids printf (which in some C libraries
  * has large external dependencies) by  implementing it's own
  * number output and print routines, and using __builtin_strlen()
+ *
+ * The test may crash if any of the above syscalls fails because in some
+ * libc implementations (e.g. the GNU C Library) errno is saved in
+ * thread-local storage, which does not get initialized due to avoiding
+ * startup libs.
  */
 
 #include <sys/sysinfo.h>
 #include <unistd.h>
+#include <sys/syscall.h>
 
 #define STDOUT_FILENO 1
 
 static int print(const char *s)
 {
-	return write(STDOUT_FILENO, s, __builtin_strlen(s));
+	size_t len = 0;
+
+	while (s[len] != '\0')
+		len++;
+
+	return syscall(SYS_write, STDOUT_FILENO, s, len);
 }
 
 static inline char *num_to_str(unsigned long num, char *buf, int len)
@@ -80,12 +92,12 @@
 	print("TAP version 13\n");
 	print("# Testing system size.\n");
 
-	ccode = sysinfo(&info);
+	ccode = syscall(SYS_sysinfo, &info);
 	if (ccode < 0) {
 		print("not ok 1");
 		print(test_name);
 		print(" ---\n reason: \"could not get sysinfo\"\n ...\n");
-		_exit(ccode);
+		syscall(SYS_exit, ccode);
 	}
 	print("ok 1");
 	print(test_name);
@@ -101,5 +113,5 @@
 	print(" ...\n");
 	print("1..1\n");
 
-	_exit(0);
+	syscall(SYS_exit, 0);
 }
diff --git a/tools/usb/usbip/src/usbip_network.c b/tools/usb/usbip/src/usbip_network.c
index 8ffcd47..902f552 100644
--- a/tools/usb/usbip/src/usbip_network.c
+++ b/tools/usb/usbip/src/usbip_network.c
@@ -62,39 +62,39 @@
 	info("using port %d (\"%s\")", usbip_port, usbip_port_string);
 }
 
-void usbip_net_pack_uint32_t(int pack, uint32_t *num)
+uint32_t usbip_net_pack_uint32_t(int pack, uint32_t num)
 {
 	uint32_t i;
 
 	if (pack)
-		i = htonl(*num);
+		i = htonl(num);
 	else
-		i = ntohl(*num);
+		i = ntohl(num);
 
-	*num = i;
+	return i;
 }
 
-void usbip_net_pack_uint16_t(int pack, uint16_t *num)
+uint16_t usbip_net_pack_uint16_t(int pack, uint16_t num)
 {
 	uint16_t i;
 
 	if (pack)
-		i = htons(*num);
+		i = htons(num);
 	else
-		i = ntohs(*num);
+		i = ntohs(num);
 
-	*num = i;
+	return i;
 }
 
 void usbip_net_pack_usb_device(int pack, struct usbip_usb_device *udev)
 {
-	usbip_net_pack_uint32_t(pack, &udev->busnum);
-	usbip_net_pack_uint32_t(pack, &udev->devnum);
-	usbip_net_pack_uint32_t(pack, &udev->speed);
+	udev->busnum = usbip_net_pack_uint32_t(pack, udev->busnum);
+	udev->devnum = usbip_net_pack_uint32_t(pack, udev->devnum);
+	udev->speed = usbip_net_pack_uint32_t(pack, udev->speed);
 
-	usbip_net_pack_uint16_t(pack, &udev->idVendor);
-	usbip_net_pack_uint16_t(pack, &udev->idProduct);
-	usbip_net_pack_uint16_t(pack, &udev->bcdDevice);
+	udev->idVendor = usbip_net_pack_uint16_t(pack, udev->idVendor);
+	udev->idProduct = usbip_net_pack_uint16_t(pack, udev->idProduct);
+	udev->bcdDevice = usbip_net_pack_uint16_t(pack, udev->bcdDevice);
 }
 
 void usbip_net_pack_usb_interface(int pack __attribute__((unused)),
@@ -141,6 +141,14 @@
 	return usbip_net_xmit(sockfd, buff, bufflen, 1);
 }
 
+static inline void usbip_net_pack_op_common(int pack,
+					    struct op_common *op_common)
+{
+	op_common->version = usbip_net_pack_uint16_t(pack, op_common->version);
+	op_common->code = usbip_net_pack_uint16_t(pack, op_common->code);
+	op_common->status = usbip_net_pack_uint32_t(pack, op_common->status);
+}
+
 int usbip_net_send_op_common(int sockfd, uint32_t code, uint32_t status)
 {
 	struct op_common op_common;
@@ -152,7 +160,7 @@
 	op_common.code    = code;
 	op_common.status  = status;
 
-	PACK_OP_COMMON(1, &op_common);
+	usbip_net_pack_op_common(1, &op_common);
 
 	rc = usbip_net_send(sockfd, &op_common, sizeof(op_common));
 	if (rc < 0) {
@@ -176,7 +184,7 @@
 		goto err;
 	}
 
-	PACK_OP_COMMON(0, &op_common);
+	usbip_net_pack_op_common(0, &op_common);
 
 	if (op_common.version != USBIP_VERSION) {
 		err("USBIP Kernel and tool version mismatch: %d %d:",
diff --git a/tools/usb/usbip/src/usbip_network.h b/tools/usb/usbip/src/usbip_network.h
index 555215e..83b4c53 100644
--- a/tools/usb/usbip/src/usbip_network.h
+++ b/tools/usb/usbip/src/usbip_network.h
@@ -32,12 +32,6 @@
 
 } __attribute__((packed));
 
-#define PACK_OP_COMMON(pack, op_common)  do {\
-	usbip_net_pack_uint16_t(pack, &(op_common)->version);\
-	usbip_net_pack_uint16_t(pack, &(op_common)->code);\
-	usbip_net_pack_uint32_t(pack, &(op_common)->status);\
-} while (0)
-
 /* ---------------------------------------------------------------------- */
 /* Dummy Code */
 #define OP_UNSPEC	0x00
@@ -163,11 +157,11 @@
 } while (0)
 
 #define PACK_OP_DEVLIST_REPLY(pack, reply)  do {\
-	usbip_net_pack_uint32_t(pack, &(reply)->ndev);\
+	(reply)->ndev = usbip_net_pack_uint32_t(pack, (reply)->ndev);\
 } while (0)
 
-void usbip_net_pack_uint32_t(int pack, uint32_t *num);
-void usbip_net_pack_uint16_t(int pack, uint16_t *num);
+uint32_t usbip_net_pack_uint32_t(int pack, uint32_t num);
+uint16_t usbip_net_pack_uint16_t(int pack, uint16_t num);
 void usbip_net_pack_usb_device(int pack, struct usbip_usb_device *udev);
 void usbip_net_pack_usb_interface(int pack, struct usbip_usb_interface *uinf);
 
diff --git a/virt/kvm/arm/aarch32.c b/virt/kvm/arm/aarch32.c
index 6880236..18d6d51 100644
--- a/virt/kvm/arm/aarch32.c
+++ b/virt/kvm/arm/aarch32.c
@@ -21,10 +21,15 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <linux/bits.h>
 #include <linux/kvm_host.h>
 #include <asm/kvm_emulate.h>
 #include <asm/kvm_hyp.h>
 
+#define DFSR_FSC_EXTABT_LPAE	0x10
+#define DFSR_FSC_EXTABT_nLPAE	0x08
+#define DFSR_LPAE		BIT(9)
+
 /*
  * Table taken from ARMv8 ARM DDI0487B-B, table G1-10.
  */
@@ -39,25 +44,115 @@
 	[7] = { 4, 4 },		/* FIQ, unused */
 };
 
+/*
+ * When an exception is taken, most CPSR fields are left unchanged in the
+ * handler. However, some are explicitly overridden (e.g. M[4:0]).
+ *
+ * The SPSR/SPSR_ELx layouts differ, and the below is intended to work with
+ * either format. Note: SPSR.J bit doesn't exist in SPSR_ELx, but this bit was
+ * obsoleted by the ARMv7 virtualization extensions and is RES0.
+ *
+ * For the SPSR layout seen from AArch32, see:
+ * - ARM DDI 0406C.d, page B1-1148
+ * - ARM DDI 0487E.a, page G8-6264
+ *
+ * For the SPSR_ELx layout for AArch32 seen from AArch64, see:
+ * - ARM DDI 0487E.a, page C5-426
+ *
+ * Here we manipulate the fields in order of the AArch32 SPSR_ELx layout, from
+ * MSB to LSB.
+ */
+static unsigned long get_except32_cpsr(struct kvm_vcpu *vcpu, u32 mode)
+{
+	u32 sctlr = vcpu_cp15(vcpu, c1_SCTLR);
+	unsigned long old, new;
+
+	old = *vcpu_cpsr(vcpu);
+	new = 0;
+
+	new |= (old & PSR_AA32_N_BIT);
+	new |= (old & PSR_AA32_Z_BIT);
+	new |= (old & PSR_AA32_C_BIT);
+	new |= (old & PSR_AA32_V_BIT);
+	new |= (old & PSR_AA32_Q_BIT);
+
+	// CPSR.IT[7:0] are set to zero upon any exception
+	// See ARM DDI 0487E.a, section G1.12.3
+	// See ARM DDI 0406C.d, section B1.8.3
+
+	new |= (old & PSR_AA32_DIT_BIT);
+
+	// CPSR.SSBS is set to SCTLR.DSSBS upon any exception
+	// See ARM DDI 0487E.a, page G8-6244
+	if (sctlr & BIT(31))
+		new |= PSR_AA32_SSBS_BIT;
+
+	// CPSR.PAN is unchanged unless SCTLR.SPAN == 0b0
+	// SCTLR.SPAN is RES1 when ARMv8.1-PAN is not implemented
+	// See ARM DDI 0487E.a, page G8-6246
+	new |= (old & PSR_AA32_PAN_BIT);
+	if (!(sctlr & BIT(23)))
+		new |= PSR_AA32_PAN_BIT;
+
+	// SS does not exist in AArch32, so ignore
+
+	// CPSR.IL is set to zero upon any exception
+	// See ARM DDI 0487E.a, page G1-5527
+
+	new |= (old & PSR_AA32_GE_MASK);
+
+	// CPSR.IT[7:0] are set to zero upon any exception
+	// See prior comment above
+
+	// CPSR.E is set to SCTLR.EE upon any exception
+	// See ARM DDI 0487E.a, page G8-6245
+	// See ARM DDI 0406C.d, page B4-1701
+	if (sctlr & BIT(25))
+		new |= PSR_AA32_E_BIT;
+
+	// CPSR.A is unchanged upon an exception to Undefined, Supervisor
+	// CPSR.A is set upon an exception to other modes
+	// See ARM DDI 0487E.a, pages G1-5515 to G1-5516
+	// See ARM DDI 0406C.d, page B1-1182
+	new |= (old & PSR_AA32_A_BIT);
+	if (mode != PSR_AA32_MODE_UND && mode != PSR_AA32_MODE_SVC)
+		new |= PSR_AA32_A_BIT;
+
+	// CPSR.I is set upon any exception
+	// See ARM DDI 0487E.a, pages G1-5515 to G1-5516
+	// See ARM DDI 0406C.d, page B1-1182
+	new |= PSR_AA32_I_BIT;
+
+	// CPSR.F is set upon an exception to FIQ
+	// CPSR.F is unchanged upon an exception to other modes
+	// See ARM DDI 0487E.a, pages G1-5515 to G1-5516
+	// See ARM DDI 0406C.d, page B1-1182
+	new |= (old & PSR_AA32_F_BIT);
+	if (mode == PSR_AA32_MODE_FIQ)
+		new |= PSR_AA32_F_BIT;
+
+	// CPSR.T is set to SCTLR.TE upon any exception
+	// See ARM DDI 0487E.a, page G8-5514
+	// See ARM DDI 0406C.d, page B1-1181
+	if (sctlr & BIT(30))
+		new |= PSR_AA32_T_BIT;
+
+	new |= mode;
+
+	return new;
+}
+
 static void prepare_fault32(struct kvm_vcpu *vcpu, u32 mode, u32 vect_offset)
 {
-	unsigned long cpsr;
-	unsigned long new_spsr_value = *vcpu_cpsr(vcpu);
-	bool is_thumb = (new_spsr_value & PSR_AA32_T_BIT);
+	unsigned long spsr = *vcpu_cpsr(vcpu);
+	bool is_thumb = (spsr & PSR_AA32_T_BIT);
 	u32 return_offset = return_offsets[vect_offset >> 2][is_thumb];
 	u32 sctlr = vcpu_cp15(vcpu, c1_SCTLR);
 
-	cpsr = mode | PSR_AA32_I_BIT;
-
-	if (sctlr & (1 << 30))
-		cpsr |= PSR_AA32_T_BIT;
-	if (sctlr & (1 << 25))
-		cpsr |= PSR_AA32_E_BIT;
-
-	*vcpu_cpsr(vcpu) = cpsr;
+	*vcpu_cpsr(vcpu) = get_except32_cpsr(vcpu, mode);
 
 	/* Note: These now point to the banked copies */
-	vcpu_write_spsr(vcpu, new_spsr_value);
+	vcpu_write_spsr(vcpu, host_spsr_to_spsr32(spsr));
 	*vcpu_reg32(vcpu, 14) = *vcpu_pc(vcpu) + return_offset;
 
 	/* Branch to exception vector */
@@ -95,16 +190,18 @@
 		fsr = &vcpu_cp15(vcpu, c5_DFSR);
 	}
 
-	prepare_fault32(vcpu, PSR_AA32_MODE_ABT | PSR_AA32_A_BIT, vect_offset);
+	prepare_fault32(vcpu, PSR_AA32_MODE_ABT, vect_offset);
 
 	*far = addr;
 
 	/* Give the guest an IMPLEMENTATION DEFINED exception */
 	is_lpae = (vcpu_cp15(vcpu, c2_TTBCR) >> 31);
-	if (is_lpae)
-		*fsr = 1 << 9 | 0x34;
-	else
-		*fsr = 0x14;
+	if (is_lpae) {
+		*fsr = DFSR_LPAE | DFSR_FSC_EXTABT_LPAE;
+	} else {
+		/* no need to shuffle FS[4] into DFSR[10] as its 0 */
+		*fsr = DFSR_FSC_EXTABT_nLPAE;
+	}
 }
 
 void kvm_inject_dabt32(struct kvm_vcpu *vcpu, unsigned long addr)
diff --git a/virt/kvm/arm/mmio.c b/virt/kvm/arm/mmio.c
index 3caee91..878e0ed 100644
--- a/virt/kvm/arm/mmio.c
+++ b/virt/kvm/arm/mmio.c
@@ -117,6 +117,9 @@
 			data = (data ^ mask) - mask;
 		}
 
+		if (!vcpu->arch.mmio_decode.sixty_four)
+			data = data & 0xffffffff;
+
 		trace_kvm_mmio(KVM_TRACE_MMIO_READ, len, run->mmio.phys_addr,
 			       &data);
 		data = vcpu_data_host_to_guest(vcpu, data, len);
@@ -137,6 +140,7 @@
 	unsigned long rt;
 	int access_size;
 	bool sign_extend;
+	bool sixty_four;
 
 	if (kvm_vcpu_dabt_iss1tw(vcpu)) {
 		/* page table accesses IO mem: tell guest to fix its TTBR */
@@ -150,11 +154,13 @@
 
 	*is_write = kvm_vcpu_dabt_iswrite(vcpu);
 	sign_extend = kvm_vcpu_dabt_issext(vcpu);
+	sixty_four = kvm_vcpu_dabt_issf(vcpu);
 	rt = kvm_vcpu_dabt_get_rd(vcpu);
 
 	*len = access_size;
 	vcpu->arch.mmio_decode.sign_extend = sign_extend;
 	vcpu->arch.mmio_decode.rt = rt;
+	vcpu->arch.mmio_decode.sixty_four = sixty_four;
 
 	return 0;
 }
diff --git a/virt/kvm/arm/mmu.c b/virt/kvm/arm/mmu.c
index bf330b4..a5bc10d 100644
--- a/virt/kvm/arm/mmu.c
+++ b/virt/kvm/arm/mmu.c
@@ -1925,7 +1925,8 @@
 	if (!kvm->arch.pgd)
 		return 0;
 	trace_kvm_test_age_hva(hva);
-	return handle_hva_to_gpa(kvm, hva, hva, kvm_test_age_hva_handler, NULL);
+	return handle_hva_to_gpa(kvm, hva, hva + PAGE_SIZE,
+				 kvm_test_age_hva_handler, NULL);
 }
 
 void kvm_mmu_free_memory_caches(struct kvm_vcpu *vcpu)
diff --git a/virt/kvm/arm/pmu.c b/virt/kvm/arm/pmu.c
index 1c5b76c..6d52fd5 100644
--- a/virt/kvm/arm/pmu.c
+++ b/virt/kvm/arm/pmu.c
@@ -316,6 +316,9 @@
 	if (val == 0)
 		return;
 
+	if (!(__vcpu_sys_reg(vcpu, PMCR_EL0) & ARMV8_PMU_PMCR_E))
+		return;
+
 	enable = __vcpu_sys_reg(vcpu, PMCNTENSET_EL0);
 	for (i = 0; i < ARMV8_PMU_CYCLE_IDX; i++) {
 		if (!(val & BIT(i)))
diff --git a/virt/kvm/arm/vgic/vgic-its.c b/virt/kvm/arm/vgic/vgic-its.c
index 0dbe332..9295add 100644
--- a/virt/kvm/arm/vgic/vgic-its.c
+++ b/virt/kvm/arm/vgic/vgic-its.c
@@ -2292,7 +2292,8 @@
 	target_addr = (u32)(val >> KVM_ITS_CTE_RDBASE_SHIFT);
 	coll_id = val & KVM_ITS_CTE_ICID_MASK;
 
-	if (target_addr >= atomic_read(&kvm->online_vcpus))
+	if (target_addr != COLLECTION_NOT_MAPPED &&
+	    target_addr >= atomic_read(&kvm->online_vcpus))
 		return -EINVAL;
 
 	collection = find_collection(its, coll_id);
diff --git a/virt/kvm/async_pf.c b/virt/kvm/async_pf.c
index 23c2519..c9861c2 100644
--- a/virt/kvm/async_pf.c
+++ b/virt/kvm/async_pf.c
@@ -76,7 +76,7 @@
 	struct mm_struct *mm = apf->mm;
 	struct kvm_vcpu *vcpu = apf->vcpu;
 	unsigned long addr = apf->addr;
-	gva_t gva = apf->gva;
+	gpa_t cr2_or_gpa = apf->cr2_or_gpa;
 	int locked = 1;
 
 	might_sleep();
@@ -104,7 +104,7 @@
 	 * this point
 	 */
 
-	trace_kvm_async_pf_completed(addr, gva);
+	trace_kvm_async_pf_completed(addr, cr2_or_gpa);
 
 	if (swq_has_sleeper(&vcpu->wq))
 		swake_up_one(&vcpu->wq);
@@ -177,8 +177,8 @@
 	}
 }
 
-int kvm_setup_async_pf(struct kvm_vcpu *vcpu, gva_t gva, unsigned long hva,
-		       struct kvm_arch_async_pf *arch)
+int kvm_setup_async_pf(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa,
+		       unsigned long hva, struct kvm_arch_async_pf *arch)
 {
 	struct kvm_async_pf *work;
 
@@ -197,7 +197,7 @@
 
 	work->wakeup_all = false;
 	work->vcpu = vcpu;
-	work->gva = gva;
+	work->cr2_or_gpa = cr2_or_gpa;
 	work->addr = hva;
 	work->arch = *arch;
 	work->mm = current->mm;
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index 9502b1a..4e499b7 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -1294,14 +1294,14 @@
 }
 EXPORT_SYMBOL_GPL(kvm_is_visible_gfn);
 
-unsigned long kvm_host_page_size(struct kvm *kvm, gfn_t gfn)
+unsigned long kvm_host_page_size(struct kvm_vcpu *vcpu, gfn_t gfn)
 {
 	struct vm_area_struct *vma;
 	unsigned long addr, size;
 
 	size = PAGE_SIZE;
 
-	addr = gfn_to_hva(kvm, gfn);
+	addr = kvm_vcpu_gfn_to_hva_prot(vcpu, gfn, NULL);
 	if (kvm_is_error_hva(addr))
 		return PAGE_SIZE;
 
@@ -2024,12 +2024,12 @@
 	if (slots->generation != ghc->generation)
 		__kvm_gfn_to_hva_cache_init(slots, ghc, ghc->gpa, ghc->len);
 
-	if (unlikely(!ghc->memslot))
-		return kvm_write_guest(kvm, gpa, data, len);
-
 	if (kvm_is_error_hva(ghc->hva))
 		return -EFAULT;
 
+	if (unlikely(!ghc->memslot))
+		return kvm_write_guest(kvm, gpa, data, len);
+
 	r = __copy_to_user((void __user *)ghc->hva + offset, data, len);
 	if (r)
 		return -EFAULT;
@@ -2057,12 +2057,12 @@
 	if (slots->generation != ghc->generation)
 		__kvm_gfn_to_hva_cache_init(slots, ghc, ghc->gpa, ghc->len);
 
-	if (unlikely(!ghc->memslot))
-		return kvm_read_guest(kvm, ghc->gpa, data, len);
-
 	if (kvm_is_error_hva(ghc->hva))
 		return -EFAULT;
 
+	if (unlikely(!ghc->memslot))
+		return kvm_read_guest(kvm, ghc->gpa, data, len);
+
 	r = __copy_from_user(data, (void __user *)ghc->hva, len);
 	if (r)
 		return -EFAULT;